Current File : /home/mmdealscpanel/yummmdeals.com/usr.tar
lib64/php/modules/clos_ssa.so000075500000067030150346766720012125 0ustar00ELF>�@�f@8	@�4�4 �:�: �: �� �<�< �< ��888$$�4�4�4  S�td�4�4�4  P�td�0�0�0��Q�tdR�td�:�: �: 00GNU��Do�O�Y��S�TS���,����.&	�$',-/247:;=>?A�R�p�qX�3�º�|/L�|\�U��_?mBE��{y����2)*��F�U�h�:���g�`[(�)��e!͚���'� g����.�|�E�? ����pX	%lcK�����, =�F"�L0*'� $��@ *+��A 5�)u��vs���0$r��@ \`*2�'�  !�U [,�Fy�*6��@ �� 	�@ ��@< @__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizezif_clos_ssa_test_emalloc_56zm_startup_clos_ssazend_register_ini_entries_exclos_ssa_globalsfopensetbuffwrite__errno_locationstrerrorzend_errorstrlen_emallocmemcpyexecutor_globalszend_hash_find_efreezm_info_clos_ssaphp_info_print_table_startphp_info_print_table_colspan_headerphp_info_print_table_rowphp_info_print_table_enddisplay_ini_entries__fprintf_chkprocess_requestzm_shutdown_clos_ssafclosezm_deactivate_clos_ssagettimeofdayzm_activate_clos_ssaxp_get_current_delayszend_is_auto_global_strcore_globalszend_hash_str_find__zend_strdupget_moduleclos_ssa_module_entryOnUpdateBoolzend_ini_boolean_displayer_cbOnUpdateStringssa_functionssocketconnectfdopenagent_dumpxp_get_delays_diff__stack_chk_failfputcfscanfxp_is_throttledxp_print_delays__printf_chkxp_snprint_delays__snprintf_chklibc.so.6_edata__bss_startclos_ssa.soGLIBC_2.14GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4�����ii
�ui	�ti	��: ��: ��: �: ; �,(; �,@; �,h; �,�; �,�; �,�; �,@< �,P< �- @ �,X@ �,p@ �x@ ��@ `�@ �,; 	H; 	�; 	; <X; <�; <�; <�? <h@ <0; p; �; �; H< 9�? �? �? �? >�? %�? &�? )(@ ?0@ 38@ 2@@ 8H@ =P@ :�> �> �> �> �> 4�> �> �> /�> 
�> �> �> 
�> �> �> ? ? ? ?  ? (? 0? 8? 7@? H? P? X? `? h? 1p?  x? !�? "�? #�? $�? '�? (�? )�? *�? +��H��H�* H��t��H����5�( �%�( ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&��������%& D���%& D���%
& D���%& D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%�% D���%}% D���%u% D���%m% D���%e% D���%]% D���%U% D���%M% D���%E% D���%=% D���%5% D���%-% D���%%% D���%% D���%% D���%
% D���%% D���%�$ D���%�$ D���%�$ D��SH�����H�5L������H�41�H�53�����c���H��[�z���f.�H�=�% H�z% H9�tH��$ H��t	�����H�=Q% H�5J% H)�H��H��H��?H�H�tH�u$ H��t��fD�����=%% u+UH�=R$ H��tH�=. ����d�����$ ]������w������1��f�GH�G H�G(H�G0H�GH�G�G�fD��SH���c���fo�H�H�a extensH�H�@H�@@H�x(�@0ion!�@4H��C[�D��SH��H� H��t
����H�C H�{(H��t
����H�C(H�{0H��t
���H�C0�C[���S��H�=" �}���H��" �{trH�{H��t%H�5����H�CH��tX1�H������{tDH�KH��t;��H�=�
�#����{tH�KH��t��H�=�
���1�[������8����H�S�H�5~H��1�����f�ATI��USH���@���H�x H��H�����H��L��H��H�H�{H�H�CH�k���H�" H���D+H�������KH��tJ���@u�+u���D$H��t�O����D$H��[]A\�f�����D$H��[]A\�fD1���@t���ff.�@��SH�t! �{tH�KH��t��H�=������;��H�C(H�{ H����H����H�sHH�SPL�K8H�C@H��I��L)�I)����{t'H�{H��tH��RH�gV�P1��q���H�� 1����H�{ H��t
�X���H�C H�C(H��u'H�{0H��t
�9���H�C0�C1�[�f�H������H�C(��fDH��u�뺐H��I��@B�{t��V���f.���SH�D  �{t`H�KH��tW��H�=�����{t;H�KH��t2��H�=��z����{tH�{H��t
���H�C1�[�f.���USH��H�� �{t9H�KH��t0��H�=O�����;u�C��u;H��1�[]�@�;t�1�H�{H���H�=3������u@�C1�@�k��t�H�KH��t���H�= ���H��1�[]�f.�H�=�
������t��k@��u�C�q���fDH�KH��t��H�=�
�Y����C�v����C�u������USH��H�� �{taH�KH������H�=�
�����;���{tH�KH��t��H�=�
����H��1�[]���;t��C�{��H�{(��H�{ ���{t)H�KH��t �!�H�=��z���f.�1�H�{8�%���H�{X����������Q���fD�;�g����C�f��{�C�c���H�KH���V�����H�=�	����;���f.��H�=�	�C�{���H�-D �H�5�	H�C H�����H��t
�x�EH����	H�5[	H�C(����H��t
�x��H����H�56	H�C0���H��t
�x���{��H�{H��tH�K H�-��H��H��HD�1������{tTH�{H��tKH�K(H���H��HD�1����{t'H�{H��tH�K0H���H��HD�1�����H�{(tH�{ �3����C�*���f.�H�8H�����H�C0�4���H�8H�����H�C(���H�8H����H�C ���ff.���H�� �@��AUATUSH��H�� dH�%(H�D$x1��{tH�KH��t��H�=x	���H�C H��t:���u�1�� H�����t"��v�'��"��H�����u�f��{�I��1ҾI�l$fo*
�f�$D$fo$
H�E`�EhEf�E E0E@EP���A�Ņ��=�nL����������H�5�D���w�I��H���K�����Hǃ�Hǃ�L���0�L����1���H�t$xdH34%(��H�Ĉ[]A\A]ù/��\���������H�5�H�=#�%�I��H���n����{�H�KH���
�!�H�=	�<���r���@H���������ƃ�Hǃ�Hǃ��"���f.��{��H�kH�������H���H��1�����Bf.��{t*L�cM��t!��H��L��D�H��1���D���X�{t*H�{H��t!H�
!H���1��_��������|���fDH���H�{X��H���H���H���H����/�����{�v���L�cM���i�����H��L��D�H��1�����C����N�f.�@��ATI��USH� �{txH�KH�����H�=[�u�H�KHL�CPH+K8�CL+C@�Ci�@BDń��H�{H����A��H�#�1��7���f�H�K8H�CHH�kPH)�H+k@��i�@B�H��L����{H��H���I��L�K(L��LE�H�H�5oHE�H�C H��HD�M��LD�H�s0ARAPL�}H��WL��RLE�H���UP1���H��0�{uG[]A\�f�H�KHL�CPH+K8L+C@x^i�@BB�,�f�H��i�@B��(@BH�K8�7���fD[L��]�
A\���H��I��@B����H��I��@Bi�@BD�������UH�5SH��H�=wH���p�H��tIH��H��H�C H��PH�KL�KH��L�C1�H�5\1��]�ZH��Y��������H����[]û������ff.���H�H)H�GH)FH�GH)FH�GH)FH�G H)F �D���H�WH9Vt�@H�G H9F �����f���H��H�O�w H�5�L�O1�L�GH���c�H���ff.���H���r L��1��rH������r�rL�
���H��(���H��H���a+Enter MINIT_FUNCTION
Exit MINIT_FUNCTION
EnabledSSA SupportEnter PRSHUTDOWN_FUNCTION
Enter MSHUTDOWN_FUNCTION
Exit MSHUTDOWN_FUNCTION
Enter RSHUTDOWN_FUNCTION
wpwpdbIt is wordpress site
Exit RSHUTDOWN_FUNCTION
nullEnter RINIT_FUNCTION
Extracting Request-data
_SERVERREQUEST_URIHTTP_HOSTREQUEST_SCHEMEREQUEST_URI: %s
HTTP_HOST: %s
REQUEST_SCHEME: %s
Exit RINIT_FUNCTION
clos_ssa.enabled1clos_ssa.to_fileclos_ssa.debugclos_ssa.debug_fileclos_ssa1.0API20230831,NTSclos_ssa_testCan't open clos_ssa.debug_file: "%s", %sCloudlinux PHP slow site analyzerRequest executed for %ld.%06ld from %ld.%06ld until %ld.%06ld
Request-data already initialized
It works clos_ssPROCESS REQUEST STARTED
/tmp/ssa_to_agent.logagentFailed to open to_agent.log file
demon_open: socket(PF_UNIX, SOCK_STREAM, 0) failed: %d
demon_open: connect(%s) failed: %d
demon_open: fdopen(socket=%s) failed: %d
Failed to open stream to %s processor
/opt/alt/clos_ssa/run/ssa.socktruefalsehttp?DUMP_AGENT
Request_duration: %ld.%06ld, micro: %u
{ "timestamp": "%ld", "url": "%s://%s%s", "duration": %u, "hitting_limits": %s, "throttled_time": %lu, "io_throttled_time": %lu, "wordpress": %s }ro/proc/lve/task_sched_stat%lu %lu %lu %lu %luDelays: total: %lu ms, sleep (U + S): %lu ms, iowait: %lu ms, throttle(CPU): %lu ms, throttle(IO): %lu ms
;�0����� ��0�p���8 �T��t�����`� p�Xp����������(P���`����t�������zRx�$`��FJw�?:*3$"D��p\ �:pL�[E�U���PE�J����E��
A@�d��B�D�A �D0�
 AABCM
 AABG`�FE�|,(��&E��A H(F0KC
JX��vE�p4t8�	E�A�D }
CAEQ
CAK(���E�A�D b
CAH���<���rF�B�A �A(�G�x
(A ABBAL, ��F�D�A ��(B0K8D@QHAPK G
ABCA
DGL4|����uE�H�N N(K0`(D Q
CAA���+����'� ���2HG b �D���6HCL J(C0QGNU����: �,�,�,�,�,�,�,�,�-���
�*�: �: ���o`	
�p> ��
8	���o���o�
���o�o
���o�< � 0@P`p�������� 0@P`p�������� 0@P���4�,�,���`�,GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-26)GA$3a1��*GA$3p1113�y)GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130$�*GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�y)GA+GLIBCXX_ASSERTIONS
GA*FORTIFY�)�*GA+GLIBCXX_ASSERTIONS�,$#6M�e������-�:Fg{�{����P���-; @1�MQg��t���Q���`&�: \ �!�!�$�$,$�- 40$J�'d~����9X0$w�'��'�y)����2Nc|�'�y)��)��*��+Lh����)��)�)(+*H+*gW*�W*��*��*��*	 	P	�+	�@ :	�: a	�m	�: �	x4�	
�*�	�: �	�< �	�0�	�@ �	p> �		�8`	
�
�
	�
�`�
�*+�0`1�4�: �: �: �< p> @ �@ �A`�	
�v$
@
R
p
 �
�
0$r�
�@ �
�
�
�
*+�
!5Nhw�
���F�@< @�0*'� ��%9�*6K�A ^ $i��'����@ ����@ ��
 	+
>
�)uT
�@ �e
p
 !��
�
�
�
�
�
 �
`*2(>"Z��n}� [.annobin_ssa.c.annobin_ssa.c_end.annobin_ssa.c.hot.annobin_ssa.c_end.hot.annobin_ssa.c.unlikely.annobin_ssa.c_end.unlikely.annobin_ssa.c.startup.annobin_ssa.c_end.startup.annobin_ssa.c.exit.annobin_ssa.c_end.exit.annobin_zm_globals_ctor_clos_ssa.start.annobin_zm_globals_ctor_clos_ssa.endzm_globals_ctor_clos_ssa.annobin_zif_clos_ssa_test.start.annobin_zif_clos_ssa_test.end.annobin_zm_globals_dtor_clos_ssa.start.annobin_zm_globals_dtor_clos_ssa.endzm_globals_dtor_clos_ssa.annobin_zm_startup_clos_ssa.start.annobin_zm_startup_clos_ssa.end.annobin_class_exists.start.annobin_class_exists.endclass_exists.annobin_zm_info_clos_ssa.start.annobin_zm_info_clos_ssa.end.annobin_php_ssa_post_deactivate.start.annobin_php_ssa_post_deactivate.endphp_ssa_post_deactivate.annobin_zm_shutdown_clos_ssa.start.annobin_zm_shutdown_clos_ssa.end.annobin_zm_deactivate_clos_ssa.start.annobin_zm_deactivate_clos_ssa.end.annobin_zm_activate_clos_ssa.start.annobin_zm_activate_clos_ssa.end.annobin_get_module.start.annobin_get_module.endarginfo_clos_ssa_test.annobin_processors.c.annobin_processors.c_end.annobin_processors.c.hot.annobin_processors.c_end.hot.annobin_processors.c.unlikely.annobin_processors.c_end.unlikely.annobin_processors.c.startup.annobin_processors.c_end.startup.annobin_processors.c.exit.annobin_processors.c_end.exit.annobin_process_request.start.annobin_process_request.end.annobin_dump.c.annobin_dump.c_end.annobin_dump.c.hot.annobin_dump.c_end.hot.annobin_dump.c.unlikely.annobin_dump.c_end.unlikely.annobin_dump.c.startup.annobin_dump.c_end.startup.annobin_dump.c.exit.annobin_dump.c_end.exit.annobin_agent_dump.start.annobin_agent_dump.end.annobin_ssa_perf.c.annobin_ssa_perf.c_end.annobin_ssa_perf.c.hot.annobin_ssa_perf.c_end.hot.annobin_ssa_perf.c.unlikely.annobin_ssa_perf.c_end.unlikely.annobin_ssa_perf.c.startup.annobin_ssa_perf.c_end.startup.annobin_ssa_perf.c.exit.annobin_ssa_perf.c_end.exit.annobin_xp_get_current_delays.start.annobin_xp_get_current_delays.end.annobin_xp_get_delays_diff.start.annobin_xp_get_delays_diff.end.annobin_xp_is_throttled.start.annobin_xp_is_throttled.end.annobin_xp_print_delays.start.annobin_xp_print_delays.end.annobin_xp_snprint_delays.start.annobin_xp_snprint_delays.endderegister_tm_clones__do_global_dtors_auxcompleted.7303__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entry__FRAME_END___fini__dso_handle_DYNAMIC__GNU_EH_FRAME_HDR__TMC_END___GLOBAL_OFFSET_TABLE__initzend_ini_boolean_displayer_cbzm_shutdown_clos_ssa__snprintf_chk@@GLIBC_2.3.4free@@GLIBC_2.2.5__errno_location@@GLIBC_2.2.5_ITM_deregisterTMCloneTable_emalloc_56process_request_edatafclose@@GLIBC_2.2.5__zend_strdupOnUpdateBoolxp_get_delays_diffstrlen@@GLIBC_2.2.5__stack_chk_fail@@GLIBC_2.4setbuf@@GLIBC_2.2.5php_info_print_table_rowgettimeofday@@GLIBC_2.2.5OnUpdateStringfscanf@@GLIBC_2.2.5fputc@@GLIBC_2.2.5zm_info_clos_ssassa_functionsxp_is_throttled__gmon_start__zend_register_ini_entries_exphp_info_print_table_endmemcpy@@GLIBC_2.14display_ini_entriesxp_snprint_delayszend_hash_str_findget_modulephp_info_print_table_colspan_headeragent_dumpfdopen@@GLIBC_2.2.5__bss_start_efree__printf_chk@@GLIBC_2.3.4core_globalsclos_ssa_module_entryzend_is_auto_global_strzm_deactivate_clos_ssafopen@@GLIBC_2.2.5xp_get_current_delaysclos_ssa_globalszend_errorzm_activate_clos_ssa_emallocconnect@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5__fprintf_chk@@GLIBC_2.3.4executor_globals_ITM_registerTMCloneTablephp_info_print_table_startxp_print_delaysstrerror@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5zm_startup_clos_ssazend_hash_findsocket@@GLIBC_2.2.5zif_clos_ssa_test.symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes88$.���o``�8@		�H���o

�U���o�
�
Pd�
�
8nB�x��s���~``p�����*�*
�++� ��0�0��`1`1��4�4 ��: �:��: �:��: �:� ��< �<��p> p>��@ @� ��@ �@� 0�@-
�A`�@lHE�|	�V�se#bin/php-cgi.cagefs000064400000000047150347223260010022 0ustar00CageFS integration for cPanel MultiPHP
bin/php.cagefs000064400000000047150347223260007262 0ustar00CageFS integration for cPanel MultiPHP
bin/lsphp.cagefs000064400000000047150347223260007621 0ustar00CageFS integration for cPanel MultiPHP
lib64/libpcre2-posix.so.2.0.3000075500000027010150403237320011332 0ustar00ELF>�
@'@8	@88 PP P ��     888$$  S�td  P�td\\Q�tdR�tdPP P ��GNU��Uq�@�S�5+p��!M���`"	a�BE���|�H>M�d��G>�{#� wf��qX�e�oI>Cf�m  d5 ��', ���F"{  �  �	�@���	U`�|�  [	�0	�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizepcre2_regerrorsnprintf__snprintf_chkpcre2_regfreepcre2_match_data_free_8pcre2_code_free_8pcre2_regcomppcre2_compile_8pcre2_pattern_info_8pcre2_match_data_create_8__stack_chk_failpcre2_regexecstrlenpcre2_match_8pcre2_get_ovector_pointer_8libpcre2-8.so.0libpthread.so.0libc.so.6_edata__bss_start_endlibpcre2-posix.so.2GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/pcre2/usr/lib64qii
�ui	�ti	�P PX ` ` � �� (� 7� S� a� o� }� �� �� �� �� �� �� �� ��   $� � � � H P X ` h p x � � 	� 
� � � 
� � � ��H��H�Y H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% DH�=Y H�R H9�tH� H��t	�����H�=) H�5" H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=. �I����d����� ]������w�������G�I��H��I��H�
���wHc�H��
 H��H��t	H�F ���u'H��L��L��1��#���H����H��f�H��I�ɺL��PH�����L��1�L�0���ZY��H��H��ff.�����������SH��H�����H�;[���fD��������SH��H��H�����H�� dH�%(H�D$1��D$��tH�sH)��ЉS(L�D$����������E����� ��E�������E�������@E�������E�������E�H�L$E1ɉ����H�T$H�H�S H��tXH�T$�H���V���HcD$1�H�CH�ǃ���H�C ����H��H�C1�H��tzH�\$dH3%(��H�� [ËT$���c~؃�d��~*��t]�� t0��%tc��8t&��\�D��f�Hc�H����뗐��f�H�;�h�����t���fD��d���fD�	�T�������f���������AWI��AVAUE��ATA��UA��H��SD���H��A��L�wDE�D���A��DE�D��%��G( utH��toH�Ӆ�uwH��H�t$E1��@���H�t$H��I�?Hc�E��jM��1����Lc�XZE��yxA�E���A��3�A��2v<H��[]A\A]A^A_�D1ۅ�t�H����HcU�EI��)�H���H�IB�(H��[]A\A]A^A_�DL�����Hc�I9�LG�M��tIN��1ҿ����f.�H�4PH���A�4H�tPD�H����LA�4DωLH��L9�u�I9�s"J�D�H�T���@����H���@�����H9�u�H��1�[]A\A]A^A_��H���[]A\A]A^A_�ff.�����w�����H��H���unknown error code%s at offset %-6d%sinternal errorinvalid repeat counts in {}pattern error? * + invalidunbalanced {}unbalanced []bad classbad escape sequenceempty expressionunbalanced ()bad range inside []expression too bigfailed to get memorybad back referencebad argumentmatch failed			

collation error - not relevant;\
����x�����`������������0���@���(�L���`���zRx�$���FJw�?:*3$"D����(\�����NC
ODL YAG����	����E�P����	 �����E�Q0�
AA�����	������F�E�B �E(�E0�H8�JPPXK`NXAPe
8A0A(B BBBFx
8A0A(B BBBF�
8C0A(B BBBID8F0A(B BBB����	GNU�P` �(7Sao}��������$Qaq��h
�P X ���o`8�
�0 ��	�X	���o���oP���o�o���o ������ 0@P`p��GA$3a1h�GA$3p1113`�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY`�GA+GLIBCXX_ASSERTIONSlibpcre2-posix.so.2.0.3-10.34-2.el8.x86_64.debug����7zXZ�ִF!t/���8]?�E�h=��ڊ�2N�HLK� ��Z���'�'ܰ�%P<���s�GTZE���D���
��B�6�z�<�/0qUg
����[�I�b���"�_�a�^h\����	�[�0
�>ʾw���
�o�&���!˔Q����u�-��֛���t���r鬬�����l�,p"�/�A)ܒ�#���m��G�:�D�p�.8%-̡P"QA��z�ܶ佤�3�.�'.\T��u�L~�f�����Q+�2_��ڊCU�XU�"
�25&��5=`���M}�R�D8Kd�A� ]Ps�=Cn�֖���hz��p&��
��v6�X�(�4�b���j��R�ϊ���-ݽ܎��nM�?�MԨ+>��P
zh�WK.�𔐭[�V��K7��J���[����Raf��=f�a
)�h��ꌖ1����E,h���x��0��8�!dm�/���֏7������][�o�x��n���g��Wb[9��^����7+�[?|���O4��&�XU���4��$��G'C��B�8�B"�l��ƚ]
F�U��s}�Ma_c.�m;H�Rp!�_8���.��ח���l�T�=
��%F��.��<K�ԑ�$���?��]��7���2�K�؛%�zJ�e���j�1�� ��@��2d4��s�*~�m\�k	�h�;����?n)/l�
U�)*�5ĺ�~��r	
F�����$��7�Zs0xj�
b��	V�^�<��eZ��D�H�Kҙ������ޏ�Rptq7ݢN��3W�@�B�-�ӣx�B�=z\1��z쉰 �����}�<�ׅn5z�����bV/���g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``P(���088�8���o6E���oPP@T��X^B�	�	�hhhc��n��w�
�
9}��
� �\�``�� �P P�X X�` `� �  �0 0��  �� `�H0"8h"x�%"lib64/libpcre2-8.so.0.9.0000075500002175300150403237320010353 0ustar00ELF>�$@��@8	@���� p�p�(p�(�� h�h�(h�(888$$������  S�td������  P�td�i�i�i��Q�tdR�tdp�p�(p�(��GNUdp2qΰw����*�qQ��C	#&`tELfQD���"@���H"0PX|AA,SB� ��B\8�7'!#%'()*+,-./1345678:<=>ABDEFILMPQRSTVWXY[]_adeGшӒ�M��8p�߉��v
�6�)�4Ss���ov̆��%�{�Ũ�����>j\��	4��$gD�m���3z��1ð��l�W�LSn2�c`��qr�}e�yv�mvo�ӹ󚦵�i�K����!�u�Az�v6I��4�t_'��v^p�7ր+s�3�S$+�@T3><J�C���Ϡy��;��aH�B���^�+d?�)p#L� CE��1�ܨX�c��^5���SLT!����|/�]e�1�}+:�6D�"w]������0��7��.QK�e�
�R�qX�� �U�V���u f����m�R, F"��0�0~�)>pL���	p�
,�1�@�P*��f�@H�ZP�"�J!#�����G�`��L�L[*�&��`
0V_ [�p�	���<
�n�F���y��N
��*�q`�	]�B!sp�I���V�����
�p�:�p
Y�
�\@M�I�D@�	��D����F!�P��������NB��yN�����	N�`�(:�UP�	��/>��%��DP!�H�(|p��E������J��b9�V� �a���<����� �(�`�(__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_failmemcpymemmove__memcpy_chkpcre2_code_copy_8pcre2_code_copy_with_tables_8pcre2_code_free_8pcre2_compile_8memsetmemcmppcre2_config_8strlenmallocfreepcre2_general_context_create_8pcre2_compile_context_create_8pcre2_match_context_create_8pcre2_convert_context_create_8pcre2_general_context_copy_8pcre2_compile_context_copy_8pcre2_match_context_copy_8pcre2_convert_context_copy_8pcre2_general_context_free_8pcre2_compile_context_free_8pcre2_match_context_free_8pcre2_convert_context_free_8pcre2_set_character_tables_8pcre2_set_bsr_8pcre2_set_max_pattern_length_8pcre2_set_newline_8pcre2_set_parens_nest_limit_8pcre2_set_compile_extra_options_8pcre2_set_compile_recursion_guard_8pcre2_set_callout_8pcre2_set_substitute_callout_8pcre2_set_heap_limit_8pcre2_set_match_limit_8pcre2_set_depth_limit_8pcre2_set_offset_limit_8pcre2_set_recursion_limit_8pcre2_set_recursion_memory_management_8pcre2_set_glob_separator_8pcre2_set_glob_escape_8__ctype_b_locpcre2_pattern_convert_8strchrpcre2_converted_pattern_free_8pcre2_dfa_match_8memchrpcre2_get_error_message_8pthread_mutex_lockmmapmprotectpthread_mutex_unlockmunmapmadvisepcre2_jit_compile_8pcre2_jit_match_8pcre2_jit_free_unused_memory_8pcre2_jit_stack_create_8sysconfpcre2_jit_stack_assign_8pcre2_jit_stack_free_8pcre2_maketables_8__ctype_tolower_loc__ctype_toupper_locpcre2_maketables_free_8pcre2_match_8pcre2_match_data_create_8pcre2_match_data_create_from_pattern_8pcre2_match_data_free_8pcre2_get_mark_8pcre2_get_ovector_pointer_8pcre2_get_ovector_count_8pcre2_get_startchar_8pcre2_get_match_data_size_8pcre2_pattern_info_8pcre2_callout_enumerate_8pcre2_serialize_encode_8pcre2_serialize_decode_8pcre2_serialize_get_number_of_codes_8pcre2_serialize_free_8pcre2_substitute_8pcre2_substring_length_bynumber_8pcre2_substring_nametable_scan_8pcre2_substring_free_8pcre2_substring_copy_bynumber_8pcre2_substring_get_bynumber_8pcre2_substring_list_get_8pcre2_substring_list_free_8pcre2_substring_copy_byname_8pcre2_substring_get_byname_8pcre2_substring_length_byname_8pcre2_substring_number_from_name_8libpthread.so.0libc.so.6_edata__bss_start_endlibpcre2-8.so.0GLIBC_2.2.5GLIBC_2.14GLIBC_2.3.4GLIBC_2.4GLIBC_2.3/opt/alt/pcre2/usr/lib64� ui	�����
	ti		ii
!	ui	�ii
+	p�(�%x�(P%��(��(��( ��(0��( ��(0 �( (�(0H�(@e��(c��(@���(�3�(Aw�(Gw �(Lw0�(Qw@�([wP�(mw`�(~wp�(�w��(�w��(�w��(�w��(�w��(�w��(�w��(�w��(�w�(�w�(�x �(�w0�(�w@�(�wX�(�d��(��(��(��(��(��(F��(��(:��(��(��(��(��(]��(��(	��(
��(5��(�(T�(
�(3�(? �((�(0�(a8�()@�(H�(P�(X�(b`�(h�(\p�(x�(L��( ��(��($��(��(��(��H��H���(H��t��H����5*�(�%+�(��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#��������%�(D���%ݻ(D���%ջ(D���%ͻ(D���%Ż(D���%��(D���%��(D���%��(D���%��(D���%��(D���%��(D���%��(D���%��(D���%}�(D���%u�(D���%m�(D���%e�(D���%]�(D���%U�(D���%M�(D���%E�(D���%=�(D���%5�(D���%-�(D���%%�(D���%�(D���%�(D���%
�(D���%�(D���%��(D���%��(D���%�(D���%�(D���%ݺ(D���%պ(D���%ͺ(DH�=y�(H�r�(H9�tH���(H��t	�����H�=I�(H�5B�(H)�H��H��H��?H�H�tH���(H��t��fD�����=�(u+UH�=z�(H��tH�=�(�����d����ݻ(]������w�����I�ȉ�A�H�GD�I�A��@v7A�@�y�@��j��L�
+6@��Ic<�L�>��D����T���G�N��:�]��-�lD�Q�D�I�A���RA���H��0��@��A��1�A����!�A�H�A���υ��^����R�p�� ��D�H���'����A��?H���Ɂ�	�D	�A�H���.���2A�P9��A�@�����H�P ��pu�f����H�T��2�N���w1�H��H���3�������H��H��H��H)�H��A�p�fD�L�H��	��A�P�@A�@L����1��DD�I��Q�A�����������@�ǃ�=1Ҁ���!�A�PA��A�҅��v����jD�H�� ��H���7��A����?H����A��D	�	��1DD�Q�D�I�A����A���|A��A��@�ǃ�W������!�A�H�8H����A�8�v���DD�Q�D�I�A���^A���TA��A��@�ǃ�J������!�A�H����@��WH�G��@��A��1�A����!�A�H�|���f�H��A�H��������������H�5����Hc��V�΃����H�5ܳHc��VH�4RH��
�|�ω����DH��A�PA�@������H��9�pH�<�1ҋ4A�tH�������H��u��PA�P�@A�@L��ÍQـ���A����A��A��@�ǃ�#1Ҁ���!�A�PA�����H�G����A�@��������A��?H����D	��3��������?H����	����f�A�@H�������=H�G�����������!�A�P�A���@�����ɍL	���fDH�G������#H�G����A��1�A����!�A�P����D�P��������A��?H�������A��	�A��D	�D	����1�f�z��H��A�H����f��p������A����?H����A�����D	ʁ�	�	�����1������DA�L���D��D�X������A��?H�������A��	�A���A��D	�A��D	�D	����f.�A���x����A����?H����A�����D	ʁ����	���	�	��#�������H����?��@A��	��p�A���A��A���A����?A��	�D	�D	�D	��L�����A��H��A��?��@����D	�D�H�����������A��?D	�	�	�	����f.�AWAVI��AUM��ATA��UH��SH��H��XL�$dH�%(H�D$H1��D$�<v��<w��<x��D��<����2<y��<|������L�D$ I�VH��D��L��L�D$�V���H��H�����E�T$ L��0L�D$�������
��n����n��E��u��o����o���H��0����wh����w`H��H�5�3H��H�<tH�D$$��������7D�Cf����H��<xt����fD�E�������1�H�t$HdH34%(��H��X[]A\A]A^A_�<�������j<�����CH�{�ƒ���t
<�u�f��Gf����Hǀ?xt�A�E��A�E���z���L�$H��M��H��L��D�������Y���H�R�B�8H��<v�����H�1��@vH����D<��&���D�[H���D$fA��B�8E��I�H�A�;x�����A�E��A�E������M��H��L�$M��H��L��D���H����������A�GI�f����I�A�?x��H���D$�L����Cf����H��6���D�u���]����CH��f����H)����~<���H��-��Hc�H�>��f.��}1������������ntxE��tn�T$(H��H)�H��
�-	�����	v_���N	��	����I�FH�q ��D$�����@A��$��������C���@��ou��EH�$H)���L���f����w���I�FH�y H�P@�f�H9�����H��H���B��q��Ѕ�t��<���@��owC��n�����!���I�FH�q H��
�H9������H��H���Q��P�t������p���H�$L9‹RHD�H)�H�P��������T�T$$���|����Ѓ����f�L�}��L��L�$L9�A�?H�l$M��I��LD�H��L����P���j�d���Ic�L�>��f.�����D���v*��( ���3���I��A�?�������@��
��w����������������S����H)��D��s���������w���fDH�S�C��H�����������9�u���l�������H�S�C��H�������A���9�u��h��������$�������
�������=���D���,������� ��������	�����	���f�E1ۃ��WA��A�Å�H�5���KI�A��A����Hc��VB�4��D)���H�5y��{	Hc��VH�4RH�cH�4�������SL�
,Ic�L�>��D����D���I�F �8�6����a�������$������� ����������������������"���f��C�D��L�D$H)�H��5L��)L�D$����������@�������I�F �8���������f���������I�F �8�v���������������I�F �8�V�����������D���I�F �8�6����a��������T���I�F �8�����A����������J��+���9ЋMA�Ã�@�ǃ�L��A��N�AH�
%,D��A��L�A��t$(�41@�����L��*Ic�L�>���vH��-H���H��9�t(�
9�v�E1ۃ�A����9�����D9�A��E��E���W������f��F�ׁ�t���� t�����tɁ��t����t��VH���<���VH�
��������VH������������_��	���D9�A��E���`����VH�ţ9��<����V�B�<�����čN�H�5�)Hc�H�4���������M�>1�9�t�~9�t�F9�������	���A9��9����|���@�N�H�5�)Hc�H�4����^����L$,�>1�9�t�~9�t�V9��ƒ���	���A9�����'�����������M�T$,H��H��H)�H�?)H�BD8��������@�������L$,�U��9��������~��������D$,9E��D1�����D!����֍N�H�5�(Hc�H�4���������>D�MH�
�(H��H��H)�H�<A1�B�<�����~Hk�H�B�<	������FD9�����N�H�5U(Hc�H�4����%����>D�L$,H�
V(H��H��H)�H�<Q1�B�<�����~Hk�H�B�<	������VD9����f�A�E��A�E��������H��M�x�
�����( ���e��������	�W������f���/ �D���vj��_ �6�����0�*����U���D����D�����������3�����/ �$���w2�� ��
�������fD�� ��
�������@��_ ����0��������I�FH��@���I�FH�y H����X����H�$L9‹RH�q HD�H)����fDI�VH�y �$���L��H�l$M���#�H�BH�q �W�����	���	��������) v)��_ �������0�������/ ���������( ������� ��
������l���������AWAVAUI��ATU��SH��H��hdH�%(H�D$X1�H�D$,�D$,�L�d$0H�D$�<����P߀�@�hD�x�<TwD�x�<GwD�x�<:w
D�P�<-E��DF�E��A��A��(�
�D$4��<a��v]<�����<w��<���<p���Cf����H�H���H��<��\���������#f�<]��<[� ����1�H�t$XdH34%(��H��h[]A\A]A^A_�<�� <��<��H�
��Hc��HÅ���������7�����C�<������H�����?�H�����<Ur��CH�K��<HB��f��P�������L�S!<puD�SfA��E��I�E�A�S��������I�U��L��H��D�\$L�T$�_�D�\$�t$,L�T$D��҃��T$4�V��҉T$,��L�L$I��L��L���H��D�\$L�T$�#�L�T$D�\$����A��dA���\H�=W#E��Jc�H�>��DI�UH��L������H��A��!�5��D$4H��t\�D$,�P��T$,��~ML�L$I��L��L�������������E�W�A����H�5�"E��Jc�H�>��A�mfD���<a�s���f��CH�K��<HB�����f.��Cf����H��t���D�CH����@�������fD�������fD�����fD������fD��	�����A�k�����A�l����A�j�������1�A��%�������AUL�ATU��SH�\$(����I9�sp@��tkE�A��+��A��-��E�c�1�A��	��I��A��0L9�w^fD����@����E������u~A�[]E�A\A]L�Ð1�I9�sIE�E�c�A��	w;A��0I��D9�s'�l@E�"E�l$�A��	w�G��I��G�\\�A9�wGL9�w��1�[]A\A]��)�I����A9�K��D)�A��D��h���fDD�1��X���fDI��������T���f��~1��5����s1��(���fDAWI�׺����AVI�ι��AUATI��UL��SH��(dH�%(H�D$1�H�L�l$�D$�D$L��H�D$APA�iL�L$�:���Y��t}H�D$H9�ssH�P�8}H�T$t}�8,u`H9�v[�x}u}H��H�T$M��t�D$A�M��t�D$A�H�T$�I�$H�L$dH3%(��H��([]A\A]A^A_��E��t�H�T$1�I�$��@�D$�D$�fDU�����A�i���L�L$�u���Z��t�H�T$H9�s��:}u��D$9D$�F����Eh1����H�GH��D�H)�H��+�Rf.���[tK��]t>D8�tLH��H��H)�H��~)���\u��x��\@��w�H��H��H��H)�H���1��DD8@t�D8�u��x]u�H���fDH��H�=�!fD��ʃ����w5��Hc�H�>��fD��tH�e�Hc��
H���ʃ����v��D�Pf����H�D�fDL�)�Hc��PA��Hc�H���x�u��Pf�����Ҁ<yu���H��[�����t�@�Pf����H����xt�H�
�H��'�����Pf����H��
���ff.�f�AWI��AVE��AUA��ATA��USH��H���H�-i�f��|1�L�������z����ʃ����qu@������x��������qs@������~A���tn���tK���tC����'�Q�������^���A���vJ��tE1�H��[]A\A]A^A_�@�Pf���Ҁ<xu��E��D��H��D��H������t�A�Gf����I�A�<x����H���[]A\A]A^A_Ð�H�E��H�Ǻf����f�� D��C�H��D	������u�H��[]A\A]A^A_�fD�x
�9���D����,���E���#���D��� ���������L��������A�ME���"���@AWI��AVE��AUATA��U��SH��H���L�-���D��z������I��u������:��x������[��s������L�J�����������J�������^�������A�Gf����I�A�<x��A�|1�L��=��������N����HL�H��v����wu�@f����I�A�	��p��w�H��?�JL��A���H��D��L�L$���L�L$��tZ�A�Af����I�A�9xt�I�y1�������z����������fDE���H��D��H���e���������H��[]A\A]A^A_�fD�H�E��H�lj�f����f�� ��C�H��D	�������������A�EvI�A�	�	����A��x���D�xuQD���uH��DD��� u9�����e����[�����ME���2���H���[]A\A]A^A_�H��1�[]A\A]A^A_�L��f����t}��u����p����w���ʃ�U��Lw��Ic�L�>��fD�GH�H�ҔHc��HDž�t�����7w��G�<�v�H�
���?�H����u�1��f��GH�W��<HB��D�GH�W��<HB��D�Gf����H��-���D�Gf����H�����DH���ff.��AWI��AVI��AUA��ATE1�U�����SH��H��(dH�%(H�D$1�H�L$������H�L$�Px��v��s�<w��L������0�V�q����Hc�H�>��DH��E�����@���������A9�uyA�Gf����I�A�<x�w���A�.�\f�H��E��tG�@���u�A��1�����~1�H�ǁ�H�t$��D�����T$��x
���t=9�t��E1�H�L$dH3%(D��u,H��([]A\A]A^A_�A�Ľ�R�����A���E����y��f�E1�H�
V-�5@=���=�unD��	�����%��H�<�H�����f1�=��m��=�tnwN=�tev�=�t\=
���=��h���y�@����%���t�1��=�tv=�t=�t=�u�A����@=�t�=�u�A���@=&�t�w'="�t���=�ukE����A�������=-�tv'=1�t=3�t=/��N����WH�<��J���f�=(��s���=)�t�='��#����\���fD=��
����F����=$��3���=%��(���=#���������f.��҃�������vG���������H���G���f.�L�Of��	IG��,����������H���H������ff.�@AWAVAUATUH��SH��x�H�|$ H�?H�4$�PH�L$dH�4%(H�t$h1�H�|$@�U=��N	H�D$@1�E1�M��H�D$H�D$PH�D$�+��A�A�����H�|$@H��H�|$@D�E��y�D��f1ہ�����=�������������������������A����]DD��GH��D�G�M���H�|$@I�� I	�L��IF8L�|$(fA���H����E1�D���\$0D�l$4H��E��H�l$8D��I���fDA�����I��9���A�D$D9�u�I�4$H��L��诿��u�E�\$�\$0D�l$4H�l$8E���_��!�tfA�|$��A��� �|E;����H�D$(I���H�$�sf�A�����H�t$hdH34%(D����H��x[]A\A]A^A_�@����E1�H��H�|$@H���H��AVL�L$H�T$H�|$ ��^_��x���fD����D)�9�����H�$���i���f������H��H�|$@���fD����d���H�D$ H�8�-������	�t0wV���u6H��1��}�����1�����2��81�1��W��������E��������
��D����������������������������E��A���b���A���X���A�@����A���A����zA���pH�$���$���@��*�����$������!���������u*H��1��Q���������������� ���E��D��GH��H�|$@I�� I	�L�|$(E9���`���E����I���D��1Ɂ���H�\$HL�c=�u0�D9��pL��I��H��A�D$�=�����L�cf1ҁ��u�H������"��8�����#��@H�t$H�T$H��L���jH�4$�������H�|$@�W��9���������<���������>�t��?�t��=������@H��1����D��'��t���wB��%�t��&���H�L$H�4$M��H��H�|$�����-���H�|$@1�������(�tʁ�)�u`�G1Ƀ�H�<��y������0���������3�t�������>����?����=��@H�$�}�������u@H��E1�H�|$@��������t�wF���u.H��E1�H�|$@���D���u�1��c���f����t��fD���t����t��k�����-������w:��+�uR1����H��H�������H�$A����������f.���.�������/������������,���1����DL�cH�\$H�L���B���H��t�H�T$@H9�v	H9������H�D$H��tH9X�����H�H��u�H�D$H�\$XH��E��L�d$HH�|$HH��1�H�D$XAVL�L$(H�T$�XZY���~���H�$D�E��������I���f�H�$�sH�D$(I�������D���4����4���A��A�������\����G;G�����������p������Ή�H��H�|$@���D��&���H�D$@H��������d���A��������A��� �����E��A��	�~���D��I�D�XH�D$(�����:��&�����;�����1��m�����6�����w��4��������5����1��@�����7�������8�����1��!���1�1�����A)�1�1���������1��9����������fDH�$A��������i������ff.�AWM��AVI��AUI��ATI��UH��SH��H��C�$�C�D$H�C�%DA9�}A��	I��;�H��uHH��M��L��L��I�H��L��������y��E��u�E}1�I����t'H��[]A\A]A^A_�H���[]A\A]A^A_�@L�4$�T$I�� I	�M���H��[]A\A]A^A_�AWAVAUATI��USH��(H�|$H�4$dH�%(H�D$1��D$�D$�Hǁ���������=H��H��L�l$1�L�|$L�t$�|@��f1�= �����=�t9�==�����=�t��=�t4=�t-=�uZH�N���QH�qH�t$�������x�H�L$��D=�t��#=�t�=��=
�t�f���H�|$dH3<%(�gH��([]A\A]A^A_��=0�t���=(����2=$����a="���=#���=!�u�H�N�+���=�����=�����=��W������f�=�t@����=�t�v*=�t�H�N=�����=�����H�N���=�u��H�L$���@=������=����H�L$����=�t���=�t�=�t�=������������j���H�$H��tH�0f�1����f�=,��A���v3=.��4���=/�t=-��V���fD�F��H�����=*�����=+������=)�t�����fD=�����=�����=������H�N���fD=8������vc=<������v&=>�t=?�t==������H�N�\���@=:��i���=;��^���=9������H�L$�-���D=4��9�����=2��(���=3�����=1��F������=&�t='��%���=%��#���I��L��L��L��L�������������D$����fD=
������=������=	�����H�L$�}���D=6������=7��~���=5������H�L$�M���D����H�N���Q����0������ff.�AWIc�I��AVAUM��ATI��UH��SH���D$H�\$P��~	��� t}A������)DA���tA9�u1I��:���H��A��I�I��L��L��H��L���8��yċD$��~Lc�H���B��@�����H��[]A\A]A^A_�fDH���D��A��@u�A�����E��y���u>A������|$��~�H���Lc�J���	���H��[]A\A]A^A_�H�?��b�I��ff.�f�AWM��AVAUATUSH��(I�iHfA���H�<$H�T$H�L$L�D$tJ��E1�D�f@H�<$H�uH��耰A�Ņ�u
D��|tOA���A��H�A���D9�w�H�D$H�,$I+o8��1�I���H��([]A\A]A^A_��A���D9�v�H�D$A�D�0�1A���H�<$H��H�H�u����uM�|uFA����ED��A��f������f�� ��AC�A	��A9��sA���C�D59�w�H�D$D�(H��(�[]A\A]A^A_��AW��I��E��AVA��AUATI����UD��SH��(A���EF�%��H�4$�D$�|$�N�������D$D�ÉT$D�D$D�t$I��9����ۍCH�5̑��I��H�=�~L�������H��F�����)��H��GH�@I���P��tR���9����ۍC��I������H��F�����)��H��GH�@I���P���kD�@A�A9�t���E�H9�� �ۍC��I������H��F�����)��H��GH�@I���x���P�D9�t[��f��ۍCA��I�A��A����H��F����B���D)��H��GH�@I���xu�H�9�uA�Ƀ�A�Q9�s�E9�w
E9��r����D$D9�v��D9��
D9��4�ED9��(D��D9L$�:���A�����AF��D$�!����D�¾E9���I�B���H���ȃ�������A<A9�s�D)�B�6�D$���v�L$����D�E9�s	A9�wuD���E9�s�.f��Љ‰���������A<�PA9�u�D$A�DD)��D$A���AC�9�w$H�$�T$H���t9���3H�<$H��D$H��([]A\A]A^A_�f��T$H�4$L��L�����D$����@M��D�|$D�t$�+���fD�CE1��D$H��H��D�A���tl���D��A���fDH��D�A���tFD9�t�1��f��rL�,�H��B�4A9ut�D��H�4$L��L��T$����L��D��A���u�\$D���\$�U���DD�D$�F����H�XH��臈��H�H�މ��x���H�����fDE�����H�X����D$�!���f.�AW��AV%I��AUI��ATI��U��SL��H��E�8E1��D$E����f.��CA��A��A9�u�H��D�KD�@D��E9�t�A���t>A��E��L���L��E��L����D�CA�H�CA���tFH���fD�D$�����DE��ǁE�O�D�����D�A��A����]���H��D��[]A\A]A^A_�ff.�AWAVAUATUSH�L�[D�I9���H�D$PM�M��L+8M�8A��*����D�CD��A�����D��L�5o�D��M�����L�-\yL�%U�H�A�F���H�A�DEH�@A�D���
��fD��
tH�<v�<�t
A��_�CI�BH9�v8A�RA��A��A���t��@�A��A��A�����H��H9�u�H��!H9��(H��H�\$8L)ډI9��H9��&8�H��[]H��A\A]A^A_��CA��*t�PЀ�	��H�T$HL���L��A�u��A�t	H��H9�u�H��!H9���H��H�\$8L)ډA��*t��g����D��I��A���vD�H�� uFA��A��?A��E	�D��D�����H�A�F���H�A�DEH�@A�D����D�h��u'A����?A��E��D	�E��A��A	��fDD�x����D�|$�D�x��D�|$���A��D��A��D�|$�A����?A�����A	����A��E	�A��A	�E	��0���@1�A��*H�L$@������[1�]L�A\A]A^A_�A��A��?A��A��A�����E	���E	�A	������S� ��A����?A��A	�����H�L$@I�����H�D$@���H�L$@I�����m����@A��D�|$���A��@A�������?A��?A��D	�A���D	�A���D$�A	��E	�%�A	��)���D�K�tCD�S�uk��A��A��?��A��%�A	�D���E	�%�A	��P���L�������A��A��?��E��%�A	�E	��'���H�D$@������k�u?��A����?��A��%�A	�D���A	�%�A	�D���%�A	�������A����A��@%?A	��C��?A	�D���%�A	�D���%�A	����%�A	����f�L�M��t@I+8A��A+yA�y��t2H�A�I9�tEH����H�AH�QD�AH��D��uH��1�H����A+A���fDA�y�u�H��L���fDAWAVAUATI��USH��A�0���toH��A��I��1�@1��@�JM�4�H�ȍ1A9t�A��L��L��H��E��D��E��E���A�6M��Ã��u�H����[]A\A]A^A_�1���@AWAVAUATUSH��H��$0H��$L��$L��$PH��$H��$8��$�L�
H��$H��$@H��$�I�UH��$ H��$XH��$�H��$HD��$�H��$�dH�%(H��$�1�H�H��$�H�BH��tH�r A���L�$��L�$���,6H��$�H��$���$�H��$����H��$X�B�<@�ƀ����1�@�@��$���4DŽ$����ubH��$�E1��[fD��$���f�$f����f��$�I�����$�H��$�A���f��$�H��$�I�����$�1�A��M��H��$�L��H��$XDŽ$��W�D$lH�f�kH�T$81�H��$�HD�H��$��������$�I��H��$h��$�H��$�M��H�\$HH��$�HE�H��$�DŽ$�H��$�L�t$(fDE��t.��$�t$H�|$8fA��H��$X�}H��fD�G�H�|$8��$�I�sH��$`L��L�T$8�D$|H��$��������|$4L����$��t$h1�����@�ƿ����HDŽ$h�t$X@���E1�@����L�T$P�t$x��$�DŽ$�H�D$@H�D$`�|$�|$0�|$�<$�D$�D$ �D$�D$�D$p�D$\����DD�D�E��fA��E��E��fE1�H�|$(��H�U(H�uPH�|2�H9��&H�|$PA���H9�HB߁��mH�|$(��H+\$8H�H)�H9��/!H�t$(H�H�H���!H�\$8H�\$P��$�H�\$@��D!�DT$\�T$\A��"����A������A�������A��
����6A����A��	�uPH�C�D$4��%�<$�u������L$�$�H��$`H��E1�H�BH��$`����A�����E����4�D$4�T$h�����\���� E��A�AH���D��AI�������H��B����A�	��)��H��nH��BH�@H����D����c A�	H�K�<$��CfD�;A�H��H��$`�/���������D$�$����fDA�����%A����6A������������@H�C�<$��H��H��$`��%�$A��D$�D$�D$���A������EA�����A����[H�PD�H�D$4H��$`�T$h���������E1�D��$�A�A�A���H�KH�t$HL����H����J�8��$�<
��<
���<$���E����"�<$�C���$���|$�|$�|$H��$`E���m�|$�L$�L$�d$4��|$0�L$ �D$DŽ$����A�������A������A�����A����A����s����<$��������E�D$4 �lj$��H�����|$�C�H��$`�D$A��D$0�D$�D$�D$�D$ ����A��1�����A��)��X	��A��%��e�WA��'���A��(���f��������E1�E1�A��L��$PL��$T@f���H��$`H��$p���H��$`��$�H��$pHDŽ$h��$�UH��$�PAWH��$hPAT�|$dH��$�L��$|�-�����$���H��0���Pf���A���������A!�A�F�A!Ճ���f���H�|$(��H�t$(H��$h��H�H�W�H)�H9���H��CyH���C�H��$`H��[���A�� ���A��!���A����Y����pH�P1���t$4%��$���@��E1����|$X�D$x�������$����DA�������A�����A���ugD�H�PE���/ �������	v�������
�_-��K�����A�A�H��$`A��L��$PL��$T���A����s����P�pH��D�h�L���H��$`H�� H	�H��Hu8f���H�T$`H�t$p��D��E1�H��$��D���A��I��A9���A�FA9�u�H��$�I�6H�|$p����u�fA�~�a5���D9��yA���L��$TL��$P��H�|$(�D��CDŽ$PDŽ$T�N.�C��$TA�A�A��f��f�C��$Pf��f�C��������fDA������P�HH��A�H��$`E1����A��H�� �C�L��$PL��$TH	�H�T$`�H��������E1�A�A��L��$PL��$T�����H�\$PA��"���������E1�A�A��L��$PL��$T����DA��������������A����C���A��	��D��H�D�XH�D$`D;����6�<$�u������D$�$�D$4�D����H����q�C�D��f��f�C�����A�� C�	��D;��vD���H���H��$`H��t(�pA9�u��D�HA9���H�H��u�E1��[���A���t
A����j����|$\������I��I��ET$l�T$lD��f1�H��$�������0H��$���$�H��$XH�H�\H�\$8E��H���f�fD�����E1�A�A��L��$PL��$T�7����A��&������f��������E1�E1�A��L��$PL��$T���DA��#��#	f����~E1�E1�A�~L��$PL��$T���DA�����H�|$(��H��1�f.��B��f����H€:yu�{���	����1H��$pH��$`���&D�D$p�E��DO苴$T�<$���$P�t$��"�����&���K5��$L�4$�D$|�D$�����
#�H�|$(�����H��$pH��$`�f�A��-�����A��+��A��,���A��*��&���H������DžH��tQf;PwKH�L$(�@H�H�H��t4f9Pr.H��u����P	H���S��P�S�H����H��u�Df��H�KDŽ$���E1��]�<$��H��H��$`�^��$�����R�f.�A��/��SA��0�t
A��.��M�Dž A���H���H��E1�A��B���C�H��$`���A��8����uA��4�� �jA��2�u)���H��E1��C��H��$`���A��3�������A���H��H�SA��L�sB���H��$`D�aH�AH��$pH��$`E���D��$�E1�M��1�I���8f�H�D$(A��@��$�H��tLL8A��D9�$�tbH��$`D�T$hH�P�xH��$`E��t�H�t$H�GoA��H�D$(L��H��u�H�t$HL��L��M��A���^���D9�$�u�@H��$pL��M��E1�I�^A�H��$`�`��A��6��[A��7��A��5��Y�D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$A�E1�H�D$@H��$pD�8A��u����A����A�� �:A��n��E����A����A���„�t��t�D	�H��$`��@E����A��@�Ƅ��_$@���V$A��bH��D�C��DA������A�����A���t�A����0A��u
A���v���A�G�<�R%�����A�4DŽ$���$�E����C���$�E���XA���#A���I,H�D$@fA��D��$�fD�`A��'D�L�@D��$�E������$��E�8I�X�-��$�I�XA�HA�@��A�G�<����H��H+T$@��$�A���{A���qE���x���A�����$A����d���I���@�D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$D�D$xE1����f.��D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$�D�D$XE1��l���A��<����EA��:��A��;�toA��9��R�E��A�A�A�A��E��A��9��A�����A��<��.���vcA��>�����A��?������\���@�D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$���f.�A��;��{�������fDA��6������A��8��V���A��5������D���@�D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$���f�A��>�tA��?�t
A��=���D�pH�PD�`1�H��$`E����E1�A!�E9�D$A��E�E��DD$0�D$�$DD$�$�D$DD$ �D$�D$DD$�D$�v����D$0E1�A�E1�A��D$�D$�$�D$ �D$�D$�D$���f�A�������^�fDA��$��K��x��^�@�=�K��H��$`H��E1�H�P�����H��$pH��$`����$P��x|��$T��xq�4$�D$|�t$�t$�D$�D$�t$0�D$�D$�D$ ��$H�D$�~�fD�����E1�A�A��L��$PL��$T�����$�D$�D$�D$|�D$0�D$�D$�D$�D$ ��@���*�C�H��$pH��$`��fDH�|$(�PH���!��	E1�HH�P���DD�HE�����P��
���A��
��������x
���D��H�5�m��Hc��ND�΃����H�5|ZHc��NH�4IH�
j�H���yuxA���6$��$��($�yDω�A9�tS9�uOH��E1�H��$`�D$4�u��A�DŽ$��D$4D�t$hE�����D$4���y�fDH�{f�E1�E1�D��$�L��$�L�|$(D�l$L��$�H��$��\$4H�|$ H��$x)�$�)�$�DŽ$��D$�D$0���A����KE���A��
��A��
���B%����=���D�JH�BH��$`A���uH�BD�JH��$`A��
�A��
��D��H��$xD����H��L���{��H��$`E�H��$xH�t$ H9�s�D$M��tH)�IH��$xH��E��D�@H�PH��$`A��
��O
D�����������1�A���H�P��@��H��$`�@���t$��t	���t�����H���� H��$xA����ƒ�H�qH��$x����t	��	�ƒ�H��$xE���D$0H�HH��$x�H��$xH�PH��$x�H��$`����D����B%����=��H���D��H��$xE��D���}���DD��f1Ɂ����E��E�NA�H����j���H�=
�Hc�H�>���H�PD�@H��$`���������f��vH��$`E1�@�cH��$`�@�CH��$`�@�cH��$`�@�CH��$`�@�CH��$`H�PH��U�@vH��]�Df��������E1�E1�A��L��$PL��$T��f�fD�S�����A�A�D���L��$PA��L��$T����P�HH�� H	�H�HH��$`�H�@f��;����%;��v���H�B��C�H�D$`f�K�����A�A�A��L��$PL��$T��DA�V�E1�w�<$�����A����E׉$A�V��HA����A�F���vA��u����u
DžD��H��$`H���$�D$�D$�D$0�D$�D$�D$�D$ ���fDf��������E1�E1�A��L��$PL��$T�2�f.��P�HH��D�h�L���H��$`H�� H��H	�H�|$`H}8f���H��$��?E1�D��$�E1�DŽ$�E��M���!f����A��I��A9��0A�D$A9�u�I�4$H��$�D���)���u�A�D$E�t$��$�!���$���D����A�� �C�	��D;��vD���H���H��u�e���DH�H���T����PA9�u�f�p
�=���D�P�pH��H��$`H�� H	�H�T$`D;����"D���uH��f��f�K��<$�Dž$H��$`��
�$E1��D$|�D$�D$�D$���Dž �a��D$4��H��E1��C�H��$`��I��H��$�HT$`��I����D$lH��$�dH3%(�D$l�-#H��[]A\A]A^A_��|$�L$A��L$�D$�|$0�L$ �5�D����<$���E����D$A������$��C��D$�������4$��@E������$������H�|$(DŽ$PDŽ$T���4$��������E�D$4�$��H��E1�s�C���$T�c���$T�C���$P�c���$P�C�H��$`�K��@H�5��Hc�Hc<��H��Hc�H�Hc��4��AoL=)�$��AoT=)�$�������1�)ƃ�����u��$�L��A�����H�L$HI�|$ fD�1@0H��H��H9�u�A����f.�����
�D$h�������@�����D�\$D	�$��>���H��$��;x��
I�ZL��H+�$�H�\$8�����\$f��A�xfA�JD���$��$L��$���$��\$L��$���$��\$��$����I��H�CH��M��H�D$8H�苼$�H+�$��Eyf��f�E��toI���f�x
tWH��$�H�T$8L�$H)�H�{H���Ζ��H�E��L�$H��$XH)�f��f�Cf�EH�E	�EyH�D$8I���H�I���H��$�H�\$8H�H��$��$�L�H��$�H��$��$��H��$��$��H��$ ��$��H��$�H���=���H�H��$X��H)�H9����H��$��x����D�$����?������D$�$�2�����	H�D$HL��$�L��9@8H��H��L9�u��O�����$��L��A����T���H�t$HI�|$ f��H����H��H9�u�A��R����E1�H�t$HD���p[A����$�A��M��A�ă�A	ċD$4���}��f����E1�E1�A�L��$PL��$T��f�A��u
A�����A��H�E���H�D���T$h�C�������$�A���A����D$�������$����$��D$DŽ$�E���(�@H�\$@D	�H��$`�����A����A���� ���D��E���&���H�|$(���RHc�H�RHc�H��������H�|$(��H�7H)�H9�����H�H�E9��2���mE)�E1��H�t$@L�{��A�yD���D$p�����)�f�>fD�^f�F�F�F�F�F��$�HDŽ$h	E����A����E)�E1�1�A����H�\$(H���	E����H��$hH��L��I�D$�I����������H�3��H)�H9����H�H�H�����L��L��I�_H)ȃ�HcЉ�H)���Vf��f���tf��A�yfA�Gf�FE�����H��$p��B�<S��H�
U���Hc�H�>��4$�����D��$�D�l$H��$����E�A����‰$E���*�D$4�	H��$x��$�H�H��t#H��$x��D$h����H��$xH�HD�\$0H��$x��pE���;�Ѓ�E�����CH��$xH�L$@H��H)�f��f�AH��$`�8���f.��$�L$�D$�D$�D$�D$�6��@H��D$lH9�H��$����"���Y���f��@H�5��D�L$hHc�Hc<��H��Hc�H�Hc��4�E��������-���f.��E1�f�x
�����������
�����x"����l�����E1�H��H��$`�J��f��P�pH��H��$`H�� H	�H�T$`�!�DA����+H��$��sH�D$`H����d���@H�P�@H��$`���A���������
��f.��|$����D$0�U��;T$����nH�|$(��*H��$`H��!�$�D$�X��f.��D$E1��D$|�D$������$�D$�D��@�D$A��D$������$�D$�!��f��
�&��fDE�������A���‰�A���q���iA�A��x����H�GD�D$h�H�H��$pE��t(�F�<�v H�QE��?�H�H��$p�I��I)�E��������uw)H�����t�H��$`D	��D��@Ic�H�~D��$�H��耎��H��$pA�D$D��$�����f���C�yf�S�H��$p�bH��$p�BH��$`D	������C���f��I���C�y@�{�f�FH)��>����v���f�A�����A�����D��$(D��$�E�����H�t$@Hc�D��$�H��H�NH��賍��E��D��$�D��$�H��D��$(�pH�D$@H�L$@��H��$`D	����fD1����������D$�t$��4$���f��Ao����@)�$��Ao��)�$�H�|$HL��$�L�@�H���� H��I9�u�������@�t$h���g�
�`�L$9�$�u�4$9�$���D��$�E���Z	��$����K	��$��������$�D�L$E���D�$E������$��\$�$�$�\$��$�3L$��u��$�9|$����$��D$�����\$�`���Ao��������@)�$��Ao��)�$������DA����H�\$@D��A��)f��D�L�Cf�CE9������$����sH�D$@��$��D�xH�XtH�D$@��$��H�XH�XA����E)�A���uD��$�D��$�fA��fD�cA��'D�L�CE���?�@��$�H�t$HL��D��$�D��$�H���Y���D��$�D��$�H��>���H�t$@I��H�NH��輊��E��D��$�D��$�H��D��$(�?L�\$@A�@�A�A���H�L$@E1�A�G�A�W�H�������	�H�H)�M�$A�$<�u	E����
�P|����
A��zE�G�L�����f.�A���6���H��E�p�D��M��Hc�$�D��$�I��D��$�D��$�E�4$��tRfDM�l$A�D$�H����L��H)���A�T$H�t$@H�ڃ�A�D$I�|$M�d����L��E�4$��u�L��M��H�t$@H��D��$�I��H��$�L��D��$�I�D��$(迈��H��$�D��$�D��$(�R���f��L$������xH�$�D$|�L$�L$�|$�D$�D$�L$�|$0�D$�D$�D$ ��$H�D$���D��$L�<$�D$|��$H��$��|$	ȋL$��$P��y��D$�D$0�D$�L$�D$�D$�D$ �*��f�A���S���CH�����K�H��$`�
�@L��I���I�|$ f��1@0H��H��H9�u��)��L��L��I�|$ D�H����H��H9�u��D$����L��I�M@I�|$ @�1@0H��H��H9�u���L��I�u@I�|$ @�H����H��H9�u��D$���L��I���I�|$ f��H����H��H9�u��D$�P��L��L��I�|$ D�1@0H��H��H9�u��!�H�PH��$xE���D$0H��$`�PH�y��H��$x��A�������H��$xH�HH��$x@�0H��$xH�HH��$x�H��$`���D��$(��L�>H��$x��H��L������H��$`D��$(�e�@D��$(��L��=H��$x��H��L���)��H��$`D��$(�%�@��D��$(H��$xL��=���{������D��$(H��$xL�=���f.��ƒ�����H�s�fDH�����<�t�H��H�|$H�D��$0H)�D��$,��D��$(D��$���$�輄�������D��$�D��$(��$�D��$,D��$0����$�L$@�L$�D$|�x����A�A�I�����f.�H�D$@�x��4E���>A���KH�|$(H����A�F�H��$hH=������H���H)�H9����H�I��H�A���E�E1�����D�Ff����H�H��$p���DH��!H��$p�w����H�A<�N�@]�Q��HB�H�H�H��$p�C���H��$��D$l����D��$�H�\$@��!L�C����DA���KA������D��$�A�D$�A���cA��'D�cD�L�C�����x#����l����DŽ$��������$��'��@���@���A��dH��D�C���fD��$��������$����1�1��\����H��H��$`A��
������$�����D�\$h���E��$�D$4��E������L�c�����D�K�L�H��$`���I���Hc�$�D��$(D��$�D��$�A�������A�������H�\$@I��L�[H��L���Q�����D��$��CI��f�sH�KD��$�A�@�D��$(L�\$@E1ۈA��E1����H�D$@A�4DŽ$��p�H��$����fDH�D$@�x��xA�A�H�L$@�Af��$�f�����<x�����D	�H��$`�/���H��$��D$l����DH�|$pI��L��L��L��$�D���R����������M�D�wH��$`�@�cH��$`�@�CH��$`�@�cH��$`�@�CH��$`�H�pH��H��$`H�� H��H�K
H	�H�u8H�|$`H�D�L�^�}A��{D�C	DDƍw��c���p@�s�r���vWE��L������H��@�y��r���v6D�H��D��E9�u�D�HE9�uԃ�D��H���r�@�y���w�fDH�q�E1�H��H)�f��f�CH��H��$`���L��$PI��D��L��$�L��$TH��$�L��L�������������f�D��E9�������A����rfo�$�{fo�$�{��@E�����S������$��L$�D$�����$�D$�#���H�|$(�E����A��zL��E�G�H��$`D	�����@���pD��H��J��H��BD�ʃ����H��7H��BH�@H����D����:A�	�CH��fD�S�H��$`���fDH��$x��$�H�H�����A���@��@��$���������H��$x�H��$x��T$�{D�����H�$xH��$x�_D�T$��H�$xH�H�8��H��$�H�H���D��H�t$ H�{$�SH��$xH)���}��fo�$�H�D$ 8fo�$�hH��$xH�X ��f.���H�t$ H�{$�SH��$xH)��}��A���u�M��I�D$ A�I��I9�u��f�H�uD�������A�E1���f���������A��fH��D�C������$�H�t$HL�lj�$0D��$,H��D��$(�Z|��D��$(D��$,HË�$0�n���$������$��$��$���$��\$�\$��$��\$�I�f�H�|$(A�$�t;A�$<��‰�<�tq��um��L��A�$A�G�|M��tA��A������H��������T$p���+A�<$�����A�D$f����A�<xtA�$�E�������A�<$���H��I�|$L��L��$�H�ڈ�$�D��$���{����$��CD��$�I�_L��$����f������yA�$A�G|fA�GfA�D$�1������$�H�\$@��#L�C����D�\$�$�\$��$��\$��DA���kH�D$p�@��0=���`A�u��H�|$pH��� ����DH�H�J=�����H��H9�u�;���o�������C��S�C������$�H�\$@��%L�C����DA������D��CA�F�cA�F�CA�F;����������u��fDH�D$`�D$lH���H��$���Y�f��\$��$�	L$�\$��$��\$�f�DI��D�<$H��L��H��$�M���Qf��f�Af����H)�H��f��u�D$D��$���$��D$��$��D$��$���@L�c��A������L��D���?�����f���$�L�C��!��t��f.�A��hfA��D�fD�sA���]D���ĈCH��D�c���@�|$��y�D$|���D$E<$ED$�|$�D$Hc�D��$�A�I��H��$�D��$(D��$,H��$0H�\$@H��$8D��I��@L��L��H�ރ��x��I��M�D9�u�A�F�L��$�H��$0H��D��$�D��$(L��D��$,H��$8I����H�D$`�D$lH���H��$����A�����K��z�H�L$@H��H�tH��@L��D�fD��IL�Z�JH��I9�u�H�H�H�\$@H������$�L�C��%�����H��$�I���D$lI����s���L�c� ���H��$�I���D$l�sI������H�D$`�D$lH���H��$��s�Y��M��I�D$ �A�I��L9�u��t���H�|$@A�@�H�L$@1�I��A��I������A�$���H��$��D$l�n���E1�1�������������I�������$���$���$��(��cu��I��A��0����L$�D$|�<$�|$���L�\$@H�L$@1��B�L�����I��A�A���ff.�f�AWAVAUATUSH��XL�D$L��$�H�T$H�L$dH�%(H�D$H1�H�L9����H�H���{����A����T$ �D$!H� H�L�(M��tYE1�L�d$ H�-! ��L�{M9�v8K�/L��H��H��H�[L�tEA�6H51(�	^�����I��M9�w�H�D$��1�� �I9�w;H��H�L$��H�1�H�|$HdH3<%(��H��X[]A\A]A^A_�D�P��^toH�A��t���}t~�T$ ��I9�v�H���H���t���}tj�L H��H��u��f.�A�FH�|$f�A�FH�|$f���d���@H�H�I9��:����P�u���1�f.��D H������s��ff.���H��tWSH��H�wH�H�H��t4H�SHH��H���s��H��H�@ �CbtH�CH��@H��[�1�[H���f�1�H���f.���USH��H����H��H�wH�H�H��H����H�SHH��H���s��H�s�HH�E �H��t]H�sH�xH��H��H�H)�H�H��8H)΁�@��H��8�H�Hǀ@H�EH��M`H��[]��H�sH��S1�H��H��[]�f.���H��tWSH��H� H��tH����H�CH�s�Cbt'H�{H��@H��tH��H��@u
��H�CH�sH��[����ff.�@��AWAVI��AUATUSH��HH��$�H�$dH�%(H�D$81�H�H�D$(H9��I��H�PI��D��H�T$(���I���|$���ځ��v?��t;�� ��p�x���!����H����?�ہ�H�D$(	�	�f�D�S�A�A��Jv7L�|$(1�M�<$A�H�L$8dH3%(���.
H��H[]A\A]A^A_�@D��H����,B��uVH�<$��H�t$(D��A���� A	�H�t$I��A��H�OH�5��Hc�H�>��fD�e1��r���L�|$(L�|$����1�
�K���A���
E��:���f�H�P��H�T$(�@����?	�����D�P���
���h��������?H���������H�D$(	���A��	�A��	�D	����DH�<$t��)�v���uH�$��������L;l$��A�?{��o���H�|$L��H�GH)�H�D$0H��~
�U�1�1�H�|$0M��L��L�$�k���L�$��uA���uA��H�D$(H�D$L�|$�����@����A��?H���������H�D$(	��D	�	����@�����f�E��������A�����@��$����Q��7�����H�D$I9��2��$��0<�!H�D$L�xL�|$(�B�\��M9�v)H�D$�@�$��0<wH�D$L�xL�|$(�@�\�ЋD$�������������A������M9���I��A���o����f���$��g������M9���A��1����DM9��{A�f�c���fDE1������E����H�t$I)�I���]����H�ۿ�=��D����N�
����0�����H����I��	�����DE��� H�D$I9��������t<{�fL�T$M)�I�����H�5a���������A�B�<��������A�B���������A�B�=���������	���	��	�L��H���|$H�D$(��L�|$(����R���A���F���fDI��A�gM�<$�3���@�C���vA�g����@� H��s�H�"�L�|$(Hc�H�>��A���u����M9��A�<{��H�J�������I�GH�D$(L9��2A�O�
������I��	��}���D����H�������@A����?���A���	��X�H�D$(��?	ډ�	��A	���D	�����A��S��C�����^��A�����I�GH�D$(A�?{�����L9���A�}���|$�1ہ�������0u/1�M9���L���8L�x�WЀ��uL�|$(A�W���t̍\��9�s�M9�v,�HH���QЀ�wH��H�D$(L9�t�H����0��v�A��L�|$(�@����H�D$L�\$H�|$(H��D�T$���������L��H��A��H�D$0AVL�L$4�Є��ZY��D�T$L�\$�����D$$��	�q��L�|$(������1�����A�<<��<'��H�$L�$���<{��H�|$(H��A��L��AV���L�L$4�M���_AX����L�$�dA�>L�|$(�U���A���I����؃�@I�����9����+����|$u/A���	�����g�
���A��I�ǻo���I��I��I�WH�T$(L9���A�}��1�H�5T��|$�1��	Á���v���F��u����6M9��L���L�z�=���A��L�|$(A	�u�1���I���f���H�L$�y�7w4H�$;��~(H�D$H�D$(���D���8���A��I��1��'���=���E���A��L�|$(1��	���H��H�D$(�l$$L�|$(���`�ݻg���I��H�|$0���L��L�|$0A��AQAVL�L$4葂��AZA[����L�$��A�>�D�L�|$(�g���H�D$H�HI9��z����@H�5���1����u#�\���@�Q����t3��uH����H�y	�I9�u�L�|$�&���A��H�|$(H�|$L�|$I�WH9�����I9�������?}��L�y�|$��L�|$(�x���=����A������A��I������Hf��H�D$0L9�s	�8}�����A��1���A�s1�g�|���A��I��1��k���M9�v0�BH���<�u� fD�H���<�t
H��H�T$(I9�u�A��L�|$(1��#���L�|$(�8}�Q�����(��������������A�����A��I������(��=�w
A��uA��L�|$(��L�|$(�:}�4�����(��1�=��������A�����A��I���|�@��AWAVAUATUSL��$���H��H�$L9�u�H��HH�4$�T$H�L$0L�D$8L�L$dH�4%(H��$8G1�HDŽ$0DŽ$H���MM���D�dI��I�H���hH�|$�8�L$��
��D��D$���H�D$�@@��������L$�ˁ���H�<$���H�D$H�4$H9p0��H�D$H�@(H�D$PH����H�L$PH��$�HDŽ$H�����HDŽ$�H��H�t$@H��$�H��H��$�H��@H��$H�D$DŽ$�H��$�H�$HDŽ$(L�DŽ$�H��$ �D$HDŽ$���$�H��$PH�D$XH��$�H��$H��$�H��$PHDŽ$�HDŽ$�HDŽ$�L��$HDŽ$0pHDŽ$�H�D$`H��$�H��$PH��$�H��$�H��$�H��$H��$H��$8@H�H��H9�u���K�����D�t$L��E1��D$hDŽ$��D$H��$���$���$�@D��%��$�t�D$�	�D$@��D��%=����$���uH�D$�@8��$��D$H��u
H�D$�@:�D$HDŽ$��D$H����H�}�Hc�H�>����v����	��Z���H�D$0E1����H�D$0E1��uH��$8GdH34%(L����NH��HG[]A\A]A^A_�H�[(H�D$��������E1��D$,�D$hDŽ$��D$H��$���$���$�L�$K�,H�D$ M)�I����K�,�8(�Z�D$,��A�<*�HI�X�H�-�(E1�M�u�@A��H��A����UH9�w�H�uK�<4��J��uԋt$,�ED�l�u
D�l$,K�,f���_���H�
9���Hc�H�>��E�L$h@��$��4����E�L$h��D$H� ����u	t$h�����E	�$�������PЀ�	��1�D�D$,�fD������#A��A�H���TPЉ�A��x�@��	v�A��D�D$,<)��f����f������$�D�l$,����M��H�\$ D��$��#���E1����H���H�D$P�E���L����IH�$�
���H�D$0E1�������tE1����L)�A��E1�DŽ$�H��H�D$8H�8H�D$0L��D��_��E1�H��$�H;|$`tH�D$L�$H�p�PL�$��$�vH�D$L�$H��$�H�p�PL�$H��$�H;|$X����H�D$L�$H�p�PL�$���L)�A��E1�DŽ$�H���Q���DŽ$�Ƅ$�H�$H�L$L)��A@H�PHE�H�P�D$tH��H�PH�,�L��$�H=�v*H�D$H��H�p�I��H���xH��$�D��$�I�*D��E��H��$8H��$���H��$ H��$�H��$��D$p�@@��$�1�A��HDŽ$@@�Ɖ�$���DŽ$$��$���$��H�	��M�bI�A����H9���L��$�M9��(	L��$@D�|$pH��L�t$@�(���$H��$8L�`�H9��	M9���H�GH��$8�A����$=�v1E��t,� ��H�W��H��$8�W%���?	Љ�$L��E��t�M�F8L��L���L����g���DŽ$�����DŽ$�����DŽ$��
f��$����DŽ$�Ƅ$�
����DŽ$�Ƅ$�
�����$�D�l$,���L)�A��E1�DŽ$�H������D�G�w�u1��A����?��A��D	�	�$H�GH��$8�����O��1��D�����?��%���	Љ�	ȁ�	Љ�$H�GH��$8���H���������DŽ$�DŽ$�H��H��$0H��$H�D$ HDŽ$�DŽ$�H��DŽ$�H�RDŽ$�H��H��$�D��HDŽ$��A��HDŽ$�DE��D$pE1�E1�E1�D$x1�f�D$LD�t$,E��H9���L9�$��rL��$��D$LA;@<�H�CH��$8��։�$���v5�|$pt.�� �|H�C��H��$8�C����?	‰�$D��$�E��tQH��$8��\uH9�v	�8E��
E����H�x�H+�$DŽ$�A��H��$�E1����D��$�E����D$,%�@=�@��	��)��	��\�1�D$,�@�"H��$H��$$E�H@H��H��$8�t$@A��j����$4^_���C���W���3����H��$8H+�$DŽ$�A��H��$��,���DM���$��w���H���I��I��a�����#�IH��$��u���������\�W�D$,��������Ѓ�=) ��= ���Bփ�v	��?��E����E��t��?����+�z�B܃�X�BH�
��Hc�H�>��H�D$ H��t�t$Lf;0��@A�$�E1�E1�E1�I��H��$8H���<���H��$XH��$,H��H��$8L��$$�t�����&AD��$$E����@��$E1�I��A�H��$8A�D$��A�$	��r���H��$8L��$$H��H��$L��$8L��H��$PH��$�L��D�H@�t$@jD�D$<�x�D��$4��XZE���� ��$��/ H��$PH��$8H9���?DŽ$\��$A�$E1�E1�I��A�H��$8����H��$8H��H)�H���^>H9��f2�<=w/��H��.H��s H��$PH���"t������>H��$8�\$,H��E1���)��t
�� t��	tE����C��^�aCA�H��H9��!DH�zH��$8�A����$=�v�|$p���\u�H9�v	�?E��H��H)�H���2�H�5����?����CH��$8H�xH��$8�t���A�:�E����?A�|$�*��P?E�<$��${�nI��E1�E1�H��$8�i���H�D$ A�H��t�L$Lf;��Bf�|$L��?f�l$LE1�E1�I��A�D$��H��$8����A�$����A�7��W���A�4��L���A�$�������C�K����������?%���	�H�C	�H��$8��$�k���M��H��D��$���A���W����A����?%A�����D	���	Љ���	Љʁ�	Љ�$H�GH��$8�l���H��H+�$A��DŽ$�H��H��$��'���DŽ$�1�H��f�D$LH�D$@H��L�ዔ$�H��$@L�@8�p�����$���"H���H�PH�H9�$��\f�|$L���pH��$8H+�$A�rDŽ$rH��$����H�T$8H�4$L����~A�É�$����D��$�����$�����A�$H��E1�I����$��O�����$�D�l$,���{���W������?%���	‰��	�%�	�H�C��$H��$8�x���H�D$0�y�t�H���$�����H���H��H�������$A�$H��$8I�����H��$8H9�v���Q����E������D$,������H��$�@\���������(�����H��$8H��H)�H��~	�8?����$�D�P����6DŽ$���$E���W���H��$8H����(�����H��H)�H��������7@��?t
@��*������O@��*����<������=�������C�R���1�A���…��A���H9�������<?�w<*�?+D�|$,f�D$LA�� �+��$�=������E1�E1�I����$�
�A�D$����fD��A��A��?%@����D	�D�G����������A��?D	�	�	�	Љ�$H�GH��$8���$�D�V�����A�$H��E1�I��D��$�D��$����H��$8H+�$DŽ$�A��H��$��7�������+����Ѓ�= t=) ������D$,��N����d���H��$8H��H+�$�H=�=	H�{�H+�$DŽ$�A��H��$����E1��V��D�K�G	����A��?%���	‰��D	�%�	‰���%�	�H�C��$H��$8����DŽ$�H�XH��$8�f�DŽ$��$��PH��=��4H�D$H��H�p�I��H��$�H���q��$��PH��1�L���N����$���t(H�L$@H��$�1�1�衁��A�É�$����H�$L��$@H��$Ƅ$P�H��$XH��$PH�L$xE1�H��$�H��$�L��$�H��$XH��$�H��$�H��$PH��$0H��$�P�t$HjH��$PH��$�PH��$hH��$�PH��$TH��$�P��$��}���D��$HH��0E����H��$0H�����$���$�H��H���H�D$H��H�p�I��H����H�t$f�Hǀ�M���H�F�oAB(AB8I�BH�D$P)$I�B�D$A
A�BT��$�I�B A�BX�F@I�ZHA�B\�D$h�$�A�BPERCP��I�BpA�B`��$�A�Bd��$�A�Bh��$�A�Bl��$�fA�Bx�D$HI�B|��$�fA�Bz��$�L��$(fA�����fA���DŽ$�HDŽ$�H�I���DŽ$H�D$ H��$DŽ$�HDŽ$�f���rH��$��$I���L�T$h�H�pH�D$PL�(�t$,H�͉L$H�D$,H��L��H��f��fA�$�L����$�+T$HI�|,��1�Hc��K���$H�D$P�H��$��L$L9���H�D$PL��$(E1�D��$��HL�(fD��$��L$,�H�AH�͉L$HH�D$L��E��I���#fDH�D$A�<u)M�A�D$D;$$tkA��I�_H��L��H���K����t�y�L���T$LE��I����$�D)�K�<4L�����K���D$L�$���H��$�E1���L��$����M��I�_��L�T$hH��$�L�$E1�H��$XH�D$ H��$P��A�zXj�t$Hj��$���$���$�L��$�H��$�H��$�H��$���H��0L�$��yA�J` ��$���$�fA�����$�fA�����$�fA�B|��tDŽ$HDŽ$8����A�J`�H��$PH�PH��$P�H��$0H��$PH+T$ H9�scDŽ${A�{H��$��D�DŽ$xH��$�A�xE1��#�DŽ$yA�y1�HDŽ$���I�JHD��$H)�H��H�I�BHE��u���$���$E1���A�ƅ���E�JXA��@�=E���+A�������$,���EA�B`��$@��A�Rp����A�r`t����2���w��$���2��$8���xoE�ZX�A��t��t��$H������E���3A�J`��$H��A�Rt@�΀A�r`�t���3��$�u�����2L��L�$�IL�$����H��$�A��DŽ$���H��$�A�yDŽ$y�}�H�T$@H�|$ E1�1�1�L�$��f��L�$�������A���E�JX���H�t$pH�|$ 1�L�$�(l����$,L�$��$@�������E�ZXE����1��$8������L��L�$��HL�$���&���A�B`@���A�B~9����fA�Z~���� �)H�z��H��$8�R%���?	Љ�$����{���H��$81�1�H��H��$PL��$$H��$P��b��������$���H��$�L��DŽ$�H)�H��H�����$������A�$I��DŽ$���������@%?��	��S����?	Љʁ��	Љ����	�D�����	�H�C��$H��$8��H��$8�����?��H��$8E�1�A��=���E1�E1�A�E�|��E1����H��$8����D$,���H��$���������H�D$@HH��$���#�5�H��$8�'H��H9�����$�H��H��$8����1H9�����$�H��$ ��u���$�H)�H��H��H9�w���$�@87u�������$�8G��H�����$�A�Ɖ�;�$(�$	L��$�E1�E1�H��$8��H+�$A�wDŽ$wH��H��$��{�D�D$xH��$��H��$8���{�����$�H��H�H��$8�f���������H��H��$8���A�$��D�����D$,�|$,A��E1�DŽ$���D�B�z���D������?������	�	�H�z��$H��$8��L��A��E1�DŽ$��.�H�D$@L��H�ߋ�$�H��$@L�@8����$I��H��$8�����H�_��$�H��$8�e��J��3D�����?��%���	�	ȉ�H�z��H��$8��	ȉ�$���DŽ$�E1�fD�D$L���H�T$@H�|$ D��L�$�Y��L�$��tDŽ$�A�����D��$E������E�JX�u���H�\$ D��L�$1�A�H����e��L�$H���I��A��M���(�A�HI�xD��A�@�e��I��H����A�P1�1�f����f��t�E����Ic�H��H��H����h9���D��1��Hc�H��H����h9�tr9�~Hc�H��H��`������D9�uʉ�D��L�$��L�$H���\A���DH�Ic�H��H��`H)�A����h��A������H��H��`H��t�H)������M��D��$E�������|�����$�H��$8��$��;�H��$8DŽ$��#�D��$�E�����H+�$A��DŽ$�H��H��$����H�D$@L��H�ߋ�$�H��$@L�@8� �����$I��D��$����x#�r��
�x)�m*H��H�xH��$8H9�w�H+�$A�vDŽ$vH��$��8�f���$,E1�E1�I��H��$8A�D$���$XA�D$������!�q����H��$�
�����m�H�_H��$8H9��O�W�B�<1��H�
����Hc�H�>���O��=�€�!��	�����DŽ$(H�_H��$8H9��7�)�-H��E1�E1�I��A���$(
 �A�D$�H��H+�$H��H��H��$8H��$8H�� A�D$�A�T$����H�_H��$8H9��z�G<<�<>��<=��H�L$@H��$8H��H�A8PH�A �)PH��$4PH��$8P��$�L��$hL��$x�)~��H�� ���wA�$�E1�E1�I��A���$ H��$8A�D$�H��$XH��A�D$�H�� A�T$���H+�$A��DŽ$�H��H��$��	�H+�$A��DŽ$�H��H��$�����>H�t$@H��$8H�F8PH�F H��PH��$4PH��$8P��$�L��$hL��$x�4}��H�� ������$�=���B��I�t$f�D$L��$�
�A�$��$�H��$�f='����$ ��$��r9�v�Jf��$�L��$�1�DŽ$(f���`D�d$,A��@�A@��$�A9E����$(��$�I������$(9����$ A�E9�u�I�uH��$H�)&��u���$�A9M�����E���fA�E�DŽ$�H��$8H+�$DŽ$�A��H��$��3�H��$8H+�$A��DŽ$�H��$���fDA���r�%��A����?%A�����D	���	�H�z��H��$8���	�	ȉ�$����$���D��$�D9�rzH��$�C�|-I��H��H�p�I��H������$�H��$�H��H���n;����$�vH��$�H��$�H�p�PL��$���$�D��$��Ѓ�E1�E1�H��$HH��H�$�E1�L��$�H�
��$ H��$8f�J��$�f�Z�Jf��$���H��$8H+�$DŽ$yA�yH��$�����H��$8VA��H���H��$,PL��$8�U��_AX���J��$(H��$8x:H9�����?)������H��H)�H��~W�G��0<	wL��$��|���DŽ$$sD��$$H�_�H+�$D��$H��H��$�E���������H+�$A��DŽ$�H��H��$����H�GH��$8H9��#�Gf�D$L<?��<*��L��$8AV���A��H��L��L��$,AU��$�L��$8��S��ZY����H��$8H��H+�$��$(��H��A�$�I��H��$XH��A�D$���$(H�� A�T$�A�D$�H9�v)�?)u$H��E1�E1�E1�H��$8���'����H+�$A�|DŽ$|H��$��~��H��H��$�A�sDŽ$s�]��H��$8D��$$H��E����H��H)�H��	���<R��<<���'<'��H�t$@L��H�F8PH�F H��PAUH��$8P��$�L��$hL��$x�vw��H�� ����A�$���$ I�D$A�T$H��$XL�`H��$8H�щPH�� ����E1�E1�I��A�A�D$��H��H��$8�E��H����H�t$@H���)H��$8L��H�F8PH�F H��PAUH��$8P��$�L��$hL��$x�v��H�� ��uH��$8D��$$������$ ����$ H��$HDŽ$(�Hc����0��	wS����$(��$(9�|܀9R����D��1����w���$�C�����H�7�Hc�H�>���A�$H��$8I�D$A�<$�������y���H��$8H9������{����<����'��A�'���H��D��$����H��$XH��$XA��H��VH��AU��$�L��$8�yP��_AX��D��$�t)H��$XH9�v�A9��4���DŽ$$��>����$$�0��H�t$@I��D��L��H�F8PH�F H��PAUH��$8P��$�L��$h��t��H�� �������!�A�$��$ E1�I��A�H��$8A�D$�H��$XH��A�D$�H�� A�T$�����H�t$@D��H�F8PH�F PAUH��$8PL��$hL��$x��$�H��L���Ft��H�� ���W�����h���A�>��<�{�����'�l���H�L$@H�A8PH�A �}PAUH��$8PL��$hL��$x돃�����E‰�$$����fDŽ$M��L��H��$,H��$H��$XfDŽ$,AQ��$(L��$�c���AZA[��������$Xt�������$���E1�I����$,A�\$�A���H��$8	�A�D$��b�����E1�E1�I��A�\$�H��$8�@��H��$8��I�L$��H����H+�$H�����H��$XA�4$���|iH�H��
H�����t?E1�I��A�����H��$H�H�5�����������A�$��y���H����E1�I��A����H��A�T$E1�I��H�� A�A�D$��{�����E1�I��A�A�\$�H��$8�V��D�|$,I�T$A��u[���A�H��$8A�$I���#��D�|$,A����A�$�A�I��H��$8������G����؃��	��������A�$�ٸH���ux��uP��t3A�D$
E1�I��A�H��$8���DŽ$$��X��E1�I��A�H��$8�d��A�D$E1�I��A�H��$8�A��A�D$E1�I��A�H��$8������H����>����H��H)�H��������&�����H�L$@H��H��H��$8L��H�A8PH�A �)PAUH��$8P��$�L��$hL��$x�ap��H�� �������A�$�H��$8�����H�5U��nH��$8�Å��J����)�@���H�GE1�DŽ$XH��$8�>uH��A�H��$8H��$8�?=��H�WH��$8�G��0<	�ARA������AUH��L��L��$h�J��A[A]������H��$8H9����?.t/A�$�I��E�t$�$XA�\$�A�D$�����E�����H�GH��$8H9����w�VЀ�	wvH�GH��$8�_�G��0��0k�
<	wH�GH��$8�G�\�H��$8H9�v	�?)�e���H+�$A��DŽ$�H��$����H����H����H�t$@H��$8�)H�F8PH�F H��PH��$4PH��$8P��$�L��$hL��$x�Un��H�� �������A�$!��'�A�$$�I��H��$8f�D$LE���HH�|$ �*H�D$ H�D$ H9�$���H�L$ �D$LE1�E1�E1�H��$8f��D$,f�A%�$�A�����-���D$LH�|$ �H�pH�D$ H�D$ H9�$��z�D$,H�t$ %�$f�f�F�F�|����$�E1�E1�E1�H��f�FI��f�Ff�Ff�L$L��$� A�D$��H��$8�Z��H������H��$8H+�$A��DŽ$�H��$��A��H��$H�D$ ����E1�E1�E1�H��$8���H�D$ D�D$,��@DŽ$XDŽ$,�^uH��A��W��1�H��$8H��$,L��$XH��$8H9��W���:�K��)�BL�OL��$8��SӀ�K��H��w��Hc�H�>��H+�$A��DŽ$�H��H��$��D���A��A�ˀD�L9��m����x�c����ʀH���H��$8�J���� �B���� �7�����,�����$���������@��$���������1�L����H+�$A�oDŽ$oH��$����H��$H�D$ ���H��H)�H���Z����G��0<	�K����K��$,��$X�ց����t��t
��$XD	��!�H9��u��H�WH��$8�?)tnf�L$LI��A�D$��9D$,�����A�D$E1�E1�E1�I���D$,H��$8A�D$�����H+�$A��DŽ$�H��$����H�t$ H;�$v�L$Lf;N�tH�t$ �L$Lf��x���H�l$ �m���H�_H��$8H9�����H��$@H��t�D$,tI�T$�H9���L��$@�G�PЀ�	�<)�DŽ$(H�5���D�GA9�������$(Hc�$(��H�Ѕ�u�H+�$A��DŽ$�H��H��$����=��A�$�f�D$LH��$8�O��A�|$���C���I���;���H������t�A�$���H9���H��$8H�HH��$8H9�w�H+�$A��DŽ$�H��H��$����A�$�1���QЀ�	w'H��k�
H��$8�S��D�=��
H9�u�A�D$I��H��$�^H�xH��$8H9�v�@9��R���H�������H��$H)�H9���H)�A�T$I��H��H��$XH�� A�\$�A�T$�H��$8H9�vH�?)uCH��A��E1�E1�H��$@H��$8H)�DŽ$��zH��$8�B����H)�A��DŽ$�H��$�����H)�A��DŽ$�H��$����H+�$A��DŽ$�H��H��$����A�$#�I��H��$8���H��H)�H������G<=t<!�}�<=�&��%�E�I�L$A�$H��$8L�aDŽ$�H��H+�$H��H��H��H��$XH�� �A�1H��$8�t���H��$8H+�$DŽ$�A��H��$�������A��A��?%@��D	�D�B��������A��?D	�	�H�z	ȉ�H��$8����	ȉ�$�M��H��$8H+�$DŽ$�A��H��$��A��DŽ$�M�����H���n�E1�E1�E1�I��A�D$������H��H)�H�����WH�Љ�$��)��H��$H�L$@H��$8�H�A8��PH�A H��1�PH��$4PH��$8P��$�L��$hL��$x�)e��H�� ���w�H��$8H9��Q�?:�H1�L�=JuDŽ$(H��t�-fDHc�$(H�ЋӃ�����$(I׃���H���$ 9�u�H��$HL������u�A��Hc�$(�����D�E��~������i=%���}="��������=#�����=$���H��$8H+�$DŽ$�A��H��$��a����$]ut��$�tj��A�$E1�E1�I��A����H��$8���H��$8H+�$A��DŽ$�H��$�����E���2H��$8�
�A�$��$M�l$E1�E1�E�����D$,t�� ����	����[����-����\��A���<��$A�A�]H��I��H9���H�xH��$8�A�؉�$���v�|$pu*��]�d���E����A�A���fA��� ��H�x��H��$8�@����?	É�$�H��H)�H���C����<=�8�����H��.H���%���H��$PH���@������
��$H��$8����H�P���������?H�x�ہ�H��$8	�	Ӊ�$�
���A9]��wwH��$A�]H��I��E1������\��H9�v	�?E��A�����A�}�\�/v�DŽ$$lH��$8����H���a���H��$�L��$$L��$8H��$PH��$L��L��H��D�H@�t$@jD�D$<L��$L��$蓯��A�Nj�$4ZYL��$���L��$�����$���H��$PH��$8H9���DŽ$\A����H��A����DA���m���A������A�E�I��A�E�H���h���A9]��JE��I��H��$8E1��G���A;]�tA�����A��g���A��uA�E�-M�eA�E
�E1�A�H��$8�I��A���H��$8%������E�A��FA���M�='����=(���=�������H��$8A�$"�f�D$LH�~H��$8=����I��E1�E1����PH�A H��1�PH��$4PH��$8P��$�L��$hL��$x�>_��H�� �����H��$8H9���<:t<)��1�L�-�pDŽ$(H�gp�0DHc�$(H��H�R������$(��IՃ���H���$ H�@9�u�H��$HL������u�A��Hc�$(H��$8��jHk��?:�T�����"Hk�E1�H�wH��$8�D=*�A�ŀ?:��A�$E1�H��$8L��$�I���g��H��$8H+�$A��DŽ$�H��$��V��E1�E1�E1��+��=&������A�$I�L$H��$8���A�$I��H��$8��H�|$ I�D$A�D$���H�D$ H�L$ H9�$��v�T$,H�t$ E1�E1��L$LI��H��$8���$f�Ff��V�������I�L$A�$)�H��$���$�H��$�E1�L��$�H��$8H��$�L�`DŽ$��/��H��$H�t$ �]���H�wH9�v�)teH�����S���Hk�E1�H�qH��$8�D=*�A�ŀ9:�S���=)���D�I�L$H��$��A�$��$��<���H��$8H��H��������>:t�H+�$A��DŽ$�H��$����A�}�\����������A�}��uA�E����$H��$8����H�y��$�H��$8�A�؉�$t}����:�� u6H�y��H��$8�A����?	�A����$tGA��s����Q�A��u>������?H�y�ہ�H��$8	�	É�$A��u�A9]��$��������q����������?H�y�������H��$8	�%�	�	�A����$�]���A;]�����������I���������?��@��	��Q%���?	�	É��%�	É�H�y��H��$8%�	É�$A������A���yu�������?�������	�%�	�H�y	É�H��$8��%�	�A����$������2���H��$8A����A����H�5�fD��Hc�H�>��H��$8A�����H��$8E1�����DŽ$A��tMH��$8E1��A����H��$8A�kDŽ$kH�x�H+�$H��$��Ͽ��A�}��J���E1����A����$����H��$8E��A��$���A���kA�G���w�H�
<fHc�H�>��A���I��E�}�H��$8H�U�H9��"�8-��x]�H��H+�$A��DŽ$�H��$�����fDŽ$M��L��H��$,H��$H��$XfDŽ$,AQ��$(L��$�J���AZA[�������$XtA��t3A���$��$,A���I��E�}���	�A�E�����A��˺H�5l�B����H��$8A�$��<���%�I�D$A�D$I�L$DŽ$��D$,uX��H�PH����E1�E1�L�bH��$8A��Ŀ��H��$8E1�H�X�H��$8�8:A��A��p����H��H�PH�0�A�D$#�I�D$�x���H��$8�H�58k�\������H��$8���H��@������$��V9�vf�FH�D$ �@��$����H�BH��$8�A����$=�������|$p��� uJH�J��H��$8�R%���?	Љ�$�ſ��E��H��$8����fDA�=����D�B�z��D������?H������H��$8��	�	���$�b���H��$8A���v��I�D$�H;�$�r�H���PH;�$�s�H��$�I����A�D$���n���DŽ$$mH��$8�
��H�XH��$8����H��$����9��)����0A�B`���H�T$@H�|$ E1�1�1�L�$�6��L�$���<��A�J`�/��DŽ$$zH��$8����r��yD������?H����%H��$8���	ȉ���	��	ȉ�$�+���@H��$����9������ɀA�J`����H�GE1�H��$8��A��H��$8������?:�LH�G1�H��$8�^uH���H��$8L��$8L��$PE1�L�uc�H��$�L��M)ى�$M�܉�L��$M��D��$��!���I��H�lH�cB�8������9�$�u�D��H��L������u�H��$�A��H��$PE����$L��$H�BH�M�H��$8H9�s
�z-���D$,t*E�H�5jaIc�A����Ic̋����B���"��E�}�I��E1�f1ҁ��A�U��1�DŽ$$q���H��$8H+�$DŽ$�A��H��$��Y����z]�b�������H9������P��������H����H����������H��H��$8H9�u���������]�
���$����H��$8����]u��$�t��H��$8�q���H��$8����D$,H�L$ %��A�D$,�A�t�Q;�$�v��$�A��fA��A��A���tA�$�I��H�D$ H;�$tH��H�D$ �Ҽ��H�D$ �ļ����$]�*���$���E���<�������A���J���A����?H��%A�����H��$8D	�	ȉ������	ȉ��	ȉ�$闺��I�U�D$,��A���E�}I��� ���H��H+�$DŽ$jA�jH��$��Y���H��$8H+�$DŽ$�A��H��$��+���E1�E1���H��$8H+�$DŽ$�A��H��$�����A��H��A��?%@����D	�D�B�����������H��$8A��?D	�	�	�	ȉ�$釹����I��E1����A�]������I��E1����	�A�]�A�U�����p����������?H�x�������H��$8	ˁ�	�	Ӊ�$���D�����	����A����A�ED���H���uy������tdA�E
I���\���A���xu}������?�������	ˁ����	�H�x	Ӊ�H��$8��	Ӊ�$�6�I������A�EI�������X���A�EI������������?��@��	��H�������?	�	Ӊ���	Ӊ�H�x��H��$8��	Ӊ�$��f.�@��SH��H��t;������w,H�Vc��Hc�H�>��fD��H��H������[����!����H���su����H�5c��Hc�H�>��f��1�[�fD�1�[�fD����1�[�fD�1�[�fD�-11�[�fD�1�[�fD��1�[�fDH��tSH��H�5Rb��[����H���'H��H�0�[���f�H�q�'H�8����[���@�[Ð軇H������[��ø���[�����
�����������SH��t&H��H�v�H��t�oH�SH�P[���[
��H��t�H�
����H�@H�H�
����H�H[����ATH��H�p���I��UH��SH���HD�H��H�b���H��HD��H��tH�H�hL�`[]A\�@��SH��H���H�;���H��tiH�
���H�(NH�5���H�@H�H��H�pH�@H�@ H�P(H�@0����H�H8�@@H��t�oH�SH�P[�ff.���SH��H���`���H��t~H�
���H�5����H�-1���H�@H�H�pH�@H�@ H�@(H�@0H�@8H�@@H�@H����H�PP�@X���H��t�oH�SH�P[�fD��SH��H��� ����H��t?H�
���H�5��H�/\H�@H�H�pH�PH��t�oH�SH�P[�D��SH��H�w��H��t�oH�SH�P[����SH��H�w�H�H��t*�o�oKH�oS P �o[0X0H�S@H�P@[�ff.����SH��H�w�`�H��t4�o�oKH�oS P �o[0X0�oc@`@�okPhP[�f���SH��H�w� �H��t�o�oKH[�fD��H��tH�w�g�ff.�@��H��tH�w�g�ff.�@��H��tH�w�g�ff.�@��H��tH�w�g�ff.�@��H�w(1��D���F���wf�w81��D����f���H�w01��D���F���wf�w:1��D����f����w<1��fD���w@1��fD��H�w1�H�W Ð��H�w(1�H�W0Ð��H�w81�H�W@Ð���wP1��fD���wT1��fD���wX1��fD��H�wH1��D��������1��f����F҃�v��\u�w1�ø��������wDUH��S��H����u�]1�H��[]�f��k	����H��Pu۸����f�����f.��[^L�L�Wf�GH�GI9����OM�AA�	I�JL9�v�GM�AA�AH�GL�H�O��t#I�RH�WI9�sGI�@H�A�\H�OL�H�GH��H�OL9�v(I�@H�A�0H�H�GH9GvH�PH��]��I�JH��H�O�I�JM����H�H�wH�OH�(*COMMITL�OH�G�fDH9�vD�H��H��D�B�H��u�I�A	H�H�GH9Wv
H�BH��)Ð��AWAVAUATU��S�Ӄ���H��xH�|$0H�t$�T$dH�L$L�D$ L�L$dH�4%(H��$h1��\$`�\$CH����#M����#�Ѓ�����!�9�����H�|$���H�|$�>
D�t$`E����H�D$H����H�H�D$8H����H�D$ L�0H��$��D$lH�D$P�l$hH�D$�D$XH��tH�8�����D$X�D$h���K�������9H�D$ H�����H��$hdH3<%(��$H��x[]A\A]A^A_���D$d�5���H�t$H�|$0H��$��0������H��$�H�|$ H��@H��$A�dH�D$8�����H�|$L�|$0L|$D�l$`�_�G�|$d��$�A�܉���$��� �t$D@�ƃ�@@����$���$�E���	��H�=Z�Ɖ�$����H�|$P�HDŽ$�H��H��$���H�WDŽ$�(?s)����$�H�D$8I�H��$�L��$�f�I9�v�2H��H��@�p�H��u�H�|$0H��$�HDŽ$�L9�s@���*u8�l$D���|��$���u!H�t$0H�~H�|$xI9�v�^��*tVDH��$�A�\AfD��$�H9��8H�|$0H��$�HDŽ$�L9��!H��H�H�|$x�D�T$D�H��$�DŽ$��L�t$0�D$(��E��DЍB��$�H��$���$�H�H��$�����?����[��E���5A8��,M9���
A�^I��L��$�H��$�H��$�I�M������H�=XH�L$pH�T$H���H�T$HH�L$pH����H��$�H9��aI��L��$�DM9���A�M�n��*�>���D�L$(E��t*H��$�H��$�H;�$�sH�PH��$��)D��$�E���YM9��PA�~*��M��T$D���N�D$(L;l$x�t�����$����|
H�|$P�z����D$(D�l$DE���H��$�H��$�H��$�H��H��$�H9���M9�Ƅ$�*Ƀ���+��$�H9��lH�J�*H��H9�s��$�H�J@�rH��$�H��$�����H�EH��$��E\H��$�H��$�H��$�H�HH��$�H9��s���H�EH��$��]�_����M�������M9��WM��D$D���yL;l$x������D$(��$���$�H�|$P�m���H��$�H��$�H��$������l$D����H��$�H��$�M��H;�$������H�PH��$��.���fDM9���A�N��!����^��H��$��D$pH��$�H;�$�sH�PH��$��[A�N��]��1�E1�1���$���D��A�����\$H��$�=�����|$C��A�U�� �G����?M�u%�	Ѓ�]�MM9����[����-��A����A���]��H��$�H��$�H;�$�sH�PH��$��-A���=����|$C��A�N�� ��	����?M�n%�	�M9��d@��t
9D$H�m��[�D	9��L	L��9�M��I��A�s
9�sA�D�H�H��$�H��$�H��$�A����H��H��$�H9�v'H�QH��$��\H��$�H��$�H��$�9øDD���H��$�H��$�H��$�I��H��A�E�H��$�H9�vH�QH��$��M9�r�M9���
A�M����=�����M�u�6���@H�D$8H�|$ H�t$N�\0�H�7I9���H�D$8H��RH�X�(�*I9��_H��H���C����u�H�|$�)�D$dL�d$01�1�L�T$8L�t$E1�A�׃�A�,$�D$(�D$DD�L$XL���D$HA��DH��H)�I�E��IEځ���T�|$C�IA�D$A�� �y����?A���	�K�,M)��+A����H�߃���J�/I9�rD��E��t1ɉ΃�E�,4D�,79�r��D$(�A�DM����*I��1�A��H��H���9���f�H�	�'H�D$����H��H�����@�����.���fDH�BH��$��.H��$�H��$�H��$��%���@��x������H�D$ H����������fDH�H�\H9��v��$�H���P����@M�nM9���\$DA�[^fD��$���u'H��$���Hc�$���$�@���H�\$PH��$�H��$�H��$�H��$�H�K@H9�vD�H��H��D�B�H��u�H�$�H��$�H��$�A�N�D$p����9D$Hu	@������A�����@��-�c����&���f.�A�>:u�I�vH��$�H��$�I��H��$�H��$�M9����E�VM�ND��$�A��aA���#M9������I��E�Q�E�Z�A��v�A��:�����M9������A�9]�������$�A�aL�
�NDŽ$���$���$�D8�u9L��$�@��:u�If�<:�8I��I��A�E�D8�t�A��:tDI��A�9:u�L�ȃ�$�I��D�XE��u���$���$�����f�A�u�������?��M�u��	Ɖ�%�	����f���]��A����A���CA����H�ރ�\��	J�.I9�����D��E��t1ɉ̓�E�,,D�,.9�r�I��M���Y
A�,$1�A���U���f�A�K�,M)�����A���a����E܃�Y����H�=�MHc�H�>��@�D$(��*��
�|$D��uA��v4��(t/A�H�CI9�����@�+�l$(�����D$HD�|$DE��u�I9���H�{�\�\���@�t$D��u�E�����|$((��H�=�L��L�T$xL�D$pL�\$XD�L$8H�T$(���H��H�T$(D�L$8H��L�\$XL�D$pL�T$x���z���M���#�D$DD�*����A��~��A��H�=�LL�D$x��L��$�L�\$pD�L$XH�T$8�w���H�T$8D�L$XH��L�\$pL�D$xL��$���L�T$xL�D$pL�\$XD�L$8H�T$(��H��H�T$(D�L$8H�L�\$XL�D$pL�T$xB�Dh��H�AI9�������:I��H��@�9�|$(�=���D�D$D��������D$H���w������D$H�B���@@��t�|$H-��-A��-H��$�H��$�H��$�����M�n�J����D��A�u���&����?��M�u%���	�D���	Ё�	��a����A���=����|$C��A�N� �w����?M�n%�	�M9��%L���M��A�I������A�}:�����DM�������A�T$A����������?A��͉�	ʁ�	��h���DE�N���
����A��?M�n����A	�D	��������E�U����A��?��M�u%���A��D	�A�����	Ё�D	�	�� ���fDH�|$0�f�H�D$��@H�|$PƄ$�>�(?H��$�H��$�f��$��L��$�H�ODH9�v�9H��H��@�z�H��u�I�@H��$�H��$���$��D$(��f.�A���[�����A�H�������$���$�M��H�|$P����A�L$A��������?��A�����	�Ł����	�	�����M��jH�|$ L��H+T$0H��{��j��M�n�]���f�A�v��[������?M�n����	�	��n���@E�F������D���M�n�����%��	�D�ƃ�?	�	����M�n�!�����������L��$�L�D$xL�\$pD�L$XH�T$8���H�T$8D�L$XH�L�\$pL�D$xL��$��Dq�q�����:�a���M���X����:]H��A��Y���I9��%���H�C�:I9�����H�C�C]I��L�bA��Q���f���:����A�����@A�M����M�u%@��?A����?A���A��	���A��	��A	�%�D	�D	��#�f�A�L;l$xtE1���$�A8F�A��L����P��*��L��L�pM9�w�H��$�H��$�M��H��$�H��H��$�H9�sH�FH��$��H��$��T$X����H��$�H+T$8H9���M������}���DE���OE���FA8��L;l$x��	H�|$P�8���$�A:�
�.*H�|$PƄ$�?�f��$�H��$�H��$�L��$�H�O@H9�v�9H��H��@�z�H��u�I�@H��$�H��$�DŽ$��D$(�z�f�I9����H�C�]A���DH��$�H��$�A�\]fD��$�H��$�H9���H��H��I�EH��$�H��$�I9��
A�M�]I��A���@A�~*M��t�O��A�>*�D�I��M9�w����A�E��=����|$C��A�M� ��	����?M��I��%�	��Y�DI9����H�s�\����A��A�|$� ����?��A���%���	�����	lj�	ׁ�	����DH��$�H��$�M��H��$�A�\zfD��$�H9��MH��H��D�D$(H��$�H�AH��E������H��$�H9���H�AH��$������H��$�D��A���H��$�H;�$�sH�PH��$��]�D$p�$���@���?�H�|$PH��$�DŽ$�(?<!�H��$�L��$�H�OfDH9�v�9H��H��@�z�H��u�H��$�I�HH��$�H��$�t<I�HH��$�H9���
H�BH��$��\H��$�H��$�H��$�L�AL��$�H9��d
H�BH��$���$��H��$�H��$�H9�$��I�H�PH��$��)�5�DA�~��{��E�F������A��?M�n%�����	ȁ����D	���	�	�����@��A��E�F�N��A��A��?M�n���A�����D	����A	�%D	�	��L��H�p�\H��H9�v��$�H�p�PH��$����@H�H�\H��H9��#�����$�H�H@�p�����E�l$������@%?��A��?�����A	����A	��A	Ձ�A	�D	�A���fDI9��W�H�C�[M���.�j�u�D������?M�n%�����	ȁ�	�	��~���@��A��M�n����A�NA����?A��������D	ʃ�?%@A��	�	�D	�	�����H��I�ԾA���h�@H��H��H�D$x����Ƅ$�\�>�L;l$x��H�|$P��E�����������DH����M��I����@H�|$H�|$ ��H��H����%H�\$H�;�L�|$ H�t$I�H�<� �z��H�����H���|$lH�D$8H�I�H�D$(L�pu��������D$l��H�FH��$��)H��$�H��$�H��$�H���P���H�D$ H�������f.�M�jI��H���H��$�H��$�H��$�I��H��A�V�H��$�H9�sH�AH��$��M9�w��L$p��t1�M��E1��#�fD��$���
��H�=�?Hc�H�>�����H��$�M��A�H��8�u��$�_���DA�����H��$�H�D�8fA��E��fD1�M��E�����E1���`�H��$�H�D�8fA�� E�����?�H��$�H�D�8A��E���� �H��$�H�D�8fA��@E�����H��$�H�D�8fA��E���h������H��$�H�D�8fA���E���D�����H��$�H�D�8fA��E��� �����H��$�H�D�8A��E�������$�<	A��< ��A	�E�������R�H��$�H�D�8fA��E������.�H��$�H�D�8A��E�����1�M�������H��$�H�D�8fA��E���k����D$(��$�DŽ$�A:���A|H��$�DŽ$�(?:\�f��$�H�|$PH��$�L��$�H�OfDH9�v�9H��H��@�z�H��u�H��$�I�HH��$�H��$�t<I�HH��$�H9��H�BH��$��\H��$�H��$�H��$�L�AL��$�H9���H�BH��$���$��H��$�H��$�H9�$�vH�PH��$��)fDI���D$(DŽ$����@�D$(DŽ$�8�$�������A�u��S������?M������I��	�	��m��
��^�@��]��I��A��V�1��'������M�n%@��?��	�A�F���A��A����?	�	Ɖ���%�	�D	���H��I9������$�A:~LD����H�\$P�*?DŽ$�(?:.�H��$�H��$�f��$�H��$�H�K@H9�vD�H��H��D�@�H��u�H��$�L�GH��$�H��$�t<H�WH��$�H9���H�PH��$��\L��$�H��$�H��$�I��L��$�H9�v/��$�H�PH��$�@�8H��$�H��$�L��$�H�|$PƄ$�?�)?f��$��H�O�H9�s�9H��H��@�x�H��u�I�xH��$�H��$����H��H)�I�H�|$ H�|$��L�����A����D��$��������� ��E�E�uj����A��?M��%�����I��	ȁ�D	�	���I��I��L��$��	�L�l$0��D$(��I�Ƹj����E�M������A��?D���%��M���������I��	�D	�	�	��|�H��I�Ծ���I��H��L+D$8���L�GL��$��m���I��I��L��$��R���I9����H�K�\��I��I9����H�C�C^M���h����JH�����f.�����M��I��%@���‰�%?	�A�U���?	‰�%�	�D������	�D�����	����e�r��I9��1��]L�bI��H��A��n��J�H���:��f���H��H��tH�w�H��`�f��f.�DN�UI���SA�;vH�\$��F�TB�lA��A	�Mc�L�M���M����H�pI�p H)�H)�H�P0H�H8B�TB�L��	�Hc�H�P@B�TB�L��	�Hc�H�PHA�;vto�@B�TB�LI�����	�Hc�H�PPJ�T
H��H�P`H�H��H�PX[]A��DL�a�E�RvL�M���M���N���1�[]�@B�TI���H�@PH��H�@`�PH�@X[]A��AVAUATUH��SL�7I�H��t�X���XH�E1�[]A\A]A^�f�E�nI��H�RXI�D$PA�����w7E�A��D��H�H9�vA��A)�D�덆���H����H9�rNH���#f�H����H9�r�H�������A���I�t$A�$H��t!Ml$XH��XI��S���������U��������K���fDAWI��AVAUATUSH��H��8H�|$ H��$�H��$pH�T$HH�t$XH�s(H��$��ShL��$���$�D��$�H�|$PdH�%(H��$(1�H�K H�t$@�spH�L$hH�K�t$��H�L$0�J�t$`�Kh;S`��M�H�L$x9Cd��M��$x����*�H������)ʍR�����$���H�s@���H��$�H�w)�H�t$pHc‰D$H�@L��A��P������|$x��Ps��v��x<���L��1�H�|$0�t$�>�L���AH��H)��D�҉A�A�Gf����IǸA�?x�jD�R9�|��D$<���H��$(dH34%(�D$<��bH��8[]A\A]A^A_�L��1���Bf����H9�HB��Bf����H€:xtۋD$`���H�|$hH�T$H1�H9�sLH��tG�H�B�H9����R�����t��f��������H��H9�u�H�D$hH��H�D$HH�D$ H�|$HH9x0vH�x0L��E1�L�D$0D�L$�J@L��L)ǍL9A�zE9������BA��H���J��)��J�A�Gf����I�A�?xu*1�1�A�}u�A�Gf����H9�rϹ��IcڋD$`�D$�D$<������L��$�M���D$g�D$g�D$|H��$�H��@HH��$�H�D$PH��$��H�D$HH�D$(1�H�|$ H�L$(H9O8sH�O8H�t$P��H�|$@�D$�����D$8�H�[I��D�VH�D$H�D$(H9�sl�8���|$����0�|$g�%�@@�� �H�\$(�S@����
�L$����?�D$8%�����	�	‰T$fDE���G;�t$E��L�l$pDŽ$�DŽ$�M�����F�D$I�E1�1�E�����$��������)‰����$�H��H��$��UfDA�@����A�T$D9d$������A�H�|$A�mA�E�D$I����A�M�A�ԅ�E��|$A9�~GHc�H�@M��A�(��x���ts�S�L��H�RI�T��f�H��H9�tW9(u�A�p9pu��A9��E���G:HcD$8�|$L��Ic�HD$(H�D$PI��L�|$p�|$�H�T$p����Lc�L|$0�D$8A�I�Ӆ�uH�29�<�DD$�D$H��9���tqA�D�L$`���E��t+=�v$A�t� ������?%�	�@A��Tv1�P�w)H�
�/Hc�H�>���D$<����s���@�����1�A���w�H�=�/D��Hc�H�>��A�Gf����I�A�?xt�A�FD9t$����H�t$L+|$0��A��D�>H���F�H�t$�R�����A�(�_���A�|��E�L��Z
����A��?��%������D	�	Љ���	�����Ic������D$8����H�D$HH��H+t$hH9�HG�H)�H�D$H�7���H�\$ �Cl@���f�A�Gf����I�A�?xt�H�D$PHcX�I�څ������H�[H�t$pL�߉\$H�����D�T$I���r���A��|���A��h���A��T���A��,�v���A��@�j���������?�����	���	���������?�D$8����	ЉD$������'���1�A�~D9t$�l���H�t$D�D$8�U�H���F�E����.�T$���
3���� ��2�<D�L$�A�����1�A������1�A�vD9t$���H�L$D�|$8�U�H���A�E���a.�|$��
��0��1҃�
��A��A��HDL$DE�H�L$A�L$D9d$������A�E��A���A�UI��A�E����1�A�vD9t$�L���H�L$D�D$8�U�H���A�E����.L�{�Hc�$�A�PL�g����$�A�
Hc�A�PL�RH�E�N���yDA�WL�
�3Ic�L�>��E1�A�VD9t$�����H�L$�E�H�A�A�L$8����-A��D�D$|H�L$@L��$A��HDD$�|$L��$�DE�Hct$8Ht$(DŽ$H�D$H�D$ H�P �lA�T$D9d$�.���B�D=I����A���A�E�L��$�A�E�$A�E��T���1�A�vD9t$���H�|$D�L$8�M�H�O�GE���-�|$����:� �|$��( ��@��@��������9��Y#A���A�|$A��HDL$AD�D9d$�d����DI����H�L$��I�E�A��A��A�E�����D$<�6���1�A�~D9t$�����L.H�t$��$���L$8H���F�����+�������tj����/�|$g��/���PH�
$�I��Hc��Q��������A�э��)�H�
��D�Hc��QH�RH���D�L�A�D�ɋT$9���9���	�A��:��8��""A��-tA��GHDt$DE�H�t$A�GA�PA�L$f������9��2D9d$������$�I����A��A�E�A�E��W���E1�A�~D9t$���H�L$D�L$8�t.�1H���A�E���?*�����E��to����1�|$g��1���PA��L��I�A��A����Hc�A�PF�A��E)��D�L�ĊHc�A�PL�RH���F�L�A�D��D�L$A9���A9���	�A��:��8��� A��,��0A��F��0A�D$D9d$��A�u��I��A��A�E�A��H�L$�?���1�A�ND9t$���T.D�D$8H�t$�H���F�E����*�������tk���e0�|$g�Z0���PA��H�=ܜI�A��A����Hc��WB�<��D)���H�=��Hc��WH�<RH���D�L�A�D�ʋ|$9���9���	�A��:��8���A��*��/A��D��/A�D$D9d$���A�m��I��A��A�E�A��H�t$�0���1�A�H��~/A�VD9t$���L�L$�t.A��A�1I��A�A�L�L$D�|$8E����'�������tc���Z.�|$g�O.���P��H�5��I������Hc��V�48��)����H�5��Hc��VH�4RH����|�lj��t$9���9���	�A��:��8�����~A��+��0A��E��0��A�D$D9d$���A�m��I��A��A�M������H�|$ 1�f����������A��H�L$������
��@��@������T$��/ �@+��D�L$�A��_ t1�A��0�ƒ�����9���A���A�T$A��HDt$AD�D9d$��D
I����H�t$��I�E�A��A��A�E��C��	����떁� ������녋|$�������r�����������A��H�L$��@H��H��H9�v	H9���H�T$H�G���D��$�E�L�H��D�����?%��	Љ����	Љ����	Ћ�$�����	���H�\$(�s@���FH�\$(���L$�{�{-������?�D$8��%���	ȁ����	�	Љ��	‰T$�A�A���t,A�VD9t$���H�t$�MA�։H���F�H�t$D�L$8E���q3�L$���W3��#�� �H3��$�L$����t1ҁ���ƒ�����9��x'���n�L$8���>3�T$`���39D$�#;�|$����:��H��$��9���>���!�|$8A�H��������f6�|$9���9���	�A��:��8��E#�����A��
A����A��
��A����|$8A��
����3A�H���(�|$g�(���PA��H�=��I�A��A����Hc��WB�<��D)���H�=d�Hc��WH�<RH�R�D�L�A�D���8���E�~D9t$���H�|$�U��T$8L�O�G���B-����,�|$���*����*���	�*��E��L�L$���L$8����09D$��0A�D$D9d$�W��T.I����A��A�U�A�E���E�xE��~,A�VD9t$� �H�t$�MA�։H���F�H�t$D�D$8E���@0���Z/�|$���/����/���	��'����A�oH�D$Xf��H��$�@��L�=���,H�t$X��-��V�FH)ʀ}xL��I�Pu�Ef����Hŀ}xt�H�D$(L��$�A�D��$�H��H+L$h�t$X��$�VL��h�RH�|$@H����H��$(H�� �B�����/D��$���L��$�D��Ѓ�8�t/D9t$���H�L$H�EH+D$0A���H���A�H�L$����H�D$XH��$�@=�w?H�T$ H��$�L��$�������H��$L��$�H�D$X�@H�t$X��-�L��$�A��V�FH)�H�,�H�T$(I��H��H+L$hVL����$�PH�Eh�PH�|$@�e�H��$(H�� L��$��B�����+�����+�D$<���H�T$A�ND;t$���L��H+D$0H��A�΃��B��B�A�Gf����I�A�?xt�H�T$�����H�D$XH��$�@=���)H�t$X��-�DŽ$��V�FH)�H�,�H�}H��$�A���uDŽ$�I��L�\$(L��$�HDŽ$�L��H+D$h��$�L��H��$��t$XA�I��H�ڋ�$�L��Ph���$�H��$H�|$@��H�� ��� H�EH+E�� H��$�H�럋T$8���4���v%�|$g�k%���P��H�
��I������Hc��Q�8��)����H�
�Hc��QH�RH�p��|�lj��L$9���39���3A�D$D9d$����T.I����A��A�U�A�E��'�H�D$hH�$�H9D$(�m �����L$8����(�D$=�w&H��$�H�
�%�"H�
y%:��9A�D$D9d$�_���I����A��A�m�A�E����t$8���A,�|$��3,�D$H��$�H�
%%�"H�
%:�^4A�D$D9d$�����I����A��A�m�A�E��*�A��
����A��
����D�D$8E���2(�D$=�t����
����A�D$D9d$�x���I����A��A�m�A�E���D�|$8E����#L�|$ �|$L��$L��$�D�D$|H�L$@DŽ$I�W Hct$8Ht$(�d\H9D$@L��$�wA�Gl �DD$�D$A�D$D9d$�����$��I����A�m�A��A�E�A�U���D�|$8E����H�D$ �ptH�P(���z(H;T$(�*8�����H�t$(H9t$@��)H�D$ �@l ��DA�FD9t$�N�H�L$����A�Ɖ)H���A�H�L$��A��p��'�D$8M�O!���S�|$���31�A��o��A�	L��H+t$0���b����3H�=�!��Hc�H�>��H�D$X1�H��$E�_H�D$ fA��E��L\$0L9XtA�Kf����H�D$X�@=���'H�|$X��-��W�GH�D$ H)�L�<�H���I��@H����H��H�|$(��H�H����9Hu�H9xu��D$<�����A�H��~,A�VD9t$���H�|$�uA�։7H���G�H�|$�t$8���N-H�5%�Hc�$��VH�5{���$�A�
Hc��VH�4RH���H�4���3A�WH�=� Hc�H�>����A���t,A�VD9t$�V�H�t$�MA�։H���F�H�t$�|$8����+H�
�Hc�$��QH�
lz���$�A�
Hc��QH�RH�K�H���4A�WH�59 Hc�H�>��A���A����O$A�VD9t$���H�L$�t$8�E�H�A�A���81A���A�xHDD$DŽ$DE�$�H�D$H�D$ �|$L��$L��$�D�D$|H�L$@H�P Hct$8Ht$(�XH9D$@L��$�wH�D$ �@l �DD$�D$A�G��$�A�L$f������9���D9d$��������A�EI��)�A�E�$A�E���A����A�@��~,A�VD9t$���H�t$�MA�։H���F�H�t$�T$8���##�t$��
��4�-1҃�
����~A���u
H�l$A����A�L$D9d$����A�E��I��A�m�A��A�U��]�A�H��~,A�VD9t$���H�|$�uA�։7H���G�H�|$D�L$8E����*�t$����*���� ��*�T�|$����t1ҁ���ƒ�����9��+����������X�A�����&A�VD9t$�6�H�L$�E�H���A�H�L$�L$8���i&�L$��
�%,�W1���
�YA��A���u
H�l$A��A�WA�HA�t$f������9��1+D9d$��������A�E��I��)�A�E�A��A�U����A�v��$�D9t$�u�H�L$�T$8�u��$��1L�I�A����(A�p��$�����$�|$��j$���a$���	����D��$�L�L$�\�A�Gf����I�T�:xu�Bf����H€:xt�A�ND9t$����H�t$H��H+D$0����A�ΉH���F�H�t$���D$8���U*H�D$ �ptH�P(����H;T$(��*H�D$(H�L$ H��H9A(w�Al t�At��u
�yx�<A�D$D9d$�6����I����A��A�m�A�E��s��D$8����&A�D$D9d$������I����A��A�m�A�E��9�D�L$8E����"H�"�Hc�$��BH�u���$�A�
H��BH�@H���H����2A�GH�
	Hc�H�>��L��$�H��L��E1�H��$PL�D$0H�L$8H�T$XH��$����_AX���d�L��$�u-D9t$���H�D$�$A���(H���@�H�D$���P�L9�$��S#A�FD9t$����H�t$�U��FA��y��0A��9D$����A�G��f����)�H�D$�hH���@�H�D$���E�xE���eA�VD9t$�e��H�t$�L$8�E�H�F�F���-A���HDD$DŽ$DE�H�D$H�D$ D�D$|A��L��$H�L$@�|$L��$�H�P Hct$8Ht$(�BRA�D$D9d$������$��E�}��A�mA��I��L��$�A�U���E�~D9t$����H�t$D�MD�H�n�F�t$8����&����%�|$��]&���T&���	����E��H�l$����|$8����9D$��A�D$D9d$����T.I����A��A�U�A�E��U��H�|$(H9|$h�
���=���|$8����$A�H��$����Z$�|$���#���x#���	��������H�D$(H9D$hsOL�@�H�D$ L9@0vL�@0H�D$(�T$`�@�A�����H�L$ �Ar��!H��$�����u1ҋD$8����H�|$ H�D$(H9G8wD�|$`H��E���E.H�t$ H�F8H�D$ �@r�9!�|$_�a-H�
;�Hc�$��AH�
(q���$�H��AH�@H�
��L�H�!n���������1ƒ�A����8���*A�FD9t$�v��H�|$����A�Ɖ/H���G�H�|$���I��E�D�ȃ�<�t�A��=�����A�xA�� ��&����?%�	�H�t$ �Fr�r =���������fDA�VD9t$����H�D$���(H���@�H�D$A�Gf����I�A�?x�V��A�����H�D$ �@l��G$D�\$8E����H�D$ H�P(�@pu�pt����6H;T$(��6H�D$(H��H9��)H�D$ �@l�0��9H�t$ D�NtE���.:H�L$ �yx�:���o��DD�\$8E����#�D$��
��#��
��
�r
A�D$D9d$������I����A��A�m�A�E�����|$8���D�D$=��	��	�� ��	��	�D$=���	=���	A�D$D9d$�]����I����A��A�m�A�E�����t$8���� �D$=�
�5
�� ��	��	�D$=���	=���	���H��D�L$8E����"�D$=��y�a��
���gA�D$D9d$������I����A��A�m�A�E�����A�P��~,A�ND9t$�y��H�|$�uA�Ή7H���G�H�|$D�|$8E����t$����9$�w�N������Ƀ�����9��-���n�����A���t,A�VD9t$����H�t$�MA�։H���F�H�t$�T$8����L$�����#�1
�Q������҃�����9��k������A�ND9t$�~��H�D$���(�@A�Gf����I�T�:xu�Bf����H€:xt�A��9L$�6��H�|$H��H+D$0�����GH���G�H�|$�f����$����V��A�GE�_f������$�A�C�<��A�Cp<�+*A����!*A����PA����FA����H&A�Gf��A����R$I�O��L�<H�D$XH��$�H��$�@=��4H�|$X��-��W�GH)�A�?xL��I�PuA�Gf����I�A�?xt�H�D$(L��$�A�D��$�H��H+L$h�t$X��$�Wh�RH��$�H��H�|$@�I��H��$(H�� �B�������D��$���L��$�A��~A����8��
/D9t$�[H�L$I�GH+D$0�H���A�H�L$A�������@H�L$(H9L$h��
�����H�D$ �@l��G
D�D$8E����H�D$ H�P(�@pu�pt����5H;T$(�Q5H�D$(H��H9��r3H�D$ �@l�0�Z3H�|$ �t���3H�t$ �~x��2�����@H�L$(H9L$h�)H�|$(H9|$@�H�D$ �ptH�P ����H;T$(�� ��������A��H�L$�����A��H�t$�����A��H�t$�����A��H�t$�����A��H�L$�{�����s��A�T����%@����?	Љ���?	Љ����	Ћ�$������	�D�����	��*���L$����?��%����D$8����	�	�	‰T$�����( s�� ��
���������9�����A��H�L$���1�A�vD9t$�;��H�|$���H�O�G����%A�9lA�D$HDL$AD�D9d$���A�U��I��A��A�E�A��H�L$�8��1�A�ND9t$����H�|$���H�W�G���b2A�9jA�D$HDT$AD�D9d$����A�m��I��A��A�E�A��H�T$����A�P���;2A�~D9t$�S��H�L$���1H���A�����1A�9kHDL$DE�H�L$��A�D$D9d$���A�m��I��A��A�U��T��1�A�qA�Hf����9�.A�vD9t$����L�\$�zA��A�;I��A�C�L�\$����$A�Af��A�9m���I$��A�t$9����p$D9d$�x��A�m��I��A��A�M����D�L$D�ʃ�߃�@����A��$����A��`�����_���A����A��D	������E�HL��cA�WC9��������E�@A�P�����A��A��D	����n����T$���Y����-�� �J����
D�L$�A����2���A����%���A�������H��bE�@B�<��������E�@H��bB�������������A�WA8��������A�WA8P�������E�GH���J���
H��E9������D�D�L$E9�v�1����E�@H�[bB������ƒ|$_A��D	����T����t$������������}�����	�3����������D$=/ t�v[�D$=_ t�=0������r9H�D$ f����y����������D$=�t�r
-( ��vǃ����- ��
�����뀃�	�"���A�D$D9d$�����I����A��A�m�A�E��D���D$=/ t����D$=_ t�=0����멋D$-( ���&�������D$=�t�-( ����H�L$ 1�f��������A������rWH�L$ 1�f�����������1҃�	����- ��
�7��������L$���t�r�������v����a���t$��/ �'�M�|$���_ �\�1ҁ�0���L�A��A�D$A��HDL$AD�D9d$�����A�E��A��A�}A��I��H�L$�����L$����������������D$-( ���������H�|$ ��$ H��$A��H�L$(H��$M��H���H��$H��H+L$hL��$��t$X��$�Ph�VL��H�|$@�P��H��$(H�|$@�B�H��$0H�� H������� L��$��w������������������A�������L$��/ �r���t$���_ �1��1ҁ�0���!��A�W�AA�L$f����9��OD9d$�&���D.I����A��A�E�A�E��b��H�D$ �@l �A)A�FD9t$����H�t$����A�Ɖ.H���F�H�t$���1҃�	���������������w���������������������A��H�L$������A��H�t$������A��H�L$����D$A��9��G��H�L$�PL��H+D$0�AH�����A�A�Gf����I�A�?x��H�L$���[����A��H�t$�K��H�D$ �ptH�P(���Q
H;T$(�����$����A��H�D$�����A��H�L$�����A��H�L$����I��L��$���$��������H��$���@�H��$�u��$�������A�Gf����I�A�?xt�L��H+D$0��E��u	D9��;�l$`L��H+T$(���2D9d$����؃�A��I��A�E�A�E�A�U��>����A��H�t$�.��I��L��$���$��>���A�L��H+L$0�ʃ�b<��*H�5Q��Hc�H�>��A�p���z*D9t$�x��H�D$��A�����D$8�H���@�H�D$���A�FD9t$�8��H�|$����A�Ɖ/H���G�H�|$�n��L�L$(1�I�yH9|$@�S��1�A�y
���D����~A���u
H�l$A����A�D$D9d$������A�U��I��A�m�A��A�E����A���u
H�l$A��A�GA�PA�L$f������9��D9d$�e�������I����A��)�I�E�A�E������~A���u
H�l$A����A�D$D9d$�����A�M��I��A�m�A��A�E��S��D9d$������$��A�UI��A�m�A�E���H�D$ �@l�yA�FD9t$����H�L$����A�Ɖ)H���A�H�L$����H�t$ �NxH��H)�H�L$(H9�������@89�����tH�����@8p��������H��$�����{�������A��D9��������f�H��$�����s��A�G��$�A�L$f������9��$D9d$������I����A��A�m�A�E����A��`A�D$HDl$ED�D9d$����E�M��I��A��A�E�E��H�l$����A�FD9t$�X����$�H�L$��A�ƍT5�AH���Q�H�L$���A���u
H�l$A��A�GA�PA�L$f������9���D9d$���������I����A��)�I�E�A�E��%��E��~A��_u
H�l$A��A��A�D$D9d$����A�m��I��A��E�}�����A�G��$�A��aA�T$DE�$�LDL$f������L�L$9��D9d$�D����$�I����A��A�E�A�E��}��H��$���������T$8����DŽ$���H��$��������A�FD9t$����H�t$����A�Ɖ.H���F�H�t$���H�D$ �@xH�H9T$(��������������D��H�L$�b��A��^A�D$LDL$ED�D9d$�[��A�m��I��A��A�E�E��L�L$���H��$��������D��H�t$���D9d$�
��A�m��I��A��A�U��Q��L��$���A����D9d$����A�m��I��A��A�E�����|$���$�T$H��$�H�
�����"H�
��:�
�����E��L�L$��������H�\$(�D$8��@%?��	��K�������?	�	Љ���	Љ�����	‰T$���DŽ$�DŽ$��t$����H�D$P��$�;X��H�D$ �@l� �����|$<���H�\$ Cp� �����H�\$@�����H9\$(CD$<�D$<���H�D$ �@r ���������H�D$ �@l���A�FD9t$�`���H�|$����A�Ɖ/H���G�H�|$���A��H�l$�A��H�D$(H�t$ H��H9F(w�Fl tD�FtE��u
�~x�.#�|$��x���H�D$ �ptH�P(���F#H;T$(�Y���D�D$|H�|$(H�HxL��$�D��$�L��$��_L��$�D��$���L��$�������E��L�L$������E��L�L$���������H�T$ H��$�L��$�D��$�������`��H��$L��$�D��$�H�D$X�@������^��� ��A�FD9t$���H�|$����A�Ɖ/H���G�H�|$�"��H�T$ H��$�L��$�D��$��)���������H��$L��$�D��$�H�D$X�@�����������D$8���n
DŽ$A�@��$��������������������Z�����}��H�uH�MH��H)�A�Gf����I�A�<xt�M��D�H�L+D$0�����A�xA��wA�GE��f����A)�D��H���
D9t$~�H�D$A�����8H���@�H�D$���E�O�|$8fA��E��M���������T$|�|$I�wL��$�L��$�L��$���L��$�L��$�L��$��?��D9d$�,���A�m��I��A��A�M��p���H�D$ �HxH��H)�H9T$(�S���O���H�T$ H��$��L��$�L��$���$��O���������H��$L��$�L��$���$�H�D$X�@���H�D$(H�L$ H��H9A(w�Al t�yt��u
�yx�`�|$������H�D$ �ptH�P(����H;T$(�p���D�D$|H�|$(H�HxL��$�D��$��0\D��$�L��$����5������R����|$��H��$��T$���H�
�"H�
�:����������������	�����������������H�|$ �OxH��H)�H�L$(H9�������@89����tH�t$ H�����8H�q�A�FD9t$�3���H�t$����A�Ɖ.H���F�H�t$�i������a�����������O������G���H��$��T$���8�:���$����������|$���H��$��T$���H�
��"H�
��:�������D��$�L�L$�;��H�D$(H�|$ H��H9G(w�Gl tD�GtE��u
�x���|$������H�D$ �ptH�P(���TH;T$(�����D�D$|H�|$(H�HxL��$�L��$�D��$��ZD��$�L��$���L��$��C�����D��$�L�L$��������
�����������A�����D���x��H�t$(H9t$Hr-H�D$ �@l���tH�|$ H�D$hHGHH9D$H���|$<��X
�D$<���%
���D$<�;�$��
��H��$�H�L��$�H��H�~街��L��$���$�v$H�L$hH�D$HH��$�H)�H�H�D$(H)�H�GH�D$ �@l��˹���������D$=����H��$��у��E�������_�K����H�
�b����Hc��Q���H��OH��BH�@H����T�H��L��1҃��������D�A�����H�|$D�MHc���A)�H��H��M�\�I�I)�H�qH��l$`H��H)…���H��t=A�D$D9d$�ָ����E�EA��I��A�E�A�U�H��L9�u�H�|$��A�FD9t$�����D�A��H���G��˨ ��A�FD9t$�p���H�L$����A�Ɖ)H���A�H�L$馻����鞻����閻����鎻���|$����T$H��$�H�
#����"H�
�:����L���L��$�H��A�L��H��$PL�D$0H�L$8H�T$XH��$�����ZY��L��$�������L�$E�_����������غ����D��$�L�L$�ú��H�D$(H�L$ H��H9A(w�Al t�qt��u
�yx�
�|$��;�H�D$ �ptH�P(���gH;T$(��D�D$|H�|$(H�HxL��$��VL��$��������8���fD���*�����F��������H�D$(H�|$ H��H9G(w�Gl t�Ot��u
�x���|$����H�D$ �ptH�P(���YH;T$(���D�D$|H�|$(H�HxL��$�D��$�D��$��SUD��$�D��$���L��$��r��E��H�l$�e����|$����T$H��$�H�
�����"H�
��:�%��E��H�l$������E��H�l$����D9d$�����A�m��I��A��A�U����D9d$�������A�M��I��A�m�A��A�E�龸����鶸����鮸����馸����鞸����閸����鎸��H�|$(A�D$H�WH9T$@wlD9d$����A��H�D$ ��I��A�m��A�E��@l �DD$�D$�9���H�t$(1�H�NH9L$@����1��~
���������
���H�t$(�~
��D9d$�������I����A��A�m�A�E��շ��D�D$|H�|$(H�HxL��$��xSL��$�����������隷��D9d$�4�����A�U��I��A�m�A��A�E��n���H�
e]Hc�$��|$�QH�
NJ���$�Hc��QH�RH�2�|������A�D$D9d$������T.I����A��A�U�A�E��������A�D$D9d$�������I����A��A�m�A�E��Ķ��1�A�������A�pA����������?����	��	�����������x����|$<�����H�D$ �@l�@������D$<�������D$<������H�D$ D�D$|L��$�H�|$(H�Hx�*TL��$����B��������	�����&��T$��) ����D�L$�A��_ ��A��0����A��/ ���������A��H�D$靵�����aA�D$D9d$�*���A�u��I��A��A�E��j���H��$��L$A������������D�����$��۱��A�EA�I��A�E�L�\$(�D$8������D9�|	E����D�L$`E���A�L$D9d$�P�߃�A�EA�}A�U����9L$�)��A�UA��I��A�E�A�E�陴��f�����H�|$ A�FH����0D9t$����H�|$����A�Ɖ/H���G�H�|$�H���L�|$hL�L�H9����H���h���@���@��@��H)�H9�u�������( s�����
���������9�t���߳����~A���u
H�l$A����A�D$D9d$�Z���A�m��I��A��A�M�鞳����A��H�D$鎳����醳��A�D$D9d$�����T.I����A��A�U�A�E��W������D$�G������?�����( s�����
���������9�t������A���u
H�l$A��A�GA�PA�L$f������9�]D9d$�y�����I����A��A�m�A�E�鶲��A�FD9t$�L���H�L$����A�Ɖ)H���A�H�L$邲��D9d$����A�m��I��A��A�U��`���D�D$|H�|$(H�HxL��$��NL��$��������fD=( s- ��
��1�A����9�t�����A�D$D9d$�������I����A��A�m�A�E��ͱ�����ű�����D$鵱��H�D$ D�D$|L��$�H�|$(H�Hx�SML��$���u��遱��H�D$ H�|$@�@xH)�H9|$(�����^���H�T$(H�|$ H)����@82�����9���H�t$(I9����H��H���q���@���@��@��H)�I9�u���H�t$ H�|$(���8������������H�t$(1�H�NH9L$@�!��1Ҁ~
�����D9d$�Q�����A�U��I��A�m�A��A�E�鋰��H�D$��A���z�����$��D$<�������D$<����$��D$<����$�������D$<��H�w(H9�����H�|$(�O��$�����t���fD������|��H��H9�u��n�����K���H�|$ H�D$(���@8p�0�����驯��A�qf����9�����A��H�l$������~�����A��H�L$�n���D9d$������I����A��A�U�A�E��E���1�A�����'����L$�ȃ�߃�@������$������`���=_���������	�������D$<���雫�������@A�G8�������A�G8B��������JH��>A�G9���������R�B�<������	����s��������H�t$(H�L$ H)����8N������U����D$<������D9t$�����$�H�t$��A�ƍT=�FH���V�H�t$�������;D$�^���D��$�L�L$�D$DŽ$��֭�����έ�����ƭ��H�t$ �NxH��H)�H�L$(H9�������@81�u���t~H�L$ H�D$(���@8x�U����r���H�t$ H�|$(�NxH)�H��H9��S����8�D���t3H�|$ H�D$(���@8p�$���E��H�l$������������E��H�l$������;D$���E��H�l$�D$DŽ$��ˬ����E��H�l$黬��f�A�WH���H���H��9�������L$9�v�1��s����RH��<��������|$_��	����J����D$=�6���w~�� �+���vf�|$������������
����������H�(<�R�<���������RH�
<���������������	��w�����D$=) ������L$���_ �������0�������/ u��~������;D$�����D$DŽ$��b������;D$������D$DŽ$��6������.���@H�|$ �OxH��H)�H�L$(H9��)����@81����tnH�L$ H�D$(���@8x�����D��$�L�L$�ɪ���A�HA��uA������?%�������	�	Љ��	������D��$�L�L$�v���A��A�P������?����%��	Љ����	Љ���	Љʁ�	�����v�V�����@��@��	�������H�|$ �OxH��H)�H�L$(H9�������@89�����t#H�L$ H�D$(���@8p�t���黩����鳩����t$���߃�@�������$�������`�����_�����@��	������E�@����%@��?����A��?�����D	������	�	�	�	������$����H�D$(H�\$@H9����H�\$ H;C0���{|�����DD$<���D9t$�Q���$�H�|$�D�GH���G�H�|$�����vH��8������ƒ|$_@��	�����|$������Z�� �v��:�|$�����`����T����H�H�S8�v�<������.�A�wH�4�H���H��9���2�|$9�v�1���A�OH��H���H��9����
�t$9�v�1����IH��7������ƒ|$_��	����x�t$���c����� �T����t$�����>����2����&�H�`7�I�<�������W�������%�|$��) ���|$���_ ���0����/ ��������V���w���t$��) ���|$���_ ����0�{��/ �I����j����;D$�������D$DŽ$��a���D9d$�������I����A��H�A�m�I�}��3���D�D$|H�|$(H�HxL��$���AL��$���u]H�D$ H�P(�D��H�|$ H�֋OxH)�H��H��H�t$(H9��"�����@8>�����tH��H�t$ ���8H����H�D$ H�|$@�@xH)�H9|$(u��=��vH��5�����������1�A�@8>���n�1�A�@8~���[��~H�5b5A�W9������=��D��$�L�L$����f.��D$<����鲡��HT$(��$��c�A�}I��A�E�����A�I�B1�A�A�BA�H�D$�D$8髤��H�T$ H��$�L��$�D��$�貞�����Q���H��$L��$�D��$�H�D$X�@����D$8A��C���H�L$ ���;T$t���)������!���� tJA�D$D9d$��������I����H�� A�m�A��I�M��D$������ۣ�����ӣ�����D$DŽ$�鸣��fD�IH��3����������p�1�A�@89���^�1�A�w@8q���K��qH�
�3A�W9������-��I�Q����€���	�����L$�ʃ�߃�@�����$�����`�����_�������	������I��A�����L�L$hL�L�H9����H��D�A�A��A���A��E��L)�H9�u�����騢����A��H�T$阢����A��H�L$鈢��fD���������r���H�|$ ���;T$t���X������P���� ��A�D$D9d$�ݞ�����I����H�� A�m�A��I�}��D$����D�D$|H�|$(H�HxL��$�I���=L��$�����I�W(�x��H�|$ H�֋OxH)�H��H��H�t$(H9��V�����@8>�F�������H��H�t$ ���8H�%�������D$DŽ$��d������D$8�T������D$8�D�����E��L�L$�4������,������;D$������E��L�L$�D$DŽ$����fDH�t$ �NxH��H)�H�L$(H9�������@89������t0H�L$ H�D$(���@8p������E��L�L$閠���y����E��L�L$遠��ff.�@��AWAVAUATUSL��$���H��H�$L9�u�H���	H��$zL��$zH�T$@I��I��L��H�L$H�D$ dH�%(H��$�y1��D$tH��HDŽ$�H��$�H�����A�����M���gM���^H�|$ �RH���IH��$z�[H�\$H9\$@�@A�MXA��0�����GA�}PERCP��A�u`������������D	��D$X��@�D$8tCH�D$ ��������x����H��$zI���������H�P�H��I��H��9��w�ȉ�H�|$@DŽ$�%L��$��D$�����D$X@���I�<H��$��D$`H�D$DŽ$�HDŽ$�M�4HDŽ$�I�F�H�D$H�D‰D$��%�D$\��%�D$H��$�H��$�M����I�GHH����������L�H�D$(I�G(A�XA�WP�AoH��$�I�G0��$dH��$�I�GH��$PH��$A�GT)�$��$`E�EhA9�sD��$`A�El9�s��$dA�EdH9�sH��$PA���A����L��$ H��$(��A�U|��$pDŽ$hHDŽ$XDŽ$tH�I���H��$I�EH��$@H�D$H��$H���
��f��E�fA�}z��$|�D$X��$lA�Exf��$��/A�EzH�
Y�Hc�H�>��D��	ȩ �=���A������H�\$(����H�o.'I�EHDŽ$��AoMH�\$(�zXH��$�BT�RP)�$��$d��$`H��$P�|���H��D�D$��_�D$tD�D$H�D$@�E���DŽ$xƄ$�f��D$�����D$X@��H�|$�CI9�sA���<������'M9��L��f�H�x�I9�s1�@���<�t�'����<��H��I9�u�L��H��H�t$@H�U@L)�H)�H�L$0�j�H�L$0��A�ljEL��A�u`@����A�Ep�D$r@�� ��	H��$@��H�D$P�D$<���D$}@�ƀ��A�Et���D$s��	H��$@���D$d���D$~�EItH�uH�} �U�eI�D�|$H�E H�E(D���EH���D$x�D$H��$H�D$H��$��D$hH�D$0L��L�mI��H��L��$�M����CX%D$8�F�D$��ty�D$M���'M9�r�
DL9���I��M9�tI��$tH��$(��uۋ�$xH)�I9�w���$�A86uȃ�t��$�A8Fu�@M��E���lH�|$P�PD�t$<E���BL��$(��$l0��L���S~L)�H9��qHcL$<M�4L9t$Hsi�t$d��taH=�~�|$tRH=?KLwJL���t$sL��L)�H��$��wr���|$sH�D$H@:|$~�2H���:L9l$H��fDL;d$(��L��$8D�MJL�EPL��L��$0HDŽ$�E�t$0j��$ zP�t$8H�L$0H��$8H�|$(虓��H�� �����E�����L$��t#��$tH��$(���$I9����T$I�D$����L9��>�x�
u	L9��I������DŽ$t����DŽ$t���DŽ$x�
f��$�����DŽ$xƄ$�
����DŽ$xƄ$�
���A����@H��$�ydH3%(D���~H���y[]A\A]A^A_�@I9��0���A�T$����t����@������
���H��I9�u�L��������$xH)�I9�������$�A8<$������t��$�A8D$�����A�����H��$�H���9���f�H�H��$H��$���$H��$�H��u�����@�8
�x����Ca�n�����$t�Q���v��$x�Q���H���H����H�D$E1�L��H�Hx�2���E�������D�\$<E����D$r�L$}M��M)�8��D�T$hE������L��L���Vo��H��H����D�L$xH��L)�E����H�D$h�D$}L����"o��H�L$hI��H9���H�����D$x�D$hH��$(��$l0�:I9������M��I������fDH�D$D�D$`L��H�Hx�1���
����]���DM9��O���D�l$<A�$E��t8D$r�����8D$}�����H�|$PH�������ƒ���������l��������M9��z���$tH��$(��tEL9���I�FI9�vsA�V����ufDH��I9���������t�I�����$xH)�I9�w���$�A86u����������$�A8F�����I�FI9�w�I�����H�D$A�L��H�Hx��/���]����l���D�D$\E���H��$ H�D$H�I9��k����|$���bM9�r*�U����L9���I��M9��8���H��$ ��$t��u׋�$xH�I9�r�L����$�H)�@8:u����������$�@8ru�����H�������I9���������fDM��I���]����D$\���@��@�I�E(�D$}H�D$P�D$r�D$<�����D$~�D$s�D$d�6���H�|$PH���`���M9��RA�$H�L$PH�ƒ�H�������s(�-@A�$H�ƒ�H��������
I��M9�u�H��$(��$l0�*���L9����|���@�D$x��������t$}L��L���k���L$x�|$<H��Dω|$hLE�L$x���H�D$P�D$}�D$r�D$<�����t$rL��L���]k��H��LE��Q���M��A��L��$�L��H��$0H��$8M��M)�L)�L)�A����H�U0H�E8L�U@D�}LE��������D$X@��Hc\$tH\$@H�uH��UH�E H���zH��L��H���k���MI�q����D$~�D$d����D$}H�D$P�D$<�1���H�D$E1�L��H�Hx�,/���E���A�|$�
�~�����$t�����k���M9��b���1�A�<$
��I��P���f.�H�|$H���������t$~H��$�L���
j��H�D$HH����������L������M�����M9�����$t��tDL9���I�D$I9���A�T$����t�\@�����uMH��I9�u����$xH�I9�r�L����$�H)�@82u����z�����$�8Ju��h���f�H��$ I���b���H�D$A�L��H�Hx��-���W������HM@����f�}Ju'H�U0H�E8L�U@�EL����L�e ���I��M�����L)�L�UPH�]X��A��������M�����A������A�������A������A�������A�������A�������A������x����D$hI���h����h��A�����X���A�����M���f.���H������cG����1�E1ɿH���A��A�HL��L�@E��u��t]��t+A���HL����oA�nH�����du�I���nH��t-1��fDH9�t!�H��A�H�<��u��ø���H��������߹oA�nH����k��������f.�����AWH��L��3AVI�֍WH��AUI�ATU��H�-� S��Hc��A�SH�L$���H��w��σ�)��Hc��TUH�R�L�H9���M��f��8A���E��t0���v(D�H@�� ����A��?A���D	�����Hc�Hc�A�S���:H�=Hc��TU�4�H�R�T���s>��u��tE��@�ǃ�
@��@��u��t��Ic�H�M��tA�H9D$��I���[]A\A]A^A_�fDH�x�E����E1�L9�w<�fD�����Hc�A�K���Hc��LuH�I�|�upA��L9�vg�w�H�W�H�׉�E��t�A��A��A���u �H���
�΃�@���t���H�׀��v�D�R�� u1��A��?��D	��l���@A���-�����	���@D�b��u^��A��?A����A��D	�D	��&���fDD�P@������A��A��?A���A��D	�D	��C���D�d$�D�b����D�d$�D�b��D�d$��BD���D�d$���?��	�D��A�������	΋L$�����	�D���	��v���fD�P������M����H�������t��1���@D�`@��ui��A��A��?A���A���A��D	�A��D	�D	��V������L$�A��?A����A���D	��D	ց�	��������P����A����?A�A����A���A��D	�A���	�D��D	ׁ�	������J��A��D�d$���@��?A��	�D��A�����?	�t$�����	΋L$�D	����	��$�����A��A�A��?��@A��D	�D�HA�����A����A��?D	�D	�E��A���D	�	��$���@��L�M�D�������p����w����}���Ax<���As<���A�<Lw��Ic�L�>���GL�O��<IB�L�
(Hc�A�HDž�t�����7w��G�<��u���H�
^��?�H�����d���1��fD�Gf����H��=���D�Gf����H��%���D�Gf����9�taH���H����fD��xDH�}�@}H������GH��5���@�GL�O��<IB�����f.�H���f.�f�ATI��USH�_HH�PH��t@H�/H�s�SH��H��u�I�|$XH��t@H�/H�s�SH��H��u�H�sH�CL��[]A\��D��A�<OwnH�����Hc�H�>��f���f.��!��ptF�1���b��	wݸH�������@�W����1�����!��1��D�Gf�����AWAVAUI��H��ATI��U��SH�������3�Bf����H��<xt�<y�,I�D$I+T$�<����D�F1ۍE�A��D$fA�����E����N�<H�\�s�H��������t>I�T$A�EH��I+\$��A�T$x��uA�D$xA�E��A�EA�D$|=��A�?x��A�GL���f����I�H����wL��H��>��y���H�����v���e�����z���V����L$L��H��L������?�����FH�(f�����<�����H��[]A\A]A^A_��71��N���wN��H���u<���:u21���t(�G�Wf��f��tf������)к��G��@1�@��h�������AWH��A�L��*AVL��nAUE1�ATUSH��L�gL��@H���у���Hc�A�K���Hc��SH�RA�L�E��uDH�=z�Ic���,��lA��u	������@�ƃ�
��@��L��uA��tA��I��E1�L9����ׁ���j����H�� u!����?H����	��N���f.��h���K������?H���ҁ�	�	�����@L9�����N�H�V��΃�@���uDH���
�΃�@���t���H�ր��vD�J�� uq��A��?��D	ω�����Hc�A�K���Hc��{H�IA�|�u	A��I9�r�A���+L��A�I��E1�L9����[]A\A]A^A_��j��u'����?��	�D�����	��x���f�D�r��uk��A��?A����A�����D	���D	�	��7���D�p��������A��?H���������	ʁ�D	�	����D�t$�D�r��D�t$�����D��A��D�t$�����?A�����	ρ��A��D	�A��	�D	����D�t$�D�p��D�t$�������H���������	�D��D�t$������?	�A��	�A��D	�����J��D�t$�����@�����?A��	�D��A�������?	��|$�	��A	΁�D	�����D�t$���H���׉��H��������@A����?��?A���	�	�	�A	֋T$�����D	��O���[L��]A\A]A^A_�ff.�f���AWA�1�AVAUATA�USH�_H�oH���@E��H��E��L�
�&L��A��Mc�C�QL��j��D������Hc�A�SH�RA�L�E��uDL�=ZE��Ic�A��E�4��uA��u	������@�ǃ�
��@��H��uA��tA��H��E1�H9��9D�H�VE���J���H9��D�vA�V���?�
A�Q>A�ƀH�N��wA��H�΁���A	��
���fDH9���D�VA�R���?��A��A�Q H�NA�€E	ր���A�с����A	�A��(�������A����wH������H9��|�Hf�L9��7�����?�+�O��€L�o�D�q>A��wf������	�L��у���Hc�A�I���Hc�A�SH�RA�|���A��H9����W�L�o��у��x���L���L9���D�i�A��?��D�o������L�w�	�A�U ��w/A�Ձ����	ʍ�(�����vb���vZL���M���f�L9�sKA�U���?wB�W���A�ŀD�rA��w-���H����A	�D��	ʍ�����������fDA��uH��A�H��E1�H9�����[]A\A]A^A_��H9�v��V�J���?w�D�R�A�QA����w�A��H���������D	�A	�A�������������f���AWL�
�#L�FL�xL�qgAVAUATUSH�_H�G�>H����H����A�Q����9Hc�A�RH�RA�|�L9����nL�%�H���H����A�Q����)�Hc�A�RH�RA�L�Hc���A�,��|H��A�@��u��tv��@��
��@��u��t��I��L9�tEA�(H��H���H����A�Q����)D��Hc�A�RH�RA�L�Hc���A�,�u�L��[]A\A]A^A_�@I�P�H9����.H��H���H����A�Q����)Hc�A�RH�RA�|�uZD�v�Af�H��D�?L��A��H����A�Q���B�9Hc�A�RH�RA�|�u
D��)�H9�u����S�������ff.���SH�_8H����L�WH�GI��H��D�^�H���L)��FhH�F(H�B�L�V L)��FH�F0H�FL)�H�F8H�FpH�FH�����H�FpH�FxA��t9A�@H�H�rA��L)�L)�H�H�qH���tE�AH��H��E9�u�H�w@H��L��[��@1�[�@L��$���H��H�$L9�u�H��8dH�%(H��$(�1�H�D$ H�D$H�D$H��$ �H�D$H�$H��H���H��$(�dH3%(uH��8���hS���AUATUSH��H�=�'H���U��H��0�0L�-G'HB�H��H��M��t,I�M L��H9�w�DH�J H9���H�RH��u�E1�A������"1�H���f1�I����R��H��H����X�L��H���T�����5H���7I�t$�H�K@H5�'H��'H�EH�T5H9���H�H)�H�]H�o'H�DH�XH�H�p L�hH�@M��tI�EH�G'H�H�=Y'H�r��R��H�EH��[]A\A]ÐH�C@H9�s_H��H)�H�,H�B H�EH�\
H��H�MH�='H
�'�R��H��H�E[]A\A]��H�H�uH��'�v���DH�rH�BH��tH�FH�BH��t	H�pH���H�5�'H���L��H���~R��H�=�'�2R��1��?���ff.�SH��H�=u'�S��H�{�H�C�H)9'H��H+S�H�:tTH�-'H�C�H�CH�H�CH��tH�zH�='H�H�:t4H�teH�='[�Q���HB H��H�B H�D��fDH�rHB H�G H�JH��tH�NH�JH��tvH�qH�H�B��H�:u�H�{'H�O H�h'H�RH)�H��H9��p���H�WH�J'H�GH��tH�BH�GH��tH�PH�q�7Q���=���f�H�5)'�H� '��ff.�H�GH��H��
�uN�����H9GwCI����A�A���I�@fE�H�OH�G����H��H�O��6f���~KA�I���H�FfD�H�OH�G��t`H��H�O�HȹA���������f����N�H���P�ÉЃ���wFE1�H�
������E��t1L�F�F	�J����H�OH�N�랐H�OA�H�뎐���F
H���U����Ѓ���v��볐A�����S1�H���a���HE�[�@��S�H���>���HE�[Ð��H��tPUH��SH��H���f�H�H��t(H�{u�H�sH����7��u�H�CH��[]�fDH��1�[]�1��@��'���t�@S���։�[�����k'�fDD�A�����H�
[�Jc�H�>���FH�D�fDH��Mc�B�H��D�H�����HD��fDH��Mc��B�H��tZ�P����vQH�
��?�H��DH��Mc�B�H�D���Ff����H�Ð�Ff����H�Ð1��ff.�f�AVI��H��AUATI��UH��S@�Pf����HЀ8xt�M��$�E�L��H�XL������A�R����}A���tA���usE1�A��H9�vB��J���vJ�J|��vB��xu	E���|��b��w	H��t�EH��L���x���H9�r�H��[]A\A]A^��H��H��L���2�����1�A�Qf����A�<x�v���H��A�I+l$Il$0�a����H�hI+l$Il$0���DAWI��I��AVA��AUM��ATU1�SH��A��D$H����I���D��A��E1�H�$L�=��L9�������<�w��Ic�L�>��f�A�H�<$�q���H��L9�r�A9��LA�BE��E���H�����H��[]A\A]A^A_�f.�E��A�BA�A�DD�H���A�Cd��tA�EH��A��@A�B��DD�A�Cd��tA�E�F�A�H�t�O���DA�Kh��t�T$��u�D$A��A��H��A�����f�A�����tE��tPE�c`E��t��t3E�ChE��t�|$��u�D$A��H��A������A�����DA��A�뤸����E�������H�������[]A\A]A^A_�f�I��DA�Af����I�A�9xt�E��u.�<�t�D$1�<�u#A�{h�D$����f��D$1�I������H�����f��
A�ȅ�t~���w>���}���1ȃ�w	�� ���P�������t	�����fD�B�� ��D�J��������A��?��%�	�D	��@�������H����H��B�ʃ����H��H��BH�@H��Y�|�ω�1ȍP���t+1�ø �f.�����?��	�����DH�A��?B��?u@�����?t���	��D�R��tFD�Z��ul����A��?��%�A��	�A���A��D	�A��D	�D	���������A��?��%�A��	�A��D	�D	��e���������@%?A��	��JA���A��A����?	�D���A	����D	�D	�����@UH��SH��H��H�GH�H�p�H��t H�SPH�H�CPH��H�h�H��[]�fD����AV@��I��AUA��ATA��H�UH��H��A��SH�Pۃ�H�GL�0I���vCH���k���H��tD�H�pHc�H]xE��uD�.1�D�v[]A\A]A^�f�H�pD�`��fDH�DL�GH��u��E��ff.�f�H�OPATI��UHc�SH�AH��H�pH���vN����H��tMH�H��
�*H�Cx
L�`��@�ƃ���H��H@�p�H1�[]A\�f.�H�DH�qH��u����ff.�AWA���I��AVA���%�Lc�AUA�HA��ATUD��S���H��(��t@��@A��A��D�cA��A��tE��D�c@�ŀtL��?���������L�H9��:��H�5A���?HcЀ<�q���kfDHc�H�6��<��@D�҃�@��Ic�H�=�A�t$�<��E����I�PHc�H�GL�I����L��L�L$H�L$D�T$D�\$�T$�N���L�L$H�L$LcT$D�\$�T$H���D� H�pMc�MgxA��t�@fH�pE��tD�6H��Hc�E��H�A�� u{A��������A������������ELj�lf�A��DA����'����A���fH���H=���A�t$A��A�����fD����H�����������DLj�1�@�ŀuRHc�H�=��L�S�</��@	����tA����A�
E����H��(H��[]A\A]A^A_�f.����?��L�5>�Lc�A��C�<.A��?�NA���A@���o����I��L�S��?�D	�A�.��	�@�{�]���fDA���;E���ZH���U�������?���E�`���f.�H�DL�G����f�A�� �6A���A�t$H��� H��H!�H������A�D$A��A����i���@�������H�9�B�������f.����k����L�ʾL��H�L$D�T$D�D$D�\$���D�\$D�D$��LcT$H�L$�p���?�e���E1�f.�H�5��H��<vA��A���?M���|��������H�=q��<upE�`�bDA��A�O����A���cA�t$A���R���DA�t$A���?���f��E1��H�=	��<t�������A������?�<����A��B����@M����@��tAE����	�L�S�M��ucC�<.����E�
I������@fA�
�������@�븐���C%L�S�D�K���f.�1����f�I���H=�v�E�
I�����D����L�S��?�A�.��	�@�{�V���fDM���I����l����Ȁ��!���f.�A��D����A�������@I���E�`A��H=�EG����f�����DI��L�S��?�A��A�.�C��A	�D�K����A�
����H�5y�H����<�'���E1�����A�����I���ff.��AWAVI��L��AUATUH��S��H��LJ�A��@tg��?~:A��M��@���
���H������E1�H��D��[]A\A]A^A_�@E1�A�о�@����H������E1���f���@A�A��A��DL�D��A��A��?-E��t(1�M��A�ؾ�H�����H��tV��E1��u���I��A��1�D��H���X���H��t+E�������������EшPE���6���D����D�e�!���ff.�@AWAVI��L��AUATUH��S��H��LJ�A��@tW��?~2A��M��@������H��t2��E1�H��D��[]A\A]A^A_�E1�A�о�@���H��u�D�e�΃�@A�A��A��DL�D��A��A��?-E��t(1�M��A�ؾ�H���S���H��t���E1��fDI��A��1�D��H���(���H��t�E�������������EшPE���B���D���ff.�@AUATUSH��D�/E��uR�B��H�WPI��Hc�H��H�BH�H���vC�6���H��tI�Hc�H��HUx��t1҉у�A�4@�49�r�H��D��[]A\A]�fDH�DH�J�DD�m��f�H��dH�%(H�D$1��ff�D$��t]��t)����H�D$dH3%(��H������u��D$��D	Ƀ�H�t$��L$�������t[~��t<��u����D$�
L$ ���u��D$ �D$o��	��@���D$tD	���D$ �D$t��D	�����D$t��D	��j����e;��DAUL��I��ATA��UH��SHc�H��A��@�������?R���
�������L�H9��,M��A��H���@�H����H��t>��E1�H��[D��]A\A]Å�uȺ������L�H9�v�L�¾�-�A�ą�t]D�eH��[]D��A\A]�@M��A��1Ƀ�?#�ھ��H��t���H��D��[]A\A]Ð���a�H��t���1�M��A�غ�H���?�H���������H��D��[]A\A]�DH���H�
����H�<L���H�����[]��AA\A]��H����L��[]A\A]�D�@��?~�f���fDS��I��A��1ɉ¾H����H��t��1�[�f.��[�ff.��AWA��I��D��AVA��A��AUA��ATA��UH��SH��������D9�uYM9�uTD�l$PA��@�5��?���|$P?��A��H�L$X�T$PM�پH����H���4D�8��@��?�w;\$P�mM��1҉�H�����A�Ņ����D$P@�x�������HD$XH9�v�������E1�A���VfDM��1Ҿ���A�Ņ����D$P@���������HD$XH9�v������YE1�A�H�L$X�@�H���!�H���PD`H��D��[]A\A]A^A_�f����?�������HD$XH9�v�������H�L$XM��A�غ@�H����H����D`E1��fDL�L$XD�D$P1ɺ�H����H����D�0�]����1�M�ȾH��L�\$���L�\$�����D$P@��������HD$XH9�v������H�L$XE1ɺ@H��A��L�\$��L�\$H��t(D`E1��L�ډ�H���������$����D�m����H�D$XH��H=�������򋷐������1�H�L$XH���Q���������L�D$X�L$P1ҾL�\$���L�\$��A��u�M��A��1ɺ�&����L�L$XD�D$PL�ى����@E1�A��A��H�T$XD��H��L�\$�e�L�\$��A������M��A��1�D������DE1�H�T$XH��A��A��D���"�E1�A�Ņ�t�����H�T$X�H��L�\$��L�\$�������E1�1�A���H��L�\$�Z�L�\$H�������D�8�X���@L�L$XD�D$P1ɉ����DL�L$XD�D$P1�H���L�\$��L�\$H���/���D�0�����H�T$X�H���F�A�Ņ�����E1�A�1ɺ���fD�������HD$XA�H9�������H����AVM��AUATA��UH��S��H�����h��?~sI�у�?��A��A��@���@�!1�M�ȉپH���U��������������E1ɻL�H9�vG���A������1D��@�_�������L�H9�v������wE1�A��L��@�H����H�����H8E1�H��D��[]A\A]A^�@��@�_@��@�4����������L�H9�v������u�A�L��D��H��L�L$��L�L$��A����1�A��D��H����H��tr�9H��D��[]A\A]A^���@tsI���H=��!�����������������HL�H9����L��=H���w�A�Ņ�����D�mH��[]D��A\A]A^��1�M��E��ھH���i�H��t��;E1�H��[D��]A\A]A^�fDE1�L��H��A��A��D����E1�A�Ņ�������@M�ȉ�1ҾH���4���A�Ņ��]���1�M��E���H�����H���:����;H��D��[]A\A]A^�1�����f�AWA��I��D��AVA��L��A��AUA��ATI��U��SH�������Ӊ��D9�ubM9�u]D�l$PA��@�>��?���|$P?�bH�L$X�T$PM��A���L���+�H���D�0��f.�;\$P�vL9\$X�kA��A��@�������������H�H9�vA��$�����M��A�����M�ȉ�1Ҿ����A�Ņ����D$P@���������HD$XH9�vE��$�E���DE1�A�H�L$X�@�L���D�H���+@hH��D��[]A\A]A^A_�D�����������HD$XH9�vE��$�E���jH�L$XM��A�غ@�L�����H����@hE1��L�L$XD�D$P1ɺ�L����H����D�8�Z������?��I��1҉���L�����A�Ņ�u_�D$P@���������HD$XH9��A��$����1�H�T$XL��@�Ń�����E1�A�Ņ���E�,$�������?�O��?��M��A�؉�����I��1҉��L��L�\$��L�\$��u��D$P@�;�������HD$XH9�vA��$�����H�L$XE1ɺ@L��A��L�\$�j�L�\$H���L���@hE1��L�ډ�L���s���s����&���fDH�D$XH��H=�����D���E����1�H�L$XL��������,��������L�D$X�L$PL�\$1ҾL����L�\$��A�������M��A��1ɺ�q���f�L�L$XD�D$PL�ى�����@1�@�Ń�L�\$H�T$X��L�����L�\$��A���H���M��A��1ɉ�����f�I��L�\$���W����E1�A������DH�T$X�L���~�A�Ņ���E1�A�1ɺ���fDH���H=���A��$����11�L������������fDI��A��L�ى�����L�L$XD�D$P1ɉ�����DL�L$XD�D$P1�L���L�\$�U�L�\$H���7���D�8����1�@�Ń�L�\$H�������������HD$X�H9������H����H�T$X�L��L�\$�I�L�\$�������E1�1�A���L��L�\$��L�\$H�������D�0�<�����������H�H9��M����H���ff.�@AWI��D��AVA��AUATI��US��H���l$@L�l$H����@��@u��tC9���M9���M��A��L���!L����H����D0E1��fD�����B���>��9���@�ŀt���?9�������?9���9�t1�M�ȉ�L������uAE1�1ҹ�L�����u&M���1ҾL����E1�A�؅��@E�<$H��D��[]A\A]A^A_�f.�M��1҅�����u������?~a�L���4��u�E1�A�L���!L�����H��t�D0E1��L����L�������p���E1��l������L�����E1�A��A�Dž��E���L���!L����H���*���D0�&���f��L����������E1�A�1ɺ�!L���>�H�����D0E1�1ҹ�L���K����S������fD1�M�ȾL���&��������E1�1ҹ�L����������1�M���L��������c���E1�1�A���!L����H���=���D0E1�1ҹ�L�����������������H��L����L��[E1�]�A\A]A^A_�p��L���c�E1�A�A�Dž����������f.�1�M�Ⱦ�1��������1�M���L���������������AWM��E��AVAUATI��U��S��H��D�l$XL�L$PL�t$`A��@txA��?uBD���E��tA��u0���H��D����L��[M��]L��A\A]A^A_���L�t$X��E����D�l$PH��L��L��[]A\A]A^A_����D��t̃�?~_L�D$L��E1��@D��L�$��L�$L�T$����AV��L��E��AUL�щ��{���^_����H��[]A\A]A^A_�f�AVL�щ�@��AUE��L�T$�F���ZY��L�$ul��L��@D�H��E1�L��[��]A\A]A^A_�����D$P@E����L��H�D$XH��L�Ѿ	
[]A\A]A^A_��@A�$H��[]A\A]A^A_�ff.�f�AVAUATI��U��D��SH��LJ���uGA�����E��A��@��I������K���B��H��L��[]A\A]A^���DA��@uj��@A�A��DL�A��A��?��E����1�M��A��ǃ�H���\��H�����ǃ�1�[]A\A]A^���?�W���Ic�A��M��@LJ���
��H������1�ǃ�[]A\A]A^�@E1���uA��M��1�D��ǃ�H������uqǃ�E���h���D���+���fDA��1�D��H�����H��t6�c�ʐIc�A��M��@�H���e��H��t��1�[]A\A]A^�f������f�AWAVAUATUSH��L�t$P9�uL9�tdD9�uL9�tZ��@A�E��A��H�Չ�I��DL���?RA��?��A��@t*A�������������L�H9��D�H��[]A\A]A^A_�@A��?�A��@t܋����u�������L�H9�w�Mc�E��A�Ȁ1�L��D���L�T$�_��L�T$H������1�A��u�H��H���E1�[�]L��A\A]A^A_�S�E��D��E1ɾA��H�|$A	�1�A�Ȁ���L�T$H��tAA��@��t�A�����u�������L�H9��y����Mc�E���;���DA�����AWAVAUATUSH��(�/D�l$`L�|$h������H��A��I��%E��M�ʉ������������������`��
��H�=��Hc�H�>��f�A���^D���@A����D���@��������M��D��1ҾH�����Ņ��q�������L�H9�v�������	E1�A�L��H�ߺ@����H���*��H��(��[]A\A]A^A_�fD��0��`��
w�H��Hc�H�>��A�T$����?��AB��|$A9��8D���@D;l$��D���@�������$A�ŀt$D��|$��?9���D����?9�EljD$�t$1�M��D��H��L�\$��L�\$��u]L�\$M��E��T$1ɾH�����L�\$H��t5����f�A�Ā�����E1��L��D��H����������D�+����f�L�|$hM��E��L��D�l$`D��H��(H��[]A\A]A^A_���L�|$hM��E��L��D�l$`D��H��(H��[]A\A]A^A_�7��L�|$hM��E��L��D�l$`D��0135��L�|$hM��E��L��D�l$`D��	
�����H��E��M��D��AW�(H��AUAR���H�� �����D����H��E��M��D��AW� H��AUAR�p���H�� �����D������u=H��M��L��H��AWE��D��D��L�T$ L�\$���_AX��L�\$L�T$�����L�|$hM��E��L��D�l$`D�����������H��E��M��D��AW�8H��AUAR����H�� ������DL�|$hM��E��L��D�l$`D�� !#%�k�������uA��@�~E��t)L�|$hM��E��L��D�l$`D��()+-��f�H��(M��D��D��H��L��[]A\A]A^A_�~�fDA��@�kE9���I���H=��%�������L�H9����t$A9�t"1�M��D��H��L�\$���L�\$���1���L�\$L���H������L�\$������L�\$E1�A����@����D���@����I���H=����������L�H9��9�t$D9�t,1�M��D��H��L�T$L�\$�&�L�\$L�T$�������L�\$L���N����L��H��M��D��H��L��D��A�@PH��L�T$ L�\$�a���Y^��L�\$L�T$�>����+���D�l$M��1ҹ@H��L�T$E1�D��L�\$��L�\$L�T$���
����+����T$1�M��E��H��L�T$L�\$�"��L�\$L�T$H��������kH�SPH�BH�HH������H��L�T$L�\$�\��L�T$L�\$H���i����H�CxD�P�+���A��@��M��E��1�D��H�����H���-�����1����1�M��E��D��H��L�\$�f��L�\$H�������+����L�\$M��E���������I���H����0��u�������L�H9��A�HL�Ѻ�D��H���������c������D�T$1�M��E��H��L�T$L�\$���L�\$L�T$H���J����iH�SPH�BH�HH����R�H��L�T$L�\$���L�T$L�\$H�������H�CxD�P����A��?�����A��?�M��D��1ҾH���Z��Ņ������M��E��1ɺ�H�����H����������n����������L�H9�v���)M��E��L�Ѻ@�H�����H���W�����1��&����T$1�M��E��H��L�\$���L�\$H���!����kH�SPH�BH�HH����G�H��L�\$����L�\$H������H�CxD�x����������������L�H9�v���M��E��L���2���I���H���vȅ�u�������L�H9�w�A�HL�������T$1�M��E��H��L�\$���L�\$H���D����iH�SPH�BH�HH������H��L�\$���L�\$H�������H�CxD�x����H�DH�J�w����D$�]���H�DH�J���M��E��1�D���{���H�DH�J����L���H��L�T$�k��L�T$���������M��E������L���H���A���Ņ��g���E1�A�1ɺ���L�ҾH������Ņ��x����+�
���H�DH�J����UH��SH��H��H�GH�H�p�H��t H�SXH�H�CXH��H�h�H��[]�fD�������u:H�WX����H�BHc�H�H���v�f.�H�DH�J�fD1��ff.�f�ATUS�����H�GX��H��H�HH�Q H������ �*���I��M�������I�$��
��%�	�I�D$H�C0H��ttL� @��1�H�SPL�c0����H�D
HCxH�BH�HH���v3�H�����H��tA�f�L��[]A\ÐL�dH�P�k���f�H�DH�J��DL�c����E1��[L��]A\��E1�[]L��A\�ff.�f�D�E����ATD��UH��S���@ubD��AQH���
A��API��OƉ�A��1Ɂ�1�	ƃ�b���ZY��u��H���[]D	�A\�p���[1�]A\�f�A��@u�A�D$���wH�5��D�$�H�ȁ�L��I����D	�D��A���d���fD1��ff.�f�USH�������H�o(H��t
H�GxH9EtvH�GXH��H�HH�QH���vu��+���H��H��tsH�CxH�EH�EH�C(H��tBH�(H�SPH�k(H�BH�HH���vN�H������H��t,1�f�H��H��[]�DH�k�f�H�lH�P�D1�H��H��[]�@H�DH�J�DAUATI��UH��SH��H����D��uo��A�
�H��A�@���������H��I�����H��tH�UL� H�PH�EA�
A�@1�1���"f���A�@�Lc����1�H������H��I������H��tH�UL� H�PH�EH��[]A\A]��k���1ɾH��A�
A�@�I���H����H��I������H��tH�UL�(H�PH�EH�����M��t�H��t�I�T$I�D$H��H��I�T$H��[]A\A]þH�߉L$����H��I���_����L$H��tI��$�L�(H�PI��$���H���������AUATI��USH��H�� H�/H����H���H���H�H��tH��tH�QH�AH��H��H�Q�H���*����H��I������H��tI��$pL�(H�PI��$p�H��L�k���H��tM��tH�PL�hH��H��H�PH�[H���b���IDŽ$ H��[]A\A]�ff.�AUATUSH���/����I��A��H����@��H�WXH�BH�H H������ ���H����D��H���
��Hc�H�PH�S0H����H�H�SPH�C0L�hH�BH�Cx
H�HH������H���T��H�����f�H����[]A\A]�fDLJ�I��A��1�1Ҿ���H��tmA���� ��D�PH����[]A\A]�f�H�DH�J����f�H�DH�J�n���f�H�C�0�������]����+�V���f�AUA��ATI��D��UH��S��H��D9�uM9�tf�����?��M��1҉�H�����A�ą���E1�1�1�A�ؾH�����H����Dh��H��D��[]A\A]�fDA��1�1�M���t��H��t{��E1�DhH��D��[]A\A]��1�M�ȾH���n����uFE1�1�1�A��H��� ��H��t'DhL��E1������H���/��A�ą��X���D�eH��[]D��A\A]�f�����fDAWAVAUATUSH��(D�/E��u0A��A��H��D��D������E��u*A��'
A�����H��(D��[]A\A]A^A_��D��I��0�H�v@��)�?��*����(u�L��D��H��(H��[]A\A]A^A_�����LJ�A��?E9�u�H߃��u������@��t@�ƀ����&���ɍH�t��wH���Hc�H�>������H���Hc�H�>��fD�=��&�u��������=��&A��@�A��H��AL޾1ɉ��a��H���0�5��&����A���f�����A���ؾH��M�%A��@I��?��E�L�L$A����L�L$A��&D�T$D�T$����D�T$L�L$H������1�A�@D�ր�H��H�D$��L�\$����H��L�\$���L�\$H����I�SI�CH��H��I�SA��A�غ@H��HɾE1Ƀ� H���^��H��t1�H0A�ƀ�����E1��L��D��H���e���������DD�m����L��D���������%����������Mc�A��L��D��H��������D����@LJ�1�1Ҿ���H��t��A�L$��Pf�8���q��A��#����A��CшP���fDA���@�H��M�1�A��@I��?����������E1�1�A��ھH���+��H��������Df����D��tE��A��L��1�D��H��������d������f�M��A��L��D��H���v�����4������f�M��A��L��D��H������������a���f�E��A��L��1�D��H���Y���������4���@E��A��L��1�D��H�����������������@M�ȉ����fD���P���D�E�������A���s���ff.�f�AWE1�A���!AVI��1�AUE��A��ATA�ԺUH��SH��H�H�����j1ɺj@E1�A��`H��������XZ���A��������t
A���A��1ɺH��A�@���I��A������A�����A������h�E1�1�A�j@��bH���V�A��A[]��E1�A��1ɺ�!H�����A�1�H��A�@�����jE1�A�j@1ɺ�hH��H�����A[A\j?j@E1�A�1ɺ�eH�����A]A_jjE1�A�1ɺ�fH����XA�ZA��1ɺH�߾!�L���jj@E1�1�A���`H���[�XZjj@E1�1�A���hH���8�Y^j?j@E1�1�A���eH����_AXjjE1�1�H��A���f���AYH��AZ��H����H���}H�UH�EH��H��H�U�df.�1ɾH��A��A�@��p�A���H��I���+�6�H��I�����H��tH���L�(H�PH���M��t@1�1�H��I�����A�@��	�H��H����H��t
I�H�(H�PI�H����M��tH��tI�T$I�D$H��H��I�T$H��[]A\A]A^A_��A�������@A����A���IA��1ɺH��L�
���!I���I���jj1ɾ`E1�A��H���X�Y^H����M���g���H���^���I�VI�FH��H��I�VH��[]A\A]A^A_�f�h�E1�1�A�j@��bH�����A��A[]�gE1�A��1ɺ�!H�����A�1�H��A�@����jE1�A�j@1ɺ�hH��H���~�Y^j?j@E1�A�1ɺ�eH���[�_AXjjE1�A�1ɺ�fH���7�AYA��AZA�1ɺH�߾!���jE1�A�j@1ɺ�hH�����A[A\j?j@E1�A�1ɺ�eH�����A]A_jjE1�A�1ɺ�fH����XA�ZA��1ɺH�߾!�V���j�����A��1ɺH��L�
���!I��� ���E1�A��1ɺ�!H������A�1�H��A�@�����jE1�A�j@1ɺ�hH��H�����A\A]j?j@E1�A�1ɺ�eH�����A_XjjE1�A�1ɺ�fH����XA�ZA��1ɺH�߾!�T�jE1�A�j@1ɺ�hH���c�Y^j?j@E1�A�1ɺ�eH���@�_AXjjE1�A�1ɺ�fH����AYA�AZ1�A���H�߾!���jE1�1�j@A��H�߾h����A[A\j?j@E1�1�A���eH�����A]A_jjE1�1ɺH��A��f���XH��Z�3�H��tH��tH�UH�EH��H��H�Ujj���@E1�1�A����!H����A���!jE1�A�1�j@��`H�����A_Xj?j@E1�A�1ɺ�eH������XZjj@E1�A�1ɺ�hH������Y^j?j@E1�A�1ɺ�eH�����_AXjjE1�A�1ɺ�fH�����AYAZ�#���f�A��1ɺH��L�
���!I����E1�A��1ɺ�!H����A�1�H��A�@�����jE1�A�j@1ɺ�hH��H������Y^j?j@E1�A�1ɺ�eH������_AXjjE1�A�1ɺ�fH�����AYA�AZ������H���C��H��I�����H������H���L� H�PH���������H��I����H�����H��L�(H�PH�������A��1ɺH��L�
)��!I����j?E1�A�j@1ɺ�eH������_AXjj@E1�A�1ɺ�hH�����AYAZj?j@E1�A�1ɺ�eH���~��A[]jjE1�A�1ɺ�fH���Z��A\A]����AWI��A��M��AVAUATI��USH��HcG8L�/�$H�,�H�ËUD�u ���t-HcM�t$�ʀE1�E�� L��L�\$���L�\$D�T$E��D��L��M��A�Ȁ1ɾ �����$�VUUUD�}�E�����)R)�A�\$8H��[]A\A]A^A_�f.�AVAUATUS���H�������uD���H��E����H����1�A��H��I�������!H����jE1�1�j@A��H�߾b���Y^h�j@E1�1�A���eH������_1�AX1�A���H��A�@��H��tH��tH�PH�hH��H��H�P[]A\A]A^�fDj�H��E1�j@A�1ɾb���XZ[]A\A]A^�@1�I�����H��I��A����!��jE1�1�j@A��H�߾b�+��AY1�AZA��A�@�H�߾����H��I�����H��I���W�H��tH��L�0H�PH��M��t>1�E1�1�H��A�@����H��H����H��tI�$H�(H�PI�$H���2�H������M�������I�UI�EH��H��I�U[]A\A]A^��������AUATUSH��H��L�'��tu1��L����L��M�������H��tH�PL�hH��H��H�PH��t!L����H��tH�UH�EH��H��H�UH��[]A\A]������u�HcOTE1ɺ�L��A���o�H�Ń���]���HcKXE1�A�@L�纎� �0��o��������L��I����H���F���H��8L�(H�PH��8�,����HcKTI�����1�L��A�@�����H���\����AWE1�I��AVA���!AUM��A��ATI��1�U�պSH��H�H���t�A�����tA��wH��[]A\A]A^A_�@A��1ɺH��A�@��@�E1�A���L�� H��I����jE1�A�j@1ɺ�`H���!��Z�YH�����A���I���H�$��tI����H��H�T$�S�H��tH�T$H�
H�HH�$H�H�1�M��A��� H���~�M��tQA�����tF1�1�H��I�����A�@��`��H��H�����H��tI�UH�(H�PI�E@H����M�������H�������I�VI�FH��H��I�VH��[]A\A]A^A_�ff.�AVI�����A��1�AUI�պATA��!USH�/H��H���������tA��w[]A\A]A^�f��H��A��1�A�@����H��I�ċ����uk�F��H��I�����H��tH���L�(H�PH���H����M��t�H���{���I�T$I�D$H��H��I�T$[]A\A]A^�fD����H��I���{�H��tH��L�0H�PH��M��t�1�1�H��I�����A�@����H��H���.�H���Y���I�UH�H�PI�E�E����ATUS���H��H�/��t[��t[]A\ÐL���HcOTE1�A����H��M�����1�H��t�H�PL�`H��H��H�P[]A\�HcOTE1ɺ�H��A�����HcKXE1�H��A�@��� I����H����M���X���H���O���I�T$I�D$H��H��I�T$[]A\�f����H��I�����H������H��8L� H�PH��8���UE1�H��1�SH��A�
��H��H�?�'�H��tH��tH�PH�hH��H��H�PH��H��[]�{���ff.�AVAUI��ATUS���H�/�UH��E1�A�
1ɺ�H�����I�ċ����tx�����L����H��M���S�^��H��tH�PL�hH��H��H�PH���-�M��tH��tI�T$I�D$H��H��I�T$[]A\A]A^�HcKTE1�A����H������H��I�����H��tI�UL�0H�PI�E����E���HcKXE1�A�@H�ﺎ� ���H������H��H���4��H���6���I�UH�H�PI�E�"����E1�1ɾH��A�
��c���H��H������H������I�UH�H�PI�E[]A\A]A^�f�����H��I�����H�������H��8L�(H�PH��8����HcKTI�����A�@1������AVE1�1�A��AUI���!ATA�ԺUH��SH�H����jE1�1�j@A��H�߾`���L���^1�_A���H�߾!�K�E��u[]A\A]A^�D1�A���H��A�@��(�����I�ą����H�������H��I�����H��tH���L�0H�PH���1�1�H��I�����A�@������H��H���B��H��tI�UH�(H�PI�EE1�A�@1ɺ� H���q��R�A��1ɺH��L�
���!I���@�j�E1�jA�1ɾ`H���O��XZH�����M������H�������I�T$I�D$H��H��I�T$[]A\A]A^�AVE1�1�A��AUA��I���AT�!UH��SH�H����jE1�1�j@A��H�߾`���_D���H��AX��A��E�ɾ!L���u[]A\A]A^�S��K�A��1�H��A�@���;��I��E���_����H�߅��i�����H��I�����H��tH���L�0H�PH���E1�A�1ɺ� H����I�����1�1�A�@�H������H��I���/��H��tI�UL�0H�PI�EE1�1�A�@�� H���^�1�A��H��A�@���N��1�H��A��L�����!I����H������M��tH��tI�UI�EH��H��I�UH������H��tM��tI�T$I�D$H��H��I�T$[]A\A]A^�f��������E1�A��1ɺ�!H����jE1�A�j@1ɺ�`H�����A[A^h�j@1ɺE1�A��bH���|�����XZ����jE1�A�1�j@��hH���K��ZYjjE1�A�1ɺ�`H���(��^_h�j@E1�A�1ɺ�bH�����D���AXAYE���C���A�@A�@1ɺ���������H��I���+��H�������H���L�(H�PH����t����1ɾH��A�A�@��P���H��I������H�����I�UL�0H�PI�E����E1�1ɾH��A�
�����H��I�����H���(���I�UL�0H�PI�E����fDAVAUI��ATUS���H��mH��E1�1�A�
��H��������HcMTA�I�ĺ��H��A����c���H��I������H��tI�UL�0H�PI�EL����H��M���7���H��tH�PL�hH��H��H�PH������M��tH��tI�T$I�D$H��H��I�T$[]A\A]A^�������H��I���K��H��tI�UL�0H�PI�EHcMXE1�A�@H�ߺ�� �x���H���[���H��H�����H���Y���I�UH�(H�PI�E�E���fDE1�1ɾH��A�
��+���H��H�����H���2���I�UH�(H�PI�E[]A\A]A^�f.������H��I���k��H������H��8L�(H�PH��8����AWA��AVAUI��ATI��UH��SH��8H�D�D$dH�%(H�D$(1��H�D$ ��q<�OE1�A��1ɺ� H���:��D���E����jA�A��j1ɺ�bH���6��A[A^E1�E���njE1�1�A�j��`H�����AY1�E1�AZA�
�H�߾�������I�����H�����A�}q�H��H�D$H���H���HD�H�T$�	��H��tH�T$H�t$H�
H�0H�HH�E1�1ɾH��A�@��@���H��H�D$���H��tI�$H�|$H�PH�8I�$���u\M��t-�T$���;�H���~��H��tI�$L�0H�PI�$H�D$(dH3%(�iH��8[]A\A]A^A_��H�߾���H��H�D$�f��H��tM��tI�WI�GH��H��I�WjE1�1�A�j��bH���w��Y^jj
E1�1�A���`H���T��_E1�AX1�1�A�@�H�����E1�1ɺA�
� H��I�������H������A�}q�H��H�D$H���H���HE�I���N��H��tI�UH�t$H�PH�0I�EE1�1ɾH��A�@�����H��I�����H��tI�$L�(H�PI�$H���,��M��tH��tI�WI�GH��H��I�W1�H�����H������H��H�����H��tI�$H�(H�PI�$H������H�L$H�����H������H�yH�AH��H�|$H��H��H�Q���H�����H������I�VI�FH��H��I�V���fDA�}r�K���A�A��1ɺ� H���U��D�|$��E1ɺ�� H��Hc��A�
�(��E1ɺ�H��Hc��A�	� H�����E1ɺ�H��Hc��A�� H������E1�1�A��
� H�����E1�1�A��	� H�����H���z��E1�1�A�	�
�H��I�����E1�1�A�
��H��I���j��E1�1�A��� H��I���:��E1�1�A�
�� H�����1�1�A�����H������E1�A�1ɺ
� H������E1�1�A��� H������E1�1�A��� H�����1�H�L$ H��A������u��1�E1�1�A��H�����M���D$�t$H��t@��tH�PL�pH��H��H�PE1�1�A��� H���3���H������H��H�D$���H��tH���H�t$H�PH�0H���jE1�1�A�j@��hH�����A[Xjj@E1�1�A���hH�����XZjjE1�1�A���`H�����Y^�55�&j@E1�1�A���`H�����_1�AXA���&H��A���C��1�A�H��A����!�#��jE1�1�jA��H�߾`�2���AY1�E1�1�AZA��H������H��t�|$tH�PL�pH��H��H�P1�E1�1�H��A�@�����H��H�D$�8��H��tH�T$ H�t$H�PH�0H�D$ jE1�1�A�j@��hH�����XZ�5�&j@E1�A�1ɺ�`H���e���YH��^���E1�1�A����%H��H�D$�	��jE1�1�j@A��H�߾`����_AXjjE1�1�1Ҿb
H��A����AY1�AZH�����H��t�|$tH�PL�pH��H��H�PH�߾�|��H�|$H��tH��tH�PH�xH��H��H�PH���A��H�t$ H��@��H��t*H�H��t@��tH�QH�AH��H��H�QH�vH��uփ����1�A���
H��Lc��� ���1�A��H��Lc���	� I������1�A��H��Lc���� I������H������H��I���1��H��tI�$L�0H�PI�$�����H���H��H��tM��tI�WI�GH��H��I�W1�A���
H��Lc��� �)��1�A��H��Lc���	� I�����1�A��H��Lc���� I������1�H�����H������H��I���X��H��tI�$L�0H�PI�$H���|��M��tH��tI�UI�EH��H��I�U1�H��A���
Lc��� �]��1�H��A��Lc���	� I���8��A��1�H��Lc���� I������D���fDD�VHcGD1�H��A��� fA��E��C�I��L����E��t
�����tR�����tA�}r��HcEDE�VjA��Mc�jN���u��1�H���n��I����fDLcMD1�1�H��A���I���a���H��H�D$����H���t���I�$H�L$H�PH�I�$�[���D�H�����H���^�I�$L�8H�PI�$�J�fDE�VHcEDA��Mc�N���e���fD1�E1�1�H��A������H��I���>��H���K���I�$L�(H�PI�$�7����H���X��M���V���H���M���I�WI�GH��H��I�W�4�������AWI��AVAUI��ATUSH��L�V H�E�2A����G�n0���������E1�A��~A���#McM41�A��H�ߺ� �����H������H��I���X��H��tI��xL�0H�PI��x1�A���H��I��� �}��A�E0E1�1�A���`H�߃�H�H��Pj@耺��YIcM4E1�^A�� H�ߺ��/��H�����I�uH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�@���t`H��[]A\A]A^A_ÐH�����I�uH��t�H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u�@���u�jE1�1�A�j@��bH��菹��XE1�Z1ɾ H��A�@���@��I�m8�H�����H��tH��tH�PH�hH��H��H�PH������M��� ���H������I�T$I�D$H��H��I�T$H��[]A\A]A^A_ÐE1�1�A���� H��L�T$���E�]0L�T$E���XA�B������L�T$I�?E1�1�jA��D��j@�`蓸��_E1�AX1�A�@�1�H���V��L�T$I��E�r�0���@H��A��������I�uH���5���H��@��fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�A�����E1�1�A�@��� H�����I�m8E1�1�A�@��H�����H��tH��tH�PH�hH��H��H�PjI�?E1�A�j@1ɺ�`臷��AYAZH��[]A\A]A^A_�H�����I�uH�������V���f.�AWAVD�4�AUI��ATUH��SH��H��8L�?H���UH9���I����D$$Mc��D$ �D$H�D$(�.<��D�L$E����D$H��H9��9�M��<��W<�s<u��v���x<�LA�F�E�^�McMhH�H�D$Ic�H�D$E��t�D$$����D�cMcMDL��L��A�@��A��H��fA��� E��G�$M��I��M�L�\$A�����L�\$McMD1ɺ� L��Mc�M�A������IcED1ɺA��� L��N�����H�L$E1�L��A���� ���H�L$E1�L��A���� �k��Mc�M��H9�����L��H��8L��E1�A�@[��]� A\A]A^A_�0��<�t(v"<�t"<�tH�|$(H�����H���o���D<�u�D�D$ E�����C�D$ H�\�B���A�����t�t$����McM`E��t�L$ ����McMhE��t�T$$���_H�����fDMcMDA��1�L���� �r��McMDL��L��A�@��� I���P��A�N�A��E1�Hc�A�L��Mc溌� �'��M���u����McM`A��1�L���� ���E�M`L��L��A�@��� A��Mc�����A�N�A��E1�Hc�A�L��Mc溌� ���M�����@H��D�Ef����Hŀ}xt��<������<��|���H��I����2���H��H9��j���fDIc�����A��1ɺL��� �&��E�MhL��L��A�@��� A��Mc����A�N�A��E1�Hc�A�L��Mc溌� ����M���D$$�)����A��1ɺL��� ���E�M`L��L��A�@��� A��Mc����A�N�A��E1�Hc�A�L��Mc溌� �X��M���D$ ����McMDA��1�L���� �"��McMDL��L��A�@��� I�����A�N�A��E1�Hc�A�L��Mc溌� ����M���D$����A��1ɺL��� D�\$���E�MhL��L��A�@��� A��Mc��|��H�L$E1�L��A���� �\��A�F�D�\$L�T$H��D$$H�D$A�F�E��H�H�D$���ff.��AWAVAUI��ATUH����SB��H���L$ ��H�T$D�L$TdH�%(H��$�1�H��L$$����
�6
���-
H��|$$H�����DŽ$�H��$�H�H��$�H�H��$���$�H��$�H��$���D$E1���H9l$���D$ �D$X�D$\���D$d����D$`�ƒ��t$(��!�H��$�H�D$I����T$/H�D$hf��U�B�<��QH�=�W��Hc�H�>��DI�EH��I+UH��E1҃|$$A�Hc�H�D$p�l@A��E1�D�|$(�B�Ӏ|$/��B��H9l$�u���L��$���$��A�VUUUHcË������t#�ʀE1ɾ L��Hc���D�����	���K��A����)R)��˃�u�H��$�dH3%(��
H��[]A\A]A^A_�DI�UI�EH��H)�Lc$�E����H�ME1�L�d$pA�H)у|$$Hc�H�l���W��D$TE1���t]E���E��t%�D$`E1���uIcED�D$`A�H��$�IcU`��t$�D$d��uIc��D$dA��H��̀DMcUhE��t$D�d$\E���)	�D$\L��$�A�H���^f��!��pu�Ef����I�UH��I+MH�Lc$�E����H����q�����	�����|$$��E1�E1����I�EH��I+ULc$�E����L�d$pH��I��E1҃|$$L�d$xA�������
DI�EH��I+ULc$�E���0H��E1҃|$$L�d$pA��k�����fDI�EH��I+ULc$�E����L�d$pH��I��E1҃|$$L�d$xA��"����D�D$XE1҅�uIcEdA�H��$��D$XH��E1�E1�|$$����|$(���E�����B���\$4L��$��D$P؉D$0D�t$8D�t$L�l$@M��H�l$H��I�]Lc�E����H�|$M��D��H�ھ����I����;l$0uˋ\$4\$P�|$/D�t$8L�l$@H�l$H�]���E���X���A���\$4L��$�B�3�D$0H��D��I��Hc�I�$�����L$H�|$I�оH���O����I��;\$0uˋ\$4L��A��H��D����D�t$T�����L$d����IcE`�D$dA�H��$�McUdE��t"�T$X���!�D$XL��$�A��UH�l�i���D�Ef�����D��z<����H���|$$�3����|$(��E1�E1��%����I�EH��I+ULc$�E��tL�d$pI��L�d$xA�E���H�EE�����UH�ŀ��vH�����?�H�E1҃|$$�����E���r���B��L�l$8L�t$pA�܉D$4؉D$0H�l$@�\$PL��E��L�+Ic�E�����L$H�|$I��L�����H��A��D;d$0u�E��\$4L�l$8E1�H�l$@\$P� ���fD�UIcMDA�f���4H��H�4�H��$�H�H��H��$�IcEh��t D�L$\E��uH��$�A��D$\I�EH��I+M��H���|$$A�Hc�H�D$pIcE@H��H�D$x�w�������f.��UIcMDA�f���4H��H�4�H��$�H�H��H��$�IcEh��tD�\$\E����I�E(�Ҁ<�aIcE@H���|$$A�H��H�D$p����J���f.�I�EH��I+ULc$�E��tL�d$pI��L�d$xA�A���H�E�����UH�ŀ�����������D$T�����D$`����IcED�D$`A�H��$�H��E1��^���f�I�EH��I+ULc$�E���P���E���L�d$pH�EA�E���E���f�H���Q����H�|$hH��E1��@|��E1�H����D�t$H�|$M��H���'���|$ �r����T����H�|$I�عL��D������|$ ����������t$H�|$I��������v���DH���|$$�#���E1��A���f�H���|$$v�|$(����E1��|$/�8����7����H��|$$H�����DŽ$�H��$�H�H��$�H�H��$���$�H��$�H��$��6Lc�McEP�E1�L��$�L��L�������D$�f�H��|$$H�����DŽ$�H��$�A�H�H��$�H�H��$���$�H��$�H��$��D$�0���Lc�L��$�IcUP�L$M��L���5������E1��2����E1��Z����H���|$$�����E1��|$(��������fD�|$$�,����J����E1��D$���UE1�H�l�[����E1�H���H���@H��$�A��D$\���DL�d$pE1�I���|$$L�d$xA�����Q���E1҃|$$L�d$pA�����3���L��$�LcGPHcӹ�L��������������H9wwFH9wv@UH��SH��H��H�H9�vH�܅&H��H!�H!�H9�wH�]H��H��[]��1��DH)�����H�]H��H��[]�ff.�f�H����dH�%(H�D$1���u4�f�D$of�L$��u0���@�t$H�t$�:����2����D$of�D$��F�T$�@�t$H�t$����H�D$dH3%(uH�������ff.��SE1�H��A�h�1ɺ�ej@����XH��ZA��A�@1�[���ȯ���AWAVAUATUSH��(�����H�GP1��H��H�H�H��H��u�H�GPH�|$H�x��q��I��H�D$M���uL�P L�xPM��L�pL�hH�XL��M���I�oI�OL�<$M��H�I��H���YfDH�KH�SH�CH�yL�H�������H�����P�H�H�������H�A�H�CH�H��L9�sm�M��u-�U���`���8��u�H�P�I�WM�?��fD��L�U���������tA�
����=I�,H�L9�r�M��L�<$M�?M���
���H�\$M��H�SH��u�Rf�H�z���O�H�H��t;H�JH�r��u���-��H�z��H�O)���H�H��u�DH�\$H�SH��u�)H�q�H�H��tH�JH�qH�J�Bu�q�H�H��u�H�\$L)��Hǃ�H���H��(L��[]A\A]A^A_�DH��I�FL)�I�VM�6���f.�I�uI�E����H��I�UH��
��t
H�rL�H��H)�H�����H��~H����O�����H9�wu��������H�PI�EI�MH�Bf�M�m����H�MH�xH��H���I�t
�H�t�H��L��H)�H)����H��(���@H��L��L�D$�Hr��L�D$롐H��H�CH)�H�{���f�H�����L�D$H)�H�L�Q
H��L��L�T$�*��L�T$L�D$H���@��<�IDʀ!��Aǀa�H�CH�CH��H�C����@�P�H�A�����������H�JH�IH����������H9��"�����t)���������w��H�5[�>���I�E���I�EI�MH�����fDA�
���A�t
��t����)��O������@��H�PI�E�E�����A�t
�f�t�����H�P��w
��H�5�Z�>�HI�E�
���E1��`�����U���ff.��AUATUSH������H�GXI��H��H�HH�Q H������ ���H��H����H�CxH�EH�EH�EH�C@H�EH����H�(H�k@1ҾH��ǃ��zy����u~E1��L�⾌H��L�kx������u^H�CxH�SPL)�H�EH�BH�HH���v.�H���9x��H��t,�f�H��H��[]A\A]�fDH�DH�J��DH��1�[H��]A\A]��H�lH�P����f�H�k�0����AWAVAUATUSH��D�7E����H��X��Lc�H�WPD�<��H��H�BA����f�A��A�H�H	A����A��`EL�H������	D�D$�Sw��D�D$H���}Ic�H��XH�=�X��4
H�Cx����<���@D�xf�x�P�H�P��A����	�fD�P���PA��u*A��_��jE1�E��1�jD���H��螛��AXAYA��H��D��[]A\A]A^A_�DH�DH�J�D���f��A�P�Mf�HD�x�r���fDH�HH�������Uv��H����H��W�A�@H�CxB�<"H�{WB�"��fD�X��@D�x����@ˆH�@�P�J����1�A�� D��H�����E1�1҉��H��[]A\A]A^A_�~���fDD�3�	���H�DH�J�]���f�AWI��AVAUATI��UH��SH��(H�@����A���c@���A�@����@���&E1�1�A�
��H������j1�1�j@A�X�eH��A��I�����AZ�H��A[譥���H��I���M���H��tH�UL�(H�PH�E1�L���o���H�߾�r���H��I���W���M��tH��tI�VI�FH��H��I�VE���E��uA�����|
A���E1�1�L����s���A���1�H��L���ϧ��H�����M��tH��tI�UI�EH��H��I�UH��(L��[]A\A]A^A_��@����@���4@���A�@��u�A��1ɺH�߾ 茬��E1�A�1ɺ�H�������H��I�����H���m���H�UL�(H�PH�E�Y���f�@���M���H��E1�A�
1ɺ��)���A���I�Ņ��'E1�1�A����!H�����1�A�
H��A�@���ڤ��E1�1�A�H�D$��`H��jj@�ԗ��Y^jj
E1�1�1�A��bH��贗��_�AXH���d����H��H�D$�R����H��I����H��tH�UL�0H�PH�E1�A��H��A���!����1�1�A�
A�@�H�������H��I������H��H�D$����H��tH�UH�L$H�PH�H�EH��螤��H��t&H�L$H��tH�yH�AH��H�|$H��H��H�QA����
E1�1�A��� H���h���A���H��L��A���A��)���E1�1ɾH��A�
��<����H��H�D$躡��H��tH�UH�L$H�PH�H�E�H������H��H�D$股��H��tI���H�L$H�PH�I���1�H��詡���H��H�D$�G���H��tH�UH�L$H�PH�H�EE1�A�1ɺ� H���q���H���I���H��t&H�L$H��tH�yH�AH��H�|$H��H��H�QH������M���&H���I�VI�FH��H��I�V�@����@��}����D�*I��fA��fE����A�1ɺH��A��� 轨��E���E��E����1�A�@�H�߾ 菨��H���g���E1�1ɾH��A��I���w����H��I�����H��tH�UL�0H�PH�E1�H��L���ָ��jE1�A�j@1ɾbH�ߺ�E���_�AXH�����H��tM��tH�PL�hH��H��H�PA���I���������IcOTE1�A�H�ߺ��輠��IcOTE1�H��A���� H��芧��H���b���H�������H�������H�UH�EH��H��H�U�n����E1�1ɾH��A�
��C����H��I���Þ��H��tH�UL�(H�PH�EA��������L���Թ�������1�A��H��A��� �Ȧ��E1�1ɾH��A��軟���H��I���;���H��tH�UL�(H�PH�Ej1ɾeA�Xj@A��1�H��薒��Y^�H���G������f�j1�1�A�Xj@A���eH���_���A^�H��X�����H��I��话��H��tH�UL�(H�PH�EE���E����E1�1ɾH��A�
��ޞ���H��I���^���H��tH�UL�(H�PH�E1�L��耸�����A����D�H���k����H��I������H��tI���L�0H�PI���E���E���q1�A��A�@H��@�ƺE1�1ɍ4��(������1�A��H��A��� ��E1�1�A���H�����j1�1�j@A�X�eH��A��I���ߐ��X�H��Z萜���H��I���0���H��tH�UL�(H�PH�EH�߾�_���H��I���D���H��tM��tI�VI�FH��H��I�VA�������A�����uA�����;A���H��L���)������@H��L��L���������A�����GjE1�1�A�j@��`H���ޏ��AY1�E1�AZA���H�߾!荣��E1�1ɾH��A�
�耜���H��I������H��tH�UL�0H�PH�EMc��A�@1ɺ�H���;����H��I��軚��H��tH�UL�0H�PH�EH���ߜ��H�����M������I�UI�EH��H��I�U����@1�A��@���b����jE1�1�A�j@��`H���ώ��_E1�1�AX�A��H�߾!����E1�1�A�
A�����"�H���d���1ɾH��E���A�@�I���?����H��H�D$轙��H��tH�UH�L$H�PH�H�E�L���״���H���ڙ���H��H�D$�x���H��tH�UH�L$H�PH�H�EH��藛��H��tM��tI�VI�FH��H��I�VA�1�A���H�߾!�y���1ɾH��E���A�@��g����H��I�����H��tH�UL�0H�PH�E1ɾH��A�@E�����!����H��I��衘��H�����H�UL�0H�PH�E���@jE1�1�A�j@��bH�����A[E1�A^1ɾH��A��讙���H��I���.���H��tH�UL�0H�PH�EA��1ɺH��I������!�Y���I��������DE1�1ɾH��A�
��;����H��I��軗��H������H�UL�0H�PH�E����fDAQ1�E1�A�j@��bH������YE1�^1ɾH��A���Ș���H��I���H���H�������H�UL�(H�PH�E���jE1�1�A�j@��`H��藋��YE1�1�^A���H�߾!�H���E1�1�A�
A�����%1�H���0���jE1�A�j
1�1ҾbH��I���/���A[�X�� H���e�E1�A�1�A���1ҾbH��Pj@��X�Z�f�H���'��H��芖���H��H�D$�(���H��tH�UH�L$H�PH�H�E�L���B����H���E����H��H�D$���H��tH�UH�L$H�PH�H�EH������M��tH��tI�VI�FH��H��I�V1�A��H��A���!���1ɾH��E���A�@��Җ���H��I���R���H��tH�UL�0H�PH�EE���A�@1ɺ�L���@jE1�1�A�j@��`H��菉��XE1�Z1ɾH��A�
��P����H��H�D$�Δ��H��tH�UH�L$H�PH�H�E1ɾH��A�
A�@������H��H�D$胔��H���i�H�UH�L$H�PH�H�E�P�jMcOT1�A��j@��`H���ψ��XE1�Z1�A��H�߾萕��IcOTE1�H��A���� H���^���H���6���H���d�H������V��H���B����H��I���“��H�������H�UL�0H�PH�E�l����H�������H��I��舓��H������H�UL�0H�PH�E����ff.�AWAVI��AUATUSH���w\H�dH�%(H�D$1�H�$����A�����uA�����MA�1ɺH��A��� E1��J���E1�A�1ɺ�H���=���1�1�L��H��辫��H�����A�1�L��I��A���I��A����Ο���E1�1�A�
�H�����A���I�čF����k1�H��L���n���H�$M��@��H��t0fDH�H��t@��tH�BL�zH��H��H�BH�IH��u�A���������H���3���H��tM��tI�T$I�D$H��H��I�T$H���
���H��tH��tH�UH�EH��H��H�UA�F\��udH�D$dH3%(�pH��[]A\A]A^A_ÐE1�1�H��A�
�� �Ù��McN\1ɺ
A��� H��襙������E1�A�1ɺ
� H��胙���z���fDH�߾�[���H��I���@���M��tH��tI�UI�EH��H��I�UE1�1�A�
��H���5���E1�1�A����!H��I������j
E1�A�j@1�1ҾbH������Z� Y�1�H���Q�jE1�1�j�`H��A�����^_H��膒��M��tH��tI�UI�EH��H��I�UH���`���H������M������I�WI�GH��H��I�W���D1�A�
A�@1ɺH���C���A���I���i���@E1�1�A�
��H������1�A�H��A���� H�����1�A�H��A���� ���E1�1�A���H��賐��jE1�1�j@A��H�߾`I��诃��AXAYjjE1�A�1�1ҾbH��荃��AZ�A[�� H�����jE1�1�jA��H�߾b�Q���A]H��A_���jE1�1�j@A��H�߾`I���!���XE1�Z1�A�
�H�߾���1�A��H��I�������!I��讖��A��1�H��I�������!荖��A�@1�H��E������{���E���H����M����H�PL�x1�A�@�H��H��H��H�P��3���H��tH�PL�xH��H��H�PH�����M��tH��tI�UI�EH��H��I�UH��輏��M�������H����������1�A�@�H�߾軎��H��t�M��u��A�@1ɺH�߾蕎���v����K���ff.�AWAVAUATUH��SH��(H�dH�%(H�D$1�H�GH�D$�PX�с��@a�:����H��E1�A�1ɺ� ���������u�����E1�1�A�
��H���ލ��H��I��裎��HcM\E1�H��A���� I��衔�����1�H��A��e������H�T$H���-���E1�1�A�
��H���`���H��tM��tH�PL�`H��H��H�PH���
���M��tH��tI�UI�EH��H��I�UHcM\� E1�H��A������H���ō��H�t$H��t5H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�A�1ɺ� H��E1�膓���H���i���I��H���N���D���H�$E��t-D���E���^E1�A��1ɺ�!H���1���j1ɺE1�j@A��`H���@�����XZ����������rH���ʌ��M��tH��tI�VI�FH��H��I�VE����H�\$dH3%(H�$�sH��([]A\A]A^A_�@���A�����vE1䁿��A��E1�E1������H���D���I��E������H��� ���E1�1�A�H�D$��`H��jj@�J~��^E1�_1�A�
�H�߾����E1�1�A����!H��I���ۑ�����1�1�E1�A��bH��Pj@��}��AX1�AY�� H����jE1�1�jA��H�߾`�}��AZ�A[H���]���H��I���B���E1�1�A����!H��H�$�A���1�1�A�@D����H���2���H�����H�t$H������H�PH�pH��H��H�P���f�E1������E1�E1����r���1�A�H�H��A��� 賐��E1�1�A�
�� H��薐��1�1�I�����A�@�H��舉��1�A�H��A���� I���U���jE1�1�jA��H�߾`�d|��A^E1�A_1�A�
�H�߾�#���E1�1�H��A�
�� I����H���ˉ��M��tH��tI�WI�GH��H��I�W1�A�@�H��I������ 謏��E1�1ɾH��A��蟈���H��I������H��tH��PL�0H�PH��PH���=���M��tH��tI�UI�EH��H��I�UHcM\E1�A�H�ߺ�� � ������H����E1�1�A�
��H��H�D$���E1�1�A����!H��H���Ύ��jE1�1�j@A��H�߾`��z��AXAYh�j@E1�1�A���bH���z��AZ1�A[A�@A�@�H�߾�q���H��tL�T$M��tH�PL�PH��H��H�PjE1�1ɾbj@H��A���Mz��^_H����H������H������H�UH�EH��H��H�U����H��踇��M��tH��tI�UI�EH��H��I�UH��蒇��M�����H������I�WI�GH��H��I�W�����1�A���H��A�@��p���1�A��H��L�
�S��!H��I���5���jE1�1�j�H��A��`�Dy��XH��Z���H������H�����������E1�����H��踆��jE1�A�j@1ɺ�`H��I����x��YE1�^A�
1ɺH�߾襅��A��1�H��I�������!I���q���E1�A��1ɺ�!H���T���A�@1�H��D������B���D���H����M����H�PL�`1�A�@�H��H��H��H�P����H��tH�PL�`H��H��H�PH��詅��M��tH��tI�UI�EH��H��I�UHcM\j��E1�j@A��bH���w��XZ����1�A�@�H�߾�w���M��t�H���t����A�@1ɺH�߾�M����g������������U���������SH�H��H��LJ�H9�wOH��uH��E1��1�[]��_��DH��A�@R�1�E1���H���Qu��ZYH��[]�����R����uH��A�j�@�����@AW1�A��AVAUI��ATUSH���nD�f� LcODL�7H�T$�f��fA��D��I��E��L���L��L��A������f���v~DA�$IcUD�L��f��H�����H����IcMDE1�L���A���H��ς���L��H���O���H��t
H�H�hH��A��M��A���u�A�$IcUD�L��f��H�����H��8���H�|$tA�����tUL���-���H��@��H��t,�H�MH��t@��tH�QH�AH��H��H�QH�mH��u�H��[]A\A]A^A_�fDIcMD1�E1�L��A���H����L��H���q���H���s���H�|$H�H�H�PH��\����ATD�'USE��uaH����?��H�WPHc�H�
J1�<)H�BwHH�HH�������O��H����H��0��*H�Cx��X�PD��[]A\�H�HH���v{��qO��H��t|H��0��*H�Cx�@A��X�PD��[]A\��E1�A��1�1�LJ���P��H��t-��D��[]A\�f�H�DH�J�M���f�H�DH�J���f�D�#�U����ATD�'USE��u[H�WPHc�H�
60H���<)H�BwIH�HH���v|��N��H����H�
�/�H�P�)H�Cx��P�H��D��[]A\ÐH�HH���vC��YN��H��tDH�
�/�H�P�)H�Cx�@A��P�H뵐H�DH�J�DH�DH�J�DD�#�ff.�AW�AVAUATUSH��H��HdH�%(H�D$81�����jE1�1�j@A��H�߾b�r��_1�AXA����H��A�@�Q��E1�1�A���H��H��H�$�-��1�A�H��A����!I�����h�E1�1�j@A��H�߾b�r��AY1�AZA� A�@�H�߾��~��1�A�H��A�@�� I��菅��jE1�1�j@A��H�߾`�q��A[H��A^�����H���5��M��tH��tI�UI�EH��H��I�U1�A�@�H��I�������&~��1�A�H��A����!H�D$��h�E1�1�j@A��H�߾b�p��X1�ZA���H��A�@�}��1�A�H��A�@�� I��舄��jE1�1�j@A��H�߾`�p��YH��^�����H���0~��H��tM��tI�UI�EH��H��I�Uj`E1�1�A�j@��`H���Ap��A]1�A^A�@A�@�H�߾�|��E1�1�A����!H��H�D$�˃��h�E1�1�j@A��H�߾b��o��A_1�XA�A�@�H�߾�|��H��H�D$�W}��1�A�H��A�@�� I���T���H�߾���H���}��H��tM��tI�T$I�D$H��H��I�T$jE1�1�A�j@��`H���-o��AY1�AZE1ɺ�H��A���{��E1�1�A����!H��I��H�D$ 跂��h�E1�1�j@A��H�߾b��n��A[1�A\A� A�@�H�߾�{��H����M����H�PL�xE1�1�A��bH��H��H��H�P�jj@�Xn��YI�����^1�A�@�H�߾�{��E1�1�A���H��I��H�D$(��z��E1�1�A����!H��I��H�D$0軁��h�E1�1�j@A��H�߾b��m��_1�AXA���H��A�@�z��H��tH�PL�xH��H��H�PH���3{��M����H��t0I�T$I�D$H��H��I�T$M��tI�UI�EH��H��I�UE1�1�A�@�� H�����jE1�1�j@A��H�߾`�m��A[H��A\��6���H���z��H��tM��tI�VI�FH��H��I�Vj1�E1ɾbj@A��H���l��AYH��AZ�Sz��H��H��H�q @��H��t@��tH�UH�EH��H��H�UH��H9�tH�)H��u�H��H9�u�DE1�1�A�@�� H������jE1�A�j@1�H�ߺ�`�l��_AXH�D$8dH3%(�H��HH�߾[]A\A]A^A_�(����jE1�1�A�j@��bH���k��A]1�XI�����A�@�H�߾�{x��E1�1�A���H��I��H�D$(�Vx��E1�1�A����!H��I��H�D$0�!��h�E1�1�j@A��H�߾b�-k��X1�ZA���H��A�@��w��M���w���H���Z����i���@M�������H����������f�jE1�1�H��j@A���b�j��X1�ZH��A�@�I�������lw��E1�1�H��A���I��H�D$(�Gw��E1�1�H��A����!I��H�D$0�~��h�E1�1�j@H��A���b�j��YA�^A�@1ɺH�߾��v���l���蒌��f�AWAVAUATUH���SH��H�����E1�1Ƀ}A�
��H��� �v��H��H���Pw��E1�1�A����!H��I���P}��h�E1�1�j@A��H�߾e�\i��AY1�1�AZA���H��A�@�v��M��tH��tH�PL�`H��H��H�PjE1�A�1�j@H�ߺ�b�h��_H��AX�v��H��tH��tH�UH�EH��H��H�UH�߾ A�@1�I�������|��H��H�߾[]A\A]A^A_�����ku��E1�1�A����!H��I���;|��jE1�1�j@A��H�߾`�Jh��AY1�AZ1�A���H��A�@�	u��1�1�A��A�@�H��I����t��H��I���u��h�E1�1�j@A��H�߾eH����g��A[1�A_A��A�@�H�߾�t��H��H�$�Wu��E1�1�A�
��H��H�D$�et��E1�1�A����!H��I���5{��jE1�1�j@A��H�߾`�Dg��XZh�j@E1�1�A���eH���g��YA��^1�A�@1��H����s��L�$H��tL�\$M��tH�PL�XH��H��H�PH��L�$�|t��H��tL�$M��tI�RI�BH��H��I�RjE1�1�A�j@��bH���f��_H��AX�.t��H��H�$�"t��M��tH��tI�UI�EH��H��I�UH���s��H��tM��tI�WI�GH��H��I�W1�A�@�H��I������ ��y��H�߾�@�H���s��M��tH��tI�T$I�D$H��H��I�T$1�A���H��A�@��r��H��A��H��tE��tH�PH�hH��H��H�P1�A���H��A�@� �By��H�߾��H���
s��H��tM��tI�VI�FH��H��I�V1�A���H��A�@��q��H��tE��tH�PH�hH��H��H�P1�E1�A�
��H����q��H�$H��tH��tH�PH�HH��H��H�PE1�1�A����!H���ux��jE1�1�j@A��H�߾`�d��XZh�j@E1�1�A���bH���^d��YA�@^1�A�@�H�߾�q��H��tE��tH�PH�hH��H��H�PH��A� 1ɺA�@� ��w��jH�߾fjE1�A�1ɺ��c��H��(H�߾[]A\A]A^A_��f�AT�USH�����1�A��H��I�������!�^w��h�E1�1�j@A��H�߾b�jc��YA� ^1�A�@�H�߾�(p��1�A��H��I�������!I����v��h�E1�1�j@A��H�߾b�c��_1�AXA���H��A�@�o��1�A��H��I�������!H���v��j`E1�1�j@A��H�߾`�b��AYAZh�j@E1�1�A���bH���pb��A[Xjj@E1�1�A���hH���Lb��XZjj1�E1ɾfH��A���)b��YH��^��o��H��tH��tH�UH�EH��H��H�U1�A���H��I������!�u��jE1�1�j@A��H�߾h�a��AYAZh�j@E1�1�A���bH���a��A[]jjE1�1ɺH��A��f�sa��XH��Z�o��H��tM��tI�T$I�D$H��H��I�T$H��A��1ɺI������!�t��jH��E1�j@A�1ɺ�h�a��XZh�j@H��E1�A�1ɺ�b��`��Y^jjH��A��fE1�1ɺ�`��_�AXH��[]A\���f�AUI���ATUSH��H����j E1�1�j@A�1ҾeH���h`��X�ZH���l��E1�1�A����!H��I���	t��jE1�1�j@A��H�߾`�`��Y^jj@E1�1�A���eH���_��_1�AXA���H��A�@�l��jE1�1�j@A��H�߾hH���_��AYAZj?j@E1�1�A���eH���_��A[XjjE1�1�A���fH���e_��M�MX1�ZA���H�߾!�s��H�߾�x�H����l��H��tH��tH�UH�EH��H��H�UE1�1�A�@�� H����r��H�߾�(�H���l��H��tM��tI�T$I�D$H��H��I�T$H��A��1ɺL�
�8�!I���gr��H��E1�1�A�@�� �Jr��jH�߾`jE1�A�1ɺ�Y^��H��H�߾[]A\A]��f�U�SH��H���M�E1�1�A����!H����q��jE1�1�j@A��H�߾h��]��XZj?j@E1�1�A���eH����]��Y^jjE1�1�A���fH���]��_AXhj@1�1�E1�A��eH���]��AY�AZH���4i��h0E1�1�j@A��H�߾gH���M]��A[Xjj@E1�1�A���`H���)]��XH��Z��Z�H����j��H��tH��tH�UH�EH��H��H�U1�A��H��A���!�p��jE1�1�j@A��H�߾h�\��A[]j?j@E1�1�A���eH���\��XZjjE1�1�A���fH���l\��Y^hj@E1�1�1�A��eH���I\��_�AXH���g��hE1�1�j@A��H�߾gH���\��AYAZjj@E1�1�A���`H����[��A[H��X���H���i��H��tH��tH�UH�EH��H��H�UH��A�1ɺA���!�go��hH��E1�j@A�1ɺ�g�s[��XZjj@H��E1�A�1ɺ�`�P[��Y^jj@H��E1�A�1ɺ�h�-[��_AXj?j@H��E1�A�1ɺ�e�	[��AYAZjjH�߾fE1�A�1ɺ��Z��H��H�߾[]���ATUH����SH�����jE1�1�jA��H�߾b�Z��XE1�ZA�
���H�߾ �In��L�M1ɺA�@� H���+n��H���h��E1�1�A���
�!H��I���n��E1�1�A����!H����m��jE1�1�j@A��H�߾`�Y��YE1�^1�A��
�
H�߾!�m��E1�1�A����!H���m��jE1�1�j@A��H�߾`�Y��_E1�AX1�A��
H�߾�Xf��jE1ɾbj@H��A�1ɺH���TY��AY�AZH���e��H��tM��tH�PL�`H��H��H�PH����f��H��tH��tH�UH�EH��H��H�UH��E1�A��1ɺ� �l��H�߾ 1�A�A���
�l��H�߾[]A\����AU�ATUSH��H����1ҾH���*�H���2f��1�A��H��I������� H���.l��E1�1�A�@��	H���!e��jE1�1�jA��H�߾`I���X��_1�AXI���� H��A����k��1�A��H��I����� �k��jE1�1�j@A��H�߾b�W��AY1�AZE1ɺ�� H��A��fk��1ҾH���'�E1ɹH��A���� �7k���H���c��H��A��H��tE��tH�PH�hH��H��H�PH����d��M��tH��tI�UI�EH��H��I�UE1�1�A�@��H����c��H�߾I���"�H���d��H��tM��tI�UI�EH��H��I�UE1�1�A���)H���oj��jE1�1�jA��H�߾`�~V��X1�ZI���� H��A���+j��jE1�1�j@A��H�߾b�:V��YE1�^1ɾ H��A�����i���H����a��H��tE��tH�PH�hH��H��H�PH��[]A\A]�DUH���SH��H�����j	E1�A�j@1�1ҾbH���U��_1�AX�� H�����j A�E1�j@1�1ҾbH���wU��AY1�AZ��fH��诸��h�E1�1�j@A�1ҾbH���>U��A[X�E��u,H�߾f1ɺ�p���H��H�߾[]�M�D1ɺ�fH���D���h�E1�1�j@A�1ҾbH����T��X1�Z�f�H���
���hE1�1�j@A�1ҾbH���T��Y�^1ɾfH���ַ��h E1�1�j@A��H�߾b�bT��_AXj
j@E1�A�1�1ҾbH���AT��AY�AZ��fH���v���j/E1�A�j@1�1ҾbH���T��A[1�]��fH���A���j_E1�A�j@1�1ɾbH����S��X1�Z�f�H���
���h1�E1�j@�bA�1�H���S��Y^�a���DUH���SH��H�����j
E1�A�j@1ɺ�bH���YS��_AXjj@A�E1�1�1ҾbH���8S��AY�AZ�� H���m���j{E1�A�j@1�1ҾbH���R��A[X�E��u-H�߾f1ɺ�1���H��H�߾[]���fD1ɺ�fH������jE1�A�j@1ɺ�fH���R��XZh j@1ɾbE1�A�1�H���pR��Y^�t���f������U��SH��LJ�����u�H��H����=E1��1ҾH����:����uBH��H��H�ߺ@[�]�c���E1�1ҹ��:����t���@�H��[]���ff.�@AWAVAUATUSH��D�'E��u`H����A��A��M���%����tcLJ�A��@��1�M��E��D���H���-��H����H��
��*��@�PH��D��[]A\A]A^A_������\��H��H��tnM��E��1�D��� H����d��A�ą�uOH���^��H��tBH�UH�EH��H��H�U�@�@1ҾE1���7��A����7���fDD�#�^����AWA��AVAUA��ATI��USH��H�4$dH�%(H�D$81�H�H�D$�G\�D$���H�|$H������$A8��EA��E1�E��A�F�D�����D$��D	�E1�1�A�
��H����\��A��$�H�D$ �@��1ɺ� A���H��A�@��A��A	�A	��A	�H�l$0Mc��pc���H��H���D$0fn��85��D:,$�fE��E��A�@H��ED��1ɾ E��D��E���A��A	�A��E	�E	�Mc��	c���H��H���D$3���4��E1�A�1ɺ� H����b���p��H��H�ߺf�D$2�D$4�4���H��H���D$3��4��H���{\��E1�A�1�H�D$(��eH��j�j@�N��A[A]jj@E1�A�1ɺ�eH��E1��}N��A^1�X1�H��螪��H��A�D��1�j�t$ A�H��A���4��AYAZA��u�A�����H��H��fD�\$2��3��jE1�1�jA��H�߾`�N��A]A^jjE1�1�A���iH����M��XE1�Z1�A�@�H�߾�Z��jE1�A�j1ɺ�bH��I���M��YH��^�>[��E1�1�A�H�D$��`H��jj@�hM��_E1�AX1�A�
�H�߾�(Z��A��$�I���>H��1�1��Z���1�H�,$H�݉�H��A���1�j�t$ A�H����:3��AYAZ��u�H��H�,$A�����H��fD�D$2H���~2��E1�1�1�A�@�H���Y��H��tH�t$H��tH�PH�pH��H��H�PH���9Z��H��tM��tI�UI�EH��H��I�U�����H��H��f�L$0�D$2��1��jE1�1�j�`H��A���+L��^_A��$���H����Y��H�L$ H��t H��tH�qH�AH��H�4$H��H��H�QH���Y��H��tM��tI�VI�FH��H��I�VjA�1�1�j
�bH��E1��K��XE1�Z�
��H������E��$�E����E���VD�D$E����H�D$8dH3%(��H��H[]A\A]A^A_�D�,$E1��D$����@Hc��`1�E1�PA��j@�K��Y^�$I�$A8������D��E1��D$����E���a���Ic�E1�A�1�P��bj@H�|$�J��AYAZD�D$E���8���H�|$E1�A�1ɺ
� �I^������@E1�1ɾH��A�
��3W���H��H���U��H�������I��$XH�(H�PI��$X���fDH��E1�A�1ɺ� ��]���p���H��f�|$2H���D$4�/�������H�|$1�Lc�A���� �]��E���(H�\$E1�A�
1ɺ� H���V]��A�GH��E1�H�A�1ɺP�`j@�`I��XZjjH��E1�A�
1�1Ҿb�@I��YH��^E1���
��t���I�$����E��1�A���A�پ!H��Mc���\��H��轥��jE1�1�j@A��H�߾`H����H��A[E1�A]1ɾH��A�
��U���H��I���T��H��tI��$XL�(H�PI��$XE1�1ɾ H��A���/\���H���T��H��tH�L$(H��tH�PH�HH��H��H�PH����U��H���O���H���F���H�UH�EH��H��H�U�-���@�H���[S��H�������I��$XL�0H�PI��$X���fD�H���#S��H������I��$XH�L$ H�PH�I��$X���f�IcǺE1�1�PA��`j@H�|$�[G��XZ�����i��ff.�@AWI��A��1�AVE1�AUA��ATM��USH��8�H�/dH�%(H�D$(1�A����A��D��D����C����@8�tA����IcΉ�A���ljT��ރ����(���H�A��у�u�@8�u������~�D@����A����A����Ic�A���D�1��Ӄ�E���lA��D��E���i���a�H���Q���H��H���Q��H��tI�$H�H�PI�$A���f�@��t
A���l���A�����R��1�E1�����DA�E�����E„���E�X�E���"����wHcӃ�fD�TTA��A����tZ�t�A�� tՅ��}�L$��A9��%��fD�tLH����D9��Hc�9��9�t�A��A����u�A��I��A���P�������D�T$fE���jE1�1�1�j@�bH��A���D��AY1�AZ�� H���"������TD�T$A�E1�fA��tA��I��D9���F�TtfA��u�E��D�$E1�1�ARA�1Ҿbj@H���mD��_�AX�E1�1�H����D�$�D1�fDf�� f�T|����E1�H�\$(dH3%(D����H��8[]A\A]A^A_��1�9�������A����E��E�������A���:�$A���zA�������D�\$D�T$D�|$D�t$D��D��D)�D)��$�t$9��)Mcτ���A�GA9���D�T$1�A�H��AQ�E1ɾbj@�SC��Y^1�Lc$A�@�H���P���H��H���N��E��D�T$E)�H��tI�$H�H�PI�$A��Mc�E9���AQA�E1�1�j@��bH����B��XA�@Z1�LcL$���yDA���������LcL$1�H���A�@����dO���H��H����M��H���W���I�$H�H�PI�$�*����Lct$D�|$M�����;1ɾH��M��A�@��N���H��H���~M��H��tI�$H�H�PI�$LcL$A�AL��D9���AQA�E1�1�j@��bH��A)��A��A]Mc�A^A�@1ɺ��jfDLcL$D�|$A�AD�$D9��eAQ1�E1�A�j@��bH���dA��D�T$X�ZA�@�E)ׄ�DD�Mc�1�D��H���N���H��H���L��H������I�$A�H�H�PI�$�����D�\$1�A�H��D�T$��bAQE1�j@��@��A]X1�D�T$A�@�H��E)�Mc��M���H��H���
L��D�\$H��tI�$H�H�PI�$A�CLc$D�$A9��OAQA�E1�1�j@��bH���N@��A[[A�@D�$1ɺ�E)�Mc����f.�A��A�@1ɺ����f.�1ɾH��Mc�A�@���L���H��H���CK��H��tI�$H�H�PI�$�\$A�E9���AVE1�A�1�j@��bH��D)��?��A_Lc�XA�@1ɺ��2���fDD��D��D)�	�A9������P�D	څ������H�D�T$E1�A�P1ɺ�fj@H���?��AZA[Mc�D�T$A��E9����AQA�E1�1�j@��bH����>����_1��AX�Lc$��A�@������E��tFj 1ɾfE1�j@A��H���>��Y^��~E1�L�T$C�r����I��D9��D��A�@�H���E��A�DE�E1�1�D���'K���H��H���I��H���������M��fDA�@1ɺ1�����@E1�1�A�@�� H��D�$�Q�����j���E1�D�$������L�$E1�A�P1�1Ҿbj@H���=��XE1�Z��1�H�����L�$����1�1�A�@�H��D�$�OJ���H��H����H��E��D�$H���<����F�����_��E��������f.�AWAVAUATUH��SH��L�wLcO\dH�%(H�D$1�H�H�$M�~(E����H���J��E1�1�A�
��H��I���I�����I���7E1�1�A����!H���jP��j1�E1�j@A��H�߾`�y<��A�VGAZ1�A[L��H���I����������D���E����I�F8I��HDH���x���L9�u�1�A��H��A�@���H��H����M����H�PL�hE1�1�A��eH��H��H��H�P�jj@�;��A[A^jj@E1�1�A���iH���;��X1�ZM����!H��A���JO��j1�A�jA�@�H�߾h�V;��Y^jjE1�A�1�1ҾeH���6;��_1�AXH����F��H���xjE1�1�A�j@��bH���:�����A]A^�fD�]\E����H�D$dH3%(�8H��[]A\A]A^A_�fDH�$H��t�M��@���H�H��t@��tH�BL�jH��H��H�BH�IH��u��Q����jE1�1�A�j@��eH���O:��XZjj@E1�1�A���iH���,:��YM��^1�A���H�߾!��M��j1�A�jA�@�H�߾h��9��_AXjjE1�1�1ҾeH��A���9��AY1�AZH���zE��H�������M�������H�PL�hH��H��H�P�o����H���0G��M�������H�������I�T$D�]\I�D$H��H��I�T$E���i���E1�A�1ɺ
� H���L���G����1�H��A���� ��L��E1�1�H��A�
�� �L��jE1�1�j@H��A���`��8��A\A]jj1�1�H��E1�A�
�b�8��XE1�Z��
�H��������D�H����C��H�������H��XL� H�PH��X���jE1�1�H��j@A���e�/8��XZjj@E1�1�H��A���i�8��YM��^1�H��A����!�K��j1�H��jA�A�@��h��7��_AXjjE1�H��A�1�1Ҿe�7��AY1�AZH���ZC���u����0Z��AVAUATUSH��H��`dH�%(H�D$X1������A�����h�E1�1�j@A��H�߾b�;7��AYAZjj@E1�1�A���`H���7��A[1�]A�3A�@�H�߾��C��E1�1�A�
��H��H�$�C��1�A��H��I�������!I���~J��jE1�1�j@A��H�߾h�6��A^XjjE1�1�A���`H���i6��XZh�j@E1�1�A���bH���C6��YA�@^1�A�@�H�߾�C��E1�1�1�H�D$A��eH��hj@�5��_�AXH���A��jE1�1�j@A��H�߾bH����5��AYH��AZ����H���^C��H��tH��tH�UH�EH��H��H�UA��1ɺH��I������!�?I��jE1�A�j@1ɺ�hH���N5��XZh�j@E1�A�1ɺ�bH���(5��Y^jjA�H��E1�1ɺ�f�5��_AXE���j@E1�1�1�j@A��bH����4��AYA�AZ�@��H���
�E1�1�1�A��eH��H�D$hj@�4��A[�]H���@@��H��I���%B��h�E1�1�j@A��H�߾bH���N4��XZhj@E1�1�1�A��bH���+4��YI��'��^�@��H���[�E1�1�A���`H��H�D$h�j@��3��_AXjj@E1�1�A���bH���3��AYAZhj@E1�1�1�A��bH���3��A[I�����X�@��H�����H�߾H�D$ 螿��H���A��M��tH��tI�VI�FH��H��I�VA��1ɺH��I������!��F��jE1�A�j@1ɺ�hH���2��AYAZh�j@E1�A�1ɺ�bH����2��A[A^jjE1�A�1ɺ�fH���2��XZj@j@E1�A�1�1ҾbH���2��YE1�^�@��H����E1�A�1ɺ�bH��H�D$(h�j@�@2��_AXhj@E1�A�1�1ҾbH���2��AYI�����AZ�@��H���J�H�D$0�S@1�A�@�H��A�@��>��E1�1�1�H�D$A��eH��hj@�1��A[�]H���R=��H��I���7?��h�E1�1�j@A��H�߾bH���`1��X1�ZA���H��A�@�>��E1�1�A�H�D$��`H��h�j@�1��Y^jj@E1�1�A���bH����0��_1�AXA���H��A�@�=��H�߾H�D$ ���H���e>��M��tH��tI�VI�FH��H��I�VA��1ɺH��I������!�FD��jE1�A�j@1ɺ�hH���U0��XZh�j@E1�A�1ɺ�bH���/0��Y^jjE1�A�1ɺ�fH���0��_A�@AX1�A�@�H�߾��<��E1�A�1�H�D$(��bH��h�j@�/��XA�ZA�@1ɺH�߾�~<��H�D$0hE1�1�A�j@��`H���u/��A^H��X�襻��H���
=��M��tH��tI�UI�EH��H��I�UjE1�1�A�j@��bH���/��XE1�Z1�A�
�H�߾��;��1�A��H�ߺ�!H�D$8I������B��jE1�1�j@A��H�߾h�.��Y^jjE1�1�A���`H���.��_AXh�j@E1�1�A���bH���n.��AY1�AZA�@A�@�H�߾�*;��E1�1�1�H�D$@A��eH��hj@�$.��A[�A]H����9��H�߾I���C���H���;��M��tH��tI�UI�EH��H��I�UE1�A�
1ɺ�H���:��E1�A��1ɺ�!H��H�D$H�nA��jE1�A�j@1ɺ�hH���}-��AYAZh�j@E1�A�1ɺ�bH���U-��A[A]jjE1�A�1ɺ�fH���0-��A^XE���<j@E1�A�1�j@1ҾbH���-��_�@AX��H��I������5��H�D$PjE1�1�A�j@��`H���,��YA�^1�A�@�H�߾�y9��H��tH��tH�PH�hH��H��H�PH���#:��H��H��H�~XA��DH�H��tE��tH�QH�AH��H��H�QH��H9�u�1�A�@�H��I������ ��?��H�D$XdH3%(uGH��`H�߾[]A\A]A^�,���@A�@1ɺH��A�@��8��H�D$P����YN��f�AWAVAUATUSH��H��hdH�%(H�D$X1�����A��蝶��jE1�1�j@A��H�߾`�\+��X1�ZA����H��A�@�8��E1�1�A���H��H��H�D$�7��1�A��H��I�������!I���>��h�E1�1�j@A��H�߾b��*��YA�^1�A�@�H�߾�7��H��I���P8��jE1�1�j@A��H�߾hI���|*��_AXjjE1�1�A���`H���X*��AYH��AZ�臶��H����7��M��tH��tI�WI�GH��H��I�WjBE1�A�1�j@��`H���*��_AXh�j@E1�A�1ɺ�bH����)��AYA�@AZA�@1ɺH�߾�6��E1�A�1�H�D$��hH��jj@�)��A[A_jjE1�A�1ɺ�fH���j)��XI�����ZA��1ɺH�߾!�=��h�E1�1�j@A��H�߾b�#)��YA�^A�@1ɺH�߾��5��H��I���6��E1�A�1�H�D$��hH��jj@��(��_AXjjE1�A�1ɺ�fH���(��AYAZh�j@E1�A�1ɺ�bH���(��A[XE���hE1�1�1�j@A��bH���W(��A[I�(��X�@��H�����E1�1�A���`H��H�D$ h�j@�	(��XZhj@E1�1�1�A��bH����'��YI�����^�@��H�����H�߾H�D$(��H���X5��M����H��tI�WI�GH��H��I�Wj`E1�A�1�j@��`H���e'��YA�@^A�@1ɺH�߾�#4��E1�A�1�H�D$0��hH��jj@�'��_AXjjE1�A�1ɺ�fH���&��AYA��AZ1ɺ�!H��I������:��hE1�1�j@A��H�߾b�&��A[A_h�j@E1�A�1ɺ�bH���&��XZjj@E1�A�1ɺ�hH���e&��Y^jjA�H��E1�1ɺ�`�B&��_AXE���vA�1ɺH��A�@��2��H�D$8hE1�1�A�j@��`H����%��A_H��X�����H���3��M��tH��tI�UI�EH��H��I�UjE1�1�A�j@��bH���%��AY1�AZE1ɺ�H��A��U2��1�A��H��I�������!I���!9��h�E1�1�j@A��H�߾b�-%��A[1�A^A�A�@�H�߾��1��M��A��H��tE��tH�PL�`H��H��H�PjBE1�1�A�j@��`H����$��AYAZh�j@E1�1�A���bH���$��A[1�A_A�@A�@�H�߾�W1��E1�1�A�H�D$@��hH��jj@�Q$��XZjjE1�1�A���fH���.$��YI�����^1�A���H�߾!��7��h�E1�1�j@A��H�߾b��#��_1�AXA���H��A�@�0��H��tH�t$H��tH�PH�pH��H��H�P1�A�@�H��I������ �P7��H�߾賯��H���1��M��tH��tI�UI�EH��H��I�UE1�1�A���H���0��1�A��H�ߺ�!H�D$HI�������6��h�E1�1�j@A��H�߾b��"��_1�AXA���H��A�@�/��H��tE��tH�PL�`H��H��H�PH���M0��H�L$H��H�q@@���H�)H��t@��tH�UH�EH��H��H�UH��H9�u�1�A�@�H��I������ �
6��H�D$XdH3%(��H��hH�߾[]A\A]A^A_�N���j`E1�A�1�j@��`H����!��YA�@^A�@1ɺH�߾�.��E1�A�1�H�D$0��hH��jj@�!��_AXjjE1�A�1ɺ�fH���!��AYA��AZ1ɺ�!H��I������,5��hE1�1�j@A��H�߾b�8!��A[A^h�j@E1�A�1ɺ�bH���!��A_Xjj@E1�A�1ɺ�hH���� ��XZjj1ɾ`E1�A��H���� ��Y^�hE1�A�1�j@1ҾbH��� ��XI�����Z�@��H������H�D$8�`����1�A��H��A�@��0-��E1�1�A�H�D$ ��`H��h�j@�' ��AY1�AZA�A�@�H�߾��,��H�߾H�D$(�1���H���-��M���A���j`E1�A�1�j@��`H�����XA�@ZA�@1ɺH�߾�},��E1�A�1�H�D$0��hH��jj@�w��Y^jjE1�A�1ɺ�fH���T��_I�����AX1�A���H�߾!�3��hE1�1�j@A��H�߾b���AYAZh�j@E1�A�1ɺ�bH������A[A^jj@E1�A�1ɺ�hH�����A_Xjj�E1�A�1ɾ`H�����XZ�^����/A��ff.�@AWI��AVM��AUI��ATUSH��(H�H�T$�����A���H��H����…������9�������tyH�l$H���<���A�7A��A��I�%��D$A����L�d$uaA��A��1ɺA��McɃ��������#H���1��A�GA�7�D1�A��A�7�D$H�D$t�E����E��tH�L$�����DL�d$���D$M�lL�,$M���2f.�������u	���*I��L;$$��A�u�N�A�EA�ML;d$���|$��A�<$Hc�A�l	�A�|��A�E��~�A�U����A�A��1�H��A)�&Mc��0��A�E1�A�}�TRA�U�����������A�EI��L;$$�F���H�\$HcD$H��(H�D[]A\A]A^A_�@A�<$Hc�A�DA�|�E��������A�A��1�H��A)�#Mc���/��A�E�H���DE�ME����E
ME��1ɾH��A�@�(���H��I���-'��H���,���I�L�8H�PI�����f�McME����EMMc��f.�E�MfE��uEfEME���f.������A��1ɾ!H��I������/��A�E���DAQA��E1ɾfj@H��1����^E�MA�U_�f.�AQA��E1�1�j@�fH������XE�MA�UY����AQA��E1�1�j@�fH�����AXE�MA�UAZ����fD=�v�I� ������?%�	ȃ��<�����H�
�	����Hc��Q���H��H��BH�@H��M�l�1���������@H�Y���?������f.�A�U�����!H����-���,���fD�&H���-������L�T$E�B�t<L�\$E�K�uK����A��?%���A��	�D��D	ȁ�	���������A��?����	�D	����L�\$��E�[u<����A��?%���A��	�D���D	�	�D�����	��������%@A���‰�H�L$%?	��Q��?	�D���	�D������	�D�����	��P���AV��AUATUH��SH�� H�dH�%(H�D$1�H�$H�D$H��H�D$解��E1�A�	1ɺ� H���:,��A�1�H��A���� �,��E1�A�@1ɺ� H���+��E1�A�1ɺ�H����$��I�ċ���������r�1�H���S<�����L�m���	����	A�1ɺ���1�H���`0��D���E���?D���E���HA��1ɺH��L����!�?+��jE1�A�j@1ɺ�iH���N��XZjj@1ɾeE1�A��H���+��Y^H����$��M��tH��tI�T$I�D$H��H��I�T$E1�A�@1ɺ� H���*��H��H����K���L�D$H�ﺎ������>��H���d$�����I�ą���1�A��H��A�@� �S*��1�1�A�_A�@�H���F#���H��I���"���H��I���!��H��tH���L�0H�PH���jE1�1�A�j@��bH�����AXAYjj@E1�A�1�1ҾbH������AZ�A[�� H���y��jE1�1�j@A��H�߾b���A^Xjj@E1�1�1�A��bH�����XH��Z���f��x��H���#��M��tH��tI�UI�EH��H��I�UH���"��H�4$H��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�A��1ɺ� H���(��jE1�A�j1ɺ�gH������A[�A]H�����D���E����H�D$dH3%(�*H�� []A\A]A^�fD1Ҿ���H���a>��D���E�������1�A��H��A�@� �(��1�1�A�_A�@�H���!���H��I�������H��I���t��H��tH���L�0H�PH���jE1�1�A�j@��bH������A[A^jj@E1�A�1�1ҾbH�����X�Z� �H����v��jE1�1�j@A��H�߾b�m��Y^jj@E1�1�1�A��bH���M��_�H��AX��f�v��H���� ��M��tH��tI�UI�EH��H��I�UE1�A�1ɺ� H���&������H��E1�A�@1ɺ� �&��������]A��1ɺH��L����!�l&��jE1�A�j@1ɺ�iH���{��_AXjj@E1�A�1ɺ�eH���W��AYAZ����fDA��1ɺH��A�@����A��1�H��L�����!I����%��jE1�A�j@1ɺ�iH������^_jj@E1�A�1ɺ�eH�����AXAYM�������H���[��H���y���I�UI�EH��H��I�U�`���f�H�T$����H���^;����������E1�A�1ɺ� H���%���1�H���5�����L�m�������E1�A�1ɺ� H����$���G����H�����H�t$H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1����H�����8��1�A�@H��I��������K��M��tH��tH�PL�`H��H��H�PE1�1�A���� H���$��1�A�@H��I������� ��#���H���B���H�����H�t$H��@��H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�H��A���� �i#��H��E1�1�A��� �L#���H��诛������f.�A��1ɺH��A�@�� ��A��1�H��L�����!I����"��jE1�A�j@1ɺ�iH�����XZjj@1ɾeE1�A��H������Y^M�������H���u���Z���jLcMTA��1�j@��`L�����AZE1�A[A�1ɺ�L���]��HcMTE1�L��A���� I���+"��L�����M�������H���z���I�VI�FH��H��I�V�a���HcMTE1�A����jLcMTA��1�j@��`L����
��A^E1�XA�1ɺ�L�����HcMTE1�L��A���� I���!��L���X��M�������H���}���I�VI�FH��H��I�V�d���HcMTE1�A�����0��@AWE1�AVM��AUATI��U��SH��H��HH�|$H�t$4dH�%(H�D$81��D$ A�H�t$��tC��A�A�$���w6H�5+���Hc�H�>��f�A�T$f����I�A�<$xt�I���E1�H�\$8dH3%(D����H��H[]A\A]A^A_�I��H�|$D���E��u�I���L$ A��B�t=)�A����E)�A��t�B�H�����D���D$ �>���H�|$D���E��t�H���H�|$H�����H�r H���:H�J�O���H��H9�w��H�|$D���E���k���H���H�|$H������H�r H���:H�J����H��H9�w��6���H�|$D���E���!���H���H�|$H��`���H�r H���:H�J�����H��H9�w����H�|$D���E�������A�T$f����I�����A�T$f����I��(���E�l$fA��E��M�A�}x����xI�T$��LB��8���I�����H�|$������%���I���[���E1��D$$M�L$H�D$A�������}����wH��H�
����?����D$E���AH�D$A�qH������ ��E�Q���\����A��?������	�D	��'A��]���E1�M�L$�D$$�U���E1�H�|$M�L$������tA�T$����bH�|$��I�4M��H��L�L$����Ņ������D$$L�L$��E1�A�D$M�L$�D$$f�����D$ ����H�|$���������A�T$I��f�����|$ ���A�T$I��f�����|$ �H���H�D$�������I�D$M�l$!H���x��g���I9�u�I�D$H�D$A�D$!�H���w4�H��3�]��tA�D$"f�����|$ f������A��F�|=�l$ D)��0DD�A�����D��D)�A��t(B�DH�����HA�|$ y�D����D)�A��u�A�����H�D$����������M�l$!�7���A��0���A����A�����E���qH�|$��H����8����D$4��I��L��D�l$H�D$D�L$L��I��w�A�?L�`A)�f�D�A��A)�E��A�����E����:Q��A�x�H��H���H��8P��H9�u�A��wxE��A��D��B�TD��u�AE��taA�|$�A��A���tQ�����@�y�����A�����t���L�AI�S�l$ �u�U�������D�����>���E��H��I�CA�I��H��t�A�S��I��I����@D����Qu�AE��t�D�A�|$�A��@:yt����H��@8|t�9�w��p���D��A��@�|�D�u	�A�&����������H��I�C�g���D�l$���D$4E1�I��L���5���E��trH�D$D�l$��H����ȃ��1���479�t�=�wO�����<H�t$L�L$(���;D$����L�L$(��A�I��A�L������D$�g���A�I�� �t����?%�	��H�����?�H���������?����	��N�����H�|$I�uM��H�������������A�Uf����I�A�}xt̉�A�$A�����L�L$1�����A����Q���M9��H���I��A�Q���t�D�Ѓ�tQ��E��A���tEE��tP8Kt;A�r�H��H���H��@8xtH9�u�A��wKB�|A���CD���At!���D��A����A�K�Cu�@�����P���D��A������A�D$!�H���w%�H��u/�0�_������A�A��D��M���D$ ���A�D$"fA9D$$�q���I��&A�A�������L�w�����Hc�A�4p���H�5]�Hc��NH�4IH�
K7�L���������P���H�|$��I�t$"M��H���3�������������@��H�
���Hc��Q�������H�
��Hc��QH�RH��6D����<���A�q���������?������	�	�����E�A��������A��?�������	�D���D	���	����I��"A�A��D���D$ ���I�ԋT$$L�É�������A��D$ �~���E�A��u|�����A��?��%���	Љ�D	���	��P���A�IA�����A������?A�����D	�	�D������	�D�����	������E�Q�������A��?��%���	Љ���D	�	�D�����	����A����A��@��?A��D	�E�YA�����A����A��?A���D	�D	�A	�D	��N����������%@��?	�A�Q��?	Љ���	�D������	�D�����	�������#��fDAWAVAUATUH��SH���dH�%(H��$�1�H�L�l$PM��I�UTH�D$L��f��H���@�H9�u�H�uL�D$LL��H���D$L'�O�Lc�E���
A�V��H��H��H)�I�tL���f�����	����@H��H9�t&���u߀x��H���T�P��P��P�H9�uڅ���	Ic�I�}L�d$ E1�I�t�H�l$(M�EI��H)�I�E�D$�D$H���DH�������~�@��v�D�^�D�~�1�DH��H)�A���vK�D9�rDD�T
A�E8�t4A8�t/E8�t*A8���DEʋT$�ɋL$E�EˉT$�L$�H��9��H�����p���L�d$ H�l$(E����HcT$Hc|$LcM\L�eI�D�H��H�|$0H)�)�D�pD�xI�D��t$(H)��x�@@�|$�D$ E���t�t$0E1�1�A�j@��`L������_E1�AX1ɾL��A�
�����L��I���
��H��tH��XL�(H�PH��X�fƄ$�n�|$ f��$�@8|$���|$�t$ A��A1�E��A�E�D�����D$ A�@1�L�� A�����A��A	ѺA	���A	�Mc������D$1�L��A�@� A�����A��A	ѺA	���A	�Mc�����D$L��$��L��Ƅ$��L���U��L��L��Ƅ$���=�E8��F
E��E1�E��A�B�D�T$8D��� E	�A�@1ɾ A��L��A�A�����A��A	ѺA	���A	�Mc����D�T$81�L��A�@�� E��D���A��A	�E	�A��E	�Mc�����L��L��Ƅ$�����L��L��Ƅ$���j��p�L��f��$�L��Ƅ$��E��|$ @8|$t�L��L��Ƅ$���!��L��L��Ƅ$���	��L��L��Ƅ$�����L����	��E1�A�1�H�D$8�D$(�L��bPI��j@�
���A[E1�XA�1ɺL�� ���j�E1�A�j@1ɺ�eL������X1�ZL��1���W��1�E1�A���L������L��H�D$ D������‰D$�W���L���4��L��I���	��H�L$ H��tH��tH�QH�AH��H��H�QA�o���L��L��fD��$�����D$(L��L��A�s����fD��$���$���L�����H��tM��tI�VI�FH��H��I�VjA�L��E1�j@1ɺ�eE1����_AXH��D��A�D��jA��L������t$1�D��A�A�L��A���$��Y^A��u������L��L��f��$����������L��f��$�L������jE1�1�jA��L��`���_AXjjE1�1�A���iL������AY1�AZE1ɺ�L��A�@���jE1�1�jA��L��bI�����A[L��X�;��E1�1�A�H�D$ ��`L��jj@�e���XE1�Z1ɾL��A�
��&���L��H�D$(���H��tH��XH�|$(H�PH�8H��X1�1�L���9U���T$�L���(U��H�l$�݋\$H����A�1�jA���L���
����A�D��A��L����$����XZ��u��L��L��H�l$A����fD��$��*������L��L��f��$��
��E1�1�1�A�@�L���#��H��tH�\$ H��tH�PH�XH��H��H�PL������M��tH��tI�VI�FH��H��I�VL������L��f��$�Ƅ$�����jE1�1�jA��L��`���A]E1�1ɾL��A^A�
��s���L��H������H��tH��XH�H�PH��XLcM\E����	D���E�����t$0A�L��E1�j@�b1ɺ�)���D�E\^_E��tE1�A�1ɺ
� L����
����a��H2H��D�@D�I�A��uA���T�P�U���DA��D׈P�A����A�~1�E1�1��A������:�A�<$�tA�ҍP��9�t9A����D)�9�~��A�ljкI��A9�Ƀ�9�t1���fD��9�u�1�A�����1�A������!Ic�H��H)�@8|QDB��A9�~B�H��A9�t�Hc�H��H)��|QA���u�L��@���A�ĉ�A9��fDA����>LcM\E����AVE1�1�A�
j@L�l$�
�bL�����AYL��AZ�L�l$�5��H�|$�I������H��tH��XL�(H�PH��XL�l$I��1�A�@�� L�����L������L��E1�1ɾA�
�H��L�l$����H�|$�I���X��H��tH��XL�(H�PH��XMc�L�|$1�A����!L���|��E1�1�A����!L���_��jE1�1�jA��L���`�n�_E1�AX1�A�@�L����.��H��A��H��tE��tH�PH�XH��H��H�PE���ED���E���
�]\���6H�|$E1�A�1ɺ
� �����I�9��Y������A9�~H��A9��j���z������A������fD1�H��$�dH3%(��	H���[]A\A]A^A_�DH�]D�#E���W���H�CH�L$�H�p��L$H��I����	H�E L��I�L�M H������I���H��H��I��I��I�AH��H�I��I�yH�{H�CH��I��H�{(H�{8H�{HH�C H��I��H�{XH�{hH�{xH�C0H��I��H���H���H���H�C@H��I��H���H���H���H�CPH��I��H���H���H�C`H��I��H�CpH��I��H���H��I��H���H��I��H���H��I��H���H��I��H���H��I��H���H��I��H���H��I��Ic�H���H��H)�M�DA�x�L��L�D�H��0D9�~D� H��H9�w�A��I��D9�u��o���@��A�@1�L��	� ��A�����A��A	ѺA	���A	�Mc��4��E��D��1��A��A�@L��A	��� E	�A��E	�Mc�����D$�[�L�l$1�A���� L������E1�1�L��A�
�� ���AVE1�1�j@L��A�
�
�b���XL��Z�L�l$�o���H�|$�I���
���H��tH��XL�(H�PH��Xj1�1�E1�jL�l$A�
�bL���`�A[E1�X��
�L��蓞�����E��D��A�@1��A���L��A	�� E	�A��E	�Mc������L��L��Ƅ$������p�L��L��f��$�Ƅ$��z���|$ @8|$t�L��L��Ƅ$���V���L��L��E1�Ƅ$���;���E�fDE������Ic�D��H��H��H)��TS�tR�Ğ���N����E��D��A�@1��A���L��A	�� E	�A��E	�A�Mc�����E��D��1��A��A�@L��A	��� E	�A��E	�Mc�������AVE1�A�
1�j@H�|$�
�`��AZ�A[����D�L$1�A��L���!A��Mc��I��L���AK��jE1�1�j@A��L��`H���M�AY1�E1�AZA�
�L������H��tH�|$8H��tH�PH�xH��H��H�P�L������L��I���\���H��tH��XL�(H�PH��XL���z���H���u���H���l���H�SH�CH��H��H�S�S���A��1ɺ
L�� �U���$���1�L��A���� �6��E1�1�L��A�
�� ����D$E1�1�L��A���`��H�Pj@� �AYAZjj
1�1�L��E1�A��b��A[E1�A]��
�L���0������H�|$Mc�1�A��M����!���jE1�1�j@H�|$�`A����J��H��$�YL)�^�|PL�<D�LR�cD�TSE1�A�P����H�|$1�1�A�@�����E�O�H�|$1�A�@��H�D$���L�T$H��tE��tH�PH�XH��H��H�PH�|$L�T$���H���L�T$M����I�RI�BH��H��I�R���D$A�@1�L�� L��$�A�����A��A	ѺA	���A	�Mc��A����L��L��Ƅ$���	���D$���p�3���A��D�T$E1�1�P�A��fj@H�|$��XZD�T$E
W�E��H�|$1�A�@������H��tE��tH�PH�XH��H��H�PD���E��tE��u,jE1�A�1�j@H�|$��b��A\A]���L�|$I�����1ɺA���!L���<���h�E1�1�A�j@��eL���H�X1�Z1�A���L��A�@�	���H���b���E���Y���H�PH�XH��H��H�P�@���L�|$E1�A��1ɺ�!L�����j1ɾ`j@E1�A��L����Y^�H����������������5��DAWI��AVAUATI��UH��SH��XH���0D�h�H��D�l$���I�Ƌ�D$����
f��D$(AAF AFI�$M�~ I�I�GM�4$H�D$A��wA�GL�|$f������D$(H�D$D�`D��A�D$���<wH�1���Hc�H�>��H�D$�D$ ���B�|$�OjL�mE1�A�j@1ɺ�bL����XL��ZE1ɺA�1ɾ�K���L�m�H�D$0L�����H��H��t0H�D$0L��H�T$0H����H�T$0H�BH�� H�BH�� E1�1�A�@��� H������A��ct E1ɹ��H��A�@� ���D�D$I�FH�D$0E����|$��1�L��H���p��E1�A��1ɺ� H���^���E1ɹH��A���� �>���A�A��1ɺ1�H���1�E1�A�1ɺ�� H��I�������H�����H��I�����|$ I�F(���1�|$��H�T$0L��H��A����E1�A�1ɺ�� H��������|$��I�VL��H��E1���o��E1�A��1ɺ� H���V���E1ɹH��A���� �6���1�A�1�A���H���)�H��I�����L$ I�F(����A�1ɺH��A��� ����A�I�VL��H���$��E1�1�A���� H������|$��1�A��H��A��� �|���jE1�1�j@A��H�߾`��XE1�ZA����H�߾ �9���LcL$1�H��A�@��M�v(�&�H��tM��tH�PL�pH��H��H�PM��t!H�����H��tI�UI�EH��H��I�UH����M��tH��tI�T$I�D$H��H��I�T$jH�]E1�1�j@A�
�
�bH����1�A[H��A\�f�H��I����H��tH��hL� H�PH��hH�D$H��X[]A\A]A^A_��jL�mE1�A�j@1ɺ�bL���;�Y�^L��E1�A�1ɾ��L�m�H�D$0L���v�H��H��t0H�D$0L��H�T$0H���H�T$0H�BH�� H�BH�� HcT$(HcED1ɾ A��H��L�к�w������f�H�t$�FH��f�����|$8�~�H�t$��f�����|$ �����D$8�D$���DH�D$���B�D$ �D$�{���DH�D$����D$ �[���D�D$(A����Hc�HcEDL�����LcMD1�1�H��A���I�����H��I���1�H��tI�VL� H�PI�F�D$(1�A��1�H�߃�Hc�HcEDL�к�d�H��I���)�t$ I�F(����A�I�VL��H�����E1�1�A���� H�������|$�%���E1��S�����D$ �����jA��H��j@A�����`���A^A_���@LcL$ �H��A�@������H��H�D$(��H��tI�VH�L$(H�PH�I�F�|$�r����M����D$0jL�eE1�A�j@1ɺ�bL���N�XL��ZE1�A�1ɺ���L�e�H�D$8L����I��H��t'H�D$8L��I�E��I�EH�� I�EL�� �|$��E1�1�A���� H��M�n��E1ɹH��A�@��� �n�jE1�1�j@A��H�߾`�}�_1�AXL��H���i��E1�1�A���� H��� �E1ɹH��A���� ��1�1�A�A���H�����jE1�1�j@A��H�߾bI������AYAZ�|$0��H����H�D$A�1ɺH��A��� ��E1�1�L��L��H������D�\$ E��t>H���>�M��tH��tI�T$I�D$H��H��I�T$H����I�F(���@jL�mE1�A�j@1ɺ�bL���3��AYL��AZE1�A�1ɺ����L�m�H�D$L���l�I��H��t&H�D$L��I���I�GH�� I�GL�� 1�E1�A���� H����H���d�H�L$H������H�������H�PH�HH��H��H�P����@H�D$���f�LcL$ �H��E1�A�@������H��H�D$(��H����������HcD$(LcMD1ɺA��� M�nH��L�$�M���E1�1�A���� H����E1ɹH��A�@��� �y�jE1�1�j@A��H�߾`���HcEDAY1�AZ1�A���M�LH���D�jE1�1�j@A��H�߾bI���@��A[X�|$0��H�����H�D$�m����D$0�D$ ���fD�D$G�D$ �D$0�D$8jL�eE1�A�j@1ɺ�bL������_E1�AXL��A�1ɺ���L�e�H�D$HL����I��H��t'H�D$HL��I�E�-�I�EH�� I�EL�� �|$M�n��E1�1�A�@��� H����L��L��H���}e��E1�1�A���� H�����E1ɹH��A���� ��1�1�A�A���H�����|$ I���UH���m�H�D$�D$�D$ ����HcD$(LcMD1ɺA��� H��L�$�M��J�E1�1�A�@��� H���-�LcMD1�1�H��A���I�����H��H�D$��H��tI�VH�L$H�PH�I�FHcED1�1�A���H��M�L����|$ I����H����H�D$�D$�D$ �������D$0�t$0f���?����|$8�|$�D$G�D$G	�D$ ���@LcL$ �H��E1�A�@����K��H��H�D$(���H�������A�I�VL��H���f��E1�1�A���� H������|$�B����f�E1ɹ��H��A�@� ��H����H�D$�D$�D$ �D$8�D$E1�1�L��L��H������1�A�H��A���� �`�jE1�1�j@A��H�߾`�o��YE1�^A����H�߾ ���|$G�B�|$0�����LcL$ A�@1�H�ߺ���jL�}E1�j@A�1ɺL���bI������XL��ZE1�A�1ɺ���H�M�H�D$H��H�L$ �&�I��H��t+H�D$H�L$ I�H���I�I�GH�� I�GL�� E1�1ɾ H��A����6��H����H��tH�L$H��tH�PH�HH��H��H�PH�����H�������M�������I�UI�EH��H��I�U�m���LcL$1�A�@H�ߺ���H�L$H�������H�������H�PH�HH��H��H�P�o���E1ɹ��H��A�@� �a�H���9��D$GH�D$���f.�E1ɹ��H��A�@� � �H����H�D$�D$�D$ �D$8�D$A�1ɺH��A��� ����K���fDE1ɹ��H��A�@� ��H�����D$GH�D$�@AWAVI��AUATUSH��hH�/dH�%(H�D$X1��F�<j�H����H��A��Hc�I��E��H�>��E���WI�vL��H���A�f����M�l���E���������
H���H-H�H H��@�8H�P��H��H9�r�A��L��H��D�$�������D�$D�$1�E1�1�j�eA�H��j@����XZD�$A��@���f�E���W
������9H���H-@H�H H��@�8H�P�H��H9�r�A��L��H��D�$�����b��D�$D�$E1�1�1�j�eA�H��j@�,��A_XD�$A��	@����E����D���E���oH���H-�H�H H��f��8H�P�KH��H9�w�A��
L��H��D�$��������D�$D�$E1�1�1�j�eA�H��j@���A[[D�$A��@���~�E����D���E����D���E����
A�L����1�H��M�������E����������L��H��A��������u���=����L��H��M���\��:f.�E���j�E1�A�j@1ɾ`H��M�����XZ�H�|$XdH3<%(L���$H��h[]A\A]A^A_�f.�@���D$S���D$W���D$TA�f�D$UE����
H�t$SL��M�nH���R�E���G�E1�A�	1ɾ H�����D���H���E��tD���H�Y���H�b���E��HEоH���^���D���E����	E1�1�A��� H���a������
M�����@E����
D�$A�L��A��tE1�1ɺ0�	H����D�$�H��D�$�����H��I�����D�$H��tH���L�(H�PH���A��@��@��H������H��H���N��H���Q���I�$M��H�H�PI�$�.���fDE����	D���E����A�A�ƒ��D���E���:A���SH���A��A�������9���A���4D��E��D�<E9�D��D��A�AC�AF�L��H��D�$���D�$D��D1ЍP����^PE1�A�1�j@��fH������A[[E��D�$E	��E@E�������E1�1�H�ߋ���V�1�A�
H��A�@���f�����H�D$(H�$��E1�1�A�
��H���/���H��I�����L�$H��tH�T$(L�(H�D$(H�PE1�1�A����!H��L�$���1�A�
H��A�@������jE1�1�j@A��H��`I�����A]H��X��p��H��I���U��H��tL�$M��tI�RI�BH��H��I�R���1�L��H�����H�����H�t$(H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H������M��tH��tI�WI�GH��H��I�WH�����M���k���H���b���I�UI�EH��H��I�UM���:���f.�D���A�E��tA�<�vH�Ϩ��?D�,A��E��t���tL��H��D�$�f���D�$A���(E����L���E��D�Ѕ��	��A�9�����D�T$D�$������L��L��D�\$�L$L�D$�.���L�D$�L$��D�\$D�$D�T$������A���v A�FA�� �UA����?A��A	�E��t
�������t
A���G
E��G�8E9�D��D��H��AC�AF�E1�1�D�$�#��ޡ���$����
SE1�1�1�j@A��bH���F��X1�ZM���@�H���}{��1ɾH��M��A�@������H��H���p��H��tI�$H�H�PI�$Mc�M��Q����E���D�$A�L��A��tE1�1ɺ) �
H���]�D�$�H��D�$�X���H��I�����D�$H��tH���L�(H�PH���A���c����E����D���A��oM�n A��A��E��t!D��I�F��H��8H���L9�u�A�D�\$D�$A��o�UE1�1�D��1�H����D�\$D�$1�A��M��L��H��D�$葄�����9���D���E����jE1�1�A�j@��eH�����XZjj@E1�1�A���iH���u��YM��^1�A���H��!�&��j1�A�jA�@�H��h�2��_AXjjE1�1�1�A��eH�����1�AYH��AZ�����H��H���c��H���Z���I�$H�H�PI�$�F���fDE�A����	H���A�F�<E9��n���A�A�L��D��D��H���:�E��1�1�H��A�@��P���H��H������H��tI�$H�H�PI�$M����@A���vA�VA�� ��	����?%�	Ѓ�������H�5������Hc��V���H���H��BH�@H�o��|�1���������H�t$(H������L�$���f�A�L��D��1�H���J�D�$D�\$���A��
L��H��D�$�����_���D�$��fDA��L��H��D�$�����7���D�$���fDA��L��H��D�$��������D�$�(�fD1�E1�1�H��A�@������H��I���V��H���/���I�$L�(H�PI�$����f��4$H�����D�$����@H������e���H��������H���p����d�H���`������4$H���M���D�$�M�@�4$H���5���D�$��@�4$H������D�$���@H��������H�����D����4$H�����D�$�=���@�4$H�����D�$�e���@H�������4$H����D�$�U���@E1�1�A�
��H���k��H�߾I���+�H���#��M�����H�����I�T$I�D$M��H��H��I�T$��f�Ic�D�$1�E1�P�`A�H��j@����A��Y^D�$�9E��t����'�1�A�������M��H�L$0@��L��H��D�l$0H�D$4�D���I���,�@E1�1�A����!H���k��jE1�1�j@A��H��`�z��YA��^1�A�@�H���8��1�A��H��L�
v���!H��I�����jE1�A�j1�H���`���_H��AX���H���t�H���k�H�SH�CM��H��H��H�S�C�E1�1�A�
��H��D�$����H��I�����D�$H�������I�$L�8H�PI�$���fD=���� �^E�~��%�A��?A	�A���\	H���D��A����f�A���
���D��1�A�@�I���H���������H�D$(I���E1�1ɾH��A�
�����H��I���*��H��tH�T$(L�8H�D$(H�PE1�1�A����!H���W��1�1�H��D���A�@��H���H��H������H��tI�$H�H�PI�$H������H�t$(H��@��H���'����H�H��t@��tH�QH�AH��H��H�QH�vH��u����E��A�@1�H������D�$H��A��n�ujE1�1�A�j@��eH�����A[A_jj@E1�1�A���iH���{��XM��Z1�A���H��!�,��j1�A�jA�@�H��h�8��Y^jjE1�1�1�A��eH�����_1�H��AX�����H��I���k��H��tI�$L�0H�PI�$H���N�H�����H���=�H�SH�CH��H��H�S�$�@M��1�1�A�@�H���v��I��1ɾH��A�@�I���V���H��H������H��tI�$H�H�PI�$H�����M���U���H���L���I�WI�GH��H��I�W�3����E���r����e�E1�1�A�
��H��D�$����H��I���A��D�$H��tI�$L�8H�PI�$L���������1�1�H��E��A�@��f���H��H������H�����I�$H�H�PI�$������H�5�����Hc��V���H�ǝH��BH�@H����D�������t���E��A��f���A�V��-A�׉�A�A����A����D	�E�~A��?A	�A���$���H���A������������	�A�F��?	��/�A�vA�����������	‰��?	��M���H�t$(H���k������D��H�ܯE���H��BD�҃����H���H��BH�@H���D�L�E��{�D��H���E����H��BD�������H�x�H��BH�@H�g�D|����Ѩ�����E�~A��������A��?	�D	�E�~A��A��A	����@��A�vA������D�׃�?�������%���	�	�	��*���E1�1�A����!H��D�\$�$����D�\$D�$A��t\A�D���H���A��E��t,=�vE�F� �"��A��?%�D	����z���
9���������E��A�@1ɺ1�H���y���H��H�����H��tI�$H�H�PI�$jE1�1�A�j@��`H���T���X1�ZA����H��A�@���1�A��H��L�
P���!H��I������j1�E1�j�`H��A�����YH��^���H��tH��tH�SH�CH��H��H�SM�n�%�A���7�������%	�A�V��?	�A�V����	���A�VA���BA������?E��%�A	�A	����H�����H���}�I�$H�H�PI�$�i�A���s��2���E�~A��������A��	�A�vA�����?	�D	�E�~A��A��A	���A�~@�<$D��A���,�����������	��<$%���?	�	‰��%�	��Y�A�����������%	�A�V��?	�A�V�����	�A�V����	����A�vA����A������?%�A��A	‰��A	�%�A	��.�A��?���E�~A�����?��@A��	�A�vA�����?	�A�v�����	�D	�E�~A��A��A	����������@��?��	�A�~%���?	�	‰�4$��%���	Ё�	���A��A�~�A������?%�A��A	‰��A	�%�A	‰��%�A	��1�D�$E1�A�1�j �H��fj@�ɺ��_AX1�D�$A�@�A�� E������������?%@	�A�V��?	�A�V�����	�A�V�����	�A�V����	����������H�
ש����Hc��Q���H���H��BH���Hk��|�����Q���A����%?A��@A	�A�F��?A	‰��%�A	‰��%�A	‰���%�A	���A�~�uA������?D������	�	�����A�N�u.A������?D��%�����	�	ȉ���	����A��A�vu8��A����?%A�����D	���	�����	�	��K�����A��A��?%@��D	�E�F��������A��?D	�	�	ȉ����	�����@AWH��AVAUATUSH��H��XL�#���H�|$ H��H�t$L�wH�$H�T$@dH�%(H�D$H1���\$(H�D$@�ƃ�@�t$0H��HE�H�t$���H�W!1��D$�E1�1��D$,A�L�Pf��th���J<��<����	����
�[Ic�L�>��f��D$,1�A����A�f.��BH����u��|$0��H�|$ E1�1�D����U��H�D$��ƒ��������1�A�@�L��A���H��H�|$ L�D$@L��H��H�D$��P ���p�����_�L�������L��I�����H��tH�<$H�L�(H�PH�L�����H��tH��tH�SH�CH��H��H�SL�t$I��!�D$,D$�XE��tE1�A�1ɺ� L���x��jE1�A�1�j@��iL��臶��AYAZjj@E1�A�1ɺ�hL���b���L�
�A[1�[A���L��#���jE1�A�j@1ɺ�eL������A]Xjj@E1�A�1ɺ�hL�����XZjjE1�A�1ɺ�`L���ֵ��L�
_�YL��^A�@1ɺ� ���L��A�1�A����#�c���|$���zE�����D$,�����D$,A���H�D$0�D$ H�D$����f�A��H�4$A�VA����H9t$@��!�D��<�V<����<I�n��DD���
�8H�=FcHc�H�>��@1�A�����D$���1�A�����D$,���<��!1�A��������D�D$(���BE���H������z�� �H����?H����H	Ɖ�I9�LB�H9�A�HG��
���f.��|$(���B���zA��H�����E����D�J�� �wH����?L�R��H	���D��H9�@��HG�H���vZE��tUE�J@�� ��H����?H��I�R��H	�D��I9�A�LB��Z���f.�H���+����I�RA��1����L�R�y����D���B���H����?A��H����A��H	�L	�����H���JH������tf�I9�LB�H9�HG�H������u�A�����@��A�B@���VA�r@���?H����?�������H	�I�RH	�D�����H	�������D���z����D���B���>H��A��?A����A���A��L	�A��L	�L�RL	��J����D�J����H����?A��H����A�����H	Ɓ�D��L	�H	����@L����v���H�$H�|$ D���A��_������f.�H����?��H	�D��L�R����H	Ɖ�D�����fDH��A��?���ҁ�I	�I�RL	����D��D�zD����H��A��?A��D�������H��L	΁��%�A���L	�H	�H	�D�������_H+D$1�1�P�bL��E1�j@A��ɰ��Y�^1ɾ L�����H�D$0H��t(��H��E1�1ɾ`PL��j@�T$<A��肰��XZjE1�1�1�j@�\$<�bL��A���a���YA�~�f^� ��E�L�����jE1�A��j@1ɉھbL��� ���_AXjj@A��E1�1�1ҾbL������AY�AZ��fL���7��D��L��虻��H�D$0
H����A��I��f.�A�D���a���H�|$@tCL���A���H�t$@H��t1H��@��H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$HdH3%(��H��X[]A\A]A^A_��T$,E�N1�D��L+L$0A�@L�����H��@I��H��H�T$�G����L��E��H�$HO\$�M���H���$���H�H�T$H�HH�H��
���DA�FH�=܇�Hc�Hc�H�|$0H9�t3�PH��E1�1ɾ`H)�Pj@�T$<A��L���q���A�FA[A^�H�=�����T$,1�H�D��A�@Lc���L��I)�����H�\$0H���$���@H�\$0�	E1�1�1ҾbL��H)�Pj@D�t$<E�����X1�Z� �L���6���E1�E��H)�1�1ҾbPL��j@�ĭ��Y�^1ɾfL������E��1�H)�1ҾbL��PE1�j@茭��_1�AX��fL������D��L���'���H���W����I��E��������L�����H���/����H�D$0H��t(��H��1ɾ`E1�PL��j@�T$<A�����Y^jE1�1�1�j@D�D$<�bL�����[�A^�� L�����H�|$��jE1�A�1�j@1ҾbL��蜬��Z�eY��L������jE1�1�j@�\$<�`L��A�؉��d���^_jj@E1�A��1�1ҾbL���G���AX�AY��fL���|��D��L���޷��H�D$0H�D$H�����@H�D$0H��t)�}H��E1�1ɾ`PL��j@�T$<A���ϫ��A[[jE1�1�1�j@�\$<�bL��A��譫��Y�^�� L������jE1�A��j@1�1ҾbL���y���_�AX��eL�������I�����1�A�@�L���!���H��H�D$H=f t.��H-f �E1�1�PA��`L��j@����XZjE1�A�1�j@1ҾbL�����AY�AZ�� L�����h��j@E1�1�1�A��bL��詪��_1�L��AX��f��
��L���:���H��tH��tH�SH�CH��H��H�S�E1�A�@1�D��L���1���H�D$0H�D$f H���/����H�\$�$E1�1�A�1ҾbL��H)�Pj@����A^1�X�� L���?
���@E1�1�H)�A�1ҾbPL��j@�ʩ��X1�Z�f�L���
���`1�1�H)�E1ɾbL��PA�j@菩��Y�^1ɾfL������H���t0�HH��E1�1�L��SA���`j@�C���A[[h_�E1�A�1�j@1ҾbL������X�Z�f�L���V��h�E1�1�j@A��L��`���Y^h�j@E1�A�1�1ҾbL��迨��_�AX��fL�����D��L���W���H�D$H���~���fDH�D$0H��t)��H��E1�1ɾ`PL��j@�T$<A���O���A^XjE1�1�1�j@�\$<�bL��A���-���AY�AZ�� L���b����I�����1�A�@�L���Դ��H��H�D$H=f t/�H-f L��E1�1�PA���`j@踧��_AXjE1�A�1�j@1ҾbL��藧��A^�X�� L����
��h��E1�1�j@A�1ҾbL���\���X1�Z�f�L���
��h�����w���@A�VH��	H���C���1ʍr����
H�|$��RE1�A�j@1ɺ�fL������CAYA�AZE1�1�1�P�bL��H��j@���A[1�A^�� L���	���A�f����"���H�l$H�l$DH)�E1�1�1�PH��A��bj@L���d����;��f_AD�AX1ɺL���	������u�H�l$���DH�D$H��	t.��H��	E1�A�1�P��`L��j@���AYAZjE1�A�1�j@1ҾbL���٥��A^�X�� L���	��j|E1�A�j@1�1ҾbL��补��X1�Z�f�L������hE1�1�j@A�1ҾbL���j���Y�^1ɾfL�����H�D$0H��t)�GH��E1�1ɾ`PL��j@�T$<A���#���A[[jE1�1�1�j@D�D$<�bL������_�AX��fL���9��D��L��蛰��H�D$0H�D$	H�������l$(D�ʅ���I�����A�F�� �mI����?I��A��I	�L+L$�|$ �`A���<��D�T$ E���C�A�@1�D��L������H���.����|$(��A��H�����E����A�F�� ��H����?I����H	�H�D$H9�t6��H)�D�\$1ɾ`PE1�A��j@L��賣��Y^D�\$E�L��I����_E���VA�FA�� ��I����?I��A��I	�I)�|$ ��A���<��D�\$ E����D���A�@1Ƀ�L������H�l$H�����AQA�E1�1�j@1ҾbL������AX�AY1ɾfL���'����L��茮���D$ H����@I���/����AQA�E1�1�j@1ҾbL���臢��AY�AZ��fL�������L���!���H�l$H���D$ �G�@I���T����I�������A�N����I����?��I��E��L	�A��A��I	��s���H��H+D$D�\$E1�P�A�1�j@�bL���á��XZD�\$����fD�����1�E1�A��� L���[���H�\$ 1�L��L�D$�H���/Z��������E1����jE1�1�A�j@��eL���5���AYAZjj@E1�1�A���iL������A[M��[1�A���L��!���j1�A�jA�@�L��h�̠��A^XjjE1�1�1�A��eL��諠��X�L��Z�\����L��H�����H��tH�|$H�H�H�PH�H�D$ D���E���kE1�1�A��� L������L�t$�D$,I��!D$������A�N���H����?��I����H	�Ł�H	�����fDA�VA����I����?��I��E��L	�A��A��I	��H���f�AQ1�E1�1�j@A��bL��蒟��A[[��\$ L���1Ƀ��溃�f����\$ ��DA�v�����A�~�`
I����?��I��A��%���I	������I	���I	�I	�����SE1�1�A�j@��bL�����M��^1�_I)پL��A�@�L�l$@虫���L��H��H�D$�LD,$����H�����I�UH�H�PI�E�����D��A�B��H����?�������H	�H	�D������H	�D������H	�I�R��D�L$<D�J��D�L$;��H����?A��D�L$<��A���A��H	�A���A����L	�A��L�R�D$;L	�L	����f�AQ1�E1�1�j@A��bL��蒝��[A_��\$ �L������溃�f����\$ H�l$��DA�vA������A�~�ZI����?��I��A��%���I	������I	���I	�I	����fD��A�N������A�~��
H����?��I����%���H	������H	Ł�H	�H	����DH��A��?A���B��@A��?��H��A��L	�A��I	�A���A�����L	�L	�L	����I����?��I��A��%���I	��I	�I	�����H+D$0E1�1�P�bL��j@�T$<A�����A[[�c�jE1�1�L��j@A���h�›��_AXjj@E1�1�L��A���h螛��AYAZjjE1�1�L��A���`�y���A[[jjE1�1�L��A���`�U���L�
��A]1�L��A_A�@�I��� ���E1�A��1ɺ�!L���߮����3C�P�����	H�|$�x	�t$E1�A�L��j@1ɺ�`�͚���C3E1�_AXPA�j@1ɺ�fL��襚���CA[E1�A^A�1�1�P�bL��j@聚��X1�Z� �L������H+D$E1�P1�1�A�j@�bL���G����{�Y�f^�f�L��E�1�H���q����t�H����?A��D�L$<��@A��?A��H	�A�����A��I	�A������BM	ׁ�L�R�|$;M	�L	����H����?����@��?A��H	�A�����I�RH	�D�Ɂ������H	�A�BL	�H	����I����?��I��A��%���I	��I	�I	�����H����?��I������%�H	͉�H	Ł�H	������t$E1�A�1�j@��`L�����AZA[�!�jE1�1�A�j@��eL��躘��AXAYjj@E1�1�A���iL��蕘��AZM��A[1�A���L��!�D���j1�A�jA�@�L��h�P���A]A^jjE1�1�1�A��eL���.���X�L��Z�ߣ���L��I������H�����H�T$@L�(H�D$@H�P��E1�A�1ɺ� L��裫���D$,����jE1�A�1�j@��hL��覗��A]A_jj@E1�A�1ɺ�hL��聗��XZjjE1�A�1ɺ�`L���^���YE1�^A�1ɺL�� ����A��1�L��L�
����!I������D$,��jE1�A�1�j@��hL��M�����XZjj@E1�A�1ɺ�hL���Ɩ��Y^jjE1�A�1ɺ�`L��裖��L�
,�_1�AX�A�@L�� �O���E1�A��1ɺ�!L���2���A�E�����A�U<t'<tP����I��A�E�����A�U<uًD$(����������� t���oI���@�D$(��������������� ��A�EI�U<�������L�j� �N���L�j��B���L�j��6���E1�A��M�l�#���DI���������H�$E�ML����H9\$A�@��!ʉу�<D�1��������L���H�D$HO\$苠��H������H�H�|$H�HH�8H����L�j���I�UA�E����A�VI����I��A��@%?������?�����I	с�L	�A��H	�A���I	�I	���f H+D$E1�1�PA��L��j@�b�h���A[A^�\��f H+D$1�E1�P�bA�L��j@��5���Y^�y��	H+D$L��E1�PA�1ɺj@�b����_AX���H+D$0E1�1�P�bL��j@�T$<A���֓��AYAZ���H+D$0E1�1�P�bL��j@�T$<A��觓��A[[�S��H+D$0E1�1�P�bL��j@�T$<A���y���XZ�u��H+D$0E1�1�P�bL��j@�T$<A���L���AYAZ�w�H��H+D$0E1�1�P�bj@�T$<A������H+D$E1�1�PA��L��j@�b���AYAZ��������CI�UA�E����H�$H�|$ H��E1��
H�����H9\$�Q��L���Z����L��H�����H���+�H�|$H�H�H�PH����t$E1�A�1�j@��`L���G���X�CE1�3ZA�Pj@�3�A�VH����I����@%?������?��H	Ձ����H	ʼn�%�H	�H	�H	���A�NI����I��A��@%?������?�����I	Ɂ����I	�I	�I	�I	��)���u5I���#���1�A�������PE1�A�j@���I�UA�E���L��E1��A��M�l���H+L$E1�1�L��QA�1ɾbj@H������AY1�AZ�� L���T��W�D�|$,���L��蝞��M�����H���{�I�UI�EH��H��I�U�b�A��1ɺL��A�@�肝��I���D���uI�UA�E���I�UA�E�������@AWAVI��AUI��H��ATUSH��H��H+WH�/dH�%(H�D$x1�H�GH�D$hH�D$p���D$�����D$X��D$(�@H���j���D�UI��E���Zf�E1�@@ @0I�EM�t$ I�$I�FH��H�D$H�CH+SM�e���D$ L;spt�{x��u[�D$ E�.A�E�<v7A�E�<wo�$A��
A�E�<
�
H��=��Hc�H�>����$��f.�E�.��A��A�E�<v��@�D$�D$X����D$(�	���A�E�<�TA�E�<�x
A��'�$ �t����$�A�A�*H�D$�D$0H���<$H�D$��H�t$H���D�T$8��$�8c��H�L$D�T$8H�D$H�L$�<$��@��DDи�E�A��E���b	A��� 	I�D$���E��H�D$8u �$<��<����t������JMc�M��A�@D��L��� H��D�T$8�ơ��H��螛���4$H�T$H��A�I�L$H�D$@���jM��E��j@L��D��bH��谍��AY�AZH���_���D�T$8H��tL�\$@M��tH�PL�XH��H��H�PA�E�<�jH� <��Hc�H�>���$E�^I�FA�)H�D$fA��E���Z����$f.�A��A��=����A�FE1�f�����D$0I�FH�D$I�FH�D$������Y���H�D$�<��I���H��f��?�HD$�1���DA���$�,����<$
�D���D�$$E���1Mc�E1�A�D��L�� L�|$hH���-���L��H���B���H�����H�T$E1�L��D��H��H�$�`���E1�L��D��A�� H�����H�4$H��蘸��H��谙��H�t$hH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��E��1ɺ� H���t���D�T$ E����HcL$ E1�A����A���� H���<����if.��L$���DD�|$XHcL$E1�H��A�� D�������D$0HcL$(D��A�@D�H� H���ޞ��H��趘��I�D$(H�+jE1�1�j@A�
�
�bH���݊��1�XH��Z葖���H��I���1���H��tH��hL� H�PH��hH�\$xdH3%(H�D$�� H�Ĉ[]A\A]A^A_�@�D$����HcL$�T$XE1�H��A�� ����A��%�5����4$H�T$I�L$0H��A��W�������f�D�L$E���rHcL$�T$XE1�H�� A��Ý��H��蛗���t$ I�D$(������HcL$ E1�A���� H��芝�����D���D�d$0�����<$
��
Mc�M��A�@D��L�� H���D���H�t$hH���W���H�������4$E1�H��H�T$H�L$pI���s���jM��L��j@E��D��bH���&���1�AYH��AZ�ؔ���H��I���x���H��tH�T$hL�(H�D$hH�PL��H���w���jE1�1�j@�`A�H���ƈ��_H��AX�k���H�t$pH��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1�A�j@��bH���U���YH��^���H�t$hH��@��H���5���fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�������$Mc��D$8E1�A�L��D�� H��詛��H�T$�t$8H�L$hA�H�����E1ɾ L��A�D��H���q���H���I���H�t$hH��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��E��1ɺ� H�������6�����$<�<��
�<$
���$D�����<��E�����|$����HcL$(�T$XE1�H��A�� D�T$8蓚��A��'D�<$LcT$8�*H�t$hH��蒳��H���J���H�T$E1�D��H�L$pH��I��误��L��H������jE1�1�j@�`A�H���S���A^H��A_���H�t$pH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1ɾbj@A��H�����A[H��A]艓��H�t$hH��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�HcL$�T$XE1�A�� H���G���D�T$ E���[���HcL$ E1�A����6����I�FE1��D$0H�D$�L����������4$H�T$I�L$A�H��D�T$8�9���D�T$8����LcL$ 1�A��H���D�T$8贑���H��H�D$@�2���D�T$8H���Z���I�T$H�|$@H�PH�8I�D$�?���f�H�D$����f�A�E�<�A��4A�E�<
�yH�M3��Hc�H�>��H�t$hH���3���H�����H�T$E1�D��H�L$pI��H���P���L��H��襰��jE1�1�j@�`A�H����AXH��AY蘑��H�t$pH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1�A�j@��bH��腃��^_H���+���H�t$hH��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�D�\$ E���'����I����������
D���H�|$��P�������@�|$@E����<�5H�D$�D$8A�D$8�D$@A�D$4�D$8A�D$0A��'�!�H��D�T$0�W���H��I���<���D�T$0H�D$P�$H�T$E1�H��I�L$D�T$\��H�L$0�D$H艫��D�\$ D�T$\E���^H��D�$���M��D�$tH��tI�WI�GH��H��I�WH�t$0H��D�$���E1�1�A����!H��躕��D�T$8E��D�$��D�|$@1�H��A�@�D�$M��葎��H�|$PD�$H��tH��tH�PH�xH��H��H�P�|$����
HcD$�T$XE1�H��A�� D�$H��H�D$�#���HcL$(E1�H��T$XA�� ����A��'D�$�;H��D�T$0�Ɏ��L�\$hE1�H��H�T$�t$HL��H�$L�\$(�$����D$ L�\$(D�T$0����L��H��D�T$辭��E1�1�A����!H��联���D$8D�T$���PH�<$�D$A��!�|	M��1�A�@��H��D�T$ �J���H�L$E1�H��T$XA�� I������H����M��D�T$ tH��tI�WI�GH��H��I�WA��'�c	jIc�E��bj@I��H��D�����AX�AYH��襋��H��t�|$tH�PH�<$H��H�xH��H�PH���i���H�t$hH��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�L�t$D�|$X1�H��� M��E���"���jE1�1�j@H��A���`�1��^E1�_A�L��D��H�� �����fDATE1�1�A�j@��`H����~�����A^A_�ZE1�1�A�
��H��虋��H��I������H���V���M���g���H���^���I�T$I�D$H��H��I�T$�B����A��o��A�Ff������A�H�|$�r�H�H�|$@���}�B�D�,$<��D�j�E1��D$0��A�FE1�f�����D$0I�FH�D$I�FH�D$�7�I�FE1��D$0H�D$��f�D�T$@E1�1�A�AS��`H��L�\$@j@�}��XE1�Z1�A�
�H���f����H��I�����L�\$8D�T$@H��tI�T$L�8H�PI�D$Mc�M��A�@D��L��� H��D�T$@����H���ڊ��H�T$E1�H��H�D$H�$I�L$�ƉD$8�6���jM��E��j@L��D��bH����|��A[�XH��虈��D�T$@H��tL�\$HM��tH�PL�XH��H��H�PA�E�<���H��+��Hc�H�>��D���E�����E1�A�
1ɺ� H���3���H��軧��D�d$ E���L�HcL$ E1ɺ�H��A�
� ����'��L�3jE1�A�j@1ɺ�bL���{��_E1�AXL��A�1ɺ�輈��L�3�H�D$L���7���I��H��t&H�D$L��I��_���I�GH�� I�GL�� E1�A�1ɺ�� H��M�|$0�G���E1ɹH��A�@��� �'���D�4$A��'��	H����H�T$D��L��A�H��I��E1��Q���L�;jE1�A�j@1ɺ�bL���z��XL��ZE1ɺA�1ɾ辇��L�;�H�$L���:���H��H��t-H�$L��H�$H��_���H�$H�BH�� H�BH�� E1�1ɾ H��A����H����H���+���H��tM��tH�PL�hH��H��H�PM���6�H�����H���%�I�VI�FH��H��I�V��f.�L�+jE1�A�j@1ɺ�bL����y��XL��ZE1�A�1ɺ�譆��L�;�I��L���*���I��H���Z�L�(L���S���I�FH�� I�FL�� �4��L�3jE1�A�j@1ɺ�bL���\y��A_L��XE1�A�1ɺ�����L�3�H�D$ L��藄��I��H�����H�D$ L��I�軆��I�GH�� I�GL�� ��E1ɹ��H��A�� D�T$L�|$h薌��Lcl$M��D��A�@� H��L���u���L��H��芥��H���B����4$E1�L��H�T$H��I��訡��E1ɹH��A���� �(���jM��L��j@E��D��bH���;x��1�XH��Z����H��I��菃��H��tH�T$hL�(H�D$hH�PL��H��莤��H��覅��H�t$hH��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�A�A���U�DL�+jE1�A�j@1ɺ�bL���|w��_E1�AXL��A�1ɺ��<���L�;�I��L��蹂��I��H���+�L�(L�����I�FH�� I�FL�� ���1�M��A�@��H���Ӄ��H��t�|$tH�PH�$H��H�HH��H�PH�L$�T$XE1�H��A�� 耊���H���c���H�������|$����H�PH�$H��H�HH��H�P���f��L$����Lc|$�T$XE1�H��A�� D�T$8L���
���HcL$(E1�H��T$XA�� ����$A��'LcT$8�$��L�t$hH��L�����H��蠃��H�T$�4$E1�L��H��I�������T$XE1�L��A�� H��芉��L��H���?���jE1�1�j@�`A�H���u��AXH��AY�2���H�t$hH��@��H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��D�D$X1ɺ��f�A��!�D���E����D�\$E���\
HcL$(�T$XE1�H��A�� 蹈���D$0E1�1�A�H���`Pj@��t�����_AX��	E1�1�A�
��H���x���H��I�����H���5���H�����M�����I�UI�EH��H��I�U���f.��D$8E1�A�1ɺ�fH��Pj@�,t��AZA[D�T$�~�fDHcL$ E1ɺ�H��A�� D�T$�Ç��L�\$(D�T$��@D�T$0L�E1�1�jA���bj@L��L�\$�s��Y^E1�L�$1ɺ�A�L���o���H��H�$H��H�L$@��~��D�T$0H��H�����H�$H�L$@H�$H�H�����H�$D�T$0H�BH�� H�BH�� ��f��D$8E1�A�1ɺ�fH��Pj@�r��AXAYD�$���HcL$ E1ɺ�H��A�� D�$蔆��D�$�u�r�@���*��@D�,$��+�A��E1��D$0���!�!�%�j1�1�H��j
E1�A��b�^r��A\E1�A]�
��H��� ����H�D$��P������H�L$�y@�|$@�|$@������<�)�H�D$H���H�P�D$@�������9����������D��D�T$H��J��D�T$H���D$8���H�D$D$@���D�L$0A�@�H�ﺎ� �T���H���,��H�T$L��D��H��A�I��萚��1�H��A�A���� ����jE1�A�j@1ɺH��b�q��YH��^1���|��E1ɹH��A���� I���������jIc�E��D��j@I�ɾbH����p��X1�ZH���|���H��H�D$(� |��D�$H���}�H�T$hH�L$(H�PH�H�D$h�b��D$0Mc�A�@D��L��� H��D�T$HD�HL�|$0�*����H���
|��H��I����}��E��D��bH�D$PH��jj@L�\$@M��L���p��X1�ZH����{���H��H�D$0�m{��D�T$HH���m�I�T$H�|$0H�PH�8I�D$�R�D�T$8L�;E1�1�jA���bj@L���o��XE1�Z1�L��A����l|��H��H�D$@H��H�T$H��z��D�T$8H��I�������H�D$@H�T$HI�H���|��D�T$8I�GH�� I�GL�� ����D�T$8L�;E1�1�jA���bj@L���o��YE1�^1�L��A�����{��H��H�D$@H��H�T$H�:z��D�T$8H��I�����H�D$@H�T$HI�H���T|��D�T$8I�GH�� I�GL�� ��L�\$��Hc�A�|H�L$A�tE�\D�9��D����A	�E��	��q��m��D$0�J�H�|$D�,$A��H�DH�D$����D$����D�|$XHcL$E1�H��A�
� D��蹁��HcL$(E1�D��A�� H��蛁��E1�A�
1ɺ� H���~���H������D�l$ E�����HcL$ E1ɺ�H��A�
� �H����e�D�j�A��D$0����D�L$0L��D�� A�@H��L�T$(�	���H�L$hH��H��H�L$����H����z��H�L$�4$E1�H�T$H��I���1����T$XE1�L��A�� H��贀��jE��D��j@L�T$8�bH��M��L����l��1�AZH��A[�tx���H��I���x��H�����H�T$hL�0H�D$hH�P����D�L$0L��D�� A�@H��L�$�3���H�t$hH���F���H���y��H�T$E1�D��H�L$pH��I���c���jE��D��j@L�T$�bH��M��L���l��1�XH��Z��w���H��I���ew��H���m�H�T$hL�0H�D$hH�P�W����)D)߉|$0�����������m���J��u���H�D$H���H�P�D$@���A��D$0A�*����L�+jE1�A�j@1ɺ�bL���Qk��A^L��A_E1�A�1ɺ��x��L�3�I��L���v��I��H������L�8L���x��I�EH�� I�EL�� ����j1�1�H��j
E1�A��b��j��YE1�^�
��H�������L�+jE1�A�j@1ɺ�bL���j��AYL��AZE1�A�1ɺ��Gw��L�3�I��L����u��I��H���@���L�8L����w��I�EH�� I�EL�� �����D$0�*����H��Y�L$@�@�����H�
�FH��AH�
u�Hk��|��������l�����mt�J�����-����,�x���ff.�AWI��AVAUATI��USH������H�$H�L$dH�%(H��$�1�H�H�D$��tH�W0L��H+G�<��L;$$�HDŽ$��D$lH��$�L��H�D$@H��$�H�D$x�uA��@�����H�@@��Hc�H�>��f��E!��b<��H�|$H�GH�OH�PH��A�L��HE�H�U�ב��H��@H��t{H;,$r�D�L$lE��tkH�\$�HH����s��D�E��uQH�t$f�H�@@H�=YI%@ @@0H�VH�I�W8H�FH�x H�P(H��$�I�G8�H��$�dH3%(�,H���[]A\A]A^A_��H�D$H��L��H�P�l��H���4���@H�T$H��L���@�H�������H�U@�Bf����H€:xt�H�j���@I��0H�]�6H������fDI��(H����r��I�ŋ���+���H�t$f�I�E AEAEH�FI�m I�EL�n�E<���<��,M��<��2I��0�$A������McODA��1�H�ߺ�M����(�s��H��tH�PL�`H��H��H�P1�A�X�H��A���%�Pz��jE1�1�j@1�A��eH���bf��A\�H��A^�r���H��I���q��H��tI�UL� H�PI�Ej�eH��E1�j@A�1�1��f��M��AZ1�A[H��M����'�q��H��tH�PL�`H��H��H�PA�1ɺH��A��� �y��E1�A�1�M����H��M����&�kr��H��tH�PL�`H��H��H�P�H���%q���H��I����p��H����I�UL� H�PI�E��@���M�/L�u��@����������<���(L���ip��A�M������H�|$f�H�@ @H�WH�h H�H�GA����%A���������L������f�H�\$�(H���o��D�H��E���_���H�L$f� H�@ A��@H�QMcO`H�h H��H�A1��
x��A���I�A�H��E1�1�H���H�߾bH��(Pj@�d��AXH��AYA�E1�1ɺ���p��M�/�H��L���Co��I��H��t#H�L���pq��I�D$I�� I�D$M�� L�t$1ɺ�H�]A���A�L����� ��E1�H���Bw��I��A�@1ɺ� L���%w��IcO`E1�L��A���� �w��L��E1ɹ0A���� ��v��A������W�EH�l�Y���f�H�\$�0H���Nn���I�ą������H�|$f�H�UA$AD$ AD$H�GI�l$ I�$L�gf��Bf����H��<xt�H�jI�<{��jH��E1�A�j@1ɺ�b�[b��XH��ZE1�A�1ɺ��o��M�7�H��L���m��I��H��t!H�L����o��I�EI�� I�EM�� H�|$E1�A�1ɺ�� �u��H�|$�o��I�D$(jI�E1�1�j@A�
�
�bH���a��1�A[H��A\�`m���H��I���m��H�����I��hL� H�PI��h����D�}������H�\$�@H���l��D�+E��� ���H�L$f�@ @@0H�QH�h H�H�A�O
@�Ef�����D��b<����H�t$A�L��H�FH�N�pH�PH��HE�H�U���H������fDH�D$A���H�@��H�L$H�PH�������H�\$�(H����k��H�ߋ���I���H�L$f� H�@ A��@H�QMcODH�h H��H�A1��s��jI�E1�j@A�1ɺH�߾b�`��AZH��A[E1�A�1ɺ���l��M�/�H��L���?k��I��H��t#H�L���lm��I�D$I�� I�D$M�� H�\$IcODE1�H��A���� H���Ls��E1�A�1ɺ�� H���/s�����f.�H�|$H�GH�OL��H�PH��HE�H�U���H�����@I�@��v�#�Ef�����D$I�G�(H�����L�t�Wj��I��I�ŋ�������H�|$f�I��wE1�AEA��?1�A�AE��bI�E H�GL�t$ M�'I�EI�m L�oL��AVj@�w^��A^L��XE1�A�1ɺ��7k��M�7�H�D$(L���i��I��H��t)H�D$(L��I�$��k��I�D$I�� I�D$M�� McOh1�A��H�ߺ� ��q��E1�1�A�	�� H���q��E1ɀ}vuD�MA�@���H�߾%�{q��E1ɹH��A����%�[q��I�GA�@����%H�����L�H�/q��E1ɹH��A���� �q��E�_`E���ZD�MA�@�@H�ߺ�� fA��E����p��D�MA�@�H��� H��fA��E���p���}v�"D�u�D$L�M
fA��D�`�E��A�@�`��H�߾ �kp��M��XH��A�@��� �Kp��M��PH��A�@��� �+p��A�`�H�����E1ɾ ��<D�@�p��E1�1�A���� H����o��E1�1�A��� H����o��IcWD�H����H��)���H���t	��E1�1�A���� H���o���t$ I�?E1�j@1�A���`�[��_AXjj@E1�1�1�A��b#H���s[��AY�H��AZ�"g���H��I����f��H��tI�UL�0H�PI�EM���H��M���f��f��H��tH�PL�`H��H��H�P�D$H��\�@M�'�@�]M��(L��f���If��I��A�$�����H�|$f���1�AEL�D$@�AE AEAE0H�GI�wI�m I�EH�L�oL���1������>M���I9^(u�^f�I��H;Z(�I�H��u�L��0�e��A�<$H�…���H�H�BH�BH�BH�B H�Z(I�I�U0�L��H�T$�e���L��H���Ke��H����H�T$H�JH�H�HH�B�f�I��8H���e��I�ŋ�D$8���o�H�|$f�I�E0AEAE AEH�GI�m I�EL�o�E�D$ �D$(<�u�E�D$ H���D$(I�GH��I+W���D$4A�E(�D$(<�t��D$(<���<���EA�W@H��L��L�D$@L�uf������D�$1҉L$P1�D�d$�f/���D$hA�E,����E���E�gh1�E�������D$T��$��\$T�A���D$T�|$ �bM�'��E1�1ɉD$TL��A�E0H�H�D$XH��Pj@�KX��AZL��A[E1�A�1ɺ��
e��I��H�D$8H��H�T$H�c��I��H��t.H�D$8H�T$HI�$H���e��I�D$I�� I�D$M�� �|$h���D�L$E������$�����E1�A�1ɺ�� H��A��_k����$������T$ A�D$����E1ɺ�� H��B��A�Hc��k���D$���H����d���}|H�D$H��H�D$X�L$hL���|$H��H�D$X�����)��H�H�D$`�GH��H��$����H�H��$�Hc�H��H��$�B��E1�H�L�d$pA��H��$��D$T�����H�H��$��D$(��D$8I�EL��L��I�E�Ef����H�H���������<�E����D�T$LcL$4E����	�t$XA��1�H��j@��b� V��Lct$`1�_�AX� H��M��A����i��IcODE1�H��A���� H�$��i��E1�L��A�� H���i��A�Gh���BIcOD��E1�H��H�$�A�� �Si����$����=	�|$8��a	�D$ ����	�H���a��H��tH�|$HH��tH�PH�xH��H��H�PL���ee��I�uL����:������H���b��I�uH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E�����D$���!	�}|�'LcL$PA��1ɾ �H���Xh���}|H�u����D$ I��L�d$pH��I�E����H���b��M���x�H��@��I�$H��t@��tH�QH�AH��H��H�QM�d$M��u��=��H�\$�@H���f_���3�����H�|$f�@ @@0H�WH�h H�H�GH��1�H��L���TH���
�D�E��b<�	L�t$H��L��I�FI�^H��H�PHD�����I�FH��L���H��H�PHD�E1�H��耊�����E��b<��H�|$H��H�GH�WL��H��H�HHE�E1��H���:����e�D<���E1�L�D$@1�1�H��L���)���D$P�D$hA�E,�D$����D$ �t$hD�T$����$��D0��E���q�x��D$T�|$`HcD$TM�'E1�1�A���bH�D$XL��A�E0H��H�D$HPj@�TR��AX�AYL��E1�A�1ɾ�_��M�'�H�D$pL���]��H��H��t0H�D$pL��H�T$pH��_��H�T$pH�BI�� H�BI�� Lcd$4H��A��1ɺ� M���e����$����	�t$HL�ẎE1�j@�`A�H���Q��XZ1ɋt$ ������$����c�D$E1Ʌ���
A���� H���e���L$`1�H��L������D�d$8A)ċD$�����HcL$PE1ɺ�H��A�� ��d�����@�EM�t���f.�I��0��M���H��M����u\��H��tH�PL�`H��H��H�PH�����H�D$H��L��H�P��f��H�����@L�u�r����H�\$H�G8�HH��H��$��[���I�ƅ���H�t$f�H�$1�AL��$�L���AF AF0AFI�F@H�FI�H��0%L�vL��M�w8I�F L��I+GI�F0�n&��H�|$McOdA����A�F@�� I�1ɍC�ʼnD$�lc��Hc�M�/E1�H��1ɺ�bUL��A�j@�rO��XL��ZE1ɺA�1ɾ�3\��M�/�H�D$ L���Z��H��H��t0H�D$ L��H�T$ H���\��H�T$ H�BI�� H�BI�� �|$IcOd�nH��E1�A���U�`j@H�|$ ��N��]A]H�l$M�N0����Hc�A�@� H���ub���K���H��Hc�A�A�@� �Qb���K�E1ɺ�Hc�A�� H���0b��A�F@��xH�$�H�L��L�����L;$$����D$l����x�D$`�|$T����L�MA�@1�L��� L���a��IcO`E1�L��A���� �a��E1ɹ0L��A���� �a�����D$T�����YY���H��I���X��H�����I��`L� H�PI��`����fDA����n�D$���j�|$(��Z	E1�A�1ɺ�� H����`��D��$�E����|$8���D�\$ E�������E1ɺ�� H��H��$�A�@�`���s����D$������E1�A������fD1�A���H�߾ �f`���t$X1�E1�j@�bA�H�ߺ�sL��Y^�|$(��
H�L$`��E1�H��A�� �`����$�������IcOdL��$�A��H�ߺ�� ��_���|$8������1�E1�1�H��A����X���H��I���NW��H���l���H�L$pL�0H�D$pH�H�D$ ���[���E1�A�@1ɺ�� H���k_���9���fDLcL$4A��1�H�ߺ� �A_��L�L$`A�������1�E1�1�H��A���&X���H��I���V��H���'���H�t$pL�0H�D$pH�p�����IcOdL��$�A��H�ߺ�� �^�������Lct$PA��1�H�ߺ� M���^��IcODE1�H��A���� H�$��g^��E1�L��A�� H���I^��A�Gh���sIcODE1�A�H��H�$���� �^��������EM�'f����L�lH��I�W(I���<��IcODE1�A�L�纎� L���]���{��H��%�@v�D$���@H�|$L�pH��I�DŽ$�H�WH�D$LD�H9,$� H��E1��<��<��A���H�SD�kI�������A��=�vCD�CA�� ��D�KA���H��A��A��?��A��D	�D	�f.����*A��F�A9�������t
�"�����eA����CH�#A��?B�(���3fDE���E����C<��H��"��?���AčPD��$�Hc�H�A���
H9$����Mc�E1�1�A�AT��`j@L�l$(L���SH��YE1�^1ɾL��A�
��U���L��H���S��H��t
I�H�H�PI������H�\$xH��$�H��D1��8H�PM��@��H��L���])����$����H���*��f.�A��D8,t1��� ����tA��H��D��$�����E�������uH�UL��L��A��p���@HcȺ�� H��L��$�A�@�[����H�ZI�U0H���2��L����R��H��tH�PH�XH��H��H�P1�E1�1�L��A�@���S���L��H���OR��H��tI�UH�H�PI�EL��H���oT��I�E(���fDE1�E1�E1����f�jH��E1�A�j@1ɺ�b�F��A^H��XE1�A�1ɺ��?S��M�7�H��L���Q��I��H��t!H�L����S��I�EI�� I�EM�� H�\$E1�1�A�@��� H����Y��E1ɹH��A���� �Y����@A�01ɺH��A��� �Y����L�t$McOd1ɺA��� L���]Y��IcOdE1�L��A���� �>Y��E1�L���A�@��� �Y��I��L���A�@��� �X��E1�L���A���� ��X��E1�A�1ɺ�� L���X�����@LcL$4A��1�H�ߺ� �X���n���@�{P���H��I���P��H�����I��PL� H�PI��P���LcL$4A��1�H�ߺ� �1X����L�L$`A��1�H�ߺ� �
X������I�wH�I��fDA�Af����I�A�9xt�I���H�����L��L��L��H���R��A�E8�E��E1�A��1ɺ� H���W������T$ ���n�B��A�A�@H��Hcɺ�� �^W��D��$�E���4�A����@A���� H���(W���D$8E1�H�ߋD$8A���� ��Hc��V���L$`1�H��L���ɋ������E1ɺ�� H��A���V���D$8�D$8��Hc��j�A�A�@��H�߾ �V����D$8�+�McOdA��1�H�ߺ� �^V�����H�|$E1�A���� �<V����IcW@1�L��A��� L�º�V��IcODE1�L��A���� L���U��IcGDE1�L��A���� I�L���U�����HcȺ�� H��L��$�A�@�U���e���Lcd$McOD1ɺA��� H��I��M��xU��IcGD1ɺA��� H��M�L�UU��E1�A�1ɺ�� H���8U��McOhE����E1ɹ��H��A�� �U��D��$�E���!A�GhA����U���E1ɹ��H��A�� A���T���^�A��L�
s0��A��Mc�G�AA��D�L�VH�A�@L�@H�DtF�D�1�E���������A��?%�D	��n����L$ I�EL�u���E1�D$h�����L$TE1�A�@H�ߺ��L�����Hc��M���H��H�D$�K��H�����I�UH�|$H�PH�8I�E��McOdH��A��1ɺ� A��S��A�h���J����A��1ɺH�߾ �S���Z���jI�E1�A�j@1ɺ�bH���?��XH��ZE1�A�1ɺ��RL��I�/�H��H����J��I��H��t#H�H���L��I�D$I�� I�D$M�� E1�A�1ɺ�� L��L����R���o��I�G�@[ �	M�����McOdA��1�H�ߺ� �R��� �HcL$4E1ɺ�H��A�� �R�����A������K���H��I���J��H�����I��`L� H�PI��`����(J���H��I����I��H���w��I��`L� H�PI��`�]���K���H��I���I��H���w��I��`L� H�PI��`�]��D�SA���F��A��A��?A���%D	�E��A��D	�A��D	���D$TE1�A�@H�ߺ��L�������Hc��oJ���H��H�D$��H��H����I�UH�L$H�PH�I�E���0L���H��A�4$H�…����H�H�BH�BH�BH�B H�Z(I��(I�U0��I�^L�����E1�1ɾH��A�
��I���H��I���;H��H��tI���L� H�PI����E���D�[A��uT��A��A��?A���%A��D	�E��A��D	�A���D	�E��A��D	��9�H��L���I���w����A��A��?%@A��D	�D�CA��?D	�E��A��A���D	�E��A���A	�D���%�D	�����^��ff.�f�AWAVAUI��ATUH��SH���L�?H�~ �FH�D$:���WH�|$(�D$P�Cj<wH���\$:��H�|$(H�T$(fD�Bf����H�D�"A��xt�A��y���D$$1�DŽ$��D$�D$TH�|$(�G��f����H�1��
H�T$��x@�ǁ������|$@��	�����y
����m
��u1�D$�L�1�H�}@�D$@�lj|$��tDH�|$(���f���ҍ<�|$����zD�D$�D$ E���U
�D$<���u�E@������E@�|$<@����A��z��
A��{�/�|$:��]�|$)�?HDŽ$�HDŽ$�HDŽ$�D�\$E��t#E�UhE�����D$I�U(�H��<������HDŽ$�H�D$@���������D�L$ E����H�uL���5A�7����H�}tEL���G��H�uH��t4H��@��H�H��t@��tH�QH�AH��H��H�QH�vH��uց���������H�D$x�D$ ���
�t$<D�d$9H�D$H��H�1�H�Ѓ�H��$��F�t$H���|$(�€|$:�H��$��J��
D$$DʈD$;�A�L$$��$����H�H�D$0��H�D$X��H��$�Hc�H��H��$��FH��H�D$hHcD$PH�D$pH�EH��$��3fDA�EhI�U(H�t$0����$�DD$$�<2�U�����t��H�M�eE1�A�H��1ɺ�bPL��j@��7��A[L��A^E1�A�1ɺ��D��M�e�H�D$`L���C��I��H��t&H�D$`L��I��<E��I�FI�� I�FM�� �|$(���|$;t-E1ɀ|$9yA�uA�@H�L$X��� L���K��D�D$E���ID�t$$�����B���|$Hc��
LcL$ A�@��L��� �J���|$��t�|$9zuI�E(H�|$0�<8��	L�e(�L���rB��M��tH��tH�PL�`H��H��H�P���tQ�|$L���f�)D��H��t&H�t$@H��tH�~H�FH��H�|$`H��H��H�V�D$ �D$ 9D$�{H�uL����A�7���qH�}�yH�D$�8x��H�D$H�EH�EH�E�8x�E������|$(���D$��������D$$����������������|$(�4���jE1�A�1�j@���bL���~5��AYAZ�
���H�t$(�U@�Ff�D$f����H����A��yu1ɀ8x�����T$<HcD$<I�}E1�1�A���`H��Pj@�5��A^XL���B��H��t)H��$�H��tH�wH�GH��H�t$H��H��H�W�E@����A��{�^1�A��L��A��� �nH��jI�}E1�j@1�A���`�|4��A[[E1�HcL$PA���L��� �)H���|$)�(E1�A��1ɺ� L���H��E1�1�A�@��L����@��H��t'H��$�tH�PH��$�H��H�XH��H�P1��|$:���H��Pj@I�}�E1�A�1ɾ`�3��XZH���[]A\A]A^A_ÐH��L�`�@f����H�H�|$���tA���t9����JD�t$PE����L�L$pA��1ɺ� L���
G��H�T$H��L��L�����E�E���k�������-���M�eL�L$p1ɺA��� L���F��E����L��H����H����E��HD��f�E1�1�A��� L���yF��1�E1�1ɺL��A�@�o?���L��H�D$`H�EH��H�PHD�$�I����=��H�������I�H�t$`�|$(H�HH�0I��r���LcL$TA��1�L���� ��E���N���@��?��H�t$HH������H�F���@H��L�����H�D$H���McMhM�eD�t$$E����I�E(H�|$0�<8�o�����������fDL���H?��H�uH���r���H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u��8����L�e(�L���<��M�������H�����������A��1ɺL��L��$�� ��D��H�T$H��L��L���K��E�E���,����E@M�e���H	��1ɺA��H��bL��H��Pj@L��$��0��XZ�L$<�����|$9z�����E1�A��1ɺL�� �<D���W	H�|$xD�d$9�!H�D$(�@�D$������L�u@A�N0����McN41�A��L���� ��C���L����;���L��H�D$�`;��H��tI��xH�L$H�PH�I��xA��1ɺL��I��� �C��A�F0E1�1�A���`L����H�H��Pj@�/��IcN4XE1�ZA���L��� �2C��L���
=��H��t!H�t$xH�~H�FH��H�|$H��H��H�VD�\$PE��u*jI�}E1�A�j@1ɺ�`�/��AYAZ@Lct$E���jD��I�U(E1�1��A��� L��H��<���B��1�A�L��A���� I���lB��jI�}E1�j@1�A���`�z.��IcMD_E1�AX��A�L��L� �%B��IcEDE1�L��A���� I�L�B���|$)��Hc\$Tj1�A��j@��`L��I���.��AYA�E1�AZH�ٺ�� L���A��1�A�@L��Lc�$����:��H������H��$���H�PH��$�H��H�XH��H�P����L�\$(A�{@�|$��~@�������}A�{��f���ҍ<�|$���u�Q�����v
��DH�T$(1����B��f�����
f������H€�xt݉|$�D$ �g�@IcMDE1�HL$hL��A���� �@�����I�MI�EH��H)΋<��|$T����H�rH��H)�H)ʋ4����t$��$���'�w
��(�{@��DD�@�t$$�
��|$:���E1�A��1ɺ� L���?��jI�}E1�j@A�1ɺ�`�,��A^E1�XA�@1ɺ1�L����8��HDŽ$�H��$�HDŽ$���@E1�1�A���� L���s?��jI�}1�j@E1ɾ`A���+��HcL$d^_�|$'�E1ɺ�� L��A��$?�����McMDA��1�L��L�$��� ��>��McMD1�LL$hA���� L����>��E1ɺ�L��F��A�� A��Ic�D�T$`�>��L�L$p1�L��A���� �>��D�T$`E1�L��A���� A�JHc��Z>��IcMDE1�L��HL$hA���� �6>��IcMDE1�L��A���� H�$��>�����f.�A��1ɺL�� ��=��IcMhL�L$0A�@��� L����=��E1ɺ�L��H��$�A�� �=��D��$����DA�1ɺL��A�@��6���D$ H�D$@�S�fD�؃�=��������������|$)�/���A��z��A��{��	�|$:������E1�1ɾ L��A�����<���L��H�]8��4��H��tH��tH�PH�XH��H��H�PL���6��H��$�H������H������H�sH�CH��H�t$H��H��H�S����E1�1�A���� L���S<��jI�}E1�j@A�1ɺ�`�a(��_AX�|$���1ɺL���_9��L����5��H�u@H�t$@H���>
H�FH�D$@���|$:���L���5���L$HDŽ$�H��$�HDŽ$������HcL$Tj��L��j@A���`I���'��XZHDŽ$�HDŽ$���fD�������$�L��E1�1�j@A���`�Y'��_AX�t$<��t!A��1ɺL��I��� �:���|$9zI�����������|$9{�5�D$<���+�IcMdE1�A�L�纎� �:����DŽ$�1��D$�D$$�}��E1�A���a�f��{:��jI�}E1�j@1�A���`�&��Y^E1�HcL$PA���L��� �7:������f�E1�A�@1ɺ�L���#3��H�D$@��f�E1�A��1ɺ� L����9��D�\$E����	�����������L��L�u0�1��H��tM��tH�PL�pH��H��H�PL���f3��HDŽ$�H��$�HDŽ$����HcL$PE1ɺ�L��A��� �@9��jI�}�j@E1�A�1ɾ`�N%��XZ����H�D$(H�u@�@H�t$x�D$0��~<���N0��x���X�L����0��L��H�D$x�2��H�U@H�r(H�����H��@��fDH�H��t@��tH�QH�AH��H��H�QH�vH��u���f�D�t$ E����E1�A��1ɺ� L���E8��jI�}E1�j@A�1ɺ�`�S$��AZE1�A[A�@1ɺL����1���D$H�D$@��E1�1�A���� L����7��1�A�L��A���� �7��IcMhE1�L��A���� �7��1�A�L��A���� �t7��jI�}E1�j@1�A���`�#��Lct$L��AXIcMDAYA�E1�I����� L��#7��IcEDE1�L��A���� I�L�6������W��M@���/�L����.��H�D$@H��$��a�f�j��E1�A�j@�`L����"��XZ�w�f.�E1�1�L��A���� �s6��1�L��A�A���� �S6��jI�}E1�j@1�A���`�a"��Lct$E1�^IcMD_A�L��I����� L��6��IcEDE1�L��A���� I�L��5���3�1�A���L��I������ �5���|$9z�����N�E1�A��1ɺ� L���5��jI�}E1�j@A�1ɺ�`�!��A^E1�XA�@1ɺ����E1�1�A���� L���.5���|$:���E1�1�A�@��L��H�]0�.��H��tH��tH�PH�XH��H��H�P1ɾ L��A�A�����4��H�]8�L���,��H��tH��tH�PH�XH��H��H�PL���m.��H��$�H��t!H��tH�sH�CH��H�t$H��H��H�Sj��H�|$x�o��L���/,��L��H�D$x�.��H�u@H���H�H��@��fDH�H��t@��tH�QH�AH��H��H�QH�vH��u����Q�����D�L$E������D$ �D$<��HcL$TA�A�@L����� �3��L���o-��HDŽ$�H��$�HDŽ$���E1�1�A���� L���M3������@�jI�}E1�1�j@A���`�O��YE1�^1�A�@�L����,��H��t'H��$�tH�PH��$�H��H�XH��H�P�|$:��F��e�����D$$A�z������h�D$��L�L$pA��1�L��� �w2���L���jI�}E1�1�j@A���`���_E1�AX1�A�@�L���H�]0�<+��H�����H�����H�PH�XH��H��H�P�~�D�T$E���2�D$ ���D$<��LcL$P����FD�E@E���1�A���L���L�u0�*��H����������LcN41�A��L���� �j1���L���M)���L��I����(��H��tI��xL�0H�PI��x1�L��A���I��� �1��L�t$xE1�1�L��A���`A�F0�D$0��H�H��Pj@���IcN4XE1�ZA���L��� �0������LcL$P1�A��L���� �0���L���z(���L��I���(��H��tI��xL�0H�PI��x�E@�E1�1�A��`L����H�H��Pj@�d��XZ�H���E1�1�A�@��L��L�u0�)��H��tM��tH�PL�pH��H��H�P���t&jI�}E1�A�j@1ɺ�`����AYAZL���)��H��$��
�H�L$pI�����A��L�纎� �/����1�A���L���L�u0�t(��H��tM��tH�PL�pH��H��H�PjI�}�`E1�j@A�1ɺ�T��^_���A��z���8xu
A��{���D$<���������HcL$PA��L��D����� Mc���.�������H�D$@H��$��D�1�A���L��� �.��A�����1�L��D+M@L�u0A���A���Mc��l'��M�����H�������D$<�5��Q��D$����F��(�AWI��AVI��AUL�-)�ATUSH��L�'dH�%(H��$�1�H�G8H�D$H��tNI��*I�w ��C�<�����IcD�L�>��I�G(H����M�?I�F8M��u��H�D$I�F8H��$�dH3%(��H�Ę[]A\A]A^A_�fDE���E����I���L��H�����%��H���bH�PH�XH��H��H�P�If��CbI�.<��A������F����bE1�A�������� H��1ɺ�,���H���$���H��H���7$��H����I���H�H�PI����@A���E1�A���� ��L��A��1�I���B,��E���E���Y�PI�>E1�A�j@1ɺ�`�=��IcN`XE1�ZA���L�� ��+��A������IcNdE1�A�L�纎� �+���f�I�GI�GI�G�~��vL��L���33I�wL�������f��~�L��L��w��\���f.�A�G,I�.����McO(1�A��H��� �#+���H���#���H��H���"��H��tI��xH�H�PI��xA�G,E1�1�A���`H���H�H��Pj@����I�A[[���H���"��H��H���y$��I�wH��@��H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�IcG0I�>E1�1�A���`H��Pj@�^��AYH��AZ�$��H��tH��tH�SH�CH��H��H�SE�O,IcO(��H��A��� A��A��Mc���)����L��L�����DM�?M���$���I�����L���#��I�wH������H��@��DH�H��t@��tH�QH�AH��H��H�QH�vH��u����f�L��L���Z���L���#��I�wH���k���H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u��1����A�G8I����iI�W0H�jH���n�H��� ��H��tH�PH�hH��H��H�PI�o(E1�1�A�@��H���!��H��tH��tH�PH�hH��H��H�PH���C"��I�wH�������H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u��Y���f�E1�1�L��A���� ��'��jI�>E1�j@1�A���`���YIcNDE1�^A���L�� �'�����@��qI�.��H�H��D�LE1�1�A���� H���p'��M�W(E1�1�A�@��H��L�T$�Z ��H��tL�T$M��tH�PL�PH��H��H�PH��� ��I�wH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��uր�H�H��H��PI�>E1�A�j@1ɺ�`����]X���f�I�FH��I+VH�D$@I��,������D�M�D$�L�V�P߀����PҀ����Pŀ��)��A��P݀�
��H�=����Hc�H�>��fDf�H�T$@1�L��)D$`)D$@)D$PH�D$pI�G(H�t$`H�D$x�O����f.���D$�A�L�V�P߀��P���A��P݀�
�=H�=v���Hc�H�>��f�����
�����H���F��I�wH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�IcG0H���I���f�I�~8��A������Y
A�������E1�A�@����� E1�A��1ɺL���$��A������{����(�v���Hc�D�D$1ɺI��� H��H�D$�$��H�L$E1�H�ߋT$A�@� �`$��M�W(E1�1�A�@��H��L�T$ �J��H��tL�T$ M��tH�PL�PH��H��H�P�H�����H��H�D$ ����I�w0H��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�L�L$D�D$1�H�ߺ� �#��H�L$E1�H�ߋT$A�@� �#��I�O(�H��H�L$�[��H�L$H��tH��tH�PH�HH��H��H�PH��� ��H�|$ H��t!H��tH�wH��H�t$H��H�GH��H�W��u#jj@I�>1ɾ`E1�A��� ��Y^H������I�wH��@��H������f�H�H��t@��tH�QH�AH��H��H�QH�vH��u����<o���Nf��D������z�@���Q�J�A�À����B����!<�g���H�=Z���Hc�H�>��H�����I�wH��@��H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�A���� H����!��jI�>E1�j@1�A���`��
��XE1�Z1�A�@�H��I�_(���H������H���a����fDI�wL���L����A�@1ɺL��I������ �F!�����,���L��H������H���c���I��@H�H�PI��@�I���E�G@�I��� E��AIo@H��1�A��D��Mc��� ���EI�>1�H�E1�A��H���`Pj@����AY�AZH�����H��H���k��I�w8H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�@���_	E1�1�A���� H���% ��jI�>E1�j@1ɺA��`�4��XH��Z����H��tH��tH�UH�EH��H��H�UIcNdE1�A�H�ߺ�� ��������
A�����E1ۃ�E���;���E�I���.���E1�L�V��McNdA��1�H��� �g��A�1�H��A�@�� �G��I�F81ɺA�@� H��L�H0�%���H�����H��H�D$����E1�A��1ɺ� H��H������H������L�T$M��tH��tI�RI�BH��H��I�RE1ɹ��H��A�����H���H���AH�PH�XE1ɹA��H��H��H��H�P���j��H��tH�PH�XH��H��H�P�H���$���H��I�^8H�D$���H���U�H�S8H�|$H�PH�8H�C8�<�A���
	A���	Ic�Lc�H�D$A�G8M�م��kD�D$1ɺH�߾ L�\$(���L�L$1�H��D�D$�� ���jE1�A�j@1ɺ�bH���	��A[E1�XA�1ɺH�߾�a��H��H�D$�$��A��1�H�ߺ�!H�D$ I��������L�\$(E1�H�ߋT$A�� L�����A�G0���C	M�_(E�O41�1�A�@�H��L�\$����H��tL�\$M��tH�PL�XH��H��H�P�1�L���9-��H��E1�1�A������H�|$ H����H����H�PH�xH��H��H�P�Hc�D�D$1ɺI��� H��D�\$ L�T$(H�D$���L�T$(�t$ H�L$@A�L��L���^1��H�L$E1�H�ߋT$A�� ����I�O(�H��H�L$���H�L$H��tH��tH�PH�HH��H��H�PH���~��H�t$@H��@��H���t���f�H�H��t@��tH�QH�AH��H��H�QH�vH��u��<���D�D$Ic�1ɺI��� H��L�T$0D�\$(H�D$�#��D�D$Hc�1�I���� H��H�D$ ���jE1�1�j@�A�H�߾b���_1�AXH������H��H�D$8�_��D�\$(L�T$0H��tH�T$@H�|$8H�PH�8H�D$@H�L$�T$E1�H��A�� D�\$(L�T$0�p��L�T$0�t$(H�L$@A�L��L���/��H�L$ E1�H�ߋT$A�� �1��I�O(�H��H�L$���H�L$H��tH��tH�PH�HH��H��H�PH������H�t$@H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��uօ������j���Hc�D�D$1ɺI��� H��D�\$ L�T$(H�D$�q��H�L$E1�H�ߋT$A�@� �R��E1�A�@1ɺ1�H���H��L�T$(�t$ H�L$@A�L��H�D$L���s.��I�O(�H��H�L$����H�L$H��tH��tH�PH�HH��H��H�PH�����H�t$@H��@��H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H���n��H���p���H�|$H�|$�C����Z����^E1�A��1ɺ� H���N��f��1ɺA�A��H���۾ ��%��IcFD��E1�A�� H��H�к����A�Fh����IcVD�CE1�A�H�� H��H�º�����A�Fh���R�Hc�E1�A�H�ﺎ� ����/�I���H��H���U��p���H��H�����H���D������H��H�T$�@���H��H������H�����H�T$H�J H�(H�HH�B �t��P������P����e��4�P݀�
�\���H�
���Hc�H�>��H�������H��H�D$�d��H��tI��xH�|$H�PH�8I��xA�G@1ɾ`E1�A��H�߃�H�H��Pj@���Y^�/�����'A� �%�D�D$1ɺH�߾ L�\$ �E��L�L$1�H��D�D$���7��1��L��H�D$�&��L�\$ E1�H�ߋT$� A�L������I�O(�H��H�L$��
��H��tH�L$H��tH�PH�HH��H��H�PH�����H�|$H����H�����H�wH�GH��H�t$H��H��H�W����McNd1�H��A���� �Z��M�O 1�H��A�@�� I���8��H��H�i����E1�1�H��A��� ���E1�A�@1ɺ�H���
���>�H�����I�w0H��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�A���� H�����jI�>E1�j@1�A���`���XE1�Z1�A�@�H�߾I�o(�M
��H���F�H���=�H�PH�hH��H��H�P�$�A�1ɺH��A��� ��������H�������H��H���p��H����I��HH�H�PI��H���PE1�A�1�j@��fH�����AYAZ���E1ɹ��H��A���t��H������H���������E1ɹ��H��A���=�����z�@���-�A��A�|
Mc�G�D��D	�u$��m�	�A�ÍB���!A�!�R��tA�L
��	�)������t��m���A���D��m���A�ÍB��:��e!��DAWAVI��AUATUSH��H��(H�/H�T$H�L$dH�%(H��$1�H�B(H����HDŽ$�HD�H�D$P�����$�����D$dH�G8H�G8H�D$hH��H��$�H��H�D$pH��@H��$�H��HH�D$xH��`H��$����$���j<��
Ƅ$��H�CL��H+S1�H��L��$�L��D�<�1�D�|$<�V��A��H�D$HD�h0D�x4A�E�f�D$��~%��Lj�$�H��$��D$@��HED$PfA��E��M�$��H�D$X��
HDŽ$�E������$�L�;A��H��bH��L��H����$�H��$�H���H����$�H��$������$��D$ �E1�1Ƀ��D$8D�D$(H�H��H�D$0Pj@���XL��ZE1ɺA�1ɾ�s	��L�;�H�D$@L������H��H��t0H�D$@L��H�T$@H��
��H�T$@H�BH�� H�BH�� Lc|$<A��1�H��� M�������t$0E1�1�j@A��H��`����A[E1�XL����� H��A������$�����	E1�A�1ɺ�� H�����D��$�E1�A�E�������� H���S���L$(1�L��H�߃��D���D$(M�^D�L$f�HDŽ$)�$�E��u�D$�D$`����u(ǃ�HǃHǃ@�D$`�D$D�|$HǃH��������A��D)�A���D�|$L�|$XH�H��$�A�E���$�H�H��H��$�A�E��$�H�H��H�D$0D����H�H��$��D$ D���H�H��$�H��$�H�D$HcD$<H�D$ �D$���D$@HǃHǃ`A�>xHDŽ$HDŽ$u�|$(�TH�L$L��L��H��L��$�Q���D�EE���DH�����H��`H��H���eE�����|$u�|$@�"�t$0�1ɾbj@A��H��L�L$0���XZ��$������|$uMD�\$E���_D�T$8E��t5��$�A���H��Mɾ 1�A��I�������H�������H��I���s��H��t
I�L�0H�PI�H��$H������}���6H���~��H��$H��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�<$x�7A�D$M��M�^f����I�������$��A�M�^�Q
��$����\A�B�D$8H�H��H��$�A����jL�\$ L�;E1�1�A���b��$�j@L�����YE1�^1�L��A������H��H�D$(H��H�T$0�!��L�\$ H��I��t0H�D$(H�T$0I�H���?��L�\$ I�GH�� I�GL�� ��$�����
��E1�A�1ɾ H��L�\$ �����$�L�\$ �|$8���|$ �����H��D$(H��$��������HcKdE1�A�@H�ﺎ� L�\$0�
��E1ɹH��A���� �
��L�\$0�[���H����� �z
��E1�H��A���� �Z
��HcKdE1�H��A�@��� �;
�����fDH��@��f�H�1H��t@��tH�VH�FH��H��H�VH�IH��u�E���a���A������|$8���������$�H�;1�E1�j@�`A�����Y^��$����\���HcKdI�����A��H�ﺎ� �}	���4�����t$`��t+��$����H��$�H��H��$�H��@�D$d���H�D$hH�C8H�D$pH��H�D$xH��HH��$�H��`1�H��$dH3%(�_H��([]A\A]A^A_����$����E������L��$�H�L$ A��H�ﺎ� �������E1�A��1ɺ� H��L�\$X�f��L�\$X���@L�L$ A��1�H��� �9����$������H���
���H��I�����H��tH��xL�0H�PH��x��$�E1�1�H��j@A���`��A^X��$������A��1ɺH��L��$�� ���A��1�H��L��$��� �x��H�L$ E1�H��A���� �X��jE1�1�H��j@A���b�g�AX1�AY��E1ɾ H��A�@����!����I���V����L�L$ A��1�H��� �������E������A��1ɺH��L��$�� ����T���Ic�H��H��$�A����E������$��D$8�����D$(�D$ HDŽ$��#���E1�A��1ɺ� H���<��jH�;E1�j@A�1ɺ�`�K�AX1�AYA�@E1ɺ1�H���
���H��$�E�����A�M�^����LcKdA��1�H��� �������LcKd�1ɾ A��H��L�\$ �����$�L�\$ �D$8�w���D�T$8Lc|$<E1ɺ�H��A�� L�\$ L��D�T$8�L��L�\$ D�T$8���HcKdL��$�A��H�ﺎ� �������L$`H��@H��H��t
H��HH��H���
�H������H��I�����H��HH��@��H��t*H�H��t@��tH�QH�AH��H��H�QH�vH��u�Lc|$<E���M��1�A���� H���k���H���N����H��I�����H��tH��xL�8H�PH��x�D$8E1�A���H�H��Pj@1�H���b�7�A_H��X����H��tM��tI�VI�FH��H��I�VD��$�E���/��$��bD�T$8E�����D$���$���E�����|$8��t(��$�H�;1�E1�j@�`A����Y^�H���F����H��I�����H��tH�|$PH�L�0H�PH�H������H��$�H��t4H��@��H�H��t@��tH�QH�AH��H��H�QH�vH��u�Lc|$<E���t��$���IA�E1�M��A��H���bH��H��Pj@���YE1�^1Ƀ|$8A��H��� �m�v����$���8E1�1�A�@��� H���K����$���C�|$`��t+��$����H��$�H��H��$�H��@�|$dI�D$���H�|$hH�{8H�|$pH��H�|$xH��HH��$�H��`����L���<v(<w�=vA<xtAHDŽ$�E1�<yA���}���<s#�H���vHDŽ$�A��Z���<vu�H�
f��H��E�����D$8�����$�������E1�A�@1ɺ�� H�������$������$������$�������H������H�|$HH��H�O@��H��t*H�1H��t@��tH�VH�FH��H��H�VH�IH��u�H�D$HH�@�]���LcKdA��1�H��� L�\$ �w��L�\$ �8�����$�M��A��j@�;���E1�1�A���� H���9��D�t$81�H��A���� F������E�Mc������$���A�F�H�;E1�A�H�1ɺ�`H��Pj@��AZE1�A[A�@1ɺ�H�� ���HcL$<E1ɺ�H��A�� ����q���E1�1�A���� H���q���E������$�������|$8��E1�A�@1ɺ�� H���2����H������H��I�����H��$�H������T$8���wj1ɾbE1�j@A��H����Y^H�����H�|$HH�G8H�������M���z���I�VI�FH��H��I�V�a���HcKdA�A��H�ﺎ� �|�������Bf����H�����D$8������$���M�����$�������jE1�A�1�j@��bH���K�AYAZE1�A�@1ɺ�� H�����H�D$H�H��L�p8����H��tM��tH�PL�pH��H��H�PH�����H��$�H��t!H��tH�wH�GH��H�t$H��H��H�WE���1H���_���H�|$HH�OH���0���H��@��H�1H��t@��tH�VH�FH��H��H�VH�IH��u����E1�1�A���� H��������$���^�|$8����jH�;E1�A�j@1ɺ�`��A^A_���D�t$81�A��H��� F������Mc����Lc|$<C�.��$������H�;E1�A�H�1ɺ�`H��Pj@��XE1�ZA�@1ɺ�H�� �N���E1�L����A�� H���0����H����H��I�����H��$�H������8���f�D�t$8A��1�H��� F������Mc�����Lc|$<C�.H�H�;E1�1�H��A���`Pj@���A^E1�XL����� H��A��������Hc�$�M��1�H��A����bH��Pj@��_A�AXD+L$8A��1�H��A���� Mc��&������H����H�|$HH�G8����H�D$H�H��L�h8���M��tH��tH�PL�hH��H��H�PH����H��$�H������H������H�wH�GH��H�t$H��H��H�W�����1�A���A��� H��A��Mc��n�����$������jE1�1�A�j@��bH���o�A[A]�|$8�V���E1�A�1ɺ�� H�������4����	�����$�������$�����������Ic�H�;E1�A�H��1ɺ�`Pj@���AXAY����D�T$8�����$�H�;E1�1�j@A���`��]A]�C���jH�;E1�A�j@1ɺ�`��AXAY����Lcl$<1�A��H��� M���4����H����H��I����H��tH��xL�0H�PH��x1�H��A���I��� ����E1�1�H��A���`Hc�$�H��Pj@���XE1�ZL�麎� H��A���������V��DkL$8�1ɺH��A��� Mc��c������ff.�AWAVAUI���PATI��USH��H�T$@dH�%(H�D$x1�H��D$tH��H��H�$��I�Ƌ�D$0���TH�|$@f��D$�AAF AFAF0AF@H�GM�n I�L�wA�u�Fj@�t$<wA�E@�t$I���D$L��f��Bf����H��*@��xt�@��y�/�D$8�D$�D$T�D$PA�]I�E1�H�D$ f����L��<x@�lj|$(�|$@�����@������L$��������A��A��A�EI�L$(f�������<�<�|$��A�D$@�ЉD$,�D$,A�FHI�EH�D$ @��zt@��{��
�|$���
1��|$���H��M�$PE1�A�j@1ɺ�bL��L�T$X��A[X�L�T$HE1�A�1ɾL���G�I�$�H�D$HH��H�L$X��H��H��t7H�D$HH�L$XH�T$HH�H�����H�T$HH�BI��$ H�BI��$ @��zt@��{��|$���H�<$E1�A�@1ɺ�� �����|$��L�|$���H�D$X�t$H�D$H����@��{�t@��z�7�|$��,	E�����D$I�T$(Lcl$,�H��<��M�<$jE1�A�j@1ɺ�bL���2�YL��^E1�A�1ɺ����I�$�H�D$8H��H�T$`�h�I��H��t-H�D$8H�T$`I�H����I�GI��$ I�GM��$ L�<$M��1�A���� L���r�M�M1�L��A���� �T�E1�L��L��A���� �6�E1�1�L��A���� ��E1ɹL��A���� ���t@�L$�A|<���ƒ�<�����AI�D$L��I+T$�D$���D$,A�FH��������L�D$t1�1�L��L���d���A�F@�����t$���<���
Lcl$,H�<$M��A��1ɺ� �S�M�<$jE1�j@A�1ɺL���b�^��XL��ZE1�A�1ɺ���I�$�H�D$8H��H�T$`��I��H��t-H�D$8H�T$`I�H����I�GI��$ I�GM��$ L�<$E1�A�L�麎� L����E1�A�1ɺ�� L�����D$<�t<��H�D$ �<��_<����Pn��v<���
H�D$ I�F@�<��<���<���I��$0<���H����L�B(M����H�L$ M�L$I��$��A�I��f�L$8C�Lf��f��G�D�����H��D	�I�$�f��t7�f����9�u��@�f����9���H���u�fD�;xH�\$ �}f�H�t$ L��H��L����s��H�$D�E����
D�T$(A��@��y�D$8�|$���|$����|$(�I�|$�D�l$0A��D
|$8�t$A��A���|$��D$ �D$ A!…���A�|$hD��I�L$(���Hcր<��E���������|$(�HE��t0�L$0E1��Hc�@��y��H�<$A���� �_�D�T$E���Q�;x�(��C��f����HÀ;xt�D�D$(E����|$�t$B��HcɃ���H�<$H���%>��I�F@@��z���|$��t�D$I�T$(�H��<��	�t$H�|$HA�Ņ���
�L$(���qHcL$Pj���bj@L�|$A��I��L�����X�ZL���^�H��tE��tH�PH�L$HH��H�HH��H�P�|$�t&jI�<$E1�A�j@1ɺ�`�R��AYAZH�<$���|$)I�F0�M�,$jE1�1�j@A�
�
�bL�����_1�L��AX����L��I���d�H��tI��$hL�8H�PI��$hHcL$Pj�bA��j@L�|$��I��L�����YL��^��`�H����H�L$HH���uH�PH�HH��H���|$�H�P�af.�H�<$��I�F8�WfD��E��t�D$ ��H�M�$E1�A�H��1ɺ�bPL��j@L�T$p�	��XZE1�L�T$`�A�1ɾL�����I�$�H�D$`H��H�L$h�:�H��H�����H�D$`H�L$hH�T$`H�H���T�H�T$`�|$(H�BI��$ H�BI��$ �����jE1�A�1�j@H�|$���b�Y��A[X����D�L$(E����	f��D$����@��z�2����|$)����|$'��|$�������|$��&
�|$8t_I�,$jE1�1�j@A�
�
�bH������1�AYH��AZ���H��I���$�H��tI��$hL�(H�PI��$h�|$��=HcD$TH�DH�|$xdH3<%(�^H�Ĉ[]A\A]A^A_�DD���p���D�T$tE����A�F@����@��yM�<$A��b��
T$(���T$8L���A��E1�1�A�DH�H��H�D$hPj@����A[�XL��E1�A�1ɾ��M�<$�H�D$`L���&�H��H��t2H�D$`L��H�T$`H��I�H�T$`H�BI��$ H�BI��$ D�T$tE���WL�<$HcD$,1ɺA��� L��I��H�D$`���t$hE1�L��j@A�1ɺ�`L�|$E1����_AXD�L$tE��A�ǀ|$8F��Mc�D�T$h��H�<$L��E1�A���� A����H�L$`H�<$E1�A���� �z�D�T$hH�<$E1�A���� A�JHc��R�A�N@1�L��L��D����H�t$ L��H��L���l��H�$�0���}D�T$(A�F@D�l$tM�<$A��@��y�D$8����|$8D�T$ �E�����1ɺA��H��bL��H��Pj@LcL$<����E��XZD�T$ �����A��1ɺL��I������ D�T$ �z�D�T$ IcL$dE1ɺ�L��A�� D�T$ �O�D�T$ �0���@I�L$I�D$H��H)΋��\$P���H�rH)΋�H�rH��H)�H)ʋ<����\$T�|$�D$8��'�*��(�{D���fD�|$��9��>�E�~@E����L�<$LcL$,1ɺA��� L�����L���v��L��H����H��tI��$xH�(H�PI��$xA�F@E1�A�1ɺ�`��H�H��Pj@H�|$�[��A\A]�A�F@D�D$t1��E����	�A�F@���f�D�|$I�$McL$hA�H�D$0Mc�E����I�D$(B�<8�}���Lc|$McL$DA��1�H�|$0�� I��M���McL$DM�_1�H�|$0A���� M�L�\$h�t�F��H�|$0E1�Ic�A���� D�T$`A���C�LcL$,H�|$01�A���� �"�D�T$`H�|$0E1�A���� A�JHc���L�\$hIcL$DE1�H�|$0A���� L����IcL$DH�|$0E1�A���� L����T���D1��F���f�HcL$PLcL$8��A�@H�<$� �m�1��|$)H�D$H���H�<$�2�H�D$H������AT$D�T$,�l���I�T$(H��<�����D$H�<$E1ɾ IcT$DA���H�H�º��������f�@����`�D�\$(E���H�M�,$jE1�1�j@A���bL������AYL��E1�1ɾAZA�����M�<$�I��L�����H��t-L�(L��H�D$8�9��H�T$8H�BI��$ H�BI��$ H�<$E1�A�1ɺ�� ����f��D$8�D$�D$T���D$��z<��
D�\$(E���e�|$���HcL$,H�<$E1�A�������H��tE��tH�PH�L$HH��H�HH��H�P�|$��Z����/���L�<$�@L�����E�E�������H�t$ f�H��L��@ �@@0H�p I�F@���H�D$ ��f�@��{�L
����+@��z��D�\$(E����E���\
�D$t����@��{��@��zt�T$(���v�����H�<$E1�A�HcȺ�� ���O����|$����B��Hc�H�<$E1�A�@��� �[�@��z�j�H�<$�(���|$I�F(���>����D$I�T$(�H��<�'�������@H�D$ ��DA��1ɺH�Ǿ ���IcL$hH�|$0M��A�@��� ���B��H�|$0E1�Hc�A���� ��A������D$E1�A�@1ɺ�H�<$<��
<��
�u��H�<$1ɺA�A��� H�D$H�?�H�<$���L�T$HM���H����
I�RI�BH�D$XH��H��I�R�L$���VH�D$HH�<$����I�F0��H�<$E1�1�A���� ��@��{����jI�<$E1�A�j@1ɺ�`���AXAYA�@H�<$E1�1ɺ1����D�T$H�D$XE���H�D$H���fD��H�<$E1�A�HcȺ�� �&����H�<$����|$H�D$H@�������L$(�����@�������T$�����I�F(E����������1��"��LcL$PH�<$1ɺA��� D�T$ ���D$0D�T$ ���M�,$LcL$,1ɺA��� D�T$ M�~L���T�A��$��L��H�]���H�6�����HE��y��E1�1�A��� L����E1�1�1�A�@�L������L��H�D$`I�FH��H�PLE��s��D�T$ H�����I�H�|$`H�PH�8I���DH�D$@H�<$�L�h(���H��tM��tH�PL�hH��H��H�PL�|$XM�����H�<$�<��H��tI�OI�GH��H�L$H��H��I�W�|$��m���@��{���|$ ���jI�<$E1�A�j@1ɺ�`�)��A[]��H�<$A�@��� �����s�f�LcL$PH�<$1ɺA��� ���M�,$jE1�j@1�A��L��b���L��XE1�Z1ɾA���|��M�<$�I��L�����H��t-L�(L��H�D$�#��H�T$H�BI��$ H�BI��$ H�<$E1�A�1ɺ�� �����H�L$ L�<$1���IcD$DA���yL�H��f�|$8L��f��H�����H������L��I���M��H��tI�V@L�(H�PI�F@H�D$ �.�fDMcL$dH�<$1ɺA��� �h��A��K�DH�D$ H�<$E1�1�A���p�@A��A�ž f�D$8fA��fA��D�T$`E��E��M��$�A��M�$����McL$DH�<$1�A���� I������A�EIcT$DjjH�|$A��1�f���bH��%�L������_AXD�T$`M�$�fA����H�\$8L��M��L�,$DA�$HcSDj1�jA���bL��f��A��H��%�L���\��XZjj1ɾfE1�A��L���9��YL��^A���u�I��H�\$8L�<$E1�1�A��� L������1�L������L��I���W��H��tI�V@L�(H�PI�F@H�D$ �8���D$�D$,���A�U�Jn�����������!ʀ|$��T$(�A���z<�B�D$E1��D$,�{�DH�L$`H�<$E1�A���� L�\$8���L�\$8H�<$E1�A���� L�������������|$8��E���wE������H�D�T$ E1�A�H��1ɺ�`PL��j@���AXAYD�T$ E��t@�|$8��I�����E����A��1ɺL��� D�T$ �:��D�T$ @��z��@��{u/HcL$,I�����A��L����� D�T$ ���D�T$ E���x����H�<$E1�A�1ɺ�� �������z�k�D�l$tA��E��u,LcL$,H�<$1ɺA��� D�T$8���D�T$8f�Ic�M�,$E1�1�H��A���bPL��j@���AXL��AY1�E1ɾA���D��M�<$�I��L�����H���;���L�(L��H�D$8����H�T$8H�BI��$ H�BI��$ �	���H�CH�D$ �Cf����H��i���1ɾbL��H�A���H��Pj@LcL$<����E��^_D�T$ ��@��z�o�D�T$ E1�A��1ɺL��� �a��D�T$ �a����a��H�<$1ɺA�A��� H�D$X�+��H�<$��
��H�<$H�D$H����H��tL�T$XM��tI�RI�BH��H��I�R1ɀ|$�LcL$,A��u4A�~@��x,H�<$�� ���A�����E+N@1�A��A��Mc�H�<$�1����H�<$H�D$X�f��H�|$HH���v���H���m���H�OH�GH��H�L$HH��H��H�W�L���A������1�E���������H�<$���I�F(�}�H�<$����H�����E�����H�PH�t$HH��H�pH��H�P���H�<$E1�A�1ɺ�� �����@��{���|$t����LcL$,H�<$1ɺA��� A�����H�<$E1�A���� �e��A�~@�u7�|$tHcL$,�`A�H���E1�H��H��Pj@H�|$�Y��Y^H�<$E1�A�L�麌� ������I�D$L��I+T$E1��D$���D$��D$,A�FH�$��H�<$E1�1�A�������H���������f.�HcL$PLcL$8��A�@H�<$� �}���|$)�|���H�<$�D��I�F(��HcL$PLcL$8��A�@H�<$� �8���|$)������A�1����H�����H�D$ �@f�D$8f����f����Z���H�R(H����1��������g��9���HcL$,H�<$E1�A���� D�T$8���D�T$8��I���=���1�A���L��I������ �u��@��zD�T$ �������D�T$ I���������LcL$,A��1�L���� D�T$ �+��D�T$ ���H�D$X��I�t$�D�T��	�9���������A���`�����ff.��AWAVAUATUSH��H��L�_L�'dH�%(H��$�1�L��01�I�n(L݀}�H�l$��H�DEH�$D�Ef����Hŀ}xt�H�$H9���I��H����D$DE1��D$E1�A�L�
�t�D$ ��D$H�D$(A��B�<��y��Ic�L�>��@�D$DI��@L9�w˃|$�L$A��A��A����t�|$ A��E��t	D�T$A��H�C8H�T$1��
f.�D���BD�if����H€:xt�L��L$@�J��I�FH��0H�pH�HH��@��H��t-H�H��t@��tH�BH�rH��H��H�BH�IH��u־L���aI��jL�3E1�j@1�A�
�
�bL������X1�ZL�������L��H�D$ �o��H��tH��hH�|$ H�PH�8H��hA��L�3A�����bE1�1�������H��F�?H�D$PMc҉|$LL��J��H�D$hPj@茽��A_L��XE1�A�1ɺ��L��L�3�H�D$ L������I��H��t&H�D$ L��I�����I�GH�� I�GL�� H�L$PE1ɺ�L��A�� ����D�L$H�4$1�D�D$LH��H�����HcKPE1�L��A���� ���D�t$E����A��tE1�A�1ɺ�� L���n��H�D$H�$f�Hǃ)D$p)�$�HǃHǃ@Hǃ`H��$��xH�D$A��H�|$pH�l$XfA��H�|$ H�D$`E��H�D$8IƋD$DD$@���D$H���H�H��H�D$(1�H��HDŽ$�H�$HDŽ$�H��H9�t%� E1�A��1ɺL���~��H��$�H�L$ L��H���Q��E�$E���		�t$(L�;E1�A�j@1ɺ�bL���c���AY�AZL��E1�A�1ɾ�"��L�;�H�D$L�����H��H��t0H�D$L��H�T$H����H�T$H�BH�� H�BH�� LcKP1�A��L��� ���A����A�����L�����H�D$0�L���d���L��I�����H��tH�|$L�8H�D$H�xA��H���"L��A�������H�|$0H��tH�GH��$�H����E�<$E����L������H��$�H��@��H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��A�>x��I�VH��$�A�Ff����I������I���D$�D$����A�@�D$M�D�i���f�I���D$�O�����sd�D$A���E�����D$�D$E��D$A�@M�D����DA�@f����A���z<A��I�����D�shA����DE�I������f��{hA�@H�S(��DE�f�����<��A�����A��I�����H�CL��L)ڋ���t�I�PA��L)�Hc�I�������D$ �{`��E���DEщD$ �Ch��DE�I���:���f.��!��puA�@f����L��H�SI�L)ދ<�������L���|���A����DL��H�CL)ڋ����7���A���.���f.�L��H�CL)ڃ<�A��I�����DL��H�CL)ڋ���tA��I�����f�L��H�CL)ڋ4���tA�����I�@����A�PI������H����7fDH�CL��L)ڃ<����I�@A����tSA�PI���������H�H���?�I����f�L��H�CL)ڋ���tA�����I�@��u�I������DI���D$ ����H�|$(L���K����I�����fD�C��H��t&H�|$8H��tH�wH�GH��H�t$H��H��H�WD9|$@����A�A�@1ɺL�����H�D$8���D�D$HE���q���I����L��A�@� �����L���H�l$XL�����D�L$D�D$LH��H�4$�H��I�����L�L$P1�L��A���� ����t$hH�;E1�j@1�A���`荵��A[E1�1�A^A�@�L�� �<���L���A��H��@��L�����H��@H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�LcKP1�A��L��� ���H�4$H��H��D�L$D�D$L��z���L���}���H��tM��tH�PL�hH��H��H�PD�T$DE����H��`�+L���+��H��`H��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�LcKPA��1�L��� ����E1�A�1ɺ� L������jL�+E1�j@A�1ɺL��b�׳��ZL��YE1�A�1ɺ����L�;�I��L������I��H��t!L�(L���B���I�FH�� I�FL�� I�����A�@�L�續� �(��L������H�|$H��@��H�|$t.@H�H��t@��tH�QH�AH��H��H�QH�H��u�E1�A�1ɺ�� L�����D�L$H��H��D�D$LH�4$����L�L$P1�L��A���� ���� L��1�A�A�@��d���L����>���H��$�dH3%(��H�Ĩ[]A\A]A^A_��L��0L����I�GH��0H�pH�H H��@��H��t,f�H�H��t@��tH�BH�rH��H��H�BH�IH��u�L���	=���|$D���E1�A��1ɺ� L�����H�L$PE1�L��A���� �p��D�L$H�4$H��D�D$LH�T$X��0���D$H���rA�1ɺL��A��� �$��jH�;1�j@�`E1�A���3���Y^A���1ɺ�L���3��L��軾��H�|$0H�����������HcKdE1�A�@L�纎� �����A�@�1�L��I�������苽��E1�A��1ɺ� L��H�D$`�Y��H�L$PE1�L��A���� �9��D�L$H�4$H��D�D$LH�T$X�����A������PH�;�E1�j@A�1ɾ`����XZ���A������E1�������D$DA��D$�D$��L��耽��H��t&H�|$`H��tH�wH�GH��H�t$H��H��H�WjH�;E1�1�j@A���`脯��^_E1�L�|$PL��A���� L���/��D�L$H��H��D�D$LH�4$���M��1�L��A���� �����t$hH�;E1�j@1�A���`����AXL��AYA�@E1�1ɺ� ����L���;���=����i��f�AW�CI��f�AVM���AUATUSH��L�GA���dH�%(H��$�1�H��$�)�$�H�|$8)�$��H�A���H��L��$�L��$�H����L��$hH�I��������H��$����t$4��$�I��H��$`1�fA�~��fA�|H��$���$x���$pu
A�G`��
��fA�z��$t��:A�GzH�5WeHc�H�>��DDŽ$�
D1�fA�xH��$���I��@DŽ$������L��$���$�A�GXDŽ$��������H��$���	��������$�������$�1�����$�����@�������$���$���tg��$����G<����9��$��ɹ
��$�E���$��
��$��) DŽ$�
E���$��DDŽ$�D�Bf����H€:xt�H�BI�wDŽ$$(H�D$A���H�xA�H��$H����A����H��H������H��$�H�l$H�X�H9���H�|$8L��cI�L���D��Q�������Ic�L�>��@D��$�E��u��$$��$�����$$�PH��$f�����H��H9�w��|$4��$$A�WX�:��$4�����|$4��$$u��$8�A��$$���t��$<����$$��$D��t��$D����$$��$|������$(���t
����$$��u��$$��$(A�����$H��������H�D$�$$H+�$�I�w��$ ��$�H�D$XH�H��H��A�H��$�H����H�\$X1�H��A�H��H��H��$��
����$ L�|$`A���L��$�H�D$D�t�H��$�L�d$D��$�H�D$@H�D$8H�H��$�D��E��A��DL9d$��A����E�<$D�<$E���VD�����|���EL��f.��Bf����H��<xt�<y�H�BH�|$@H��H+\$H��H�D$pH��$�H��H�\$xH�\�H��$���\$h���3L)�H�D$P�B�D$HD8���>L�d$ H�\$PD�|$(D�l$lI���l$Hf�M��DA�D$f����I�A�<$xt�M�|$L��L)�H9�u(H�|$ H��L�������uA��A�l$M��@:l$(t���@�l$HL��L�d$ D�l$lD�|$(A��t!�Cj<�^A���4E�<$D�<$�$��!��w��H�=yb��Hc�H�>��@DŽ$�DŽ$DD��$@E��u��$$��$@����$$�PH�D�j����H��D�Qf����Hр9xt�H��H9�HB�H���4�����x�W�������I�wH��$A�W����H��$�dH3%(����=H��[]A\A]A^A_��PH��$H��f���������D��$HE��u��$$��$H����$$���v���Pf����H�����@D��$0E���f�����$$��$0����$$�I���f.��P�Hf��f������H��$���H�$�f��t'��H��$��f�����H�$����u�H������L��$xH�������DŽ$�H��DŽ$D���f�DŽ$DDŽ$�H9�����DŽ$�����H9�sDŽ$�H���Z����H��L���Uz��H���?��������A�D$<�b<�ZL;d$��������H�\$@L��H+L$A�D�,�E�l�����������ڋ�$�Hc�Iԅ��g���A�D$�A�<��S���H�D��?�I�L9d$�B����L�|$`E��D��$�A�GX��x��U3A���;D��$�E����I�w��A�H��H���26H�xH�@Hǀ�H��)����1����H���L�{HI�wA��I�wH�CPA�H�{PH�CXH����5H����5D�-Ʌ$H�H�GH�H�@H�����H�C`H�Ch�CpE��u8H�P�$H���y�$H���H�p H�����@���H�p0��$��H��$��$����5H�L�%`�CL�5"`H�C`I�l$��A�H�Chǃ��dDH���p~��H��tqD�(Mc�H�PLkxA�>v�@AH�PA�D$
I��I����P�I9��cA�>H�{PH�H��A�>E�A��H�GH�0H���w�H�DH�WH��u�H��$�A�1ɺH��A���jA���bj@D�d衢��AYAZA����A��A�N�$��E1ɺ�� H��Hc�$$A�L�I���&���M9�u�Hc�$,���fE1�A�
1ɺ	� H����E1�A�
1ɺ� H���׵��A�1�H��A���� 践��A�1�H��A���
� 藵��E1�A��1ɺ� H���z���A�P1�H��A����%�Z���A�1�H��A���� �:���A�1�H��A���� ����jE1�A�j@1ɺ�`H���)���XE1�ZA�� ��H�߾ �״����$\9�$X���|$4��Hc�$@���HHc�$D���E�oXE����H�|$8���H��H�D$@�T���H�D$(A�GZu(�|$4�%4A�G`���-����4�@�4E1�|$4��Lc�$,H�$E����E1ɺ�� H��Hc�$$A����1�A� H��A���
� �ֳ��Hc�$H���6H��$PH��t3H��E1�A�H��H��$�H+�$�� Hc���膳��Hc�$(;�$$tE1ɺ�� H��A��Z����|$4�-�|$4�$0H�T$H��$�H��$�H�|$8�5��D�#E����1H�D$A�G[ �u'H�D$��$xH�D$���'H��輬��H��$@H��H��$�@��H��t*H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$�A��1ɺLc�$$� E���H��I���`���E1ɺ�H��Hc�$$A�� H���9���A��1�H��Lc�$(�
� ����A� 1�H��A���� ���Lc�$@E����%A�T1ɺH��A���%�Ʊ��E1ɹ(H��A�
��� 覱��D��$@E���u%jHE1�1�A�j@��`H��褝��A^X�
Hc�$$H���,&��1�A�H��A���� �<���H������E1�1�A���� H��I������jE1�1�j@A�
�
H��`�#���XZjj@E1�1�A���`H������Y^jjE1�1�A���bH���ݜ��_E1�AX1�A���H�� 荰��jE1�1�j@�bH��A��蜜��AY�AZH���K���H��tM��tH�PL�pH��H��H�PE���4Hc�$$C�$�H��H�H����$��E�L$1�H��A�@�� A�����H���ǩ��E1�1�A���� H��I���ǯ��jE1�1�j@A��H��b�֛��AXAYjj@E1�1�A���bH��豛��AZE1�1�1�A[A��H���s���M��tH��tH�PL�`H��H��H�PE1�A�1ɾ �H���(���H������H��$ H��H��$�H��$�@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$0H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��t@��tI�UI�EH��H��I�U�;��� H�{P�SpH�G��~S����%H�PH�����-�H���u��H�����H����H�Cxf�p�@ċSp�PH�{PH�G�s`�	A�L�%�VL�5�V���G$L�|$ I�߉��cL��� u��H��tuD�(Mc�H�HMoxB�|%v�@AH�HB�D5��X�9���#H�SVI�PE1�<(A��H�GH��A��A�uHc�H�H���w�H�DH�OH��u�L��L�|$ H��$8��H������H��$8H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�1ɾ H��A�@I�������լ���H��H��$�谤��H��tH��tH�PH�hH��H��H�PA�G[ �7 �|$4��H���d���H��$H��H��$�@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��uփ�$pL��$�H��$��H)Lc�$(1�A���H�� ���1�A�@H��I������� �ի��1�A�H��A���� 赫��E1ɹ(H��A���� 蕫��1�A� H��A���� �u���jE1�1�jA��H��b脗��A]E1�A^A��P��H�� �0���jE1�1�jA�
�
H��b�?���XE1�Z� H��A�
�X������H���Т��H��tM��tH�PL�`H��H��H�P��$xE1���@H�|$8H��$��~|���+H�߅���)�l����|$4I���6&E�_XE��xLc�$<E���t'H��$PH���s$H��$�H��H+�$�Lc�A��1ɺH�߾ �!���A�GX��xL��$�M���H'����!L�,$M��t(H���Σ��H��tI�uI�EH��H�4$H��H��I�U�|$4�C&1ɾ H��A�@I������袩��L��$��H���}���M��tH��tH�PL�hH��H��H�PH�|$8�ե����$x����H��$L�l$8HDŽ$PHDŽ$XL��$�H��$DŽ$�H��u-��@L���p���H��$H�H��$H����L�����D�E��t�H���V��I�wH��$A�WH��$�I�wA�WH��$H���K�H�I�wA�WH��H��u��0�A�D$A��f����A���z<wWH�\$@L��H+D$�D�,�A��A�L9d$v:DI�����E1�I��x�A��Hc�L9d$w�L����Bf����H��<xt�H��<y�HD�H�T$�DA���H�\$@L��H+D$�D�,�A���O����L����W��A�T$f���҅�~L;d$�,���ts�A��=���DL���W������L;d$��!Ѻ!����H�\$L��H�|$@H)�H�D����tL��H)�D�,�HcA��I�I��A��R�f.�L;d$������f�L;d$H�����������d���Hc�Iċ�$�������L;d$H����������f�A�D$<��<�zL;d$������L;d$H���������{����H��$�L����f��I�������I��A��Y��H��$�H+l$pH�\$x�(H�D$@�D�)H��$�D�4�A�$�$L;d$���L��D�Bf����H€:xt�H�BH�D$�o��H�SPH�BH�HH�����'�H���l��H�����D�$$�H����H�CxA��?f�pA����@�A�D$ЉCp���v�H�E1�A�1�P��()+-H��j@�Nz��H��$�A[A\�K�DH��l�Rv����P��$(����$$���H��E1�腞���|$4H�D$@H�D$(�Z�E1�fA�~�K�A�GZ�@�A�@1ɺH��I������ �Q���A�G~E1�1�A���`H��Pj@�\���]E1�A\A�
1ɺH�߾����I�����@A�A�@���A�G`�����������$,����$$���H��$Hc�1�趲��A������'�fDH�T$XH��$�1�H�$�H��$�|���L��$�M�ːA�Cf����I�A�;xt�A�I��L��<�A��<���A	�H�D$8H�����c��E����E1�1�I9�����H�|$8�J�H�����vE�J|��v=��xu	E���� ��b��wH��t�H��H���c��L9��2���J���w�H�|$8H��H���Nd����@Hc�$$�H��H���O��E�L$�1�H��Mc�A�@�� �]���H���5���E1�1�A���� H��I���5���jE1�1�j@A��H��`�D���Y^jj@E1�A�1ɾbH���!���_�AXH���љ��M�����H�����H�PHc�$,L�`H��H��H�P�����E1ɺ�� H��A�萡���z�E1ɺ�� H��A�@�m�������E1ɺ�� H��A�@�E�����E1�A�1ɺH��$�j�bj@H���G���D��$hA^XD;�$\�;�fDIc�E1�A�H�ﺎ� A���֠��D;�$\|ԃ|$4�	�Hc�$8I�����A�@H�ߺ�� 蚠�����DE1ɺ�� H��A�@�u�����E�W`1ɺ� H��$�A��D��D�$%H��D$A�Gt�D$D���.���h�E1�1�j@A��H��`�:���AZE1�A[1�A�
�H�����E1�1�A���H��H�D$ �ט��D�$I��A���vjE1�A�1�j@��`H���ŋ��AXAYH���i���E1�A�
1ɺ�H��H�D$H�w���E1�H��1�A����!H�$�F����|$D�L$����A�@1ɺ1�H���-���H�D$I��jE1�1ɺj@�`H��A�� ���X�ZH���і��H��tH�|$HH��tH�PH�xH��H��H�PH��薘��H��tM��tI�T$I�D$H��H��I�T$L�d$M��t,H���c���H��tI�t$I�D$H��H�t$H��H��I�T$E1�H�ﺎ� Hc�$,A��<���H������H��tM��tI�VI�FH��H��I�VH�����H�����H�|$ H�����H�wH�GH��H�t$H��H��H�W��fD8]����}����D8}���H�D$P�\$hH�l$ D�t$(H��D�l$lI��H�$I�uI��f�A�Ff����I�A�>xt�I�nH��L)�H;$��H�T$PL���z����������D$HA:F��A�F<�u	I��E8~t��\$hI��D�t$(D�l$lH�l$ A8�����T$h�����I�rH��@�Cf����HÀ;xt�H��H�D$PH��L)�H��H9����H�T$PL���ܫ�����v��T$h�;yu��H��9��9D$h�X�H)�1�H��H+T$�|$H�H�|$@H������'�\��D��D$h����A��������E��U�A����	Ѓ�H)����f�H��L��$�DŽ$����H��$PH��@��H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u־�H���	��E1ɹH��A���� 虛��E1�A�	1ɺ� H���|���h E1�1�j@A��H�߾b與��AYA��AZE1�1ɺ� H���7���E1�A�1ɺ� H������H����H����4��E1�A�@1ɺ1�H�����E1�A�1ɺ� H��I���̚��E1�A�1ɺ� H��诚��E1�A��1ɺ� H��蒚��A�1�H��A���� �r���H�߾����H���=���M��tH��tI�T$I�D$H��H��I�T$1ɾ H��A�@I����������H��L��$����H��tM��tH�PL�`H��H��H�PH�����H��$HH��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�1ɾ H��A�@I������}���L��$��H���X���M��tH��tH�PL�`H��H��H�PH��$XtVH������H��$XH��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��i,��H��$`tRH��趒��H��$`H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�|$8��k��H��$htdH���Y���H��$hH��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$8H��$�H����0��H��$pteH�����H��$pH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$8H��$�H����-��H��$xteH���z���H��$xH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$8H��$�H�����/��H��$���H������H��$�H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�L��$���L���!��jE1�1�jA��L��b���A[L��A]脐��E1�1�A����!L��H�$胖��E1�1�A����!L���f���jE1�1�j@A��L��`�u���XZjj@E1�1�A���`L���R���YE1�^1�A��L������jE1�A�j@1ɾbL��I������_�AXL��迍��H��tL�$M��tH�PL�PH��H��H�PL��腏��H��tM��tI�UI�EH��H��I�U� L��E1�1�A����j����L����
��H��$�teH���*���H��$�H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$8H��$�H����M&��H��$��lH��趎��H��$�H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A���L��$�D�lA���=E1�A��1ɺ� L���Z�����$@������$D���A��1ɺL��Lc�$(� ����A�1�L��A���� ���H��E1�1�A������H�|$(H��tH��tH�PH�xH��H��H�PE1�1ɾ H��A��蝓���H��耋��M��tH��tH�PL�pH��H��H�PH��$�tVH���?���H��$�H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��!��H��$�tiH���ތ��H��$�H��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$8H��$�H����-��H��$�tYH���j���H��$�H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$����H��$�tUH������H��$�H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��yF��H��$�taH��見��H��$�H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�t$8H��$�H�ƴ���H��$�tYH���:���H��$�H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��Y
��H��$�tUH���֊��H��$�H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��)Q��H��$���H���r���H��$�H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�L��$��L�����jE1�A�j@1ɺ�iL���H|��AYAZjj@E1�A�1ɺ�hL���#|��L�
�kA[1�A]A���L��#�Ώ��jE1�A�j@1ɺ�eL����{��A^Xjj@E1�A�1ɺ�hL���{��XZjjE1�A�1ɺ�`L���{��L�
XYL��^A�@1ɺ� �C����#L��1�A�A����#����L�����H��$��H���߈��H��$�H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�L��$��L�����jE1�1�j@A��L��i�z��_AXjj@E1�1�A���hL���z��AYL�
j1�AZA���L��#�?���jE1�1�j@A��L��e�Nz��A[A]jj@E1�1�A���hL���)z��A^XjjE1�1�A���`L���z��L�
�VX1�ZA�@�L�� 貍��1�A�L��A����#蒍��1�A�@L��L�
@��� I���m���jE1�1�j@A��L��h�|y��Y^jjE1�1�A���`L���Yy��_�!AXL��A�1ɺA�������L���i��I�wH��$A�WI�wH��$�A�WH���!��H��L���I���:��M���UI�G H�����\$41҃�t1҃��ƒ�H��H��$L�(H�PL�`0�,���H���H���I����H���8���H������H�|$H������H�wH�GH��H�t$H��H��H�W���E1ɹ0��H��A�� �����f��A��1ɺH�� �ދ������f�Lc�$$1�1�H��A������H��H�D$脅��H�D$���f.�E1�A�
1ɺ�H��胄��H�D$�d��f�H���8���H��t%H�|$H��tH�wH�GH��H�4$H��H��H�WE1�1�A�	�� H������1�A�XH��A����%��jE1�1�j@1�A��eH���w��YH��^�贂��M��A��H��tE��tH�PL�`H��H��H�Pj1�E1�1�j@�eH��A��v��X1�ZH���e���H���h
H�|$H����H�PH�x1�A�A��� H��H��H��H�P��*���E1�1�A���H������H��tH�PH�|$H��H�xH��H�P�H���ҁ��H�����E���z�H�PL�`H��H��H�P�a��L��L�|$ H�{PH�G�Sd���|�A�L�-B2H�2�ef�H���P��H�2H���
��@�(Hc�H�HHkxC�|%v�@AH�HB�"I����X�A��
�
H�{PC�L%H�G��H�H�����H���H���w�H�DH�O�f.�I��A��9���H�PH����y�H���P��H���[���H����H�Cxf�H�@ċSp�PH�{PH�G�u���DŽ$�
���DŽ$�

���DŽ$�

DŽ$�����DDŽ$�

DŽ$�����DD��$<E1�A�
1�E���|�� H����E1�1�A��
� H���Շ��E1�1�A���H��L��$����H��tM��tH�PL�hH��H��H�PE1�A�1ɺ
� H���u����q��A�Qf����A�<x�A�H��A�L)�H�$�-�E1�A�1ɺ� H���#�����fDA�A)�A��
��Mc�H��/B�"�h����DŽ$�
�
�V��I�w�PA�H����	f�@@@@ @0A������PHA�Wh�PLI�G ���������;��H��$��Jp���B` tH��$`�H�|$8����1���!������H��$`F�E9����D��D�T$D1ЍP����,PE1�1ɾfj@A��H���,r��Y^D�T$E	�E����f�Lc�$(���Hc�$8I�����A�@H�ߺ���~��E1�H�ߺ�Hc�$4A�� H��胅��H���[��H���.��H���%��H�UH�EH��H��H�U���H�t$L��$��H��$���w[H��H��>���H���B3�����]��$����V��H�t$H�|$8�H��$��3��D��$��-��f��Az��u��Ff����H�8yu�H+D$A����u��F���tH�����e���D�Ff�����<�q����FH���ѐ�NH���3���DŽ$�) �
����E1ɺ��H��Hc�$8A�@�5}��1�A��H��Lc�$(�� I������Hc�$4A�@H��I�������� �ك��E1�H�ߺ�Hc�$8A�� 趃��H���}��H���'��M�����I�UI�EH��H��I�U���L��$�I�������Hc�$8A�@�H���a|��M������H���|��H�PL�hH��H��H�P�c��fDE1ɺ�� H��Hc�$4A��������A��1ɺH�߾ �ւ���m���Lc�$8�����$<��H���E1�1Ƀ�D�@�{��H������H�|$@H������H�PH�xH��H��H�P�i��I�wA�WH�CXI�WI�wH��t
H���I�WI�wH���I�wH��$����A�WI�wH��$�A�W����H�XH+�$�H�$�*���A�@1ɺ1�H��D�T$��z��D�L$1�1�A�@�H��I����z��H�D$��f.�M��\$hH�l$ D�t$(D�l$lM��A�A�u�DH������H���8/��I�wH��$A�WH��$�I�wA�WH��$H�������H�I�wA�WH��H��u�����H�{PH�GH�PH������H���BH��H�������H�Cx�@�����.��I�wH��$A�WH��$�I�wA�WH��$H���R��f�H�I�wA�WH��H��u��8����H���y��H���n��H�PL�hH��H��H�P�U��H�DH�W���H�DH�W���H�|$8�>k������������H�|$8�/������H�DH�W����1�A��H��A��� ����E1�1�A���H����x��H������H�|$��������H��$PH��H+t$E�4���$�D�pD��$�����H�l$ D�t$(D�l$l�>��H�|$8�����Hc�E1�A�@L�纎� �?�����1�A���L��Lc�$$� I�����A���Hc�$$�L��H����E�M�1ɺMc�A�@� L����~��L���x��E1�1�A���� L��I���~��jE1�1�j@A��L��`�j��_AXjj@E1�1ɾbL��A���j��AY�AZL���Bv��M�����H�����H�PL�hH��H��H�P��Hc�E1�A�@L�纎� �	~�������j<�����z�����H�l$p�(�DH�DH�J�x��1�H��A��A��� �}��E1�A�1ɺ�H���v����I�wH��$�����A�WI�wH��$A�W����1���H��$H�����H�I�wA�WH��H��u����L���:��H��$H������H�I�wA�WH��H��u����A�E�A�H�$H��L��I��E1ɺ�� L��Hc�$$A�H�H���|��L9�u�H�$�9���ATUSL�g ��������H����t�GX�uM����
�GX�EbuM��I$�������؀��E[E��tIM��t3I�<$t,��tI�|$t:��uPf.�1�[]A\�f���H����s�����u��tM��u���H����X�����u��t�M��tI�|$u���H��[]��A\�1����� �&7���I$����H��tH���9����H$�7��������h���fD�����X���fD��AWAVAUATI��UH���SH��xM�t$ E�iJdH�%(H�D$h1�D��H��$�����A�� E�M����H�M�<�I�7H���qH�H�L��H�l$H�L$A�D$hH�T$L�L$ H�l$(H�D$0D�D$XH����H�W(9GTFGTH�T$8H�W0�D$PH�G H�T$@H�WHH�T$HH�WH��tH���I�7E9nHEFnHC�T-�T$TH����H�@H��H�$��L�cA9�|l���������1�H�S H�T$(�CLH)�H�C0H�S@H�T$0H�C8H�S(�CHH�L$hdH3%(u~H��x[]A\A]A^A_�f.�H��1��f�=�������H�D$8H�D$@G�E9nHH�D$H����EFnH�D$PC�D-�D$TH���4���0��������r����V���H���5���ff.���H��t/USH��H��fDH�/H�s�SH��H��u�H��[]������AVI��AUL�oATI��USH��I�<$H��t�6��I�|$H��t�H�/H�s�SH��H��u�I��M9�u�H�sH�CL��[]A\A]A^�����SH�=�F$�?���H�=�F$H��u�Q�H��H��tHH�H�_u�H�w H�<7u�H)5KF$H�GH��tH�CH�GH��t%H�XH���8���H��H��u�H�=IF$[���H�F$�����AUATUSH��H���H��H����H9�H��H���HG�H���H��H���H��� �y��I��H����H9���H����H�=�E$��I�t$� A�$I��H��txE1�1�A������"H�iE$�H�H��H!�H���K���H���t5H�I�EH��I�]H)�I�]I�EM�l$H��L��[]A\A]�f�I�t$L��A�T$E1���H��E1�[L��]A\A]����6���H�P�H����HH�H��D$�,���f.���H��tH�wH�W �ff.���H��t?USH��H��H�oH�}H�uH)��j���H�sH��SH�sH�CH��H��[]��D����H�-�@��H�G8HG0HG@�f.�D��AUATUSH��H���H��H�w�@�I��M��ts螆��I��1�f�I�U��A�H��H=u�脆��1�H���&D�C���H���A��,H��H��t%H��Dhu�I�E����H��L��[]A\A]�I��$1�I��$IDŽ$H��H��A�IDŽ$8H)���@���H�1�H��f�H�B��� t�‰�E�����Hc�A��DH�B���t"�‰�E������� A��Hc�DH�B�f��y%�‰�E�������A��Hc�DH�B���@t%�‰�E��������A��Hc�DH�B���t%�‰�E�������A��Hc�DH�B���t�ƒ�����D�ȁ� ��Hc�H�H��H�����z��L�?��t!����E�������@A��Hc�DH��z��t"�‰�E�������`A��Hc�DH�B���t"�‰�E�������A��Hc�DH�B���t�‰�E������ A��Hc�DH��_�Q���A��$���C���1��(���_tKA��@H��H�������H��J��f��
�ƃ����FD���pE���pEƃ�t���밿@蹂��I��������H��H��tH�wH�WH����H���x����H��8v���HL��f����H�
M����AUATUSH���OxH�����M�Ol�MH�OpH�MH���H�MH�OPH+��H�M8�Hf����H�M@�Hf����H�MH�8v���E�HH��
H�E`f����H�MPH�H��H�EXL�opL�gxH��H�����H�GxH��H�GpH��A��L�kpL�cx�EhH��[]A\A]ÐH�
�9L���IvH�
M������1����@H�EPH�E`�EH�EX�r���@H9zx��L��I���H�����AUATUSL��H��M���L���L�JPL��I�<H)��������H��tXH���I9��H�AX�A�	�8�
M�)�I9���A���8��I��H��M9�u�H�+1�H��[]A\A]�fD��������tI�1�����f�����H��t�H���I9��uH�GI�QA�1@87uhM��"�H9��OH��H���r�@8p�uAL9�u�L)�H���W���D�RH��H����H��D9����D9�v�H�������[]A\A]�@H����L)�H9������H��L����~���¸�������������K�4H9��RL���M9���L��D�D��A�����H�����=�w|H��A9�tK��L�
K��Hc�A�SA��A����D�L��7Hc�A�SL�RH�؎J��BD9���H9���L9��v���fD��%���fDD�_� uG��A��?H��%�D	��g�����Q� upA����?H��A��A	��.���fD�o���D�g��'��A��A��?H��%A�����D	؁�D	�	����fDD�Y�tG�i���A������?H��A�����A��A	�A��A	�E	�����A����A��?H��E����A	�E	��d���@��A����?H����A��D	�	��N���fDD�a���A����A��?H��A�����A��A	�A�����E	��E	�A	����f���D�o����A��A��?H��%A�����D	؁��A��D	�A��	�D	����L)�H���/���DA����H��A��A��@��?A��D	�D�A�A���A��A��?A	�E	�A��A��A���E	�E	��/������A��H��%@A��?��A	��G����A��A����?D	�	�D���%�	�D	����1��t���f.���AWAVAUATUSL��$���H��H�$L9�u�H���H��$SH�|$(H��I��H�T$H�H�L$xL�L$0dH�%(H��$�R1�H�D$XH��$�H��$�DŽ$�H�����H�D$M�tA������ĠM����H�|$0�����H�|$(H����H�\$xH9\$�[��PERCP�ܠ�G`�ƒ����|���1ۃ�D	�H� �D$Ht
1۩������H�D$(�@X�Ɓ��t$l�Ɓ��t$L�D$H �vA�fD��$�T$H	� ��H��tH�}H�t�����L�|$0A�GItI�wI� A�WA�gI�H�D$0H�@ H�@@����D�D$lE���P�D$H%@D$L�H�D$XL9���eH�D$(�P|H�D$XI9��I����A�L�x�M9�s-�@���<�t�Gf�A���<��vGI��M9�u�M��H�D$0H�t$L��L��L)�H�P@H)�覤A��H�D$0D�`LE����pH��L��UL�L$@D�D$XH��$�H�T$(H�|$8��y��A��XZA���uoL��$0L���D$L��T$H����f��$f��������y���H��L��UL�L$@D�D$XH��$�H�T$(H�|$8�\y��Y^A�ă���LE��xJ�D$H@t@L�|$0Hc�$�H\$I�wH��A�I�G H���=5H��L��H���Hx��H�D$0�HIH��$�RdH3%(D����H���R[]A\A]A^A_Ë|$lL��$0�����D$LL�|$XL��H����NH�E�oEH��$�)�$��D$HH�|$(DŽ$ H�UHL��$@�wX�O`DŽ$�L��$(	�H��$8��$�����$���%��$���%H�����$�I�D��ID����H��$�H��$ H��$�H��L)�f�|��$�H��$HH�E(H��$�H�E0H��$�H�D$xH��$�u���
��H�|$(��$���$�������H���HDŽ$`HDŽ$Xf��$��H��$f��$HDŽ$�H�H�f�zH��$ �Gxf��$�b�GzH��Hc�H�>��L��$0�D$H@�9�t$L���)���L9t$X��\L�|$XA��$��<�t�\DA���<�u	I��M9�w�L��$0L�d$0L��I�D$@H�$H��$0H�t$H�$H��L)�H)��	�A�D$L���_H��$0�T$LL)�I\$@I�\$@����Y����YL�I9��Q�H�CH��$0I9�v��C��<�u�H�C�H��H��$0I9��d����H������t��P���H��D�$�_D�$DŽ$�H�D$����L$L������H�\$XL9��l[��$��<���`H��$0�[[DŽ$�H�|$(�EP����	Hc�H��9GdFGdL���ƋET9GhL�\$@FGhH��$���$��EX9GlFGl��$�I���GH��$�1�H��$��PI��I��H��$�H��$�H��$���H�H���H��$��	Hc�H���s��H�t$(H�FH��H��$�H@H��$��F`H��$���G�Vp��$�� ��RDŽ$���HDŽ$��<@��$�����FH�t$(�Vt��$����QRDŽ$�����$�H�D$XD�\$lDŽ$�DŽ$�H��E��L�|$ I��H��$���$���$�L�l$pM����$L�l$PL�%�DŽ$�HDŽ$�HDŽ$�H�D$(�@Z��D��$�E����H�D$ D�L$lH��$�H��E���FGI9�w&�hf.�H��$8H9��r?H��I9�tG��$���uۋ�$�H��$8H)�H��H9�w���$�8EuŃ�t
��$�8Eu�I��D��$�E���0?��$�����C��$���$�8���XL�t$ ��$�L��L��L)������H���_q��H��H����H�‹�$�L)��L��$�H�|$ ���*q��H�D$ H9��H�����$���$��DŽ$����DŽ$�Ƅ$��x���A�
DŽ$�fD��$��Y���DŽ$�Ƅ$�
�A���DŽ$�Ƅ$�
�)�����$������L�|$ ��$�f��$�YIH�D$ H9�$8��FL��$8H�|$(H�\$ L���W~H)�H9��`FHc�$�H�H9�$�srD��$E��teH=�~��$���xRH=?KLwJ��$���$�@8��b�L����H��H)�H���o��H���ÇL9���EH��$�H�\$ H��$�H9���EH��H+D$p��$�H��$HH��$P�D$LD$H��$�����$|H�D$(�|$hL��$�����D$;�|$;H��$Pf��$�H�D$0��$�H�|$@HDŽ$�@JDŽ$�H�w�f��$�H��$ I�^PI�^X�����DŽ$�H��$�I�F`I�^hI�Fp����I�FxI�F0I�I�~ �D$<H�D$`L�<$��$��P��$�;�$���W��$�A9F0�*XI��A�VI�����0��Ic�L�>���Pf����H�I��8xt����$|�����$�tFH��$8I9^P�J���$f���5DŽ$�f��� L�<$�������VI�~PH��$8H9���X��$����VX��$�H��H)�H��H9�w��$�8�f���$1�f����I�VPH�JH9�$8�џD��$�E������$������$�8���DŽ$�f����1���pH��$ 1�f����H�H9�t�Nf����A�~h�tUI�FpH���tKL��$�L�D$@�ρ�L�I��J�9x4u�
��L�J�9x4��H�BpH���u��I�vA�N8I�nH�=%M��E�~8�EA�FH�H���/D��$��t��H����L��A�V@�x��P�f��f�����҃�A��H�$I�f��tZI�~x�f�����D�I�F(H9�sI��ƀ�u4��H�u��'��r��H����A�V@�P�I�f���ҍ\�I�^(I����b�E}��g��}��i�3}�PH�=�f����A�V8�pf����A�N<���bf��Hcҋ������D�H���\$<A�N<I�I�~(I;~x��4I��H���H�����4H;�������A�F8������L��$�H��$�H��$IFP��A�F89��h�I�~(A�v@I��L��L���
���t��+�H��$8I�FP��$f��t*H9�$Hr��$���tDŽ$�f����1���H�PI�V�Pf����H�I���K����W�H��������?��VH�PI��H��
��b��A�V8H�O
��A�V<H�
���D$<A�^8����VA�F<9��u���D�\$<E���|GI�VPI�V9�w^鑗�|$;tj� ����B�������?	�I�v��$��z����P�Hc�IVP��I�VPA;^<�8�H9�$8���:�����w���H�H!H�pI�I�v�X!�K�����V�H��������?��VH�H"I��@!H�
w��b��A�N8H�
&��A�N<H�
����D$<�D$h��� E�F8E���jVA�N<D��A9��;����D$<�����I�VP�\$hI�V���*�A9����H��$8H9��4��I�vI����I��A��F�A���}���H�BD)�H��)H9�����H��I�Ѓ�I��A��F�A��sH��I�FPH9�u˃|$<�����fDA�F8�PH��I�f���D$<��A�V<I�H�BI�D�A�K�D��E�^@���W<E�F8E���_9A���~8�L$h�����yS<�
*H����Hc�H�>��H�H���D$<I�^8I��z���H�����H���D$<I�^8I��X���H�����H���D$<I�^8I��6����PH��I�f����A�V<A�V8����A�F8�P1�f����A�V<�8\��H���\$<I����H�PI��H�!
��U��A�V8H��	��A�V<H��	���D$<���A�F8�HH��I�f���D$<��A�N<I�D�D$hH�HI��H��A�N@E����5���v&�� ��MH�p��I�6�@����?	�A�F@��G��>E�V@A����NE��A�BD��L�
X2AI��H�=JH�5Cv����A�
H���A�A)���H��GH�@�\�D�A�^DE�F8E����5I�VPH��$8�H9�wM��|H�J��I�NP�R%���?	�A9��n�A;FD�]���D9��75I�VPH9���|H�BI�FP���=�v�� t���#<�J��H��������	��J�I�VP��?	��H�H���D$<I�^8I��i���H�����H���D$<I�^8I��G���H�����H���D$<I�^8I��%����HH��I�f����A�N<A�N8����A�F8�HH��I�f���D$<��A�N<����A�F8�HH��I�f���D$<��A�N<�����HH�HI������H)�H�
b��A�N8H�
��A�N<H�
����D$<�j���A�F8�HH��I�f���D$<��A�N<�|$h����1I�I�FI�N�1����9� ��J�q��I�F%���?	�INI���-�kMI�F(E�F8D��E����I�FH��$8A�D��H��$�H)�H��$�I�FJH��$�H��$�D��M��A��f.�M�}PL;�$�wH��$�I�uL��H���b����t<I�](H����JH��$�H)�I9���JH��$�H��L���cb������JI�A��I�MP��A9�v�M��A��A�F<D9����t$<���0#M�~PM�~D9��j�H��$8I�nI�FJH��$�I��H��$���I)��+I�vH��L����a����uI�M�~P��A;^<��M�~PM9�v�M�F(M�����H��$�L)�I9��n�H��$�L��L��L��$��a�����K�L��$�M�M�~P�H�H���D$<I�^8I�����H�����H���D$<I�^8I����H�����H���D$<I�^8I������HH��I�f����A�N<A�N8�`���A�F8�HH��I�f���D$<��A�N<�5���A�F8�HH��I�f���D$<��A�N<�
�����.H�HI������.)�H�
��A�N8H�
���A�N<H�
d���D$<����I�vPH;�$8�}ND�D$hE�����H�HI��H�ρ��v"�� �H�x��I�>�@����?	�H�FI�FP���=�v!� �H�~��I�~P�v%���?	�9����� �N������L�
),��H�= ����Hc�A�Q���H�5pHc��WH�RL�9���1���
�I�VPH;�$8�VD�L$hE���~H�xI�FI�>�H�΁��v#�� �4�p��I�F����?	����H��$��:���>8��H��H��I�I�VP�\�f�D�T$hE����NH�PI�FI��P���v�� �O�I�FH��$8I�NPI�VH��H)�H9��ԉH9�����$f����H9�$Hr��$�����DŽ$�f���A1��I�~PH��$(��$|�3NH9��g�H9�$8�?���$�����}1�H9��@D��$�H��$��K"�Å��!I��;�I�NPH;�$8��MH�QI�VP��ց��v*�|$;t#�� ��H�q��I�vP�I����?	ʁ���
�u�� �w
�7s����e
1ہ���W
�I�NPH;�$8�ONH�QI�VP��ց��v*�|$;t#�� ��H�q��I�vP�I����?	ʁ��
���y�� �+���w��	��	1��DI�VPH��$8H9��!LH�JI�NP�:�����v/�|$;t(@�� �;�����H�zI�~P�R����?��	σ�
�����v��
�Z	�D�f��$�E	1��s
I�vPH;�$8��LH�NI�NP��ρ��v*�|$;t#�� �t�H�~��I�~P�v����?	��L�
&(A��H�=��A��Hc�A�4q��Dƀx
Hc��4wH�<vH�5�kH�4����xL��Ic<�L�>��I�VPH;�$8�8N��$f���ӉH;�$Hw��$�����	DŽ$�f����1��j	I�FPH��$8H9�����$f���H9�$Hr��$����+	DŽ$�f�����1��	��$����fL��$�H��$8I�VPH)�H��1�H9�w��$�8����������$I�FPH��$8f����sH�r�H9����H9��N���D�\$hH�HI�NPE���[���H9��R����H�����B���H����	H�������)���H��I�FPH9�u�����I�VPH;�$8��JH�JI�NP�
�΁��v6�|$;t/�� ��H�r��I�vP�R����?	с���ыH��$���
��1���L��$�H��$L��L���%�����
]��H��$I��H��$(I9^P�MP��$|�01��^I�~PH��$8H9��tK��$��������$�H)�H���H9�w��$�8�N���������$f�����I�VPH�JH9�$8�u�D��$�E���r���$������$�8���DŽ$�f���@1��fDI�NPH;�$8�cJH�QI�VP��ց��v*�|$;t#�� �Q�H�q��I�vP�I����?	ʁ������t��
����1��I�NPH;�$8�(IH�QI�VP��ց��v*�|$;t#�� �s�H�q��I�vP�I����?	ʁ������Rs��
1ۃ��t�@I�FPH��$8H9��*IH�PI�VP�8�����v+�|$;t$@�� �7�H�P��I�VP�@����?	�I�vPD��$�E1�H��$(�?�I�FPH;�$8�������$f�����H;�$Hw��$�������DŽ$�f�������L�<$��DI�VPH;�$8��FH�JI�NP�
�΁��v6�|$;t/�� �s�H�r��I�vP�R����?	с���>H��$���
�*1��X�I�VPH;�$8�TLH�JI�NP�
�΁��v6�|$;t/�� �J�H�r��I�vP�R����?	с����H��$���
��1����I�VPH;�$8��HH�JI�NP�
�΁��v6�|$;t/�� ���H�r��I�vP�R����?	с���>H��$���
�*1��X�I�VPH;�$8� HH�JI�NP�
�΁��v6�|$;t/�� ��}H�r��I�vP�R����?	с���}H��$���
��1����I�VPH;�$8�ZGH�JI�NP�
�΁��v6�|$;t/�� �Y�H�r��I�vP�R����?	с���>H��$���
�*1��X�I�NPH;�$0�K�|$hH�q����F��Q�H9�$HvH��$H��$���JA���_tR�փ�L�
 H�=���L�
E1�Hc�A�4q���H�5�cHc��WH�R�T�A�����A��H��$8H9��\h��$f��t*H;�$Hw��$���tDŽ$�f�����1�H�PI���D1€8uD9��„��g�1��=I�VPI�VXH��I��L�H��$H�$(I9VPt�1��H��$(I9^Pt�1��A�~h��rAI�FPI�vXH9�u.��$|�������tH��$H�$(H9��~�H;�$8����$|�$��� �x����	1��}H��I�I��Pf����H�I��8xt�H��I��t�A�~h����H�
�
�H�I��P�I�FPL��$����H;�$PvH��$P�1�fDH�-m�f�I�FPH;�$PvH��$PE�n0E���H��$�M+v �HhA�~H���A�FHHcD�H�>���u�A�Fh������$x뜅�u�I�����H��$hA�Fh��$x�x������p���A�Fh������$x�[������S���I�nP�^=f����8���A�F8�PA�V8A;F<sGI�FPH;�$8��+��$f��t(H;�$H��FDŽ$�f���S�D1�����������I�nP�D��������A�F8�PA�V8A;F<s�I�FPH;�$8�5.��$f��t�H;�$H�TFDŽ$�f��v�L�<$��I�nP���S����$fD���@���A�F8�PA�V8A;F<�K���I�FPH;�$8�Y-��$f���(���H;�$H��EDŽ$�f������L�<$�{�@������I�nP1�I�FI9FP�����I�.A�FHE1�M�����������A�F8�PA�V8A;F<�����I�FPH;�$8�I-��$f�������H;�$H�EDŽ$�f���]���L�<$���@I�nP���#����4fD������A�F8�PA�V8A;F<����I�FPH;�$8�Y,��$f�������H;�$H�bDDŽ$�f������L�<$�K�@�������I�FI9FP�����I�FPA�F<E�n8��A�F<D9��6pH��$�H��$A�v@I�~(I��H��L��A�����H��$IFPE;n<r��oD���(���I�FI)FP1�I�FI9FP����I�.A�FHE1�M���D����A�F8�PA�V8A;F<����A�v@I�~(L��H��$�L��$�{�����Q��6H��$8I�FP��$f�������H9�$H�CDŽ$�f���m���L�<$���@���X���I�FP����H��$pA�Fh��$x�7���������+���I�H��$pH�x�5������I�FP����H��$p���I�V����Bf����HЃ��qA�N8��9�$x��������������H9�$h�����:x�?�8x�61����fD��������J����p���I�FPA�~@H�P�I�VP��I�FI9FP�^��I�.A�FH"E1�M���0��������1������<$������I��Pf����H�I��8x���A�F<��u
E�~@E�������I��������������������I��Bf����H)�I�����������������0������|���H��$I���H�XxH���H��$�H��H���J��H�CxI�FxA�F8��u2I�.I�FH�A�~I�I�.�5��A�FH#M��A����I��Pf����H�I��8xt�I�.�EH�!�먅�����I�FPH�P�I�VP�H��΃�@���uH��I�FP�H��H���΃�@���t�A�~@�_�I�FI9FP����I�.A�FH�E1�M���g
����`���I�F�Pf����H�I�F�8xt��������8���I�FP�l$hH�P�I�VP������@��ƒ�L�
H�=	��H�5�YI�NPHc�M�VA�Q���H��GH�@D�D�I9�����L����L�A�H�щÃ���Hc�A�Y���H��GH�@�\�H��A��D���$jI�VPA��L9������\$hH�Q���t��Y��؃�<�uH����؃�<�t���H�р��v��� �[���%����B��?	��f����������I�FPH�P�I�VP�T$h����B�P�������BH��H��I�FPH�������t��B�������A�F8�PA�V8A;F<����I�~PH��$8H9��'��$f�������H;�$H�_=DŽ$�f�������L�<$�������X���I�����H��H��$pA�Fh��$x�4���������X�����}���������1��
���DI��Pf����H�I��8xt������������}��t���������I��Pf����H�I��8x�u1�����������A�F8�PA�V8A;F<�����I�~PH��$8H9���%��$f�������H;�$H�%<DŽ$�f���d���L�<$����������B���$���I��Pf����H�I��8x��1����������I�FI��&@�����A�F8�PA�V8A;F<���I�FPH��$8H9������$f������H;�$HwD��$�E�������DŽ$�f�������L�<$���@���`�A�F8�PA�V8A;F<�k���I�FPH;�$8�	&��$f���H���H;�$H��:DŽ$�f���%���L�<$���@�����A�F8�PA�V8A;F<���I�FPH;�$8�)!��$f�����H;�$H�J:DŽ$�f�����L�<$�+��@�����A�F8�PA�V8A;F<���I�FPH;�$8��%��$f���h�H;�$H��9DŽ$�f���E�L�<$���@����A�F8�PA�V8A;F<��I�FPH;�$8�� ��$f�����H;�$H�>9DŽ$�f�����L�<$�K��@�����A�F8�PA�V8A;F<���I�VPH;�$8�)&��$f�����H;�$H��9DŽ$�f���e�L�<$����@���0�I�FPH�P�I�VP�P�����uH��H��I�FPH�������t�I�FI9FP���I�.A�FH�E1�M����D�����A�F8�PA�V8A;F<���I�VPH;�$8��$��$f�����H;�$H��2DŽ$�f�����L�<$���@���`�A�F8�PA�V8A;F<�k�I�FPH;�$8��+��$f���H�H;�$H�'-DŽ$�f���%�L�<$���@�����A�F8�PA�V8A;F<���I�FPH;�$8�{��$f�����H;�$H�8DŽ$�f�����L�<$�+��@�����A�F8�PA�V8A;F<���I�FPH;�$8��!��$f���h�H;�$H��7DŽ$�f���E�L�<$���@����I�FPH�P�I�VPI;F���P�����uH��H��I�FPH�������t�I�.A�FH�E1�M���������A�F8�PA�V8A;F<���I�VPH;�$8��!��$f�����H;�$H��6DŽ$�f���}�L�<$����@���H�A�F8�PA�V8A;F<�S�I�FPH;�$8����$f���0�H;�$H�
6DŽ$�f���
�L�<$���@�����A�F8�PA�V8A;F<���I�FPH;�$8��#��$f�����H;�$H��5DŽ$�f�����L�<$���@���h�I�FPH�P�I�VP�P�����uH��H��I�FPH�������t�I�FI9FP�;��I�.A�FH�E1�M���
D����A�F8�PA�V8A;F<��L��$8I�^M�nPL��H)�I9�wI�vH��L���9?����t3I�^(H����L��H)�I9��qI�vJH��L���
?�����ZI�DI�FPI�.A�FH�E1�M���nfD���h�I�FPH�P�I�VP�P�����uH��H��I�FPH�������t�I�FI9FP�;��I�.A�FH�E1�M���
D����I�FPH�P�I�VPI;F��D�D$hE�����I�.A�FHeE1�M����������A�F8�PA�V8A;F<���I�FPH;�$8�q��$f�����H;�$H��3DŽ$�f�����L�<$���@���X�A�F8�PA�V8A;F<�c�I�VPH;�$8��!��$f���@�H;�$H�"-DŽ$�f����L�<$���@D��$�L�<$L�l$PE����
L��L�l$pL�|$ A����H��$�M��H;�$�tD�$H��$���$�D�$H�t$0H�D$(H�FH��$X�FHH�F(A����H��$`H�|$0H�G(A�A����D�OLH�D$0D�`L���H�PH�
t�E1�M��H��$`I�V`��,�PA�FHH�H�@H�|$@I�L;�$���H��$�H��$�H�	H��H��
H9�vH��
1�H��H��H��H9��<~H��$�H���$�H����^H��$�H��$�H���6<��H��$�H��I)�I�H�D$@M�tH;�$�tH�L$`H��$���$�H�L$`H�H��$�H��$�H��$�H��$�I�~PI�uP��;��A�E0E�~4I�.��A�F0H�D$@I�F E��t'L��H+�$�I�FpD��f1�=uA��E�~hL�t$`���H���A�FHE1�M�����H����H�PH�
��E1�M��H��$`I�V`��,�PA�FHH�H��e���H�PA�F@I��@<��2<�H���W�H�hI�n�Ef����H�I�n�}xt�H��A�FH
E1�M������H�hA�FH	E1�M��I�n����Pf����I�V�<xtH��I�VH�PI��@��v<��1I�.�E�Pp���A`H�
����Hc�H�>��A�F@�Pf���ҁ�A�V8A�F<M��I�FI�FPI�.H���E�~8I�F�EA�FH�H��=���H�PH�
z�E1�M��H��$`I�V`��,�PA�FHH�H�����H�F�A�FHE1�M�����H����H�PH�
!�E1�M��H��$`I�V`��,�PA�FH$H�H�����H�
��E1�M��A�FH
�,H������$�H�
���S;�$���$���!���H�Hc�H�I��f��H���A�FHE1�M�����H��*����@M��f����
A�F8I�.H�Q�E�~8�EA�FH�H���A�F@A�F8�d���D��$�E�����A�n0�����I�.H����Ef����H�I�F�8x�E��V�H�I�.�����
A�F8M���_�����M��
A�F8I�.H���E�~8�EA�FH�H��@�����
A�F8I�.H�r�M��E�~8�EA�FH�H������PD�\$hf��E����.I�NP��H��H+�$(H9��EgH)�I�NPI�VPH;�$H�_�H��$H�R��PH��f����H)��U�Jz���].I�VpH��$�H�I��L+l$@H�\$`I�Up�[4I�Vp��f1҉�$�������U��~���/H�
q���Hc�H�>��M9��O���$f���>�L;�$H�� DŽ$�f����L�<$���f�A�v8��������$�������<��@D��$�L�<$E��tH��$��:�������������������$�H�\$ ��$�D��$�E��t/��$����)
H��$81�H;T$ �/������I9���Z��$���ZH;\$Xv�{�
u	I9��HDŽ$XH�\$ �������H�D$ D�L$lDŽ$�H�XE���W���I9��N����@�$��<�t�;���@���<��)���H��I9�u�L������f��������L�l$PM9������$����H�D$0H�l$pH�X@H��L��M��I��L��L�cI��H�ÐM��M9���A�E��<�t�A���<���I��M9�u�L��M��I��H��$�E1�H;�$��(���H�D$0H�t$(�@HH�pH��H��$`H�F(H��$�H����OH�t$0L)�H��H�V@H��$�H�FPH��L)�L)�L�n H�FXH�V0H�F8�FL��������@L��H�t$H��L��H)�L��$0H)��O_��������H�D$0I��H�X@L�H��$8L9�����M��L�t$ I���D$L���f�����������L�l$PA���!���t�������������I��Pf����H�I��8x���M���'���f���t���A�������w�I�F�Pf����H�I�F�8x��XA�^81������
�L��I���N���E1�H��H��������t������H��$��e��$����Vf��$L��$8������H��$�A����uH��$HH��$�H�D$ H��$�M9�t��$�t
A�A���B���L��L�l$pL�|$ ����H��$pH;\$ ������~���L�t$ M��L��$8�D$L�
���L���������M9��K����|����I�H�PI��A�F@A�~I-�\E�F8E��tcI�FPH��$8H9���H�PA�~@I�VP�9��bx��(�I�FPH9���H�HI�NP�9��A��D9�v�A�N<D9�����D�\$<E����I�VPI�VD9�vKH��$8H9��}UA�v@�9�u/��H�BD)�H��H9��ZU�H��9�uH��I�FPH9�u�|$<�=��I�FI9FP�/��I�.A�FHE1�M����f���G��H��$�E�F8D�E�NDE��tdI�vPH��$8H9���L�9��֚D9��ƚH���$�H9��_L�9��JLD9��:LH���PI�FP)�D9�v�A�N<D��A9��|����|$<���]�I�VPD�l$hI�VE����#A9��}LH��$8H9���uE�F@�HD�J��%�A��?D	�A�A9��CLA;FD�9LLʃ�I�VP9��'LH9��~u�A�A��=�v�� t�D�J���CA����A����D	�D�JA��?D	�A��I�FPH��$8�H9���YH�PI�VP�8�����v+�|$;t$@�� ��?H�P��I�VP�@����?	�I�vPD��$�E1�H��$(���H��$8I�FPH9���=��$f���?H;�$Hw��$���tDŽ$�f�������A;^8�YE�F8A�����A�V<D��A9�������D$<����qI�FPI�FA����pA��
���H�5��D��Hc�H�A9�>����_��I�F�8x�J���1��K����$����WH��$(H�D$xH�t$ H�H9�����D�t$lH��$�E���"H�l$ L;|$ �������$����<H9��`=H�EI9��L�U����t�:<f�������)<H��I9�u�L�|$ ���fDH��H��H��$�H��
H9�s&H��H�|$@H��
H9��b�1�H��H��H��$�H��$�H��$���$�H��$�H�����H�D$(���鬸��Ƅ$�Ƅ$�DŽ$�l�����$������@��H�t$(Ƅ$�Ƅ$�DŽ$�H�~(H��$����A�F@H��$�E�V8D�I��E�NDE����I�NPH��$8H9����A9�t	A9��_H�A�)�f��H��I�FPD9���H9��d�H��A9�t�A9�t�1������$�H��$8H�t$ H)�H��1�H9�������$�@8>���������������$�@8~�������H�JH�BE�F8I�D�zI��RH��A�VDE����A��
���H�51�Jc�H�>��I9�� �����$���tUH��$8H9���H�EI9����U����uDH��I9��ܸ�������t苴$�H�Ņ�u���$�H��$8H)�H��H9�w���$�8Eu����������$�8E�{����z���H��A�H�������]���H�EI9��Y���I���K���H�D$ I9�v9��$����t8�$������8�$��x���H��$�H����L�l$PM9�t��$����L��L�|$ L�l$pM���K���f.�H�AA�v@I�����L�|$X镰��Ƅ$�Ƅ$�DŽ$�HDŽ$�����I��Pf����H�H;�$h�����8x����:x������H�D$(H�-��#�oH�@)$)�$�H��$��j����ƒ���������o�������f.���h�J��H��%�����	��J���?	��J�I�VP����	��M��E�F8E��t[I�FPH��$8H9���9H�PI�VP�9��U���$@I�FPH9��~9H�pI�vP�9���:��D9�v�A�N<D��A9������D�\$<E���h�I�VP�|$hI�V���@A9��5<H��$8H9��N`E�F@�>D�J��%�A��?D	�A�A9���;Lʃ�I�VP9���;H9��
`�A�A��=�vɨ t�D�J��:A����A����D	�D�JA��?D	�A��I��Pf����H�H;�$h�����8x�����:x�������L��$8�Y���E�F8E������I�FPH��$8H9���7A�v@��;L�H��M�NP�@����?	�9��;9��D9������I�FPH9��a7H�PI�VP�A�с��v�� t���u/D�H��H����A��A��D	�D�H�I�FPA��?D	����=D�H��H����A��A���D	�D�H�A��?D	�D�H�I�FPA��A��D	��?����NJH��$1��9�}�������L�|$0A�GLL��L)�I�G@H��$HL)�I�G0H��$PH9�$@HC�$@L)�I�G8�D$H@�8Hc�$�H\$I�wH��A�I�G H�����H��L��H���%��A�OI��H��$�H�����H�D$ I9�������H�ƒ�H������������H��$�H�T$ ��H����H���������CH��I9�u�L�|$ �\���H�PI�VP�A9F@�9�1��N��H�PI�VP��с��v*�|$;t#�� �$9H�H��I�NP�@����?	‰�H�5���H�
����H��F���Hc��AH�@H��4�T��B�<������	�A�~@��8�����I�.A�FH�E1�M����@H�PI�VP��с��v*�|$;t#�� ��>H�H��I�NP�@����?	�A�~@��H�5S�A������H�
B�H�H�=Y��F���Hc��AH�@H�4�D��������A8��$��I�.A�FH�E1�M������H�PI�VP��с��v*�|$;t#�� ��>H�H��I�NP�@����?	�A�~@��H�5��A����H�
��H�=��H��F�փ����H��AH�@H�m3�D����������_��	�A8��k��I�.A�FH�E1�M���0��H�PI�VP�8�����v+�|$;t$@�� �j;H�P��I�VP�@����?	�I�v��$��PR������I�.A�FHdE1�M����DH�PI�VP�A9F@����I�.A�FHE1�M������A;V@t
A;VD����H��I�FPI�.A�FHE1�M���Z�f��A9V@�s��A;VD�i��H��I�FPI�.A�FHE1�M���&�fDH�PI�NI�VP�H�ƒ�H����������1����A�~@�b5H�GI�FP���=�� � ��GH�W��I�VP�W%���?	�A�^@�S������H�
e�Hc�H�>��A�~@�4A�^@H�OI�NP��S����}�H�5n�Hc�H�>�∔$�DŽ$鱭����$�DŽ$�HDŽ$��U���H�PI�VP��с��v*�|$;t#�� ��:H�H��I�NP�@����?	‰�H�5����H�
����H��F���Hc��AH�@H��0�D�A;FD��A�~@��8�����I�.A�FH�E1�M���y��H�PI�VP����v�|$;t�� ��5H��I�FPA�~@�m��I�.A�FH�E1�M���2�f.�H�PI�VP��с��v*�|$;t#�� ��5H�H��I�NP�@����?	‰Ѓ�߃�@t	��$�3�A�~@��8�����I�.A�FH�E1�M����fDH�BI�FP���=��	� ��:H�J��I�NP�R%���?	�=���A�~In��1��Z��H�PI�VP��с��v*�|$;t#�� ��;H�H��I�NP�@����?	‰�H�5���H�
���H��F���Hc��AH�@H��.��A;FD��A�~@��8�����I�.A�FH�E1�M����f.�H�BI�FP���=�v!� �]7H�J��I�NP�R%���?	�A9F@����A;FD����I�.A�FH�E1�M���L�@H�BI�FP���=�v(�|$;t!� �D6H�J��I�NP�R%���?	�=t"wC�� t��=�t=�t=�u?A�~@���I�.A�FH�E1�M�����D=) vr=_ t�=0t�=/ t���H�5����H�
����H�=��Hc��V���H��AH�@H�r-�D��<���A�~@��8��v���1��O��=( �Y��������
w��I����P���w��<���H�PI�VP��с��v*�|$;t#�� ��5H�H��I�NP�@����?	‰Ѓ�H�5��H�
����H�=��A�^DH��F���Hc��AH�@H��,�D�9���A�~@��8�����I�.A�FH�E1�M���t��@H�BI�FP���=�v!� ��6H�J��I�NP�R%���?	�A9F@�Y��I�.A�FH�E1�M�����fDA��鉣��A�v@����;D�L$hE�����N������H�=2�Hc�H�>����$f���\VH9�$Hr��$�������DŽ$�f����1����A�V<D9������D�|$<E���
���I�NPI�ND9�vQH��$8H9���?�A9�tA9�u3��H�AD)�H�H��I�FPH9�tH9���?�H��A9�t�A9�tڃ|$<�)���I�FI9FP����I�.A�FHE1�M������D���J������H�����%	��J���?	��J������	��J�I�VP����	��ʹ��A��D�H�:A����H��A�����D	�D�H�A��?D	�D�H�A��A���D	�D�H�I�FPA��A��D	����A�F<I�FI9FP�
I��Pf����H�I��8xt��%����$f����SH9�$Hr��$�������DŽ$�f�����1����H�D$XH��$0H�D$(�H|��tRH�D$XI9�sHH�P�H��$0L9�v7�P�����u5H���fD�H������uH��H��$0L9�u�L�|$X������t�H��$0�H�|$ ��$�L��H)����~��H��ID�H�D$ �����0��l;�A������%�	��q��?	��qI�F����	�����������F6�p��H���������	��p���?	��p�I�����	�A�N@���1��X��M��L;�$�����$f����GL;�$Hw��$������DŽ$�f���i�1����D��$H�|$ H��$������������;
���H�D$(�@a�����$�����v��$����H����H��$�D���A�FD遱��I�FPH;�$8��������L�<$������$������L�l$PA����H�PI�VP��с��v*�|$;t#�� �\CH�H��I�NP�@����?	�A�NDH�.VH���H��9��w0�9�v�A�~@���I�.A�FH�E1�M��������D$L鄞��L�<$�����A���A�^@�S�������H�
&�Hc�H�>���I�N�����������I�.A�FH�E1�M���`�����$����A���l����L�
C���H�=:�����H�5-&Hc�A�Q���Hc��WH�R�|��9��P���I�vJ�n���I�F(�D���D��$�E���������D��$�H��$����������H��$8��$�H)�I9VP�������$f���b���DŽ$�f���M���L�<$����D�����t��H�=%�Hc�H�>��A����H��A��?��@D	�D�H�A��?D	�D�H�A��A���D	�D�H�A��A���D	�D�H�I�FPA��A��D	�������H����?%@	��J���?	��J������	��J������	��J�I�VP����	��Ů��A�������<����H�����Hc�H�>����$��<��R���H�|$xE�A��A��$鷛��A9�sKH��$8H9���WA�~@�9�t/��H�BD)�H��H9���W�H��9�tH��I�FPH9�u�|$<�����I�FI9FP��I�.A�FH E1�M������f.�H�I�F8I�VPH9�$8��6�D�|$;D��$��OH�B��I�FP�B����?	�I�vD����B���M6A�^8��9����I�VPH;�$8�36H�BI�FP�:�����v�E��t�� t���;"�B��H������%�	��z�I�VP��?	��{���H�I�F8�D$h����(E�F8I�FPH��$8H9��V>H�PI�VP�H�ƒ�H����������u>銲�I�FPH9��>H�HI�NP�H����H���������=��D9�v�������$f����@H;�$Hw��$�������DŽ$�f�����1����p��H�������	��p�I���?	�A�N@�U����A������%�	��qI�F��?	������`���=_���������	�����I�FpH����PH��$�H�L$@H�H��H�\$`H��[4�ډ�$�f1ҁ�t(H�PpH�����OH�z4H�
f1���u�H�T$`I�VPH�PPI�V`I��H�H�P`������$����k������D��$�E�����������$f���v?H;�$Hw��$��������DŽ$�f�����1�鄾����$f���)?H;�$Hw��$����Z���DŽ$�f����1��>���H9������ȱ��I�VPH��$8H)�H����PH�r�HI�vP:
��OH��I�������$f���MQH;�$Hw��$����ν��DŽ$�f�����1�鲽����$f���>H;�$Hw��$��������DŽ$�f�����1��l�����$f���d=H;�$Hw��$����B���DŽ$�f���g�1��&�����$f���=H;�$Hw��$��������DŽ$�f����1������$f����<H;�$Hw��$��������DŽ$�f���-�1�隼��I�~PH��$81�H9������D��$�H��$��>�������鑳����$f���lNH;�$Hw��$����7���DŽ$�f���"�1�������$f����DH;�$Hw��$�����DŽ$�f�����1��ջ����$|�ID��$f�������H;�$HwD��$�E���z���DŽ$�f���e���L�<$�,���DH��H��I�VPI�釞����$f����4H;�$Hw��$����:���DŽ$�f����1�������$f����PH;�$Hw��$�����DŽ$�f���>�1��غ����$f����FH;�$Hw��$��������DŽ$�f�����1�钺��I�FM��I��#��A9�sYH��$8H9���9A�~@�9�t=E�NDD9�t4��H�BD)�H��H9���9�9�tH��D9�tH��I�FPH9�uۃ|$<�=���I�FI9FP�/���I�.A�FHE1�M�����f�H�l$ I9�w �����H9���H��I9�tHH��$(��$���uۋ�$�H�H9�r�H����$�H)�@82uƒ�t��$�@8zu�H�l$ ���D��$�E������閺��D��$�E���+��逺��D��$�E�������j���D��$�E������T�����$��������@�����$��������,�����$����k��������$�����������D��$�E���Q�����D��$�E���K���ع����$����o���Ĺ����$�������鰹����$����'��霹����$�������h���D��$�E��������r���D��$�E������\���D��$�E���1����F���D��$�E��������0���D��$�E������������$f���q5H;�$Hw��$��������DŽ$�f����1�餷����$f���B8H;�$Hw��$����z���DŽ$�f����1��^������wH��$�A�������E1�鉵��H�����E1�����1�����H��$0���>��I�VPH9���OH�J�H��I�NP�J����u�H��I�VPH���	����t���HX@�=���L��$�H��$L��L���!����Å���������H��$II)F����I�VPH;�$PvH��$PI�UPI�VPL��L)�I�V I�U�Jf����Hʀ:xuI�U�Bf����H€:xt�I��8|���A�VI��y�?���M��tI�]PI9^P�,�����{�6�A�FHE1�M������<
��QH;�$8s�
uH��I�~PI�.A�FH!E1�M������餵��I�VPH;�$PvH��$PI�UPI�VP�]����Uf����A;Vh���H��$(A�Vl�D�I�UPI��H)�H���I�VPH)�H���I;Fx����H��I�Fx���I�vPI�}P��$�����Å����������L��$8L9���A�vDH�
FL����΁�����|$;���� ��p��A�����?	�L���f.�H��9����>9�v�A�~@uJLЃ�I�FP9�v<L9�r���$f��t*H9�$Hr��$���tDŽ$�f���4��|$<�E���I�FI9FP�7���I�.A�FH�E1�M���	��I�FPH��$8H9�����H�=�L�
��H�5�L����H�h��I�nP�@����?	�A����A��@���A��H�A�A��D�H��GH�@�D�A���������_��	�@8�����A9��b�I�FPH9���H�PI�VP��Ձ��v��|$;�y����� �V������v7�h��H�������	��h�I�FP��?	��<���I�VPH��$8H9�����D��`�����_���=����	���A����8��<���A9��%�I�VPH9��þH�BI�FP���=�v(�|$;t!� �UH�z��I�~P�R%���?	Љƒ�߃�@t	��$�m�����I�NPH��$8H9��˨A�H�= �L�
�H�5�kH�i��I�nP�I%���?	ȉ�����Hc�A�I���H��GH�@�D�9���A����8��\�A��E9��D�I�NPH9��C�H�AI�FP���=�v��|$;t�� �r������2�i��H��������	��i�I�NP��?	��X���I�nPH��$8H9�����H�=.�L�
'�H�5 L�9��nL�m��M�nP�m%���?	����Hc�A�,i���H��GH�@�D�A9�@��A����@8��Y���A9��B�I�nPH9���H�EI�FP�EA��=�v��|$;t�� �m������:D�m��H����A��A��D	�D�m�I�nPA��?D	��L���I�VPH��$8H9�����H�=)�L�
"�H�5L�4��rH�j��I�nP�R%���?	Љƒ���Hc�A�Q���H��GH�@�D�A�������A����8��)���A9���I�VPH9���H�BI�FP���=�v��|$;t�� �k������9�j��H��������	��j�I�VP��?	��Q���I�NPH��$8H9��N�A�H�=(�L�
!�H�5�jH�i��I�nP�I%���?	ȉ�����Hc�A�I���H��GH�@��9���A����8��ڭA��E9��NI�NPH9��ǭH�AI�FP���=�v��|$;t�� �s������9�i��H��������	��i�I�NP��?	��Y���I�vPH��$8H9��N��f��� ���=���=���=�����L�����L�
���H�=�Hc�A�4r���H�A�AH�4@H���D��<�@��A����@8���M��A9�����I�vPH9��NMH�FI�FP���=�v(�|$;t!� �3H�~��I�~P�v%���?	�=t*����=) ��
=_ t=0t=/ �!���A���p���1�����I�VPL��$8I9���h�H�=�L�
��H�5��uH�Z��I�^P�R%���?	Љƒ���Hc�A�Q���A��H����GH�@�T��B�<������	�8���h��A9��whI�VPL9��hH�BI�FP���=�v��|$;t�� �h�����hH�Z��H��������	��Z�I�VP��?	��N���A����PI�FPH��$8H9��eP��!H��I�FP��A9���PI�FPH9��=PH�PI�VP����v׀|$;t�� t���DH��I�FP��[���H��$8H9���OA�~@@���N��$��D��`���A��_�A��������D	���@8�����L���I�FP9������H9��NO�A�ȁ���
�|$;�
�� �D�@����A��?D	�A�A��A���A��@�`������Ef�����D�I;Fx�����I��ƀ�������q���1�鑪��1�銪��A�~h����V����M�ED��$f��f������L��A����H�$f��u����f���H��
����f����9�u��B���<
�F���<
�M�<��E�1�����<
�6�<
����<��&�1���< ��<���<	��1��ѩ��< ���<����<	����Ԫ��<���<��E<
���鷪��H��$�����1��~���H��$�����1��e���A�Vh����!����Ef��f����Z�����9������J����u�E��$f��f���������ǃ�H�$f���ů��I�~x���fD��H�������f���ɍL	�H9�s�I��΀�t��ϯ��I�VPH��$8H9���H��9�L��H�BI�FP���=�v(�|$;t!� �2
H�J��I�NP�R%���?	�L����H��9���	�
9�v�A���'c��A9��pcI�VPH9�r���$f���OcH;�$Hw��$������DŽ$�f���ǝ1��ɧ�����L��$8I9����A�~@H�=��A��L�
��H�5�	L�����|$;���� ��h������?	�A��A��A��A��Mc�G�,iA��E�Mc�F�,oO�lmF�l�G�,�A��A��A�Ń�_��D	�A8����H��I�FP9����I9������́���W�����x���H��$����1��̦��H��$�����1�鳦����$f�����H;�$8���D��$�E������$����:�$����DŽ$�f�����L�<$���f.�H��$���]�1��'���H��$���D�1��������L��$8L9��O�A�~@E�nD@��H�=�L�
��H�5���|$;���� ��D�@����A��?D	�A�A�ʃ�A��Mc�G�QA��D�Hc��OH�I�L�D9���@8��,�L���I�FP9���L9�����A�ȁ���l���A�����H��$8H9���A�~@E�nD��$�H�=�L�
��H�5�L����|$;���� ��D�@����A��?D	�Mc�A�˃�A��Mc�G�YA��D�Hc��OH�I�L�E9,���:�$��E�L���I�FP9��3�H9��_��A�ȁ���j���A���
�L��$8L9��#�A�~@H�=*�A��L�
�H�5��|$;���� �AD�X����A��?D	�A��̓���Hc�A�,i���Hc��OH�I�l��M�����@��@��	�D8��f�L؃�I�FP9��T�L9��u��A�ˁ���c���Mc���.�H��$8H9���E�F@�[�|$;t]�@�� t!�@��t�@��t1Ƀ�����A�����HcɃ�H�I�FP9����H9�����0@���w�������H��$8H9��o�A�~@H�=ƭA��L�
��H�5�L�ͪ��|$;���� ��D�@����A��?D	�A�A�˃�A��Mc�G�YA��D�Hc��OH�I�L�A�������A8����L���I�FP9����H9�����A�ȁ���e���A�����H��$8H9�����Gf��� ��{��������������A��L�����L���A��L�
��Mc�G�CA��D�Hc�A�JL�IH�
lB�L�A�<�A��A�~@��A8���H���I�FP9����H9��G���;�|$;�0�� �P�x������?	����t.������) �c��_ t��0t��/ ����A�~@�h����r��l�L��$8L9����A�~@E�nD@��H�=��L�
}�H�5v��|$;���� ��D�@����A��?D	�A�A�ʃ�A��Mc�G�QA��D�Hc��OH�I��D9���@8����L���I�FP9����L9����A�ȁ���m���A�딋�$�H�H9�����H����$�H)�@8:�������
���$�@8z������@H��H��$(�����( �����D���A��
��������D�A�A����������=( ������
�)���p���������A;^8������A���A�~@�n���A��6���������B��H�����z�����%���?	�	��z�I�VP����	��$��A���W���1��t���@H��A�H���{�������H�l$ H�D$ �x�
�O�����$������<���H�\$ I9��.���1��;
��H�H�\$ ����f�A���E1�H��H��������놃�A;^8����1��ŝ��D��$f����H9�$Hr��$��������DŽ$�f����1��z���@���E�P��H��������	��x�I�FP��?	�������$f����H9�$Hr��$�������DŽ$�f�����1������$�L��H��H)ډ��W�H����~�����L��$�A�v@I�~(L��$L��L���m��������H��$8I�FP��$f���>�H9�$Hr��$����r���DŽ$�f���!C1��V����D$L�v��H�PI��H�H���b��A�V8H�����A�V<H������D$<�L���H�D$0L�h �°��1����1������A����A���%D	�D�JA��?D	�D�JA��A��D	�A��m�������p��A������	��p��?	������$�������$�H)�H9�w��$�@87��������m���I�~P�������J��H��������	��J�I�VP��?	����B�(����H����%��z���	��J��������?	�	��z�I�VP����	��K�������x�������	��x��?	�������$����w/��$�H)�H9�w��$�@87�ZW�����q���I�~P�[���|$<�����K}�����	�~��H��������	��~�I�vP��?	������	 �H��H�������	��H�I�FP��?	��������A����A���%D	�D�JA��?D	�D�JA��A��D	�A��|������AD�@����A��A��D	�D�@A��?D	�A��c�D�|$hH�yE�����H9�$PsH��$P��$���	���_�������L�
���H�=����H�5�L�	�Hc�A�I���1�Hc��WH�R�T�A��������E������RD�@����A��A��D	�D�@A��?D	�A��=���1ۃ�	�/����_�������H��I�FP������3�H��H�������	��H�I�FP��?	��4��A�F8E1����ހ��M�NPL��$8M9�����H� uvI�I��I�NPA�I%���?	�=�v8��n���A;~8�_M�NPM9��6I�AI�FPA���=�w����������r�1��u���D�u-A�I��I��������	�A�I�M�NP��?	��s�����A�I��I��%�����	�A�I���?	�A�I�M�NP����	��,�����$f����H9�$Hr��$����Ζ��DŽ$�f�����1�鲖����/ �q�������_ �_�����0�S���1�遖����$�H��H�����H���!x���	�����	�B�������%�	��z��?	��'~����A�I�����I�����%	�A�I���?	�A�I������	�A�I�M�NP����	��
�������J��H��������	��J�I�VP��?	������ ��
�b���1�鐕��@���H*�P��H��������	��x�I�FP��?	��{�����R-�H��H�������	��H�I�FP��?	��O����f&�J��H��������	��J�I�VP��?	����H9��Y���1�������!-D�@����A��A��D	�D�@A��?D	�Mc������,D�X����A��A��D	�D�XA��?D	�A���A�~@����1��s��������h�������	��h��?	�������3�H��H�������	��H�I�FP��?	��+������i����Y'��������T���1��֓������.�H��H�������	��H�I�FP��?	��Q������8D�@����A��A��D	�D�@A��?D	�A�����$�J��H��������	��J�I�VP��?	��������E�������1���������.�z��H��������	��z�I�VP��?	���H�D$0�@L����鏧�����o�H��H�������	��H�I�FP��?	������@�J��H��������	��J�I�VP��?	������( ���!���1��O���1��H���1��A���1��:���1��3���H����$f����H;�$Hw��$�������DŽ$�f���J�1��������+D�@����A��A��D	�D�@A��?D	�A����|$<�������t�����n#�H��H�������	��H�I�FP��?	��b����/ ��w5�� 1ۃ�
�����I���f���( �������1��*�����_ �+}��0�ݏ��1�����H��$IFP�t��A���A����A���%D	�D�JA��?D	�D�JA��A���D	�D�JA��A��D	�A�頲������~��H��%�����	��~���?	��~�I�vP����	������p�����H�������	��p���?	��p������	��p�I�����	�A�N@�{���Pf����A�V8�Pf��f���ʺ����E�H�
e�H��A�V<�P�I���bHcҋ��\$<�Jw��I������H�T$ �p��H��$��2�x�189�փH��I�VP�u���������H��$��ҹ��������Q�B������z����%���?	�	��z����	��w��H�|$ ��$�H���g���$�H�D$ ��$�H����o��L�|$ ��$���o���H"f����A�N8�H$f��f���������E�H�=.�H��&A�N<�H�I���bHcɋ��\$<�<w����$�H�H9��{"H��1���$�H)�@82�Q������'�����$�8B�7�������f�A9���H��$8H9��3zH�PI�VP�8�����v+�|$;t$@�� ��H�P��I�VP�@����?	�I�vPD��$�E1�H��$(��w��H��$8I�FPH9�ry��$f��t9H;�$Hw
D��$�E��tDŽ$�f����y��A;^<��y�|$<�{p��I�FI9FP�mp��I�.A�FH�E1�M���?������A;^<�
���뾐@���>�P��H��������	��x�I�FP��?	�����A�N<9��p���T$<����rI�VPI�~(I�VI����I+���I�V9�������XA�L��$�H��$�IFPA9^<vOE1�I�~(��A�v@�C�I��L��L��$��0]������H��$I9Fu�IFPA;^<r�E���'���A��E�N<I�.A�FHE1�M���%���DH�~�HI�~P�6@8������ ����H��$�@:4
����1��ދ��fD@���o�P���xH����������?���	�	��x�I�FP����	����L�<$���������A��	������%�	��q��?	��q�����	��qI�F����	��wy���|$<������An��H�BPI9FP�
p��L�<$�������f��������$f���8yH9�$Hr��$����ϊ��DŽ$�f����y1�鳊������ �p��A��������	��p��?	��p����	���������J��H��%�����	��J���?	��J�I�VP����	����@����P���xH����������?���	�	��x�I�FP����	�鹬����$f�������H9�$HrD��$�E�������DŽ$�f���|���L�<$�Gm�����$f���n���H9�$Hr��$����U���DŽ$�f���@���L�<$�l���L�l$PH�\$ �߰��1��*���A����A����A���%D	�D�JA��?D	�D�JA��A���D	�D�JA��A��D	�A�鑲������H����%?�z���@	��J��������?	��J������	�	��z�I�VP����	����A������a��A�����a����~I�n������A�F8I�I�nM��H���D�8�EA�FH�A��H��#���A����a��A�����a�������x���������	��x��?	��x����	�������Z�W��H��������	��W�I�~P��?	����I�FPH;�$8s
�8
uH��I�FPI�.A�FH�E1�M���i������D�@����A��A���A	��H��?D	�D�@A��A��D	�A���1��
������P�&�����xH�����������	��p������?	�	��x�I�FP����	�鍩��1�鯆��D��$�H��$��j������K����J�5�����H�����%	��J���?	��J������	��J�I�VP����	�����A��D�@��tA������A���A	��H��?D	�D�@A��A���A	��H����D	�Mc��x�1��څ�������xH������?��@��	��p������?	��p������	�	��x�I�FP����	��X���������r��H�������	��r�I�VP��?	��N������{D�@����A��A���A	��H��?D	�D�@A��A��D	�Mc�������~�ӎ����H�����%	��~���?	��~������	��~�I�vP����	��m��H��$�I9��p�����$f���_���L;�$Hw��$����F���DŽ$�f���1���L�<$�h��fD�uU�J��H��%�����	��J���?	��J�I�VP����	�驶��I�FPH;�$8�b�1�������J�F�����H�����%	��J���?	��J������	��J�I�VP����	��<�����$f���.xH;�$Hw��$����y���DŽ$�f���1i1��]���~4��$f��t'H��$HH9�$8vDŽ$�f���ʇ����$�������$� ��v��1�����H�pI�6H�q�@I�vP:��mH�B�I�FH����e��I�H��H�JI��
I�VPH�rI�vP:
t�1�鲂������mI�F�u������m�r��H�������	��r�I�VP��?	���~��1��a���1��Z���1��S�����$f���=tH9�$Hr��$����)���DŽ$�f���t1��
��������H��H���������	��H���?	��H�I�FP����	���������H��H�������	��H�I�FP��?	�銼��������@%?	��q��?	��q�����	��q�����	��qI�F����	��o�����H�Bs����H�������	��H���?	��H������	��H�I�FP����	��������7v�H��H���������	��H���?	��H�I�FP����	�陻���|$<�Ó���c����$f���\��H9�$Hr��$����C��DŽ$�f���.��L�<$�c��f.����2z�r��H�������	��r�I�VP��?	��}��1�����1����1����1���������w����$�8B�����v��1��������Gi�~��H�������	��~�I�vP��?	��ru��1����@�����J��H������A�����z�I�VPD	���?	��t��1��J��1��C��1��<��1��5��1��.������H����?��@	��p���?	��p������	��p������	��p�I�����	�A�N@�dj����/�i��H��%�����	��i���?	��i�I�NP����	����1��~��1��~�����2H��I�FP�$�����$f�����L9�$Hr��$����B~��DŽ$�f����w1��&~�������r��H�������	��r�I�VP��?	��sy������J��H��%�����	��J���?	��J�I�VP����	�骱��H�BI�FP���=�v!� ��H�r��I�vP�R%���?	�I~I�>9���`����L�
q���H�=h�����A�Q���H�5Q�Hc��WH�RL�9��M`��1��#}������I����?%@	�A�I���?	�A�I������	�A�I������	�A�I�M�NP����	���A��D�@��lA������A���A	��H��?D	�D�@A��A���A	��H����D	�A��9��H9�v*�Q����t�������u	H��H9�u���ց������ �:t�I������?	����1��|��1��{��1��{����B�.��������%��z��	��J�������?	�	��z����	��c��1��{�������h��H���������	��h���?	��h�I�FP����	����1��P{��E�F8�d��H�HH����HE�I�FP�������D�@����A��A���D	�D�@A��?D	�D�@A��A��D	�A����A����A��?%@D	�D�JA��?D	�D�JA��A���D	�D�JA��A���D	�D�JA��A��D	�A��}���A��D�@�wA����A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��D	�A��:�����!q�r��H�������	��r�I�VP��?	��q�������H��H���������	��H���?	��H�I�FP����	�鞦�����i��v����H�����%	��i���?	��i������	��i�I�NP����	��b�����H��p����H�������	��H���?	��H������	��H�I�FP����	�������J�'q����H�����%	��J���?	��J������	��J�I�VP����	�霬�����h�SY����H�������	��h���?	��h������	��h�I�FP����	����A����A��?%@D	�D�JA��?D	�D�JA��A���D	�D�JA��A���D	�D�JA��A��D	�A�驡��1���w��H��$I���H�XxH���H��$�H��H���l��H�CxI�FxH�C`I�F`I��Pf����H�I��8xt��!w��1��ww��1��pw������]�q��H�������	��q�I�NP��?	��sq�����A^�q��H�������	��q�I�NP��?	���k������c�q��H�������	��q�I�NP��?	��p�����g�Z������?	��B��%�	��~��A�����P��1��v������
�h���������	��h��?	��h����	���������H��H���������	��H���?	��H�I�FP����	��m�����$f������H9�$Hr��$�������DŽ$�f������L�<$�uY��fD���D�m��H��%A��A���A	��E���?D	�D�m�I�nPA��A��D	��������j��H��%�����	��j���?	��j�I�VP����	��F��A��D�m�UA����H��%A���A	��E���?D	�D�m�A��A���A	��E�I�nP��%�D	��������j�du����H�����%	��j���?	��j������	��j�I�VP����	��������i��H��%�����	��i���?	��i�I�NP����	��J��M���ы��1��*t��1��#t��=��Hu������
�����1��t��=������� �q��b��	�b�1���s��=���t��H��$�����<�1��s��=��*�H��$������1��s��=���w��
�����1��ss��1��\s��-( �����1��Ws�����x�$d���������	��x��?	��x�����	��x����	�����=�t������ �t����=���s��=��K�1���r��=���s��H��$�����%�1��r��=���H��$�������1��|r��-( �����1��gr����
����
��
����is��f��$���1��3r��=��Hs��H��$�������1��
r��=��~�H��$�����j�1���q����$f���R�H��$8I9^P�@���$����1���$��#���$�9���DŽ$�f�����L�<$�U��f��uv�W��H��%�����	��W���?	��W�I�~P����	��|�����	���1�� q��=/ �5r��vq=_ �(r��=0�y�1��p�����W�b����H�����%	��W���?	��W������	��W�I�~P����	����- ��
��1��p��=����=����1��pp��=/ ���w;- ��
���1��Np��=�������]q��-( �����1��(p��=_ ���=0���1��p�����ZU�q��H�������	��q�I�NP��?	��d���HI�Vpf����H���tIL��$�H�|$@I�H�߉�H�\$`H�4;��;S4u�0fDM�I�49A9Q4tL�NpI���u�L�<$�������L�L$`L��$(A�Nl�T	�H�NPI�<�L)�H���I�NPL)�H���I;Vx��n��H��I�Vx��n����$����ef����$��Wf����$�8�Gf��DŽ$�f���2f��L�<$�sR��@1��n������J��H��%�����	��J���?	��J�I�VP����	��
���1��nn������J��H��%�����	��J���?	��J�I�VP����	���������H��H���������	��H���?	��H�I�FP����	��٠��1���m�����J�EV����H�����%	��J���?	��J������	��J�I�VP����	��V�����$f���T^H;�$Hw��$����_m��DŽ$�f���lV1��Cm�����H�V����H�������	��H���?	��H������	��H�I�FP����	�������J��O����H�����%	��J���?	��J������	��J�I�VP����	��/���1��l��1��l��D��$�H��$��G������]e��L�<$�����������P�Y�����xH�����������	��p������?	�	��x�I�FP����	��2��I�FPH;�$8��R��1���k��1���k���y�������uH���>������t�@��@�����i��@�� �HL�~������?	��pi��L�|$X��C�����h�=P���������	��h��?	��h�����	��h����	�����@���;�P��H�����x����������?	�	��x�I�FP����	�����D��$�H��$��~�������1���j������p�r��H�������	��r�I�VP��?	��f��A�����$A��
��~��H��^D��Hc�H�>����$f���|���H9�$Hr��$����c���DŽ$�f���N���L�<$��M��1��!j�����p�w%����A������	��p��?	��p�����	��p����	��/���A9���H��$8H9�wK�$� u{D�B��%�A��?D	�A�=�v1A�~IntCLƒ�I�VP9�v5H9��w$�A��=�w�A�A��M�V��A��G�
A��r��|$<�ry���TL�����D�B����A��A��D	�D�BA��?D	�A��g��������xH������?��@��	��p������?	��p������	�	��x�I�FP����	���������D�X����A��A���D	�D�XA��?D	�D�XA��A��D	�A��}����$f������H9�$Hr��$����v��DŽ$�f���a��L�<$�K��f������H��H���������	��H���?	��H�I�FP����	�������cD�@����A��A���A	��H��?D	�D�@A��A��D	�A�����1��fg�����D�B��%A��A���D	�D�BA��?D	�D�BA��A��D	�A�������&H��I�FP�-���1��f�����H�^m����H�������	��H���?	��H������	��H�I�FP����	��ϛ��A��D�B�-JA����A���%D	�D�BA��?D	�D�BA��A���D	�D�BA��A��D	�A����1��>f������D�@����A��A���A	��H��?D	�D�@A��A��D	�A��B���A��D�X�iA����A�����D	�D�XA��?D	�D�XA��A���D	�D�XA��A��D	�A����A��D�@��A������A���A	��H��?D	�D�@A��A���A	��H����D	�A���������H��H���������	��H���?	��H�I�FP����	�陒��H�xH����HE�I�FP������i������H�����%	��i���?	��i������	��i�I�NP����	�鏵�����H�(!����H�������	��H���?	��H������	��H�I�FP����	��ؑ�����z��H��%�����	��z���?	��z�I�VP����	�陱��<��
e��f��$�
���1���c����F�Z��H��%�����	��Z���?	��Z�I�VP����	��Ͷ�����H��F����H�������	��H���?	��H������	��H�I�FP����	�鍑��@���U �P��H��������	��x�I�FP��?	��]�����P�
E����H��������x���	��H��������?	�	��x�I�FP����	��‘�����z������H�����%	��z���?	��z������	��z�I�VP����	�����A��D�@�:FA������A���A	��H��?D	�D�@A��A���A	��H����D	�A��_���I�VPH9�����$f����`��H;�$Hw��$���`��DŽ$�f���p`��L�<$�KE��@�������$�8G��E���ѝ�����Z��E����H�����%	��Z���?	��Z������	��Z�I�VP����	��o�����u=�H��H���������	��H���?	��H�I�FP����	��������HuS����H�������	��H���?	��H������	��H�I�FP����	�鿑��A��������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��]�����$f��t1H9�$Hr��$����
`��DŽ$�f��w1���_��1���_��1���_��L�<$�C��A9�sOH��$8H9���H��$���t-��H�HD)�H��H9�t�H���tH��I�NPH9�u�|$<�0e���B��A9�s�H��$8H9���H��$���uɃ�H�HD)�H��H9�t^�H���u�H��I�NPH9�u����$f��t�H9�$Hr��$��u���DŽ$�f���`���L�<$�B����$f���F���H9�$Hr��$��.���DŽ$�f������L�<$�CB��@A9�����H��$8H9���H��$���������H�HD)�H��H9����H��������H��I�NPH9�u����A9������H��$8H9���H��$����t�����H�HD)�H��H9�ti�H����O���H��I�NPH9�u��>�����$f���-���H9�$Hr��$�����DŽ$�f������L�<$�*A����$f�����H9�$Hr��$�����DŽ$�f�������L�<$��@��@A9������H��$8H9���H��$����}�����H�HD)�H��H9����H����T���H��I�NPH9�u��C���A9��:���H��$8H9���H��$���������H�HD)�H��H9�ti�H������H��I�NPH9�u�������$f������H9�$Hr��$������DŽ$�f�������L�<$��?����$f�������H9�$Hr��$��n���DŽ$�f���Y���L�<$�?��@��$f�������H9�$Hr��$����y���DŽ$�f���d���L�<$�7?�����$f��t1H9�$Hr��$����Z[��DŽ$�f��w1��B[��1��;[��L�<$��>��f�1��)[��E1��{~��H��$8�I�VPH9�s@H�BI�FPH9�v&�R����t
������u
H��I�FPH9�u�D9�v��~����$f��t5H;�$Hw��$�����Z��DŽ$�f����1��Z��1��Z��L�<$�(>��A����A��?��@D	�D�XA��?D	�D�XA��A���D	�D�XA��A���D	�D�XA��A��D	�A��>�����$f���ԥ��H9�$HrD��$�E�������DŽ$�f�������L�<$�w=���A������@A��?A	��H��?D	�D�@A��A���D	�D�@A��A���A	��H����D	�A�鯴��H��$HH��$�H�D$ H��$��t��L�<$��<��H�A�FHE1�M���(n������H����?%@	��i���?	��i������	��i������	��i�I�NP����	��۩��H��$8��+�� t�����t�������D9���{��I�FPH9��VH�PI�VP�8�����v"@�� un����H�xI�~P�x����?	ׁ�t�v���/ t�v(��_ t���0t�1��!X�����	�{���1��X�������
�e���1��W��@����P��H������A�����x�I�FPD	ʃ�?	��u���H��$8����	���D9���z��I�FPH9��H�PI�VP�8�����v&@�� ������H�xI�~P�x����?	ׁ��w/�� �v����������{���1��W��D��/ tyw�����
�V���1��V�����_ �I��0�/���1���V���@�����P��H������A�����x�I�FPD	ʃ�?	��B���1��V����$f��t5H;�$Hw��$����jV��DŽ$�f���1��NV��1��GV��1��@V��1��9V��1��2V��f�@�����P��H���������	��x���?	��x�I�FP����	����@�����P��H���������	��x���?	��x�I�FP����	��V���1��U��1��U�����P������H�������	��x���?	��x������	��x�I�FP����	����L�<$��8��fD���P������H�������	��x���?	��x������	��x�I�FP����	��������H����@��?	��x���?	��x������	��x������	��x�I�FP����	��/�������H����@��?	��x���?	��x������	��x������	��x�I�FP����	������$f��t5H;�$Hw��$����T��DŽ$�f���C
1���S��1���S��@H��$8H��$��I�FPH9����������H����I�FPD9�v���v��H��$8H��$��I�VPH9�s[���x
���H�BI�FPH9�v0�R����t�"f.������u
H��I�FPH9�u��D9�v��ov����$f��t1H;�$Hw��$�����R��DŽ$�f��w1���R��1���R��L�<$�|6��1���R��1��R��1��R����$f��t1H;�$Hw��$�����R��DŽ$�f��w1��zR��1��sR��L�<$�6��f.�H��$8H��$��I�FPH9��	����	���H����I�FPD9�v��hu��H��$8H��$���;L�J��M�NPD�J%�A��?A	�A��w
D������D9��u��I�VPH9���H�BI�FPD�
D��A���v�� t��u8�BH����%�A��D��D�J�I�VP����A��?D	�A	��1��]Q������BH����%�A��D��D�J���%A��?D	�D	�D�J�I�VPA��A��A	��+�����$f��t1H;�$Hw��$�����P��DŽ$�f��w1���P��1���P��L�<$�m4��fDH��$8���G�����
��D9���s��I�VPH9���H�BI�FP�:�����v� u5H�z��I�~P�z%���?	ǁ��t�v��������v�1��6P����>�BH����%�A�����z�I�VP������?D	�	��H��$8���G�������D9��.s��I�VPH9���H�BI�FP�:�����v� u<H�z��I�~P�z%���?	ǁ��tPv��������w�1��O�������BH����%�A�����z�I�VP������?D	�	��1��<O����$f��t5H;�$Hw��$����O��DŽ$�f����1��N��1���N������BH����%�A�����z���%��?D	�	��z�I�VP����	��U�������BH����%�A�����z���%��?D	�	��z�I�VP����	�������B������H����%�	��z���?	��z������	��z�I�VP����	������B������H����%�	��z���?	��z������	��z�I�VP����	���������H����@%?	��z���?	��z������	��z������	��z�I�VP����	���������H����@%?	��z���?	��z������	��z������	��z�I�VP����	��q���1��M��L�<$�0����$f��t5H;�$Hw��$�����L��DŽ$�f����1��L��1��L��H��$8H��$��I�FPH9����������H����I�FPD9�v��o��H��$8H��$��I�VPH9�s[���x
���H�BI�FPH9�v0�R����t�"f.������u
H��I�FPH9�u��D9�v��?o����$f��t1H;�$Hw��$�����K��DŽ$�f��w1��K��1��K��L�<$�L/��1��K��1��K��1��K����$f��t1H;�$Hw��$����bK��DŽ$�f��w1��JK��1��CK��L�<$��.��f.�I�~PH��$8�H��$�H9��I��$������$�H)�H��1�H9�w��$�@87�2������I�vP��$H�Ff��tzH9�$8����$����%I�FP��A;^8��m��I�~Pf����H;�$Hw��$����eJ��DŽ$�f���1��IJ��f�H��$8I�FPH9�s��v��@���uH��I�FPH9��y����0��@���t��A9^8�Hm��I�~P���I�FPH��$8�H��A��]���������$�1���L�<$�^-�������������$�8G�������1��}I��D��$�������$�8�����DŽ$�f�������L�<$��,��1��5I��L�<$��,��1��%I����$f��t1H;�$Hw��$�����H��DŽ$�f��w1���H��1���H��L�<$�,��1���H����B�G��A��H��A��%�D	�D�J�A��?D	�D�J�A��A���D	�D�J�I�VPA��A��A	����H��$8��$�I�VPH9���H�BI�FPD�
D��A���v$� ��L�J��M�NPD�J%�A��?A	�A��
tLwA��
u;��D9�v��Jk��fDA���trLA�������w9f��u�1���G��@s�1��G��I�FPH9�v��8
u�H��I�FP��1��G��1��G����$f��t1H;�$Hw��$����lG��DŽ$�f��wK1��TG��1��MG��D�u=�BH����%�A��D��D�J�I�VP����A��?D	�A	����L�<$�*����'�BH����%�A��D��D�J���%A��?D	�D	�D�J�I�VPA��A��A	����1��F��L�<$�U*��fDH��$8D��I�FPH)�H9�wtH�I�FP��i����A��H��A��@%?D	�D�J�A��?D	�D�J�A��A���D	�D�J�A��A���D	�D�J�I�VPA��A��A	��4�1��F��1��F��L�<$�)��fDA�~@ty�|$h���q����D$h�D$<������Buk��A��H��A��%�D	�D�J�A��?D	�D�J�A��A���D	�D�J�I�VPA��A��A	��j���I�.A�FH�E1�M���mZ����A��H��A��@%?D	�D�J�A��?D	�D�J�A��A���D	�D�J�A��A���D	�D�J�I�VPA��A��A	����1��D����$f������H9�$Hr��$�����DŽ$�f���w��L�<$�^(��1��D��A�	�g������A���?��@	��p��?	��p�����	��p�����	��p����	�驏����$f��t1H9�$Hr��$����"D��DŽ$�f��w1��
D��1��D��L�<$�'��f.�A��?g��1���C��1���C��1���C��L�<$�v'���A�����6������H����?%@	��z���?	��z������	��z������	��z�I�VP����	������:
�!B��H��I�VP�B������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��p����������1���$�8G��部��@���E�P���xH����������?���	�	��x�I�FP����	��;=��H��$8�I�FPH9�s$H�pI�vP�<
r<
vf<�t[��D9�v��e����$f��t1H;�$Hw��$����&B��DŽ$�f��w1��B��1��B��L�<$�%��1��A��1���A��H��$8�I�FPH9��yH�pI�vP�< �_<���<	����D9�v��d��H��$8�D��$I�FPH9�snH�xI�~P���w��s?��
����D9�v��d��@��
uH9�v�x
u�H��I�FP��fD���ufA��u�1��%A��D1��A����$f��t1H;�$Hw��$�����@��DŽ$�f��w1���@��1���@��L�<$�z$��H��$8D��I�FPH)�H9��$�����$f��t5H;�$Hw��$�����@��DŽ$�f����1��k@��1��d@��1��]@����$f��t1H;�$Hw��$����7@��DŽ$�f��w1��@��1��@��L�<$�#���H��$8�I�FPH9�s+H�pI�vP�< t<�t<	t1���?����D9�v��c����$f��t1H;�$Hw��$�����?��DŽ$�f��wc1��?��1��?��f����PuS�����xH�����������	��p������?	�	��x�I�FP����	���9��L�<$��"�������xH������?��@��	��p������?	��p������	�	��x�I�FP����	��9��1���>��1��>��1��>��H��$8H��$��I�FPH9�si�8�9tYH����I�FPD9�v���a��H��$8H��$��I�FPH9����8�9��H����I�FPD9�v��a��1��/>����$f��t1H;�$Hw��$����	>��DŽ$�f��w1���=��1���=��L�<$�!���H��$8H��$��I�FPH9�si�8�9tYH����I�FPD9�v��`��H��$8H��$��I�FPH9����8�9��H����I�FPD9�v��`��1��Y=����$f��t1H;�$Hw��$����3=��DŽ$�f��w1��=��1��=��L�<$� ��H��$8H��$��I�FPH9�si�8�9tYH����I�FPD9�v�� `��H��$8H��$��I�FPH9��l�8�9�XH����I�FPD9�v���_��1��<����$f��t1H;�$Hw��$����[<��DŽ$�f��w1��C<��1��<<��L�<$����I�~PH��$8��$H9����H��$���$�������$�H)�H��1�H9�w��$�@87�B�����&��$f��u2I�FP��H�xI�~PA;^8��^��H��$8H9�w�1��;��DM�~PI�H9�$8w��$���u��$���I��CI�~PA;F8��^��f��t�H;�$Hw��$����*;��DŽ$�f��w@1��;��f�E1�H����N�����(���I�~P��A;^8�6^��H��$8����L�<$�����$�A8�b���DŽ$�f���M���L�<$�P��1��:��1��:����$f��t1H;�$Hw��$����m:��DŽ$�f��w1��U:��1��N:��L�<$����1��>:����$f��t1H;�$Hw��$����:��DŽ$�f��w1��:��1��9��L�<$���1���9����$f��t1H;�$Hw��$�����9��DŽ$�f��w1��9��1��9��L�<$�J��L�<$�A��f�����������$�8G����������uWH��$8��$I�VPf��t%H;�$Hw
��$�tDŽ$�f��w�|$<��@���<��L�<$���A9�s�H��$8H9�vSH�HI�NPH9����x��@����^H����	H������uH��I�FPH9�u��9�t�I�FPH9�w���$f���q���H9�$Hr��$��Y���DŽ$�f���D���L�<$���@A9��.���H��$8��$H9���H��$���$������$�H)�H��H��1�H9�w��$�@88� ����������$I�FPf��t{H�PH9�$8��D��$�E���I�FP��A9^<�����I�FPf���x���H9�$Hr��$��`���DŽ$�f���K���L�<$���H��$8H�pI�vPH9�s��p��@���u$H��H��I�FPH9��w����6H����@���t��A9^<���I�FP����H��A�H����J������I�VPH��$8댺������1���$�@8x�������$������$�@88����DŽ$�f������L�<$�-����9��J���H���m�����H��9�������/����A9�����H��$8H��$�H9�r\�DA�� udD�@��A���A��?A	�A�������D�������Lȃ�I�FP9������H9�sUD�D��A���w�A���A�����H����A��D��D�@����A��?D	�A�A	��z�����$f���G���H9�$Hr��$��/���DŽ$�f������L�<$����f.�A9������H��$8H��$�H9�rK�DA�� ubD�@��A���A��?A	�A���v-Lȃ�I�FP9������H9�sdD�D��A���w�A�D���t��z���A�����H����A��D��D�@����A��?D	�A�A	��|�����$f���)���H9�$Hr��$�����DŽ$�f�������L�<$����@A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	����A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	�������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	��
������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	�������A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	��B�����A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	����A9������H��$8H��$�H9�w^��A�� udD�@��A���A��?A	�A����a���D����T���Lȃ�I�FP9��B���H9�vUD�D��A���w�A���A�����H����A��D��D�@����A��?D	�A�A	��z�����$f������H9�$Hr��$������DŽ$�f�������L�<$�y��f.�A9������H��$8H��$�H9�r\�DA�� udD�@��A���A��?A	�A����A���D����4���Lȃ�I�FP9��"���H9�sUD�D��A���w�A���A�����H����A��D��D�@����A��?D	�A�A	��z�����$f�������H9�$Hr��$������DŽ$�f�������L�<$�Y��f.�A9��n���H��$8H��$�H9�rK�DA�� ubD�@��A���A��?A	�A���v-Lȃ�I�FP9�����H9�sdD�D��A���w�A�D���t����A�����H����A��D��D�@����A��?D	�A�A	��|�����$f�������H9�$Hr��$������DŽ$�f���l���L�<$�;��@A9��V���H��$8H��$�H9�rK�DA�� ubD�@��A���A��?A	�A���v-Lȃ�I�FP9����H9�sdD�D��A���w�A�D���t����A����H����A��D��D�@����A��?D	�A�A	��|�����$f�����H9�$Hr��$��i�DŽ$�f���T�L�<$�#��@A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	����A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	��s������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	��������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	������A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	��
�����A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	����A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	��p���A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	��U������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	�������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	������A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	�����A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	�����A9��w��H��$8H9�s>��D)�H�t�H��I�FPH9��L��H9�t���
r�
�6�����u��,��H����$f�����H9�$Hr��$����DŽ$�f������L�<$���fDA9��.�H��$8H9�rE�DA�H�������E1���A��A9����Lȃ�I�FP9����H9��yD�A�D��A���v!A�� uCD�@��A���A��?A	�A����+�{���A������������s���A�����H����A��D��D�@����A��?D	�A�A	��A9��:�H��$8H9�w^�;�A�� �����A���t1�A�����E1���A��A9����Lȃ�I�FP9����H9���D�A�D��A���v%A�� ��D�@��A���A��?A	�A��tW�^���A��/ tHv1�A��_ �k���1�A��0���Z���1�A��	���L���A����������7�����-���A�����H����A��D��D�@����A��?D	�A�A	��Y�����$f�����H9�$Hr��$����DŽ$�f�����L�<$�~	���A�����H�����A��D��D�@����A��?D	�A�D	�D�@A��A��A	����A�����HA��A�A�������D	�D�@A��?D	�D�@A��A��A	��i������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	�������H����A��A�A�����D	�D�@A��?D	�D�@A��A���D	�D�@A��A��A	������A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	��/�����A��A�A��@��?D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��A	�������Y�����$f���R�H9�$Hr��$��:�DŽ$�f���%�L�<$����DA9���H��$8��$H9����8A������v$@�� ����A����x����?	׃�
����
t)f������W���v���t����������I�M�FP��A;^<�s�I�FPH9��q�����$f���U�H9�$Hr��$��=�DŽ$�f���(�L�<$����H�PI�VPH9����x
tH��A;^<���H�����@��u:�P������A�����xD	�A���?	����H��I�FP�+���@�����P�������A�Љ��x��D	ƒ�?A�	��x����	����H��$8D)�H��H)�9�vT��$I�NPf���6�H;�$Hw��$���DŽ$�f���	�L�<$����f�H�I�VP������P�I����A������	��x��?	��x�����	��x����	�����A9��4���H��$8H9�s;��D)�H�t�H��I�FPH9��	���H9�t��� t��t݀�	�����H����$f������H9�$Hr��$������DŽ$�f�������L�<$����fDA����H��%@A��?A	��E���?D	�D�m�A��A���D	�D�m�A��A���A	��E�I�nP��%�D	���n������A���@��?	��x��?	��x�����	��x�����	��x����	����@��uz�~���҃�?	��~����	��������H����?��@	��h���?	��h������	��h������	��h�I�FP����	��=k��@�����~������?	��~�����	��~����	������$f���#��H9�$Hr��$����DŽ$�f������L�<$����|$h��Y���D$h�D$<I�.A�FHE1�M���E3���|$<�U��� ��@�����~������?	��~�����	��~�����	��~����	��������H������?�x���@	��H��������?	��H������	�	��x�I�FP����	��L���~����@��?	��~����?	��~�����	��~�����	��~����	��	��L�<$����L�<$��������H����?%@	��J���?	��J������	��J������	��J�I�VP����	��`P������H����?��@	��H���?	��H������	��H������	��H�I�FP����	���J��L�<$���A����A��?%@D	�D�BA��?D	�D�BA��A���D	�D�BA��A���D	�D�BA��A��D	�A��s���A������@A��?A	��H��?D	�D�@A��A���D	�D�@A��A���A	��H����D	�A��v������H����?%@	��Z���?	��Z������	��Z������	��Z�I�VP����	��n��1��F��������?��@	��h��?	��h�����	��h�����	��h����	��s����$f����f��H9�$Hr��$�����f��DŽ$�f����f��L�<$�Y���L�<$�P���L�<$�G��������q��H���������	��q���?	��q�I�NP����	����H��$IFPI�.A�FHE1�M���;/��L�<$����L�<$����I9V��!����
��!���z�
��!��H��I�VP�w!������q�����H�������	��q���?	��q������	��q�I�NP����	���
����uF�q��H���������	��q���?	��q�I�NP����	����L�<$������q������H�������	��q���?	��q������	��q�I�NP����	��2��L�<$��������q��H���������	��q���?	��q�I�NP����	��v
������H����?��@	��q���?	��q������	��q������	��q�I�NP����	�������q�s����H�������	��q���?	��q������	��q�I�NP����	�����L�<$���1�����1�����1���������H����?��@	��q���?	��q������	��q������	��q�I�NP����	���������H����?%@	��J���?	��J������	��J������	��J�I�VP����	��M������H����?��@	��H���?	��H������	��H������	��H�I�FP����	���I��L�<$�������H����?��@	��q���?	��q������	��q������	��q�I�NP����	��H��L�<$�$�����uK�~��H���������	��~���?	��~�I�vP����	����1��,��1��%�����~������H�������	��~���?	��~������	��~�I�vP����	�����xH�5��H�4��H��9�tN�>9�s��K��1�������L���V@��A������ƒ�_��1�	�@8�����i��1ۀ�����Y��L�<$�������H����?��@	��~���?	��~������	��~������	��~�I�vP����	���
��1�����1�����1�����L�<$�����uXI�F����L�<$�o�����uS�r��H���������	��r���?	��r�I�VP����	����������H��I�V�o�����r�>����H�������	��r���?	��r������	��r�I�VP����	����L�<$���L�<$���1����1�����1�����L�<$�����$f���o���H;�$HwD��$�E���T���DŽ$�f���?���L�<$�H���f��H�H���΃�@���uI�FP�H��H�@��΃�@���t�������L���� ���R��%���?	��-��I;V�����x�
�����x�
����H��I�FP����fD��u=�q��H���������	��q���?	��q�I�NP����	�������qup����H�������	��q���?	��q������	��q�I�NP����	��6����uz�J�R������?��	ȁ�	��A������H����?��@	��q���?	��q������	��q������	��q�I�NP����	���������J��%��?	��J�R���������	�	����f�1��������Sv��1���$�8G���>v��1����A������@A��?A	��H��?D	�D�@A��A���D	�D�@A��A���A	��H����D	�A��n������H����?��@	��r���?	��r������	��r������	��r�I�VP����	��G
��L�<$�l�L�<$�c�H�\$`H+\$@I���H�CxH���H���Kb��H�CxI�Fx�ClA�Fl�ChA�FhH�������� �J��%��?	��J�����	��J�R���������	�	�����A������@A��?A	��H��?D	�D�@A��A���D	�D�@A��A���A	��H����D	�A��o����`����u=�Z��%��?	��Z�����	��Z����	�����L�<$�&����Z��%��?	��Z�����	��Z�����	��Z����	��z��1��$��1����1����������?��@	��x��?	��x�����	��x�����	��x����	����m������H����?%@	��W���?	��W������	��W������	��W�I�~P����	���>��1��e��1��^��1��W���Z��%@��?	��Z����?	��Z�����	��Z�����	��Z����	��T��1��
��L�<$��1���
������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��?��H�l$ DŽ$���H�l$ �z��H��$����
�v���1��V
�����h�p�������	��pI�F��?	����D�T$hE����B���D$h�D$<I�.A�FHE1�M���"��L�<$��H�PI�VP�8�����v+�|$;t$@�� ��H�P��I�VP�@����?	�I�vPD��$�E1�H��$(���I�FPH;�$8�
����$f������H;�$Hw��$�����DŽ$�f������L�<$���@�����P��H��������	��x�I�FP��?	��V���L�<$����$f����W��H9�$HrD��$�E����W��DŽ$�f����W��L�<$�b�1����@��uF�P���xH����������?���	�	��x�I�FP����	����1��]�����P�������xH�����������	��p������?	�	��x�I�FP����	��V���fD1��
����$f���F���H9�$HrD��$�E���+���DŽ$�f������L�<$�^�����H������H�������	��H���?	��H������	��H�I�FP����	��JE����$f���V��H9�$HrD��$�E����U��DŽ$�f����U��L�<$��L�<$������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��D����$f��t1H9�$Hr��$�����	��DŽ$�f��we1��k	��1��d	��A��,��1��R	����$f��t1H9�$Hr��$����,	��DŽ$�f��w1��	��1��
	��L�<$��L�<$��A������n������r��H���������	��r���?	��r�I�VP����	����1��������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��J5�����r�����H�������	��r���?	��r������	��r�I�VP����	����L�<$����uy�q���I�����?��	�	��n������H����?%@	��J���?	��J������	��J������	��J�I�VP����	��f;�������q���������	��q�I��?��	��	��n��1��%������H����?��@	��r���?	��r������	��r������	��r�I�VP����	����@���q�����������	��q��?	��q�I���������	�	��Um��H��$�I�}PI�vP�����&X���a��1��Z��L�<$��L�<$��L�<$��������~��H��������	��~�I�vP��?	����������r��H���������	��r���?	��r�I�VP����	��@�������xH������?��@��	��p������?	��p������	�	��x�I�FP����	����fD����~��H��%�����	��~���?	��~�I�vP����	�������r������H�������	��r���?	��r������	��r�I�VP����	��H��@���~������H�����%	��~���?	��~������	��~�I�vP����	��6�������H����?��@	��r���?	��r������	��r������	��r�I�VP����	��������H����?%@	��~���?	��~������	��~������	��~�I�vP����	����1����������$�8G�����������H����?%@	��J���?	��J������	��J������	��J�I�VP����	���5��A����A��?��@D	�D�@A��?D	�D�@A��A���D	�D�@A��A���D	�D�@A��A��D	�A��
X������H����?%@	��i���?	��i������	��i������	��i�I�NP����	��P��I�FxI����I���H���-T��I�FxI�ExI�F`I�E`L��L)�I�F �N������H����?%@	��J���?	��J������	��J������	��J�I�VP����	��Y���P��������H��H��I�FPH�������t����������?��@	��q��?	��q�����	��q�I���������	�	��Oh��f.�A�
�$��1��^��A��$��1��L��1��E����$f��t1H9�$Hr��$������DŽ$�f��w1����1����L�<$���A��?$��1�����1�������$f��t1H9�$Hr��$�������DŽ$�f��w1����1����L�<$�8�f�1��y����$f��t1H9�$Hr��$����S��DŽ$�f��w1��;��1��4��L�<$���A9������H��$8H9�v>��D)�H�t�H��I�FPH9��p���H9�t���
�_�����
vـ��t��P���H����$f���<���H9�$Hr��$��$���DŽ$�f������L�<$�9�f.�A���"��L��L�l$pL�|$ E1��������H����?%@	��j���?	��j������	��j������	��j�I�VP����	��!O��1�������$f����J��H;�$Hw��$�����J��DŽ$�f����J��L�<$�j�H�hA�FHE1�M�����L�<$�M�fD��$f���ZJ��H9�$HrD��$�E���?J��DŽ$�f���*J��L�<$��fD��$f���
J��H;�$HwD��$�E����I��DŽ$�f����I��L�<$��fD��$f����I��H;�$Hw��$�����I��DŽ$�f����I��L�<$�_�A9��#���H��$8H9��7��D)�H�t�	H9��$��� ����������	�ޝ��H��I�FPH9�u��̝��A9��Ý��H��$8��$H9�vM���
����
tf��������z���v�������H��I�FP��A;^<�j���I�FPH9�w���$f���P���H9�$Hr��$��8���DŽ$�f���#���L�<$�M�fDH�PI�VPH9������x
t��A;^<��H���:���H��I�FP�d���H����$f���ǜ��H9�$Hr��$������DŽ$�f�������L�<$����DH��$8D)�H��H)�9�vK��$I�NPf���b���H;�$Hw��$��J���DŽ$�f���5���L�<$�_��H�I�VP� ���A9�����H��$8��$H9���H��$���$����	��$�H)�H��1�H9�w��$�@88������������$f��u.I�FP��H��I�FPA;^<�����H��$8H9�w�����M�~PI�GH9�$8wn��$���u��$���I�G��I�FPA;^<�<���f���3���H9�$Hr��$�����DŽ$�f������L�<$�0���I�FP��A;^<���H��$8���H��E1�H��� �������������1���$�@8x��������$�A8�<���DŽ$�f���'���L�<$����L$h����-���D$h�D$<�)�������r��H���������	��r���?	��r�I�VP����	��������H����?��@	��H���?	��H������	��H������	��H�I�FP����	��b.�����r�`����H�������	��r���?	��r������	��r�I�VP����	�������p���������	��p��?	��pI�F����	��/�L�<$�E���������� twvm���tm���te���t]�NL��A�<�������8����1��=�����L�c�V��A�������1�8������������	��w��������1�������) v[��_ t؁�0tЁ�/ �g������8X������8��V���1�����^8X������8��7���1������( �y����� ��
�
����e���L����v�HA9�������8����1��B����N��@�ƍQ����€���1�	�@8����������fD�������1������΃�߃�@����$����`�����_�@�Ɓ�����	��ɀ���8��`���1������$�L�<$����H��$�����H��$HH��$�H�D$ H��$����L�<$���@�����J��H���������	��z���?	��z�I�VP����	��|�����H����?%@	��~���?	��~������	��~������	��~�I�vP����	��H������H����?��@	��r���?	��r������	��r������	��r�I�VP����	��w���J�M����H�������	��z���?	��z������	��z�I�VP����	��z�A�F8M�����I�VxL�<$H��$@H��$I�V`H��$XH;�$PvH��$PH��$(H�\$0H)�H)�H�CX��$�H�sP�f9�$�s��$��\H�l$0�S�I���H��H�}`�CF���S�I�^xH�}PH��H�����H�KH9�wH�4�I�^x�P�H��H�KH9�s���.����o����,�PE1�A�FHM��H�H��$	������H����@��?	��z���?	��z������	��z������	��z�I�VP����	�����$f��t5H;�$Hw��$������DŽ$�f����1���1��|��u3�x��H�������	��x�I���?	����L�<$���������x��H���������	��x���?	��x�I�����	���L�<$��������r��H���������	��r���?	��r�I�VP����	���@���x������H�������	��x���?	��x������	��x�I�����	�������r������H�������	��r���?	��r������	��r�I�VP����	�������H����?��@	��x���?	��x������	��x������	��x�I�����	��?�����H����?��@	��r���?	��r������	��r������	��r�I�VP����	��Z�A��������H��$8�I�FPH9�s/H�pI�vP�<
r<
v<�����D9�v��d��1��	���$f��t1H;�$Hw��$������DŽ$�f��wg1����1����@���puX���������	��p��?	��p�����	��pI�F����	���1��k�L�<$���������?��@	��p��?	��p�����	��p�����	��pI�F����	���L�<$��������r��H���������	��r���?	��r�I�VP����	��=��������%?�z��@	��J�������?	��J�����	�	��z����	��]���J��%@��?	��J����?	��J�����	��J�R���������	�	��	���D���r������H�������	��r���?	��r������	��r�I�VP����	��<�1���L�<$�Z������r��H��������	��r�I�VP��?	��p������H����?��@	��r���?	��r������	��r������	��r�I�VP����	����u<�r��H��%�����	��r���?	��r�I�VP����	��ep��@���ruG����H�����%	��r���?	��r������	��r�I�VP����	��p������H����?%@	��r���?	��r������	��r������	��r�I�VP����	��o�����S��t'�?��H�<�P�1��H��tf�XJ�@I[�fD�`���@��H��HD�������>��fD��H��t'SH��H�GH�w�GItH� ��H�CH�sH��[���ff.�@��H�G(����H�GP�����GJ����H�G@�����GJ�H�H��P�f.����UD�SE��t	A���wh����A��
�v3A�������A��( A������[]Ð1�A��
r�[]��f.�D��D�WA�� ���GA����A��A����?E��A��E	�A	��W����A��
t�A��
t$1�[]��1�E��[]�������H��H9����
�E�[]�1�DA��A��?A��E	����f�H���H9�s1��
�����[�]�@�_A��t^��D�_��A��A��A��?��A��A�����E	�%���E	�A	�A	��\���@��G���fDA��A����?A��A�����E	�%�A	�A	������A��A����A��?A��@��E	�D�W%�A�����A��A��?E	�A	�A	�E	��������UH�G�SD�O�E��t6E��D��A��A���u@H���8A��A��A���t�D��@�������tiA��
v+A�����rdA��( A��wW�[]�ÐA����A��
u8�H9�v
1��x�
@�ƃ��[]�1��A��
��A��
tH1�[]�D�P@�� t]D�X@����A��A��?A��E��A��E	�E	��>���@�[]��f�1�E��[]�������A��A��?A��E	�����H9�vs�x�
�E��A���f.��h@��tX���X�}A����?A��A��A��A�����A	�A�����E	�E	�A	���������A����?A��A��A���A��A	�A��E	�E	��F����xA��A��A��A��@A��?����?A��������A	���E	�E	�A	�A	����f.�@��H��������L�
��A99}wD�@��I���H�JA9|��}
H�ʉ�I9�u�D�B�Lc�L�I��I�H�����H������?�ɀ�JI9�u�ƒ���Hc�H�H��B
<�@�>�DH���E1ɸB
<�@�>��H��tGH�����PERCP�q�G`A��A���g���jL�����Ic�L�>��D��w�H����Hc�H�>�����f.���f.������1��D�Gh�����@1�����
���1��D�����1��D%�t�Gt���f.�SH� H��1�H��t�̱��H�1�[�D��
���1��D�����1��DH��(�@�HD�H�:�D�������DD�1�D�
�@���y����Gp��;���D����1��@�Gx�1�������1��@�GT�1�ËGX�1����G\����fDH�GHH�1��fD�Gl��������������@�Gz�1���H�Lj1�H�:�����1��@����1��@�G~�1����G|�1����Gd�����H���������H�H�ŀH�1������ø��ø���ø�������AVAUATUSH��@dH�%(H�D$81�H�����oX���PERCP�p�G`�pI�����I��I������$��H�H���@���v��wB��T�A�������]1�H�L$8dH3%(�H��@[]A\A]A^�D����V�A��w��C�D$L��L��f����H�D$�Cf����H�D$�Cf����H�D$ �Cf������H�D$(H�C
H�D$0A�ԅ��]����Cf����H����v�%�����CL��L��H�D$ H�D$(H�D$0f����H�D$�Cf����H�D$�C�D$A�ԅ�����H����H����fD��a����pu�Cf����H��������t*H�l�Hc��H��e���D���t
���t���u�H�B�Hc���S�H�H��3���H�!�Hc��HÅ������C�<�����H�\���?�H����DH���Hc��H��C�H�S��<HB���������������������������n2��f.�@��AWAVAUATUSH��XdH�%(H�D$H1�H9�sQ���A�ĉ�=�vgE��tb�W� ��
D�G�������A��?H������	�D	��/�H�\$HdH3%(�dH��X[]A\A]A^A_�H��H9�s�H�-��E1�A�ay��H�$H���L��B��‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ���������
�e����E����A����L�5�Oc�M�>A��A�y
��H9����������=�vA�by��E���D����Hc��S���Hc��TUH�RM��M�iL��E����H��A����A�by��A��
�E�����Q�f����
H�
����Hc�H�>��
��	H9��m������A��=�v	E����D�҃���Hc��S���Hc��TUH�RM��I�QH�х��8H�����t
��
t���fD�����A�QA�ey�����
��H9��������=���E�����W�� ������?H��%�	���D�҃���Hc��S���Hc��TUH�RM��M�iL��E���|H��A����A��
t'I)�M��E����f�A�U��tA��uAA�QA�cy����
�6���DL�n�A9@�jE����D9��	���1����D�҃���Hc��S���Hc��TUH�RM��M�iL��E��t�H��A����A��
tI)�M��E���!@A��tA��u�A�QA�dy�����A����Ic��S���Hc��TUH�RM��M�iL��E���P���H��A���fA��
��
L�$I)�M��E����DL�$A�������A9�u�fDD9���I��A���u����fDH�������A�y
�GH9���������A��=��%���E�������W� ��	D�O�����A��?H����A	����%�D	ȉ‰�����Hc��S���Hc��TUH�RM��M�iL��E���2���A���L
L�$A��
���A�fy��@A�Q����fDD�G���r��A��?��H����A	���%�D	������L�5�jM��I)�A��������H�
��Hc�H�>��f.�����I��A���u�1��a���@���[���I��A���u�1��A�����
��H9��*������A��=���
E���|
�W� ������?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ���������	A�by����
��������C���L�5iiM��I)�A��������1��A��A����AD�I��A���t&���=����u�I��A�����u����H���A�Q���
A�by�����+�����
�KH9��������A��=��T���E���K����W� �=
����?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ����������A�cy����
����I)�M��������A����t������*�����u� �������������
���I��A���u�1��(���L�,$E�UE���&���1�E�0D�d$A���E��t'E8���L���DD8���H���
��u�I��E�UE��u�Ic�D�d$������A�Q�����DH�L$A�fy��H�$���fDA��A����AD�����DE��D�o��ur��E���H��A��?%A�����D	�E��	�A��D	��{���A���9���Ic�I��A��D�TE�UE�������7���A�cy�����E��D�o����A��?��H��%���A��D	�A���A��	�A��D	�D	�����A�A�E�i�f���D9��s���A�	�Lc�C9�s�A���ҐA9��g���A�Q�]���D��A�Qf����L�5����Ic�L�>��f��������O����H��%@��?A����?A���A��	�A��	�D����A	�%�D	�D	������A�������A9�u���f.�D9������I��A���u�1��������?H��%�	����L�$A�fy���G���A�y
��H9��C������A��=���E�����W� �
����?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ�������A�cy����
��������\���L��dI)��:���f.�A�y
����A�ey���r���A�y
��H9��n����A��=��5E���,�W� ������?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ��������>A�dy����
��������L��cI)��b���D��
�s���A�cy�������
�4���A�dy�����D�T$���A��by�������A�QE�����A�by���`���D�O�����D�W�J����A��?H�����%A��	�D���D	�	�D�����	��A��
�a���H9������A��=�����E�������W� �����?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ����������A�dy����
�����I)�M��������fD�W� ������?H��%�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ��"������bA�ey����
����������L��aI)��������A��?H��%���A��	�A��D	�D	����E�������?H��%�	��;���D�҃���Hc��S���Hc��TUH�RM��M�iL��E���n�H��A����A��
��E�����L�aI)����D�҃���Hc��S���Hc��TUH�RM��M�iL��E����H��A��t1A��
�`�E���K�L��`I)��Y���L�$A�fy�����A�dy�����A�cy����A�ey����D�G�����A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��I�QH�х��M��t���
��A�ey���$���A�by���2�D�G�����A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��M�iL��E�����A�������A��
�_���A�cy����D����D�G����A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��M�iL��E���B�A���k���A��
�:���A�dy�������H��%@A�������W�%?��?	�	�D���	�D������	�D�����	����D�o�����A��?��H��%���D	�	�D�����	��)�A�QL�$A�fy���~�E��D�o��D��E���H��%A��?���D	�	�D�����	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ�����/�����
����A�dy�����D�G�����A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��M�iL��E�����A�������A��
����A���D�G�����A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��M�iL��E����A������A�by��A��
�-����E��D�o��S��E���H��%A��?���D	�	�D�����	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ��w����������
�&���A�ey���P���E��D�o��<�����E���H��%A��?���D	�	�D�����	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ������������
����A�cy����A�QA�by����D�G��k��A��?��H������D	�	Љ‰�����Hc��S���Hc��TUH�RM��M�iL��E���T�A�������A��
������L�$A�fy���)�A�dy����E��D�o�u��E���H��%A��?���D	�	�D�����	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ������������
�i���A�dy�����A�ey����E��D�o�����E���H��%A��?���D	�	�D�����	��3�E��D�o����E���H��%A��?���D	�	�D�����	Љ‰�����Hc��S���Hc��TUH�RM��I�QH��A�Յ�������������
�����A�cy����A�by�����f��fD��AWM��AVAUATUSH��M����H��A��H����A���H���������F�H��I��1�L�4�A�P� @H9���LPHI�AM��M9�t8I��I�H���8�xPERCP�CH�xH��u�LPHH��I�AM��M9�u�A��H�$I�wI�zH�L$A�H���:�AoH�x0H�S2RP
"H��I�WL�xH�pH��H�PH�P(�@ H)�D�`$H�H)�H�H(H��8H��`��@������H�H��h�
�H��H�]H��H�SHH�����f�H��H�@H�@H�@ H�EHKHL9�u�H�$L�8H�D$L�(H��D��[]A\A]A^A_�f�L�=��"�b���@����H��[]A\A]A^A_�@H�����[]A\A]A^A_�@H�����[]A\A]A^A_ø��뺸����ff.���AWI��AVAUATUSH��(H����H���
H������	�B���h�:S2RP���z
"���z��9�H�|$I��H�ZN�H�$�H�t$I�wA�I��H���sI�FI�|$L��H��I�$H)�I��HH)ˁ�@I��$8H���I��P�H�E1�HcD$I��$@�@�H�D$�DI��H�kHD�t$H�����H�4$H���s��I��H����H�xH�U�H�s���A�}PERCPu\fA���#wQfA���'wEH�D$M�eH�I�E A�M`N�,�I�FL9t$�n����D$H��([]A\A]A^A_�I�wL��A�W�D$�����L�=��"�Z���@I�wL��A�W�D$��t2H�l$A�F�H�\��H�}I�wH��A�WH�E�H9�u��D$����p����D$���c����D$���V����D$����I����D$���<���f���H��t=�?S2RPu/�
"u�u
�G�f�����f.����ø����@��H��H��tH�w�H��`�f��f.�D��1���H��8�u��A��A�u�1��D8�������D��1���H��8�u��A��A�u�1��D8�������D��H��t/�D�D8�u+��@�H��D�D�D8�u
H9�u�1��DA8�������@��H��t.�D�D8�u+��@�D�H��D8�uH9�u�1��fDA8�������@��1��?tDH���<u��D�ff.�@���H����t"f�H��H���B����u�H���H)��@1���f.�UA��A�H�nSH��E��H���>dH�%(H�D$1���������A��D\(E��tm���v=A���F@�� ���N@���������?H�n��%�	�	�D��uTH�\$dH3%(H����H��[]�fD��t�H�S����ȃ���A���DL(�f���H���H�t$��H��B�������H���H��BH�@H��$|�����L$��ȃ������T(�J���fD����?H�n��	Dž��*����y���f�D�N@��tMA��D�Vuz����A��?H�n��%���	ǁ��A��D	�A��	�D	�����fD����A��?H�n��%���	ǁ�D	�	����f.�����H�n��@%?��	��~���A��A����?	�	�D������	�D	��<������ff.�@AWI��1�AVAUATUSH��H�T$L��$��L$L�D$L�L$dH�%(H��$�1���Pu����A�	��xH�VH�^<�F�yHC�A�S`A�9������� �D$ L�%��D$Of��1����T$DL�<������D$$�D$H�D$@�D$8H�D$p�D$h�D$<H�D$P���Ȁ��wa��Ic�L�>��f��Cf����H����xt�f.�H���Hc��HÁ���~�L�������Ȁ��v������H��$�dH34%(����	H�Ę[]A\A]A^A_�DH����H����{u��H��L��H��ARL�L$(L�D$ �L$H�T$L�T$@L�\$8�8���AZA[�Dž��z���L�\$(L�T$0�fD�Cf����HÀ;xt�H���-���@�D$���p���@������.���fDH���Hc��H���Cf����HÀ;xt�H������@�Cf����H؀8x�#���H�X���D�kfA��E��D9l$@���|$O��l$<��Cf����HÀ;xt�H���e���@�Cf����H��N���D�sf����Ht$D�nfA��E��D9l$H�Ol$h�D$$�D$$��H�����@�D$D1���uA�CY��H����H���w,�H��3�����X%H��H������)��9���������f.�D�sfA��E��E9*|A��A�<���y=1�A�CY��E��C�<�A��PHc�A9�~fDA������H��A9��E�*H���D�����p�OH����@nH���H����"�H��3u#�����������f.�H��������Cf������C��<H���H�\���f.��C��H�S<HB��j���f.��C����<H���H�\�U���@�C�f.��C�T$f�����H�C����SH�À��������fDH���Hc�D�l$�H�E������C�<�����H�����?�H�������t$8���t�|$ ����9���<x������D�{�l$81��D$ fA��E��I�H�������L$��H�C��tI�SH�À���J���H�"���?�H��4���H���Hc��S��H�H�����f�H���	�����{y�`���H���D$$���D�������H��D�Bf����H€:xt�H9��H9���D$ �{����t$H�|$D��L�T$XL�\$0�[���H�D$(H����L�\$0L�T$XH���Af����H��9xt�D$D���'H;\$(�YH9��P1��D$ ����CA����Sf����f������M����A�f��������L�|$`M��A�ljl$lA��H�\$X�,D9�}����A��A���A��I�A�����A�]f����A9.|��A�<���y��t$H�|$��L�\$0D�T$(�I���D�T$(L�\$0H���kH���Qf����Hр9xt�H�t$XH9���H9����D$ 1���A�<�A���Hc�9�~�A������H��9��A�.� �����l$8�4�����Cf����H����DH��H��L��ARL�L$(L�D$ �L$H�T$L�T$@L�\$8�Z����D$LAXAY����L�T$0L�\$(D�l$@�����KH��f���Ʌ��P����������9��H����������CH��f����������t$H��D��L�T$`L�\$XH�L$0�ܦ��1�H�L$0L�\$XH��L�T$`������y���H�D$H��t%H�T$(H;Pu���H9P�����H�H��u�H�D$H�t$(H��L��H�D$xH��$�ARL�L$(L�D$`�L$H�T$L�\$8L�T$@�<���AYAZ����L�\$(L�T$0���o���������S���fDH�|$H��t(H;G�����H����H9B���H�H��u�H�t$D�T$0H��L��H��$�H�t$xH��AVL�L$(L�D$`�L$H�T$L�\$8���^AX����L�\$(D�T$0���������f.�H�D$H��t H;pu���H9p����H�H��u�H�D$H�t$xH��L��H�D$xARL�L$(L�D$`�L$H�T$L�T$@L�\$8�������D$xZYL�\$(L�T$0x\l$hD�l$H���L�|$`�l$lM��H�\$X����D��L�|$`�l$lM��H�\$X�������������������|$<������|$h�����A��1�Hw����L(H��L9�u� tH�G@�����ff.�@ATI��A��USH��H�O��dH�%(H�D$1�H�D�4At(H��I9�u� tj��H�l$�D����tNI�L$�����؃���s؉�H�������L$��ȃ������AT(��u�H�D$dH3%(u	H��[]A\�����AWL�=��AVI��AUATM��I��US��H��(dH�%(H�D$1���H�|$���D$��H�<$���l$�Ps��v��xM�n<wM�n�A�}�w:A�EIc�L�>��A�Ef����I�A�}xt�I��A�}�v����fDI���f.�I��A�E��<�TH�=I���Hc�H�>���I��I�u�ٺL���	�f�A�Ff����I�A�<x�����D$�@I��I�u��1�L�������f����]I�}I�u!H��ta1�������AT(H��H��u�������ƒ���s����%�����?����AT$@��=u���H����;����H��3��������f�~����L�n�X���f��AT(H��H�� u��1�H�t$dH34%(��H��([]A\A]A^A_����f��D$���I����L��L���o�����t���t�fDA�Ef����I�A�}xt�I��������L��L���3������e������\������9���f�A�Ef����I�A�}xt����DA�Ef����I��K���@H���@vI��4���DA�E�����ƒ�������������1�I�u��������A�L$@�A�D$A����fA�D$EA�D$G�A�}p����A�uf����L�����I�u�ٺL���M�I�����DI�u��f.��T$�@L���������f.�I�u@�Ff����Hƀ>xt�L�n�;���@�T$��L���������f��T$1�L���������D�T$1�L���z������D�T$�@L��������f.�I�u��1�L���p�I������I�u��f.�H�Y��@I����DA�L$)A�L$,����A�L$@A�L$D����A�L$)<����A�L$@A�L$D���A�}	�����A�UH��@H�,�DH���M�����������u"���v*H��A�L$G��M�����������t�H�4$�������L$�Ⱥ������AT(�@�T$��L���o����Z���f.�L�n����A�L$8 �5���DA�L$<�%���DI�}���������e���I�u$H���HD�E�E�<�����i<�l���D�NH�V�FD�Ƀ���u@H��D�
D�Ƀ���t�H�r�R����uDH�������t�A8�r�@�‰�A��������A��ET(A8�s��d���1�����T$�@L������I������T$�@L���6�����T$1�L������ԋT$1�L�������ċT$��L������뱋T$��L�����A�L$)<��tNA�L$@A�L$D�A�L$)A�L$,��t%A�L$@A�L$D�e���A�uf����L��G���A�L$<�F���A�L$8 �;���D��f����L�����FH�V�N��<�ufDH�����<�t�ȉ�������At(H���/����������AUATU1�SH��H��(D�gX���dH�%(H��$1�����D$A��@����H�L����`����1��� �t,H��$dH3%(�H��([]A\A]��f������w��D$��L��E1�H��L��H��H�D$PL�L$����X�Y���t����t����t��������O�f�S~1��g�����L��H������¸���G����{`���1���A�����H�K(1�E����p��t�p��t	�p��E���A�����A�����L�KHc�E��E��t1H�N�L�G�����Hc�A�RL�RH�,
B�|�utE9�uoA��H��=tn���t���!�@8�uL��t7�Q����p��@�^����p����R����p�� E��D���A����p�1�����@	lj{`������@A���t�@�ǀt�StD9�t�A���t'D9�t�D�Cp�0��A�����0D�CpE��D�Cp���Z���f.�AWI��AVAUATUSH��HH�H�|$H�t$dH�%(H�D$81�H�T$0H9�� H�D$(M��H��E1�1�L�q�H�D$E���'fD�:\��H�T$0�H��H�T$0H9�vGL�l$,��u��<}to<:��<$��L9�s
�z{��H�T$0H��H�T$0H9�w�DM�׻���I���H�|$8dH3<%(�}H��H[]A\A]A^A_��H�T$0E���?A���\���f�L9��@����zE�6���H��1��5���f�D��H�T$0D	��"���M��1��u���D<\�H���L9�s�B��L<)vxH��L�$H�|$0H��H�T$0L��jjH�D$ H�L$(D�H�D$D��B���H�T$@�t$8H�J���H�L$@_AXL�$����tT��t7��tKM�׻���H�����H�H���t���H���f���H�T$0H9��B������DH�T$0H9��T������DA��H���&���M���{���M�׉�뉻����j������D��AWAVAUATI��USH��H��(�XH��$hH��$`H�t$ H�T$��L��$pH�D$@H��$xH�L$(H�D$0H��$�H��$�dH�%(H��$1�H��|$H�����H�T$`A��0��D��M���D$XM����L�����L��I��H�D$p��H�|$�DŽ$��$�H�D$ L��$(H��$H�D$0H��$��I�����D�D$E����H9\$��H9\$`�����H�t$`H��H�D$x�D$H)�H�t$HH��$��|$��H�����A��H��$�L�d$8��L�l$PL�l$ ��$�%1�Lt$@�D$\A��A���H��H��$�H��H��$�DŽ$�DŽ$�DŽ$�DŽ$�H��$�L�t$hE��H��E��H��L��t$0L�d$E	�L�L$`H�|$HL�������XZD��t$
@��DE���;H�|$pL�'H�GI9��F
L9��=
H9�uL;�$�����$������L���D�$�H)�D$�&H9\$H��D$\�]L�l$PA�����L$X����E�}LH��$dH3%(D����H��([]A\A]A^A_�fD��@����H�|$@I�U8L���!A�Dž����I�E0�fDH�t$ H�|$0H������H�D$`H�\$xHDŽ$�H)��D$H�D$H�������E��t}I9�vxI�t-L�e�>
�H�D$8A��@Z�v�D$�CH�D$HL9��5�D$\�����D$I)�L��L��$�E1��D$\%����H��H�l$L�l$PH)�D$�H�t$HH9���D$\�~���H��H)�Ƅ$�H��H��$�HD$`H��W����H��H��L��ID�����I��H�����D$X�	���DL������)���I�E0A��������DD�|$E���bH�$�H�D$x��$0E1�L��$�H��$H�D$@H��$�H��H9t$h�hE���g��$��D$�DH�|$(�8H�D$(H�@8H���.��$�H��$��$4H�\$xH��$ H�\$(H�s@�ЉD$����H�L$pH��$H��$ H�YH�9H��H)�H)�HD$HH�D$HI��H��$�I)�HL$xI9��1�D$\����I)ĺL��$��|$����	�D$\�T$%�DH+\$H�D$H��$����fDL�|$xH�|$0I�t-H�ډ�$�L�I���H�D$HL�|$x��$�H�L)�H�D$H�a�����$�����f<\uH�D$hH��H9�s�~E��f�H�F�T$H��$��>����$����,���vD� ���V�N���������?H������H��$�	�	ω�$���$���tn���GH�����I������H��B�����)�H�
���H�X�H��BH�@H�GH���r�<�����$���$�H��$�芸����D�D$E���:H�D$HH9����D$\���H)��D$H��$�H��$�����fD<$���D$\�����<\�����H�D$hH��H9��`	�F<U���	<l��<u�>	DŽ$�H��H��$�DŽ$�����H�\$p�D$\H�H�[%H��$�H��$�H9�uH9��DF�H��$�H���E���f�H�|$ ���H�D$I����-���H�|$@���I������DH�$������$���teH�D$8D��$��`E��H�H��HO‰���H���������i����$���9��$���$������$���'����A�G�H���@H�D$hA�G�H���@I��H��$��X���H�D$8�@zf��$���f������L9d$����C�D%<
�mH�L$8�AZuGA�����D$����L�$�L��E1�����f�L9d$����C�D%��<�u�H�T$��C�D%��<�u	I��L9�w�M��I)��I����H��$�H�|$0H��H|$x���H\$xH)\$H�D����H�VH��$�H;T$h�a�F<$��1�<{�#<*�C�HЀ�	����H��L�D$hL�L$8��0�,���HЀ�	w0��D��H��B�\Q�A���9��H��H��$�L9�rŅ��%E1Һ�H9�$��L9���H��$�A�����fDH�\$p�D$\�D$H�%H�[H��$����fD��$�����$����H�F��H��$��F����?	lj�$��.���fDH�VH��$�H;T$h��F����H�JH��$�H;L$h�V�BA�H��H�\$8��L�KA��	@��L�\$hH�J��$�H��$�I9���H��$���,����H��$���!�zL�BH��L��$�M9�s�RH��A��@u�Hc�Ƅ�����D�һ������H��$��D$\t����	H9t$h�m�>}�dHDŽ$�E1�HDŽ$�HDŽ$�HDŽ$�H��H��$�E�������B��H�|$PL��D��$���D��$�����E����A��-��H��$�A���jA�OD��H�\$hA��H���@��H���@����H��$�H��$�H��H��$�H�D$h����H��$�H�|$0L��H|$xI�t
�I�H��$�Ld$x1�H)�HD$HH�D$pH�H��$�H�X���f�L�l$PA������V�E���HDŽ$�E1�HDŽ$�HDŽ$�HDŽ$�H�\$8H��$�L��H��$�D��$�H���,�D��$�������D$\�:
��������h���@H�|$0L��H|$x�V�H�D$HL|$xE1�H�L��L)�H�D$H��fDD��$�1ɋ�$�E�҉�$�����9��,���z��$�����@DŽ$�H��H��$��q���@L�l$PA������d$\����1��T$����DE1��t���D�F��+����A��?H���������H��$�	ׁ�D	�	ω�$�����DL�l$PH��A����H��$�H+D$@H���<L�=DŽ$�����H��H��$�DŽ$�������fDH���0���H��$�H�5��������H�|$P���H���6����8��H��DH���:u�H��H)�D$�tH�t$HH9��f�D$\���H)��D$H��$�����HDŽ$�E1�HDŽ$�HDŽ$�HDŽ$�H��$�����L�����	E���uA��-��	A����	L�l$PH�����H��H��$�H��$�L��H��$�jjH�D$HH�t$xD�@XD�H\�u��^_D��$�E��u���	��������L�l$PH��$�A�����+���DD�N��-����A��?H���������H��$�	ׁ��A��D	�A��	�D	lj�$����H�|$PL��������������H�L$pH�H��H�T�L�L�H9��D���D��$�I��D��$�I�ߋ�$�L��$�L�l$HH��$�H��$�L��$�D�d$�2fDM9����D$\���M)�A�L��M9���A�?H����$��������$���A�W� �/����?I����	׉�$���tV��H�I�H�5b���H��B�������H�(�H��BH�@H��H��D�BB�<�����$�H��$��_���A��E������L��.���I����txD�L$E���p���H�t$8�ۺ�A�`IO����$�H�v��H��<:�ƒ���r����$���f.���$�A��r���fDD�T$E��t��M���f�A�w�u_������?I������	�	���$�����H��$�H�|$0L��L�D$H|$x��L�D$LD$xM)��2����E�G�������A��?I���������	ׁ�D	�	���$��?���DL�l$PA�������t$���4H��$�H����L�eA��O�A�����`�1��ۋ�$�@�ƍ4���D9��-���z��$�����A��L�l$P�����rL��$�L��$�M9�rbL��L��$�L�T$pH�D��$��������f���ۉ�A9�v����D�I�<��W���H�I9�s�L��$���������:���A�f�����(����D$\��H�L$hH���H��H��$�H9�����H����0��	v���E�W�������A��?I���������	ׁ��A��D	�A��	�D	lj�$�����D$\�&�L�l$PA����H���4���H�|$hH�W�H9������<:��H�VD��$�H��$�D�ND�ȃ�+���H�FA��-L��$�H�L$hH��$�A��L��H��$�H�D$8E��D��$�H�xXH�p\L��$�H��$�H��$����L��$�D��$���D��$��pH��$�H��$�A��+��H��$�HDŽ$�HDŽ$��P���D�d$D��$�H��$�D��$�L�l$HH��$���$�L��$�L��$�������H����?��@��A��	��V����A���A��H��$���?A��	�	�D	�D	ω�$����D$\�mE���$���A��-H��$�H��HE�$�H��$�H��$�HE�$�H��$�A���(���H�\$hA�GD��H��$�H���@A��H���@H��$�H�D$hH��$�������=���H��$��1�D�\$E�����H�|$0H��H|$xH�����H\$xH)\$H�e�L�t$xH�|$0H��H�t$ L�H�����I�.H\$HƄ$�H;\$u��D$\������H�\$0D��$��H��$�H����DŽ$�H��H��$�DŽ$�������DŽ$�H��H��$�DŽ$��������I����?��@��A��	�A�W�A�����A���A����?	�	�D	�D	׉�$�������$���$���tD�\$E���Z��u�f.��\$���������H��$�DŽ$��"�H��$�DŽ$�DŽ$�DŽ$����A��L�l$P����A������H��������H�\$hA�GD��A��H���@H��$�H���@H��$�H�D$h���L�l$PA�����e���L�l$PH�����1��L�l$PH��$��w�8:����H�L$hH��$�H��L��H��$�A�D��$�D��$�H��$�H��$���D��$�D��$���uH��$�H��$�H����A��L�l$PH��$����L�l$PA�������L�l$PH��A�������H��$�H��$�H�D$h������H��H��tH�w�H��`�f��ff.�@���GL���tl��x`�H��H�G���9����GJ9��}�6H�L�PH��H���tf1�H��t��H�|�PH��H)�H9ϹHC�H�
Ð����uF�Hu�f�Jt-�6H��H�L�P�f.��OJ9�v��t�9�wٸ���ø���ø�����ff.�f���AVI��AUATI��UH��S��H��dH�%(H�D$1�H�������x/L�,$I�EH;EwC�L��L��I�t�PIv ���C�,1�L�mH�L$dH3%(uH��[]A\A]A^�D���������ff.����AWAVAUI��ATI��UH��S��H��dH�%(H�D$1�H��������xNH�$H��H�<� ���I��H��tQL�<$H�H�H�t�PH��Hu L������C�D>I�EH�$I�$1�H�L$dH3%(uH��[]A\A]A^A_ø��������ff.���AWAVAUATUSH���oL����MD�l-� H��tHc�H�� E��t@E�E�H�OPA��I��N�\`f.�L�QH��	L�	M�M)�M9�IG�H��L9�u�H��I��H��H��I�����I��H����L�@�EH�L�H��I�,M����I�.H�L�E����1��&@I�L�H��tL�uH��H��H�H�A9�~VI�T�XI�t�PH��E1�H9�v�H)�H��It$ L�D$I���i��L�D$H��J�0룽���H����[]A\A]A^A_�DA��A��O�D�I�1���f��oJ����H��1��=���fD��H��H��tH�w�H��`�f��ff.�@��AWH��AVH�AUE1�ATUH��SH��8D���D���H�|$H�T$ H�L$(fD�t$H�D$fE��u�GDE�ofE9�v8E��A��H��A�A�D��A��Hc�H\$H�s�5�����t)�E��fE9�w�A����H��8D��[]A\A]A^A_�fDH�D$H�L$�����A��H�H�H�D$H9����D$A�I��H��I)�H��I����M�L9d$sK�4<H�������t�H;\$���D$I��H�D$L�x��Ll$L9l$vK�t=H���g�����t�H�|$ tH�D$ L� H�D$(L�(�&���fDA����M9�����D�3fA��E�����I���q���I���f���ATUSH�� dH�%(H�D$1��H��I��H�H��H��H�T$H�L$�n��Hc���xMH�L$L�D$����L9�w9E�L$JA������f����fA9�v�6I�|�P�u%D��H�L9�v�H�\$dH3%(u!H�� []A\ÐH��H��L�������ָ��������@��ATUSH�� dH�%(H�D$1��H��I��H�H��H��H�T$H�L$���Hc���xMH�L$L�D$����L9�w9E�L$JA������f����fA9�v�6I�|�P�u%D��H�L9�v�H�\$dH3%(u!H�� []A\ÐH��H��L������ָ���������@��USH��(dH�%(H�D$1��H��H��H�H��H�L$H�T$����Hc���xJH�L$L�D$����L9�w6D�MJA����D�f����fA9�v�6H�|�P�u%D��H�L9�v�H�\$dH3%(uH��([]�H��H������ٸ��������ff.�@��1�1��3����H���HAVH��AUATUH�-�SH���H��A�ȃ�������3����?L�8�M��A��?G�
M��I9�v$I��I)�L�M��I)�I��wNc\�I�>A��D�pL)�L�`E��E��A��A�����E��A��w~Nc�I�>A��D�@A��A�����L�@�@��<�����������u
A�����L���H��H�������1��i@L��A��v�H)�D)�H�1�A�������BD�p��@����F�p��@����F�p��@�����H�p�@H)���<���������F�H�����A��>L���K���H)���H�H�����fDL�@�@��<�L���������������A��������H)���H�H����`�p��@����f�p��@����fH�p�@H)���<���������F�H����������[]A\A]A^�f.�[�����]A\A]A^�f�[�����]A\A]A^�f�[�����]A\A]A^�f�[�����]A\A]A^�f�A�� �&���H)���H�H�����@A��0L������H)���H�H�����k���fDA��8�B�����Hc�H�����H���A��<�S�����Hc�H�����(���H)�H���������H)�H�������I)�A�D$�H�H���������)�H�H����������)�H�H����������L��H)���H�H������L��H)���H�H�����������Hc�H���������H)���H�H�������l���)�H�H�������[�����Hc�H����H���1�����AWAVAUATUSD�&D��D��������w"A�������8[]A\A]A^A_�DH�V��tH�V!�������D�O���\$���(��DI���\$��L�%���D�A��D����\$��_�A��Mcɉ\$�A)�fD�
��t��r��t`����L���H���G�HA��E؀�Mc�F�CK�@L���I��A��A��@��
��Ic4�L�>���@�΁����H��9��t���A��[]D��A\A]��A^A_�D���ZH�jA���v%�J@�� ��A����?H�jA��A	؉���H�U���v�u�� ������?H�U��	�A9����9�����n���f�D�B@�� u��A��?H����D	��@���@�Z@�����j@���l��A����?H����A�����D	���	�	���@D�r��@���A������?D���E��A	�H�jA	��
����U���s������?�Ɂ�	ʉ�	�H�U�
���f���A����?H����A��D	�	��b���fD��t(�Z��) ���( sA��
�@��t/H�������s�N�����@��@��	�D8�u�D��Ѓ�����H�
Y��s�4����t��A��1Ƀ���D!�9�u���s1�D�F�A��v�H��D�ƹF��E��u�@��u��uB1��D�sH�
�I��4�1Ƀ�t����u�1�A��u���tƁ�t�1Ƀ|$����r����������|$�@����$@��	�A8���������D�[8Z��A8�����������[H�5E��J9���A8���������D�sH�
����������_@��	�D8��_������f.��sH�
��������A8��0����W����8Z��A8������=����D�u������D�}�*��A��?���������D	����A��	�A��	�H�UD	��_����D���Z@������A��D�r�lA������?���A��A��A	�A�����H�jA	؁�D��E	�A	�����f����������L�������`����G�����_ ������0�������/ ���H�
���s�<���A8���������@�� �����v%�������������������u�����|$�w����@��D�r���A��A��?H����A�����D	������D	��	�	��i���D[1�]A\A]A^A_��|$���A8������C������A��?���������D	��	�	�H�U����A����D��A��?���A����A	��H�jE	�A	��$���f.�����[]����A\A]�DA^A_���ÐH�V������A��H����@A��?��A	��J����A��A����?D	�	ˉ�����	�D	��D���A����A��?��?A��@A��A	�A�����H�jE	���E	�A���ZA��D	�A��A	��D����]������@��?����?���A��	�A���A��	�A��	�H�UD	�D	��%�����H��H���������������������������`��8��8��������������������������������`��`�����`�����`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`��`�����������������������t��t�����d���������������������������������p��H�����0��0��0��0��0�����������������0����������0��0��0�����0��h��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��X��(������������������L��
��
��b�����\�����������t��<�����������������������������������������������:��:�����������������������	



p��p��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t��0��������������������������������������������������������������������������t��t��t��t��t��t�������������������������������������������������������������������������������{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�t�{�t�{�t�{�t�{�t�����0�0�0�0�����0�0�0�0���0���0�0�0�0�����0�0�0�0���0���0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0��0�0�0��0�������0�0�0����3��p3��83��4���3��3��Y��Y��Y��84��84��Y��`5��85���4���4���+���+���+���+��@,��@,��@,��@,��@,��@,��@,��@,���+��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,���+��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,���+��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,���+��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,���6��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,��@,���6���6���6��xK��hJ��hJ��hJ��hJ��hJ��hJ��hJ��hJ��hJ���L���L���L���L���L���L���L���L���L���L���L���L��XJ���L���L���L���L���L��XJ���L���L���L���L���L���L���L���L��HJ���L���L���L���L���L���L���L���L���L���L���L���L���L��XK���L���L���L��(K���L���L���L���L��XJ���L���L��K���L���L���L���L���L���K���L���L���K��4J���K���K���K��J���K���K���K���K��4I���K���K���I���K���K���K���K���K���K���K���K���K��S[��*[��[���Z���Z���Z���X��W���V���V���V��W��W��W��-b��Bs��Bs��Bs��4����a��Eb��:b��Bs��Bs��Pb��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs���a��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��{`���_��Bs���_��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��Bs��N_��_��d���������������Q}��e|�������{����������u{��u{��u{��u{��u{��u{��u{��u{��u{��u{����������h���b����������������������������������������v����vv��������������������������
���
��������������������������������������������~���~�����%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%������%���%���%���%���%���%���%���%���%���%�������%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%�����%���%���%�����׈��%���%���%���%���ψ��%���%���%���%����������������������~��������������������������������������������������������������n���[�����������������������������>���>���.���.���>���Ι��Ι��Ι��Ι��*+,-789:DEFGQRST^_`ajklm	��������

�����@���������`���������� ���� ����@��������������������������� ����alphalowerupperalnumasciiblankcntrldigitgraphprintpunctspacewordxdigit
'#�%�'�(�$�&�#�%�'�(�$�&��"���
"���plaplbnaplanaplbnlanlbpositive_lookaheadpositive_lookbehindnon_atomic_positive_lookaheadnon_atomic_positive_lookbehindnegative_lookaheadnegative_lookbehindatomicsrasrscript_runatomic_script_run�����������)�)�*�����+�����+�����,�.�0�2�MARKACCEPTFFAILCOMMITPRUNESKIPTHEN:;<=>?@��������������������[\]^_`������
�
��	���������������������������������������������������	�������

��������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������[:<:]][:>:]]Q\EVERSIONDEFINEUTF8)UTF)UCP)NOTEMPTY)NOTEMPTY_ATSTART)NO_AUTO_POSSESS)NO_DOTSTAR_ANCHOR)NO_JIT)NO_START_OPT)LIMIT_HEAP=LIMIT_MATCH=LIMIT_DEPTH=LIMIT_RECURSION=CR)ANY)BSR_ANYCRLF)BSR_UNICODE)10.34 2019-11-21����������,���<���,���|���<���L��������������\���L���l����������������@������������������� ������0���alnum:alpha:ascii:blank:cntrl:digit:graph:lower:print:punct:space:upper:word:xdigit:(*NUL)\?*+|.^${}[]()(){}123456789�����������������$���d������������������������������������������������������������������������������������������������������������������������������������������������������L���<������̲��������������������������������������������������������������������������������������������������U��)����K�����������|���X���7��������������}���O��������������������������+������+�����b���b���b����+����������d����I���'��\���D�����d����&��%�������������������u��u��������������u��������������(��(��6��������(��������������������u��u��������������u��������������(��(��6��������(��������k��k�������������k�����+��+��+��+��+��+��+��+��+��+��+��+��z�z�z�+��+��+��+����-�-�`����������+��������������+��+�����+����.���.�������.���.�����+��+��+��+��+��+��������.�+��+��+��+��+��+��+��+��+������+��+��+����+��h��h��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��+��F��F������+�+�5�5�5�F����+�5�+��+��+��+��+��+��+��������"�"��������������"�����+��+��+��+��+��+��+������������G�G�Q�Q�Q������G�Q�+��+��+��+��+��+��+��&��&������=�=����������&����=����+��+��+��+��+��+��+���������������������.�������P�P�=���
�����$�$�������$����1������!���!���!���!��������r����x������#���#��}#��k#��L#��c��c��:�����#�����3������������x��x��O�� �����n�n�����������R�R�n������R��.���.���.��}.��m.��].��X*��no errorno matchpartial matchUTF-8 error: 1 byte missing at endUTF-8 error: 2 bytes missing at endUTF-8 error: 3 bytes missing at endUTF-8 error: 4 bytes missing at endUTF-8 error: 5 bytes missing at endUTF-8 error: byte 2 top bits not 0x80UTF-8 error: byte 3 top bits not 0x80UTF-8 error: byte 4 top bits not 0x80UTF-8 error: byte 5 top bits not 0x80UTF-8 error: byte 6 top bits not 0x80UTF-8 error: 5-byte character is not allowed (RFC 3629)UTF-8 error: 6-byte character is not allowed (RFC 3629)UTF-8 error: code points greater than 0x10ffff are not definedUTF-8 error: code points 0xd800-0xdfff are not definedUTF-8 error: overlong 2-byte sequenceUTF-8 error: overlong 3-byte sequenceUTF-8 error: overlong 4-byte sequenceUTF-8 error: overlong 5-byte sequenceUTF-8 error: overlong 6-byte sequenceUTF-8 error: isolated byte with 0x80 bit setUTF-8 error: illegal byte (0xfe or 0xff)UTF-16 error: missing low surrogate at endUTF-16 error: invalid low surrogateUTF-16 error: isolated low surrogateUTF-32 error: code points 0xd800-0xdfff are not definedUTF-32 error: code points greater than 0x10ffff are not definedbad data valuepatterns do not all use the same character tablesmagic number missingpattern compiled in wrong mode: 8/16/32-bit errorbad offset valuebad option valueinvalid replacement stringbad offset into UTF stringcallout error codeinvalid data in workspace for DFA restarttoo much recursion for DFA matchingbackreference condition or recursion test is not supported for DFA matchingfunction is not supported for DFA matchingpattern contains an item that is not supported for DFA matchingworkspace size exceeded in DFA matchinginternal error - pattern overwritten?bad JIT optionJIT stack limit reachedmatch limit exceededno more memoryunknown substringnon-unique substring nameNULL argument passednested recursion at the same subject positionmatching depth limit exceededrequested value is not availablerequested value is not setoffset limit set without PCRE2_USE_OFFSET_LIMITbad escape sequence in replacement stringexpected closing curly bracket in replacement stringbad substitution in replacement stringmatch with end before start or start moved backwards is not supportedtoo many replacements (more than INT_MAX)bad serialized dataheap limit exceededinvalid syntaxinternal error - duplicate substitution matchPCRE2_MATCH_INVALID_UTF is not supported for DFA matchingno error\ at end of pattern\c at end of patternunrecognized character follows \numbers out of order in {} quantifiernumber too big in {} quantifiermissing terminating ] for character classescape sequence is invalid in character classrange out of order in character classquantifier does not follow a repeatable iteminternal error: unexpected repeatunrecognized character after (? or (?-POSIX named classes are supported only within a classPOSIX collating elements are not supportedmissing closing parenthesisreference to non-existent subpatternpattern passed as NULLunrecognised compile-time option bit(s)missing ) after (?# commentparentheses are too deeply nestedregular expression is too largefailed to allocate heap memoryunmatched closing parenthesisinternal error: code overflowmissing closing parenthesis for conditionlookbehind assertion is not fixed lengtha relative value of zero is not allowedconditional subpattern contains more than two branchesassertion expected after (?( or (?(?C)digit expected after (?+ or (?-unknown POSIX class nameinternal error in pcre2_study(): should not occurthis version of PCRE2 does not have Unicode supportparentheses are too deeply nested (stack check)character code point value in \x{} or \o{} is too largelookbehind is too complicated\C is not allowed in a lookbehind assertion in UTF-8 modePCRE2 does not support \F, \L, \l, \N{name}, \U, or \unumber after (?C is greater than 255closing parenthesis for (?C expectedinvalid escape sequence in (*VERB) nameunrecognized character after (?Psyntax error in subpattern name (missing terminator?)two named subpatterns have the same name (PCRE2_DUPNAMES not set)subpattern name must start with a non-digitthis version of PCRE2 does not have support for \P, \p, or \Xmalformed \P or \p sequenceunknown property name after \P or \psubpattern name is too long (maximum 32 code units)too many named subpatterns (maximum 10000)invalid range in character classoctal value is greater than \377 in 8-bit non-UTF-8 modeinternal error: overran compiling workspaceinternal error: previously-checked referenced subpattern not foundDEFINE subpattern contains more than one branchmissing opening brace after \ointernal error: unknown newline setting\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number(?R (recursive pattern call) must be followed by a closing parenthesisobsolete error (should not occur)(*VERB) not recognized or malformedsubpattern number is too bigsubpattern name expectedinternal error: parsed pattern overflownon-octal character in \o{} (closing brace missing?)different names for subpatterns of the same number are not allowed(*MARK) must have an argumentnon-hex character in \x{} (closing brace missing?)\c must be followed by a printable ASCII character\k is not followed by a braced, angle-bracketed, or quoted nameinternal error: unknown meta code in check_lookbehinds()\N is not supported in a classcallout string is too longdisallowed Unicode code point (>= 0xd800 && <= 0xdfff)using UTF is disabled by the applicationusing UCP is disabled by the applicationname is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)character code point value in \u.... sequence is too largedigits missing in \x{} or \o{} or \N{U+}syntax error or number too big in (?(VERSION conditioninternal error: unknown opcode in auto_possessify()missing terminating delimiter for callout with string argumentunrecognized string delimiter follows (?Cusing \C is disabled by the application(?| and/or (?J: or (?x: parentheses are too deeply nestedusing \C is disabled in this PCRE2 libraryregular expression is too complicatedlookbehind assertion is too longpattern string is longer than the limit set by the applicationinternal error: unknown code in parsed patterninternal error: bad code value in parsed_skip()PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not allowed in UTF-16 modeinvalid option bits with PCRE2_LITERAL\N{U+dddd} is supported only in Unicode (UTF) modeinvalid hyphen in option setting(*alpha_assertion) not recognizedscript runs require Unicode support, which this version of PCRE2 does not havetoo many capturing groups (maximum 65535)atomic assertion expected after (?( or (?(?C)!��!��!��!��!��!���!���!���!��!��!��!���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!���!��!���!��!���!��!���!��!���!��P!��P!��P!��P!���!���!���!���!���!��P!��P!���!���!��P!��P!��P!��P!���!���!���!���!���!��P!��P!���!���!��P!��P!��P!��P!���!���!���!���!���!��P!��P!���!���!��P!��P!��P!��P!���!���!���!���!���!��P!��P!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!���!��`!��`!��`!��`3���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2��(3��(3��(3��(3��(3��(3��(3��(3��(3��(3��(3��(3��(3���2���2���2���2���2���2���2���2���2���2���2���2���2���2��@3���2���2���2���2���2���2��P3���2���2���2���2���2���2���2���2���2���2��`3��`3���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2���2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��z2��z2��z2��t2��t2��t2��t2��t3��z2��z2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��<3��<3��t2��t2��t2��<3��<3��t2��t2��t2��t2��t2��t2��t2��t2��t2��t2��3��t2��3��t2��t2���2��3��t2��3��P\��`[��X]��([��(Z��XY���[���[��\���[���\��\��4[���\���Z���Y���\���[��l[���[���[���\���p��@p���p��pp��p��1o���p��,p���p��\p���o��o�����������������������������������������������������������������������������������������������������������������������������P�������P���P���P�����������������������������������P�������P���P���P�����������������������������������P�������P���P���P�����������������������������������P�������P���P���P�������������������������������8�������8�������������������������������������������������������������������������������������������P���P���P�����������������������������������`�������������������h���h���h���h�����������h���h�������h���0�������H���h���h���0�������h���������������������������������������ج������ج��������������ج������ج��I���J���J���J���J���J��.I��|I��.I���I��.I��	J��.I��.I��I���J���J��I��I��I��I��I��I���J���J���J���J���J���J���J���K��*I��*I��I��I���K���K���K���K��I��I��L��I���K���K��I��I��I���M���M��kM��kM��I��I��vM��I���M��kM��I��I��I��I��I��I��I��I��I��+L��I��I��I��I��I��I��I��I��I��I��I��I��+L��I��I��I��I��I��I��I��I��I��I��I��I��XL��I��I��I��I��I��I��I��I��I��I��I��I��I��I��I��I��rL��NM��SJ��I��I��I��I��I��I��I��}J���H��I��I��I��I���H���H���H���H��I��I���J��I���J���J���J���J���j���j��Tp��Tp��|p��|p��p��p��<}��<}���}���}��|~��|~��l�������,���,���Ă����������������l���������������������̄��̄��ԁ��ԁ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������,���,���}��0���������������������8���[������P��������x���������x���x�������p���x���(�������x���P��P�� �� ��`��`�� �� ����� ��`����$��C��C�������������C�����C��D�����������%��%�����������%��%��%�����������������l��l�����������D��������4����`�`�(�`�`�����������������������������������`�`�`�`�`�`������������������������������������������������������������������������������������������������������������������������������������������������������������������������h���h�������������������������`������������������������������������������������������������H�����������������������H�H�H�(���9��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��D;��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��$8��D;��D;��D;��<:��<:��<:��<:���8���8���8��$8��$8��$8��$8��$8��$8���8���8���8���8��$8��$8��8��8��8���6��8���6��8��8���6��8���6��8��$8��$8��$8��$8��$8��$8��t6��46���6��t5���4���4���4���4���4���4���4���4���8���8���8��$8��$8��$8��44���?���?���<���<���?���?��^<���<��^<���<���?��y?��y?���<���<���?���?��2<���<��2<���<���?���@���B��<��<��Q:��UE���@���C��*?��*?��9?��9?��F?��F?���;��9?���;��9?��F?����� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���ؓ������ؓ��������������H���H��� ��� ��� ��� ��� ���ؓ������ؓ��������������H���H��� ��� ��� ��� ��� ���ؓ������ؓ��������������H���H��� ��� ��� ��� ��� ���ؓ������ؓ��������������H���H��� ��� ��� ��� ��� ���(������(���������������� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��������������� ��� ��� ��� ���`��� ��� ��� ���8��� ��� ��� ��� ���(���(���(���(��� ��� ���(���(��� ���(�������������(���(���������(��� ��� ��� ��� ��� ��� ��� ��� ��� �������h�������h���H���(�������h������� ������������������������������Ț����t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t���t�������������������L���������t���t���t���t���t���t���t���t���d���t���t���t���t���t���t���t���t���������t���t���t�����������������t���t���t���t���t���t���t���*���t���*���T���$����������t���*������Ȳ�����Ȳ��Ȳ��Ȳ��H���H���h���h���h���h���h������Ȳ�����Ȳ��Ȳ��Ȳ��H���H���h���h���h���h���h������Ȳ�����Ȳ��Ȳ��Ȳ��H���H���h���h���h���h���h������Ȳ�����Ȳ��Ȳ��Ȳ��H���H���h���h���h���h���h����������������������������.���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���h���8���8�������h���h���h���h���h���h���h���h���`���h���h���h���h���,���,���,���,���h���h���,���,���ȱ��,���x���ر�����,���,���x���ر��,���h���h���h���h���h���h���h���h���h���	����������������������

	x86 64bit (little endian + unaligned),R�����g���H��� �����0���������k��W��D��D�����D�����D�����[�����*���
��$
��$
���	��
	��|��z�������M��������6
��
��	��d�����������������������������[��0�������������j��������������������[��0�������������j��$��$��$��$��$��$��������������k��I������$��$��$��$��$��$��������������k��I������r���r���r���r���r���r���C���C���$������������4����(���(���(���(���(���(���(���(���(���(���(���(������������@���@���������
�������������.���.���.���.���.��\.��*.��\.��*.��\.��\.��.��.���-���-��r-��,���+��.���-��r-��,���+���(���(���(���(���(���(���+��b+��7+���*���*��e)��Q-��-���,��_,���,���,��������g��C����������d���������H�����׶��X��&��&�����7���.�������@������v��K�������{��"��"�����������%�����d�����h�����������l��4�������e�����$��$��<��<���������l��������������l��T��<��������\��A�����$���������%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���$���$���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���%���!���!���#��,#�����d��<%��,$��!��� ���"��L"�������������4 ��4��������\�����|��Kc���d���d���c�����4�����������������������������������������������������GW��X��GW��X�� X�� X��eW���X���W���W��CX��CX���W���W���W��CX��CX��j��Ci��\h���g���l���j���k���k���e��~X���a��Pa��T`��\��"[��^��]��_��_��SY���d��lZ��+���������Y�������p���Q�����������H!��H!��њ��3���)�����������f���f��zc��ac��,f��f��Ef��'W��'W��!��!��Dc��'c��c���b���b�� ����������x��X��H��<���� ��� ��h�<�<�H�H�v���E�����������֙������������� ��� �����s���i���E���������P���a���������������������H ��H �����x��g�$��������n��2��D������� �� �� �� ��B��������b�����k=��9��)A��$=���>���9���?���?��m:���F���=���������������������������%���%���%��|%��l%��T%��<%��$%��%��%���$���$���$���$���$��<&��,&��&��&���%���%���%���%���$��d&��L&���%��$��$��$��$��$��$��$���#��$��$���#��$��$��$��$��$��$��$��$���#��$��$���#��$���#��$��$���*���*���+���,��$+��-���4��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5��w5���)��t4��w5��w5���3��w5��w5���3���,��/��80��5.��U.���0���4���6���6���6���6���6���6���6���6���6���6���6���6���6���6���6���6���6���6��L.��	*���6���6���4���6���6���4���L���H���H���H���H���H��I��I��I��I��I��I��I��I���I��I��I��I��I��I��I��I��I���H���H���H���H���H���H��LM��LM��LM��LM���L���L��LM��LM���L���L���L���L��tL���L��LM���L���L���L���L��LM��LM���L���L���L���L��tL���L��LM���L���L���L���L��LM��LM���L���L���L���L��tL���L��LM���L���L���L���L��LM��LM���L���L���L���L��tL���L��LM���L���L��dL��dL��DL��DL��dL��dL��$L��$L���K��dL��DL��dL��$L���H���H���H���H���H���H���H���H���H���H���H���H���K���K���K��$K��$K���J���J��lJ���H��TJ���L���L���L���L���L���H���H���H���H���H���H���H��I��I��I��I��J��J���I��I��I��J��J���I���H���H���H���H���H���H���I���I���I���M���H���M���H���M���H���M���H���M���H���I���I���H���I���S���S���S���S��(R��(R��XU���U���U���U���U��W���S���S���S���S���V��xV���S��PV���S��xV���S���S���S���S���S��8V���S���R��lR���S���S��(V��(V���R���R��(V��(V��V��V���R��(V���R��(V��V��HU��HU��lR��lR��HU��HU��(U��(U��hR��HU��lR��HU��(U���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S��<R��<R��(R��(R��<R��<R��8R��8R��R��<R��(R��<R��8R��R��R��R��R��R��R��R��R��R��R��R��R���R���R���T���S���S���S���S���S���T��xT���S���S���S���S���S���S��(T���Q���Q���Q��(T���Q��(T��(T��(T��(T��(T��(T���S��(T��(T��(T��(T���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S���S��xU���U���U���U���U���U���U��Q��Q��Q��Q��Q��V��Q��&V��Q��V��MARK��~!%,5N=>FOLgV]\d�nw^~�����C�h���`�D�	���
���?	
%�+i4PIjQ�Ybkv}k���������������Q�RS-T6U=ENEWb hlomy{~!�"�F�#�n�$�V�����	�G�H��o���%�_�p���
�!W.q<aMbbcgjro&ys}��'��t���
�(���@�������)�I���*uv%+1�=XOYZ,`�f-npw}x�z�����A�B����y�J�.��Z�K��d�/{�0"%(�0e=�ELO1\2c3k4t5{[�\�f�6���7�8�9�:�;�|�<��M���}���
=
�!$AdlamAhomAnatolian_HieroglyphsAnyArabicArmenianAvestanBalineseBamumBassa_VahBatakBengaliBhaiksukiBopomofoBrahmiBrailleBugineseBuhidCCanadian_AboriginalCarianCaucasian_AlbanianCcCfChakmaChamCherokeeCnCoCommonCopticCsCuneiformCypriotCyrillicDeseretDevanagariDograDuployanEgyptian_HieroglyphsElbasanElymaicEthiopicGeorgianGlagoliticGothicGranthaGreekGujaratiGunjala_GondiGurmukhiHanHangulHanifi_RohingyaHanunooHatranHebrewHiraganaImperial_AramaicInheritedInscriptional_PahlaviInscriptional_ParthianJavaneseKaithiKannadaKatakanaKayah_LiKharoshthiKhmerKhojkiKhudawadiLL&LaoLatinLepchaLimbuLinear_ALinear_BLisuLlLmLoLtLuLycianLydianMMahajaniMakasarMalayalamMandaicManichaeanMarchenMasaram_GondiMcMeMedefaidrinMeetei_MayekMende_KikakuiMeroitic_CursiveMeroitic_HieroglyphsMiaoMnModiMongolianMroMultaniMyanmarNNabataeanNandinagariNdNew_Tai_LueNewaNkoNlNoNushuNyiakeng_Puachue_HmongOghamOl_ChikiOld_HungarianOld_ItalicOld_North_ArabianOld_PermicOld_PersianOld_SogdianOld_South_ArabianOld_TurkicOriyaOsageOsmanyaPPahawh_HmongPalmyrenePau_Cin_HauPcPdPePfPhags_PaPhoenicianPiPoPsPsalter_PahlaviRejangRunicSSamaritanSaurashtraScSharadaShavianSiddhamSignWritingSinhalaSkSmSoSogdianSora_SompengSoyomboSundaneseSyloti_NagriSyriacTagalogTagbanwaTai_LeTai_ThamTai_VietTakriTamilTangutTeluguThaanaThaiTibetanTifinaghTirhutaUgariticUnknownVaiWanchoWarang_CitiXanXpsXspXucXwdYiZZanabazar_SquareZlZpZs	

( �?( �&�!(!�!(!( ( (`�����������������`'"^%#$}`'"^%#${

�( ) ����	 ��         	 
 / _ 0����!!	
			
						 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"# ! ! !# ! ! ! ! ! ! ! !# ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !$ ! ! !%&' ! !( !)) !#*+, !)-./0 !1#/234 ! ! !5 !5## !5 !66 ! !7 !# !#89:;<=>?@A ! ! ! ! ! ! ! !B ! ! ! ! ! ! ! ! !#CDE !FG ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !H# ! ! ! ! ! ! ! ! !######I !JKLL !MNO ! ! ! ! !PQRST#UU#V#WX###UY#Z#[\#]^\_`##^#ab##c#######d##e#fe###gehiij#####k#########lm#################nnnnnnnnnooooooooooooooooooooonnnnnppooqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtttttttttttttuvuvowuvxxyzzz{xxxxw|}}}x~x������������������x�����������������������������������������������������uvuvuvuvuv���������������������uv�uv��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x��������������������������������������xx��������������������������������������������������xx���x�������������������������������������������������������xxxxxxxx���������������������������xxxx������xxxxxxxxxxx�����������������������������x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x������������������������������������������������������������xx�����������������������������������������������������������������������������������������������������xxxxxxxxxxxxxx�����������������������������������������������������������xx�������������������������������������������������xx���������������x����������������������������xx�x�����������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������x��������xxxxxxxxxxxxxxxxxxxxx�������������������������������������������������������������������������������������������������������������������������������qq�����������������������������xxxxxxxxxxxx	xxxxxxxxxxxx	xxxxxxx










xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx      xxxxxxxxxx!"x""""""xxx"""x""""xxx""x"x""xxx""xxx"""xxx""""""""""""xxxx#$!$$xxx$$$x$$$!xx"xxxxxx#xxxxxxxxxxxxxx%%%%%%%%%%&&&'((((()(xxxxx*+++*,,,,,,,,x,,,x,,,,,,,,,,,,,,,,,,,,,,,x,,,,,,,,,,,,,,,,xxx,***++++x***x****xxxxxxx**x,,,xxxxx,,**xx----------xxxxxxx.///////01233411111111x111x11111111111111111111111x1111111111x11111xx213233533x233x3322xxxxxxx55xxxxxxx1x1122xx6666666666x11xxxxxxxxxxxxx7788x99999999x999x99999999999999999999999999999999999999999779:887777x888x8887;<xxxx999:=======99977xx>>>>>>>>>>=========<999999xx??x@@@@@@@@@@@@@@@@@@xxx@@@@@@@@@@@@@@@@@@@@@@@@x@@@@@@@@@x@xx@@@@@@@xxxAxxxxB??AAAxAx???????BxxxxxxCCCCCCCCCCxx??DxxxxxxxxxxxxEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEGFFFFFFFxxxxEEEEEEHFFFFFFFFIJJJJJJJJJJIIxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKKxKxKKKKKxKKKKKKKKKKKKKKKKKKKKKKKKxKxKKKKKKKKKKLKMLLLLLLLLLKxxKKKKKxNxLLLLLLxxOOOOOOOOOOxxKKKKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPQQQRRRRRRRRRRRRRRRQRQQQSSQQQQQQTTTTTTTTTTUUUUUUUUUUQSQSQSVWVWXXPPPPPPPPxPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPxxxxSSSSSSSSSSSSSSXSSSSSRSSPPPPPSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxQQQQQQQQSQQQQQQxQQRRRRRRRxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ[[[[\[[[[[[Z[[\\[[Y]]]]]]]]]]^^^^^^YYYYYY\\[[YYYY[[[YZZZYYZZZZZZZYYY[[[[YYYYYYYYYYYYY[Z\[[ZZZZZZ[YZ__________ZZZ[``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxaxxxxxaxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcdbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxhhhhxxhhhhhhhxhxhhhhxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxhhhhxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxhhhhxxhhhhhhhxhxhhhhxxhhhhhhhhhhhhhhhxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxhhhhxxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxiiijjjjjjjjjkkkkkkkkkkkkkkkkkkkkxxxhhhhhhhhhhhhhhhhllllllllllxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnxxooooooxxpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrsqqqqqqqqqqqqqqqqqtuuuuuuuuuuuuuuuuuuuuuuuuuuvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxxxxxzzzzzzzzzzzzzxzzzz{{{xxxxxxxxxxx||||||||||||||||||}}}~~xxxxxxxxx��xxxxxxxxxxxx�������������x���x��xxxxxxxxxxxx����������������������������������������������������������������������������������������������xx����������xxxxxx����������xxxxxx���������������x����������xxxxxx�����������������������������������������������������������������������������������������xxxxxxx�������������������������������������������xxxxxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxxxxxxxxxx�������������������������������x������������xxxx������������xxxx�xxx������������������������������������������xx�����xxxxxxxxxxx��������������������������������������������xxxx��������������������������xxxxxx�����������xxx��������������������������������������������������������������xx�����������������������������������������������������������������x�����������������������������xx�����������xxxxxx����������xxxxxx��������������xxqqqqqqqqqqqqqq�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx����������������������������������������������������������������������������xxxx���������������������������������������������xxx��������������������������������������������������������������������������������������������������������������������xxxxxxxx������������������������������������������������������������xxx���������������xxx������������������������������������������������������������xxxxxxx�������������������������������������������xx�����������xxxxxxxx�������������������������������������������xxxxx######################################������nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyyyyynnnnyyyyy#############��###�################�############nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqq ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !�� ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !#####�##�# ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !����������������������xx������xx��������������������������������������xx������xx��������x�x�x�x�������������������������������xx�����������������������������������������������������x�������w�www���x�������www����xx������xwww�������������wwwxx���x�������wwx��





����	�	�nxx			n			xnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxqqqqqqqqqqqqq����q���qqqqqqqqqqqxxxxxxxxxxxxxxx								















 !xxxx				
																																																																																																																																																																																								xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx					



	
																																																																																																								

																																																																																																																																																																																																									xxxxxx ! ! ! !# !# !#####nn��������������������������������������������������������������������������������������������������������   ��xxxxx!!!!"!!######################################x#xxxxx#xx$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$xxxxxxx%&xxxxxxxxxxxxxx'hhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxhhhhhhhxhhhhhhhxhhhhhhhxhhhhhhhxhhhhhhhxhhhhhhhxhhhhhhhxhhhhhhhx((((((((((((((((((((((((((((((((

o


)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx**************************x*****************************************************************************************xxxxxxxxxxxx**********************************************************************************************************************************************************************************************************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++,-./01010101012010101013455/////////6666778999992///-:;<<x======================================================================================xx>>??@@=ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB+9CCBxxxxxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDxEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEx<<FFFF<<<<<<<<<<DDDDDDDDDDDDDDDDDDDDDDDDDDDxxxxx<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<xxxxxxxxxxxxBBBBBBBBBBBBBBBBGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGxFFFFFFFFFF<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFF<<<<<<<<<<<<<H<H<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII<IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxxxKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRSSSQQQQQQQQQQQQQQQQTTTTTTTTTTQQxxxxxxxxxxxxxxxxxxxx����������UV����������������������������������W����X((((((((((X�������������������������������((YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZ[[\\\\\\xxxxxxxxooooooooo ! ! ! ! ! ! !## ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !n######## ! !] ! ! ! ! !o !^# ! !_# ! ! ! ! ! ! ! ! ! !`abc`#defg ! ! ! ! ! !xx !hijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnn#kklkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkmmllmnnnnxxxxooopppqqrqxxxxxxssssssssssssssssssssssssssssssssssssssssssssssssssssttttxxxxxxxxuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuwwxxxxxxxxxxyyyyyyyyyyxxxxxx�����������������z�{��������||||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~�������������������������������������xxxxxxxxxxx�eeeeeeeeeeeeeeeeeeeeeeeeeeeeexxx������������������������������������������������������������������������������x�����������xxxx��YYYYY[�YYYYYYYYY__________YYYYYx�������������������������������������������������������xxxxxxxxx��������������xx����������xx����YYYYYYYYYYYYYYYY�YYYYYY```YZ[ZYY�������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxx����������������������������xxxxxxxxxxhhhhhhxxhhhhhhxxhhhhhhxxxxxxxxxhhhhhhhxhhhhhhhx###################################�#######nnnn#####�##xxxxxxxx������������������������������������������������������������������������������������������������������������������������������xx����������xxxxxx��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxfffffffffffffffffffffffxxxxgggggggggggggggggggggggggggggggggggggggggggggggggxxxx����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#######xxxxxxxxxxxx�����xxxxx��������������������������x�����x�x��x��x����������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxx�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxx����������������������������������������������������������������xx������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��������������xxqqqqqqqqqqqqqqqqxxxxxxqqqqqqqqqqqqqq((

,,x
	
			xxxxx�����x���������������������������������������������������������������������������������������������������������������������������������������xxx	
					+01++BBBBBBBBBB9BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB��EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEExxxEEEEEExxEEEEEExxEEEEEExxEEExxx	x				x���������xx������������x��������������������������x�������������������x��x���������������xx��������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������������������������������������������������������������������������������������������xxxxx���xxxx���������������������������������������������xxx����������������������������������������������������������������������������������������xxxxx�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�����������������������������xxx�������������������������������������������������xxxxxxxxxxxxxxx����������������������������xxxx������������������������������������xxxxxxxxx������������������������������xxxxx�������������������������������������������xxxxx������������������������������x�������������������������������������xxxx��������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��������������������������������������������������������������������������������������������������������������������������������������������������������������xx����������xxxxxx������������������������������������xxxx������������������������������������xxxx����������������������������������������xxxxxxxx����������������������������������������������������xxxxxxxxxxx�xxxxxxxxxxxxxxxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxx����������������������xxxxxxxxxx��������xxxxxxxxxxxxxxxxxxxxxxxx������xx�x��������������������������������������������x��xxx�xx�����������������������x������������������������������������������������������������������������xxxxxxxx���������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������x��xxxxx���������������������������������xxx���������������������������xxxxx�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��������������������������������������������������������xxxx��������������������xx��������������������������������������������������x��xxxxx��������x���x�����������������������������xx���xxxx����������xxxxxxx���������xxxxxxx����������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������xxxx������������xxxxxxxxx������������������������������������������������������xxx�����������������������������xx���������������������������xxxxx��������������������������xxxxxxx����xxxxxxxxxxxx�������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������������������xxxxxxxxxxxxx���������������������������������������������������xxxxxxx����������������������������������������������xxxxxxxx����������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������������������x����������������������������������������xxxxxxxx������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�����������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxx		
				xxxxxxxxxxx
xxxxxxxxxxxxxxx















xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx       x x    x               x          !xxxxxx"""""""""""""""""""""""""""""""""""""""""""""""#$$$########xxxxx%%%%%%%%%%xxxxxx&'()x********xx**xx**********************x*******x**x*****x+'*,(&((((xx((xx(((xx*xxxxxx,xxxxx*****((xx&&&&&&&xxx&&&&&xxxxxxxxxxx-----------------------------------------------------...////////..///./----000001111111111x0x0/-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx222222222222222222222222222222222222222222222222344555555454434554552262xxxxxxxx7777777777xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx888888888888888888888888888888888888888888888889::;;;;xx::::;;:;;<<<<<<<<<<<<<<<<<<<<<<<8888;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx================================================>>>????????>>?>??@@@=xxxxxxxxxxxAAAAAAAAAAxxxxxx�������������xxxxxxxxxxxxxxxxxxxBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCDCDDCCCCCCDCBxxxxxxxEEEEEEEEEExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFFFFFFFFFFFFFFFFFFFFFFFFFFFxxGGGHHGGGGHGGGGGxxxxIIIIIIIIIIJJKKKLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNOOOOOOOOONOOPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTxxxxxxxxxxxxUxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxVVVVVVVVxxVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWXXXXxxXXWWWWXVYVWxxxxxxxxxxxxxxxxxxxxxxxxxxxZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[\][[[[^^^^^^^^[xxxxxxxx_``````aa```________________________________________bbbbbb`````````````a``ccc_cccccxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxeeeeeeeeexeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefgggggggxggggggfgehhhhhxxxxxxxxxxiiiiiiiiiijjjjjjjjjjjjjjjjjjjxxxkkllllllllllllllllllllllllllllllxxmmmmmmmmmmmmmmmmmmmmmmxnmmmmmmmnmmnmmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoooooooxooxooooooooooooooooooooooooooooooooooooooppppppxxxpxppxpppppppqpxxxxxxxxrrrrrrrrrrxxxxxxssssssxssxsssssssssssssssssssssssssssssssstttttxuuxttutusxxxxxxxvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwxxyyzzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{{{{{{{{{{{{{{{{&&{&{(((((((())))(((((((((((((((((xxxxxxxxxxxxx|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xxxxxxxxxxxx}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x���������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYxxxxxxx�������������������������������x����������xxxx��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx������������������������������xx������xxxxxxxxxx����������������������������������������������������������������������xxxxxxxxxx����������x�������x���������������������xxxxx�������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������������������������������������������xxxx���������������������������������������������������������xxxxxxx�����������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��oxxxxxxxxxxxxxxxxxxxxxxxxxxxx��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxx�������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxB==============================================================================================================================================================================================================================================================================================xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx===xxxxxxxxxxxxxxxxxBBBBxxxxxxxx����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxx�����������������������������������������������������������������������������������������������������������xxxxx�������������xxx���������xxxxxxx����������xx��������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��qqq������qqqqqqqqqqqqqqqqqqqxxxxxxxxxxxxxxxxxxxxxxx����������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFFFFFFFFFFFFFFFFFFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx										xx����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxx�����x���������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�������x�����������������xx�������x��x�����xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������������xxx��������������xx����������xxxx��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx����������������������������������������������������������xxxxx������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xx����������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx����������������������������������������������������������������������������xxxx����������xxxx��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx����x���������������������������x��x�xx�x����������x����x�x�xxxxxx�xxxx�x�x�x���x��x�xx�x�x�x�x�x��x�xx����x�������x����x����x�x����������x�����������������xxxxx���x�����x�����������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx��xxxxxxxxxxxxxx������������������������������������������������������������������������������������������������������������������������������������������������HH������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq����������������������������������������������������������������������������������������������������������������������������������������������xx	

 !"#$%&'()))*+,-./0123456789:;<=>?@ABBCDEFGHIJKLMMNOBBPQRSTUVWXYZ[\]^_`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdeffffffffghhijklmnopqrstuvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvwxyz{uvw|}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bb�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������G���������������������������������������������������������������������������������������bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	b
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb������������������������bbbb
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
























"	 ""	d ""	 "



"��""d��""��"



""









"	h ""�""h��""y""	""����""	""""	����""�""�""	�""	�""	�""	O""	�""	�""	�""a""	�""	�""�""	�""�""	�""	�""	�""	�""8""	""""����""		""	""	����""	
""
""
����""����""	""""����""	����""	���""	~���""	+*""	]���""	(*""?*""	=���""	E""	G""*""*""*"".���""2���""3���""6���""5���""O�""K�""1���""(�""D�""/���""-���""�)""A�""�)""+���""*���""�)""&���""C�""*�""����""'���""����""%���""�""�"""

t"	�����	t	&	%	@	?	 	" 	; 	& 	 	3 	 	/ 	7 	 	+ 	` ��������"��;��&������3������/��7����+��`����������	"��&��	+�/������	����3���7�������	&���;����	����	~���
	P

	 

	? 

	C 

	G 

	K 

	O 

	T 

��

?��

C��

G��

K��

O��

T��

����

	

����

	X

X����



�
��


	

�
	0���
�


����
o���
����
222222228888@
@@@@@@@@@@@@@ZZZZZZZZ______
D�Q�
�
�
��


��

�

�,,,
,,,,
,,
,,,,,66666
66
66
�6�6�6666777
7777
7777777


��%%%
%%%%
%%%%%%%%
%0
000000
00
00099999999999
9!!!!!!!!!
!:::::::::
::::::::
:'''
''''
''
��'''
'''	`�
�		З					����	))))))))....3333
��4444     
        
   &&
��&&&&&&&
&&&&&#####
######
#55(((
(((((  
[[[
[[[[
[[
[[[[[>>>
>>>>
>>
>>>>>LLL
LLLL
L]]]]]
]]]FFF
FFFFFF
FI
IIIIIII
?��

C��

G��

K��

O��

O��

T��

X��

lÉ
	@�LL��
���v�

�
�
�

f�
���

�
�



"�""�""8�""	\""\����""\���""	A�"	����JVd�p~����		����������	����	����	����	����	����





��

��
	


	`��"	dA��""	h���""	"



"��""""�"""






��
	0���"		��""	�""	��""���""���""	���""	��""	���""	���""	���"��;;;;;;;;


�
}�
��

}�
}�
��
��
��
���

��
�
��
��
�
�
�

======VVVVVVMMMMMMM
M
	l

l=v��




OOOOOOOO"	�u��""	�Z��""0""	�Z��""	�Z��""	�Z��""	�Z��""	�Z��""	�Z��""	�Z��""	�""	���""	�Z��""	�u��"11111
111
(�
6�
]�
]�AAAAK
KKKKKKKK
K��E
EEEEE
��EEJJJJJ
JJJTTT
TTTTT
�T
T''DDDDD
DD
DDD\\\\\\\\WWW
WWWWWWW"`���"	0h��	W
W	
����
�$$
�
��
�GGCC��
��****vvvv<<<<++++++	(���//---
-�	(������jjhhhhnnQQQQQQxxxxxxtttt����BBBBBBHHHHbbaaaaXXXXXXuuuuppppppppppNNNNSSSSRRRRyyyyyyYY�	@��������������
���������������^
^^^^^^^^^^
^UUU
UUUUUUUeee
e`````
``
```ooooooddd
dddddddd
d00lll
lllll����mmmmm
mm
mkkk�k
kk
�kk�k
k���
������
�|||
||
||||||
|{{{
{{
{{{{{rrr
rrrrrr
rfffff
ff
f~~~~~
~~
~~~~~~~���
�����}	 }}��}}
}}}}}���
����������
����������
�����zz���
������
����������
��������
����
����
������
���6666??????PPPPsss
sssggggggwwwwwwwwwww
www�	 ���������ccccc
ccc��������iiiiiiii
i





�������������
��������
���qqqqqq�	"�����������
���





�28T$

"
vk�d6"k6l��"&&A28`1`'5n$kk"E"'�28k43�Uo=%,67�_py��2k�,7|�lUormf|k"%,67|k"%,d67|�lUor�mf|�lUo%r�mf|���ko%�,m01f67|���k#o%�,m01f67|?9i��o	�	o
�
o�o�o
�
Y�)I��O���Y�IY)�٨	�٩��Y�����9
o�?��Y�Y�9�YY�ijYk����������I���Y�����Ss��������������������������������E�����������������������������������������������������������������������2�����4�����>�����!A�����"B������*J�����bc�����`a�������&!����Kk*!������+!�����J�K�����12.1.0�����������H������P�p�`�x���@��0�0���(���h�����	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~�����������������������������������������������������������������������������������������������������������������������������>�~~�����������������������������������������x�����;���� ���� ���0�����d������	p��X	��l	���	����	p��x
����
��
0��
��\����� ��������4
����|
p����
��
����<pD���`F����F���G��PH��l`T��� ���x�������������� ���(p���T���p���������0���������Я������ ���,@���@`���T����h����|����������������������� ���0���@���0P���D`���Xp���l�������������������в���0���0��P`��h����p����?����Q��0`R��HW���pX����X���`Y����Z��4P[��H`_����b����d��4�e��Tf��| h���pi����j���j���j��8@k��ppk���Pl���pm����o��H�q��\@r����r���ps��� z��D`{����|���}��~��4���������4�������� ����� `���\!0����!Ж��8"�#@���H#����\#�����#�����#`���($���x$��$`���%����`%�����%����(@���P(�����(�0)�����)0���)`��8*���`*����*���+����+���+`��-����-��.��P.�.��.���.���/ ���l/@����/����00���1p��p2  ���2�!��3#��\3�#���3�,��53���506���6�8��,7<��8 >��x8�@���8@C���9pD���9 E��(:@F��t:�O���;�Y���<@_���= k���@Px��D~���Dp����E�����E@����G���,I���J`���P0-���S�Z��<U�|��tW����XP����Z����\��]�-���`0/���`01�� ap1��La�1���ap2���a�3���a�3��b@4��8bP4��Lbp4��`b�7���b�7���b 9���bp>��Tc {���c`{���c�{��d�{��$d�{��8d�{��Ld�{��`d|��td |���dp~���dЀ��(e����@e0���\e����e����e0����f�����fТ���f����f@���g���� gУ��4g ���HgP���\g����pg��g`���@h����Thp����hp����h ��� i�����i ���iP��j ��j���\j����j��j@�k��Tk���k���k`��kp�l���lzRx�$���PFJw�?:*3$"D0���@\���Lp���y
B�B�E �E(�D0�D8�G�m
8A0A(B BBBDP�D���F�B�B �E(�A0�C8�G�
8A0A(B BBBDD���ZB�E�A �C(�x
 AEBES
 ABBHT\��]B�J�J �B(�D0�D8�D`rhQ`s
8A0A(B BBBDih[`��������x�����B�E�E �E(�D0�A8�G@�
8A0A(B BBBEO
8F0A(B BBBBw
8A0A(B BBBGxX����B�E�E �B(�D0�C8�GP�
8A0A(B BBBG�
8F0A(B BBBAD8C0A(B BBB����H����wB�E�E �E(�D0�F8�K`$
8A0A(B BBBD4 ��!lH<���	B�B�B �B(�A0�D8�D� 
8A0A(B BBBE\�J�U�A�d�I�P�A�t����B�E�E �E(�D0�D8�DPx
8A0A(B BBBAD
8F0A(B BBBEZ8A0A(B BBBH0���B�B�B �B(�D0�A8�D`,
8A0A(B BBBI`|X�#B�H�B �E(�D0�D8�DP�
8A0A(B BBBGV
8A0A(B BBBA`�$�XB�E�B �B(�A0�A8�D`�
8A0A(B BBBI�8F0A(B BBBHD �vB�J�H �B(�F0�D8�D`
8A0A(B BBBJD�T��B�D�J �E(�D0�C8�GP�8D0A(B BBB\���B�B�B �B(�A0�A8�4
0A(J BBBA�
0C(E BBBA8��zHL��B�B�B �B(�D0�A8�D@j
8C0A(B BBBAh�<��DB�B�B �B(�A0�A8�G���A�I�B�I�B�f��
8A0A(B BBBDL�5���B�B�B �B(�A0�A8�D�
8A0A(B BBBF T`7��fJ�B
DCM�0x�7���E�A�D �
AAIPDA�H8��aJ�M����8��LF�B�E �B(�A0�A8�D��
8A0A(B BBBE��c�K�A�g�K�P�B���B�L�B��LhD���VF�B�B �B(�A0�A8�H��Q
G���
8A0A(B BBBA"��E��M��A����B��U��A��	��D��B��Q��Q��Q��X��A��D��B��G��G��G��i�����J��I��I��`�����H��I��I��`����W��N��B�����[��U��A��,��H��B��I��`�����H��B��I��`��8��E��U��B��V��H��B��I��X��]��E��B��I��f��t
��J��B��I��RP��G��O��B�����J��B��I��`�����P��U��B����H��I��I��`�����J��I��I��`�����B��e��A�����J��I��I��`�����G��O��B��d�
����yE�
DQ
GI
GI
GI
GI
GI
GI
GU
KS
MP
HF
BN
DF<����	P����	d����YE�c
Hh(��LF�N�D �pAB�����E�������E������[E�UP���)E�c d���DE�~<����NE�HX̛��*E�dt��������������������������
���
 ���
(
���
<
���P
���d
���x
���
�
���
�
���
�
����
����	�
�����
�,���VM�D�F M
AAJ`��40����Hܜ��_L\(����%F�B�B �B(�A0�C8�O�?
8A0A(B BBBH����!0����0E�H��
AHb
AElA8�����B�B�B �A(�D0�[
(A BBBC�4���qdB�E�B �B(�A0�A8�J��
8A0A(B BBBA��H�H�A�Y���K�I�A�V��W�E�G�V�8�O�]�B�9	�H�E�A�a���H�E�A�m���R�]�A�t0(���F�B�B �B(�A0�A8�H��Q
G�����B��H��D��[��
8A0A(B BBBE�H9���D�:���H�L�K �E(�A0�K8�
0A(B BBBG�h>��d(�?��[B�D�A �OAB0�?���HDp@���B�B�B �H(�D0�C8�DP\8A0A(B BBB��A��mX�B��F�R�I �E(�A0�A8��
0A(B BBBD0D(B BBBD�E��nF�J�B �B(�G0�A8��
0A(B BBBHDH�H���F�[�B �B(�A0�A8�
0A(B BBBE��J���E��
FC$�4K��xH��Q
D��U
AL��K��B�B�A �A(�N04
(A ABBB~
(E ABBH(LM��BA�r
MH|N��(\�O��E�Vx�O��E�Y4��O��\J�D�G r
AAGDCAA����O��*Q�L��O���<��P��B�H�B �D(�D0��
(A BBBHd<�Q��~B�H�E �E(�A0�C8�DH�
8A0A(B BBBK.
8F0A(B BBBC��S���(��U��HA�D�G k
AAG<��U���B�I�E �G(�L0�C
(A BBBC,$V���F�D�D �T
ABKHTpV���B�J�N �K(�A0�D8�I`5
8D0A(B BBBKH��\��1B�B�H �B(�A0�D8�F@}
8D0A(B BBBEH��]��B�B�H �B(�A0�D8�F@y
8D0A(B BBBA88�^���B�B�A �A(�D0^
(D ABBGt�^���D D
H���_���B�H�D �D(�G0]
(A DBBAr
(A AEBEe
(D ABBBA
(D ABBFb
(F AEBHD(F ABB$�`��DQ�d
KCHDa���B�K�I �F(�D0�D8�DPH
8D0A(B BBBC���e���B�E�B �D(�D0�F@�
0D(A BBBEy
0D(A BBBDd
0A(A EBBIf
0A(D BBBGy
0D(A BBBDH,�g��AB�K�L �F(�D0�C8�DPS
8D0A(B BBBFdx�m���B�H�E �B(�D0�A8�F@�
8D0A(B BBBK�
8I0D(G BBBE��q���B�H�B �B(�D0�C8�FPy
8I0D(E BBBLV
8G0A(B BBBJxXK`KXAPL
8A0A(B BBBCBXK`NXAP^
8G0C(B BBBL]
8I0A(B BBBIH8A0A(B BBBt��q���B�B�B �D(�F0�G
(A BBBJe
(A BBBDD
(A BBBE�
(A BBBC`0Ts���B�B�B �B(�A0�A8�DP{
8A0A(B BBBEf
8I0F(E BBBH���t��B�B�B �B(�A0�A8�D`
8C0A(B BBBG?
8D0A(B BBBL_
8D0A(B BBBLLhKpJxB�I`XhKpJxB�I`\hKpYhB`FhKpJxB�I`x
8P0A(B BBBK/hVpShA`(x�~��HA�D�G k
AAG��~��C@�,��B�A�A ��
ABBz
DBHDAEL�����N�E�D �Q(L0`(A P
�A�E�EA
CBJ@���4L�����A�A�D �
DAF^
DAEL�0����B�B�D �D(�D@�
(A ABBAy
(A ABBA4������B�B�D �A(�D0�(A ABBL8���gB�B�A �A(�D0�
(C ABBG~
(C ABBJ\\X���:B�E�G �D(�F0`
(D ABBGg
(D ABBHd
(A AEBC`�8����B�B�B �B(�A0�A8�D`|
8D0A(B BBBIv
8D0A(B BBBM@ �����
B�M�G �K(�I0�D8�D@MHIP]HA@uHMPXHA@EHKPYHB@BHBP_HB@BHBP^HG@\HBP^HA@BHBP^HA@BHBP^HB@BHBP_HE@
8A0A(B BBBHQHBP^HA@r
8A0A(B BBBJE
HMPXHA@EHKPXHA@BHBP^HB@BHBP_HH@\HKPVHB@BHBP_HB@BHBP^HG@\HLgHKPYHB@BHBP_HA@BHBP^HG@\HKPUHA@BHBP^HB@BHBP_HH@\HGPZHB@BHBP_HB@BHBP^HD@e
HBPIiHMPTHA@BHBP^HA@BHBP^HA@BHBP^HB@BHBP_HB@uHKPXHA@BHBP^HB@BHBP_HH@�HKPUHB@BHBP_HB@BHBP_HA@BHBP_HB@Dd p����B�K�B �B(�D0�A8�DP�8A0A(B BBB�� ��=B�B�B �A(�A0�V8G@Y8A0E8B@^8D0z
(A BBBGB8M@S8A0A
(A BBBEf8G@Z8D0�(A BBBL<!����hQ�B�A �A(�G0r
(A ABBD`����H0����l�!�����B�H�J �K(�F0�H8�DP`
8A0A(B BBBE@XK`UXFP�8A0A(B BBBL�!���oB�Q�J �I(�A0�_
(A BBBC�
(A BBBGDL"8���(B�A�A �W
ABBI
ABDs
ABJ$�" ���UA�I�W jDAL�"X���B�B�E �A(�A0��
(A BBBD�
(A BBBC`#(����B�M�J �I(�D0�M8G@`8C0^
(A BBBF�8J@V8A0r(A BBB�p#����B�M�M �F(�D0�M8G@Y8L0b
(A BBBH�
(A BBBCm8K@V8B0E8B@d8A0J8M@S8A0B8B@^8A0E8B@f8B0L$,���B�B�E �A(�A0��
(A BBBH�
(A BBBKX$����X
B�E�B �E(�D0�D8�Dp^xN�VxBpNxM�TxGp
8A0A(B BBBHzxM�SxApBxB�^xEp+xM�TxApBxB�^xApBxB�^xApFxB�^xDp@xG�ZxIp|xM�SxApFxB�^xDpixG�YxBpBxB�\xDp
xK�P�`%T���B�E�B �E(�A0�A8�DP�XB`FXHPk
8A0A(B BBBBRXM`SXDP~
8A0A(B BBBBSXP`KXEP�XN`SXBPD
8A0A(B BBBAH&ı���B�B�J �E(�A0�D8�Gp�
8M0F(G BBBEL\&x����B�B�B �E(�A0�F8�O�/
8A0A(B BBBF8�&(��sQ�D�G fDAI��H ��UDA�&l���D �
A$'���HA�QN FDOH,'���B�B�B �B(�A0�A8�D`
8D0A(B BBBFLx'���IB�B�A �A(�D0�
(D ABBGT
(C DBBIl�'���B�B�B �B(�A0�A8�DP�XJ`OXBPG
8D0A(B BBBF�
8A0A(B BBBK8(\���B�E�B �B(�D0�D8�D`YhFp^hJ`�
8D0A(B BBBH%hBpFhA`BhBp[hG`HhKpUhG`�hOpQhA`VhLpUhI`ShFp]hI`�hMpThG`�hMpShG`�hMpThE`�hMpShD`LhMpShF`BhKpVhF`phBpFhF`;hMpShD`�hNpShD`�X)���EB�B�E �B(�A0�A8�DP�
8A0A(B BBBB�XK`RXFPQXG`YXAP
XG`]XBPBXB`\XGPTXG`ZXEPGXG`\XDP��)��=
B�B�B �B(�A0�D8�D`0hLpZhA`a
8A0A(B BBBEwhBpFhD`WhBpGhD`ThGpZhG`"hGpZhE`ahGpZhB`EhBp_hD`ChLpThA`�hGpYhD`yhKpXhD`
hJpThA`T�*���K�M�J X
K�A�JD(G0U(A D
AAIR(H0F��H ��H$+P��B�J�B �E(�A0�A8�DPV
8A0A(B BBBGDp+��B�D�A �j
ABD}
ABHj
ABC,�+���B�D�A �d
ABBx�+\��B�G�B �B(�A0�A8�G�W�G�Y�D�j�G�Z�D�C�G�Z�E�{�G�Y�C�C�G�Y�D�r�M�T�D�E�G�Z�C���M�T�D�E�G�Z�D�^�B�F�H�i�G�Y�D���G�Z�E�r�L�U�E�o�K�U�B�X
8I0A(B BBBMB�M�T�C�n�G�Y�C�[�J�V�C�n�G�Y�G��d-���.B�B�B �B(�A0�I8�GP\XG`ZXFPyXM`SXEPH
8I0A(B BBBLgXG`ZXDPKXG`]XDPnXG`YXAPEXB`^XGPnXM`SXEP�XG`YXAPEXB`^XGPZXJ`Y8I0A(B BBB�@.$���B�F�A �n(G0Y(G C(G0Y(D D(G0Z(B E(B0_(A B(B0^(A B(B0^(D F(G0Z(B E(B0_(A B(B0^(D I(H0X(A E(B0^(A B(B0^(G DAB�/����^B�J�A �A(�G0G8G@V8F0j8G@Y8A0B8B@^8D0`8G@]8B0B8B@_8A0B8B@b8C0�8J@Y(I ABB��/\��oA�F�G d(G0Y(A B(B0^(A B(B0^(B E(B0\(G M(G0](A B(B0^(D R(G0Z(A B(B0^(A B(B0^(A E(B0[(G M(G0](B B(B0_(D U(H0X(A B(B0^(A B(B0^(B B(B0_(B B(B0aIAXx0���B�A�I �J(G0Y(D �(G0Y(D y(G0Y(E \(J0Z(G �ABh�0����B�G�A �A(�G0_8G@\8D0B8G@Z8D08G@Y8C0a8G@Y8D0I(A ABB�@1��KA�I�G G(K0R(D T(K0S(D W(G0W(A _
IAJY(G0V(C W(G0V(F T(G0Y(B B(B0\(G T(K0S(C T(K0R(C W(G0V(A d�1�	��'A�I�G G(K0U(B B(B0\(G T(K0S(A _
IAKV(K0U(A E(B0[(A 4L2x
���K�D�D 
L�F�LfAAH��H�2�
��B�B�B �B(�A0�A8�D@l
8D0A(B BBBIT�2���A	B�E�B �E(�D0�A8�D���B�G�B�B�B�b�C�N�M�X�B�d�G�Z�B�B�B�^�D�\�K�X�D�d�B�F�E�G�L�W�B���G�Y�A�i�L�Q�D�W
8A0A(B BBBFf�M�F�A�~�L�L�B�:�G�F�A�B�B�[�D�P�G�]�E�P�M�K�A��(4���
B�J�E �E(�D0�A8�DpxI�UxDp`xO�IxGpS
8A0A(B BBBH�xO�FxAp_xM�SxGp�xM�WxEpwxM�XxFpyxE�GxApexM�TxAp�xM�WxDpPxN�JxBpWxM�UxGpbxL�TxAp�xK�IxDp(5����B�B�B �B(�A0�D8�DP�XG`_XDP�XB`GXBPBXB`^XCP]XJ`YXAPBXB`[XDPSXM`[XBPk
8A0A(B BBBGJXM`SXAPBXB`^XDP\XJ`YXBPBXB`\XDP�XG`ZXBPBXB`[XDPSXJ`VXAPBXB`^XDP\XG`\XBPBXB`\XDP�86\!���B�B�B �A(�A0�G�g�G�Z�B�B�B�_�C�e�G�Z�A�B�B�^�A�E�B�^�G�y�B�F�G�J�G�]�E�S�K�U�A�E�B�^�A�B�B�^�B�K�I�U�H�z�B�G�F�X�G�\�A�E�B�[�H�}�B�F�B�B�B�_�B�E�B�\�H�v�K�V�B�E�B�_�B�B�B�^�A�B�B�[�D�}�B�F�B�E�B�\�I�h�B�G�F�X�G�\�C�@�B�F�A�B�B�^�D�y�K�U�A�E�B�^�A�B�B�^�H�|�B�F�G�d�M�T�D�r�M�S�D�B�G�Y�A�B�B�^�B�E�B�_�D�}�B�G�G��K�V�B�E�B�_�B�B�B�_�A�K�M�P�G�d�M�S�G��
0I(A BBBI@$9P*��!
B�B�B �B(�A0�A8�G�d�G�Y�C�l�G�Y�G�g�G�\�B�B�B�_�E�r�M�S�B�E�B�_�H�y�B�G�B�B�B�^�H�_�G�Y�G�D�B�F�B�B�B�_�B�E�B�_�A�N�I�U�H�}�B�F�A�E�B�[�H�Y�M�S�G�y�B�F�B�B�B�_�H�`�G�Z�B�E�B�^�A�B�B�^�A�B�B�^�B�s�M�T�D�r�M�T�D�D�G�Z�D�E�M�T�B�E�B�_�D�}�B�F�A�B�B�^�H�_�G�Y�D���G�Y�D��
8I0A(B BBBEB�M�S�G�y�B�F�B�B�B�_�H�`�G�Z�B�E�B�_�A�B�B�^�A�B�B�^�A�L�M�P�H�h�B�G�D�C�M�S�G�y�B�F�A�B�B�^�I�_�G�Z�B�E�B�_�B�B�B�_�A�B�B�^�A�ph<<4���B�E�E �E(�A0�A8�D`
8F0A(B BBBE"hMpKhJ`NhJpNhJ`NhJpOhJ`,�<x9��lB�G�B �A(�D0�DPOXK`UXAPBXB`^XAP�XM`TXBPBXB`\XGPTXG`ZXAPBXB`[XDP�XK`VXGPp
0A(A BBBG�XM`TXBPBXB`[XFPTXG`YXAPBXB`[XJP�XK`UXBPBXB`_XBPQXK`UXAPBXB`_XBP�XK`UXAPBXB`^XAPXXN`TXEP�XN`TXDPH>�C��:B�E�E �B(�D0�C8�G��
8A0A(B BBBA�X>�O���B�B�B �B(�A0�D8�G��M�S�E���E�G�D�\�K�U�C���N�U�B�D�N�|�A�B�G�Y�B�B�B�_�D�]�G�]�D�d�B�F�D�w�L�y�A���G�Z�O�[�N�V�A�t�M�Y�E���G�Y�E��
8A0A(B BBBF��G�Y�D�}�I�Z�D���M�V�G�t�G�]�G��B�G�B�B�B�\�E�@�G�k�D�L�R�K�A�[�M�V�B�p�M�S�C�j�I�W�A�8L@He���B�E�B �B(�D0�D8�D���O�U�D���G�Y�D���K�\�E�x
8A0A(B BBBIB�O�U�F�*�P�W�B�p�O�U�D���G�Y�D�g�G�]�B���O�V�E���G�^�D�\�G�]�A�N�O�U�E�8�G�Y�D�T�I�^�D���A�v���B�B�E �B(�A0�A8�D���P�F�A���P�G�A���P�G�A���P�S�A�\
8A0A(B BBBKc�M�T�A���G�]�D�X�I�T�C���M�S�A�B�B�^�D�\�J�Y�B�B�B�^�E���P�O�A�z�G�Y�G�G�K�U�E�G�M�T�B�B�B�^�D�\�J�Y�A�B�B�[�G���M�S�C�K�G�Y�D��O�F�B�<C���\(B�E�B �B(�A0�A8�G��M�T�B�B�B�f�C�Z�K�V�A�B�B�^�A�B�B�e�D���M�L�F�o�E�M�A�B�I�U�K�\�H�R�B�B�B�Y�G��
8A0A(B BBBD��B�V�B�]�B�N�C�j�E�F�F�g�E�F�D�w�E�M�A�B�I�S�G�`�M�P�F�T�G�W�A�B�B�Y�G�^�E�N�A�B�I�U�F�T�H�R�G�W�P�F�A�B�M�Q�G�W�B�[�G���B�G�C�m�E�F�C�j�H�F�F�n�R�G�A�E�M�P�F�W�G�Y�A�E�B�[�G�W�E�N�A�B�I�V�G�U�R�F�B�B
�M�Q�F�W�G�V�C�W�Iq�K�Y�H�H�N�G�D�}�Q�Q�F�F�O�G�B�B�M�Q�F�T�K�R�C�W�G�V�F�o�E�N�A�B�I�S�G�0�P�I�A���M�T�G�@�M�T�G���O�N�A�m�M�T�B�B�B�_�D�\�J�Z�A�B�B�[�I���I�U�A���M�V�C�+�I�T�B���J�N�A�G�J�V�B�B�B�_�B�B�B�_�A�B�B�f�G�Y�N�Z�B�A�H�Y�E�K�J�F�C�]�L�R�F�9�M�T�B�G�M�T�B�B�B�_�E�\�J�Z�B�B�B�[�I�_�M�T�B�B�B�^�A�B�B�^�D�N�M�V�A�B�B�^�A�B�B�e�D��P�L�B�U�P�K�A�V�O�K�B�U�J�N�B�U�J�N�A�U�J�M�A�U�J�N�B�S
�G�LP�P�L�B��
�M�S�I�G�B�E�
�K�Es�O�K�D��DIp����&B�B�E �H(�A0�A8�J���H�U�G���G�[�D�O
8A0A(B BBBE7�H�W�E�x�G�Y�E�L�M�S�D���G�Z�E�H�L�U�E���G�Z�E�I�M�S�A�r�M�P�G���G�Y�D�f�M�[�B��T�F�D���H�U�F���K�U�E���K�U�D���K�U�D�l�K�V�D��H�V�D���K�U�E���G�Z�E���B�M�B���B�G�B�W�R�N�A���B�G�B�~�I�U�E��K�U�D�q�K�Q�C���B�Q�C�R�R�I�D���R�I�D��H�\�E���H�[�D���K�V�E�a�I�T�D�a�K�V�E���K����-B�E�B �B(�D0�A8�G��
8A0A(B BBBHr�G�W�J�k�M�X�D���B�G�E���N�R�D���J�\�E���H�\�E�~�B�G�D���H�X�B�B�B�\�J��B�G�E��M�W�G���B�G�G���M�T�A�
�K�F�D���G�K�B�>�G�Y�A��L�N�D���N�S�D���N�U�D�4�M����!B�B�B �E(�A0�D8�G���E�G�E�7�M�T�B�g�B�G�A�m�I�Y�A���B�_�A�G
8A0A(B BBBB��B�N�A��B�J�D�R�O�S�B�j�I�\�E�Q�J�W�K���I�Y�D�_�H�^�A���I�X�B���J�T�A�s�J�V�B���I�X�A��K�V�A���I�Y�E���I�a�F���P�N�A�N�I�`�E���I�Y�D�
�E�K�V�D���K�V�E�g�B�J�D���B�F�A�N�O�S�B�|�N�S�A�L�O%���B�E�E �I(�A0�A8�G��
8A0A(B BBBG,�N�V�D�>�B�L�A���B�G�E�6�H�X�H���N�R�A���B�^�A��H�X�D��B�G�G�{�H�X�D�o�K�V�D�n�G�Y�D�5
�E �B�F�A���H�X�D���M�T�B�� QD?��2B�B�E �B(�A0�A8�J���B�F�D���G�Z�D�U�N�T�A���B�I�D���J�V�A��
8A0A(B BBBI��J�W�A�t�J�W�D���H�Y�D���B�V�D�}�J�V�A���B�F�D�5
�K�E{�B�G�E���L�T�A���M�T�B��N�S�B�h�B�F�D���B�G�D�E�B�F�H���M�T�B�s�B�G�B�V�J�V�B�G�N�S�B���B�F�D��S�W��t$B�B�B �J(�D0�A8�G���K�[�A�8�K�U�D���E�[�D���L�W�F�t�O�S�B�^�G�Y�G�x�M�V�D���E�K�A���M�V�A�e�G�\�E�a
8A0A(B BBBFe�B�G�F���H�`�B�(�B�N�A�u�B�L�B�e�G�Z�O���O�S�B�q�O�S�A�L�E�^�D���B�n�B�w�D�n�A�B�B�^�H�s�E�G�B� �E�G�E���B�N�A�d�B�K�A��U z��7B�B�B �B(�A0�A8�J���H�[�C���B�G�D��N�V�G���H�Y�G���H�[�D�p
8A0A(B BBBH��G�Y�A���M�S�A�u�J�V�A�b�H�Y�E���Ut����EB�N�I �B(�A0�A8�G�A
8A0A(B BBBA��M�L�B�U�K�U�D�a�M�T�A�_�G�Y�A�B�B�^�A�B�B�^�E�\�G�Z�G���G�Z�B�B�B�_�I��G�Z�E�_�G�Y�D���O�O�B���B�F�E���G�Y�A�B�B�^�G���G�R�A���G�Z�E�O�M�T�B���L�T�F�r�G�Z�H��G�Z�E�E�G�Y�A�B�B�^�D�\�K�X�G���K�V�B�B�B�f�D�Z�K�V�A�B�B�^�A�B�B�e�D���G�Y�B�B�B�_�K�Z�G�Z�B�B�B�_�A�B�B�e�C�_�G�Y�A�B�B�^�G�2�G�V�D�q�I�T�C�b�L�T�A�T�G�Y�B�B�B�_�G�8�XT��:F�A�A ��
ABJD
AEFL,YX���F�B�B �B(�D0�I8�D�N
8A0A(B BBBK(|Y��9J�A�G \AAH��8�Y��hF�E�F �D(�A0�I(A BBB�YP���E�s
HLZ���VF�B�A �A(�D0�
(D ABBJ\
(D DBBHTZ���(hZ���IJ�A�G jD�A��Z���Z���8�Z��/F�B�A �A(�D0�
(D ABBA�Z���(D[��Ll�B�A �A(�D0�(A ABBB����h0����XT[ ��Fa�B�A �A(�G0�(A ABBG����h0�����
(F ABBE��[���<F�B�B �B(�A0�A8�H��Q
G��E��D��e��A��B��D��b��A��|
8A0A(B BBBA4\@��<E�d
GP\d��d\p��1J�c��\���	�\���	�\���	�\���	�\���P�\���OE�E�S
ABN
AQW
AHF
AQ_
AH}
FEH8]���RE�E�m
AHm
AJS
ADF
AIF
AQ�]�����]8�����YF�@�]����F�B�B �A(�A0�Dp�
0A(A BBBFL�]h!���F�B�B �B(�A0�A8�D��
8A0A(B BBBA�L^8��F�E�B �B(�A0�A8�DP�
8D0A(B BBBCY
8A0A(B BBBED
8F0A(B BBBED
8F0A(B BBBAH�^�9��NF�E�B �B(�A0�A8�D`}
8A0A(B BBBD,_�;��L@_�;��!T_<��;h_,<��;|_X<��L�_�<��L�_�<��!�_�<��6(�_=��QA�N�J0�
AAG��_L?��mB�G�B �B(�A0�A8�G�Z
8A0A(B BBBF^�H�d�B���H�h�B���R�d�B�p�U�^�B�[�J�i�A��`J��10�`DJ���B�G�A �D0�
 AABAH�`�J���B�I�E �B(�G0�A8�F`2
8A0A(B BBBDH0a�R���F�B�A �C(�J�|
(A ABBHa�L�M�F�\|a�T��kB�E�B �B(�A0�A8�D��
8A0A(B BBBI��B�o�B�l�aW���F�B�B �B(�D0�A8�J���M�]�A��
8A0A(B BBBG��B�X�A�Lb(s��!`bDs���@tbt���F�E�B �D(�D0�F@_
0A(A BBBFH�b\t���F�B�B �E(�D0�D8�FP~
8A0A(B BBBAHc�t���F�B�B �B(�A0�A8�DP,
8C0A(B BBBFPcv��!Hdc0v���F�E�H �E(�A0�D8�Dp�
8D0A(B BBBG0�c�w���F�A�A �D@�
 AABB0�c0x���F�A�A �D@�
 AABB(d�x���E�A�D@�
AADDdpy��
�\dhy��XO�E�B �A(�H0�
(A BBBKA
(F BBBCA
(F BBBCA
(F BBBCA
(F BBBCe����΄�d8}���F�B�B �B(�A0�A8�k
0A(B BBBF�
0A(E BEBA�
0C(B BBBD�
0A(G BGBGGNU��%P%��( 0/\ 0��������-1������ 0@e������������5	( 
�[p�(x�(���o`��
N	x�(`� �	���o���o����o�o����o#h�(` p � � � � � � � � !! !0!@!P!`!p!�!�!�!�!�!�!�!�!"" "0"@"P"`"p"�"�"c@��3AwGwLwQw	[wmw@~w��w�w
�w�w�w�w�w�w�w�w�x�w�w�w������dGA$3a1( �[GA$3p1113�%HSGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130>�[GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�%�FGA+GLIBCXX_ASSERTIONSlibpcre2-8.so.0.9.0-10.34-2.el8.x86_64.debug!=�7zXZ�ִF!t/��/�h]?�E�h=��ڊ�2N��i��%h��0�F����N>�J�q4� �" e��
�7���p+���aRK\]Ĥx�Y1��.ިi.�.w���F�-�Z{!�RK�d��3�p����	B8Q��bz�g�N�H`�9l��h��5��a}F��3�w�&%�Sۛ�z�V��:}�}��Ϲ��,�X�`��
Ͳ	�qI��a]�^��5�T$�"uC��m8`���	����%�=}D�>�4JIŪP�d_�=�^ՐJTʭ`ğq(�`�m��@�%� ��`;��ģ��j�>��D�;��9	�l�Z��[�Nj��H<9�ʽ�jy��Wj��QL�<�vJ��{���F�2\�����O��\a0�£+Y��־vQ�\b���d_GOP��%=z����u�Gz�Z����.r�:%X]1��t�&q���os����p>-]u�c9��Tk�P�5@�y��7�L���vq)2�zW��xe�>*ܣ�+�AuuT�rV$[��y=�ij�O�����㺜@ѣ�����&1��C�K<�x�$�8��I6��;j���~�p��QO��L�m��
?3W��U��x4�kzO_}��Ÿ/�g?��ldS�)4�9	���c#��6¼���0m�����r�K����p��"
�}�I$�b���\�'�W���й�qĥjXW@��d5��Ф:T�D�N�2�����x0_
ON�bk��mZ���I��X�S��b�=�"��Ў��/�D$r�U���,��m�k,uc �+(��(!u�) ���?V&-�	��u�� _���f�P���=�&"b��M)C��'�w�����<aÙQ6q3WV
�ԉ�T��	Ӗ�;�q���_���:V�8�I�2�W�Ҳ
[@ȟ�>��Ҁg��AP�	աJ͆˘�Y����8`/�9��Ah��l��^��8�)�U�ѝb|�<������yD��W]@N��}=0W�T��4h1��`�Q��o7��fRgd$�/A�V{̸8n7�I$�T4+T�_<��rFo����a3�.�Q�r�Pa�x�n(}@�K�*
�	a��	z��k�1�a�;
*K0�q��5�٤B�b?�8������>����x�(��b��Kw�?�u�&lWUCC�����'E">�������]d�+�1�M�Н;~\!�H�`��P���k�;۾�\d��z��jq�hm7���j.y�Z+u(��=N��J@���L��0��+��bvQ+�4jbN���q�U3�p�w�#0�LhAR��/MH
BI<NO��.:��~�ݱ�,����}���M}Q���=�(݅c��E�kR&������������B�w�g�NR�ISG�ywJ�G?ɾX.���[��:��f���-��P'獬�m#l��'o���;m5b��;
8
��4��"{�YiQ}D���FⱲ��4���'F�_"
ґ��j�t	-��DX�7�h��E%�̔�ˠ�^;������s±Z�(w4�WLj?t�-���*،��"&�%@���W��?6ֲg��y�h����f�9�8�/Aq�N��"<5z0K�`:��0p5���Zdl5Oa(mIϐƻ�-�x�܈�C��/��j0�����@p�[Ho.�aNP��([`
�j�N�Nw�S/w�h�uJw'z��J�e�w����g����n�y�&̥�3H
Hk���n|;���:�w�y���m�E�@��x*#��7k����9w�u�w��ǂ�^�,��\���K��eT�E����%��
�F�B8�6�������V��|a޷�`�{z���T�]��8���]o&[�ɠ��?�8�YȢ&Ά�]�Jf/B;��Ⱦ�
�'���?�,MS`�ʗm�������P%��\���^�ѭL��u�t��5f5䒼Jڭ������݄oywHWy/������	��P �A9�(��2(ЎYn�Y�
�18��T�4��d��ƽm`bl�lvh&9ĸ���?R_��c�y��Վ�"\8K�^���W�n��[���I��1�hE7J}�eQ?a*�㛍Eb�(��n��=��"�eܐ
�R��Z��J�U�mUKj>�)�a<p8E���
B%�(��~(r���ҌkZ�o��(��Dw?EȄ�tw��
��iM��>��*hI"�paM��ބ�-m��94�y�*���/G����2�E�������Dq�jvn���� a�E[�����8�-�
�F�R�<"�i�9��(.O�a��s��j������!��$��	�2a~Nzr�Y�b!:�-7�͋����u��9
���],;��SB�ea8�4�Xd�:L>�<�4�[�����N-��U�h�(�C�7?>�1W)���qkny����?A��@G������(�lT�ĩ�WJ��]�KJ��m<Q�m�D*Ӑl(��A���6�c z��\��E{!E��8�H��΀��bR���)��u�Da��K���5�_�w=h3�M� �C���'�M�8ʆ��sY0�On��x��ʔ�\�s�c:#�Ʈ6�n����w�M�v-IfI��ᐦ����΀-�!�:%��~*\ $��Qg�r�7?1�4�
L�(���M 
U�Vx�td,:ի��t��%��"4�]Vν� ��ad��$���V���i�K�Lz�FzZ��q0+} ɑ�8�4�0x�T�Gp����8�\
]T���6 ��G�*1��F���E*S�w�^`����x:z�o�͸	S��O1mL$�K8�DTP��@�� L�p��J�2%4N-*k-Z%L1+�����e
*�<��c�%~�"��:fv��№d��,ې�\�Rj��HN+�)��1��c�Jd�K�A���ގa���J+����b�0�U�|�<Ʀ/�2xm4�W*C�����uܗ�D�P���(�z�|
Z�������vG�&�]�׌����f���>	�3?�i��oi���G�*Y�d��BIٙfF]�B5�;SM�?׶{�6��g'z>��c��J�EAv�P�z���ƿj@�^��$/����Pd�Sl��)ʫ�N��b[��&c��[a9nS��D�ޫ?��}�z_T�r��6�m��؇i	�#�,5��_�؝���g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(���	0��N	8���o���E���o���T  �^B��`h( ( cP P Pn�"�"@w�$�$7}�[�[
�\\�
 ��i�i��(q(qte����� �p�(p��x�(x����(��� �h�(h��x�(x�p��(�` �`�(`�� �H�h`�
|�4���X�(share/doc/alt-pcre2/ChangeLog000064400000313477150403237320011774 0ustar00Change Log for PCRE2
--------------------


Version 10.34 21-November-2019
------------------------------

1. The maximum number of capturing subpatterns is 65535 (documented), but no
check on this was ever implemented. This omission has been rectified; it fixes
ClusterFuzz 14376.

2. Improved the invalid utf32 support of the JIT compiler. Now it correctly
detects invalid characters in the 0xd800-0xdfff range.

3. Fix minor typo bug in JIT compile when \X is used in a non-UTF string.

4. Add support for matching in invalid UTF strings to the pcre2_match()
interpreter, and integrate with the existing JIT support via the new
PCRE2_MATCH_INVALID_UTF compile-time option.

5. Give more error detail for invalid UTF-8 when detected in pcre2grep.

6. Add support for invalid UTF-8 to pcre2grep.

7. Adjust the limit for "must have" code unit searching, in particular,
increase it substantially for non-anchored patterns.

8. Allow (*ACCEPT) to be quantified, because an ungreedy quantifier with a zero
minimum is potentially useful.

9. Some changes to the way the minimum subject length is handled:

   * When PCRE2_NO_START_OPTIMIZE is set, no minimum length is computed;
     pcre2test now omits this item instead of showing a value of zero.

   * An incorrect minimum length could be calculated for a pattern that
     contained (*ACCEPT) inside a qualified group whose minimum repetition was
     zero, for example /A(?:(*ACCEPT))?B/, which incorrectly computed a minimum
     of 2. The minimum length scan no longer happens for a pattern that
     contains (*ACCEPT).

   * When no minimum length is set by the normal scan, but a first and/or last
     code unit is recorded, set the minimum to 1 or 2 as appropriate.

   * When a pattern contains multiple groups with the same number, a back
     reference cannot know which one to scan for a minimum length. This used to
     cause the minimum length finder to give up with no result. Now it treats
     such references as not adding to the minimum length (which it should have
     done all along).

   * Furthermore, the above action now happens only if the back reference is to
     a group that exists more than once in a pattern instead of any back
     reference in a pattern with duplicate numbers.

10. A (*MARK) value inside a successful condition was not being returned by the
interpretive matcher (it was returned by JIT). This bug has been mended.

11. A bug in pcre2grep meant that -o without an argument (or -o0) didn't work
if the pattern had more than 32 capturing parentheses. This is fixed. In
addition (a) the default limit for groups requested by -o<n> has been raised to
50, (b) the new --om-capture option changes the limit, (c) an error is raised
if -o asks for a group that is above the limit.

12. The quantifier {1} was always being ignored, but this is incorrect when it
is made possessive and applied to an item in parentheses, because a
parenthesized item may contain multiple branches or other backtracking points,
for example /(a|ab){1}+c/ or /(a+){1}+a/.

13. For partial matches, pcre2test was always showing the maximum lookbehind
characters, flagged with "<", which is misleading when the lookbehind didn't
actually look behind the start (because it was later in the pattern). Showing
all consulted preceding characters for partial matches is now controlled by the
existing "allusedtext" modifier and, as for complete matches, this facility is
available only for non-JIT matching, because JIT does not maintain the first
and last consulted characters.

14. DFA matching (using pcre2_dfa_match()) was not recognising a partial match
if the end of the subject was encountered in a lookahead (conditional or
otherwise), an atomic group, or a recursion.

15. Give error if pcre2test -t, -T, -tm or -TM is given an argument of zero.

16. Check for integer overflow when computing lookbehind lengths. Fixes
Clusterfuzz issue 15636.

17. Implemented non-atomic positive lookaround assertions.

18. If a lookbehind contained a lookahead that contained another lookbehind
within it, the nested lookbehind was not correctly processed. For example, if
/(?<=(?=(?<=a)))b/ was matched to "ab" it gave no match instead of matching
"b".

19. Implemented pcre2_get_match_data_size().

20. Two alterations to partial matching:

    (a) The definition of a partial match is slightly changed: if a pattern
    contains any lookbehinds, an empty partial match may be given, because this
    is another situation where adding characters to the current subject can
    lead to a full match. Example: /c*+(?<=[bc])/ with subject "ab".

    (b) Similarly, if a pattern could match an empty string, an empty partial
    match may be given. Example: /(?![ab]).*/ with subject "ab". This case
    applies only to PCRE2_PARTIAL_HARD.

    (c) An empty string partial hard match can be returned for \z and \Z as it
    is documented that they shouldn't match.

21. A branch that started with (*ACCEPT) was not being recognized as one that
could match an empty string.

22. Corrected pcre2_set_character_tables() tables data type: was const unsigned
char * instead of const uint8_t *, as generated by pcre2_maketables().

23. Upgraded to Unicode 12.1.0.

24. Add -jitfast command line option to pcre2test (to make all the jit options
available directly).

25. Make pcre2test -C show if libreadline or libedit is supported.

26. If the length of one branch of a group exceeded 65535 (the maximum value
that is remembered as a minimum length), the whole group's length was
incorrectly recorded as 65535, leading to incorrect "no match" when start-up
optimizations were in force.

27. The "rightmost consulted character" value was not always correct; in
particular, if a pattern ended with a negative lookahead, characters that were
inspected in that lookahead were not included.

28. Add the pcre2_maketables_free() function.

29. The start-up optimization that looks for a unique initial matching
code unit in the interpretive engines uses memchr() in 8-bit mode. When the
search is caseless, it was doing so inefficiently, which ended up slowing down
the match drastically when the subject was very long. The revised code (a)
remembers if one case is not found, so it never repeats the search for that
case after a bumpalong and (b) when one case has been found, it searches only
up to that position for an earlier occurrence of the other case. This fix
applies to both interpretive pcre2_match() and to pcre2_dfa_match().

30. While scanning to find the minimum length of a group, if any branch has
minimum length zero, there is no need to scan any subsequent branches (a small
compile-time performance improvement).

31. Installed a .gitignore file on a user's suggestion. When using the svn
repository with git (through git svn) this helps keep it tidy.

32. Add underflow check in JIT which may occur when the value of subject
string pointer is close to 0.

33. Arrange for classes such as [Aa] which contain just the two cases of the
same character, to be treated as a single caseless character. This causes the
first and required code unit optimizations to kick in where relevant.

34. Improve the bitmap of starting bytes for positive classes that include wide
characters, but no property types, in UTF-8 mode. Previously, on encountering
such a class, the bits for all bytes greater than \xc4 were set, thus
specifying any character with codepoint >= 0x100. Now the only bits that are
set are for the relevant bytes that start the wide characters. This can give a
noticeable performance improvement.

35. If the bitmap of starting code units contains only 1 or 2 bits, replace it
with a single starting code unit (1 bit) or a caseless single starting code
unit if the two relevant characters are case-partners. This is particularly
relevant to the 8-bit library, though it applies to all. It can give a
performance boost for patterns such as [Ww]ord and (word|WORD). However, this
optimization doesn't happen if there is a "required" code unit of the same
value (because the search for a "required" code unit starts at the match start
for non-unique first code unit patterns, but after a unique first code unit,
and patterns such as a*a need the former action).

36. Small patch to pcre2posix.c to set the erroroffset field to -1 immediately
after a successful compile, instead of at the start of matching to avoid a
sanitizer complaint (regexec is supposed to be thread safe).

37. Add NEON vectorization to JIT to speed up matching of first character and
pairs of characters on ARM64 CPUs.

38. If a non-ASCII character was the first in a starting assertion in a
caseless match, the "first code unit" optimization did not get the casing
right, and the assertion failed to match a character in the other case if it
did not start with the same code unit.

39. Fixed the incorrect computation of jump sizes on x86 CPUs in JIT. A masking
operation was incorrectly removed in r1136. Reported by Ralf Junker.


Version 10.33 16-April-2019
---------------------------

1. Added "allvector" to pcre2test to make it easy to check the part of the
ovector that shouldn't be changed, in particular after substitute and failed or
partial matches.

2. Fix subject buffer overread in JIT when UTF is disabled and \X or \R has
a greater than 1 fixed quantifier. This issue was found by Yunho Kim.

3. Added support for callouts from pcre2_substitute(). After 10.33-RC1, but
prior to release, fixed a bug that caused a crash if pcre2_substitute() was
called with a NULL match context.

4. The POSIX functions are now all called pcre2_regcomp() etc., with wrapper
functions that use the standard POSIX names. However, in pcre2posix.h the POSIX
names are defined as macros. This should help avoid linking with the wrong
library in some environments while still exporting the POSIX names for
pre-existing programs that use them. (The Debian alternative names are also
defined as macros, but not documented.)

5. Fix an xclass matching issue in JIT.

6. Implement PCRE2_EXTRA_ESCAPED_CR_IS_LF (see Bugzilla 2315).

7. Implement the Perl 5.28 experimental alphabetic names for atomic groups and
lookaround assertions, for example, (*pla:...) and (*atomic:...). These are
characterized by a lower case letter following (* and to simplify coding for
this, the character tables created by pcre2_maketables() were updated to add a
new "is lower case letter" bit. At the same time, the now unused "is
hexadecimal digit" bit was removed. The default tables in
src/pcre2_chartables.c.dist are updated.

8. Implement the new Perl "script run" features (*script_run:...) and
(*atomic_script_run:...) aka (*sr:...) and (*asr:...).

9. Fixed two typos in change 22 for 10.21, which added special handling for
ranges such as a-z in EBCDIC environments. The original code probably never
worked, though there were no bug reports.

10. Implement PCRE2_COPY_MATCHED_SUBJECT for pcre2_match() (including JIT via
pcre2_match()) and pcre2_dfa_match(), but *not* the pcre2_jit_match() fast
path. Also, when a match fails, set the subject field in the match data to NULL
for tidiness - none of the substring extractors should reference this after
match failure.

11. If a pattern started with a subroutine call that had a quantifier with a
minimum of zero, an incorrect "match must start with this character" could be
recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
be the first character of a match.

12. The heap limit checking code in pcre2_dfa_match() could suffer from
overflow if the heap limit was set very large. This could cause incorrect "heap
limit exceeded" errors.

13. Add "kibibytes" to the heap limit output from pcre2test -C to make the
units clear.

14. Add a call to pcre2_jit_free_unused_memory() in pcre2grep, for tidiness.

15. Updated the VMS-specific code in pcre2test on the advice of a VMS user.

16. Removed the unnecessary inclusion of stdint.h (or inttypes.h) from
pcre2_internal.h as it is now included by pcre2.h. Also, change 17 for 10.32
below was unnecessarily complicated, as inttypes.h is a Standard C header,
which is defined to be a superset of stdint.h. Instead of conditionally
including stdint.h or inttypes.h, pcre2.h now unconditionally includes
inttypes.h. This supports environments that do not have stdint.h but do have
inttypes.h, which are known to exist. A note in the autotools documentation
says (November 2018) that there are none known that are the other way round.

17. Added --disable-percent-zt to "configure" (and equivalent to CMake) to
forcibly disable the use of %zu and %td in formatting strings because there is
at least one version of VMS that claims to be C99 but does not support these
modifiers.

18. Added --disable-pcre2grep-callout-fork, which restricts the callout support
in pcre2grep to the inbuilt echo facility. This may be useful in environments
that do not support fork().

19. Fix two instances of <= 0 being applied to unsigned integers (the VMS
compiler complains).

20. Added "fork" support for VMS to pcre2grep, for running an external program
via a string callout.

21. Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.

22. If a pattern started with (*MARK), (*COMMIT), (*PRUNE), (*SKIP), or (*THEN)
followed by ^ it was not recognized as anchored.

23. The RunGrepTest script used to cut out the test of NUL characters for
Solaris and MacOS as printf and sed can't handle them. It seems that the *BSD
systems can't either. I've inverted the test so that only those OS that are
known to work (currently only Linux) try to run this test.

24. Some tests in RunGrepTest appended to testtrygrep from two different file
descriptors instead of redirecting stderr to stdout. This worked on Linux, but
it was reported not to on other systems, causing the tests to fail.

25. In the RunTest script, make the test for stack setting use the same value
for the stack as it needs for -bigstack.

26. Insert a cast in pcre2_dfa_match.c to suppress a compiler warning.

26. With PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL set, escape sequences such as \s
which are valid in character classes, but not as the end of ranges, were being
treated as literals. An example is [_-\s] (but not [\s-_] because that gave an
error at the *start* of a range). Now an "invalid range" error is given
independently of PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL.

27. Related to 26 above, PCRE2_BAD_ESCAPE_IS_LITERAL was affecting known escape
sequences such as \eX when they appeared invalidly in a character class. Now
the option applies only to unrecognized or malformed escape sequences.

28. Fix word boundary in JIT compiler. Patch by Mike Munday.

29. The pcre2_dfa_match() function was incorrectly handling conditional version
tests such as (?(VERSION>=0)...) when the version test was true. Incorrect
processing or a crash could result.

30. When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in group
names, as Perl does. There was a small bug in this new code, found by
ClusterFuzz 12950, fixed before release.

31. Implemented PCRE2_EXTRA_ALT_BSUX to support ECMAScript 6's \u{hhh}
construct.

32. Compile \p{Any} to be the same as . in DOTALL mode, so that it benefits
from auto-anchoring if \p{Any}* starts a pattern.

33. Compile invalid UTF check in JIT test when only pcre32 is enabled.

34. For some time now, CMake has been warning about the setting of policy
CMP0026 to "OLD" in CmakeLists.txt, and hinting that the feature might be
removed in a future version. A request for CMake expertise on the list produced
no result, so I have now hacked CMakeLists.txt along the lines of some changes
I found on the Internet. The new code no longer needs the policy setting, and
it appears to work fine on Linux.

35. Setting --enable-jit=auto for an out-of-tree build failed because the
source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
from Ross Burton.

36. Disable SSE2 JIT optimizations in x86 CPUs when SSE2 is not available.
Patch by Guillem Jover.

37. Changed expressions such as 1<<10 to 1u<<10 in many places because compiler
warnings were reported.

38. Using the clang compiler with sanitizing options causes runtime complaints
about truncation for statments such as x = ~x when x is an 8-bit value; it
seems to compute ~x as a 32-bit value. Changing such statements to x = 255 ^ x
gets rid of the warnings. There were also two missing casts in pcre2test.


Version 10.32 10-September-2018
-------------------------------

1. When matching using the the REG_STARTEND feature of the POSIX API with a
non-zero starting offset, unset capturing groups with lower numbers than a
group that did capture something were not being correctly returned as "unset"
(that is, with offset values of -1).

2. When matching using the POSIX API, pcre2test used to omit listing unset
groups altogether. Now it shows those that come before any actual captures as
"<unset>", as happens for non-POSIX matching.

3. Running "pcre2test -C" always stated "\R matches CR, LF, or CRLF only",
whatever the build configuration was. It now correctly says "\R matches all
Unicode newlines" in the default case when --enable-bsr-anycrlf has not been
specified. Similarly, running "pcre2test -C bsr" never produced the result
ANY.

4. Matching the pattern /(*UTF)\C[^\v]+\x80/ against an 8-bit string containing
multi-code-unit characters caused bad behaviour and possibly a crash. This
issue was fixed for other kinds of repeat in release 10.20 by change 19, but
repeating character classes were overlooked.

5. pcre2grep now supports the inclusion of binary zeros in patterns that are
read from files via the -f option.

6. A small fix to pcre2grep to avoid compiler warnings for -Wformat-overflow=2.

7. Added --enable-jit=auto support to configure.ac.

8. Added some dummy variables to the heapframe structure in 16-bit and 32-bit
modes for the benefit of m68k, where pointers can be 16-bit aligned. The
dummies force 32-bit alignment and this ensures that the structure is a
multiple of PCRE2_SIZE, a requirement that is tested at compile time. In other
architectures, alignment requirements take care of this automatically.

9. When returning an error from pcre2_pattern_convert(), ensure the error
offset is set zero for early errors.

10. A number of patches for Windows support from Daniel Richard G:

  (a) List of error numbers in Runtest.bat corrected (it was not the same as in
      Runtest).

  (b) pcre2grep snprintf() workaround as used elsewhere in the tree.

  (c) Support for non-C99 snprintf() that returns -1 in the overflow case.

11. Minor tidy of pcre2_dfa_match() code.

12. Refactored pcre2_dfa_match() so that the internal recursive calls no longer
use the stack for local workspace and local ovectors. Instead, an initial block
of stack is reserved, but if this is insufficient, heap memory is used. The
heap limit parameter now applies to pcre2_dfa_match().

13. If a "find limits" test of DFA matching in pcre2test resulted in too many
matches for the ovector, no matches were displayed.

14. Removed an occurrence of ctrl/Z from test 6 because Windows treats it as
EOF. The test looks to have come from a fuzzer.

15. If PCRE2 was built with a default match limit a lot greater than the
default default of 10 000 000, some JIT tests of the match limit no longer
failed. All such tests now set 10 000 000 as the upper limit.

16. Another Windows related patch for pcregrep to ensure that WIN32 is
undefined under Cygwin.

17. Test for the presence of stdint.h and inttypes.h in configure and CMake and
include whichever exists (stdint preferred) instead of unconditionally
including stdint. This makes life easier for old and non-standard systems.

18. Further changes to improve portability, especially to old and or non-
standard systems:

  (a) Put all printf arguments in RunGrepTest into single, not double, quotes,
      and use \0 not \x00 for binary zero.

  (b) Avoid the use of C++ (i.e. BCPL) // comments.

  (c) Parameterize the use of %zu in pcre2test to make it like %td. For both of
      these now, if using MSVC or a standard C before C99, %lu is used with a
      cast if necessary.

19. Applied a contributed patch to CMakeLists.txt to increase the stack size
when linking pcre2test with MSVC. This gets rid of a stack overflow error in
the standard set of tests.

20. Output a warning in pcre2test when ignoring the "altglobal" modifier when
it is given with the "replace" modifier.

21. In both pcre2test and pcre2_substitute(), with global matching, a pattern
that matched an empty string, but never at the starting match offset, was not
handled in a Perl-compatible way. The pattern /(<?=\G.)/ is an example of such
a pattern. Because \G is in a lookbehind assertion, there has to be a
"bumpalong" before there can be a match. The automatic "advance by one
character after an empty string match" rule is therefore inappropriate. A more
complicated algorithm has now been implemented.

22. When checking to see if a lookbehind is of fixed length, lookaheads were
correctly ignored, but qualifiers on lookaheads were not being ignored, leading
to an incorrect "lookbehind assertion is not fixed length" error.

23. The VERSION condition test was reading fractional PCRE2 version numbers
such as the 04 in 10.04 incorrectly and hence giving wrong results.

24. Updated to Unicode version 11.0.0. As well as the usual addition of new
scripts and characters, this involved re-jigging the grapheme break property
algorithm because Unicode has changed the way emojis are handled.

25. Fixed an obscure bug that struck when there were two atomic groups not
separated by something with a backtracking point. There could be an incorrect
backtrack into the first of the atomic groups. A complicated example is
/(?>a(*:1))(?>b)(*SKIP:1)x|.*/ matched against "abc", where the *SKIP
shouldn't find a MARK (because is in an atomic group), but it did.

26. Upgraded the perltest.sh script: (1) #pattern lines can now be used to set
a list of modifiers for all subsequent patterns - only those that the script
recognizes are meaningful; (2) #subject lines can be used to set or unset a
default "mark" modifier; (3) Unsupported #command lines give a warning when
they are ignored; (4) Mark data is output only if the "mark" modifier is
present.

27. (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported.

28. A (*MARK) name was not being passed back for positive assertions that were
terminated by (*ACCEPT).

29. Add support for \N{U+dddd}, but only in Unicode mode.

30. Add support for (?^) for unsetting all imnsx options.

31. The PCRE2_EXTENDED (/x) option only ever discarded space characters whose
code point was less than 256 and that were recognized by the lookup table
generated by pcre2_maketables(), which uses isspace() to identify white space.
Now, when Unicode support is compiled, PCRE2_EXTENDED also discards U+0085,
U+200E, U+200F, U+2028, and U+2029, which are additional characters defined by
Unicode as "Pattern White Space". This makes PCRE2 compatible with Perl.

32. In certain circumstances, option settings within patterns were not being
correctly processed. For example, the pattern /((?i)A)(?m)B/ incorrectly
matched "ab". (The (?m) setting lost the fact that (?i) should be reset at the
end of its group during the parse process, but without another setting such as
(?m) the compile phase got it right.) This bug was introduced by the
refactoring in release 10.23.

33. PCRE2 uses bcopy() if available when memmove() is not, and it used just to
define memmove() as function call to bcopy(). This hasn't been tested for a
long time because in pcre2test the result of memmove() was being used, whereas
bcopy() doesn't return a result. This feature is now refactored always to call
an emulation function when there is no memmove(). The emulation makes use of
bcopy() when available.

34. When serializing a pattern, set the memctl, executable_jit, and tables
fields (that is, all the fields that contain pointers) to zeros so that the
result of serializing is always the same. These fields are re-set when the
pattern is deserialized.

35. In a pattern such as /[^\x{100}-\x{ffff}]*[\x80-\xff]/ which has a repeated
negative class with no characters less than 0x100 followed by a positive class
with only characters less than 0x100, the first class was incorrectly being
auto-possessified, causing incorrect match failures.

36. Removed the character type bit ctype_meta, which dates from PCRE1 and is
not used in PCRE2.

37. Tidied up unnecessarily complicated macros used in the escapes table.

38. Since 10.21, the new testoutput8-16-4 file has accidentally been omitted
from distribution tarballs, owing to a typo in Makefile.am which had
testoutput8-16-3 twice. Now fixed.

39. If the only branch in a conditional subpattern was anchored, the whole
subpattern was treated as anchored, when it should not have been, since the
assumed empty second branch cannot be anchored. Demonstrated by test patterns
such as /(?(1)^())b/ or /(?(?=^))b/.

40. A repeated conditional subpattern that could match an empty string was
always assumed to be unanchored. Now it it checked just like any other
repeated conditional subpattern, and can be found to be anchored if the minimum
quantifier is one or more. I can't see much use for a repeated anchored
pattern, but the behaviour is now consistent.

41. Minor addition to pcre2_jit_compile.c to avoid static analyzer complaint
(for an event that could never occur but you had to have external information
to know that).

42. If before the first match in a file that was being searched by pcre2grep
there was a line that was sufficiently long to cause the input buffer to be
expanded, the variable holding the location of the end of the previous match
was being adjusted incorrectly, and could cause an overflow warning from a code
sanitizer. However, as the value is used only to print pending "after" lines
when the next match is reached (and there are no such lines in this case) this
bug could do no damage.


Version 10.31 12-February-2018
------------------------------

1. Fix typo (missing ]) in VMS code in pcre2test.c.

2. Replace the replicated code for matching extended Unicode grapheme sequences
(which got a lot more complicated by change 10.30/49) by a single subroutine
that is called by both pcre2_match() and pcre2_dfa_match().

3. Add idempotent guard to pcre2_internal.h.

4. Add new pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and
PCRE2_CONFIG_COMPILED_WIDTHS.

5. Cut out \C tests in the JIT regression tests when NEVER_BACKSLASH_C is
defined (e.g. by --enable-never-backslash-C).

6. Defined public names for all the pcre2_compile() error numbers, and used
the public names in pcre2_convert.c.

7. Fixed a small memory leak in pcre2test (convert contexts).

8. Added two casts to compile.c and one to match.c to avoid compiler warnings.

9. Added code to pcre2grep when compiled under VMS to set the symbol
PCRE2GREP_RC to the exit status, because VMS does not distinguish between
exit(0) and exit(1).

10. Added the -LM (list modifiers) option to pcre2test. Also made -C complain
about a bad option only if the following argument item does not start with a
hyphen.

11. pcre2grep was truncating components of file names to 128 characters when
processing files with the -r option, and also (some very odd code) truncating
path names to 512 characters. There is now a check on the absolute length of
full path file names, which may be up to 2047 characters long.

12. When an assertion contained (*ACCEPT) it caused all open capturing groups
to be closed (as for a non-assertion ACCEPT), which was wrong and could lead to
misbehaviour for subsequent references to groups that started outside the
assertion. ACCEPT in an assertion now closes only those groups that were
started within that assertion. Fixes oss-fuzz issues 3852 and 3891.

13. Multiline matching in pcre2grep was misbehaving if the pattern matched
within a line, and then matched again at the end of the line and over into
subsequent lines. Behaviour was different with and without colouring, and
sometimes context lines were incorrectly printed and/or line endings were lost.
All these issues should now be fixed.

14. If --line-buffered was specified for pcre2grep when input was from a
compressed file (.gz or .bz2) a segfault occurred. (Line buffering should be
ignored for compressed files.)

15. Although pcre2_jit_match checks whether the pattern is compiled
in a given mode, it was also expected that at least one mode is available.
This is fixed and pcre2_jit_match returns with PCRE2_ERROR_JIT_BADOPTION
when the pattern is not optimized by JIT at all.

16. The line number and related variables such as match counts in pcre2grep
were all int variables, causing overflow when files with more than 2147483647
lines were processed (assuming 32-bit ints). They have all been changed to
unsigned long ints.

17. If a backreference with a minimum repeat count of zero was first in a
pattern, apart from assertions, an incorrect first matching character could be
recorded. For example, for the pattern /(?=(a))\1?b/, "b" was incorrectly set
as the first character of a match.

18. Characters in a leading positive assertion are considered for recording a
first character of a match when the rest of the pattern does not provide one.
However, a character in a non-assertive group within a leading assertion such
as in the pattern /(?=(a))\1?b/ caused this process to fail. This was an
infelicity rather than an outright bug, because it did not affect the result of
a match, just its speed. (In fact, in this case, the starting 'a' was
subsequently picked up in the study.)

19. A minor tidy in pcre2_match(): making all PCRE2_ERROR_ returns use "return"
instead of "RRETURN" saves unwinding the backtracks in these cases (only one
didn't).

20. Allocate a single callout block on the stack at the start of pcre2_match()
and set its never-changing fields once only. Do the same for pcre2_dfa_match().

21. Save the extra compile options (set in the compile context) with the
compiled pattern (they were not previously saved), add PCRE2_INFO_EXTRAOPTIONS
to retrieve them, and update pcre2test to show them.

22. Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK bits to a new
field callout_flags in callout blocks. The bits are set by pcre2_match(), but
not by JIT or pcre2_dfa_match(). Their settings are shown in pcre2test callouts
if the callout_extra subject modifier is set. These bits are provided to help
with tracking how a backtracking match is proceeding.

23. Updated the pcre2demo.c demonstration program, which was missing the extra
code for -g that handles the case when \K in an assertion causes the match to
end at the original start point. Also arranged for it to detect when \K causes
the end of a match to be before its start.

24. Similar to 23 above, strange things (including loops) could happen in
pcre2grep when \K was used in an assertion when --colour was used or in
multiline mode. The "end at original start point" bug is fixed, and if the end
point is found to be before the start point, they are swapped.

25. When PCRE2_FIRSTLINE without PCRE2_NO_START_OPTIMIZE was used in non-JIT
matching (both pcre2_match() and pcre2_dfa_match()) and the matched string
started with the first code unit of a newline sequence, matching failed because
it was not tried at the newline.

26. Code for giving up a non-partial match after failing to find a starting
code unit anywhere in the subject was missing when searching for one of a
number of code units (the bitmap case) in both pcre2_match() and
pcre2_dfa_match(). This was a missing optimization rather than a bug.

27. Tidied up the ACROSSCHAR macro to be like FORWARDCHAR and BACKCHAR, using a
pointer argument rather than a code unit value. This should not have affected
the generated code.

28. The JIT compiler has been updated.

29. Avoid pointer overflow for unset captures in pcre2_substring_list_get().
This could not actually cause a crash because it was always used in a memcpy()
call with zero length.

30. Some internal structures have a variable-length ovector[] as their last
element. Their actual memory is obtained dynamically, giving an ovector of
appropriate length. However, they are defined in the structure as
ovector[NUMBER], where NUMBER is large so that array bound checkers don't
grumble. The value of NUMBER was 10000, but a fuzzer exceeded 5000 capturing
groups, making the ovector larger than this. The number has been increased to
131072, which allows for the maximum number of captures (65535) plus the
overall match. This fixes oss-fuzz issue 5415.

31. Auto-possessification at the end of a capturing group was dependent on what
follows the group (e.g. /(a+)b/ would auto-possessify the a+) but this caused
incorrect behaviour when the group was called recursively from elsewhere in the
pattern where something different might follow. This bug is an unforseen
consequence of change #1 for 10.30 - the implementation of backtracking into
recursions. Iterators at the ends of capturing groups are no longer considered
for auto-possessification if the pattern contains any recursions. Fixes
Bugzilla #2232.


Version 10.30 14-August-2017
----------------------------

1. The main interpreter, pcre2_match(), has been refactored into a new version
that does not use recursive function calls (and therefore the stack) for
remembering backtracking positions. This makes --disable-stack-for-recursion a
NOOP. The new implementation allows backtracking into recursive group calls in
patterns, making it more compatible with Perl, and also fixes some other
hard-to-do issues such as #1887 in Bugzilla. The code is also cleaner because
the old code had a number of fudges to try to reduce stack usage. It seems to
run no slower than the old code.

A number of bugs in the refactored code were subsequently fixed during testing
before release, but after the code was made available in the repository. These
bugs were never in fully released code, but are noted here for the record.

  (a) If a pattern had fewer capturing parentheses than the ovector supplied in
      the match data block, a memory error (detectable by ASAN) occurred after
      a match, because the external block was being set from non-existent
      internal ovector fields. Fixes oss-fuzz issue 781.

  (b) A pattern with very many capturing parentheses (when the internal frame
      size was greater than the initial frame vector on the stack) caused a
      crash. A vector on the heap is now set up at the start of matching if the
      vector on the stack is not big enough to handle at least 10 frames.
      Fixes oss-fuzz issue 783.

  (c) Handling of (*VERB)s in recursions was wrong in some cases.

  (d) Captures in negative assertions that were used as conditions were not
      happening if the assertion matched via (*ACCEPT).

  (e) Mark values were not being passed out of recursions.

  (f) Refactor some code in do_callout() to avoid picky compiler warnings about
      negative indices. Fixes oss-fuzz issue 1454.

  (g) Similarly refactor the way the variable length ovector is addressed for
      similar reasons. Fixes oss-fuzz issue 1465.

2. Now that pcre2_match() no longer uses recursive function calls (see above),
the "match limit recursion" value seems misnamed. It still exists, and limits
the depth of tree that is searched. To avoid future confusion, it has been
renamed as "depth limit" in all relevant places (--with-depth-limit,
(*LIMIT_DEPTH), pcre2_set_depth_limit(), etc) but the old names are still
available for backwards compatibility.

3. Hardened pcre2test so as to reduce the number of bugs reported by fuzzers:

  (a) Check for malloc failures when getting memory for the ovector (POSIX) or
      the match data block (non-POSIX).

4. In the 32-bit library in non-UTF mode, an attempt to find a Unicode property
for a character with a code point greater than 0x10ffff (the Unicode maximum)
caused a crash.

5. If a lookbehind assertion that contained a back reference to a group
appearing later in the pattern was compiled with the PCRE2_ANCHORED option,
undefined actions (often a segmentation fault) could occur, depending on what
other options were set. An example assertion is (?<!\1(abc)) where the
reference \1 precedes the group (abc). This fixes oss-fuzz issue 865.

6. Added the PCRE2_INFO_FRAMESIZE item to pcre2_pattern_info() and arranged for
pcre2test to use it to output the frame size when the "framesize" modifier is
given.

7. Reworked the recursive pattern matching in the JIT compiler to follow the
interpreter changes.

8. When the zero_terminate modifier was specified on a pcre2test subject line
for global matching, unpredictable things could happen. For example, in UTF-8
mode, the pattern //g,zero_terminate read random memory when matched against an
empty string with zero_terminate. This was a bug in pcre2test, not the library.

9. Moved some Windows-specific code in pcre2grep (introduced in 10.23/13) out
of the section that is compiled when Unix-style directory scanning is
available, and into a new section that is always compiled for Windows.

10. In pcre2test, explicitly close the file after an error during serialization
or deserialization (the "load" or "save" commands).

11. Fix memory leak in pcre2_serialize_decode() when the input is invalid.

12. Fix potential NULL dereference in pcre2_callout_enumerate() if called with
a NULL pattern pointer when Unicode support is available.

13. When the 32-bit library was being tested by pcre2test, error messages that
were longer than 64 code units could cause a buffer overflow. This was a bug in
pcre2test.

14. The alternative matching function, pcre2_dfa_match() misbehaved if it
encountered a character class with a possessive repeat, for example [a-f]{3}+.

15. The depth (formerly recursion) limit now applies to DFA matching (as
of 10.23/36); pcre2test has been upgraded so that \=find_limits works with DFA
matching to find the minimum value for this limit.

16. Since 10.21, if pcre2_match() was called with a null context, default
memory allocation functions were used instead of whatever was used when the
pattern was compiled.

17. Changes to the pcre2test "memory" modifier on a subject line. These apply
only to pcre2_match():

  (a) Warn if null_context is set on both pattern and subject, because the
      memory details cannot then be shown.

  (b) Remember (up to a certain number of) memory allocations and their
      lengths, and list only the lengths, so as to be system-independent.
      (In practice, the new interpreter never has more than 2 blocks allocated
      simultaneously.)

18. Make pcre2test detect an error return from pcre2_get_error_message(), give
a message, and abandon the run (this would have detected #13 above).

19. Implemented PCRE2_ENDANCHORED.

20. Applied Jason Hood's patches (slightly modified) to pcre2grep, to implement
the --output=text (-O) option and the inbuilt callout echo.

21. Extend auto-anchoring etc. to ignore groups with a zero qualifier and
single-branch conditions with a false condition (e.g. DEFINE) at the start of a
branch. For example, /(?(DEFINE)...)^A/ and /(...){0}^B/ are now flagged as
anchored.

22. Added an explicit limit on the amount of heap used by pcre2_match(), set by
pcre2_set_heap_limit() or (*LIMIT_HEAP=xxx). Upgraded pcre2test to show the
heap limit along with other pattern information, and to find the minimum when
the find_limits modifier is set.

23. Write to the last 8 bytes of the pcre2_real_code structure when a compiled
pattern is set up so as to initialize any padding the compiler might have
included. This avoids valgrind warnings when a compiled pattern is copied, in
particular when it is serialized.

24. Remove a redundant line of code left in accidentally a long time ago.

25. Remove a duplication typo in pcre2_tables.c

26. Correct an incorrect cast in pcre2_valid_utf.c

27. Update pcre2test, remove some unused code in pcre2_match(), and upgrade the
tests to improve coverage.

28. Some fixes/tidies as a result of looking at Coverity Scan output:

    (a) Typo: ">" should be ">=" in opcode check in pcre2_auto_possess.c.
    (b) Added some casts to avoid "suspicious implicit sign extension".
    (c) Resource leaks in pcre2test in rare error cases.
    (d) Avoid warning for never-use case OP_TABLE_LENGTH which is just a fudge
        for checking at compile time that tables are the right size.
    (e) Add missing "fall through" comment.

29. Implemented PCRE2_EXTENDED_MORE and related /xx and (?xx) features.

30. Implement (?n: for PCRE2_NO_AUTO_CAPTURE, because Perl now has this.

31. If more than one of "push", "pushcopy", or "pushtablescopy" were set in
pcre2test, a crash could occur.

32. Make -bigstack in RunTest allocate a 64MiB stack (instead of 16MiB) so
that all the tests can run with clang's sanitizing options.

33. Implement extra compile options in the compile context and add the first
one: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES.

34. Implement newline type PCRE2_NEWLINE_NUL.

35. A lookbehind assertion that had a zero-length branch caused undefined
behaviour when processed by pcre2_dfa_match(). This is oss-fuzz issue 1859.

36. The match limit value now also applies to pcre2_dfa_match() as there are
patterns that can use up a lot of resources without necessarily recursing very
deeply. (Compare item 10.23/36.) This should fix oss-fuzz #1761.

37. Implement PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL.

38. Fix returned offsets from regexec() when REG_STARTEND is used with a
starting offset greater than zero.

39. Implement REG_PEND (GNU extension) for the POSIX wrapper.

40. Implement the subject_literal modifier in pcre2test, and allow jitstack on
pattern lines.

41. Implement PCRE2_LITERAL and use it to support REG_NOSPEC.

42. Implement PCRE2_EXTRA_MATCH_LINE and PCRE2_EXTRA_MATCH_WORD for the benefit
of pcre2grep.

43. Re-implement pcre2grep's -F, -w, and -x options using PCRE2_LITERAL,
PCRE2_EXTRA_MATCH_WORD, and PCRE2_EXTRA_MATCH_LINE. This fixes two bugs:

    (a) The -F option did not work for fixed strings containing \E.
    (b) The -w option did not work for patterns with multiple branches.

44. Added configuration options for the SELinux compatible execmem allocator in
JIT.

45. Increased the limit for searching for a "must be present" code unit in
subjects from 1000 to 2000 for 8-bit searches, since they use memchr() and are
much faster.

46. Arrange for anchored patterns to record and use "first code unit" data,
because this can give a fast "no match" without searching for a "required code
unit". Previously only non-anchored patterns did this.

47. Upgraded the Unicode tables from Unicode 8.0.0 to Unicode 10.0.0.

48. Add the callout_no_where modifier to pcre2test.

49. Update extended grapheme breaking rules to the latest set that are in
Unicode Standard Annex #29.

50. Added experimental foreign pattern conversion facilities
(pcre2_pattern_convert() and friends).

51. Change the macro FWRITE, used in pcre2grep, to FWRITE_IGNORE because FWRITE
is defined in a system header in cygwin. Also modified some of the #ifdefs in
pcre2grep related to Windows and Cygwin support.

52. Change 3(g) for 10.23 was a bit too zealous. If a hyphen that follows a
character class is the last character in the class, Perl does not give a
warning. PCRE2 now also treats this as a literal.

53. Related to 52, though PCRE2 was throwing an error for [[:digit:]-X] it was
not doing so for [\d-X] (and similar escapes), as is documented.

54. Fixed a MIPS issue in the JIT compiler reported by Joshua Kinard.

55. Fixed a "maybe uninitialized" warning for class_uchardata in \p handling in
pcre2_compile() which could never actually trigger (code should have been cut
out when Unicode support is disabled).


Version 10.23 14-February-2017
------------------------------

1. Extended pcre2test with the utf8_input modifier so that it is able to
generate all possible 16-bit and 32-bit code unit values in non-UTF modes.

2. In any wide-character mode (8-bit UTF or any 16-bit or 32-bit mode), without
PCRE2_UCP set, a negative character type such as \D in a positive class should
cause all characters greater than 255 to match, whatever else is in the class.
There was a bug that caused this not to happen if a Unicode property item was
added to such a class, for example [\D\P{Nd}] or [\W\pL].

3. There has been a major re-factoring of the pcre2_compile.c file. Most syntax
checking is now done in the pre-pass that identifies capturing groups. This has
reduced the amount of duplication and made the code tidier. While doing this,
some minor bugs and Perl incompatibilities were fixed, including:

  (a) \Q\E in the middle of a quantifier such as A+\Q\E+ is now ignored instead
      of giving an invalid quantifier error.

  (b) {0} can now be used after a group in a lookbehind assertion; previously
      this caused an "assertion is not fixed length" error.

  (c) Perl always treats (?(DEFINE) as a "define" group, even if a group with
      the name "DEFINE" exists. PCRE2 now does likewise.

  (d) A recursion condition test such as (?(R2)...) must now refer to an
      existing subpattern.

  (e) A conditional recursion test such as (?(R)...) misbehaved if there was a
      group whose name began with "R".

  (f) When testing zero-terminated patterns under valgrind, the terminating
      zero is now marked "no access". This catches bugs that would otherwise
      show up only with non-zero-terminated patterns.

  (g) A hyphen appearing immediately after a POSIX character class (for example
      /[[:ascii:]-z]/) now generates an error. Perl does accept this as a
      literal, but gives a warning, so it seems best to fail it in PCRE.

  (h) An empty \Q\E sequence may appear after a callout that precedes an
      assertion condition (it is, of course, ignored).

One effect of the refactoring is that some error numbers and messages have
changed, and the pattern offset given for compiling errors is not always the
right-most character that has been read. In particular, for a variable-length
lookbehind assertion it now points to the start of the assertion. Another
change is that when a callout appears before a group, the "length of next
pattern item" that is passed now just gives the length of the opening
parenthesis item, not the length of the whole group. A length of zero is now
given only for a callout at the end of the pattern. Automatic callouts are no
longer inserted before and after explicit callouts in the pattern.

A number of bugs in the refactored code were subsequently fixed during testing
before release, but after the code was made available in the repository. Many
of the bugs were discovered by fuzzing testing. Several of them were related to
the change from assuming a zero-terminated pattern (which previously had
required non-zero terminated strings to be copied). These bugs were never in
fully released code, but are noted here for the record.

  (a) An overall recursion such as (?0) inside a lookbehind assertion was not
      being diagnosed as an error.

  (b) In utf mode, the length of a *MARK (or other verb) name was being checked
      in characters instead of code units, which could lead to bad code being
      compiled, leading to unpredictable behaviour.

  (c) In extended /x mode, characters whose code was greater than 255 caused
      a lookup outside one of the global tables. A similar bug existed for wide
      characters in *VERB names.

  (d) The amount of memory needed for a compiled pattern was miscalculated if a
      lookbehind contained more than one toplevel branch and the first branch
      was of length zero.

  (e) In UTF-8 or UTF-16 modes with PCRE2_EXTENDED (/x) set and a non-zero-
      terminated pattern, if a # comment ran on to the end of the pattern, one
      or more code units past the end were being read.

  (f) An unterminated repeat at the end of a non-zero-terminated pattern (e.g.
      "{2,2") could cause reading beyond the pattern.

  (g) When reading a callout string, if the end delimiter was at the end of the
      pattern one further code unit was read.

  (h) An unterminated number after \g' could cause reading beyond the pattern.

  (i) An insufficient memory size was being computed for compiling with
      PCRE2_AUTO_CALLOUT.

  (j) A conditional group with an assertion condition used more memory than was
      allowed for it during parsing, so too many of them could therefore
      overrun a buffer.

  (k) If parsing a pattern exactly filled the buffer, the internal test for
      overrun did not check when the final META_END item was added.

  (l) If a lookbehind contained a subroutine call, and the called group
      contained an option setting such as (?s), and the PCRE2_ANCHORED option
      was set, unpredictable behaviour could occur. The underlying bug was
      incorrect code and insufficient checking while searching for the end of
      the called subroutine in the parsed pattern.

  (m) Quantifiers following (*VERB)s were not being diagnosed as errors.

  (n) The use of \Q...\E in a (*VERB) name when PCRE2_ALT_VERBNAMES and
      PCRE2_AUTO_CALLOUT were both specified caused undetermined behaviour.

  (o) If \Q was preceded by a quantified item, and the following \E was
      followed by '?' or '+', and there was at least one literal character
      between them, an internal error "unexpected repeat" occurred (example:
      /.+\QX\E+/).

  (p) A buffer overflow could occur while sorting the names in the group name
      list (depending on the order in which the names were seen).

  (q) A conditional group that started with a callout was not doing the right
      check for a following assertion, leading to compiling bad code. Example:
      /(?(C'XX))?!XX/

  (r) If a character whose code point was greater than 0xffff appeared within
      a lookbehind that was within another lookbehind, the calculation of the
      lookbehind length went wrong and could provoke an internal error.

  (t) The sequence \E- or \Q\E- after a POSIX class in a character class caused
      an internal error. Now the hyphen is treated as a literal.

4. Back references are now permitted in lookbehind assertions when there are
no duplicated group numbers (that is, (?| has not been used), and, if the
reference is by name, there is only one group of that name. The referenced
group must, of course be of fixed length.

5. pcre2test has been upgraded so that, when run under valgrind with valgrind
support enabled, reading past the end of the pattern is detected, both when
compiling and during callout processing.

6. \g{+<number>} (e.g. \g{+2} ) is now supported. It is a "forward back
reference" and can be useful in repetitions (compare \g{-<number>} ). Perl does
not recognize this syntax.

7. Automatic callouts are no longer generated before and after callouts in the
pattern.

8. When pcre2test was outputing information from a callout, the caret indicator
for the current position in the subject line was incorrect if it was after an
escape sequence for a character whose code point was greater than \x{ff}.

9. Change 19 for 10.22 had a typo (PCRE_STATIC_RUNTIME should be
PCRE2_STATIC_RUNTIME). Fix from David Gaussmann.

10. Added --max-buffer-size to pcre2grep, to allow for automatic buffer
expansion when long lines are encountered. Original patch by Dmitry
Cherniachenko.

11. If pcre2grep was compiled with JIT support, but the library was compiled
without it (something that neither ./configure nor CMake allow, but it can be
done by editing config.h), pcre2grep was giving a JIT error. Now it detects
this situation and does not try to use JIT.

12. Added some "const" qualifiers to variables in pcre2grep.

13. Added Dmitry Cherniachenko's patch for colouring output in Windows
(untested by me). Also, look for GREP_COLOUR or GREP_COLOR if the environment
variables PCRE2GREP_COLOUR and PCRE2GREP_COLOR are not found.

14. Add the -t (grand total) option to pcre2grep.

15. A number of bugs have been mended relating to match start-up optimizations
when the first thing in a pattern is a positive lookahead. These all applied
only when PCRE2_NO_START_OPTIMIZE was *not* set:

    (a) A pattern such as (?=.*X)X$ was incorrectly optimized as if it needed
        both an initial 'X' and a following 'X'.
    (b) Some patterns starting with an assertion that started with .* were
        incorrectly optimized as having to match at the start of the subject or
        after a newline. There are cases where this is not true, for example,
        (?=.*[A-Z])(?=.{8,16})(?!.*[\s]) matches after the start in lines that
        start with spaces. Starting .* in an assertion is no longer taken as an
        indication of matching at the start (or after a newline).

16. The "offset" modifier in pcre2test was not being ignored (as documented)
when the POSIX API was in use.

17. Added --enable-fuzz-support to "configure", causing an non-installed
library containing a test function that can be called by fuzzers to be
compiled. A non-installed  binary to run the test function locally, called
pcre2fuzzcheck is also compiled.

18. A pattern with PCRE2_DOTALL (/s) set but not PCRE2_NO_DOTSTAR_ANCHOR, and
which started with .* inside a positive lookahead was incorrectly being
compiled as implicitly anchored.

19. Removed all instances of "register" declarations, as they are considered
obsolete these days and in any case had become very haphazard.

20. Add strerror() to pcre2test for failed file opening.

21. Make pcre2test -C list valgrind support when it is enabled.

22. Add the use_length modifier to pcre2test.

23. Fix an off-by-one bug in pcre2test for the list of names for 'get' and
'copy' modifiers.

24. Add PCRE2_CALL_CONVENTION into the prototype declarations in pcre2.h as it
is apparently needed there as well as in the function definitions. (Why did
nobody ask for this in PCRE1?)

25. Change the _PCRE2_H and _PCRE2_UCP_H guard macros in the header files to
PCRE2_H_IDEMPOTENT_GUARD and PCRE2_UCP_H_IDEMPOTENT_GUARD to be more standard
compliant and unique.

26. pcre2-config --libs-posix was listing -lpcre2posix instead of
-lpcre2-posix. Also, the CMake build process was building the library with the
wrong name.

27. In pcre2test, give some offset information for errors in hex patterns.
This uses the C99 formatting sequence %td, except for MSVC which doesn't
support it - %lu is used instead.

28. Implemented pcre2_code_copy_with_tables(), and added pushtablescopy to
pcre2test for testing it.

29. Fix small memory leak in pcre2test.

30. Fix out-of-bounds read for partial matching of /./ against an empty string
when the newline type is CRLF.

31. Fix a bug in pcre2test that caused a crash when a locale was set either in
the current pattern or a previous one and a wide character was matched.

32. The appearance of \p, \P, or \X in a substitution string when
PCRE2_SUBSTITUTE_EXTENDED was set caused a segmentation fault (NULL
dereference).

33. If the starting offset was specified as greater than the subject length in
a call to pcre2_substitute() an out-of-bounds memory reference could occur.

34. When PCRE2 was compiled to use the heap instead of the stack for recursive
calls to match(), a repeated minimizing caseless back reference, or a
maximizing one where the two cases had different numbers of code units,
followed by a caseful back reference, could lose the caselessness of the first
repeated back reference (example: /(Z)(a)\2{1,2}?(?-i)\1X/i should match ZaAAZX
but didn't).

35. When a pattern is too complicated, PCRE2 gives up trying to find a minimum
matching length and just records zero. Typically this happens when there are
too many nested or recursive back references. If the limit was reached in
certain recursive cases it failed to be triggered and an internal error could
be the result.

36. The pcre2_dfa_match() function now takes note of the recursion limit for
the internal recursive calls that are used for lookrounds and recursions within
the pattern.

37. More refactoring has got rid of the internal could_be_empty_branch()
function (around 400 lines of code, including comments) by keeping track of
could-be-emptiness as the pattern is compiled instead of scanning compiled
groups. (This would have been much harder before the refactoring of #3 above.)
This lifts a restriction on the number of branches in a group (more than about
1100 would give "pattern is too complicated").

38. Add the "-ac" command line option to pcre2test as a synonym for "-pattern
auto_callout".

39. In a library with Unicode support, incorrect data was compiled for a
pattern with PCRE2_UCP set without PCRE2_UTF if a class required all wide
characters to match (for example, /[\s[:^ascii:]]/).

40. The callout_error modifier has been added to pcre2test to make it possible
to return PCRE2_ERROR_CALLOUT from a callout.

41. A minor change to pcre2grep: colour reset is now "<esc>[0m" instead of
"<esc>[00m".

42. The limit in the auto-possessification code that was intended to catch
overly-complicated patterns and not spend too much time auto-possessifying was
being reset too often, resulting in very long compile times for some patterns.
Now such patterns are no longer completely auto-possessified.

43. Applied Jason Hood's revised patch for RunTest.bat.

44. Added a new Windows script RunGrepTest.bat, courtesy of Jason Hood.

45. Minor cosmetic fix to pcre2test: move a variable that is not used under
Windows into the "not Windows" code.

46. Applied Jason Hood's patches to upgrade pcre2grep under Windows and tidy
some of the code:

  * normalised the Windows condition by ensuring WIN32 is defined;
  * enables the callout feature under Windows;
  * adds globbing (Microsoft's implementation expands quoted args),
    using a tweaked opendirectory;
  * implements the is_*_tty functions for Windows;
  * --color=always will write the ANSI sequences to file;
  * add sequences 4 (underline works on Win10) and 5 (blink as bright
    background, relatively standard on DOS/Win);
  * remove the (char *) casts for the now-const strings;
  * remove GREP_COLOUR (grep's command line allowed the 'u', but not
    the environment), parsing GREP_COLORS instead;
  * uses the current colour if not set, rather than black;
  * add print_match for the undefined case;
  * fixes a typo.

In addition, colour settings containing anything other than digits and
semicolon are ignored, and the colour controls are no longer output for empty
strings.

47. Detecting patterns that are too large inside the length-measuring loop
saves processing ridiculously long patterns to their end.

48. Ignore PCRE2_CASELESS when processing \h, \H, \v, and \V in classes as it
just wastes time. In the UTF case it can also produce redundant entries in
XCLASS lists caused by characters with multiple other cases and pairs of
characters in the same "not-x" sublists.

49. A pattern such as /(?=(a\K))/ can report the end of the match being before
its start; pcre2test was not handling this correctly when using the POSIX
interface (it was OK with the native interface).

50. In pcre2grep, ignore all JIT compile errors. This means that pcre2grep will
continue to work, falling back to interpretation if anything goes wrong with
JIT.

51. Applied patches from Christian Persch to configure.ac to make use of the
AC_USE_SYSTEM_EXTENSIONS macro and to test for functions used by the JIT
modules.

52. Minor fixes to pcre2grep from Jason Hood:
    * fixed some spacing;
    * Windows doesn't usually use single quotes, so I've added a define
      to use appropriate quotes [in an example];
    * LC_ALL was displayed as "LCC_ALL";
    * numbers 11, 12 & 13 should end in "th";
    * use double quotes in usage message.

53. When autopossessifying, skip empty branches without recursion, to reduce
stack usage for the benefit of clang with -fsanitize-address, which uses huge
stack frames. Example pattern: /X?(R||){3335}/. Fixes oss-fuzz issue 553.

54. A pattern with very many explicit back references to a group that is a long
way from the start of the pattern could take a long time to compile because
searching for the referenced group in order to find the minimum length was
being done repeatedly. Now up to 128 group minimum lengths are cached and the
attempt to find a minimum length is abandoned if there is a back reference to a
group whose number is greater than 128. (In that case, the pattern is so
complicated that this optimization probably isn't worth it.) This fixes
oss-fuzz issue 557.

55. Issue 32 for 10.22 below was not correctly fixed. If pcre2grep in multiline
mode with --only-matching matched several lines, it restarted scanning at the
next line instead of moving on to the end of the matched string, which can be
several lines after the start.

56. Applied Jason Hood's new patch for RunGrepTest.bat that updates it in line
with updates to the non-Windows version.



Version 10.22 29-July-2016
--------------------------

1. Applied Jason Hood's patches to RunTest.bat and testdata/wintestoutput3
to fix problems with running the tests under Windows.

2. Implemented a facility for quoting literal characters within hexadecimal
patterns in pcre2test, to make it easier to create patterns with just a few
non-printing characters.

3. Binary zeros are not supported in pcre2test input files. It now detects them
and gives an error.

4. Updated the valgrind parameters in RunTest: (a) changed smc-check=all to
smc-check=all-non-file; (b) changed obj:* in the suppression file to obj:??? so
that it matches only unknown objects.

5. Updated the maintenance script maint/ManyConfigTests to make it easier to
select individual groups of tests.

6. When the POSIX wrapper function regcomp() is called, the REG_NOSUB option
used to set PCRE2_NO_AUTO_CAPTURE when calling pcre2_compile(). However, this
disables the use of back references (and subroutine calls), which are supported
by other implementations of regcomp() with RE_NOSUB. Therefore, REG_NOSUB no
longer causes PCRE2_NO_AUTO_CAPTURE to be set, though it still ignores nmatch
and pmatch when regexec() is called.

7. Because of 6 above, pcre2test has been modified with a new modifier called
posix_nosub, to call regcomp() with REG_NOSUB. Previously the no_auto_capture
modifier had this effect. That option is now ignored when the POSIX API is in
use.

8. Minor tidies to the pcre2demo.c sample program, including more comments
about its 8-bit-ness.

9. Detect unmatched closing parentheses and give the error in the pre-scan
instead of later. Previously the pre-scan carried on and could give a
misleading incorrect error message. For example, /(?J)(?'a'))(?'a')/ gave a
message about invalid duplicate group names.

10. It has happened that pcre2test was accidentally linked with another POSIX
regex library instead of libpcre2-posix. In this situation, a call to regcomp()
(in the other library) may succeed, returning zero, but of course putting its
own data into the regex_t block. In one example the re_pcre2_code field was
left as NULL, which made pcre2test think it had not got a compiled POSIX regex,
so it treated the next line as another pattern line, resulting in a confusing
error message. A check has been added to pcre2test to see if the data returned
from a successful call of regcomp() are valid for PCRE2's regcomp(). If they
are not, an error message is output and the pcre2test run is abandoned. The
message points out the possibility of a mis-linking. Hopefully this will avoid
some head-scratching the next time this happens.

11. A pattern such as /(?<=((?C)0))/, which has a callout inside a lookbehind
assertion, caused pcre2test to output a very large number of spaces when the
callout was taken, making the program appearing to loop.

12. A pattern that included (*ACCEPT) in the middle of a sufficiently deeply
nested set of parentheses of sufficient size caused an overflow of the
compiling workspace (which was diagnosed, but of course is not desirable).

13. Detect missing closing parentheses during the pre-pass for group
identification.

14. Changed some integer variable types and put in a number of casts, following
a report of compiler warnings from Visual Studio 2013 and a few tests with
gcc's -Wconversion (which still throws up a lot).

15. Implemented pcre2_code_copy(), and added pushcopy and #popcopy to pcre2test
for testing it.

16. Change 66 for 10.21 introduced the use of snprintf() in PCRE2's version of
regerror(). When the error buffer is too small, my version of snprintf() puts a
binary zero in the final byte. Bug #1801 seems to show that other versions do
not do this, leading to bad output from pcre2test when it was checking for
buffer overflow. It no longer assumes a binary zero at the end of a too-small
regerror() buffer.

17. Fixed typo ("&&" for "&") in pcre2_study(). Fortunately, this could not
actually affect anything, by sheer luck.

18. Two minor fixes for MSVC compilation: (a) removal of apparently incorrect
"const" qualifiers in pcre2test and (b) defining snprintf as _snprintf for
older MSVC compilers. This has been done both in src/pcre2_internal.h for most
of the library, and also in src/pcre2posix.c, which no longer includes
pcre2_internal.h (see 24 below).

19. Applied Chris Wilson's patch (Bugzilla #1681) to CMakeLists.txt for MSVC
static compilation. Subsequently applied Chris Wilson's second patch, putting
the first patch under a new option instead of being unconditional when
PCRE_STATIC is set.

20. Updated pcre2grep to set stdout as binary when run under Windows, so as not
to convert \r\n at the ends of reflected lines into \r\r\n. This required
ensuring that other output that is written to stdout (e.g. file names) uses the
appropriate line terminator: \r\n for Windows, \n otherwise.

21. When a line is too long for pcre2grep's internal buffer, show the maximum
length in the error message.

22. Added support for string callouts to pcre2grep (Zoltan's patch with PH
additions).

23. RunTest.bat was missing a "set type" line for test 22.

24. The pcre2posix.c file was including pcre2_internal.h, and using some
"private" knowledge of the data structures. This is unnecessary; the code has
been re-factored and no longer includes pcre2_internal.h.

25. A racing condition is fixed in JIT reported by Mozilla.

26. Minor code refactor to avoid "array subscript is below array bounds"
compiler warning.

27. Minor code refactor to avoid "left shift of negative number" warning.

28. Add a bit more sanity checking to pcre2_serialize_decode() and document
that it expects trusted data.

29. Fix typo in pcre2_jit_test.c

30. Due to an oversight, pcre2grep was not making use of JIT when available.
This is now fixed.

31. The RunGrepTest script is updated to use the valgrind suppressions file
when testing with JIT under valgrind (compare 10.21/51 below). The suppressions
file is updated so that is now the same as for PCRE1: it suppresses the
Memcheck warnings Addr16 and Cond in unknown objects (that is, JIT-compiled
code). Also changed smc-check=all to smc-check=all-non-file as was done for
RunTest (see 4 above).

32. Implemented the PCRE2_NO_JIT option for pcre2_match().

33. Fix typo that gave a compiler error when JIT not supported.

34. Fix comment describing the returns from find_fixedlength().

35. Fix potential negative index in pcre2test.

36. Calls to pcre2_get_error_message() with error numbers that are never
returned by PCRE2 functions were returning empty strings. Now the error code
PCRE2_ERROR_BADDATA is returned. A facility has been added to pcre2test to
show the texts for given error numbers (i.e. to call pcre2_get_error_message()
and display what it returns) and a few representative error codes are now
checked in RunTest.

37. Added "&& !defined(__INTEL_COMPILER)" to the test for __GNUC__ in
pcre2_match.c, in anticipation that this is needed for the same reason it was
recently added to pcrecpp.cc in PCRE1.

38. Using -o with -M in pcre2grep could cause unnecessary repeated output when
the match extended over a line boundary, as it tried to find more matches "on
the same line" - but it was already over the end.

39. Allow \C in lookbehinds and DFA matching in UTF-32 mode (by converting it
to the same code as '.' when PCRE2_DOTALL is set).

40. Fix two clang compiler warnings in pcre2test when only one code unit width
is supported.

41. Upgrade RunTest to automatically re-run test 2 with a large (64MiB) stack
if it fails when running the interpreter with a 16MiB stack (and if changing
the stack size via pcre2test is possible). This avoids having to manually set a
large stack size when testing with clang.

42. Fix register overwite in JIT when SSE2 acceleration is enabled.

43. Detect integer overflow in pcre2test pattern and data repetition counts.

44. In pcre2test, ignore "allcaptures" after DFA matching.

45. Fix unaligned accesses on x86. Patch by Marc Mutz.

46. Fix some more clang compiler warnings.


Version 10.21 12-January-2016
-----------------------------

1. Improve matching speed of patterns starting with + or * in JIT.

2. Use memchr() to find the first character in an unanchored match in 8-bit
mode in the interpreter. This gives a significant speed improvement.

3. Removed a redundant copy of the opcode_possessify table in the
pcre2_auto_possessify.c source.

4. Fix typos in dftables.c for z/OS.

5. Change 36 for 10.20 broke the handling of [[:>:]] and [[:<:]] in that
processing them could involve a buffer overflow if the following character was
an opening parenthesis.

6. Change 36 for 10.20 also introduced a bug in processing this pattern:
/((?x)(*:0))#(?'/. Specifically: if a setting of (?x) was followed by a (*MARK)
setting (which (*:0) is), then (?x) did not get unset at the end of its group
during the scan for named groups, and hence the external # was incorrectly
treated as a comment and the invalid (?' at the end of the pattern was not
diagnosed. This caused a buffer overflow during the real compile. This bug was
discovered by Karl Skomski with the LLVM fuzzer.

7. Moved the pcre2_find_bracket() function from src/pcre2_compile.c into its
own source module to avoid a circular dependency between src/pcre2_compile.c
and src/pcre2_study.c

8. A callout with a string argument containing an opening square bracket, for
example /(?C$[$)(?<]/, was incorrectly processed and could provoke a buffer
overflow. This bug was discovered by Karl Skomski with the LLVM fuzzer.

9. The handling of callouts during the pre-pass for named group identification
has been tightened up.

10. The quantifier {1} can be ignored, whether greedy, non-greedy, or
possessive. This is a very minor optimization.

11. A possessively repeated conditional group that could match an empty string,
for example, /(?(R))*+/, was incorrectly compiled.

12. The Unicode tables have been updated to Unicode 8.0.0 (thanks to Christian
Persch).

13. An empty comment (?#) in a pattern was incorrectly processed and could
provoke a buffer overflow. This bug was discovered by Karl Skomski with the
LLVM fuzzer.

14. Fix infinite recursion in the JIT compiler when certain patterns such as
/(?:|a|){100}x/ are analysed.

15. Some patterns with character classes involving [: and \\ were incorrectly
compiled and could cause reading from uninitialized memory or an incorrect
error diagnosis. Examples are: /[[:\\](?<[::]/ and /[[:\\](?'abc')[a:]. The
first of these bugs was discovered by Karl Skomski with the LLVM fuzzer.

16. Pathological patterns containing many nested occurrences of [: caused
pcre2_compile() to run for a very long time. This bug was found by the LLVM
fuzzer.

17. A missing closing parenthesis for a callout with a string argument was not
being diagnosed, possibly leading to a buffer overflow. This bug was found by
the LLVM fuzzer.

18. A conditional group with only one branch has an implicit empty alternative
branch and must therefore be treated as potentially matching an empty string.

19. If (?R was followed by - or + incorrect behaviour happened instead of a
diagnostic. This bug was discovered by Karl Skomski with the LLVM fuzzer.

20. Another bug that was introduced by change 36 for 10.20: conditional groups
whose condition was an assertion preceded by an explicit callout with a string
argument might be incorrectly processed, especially if the string contained \Q.
This bug was discovered by Karl Skomski with the LLVM fuzzer.

21. Compiling PCRE2 with the sanitize options of clang showed up a number of
very pedantic coding infelicities and a buffer overflow while checking a UTF-8
string if the final multi-byte UTF-8 character was truncated.

22. For Perl compatibility in EBCDIC environments, ranges such as a-z in a
class, where both values are literal letters in the same case, omit the
non-letter EBCDIC code points within the range.

23. Finding the minimum matching length of complex patterns with back
references and/or recursions can take a long time. There is now a cut-off that
gives up trying to find a minimum length when things get too complex.

24. An optimization has been added that speeds up finding the minimum matching
length for patterns containing repeated capturing groups or recursions.

25. If a pattern contained a back reference to a group whose number was
duplicated as a result of appearing in a (?|...) group, the computation of the
minimum matching length gave a wrong result, which could cause incorrect "no
match" errors. For such patterns, a minimum matching length cannot at present
be computed.

26. Added a check for integer overflow in conditions (?(<digits>) and
(?(R<digits>). This omission was discovered by Karl Skomski with the LLVM
fuzzer.

27. Fixed an issue when \p{Any} inside an xclass did not read the current
character.

28. If pcre2grep was given the -q option with -c or -l, or when handling a
binary file, it incorrectly wrote output to stdout.

29. The JIT compiler did not restore the control verb head in case of *THEN
control verbs. This issue was found by Karl Skomski with a custom LLVM fuzzer.

30. The way recursive references such as (?3) are compiled has been re-written
because the old way was the cause of many issues. Now, conversion of the group
number into a pattern offset does not happen until the pattern has been
completely compiled. This does mean that detection of all infinitely looping
recursions is postponed till match time. In the past, some easy ones were
detected at compile time. This re-writing was done in response to yet another
bug found by the LLVM fuzzer.

31. A test for a back reference to a non-existent group was missing for items
such as \987. This caused incorrect code to be compiled. This issue was found
by Karl Skomski with a custom LLVM fuzzer.

32. Error messages for syntax errors following \g and \k were giving inaccurate
offsets in the pattern.

33. Improve the performance of starting single character repetitions in JIT.

34. (*LIMIT_MATCH=) now gives an error instead of setting the value to 0.

35. Error messages for syntax errors in *LIMIT_MATCH and *LIMIT_RECURSION now
give the right offset instead of zero.

36. The JIT compiler should not check repeats after a {0,1} repeat byte code.
This issue was found by Karl Skomski with a custom LLVM fuzzer.

37. The JIT compiler should restore the control chain for empty possessive
repeats. This issue was found by Karl Skomski with a custom LLVM fuzzer.

38. A bug which was introduced by the single character repetition optimization
was fixed.

39. Match limit check added to recursion. This issue was found by Karl Skomski
with a custom LLVM fuzzer.

40. Arrange for the UTF check in pcre2_match() and pcre2_dfa_match() to look
only at the part of the subject that is relevant when the starting offset is
non-zero.

41. Improve first character match in JIT with SSE2 on x86.

42. Fix two assertion fails in JIT. These issues were found by Karl Skomski
with a custom LLVM fuzzer.

43. Correct the setting of CMAKE_C_FLAGS in CMakeLists.txt (patch from Roy Ivy
III).

44. Fix bug in RunTest.bat for new test 14, and adjust the script for the added
test (there are now 20 in total).

45. Fixed a corner case of range optimization in JIT.

46. Add the ${*MARK} facility to pcre2_substitute().

47. Modifier lists in pcre2test were splitting at spaces without the required
commas.

48. Implemented PCRE2_ALT_VERBNAMES.

49. Fixed two issues in JIT. These were found by Karl Skomski with a custom
LLVM fuzzer.

50. The pcre2test program has been extended by adding the #newline_default
command. This has made it possible to run the standard tests when PCRE2 is
compiled with either CR or CRLF as the default newline convention. As part of
this work, the new command was added to several test files and the testing
scripts were modified. The pcre2grep tests can now also be run when there is no
LF in the default newline convention.

51. The RunTest script has been modified so that, when JIT is used and valgrind
is specified, a valgrind suppressions file is set up to ignore "Invalid read of
size 16" errors because these are false positives when the hardware supports
the SSE2 instruction set.

52. It is now possible to have comment lines amid the subject strings in
pcre2test (and perltest.sh) input.

53. Implemented PCRE2_USE_OFFSET_LIMIT and pcre2_set_offset_limit().

54. Add the null_context modifier to pcre2test so that calling pcre2_compile()
and the matching functions with NULL contexts can be tested.

55. Implemented PCRE2_SUBSTITUTE_EXTENDED.

56. In a character class such as [\W\p{Any}] where both a negative-type escape
("not a word character") and a property escape were present, the property
escape was being ignored.

57. Fixed integer overflow for patterns whose minimum matching length is very,
very large.

58. Implemented --never-backslash-C.

59. Change 55 above introduced a bug by which certain patterns provoked the
erroneous error "\ at end of pattern".

60. The special sequences [[:<:]] and [[:>:]] gave rise to incorrect compiling
errors or other strange effects if compiled in UCP mode. Found with libFuzzer
and AddressSanitizer.

61. Whitespace at the end of a pcre2test pattern line caused a spurious error
message if there were only single-character modifiers. It should be ignored.

62. The use of PCRE2_NO_AUTO_CAPTURE could cause incorrect compilation results
or segmentation errors for some patterns. Found with libFuzzer and
AddressSanitizer.

63. Very long names in (*MARK) or (*THEN) etc. items could provoke a buffer
overflow.

64. Improve error message for overly-complicated patterns.

65. Implemented an optional replication feature for patterns in pcre2test, to
make it easier to test long repetitive patterns. The tests for 63 above are
converted to use the new feature.

66. In the POSIX wrapper, if regerror() was given too small a buffer, it could
misbehave.

67. In pcre2_substitute() in UTF mode, the UTF validity check on the
replacement string was happening before the length setting when the replacement
string was zero-terminated.

68. In pcre2_substitute() in UTF mode, PCRE2_NO_UTF_CHECK can be set for the
second and subsequent calls to pcre2_match().

69. There was no check for integer overflow for a replacement group number in
pcre2_substitute(). An added check for a number greater than the largest group
number in the pattern means this is not now needed.

70. The PCRE2-specific VERSION condition didn't work correctly if only one
digit was given after the decimal point, or if more than two digits were given.
It now works with one or two digits, and gives a compile time error if more are
given.

71. In pcre2_substitute() there was the possibility of reading one code unit
beyond the end of the replacement string.

72. The code for checking a subject's UTF-32 validity for a pattern with a
lookbehind involved an out-of-bounds pointer, which could potentially cause
trouble in some environments.

73. The maximum lookbehind length was incorrectly calculated for patterns such
as /(?<=(a)(?-1))x/ which have a recursion within a backreference.

74. Give an error if a lookbehind assertion is longer than 65535 code units.

75. Give an error in pcre2_substitute() if a match ends before it starts (as a
result of the use of \K).

76. Check the length of subpattern names and the names in (*MARK:xx) etc.
dynamically to avoid the possibility of integer overflow.

77. Implement pcre2_set_max_pattern_length() so that programs can restrict the
size of patterns that they are prepared to handle.

78. (*NO_AUTO_POSSESS) was not working.

79. Adding group information caching improves the speed of compiling when
checking whether a group has a fixed length and/or could match an empty string,
especially when recursion or subroutine calls are involved. However, this
cannot be used when (?| is present in the pattern because the same number may
be used for groups of different sizes. To catch runaway patterns in this
situation, counts have been introduced to the functions that scan for empty
branches or compute fixed lengths.

80. Allow for the possibility of the size of the nest_save structure not being
a factor of the size of the compiling workspace (it currently is).

81. Check for integer overflow in minimum length calculation and cap it at
65535.

82. Small optimizations in code for finding the minimum matching length.

83. Lock out configuring for EBCDIC with non-8-bit libraries.

84. Test for error code <= 0 in regerror().

85. Check for too many replacements (more than INT_MAX) in pcre2_substitute().

86. Avoid the possibility of computing with an out-of-bounds pointer (though
not dereferencing it) while handling lookbehind assertions.

87. Failure to get memory for the match data in regcomp() is now given as a
regcomp() error instead of waiting for regexec() to pick it up.

88. In pcre2_substitute(), ensure that CRLF is not split when it is a valid
newline sequence.

89. Paranoid check in regcomp() for bad error code from pcre2_compile().

90. Run test 8 (internal offsets and code sizes) for link sizes 3 and 4 as well
as for link size 2.

91. Document that JIT has a limit on pattern size, and give more information
about JIT compile failures in pcre2test.

92. Implement PCRE2_INFO_HASBACKSLASHC.

93. Re-arrange valgrind support code in pcre2test to avoid spurious reports
with JIT (possibly caused by SSE2?).

94. Support offset_limit in JIT.

95. A sequence such as [[:punct:]b] that is, a POSIX character class followed
by a single ASCII character in a class item, was incorrectly compiled in UCP
mode. The POSIX class got lost, but only if the single character followed it.

96. [:punct:] in UCP mode was matching some characters in the range 128-255
that should not have been matched.

97. If [:^ascii:] or [:^xdigit:] are present in a non-negated class, all
characters with code points greater than 255 are in the class. When a Unicode
property was also in the class (if PCRE2_UCP is set, escapes such as \w are
turned into Unicode properties), wide characters were not correctly handled,
and could fail to match.

98. In pcre2test, make the "startoffset" modifier a synonym of "offset",
because it sets the "startoffset" parameter for pcre2_match().

99. If PCRE2_AUTO_CALLOUT was set on a pattern that had a (?# comment between
an item and its qualifier (for example, A(?#comment)?B) pcre2_compile()
misbehaved. This bug was found by the LLVM fuzzer.

100. The error for an invalid UTF pattern string always gave the code unit
offset as zero instead of where the invalidity was found.

101. Further to 97 above, negated classes such as [^[:^ascii:]\d] were also not
working correctly in UCP mode.

102. Similar to 99 above, if an isolated \E was present between an item and its
qualifier when PCRE2_AUTO_CALLOUT was set, pcre2_compile() misbehaved. This bug
was found by the LLVM fuzzer.

103. The POSIX wrapper function regexec() crashed if the option REG_STARTEND
was set when the pmatch argument was NULL. It now returns REG_INVARG.

104. Allow for up to 32-bit numbers in the ordin() function in pcre2grep.

105. An empty \Q\E sequence between an item and its qualifier caused
pcre2_compile() to misbehave when auto callouts were enabled. This bug
was found by the LLVM fuzzer.

106. If both PCRE2_ALT_VERBNAMES and PCRE2_EXTENDED were set, and a (*MARK) or
other verb "name" ended with whitespace immediately before the closing
parenthesis, pcre2_compile() misbehaved. Example: /(*:abc )/, but only when
both those options were set.

107. In a number of places pcre2_compile() was not handling NULL characters
correctly, and pcre2test with the "bincode" modifier was not always correctly
displaying fields containing NULLS:

   (a) Within /x extended #-comments
   (b) Within the "name" part of (*MARK) and other *verbs
   (c) Within the text argument of a callout

108. If a pattern that was compiled with PCRE2_EXTENDED started with white
space or a #-type comment that was followed by (?-x), which turns off
PCRE2_EXTENDED, and there was no subsequent (?x) to turn it on again,
pcre2_compile() assumed that (?-x) applied to the whole pattern and
consequently mis-compiled it. This bug was found by the LLVM fuzzer. The fix
for this bug means that a setting of any of the (?imsxJU) options at the start
of a pattern is no longer transferred to the options that are returned by
PCRE2_INFO_ALLOPTIONS. In fact, this was an anachronism that should have
changed when the effects of those options were all moved to compile time.

109. An escaped closing parenthesis in the "name" part of a (*verb) when
PCRE2_ALT_VERBNAMES was set caused pcre2_compile() to malfunction. This bug
was found by the LLVM fuzzer.

110. Implemented PCRE2_SUBSTITUTE_UNSET_EMPTY, and updated pcre2test to make it
possible to test it.

111. "Harden" pcre2test against ridiculously large values in modifiers and
command line arguments.

112. Implemented PCRE2_SUBSTITUTE_UNKNOWN_UNSET and PCRE2_SUBSTITUTE_OVERFLOW_
LENGTH.

113. Fix printing of *MARK names that contain binary zeroes in pcre2test.


Version 10.20 30-June-2015
--------------------------

1. Callouts with string arguments have been added.

2. Assertion code generator in JIT has been optimized.

3. The invalid pattern (?(?C) has a missing assertion condition at the end. The
pcre2_compile() function read past the end of the input before diagnosing an
error. This bug was discovered by the LLVM fuzzer.

4. Implemented pcre2_callout_enumerate().

5. Fix JIT compilation of conditional blocks whose assertion is converted to
(*FAIL). E.g: /(?(?!))/.

6. The pattern /(?(?!)^)/ caused references to random memory. This bug was
discovered by the LLVM fuzzer.

7. The assertion (?!) is optimized to (*FAIL). This was not handled correctly
when this assertion was used as a condition, for example (?(?!)a|b). In
pcre2_match() it worked by luck; in pcre2_dfa_match() it gave an incorrect
error about an unsupported item.

8. For some types of pattern, for example /Z*(|d*){216}/, the auto-
possessification code could take exponential time to complete. A recursion
depth limit of 1000 has been imposed to limit the resources used by this
optimization. This infelicity was discovered by the LLVM fuzzer.

9. A pattern such as /(*UTF)[\S\V\H]/, which contains a negated special class
such as \S in non-UCP mode, explicit wide characters (> 255) can be ignored
because \S ensures they are all in the class. The code for doing this was
interacting badly with the code for computing the amount of space needed to
compile the pattern, leading to a buffer overflow. This bug was discovered by
the LLVM fuzzer.

10. A pattern such as /((?2)+)((?1))/ which has mutual recursion nested inside
other kinds of group caused stack overflow at compile time. This bug was
discovered by the LLVM fuzzer.

11. A pattern such as /(?1)(?#?'){8}(a)/ which had a parenthesized comment
between a subroutine call and its quantifier was incorrectly compiled, leading
to buffer overflow or other errors. This bug was discovered by the LLVM fuzzer.

12. The illegal pattern /(?(?<E>.*!.*)?)/ was not being diagnosed as missing an
assertion after (?(. The code was failing to check the character after (?(?<
for the ! or = that would indicate a lookbehind assertion. This bug was
discovered by the LLVM fuzzer.

13. A pattern such as /X((?2)()*+){2}+/ which has a possessive quantifier with
a fixed maximum following a group that contains a subroutine reference was
incorrectly compiled and could trigger buffer overflow. This bug was discovered
by the LLVM fuzzer.

14. Negative relative recursive references such as (?-7) to non-existent
subpatterns were not being diagnosed and could lead to unpredictable behaviour.
This bug was discovered by the LLVM fuzzer.

15. The bug fixed in 14 was due to an integer variable that was unsigned when
it should have been signed. Some other "int" variables, having been checked,
have either been changed to uint32_t or commented as "must be signed".

16. A mutual recursion within a lookbehind assertion such as (?<=((?2))((?1)))
caused a stack overflow instead of the diagnosis of a non-fixed length
lookbehind assertion. This bug was discovered by the LLVM fuzzer.

17. The use of \K in a positive lookbehind assertion in a non-anchored pattern
(e.g. /(?<=\Ka)/) could make pcre2grep loop.

18. There was a similar problem to 17 in pcre2test for global matches, though
the code there did catch the loop.

19. If a greedy quantified \X was preceded by \C in UTF mode (e.g. \C\X*),
and a subsequent item in the pattern caused a non-match, backtracking over the
repeated \X did not stop, but carried on past the start of the subject, causing
reference to random memory and/or a segfault. There were also some other cases
where backtracking after \C could crash. This set of bugs was discovered by the
LLVM fuzzer.

20. The function for finding the minimum length of a matching string could take
a very long time if mutual recursion was present many times in a pattern, for
example, /((?2){73}(?2))((?1))/. A better mutual recursion detection method has
been implemented. This infelicity was discovered by the LLVM fuzzer.

21. Implemented PCRE2_NEVER_BACKSLASH_C.

22. The feature for string replication in pcre2test could read from freed
memory if the replication required a buffer to be extended, and it was not
working properly in 16-bit and 32-bit modes. This issue was discovered by a
fuzzer: see http://lcamtuf.coredump.cx/afl/.

23. Added the PCRE2_ALT_CIRCUMFLEX option.

24. Adjust the treatment of \8 and \9 to be the same as the current Perl
behaviour.

25. Static linking against the PCRE2 library using the pkg-config module was
failing on missing pthread symbols.

26. If a group that contained a recursive back reference also contained a
forward reference subroutine call followed by a non-forward-reference
subroutine call, for example /.((?2)(?R)\1)()/, pcre2_compile() failed to
compile correct code, leading to undefined behaviour or an internally detected
error. This bug was discovered by the LLVM fuzzer.

27. Quantification of certain items (e.g. atomic back references) could cause
incorrect code to be compiled when recursive forward references were involved.
For example, in this pattern: /(?1)()((((((\1++))\x85)+)|))/. This bug was
discovered by the LLVM fuzzer.

28. A repeated conditional group whose condition was a reference by name caused
a buffer overflow if there was more than one group with the given name. This
bug was discovered by the LLVM fuzzer.

29. A recursive back reference by name within a group that had the same name as
another group caused a buffer overflow. For example: /(?J)(?'d'(?'d'\g{d}))/.
This bug was discovered by the LLVM fuzzer.

30. A forward reference by name to a group whose number is the same as the
current group, for example in this pattern: /(?|(\k'Pm')|(?'Pm'))/, caused a
buffer overflow at compile time. This bug was discovered by the LLVM fuzzer.

31. Fix -fsanitize=undefined warnings for left shifts of 1 by 31 (it treats 1
as an int; fixed by writing it as 1u).

32. Fix pcre2grep compile when -std=c99 is used with gcc, though it still gives
a warning for "fileno" unless -std=gnu99 us used.

33. A lookbehind assertion within a set of mutually recursive subpatterns could
provoke a buffer overflow. This bug was discovered by the LLVM fuzzer.

34. Give an error for an empty subpattern name such as (?'').

35. Make pcre2test give an error if a pattern that follows #forbud_utf contains
\P, \p, or \X.

36. The way named subpatterns are handled has been refactored. There is now a
pre-pass over the regex which does nothing other than identify named
subpatterns and count the total captures. This means that information about
named patterns is known before the rest of the compile. In particular, it means
that forward references can be checked as they are encountered. Previously, the
code for handling forward references was contorted and led to several errors in
computing the memory requirements for some patterns, leading to buffer
overflows.

37. There was no check for integer overflow in subroutine calls such as (?123).

38. The table entry for \l in EBCDIC environments was incorrect, leading to its
being treated as a literal 'l' instead of causing an error.

39. If a non-capturing group containing a conditional group that could match
an empty string was repeated, it was not identified as matching an empty string
itself. For example: /^(?:(?(1)x|)+)+$()/.

40. In an EBCDIC environment, pcretest was mishandling the escape sequences
\a and \e in test subject lines.

41. In an EBCDIC environment, \a in a pattern was converted to the ASCII
instead of the EBCDIC value.

42. The handling of \c in an EBCDIC environment has been revised so that it is
now compatible with the specification in Perl's perlebcdic page.

43. Single character repetition in JIT has been improved. 20-30% speedup
was achieved on certain patterns.

44. The EBCDIC character 0x41 is a non-breaking space, equivalent to 0xa0 in
ASCII/Unicode. This has now been added to the list of characters that are
recognized as white space in EBCDIC.

45. When PCRE2 was compiled without Unicode support, the use of \p and \P gave
an error (correctly) when used outside a class, but did not give an error
within a class.

46. \h within a class was incorrectly compiled in EBCDIC environments.

47. JIT should return with error when the compiled pattern requires
more stack space than the maximum.

48. Fixed a memory leak in pcre2grep when a locale is set.


Version 10.10 06-March-2015
---------------------------

1. When a pattern is compiled, it remembers the highest back reference so that
when matching, if the ovector is too small, extra memory can be obtained to
use instead. A conditional subpattern whose condition is a check on a capture
having happened, such as, for example in the pattern /^(?:(a)|b)(?(1)A|B)/, is
another kind of back reference, but it was not setting the highest
backreference number. This mattered only if pcre2_match() was called with an
ovector that was too small to hold the capture, and there was no other kind of
back reference (a situation which is probably quite rare). The effect of the
bug was that the condition was always treated as FALSE when the capture could
not be consulted, leading to a incorrect behaviour by pcre2_match(). This bug
has been fixed.

2. Functions for serialization and deserialization of sets of compiled patterns
have been added.

3. The value that is returned by PCRE2_INFO_SIZE has been corrected to remove
excess code units at the end of the data block that may occasionally occur if
the code for calculating the size over-estimates. This change stops the
serialization code copying uninitialized data, to which valgrind objects. The
documentation of PCRE2_INFO_SIZE was incorrect in stating that the size did not
include the general overhead. This has been corrected.

4. All code units in every slot in the table of group names are now set, again
in order to avoid accessing uninitialized data when serializing.

5. The (*NO_JIT) feature is implemented.

6. If a bug that caused pcre2_compile() to use more memory than allocated was
triggered when using valgrind, the code in (3) above passed a stupidly large
value to valgrind. This caused a crash instead of an "internal error" return.

7. A reference to a duplicated named group (either a back reference or a test
for being set in a conditional) that occurred in a part of the pattern where
PCRE2_DUPNAMES was not set caused the amount of memory needed for the pattern
to be incorrectly calculated, leading to overwriting.

8. A mutually recursive set of back references such as (\2)(\1) caused a
segfault at compile time (while trying to find the minimum matching length).
The infinite loop is now broken (with the minimum length unset, that is, zero).

9. If an assertion that was used as a condition was quantified with a minimum
of zero, matching went wrong. In particular, if the whole group had unlimited
repetition and could match an empty string, a segfault was likely. The pattern
(?(?=0)?)+ is an example that caused this. Perl allows assertions to be
quantified, but not if they are being used as conditions, so the above pattern
is faulted by Perl. PCRE2 has now been changed so that it also rejects such
patterns.

10. The error message for an invalid quantifier has been changed from "nothing
to repeat" to "quantifier does not follow a repeatable item".

11. If a bad UTF string is compiled with NO_UTF_CHECK, it may succeed, but
scanning the compiled pattern in subsequent auto-possessification can get out
of step and lead to an unknown opcode. Previously this could have caused an
infinite loop. Now it generates an "internal error" error. This is a tidyup,
not a bug fix; passing bad UTF with NO_UTF_CHECK is documented as having an
undefined outcome.

12. A UTF pattern containing a "not" match of a non-ASCII character and a
subroutine reference could loop at compile time. Example: /[^\xff]((?1))/.

13. The locale test (RunTest 3) has been upgraded. It now checks that a locale
that is found in the output of "locale -a" can actually be set by pcre2test
before it is accepted. Previously, in an environment where a locale was listed
but would not set (an example does exist), the test would "pass" without
actually doing anything. Also the fr_CA locale has been added to the list of
locales that can be used.

14. Fixed a bug in pcre2_substitute(). If a replacement string ended in a
capturing group number without parentheses, the last character was incorrectly
literally included at the end of the replacement string.

15. A possessive capturing group such as (a)*+ with a minimum repeat of zero
failed to allow the zero-repeat case if pcre2_match() was called with an
ovector too small to capture the group.

16. Improved error message in pcre2test when setting the stack size (-S) fails.

17. Fixed two bugs in CMakeLists.txt: (1) Some lines had got lost in the
transfer from PCRE1, meaning that CMake configuration failed if "build tests"
was selected. (2) The file src/pcre2_serialize.c had not been added to the list
of PCRE2 sources, which caused a failure to build pcre2test.

18. Fixed typo in pcre2_serialize.c (DECL instead of DEFN) that causes problems
only on Windows.

19. Use binary input when reading back saved serialized patterns in pcre2test.

20. Added RunTest.bat for running the tests under Windows.

21. "make distclean" was not removing config.h, a file that may be created for
use with CMake.

22. A pattern such as "((?2){0,1999}())?", which has a group containing a
forward reference repeated a large (but limited) number of times within a
repeated outer group that has a zero minimum quantifier, caused incorrect code
to be compiled, leading to the error "internal error: previously-checked
referenced subpattern not found" when an incorrect memory address was read.
This bug was reported as "heap overflow", discovered by Kai Lu of Fortinet's
FortiGuard Labs. (Added 24-March-2015: CVE-2015-2325 was given to this.)

23. A pattern such as "((?+1)(\1))/" containing a forward reference subroutine
call within a group that also contained a recursive back reference caused
incorrect code to be compiled. This bug was reported as "heap overflow",
discovered by Kai Lu of Fortinet's FortiGuard Labs. (Added 24-March-2015:
CVE-2015-2326 was given to this.)

24. Computing the size of the JIT read-only data in advance has been a source
of various issues, and new ones are still appear unfortunately. To fix
existing and future issues, size computation is eliminated from the code,
and replaced by on-demand memory allocation.

25. A pattern such as /(?i)[A-`]/, where characters in the other case are
adjacent to the end of the range, and the range contained characters with more
than one other case, caused incorrect behaviour when compiled in UTF mode. In
that example, the range a-j was left out of the class.


Version 10.00 05-January-2015
-----------------------------

Version 10.00 is the first release of PCRE2, a revised API for the PCRE
library. Changes prior to 10.00 are logged in the ChangeLog file for the old
API, up to item 20 for release 8.36.

The code of the library was heavily revised as part of the new API
implementation. Details of each and every modification were not individually
logged. In addition to the API changes, the following changes were made. They
are either new functionality, or bug fixes and other noticeable changes of
behaviour that were implemented after the code had been forked.

1. Including Unicode support at build time is now enabled by default, but it
can optionally be disabled. It is not enabled by default at run time (no
change).

2. The test program, now called pcre2test, was re-specified and almost
completely re-written. Its input is not compatible with input for pcretest.

3. Patterns may start with (*NOTEMPTY) or (*NOTEMPTY_ATSTART) to set the
PCRE2_NOTEMPTY or PCRE2_NOTEMPTY_ATSTART options for every subject line that is
matched by that pattern.

4. For the benefit of those who use PCRE2 via some other application, that is,
not writing the function calls themselves, it is possible to check the PCRE2
version by matching a pattern such as /(?(VERSION>=10)yes|no)/ against a
string such as "yesno".

5. There are case-equivalent Unicode characters whose encodings use different
numbers of code units in UTF-8. U+023A and U+2C65 are one example. (It is
theoretically possible for this to happen in UTF-16 too.) If a backreference to
a group containing one of these characters was greedily repeated, and during
the match a backtrack occurred, the subject might be backtracked by the wrong
number of code units. For example, if /^(\x{23a})\1*(.)/ is matched caselessly
(and in UTF-8 mode) against "\x{23a}\x{2c65}\x{2c65}\x{2c65}", group 2 should
capture the final character, which is the three bytes E2, B1, and A5 in UTF-8.
Incorrect backtracking meant that group 2 captured only the last two bytes.
This bug has been fixed; the new code is slower, but it is used only when the
strings matched by the repetition are not all the same length.

6. A pattern such as /()a/ was not setting the "first character must be 'a'"
information. This applied to any pattern with a group that matched no
characters, for example: /(?:(?=.)|(?<!x))a/.

7. When an (*ACCEPT) is triggered inside capturing parentheses, it arranges for
those parentheses to be closed with whatever has been captured so far. However,
it was failing to mark any other groups between the highest capture so far and
the currrent group as "unset". Thus, the ovector for those groups contained
whatever was previously there. An example is the pattern /(x)|((*ACCEPT))/ when
matched against "abcd".

8. The pcre2_substitute() function has been implemented.

9. If an assertion used as a condition was quantified with a minimum of zero
(an odd thing to do, but it happened), SIGSEGV or other misbehaviour could
occur.

10. The PCRE2_NO_DOTSTAR_ANCHOR option has been implemented.

****
share/doc/alt-pcre2/NEWS000064400000026635150403237320010716 0ustar00News about PCRE2 releases
-------------------------


Version 10.34 21-November-2019
------------------------------

Another release with a few enhancements as well as bugfixes and tidies. The
main new features are:

1. There is now some support for matching in invalid UTF strings.

2. Non-atomic positive lookarounds are implemented in the pcre2_match()
interpreter, but not in JIT.

3. Added two new functions: pcre2_get_match_data_size() and
pcre2_maketables_free().

4. Upgraded to Unicode 12.1.0.


Version 10.33 16-April-2019
---------------------------

Yet more bugfixes, tidies, and a few enhancements, summarized here (see
ChangeLog for the full list):

1. Callouts from pcre2_substitute() are now available.

2. The POSIX functions are now all called pcre2_regcomp() etc., with wrapper
functions that use the standard POSIX names. However, in pcre2posix.h the POSIX
names are defined as macros. This should help avoid linking with the wrong
library in some environments, while still exporting the POSIX names for
pre-existing programs that use them.

3. Some new options:

   (a) PCRE2_EXTRA_ESCAPED_CR_IS_LF makes \r behave as \n.

   (b) PCRE2_EXTRA_ALT_BSUX enables support for ECMAScript 6's \u{hh...}
       construct.

   (c) PCRE2_COPY_MATCHED_SUBJECT causes a copy of a matched subject to be
       made, instead of just remembering a pointer.

4. Some new Perl features:

   (a) Perl 5.28's experimental alphabetic names for atomic groups and
       lookaround assertions, for example, (*pla:...) and (*atomic:...).

   (b) The new Perl "script run" features (*script_run:...) and
       (*atomic_script_run:...) aka (*sr:...) and (*asr:...).

   (c) When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in
       capture group names.

5. --disable-percent-zt disables the use of %zu and %td in formatting strings
in pcre2test. They were already automatically disabled for VC and older C
compilers.

6. Some changes related to callouts in pcre2grep:

   (a) Support for running an external program under VMS has been added, in
       addition to Windows and fork() support.

   (b) --disable-pcre2grep-callout-fork restricts the callout support in
       to the inbuilt echo facility.


Version 10.32 10-September-2018
-------------------------------

This is another mainly bugfix and tidying release with a few minor
enhancements. These are the main ones:

1. pcre2grep now supports the inclusion of binary zeros in patterns that are
read from files via the -f option.

2. ./configure now supports --enable-jit=auto, which automatically enables JIT
if the hardware supports it.

3. In pcre2_dfa_match(), internal recursive calls no longer use the stack for
local workspace and local ovectors. Instead, an initial block of stack is
reserved, but if this is insufficient, heap memory is used. The heap limit
parameter now applies to pcre2_dfa_match().

4. Updated to Unicode version 11.0.0.

5. (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported.

6. Added support for \N{U+dddd}, but only in Unicode mode.

7. Added support for (?^) to unset all imnsx options.


Version 10.31 12-February-2018
------------------------------

This is mainly a bugfix and tidying release (see ChangeLog for full details).
However, there are some minor enhancements.

1. New pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and
PCRE2_CONFIG_COMPILED_WIDTHS.

2. New pcre2_pattern_info() option PCRE2_INFO_EXTRAOPTIONS to retrieve the
extra compile time options.

3. There are now public names for all the pcre2_compile() error numbers.

4. Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK bits to a new
field callout_flags in callout blocks.


Version 10.30 14-August-2017
----------------------------

The full list of changes that includes bugfixes and tidies is, as always, in
ChangeLog. These are the most important new features:

1. The main interpreter, pcre2_match(), has been refactored into a new version
that does not use recursive function calls (and therefore the system stack) for
remembering backtracking positions. This makes --disable-stack-for-recursion a
NOOP. The new implementation allows backtracking into recursive group calls in
patterns, making it more compatible with Perl, and also fixes some other
previously hard-to-do issues. For patterns that have a lot of backtracking, the
heap is now used, and there is an explicit limit on the amount, settable by
pcre2_set_heap_limit() or (*LIMIT_HEAP=xxx). The "recursion limit" is retained,
but is renamed as "depth limit" (though the old names remain for
compatibility).

There is also a change in the way callouts from pcre2_match() are handled. The
offset_vector field in the callout block is no longer a pointer to the
actual ovector that was passed to the matching function in the match data
block. Instead it points to an internal ovector of a size large enough to hold
all possible captured substrings in the pattern.

2. The new option PCRE2_ENDANCHORED insists that a pattern match must end at
the end of the subject.

3. The new option PCRE2_EXTENDED_MORE implements Perl's /xx feature, and
pcre2test is upgraded to support it. Setting within the pattern by (?xx) is
also supported.

4. (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl now has this.

5. Additional compile options in the compile context are now available, and the
first two are: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and
PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL.

6. The newline type PCRE2_NEWLINE_NUL is now available.

7. The match limit value now also applies to pcre2_dfa_match() as there are
patterns that can use up a lot of resources without necessarily recursing very
deeply.

8. The option REG_PEND (a GNU extension) is now available for the POSIX
wrapper. Also there is a new option PCRE2_LITERAL which is used to support
REG_NOSPEC.

9. PCRE2_EXTRA_MATCH_LINE and PCRE2_EXTRA_MATCH_WORD are implemented for the
benefit of pcre2grep, and pcre2grep's -F, -w, and -x options are re-implemented
using PCRE2_LITERAL, PCRE2_EXTRA_MATCH_WORD, and PCRE2_EXTRA_MATCH_LINE. This
is tidier and also fixes some bugs.

10. The Unicode tables are upgraded from Unicode 8.0.0 to Unicode 10.0.0.

11. There are some experimental functions for converting foreign patterns
(globs and POSIX patterns) into PCRE2 patterns.


Version 10.23 14-February-2017
------------------------------

1. ChangeLog has the details of a lot of bug fixes and tidies.

2. There has been a major re-factoring of the pcre2_compile.c file. Most syntax
checking is now done in the pre-pass that identifies capturing groups. This has
reduced the amount of duplication and made the code tidier. While doing this,
some minor bugs and Perl incompatibilities were fixed (see ChangeLog for
details.)

3. Back references are now permitted in lookbehind assertions when there are
no duplicated group numbers (that is, (?| has not been used), and, if the
reference is by name, there is only one group of that name. The referenced
group must, of course be of fixed length.

4. \g{+<number>} (e.g. \g{+2} ) is now supported. It is a "forward back
reference" and can be useful in repetitions (compare \g{-<number>} ). Perl does
not recognize this syntax.

5. pcre2grep now automatically expands its buffer up to a maximum set by
--max-buffer-size.

6. The -t option (grand total) has been added to pcre2grep.

7. A new function called pcre2_code_copy_with_tables() exists to copy a
compiled pattern along with a private copy of the character tables that is
uses.

8. A user supplied a number of patches to upgrade pcre2grep under Windows and
tidy the code.

9. Several updates have been made to pcre2test and test scripts (see
ChangeLog).


Version 10.22 29-July-2016
--------------------------

1. ChangeLog has the details of a number of bug fixes.

2. The POSIX wrapper function regcomp() did not used to support back references
and subroutine calls if called with the REG_NOSUB option. It now does.

3. A new function, pcre2_code_copy(), is added, to make a copy of a compiled
pattern.

4. Support for string callouts is added to pcre2grep.

5. Added the PCRE2_NO_JIT option to pcre2_match().

6. The pcre2_get_error_message() function now returns with a negative error
code if the error number it is given is unknown.

7. Several updates have been made to pcre2test and test scripts (see
ChangeLog).


Version 10.21 12-January-2016
-----------------------------

1. Many bugs have been fixed. A large number of them were provoked only by very
strange pattern input, and were discovered by fuzzers. Some others were
discovered by code auditing. See ChangeLog for details.

2. The Unicode tables have been updated to Unicode version 8.0.0.

3. For Perl compatibility in EBCDIC environments, ranges such as a-z in a
class, where both values are literal letters in the same case, omit the
non-letter EBCDIC code points within the range.

4. There have been a number of enhancements to the pcre2_substitute() function,
giving more flexibility to replacement facilities. It is now also possible to
cause the function to return the needed buffer size if the one given is too
small.

5. The PCRE2_ALT_VERBNAMES option causes the "name" parts of special verbs such
as (*THEN:name) to be processed for backslashes and to take note of
PCRE2_EXTENDED.

6. PCRE2_INFO_HASBACKSLASHC makes it possible for a client to find out if a
pattern uses \C, and --never-backslash-C makes it possible to compile a version
PCRE2 in which the use of \C is always forbidden.

7. A limit to the length of pattern that can be handled can now be set by
calling pcre2_set_max_pattern_length().

8. When matching an unanchored pattern, a match can be required to begin within
a given number of code units after the start of the subject by calling
pcre2_set_offset_limit().

9. The pcre2test program has been extended to test new facilities, and it can
now run the tests when LF on its own is not a valid newline sequence.

10. The RunTest script has also been updated to enable more tests to be run.

11. There have been some minor performance enhancements.


Version 10.20 30-June-2015
--------------------------

1. Callouts with string arguments and the pcre2_callout_enumerate() function
have been implemented.

2. The PCRE2_NEVER_BACKSLASH_C option, which locks out the use of \C, is added.

3. The PCRE2_ALT_CIRCUMFLEX option lets ^ match after a newline at the end of a
subject in multiline mode.

4. The way named subpatterns are handled has been refactored. The previous
approach had several bugs.

5. The handling of \c in EBCDIC environments has been changed to conform to the
perlebcdic document. This is an incompatible change.

6. Bugs have been mended, many of them discovered by fuzzers.


Version 10.10 06-March-2015
---------------------------

1. Serialization and de-serialization functions have been added to the API,
making it possible to save and restore sets of compiled patterns, though
restoration must be done in the same environment that was used for compilation.

2. The (*NO_JIT) feature has been added; this makes it possible for a pattern
creator to specify that JIT is not to be used.

3. A number of bugs have been fixed. In particular, bugs that caused building
on Windows using CMake to fail have been mended.


Version 10.00 05-January-2015
-----------------------------

Version 10.00 is the first release of PCRE2, a revised API for the PCRE
library. Changes prior to 10.00 are logged in the ChangeLog file for the old
API, up to item 20 for release 8.36. New programs are recommended to use the
new library. Programs that use the original (PCRE1) API will need changing
before linking with the new library.

****
share/doc/alt-pcre2/AUTHORS000064400000001330150403237320011250 0ustar00THE MAIN PCRE2 LIBRARY CODE
---------------------------

Written by:       Philip Hazel
Email local part: ph10
Email domain:     cam.ac.uk

University of Cambridge Computing Service,
Cambridge, England.

Copyright (c) 1997-2019 University of Cambridge
All rights reserved


PCRE2 JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------

Written by:       Zoltan Herczeg
Email local part: hzmester
Emain domain:     freemail.hu

Copyright(c) 2010-2019 Zoltan Herczeg
All rights reserved.


STACK-LESS JUST-IN-TIME COMPILER
--------------------------------

Written by:       Zoltan Herczeg
Email local part: hzmester
Emain domain:     freemail.hu

Copyright(c) 2009-2019 Zoltan Herczeg
All rights reserved.

####
share/doc/alt-pcre2/COPYING000064400000000141150403237320011232 0ustar00PCRE2 LICENCE

Please see the file LICENCE in the PCRE2 distribution for licensing details.

End
share/doc/alt-pcre2/LICENCE000064400000006600150403237320011172 0ustar00PCRE2 LICENCE
-------------

PCRE2 is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.

Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
licence, as specified below, with one exemption for certain binary
redistributions. The documentation for PCRE2, supplied in the "doc" directory,
is distributed under the same terms as the software itself. The data in the
testdata directory is not copyrighted and is in the public domain.

The basic library functions are written in C and are freestanding. Also
included in the distribution is a just-in-time compiler that can be used to
optimize pattern matching. This is an optional feature that can be omitted when
the library is built.


THE BASIC LIBRARY FUNCTIONS
---------------------------

Written by:       Philip Hazel
Email local part: ph10
Email domain:     cam.ac.uk

University of Cambridge Computing Service,
Cambridge, England.

Copyright (c) 1997-2019 University of Cambridge
All rights reserved.


PCRE2 JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------

Written by:       Zoltan Herczeg
Email local part: hzmester
Email domain:     freemail.hu

Copyright(c) 2010-2019 Zoltan Herczeg
All rights reserved.


STACK-LESS JUST-IN-TIME COMPILER
--------------------------------

Written by:       Zoltan Herczeg
Email local part: hzmester
Email domain:     freemail.hu

Copyright(c) 2009-2019 Zoltan Herczeg
All rights reserved.


THE "BSD" LICENCE
-----------------

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notices,
      this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notices, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    * Neither the name of the University of Cambridge nor the names of any
      contributors may be used to endorse or promote products derived from this
      software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
------------------------------------------

The second condition in the BSD licence (covering binary redistributions) does
not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.

End
lib64/libgssrpc.so.4.2000075500000421550150403633660010341 0ustar00ELF>�d@�@8	@���� P�P�!P�! p�p�!p�!pp888$$������  S�td������  P�td������<	<	Q�tdR�tdP�P�!P�!��GNU5������i�j��:�����Z
gB�HD�%�@\���h ��`����QH�B����HI
��L� @hL $�$	@�
8a��E@ �t" �%
,I����0j��J��	 TZ[]`cfghkmnpquvx{|������������������������������������������������������������������������ٳײ!̹g,�^���
��}�f<��zB�&g+-B*-P���sG�	�9na婾�����!�}W��W�ϖw���?�̽��R)Z����m70�Wanq�o]8�mGQ�PE=)Ӫ$�>M���̛v��:��#��s�n��	�o�Y �q~��	hʫ'Tk6�?��OK�|
E�`3:�_7Z��f�+U�k�oa����\��H�������!�8��F�`��ٕc�O�m�c�{��`�^�/�|���1���G�͚�
��~�������
|˛��Xȁ�a9a%�:�t��#Ot�	a��A���M�����#Q?��bȞ��n�V-���_�Rz���}d�Π^�9X���e��v[���Q�9�{*�G��&-��9��˨6)��I�*d�Ԗ�߃�) �{�fa:�l��l�y��wȘV����i�
�#�~uC�T�!a3Ha�\����a���ܕU��g(X�Ѓ<�y��v&��T�Y�7�<}���=u.{��UT�W�܈��Q�ƛ���~�&	�
S_k�	���!�Z����R0�
J&q� ��~|��
�����K�
	�U ;��, u
�oF"luC[���/}4��
��z��U6�{j������BS��d8
�	�
S�
n
p�
w��
��4W
�r��	
����

@���
8
"�
P�H�	
`���

3��
0[�@ "s

p�;�	
p\��
P^6�
p;�
�xR�
@�W�
�
"�
���9
�jv
`M6
`�U�
`u&l	
����	
�t=
�s�
PY�
P��
���
@{��	
pt�}
p2!
�46
P�q�
pq��	
���y
�6@�
 y2	
��I�

�^��
@p(��	"#
���
"1

�2�
�l��
�	"�
�WZ	
����
�xs
�H��"yx	"J	
����
����
��s"
`6@Mp	"j�x
�`�
����
qc%

P��,
`W@U
po��
��R
 f��
��H
�@�
�`B�

��l
�_?
�n�~
���
��C
@s2�
P�6�
]W�
 7@<
PdD�
0�L�
�XA 
`
�(	
 ��
���Y
�~<�
�Y�Y
�	"+
 a�A
 s��
P@�0"�
��):	
�� �
�".
�yd
`u��
��v�
r=N
�`

0c�

@b�
`]W�
h�
 :�
�`�
����
0�Y�
��

>�.
�d�
�[�M
�6@�
`y�f
�gR
@�g�
pT�ct	"Y

����
�xc
P`B
�~W�
Y7�
�Z�q
���e
�]�?
��dZ
`J�?

`���
�a�	

�@�
P=�%
�s�}
piT
4Q;
���
p��
W�	
���
@�
@�9|	"�
�x�
���]��
��DW
��__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_failgssrpc_authnone_creategssrpc_xdrmem_creategssrpc_xdr_opaque_authcallocgssrpc_xdr_authunix_parmsgettimeofdaygssrpc_authunix_createmallocmemcpystderrfwriteabortgssrpc_authunix_create_defaultgethostnamegeteuidgetegidgetgroupsgssrpc_xdr_rpc_gss_bufgssrpc_xdr_bytesgssrpc_log_debuggssrpc_xdr_rpc_gss_credgssrpc_xdr_u_intgssrpc_xdr_enumgssrpc_xdr_u_int32gssrpc_xdr_rpc_gss_init_argsgssrpc_xdr_rpc_gss_init_resgssrpc_log_statusgssrpc_xdr_rpc_gss_wrap_datagssrpc_xdralloc_creategssrpc_xdralloc_getdatagss_wrapgss_release_buffergss_get_micgssrpc_xdr_rpc_gss_unwrap_datagssrpc_xdr_voidgss_verify_micgss_unwrapgssrpc_xdr_rpc_gss_datagssrpc_log_hexdumpgssrpc_xdr_stringgssrpc_xdr_intgssrpc_xdr_arraygssrpc_clnt_sperrorgss_delete_sec_contextgss_release_namegss_init_sec_contextgssrpc_rpc_createrrgssrpc_authgss_creategss_duplicate_namegssrpc_authgss_create_defaultstrlengss_nt_service_namegss_import_namegssrpc_authgss_get_private_datagssrpc_authgss_servicegssrpc_misc_debug_gssgssrpc_auth_debug_gssgssrpc_auth_debug_gssapigssrpc_xdr_authgssapi_credsgss_release_credgssrpc_auth_gssapi_display_statusgssrpc_auth_gssapi_unwrap_datagssrpc_auth_gssapi_wrap_datagssrpc_auth_gssapi_unseal_seqgssrpc_auth_gssapi_seal_seqgssrpc_auth_gssapi_creategssrpc_xdr_authgssapi_init_resgssrpc_xdr_freegssrpc_xdr_authgssapi_init_arggss_unsealgss_mech_krb5memcmpgss_mech_krb5_oldgssrpc_auth_gssapi_create_defaultgss_display_status__fprintf_chkputcgssrpc_misc_debug_gssapigssrpc_xdr_gss_bufgssrpc_xdr_boolgss_sealgssrpc_bindresvport_sa__errno_locationbindgetpidgetsocknamegssrpc_bindresvportgssrpc_clnt_creategethostbynamegetprotobynamegssrpc_clntudp_creategssrpc_clnttcp_creategssrpc_clnt_sperrnostrncpystrncatsnprintfstrerror__snprintf_chkgssrpc_clnt_perrorfputsgssrpc_clnt_perrnogssrpc_clnt_spcreateerrorgssrpc_clnt_pcreateerrorgssrpc_svc_getreqgssrpc_xdr_replymsggssrpc_clntraw_creategssrpc_xdr_callhdrgssrpc_callrpcclosestrcmpgssrpc_xdrrec_endofrecordgssrpc_xdrrec_skiprecord__fdelt_chkselectgssrpc_xdrrec_creategssrpc_pmap_getportsocketconnectgetpeernamesendrecvfromgssrpc_clntudp_bufcreateioctlmemsetmemmovereallocsysconfgssrpc_get_myaddressgssrpc_getrpcportgssrpc_pmap_setgssrpc_xdr_pmapgssrpc_pmap_unsetgssrpc_pmap_getmapsgssrpc_xdr_pmaplistgssrpc_xdr_u_shortgssrpc_xdr_referencegssrpc_xdr_rmtcallresgssrpc_xdr_rmtcall_argsgssrpc_pmap_rmtcallgssrpc_clnt_broadcastfcntlsetsockoptgssrpc_xdr_callmsgsendtogssrpc_xdr_rejected_replygssrpc_xdr_accepted_replygssrpc_xdr_des_blockgssrpc_xdr_opaquegssrpc_xdr_uniongssrpc_svc_maxfdgssrpc_svc_fdset_initgssrpc_svc_fdsetgssrpc_xprt_registergssrpc_xprt_unregistergssrpc_svc_registergssrpc_svc_unregistergssrpc_svc_sendreplygssrpc_svcerr_noprocgssrpc_svcerr_decodegssrpc_svcerr_systemerrgssrpc_svcerr_authgssrpc_svcerr_weakauthgssrpc_svcerr_noproggssrpc_svcerr_progversgssrpc_svc_getreqsetgssrpc_svc_auth_gss_ops__memcpy_chkgssrpc_svcauth_gss_set_svc_namegssrpc_svc_auth_nonegss_accept_sec_contextgss_acquire_credgss_display_namegss_signgssrpc_svcauth_gss_get_principalgssrpc_svcauth_gss_set_log_badauth_funcgssrpc_svcauth_gss_set_log_badauth2_funcgssrpc_svcauth_gss_set_log_badverf_funcgssrpc_svcauth_gss_set_log_miscerr_funcgssrpc_svc_debug_gssstdout__vfprintf_chkgssrpc_svc_debug_gssapitimegssrpc_svc_auth_gssapi_opsgss_process_context_tokenrandexitgssrpc_svcauth_gssapi_unset_namesgssrpc_svcauth_gssapi_set_namesgssrpc_svcauth_gssapi_set_log_badauth_funcgssrpc_svcauth_gssapi_set_log_badauth2_funcgssrpc_svcauth_gssapi_set_log_badverf_funcgssrpc_svcauth_gssapi_set_log_miscerr_funcgssrpc_svc_auth_none_ops__printf_chkgssrpc_svcraw_creategssrpc_svc_rungssrpc_registerrpcgssrpc_svcudp_creategssrpc_xdrrec_eofacceptgssrpc_svctcp_createlistengssrpc_svcfd_createrecvmsggssrpc_svcudp_bufcreategssrpc_svcudp_enablecachegssrpc_xdr_longgssrpc_xdr_u_longgssrpc_xdr_shortgssrpc_xdr_chargssrpc_xdr_u_chargssrpc_xdr_netobjgssrpc_xdr_int32gssrpc_xdr_wrapstringgssrpc_xdr_vectorgssrpc_xdr_pointerfflushfseekftellfreadgssrpc_xdrstdio_creategssrpc_xdr_sizeofgssrpc_xdralloc_releaselibgssapi_krb5.so.2libkrb5.so.3libk5crypto.so.3libcom_err.so.2libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libc.so.6libgssrpc.so.4gssrpc_4_MITHIDDENgssapi_krb5_2_MITGLIBC_2.15GLIBC_2.14GLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	�M�	N���]���j� 4��
qD���	�����ii
�ti	�ui	�P�!�eX�!�e`�!`�!��!0���!B���!\���!w��!���!���!Ñ��!ۑ�!���!�(�!�8�!8�H�!L�X�!c�h�!��x�!r���!����!����!Ò��!Г�!ޒ�!���!	���!��!8��!��(�!�8�!�7H�!08X�!0:h�!�
�"`f�"�e�"�f�"�f"`g" g" g "�h("�h0"�k8"�j@"�iH"@iP"@i`"zh" ~p"�|x"��"|�"Pz�"@��"Ј�"@��"���"��"���"���"���"��"���"��" �"��"ж "`�("�0"@�8"��@" �H"��`"��h"`�p"��x"��"p��"���"P	�"��"�"�"�"P0"�78"�7@"`7`" <h"�:p"�<x"�;�"�:�"@;�"�H�"PB�"�d�"�d�"
e�"�B�"�D�"PD�"�I�"pC"�B"�B "@R("�M0"�N8"`O@"�MH"0N`"ih"�hp"�gx"Ph�"g�"@g�"�g�"�f�"pp�"�o�"n�"0o�"�i�"Pj�" k�"pl�"`w�"w�"�w�"0x	"�v	"pv	"�u	"0v 	" |(	"~0	"`|8	"�}@	"`}H	"�|P	"�|X	" }�!��!��!��!^�!c�!�!�!� �!�(�!�0�!�8�!|@�!�H�!P�!�X�!#`�!`h�!'p�!�x�!s��!���!���!���!���!���!���!e��!j��!��!{�!H�!��!U�!Y�"��"� "�"n "x("�0"�8"@"H"rP"X"�`"�h"kp"�x"�"]�"�"�"�"��"�"	�"��"
�"�"
�"�"�"�"�""�"�"�" "�("�0"8"�@"�H"P"X"�`"�h"�p"�x"�"��"�"�"��"�"�"�"�"��"��" �"��"��"!�"��"""�"$"o"% "&("�0"'8"(@"�H"uP"�X"s`"�h"tp")x"[�"*�"+�",�"��"-�".�"/�"0�"1�"a�"2�"3�"4�"5�"6�"7"�"l"�"� "8("�0"98"�@"�H":P"�X"�`"�h"�p";x"<�"��"=�"��"��"i�"f�"w�">�"?�"@�"b�"A�"B�"C�"D�"E"F"G"I"� "J("�0"�8"K@"LH"�P"MX"N`"�h"Op"Px"��"Q�"R�"��"��"S�"T�"V�"��"��"W�"X��H��H�q�!H��t��H����5R�!�%S�!��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q�������%ͤ!D���%Ť!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%}�!D���%u�!D���%m�!D���%e�!D���%]�!D���%U�!D���%M�!D���%E�!D���%=�!D���%5�!D���%-�!D���%%�!D���%�!D���%�!D���%
�!D���%�!D���%��!D���%��!D���%�!D���%�!D���%ݣ!D���%գ!D���%ͣ!D���%ţ!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%}�!D���%u�!D���%m�!D���%e�!D���%]�!D���%U�!D���%M�!D���%E�!D���%=�!D���%5�!D���%-�!D���%%�!D���%�!D���%�!D���%
�!D���%�!D���%��!D���%��!D���%�!D���%�!D���%ݢ!D���%բ!D���%͢!D���%Ţ!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%}�!D���%u�!D���%m�!D���%e�!D���%]�!D���%U�!D���%M�!D���%E�!D���%=�!D���%5�!D���%-�!D���%%�!D���%�!D���%�!D���%
�!D���%�!D���%��!D���%��!D���%�!D���%�!D���%ݡ!D���%ա!D���%͡!D���%š!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%}�!D���%u�!D���%m�!D���%e�!D���%]�!D���%U�!D���%M�!D���%E�!D���%=�!D���%5�!D���%-�!D���%%�!D���%�!D���%�!D���%
�!D���%�!D���%��!D���%��!D���%�!D���%�!D���%ݠ!D���%ՠ!D���%͠!D���%Š!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%��!D���%}�!D���%u�!D���%m�!D���%e�!D���%]�!D���%U�!D���%M�!D���%E�!D���%=�!D���%5�!D���%-�!D���%%�!D���%�!D���%�!D�k����f����a�����PXH��dH�%(H�D$1��B�����PXH��dH�%(H�D$1��#�����PXH��dH�%(H�D$1�����@H�=)�!H�"�!H9�tH���!H��t	�����H�=��!H�5�!H)�H��H��H��?H�H�tH�͙!H��t��fD�����=��!u+UH�=��!H��tH�=��!����d������!]������w������H��H��H�5f�!dH�%(H�D$1�H��t)H�D$dH3%(u0H�G�V\H��HH�@H����@1�H�L$dH3%(uH����D���@��H��dH�%(H�D$1�H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�T$dH3%(u
�H�������f���H��dH�%(H�D$1�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�D$dH3%(uH��1�H��H�����E���D��H��dH�%(H�D$1�H�D$dH3%(uH�������ff.���USH��HH���!dH�%(H�D$81�H�����C\��tH�T$8dH3%(H����H��H[]ÐH�١!H��1�H�sH�H���oCH�@H�C(H�CH���!H�C8����H��H�����H�sH�����H�D$H��P �C\H�D$H�@8H���k���H����a����`��Q���H��H��tH�ڠ!�7���D1��2������f.�f���H��dH�%(H�D$1�H�D$dH3%(uH������ff.���H��H��H�w@dH�%(H�T$1�H�L$dH3%(uH�H���H��H��4H�IH�����a������H��dH�%(H�D$1�H�D$dH3%(uH��1�H��H�����%���D��USH��H��H�o@dH�%(H�D$1�H�}�6���H�} H��t�(���H�{@����H�{ H��t����H�D$dH3%(uH��H��[]������ff.�AT1ɺ�USH��H��@L�g@dH�%(H�D$81�H��I�t$4H���
�H��H�������tH�sH��������u;H�=����H�D$H�@8H��tH���H�D$8dH3%(u!H��@[]A\�H�D$H��P A��$�����fD��AVAUATU1�SH�ĀH�_@dH�%(H�D$x1�H�CH9Gtn�C0L�d$@�I��H�D$0�SL��L�t$H�D$H�s�)�L��L�����Ņ�uHL��L���D$@��H�D$HH�@8H��tL���H�L$xdH3%(��ufH��[]A\A]A^�H��1����H�$1�L���D$@�D$H�D$H�P(L��L���N�Ņ�t��oL��AEH�CI�E�?����b�������D��AUATUSH��HdH�%(H�D$81��>t-H�L$8dH3%(���H��H[]A\A]�f�H�o@�VI��H��H�vL����H�} H��t
��H�E L�mL��L���m�����t!�oEH�E(H�CH������o���@L��L���$�6����oMH�E H�EH�C��������AWI���HAVA��AUATA��UL��SH��(�T$dH�%(H��$1���I��H���R����H��H���H���!I�]@1�H�|$I�E8H���!�C0�oH�@I�E(AECH�C(���H�D$D�d$81�H�l$@H�l$P��L��$��D$ �D$L��H��L�|$(D�t$0�D$4��H�t$ H���9������H�D$XH��P ��ʼnCH�����H�CH��tRH��H��L���\���H�C�oL��I�EAM��H��$dH3%(L��u_H��([]A\A]A^A_�H���!��E1�H�=EH��U����H�i�!��H�= H��0������f���AU��ATUSH��dH�%(H��$�1�H��$�H��������Ƅ$H�����A���&�H�޿A����������L�D$@H��H�S@L���D�H��H��D�O�H9�u�D��D��H����H��$�dH3%(uH�Ę[]A\A]��>�f.�@��U��H��SH��H��dH�%(H�D$1��?tH������H9�w�D$H�T$H�uH�������u#1�H�|$dH3<%(u H��[]�f.��;uڋL$H�M����ff.����H��dH�%(H�D$1�H�D$dH3%(uH����n�ff.���ATI��USH��H��dH�%(H�D$1���Ņ�usL�[L�S�{D�KD�C�H��"A�$H�5,��H�*HE�H��1�ASARWH�=m��H�� ��H�L$dH3%(��H��[]A\�DH�sL���t�Ņ��w���H�sL�����Ņ��a���H�sL���H�Ņ��K���L��H�s����L�[L�S�ŋ{D�KD�C����0����H�Z�&����8����AT�I��USH��H��dH�%(H�D$1��4�H�H�KL�����H�z!HE�A�$H�5�
H�=���H��
HE�1��p�H�L$dH3%(uH����[]A\�����AU�ATI��USH��H��dH�%(H�D$1�����u|L�k L�[(D�S�{D�KL�H�KH�� A�$AUH�5^
AS��ARH�X
WHE�H�=1����H�� ��H�L$dH3%(��H��[]A\A]�f�H�sL����Ņ��n���H�sL����Ņ��X���H�sL�����Ņ��B���L��H�s ����L�k L�[(��D�S�{D�KL�H�K���'����H�������c���H��dH�%(H�D$1�H�D$dH3%(uH����.�ff.���AWE��AVI��AUI��ATI��1�UD��SH����$�H�$H�\$@H�߉D$dH�%(H�D$x1��n�H�t$H�������t<1�L��H��A�ԅ�t-H�D$HH��P H�߉�H�D$ ��H�D$(������tAE1�H�D$HH�@8H��tH���H�L$xdH3%(D���H�Ĉ[]A\A]A^A_�f�L�d$H��D���H�l$8L��UH�t$L�L$,L�D$0��ZY����H��L������(�H��L��A���J��g���DL�d$ �����L��L�������B���H�l$0L�t$L��D��H�4$I��L������uHH��L�������H��L��A��������D�T$��H�=�
E1������fDH�=
1��������@���AWAVAUATUSH��dH�%(H�D$x1�H;5\�!D��$���H��H����f�I��H��I��L�d$ )D$ L�\$0)D$0A����A����1�1�L�t$L�|$@�L���J�H�t$L�������uYH�D$HH�@8H��tL����L��L�����1�H�L$xdH3%(���DH�Ĉ[]A\A]A^A_Ð���f�1�H��L���Ӆ�t�H�D$HH�@8H��tL����L��L���t��D;l$t�H�=�
1���1��z��������L��L�\$D�$�
�D�$L�\$���qL�޺����L��D�T$L�$���L�$D�T$����L�t$L��L�D$L��L��L��D�$��H�|$8A����E��uD�$D;T$��L��L�����T$D��H�=���1����f.�L�޺����L�$D�D$�J�L�$D�T$����L�t$L��L�L$L��L��L�D$L��D�$���H�|$8A����E��uSD�$D;T$uH�|$uA�T$ H�t$(���H�|$L��$��H�=�1��B��$����f.�L��L������T$D��H�=���1�����$H�=�1����$������$H�=�1�����$�����f.���H��dH�%(H�D$1����t)��tE����H�T$dH3%(��uEH����H�D$dH3%(u)H���?��H�D$dH3%(u	H���?���f.���H��dH�%(H�D$1�H�D$dH3%(uH����N�f.�@��UH��SH��H��dH�%(H�D$1��K���u1�H�L$dH3%(unH��[]�fDH�s��H������t�H�sH������t�H�sH�������t�H�SH�s �H��L�
��!A�������������f���H��dH�%(H�D$1�H�D$dH3%(uH�=1�H�����Q����AUI��ATI��UH��SH��H�=�H��dH�%(H�D$1����H�C@�0��tHD�H4A��t>H�HHD�@0H��L��@XL��H��P��ZYH�t$dH34%(u5H��[]A\A]�H�D$dH3%(uH��L��H��L��[1�]A\A]����ff.��SH��H�=`H��dH�%(H�D$1���H�H�{`th���tQH�{�CTE1�1�H���!1�H�G�5	�5�I��H�{H�5XZ�,�H�=rH��1����H�{h�B�f�C`H�{HtH�sHH�|$1��c�H�CH�1�H�=D�w��H�D$dH3%(uH��[���ff.����USH��H�=�H��dH�%(H�D$1��'��H�k@H�{@����H�} tH�u H�|$�5�H����H�D$dH3%(uH��H��[]�o��*�f.���AUI��H�=5ATI��USH��XdH�%(H�D$H1����I�]@�+�����CT�������CXȉD$H�D$H�sHH�L$0H�D$(I�D$H�T$ H�|$H�D$ L�D$H�D$8A�D$H�D$0�������D$�9C0t�T$1�H�=�1���H�L$HdH3%(����H��X[]A\A]��Cp��`���fDA�|$�.�H�CH��teA�l$I�t$H��H����H�k��D�T$��H�=H1�D$���D$=�m����I�}@�*����Y���DH�ف!��H�=�H����/�����fD��AWAVAUI��ATUSH��H�=�H��dH�%(H��$�1����H�k@�E��t�EXL�d$0L�t$`1ɺ�L��L�����H�uPL�����A�Dž��<H�D$8�L��L�s�P �CH�D$8H�@8H��tL���H��L���������ET�����I�EL��L�t$ L�d$�P 1�L��H�D$I�E�P(I�E�t$L��P0�U0H�uHH�L$M��L��H�D$�V�A�Dž�u_H�D$(�CH�sL��H�C H�D$ �C(�k�L��L��A����H��$�dH3%(D��u~H��[]A\A]A^A_�D�T$��H�=`�.��A��u�EH�{@�E���DE1��H�D$8H�@8H��t�L����H�5ى!L�����A���l�����@��AWAVAUATUSH��H��H�|$H�=�dH�%(H��$�1����L�s@�I�>t-H��$�dH3%(��H�Ĩ[]A\A]A^A_�@f�I�VHL�l$ H��)�$�E�N@L��)D$xI�v8)D$hM�F(I�N H�T$A�FjH�D$4H�D$ PH�l$HUjjjj�5�H��@�T$ H�=4�Ɖ�L�d$`���������E1�H�|$0������H��I�v8E�N@L��M�F(I�N A�Fj�t$ UjAWjjH�T$H��H��@�T$ H�=��Ɖ��`��M��t�H��$��N��HDŽ$����r����T$ ��H�=��'���T$ ��H�=����A�vT����1�H�=��k����l����f�M��L�B}!1�A)$H��H��}!A)D$A)D$ I�~H�G�5?�51�H��L��A��XZ���1�D��H�=���I�~H�5!�N��H�=�H��1�����E���=����|$p�2���H�|$`��H��$�������M�|$ A�FT���p����D$xH�=u�D$,H�D$@ȉD$(H�D$(H�D$HI�FH�D$XI�FH�D$P1��K��I�vHH�L$PL��H�T$@L�D$,���I�~�����I�FI�F�����D$,A9F0���T$ 1�H�=���}��1���fDE1��8����I�~h�W��foL$`AN`����1�H�=�����H��$��%��H�|$�;���H��{!�1����I��D$xI�FTA�Fp�����T$ ��H�=��������P���H�|$A�H��@���1��,���1�����e��D��AUI��ATI��UH��SH��H�=1�H��dH�%(H�D$1�����H�C@�0��tHD�H4A��t>H�HHD�@0H��L��@XL��H��P����ZYH�t$dH34%(u5H��[]A\A]�H�D$dH3%(uH��L��H��L��[1�]A\A]�����ff.����AWI��AVAUI��ATI��H�=��USH��dH�%(H�D$1��D$���L�5:z!f��HA�s��H��H������x�X��H��H���M����H�P H�|$L���B�������AoMH�]@1�H��H��AoUL�cK(H�CP�C4S8�C\H�~!H�CHI�$H�E8I�,$����I�$H�=�����HD�H���7��H�L$dH3%(H���~H��[]A\A]A^A_ÐH�@ �Y���A�A�F��H��A�1�A�F�_��H���W���DH��A�1�A�F�7���k�������ff.�f���AVI��AUI��H�=�ATUSH��H��0dH�%(H�D$(1��D$L�d$H�l$�I��H��H�\$����H�t$L��H��H�D$H��x!H������uYH�t$L��L�����H�|$H��tL��H���#��H��H�=��1�����H�L$(dH3%(H��u2H��0[]A\A]A^�f��T$��H�=5�1��<��H��w!���������UH��H�=�SH��H��dH�%(H�D$1��d��H��tOH��tJH�U@H��tA���tH�BHH��oB`C�Bp�C�H�L$dH3%(uH��[]�f�1����W�����U��SH��H�=��H��dH�%(H�D$1�����H��t8H�S@H��t/���t�j4��j\H�L$dH3%(uH��[]��1�������f.�D��H��dH�%(H�D$1�H�D$dH3%(uH������ff.�AUATA��UH��SH��H��hL�-^v!dH�%(H�D$X1�A�}b�+�$D�d$H���.H�EH�D$H�EH�D$H�C@H�l$ 1ɺ�H��H�p0���H��H�����A�ą���H�D$(L�c@H��P A��$�H�D$(H�@8H��tH���A�}bH�C@]H�P0��A�}bA�H�S����C)H�L$XdH3%(D����H��h[]A\A]��H�=y�1����Nj��H�=+�1��̌H�C@�fDA�}bIH�D$(H�@8H��t�H����@H�=��蔌�����H�D$H�D$�����H�=��1��b������ff.���ATUSH��H�� H�w@H�-�t!dH�%(H�D$1�H�~�E�(��b��H�VH�߾��������}b��H�C@H��s!E1�1ɾH�xI��H�Gjj�_AX���k�}b~H�=>�1�觋H�s@L�d$H��1�L�������t�u���H�C@�H,����H�x �9��H�{@�0��H���(���}b�~H�D$dH3%(�H�� []A\Ð�}b~�H�=3�1����\����H�=�1���H�s@���f���b�D���H�=��1��ي����@H�=t�1��Š�o���DH�t$L��H�D$������t�U��t�T$��H�=�����DH�C@������T$��H�=��������f�H�C@H�5��H�x�����|����H�=i�1��"��1���������H�SH��dH�%(H�D$1�H�^r!�H9Vt>1ۃ�bH�L$dH3%(��uUH��[��H�=r�1�誉���H����bH�C@��@(�f�H�=1�1��r������ff.���ATI��UH��SH��H�� dH�%(H�D$1�H�G@�8��uAH��q!�8b��L��H��1���H�\$dH3%(��H�� []A\�f.�H�t$H�|$�H(I��H��H�PI��AT����Y^��u8�t$��t�H�1q!���t��T$H�=���D$�����D$�f���o���fDH�=i�1��r��L���������ATI��UH��SH��H�� dH�%(H�D$1�H�G@�8��uAH��p!�8b��L��H��1���H�\$dH3%(��H�� []A\�f.�H�t$H�|$�H(I��H��H�PI��AT�����Y^��u5�t$��t�H�.p!���t��T$H�=���D$�����D$�|�����o���fDH�=��1��r��L���������ATUSH��@H�-�o!dH�%(H�D$81�H�G@�U�����I����b��H�V�NH�t$ H�xH�T$(H�T$H�L$ �\���Å�tFI�D$@�T$�M�X(�s9���1ۃ�b���H�L$8dH3%(����H��@[]A\Ð�}b~�H�=�1�蜆��f.�1�H�=��H�t$�}�I�D$@H�t$�N���fD���b~�H�=��1��P��{�����b+�p(��f���fD��H�=�1�� ��K���1�H�=��
�I�D$@�@(�}b~�H�=%�1���������n��ff.���AWAVAUATI��USH��H��8L�-)n!dH�%(H�D$(1�H�G@A�U�(���~��biH�C H��L���C(�/���Ņ�u)H�L$(dH3%(���!H��8[]A\A]A^A_�@H�sL��1�������@���f.�H�=i�1���뇃�b���H(D�yL�t$H�xD��L���l����uA�}b~H�=
��ՄDH�D$H��L��H�C H�D$�C(�t����tH�sL���d����uH�|$L��1�����#���@H�|$L���k���
���fD1�H�=���b�H�C@A�}b�H(D�y�L���1�D��H�=H��;�H�C@�2������ff.�f���AWf�I��AVI��AUATUSH����$�H�T$H�L$(�D$@��$�L�D$8�D$DH��$�L�L$0H�D$HH��$�H�D$PH��$�H�D$XdH�%(H��$�1�H�l!H��HH�D$x�!�����H���/��H��H���3H��f��&H��q!H�k@1�H���L��$ H�C0H�C8CC ����H�C@1��C�H�C H�|$(H��$��C(��L�-ak!�H�C@DŽ$�L�pH�C@H��$��P,H��j!�I�H�D$ H��$`H��$�H��$pH��$�H��$tH��$�H�C@H�@���I�FH��$��L���P(����	I�FH��$��L���P(����H��$�f�H��$�DŽ$�H��AAH��$�H��$�A$H�A4�A<HDŽ$�DŽ$�HDŽ$H��$H�L$`H��$�f�H�D$H�D$H��$�H�D$hA)$A)D$A)D$ A)D$0f�H�C@H���t$`H�P�t$`H�D$(H��P�t$h�t$@��$��D$|PD��$�L�D$pH�L$xH�t$hH�|$H���H��@A�����H��$�H��$P�pA�EH������b��H�|$ L������f�I�FM��A)$H�<i!��L��A)D$A)D$ A)D$0jjH�L$ L�D$0���$�_AXH�L$H�|$H�q�X��D�L$pE���U��$ ��$�9�t����������$8A�E������b�RH�C@H��$(H�PH���1A�UH����H��$0��b�SH�HH�k@H�t$pH�}�m��H�t$pH�E H�C@H�x H�P����H�C@�H��H�P��H��$@A��4����H��$P����NA�EH������b�xH�C@H�L$hE1�E1�H�|$I�T$0H�p�v��A����KH��$�H���cH��$�H�S@H�t$hH�|$�ȉB(����A����XA�}bH�C@�-�H�C@1�H��H�P���A�}b�QH�D$xH�|$ L��I�������A�U���K���B��~H�='�1��x~H�C@�DŽ$�H�@@H�Qf!H�L$0H9��H����H�D$`���|������H��tA�}b�H�=��1��~f�A�?�A�}b�����H�=��1���}�x����H9�uH�x H��$0�j��������A�}b�y1�H�=&��}A�ED��b�L1�H�=q��y}H�C@H���>H���4���w�A�U���n��b��H��$Pu0I�D$ �H�D$�$���@��H�=�1��}�;���I�D$ �H�D$A�?�����H�C@�	���fDH�=�1���|�u���D��H�=��1��|����p(H�=�1��|���f.��61�H�=���|H�C@H��$(H��$0����1�H�=����M|I�L$ A�H��$PH�L$���H�����H������H��d!��@H�}d!�8b��H��c!L��$ H�D$ H�D$xI�H�Id!���u�H�|$ L��1�����H��$�dH3%(H���H�Ę[]A\A]A^A_�f�H�D$`H�`c!H�H�D$0����������f.�H�=L�1��R{�Q���DE�UE����H�C@H������H������9�����b~�1�H�=���{A�E�u���I�FH��$�L���P�|$p�J��$�A�E��t	������$������V���p��$��0�����b�i���1�H�=���zA�E������J�����$<H�=�����A�E����H�C@H�=6��P(H�@ �01��Nz���1�H�=x��;z��$��P��s���A�}b���1�H�=���zA�E�z�����b�����T$p1�H�=b���yA�E�T���@A�u�������H�L$��H�=z�����A�E�&���A�}b�p���1�H�=���yA�E����A�M���M���H�L$��H�=<�����A�E����H�L$��H�=������A�E���A�U��b����1�H�=��1yA�E������b���1�H�=F��	yA�E�p���A�}b�����1�H�=����xA�E�N�����b�����1�H�=����xA�E�.���A�}b�x���H�=4��xA�E������A�E������ff.���ATUH��H��SH��0dH�%(H�D$(1�H�t$L�d$H�\$�:���H�t$L��H��H��H�D$H�a!H�����$��uXH��H��H��E1�j1�H��jjjjL�D$8芿��H��0L��H��H���X��H�L$(dH3%(H��uIH��0[]A\�@H�9`!���uH�$`!1���@��T$��H�=������������AWA��AVA��AUI��ATUSH��H�L$L�d$ H�l$dH�%(H�D$81�H�D$�D$H�$��L��H�������D$����L�$1�M��D��D��H���"�����u~H��_!L��1�H���H�;�>���H�H�t$ �H�|$(�g��H�3�
�Z���H�c_!����y���H�L$(�T$ L��1�H�=���v�Z���f.��L$��uP����L������t$�L������H�D$8dH3%(uhH��H[]A\A]A^A_��H��^!��H�=�H����H�H�t$ �H�|$(���H���H�=��x����a������SH��H��dH�%(H�D$1�H��?���D$u
H�~�����D�H�T$H�s����T$H�H�L$dH3%(uH��[����f���UH��SH��H��dH�%(H�D$1������u1�H�T$dH3%(u3H��[]�fDH�sH��謿����t�H�sH�������������}���ff.�f���UH��SH��H��dH�%(H�D$1��{�����tH�sH�����������H�T$dH3%(uH��[]��������UH��SH��H��dH�%(H�D$1�������u1�H�T$dH3%(ucH��[]�fDH�sH��������t�H�sH��������t�H�sH��������t�H�s H�������t�H�s0H��������������m���ff.�f���U1ɉպSH��H��dH�%(H�D$1��%���H�D$dH3%(uH����H��1�[�]����	���f���UH���E1�SH��8dH�%(H�\$(1�H�L$�t$H�|$H�L$H��1�H��H�D$R1�L�D$ �����X�Z��uH�L$(dH3%(uRH��8[]��H�-�[!�E��b!��t΋T$��H�=C�����1���1�H�=���r�E���8������AUE1�I��E1�ATH��H��USH��8dH�%(H�D$(1�H�l$H�\$H��H��螼����ujH�t$H��t?H��Z!�8b�H��H���$���1�H�L$(dH3%(��H��8[]A\A]�H�D$H��H�ߋ�A�E����뿐H��Z!A�ċ��b7��t��T$D��H�=>�����1��@H�=��1��q�n���D1�H�=���q���!������AWAVM��AUI��ATI��USH��H�-Z!H��$�H�T$�L$L�D$H�$dH�%(H��$�1��}b��A�$H�\$P1�A�EH���E����}b�kH�t$H��辽��A�Dž��3H�4$H��1�A��A�Dž���H�D$XH��P H�߉�H�D$0�¸��H��1ɺH�D$@L�t$HL��AVH�t$L�L$8L�D$@�t���ZYA�$�����}bH�L$@�GH�|$H�T$,I�v�L$,�ж��A�Dž����}b�;H�D$XH�@8H��tmH���H��$�dH3%(D���3H�Ę[]A\A]A^A_�f��}b~�H�=��1���o�f.�H�D$XH�@8H��tH���E1����}b�n���H�=�1��o�[����t$H�=��1��o�~���f�H�=��to�;����L��L���M���A�$�}b[H�D$XA�H�@8H����������fD�t$0��H�=��1��oH�L$@���f�H�=�1��o���DH�=1�1���n��s�����AWAVI��AUATI��UH��SH��H��$��L$L�L$H�D$dH�%(H��$�1�H�BW!�8b�y�EL�l$,H�\$0L��A�$H�s�����L��H�D$8H�D$H躴��A�Dž�ucH��V!�8b�CH�sH�|$P�����L���D$P腴��H��$�dH3%(D���bH�Ę[]A\A]A^A_�f��D$,L�l$@H��L��L�L$(L�D$$L��L��H�D$0���H�|$8�E�z����E����H�HV!H�t$@�8b�R��H�l$PH�t$H�H��衴��H�t$ H���$���A�Dž���H�V!�T$ �;T$tn��b�mL��L���"���H�D$XH�@8H��tH���E1������H�=��1�L�D$�lL�D$�j���H�=I�1���l���D��b�H�t$H��1�H�L$��A��H�dU!E�����8b��L��L��A�聶��H�D$XH�@8H���j���H����`���DH�U!�8b|L��L���I���H�D$XH�@8H���(���H����(���DH�T$0H�=��1��%lH�t$@���H�=��1��
l�c���D�8b~�H�=d�1���k�H�=��1���k�q���D�t$H�=��1��k�|���f��t$H�=��1��k�����$���@��AUI��ATU��SH��dH�%(H��$�1�H���N蹵��H��A�E��f������]!f�����bE1�A�M�P��f��]!f��t f��
tbf����5f�f]!X髸���f��fA�Ef������L���A���I���A���@��y<�;bu7� ]!�fDf��fA�uf��������`�����f�H��$�dH3<%(��H�Ĩ[]A\A]�賱����sHM��������)�i¨)���X���D�Xf��\!�;����L�l$H�T$�D$�L���F����������������d���@�Xf�D\!�;����Z�������D��H��dH�%(H�D$1�H�D$dH3%(u	H����������f.���AUATA��U��SH��H��8dH�%(H�D$(1����H����x��L�l$1ҹH��H�D$fA�UH�@A�E
f�L$H���D$�6���H�����@�D$������tm����L�L$�E1�D���L���:���f.�H�t$(dH34%(��H��8[]A\A]ÐH�	Q!��@a1����H�L$E1�E1�D���L��蘬���fDH��P!��@`1���H��P!�
�n���fDH��P!��B`�O���蚲��f.���H��H��K!1�dH�%(H�D$1��D�
H��9�t.����u�H���H�t$dH34%(u#H���f.���H��K!H��H�D���������AVAUATI��UH��SH�� H��Y!dH�%(H�D$1�H���:H�EH��H�t$L�� �PL��H���$���ƃ�A��H�����L��H�5�H��H)��*���H������|$H�,I���2���L��H��L)�H������ƃ�H��貮��H�I��I)܃|$���D$H���Hc�H�>��f�I�����H���k���H�I��I)�I���~)H�L$dH3%(H���1H�� []A\A]A^�DL��H�@�H��1�H)��ɪ����H�=�I!�t$1�1�H���@�
9��~��H����u�E1�I�����L��H���H��1�H)��k���H��賭��H�I��I)�M���QL��虭��I�I�������L��L��H�y�H��H)�1��������f.��|$�w���H���O���I�D
H=������|$�U���L��H��I��H)�L��1�H������_������f.�� 覫��H��H�tW!H����������fDI����X���H��L��L���HcD$H)�PLcL$ �H�����H��1����XZ����f�H��L��L����D$H)�PD�L$ ��H��L�tI�����������DH��H)�H=�����L��D�L$�H��H)�L���H�����1��f������謮��ff.����H��dH�%(H�D$1�蓬��H�L$dH3%(uH��L!H��H�2H���
����X������H��dH�%(H�D$1���H�L$dH3%(uH�LL!H��H�2H��齬���������AUI��ATUSH��(H��U!dH�%(H�D$1�H����� H��1�L�7�H������]���H�-�K!ƃ��}�W�����H��H���'����E������tFH���Ϊ����H�5��H��H)����H�L$dH3%(H���H��([]A\A]�DH��A��肪��L��H�5��H��H)�譧��H���e����}I��躮��L��H��L)�H��艧���n���@H��A���2���L��H�5K�H��H)��]����}�5���H��I��H��t"����L��L��H��H)��4������������ D�ML���H)�H�<�1�H������	�������@H�|$� �Q���L�L$H��H��H�T!�����U�������ff.�@��H��dH�%(H�D$1��C���H�L$dH3%(uH�J!H��H�2H���}����ȫ�����H��dH�%(H�D$1�H�D$dH3%(uH���莫��ff.���H��dH�%(H�D$1�H�QS!H��t,�@H�xH�D$dH3%(u+H��1�H��H����H�L$dH3%(�uH����������H��dH�%(H�D$1�H�D$dH3%(uH����ު��ff.���H��dH�%(H�D$1�H�T$dH3%(uH���螪��ff.���AWAVAUATUSH��H�dR!H�L$L�D$L�L$ dH�%(H��$�1���H�D$8H���I��H�kL�d$PI��H���"H�$H�D$8H�D$H�D$DH�D$(���H�C H�t$H��P����I�}H��H�G8�P����1�H�t$H��A�օ���H�C H��P ��ң��H�C 1�H���C�P(H��Q!L��H���oH�@H�D$pH�D$ )D$`H��$�H�D$H��$�������H�t$(L���@D�|$DI�}E����H�G8L��P��t<H�C 1�H���C�P(H�C ���"H��"H�4$�P�����A�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�@D�kL��H��A��C�4���D�k�fDH�G8I��L��P��tQI�}L��H�G8�P���DD�H�|$h�q����CL��H�������Z���f.�A��E���A��:����%���D��H��dH�%(H�D$1�H�D$dH3%(uH������ff.���AVA��AUA��ATUSH��PH��O!dH�%(H�D$H1�H����H�kH���"1�I��H��D�t$H�H�D$D�l$����H��H��詥����tuH�C H��P ���"H�C H�@8H��tH���H�sH��`"H���ͣ��H�fK!H�C�=���H�H�T$HdH3%(L��uVH��P[]A\A]A^�f.�H�=���$����z������"����H��H��N!H������E1��謦��f.�f���AWAVM��AUATA��UH��S��H��HL�-tN!H��$��L$L�D$L��$�H�D$dH�%(H�D$81�M���uI�}��A�}��t
A9]�A�EA�}�w���I�}A�E����H��tH�G�P I�EH�����H���H�@f�E1�)D$ H�|$ M�MD��H���f�t$ �މD$$苠��I�EH����A�]I�}��H��A�EE�e���I�Eƀ�I�}L��M��H�GjjL�D$(H�T$ �t$�ZY��u*H�L$8dH3%(��H��H[]A\A]A^A_��A�E��fDE9e����I�}H���J�����t������H��B!��D�
�f�� ���I��H��tAI�}H��L!�m�����覠��I�EH��t�A�E�����C���D1��'����l���f.�f���H��dH�%(H�D$1�H�GH�P,H��@4�FH�D$dH3%(uH�������ff.�f���H��H�dH�%(H�D$1��GXH�D$dH3%(uH��H��XH��1�H�����ƣ��fD��H��dH�%(H�D$1�H�D$dH3%(uH���莣��ff.���UH��SH��H�_dH�%(H�D$1��C��u@H�C`H�@8H��tH�{X��H���}���H�D$dH3%(uH��H��[]�_�����;�q�����
���f.���H��H��dH�%(H�D$1�H�G��tl~B��tu��uX�D$�8H�T$H���y������@H�T$dH3%(uOH�����u�o�@@���D1���@�oH�
뱐�oP���L���ff.����AWI��AVAUATUSH���H�_H�T$ H��$H�L$(H��$H�kXL�D$0L�L$XdH�%(H��$�1ɉ�sH�L$h��uH�SH�CH	�H�D$0�D$LL�t$pH�T$@H	�H�D$8�����D$HH�C8H�D$H�D$hH�D$H�C,H�D$P�C8�SP�CXH���C,H�t$���C8�A��H�C`�P����H�C`H�t$H��P����I�?H��H�G8�P���qI�?H�L$(H��H�T$ H�G8�P(���R�t$HH��������^H�|$8�`H�|$@�X�CXL�%I!I�D$H���Ao$HDŽ$�H��$�H��=!)�$�H��$�����tvL��H��������toD9l$pu�H�t$PL����7�S,�����l$LtI�?L��H�G8�P��������D$x��u$H��$�t�CXI�vH���N���fD�C,�.�SX�CXL��H��T$臢���T$�C,�SX������H��$�dH3%(��H���[]A\A]A^A_�@�K,��u�C,�H��蝙���C,��C,��1���C,��I�?I�vH�G8�P��uH�H�C,����I�?H�L$XH��H�T$0H�G8�P0�����{,����C,��������f���AVAUA��ATUSH��dH�%(H�D$1���~QI��H������)�H�HŅ�~5A�<$Hc�H���.���A�ƃ��u�聞���A�D$,A�D$0�
�E��H�L$dH3%(D��u
H��[]A\A]A^��p���AW�AVAUI��ATUH��S��H��(dH�%(H��$1�H�|$��H�Ic}I��L��$���A�M�����у�?)ѺH��H	T�foD$foL$ foT$0fo\$@fod$Pfol$`)�$�fot$p�AoE)�$�fo�$�)�$�)�$�)�$�)�$�)�$�)�$)$�0M��1�1�L����蟘��A�ă��tG��ucA�E,A�����H��$dH3%(D����H��([]A\A]A^A_�f�����8����A�E,�A�E0�f�A�}Hc�H����A�ă��t!��u�H�hA�����I�E,�w���@蓜���A�E,A�E0�[���諜��ff.���H��dH�%(H�D$1���tH�D$dH3%(u#H�����1�H�L$dH3%(uH����L���ff.����AWI���AVAUA��ATA��UH��SH��D�D$D�L$dH�%(H��$�1�����H��H��������I��H����M��tfA��%�}���JA�FA�>I�FA�FM�����AoL�|$ AN1�H�|$�����F���D�d$03D$1�3D$M�fXI�v8��D$ L��H�H�D$$D�l$,�ڗ��L��L���o�������I�F`L��P A�FPI�F`H�@8H��tL��ЋT$�t$L��L��L�
��L�K����֝��H�_?!L�sH�C��H�H��$�dH3%(H����H�Ę[]A\A]A^A_��D��D��L���M���f����f��fA�G�}����������蜙��1��E���@����}���}�L��������xlA�F�}�r���@H�I8!��E1�H�=��H��
���H�-�7!�E躙����EL������H��1��������fDL�%�7!A�$脙���A�D$�}�����L�|$ H�t$p�D$ L���Ɣ����u�|$ tsf�AF���DA�F���w����}贓���j����H�q7!��H�= �H��8���H�-7!�E�����E�&���f�|$pu�foT$pAV�i������f.����H��dH�%(H�D$1�H�GH�PPH��@X�FH�D$dH3%(uH���蝘��ff.�f���H��H�dH�%(H�D$1��G`H�D$dH3%(uH��H��`H��1�H�����F���fD��H��dH�%(H�D$1�H�D$dH3%(uH�������ff.���H��L�GdH�%(H�D$1�����H�=����Hc�H�>����Aoh�*f�H�T$dH3%(udH����o��A@@���AoH@�
����Ao`�"��o�AP0��AoX0��1���7������UH��SH��H�_dH�%(H�D$1��C��u@H�ChH�@8H��tH�{`��H���-���H�D$dH3%(uH��H��[]������;�!����躖��f.���AWAVAUATUSH��HL�gH�|$H��H��$�H�T$XH��$�H�L$`I�L$HL�D$pL�L$xdH�%(H��$81�H��$�H�L$H����=I�D$@H�D$I�D$`�D$lE1�E1�H�D$(H��$�L��$�H�D$PH��$�H�D$@H�\$(I�D$hA�D$`A��$�H��P(I��$�H�t$PH�߃I�D$h�P����H�l$HH�\$(H�}H��H�G8�P����H�}H�L$`H��H�T$XH�G8�P(����I�D$hH��P ��H�H�D$0H��$�H�\$8H�D$ I��$�H�T$81�A�<$藕��H9D$0�KH�D$HD$��H�E=!�H�|$@HDŽ$�oH�@H��$�H�02!)�$�H��$1���H�Ic<$I��$�H��$ 艗��A�$������2���?)�H��H	�İH��$0H�D$fo�$�fo�$�fo�$�fo�$�fo�$�fo�$)�$0fo�$)�$@fo�$ )�$P)�$`)�$p)�$�)�$�)�$��AoD$0)�$��L�D$ 1�1�H�t$����������n��urMt$8M|$0I��?B~I�GI��@BI��H��I��?B�L;|$�?���uL9t$�2���A�D$P��1fD�3�������HA��$�1�M��I��DŽ$�A�<$H��葔��H��x�H�������I��$��:A9�$������H��$�H�޹��H��H��$�舏��H��H���m������;I�t$PH���8*A�T$P�����l$ltH�D$HH��H�8H�G8�P���������$���u"H��$�tA�D$`H�|$(H�s蝒��A�D$P�)fD�+����������A�D$PA�D$T�H��$8dH3%(��H��H[]A\A]A^A_�@��u��~���fDH�T$H�D$���A�D$P��謑���A�D$PA�D$T��H�D$HH�sH�8H�G8�P��u=H�I�D$P����H��H��DŽ$������A�D$P�4���H�D$HH�L$xH��H�T$pH�8H�G8�P0�������A�|$P�����A�D$P����.���ff.���AWM��AVAUI���ATUSH���4$��$��T$��$�H�L$L�D$dH�%(H��$�1��ٌ��I��H�������������H���H�T$諌��H�T$H��I����H���1�H�|$0I�������fA�}u&�T$�4$�L������f���:f��fA�EH��4!M�t$�AoEI�D$H�D$AFI�F0H�D$A���I�n`I�F8H�����A�FI�F@I�FHA���赌��3D$03D$81ɉD$@I���H���H�H�D$D�$�D$L�D$�D$P�H���H�t$@H���ۍ������I�FhH��P A�?A������'A�F�L���2�����xNA�?I�V,I�vA�F,������x2A�A��W���I�$�4�H�	-!������Cf�L���H���L��E1��=���H��$�dH3%(L����H�Ę[]A\A]A^A_ÐH��,!��H�=�H����H��,!��n�����C��H��,!��H�=��H�耐��H�I,!��.�����C�L���@����D$,�t���A��������1�������A�?H�T$,1��!T茈��A�FA�?���������H��dH�%(H�D$1�h`"h`"艉��ZYH�T$dH3%(uH���譍��f.���ATA���(U��SH��dH�%(H�D$1�腉��H��H��t=��s���H�H��tK���dD�D�cH�CH�C�k�C H�T$dH3%(H��uH��[]A\�@H��1��F��������ff.�@��ATUH���(SH��dH�%(H�D$1��׈��H��H��tIH�UD�e�E D�eH�SH�U�C H�SH�UMc�L��H�S蝈��H�H��t5H�uL��H���&���H�L$dH3%(H��uH��[]A\�f.�H��1�膉�����?���ff.�@��SH��H���SH�?dH�%(H�D$1���t�C�K�K��u<Hc�1��҅��H�;�*���H���"�������H�t$dH34%(uFH��[��H��)!I���H���H�81��p����K�K1�H�;Hc��l���H�;�肋��f���SH��H��dH�%(H�D$1��G��u-H��蕈������H�T$dH3%(u2H��[�f.�H�Y)!�(�H�=��H�� �����	���f���H����H���dH�%(H�D$1�H�)!�w�H�81�薅��H�T$dH3%(u
����H���觊�����ATU��SH��dH�%(H�D$1��G�����OH��9����Q�9��HcW��D�fL�)���D�:��� Hc�Mc�Hc�H��K�4L��G����S��t-�C�KL�D�H��CD�Ʌ��DMc�Hc�K�<1��Ӄ���C�S���C������ufH�t$dH34%(����H��[]A\��������t�H���H��'!�H�81��b���벻�����H�w���t���@H��'!��H�=p�H��h����u���D�_E��to����HcSH����Hc�H;�0���f.�H��H�E'!�ʾWH�U�H�81��˃��HcSE��K^L�D��)�AZD��)������ut�W��������H��&!H�:��H�81��s����C�KL�D�H�D�����DH��&!�$�H�=p�H��x����$���H��&!�$�H�=p�H��P����C�S���H����-���ff.�f���H��dH�%(H�D$1��G�w ��uH�T$dH3%(����u*H���@H�	&!��H����H�81�葂���躇��f.���H��dH�%(H�D$1��G�w��uH�T$dH3%(����u*H���@H��%!��H�@��H�81��!�����J���f.���SH���WdH�%(H�D$1�H���uH�T$dH3%(u5H��[��H��H�&%!H��H���H�81�譁��H���ӆ����U��SH��dH�%(H�D$1��G�����OH��9�~gD�GH�D�ƅ�u(Mc�J�H�T$dH3%(H��u{H��[]��H��$!H����H�81�����D�CH�D���fD1ۅ�t�H�c�H�T$!�H�81�����1ۉ�H�)����t��������fD��ATA��USH��H���wdH�%(H�D$1��G��~tA��Kw�����unH�;Hc��Ƈ��H����H��C��~D��Dc�CD�c��������H�T$dH3%(����H��[]A\���K��A���t��C��E��H���)�H�U#!H�81�����H�;Hc��0���H���j����S������t�H�$#!��H�=�H�����_���fDH��"!��H�=�H�����4���覄��fD��H���OdH�%(H�D$1�9�eD�GE��8��uD����9�|	�9�}�H�D$dH3%(uP��H���W����H�D$dH3%(u.��H��)șA���p�,���H�T$dH3%(����uH������ff.�f���AVAUATA��USH��H��dH�%(H�D$1��G����wD9��sA�ͅ���H�Յ�uAD�H�����A��=���t|H�L$dH3%(D����H��[]A\A]A^��D�OC�,H��D)��H�X��A��A��E��PH�_!!L�H�81���}��_�sAX�v�����K�SC�<,H�����D)�A����Hc�Hc�H�H�Hc������s��uY�{H��A��A��Hc�H;Hc��ہ���CDk��� ���H�� !��H�=��H�蜄�������CH��L�I��H������A��A��PH�� !H�81��}��ZY�k���@A�����������H�[ !D�CD��H�ݷ�H�81���|���}���A�������o���H�$ !H�շ�H�81��|���M����ԁ��@��AUA��ATI��USH��H���wdH�%(H�D$1���u:D��H�������=���t^H�L$dH3%(����H��[]A\A]�D�OH��M������H�ͷPH�u!L�H�81��|��ZY�@HcSL��H��A��Hc�H;�7����C��t�H�9!��H�=w�H������]������fD��SH��H���WdH�%(H�D$1����=���u�CH�L$dH3%(uH��[�薀��fD��SH���WdH�%(H�D$1��G��uH�T$dH3%(u4H��[����H�w!H��H���H�81��z���C��$���@��ATA��UH��SH��H��dH�%(H�D$1��f���H�L$dH3%(uH��D��H��H�߉�[]A\��������f���SH���WdH�%(H�D$1��G��uH�T$dH3%(u4H��[����H��!H��H�=��H�81��.z���C��T��@��H��dH�%(H�D$1��2'!��tH�L$dH3%(u>H���f����{��=�~��&!����fD��&!���~��f.����H��dH�%(H�D$1�H�GH�oH�H�T$dH3%(u1�H����~�����ATA��U��S��H�� dH�%(H�D$1��Xy��1�H��t0H�@f�H��D��)$���H���D$�f�$��}����H�T$dH3%(��u	H�� []A\��~�����AVA��AUA��ATA��U��SH��@dH�%(H�D$81�H�\$ �D$����H���x��h����H�
o�h�L�k�H�ߺL�L$�Qy��^_H����D�d$H�L$H��H��!�l$H�@�H��D�t$L�^!D�l$�5��5��L�L$�ZY��u@H�CH��P �|$�w���D$H�T$8dH3%(u,H��@[]A\A]A^�@1���@H�5��H���9y��1�����|����ATA��U��SH��@dH�%(H�D$81�H�\$ �D$����H���jw��h����H��h�H�
Q��L�M�L�L$�;x��Y^H��t|H�L$�l$H�þD�d$L�_!H��H�D$H�@�5��H��!�5�L�L$�XH�CH��Z�P �|$�xv���D$H�T$8dH3%(uH��@[]A\�1�����{��f.�D��U�o�A��SA�2H��H��(dH�%(H�D$1�f�wH�L$���H�D$�D$�����)u��H��t:H��H�@j1�j<H��!�H��L��!L�L$ �ZY��u<H�CH��P �|$�u��1�f�EH�D$H�T$dH3%(uH��([]��H�5�H���Yw����{��f���AVA�oA��1�AUA�պATA��UH��SH��0H�
вdH�%(H�D$(1�f�t$
����D$����fD�GL���h�h�L�L$�Nv��AYAZH��twD�d$H�L$H��H��!�D$H�@�H��D�t$L�a!D�l$�5>��50�L�L$�ZY��t[H�!H�SH���H�p�RH�CH��P �|$�et��1�f�E�D$
H�t$(dH34%(u)H��0[]A\A]A^�Df�|$
u�H��!���y��f.�f���UH��SH��H��dH�%(H�D$1��{����u1�H�T$dH3%(uOH��[]�fDH�sH���{����t�H�sH���|{����t�H�D$dH3%(uH��H�sH��[]�V{���!y�����AVAUATUH��SH��H��D�/dH�%(H�D$1�L�d$f�1�H�;L��H�����D$��x����td�D$��t|A��t&H�
?!�H��H���y����t;H�H���f�H�H�
!H��H��L�p�Ry����tL���f�1�H�T$dH3%(uH��[]A\A]A^����Dx��@��U�H��SH��H��H�
\!dH�%(H�D$1�H�H��H�$��x����u!1�H�T$dH3%(u4H��[]��H�sH���z����t�H�$H�sH��H�1��S��w��fD��AWAVAUATUH��SH��H��dH�%(H�D$1��y����u/1�H�T$dH3%(��H��[]A\A]A^A_�f.�H�uH���ty����t�H�uH���dy����t�H�CL�eH��P L��H��A���Dy����t�H�CH��P H�uH��A��1��U���p���H�CH��P D��H��A��D)�EH�C�P(L��H����x�����=���H�CD��H��P(��(����v����AWA��AVA��AUA��ATM��UL��SH��H��L���H��$�L�L$<H��$�H��$��o�$�H�T$ �H�t$(�oH�D$)D$dH�%(H��$�1�f�w���H�
��D$<������p��H����H�t$(H�T$ I��H�l$XH�D$D�l$HH�L$@L��H�T$pL��!L�d$PH�I!H�t$`�H�D$xI�BD�|$@D�t$D�t$�t$L�T$L�L$p�ZYL�T$��I�BL��P �|$<��o��1�f�C��H��$�dH3%(u H�Ę[]A\A]A^A_�����,u��ff.����AWAVAUATUSH��H�$H��H�$H���
H��$+H�$H��$+M�Ɖ|$�t$�T$ H�L$(L�L$H�D$8dH�%(H��$�*1��9u�����DŽ$�H����s���Å����Ǻ�1��*w��H��$�A��ߺ��p�����H��$�1����H�Hc��v���ٺH��$`H��H	���1�H�|$@��H��$(�H���H��$ DŽ$ H�D$0H��1��Nn�����fHc�$ L��$(H���������H��H��H�����z�B��D$L��$`H�D�M�,�H��$�H�D$H��I��(M9����AoL�����)�$`�AoO)�$pI�G H��$�1��m�������$p��f��u�fA�u�L�����1��qm��HcT$H�t$HH��H�����L$������$tI��(�M9��`���L��$p1�HDŽ$tH��$�A�GL��$�DŽ$po�n���Eo��1�L��x3�$�3�$�DŽ$$��$ �D$HH���H��$(H�H��$0HDŽ$��oU�$8H�EL��$�L��$�H��$H�o]L��)�$PH�E(H��$`�D$L�d$��$��D$��$��D$ ��$�H�D$(H��$�H��$�H��$�H�D$H��$�H�$H��$��n��H�t$0L���n����u`A����k��H�E8H��P D��H��$�*dH3%(��H���*[]A\A]A^A_�DH�=���Ls������H��$�L���pl����t�H��$�L��P �D$H��$�H�@8H��tL���H��$`�D$H��$�HDŽ$�H�L$(H��$�H�L$PH��$���H�t$ H�D�H�L$hH�l$`H�ŋD$Lcd$L�l$ ��u�d@I��L9�tWA�E1�A�M��L��L���߉�$t�r��I9�t�H�=��H�l$`A��Pr���������DH�|$8��H��$�L�%
!L��$�H�D$X�Ao$$I�D$fo�$�fo�$�fo�$)�$0fo�$H��$@H�D$P)�$`fo�$ H��$PH�,
!)�$pfo�$0)�$�fo�$@)�$�fo�$P)�$�fo�$�H��$X)�$�)�$�)�$�)�$���L�D$X1�1�H�t$(���j������M��u1H��$�H��H��$�H���K���H�l$`A��Q���H�l$pH�l$@L�t$xL�t$h�f��[n���8�r1�M��M��`"DŽ$�H����o��H��x�H�l$pL�t$xH���w���H�t$@H�|$�����j��H�t$0H�|$�p����t�D$H9�$ �H�N!H�t$0DŽ$�H�|$H��$X�tp��H�4$H�|$1�H�L$��H��$�H�@8H�����H�|$������H�=��A���o���?���f��[m���8�����H�=r�H�l$`A��o������fDH�=���o���D$����H�=q�A��no������f��D$�[���H�=��H�l$`A��9o�������$(�$H������$�H�t$hH�<$f��f��$�H�D$8��H�t$0H�|$DŽ$��D$pH��	!H��$X�o��H�4$H�|$1�H�L$��H��$�H�@8H��tH�|$�ЋT$p�������H�l$`E1����Gl�����UH��SH��H��dH�%(H�D$1���l����t���tI��t1�H�T$dH3%(udH��[]�H�D$dH3%(uJH��H�sH��[]�l��fDH�sH����m����t�H�D$dH3%(uH��H�sH��[]��m���k�����UH��SH��H��dH�%(H�D$1��+l����u1�H�L$dH3%(u8H��[]�fDH�D$dH3%(uH��H�SH�sH��[��]�f���k�����UH��SH��H��dH�%(H�D$1��k����u'1�H�L$dH3%(��H��[]�f.�H�sH���tk����tɋC��tI��u4H�s H����l����t�H�D$dH3%(uIH��H�s$H��[]�l��f���f�H�D$dH3%(uH�s H�S(H��H��[1�]���6j��fD��H��dH�%(H�D$1�H�D$dH3%(u�H���:j���i��D��UH��SH��H��dH�%(H�D$1��k����u1�H�L$dH3%(uSH��[]�fDH�sH���\j����tу{u�H�D$dH3%(u H��H�SH�sH��[E1�H�
h!]�"c���]i��ff.�f���USH��dH�%(H�D$1�H�H�F���t"1�H�T$dH3%(uqH��[]�f�H��H���%k����t�H�sH���i����t�H�sH���k����t�H�sH���j����t�H�D$dH3%(uH��H�sH��[]��j���h��f.���H��dH�%(H�D$1��G��t1��t<��G�FH�D$dH3%(��H�����G(��uQ��ѐ�G��t)��tH��FH��f���G�F�f���G�F�G�F�@��wsL�����Ic�L�>���	�G0�F�G4�F�Y���f���E���D�
�5���D��%���D�����DH��F�����\g��f.�f���ATUH��SH��H��dH�%(H�D$1�������F(=�wR�V@���wG�������t(H�G�P0H��tS�ʉ�SʉP�s��u�SʉP�{�<@1�H�L$dH3%(�?H��[]A\�f��ED���/H�E� H��P0H����ʉ�PʉS��u��PʉS��u��PʉS�PʉS�PʉS�PʉSD�`A�D�c(E��tBA����S���H�{ �{H�EA�t$H���P0H���D�S(H�{ H���e��H�E�H��P0H�����ʉS0D�`A�D�c@E���lA�������H�{8�H�EA�t$H���P0H�����S@H�{8H���d�������H��H���g���������H�sH���f�����q����K���f���H�sH���Rg�����R����{�H���H�sH���4g�����4���H�sH��� g����� ���H�sH���g��������H�sH���d���������H�D$dH3%(�9H��H�s0H��[]A\��d����SH�H ʉP�SʉP�SʉP�SʉP�S(ʉP�C(��um�C0ȉ�C@ȉA�C@��u?��w���H�s0H����d�����a���H�s@H���f�����M���D�c@�P���@H�s8��H�y�c����H�s H�ω��c��H���C(H����H��p����S@H�s8H���c������������S(H�s H����c�������������D���_��H�C �t���D���_��H�C8�����nc��f.�@��UH��SH��H�D!�dH�%(H�D$1��
��u�H�=@!��H��H�=i!tg���CH�X!Hc�H�,���e����H�5!�������?)ѺH��H	�H��!9}�H�D$dH3%(u$H��[]�D�� ��c��H��
!��b����SH���dH�%(H�D$1����H��
!Hc�H��H9:tZH�!�9�/��~+H�
�
!Hc�H�<�u��H��
�H��H�|�u����H�D$dH3%(uGH��[��H�H���d����H�5!�������?)�H�����H��H!��m�����a��f���AUI��ATU��S��H��(L�%�	!dH�%(H�D$1�M��tGL���f.�H�H��t0;Xu�;hu�H9HtU1�H�T$dH3%(uxH��([]A\A]��D�D$H�$�E]��H�$D�D$H��t��X�hH�HL� H�[	!�E��t�H�D$dH3%(uA�MH��(���D��[]A\A]��]����`��f���US��H��H�=	!dH�%(H�D$1�H��th��1��f�H�H��H��tUH��;_u�;ou�H�H��t0H��]��H�D$dH3%(u?H�����[]��[��f�H��!���H�D$dH3%(uH��[]��$`��@��H��X�oG(dH�%(H�D$H1�H�G8H�t$8H��H�D$H�D$ H�G)D$�D$(H�T$0�PH�L$HdH3%(uH��X��_��fD��H��X�oG(dH�%(H�D$H1�H�G8H��H�D$)D$H�D$ H�G�D$(�PH�D$HdH3%(uH��X��P_����H��X�oG(dH�%(H�D$H1�H�G8H��H�D$)D$H�D$ H�G�D$(�PH�D$HdH3%(uH��X���^����H��X�oG(dH�%(H�D$H1�H�G8H��H�D$)D$H�D$ H�G�D$(�PH�D$HdH3%(uH��X��^����H��XdH�%(H�D$H1��t$H��H�H�D$H�G�D$�PH�D$HdH3%(uH��X��9^��f���H��dH�%(H�D$1�H�D$dH3%(u�H���*X���]��D��H��X�oG(dH�%(H�D$H1�H�G8H��H�D$)D$H�D$ H�G�D$(�PH�D$HdH3%(uH��X��]����H��X�oG(dH�%(H�D$H1�H�G8�t$0H��H�D$H�D$ H�G)D$�D$(�T$4�PH�D$HdH3%(uH��X��(]�����AWAVAUATUSH���H�|$dH�%(H��$�1�H��� ����H�D$,1�H�l$0H�D$H��$�H�D$@H���_���ٺH��H�L$H����H��!��L�<��X����I���X���I���X��M����M��I������{M���rL�l$PL�d$hL��$��<@I�GL���P���&I�W@H��tH�
� H9
tI�G@���
I�GH��L�����t�H�D$<�oD$HH��L��$�H�T$H�|$�D$,H��$��D$D)�$���$�H�D$XH��$��������T$,���O���L��!M����D��$�D��$�������M�M��t*E9Pu�A�PD9���9�M�G�9�BºM��uօ�����L���Z��I�GL���P�����f.�I�GL���P(L���.X��L���&X��L���X��H��� H��9����H��$�dH3%(uKH���[]A\A]A^A_�fD��L����T���Y����L���8U���K���L��H�|$1�A�P�5����hZ�����AV�AUATUS��H��dH�%(H��$�1�I��L����H���t<E1�A����tL����\��L��D��H��H	ĉ�I����!�u�L���QY��H��$�dH3%(uH�Đ[]A\A]A^��Y��f���H���oFH�
�!dH�%(H�D$1�GH�F(�	H�G H�G@�H(H�G@���@8H��� D�GL�HP��H��L9�t'�D9�u�H�HH��t�H�D$dH3%(u!H����H�T$dH3%(�uH����Y�����ATI��H�=(�USH��dH�%(H�D$1�H�l$�R��I�\$1�H��H�s�=Z��H�sH���AZ��H�s8H���X��H�s`H���W��H�{XtH�sXH���fY��H���U��L���U���H�L$dH3%(u	H��[]A\��SX����AUI��ATI��UH��SH��H�=��H��dH�%(H�D$1���Q��H�C�0��tHD�H$A��t>H�HD�@ H��L��@HL��H��P�Q��ZYH�t$dH34%(u5H��[]A\A]�H�D$dH3%(uH��L��H��L��[1�]A\A]���W��ff.��AWAVAUI��H�=�ATI��UH��SH��H���dH�%(H��$�1�L�t$0�P���S(�1�L���H������D�zD����� =����ȉD$0�CȉD$4�CȉD$8�CȉD$<�CȉD$@�CȉD$D�CȉD$H��ȉD$L� ����H�D$H�C8H�L$ H�T$H�uH�|$L�D$L�t$H�D$(�C@H�D$ �S���Ƹ��t?�T$H�=�t�R��H�� H��t!L�� H��L��H�5�� I�<$���1�H��$�dH34%(u8H���[]A\A]A^A_ÐM�F H�s �`A��L���R��J��L)��3����U��fDAVAUATE1�UH��H�=]�SH��@�t$dH�%(H�D$81��nO��H�EH�@@H��tnH�XL�l$L��L�s`L���T���S H�sM��H�D$H�L$ L��H�D$ H�D$(�_V����uKH�EA��@(H�EH�ShH�P0H�EH�S`�P8H�L$8dH3%(D��u$H��@[]A\A]A^��T$��H�=�u�NQ�����U�����AUI��ATI��UH��SH��H�=~�H��dH�%(H�D$1��zN��H�C�0��tHD�H$A��t>H�HD�@ H��L��@HL��H��P�hN��ZYH�t$dH34%(u5H��[]A\A]�H�D$dH3%(uH��L��H��L��[1�]A\A]���LT��ff.����H��H�=�dH�%(H�D$1���M��H�=t� t H�|$H�5f� ��T����u-H�R� �H�L$dH3%(u#H�����T$��H�=���O��1����S��D��AWAVAUATI��UH��H�=x�SH���H�T$dH�%(H��$�1��!M��H��� H�E@�o
H�RH(H�P8L�m@I�u@H����H;5�� ��H�^H��H�=9�1���L��D�E E��u:A�H��$�dH3%(D����H���[]A\A]A^A_��L�u(f�1�L�l$`H�=�AAF�lL���U H�u1�H�=��WL��H�u�U L���3O��H�=ތ1��5L��L��L����M�����JH�D$hH�@8H��tL���E�>A����A�F�������;��tKA�F=��}�KP)���;KL���STA��D�����CHH�CXD	��STH�E8H�CH�E0A�F�������\H�SXH�sL��H���9������!A�
�gf�����R��I��H������p�R��H��H����H�c� I�^I�M�u@H�E@H�p@�'���A�H�=�� L����O��D��H�=Q�1���J������DH�=����J��H�D$hH�@8H����L���������gD�}E��tnA��fD�H�� �H�=��A�H���R�����DA��S���DA�vH�}@������t�E1��3���DH�SXH�sL��H�������������A�vH�}@��f������`���H�D$H�5�� 1��H�}@�O��H�=���1���I��H�E@H�x@H��PH�E@H�h� H�P@���H��� H�m@��$�H��tH�UH�
e� ��D����H�O� H��tH�
;� H���D����I�D$L�|$,H�t$L��H�� �N��f.�A��3���D�u�������1�H�=��I��H�5�� H��$�H�D$H��tH�{�	H�=4�1�L�l$@�D$,��H��H�}@f�L��H�5>� A�H�G@L�`H�E()�$�)�$�H�D$)�$�)D$@H�G�P�������H�L$H��I�T$E1�jM�L$XI�t$jH�yH�D$HPH�A L��PH�D$`P�wK��H�}@L��H�5�� ��$�H��0H�G�P ��$���$�H�=��J��D��$�A���L���H��H�L$DŽ$� L�l$PH��$�H�D$8HDŽ$�I�D$A�D$ �AA�D$$�AA�D$H��$�A�t$LE���H�}@��������H�D$L�|$H�5_� �H�}@L���-M��L��L��H�� ���L��H�s`L����L���������D��$�E����������@�ST�ىCP��STA�F�H���f�H�D$A�����j1�1�L�KjH�|$ A��J��ZY��������$���H�=���?I������H�t$L��A�H�� �CL�����L�|$,I�t$XI�L$I�T$8L���K��������$�M�D$`L��H�D$PL��L�D$ȉD$4H�D$4H�D$X��K��I�t$1�L��L�D$L���>H���������H�E@�@(H�E@I�T$hH�P0H�E@I�T$`�P8��$��S����1L���T$,��H�=��_H���o���f.���U1�SH��H�odH�%(H�D$1�H�]8H�C�H���w+H�{��G��H��H��tH�u@H��H���rN��H��H�E8�H�T$dH3%(H��uH��[]��K�����H��dH�%(H�D$1�H�=� H�5�� H�D$dH3%(uH����PK����H��dH�%(H�D$1�H�=�� H�5�� H�D$dH3%(uH����K����H��dH�%(H�D$1�H�=a� H�5R� H�D$dH3%(uH�����J����H��dH�%(H�D$1�H�D$dH3%(uH����J��f.�@��H���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��H��H�D$H�D$ �H�D$H�8� �$H�8�D$0�aG��H�D$dH3%(uH������I��@��ATI��UH��SH��H�� dH�%(H�D$1�H�G�8��uAH��� �8b��L��H��1���H�\$dH3%(��H�� []A\�f.�H�t$H�|$�H,I��H��H�PI��AT���H��Y^��u5�t$��t�H�n� ���t��T$H�=Ol�D$�I���D$�|�����o���fDH�=�1��B����L�����H�����ATI��UH��SH��H�� dH�%(H�D$1�H�G�8��uAH��� �8b��L��H��1���H�\$dH3%(��H�� []A\�f.�H�t$H�|$�H,I��H��H�PI��AT�nB��Y^��u8�t$��t�H�q� ���t��T$H�=pk�D$�H���D$�f���o���fDH�=A�1��B����L�����G���AUATUSH��H��8L�%� dH�%(H�D$(1�A�$��b������L�l$H�l$H�sL��H����H����tA�$����L��H���F��H�sH���&H��H�{H�[H��� H����H�BH9�nH����H;u�oH��H�xH���gH9u�H�WH�P�&D��A�<$~�s0H�=�1��>���H�D$(dH3%(�CH��8H��[]A\A]��C���1�H��H�=L����A�<$�����1�H�53�H�=9�����H�-� A�$H��t;L�-+��fDH�mH��t#��~�H�u1�L��V(���H�mA�$H��u݃������H�=�j1��}�������1�H�=���b���A�$�Z���f�H�sHH���4E�������T$��H�=�h�fF���T����H��H�F� ��B�����H��H�����A�<$b~H�=��1�����@���rE��A�<$b~�H�=D�1�������ff.���H��H�dH�%(H�D$1��o���H�T$dH3%(u
�H����E����AWAVAUI��ATI��USH��H�F� H�$dH�%(H��$�1����b��L�=e� M��u'���;b�_H�����L�=@� �M��t4I�/��~H��H�=�1���D�u(1��uG��I9�|�M��M��ũ�b��H��� I�E@f�HDŽ$�)�$ H�P@A�T$()�$0)�$@)�$PHDŽ$�����I�t$ H��$��L��$�H���@��f�L��H��)�$�HDŽ$��A������H��$�H�@8H��tH���D�;��$�A��b������H�-� H����H�
� H�&�L��L���A���u0H�=�1�������f.��;b�?H��� H��tH�
�� H�5�L��L���H�=�� L���A��H��$�H�@8H���AH��A�����I�U@f�H�
!� HDŽ$�)�$ H�J@A�T$()�$0)�$@)�$PHDŽ$�����H�� A�H��tVH�
�� H���L��L���A�H��$��H��t"L��$���b�JH�=�� L���@�����b�H��$�dH3%(D����H�ĸ[]A\A]A^A_�@D�;��$�E����H��$�����A�E����H����H��$��A��b��A���H�� H��u�*H�@H���H�(9M0u�A��b��H�E0H�U8HDŽ$(H��$0I�E@H�P@�E������$����A�u�F������;b��
H��� H����H�
�� H�ԁL��L���A����f��u,��b��
H�}H��
�E,H�}H��$��p�t$|�~@�����c
��E,��b�DI�U@H��$���$��B(�I�U@H�J0H��$�I�u@�V8H�MPH�UH��H�UI�U(H�UI�U0H��$�H��t��b�2
H�=�� L���>���E1���b���@H�=cd1��R�������D1�H�=��:���I�U@f�H�
� )�$ HDŽ$�H�J@A�T$()�$0)�$@)�$PHDŽ$�������b�c���H�=8|1����A�T$(�K����1�H�=/�����b�c���H�=2�1���L�=�� �u���D���A�E����H��$��>����H�=�{�L�������b�W���1�H�=n{�)�H�b� H���K���f�A��S���D��b~&1�H�=����;b~A�t$@H�=,�1����A�D$@H�T$|H��$�H��$�I�D$8H��$�H�}�@�������E,�T$|�p�9��Y�����b�LH��� A�H�������H�uH�}L��L��L��� �����fDH�=1�1��:����D��$�1�H�={���$������;b����H�=%{1�������1���H�==}�L$���H�� D�;�L$H����DA����H��� H�������H�
�� H�x}L��L���A�����DH����H��$���w����H��$��;�����1�H�=e|�@�H��$�D�;��3���fD1�H�=�|��;b�[���H�=�|1����H���fDH�1� A�H���0���H�
� H�T�L��L��������H��� H���xH�
�� H�ZyL��L���A������A��b~�1�H�=i{�t�H��� H��u�A����DH���?A��b��X��7��H��H���X�1�H���H�A��~H��H�=jz�
��E1�H�E�>��D�=�� H�m@���E(H��� D�}0H�E8A�G��� �a7��H����H��� H�(H�@H��tH�PH��� ���b�j��~1�H�=x��x�fDH�U0H�M8HDŽ$(H��$0I�U@H�J@D�ME���?�����b�����H�=_{1��(�D��$�E��������;b~H�=k{1���H�=� A�H���<���H�
� H�h{L��L����!���1�H�=�z�����K���I�}@f�H�
9� HDŽ$�)�$�H��$�H�GH�T$H��H�L$H�P���~��$����G�������5��$ I�E@f�HDŽ$�H��$`�$�DŽ$��xXH�H�$d�$tDŽ$`HDŽ$hH��$p���TH��`H�T$8DŽ$xHDŽ$�H��$��5&� ����	H�L$pH�EE1�L�l$XH�L$@H��$ M��H�D$H�EH�L$H�L$tH�D$ H��$�H�L$(H�L$xL�d$`I��H�D$PH�L$0L�t$h��H�D$H��L��H�HH�D$j�t$8�t$HH�xATjL�L$HL�D$hH�t$P�m5����$hH��0L9u �/�;bc����H�
#:ǖH9�$8�	I��D9-/� ��L�u E��M��tS��bnM���]���H�|$@L���x7���K�����$<��1��#:ǖH�=qz�d���$8�u������b�>H��� N�4��f.�H�=�y1��"�L�u �{���f�A��b�|H�?� H���H�
'� H��uL��L����s�����b��I�}@f�H�
S� HDŽ$�)�$�H��$�H�GH�T$H��H�L$H�P���j�;b�}L�|$H�uH�|$pI�W�+6��H�|$HL�����5������;��H��$��[@A���H�=&u1���D�;A��b����H�=;u1����XD�;�2��H��H�������A��b~H�=~u1����H�� H���_���H�
�� H��uL��L���A����H�=Ow1����)���H��� H������H�
�� H�uyL��L���A���H�uHH�|$p�D5��H�EH�.���H�= z1��9�����H�=�y1��&����1�D��H�=�t����~���D��H�=�w1�������;b��H�#� H������H�
� H��vL��L���A���L�l$XL�d$`A��L�t$hH�t$H�|$HD�D$��$<�D$p�3���;bD�D$�>D��$8A����H��$�H��t!�;b��H��$@H��$�H��$HE�����;b��I�}@H�T$H�5 � �#4��H�$�H�t$PH�|$@��3����\�A�u���������#��b�RH�
� H���\���H�
�� H�{L��L���A����t$|1�H�=�x�����1�H�=)r�|�H��� H���v������L��� M��tH�
�� H�}uL��L��A�Ћ�$�DŽ$ �����H�D$8�g����;b�-H�K� H�����H�
3� H��uL��L���A��/�A��D���$<����H�.� M�e@H��tI�T$H�
� ��D����H��� H��tH�
�� L���D����H�t$PH�|$@E1��c2��I�}@H�T$H�5k� �n2��H�$���H�=8x1��A����$<��$81�D�D$H�=�u��D�D$���H�=�s������D�;�
����;bM��L�l$XL�d$`L�t$h�H�V� Ic�L�U H��H�ED��$8������b�I�}@H�5~� 1��1��H�$H����]�I�E@H�@@�����U4��D�|$t�E,��QA���DD�1���4��Aǃ;bD�}(�H�D$�u,H�}H�P0�1�������;b�I�}@H�T$H�5� �1��H�$H�t$H�|$@�H��0��0���E����H�=>s1���������D��H�=�w�2����$<D��$8���1�H�=LtD�D$��H��$�D�D$�6���H��� H������H�
�� H�zwL��L���A���H�= v1��I�����I�}@H�5� 1��B0��H�$����;b�&H�Q� H��tH�
=� H�^uL��L���H�t$H�|$HA��/���*�H�=u1�������H�=s1�L�T$��L�T$����1�H�=Su���;b���H�=^u1�������H�=+q1��t�����/��H��� H��tH�
�� H�PsL��L���H�t$PH�|$@A��#/���|��u,H�=�r1�������H�=�t1��
����H�=�t1����p���H�=�p�������H��$�D��$8H�D$PH�D$pH�D$@H��$ H�D$�	����T$p��H�=�uA���/�����A��bRI�}@H�5Z� 1��.��H�=�� L���-���;b<H��� �H�;H�k�"�H��H���,��H��u�1��*��H�=�l1��-��H�=u1����ff.���USH��H�=�� dH�%(H�D$1�H��tO�\� ��~51�H�l$f�H�4�H�>tH����/��H�=?� H��9%� ��v+��H�#� H�=� H��tL�� ��~21�H�l$fDH�4�H�>tH����.��H�=�� H��9�� ��+��H��� ��� H�D$dH3%(uH��[]��-��ff.�f���AWAVAUA��ATUSH��H��HdH�%(H�D$81���u4H�?����H��H�GA��H��H��H�|�u��DHc�H�,�H�� H���2)��I��H�� H���GH���)��H��� H���/E���^A�u�1�L�f�f�H��H��H�JI��H9�u�J��D�-�� E1�L�-� H�D$L�t$ H�l$�pf.�H�
y� J�T{L��H��L���-������H�W� 1�1�H��L�
Q� A�J�48jjM��#*��Y^����I��L9|$��N�${L��L�d$(�y)��H��A�}bH�D$ �u���L��H�=�q1��d��_����A�}��t�T$��H�=�r�~,��fD��*��1�H�\$8dH3%(u]H��H[]A\A]A^A_�f�1��d���f�D�-q� f���f�A�U��t��T$��H�=Dr�,����O+��ff.�@��H��dH�%(H�D$1�H�=� H�5�� H�D$dH3%(uH����+����H��dH�%(H�D$1�H�=�� H�5�� H�D$dH3%(uH����*����H��dH�%(H�D$1�H�=a� H�5R� H�D$dH3%(uH����*����H��dH�%(H�D$1�H�=� H�5� H�D$dH3%(uH����@*����H��dH�%(H�D$1�H�T$dH3%(u
�H����	*��f���H��dH�%(H�D$1�H�D$dH3%(uH��1�H��H������)��D��H��H�� dH�%(H�D$1�H�G@H�P@H�L$dH3%(u1�H����})��f.���AWAVA�AUATUSH��XH��� dH�%(H�D$H1�H�G@H�P@H�_(H�C(H�CH��(H�C D�n(E���
H�v L�d$H��D��L���%��H�D$D��L��P0H���B�ʉD�xA�A����D��L�pH�{H��L��H�L$��'��H�CH�L$�A�O���M��A�ȉCA�@ȉCA�Pʃ����S��t+�B�L��1��A�tH�{ Ή4H��I9�u��D�D9�wUH�E@E1��@(H�E@�@8H�D$H�@8H��ubfDH�L$HdH3%(D��u}H��X[]A\A]A^A_�fDE��H�5�n�1��*#��f.�A�H�D$H�@8H��t�L����DH��L����$�����X���H��L���D$��$����s'����H��H��� dH�%(H�D$1�H�G@H�P@H�L$dH3%(u
�H����*'��f.���H��dH�%(H�D$1�H�T$dH3%(u
�H�����&��f���H��H�=�� dH�%(H�D$1�H��t4LJ�"H�D$dH3%(u1H��H���"H��1�H����D1�H�L$dH3%(uH����l&��ff.����H��dH�%(H�D$1�H�D$dH3%(uH����.&��ff.���ATUSH��H�
� dH�%(H�D$1�H��t`H���"I��1�H���"ǃ�"H��P(L��H���Z(����t.H���"H��P �H�T$dH3%(uH��[]A\�1����%��ff.�@��USH��dH�%(H�D$1�H�_� H��tRH���"H��1�ǀ�"H���"H��P(H��H���L"��������H�T$dH3%(uH��[]�D1����$��ff.�@��ATUSH��H�=�� dH�%(H�D$1�H��thH��I��H���"H��1��ՉÅ�t&�H�L$dH3%(��u;H��[]A\�fDH�=�� H��tLJ�"L��H���"1����f�1���W$�����SH��H�@� dH�%(H�D$1�H��tk1�H�޹�`"f��d"H��� H���"H��h"H��#H��`"�H�C0� ��H�T$dH3%(H��u3H��[�f.���$���$��H��H��t�H��� �r����#�����AUATUSH��dH�%(H��$�1�H���4#��H�u� L�%� I��A�$�oE1�1��oK�oS 1�H���o[0�oc@�x)$�okP�os`)L$�o{p)T$ )\$0)d$@)l$P)t$`)|$p������t��t�H���N"���@A�}�z���H�=�i�%��H��$�dH3%(uH�Ę[]A\A]��"��f.����ATUSH��H�$H��H�$H��pdH�%(H��$h"1��GH������H�Q� �H��u�DH�[ H����9Ku�9Cu�I��1��`"L������H�EH�sL��H��P����L��1��H�sH��tGH��H���S!������H�EH�sL��H��P H��$h"dH3%(��H��p"[]A\�H;5ؾ u��H�5; 1�H��� ����u�H��� ��H�=�hH��g#������DH���!���H��hH�`� �H�81�������g���!���KH�Jh��fD��AWAVAUATUSH��dH�%(H�D$1����"H�=�� ��A����I��M��M����D�����>��A�D����H�=�� H�
�����������(���H����H�~� L�0�X�hL�hL�`H�P H�b� 1�H�L$dH3%(��H��[]A\A]A^A_�D������"��H�� H���V���H�7� ��H�=�gH��!�����f�H�	� E����H��g�H�81����������d���H�ݽ 1ɾH�7gH�81��e��������;���H��� ��H�=�fH��{!������������\��f.�f���H��dH�%(H�D$1�H�T$dH3%(u
�H������f���H��H�HdH�%(H�D$1��GH�D$dH3%(uH��H��H��1�H��������fD��USH��H��H�oHdH�%(H�D$1������;����f�{t<1�f�CH�{@H��tH��PH�����H�D$dH3%(u$H��H��[]����H�EH�@8H��t�H�}����6��fD��AVAUATUSH���NdH�%(H�D$1�H�GHH�X��u�V(��tJ�@�@H��1��t ����@�žH��������H�L$dH3%(ugH��[]A\A]A^�f�H�� L�n8I��H��L�v0H�F0H�V8�@�@�� ���Ņ�t�I�|$@L��L��H��1�H����@���z����S����H��H�HdH�%(H�D$1����tH��������������H�T$dH3%(uH��������ATI��USH��H�_HdH�%(H�D$1��CH�kH���*��L��H��������tA�$�C�H�T$dH3%(u	H��[]A\�������AUA��ATUSH��dH�%(H�D$1���~;I��H������)�H�HŅ�~%A�<$Hc�H�������y�I�D$H�������D��H�L$dH3%(uH��[]A\A]��
��ff.�f���AW1��AVAUATUSH��HHc/H�|$H�|$0H�t$I��T$dH�4%(H��$81���H�H��D�u�s����L�l$ L��$������L��?)�H��H	\�0�H���@��H����foD$0foL$@1�1�foT$PM��L��D��)�$�fo\$`fod$pfod)�$�fo�$�fo�$�)�$�fo�$�)�$�)�$�)�$)�$)�$ )D$ ������J�������8�<���H�D$H�@H�������fDHcT$H�t$D�������~�H��$8dH34%(uH��H[]A\A]A^A_��X���AVAUATUSH��dH�%(H�D$1������A���pA��A���%��H��H���������H��H�����H�xH��D��L�
L���L����D�����H�� D�#H��H�kHH��8H�C1�H�CPH�C@H�k0�C�CXf�C�����H�L$dH3%(H����H��[]A\A]A^��H��� �"�1�H�=FaH��F���@H�Y� �$�H�=HaH�� ���fDH�1� �$�H�= aH����H��1�����V�������@��AVAUATUH��SH��@L�wHdH�%(H�D$81�L�l$L�d$�D�c���8���}L��L���D$�D$�����Å�xΉǺ�1����H�t$ H�T$�������x5A�VA�6�����H��tA�T$foD$foL$ �P�T$@�PXH\1�H�L$8dH3%(uH��@[]A\A]A^É��C��������ff.����AUH��I��ATI��UH��L��S�H��H�@dH�%(H�D$1�H�EHH�pH��P��uH�}H��L��1��GH��A��H�L$dH3%(��uH��[]A\A]��M��ff.�f���AVA��AUA��ATUSH��dH�%(H��$�1�����kH�\$H�T$���D$�H�����A�ą��H�މ�������t4�D$f��tf��
���L��@1�f�T$�H�މ����H�T$H�މ��D$��K�����S����'�����_��u��I��H����D�0�pD�h�X��H��H����H�@P�T$L�`HH�@@H�L� �oH�@H�C8H�	� C(H�Cf��tK1�f��
tCf�CH�߉+�CX�N��H��$�dH3%(H���qH�Ġ[]A\A]A^�@�D$f���D��������Ņ�����H�\$�1��A��$��H�{�1�H�D$H�Cx�H��f�L$�R���fDH�=�]�d��E��u 1��:����H�=�]�D��E��t��1��V�������1��f�D$�3����H�=Q]1��
�����DH�� ��1�H�=_]H�������f�H�=�\1��������DH��� ��H�=]H��h���u����N��ff.���H��dH�%(H�D$1�H�D$dH3%(u	H������
��f.���H��dH�%(H�D$1�H�T$dH3%(u
�H�������f���H��H�PdH�%(H�D$1��GH�D$dH3%(uH��H��H��1�H�����v��fD��USH��H��H�oPdH�%(H�D$1��z���;���t�
��H�{@�����H��tH��PH�C@H�EH�@8H��tH�}��H�{H�E��H���=��H�D$dH3%(uH��H��[]�������f.���AUH��I��ATI��UH��L��S�H��H�@dH�%(H�D$1�H�EPH�pH��P��uH�}P��L��1��GH��A��H�L$dH3%(��uH��[]A\A]��M��ff.�f���AWAVAUATI��UH��SH��H�_P�VdH�%(H�D$1�L�k�����F(����H�;� L�v8L��L�~0H�F0H�F8H�C1��C�P(�CH��L��E�K����tI�|$@L��L��L��H����uP1�H�L$dH3%(�#H��[]A\A]A^A_�H�C1�L���C�P(�CH��L��E������t�H�CL��P I�t$HE�L$1�Hc�A�<$M�D$H��I�����H9��z���H���t��y��d���f�M�t$PI����UH�EH��H����E1ҍ����H�EH��H�H��t!H9�u�Mf�H9�t;H��H�B0H��u�H�
�ZH��� H��Z�H�81��K���j���fDH�B0H�S0H�H�s D�k(I�D$H1�I�~H�C I�t$HA�����A�F��U$�S�U �S�U�S�oE(CI�T$PH����
1����H�EH��H�C0H�EH�ЋEH�U�H�MH�‹E1�u��U�3����8����H�
�XI��H��H������A�>���H��H���<���H�ƭ H�
�X�H��YH�81��I
��L�����������b��f���AWI��AVL�w\AUATUSH��H�oPH�t$H�\$ L�l$`dH�%(H�D$x1�H�D$H�$�I�GHf�A�?�)H��)C)C H�C0H�D$`HcEA�GXH�D$hL�l$0H�D$8�D$(L�t$ ��	�����t*M�gI�wHA�?1��D$L�$M��HcU�������u=�P���8�g���1�H�L$xdH3%(�$H�Ĉ[]A\A]A^A_����~̋D$H�]1�H��A�GH�E�E�P(L�t$H��L���4����t�A�H����E�t�I�GP1�H����H��<����H�FH��H��tiH�V(�H�@0H��tW;u�~$9xu�~ 9xu�~9xu�H�xL�@H3:L3BI	�u�H�p HcP(M��1�E�OA�?�V������@H�L$�A�F$�A�F �A�F�AoO�N(�����8
�����AVA��AUATU��SH��dH�%(H��$�1�����|H�\$H�T$A��E1�H���D$�������\H��D�������t4�D$f��tf��
���;��1�f�T$�H��D�����H�T$H��D���D$��9�����a�p�w��H��H�������a��I��H���uD9�AB����(���?��H�CHH���RI�}��H�ƹ����T$IDž�H�x� L�kPI��8H�C@L�k0H�Cf��tJ1�f��
tBf�CH��D�#�3��H��$�dH3%(H���\H�Ġ[]A\A]A^�f��D$f���D����
��A����H�\$�1��A����H�{�1�H�D$H�Cx�H��f�L$�A���DH�=qT1��B
��E���6���D���Q���)���@1��f�D$�;����H��� ��1�H�=UH�������f�H�ɨ ��H�=�TH�������H�=�S1�������DH�=�S1��������H
�����H��dH�%(H�D$1�H�D$dH3%(u�`"�`"H���	���
����ATH�
�SUSH��L�gPdH�%(H�D$1�I��$�t>H��� H�T�H�81����1�H�L$dH3%(��H��[]A\�f��8�����H�
5SH��H��t�����@���r��H�
;SH�EH��t���1�H��Hc�H������<��>��H�EH��t%Hc�1�H��H������I��$���S���f�H�
	S�&�������f.�D��H��HH��dH�%(H�D$81�H���$��H�D$8dH3%(uH��H����ff.�@��H��dH�%(H�D$1�H�T$dH3%(u
�H����Y��f���SH��H��dH�%(H�D$1����t-��tY������H�L$dH3%(uSH��[�f.�H�GH����t�H�$�������1�H�H9�w����f�HcH��H�$H�G�P�������SH��H��dH�%(H�D$1����t-��tI������H�T$dH3%(uBH��[�f.�H�GH����t�H�$����fD�H��H�$H�G�P��)��f���H��dH�%(H�D$1����t)��tE������H�L$dH3%(uhH����H�D$dH3%(uLH�GH�H�����������HH9�w&H�D$dH3%(uH�GH�@H�����1���w�����H��dH�%(H�D$1����t)��tE������H�T$dH3%(uXH����H�D$dH3%(u<H�GH�H���������H9wH�D$dH3%(uH�GH�@H����1���������SH��H��dH�%(H�D$1����t-��tY������H�L$dH3%(uTH��[�f.�H�GH����t�H�$1�H���H����w�f���H�H��H�$H�G�P��7�����SH��H��dH�%(H�D$1����t-��tI������H�T$dH3%(uCH��[�f.�H�GH����t�H�$f����D�H��H�$H�G�P�������SH��H��dH�%(H�D$1��H�t$�D$�����t�D$��H�T$dH3%(uH��[��I��f���SH��H��dH�%(H�D$1��H�t$�D$������t�D$��H�T$dH3%(uH��[�����f���SH��H��dH�%(H�D$1����t-��tI������H�T$dH3%(uIH��[�f.�H�GH����t�1�H�<$�����1�H�����H�$H�G�P��R��f���H��dH�%(H�D$1�H�D$dH3%(u	H���?�����f.���USH��dH�%(H�D$1������ӸH����)؅�E؋��tC����H�G�P������thH�D$dH3%(��H�E��H�5ǫ H�@�1�H�G�P��te��t1H�D$dH3%(uUH�E��H�5�� H�@H��H��[]��D�H�L$dH3%(uH��[]�@��������D1���������AVA��AUATI��UH��SH��H�� L�.H��dH�%(H�D$1������tu�U�3D9�w;������u~H�D$dH3%(��H�� L��H��[]A\A]A^����1���u)�M��tL��D$���I�$�D$�H�L$dH3%(uzH�� []A\A]A^���t�1������tLM���e����׉T$�(����T$H��I��I�$�F���H�-� ��H�=jKH�����1�뀸�v����������H��dH�%(H�D$1�H�D$dH3%(uH��H�vH���s������ff.���SH��H��dH�%(H�D$1����t-��tI������H�T$dH3%(uAH��[�f.�H�������t�H�$�����HcH��H�$�q�������f.���SH��H��dH�%(H�D$1����t-��tI������H�T$dH3%(u@H��[�f.�H�������t�H�$������H��H�$�����k���ff.���AVM��AUI��ATI��UH��SH��H��dH�%(H�D$1������t`H�K�EH��t;u�vfD9tlH��H�KH��u�M��t2H�D$dH3%(uuH��L��L��L��[�����]1�A\A]A^��@1�H�T$dH3%(uAH��[]A\A]A^�f�H�D$dH3%(uH��L��L�����[1�]A\A]A^���p�����AVA��AUI��ATUH��SH�� L�&dH�%(H�D$1����t
��uM��tKL������D$H�t$H������Å�t5�T$1�D9�s*�E��tB��tS��uL���1���I�E�@H�L$dH3%(��uvH�� []A\A]A^Ð�Ѓ�t�M��tA��T$L��H��������@�ljT$����T$H��I��I�Eu�H��� ��H�=�GH��m����x����S�����H�������dH�%(H�D$1���������H�L$dH3%(u��H�������f.�f���AWAVA��AUM��ATE��UH��SH��H��(L�>H�4$H��dH�%(H�L$1������tU�mD9�vt1��;uFM��������E1�@A��L�������H��1�M�A��D9�v��u�;��H�L$dH3%(��H��([]A\A]A^A_�@��A���p�M��t��u�������uy���t���6���I��H�$L�8M���\���H�� ��H�=�FH����1��e���@H�$�D$H�;���H��D$�A�������e���������������AWAVAUATUSH��(�L$dH�%(H�D$1���t^I��H���M��E1�A�������D$A��H�D9�t81�D��H��L��A�Յ�u�H�L$dH3%(uH��([]A\A]A^A_��������f.�f���H��dH�%(H�D$1�H�D$dH3%(uH������ff.���H��dH�%(H�D$1�H�GH+G H�T$dH3%(uH����f���fD��H����HcW(Hw dH�%(H�D$1�HWH9�H)�H�w��W(H�L$dH3%(uH�������ff.����H��dH�%(H�D$1���x�W(9�|H�G)�Hc��W(H�H�wH�L$dH3%(uH��������UH��SH���O(dH�%(H�D$1�9�r)�H����H�u�M(H�����H]�H�\$dH3%(uH��[]��Q������USH���O(dH�%(H�D$1�9�r)�H���ӉO(H�H���9���H]�H�\$dH3%(uH��[]���@��H���W(dH�%(H�D$1���~���W(H�WH�ȉ�H�GH�L$dH3%(uH������ff.���H���W(dH�%(H�D$1���~H�G���W(��H�H��H�GH�L$dH3%(uH����9���f���H��dH�%(H�D$1�H�ў �҉H�G����H�H�w H�w�W(H�D$dH3%(uH�������f.�f���H��H�WdH�%(H�D$1����t>��u)H�B`H+BX��H�L$dH3%(u+H���f��������f�H�B H+B�����^���ff.���H��H�WdH�%(H�D$1����tn��uIL�B`H�zXL��H)������t3)�rh��1�9�~(Lc�L)�L9�wH9zPw)�H�zX��rh�D1�H�L$dH3%(uAH���f�H�J H��H+B�����t�)�H�H)�1�H9J0s�H9J(v�H�J ��������H��H�WdH�%(H�D$1���x���tR��t1�H�L$dH3%(uWH���fD�Jh1�9�|�H�BXL�B`Hc�I)�L9��)�HljJhH�zX�fDH�B H�J(Hc�H)�H9��H�H�r �����AUATUSH��dH�%(H�D$1���~gH�G`H����f�H�KXH��H)�A�Յ�u/���SHH�;A��LcP)�L��1��S@���t+H�L�cXL�H�C`�9�O�Hc�)�H�H�KX���A�H�|$dH3<%(D��uH��[]A\A]��2���f���SH��H�_dH�%(H�D$1�H�{�J�H�D$dH3%(u
H��H��[�-�����AUI��ATA��USH��H��dH�%(H�D$1���~oH�C`H�sXH��H)�u;���SHH�;��HkP)�H��1��S@���tKH�H�kXH�sXH�H�k`H�C`H��H)�t�Ic�L��H9�HG�H��A)�I��s�HkXE�����1�H�L$dH3%(uH��[]A\A]���ff.�S�H��H��dH�%(H�D$1�H�t$�	�����t�D$ȉ�%������Ch��SlH�L$dH3%(uH��[���ff.�@��AUI��ATA��USH��H�odH�%(H�D$1���tc�Uh��u5�El��uH���N�����u�1�H�L$dH3%(u>H��[]A\A]�DD9��L��H��AG܉��B�����tĉ�)]hI�A)�u�����DU�SH��H��H�W dH�%(H�D$1���H�w0��D�H)�B�	�ȉH�w1�H�o H�?H)���S1�9�uH�C�H�C0H��H�C H�|$dH3<%(��uH��[]��u�D��AUATUSH��H�odH�%(H�D$1�����I��A���fDE��tsH�} H�E(D��L��H)�H9�HG�H��I�A)��-�H�E H�H�E H;E(u��E81�H�������u��H�L$dH3%(uH��[]A\A]�D�����@��UH��SH��H�_dH�%(H�D$1�H�S H�C(H)�H��~.H�BH�C H�Eȉ�H�L$dH3%(u$H��[]�f��C81�H���?�����t�H�S ��0���SH��H��dH�%(H�D$1�H�G�xh~BH�HXH�P`H)�H��~1�ʉ�H��hhH�@X�H�L$dH3%(u/H��[�@H�t$�������tӋD$�H�H�����ff.���AWA��AVI��AUM��ATM��UH���xSH��(�T$dH�%(H�D$1��a��T$H����H��A��c��A��A��A�D�{p����cv�r��st��t$���t$H��H�C��J�8H�CH�� H�C0H��H�KPH�C H�H�K(H�H�UH�]L�3L�k@L�c�C8�sHH�K`H�KXH�ChH�D$dH3%(u]H��([]A\A]A^A_�A�����E���H�D$dH3%(u.H��� ��H�=:H�H��([]A\A]A^A_�B��-�ff.�f���SH��H�_dH�%(H�D$1��sh��~<H��������tC�Sl�Ch��tB�Cl�H�T$dH3%(u6H��[ËCl��u�H��������u�1���f�H�������u�1����ff.���SH��H�_dH�%(H�D$1��sh��~DH���t�����tK�Sl�Ch��tJH�C`H9CX����H�T$dH3%(u:H��[�fD�Cl��u�H���)�����u����fDH�������u������D��H��H�dH�%(H�D$1���uX�G8��uQH�G H�PH9W(~CH�W0H)Ѓ�
�ȉH�G H�G0H��H�G �H�L$dH3%(u0H���fD�G8H�D$dH3%(u�H���C����>�f.�@��ATI��UH��SH�� H�dH�%(H�D$1�H��t61������H��H��у}�}H�|$dH3<%(��H�� []A\Ë7��t���t��D�׾H�L$���H�L$H��H��I�$u�H��� ��H�=i7H���1��f�H�߉D$��I�$�D$�f����N�ff.���AUI��ATA��UH��SH��H��dH�%(H�D$1�1�H�>H�t$���D$����t�D$��u+H��H�T$dH3%(u"H��[]A\A]�@L��D��H��H����������H��dH�%(H�D$1�H�T$dH3%(uH����~�ff.���H��dH�%(H�D$1�H�D$dH3%(u
H�H���K��6�fD��H��H�1҉�dH�%(H�D$1��+����H�L$dH3%(uH������ff.����H��H�dH�%(H�D$1���H�T$dH3%(uH�����D��H��H�O�dH�%(H�D$1�H�H�|$�ȉD$�w�H����H�T$dH3%(u��H����C���S�H��H��H�OdH�%(H�D$1�H�|$�\�1�H��u�D$�ȉ�H�H�\$dH3%(��uH��[�������H��dH�%(H�D$1����t I��H�O�ֺL�����H������H�L$dH3%(uH����u�D��H��dH�%(H�D$1����uH�L$dH3%(u1H���f.�I��H�O�ֺL���*�H��������	�f���H��dH�%(H�D$1�H�!� �H�GH�w�G(H�G H�D$dH3%(uH�����f.�@��H��dH�%(H�D$1��G(H�T$dH3%(u
�H����e�D��H��dH�%(H�D$1�W(H�L$dH3%(u
�H����&�fD��H��dH�%(H�D$1��G(H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�T$dH3%(uH�����ff.���H��dH�%(H�D$1�H�T$dH3%(uH����n�ff.���SH��H��dH�%(H�D$1��G(H�GH� H��t
�g�H�C H�D$dH3%(uH��[���@��ATUSH��dH�%(H�D$1���t`�H����uWH�GH� ��H��H)�9�|%H��t��Lc�L����H�C H��t-I�L�ck(H�L$dH3%(uH��[]A\�f�1���@H�C���i�f���SH��H�ĀdH�%(H�D$x1�H�����H���$H�D$8H����H�D$HH����H�D$`H���H�D$PH�#���H�D$XH�����H�D$hH�K���H�D$0H�D$@H�D$0H�D$1��D$(H�D$H�D$ ��H�|$ ��H��t���1���u�D$(H�L$xdH3%(uH��[���f���H��dH�%(H�D$1�H�T$dH3%(uH����N�ff.���H��dH�%(H�D$1�H�T$dH3%(uH�����ff.���H��dH�%(H�D$1�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�T$dH3%(uH�����ff.���H��dH�%(H�D$1�H�D$dH3%(u
H�H���X���F�fD��H��dH�%(H�D$1�H�D$dH3%(u
H�H���{c����fD��ATA��UH��SH��H��H�dH�%(H�D$1��Bc��H�{D��H�����_��=�����H�L$dH3%(uH����[]A\������SH��H��H�dH�%(H�D$1�H�ȉD$��b��H�{�H�T$���]_��=�����H�L$dH3%(u	H����[��'����SH��H��dH�%(H�D$1�H�}� �7�����H�G��HU��H�CH�D$dH3%(uH��[����f���H��dH�%(H�D$1�H�D$dH3%(uH�1�H���[����@��H��dH�%(H�D$1�H�D$dH3%(u
H�H����V���F���H��H���auth_none.c - Fatal marshalling problemauthunix_create: out of memory
successencodedecodegss_get_mic failedgss_wrapxdr decode checksum failedgss_verify_micgss_unwrapxdr_rpc_gss_cred: %s %s (v %d, proc %d, seq %d, svc %d, ctx %p:%d)xdr_rpc_gss_init_args: %s %s (token %p:%d)xdr_rpc_gss_init_res %s %s (ctx %p:%d, maj %d, min %d, win %d, token %p:%d)xdr decode databody_integ failedxdr decode databody_priv failedwrong sequence number in databodyin authgss_nextverf()
in authgss_wrap()in authgss_destroy_context()authgss_destroy_contextin authgss_destroy()in authgss_validate()gss_validate: out of memory
in authgss_marshal()gss_get_micin authgss_refresh()gss_init_sec_contextgss_init_sec_context (error)authgss_refresh: call_stat=%dauthgss_refreshin authgss_unwrap()in authgss_create()in authgss_create_default()gss_import_namein authgss_get_private_data()in authgss_service()finished authgss_destroy_context()authgss_refresh: GSS_S_COMPLETE: calling verify_micauthgss_refresh: at end of context negotiationauthgss_refresh: returning ERROR (gc_proc %d)authgss_refresh: returning SUCCESSauthgss_create returning auth 0x%08xauthgss_create_default returning auth 0x%08xmarshall_new_creds: starting
deleting contextdeleting default credentialgssapi_destroy: done
gssapi_refresh: failing
decrypting function argumentsencrypting function argumentsgssapi_validate: starting
gssapi_validate: succeeding
gssapi_marshall: starting
initializing contextin response from servergssapi_create: got new token
unsealing isnreleasing unsealed isngssapi_create: isn is %d
gssapi_create: bailing

parsing namemarshall_new_creds: failed encoding auth_gssapi_creds
marshall_new_creds: auth_gssapi_creds is %d bytes
marshall_new_creds: succeeding
gssapi_destroy: no client_handle, not calling destroy
gssapi_destroy: marshalling new creds
gssapi_destroy: marshall_new_creds failed
gssapi_destroy: calling GSSAPI_DESTROY
gssapi_destroy: GSSAPI_DESTROY failedgssapi_destroy: deleting context
gssapi_refresh: rejected verifier, incrementing
gssapi_unwrap: context not established, noop
gssapi_wrap: context not established, noop
gssapi_validate: not established, noop
gssapi_validate: failed unsealing verifier
gssapi_validate: expecting seq_num %d, got %d (%#x)
gssapi_validate: seq_num %d okay
gssapi_marshall: sending seq_num %d
gssapi_marhshall: seal failed
gssapi_marshall: not established, sending null verf
gssapi_create: CLGET_LOCAL_ADDR failedgssapi_create: CLGET_SERVER_ADDR failedgssapi_create: unexpected token from init_sec
gssapi_create: calling GSSAPI_INIT (%d)
call_arg protocol version %d rejected, trying %d.
gssapi_create: GSSAPI_INIT (%d) failed, stat %d
Talking to Secure 1.1 server, using version 1.
gssapi_create: invalid call_res vers %d
gssapi_create: GSSAPI_INIT (%d) succeeded
gssapi_create: expected client_handle
gssapi_create: got client_handle %d
gssapi_create: got different client_handle
gssapi_create: expected token
gssapi_create: got unexpected token
gssapi_created: expected signed isn
gssapi_create: processing signed isn
gssapi_create: gss_unseal gave %d bytes
gssapi_create: got signed isn, can't check yet
gssapi_create: not done, continuing
gssapi_create: done. client_handle %#x, isn %d

GSS-API authentication error : recursive failure!
gssapi_seal_seq: failed
gssapi_unseal_seq: failed
unsealing sequence numbergssapi_wrap_data: starting
gssapi_unwrap_data: starting
GSS-API authentication error %s: GSS-API authentication error %s: %*s
gssapi_unseal_seq: unseal gave %d bytes
gssapi_wrap_data: encoding seq_num %d
gssapi_wrap_data: serializing seq_num failed
gssapi_wrap_data: serializing arguments failed
gssapi_wrap_data: %d bytes data, %d bytes sealed
gssapi_wrap_data: serializing encrypted data failed
gssapi_wrap_data: succeeding

gssapi_unwrap_data: deserializing encrypted data failed
gssapi_unwrap_data: %llu bytes data, %llu bytes sealed
gssapi_unwrap_data: deserializing verf_seq_num failed
gssapi_unwrap_data: seq %d specified, read %d
gssapi_unwrap_data: unwrap seq_num %d okay
gssapi_unwrap_data: deserializing arguments failed
gssapi_unwrap_data: succeeding

RPC: (unknown error code); errno = %s; why = ; s1 = %lu, s2 = %lu%s:  - Error %dAuthentication OKInvalid client credentialServer rejected credentialInvalid client verifierServer rejected verifierClient credential too weakInvalid server verifierFailed (unspecified error)RPC: SuccessRPC: Can't encode argumentsRPC: Can't decode resultRPC: Unable to sendRPC: Unable to receiveRPC: Timed outRPC: Authentication errorRPC: Program unavailableRPC: Program/version mismatchRPC: Procedure unavailableRPC: Remote system errorRPC: Unknown hostRPC: Unknown protocolRPC: Port mapper failureRPC: Program not registered; low version = %lu, high version = %lu(unknown authentication error - %d)RPC: Incompatible versions of RPCRPC: Server can't decode argumentsRPC: Failed (unspecified error)������������������h��������h��������������������������clnt_raw.c - Fatal header serialization error.clnttcp_create: out of memory
�5��X5��h5���5���5���5��05��clntudp_create: out of memory
dyn: destroy: zeroing %d bytes from %p.
dyn: release: freeing object structure.
dyn: debug: Debug state set to %d.
dyn: delete: Highest index is %d.
dyn: delete: last element, zeroing.
dyn: delete: last element, punting.
dyn: delete: copying %d bytes from %p + %d to + %d.
dyn: delete: zeroing %d bytes from %p + %d
dyn: initzero: initzero set to %d.
dyn: paranoid: Paranoia set to %d.
dyn: array: returning array pointer %p.
dyn: get: highest element is %d.
dyn: get: Returning address %p + %d.
dyn: alloc: Increasing object by %d bytes (%d incs).
dyn: insert: index %d is not in [0,%d]
dyn: insert: cannot insert %d elements
dyn: insert: Moving %d bytes from %p + %d to + %d
dyn: insert: Copying %d bytes from %p to %p + %d
dyn: put: Writing %d bytes from %p to %p + %d
dyn: size: returning size %d.
dyn: capacity: returning cap of %d.
dyn: delete: bad index %d
dyn: delete: done.
dyn: get: bad index %d
dyn: alloc: Out of memory.
dyn: alloc: done.
dyn: insert: done.
dyn: put: done.
Cannot register service<pmap_getmaps rpc problem<Cannot create socket for broadcast rpcCannot set socket option SO_BROADCASTbroadcast: ioctl (get interface configuration)broadcast: ioctl (get interface flags)Cannot receive reply to broadcastCannot send broadcast packetBroadcast select problemp_��P_��_��@_��0_��`_��in svcauth_gss_destroy()in svcauth_gss_wrap()in svcauth_gss_validate()in svcauth_gss_nextverf()in svcauth_gss_unwrap()in svcauth_gss_set_svc_name()gss_release_namein svcauth_gss()svcauth_gss: out_of_memory
xp_auth=%p, gd=%pcalling xdrmem_create()oa_base=%p, oa_length=%uxdrmem_create() returnedxdr_rpc_gss_cred() failedin svcauth_gss_acquire_cred()gss_acquire_credaccept_sec_contextxxxxdisplay_namesendreply in destroy: %din svcauth_gss_accept_context()returning %d from svcauth_gss()svc_gssapi_unwrap: not established, noop
svc_gssapi_wrap: not established, noop
destroy_client: destroying client_data
destroy_client: client_data = %p
destroy_client: called on empty database
destroy_client: client_handle delete failed
destroy_client: client %d destroyed
clean_client: client_data = %p
clean_client: client %d expired
svcauth_gssapi: empty creds, failing
svcauth_gssapi: decoding credentials
svcauth_gssapi: failed decoding creds
protocol error in client credentialssvcauth_gssapi: got credentials, version %d, client_handle len %d
svcauth_gssapi: bad credential version
unsupported client credentials versionsvcauth_gssapi: GSSAPI_EXIT, cleaning up
svcauth_gssapi: non-empty handle on GSSAPI_INIT
protocol error in client handlesvcauth_gssapi: GSSAPI_INIT, creating client.
svcauth_gssapi: empty creds, creating
create_client: new client_data = %p
svcauth_gssapi: new handle %d
svcauth_gssapi: create_client failed
internal error creating client recordsvcauth_gssapi: expected non-empty creds
svcauth_gssapi: incoming client_handle %d, len %d
get_client: looking for client %d
get_client: client_handle lookup failed
svcauth_gssapi: client_handle lookup failed
invalid client handle receivedsvcauth_gssapi: client_handle lookup succeeded
svcauth_gssapi: context is not established
svcauth_gssapi: expected auth_msg TRUE
protocol error on incomplete connectionsvcauth_gssapi: unacceptable procedure %d
svcauth_gssapi: cannot decode args
protocol error in procedure argumentsWarning: Accepted old RPC protocol requestsvcauth_gssapi: bad GSSAPI_INIT version
unsupported GSSAPI_INIT versionsvcauth_gssapi: using's clients server_creds
svcauth_gssapi: trying creds %d
accept_sec_context returned 0x%x 0x%x not-us=%#x
svcauth_gssapi: creds are correct, storing
svcauth_gssapi: accept_sec_context returned %#x %#x
svcauth_gssapi: got new output token
svcauth_gssapi: context established, isn %d
internal error sealing sequence numbersvcauth_gssapi: context is established
svcauth_gssapi: checking verifier, len %d
internal error unsealing sequence numbersvcauth_gssapi: expected isn %d, got %d
svcauth_gssapi: seq_num %d okay
svcauth_gssapi; response seq_num %d
svcauth_gssapi: GSSAPI_MSG, getting args
protocol error in call argumentssvcauth_gssapi: processing token
svcauth_gssapi: GSSAPI_DESTROY
svcauth_gssapi: sending reply
svcauth_gssapi: freeing client_handle len %d
svcauth_gssapi_set_names: importing %s
before freesdump_db: %s:
	client_data = %p, exp = %d
svcauth_gssapi: starting
clean_client: starting
clean_client: done
empty client credentialscleanup_and_exit: starting
create_client: done
cannot get local addressaccepting contextprocessing tokeninvalid call procedure numberimporting nameacquiring credentialsbad auth_len gid %u str %u auth %u
svc_run: - select failedxxx
trouble replying to prog %d
never registered prog %d
registerrpc: out of memory
can't reassign procedure number %d
couldn't create an rpc server
couldn't register prog %d vers %d
svc_tcp: makefd_xprt: fd too high
svc_tcp: makefd_xprt: out of memory
svctcp_.c - udp socket creation problemsvc_tcp.c - cannot getsocknamesvctcp_.c - cannot listensvctcp_create: out of memory
#cache_set: victim alloc failedcache_set: could not allocate new rpc_buffersvcudp_create: socket creation problemsvcudp_create - cannot getsocknameenablecache: cache already enabledenablecache: could not allocate cacheenablecache: could not allocate cache dataenablecache: could not allocate cache fifo%s
cache_set: victim not foundsvcudp_create: out of memory
xdr_bytes: out of memory
xdr_string: out of memory
xdr_array: out of memory
xdrrec_create: out of memory
xdr_reference: out of memory
;8	&���T	����|	��� �������x#����0B����0a����2D����	�����	��	4����	t���
����(
�D
���t
D����
�����
Լ���
T����
���($���l������4����T����������8
T��l
����
����
���0���|t�������d������d��hT�������t��d��P����T��P���������$��<d��X���T�����8�x���D����|��������@����l�������������(���d����������������d������T��d������������4	���t	���	��4$
��Pd
��l����
���T�����|����4���t�������������h����T��������ld���������������D���#��X'���T'���(���(��<t)��`�)���T*����,���D-����-��$.��</��hT0���1���$3��  4��h d4��� �4��� 45��� �5��!$6��,!t6��L!�6���!8���!9��4"�9��l"D;���"�;��#�<��L#D=��x#T>���#�?�� $�H��|$dI���$�I���$�J��<%K��X%�K���%dL���%�M���%�Q��,&dR��X&4S��|&$T���&�T��'DU�� '�U��<'V��X'dV��t'�V���'W���'dW���'�W���'�Z��4(D[��|(�[���(�\���(d]��0)_���)�_���)�`��*Da��8*�h���*di���*�i���*�i��+$j��4+dj��T+4k��p+4l���+4m���+�o��,,�o��H,T����,T����,����@-�\-4���x-t����-�����-��-4����-����.����\.ԍ��|.����.�����.Ԏ���.t���/���8/����l/d����/d����/�0����\0��x04����0Ė���0����<1�X1d����1��1����2$���\2$����2�����2����@3�\34���x3�����3$����3�����3����H4ħ���4�����4��4���,5d���H5����d5D����5ԭ���5�����5$����5į�� 6T���D6����h6����6�����6���6��7$���`7t���|7����7�����7����48����x8��8t����8���,9T���H9����d9��9D����9�����9����9d���:ļ��,:$���L:����h:t����:����:Ŀ���:���;��<;T���`;��;����;D��<���0<d��T<����<t���<��=���$=���X=D���=����=����=���=T��>��� >$��D>���`>���|>T���>����>����>���>T��?���(?���L?����?t���?����?����?4���?t��@���0@���L@d���@����@4���@t���@zRx�$�����	FJw�?:*3$"D����	 \����lH B
FV
A��2H d
A����7H i
A�<���2H d
A�`���;H l
B�����2H d
A,����E�A�D`B
AAB<����2H d
AX����OH @
Bt��;H l
B(����rE�A�G0V
DAE0�X����B�H�A �G`v
 AABD@�Բ��F�B�B �A(�C0�D��
0A(A BBBD84�����F�B�A �A(�Dpr
(A ABBJLpd����F�J�E �B(�D0�D8�G�D
8A0A(B BBBD$zRx��������,��8������F�G�A �A(�G��
(A ABBA zRx������(}���(t����E�F�G0Q
AAK�t���2H d
A@�����(F�D�A �G0S8D@BHAPP0Z
 AABF0�����F�I�A �G0m
 CABAH4��=F�G�D �A(�G@BHIPDXH`V@Z
(A ABBJ�Ը��2H d
AX������F�E�E �E(�F0�D8�G��
8A0A(B BBBCI�Q�U�A�H�|���&F�B�B �B(�A0�A8�G��
8A0A(B BBBB$D`����H x
HT
LT
ElȽ��2H d
A,����E�D�G0o
AAG�h���?H m
ET������F�E�D �D(�N@uHMPFHA@T
(A ABBDT
(J CBBB,0��A�N H(F0Q(A n
AA(`����vE�A�N0S
DAE8�����F�L�D �A(�D��
(A ABBDL�l����F�B�B �E(�A0�A8�Q�N
8A0A(B BBBF���+F�B�B �B(�A0�A8�J�Q
8A0A(B BBBEQ�t�K�F�B�B�B�B�I�E�]�D�A�B�B�B�B�N���F�L�A�T�����F�E�D �D(�N@uHMPFHA@T
(A ABBDT
(J CBBBH����F�E�B �E(�K0�A8�DP
8A0A(B BBBB@dp���F�E�L �A(�A0�G`�
0A(A BBBC(�,���E�K�G0]
AAJ,����qE�C�N0H
AAH	���2H d
A8 	���B�B�D �D(�G��
(A ABBH<\	x��8F�A�A �G@wHBPCHB@�
 AABB �	x���O�D |
AH<�	���F�D�D �G@L
 AABKTHIPFHA@<
����F�D�D �G@L
 AABKTHIPIHA@0@
����F�A�A �D`�
 AABBHt
����F�B�B �B(�D0�A8�Gpi
8A0A(B BBBE��
D���F�I�E �B(�A0�A8�G���D�H�J�D�D�G�E�e�v�B�T�B��
8A0A(B BBBCLD`���F�A�G �DPUXH`GhBpBxB�NPe
 AABEL����B�E�E �E(�A0�A8�D�/
8A0A(B BBBH �p��gE�G T
AA(���sE�D�G0o
AAG(4�YE�D�G0A
AAA(`D��E�D�G0o
AAG(���WE�J�G0i
HFE4����E�I�DPgXO`OXFPX
AAI8���F�K�G �A(�D`i
(A ABBD\,
h��F�B�E �E(�D0�A8�G���V�U�A�~
8A0A(B BBBJL�
��LF�B�E �B(�D0�D8�G��
8A0A(B BBBJ<�
���F�E�A �C(�G�
(A ABBD zRx������(����T�6H d
E<t0�vF�B�D �C(�G`�
(A ABBB�p�yH M
KX���dF�B�B �D(�D0�DP
0A(A BBBFiXS`\XAPK
XR`J,��HH v
EH�HH v
E8dP��F�E�A �A(�DP�
(A ABBF��HH v
E�8�2H d
A �\�oH C
EY
A���2H d
A��2H d
AL4��kF�B�B �B(�A0�A8�G��
8A0A(B BBBE��2H d
A@�4�4F�E�E �A(�A0�D��
0A(A BBBK\�0�4F�B�E �B(�D0�D8�F�!�B�Q�A�\
8A0A(B BBBHD���CH u
A`D���JH {
B|x���2H d
A(�����vE�D�D0J
DAL���H \
DL�����'F�E�B �B(�A0�A8�G�a
8A0A(B BBBE@0t����F�B�E �A(�A0�D@
0A(A BBBALt����B�G�B �E(�A0�D8�I�
8A0A(B BBBJ�P���TH h
HV
AL�����UF�J�B �E(�D0�D8�G�l
8A0A(B BBBD4����CH u
AP���JH {
Bl��2H d
A�,���H \
D(����vE�D�D0J
DALL�4���F�B�B �B(�A0�A8�G�|
8A0A(B BBBEL t��)F�E�B �J(�A0�A8�G�$
8A0A(B BBBB(pT	��CH U(E0F(A T
A0�x	���F�I�C �D0q
 AABE0��	���F�A�I �D0}
 AABK �
���E�G [
AH (��wE�G x
AKLh��YH K
A<h���sF�A�C �D0�
 AABH�8P@\8K0��
��fH s
E�@��fH s
E ����mE�D n
AH(����E�C�D0R
AAH00���JF�D�A �G0�
 AABI$d����H L
LV
NY
AX�8��F�B�B �D(�A0�G@i
0A(A BBBILH^PUHE@�H]PRHA@D�����F�E�D �A(�G@E
(A ABBFGHUPUHA@ 0���JE�G w
AA T���lE�D n
AH0x��WF�D�D �G0i
 LABE$�H��lE�D n
AH����uH n
J����IH {
A4 ��F�D�C �F@b
 AABA\Lh�� F�E�E �D(�C0�DpjxQ�ZxApDxF�HxApo
0A(A BBBEL�(���F�D�C �D`jhMp^hA`xhMpHhH`d
 AABD4�����E�Q�M@BHDP^HA@v
AAH\4���DF�M�J �D(�D0�D`zhEpLhB`DhFpHhA`Q
0A(A BBBF4�p���E�D�G0o
AAGt
HAED�����F�B�B �A(�D0�G@�
0A(A BBBB(`���E�I�G0@
AAIH@���F�B�B �B(�A0�D8�GPs
8A0A(B BBBKX����tF�E�E �E(�D0�D8�J���D�M�A�|
8A0A(B BBBHX�����F�B�B �B(�A0�A8�G� L�@L�V�
8A0A(B BBBF@D0$���E�D�G0z
AADT
HAKd
HAE4��$��xE�D�G0o
AAGT
LFE@��$���E�D�G0s
AAK@
HAGl
DCB�%��;H i
E4 �%���E�D�G0o
AAGj
LKE4X&���E�A�D0z
AAJS
HAE��&��4H @
HD��'���F�A�D �G0�
 AABJ�
 HABM(�`+���E�D�D0�
AAF  ,���E�D }
AILD�,���F�E�A �C(�FPY
(A ABBDX
(H ABBE4�P-���E�A�F0`
EANd
AAA��-��jH`\
A�.��`H`R
A`.��`H`R
A �.��`H`R
A<�.��WH`I
AX,/��;H i
EtP/��`H`R
A��/��hH`Z
AL��/���F�B�B �B(�A0�A8�G�Z
8A0A(B BBBGD�X2���F�G�B �A(�A0�I�
0A(A BBBA$D�2���H �
CY
A0lH3���F�K�A �D0�
 AABAT��3���F�E�D �D(�N@uHMPFHA@T
(A ABBDT
(J CBBBL�,4���B�B�B �L(�D0�D8�J�@
8A0A(B BBBB@H |5���B�B�B �D(�K0�Dp�
0A(A BBBDT� (6���F�E�D �D(�N@uHMPFHA@T
(A ABBDT
(J CBBB� �6���H _
Ix!7���F�B�B �B(�D0�K8�G��
8A0A(B BBBI�J�L�J�H�F�^�F�J�Q�A�(|!(>��xE�C�D0d
AAA�!|>��@H r
A�!�>��@H r
A�!�>��@H r
A�!�>��2H d
A"?���K��
A<8"�?���F�D�D �G@L
 AABKTHIPIHA@<x"|@���F�D�D �G@L
 AABKTHIPFHA@8�"<A��eB�B�A �A(�G`�
(D ABBM�"pC��@H r
Ah#�C��eF�B�B �E(�D0�A8�G�
8A0A(B BBBE	�N�D�D�F�B�_�(|#�Y���E�A�D0�
AAA\�#lZ��QF�B�B �E(�A0�A8�G�;�B�I�A��
8A0A(B BBBC$l\��@H r
A$$�\��@H r
A@$�\��@H r
A\$�\��@H r
A|$�\��7H i
A�$]��;H l
B�$@]��CH u
AL�$p]���F�B�H �B(�A0�A8�D�g
8A0A(B BBBG$% _��FH x
AD%P_��7H i
A `%t_��tH I
GV
A�%�_��2H d
A0�%�_���F�A�A �D0t
 AABD(�%``���E�A�D0f
AAF0&�`���F�A�A �D0Q
 AABG$4&0a���E�D {
AK<\&�a���F�B�A �A(�G��
(A ABBA8�&�b���F�A�A �G� L�@L�E�
 AABAH�&�c���F�B�B �B(�A0�A8�DP�
8A0A(B BBBF$'@e��7H i
A@'de��JH {
B(\'�e���E�A�G0X
DAF�'[���EAD �'^���EAD @�'�e���F�B�B �A(�A0�D@e
0A(A BBBC(`f��PH B
A0 (�f��oF�D�A �D0V
 AABA8T(�f���F�E�A �A(�D@f
(A ABBAL�($g���F�I�B �B(�A0�A8�G�|
8A0A(B BBBA@�(�h��|B�B�B �A(�A0�D@�
0A(A BBBH@$)�i���F�B�B �A(�D0�Dp�
0A(A BBBA8h)|j���F�H�D �G(�I@U
(A ABBA�)}���EAD D�)�j���F�E�E �A(�A0�G�j
0A(A BBBE*lm��6H d
E$*�m��7H i
A@*�m��JH {
B(\*�m���E�A�G0z
DAE8�*\n���F�H�D �G(�I@U
(A ABBAH�*�n���F�B�B �B(�D0�D8�DP�
8A0A(B BBBDH+Dq��(F�E�F �B(�A0�A8�G��
8A0A(B BBBHD\+(s���F�E�B �A(�C0�G�v
0A(A BBBJ�+�u��@H n
E0�+�u��F�H�A �D0V
 AABC�+�v��AHPs
A,w��7H i
A ,,8w���E�G x
AK P,�w���E�G x
AK$t, x���H x
H[
En
J$�,�x���H x
H[
Ef
B �, y���E�G x
AK �,�y���E�G x
AK -z��WE�G D
AA 0-Dz��WE�G D
AA T-�z���E�G x
AKx-�z��6H d
E4�-{���E�A�D0�
DAGY
AAEX�-�{��?F�E�B �D(�D0�GPN
0G(A BBBHD
0A(A BBBD(.�|��BH p
E D.�|���E�G x
AK h.\}���E�G x
AKl�.�}���F�E�E �D(�D0�G@[
0J(F DBBFV
0A(A BBBJT
0L(C BBBB@�.H~��F�E�E �A(�D0�DP�
0A(A BBBB@/$��DH v
AH\/X��F�B�E �E(�D0�D8�G`�
8A0A(B BBBEH�/�����F�B�B �B(�A0�A8�D`d
8A0A(B BBBH�/��2H d
A0���:H l
A,0(���TH F
AH0l���PH B
A(d0����_E�D�D0J
AAA(�0ԁ��\E�A�D0J
AAA�0���UH G
A�0L���WH I
A�0����TH F
A1Ђ��rH ~
J014����H ~
JL1���H y
G8h1l����B�B�A �A(�D@�
(A ABBA �1��HE�D q
DE8�1����B�E�D �A(�G@�
(A ABBA 2����aA�L M
AA8(2���F�E�D �A(�D@H
(A ABBF(d2P����A�F�G0u
AAA8�2�����F�B�A �A(�D@�
(A ABBF(�28����E�D�D0N
AAC �2�����E�G V
AE`3���cF�E�E �E(�D0�I8�D`�
8A0A(B BBBA
8A0A(B BBBE �3����E�D U
AA �3�����E�D W
AG �3����H i
G`
E0�3�����F�D�D �D@I
 AABA8 4T����F�E�D �D(�G@S
(A ABBE\4����2H d
Ax4̋��:H h
E�4�DH v
A�4$���;H m
A�4H���]H O
A �4����iE�Q L
AA5،��[H M
A(5���gH m
KD5p���RH D
Ad5����;H m
A�5ԍ��:H l
A�5����5H g
A�5���2H d
A�5@���2H d
A �5d���\E�G I
AA06�����F�A�A �D0m
 AABC H6����E�G��
AAl6ȏ��2H d
A�6��2H d
A�6���2H d
A�64���2H d
A�6X���:H h
E�6|���:H h
E07����hF�D�D �G0F
 DABA H7ܐ��iE�G S
DA l7(���WE�G D
AA�7d���<H j
E�7����:H h
EGNU��e�e`�!0�B�\�w�����Ñۑ����8�L�c���r���	��
ÒГޒ
��	��8������7080:�
���$5DN��Q
\P�!X�!���o`hH
"@HC82	���o`1���o���o�1���o�o�/���o�p�!�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV V0V@VPV`VpV�V�V�V�V�V�V�V�VWW W0W@WPW`WpW�W�W�W�W�W�W�W�WXX X0X@XPX`XpX�X�X�X�X�X�X�X�XYY Y0Y@YPY`YpY�Y�Y�Y�Y�Y�Y�Y�YZZ Z0Z@ZPZ`ZpZ�Z�Z�Z�Z�Z�Z�Z�Z[[ [0[`f�e�f�f`g g g�h�h�k�j�i@i@iz ~�|�|Pz@�Ј@�������������� ���ж`��@��� �����`����p�����������P	����P�7�7`7 <�:�<�;�:@;�HPB�d�d
e�B�DPD�IpC�B�B@R�M�N`O�M0Ni�h�gPhg@g�g�fpp�on0o�iPj kpl`ww�w0x�vpv�u0v |~`|�}`}�|�| }GA$3a1�QiGA$3p1113�d|GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113�hZGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�dR|GA+GLIBCXX_ASSERTIONSGA*GOW*��d,eGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*GA*GA*GA!
GA*FORTIFY�h|GA+GLIBCXX_ASSERTIONSlibgssrpc.so.4.2-1.17-12.el8.x86_64.debug�	��7zXZ�ִF!t/��5�4]?�E�h=��ڊ�2N�#� ��\��)�~O�ܝ����:!;�`�I���l^��c~2�zGW�U�[z��9{v�D�F!�C\�����f^�7#�DCnv����������q�!�a��M�6@����/%�>k��m�c�X+�b*�7@�'��R�7�\��0��׀0_a\�-��<U���bU@��1�Q�V)�=;�Vy�g�;D����Y�@�£E��S;�c���{h
Z0��,�Q�#L�t`���_�OQXC��'�+A�E'��{A��s04�KN8m�CJp��,��:�\�
�_%bW먘+������C�9�WP�%q���)n��
}1Ɯ8�&|^,�f%�Ӄ�o�[Q=�n1'^�(IL`!JR%�KeC���p��=�F��$F��)7�v
��rX��"�DJ� AB�H���>����+�r t��s��bG�r2D3�`�*���^o!�B�Z,�z����'s��S��b�SĄ���M�h��R7���[9	�Qt���'B*���z&`�\U�f�ԇn�����b�y���t�xS,�*t�@��S�Rݐ���}T��Zf����k�~P��E������E�����v�*`��%H`L('��ަr-�2�Cja�i���Ñ�5/�݀�Ѭ��q�E]��}���$�`mQ�+	G���~&�x]�:���
�$��iia?�c��Ǹ�L-v���,�D��p�`��~�L�P��8�#�|�0�e�h�K�	�<
���/*��U�'u�'$pU"d�1���L�۷@��h-�D���UKph�*
��d����DXz6��asI�=�N
����v#���5T���y����n�V��'ڔ�����&��6S�C���۰E�Ã-��MM�;�$��X��:�iZz�(����W���S}�ش	Sm��,e�߆�6�?GXlG\f}I��}��
|J����l�L�2*���w�5ު�o�!��k����Gpklރ:q=�_"�j��_��4r�()�m�}r��6s}骲�!T�艠H#`�S�^:��?ٓT��@L9S�9�L�a��{��t�@�G�|�\��V/�r�!�s-�Kg�/�
z��/����\�
��P:���z�y(C�jz��.�P.�sɲ���7la��6p��~��N��i5{(nS)���)�q�諸kxE�����?��&��.�\<�'X��d��b@ ;�L^� !(�e�&c�]�����ړp�P����#P<e��j��^8e7T�*�`�뢷�ƲĽ"�08��b�b|�G'R~���y�2�i��)���:��&D�~E�hipg����+W�	��
� ��}l(lрD�[_Vgn�~wL�@���K�JM���`Uk9_ͦ�5tp\��TJ��p���ףf�TRۘڂ�h��0�ažD� n��P�{�LQ×c�x�'��r�ī�U��ϸ��[�=�c��ċ��F�o�|�Y��D<��2kj���@-�I���;Bu�G�X�޹�ke}Y����_��@�s�0H]+��!��d.��:���C�4qQ��L62z�.��s���Dؼ&5�*g��̲›�Tu��L3��S �D�N�I|�8J�1��P�֒y��-��S��E���g�%I֢������/>�����mX}Ptx/�S�xh�>�T�j��v�JD�
��9Of�
bJ�޲*戥7~�A%��f�q�B�$4��4.,{M�?��+6�VKS�h�]�<E�]=\��n���fW����/y�(5Z �k~�5�Ȇ�a�bH�b�B}�������H��
ܣ��^aX�;�q�6Т�~<]z�s,�ΰ�3F�My��G�Ӝ�!��p}�<��N#���皨�i�f]� <uvVb}�p��\�H��h£��Mp��r�{�a���;�{�FW
Q6ό�b�	O��W������5����Z3�̌��酯hS�?�10��ꔪ�ʄ�_�!���k೒�=�q�3_��d�↣��b��4|�q���k�F£fb��l̥S�ǿ���'WՋ�*Sc�x?S�o¹rtT�Y��9l��/`1vN�+@��/��K�7S���)7�+j/�e���F�0	�V��Y%6���NztFwG0j=����Z�&i�Z�{��8jG�i���(�g���ḫ���`.:���z$���v!�^��W�U���R��5�������h���yvV\�-�L��7�20I�	Eì�)CS�bf �:�jb�1�@��V��셿���.ڔ����#M�J��P���mk�8�;з��yq��Y���?6�)�T�f��]����5�%8�S�$"�t����u$e_m�J#4_���vz��~~'�he�S^+r�Ჵ	��Ba����>�]e�8.C �D;U�\�� �qݨ�����V-�<8�(���Do8l��*�0�K�zA#�d�9"&���
���73�Pð��n��c]��
�g"d"�ᐵ�2|c���~/f����-)+"i�g�>�0��EɃ�h�F�+��1���U�< �WL���צ&�V�ڻ��8���;i�C�=�������2��n�פ[�K�V�:ei����Ͱ�]���*/�b���A��:eZ}%dΑG�#̥��75�
iJjGeX�%������ۊ�d%<\����^�����#����2V������h�b$M���[ү}�>Z��ud���)>E*x���
CUy��Nm7NKN{ G ���Jhċ~
�*1EJ:��D�����k��R��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(HH 0hh8���o�/�/�E���o`1`1TT���o�1�1�c8282mBHCHC@w�Q�Qr�Q�Q�	}@[@[�	��d�d��\\
�pp9-�����<	����7����� �P�!P��X�!X��`�!`� �p�!p�p��!��"��"�� `	"`	 `b`	d"�01�th@lib64/libkdb5.so.9.0000075500000245250150403633660007671 0ustar00ELF>0Q@�B@8	@X%X% ,,!,!	�	 �,�,!�,!��888$$8%8%8%  S�td8%8%8%  P�td000��Q�tdR�td,,!,!��GNUC�d�y��.���t8�_	�al

APd�n��B%@C��@R����
@���
BA!�d  � @.D@H(
H 0��E��@$�B@D\��
ؐ@	H� @DX�$F@lnopqrsuvyz|}������������������������������������������������������@�x�~�>�yz�w˰9A�v2�Zs��u����5OL@��.x��!��
���� ���W�ZF����C؜?M����B/K����R�"=�\��X�s�-ۧtZڹ���,���|O�H���U8X�p�Η���w>�*�F�+�.�/�!l��#�|W�J��EP��4��K)r�X�Q#�*�M6���yWv����N�s��>�7qo@��;�Ƴ�fd�8�@�͜�I�{�@���h���tL.����tL��2�!	�!6�)�R�)�2g_y�B�Y�S ��͙dm���|��L\!W�#�/�I��u>l��:�����r�oJG���AE�bW
��ж���/S���HhهS4ͫ�i5�==�,��3��$*yO�O��P��-�E�y��-���6���!�����k��ZqH�s�
�������
�f0*� �
>��
�
f�
�����ms�
v��� I�FO, �[�
yF"x���
 �i�
�
=�
�L�(�����AU�0
���@�
�
b�@
���
)��a
!1�
���cv����
�g���4!`�
�f�
���
po:�
p�|{
eN\
��$7
���#
�w�
��e
������
`���
~�
�iZ

���D

��
�vp���
��=
�n��
���y
 u�+
P�
	
���X
�x�\
`�,k
�y�e	
��;�
�p�P

p���
�XSf
�m�

0rE-

��>
�s9t
��Pn
`d�Q	
p�G�
Ў�
 l*4
�Z9U
0�M�	
���u

p�s�
pq��
f�u
���
�o�s
����
|��
��l'
��9�
@i�

��B
Px|V
0��
`�<�

��Y
p�9�
�4!�
лC�
�4!7	
����	
���
���
@YmC
 �<�
pXm�
��
 Z��
�W�Q
@�s&
���
`�As

`���
PvpI
[^	~
z�
p���
����
�h�-
��Qc
�tWy	
�l�
�P�
P���
@�{�
0�4f

�Y2
��	
p�2�
�u~�	
 ��

@��0
�s<�
���K
t��
 h�

0w|�	
��
p�@�
��O�
��C
��|�	
p���
`e�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_failmemchrkrb5_clear_error_messagekrb5_get_default_realmprofile_get_stringkrb5_free_default_realmstrdupprofile_release_stringdcgettextkrb5_set_error_messagek5_oncek5_os_mutex_lockstrerrorstderr__fprintf_chk__assert_failkrb5int_close_plugin_dirsk5_os_mutex_unlockk5_os_mutex_destroykrb5_dbe_free_key_data_contentsmemsetkrb5_dbe_free_key_listkrb5_free_keyblock_contentskrb5_dbe_free_actkvno_listkrb5_dbe_free_mkey_aux_listkrb5_dbe_free_stringskrb5_dbe_free_stringkrb5_db_setup_lib_handlecallockrb5_prepend_error_messagestrcmpkrb5int_strlcpyprofile_get_valueskrb5int_free_plugin_dir_dataprofile_free_listmemcpykrb5int_open_plugin_dirskrb5int_get_plugin_dir_datakrb5_dbe_def_encrypt_key_datakrb5_dbe_def_decrypt_key_datakrb5_def_store_mkey_listkrb5_db_openkrb5_db_initedkrb5_db_createkrb5_db_finikrb5_free_principalkrb5_db_destroykrb5_db_get_agekrb5_db_lockkrb5_db_unlockkrb5_db_free_principalreallockrb5_db_put_principalulog_free_entrieskrb5_unparse_namestrlenulog_add_updatekrb5_db_delete_principalkrb5_db_iteratekrb5_db_mkey_list_aliaskrb5_db_fetch_mkey_listkrb5_copy_principalkrb5_db_store_master_keykrb5_db_store_master_key_listkrb5_dbe_find_act_mkeykrb5_timeofdaykrb5_db_allockrb5_db_freekrb5_dbe_search_enctypekrb5_dbe_find_enctypekrb5_db_setup_mkey_name__asprintf_chkkrb5_parse_namekrb5_dbe_lookup_tl_datakrb5_dbe_lookup_last_pwd_changekrb5_dbe_lookup_last_admin_unlockkrb5_dbe_create_key_datakrb5_dbe_lookup_mod_princ_datakrb5_dbe_lookup_mkvnokrb5_dbe_get_mkvnokrb5_dbe_find_mkeykrb5_dbe_lookup_mkey_auxmallockrb5_dbe_lookup_actkvnokrb5_dbe_get_stringskrb5_dbe_get_stringkrb5_db_update_tl_datakrb5_dbe_update_tl_datakrb5_dbe_update_mod_princ_datakrb5_dbe_update_mkvnokrb5_dbe_update_mkey_auxkrb5_dbe_update_actkvnokrb5_dbe_update_last_pwd_changekrb5_dbe_update_last_admin_unlockkrb5_dbe_set_stringk5_buf_init_dynamick5_buf_add_lenk5_buf_statusk5_buf_freekrb5_dbe_compute_saltkrb5_principal2saltkrb5_copy_datakrb5_principal2salt_norealmkrb5_dbe_specialize_saltkrb5_dbe_cpwkrb5_db_create_policyulog_init_headerkrb5_db_get_policykrb5_db_put_policykrb5_db_iter_policykrb5_db_delete_policykrb5_db_free_policykrb5_db_promotekrb5_dbe_decrypt_key_datakrb5_dbe_encrypt_key_datakrb5_db_get_contextkrb5_db_set_contextkrb5_db_sign_authdatakrb5_db_check_transited_realmskrb5_db_check_policy_askrb5_db_check_policy_tgskrb5_db_audit_as_reqkrb5_db_refresh_configkrb5_db_check_allowed_to_delegatekrb5_dbe_sort_key_datakrb5_db_get_principalkrb5_db_rename_principalkrb5_db_fetch_mkeykrb5_mkey_pwd_prompt1krb5_read_passwordkrb5_c_string_to_keykrb5_mkey_pwd_prompt2krb5_dbe_fetch_act_key_listkrb5_c_encrypt_lengthkrb5_c_encryptkrb5_c_decryptkrb5_c_enctype_comparekrb5_is_permitted_enctype__xstatkrb5_kt_resolvekrb5_kt_add_entrykrb5_kt_closeunlink__errno_locationrename__snprintf_chkstrncpykrb5_kt_get_entrykrb5_kt_free_entryfopenfilenofcntlfreadfclosekrb5_db_get_key_data_kvnokrb5_c_string_to_key_with_paramskrb5_free_data_contentskrb5_c_make_random_keykrb5_c_random_make_octetskrb5int_copy_data_contentskrb5_dbe_crkkrb5_dbe_arkkrb5_dbe_apw_et_listgssrpc_xdr_bytesgssrpc_xdr_arraygssrpc_xdr_intgssrpc_xdr_shortgssrpc_xdr_u_intgssrpc_xdr_enumgssrpc_xdr_boolxdr_kdb_incr_update_txdr_kdb_last_txdr_kdb_incr_result_txdr_kdb_fullresync_result_tmemcmpstrncmpkrb5_lock_filemsyncsysconf__syslog_chkabortgettimeofdaylseekwritegssrpc_xdr_sizeofgssrpc_xdrmem_createulog_replayulog_get_entriesulog_set_roleulog_get_sno_statusulog_get_lastulog_set_lastulog_finimunmapulog_mapmmapkrb5int_labeled_openkrb5_ktkdb_resolvekrb5_kt_kdb_opskrb5_ktkdb_closekrb5_ktkdb_get_entrykrb5_db_register_keytabkrb5_kt_registerkrb5_ktkdb_set_contextlibgssrpc.so.4libkrb5.so.3libk5crypto.so.3libcom_err.so.2libkrb5support.so.0libdl.so.2libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libc.so.6libkdb5.so.9kdb5_9_MITHIDDENgssrpc_4_MITkrb5support_0_MITkrb5_3_MITGLIBC_2.14GLIBC_2.4GLIBC_2.8GLIBC_2.3.4GLIBC_2.2.5k5crypto_3_MIT/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64			
						�j��;*�����> ���	�{ �ґM �)0�`���ii
)ii

3ti	=ui	IZ�@�U,!PR,!R,!0Q ,! ,!0,!��8,!�`,!�,!�,!��,!x��,!���,!��,!���,!
��,!��,!!��,!4��,!=��,!K��,!`��,!��,!��4!��4!��4! ��4!`R�4!,�4!���/!v�/!�/!�/!&�/!,�/!��/!1�/!m�/!��/!t�/!��/!��/![�4!��4!��4!�0! 0!(0!00!�80!@0!�H0!�P0!X0!�`0!}h0!p0!x0!	�0!
�0!��0!s�0!�0!�0!
�0!��0!�0!�0!��0!�0!�0!�0!�0!�0!1!�1!1!1! 1!(1!u01!81!@1!H1!P1!X1!�`1! h1!!p1!yx1!"�1!��1!#�1!$�1!%�1!'�1!(�1!)�1!*�1!+�1!��1!-�1!.�1!/�1!��1!0�1!12!q2!�2!22!3 2!�(2!402!�82!5@2!rH2!6P2!�X2!�`2!7h2!8p2!�x2!9�2!��2!:�2!;�2!<�2!=�2!>�2!?�2!@�2!A�2!B�2!��2!C�2!D�2!E�2!F�2!G3!H3!�3!I3!o 3!J(3!K03!�83!�@3!LH3!MP3!NX3!{`3!Oh3!Pp3!Qx3!R�3!S�3!T�3!U�3!V�3!��3!W�3!X�3!Y�3!Z�3!��3!\�3!]�3!��3!^�3!��3!_4!`4!�4!a4!b 4!�(4!c04!d84!e@4!fH4!�P4!gX4!h`4!ih4!jp4!kx4!���H��H�1� H��t��H����5�� �%�� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!�������%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D��H��dH�%(H�D$1��^� ��t	�=O� tH�D$dH3%(u%H���H�D$dH3%(uH�=�� H��������f.��H�=y� H�r� H9�tH��� H��t	�����H�=I� H�5B� H)�H��H��H��?H�H�tH��� H��t��fD�����=� u+UH�=�� H��tH�=�� ����d������ ]������w������H��dH�%(H�D$1�H�H�� H�D$dH3%(uH������ff.�f�USH��dH�%(H�D$1�H��t!H��f�H�{H�+����H��H�����H��u�H�D$dH3%(uH��[]��H����AWAVAUATUSH��dH�%(H�D$1�H�H�L�?I9�ttI��H��I��H��L)�1�L��I������H��tSH�XH��1�H)�H�����H��t:H��M�}I�I�$�H�L$dH3%(uH��[]A\A]A^A_��1������ff.�@AWAVAUATUSH��dH�%(H�D$1�H�G@H�XL�`H��t=H��I��I��I���H�[ H��t%H�����M��L��L��H��H��A��$`��u�1�H�T$dH3%(uH��[]A\A]A^A_����ff.�UH��SH��H�?dH�%(H�D$1�H��tH�]����H��H�{�H��u�H�D$dH3%(uH��H��[]�������AUATI��USH��H��(dH�%(H�D$1�H�H�t$H�D$�����H�T$H�{8H�5@�L�L$H�
$�I���j�H�t$H��H��A���W�����t#H�L$dH3%(D��uuH��([]A\A]�DH�\$H�����H��H������H��tI�,$�DA�뭺H�5t�H�=��A�#:��b����#:�H��H��1�����x����v���fDSH�=�� H��H�5�� dH�%(H�D$1��h����Å�u*��� ���|��� ��uH�=3� ��Å�uH�T$dH3%(��umH��[É��i����پH��I��H�y� H�81����H�
���xH�5��H�=
��X�H�
���WH�5��H�=���9����@U�SH��dH�%(H�D$1����ueH������Ņ�uVH���tH������H���H���H����H���H���H��tH���H���H���W�H�=� ���Å�uH�L$dH3%(��u_H��[]�@���A����پH��I��H�Q� H�81���H�
����H�5ҡH�=��0�H��� �b�������ff.�@��ATUSH��dH�%(H�D$1�H��t;E1�f�>H��A��1�A��H�L�H��t�T]H��u/H�|��m�H��A9��H�D$dH3%(uH��[]A\�H��1��>�H�������@��ATUSH��dH�%(H�D$1�H��t.I��H��f�H��H�k L������H�����H��H��u�H�D$dH3%(u	H��[]A\��s�����SH��dH�%(H�D$1�H��tH���H���H��H��u�H�D$dH3%(uH��[�����ff.�f���ATUSH��dH�%(H�D$1�H��t.I��H��f�H�sH�+L����H����H��H��u�H�D$dH3%(u	H��[]A\�����SH��dH�%(H�D$1�H��t2H�~H��H��t��H�D$dH3%(u'H��H��[��@H�D$dH3%(uH��[��5�D��ATUSH��dH�%(H�D$1�H��t_I���~2�B�H��H��H�lf�H�;H���4�H�{��+�H9�u�H�D$dH3%(u/H��L��[]A\��fDH�D$dH3%(u	H��[]A\���f���H��dH�%(H�D$1�H�D$dH3%(uH��H�����W����AW� AVAUATUH���SH��hdH�%(H�D$X1���H����L�t$8H��I��H�D$(H�D$0L��H�D$8���Å�tH�t$8H���"�H�|$(��H�|$0��H�5ʜH�=���v�H���H��1��G�L������H�T$XdH3%(���{H��h[]A\A]A^A_�H�T$8H�}8L�L$(H�
M�H�5V�I�������S���H�D$0H�}8H�T$(L�t�I��H�
n�H�D$H�5m��R�������H�|$0��H�t$8I��H���
H���%�H�|$(��H�|$0��H�5�L��������� ��1��%����Å��sL�=|� M��u�]DI���H��tLI��L��L���~��u�A���H�=[� �6�A�ƅ���M�|$L��L�e@�z����D���H�D$0H�D$8L�l$@H�D$H���H�$H���,��L��H���$�H�}8L��H�5�� �������=`ʪ��H�|$0�D$���H�|$8���T$f�H�$H���tH����T$���T$H�<$�T$��H�=j� �E��T$��A������u"E1����f.�����fD��fDL���`�L���X��{���H�L$8H����H�9�u
�f�H��H�GL��H�|��u�H���L�T$H�L$��H�L$L�T$H��I���{L��H��L��L�T$���L�T$M�fo�� H�$H�t$@L��L���AL���L��L��L�\$L�T$�u�L�T$L�\$���#H�T$L��H�5��L���\�����H�|$0H�H���f�8�+:��4�T$��H�|$8���L���)��T$�@�����]��� � ���@H�=�� ���A�ƅ������@D����D��H���I��H�� H�81��}�H�
F���H�5��H�=�����fD����I��I��H�������f.�H�|$0�������H�5\�H�=�����H�� :�H��1���H�|$0� :���������fDL�$�fA����PfA���H�PI���H�HI���H�HI���H�H I���H�H(I���H�H0I���H�H8I���H�H@I���H�HHI���H�HPI���H�HXI���H�H`I���L�@hM���H�HpI��H�HxI��H���I��H���I��H���I�� H���I��(H���I��0L���H�|$M��8L���M��@H���I��HH���I��PH�L$H���I��XH���L��I��`L���H�t$L��hH���H��pH���H��xH���H�|$H���H���H���H��H���H��H���H��H���H��H����M����M����H���qH�|$�NH�|$�M����M�����H�|$0�D$��H�|$8�Y�L�����T$������H�$M��tI���L���I������fDH�!� I��������H�5��H�=����H��":�H��1���H�|$0�":����H�5��H�=͕��H��L�� :�H��1����H�|$0� :����H��FH��0����H��� H�$H��h���H��� H�$H��`����H�CNH�$H�������H�XH�$H��P���H��@H�$H��H�x���H�~� H�$H��@�X���H��JH�$H��8�8������f���AUATA��UH��SH��H��(dH�%(H�D$1�H�G@H��t`H�t$H��L�h�/��u'D��H��H�t$H��A���H�|$�D$����D$H�L$dH3%(u#H��([]A\A]�f������u�H�C@��L�ff.����H��dH�%(H�D$1��H��tH�W@H��t	1�H�:��H�L$dH3%(uH������f���ATI��USH��H�� dH�%(H�D$1�H�G@H��teH�hH���tfH�t$H���*���u#L��H�t$H����H�|$�D$����D$H�L$dH3%(u)H�� []A\�f.������u�H�C@댸�:ǖ���E�D��USH��(dH�%(H�D$1�H�G@H����H�@H�������tH�L$dH3%(ulH��([]ÐH�C@H�h1��q���u�H���E��u�H�S@H�߉D$H�r���H�S@H��H�r�=�H�{@���H�C@�D$�fD1�������ATI��USH��H�� dH�%(H�D$1�H�G@H��teH�hH���tfH�t$H������u#L��H�t$H����H�|$�D$�g��D$H�L$dH3%(u)H�� []A\�f.��[���u�H�C@댸�:ǖ�����D��SH��H�� dH�%(H�D$1�H�G@H��t+H�@H���H��t<H�L$dH3%(uQH�� H��[��H�T$H�4$�����uH�C@H�T$H�4$봸�:ǖf.�H�L$dH3%(uH�� [��5�D��SH��H�� dH�%(H�D$1�H�G@H��t+H�@H���H��t2H�T$dH3%(uAH�� H��[��t$�G���uH�C@�t$뾸�:ǖ@H�L$dH3%(uH�� [���D��SH��H��dH�%(H�D$1�H�G@H��t+H�@H���H��t*H�T$dH3%(u9H��H��[������uH�C@�Ƹ�:ǖ@H�L$dH3%(uH��[���ff.�f���ATUSH��dH�%(H�D$1�H����H��H�v8I��H��t"H�G@H����H�@H���H��toL���H�u@L��1��<�H�}H��f�}.~#@H��L��H��H��HuP����E.9��H�}P��H�D$dH3%(uYH��H��[]A\��H�����fD��H�u8��u�I�D$@�Z���f�H�D$dH3%(u	H��[]A\���f���AWI��AVAUI��ATUSH��8dH�%(H�D$(1�H�G@H���KH�@H�D$H���H���rI�_HH���=E1�E1�1��I��H�H����f�{�u��C
H�S�|����E��L��Hc�D$H��H���"�H����H�SH�D(�H�T(�H�+M��tI�,$fA�o,H��H��H�D$�e�H�D$�l$I��H���w���H�D$L��L��L�����M��tL����H�L$(dH3%(����H��8[]A\A]A^A_��I�oH�|�����M��u��@���f�����Å�u�I�E@���@H�L$(dH3%(u"H��8L��L��1�[]A\A]A^A_��:ǖ�Y����1����AUI��ATI��USH��H���dH�%(H�D$1�H�$H��t�;tc1�L��L������Ņ�u I��$�H��t�8��f.��H���s���H�L$dH3%(��H��[]A\A]�f�H�[H��t��X���S�H��H��t�H��L��L���M]�Ņ�u�I�u@H��L���H��Ņ�u�H�<$H�{�����=���fDH�x�]���H��L��������K�����fD��SH��H�� dH�%(H�D$1�H�G@H��t+H�@H���H��t4H�T$dH3%(uAH�� H��[��H�t$����uH�C@H�t$뼸�:ǖf�H�L$dH3%(uH�� [��u�D��UH��SH��H��dH�%(H�D$x1�H�D$�?�����uH���H��t�:tH�L$xdH3%(utH�Ĉ[]�H�zt�H�T$H��H�������u�H�l$ 1��H���H�H�|$H�|$(�4��H��H���D$P�D$ ���H�|$�D$����D$�|���������SH��H��@dH�%(H�D$81�H�G@H��tKH�@H��H��tpH�T$ H��H��1H�L$(H�L$ ��H�|$8dH3<%(uLH��@[�f.�D�D$H�L$H�T$H�4$����u�H�C@D�D$H�L$H�T$H�4$뀸�:ǖ�����ff.�@��H��dH�%(H�D$1�H�G@H�@H�T$dH3%(uH������fD��AUATI��UH��SH��H��(H�W@dH�%(H�D$1�H��tpH�zL�j��H�L$L��H��H��A��8��t H�|$dH3<%(utH��([]A\A]�DH�S@H�߉D$H�r�4�H�S@H�L$�D$H�J빐�k����u�H�S@H�zL�ju��H��H��H���A�����h����|������ff.�@��SH��H��`dH�%(H�D$X1�H�G@H��t[H�@H��@H�����Ao�L$HH��H�D$PI�HM��)D$0H�L$@H�L$0��H�|$XdH3<%(uSH��`[�@L�L$(L�D$ �L$H�T$H�t$�����u�H�C@L�L$(L�D$ �L$H�T$H�t$�c����!:������f���SI��H��H��0dH�%(H�D$(1�H�G@H��t8H�HL��@M��tvH�HH��tLH�D$(dH3%(udH��0H��[A��@H�L$H�T$H�t$������u H�C@L�D$H�T$H�t$뛸
:�fDH�|$(dH3<%(u
H��0[ø!:����&��fD��AVAUI��ATUH��SH��dH�%(H�D$1�H����H�G@I��H�x��H��H�t$���A�ƅ�uH�T$�
D9PwH��H�H��u�I�L$@�[H�QH��tUH��;ZuD�H�EM��tA�]H�|$dH3<%(D����H��[]A\A]A^��9Xt�H�@ H��u�H�qL�������u*I�D$@H�@H��u�f.�H�@ H��t;Xu��A�:����E1�H��h���A�
:��]�������ff.���H��dH�%(H�D$1�H�D$dH3%(uH��H��H���i�����@��H��dH�%(H�D$1�H�D$dH3%(uH��H������W�����USH��H��8dH�%(H�D$(1�H�G@H�l$PH��t5H�|$(dH3<%(u|H�@H�l$PH��H��HH��8[]��f.�D�L$D�D$�L$H�T$H�4$�D����u H�C@D�L$D�D$�L$H�T$H�4$�H�|$(dH3<%(uH��8[]����@��H��dH�%(H�D$1��D$H�D$H��AQE��A�ȉ�H���E��ZYH�T$dH3%(uH����9��f���AUI��M��H���ATL���I��UH��S�H��dH�%(H�D$1�H��H�l�H��HD�1�H���S����x"H�4$L��L�������Å�u
H�<$H��t!H�}H�L$dH3%(��uH��[]A\A]����������@��H��dH�%(H�D$1�H�FHH��t�Jf;Hu�;f9Ht2H�H��u�1�H�Bf�B
1�H�|$dH3<%(uH���D�oH�@H�B�����f���SH��H�� dH�%(H�D$1�H��f�D$�����uf�|$
t&�H�L$dH3%(uH�� [�f.�H�T$���������SH��H�� dH�%(H�D$1�H��f�D$�2����uf�|$
t&�H�L$dH3%(uH�� [�f.�H�T$����� ����SH��H���v.H�{PdH�%(H�D$1���Hc�H�����H��t8H�S.H�CPf�H��H�@1�f�C.H�L$dH3%(u
H��[ø�����@��ATI��UH��SH��H�� dH�%(H�D$1�H���H��f�D$�,����u,�D$
f��v=H�t$�|�u1�H��H��H��A�$�\��H�L$dH3%(uH�� []A\��	:������@��SH��H�� dH�%(H�D$1�H��f�D$�����u�T$
f��t,f��u.H�T$��H�L$dH3%(uH�� [�fD��ܸ	:������@��USH��dH�%(H�D$1�H�G@H�XH��tnH��H�T$�����u=�T$1��������uIf��S9�s�ѾH�[ H��u�@�������DʉMH�|$dH3<%(uH��[]�@�U��
:�������ff.�@��USH��dH�%(H�D$1�H�G@H�XH��tOH��H�T$�����u�T$@9St+H�[ H��u�:�H�L$dH3%(uH��[]�fDH�]�ݸ
:����N��ff.���AWAVAUATUSH��HH�T$�
H�|$dH�%(H�D$81�f�T$(H�T$ ����A�ƅ���L�l$0M���WA�]f���Y�D$*f��	��H�D$I�]E1�I��@M�<$M��I9�����0�q��I��H�����H��A�G�C�fA�G�C�fA�G�k�H��fA�o�g��I�G H����H��H��H��H��y���I�fA�GM���o���L�|$�i���A�	:��H�L$8dH3%(D����H��H[]A\A]A^A_�f�H�D$H�L$H��ɐH�t$H�|$A��+���f�H�t$H�|$A����L������뉐H�D$H��w����H�5�|H�=e}A�:��1��H�|$�˾:�H��1��Z���=����@����AWf�AVAUATUSH��H��8H�$H�T$H�|$dH�%(H�D$(1��	)D$H�D$ f�D$����Ņ���L�|$ M����A�f���)�D$f���S��I��E1�E1�H��E1�H���������H��H��H�����A��I�I��I��D9�v:���F��H��tYA�7�pA�w�pM��u�A��I��I��I��D9�w�H�$L� H�L$(dH3%(����H��8[]A\A]A^A_��H�|$L�������@H�C.f����H���HCP�X�����I��H��tH��@�XH�$L� �s�����i����H�5{�:�H�=~{�P��H�|$�˾:�H��1��y���0����	:��&����:������K��ff.���AWH��AVAUATUSH��xH�|$(H�T$0H�L$8dH�%(H�T$h1�H���f�D$XH�D$PH��H�$H�D$@����D$$����H�D$`�T$Z1�E1�E1�1�H�D$@H�H�D$H�D$HH�D$H�D$@H�D$�]�H��L��I��I��L���J��I��H����H�|$H���H�|$PH�����I��H��toH��tjK�D/�M��H�(L�`H�$H�T$�\$ H�t$H�|$������u�H�D$0L�0H�D$8�H�T$hdH3%(�D$$uFH��x[]A\A]A^A_�f�M��H���%��L������T$ H�|$(L������D$$����ff.�f���AWH��AVI��AUATUSH��HH�L$H�l$ H��dH�%(H�L$81�H��H�D$f�D$(���A�Dž�uKH�\$0�D$*L�l$L�d$H�\$H���H�|$L���3����t?H��L��H��L�������u�H�T$8dH3%(D��u7H��H[]A\A]A^A_��H�|$ �v��H�L$H��H��DD�����ff.���AVAUATUSH��H�nHdH�%(H�D$1�H��tNI��I����H���f.�H��H��H��t,H�f9^u�I9uHtFH�EL�6L�����fA�m,L��H��u�1�H�L$dH3%(u H��[]A\A]A^�f.�I�EHH�������f���AVI��AUI��ATUH��SH���y
dH�%(H�D$1�����H����I���Ef=�thI�]H��u�]DH�H��tPf;Cu�H�{�����EL��f�C�U
L�cf�S
H�u���1�H�L$dH3%(uUH��[]A\A]A^�f������H��H��t I�EI�]fA�H�����L���Q�������D��H��dH�%(H�D$1�H�D$dH3%(uH��H��H�VHH��,�t�����ff.�@��AWAVA��AUI��H��ATUH��SH��HdH�%(H�D$81�H�T$H�D$�_����t+H�\$8dH3%(��H��H[]A\A]A^A_��L�|$L������xD�`�'��H��H��t_D�3�H�{D��f�D$(L��A�D$f�D$*H�\$0�$��H�T$ L��H���d��H�|$�D$���H������D$�Z���DL�������C������f���H��8dH�%(H�D$(1�f�T$&H�D$&H���D$H�D$����H�L$(dH3%(uH��8��?��ff.�@��ATI��UH��SH��H�� dH�%(H�D$1�H����f�
H�п)$H�D$f�L$��P�|f�|$
H�H��u�������H�D$H�����H�Hf���H�H��tK�CH��f�A��Cf�A��Cf�A��Cf�A��Sf��t�H�s H�����H���CH�H�H��u�H��H��L������H�|$���{��H�t$dH34%(��u H�� []A\ú
�f�����@�������@��ATUSH�� dH�%(H�D$1�H����f�H��I��)$H��f�L$
���H��H�D$H������f��fD�t$
H�|$��f�t$
���6��H��ti�T$
H�D$H�D��Sf��S�PH�H��u��	H��H��L��f�D$���H�|$���i��H�L$dH3%(��u>H�� []A\�fDH�|$��9�������f�������@��H��8dH�%(H�D$(1��T$$H�D$$H���D$H�D$���H�L$(dH3%(uH��8��p����H��8dH�%(H�D$(1��T$$H�D$$H���D$H�D$����H�L$(dH3%(uH��8�� ����AWf�A�AVAUI��ATI��USH��H�|$H�t$ dH�%(H��$�1�H�D$P)D$pH��)�$�H�D$8fD�D$XH�D$(����Å���H�D$`�T$ZH�l$pL�|$HH��L�t$@H�D$8H�H�$���H�D$8�D$H�D$�H�4$H�|$L��L���������H�\$@L��H���T����u@�D$M��t�H���{��H��H��H�P���L���d��L��H��H�P����H���H��H��H��H�P���H�\$HH���,��H��H��H�P�m���X�����L$��u3M��t.L�����L��H��H�P�<��L������L��H��H�P�%��H��������uLH��$��-:�H=��w/�H�t$ H�|$f�D$Zf�T$XH�T$xH�T$`H�T$(�����H������H��$�dH3%(��uH�Ĩ[]A\A]A^A_�����ff.����SI��L��H�� dH�%(H�D$1�f�>~{�V�:�f�I�f��wDH�
[pHc�H�>��H�D$���H�$����H����fo$H�1�H�\$dH3%(��H�� [�@1�f�I�H��L�������t����V
H�FH���$���T$L��H�D$����I�qL�������f.�H��L��������O����j����H�|$������N���������AWAVAUATUSH��(dH�%(H�D$1�H����H��H����f�~.��I��L�|$L�t$E1��j@H�EPH�f�8~H�x���H�EPHغA��f�PH�D$H�UPH�HH�L�@�H�UPf�D
H�EPf�H�|$�9���fD9e.~RI��H�uPH�U@M��H��L��L��H�衾�����q���H�L$dH3%(u(H��([]A\A]A^A_�f.�1���@����|��ff.����ATUSH��H��0dH�%(H�D$(1�H�G@�l$PL�d$XH��t?H�|$(dH3<%(��H�@L�d$XH�߉l$PH��PH��0[]A\��f.�D�L$L�D$�L$H�T$H�4$�T����u H�C@D�L$L�D$�L$H�T$H�4$�H�|$(dH3<%(u	H��0[]A\����f���SH��H�� dH�%(H�D$1�H�G@H��tkH�@H��H��twH��Ѕ�uH���H��t�:tH�L$dH3%(uTH�� [�H�zt�H�D$dH3%(u4H�� H��[鄻��@H�t$�v����u�H�C@H�t$�y�����:ǖ�������SH��H�� dH�%(H�D$1�H�G@H��t+H�@H��H��t<H�L$dH3%(uQH�� H��[��H�T$H�4$����uH�C@H�T$H�4$봸�:ǖf.�H�L$dH3%(uH�� [��E���D��SH��H�� dH�%(H�D$1�H�G@H��tkH�@H��H��twH��Ѕ�uH���H��t�:tH�L$dH3%(uTH�� [�H�zt�H�D$dH3%(u4H�� H��[�$���@H�t$������u�H�C@H�t$�y�����:ǖ�舿�����SH��H��0dH�%(H�D$(1�H�G@H��t+H�@H�� H��t[H�|$(dH3<%(ucH��0H��[��H�L$H�T$H�t$�����u*H�C@H�L$H�T$H�t$H�@H�� H��u�D1�H�|$(dH3<%(uH��0[��Ӿ����SH��H�� dH�%(H�D$1�H�G@H��tkH�@H��(H��twH��Ѕ�uH���H��t�:tH�L$dH3%(uTH�� [�H�zt�H�D$dH3%(u4H�� H��[鴸��@H�t$覿����u�H�C@H�t$�y�����:ǖ��������SH��dH�%(H�D$1�H��tBH�~H���6���H�{@�-���H�{P�4��H�D$dH3%(u*H��H��[�����H�D$dH3%(uH��[�蕽��D��ATI��USH��H�� dH�%(H�D$1�H�G@H��teH�hH��XtfH�t$H��������u#L��H�t$H���XH�|$�D$�w����D$H�L$dH3%(u)H�� []A\�f.��k�����u�H�C@댸�:ǖ�����D��AVAUM��ATI��UH��SH��H�� dH�%(H�D$1�H�G@H����H��tBH�L$dH3%(��H�@M��L��H��H��H��`H�� []A\A]A^��f�H�xt�L��L��H��H������A�ƅ�tH�C@H�PH��tH�pH��������tDH�|$dH3<%(D��u^H�� []A\A]A^�@H�t$�f���A�ƅ�u�H�C@H�t$�:����H�D$dH3%(uH�� L��L��H��H��[]A\A]A^�3���讻��ff.���SH��H��@dH�%(H�D$81�H�G@H��t+H�|$8dH3<%(uyH�@H��H��hH��@[��fDL�L$(D�D$$H�L$H�T$H�t$袼����u&H�C@L�L$(D�D$$H�L$H�T$H�t$��H�|$8dH3<%(uH��@[����ff.�f���H��dH�%(H�D$1�H�G@H�H�H���%
:�H�T$dH3%(uH���虺��f���H��dH�%(H�D$1�H�G@H�0H�T$dH3%(u1�H����U���D��AWAVAUATUSH��H��HH��$�L��$�dH�%(H�D$81�L��$�L��$�H�EH�G@L��$�D��$�L��$�H��tzH�@H��pH����H�|$8dH3<%(��H��$�H��L��$�L��$�L��$�L��$�L��$�D��$�H��H[]A\A]A^A_���L�\$(D�T$$L�L$L�D$H�L$H�$�t$ 貺����u6H�C@L�\$(D�T$$L�L$L�D$H�L$H�$�t$ �2�����:ǖ�H�|$8dH3<%(uH��H[]A\A]A^A_����@��SH��H��0dH�%(H�D$(1�H�G@H��t+H�@H��xH��tHH�|$(dH3<%(uYH��0H��[��H�L$H�T$H�t$�����u H�C@H�L$H�T$H�t$머�:ǖfDH�|$(dH3<%(uH��0[��=���ff.�f���USH��H��HdH�%(H�D$81�H�l$`I�H�EH�G@H��t6H�@H���H��tgH�|$8dH3<%(u}H�l$`H��HH��[]��fDL�L$(D�D$$H�L$H�T$H�t$������u.H�C@L�L$(D�D$$H�L$H�T$H�t$뉸�:ǖf.�H�|$8dH3<%(uH��H[]��T���@��SH��H��@dH�%(H�D$81�I�I�H�G@H��t-H�@H���H��t^H�|$8dH3<%(usH��@H��[��L�L$(L�D$ H�L$H�T$H�t$�B�����u.H�C@L�L$(L�D$ H�L$H�T$H�t$뒸�:ǖf.�H�|$8dH3<%(uH��@[�腶��D��ATUSH��H��@dH�%(H�D$81�H�G@�l$`D�d$hH��t_H�@H���H��t/H�|$8dH3<%(�D�d$hH�߉l$`H��@[]A\��DH�D$8dH3%(uTH��@[]A\��L�L$(L�D$ H�L$H�T$H�t$�B�����u�H�C@L�L$(L�D$ H�L$H�T$H�t$�]���觵�����SH��H��dH�%(H�D$1�H�G@H��tKH�@H���H��tH�T$dH3%(u:H��H��[��H�D$dH3%(uH��[�f.�蛶����u�H�C@�����ff.����SH��H��0dH�%(H�D$(1�H�G@H��t+H�@H���H��tHH�|$(dH3<%(uYH��0H��[��H�L$H�T$H�t$������u H�C@H�L$H�T$H�t$머�:ǖfDH�|$(dH3<%(uH��0[��m���ff.�f���AUL�o ATA�USH��dH�%(H�D$1�H����fDL��L��f��Hf9H�s\�o@��(f�H�H�� �oH�X$D�X&D�P(f�(D�H*L�@0@ H�x8f�XH0fD�XfD�PfD�H
L�@H�xH��u�I��I�� L9������H�D$dH3%(uH��[]A\A]�艳��f���UH��SH��H��(dH�%(H�D$1�H�H�G@H��tPH�@H���H��t_H��H��Ѕ�uH�H�zPH��tH�r.�$�;����$H�L$dH3%(u.H��([]Ð�T$H�4$�c�����u�H�E@�T$H�4$둸�:ǖ���ղ��D��AUI��ATUH��SH��H��dH�%(H�D$1�H�G@H���|L�`H�qI9�$�tH���H��t�:tFH�� H��H��������tQH��L��H��A��$�H�L$dH3%(uCH��[]A\A]�H�z��:ǖu��f�苳����u�H�C@�r���H�4$H���b����:�����fD��AWAVAUATUSH��H�$H��H�$H��f�L��$� L��$� L��$� H�t$I��dH�%(H��$x 1��D$$ )D$PH�D$`����A��1�E����H�� H�\$pL�D$$L��H��D�\$H�0�����Ņ����D$$M��H�\$8D�\$�D$4�?H�T$0M��L��D��L��������M��tA�$����1�H�߹�H�D�d$XH�\$`H��tM����H������H��$x dH34%(���5H�Ĉ []A\A]A^A_�fDH�� H��!����H�G@H����H�@L��H�T$PM���D$T�H�t$L����0D�d$X�Ņ�t+H�\$`�b���f�L��1�H���s����U���fDM��H�\$`M��u{���ܰ��H���+I�EH�D$PE�uI�E����DH�L$@H�t$L��D�\$H��H�L$�)���H�L$D�\$����tIf�D�d$XH�\$`����L���c���H��H����L��H��H��話��I�E�q���H�T$0M��D��L���]�����M����A�$����H�t$1�H�L$(L���©����unH�t$(f�~.��H�FP�@A�$L���Z����P�L�L$�V���L�L$�����7���I�G@�[���fDI�E�����fDA�$M��������H�|$H�ޫ�����f�A�$�q����n���ff.���USH��(dH�%(H�D$1�H��taH��H�L$1�H���Ϩ��=:�tO��tH�T$dH3%(uBH��([]�DH�t$H��H��般��H�t$H�߉D$�G����D$뽐�뵸:���ͭ��ff.�f���UH��SH��H��dH�%(H�D$1�H��tH�~PH��t
H�v.訯��H�D$dH3%(uH�}H�EH��H��[]���`�����AWI��AVAUI��ATI��UH��SL��H��hD�D$dH�%(H�D$X1�fA�9~"E1�J�|��f���J�D��I��D9��H�L$L��f��D$f�C�UA�u�̫��A�ƅ�t-H�L$XdH3%(D���H��h[]A\A]A^A_��L�t$I�~誨��H�����UH�CL�L$0H��L�D$ 1�L��L��f�SA�Vf�S�UD�t$Df�P��T$$H�UH�D$HH�T$(1�����A�ƅ�ulM���^���fA�?�S���f�A�f�CA�Gf�C
f���6���A�����H�CH��t7A�WI�wH���)�������@A�����DH�{�������H�{A���������詫��f���AWAVAUATUSH��XdH�%(H�D$H1�H����H�BH��I��L��H����D� �fE����I���zH��I���D$$���H�D$8�|$4�|$�1���H�D$H����1�1�L�L$L��L�D$ L��躭������H�|$D;d$�A�E���CE�eA�EI�}1�H��tf�;tm1�H�Ef�E�EH�t$HdH34%(����H��X[]A\A]A^A_�H�{tI�}�ç��I�EA�E��f��Cf�E�C
�E��u-H�E�H�|$�D$�r����L$�q���f�D��L$L�������L$H��H�E�l���H�sL��H�ljL$�����L$�+����:��!���������:ǖ����赩��D��AWI��AVE��AUATU��SH��XH��$�H�<$H�T$ D�D$H�D$8dH�%(H�D$H1�������D$�v.D!ȃ���fE���]H�D$ D�(A9��������D�d$Ic��D$4�D$H���D$0H�D$DA��H�D$(A��H�D$D�d$M��E��I��I�D$P1�L�f�8~�X���t �PH�L$��H�<$�ۣ����uf�t$D��t^�|$t1�;\$uOI�T$PL�E��x�J1�D9�u7�rH�<$�[�������I�T$PL��B;D$~H�T$(�D$D�|$01�A�T$.A��I�� D9��R����|$���H�D$8H�L$(H�t$ H��D$0���1�H�L$HdH3%(��H��X[]A\A]A^A_������I�OP�V�E1�H��H�AH�L"f��A9�DL�H�� H9�u�H�D$ D�(A9��h����:��D�D$4�0������Y�����t(A�w.E���"����z���f�H�\$ ���u�T$4��t
�:��1������&����E1�����)���f���AWAVAUATUSH��H�$H��dH�%(H��$�1�I��I��I��H�D$H��H�D$H���%L�|$PH�޿L���@�����x�D$h%�=��8H�|$H�پ1�H��S����Ņ��;H�D$L���H��H��H�$�����������5H�t$H�T$L��蓨���Ņ���H�t$M���L�|$ �	@H�t$f�L��L��A)A)GA)G L�l$(�AoL$8I�FH�D$HA�F�D$4�N���M�v ��M��t��t�H�t$L��T$�N����T$����H�<$����T$��H�|$H��t�Ѣ��H��$�dH3%(����H��[]A\A]A^A_�fD����(��u������H�5�QH�=P����L��H��1��!����|���@L��蠣��H�<$H��蔧�����\���臤��Hc8H��謡���H�5�QH�=�OI��葤��H�$M��I��H�‰�L��1�踢������H��$�H���rL�
�P�L�	P�H�߾���XZ���D��&����H�5�PH�=<OH������I��H�پH��L��1���.������f��H�5�P�H�=�N�ã��H�$�L��H��1�����H����ӣ����AWAVAUATUSH��H�$H��hH�4$H��H��I��L�d$PdH�%(H��$X1����M�����L��L��螤��L�t$L��H��Ƅ$PH�D$L��誥��A�Dž����C=�DE�1�M��tA�MH�D$ H�$E��H��H�t$I��H�D$臣��A�Dž����{�u�D$<�C�T$@����SM��tA�M��u�D$4A�E���x��董��H����H�CH�t$H������H�t$H��t
H���%���DH��$XdH3%(D����H��h[]A\A]A^A_�@H�t$H��tH���ޠ��A���:ǖtMc��`L��H�5�O�A���I��H��tBH���1�������1��N���L��L����	���H����L�����I��:�L��A�:�蒞���H�5�NH�=�LH���w���H�پ:�H��H��1�袟���
���DH���L��H�D$L�
{M�L��L�p1����^_���fDA�ԿL�l$HL������H��H���L��L��H���Y���H�C�l����C�T$=�t!9�t L��I��:��������f��SH�|$ L������H�������T$ �B��S=�w�A��L��谜��H�CH���L��L��H��蠟���SH9���H�KH����H�{A�:�訝��H�CM���h���A�E��uA�EL���?���E�����������H�CH�t$H��苡��H�t$H��tH��A�蓞������fDA����DH�t$H��I��:��D���H�t$H�����H���N����t���E1�M���V���L��襠������L��A�蒠�����H��1��Ù��H�������f���fD��AWAVAUATUSH��H��XH�L$dH�<%(H�|$H1�H�D$(H���f�I��H�L$ 1�H��)D$0L�d$0H�D$@蛙��A��=:�������H�t$ f�~.�]H�VP�BA9G��H�T$(H���֜������H�l$(H��u���H�mH����E1�H�UL��L��H���6�����uھ�(�C���H��H�D$H�D$ H��H����H�PPfoL$0L�w �R�WH�T$@H�Wf�x.��A� ��U�L�XPE1�L��H��M�L��L�\$賜��L�\$����I�A�S��I�� �PH�D$ M��P.M�q 9��<I�H��u��(躙��I�H���[f�H�@ @H�D$ I��n���fDH�D$A�:�H�����H�t$(H���Ě��H�t$H���Ǜ��H�\$HdH3%(D���H��X[]A\A]A^A_ÐH�t$ A��H�D$�DA��E1�L��L��H��诛�����u���H�t$ ����D�H�5�IH�=�GA�:�芜���:�H��H��1�踚��H�t$ H�D$�,���DA�����DH�t$H�|$H�>H��H���Ȗ��H�t$(H���˙������fDH�t$ A������H�t$ A�����A�:�����#�����AVAUATUSH��dH�%(H�D$1�H�$H����I��H����H�� I��H���p���H�4$�Å�t.H������H�T$dH3%(��ucH��[]A\A]A^��H��萖��H�4$�Å�u�L�v@L�n@H�����H�4$��L�v@��u�L��H��蝖��H�4$���D���D���@��H��dH�%(H�D$1���~D�F�H�JH��H�t"1�f��9�L�H�� H9�u�H�|$dH3<%(uH���f.�1����ך���AWM��AVA��AUE��ATI��USH��H�����$ H�4$L�D$0H��$(E1��D$8�u.dH�%(H��$�1�H�EPfD�E.H�EPH��f�t$>�t$H�D$������D$@��D9�DM�A��DD�M���zH���H�D$pH�}GH�D$xE����A�F�D�l$DE1�H�D$ H��$�H�D$(H��$�H�D$H�D$\M���
A�F�M��L�|$\I�D�H�D$�(f��t$\��tC�D�A9E�qI��L9l$��C�4�A�UL��H��藔����t�H�MPA���U.H��t:f��~-��I��I��H��L�d @L��H��I�� �y���M9�u�L��H���y����D$>f�E.H�D$H�EP�#f�H�E@H��$�H��H�p�����u�H��$��o�$��+���E1��L�l$0L�D$L������L�l$hC�4�H�߉D$dH�D$(H�T$`L��$�L�D$M���D$`��H�H������oD�D$DH�L$(H��M��H�4$L���ϓ��H��$�H��t
�D$處���D$H��$��D$脕���D$�������I�FL9t$ t
I���:���D�D$8�������DD$@A�ŋD$����H�|$��L��$�H��H�D I��H�D$ H��$�H�D$H��$�H�D$(DE��tA�FA9���H��H���ڗ����u]H�E.H�UPf�E1�H�4$L��H��H��L�|�L��AAG����f���VL�D$1�L��L��H��������A��H�|$t/L�d$D�l$1�f�L��H�߃�I�� �>���A9��H�|$�?���H��$�dH3%(D����H���[]A\A]A^A_�H��H���������:���H�E.H�MPH��L�|�C�D���f��$�f����H�
�CHc�H�>��E1�H�|$�r����D$���7����W���E�FH�L$M��L��H�4$H��褑��L��H�߉D$8�U���H�t$(H���H����D$8�����I�� L9t$ �U���E1�����D�AoL��H��I�� A�AoV�AWAF�AF���L9t$ �����fDA�F�E1�H�D$(E�������H��$�D�l$DM��H�D$0I�D$H�D$ H��$�H�D$DŽ$�M��tOH�|$ A�E�M��L�4��D��$�����I��M9�t C�4�H�L$H��A��<�����t����H��H���U����������H�E.H�UPH��C�4�H��L�t�H�T$0芖�����_���L�|$0D�D$DM��1�H�4$H��L���$���L��H�߉D$H�Ֆ���D$H���&���I�EL;l$(�z���I������f�H���L��$�H��$�H��H��$�L��$��N���������������H���;H�HI�}fDA�UI��H���փ�@����@��@�Q�@�q�L9�uعH��$�E1�f��$�H���H��$����f�H�u@H�T$HH���_������4���E1������DŽ$�E1�HDŽ$����f�H�u@H�T$HH���ϓ����t����fDH�E@H�T$HH��H�p�����������L�D$p�Y���f�E1�H�|$��������H��$�A���L���H�MP���A�H�MP�x����ߒ��A�:��h���@��H��dH�%(H�D$1�E���AQDE�E1�APE1�����ZYH�T$dH3%(uH���聒�����H��E1�dH�%(H�D$1�APE1�j���ZYH�T$dH3%(uH����=���ff.�f���H��A�dL�%(L�\$E1ۋD$ ��AE�L�\$dL3%(u
�D$ H���������D��H��dH�%(H�D$1�AQE1�j���ZYH�T$dH3%(uH���蠑����SH��dH�%(H�D$1�H�H����H�PH�
�o H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�O���H��t2H�Co H�H�PH�H�D$dH3%(u%H��[��H�=Hx u�H�7x �H������ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�q H������裐����H��H����H��dH�%(H�D$1���������H�L$dH3%(u��H����U���D��H��L�
�H����dH�%(H�D$1�H��A�(�j�������H�L$dH3%(u��H���������H��dH�%(H�D$1��ӌ������H�T$dH3%(u��H���豏�����UH��SH��H��dH�%(H�D$1�苌����tgH�sH���{�����tWH�SH�s�����H��L�
p���A�襎����t1H�SH�s �����H��L�
����A������������D1�H�L$dH3%(uH��[]�����f���UH��SH��H��dH�%(H�D$1��ۋ����tH�sH���+���������H�T$dH3%(uH��[]�觎�����UH��SH��H��dH�%(H�D$1��ۏ����tH�SH�s�����H������������H�L$dH3%(uH��[]��>���ff.���H��dH�%(H�D$1��s�������H�T$dH3%(u��H��������UH��SH��H��dH�%(H�D$1��+�����tH�sH������������H�T$dH3%(uH��[]�藍�����UH��SH��H��dH�%(H�D$1�������u1�H�L$dH3%(uIH��[]�fDH�SH�s�����H��L�
1���A��v�����t�H�s H��������������������H��dH�%(H�D$1���������H�T$dH3%(u��H���������UH��SH��H��dH�%(H�D$1������tW�;H�s��H�
q;Hc�H�>���L�
���H��A�H����H��H��蜋��������@H�T$dH3%(��H��[]�DH���x�����������fDH���`����������fDH���X����������fDH���0����������fDH��踌���������k���H��L�
M���A��3���f�H��L�
���A�(����f.�H��H����H��H����������������G������H��L�
q���H����dH�%(H�D$1�H��A�0�Z�������H�L$dH3%(u��H���������UH��SH��H��dH�%(H�D$1�������u'1�H�L$dH3%(��H��[]�f.�H�sH���T�����t�H�sH�������t�H�s H���$�����t�H�s0H���T�����t�H�s4H���D�����t�H�S8H�s@�����H��L�
����A��n������_���H�SHH�sP�����H��衊���������?������ff.�@��H��L�
Yk H����dH�%(H�D$1�H��A�X�������H�L$dH3%(u��H���舉�����H��dH�%(H�D$1�蓉������H�T$dH3%(u��H����A������UH��SH��H��dH�%(H�D$1������tH�sH������������H�T$dH3%(uH��[]�������UH��SH��H��dH�%(H�D$1������u1�H�T$dH3%(u3H��[]�fDH�sH�������t�H�s H�������������m���ff.�f���UH��SH��H��dH�%(H�D$1��{�����tH�sH�����������H�T$dH3%(uH��[]������ATUH��SH��dH�%(H�D$1������v%H�H�D$dH3%(uIH��[]A\�D��z��I��蹃��I��H�EH��tlj݅�uA�(�H��L��H��貈��I�����x����AVAUI���(ATI���USH��dH�%(H�D$1�����H��H����I�MA�UH�sH�{�@ I�mH�@A�E H�C�C$���H�{��A�}�I�����H�CH����E����1��
fDH�C�у�H��H�DA�E9�w�C ��~[H�CE1��f�I��H��D9s ~B�UM��I��B�(H�{H�M�UL�H�wH���Y���H�CJ�|(u�H��L��1��Ѕ��H�t$dH34%(H��uH��[]A\A]A^��C ������f�AWHc�AVAUL�,RATI��USH��H��8Ln(dH�%(H�D$(1��G$A�E(�WL�gA�UM�����H���ˁ��I�EH����H��L��H������C A�EHcC H�<@H��蘁��H�D$I�E H���HcC H�|$1�H�@I��H�����E���2H�L$A�F�H�@L�aH�T�(L��f�H�H��H9�u�H�[H�l$E1��?f�H��H�T$����H�T$H�t$H��H�EtMH���(���A��H��H��E9�����EH�s�SH��H�t$�Uu�H�E��I�E����E��t1A�G�H�L$H�@H�\�(@I�<$I���ˁ��I�D$�I9�u�H�|$賁��I�E I�}袁��I�E�H�L$(dH3%(u H��8[]A\A]A^A_�fD1��׸��������AWAVAUATI��USH��H��H�|$0�dH�%(H�D$x1��D$d����H�C(H���F�P����I��H���0I�t$@H�|$01�H�L$p�5~����t=:��~=:��;1�f�A��H��H��u��D$H�D$dL�t$1�E1�H�D$8H�D$hA�����H�D$@fDH�D$�<��!��H�
W2Hc�H�>��DfA�|$.��A��Ic�L�@H�C(I��B�	H�C(M��A�T$.B�TI�D$.H�S(H�<�L�H��H�T$�~��H�T$H�BH�C(J�L0H���fA�|$.��H�l$XI�T$PH��H�D$HD�l$PM��D�|$TM��I��H�D$HI��H��I��L��B�"L��L�L$��I�F(I�UPJ�D8B�T"B�TI�F(I�UPJ�D8B�"B�TI�F(I�UPJ�D8B�"B�TI�F(J\8I�EPJ�< H����}��L�L$H�CI�F(J�\8L�H�{�-I�EPL�L$J�< H���}��L�L$H�C I�F(J�t8J�| ��I�UP1�J�"f�8��M��M��M���A�I�@PL�D$H��L��ThH�t�聃��L�D$I�PPJ�*�09���I�V(J�t:Hc�J�T&H��L�D$�DhH��H��H�L$(��I�F(I�pPJ�D8J�T  H�D-H�A�t5�4
I�V(I@PJ�T:J|" H�|$ A�|��|��H�T$ H�L$(L�D$H�BI�F(J�D8J�D  H�|H���(���L�t$L����}���H�\$xdH3%(��H�Ĉ[]A\A]A^A_�I�D$@�x ��~DA��Ic�H�@H��HC(�I�|$@H���ID��H����������f.�H��9l$����L�t$A��L���1}��D�k 1��`���fDH�T$8H�|$0L���^�����u&A��H�S(Ic�H�@H���H�S(�L$d�LH�L$@H�T$8L���D$dH�|$0�{����upA�UHc�H�@H�C(H���H�|$hI��H���WH���.���H�t$hH�|$0�D$�~���D$���H�C(A��B�D00
H�C(�T$dB�T08M�t$HM����H�l$H���fDA��Ic�L�<@I��B�:
H�E(B�D8I�D$,H�](H�<@H��L��z��H�CH�U(L�H�z����HcB�p�D$dH�@�rH�u(A�VJ�L>H��f�H�U(HcD$dA�v
J�T:H�@H���tH�U(A�~
JD:H���@z��H�CH�U(HcD$dJ�t:H�@H��H�xH�������A�V
I�vA��5���M�6M����A�F����v�H�U(E�����Ic�L�<@I��L��0���@A��H�S(Ic�H�@H���H�S(A�L$f�L���f.�E�D$E���r���A��H�S(Ic�H�@H���H�S(A�L$�L�F���fDE�L$E���2���A��H�S(Ic�H�@H���H�S(A�L$�L����fDE�t$E����A��H�S(Ic�H�@H���H�S(A�L$�L����fDE�T$E�������A��H�S(Ic�H�@H���H�S(A�L$�L���fDE�\$E���r���A��H�S(Ic�H�@H���H�S(A�L$�L�F���fDL�|$p1�A�D$A9GtA��A�D$A9GtHcŃ�A��A�D$A9GtHcŃ�A��A�D$A9GtHcŃ�A��A�D$A9GtHcŃ�A��M�D$@M�o@I�@ I9E �i�MHc�A��A�D$.fA9G.���AHcɉD$A��	A�D$,fA9G,tvHcD$�hA��
A�GfA9D$���EHc�H�|$0L��A���D$�u������@H��H�l$����L�t$fDL���D$�Lx���D$�}���I�oHM�l$HH�����EA9Et&�j���H�mM�mH���xA�E9E�I����U
I�uH�}�a{����t��/���f��~LI�PM�D$P�wfA9p���p��"H��H��"�f��H�� fA;T�����H9�u�L$����A�EA;@�����I�pI�}��L�D$�v�����m���A�E ���]M�MD�h�L�D$�l$I��L�d$L��H�\$E1�L��H��M��H��fDK�|,H��tH�EC�T,J�t(�u������I��L9�uҋl$L�d$H�\$����H�|$0L����s���l$�����M��H�D$HA�E.H�\$H9���I�F(J�t8���A�D$fA9Gt	�l$���H�|$0L���s��D�|$E�������E1��%���Hcl$L�d$H�\$�MA���V���H�|$01�L�t$�nx���<:ǖ����L�t$�<:ǖ���M��D�|$TH�l$XL��D�l$P����������x��ff.�@��AWAVAUATUH��SH��xH�<$H�t$dH�%(H�\$h1�H�H����D$H��t
�8�����D$D�u�] A�~�:t��I��H����H�uL��H���?y��C�4L�<$L��H�T$HL���&r��L��A�ƉD$�7u��E��t*H�\$hdH3%(�D$��H��x[]A\A]A^A_�H�t$H1�L��H�L$@�Dr��H�t$HL��A�ƉD$ � w��E��tA��:�t�D$ �D$���|$ :��������C�1��D$$H�D$(H�D@H��H�D$H�D$PH�D$0@H�u(Hރ>w4�H�
�&Hc�H�>��f��L$��u�VH�D$@�P DH��0H;\$u��T$$H�t$@��t3L�t$(M��t)L�<$L��L����v��L��L�����:v�����xH�t$@H�D$H�0����X��aw��H�D$@H���#�D$����VH�<$H�t$@��p�����_�����D$�U�����FH��0�D$$H;\$���8���DH�<$H����H�D$(H��t�H��0H;\$��������D�VH�D$@H��0f�PH;\$����������~E1�L�,$L�t$0�����H�u(I��H�D9f�����H�VK�dH�t$@L��H���H�D$Pf�T$X�PH�@f�T$ZL��H�D$`��q����t�����@�|$ :�H�T$@�F��D�b.H�zPf�B.���Hc�H����v��H�������H�L$@�Q.H�AP��D9�~;Ic�H���	DH�APH�DH�APA��H�D�A.H�� ��D9��f������H�E(L�yPL�tA�fA�A�N��fA�Of���!1�H�\$8H��H��L��I��E1�f��E��K�D�C�Tg1�H���n��H�E K�|�C�TgI��J�t(�nv��A�D9��qH�EM��I��B��fC�DgH�E B�4(fC�tgK�|����u��H��u��w����L�4$H��L���`�I��H���T���H�D$@L��H��0H�p@�?s��H�D$@L�`@H;\$�s������fD�D$��������VH�D$@�P(���@�T$���|����VH�D$@�P$�l���@�VH�D$@H��0�PH;\$�����T�����VH�D$@H��0�PH;\$����4�����VH�D$@H��0�PH;\$����������VH�D$@H��0�PH;\$���������VH�D$@H��0�PH;\$����������H�D$@�S�H.9�~H��H�L$8I��H��I��LxPI�F(H�DH�,ЋEfA��u��fA�wf�����D$�q���E1�fD�@,���f�B.1�E1�H�BP�
����\$�?���H�\$8L���,����r��ff.�@��AWAVAUATUSH��(H�|$dH�%(H�L$1�H�������~�F�H�\$H��H��H�PH��H�$�*f.�H�{P��n��H�K(H��uVH��XH;$�6H�{��n��H�{@H��t�D�K8E��t!1����H��H�|�n��9k8H�{@w��n���DD�C E����E1��tfD��
�O��������������uH�xH��t.�9n��H�K(H�)���uH�xH��t�n��H�K(�A��D9s �RD��H�,@H��H�)���	�x���H�PH��tϋx����E1���A��D9h��D��L�$�I��J�|"�m��H�C(H�H�PJ�"H�y H��tŋ1��~1E1�@L��I��H��H�|�km��H�S(H�D*L�D98H�x ��Qm��H�C(A��H�H�PD9h�~���H���0m��H�K(H�)���
�����DH�xH��������H��t*E1�D��A��H�@H�|���l��H�C(H�D9`H�xw���l��H�K(H�)����d���H�x�l��H�K(H�)H�x H��uX����H���H�x�l��H�K(H�)H�x H�������(���H�xH���W����bl��H�K(H�)������P��t/E1�fDD��A��H�@H�|��+l��H�C(H�D9`H�x w��l��H�K(H�)��`���fD�@��t/E1�fDD��A��H�@H�|���k��H�C(H�D9`H�x w���k��H�K(H�)��9���fDH��H��X�k��H;$����H�D$dH3%(u7H�|$H��([]A\A]A^A_�rk��H�D$dH3%(uH��([]A\A]A^A_��m��f.�@H��H�OD�dH�%(H�D$1��A A9�tM�QA���t&A9�w!D;ArA�@�1�w�A&��H�D(D;@t:H�T$dH3%(D��uAH���f��Q9Vu�A��Q9Vu�����~9xu�E1ɋv9pA��E���Am���H��dH�%(H�D$1�H���H��t%H�xtBH�L$dH3%(u-��pH���j��H�
��H�5�H�=��|h����l��H�
��H�5tH�=��Xh���UH��SH��H����S dH�%(H�D$1���tJ���E����Hc�Hc�H�H�4H�ϺH!�H!�H)��j����u1H�D$dH3%(uH��[]Ð���h���‰~S ��'l���H�5�H�=
��k����H��1��k���f��fDATf�I��U��SH��H��dH�%(H�D$1��B�1���G&��H�t(H��&F�F�f�nH�H�F����C�k �kI�$H�CH�CH�D$dH3%(u	H��[]A\��^k��ff.�SH��H��Hc5�R dH�%(H�D$1���t-�H���pi����u6H�D$dH3%(u!H��[�fD��g��Hc�=R ���j���H�5�H�=��j����H��1���i���ue��DU�f�H��S1�H��8H�_dH�%(H�D$(1��H�|$f�S&�##ff�CCC�#f��H�D$�uH�L$H�}��D$H�D$�D$�K����H��f�K$����H�D$(dH3%(uH��8[]��j��ff.�AU�ATA��U��1�SH��dH�%(H�D$1��h��H��xG��xlH��A�H9�|�l@tVH�H9�}^H��H�5TD��H)�H��IO��k��H��y��$i���H�L$dH3%(u&H��[]A\A]�����f�1����Gi���AWAVAUATI��UH��SH��HH�_D�odH�%(H�D$81�H�=�J ��i���{&�pI��9��������E��m��D��A��(A����1ɾ�f�S&f�sf�f�{$H��H�C�Cf�K"�##fC�>���D������������{&���@���1�I��f�S$A�D$1҃�A��������H�l(H���b��D�uH�u1��EfA�D$L��D��EI�D$�EH�E�c��L��L���i�������EH�{&H���4���A�D$�C I�D$H�C�C��tDD9�s_���C�H��f�C$�`���1�H�L$8dH3%(uxH��H[]A\A]A^A_���CA�D$�CI�D$H�C�fDA�D$1�A���C&��H�D(�P�SH�@H�C�f��*:��f��':��x����!g�����AVAUATUSH�� H���dH�%(H�D$1�H����L�sM����I���H�����A�ą�uFA�F ���tc��H��1�A�E�rb��H�$L��H��A�EH�D$A�E�V����H��A���F���H�T$dH3%(D��u!H�� []A\A]A^�fDH�����A�F ��Mf��H�
�^H�5�H�=���a��H�
��^H�5�H�=��a��ff.�@��ATUSH��H���dH�%(H�D$1�H��tkH�}tE�H�����A�ą�uH�������H���h���H�T$dH3%(D��uGH��[]A\�H�
���H�5)H�=<�
a��H�
���H�5
H�=
��`���Ie��f���AWAVAUATUSH��XL���dH�%(H�D$H1�H�D$8M���M�oM���2H��H�ֺH���ed���D$$�����CH�[�D$ H�\$(����H�D$8E1�H�D$H�D$@H�D$�DD�3H�C�I�vH�D$�fe��H��H���:M��tH�t$H��L���f��H��H�T$H��H��H�L$�}^��H�L$A��H���a��E����H�t$@H���'���H�t$@H��A���c��E��t
A��:����H��������A�E��tA�E ��9CtL���$���H��L������H��A���y���E��udH��XA��D9d$ tu�K4��t�S0����H�t$H��H���������H�t$8H���n��H�t$8H��A���]��E���P���DD�t$$�f��D$$H���]��H�D$(H��t�t$ H����d��H�T$HdH3%(�D$$u;H��X[]A\A]A^A_���D$$�H�
k�|H�5�H�=��k^����b��H�
G�|H�5cH�=v�G^�����AWAVAUATUSH��hL���H�T$dH�%(H�D$X1�M����M�wM����A�GH���I���D$�����D$��u0fA�~$�H��L���5�H�\$�C ��t9�L�����H�\$XdH3%(�D$� H��h[]A\A]A^A_�D�]A�F �X)؉ljD$�b��I��H�D$M����L�xA;^ ��H�l$ ��A�EI��X��A�G�A9^ vs1҉�A�N&L���t$1���M�l(��H�I�uH��A�U��\��L��H���ib����u�H�D$�D$':��@ ����@L���p������H�\$�D$�CA�F �A�F�CA�F�C �C����@�@ �D$�����`��H�
�2H�5lH�=�P\��H�
��2H�5MH�=P�1\�����U��SH��dH�%(H�D$1�H���H��t �(1�H�T$dH3%(u;H��[]�DH�����a��H��t�@����H���빐���`��@��ATI��U�SH��H��dH�%(H�D$1����uH���L�����H�߉��}�H�T$dH3%(��u	H��[]A\��_��ff.�f���AUATUSH��H���dH�%(H�D$1�H��tH�{tYI���H����A�ą�u$H�C�H��@ A�EH�CH�@I�E���H�T$dH3%(D��uIH��[]A\A]�H�
?��H�5�H�=��Z��H�
 ��H�5�H�=��hZ����^����AVAUATUSH��H���dH�%(H�D$1�H����L�kM��t_I���H���7�A�ą�u(�sH�{I�NA��m�L����H����H�T$dH3%(D��uKH��[]A\A]A^�H�
Q��H�5�
H�=�
�Y��H�
2��H�5�
H�=�
�Y����]��D��USH��H���dH�%(H�D$1�H��t1H��H�{H��t
��^���{���u,H����Z��HDž�H�D$dH3%(uH��[]�f���W�����d]��@��AVAUA��ATI��UH��SH��H���dH�%(H��$�1�H���	H��L���Z����������L��1��t_��A���C�����E1ɹ�1���\_��I��H���toH�C�H��D�k�n�A�ą�u)A�=##f�������H��A�):��>�H���VZ���-@���BL��1��lY���C���ut��[��D� E��u�H��$�dH3%(D���`H�Ġ[]A\A]A^�D����\��H��H���%�@����H�������f.�D������(���A�ą��G���D�C����@H����A�N��t8D9�w'E�F�s1�H�{A�@���D�O&A��H�D(D;@tDH�����A�NA9�tA�v&�{D��A�u(�V�Å�u`�H�������fDA�V9Pu�A�V9Pu�E�F 1�A�@���A��H�D(D;@u�A�~9xu�A�~9x�y�����H��A�����]���A������Z�����S��H��H�5
H��H��dH�%(H�D$1���V��H9����%�:ǖH�t$dH34%(uH��[��lZ��ff.����S�H��H��dH�%(H�D$1��JV��H�H��t2H��; �*��H�P1�H�L$dH3%(uH��[�f������Y��@��H��H��dH�%(H�D$1�� W��H�T$dH3%(u1�H����Y��@��AWA��AVM��AUE��ATUH��SH��8H��@ dH�%(H�D$(1�H��HD�E1�z uKL�B�H�50A�HI�xH��HO�H9������uA�PA�;U�f.�H���xW����t$H�T$(dH3%(�*H��8[]A\A]A^A_Ð1�H�L$ H��H���~S��=:�����u�H�t$ ��:ǖ�F@�������E��L�L$E����H��AE��zU��=:�����uRH�T$E1�1�I�NH���5W����u8E��~ A�VH�L$D��H���xS����u�D$��t`E�nI�VH��H���W��H�t$ H�߉D$�R���D$�����H�uI�xE1��T����A������DH�t$ ���H�t$ �:�문�:ǖ������W�����H��dH�%(H�D$1�H�D$dH3%(uH�59 H���HT���W����H��dH�%(H�D$1�H�=�> H�T$dH3%(uH����WW����H��H���No default realm set; cannot initialize KDBk5_mutex_lock: Received error %d (%s)
k5_mutex_unlock: Received error %d (%s)
Unable to find requested database typeplugin symbol 'kdb_function_table' lookup failedUnable to load requested database module '%s': plugin symbol 'kdb_function_table' not foundCannot initialize database libraryIllegal version number for KRB5_TL_MKEY_AUX %d
Illegal version number for KRB5_TL_ACTKVNO %d
Re-enter KDC database master key to verify/opt/alt/krb5/usr/lib64/krb5/plugins/kdbmit-krb5database_modulerealmskdb5.ck5int_i->did_run != 0../../include/k5-thread.hr == 0db2db_librarydbmoduleskdb_function_tableK/M@%s%s%sdb_module_dirEnter KDC database master key�������`���H��� ���H���k5_mutex_unlockk5_mutex_lockkdb_lock_list/opt/alt/krb5/usr/var/krb5kdc/.k5.keyfile (%s) is not a regular file: %sCould not create temp keytab file name.Temporary stash file already exists: %s.rename of temporary keyfile (%s) to (%s) failed: %sCan not fetch master key (error: %s).Unable to decrypt latest master key with the provided master key
FILE:%s_tmprb$�������Ծ���������D���No ErrorDatabase not initializedInvalid policy nameInvalid principal nameXDR encoding errorFailure!Bad lock modeCannot lock databaseDatabase not lockedPrincipal or policy already existsPrincipal or policy does not existDatabase inconsistency detectedKADM5 administration database lock file missingInsufficient permission to lock file������������������������ ��������8�� ������������P�����h�����@�������@�����������p�������������������`��@����� �������P�����������`�����0��kdb_log.clog_ctx != NULLulog != NULLcould not sync ulog update to diskcould not sync ulog header to diskulog_set_lastulog_get_lastulog_get_entriesulog_init_headerulog_replaylock_ulogulog_add_updateKDB:krbtgtKDB;��P>��0G��(P���0Q��@�Q��\�Q����R���@S�� �S��L�T����U����V���@W��,�W��`X����X����X����Y��(�Y��D0c����c���0d����d��	�e��H	Pf��|	�f���	�g���	h��
 i��D
�j���
 l���
�l���m��@@n��d�n���po���@p���q��Pr��T�r��p�r����s����s����t��(
 u��D
�u��h
v���
�v���
 w���
�w��Px��4�x��`�z����|����~��L����0����0��� ����<�������0����`�������(���D@�����������������H@���t��������P�������$����P@���������@��� ����<��X@��������$����T������������������,P���X0���������`�������H�����p�������8P�����������P���P����P�������,�T@���p�����@�����������0���p���, ���X�������0��������� ���$`���@��l@���@�����������@�����D ��p���������4���� ���0��8���Tp�p0�����p�� �  ��\ ��  �� ��$!��t!���!��!�� "`�\"@��"���"`�#��<#0�`#p�|#P����#�����#zRx�$H9���FJw�?:*3$"DB���\�K��CH u
A(xL��XA�A�D0J
AAAH�PL���B�B�B �B(�A0�A8�DP�
8A0A(B BBBHH��L���B�B�B �B(�A0�A8�DPt
8A0A(B BBBA(<M��]A�D�D0E
DAE8hLM��
B�B�D �A(�GP�
(A ABBF � N���A�K b
AA(��N��A�F�D0�
AAE� I��eH w
A[
E0�O���F�A�A �D0d
 AABD0HP��mF�A�A �D0W
 AABA |HP��SE�D C
AA0��P��mF�A�A �D0W
 AABA(��P��kE�D z
DIT
AA@Q���F�A�A �D0b
 DABKT
 AABAD`Q��9H g
EH`�Q��^	F�G�B �B(�A0�I8�D��
8A0A(B BBBD8��Z���F�B�D �D(�GPi
(A ABBJ�[��NH @
A0@[���F�D�A �G@o
 AABK(8�[���E�A�D@B
AAB0dP\���F�D�A �G@o
 AABK(��\���E�G0}
DCD
AA(�@]���E�G0}
DCt
AA(��]���E�G }
DCl
AA@^��F�A�A �D0�
 DABED
 AABAd`�^���F�E�B �E(�A0�A8�Dp%
8A0A(B BBBI\
8I0A(B BBBB8�<`��*F�E�D �A(�D@�
(A ABBC(0a���E�G0}
DCt
AA(0�a���E�D�J�J
AAA \8b���E�GPX
AK��b��:H l
A8��b���F�B�D �D(�GPU
(A ABBF ��c���E�Gpn
AE,�Xd���E�J@F
DGL
AA@,�d��EF�B�E �A(�D0�D@�
0A(A BBBHp�e��<H g
H�f��9H g
E4�<f���E�A�GPE
AALT
AAA$��f��WH a(B0Q(A T
A8�f���F�O�K �D(�I@l
(A ABBADpg��~H Z
F `�g��pE�G0H
AK � h��pE�G0H
AK �lh��|E�G b
AA0��h���F�D�D �G@s
 AABD 	4i��|E�G0T
AG($	�i���E�A�D0
AAE(P	j���E�A�D0]
AAGL|	xj��F�B�B �B(�A0�A8�D�A
8A0A(B BBBCH�	(l���F�F�B �B(�A0�A8�Gp

8A0A(B BBBHL
�m���F�E�B �B(�A0�A8�D�7
8A0A(B BBBJHh
,o���F�E�E �B(�A0�A8�D��
8A0A(B BBBI@�
�o���F�B�B �A(�A0�D@}
0A(A BBBK@�
Lp���F�E�E �A(�D0�D@�
0A(A BBBC<q��AH g
MHX<q��F�B�E �H(�A0�D8�D�
8A0A(B BBBI�r��QH@C
A0�Dr��<F�D�D �G@
 AABA0�Ps��,F�A�A �D@�
 AABG(Lt��PH@B
AD�t��PH@B
AL`�t��4F�L�B �E(�D0�A8�G��
8A0A(B BBBA ��v��9E�J0�
AEH��w��$F�B�B �B(�A0�A8�D`�
8A0A(B BBBK@ 
�x���F�A�A �GPQ
 AABLT
 AABA(d
0y���E�G0W
AD[
DI(�
�y���E�G0}
DCD
AA(�
8z���E�G0W
AD[
DI(�
�z���E�G@}
DCV
AA(P{���E�G0W
AD[
DI(@�{��{E�D G
DLT
AA0l8|���F�D�A �G@o
 AABKl��|��2F�B�E �D(�D0�GPQ
0A(A BBBKS
0A(A BBBEt
0M(A BBBE(�}���E�GP{
AH\
AA<~��GH y
AXL~��;H m
Adtp~��lF�B�B �B(�A0�A8�G��
8A0A(B BBBIt
8A0A(B BBBA(�x���E�G@}
DCL
AA4����E�A�G`V
DAHd
AAA,@�����E�GPK
DEd
AA@pD����F�A�A �G`V
 AABGT
 AABH(����E�G }
DCT
AK(�D����E�G@}
DCL
AA8Ȃ���F�F�G �A(�D@�
(A ABBA(Hl����E�D�G@l
AAB8t��F�E�A �D(�G@
(A ABBDT������F�B�B �B(�A0�A8�G� L�@L�A"
8A0A(B BBBG(̇���E�A�D@F
AAF,4@���`E�D�G0D
DABLdp����F�E�B �E(�D0�D8�G��
8A0A(B BBBHL����F�B�B �B(�A0�A8�D�
8A0A(B BBBAL�����F�E�E �B(�A0�C8�D��
8A0A(B BBBH`T����MF�B�B �B(�A0�A8�G� L�"�
8A0A(B BBBG��"C�"f�"A�"`�����jF�B�B �B(�A0�A8�G� I�!S
8A0A(B BBBE��!h�!H�!A�!L����=F�B�B �B(�A0�A8�G�
8A0A(B BBBBDl�����F�B�B �A(�A0�D@h
0A(A BBBH�@���iH M
KL������B�E�E �E(�D0�A8�J��
8A0A(B BBBD$ D���OH Z(I0I(A T
A$Hl���CH U(E0F(A T
Ap����KH y
E$�Ƞ��@H R(E0F(A T
A ����E�D �
AH�|���=H k
E�����KH }
Aԡ��XH J
A,���?H q
A(H<����E�D�G0�
AAA(t����YE�D�G0A
AAA(��bE�D�G0J
AAA�8���?H q
A(�\���YE�D�G0A
AAA(�����E�D�G0o
AAG@�?H q
A(\���yE�D�G0�
AAF�l���XH J
A(������E�D�G0s
AAK�����XH J
A�Ȧ��?H q
A(��YE�D�G0A
AAA(4 ���sE�D�G0o
AAG(`t���YE�D�G0A
AAA0������B�A�D �D0s
 AABF@����^B�B�J �I(�A0�D@+
0A(A BBBAH ���B�E�B �F(�E0�A8�Gp�
8A0A(B BBBGLPԪ��qF�B�B �B(�D0�A8�J��
8A0A(B BBBAH�����F�B�B �B(�A0�D8�D��
8A0A(B BBBDd�H���F�B�B �B(�A0�A8�D`�
8A0A(B BBBET
8A0A(B BBBAT��D i
Cp�����D |
E(������A�D�G0`
AAB0������B�H�C �G0t
 AABA ������A�G @
AG(t���A�M�FP�
AAA8<����B�G�D �E(�D@|
(A ABBHLx|��B�B�B �B(�D0�D8�D��
8A0A(B BBBH@�L��F�B�B �A(�A0�DP�
0A(A BBBG0(���F�A�A �D0c
 AABAL@����F�B�B �B(�A0�A8�D�,
8A0A(B BBBHH���F�B�B �B(�A0�A8�D��
8A0A(B BBBF(����|E�C�D0t
AAF0��sF�I�F �G0M
 AABA8<h���F�B�A �A(�D@u
(A ABBA@x����F�B�B �A(�A0�D@
0A(A BBBA(����|E�A�D0a
AACH�����F�B�E �D(�D0�G�
0A(A BBBF 4@��TE�S u
AA X|��lE�L D
AJ|���<H n
AH�����F�E�E �E(�A0�D8�Dp�
8A0A(B BBBB����=H k
E���9H k
AGNU�PRR0Q ,!����,!���x������
��!�4�=�K�`���>MZk{������dX?
��,!,!���o`h(
�0!8
 2.	���o�,���o���o8-���o�o,+���o�,!�?�?�?�?�?�?�?@@ @0@@@P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH�� �`R,��GA$3a1X?	�GA$3p11130Q��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113����GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY`R��GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS���
GA*FORTIFYlibkdb5.so.9.0-1.17-12.el8.x86_64.debug���7zXZ�ִF!t/�� ��]?�E�h=��ڊ�2N���ͻx<����&c�
�G��*��q@��[�}�i^��@�'|�0Pτ�zy[&يj�1�*UW�H�N(�h����.���Ti
~�ҟ�T�q�9�T��<�N�����rP��-*i(���R�"hTf;B��	�A���)�/�X�bc@�+,�=R�[�&.��ùh���Zxd8Kb%MQ��Pp�;��'=a��s���j��x�����^Bٞҷ�/�#�]�3�I��4�Sx�R�����]�k�>�ϫ���}��+��j�#��%>�a��/�z3�Pm��m��3�����˳�]I4]���z��۔v�/�f�H��0*�``�B�3SsOw�&�!��ۼ1*��m�h�����{Ͷ���-��B��_{ko�v�Q�d���o�-D�/�O�F���Ǘ��D�R�-gNGǏ���}]�j�^|h0�&�vK�~d�p-?K��l9G���()"Df���dR�D]q�*&��
�^;��a��z2�XRd��z�?"1o�l�/�i6(�� *�E�2�*��-����(��bJqM�!��t�*M�5	����y��϶��gl}���n�p�%:��4k�f(��Ԓ�/k1����%��8emgT�a�6��Dx%b�n�i_��=rSn,��
�ht���Dž
�Z��PR��������՞���ό�&�Ay����23�d_���s
5Tܗs�#7XЃ��	��L�&��f�ljc�
��nL��$�u�[3u>6�:�~_g�u)�n����C�3t�J�>�
h��,5��d�= ��d˽�4�F��P".�0��ƚwJ(W`�w���,A���Y�	���JQC*c�E� kj&4-Rv3�V�9̒��<��wU�1%`/��Ŏ���(A���#Uˎ�r�w��${�O|����J��V�”���e��
������=�]gius.�9�	ߥ.�βp(.�>��;�"���ys���ͷ\���#*"��M �Pv�zC�̹�Lә��Fеw8��1��:9+��0jo���E)X������S��tF���"�~�/9�^�T�{��nU�a+I�/*US}ÿ�]̜��gʍx&T���Ӱ
���Ã�*/��(�Z��<>4��]��2GWO�_J��Q�T�ub�7(�a�^ߤJ��Rk8'鎇F��w<����]�*�p�b�1�cQR���a���K[�Vf�:�,W����Ʌ��0��nH��O80��t�-z+���^J�	x��M����#�6�jf���&��E�e��9Ʉ�M��?p��Z�;<�)�T���q�����E�8s�M�T���>U�G�mTvb+�R8f�/���u�*�Gq�T�tG����ͽ���BJ�Ǭ��;(T!�?�:�9�A����W��2�/m;o'��.�e"��]"�=���J��M���/����h	[]8aF��W�����ꙧ���}8�l�Zy��(�E�7�#���+���r�^c�q����H�
	h�QSY���q��v��r���'&���>�#re�*�%W�����\��#���٠��핛���5�}Tq�
r��
�A�]D�ikq�W�
�?�����UaW�_��n*�W�*(Y9�Z����	�c>��B��$Z�kI���n��v�Ze�rJ��nc}�<��ٻ@d�)<��yZ)?�A������^��>�^_�*u3z;�:��N��\G��:Kˢj�E���w ��Ne���=�a&tG&�R�>M�����!O�k�)���7��K-�g��c�'��m7�i[eINA'X��K�gJ��(#<:�����O� �b����	Qs�W&
2wn����r�ܸR�X��W��k�����S���%kȏ��
����uW���~����8�]�g9n���E��II\�$mI�����B�#g���g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(((@0hh�8���o,+,+�E���o�,�,TT���o8-8-�c..mB 2 28
wX?X?r�?�?�}`H`H��0Q0Qɥ�����
� � �
 �00���8%8% �,!,�,!,� ,! ,� ��,!�,���/!�/h�0!0��4!�4�  5! 5� �5a 5l"�9,1�9��A@lib64/libkrb5.so.3.3000075500003635730150403633670007716 0ustar00ELF>0�@4@8	@h�
h�
 `�
`�-`�-�� ����.��.``888$$H�
H�
H�
  S�tdH�
H�
H�
  P�tdwwwD5D5Q�tdR�td`�
`�-`�-����GNU]Qo��Z�G0�)f6+��b9��	@����EH�0�Hp�Ӆ�f!Z��%\���BC(L��$�ZI���iJC��(�C�	!D��C�=j2Ġ�+�֐�	1��@��'�y����#c
�3�E� R� db` `1!��(�Eq29nR@@��DH`-j�0f�� � `���q�G[p�D�@E��u��=�����BBHP�&@:�`��0D��FA`p��P�%$(��B�p9H@�#�4�4*@���B�ø�EMp�$�R
�@�8�"��(i3 ��&�)�  �U SA
����>%" 'B"�5�D�0��*(
!��a(��@kt!�`
DP�`0��B�9Eآ L����2��",T� �1���4�b
�`�H�0H ���!�,��4 #�H�0���P	
 $&(*-1234578:<=>@CDEFGHIJKMPQTUVXY\^`cefgijklmnprtvxz}�������������������������������������������������������������
 %'+,/578<?@ADGIJMNPQRTWXZ^abcdfijloqtux{|~��������������������������������������������������������������������	 #$%'+.023579:<>?@ADHIKLORSTUVXYZ\_acefhklmopqrsuvwxy{|}������������������������������R��Է%���	�V������Bȋ��|�J����!��ڳ���� ��Jq�G��8	��p��<y��D���z�y�	r�NPW���g���0�'�|ygU��	.�Yf4$Q�X�U}yg���^��B�dƹ��4���G�j�<bԿ2�U��ژ�^��	HԿ2���l�_}�SW7w?�җ�h����s_
�g}f����<>%^�'�ޮ7�@��=+.s�$&Ȱ>!M��k��4���Ǹ7��O�
�V�׽6����{Sv�p�*e[@�S��"��<�~��}X����n!?��D���zo��4IG�"��2�^P�(F˳��D|�|�M�7��x�^����ލV9�lr��e�}���Ѹ[T|_�.O���1ľ������0טzh�N7��7����⼲��%��~-��#hЫ�)=�V�f�Rm�6����JU"�`DG&�۷Q6��\�p�|&��XE?��i�,L{mEI�fԿ޵=s��ԓ^8#)M&J�n�}Pt�TK��.8aK�i9�l..N�s���^-5+M��ٸЄ�3/V)�G0_	�%D��rk΁������mM0^����-eF��/��_�3-�(�Ȅ/:�#:�bXx*y��:i�]�%k����H���n����[��	��_#`�>��]�v�Ƴ*�9�� u,�{��?�wfV�Dba�(�@�u�rgB���@q5�0P�Ԁ���	]S�[�gbp��LQLZ2��͢<ޢ�S�d$}c�H����n٨��3�Ts���q٨��,��cI�����@�a%��v���0�I���#�$���v��]�`�y�Q��B�h5p�:�h��m2z����nzʡ�^p�Ϛk���P��T�q�LjH�^9��>��n!�N�Hw�0ZO�ּ��(��<���J��
E���<���Y1/A�ɶ��'V�Ue��9M_����.�ғ�\�ߑv����['�e��Ĭq�`Ʌ���mH�ZLc�V��16�g�(���G:�ֆ(mz\^':�)PSe�1W���D�Z���^�&��m�ď���჈N�}�/��	����`�Y�����b�xC.�bU�T��?B+�&F�k��f���(��m�Ts�P�
�
��B1�d�{��\|Ľ�bs$�He��ɭ΢�x�t�|��mo�}�rF�#��ЬIJ�c:֎F[�ڄ��+�h	ûM�����tw&R������u�@��G��)��M��<卼\ƇXU-�Deˁ�E�Nt��p�	?�$��U��h��L^m�$�v�����|ͦ��!8_X�q�ڌ�@V�l��d�?���碶k=���U�ݕ�5oEZ߈�K/M�]����n�[��%��e�㔖��{��p�.�|�M��[­��ٴ�	��|Pv�9nVa[��?%_��� G`�:}�aOL4�@��M��\k�\k:��f=X[���@��eet����r�]D�]dW��`s쐸�Z�.�hc|N
����uL�K��R��w1��Z�m5!s>p�l1�-�a����¶�*pa�Pծ�֮��eO��x�\�^su�Q!���-�!��$%����-l�Ž�U?�M�H[��&^���YOD��=�B���1�F���ZJ�_�8���0\^��j�2��c_����8!\��v��8��%� '.]��=�@��J�Ӄw������!�;ʨ��,�z2*%��|S�t�Vm���P��ilu��b�j�_���b��@�^�6�:�Z_X�G/ʎ^��^�T�>mL��;9w���mGd����
��}&Z*�O��6>h^#�#>}�����{%�����ɫe�����Q�h�u��B#�y��bs�爩#���J3��p*�Q��E�%�>�o?Fk}�7�cg��fU��S��ތb���D��6��$i�/�!��Ȓek��φ�E�rJ�rJ�(��\7~)�^G<�6�2�3� 
�446yqMW�����7Z\!�&K����DЊ>Bw��i��k�o�_�G^�zRk*������1���T���`�Z����v�#I0p�4�ZH�4��gNK��l)�	��8�ej#x��],Cvm�p����Ý��VX�-�`����ޚU�Yg������2��n�!kՏ$j}(\����O��{j������;�j2Y�u��`�&���	��*`�'y����U<�Q	��g#v�(O��{m%dv�`ځ-r��}����qv|@��O�09��*^��:_a�%6���n~���Ֆ��SW9��#TߚwSe��.��Se��O�jcuڸ!�R���,Md���Y�XiӜ��#�.��|�d���	�gAY-s+�n�)�v�	gЏXT	֤eOc(E���z�����ںIpfI�0ٯ��w����1$m�o؉�	Z[�B�a_�ʱ(�
k+�붂�ݨ���o�n��:��1	n��Ji'H6�WO��'֡����+>g��C�'��2�V�����ڭF~@[J�@c��%*^�����c�bG2'.���P����S�l�_K��I�Ե�S��� h
xs�zh��"��=�˙`�����j�ڠ���U��r��J�)Z�{�T�82f+�K�[|F��˰ݑ�I�&|!H�<��;�2�!��%u[�UF$��*�2�7\�:�H.�)r�D%$�<W
H��0� �1
�>)�:�EN�;RE>H�H�!!�<4
�C�v�$'�H�9�
�GU1(^F�S�#U;�HKxI���0V'f2�VD�3� !�H0^8Hk;��E�8��Y9, �I�9L��_;;�
0�E7F"#J��0H7�1+,E�1t8i�PD��GxE;�GG
F�HvG�H�2HtD�I��>�9�F�G{�*RH\�&9HE��@��"�
�
�?�:����;}��:s/�%fUg�
�&(t�=��8�I-
~2�H�H�G!&G��EE$�9�G�yb�G�!8��=|;�zD�@kD�;:s;�!rF~VP
��2D�GFHK(���<S�x=�*&;+�0�B�@�8��;4�C8*:fD�2�3�$O_8+H�*xGI)�B.P&�G1-
�zC�.
�H�
Pj6)
/�06
��t$ 
����
�6Q
�X�(
�f
�i^z4
��kI@
�L\G
@[�
�j^�
�i^~
���
�X�J
�8	=A=
�OG�"
�9�

�X�4
��k@3
0�Zi
��2T
�@�
PMP�6
P�k�3
�|�@
�X.
P�@�C
��6�.
��G�	
�
X�
�l��=
��A>
��K� 
@��#
P�+�#
p�RD
`��7
@�k!=
 ���
�>i�
���
`g^b
�_J
`
��;�*
P]_J"
 �|
 �@2
�@9
���*
�I��1
�A�
�D�
��X���-�@�-�
�@�I
�+	_?
�4=Y
�Y_c=
���z"
����>
0�@+
0kD?A
�`6�=
���
PX]
�D�+
0z8�"
p���)
p(��$
�$	�yA
�dAzC
@���:
�R9�2
�@�
�c�
�3�
��xG
0�6�%
���6
�X�D
����5
0�c6.
��oS2
��6m
`@�>
��3�
�X�H
��k�0
�ES
���` w.�0	
�X�
@X�4
p��
`NS�#
����7
`�8�7
��P�%
`���)
��2
�9�J
�>	9�
�U��F
F	;~ 
���J
i��'
мkF 
��
�;_SC
��y�G
�k0G
�SZ�,
�y8�
���rH
����)
�@/�	
 @�
|�?
K	/�
 X(

�d*
0y8�
 �X�#
��B2
�R;u
 f��
�
X�K��(
 _�6
���T
���T1
P�@b	
 
X�
XO
���%J
�/	A�A
0e<[A
PdA�
�MfZ
��;�
0���
�X�
��@gC
�A�-
�]b
�H�5
��|�#
p�k%
����9
�/l)3
еZ
@�D�4
����
�@F
�X^.
p�H�B
P���-
�}3�8
��>F
�1�>
�@
p��!
 �;�/
��)
<D
���s
�Dr+
P{9C
 ��T
�n6E
�C9AC
Ќ�d)
`BAK
?	��C
��D2
��Ad
0@�
�4�l
�X-#
@r�?:
�;%�(
�T�"
��9'
0��3<
�Y5
�c�$
p%	�^
0�2�8
��

@�4
0�9
`VA
�XT<
`��x)
@*	?�>
0	��
�X#
�!	�N:
 ?�
�;�D
�DE��.`^@
@��
p@�
�Z�8
��
`:W>
`J�c4
@��@
�K��
Xb 
���
p/Vh
�Nb=J
@2	`�
@/;m1
��A8 �.`�B
P���6
��c)
�6�E
+8K
pH	�'
�M�,
@��#
=68
��E
PSSP%
 �c�
��Z�=
P�?~
��;�$
�#	�
�z q�y.�r�-C
��\TJ
�3	�8
p�
@t

�@�?
 A��
�	�J
�<	�^,
�|��
��;��. 
`�Rk
0���
��h�J
 ;	;�E
�6H7
��v?
�D=�
g_C*
P�;�E
�1�
@)A
@`>0
��
�>C
P�X
@I >
��;%!
�
`Xt
Pl9�/
���
 �y�8
���
�	@�

�)Vp
0�g�#
0��
I
��7�?
�HmG
�@	��
���?
�'=*
0�q
h��
pod	.
��W
���
p�@�
���LI
�6�A
�d<T+
`|��2
p�Z�7
�W��.
�\�

`�s�G
�j�a
`�@�I�.
0�=04
����9
0(?�

�$S�B
дD�&
��l�
�l94
����D
��D�9
�`E�>
`L�s6
����3
@���D
��D�
����
@(	�c
��kB
0qg�9
�/��F
�A	j�
��:�
��X�
�	@�F
@@&y'
���n7
���[�{.`*
P��_&
��\
�D�
�6�F
C�)1
��K	
 @P
��d�D
�D8
�d�h>
�J�8

�@=
����
��=%)
pB'�

���/
X�X3
�a8
p@�+
�{<�
�X�
0	DK6
p�9�B
�5�
��{,
�oH4
����
P��H
�Xb(
�<�
�X�A
�j-u&
���

�@$*
��A�
��e�A
 o8

@X=
�8�!
��,
{<&
n5�
@k6�H
��@�J
�=	�u3
`�k�4
��kh
@��0
`P#O)
PJG�
�X!I
@�v�
�v!
@���=
pS��	
`Xc%
0�6�
�~s@
P�D�;
0�a59
/e:
�B>;
pSgl
@�C
�Dd'
P�_�I
��j�
`��$
0X6
���0
���x-
|C�
P�X�
p�X�>
�#���.�C
P�K�G
��,F
P0_<
@���K�A
�YF�3
�k+
��F3
0���
 �;>B
�+
��@GG��.-?
0+=�
�@�
�b�
@�c3
�k5c
�6�
`�k�
��95
p���6
`�t�I
P���
�2kJ
�5	k�0
@�v�
 �@x
pX�7
����
`N�:)
 >�(
��K/
 �Q-
@@�
����E
���
@�@�/
�

�X�D
0�D_E
`�E	
�@�`�.`SB
��:0$
 �7�
��Z�*
p�>�5
��b�
����
@���,
�t�0C
�v�C
�[y
�@�1
0�3�&
p��3>
@�E�;
����

p@�
�X.
pA�
`�XF
�/��'
0��c
 �#
��u

`#�A>
��Ma5
@�c40
�(	I�
U�`$
��2�3
`���
@B#
�{��D
��=�5
�c=
�2��

�@2
=`�$
P�,R

�XG$
`�7_0
 �	
�X!
`��� 
`��R
�X�
�p>�7
��;�
�
�|
����
�m7

�m;�H
P�@02
`� 6
��ZC?
�1=
��@�
�@E
@X
J
�,	O�C
@���@
`U�S
l5p9
 "-=
�?�
0�=�%
 ��8
�<�/
@Ck
0��� 
0���B
�9�$
`!	|�
@c4^
`e��
�?
0L	��-
�+"
��f�F
�Rn
��Xq0
T��
@@�A
�n8w(
��1
@/:�'
��
��8!
���
pS*z
��X�
Z�	
�@�
P8��
ob4I
��F
`>9�
�@
5��
0�@�
0��7
 �a(B
�}|�4
@���<
��la"
0���@
�VWR=
 ��	7
`��=
@n9�
0�=�
@�;�
�gO;1
�@C
0���:
S\�
0O�`6
��k�
�o@x
@V4�$
`��=
D"�2
в�dB
@�=�

P&X�
�C�5
�@�7
��D�7
03I9
@ ;9'
�Zp�
`@�.
��Op$
���B
�D�
��|�"
 �A�(
�,u27
��k�J
`>	a-
pzC�)
�?gs
�I��'
0�'�C
0��g
0�X	
�
@A
��X*D
����x.�3
@e#
����4
P�|�
P@%/
`�RyB
���
 ;��
P�6~
MN�
�ly<
 �<�
�@�&
���z
��@�?
�J	r�&
.�� 
�vT
 �;�
PI�(
� ^=%
��9,
py8�
��@"
кMW#
�w�
Р=%%
`�g�#
����@
V�!
XQ
X�
�@�6
����<
0���)
P@Tv%
��:�
�jO�

�&l
�n;'@
�Q��?
�H=r
�@I'
���	8
@��bI
P�H�
��@�1
p�2�(
P";
�+
�y8�
�-	6&
��,�
��{
�p9�
 	X]7
��t#
���1
�k�
���AE
�
��
�XO
0H�}
0�=
�kO\H
P�6�

X�F
��AR
NP�
0�=l

@@G
@S_W-
�{<�B �.`e
`�.�0
�lS

PXW
�@�
0�=�'
����
`�,
�h^6&
�j�
 pH�,
�v��
�TbX!
p��__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizek5_set_error_info_callout_fnet_krb5_error_tableadd_error_tableet_kv5m_error_tableet_kdb5_error_tableet_asn1_error_tableet_k524_error_tablebindtextdomain__stack_chk_failkrb5int_initialize_libraryk5_once__assert_failk5_os_mutex_destroyremove_error_tablekrb5int_cleanup_librarymallocinitialize_asn1_error_table_et_listinitialize_kdb5_error_tableinitialize_krb5_error_tableinitialize_k5e1_error_tableinitialize_kv5m_error_tableinitialize_k524_error_tableabortmemcpygmtime_r__snprintf_chkreallocmemsetcallockrb5int_gmt_mktimekrb5_free_principalkrb5_free_addresseskrb5_free_ticketskrb5int_copy_data_contentsencode_krb5_authenticatordecode_krb5_authenticatorencode_krb5_ticketdecode_krb5_ticketencode_krb5_encryption_keydecode_krb5_encryption_keyencode_krb5_enc_tkt_partdecode_krb5_enc_tkt_partkrb5_decode_ticketencode_krb5_enc_kdc_rep_partdecode_krb5_enc_kdc_rep_partencode_krb5_as_repdecode_krb5_as_repencode_krb5_tgs_repdecode_krb5_tgs_repencode_krb5_ap_reqdecode_krb5_ap_reqencode_krb5_ap_repdecode_krb5_ap_repencode_krb5_ap_rep_enc_partdecode_krb5_ap_rep_enc_partencode_krb5_as_reqdecode_krb5_as_reqencode_krb5_tgs_reqdecode_krb5_tgs_reqencode_krb5_kdc_req_bodydecode_krb5_kdc_req_bodyencode_krb5_safedecode_krb5_safekrb5_free_safekrb5_free_dataencode_krb5_privdecode_krb5_privencode_krb5_enc_priv_partdecode_krb5_enc_priv_partencode_krb5_checksumencode_krb5_creddecode_krb5_credencode_krb5_enc_cred_partdecode_krb5_enc_cred_partencode_krb5_errordecode_krb5_errorencode_krb5_authdatadecode_krb5_authdataencode_krb5_etype_infodecode_krb5_etype_infoencode_krb5_etype_info2decode_krb5_etype_info2encode_krb5_enc_datadecode_krb5_enc_dataencode_krb5_pa_enc_tsdecode_krb5_pa_enc_tsencode_krb5_padata_sequencedecode_krb5_padata_sequenceencode_krb5_sam_challenge_2decode_krb5_sam_challenge_2encode_krb5_sam_challenge_2_bodydecode_krb5_sam_challenge_2_bodyencode_krb5_enc_sam_response_enc_2decode_krb5_enc_sam_response_enc_2encode_krb5_sam_response_2decode_krb5_sam_response_2decode_krb5_setpw_reqencode_krb5_pa_for_userdecode_krb5_pa_for_userencode_krb5_s4u_useridencode_krb5_pa_s4u_x509_userdecode_krb5_pa_s4u_x509_userdecode_krb5_pa_pac_reqdecode_krb5_pa_fx_fast_requestdecode_krb5_fast_reqencode_krb5_pa_fx_fast_replydecode_krb5_pa_fx_fast_replyencode_krb5_fast_responsedecode_krb5_fast_responseencode_krb5_ad_kdcissueddecode_krb5_ad_kdcissuedencode_krb5_ad_signedpath_dataencode_krb5_ad_signedpathdecode_krb5_ad_signedpathencode_krb5_iakerb_headerdecode_krb5_iakerb_headerencode_krb5_iakerb_finisheddecode_krb5_iakerb_finishedkrb5int_get_authdata_containee_typesencode_krb5_pkinit_supp_pub_infoencode_krb5_sp80056a_other_infoencode_krb5_typed_datadecode_krb5_typed_dataencode_krb5_otp_tokeninfodecode_krb5_otp_tokeninfoencode_krb5_pa_otp_challengedecode_krb5_pa_otp_challengeencode_krb5_pa_otp_reqdecode_krb5_pa_otp_reqencode_krb5_pa_otp_enc_reqdecode_krb5_pa_otp_enc_reqencode_krb5_kkdcp_messagedecode_krb5_kkdcp_messageencode_krb5_cammacdecode_krb5_cammacencode_utf8_stringsdecode_utf8_stringsencode_krb5_secure_cookiedecode_krb5_secure_cookieencode_krb5_spake_factordecode_krb5_spake_factorencode_krb5_pa_spakedecode_krb5_pa_spakek5_os_mutex_lockstrcmpk5_os_mutex_unlockstrerrorstderr__fprintf_chkkrb5_cc_dfl_opskrb5_cc_registerkrb5_cc_resolvestrchr__ctype_b_locstrdupkrb5_cc_dupkrb5_cc_new_uniquekrb5int_tracekrb5_cc_support_switchk5_os_mutex_initkrb5_cc_movekrb5_cc_get_principalkrb5_cc_initializekrb5_cc_copy_credskrb5_cc_destroykrb5_cc_file_opskrb5_mcc_opskrb5_cc_start_seq_getkrb5_cc_store_credkrb5_free_cred_contentskrb5_cc_next_credkrb5_cc_end_seq_getkrb5_cccol_cursor_nextkrb5_cccol_cursor_freekrb5_cccol_cursor_newkrb5_cc_cache_matchkrb5_principal_comparekrb5_cc_closekrb5_unparse_namedcgettextkrb5_set_error_messagekrb5_free_unparsed_namekrb5_cccol_have_contentkrb5_wrap_error_messagekrb5_cc_default_namekrb5_is_config_principalkrb5_cc_defaultkrb5int_cc_defaultk5_buf_add_lenk5_unmarshal_credk5_unmarshal_princk5_marshal_princk5_marshal_credkrb5_cc_selectkrb5_is_referral_realmkrb5_free_host_realmkrb5_get_fallback_host_realmkrb5_copy_principalkrb5_set_principal_realmk5_plugin_registerk5_plugin_free_modulesk5_plugin_load_allk5_ccselect_free_context__ctype_toupper_locmemchrmemcmpgetenvgeteuidgetpwuid_r__ctype_tolower_locfnmatchk5_path_joinfgetsstrspnstrcspnkrb5_parse_namefclosekrb5_fcc_ops__asprintf_chkkrb5int_push_fscreatecon_formkstempkrb5int_pop_fscreateconfdopenrenameclosedir__xstat__errno_locationmkdirk5_path_splitreaddiropendirkrb5_clear_error_messagekrb5_get_tgs_ktypesfcntlkrb5_lock_filekrb5_unlock_filefileno__fxstatfreadferrorfseekk5_buf_get_spacek5_buf_init_dynamic_zapk5_buf_freek5_buf_statusk5_buf_init_dynamickrb5_change_cachefchmodkrb5_get_notification_messagestrlenprofile_get_stringsocketkrb5int_strlcpyconnectprofile_release_stringkrb5_net_readkrb5_copy_credskrb5_free_credsk5_hashtab_removekrb5_c_random_make_octetsk5_hashtab_createk5_hashtab_addkrb5int_random_stringk5_hashtab_getkeyctl_get_keyring_IDkeyctl_searchadd_keykeyctl_linkkeyctl_get_persistentstrtolstrncmpkeyctl_read_allockrb5_timeofdaykeyctl_set_timeoutkeyctl_describe_allocstrrchrkeyctl_clearkeyctl_unlinkkrb5_cc_get_namekrb5_cc_get_full_namekrb5_cc_gen_newkrb5_cc_retrieve_credkrb5_cc_remove_credkrb5_free_ticketkrb5_cc_set_flagskrb5_cc_get_typek5_build_conf_principalskrb5_build_principalkrb5_cc_set_configkrb5_cc_get_configkrb5_cc_switchkrb5_ser_unpack_int32krb5_ser_unpack_byteskrb5_ser_pack_int32krb5_ser_pack_byteskrb5_ser_ccache_initkrb5_register_serializerkrb5_kt_add_entrykrb5_kt_dfl_opskrb5_kt_registerkrb5_kt_resolvekrb5_kt_dupkrb5_ser_keytab_initkrb5_ktf_opskrb5_ktf_writable_opskrb5_kts_opskrb5_kt_defaultkrb5_kt_default_namekrb5_kt_client_defaultkrb5_free_keytab_entry_contentskrb5_kt_free_entrykrb5_kt_remove_entrykrb5_kt_get_typekrb5_kt_get_namekrb5_kt_closekrb5_kt_get_entrykrb5_get_default_realmkrb5_free_default_realmkrb5_kt_start_seq_getkrb5_kt_next_entrykrb5_kt_end_seq_getkrb5_kt_have_contentk5_kt_get_principalftellkrb5_ser_pack_int64krb5int_labeled_fopensetbuffeoffwritekrb5_ser_unpack_int64__memset_chkfflushkrb5_c_enctype_comparekrb5_copy_keyblock_contentskrb5_free_keyblock_contentsgetckrb5_425_conv_principalkrb5_kt_read_service_keystrncpykrb5_copy_keyblockkrb5_address_comparekrb5_address_orderkrb5_address_searchkrb5_allow_weak_cryptoprofile_get_valueskrb5_appdefault_booleanstrcasecmpkrb5_appdefault_stringk5_free_data_ptr_listk5_authind_decodekrb5int_free_data_listkrb5_auth_con_initkrb5_auth_con_freekrb5_free_addresskrb5_free_authenticatorkrb5_k_free_keykrb5_rc_closekrb5_authdata_context_freekrb5_auth_con_setaddrskrb5_copy_addrkrb5_auth_con_getaddrskrb5_auth_con_setportskrb5_auth_con_setuseruserkeykrb5_k_create_keykrb5_auth_con_getkeykrb5_k_key_keyblockkrb5_auth_con_getkey_kkrb5_k_reference_keykrb5_auth_con_setsendsubkeykrb5_auth_con_setsendsubkey_kkrb5_auth_con_setrecvsubkeykrb5_auth_con_setrecvsubkey_kkrb5_auth_con_getsendsubkeykrb5_auth_con_getlocalsubkeykrb5_auth_con_getsendsubkey_kkrb5_auth_con_getrecvsubkeykrb5_auth_con_getremotesubkeykrb5_auth_con_getrecvsubkey_kkrb5_auth_con_set_req_cksumtypekrb5_auth_con_set_safe_cksumtypekrb5_auth_con_getlocalseqnumberkrb5_auth_con_getremoteseqnumberkrb5_auth_con_initivectorkrb5_c_init_statekrb5_k_key_enctypekrb5_auth_con_setivectorkrb5_auth_con_getivectorkrb5_auth_con_setflagskrb5_auth_con_getflagskrb5_auth_con_setrcachekrb5_auth_con_getrcachekrb5_auth_con_setpermetypeskrb5_auth_con_getpermetypeskrb5_auth_con_set_checksum_funckrb5_auth_con_get_checksum_funckrb5_auth_con_get_authdata_contextkrb5_auth_con_set_authdata_contextk5_unwrap_cammac_svck5_free_cammackrb5_c_verify_checksumkrb5int_close_plugin_dirskrb5_authdata_context_initkrb5int_open_plugin_dirskrb5int_get_plugin_dir_datakrb5int_free_plugin_dir_datakrb5_authdata_import_attributeskrb5_authdata_get_attribute_typeskrb5_authdata_get_attributekrb5_authdata_set_attributekrb5_authdata_delete_attributekrb5_authdata_export_attributeskrb5_authdata_export_internalkrb5_authdata_free_internalkrb5_authdata_context_copykrb5_free_authdatakrb5_find_authdatakrb5_verify_authdata_kdc_issuedkrb5_authdata_export_authdatakrb5_encode_authdata_containerkrb5_copy_authdatakrb5_make_authdata_kdc_issuedkrb5int_c_mandatory_cksumtypekrb5_c_is_keyed_cksumkrb5_c_make_checksumkrb5_free_checksum_contentskrb5_decode_authdata_containerkrb5_free_ad_kdcissuedkrb5_build_principal_extkrb5int_copy_data_contents_add0krb5_build_principal_vakrb5_build_principal_alloc_vakrb5_anonymous_realmkrb5_anonymous_principalmemmove__memcpy_chkkrb5_check_transited_listkrb5_walk_realm_treekrb5_free_realm_treekrb5_rd_errorkrb5_copy_datakrb5_free_errorkrb5_mk_privkrb5_rd_repkrb5_free_data_contentskrb5_free_ap_rep_enc_partkrb5_rd_privkrb5_chpw_result_code_stringkrb5_chpw_messagedcngettextk5_buf_add_fmtk5_buf_addkrb5_524_convert_credskrb524_convert_creds_kdckrb524_init_etskrb5_524_conv_principalprofile_iterator_createprofile_free_listprofile_iteratorprofile_iterator_freekrb5_get_realm_domain__strncat_chkkrb5_copy_addresseskrb5_merge_authdatakrb5_copy_authenticatorkrb5_copy_checksumkrb5_free_checksumkrb5_free_keyblockkrb5_auth_con_getauthenticatorkrb5int_c_copy_keyblockkrb5_copy_ticketkrb5int_c_copy_keyblock_contentskrb5_free_kdc_repkrb5_kdc_rep_decrypt_prockrb5_decrypt_tkt_partkrb5_c_valid_enctypekrb5_is_permitted_enctypekrb5_c_decryptkrb5_string_to_deltatkrb5_encrypt_helperkrb5_c_encrypt_lengthkrb5_c_encryptkrb5_k_encryptkrb5_encode_kdc_repkrb5_encrypt_tkt_partk5_etypes_containskrb5_get_credentialskrb5_mk_req_extendedkrb5_c_fx_cf2_simplekrb5int_tgtnamekrb5_prepend_error_messagekrb5int_find_pa_datakrb5_free_fast_armored_reqkrb5_free_enc_datakrb5_free_fast_responsekrb5_free_pa_datakrb5_fwd_tgt_credskrb5_get_cred_via_tktkrb5_mk_1credkrb5_sendto_kdckrb5_generate_seq_numberkrb5_c_random_add_entropykrb5_c_make_random_keykrb5_generate_subkeykrb5_crypto_us_timeofdaykrb5_tkt_creds_get_credskrb5_tkt_creds_get_timeskrb5_tkt_creds_freekrb5_tkt_creds_initkrb5_tkt_creds_stepkrb5_tkt_creds_getkrb5_get_etype_infokrb5_init_creds_initkrb5_init_creds_freekrb5_init_creds_stepkrb5_principal2saltprofile_get_booleankrb5_parse_name_flagskrb5_free_kdc_reqk5_json_releasekrb5_init_creds_get_credskrb5_init_creds_get_timeskrb5_init_creds_get_errorkrb5_us_timeofdaykrb5_get_default_in_tkt_ktypeskrb5_principal_compare_any_realmkrb5_get_init_creds_opt_initkrb5_os_localaddrkrb5_init_creds_set_servicek5_clear_errork5_json_decodek5_json_get_tidk5_json_object_createkrb5_realm_comparekrb5_set_time_offsetsk5_json_object_countk5_json_encodekrb5_init_creds_getkrb5_get_init_creds_opt_allockrb5_get_init_creds_opt_set_address_listkrb5_get_init_creds_opt_set_preauth_listkrb5_get_init_creds_opt_set_forwardablekrb5_get_init_creds_opt_set_proxiablekrb5_get_init_creds_opt_set_etype_listkrb5_get_init_creds_opt_set_tkt_lifekrb5_get_init_creds_opt_freekrb5_init_creds_set_keytabkrb5_get_init_creds_keytabkrb5_get_in_tkt_with_keytabkrb5_prompter_posixkrb5_get_init_creds_opt_set_renew_lifekrb5_get_init_creds_opt_set_canonicalizekrb5_get_init_creds_opt_set_anonymouskrb5_get_init_creds_opt_set_saltkrb5_get_init_creds_opt_set_change_password_promptkrb5_get_init_creds_opt_set_pakrb5_get_init_creds_opt_free_pakrb5_get_init_creds_opt_get_pakrb5_get_init_creds_opt_set_fast_ccache_namekrb5_get_init_creds_opt_set_fast_ccachekrb5_get_init_creds_opt_set_in_ccachekrb5_get_init_creds_opt_set_out_ccachekrb5_get_init_creds_opt_set_fast_flagskrb5_get_init_creds_opt_get_fast_flagskrb5_get_init_creds_opt_set_expire_callbackkrb5_get_init_creds_opt_set_responderkrb5_get_init_creds_opt_set_pac_requestkrb5_c_string_to_key_with_paramskrb5_init_creds_set_passwordkrb5_get_init_creds_passwordkrb5_timestamp_to_stringkrb5_change_passwordkrb5_get_in_tkt_with_passwordkrb5_get_in_tkt_with_skeyprofile_get_integerkrb5int_c_weak_enctypekrb5_free_contextk5_os_free_contextk5_hostrealm_free_contextk5_localauth_free_contextkrb5_init_context_profilek5_os_init_contextkrb5_c_random_os_entropygetpidk5_init_tracek5_expand_path_tokenskrb5_init_contextkrb5_init_secure_contextkrb5int_init_context_kdckrb5_set_default_in_tkt_ktypeskrb5_set_default_tgs_enctypeskrb5_set_default_tgs_ktypeskrb5int_parse_enctype_liststrtok_rkrb5_string_to_enctypekrb5_free_enctypeskrb5_get_permitted_enctypeskrb5_copy_contextkrb5_get_profilekrb5_init_keyblockkrb5int_c_init_keyblockk5_vset_errorkrb5_vset_error_messagekrb5_vwrap_error_message__vasprintf_chkk5_get_errork5_set_errork5_free_errorkrb5_vprepend_error_messagekrb5_copy_error_messagekrb5_get_error_messagekrb5_free_error_messagek5_change_error_message_codekrb5_free_ap_repkrb5_free_octet_datakrb5_free_etype_infokrb5int_c_free_keyblock_contentskrb5int_c_free_keyblockkrb5_free_last_reqk5_zapfree_pa_datakrb5_free_authenticator_contentskrb5_free_cred_enc_partkrb5_free_enc_kdc_rep_partkrb5_free_enc_tkt_partkrb5_free_privkrb5_free_priv_enc_partkrb5_free_ap_reqkrb5_free_credkrb5_free_tgt_credskrb5_free_tkt_authentkrb5_free_stringkrb5_free_sam_challenge_2_contentskrb5_free_sam_challenge_2krb5_free_sam_challenge_2_body_contentskrb5_free_sam_challenge_2_bodykrb5_free_sam_response_2_contentskrb5_free_sam_response_2krb5_free_enc_sam_response_enc_2_contentskrb5_free_enc_sam_response_enc_2krb5_free_pa_enc_tskrb5_free_pa_for_userkrb5_free_pa_s4u_x509_userkrb5_free_pa_pac_reqkrb5_free_fast_reqkrb5_free_ad_signedpathkrb5_free_iakerb_headerkrb5_free_iakerb_finishedk5_free_algorithm_identifierk5_free_otp_tokeninfok5_free_pa_otp_challengek5_free_pa_otp_reqk5_free_kkdcp_messagek5_free_secure_cookiek5_free_spake_factork5_free_pa_spake_krb5_conf_boolean__strncpy_chkkrb5_mk_ncredkrb5_make_fulladdrkrb5_gen_replay_namekrb5_rc_storekrb5_mk_errorkrb5_mk_repkrb5_mk_rep_dcekrb5_mk_reqkrb5_sname_to_principalkrb5_k_make_checksumkrb5_mk_safekrb5_c_keyed_checksum_typeskrb5_free_cksumtypeskrb5_c_valid_cksumtypestrncasecmpstrtoulkrb5_pac_freekrb5_pac_add_bufferkrb5_pac_get_bufferkrb5_pac_get_typeskrb5_pac_initkrb5_pac_parsek5_utf16le_to_utf8krb5_principal_compare_flagskrb5_pac_verify_extkrb5_pac_verifykrb5_c_checksum_lengthkrb5_pac_sign_extkrb5_unparse_name_flagskrb5_c_make_checksum_iovk5_utf8_to_utf16lekrb5_pac_signk5_is_string_numerick5_parse_host_stringkrb5int_open_pluginkrb5int_get_plugin_funckrb5int_close_plugink5_plugin_loadk5_plugin_register_dynkrb5_principal2salt_norealmk5_json_string_createk5_json_object_setk5_json_object_getk5_json_string_utf8krb5_responder_list_questionskrb5_responder_get_challengekrb5_responder_set_answerk5_json_number_valuek5_json_string_create_lenk5_json_number_createisdigitisxdigitisalnumk5_json_array_createk5_json_array_addkrb5_responder_otp_get_challengek5_json_array_lengthk5_json_array_getkrb5_responder_otp_set_answerkrb5_responder_otp_challenge_freekrb5_responder_pkinit_set_answerkrb5_responder_pkinit_challenge_freekrb5_responder_pkinit_get_challengek5_json_object_iteratekrb5_c_string_to_keykrb5int_c_combine_keyskrb5_rd_credkrb5_k_decryptkrb5_check_clockskewkrb5_rd_rep_dcekrb5_rd_reqkrb5_rd_req_decodedkrb5_sname_matchkrb5_auth_to_repkrb5_rc_hash_messagekrb5_enctype_to_namekrb5_get_server_rcachekrb5_rd_req_decoded_anyflagkrb5_rd_safekrb5_c_is_coll_proof_cksumkrb5_k_verify_checksumkrb5_read_messagekrb5_net_writekrb5_write_messagekrb5_recvauthkrb5_recvauth_versionkrb5_size_opaquekrb5_externalize_opaquekrb5_internalize_opaquekrb5_get_credentials_for_userkrb5_get_credentials_for_proxykrb5_sendauthgetpeernamegetsocknamekrb5_ser_auth_context_initkrb5_ser_authdata_initkrb5_ser_address_initkrb5_ser_authenticator_initkrb5_ser_checksum_initkrb5_ser_keyblock_initkrb5_ser_principal_initkrb5_ser_context_initprofile_ser_sizeprofile_ser_externalizeprofile_ser_internalizekrb5_find_serializerkrb5_externalize_datakrb5_server_decrypt_ticket_keytabkrb5_rc_default_typekrb5_rc_resolve_fullkrb5_rc_recover_or_initializekrb5_string_to_salttypekrb5_salttype_to_stringkrb5_string_to_timestamplocaltime_rstrptimestrftimekrb5_timestamp_to_sfstringkrb5_deltat_to_stringkrb5_unparse_name_extkrb5_unparse_name_flags_extkrb5_get_credentials_validatekrb5_get_credentials_renewkrb5_get_validated_credskrb5_get_renewed_credskrb5_verify_init_credskrb5_verify_init_creds_opt_initkrb5_verify_init_creds_opt_set_ap_req_nofailkrb5_rc_register_typekrb5_rc_resolve_typekrb5_rc_get_typekrb5_rc_default_namekrb5_rc_defaultkrb5_rc_resolvekrb5_rc_dfl_opskrb5_rc_io_writekrb5_rc_io_creatkrb5_rc_io_synckrb5_rc_dfl_get_namekrb5_rc_dfl_get_spankrb5_rc_dfl_initkrb5_rc_dfl_close_no_freekrb5_rc_io_closekrb5_rc_dfl_closekrb5_rc_dfl_destroykrb5_rc_io_destroykrb5_rc_dfl_resolvekrb5_rc_free_entrykrb5_rc_io_openkrb5_rc_io_sizekrb5_rc_io_readkrb5_rc_io_markkrb5_rc_io_unmarkkrb5_rc_initializekrb5_rc_io_movekrb5_rc_dfl_recoverkrb5_rc_dfl_storekrb5_rc_dfl_expungefsynckrb5int_labeled_open__lxstatlseekk5_sha256krb5_rc_recoverkrb5_rc_get_namekrb5_ser_rcache_initkrb5_rc_destroykrb5_rc_expungekrb5_rc_get_lifespankrb5int_utf8_lentabkrb5int_utf8_mintabkrb5int_ucs4_to_utf8krb5int_utf8_to_ucs4krb5int_accessorgettimeofdaykrb5_cc_set_default_namein6addr_anyk5_free_serverlistkrb5_set_passwordkrb5_set_password_using_ccache__dn_expand__res_init__res_searchgetuidk5_expand_path_tokens_extrastrstrkrb5_make_full_ipaddrkrb5_gen_portaddrkrb5_auth_con_genaddrssnprintfkrb5int_getaddrinfokrb5int_freeaddrinfogethostnamekrb5_get_host_realmkrb5_set_default_realmk5_locate_kdcprofile_init_flagsprofile_initkrb5_set_config_filesprofile_releasekrb5_get_default_config_fileskrb5_free_config_fileskrb5_overridekeynamekrb5int_foreach_localaddrgetifaddrsfreeifaddrskrb5_kuserokkrb5_aname_to_localnamegetpwnam_raccessregcompregexecregfreegetservbynameflocksendmsgkrb5_unpack_full_ipaddrisattysigactiontcsetattrstdoutfputsfputcsetvbufsigemptysettcgetattrkrb5_get_prompt_typeskrb5_read_passwordsendioctlsetsockoptrecv__poll_chkgetsockoptkrb5_set_kdc_send_hookkrb5_set_kdc_recv_hookkrb5_expand_hostnamekrb5int_getnameinfokrb5_is_thread_safekrb5_set_real_timekrb5_set_debugging_timekrb5_use_natural_timekrb5_get_time_offsetsk5_strerror_rkrb5_set_trace_callbackkrb5_set_trace_filenameet_prof_error_tablek5_dir_filenamesk5_free_filenamesprofile_get_subsection_namesprofile_get_relation_namesprofile_update_relationprofile_clear_relationprofile_rename_sectionprofile_add_relationinitialize_prof_error_tableprofile_init_vtableprofile_flushprofile_flush_to_fileprofile_flush_to_bufferprofile_free_bufferprofile_abandonprofile_init_pathlibk5crypto.so.3libcom_err.so.2libkrb5support.so.0libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libc.so.6libkrb5.so.3krb5_3_MITHIDDENKEYUTILS_1.0KEYUTILS_1.5KEYUTILS_0.3GLIBC_2.2.5krb5support_0_MITGLIBC_2.14GLIBC_2.4GLIBC_2.8GLIBC_2.3GLIBC_2.16GLIBC_2.3.4k5crypto_3_MIT/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	









�j�K�)0�K����KhK@���
�K���
�K���

�KyK ui	�KCK �ґ�K�K�����Kii
Lii

Lii
L���	Lti	*Lui	�K"K�@�6L`�-Бh�-��p�-Џx�-����-��-��-��-��-�N	�-�N	�-P	�-�N	�-/P	�-O	�-@O	��-pO	�-�O	�-EP	�-WP	�-�O	 �-tP	(�-�O	@�-`�-`�-�P	h�-`R	p�-�P	x�-�P	��-�R	��-�P	��-�P	��-�R	��-�R	��-S	��-HS	��-hS	��-�P	�-�S	�-�S	�-�S	�-T	�-@T	�-hT	��-�T	�-�T	�-	Q	�-�T	�-U	 �-0U	(�-'Q	0�-XU	8�-=Q	@�-SQ	H�-oQ	P�-�U	X�-�Q	`�-�U	h�-�Q	p�-�U	x�-�Q	��-V	��-0V	��-XV	��-�Q	��-�Q	��-R	��-R	��-�V	��-/R	�-@R	�-�-�-�V	�-�a	�-�a	�-b	 �-8b	(�-hb	0�-�b	8�-�b	@�-�b	H�- c	P�-@c	X�-hc	`�-�V	h�-�c	p�-�c	x�-�c	��-d	��-@d	��-hd	��-�d	��-�V	��-�d	��-�d	��-�V	��-�V	�-e	�-8e	�-`e	�-�e	�-�e	�-W	��-f	�-%W	�-4W	�-IW	�-]W	 �- f	(�-uW	0�-�W	8�-�W	@�-�W	H�-�W	P�-�W	X�-�W	`�-X	h�-4X	p�-NX	x�-kX	��-Hf	��-xf	��-�f	��-�X	��-�f	��-�X	��-�X	��-�X	��-�X	�-�X	�-Y	�-Y	�-*Y	�-g	�-EY	��-XY	�-hY	�-zY	�-�Y	�-�Y	 �-�Y	(�-�Y	0�-�Y	8�-Z	@�-Z	H�-3Z	P�-MZ	X�-kZ	`�-�Z	h�-�Z	p�-0g	x�-�Z	��-Xg	��-�g	��-�Z	��-�Z	��-�Z	��-�g	��-�g	��-�Z	��-[	�-$[	�-7[	�-h	�-Q[	�-(h	�-d[	��-w[	�-�[	�-�[	�-�[	�-�[	 �-�[	(�-�[	0�-\	8�-\	@�-,\	H�-@\	P�-T\	X�-h\	`�-|\	h�-�\	p�-�\	x�-�\	��-�\	��-�\	��-�\	��-]	��-]	��-0]	��-D]	��-X]	��-l]	�-�]	�-�]	�-�]	�-�]	�-�]	�-�]	��-�]	�-�P	�-`h	�-^	�-!^	 �-3^	(�-�h	0�-�h	8�-�h	@�-i	H�-0i	P�-hi	X�-�i	`�-M^	h�-k^	p�-�i	x�-�i	��-�^	��-�^	��-�i	��-(j	��-Pj	��-xj	��-�j	��-�j	��-k	�-8k	�-`k	�-�^	�-�k	�-�k	�-NX	��-�k	�-l	�-�^	�-�^	�-_	 �-@l	(�-hl	0�-�l	8�-�l	@�-�l	H�- m	P�-Hm	X�-#_	`�-pm	h�-�m	p�-�m	x�-n	��-0n	��-hn	��-?_	��-[_	��-t_	��-�_	��-�_	��-�n	��-�_	�-�n	�-�_	�-�_	�-`	�-�n	�-o	��-Po	�-�o	�-�o	�-�o	�-`	 �-�o	(�- p	0�-Hp	8�-�p	@�-�p	H�-�p	P�-5`	X�-q	`�-S`	h�-@q	p�-pq	x�-�q	��-�q	��-r	��-0r	��-Xr	��-�r	��-�r	��-�r	��-s	��-Ps	�-xs	�-�s	�-�s	�-t	�-Ht	�-xt	��-�t	.�t	.u	.8u	.hu	 .q`	(.�`	0.�u	8.�`	@.�`	H.�u	P.�`	X.�`	`.a	h.�u	p.0v	x.)a	�.`v	�.Ea	�.`a	�.�v	�.�v	�.ua	�.�v	�. w	�.Pw	�.�w	�.�w	�.�a	�.�w	�.0x	�.Xx	�.�a	 .@.@.�x	H.�y	P.�y	X.�x	`.�x	h.�y	p.y	x.0y	�.Xy	�.xy	�.�y	�.z	�.�.�.(z	�.Hz	�.xz	�.�z	.�z	.{	.@{	.p{	 .�{	(.�{	0.|	8.H|	@.x|	H.�|	P.�|	X.}	`.H}	h.x}	p.�}	x.�}	�.~	�.H~	�.x~	�.�~	�.�~	�.	�.@	�.p	�.�	�.�	�.�	�.8�	�.h�	�.��	�.Ѐ	�.�	.8�	.h�	.��	.ȁ	 .�	(.0�	0.h�	8.��	@.Ȃ	H.��	P. �	X.H�	`.x�	h.��	p.��	x.Ѓ	�.��	�.(�	�.`�	�.��	�.��	�.؄	�.�	�.0�	�.X�	�...��	.�	.��	.8�	 .��	(.̅	0.߅	8.�	@.`�	h.p.p.��.�.p�.�.��.�.��.�.��.. . .�.@.��.`.��.�.Ѝ.�.�.�.�.�.�.�.�..�.0.�.P. �.p.0�.�.@�.�.�.�.(�.�.P�..��. .Ў.@.P.P.0�.p.�.�.�.�.�.�. �.�...@�. .0�.@.@�.`.p.p.`�.�.P�.�.`�.�.p�.�.��.	.��.0	.��.P	.��.p	.��.�	.Џ.�	.�.�	.0�.�	.P�.
. 
. 
.��.@
.p�.`
.��.�
.��.�
.��.�
.��.�
.��..А. .�.@.P.P.��.p.�.�.�.�.�.�. �.�.0�..@�.0.@.@.��.`.P�.�.�.�.��.�.`�.�.p�.�.��.
.��.0
.��.P
.��.p
.��.�
.Б.�
.�.�
.�.�
.�..�.0. �.P.0�.p.@�.�.P�.�.`�.�.p�.�.��..��.0.��.P.��.p.��.�.В.�.�.�.�.�.�..�.0.@.@.@�.`. �.�.0�.�.@�.�.P�.�.`�..p�. .��.@.��.`.��.�.��.�.��.�.�.�.�.�.��.. �.0.0�.P.@�.p.P�.�.`�.�.p�.�.��.�.��..��.0.��.P.��.p.Д.�.�.�.�.�.�.�.�.. �.0.0�.P.`�.p.�.�.��.�.��.�.��.�.Е.�...��. .�.@. �.X.`.`.��.�.`�.�.p�.�.�.�.�.�.��..��.0.��.P.��.p.�.�.�.�.��.�.Ж.�.�..�. .0.0. �.P.�.p.�.�. �.�.0�.�.@�.�.P�.. . .@�.@.`�.`.p�.�.��.�.��.�.��.�.��....X�.0.@.@.`�.`.��.�.З.�.�.�.�.�.�.�.p�..�.0.�.P. �.p.0�.�.@�.�.P�.�.`�.�.��..��.0.@.@.��.`.�.�.�.�.�.�.�.�. �..0�. .0.0.��.P.@�.p.P�.�.`�.�.p�.�.�.�.��..��. .��.@.��.`.��.�.��.�.Й.�.�.�.�..�. .�.@. �.`.@�.�.�.�.��.�.`�.�.p�.�.��....�.0.К.P.�.p.�.�.�.�.�.�. �.�.0�. .@�.0 .P�.P .`�.p .� .� .@�.� .p�.� .��.� .��.!.��. !.��.@!.��.`!.Л.�!.�.�!.�.�!.�.�!.�!.�!.p�.".@�.0".P�.P".`�.p".p�.�".��.�".��.�".�".�".��.#.��. #.��.@#.��.`#.М.�#.�.�#.�.�#.�.�#.�.$. �. $.0$.0$.��.P$.@�.p$.P�.�$.`�.�$.��.�$.��.�$.�.%. %. %.��.@%.�.`%.�.�%.0�.�%.p�.�%.��.�%.�%.�%.��.&.��.0&.��.P&.`&.`&.��.�&.О.�&.�.�&.�&.�&.�.�&.�.'.�.0'.�.P'. �.p'.�'.�'. �.�'.0�.�'.@�.�'.P�.(.`�. (.p�.@(.��.`(.��.�(.��.�(.�(.�(.@�.�(.��.�(.��.).П.0).�.P).�.p).�.�).�.�). �.�).0�.�).@�.*.P�.0*.p�.P*.��.p*.�*.�*.p�.�*.Р.�*.�.�*.�*.�*.��.+.�.0+.�.P+.�.p+. �.�+.0�.�+.@�.�+.P�.�+.`�.,.p�.0,.@,.@,.��.`,.��.�,.�,.�,.��.�,.��.�,.��.�,.��.-.��.0-.С.P-.�.p-.�.�-.�.�-.�.�-.0�.�-.....��. ..P�.@..`�.`..p�.�..��.�..��.�..��.�..��./.��. /.Т.@/.�.`/.p/.p/.�.�/.�.�/.�.�/.�.�/. �.0.0�.00.@�.P0.P�.p0.p�.�0.��.�0.��.�0.�0.�0.0�.1.��. 1.��.@1.У.`1.�.�1.�.�1.�.�1.�.�1.0�.2.2.2.P�.02.P�.P2.`�.p2.p�.�2.��.�2.�2.�2.`�.�2.��.3.Ф. 3.03.03.p�.P3.�.p3.�.�3.�.�3.�.�3.�3.�3.��.4. �. 4.0�.@4.@�.`4.P�.�4.`�.�4.p�.�4.��.�4.��.5.��. 5.��.@5.��.`5.p5.p5.��.�5.�.�5.�.�5.�.�5.�.6. �.06.0�.P6.@�.p6.P�.�6.�6.�6.��.�6.`�.�6.p�.7.��. 7.��.@7.��.`7.��.�7.�7.�7.�.�7.��.�7.Ц.�7.�.8.�.08.�.P8.`8.`8. �.�8.�.�8. �.�8.0�.�8.@�.9.P�. 9.`�.@9.p�.`9.��.�9.��.�9.��.�9.��.�9.��.:.Ч. :.�.@:.�.`:.�.�:.�.�:. �.�:.0�.�:.@�.;.P�. ;.`�.@;.p�.`;.��.�;.��	�;.��.�;.�;.�;.��.�;.��.<.��.0<.��.P<.Ш.p<.�.�<.�.�<.�.�<. �.�<.0�.=.@�.0=.P�.P=.`�.p=.p�.�=.��.�=.�=.�=.��.�=.��.>.��. >.��.@>.��.`>.Щ.�>.�.�>.Ћ	�>.�.�>.�>.�>.�.?.�.0?.�.P?. �.p?.0�.�?.@�.�?.P�.�?.`�.�?.��.@.��.0@.��.P@.��.p@.��.�@.Ъ.�@.�.�@.�@.�@.0�.A.�. A.�.@A.�.`A. �.�A.�	�A.0�.�A.�A.�A.`�.�A.@�.B.P�.0B.`�.PB.p�.pB.��.�B.��.�B.��.�B.Ы.�B.C.C.��. C.�.@C.�.`C.�.�C.�.�C. �.�C.�	�C.0�.D.D.D.��.0D.@�.PD.`D.`D.��.�D.P�.�D.�	�D.`�.�D.�	E.p�. E.��.@E.PE.PE.��.pE.��.�E.��.�E.��.�E.��.�E.Ь.F.�.0F.�.PF.`F.`F.�.�F.�.�F.�.�F. �.�F.0�.G.@�. G.P�.@G.`�.`G.p�.�G.��.�G.�G.�G. �.�G.��.�G.��.H.��.0H.��.PH. �	pH.Э.�H.�H.�H.@�.�H.�.�H.�.I.�. I.�.@I. �.`I.0�.�I.@�.�I.P�.�I.0�	�I.`�.J.p�. J.0J.0J.��.PJ.��.pJ.��.�J.��.�J.��.�J.��.�J.Ю.K.�.0K.�.PK.�.pK.�.�K. �.�K.0�.�K.@�.�K.P�.L.`�.0L.p�.PL.`L.`L.��.�L.��.�L.��.�L.��.�L.��.M.��. M.Я.@M.�.`M.�.�M.�.�M.�.�M. �.�M.0�.N.@�. N.P�.@N.`�.`N.p�.�N.��.�N.��.�N.��.�N.��.O.��. O.а.@O.�.`O.pO.pO. �.�O.�.�O.�.�O.�.�O. �.P.0�.0P.@�.PP.P�.pP.`�.�P.p�.�P.��.�P.��.�P.��.Q.��.0Q.��.PQ.б.pQ.�.�Q.�.�Q.�Q.�Q.��.�Q.�.R.�. R. �.@R.0�.`R.@�.�R.P�.�R.`�.�R.p�.�R.��.S.��. S.0S.0S.��.PS.��.pS.��.�S.��.�S.в.�S.�S.�S.��.T.�. T.�.@T.�.`T.�.�T. �.�T.0�.�T.@�.�T.P�.U.`�. U.p�.@U.��.`U.��.�U.��.�U.��.�U.��.�U.г.V.�. V.�.@V.�.`V.�.�V.�V.�V.�.�V. �.�V.0�.�V.@�.W.P�.0W.��.PW.��.pW.�W.�W. �.�W.�.�W.�.�W.�.X. �. X.0X.0X.@�.PX.`�.pX.��.�X.��.�X.е.�X.�.�X. �.Y. Y. Y.`�.@Y.@�.`Y.P�.�Y.`�.�Y.p�.�Y.��.�Y.��.Z.��. Z.��.@Z.��.`Z.ж.�Z.�.�Z.�.�Z.�.�Z.�.[. �. [.0�.@[.@�.`[.P�.�[.`�.�[.p�.�[.��.�[.��.\.\.\.��.0\.��.P\.��.p\.��.�\.з.�\.�.�\.�.�\.�.]. �.0].0�.P].@�.p].P�.�].`�.�].p�.�].�].�].��.^.��. ^.��.@^.��.`^.��.�^.�^.�^.���^.���^.0��^.��^.�^.�^.�._.��. _.и.@_.�.`_.�.�_.�.�_.�.�_. �.�_.`�.`.p�. `.��.@`.��.``.��.�`.��.�`.��.�`.й.�`.�.a.�. a.�.@a.�.`a. �.�a.0�.�a.@�.�a.P�.�a.�a.�a.`�.b.`�.0b.p�.Pb.��.pb.��.�b.��.�b.��.�b.��.�b.к.c.�.0c.�.Pc.�.pc. �.�c.0�.�c.@�.�c.`�.�c.p�.d.��.0d.��.Pd.��.pd.��.�d.��.�d.л.�d.�.�d.�.e.�.0e.�.Pe. �.pe.0�.�e.@�.�e.`�.�e.��.�e.��.f.�.0f. �.Pf.`f.`f.��.�f.@�.�f.��.�f.��.�f.��.g.g.g.��.0g.��.Pg.��.pg.н.�g.�.�g.�.�g.�.�g.�.h. �.0h.`�.Ph.`h.`h.�.�h.��.�h.��.�h.��.�h.��.i. i. i.��(i.0�0i.��Pi.��.pi.�.�i. �.�i.�i.�i.�.�i.@�.j.��. j.��.@j.��.`j.��.�j.�j.�j. �.�j.�.�j. �.�j.0�.k.��.0k.@k.@k.0�.`k.��.�k.��.�k.�.�k.�.�k.�k.�k.@�.l.0�.0l.p�.Pl.��.pl.��.�l.�l.�l.P��l.���l.���l.��.�l.m.m.P�. m.�.@m.�.`m.�.�m.�.�m.�.�m. �.�m.0�.n.P�. n.p�.@n.��.`n.��.�n.�n.�n.p�.�n.��.�n.0�.�n.@�.o.P�.0o.@o.@o.`�Ho.�Po.��po.p�.�o.�o.�o.���o.���o.���o.��.�o.��.p. p. p.��.@p.��.`p.�.�p. �.�p.0�.�p.P�.�p.p�.q.��.q.��.0q.�.Pq.0�.hq.��.�q.��.�q.��.�q. �.�q.@�.�q.`�.r.��. r.��.8r.��.Hr.�.`r.0�.�r.��.�r.��.�r.��.�r.��.s.�	 s.0s.0s.��.Ps.�.ps.P�.�s.`�.�s.p�.�s.��.�s.��.t.��.0t. �	Pt.��.pt.�t.�t.��.�t.��.�t.��.�t.�.u.u.u.��.0u. �.Pu.`�.pu.p�.�u.�u.�u.��.�u.��.�u.��.v.��. v.��.8v.�.Hv.Q^Pv. _Xv.�m`v.�khv.`_pv.�cxv.pc�v.�_�v.`�v.P`�v.�`�v.�`�v.@a�v.�a�v.�a�v.0b�v.�q�v.p�v. f�v.�b�v.�bw. cw.�s(w.`0w.`{8w.�~@w.�Hw. �Pw.��Xw.@~`w.��hw.�pw.��xw.0��w.@��w.p�w.�{�w.�{�w. |�w.�|�w.��w.`|�w.���w.p}�w.�}x.`x.`{x.�~ x.�(x. �0x.��8x.@~@x.��Hx.�Px.��Xx.0�`x.@�hx.ppx.�{xx.�{�x. |�x.�|�x.��x.`|�x.���x.p}�x.�}�x.	�	�x.0��x.�y.�y. �y.��y.� y.�(y.��0y.��8y.`�@y.��Hy.�Py.�Xy.p�`y.��hy.@�py.�xy.���y.0��y.���y.��y.��y.�	�y.0��y.p��y.��y.���y.���y.�z.��z.`�z.�z.`� z.�(z.��0z.p�8z.��@z.�Hz.��Pz.�Xz.@�hz.лxz.���z.0��z.Г	�z.���z.��z.p��z.p��z.p��z.0��z.@��z.��z.��z.��{.�{.@�{.��{.0� {.p�({.��0{.��8{.��H{.��X{.��`{.@�h{.0��{.���{. ��{.��{.P��{.���{.0��{.@�{.��{.��{.Η	�{. L�{.�K|.�J|.Q|.`M|.@P |. K@|.OqH|.mP|.�	X|.�	`|.D�	h|.�	�|.��	�|.�	�|.�	�|.Rq�|.��	�|.ܚ	�|.�z�|.�x�|. �|.`�	�|. }.(}.P�	8}.@�	H}.`�	`}.d�	h}.d�	x}.��	�}.ѐ	�}.��	�}.��	�}.��	�}.��	�}.��	�}.��	�}.��	�}.��	�}.��	�}.��	~.��	~.��	 ~.��	(~.��	8~.��	@~.��	P~.�	X~.�	h~.��	p~.��	�~.ĝ	�~.ĝ	�~.˝	�~.˝	�~.ѝ	�~.ѝ	�~.ם	�~.ם	�~.ܝ	�~.ܝ	�~.�	.�	.�	.�	(.�	0.�	@.�	H.�	X.��	`.��	p.�	x.�	�.�	�.�	�.
�	�.
�	�.�	�.�	�.�	�.�	�.�	�.�	�.�	�.�	�. �	 �. �	0�.*�	8�.*�	H�..�	P�..�	`�.=�	h�.=�	x�.C�	��.C�	��.OqȀ.mЀ.�	؀.�	�.D�	�.�	�.��	�.�	�.�	�.Rq �.��	(�.ܚ	H�.�P�.� X�.0h�.�$p�.�&x�.�$��.(��.0*��.`(��.P.��.�/��.p+ȁ.�1Ё.�3؁.02�.05�.�6��.p5�.p<�.�=�.�7(�.�A0�.�C8�.BH�.GP�.`GX�.E`�.յ	h�.�	p�.!�	x�.'�	��.-�	��.3�	��.E�	��.��	��.T�	��.��	Ȃ._�	Ђ.q�	؂.~�	�.��	�.��	�.Z�	��.�	�.0�	�.��	�.��	�.��	(�.��	8�.��	H�.��	X�.��	h�.��	x�.��	��.��	��.P���.����.P���.����.����.Ъ��.��ȃ.�Ѓ.�؃.P��.���.0���.��p�.����.��0�.����.�� �.����.��(�.����.���.p�x�.���.�� �.N^0�.y^8�.�(@�.�^P�.�^X�.�(`�.�^p�.�^x�.�(��.�^��.�)��.�^��.*��.�^؊.0)�.�^��.�(�.�^�.�( �.�^8�.0(@�.��	H�.�``�.Oqh�.mp�.�	x�.�	��.D�	��.�	��.��	��.�	��.�	��.Rq��.��	ȋ.ܚ	�.�.�.�q�.�r�.�q�.�q �.�r(�.s0�.@s8�.hs@�.�sH�.�sP�.�sX�.t`�.0th�.Xtp�.�tx�.�t��.�t��.�q��.�q��.�t��.u��.Pu��.r��.pu��.#rȌ.�uЌ.8r،.Sr�.jr�.�r�.�u��.�u�.v�.@v�.�s�.hv �.�v(�.�rP�.`�.h�.`.x�.�l.��..��.�.��.�.��.P.ȍ.�l.؍.�.�.��.��..�.�.�.@.(�.��.8�.�.H�.Ќ	X�.`�.p�.��.��.��.��.0���.p���.��.��..Ў.��؎.���.0.��.�.�.�q.�.�.(�.Ќ	8�.f.H�.��	X�.�.h�.�	.x�.�.��.�	.��. 	.��.�	.��.`	.ȏ.�k.Џ.`��.�	.�.����. ��.�. �.�	.0�.��@�.�	.P�. �X�.`�`�.
.x�.P
.��.�i.��.�
.��.�r.��.�
.Ȑ.�m.ؐ..�.�o.��.�.�.�r.�.�.(�.�q.8�..H�.��.X�.��.h�.�.x�.@q.��.
.��.@q.��.@
.��.�q.ȑ.�
.ؑ.�r.�.�
.��.�q.�..�.o.(�.@.8�.�q.H�.�.X�.@q.h�.�.x�.�q.��..��.�r.��.@.��.�%.Ȓ.�.ؒ.�l.�.�.��.�q.�..�.�l.(�.p.8�.�q.H�.�.X�.�q.h�.�.x�.�.��.0.��.@q.��.p.��.��.��.��ȓ.��Г.�.�.�.�. ��.`��.�.(�. .8�.�r.H�.`.X�.P%.h�.�.x�.@q.��.�.��.�q.��. .��.�r.Ȕ.`.ؔ.�r.�.�.��.�q.�.�.�.@q.(�. .8�.�l.P�.@.`�.��h�.�p�.`.��.��.��.��.��.@r.ȕ.�.ؕ.Ќ	�.�.�.�.�.��.(�.��.@�.P�.X�.P.h�.��.x�..��..��.Ќ	��.@.��.pj.Ȗ.�.ؖ.�i.�.�.��.pj.�.`.�.o.(�.�.8�.Ќ	H�.�.X�.��.h�.P.x�.�$.��.�.��.�q.��.�.��.��.ȗ.p.ؗ.�q.�.�.��.��.�. .�.�q.(�.`.8�.�.H�.�.X�.��.`�.��p�.�.��.`���.����.��.��..��.��Ș. �И. .�.p.��.�q.�.�.�.�q.(�.�.8�.�q.H�.`.X�.0.h�.�.x�.�.��..��.�$.��.P.��.�q.ș.�.ؙ.P%.�.�.��.0.�..�.` . �.��0�.P.@�. �H�.`�P�.p.h�.��.x�.�%.��.��.��.�.��.����.��ؚ.@.�.Ќ	��.�.�. o.�.�.(�.Ќ	8�. .H�.�p.X�.@ .h�.�o.x�.� .��.�q.��.� .��.�.��.0!.ț.Ќ	؛.p!.�. o.��.�!.�.Ќ	 �.0�.8�.@r.H�. ".X�.��.h�.`".x�.��.��.�".��.Ќ	��.#.��.��.Ȝ.P#.؜.�#.�.�#.��.�#.�.�%.�.�#. �.@�(�.��0�.$.H�.p.X�.�p.`�.��p�.�$.��.@���.�$.��.`���.����.��.Н.�$.�.���.��.%.�.��.�.� �.p%.0�.��8�.��@�.P�.`�.�%.p�.P���.�%.��.����.���.�%.��.Pr.Ȟ.��.؞.�&.�.�i.��.'.�.�q.�.@'.(�.��.8�.�'.H�.�e.X�.�'.h�.*.x�.0(.��.�i.��.p(.��.Ќ	��.�(.ȟ.pk.؟. ).�.�e.��.`).�.*.�.�).(�. o.8�.�).H�.@*.P�.��`�. *.p�.�x�.@���.��.��.@*.��.@���.����.`*.ؠ.�p.�.p.��. +.�.�k.�.`+.(�.�o.8�.�+.H�.�p.X�.�+.h�.�i.x�. ,.��.�l.��.�,.��.Ќ	��.-.ȡ.�-.ء.@-.�.0j.��.�-.�.f.�.�� �.�-.0�.@�8�.��@�.�-.X�.0..h�.�i.x�.p..��.�o.��.�..��.�p.��.�..Ȣ.Ќ	آ.0/.�. o.��.�/.�.@0.�.�/.(�.`0.8�. 0.H�.�l.P�.��X�.�`�.p^.p�.��x�.���.�0.��.f.��.�0.��.1.ȣ.�l.أ.P1.�.�i.��.�1.�.�1.�.�� �.�1.0�.�8�.@�@�.�1.X�.@2.h�.��.x�.�2.��.Ќ	��.��.��.��.Ȥ.�2.ؤ.�	�.`3.��.�i.�.�3.�.�3.(�.4.8�.`l.H�.P4.X�.�q.h�.�4.x�.�p.��.�4.��.05.��.5.��.Ќ	��.��Х.�o.�.�5.��.��.�.�5.�.�i.(�. 6.8�.�p.H�.`6.X�.�o.h�.�6.x�.�p.��.7.��.�o.��.P7.��.��.Ȧ.�7.ئ.�r.�.8.��. o.�.@8.�.�8.(�.�q.8�.�8.H�.�q.X�.9.h�.�o.x�.P9.��.�p.��.�9.��.�o.��.�9.ȧ.�p.ا.:.�.p�	��.P:.�.Ќ	�.�:.(�. o.8�.�:.H�.�r.X�.;.h�.o.x�.p;.��.�r.��.�;.��.<.��.0n.Ȩ.@<.ب.0n.�.���.�<.�.�<.�.Ќ	(�.�<.8�.o.H�. =.X�.�r.h�.`=.x�.�X.��.�=.��.�=.��.�l.��.0>.ȩ.�e.ة.�>.�.�r.��.�>.�. ?.�.0n.(�.`?.8�.Pn.H�.�?.X�.`o.`�.@�p�.�?.��.@.��.Ќ	��.@@.��.o.Ȫ.�@.ت.��.�.�@.��.A.�.�l.�.pA.(�.�r.8�.�A.H�.B.X�.`B.h�.@B.x�.�B.��.����.���.�B.��.�i.��.@���.����.P�.ث.�B.�.0C.��.�i.�.�[.�.�C.(�.�r.8�.�C.H�.@D.X�.�D.h�.�D.x�.0E.��.0E.��.p^.��.�E.��.�e.Ȭ.�E.ج.��	�.�r.��.@F.�.�F.�.`o.(�.�F.8�.0j.H�.G.X�.Ќ	h�.PG.x�. o.��.�G.��.�G.��.�l.��.@H.ȭ.�r.ح.�H.�.�H.��.�l.�.I.�.�e.(�.PI.8�.�l.H�.�I.X�.�r.h�.J.x�.J.��.`J.��.�l.��.�J.��.�e.Ȯ.�J.خ.�o.�. K.��.�p.�.`K.�.�e.(�.�K.8�.��	H�.�r.X�.�a.h�.�a.x�.@L.��.�L.��.pk.��.�L.��.�m.ȯ.M.د.o.�.PM.��. o.�.�M.�.o.(�.�M.8�. o.H�.N.X�.�].h�.PN.x�.�o.��.�N.��.�p.��.�N.��.Pj.Ȱ.O.ذ.�l.�.PO.��.�O.�.pk.�.�O.(�.`o.8�. P.H�.0j.X�.`P.h�. o.x�.�P.��.Ќ	��.�P.��.@i.��. Q.ȱ.�o.ر.`Q.�.�p.��.�r.�.�Q.�.Ќ	(�.0R.8�.�l.H�.pR.X�.�q.h�.�R.x�.�l.��.�R.��.Ќ	��.`S.��.�q.Ȳ.�S.ز.Ќ	�.T.��.Ќ	�.PT.�.Ќ	(�.�T.8�.�q.H�.�T.X�.�q.h�.U.x�.�q.��.PU.��.�q.��.�U.��.�q.ȳ.�U.س.�q.�.V.��.�l.�.PV.�.Ќ	(�.�V.8�.`i.H�.W.X�.P�.p�. W.��.����.���.`W.��.@W.��.@�ȴ.��д.X.�.�W.��.�q.�.���.��.�W.(�.0�.@�.P�.X�.�q.`�.��h�.�p�.`X.��.��.��.��.��.@r.ȵ.�X.ص.Ќ	�.@��.���.�.�.�X. �.��(�.�0�.Y.H�.PY.X�.�m.h�.�Y.x�.�o.��.�Y.��.�p.��.Z.��.o.ȶ.PZ.ض.o.�.�Z.��.o.�.�Z.�.o.(�.[.8�.`l.H�.P[.X�.�o.h�.�[.x�.�p.��.�[.��.Pj.��.@\.��.0n.ȷ.�\.ط.Pn.�.�\.��.`o.�.���.].(�. ].8�.Ќ	H�.`].X�.o.h�.�].x�.��.��.^.��.��.��.P^.��.��	ȸ._.ظ.�e.�.P_.��.�l.�.�_.�.�m.(�.0�.@�.P�.X�.��.h�.�_.x�.Ќ	��.0`.��.o.��.p`.��. o.ȹ.�`.ع.o.�.�`.��.�o.�.0a.�.��.(�.pa.8�.�o.H�.�a.X�.�l.h�. b.x�.�e.��.`b.��.�m.��.�b.��.�o.Ⱥ.�b.غ.�p.�.���. c.�.@c.�. o.(�.�c.8�. o.@�.p�H�.��P�.�c.h�.�c.x�. o.��. d.��. o.��.`d.��.�l.Ȼ.�d.ػ.o.�.�d.��.Ќ	�. e.�.h.(�.`e.8�.Pj.@�. �P�.�e.`�.��h�.��p�.��.��.�e.��. ���.`���.�f.��.��м.f.�.P��.���.�.�. f. �.��(�.�0�.@f.H�.P�.`�.p�.x�.@r.��.�f.��.Ќ	��.�f.��.@g.Ƚ.�l.ؽ.�g.�.�o.��.�g.�.�p.�.�r. �.P�(�.��0�.@�.P�. h.`�.��h�.�p�.@h.��.�h.��. o.��.�h.��.�h.��.P�о.�i.�.���.��.�.�.�i. �.P�(�.��0�.�i.H�.P�.`�.p�.x�.@r.��.j.��.Ќ	��.���.Pj.��.��ȿ.��п.pj.�.�.�.�.�.@r.(�.�j.8�.Ќ	P�.`�.h�.p�.x�.k.��.@���.����. k.��.Ќ	��.@���.�k.�.���.��.�.�.�k.�.@��.�� �.�k.8�.@�.P�.`�.h�.@r.x�.@l.��.Ќ	��.@���.�l.��.����.�l.�.0m.�.��.��.pm.�.�m.�.�m.(�.Ќ	0�.�@�.@�	P�.`�`�.n.p�.��x�. ���.��.��.Pn.��.����.Pn.��. ���.`���.pn.��.�.�. �.(�.@r.8�.�n.H�.Ќ	P�.��`�. o.p�.����.�o.��.���.�o.��.����.���.p.��.��.��.�.�.��.�.pp.(�.Ќ	0�.@�@�.�p.P�.��X�.�`�.�p.x�.��.��.@���.����.��.��.��.��.q.��.���.���. q.�.���.� �.P�.0�.��@�.P�.`�.p�.x�.`q.��.���.����.pq.��.@���.����.��.��.����.��.�.�.�.�q. �.�(�.��@�.�H�.��`�.��p�.r.��.����.��.��.���.@���.��.��.��.��.0r.��.���.���.��.��0�.��@�.P�.`�.p�.x�.`�	��.p���.��	��.0���.p���.Ќ	��.0���.Ќ	��.�r.��.����.���.Ќ	�. �.0�.@�.H�.��.X�.�s.h�.Ќ	x�.�s.��.0�	��. t.��. t.��.@t.��.p ��.� ��.`t.��.�t.��.�t.�.��.0 �.�u.(�.0�.@�.P�.X�.0v.h�.`u.x�.P�	��.v.��.�u.��.P�	��.���.��.��.��.��.0v.�.��.��(�.0�.8�.@�.@�.��.H�.P�.X�.p�.h�.`p�.�x�.P��.���. /��.�6��.�8��.&��.�{.��.�	��.���.P��.���. /��.�6��.�8�.&�.0'�.�4�.�{.(�.`0�.�8�.P@�.�H�. /P�.�6X�.�8`�.&h�.0'p�.�4x�.�{.��.�	��. B��.�:��.@��.�F��.�;��.�<��.�:��.�D��.p>��.@�.��.��.��.�.(�.
�	@�.����.Ї��.���.�.��.�.��.�.��.�.�.p.�.0.�.`.�. . �.�.(�.�.0�.�.8�.`.@�.0.H�..`�.@	.h�.	.p�.�.x�.�.��.�
.��.�
.��.p
.��.0
.��.�.��.�.��.`.��.P.��.�.��.�.��.`.��. .��.�.��.�.��.`.��. .�.�
.�.�
.�.`
.�. 
. �.�.(�.�.@�.P.H�..P�.�.X�.�.`�.P.��..��.�.��.�.��.@.��..��.�.��.�.��.@.��..��.�.��.�.��.0.��..��.�.��.p.�. .�.�.�.�.�.�. �.�.(�.�.0�.@.@�.�.H�.p.P�.0.X�.�.`�.�.h�.P.p�.�.x�.@.��..��.�.��.�.��.P.��.�.��.@.��.�.��.�.��.p.��.0.��.�.��.�.��.�.�.  .�.�.�.�.�.`. �. .@�.�!.H�.P!.P�.!.X�.� .`�.� .p�.�".x�.@".��.".��.�#.��.p#.��.0#.��.�".��.`$.��.@$.��.0%.��. &.��.&.��.p&.�. '.�.�&. �.P(.(�.(.0�.�'.8�.�'.@�.�).H�.�).P�.@).X�.).`�.�(.p�.�*.x�.�*.��.�+.��.�+.��.@+.��.+.��.P,.��.`-.��. -.��.�,.��.�,.��./.��.�..��.�..��.P..�...�.0.�.�/. �.�/.0�.p1.8�.01.@�.�0.P�.`2.X�. 2.`�.�2.p�.�3.x�.@3.��.�4.��.�4.��.p4.��.04.��.�3.��.@6.��.6.��.�5.��.�5.��.07.��.�6.��.�6.�.�7.�.�7. �.P;.(�.0;.0�.�:.8�.�:.@�.p:.H�.0:.P�.�9.X�.�9.`�.p9.h�.09.p�.�8.x�.�8.��.p8.��.@=.��.=.��.�<.��.`<.��. <.��.�;.��.p>.��.P>.��.>.��.�=.�.`@.�. @.�.�?.�.�?. �.@?.(�.?.0�.PA.8�.0A.@�.�@.`�.�C.h�.pC.p�. B.x�.�A.��.�C.��.pC.��.PC.��.C.��.F.��.pD.��.�E.��.`E.��.F.��.�D.��.�E.��.`E.��.F.��.�E.��.�E.��.`E.�.0G.�.�F.�.�F.�.pF. �. H.(�.H.0�.�G.@�.�I.H�.pI.P�.0I.X�.�H.`�.�H.��.�K.��.�K.��.@K.��.K.��.�J.��.�J.��.@J.��.�N.��.�N.��.pN.��.0N.��.�M.��.�M.��.pM.��.0M.�.�L.�.�L.�.pL. �.�Q.(�.@Q.0�.Q.8�.�P.@�.�P.H�.@P.P�.P.X�.�O.`�.�O.��.�R.��.�R.��.PR.��.R.��.�Q.��.�S.��.@S.��.0V.��.�U.��.�U.��.pU.��.0U.��.�T.��.�T.��.pT.�.0T.�.�S.�.�V.�.�V. �.�X.(�.�W.0�.�W.@�.�X.H�.@X.`�.�[.h�.p[.p�.0[.x�.�Z.��.�Z.��.pZ.��.0Z.��.�Y.��.�Y.��.pY.��.0Y.��.�].��.@].��.�\.��.�\.��.`\.��. \.��.0^.��.�].�.�a.�.Pa.�.a.�.�`. �.�`.(�.P`.0�.`.8�.�_.@�.�_.H�.p_.P�.0_.X�.�^.`�.@e.h�.e.p�.�d.x�.�d.��.@d.��.d.��.�c.��.`c.��.c.��.�b.��.�b.��.@b.��.b.��.�f.��.pf.��.�g.��.�g.��.`g.��. g.�.�h.�.ph.�.�i.�.�i. �.�j.(�.�j.0�.Pk.@�. l.H�.l.P�.�m.X�.Pm.`�.m.p�.�n.x�.�n.��.Pp.��.0p.��.t.��.�s.��.�s.��.`s.��.@s.��.�t.��.�t.��.@u.��. u.��.�u.��.�u.�.�.�.�x.�. �. �.@v.(�.0�.0�.�z.8�.@�.H�.P�.h�. �.p�.��.��.ږ	��.��.���.P��. 
��. ��.���.p�.��	�.��.�. Z �.`Z(�. [0�.0b8�. `@�.�`H�.�_`�.�^��.�Z��.�]��.�[��.�	��.��	@�.K�	H�.0�.P�.�X�. `�.�h�.�p�.�
x�.P��.���.P��.@��.`��.���.`
��.� ��.`��. ��.���.`��.�	�.Q�	 �.f�	8�.��	P�.��	h�.��	��.̷	��.�	��.I�	��.P�	��.[�	��.e�	��.p�	�.y�	�.��	�.��	�.e�.��	�.��	��.��	�.��	(�.�B0�.@C8�.�C@�.pGH�.0GP�.IX�.�F`�. Dh�. Fp�.�Ex�.�D��.D�	�.��.�.���. ��.���.���.����.`��.���.���.@� �.p�(�.��0�.��8�.`�@�.�H�.��P�. �X�.�h�.x�	p�.��.��.��.��.��.��.ܴ	��.'b��.�c�.� �.�@�.�0�.�P�.L��.L�.h�.��.0�.68�.[H�.xP�.�X�.X`�.�h�.�p�.x�.R��.Y��.'��.	�.�.��.$�.� �.?(�.�0�.i8�.MH�.SP�.X�.Y`�.1h�.\p�.`x�.&��.m��.@��.��.���.n��.���.���.��.���.���.���.���.���.�P�.���.�@�.e`�.e��.��.� �.(�.0�.�8�.@�.H�.P�.$X�.{`�.h�.p�.�x�.���.%��.��.��.���.���.���.��.u��.��.��.���.K��.���.���.��.
�.�.�.
�. �.M(�.0�.8�.@�.�H�.RP�.X�.Y`�.h�.�p�.?x�.��.���.��.:��.��.��.���.��.U��.v��.N��.l��.��.���.��.��.��.��.<�.�. �.�(�.0�.s8�.�@�.�H�.>P�.�X�.g`�.h�.p�.x�.��. ��.h��.!��. ��."��.��.#��.���.���.���.��.��.���.%��.A��.(�.��.�.&�.' �.P(�.b0�.8�.D@�.�H�.(P�.�X�.)`�.�h�.*p�.+x�.,��.@��.���.-��..��./��.0��.1��.2��.E��.���.3��.4��.���.���.'��.��.o�.��.5�.� �.6(�.70�.�8�.8@�.9H�.:P�.;X�.<`�.Uh�.�p�.=x�.���.���.r��.>��.?��.@��. ��.+��.D��.A��.���.B��.3��.C��.>��.D��.�.?�.��.��.� �.�(�.E0�.F8�.P@�.0H�.�P�.X�.7`�.Gh�.Hp�.Ix�.i��.���.%��.r��.���.J��.K��.L��.M��.���.���.!��.���.���.N��.���.O�.f�.,�.P�.� �.)(�.K0�.d8�.Q@�.H�.�P�.�X�.�`�.ch�.Rp�.�x�.T��.0��.U��.���.G��.���.V��.e��.W��.X��.��./��.Z��.A��.!��.[��.\�.��.]�.��.� �.^(�._0�.�8�.�@�.�H�.aP�.bX�.x`�.5h�.cp�.$x�.E��.d��.e��.f��.g��.F��.h��.���.j��.|��.i��.���.j��.k��.&��.u��.l�.m�.n�.8�.N �.�(�.L0�.Z8�.&@�.oH�.pP�.�X�.q`�.Sh�.�p�.x�.���.r��.,��.s��.t��.���.��.��.2��.u��.v��.���.C��.w��.��.x��.y�.��.e�.��.g �.{(�.w0�.z8�.{@�.|H�.�P�.}X�.`�.�h�.#p�.�x�.~��.���.���.q��.d��.J��.���.V��.���.���.��.��.���.���.J��.���.��.��.��.M�.� �.	(�.�0�.�8�.�@�.H�.�P�.�X�.�`�.ph�.�p�.�x�.-��.���.B��.���.k��.���.���.n��.9��.��.a��.<��.���.���.���.���.��.��.1�.��.7 �.�(�.0�.�8�.�@�.EH�.�P�.KX�.�`�.�h�.�p�.:x�.I��.���.��.���.a��.���.���.���.��.���.5��.���.k��.���.���.=��.��.h�.�.��.F �.�(�.�0�.�8�.�@�.
H�.pP�.�X�.�`�.�h�.�p�."x�.���.���.H��.���.���.���.O��.��.���.���.���.���.���.���.���.���.��.��.}�.��.� �.�(�.0�.m8�.�@�.�H�.yP�.�X�.�`�.�h�.3p�.+x�.���.^��.���.���.���.���.��.���.��.���.���.���.���.���.���.���.��.��.�.��.� �.(�.R0�.-8�.T@�.`H�.�P�.�X�.C`�.Wh�.bp�.�x�.���.;��.[��.~��.���.���.���.
��.X��.]��.���.��.T��.9��.J��.���.��..�.M�.��.h �.�(�.
0�.o8�.F@�.�H�.QP�.,X�.�`�.=h�.[p�.�x�.6��.���.b��.���.���.���.���.���.m��.z��.���.r��.o��.���.���.���.=�.��.��.s�.t �.�(�.�0�.�8�.�@�.�H�.6P�.8X�.�`�.h�.�p�.�x�.���.���.���.��.���.���.`��.��.���.��.���.���.���.@��.���.���.��.��.��.��.	 �.7(�.G0�.�8�.�@�.�H�.�P�.WX�.�`�.�h�.�p�..x�.���.w��.t��.)��.���.���.���.���.���.���.���.j��.~��.]��.���.���.��.��.C�.|�. �.(�.�0�.�8�.�@�.�H�.*P�.�X�.�`�.;h�.�p�.�x�.���.���.���./��.i��.���.O��.���.���.z��.��.g��.���.>��.���.
��.V�.��.$�.��.W �.m(�.�0�.&8�.@�.�H�.qP�.�X�.�`�.�h�.�p�.3x�.���.���.���.���.���.���.u��.���.���.��.���.���.���.���.���.���.��.;�.��.�.� �.�(�.�0�.8�.@�.0H�.P�.X�.n`�.h�.4p�.�x�.��.��.���.��.���.��.��.��H��H���,H��t��H����5b�,�%c�,��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h���������%j,D���%j,D���%
j,D���%j,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%�i,D���%}i,D���%ui,D���%mi,D���%ei,D���%]i,D���%Ui,D���%Mi,D���%Ei,D���%=i,D���%5i,D���%-i,D���%%i,D���%i,D���%i,D���%
i,D���%i,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%�h,D���%}h,D���%uh,D���%mh,D���%eh,D���%]h,D���%Uh,D���%Mh,D���%Eh,D���%=h,D���%5h,D���%-h,D���%%h,D���%h,D���%h,D���%
h,D���%h,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%�g,D���%}g,D���%ug,D���%mg,D���%eg,D���%]g,D���%Ug,D���%Mg,D���%Eg,D���%=g,D���%5g,D���%-g,D���%%g,D���%g,D���%g,D���%
g,D���%g,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%�f,D���%}f,D���%uf,D���%mf,D���%ef,D���%]f,D���%Uf,D���%Mf,D���%Ef,D���%=f,D���%5f,D���%-f,D���%%f,D���%f,D���%f,D���%
f,D���%f,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%�e,D���%}e,D���%ue,D���%me,D���%ee,D���%]e,D���%Ue,D���%Me,D���%Ee,D���%=e,D���%5e,D���%-e,D���%%e,D���%e,D���%e,D���%
e,D���%e,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%�d,D���%}d,D���%ud,D���%md,D���%ed,D���%]d,D���%Ud,D���%Md,D���%Ed,D���%=d,D���%5d,D���%-d,D���%%d,D���%d,D���%d,D���%
d,D���%d,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%�c,D���%}c,D���%uc,D���%mc,D���%ec,D���%]c,D���%Uc,D���%Mc,D���%Ec,D���%=c,D���%5c,D���%-c,D���%%c,D���%c,D���%c,D���%
c,D���%c,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%�b,D���%}b,D���%ub,D���%mb,D���%eb,D���%]b,D���%Ub,D���%Mb,D���%Eb,D���%=b,D���%5b,D���%-b,D���%%b,D���%b,D���%b,D���%
b,D���%b,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%�a,D���%}a,D���%ua,D���%ma,D���%ea,D���%]a,D���%Ua,D���%Ma,D���%Ea,D���%=a,D���%5a,D���%-a,D���%%a,D���%a,D���%a,D���%
a,D���%a,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%�`,D���%}`,D���%u`,D���%m`,D���%e`,D���%]`,D���%U`,D���%M`,D���%E`,D���%=`,D���%5`,D���%-`,D���%%`,D���%`,D���%`,D���%
`,D���%`,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%�_,D���%}_,D���%u_,D���%m_,D���%e_,D���%]_,D���%U_,D���%M_,D���%E_,D���%=_,D���%5_,D���%-_,D���%%_,D���%_,D���%_,D���%
_,D���%_,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%�^,D���%}^,D���%u^,D���%m^,D���%e^,D���%]^,D���%U^,D���%M^,D���%E^,D���%=^,D���%5^,D���%-^,D���%%^,D���%^,D���%^,D���%
^,D���%^,D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%�],D���%}],D���%u],D���%m],D���%e],D���%]],D���%U],D���%M],D���%E],D���%=],D���%5],D���%-],D���%%],D���%],D���%],D���%
],D���%],D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%�\,D���%}\,D���%u\,D���%m\,D���%e\,D���%]\,D���%U\,D���%M\,D���%E\,D���%=\,D���%5\,D���%-\,D���%%\,D���%\,D���%\,D���%
\,D���%\,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%�[,D���%}[,D���%u[,D���%m[,D���%e[,D���%][,D���%U[,D���%M[,D���%E[,D���%=[,D���%5[,D���%-[,D���%%[,D���%[,D���%[,D���%
[,D���%[,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%�Z,D���%}Z,D���%uZ,D���%mZ,D���%eZ,D���%]Z,D���%UZ,D���%MZ,D���%EZ,D���%=Z,D���%5Z,D���%-Z,D���%%Z,D���%Z,D���%Z,D���%
Z,D���%Z,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%�Y,D���%}Y,D���%uY,D���%mY,D���%eY,D���%]Y,D���%UY,D���%MY,D���%EY,D���%=Y,D���%5Y,D���%-Y,D���%%Y,D���%Y,D���%Y,D���%
Y,D���%Y,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%�X,D���%}X,D���%uX,D���%mX,D���%eX,D���%]X,D���%UX,D���%MX,D���%EX,D���%=X,D���%5X,D���%-X,D���%%X,D���%X,D���%X,D���%
X,D���%X,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%�W,D���%}W,D���%uW,D���%mW,D���%eW,D���%]W,D���%UW,D���%MW,D���%EW,D���%=W,D���%5W,D���%-W,D���%%W,D���%W,D���%W,D���%
W,D���%W,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%�V,D���%}V,D���%uV,D���%mV,D���%eV,D���%]V,D���%UV,D���%MV,D���%EV,D���%=V,D���%5V,D���%-V,D���%%V,D���%V,D���%V,D���%
V,D���%V,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D���%�U,D�[���V���Q���L���G���B���=���8���3��H�%�$�������������������������������������������������������������f.�D��H��dH�%(H�D$1���T,��t	�=�T,tH�D$dH3%(��H���H�=ej,���ˡ�6o���H�=�>,�U�H�=�p+�I�H�=?,�=�H�=.?,�1�H�=�>,�%�H�=^?,��H�D$dH3%(u1�H������I�f���H��dH�%(H�D$1��g,��t	�=g,tH�D$dH3%(u1H���H�=�i,���H�D$dH3%(uH�=]>,H��������f.�DH�=�f,H��f,H9�tH�>,H��t	�����H�=�f,H�5�f,H)�H��H��H��?H�H�tH��=,H��t��fD�����=ef,u+UH�=�=,H��tH�=�d+�	��d����=f,]������w������H��H�=I=,dH�%(H�D$1���R,�R�H�==,����H�=�n+���H�=#=,���H�=O=,���H�=�<,���H�==,���H�5ûH�=ۻ�w���b���t�PR,H�D$dH3%(uH����l��u������;�ff.���H��H�5R,H�=�Q,dH�%(H�D$1�������u��Q,��t��Q,H�T$dH3%(u$H���H�
e��@H�51�H�=9��M�������H��dH�%(H�D$1�H�D$dH3%(uH����~�f.�@��SH��dH�%(H�D$1�H�H����H�PH�
 c+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H�C;,H�H�PH�H�D$dH3%(u%H��[��H�=d,u�H��c,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�:,H�������s���SH��dH�%(H�D$1�H�H����H�PH�
�b+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H��:,H�H�PH�H�D$dH3%(u%H��[��H�=c,u�H�c,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�9,H�������s���SH��dH�%(H�D$1�H�H����H�PH�
`c+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H�;9,H�H�PH�H�D$dH3%(u%H��[��H�=(b,u�H�b,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�8,H�������s���SH��dH�%(H�D$1�H�H����H�PH�
�j+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H�Cj+H�H�PH�H�D$dH3%(u%H��[��H�=8a,u�H�'a,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�7,H�������s���SH��dH�%(H�D$1�H�H����H�PH�
@j+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H�s7,H�H�PH�H�D$dH3%(u%H��[��H�=H`,u�H�7`,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�6,H�������s���SH��dH�%(H�D$1�H�H����H�PH�
`k+H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�_��H��t2H��6,H�H�PH�H�D$dH3%(u%H��[��H�=X_,u�H�G_,�H�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=�5,H�������s�AWAVAUATUSH��H�t$(L��$�dH�%(H�D$x1�I�H�I�EI�H�����H��H��M��H�WI��H��M�ω�A��H�v�����A�� H�t$(�;A���{<tk���CH����H�BH��H�$�H�t$(<�������H9�rrH�$H�CH)�I�$I�L�4M�7I�uI�$H)�H�C1��G�CH��.@H���z��CH��H)�A����A��D	ȉC@����H9�uѸ6�nH�\$xdH3%(�zH�Ĉ[]A\A]A^A_�fD�6�nE��t�H�$H�L$HH�T$8H�l$L�T$PH�\$H��H�D$@H��H�D$@L�d$H��I��L�t$ M���3@H��L��L��I��H�D$0I��P�%���ZY���_���H�|$@H�t$(H��vˀ?uƀu�H�$H��H�\$H��L�d$L�t$ H��H)�H�CH�l$I�$I�I�?I�u����H�ƒ�H9�����6�nH������H�$H��L�1�D�9H��H��H	�I9�u�H��H�D$HH)�H9������H�CM�$I�I$I�H+$H)�I�u�)���H�t$(������f�H��dH�%(H�D$1�H��tFv4H��uHcH�T$dH3%(u1H���fDH��u%H���DH��uH���@H���%�����H��dH�%(H�D$1�H��tfvDH��u.Hcϸ6�nH9�u	�
1�DH�L$dH3%(uMH���H��uDH�:1���H��u4H�ϸ6�nH9�uĈ
1��fDH�ϸ6�nH9�u�f�
1�����1���H��dH�%(H�D$1�H��tfvDH��u.���6�nH9�u
�:1�fDH�L$dH3%(uMH���H��uDH�:1���H��u4�6�nH�����u�@�:1��D�6�nH����u�f�:1���������H��dH�%(H�D$1��z����/H�H����L��DH�H��t
L�@�L��H�H�H��H��H�u�H�H��tD)�L�A��ȀL��A�H�H��H��BH���WH��tD��RL�I�L�	�D	��A�H�1�H�T$dH3%(��H���H��t
L�@�L��H�H��BH���~�H��tL�A�L�A��A��D�A�H���H�t#H��t�L�A�L�A��A�ȀD�A�H���H�u�H���t�����RL�A�L�	Ѓ��A��[���f.��6�n�M������AUATUSH��dH�%(H�D$1��>��H�~H��twL�fI�$H��tKH��E1��fDH�{I��I�$I��H�H��t%��H��u�H�T$dH3%(L��uhH��[]A\A]�H�
���H�5��H�=���l��H�
����H�5p�H�=���M��H�
����H�5Q�H�=X��.����f�SH�
h�H��dH�%(H�D$1��������Hc�H�>����6�n��H�\$dH3%(ukH��[�H�H�p�>H���f�H�1�H�@H��t�H����H�6�H�v%��>H��H��w���H�H�p�>H���b�������H��H�
��dH�%(H�D$1���w"��Hc�H�>��@H�H�p�>H����v��9��f�H� 1�H9
�H�T$dH3%(�BH����H�H�H���t����t���u���H�H�@H���H�L$dH3%(��H��H����1�H�:u�1��z���r���f.�H�H�p�>H���	���fDH�6�F�@u��1���?9J�5����N1�9
�'����9B��������fD1�H�:����1��z�����fD1��z�����f.��������1�H�:����H�A�@��;B��������
��H�
v��!H�5��H�=���~��ff.�UH�
0�SH��H��dH�%(H�D$1�������Hc�H�>��H�H�@�8H�p��f�H�H�@�8H�p�H�H�BH��tp��8H�p��H��H�.H�EH��toH���H�����H�EH��txH�T$dH3%(u%H��H��1�[]��H�D$dH3%(uH��[]����H�
����H�5��H�='��u��H�
~���H�5y�H�=���V��H�
_���H�5Z�H�=���7���PXH�
���bH�52�H�=��H��dH�%(H�D$1����ff.�SH��H��dH�%(H�D$1����	%�H��F��@���t-@�����H��xWH�1�H�L$dH3%(uOH��[�@@��t:v@��u���fD@��u,��D@��uH��D�말������a���AUATUSH��dH�%(H�D$1����)H�Չ�H��H��Hc�H�>��@L�&H��H��A�$L��f�������uAI�T$��H�H�$����������H�}����H�E�H�D$dH3%(�H��[]A\A]ÐH�H��H�@�8H�p�+�����f�H�H�@H��t�H����DL�&I�$H����H���H��H��t�I�D$H�ڋ8H�p����I�D$H�ڋ8H�p����`���H�H�BH������8H�p��H�����4���@H�H��H�@�8H�p�{�������fDH�H�{����E1��H�H��J��I���8H�p�?���H�CI9�r�H������E1�f.�H�H��J��I���8H�p����L;cr����@H�6H������H�;H��H���?�z���f.����L�bI;\$�X���I�$H��H�؋8H�p���I�$H��H�؋8H�p�\����'����H�BL�`I�$H����H���I�|$H��I��H���L������I�D$H��tOH��1�����������H�
����H�5t�H�=��Q��H�
����H�5U�H�=���2��H�
c���H�56�H�=�����H�
D���H�5�H�=o���������ff.�@AVAUATUSH��H�_dH�%(H�D$1�H��tiH��L�r�L�gI��H��u�7fDH�]I�ދ}L��I��L�H���C����}H��L������I���u�H�D$dH3%(u,H��[]A\A]A^�H�
k��H�5V�H�=���3�����ff.���H��H�dH�%(H�D$1�H������H��t
H�J�H��B�H�GH�D$dH3%(uH����?��ff.�@��H��H��dH�%(H�D$1��H��H�H��t
H�P�H��H�H�GH��H��H��L�BH�GI��wΉ�H��~?��tH�H��tH�B�H��B�H�GH��H�GH�D$dH3%(u+H���t��u�H�H��t�H�B�H��B��H�G��p����H��dH�%(H�D$1��	fDH��H�H��tH�P�H�@�p�H�GH��H��H��H�GuՁ�tH�H��tH�B�H��B�H�GH��H�GH�D$dH3%(uH�������@AWAVAUATUSH��8dH�%(H�D$(1�H���������H��I��H�5q���Hc�I��H�>��f�H�BH�0L��1��O���I�EA�E�H�|$(dH3<%(���OH��8[]A\A]A^A_�H�BH�H���QL��H��Љ��@H�BH�XH���H�H���pH���H��L��L��H���
������f�H�BH�PH����0L���H��������L���@L�rI�H����H��
6�n�Ѕ��&���I�VL��H��L��������
���DL�zE�7fA��I��gH��L��H�����������I�WE��L�<$J�|5����a�e��������H�B�6�nL;x�����H�H��L��L��J���������t���@L�zM����I�GL�p�H��u	�3@I��I�H��L��J���C��=
6�nt���*���I�F�M��u�H� A�E1�I�E����@L�rM���-L��H�����I�ǃ�t	H���oI�vH����M��u	�I�vI��L��L��I��H���Å������M��u��q���f.�L�rL��H��L�I�V����Å��g���A�F@�dA�FA�EA�A�E�F���fDH�rH��1��
�L��H�����I�EA�E����f.�H�rH�����H������@H�BH����vhH���~H����H�uL��1����I�EA�E����H�
a����_��H�5��H�=��x����H���b�u렻6�n�^���fD�u����_H�jH�EH���H��L��L��ЉÅ��!���I�E�E��A�E�	�����u�7����I�L$I�t$L��L��L)��h���u{A�F��?A�E�o���H�B�8H�h��H�EH���R��H�mI��H�uH���sM��u��f�M����H�uI��H��L��I��L��m��tى��Z���H�L$H��L��L��H�D$(PH�?L�L$ L�D$(�+���XZ���'���H�|$ uzI�$H�l$H��tI��H�t$H��I��J�<(�R��M,$Il$���@H�
�������CH�5��H�=%�踻��H� A�EI�E����6�n������H�
O���H�5��H�=k��o���H�
0���H�5s�H�=+��P���H�
��1H�5T�H�=��1�����H�5<�H�=���������H�
���"H�5�H�=9����H�
���0H�5��H�=��ֺ���BH�5��H�=�辺��H�
���H�5��H�=��蟺��H�
`���H�5��H�=k�耺��H�
A���H�5��H�=���a���H�
"���H�5e�H�=T��B���H�
���H�5F�H�=���#���H�
����H�5'�H�=R���������ff.�@ATUSH��H��0L�gdH�%(H�D$(1�H��H���V�����uH�KH�sH��H��L)��<�H�|$(dH3<%(u	H��0[]A\����ff.���ATUH��SH��H��dH�%(H�D$1�H��t)�6�nH��uH�L$dH3%(u6H��[]A\�fDH�;H��tI��H�6H��I��L��t��L#Hk1���t��@��USH��H��xdH�%(H�D$h1�H�t$H����H�t$H�|$����H�����D$$=�z�T$ ��q�L$��h�t$��_�|$��;VD�D$A��;KH�l$P��H��APD��lL��1�WH��V�Q�R�����H��0H��tfD�
6�n�7�H�=��H�H��t H�H�P�W�P��Wf�P��W�P�H�+H�C1�H�L$hdH3%(uH��x[]��N��ff.���ATUH��SH��H��H�?dH�%(H�D$1�H��tfI��H�6I��L����H�EH]H�]L�H�EH��tH�P�H�U�@�H�]H��1�H�]H�L$dH3%(uH��[]A\�f.�H]�����D��H��dH�%(H�D$1��6�nH��u
1��?��H�1�H�L$dH3%(uH����V��fD��H��dH�%(H�D$1��6�nH��tWD�H�����A�E��x1�A��M�I��I��	�6�nI9�r'H�GH��
DD�H��H��L	�H9�u�H�
1�H�T$dH3%(uH������ff.�f���H��dH�%(H�D$1��6�nH��tM���x_A���6�nE��I��I9�r0L�OH�1��fDA�	I��H��I����L	�I9�u�H�1�H�T$dH3%(uH���@�6�n�����ff.��AWAVAUATUSH��H�t$(�1H�T$ dH�%(H�D$x1����jI����H�=��L��Hc�H�>��H�t$ H�|$(H�T$PH�Y�X���A�Dž�uAH�D$PH9t7�S��DE��,@H�AH�@H����L��H�T$ H�t$(L���A��f�H�\$xdH3%(D����H�Ĉ[]A\A]A^A_��H�YH�H����L���H�D$PH�KH���}H�T$ H�t$(H���I��L������A���fDH�AH�HH���b�%�M�H�T$ H�t$(L�����A���I���f�H�AH�H��fDL�aA�$I�T$��I�H�D$H���H�D$ H�D$H�D$(H�D$����{��������3L�z1�I��XI�����L�T$HA�$L��A�L$��	��H�����H�����f�A���~���fDL�qH�t$ H�|$(I�~H�t$8H�|$0��1�H���H�D$0L�d$PH�D$H�D$HL�l$8H�D$H�D$@H�D$H��L��AUL�L$L�D$(H�L$ ���Y^A�Dž���I�FH9�w4�ODI�H��H�؋8H�p��A�Dž���I�FH��H9�sI�L��H�؋8H�p�6���t�I�FH9��}I�H�T$HI��L��H�t$@H������A�Dž�uRH��I;^�LH�t$8H��tH�|$0�.���H��I;^�*I�H��H�؋8H�p��A�Dž�t�fDH������E1�@I�J��H��I���9H�q��I9�u�E1��I�J��H��I���9H�q�O�L9�u�����DH�YH�t$ H�|$(�C@u^H�L$(L�l$PH��H�D$PL��PL�L$PL�D$0�v��A��XZE���x���H�CL��A�6�n�8H�p������X���H�t$ H�|$(H�KH��I��H��L�����A���1����H�t$ H�|$(H�T$PH�L$�'���A�Dž�����H�L$H�|$PH��H�q�6�A�����fDH�t$ H�|$(H�T$PH�L$���A�Dž������f�H�t$ H�|$(H�T$PH�L$�W���A�Dž������H�L$H�|$PH��H�q�f�A���~���fDH��I;_�����I�L��L�4�H�؋8H�p�����t�I�L�D$L��H�T$H�t$J�0�{���A�Dž�� ���H�\$H�%fD������	�����l������H�
E���H�5��H�=S�软��D���H�BH�@H���H�L$HH�T$H�t$H�|$��A�Dž������H�\$H�L�D$PL����A�Dž��h���H�SH���H��H�|$P���L���@H�B�8L�p��I�VH�t$H�L$PL�D$HH�|$��A�Dž�����I�FH���;H�t$H�|$P��H�\$HA�$A�L$��	��H��>���H�����A�6�nH���������H��������A�����H�
y������H�5��H�=���h����M�uM�UH�D$HH�\$M�L�H�����H��t7H�t$H��H��L)����H�\$HH��H�D$H��.����E1�����A�������H��������3��A������F��H�
?���H�5��H�=2�跭��H�
���H�5��H�=.�蘭��H�
����H�5��H�=���y���H�
����H�5}�H�=���Z���H�
����H�5^�H�=@��;���H�
����H�5?�H�=������H�
����H�5 �H�=�����H�
f���H�5�H�=���ެ��H�
G���H�5��H�=��迬���H�5��H�=��觬��H�
���H�5��H�=l�般��H�
q���H�5��H�=y��i���H�
����H�5m�H�=��J���H�
����H�5N�H�=���+���ff.�AWH��AVE1�AUE1�ATUSH��H��H�|$HH�l$`H�t$@H�L$0L�D$8dH�%(H��$�1�H�H�D$HH�D$H�D$XH�D$ H�D$PI�H�D$(�fDH��H��H�D$HPL�L$(L�D$0H�L$8H�|$X�z��ZY�����;H�sH��������H�SM�fL��M��L��H�T$L��L�D$����I��H��t^H�T$L�D$1�M��I)�I�L���q���H�T$XH��H��H�t$PI���Y�����u*M��H�t$@H���D���H�D$0L�(H�D$8L�01��#�L��L��H�߉D$���L�����D$H��$�dH3%(u!H�Ę[]A\A]A^A_���6�n����@AWAVAUI��ATI��UL��SH��H��8dH�%(H�D$(1�I������vmI��H�y��t��I��H�D$H����L��H��L��L���b�L�d$����L�e1�H�L$(dH3%(��H��8[]A\A]A^A_�@H�SH�L$L��L��L�D$ �����u�L�{L�l$ H�|$A�?M�w��I�uI�w�!��I��H��tIM�oJ�4(I�FH��tY1����i���fD��_���fDL��D$�|����D$�D���H�{H�T$ H�t$�=���$����~���H�
��.H�5�H�=�����H�
���)H�5��H�=���Ш����AVAUE1�ATUSH��dH�%(H�D$1�H�H�H��u*H�T$dH3%(D��uWH��[]A\A]A^�f.�I��H��H��I��H������H��tH��L��H�����I�$H�]��A��蛽��ff.���SH��@dH�%(H�D$81�H��6�nH�����Z�6�n��H�19700101H��H9����O�D$ �����W��0��0i��������k�dȍP�G��d����D$�G�������G�DPωD$�G�������G�DPЉD$�G�������G	�DPЉD$�G
�������G�DPЉD$�G�������G
H��DPЉ$�Ų��H���t?H�1�H�\$8dH3%(u1H��@[�@�0000����f�00����1����6�n��4���@��AWAVAUATUSH��dH�%(H�D$1�H��6�nH�H��t\D�/H���6�nA��wJL�~�H��I��I��L������H��tRH�sL��H�����I��I��v��D����A D(�M�1�M�<$H�T$dH3%(uH��[]A\A]A^A_�����l���ff.����H��dH�%(H�D$1�H�D$dH3%(u	H���O��*���f.���H��dH�%(H�D$1�H�D$dH3%(u	H��������f.���AWAVAUATUSH��(dH�%(H�D$1�H�H����I��H��I��I��H��H��L��H�$H�D$�#��Å�t-H�L$dH3%(����H��([]A\A]A^A_��H�\$H�{蒦��I��H��tjH�L��H��L���H�$H�D$���Å�uSL9<$ut��S���I�$H��tJH�T$���L�x�P�f����6�n�Y���fD��I���fDL��舫���6���L����s����!���虹��H�
��H�5-�H�=I��
���f.���ATI��UH��SH��PdH�%(H�D$H1�H��H�\$ H��H�D$ H��wH��H�PL�L$L�D$ ���ZY��tH�\$HdH3%(uCH��P[]A\�DA�<$H��I�t$����¸6�n��t�H�T$H�4$I��L��H������辸��f.�@��H��dH�%(H�D$1��?���H�T$dH3%(u��H����u���D��H��dH�%(H�D$1������H�D$dH3%(uH����8������H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���軷��ff.���H��dH�%(H�D$1������H�T$dH3%(u��H����t���@��H��dH�%(H�D$1������H�T$dH3%(u��H����4���@��H��dH�%(H�D$1�H�t
�W1�����H�T$dH3%(uH������ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH���諶��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����$���@��H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諵��ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����d���@��H��dH�%(H�D$1�H�?u	1����H�T$dH3%(uH�������ff.�@��H��dH�%(H�D$1�H�?u	1����H�T$dH3%(uH����ϴ��ff.�@��H��dH�%(H�D$1�H�H�T$dH3%(uH���苴��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H�������@��H��dH�%(H�D$1�H�H�T$dH3%(uH����˳��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���苳��ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH����=���ff.�f���H��dH�%(H�D$1�H���H�T$dH3%(u��H�������H��dH�%(H�D$1�H�?u	1����H�T$dH3%(uH���诲��ff.�@��H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諱��ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH����]���ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����۰��ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H���蔰��@��H��dH�%(H�D$1�H�H�T$dH3%(uH����[���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����ۯ��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���蛯��ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����T���@��H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H�H�T$dH3%(uH����ۮ��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���蛮��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����[���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����ۭ��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���蛭��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����[���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH�������ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH����ͬ��ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH���苬��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����˫��ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH����}���ff.�f���H��dH�%(H�D$1��G(����H�T$dH3%(u��H����3�����H��dH�%(H�D$1��G$�G(H�D$dH3%(uH���������H��dH�%(H�D$1��G %�H�T$dH3%(uH���趪��fD��H� H��dH�%(H�D$1�H9u	1����H�L$dH3%(uH����f���fD��H��dH�%(H�D$1��G����H�T$dH3%(u��H����#�����H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諩��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�����H�T$dH3%(u��H������@��H��dH�%(H�D$1��G����H�D$dH3%(uH���觨�����H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諧��ff.���H��dH�%(H�D$1��G����H�T$dH3%(u��H����c�����H��dH�%(H�D$1��G����H�T$dH3%(u��H����#�����H��dH�%(H�D$1�H��@ ����H�T$dH3%(u��H��������H��dH�%(H�D$1�H�H�T$dH3%(uH���諦��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����$���@��H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諥��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H������@��H��dH�%(H�D$1�H�H�T$dH3%(uH���諤��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����k���ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH�������ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH����ۣ��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���蛣��ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����T���@��H��dH�%(H�D$1�H�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����ۢ��ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH���荢��ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����ġ��@��H��dH�%(H�D$1�H�H�T$dH3%(uH���苡��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H�������@��H��dH�%(H�D$1�H�H�T$dH3%(uH����ˠ��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���苠��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����ğ��@��H��dH�%(H�D$1�H�H�T$dH3%(uH���苟��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����˞��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH���苞��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����K���ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H�������@��H��dH�%(H�D$1�H�H�T$dH3%(uH����˝��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���苝��ff.���H��H�dH�%(H�D$1�H��t	1�H�:��H�L$dH3%(uH����=���ff.�f���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���軜��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����{���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����;���ff.���SH��H��H��H��dH�%(H�D$1�H�������uH�$��H����H�H9�w�H�\$dH3%(uH��[���6�n��輛��ff.����SH��H��H��H��dH�%(H�D$1�H���6����u.H�$�������H�H9�w4H�r�H�����H���HBщH�\$dH3%(uH��[�fD�6�n���,���ff.����H���6dH�%(H�D$1�H��B���H�L$dH3%(u1�H����ך�����SH��H��H��H��dH�%(H�D$1�H�������uH�$�H�L$dH3%(uH��[�聚�����H���6dH�%(H�D$1�H��BH�D$dH3%(u	H�������:���f.���UH��H��SH��H��(dH�%(H�D$1�H�L$H�T$�����Ņ�u?H�D$H�|$E1�H��t%A��1��4H�����A	�H��wH9�r�D�艋��H�\$dH3%(��uH��([]�蛙��ff.���H��(dH�%(H�D$1�H�D$H�D$�H�t$H��B�ȉD$�	��H�L$dH3%(uH��(��/���ff.�@��H��Hc6dH�%(H�D$1�H��B����H�L$dH3%(u1�H����֘��fD��SH��H��H�w1�dH�%(H�D$1��9���H�s 1��.���H�{@�e���H�sH1��
���H�{h�Q���H�D$dH3%(uH�sxH��1�[�Q����\���ff.����H���o�oN�oV �o^0�of@�onPdH�%(H��$�1��ov`�o~p)$)L$)T$ )\$0)d$@)l$P)t$`)|$p�FtVH�FxH��teH�H��t]H�@�oH)�$�H��H��t+H���J��H��$�dH3%(u.H�Ĩ��H�F H��t�o@)�$�봸6�n��d���@��UI��SH�˹H��dH�%(H��$�1�H�l$H��I���H�H�
t+L���������H�t$P�T$ H�L$0foD$`H�s@H�t$8�SfoL$pH�s(H�t$@H�T$(H�K H�s0�t$HH�S�s8H�t$XCPH�sHH��$�K`H�sxH��tgH��tJH��1�H����p�����udfo�$�H�S ZH��$�dH3<%(uH�ĸ[]�fo�$�R��f�H��t;fo�$�a�@H�߉D$�L���H��$��߇���D$�f�H��$��D$过���D$�n���������H��dH�%(H�D$1�H�>H�D$dH3%(uH���諕��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諔��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諓��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諒��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諑��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH���諐��ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH����k���ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����+���ff.���H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�?��H�T$dH3%(u��H���褏��@��H��dH�%(H�D$1�H�?��H�T$dH3%(u��H����d���@��H��dH�%(H�D$1������H�T$dH3%(u��H����$���@��H��dH�%(H�D$1������H�T$dH3%(u��H������@��H��dH�%(H�D$1������H�T$dH3%(u��H���褎��@��H��dH�%(H�D$1������H�T$dH3%(u��H����d���@��H��dH�%(H�D$1�H�D$dH3%(uH��H�5~[+H���E��� �����SH��H��dH�%(H�D$1�H�H�5F[+H���~����uH�$H�H�L$dH3%(uH��[��ȍ�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5~r+H�����耍����SH��H��dH�%(H�D$1�H�H�5Fr+H��������uH�$H�H�L$dH3%(uH��[��(������H��dH�%(H�D$1�H�D$dH3%(uH��H�5~u+H����������SH��H��dH�%(H�D$1�H�H�5Fu+H���>����uH�$H�H�L$dH3%(uH��[�舌�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�V+H���e���@�����SH��H��dH�%(H�D$1�H�H�5VV+H�������uH�$H�H�L$dH3%(uH��[�������H��dH�%(H�D$1�H�D$dH3%(u	H���?���誋��f.���H��dH�%(H�D$1�H�D$dH3%(uH��H�5nU+H������`�����ATUH��SH��H��dH�%(H�D$1�H�I��H�5-U+L������
=6�nt)��u
H�$�JH�H�L$dH3%(u$H��[]A\�f�H�5	U+L��H���n�����Ҋ��f���H��dH�%(H�D$1�H�D$dH3%(uH��H�5�R+H�����萊����SH��H��dH�%(H�D$1�H�H�5vR+H��������uH�$H�H�L$dH3%(uH��[��8������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�Q+H���������SH��H��dH�%(H�D$1�H�H�5�Q+H���N����uH�$H�H�L$dH3%(uH��[�蘉�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�O+H���u���P�����SH��H��dH�%(H�D$1�H�H�5�O+H�������uH�$H�H�L$dH3%(uH��[�������H��dH�%(H�D$1�H�D$dH3%(uH��H�5NN+H������谈����SH��H��dH�%(H�D$1�H�H�5N+H�������uH�$H�H�L$dH3%(uH��[��X������H��dH�%(H�D$1�H�D$dH3%(uH��H�5^L+H���5��������SH��H��dH�%(H�D$1�H�H�5&L+H���n����uH�$H�H�L$dH3%(uH��[�踇�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�I+H������p�����SH��H��dH�%(H�D$1�H�H�5vJ+H��������uH�$H�H�L$dH3%(uH��[��������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�H+H������І����SH��H��dH�%(H�D$1�H�H�5�I+H���.����uH�$H�H�L$dH3%(uH��[��x������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�b+H���U���0�����SH��H��dH�%(H�D$1�H�H�5�b+H�������uH�$H�H�L$dH3%(uH��[��؅�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5~F+H�����萅����SH��H��dH�%(H�D$1�H�H�5FF+H��������uH�$H�H�L$dH3%(uH��[��8������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�D+H���������AUATI��UH��SH��8H�5�D+dH�%(H�D$(1�H�T$�K����t'H�L$(dH3%(��H��8[]A\A]��H�\$H�5�^+H�T$ H�{����D$��u6H�L�l$ H�R8I�U8H�;�&v��M�,$H�SH��H�U�v���D$�@H�31��ފ��H�s1��}��H����u���D$�[����
���ff.�f���H��dH�%(H�D$1�H�D$dH3%(uH��H�5�B+H�����������SH��H��dH�%(H�D$1�H�H�5VB+H�������uH�$H�H�L$dH3%(uH��[��h������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�?+H���E��� �����SH��H��dH�%(H�D$1�H�H�5�?+H���~����uH�$H�H�L$dH3%(uH��[��Ȃ�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5Nj+H�����耂����SH��H��dH�%(H�D$1�H�H�5j+H��������uH�$H�H�L$dH3%(uH��[��(������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�=+H����������SH��H��dH�%(H�D$1�H�H�5V=+H���>����uH�$H�H�L$dH3%(uH��[�舁�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�:+H���e���@�����SH��H��dH�%(H�D$1�H�H�5�:+H�������uH�$H�H�L$dH3%(uH��[�������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�6+H������蠀����SH��H��dH�%(H�D$1�H�H�5�6+H�������uH�$H�H�L$dH3%(uH��[��H������H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H���%��������SH��H��dH�%(H�D$1�H�H�5�+H���^����uH�$H�H�L$dH3%(uH��[�������H��dH�%(H�D$1�H�D$dH3%(uH��H�5.�+H������`����SH��H��dH�%(H�D$1�H�H�5��+H�������uH�$H�H�L$dH3%(uH��[�������H��dH�%(H�D$1�H�D$dH3%(uH��H�5N�+H�������~����SH��H��dH�%(H�D$1�H�H�5�+H�������uH�$H�H�L$dH3%(uH��[��h~�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5.i+H���E��� ~����SH��H��dH�%(H�D$1�H�H�5�h+H���~����uH�$H�H�L$dH3%(uH��[���}�����H��dH�%(H�D$1�H�D$dH3%(uH��H�53+H������}����SH��H��dH�%(H�D$1�H�H�5�2+H��������uH�$H�H�L$dH3%(uH��[��(}�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H�������|����SH��H��dH�%(H�D$1�H�H�5ַ+H���>����uH�$H�H�L$dH3%(uH��[��|�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�P+H���e����@|����SH��H��dH�%(H�D$1�H�H�5�P+H�������uH�$H�H�L$dH3%(uH��[���{�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�M+H�������{����SH��H��dH�%(H�D$1�H�H�5VM+H�������uH�$H�H�L$dH3%(uH��[��H{�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5>L+H���%����{����SH��H��dH�%(H�D$1�H�H�5L+H���^�����uH�$H�H�L$dH3%(uH��[��z�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5.J+H��酿���`z����SH��H��dH�%(H�D$1�H�H�5�I+H�������uH�$H�H�L$dH3%(uH��[��z�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5n.+H������y����AUI���ATI��UH��SH��(dH�%(H�D$1�H�H���e��H��tTH�5.+H�T$L��H�������uAH�T$�oBI�$H�H�UH�L$dH3%(u+H��([]A\A]�fD��ؐH�߉D$��j���D$���	y��f���H��dH�%(H�D$1�H�D$dH3%(uH��H�5>,+H������x����SH��H��dH�%(H�D$1�H�H�5,+H��������uH�$H�H�L$dH3%(uH��[��hx�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5*+H���E���� x����H��dH�%(H�D$1�H�D$dH3%(uH��H�5)+H��������w����SH��H��dH�%(H�D$1�H�H�5�(+H���>�����uH�$H�H�L$dH3%(uH��[��w�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5(+H���e����@w����SH��H��dH�%(H�D$1�H�H�5�'+H��螽����uH�$H�H�L$dH3%(uH��[���v�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5^�+H���Ż���v����SH��H��dH�%(H�D$1�H�H�5&�+H�������uH�$H�H�L$dH3%(uH��[��Hv�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�$+H���%����v����SH��H��dH�%(H�D$1�H�H�5�$+H���^�����uH�$H�H�L$dH3%(uH��[��u�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�"+H��酺���`u����SH��H��dH�%(H�D$1�H�H�5�"+H��辻����uH�$H�H�L$dH3%(uH��[��u�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H������t����SH��H��dH�%(H�D$1�H�H�5�+H��������uH�$H�H�L$dH3%(uH��[��ht�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H���E���� t����SH��H��dH�%(H�D$1�H�H�5�+H���~�����uH�$H�H�L$dH3%(uH��[���s�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5~+H��饸���s����SH��H��dH�%(H�D$1�H�H�5F+H���޹����uH�$H�H�L$dH3%(uH��[��(s�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H��������r����H��dH�%(H�D$1�H�D$dH3%(uH��H�5.+H���ŷ���r����SH��H��dH�%(H�D$1�H�H�5�+H�������uH�$H�H�L$dH3%(uH��[��Hr�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H���%����r����SH��H��dH�%(H�D$1�H�H�5�+H���^�����uH�$H�H�L$dH3%(uH��[��q�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H��酶���`q����SH��H��dH�%(H�D$1�H�H�5�+H��辷����uH�$H�H�L$dH3%(uH��[��q�����UH��SH��H��H�VdH�%(H�D$81�H�FH�|$ H�5-�+�T$$H�T$�D$ ��H�D$(�B�����uH�|$�D$�W�UH�H��db���D$H�L$8dH3%(uH��H[]��tp��@��H��dH�%(H�D$1�H�D$dH3%(uH��H�5.+H���U����0p����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H��������o����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H���մ���o����SH��H��dH�%(H�D$1�H�H�5v+H��������uH�$H�H�L$dH3%(uH��[��Xo�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5^+H���5����o����SH��H��dH�%(H�D$1�H�H�5�+H���n�����uH�$H�H�L$dH3%(uH��[��n�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5΂+H��镳���pn����SH��H��dH�%(H�D$1�H�H�5��+H���δ����uH�$H�H�L$dH3%(uH��[��n�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5ށ+H�������m����H��dH�%(H�D$1�H�D$dH3%(uH��H�5~+H��鵲���m����SH��H��dH�%(H�D$1�H�H�5F+H�������uH�$H�H�L$dH3%(uH��[��8m�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5.+H��������l����SH��H��dH�%(H�D$1�H�H�5�+H���N�����uH�$H�H�L$dH3%(uH��[��l�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�+H���u����Pl����SH��H��dH�%(H�D$1�H�H�5V+H��讲����uH�$H�H�L$dH3%(uH��[��k�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5>+H���հ���k����SH��H��dH�%(H�D$1�H�H�5+H��������uH�$H�H�L$dH3%(uH��[��Xk�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�*H���5����k����SH��H��dH�%(H�D$1�H�H�5��*H���n�����uH�$H�H�L$dH3%(uH��[��j�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5>�+H��镯���pj����SH��H��dH�%(H�D$1�H�H�5�+H���ΰ����uH�$H�H�L$dH3%(uH��[��j�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5N�+H�������i����SH��H��dH�%(H�D$1�H�H�5�+H���.�����uH�$H�H�L$dH3%(uH��[��xi�����SH��H��dH�%(H�D$1�H�H�5v+H���ί����uH�$H�H�L$dH3%(uH��[��i�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5>|+H�������h����SH��H��dH�%(H�D$1�H�H�5|+H���.�����uH�$H�H�L$dH3%(uH��[��xh�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5.�*H���U����0h����SH��H��dH�%(H�D$1�H�H�5��*H��莮����uH�$H�H�L$dH3%(uH��[���g�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�*H��鵬���g����SH��H��dH�%(H�D$1�H�H�5��*H�������uH�$H�H�L$dH3%(uH��[��8g�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��*H��������f����SH��H��dH�%(H�D$1�H�H�5V�*H���N�����uH�$H�H�L$dH3%(uH��[��f�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��*H���u����Pf����SH��H��dH�%(H�D$1�H�H�5f�*H��讬����uH�$H�H�L$dH3%(uH��[��e�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�*H���ժ���e����SH��H��dH�%(H�D$1�H�H�5��*H��������uH�$H�H�L$dH3%(uH��[��Xe�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��*H���5����e����SH��H��dH�%(H�D$1�H�H�5V�*H���n�����uH�$H�H�L$dH3%(uH��[��d�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��+H��镩���pd����SH��H��dH�%(H�D$1�H�H�5V�+H���Ϊ����uH�$H�H�L$dH3%(uH��[��d�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��*H�������c����SH��H��dH�%(H�D$1�H�H�5��*H���.�����uH�$H�H�L$dH3%(uH��[��xc�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5��*H���U����0c����SH��H��dH�%(H�D$1�H�H�5V�*H��莩����uH�$H�H�L$dH3%(uH��[���b�����H��dH�%(H�D$1�H�D$dH3%(uH��H�5�m+H��鵧���b����SH��H��dH�%(H�D$1�H�H�5�m+H�������uH�$H�H�L$dH3%(uH��[��8b�����H��dH�%(H�D$1�f�
��H�T$dH3%(u��H�����a����H��dH�%(H�D$1�f�?��H�T$dH3%(u��H����a��@��H��dH�%(H�D$1��f�H�D$dH3%(uH����va��fD��H��dH�%(H�D$1�H�H�T$dH3%(uH����;a��ff.���H��dH�%(H�D$1�H�>H�D$dH3%(uH����`��ff.���H��dH�%(H�D$1�H�D$dH3%(uH��H�5�Q+H���ե���`����SH��H��dH�%(H�D$1�H�H�5�Q+H��������uH�$H�H�L$dH3%(uH��[��X`���PXH�
�l�xH�5�kH�=�kH��dH�%(H�D$1��J��ff.�PXH�
gl��H�5�kH�=�kH��dH�%(H�D$1��kJ��ff.�AUI��ATI��H�=��+USH��dH�%(H�D$1��I������H���+H��u�nfDH�[H��t_H�+L��H�}��_����u�I�mH�=A�+�\K���Å�tm���/W���پH�kI��H�7�+H�81���G�������H�=��+�K���Å�u�H�O�+H�(H��tgH�uL���s_���Å�uUI�mH�T$dH3%(��uFH��[]A\A]�@�lj��V���پH�ajI��H���+H�81��]G���H�����:ǖ��^��ff.����AWH�=S�+A��AVI��AUATUSH��dH�%(H�D$1��\H��A�ą���L�-Z�+M����I�nL����H�[H����H�H��H�x�^����u�E����L�3H�=��+��I���Å�urH�L$dH3%(D����H��[]A\A]A^A_�@���U��D��H�RiI��H���+H�81��NF���9���H�=b�+A��wI���Å�t�����IU���پH�3iI��H�Q�+H�81��F���2���f���I��H��t�L�hL�0H�C�+�*���H�=��+A��:ǖ�I���Å�� �����\��ff.���AWAVAUATUSH��dH�%(H�D$1�H���H��I���:I��H���Y��H����H)�H�Ã�u�P���UH��DP���ۿH�sL�t5�O`��I��H����H��tH��H��L���@g��I�$L��H���m���L�����N����uH�$L��L��L��P��H�L$dH3%(��uiH��[]A\A]A^A_�@H�9�+H�H��t@H��L��L��P���f�H�=�9	I���Z��I��H���e���D�댻�:ǖ��[��ff.�f���ATI��USH��H��dH�%(H�D$1�H�FH�h�PH�L$dH3%(uH��H��L��H��H��[]A\���8[�����ATI��UH��SH��H��dH�%(H�D$1�H�H���tH��H�5�f��\��H��L��������u
H�$H��H��P H�T$dH3%(u	H��[]A\��Z�����AT�I��USH��dH�%(H�D$1�H���F��H����H�=P�+H���xD���Ņ�uBH�{�+H�=4�+H��LF���Ņ�uVI�$H�T$dH3%(��uzH��[]A\�����Q����H��eI��H��+H�81��B�����f�����Q����H��eI��H�ѧ+H�81��B�����f���t����Y�����ATUSH��dH�%(H�D$1�H�H�>t?H�=`�+H��H���C��A�ą�uFH�H�=D�+H�H�EH�H�@H��NE���Å�uX1�H�L$dH3%(utH��[]A\�D���Q��D��H��dI��H��+H�81��A�����f�����P���پH��dI��H�Ѧ+H�81��A������X��ff.�f���SH��H��H�>dH�%(H�D$1��\J��H�H�T$dH3%(uH��1�[��hX�����H��H��dH�%(H�D$1�H���m���1҅�uH�$1�H�����H�L$dH3%(��uH����
X��f.���SH��H��dH�%(H�D$1��T����uH�C(�C0H�T$dH3%(uH��[��W�����H��dH�%(H�D$1�H�G(�G0H�T$dH3%(uH����oW��ff.�@��H��H�=��+dH�%(H�D$1������tH�T$dH3%(uHH���H�=y�+�d�����u�H�=)�+�T�����u�H�D$dH3%(uH�=��+H���0�����V��ff.���H��dH�%(H�D$1�H�D$dH3%(uH����V��ff.���H��dH�%(H�D$1�H�D$dH3%(uH����^V��ff.���ATUSH��H��dH�%(H�D$1�H9~(t;H��H���0@��A�ą�u9H�k(�C0H�D$dH3%(uMH��[]A\�D�F0��f.����M��D��H�zaI��H���+H�81��v>���a����U��ff.����SH��dH�%(H�D$1�H9~(tH�D$dH3%(u\H��[��F0��~���F0u�H�F(H���IA���Å�t‰��M���پH�aI��H�$�+H�81���=�������U����H��dH�%(H�D$1��G0H�G(H�D$dH3%(uH�����T��ff.�@��UH�5T�+SH��H��dH�%(H�D$1��G���H�=p�+�>����u_H�5��+H���(���H�5��+H������H�5�+H���
���H�=3�+�N@���Å�uX1�H�T$dH3%(utH��[]���lj��K����H��_I��H��+H�81��<���������K���پH��_I��H�ѡ+H�81��<�����S��ff.�f���UH�5D�+SH��H��dH�%(H�D$1����H�=`�+�=������H�-�+H��H�����H��H�����H�-��+H��H���t���H��H�����H�-R�+H��H���W���H��H���|���H�=��+�?���Ņ�uZH�5��+H���[���1�H�T$dH3%(ugH��[]�f��lj��J����H�y^I��H���+H�81��u;���`���J����H�s^I��H���+H�81��G;���r��}R��ff.�f���AUI��ATI��USH��H��dH�%(H�D$1�H���H�$tH��H��H�5Z^�T��H���]����Ņ�t'H�L$dH3%(����H��[]A\A]�fDL��H���%��Ņ�uH��L��H���AM���Ņ�tL��H���@�H�������fDH�$L��H���!A���Ņ�u�L��H������Ņ�t2L��H����H������H�4$H���S���H����J���F���DL��L��H���6��L��H�߉���L��H������u�L��H���R������Q��f.���SH��dH�%(H�D$1����+��uH�D$dH3%(��H��[�H�=��+��:���Å�u^H�=W�+���H�=�+���H�=��+���H�=s�+�<���Å�uXH�D$dH3%(uvH��H�=
�+[�W�������9H���پH��[I��H�A�+H�81��8�����f����	H���پH��[I��H��+H�81���8������O��ff.�f���UH�-�+SH��dH�%(H�D$1����H�=c�+�C��H�=��+�C��H�=��+�vC��H�=��+�jC��H�=3�+�^C��H�=��+H9�tf�H�_�GA��H��H9�u�H�D$dH3%(uH��[]��SO����AWI��AVAUI��ATUH��SH��dH�%(H��$�1�L�t$L�d$H�D$L���T���Å�t%�A@L��H��L���jW��L��H����]P����uL��L��L��H���8N���Å�t�=�:ǖtCH�|$tL��L��H���5<��H��$�dH3%(��u*H�Ę[]A\A]A^A_�fDL��L��H���;������aN�����AWAVAUATUSH��dH�%(H�D$1�H�H�FH����H��I��I��I��L�fI�wL��H������uUH�$H����I�GL��H������u4I�o��I�WH��tH���H��u3I�7H��H�����t�H�L$dH3%(u3H��[]A\A]A^A_�f�L��H��Ѕ�u�I�G�a���1���I�U��iM��f���ATUSH��H�dH�%(H�D$1�H��t<H�{I��H��tH�CH�s���H�;tH��L���`�H����>��H�E1�H�T$dH3%(u	H��[]A\���L����ATI��UH���SH��dH�%(H�D$1�H��8��H�$H����H�H��H��H�@H�@���Å�u6H�4$�f�H�4$H�FH��t0H���H��uGH�VH�6H����Å�t�H��H���E��H�4$I�4$H�L$dH3%(��u,H��[]A\�@H��H��ЉÅ�t��������K��ff.����AVI��AUATUSH��H�� dH�%(H�D$1��H�t$H�D$H�D$�D$��U��1҉Ņ�uLL�d$L�l$fDH�t$L��H���B��H�t$H��tL��H���S���u׋D$9�G���@���A���H�L$dH3%(u
H�� []A\A]A^��K��D��AWAVI��AUATUSH��H��HH�T$H�D$H��dH�%(H�L$81�H�H�D$ H�$�U����u}L�d$ L�l$(�OH�t$ H����L��H���F����u%H�t$(H��L���N��H�t$(H��A���D��E��u^H�t$ H���qC��H�t$L��H���A����t�H�4$H���C��H�L$8dH3%(����H��H[]A\A]A^A_�f.�H�4$H����B��H�D$ H��t
H�L$H��H�T$0L��H�߽�:ǖ�T����u�L�d$0�H�5FVH�=�I����H��H��L��1��N��H�t$0H���;���W����I�����AWAVAUATUSH��H���dH�%(H��$�1�H�D$(H�D$@H��H�D$H�D$H�S������=�:ǖ�~H�|$@�BH�t$@H��A��:ǖ��H�5�UH�=[���UH����:ǖ��H��H��1���4���H��$�dH3%(D����H���[]A\A]A^A_�@��uSH�D$@L�|$0H�D$L�l$8L�t$PH�t$(L��H���?��A�ą�ty=�:ǖtrH�|$@�FH�t$H���9A��H�|$@�+���H��A��:ǖ�2��H��H���S����H�5UH�=�{G��H��D��H��H��1��M���#���E��u�H�l$0H��t�L��H��H���M��������f�L��L��H��H���/G����u[H�t$`H���~F��L��H�߅�t�I����D�I��L��H��H���5��H�t$0H���@��H�t$H���K@�����fDL��H��H�߉D$��4���L$���:ǖtH�|$@t2H�t$0H���=@������H�T$@��H���!}���@H�T$��H�߉L$�}�L$���d�����H�T$@��H����|�s�����F�����USH��dH�%(H�D$1�H��tA�?$��H��u6H���^0��H��tEH�L$dH3%(u<H��H��H��H��[]�9��D�$��H�T$dH3%(uH��[]ø�:ǖ���8F�����H��dH�%(H�D$1�H��t#�?$��uH�D$dH3%(u%H���RF��f�H�T$dH3%(�$��uH�����E���ATI��UH��S��H��dH�%(H�D$1���C�L$H�t$�H���uR����L��H���hR��H�D$dH3%(uH��[]A\����ȉD$��YE��f�AUATI��U��SH��H��dH�%(H�D$1��B��FH�t$�f�D$��Q���KH�S��L���1���H�D$dH3%(uPH��[]A\A]�fDL�l$f���L��f�D$�Q����u��C�L��L��f��f�D$�Q����D��ff.��AWAVAUA��ATI��USH��H��dH�%(H�D$1�H����H�:��1�@H��H�<�u���A��~�L�t$L��D$L�<�L���P��H��tLf�H��@A��~f���L��L��f�D$��P��H�D��L��H���HH�P����I9�u�H�D$dH3%(uH��[]A\A]A^A_�fD1�1��\����C��f.�AWAVAUA��ATI��USH��H��dH�%(H�D$1�H����H�:��1�@H��H�<�u���A��~�L�t$L��D$L�<�L���O��H��tLf�H��@A��~f���L��L��f�D$��O��H�D��L��H���HH�P����I9�u�H�D$dH3%(uH��[]A\A]A^A_�fD1�1��\����B��f.�H���WdH�%(H�D$1�H�GH��w��u�G1��"��u�H��H�GH�H�PH�H��t��f��H�L$dH3%(uH����$B��@H��dH�%(H�D$1���GH�G�WH��vZ��uaH��H�GH�H�PH�H��tJ�H�L$dH3%(u;H����H�D$dH3%(uH���������u�G1���A��ff.��H���WdH�%(H�D$1�H�G��PH��v"��u)H��H�GH�H�PH�H��t����u�G1�H�L$dH3%(u2H���fDH��v҅�u�H��H�GH�H�PH�H��t‹����@��@AVAUATI��USH��H��dH�%(H�D$1��9�����H�CH9�v�S��u�CA�$1��]@�K��u�L�+H)�H�CI�D-H�A�$M��tjH�u��<D��H��H��tDI��H��tH��H��L���.K��H��E�4$H�T$dH3%(H��u(H��[]A\A]A^���C��u	�C��1����?���AWAVAUA���(ATI���USH��(dH�%(H�D$1��C��H��H�������A����E$L���
����X���I;|$���t��OC��H���fH�E�] L�|$D��L��L���l���H����T$�E��H�E�U��tuD�s�1�I��I��L�t$�&��T$H��A���I�FA�VH9\$t:L�uL��D��L��I����H��uȸ��I�FH��I�H9\$u�DH�L$dH3%(H����H��([]A\A]A^A_�f�D��L������L��D��E$����É�I;|$����A�T$��uA�D$H��1�1���7�������H�EH�E���f.�A�D$���[���A�D$�M���DH�E����=��ff.����AWAVAUATU��SH��H��HdH�%(H�D$81�L�d$ H�|$ H�t$(L����D$0�����L��H�C���f��L��CH�CH�C(�C���E�����C���XH�S ��L���j�����L��H�C(�����L��C0�����L��C4�����L��C8����C<H�D$(H��uD�T$0E��u�D$01��+f�D�L$0E��u�H��H�D$(H�D$ H�PH�T$ H��t���C@��L���:�����L��CD�-���A��L;l$(�I�}��q@��I��H����I��J��H�D$M��u;�rf��"����L���@���I�U��L����A�E�k���I�EM�/I��L;|$t9���
@��I��H��u��t$0��u�M�/I���D$0L;|$u�@L�sH��L���r���A��L;l$(��I�}��?��I��H����I��J��H�D$M��u>�w��"����L�����I�U��L��A�E���I�EM�/I��L;|$t;���L?��I��H��u��D$0��u�M�/I���D$0L;|$u�fDL�spL�l$��L��L���J���H�����T$�CP��H�CX�STL���L���"���H��t}�T$�C`��H�Ch�Sd�D$0��u#H�L$8dH3%(�H��H[]A\A]A^A_�1�H���6<��H�{1���:ǖH��H�H�CpH)��Kx���H��D$0��D�띸��H�ChH�C`����f.����H�CXH�CP�;���f.��L$0��u�D$0E1�����D�D$0E��u�D$0E1�����fDL���h�������|$0��u��D$0�����T$0��u��D$0����9��ff.���SH��H�� dH�%(H�D$1�H�H�<$H��H�t$���D$����T$��u"H�H�L$dH3%(��u(H�� [��H��1���2���T$��:ǖ��D����(9�����AUA��ATI��UH��SH��dH�%(H�D$1������B$����H�\$�ȉD$H���E���E ȉD$�H��L���E���MH�UD��L�����E ��~01��H��D��L��H��H��HE�HH�P��9] �H�D$dH3%(uGH��[]A\A]��H�\$��D$H���E���E �D$�c���fD�B H�\$�����8��ff.���AUATA��UH��SH��H��H�RdH�%(H�D$1���(��H�SD��H����(��H�SD��H���b�C0A����L�l$�H��D$L���lD���C4�L��H��D$�UD���C8�L��H��D$�>D���C<�L��H��D$�'D���C@H�t$H���D$�D���CD�D$�L��H���C��H�SHD��H���x�H�SpD��H���i�KTH�SXD��H����KdH�ShD��H����H�D$dH3%(��H��[]A\A]�fDL�l$�H���L��D$�uC���C4�L��H��ȉD$�\C���C8�L��H��ȉD$�CC���C<�L��H��ȉD$�*C���C@H�t$H���D$�C���CDȉD$����6��ff.���ATUH��SH��H��dH�%(H�D$1�1�H�~��H�~t���s��t���KT��t���Sd��t��H�SpH��t���� H�:E�H�SHH��t����@H�:E�L�d$�H���L��D$�WB��H�SH��t
�H���&��H�SH��t
�H���k&���C�����C0�L��H��ȉD$�B���C4�L��H��ȉD$��A���C8�L��H��ȉD$��A���C<�L��H��ȉD$�A���C@H�t$H���D$�A���CD�L��H��ȉD$�A��H�SHH��tH�:t
�H����H�SpH��tH�:t
�H�����KT��uS�Kd��u4H�D$dH3%(uOH��[]A\�H�S�H�������f�H�Sh�H���O��DH�SX�H���7���4��AUI��ATUSH��H�dH�%(H�D$1�H��t2I��H��DH�CH��t	H�s L���H��H���%��H�]H��u�H�D$dH3%(uH��L��[]A\A]�W%���3��f���AWH��AVAUATI��UH��SH��hH�T$(H�L$dH�%(H�T$X1�H�H�H���H�D$@H�D$H��I�|$�S������H�D$P�D$$A�H�D$H�D$8H�D$L���I�H��tTf.�D9k(u8H�s L�D$L��H��H�L$�SA�Dž���=�:ǖ��=�:ǖ�"I��I�H��u��|$$A���H���A��:ǖtL��H�5�@H��1��14���H�t$@H����+��H�t$HH���>��D��H�T$XdH3%(��H��h[]A\A]A^A_�H�I9D$ ��I�D$H�T$HH��H�p�#��A�Dž�u�H�T$@L��H���<��A�Dž��s���H�D$HH�t$@H��H��.6��A�Dž��S���L�d$@���f�H�
9H�[@�H�D$P�o��A�Dž�tH�t$PH����������fDH�
H��j�H���5��A�Dž�u�H�
7H��c�H�����A�Dž�u�H�T$P�H���.��A�Dž�u�H�\$PL�;M����1��	fDH��H�BH�<�u�H�z��4��I��H����H�D$�KI�F I�V(I�v H��A�V����H�D$M�t�I�D�H��H�D$H��L�;M���6�0��+4��I��H���kH����H��A�ׅ�t�H���t��H�5-=H��1���1��L����!��뗐H���H�L$8L�D$Pt!H�M��H�5W=H��1��1��H�L$8L�D$PH�D$(H�H�D$L��f���fDH���H�L$PtH�M��H�5t=H��1��j1��H�L$PH�D$H��(����H�������H���M��H�5�=H��1��)1�������3��I��H��t|H�D$H�D$L���H��H�t$PI�D�������H������I���H�5+<H��1��0������H�t$PH���G��L��H�����A��a���H��H���&�����D$$����.��f���SH��H��H���dH�%(H�D$1�H��t�c���Hǃ�H�D$dH3%(uH��[��=.��f.���H��dH�%(H�D$1�H��H�L$dH3%(uH�����-�����AWH��AVAUATUSH��hH�L$(L�D$0dH�%(H�L$X1�H�I��z$���z �~H�BI���D�pH�XI�vM���_1���H��H��tlM���YH�]��t2�� ��I��L�8DA�D_t���H���A�I��I���u�H�t$@L��H�t$8�\7������t6H��L$�����L$��H�L$XdH3%(��H��h[]A\A]A^A_ÐH�D$HH�t$@L��H��H�D$ �$������H�t$HH����H�D$P1�E1�H�D$�H�T$L���(�����SL�|$PL�d$I��D��L�t$H��M��M��tA9T$s9A��A9VtcL���.H���{��H��tH�XD��H��H)�)�M��t�A9T$r�L��L�t$L�d$H�t$H�a�L��H��H����6�����D��tA��I�~H��L���/����u�M��H�D$HL�t$L��L�d$H�\$PL��L�t$HL��I��H��tL���$��H�t$PL���,%��H�T$ H�t$@L����"����uH�t$HH��������H�t$8L��L$�E$����:ǖM���A���H�D$(�L$L�0H�D$0H��(���fDH�t$HL��D$�7$���L$뫹�:ǖ����H�t$8L����#����:ǖ����*��ff.���H��dH�%(H�D$1���u;H�,]H�H�����H�AH����H�A1�H�T$dH3%(uH���@�������*��f.�f���H��dH�%(H�D$1�H��H�L$dH3%(uH����A*���H��H�$H��H�$H��XdH�%(H��$H 1���u=H�=�8��'��H��H��t)��(��H��$H dH3%(uMH��X �f����H�T$@H�t$� L�D$����1����uH�D$H��t�H�x �@1���)��ff.�@AVI��AUATI���U��S��H�sH��dH�%(H�D$1��,-��I��1�M��tbH��u}��t;A�]��t2���L��L�0DA�D^t�,��H����EH���]��u�1�L��L������L������1�����H�L$dH3%(u'H��[]A\A]A^�H��L��L���3����t��p����(��@��AWAVAUATI��USH��HH�|$H�L$L�D$dH�%(H��$81�H�I��pH�D$ ����H����H��H�T$(H�57H���/��H��I�ʼn�����E��t5H��$8dH3%(����H��H[]A\A]A^A_�f.�H�|$(H�5�	�/��H�|$(H��H�$���H���IL�t$0�$fD�L��H�=�6�������H�$�L���I��H���RH�5M6L��H�D$ �#��I�,�}#t�H�5+6H����-��L�lL9�t�H�56L���f#��M�|A�?���H�5�5L���-��I��;t�H���=L����#��H���Q�����L��L�@H�=`��������L��H�=�5�������A�|$$����A�|$ �����I�D$1�H�P�pL�����������������H�575H���"��L�<A�?�-���A�EH�|$H�T$ H���)���������H�<$�*��H�t$ H����H�T$H�|$�1���Ņ�t=�:ǖukH�D$ H�T$H�����f�I�T$A�t$1�L���<����U����A�|$$����A�|$ ����I�D$�H�P�p����f�H�t$ H�|$����W�����:ǖ�M����]%��ff.�f���H��dH�%(H�D$1���u;H�4H�H�����H�AH�w���H�A1�H�T$dH3%(uH���@��������$��f.�f���H��dH�%(H�D$1�H��H�L$dH3%(uH����$�����AWH��M��AVAUATUH��SH��H�zH��HH�L$dH�%(H�L$81�H�I�������
H�t$ H��H�t$�|.��A�ƅ���L�d$(L�l$0H�t$ L��H���W��A�ƅ���H�t$(H��t>L��H���g����uL�D$0A�P;UtL��H���j��H�t$(H���������uLH�t$H�����H�D$(H��tlH�L$H�H�D$0I�H�L$8dH3%(D��uQH��H[]A\A]A^A_�I�xH�uL�D$�'��L�D$��t��s����H�t$H���#���A��:ǖ��4#��@��H��dH�%(H�D$1���u;H�b\H�H�"���H�AH�W���H�A1�H�T$dH3%(uH���@��������"��f.�f���H��dH�%(H�D$1�H�FH�H�T$dH3%(uH����"�����H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�Qo+H�@(H�����:"��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�o+H�@@H������!��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��n+H�@HH�����!��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�an+H�@PH�����J!��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�n+H�@XH����� ��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��m+H�@`H����� ��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�qm+H�@hH�����Z ��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�!m+H�@pH�����
 ��f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��l+H�@xH�������f.���H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��l+H���H�����g�����H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH�1l+H���H����������H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��k+H���H�����������H��dH�%(H�D$1�H�D$dH3%(uH�FH�pH��k+H���H�����w�����ATUH��SH��H�^dH�%(H�D$1�H�Nk+H�s�P8H�;A�����H�����H������H�T$dH3%(uH��D��[]A\������ATUH��SH��H�^dH�%(H�D$1�H��j+H�s�P0H�;A�����H�����H�����H�T$dH3%(uH��D��[]A\����ATUSH��H�� dH�%(H�D$1�H�H�T$�4%���Ņ�tH�L$dH3%(��uSH�� []A\�H�L$H�|$�H�K	���H�|$A������E��xH�D$H��f�������@AUH��+ATI��UH��SH��H��dH�%(H�D$1�H��H�$�������H�����H�<$I������L��������xbH�<$������H�5�N���f��I��H��t~H��L��1�H�&	���L��xN�!�����tH�<$H����'���Å�tf���:ǖH�<$��
��H�T$dH3%(��u.H��[]A\A]�D�� ����:ǖ��@�߻�:ǖ���������ff.�f���UH��SH��dH�%(H�D$1�H�H�XH�{H��t�!��H�{�U
��H�;�M
��H���E
��H�}�<
��H�E1�H�T$dH3%(uH��[]��F��fDUH��SH��dH�%(H�D$1�H�����H��tf�H�=
*H����À��ۅ�uH�P��:t��tH�x����H��t5H�Ef�H�T$dH3%(��uH��[]��1���@������ff.��AWAVAUATI��UH��H�5f	SH��H��hH�|$H��dH�%(H�D$X1�H����H����L�|$H�¾@I��L���	��L��I�����M����L���
H����������!�%����t������D�H�JHDщ�@�H��L)�L�r�B�|4
�~�H�=o*L�������ud�/L�����H��uR�\L���u��H��u@H��L��L��B�D4���H�\$XdH3%(uYH��h[]A\A]A^A_�D��Ր�H�5I(H�=�����H�|$H���:ǖH��1��!����:ǖ랸�:ǖ����ff.�AVI��� AUI��ATI��UH��SH��dH�%(H�D$1�H����H��tZ�H�����H��tPH�	
+L�sL�+L�c�CH�H�XH�E1�H�L$dH3%(u)H��[]A\A]A^�D��אH���(
������L��ff.��AWI���AVAUI��ATI��USH��dH�%(H�D$1��_��H��H��tg��M��H��I��H��tRL������H��tHH�EH�:+L�mH�k�,��I�$H�C1�H�L$dH3%(u,H��[]A\A]A^A_�E1�H���e	��L���]	���������AUATI���USH��H��dH�%(H��$�1�H��H���Z
����x>�D$%�=@��1�H��$�dH3%(�H�Ĩ[]A\A]�����8I��u@�H�=&H�������taH�����H�߾�I����"��L����O
����t��H�5�%H�=����H�پ�:ǖL��H��1������:ǖ�T���@H��H�5�%��|	����y�A�}u�H�=�%�e�����H�=x%H���a"��H����	���S����H�5�%H�=���|��H�پ�:ǖL��H��1������:ǖ����������ATI��UH��SH��0dH�%(H�D$(1�H�H�t$H�D$H�D$H�D$H�D$ �Y����Å�uQH�t$H����H������Å�tWH�t$ H��t
H�nb+H��P0H�|$�&��H�|$���H�|$���H�L$(dH3%(����H��0[]A\�H�|$H�T$H�5J$�����Å�u�H�t$H�T$ H���%�Å��q���H�L$1�H�|$H���������x'H�t$ H�|$L���u����Å��K����/���fD������H�5J$����H�=����������H��H��1��g��� ����]��ff.�f���AWAVAUATI��UH��SH��H��HdH�%(H�D$81�H��::H�D$H�D$ toH������A�Dž�t(H�L$8dH3%(D����H��H[]A\A]A^A_�f�H�T$H�5s%H�����A�Dž���H�|$�w��H�|$ �m���L�jL�t$0H�t$(L��L������A�Dž�u�H�T$(�:�%L�D$0�H�=$L��L�$������NH��H��H�T$���H�T$A��H������L�$L������E������H�`+L��L��H��PA�Dž��?���H�t$0L��H�����A�Dž��$���H��_+H�t$0H��P8�
���fDL�l$ H�t$H��H��L������A�ǃ�t E������H�\$ L�t$0L�k�n���@H�|$H�5#�w���A�Dž������L��H�5�"H����A��뭺H�5Q"��H�=��A��:ǖ���L�龋:ǖH��H��1����H�|$(����H�|$0��������H�59"�����f���AWAVAUI��ATUH��SH��H�^dH�%(H��$�1�H��C��t*H�3�CH��tH��H�T$��������H�{H����L�%"L�t$����H����H���L��H����€�����H�{L��H����A�Dž�u4H�3L�|$H��tL�������tIL��L��H�����H�|$A�����H��$�dH3%(D��uiH�ĸ[]A\A]A^A_�fDL�����H�{�J����H�H��L���B���A���DE1��H�{E1�����H�C����b��f���ATUH��SH��H��0dH�%(H�D$(1�H�H�D$H�D$H�D$ ���H��t�H�=KH����€�����H�D$ H����H��H�t$��H�|$���H������I��H���QH�|$H�T$H�5O!�k����tH�|$�]��H�|$�S��H�|$ �I��L��������@H�x�_��H����H�D$ 1�1�H��H���B�������H�L$(dH3%(��H��0[]A\�DH�T$H�t$H�L$ H���q����H�t$ H�|$H��L��������E���H�D$ 1�H�D$����H�|$���H�|$ �w��1�H�;�a���H��1�1�1�����N����H�|$ �D$�B���D$�/���f�H�|$�f�H������J����>��ff.���AVAUI��ATUSH�� dH�%(H�D$1�H�FH�$H�T$H�t$H�H��H���H���Ņ�u`L�d$A�<$��L�t$�H�=nL�������ucH��H�5XL���q���Ņ�t;H�<$�b���L���Z���L���R���H�L$dH3%(��u}H�� []A\A]A^�H�<$L���d��뵺H�5���H�=����:ǖ���H�پ�:ǖL��H��1����H�|$���H�|$���������H�5
�����f.�@��AVAUI��ATA��UH��SH��H��0H�QH�udH�%(H�D$(1������tCH�SH�uA��@u]L�������t)1�A��t�U@1�9S@uA��tq�{D9}Dtif�H�L$(dH3%(��H��0[]A\A]A^���oL��)$�oN)L$H�F H��H�D$ �oRT$����v���A����A��t01��K09M0u��K49M4�z����K89M8�n����{<9}<�b���f�A��t*�U<�M8��t1�;S<�E�����t1�;K8�6���fDA�� uzA�ĀuDA��������C9E����������UD�KD1�!�9�����S���f��Ed;Cdt1�������t�H�shH�}h�������1���������L�spL�mpM9��u���M��tjI�EM��u;�j�H��t��y9xu��P;Qu�H�qH�x�f����u�I��I�EI��I�H��u�1�H�����������9���f�1�I�>����H���������u
��DAWAVE��AUATI��USH��X�T$L�|$8H��$�H�4$L��H�L$L�D$(D�L$dH�%(H��$H1������D$ ����D$A�n�L�l$@�D$$�:ǖH���H�4$L��L��L���N	��A�ƅ��CH�T$�t$L��L��������uL��L���0���fDH�����L$�T$\��~%;t?���H��;T��t&A��H9�u�DŽ$������D$$�:ǖ�f��D$D��$���tD9�$8�w���H��$�L���
��foD$@foL$P�D$foT$`fo\$pfo�$�fo�$�)�$�fo�$�)�$�fo�$�)�$�)�$�)�$)�$)�$ )�$0���f�H�4$L��L�������T$����H�L$(H��$0fo�$�fo�$�fo�$�H�Apfo�$�fo�$fo�$Ifo�$ Q Y0a@iPq`H��$HdH3%(�D$ ��H��X[]A\A]A^A_ËD$$�D$ ��H�4$L��L���T���H�L$(fo|$@�D$ foD$`foL$p9fo|$Pfo�$�fo�$�H��$�A fo�$�yI0Q@YPa`H�Ap�N����S����AVM��AUI��ATI��UH��S��H�� dH�%(H�D$1���t}H�qH�T$�����t#H�L$dH3%(uoH�� []A\A]A^�fDH�|$�hH��L��M��t$A��L���H���P���H�|$ �D$���^_�D$�f.�H����E1�j� ���ZY�������H��dH�%(H�D$1�H�FH�@8H�T$dH3%(uH����F��fD��H��dH�%(H�D$1�H�T$dH3%(u
��:ǖH����	��f���H��dH�%(H�D$1�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1��H�L$dH3%(uH���������SH��dH�%(H�D$1�H�H��tH�xH���#���H�;����H�1�H�T$dH3%(uH��[��'�����U�H��SH��dH�%(H�D$1�H��B�H��tMH��H��Q+�H��&�H��tAH�]�H�C1�H�T$dH3%(u0H��[]�f.����f�H���X������|��ff.����H��H�vdH�%(H�D$1����H�T$dH3%(u1�H����3����H��H�vdH�%(H�D$1��o���H�T$dH3%(u1�H�������SH��H��dH�%(H�D$1��C���H�{8���H�����H�D$dH3%(u
H��H��[�u��������SH��H��H�vdH�%(H�D$1����H���C���H�T$dH3%(uH��1�[��V��fD��AUI���@ATI��UH��SH��dH�%(H�D$1��o�H��t}H��H�����H��H�C8H��tm����Ņ�uH��>�H��t_H��O+H�X�,��H�PI�$H�L$dH3%(��uFH��[]A\A]�H�{8�w�H���o��ͽ�:ǖ���a��:ǖ�H��L���:ǖ�����s����USH��H��H�*dH�%(H�D$1�H�}�'��H����H�H�L$dH3%(u	H��1�[]����f.�AUI��H��ATI��USH��dH�%(H�D$1�H��������1��=
���Ã��tn����1�����޺L�����H�5)�Ņ��������H����I�$1�H�L$dH3%(����H��[]A\A]�@����:ǖ���(wʸ��H��JBu�H���:ǖH��u�1�  @@�Ł�?�8i�fD���1��g���Ã��t�����1������޺L����H�5�Ņ��*���������4�����L���:ǖ�R
��������������ATI��UH��Hc�SH��H��dH�%(H�D$1���M���H��H��H��1��N��H�L$dH3%(uH����[]A\��.��ff.���ATI��UH��SH��H�^dH�%(H��$�1��H��薩��H�s8H�������t@H�D$XH��H��A�$����1�H��$�dH3%(��H�Ġ[]A\���+������(w,�H��JBtEH��H���ʩ��H�S8��:ǖ��H��H��譩��H�S8��:ǖH������f.�H�H��H��H��u�  @t$�o���H�S8��:ǖ�@�[���H�S8��:ǖ��K���H�S8��:ǖ�����ff.���ATUSH��dH�%(H��$�1�H�FH����u-1�H��$�dH3%(��H�İ[]A\���I��H���/�H��H��t�H�ƹH�=��H�u����tH�}�:����H��u�H��H�T$��$���o���H�T$H��L�����uH�T$H��P���H���L���K����;����������UH��SH��H��dH�%(H�D$1��[�����u1�H�t$dH34%(u5H��[]�fDH�|$dH3<%(uH�UH�߉�H�R8H��[]�����[���ff.�SH��H��dH�%(H��$�1�H���H����������t*H�D$0H�1�H��$�dH3%(uWH�Ġ[�@������:ǖ��(wϺ��H���JBu�H���:ǖH��u�1���  @��-?�8i����f�USH��dH�%(H�D$1�H����H��H��H���S�H�߉��	��H����/����u;��tW�����:ǖ���(w&���H��JBuH���:ǖH��t(H�T$dH3%(��u(H��[]��1���@1۩  @�Á�?�8i�������UH��H���SH��H��H��dH�%(H�D$1�����1�H9�wH�L$dH3%(��u%H��[]�@H���X���:ǖ��t��
�������a����U��SH�ӺH��dH�%(H�D$1�H�t$�f�����u�T$��f����O�f�H�\$dH3%(uH��[]�����f�AUA��ATI��UH�պSH��(dH�%(H�D$1�H�\$H�������u0H��t�H��H��D$����D$�T$A�����O�A�$H�t$dH34%(uH��([]A\A]��w����AWAVI��AUATI��UH��SH��H��8dH�%(H�D$(1��H�t$&��a�������A���D$&f���������-����A�$��-H�L$(dH3%(D���|H��8[]A\A]A^A_��H�T$��H���a������9�D$f��t�f���%H�D$L�d$H�$H�D$ L�l$H�D$�,fDf������)�f�D$f���g���f����L���H���������L���H�����������T$�L$�Ѓ�H��9���f�|$u�f����H�$1҉�H������upH�L$1҉�H��������u[A�FltEA�F$�u=�T$���t$��A�V�T$ A�F$�D$A�V �,����H���C���u�D$�t$�	���A��:ǖ�x���A��:ǖ�m����e���DUH��H��SH��H��dH�%(H�D$1�����H��t'H�L$dH3%(u3H��H��H��H��[]�C���H�L$dH3%(��:ǖuH��[]����ff.�@ATI��UH��SH��H��H��dH�%(H�D$1�H�L$�����u�t$L9�w%H��H���:���H�T$dH3%(uH��[]A\Ð��:ǖ���t���@AUI��ATI��UH��S��H��dH�%(H�D$1���~vH�ʾ������uHH�L$L���H���#�����u2�D$���fDL��L���H��� �����u�D$�P��T$��u�H�t$dH34%(u)H��[]A\A]�f�H�L$L��������uҋD$��t�����ff.�@��AWAVI��AUATUSH��H�yH��H��hH�*L�ndH�%(H�D$X1�H�L�d$0H�ApH)�L��x���H�H�����L���&�H�}����H�߉��^�A�Dž�tOL��H���l���L����I�U8D��H���e���A��H�\$XdH3%(D���PH��h[]A\A]A^A_�@H�}H�t$(�j���A�Dž�tH�}���H�߉��P����fDH�EH�T$(L��uH��H�T$�t$H�$����A�Dž�t5H�}�T��H�߉��
���H��L��诟��L���W�I�U8�>���fDH�T$�t$L��H�<$���A�Dž�u�1��|$H�<$L��@��H�t6���A�Dž�u�H�T$�t$L��H�<$����A�Dž��l���H�<$L���h���A�Dž��P���H�D$$�D$H�D$H�L$�t$L��H�<$���A�Dž�tK����f.�H�<$L������A�Dž������H�T$�t$L��H�<$�o���A�Dž������D$$�P��T$$��u��|$��H�T$�t$L��H�<$�5���A�Dž������H�T$�t$L��H�<$����A�Dž��7���L������A�Dž��$����UH�t$HL��H�|$8�b���H�}A�����H�߉��\���H��L������L�����E��������D������D$����f�AVA��AUI��ATI��USH��@dH�%(H�D$81�H�H�l$H���G�H�t$L�������Å�t,H���,����H�L$8dH3%(uRH��@[]A\A]A^�DH�T$H��D��L���u����Å�u�H����Å�u�H�t$(H�|$L��D���l��������AVI��AUATUSH��H�� L�fdH�%(H�D$1�H�D$H�D$L����������I��H���I�t$8H�L$1�H���2�Ņ�tdH�t$H�����L����H�t$H����L��H���o���I�T$8��H���p��H�L$dH3%(����H�� []A\A]A^�H�t$H�T$H���V����Ņ�u��t$H�|$H�T$�=����Ņ��g���H�|$���H�߉��?���H�D$M�.1�H�D$H��I�E�D$A�E���H�t$H�����L��H��谛���M�����:ǖ�����9�f���AUI��ATUH��SH��(L�fdH�%(H�D$1�H�D$L��觚��I�t$81�H��H�L$����Å�tMH�t$H���@�L��H���%���I�T$8��H���&��H�L$dH3%(��u`H��([]A\A]��H�t$H�T$H�������Å�u��t$H�|$L�����H�t$H������L��H��譚����t�I�T$8��=�ff.�f���H��dH�%(H�D$1�H�T$dH3%(uH�����ff.���AWI��AVI��AUI��H��ATUSH��dH�%(H�D$1�1�f�D$������M�Ǻ���1�����@����H��H���vL���z�H��H�C8H���Y�e���A�ą���H��L����������c�A�EtH�t$��f��f�D$����I�ƃ��(A�}t�����#������jH��L������L��H���D�����*��H����H��;+H�XI�H�P�,�������"f�H�{8�w�H���o������L���0��H�L$dH3%(D����H��[]A\A]A^A_�f.���A��:ǖ���(w��A��H��JBu�H�A��:ǖH��u�E1�  @A��A��?�8i끐H�t$�������I�ƃ��������D� ���H�{8�x��A�����A��:ǖH�S8D��L���)�H��L������H���v�H�{8�m��H���e�������+�H�{8�(� ����(w����H��JBuNH�A��:ǖH��u�A��:ǖ�  @�|����q����A��(�`����D��H��JBt�A��:ǖ�I���������A��:ǖ���L������b���H��L��A��:ǖ����L���������AT�I��L�
c�UL�d�H���S�H�� dH�%(H�D$1�H��H����L��H��H�����H�L$dH3%(u	H�� []A\��Z�f.���AWf�AVI��AUATUSH��H��HH�ndH�%(H�D$81�)D$L�l$H��)D$ H�D$谕��H�u8H�L$H�ߺ���A�ą�t[L������H�t$H���>�H��H���#���H�U8D��H���$�A��H�L$8dH3%(D���hH��H[]A\A]A^A_�H�t$H�T$H����A�ą�u�L���W���t$L��L������L���p�A�ą��b���H�|$L�t$L�|$(�!��L��L��������I��H�����L9t$(t8�K��L��A��:ǖ�
��H�t$H���`�H��H���E���H�U8����@���L������H�t$H���.�H��H��A������H�U8E�����E�����E������f��+�A��:ǖ���(�c����A��H��JB�L���H�A��:ǖH���3���E1�  @A��A��?�8i�����-�ff.�f���AWAVAUATUSH��H�$H��H�$H��H�^dH�%(H��$� 1�I��H��I���~���H�{81�1���,��������ljź1����H�{8�6����xzH�T$������xeH�D$@L��$��L��H��H�D$1��H�H��H��
H�$��E1��DI��L;<$��� L������H��y�fD��A��:ǖ���(vf�����H�S8D��L���`�H��L���E���H��L�����L������
��D��H��$� dH3%(��H�ĸ []A\A]A^A_Ð�A��H��JBu�H�A��:ǖH���n���E1��  @A��A��?�8i�V���@H�T$L������#�H���"������S��A�ƅ��8���������(wD�A��:ǖH��JB�����H�A��:ǖH�����A��:ǖ�  @�����A��:ǖ��������AWf�AVI��AUATI��USH��HH�^dH�%(H�D$81�)D$H��)D$ �.���H�{8���H�{81�����������o�ljž1���B�����V���������L���^��A�Dž��{L�l$L�����A�D$t�L��D�����f��f�D$2H�D$2H��H�D$��A��~3A�L$$H�t$�L������f%f�D$2��A�D$$��D��L��L�����L����A�Dž��}L�������L��������H��L��蹐�����H�S8�����H�|$���(�#�H��JB�8H�H�|$H�����  @������������@�����(���H��JB��H�|$����H��L��A��:ǖ�
�������H�S8�,�H�|$��������H��L���܏�����H�S8D��L�����A��H�L$8dH3%(D���PH��H[]A\A]A^A_��H�|$�>��H��L��A��:ǖ�}����X��H�S8�f�������$����f�H�T$(H�t$�����I��H���t>H9D$(��L��������L���y�������H��L�����������H���D�C�A��:ǖ���(w>�A��H��JBu+H�A��:ǖH��uE1��  @A��A��?�8iL9t$(����L��A��:ǖ�O������f.�H�H�|$H��uL�  @�	���H��L��A��:ǖ�[����6��H�S8�z���DH�|$�������������f�����H��L��A��:ǖ�������H�S8�9���@H�t$�L��f�D$2�l�H�t$�L��f�T$2��P�H�L$4A�D$L��H�κH�L$ȉD$4�+�H�L$A�D$ L��H��ȉD$4�����fD�+�����4���D�������������f���H��dH�%(H�D$1�H�T$dH3%(uH�����f.�@��H��dH�%(H�D$1�H�FH�H�T$dH3%(uH����w����H��dH�%(H�D$1�H�T$dH3%(uH����>�ff.���H��dH�%(H�D$1��H�L$dH3%(uH������Uf�f��H��SH��H��dH�%(H�D$1�)�)G)G )G0f�t$f�D$���H�t$�H���w�H��tH�EH�(H�����H��H��H�P�T�H�D$dH3%(uH��[]��X����H��H�vdH�%(H�D$1�H���ۊ��H�T$dH3%(u1�H�����ff.�@��H��H�vdH�%(H�D$1�H���;���H�T$dH3%(u1�H�����ff.�@��AUI��ATUSH��H��L�fdH�%(H�D$1�I�l$H���+���A�D$HH��H��A�E�NJ��H�L$dH3%(u
H��1�[]A\A]��E�DSH��H��dH�%(H�D$1�H��tH�?����H�D$dH3%(u
H��H��[�������f���SH��H��H�:dH�%(H�D$1����H�H�L$dH3%(uH��1�[�����SH��dH�%(H�D$1�H��t6H���?���u$H�D$dH3%(u2H��H��[�/����s���ՐH�D$dH3%(uH��[��5��D��UH��SH��dH�%(H�D$1�H�H�XH�;����H�{���H�{�R���H�����H�}���H�EH�T$dH3%(u	H��1�[]����ff.�ATI��USH��H��dH�%(H�D$1�H�H�o 1�H�W(H�����H��tXH�PI�,$H�K(H�֋C0H)�H9�w*��u6H)�H�S H�K(H�|$dH3<%(u&H��[]A\�f���u�C0��1��Ѹ��������AWAVAUI��ATI��UH��SH��H��dH�%(H�D$1�H�H��t
����H��H��tm����I��I��H��t[� ���H��tLH���*L�}H�I�L�`L�h�@I�G1�H�L$dH3%(u=H��[]A\A]A^A_�@E1�L�����L���
���H�����L���
�����1���AVAUATUSH��dH�%(H�D$1�H�H�o(@����I���I���?��H��H����H��H�CH��H�CH��u+H�I�]1�H�L$dH3%(uxH��[]A\A]A^ÐH������H�H��t@M�t$ H��H��L���m�A�D$0��u�I�D$(L�I�l$ 띐��f�H������냐�����x����1�����H��dH�%(H�D$1�H�D$dH3%(u	H��������f.���UH��SH��H�^dH�%(H�D$1�H�{���H�{@����H�;���H���}��H���u��H�T$dH3%(u	H��1�[]�����AT1�L�5�H�{�UH��H�5{�SH��dH�%(H��$�1�L�L$H�D$�������H�D$�H�=�$H����€����1Ҿ��X���Ã����L�D$H�|$1�H�D$L��L�d$�lH�D$vH)���l���H�L�Ǹf�D$H�t$���L��n������A�ą�uY�]H�D$H���Y��D��H��$�dH3%(ufH�Đ[]A\������D� H�D$�A��H�D$�fD������D� ����A��DD��4���H�D$�DA�����|�������ATI���UH��SH�� dH�%(H�D$1�H�����H��t7�����I�|$8H��H���!�����u-H�]H�T$dH3%(u+H�� []A\ø��f�H�߉D$�4���D$���Y��f�AWAVI��AUATI��USH��(H�T$dH�%(H�D$1�H�H������]��H��H��tm�P�����H��I��H��tSL������I��I��H��tFH�{�π����u9H�T$L�;�CHH�S@H���*H�]H�U�E,��I�,$�1@E1�E1�H���Z��L���R��L���J��H�|$�����H�L$dH3%(u'H��([]A\A]A^A_�@H�t$�N������������/��ff.�@AWAVAUATI��H��UH��SH��H��8dH�%(H�D$(1�����¸�����3������H�EH�UL�|$$E1�L�<$I��H�D$�H�D$H�T$�D$$�9�;����� ��E�����;蠾��I�|$8H������u�3A��L��L������x�H�E8�3H�T$ �L���7����ujD�l$ �
���A�A���w,�3�L��L���
����u=�D$$ȅ����H�L$(dH3%(��H��8[]A\A]A^A_�D���t#��:ǖ��@��u��\���L���w����;�����u�H�E8H�E(H�E �E0������E��L�����I�ǸM���d����3D��L��L���D���Ã��t�H�I9�tL�������x��b���DL�}8L�} L�u(�E0I��v�I�GI�~�H�E A�H�}(�����������AWf�AVAUI��ATI��USH��H�ndH�%(H��$�1�)D$)D$ )D$0)D$@H��E��tlH�]H��tcL�t$P1ҾL�}�EL���p�H���x��H��L��H�P�)�L��L��L������L�����A���H��$��������L�uM���H�D$PH�\$H�D$1�I�vI;v��H�FH��H��I6I�FI�����H�|$H���1ҾH�����L��H����H�uH��L���~���=�:ǖt���u:H�t$H��������u)L�|$PH�uL���������i���L��1�L��L���	���H�߉D$�]���H�|$H����D$H��$�dH3%(u8H�Ĩ[]A\A]A^A_�f.�H�uL��1�L������D1������ff.�@��AUf�I��ATI��USH��hdH�%(H�D$X1�H�H��H�l$)D$)D$ )D$0)D$@H�$����Å�tBH��芾��H�|$H�@��H�<$����H�L$XdH3%(uoH��h[]A\A]�f.�1ҾH���A�H�4$H��L�������Å�u�H�t$H���_�Å�u�H�$H�t$L��L�����H�$���d����������AVf�I��AUI��ATI��USH��`dH�%(H�D$X1�H�H��)D$)D$ )D$0)D$@H�$H�D$�������A�>H�l$t\H�$L��L��L���
���H�$1�����H���Q���H�|$H�����H�L$XdH3%(usH��`[]A\A]A^��1ҾH����H�4$H��L�������Å�tH�<$�fD��H�<$H�l$�H�t$H����L�t$�Å��H��������ff.�f���ATf�I��UH��SH�ĀdH�%(H�D$x1�H�)D$0)D$@)D$P)D$`H�D$H�D$ ����H��tH�ƹH�=X�H�������t.H��1�1�1���H�T$xdH3%(�\H��[]A\�H�t$L�������u�H�����H��wyH�\$01ҾH�����H�t$H��L�����=�:ǖ����uH�t$ H���i��tUH�|$ �D$�G�H�|$���H��腻��H�|$h�;���D$�J���f�H�T$H�{H��1��=��0����H���H���H�|$h���1ҾH���/�H�t$H��L��������r���H�t$(H���J���]���H�|$(H�T$H��H�t$ ���1�H�D$ H�D$�2���f�1�H��1�1���H�|$ �������AVA��AUL�nATI��UH��L��SH��H��dH�%(H�D$1��y��H�u@L��H���=���A�ą�uA��u0L��H���y��D��H�L$dH3%(uH��[]A\A]A^�D1��I���EH�����ff.�@��ATH��I��UH���SH��PdH�%(H�D$H1�H��H�����H�u1�H��L������H�߉����H�|$8�v���H�L$HdH3%(uH��P��[]A\����fD��AVf�I��AUI��ATUSH��H��dH�%(H��$�1�H�H�l$@H��H��)$)D$)D$ )D$0)D$@)D$P)D$`)D$p��H�s1�H��L���Y�����u*H�D$h�T$pH��������H��H�D$`H�D$hH��I���и��H�|$x膿��H�ھ	L����H�s1�L��L������Å�toL��藸��H�|$8�M�����H��$�dH3%(ufH�Đ[]A\A]A^����u�D$pA�E$I�E���A�E$�^���f�H��L������Å�u�H�D$@I��s������ff.�f���AVI��AUI��ATI��U��H��S�H��PdH�%(H�D$H1�H��H�����H�߉l$DH�t$D�z��L��H������I�t$H��L������H�߉�耷��H�|$8�6���H�L$HdH3%(uH��P��[]A\A]A^��B��f���AVAUATI��USH��H�yH��H��PH�*dH�%(H�D$H1�H�H�ApH)���x���H�H�EH9E��I��H��I���
L�����H�u�L��H��Hu���H�EI�u1�H��L�������Å�tCL��裶��H�|$8�Y�����tT���:ǖtLH�T$HdH3%(��uAH��P[]A\A]A^�DH�t$(H�|$ L���������D��:ǖ뵐������$��@��AVI��H��AUATI��UH��SH��`L�n�dH�%(H�D$X1�H�\$H�����H�u1�H��L���-�������H�t$8H��ukI�m�H�5��H�=������:ǖL��H��H��1����H��蒵��H�|$H�H�����:ǖH�L$XdH3%(u`H��`[]A\A]A^�fDH�|$0L������H�߉D$�B���H�|$H����D$��t=�:ǖu�����랐=�:ǖ�J��������ff.���AUI��H��ATI��UH���SH��XdH�%(H�D$H1�H��H�����L��H������H�uH��L����H�߉�蘴��H�|$8�N���H�L$HdH3%(u
H��X��[]A\A]��\��ff.����AUH��ATI��USH��H��XdH�%(H�D$H1�H��H���)�H�sH��L���e���H��A���
���H�|$8���H��L����H�L$HdH3%(uH��XD��[]A\A]�����f���AUI��H��ATI��UH��SH��dH�%(H��$�1�H��H����L��H��萹��I�t$H��H�����H��A���`���H�|$8�����E$u(H��$�dH3%(D��utH�Ę[]A\A]�@H�\$@L��H�����EH�ߺH��$�ȉ�$�����I�t$H��H���-���H���ղ��H�|$x苹���v���������H��dH�%(H�D$1�H�FH�H�T$dH3%(uH����w�����H��dH�%(H�D$1�H�T$dH3%(u
��:ǖH����9��f���H��dH�%(H�D$1�H�T$dH3%(uH������ff.���H��dH�%(H�D$1��H�L$dH3%(uH���������H��H�vdH�%(H�D$1�H����p��H�T$dH3%(u1�H����o��ff.�@��H��H�vdH�%(H�D$1�H����o��H�T$dH3%(u1�H������ff.�@��AUI��ATUSH��H��L�fdH�%(H�D$1�I�l$H���o��A�D$PH��H��A�E�'p��H�L$dH3%(u
H��1�[]A\A]����D��SH��H�>dH�%(H�D$1�H��t#H�GH��H��tH���;���H�;�3���H�1�H�T$dH3%(uH��[��?��ff.�@��SH��H��H�:dH�%(H�D$1��ܶ��H�H�L$dH3%(uH��1�[��������USH��dH�%(H�D$1�H�H�F���u1�H�L$dH3%(u`H��[]�@�H��H���W���H��t͹H�=��H����€���u�H�L$dH3%(uH��H��H��H��[]����>��ff.���U�H��SH��dH�%(H�D$1�H��R���H��tMH��H��+�H��6���H��tAH�]H�C�1�H�T$dH3%(u0H��[]�f.����f�H���h��������ff.����AVI��AUATI���UH��SH��dH�%(H�D$1�蝯��H��tPH�mL��H��L�mL����l���E`L��L��H�EHH�C�zm��I�1�H�L$dH3%(uH��[]A\A]A^ø�:ǖ������ff.����AVAUATUH��SH��H�yH��H��L�ndH�%(H�D$1�H�H�ApH)���x���H�L�"I�|$��M�uH��L���%l��A�E`A9$u[I�D$H��H��H�p�7�Ņ�t1L��H���l��H�\$dH3%(��u=H��[]A\A]A^��I�D$H�I�D$�L��H�߽�:ǖ�`l��븽�:ǖ���f���H��dH�%(H�D$1�H�FH�p@H��tH�D$dH3%(u*H�����H���:ǖH�L$dH3%(uH������ff.����H��dH�%(H�D$1�H�D$dH3%(u	H������J���f.���AVAUI��ATI���USH��H�ndH�%(H�D$1��\���H����L��H�PL��H��豬��A�Ņ�uZL�uL��L���j��H�EH1�H�H�]H����UPL��L��J9�C��EP�k��H�L$dH3%(D��u%H��[]A\A]A^�H���X�����fDA����s���AUI��ATI��USH��H�^HdH�%(H�D$1�H��t&�H�sH�+L������H��H�����H��u�A�E`I�u@L��I�EH蘹��I�E@H�D$dH3%(uH��[]A\A]������AUI��H��ATUSH��H�ndH�%(H�D$1�胱��L�eL��L���Ti���E\L��L��X��]\��i����t$1�H�T$dH3%(u8H��[]A\A]��H��L�����H�}�$���L������H��������=���ff.�f���AVI��AUATUSH��H��L�-s6+H�ndH�%(H�D$1�L���h��L�eL������H�=|6+L��L�eH��腺����taL��H���&i��L��H���kh��H��H���@����m\L��H���i��L��H������ѣ��1�H�L$dH3%(u2H��[]A\A]A^�f�L��H����h��L��H���
h��H��H��������H������AUATI��USH��H��H�ndH�%(H�D$1�L�mL���g��H��H�����H�U@L��H������1�A������UP�J9�C��EP�C$t�C�ET�C �EXL��H���h��E��t(H�L$dH3%(D��uH��[]A\A]�f.��ˢ����脽��@SH��0dH�%(H�D$(1�H�\$H���H�$1�H�=�4+H�\$tH�L$(dH3%(u)H��0[ÐH��������u�H��4+�@H���p������	���f�AUI���hATI��USH��(dH�%(H�D$1��&���H����H�hH��H���d������L��讻��H�H����H�H�C@1�H�CHH�CPH�CX�C`����SPL�+�J9�L��C��CP�u���H�=�3+H��L��H�������u=I�$H�t$dH34%(uHH��([]A\A]�DH�߉D$�ܭ���D$�θ�:ǖ��H�;�ǭ��H��迯��H��跭����:ǖ��ۻ��ff.���AWAVI��AUATUH���SH��(dH�%(H�D$1����H���I��H��	+H��L�-�2+H�\$I�D$L���e��H�������H��H���p���A�Dž���H�ڋ
H����������!�%����t�H�=�2+�����D�H�JHDщ�@�H��H��H)��+���H��u�H�t$H�����L��H��A���;e��E��uNH�D$M�&I�D$�����f�H��L���e��L���}���H�|$dH3<%(D��u$H��([]A\A]A^A_�L���P�����A��:ǖ���q������AUI��ATUH��SH��H��(L�%�1+dH�%(H�D$1�L����c��H�����L���J���H�=�1+L��H���H���H�D$H����H�pH���c��H�t$H�߃F\H���Id��H��L���>d����$���H����H�T$�Clu0H�
�+H�PH�EH�H1�H�L$dH3%(u\H��([]A\A]ËK$��uȋrT����s�rX�K$�s 뱐H�t$L���c������r���L��H�߉D$�c���D$뛸�:ǖ��:���f.���H��dH�%(H�D$1�H�FH�H�T$dH3%(uH���������H��dH�%(H�D$1�H�T$dH3%(u
��:ǖH���蹸��f���H��dH�%(H�D$1�H�T$dH3%(uH����~���ff.���H��dH�%(H�D$1��H�L$dH3%(uH����8������UH��SH��H�>dH�%(H�D$1�H�_H��t9H�{�Ω��H�{�ũ��H�{輩��H�{ 賩��H�{@誩��H��袩��H�}虩��H�E1�H�T$dH3%(uH��[]�裷����UH��SH��H�dH�%(H�D$1�H��tH�{�B���H���:���H�E1�H�L$dH3%(uH��[]��D���@S1������H��dH�%(H�D$1��ϧ��1�����������9���H�T$dH3%(u
��H���D�[����f.�AVA��AUI��ATA��USH��H��dH�%(H�D$1��������H�5���$������t%�+1�H�T$dH3%(u|H��[]A\A]A^�@E��tCE��1�1�L��H�=���
����Ń��tD�������H���u�fD�۴�����E��1�1�L��H�=[������Ń���r����������AUI���H�=3�ATI��L��UH��SH��dH�%(H�D$1���������A�<$uZ蝦���Ǿ�������_����ǃ����H��H�����������A��H�T$dH3%(D����H��[]A\A]����
H��L���H���������uH�$�:�z����A�������H�=X�L����À��ۅ���H�=>�L����À��ۅ����H�=#�L�������t<�H�=�L����������H�=��L���������1�1��-���A��M��H��H�
��1�H�=�A��4�����������H�$D��H����J���H�<$A��������f�A�������蛲���8_�����ݤ��9�����������G���A������c���D�����A������N���A�����0���訳�����H��H�vdH�%(H�D$1�H����]��H�T$dH3%(u1�H����_���ff.�@��H��H�vdH�%(H�D$1�H����\��H�T$dH3%(u1�H�������ff.�@��AUI��ATUSH��H��L�fdH�%(H�D$1�I�l$H���{\��A�D$LH��H��A�E�]��H�L$dH3%(u
H��1�[]A\A]�蕲��DAV�:AUATUH��SH��dH�%(H�D$1��G���H����H�X�:I��E1�H��I)��$���H��tI��t)H�L$dH3%(D��ukH��[]A\A]A^�f�L�`I��L��I)�����L9�u��H�=]�H����€���u�H��L��H��E1������A���DE1��趱��fD��UH��SH��H�^dH�%(H�D$1�H�{�V���H�;�N���H���F���H���>���H�T$dH3%(u	H��1�[]��P���AWE��AVAUATM��UH���XSH��8H�t$H�T$�L$dH�%(H�D$(1�I��Z���H����L�pI��L����X���Å���L�L$L�D$1�H��H�O��L��赣�������H��D$E�}@H�=�I�EH�A�ED������1���A�EP谼��A�ULM�,$�J9�C�A�ELH�t$(dH34%(��uHH��8[]A\A]A^A_�L��������fDI�EL�����L�����뭻�:ǖ��
���ff.�f���AWAVAUI��ATUH��SH��L�~dH�%(H�D$1�M�gL���xY��A�D����H������Hc؃�������y���I��H����A�GH1�H��H��H�5�A�FA�D���L��H��A�A�FH�$I�F�Y��M�u1�H�L$dH3%(uWH��[]A\A]A^A_�f�L��H���uY����:ǖ��L��H���cY����:ǖ�H�<$�à��L��H���HY����:ǖ��ܮ��ff.����UH�yH��SH��H��dH�%(H�D$1�H�$H�H�ApH)���x���H�H�H��t9Hcs�;9�}/���FH�K�S)�H�H�t7�|��9�t;{u3�CH��H9�u绎:ǖH�T$dH3%(��uIH��[]�f�H���x������t%�CH�<$Hc�H��蛰��H�<$�����묻�:ǖ����f���AUI��ATUH��SH��H�^dH�%(H�D$1�H�L�cH�$L���MW���CD��tf�{H��t_H����������H�<$Hc�L��������H�<$�/���L��H���W����H�L$dH3%(uYH��[]A\A]��H��H�5�H�=yy�u�����:ǖH��H��H��1���:ǖ����f���:ǖ����@��H��dH�%(H�D$1�H�D$dH3%(u	H���_���説��f.���AWf�I��AVAUI��ATUSH��H��L�vdH�%(H��$�1�)D$PI�F)D$`H��H�D$H�D$@��U��A�VD����I�wH�T$@H��H�l$P���A�ą�tRH���"���H�t$@H������H�t$H���XV��H��$�dH3%(D���VH��[]A\A]A^A_�@H��谟��L���H��� ���H���ȭ��A�ą�u�H�D$hE�NDL�T$XL�\$@H�D$A�FP���EH�L$L��E��L��H�=Ӽ�����ƒ����1��T$�}���A�NLH�ߍq9�C�H�t$8A�FL谠��A�ą�����A�w8�D$8�T$9��aI�EL��H��H�D$H�D$HH��H�D$��A�ƅ�����L�|$p�fD��$�L��H��D9�DG��?���H�T$L��L��H��������t�L�l$HM��tI�}�e���L���]���H�D$HE���a���H�t$<H��������L����D$<D��)�A9ƸF�H�D$E1�xD���#���DH�L$L��E��L��H�=��D�L$,L�T$ L�\$迴���ƒ�������蟨��L�\$L�T$ D� D�L$,A���f���A���\���E�������������n���fD�[���D� ��fD)Ɖ��W������f�H�t$H��A��:ǖ��S�����胩��AVA��H��AUI��ATUSH��dH�%(H�D$1��v���D�`H��L��藕��H��trH������ȉCH�{L������E��L��H��H�5��H�=x�踳��H�߉��Κ��1����u蒧���H�L$dH3%(uH��[]A\A]A^�����Ĩ��@AWA��H�5�AVM��AUM��ATA��H�U�UH��D��SH��HH��$�H�L$1�H�D$dH�%(H�D$81�����H��謔��H��H�D$��H�|$L�L$(E��D��L��L�����L�T$��uz��L�d$(H�H�٠*A�\$HI�BH�D$M�bL��]lA�,����t
�]$��tU1�H�T$8dH3%(����H��H[]A\A]A^A_�fD���f�L�׉D$�t����D$���@M�l$H��H�D$0L���/Q��A�|$D��tf1�H��H�5Ѹ������tL��H�t$0谩��H�|$0���t;��~6�ȉE�GȉE ���L��H���Q���E$����E$�&����H�|$0�֘��L��H���[Q�����������AWAVAUATI��USH��(H�^dH�%(H�D$1�H�H�D$�;��tAD�C(H��E��t.L�k �C(M���i1�L��H�5����������'H�{t(1�H�T$dH3%(�;H��([]A\A]A^A_�L�t$H�C0H9C8��L�l$L�����H�S8H�C@L��H�D$D�<�D��舑��L�t$��xF�;L������H��t4�L��H�=���������uL�HH�s L��L�L$�=�����u)H�C8H��H�C8H;C0�s���L���k����&���fDH��H�C8L�CD��H�KUL��L�L$�3���H�|$ �D$�.���XZ�D$���H��H�KL�CM��U�3��L���t���Y^���DL�k�������f.�AWAVI��AUA��H���ATD��I��USH��H�5T�H��dH�%(H�D$1�H�1�H�$�?���������;H�Y�HD�H��蠣��H��H���H��D���	����Ņ��O�H�=�L���������L�4$I�$1�1�L������H��������H�T$dH3%(�-H��[]A\A]A^A_�H����v��������H�L�4$H����E�~H��E�.A�E��I9���I�w��谧��H��H���o���M��uA���U��������S����I�vL��H��聮��A���'�����f�L�4$�����f�1�H�ڿ����H�5���ڙ�������D������H��������ء���(fDL�4$�����軡��1�L�4$�(���1۽�:ǖ������ff.�f�SH��H��H��dH�%(H�D$1��K���{D��t	�����u7�CH1�����SL9JC��CL1�H�L$dH3%(uH��[��#�������z���f.���AVAUI��ATUH��SH��H�^dH�%(H�D$1�L�cL����K��H�uL���>���D�sDE��uUL��L���zL��L�����H�;�ړ��H���ғ��H���ʓ���5���D��H�T$dH3%(udH��[]A\A]A^�D�s@D��E1��r�����x&H�;�&���t�1��k��{D���Q����w���@�3���H�;D�0�����[������y���f���AWAVAUATI��USH��H��HH�nH�$L�uL��dH�%(H�D$81���J��I�t$H���7���A�Ņ����EDL�}��u5L���:�����}@H�MDH��H�PLE�1�L��������L�}L���D����I�D$L�|$H��H�pH�D$��I��L��蹍��H�$L���踑��L��谢������H�D$H�L$(H�5.�H�=۱H�T$D�@D�����������L����$�X���H�}���$��u
�C$�����A��L��H���uJ��D��H�L$8dH3%(�H��H[]A\A]A^A_��H�}�O���u�C$ubA��D1����}D���g������f�H�t$1��FH�ѫ��H�t$L���VL9JC��FL薊��H�}�����um�C$tgI�l$�CH��D�{ H�u�$�H���$D�EDA�H�T$0�H�5ðD�|$4H�=��ȉD$0�֩�����t11��J����UL�J9�C��EL�G������f�A�������苝�������ߞ��ff.�@AWI��AVI��AUI��ATI��USH��(dH�%(H�D$1�H��:H�H��g���H���~H��H��L)�H��H�T$H�������4���H�T$H��H���cL��H���(���L�{�:L������H��H���KH��L)�H��H�T$H������١��H�T$H��H����H����H�{H�L$�ќ��H�L$H��H����I�,$1�I�MI�H�L$dH3%(��H��([]A\A]A^A_ÿ�f���H�T$H��H����H���4����$�������1���H�T$H��H��tH��L���)���H���R����1�H��H�L$��H�L$H�������W���f.�H�=i���H��H��������1�1��f.�L���ț��H��H��������赜��D��SH��0dH�%(H�D$(1�H�FH�L$ H�T$H�D$H�t$H�D$H�D$ H�8����Å�t;H�|$�!���H�|$����H�|$ �
�����H�L$(dH3%(u7H��0[�DH�t$H�|$H�T$���Å�u�H�t$ �|$�x������ff.�@��AUI��ATI��H��USH��8dH�%(H�D$(1�H�l$ H�T$H�D$H�t$H��H�D$H�D$ ����Å�tAH�|$�G���H�|$�=���H�|$ �3�����H�L$(dH3%(��H��8[]A\A]�f�H�t$H�|$H�T$�,��Å�u�H�T$ �|$H��tH1�H�5K�芑���L��I�H��AUL�L$0L�D$(H�L$ �t$���XZ�U���fD��H�t$H�|$H������Å��1���H�T$ �|$�袚��f�ATI��UH��SH��H��dH�%(H�D$1�H�H�H��5���H��t�H�=#�H���������t%1�H�T$dH3%(u=H��[]A\�f.�H�T$dH3%(uH��L��H��H��H�x[]A\�&��������AUI���ATI��USH��(dH�%(H�D$1�H��薝��H�D$H�����H�H���v���H��H����H�]H�KH�SL��H�4�*H�s�C(H�E����Ņ�u:H�{H��tH�sH���E��Ņ�uH�{thH�D$I�$��ȗ���(fDH�t$L�����H�L$dH3%(���|H��([]A\A]�f����f����f�H�sH�{H�K ����u1�;H�t$�
�������w���H�T$H�H��H�S@H�C0�T���@���a����|���ff.����AWAVAUATI��USH��H��xdH�%(H�D$h1�L�t$@L�l$8H�H�l$0L��L��H�D$0H�D$8H��H�D$@�i���A�Dž��~H�|$0��L�l$@M�����H�5�E1�E1�H�=*dA����� ���H�߾���H��1�讜��H�|$0�t���H�|$8�j���H�|$@�`���L���X���L���P���H�L$hdH3%(D���fH��x[]A\A]A^A_�f.��薃��H�|$0I��H����H��*H�t$8H�T$,I�F��A�Dž����D$,H��H�5�+�D$Xhe_�c�D$H�krb_ccacH�D$P�@��H�D$PH�D$H�D$[H�D$�.�H�T$�|$1�H�5��)�����x}������1H�t$�H��觎��A�Dž�t�H�5+H����@��H�|$0����I��A����f�L��L��H�=�H���k���A�Dž��>������D�D$H�t$1�1�H�=O�辠��A�Dž�������H�|$��H�5�
+H��I��H�����6@��D�D$,H�t$8D��L��H�|$0L�L$H�g�A�Dž��;���H�D$HI�F��z��H�|$0�d���H�|$8�Z���H�|$@�P���L���H���M�4$����H�5
+H��A��:ǖ�?��H�|$0���f��ۓ��H�5�+H��D�8�?��E���J�������s?��A�H�|$0�Z������f.�@��H��dH�%(H�D$1�H�D$dH3%(uH�FH�@H����赔��D��UH��SH��H��dH�%(H�D$1�H�H�F�PH��H���I��H�CH�H1��Q�����x%H�$H�E1�H�T$dH3%(uH��[]�@����,���ff.����UH��SH��H��dH�%(H�D$1�H���tH��H�5���Ǖ��H�D$dH3%(uH�EH��H��H�@H�@ H��[]��踓�����ATI��UH��SH��H��dH�%(H�D$1�H���tH��H��H�5T��O���H�D$dH3%(uH�EL��H��H��H�@(H��[]A\���?���ff.�@��UH��SH��H��dH�%(H�D$1�H���tH��H�5t��ה��H�D$dH3%(uH�EH��H��H�@0H��[]���̒��ff.����H��dH�%(H�D$1�H�D$dH3%(uH�FH�@8H����腒��D��AWI��AVAUM��ATA��UH��SH��H��(dH�%(H�D$1�H�F�PHH���A��tA��L��H��H��H�5@�1�����A���:ǖt(H�L$dH3%(D����H��([]A\A]A^A_�f�H�EH�x�#z����t�H�EM��H��H��H�PH�pH�T$H�UH�4$L���oBD��@I�G�PHH���A��t��H��H�5ޤH��1��d���H�EH�t$H�<$H�pH�x�R����e���D��H��dH�%(H�D$1�H�D$dH3%(uH�FH�@PH�����%���D��H��dH�%(H�D$1�H�D$dH3%(uH�FH�@XH�������D��H��dH�%(H�D$1�H�D$dH3%(uH�FH�@`H����襐��D��H��dH�%(H�D$1�H�D$dH3%(uH�FH�@hH�����e���D��AUA��ATI��UH��SH��H��dH�%(H�D$1�H���tH��L��H�5�����H�D$dH3%(u H�EL��D��H��H��H�@pH��[]A\A]�����D��AWAVAUATI��UH��SH��H��dH�%(H�D$1�H���tH��H�54��|���I�D$H��L��H��P@A�Ņ�t,H�L$dH3%(D����H��[]A\A]A^A_�fDH��H�}PL�}�ؕ��A�ƅ�u�H�$L��H��L�hL���+�����uKL�mH���tH��H�5��H�����H�� L��H����|��I�D$H��L��H��P@L�}A��H�4$H��E��譗���D����Î����H��dH�%(H�D$1�H�D$dH3%(uH�FH�@xH����腎��D��H��dH�%(H�D$1�H�D$dH3%(uH�FH���H�����B���f���H��dH�%(H�D$1�H�FH�@H�T$dH3%(uH�������fD��H��dH�%(H�D$1�H�D$dH3%(uH�FH���H�������f���H��dH�%(H�D$1�H�D$dH3%(uH�FH���H����肍��f���H��dH�%(H�D$1�H�D$dH3%(uH�FH���H�����B���f���AWAVI��AUM��ATI��L��UI�hSH��H��H��H)�H��(��xdH�%(H�D$1���H�T$H�D$I�I�@p�H�H���C���A�Dž�u}M��tH�T$L��H���w���A�Dž�uajI�u�H��t$1�M��L� H�
Ӡ�v���H��A��XZH�t$�~��E��uH�t$H��H���/���A��H�t$H���߅��H�\$dH3%(D��uH��([]A\A]A^A_��(������H��dH�%(H�D$1��~uH�X-CACHECH�VH9
t1�H�|$dH3<%(uoH�����zONF:u؋V ��t�H�V�zu�H�krb5_ccaH�JH�che_confH3H3QH	�u	�y_datt�����1��yau����i���f���AWI�ϹAVM��AUI��ATI��UH��SH��dH�%(H�D$x1�H��H���H���H�tM��H��M��H��H��H�5���ٌ��L��I��L��L��H���%|��A�ą�u,M��tYH�SPL��H��誆��A�ą�uH��L��H���5���A��H��H���'���D��H�T$xdH3%(u)H�Ĉ[]A\A]A^A_�f�H��1�L��H���`x��A����f���fD��AWf�AVM��AUI��H�ιATUSH��H��dH�%(H��$1�H��$�L�d$AH��H�t$M��H�$�H�H��H��L���2{��A�Dž�tCH��H���`���L��H���U���D��H��$dH3%(uvH��[]A\A]A^A_�DI��L��1�L��H���t��A�Dž�u�H�uPL��H���_���A�Dž�u�H���t�L�D$H�$M��L��H�5P�H��1��.����^����D���@��H��dH�%(H�D$1�H�FH���H��tH�T$dH3%(uH����f�1�H�L$dH3%(uH������@��AWI��AVI��AUI��ATUSH��HH�<$H�l$0H�\$(L�d$L��dH�%(H�D$81�H�H�H��H��H�D$(H�H�D$0�-�����u�|$,��t/�H�L$8dH3%(��H��H[]A\A]A^A_��H��H��L�������uċ|$��x�Hc�H;D$0w���Hc��at��H����Hct$H��H��H��H�D$��~��L�D$��tL�lj$�y���$�j���@HcD$H��H��L��A��h���L�D$��uȁ|$,���u�H�<$L��H�T$ �/z��L�D$��u�H�T$(I�H�T$0I�H�T$ I�U�����Y���f���AUATUSH��dH�%(H�D$1�H��t]H�FI��H��I�ԻH�xH��t	�-y��H�X
H��L���nr��H���y��H�I$1�H�L$dH3%(uH��[]A\A]�f�����Ć��@��AWAVAUATUS�H��HdH�%(H�D$81�H�H�D$H�D$ H�H�D$(H����I��H�T$I��H��I�������Å���H�D$(H9D$��H�D$ L�|$(�,��L��H��H�D$�؆��H��L���q��H�UH�JH����I��H�|$01��H�q��x����xmH�|$0H��tc�w��L�l$L����L���|���H�l$0H����w��L��L��H��H��辂��L��L��,���N���H�D$ H�|$0I�H�D$(I�$�Sw�����H�L$8dH3%(��u.H��H[]A\A]A^A_�f.�H���H���H��H�D$0�S����6���fD��H��dH�%(H�D$1�H�D$dH3%(uH�5�~*H���xl������H��dH�%(H�D$1�H�FH�@HH��tH�L$dH3%(u H����H�L$dH3%(��:ǖuH���薄��fD��H��dH�%(H�D$1�H��t3H�FH��t*H�@XH��t!H�@H��tH�L$dH3%(u"H����f�H�L$dH3%(�uH����!������H��dH�%(H�D$1�H��t3H�FH��t*H�@XH��t!H�@H��tL�D$dL3%(u"H����f�H�T$dH3%(�uH���豃�����H��dH�%(H�D$1�H�Y�*H�@XH��t(H�@H��tL�D$dL3%(u)H����f�H�T$dH3%(�uH����A����PXH�
���xH�5��H�=ɎH��dH�%(H�D$1��m��ff.�PXH�
W���H�5s�H�=��H��dH�%(H�D$1��[m��ff.���H��dH�%(H�D$1�H�D$dH3%(u	H���/J节��f.���UH�=T�*H�-��*SH��dH�%(H�D$1��#v��H�=��*H9�t�H�_�t��H��H9�u�H�D$dH3%(uH��[]��I����ff.�@��AUH�=�*I��ATUSH��dH�%(H�D$1���k������L�%L�*M��tOI�mL���fDH�[H��t7H�H��H�x������u�H�=m�*�m���Å�����:ǖ�:���m��H����L�`H�=2�*L�(H���*�Cm���Å�u]H�T$dH3%(����H��[]A\A]�@�lj���x���پH���I��H���*H�81��i���������x����I��H���*H����H�81��wi�����f�H�=��*��l���Ņ��X������nx����I���肀��f���AWI��AVI��AUI���:ATL��USH��dH�%(H�D$1�H��!}��H����L)�A�mH�Ã�t8@��/tE�ۿH�sI�l5���I��H����H���8I���.�[s��@��H��DPt�H�=^��~��I��H���EH�=��*��i���Å���H�=��*H�)�*�k���Ņ�t�t@H�+L��H�}������t=H�[H��u仴:ǖL���7q��H�L$dH3%(����H��[]A\A]A^A_�f�H��L��L���U�Å�u�H�$I��D���v����H��I��H��*H�81��g����f�����v���پH���I��H���*H�81��g�����f�L��H��L��I��蟉�����f.�H�a�*L��L��L���P������fD������q~�����ATUSH��H�$H��H�$H��� dH�%(H��$ 1�H�FH��I��H��H��P��t%H��$ dH3%(u"H�� []A\�fDL��H��H��蚊������}����H��dH�%(H�D$1�H�D$dH3%(uH�5qw*H���(e���}����ATUSH��H�$H��H�$H��� dH�%(H��$ 1�H��I��H��H���3�����uL��H��H����H��$ dH3%(uH�� []A\��}��ff.�f���UH��SH��H��(dH�%(H�D$1�H�t$�fP��u"H�t$H��H��肉��H�|$�D$�n���D$H�L$dH3%(uH��([]��|��@��SH��dH�%(H�D$1�H��t&H��H�v�v��H�K(H��t�S H��u%H�{(�,n��1�H�T$dH3%(uH��[�@H��1��&b��H�����,|��ff.����H��dH�%(H�D$1�H�D$dH3%(u	H���{����{��f.���H��dH�%(H�D$1�H�FH�@PH��tH�L$dH3%(u H����H�L$dH3%(��:ǖuH����{��fD��H��dH�%(H�D$1�H�FH�@H�T$dH3%(uH����F{��fD��H��dH�%(H�D$1�H�FH�@H���v���L�D$dL3%(uH�����z��ff.����H��dH�%(H�D$1�H�FH�@ H���+���H�T$dH3%(uH�����z��ff.����AWM��AVE��AUA��ATI��UH��H�zSH��H��XdH�%(H�D$H1��b������I�D$H�@(H�������M��E��D��H��L��H���H���A��t-H��H��E��E��PL��H�5��H��D$1���{��XZD�T$H�D$ H9�tyH�T$HdH3%(D���~H��X[]A\A]A^A_��oH�C H�t$H���oK)D$ )L$0H�D$@�?d��A�…�u�H�|$H�\$ H�|$0�k���D$,� ���H�t$0H��D�T$�ve��D�T$�k����Wy�����H��dH�%(H�D$1�H�FH�@0H�������H�L$dH3%(uH�����y��ff.����H��dH�%(H�D$1�H�FH�@8H���J���L�D$dL3%(uH�����x��ff.����H��dH�%(H�D$1�H�FH�@@H�������H�L$dH3%(uH�����lx��ff.����AVAUATU1�SH��PdH�%(H��$H1�H�FH�x0t8L�l$I��H��L���Jl����tFL�l$@�H��L��L�꽵:ǖ�s����teH��$HdH3%(��uH��P[]A\A]A^�L�t$H��L��L��L���_��L��H��L�����a����u�L��L����l���f��H�5\�H�=�C��v��L���L��H��1��f|���l����\w��ff.����AWAVAUATUSH��XdH�%(H�D$H1�H�H�FH�x0tvL�l$I��I��H��L���6k���Å�t(H�L$HdH3%(��uxH��X[]A\A]A^A_��L�|$H��L��L��L���^��L��H��L�����`����t���:ǖu���:ǖ��H�t$L��L���X���L��L����k���v����qv�����USH��H�dH�%(H�D$1�H�FHcH�SH�@H�4��k`��H�߉��h��H�L$dH3%(u	H����[]��v����H��dH�%(H�D$1�H�H�L$dH3%(uL�FH�HHc0I�@H�4�H���]����u��@��AWAVAUATUH���SH��(L�vH�T$dH�%(H�D$1���a��H����A�VI�Ņ���L�`1�����ucA�VH��A��9�~I�FL��H��A��H�4��ei����u�A�VA9�t0H�D$E�}L�(1�H�L$dH3%(u;H��([]A\A]A^A_�L��D$�f���D$��fD��E1�����t��f.���AWAVAUATUSH��(H�nH�|$�udH�%(H�D$1���:ǖ��~EI��A��E��M��1��f�H��9]~#H�EH�|$M��E��D��L��H�4��I�����t�H�T$dH3%(uH��([]A\A]A^A_�� t��AUATI��UH��S��H��H�>dH�%(H�D$1���e����~+�C�1�L�,�DH�EL��H�4H���p��L9�u�H�}�e��H�D$dH3%(uH��H��[]A\A]�le���s�����SH��H��H�vdH�%(H�D$1��V�H���H���0e��H�L$dH3%(uH��1�[��Cs����ATI��US��H��dH�%(H�D$1�H�FH�(H���0e��H�PH9�r'H��L����}��1�H�L$dH3%(uH��[]A\Ð��:ǖ����r��@��AWAVAUATUSH��H��8H�|$�H�T$dH�%(H�D$(1���^��H����H��I���d��H�hH����^��I��I�H����H��H��H��A��D}��A�FH����E�nH�x�,D��A���o��H��u�Hc�1�H���d^��I�FH��ui�EfDM��I)�I�}�A^��I��H����H��L��H����|��I�FC�/L��H�|$H��H���i~��L�����c������I�\$�,H�߉l$�qn��I��H��u�Lc|$I�FH��H�|$J���~���Å�����]��H�L$H�H��tH���*L�p�*��H�P��H�|$��L������H�L$(dH3%(��u`H��8[]A\A]A^A_��T$H�|$L��������DH�|$��L���������L���b��L����|b����p��D��ATUSH��dH�%(H�D$1�H��tgH�FH��I�ԽH��tH�xH��t	�}b��H�hH�S�H��t
H�:H��t�^b��H�I$1�H�L$dH3%(uH��[]A\�@����p��ff.����AWAVAUATUS�H��XdH�%(H�D$H1�H�H�D$(H�D$0H�H�D$8H����I��H�T$(H��I����������H�D$8H9D$(��L�t$8L�l$0�*��L��L��� p��L�ML�3�M��tM�H�$�M��LD�H�EH����H�HH���u1�H�|$@�L�L$H�<Z�b����� H�D$@L�L$H���
M���dI�yH���GL�L$���S��1Ҿ��1���y��L�L$��~	�,����I�yL�L$�T��L�L$H�D$H�D$@H��L�L$�`��L��L����/o��L�D$@L��L�D$�`��L�D$L��L��H��L���gk��L��L����n��H�|$L��L���jl��L�L$A�� L��L����n��L��L��*����n��H�D$0H�|$@I�$H�D$8I���_���fD�H�L$HdH3%(����H��X[]A\A]A^A_�fDL��L�L$�l��L�L$H�D$@���@H�D$1����H���_��L��L����+n��H�l$@H���_��L��L��H��H���mj��L��L��1��n��1�L��L���sk��1������7m�����SH��H��dH�%(H�D$1�H�FH�8��^��H�{1�H�GH�WH��HLJ�H��H��H)��� ���H�H�CH��  �`��H�{�^��H���^��H�t$dH34%(uH��1�[��l����ATI��I��1�U��L��SH��H��dH�%(H�D$1��OR��H��H��H�����I��I�D$�L�\WL��L�HI�D$�01��Xs��ZY9����%�:ǖH�L$dH3%(u	H��[]A\��k��ff.�f���AU�I��ATI��USH��dH�%(H�D$1�H��o��H����H��H��*�H �H�C�po��H��H��thL���j��H�EH��twH��  �h��A�ą���H�EHDž H�k�*��I�]H�L$dH3%(D��uRH��[]A\A]ÐA�H����\��H����\�����A�H����\����A���H�E����j��DATI��U1�SH��dH�%(H�D$1�H�H�xH��t+H���O��L����Et����H�H�x�go��H�H�@H�T$dH3%(��u	H��[]A\��\j��ff.��AWAVI��AUATA��USH��H��dH�%(H�D$1���h��I���A����H�+H�5X{E1�H�}�f��H�EH�H�xH���7��N������1���t��H�H�x�N��D��L�����\����H�����H�xH�p�f��E����H�H�|$��H�H��f��H���/�D$H�f����f�D$f-�� f����H�H�{�;O��H�� ���H�+H�5~E1�H�}�f��H�EH�H�xH������A�m��uIH�0L��A��;A�EH�+H�5�}H�}��e��H�EH�H�xH������DA�m������u7H��H�5�}H�=�4��g���L��H��H��1��om���H�L$dH3%(����H��[]A\A]A^A_�H���:ǖH�x�ol����uA�mH�H�x�M��L�����q��H�H�x��l��H�H�@���H�|$��f�D$H�ǀ H�H�H�no��H���n������>���H���:ǖH�x�L��L�����;q��H�H�x�_l��H�H�@�����jg��f.���AWI��AVI��AUI��ATUSH��XH�<$H�l$8H�\$0L�d$ L��dH�%(H�D$H1�H�H�H��H�D$(H��H�D$0H�H�D$8�_�����u
�|$ *��t)H�\$HdH3%(���:H��X[]A\A]A^A_�@H��H��L���Z_������uËD$ �xHc���R��H����Hct$ H��H��H��H�D$�T]��L�D$������HcD$ H�<$L��H�T$(A��r��L�D$����u_H�t$(�D$H���*H9Fti�H�<$�L$L�D$�Bc���L$L�D$L�lj$��W���$����L�D$�d��L�D$���tؐH�t$(H��t��@����fDH�|$8v�L�NH�|$$H��H��L�D$L�L$�J^��H�|$@H��H���ZT��H��H��L���,^���D$ H��H��L�L$L��A�� �^��L�D$�L$�|$ *��tH�t$(��a����T$$H�D$(��tl��H�p�L$L�D$tsH�<$����L�D$�L$�L$H�t$(��������H�FH�t$@1�L�D$H�x�N��L�D$�������H�D$(�L$H�T$0I�H�T$8I�I�E���H�<$��L����L$L�D$��d��ff.��PXH�
7z�xH�5�oH�=	pH��dH�%(H�D$1���N��ff.�AWf�I��AVAUATI��UH�պSH��8dH�%(H�D$(1�FH�\$ FH�F$�F,�#��H�1�H�x�M�����H�I�H�x��I����H�߉EI�H�H�a��H����I��t$ �� tΉt$ ��������I�H�x�jI����H�$I�H�HH�D$H��H�D$�`��H���z�D$I���f���� u�X�f�\$f���O�(�UO��H��I�D$H���w�����H����E �f��H�EH���nI�L�l$��L��H�H�`��H���NI��\$�� t	f��f�\$I�T$f�����ÉB�x�N��H��H���I�H�ӾH��H�H�_��H�T$H9����DI�D$H�h1�f�|$����f�I�D�t$�� tfA��fD�t$fE����A�ƉC�x�'N��H�CH����I�I�־H��H�I�"_��H��tUH�D$H�SH����D$9��VI�D$H��L��H���HXI�H�H��^��H���L���@I�T$��:ǖ�B ��~)1�DH��H��H��HBH�x�R��I�T$9Z �H�z��R��I�D$H�@I�|$��R��I�D$�8��H�x�Hc��J����uI�t$ ��������J������:ǖH�\$(dH3%(����H��8[]A\A]A^A_�fD�+_���(�̽�:ǖ�/�����H�カ:ǖ�9R��I�T$����H���"R��I�D$�I�T$����I��� H�Ht5I�D$��H�x$�}]��I�T$H���x����B$ȉB$I�H�HI�|$���L]��H���{���I��� tA�D$�A�D$I�H�HH�|$���
]��H���<����D$H�|$��A�D$I�H�H��\��H������I��D$�� t	f��f�D$�H�|$��A�D$A�D$��I�H�H�\��H�������I��� tf�D$�D$f���������H��A�T$ H���/K��I�D$(H�������I��H��H�JH���*\��H���Y���I�H�x�D��+$��;D$ I�}JH�HH�|$$����[��H������I��� t
�T$$ʉT$$�T$$��tA�T$I��4$H�x1�1�t$ Hc���G�����q�����\��I�T$�(�����^��fDAVAUATUSH��H�$H��H�$H�� dH�%(H��$ 1�H�Hc�I��H��1�H��H�x�oG����t;�V\��D� H��$ dH34%(D���|H��  []A\A]A^�f�A��H�EH�|$��H�H��Z��H���0H�U�D$�� ��ȉD$��~���ȉD$H�zH��1���F�����]���H�EH�|$��H�H�d��H��tj�\$����L�t$�1�� L��A� �H����D$)�9ÉD$O؅�~mLc�H�EL��L��H�H�Bd��H��u�A��:ǖ����f��������؉D$�?���DLc�L�t$1�� L��L���]�����f.�H�EL��H�p�P/A���u���A��:ǖ�j����\���PXH�
�q��H�5�gH�=�gH��dH�%(H�D$1��kF��ff.���ATI��USH��H��H�:dH�%(H�D$1��vM��H�CH��  �E����upH�C�� H�{H�t
�� ��t8H��  �dG���Å�unH�L$dH3%(����H��[]A\��L��H�s�\�H�{���@���R����H��fI��H��*H�81��C���r���f�����R���پH��fI��H�Ѩ*H�81��C������Z��ff.�f���AWAVAUI��ATUH��SH��H��HdH�%(H�D$81�H�FH��  �D������H�{H��NL�s�L��L����A�Dž��H�C1��H�x��C������H�E�P�H ��f��~/��H�p��H��H�FH�tf��H���T
H9�u�E 1��D1҉D$0H�CL�`L���rC����t^�YX��D� E���L��L�����H�{H��  �E���Å���H�\$8dH3%(D����H��H[]A\A]A^A_�f�L��H�|$,���V��H�L$4H�L$H��uv�w���DH�|$L����V��H���H�C�t$4�� tΉt$4���L�މt$4;t$0��Hc��L���|B��������L���>���D$���u���fD�D$����H�CH�x1���<B�����$H�UH�C�J ��f���� ��H�Hf�T$"H�|$"���_��H���"H�EH�S�� �@f�D$$t	f��f�D$$H�D$$H�J��H��H�D$�_��H����H�EH�S�H�JH�x�P�_��H����H�E�P f�T$"f���dE1��A�L�D$H�C�H�HA�PI�x�9_��H��ti�D$"I��D9��"H�EM��H�SI��L@�� A�@f�D$$t	f��f�D$$H�JH�|$��L�D$��^��H���s���A��:ǖ�c���H�{A��:ǖH��  �B���Å��h�������N���پH��bI��H�Ѥ*H�81��?�����f�H�{E��H��  �B���Å�����뱐��A���vN��D��H�7bI��H�}�*H�81��3?�����fD�Q����T��D� ���H�C�� t.H�UH�|$,��R$ʉT$,H�H���]��H�������H�uL���K�����ND�}H�C�� tA�H�HH�|$(��D�|$(�z]��H��������EH�|$!���D$!H�CH�H�N]��H���z����MH�CH�|$&���f���� D�H�Hf�T$&��]��H���:����M H�C�H�|$��f���� D�H�Hf�T$$���\��H�������H�C�U �H�}(H�H�\��H�������EH�S�D$4�� tȉD$4H�JH�|$4���n\��H�������H�CH�x�a���������H�CL��H�p�'A�ą�����H�CHct$1�H�x�!>�����	���H�C�� t
�T$0ʉT$0H�HH�|$0����[��H������H�CH�x�`���������H�CL��H�p�)'A���T����1��L���=�����+���H�|$L����D$4�z[��H������H�C������E���@L���9���������Hct$0�L��H�D$�(=��L�D$�������H�|$L���L�D$�Z��L�D$H�������1�Ic�L����<�����k����i�����t$0�{����H��  �?���Å��
����H�5hH�=FA��:ǖ�<R����:ǖL��H��1���W���=����R����AWA��AVAUATE��USH��H���H�FH�t$ H�T$H��  L�L$8dH�%(H��$�1�H�D$�{<���D$,����H�D$ H�@H�xH���	H�� 1���;��H�L$ �D$4L�i�����H�D$PL�t$HH�D$XH�D$A��H��$��D$0H�D$D�D$dH�D$xH�D$fDL��H��L�������BH��$�H�t$H���U����t9E����E��t;��$���t0D9���;D$0uH�|$X���D$,H��H���F���H�|$Xt6�L$`��$���$��D$d9���=�v��v9���9�v�H�t$H���UF��fo�$�fo�$�fo�$�)D$P)L$`)T$p����fDH�L$��$�D��H����9������t$D���E���D��$���������q�������e�������fDA��A���:ǖ�`H�|$X���D$4��uL��H����A�����SH�D$ H�xH��  �1<��A�����FH�D$8fot$Pfo|$`0fot$pxp H��$�dH3%(D����H���[]A\A]A^A_��H�t$H���E��fo�$�fo�$�fo�$�)\$P)d$`)l$pD9�$�������"����L$,A��:ǖ��uhH�t$L��H���(Z��A��:ǖ��uN�D�L$H�l$HH�5�dH�=��N��D�L$H��H��H��1�D���$T��H�|$H��@��D�L$D�T$4��uL��H��D�L$�(�D�L$H�D$ D�L$H�xH��  ��:��D�L$�����;H�t$PH��D�L$�C��D�L$���fDfo�$�fo�$�fo�$�)|$P)\$`)d$p���f��lj��GF���پH�	ZI��H�O�*H�81��7����H�D$ �H��L�hL������D$4�������H�D$ H�xH��  �:��D�L$4�Å�������E����I���f��ljD$�E��D�L$I��D��H�Û*H��Y�H�81��m6����H��H�߉D$��B��D�L$�������hE����I���H�yH��  �q9���Å��p����L��D��V����UM��D��AWI��AVAUATI��UH��SH��hdH�%(H�D$X1�H�FH��  �%7�����-I�GH�x��M�o�L��L�����…���L�t$H�\$ �@H��L���B��L��H��L���w��…�ui�D$49Eu؋D$<9Eu�H�uH�T$(L���P����t�H��L���A���T$L��L���`�����L��L��D$���T$�T$�'�=�:ǖ��:ǖL��L��DЉT$�T$�X�I�H��  �8���T$����u^H�L$XdH3%(����H��h[]A\A]A^A_�f��lj��C���پH�yWI��H���*H�81��u4���0����C���پH�sWI��H���*H�81��G4���r�f�L��L�����‰T$�B���H��  �^7���Å�u��H�5t`H�=��J����:ǖL��H��1��.P����:ǖ�����K��ff.�@��AUI��ATI��USH��H��dH�%(H�D$1�H�FH��  ��4������H�k�� ��ts��	7��H���H�� I�EH�H�C�� H�{�� ���'H��  �y6���Ņ�usH�L$dH3%(���?H��[]A\A]�f�H�s�L�������Ņ�uiH�k�m����lj��B����H��UI��H��*H�81���2��������A����I��H��*H��U�H�81��2�����f�H�{H��  �5���Å��C������A����I������ ��t&H��  ��5���Å�������f�H�sL�����H�k��LJ ����H�{H��  �D5���Å�u���:ǖL��1���:ǖH��^�#N������I��f���AUATI��USH��H��XL�)dH�%(H�D$H1�H�FH��  ��2�����	H�CH�xH���II�u1��e2������H�T$H�t$H�{�Y��Ņ���H�CH�x�.��I�EfoD$foL$ foT$0A$AL$AT$ H�{H��  �K4���Ņ�u%H�L$HdH3%(����H��X[]A\A]�@���?����I��H�
�*H��S�H�81��0�����f�H�{H��  ��3���Å�t����?����I���@�lj��?����H�aSI��H���*H�81��]0����H�{��:ǖH��  �3���Å��4����H��  ��:ǖ�f3���Å�������UG��D��H��dH�%(H�D$1�H�H�L$dH3%(uH����G�����ATI��I��1�U��L��SH��H��dH�%(H�D$1���,��H��H��H�����I��I�D$�L��1L��L�HI�D$�01���M��ZY9����%�:ǖH�L$dH3%(u	H��[]A\��}F��ff.�f�PXH�
G\�xH�5�QH�=�QH��dH�%(H�D$1���0��ff.�PXH�
�[��H�5�QH�=�QH��dH�%(H�D$1��0��ff.���ATI��USH��H��dH�%(H�D$1�H�FH�x��/����u=H�CH�@8I�$H�{H���1���Å�uN1�H�L$dH3%(ujH��[]A\��lj��W=����H�QI��H�_�*H�81��.��������)=���پH�QI��H�1�*H�81���-�����E��ff.�f���AWAVI��AUI��ATI��USH��H��H�)dH�%(H�D$1�H�FH�x��.������H����H�EH�SL����H�E�@�CH�E�@�CH�E�o@CH�@(H�C(H�EH�p��E��A�Dž�tEI�|$H���g0���Å���H�L$dH3%(D����H��[]A\A]A^A_��H�EH�SL��H�p��N��A�Dž�u�H�EI�E���A����;��D���H��OI��H��*H�81��,���f���I�|$A��:ǖH����/���Å��[�������;���پH�sOI��H���*H�81��G,���R����}C��ff.�f���AVI��AUI��ATUH��SH��dH�%(H�D$1�H�FH�x�J-��A�ą���H�]H�C8H���-H��8��H�H�H���H�@A�N9Hu�A�V9Pu�I�VH�pL����F����t�H�H����H�pL���7��H�H�x�4��H�;L�/�x4��L�+H�]H�{�.���Å�ubH�t$dH34%(D����H��[]A\A]A^�fD���A:��D��H�NI��H�H�*H�81��*������f����	:���پH��MI��H��*H�81���*������f�H�]A��:ǖ�P���A��:ǖ�E�����A�����AVAUATI��H�=�*UH��SH��dH�%(H�D$1��+�����>H��*H��t#H;ju��H9htRH��H�H��u�A��:ǖH�=��*�e-���Å��+H�L$dH3%(D���pH��[]A\A]A^��H��H�EH�x�0+��A�Ņ��%H�E�h0H�EH�x�-��A�Ņ���L�uA�F0���t���L�+I�EH�I�>�2��I�EH�@H�X8H��t*f�H�sL��H�+��5��H�{�x2��H��H���m2��H��u�I�~�_4��L���W2��I�}�N2��L��E1��C2�����fD�lj��?8����I��H�S�*H��K�H�81��(����������	8����I��H��*H��K�H�81���(������f�D����7��D��I����D����7��D��I���H�!�*�����?��ff.�@��AVH�=ӷ*AUI��ATI��USH��dH�%(H�D$1�H��)������H���*H��u�fDH�H����H�CL��H�hH�u��?����u�H�}�K)���Ņ���H�CH�@�@0H�CH�xH���+���Ņ���H�CI�$H�=�*�*���Å�u`H�L$dH3%(����H��[]A\A]A^�D�lj��6����I��H���*H�\J�H�81��]'���(�������i6����I��H�}�*H�NJ�H�81��''���2���f����1B��H��H������B��H�CH����H�‡*�@�H�P��A��I��H����H�@8L���@0��<��I�H����I�~�w:���Ņ���H�CL�pH�C�*��H���*H���*H�H�CH�hH�}�'���Ņ��^������h5����I������fD���Q5����I�������E1�L��� /��H�{�/��H���/���8������I�H���.���ν���=��f.���AVAUI��ATI��UH��SH��dH�%(H�D$1�H�FH�x��&��������)��H��H���<�0�)��H�CH���E�UH�uL��H�UH�PH�P��=��A�ƅ���H�CH�uL��H�P�9G��A�ƅ�uZI�D$H�P8H����H�H�X8I�|$H���;(���Å���H�L$dH3%(D����H��[]A\A]A^�DH�CL��H�p��A��H�{�-��H���-���D�lj��3���پH�yGI��H���*H�81��u$���@������3���پH�sGI��H���*H�81��G$���R���f�A��,���DH�H�X8����H��A��"-�������H;�����AWAVAUE��ATI��UH��SH��HH�FH�t$�L$ H�xL�L$(dH�%(H�L$81��D$4H�D$�$���D$���!H�D$H�xL�w8M����M�~H�D$4�D$$1�H�D$M��u?�f�A�G��tM;D$ ��D$$f�M�6M��tPM�~M��tGI�WL��H���`>����t�E�����t$ ��u�H����M�6�CA9GIG�M��u��H�����L�t$(H�sH��A��CI�VA�F�CA�F�oCAFH�C(I�F(�5;���D$E��tE�n�L$���<H�D$H�xH���%���Å���H�L$8dH3%(�D$�.H��H[]A\A]A^A_�f�A�WH�L$D��H���"���D$������|$4�����������L�����H�D$�T$H�x���h����D$$�D$�:ǖ���T���H���D$�:ǖ�%���Å��L���@����0���پH��DI��H�ن*H�81��!����f.��lj��0���پH�YDI��H���*H�81��U!��� �H�T$(H�sH��H���KC���D$���L���K����e8��D��H��dH�%(H�D$1�H�T$dH3%(uH����.8��ff.���AUH�=3�*ATUSH��dH�%(H�D$1���+��L�%7�*M����fDI�D$M�,$H�@H�8�)��I�D$H�xH�_8H��t9f�H�s1�H�+��,��H�{�i)��H��H���^)��H��u�I�D$H�xH���G+��I�D$H�x�9)��I�|$�/)��L��M���$)��M���k���H�D$dH3%(uH��[]A\A]��+7��f.����SH��H��dH�%(H�D$1�H�FH�8��(��H�{�(��H���(��H�T$dH3%(uH��1�[���6��f.���SH��H��H�:dH�%(H�D$1��l(��H�CH�xH��t�j;��H�CH�@1�H�L$dH3%(uH��[��a6�����ATI��I��1�U��L��SH��H��dH�%(H�D$1����H��H��H�����I��I�D$�L�,!L��L�HI�D$�01��(=��ZY9����%�:ǖH�L$dH3%(u	H��[]A\���5��ff.�f���AT�I��UH��SH��dH�%(H�D$1���!��H�EH��tcH��H���*�H�C��!��H��H��tSL���c4��H�EH��t:H�E1�H�k�*��H�L$dH3%(u-H��[]A\�D��ېH����&��H����&������5��@UH�5IFSH��H��H�/dH�%(H�D$1�H�}�4!��H�EH�H�xH��t4�������1��?��1�H�L$dH3%(uH��[]��+3������4��f���AUH�~I��ATUH��SH��dH�%(H�D$1��S����Å�tH�L$dH3%(��uXH��[]A\A]ÿ�v ��I��H�EH�xM��t���M�eI�$���H��t���8��H�EH�@���3��ff.�ATD�f(UH��SH��H��dH�%(H�D$1��@D��)ڃ�~6���t1�H��H���[@����u��H�L$dH3%(uH��[]A\���:ǖ���\3��ff.��AWAVAUI��ATI��USH��H�^dH�%(H��$�1�H�l$ H��H���B����…�t,H��$�dH3%(���MH�ĸ[]A\A]A^A_ÐL�t$PH��L�������…�u�L��$�H��L������…�u�H���y?���D$�����H�|$H�ٺ��/��H����f�L��M�D$L��I�D$$H��L��A�D$,A�$#��AD$AD$�!���…��%����D$�D$��A�D$A�D$H���I�D$A�D$ ��5��H��tH�L$�T$I�D$(H�����f�I�D$(I�t$L���J+��������:ǖ����1�����AUI��1�ATUH��SH��H��HL�!dH�%(H�D$81�H�FI�4$H�x������tfH�sH��H������Ņ�u1H�CH�x�<��I�$fo$foL$foT$ AEAMAU H�L$8dH3%(��uH��H[]A\A]���:ǖ����0��ff.����AWA��AVI��AUE��ATI��USH��H�~H��L�L$dH�%(H��$�1�����D$���dA����H�D$ H�l$PH�D$(�D$4H�D$H�D$H�D$@I�t$H��H�����…��>H�T$XL��H��D�l$l�!4����tmE��tH�D$d��upH�|$(u��H�t$H���3%��foD$PfoL$`foT$p)D$ )L$0)T$@�H�|$(tȋD$d9D$4r��i���f�H��H����$���P���A9�t
�D$�>���fot$Pfo|$`)t$ fot$p)|$0)t$@I�D$H�xH��t�:4��I�D$H�@H�D$fo\$ fod$0fol$@`h H��$�dH3%(�D$��H�Ę[]A\A]A^A_�fD=�:ǖtII�D$H�xH��t�T$�3��I�D$�T$H�@H�t$ H�߉T$�#���T$�T$�fDH�|$(�/����D$�R0����:ǖD���D$�:ǖ�Q����w.�����AWAVE��AUA��ATI��UH��SH��L�L$H�\$PdH�%(H��$�1�H������1�H�ߺL�H���GH���3��H�T$H��H���:��A�Dž�t.H��$�dH3%(D����H�ĸ[]A\A]A^A_�f�H�t$H�\$ H��E��I��D��L���9��H�t$H��A����*��E��u�H�T$H�sH����&��H��H���"�����LH���;9��A�Dž��K����]����F-��fD��H���zdH�%(H�D$1�9~u�N;JtH�L$dH3%(u%H���H�BH�~H��H���0������������,��f.�@��H���zdH�%(H�D$1�9~uX�J�F9���F�)ȅ�~EL�JL�FA�	A8rLwZ���H���@A�4A�@8�r)H��@8�w0H9�u�H�|$dH3<%(uH����������f�����$,��@��ATUSH��dH�%(H�D$1�H��t/H��H�H��I��1�H��t\@�HH�<�H��u�u2�zu,�H�t$dH34%(u/H��[]A\�f�H��H�H��tL��H�������t���1���+�����H��dH�%(H�D$1�1��������H�T$dH3%(u1�H����?+��f.�DAWI��AVAUATUH��SH��XL�D$dH�%(H�D$H1�H�D$H��tH�jH�D$H�H�����?$����H��@L�g8H�t$(H�D$ H���FL�l$L�t$ L��H�l$0L��L��L�|$8H�D$@�k����uH�\$H��tH�;H����L��L��L��L�|$0H�D$8�5����uH�D$H��tH�8H���L��L��L��H�l$(L�|$0H�D$8�����uH�\$H��tH�;H��u6@L��L��L��L�|$(H�D$0������uPH�\$H��tFH�;H��t>��(��H�L$H�H�;H��tf��{��H��H�;H��u�H�\$H���b��1�H�L$HdH3%(uyH��X[]A\A]A^A_ÐL�l$L�t$ L��L�|$0H�D$8L��L���*�����B���H�D$H���4���H�8H���(����#(��H�L$H�\$H��P����$���w����)��f���ATM��UD��SH��dH�%(H�D$1�I��H�$�����uJH�$H��tAH�-Z#*H�=�r��H��H�}H��tCH���k����u�A�$H���V���@A�,$H�D$dH3%(u9H��[]A\�H�-�"*H�=�f�H�������t�H��H�}H��u�1���.(��ff.���UL��SL��H��dH�%(H�D$1�I��������u$H�$H��tH�H�D$dH3%(uH��[]ÐH����&�����'�����H��dH�%(H�D$1�H�H�T$dH3%(uH����'�����H��dH�%(H�D$1�� H�D$dH3%(uH����H'�����H��dH�%(H�D$1�I�H��I�H�H��t6H�H��t.���H�2H��H��t�RH�DI�H�H��u�1�H�|$dH3<%(uH�����&��@��S��H��H��dH�%(H�D$1�H��n*��H��t)H�H�1�H�T$dH3%(uH��[������T&��@��AWAVAUATUSH��XI�H�L$L�d$@H�l$8L�D$ H�|$0L��H��L�L$(dH�%(H�L$H1�H�D$8I�H�D$@����D$��uU�|$0��xuHc�H;D$@wkE1�utH�\$H�;����H�D$8H�T$ L�+E1�H�H�D$@H�T$(H�L������H�L$HdH3%(�D$�XH��X[]A\A]A^A_Ð�D$"��fD���Hc��0)��I��H����D$0���d���H�D$41�H�D$H�|$L��H����������HcD$4����H;D$@����M�|���(��I��H��t`D�|$4�I�D��E��IE��(��H��tKHct$4L��H��H��A���I�FE�~�y����uMH��9\$0�[������f�I�f�L���D$�p�������D$"����D$������"����D$����#$����AWAVM��AUM��ATUSH��8H�dH�%(H�D$(1�I�H�D$I�H�D$ H����1�H�:I�ϸt@��H��H�|�u�H�l$ L�d$H��L���U$���D$��uXI�H�H��tr1��3fDI�H��L��H��pH�x� ����u"I�H��H�H��t;�xH��L���#����t��D$H�L$(dH3%(�D$u<H��8[]A\A]A^A_�f�H�D$I�H�D$ I�E��DL��L��1��#���D$���"����ATUSH�� dH�%(H�D$1�H�D$M����I�8H��t|I��I�XH�l$�@H��H�{�H��t;H���3����t�L�D$L�ljD$�	���D$H�T$dH3%(u3H�� []A\ÐL�D$M��t�I�8t�M�$E1�H�D$�E1�1���2"��f���H��A�QdH�%(H�D$1�;ғ*�tH�L$dH3%(u-H���f����t�I�yH�5��*�w%��������������!��D��AUATUSH��dH�%(H�D$1�I�H�H��t{H�8tuI����M���X%��H��H��t`H��H�5&�*L���>���Ņ�uH�C�CI�$1�H��L������H�T$dH3%(��uH��[]A\A]���ِ����!��@��AWAVAUATUS�H��8A�PdH�%(H�D$(1�;��*L�|$pL�t$xH��$�t+H�t$(dH34%(����H��8[]A\A]A^A_�fDI��I�̅����EA�L�L$��I�$DIEH����Ic�D�D$H�4�H��H�L$H���~L��L������Å��n���I�$H�L$1�L�L$H�|
t	D�D$A�@�EA�A��7���f�I�xH�5��*L�L$�{#��L�L$�������G���f�����������SH��dH�%(H�D$1�H��t2H�9H�����H�D$dH3%(u-H��H��[�:��f.�H�D$dH3%(uH��[��E��D��UH���SH��H��dH�%(H�D$1���"��H�H��tQH�U`�@@Hǀ�H�PXHǀ�ǀ��)��1�H�L$dH3%(uH��[]�������ff.����USH��dH�%(H�D$1�H����H��H�vH��H��t�Y��H�sH��tH���H��H�s H��tH���7��H�sH��tH���&��H�sPH��tH����
��H�s(H��tH������H�s0H��tH������H�s8H��tH������H�KhH��t�SdH��uaH�����H�spH��tH���("��H�{xH��t���H���H��tH�����H���n��1�H�T$dH3%(uH��[]�DH��1��f��H����l��ff.����AUI��ATI��UH��SH��H��H�vdH�%(H�D$1�H��t���H�sH��tH�����M��trH�SL��H���#������M��t��u%H�CH�L$dH3%(uNH��[]A\A]�f�H�D$dH3%(u1H��H�SL��H��[]A\A]�����H�C�1�����f.���ATI��UH��SH��H��dH�%(H�D$1�H��t>H�vH��t5�h������H��u2fDH�L$dH3%(uTH��[]A\���1�H��tԄ�t�H�uH��t'H�D$dH3%(uH��H��L��[]A\���@1������ff.�@��AUI��ATI��UH��SH��H��H�v dH�%(H�D$1�H��t�x��H�sH��tH���g��M��trH�S L��H���������M��t��u%H�CH�L$dH3%(uNH��[]A\A]�f�H�D$dH3%(u1H��H�SL��H��[]A\A]�'���H�C �1������f.���ATI��UH��SH��H��H�v(dH�%(H�D$1�H��t���H�D$dH3%(uH��H�S(L��H��[]A\�	��������H��H�v(dH�%(H�D$1�H��uH�1�H�L$dH3%(uH��ÐH�D$dH3%(u	H������"��f���UH��SH��H��H�v(dH�%(H�D$1��w��H�C(H�EH�L$dH3%(u	H��1�[]��������ATI��UH��SH��H��H�v0dH�%(H�D$1�H��t�}��H�C0H��t0H�D$dH3%(u;H��H�S0H��L��[]A\���f�1�H�L$dH3%(u	H��[]A\��@����ATI��UH��SH��H��H�v0dH�%(H�D$1�����I�l$0H��H�����H�L$dH3%(uH��1�[]A\�����f���ATI��UH��SH��H��H�v8dH�%(H�D$1�H��t���H�C8H��t0H�D$dH3%(u;H��H�S8H��L��[]A\���f�1�H�L$dH3%(u	H��[]A\��P����ATI��UH��SH��H��H�v8dH�%(H�D$1����I�l$8H��H�����H�L$dH3%(uH��1�[]A\�����f���H��H�v0dH�%(H�D$1�H��uH�1�H�L$dH3%(uH��ÐH�D$dH3%(u	H��������f���H��dH�%(H�D$1�H�D$dH3%(u	H������Z��f.���UH��SH��H��H�v0dH�%(H�D$1����H�C0H�EH�L$dH3%(u	H��1�[]�������H��H�v8dH�%(H�D$1�H��uH�1�H�L$dH3%(uH��ÐH�D$dH3%(u	H��������f���H��dH�%(H�D$1�H�D$dH3%(u	H������j��f.���UH��SH��H��H�v8dH�%(H�D$1����H�C8H�EH�L$dH3%(u	H��1�[]�������H��dH�%(H�D$1��VXH�L$dH3%(uH�������ff.���H��dH�%(H�D$1��V\H�L$dH3%(uH������ff.���H��dH�%(H�D$1��FH�H�L$dH3%(u1�H����W�����H��dH�%(H�D$1��FD�H�L$dH3%(u1�H���������ATUSH��H��H�v(dH�%(H�D$1�H��tXH�K`�
I������Ņ�t!H�T$dH3%(��uNH��[]A\�fDH�s(L�������u΋SdH�KhH��u���f�H��1��f���H����l��ff.����H��dH�%(H�D$1�H�T$dH3%(u
�H����)��f���H��dH�%(H�D$1�H�FhH�H�L$dH3%(u1�H�������D��H��dH�%(H�D$1��V@H�L$dH3%(uH������ff.���H��dH�%(H�D$1��F@�H�L$dH3%(u1�H����g�����H��dH�%(H�D$1�H�VpH�L$dH3%(uH����*��f.���H��dH�%(H�D$1�H�FpH�H�L$dH3%(u1�H�������D��SH��H��H�� dH�%(H�D$1�H�t$�7t��uH�{x�D$�v��H�T$�D$H�SxH�L$dH3%(uH�� [��~��ff.���H��dH�%(H�D$1�H�H�~xH��t H�D$dH3%(u'H��H���s@1�H�L$dH3%(uH������ff.����H��dH�%(H�D$1�H���H���H�|$dH3<%(uH��������H��dH�%(H�D$1�H���H�H���H�H�|$dH3<%(u1�H����x�����H��dH�%(H�D$1�����H�L$dH3%(u1�H����4��@��H��dH�%(H�D$1�H���H�H�L$dH3%(u1�H�������f���H��dH�%(H�D$1�H���H�L$dH3%(uH���������AVAUI��ATI��UH��SH��@dH�%(H�D$81�H��VH�|$ H�FH�t$H�D$�D$ ���T$$H�D$(����Å�t*H�L$8dH3%(����H��@[]A\A]A^��H�t$�L�vH�>�D$H�D$M��tH�t$�_���Å�tH�t$L�����f.�H�L$L��L��L�L$M�F�@���H�t$L��Å�uL�D$��u����:ǖH�t$��s��H�D$L��H�H�UH�H�t$�C�����fD�C���e����I��f�AWH��AVAUATUSH��(D�(H�<$H�L$dH�%(H�L$1�H�zH�D$��H�BI��H����H��H�t$�Ѕ��=I�F����'Ic�E1�E1�H��H����f�I�VH�EH�TH�EL�t H�EI�H�T8I�F H���1H�UH�<$H�H�J���H�EH�D@M����I�V(H�EH��H�<$H�T(I�V0H�EH�T0L�eH�T$I�I��@L��A�V(��tl��tgH�UH�Btbf.�L�bHI�FM�GA��M��H��PB����t9H�U�H�t$H�EH�tM������H�EH�D�������tF@H�|$D�/H�|$dH3<%(ugH��([]A\A]A^A_ÐH�EH�D(H�EH�D0H�UH��Z���f.�H�E�D������두�&��$
��@AWAVAUATUSH��(dH�%(H�D$1���~V�G�H�A��I��H��H��H�DPH�D$H��D�ct$H�{(tH�s8E�~H��H�4$����H�4$I9�t3H��PH;\$u�1�H�L$dH3%(H��u*H��([]A\A]A^A_�@E��t�I�~L�������t���d��@AWH��AVAUATUSH��H��H�H�|$L�l$XL�d$P�T$(H�|$HL��L��H�L$0L�D$8dH�%(H�L$x1�H�D$PI�H�D$X����D$,�����D$H���H�D$L1�L�d$H�D$H�D$`H�D$ �@Lc|$LL�t$XM9����{�T$(H�sD�|$dL�d$PH�L$ L�d$h�i���H����H�P L���M����H�HHO�<M)�H�PL�L$PL�D$M��H��L�t$XH�|$H�	A�҅�u#��9l$H~PH�t$H�|$L���������V����D$,f�H�\$xdH3%(�D$,uVH�Ĉ[]A\A]A^A_�f.�H�D$PH�\$0H�H�D$XH�\$8H��@�D$,�fD�D$,��
���AWAVAUATUSH��H��HH�H�<$L�d$0H�l$(1�H�T$L��H�L$dH�4%(H�t$81�H�D$(H�H��H�D$0�
���D$�����C�D$����E1��O�,�I��LkA�E/t{I�}(ttI�E H���tfI�}8����L��H���I���
������I�}8L��H��L����������I�MHI�E M��I��I�UH��H�<$H�	�����ug�D$I��D9{�d���L�t$H�\$�|$L��H���
��H�D$(H�H�D$0I�H�t$8dH34%(�D$uH��H[]A\A]A^A_���D$���%	��D��AWI��AVI���<��AUI��ATI��USH��(dH�%(H�D$1�H�H�l$H�\$H��H��H�D$H�H�D$�x	����t$H�L$dH3%(uQH��([]A\A]A^A_�DH��H��L��L�������u�H��H�޿<���+	����u�H�T$I�UH�T$I�$��^��ff.�AWAVAUATUSH��(dH�%(H�D$1�H��F����H�D$I��I��I��H�D$1�fDH�\�H��I^�C/tXH�{(tQH�C L���M��tAH���tbH�{8���H�SL��L��H��L�D$H�D$H�CHH�A�Յ�uH�D$IH��A9n�1�H�L$dH3%(u.H��([]A\A]A^A_�H�
s��H�5�OH�=�����N��ff.���SH��H��dH�%(H�D$1�������uH�H�L$dH3%(uH��[����ff.����AUATUSH��dH�%(H�D$1�H�����FI��~oI��1�f.�H�\�H��I\$H�C0H��tH�K@H��tH�SL��L���H�CH��t	H�sL���f�H��CC C0C@A9l$�I�|$H��t����I�D$I�|$����f�I�D$A$H�D$dH3%(u7H��L��[]A\A]����f.�H�D$dH3%(uH��[]A\A]�������AWAVE1�AUE1�ATUH��H�=�O*SH��8H�x*H�4$dH�%(H�\$(1�H�H�5ez*H�D$H�D$ H�PH��t%D�E��t�D��H��D�T��E��u�A�E�}H��tH�H��H��Mc�H���f.�H�D$ H���1�E��H��H��H�D$H�=�v*�8�H���/�����H��H�����<��Ic��P���H�CH����E)�D�s�D$E����A�D$�E1�L�d$L�4��DI��M9�toH�D$L��H��H��J�8� �����t�H�|$H���zH�|$�$����H��H������$H�\$(dH3%(�FH��8[]A\A]A^A_�L�d$L�5N*H�Zv*O�,��@M9���I�VI��L��H��H�����t��l����H�|$H�T$H��H�5��7���H�������H�T$H�������H�H�������Ic�A�uH��Hc�H�<�H�PH��t*D�
E��t"�f.���H��D�D��E��u�A�A��H��H�D��H��u��8����H�|$H��t�a�������H�T$ H�|$H�SH��uH�4$H�����D$�/����D$�������$�����$�v���@��AWI��AVI��AUI��ATUSH��HH�t$H�l$0H�\$(L�d$H��L��dH�%(H�D$81�H�H��H�D$(H�H�D$0������u�|$<���t(H�L$8dH3%(��H��H[]A\A]A^A_�DH�t$ L��������u�H�t$ I��H�ٺ/L�������uCH��H��L�������u��|$<��H�t$ uBH�T$(H�L$I�H�T$0I�UH�1�l���@H�t$ L���D$�����D$�N���fDL������6���������H��(dH�%(H�D$1�H�AL�D$H�D$�AH�L$H�D$���H�T$dH3%(uH��(��.��ff.���AWAVAUATUSH��HH�|$H�T$(dH�%(H�D$81��F���sH�D$0H��E1�E1�H�D$H�D$DH�D$0K��H��HEH�P L�R8M����H�HHH�PH��L�D$H�|$H�	A�҅���L�|$0M����I���1�@�SH��H��I�|u�D�sH�|$H�T$ H���e��I��H��t}D��H�T$ L��A��H��H�<8�����L��H��L�H�@�@���L�l$I��D9u����1�H�L$(H�t$H�1H�L$8dH3%(uWH��H[]A\A]A^A_ÐH�\$L��H���0�H�t$H���#��H�D$�D��1��+���H�D$1���d���@��AWAVAUATUSH��8H�l$pL�t$xH�|$H�T$H�L$dH�<%(H�|$(1��A�I�AA�AH�E�E�F����I��E1�H��M��L��L���M��I�ǐH��H��HUH�J H�A@H��t1H�JHH�RAVH��AWATAUL�L$8L�D$0H�|$(H�	��H�� �ƅ�tH��9]�A�H�|$(dH3<%(��uH��8[]A\A]A^A_þ���I���f���AWAVAUATUSH��(D�NH�L$dH�%(H�D$1�E����I��I��A��L��E1�1�K��H��ID$H�P L�ZHM��t/H�HHH��H�PE��UL��L�L$L��H�	A��ZY��t��u��I��E9|$���t(1�H�\$dH3%(uH��([]A\A]A^A_������l���ff.����AVAUATUSH��dH�%(H�D$1��F��~pH��I��I��E1�1۸�@��uX��I��E9n~BK�T�H��IVH�J L�IPM��t�H�BHM��H�RL��H��H�A�у�u�1�I��E9n�	�u�H�\$dH3%(u
H��[]A\A]A^����f���AVAUI��ATI��UH��SH��0dH�%(H�D$(1�H�T$H�D$���t(H�L$(dH3%(��H��0[]A\A]A^����~�H��H��tVL�t$���H�L���a�H�CH��thH�L$ H�T$L��H��H�D$L�t$ �I��u%H�T$H+SI�]�S�p�����f���fDH��H��D$��D$�H����H���h���.������f���AVA��AUI��H��ATM��UH��SH��H�� dH�%(H�D$1�I��b��{H��H�s�/�D$H�l$��H��tHH�P L�RhM��t;H�t$dH34%(uMH�HHH�PM��E��H��L��H�	H�� []A\A]A^A��DH�\$dH3%(�u
H�� []A\A]A^�������AUI��ATI��H��UH��SH��H��(dH�%(H�D$1����{H��H�s�/�D$H�l$�A�H��tDH�P L�JpM��t7H�HHH�PM��H��L��H�	A��1�H�\$dH3%(uH��([]A\A]��������ff.����AWAVAUATI��UH��SH��hH�T$ H�t$8dH�%(H�D$X1�����D$�����EH�t$8���$H�D$@E1�H�D$H�D$HH�D$H�D$PH�D$@O���VI��LMM�ͅ�~4H�^M�y L9{ td��H�CPH��H��H��
H��H��PL9x�tCH9�u�L��D$��DH�L$XdH3%(�D$��H��h[]A\A]A^A_ÐH�{(tbI�u8H�{8�l�������I���H��t`I�U@I9UH��H�S@H9SH��H��I�M@I�UL��L�K@L�C��H�t$8���^���I��D9u����H�D$ H�0�T���@H�D$@I���H���sI�����H�S H����rI�M@I�UH��L��L�D$�Ѕ���H�T$@H��H�T$(�`�I��H����H�D$PH�T$(H��L��I�MHI�E L�L$L�D$H�T$HI�UH�	�����uTH�D$PH�KHH��L��H�SL�L$L�|$PL)�L�D$H�D$HH�C H�	�����uL���Y�H�t$8����L���D$�<��D$H�t$8�%���fDH�t$8�����H�
2�H�5}?H�=�
��H�
�SH�5^?H�=H��H�
��TH�5??H�=i�|�H�
��%H�5 ?H�=�
�]�H�
��'H�5?H�=�
�>�H�
��&H�5�>H�=|
�����f.���H��dH�%(H�D$1�H�D$dH3%(uH�51�)H�������C�����AU�I��ATUH��SH��dH�%(H�D$1��b�H��t]�oEH��D�eH�EL��H�C�>�H�CH��tEH�uL��H������I�]1�H�L$dH3%(u/H��[]A\A]�D���f�H���h������ff.����USH��dH�%(H�D$1�H��tQH�H��H��t$H��H�xH����H�{��
�H�H��u�H�D$dH3%(u)H��H��[]���@H�D$dH3%(uH��[]����@��AWH��AVAUATI��UH��SL��H��H��T$T1�H�@PL�D$H�L$0L�L$(H�@0dH�%(H��$�1�H�D$8I�A�H�D$hH�D$pH�@0H�pHH��$�I��H�D$H�t$@�����D$P���DH�CH��$�H�@0H��tZH�pH�H�L$hL��L�D$p��H��$��D$P=:ǖt=2:ǖt�D$P��=�:ǖ��L����H�D$(H�@H�@0H�pHL�D$x�`1�L���W���D$P����L�l$xM���5HDŽ$�I�uH����H�D$M�}E1�L�d$HH�l$Xf.�H�L$H�T$H�|$H�L�����t=:ǖ�?L��$�I�}�"1��H��I�|�H��u�L�H�,�H�|$H�T$ H���/���I��H���+H�T$ J�<�L��I��I������L��I�D,���L�d$HDŽ$�I�w�H���<���M��H�l$XL�d$H1�L����H��$�L����H�t$xL����D�EE���dE1��\$T�\f�I�G H�@xH��t/I�OHH��I�WH��t$0L��L�L$ L�D$@H�	��ZY����H��$�L���$�I��D9u��HDŽ$�O��I��LUA�BM�ׅ�t�I�R H�z`t�H�t$pH��t��fM���
� �L�D$A�1�L��L���0����unL��$�A�M����I�8��I�OHI�G H��H��I�WL��t$pH�	�P`^_����H��$�A�G�L��D$�B���D$�D$P�!�L���(��D�L$PE���~E1�H�t$hL����H�t$pL�����L��L�������D$PH��$�dH3%(�MH�Ę[]A\A]A^A_�DE1�H�T$81��A�L�D$L��D�L$HD֨HEt$@������M���L��$�M���V���D�L$����L�D$A�
1�L������������M�������A�G ������x���DL���0������L��1����L�d$HH�t$L��D$E1����H��$�L�����H�t$xL�������D$�D$P����L�d$H��E1�����H�
���H�5�7H�=��%��A�G����H�D$(H�@H�@0����u�D��AWAVAUATUSH��HH�|$H�L$(dH�<%(H�|$81�H��F���xH�D$0I��A��E1�H�D$ 1�E1�f.�H�D$0K��H��IVD�b��H�B H�@XH����H�JHL�L$ E��L��H�RH�|$H�	�Щ������H�L$0H��t~H�9����DH��H�CH��H�|��u��sL��H�T$H��H�L$���H�L$H�T$H��I����H�<�H��H�L$���-���H�L$H����I��E9~����M��tcI�D�H�D$(L�(1�H�|$8dH3<%(uLH��H[]A\A]A^A_���1��`���M��t	I�D�H�|$L��D$�����D$�E1�롸���f���ATI��H��U��SH��H��`dH�%(H�D$X1�H�H�t$������uWH�D$��H�t$@L��l$$�P�T$(H�@H��H�D$HH�D$0H�D$ H�D$@�B�H�t$L��D$���D$H�L$XdH3%(u	H��`[]A\����ff.�@��AVAUATM��UH��SH��H��dH�%(H��$�1�I��vH�T$XH�T$H�D$PH�L$`�J����t.H��$�dH3%(�H�Đ[]A\A]A^���|$�����L�l$H�|$`L�������u�L�t$@L�D$H��H�ߋt$M���`������H�t$H�����L��L���p������b���H�D$�D$$H�t$pH�ߋP�T$(H�@L��H�D$xH�D$0H�D$ H�D$p���H�t$H�߉D$��L��H�����D$���H�t$H�߉D$�_��D$���fD�2:ǖ�����Q����H��(dH�%(H�D$1�H��z���9�u�BH��H�ΉD$H�BH�D$�$��H�L$dH3%(uH��(����f.�AWI��AVAUI��ATE��UH��S��1�H��(L�dH�%(H�D$1�H�D$H�$M����DA�@A�փ�a����`����uZH�$L�¾H���v��������A�VHc�M��M��t��u�H�\$dH3%(�%H��([]A\A]A^A_�f���t)9�t7H��M��M���n���1��f�=�t=u�E��tҹ1��@I�uI;utfI�EH�D�I�UL��H��I�EH���r���L���I�E�B���H�t$E��L���H�����H�t$H��D$����D$�����H���w1H��I�}L�D$H����L�D$H��t1I�EI�uI�e�d���1�H�e�"H��� ��"��������������AWAVA��AUI��ATM��UH���SH��H��(dH�%(H�D$1�H�D$H�D$��I�$H�$H����H��t<I��H��E1�D��L��H������Å�uM��uUH�$��uH�|$tI�$�@M��u3H��H���X��H�T$dH3%(��u=H��([]A\A]A^A_��I��A�L��D��L��H���&������f������@��AUATUH��SH��X�JdH�%(H�D$H1��D$�����uEI��I��L��H��tH�EH��tH��BH�t$ H�|$0�D$4H�BH�D$8�3���tH�\$HdH3%(�6H��X[]A\A]�H�D$ �x������H�D$ H�t$(H�x �������L�D$ H�L$(L��L��L�L$��a��D$��uiH�t$(L�������D$H�t$ ���D$��H��tH�VH�UH�FH��tH�V H�H�F L��D$���D$�*���f�H�t$ L����H�t$(L���f���D$���DH�t$ L��D$�g��D$����H�t$ L���Q��2:ǖ����L���?��:ǖ���� ���AWAVAUATUSH��8dH�%(H�D$(1�H�D$H�����a��H�.I��1�H��tH�}tfDH��H�|�u�WH�GH�t$H�|$�D$���T$H�D$�E��A�ą���H�L$H�9��1�f�H��H�<�L�,�u�H�L�<�H��L���w�H��H��tgI�H�t$H�<�L����J�D=�H�|$����1�H�D$�1�E1����H�T$(dH3%(D��u+H��8[]A\A]A^A_�@H�|$A���H��E1��f�����f.����AWAVA��AUE1�ATUH��SH��H��L�D$pH��$�H�t$L�L$xdH�%(H�D$H1�H��$��D$0 H�D$8H�D$PH�D$@I��� �$��ǍpA�8��t+��/�?��A����/v�H�r���tH�V��fD�t$0Ic�H���@��H�D$H�����(�(��I��H����H�D$H�l$(H�l$ H��I�T$H��E�l$ I�D$D�t$$����D$���jH��$��D$0 L�t$E1�H�D$8H�D$PH�D$@E��uU��H�|$@�֍B�D$0�47�t$$��/�U��H��T$0H�L��H��H��H�D$(�2����u~A��I��E9�t1�T$0��/v�H�D$8H��H���H�D$8�T$$H�PH�T$8�fDA�D$$H�D$L� H�L$HdH3%(�D$��H�Ĉ[]A\A]A^A_�DE��t5H�L$Ic�H��H�l�H�A�G�H��H)�H�{�H���;��H9�u�H�|$�,��I�|$�"��L������D$�n���D�D$�\���H�|$����L�������D$�:���H�|$�����D$�#������H�D$8����H������f�AWA��AVI��AUATA�USH��H��8H�|$� D�|$dH�%(H�D$(1�����H��H����I�w��U�H�D$H����M��tL��H��H���D�H��E1�A��A�E����/���ƒ�IVA�H�*H����E9��H���(��L��H��I��H��HډBH�$����H�$H��H�BH��u�Mc�I��J�,I��M)���H�}�H�����L9�u��@H��H��A��g��H�l$H���Z��D��H�L$(dH3%(��H��8[]A\A]A^A_�@I�VH�BI�FH�*H���/���H�D$�L$E1�HH�L$�@$����@��H�HH�XD�h �f�E�H��Ic�H���.�H��t
H���������A��A����9���Mc�L��H��H�|��f.���H��dH�%(H�D$1�H�D$dH3%(uH��H����H��L��������ff.�@��AV�(I��AUM��ATI��U��SH�� dH�%(H�D$1����H��t>L��L���H��H���S�����u/I�H�T$dH3%(u.H�� []A\A]A^����ՐH�߉D$����D$������f���H���L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$ H�D$H�D$ �D$0H�D$�R��H�T$dH3%(uH�����%��D��H��dH�%(H�D$1�H�T$dH3%(uH�Q�)H����������H��dH�%(H�D$1�H���)H�T$dH3%(uH���������AUATUSH��H�^dH�%(H�D$1�H�H��t!D�gL�oH��L��9ht2H��H�C�H��u�+:ǖH�L$dH3%(u4H��[]A\A]�D��tH�xL��L������t���1������AWAVAUI��ATUSH��(D�f�jdH�%(H�D$1�A9�wTuAH�BH�~L��H���^����91�H�L$dH3%(�-H��([]A\A]A^A_ÐH��H��H�‰�D��A�ą���H�zL�~�?/A���</��A)��D��L���������D���t�A�T$�A��I�I)�D�tH����H�C�L9��]���H�À;.u�I�L��H��H�D$D��)؉D$�N�����t��1���D</u_��L���r����uQ�]D9�������I��L�����H��D9�����}/u�L��L��L�|$�\$�����t������+:ǖ����n��ff.�AUATU1�SH��H��(�dH�%(H�D$1���tI��H�1I���>/t-�B��<.tdH�\$dH3%(���H��([]A\A]��?H�L$�:=wVH��w��H�L$A�$I�uH�9���A�$�f.�����wH�<I�u����A�$�u����+:ǖ�k������f.�AWAVAUATUSH��H�|$L�d$pH�T$@L��H�ʹ@H�t$8dH�%(H��$x1�L�d$X�D$d�H�H��$pH�D$H�D$h����!I���M��E1�L��L�l$PE1�L�d$H�lH�D$`L�|$ E��H�D$(H�D$hM��I��I��H�D$0D���*fD�H�JI��H9��H��1�H��L9�tF���u�<\��<,��< u	L9����H�JI��H9���H��H��L9�u�L��E��H9��H)�H�L$XH�t$h�T$TH�|$dH�T$T����H�\$PH�l$`A����u)H�t$H���i���A����uE����f�E1�H��$xdH34%(D����H�Ĉ[]A\A]A^A_Ð�����fDL9���H�D$(L)�H�t$0I�O�T$TI�WH�x�%����Ņ��{H�t$L�������Ņ��dE��t(H�D$ H9��H�T$(H�|$L���?������/�@L��H�|$E1�H���T$T�H�H�|$�T$dI��L��H�ȹ@�H��Y���fDH�D$ A�H9�?���H�D$8D�`A���wBE��E��uiD�d$dL��A�BƄp�	���fDH�T$8H�|$L������R����A�+:ǖ���DH�|$�@1�L���D$d�H����H�pH�|$L�ڹL�\$H�v��L�\$H�r���H�T$@H�|$H�t$`�(���A���3���H�|$H��H������A������A������A������������AUATI��USH��HH�VdH�%(H�D$81��FH�T$�D$����H�͍H�H���<
tx�����PA9T$uH�pI�|$�+����tgH�L$(H��L��H��A�.L�l$ ������uGH�L$L�D$H��L��L��H�\$ ����H�t$(H�߉D$����D$���L$���|���@1�H�\$8dH3%(uH��H[]A\A]����f.�@ATI��UH��SH��dH�%(H�D$1�H�H��H�$����Å�u(H�4$H�~@t:H��8L��H���K��H�4$��H������H�L$dH3%(��uH��[]A\�f��F��:ǖ���`����AWI��AVM��AUI�պATI��UH��SH��HdH�%(H�D$81�H�D$(�|����Å�t6H�l$(H����H�L$8dH3%(����H��H[]A\A]A^A_�L�����H�L$ L��H��H�T$L�D$�D$�D$��L�|$�-���Å�u�A�ED�d$$A�|A�~I������H�l$(I�FH��tWE�u�H�HI�uf�PfA��H��D��fD�8f��f�PL���;��D��H��J�<0�,��H������'������
������f���AWAVI��H��AUATUSH��dH�%(H�D$x1�����I�I�@�ZL�zH�D$`H�D$H��H�D$(L�H�D$h��u>�):ǖf�H�\$xdH3%(�kH�Ĉ[]A\A]A^A_�f.�A�H��I��M�ă��<^���v�A�f����9�u�A�Gf������t=����A�GH��I��L)�f������H�<$H9��T���f���H�T$(L��H��L$�e�����=����L$H�T$@L��H���D$@���L$DH�L$ L�|$H�c��H�L$`H�L$����H�t$(H��$�a���H�t$H�������$E1�������H�t$�):ǖ�N��vSH�~�f����f��w?��uE��u6H�Q�H�GH���D$`���T$dH�t$`L��H�D$h������uA�]H�t$H��$�����$�^���fD�T$TH�t$PH��H�T$�D$P��L�|$X����A��L���f.�H�t$ H���s���H�T$(L��H������������L<$H�T$PL��H��L)�L�D$4L�|$X�\$TH�\$�D$P��H������������H�T$H��H���������f�H�T$�6���A�����:ǖ������ff.����SH��H��dH�%(H�D$1����;H����Hc�Hк>��H�5��H�=��
��H�f.�1�H�L$dH3%(�
H��[�@H�5x�H�=ќ����H����H�5r�H�=�����H���H�5��H�=�����H���H�5��H�=q��m��H��e���DH�5��H�=Q��M��H��E���DH�5��H�=1��-��H��%���DH�5��H�=��
��H�����D�H�5��H�=�����H�����{��ff.���AWI�׺AVM��AUI��ATM��UH��SH��H��XdH�%(H�D$H1��D$$H�D$(聶������t+H�\$HdH3%(���GH��X[]A\A]A^A_�fDL��L�l$0����H�t$H�|$0�D$8���D$<L�d$@��T������u�L�d$ H�T$H��H��E1�L���"��H�t$H�߉D$���~�y��A�G�l$$�|A�~I�����I�FH��thfA�������L�@I�wfD�(E�oL��f�PD��f��f�PL���$��H�t$(��J�<(���L��H������L$�������L$���f�H�|$(t0H��L���m��I�~H��t诿��I�F����D�������f���AWAVAUATUH��SH��H��HdH�%(H�D$81�H��V���mH�Ff�8�cD�xD�pL�l$�P
L�`L��A�A��ỈT$�L����D$��E��t:H�|$(�H��H�5B�1�D��A��R���D��L��H��1�����E��t:H�|$(��H�B�H�5{�1�D��A�����D��L��H��1����M��tgH���i*�I9��[H�����L��H��I��I��'E��H�|$(��H�V�H�5�1�L��A�觲��D��L��H��1��G��L���_�����H�|$(tH�T$H���	H�U�VL��� ����SD��tH�{1��)���H��tTH�=L��H�5)��<��H������H����H�E1�H�L$8dH3%(��H��H[]A\A]A^A_�f�H�t$�H����I��u�H�|$�D$H�WH�U�D����D$�fD�H�5��H�=�����L��H���������A�A�������Y���fD�S����H�51�L��衳������@H�5�L��艳������@H�5�L���q����W����������H��dH�%(H�D$1�H�T$dH3%(u
����H������f���H��dH�%(H�D$1�H�T$dH3%(u
����H����I��f���H��dH�%(H�D$1�H�D$dH3%(uH������f.�@��AWAVAUATUH��SH��8H�|$L�D$dH�4%(H�t$(1�H�8�@�I����E ���aA��:ǖ����L�uH��)L�-�A�FI��H�D$��DL�kH�SM�����C)H��D9�u�I�vH�{H�$H�T$����H�$��uź(L��L��譶��H�$H��'wL�C��L�EA�@I�x��t2�����t(��.tPH�tH������t��.��H��H9�u�A��:ǖ�H�L$(dH3%(D���|H��8[]A\A]A^A_�H��1�@���>H��t��@��t
�T7�f�T1�I+@��9uL�uA�F��&w�1҅����A�$��u"L�uE�~A��'�g���1�E����A�D�eA�|$�p���H��H����H�uL��H�����H�D$E1�H��B�#L�L$ H�
t�H�x8H�5r�虱��H��I��A��蛹��E����L�d$ M����L���̹����'�9L�|$��L��H��L�����A�L���a������@�9������"���f.�I�VA��s~A����E��t�A�$A��tE��B�D
�fC�D�A�F����A��=���D�U��'�%���H�\$H�uH������E������H�I�t$H��I�$D��H�L�I�L�L��H)�E�H)�A��A���x���A��1�����H�<
H�<D9�r��[���I�V��s#�����t�2@�1��A�V���H�2L�AI��H�1��H�|2�H�|1�H��H��L)��H)����rǃ�1҉׃�L�>M�89�r��H��H)�H��&�%���H��H���J���H�7L�II��H�1H�t�H�t�H��L)�H�H)�H��H���<���H��1�H��L�M�H��H9�r������E��A�$B�D
�C�D��^���A��:ǖ����2�1�T��T��
���L���B���������T7��T1������T�f�T�����8�����AWL�=��AVI��AUATUSH���H�8H�t$(H�l$PH�t$pH�T$�H�L$ H��L�D$8dH�%(H��$�1�L�|$pH�D$HH�D$PH�D$XH�D$`H�D$hH�D$x�$������,H�D$XL�l$hH�D$H��$�L�d$`H�D$�\f�H�T$XH��tH���λ��H�D$XH�|$`H��t����H�D$`H�|$hH��t���H�D$h����L��L��H�������Å�u�H�D$`H����H�T$I�~8H��$�H�^�H�t$L��$�H��$�HDŽ$�荪��H�T$X���PH���R���H�:H���5���H�t$ H�T$0���H�T$0������H�D$`H�D$ DH�D$H��tV�8�
H�ƾ)H�=��L�d$(��H��H�;H��t$L�������u�H�CH�D$(�C��DH�\$ H������H��H��L��jL�L$(��1�L�D$8H�t$H�����XZH�|$PtH������H�|$HH��t�,���H�|$XH��t����H�|$`H��t�n���H�|$hH��t�_���H��$�dH3%(���
H���[]A\A]A^A_�@=`ʪE����H�D$�2���H�|$�.����H������H�D$ I�~8H�T$HH��$�L��$�H��$�H���H��$�H�D$HDŽ$�H��$�觨����uH�D$HH��tH�H��t
H�D$���H�t$L��$��L�����H�t$ L��H�T$@Ƅ$����Å������L�l$@L�d$M���V���A�]��t.踴��I��I��DXt���H���A�EI��A�]��u�L��
H����������!�%����t�H�5=�L������D�H�JHDщ��L��H��H)�H����w��L��
H����������!�%����t�H�\$@L������D�H�JH��HDщ��L��H��H)�H������H���6���L�d$�\����W������AU�I��ATUH��SH��dH�%(H�D$1��r���H��t]�oEH��D�eH�EL��H�C�N���H�CH��tEH�uL��H������I�]1�H�L$dH3%(u/H��[]A\A]�D���f�H���x�����蜿��ff.����AWAVAUATI��USH��(dH�%(H�D$1�H����H�H��I��1�H��u�D�JI�<�H��u�z�E1��	��1�I��H��u'�f.�A�FI��I��H��H��thL�H��H���
�����t�L��H��D$�W����D$H�t$dH34%(uZH��([]A\A]A^A_�@�����I��H��t)f�M�,$1���H�1��D���d���@��AWAVI��AUATUSH��(dH�%(H�D$1�H�H��H	���I��I��H��H����H�>u
���؍PI�<�H��u�P1�H��tH�}t��HH�|�H��u�<����I��H����M����I�71�H��tv1��f��CI�4�H��H��H��tYL�L���>����t�L��L��D$�{����D$H�|$dH3<%(��H��([]A\A]A^A_�@�1��>���@H��tCH�uH��t:E1��DA�GH�t�I��H��tB�;L��I�������t��t���fDM�&1��w���fD��g����ɼ��f���H��dH�%(H�D$1�H�D$dH3%(uH��H��1����腼��D��AVI��AUATI���8UH��SH�� dH�%(H�D$1�蝨��H�����oE�oMH��L���oU H�uH�SHP H�E0H�C0����A�Ņ���H�uH��tH�SL�������ucH�u H��tH�S L���F�����urH�u0H��tH�S0L���ݹ������I�H�L$dH3%(D���}H�� []A\A]A^�fD�D$H�sL������H���@����D$A�����D$H�sL���P�����fDA��H�������fDH�s L��D$�0���������f���H��dH�%(H�D$1�H�D$dH3%(u
H�vPH�������ֺ��fD��AT�I��UH��SH��dH�%(H�D$1���H��tW�oEH��H�E�{H�C�Ԧ��H�CH��t;�UH�uH���\��I�$1�H�L$dH3%(u%H��[]A\�D��ېH����������,���f.�f���AVAUI��ATUH��SH��H��H���odH�%(H�D$1�B��oNJ�oV R�o^0Z(�of@b8�onPjH�ov`rXH�FpH�BhH�v�t��A�ą�t-H�L$dH3%(D���BH��[]A\A]A^�f�H�uH�SL���0��A�ą�u#H�SH�uL��虺��A�ą�t"H�sL���Ʋ��H�sL��躲����H�uHH�SHL�����A�ą�u%I��H�uPL��L��觻��A�ą�t H�sHL���d���H�{(諪���f�H�<$�o?{P菪��H�u`L��L���`���A�ą�uIH�<$�o?{`�h���H�upH�SpL��訶��A�ą����H�{h�Sd1��_���H�{h�6���fDH�{X�ST1��B���H�{X�����T����?���ff.�@��AUI��ATI��UH���xSH��(dH�%(H�D$1��O���H��tRH��L��H��H��������u%I�]H�L$dH3%(u0H��([]A\A]�fDH�߉D$脩���D$��fD��蜷��f.�f���ATUSH��dH�%(H�D$1�H��tgH�ՋVI��U��u/H�E�E��1�H�L$dH3%(uEH��[]A\�D��H���v���H�EH��tI�t$H��H�������볐����@��AUATI��USH��(dH�%(H�D$1�H��tJI���H���
���H��H��tZH��H��L��脲����u0I�,$H�L$dH3%(u;H��([]A\A]ÐH����H��D$�4����D$��fD���L���ff.����AUATUSH��dH�%(H�D$1�H��tm�^H��I��Z�{�Y���H��H�EH��t]A�݅�u.B�)1��E��H�T$dH3%(u?H��[]A\A]�DI�t$L��H�����H�����f���蔵��@��H��dH�%(H�D$1�H�D$dH3%(u	H��鯳���Z���f.���AWI��AVAUI��ATI���(USH��dH�%(H�D$1��k���H����Ao�AoOH��Ic HI�G H��H��H�C �5���H�CH��t|E1����I��E9w ��H�CL��L��Ic�H��H�0Iw脰����t�D�e�A���t-A�F�Mc�H)�I��H��H�� H�CJ�| I���>���L9�u�H�{�0���H���(����H�L$dH3%(uvH��[]A\A]A^A_�@H�SI�wL���0�����uI�]��fD��f�A�G 1�~�fDH��H��H��HCH�x訥��A9o ��d����ȳ�����AWAVI��AUI���8ATUH��SH��(dH�%(H�D$1��۟��H�����oE�oMH��L���oU H�uH�SHP H�E0H�C0����A�ą��PH�T$H�u L�����A�ą��(H�|$�o[ ����PL�}0�V���H��H���J�Ao'H�PL�� �Aooh�Aow p �Ao0x0�Aog@`@I�w�*���A�ą���I�wH�UL���o���A�ą�u}�AoomI�G(H�E(�E$���#H�E(I�w@H�U@L���3���A�ą�u,I�wHH��tH�UHL���g�������H�k0I��LfDH�}(���H�uL��諫��H�uL������H���ף��H�{(�Σ��H�sL��肫��H��躣��H�L$dH3%(D���H��([]A\A]A^A_�@A����A���H�u@L��D$����H�}(�W���H�uL������H�uL������H���7����D$A���T���E�g$M��t?I�G(L��H�D$����H��H��tAH�t$L��H������H�E(���������H��tH�E(���H�E(H�uL��A��f���H�uL���ڕ��H��蒢�����踰�����H��dH�%(H�D$1�H�D$dH3%(u	H���O����z���f.���AWAVAUATUSH��H��HD�D$dH�%(H�D$81�H�D$H�D$H�D$0H��t	�B��uW1ҽ(:ǖL�d$ H��H���X���H�t$H������L��H�������H�L$8dH3%(��H��H[]A\A]A^A_�H�BI��I��M������<Ktq<Mu�H�t$H���@�����H�T$L�d$ ���y���H�L$L��H���,"�Ņ�t=�:ǖuL�d$ H�t$L��H��L����Ņ�t)H�T$�4����H�t$H���#�������H�L$H�T$L��H��裕���Ņ�u�H�D$1�H�D$I��������AUATI��UH��SH��H��8�zdH�%(H�D$(1���������sH���^��������{$�|$���H�D$H����L�l$H��L�C1�M��L���n����Ņ�uXH�t$L��諺���Ņ�u	H�D$H�C0H�L$H��t�T$H��uIH������H�T$(dH3%(��uVH��8[]A\A]�@H�|$�֟����@���f�H��1��֓��H��먐��:ǖ�f���:ǖ��ĭ��@AWA�����L�
q�AVE��AUE1�ATL�%>�USH��C�,H�|$0L��$�H�|$@H��dH�%(H��$�1�1��D$8f�D$@��H�$�L�t$H�|$�����A�����E����Ic�H�������%�gH�A�9��XH�5��D�,E�����D$8I�vA����������D$8�D$<A�FH�$H�_fD�oH�	H�T�H9��4	H)�H�H��H��'�cH='�'HF�H�H�$H�D$H�H�|輘��H���1L�4H��H��H�D$ L��H���8���H�t$H��I��H�D$L�T$(L�XI��M�L������H;l$L�T$(L�
��I��tH��H�D$�͝��L�T$(L�\$L�
��H�D$K�|2�M�t�I�D�H9���A����C�,H�l$ L�\$�؃���o���H��B�4(�����|$8uIE���*u>H���UfDH�i�D�,E����H9�t-H��H�I��A����t����%w�Hc�A�<t�H9�uӻH;|$t���H��$�dH34%(����H��[]A\A]A^A_�f.�H�Y�Hc����D�0D)�L��Hc�A�����NL�,���Ic�L�>���H�t$0L�VA�:x!I�RH�VE�:D����	��j��fD1�E1��F���fD��A���������H�T$0�
f�H��H�H)�I)�H�A������A�V��A�V�I�vA�L��%wHc�E�	D9��#H�H��L�,����fDH�5����Hc�H�>��D$<I�v�D$8A�F���H�|$(A��0H�T$ L�T$����H�T$ A����H�|$(L�T$0L�
7��;DA������JC�4���0E��H���A)�D9��.I�R�J�D�|��
H�0L��B�DFu�L�T$D�|$<L)�H��A��A��E����A�����H�|$ H�T$�]���H�T$H�|$ L�
��L�D$0�	DI�PH�2H�H���Dq u�A����A�N���a��.��T���iɀQH�t$0�A�6����A����A)�A9�A��E���#���H�D$0�I��H��A�����+���A�N���+	��V4���i��A�N���"""��DDD����k�<�x���A�F�H�t$0I��H��A��������A�v荎a��.������A�N�D��+	A��V4�u���E�V�E��"""A��DDD�]���i��Qi�����A����A)�A9�A��E�����Ek�<��������)�D9�@��@������H�t$0DщA�6����A����A)�A9�A��E������H�D$0�I��H��A�������A�N�+	��V4�����E�V�A��"""��DDD�����i�Ek�<��������)�D9�@��@���]���H�t$0DщA�6����A����A)�A9�A��E���8����1H�t$0I��H��
A�����?���A�N���+	��V4����E�A��"""��DDD���i�Ek�<�������)�D9�@��@�������H�t$0B�I��H��A��������A�H�t$0I��H��A�������A�V���+	��V4�f���i���A�6��������9������B���i�I��H��A�����K���A�V���"""��DDD�����щ��)Ή�A�6�����������9��������k�<I��H���A������A�H��I���A��������A�H��I��E1����H���D�,��A��A)�A9�A���<���H��H�A��I)�H)�1Ҹ	�n������9���������9����=���H��H�H)�H���I)��0H�5z���
Hc�D�,����H������H�|$ 1�����A����L�׻�����)�D9�@��������)�D9�@���'���A��A)�A9�A���@���A��A)�A9�A���3�����)�D9�@���E���A��A)�A9�A���^���H�T$0�2�8���I��L�\$H��H�l$ ����^���ff.���SH��H�� dH�%(H�D$1�H�|$H���$�`�����u�$�H�L$dH3%(uH�� [Ð��:ǖ����@��AVA��AUI��ATI��UH��SL��H�� A�U�vdH�%(H�D$1�H�L$�P�����t$H�\$dH3%(ukH�� []A\A]A^��H�|$�{�ˎ��H�CH��t:1�I��M��D��L��H���l�����t�H�{�D$����H�C�D$�D���,���f.�f���AVA��AUI��ATI��UL��SH��H�� dH�%(H�D$1����A�UH�L$H�߉��y�����t%H�t$dH34%(ulH�� []A\A]A^��H�|$�}��H�EH��t:1�I��M��D��L��H��贅����t�H�}�D$�C���H�E�D$�D���T���@��AWM��AVM��AUA��ATI��U��SH��H��A�y$H��$�H�$dH�%(H�D$x1��������u���D��:ǖ��
�E��A��E��A���o�oSH�t$H�|$ �o[ �oc0�ok@)L$ )T$0)\$@)d$P)l$`�l$$����������H�L$f�M�G D��L��L��)D$ )D$0)D$@)D$P)D$`蕞��1��D$H�D$�PH�x�.���H�t$L���!����L$��uQ������
uCH�4$L����������t1A�W4I�81��$���I�8辑��A�G4�$I�G8H�T$xdH3%(��uEH�Ĉ[]A\A]A^A_�@A�����DH�4$L��脎�������D��:ǖ��|���f.�f���AUI��ATI��UH��SH��H�z0dH�%(H�D$1�H�������Å�u8H�$L�E�L��L���_���1���H�$H�x�P���H�4$L�����H�L$dH3%(��uH��[]A\A]��ݞ��f.���H���dH�%(H�D$1���t"f�H������u�H�T$dH3%(u	H���1���臞�����AUATE1�USH��dH�%(H�D$1�H�H��t2H��H���x���L�,�L��舊��H��t3L��H��H������H�EH�T$dH3%(D��uH��[]A\A]�A�������H��dH�%(H�D$1����t 9�t>H����H��9�t(���u�1�����H�T$dH3%(uH���fD���脝��@AWI�ϹAVI��AUI��L��ATUSH��H��dH�%(H��$�1�L�d$0H�$L��I�T$H�D$H�D$H�D$H�D$(�H�H��L�D$@�o�������L�|$��L��H�����H�t$H�����H�4$H��tH��臥��H�D$@L��H���3���H�|$(t
H�t$ H������H�t$H���ѝ����H��$�dH3%(�bH�ĸ[]A\A]A^A_�fDI��L��L��1�H���]����Ņ��H���L�$tI�PH�5�H��1�����L�$H�t$L�L$ 1�H�ߺ�Ô���Ņ���H�t$H�T$H���G����Ņ���H�$H�t$L�L$L���H���H��H�H�%���L�|$�Ņ������H���tL��H�5s�H��1��h���L�|$���T���H��tOfoD$ I��M�}E1�@H�D$(�D$$H�D$�F���fDL�|$�6���fD��&����������AWAVI��AUI��ATUH��SL��H��dH�%(H�D$1�H�$M����H��L��L������A�ą�tL1�H�4$H��tH���9���H��H�����D��H�T$dH3%(��H��[]A\A]A^A_��M���L�$H��H��I���L������A�ą�u�I���M��L��H��L�.�H�0�IDž�H��舆��A���V���L���L�˼L��H�ͼ�c���A���1������fD��USH��(dH�%(H�D$1�H�D$H����H�H��H��H��H������o�oJN�oR V �oZ0^0�ob@f@�ojPnP�or`v`�ozpH�F~pH�t$�����t:H�t$H��tH��D$�����D$H�L$dH3%(u-H��([]�f�H�T$H���fDH��H��蕌�����ޘ��H�
���H�5޻H�=޻�O���ff.�@��AVI��AUI��ATI��USH��H��H��0dH�%(H�D$(1�H�$H�D$諘H��H��谜��H����H���M�v tH��H�5g�H��1�����A��$�H��H��H��辊���Ņ���L��茚�t$H���tH�5?�H��1��͙��A��$��H�5P�H�=0d�,�����H��H��1�����H�4$H��tH��輐��H�t$H��tH���*���H�L$(dH3%(���H��0[]A\A]A^��I�vH�L$H��H��謙���Ņ��>���H�l$H�T$H�4$H��I��H�
x�H�D$�����u*H�|$t"H���tH�5�H�����A��$�H��H���p���L���h�����tYH���tH�5�H��1�覘��A��$�H�4$I��$�L�D$I��H��H��L�������Ņ��������H�4$A��$��������n���ff.���AUI��ATI��H��UH��SH��H��dH�%(H�D$1�H�$���M����L��I��L�\�L��H�[�H���n���A�ą�t'H�L$dH3%(D��ugH��[]A\A]�f�H���H�<$tH��H�5�H��1�莗��H�<$�oEH�GH�E�e����H��L��H���Җ��A����x������S��H��H��dH�%(H�D$1��%���H��t H�1�H�T$dH3%(uH��[�D�������@��USH��dH�%(H�D$1�H��tAH��H���H����y��H���H����H�D$dH3%(u'H��H��[]邆��f�H�D$dH3%(uH��[]�蔔��@��H��dH�%(H�D$1�H��t9H�H��u�f�H��H�H��t;Pu�H�L$dH3%(u	H���1����1������AWAVAUATUSH��H�L$L�D$L�L$dH�%(H��$�1�H�D$(H�D$0H�D$8H����H�^I��H����f�H���I��)D$P�SH���I��tH�5_�1��p���A�E4L�l$HA���I�mH���;A����D$DH��L���h���H��H��tbH�D$HL�@I�H���#L��1��@H��H���I�tH�H��t$Hc�H���zI�4u�H�H��H�H��u�H�H�t$(H�|$@�?��A�Dž����H�襖��H�$H����H�$I���1�L��I���L�D$H�AL�I�2��}��A�Dž��H�$I����3L��H�L$(L�@(螐��A�Dž���H�<$H�t$0���A�Dž���H�T$0�D$d�H�BH�D$p�B�D$hH����M�mI�}��1���H��H�GI�|�u�H���H�T$辕��H�T$H��H����H�(H�D$`H�CI�U1�H��tfDH�T�H��I�T�H��u�I�^H�t$8L��H�D$��A�Dž�uH�T$8H�D$H�D$8H�H�T$0H��tH��L���H���H�$L��H�@H�����N����	���H��I�EA����D$DH�������A�H�\$0H��t
H��L��1����H�t$(H��tL���ω��H�t$8H��tL��轉��H��tH�}菂��H��臂��I�FH���w���H��$�dH3%(D����H�Ĩ[]A\A]A^A_�H�D$`1�H�D$PH�D$PI�F����fDH�t$H��H�D$��A���@��I���fDI�FA����DL������H�
��H�5�H�=���z��H�
���H�5�H�=��bz���͏��ff.�f�AWAVAUATI��USH��8dH�%(H�D$(1�H�$H�D$H����H�����H�ֺ�H��I���t~��H��H���`H���tH�5ֲH��1�����H�EL�t$H��L��H�D$�E�D$�͓��H�D$�Ņ���L�<$A�H���J{���l$H�D$H����I��$�M��M��1ɺ4H���˛���Ņ���H�t$L�������Ņ�u#H�D$A��$�9H ��I�EH�D$H�|$H��t�L���H�4$H��tH��蛙��H�t$H��tH���x��H�L$(dH3%(����H��8[]A\A]A^A_�@��H�5±H�=tZ�p�����H��H��1��ax���q���@H���tH�5v�H��1�轏��H�D$��:ǖ륺H�5����:ǖH�=Z������:ǖH��H��1�螒������H�
���sH�5��H�=���
x��H�
c��tH�5z�H�=ް��w���V���fD��AVI��AUI��ATI��UH��S1�H�� dH�%(H�D$1�H�D$H�D$�[���I�I��$��I�UH�L$L��H���!����Å��>H�D$�H�5��H�x��I�}H�t$譀���Å��
H�D$I��$�L�L$H��H�L$�5H�@L�@�׊���Å����D$����I�uH�����H�D$H��H�PH�RI�UH�PH�BH�PI�H�@I�u�
���H�t$H�FI�EH�FH���@v��H�t$H��tH���ބ��H�L$dH3%(��uYH�� []A\A]A^���H�5�H�=X��:ǖ������:ǖH��H��1�虐��H�t$H��u�H�t$H��u���~���ff.���AWI��AVI��AUATM��UH��SH��H��HL�*dH�%(H�D$81����H�D$H�D$ H�D$(H�D$H�D$H��tH�M����A�$I���t7H�t$I�}8�i}������A�$H�t$H��E1�詖���g�A�U<1�����A�$E1�H��tI��8H��L���}��A�ƅ���H�\$H��H���_���H�t$H���t��H�t$H��tH��萂��H�L$8dH3%(D����H��H[]A\A]A^A_�f.�I����q���H�t$I�}8�|�����3���H�T$H�L$L��H���'�����t(����fDH�T$H�L$L��H�����������H�D$��H��H�p�x��H�����PH�@H�t$H�|$ �D$ ���T$$H�D$(����A�ƅ����L��H��蟁��H�D$H�D$I�H��tH�D$H�PH�H�@M�������H���H��H�x����A�$H�3�x��H�������A�$�u���@H��L��E1����H�\$�^�����H�54�H�=UA�:ǖ�����:ǖH��H��1�蠍��H�\$����葈�����AWAVAUATUH��SH��8dH�%(H�D$(1�A�H�B@H�D$�X ��u\H���H��t#H�5ܪH��1��
���H�t$H��tH���z��H�L$(dH3%(����H��8[]A\A]A^A_�H�pHI�պ�I��M��M����v��H����H�PH�t$H�|$H�T$�@�D$�.���Å�uML�D$L�L$L��L���8H������Å�u*�T$��tMI�E@��H��H�pH�xv��H������A�$H����#���A�$H��v��H��HD������:ǖ���$���@��H��dH�%(H�D$1�H���tH�T$dH3%(u4H���f������t�H�Ѻ�H����u��H�������赆��D��AWI�ϹAVAUATM��USH��H�����$ H�4$H�l$`L��$�H�T$�D$(H��$(L�D$H�D$ dH�%(H��$�1����H��H�D$8H�D$@�D$1��H��L��H�D$H�H�M���fH�4$H�T$PH���E{��A�ƅ�u^H�t$PH�����FH�߉D$,��j��H�D$PH�UL��H��艐��A�ƅ�u"I�wH�MH��H�����A�ƅ��@H�t$@E1�H��tH���n��H�t$HH��tH���y~��L���1w��H��H���ֆ��L��H���ˆ��D��H��$�dH3%(��H���[]A\A]A^A_��L�\$�D$,M���:���L��$`H��L��H�D$XL��I�V�H�H��褏����uI�VL��H��葏�����	�D$,L��H���&��������H�t$HH���s���A�ƅ���L�d$H�x���fDM��H��L��ǃ�H���Ho��A�ƋD$���E�������H�T$hH��$�H���-���������$4����L��$(M��t5M�$$M��t,E1�H�|$��H�t$H�T$@H���?6A�ƅ���D$,�T$(fo�$D��$$�D$|)�$�DŽ$����\A���TE��A�� L�T$XH�L$@I��D��M��L��H��L�T$�Ȋ��A�ƅ�t<�D$,H�t$@������L�T$H��I��D��L��H���D$|M��茊��A�ƅ�ueH�4$H�T$XH��H�L$8L��$`�Wu��H�t$XH��A��跋��E��tH�t$8H��t(H����{��H�t$@�N���H�|$8H�D$ �o�t��H�t$@�.���fD1�L�D$XL��L��H��請��������H�t$XH�ߋF�D$,�?�������f.�H�t$@A��:ǖE1�����DH�t$@A��:ǖE1����DA���E��A�� ���H�D$�x$tH�t$@A��:ǖ���H�D$�x ~8H�D$�H�@D�pL�`I�v�Ņ��H�D$H��t:M��uL�d$����H�t$@E1�A��:ǖ�1���L��L�d$L��L��薌�����H�t$@E1�A�����艁��f���AWAVAUE��ATUH�պ�SH��H��x��$�H�t$H�L$L��$��D$<��$�L�L$@L��L��$��D$8H��$�L��$�H�D$(H��$�H�D$0H��$�H�D$dH�%(H�D$h1�H�D$PH�D$X��o���D$$H���9H�����u����H�E����<^��<M��L�t$PH�t$L��H��M��A�	H�����A�Dž�tRH�D$H���H�HtH��H�5�H��1�H�L$H����H�L$HH�t$M��H��H��A�������H�l$P�}
��H�D$L�pA�~ ��H�D$�@F�7�L$$���[H�EH�@�x uH�@�xuH�@�8krbt�#I�T$H�uH��A�:ǖ虃����uiH�l$PH�E@H��H�P8H�EH�p�x�����tBH�EI�T$H��E1�H�p�\�����u,A����I�D$�x uH�@�x��A��:ǖL�t$P��:ǖ�L$8I�F@9HDE�A��t
A�L$4���}A�T$8��t;P,��:ǖDB�A���t
A�L$<���2A��t�@"�t���E����A�T$4��u�SX�|$<�H(�49����9���H�L$(H��tI�FH�I�FH�|$0H��tI�F@H�@HH�I�F@H�@H�x��$���H�l$H�EH���
I�vH�PH����A�Dž���L�t$I�>��o��I�L�t$PM��u9H�\$hdH3%(D���4H��x[]A\A]A^A_�L�t$PA�(:ǖM��t�I�F@@H�@1��PH�x�c��H�t$PH�������f�xgt����@A�����H�D$H�uH��H�P�^������$�������I�F�x�L���H�P�:krbt�<���f�zgt�0���H�L$H�QD�zD9x����H�JE��t!H�xH��D��H�L$蒀��H�L$�����E;~���E�����I�~D��H���c������������fDH�E@�` �������9H0����A����A��:ǖ���f�;H(DE��w���@H�EH��H�D$H�PI�F@H�p8�#���A�Dž��1���H�EH��H�D$H�PI�F@H�p�{}��A�Dž��	���H���t!H�EH�5+�H��H�HH�PL�@1���}��H�l$`I�t$`H��H���~��A�Dž���H�D$H��H�H�pH�D$茁������A��:ǖ���D9P0����A��:ǖ����@��L��H���j��H�������D$$���fDH����&���H�E@I�L$H�5*�H��H�P81��}�������A��X���DL�d$XH��L���q��A�Dž������H�t$E1�1�L��H���x�A�Dž�����H�t$X�F�n,D��:ǖ��tG������<u9L�f0�H�5��H�=G�y��D����H��H��M��1����H�t$XH���r��L�t$P���fDH�@�8krbt�&���f�xgt����H�EH�@�x ����H�@�x�����H�@�8krbt���E1�f�xgt���������L�|$H�|$`A��I��oH`�k��I�V@I��R �PDI�V@I��oB$@0I����I�H�@pI�D�h@I�F@H�p@H��tlI�H�D$H�PHH���Yy��A�Dž������I�~H���rm��A�Dž������H�|$`H�D$�oH�PP�k��L�t$P�~���H�E@A�(:ǖ�y���H�D$H�t$@H�H�D$H�PH�H�v H��tH�T$`H���Ã����tH���G}��H�t$X�m���H�l$`�H�5L�H�=4E�0x��D��H��H��H��1��}��H�t$`H���j����x��f���AWAVAUI��ATM��USH��H��H��$��T$H�t$pH�L$L��$�H�D$ H��$L�D$H�D$0H��$H�D$8H��$H�D$@H��$H�D$(dH�%(H��$�1��D$dH�D$hH�D$pHDŽ$�DŽ$�HDŽ$�DŽ$��V����>H���t4�D$H���I�UH��L���I�L$H�5�LD�1��`y��H��L��H��H�D$pPH�D$pPH�D$tPH��$�U�t$HAVATL�L$XL�D$P�L$LH��$���H��@A��L��$����H�D$dL��$�H�D$ H�D$xH�D$HI�D$L�D$ E��L��H��H���D$dH�P�~`��������$���teH��$�����<^uSA��uMH�t$HL���Fm��A�Dž���H�T$HH�t$pE1�1�H����A�Dž�ugH�t$xH�߃~4��n���t$@L��L��H��t$@�t$@��$���$�P��$�PAT�t$PL�L$PD�D$LH��$���H��@A��H�t$pH����H���tD��H�5��H��1���w��H��H���`x��L��H���Ux��H�t$hH��tE��u6H�D$(H��t,H�0H��$�dH3%(D��ukH�ĸ[]A\A]A^A_ÐH���Z����fDA��H��$�L��$��R�����m��L��H��A���w���@���DA���"����3u����H��dH�%(H�D$1�jAQM��E1�jjjj�a���H��0H�T$dH3%(uH�����t����ATI��USH��H�� �VdH�%(H�D$1�H��H�F��T$H���$��H�D$�a����t#H�L$dH3%(uGH�� []A\�f.�H��H��L�d$�D$�8i����u�A�$����?D�A�$��7t�����AUATA��UH��SH��H��8dH�%(H�D$(1�H��VH�F��D$���T$H�T$H�D$�`����tH�L$(dH3%(uYH��8[]A\A]�@��_��I��H��tH��D��H���{����uL�+���몐H�;�D$�De���D$��is��f���H��dH�%(H�D$1�H�D$dH3%(uH�ыVH������$s��@��AVA��AUI��ATI��UH��SH��0dH�%(H�D$(1�H�\$H�t$H�$H���:c����t~H��D��L��H������Å�t'H�L$(dH3%(����H��0[]A\A]A^�@H�$L��H���Io���Å�tS1�L��H���6o��1�L��H���yv��H�4$H���mW���H�T$�H���D$H�\$�Y_���^���@H�$L��H���1v���Å�t���r��@AWAVAUATI��UH��H���SH��8dH�%(H�D$(1�H��P���I��L�|$H�D$L��H�D$H�@L�p���H�$H�D$�m���Å�t@L��L���t��L��L���
t��H�L$(dH3%(��u[H��8[]A\A]A^A_�f�I�vL��L���1m���Å�u�H��@fo$H��HfoL$H��P���q���AWI��AVA��AUI��ATI���xUL��SH��(dH�%(H�D$1�I��"]��H��tEI��L��D��L��L��H���[����u2H�]H�T$dH3%(u0H��([]A\A]A^A_����ӐH�߉D$�Db���D$��ip��f�UH��SH��H��(H�N@dH�%(H�D$1����H�D$H�$�AD%�T	Љ���y�r������H��H������H��H��Hǃ�u����t!H�L$dH3%(��H��([]�fDH���H���T��H�S@H��E1�H������H��Hǃ�L�BHH��PH���PH���PH�D$ Pjj����H��@���m���H���H���q��fo$H��H���������B�����:ǖ�5����o���ATA��UH��SH��H��dH�%(H�D$1�H���t&��H��H�
чH�VHD�H�5��1��p��H�C�S4�Hd��t�у���D�E��tNDž�H�C��H��H��H�������Dž�H�t$dH34%(u8H��[]A\�DH���H�D$dH3%(uH��H��H��[]A\�����!n���UH��SH��H��dH�%(H�D$1�H��0H���H�ptH��1�H�5��o��H��0H�pH���[g��H�S H��0H�PH��0H�S8H�C H�Pp�C0H�C8�t>�@u"�1�H�L$dH3%(u:H��[]�H��0�@G@uѸ�:ǖ��@H��0H�s(H����u���C0��;m��ff.�AUATUSH��dH�%(H�D$1�H��t1H�OH��t(D�fL�nH�_L��9+t5H��H�KH��u�1�fDH�T$dH3%(u9H��[]A\A]�D��u���DL��L��H���Bp����u����l��f�AWI��AVI��AUI��ATM��UH��SH��dH�%(H��$�1�I�H�t$H�D$��a���Å�t-H��$�dH3%(����H�Ę[]A\A]A^A_�f�H�L$L��L��H���Mn���Å�u�H�T$1��M��H���H�I�H��H��Dž�I�6�AH�D$H�D$H�D$ �D$�D$H���H�t$H��Dž�A���!e��A���:ǖ��:ǖD��@����xk���UH��SH��H��dH�%(H�D$1��~t.�H�D$dH3%(uP1�H��H��H��[]����D�dž,H�vH�P��H�CHH�D$dH3%(u����j��ATI��UH��SH��H��H�vPdH�%(H�D$1��Fd��H�C@H�KPL��H�CPH��H�@H�PH����l������H���tH�C@H�SPH�5ƐH��H�H1��@l��H�SXH�{`1�H�CXH��H��Hǃ�H)���x���H�H���H�CH�C`H�CPH�ChH�D$dH3%(u2H��H��H��1�[]A\���@H�t$dH34%(u	H��[]A\���i��f�AWL�=O�AVL�vAUL�n(ATUH��SH��H��H�� dH�%(H�D$1�I��M��L��L��H������uvH�$H��tUH���tL��H���@k��H�s@H���r��H�$H��H�C@H�� H9�tYH��H�� �f�H�� H��H���.���fDH�|$dH3<%(u%H��[]A\A]A^A_�f�H��H���e�������h��ff.�AUATUH��SH��H��L�fdH�%(H��$�1�H�F��PA;T$��I�L$H�S(H��H�sL�D$����A�ą�uMH�T$H����H���tH�5��H��1��j��H�s@H����p��H�D$H��H��H�C@���A�ĐH��$�dH3%(D���'H�ĸ[]A\A]����tI�t$H�x�nk�����H���A�H�s@H���tp��H�C@H�t$H��H�D$ �]����tA���z���f.�H�CH�L$ H��H�pH���i����u�L�l$01���L��L�D$(�H�H�CL��H��Dž�H�s(H�D$8H�D$ H�D$@����H�t$ H��Dž��D$�`���D$���c���H�T$(�B89D$��H�S@H���tH�5��H��1��h��E����H�CL��H��H�PH�CH�p�^A�ą������H�L$0H�y��A�1��I��I�D$H��H�|�u�H����H��H����K��H�D$0H�sHH��J�T �H��H��H��H�� �K��H�CHH��H���6���A�����fDH��H���}���A������H��H��A� :ǖ�n�������e��H�
���CH�5v�H�={��;P��ff.�AUI��ATI��UH��SH��H�>dH�%(H�D$1�H����H���1��f�H��H�^H��H��H�|u�H��H���mm��H��tiH��I�E���H�H�DH�
H�BH�H�@H�D$dH3%(uMH��L��H��[]A\A]��`���� 1��m��H��u�H�T$dH3%(�uH��[]A\A]��d��f.���AVAUATUSH�� dH�%(H�D$1�H���H�zH����H�z��I��H�y��H��H��H�AA��M��)�H�Ap�Hx1����H�����B8�����C8�oECH�E(H�C(H�EpH�CpH�EH�CH�EH�CA�E!�S����A��At$A��A�Euk�A�E�oM`K`�Ed����1�H�t$dH34%(��H�� []A\A]A^�fDH�s8L���X�����]�����f���f��A�E�C@댐A�E!H�sH�T$L����g��H�|$���t"�s9�t-H�W��H��9�t�
��u���T����:ǖ�L����D$�T���D$�������/�����:ǖ�%�����b��ff.�@��H��dH�%(H�D$1��>u#H�D$dH3%(u-H��0H���c���H�L$dH3%(��:ǖuH����ab�����H��dH�%(H�D$1��>u+H��0�o@01�H�L$dH3%(uH���D��:ǖ���b��ff.����USH��dH�%(H�D$1�H����H��H��H�����H�sH���j��H�s(H����Z��H�s H���7[��H�s8H���O��H�s@H���Oj��H�sHH���G��H�sPH���[��H���H���xF��H���H����c��H��H����F��H��0H���i��H�D$dH3%(u*H��H��[]��R��DH�D$dH3%(uH��[]��`��ff.����AWM��AVI��AUI��ATI��U��SH��(dH�%(H�D$1�H���tH��H�5̇�b���X��xd��H�øH��tU1�@���k0�����C4@��t�K4@@�� uf@��@t���u �K4@�H�SL��L���K����tFH��L��D$�e���D$H�L$dH3%(u|H��([]A\A]A^A_�@�K4 �f.�H�CL��H�PH�SH�pH�S H�s�j����u�H�S(L��L���]e����u�I�upH�S8L����]�����k���I�1��a����_��f���AWAVAUATI��USH��H��dH�%(H��$�1�H��t�B1���@�Ƹ��H�A1�H�I�I�@A����@��9�������H��@L��HL��P��tw���?���N�������������fDH��$�dH3<%(���6	H�Ĩ[]A\A]A^A_�D���f�H��0L��H�T$�,g��H�K@L��H��0H��D���Hǃ0L�IHP���jj���P���P���jH�T$H���H��@A��=4:ǖ�I��$�t��H�5ǃL��1���_���D��8������#��8������H��L���������s0@��@������:ǖ����H�CH�x��E����tRH�CL��H�p��_��H�CL��H�PH�CH�p�<Y��I��$���tH�SH�5��L��1��_�����r����CH��L���`���Y���f�L�l$ H�SL�D$L��L���W����Ņ��-���H�s(�T$L��L��L��0������_=�:ǖt
��=�:ǖ������k0���n�;�
�������D��8���ZH�� H�P�H�� H;������I��$�tH�5�L��1��/^��H��L���t���}���D��8���j���H��0H�@�x uH�@�x����:ǖ�A����H��L������Ņ�AD��(������8���2H��0H�SL��H�p�_�����I�D$H��������t1H��0�I9�����H����H��9���������u�I��$�tH�5�L��1��2]��f��1�H��L���-����v���fDH��0H�@�x ����H�@�x����H�@�8krbt��f�xgt���H�s@L���c��H��0H�sHL��Hǃ0H�C@H�@L�xI�GH��H�D$�����Ņ����H��H�xH�hH���!E�oM�M��D9utlH��H�}H��u�H�CD9p�"I��$�tH�T$H�5j�L��1�� \��H�C�H��L��ǃ(H�P�=����V���fDE��tL��L���]����u�H9� ��H��I��$�H9��|H��tH�T$1�H�5��L���[��H��H��H�� �S���f���,����H�C H�x��A�����.���H�C�x �H�pH�T$ L��H���J���Ņ������L�l$ H�kM�uD�}L��D�|$�SK���T$I9��YH�uL���[��L�l$ H�kM�uL���%K���E��L��EL�u�J��I��$�tH�CH�5!�L��H�P1��Z���CH��L��������f�H��0H�P�z uH�B�x�wI��$��2���H�5C�L��1��QZ����������H�@�8krbt�F���f�xgt�:���H�s@L���`��H��0H�{HHǃ0H�C@H�@L�hI�UH��H�T$���H�T$���~H�sHL���M�Ņ��#���H�kA�E;Et.��(�P��(��	�����H�UH��L������������tH�uI�}���5[����u�I��$�tH�C@H�5;L��H�P1��MY��H��L����������H��u���H�S@H�s(L����_���P���E���+���H�pD��L����Z�����������H�H�9krbt�y���f�ygt�m���H�S@L�hH�RH�J�P;Q����,���1�P��,��	�FH�{HL�������2H�sHL��L����Ņ�����H�s@L���H_��H��0Hǃ0H�C@I��$�tH�PH�5�L��1��2X��H�CL��H�p��X��H�CL��L��H�P�R���Ņ��e����H��L�������N�����tH�qH�x�Y��������I��$������L��H�5�~L��1��W���}�����tH�}L��L���ZY���������L��L���b���R���H�CL��H�pp�C��H�CH�@p��,�����:ǖ����lU��E�wM�����:ǖ���D��AWI��AVE1�AUATUSH��H��hdH�%(H�D$X1����L�d$@H�D$(H�D$ L�l$ H�l$0H�D$0H�D$@H�D$H�$H�D$H�D$8H�D$H�D$H�D$�qf.�H���A�tH�59~H��1��V��H��H���W��L�D$E��H��L��L��H���D$�>����uIL��H����V��L��H����V��L�$M��L��H��L��H���aX��=4:ǖu	E���q�����u�D$u�L��H�߉$�V��H��H���V��L��H���V���$H�T$XdH3%(uH��h[]A\A]A^A_���S��ff.���AWA���xAVI��AUATM��UH���S�H��(H�T$dH�%(H�D$1�I�H�D$�YW��I��H��tH�t$L�D$D��L��H���y]���Å�tCL��H���\��H�t$H���X����H�L$dH3%(uKH��([]A\A]A^A_�f.�H�t$H���K���Å�u�H�t$L��H����H���Å�u�M�,$E1����R��f���AWI��AVAUM��ATM��USH��H���H�L$dH�%(H��$�1�����1�I�H�D$hH�D$xH��$�H��$�H��$�I�@E1�I�H�D$PH�D$PH�D$pHDŽ$�HDŽ$�HDŽ$�HDŽ$�I�AI��1�P��R��AXAY����H��$�H�l$`H�T$H�T$pL��$�H�$L��$�H�4$H�߉D$�6T��H��H���+T��H�t$H���T��L��H���T��L��H���T��H�t$HH���{M���D$H��$�dH3%(�H���[]A\A]A^A_�fDH�D$pH�l$`H��H�t$HL�L$@H��H��H�$L��$�L�D$�R��A�ƅ��r�|$@��H�D$DL�d$0H�D$ H�D$PH�D$H�D$XH�D$(L�D$ H�T$E��H��H�4$H���D$D�X:������L�d$H�|$dADŽ$����{H�D$h����<^��H�t$H��H�D$PH�D$X�G����u]H�L$(H�T$E1�H��I��$X������u|H�D$PH�t$X�@���V-�8iH�߉D$<�\��H�t$PH���HH���D$<��t}A��u=4:ǖtL��$�L��$�����fDH��H��A��GR�����f�H�t$XH�߉D$<�[��H�t$PH����G���D$<�@L��$�L��$����L�d$0H�T$H������x�����xL��$���������������L��$�����fo�$�H�L$HDŽ$�fo�$�HDŽ$�A$AM�������H��$�H��$�1�����@H��H��L���� H�t$X���M��L�d$0<K��H�t$PH��L�L$H�D$PH�D$X�t[��L�L$�������I��XH�T$PH�L$XH��L�L$�	�����tWH�t$PH�߉D$L��$�L��$��Q��H�t$XH���73���D$�X���fD�(:ǖL��$�L��$��8���H�D$PL�L$H��H�PL����H�t$PH�߉D$�$Q��H�t$XH����2���D$���=�������fDL��L��H���rR��L��$�������H�T$H�A���H���H��L���VI����H���H��L���BI���������H�T$H�����KM��f.��AWAVAUATUSH��8dH�%(H�D$(1�H�D$ H��tqH�:I��thH�L$ H��v蚫��t~H��v�1E1�H�\$ H�|$I�L$�E1�H�<$H�-y�H�L$��tH��H���H��L�<A�?uTE���1�H�|$(dH3<%(��H��8[]A\A]A^A_�fDH�\$ H���t����A��z���@H�4$�
L���'F��H�\$L9�v�H��t�Ic�I�<�H�H��t5HcQE�EH9�tmIc���LcIL�RI9�tL��I��Hc�H��u���'���@A9�}4A��H��D�I�4Ht$H��H)�H��fDH�p�H��H�pH9�u�H�E��������H�|$ �f=������K��ff.��AVI��AUA��ATI��U��SH��H�?dH�%(H�D$1�H����H�?u
�f�H��H�XH�<�u�H�4��US��H����H��I��L�t�H��I��G7��H��H��ttH�@�hM��tH���'7��H�CH��tZH��L��H���U��D�k1�I�H�L$dH3%(u=H��[]A\A]A^�f.��1��R��H���_�����H���<<�����eJ��DATA��1�U��SH��1�H��dH�%(H�D$1�H�L$H������u3H��XD+$$+l$D������H������������H�D$dH3%(u	H��[]A\���I��f.�AWAVAUA��ATUH��SH��H��HH��`dH�%(H�D$81��U��H��hH���~U��H��pH���oU��H���H���`U��H���H���A��H��XH��HǃpHǃhHǃ`Hǃ�Hǃ�ǃ�����H��XH��HǃX至��A�ą��$E��tH��X���H��H���.H��H����H��@H���A��H�Hǃ@�@�D�x8L�h0E����A�Hc�H����4��I��H����E����A�G�E1�H�$�8f.����C�t��@�pH�@I�FL94$��I�ƿD�t$�c4��K��H��u�Lct$I�l$�K���
f.�H�H��H���9��H9�u�L���9��A�fDH�L$8dH3%(D����H��H[]A\A]A^A_�f�Ic�I��H�L��`L��0�L�}8I�D$D�pH�PI�vH�$�AK��I��H���]M���<L�t$ E1�L��L��M��H�
;qH�5�b�4��L��I����8��E����L��0I�t$ H���@��H��0H�@ L��0H�sPM�}H�D$ I�E H���0L��H����O��A�ą����H�D$ H��H�p�I��H�D$ I�wH��H�P�gB��A�ą��lH�D$ �x �I�E H��0H��H��XH�蠭��A�ą��}���H��0H�3H���H��0H��XH��H��@�6���A�ą��C���H�;��Fǃ�H���(���H��0M��H��H��f�H�
�o)D$ H�R �O���������D�|$$H�D$(�I�wH�$�I��I��H����M��tH�4$L��L���sP��L��H���G��H�t$�
L���F?�����H�D$H��t�8t
ǃ�L��E1��7���o�����D$ ������ǃ�����DH�4$L��L����O�����@L�t$ ���fDA�M����L���
�E��H���E�|$��u�A�|$Hc�H���0��I��H���:�������@I�OA�WH��L��jL�
'jH��1�QA�R�D��H�� A�ą�������f.�H�P�z����H�R�:krbt����f�zgt������@$���f.�H�t$ H���=���6���fD��>0��I��H������L���A���L��H���OF��������C��D��USH��dH�%(H�D$1�H���eH��H���H��軟H�{P�R5��H���H��t���H���GH���/5��H��H���H���H���;��H���H���&O��H���H���D��H��0H���X<��H��8H���YF��H��@H����;��H��HH����;��H��PH����;��H��XH��轭��H��`H���N��H��hH���N��H��pH���N��H���H���E��H���H���E��H���H���CH��H����'*��H����*��H�D$dH3%(u=H��H��[]�
4��DH�D$dH3%(uH��[]ÐH��1��(��H������	B��f���H��dH�%(H�D$1������t&H�D$dH3%(u0H�ƸH��鞇��fDH�L$dH3%(��:ǖuH����A��f���H�����dH�%(H�D$1���t&�o��H�L$dH3%(uH���fD��:ǖ���<A��ff.����AVAUATUSH�� dH�%(H�D$1�H�H���H����I��I���HI���D��H��H��������E�C�E�C�E�C�E�C�E�CH�uH��tH�SL���lK����u}I��$�H�u H�S L���PK����uaI��$�H�S(L��H�p(�D<����uEI��$�H�S8L��H��8�(<����u)I��H�L$dH3%(u*H�� []A\A]A^��H��L��D$�L8���D$���@�����H��I��dH�%(H�D$1������t��t��t�Glu$H�D$dH3%(uAL��L��H���A��DH�D$dH3%(u������L��L��H�����[��v?��fD��AWAVI��AUM��ATI��USH��H��HH��$�H�T$D�D$H�D$dH�%(H�D$81�H���H�D$(tH��H�5Fj��@�������B��I��H��������B��H����I��0H�PL��H��ALJ��I���Ņ��VH�D$M�w`I�GXH��DI�GhI���I�Gp�D$A�G|M����M�/I������Ņ��	I��0�Sh�PI�����@�D$$I��0��t�M@I��0I����@�D$$��t�MI��0I�������D$$�MI��0A�w|��~�MI��0I���%�PA�����"�@A�����~�M�I��0I���zH�u@H�߽�:ǖ�I)�����I��0H�x@聞��I��0�B8I��0�J8��~
H�B@�A���I�� ��H�p(H��HH����<���Ņ���I����:ILJ����I���ALJx���tI��0�H�A�|$ ����;��I��0H��H�rH���B����t I��0�H�I��0H�@�@$1�L��H����Ņ�uH�D$L�8E1�f.�L��H���E8��H�|$(�.����H�L$8dH3%(��H��H[]A\A]A^A_�fDILJ0�HcP H��I����H�ֿL�h�?��H��H���BL��L��H���F��H�E@I�I��0�R �P8�d���I�I�?�\C���(����H�uH�L$(H��eH��H��������ALJ��QI�I��0���f�H�uH�L$$H��eH��H���d���t�D$$I��0�E���@�|$$I��0���.�������H�uH�L$$H�'eH��H���������D$$I��0�����I��0H�L$$H��dH��H�pH���͚�����D$$I��0�a����H�uH�L$(H��dH��H�������$ALJ�I��0���DH�rH�L$$H��H��dH���T�D$$I��0��H�@H����fD����=��H��t\H�E@�#����D$$I��0�����D$$����H�p@I���H���5���Ņ��S���ALJxI����H�E@��.���fDH�|$(I����� ���Ņ��
���H�|$(�#+��I�I��0H�D$(���H�|$(I���� ��������H�|$(��*��A���H�D$(I��0�_���I�D$�@���0���H�t$0H�^cH��I�L$jA�T$A�	H��PL�
3c1�j	��8��H�� �Ņ��S���I��0H��H�p� 2��I��0H�T$0H�PI��0H�@�@$���H�pHH���-;���Ņ��M�������I8��f���ATI��UH��SH��H��dH�%(H�D$1�H���tH�5jc��9��L���6��I��H��t5H�{P�)��L�cPH�D$dH3%(u6H��H��H��1�[]A\���H�L$dH3%(�u	H��[]A\��7��ff.�f���AWAVAUATUSH���H�$dH�%(H��$�1�A�H�A�AI�@A�@����D$���H��I��I��L��M���xA�Dž���H�$D�JE����H��$�H�$I���HDŽ$�HDŽ$�H��t�@�D$A���I��0��H��4H�����A�Dž���I��0H�vH���vB��I��0H�<$H�@�^?��A��:ǖ��A���������A�EH��$�dH3%(D����H���[]A\A]A^A_�f�A����I�>H�$H�D$`�D$XH�D$h�j7I���H��DŽ$�H�D$HDŽ$�HDŽ$�HDŽ$���-��I��8H��Idž���8��H�$Idž8D�BE���aH��$�H���QB�������;H��$��~�}I��0I��8A�I����@uH�PE1Ƀz$
A��H����I��8H�����p8��~7H�@@�J$9�	H����H�4��f�H��9H���H9�u�H��$�A��:ǖH�$�i�H��$��L��H��L��$�H��H�D$L�D$�s�A�Dž�����A�F|��$�I��0…��<A���ЉA,A������AI��0ЉA0I��0�P,;P0��`�I��HH����,��I��0IdžHI��H�'��A�Dž��=���I�>�4I���H�D$ �}��H�D$ Idž�H����f�L�D$H��H��I��0)�$�H�
Q^H�R �6=������L��$���$�H�4u�H�|$�9&��H�t$H�߉D$ �5���D$ ��xPH��$�H�t$x�N.��H��$��D$ ��$���D$ ��u%H�|$x�?��=��jH�D$xI���@I������I���Idž��]��I��0H�@I��`H��tnH���tH�5�]H��1��g4��I��`I��0M���L��H�߹L�@��
I��`H�߉D$ �;>���D$ Idž`���I��pH����H���tA���H�5t_H��1���3��I��pL�L$x�L��H��I��0L�@�K
=�:ǖ��
��t3A�������
H�$��H�߉D$�g�D$Adž�A��I��0H�x��1��=��I��PA�FxH��tH���X*��IdžPA������NE�������I�>��6���taH�t$H�|$��$�袹��A�Dž��~���H��$����HH�PI��0H�x�s�H��$�H��A����)��E���>���I��@I��0M��PH��I��XL��})�|���A�Dž�����I��PL��H���o,��A��I��0H��H�p�i<��I��0H�<$H�@�Q9��E���KA���I��0H�p H���VH��H��H���
,��A�Dž������A���E�����H�J�1����<^��<K������A���
��@����H��$�A��:ǖH�$�I��0H��$�H��H�p�e:�����<���H��$��H�5�]H�=���.��D��H��H��H��1��j4��H��$�H���j!����DH��$�A�(:ǖH�$H�t$`H���!;��H�t$hH���4��H�4$H����4��A������@H��$�H���%��������H��$�H���MH����Ft#H��:ǖH�5JZ1�H���0��H��$��F��4��I��0I����@�h���A�fDI��pH��D�$�]:��I���H���N:��I��XL�D$XH��I���I���Idž�Idžp趢��D�$����ttH��$�H�$H�t$`H�߉L$��9��H�t$hH�����H�4$H���3���L$��4:ǖ��I��PL��H��A�4:ǖ�)��A�Dž��c����@���fDI���A����H����������Z��	���g������[�3
D�\$XE����	E���'I����P��t	��D�H�pH����I��0H�߉$H�P�t���$����H���t I���H�5�XH��H�P1�H���.��I��0H��H�pH���H/��I��0H��H�PI���H�pH��H���(����H��$�H�$���|���Idž�1�L��H������f�H�t$`H�߉L$�O8��H�t$hH���b��H�4$H���2���L$��4:ǖ�`������&A������/������f.��Q(I��0�����P0I��0�����I��0�@0����DI��XH�L$hH���t�����H��$�H�$�������I��8H��H�PI��0H�pH���L�������r���L�L$TL�D$`L��H��I��8�P$Adž�A���H�P������3���E��xE��tUI��8M���H��L��L�$H�p��/��H�����t L�$�D$H�5WH��1�L����,���L$������H�D$hf�A���HDŽ$�)�$�H�D$()�$�HDŽ$�����I���H���H�D$ tH��H�5�VH��1��S,��H��$�H�T$ H�t$(H��H��H�D$��H��$���H�<$���+���I��8H�t$1�H��������&H�t$H�߉$��/��H����$��
��H�5[VH��1���+��H����d
M���M���H��1�L��L��H�5SVL�D$L�$�+��L�D$L�$I��8I�NXH�ߋP$I��0H�pA���A�vp�t$0APM�F`A�Vh��H�� ���E���H���tH�T$ H�5VH��1��!+��H��$�H�T$ H�t$(H��H��H�D$迒�����������I��8H�t$1�H���������fo�$�H��$�H���I��8)�$�H��$�t H�B@H�5�UH��H�P1��*��I��8H��$�I��PL�L$\H��I��XI��H�$��������a���A�FxM��8I��0�D$(I�@@�p(��u�P$�P(�A�D$0���H�Q�z$
�����H�A �x ��H�L$8L�D$0�4'��L�D$0H��H��I�p�.��L�D$0H�L$8����M�H@I�@I�q8H��H�L$8L�D$0H�P�+��L�D$0H�L$8���B
I�@@�x9y4�2
�Q��t�q(��t	;p(�
�q,��t	9p,�
���t�y0��t	9x0��	�������	�Cl���y(���SX�|$(�@(�9�r
�9���A��:ǖ����fDA����I���I��XH��D�L$�$�Ÿ���$D�L$������A����‰Ѕ��2������*���A��������D$X����E��tkI����P��D�I������@���D�T$XE��tEE���E��t9H�t$`H���D2��H�t$hH���W��H��$�H��H��H�$�,�����H��$����8iH�$�����D$X���l���I���L���P�p���I��hH����1��I���I��0H��Idž�I��hH�pH���p����H��$�H�$�-����D$���S���������H���A���I���t&�AH�5�R��H�߉�1��/'��I���A���I��0M���L��H��L�H������H���d)��I����@-�8i�%�I��01�1Ҿ�H�x�g��A�Dž��C�I��01�1Ҿ�H�x�C��A���m�I��hH���H��tcH��t1�H�5jRH���r&��I��0I��hL�@�L��H��M�����A�Dž��>I��0H�x���H���H�����H�5-RH��1��&����H���n(�����A��:ǖ�|�I��0A���m�H���tH�5�OH��1���%��Adž��L��H�������H��$�H�$�F���Adž�1���I���L���p�P�2��A���L���������]���I���Adž��q������I���Idž�I��p�����:ǖ�g�E����������DH��$��x�H�4$H���YA���q�H�1�I�������I�>H��$�H�t$x�&H�|$xtnI��01�E1�E1�A���H��H�pA���A�vpjjA�Vh��H�� ���n�I����~��u I���H��$�H��T$x�����>�I���H�D$ �`���H�A �x ��D$0�����H�QI�pH��H�L$8L�D$0�&��L�D$0H�L$8����I�@@H�Q H��H�L$8L�D$0H�p8��%�����sL�D$0H�L$8M�H@���H��A�(:ǖ�
%��H��$�H�$�k�p$1�+t$(H����
�������~�I��8I��0H�D$pH�A@H�T$8H�D$xHDŽ$�H�@H�L$0H�D$(�v ��H�T$8H��H�rH���B'������I���M��8HDŽ$�HDŽ$��]I����}I�@@I���H��L�D$ H�p�#"�������QL�D$ I��H��I�@@L�D$(�oP$Adž�A��I�@@�@ A���I�@@H�p@�N ��������L�D$(H�t$xAdžIdž I�xH�t$ �F��������H�|$x�D$(�oA�����I����L$(��I�����H�|$tQI���H�t$H���f���������H�5�JH�=(��L$� ���L$H��H��1����
���L$L��H�߉L$���L$Adž���H�|$x�<����M���M������H�L$0��H��H�q�^��H�����PH�|$H��$���$�H�@H��$��=,��������L��$�A�pH��H��u���T$8L�D$0��"��L�D$0�T$8H���dL�L$H�t$ 1�H�߉�$��,H��$��+�����HH�|$H�t$p�v$����$�L��$���H���w�L$0H��$��;���L$0���H�L$ H�t$pL�L$xL�IH�	IH���
��������H�L$(L�D$x�AA9@�sA�@;A�fH�qI�x��L�D$ �!��L�D$ �����CH�t$pH��tH�߉L$ �����L$ L�D$xM��tL��H�߉L$ �����L$ H��$�H��tH�߉L$ ��(���L$ ���}��^�������@"��1������)���9p0� ���A��:ǖ��H��$��D$ ����L$ H�t$pH���[����f���H�@�x���H�x�H�L$@H�5�BL�D$8� ��L�D$8H�L$@�������M�H@I�A8�x �����H�@�x�����H�x�L�L$HH�5hB�\ ��L�D$8H�L$@��L�L$H�j������I�pH��$�H��L�D$ �W'��L�D$ �����{���H��$�H��tH�߉L$�����L$H��$�H��tH�߉L$�����L$I���H��t8A���1��L$���I�����
���L$Idž�Adž�I��H��t�L$�
���L$IdžI��H�����H�߉L$�:���L$Idž���H�5�HH�=��������:ǖH��H��1��| ����:ǖ�*���I�@@H�T$H��L�D$ H�p8�(&��L�D$ �����Z�������H�@�x�#��
���H�t$I���H���#�������|$\tGI���H�t$H�
1H�
5>L��$�H��H��$�DŽ$������������A�������I���H������#��H����I���H�t$ ������������H�T$x1�H��L�D$H�t$H���H��$�H��I���DŽ$���H��H�
EH��H����$��;��H�|$x�D$�����L$���h����0���H�t$H�߉D$����H��$��L$H�$���H�
oH��H�5`DH�=�D�W��H�����H�t$`H���%��H�t$hH�����H��$�H���e����H�
�G�zH�5
DH�=D���HDŽ$������H��$�I����E������d���H��$�I�������H�
�G�OH�5�CH�=�C���E����L��1��D$0����L$0I���o���1��;���H�|$ HcȾ1�H��C���������H�T$x1�H��L�D$H�t$H���H��$�H��I���DŽ$���H��H�
�BH��H����$��x��H�|$x�D$(�*
���L$(���r������f���AWI��AVE1�AUATUSH��H��xH�t$L�d$PL�l$0H�l$@dH�%(H�D$h1���D$(�D$4�D$,H�D$(H�D$H�D$,H�D$8�D$DH�D$H�D$TH�D$XH�D$�pf.�H���A�tH�5AH��1��_��H��H������A�L�D$E��H��L��L��H�߉D$,������uLL��H������L��H�����L�L$H�t$M��L��H��H�����=4:ǖu	E���o�����u�D$(u�L��H�߉D$�u��H��H���j��L��H���_���T$,�D$A�H�L$hdH3%(uH��x[]A\A]A^A_������H��dH�%(H�D$1�H�T$�D$�F���H�L$dH3%(uH����l��ff.����AWAVAUATUSH��H��0L�|$hH�t$H��H��L�d$xH��$�L��E��L��$�L��$�dH�%(H�D$ 1�H�D$H�D$PL�L$x����ZYH�t$��u5L�fhH�npM��tL��H�����H�t$��uL��H���x�����t4H�t$H�߉D$����D$H�L$dH3%(uFH��([]A\A]A^A_�H�t$H�T$H������H�t$��u�M��t�H��8I�Hdž8��D��@��AWM��AVM��AUA��ATUH��SH��8H�|$L�d$pH�$dH�%(H�D$(1�H�H�t$ �c���Å���H�$H��t
H�|$ H���#��M��tL���u������M��t-A�6��t&�D��H��A�L����u�H�|$ L�����H�|$ A��@u^1��w��A��H�|$ ta�����M��t	A�D$8��uyH�D$ H�E��H�\$(dH3%(��H��8[]A\A]A^A_�����A��H�|$ u�1��!�����H�|$ ��L���9���M���'����O���H�|$H�t$�I	����u+A�D$4��u�D$A�t$8H�|$ )������Q���f��D$��H�t$ H�|$�$����$���6����y��f���AWAVAUATUSH��hH��$�L��$�dH�%(H�D$X1�H�����CI��I����t1�9S�T$tKH�������C�T$�׉T$��������T$L�l$ 1�L��M��L��A��L�������Ņ�t"H�L$XdH3%(��u_H��h[]A\A]A^A_ÐI�uH�T$L�����H�|$���oH�GH�C�T��L��L�������1��@��:ǖ��\��ff.����AWAVI��AUATUSH��H��dH�%(H�D$x1�H�����H�VpH�FhH�BH�x0��H��0I��L��H�@H�D$(H�D$8H��H�D$����D$ ���;H�D$@�D$E1�1�H�D$@H�L$H�T$L��H���s���A�ą����D$TH�T$(H��H�t$HD�d$\�$�z��H�t$H�߉D$$����$9D$w��T$$��t�D���P����t��$9D$rcJ�4�L��H��H�$�\��H���3H�$H�4�D�$�A��L�zH�L0A��w�L�zH�L0�H���+���H��1�����$�1҉D$�fD=�:ǖtYH�T$L��H������H���q��D�d$ @H����j�T$ H�5'?H��1��U���D$ ��H�T$L��H�����H���tH��H�5?H��1����I��0H���ZHcx8L�`@I��H���^���I��H���"E���)A�E�L��1�E1�I�D�H�D$���3Ic�H��A��A�4�H;\$t+�3H��$�����$��uԋ3Hc�H����A�4�H;\$uՅ�t/Ic�D�B�I�<�1��
f.�H��A�4��4�H�pL9�u�A�E9��L���)��H���!��H�L$xdH3%(�D$ ��H�Ĉ[]A\A]A^A_���D$ ��fDH����D$ �p������A��,���D�D$ �z���E1��^���H�pH�T$H���w����tH�t$@H������D$ �:ǖ�H���H�l$@�H�5�=H�=����
����:ǖH��H��H��1��g����`��H�
�=��H�5u=H�={=�����AWI��H��1�AVAUI��1�ATM��UH��SH�� dH�%(H�D$1�H�D$L�t$`H�D$PL�L$`����ZY��u/H�4$M��tL��H�������uH�4$L��H�������t2H�4$H���	����H�L$dH3%(u<H��[]A\A]A^A_�DH�4$L��H���9�����u�H�4$L��H����������[
��ff.���AWAVAUM��ATI��USH��H��XH�4$L��$�H�T$D�D$dH�%(H�D$H1�H�D$0H�D$8H����L�|$$�D$$H�L$(AWAVD�D$$H�T$H�t$���AYAZ�Ņ�t��=�:ǖt�D$$����L�\$0L�����H�L$HdH3%(���.H��X[]A\A]A^A_��H�t$(�����Ņ�u�L�|$$�D$$M��H��AWAVD�D$$H�L$8H�T$H�t$��Y^�Ņ�����=�:ǖ���T$$����f.�L�\$0��H���D$$L��L�\$��AAWH��M��AVD�D$$H�L$8H�T$H�t$�~���_AX����L�\$t��=�:ǖt6���:ǖt.M����H�t$(H��L�$���L�$����L�\$0�ܐL��H��L�$��AL�$����T��@��AW��AVAUATUL��M��I��SH��H�щ�H��HdH�<%(H�|$81�H�t$ H��L��$�L��$�L��$�H��H�D$0�D$$AV���ZYA�Dž�u3H���%I�vH�T$(H��H�l$0�w��A�Dž�t8H�t$ H�����H�L$8dH3%(D����H��H[]A\A]A^A_�DI�FI�VE1�E1�H�
X)L��H��H�$H�T$ATH�D$$PH�����t$@P�t$@�t$P���H��0H�t$(H��A���/���E���f���I�vH�����I�vH�����H�D$I�FH�$I�FM���4���L��H��L���V��H�t$ H��A������H������H�t$0H����������H�t$0H�����A�Dž�uI�vH�T$(H���C��A�Dž�t$H�t$ H���o���H�t$0H��������DI�FI�VE1�E1�H�
�V)L��H��H�D$H�$ATH�D$$PH������t$@P�t$@�t$P��H��0H�t$(H��A������E���z���I�vH���z��I�vH���n��H�$I�FH�D$I�FM������C������f.���H��dH�%(H�D$1��H�D$dH3%(uH����x�����H��dH�%(H�D$1���wH�D$dH3%(uH����8�����H��dH�%(H�D$1���wH�D$dH3%(uH���������H��dH�%(H�D$1���wH�D$dH3%(uH���������H��dH�%(H�D$1���wH�D$dH3%(uH����x�����H��dH�%(H�D$1���€����E‰H�D$dH3%(uH����-��ff.�f���H��dH�%(H�D$1���€����E‰H�D$dH3%(uH�������ff.�f���H��dH�%(H�D$1��H�w�W H�D$dH3%(uH������@��H��dH�%(H�D$1�� H�w(H�D$dH3%(uH����W�����H��dH�%(H�D$1��@H�w0�W8H�D$dH3%(uH������@��H��dH�%(H�D$1���H�w@H�D$dH3%(uH�������@��H��dH�%(H�D$1���€����E‰H�D$dH3%(uH������ff.�f���SH��dH�%(H�D$1�H��tRH�H�����)	��H��tD��ǀ�����H�1�H�T$dH3%(u&H��[�f����f��������@��ATUSH��dH�%(H�D$1�H��t�H��yv�@���FH1�~-f�H�CPI��H��I��J�< �h���H�CPJ�| �Z���9kH�H�{P�L���H�{X�C���H�D$dH3%(u,H��H��[]A\�#���H�D$dH3%(u	H��[]A\��2��H�
4��H�5u3H�=x3����AWAVAUATUSH��dH�%(H�D$1�H�����H�����@���FHI��H�{PH��I�̍pHc�H������H��tyLcsHH�CPH��I��I����I��I�H��tWL�����I�FH��t6�CHH�D$dH3%(uaH��L��H��H��L��[]A\A]A^A_���L��������H�T$dH3%(uH��[]A\A]A^A_�@������H�
�2��H�5?2H�=B2�m�ff.�f���AUATUSH��dH�%(H�D$1���~^I��H��tVA��H��1�fDH�;��H���Y�H�{��P�A9��H�D$dH3%(u6H��L��[]A\A]�)�f�H�D$dH3%(uH��[]A\A]��0����AWAVAUATUSH��8H�|$H�L$dH�%(H�D$(1�H����H����H�D$�H��H��H�H���������D�vHE����Ic�����H�D$H����E����H�[PL�xE1�H���DM��t1A��H��I��E9�tjH�{��a��I�G�H�;I���R��I�H��u�H�T$H�|$D��A��"����A�H�T$(dH3%(D��u?H��8[]A\A]A^A_�E1�DH�D$H�t$D�uE1�H�0�f.�A��������ATUSH��dH�%(H�D$1�H��tO�H����yF��@uJH�~XI���b�L�����H��H�EX�D�H�L$dH3%(��uH��[]A\û���T��H�
�/�H�5�/H�=�/���D��UH��H��SH��H��(dH�%(H�D$1�H�T$�3�����u"H�T$H��H����	��H�|$�D$��D$H�L$dH3%(uH��([]�������H��dH�%(H�D$1�H��t#���yH�GXH�T$dH3%(u
H���@1����w������H��dH�%(H�D$1��H��t���yH�V`1�H�L$dH3%(uH����(������H��dH�%(H�D$1�H��t#���yH�G`H�T$dH3%(u
H���@1����������H��dH�%(H�D$1��H��t���yH�Vh1�H�L$dH3%(uH���������H��dH�%(H�D$1�H��t#���yH�GhH�T$dH3%(u
H���@1����7������H��dH�%(H�D$1��H��t���y�Vp1�H�L$dH3%(uH������f���H��dH�%(H�D$1�H��t3�H��t(���y"�Fp�1�H�L$dH3%(uH���fD������@��H��dH�%(H�D$1�H��t#���y�GpH�T$dH3%(uH���D1����7������H��dH�%(H�D$1��H��t�>��y
H�Vx1�H���H�|$dH3<%(uH���������H��dH�%(H�D$1�H�H�H��t���yH�GxH�H���H�H�D$dH3%(uH������@��H��dH�%(H�D$1��H��t�>��yH���1�H���H�|$dH3<%(uH����.���ff.���H��dH�%(H�D$1�H�H�H��t���yH���H�H���H�H�D$dH3%(uH���������S��H���H��dH�%(H�D$1��u����@H��t8��ҋxKH�K@�o��@�oK�oS �o[0H�H@HP X0�H�L$dH3%(uxH��[��o#�ok��@�os �o{0 �o���oc@h�o���okPp �os`x0�o{p`@hPp`xp�����v�������@��H��dH�%(H�D$1��H��t���y1��������1�H�L$dH3%(uH����o���ff.�@��H��dH�%(H�D$1�H��t#���y���H�T$dH3%(uH���f������������@��AWAVAUATUSH��H�4$H��$�L�D$L��$�H��$�H��$�dH�4%(H��$x1�H���vA�׋SI��I��M�ͅ��H�}��M���{�D$4I�|$H�UL��I�ٸD��L��LD�M���l������D$4���fH��$xdH3<%(����H�Ĉ[]A\A]A^A_�D9{�w���H��H�D$H�L$����H�D$L�\$�CH�}�T���H�5�H��L�\$�4YL�\$H����H��H�D$��������H�D$�HD��}���H���;H�T$H�L$�E��H�E�UH��H�L$H�D$��H�L$L�D$H��H��L���B��H�m���f�1�H�}���H���H�5]�H���=U������fDL�l$0H�4$L��L�����������o������DH�|$8�$���$���H�}�1���M��L�\$�7H�4$H�T$(L���f�������N���L�L$(�H�5�'H�=��L�L$����L�T$pL�L$�I���L�׾1�L�T$����H�|$(��L�T$L��H���H�D$@H�t$$H��$pL�T$PL�T$@L�T$`L�T$H�D$H�D$X�D$$�#1�L�L$P1�A�H�t$L��L�\$A��1�L���D$��L$���l���L�T$H��L��L����T$DL�D$H��H��u'���A���H�m��fD��(���fDL��1��D$�R���L$I���¹�����J���f.���UH��SH��H��dH�%(H�D$1�����H����H���H��H��t���H����H����H��
H����������!�%����t�H���ǃ��������D�H�JHDщ�@�H���H��H���H)�H�Cp1����H�o���H�ShH�|$dH3<%(u*H��[]�@H��1��F��H���Z���fD����<���ff.����AWAVAUATUSH��H�$H��f��$0L��$@�D$xH��H�˹H��$8H�t$M��L��$0H�T$L��L�$H�D$dH�%(H��$�1�)�$HDŽ$�HDŽ$�DŽ$�HDŽ$�HDŽ$ �H�H��t2H���~�H��$���$�H��$�DŽ$���H��$ H��$�L��H��H�D$HPH��$�H�D$@PH��$ H�D$PP�5�@)AU�t$0D��$�L�D$0H�T$@H�t$H�|��H��0�Å����=�:ǖ�0��~�8i���!��$����zH��$�M��H�D$ A�ā�:ǖ�E���	M��tA�E��H���tH�5$H��1��+���L�����I��H���_	H�Ǿ,�j���1�L���@�1�L������1�L���,��1�L��H��A�$$�����jL��L��H�#�t$@H��t$P�5�?)ATPD��$�L�D$0H�T$@�]��H��0��H��$�H�D$(����H��$�
H�D$0�-H��$�E1�H�D$ H��$�H�D$(H��$�
H�D$0L���.�H��$H��t��$H����H���	�H�|$(1���L���H�H�|$0���H�H����H��$�H��tH���M���H�|$ �����H��$�dH3%(��	H��[]A\A]A^A_��H��$�H�D$ H��$�E1�H�D$(H��$�
H�D$0H��$�H�x@H�wH���uH�H���i1�1�E1��&����������H��H�H��t"�P��t���u�H��D�H�H�H��uޅ��H��$H��$�L��L$xD�L$��H��$�D�L$H��tMA�؋L$xD��H��H��$��1��a�����H��e���H��1����H���]���fDE��t�H�t$H��t�H�=� �����t�H��$�H��D�L$�����u���D�L$u!��$�D9��r���D��)��:	�a���M���X���L��$��D��D�L$L������Å��1���D�L$D+�$�A���A�����HA�� �H��;D�L$H�
!�H�5j!HM�H�=�H�L$��D�L$�ų��L��$�I��AUH�L$D���QD�A����D)�L�׹�A��1��L�T$�}���XZL�T$E1�E1�L��1�H�4$H��A������@H���tH�5�H��1����H��$���H��DŽ$�H��H�D$ �$H��$�H��tH���#�HDŽ$��t$HL��H��t$@�t$P�5�;)AU�t$0D��$�L�D$0H�T$@H�t$H�-��H��0�Å�����M��A�ă�=�:ǖt���:ǖ����H�t$ H����$DŽ$���=:ǖu	E�������H��$�E1�H�D$(H��$�
H�D$0���}������fD1�D�O1�����H�5H�=D�H��$�Ƅ$�H��$�DŽ$����H�5�H�=	�H��$�H��$�H��$�H��$�H��$�
DŽ$�DŽ$�H�D$0H��$�Ƅ$�
DŽ$����H�5H�=��H��$�H��$�DŽ$�H��$�DŽ$��a��H��H���q��L�d$hH��$��H�D$PH��$�H�D$XH��$H�D$`H��$�H�D$pL��$�A��H���tD��H�5�H��1��j�H�t$PH��DŽ$�DŽ$��1�H�4$H��L�L$XA�H��A��1�H��A���pE����H��$�H��$���������$�����H���:ǖ�O���H�5EH�=K�I���D�M��H��I���1����A��:ǖA���
���D��L�d$h�B����H��$�E1�:ǖH�D$(H��$�
H�D$0����f�H��$�E1�H�D$(���L�L$`L�D$pL��H��H�T$(H��$���A�ą��v�����$����h����H�t$`H��$�H���^�������HDŽ$�L�%K�M��H��$�D��$��H�5-H�=�L��$�H��$�D�L$|��H���H��ATI��L��$�1��A��:ǖARH��$�QD��$����H�� H��$����H��$����H��$����q���H�ǃ:ǖ�t���H�5jH�=p�I���i�M��H��I���1����A��:ǖ� ����H��$��H�D$(H��$�
H�D$0�N���H��$�L�d$hL��$��j��H��$�]��H���tH�5�H��1��R�H��$�L��H��H��$ �t$H�t$@�t$P�5J6)AU�t$0D��$�L�D$0H�T$@H�t$H����H��0������DL��$�M����L�����L�H=�����AƄ$�����H�5JH�=*��&�L��$�M��I��L�׺�1�L�T$���L�T$�J����H�5tD�L$H�=״���D�L$�E.�L��$�I��H��D��AU��D�A��������H��$�L�d$h��:ǖ���H��$���������L�%w�M���'������AWf�A��AVAUATUH��SH��xdH�%(H�D$h1�L��$�H��$��D$,L��$�)D$PH�D$8H�D$`M��tDL��M��L�D$H�L$H�T$���L�t$HL�D$H�L$H�T$�D$DH�D$@�D$@��H�D$`H�t$8H��M��H��SI��H��D�����A��XZE��t,H�\$hdH3%(D���'H��x[]A\A]A^A_�fDH�sH�T$0H����A�Dž���H�CL�sE1�E1�H�
�4)H��H��H�D$L��ATH�D$4PH�D$`P�5�3)�t$X�t$X�@��H��0H�t$0H��A�����H�t$8H�����L�D$XM��t�T$TH��u\L���4��E���/���H�sH������H�sH������H�D$L�sH�CM������H��L��H����A������L��1����I��땐H�t$8H�������������f���ATUH����SH��dH�%(H�D$1�H�\$8L�d$@����tD�C��u-H�D$dH3%(uKH��H��L��H��[]A\�O���H��H���=���H�L$dH3%(��:ǖu	H��[]A\��E�D��AW��AVAUATM��M��I��UH�щ�SH��H��8H�l$xL�t$pH�t$ H��dH�<%(H�|$01�L��$��D$H��H�D$(U���^_��t(H�\$(dH3%(�H��8[]A\A]A^A_�DH�t$ L��H���H����uM����H�uH�T$H���:���tH�t$ H�߉D$�e���D$��L�uL�}AUE1�H�
�1)E1�H��H��L��H�D$PH�K���ATP�t$@�t$@���H�߉D$<H��0H�t$����D$��u�H�uH�����H�uH���v��L�u�D$L�}�_���DH��H�U1�E1�t$(D�E4H��H�����ZY�3�����@ATA��I��H��UH��I��1�SH�5��H��H�8dH�%(H�D$1�����H�Å�t(H���tA��H�
d�L��H��H�5�1���H�T$dH3%(��u	H��[]A\����ATA��I��H��UH��I��1�SH�5�H��H�8dH�%(H�D$1����H��t(H���tA��H�
��L��H��H�51���H�T$dH3%(��u	H��[]A\����AVAUATUSH��H�dH�%(H�D$1�H��tsA����I�ͅ����������OA9�tL1��	�H��D9�t?H�j��L�4���u�H�4�H���5�H��H����F�$0�D�I�]H�D$dH3%(��H��[]A\A]A^����t�A9���H�ؾ�E1��<3��u�+f.�H��H�BB�<�I�Ћ<�H�4���u�H���H����H��H���h���I�}1�����X���D�k��������E���fDH�s1ҋL�BH����$���H�pD9�uH��H�4��T����L���ɾ1�E1���������AUI��ATUSH��dH�%(H�D$1�H��t~�I���H������H���B����uxH�$�8����1�1��f��<�H��H�$H���<��tj�U���t�H�$A�$�<��u��m����u�H�$�<�H�$I�}����H�$I�E1�H�L$dH3%(u4H��[]A\A]�f.���H��u�H�$H�������:ǖ�����ff.����SH��dH�%(H�D$1�H����H������H�{�]��H�CH�{�L��H�CH�{0�;���CHH�C0��tH�{PH��t
���H�CPH����H������H���H��tH���1�H���H����H�����H���P�H���H�H������H������H�D$dH3%(u&H��H��[���H�D$dH3%(uH��[����D��AVI��AUI��ATA��USH��@dH�%(H�D$81�H�D$�	���Å�t#H�L$8dH3%(���H��@[]A\A]A^�I�E����	�H��H���e�$��D��D��L����H��Ep�����Å�u5HDž��Mp���L�d$1�H�5�H��L���+����Å�tH�|$���H�������K���fD�D$L��1�H�5�H������Å�u��D$L��H��H�5���������Å�u��D$1�1�H�����Å��x���L�t$H�t$L������Å��\����\��H�T$ H��H��D$$H�D$L�t$(����Å��'���H�E0L��,H��H�5;����D$L��H��H�5*�EX����D$1�L��H�5(H��E\����D$L��H��H�5�E`�f����D$L��H��H�5�Ed�H����D$L��H��H�5�Eh�*����T$1�H�}8L�L$L����H�53�H����1ɉEl�����Å�tSH����.���A��H�
�H��1�H��H�56�������@H���P�������K���H�t$H���H�������Å�u�H��L��H�5d�m����D$H�}8E1�L���1�H�ExH�HH�5f��Et�����H������I�m1��j����*��f.���H��dH�%(H�D$1�H�D$dH3%(uH�M)1�H���8@��1�H���������D��H��dH�%(H�D$1�H�D$dH3%(uH���1�H����������H��dH�%(H�D$1�H�D$dH3%(uH���1�H���u���P����H��dH�%(H�D$1�H�D$dH3%(uH�WH��H����D������ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH�WH��H��������ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH����}��ff.�f���AWAVAUI��ATUSH��H��H���H�|$�H�t$L�$dH�%(H�L$81�I�H�D$(�j��H�D$0H��t�L�t$(H�5�H��L�����I��H����H�D$$L�d$0H�D$�H�5�L��������H�5�L���z�����2H�5�L���c�����{H�5�L���L������H�5�L���5������L���޿����L���޿���L��H�5$1�����I��H����A���PՁ�u1�I��<+��H�5�
L�����������A�}E1���t�f.���L����D���A�WA�|�I�ׅ�u��w����L���޿����L���޿����L���޿���8���L���޿����"���f.�H�D$0H����H�$H�1�H�L$8dH3%(��H��H[]A\A]A^A_�fDL���޿��L���޿�n�L���޿�]�L���޿�L�����H�t$L�������tMH�D$H����d���H�T$H��1�L��H�5H
�c���F���fDL���޿����*����|$$L�������������
����>��ff.�ATUSH��H��0dH�%(H�D$(1�H�H��tAH�t$H���|7����uH�|$�����H�;1�H�T$(dH3%(u{H��0[]A\�H��H�81�L�L$ L��H�5��I���d�����u�H�T$ L�D$L��H��H�
iG)褺��H�|$ �D$�V����D$���r�����3����:ǖ�u����T��@��H��dH�%(H�D$1�H�D$dH3%(uH�OH�;H��������ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��H������������H��H��dH�%(H�D$1������t+H�D$dH3%(u?1�H��H���I���f�H�D$dH3%(uH�OH��H�������G�����H��dH�%(H�D$1�H�D$dH3%(uH�OH�UH���������ff.�@��ATA��UH��S1�H��dH�%(H�D$1�H�������uH�<$D������H�4$H����6��H�T$dH3%(��u	H��[]A\����fD��AUATUSH��dH�%(H�D$1�H�H����H����I��蒿��H��H�����>H��H���H�H���H�@H�@H�@0H�@8H�@@�@HH�@PH�@xHǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�H��t�u��H���f�1�H�s�H��Hǃ�H��H�C(Hǃ����H�H�}�3��A�ą�t-H���E��H�T$dH3%(D����H��[]A\A]�H�}H�s�c3��A�ą�u�H�}(H��t����H�C(H��tUH�s8H������A�ą�u�H������H���H��t*I�]�|����A��p���DA��`���DA��H����`����H��dH�%(H�D$1�H�D$dH3%(u	H�������*��f.���AVAUA�ATI��UH��SH��H��0dH�%(H�D$(1�H��tD�*�}4�|$�-���H�D$H����L�t$H��L�E 1�M��D��L������Å�u]H�t$L��耻��H�|$�T$1����~���H�|$�T����u	H�D$H�E@H�L$(dH3%(��u,H��0[]A\A]A^��H�|$�����@����4��@��H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��t8H��$�H��Hc�H�ǸH�D$H�D$ �$�D$0H�D$���H�D$dH3%(uH�����q�����H��dH�%(H�D$1�H��t#H�D$dH3%(u(Hc�H�ǸH���@��H�D$dH3%(uH������fD��ATUSH��dH�%(H�D$1�H��tcH��A���H��H�ʾL���d����xDH�øIc�H������H�$Hc�H��I��I��H��1�����H��L���e���H�<$�\���H�D$dH3%(u	H��[]A\��n��ff.���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��I��H�D$��H�D$ H�D$�$�D$0�x���H�D$dH3%(uH�������ff.���H���L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$ H�D$H�D$ H�D$�D$0�º��H�D$dH3%(uH�������D��H��dH�%(H�D$1�H�D$dH3%(uI��1�H��H����饸�������H��dH�%(H�D$1�H9�tcH���H�ǸH��t0H�D$dH3%(uUH���H�F1�H���DZ���H�D$dH3%(u%H���'���H�D$dH3%(uH������fD��AWAVAUATLc�USH��8dH�%(H�D$(1�H���H��L��H�������L���I��M����H��L�5��H��軸���f�L��H��1����L�}�%L���b��H��H��tMH��L��H��L)��I���U��t1��Mt��Cto��%u�H�5<�H�����뮐L��H���ճ���I��H��L���³��H�\$H��tL��I���ݼ��H�L$(dH3%(L��u?H��8[]A\A]A^A_�L��H�5��H��1������<����L������I������fD��H��dH�%(H�D$1�H��t#H�D$dH3%(u(H�ǸH���C���H�D$dH3%(uH����V��fD��H��dH�%(H�D$1�H��t#H�D$dH3%(u(H�ǸH�����H�D$dH3%(uH������fD��H��Hc�dH�%(H�D$1�H�2H�BH��t	H;��tH�D$dH3%(u/H����H���H�BHLJ�HLJ���x�����ATUSH��H��L�&dH�%(H�D$1�H��tIH��H����*��H�H���H�CH���H�CH�T$dH3%(D��uH��[]A\ÐH���������������H��dH�%(H�D$1�H��tH���tHc�H9��tH�D$dH3%(uH����Hc�H��������f.�D��SH��dH�%(H�D$1�H��t2H�~H���&���H�D$dH3%(u,H��H��[�	���f�H�D$dH3%(uH��[����D��USH��dH�%(H�D$1�H��tQH�H��H��t$H��H�xH��裹��H�{�蚹��H�H��u�H�D$dH3%(u)H��H��[]�t���@H�D$dH3%(uH��[]����@��SH��dH�%(H�D$1�H��t2H�~ H���&���H�D$dH3%(u,H��H��[�	���f�H�D$dH3%(uH��[����D��SH��dH�%(H�D$1�H��tH�~H��趸��H�CH�D$dH3%(uH��[�������SH��dH�%(H�D$1�H��t*H��蚽��H�D$dH3%(u(H��H��[�M���DH�D$dH3%(uH��[��]��ff.�f���SH��dH�%(H�D$1�H��t2H�~H�����H�D$dH3%(u,H��H��[�ٷ��f�H�D$dH3%(uH��[�����D��SH��dH�%(H�D$1�H��t2H�~H��膷��H�D$dH3%(u,H��H��[�i���f�H�D$dH3%(uH��[��u��D��SH��dH�%(H�D$1�H��tH�~H��H��t
����H�CH�D$dH3%(uH��[����ff.���SH��dH�%(H�D$1�H��t2H��H�v�f��H�D$dH3%(u,H��H��[陶��f�H�D$dH3%(uH��[����D��ATUSH��dH�%(H�D$1�H��toH�I��H��t:H��H��fDH�xH���+���H�C�H��H�p����H�{�����H�H��u�H�D$dH3%(u3H��L��[]A\���f.�H�D$dH3%(u	H��[]A\�����f���H��dH�%(H�D$1�H�D$dH3%(u	H���_�����f.���H��dH�%(H�D$1�H�D$dH3%(u	H���ϳ���z��f.���SH��dH�%(H�D$1�H��t2H��H�v�V���H�D$dH3%(u,H��H��[���f�H�D$dH3%(uH��[����D��USH��dH�%(H�D$1�H��tAH�>H��H��tH��蛴��H��H�;H��u�H�D$dH3%(u&H��H��[]�q����H�D$dH3%(uH��[]����@��USH��dH�%(H�D$1�H����H�H��H��tbH���5DH������H�;H��tf�H�G��H��H�H��t(H�HH��tϋPH��t�H��1����H����H�D$dH3%(u'H��H��[]颳��f�H�D$dH3%(uH��[]����@��USH��dH�%(H�D$1�H��tQH�H��H��t$H��H�xH���C���H�{��:���H�H��u�H�D$dH3%(u)H��H��[]����@H�D$dH3%(uH��[]��$���@��ATUSH��dH�%(H�D$1�H��tH�~I��H��t@�F �ƒ�x1Hc�Hc��H)�H��H��H�� f�H�|H��蒲��I�|$H9�u�胲��I�|$�y���H�D$dH3%(u2H��L��[]A\�Y���f�H�D$dH3%(u	H��[]A\��b���f���USH��dH�%(H�D$1�H��tSH��H�vH���2���H�CH�sH��讹��H�CH�s H������H�C H�s0H������H�C0H�D$dH3%(uH��[]��ҿ��f���SH��dH�%(H�D$1�H��t*H�����H�D$dH3%(u(H��H��[�]���DH�D$dH3%(uH��[��m���ff.�f���USH��dH�%(H�D$1�H����H��H�vH��辸��H�CH�sH��誸��H�CH�sH������H�{X�Ͱ��H�CXH�{h輰��H�ChH�sHH���X���H�CHH�spH���Ԭ��H�CpH�D$dH3%(uH��[]�蠾����SH��dH�%(H�D$1�H��t*H�����H�D$dH3%(u(H��H��[�-���DH�D$dH3%(uH��[��=���ff.�f���ATUSH��dH�%(H�D$1�H����I��H�vH�����I�t$H��I�D$�ּ��I�\$ I�D$H��trH�H��tYH�pH��H���Ȣ��H�C�H��H�p�8���H�C�H��H�p�(���H�C�H��H�p8����H�{��O���H�H��u�I�\$ H���:���I�D$ H�D$dH3%(u	H��[]A\��C�����USH��dH�%(H�D$1�H��taH��H�vH���"���H�sH��趮��H�s8H��芶��H�s@H���n���H�sHH������H�D$dH3%(u)H��H��[]键��@H�D$dH3%(uH��[]�褼��@��USH��dH�%(H�D$1�H��taH��H�vH��股��H�sH�����H�{(�-���H�s@H���ѥ��H�sHH���U���H�D$dH3%(u,H��H��[]����H�D$dH3%(uH��[]�����@��USH��dH�%(H�D$1�H��tQH��H�vH���b���H�s H���V���H�{0荭��H�{@脭��H�D$dH3%(u+H��H��[]�f���fDH�D$dH3%(uH��[]��t���@UH��SH��H��H�6dH�%(H�D$1��ܴ��H�sH���@���H�D$dH3%(uH��H��[]������ff.�f���SH��dH�%(H�D$1�H��t2H�~ H��趬��H�D$dH3%(u,H��H��[陬��f�H�D$dH3%(uH��[�襺��D��USH��dH�%(H�D$1�H��tIH��H�~H���B���H�s0H���V���H�s(H���J���H�D$dH3%(u)H��H��[]����@H�D$dH3%(uH��[]�����ff.����USH��dH�%(H�D$1�H��tQH��H�~H��貫��H�s0H���Ƹ��H�s(H��躸��H�s8H��辫��H�D$dH3%(u%H��H��[]�p���H�D$dH3%(uH��[]�脹��@��USH��dH�%(H�D$1�H��tIH��H�vH�����H�{(����H�s0H������H�D$dH3%(u,H��H��[]����H�D$dH3%(uH��[]����ff.����SH��dH�%(H�D$1�H��t2H��H�v���H�{(荪��H�D$dH3%(u#H��H��[�p���H�D$dH3%(uH��[�腸��D��USH��dH�%(H�D$1�H��taH��H�vH���B��H�sH���ֱ��H�sH������H�{8����H�s@H���5���H�D$dH3%(u,H��H��[]�ש���H�D$dH3%(uH��[]����@��ATUSH��dH�%(H�D$1�H��tOI��H�6H��t H��L��fDH��H���|���H�3H��u�H�D$dH3%(u-H��L��[]A\�D���@H�D$dH3%(u	H��[]A\��R���f���SH��dH�%(H�D$1�H��t2H��H�v����H�{(���H�D$dH3%(u#H��H��[�Ш��H�D$dH3%(uH��[����D��USH��dH�%(H�D$1�H���}H��H�vH�����H�sH���2���H�s H���&���H�{@�]���H�sHH������H�{h�H���H�spH���|���H�sxH���P���H�D$dH3%(u'H��H��[]����f�H�D$dH3%(uH��[]��$���@��ATUSH��dH�%(H�D$1�H��tOI��H�6H��t H��L��fDH��H��蜾��H�3H��u�H�D$dH3%(u-H��L��[]A\鄧��@H�D$dH3%(u	H��[]A\�蒵��f���USH��dH�%(H�D$1�H��tAH��H�vH���B���H�sH�����H�D$dH3%(u-H��H��[]�����H�D$dH3%(uH��[]�����@��H��dH�%(H�D$1�H��t#H�D$dH3%(u(H��H��駦���H�D$dH3%(uH���趴��fD��H��dH�%(H�D$1�H�D$dH3%(uH��H���L����w������ATUSH��dH�%(H�D$1�H��tQH�~H��I��t轶��I�\$H��t5H�3H��tH��H������H�3H��u�I�\$H���ץ��I�D$H�D$dH3%(u	H��[]A\������SH��dH�%(H�D$1�H��t*H���ʵ��H�D$dH3%(u(H��H��[�m���DH�D$dH3%(uH��[��}���ff.�f���USH��dH�%(H�D$1�H����H�~H��H��t	H�v践��H�{(tH�s H��褵��H�{8tH�s0H��葵��H�{HtH�s@H���~���H�{XtH�sPH���k���H�{ht$H�D$dH3%(u+H��H�s`H��[]�B���f�H�D$dH3%(uH��[]�褲��@��SH��dH�%(H�D$1�H��t*H���Z���H�D$dH3%(u(H��H��[�-���DH�D$dH3%(uH��[��=���ff.�f���USH��dH�%(H�D$1�H��tAH�~H��H��t	H�v�{���H�{8t$H�D$dH3%(u+H��H�s0H��[]�R���f�H�D$dH3%(uH��[]�贱��@��SH��dH�%(H�D$1�H��t*H���ʕ��H�D$dH3%(u(H��H��[�=���DH�D$dH3%(uH��[��M���ff.�f���H��dH�%(H�D$1�H��t+H�~t$H�D$dH3%(u)H��H�������H�D$dH3%(uH����ް��ff.���SH��dH�%(H�D$1�H��t*H���:���H�D$dH3%(u(H��H��[�]���DH�D$dH3%(uH��[��m���ff.�f���H��dH�%(H�D$1�H��t#H�D$dH3%(u(H��H������H�D$dH3%(uH�������fD��USH��dH�%(H�D$1�H��tQH��H�6H���c���H�H�sH�����H�s H���4���H�D$dH3%(u+H��H��[]�f���fDH�D$dH3%(uH��[]��t���@��USH��dH�%(H�D$1�H��t9�H��H�vH���̨��H�CH�sH��許��H�CH�CH�D$dH3%(uH��[]����ff.����USH��dH�%(H�D$1�H��t9H��H���V���H�s(H��躥��H�D$dH3%(u)H��H��[]�l���@H�D$dH3%(uH��[]��|���ff.����H��dH�%(H�D$1�H�D$dH3%(uH��H�������7������SH��dH�%(H�D$1�H��t2H��H�v�F���H�D$dH3%(u,H��H��[鹟��f�H�D$dH3%(uH��[��ŭ��D��SH��dH�%(H�D$1�H��t2H��H�v����H�D$dH3%(u,H��H��[�I���f�H�D$dH3%(uH��[��U���D��USH��dH�%(H�D$1�H��tAH��H�vH��貦��H�sH������H�D$dH3%(u-H��H��[]�Ȟ���H�D$dH3%(uH��[]��Ԭ��@��USH��dH�%(H�D$1�H��tIH��H�vH��蒸��H�sH���F���H�sH��蚑��H�D$dH3%(u)H��H��[]�<���@H�D$dH3%(uH��[]��L���ff.����USH��dH�%(H�D$1�H��tQH��H�vH��H��t�M���H�s8H��聮��H�{ tH�sH�����H�D$dH3%(u%H��H��[]頝��H�D$dH3%(uH��[]�贫��@��UH��SH��dH�%(H�D$1�H��t"H�7H��tH�_f�1�H���e���H�s�H��u�H�D$dH3%(uH��H��[]�����I���f���USH��dH�%(H�D$1�H��tAH�~H��H��tH�^��ۜ��H��H�{�H��u�H�D$dH3%(u%H��H��[]鰜��H�D$dH3%(uH��[]��Ī��@��USH��dH�%(H�D$1�H��tAH��H��薡��H�sH������H�s H��莘��H�D$dH3%(u%H��H��[]�0���H�D$dH3%(uH��[]��D���@��ATUSH��dH�%(H�D$1�H��tH��H�vI������H�} H��t5H�7H��t(�f.�L���x���H�} H�4H��H��u�袛��H�u(L��趵��H�D$dH3%(u/H��H��[]A\�v���fDH�D$dH3%(u	H��[]A\�肩��f���USH��dH�%(H�D$1�H��t9H��H���֫��H�sH���:���H�D$dH3%(u)H��H��[]���@H�D$dH3%(uH��[]�����ff.����SH��dH�%(H�D$1�H��t*H���ڟ��H�D$dH3%(u(H��H��[鍚��DH�D$dH3%(uH��[�蝨��ff.�f���SH��dH�%(H�D$1�H��t2H�~H���6���H�{�-���H�D$dH3%(u#H��H��[����H�D$dH3%(uH��[��%���D��ATUSH��dH�%(H�D$1�H����H��H�~I��輙��I�|$ 貙��I�|$8訙��I�|$H螙��I�\$PH��t/H�3H��u�%f.�H�3H��tH��谐��H��u�I�\$PH���]���H�D$dH3%(u.H��L��[]A\�=���DH�D$dH3%(u	H��[]A\��J���f.���ATUSH��dH�%(H�D$1�H��tI��H�~H�����H�}�ט��H�] H�3H��tL��H��蜡��H�3H��u�H�] H��記��H�}0蟘��H�}@薘��H�D$dH3%(u/H��H��[]A\�v���fDH�D$dH3%(u	H��[]A\�肦��f���USH��dH�%(H�D$1�H�����H��H�~H������H�{0����H�s8H��tH���>���H�{P���H�{`���H�{p���H����ח��H����˗��H���迗��H���賗��H�D$dH3%(u*H��H��[]镗��DH�D$dH3%(uH��[]�褥��@��SH��dH�%(H�D$1�H��t2H�~H���F���H�{�=���H�D$dH3%(u#H��H��[� ���H�D$dH3%(uH��[��5���D��ATUSH��dH�%(H�D$1�H����I��H�6H���
���I�t$H��tH���{�I�t$H��tH���i�I�\$H��t*H�3H��u� DH�3H��tH���@�H��u�I�\$H���m���H�D$dH3%(u.H��L��[]A\�M���DH�D$dH3%(u	H��[]A\��Z���f.���SH��dH�%(H�D$1�H��t2H�~H���V���H�D$dH3%(u,H��H��[�ٕ��f�H�D$dH3%(uH��[����D��SH��dH�%(H�D$1�H��tRH�~H��H��tH�OH��t�WH��uUH���m���H�{�d���H�D$dH3%(uCH��H��[�G����H�D$dH3%(uH��[�f.�H��1��6���H����<���ff.����ATUSH��dH�%(H�D$1�H�����I��H������~@��tS��uH�v�e���DH�D$dH3%(��H��H��[]A\錔��@��u�H�~�{�����f�H�v����H�u(L�������f�H�D$dH3%(uWH��[]A\��H�v�פ��H�] H��t(H�3H��u�@H�3H��tL���p���H��u�H�] H������9�������@��UH��H�=�SH��(H��dH�%(H�D$1��H��H�;H��t,H��蜌����u�H�T$dH3%(u?H��[]�@H���(H�=	�f.�H���X�����t�H��H�;H��u�1���o���ff.�@��AWAVAUATI��US�H��h�VdH�%(H��$X1�H�D$�����L�D$P��H�vH��I��L�ǹH������DPI��H����}$����L�u8H�L$L�|$ L�D$(H�ױH��L��H�L$L��H�D$ L�d$0H�D$8�y���H�L$����u^H�l$H��tTH�}H��tK�v���H��I�EH���D��ߗ��H��$XdH3%(��utH��h[]A\A]A^A_��H��L��L��L�d$(H�D$0��H�l$��H��tH�}H��u�H���r���둻�f��$���w����џ�����UH��SH��dH�%(H�D$1�H��H�$�C����Å�uH�<$����H�<$�E�X�����H�\$dH3%(uH��[]��j���f.���AWAVAUATUSH���H�L$dH�%(H��$�1��D$LHDŽ$�H�D$`H�D$DH���`H�:H��I��I��M����A��	fDI��I�GD��I�|�u�8�蟢��H�$H���I��脢��H�$H�AH���#I�F0H�D$(H���IA�V@��t
I�FpH������
t	M����H�t$DH��H�V�<���A�Dž��)A�F@�t
H�D$DI�EA�F@�����L$$tA�VH�D$$�J�T$LA�NH�tA�UM�NM����I�V H��t!L�l$pL��H��L���ɍ��M��A�Dž��KM�~M���1I�VH����L�l$PL��H��L�L$L��艍��L�L$��A���	DŽ$� ��M��HDŽ$�HDŽ$�L��$�L��H��I�U�l���I�UL��H���]����D$L�u�Hc���$�H�D$DH��H��$���I��H��$�H���
���J�E��H��H�D$�A�H��H�$I�u�H��$�J�D(����I�$H��$��oB0J�D(�@$H��$�I�$J�D(��RD�P I�$HqH�xP����A�Dž��H��$�H��J�T(�I�$H��H�p跕��A�Dž���H��$�H��J�T(�I�$H�pH�����A�Dž���H��$�H��J�T(�I�$H�pH��迦��A�Dž���H��$�H��J�T(�I�$H�pHH��8蓛��A�Dž�udHc�I��H��H9l$�TL��$�L�,��@�I�E�H�D$�^���K�D/�H��$�J�|(������A��H��$�H�����H��$��6fDI�F(A�V@H�D$(����������D�D$$H��$�H���Ќ��H�|$`�ƌ��H�4$H���
����D$$��tA�nHH��$�dH3%(D���TH���[]A\A]A^A_�1��D$$A��:ǖ��A��L��H���5���DH��$��k����D$$A��U���D1�E1����fDM�~M���^I�VH��tuL�l$PL��H��L������A�Dž�u�DŽ$� ��M��L��$�HDŽ$�HDŽ$����DŽ$� ��HDŽ$�HDŽ$��Z���DŽ$� ��L��$�HDŽ$�HDŽ$��A���H��$�L��H��DŽ$� ��HDŽ$�HDŽ$��w�������H��H�$L��$�H�t$8L��H�QL�AL�D$H��P���A�Dž������H�|$(H�L$8L�D$�fH�t$(�H������1�A��H�D$8�PH�x��~��H�t$8H��躑��L��H���o���E���6���A�F@tzI�vI�MH���H�����A�Dž��
���H��I�vpH��L��H��$��D$HHDŽ$���$��D$D��$��ݘ��H��$�A�Dž�������H�,$H�t$H���D���H��$�A�����H�|$`�ډ��H��H������E�����������H��$�A�����DŽ$� ��HDŽ$�HDŽ$��x���耉���+���1��V���A�&:ǖ���H�AH�<$H�G(�A�G$H���O���L��H���$�������j���f.���AWI��AVM��AUI��ATI��UH���SH��dH�%(H�D$1��u���H��tPL�8H��H��M��H�@L��H��L���ޖ��H�߉��Ĉ��H�T$dH3%(��uH��[]A\A]A^A_�����Ė��@��SH��H��H�� dH�%(H�D$1�H�t$�׊����uH�|$�D$�o�N����D$H�L$dH3%(uH�� [��_���f.�D��AWI��AVAUI��ATI��USH��H��HdH�%(H��$81����H�AH�L�v0H�D$PH�D$XH�D$D�D$LM�����C@�tH�{p���
t	M����H�{�����t�SH�J�T$L�KH�tA�PH�S L�SH����L��$�L��L��L��L�D$�Y��������_H��$�L�D$�H��$H���(M��H��$L�CM��tcH�SH��tZL�L$`L��L��L�T$L��L�L$��������Hc�H�T$pL�L$��H��L�T$H��H�Z�(M��H��L��L��L�T$L�D$�Œ���AoL�T$L��$���$�L�D$H�t$(L���D$H�D$DDŽ$�H��$��D$L�$�L��$�L��$��$�踐��������Hc�L��$L��$��t'H��H��I�H��t�L$I�|�ЋL$H����u�H�t$PL��L$�o����C@�L$t�kHH��$8dH34%(���H��H[]A\A]A^A_�fD1��v���f�H�t$DL��L�D$H�V�z�������u��C@L�D$�����H�D$DI��C@���@L�v(�w����H�D$(D�L$H�L$8L��PD���ӎ������t5L�D$(I�xA�P1��L$�y��H�t$(L������L$����H�|$8��$����5��L�D$(H��$�H�����Cd1Ʌ�tH�K`L��$��
L��L��L��$�L�T$��v������uL�T$H�t$0L���E��������[��$�H��$�1��L$�Qx��H��$��$���H�D$(1�DŽ$�HDŽ$��PH�x�x��H�t$(L���
����L$������Hc�H��L����tI�F���H��tI�~��I����u�C@ufoL$P1�AM���@H�sI�OH���L��������������H��H�spL��L��H��$��D$HHDŽ$���$��D$D��$������ucH��$��&����s�������H���H��$H���7����L$H��$�ЋL$� ���H�|$0�D$�o)T$P�ق���L$���H��$��D$迂���L$�����:ǖ���@������:ǖ���运��f.�DAVAUI��ATI��USH��H��pdH�%(H�D$h1��F@t�FH�������ZH�CP�P�T$$�P�T$(�C@ �H�@ H�D$0�CHH�l$ �D$8I��$�t$HcT$$D�L$8L��1�L�D$0�L$(H�5W���H��H�t$腙���Ņ���H�s(H�L$L�D$HL��L�t$@���Ņ�uBH�t$L���}���Ņ����T$\H�|$`1��u��H�|$`�t����D$\H�D$`H�D$1�H�x�P�pu��H�t$L���c���H�L$hdH3%(����H��p[]A\A]A^Ë������H�S(H��L������Ņ�u�H�C0H�D$0�����H�l$ L��H�UH�u���CDH�D$0�D$8���fDH�VHH�v(�L$����L$�����O����Q���@H�|$�oAE�}������裎��H�
$��aH�5��H�=���y��@��H��dH�%(H�D$1�H�D$dH3%(u1�H������H������H��dH�%(H�D$1�H�D$dH3%(u�H���Z�������D��AWAVM��AUA��H�ʹATUSH��H��H�t$L��L�D$H��$�L��$�dH�%(H��$�1��u�����t1H��$�dH3%(��H�Ĩ[]A\A]A^A_��L�d$ 1��H�t$L��I�T$�H�H��������u'I�T$H��H��計����t4L��H�߉D$襎���D$H�t$H�߉D$蠆���D$�f����1�L�D$L��H��H�������u�L�D$H�t$M��L��D��H��茅��H�t$H�߉D$�{����D$�谌����AWAVAUATUSH��L�$E�HTH�L$8dH�%(H��$1���H�D$HH�D$P���$�HDŽ$�HDŽ$�E�����Љ�A�% ��t%L��$�I��I��L��I�vI�xP蚒��A�Dž�t3H��$dH3%(D����H��[]A\A]A^A_��H�s0L���ToA�Dž���I�UH����H�r(H��tL���{t��I�EH�@(I�UH�sH��(L��H�t$�z��A�Dž��sM�}A�G@tA�wH���4@��tI�0�sH�D$8H�D$H����A�X���DŽ$��H�L$�A��$�H�AH��$�H��$�H�D$�8�5w��I�GPH������I�EtH�PxH���GH�T$HI��$�L�@0�HHt$L�L$1�H��L��H�5/��r���I�E�HHL�@0L���H�SH�D$XD�KL�[pH�XPH�D$H�l$HH�SH�CM���\H�S L��L��L$4L�\$(L�T$ D�L$���D�L$L�T$ ��A��L�\$(�L$4���K(H�C0M��t4H�L$X�L��L��L�\$ D�L$����D�L$L�\$ ��A����H�T$XM����H�K0L��L��D�L$����D�L$��A����H�t$XL��D�L$�w��D�L$H����D;M��I��$�tH��H�5G�L��1�D�L$�(���D�L$H�l$x��D$p�M��u��D;L��tH���D$p�T���u�H�t$`H�|$p���A�Dž���H�
���H�t$hH��$�H��$�H�D$`�P��$�H�@HDŽ$�H��$�H��$�H��$��y��H�t$`L��A�Dž��+�l���H�{0H���;H�?�t@A��H��H�|�u�A�wHc�H���q���H��H����H�k0McǿJ��L�|H�D$�bt��I�H�����
��I��@H�|$hI��w�pI�H�OH�H�y��H�D$H�DH�SH�sL��誉��A�Dž�usI�EH�t$PH�xP�~��A�Dž�uZH�L$PH�t$M�FL��迅��A�Dž�u8H��$�L���~��A�Dž�u!H��$�H�$�o�y��f�I�EH�@PH��tH�@I�EH�@PH�@H�D$H��t�x�tH�x��x���H�|$HH��tI�EH;xxt�x��H��$�H��tL��誏��H��$�H��t��$�1��l��H��$��rx��H�D$PH��������PH�x1��vl��H�D$PH�x�Hx��H�|$P�>x���f���f�I�w(L���d~��I�U�rX��u�����������D�L��$�H�R(L�D$8L��M�ѹ
L�T$�Ɗ��A�Dž�uM�}����fDH�C ����I�EH�@PH������H�@I�EH�@PH�@���f�H�t$@L���sz��A�Dž������H�T$@I�U����f.�I���H�������I���L��H�L$8L���A�Dž��Y���H�D$8M�}H�D$H���K�������DH���m������f�H�t$I�WHL����u��A�Dž�����M�}���A����DH�t$XL����r�����fD�KH�T$L��L�����A�Dž������M�}�f���f���j���fDA��:ǖ�����O���H�sH�T$HL���
���A�Dž�����I�E����A}������H�t$hL��A��)}����������H�������������AWI��AVI��AUATUH��SH��H��8dH�%(H��$(1����H�AH�L�f0H�D$PH�D$XH�D$D�D$LM���8A�G@�tI�p��
t	M����I������tA�WH�J�T$LA�OH�tA�PI�wI�W H�4$H���mL��$�H��L��L�$�s��A�Ņ���H��$��D$H��$H���(H��$M�oM��tcI�WH��tZL�D$`L��H��L��L�D$�r��A�Ņ���HcD$H�T$pL�D$H��H��H����M��H��(�|$H��H��$�A�t$H��$�H��H��H�L$H�D$�~���������$�H��$���t'A�\;>��H�V��H��;z��C��9�u�H�߉L$����L$9�$��?A�G\�D$/�D$��t ���w�����d�|$�������pH�$�AoH�t$0L��$�L�t$H�|$HDŽ$�H��$�H�D$D�$�H��$��D$LL��$���$�H�D$/H��$�����A�Ņ���Hcl$L��$�L��$���tH��H��I�H��tI�<��H����u�H�t$PH��葃��A�G@tA�oHH��$(dH3%(D����H��8[]A\A]A^A_�f��D$�����D$/�D$���fDH�t$DH��L�$H�V胂��A�Ņ�u�A�G@L�$�����H�D$DI�A�G@���L�f(����L�D$0�t$M��L��H�����A�Ņ�uH�|$H�t$8L��$�辁��A�Ņ�twH��$���q��H�D$01��PH�x��e��H�t$0H����x�����D�����f��D$�������H��$H�������H��$�����@H�|$8�o)T$P�]q��H��$��Pq��H�D$01��PH�x�]e��H�t$0H���Px��HcD$I��H��L��E��t%�I�D$�A��H��tI�|$��I��E��u�A�G@ufoL$PM����@L�t$I�wH��H��I�N�<l����uDH�InI�wpL��H��H��$��D$HHDŽ$���$��D$D��$��8����tA���~���@H��$��[p���k���A��:ǖ�v���A��:ǖ����1��M���A��:ǖ�Y���A�2:ǖ����N~��f.�@��H��dH�%(H�D$1�H�H�T$dH3%(uH����~�����H��dH�%(H�D$1��H�D$dH3%(uH�����}�����H��dH�%(H�D$1�H�D$dH3%(uH����}��ff.���H��dH�%(H�D$1�I�H��I�H�H��t�RH�H��I�1�H�t$dH34%(uH����-}��ff.�f���S�H��H��dH�%(H�D$1��Ji��H��t%H�H�1�H�T$dH3%(uH��[������|��@��AVAUATI��UL��SL��H�� I�I�dH�%(H�D$1�I�$H�L$H�T$H�����p�H��H��H9�s.H�MH�H�\$dH3%(��H�� []A\A]A^�fDL�t$L�l$L��L����|��I�$L��L��pH�x�y��I�$L��L��x�|��H�L$H�T$1��DL�l$L�d$1�L��L���|��L��L��1��t|��H�L$H�T$1��M����{��ff.���AUATUSH��8H�)dH�%(H�D$(1�H����I����M���A��H��H�������&��H�H��tnH�T$H�uL��H�C�w����uqH��
��H��B�H��L$�JH�H�L$H�JH�CI�]H�t$(dH34%(uAH��8[]A\A]ÐH���l����Ր���f�H��L��D$�h���D$��z��fD��AWAVAUATUSH��HH�<$L�D$dH�%(H�D$81�H�H���}H�I���H�͋�x�!~��H��H���H��H�53�(L���v���D$���nH�EE1�H�H�D$ H�D$����]f�D��E�fH���LH���(1��;
����H����u�E��1��I��H�ѮN�<I��l������A�GE�nH�EE��H�D9"w�D��H��H��@H�@H�D$H�H�\$8dH3%(�D$��H��H[]A\A]A^A_�H�@D��H�<$E�nH�5�(H���oD�H�t$H�)D$ ��t�����l���H�<$H�މD$�v^���D$�D$��D$�u���H�<$H���S^���D$�\����D$�O���H���qj���B���������x��ff.�f�H��D�dH�%(H�D$1�D9	��H�7�>H��t$;Vu�7�H��H��;Tt+H��H9�u�H�|$dH3<%(ulH���1�fDH��H�PH�p�"H��H�L9�wŃ�vI��Q�H�|01���]��1�몸�:ǖ�H�
����H�5�H�=֭�Ab���w��ff.��AWA��AVM��AUL�-��(ATI��U1�SL��H��(H�$dH�%(H�D$1�����H����t\D9su�H�sI�<$L���v��A����u�H�DmH�$A�D���H�L$dH3%(D��u~H��([]A\A]A^A_�fDA�A��
v�I�$�
H�5�H���v�����D$tA��@H�t$H�{
�
�=���H�$���t�H�D$D�D$�8u��o����v��f.���AWAVAUATUSH��dH�%(H�D$1�M����I�9L����H�)1�H��ttL�}I��A�A���tD�`�I��I��� �db��I��H��tlL����y��H��tRL��L��H���܀��I�UH�uL��I�E�q����uD�UL�+A�UH�t$dH34%(uaH��[]A\A]A^A_�L���pg�����f�I�}�Wg��L���Og����H�
���H�5��H�=����_���Tu��H�
����H�5x�H�=����_��D��SH��dH�%(H�D$1�H��tRH�NH��H��t�VH��u^H����f��H�;�f��f�CH�D$dH3%(uBH��H��[�f��fDH�D$dH3%(uH��[�f.�H��1��Z��H����t��ff.����H��dH�%(H�D$1�M��t#H�D$dH3%(u(L��H���i���H�D$dH3%(uH����&t��fD��SH��dH�%(H�D$1�H��t2H�1H��H��t�h��H�D$dH3%(u(H��H��[�e��DH�D$dH3%(uH��[��s��D��H��dH�%(H�D$1�H����H�D�M����H��1�E1��DH��H��L9�t9u�M��uZH��I��H��L9�u�M��tLA�A�~H��IAH9�w@1�H��t�QI�QHVH�QH�L$dH3%(u9H������ݸ��H�
˪��H�5�H�= ��c]����r��ff.���AWAVAUATUSH��(L�$dH�%(H�D$1�1�H�y��D9��I��1�H��A��E����������H�}�7H��H���z��H����H�E�E1�A�F���ƒ����r�UH�}H�L$�tL��Jz��H����H�UH�E1ۋ
��H�L$t$@H��H��H��H�DH�U�H9�r�H�E�UH�4H�|H�L$H)��On��H�L$f�HMH��H�UH��H�D�zH�UA�NH‰JH�M�uH���H�qHEH�x@���A�VH}E����I�v�B|��H�EH��A�VD��H��HTHUE��t1������
9�r�H�E�H�<$A�FEB�D �EH��tH��H]H�CHEH�GA�F�G�E1�H�\$dH3%(uGH��([]A\A]A^A_ÐA�A)����f�1��V���R���@��f����p��H�
}��/H�5��H�=��Z��H�
^��XH�5��H�=����Z��fD��H��dH�%(H�D$1�H�D$dH3%(uE1�E1�H���I����p��@��AVAUATUH��SH�� dH�%(H�D$1�H���%�����t��H�\$dH3%(uH�� []A\A]A^�D�d$M��M��t3L��L�t$�qs��H��H��t9L��L��H���kz��H�E�D���As��H��tH�ED�m�f�H�E��o����9o��f���AWI��AVM��AUATI��USH��(H�D$pL�l$`dH�%(H�T$1�H�L$hH�l$xH��tH�@�@�}��uqI�$H��th�@���~A�xH�T$I�pH�L$������u@�T$I�4$H�L$���toH����L����V����uzI�4$�FA�A�E�EH�t$dH34%(��ufH��([]A\A]A^A_�I���t�H�5�L��1��p����H��t�H��H��L����i���f.����@1�L���>����k�����m��@��ATI��UH��SH��H��dH�%(H�D$1�H��8H���Y��H�EH��tTH��I�$H�1��
��t H��H���|:H�U�<�H�H���:H9�w�1�H�L$dH3%(uH��[]A\�D����Dm��@��ATI��� UH��SH��dH�%(H�D$1��dY��H��tg�H���RY��H�H��tZH����C�p��H�CH��tD�C1�H�]H�T$dH3%(u9H��[]A\�fD��ڐH���h^����ʐH��L���Ea�����yl��f���AWAVAUATU�"SH��(dH�%(H�D$1�H�H��vAI���v���u2I��A�U�"�Ӊ$����I9�rH�t$I��I���f���Ņ�t+H�L$dH3%(���|H��([]A\A]A^A_�fD�$H�L$�r�H�9�T$H��H�$H����s��H�$�T$H�H�t$H�H����H�D$H��@H�L$H������A�UI�u�PA�U�PI�}H�xH������H9���H�I9�s;�f��>H��H��HЉx�V�PH�~�H�x @��u|H9�r_H�L��L9�wTH�L�@�:L9�w�H�yL��H�$�s��H�$H�t$H�AH�~H��tML��L���u��H�D$D�`I����@H��L���"�X_�����H��L����@_�����L����._���n����dj��@��AWI��AVM��AUM��ATUSH��HH�<$L�d$(H�l$ H�\$L��H��H��dH�%(H�D$81�I�H�D$0H�D$ I�H�D$(�b������HcT$��t&H�t$ H�<$H�L$0�wd����ukHcD$HD$ H)D$(L��H��H���fb����urH�T$0H��t�t$1Ʌ����JI�7H��tH�<$�D$�E^��H�T$0�D$I�H�T$ I�H�T$(I�UH�\$8dH3%(u0H��H[]A\A]A^A_�f�H�t$0H�<$�D$��]���D$��#i����USH��dH�%(H�D$1�I�H�1H��t_H��L��E��t�V���t�VH�vH���qc����tH�\$dH3%(u,H��[]�fDH�MH�$�I�JH���D����h��ff.����USH��(dH�%(H�D$1�E��uiH�1H��L��H��tH�L$�	]��H�L$H�H�EH��t|�P�����uLH�|$dH3<%(u7�PH�pH��(H��[]�b��fDH�\$dH3%(�uH��([]���g��H�
`���H�5��H�=�HR��H�
A���H�5ܜH�=�}�)R��f���ATUSH��0dH�%(H�D$(1�H�9H�l$P��I��A�yH�T$I�qH������u�T$���t0H�3H��L���X��H�L$(dH3%(uQH��0[]A\�f��UH�uH�L$ L���a����u�H�3L��D$�[��H�T$ �D$H������f��ff.����H��dH�%(H�D$1�HcDž�~
H���H�Hi����H�1�H�L$dH3%(uH����nf��ff.���AWAVA�ֺ
AUE��ATI��UH��SH��8dH�%(H�D$(1�H�L$�s�Å���D�D$�"A��	��H��Bz�Ք��H�|$H�H��H��H��H��?H�H��H)�I��I��H����~
I�o�I����I׸�����"I9��}�GH�ƃ�
A9�rn@��uhH��H��
��_����uVA�|$$
�H�4$H��D�H�L$�ڃ���E��D��n��H�<$�Å�uG�W��E9�tE��:ǖH�t$H����^��H�|$(dH3<%(��u<H��8[]A\A]A^A_����V���ѐ1�H�t$E��L����H����K����u����d��ff.�f���AWAVM��AUI��ATUH��SH��H���T$D��$�dH�%(H�D$x1�M���jH�L$P�M������� �D$T����H�T$X���:H���D$hH�T$p�|$d�j�������S�T$DH�������g��H���#H�D$HL�SL�\$H�H��L�L$DH�D$@M��L��L��L�\$ L�L$L�T$H�D$(�Q�L�T$L�L$��L�\$ ��M��L�ɺL��H���$�����H�L$(L�L$<L��H��L�D$`���a��H�|$H�D$�?U���D$��u�T$<��u?�:ǖf.�H�t$xdH34%(��H�Ĉ[]A\A]A^A_�f.�M����H�L$P�H��H���R���u��|$T�3L�d$@�H��H��L���+���u��|$D�H�D$X�t$T�8�V�H���T$h�|$dH�D$p��h������L�L$<L�D$`L��L���H��H�D$H�l$D��`����� ����D$<������M��t�T$E��L��H��H����������C1����@H�CH�ֿH�T$H�D$�e��H�T$H��H��tH�t$H����l��H�D$H��������fDH�|$H�D$�S���D$�y���f���:ǖ�f���fD�2:ǖ�V����a�����H�� dH�%(H�D$1�j�aN��ZYH�T$dH3%(uH����ea��D��SH��H��H�1dH�<%(H�|$1�H�D$ H��tWH�@M��H��E1�H�@0H�H�P0�z[����tH���t<��H�5[�1�H����b��1�H�\$dH3%(uH��[Ð���f�1�����`���AWAVA��AUI��ATI��UH��SH��8�1dH�%(H�D$(1�H�T$�R���Å�t,H�L$(dH3%(����H��8[]A\A]A^A_��L�|$D��L��H��L������u>H�D$�T$H��H9�t�"�DH�|$1��F��A�$H�D$����D$M��A�L��D��L��H��H�D$���D$����t����C�����_��f���AWM��AVM��AUATUH��SH��H���T$L��$�D��$�dH�%(H��$�1�A�D$I�D$H����H�D$PI�ͺ
D�D$H��H�D$H�D$(H�D$0H�D$8�s�D�D$�����E���xH�L$(L��H���g��A�����uH�|$0H��tD�D$�P��D�D$H�t$(H��D�D$��P��D�D$H��$�dH3%(D����H�Ĩ[]A\A]A^A_Ð�T$L��H��H������A����u�L�l$0A�vL��H���#D��A����u�L��H��H�����A����u�L�l$8A�wH��L����C��A�����f���L��H��H���P���A�����H���H�����D�@D;C��H�K�H��@�AH�������BH���A�B�A�H�BH�A�H�zH�����l�R�sH�H9�sM�:fDH��H��HЋP�Q�P�Q�H�P H�Q�H�x @���&�@�SH�H9���H��L9���H�H�p�:H9�r�H�L$@�H��H���r�A�����Z����D$D���/H�L$H�oC��H��L�l$`�t$0A��D$`H�QM��D$hH��$�L���D$x��$���_��A�������H�L$P�H��H�����A���������D$T����H�t$H�L$D��M��A�H���D$`H�VH�t$X�D$xH�T$p�Q���T$lH�V�t$8H��$�L����$��*_��A�����R����kH���MH���D$L�k��_��D�D$H��H���NH��L��H��D�D$�f��D�D$I�D$�C1�D�D$A�D$H�H�{������A��D�D$����1�A�}$
����v���fDL�l$0H�|$(H�T$8L����G��A�����i����D$8H�L$H��H��A��
H�D$X��
I�ɉD$T�d�A�����,���H�L$X�|$H�t$@H�L$�A�H�L$H�D$@H�H�T$8H�y
f�QL�D$0L��L�D$��e��L�D$L���L��H�t$(H����L���D������D$�^��D�D$H��t
I�D$����I�D$A����H�
d���H�5z�H�=~���D��H�
E���H�5[�H�=����D��H�
&���H�5<�H�=���D���Z��H�
���H�5�H�=?��D��H�
��H�5��H�=���kD��H�
���H�5ڑH�=I��LD��ff.����H��dH�%(H�D$1��t$ j�P��ZYH�T$dH3%(uH����qY�����AWAVAUATUH���SH��8H�4$�(�T$H�L$dH�%(H�\$(1�H��]��I��H���L����\��I��H���y���D�d$M�nI�FI�EH�$A��I�F�0I�EA�F @����E��I�^�L�<$A��D�d$I�܉�H�l$D���A�A�EA�I�G��@�2��\uA��
I��H��A�wI��@��tN@��/u	@���@��@u�����@����A�EA�I�G��@u�A�w1�I��@��u�fDA�F D�d$H�l$����I�^�s1�D�d$M��I���@I��E9|$ ��B�t3M����I��L��D��[��H��H�CI�\$҃�J�|3u���A��L��H���Q��E����E1��fDM9���I�GM������T$�ҺE�����DM9���A�F I�~�pHc�H���@_��H���A�N I�F�QA�V Hc�H��L�l���I�EI�GI�E�o���f�1�H��A��PP��L��H���EP��D��H�\$(dH3%(��H��8[]A\A]A^A_��I�FL��H��E1�A��O���f.�H�l$A��:ǖL��H��E1���O���DM��D�d$A�v����D��Y��H���DI�F1�H��I�^�O��H�$I�v����9E��H�<$A�A��1�1��;�I��<\��A9��
L�N�σ�A�9L���GL�G��tpL��D�N</uE��u <@u�E����E����I��E1��f�A9���H9���H��I+FIcN H��H��H9����GH��1�L�G��u�9N�_I9����D$�8�D$	��A��A����E1����
A�F$H�D$L�0E1�����fD�GI��<ntD<tt0<btL<0D����f.�A9��tH��1���D�	����fD�
���fD����fD�D$�I�D$�J���L��H����V�����I�FI�F�)����H�t$ H����>��A�Dž��X���H��H���V��H�\$ H��� F��A�F��A�FI�^���H�l$A�����I�F�C���L��1�����1�����H�
����H�5��H�=�� >��H�
y���H�5��H�=���>��H�
Z���H�5��H�=����=��H�
;���H�5a�H�=����=��H�
���H�5B�H�=C��=���H�5،H�=`A��:ǖ�VR��H�$��:ǖH��H��1���W�������H�5w�����R��H�
����H�5׋H�=؋�9=���!`��@��H��dH�%(H�D$1�H�D$dH3%(uH��H��1��[���eR��D��USH��H�dH�%(H�D$1���t$H���E��H���H��H�]��t#�DXu�1�H�T$dH3%(uH��[]������Q��@��AWAVAUATUSH��dH�%(H�D$1�H��H����I���H����t{��:tv������wlI����C������E1�E1��!P���
H��H���H���[���U��u1H�$H9�t(�:u#H=��w��M����I�t$L���[fD�H�L$dH3%(�H��[]A\A]A^A_���;[t{H�5��H���W���<:I��H�p��H��t&��T��I��H����M��u"M�}1�A�.녾��T��I��H��tyL��H��L���{[����f��]H���SM��H���o���L�{I��M)��x:�
���H��H���������@H��H��Y���I��H�����f������P���USH��(dH�%(H�D$1�H�~H�$H�D$t"H�D$dH3%(��H��([]��H�~H��t�L�H��H��H��H�����B����x�H�ŸH�{H�t$H���A��H��uH�4$H�|$H�T$H���bU��H��t5H�|$H��t�Z��H�<$�A��H�{�A��H�C�M����H�<$��@��H�D$H�CH�D$H�C�&����O��SH��H��H�?dH�%(H�D$1��@��H�{�@��H�{H��t�	Z��H�D$dH3%(u
H��H��[�|@���N���UH��SH��dH�%(H�D$1�H��t%H�?H��tH���
DH�;H��t�c���H��u�H�D$dH3%(uH��H��[]�@���:N��f.�AWAVI���AUM��ATM��UH��SH��H��(H�t$� dH�%(H�D$1���Q��I��H����H��H��ur���Q��I��H��t{H�t$H��L���X��I�H��tI�>I�WH���lU��H��uVM�g1�M�}H�L$dH3%(uKH��([]A\A]A^A_�fD��>Q��I��H��tH��u�I��@I�L���9������-M��ff.�f�AWAVAUATUHc�SH��H��H�H��x�� dH�%(H�D$h1�H�D$(H�D$0H�D$8��t(H�t$hdH34%(�wH��x[]A\A]A^A_�DL�=a�(I��H�8L�d$@L�-��H�T$(L��H�D$XI��L�l$@H�D$HH�.=H�D$P�>3��=`ʪt���I��I�~8H�T$8L��H�D$8H�D$HH�I�L�l$@H�D$PH�D$X��2��=`ʪt����I��I�~8H�T$0L��L�l$@H�D$HH�	�H�D$0H�D$PH�D$X�2��L�l$(=`ʪt:��t6fDL��D$�$C��H�|$0�C��H�|$8�C���D$����M����M�UM����1��	fDH��H�GI�|�u�H��L��M����I�<$��L���DH�:H��tH�HH�xH�L$H��u�L�T$��N��I��H���yL�T$M����I��I���1�H�D$f�I�$L�׾:L�T$�G��L�T$H����H�HH�|$L)�E1�H��M��L���[�������H��I��M�T�M��u�L��M��t+I�$H��t"L����H�H��tI��H��H��u�H�D$H9���H���H�D$M��1�I��H�D$M�4$H���I�E1�H�D$�fDI��I9���K��H�|$H�0�RJ����u�L������L9���I��L9d$u�L��I��H�L���h;��L��L�l$8M��trL��M�4$M��tZL��@I�I�}H�D$H���;M���fDI��I�?H��� H�t$�I����u�L���*���H��L�uM��u�I�$L�d$0M����L��1�M�,$I�?��H��I�<�u�M����I��E1�H�D$K��H��L9�w�@f�H��H9\$t3H�L��H�T$H�9H�L$�I��H�L$H�T$��u�H�H�
I��H�I��M�,$M��u�O�$�L9�v"K��I�,�@H�;H��t�S���H��H9�u�I�$L�l$(1����fDL�l$(�v���fDM�4$I�����L���d���M�4$�M�4�H���6����H�5�H�=?�;G��L�T$����L��H��1�L���L������@L���D$����L�l$(�D$���fD�1��?���@H�D$�r���fD����fDM�������M���
���M��E1����1������@G��H�
I���H�5|�H�=~��1���AWI��AVM��AUI��ATI��UH��SH��H�>dH�%(H�D$1�H����H�?u�@H��H�XH�<�u�H�4���N��H��t`H��L��H��H�\�H�I��8��H�T$dH3%(uaH��I��M��L��[H���L��]H��A\A]A^A_�,���@H�L$dH3%(�uH��[]A\A]A^A_�@�1��b����F��ff.�@��AWAVAUATUSH��(dH�%(H�D$1�H����Lc�A����D��I��I��I�������uyI�EH��I�\H��u�%�H�}L���F����txH��tH�+H��u�H�C�(J��H�5S�H�=���D��M�����L��H��H��1��OJ������H�L$dH3%(uJH��([]A\A]A^A_���אH�ٸ(H��L���D$J����H�UH���v���I��D$���D��ff.���AWAVAUATUSH��8H�T$dH�%(H�D$(1�H����Lc�A����D��H���x����D$����I�EH��H�\H����L�3M����1��	fDH��H�GH�<�u�H����$H��H�D$H����E1�L�%�(�f.�L�3M��t+K��L��H����I�FH��t
H�L$J��I��H��u�H�D$H�t$H�0H�L$(dH3%(�D$uGH��8[]A\A]A^A_�D�D$��fD���yG��H�D$H��u��D$��C����H��dH�%(H�D$1�H�D$dH3%(uH��H���5���GC�����H��dH�%(H�D$1�H��tC��w>Hc�H��H���D7��u+H�D$dH3%(u5I��H�t71�H�������H�T$dH3%(�uH����B�����AVAUATUSH�� dH�%(H�D$1�H��������Hc�H��A�H��H���t��uZI��I��H�|$H��L��|H�?��A��65����x*H�t$L��H�T$�J��H�|$I��A����3��E��t;H�L$dH3%(D��uLH�� []A\A]A^��A����H�L$H��H�tE1�L�����H�|$A���3����A��@��AUI��ATL��UH���SL��H��dH�%(H�D$1�fDH�;H�����H9�u�I�� 1�IDžIDž�H��I)�A��$����H�H�D$dH3%(uH��[]A\A]��A��AVAUATUSH��dH�%(H�D$1����H�FH�H����I��I��A�ԋw ����1ۅ��I�E1�H����H��9�|�ۿ�HE��nD��H����I�F1�A�^E��tA�m����A�E ��~TI�M1��f.��H��A9] ~6I��I��J�!�P��t�H�p��I~H���K��I�MB�T!�A9] �1�H�t$dH34%(ujH��[]A\A]A^���_��� ����5����I�u��H���J���S���D�륾��C��H��t�I�F1��(����?��ff.�f���H��dH�%(H�D$1�H�D$dH3%(uH��H��H�ֺ�4����??��ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��H��H��1������>��f���H��dH�%(H�D$1�H��8H��t�@$H�T$dH3%(uH���@������>����H��dH�%(H�D$1�H��XH���H�T$dH3%(uH����`>����UH��SH���H��dH�%(H�L$1ɋ����uN��xH��E1Ʌ�uL���H��0L���H�HX���H�v����ppSAPL�@`�PhH�� ��uH�]1�H�\$dH3%(uH��[]���=��f���H��H��E1�E1�dH�%(H�T$1�H��0���H�q���1�ppjj�PhH�� H�D$dH3%(uH����^=��ff.���H��dH�%(H�D$1�dž�H�D$dH3%(uH����=��@AUI��ATA��UH��SH��H���6H�?dH�%(H�D$1�΃�Hc�H���E��H��tgI�EE��t1A�L$�H��H�|�f�HcMH���q�uH�r�H�4�H9�u�HcUH��1�H�\$dH3%(uH��[]A\A]�@����\<��ff.����USH��(dH�%(H�D$1�H���t\H��H��H�t$H���i9����tH�T$dH3%(u<H��([]�fDH���H�T$H���&��H�|$�D$�#���D$뻸���;��@��SH��H���dH�%(H�D$1�H��tCH����"��H��H��t3H���G��=�u$H�D$dH3%(u,H��H��[�_9���1�H�L$dH3%(uH��[��;;��ff.���H��I��	H��dH�%(H�D$1�H�5>�����t+H�D$dH3%(u2I���H��H���8��1�H�L$dH3%(uH����:��@��H��dH�%(H�D$1�H�D$dH3%(u	H�������z:��f.���ATI��UH��SH���H��H��dH�%(H�D$1��@��H�D$dH3%(uH��H��L��H��[]A\�i;���:��@H��dH�%(H�D$1�H�H����H����L�E1�I�H��tEH�@Mc�D�E��tD9�tIH���H��D9�t7D�E��u�I��K��H��u�f.�H�t$dH34%(u$H���H�FJ��H�H�J����@1����W9���AUI��ATUSH��H�dH�%(H�D$1�H��t2I��H��DH�C H��t	H�s`L���H��H����*��H�]H��u�H�D$dH3%(uH��L��[]A\A]�*����8��f���I��H��I��H��H�5��	L��dH�%(H�D$1������t%H�D$dH3%(u/I���L��H��钕f�H�L$dH3%(�uH����Q8���AVAUI��ATI�Ժ�UH��SH��dH�%(H�D$1�H�$�)'��H����H���H��tH�H�PH�5sH��1���9�����;��H�ŸH��tRH�,$�oEH�CH�ED�sM��uR���;��H����H�EH��L��L���s�����uO1�H�L$dH3%(uiH��[]A\A]A^�L���H�[�/;��H��H��t7L��H��H���)B��H�E�H�$H�x��(��H�<$��(����H�E1����6��ff.�@��AWAVAUATUSH��dH�%(H�D$1�H���H�$t#H�D$dH3%(��H��[]A\A]A^A_�H��H�
�a�H��q�&��H�
�a�H��H��q��&��H�
��H��H��q�H��H�
1�H��H�A`�-��H�
6Q�H��H�qq���H�
�9�H��H�[q���H��H���w3�����#���H�,$L�uM����1��
f.�H��H�BH�|�u�H�z��9��I��H���E1�@�h��a9��I��H���;H����H��A�օ���M�uE�E��tZI�7H��1�H��t>H�@Hc����t$D9���H���f�H��D9������u�H��I��H��u�I��E�E��u�I�EI�E`H��t
I�u`H��Ѕ�uZO�,�K�D�I��H��L�uM���$���H�,$K��H���� ��H���H��tYL�8H��H��������L���D&���f�H���tI��I�UH�5�oH��H�1��*6��A����z����F���H�,$H��H�����L��H�������_�������7��I��H���t����O����3��fD��ATA��USH��H��dH�%(H�D$1�H�}H��tq���u�if�H��H�X����u�H�4���;��H��t0H�ED�$�H�E�D�1�H�T$dH3%(u#H��[]A\Ð���f��1���B3��f���USH��H���dH�%(H�D$1�H��t#H�3H��H��t���H����$��HDž�H�D$dH3%(uH��[]���2��ff.���AWAVAUI��ATI��USH��L���dH�%(H�D$1�M�������i6��H��H��tyL� I�H�8��E1��@I��I�~H�<�u�1��.6��H�E��H��I�H��H��H�A0H��t
HUH�q`L���H�CL9�u�I��H�D$dH3%(uJH��[]A\A]A^A_�f����M��$�M���2������1��5��H�E��1��f���AVAUATUSH��H��dH�%(H�D$1�H��tXI��I��L���H9;uM��ueI��$�tH�5+mL��1��!3��H�{�#��H�{�"��H���"��IDžH�D$dH3%(u`H��[]A\A]A^��I�6H�{H�H��t�1��H�/H��tH�H8H��tH�p`L���H�{I�6H��H�.H��u��o����0�����SH��H��dH�%(H�D$1�H��tH��H9:uH�L$dH3%(u<H��[�D�H�5tlH�=���/���H��H��1��.5�����"0��f���AUATUSH��dH�%(H�D$1�H���H����I��H��t	���H�H�H����f�L�`M��tzA�,$��tr�A�u8I�}@��~";/tOH�G�V�H���H��9h�t6H9�u��Hc�H���7��H��tIcU8I�E@�JA�M8�,�IcU8��I��A�,$��u�H��H�H���m���H�D$dH3%(uH��[]A\A]��/��ff.�f���H��dH�%(H�D$1�H�D$dH3%(uH�>H��鬋��.�����H��dH�%(H�L$1�H��t#H�|$dH3<%(u*H��H��H�8H����1�H�L$dH3%(uH����t.��@��H��H��dH�<%(H�|$1�H��t(H��H�T$dH3%(u/H�8H��H��龍fDH�|$dH3<%(�uH����	.��f���AWAVAUATI��USH�ӺH��H��XH�|$dH�%(H�D$H1�H�D$����H���8�PH�@H�t$H�|$ �D$ ���T$$H�D$(�]%��H�L$I��H���GI��$0��:ǖ�P8���pH�$L�91�A��M����H�4$H�,�H�@@A�;<(tC�&/����I��$0AE�I��M�>M��uԋ$�Q9P8��L�t$L��M�>�=D��.����uD�4$I��$0A��D9p8�WDA�GI��$�H�|$H��A��$��/��A�G�����I�OA��$�ADŽ$���I��$�I�GADŽ$xL�t$I��$�H��L����.���AoG���A�$�I�GI�G I���t!A��$�I��H��1�H�|$H�5�h��-��L�t$1�H�|$L���5��H�L$HdH3%(���$H��X[]A\A]A^A_�f��4$�~;x8�Q�H�$�V������IDŽ$�I��$�ADŽ$x����H�|$�H���z��H�������PH�@H�t$H�|$ �D$ ���T$$H�D$(�J&�����H�|$�H���3��H��H����H�\$M��$�L��H���-���UH�EH��H�t$0�D$0���T$4L��H�D$8�&���Å�����}
t}H�|$ADŽ$xH���t7�ML��H�5�f1��x,�����H�|$�
H�����H��H���^���1����M�������H�L$��I��ۃ㩁��8i�V���M��$�A��$��@L��I���Z��H��tL)�A��$�A��E��tA�E�A�<uA��$�H�|$I��$��m,�����-��H��t"H���I��$�I��$����������)�����AWI��AVA��AUM��ATM��UH��SH��H��8dH�%(H�D$(1�I�H���tL��H�5)f�,+��H��H���H�L$ D���!�I��H���H�D$H�@HH���7L�T$H��I�r`I��H�T$ L�3�(H�H��R�s`�sXATAWAV��P��H��0H�T$p��L�T$XH��PH���A��tI�E��D��H�5�eH��1��w*��E��t2D��H����H�|$(dH3<%(D����H��8[]A\A]A^A_ÐH�T$H�����D$H�:�t��D$H��H�|�u�H�L$H�T$L��H�����A�Dž�uTH���H�T$tH�56eH��1���)��H�T$I�U�W���fDE1�H�������A�<:ǖ�*���@H�t$H���3������A�<:ǖ�����'��fD��AWAVAUATUSH���L$HL�D$L�L$dH�%(H��$�1�I��D$TH�D$XA�H����H���H��H��I��tH�5�d1���(��L��H��H������A�Ņ�t,H��$�dH3%(D���[H�Ĩ[]A\A]A^A_�H�D$XH�L$TL��H��H��H�L$ H�D$(�^�A�Ņ�tH�t$XH���2������L��H�����H��tpL�{pM����H��0H��$�H��H�p�#1����tH�t$XA���DE1��<����I�wH�����H��$�E�wI�GE���H����H���H���CH����ǀM�<$M����M�t$H��$�L�$$M��I�����A�W��t9�ucH��H���L����H��tHL�XXM��t?H�p`AWI��L���(��PH��H��0H��$�H�A��H�� �������I��M�|$�M���y���L�$$H�;H�T$hH�t$`�)��H�|$`tH���菁����H��$��$1�H�D$8H�D$xHDŽ$�HDŽ$�H�D$L�d$@D�l$LA��H�D$@L�8M���^L�`H�D$pH�D$0��fDE����H��I�v`I��H��H�D$xL���(�t$8�s`�sXAW��P��H��0H��$�H�A�V@�D$@H��@H����>H�T$pH����$=�:ǖ�s����E��E��t����E����H��$���$��tE��tA�wH������$���#M�<$M��tpI��A�WE��t�����t9�uBH��H���H�L$�v�I��H��t"H�@(H���qA�wH��Ѓ�D9�����M�<$M��u�A�����T$HD�l$L����H��$��H�|$8A��:ǖ�	,��H�t$X�m������N��H��H�D$xH���*D��H�L$H����H�H��M�wH�$�&��H�$H�L$H����L��H��H�$�-��H�$H�t$ H�T$xH�|$(H�AA�G�A��j����g���H�T$x�$H�z�1��H�|$x�'���$�����H���H�t$hH��T$`���&��������H�:������H��H�|�u�H�t$ H�|$(����$���<H�|$p��������@H��A�OH�@H��t.���t(9����H����H��9��������u�H��I�v`I��H��H�D$xL���(�t$8�s`�sXAW��P��H��0H��$�H�A�V@�D$@H��@H��������L��\A�OD�$H��1�I�H�5�^��"������D����fDL�jV��H�T$8�4$H����V�����H�����H�t$XA�����H�D$XH�|$H�D$XH���DH�t$XA�����H�|$8�f)���$����H���H�T$XtH�5%^H��1��+"��H�T$XH�D$H��=���f�1��'���H�|$A�GD�l$L�H�|$8�(���L�t$8H��A��:ǖL���V���H�5S[H�=C����=���޺�:ǖH��H��1����L���(��H�t$X����A����H�t$pH���+��H�|$8�(��H�t$XD�,$������f���AWI��AVI��AUI��ATI��USH��(dH�%(H�D$1�H���H����H�(H�]H��t2fDH�CPH��tH�s`M��L��L��L��Ѕ�u9H��H�]H��u�E1�H�L$dH3%(D����H��([]A\A]A^A_��H�5NZH��D$H�=����D�D$H��L��H��1�D���	��D�D$�f.���I��$�H���8����H�5n\H�=�������L��H��1��P#��A��D����@����H��L��dH�%(H�D$1�A�P@H�T$dH3%(u1�H������D��AWL��AVAUATM��UL��SH��H��hH��$�L��$�H�D$dH�%(H�D$X1�H�D$A�PH���wI��H�T$L��H��UA�Dž��A�F���OL�t$(L�D$,1�L��H�D$ L��H��H�D$H�U(A�Dž���L�l$ E1�M����L��H�����H�D$ E���\L�l$0H�t$ L�����I�uH��A���{��E��uk���� ��L�t$ I��H������� ��I�EH����A�NL��H�߉HI�N�@�H�HH�D$I�FL�(�UXL�t$ E1�L���K��L��H���`��H�t$H��tH���n��H�L$XdH3%(D����H��h[]A\A]A^A_���D$4H�L$L��H��I�FL�L$L�6ZH�D$(H�8ZH�D$8�g��A�Dž���H�D$8H�l$(H���e���H��H���&���U���DE1�E1��2���DH�t$ L���C��A�Dž��N���H�L$L�L$L��H��L��YH��Y����A�Dž�� ���H�L$ H�t$L�D$0H�ߺ6���L�l$ A��M�������
����A�����DA����DL�d$0H�t$(L���(��H�l$(H�D$8A�Dž������}I���*��D�l$4H�D$8H��t;H�t$1�M��I��7H���'��H�|$8A��tL��H�����H�l$(����A���������H��dH�%(H�D$1���uCH��UH�H��(H�AH����H�AXH�<���H�A@1�H�T$dH3%(u
H��Ð���������@��AWAVAUATUSH��H��hH��$�H�$dH�%(H�D$X1����H�D$H�D$@A���H�D$H�D$H����M��M��H�T$ L��A�PE1�Ņ�uEH���tH�T$ H�52XH��1��P��L�|$(L�D$,L��H��L���E1�A�V(�Ņ�t[H�t$H���.��H�t$H���!��H�|$H�
��L����
��H�L$XdH3%(����H��h[]A\A]A^A_�f.�H�t$L���
���Ņ�u�L�T$0H�L$H�t$ H��M�кL�T$����Ņ��d���H���L�T$t(HcT$(L�D$M�J1��L$,H�5uWH���]��L�T$H�t$L��E1�����Ņ��������/��I��H��tg�����H����H�T$I�EL��H��H���H��J�HH�JH�HH�$H�BI�EL�(E1�A�VX���f�����fDH���tH�5V1�����H�5DV��:ǖH�=�������:ǖH��H��1�����e���@I�E��#����i��f���H��dH�%(H�D$1�A�����uL��A�P@1�H�T$dH3%(uH������f.���H��dH�%(H�D$1���uCH��@H�H���(H�AH�w���H�AXH�����H�A@1�H�T$dH3%(u
H�����������@UH��SH��dH�%(H�D$1�����H��t=H��H���"�����u
H�����1҉EH�L$dH3%(��uH��[]�����4��@UH��SH��dH�%(H�D$1��R���H��tUH��H���"���=�tH�L$dH3%(��u;H��[]�DH������H������H��tH�E1����뻐�����@��S��H��H��dH�%(H�D$1��U��H�H�D$dH3%(uH��[��W�����SH��dH�%(H�D$1�H��t2H�2H�����H�D$dH3%(u-H��H��[����f.�H�D$dH3%(uH��[�����DSH��H��H�(dH�%(H�D$1����H�{���H�{ �}��H�{�t��H�D$dH3%(u
H��H��[�W�����f�USH���_dH�%(H�D$1���tCH�������S�H�H�EH�t�f.�H��H9�t��DQ@u�1��f��H�|$dH3<%(uH��[]����ff.�@USH��(dH�%(H�D$1�H��tI��H�Ӊ�H��H�T$L��������tH�L$dH3%(u-H��([]�f�H�T$H��H���@���H�|$�D$�B����D$���w���UHc�H��SH��H��(dH�%(H�D$1�H�t$�����u"H�T$H��H�����H�|$�D$����D$H�L$dH3%(uH��([]����DAVAUATU�SH��@dH�%(H�D$81��D$M��ttH��I��L�Ϲ��H�I��I��H��H���H�t$L�L$H�D$H�D$H�D$0L�D$ �D$(�'L��H��L�L$ A�L��1�A��1�H�߉��'H�T$8dH3%(��u
H��@[]A\A]A^��:��f.�AWI��AVAUATUSH��XH�|$H�t$H�T$L�D$(dH�%(H��$H1�H�H����H�L$8�1�H�$�K�AVH�QE��1�AUH�|$����ZH��Y����o��H��H�\$8I�D�H��td�L�pD�hA��H�5�PH�=������H��I��H��u��H�5RQH�D$ H�=�����L�L$ H���d���1�E1��H�l$@L�-qP@�L��H�=h��d��H�T$I��H��H�t$H�|$I����������z��1�1�H���I���
��H��A���u{��~�A9�|���Hc�M�4�M��t�H�߉$�h��H�D$(L�0�$�
�S���H��$HdH34%(u8H��X[]A\A]A^A_�f�H�߉$����$��H�����A���.��ff.�AWAVAUI�͹�ATI��USH��H��$�H�T$H��$�L�D$H��L�L$H�D$ dH�%(H��$�1�H�D$PH�D$X�H�M����I��I�uH����I���1�f�I�~ ����H��M�t�M��u��/�����H�5�NH�=�����H�L$XL��I��H�T$I��L���4���H�|$X���������H�t$PH���EI��A�UI����������!�%����t�H�t$(H������D�I�MLD��@�I����
��I)��D$`��D�l$dH�D$hH����H�t$(E1���H�D$foD$`H�\$)H�D$ ���D�hL�pH�D$PH�H��$�dH3%(����H�Ĩ[]A\A]A^A_�H�t$P������L�N M��L�L$(������n�H�5�MH�=j��f
��L�L$(H�|$XH�AMH��A��1���������t�����f������[���fD�H�5OMH�=��
��H�T$1�L��H��$�I��L��I�����A�Ņ�tWH�t$`L��D����������@H�T$L�D$PL��L��L��� ����Ņ�����H�D$XH�t$PH���������H�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H��A������A)�I��H���?���A��L���I�UH����1��@H��H�AI�|�u�H�y�H�T$@�v��H�D$(H�������H�T$@L�|$H1�L�t$0I���l$<H��L�d$@I��DH��Y(Hc}(H�D$pH�AZ(H�D$xH�%Z(H��$���x@H�ًH����������!�%����t������D�H�qHDΉ�@�H��H)�H9�u6�},w$I���fDHcE,I���T�p��tA�?@��u�I�EK��I��I��I�mH���J���L�t$0�l$<L�d$@L�|$HH�D$(H�0H����H�D$(H�x��H�L$(H�T$L��L��H�D$PL�D$P�#���H�|$(A������E��u1H�t$PH���!���H�
�K�H�5�JH�=�J���@D�����������H�D$(H���T�������H��H�t$PH�t$0���H�t$0�����
��H�ǽ�:ǖ����H�5�JH�=��
����:ǖL��H��1��������f���AWAVAUATUSH��L�D$H��$�L�L$dH�%(H��$�1�H����H�ӋPH�@H��H��H�|$p�D$p���T$tH�D$x�B�����t.H��$�dH3%(�H�Ę[]A\A]A^A_�DH�L�p H�D$(M�.M����M�f1��L��H��I���a��M�l$�M��tjH��M�<A�E����u�I�}Pu�A�EX��y�I�}H�T$����t�I�}����t�A�},t�I��M�/H�T$H��M�l$�M�|M��u�I�I�>�H�D$(L�t$H��H��HH�\$L�` L��L�d$8�SHH��HL��H��H�D$ �SHH��HL��H��H�D$0�SHI�$H�D$H���mM�t$I��H�\$@E1�H�\$0M��H�l$0L��L�t$HL�|$ �)@L��A�����I9���I��I�m�H����M��t�U��u�H��t2�UD��t+H��H�T$ �n���H�T$ H9�u�H�}HH��������u�@H�|$H��t6�U4��t/H�T$ �5���H�T$ H9�u�H�}8H�t$������q���DM����I��I��I�m�H���`���H�\$@L�t$HH�l$0M��td1�H��L�|$8H���H���X��I��I�v�H����H��M�,I9�u�M�eH��M�l�����X���fDH�l$0H�D$PH�|$PH�D$XH�D$`������H�D$(H�xH��tJH�D$(H�T$X�p�>�������H�T$XH�|$PH�5���H�|$X�D$���D$����H�|$`�������H�D$(�L�d$hL�-S�H�@ L�0M����H�l$L�|$(@L���(��Ņ�uBA���t����������H�t$h���@E�L�����Ņ�tpH�|$h�l$����D$fDH�|$`�D$���H�|$P����D$����H�}L��L���	�����e����}���@I�E�x���I�vA�~H�
~EH�T$h�����m���I�v A�~H�
C�H�T$h����J���A�~(H�t$h���tH��>����&���H�t$hA�~,�G���v ���tH�%E���������H�t$hH��A�~4I�v8H�
�D�.������I�vHA�~DH�
�DH�T$h��������L�t$hH�|$`L���o
��L����������I�G L�4H��M���(���H�l$H�T$`H�|$PH�5tD�M����m���H�|$PH�t$h���H�|$`�D$�8�H�|$P�.��D$���T���H�D$H�L$hH��?H��H�t$�P0H�|$h�D$�����D$�!����M����������H�5�CH�=e��a����:ǖH��H��1�������:ǖ����������AWAVAUATUSH��H��$L��$H�D$H��$H�D$dH�%(H��$�1�H�D$8H����L�*H��L��M��H�L��A�PH�D$ H���,���L��H��H�D$hH�D$`H��>H�D$PH�D$X�U8M�} H�D$@H��t#H�t$@H���<������H�|$@��M�} L�L$PH��L��L��L�L$H�D$hH��E1�H�D$PH�T$ L�D$H��^_A�Dž�uyL�t$8M����A�~,������q��I��H���eA�I�vH��L�T$I���%@A��B���L�T$��A����L��H��E1���@H�4$H�����H�t$H�����L��H���|�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�H�|$@�
��=��KH�|$@��H�D$PL�t$8H�$H�D$`H�D$M������E1�A�O���A�OD����A�O4���IH�t$HL������A�Dž��1���L�l$ H�D$pH�L$HH��I���-H�D$L�����H�t$HH��A���*���E����foD$pL��L��H��fo�$�AFAN(�U A�Dž��������A�����I��H������������I�EI�EH��t#�@�H�t$L�����A�Dž���I�EH��A��_�L���W��B���f�A�F,I���I�v0H��A����B���L�T$��A������I���I�v@H������L�T$��A������I�BHH�4$H��H��H�D$(���L�T$��A�������A��tEL�t$h���M���PH�t$I�RXH��L�T$���L�T$��A���l���fDL�|$8M�����E1�A�_�Z���f.�M�G1�H�|$p�H�UA�d������H��H�L$pH�?L��UPH�|$p������M�G81�H�|$p�H�A��������H��H�L$pH��>L��UPH�|$p����o����M�GH1�H�|$p�H��@�����7���H��H�L$pH��>L��UPH�|$p�}������A��y���DH�|$@H�T$4H�5b>������n���I�?�d����T$4������I�GI�T��fDH��H9�toH�8I��u��-����A��	���DE1�A�����f�H�|$pI�UH�OH�J�OI�U�J��H�D$L��H��L�(�UX���f.�H�D$HH�|$@H�5Y�H��H�$����uH�T$HH��H�T$��H�T$H�|$@�D$p���D$tH�T$xH�$H�5d=�B�����L�t$HL���}��D$`���D$dL�t$hfoT$p)T$PI�H�D$8�Y���@H�|$@��t������M�} ����M���S���H�t$(H��L�T$�y���L�T$H��1��t$`D�L$d�H��<L�D$xI�zP�L$t��ZY��L�T$x>A�B\ABL������Z���H�t$pH���������L��H��A�����>������L��H��E1�I�BHA�I�BP�������O���ff.�@��H��dH�%(H�D$1���ucH�{7H�APH�H��p(H�AH�_�H�A0H�t�H�AXH�	���H�A@H���H�A81�H�T$dH3%(uH������������@��AWAVI��H��6AUATUSH��8dH�%(H�D$(1���H����H�t$ H��H�D$ ������xH�|$ �^��=��cH�|$ H�5	;�r�I��H���FH���.��=��3�����H��H���L������H�x����H�EH����H�|$ H��H�5�	1�����D$��f�L���H���H9��L��H�����H��I�����=��VH�E�0�L�<�L�H�D$�;���H��H���H��H�5��L��H�D$��H�L$����H�QH�5�9L�����H�L$����H�QH�5��L�����H�L$���iH�QH�5J3L���6�H�L$���X���@H�QH�5�9L��H�L$��H�L$���:���H�Q H�5Q9L��H�L$�J�H�L$����H�Q(H�5%9L���)�H�L$����H�D$H�H�EJ�<8tH���|���@H�EH��t*H�8�H��u�H�<H��H��t��H�EH��u�1�H����H����H�|$ ���D$H�\$(dH3%(�D$ufH��8[]A\A]A^A_�I��D$���H�|$ �F�I�.볐H����1��)�����A�������@�A���������O���ff.�@��AWI��AVI��AUM��ATI��UH��SH��8dH�%(H�D$(1�H�|$H�D$����Å�t6H�|$���H�L$(dH3%(���&H��8[]A\A]A^A_��H�t$H������Å�u�H�|$H�T$H�57�G�H�|$���K����u�M��tAH�t$L�����Å��u���H�|$H�T$H�5����H�|$���	�����K���M��tAH�t$L����Å��/���H�|$H�T$H�57��H�|$������������H�|$H�t$ �\��Å����H�|$���H�L$ L��L��H�%2��H�|$ �����������ff.���USH��dH�%(H�D$1�H��taH�BH��H�8H��t �D��H�EH�<H��H��u�H�}��H�}��H�D$dH3%(u'H��H��[]���f�H�D$dH3%(uH��[]�����@��AWAVAUATUSH���odH�%(H�D$1���t'H�D$dH3%(��H��[]A\A]A^A_�@H��H��I��I�������t�C�f�L��A����I��H�H�8tI�T$N�< H�|�tI����I��E1���+����H��D�kI�H�J�, H���S���L���"�H�EH�J� H�8tD�p�1�����C�������ff.�@��AVI��AUI��ATI��H�5�/UH��SH�� I�<$dH�%(H�D$1�H�$H�D$H�D$��TH��H	���H��H��4H�t$HD����Å�t@H�|$���H�|$���H�<$��H�L$dH3%(����H�� []A\A]A^�H�|$��!��=�u�H��tuH�t$H���H�Å�u�H�T$H�|$L������Å��v���H�|$H���9��Å��_���H�$H��.L��L�������B���f�1��V���f�1�������ATUSH��dH�%(H�D$1�H��tH�:H��H��tHH�H��tB1�E1��D��L�$�H��H��t#H�8�����H�EJ�< ���H�}H��u�1����H�D$dH3%(u.H��H��[]A\��DH�D$dH3%(u	H��[]A\����f���AVAUI��ATI��UH��S1�H��0dH�%(H�D$(1�H�H��-��H��tH�t$H�����Å�t*H�L$(dH3%(����H��0[]A\A]A^��������H�|$I��H�����[�����Ǹ��D������H�|$H��t@H�T$H�5��I�H�D$H�D$����\$H�|$��u���M�u�Q���I���g��L��L��H������*���@�����@H��dH�%(H�D$1���trU�������������TH�D$dH3%(�l�H�5D2H�=|�H���t�@����������H�D$dH3%(��H�5%2H�=-�H���%�D����H�D$dH3%(���H�51H�=�H������H�D$dH3%(���H�51H�=��H����H�D$dH3%(u|�H�5,1H�=��H����@H�D$dH3%(uL�H�5�0H�=\�H���T�@H�D$dH3%(u�H�5T1H�=,�H���$���ff.�@��AWAVAUATUSH���H��$HL�D$L��$@L��$ H�L$H��$PH��$8H�L$dH�%(H��$�1��D$<H�D$@H�D$HH�D$PM���4	�PH�@H��H�t$@H�|$`L�͉T$dH�D$h�0��A�ƅ�t1H��$�dH3%(D����	H���[]A\A]A^A_�DH�|$@H�t$H�I��H�t$@A�ƅ��IH�FH���	H�8��H�D$HD�xA�� ���xt�t����H�D$H�H��xI�PtH���L��H��I�u���L����upPH���PL�D$(�UhA��H�� ����H�D$HD�HA�Q���b��L�p��d�dH��$ H��L��/H�D$(H��1�AV��H�D$XA^ZD�H4E���:A��c�0H�P8L��$�H��1��dR�d�L��L�`/��H�D$X�AZH�5/A[�PT�z���6wH�pX�ыPD����H���H��I��L��$H��L�/VL�׾dQ�dR�P1�AWL�T$XL��$��2�L�T$XH��H��$�H��$�L��$�DŽ$�dDŽ$�L��$��D$hH��0H�t$8��L��H�T$ H��L��$�A�H�t$A��A�ƅ���1�H���D��xE����DŽ$�L���H�D$H���L���D�@H��E�������,H�Up�ptM��L��H��H�R����A�ƅ���H�D$H�@@���$�����H�t$@L�~L�l$<I�H��tG@�x���t+M�H�L$@M��L��H���	����a�D$<��uI��I�H��u��T$<���fDŽ$�2��H�D$H�Pp��$��@@��foT$p�$�L�|$PH��$�L����A�ƅ���H�D$Hf���H��)�$�H�L$XL��$�)�$�HDŽ$)�$�)�$�P��$��P��$��oH )�$��@p��$H�D$P�P�L�A�ƅ��1H�|$X��$������H��$H����L�D$PM�M 1ɺL��H���r�A�ƅ��.H�t$PH���:�L��L��H�D$P���H�t$@H��A���V�H�t$HH�����I�u0H����E��������J��L�l$PI��H������/��I�$H����H���L��H�A�U�PI�UH�P�~��H�D$H��H��I�D$L� H�D$�PX���f.��x���H��H�D$HD�H4E�����xH�T$(����H���n��H�T$(A������H�t$PH��A��� �H�t$@H���S�H�t$HH�����������H�5�*H�=\��X�I��H�D$HD�HE�����H�5�*H�=/��+�H������A���������H��H�O*L�
L*�T���DH�t$@H����H�t$HH�����1�H����n����H�����Z��������qtM��L��L��H��������$�A�ƅ���H�t$@E���/�������A��H�@HH��)L�
�)���fDA��c���������f�A��c�c��������L��$�I�uH��L��M���v�A�ƅ��E����f���fDHDŽ$�DŽ$��%���@H�t$@H����H�t$HH�����H�t$PH���9��K���@H�t$@H���c�H�t$HH��������$�������H��$���������DL��H�����H�D$HDž������ptL��L��H��L��$�L�D$�r��A�ƅ��w���H�T$L��L��H���T��A�ƅ��Y���H�t$H���\�����H��$��C���L���fDL��H���-�H�L$HDž�����f�H��$����H�t$@�D���H�t$@H���L�H�t$HH�����H�t$PH������I�u0H���v����A��:ǖ���H�t$@H��A���H�t$HH���f��H�t$PH��������H��A��:ǖ���H�t$HH���9�����H��A��:ǖ��H�t$HH������{���H�t$@H��A��:ǖ��H�t$HH�������V���L��H��A��.���@���L��H��A����L�������"���H�t$@H��A�:ǖ�8�H�t$HH��������������H��dH�%(H�D$1���u;H�& H�H�zY(H�AH����H�A@1�H�T$dH3%(uH���@��������f.�f�UH�պSH��H��(dH�%(H�D$1�H�L$����t!H�EH�T$dH3%(u-H��([]�f�H�t$H��H����H�|$�D$�����D$�����H��dH�%(H�D$1�H��tWH��tR�O;NtH�L$dH3%(uQH���D���t݃�H�vH�H��t�b���������1��@�#���������t�@��H��dH�%(H�D$1�H�D$dH3%(uH��H��H��1��7����2�f���AWAVAUATUSH��8dH�%(H�D$(1�H�D$H�D$ H���kI��H���_I��H��A���tq�~$
�wA�~$
��A�N 9M t^E1�H�t$H��tL���3��H�t$ H��tL���!��H�L$(dH3%(D���dH��8[]A\A]A^A_��N E1�9J u�A����E��1�A��A����~Hf�H��H�}H��H�IvE��tAE��ut�V9W�`���H�vH�������K���H��9] �A��:�����W;V�$�����t�H�vH��k�������H��9] �v����@��vh�����H��9] �Q�����E1����D��L��H��L$�n����L$���������DH�T$�������w���H�l$�m���@H�T$ L��L��������\���L�t$ �R��������H��dH�%(H�D$1��G����H�T$dH3%(u��H��������H��dH�%(H�D$1�H�D$dH3%(u1�H����������H��dH�%(H�D$1�H�D$dH3%(u�H���Z���U�D��H���~@�NDdH�%(H�D$1����A��A����A����tc9���A��1�A��A	�u*������������fDH�|$dH3<%(�8H������%��9�A��=��u	E������u	E����=�����%���=���A��1�A��A���u�A��A��A����r�����9��g�������~@�T���@1�9����D���@�ȃ�=�t ��������t�A�����������~@�������%���=����Y�����9��N����w���fD�����fD��%���9������M������ff.�@��AWI��AVI��AUATUH��SH��H��hL�ndH�%(H�D$X1�H�D$H�D$PH�D$0M����H�VH��t(L�D$@L��L��L�D$����A�ą���L�D$M��L�cM��t8H�S H��t/H�\$ L��H��H�����A�ą�uRI��M��u
M��u,�@fDL��L��H���������M��tM����L��L��H���������E1�H�|$0�1��H�|$P�'��H�t$H������D��H�L$XdH3%(uwH��h[]A\A]A^A_��L�fM��tH�V H���3����P���DH��t�H�t$H�����A�ą��x���H�T$L��H���C����]���A�&:ǖ�U������f.����AWI��AVA��AUATI��US�Z�H��H��8dH�%(H�D$(1������H����H�t$L��H�ʼn\$H�D$�3������u]��tTE�N�1��>L�7�DH���T5����D��D���D�A��f����)���A�A�4H�FL9�u�A�H��L$����L$H�\$(dH3%(��uH��8[]A\A]A^A_����f.���AWAVI��AUATUSH��H��H�L$(L�D$0dH�%(H��$�1��F@H�H�D$P�D$��
H�D$X�D$$M��u����D$���D$ tI�~p��H�t$PH��1�����$��t^H��H������H�t$PH����H�t$XH�����H�|$X���H��$�dH3%(�$��H�Ę[]A\A]A^A_�H�D$PM�n8H�D$hH�D$XH�HH�L$���H�L$`M����D�`$��E��IE��G��H��H����H�D$hD�d$dM���xL�|$`L�D$1�L��M���H�����A��1�E����uDH�t$XL���O���A��H�l$hH��t�T$dH����H�����E��tHD�,$1�����DI�v(H��t"L�D$1�M���H���H��A��1�E������t���H�D$X1�I��H�D$PH�D$H�@H�8u
�}DH��H�WH�,�H��u�H���H�T$�5��H�D$8I��H����H�D$`L�t$HE1�M��H�D$H�l$@�
DI�I�V H��J�,�H�PH�u������uI�H�uH��H�P�����ZI�H�uH��H�P������?I�H�u8H��H�PH������$H�D$H�t$H�@J�<(������H�|$`I�I��I���o@P�@��I�G�����@@I�G����I�G��oM$H0I�G��U �PDI�G�H�@pI�G�H�H`H�@hL9d$���x�N�,�����H������I�H�t$8H��1�����$���fDI�v(L�|$`D��H��������fDI�~(�$���H�t$XH�x �׽��A������H�t$8H��H�l$@�$�C���X���fD1�H��1��,���$�:���1�H���6����L����$�:ǖ�N���D��1�H��L�t$H����H�l$8�T$ ��u`�D$tH�T$XA�FD;B����A�FDH�D$(H�(�D$$1�����H�D$XH�L$0�P��P�Q�@�A���f.�H�D$XH�ߋp�������I�vH�L$pH��L�d$`H�x
������u_H���I�vpH��H�D$xH�D$hH�D$X�P��$��@L�≄$�����H�|$pA�����E������D�$$�����$����$*:ǖ���@������H��H���}���1�H���������������H��dH�%(H�D$1�H��t;�FH����t1H�F����<^u#H�D$dH3%(u-H��H������H�L$dH3%(�(:ǖuH����Y��f���AWAVM��AUI��ATUH��SH��H��hL�f8dH�%(H�D$X1�M���U�C@�
t	M���;��H�D$$�D$,H����J���H�B����<U��H�t$H���)��A�Dž����CdE1���tL�{`H�T$�zH�T$�|$4����H�T$H��H�D$8��H�D$0L�BL��L��I���
H��H�D$���A�Dž����T$4H�|$81��(���H�|$8���H�D$H�x ����H�|$����fDH�L$XdH3%(D���aH��h[]A\A]A^A_�f.�H�{�2H�{p����A��:ǖ�f�L�f(����H�|$H�t$����A�Dž��N���H�D$H��H��H�H0H�P(����H�t$A�Dž����oF�F H��H�VAEH�FH�T$$�D$,����T$4H�|$81��$���H�|$8���H�D$H�x ����H�|$�����C@�uK���
���H�D$$I��D$,A�F����fDH�z A����H�|$������f�D�d$$H��D���������H�D$H�sH��H��H�H�ܿ����uh�D$(H�spH��D�d$TH�T$H�
�H�D$HH�L$8�D$P������uH�|$@����C@�4����H�|$@�D$����D$fDA��I�}����A�EI�E�����T$,H��H�����t%�CD�C@����f�A�(:ǖ���DA�*:ǖ��H������[���A��:ǖ��������AWAVAUATUSH��8dH�%(H�D$(1�H�$H�D$H�H�����B����H�B����<O��H��I��H��H��I���l����Å�t&H�L$(dH3%(����H��8[]A\A]A^A_ÐL�4$�A�~�|$�*���H��H�D$H��t?L�|$I�u(M�F1�M���H���>����Å�t@H�|$H��t�T$1�胶��H�|$�Y��H�4$H������H�t$H���@����U���H�t$L������Å�u�I�UPH�D$�J9H���J9H��H�PH��tAL��H���0������H�D$L��H��H�P����A�ƅ�u~H�D$H�P�RA���D�HE�MDH���t!�HHcPH��H�5L�@1����H�D$I�$H�D$���D��:ǖ���fD�(:ǖ�p���������1�L��H��D����������e��D��AVAUATUSH��0dH�%(H�D$(1�H�D$H����B���H�B����<O��H��I��H��H��I���M����Å�t'H�L$(dH3%(���H��0[]A\A]A^�@H�$�{�|$����H�D$H����L�t$I�t$(L�C1�M��H���"����Å�u3H�t$L���?���Å�u H�D$D�@E�EE;D$HuH�xtV��:ǖ�T$H�|$1��9���H�t$H��tH������H�4$H�����H�|$���%���@�(:ǖ����fDH���t��HHcPH�5pH��1������@H��H���0����������fD��AWAVAUATUSH��8L�D$L�l$pdH�%(H�D$(1�H�D$ H���rD�BE���eH�B����<N�SH��I��H��I��H�t$M������L�D$������H�D$I�<$��M����H��M��L��L��jH�T$ H���b����XZ��uM��tH�D$H�PI�UH�@H�t$ H��tH�����H�t$H��t��ujH�t$H���C�����=�:ǖ��H�L$(dH3%(����H��8[]A\A]A^A_�H�t$ H���ӿ���Å�u
L�D$ �E���H�t$H��t�H�����I�$�@H�t$H��L�D$����Å��d���H�D$L�D$I�$�����(:ǖ�a����':ǖ�W�������AUI��ATI��UL��SH��H��8dH�%(H�D$(1�I�H�D$H�H��tH�T$�d����u&H�T$ L��H���P����u4H�T$I�$H�T$ H�UH�L$(dH3%(u)H��8[]A\A]��H�t$H�߉D$�W����D$���<��ff.��AWI��AVL�rAUI��ATI��UH��SH��(H�L��dH�%(H�D$1�H�D$�~���Å�t(H�L$dH3%(���~H��([]A\A]A^A_�I�uH�T$H������Å�u�M��tL��L��H��������u"I�$H��H�p���I�$H�T$H�P�H�t$H��D$�����D$���l����O��ff.�@AWAVAUI��ATI��H��USH��H��xD�D$H�l$0L�L$I��dH�%(H�D$h1�I�D$H�PD�pD�@H�T$D��L����������H�L$I�t$H��H�����A�Dž�t?H��H������A��:ǖ�/H�L$hdH3%(D���kH��x[]A\A]A^A_ÐH���tH�T$8H�MH��1�H�5��<��H��H���q����H�D$ A�Ǎ@�H�D$(����A��
��A���:ǖ�XA���:ǖ�\���M����H�l$H�L$ L��H��L�D$(H�����A�Dž��+���H��L��H���������4H�l$ �H�5�H�=����E��,:ǖH��H��H��1�A�,:ǖ����@I�D$L�`H�D$ H�D$(M���SH�L$ L�D$(L��L��H���L���A�Dž������L��L��H���#��L�l$ L�d$(���H�5�H�=b�E��[��A��M��L��A����8iH��H��1�D������H�t$ H���ݹ��H�t$(H���й�������D$A�#:ǖ��:ǖH�߅��-:ǖAD���A���q�����@L�d$(H�l$ �H�5�
H�=ʓA�#:ǖ���M��E��H��H�¾#:ǖH��1��E���f���D���-:ǖH��A�-:ǖ�
���~���� ��H�
���H�5�	H�=�	葱��H�
���H�5�	H�=��r���f�AWI��AVAUI��ATUH��SH��H��H��$�D��$�L�D$L�L$HH�D$PD�d$dH�%(H��$x1�H�BH�D$hDŽ$�H�@0H�HDŽ$�L�p(M���8H�RL������A�…���I�EH�p(E���xH������I�EH�@(H�EM���OH�P0H���L�rt(H�HH�RM��1�H�5�H�����H�EH�@0L�pI�E�}$H�D$��$�����H��$�H���T	�|$L�EL��H���L��$�1Ƀ�M����{�����kL��$�L��L���p������pH�L$H��$�1�H�AP��$�H��$��!���H��$���H�EH��H�@0H�PI�EH�@PH�p�������I�EH�pH��t H�EH��H�@0H�P@�K������I�EH�xp�dH�UH�r0D�F$E���/H�N(�9�"H�FH�PI�OH�� H���
���A�…����H�|$hH��tI�EH;xxtD�T$�*���D�T$�D$����H��$xdH3%(D����H�Ĉ[]A\A]A^A_�D�|$H��$���LE�H�BH�HH�L$M��tdH�I9W t<H�L$M��L��H��A�H�����A��E���dH�EL�x����A�w��tI�W�J�����H�L$H�QH�z0�L�H�@H��H�t$�D$ H�D$pH�‰L$<H�D$(脷������H�D$d�D$0L��$��D$X�D$\�D$4�D$8�D$$H�D$@f.�H�L$(H�t$L��H��軪�����cH��$�L��H���`�������H�L$@�T$ H�ߋ�$��Ы����t�D$dH�T$H��$�H��������D$dt%�L$<;�$����L$0��t$4BΉL$0��t%�D$ H�uL��L��H�߉�$���������L��H���N����D$8�!����H��$�H�T$H�����L��H�߅��DD$$�D$$��������D$X�����D$4땸�:ǖf�H�|$hA��H��tI�UH;zx�A���DH��$�H��D�T$�[��D�T$�8����H�T$(H�t$H�߉D$@蚫��D�T$@A���:ǖ�HH�������D��H�5�H��1�D�T$���D�T$�����D$\�D$4���H��$��D$�Dz��D�T$�u���D��$�H��$�1��D$辦��H��$�葲��D�T$�?�����o)�$�H�FH��$�H�FI�EH�p(�[���H��$�H�@PL��L��H��H��$��ޱ��A�…�����I�T$H�u H��被�����ZH��$��D$���H��$����D�T$���f�H�T$H�L$xL��H��L��$�H�D$xHDŽ$����A�…��{����|$ ���H��$�H���E�������D$8���qH�l$x�H����H�5�H�=ߋ�۾��H��-:ǖH��H��1��f��A�-:ǖH�t$xH��D�T$�^���H��$�H���N���D�T$����@H�T$L��H��谵�����(HDŽ$�HDŽ$�M����
H�T$H��$�L��H��L��$����A�…��t���L��$�H��$��H�5�H�=�����M��H��#:ǖH��H��1����H��$�H��茰��H��$�H���|���A�#:ǖ�	�����@@��M����E�W E����I�wH�PpH���P���A�…������H�UH�r0�~$���I�EH�xp�����H�r0�H��0H���|�A�…��i���I�EH��H�@P�p農��A�…��K����L$��td�D$H�EH�@0�@����I�EH��H����R���������I�EI��L��/L��$�H��H����t��D�T$�������I�EH�@PH�D$xHDŽ$�H�H0H�D$H����H�H�D$xA�H�D$H����D�T$ H��H��L��I���B���<=��TH�BL��L��H��L��H��$��B��$��F��A�…��OH�t$xH���)���H��D�T$褪��D�T$����f.�H�EH�p0D�N$H�VE���o���H�F(H���8�^�������A�����DH���tH��$�I�L$H�5RH�����L��H���/���H�T$(H�t$H���-����<����H�L$H�T$M��E1�H��H����A������D������*�������DH�L$�H��������H�D$H�H0H�H��H�������D�T$ H��L����D�T$�=���D�T$I��E��M�������I�EMc�A�T$H�@PH�H J��I�<I�tH����IE�\$�I�LH�EH�@0H�@�@��I�E�@@�1H�xxH���H�|$hD�\$�T$���D�\$M�UA��H�t$h�T$Aǂ�E9��K��L�NI��C�<�E��~9>t[L���fDH��9x�tGH9�u�H��$�1��H���������A��:ǖL��D�T$����D�T$���fDI��A�G�9��1�E��~'��A;��1��DH��A9���9��H��A9���I�EL��H��H�pp�]���H��$��D$茫��H��$�����H��$��r���D�T$E������H�EH�p0����H�t$xH�H��t,�z������H�F�H���z��n���H�H��u�H���O���H�D$x�����D$$����H�l$xH����L��$��H�5��H�=Z��V���I��#:ǖH��H��L��1��޽��A�#:ǖ�s���D�L$ ��H��1�L������ۿ�����fDD�|$4L��$��E����D�t$XE�����l$0H�5����uH�5�H�=��起��D�D$<L��H��H�¾,:ǖ1��;���A�,:ǖ����A���H���tI�EH�54�H�ߋ��1����I�E�������H�PP�R(�PDI�EH�PPH�r H���oH���t H��1�H�5M�H��蕹��I�EH�PPH�r H�P8H��车��A�…��M���I�EH��H�P0H�@PH�p 蚦������I�EH��H�P(H�EH�@0H�p�v���A�…������E uI�E�PD��t1PHH�|$Pt#H�uH�T$PH��D�T$�)���D�T$����H�|$H������EL�|$HH��D�T$���ƒ�E��E�A�I�EH�p(����ܮ��D�T$9��z���A��q���H�D$hǀ�E9��O����?�)���H�5^�H�=�����-:ǖH��H��1��n���A�-:ǖ����H��$�L�wD�'����H�t$xH��tH���J���M���0A�t$L��Hc�H���M���I������H��A��H��D�����H�F(�8����P�f�D�\$\E����H�5�H�=3��/���D�D$<I��L��H�¾,:ǖH��1�貺��A�,:ǖ�G���H�5��H�=����D�D$<L��H��H�¾#:ǖ1��z���A�#:ǖ����A�$:ǖ���H�@8I�EH�@0�����H�57�H�=��蓴��H���:ǖH��H��1���������H�5J�H�=j��f���D�D$<I��L��H�¾:ǖH��1����A�:ǖ�~���A�&:ǖ�[�H�t$hH��D�\$�T$����A�…��m���H�|$hD�\$�T$�����-:ǖ��H���p���A�-:ǖ�-�D$I�EH��H�p8�Q���I�ED�T$H�@8����A������1����/�������?���H�
����H�5�H�=	�谞��H�
)���H�5�H�=^�葞��E�����H�
���H�5��H�=��j���H�U������H��dH�%(H�D$1�j�t$(���ZYH�T$dH3%(uH���葳�����H��dH�%(H�D$1�j�t$(��ZYH�T$dH3%(uH����Q������AWAVAUI��ATM��UH��H��SH��H��dH�%(H��$�1��F@�
t	M�������L�s8M����H�D$D�D$LH�D$0�D$#H���D�O���9H�G����<T�'H�T$0H�t$(�-��A�Dž�tYH��$�dH3%(D���kH�Ę[]A\A]A^A_�DH�{�>H�{p�Q���A��:ǖ�f.�H�D$(H�@8�x�����t;H�D$(H�@8�x蚱����uNH�t$(A�2:ǖ�$f�L�s(�����H�t$(A��:ǖH��荸��H�t$0H������2���H�D$(H�@8�x�����t�H�D$(H��H��H�H0H�P(�+��A�Dž�tH�t$(�DA�(:ǖ���DH�D$(H�L$`H�T$#H�t$8H�|$PH�L$L�@8H�T$pH�D$dH�T$0H�H8L�D$H�T$XH�D$P�+��H�t$(L�D$A��L�F8���-���L�\$$H�L$8L��H��M�ٺL�\$���H�D$81��PH�x�͖��H�t$8H������T$$L�\$���gH�t$(H��F�oFD�v�D$�D$H�F AEH�F�D$�D$LD�t$D�1���H�t$0H���d����C@�u-����
�����D$E�4$A�D$�D$A�D$���f�D��H���%�������H�D$H�sH�A�H��H�H�a�����umH�
n�H�spH�T$H��H�L$h�L$H�D$x��$�D��$��d�����uH�|$p薡���C@�Q���fDH�|$p�D$�z����D$fDA��I�}�d��������T$H��H���)����t�CD�C@����f�A�*:ǖ�L�D$H�L$0M��L���H���+����D$$���p���H�t$(A�):ǖ�:���A��:ǖ�{�������f.�DAWAVI��AUATUH��SH��H���H��$ H�t$L�D$L��$0H�D$ H��$(H�D$(dH�%(H��$�1��D$LH�D$X�D$KA�����D$L�d$`A����L��H��H��肥��A�Dž�u_D�D$E����M���� ˆT$0�\L���V���H�L$h��;D$d��H���D$KA��:ǖ����uH�T$KH�߹���H��$�dH3%(D����H���[]A\A]A^A_�L��H��H���D$K�ݤ��A�Dž�u�H�|$hA��:ǖ�v����uH�T$KH�߹葴����L�d$`H��D�L$L��蓤��A�Dž��l����|$dH�|$hD�L$���D$K�D$�:ǖD�L$0����D�L$0���f����H�ω�L��H�L$8趰��H�L$8���D$���M���#�|$0�foL$`H�T$K�H��AM�u�ѳ��������L��H��H���ۣ��A�Ņ���H�D$H�0H����H�D$XH��H��H�D$0蚐���D$H�|$X�H�D$H�����x ���H�T$0H�y�H��$�H��DŽ$�H��$��N���A�ƅ��f�H��$�H��HDŽ$�H��$�H��$�H�D$ )�$�)�$�)�$�)�$�辭���D$0H�D$H��$�A���8i�<Ic���G‰�$����H��I��譝��L����$��{���H��$�H����L�d$pH�t$ H��L���u�������H��$�����E�����H��L��H��肐��H�|$xH��uH��� �D$O �	���H�D$L��H��H�0肦������H��L��H���<���H�|$xA��@��藜��E������E���T$����D$0�������H�t$XH�������H�����H�D$1�H��H�0�ے���z���fDH�DAUTH_V1H3WH�KRB5_SENH3H	������f�.0��������D$���f��D$����A������H�D$H�T$XH��H�0�S����D$0A�ƅ���f�H��$�H��HDŽ$�H��$�H��$�H�D$ )�$�)�$�)�$�)�$��{���H�|$�����H�D$ H�5��H��A�H�P �A������@�D$0H��L��H��t$0L�D$0H�L$(H�t$L�L$\�)���H�|$xA�����Y^E���1����D$tL�d$pH�D$x����fDA���-����H�t$PH��裝��H�t$PH��A��H�D$H�0H�D$XH��H�D$0辌��E����D$0�D$���H�D$H��H�0�������A����DH��$��D$�'����D$A�����A���G���H�pH�T$0H���R���A�ƅ�����H�D$H�T$XH��H�0�r����D$0A�ƅ������f�H��$�H��HDŽ$�H��$�H��$�H�D$ )�$�)�$�)�$�)�$�蚩������H��$�H���%����`����D$����H�T$0H���H��$�H��DŽ$�H��$��t���A�ƅ��A���f�H��$�H��HDŽ$�H��$�H��$�H�D$ )�$�)�$�)�$�)�$�����D$0�h�������D$0����H�|$h蟘���uH�T$KH�߹躭����x�|$���D�|$������H�� dH�%(H�D$1�j�t$8�t$8�y���H�� H�T$dH3%(uH����[���ff.���H�� dH�%(H�D$1��t$0�t$0AQE��I��1��!���H�� H�T$dH3%(uH�������AUATUSH��H�/dH�%(H�D$1�H�����H��t,I��L�o1��
@H��H9�t/I�|�L���2�����u�H��H�T$dH3%(uH��[]A\A]�H�������肥��f���S� H���H��dH�%(H�D$1��5���H�H�����H�T$dH3%(uH��[��.���ff.���ATUSH��dH�%(H�D$1�H����1�H�?H��tH�CH�<�H��诖��H9+w�H�{衖��H�;H�C�H�{E1��fDH���x���H�{I��L9#vcJ�,�H��t�H��誖��H��t�H��1�H���h�����fD�;���H�CH�H�D$dH3%(unH��[]A\�H�{@����H�;H�{H�Ct�E1��@H�����H�{I��L;#s�J�,�H��t�H������H��t�H��1�H���Љ�����٣��f���SH��H��dH�%(H�D$1����H�D$dH3%(u
H��H��[�b���荣��ff.�f���H��dH�%(H�D$1��H��t	1�H�?��H�T$dH3%(uH����;���ff.���H��dH�%(H�D$1�H��t#H�GH�T$dH3%(uH���f.�1���������AUATUSH��dH�%(H�D$1�H����H��I��I�����H��H��xsM��tL��薡��I��H����H�CH��H�L�(M��t L��菔��H���nL���.���H�CH�L� 1�H�L$dH3%(�bH��[]A\A]�H�H�{H�,�H���I���H���H�H�CH��H��H�H�CH�D�H�{����H����H�H�CH��H��H�H�CH�D�H�{���H����H�H�CL��H��H�H�CH�D�H�H�CH�,��v���H�EH�H�KH��H�<�tTM��t!HSL��H���H���H�EH�H�SH�<�tH��H�1�����H�SH�<����H�H�CH��@����fDH��1�L���ۆ����������נ�����SH��dH�%(H�D$1�H��t2H�����H��x%H�SH��H�L$dH3%(uH��[��1����w������AUATUSH��dH�%(H�D$1�H����I��H���>���H��H��xvH��tH���)���H��H��tqI�D$H��H�L�(M��tL���%���H��u0L���ȑ��I�D$H�H�(1�H�L$dH3%(u2H��[]A\A]�H��1�L��賅������f���褟��@��SH��dH�%(H�D$1�H��t2H���z���H��x%H�SH��H�L$dH3%(uH��[��1����G������H��dH�%(H�D$1�H�H�T$dH3%(uH����������H��dH�%(H�D$1��H�D$dH3%(uH����Ȟ�����H��dH�%(H�D$1�H�D$dH3%(uH���莞��ff.���H��dH�%(H�D$1�H�T$dH3%(uH����N���ff.���S��H��H��dH�%(H�D$1����H��t0�H�@�@H�1�H�T$dH3%(u
H��[ø���ԝ��@��AVAUATM��USH��dH�%(H�D$1�I�H��I����~aI��H��1�A����DH��9]~?H�EL��D��L��H��詘����t�H�t$dH34%(u%H��[]A\A]A^��I�$H��I�$1����+���ff.���AWAVI��AUATI��USH��8I�L�$L�D$L�L$dH�%(H�\$(1�H�D$I�H�D$H�D$ ����H�L$ H9L$waH�l$ H�\$�H��H���Q���A�>H��H���C���A���~TE1�A����
�I��E9>~?I�FI��H��D��L��J���n�����t�H�\$(dH3%(u>H��8[]A\A]A^A_�A�~H��H���ٜ��H�D$H�$H�\$H�H�D$ H�1���������H��A�QdH�%(H�D$1�;b(�tH�L$dH3%(u-H���f����t�I�yH�54(�G�������������蕛��DATI��USH��H�6dH�%(H�D$1�H��t"H��I�\$DH��H�����H�s�H��u�H�D$dH3%(uH��L��[]A\����&���fD��H��dH�%(H�D$1�M��t#H�D$dH3%(u(L��H���W����H�D$dH3%(uH����ƚ��fD��AWAVM��AUM��ATUSH��XH�<$H�l$@H�\$8H�L$L�d$0H��H��L��dH�%(H�D$H1�I�H�D$8I�H�D$@����A�Dž�u
�|$0A�t.H�L$HdH3%(D����H��X[]A\A]A^A_��H�|$4H��H�����A�Dž�u��|$4������������Hc����H�D$H���S�t$4���RE1�D�|$L�<$L�l$ I��L�d$(E���f�A��I��D9d$4��I��H��L����L���g�����t�H�t$H�<$�D$�����D$A������DH��H��L������unH�D$H�D$H�pH��t	H�<$���H�T$�D$4�L$0�H�D$H�B1������BH�D$8I�H�D$@I�E���fDA�"���DA���z����H�D$Mc�D�|$L�l$ L�d$(J��H�H��H��L���@������S�������A��'���H�D$���i���f���SH��dH�%(H�D$1�H��t2H�qH��H��t���H�D$dH3%(u'H��H��[���@H�D$dH3%(uH��[����D��AWAVAUATUSH��(dH�%(H�D$1�I������E����I���{M��Hc�H��tk�I���v���I��H��tm����H��1����CH��H��A9~xI�GH��L��H�4��%�����t�L��L��D$����D$� @���	���I��H��uF�H�L$dH3%(u6H��([]A\A]A^A_�D��ՐH�I�D�H�1�M�.�L�����і�����UE1�H��SL��I��H��dH�%(H�D$1���������u
�E��E�C1�H�L$dH3%(uH��[]��t���@��ATI��USH��H��0dH�%(H�D$(1�I�H�t$H�|$H�PH�T$�@�D$謙���Ņ�ucH�sH��tL�����H�t$L��H�F H�CH�F �ș��H�K�H��tH�9t�fD�H��H�|�u��CH�|$(dH3<%(��u	H��0[]A\�裕����AVAUATUSH��P�dH�%(H�D$H1���u*H�T$HdH3%(����H��P[]A\A]A^��H�Af�I����)D$0M��L�t$)D$�)D$ H�D$0���H��H��t����ޘ��H��tyH�t$L��H�E�8~���Å�uJH�E�
��H�E�@H�|$H�E�W�PH�WH�EH�PH�E�u���I�,$�"���@H��L��蝂�������H�E����n���ff.���AWI��AVAUATI��USH��8H��$�L�|$pdH�%(H�D$(1�L�l$xL��$�H��tH�C�CA�P;�	(�t)H�t$(dH34%(���=H��8[]A\A]A^A_�@����A��D$���A;$��I�T$H�H��H�$H����H�4$I�M1�L��L�L$L�\$�����Ņ��w���I�}臅��H��L�L$A�Et/L�\$H�4$H�K�L���ߛ����u{H�{�R���L�L$�C�L$1���A4$t�ȃ�A�A�D$A�A�����I�xH�5}(L�L$L�$臖��L�$L�L$�������	���������fD�����f�����衒��H�
��:H�5��H�=���}��f���ATUSH���dH�%(H�D$1����tJH����L���$���I��1�M��t+L��H�5�(H��������u4I�D$A�D$L�#H�T$dH3%(uAH��[]A\�fDI�|$L��tDH��H��H���Q���H�{u�L��蒃��1��蹑��f���H��dH�%(H�D$1�H�T$dH3%(u
��:ǖH����y���f���AWAVAUATUSH��8H�i8H�<$dH�%(H�D$(1�H�D$ H�����B4L�t$ I��H��L��I��H�ˉ����A�ą�uGA�w�F����D$�L��L�<$L�D$ L�K(�L���%|��A�ą�t~fDH�{8tH�<$H�s(贇��H�C8H�l$ H�<$H��苉��D��H�T$(dH3%(�cH��8[]A\A]A^A_�DH�<$H�T$�"v��A�ą�u��t$�`���f�H�t$ L���3���L��H��H�D$ �o���A�ą��\���I�}H����H�?A�u�fDI��I�FN�<�H�|�u�A�vHc�H���	���H��ttI�E�I�H�D$�|��I�H��tV���I�H�L$�@�H�D$ I�7�x�~I�7H�@H�FJ�D�H�|$ �E���H�D$ ����A����D�E1�E1��b���H�
i��H�5��H�=&��y������H�
E�� H�5��H�=���y��ff.�f���AWAVAUATUSH��H���H�$dH�%(H��$�1�I�H�D$p@��@��H�yA��I��M��M������M��蕗����=�:ǖtL=�:ǖtE���UH�t$pH������H��$�dH3%(�H���[]A\A]A^A_�DD������t�DŽ$`�I�EDŽ$�HDŽ$�H�D$pH���/�x$
��H��$�f�1�H�|$�H�)�$`)�$pHDŽ$�M��t�Ao$)�$pH��$�H������Ņ���H�t$H����H��$�H��tH���]{��H��$hH��tH���؆�����(I�EL�T$pH��t
�x$
�hH��$`1��I�I�uf�H�|$�H�H��$ H�D$xHDŽ$�HDŽ$�)�$`)�$p)�$�)�$�)�$�H�D$)�$ )�$0)�$@)�$PH���;D�^ E���.�~$
�|H�D$H��L�T$H�P�&���L�T$�����M��t�Ao$)�$0I�EH�L$xI�rH��DŽ$@ H�P�`����Ņ�uBI�EH�L$D��H��H�$L��$�H��$hH�D$xH��$p����Ņ���1�L��$`M�jM�bP�@I�uI��H��tH���[���M9�u�H�t$xH������H��$�H���	���H��$�H���)���H��$(H�����H�t$H��H��(�H�����u,I�H���A�������H�4$H��袓�������I�6H�������H���ē��I�����1���|���@DŽ$`�DŽ$�HDŽ$��M��t�H��$��f�1�H�|$�H�)�$`HDŽ$�����H��$��讌��H��$�1�����H��$�1��P���H��$�1��ap��H��$���Ot��L��$`�H��$�L���B���I�EH�����o)�$ �o`)�$0H�@ H��$@I�E�oh�$(H��$ j1�E1�E1�H��H��$�PH��$pPH��P��$jH�t$@�-s��H��0����=�:ǖ���u=:ǖ�-H��$hHDŽ$hH�D$p�����I�JA�RH��L�T$H�D$H�p1��h����Ņ��V���H��$(�@$
L�T$���D�+���I�uH��H�������tI�uH�T$pH��觓�������I�u��f.��AouI�EpD��M���Ao}H�$��H��)�$��Aou �Ao]`H��$�)�$��Ao}0)�$�Aou@)�$�Ao}P)�$ )�$0)�$@H��$PL��$��=�����=�:ǖt=�:ǖ�����A�������L�T$p����DH��$�L��$�I�uH��H��H�D$L�\$HDŽ$�苒���Ņ������H��$�H�ߺH��$��Ԑ��H��$�H�߉��y��������I�Ep�AomD��L��$`��L�\$�AoUH�D$(H��$PI�E)�$��Aou0�Aom H��$���Ao}@D��Aoe`L�l$)�$��AoUP��
@A��L�T$ D�D�|$P)�$���� A�� )�$D�)�$ M��)�$0�D$<H��$�H�D$@)�$@L��$(HDŽ$�HDŽ$�HDŽ$�M��tA�|$ ����E1�H�D$H�hI�GH�H�A;E��H��$��o)�$��oh)�$�H�@ H��$�I�GH�@�opH��$�H��$��$�A�WDI�OHM��L��H��$�H�߁��TT$<PAV��H��$�PH��$�PH�J�t$(PL�L$@�
����$�H��0���uL��$�H��$�HDŽ$�HDŽ$�H��$�A�MH�D$0������H�߽H���Qt��H�t$0��H�߁�N�H�D$H�4t��H����H�|$H�LH���CH�D$H��H�p(�{��L��H���ڐ��H��$�H���ʐ��H��$�H��躐��H��$�H����i��I�H��H�PH�D$H�p袈�����dM�&M�l$A�} uI�E�x�mL�T$ L��H��D�|$P��:ǖL�T$����I�L�T$f�H��$`��������f�DŽ$ ��I�E�o`H�
HDŽ$8H��$@�$(�"����H�FL�T$H��H��I�JA�RL�HD�@H�D$jH�p1����AXAY�Ņ�����������H���r��H�t$0��H��H�D$H�r��H�����D$0�PH�|$@H��$���$�H�@H��$�請��H��$��Ņ�u��:ǖ��$ 9��H��H���N���H��$�H���{��H�D$H��H�p(�y��L��H�����H��$�H���Ҏ��H��$�H���Ž��H��$�H����g��������D�|$PL�T$ �[�����tH�uH�y���5������<���H��$�������Q���H�D$0H���
H�L$@f�H�KerberosHDŽ$�H��$�H��$�AH�A�A DŽ$�L��$�H��$DŽ$A�T$ Ƅ$�����I�L$��H��H�AH�L�@H����$�H9�u�A�D$�|��$���m��H��$�H���<A�T$$H�H�A�T$$�pA�T$&�PA�T$'�PA�t$ ��~OM�D$1��f�H�H��A9l$ ~/I��1�I��K�<(�W��t�H�wH������M�D$H��C�t(��A�T$1�����L�l$@H��I�WH�KerberosH�1��v���L��$�I�mI���l��H��$�A�ĉD$T�r��E����H��$�L������D$T�������l��I��H���)H��$�H����I�$�GA�D$H�GI�D$�!r��H�D$0H��$HDŽ$�L� �1�H���y��L�d$0���f.�H�P�:krbt�����f�zgt�w���I�W�D$TH�J�Q;P��H�D$(H��tVH�L$ ��L��I��H�l��f�I��M�>L9�t4I�wI�$H��H�P萃����t�D�|$PL�T$ ��:ǖ�(���M��DH�D$(H�L$ I�L�<�H��H�D$(H��
������l$TD�|$PI��H��$`�q��tH�pH�y辂�����>���L�T$ L��H��D�|$P��:ǖL�T$跇��I�L�T$����l$TD�|$PL�T$ H��$��H��$�H��L�T$�w��L�T$H�t$0H��L�T$荊��L�T$�C���H��H��$��p{��H��$��Ņ��E���H��$�1�L��H��H��$�L�L$l�@# L�@(�ƒ��|��H��$��Ņ������T$l�����D$0���*H�|$H��D�i0H�T$H��:ǖD��$PC�(9B�����L�JH��$XL��H�L$0L�D$XL��L�L$H�_���H�L$0�������L�L$HL�D$XD��H�q8K�<�8���H�L$0�����`�����:ǖ�V���I�t$H���b���A�t$H���a���1�H�����L$0���D�|$PL�T$ ��h��������l$TD�|$PL�T$ ����H�D$L�T$ H�ߋl$TD�|$PH�p(L�T$�s��L��H�����L�T$����y,�"���H��$���������2:ǖ�����|��H�D$L�T$ H�߽�:ǖD�|$PH�p(L�T$�s��L��H��胈��H��$�H���s���H��$�H���c���H��$�H���sa��L�T$�	���D�|$PL�T$ �����i �� �
������H�
z���H�5��H�=��f��H��H���s��H��$�H����t��L�d$0����H�t$@H��L�T$H����r��H��$�H���t��L�T$����ff.�f���AWAVAUATUSH��8H�T$dH�%(H��$(1�I�H�D$(H����H�QH��H����M��M����I�@0H����A��H�pH��M���/�����/I�F0�@@�MH�D$0L�D$$H��D��H��H��H�D$�Y��A�Dž����x��~��H��������T$$I��H��H�L$H�t$H�D$�e��L�L$��A��uNM�$H�t$(��A�H��$(dH3%(D����H��8[]A\A]A^A_�fDL��� l��A���:ǖt	A���:ǖuA��uH�t$(L���+n��A�Dž�t4@I�4$H���H�t$(H���{���H����r���n����H�Cp�oD��M���oK�oS ��@H��H��$ I�FH��$�)�$��o[0�oc@H��$��okP�os`H�D$()�$�)�$�H�T$)�$)�$�)�$�)�$�o8)�$�_���A�Dž��$���I�$H��H�PI�F0H�p�,}��������I�4$A��:ǖH��������H���ȁ��I�$���I�4$A�H��u�����@I�4$A�H��u����I�4$A��:ǖH��u�����x����AWAVI��AUATUH��SH��H����$�H�t$L�D$ L��$�D$H��$�L�L$L��$�H�D$H��$L��$�H�D$0H��$H�D$(dH�%(H��$�1�H�D$HH�D$PM��tI�$L��H�m�DŽ$�H��$��j���H��H��L��$L��$���L��$���A����t1H��$�dH3%(D����H�Ĩ[]A\A]A^A_�D�uH�T$G�H���k����tA�g��y��u��D��f��D$G<�	<����mH�|$p�1�H�|$8�H�M����A�MT����L�l$HH�D$�D$�L�D$HH�L$M��H�ߋT$H�t$HDŽ$��o��A����u-L��H��H���\��H��$��D$�qh��D�D$E���CH�t$8H��D�D$�x��H�t$D�D$H��t
H���*��D�D$M�������H�t$PH�������H��D�D$�Qo��D�D$����M����L�|$PM���qA�UT������H�T$PL�D$HL��1�H�����A������H�D$HH�D$���@H�L$X�}L��$H����H��L��H�L$ H�D$`L�l$h�D$X��`��H�L$ �����}H��L���D$X��o����������D$XH�T$`�H�߉D$d�wb���a���f�L�l$`H��H��L���]l��A����������D$d���M��tL��L��H���d������H�|$h��f��A��:ǖ�c���fDH�t$8H��D�D$�^v��D�D$�o���@�D$XH�T$`�H�߉D$d��a��H�L$ ����@L�l$8H�t$H��I�U�b��A����u�H�t$ H����I�UH���A��A��E���u���L�l$8�B���H�t$PH���+{�����!���H�t$8H�߉D$�u��D�D$������D$ u[H�L$(H���u���H�D$HH�t$8H��D�D$H��nu��D�D$����H�D$8H�t$PH��H�P�>o��A���X���A��:ǖ�
���H��L��H��D�D$H�D$X�j���Ņ�u?H�D$H�L$XL��H��H�0�Ar��D�D$����tRH�t$XH��tH���4_��H�|$h�*e��A�����H�|$h�D$�e��D�D$���A��:ǖ�~���A��:ǖ�s���H�|$hD�D$��d��H�L$0D�D$H��tH�D$XH������r��H�t$XH��D�D$�^��D�D$�������SH��H�� dH�%(H�D$1��H��H���H�$H�D$H�D$�ng����u�T$����H�L$dH3%(uH�� [��cr����AWf�AVAUATUH��SH��H��(H��$hH��$�H�t$ L��$pH��$��L$����H�|$0H��$pH�D$L��$xH�T$@L��$`L�D$L��$�L�L$(H�|$8dH�<%(H��$1�I�7L��H�D$XH�D$`H�D$hH�D$pH�D$xHDŽ$�HDŽ$�I�G�1��H�A�$H��H�I�UH�u)�$�)�$��0u�������uT�����D$��$�I�EH��$�A�E4��$�A�E8��tS��$�A�E<I�v4H�߉�$���������t7H��$dH3%(���xH��([]A\A]A^A_�@�E8���$�H�t$PH��A�$�f������u��D$PH�L$L�eH��H��$�L��H�D$H��$��c�������r���H���H��$�tH�5��H��1��q��H��$�H�t$ L��E1�E1�H������������I�}pH����H�t$X�O`��L��$���L�D$�����H�t$XH�߉L$�h��H�t$`H���h��H�t$hH���h��H��$xH���u{��H�t$xH���Xx��H�t$H��H����q��H��$�H���gT��H��$��a���L$�r����H��$�H�D$�n���fDH�L$XH��$��H���Nm�������D���fo�$�fo�$�)�$�)�$�A�}������p����:ǖ������DŽ$�A�EDŽ$���$�H��$�H��$�H���tH��$�H�52�H��1��Pp���D$tRA�Ed��:ǖ�������H�t$xI�}`��t�������}���H�D$xHDŽ$H��$H��$H��$�H�t$ H�L$`L��H����������5����uf�L�D$`HDŽ$�L��$�)�$�HDŽ$�H�D$hHDŽ$�)�$)�$)�$ )�$�)�$����
���H������s\�t$TL��$��L��H��M��L�T$�X����H��$�H�D$���H�EL�T$H��H��$HH��$LL��$PL��$0H��$8H�EpDŽ$XL��$@H��$`�n��������H��$�L���c��������L�D$�L��H��H��$���j������uaH��$�H�}P�s������uJfo�$�H��$�H�t$hH��$fo�$�)�$)�$ H��$��b����@H��$��L$��]��H��$�H����t��H�t$H��H���vn��H��$��L$H��t-L�GM��t$�WH���x�L$L���]��H��$��L$�L$�]���L$�����H�T$(1�H��tH�:t�H��H�<�u�H�x��Wo��H�D$H�������:o��I��H���.H�D$L�l$hA�D$L� A�UH����H�ֿH�T$I�m�n��H�T$H��H��tH��H����u��H��I�L$A�EH�|$(A�D$��H�D$(L� M����L�|$(1�L�l$I��L�t$H�Vf�H�ֿH�T$M�d$�yn��H�T$H��H����L��H���mu��I�FH��M�$�M�t�M���Y���4n��I��H����A�D$A�FA�T$A�VH��u����n��H��t|I�F��H��$�H�D$����fDI�uH��$�H���n����������H��$����t1�f.�H������u�H��$���$�����M��I�@�����@��:ǖ���fD��:ǖ���H�T$TH��L�D$�O���t$TL�D$�������H��$�H�D$�������m��H���&���H�D$�H��J���L�|$(L�t$HH�D$H�|$0H��$xt$H�L$8L��H��H�D$0H��$��Љ�������H�L$hH�t$ L��H��L���'L�L$p�v����������H�|$p�D$�o/A/�VZ��H��$�H�L$@H�D$pHDŽ$�H��L$���L��1��L$�:N���L$I���n����9h��f�UI��H��H��S���H��H��(dH�%(H�D$1�H�D$H����O����u%H�t$H��H���W��H�t$H�߉D$��L���D$H�L$dH3%(uH��([]��g�����AWAVI��AUI��ATUSH��XH�|$H�l$@H�\$8H�t$L�d$,H��L��dH�%(H�D$H1�H�H��H�D$8H�H�D$@�`��������|$,)����H�|$@������j��I��H����H��H��L���_���D$,H��H��L��A�G@�_���D$,H��H��L��A�GD�_���D$,H��H��L��A�GH�o_���D$,H��H��L��A�GX�Y_���D$,H��H��H�|$0A�G\�A_���T$0���U�D$4H�D$4H��H��H��H�D$�_���…����D$4=���=����=���V=����=����=��u4H�|$H��I�w0H�������…�uH�|$H��H���^���…�ui�D$4=���:H�l$8H�D$@H�|$I�WPI��H�پ���M���…�t��u*H��H��L���L^���…�u�|$,)�����H�|$L���T$�f���T$H�L$HdH3%(���XH��X[]A\A]A^A_����f��׾�T$�i���T$H��t:Hct$0A�WdH��H��H��A�G`��I�Gh��[���D$4�…��e����]����D$4��K���H�D$8A�)��I�EH�D$@I�H�D$L�8�;���H�|$H��I�w8H���\����…��������DH�|$H��I�w(H���4����…�����H�|$H��H���\���…�������D$4�����H�|$I�W I��H�پ"���L���…������H�|$H��H���\���…��s����D$4���f.�H�|$I�WI��H�پ"���K���…��=���H�|$H��H���]\���…��#����D$4�d���f.�H�|$I�WI��H�پ"���gK���…����H�|$H��H���
\���…������D$4�	���f.�H�|$I�WI��H�پ"���K���…������H�|$H��H���[���…�������D$4����b��D��AUATUSH��dH�%(H�D$1�H�����FdI��H�VH��H��H�� H�$H��tlI��"��L����]����u8H�SH�$H��uVH�SH��toI��"��H��L���]�����&fDH�t$dH34%(�FH��[]A\A]ÐH�VI��H��t�L��"��H���d]����u�H�SH�$H��u�H�S H����I��"��H��L���2]����u�H�S(H�$H��tL����H���]�����h���H�$H�S0H��tH����H����\�����B���H�$H�S8H��tH����H����\��������H�$H�SPH��tH����H���\���������fDH�$I$1�����H�S H�$H���)���H�S(H���^���I���9���f������a�����AWAVAUATUSH��(dH�%(H�D$1�H�H�$H�D$H�H�D$�H���I��H��I��H��I������¸����H�L$H9$��L�d$H�l$�)��L��H���a���{@L��H���a���{DL��H���a���{HL��H����`���{XL��H����`���{\L��H����`���{dL��H����`���sdH�{hL��H���]��H�{t+L��H���`��H�SM��H��"��L����i����u4H�{tUL��H���m`��H�SM��H��"��L���i����t*f�H�L$dH3%(�sH��([]A\A]A^A_�DH�{t+L��H���`��H�SM��H��"��L���Zi����u�H�{ t/L��H����_��H�SM��H��"��L���(i�����p���H�{(t/L��H���_��H�S(M��H����L����h�����:���H�{0t/L��H���s_��H�S0M��H����L���h��������H�{8t/L��H���=_��H�S8M��H����L���h��������H�SPH��t%M��H����L���bh���������f.�L��H��)����^��H�D$I�H�D$I�1��y����^��@��SH�5d]'H��H��dH�%(H�D$1��hE����tH�T$dH3%(uqH��[�fDH����J����u�H���i����u�H���xd����u�H���,S����u�H���B����u�H���M����u�H�D$dH3%(u
H��H��[��f���^]��f.�@��H��dH�%(H�D$1�H��t+H�
�FH�DH�1�H�|$dH3<%(uH���fD����\��ff.����AWAVI��AUI��ATUSH��8H�t$H�l$ H�\$L�d$H��L��dH�%(H�D$(1�H�H��H�D$H�H�D$ �FU��������|$
����H�|$ �����@`��I��H����H��H��L���T���D$H��H��L��A�G��T��Hc|$A��rH��I�GH��tyHct$H��H��H����R���…�tpI�H��t
�T$�M���T$L���T$�M���T$f.�H�L$(dH3%(����H��8[]A\A]A^A_���ѐ��f�H��H��L���2T���…�t�D$��j���f.��|$
��u�H�D$A�
��I�EH�D$ I�H�D$L�8�a����,[��ff.����AVAUATUH��SH�� H�	dH�%(H�D$1�H�H�L$H�D$H����I�ԋVH��H��H9�s%H�t$dH34%(��H�� []A\A]A^�@L�t$L�l$�
��L��L���>[���{L��L���0[���{L��L���"[���sH�{L��L���pW��L��L��
���[��H�D$I�$H�D$H�E1��j������Y����!Z�����H��dH�%(H�D$1�H�D$dH3%(uH�5qY'H���hA����Y����H��dH�%(H�D$1�H��t+H�
�FH�DH�1�H�|$dH3<%(uH���fD����Y��ff.����AWAVI��AUI��ATUSH��8H�t$H�l$ H�\$L�d$H��L��dH�%(H�D$(1�H�H��H�D$H�H�D$ ��Q��������|$"����H�|$ ������\��I��H�����"��H��H��L���Q���D$H��H��L��A�G�jQ��Hc|$A��D��I�GH��tsHct$H��H��H���pO���…�tjI�H��t
�T$�HJ���T$L���T$�8J���T$@H�L$(dH3%(����H��8[]A\A]A^A_���ѐ��f�H��H��L����P���…�t�D$��p���f.��|$"��t
��R���H�D$A�"��I�EH�D$ I�H�D$L�8�W����W��f���AVAUATUH��SH�� H�	dH�%(H�D$1�H�H�L$H�D$H����I�ԋVH��H��H9�s%H�t$dH34%(��H�� []A\A]A^�@L�t$L�l$�"��L��L����W���{L��L���W���{L��L���W���sH�{L��L���T��L��L��"���W��H�D$I�$H�D$H�E1��j������Y����V�����H��dH�%(H�D$1�H�D$dH3%(uH�5!V'H���=���sV����AWAVI��AUI��ATUSH��XH�<$H�l$@H�\$8H�t$L�d$4H��L��dH�%(H�D$H1�H�H��H�D$8H�H�D$@��N��A������|$4����H�|$@���8��Y��I��H����H��H��L���qN���D$4H��H��L��A�G�[N���D$4H��H��L��A�G�EN���D$4H�<$I��I�WH�پ��A�G(�e=����tp��tlH��H��L���N��A������H�<$L��D�L$��A��D�L$DH�L$HdH3%(D����H��X[]A\A]A^A_�f�A����H�<$I�WI��H�پ����<����t���o���H�<$I�W I��H�پ���<���R���fD�D$�D$4��x�D$Hc��|X��D�L$H��I�G0���T$E1҅���L�t$ D�t$L�d$(M��L�l$L�,$D�L$�
f�I�G0J��H��I��
��L���%<��A�T$D9�������I����u�D�L$L�t$ L�l$L�d$(��t5A�����A���fDH�D$8I�H�D$@I�EH�D$L�8���f�H��H��L��D�L$�mL��D�L$��u
�|$4��t�A��L����S��f.���AVAUATUSH��dH�%(H�D$1�H����I��H�VI��H��H�$H����H����H���yN������H�UH��utH�U H��tH����L���ON����usH�E01�I��H��u!�(L��
��L��H���$N����uHH�E0H�H��u�H�$I1��0�H�VH��H��t�H�پ��L����M�����t���@H�L$dH3%(uH��[]A\A]A^�����lR��ff.����AWAVAUATUSH��8dH�%(H�D$(1�H�H�D$H�D$H�H�D$ �H����I��H�T$H��I��I���q����¸����H�L$ H9L$��L�d$ H�l$���L��H���xR��A�L��H���iR��A�L��H���ZR��A�(L��H���KR��I�WH��tM��H����H���[����u#I�WH��tBM��H����H���o[����t+H�L$(dH3%(��H��8[]A\A]A^A_�DI�W H��tM��H����H���$[����u�I�W01�H��t#H�:t�f.���H��H�|�u�L��H���Q��I�G0E1�H��u�If�I�G0J�H��t3M��H��
��H��L�T$�Z��L�T$I����t��1���f�L��H����� Q��H�D$I�EH�D$ I�1������SP����H��dH�%(H�D$1�H�D$dH3%(uH�5�O'H���7���P����H��dH�%(H�D$1�H��t+H�
�FH�DH�1�H�|$dH3<%(uH���fD����O��ff.����AWAVI��AUI��ATUSH��8H�t$H�l$ H�\$L�d$H��L��dH�%(H�D$(1�H�H��H�D$H�H�D$ �H��������|$����H�|$ �����S��I��H����H��H��L���G���D$L��H��H��A�G�G��Hc|$A���t+�.;��I�GH����Hct$H��H��H���E���…�u#H��H��L���ZG���…�u
�|$��tz�I�H��t
�T$�S@���T$L���T$�C@���T$�H�L$(dH3%(��uXH��8[]A\A]A^A_�����f���f�H�D$A���I�H�D$ I�EH�D$L�8��M��f���AVAUATUH��SH�� H�	dH�%(H�D$1�H�H�L$H�D$H����I�ԋVH��H��H9�s%H�t$dH34%(��H�� []A\A]A^�@L�t$L�l$���L��L���N���{L��L���N���{L��L����M���sH�{L��L���@J��L��L������M��H�D$I�$H�D$H�E1��j������Y�����L�����H��dH�%(H�D$1�H�D$dH3%(uH�5�L'H���84���L����H��dH�%(H�D$1�H�H�L$dH3%(uH����zL��f.���AWI��AVI��AUATUSH��8H�4$L�d$ H�l$L�l$H��L��dH�%(H�D$(1�H�L��H�D$H�H�D$ ��D����u
�|$%��t1�H�T$(dH3%(����H��8[]A\A]A^A_�������O��H��H��tH�|$ w'�H���z=������f��%��H�xL��H��H�D$�&D��H�L$L��H��H�y�D��H�L$L��H��H�y�C��L��H��L����C���|$%��H�L$t��u����H�D$�%��I�H�D$ I�H�$H�����J��f���AVAUATI��USH�� dH�%(H�D$1�H�H�H�D$H�T$H�����H��w)H�L$dH3%(��H�� []A\A]A^��L�t$L�l$H��H��L��L��%���K���{L��L���K���{L��L����J���{L��L����J��L��L��%����J��H�D$I�$H�D$H�E1��d���D��U����I��f���AWAVI��AUI��ATUSH��hH�|$H�l$HH�\$@H�t$L�d$<H��L��dH�%(H�D$X1�H�H��H�D$@H�H�D$H�AB���¸��u
�|$<$��t,H�L$XdH3%(��H��h[]A\A]A^A_�f�����!M��I��H����H��H��L����A�����Hc|$<��t>H���]5��I�G0H���Hct$<H��H��H����?�����EHcD$<I�W0�H��H��L���zA�����"�D$<�D$,����I�GH��H��L���LA�������D$<�D$,���I�GH��H��L���A�������D$<H��H��L��A�GX�A�������D$<H��H��L��A�G\��@�������D$<H��H��L��A�G`��@�����l�D$<H��H��L��A�Gd�@�����N�D$<H��H��L��A�Gh�@�����0�D$<H��H��L��A�Gl�j@������D$<H��H��L��A�Gp�L@�������D$<H�|$I��H��H�T$P�%��H�D$PA�Gt�Y/�������t	����H�|$PH��t�oAGH�GI�G(�	9��H�|$I��H��I�W@�(���/�������t��utH�|$I�W8I��H�پ`ʪ��.�������t��uOH��H��L���?����u=�|$<$��u%H�T$@H�\$A�$��I�H�T$HI�UL�;�2����f�L���D$��=���D$���������fD�x��KJ��I�GH��tb�D$,1Ƀ�H��H�D$ @H��H��L��H�L$��>����u�H�L$I�G�T$<�H��H;L$ u΋D$,I�W�����f���V���fD�x���I��I�GH��tڋD$,1Ƀ�H��H�D$ @H��H��L��H�L$�]>��������H�L$I�G�T$<�H��H9L$ uʋD$,I�W�������qE�����AVAUATUSH��dH�%(H�D$1�H����H��H�~I��I�ԻH��t�[�����H�XI�}1�H��t�E�����H�I�}0H��H�$H��t�7��H�H�$I��I�U�%��H��L���@���Å�uBI�U@H��tL��(��H���?����uUI�U8H��tL��`ʪH����?����u8H�$I$H�L$dH3%(��u"H��[]A\A]A^Ð���f������WD�����AWAVAUATUSH��8H�|$dH�%(H�D$(1�H�H�D$H�D$H�H�D$ H���O�>$��I����I��H�T$I���x����Å����H�D$ H9D$��L�d$ H�l$�$��L��H���_D���Å���I�0H��t�5���É�L��H���8D���Å���M�G0M��t%L��L�$�5��L�$L��H��H��L���d@����ufI�H��t�r����É�L��H����C���Å�uMI�GH��tt�8��tn1��f.��$I�G�Q�<�H�х�tLL��H��$�C����tډ��H�t$(dH34%(���H��8[]A\A]A^A_���ѐI�H��t�ң���É�L��H���CC���Å�u�I�GH��tT�8��tN1��f.��$I�G�Q�<�H�х�t,L��H��$�B���Å�t��c����$���V���fDA�XL��H����B���Å��7���A�\L��H���B���Å�����A�`L��H���B���Å�����A�dL��H���B���Å����A�hL��H���mB���Å�����A�lL��H���TB���Å������A�pL��H���;B���Å������A�tL��H���"B���Å������H�|$I�WM��H��%���_K���Å��e���I�W@H��tH�|$M��H��(���7K���Å��=���I�W8H��tH�|$M��H��`ʪ�K���Å�����L��H��$���A���Å������H�D$I�H�D$ I�E����@����SH�5�@'H��H��dH�%(H�D$1��(����tH�T$dH3%(uCH��[�fDH�5q@'H����'����u�H�D$dH3%(uH��H��H�5g�'[�'���<@��f.�f���H��dH�%(H�D$1�H��t+H�
�FH�DH�1�H�|$dH3<%(uH���fD�����?��ff.����AWAVI��AUI��ATUSH��8H�t$H�l$ H�\$L�d$H��L��dH�%(H�D$(1�H�H��H�D$H�H�D$ �&8��������|$����H�|$ ����� C��I��H����H��H��L����7���D$H��H��L��A�G�7��Hc|$A��R+��I�GH��tyHct$H��H��H����5���…�tpI�H��t
�T$�0���T$L���T$�0���T$f.�H�L$(dH3%(��u{H��8[]A\A]A^A_����ѐ��f�H��H��L���7���…�u
�|$��t
��h���H�D$A���I�H�D$ I�EH�D$L�8�s����>��ff.���AVAUATUH��SH�� H�	dH�%(H�D$1�H�H�L$H�D$H����I�ԋVH��H��H9�s%H�t$dH34%(��H�� []A\A]A^�@L�t$L�l$���L��L���.>���{L��L��� >���{L��L���>���sH�{L��L���`:��L��L������=��H�D$I�$H�D$H�E1��j������Y����=�����H��dH�%(H�D$1�H�D$dH3%(uH�5!='H���X$����<����AWI��AVI��AUI��ATUSH��XH�|$H�l$@H�\$8L�d$,L��dH�%(H�D$H1�H�H�H��H�D$0H��H�D$8H�H�D$@�5���¸��u
�|$,��t&H�L$HdH3%(��H��X[]A\A]A^A_�H��H��L����4����uȋD$,�xHc��W(��Hct$,H��H��H��H�D$��2����u!HcD$,H�t$H�T$0H�|$��>����t2H�t$0H�|$�D$�G5���D$H�|$�D$�u-���D$�N���@H��H��L���:4��H�t$0��u!�|$,��uH�T$8I�H�T$@I�I�u뮐���T;��@ATUH��SH��dH�%(H�D$1�H����E���Å�tH�L$dH3%(��u0H��[]A\�@L�$$L���-��H�UL��H�DH�E�,�����:����H��dH�%(H�D$1�H��t#H�D$dH3%(u-H���Z���f.�H�L$dH3%(�uH����:�����AWAVAUATUS�H��8dH�%(H�D$(1�H�H�D$H�D$H�H�D$H��tKI��H�T$I��H��I�̻������u,H�D$H9D$w H�T$ H��L���D���Å�t2f.�H�L$(dH3%(����H��8[]A\A]A^A_�L�t$H�l$���L��H���^:��H�|$ ��+��L��H����G:��L�|$ L���+��L��H��L��H���6��L��H�����:��H�D$H�|$ I�EH�D$I�$�+���X����C9����H��dH�%(H�D$1�H�D$dH3%(uH�5q9'H��� ���9����H���OHdH�%(H�D$1�H�GP��~.;0t,��H�P H��H��f�H��H�� 9r�tH9�u�1�H�|$dH3<%(uH����8����AVAUATUH��SH��H���6dH�%(H�D$1��S3��H��t6�o�oKH1�H�L$dH3%(��H��[]A\A]A^�D�uHE�fMc�I��L���a$��I��H��tyI�T$�L�$E��u3�o�o[�L�uPA$A\$M��u4�EH1�L�mP�fDL�uPH��L���B���o#�okA$$Al$L���m)���EH���D��:����7�����ATI��UH��SH��H��dH�%(H�D$1��F2��H��tQH�@H��t(H�L$dH3%(u?H��L��H��H��[]A\��D1�H�T$dH3%(uH��[]A\�D�����6��@��AUM��ATI��UH��SH��H��dH�%(H�D$1��1��H��tTH�@H��t+H�T$dH3%(uBH��L��L��H��H��[]A\A]��1�H�L$dH3%(uH��[]A\A]�����\6��ff.����AWAVAUI��H��ATI��UH��SH��H��(�6dH�%(H�D$1�H�L$H�D$�J1����t&H�t$dH34%(ufH��([]A\A]A^A_��L�|$L���#"��I�ƸM��t��3H��L�D$H��H��L�4$L�|$�?����u�H�T$H+T$M�uI�$��5��ff.���AUM��ATI��UH��SH��H��dH�%(H�D$1��A0��H��tTH�@H��t+H�T$dH3%(uBH��L��L��H��H��[]A\A]��1�H�L$dH3%(uH��[]A\A]������4��ff.����H��dH�%(H�D$1�H�:�vH�ω81�H�H�*H�L$dH3%(uH����4��f���H��dH�%(H�D$1�H�:�vH�H�H�81�H�H�*H�L$dH3%(uH����@4����ATUSH��dH�%(H�D$1��H91r"I��H��H��H��I�<$H����>��I$1�H)]H�L$dH3%(u	H��[]A\���3��f.���H��dH�%(H�D$1�H�:�vH��ȉ1�H�H�*H�L$dH3%(uH����3����H��dH�%(H�D$1�H�:�vH�H�H�H�1�H�H�*H�L$dH3%(uH����-3��ff.�f���ATUSH��dH�%(H�D$1��H91rH��H�2I��H��H����=��I$1�H)]H�L$dH3%(u	H��[]A\��2��f.�@��ATUSH��dH�%(H�D$1�H��tWH��H��H���$��H��I���v1��H��H��t>H�}�5$���E��1�D�eH�]H�L$dH3%(uH��[]A\���ݐ����$2��@��AUATUSH��dH�%(H�D$1�H����I��H��H��H�H9F ��E1�z t#H�L$dH3%(D����H��[]A\A]Ð�V��uyH�[H�mE1�S;UuÅ����CA���t�E���E��um;Eu�H�uH�{��E1��4����A���fDH�D$dH3%(ubH��[]A\A]�15���;U�T���H�uH�{�4�����?����d���DA��*���DH�uH�{�4���������P�����0��f�H��dH�%(H�D$1�H�F0H�P(H��t�:u"�@%uEH�L$dH3%(u@H���H�L$dH3%(u(H�NH�PH�p H��H��H����#������:ǖ��K0��ff.���AWAVI��AUI��ATUSH��H��hdH�%(H�D$X1�H�FH�x0��L�|$L���)$���Ņ���L�d$ ��:ǖI�D$H�D$�If�A�E9D$<u+H�t$L��H���F9���Ņ�uL��H�������Ņ���L��H���.��L��L��L��H���O����t�L��L��H�������E��:ǖ�����:ǖ����:ǖ��H�L$XdH3%(����H��h[]A\A]A^A_���JL�d$ H�RE�EM���;���Ņ�u�I�t$L��H���z8���Ņ�u
L��H���	�����L��H����-���_����H�t$(H�T$H���~9���Ņ�tL��H���-������I�uH���(��H�D$I�E�ٽ�:ǖ�3����r.��f���AWf�AVAUATUSH��H��hH�|$H�T$dH�%(H�D$X1�)D$0H�D$()D$@�����H�D$H����H�|$H�l$0�v7��H��I�����L��H�����H�5�gH������C��tzE1�L�%�w�>fD�3!��I��H��x�u	f����A��L��H��1��0��A��D9{v0D��HsD�6I��A��-u�H�5WwH��A���	��D9{w�H�T$H��1�H�5:w�J0��H���b/������L�|$H�T$8H�t$(L������Å�tUH�t$(H��t
H�|$�i1��H�����H�L$XdH3%(��ufH��h[]A\A]A^A_úL��H���9���1���A�WXH�t$(L����3���Å�u�H�D$(H�L$H�D$(H��f����,��@��AVI��AUL��I��H�5XvATL�%�-'UL��S1�H��dH�%(H�D$1������t��H����t'H�uL��������u�Hc�H��A�A�U�fD�H�L$dH3%(u
H��[]A\A]A^���+�����SH��H��H��dH�%(H�D$1���t=��t8��t3��t.��t)���tH�L$dH3%(u>H��[�f�Hc�H��,'H��H�tH��tH��H������H9���Ѓ���L+����D��AWAVAUATUH��1�SH��H�t$dH�%(H��$�1��97��H�t$`H�|$H�D$�e0��H����L�5�+'H�5�tM�nXL�d$ DfoD$`L��H��foL$pfo�$�H��$�)D$ )L$0)T$@H�D$P��&��I��H��t4H9�t/H���t?����H��DI��I���t$�DX u�DM9�t;I�6I���w�����D$4��~�L�����H���t�H�L$�1����H��$�dH3%(uH�Ĩ[]A\A]A^A_���)��f���ATI��UH��SH��PdH�%(H�D$H1�H�\$��H�|$H��H�D$�/��H��t@H��]H��H��L���3��H��H��t#1�H9�tH�L$HdH3%(uH��P[]A\�����T)��@��AWAVI��AUI��ATI��USH��XdH�%(H�D$H1�H�t$��H�|$H�D$�.��H����H��)'H��H��\L�{@��H�H��H��L��L���3��H��u.I9�u�H�L$HdH3%(u]H��X[]A\A]A^A_�DM��tII�u�I�I�4H9�sf.�A�H���B�H9�u�C�D,�1��fD�&�����R(��1��ff.���H��I��H�ֺE.�dH�%(H�D$1���������D�:�ų��A��A)�Ai��Q)������D�
�����A��A)�Ai�)��������)�k�<)�E������	�D	�uX����H��qH��qHN�H��L��qP�H�����L��1��.��XZ1�H�t$dH34%(ucH���D����H�OqH�=MqQHN�RH�����L��AP�L�@qP1��N.��H�� ��QE��L�qR�s����&��f.���SH��L�
�LA�H��H�J�RdH�%(H�D$1�j�v�FH��P1���&��H�� ��u
H��B$H�\$dH3%(uH��[��&��H��dH�%(H�D$1�����uV����~OI���O�L�L@���t��@t M�пI��A����0DCǀ�\tE��t��H��I9�u�H�T$dH3%(uH����%��DSH��H��H���dH�%(H�D$1��ȃ����~n�B���L�DH���-@��������u/�\0H��f�P�H��I9�t/���
t_~̀�@t@��\tC��/t>H���H��I9�u��)�H�\$dH3%(��H��[�@��t[�\�H���P�두A�\nH��fD�P��|���@A�\tH��fD�X��d���@A�\bH��fD�H��L���@�@H���<���@1����h����/����\����$��ff.�f�AWAVAUATUSH��hH�|$L�D$dH�%(H�D$X1�H�D$(H���ZI��H���NH��������E1����D$�t$��uH�s�{�����D�x�C ���H�S��H��L�rL�d�I�vA�>��I���n���F�|8M9�u�H�L$D��H����I�EH��t	D99�����I�EH�D$D�8M�eM�����K ����E1�DL��L���H��HsH�VH�����A�UI��H�L�L�`�/D9k Ʌ�INċT$�����E1�H�t$(H��t
H�|$�=��H�L$XdH3%(D���H��h[]A\A]A^A_����H�L$A��D��H�������3��I��I�EM���0���A���L�|$H�t$(L���N
��A�ą��b���L�d$(L�����H�t$0H��L���D$8���D$<L�d$@�������!������D$E1��4���f.��@L�`H�SH�s��L���G���H�L����DH��H���M*��I�E�\���L�����A��:ǖ�����!��ff.����H��dH�%(H�D$1�H��tH�H�D$dH3%(uH��E1�1�H�������!��fD��H��dH�%(H�D$1�H�D$dH3%(uI��H��H��1������b!��f���H��dH�%(H�D$1�H��tH�H�D$dH3%(uE1�H������!��ff.���H��dH�%(H�D$1�H�D$dH3%(u	H���?����� ��f.�AVI��AUA��H�ѺATM��USH��H��dH�%(H��$�1�I�H�l$ H�D$I���m����t)H��$�dH3%(u]H�Ġ[]A\A]A^�fD�T$dH�L$hM��H��L�L$H�߁��TD	��'��H��H�߉D$�!���D$��u�H�T$I�$�� ��@AUM��ATI��USH��H��(dH�%(H�D$1�L�D$H�D$H�D$���Ņ�t;H�t$H���>��H�t$H���a(����H�L$dH3%(uhH��([]A\A]�@H�T$L��H�������Ņ�u�H�T$L��H�������Ņ�u�H�T$L��H����'���Ņ�u�H�D$H�D$I�E�l����"��f�AWE��AVI��AUI��ATI��UH��SH��dH�%(H��$�1�H�D$M���H�T$L���!���Å�t8H�t$H���K����H��$�dH3%(�H�Ę[]A\A]A^A_�H�D$H��H�p� ��H�D$I�uH��H�P�J���Å�u�H�T$1��I��H��L���H�H�D$D��H��L�l$H�D$ �b����Å��`���H�<$�oA$�oOAL$�oW AT$ �o_0A\$0�og@Ad$@�ooPAl$P�ow`At$`H�GpI�D$p������fDH�rH�L$H������Å��A����������ff.���H��dH�%(H�D$1�H�D$dH3%(uH��H��H�ʹ�T����O��ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��H��H�ʹ�������ff.�@��H��dH�%(H�D$1�H�D$dH3%(uA�H��������@��H��dH�%(H�D$1�H�D$dH3%(uA�H���Y����t��@��UH��SH��H��dH�%(H�D$1�H�t$������u"�M��t;�t$�SX�<9�w2U9ֺ :ǖG�H�L$dH3%(uH��[]�f��M�!:ǖ������f.�DAWAVI��AUATI��USH��H��H�T$L�l$H�l$ L��dH�%(H��$�1�H�D$�C!�����H��L��L��H������A�Dž�uKH�T$0L��H���`����tH��H���������H�t$H��H���#��H��H��A�����E��t�L��L��H�����A���:ǖAE�H��$�dH3%(uH�Ĩ[]A\A]A^A_�����f�AWAVAUI��ATUH��SH��H���H�VL��H�$L�D$dH�%(H��$�1����H�D$H�D$H�D$ H�D$(H�D$0H�D$8�g������L�d$0L�t$(I��M��1�1�L��H�����A�Dž�u9H�t$(H��tH���g��H�D$(L��H������A�Dž��X�H�t$H��tH���~��H�t$H��tH���l��H�t$ H���"��H�t$(H�����L��H���7��D��H��$�dH3%(��H���[]A\A]A^A_�H�L$1�L�d$0H��H�5�*�%��A�Dž��b���H�UH�t$H������A�Dž��F���H�t$H��H���!��A�Dž��+���L�t$@1��L��H�t$x�H�H�EH��L�l$PH�D$H�~��A�Dž���H�T$L�D$ L��1�H�߁D$x,��!��A�Dž�����L�t$(M��L�D$ �h����H�t$(1�H�����A�Dž������H��L��E1�L��jL�D$L��H���w!��A��XZE���i���H�D$H���[���H�t$H��t!H�H��t,L��H���^���A���6���fDH�t$H���,����A���H�T$H�5cH���
��A�Dž������H�UH�t$H���m��A�Dž����H�MH�T$H��H�t$���A�Dž������H�D$H�L$H�D$H��������ATI��USH��H�6dH�%(H�D$1�H��t"H��I�\$DH��H������H�s�H��u�H�D$dH3%(uH��L��[]A\�	���6��fD��AWAVAUATI��UH��SH��H��H�t$L�D$L�L$ dH�%(H�D$x1�H�D$0H����M����L�l$@E1�1�L��M��H��H���"��A�Dž���H�D$ H��t	���H�D$H�L$8H��aH��H�pH���v������E1�H�t$0H��t	H������H�L$xdH3%(D���AH�Ĉ[]A\A]A^A_��L��H���e��H�t$H��L��L�D$H���-���H�t$0A��H��u��fDH�EH�x0�)H�D$8H��L�l$@H��H��H�D$�	��A�Dž�t0����I�G�xuH�@�8hosttJf.�L��H����
��H�L$L��H��H���R���A�Dž���L�|$HA� u��f�M���BI�$E1�H��u�1fDM�FK��H���M��L��H���!����t��x����H�t$0�f��A�Dž��I���H�l$0������H1��������DD��c���fD�T$81�������H�D$ A�H�����������H�T$H��H�����A���:ǖ�TM���ZI�$M�l$H��u�3f.�I��I�U�H��tL�D$H�t$H��H���^���A�Dž�u�E1�H�t$0H��tH���R��L��H���w������f�J�4�L��L�D$(�+��L�D$(H����I��L��H��H�D$(J�T��J��H����L��H��A�����E��L�L$(u
M������DH�T$H��H��L�L$(���L�L$(M��A���:ǖ�����L��H������H�D$ H�����������L��H��A����H�T$H��H���_���M��u��s���DA��:ǖ�c����E1����������H��dH�%(H�D$1��H�D$dH3%(uH����������H��dH�%(H�D$1���wH�D$dH3%(uH�������AUI��ATUSH��dH�%(H�D$1�H��t"H��I��H��H�,2H��L��H�����H9�u�H�D$dH3%(uH��L��[]A\A]�������DAWAVAUATUSH��HL�/D�D$L�GH�t$ H�T$(O�ddH�%(H�D$81�H�GH�H�H�D$M9�����I�]E1�E1��L$�@L9�tH��L9�shH���C�;D$u�L9l$u�D$uMI��L��M��I��L��L�T$���L�T$H��tbL��J�t�I��L)�L�n�~L9l$tI��H��L9�r�H�D$ L�8H�D$(L�01�H�L$8dH3%(u/H��H[]A\A]A^A_�f�L��������E1�E1������@AWAVI���AUM��ATM��UH��SH��HdH�%(H�D$81�I�D�>H�I�wH�D$�f��H��H��t~M����D�}�M�mI�w�?��H��H��tWM��tL��L��H���4��I�>L��H�t$H�\$H�L[H�l$ A�H�D$H�D$(�������5U��DC��A�1�H�����H�����D��H�L$8dH3%(u*H��H[]A\A]A^A_�fDH�t$L��H������6������fD��AWAVAUATUH��SH��H�~H�$dH�%(H��$�1�H���,H��H�rI��H���E�ċSA;W��I�OH�SH�sH�}8L�L$8M�G�S���A�ƅ���H�t$8H�$H�t$H�H����H�H���1��
f.�D��PH�<�I��u�9.���x�I�����I��H����M�\$E���m1�I��H��A9�w�L��H��H��H��L�\$���L�\$��A�����o)L$`E���"H�D$`E1�L�d$ M��H�D$H��$�M��L�|$(L�|$H�D$�$fDfo�$�I��I��)D$`E9��jK�<�H�5YI�\$H��$��}��H�T$L��H��H�t$��$������t�L�d$ A��H�|$�+��I9�s!H��t�H��H�3H���!��H�L9�w�L���M���DH��$�dH3%(D���MH�ĸ[]A\A]A^A_�@A��:ǖ��t�������t����L�[�CH�D$@M�oE�wH�D$HL�\$`H�D$hH�D$pH�D$xL��$�L��$�HDŽ$�HDŽ$�H����M����M�M�E1�E1�L��L���+@I9�s'H�r��B�H�y�:A�uA9�H��H��LD�LD�I9�r�I9���H�T$pH��$�L�D$xL��$�H��tdH��t_I9��^�B�D9�����I9����A�A9���M���JM��tI��M9�s	I��M9�rE1�E1�L�D$pL��$�H�T$PH�t$@E��H�|$`�����t8L�l$@E1�L��$���H�|$H�{���H�t$L��H�������$A������1�H�T$XH�t$HE��H��$��d�����u�L�d$PL�t$X�K�<4�8��L�l$@H�D$L��H���LI��M�M9��I���'DH�D$PH�|$@I��I��H��H�I9��FL��L��H��������t�L+d$L�l$@I���!������A�E1����I��L�XH������H�|$E1�A��%������L������L�d$ L�|$(H�T$H��L��H��H�����A�ƅ������H�$H�|$L� ��������fD�Ѓ����S�������fDL��H��H��H��L�\$�j��L�\$��A���j����oA�����)T$`���E1��)���f��I9���������DE1�����L�t$XH�D$HI��I�M�n�L9�r�9@I��I��I�EH9D$HsL��L��H���_����t����fDH�|$@�6���H�|$H�,���L+d$�I��I�|$L�d$�
��H�D$H����J��M����@H�H��H9�u�H��L�l$H�L$E1�H�\$�f�I��I��L��L��I9�tuL��H��L�yM�������t���A��L9|$s,M��t'H�\$�I��I�7H���)��I�L9�r�H�T$H�t$H�����H�|$�A�����@H�$H�\$H��E1�H�T$H�t$H���������f�A��A��:ǖ���H�D$`L��H�D$���L�d$�V������ff.����AWAVAUI��ATM�EUH��H��8SH��H��HH�L$L�L$H�JH�VH��dH�%(H�D$81�H�D$�������-H�|$H���SH�H���G1Ҁ8.u�+H��H�BH�<�u�H�z��<��I��H��� H��H��H���"������H�D$ E1�H�$�D@N�t��M��tNH�5>RL���
��H�4$H��H���D$ ���D$$L�t$(����M����uYM�xH�D$L��H��L�H��u�H��L��H��L�$�����u+L�$���I��I��K�H�
H�L$H�BL�!E1�H�|$�$����L��H�����$H�L$8dH3%(u;H��H[]A\A]A^A_�D����H�D$f������fD���$��@��ATUSH��dH�%(H�D$1�H��tOI��H�6H��t H��L��fDH��H���l���H�3H��u�H�D$dH3%(u-H��L��[]A\���@H�D$dH3%(u	H��[]A\����f�PXH�
�P�xH�5H�=H��dH�%(H�D$1����ff.�PXH�
�P��H�5�H�=�H��dH�%(H�D$1���ff.���H��dH�%(H�D$1�H�T$dH3%(uH�������ff.���UH�=$}'H�-]z'SH��dH�%(H�D$1��s���H�=,z'H9�t�H�_�W���H��H9�u�H�D$dH3%(uH��[]��c����AUH�=�|'I��ATUSH��dH�%(H�D$1��C�����L�%�y'M��tOI�mL���fDH�[H��t7H�H��H�x�x����u�H�=M|'����Å�����:ǖ�:����H����L�`H�=|'L�(H�8y'���Å�u]H�T$dH3%(����H��[]A\A]�@�lj��O����پH�I��H�WQ'H�81��
�������������I��H�-Q'H���H�81��������H�=k{'��:ǖ���Ņ��Z�����������I�������@��ATH�=3{'I��UH��SH�� dH�%(H�D$1�H�������H�,x'H��u�'f�H�[H����H�H��H�x������u�H�=�z'�d��Ņ�ut�@��H��H����H�x��������H�E�EH�I�,$H�UH�L$dH3%(��H�� []A\�H�=Yz'����Ņ�����������H��
I��H��O'H�81����l���@�lj�����پH�Q
I��H��O'H�81��M�����H��D$�D�D$�N���H�=�y'�_��Ņ��k�����:ǖ�.�����:ǖ�$����<��ff.����H��dH�%(H�D$1�H�FH�@H�T$dH3%(uH������fD��H��H�=LdH�%(H�D$1����H��KH��HD�H�L$dH3%(uH������@��H��dH�%(H�D$1�H�D$dH3%(uH�=�KH���8����c����ATI��UH��SH��dH�%(H�D$1�H��	��H��H��H���T����Å�tH�L$dH3%(��uXH��[]A\�H����H�4$H��H���Y����H�$��u�+��H�$I�$��H�x��H�<$������ff.�@��AWAVI��AUI��H��ATI��USH��dH�%(H�D$1�H��:�A���H����I��H��M)�A���H��H����L��D��H���<��L��H��H��B�;�I���H��A�����E��t)H�L$dH3%(D��ujH��[]A\A]A^A_��H�4$H�UL���@��A��H�$E��u�+��H�$I��DH�x�w�H�<$�n��A��:ǖ�A��:ǖ�����AWAVAUATI��UH��SH��(L�/dH�%(H�D$1�H����H�t$�
L���H�����������L�l$A�}:t$H�L$dH3%(��umH��([]A\A]A^A_�M�uI��L���	�L9�r�I�GH��H�D$�#�H�EH��t&L��L��H�����Ll$B�8M�,$�@1�눻�:ǖ�����AWAVAUATUH��SH��H�|$H�zH�t$dH�%(H�D$x1��y�H�}I���m�H�}I����H�\$PH���B�H��H�U�uL�E1�H��M��L��H�5H���XH��Z�"�������H�\$0L�t$,L�|$XH������L��H���D$,�	���H�5'�H���	��L������L��H�߃��D$,�x	���T$,L��H���i	��H�E �H��H��H�$�Q	��H�E$H�ߺH��H�D$�8	��L��� �A���L��H��D�l$,A���	���T$,H�uH���	���L��H��D�d$,�����T$,H�uH������H�4$�H������H�t$H�ߺ���H������uH�t$H�|$�L$HH�T$8H��(�c���H�߉���H�L$xdH3%(��uNH�Ĉ[]A\A]A^A_�DH�\$0L�t$,H���~�H�E H�$H�E$H�D$�������:ǖ��D���@PXH�
�F�xH�5�H�=�H��dH�%(H�D$1���ff.�PXH�
�F��H�5sH�=�H��dH�%(H�D$1��[�ff.�ATUH��SH��H��dH�%(H�D$1���u�WX�SL�c(H��H��L�������t"H�L$dH3%(u@H��[]A\�f�H�S�L��H�������uL��H���
�����t���:ǖ��-���ff.�f�AWI��AVAUATA��UH��SH��(�V$V �L$dH�%(H�D$1�H�F��H�F��1�wH�GL�,�I�]H��t4D�wH�E H9C ��E��t�C$D�D9��wA�GH�[0H��uп8���H��H���I�oEH�}H�E H�CH�C H�CH�C�L���I��H�CH���H�}�3���I��H�CH���8H�}H��t����H�CH����I�G I�_ 1�H�C(I�EH�C0I�]H�L$dH3%(����H��([]A\A]A^A_�f�H�uH�{�3����������H�uH�{�����…�����H�{H��tkH�uH��t�D$����T$��������D$�������D��l���L���"�L����H�{H��t��H����������<���A�G����|$t<H�}H�������D$�����T$H��H�C��������L����H�{뗃����D��H��dH�%(H�D$1�H�FH�H�T$dH3%(uH���������AUI��ATUH��SH�^H��H��dH�%(H�D$1��p���u<H�EH�ߋ@A�E�I��Å�u[1�H�L$dH3%(uwH��[]A\A]�fD��A����D��H��I��H��D'H�81�������fD�����پH��I��H��D'H�81����������D��AVA��AUI��ATUH��SH�^H��H��dH�%(H�D$1�����uGH�uD��L�����H�߉��^��Å�u`H�L$dH3%(��u|H��[]A\A]A^�f���A����D��H��I��H�
D'H�81��������fD������پH��I��H��C'H�81������������D��ATI��USH��H�ndH�%(H�D$1�H�}�d�H�}H��u6�9f�H�C(H�E H�{�?�H�{�6�H�{H��t�(�H��� �H�] H��u�H�u(L�����H����1�H�T$dH3%(u	H��[]A\�������AUI��ATUH��SH�^H��H��dH�%(H�D$1�������uLH��L�����H�����A�ą�ujH����H����1�H�T$dH3%(uxH��[]A\A]�D��A���f�D��H�'I��H�mB'H�81��#������fDD���0�D��H�I��H�7B'H�81������(����#���UH��SH��H��dH�%(H�D$1�H�FH�p(�#�����u'H�D$dH3%(u3H��H��H��[]��fDH�T$dH3%(��:ǖuH��[]������AT�I��HUH��SH��dH�%(H�D$1��O���H����H��I�D$H��tiH���Q�H�H��to�C���(H�C����H�CH��t;H�C 1��C(�����C@H�L$dH3%(uGH��[]A\�@H��H�;H��t��H�{H��t��H������:ǖ밸�:ǖ�����SH��H�dH�%(H�D$1�H�H��tHH�{H��t�J�H�{H��t�<�H�{H��t�.�H�D$dH3%(u$H��H��[���H�D$dH3%(uH��[��%�DAWAVI��AUATUSH��H��L�ndH�%(H�D$x1�H�D$XI�m(I�UH����A�ą�t-H�\$xdH3%(D���UH�Ĉ[]A\A]A^A_�@A�E@H��H���X���I�UH��H�߹H�D$H�D$X�f���D$��t.H�t$XH��A��:ǖ��H��H����A�E@�q���fD�(���H�D$XH����H�@H�t$PH��H�@H�@����t�D$PH�D$TH�$H�D$`H�D$(H�D$pH�D$ f.�H��H���u���A�ą���L�|$XH�$H��H�߹I�GI�GI�G�y���…���L$T���9L$��Hc��L$����L$H��I�G�LH��H��H���.���…�uhH�$�H��H������…�uN�L$T���;L$��Hc��L$�L��I�GH����L$H��H��H�������…���M�OM��tL�ω$���$I�H��t�$�x��$I�H��t�$�d��$I�GI�GI�G���:ǖ��H��H�����H�t$XH�����|$�����L��H���_A������H�t$XH��A��:ǖ�m�������:ǖ�6���fDI�W �H��H�������…�����I�W$�H��H������…���H�D$`M�OH�D$hA�9L�L$�I�W�H�=:H���������H�B� H��H�D$pH�D$0�B�H��H�D$8H����H+T$0L�L$H��H�T$@H��L�L$H�����H�T$@L�L$HH��H�D$��H���~H�D$8H�t$(H�|$ H��H�D$p�h��…�uH�|$`tH�D$p�8 �hH�|$�T$0���H�|$`�T$0H��t
�T$�w���T$H�|$hH��t
�T$�`���T$��������T$PH�t$X��tA�EF$9���I�~��:���tUH�t$XH�~���H�D$XH�x�	��H�D$XH�xH��t
���H�D$XH�@H�@H�@�4���@A��:ǖH�t$XH���=�����A��:ǖ���M�O��:ǖM������������D$�_���A��밾��{�H�T$@L�L$HH��H�D$tH�t$0H�|$�h����n�����:ǖ����d�H�|$ H��H�t$h�T$0H�D$p�����uPH�|$h�T$0�h���H�D$p�8�Z���I�����I�����H�D$`I�GH�D$hI�GH�D$I�G�p������!���ff.�f�AWAVAUATUSH��H��L�fdH�%(H�D$1�A�|$@E�|$usM�4$I�$I���Z�H��L��L����L�����R����t.H�L$dH3%(���=H��[]A\A]A^A_�f�L��H���%����Ņ�u�M�eH��H�[6H���Y��Ņ�u�H�4$1�H�����Ņ�ulI�|$8H��tu���H�4$D��H��I�������M��tL���o����u8I�l$ H��u�W�H�m(H��tGH�$H��H��H�p����tཤ:ǖH�4$H���������f�H�4$D��H���!�����DH�$H��H�pH��(�4���u�I��(H��L���!���u�H�$L��H��H�PH��(���Ņ�t�����&�fD��AUI��ATUH��SH�^H��H��dH�%(H�D$1������u<H��L�����H�߉������Å�uYH�T$dH3%(��uuH��[]A\A]�@��A����D��H�G�I��H��7'H�81��C���>�fD���Q��پH�;�I��H�Y7'H�81�����J��E�D��AVA��AUI��ATL�fUL��SH��H��dH�%(H�D$1������uGH��L�������Ņ���L�������Å�uTH�L$dH3%(����H��[]A\A]A^Ð�lj�����H�Y�I��H��6'H�81��U���P����i��پH�S�I��H�q6'H�81��'���b�f�H�sD��L�������X����E�D��AWAVAUI��ATI��UH��SH��dH�%(H�D$1�H�t$����Å�t%H�L$dH3%(����H��[]A\A]A^A_�M�t$L�������Å��I�|$�T$1�L��������������M�|$L��H��L�����Å�uXA�G��A9G>H��I�w(�B�L�������b���Å��S������1����I���6f.�L��H���U�����L���+���Ņ�������������I��H�
5'H����H�81�������f�L����:ǖ�����Ņ�������L���":ǖ�����Ņ��������������پH�K�I��H��4'H�81��G���B��}����:ǖ�Ņ��i����I����d�@��AUI��ATUH��SH�^H��H��dH�%(H�D$1��@����u<H��L���A���H�߉�����Å�uYH�T$dH3%(��uuH��[]A\A]�@��A������D��H���I��H��3'H�81�����~�fD������پH�{�I��H��3'H�81��O������DH��H�=,1dH�%(H�D$1��0�H��tH�L$dH3%(u'H���fDH�=�0��H��0H��HD�����ff.�@AUATI��UH��SH��H��dH�%(H�D$1������~��:ǖ��tT��
������������H�5{0H�=�I����M��H�龫:ǖH��H��1�����:ǖH�L$dH3%(��H��[]A\A]Ð��t+�F�w���:ǖ��f.���:ǖ��zt��o�������	���H�5]0H�=u�I���n�M��M��H��H�¾�:ǖ1�H�������:ǖ�i������@��UH��H�։�SH��H��dH�<%(H�|$1��8��1�H���t$H�\$dH3%(����H��[]���#��8��T������uK��D���H�5�/H�=��H����H�龪:ǖH��H��1��4���:ǖ�D��ztC����H�5z/H�=j�H���c�H�龫:ǖH��H��1������:ǖ�8���@����H�57/H�='�H��� �H�龬:ǖH��H��1�����:ǖ�����ff.����ATUH��S1�H���>dH�%(H�D$1��������t#H�L$dH3%(��u^H��[]A\�������:ǖ�8��t̃���	t�����H�5�.H�=n�I���g�L���H��H��1�������ff.���AWAVAUATI��UH��SH��L�sH���dH�%(H��$�1��f�D$����I��M���M�$M����H���1�L��L�i�H�O-�S����������������0���pH�{�������u�����8�>H�{����1��������t��Ǻ�1���H�T$H��H����A�ą��UH��H�����A��E���>E1�H��$�dH3%(D����H���[]A\A]A^A_��L��L�|$ ����L��L�f�H�D$1��H�G,�H�L��L���;������H�{�z������tXL���ƿ���A�Ņ��&�D$8?������t#M��tH�CH�L$H�|����I�$H��tz���������v���0@H�SH�
�+H�����A��=�:ǖ���H�{H��t
�q��H�C�;��������������@H�{H��t����H�{��H�{A��:ǖ�-������H�CA��:ǖ�A��:ǖ�z���L�c�H�5�+H�=}��y��1�H��H��L��1���H�{A��:ǖH��u��Z�������8����L�c�H�5�+H�=/�I���(��M��L��D��H��H��1�������ff.���UH��H��H��S��H��H���8dH�%(H�L$1�������t$��xm9�ui1�H�L$dH3%(u^H��[]������8��:ǖ��t�����H�5^+H�=~�H���w��H�پ�:ǖH��H��1�����:ǖ뙸�:ǖ�����ff.�@ATI��UH��SH��H��@dH�%(H��$81��4���H�{M��L���H��H��)1��������������H�sH�T$��������H�{���1��R�������H��$��ƿ���A�ą��IH��$�H9D$uH��$�H9D$��H�KH��H�)1���:ǖ��:ǖ���H�{����;H�C��x����H��$8dH3%(���mH��@[]A\���;��H�SH�
�(�0H���v�����u�1��@���H�SH�
����fD�D$(�������A����?��D�d$,�&��A9�ui�;��1���H��H�T$H�޹����Ņ�uf�|$�v�����:ǖH�{�������{��H�SH�
�'�;�������H�5�'H�=�A�����H��D�ᾩ:ǖH��1���:ǖ�������:ǖ���H�[�H�5�(H�=ǧ����H��D�潫:ǖH��H��1��K��z����A�����H��dH�%(H�D$1�H�D$dH3%(u	H���/����
��f.���USH��H��H�~dH�%(H�D$1�H��t
���H�C�;1��uH�T$dH3%(��u#H��[]��������t������ҽ�:ǖ�����f.���AUATI��UH��SH��H��H�vH�zdH�%(H�D$1������tWL�kH�CH��L������L�k�}���������1���1�H�L$dH3%(uH��[]A\A]�f���:ǖ������@��USH��H��H�~dH�%(H�D$1��Z��1҃��t#H�L$dH3%(����H��[]�fD�+���8����~N��tN��tI�O���H�5�&H�=��H�����H�龫:ǖH��H��1��?����:ǖ����u�����H�5�&H�=r�H���k��H�龩:ǖH��H��1������:ǖ�9���@�����H�5b&H�=*�H���#��H�龪:ǖH��H��1������:ǖ�����ff.�@��SH��1�H���;dH�%(H�D$1��&��H�CH�L$dH3%(uH��1�[��E��D��H��H��H�v1�dH�%(H�L$1ɋ8����H�T$dH3%(u1�H������ff.����H���6�dH�%(H��$�1�H���C��1҅�uH�T$0H��$�dH3%(H��uH�Ĩ����D��H��dH�%(H�D$1�H�T$dH3%(uH����^��ff.���H��dH�%(H�D$1�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�T$dH3%(uH�������ff.���H��dH�%(H�D$1�H�T$dH3%(uH�	�H���������H��dH�%(H�D$1�H� $H�FH�T$dH3%(u1�H����Q�����SH�~H��H��dH�%(H�D$1����H������H�T$dH3%(uH��1�[����fD��H��dH�%(H�D$1�H�T$dH3%(uH�������f.�@��ATI��UH��SH��H��H�� dH�%(H�D$1�H�F�@�BH�F�@�BH�FH�p�6���t"H�L$dH3%(u=H�� []A\�f�H�EH�SL��H�p�����t�H�{�D$����D$�� ����AWH���AVAUI��ATUSH��HdH�%(H�D$81�H�H�\$H�����A�ą�t(H�L$8dH3%(D����H��H[]A\A]A^A_�f��A���I��H�D$H��tPL�{ H�-q�fDD�L��I��A��1�H�����I��L9�u�H�D$�@@I�E�q���A��:ǖ�f����9��f���AWI��AVI��AUI��ATUSH��HH�4$H�l$0H�\$(L�d$H��L��dH�%(H�D$81�H�H��H�D$ H�D$(H�H�D$0�{�����u
�|$+��t(H�L$8dH3%(���OH��H[]A\A]A^A_�H��H��L���2���…�uċD$�xHc�轿��H����Hct$H��H��H��H�D$�,��L�D$����t9L�lj$���H�\$ �$H���m���H��L���$�w���$�W����HcD$L��H�t$ L��A�����L�D$����u�H�t$ L�����H��H��L���x��L�D$�����x����|$+��H�\$ t*L���r����j���������fD�D$H�D$(L��I�H�D$0I�EH�$H��,���T$����N��ff.���AUATUSH��dH�%(H�D$1�H��t]H�FI��H��I�ԻH��t
H�x���H�X
H��L�����H�����H�I$1�H�L$dH3%(uH��[]A\A]�f�������@��AWAVAUATUS�H��HdH�%(H�D$81�H�H�D$H�D$ H�H�D$(H����I��H�T$I��H��I����������H�D$(H9D$��H�D$ L�|$(�+��L��H��H�D$����H��L������H�UH�JH����I��H�|$01��H��������xmH�|$0H��tc����L�l$L����L���l��H�l$0H������L��L��H��H�����L��L��+���>��H�D$ H�|$0I�H�D$(I�$�C�����H�L$8dH3%(��u.H��H[]A\A]A^A_�f.�H���8��H��H�D$0�S����&��fD��H��dH�%(H�D$1�H�D$dH3%(uH�5��&H���h���������H��dH�%(H�D$1�H�FH�@H���>��H�L$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@ H������H�L$dH3%(uH�����L��ff.����H��dH�%(H�D$1�H�FH�@H������H�T$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@(H���]��H�T$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@0H�����H�T$dH3%(uH�����\��ff.����H��dH�%(H�D$1�H�FH�@8H������H�L$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@@H���|��H�T$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@HH���1��H�L$dH3%(uH�����l��ff.����H��dH�%(H�D$1�H�FH�@PH������H�T$dH3%(uH�������ff.����H��dH�%(H�D$1�H�FH�@XH������H�L$dH3%(uH��������f.�f�L�
����H��dH�%(H�D$1�A�qH����tH�FA�AH��11f���u+A�2�I)�I�4q�
@f���u
H���FL9�u��Hc�H9�2H�5�D�
�H�HH9�|H�H�H��9|�r�9<�v!H�P�H9�}�1�H�|$dH3<%(u
H��Ð�������@��AV��AUATUSH��dH�%(H�D$1�	�tGA����A�ԅ�t^1۸L�5p�fDH��H�� t>A����t��D��������t�H�T$dH3%(uaH��[]A\A]A^�fDE��tEH�-�� ������2t"�EH��D��t��D���b�����u�����2u�1���
��ff.�f���S1Ҿ@��H��dH�%(H�D$1������t%��H�\$dH3%(��H��[�f�1Ҿ�������������������H���H�����HɁ��H�����H�d�E�H�A���%�H�JH9��n���H�H��H�H�4v�4�H�9�w�s	H�z���u�H�RMc�I�H�
�B���1������ff.�@��S1Ҿ���H��dH�%(H�D$1�������t%��H�\$dH3%(��H��[�f�1Ҿ@�������Ɂ���������H���H�����H������H�X�E�H�7A��A���&�H�rH9��n���H�7H��H�H�I��H�9�w�s	H�z���u�H�RMc�I�H���B���1�������ff.�@��S1Ҿ��H��dH�%(H�D$1�������t%��H�\$dH3%(��H��[�f�1Ҿ@�������Ƀ�����H����H�����H�W�H����H�7�"�H�rH9�|�H�7H��H�H�I��H�9�w�s
H�z����u�H�RH���D��G������D��H��A�cE1��cdH�%(H�D$1�L�#����0@r
�AH�A94�r(vFD�I�E9�&C�������H�A�����9�v�D�AE9�~�1�H�T$dH3%(uH���Hc�A�������N��ff.���ATUSH��D�dH�%(H�D$1������F�H�OA��%I�$H�\��*���������B�4�A��A��H��H9�t]Mc�A����1N����v�E��T��A���+w�D������k�A9�u���Y���w�A�H��F�D�H9�u�fDH�\$dH3%(D��u=H��[]A\�@�4�D��A�Ek�A���F�D��[���f�A���#����H��dH�%(H�D$1����vS��A��E1���L���@L�@M9�|(K�H��H�H��A��H�H��9�w�s(L�H�M9�}�1�H�T$dH3%(u7H����u�H�=���L��D�)ȉH��NH��H����a�����H��dH�%(H�D$1����vS�~3A� E1�� L�ƭ�@L�@M9�|(K�H��H�H��A��H�H��9�w�s(L�H�M9�}�1�H�T$dH3%(u7H����u�H�=g��L��D�)ȉH��,H��H���������H�����dH�%(H�D$1����+wgH�щ��M\��A�%I�$���	��i�L���)Љ����A���a�Q������A��1�k�)ׁǧ����y������H�t$dH34%(uH������f���H��A�=A��1�dH�%(H�D$1���I���������L�$�'f�H�pL9�@J�H��H�H��I��H��H�DRE��H�H��I��H��H�RD9�w�A9<�v L�@�L9�~�1�H�|$dH3<%(uH���A�D����D��@��AWAVI��AUATUS��H��8�/H�|$��dH�%(H�D$(1�����A�Ņ��DE����C�M�~�D$I�D�A�H�D$H�D$$H�D$�8f��D$E��H�L$E��D�AD�I���D$Ic�A����L9|$tEA������H�T$�މ�A�������t�E9�wE��u��l$$HcD$I��H�t$�,�L9|$u�H�|$D�����H�L$(dH3%(uH��8[]A\A]A^A_�A������AWAVI��AUATUS��H��H�|$�t$DH�L$HfD�D$BdH�%(H�D$x1��6Hc��D$H������I�H����1����>H�D$�D$D1��H�D$(H�D$`H�D$0H�D$\H�D$ H�D$lH�D$8�H�D$H�t$f�|$BH�T$0�<���H�t$ �[����������[�T$�D$\)�9��������D$�+DH�D$`I�������D$���D$9D$\���\$H�D$`�<�H�$���A�Ņ�t�A��Hc݅���H��A����I�L�<�B�|8����A9�r؉�D)�H��I�6H�|�L��g��H�D$`H�4$��I�B�8�_����;l$�MH�\$L�|$B�<��K���A�ą���B��I�������H�L$H�AH9L$(��H�D$���f���E1�1�H���i������������������H�D$H�L$H�T$8H�t$ �<��"������b����T$�D$\)�9�����t�H�|$81��4�I���H�����4�9D$\w�H�L$H�AH9L$(�e�����H�L$H�H�L$xdH3%(�CH�Ĉ[]A\A]A^A_�f��L$DI�>�D��)�Hc�D$H���Q��I�H��t?�D$\���L�<�1��z����D$DI�>�)�Hc�D$H�����I�H�������H�D$H�����������]����L$DI�>�D��)�Hc�D$H������I�H��tċD$\�����Lc���mf.�I����tLI�N�<�B�|8��r���A9�r݉�)�H��I�J�|�J�48�4��H�D$H�L$��I�B�8������E1�E1�H����N�<�1������ff.����H��dH�%(H�D$1�H�D$dH3%(uE1�H������ǽ�����H��dH�%(H�D$1�H�D$dH3%(uA�H���y���脽��@��H���j!A�)1�dH�%(H�D$1�L�
��)� DH�HL9�(J�H��H�H��A��H�H��9�w�s L�@�L9�~�1�H�t$dH34%(u.H���H���T�H�.H�P���@�F����Ҽ��f���H���j!A�)1�dH�%(H�D$1�L�
D�)� DH�HL9�(J�H��H�H��A��H�H��9�w�s L�@�L9�~�1�H�t$dH34%(u/H���H���T�H�~
H�P1��
f;Juʉ���!������H��dH�%(H�D$1�H��H���������H�$�r���H�$H�T$dH3%(uH����Ի��@��H��dH�%(H�D$1�H�t$�D$���������D$H�T$dH3%(uH���舻�����H��dH�%(H�D$1�H�T$dH3%(uH����N���ff.���H��dH�%(H�D$1�H�D$dH3%(uH�������ff.���H��dH�%(H�D$1�H�T$dH3%(uH����κ��f.�@H��H��dH�%(H�D$1�H�B��H��H9��=L��H�H�Ic�L�>��fD�V�H��H���H�N��v�H�W�@�w�H�q��I�H�z��J��V�L�N�L�G��W�A�q�I�I�I�P�A�p�H�q��I�H�z��J��V�H���W�H����H��H���V�H��H����u���DH��H���H��H���W��H��H���W�H�N�6H�W@�7H�q�	H�z�
�L�NL�G�A�1I�II�PA�0H�q�	H�z�
�H���H���f�H�D$dH3%(u{H���v�L��Ic�L�>��DI��I�����DH��H������DH��H�����DH��H���O���DH��H���h���DI��I���I������H��L�wdH�%(H�D$1�L9���H��1�E1�� D���t�A��H��fA��w:I9�v5�D�I�fA��	v�D�I�fA��w<��A��H���t�fA��v�fDH)�H��2H�T$dH3%(u"H���D�I�fA��w���t��1�1����!������H��dH�%(H�D$1�H	wH�D$dH3%(uH������f.�AWAVAUA��ATUSH��(dH�%(H�D$1�H�B �R*f���f;8�
������H��H�<�H)�H�,���f9��H��8H9�u�D�e2H�E(fE���"�fD9�slH��1���
f9�s`��H��fA9�u�A��D��D��L�<	D�u0J�48fD9���fD�.f�E2H�D$dH3%(��H��([]A\A]A^A_�1�@fA9�s�D�u0��L�<	fE9�thJ�48fD9�s�A����H�|H)�Hc�H����H�u(L��@H���"���fE��u*�H�L$�ˢ��H�L$H�E(A��fD�u0��K�t6H��H�L$�~���D�u0D�e2H�E(H�L$��1�1�E1�1������&���fDAT����UH��SH�� dH�%(H�D$1�H�B@��H���,�f9�t=w_D�BXfE����H�BPA�p���H��H�t��H��H9�t7f9u�f9iu�H�D$dH3%(��H�� []A\���؉���fD9BZtfB���JXH�BPf�l�f�BX�J�4� H��H�T$�{���H�T$D�BXD�bZH�BPA��fD�bZ�D�bZfE��tH�BP룿 H�T$�]���H�T$E��H�BP�����f�AWE1�AVAUATI��U��SI��H�H��8H�Z@D�rJ�|$H�T$dH�%(H�L$(1�H�\$fE��u��A��H��(fE9�tBfD9ku�H�sH��L��������u�H�L$(dH3%(D���kH��8[]A\A]A^A_�f�H�D$fD9xHttH�L$A�F�T$f�AJA��H��H�L$H���C�KfD�;A���9���H�H�4f����H���A���H�CH��fDl$fD�k�f.�A��H�|$H�t�(H�����H�L$H�A@�YHH��H��H�xH�Hǀ8H��H)���@1����H�H�D$H�H@f�@HD�pJH�L$����@H�{�D$H��L��f�C�0�������H�{�b���D�kH��H�C�7����ZHE��f�������@A���T���H�L$H�A@�J������SL�wH��dH�%(H�D$1������L9���H��E1�H�W�E1�@�0f��,tOD�N�fA��	wT��0O��Hc�N�FI�� v7H�������H)�H�L�H�T$dH3%(u<H��[��N�E1�H��I9�w�H)�H�M��t�H�
։N��1�E1���$���@AVAUATUSH��dH�%(H�D$1�H��tcD�A��H��D��E��tA��H�~0H��H�Gf�xu:�kD�sfD9�tOH�C�Uf�SfD�,h�3��tH�S0K���H�Bf�HH�D$dH3%(uTH��[]A\A]A^��f��t+H�{H�t-蕹��D�s�kH�CA��fD�s�D�莝��H�C���3���ATU��S��H�� D�A8dH�%(H�D$1�fE����A��H�y0A��A��H�w�f���H��
fD9�t;fD9u�fD9Vu�fD9^u��H�\$dH3%(��H�� []A\�fD9A:tYK��1�f�tG�A8H�y0H��H�Gf�X�A8L�A0H��I�@f�h�A8L�I0H��I�Af�P�A8�Pf�Q8�DK�t�(H�L$H��T$�b���H�L$�T$H��D�A8D�a:H�A0A��fD�a:�i���D�a:fE��t	H�y0�U����PH�L$�T$�3���H�L$E�ċT$H��H�A0��ȯ���AVAUI��ATI��UH��SH���>dH�%(H�D$1������9�vA�$A�}�ML�uf���#A�4$A�L��1�9�r�g��9�vZ��H��f9�u�f9M
����M�4ƃ�f�MA�$A�A�EA�FH�D$dH3%(��H��[]A\A]A^�fD9���f9M
tZ��M�4�f9�s�����I�~L��)�Hc�H�����M�D��)A�$A�}��)A�EA�<$����f�H�4�@L��谶���MI��H�E�E
��f�E
�{���D�BA9E�c����/����]
f�������@臚����I��H�E1���%���D��AUI��ATUSH�_H��H��H�JdH�%(H�D$1�H��H�09L�eH��H�$L������I�ML��H��H�AFH��H�$��I�ML��H��H�afH��H�$����H�D$dH3%(uH��[]A\A]��t���@��AUI��ATUSH�_H��dH�%(H�D$1�H	wH��H�JL�eH��H��H�		L��H�$�`���I�ML��H��H�

H��H�$�@���I�ML��H��H�

H��H�$� ���I�ML��H��H�H��H�$����I�ML��H��H�����H��H�$���H�D$dH3%(uH��[]A\A]�耬����H��dH�%(H�D$1�H�D$dH3%(u�`�H���%����@�����ATUSH��dH�%(H�D$1�H���[f�H���=f�{:�"1�f�{(u�M��S(H��H9�v0H��H�S H)�H��f�x0t�H�x(H��茝���S(H9�w�f����1�f�{Hu�d�f�xu;�SHH��H9�vDL�d�H�C@I��L�f�x t�H�x�4���H�C@L�f�xt�H�xH�������SHH9�w�f��u;f�{ZuDH�D$dH3%(u}H��H��[]A\���@H�{ �ל���X���f�H�{@�ǜ��f�{Zt�H�{P跜���DH�{0觜������f�H�藜�����f�H�D$dH3%(u	H��[]A\�袪��f���AWAVAUATUSH��dH�%(H��$�1�H���>f�?�4H���+H��H���1������1�H��H�A1�f�A1�f�y*f�A8t-fD��L�u E1���H��H)�I��fD�x2f9U*w�1�1�f�}Jf�E*t6f.���H�M@1�E1�H����H��f�\H�M@fD�d"f9UJw�H�\$hE1�L�<w�����H�\$H�\$lfD�mJH�\$ ��U����I9����L�of��*���Mf��?��f��|�Of��+��f�L�L$p�L$`)D$p)�$�)�$�HDŽ$���\����^�O
��$�F
��[����.�<���$�f�D$rH�EH����M9����T$rH��t
f���,��f����H�EH��H�E��fDH�u���TV���f�������}����f�M�4F��tL�]0��1�H��I�Cf�X�M���f��t2��H�ED�Uf�M���<HE��tL�E0��E1�H��I�@fD�HH�������Mf���e�����H��$����H������UL��$���D�����Mf����H�u���TV���f���_������f�M�4F�E��tL�m0��E1�H��I�DEfD�p�M���f��t0��H�ED�ef�M���<HE��tL�]0��1�H��I�Cf�XH�����Mf���d����Uf����������EH�t$pH��f�D$p���f�}J��E1�fD�$fD�$L�m@1�L�$�I��M�fA�}t I�E��H����<P�r�fA;]r�E1�1�fE�M�]f����L�l$1�E1�L�d$DH�UA���BH�U0H�4�H���tr@L�,�D�N�M�E��J�<*fA��w�L��{Oc�M�>A��@f��(�Nf��)������Mf��tH�}���TW�f������E����fDL��M9��<���A�U�J�f��]w+��H�-}f�����4��s
f��(������H��$�]�H���P�L��$����DH�}���TW���f���t��D�E����f�M�4GE��tL�U0��E1�H��I�BfD�X�M���f��t2��H�ED�Mf�M���<HE��tH�M0��E1�H��H�AfD�@H�����Mf���a������@�H��$��L��$����D��H�����S����fD��H����
�3����fD��H�������n���fD�E����E1�H��$�dH3%(L����H�ĸ[]A\A]A^A_�f�D�o�H�����A��H������EA��fA9��q���L�d$f��t=��H�U�}f�E���B��tH�M0��1�H��H�Af�pf���t	�Ef��u���L�m@M�A�E"A�M A���9�~&H�H�4�H�f����H��裏��I�ED�fA�] D�u*H�] fE����1�L��E1�A��H���@A��H��8fD;e*slL�m@I�f�{2t�A���H�L$A��L�<�I�EA��H��8M�fB�T8H�s�H���{����L�m@H�L$I�I�UfB�D:E1�fD�{�fD;e*r�fE�u"�UJf�$�$f9������Ef���(E1�H�E@E���fDA��fA9���A��H�4�fD9$�u�fE��t�A��E1�\$��I��fE9��sK�T�fD�l$fD9,�u�E1ۋ|$H��D��fD�]X���f�}XH�E@�;H�uPH���>�vH�<�H�4�L�<�L�4�A�_fA9^u�1�A�F"fA;G"��fDf����I�~I�w�Of9N������L��1�M���D�TH��
fD;T��I9�u�1��	�I�~I�w�Љ$H��H��t�|H���	��$��fA;F"r�H�U@�uX��H��f9���H�}P��H�4��>�vH�<�H�4�L�<�L�4�A�OfA9N�����A�F"fA;G"����I��H��fE9�������UJA��fA9��C���f��tF1�1��"f�L�U@H��H��(��I���f�P�f;MJs�f9�u؉�H��(����f�P�f;MJr�81�薌��f�H�M I��@@@(H�E��f�}(I�u�<@��f9](v/��H��H)�H��f�x0t�H�x(��躑��H�M f9](w��E*H�]@I�N�E(A�~ fA�F�EJf����	��1���H�D�L�$�H��f�f9u����fA�~ �H"fAN0H��(L9�u���H���‹��A�~0I�FI��H��譋��H��E1�I�F(��H��(L9�����fD9u�I�E�V"fA�U�NfA�Mf��������H�|�1ҐH�NH���Lf�H�H�N�LH��
H����f�H�H9�u�I��A��H���@D�g�H�<�H�<zD�_E�C�fA���k���L��tE��Oc�M�>A��DD�o�wH��D���G�A��H��D��A���0�A��H���А��H�U0��H�4��tr���fDD�o�wA��H�����A��H���п�DA��H���tBD�����D�o��A��H���f��w��H�����A��H�����W�����wH��D���\�H��D�����)���f��A��H����}��u����D�gH����
D����H��D���������D�oH����������A��H���A�Ŀ�+���H�D$A�fD�@��D�gH���������A��H�����P���H����������V�H����H�E0B�|(�����@M9��D	�OL�o�ȉL$`��Pf��(�`�H�=r��Hc�H�>��fD9d$�u���f���l���1�f�H�uP����H�4��>�vH�<�H�4��<�f�<�f;UXH�E@r��UJ�-����I�}���E�u"I�E�j���f�1���^����f�D$rD�u*L�U fE���~�L$rL�D$xL��E1�L��$��A�f�$��$��D$��$�f�D$H��H�D$0H��$�H�D$(f;KubL;Cu\L;[uVf�<$��f��t5E��J��L)�A����H����
���������D$;Ct��A��H��8fE9�u�fD9e(��A�FfD�t$pfAo	f�E*J��L)�I��fAoQPfAoY X I�Q0H�P0�D$p�k���@�D$f;C u�L�L$PL�\$HL�D$@�L$<f��t8H�sH�T$0L�T$XH�|$(�՝��L�T$X�L$<��L�D$@L�\$HL�L$P�=���f��$����H�|$(�̋��L�U ����L��M��H)�f�^M�d����L�<$E1�1�I��L�l$M��M��f�D$r�@��:�W������$��������
%�I����	؍��\$dA����f�}-�\$l�\$h��L�u1�A��A�G���MM9���A�f��]��I�n�D$d��\�\���I9��A�FI�n�‰D$d��Pf��(�@���H�=�o��Hc�H�>��D�M��f�ME�������L�e0E1��OH��I�TfD�r���\$lI�OH�T$ I�|$1�H�t$��E1��9���f��\$lA��t�\$hI�OH�T$ I�|$I��H�t$���\$d��(��=�����E1�f�}-����\$hL�u1�A������E��L��L�$I�D$H�4�H)�H�������](L�$H�E ��H��H)�H��H�xH�Hǀ�H��H)����1����H�f�E(D�u*L�U �������$�L�$��T$rL�$��$���H���o���L��L)�H��
vtL��:1�H�S�&f��:��H��I9���H�JH�D$(H��t>D�\$H�rL��L����H�D$(D�\$L9���I������D$df.����X����\$dI�(��=�������;����f�D$r��1�L����pL����L)�I�QL�$��H�MH�f�D$r�|��T$rL�$M�lEH�EH����M9����f��������$���(�����vCH������T$r�b��E���H���S���A�~0I�FH���A���I�F(��A�U��$f����)��
��I�����	�����$��DŽ$��f�|$rf�H�EH����M9�����M���M9�����G�ƒ�߃�Af��v
��0f��	�l�L��L��H�T$`L�$L)�H��V���L$`L�$M�lE�@�DŽ$�
�f�D$r�z���DŽ$�
�f�T$r�`���DŽ$��f�L$r�F���DŽ$��f�t$r�,���DŽ$��f�D$r����DŽ$�	�f�D$r����D$d	����D$d
����D$d
����D$d����D$d�w���L�w��d����D$d�\���I9��|���A�V�у�߃�Af��v
��0f��	�\���L��H��H�T$dD�\$H)�H����D�\$H�lE�D$d�.���L��I�OI�T$H��H)�D�\$H�����|$dPD�\$L�tE�a���H��$��T���@�RH�
��&��H�RH�у��U����JH��������0f;2u�$����f92����H��H��u��h�����O��������H������E�����o����](f���C�����L�$�D��L�$H�E ����M��M��L��L�l$L�<$M9�vfA�>]���E����M)�I�O�lu�T$r�K���f��\�t���A�U���f��Ut
f��X�\���I�]M��L9���I��1�����t�I��M9���A�D�R�fA��	v�D�R�fA��w5���t���L��L�l$L�<$M���`���L��L�l$L�<$M��I���O���D�R�fA��w=���t�됉�I���.���M��M��L�l$L��M��L�<$�E����M)�I�M���
�����$���t$`���w8L���
��H)�M�l�����	֍���$��X����D$`H��������T$r���c����D$d���f.���USH��dH�%(H�D$1�H����1�f�H��u�\��E��f9�vD��H��H)�H�UH���B��f��w�f�z"t�H�z��覂���Ef9�w�Df��u3f�} u<f�}0uEH�D$dH3%(u\H��H��[]�g����H�}�W���f�} t�H�}�G���f�}0t�H�}(�7����DH�D$dH3%(uH��[]��D���@��AWAVAUATUSH��(dH�%(H�D$1�H���PI��H���D1�f�I��H�_u�T@��H��8fA9n�>�C��f��w��1�H�mhL���xx��f�{ ��H�{�tf�{��L���H�=6h�.���1�1�A��1f�D�yH���L��1�D����x���D��A�� �HD��D�y��H�H�Ct�f��t�L��,�L$����L$�@L���H�=�g觖��f�}��@L��
H��觊��f�D$�D$fA9F wEH�D$dH3%(�
H��([]A\A]A^A_�f�1�fA�~ I�nL�-�ef�D$t�fD�L$1��L��H�7g�%w��f�}�J���f�}�g���1�DD��H�UN�<�L��
H��H)�I�NH��f�yw8�AIcD�L�>��f��
L��H�=�f藕��H�UL��J�L��1�H��f�v���M�Ã���9����f9������f���U���L���H�=af�4����7�����
L��H�=_f����H�UL��s����L��H�=0f���H�UL��K����	H�5fL��1����u��H�UL��#����I����=��w`f����
�L��D��������1�H��e��E���~u��H�UL�����f�L�� �s����U���f.�H�te��L��1���7u��H�UL����L���H�=,e�����f.�f��t
L��]���L��
���,���L��[�߇��f�{�CH�{�b���f�{ L�{t�E1��fDf����
�L��D��������1���E��H�id�nt��A�A9GtUL��-�h���E�GA����=������
fA���L�獈��fA��$H�d1���E���t���C A��I��fD9������A�����=���F�����H��cL��1����s���Z���L���H�=�c蟒���l���f.�A��H��cL��1���s���q���L��^脆��H�{���������蟊��ff.�@��AWAVAUATUSH��x�t$<H�T$L�D$HL�L$PdH�%(H�D$h1�H����H����I��H���vL�l$H�M�~M��I�D
H�H�L$XH�D$H�����H�D$ H�D$1�f��ulL;l$seA�mM�E��f(f=�wL9D$�}��L�L$0L�D$(�?L�D$(L�L$0L�a��tj�D$<tc1�M�h�t�f�����1�H�|$���H�|$HH�\$H�H�|$PH�\$ H�H�|$hdH3<%(�{H��x[]A\A]A^A_�A��E�_�����1ۉD$(A9�~iI�wL�4�J�6�H��H)�I�QL�$�A�T$f��w.��Ic�L�>���
����
���|$(��H��A9��fA�?��M�Ÿ����L;l$����
����
�������|$(w�M��@H�|$���L��H+D$H�H�D$ f����D�yI�qI��I�L9D$�=fA�?��H�D$XL�l$H�D$ �����I�|$H���RA�|$ I�L$1�f���L1�f.�9,�w9l�A�AC�H��9��f��u����������I�wH�|$�J�6�/���L+l$I�L�l$f���/���M�hL9l$vv��
uqfA�x
��D�y1�I��My�A����A9l$�u��������D$<�������
�\�����
�S����|$(������C���M������M������E�_����fDM��L;D$�Z������R���fA�8
�G���M�hM���;�����L�L$@L�D$0�A�|$ I�L$L��]L�D$0L�L$@f��A�T$���������A�E��$f����m�����
%�M�E���	荨�N�����L�L$0L�D$(�OL�L$0L�D$(L�b]������H�����M�yM��H�D$ H�D$1������I�����������I��I��C���H�����H�|$ H�|$����f����������1�����A�Wf����I�M�Y�H��H)�fA�|�t/H�G��H���H9�tQH��H���H��H)�fA�|�u�D�H�D$ M��I��I�fA�?HED$XfA�?H�D$ ������M��1����L�l$1������τ��f.�D��H��dH�%(H�D$1�H�D$dH3%(u	H��鏹��芄��f.���H����L��]1�dH�%(H�D$1�E1�1�A�f�D����H�H��tMIp��I���� u�H�D$dH3%(uD��H���%���������H��dH�%(H�D$1�H��t6�D�A9�uIE��t'H���fD�L�D�D�D9�u*H����tH9�u�1�H�t$dH34%(uH���fDD9������葃�����AVAUATUSH��dH�%(H�D$1�H��tCI��I��I��1��fD��t,H��I9�t#A�|��Q���A�<����F���9�t�����1�H�L$dH3%(u
H��[]A\A]A^�����@��H��dH�%(H�D$1�H��t;u�-D9t$H��H��u�1�H�L$dH3%(u
H���H����覂��fD��ATUH��SH����H��dH�%(H�D$1�臸��H��t*A���DH��H��t�;�g���A9�u�H���D1�H�L$dH3%(u	H��[]A\��(������USH��dH�%(H�D$1�H��tH��H���;H������C�H��u�H�D$dH3%(uH��[]��ȁ�����AWA��AVA��A��AUATUSH��H�t$8dH�%(H�D$x1�H�H�_Lcg�D�|$H�D$p�m��H�D$(H���G�;�^E����A�����{A���A�L$��H����H������A��H9�u�E9���H�D$(I�t$�D�`迄��H��H���
H��L��H��赋��H�D$(H�\$8H�hH�1�f���H�\$xdH3%(�ZH�Ĉ[]A\A]A^A_��A�D$Hc��D$@�l��H��H����Ic�H�D$XA�����{���s���D�d$H�A�D$�D�t$I��H��I��H��I��H���fDI��B�|-�N�|-�L��C�D|t
�Z���H�B��C�D.�E��A�EI9�u�H��D�d$L��D�t$A��E9���H�D$XH�<���k��H�D$ H�����s��Ic�H�L�H�0�DN��H�L$to���H�L$H����]A�D$Hc��D$@�k��H��H����E�}�H��H��Ic��!���Ic�H�<�H�D$X�lk��H�D$ H���[Ic��D�H�L$ �H�q�Rf�A�D$Hc��D$@�/k��H��H���cIc�H�<�H�D$X�k��H��H���_H�D$ E1�E1�H�D$lA��D�d$H�D$HH�D$pD�t$DH�D$PD9l$~Mc�J�<����\H�|$ H�L$HH�T$PH)�H������t$D���%�T$lH�|$p��~+��H��H�L�D���wIc�A���T5H��H9�u���o���D$H�D$pD9���T$@D)�D)�9��@E�uD9t$�uMc�B�<#��Ic�Mc�E)�H�l$0L)�I��I��I�D��E��I��L���f.�C�<'I�D$�@I�ċL$G�l'���t*��p��I��H�H�|$�Dxt�€��H�|$H�D�,�A�<.F�l#���9l$u�H�l$0L��H�D$X�T$�\���t-�|$L���|p���|$H�B�D`t�h����|$H�B��D�Hc��\=H�|$ �n��Ic�H�\$8�DH�D$(H�1�H�hD�x����1��@H�|$ H�t$�in��H�t$H���\n��H���Tn��H�|$(�Jn������D1��1�H�D$ ��Mc�E���D$N�d#���t�o��H�B�D`t���H�F�$�H�D$ D� H�p���D�P�H�
&�&�������H��F�LL���&��E��iHc�L�WA"A�M���Hc�L�A�������5D�R�E�M1��$f��LH�����������A���?	�A��I9�uˋ|$���IH��A�����A��H�l$0L��A��E������f.��t$lH�|$pE1��Ϸ��D�t$@�D$l��~Uf�D��D)���D)�H��E�tIc�����H����H��H�D$pIc�H�B�<�I����v��ANjD$lD9��D�t$@H�|$p����L$@)�H��DHc�D$@跂��H��H������H�����H�t$p��:ǖ������t����Hc�L��UA"A�M������q�������fDH�t$p��q���f���V����>�L$0H�t$����H�t$�L$0����H��D�d$L��A��D�t$����D�������0����'m��H�L$XH�H�\�H��DXt�
}��H���H�D$ Ic�A���T���A��o���E1�A����E1�A����H�D$ �����;y��D��������AWAVAUATUSH��H�T$dH�%(H�D$81�H���YH�����FD�wA9ƉD$�D$$AN�D�t$ �D$�����D$L�oH�^���D$HcD$M�dM9����fDD�;E����D�D$E��tQ��k��H��H�0H�<$�D~tH�t$��{��H�<$H�t$H��,�I���D~H�<$t�{��H�<$H�D�<�@��A��I��H��)ȅ��FM9��eA�m@���g���L��L)�D$�T$�����D$���D$�(Hc|$D9���H������d��H�$H����t$ I��1�E1�:�f�A����y���H�5��&���4A��I��D9d$ ��Mc�L��M�L���l�����u�H�<$�D$�i���D$�@E��tk�H�T$8dH3%(�	H��H[]A\A]A^A_�)D$�T$������D�|$I��H��A��D)|$�D$E)�D�t$ �D$$���DD�L$1�E��������Ic�H�����@1�H�������c���f��L$���Hc|$$H�$�l$ H��H�D$(�b��I��H���(�T$$���M��E1�E1��:fD�E���y���H�
I�&���A�A��I��D9|$$��Ic�L��H�H���k�����u�H�|$(�g��L���g������M9��/A�}������;��������fD�|$�������D;t$��A�}�����D��+D$�L���f�L�$$H�L$ H�T$(��L��訷���t$ H�|$(�����D$ ��E1�fD�D$��L�d$0D�t$$D9t$ �D$L��DNt$ H�|$(Icօ����|�H�|$(�D$��f��H�|$0��f���D$��������T$$9T$ �������������������6����;������(���fD�D$$9D$ �g�����D;t$~A�}������L$9L$������E���H�L$$H�T$0D��L��覶���t$$H�|$0����L��A�ƉD$$�f��L�d$0�����*��)���H�<$�e���D$$9D$ ����E����t��@��H��dH�%(H�D$1���:ǖ�����1��H���H�H�cb��H�H���&H�BH��&H�BH����H�B H����H�B(H����H�B0H�b��H�B8H����H�B@H����H�BHH�a��H�BPH�v��H�BXH���H�B`H�`��H�BhH����H�BpH�*	��H�BxH���H���H����H���H�#��H���H�U��H���H����H���H�y��H���H����H���H�]	��H���H���H���H����H���H����H���H�%��H���H��&H���H�9�&H���H���H���1�H�L$dH3%(uH����Hr�����AWAVI��1�AUI��ATUSH��(dH�%(H�D$1�H���.]��������$D�d$H�-��&H���[��A�Dž�u���&�P�9���9��.H����&D�%��&�]���Ņ���A�]E�&H�L$dH3%(���H��([]A\A]A^A_��p��E1�1ۋ(��u��n������Ai��D���H�}I��H�H�&H�81��Y��H�
�L�xH�5�|H�=�|�[������&D�b��A��?B�1�����E1��&���@����h����H��|I��H�Ѿ&H�81��Y��H�
L��H�5<|H�=R|�8[����f�&D9������z����p�����USH��dH�%(H�D$1�H��ta�?$��H��uVH��H��tH���Fo��H��H��t.H�}(�b��H�](1�H�T$dH3%(u&H��[]�����f��$������o��@��H��dH�%(H�D$1�H�D$dH3%(u	H���u���o��f.���SH��dH�%(H�D$1�H�����?$��H��u	H�G(H��tH�L$dH3%(��H��[�H�=�J�$m��H��tH���Gn��H�C(�ǐH�{8H��JI��1�E1�H�5>���X��H�S(H��u	H�4$H��u/H�5�JH���0i��H�C(�f.�1��o���f�H���i��H�<$�V��H�C(�L����n�����H��dH�%(H�D$1�H�D$dH3%(uH�?H���q���n�����AWf�AVAUATI��USH��H���dH�%(H��$�1�H�l$@H�T$H���D$��Qh�����y�D$@f����f��
��H�
��&H�EH�uH�UH3H3QH	���H�H�t$0H�D$$H�sH�;H�T$ 1��w���Ņ�uWH�C�S0�PD�S4H�C�PHH�KH�S H���[H�sL�CL�L$H�;�����Ņ�u�D$A�D$H�D$I�D$��H��$�dH3%(���7H���[]A\A]A^A_�fD�D$D����H�;H�t$��o���Ņ�u�L�l$I�E��D$ I�E�@�D$$I�E�@�D$(I�ED�xM��tgL���L�p�p��H��H����H��L��L���w��H���T��Kk���(�;���@H�H��H�D$$H�l$0������Qp��H��H���D�H�;L��H�L$0��U��H�|$0�n�������f�H�KH�sL�D$H�;�˖�������@���l��@AWf�AVM��AUI��ATUSH��HH��$�L�L$H�\$pH�kH�D$H��dH�%(H��$81�D$xEE H�D$@H�D$H)D$0H�|$pH��$�H��$��V`����trA��H�l$@L�d$0H�t$xH��t
H�|$p�l��H����u��H�|$pH�s ��m��H�|$pL���m��D��H��$8dH3%(�vH��H[]A\A]A^A_�f�H�|$pL�K M��1ɺH���c��A�Dž�tH�l$@L�d$0�j����H�D$xL�L$pH�l$@E1��H��H�@DL��L�L$H��$�I�EL�`L���tL�L$=�:ǖA���G=�:ǖ�<L�d$0�������H�|$pL�d$0H�����D$ �H�D$PL��H�����H�D$XH�\$`�l��I�UjH��jA�1�jH��H�D$8PH��$�PATH��$�L��$���H��0A�Dž��u���L�D$H�t$xH�L$$L��H�|$p辕��A�Dž��N���M��t�D$$A�L�l$M���4����t$$H�|$pH�T$(�^��A�Dž�����L�t$(L���[��L�l$A�EA��L���U��H�L$H�AH����L��L��H���Zn������DL��A�H��L�ϹL�d$0�sA�Dž������1�H�|$HH�D$@u$����@�H��H�H;T$H�u����xu�@H�8uыH��t��
u˹��f�H*�A��9����h��f���H�� dH�%(H�D$1�AQM��I��1��i���ZYH�T$dH3%(uH����]h��ff.�f���H��dH�%(H�D$1�H�D$dH3%(u	H�������h��f.���AWAVM��AUATI�̹UH��SH��H��H�$L�l$ L��$�L�D$L��I�UdH�%(H��$�1��H�H���c����t+H��$�dH3%(��H�Ĩ[]A\A]A^A_�f�H��I�L$I�uH��jA�T$L�
��L�߂�Fg��Y^��tL��H�߉$��h���$�D1�L�D$L��H��H���3p����u�H��M��L��H��AWL�D$H�t$(H�T$�<d��H�߉D$XZH�t$�o���$���f��f.�DAVAUATUSH��HcwdH�%(H��$1���vnI��H��G�oL�gf��D�h�f��t}H���1I�~IcvL��PHc�H)�I��I)�L9�*H�A��M�dfA���tGH�A�H��L���W����y������H��$dH3%(u(H��[]A\A]A^��f��M�f1�fA�n ����e��f���AVI���(AUA��ATI��US��H��dH�%(H�D$1��R��I�H���D�(H�ʼnXH�@H�@�1Y��A�Ņ�����H�}H����H���m��H����H�E�UA��H���]�uL���P��Hc�H�����v�jf�H�H9�w���xUH�����wL9E|��EH���;�����xV�H�L$dH3%(D��uIH��[]A\A]A^�H���(Q��H���m���A�����H�}H��t��V��H�E�A����A�������d��ff.�@��H��A��H��H�dH�%(H�L$1�H�L$dH3%(uHc@I��H��H��L��H�4�V���?d��ff.�@��SH��dH�%(H�D$1�H��t2H��H�H��t��U��H�D$dH3%(u'H��H��[�U��@H�D$dH3%(uH��[���c��D��AVAUATUH��SH��dH�%(H��$1�H���G L�w�P�f�W f���I��I��H�H��Icu� �A�E MƍP�fA�U f����H�A�H��L����T������IcuI�}L��H�H)�H��H)�H9���L�H��H��H)�H)�H����H��H)�H�T2�H�����P�H��	�H��H)�H�L1�H��~h�HD�@	L�p
I��M���I)�D	�M)�D��M9�@��A;U�+�����@��	���A;E������K�M�4$�MI�E1��
@�������H��$dH3%(uH��[]A\A]A^��b��ff.�@��AWAVI��AUI��ATI��USH��H��HdH�%(H�D$81�H�l$H�D$H����N��H��t	�;�.L��H���SJ��H�\$H���eH�|$��H���������H�|$H�T$H���������L�d$M�����D$����E�<$�I��M��I�H��tjI�t$L��H���7f��B�8H��J�D8��8.u�1�I���t9H��H�5�<L��1���b���#I���tH��H�5�<L��1��b����:ǖH�|$���H���R��H�L$8dH3%(��usH��H[]A\A]A^A_�f.�H��1�L��H��H�5#<�yc��H�D$(H�\$H��������|�.�����H�5�=H����H��H�\$���f���{����1`���AVI��AUI��ATI��UH��SH��0dH�%(H�D$(1�H��H���
M��1�L��H��H�5�;��b��H��tH��H�5�;H��1���b��A�UI�4$H���l��H�T$H�D$H��t�|�.u"H�L$(dH3%(u(H��0[]A\A]A^�DH�5�<H���H��H�D$���m_��ff.�f���USH��dH�%(H�D$1�H��t%H��fDH�{H�+�P��H��H����P��H��u�H�D$dH3%(uH��[]��_����AWAVAUI��ATUH��SH��H��XH�L$(dH�<%(H�|$H1�H��VH�D$8H�~1�H�D$@��F��H����H�sH�{1�H��I���[���H�D$ H����I���tH��H�5Q:L��1��?`��H�t$ H�|$@���V������VH�D$4H�D$H�D$8H�D$f.�H�T$H�t$H�|$@�L������L�|$8M���HcD$4H����A�A�W��	�H����A�o� ���A�o��	��a��I��H��������X�h�D$4�P�Hc�H��H�T$H�������La��H�T$H��I��toL��I�w�Ch��I��I���M�Ft���H�5?9L��1��
_��M����A�NL��A9L$~��;H|H��H�H��u�I�L�2����DI�FH�|$@���H�|$ �N��H�D$(L� 1�H�|$HdH3<%(uEH��X[]A\A]A^A_���~`��H�T$H��I��t�H���8����$���M�&M���U����p\����AWI��AVAUI��ATUH��SH��H��h�VH�~1�L�D$(dH�%(H��$X1�H�D$@H�D$H�GD��H���
H�sH�{L��H��I������H�D$ H����I���tH��H�5�7L��1��]��H�t$ H�|$H�!���������H�D$<H�D$H�D$@H�D$H�D$PH�D$DH�T$H�t$H�|$H������LH�t$@H�|$HH���>HcD$<H���/��V��	�H����n�VH����	�H����D�n�FL�v�H�T$L��A��A	��c�������HcT$<L��H+t$@H�H)�H9���� �G��I��H��������fD�hH�L$�XH�xH��6��h1��}M������I���t"A�NA�VL��1�M�NE�FH�5�6�9\��M��t|A�NL��A9L$~�l@;H|H��H�H��u�I�L�2���DH�|$H���H�|$ ��K��H�D$(L� 1�H��$XdH3%(u1H��h[]A\A]A^A_�DM�&M���E���L���K��H�|$H��Y��f���SH�=IH��H��dH�%(H�D$1��X��H�H�����H�T$dH3%(uH��[��aY�����SH��H��H��dH�%(H�D$1��<X��H�H�����H�t$dH34%(uH��[��Y��D��SH��H��dH�%(H�D$1��[��H�Ԣ�H�߉�1���K������H�T$dH3%(uH��[��X��fD��SH��H��dH�%(H�D$1�H��t?�Gp��t8H�=3��|W��H�H�����H�T$dH3%(u&H��[�f.�H�=��V��H��H��u���5X��D��SH��H��dH�%(H�D$1��H��H���H�߉�1���J������H�T$dH3%(uH��[���W��fD��AUATUSH��H�$H��H�$H��XdH�%(H��$H 1�I��I���|H��H�T$@H�t$� L�D$�lj��_����uK��H�D$H��t?H�8�WV��H��I�$�D�H��$H dH3%(��uFH��X []A\A]�D�H�54�H�=g#�cV����L��H��1���[�����V�����AWAVAUE1�ATUH��SH��H�|$H�D$0H�T$H��H��$�L��$�L��$�dH�%(H�L$h1�H�H�$�C��H��$�1��D$PH�D$XH�D$p�H��$�H�D$`H���!��о��H�L� M��tI����/v�H��H��L� M��u�@��t�T$P�A����M���2H�D$(H�D$�H�5N2H���M��H��H����H��H�<$H��H)��b���}H���R��H��H����H�D$(�;%���{{���8}��I��I)�I����I��H��M��tpM�<$M��L��M��u�b�I��tRI�6H��tJL��H���WA����u�I�~�T��H��H�D$(H���IH�<$H���=��H�|$(��F���
���DE1�H�5L1�@L��H�
]&H��H�4L��H����@������I��I��	u�f��H�51H�=� ���S��H�|$�H��1��oY��H�<$�v?��M��t(M�<$M��tL���L�}M��tL���F��H��u�L���F��H�L$hdH3%(���nH�Ĩ[]A\A]A^A_�f�L��H�6\&H�|$H��H�H�L$H�P�p�P�Å��b���H�t$(����I�}��W��I��H����H��$��D$P1�H�D$XH�D$pH�D$`�3�ƒ�HT$`�D$PH�:�jR��I��H����H��I9��^����D$P��/v�H�T$XH�BH�D$X���H�$H��H���;��H���9U���Å������H�D$8H�L$f�)D$0H�)D$@�����H�5T/�C���H�<$���=�����M�<$H�<$���=���P����R�����H��dH�%(H�D$1�H�D$dH3%(u
1�1�H���?���fR��fD��AU�A��ATI��UHc�SH��dH�%(H�D$1��>��H��trH�ÿH�"��H��C�Y>��H�CH��tPH�I�$H�H�H�hH�HfD�h1�H�t$dH34%(u%H��[]A\A]���ېH���xC������Q��f.�f���H��dH�%(H�D$1��~u"H�D$dH3%(u,H�F��0H���K��H�L$dH3%(��:ǖuH����1Q���H��dH�%(H�D$1��f��tsf��
uMH�GH�F(H�H�F�W��u�G��u	���txH�GH�FH�H�FH���D1�H�T$dH3%(uaH���f�H�GH�F(H�H�FH�GH�FH�H�FH����H�GH�FH�H�FH����HP�����AWA��AVE1�AUI��ATI��U1�S��H��dH�%(H��$�1����D$����D$���
uJ1�1�H��L��L���Y������H��$�dH34%(��H�Ę[]A\A]A^A_��H��$H�T$D��H��H�L$��9��H�L$��tZ�N���롐H��$�H�T$D��H���xI����u�H�T$ H��H��H�T$����H�T$H��tk��tL�rH���-���@L�|$PH��L�����H��tA��tI�_L������f.�1�L������fDH��L��L��L���O9�������:ǖ���N��f.����AWH��AVI��AUATI��USH��H��(dH�%(H�D$1��@��A�T$D�lPL���:��I�H����H��H��H�6�L��1�1�L�=l+�o4��I�H��H�T$�O@��H�T$H�A�D$��u�EI�I�L$��H��L��H)�M�����D�H)�H�����1�H��H���
U��A9l$w�1�H�L$dH3%(uH��([]A\A]A^A_�D����M��@��AWAVAUATUSH��xH�|$H�T$dH�%(H�D$h1�H�D$(H����H�l$0f�H��1�D$4L�d$(H��H��H�E$L���E,E�D$0$�D$8�y:�����9H�D$(1�H�D$H��u�H�@(H��t'H�P�{�f��tf��
u�H�@(�SHc߉�H��u�Hc���P��H�$H����H�$H��H�T�f�H�H��H9�u�H�D$H���CI��1���f��
��L�i�A���8��H�$I��Hc�L�<�M����L��A�"��A�oE�g�O��H��tmD��A����A���N��tA�}@�8@���pI�G��M�v(M���<I�N�f���S���L�i�A��X����I�GH�$H�H��t"@H�xH���S=��H�{��J=��H�H��u�H�4$H�|$��4��H�D$(H�D$H��um�H�\$hdH3%(�H��x[]A\A]A^A_�DD��I�|5�H�|0�A�t$����%������1�A���O�TN�9�r�����fDH�|$�.Q���@1�L��H��H�߃d$0��#8�����������:ǖ�a����A�}�8A�L5��L0����@H�D$H�$H�|$H���P��1��+���A�L5�f�L0��������1N��H�$H����������H�D$H�$H�1������'J���AUI��ATUSH��H�dH�%(H�D$1�H��t2I��H��DH�CH��t	H�s8L���H��H���;��H�]H��u�H�D$dH3%(uH��L��[]A\A]�w;���I��f�AWH��&�AVAUATUH��SH��(H�
\dH�%(H�D$1�H�D$�^1���D$��t6H�t$H����-��H�L$dH3%(�D$�DH��([]A\A]A^A_�f�H�
H�9�H���1���D$��u�H�
fH��0�H����0���D$��u�H�
�H�+�H���0���D$���]���H�T$�H���1F���D$���?���H�\$1�L�;M��u	�a�H��H�BH�<�u�H�4���H��HD�E1��1L��I��H��uI�?@I�FI�F8H��tI�v8H��Ѕ���H��O�t�K�D�L�;I��M��tc�@���K��I��H����H����H��A�ׅ�t�H���t��H�5%H��1��I��L��H���u9��L�;M��u�H�\$K�D�H�H��H��L����+���,���DH���t�I���H�5�$H��1��0I���fDH�t$H���+��L��H�������D$��������J��I��H���r���H��H���z+���D$�����F�����AT�@UH��SH��dH�%(H��$�1�H�H�\$@H���2A�������H�T$f�H��1�D$H�L$H�B$�B,B�D$"�3���Å�ukL�d$I�|$ H����CE��L��H�E�L��H�}�D�H��$�dH34%(����H�Đ[]A\�D�D������������S��H��#Hc�H�>����L���L�����:ǖ�f���:ǖ�|���fD��l���fD��:ǖ�\���fD�a�L���fD��<���fD��:ǖ�,����QE���AUI��ATUSH��dH�%(H�D$1�H�H�����D��H��H�$H�����]��t7�q8��I��fDI�$�DXt�XH��H����EH���]��u�H�,$H����6��H��u"I�m1�H�T$dH3%(u@H��[]A\A]ÐH�D��8.u��H�,$��DH�������u�H�,$�e������gD�����UH�5�!SH��H��dH�%(H�D$1��w@��H��H���L6��H9�t7�:H���@��H������H�t$dH34%(uBH��[]�f.����t�H��1�@<.��H��������u���u���C��f.���ATI���UH��SH��dH�%(H�D$1�H���XG��H��t3L��H���hB��H�H��t0H�]1�H�T$dH3%(u)H��[]A\Ð���f�H���4������C��ff.����UH��SH��dH�%(H�D$1�H��t!H�>H��tH���	�H�;H��t�4��H��u�H���4��1�H�T$dH3%(uH��[]��B���AWAVAUI��ATUSH��dH�%(H�D$1�H�L�?M����I��1��DH��H�EI�<�u�H�}��$F��I��H���1��@H�CH9�tGM�<�H��L���A��I��H��u�L��1��eN���H�T$dH3%(u>H��[]A\A]A^A_ÐM�u1�������E��I��H��uٸ��A��ff.�f���AUI��ATUH��SH��H��8dH�%(H�D$(1�H�H���H�D$ ��H�t$ H�������uzH���H�H����L�d$�=�:ǖuYH��H�H����L�@H�T$ M��t�H�p8L��H��A�Ѕ�u�H�|$L���M���H�H�T$H��D$H�q8�Q0�D$H�|$ �D$�2���D$H�L$(dH3%(u/H��8[]A\A]�������8����L��H�=�/������z@��f.���AUATUSH��(dH�%(H�D$1�H�H���:�?$��H���+H�0I��H��t7�"?��H��I�$���H�T$dH3%(�H��([]A\A]�fDH���H����H�EL�l$H��u�p=�:ǖu�H��H�EH��t\H�H(H��t�H�p8L��H��х�u�L�l$I�}H��te�>��H�C0H����H�EH��L��H�p8�P0H�{0�B���f���:ǖ�A���fDH��������+���H����T���@��:ǖH�M�D$L��H��H�q8�Q0�D$���D�$�����fD�����>��ff.����USH��dH�%(H�D$1�H��ta�?$��H��uVH�0H��H��t
�u0��H�C0H��tH���=��H�C0H��t1�H�T$dH3%(uH��[]�fD��ܐ�$�����T>��@��H��dH�%(H�D$1�H�D$dH3%(uH��H����/���>�����AWAVI��AUATI���US�H��(dH�%(H�D$1�H�D�nH�D$L�~I�u�A��H��H����M���H��H�t$�K���H����a/������I��$�H����H�EI��H��u$�jf.�=�:ǖ��H��H�EH��tHL�@ H�T$M��t�H�p8L��L��A�ЉÅ�u�H�<$L���{���H�$L���H�EH�p8�P0H�l$�5H�t$L���'���Å�uH�|$L���0���H�t$L�����(���H�l$H���.����H�L$dH3%(uDH��([]A\A]A^A_�f�L��L��H���G�����DL�����Å�u�I��$�����h<�����SH��H��H���dH�%(H�D$1�H��t��Hǃ�H�D$dH3%(uH��[��
<��f.���H��dH�%(H�D$1�H�D$dH3%(uH��H���,H����;���AUATUSH��dH�%(H�D$1�H��tW�>H��tOH��I��L�%d�f.�H��H��t-�xt'L��H��L��H���P����t4�.H���/8��H��u�1�H�T$dH3%(uH��[]A\A]�DH�$���;��ff.�f���UH��SH��H��8dH�%(H�D$(1�H��8����H�|$����tH�L$(dH3%(��H��8[]�H�t$H�����H�|$H�D$ �d,��H�|$ H��t"H������H�|$ �D$�D,���D$�fDH��H�L$ 1�H�5/�B��H�|$ H��u����:ǖ�h����1:�����ATI��UH��SH��H��dH�%(H�D$1�H��7��tSL�������uGH��L���$���H��H��t4H��H���!���H�߉��+��H�T$dH3%(��uH��[]A\�@��:ǖ���9��ff.����H��dH�%(H�D$1�H�B!H�H�7���H�A H�L���H�A(H�Q���H�A0H�T$dH3%(u1�H����19�����H��dH�%(H�D$1�H�D$dH3%(uH��H���\E���8�����AWH��AVAUATI��H��USH��H��XH�L$dH�%(H�L$H1�H��Q���pH���7��I��H���U���t0�+��L��L�8A�D_t��)��H����EH���]��u�I�|$8L�L$A�����1�H�'H�5VI��4���Å����D$L��H�l$ L�|$0�P��T$��yJ�]�H���(*��E1�1�H��L��L��D$4�D$0��H�\$8������|�D$I�^�P��T$��x�.H���4��I��H��u��.L��:ǖ�4��H��tH�t$H�x����L���U)��H�L$HdH3%(��uAH��X[]A\A]A^A_�@H����A��H�t$H��������봻�:ǖ��-7��ff.�f���H��dH�%(H�D$1�H�<H�H����H�A H�����H�A0H�T$dH3%(u1�H�����6��f.�f���H��dH�%(H�D$1�H�D$dH3%(uH��H����B���6�����UE1�H��1�SH�5�GH��dH�%(H�D$1�H�H�8I��H�6����Å�uH�<$H��t,H���v�H�<$�����H�L$dH3%(��uH��[]û�:ǖ���5��fD��AWAVI��AUATUH��H��SH��H��dH�%(H�D$1�H��V��u\H��tWI��L�%���H�߾.�s2��H��H��t5H�}8M��E1�1�H��L���4��A�Dž�uH�<$H��u<�;.u�H��H��u�A��:ǖH�T$dH3%(D��u+H��[]A\A]A^A_�fDL���p�H�<$A���������
5��ff.�f���H��dH�%(H�D$1�H��$H�H���H�AH�L���H�A(H����H�A0H�T$dH3%(u1�H����4�����H��dH�%(H�D$1�H�T$dH3%(u
��:ǖH����i4��f���H��dH�%(H�D$1�H�D$dH3%(uH��H���@���'4�����H��dH�%(H�D$1�H�.H�H�W���H�A(H�����H�A0H�T$dH3%(u1�H�����3��f.�f�AWAVAUATUSH��(H�|$dH�%(H�D$1����e�eH���/H�ؾ�f.����P�~��:u�N����H����u�Hc�H�����I��H���C1��L�M��I)�A�~�q��I�D�H��tgE��H��H��A��L��H���8��B�0A�?��I�_�:H�߉l$Lc��/��I��H��u�H����$��H�I��u�K�D��p�D�t$A��Ic�A���tfDI�|�H���Z$�����u�L���M$���H�L$dH3%(uzH��([]A\A]A^A_�f�Mc�K�D�H�H�D$L�(1��DH�=G��/��H��H�����������������P�{������v�����1��f�UH��SH��H�?dH�%(H�D$1�H��tH��@�#��H��H�;H��u�H�D$dH3%(uH��H��[]�Y#���1��@��AVAUATUSH��H�� dH�%(H�D$1��%��H�G H�GH�G(HLJ�HLJ�H��t1H��H�s8�}�H�L$dH3%(��H�� []A\A]A^�@H�D$�wp��H�|$� �����������H�=��.��L�d$H��I��H��LD�I�<$��1��	fDH��H�BI�<�u�L�4�L������H��H����H�xI�V�L���N;��L���V/��H�EH����L���"��H�l$L�c8�H��L���"����tkH�l$H��u�%�H�l$��t�H��tH��D$�����D$������H�C8��tq���5U��v=`ʪ�������:ǖ���DL��1�����@A�����DL�����H�C8��a���H���F!��L������ܸ�:ǖ�E����]/��ff.�f���H��H�8dH�%(H�D$1���H�T$dH3%(uH����/��D��SH��H���H�� dH�%(H�D$1�H�T$�!����u!H�{8H��tH�D$���H�D$H�T$H�S8H�L$dH3%(uH�� [��.��f���H��dH�%(H�D$1�H��t#H�D$dH3%(u-1�H������H�T$dH3%(�uH����A.�����H��dH�%(H�D$1�H��t#H�D$dH3%(u(H���*���f.�H�D$dH3%(uH�����-��fD��SH��H��H�(dH�%(H�D$1�H��t
���H�C(H�{8�CH��t
����H�C8H���tH���?���Hǃ�H�D$dH3%(uH��H���[�+���N-��f.�@��H��H������dH�%(H�D$1������y"�+���H�L$dH3%(uH���fD���	��1�����,����SH��H��H��dH�%(H�D$1��,9��H��������
#����t�D+���H�T$dH3%(uH��[��,�����UH��SH��H��(dH�%(H�D$1��Gp��uH�=�
�*��H�D$H���H�{8H��
E1�1�L�L$H�5;=����H��H��u>H�t$H��t4H���4&��H�|$�D$�����D$H�L$dH3%(u9H��([]�H�5�
H���%�����H���*��H��H�E�����+��@��ATI��UHc�SH��H�� dH�%(H�D$1�H��x&H�8H�����Cp��uH�=�	�%)��H�D$H��H��upH�{8H��	E1�1�L�L$H�5D<����H�T$H����H�t$H��tH���7%��H�|$��������tH�L$dH3%(��utH�� []A\�@��)���H��H�D$H��tʅ�L��HH�H���+��H�|$H9��Ӂ�:ǖ�d���f�H��H�5;	�$�����DH�t$��l*��f.�f���ATUSH��dH�%(H�D$1�H����H��H�����R�FI��H��|�y�g��I�D$H��t}A�D$1�D�cH�Hf��SH��D�`H�sf�PL����4���U1�H�uJ�< �Ef�H��f�G��W��4��1�H�L$dH3%(uH��[]A\�D��ې����)��@��H��dH�%(H�D$1��f��tf��
t1�H�T$dH3%(uH���f�����6)��fD��SH��H���dH�%(H�D$1��GH��tHc�H���+1��H��t^��SH�C�t�s��x.Hc�H���
f�H�CH����CH��9�}�1�H�|$dH3<%(uH��[�@�C����(���AUI��ATA��H��USH��H��(dH�%(H�D$1����H�����H�����H������ra��I�L�H�L��S���r��1ɉ΃�I�|5H�|59�r��"��D�`�XH�hH�t$dH34%(usH��([]A\A]�f���uC��t�A�U�U��t���A�L�f�L��1��@H��H�D$�c��H�D$�@A�U�U��A�L��L��l����l'��ff.����SH��H��dH�%(H�D$1��f��t;f��
u�F%��=��uVfD�CH�L$dH3%(u`H��[��H�V���m���H��t0HcSH�K�r�sH���@H�V���=���H��uЋC���C��&�����AVI��AUI��ATI��UH��SH��dH�%(H�D$1�H����������H�$H������S����H�sH�����f���2f��
u$D�FE��u�~��u�F���Af�H�$H����H9����@��H�xf;��f����f��
��L�FL�NL3GL3OM	�@��@��������SH�H���:���M��t
H��A�Յ�u/H�$M��t*H��t%D�CtH�sH��A�ԅ�uH�H��u�H�$H���'��1�H�|$dH3<%(��H��[]A\A]A^�DH�H������H��A�օ��h����@�~�O������fDD�VD9W@��@���'����~���������fD�K#����f����$��ff.�@��AWf�AVAUI��ATUSH��HH�8H�t$H�T$H�5�-&dH�%(H�D$81�)D$ H�D$0������hH�l$L�t$H�]H���QD�#E���3�~��H��H��fDH��D�&I��DA u�A��,t�E����H���$f�H���Dy ���,�H���PH�X��u�H�D$L��L��������m���H�|$Hct$(�T$,H�?���A��H��H�|�u�A�49��E1��*�VI���T$(H�T$0H�	H��H�|$E9�~9Hct$(�T$,J��9�|�H�H�z����H�T$J�<�I������H�|$E9�����D�#E������@H��H�]H�������H�|$ H�
c���H�����H�55����-�����H�|$0H��t)�T$ ��~1�f�H�<�H���S��H�|$09\$ ��C���D$$����H�L$8dH3%(���H��H[]A\A]A^A_�f�Hc�H�|$0H���_*��H��t*Hct$(H�|$H�D$0A�4�D$,�T$,���f.�H�|$Hct$(��@9���H�|$0H���
*��H��t
H�D$0�D$(�D$,H�|$�������f��H�X���@�D$(�l$$�p�t$(��uH�|$0;t$ u"H�D$H�8����D����fDHc�H���)��H�L$H�H������H�D$0H������1!�����H��dH�%(H�D$1�H�,H�H��H�A(H��H�A0H�T$dH3%(u1�H����� ��ff.����H��dH�%(H�D$1�H��hH�H�g�&H�AH�H�A(H�!H�A0H�T$dH3%(u1�H����q �����H��dH�%(H�D$1�H�D$dH3%(uH��H������7 ���AUATUSH��L�'dH�%(H�D$1�M��t>I��H��I�\$H��u�@H���p ����tH��tH�;H��u�I��M�eM��uɐH�T$dH3%(L��uH��[]A\A]����ff.�f�AUI��ATUSH��H�dH�%(H�D$1�H��t2I��H��DH�CH��t	H�s8L���H��H���"��H�]H��u�H�D$dH3%(uH��L��[]A\A]����"��f�AWH�
G����H�3gAVAUATI��USH��(dH�%(H�D$1�H�D$�����D$��t6H�t$L���I��H�L$dH3%(�D$�
H��([]A\A]A^A_�f�H�
9H����L������D$��u�H�
H����L���b���D$��u�H�
#���H�g��L���?���D$���]���H�
�
H�G��L������D$���6���H�
�	H�,��L�������D$������H�T$�L���c���D$����H�l$L�}M����1���H��H�GH�|�u�H����s!��I��H����H�D$�;@I��$�t��H�5��L��1��:��H���"��H��L�}M�����@��!��H��H���&H����L��A�ׅ�u�L�sM��u �&@L��L������H����I��tM�>M��u�H�CH�C8H��tH�s8L��Ѕ���H�D$H��I�\�I�D�L�}H��H�D$M���N���H�D$H�l$I�D�H�H��L��M��$���������I��$������H�L�L��H�5��L��1�������f�I��$�����H���H�5�L��1��������fDH�t$L���s��L��L���H����D$����H��L���M���D$��������H��t�I���$������ff.�@��AWAVAUM��ATM��USH��dH�%(H�D$1�I�H��������1H�,$E�|$��H���^
��I��D��L9�t3H�ﻰ:ǖ���H�T$dH3%(����H��[]A\A]A^A_ÐE��uSA�D$ ������u�H�����I�D$��hL�`H�u���H��H����H��u-I�M��I�|$L��H���8����t��\����H��H��L���j%��H��I�M�H���fDI�T$�JI9��$������g���H�zH��L���������P��������I�M���f���:ǖ��������AWAVI��AUATUSH��H��xL�D$H�t$(L�L$dH�%(H�L$h1�I�H�D$(H�D$0�[�����vH�@5I�~8H�T$0H�D$XH�D$@H�D$(H�t$@H�D$HH���H�D$P�U������H�D$0A�A��:ǖL�8H�D$8H�D$M�����'�����H��H���
M����H�{���H��H����I���H������I��H���H�@(H����I�w8L�L$H��H��L�D$L����A�ą��=�:ǖ�D$H���~
��H���v
��H�D$0N�<(I��M��tz�|$ts�:L���`��H��H��t@I��M)�L��H���%������6��H��H��t.L��L��H���0#������L���0��H��H������@A�H�|$(��	��H�|$0���H�L$hdH3%(D����H��x[]A\A]A^A_�A��:ǖH���	��H���	����L�l$8L�����H�L$L��L��H��H��I�w8DD�A�W0��L�L$L�D$1�1�H��L������A���M����H��A��"	���3����D$A��:ǖ���A��:ǖ�,����-��ff.�f���AVAUI��ATI��UH��SH��H���dH�%(H�D$1�H����H�H��twE1��f.�=�:ǖuaH��H�H��t/L�@ M��t�H�p8L��L��H��A�Ѕ�u�H��H�A�H��u�H�L$dH3%(D��u0H��[]A\A]A^�fDE1����;�����u�H����d����F��fD��AWAVI��AULc�ATUH��SH��H��(L���dH�%(H�D$1�M����I�L�d$H��u�cI��I�H��tTH�xu�L�P(M��t�1�H�p8M��I��1�H��A�҉���t:=�:ǖt�H�T$dH3%(��uxH��([]A\A]A^A_�f���:ǖ��f�H�t$L��L���D$����M�H�T$H��H��I�p8A�P0�L$I9�:ǖF��D��������u�L����'����$��@��SH��H��H���dH�%(H�D$1�H��t�S���Hǃ�H�D$dH3%(uH��[�����f.���UH��H�ͺASH��XdH�%(H�D$H1�H��H�������u,H��H�������uH�T$HdH3%(uH��X[]�fD��:ǖ���T��@��H��dH�%(H�D$1�H�_�H�H�g���H�A H�T$dH3%(u1�H���������AVAUATUSL��$���H��H�$L9�u�H��A�H�5�$H��H�8I��I��dH�%(H��$�@1�1�L�L$H����D$H�D$������tGH�|$���C���D$���gH��$�@dH3%(����H��A[]A\A]A^�fDH��$� H�t$0� L��L�D$�	������H�D$H����H�}8L�L$ E1�1�H���H�5�#L�p ����Å���H�L$ H�|$(H��tuM��H����1����H�|$ �����}���L�d$(1�L��������tjH�|$��:ǖ�K��L���C�����fDH�|$��)�����@L��H�d���,����y��H�|$�������H�T$L��H�������Å�tH�|$����L���������H�5�L���A���I��H���(H���������1����L�����H�T$`����!�����H�T$�D$|9Bt����L��$�L�� L���8��H�����
L���b��H�l$H��th�H��L������Å�u�@H�����L������L������T$��������������@��:ǖ���fD���������H��L���U���Å�u�D����G���L�������
u��5����H��H�|$��l��L���d���w���H�l$��P������H�l$��?����j��f.���H��dH�%(H�D$1�H�c�H�H�7���H�A H�T$dH3%(u1�H���������H��dH�%(H�D$1�H�D$dH3%(uH��H������������ATI��UL��SL��H��PdH�%(H�D$H1�I�H�t$H�D$H�D$H�D$�������H��H�L$�L�������tDH�|$�"��H�|$���H�|$���H�t$HdH34%(����H��P[]A\��I�|$8H�T$H�t$ H�D$@H��*H�D$ H�D$H�D$(H��H�D$0H�D$H�D$8�����uIH�L$H�����H�9t��H��H�BH�|�u�H��H�<�
��H��H�E�D��$�����:ǖ������:ǖ�.����g�����H��dH�%(H�D$1�H��H�H�g���H�A(H����H�A0H�T$dH3%(u1�H������f.�f���H��dH�%(H�D$1�H�D$dH3%(uH��H�������
�����AWAVAUATUSH��H��L�L$dH�%(H��$�1�I�H�D$0H���o�;[M���c���L�t$@H�{�
�H��L���'���MI�Dž��1H���(H�\$@�;:�IcD$ I9���L�l$`H��L������I�D$L�t$H�$�\�EH�t$�
H�{����U����I9���H�\$@H�$H��~I�T$H��H�L�QH�qL���w��H��H�5���(��H��L��I��H���W��L��<$�y���L��<]�Q�y������`L�d$hH��L�d$0�;(�EH�D$L��H��!��H�$H����D�3E�����r���E1�E1�L�|$@H�D$ H�D$`H�D$H�D$8H�D$(fDH�D$ H��fDH��D�3A��DP u�A��s���{/��H���/H���p��H��H����H�@�/H��H�D$�N��I��H���bL��H)��'���H��H���
�� ��I��H���H����L��L����H+\$H��H���f�����I��H���gH���/A�n1�H�|$L��@��g��I�\��������L������L�4$�-@HcT$8L��L�����L��L���5�HcD$<I�@��guH�L$(H�|$E1�L����m�����t�H�|$�
��L��L�����L���l�����,H�<$H�l$H����D�3H�,$E���M���H�D$H�$H�(1��fDH�L$0�L������Ņ���H��$�dH3%(���lH�ĸ[]A\A]A^A_ÐH�t$H��L�����������y
��I��H��uѽE1�H�<$�P���L���H���L���@���L�d$0L���3����r���fDH��H��L���:������D���
��I��H��uѽE1����눐�������:ǖ�m���fDH���)H�����H��H���bI��I)�L��H��t\����I��H��tbM����H�\$`�L��H���������H������L�ー:ǖ�G���L�d$0����D���9��I��H��u1������fDL�d$0���fD��:ǖ���fDL��H��L������d������:ǖ����fDE1�H�L$@�L��H�������L����D$@���@���L�����HcT$DH��H9��*�����
��L��H�]�r���L�d$0�c������:ǖ���fDH�,$E1�E1��L�����:ǖ����b��f���H��dH�%(H�D$1�H�j�H�H�}&H�AH�l���H�A(H�!���H�A0H�T$dH3%(u1�H�������UH��SH��H��H�?dH�%(H�D$1�H�H��H��H�4�H�����H��H��t'H�EH�H��H���H��1�H���H��B����H�\$dH3%(H��uH��[]��{��ff.���AWAVAUATUH�ՍV�SH��dH�%(H�D$1������UI��f�����f��
��M�nE1���D��A��I�uL��A�����H����D�xH�H(H��0D�`�H�@�H�@�H�X�H�UH�P���H�t�H�t�H��H)�H)�ك��r��1҉փ�H�|5H�<09�r�I�E1�H�\$dH3%(u0H��[]A\A]A^A_���?���fDA����E��DAWE��AVA��AUM��ATI��H�wUH��SH��(�L$dH�%(H�D$1�����H�����L$�@L��H�ÉH����I��H�H��tIM��tL������H�CH��t3D�s1�D�{H�EH�T$dH3%(u;H��([]A\A]A^A_�DL���X���H����f.����d��@AVAUATM��UH��SH�� dH�%(H�D$1�L�D$H�D$軧������H�\$H��twH�;L�S��L�5P�A������@L�S�H��L���S�E��L��L����1Ʉ���E1��������uH�H��u�H�\$H�߉D$�F����D$H�T$dH3%(u+H�� []A\A]A^�D1���@A�:��:ǖ�^�����b��f�UH��E1�1�SH��H�5dH��H�?dH�%(H�D$1�H��H�$I�����H�<$H��t��uD���H�<$������7��u+H�;E1�1�I��H�;�H�5�����u	H�<$H��u��H�L$dH3%(��uH��[]����ff.���H��dH�%(H�D$1�H�D$dH3%(uH��8H�5��H�������_��ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��8H�5��H��������ff.�@��ATUH��SH��dH�%(H�D$1�H�t?1��H�UH��H��H��H�<�L�$���H�EJ�| �q�H9]w�H�}�b�H�EH�EH�D$dH3%(u	H��[]A\��d��@AWE��AVAUL���ATUH���SH��H��H�4$H�D$`H�T$(�L$dH�%(H��$�1�H�D$H�D$`H�D$hfoD$`H�D$pH���H�D$x�JL�d$PL��H�5��H��L���P���
H�$L�t$PD�hA����9D��H�$�H�rH�T$L�`�c��H�T$H��H���
E����M�.M����1�A����E1��D$0H�D$XH�D$H�D$pH�D$ H�t$H��A�U����H��L�
����E1�H��t$(�L$@�t$H�|$hA�U^_A��H�|$X����A�UA���:ǖtUIc��%�H����H�|$P����H�|$�9
��H��$�dH3%(D���~	H�ĸ[]A\A]A^A_�DL�t$PI��O�,&M���<���H���:�L������D$����H���H�D$@Hc�H�>���E����H���H��E1��t$(L�
�����t$A�UZA��YH�|$X=�:ǖt\A�UE������L�t$PK�<&�m���H����L������H�D$(foL$`E1�����f�L��H���	���7���A�U�f.�1�L��H�=dt&H������������
����L��A������D�D$0�H�-��H�$�H�D$XH�D$pD�pL�`I�v���H�D$8H���gM��tH�|$8L��L������H�H�{8H��$�H��$�H��$�H�D$8HDŽ$�H��$�H�D$XH��H�D$��H��A�ƅ���H�D$XL�0M����H�D$p�L�d$PH�\$HH�D$ ��I���/L���/���I��H���{�I�����H�T$ L��L���r����H�t$pH���\�T$PH�|$M���A������������H�|$p��H�D$XH�D$pL�4(H��M���j�L��H�=��������D���A�����Et$0AE�E1��S���D�D$0XH�-���+���@�D$0XH�-������@�D$0�H�-�����@H�5`�H�=��U	��H�����@H�-���D$0����f�H�t$pA��H�|$8H�4$��H�4$H����H�|$X�T������������f�A�����1�A�������f.�A����D�D$0\H�-������@H�\$HH�|$8��L����H�|$X��H�|$h�\���H�������tGH�D$pH�{81�A�I��H��H�D$ H�5�c����+�D$p����H�|$h�����H���$���������|$���H�D$@H��Hc�H�>��H�-l��E1�A������oA��w"��tL�D$H�4$H��H��H�
�����A��H�|$huH���tH�5q�H��1�����E���\����c���fDH�-���H�-���w���H�-���k���H�-���_���Hc����5U�2�H�t$p������L�t$p�w���f.��D$���!�������A�XH�p�H�L$H�4$H��臚��A�ƅ���H�l$XH���H�D$PD�t$HE��H�D$H�\$8H��@H�k�H�5K�H�����A�ƅ�uI�}:uC�E��t;H��<:������<M�DD�H���E<:t��u�<:t~fDH�H��u�H�|$XD�t$HH�\$8�l���H�|$h��H�������1�H�5��H�����E������������|$�����A��H�9�����L�e�H�5��L���������h�UH�EA���:�Q���I��I���D���E��t	E9��6���D��1�A����H�L$H�T$ L���M���tG������H�t$pH��������T$PH�|$E��I��D����H�|$p�D$0���D$0������H�|$XH�\$8�D$�>����D$H�|$hA������H������������L��H�=T���€����i���L�X	�/L��L�\$0���L�\$0H��H�������H���
���f�L�D$H�4$H��H��H�
(����A�����i����H�5)�L�������uPH�E�UA��{���H�|$h�&������H�߉��2�H��H������0���A��H�8�����H�5��L���,������|���H�E�UA�����H�|$h�v���H����k���H�5I�H��1������I�������ff.����ATf�I��USH��dH�%(H�D$1�E��A��H��tFH�FH��H��t:�8t5E��H���a��uH�}t;H�T$dH3%(upH��[]A\�D1�H����:ǖL�������:ǖ��H����H�k�[�H�5�H�=����I��پ�:ǖH��L��1��=�����:ǖ��1������H��dH�%(H�D$1������Ƀ�H�D$dH3%(u	H��������ff.�@��AWAVAUATUSH��8dH�%(H�D$(1��B���t&H�L$(dH3%(��H��8[]A\A]A^A_�D�BL�l$I�׹L�����1���u�H�T$H�\$H��H��L�$�L9�sYI�/M�w(� H��tH�����t7H�èL9�sKH�3H��u�H��u�I�W H;S u�H�s(L�������u�@�L��D$�o����D$�0���fD1���������AWf�AVAUATA��US�Ӄ�H��8dH�%(H�D$(1�)$)D$��tD�����:ǖ����H�L$(dH3%(���!H��8[]A\A]A^A_���f�$��A��&t��A��%I��D��1�L�������Ņ�tS��8I�������u=A�/�E��������h�����D���{�����U���A�/�M���f.�1��<���f������E�A��A����E؃���փ�&�^�����f�$�+���f�L��D��D��1��`������W���f�������A���AVAUA��ATE1�UH��S��H��dH�%(H�D$1�Hc�H��D���'��A�ƅ�x tHc�A�)�HՅ��E���f.��{�8t�H�L$dH3%(D��u
H��[]A\A]A^�����AVAUATUSH��@dH�%(H�D$81������I��A��1�I���f�I��A���E��~SI�|$t�f�Icź@L����A)A)F I�F0L�d$H�D$���Hc�H��y:���8t������H�L$8dH3%(����H��@[]A\A]A^�DH�H���y���I�t$H��H9�v�H)�I$I�t$�O����A��H)�I��E��H��u*H���*���I�t$H��H9�s�H9�s��1���1��a���H�
���LH�5S�H�=X������E�D��H��(Hc�dH�%(H�D$1�H�$H��H�L$��_���H�t$dH34%(uH��(���D��H��dH�%(H�D$1��~uW�~uQH�F�8uE�xu<�xH�pu/�xu&�@�2f�1�H�|$dH3<%(uH���fD��:ǖ���l�f.�f���H��dH�%(H�D$1��h&H�D$dH3%(uH����$�@ATI��UH��SH��dH�%(H�D$1������lj�������u01�1�H���O���H�L$dH3%(u$H��[]A\�@1�L����T����y���:ǖ���@��AWAVAUE��ATUH��SL��H��dH�%(H��$�1�H��t!L�%{<&H��I�4$��I�4$�
���H��t!L�%U<&H��I�4$���I�4$�
���1�����A�ą����Ǻ�1����H�5��D�����H��H����1�1��H��������JE���AH�C�H���2A�E�L��$H�@H��H�D$H�D$`H�D$H�D$ H�D$��L�%�;&H�;I�4$�
�I�$��H�=u����I�<$���H�C1��PH�x�(��H�CH����e&�pH�x����I�ƋC����M����H�C�
H�x���H���I�H�T$H�t$H�����A�ƅ��OL�cI�|$����A�D$H;\$�1I�G(H���P���I�}D�cI�����H�T$L��H�����H��$DŽ$����H���D����A�����������L��D������xrH��$0fo�$fo�$fo�$ H�D$P��$8)D$ �D$X��$)L$0��)T$@��E��E�1�1�L�����$�i�����A���H�t$1ҿA��:ǖ���.�H���h�������������
u����DA��:ǖH���R�H��$�dH3%(D��u{H�Ĩ[]A\A]A^A_�f.�I�4$�
��� ���DD���@��A��:ǖ����c&��:ǖH�T$H��H�t$ ����:ǖD�A�������g������ff.����H��dH�%(H�D$1�H�wxH�D$dH3%(uH�����f.���H��dH�%(H�D$1�H�GxH�T$dH3%(uH����Z�f.���AW�AVAUATI��USH��H��D�.dH�%(H�D$1����H�BH�D��H�T$���t~��xj�gH�L$dH3%(��H��[]A\A]A^A_�f�Hc����I��I��H��teL���H��D����A��9�t7L���n��E��y�f��+�����l$E1�͉l$��u����1��kL�s�f�����Y����I�f���AU1�I��1�ATI��UL��SH��hdH�%(H�D$X1����H�L$1�H�D$A�L�L$ A�H�t$ 1��D$H��H�D$�$���D$(H�D$0����Å��M�����]����HE��{�H����H�D$L�L$@1�1�H�D$A�1�1��\$�D$��L�l$@�D$HH�D$P�R��Å�uaL�l$�UL��L���i���T$�Å���H��uNL��������uRH�D$0�@�EH�L$XdH3%(��usH��h[]A\A]�f��L�l$M��t�T$H��t�1�L������@�UH��u �fDL�l$M��t��T$���1�L�����녻�:ǖ�_�����D��ATI��H�
��UH��H��H�5�SH��H�8dH�%(H�D$1�I��H�$�����u(L�$$M��tL���"�L��H�EH���D�����H�L$dH3%(��u	H��[]A\����f.����US�H��(dH�%(H�D$1��H��t
�FH��H����uH�L$dH3%(��uNH��([]�H�F����<^u�H�t$H�T$���H�T$��u�H�t$H��1ۋF����H�T$�:����D�@AWAVI��AUA��ATM��U���hSH���H��8H�D$pL�L$H�D$H�D$xH�D$H��$�H�$dH�%(H�D$(1���H���GI��A�VI�v�8�@H���I�0I��A�FA�o A�G$A�W(����E��8A�����M�� ILJ�ILJ���������H�E
I�GI�GH�$I�GH�H����I���ILJ�H�H��u
�DH��H��(H��u�H��(L�;1�H�L$(dH3%(��H��8[]A\A]A^A_�f�H�II�GH�~I�GH�I�G뎿����H�$H�H���b�����f�H�|$taH�|$tYH��H�t$�I��PI�GH�
I�GH�b
I�GH�D$I��@H�D$I��H��������H�
����H�5F�H�=������S1�H��H�� dH�%(H�D$1�H�H��������uKH�t$��H��S㥛� Hi<$�H��H��?H��H��H)�H�H�H�\$dH3%(��uH�� [�������j�f.�AWAVAUATI��USH��H��xdH�%(H�D$h1��F���������~ ��H���tH�V 1�H�5�����H���H���1ɋ;��H���bH9���U1�H�L$hdH3%(�tH��x[]A\A]A^A_ËF I��H��M�ƾ��t���t	1���@�Ƌ{$1�L�L$����L�L$���A����Ǻ�1�L�L$�O�1��!TD��H��������{ L�L$�:�S(H�s0D��L�L$�V��L�L$����CD�;M����L��I�q�;L��A����q�C E�}��E��tH���d����I�EH���A�EHǃ�H���Hǃ�ǃ������ �;����Hc�1�H�D�f�H�J�8�� �C�3������������ҸH��;u�lf�Hc�H9���H��;t�u�f�D�1��&���f����L�L$���st	���<�CD�;�����I��$�tH�S H�5�L��1���H���H���1ɋ;��H����H9�����C�����{��H�����H�������q���@������ҸH��;u��@Hc�H9����H��;t�u�1�f�T��&���f�A�H�
{��
D����q��L�L$I��$������H�S H�5��L��1���L�L$�t���1��D������C���������I��$�t���H�S H�5��L��1��9�������|�����C ��M��������]���DD���f���)D$@E��T$H�D$��)D$PH�D$`����T$H�����T$DD��I�uH�xʉD���D$@��H�D$H���AoL�t$@H�t$L��)L$P�!�A�Ņ���L�l$ L�����H��@H���L��H�5��H��HD�1��c�H��H1�H��PH�5��L���D�H�5��L������H�5��L������H�5��L�����H�5�L�����H�D$H�5��L��P1����H�D$L��PH�p��L����������L��1�L�l$(L�|$8�7�H�t$1����L���H��XL���Hǃ�Hǃ�ǃ�A��L��X�S ����f�H��A�D��H���Hǃ�I�EH���A�EǃH������L�t$@A�1�L�����H�t$1�����I��$�tH�S D��H�5��1�L������;����H�����H���������1����I��$�t�?��H�S H�5�L��1��h���;���H�����H���������D�����H�����H�������x����F�����ATI��UH��SH��H��H��`dH�%(H�D$1�H��t
H����PHDž`H��X�����E HDžX���������� �u�����;3�������H��Hc�H9��d�H��;t�u�Hc�H��H�Ӊ� �}���H�����H�EH�D$dH3%(u;H��[]A\�f�I��$��o���H�U H�5�L��1�����U���1҃�����ff.���ATI��1�UH��SH��H��H���H���dH�%(H�D$1��;�T����x0H�H����H�L$dH3%(uJH��[]A\�f�H���t�1��H�S H�5~�H��1��Z��L��H��H���,���1���c��AWI��AVM��AUATUH��SH��H��hH��$�H�L$L�L$ L��$�H�D$H��$�H�D$(dH�<%(H�|$X1�H�H�|$8�	�������A��H�D$@L|$8M��H�$�� ����H�D$L�t$8H��t%�x�W���wH��0I9�LL�H��(H��u�H�<$���A�Ņ��H�D$@L��H��L��H)�L9�A�DL� �O�Ic� � L��D����������*H�D$H���O���L�t$ D�l$I���A�U�����A�� �����A9�{�p��H���Hc�H9����H��A;T�u�A�D�f������"�ƒ����	�����A�E��������I�EH���nH��L��L��H��Ѕ�tCM���6I���I���H���D$@��H�4$�T$DH�T$H�D$HA�ԅ��@M��(M�������D�l$�)���fD��t;覿��fDI�EH���n���H�
\��,H�5�H�=���T��@I�EH���>���H�
,��)H�5�H�=i��$��@H��L��H���B����]���D1�������u#A����������t�����@�H�|$XdH3<%(u'H��h[]A\A]A^A_�H�D$(L�(��1�E������1������H�
���/H�56�H�=���x������AWAVI��AUATI��UH��SH��8dH�%(H�D$(1�L�l$H�D$�f�H�H����H��H�����H����I���I���I���H�K�I��`M��H��H)�H�H����P�Å���I���H�D$I��I����I���I���H��tI���H��H)�H���w�H���L���� H��H�����H���W���L��L��H�����1�H�|$(dH3<%(����H��8[]A\A]A^A_���t;���j���	��u�H���t�I�V H�5��H��1��=���M���H�5�L���2��H��t}H��E��H�t$L��A)��D$��D�|$H�D$�����uLH�D$�P��v?H�p����9�u0I���H������H�t$H��F��I�����������H���tI���H�5ͷH��1��~��H�t$H���Q��L��L��H���C������fDA��$ A�6���7�A94$���H��H���Hc�H9�t~H��A;t�u�1�fA�D��c���A��$ A�6�����A94$t8�H��H��Hc�H9����H��A;t�u�1�fA�L�����1���1��������ff.�f���ATI��UH��SH��H���:dH�%(H�D$1�H���H�����H���H)�胿��H��~>H��H���H����1�H�L$dH3%(��H��[]A\���ht����H���tH�S H�5M�H��1�����L��H��H�����1�띐H���H���H�����H��~�H���H��H)�1�H��H������X���@���ρ�w�Hǃ���H���H���踾��H���H�������`����N��ff.���AWAVAUI��ATI��UH��SH��H��HH��`dH�%(H�D$81�H���H���SH��H���L��H��P������tF�������|I��$�tH�U H�5��L��1����H��H��L���V����L@�� �u���V��;3��H��H��Hc�H9��H��;t�u�f�L�1�H�|$8dH3<%(��H��H[]A\A]A^A_�I��$�tH�U H�5ڶL��1������� �u������;3�G�H��H��Hc�H9���H��;t�u�f�t��E�d���@H�$H����H�8���E�u�M�}I�v�W��I��H����M���+H���I�|$8H��H�t$H�D$H���L�l$H�D$ H�D$(�
�������=`ʪ��L������H�<$����]������ �u������;3���H��H��Hc�H9��|H��;t�u�f�D��k���� ����I��$�H�����H�
ƲH����L�����H�L$�L��H�����������I��$�1�1�L��T$I��$����L��L��L���������I��$�H��HL��`L��H�$�u���ueL������H�<$�m��I��$�H��`����H�<$�P���'���I��$�tW��H�57�1�L�����I��$��	���1�����I��$��s���H�U H�5'�L��1��U���Y���1�����I��$�����1�����P���"�����������ATI��UH��SH��H��@dH�%(H�D$81�H���tH�R H�5�����H���;f�H��@)$H�D$Hc�)D$ H�D$0H�D$���H�H������H��H�JH9������w��@H�J��H9���H��Hc���H��H)�uׅ�uJ�� ����/��;Mt$�P��H��f�Hc�H9���H��;L�u�f�D��C1�H�\$8dH3%(uqH��@[]A\�fDH9�����H)�HH�JHc���u��r���DI��$�t�`��H�S H�5�L��1����H��H��L���[��}�������h��ff.����AUI���ATI��UH��SH��H���:�dH�%(H�D$1�H��L�D$�$�D$�N���$��t�������tLH���tH�S H�5g�H��1�����L��H��H����1�H�t$dH34%(u@H��[]A\A]�f��CH��0�����uH��0'L��H��L��H��S�������H��dH�%(H�D$1�H���H��H�D$dH3%(uH����P����H��dH�%(H�D$1�H��H��H�D$dH3%(uH��������AWI��AVE��AUATI��UH���@SH��H�L$@H��$XH��$PH�t$`H��$�H��$`H��$xD�D$8H��$�H��$hL�L$(H��$�H��$pH��$�H�L$���H�t$dH�4%(H��$1�H�H�@HDŽ$�HDŽ$�茶��H��H���6
H�� I�ǃ H�D$�HA��L�d$h�������$���E1�������$�H��$�H�D$0H�D$PH��$H�D$XH��$�H�D$H�K���|$8I��H�D$@H�L�4�A�F�D$ ��D�l$8E1�E��A��A��I�>���D$ ��t/D�d$8E��u	���3D�d$ A����1҃|$8��!‰T$ f�L��$�)�$�)�$�)�$�A�F��$��A��tA���1�A���H�|$X��$�1�L����DŽ$� E�N��������H���I�>tH��H�5ثH��1��c��I�>H�t$XH��$�L���˵������L��$�H��$�H�D$pM���5H�\$xL��L�l$pH��$�H�l$XH��H��M��D��AUA�vU�T$@H�|$PM����H�[(H�� H��t��t�H�\$xH��$�L��$����%L��D$ ����D$ ����H�D$PL� M����L�t$`L�l$h�gL�L$(M��H��L��L��H���'���uWH����M��H��t$PH��t$ �t$ L�D$8H��$����M��$(H�� ����M��t%��t!E��$8E��t�M��$(�1�M��u�H�L$@I��L��$�L9y�����xM��u�I��I��(H��u�I��(H�D$P�����A�����I�>�;����L$ ���t���t1�������$�A�F1�M��H��$���$�I�F ��$�I�F(H��$�A�vD9���H��E1�H��$�PA�vjH�|$P����H�� �Y���f��D$ L��$�A�)�$�)�$�)�$�A�F��$�����fD�D$L��$�M����L�5��L�d$(�fD軬��I��`H��t
H���H��PILJ`I��X�;���ILJXI���H;�$�t����M��tI��I�|$A�T$L��M�����M���PA�?M��(���t�A�G ��t	���_���H����Q���H��I�W L��1����A�?�8��������	��H�5
�Hc�H�>��E�VE�����|$8��M���rH�\$ M��L��L�l$pH�l$xL�t$X��$��@��u=H��A�l$L��M��AU��sAV��$�H�|$PL����M�d$(H�� M��u�H�\$ H�l$xL��$��;���E�^E����L���H��H�D$PL� M���;�����1����@H��$�H��$�H�@H9�t肵��H���z����D$H��$dH34%(��H��[]A\A]A^A_�M��L�d$h�� �A����L��$�L��M��I���j@L�L$(H�T$`M��H��L��H��������uSH����M��H��AVH��t$ �t$ L�D$8H��$���M��(H�� ����M��t!��tE��8E��u�M��(D��1�M��u�H��$������� �������H��$�H����H���H��$�H�������NH�VH��$�Hǀ�H��t	H�� �H��$�tH��$�H��t
����H����D$�R���H��$�H�5��H��H�H H��$��P1������%������������D$�����D$���1�H��M���H��L��$�H��AV�t$ �t$ L�D$8�7�H�� ������A��L�t$ L�|$(�D$0L�l$8L�l$`f�L��$�M��u^�fDH��H��M����t$(H��t$ �t$ L�D$8H��$����� H�� ��tJM��(����M��t9��t5M��M��H��L��L��H���~����t�M��(1��M��u����t�� �������D$�:ǖ�����L��$�H��L��H��M��t$(H��t$ �t$ L�t$XL�D$8L���
��� H�� ��t�L��HɃ|$0�D$0H�L$8�����„������r�����|$8����1��f���T���H��$��8H���o��������D$�;���H�D$0H�D$P�.����ٿ���D$������AWE��I��AVI��AUM��ATI��USH��H��dH�%(H�D$x1����H�AH�H���H�D$`H�D$hH�D$@H�D$HtDA�0H���E��H��D�L$L�
��L���A�WLDȅ�H�5�LD�1�����D�\$E��u.A���H�L$PH�L$���-A9G�����D$�DH�D$P�D$H�D$A�MH�T$E��H��L�������Ņ���I���H���5I��L��H��L��L�L$HL�D$@�Ѕ��YH�|$HH���#L�T$@M����H�D$8E1�L��H���D$8L��PH�d��PH�D$LPjjL��$�AWD�D$@H�L$8L�T$@��H��0L�T$=�:ǖA����I��H����E���D$H��H��M��M��H�T$PI��L��RD���ZYA�Å��]�|$�RH�|$HH���hA�E�oA$�^���A�E��ueHcD$<H��L��H��H��H�D$PH�����A�EI���t6��H���H���L��HD�H�5Y�1�1������
fD��L�|$`H�t$@L������L��L��艿��H�|$���H�\$xdH3%(����H�Ĉ[]A\A]A^A_��I�~8I��1�A��H�9�H�5��D�\$�Y����Ņ�u��T$PD�\$���B�Ё��~
����A����u���f�M�������E��tSD���2����oL�|$`A$�
���������|$8uYI���D$A�:ǖH���"����@H�|$HH���^���foT$`���H�D$hH�D$`A$�I����L�C�K��D$,H�5��H�=�L�T$ L�D$�L$���D�\$,L�D$L���L$H��1�D��D�\$�|����D$D�\$I��L�T$ H���q����������������<���H�
���H�5k�H�=��譥��f.���AWAVAUI��ATUSH��H��XdH�%(H��$H1�H�D���H�D$E����H��躹��I��H�����E1���������L��L�8DA�D_t��H����EH���]��u�A�<$tBL��
H����������!�%����t������D�H�JHDщ�@�H���z�.�%M�eM��tL���d���I�}��1�H��$HdH34%(�FH��X[]A\A]A^A_�fDH�T$f�H��1�D$H�L$H��H�B$�B,B�D$���L�t$���t{��u@I�F H�}8L�L$A�H�E�H�5��H��HE�1��Ц��L�t$��ug�t$��u_H���G���I��H��t'���������
���������fDM�������f.��B������H�l$@H��A�vE1�I�~j�H��E1��:���ZYL�t$���t���HD��d���I�E���襸��D��AWAVAUI��ATA��UH��SH��H��L�$dH�%(H�L$x1�I�H�D$H�D$ H�D$(E��t
A���:H���H��H���:H��HD����I��H�����xt|H�x�:�ִ��H��uiL��H)�H��H�T$H���i�读��H�T$H��I���~H���aH��A��u0H�T$ H��L��茺���…���H�\$ �E1�E1�A��t�H�T$H��L���<����…���H�D$��:ǖL�M����M��t6H�)M��H��1�H�|$(�L�T$�������xTH�\$(L�T$L��L�T$�$���H�t$I��I��H����L��1�jL�T$L���϶����XY��uH�D$H�$D�`$H�L���$茨��H�|$ 肨��H�|$(�x���H�t$L������$H�L$xdH3%(����H�Ĉ[]A\A]A^A_þ��A���H�T$H��I��tH��L��L���6�������E1���l���H�\$0�@H��记�������豴����r���f.���:ǖ�^��������H��dH�%(H�D$1�H�T$dH3%(u
�H���蹵��f���ATUSH��dH�%(H�D$1�H��t_�_$H��I���t)�G1ۉH�L$dH3%(��uQH��[]A\��1����H���t+�E$tHcUH�A�$����f�軳��������f���U��SH��H��dH�%(H�D$1�H�t$�g�����u�T$�sX�29�r%�9�%:ǖG�H�L$dH3%(uH��[]�f��%:ǖ��褴��@��ATA��U��SH��H��dH�%(H�D$1�H�t$H���Ϥ����u#+,$1҉kE��xD��+T$�S �S$����S$H�L$dH3%(u	H��[]A\��*���f.���H��dH�%(H�D$1��G$�w�W ����G$H�L$dH3%(u1�H����ڳ��f.���H��dH�%(H�D$1��g$�H�T$dH3%(uH���蚳��f.���H��dH�%(H�D$1�H��t�G�H��t�G �1�H�L$dH3%(uH����H������H��dH�%(H�D$1��G$�w�W ����G$H�L$dH3%(u1�H������f.�H��dH�%(H�D$1������H�����Hc�H�>��DH����H�L$dH3%(�SH����H������H�_����H�B���H�Q���H����H����H�Л�t���@H����d���@H����T���@H�r��D���@H�U��4���@H�6��$���@H������@H�������@H�ښ��@H������@H�������@H�p�����@H�P����@H�+����@H�����@H�����@H�ҙ�t���@H����d���@H����T���@H�p��D���@H�O��4���@H�1��$���@H������@H������@H�Ә��@H������@H�������@H�u�����@H�Z����@H�9����@1�����D���@AUATUH��SH��dH�%(H�D$1�H��t+D�A�I�^v�?��<�O�^w,H��H9�u�H���˼��H�D$dH3%(utH��[]A\A]�H��L�$L�l$�f�D�A�A�<^w�H��H��脼��H��L9�u��L���1�L����詶���L��H���I������b���f�AWAVAUL�-�ATUH��SH��H��H�<$L�d$`L��dH�%(H��$x1��.���fDH�5��H��詵��H��L��I��H���ػ��B�<3��N�t3H�5j�L���y���A�<H����H=���L��$���L��H��L���Ԝ���L��L��Ƅ�I�\������}�L��H�=-��������L��H�=+������uu�E��/�i�ƒ�HU�EL�2M���iL���9���H��L��L���������fD�E��/���ƒ�HU�E�H�5�L��1��հ������L��H�=���������M��/��H�E�q�ʉuH���/��
��H�MH�0H��u	H���0H���R���L���"����E���D�E��/�$�ƒ�HU�EH�H�5�L��1��,��������H�UH�BH�E�'����H��$xdH3%(H�D$h�D
H�Ĉ[]A\A]A^A_�f.�H�UH�BH�EL�2M��������L�5Ė�����
H�=^�L�������uv�U��/�ZH�E�J�։ML�40��/��	Hȃ��UH�H���RM���IH�5T�L���Ԕ�������H�UH�BH�E������H�=ؖL���������U��/��H�E�J�։MH�40��/�	��HȉUH�H��u	H���p���L�t$@H�<$�t$41�1�M��L�D$0�	�D$0��H�D$8H�D$�:��������|$Hv%H�D$PH�|$�H�4��D�@1��6���H�<$L���:���H�|$H�|$H��tH��L�����H�|$�������H�EH��H��H�EH�H�HH�M�m�����H�=̕L���������E��/�F�ƒ�HU�EL�2A�������������H�5��L��1�舭��L��$�A�v�L��$pH��M��L��A� jI�~L�T$�_���ZY��L�T$�QA�V���/H�5:�L���Œ������H�EH��H��H�EL�2H�PH�UH�H�������M������I��I�A�H�5��L��1�I���Ϭ��M9�u����D�H�=íL�������ue�E��/�+�ƒ�HU�EH�H���?����BH�r��t	H���+���������H�EH��H��H�EH�2H�PH�U�}����H�=Z�L����������H�=P�L��������{�H�=8�L����������	H�=��L����������U��/�5�Ѓ�HE�UH�H���b����HL�HL��H�ߓD�@H�<$1���h���H�UH�BH�E���H�UH�BH�E�����E��/���ƒ�HU�EH�H��������HL�@L��1�H�<$H�P��.����H�5
�L��誐���}���H�5�L��1�������L��L��H�5�L��1��ت�����H�5��L���d����7���H�D$1����H�5��L���@�������H�UH�BH�E�D����U��/��Ѓ�HE�UD�0H�5��L��1�D���[�����L��D���������+���L��H�5��L���1��������U��/���Ѓ�HE�UD�0H�<$D��蕟��E��L��Ic�H�
�I��H�5/�HE�1����H�<$L���$�������H�=�L�������uO�U��/�C�Ѓ�HE�UH�H���N���H�<$H�w�L��1���_���H�EH�PH�U���H�=�L���������H�=��L����������H�=��L����������H�=|�L���������H�5s�L���_������a�U��/�D�Ѓ�HE�UD�0D�����H���IH��D��H�5"�L��1�蔨���w����H�EH�PH�U����H�EH�PH�U�R���H�EH�PH�U����U��/���Ѓ�HE�U�����h����a~6H�5���tH�51���H�5��H�&�HE�L��蔍������H�5��=~���t�=���H�5s�H���HE��̃����H�5���
t�H�5 ���t���H�5��H���HE�뎋U��/��Ѓ�HE�UH�0H�<$H�T$�!������A���H�t$L�����H�t$H�<$�N����!����U��/ws�Ѓ�HE�UH�H�<$L�D$ L���D$ ���HH�P�L$$H�T$(�HH�T�1�����H�51���������H�5�H���HE�����H�EH�PH�U�H�5����H�5͍���H�EH�PH�U�J���H�EH�PH�U���H�5�L���������H�5�L���У������H�5�L��蹣�����)H�5�L��袣������H�5ʎL��苣�������U��/���Ѓ�HE�UH�H�<$H���L��H�HL�@1�����H�5D����H�E�c���H�E���裢��H�E����U��/���Ѓ�HE�UD�0��L���D��������JD��H�5��L��1��N����1�U��/���Ѓ�HE�UL�0M����I�>ttI�L�=Q��@H��H�5��L��1����I�~tH�5��L��艊��I�����I�H�����H�ωL$����L$H��u���L��L��1�譤���H�5D�L���<���I�H���t����s�H�5$����H�EH�PH�U�=���H�EH�PH�U���H�EH�PH�U�a����U��/���Ѓ�HE�UH�0H�<$��L���������L��L��證�����U��/wd�Ѓ�HE�UL�0L�<$L��L������L��H���w���L��H�5���h���L��L���-���L��H���R�����H�EH�PH�U�h���H�EH�PH�U뚋U��/ws�Ѓ�HE�UL�0M��tA�>uH�5�L�����L�=���I��M���/�A����$�H�<$1�L��L���;A�~t�H�5��L��赈���H�EH�PH�U�H�EH�PH�U�r���@UH��H��SH���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H��H��tH��H�����H������H�D$dH3%(u
H���[]�����ff.�@��UH��SH��dH�%(H�D$1�H��t6H�H������H�L$dH3%(u@�}H��H��H��[]韨����:�х��H�D$dH3%(uH��H��[]�c���莞��ff.���AUATUSH��H��H�T$PH�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�D$H��tkH���taH��$ H�T$ H���D$ H�D$(H�D$@�D$$0H�D$0�[�H��H��tH�t$H�|$������t0H���h���H�|$�^���H�D$8dH3%(ulH��[]A\A]�D�l$D�d$行��H�|$H��H�!�U��E��E��1��,���ZY��x�H�D$H���H�t$H��H�D$����r����
���ff.�f���ATI��UH��SH��H��dH�%(H�D$1�H���H��tH���1���L���1�H���H�L$dH3%(u	H��[]A\�薜��fD��ATI���UH��SH��dH�%(H�D$1�贈��H��tOH�ú��AH��1��H�������tQH�D$dH3%(uRH��H��L��[H�5���]A\駚����H�L$dH3%(uH��[]A\�f�H��踍��胚������ڛ��f.���SH��H�=��H��dH�%(H�D$1��x���H��t#H�T$dH3%(u)H��H��H��[��H�D$dH3%(uH��[��e���D��H��dH�%(H�D$1�H�D$dH3%(u�H���j����%���D��AUI��ATI��U��S��H��dH�%(H�D$1�H�t$H���K�����u(\$�$�ށ�@B6��y	��@B���A�mA�4$H�L$dH3%(uH��[]A\A]�@��@B����萚����H��I��dH�%(H�D$1��G$�uN�t*H�D$dH3%(u[�w �H��H��L���%���DH�D$dH3%(u1H��L��H��遊����G��G �1�H�L$dH3%(uH������f.���AWAVAUATUSH��xD�6dH�%(H�D$h1�H�D$ H�D$���1I��H��L�d$�����T$L�d$ H�D$(����H�EH�L$8H�D$0H�D$H�E��ʉT$I�T$H�T$@1҅�tH�UH�T$P�A�H�D$XH�T$D��L���{�������Ic�H��H�D)����M��ʃ��`����T$L�d$ H�D$(��t:H�EH�L$8A��H�D$0��H�D$0H�D$8�9����H�D$0�A�H�D$8�S���fD1�H�|$hdH3<%(uH��x[]A\A]A^A_���������R���f���H��dH�%(H�D$1�H�D$dH3%(u�H���*�������DPXH�
���xH�5��H�=��H��dH�%(H�D$1��k���ff.�PXH�
W���H�5F�H�=Y�H��dH�%(H�D$1��+���ff.���USH��dH�%(H�D$1�H�?`ʪu]H��H�H��t�,���H�{H��t����H�{ H��tH�o0���H��H��u�H�D$dH3%(u+H��H��[]���fDH�D$dH3%(uH��[]���@��AUI��ATI���@UH��SH��dH�%(H�D$1�����H��tzH�`ʪf�L��H��@@ @0蘕��H�CH��t?H��tH��肕��H�CH��t)I�]1�H�L$dH3%(u*H��[]A\A]��H�������ΐ����4���@��ATUSH��dH�%(H�D$1�H�?`ʪ��H�H��H�_ t1H��H�H��H%`ʪH�L$dH3%(��H��[]A\�@H��txH�{8uD�GD�`�(H9k(uBH���r���H��u�H�S0H��t�H9Z8uH��D;ct�H�`ʪ�@H�`ʪ��H�`ʪ�s���H�`ʪ�g����K���1��[���@��AWAVAUATUSH��dH�%(H�D$1�H�?`ʪ�4H�oI��H���H�_ I��I��I��H��u�EDH�C0H��H��t4H��H�{L���M�����aM��u܅�u�H�{u�Cu�I�1��@H��L��L�����H����H�L$dH3%(��H��[]A\A]A^A_�fDH��L��L���j���H��u�A�FH�$���b��BL�r(H�j8H�Z0H�S8H��tH�U01�M��t�I��fDI�V ��f�A�FH�$H�݃��b��BL�r(H�Z8H�B0�H�`ʪ�L���H�`ʪ�@����̓��ff.����H��dH�%(H�D$1�H�?`ʪu�OH�T$dH3%(uH���fDH�`ʪ���r���f���H��dH�%(H�D$1��G��H�T$dH3%(uH����7������H��dH�%(H�D$1�H�GH�T$dH3%(uH������f.���H��dH�%(H�D$1�H�GH�T$dH3%(uH���躒��f.���AWAVAUATUSH��dH�%(H�D$1�H�H=`ʪ�!I�H��I��A��M��M��H����H�;`ʪ��H��tH�{H���ƒ����uH�{E��t)H��t:H�[0H��u�1�E��I���H-��5U�_@H��t�M��tL���~�����u�Cu�M��tI�H�[0H��t)H��tH�{H���R�����u�H�{E��t5H��u�Cu�I�1�H�T$dH3%(uPH��[]A\A]A^A_�fDH��t�M��t�L�������t���H�_ H�������3���H�`ʪ��P�����UL��I��1�SH��1�H��dH�%(H�D$1�I���q���H��u"H�$H��tH��tH�JH�MH��tH�RH�H�\$dH3%(uH��[]��ސ��ff.���UL��I��1�SH�˹H��dH�%(H�D$1�I�����H��uH�$H��tH��tH�UH��tH�RH�H�\$dH3%(uH��[]��_���ff.�@��H��dH�%(H�D$1�H�G(H�H�T$dH3%(u1�H�������D��AVAUATUSH��dH�%(H�D$1�H����H�?`ʪH����H��H����A��I���upH�>���@A��{��H��tcH�SH�"`ʪH�hD�`H�P D�p,H�@0�@8I�E1�H�L$dH3%(uLH��[]A\A]A^�@�@E1��{��H��u�����H�`ʪ�H�`ʪ�H�`ʪ�������SH��dH�%(H�D$1�H��tH��H�?H��t	H�?"`ʪtH�D$dH3%(uH��[��苀��H���譎��ff.�f���AWAVAUATUSH��HH�/H�|$H�t$ H�T$(H�L$dH�%(H�L$81�H����H�}"`ʪ�L�u M��t5I�>`ʪ�]I�FH�8`ʪ��H�x�0x���Å��>L�u H�]0H����I�F�U(9PT���e����D�m81�H�E0H�����M����I�~�E	�l1��H��H���#H�E H�xH���y��A�Ņ���H��t
H��
�^H�E L�pL�u M����I�~H���hw������H�]0L�u �
H�;`ʪ�wE1�H���[���L�e�M��tH�{L��菍����u�E�ttH�{��H�[0H��uЃE8I�~H����x���Å��H�E H�@H�E H����H�xH����v��A�Ņ��@L�u H�E0������tH�{t�E��p�Cu��E8I�~H���ix��A�ą��2H�C0H�E0H���@H�D$ H��tH�H�L$(H��tH�CH�H�L$H��tzH�C1�H��qf.�A���������s������H�E0H�|$����H�D$ H��tH�H�D$(H��tH�H�|$tH�D$H�1�H�L$8dH3%(H����H��H[]A\A]A^A_�L�u I�F�@T�E(I�FL�x0M���hHcE,L�eH��I�<�H�T$th�M� M���I�$�DM�0M���I�H��菋����u�I�u�A�G�uӨt�MH�D$I��I�<u�M�$$L�eI�_ H�]0H�������������蛂����I��H���%H����H�81��Ys��H�
"y��H�5�H�=$��
u��H�]0H���B����}������A���D��I��H�T�%H����H�81��r��H�
�x�xH�5��H�=ɕ�t���I�~H���v��A�Ņ�u}H�E L�pL�u M���u���I�~H����s���Å��������豁���پH�s�I��H���%H�81��or�����胁��D��I��������q�����I���,���D���_���D��I��H�r�%H�C��H�81��r����E1�1��m���H���Du���Å��O�����������I���D������D��I���H�|$�����d���H�E H�@H�E ���H�
�w�H�5YwH�=^w�ms��H��`ʪ�(���H��"`ʪ�������H�xH��`ʪ�t���Ņ��������������I������H��`ʪ���f���H��dH�%(H�D$1�H�?`ʪu'H�(t)�OH�T$dH3%(uH����H�`ʪ��H�`ʪ���!������ATUSH��dH�%(H�D$1�H�?`ʪu[H�oH��H��tXH�����I��H��t/H���y��L�c1�H�T$dH3%(u3H��[]A\�����f�H�`ʪ��H�
`ʪ�艇��f���AWAVAUATUSH��(dH�%(H�D$1�H�?`ʪ�+L�oH��H��H��L��輇��1҅�u&H�L$dH3%(H���H��([]A\A]A^A_�H������I��H����H�C(E1�L�x H�D$M��u�2DI�G0M��H����I��I�H���A�����~�L9�tFL9�tAH�C8H�K0H��tNH�H0H�C0H��tH�K8H�H8M��tI�_8M��tCI�\$0L�{0L�kL�c8L���:x��L�s1��)����H�D$H�H �DE1��H�C(H�X �fD���H��`ʪ�������D��H��H�=��%dH�%(H�D$1���%��n����%H�D$dH3%(uH���辅��ff.�PXH�
�t�xH�5&�H�=9�H��dH�%(H�D$1��p��ff.�PXH�
�t��H�5�H�=��H��dH�%(H�D$1���o��ff.�AVH��AUA��H��sATI��USH��H�� dH�%(H�D$1�H�|$H�D$H�D$��w������1�H�|$H�پH��s�w�������P���H�|$H�5��I��薁��H��H���H���ri������1��o���I�<$H��� H���;�����twIc.H�|$H��t�v��H�|$H��t�v��H�L$dH3%(H����H�� []A\A]A^�f�H�D$��H�|$�H�D$H��u��fDH�|$�vq��H�t$H���Yx����tuA�>uA��ui�T���H�t$H���g������H���H�|$H���R�����tSH�|$H��Ic.�>����%���f�Ic.H�`ʪH��HD�����f.�H�|$H�����������1�����/���ff.�@��H��dH�%(H�D$1�H��t;H�H��tH�ǘ��)���������H�T$dH3%(u
H���@1���迂��ff.�@��ATI��USH��dH�%(H�D$1��t���H���H�Ÿ�H���HB��H���H��H��t;H�UH���L����o��H�`ʪǃ�H�C0Hǃ�H�kXH�L$dH3%(H��u	H��[]A\�����@��AVAUATI��USH��H��dH�%(H��$�1��GPt6H�0t/1�H��$�dH3%(H���H�Ġ[]A\A]A^�1����H��H9C8uH�{0u�L���H��L���zt�����L�t$`H�{0H�k8H�C@H9D$XtzH��t
��H�C0�D$%�=�tp�SP�у��KP=@u^��CTH�s0L����SP�H��H���,���H�{0��H�D$XL�sHH�C@����@L9sHu�H����������S��L��H�5�k�H���l��I��H��tSH���{e������1��x����CTL��H�s0�cP�L���AL��H���6����W������~��Hc(�~���Hcm���HD��g����'���H�
 o�YH�5�nH�=�n�j�����AUI��ATUH��SH�_H��H��dH�%(H�D$1���i����u<H��L�����H��H���k���Å�uXH�T$dH3%(H��usH��[]A\A]�f���A���fw��D��H�'�I��H�m�%H�81��#h�����fD���1w���پH��I��H�9�%H�81���g������%��D��AUI��ATUH��SH�_H��H��dH�%(H�D$1��i����u<H�}0L���pH��H����j���Å�uWH�T$dH3%(H��urH��[]A\A]Ð��A���v��D��H�G�I��H���%H�81��Cg������fD���Qv���پH�;�I��H�Y�%H�81��g�������E~��D��ATUSH��dH�%(H�D$1�H����H�?`ʪH����H�oH���h��A�ą����CPtNH���H�{01�����cP�H��I����i���Å�u8H�L$dH3%(L����H��[]A\��H��E1��i���Å�tȉ��hu���پH�R�I��H�p�%H�81��&f��������9u��D��H���I��H�@�%H�81��e������I��`ʪ�]����}��ff.�@��AUATUSH��dH�%(H�D$1�H����H�?`ʪH����H�oI��H����f��A�ą�uCH�{0�L�����H��I���h���Å�uQH�L$dH3%(L��uzH��[]A\A]����Yt��D��H��I��H�`�%H�81��e���������)t���پH��I��H�1�%H�81���d�����f�I��`ʪ�s����|��ff.�@��SH��dH�%(H�D$1����tH�D$dH3%(��H��[�@H���GPt?H�
��%H���H9���H��t#H9�u�W@H9�t[H��H���H��u�@H�{0H��t���H�H�{�*o��H�D$dH3%(u3H��H��[�
m��H��H���H���H����H���%��{��f���UH��H�=��%SH��dH�%(H�D$1��d����u3H������H�=��%��f���Å�uIH�D$dH3%(ugH��[]�f��lj��r���پH�I�I��H���%H�81��Ec�������Yr���پH�C�I��H�a�%H�81��c������Mz��ff.�f���SH�=�%H��dH�%(H�D$1��+d����uH�D$dH3%(u7H��[Ð�lj���q���پH���I��H���%H�81��b��� ���y��ff.���SH�=��%H��dH�%(H�D$1��e����uH�D$dH3%(u7H��[Ð�lj��Wq���پH�A�I��H�_�%H�81��b������Ky��ff.���SH��H��H�dH�%(H�D$1�����H�D$dH3%(u
H��H��[��j���x��f���SH�� dH�%(H�D$1�H�`ʪH��tH��H9tH�T$dH3%(u-H�� [�DH��_���H��u�H��H�D$�M���H�D$���x�����AVAUATUSH��H�$H��H�$H��PdH�%(H��$H 1�I��H�5;�%H��H�=!�%I���h����u��%�����	�%Hc�H��t1H��$H dH3%(H����H��P []A\A]A^����d��I��H���"f�}~H�`ʪ@u
�}/�H���v��H�D$H���uH�=n�%�a������H�-P�%H��t(H���H�t$H����w������H���H��u�H�=$�%�7c�����
H�|$�s�H��H���OH�|$��h��H�}I�n�s��Hc�H����I�~L�����H��H����H�=��%��`��A����H���%�MPH�=��%H�-��%H����b������M�4$���D�H���}�����$������H�=M�%H�E8�Xb����u21�H���H���H�|$H���h��H��uFI�nM�4$� ���f����m����I��H�
�%H�ށ�H�81��^����f�H������L���g���������m����I��H���%H�n��H�81��o^����f.�����fDH�=\�H�\$�Os��H����H��L�E1��H�J�H���Ih����x=H�D$���L���P����2���H�
td��H�5�cH�=�A�_��@L�����f�����fDH����f��L���f���������l����I���������l��D��I�����L����f��H�|$�f������7w��H�T$@L�D$H�޹ ����|�������H�D$H������H�@ �8����������at���UH��SH��H�dH�%(H�D$1���t9�g��H�H���f�H��H���t�DZ u�H�L$dH3%(uH��[]�H�����s��ff.��SH��H��dH�%(H�D$1���e��H�H9�r�#f�H���H9�t�P���
t�
t�H�D$dH3%(uH��[��s��ff.�AWAVAUATI��UH���SH��HH�$dH�%(H�D$81��_��H���eH��H�D$(L�-�bH�D$L�5�bf.�H���Xw������H��H����b��H�����H��L�������u�Lf��H�SH��DP ���
H��L�������u�f��H�S
H��DP ��A�$�������=���\����H��H�=3c�����u��e��H�SH��DP ���;[�!���A�$H�D$0H������I���<;�����<#��L������A�������<[��<}���=L���n��H��H���}I9�tx���H�D$�-e��L��H�t$H�8�
H��H9���H�
�DO t�H9���H�J�H9���H��f.�H��H9��{H��DB u�H�`ʪ�@H������8{�A�$H���gu���������H����b��1�H�T$8dH3%(�H��H[]A\A]A^A_�H�D$0�;���������H�{�g���H��I������I�t$L����H��������i@H�{
�7���H��I�����I�t$L�����DL�4$M���.H�{����H��H���g���H���Oo��H��I��H����H��H�$�a��H�$����A�D$���'A�*I�|$��I�t$���H��u�A�l$�����H�~����H���<"������A�$�*L���l��I�L$H���Z�I�|$1�L���T��H���P���I�|$���A�D$�V���fDA�T$���eI���]L���2l��H��t`�I�|$1�H�T$0H�D$I�D$L��I��H�D$�T��L�L$H=`ʪ�H������A�y*I�y������8����H�`ʪ���������<{��H��H�T$��`��H�T$H�L�H9�H�L$s0�b��H�T$H�L$�@H���AH9�tH�9H�0�D~ u�*L��H�T$�Kk��H�T$H��t<�H�L$L��I�|$���H�|$(�������H�#`ʪ���H�`ʪ���I�|$H�L$L���������I�|$H�L$1�L�����L�L$H���������BH�zH��<"tU��tQH��A��$f��H��H��H���BH����t&<"t"H�V<\u��FH��<ntj<tt^<bAD�����H�����I�|$L�L$���L�L$I�y�`������I�|$�C���I�|$1�L�����H����������	�r����
�j���H�zH�T$���H�T$�8�B����0���H�
`ʪ���H�`ʪ�����l���USH��(dH�%(H�D$1�H�t$H�5�WH�$H�D$�Y��H��t5H��H��H��1�����H��H���hq��H�L$dH3%(H��uH��([]�H��`ʪ���`l��AWAVAUATI��USH��8H�t$H�t$dH�%(H�D$(1��^�����GH�l$H��H����L�}M�����L�t$ E�/A��.��L���
^��H��vI�t��H�=�I�����tAE��t<�._��H�0L���A��NuA��_��A��-�„�uSH��D�(E��u�1�M��L��H��KL���[^����xoH�|$ H�t$�x���H�|$ H���]��H��u^H�l$H��H��tL�|H��M���'���1���d��H�\$(dH3%(H��u5H��8[]A\A]A^A_�fDH�|$���@H�|$�H�� `ʪ���j����H��dH�%(H�D$1�H�D$dH3%(u	H���?d���j��f.�AWAVAUL�-�YATA��UH��SH��H��hH�<$dH�%(H�D$X1�H�D$HH�D$8H�D$H�D$@H�D$H�D$8H�D$H�D$VH�D$(DL�D$H�L$1�H�T$H�<$���H���)E1�E��~DA��H��L���E9�u�L�t$HM����E�>E��tP�;]��I��H�0�DN H�t$ u8L����[��H�t$ I�D��DF u�
L���qf��H����H��H�|$@��H��H�=B��L�t$HH��H�=�X��M��tT�D$W�I��A�F���t;<	�c�E<
��<\�eI��H��H�=zX��A�F���u�@H��H�=_X��H��H�=�w��H�|$8�����H�D$0L�57XH�D$8H�D$A�D$�D$ L�D$H�L$1�H�T$H�<$����H����E���mH��H�=B���H��H�|$@��H��H�=�H��H�|$0����H�=�WH��H��WHE���H��H�=%w��H�|$0�H��H�����H��H�=w��H�|$8�V���H�D$XdH3%(��H��h[]A\A]A^A_�@<u,H��H�=NW�����H��H�=7W���w�����D$VH��H�|$(���]���DH��H�=W���G�����	L���[d��H�����L���Ed��H������@H��H�|$@��H��H�=�?��H��H�|$H��H��H�=v���?����A��A��H��L����A�EA9�u�H��H�|$@E1���H��H�=\V��H��H�=�u�Ӌt$ H�|$0H��H���3�����A��H��L����A�GE9�u�H��H�=+C��H�|$0�&��H�=�UH��H��UHE���H��H�=Zu���Q���H��H�|$@��H��H�=�U��H��H�=3u�Ӌt$ H�|$0H��H�������/f��ff.�@AUATUSH��dH�%(H�D$1��G��u1H��H�WH�GH��I��H�?H��H)�H9�r0H�H��L����p��HkH�D$dH3%(uGH��[]A\A]�L��*H��I�L����m��H��H��tH�H�CL�k�D�C��re��f���UH��SH��H��dH�%(H�D$1��kW��H�L$dH3%(uH��H��H��H��[]�����"e��f���AUI��ATI��H�=�TUH��SH��8dH�%(H�D$(1�H�H�T$1�H�D$H�D$ ����H��t H�L$(dH3%(uNH��8[]A\A]�DH�\$L��L��H����H��uH�T$H�U�DH�|$H�D$����H�D$��ed��D��UH��H�=�SSH��H��(dH�%(H�D$1�H�H�T$1��6��H��t!H�L$dH3%(uGH��([]�f.�H�t$H�����H��uH�T$H���@H�|$H�D$�A��H�D$���c��D��H��H��H����1�dH�%(H�D$1�����H�T$dH3%(u1�H����{c��ff.���UH��H��1�SH��8dH�%(H�D$(1�H��H�$H���D$H�D$H�D$����D$��ue�H�5qRH�����H�D$H�t$H��H��H)�H9�w(H�$H�E1�H�L$(dH3%(u-H��8[]��H�<$��j��H��u���H�E����b��f.�f�ATI��USH��H���WdH�%(H�D$1��G��9�r�r
H�?H��H���j��H��tN�kH�L���@a��H��t;�SH��r�sH��H��SH��1�H�L$dH3%(uH��[]A\�f������a��@AUATI��UH��SH��H��dH�%(H�D$1�H��tH��u+H��tVM��tQL���`��H��H���}E1�H��u?�H�`��I��H��tcH��tVM��tQL���y`��H��H��u�J�1�E1�H��tL�m1�H��tH�1�H�L$dH3%(u(H��[]A\A]�1���@E1�L����R������a���USH��H�dH�%(H�D$1�H��t"H�H�D$dH3%(uNH��[]��H��H�;H��tD�R��H��H�;H��u�H�]H���sR��H�EH�E��`��ff.����USH��dH�%(H�D$1�H��tAH��H�?H��tH���R��H��H�;H��u�H�D$dH3%(u&H��H��[]��Q���H�D$dH3%(uH��[]��`��@��AVAUATUSH��0dH�%(H�D$(1�H�H����H�GI��I��H����H�T$H��PH��H��t)H�L$(dH3%(H����H��0[]A\A]A^�DH�
�PH�D$�K��H�l$H�D$H���4H�H�uL�l$H��t�L��H�����H�uH��u�L��L������H�l$I�D$I�|$H��P�U���fDH��H������H��H���3���H�
�PH�D$�K��H�D$H����H�L�d$L�l$�f�H�t$H��tL�����H�<$t'L��1�1�H������H��H��t�1�L���V��������D$��uH��`ʪ���L��L���-���������}���fD�����H��`ʪ�a����^��D��AVAUATUSH�� dH�%(H�D$1�H�H����H���I��A��I���
J��H��H����H�	`ʪH�hH�EH��tbH�@(H��t9H�KH�}D��L���H��u+I�$H�T$dH3%(uXH�� []A\A]A^�H�!`ʪH��H�D$�O��H�D$��DH�KD��L��H������@��H�`ʪ��]��ff.���USH��dH�%(H�D$1�H��t<H�H��H��t1H�;	`ʪu(H�SH�BH��t8H�sH�z�P8H���}N��H�EH�D$dH3%(uH��[]�fDH�{�o�����x\�����AVI��AUI��ATI��USH��0H�dH�%(H�D$(1�H��tH�M��tI�EH���BH�;	`ʪ�5H�kH�L$ H�T$H�EH����H�sH�}�P0H��u\H�|$H����H�t$ L��L������H�t$H��tH�UH�}H�D$�R@H�D$H�t$ H��tH�UH�}H�D$�R@H�D$H�L$(dH3%(��H��0[]A\A]A^�D1�H�{���H�{tVH��u�H�t$ H�|$L��L���L����f.�H�EH�sH�}�P8H����L��I�H�|$�,����H��H�D$��L��I�H�D$�DH�	`ʪ�F�����Z��ff.�@��AUATUSH��(dH�%(H�D$1�H�H����H�GH��I��H��tsH�T$H��PH��H��t'H�L$dH3%(H����H��([]A\A]�DL�l$I�}�:Y��L��I�$H���H�{HD�H�C�P�f.�L�l$�L���I��H��H��u�H�T$1�L���gB��H��H��uH�D$H��tI�$L���H���U���@H��`ʪ��H��`ʪ�<����Y��fD��UL��SL��H��HdH�%(H�D$81�H��t9H�t$H�t$H�T$H�T$H�L$ H�D$(���H��tOH����5UH��wH��t-H���5X��H��H�EH���H�\$8dH3%(u"H��H[]�H�E1���@H�T$H�U����X����AVAUATUL��S1�H��@dH�%(H�D$81�E�H��tAH�t$H�t$E��H�T$H��H�L$ H�D$(����H��H����5UH����H��t*H�L$8dH3%(H����H��@[]A\A]A^�fDL�$$A�<$����V��H�t$�
L���I���	R��I��H��������L�H���w3Ic�I9�u;L���#J��I�L9d$u)D�mL�$$L���I���b���@A���t�f�L�$$H��`ʪ��D�e1��3���H��`ʪ��W�����AUM��ATUD��SH��HdH�%(H�D$81�H����H�t$H�t$H�T$H�T$H�L$ H�D$(���H��H����5UH��v|H��t'H�L$8dH3%(H����H��H[]A\A]�DL�d$M����H�-�`%H�=���f�H��H�}H��t3L���A����u�A�EL���H���DA�m1��~���DH�-)`%H�=F�
H��H�}H��tL���[A����u�A�E�DH��`ʪ�H��`ʪ��aV�����AVI�ֺAUATUSH��0dH�%(H�D$(1�H��H���E��H��H��t%H�L$(dH3%(H����H��0[]A\A]A^ÐH�
�PH�D$�7B��H�D$H��t}H�L�d$L�l$�0f.�H�|$H��tH��L����H�|$�qG��H�<$t*1�L��H���
>��H��H��t�1�L���k��Q���fDL��L���U��;�����1����QU�����AWAVAUATUSH��HH�T$L�d$�L��dH�%(H�D$81��D��H��H��t/H�L$8dH3%(H����H��H[]A\A]A^A_�f�H�
�PH�D$(�A��H�D$ H����H�L�l$L�t$ �1�L��L���=��H��H��ukL�|$M��t9H�\$ H��u�DL����T����tH��H�;H��u�L��L����L�|$L���F��H�|$u�H�t$L��������fD1�L��������������T�����H��dH�%(H�D$1�H�D$dH3%(u	H���E����S��f.�ATUSH��dH�%(H�D$1�H���H�?`ʪ��H�_�I��H�{�GP������H�ǘ���H��H����H�x��O��Lc�M��t1���H���E��H�T$dH3%(L����H��[]A\�@H�E0H�C�@PH�E@��EPH�C�@T�ETH�{����H�k���H�D$dH3%(uOH�{H��1�[]A\���@����E1��o���A��T���DI��`ʪ�P���I��`ʪ�D����{R��ff.�PXH�
B�xH�5�]H�=�]H��dH�%(H�D$1���<��ff.�PXH�
�A��H�5�]H�=�]H��dH�%(H�D$1��<��ff.���AWI��AVAUI��ATI��USH��H��8dH�%(H�D$(1�H�GH��tAH�@XH����H���H��H�L$(dH3%(H����H��8[]A\A]A^A_�D���H��H��u�H����H�;��H�{��M���xA�<$�mI�GH�xH���8;���Ņ��I�GL�t$ H�@H�x0H�D$H�D$H�|$H�{u�f�H��H�|$H�{txL�L$H�3M��H�D$ 1�����H��H��t�I�GH�xH���<���Å���������vH���پH�`\I��H�~�%H�81��49���?����H�3L�L$M��1�H�D$ L��蚽��H��H��u�H�|$M��tVL�����H��I�GH�PH���h����JP�[�������G����H��[I��H��%H�81��8���r����]��H���H��!`ʪ�)���H��`ʪ����H��`ʪ�����O��ff.�@��AUATUH��SH��H��(dH�%(H�D$1�H�GH��t;H�@XH���	H�1�1��H�L$dH3%(�H��([]A\A]�D�s���H��u�H����H�3H����H�{��H�EI��L�d$H�@H�x0H�<$�@H�3H�<$1�M��M��H�D$����H���i���H��H�{u�H�D$L�l$@H�3H�<$1�1�M��M�����H���-���H�|$���H������H�|$u�H�UH�R�JP����H�!`ʪ���H�`ʪ����@N����AWAVAUI��ATI��USH��H��(dH�%(H�D$1�H�GH��t<H�@`H����H���H��H�L$dH3%(H����H��([]A\A]A^A_�����H��H��u�H���~H�;�tI�D$H�xH���7���Ņ��I�D$I��L�t$H�@H�x0H�<$H�{u��H��H�<$H�{tyH�3M��M��H�D$1�苺��H��H��t�I�D$H�xH���!9���Å��!�������D���پH��XI��H���%H�81��5�����f�H�3L�L$M��H�D$1�����H��H��u�H�|$M��t\L���&��H��I�D$H�PH���c����JP�U�������YD����H�XI��H�a�%H�81��5���������H���H��!`ʪ�F���H��`ʪ�:����+L��ff.���AWAVAUI��ATI��USH��H��(dH�%(H�D$1�H�GH��t<H�@hH����H���H��H�L$dH3%(H����H��([]A\A]A^A_����H��H��u�H����H�;��H�{u	M����I�D$H�xH���~5���Ņ��<I�D$L�t$L�|$H�@H�x0H�|$H�{u"�g�H����H��H�|$H�{tGH�3M��M���H�D$1��Q���H��H=`ʪu�H�3H�|$L��1�褵��H����H�3M��u9E1�L�D$�1�H�D$����H��H����H=`ʪu'H�3H�|$1�L���M���H��I�D$H��u
H�@�HPI�D$H�xH���f6���Å���������5B���پH�VI��H�=�%H�81���2�����fD���B����H��UI��H�	�%H�81��2�����H��!`ʪ����H��`ʪ������I��I�D$H��`ʪH�xH����5���Å�����Y���D��SH��dH�%(H�D$1�H�H����H�PH�
�S%H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�5��H��t2H�Ö%H�H�PH�H�D$dH3%(u%H��[��H�=(�%u�H��%�H����H��ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=ٕ%H�������H��AVAUATUSH��dH�%(H�D$1������H�H����H���H�I��I��I��tH� ��H�{(t!H�{0��H�{8��H�{@����(�K��H��H�����x�Y4��H�����o�oKH�E�oS �o[0L�u�oc@�okP�os`H�SpHP X0`@hPp`H�Pp1�L�m H�E`ʪI�,$���H�L$dH3%(u2H��[]A\A]A^�fD���f�H���(9�����LG��ff.��PXH�
G<�xH�5�RH�=�RH��dH�%(H�D$1��1��ff.�PXH�
�;��H�5vRH�=�RH��dH�%(H�D$1��[1��ff.���H��dH�%(H�D$1�H�D$dH3%(uH��H��1������F��D��SH�� dH�%(H�D$1�H����H�?`ʪ��H��t|�H�GH��t-H�@HH��t\H�L$dH3%(umH�H�� [��f�H�H�t$1�H��t����H�t$�H�T$dH3%(H��u*H�� [�1���@���f�H��`ʪ���E��f���H��dH�%(H�D$1�H����H�?`ʪ��H��tm�H�GH��t&H�@PH��tMH�L$dH3%(u^H�H����H�W1�H��tH�R�RP���H�L$dH3%(u*H���@1���@���f�H�`ʪ����D��f���H��dH�%(H�D$1�H����H�?`ʪ��H�GH��t)H�@pH��t)H�t$dH34%(uiH�H����fDH�WH��u1�H�L$dH3%(u>H���H�`ʪH9u�H�D$dH3%(uH�zH������H�`ʪ��2D��f���H��dH�%(H�D$1�H��tkH�?`ʪubH�ukH�WH��t*H�`ʪH9t&H�L$dH3%(uOH���f�1���@H�D$dH3%(u)H�zH�����H�`ʪ��H�!`ʪ��C��f.���H��dH�%(H�D$1�H�u!H�D$dH3%(u-H�GH�xH��� ��H�T$dH3%(H�!`ʪuH����C��ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��H���4����B�����USH��dH�%(H�D$1�H����H�?`ʪH����H�GH����H�@H��tH���H�{ H��tO�,���Ņ��H�S �j(��H�C H�x0�M��H�{ �E.���Ņ���H�{ �6��H�{ �3��H�{��3��H�D$dH3%(��H��H��[]��3��fDH�D$dH3%(��H��[]�DH�H��t��H�o���H��H��u��DH�{ �-���Ņ��t������v9����H�`MI��H�~�%H�81��4*���o�������A9����H�MI��H�I�%H�81��)������5A��D��USH��dH�%(H�D$1�H��tH�?`ʪH��t%H�D$dH3%(��H��[]�f.�H�GH��t7H�@pH��tH���H�D$dH3%(uWH��H��[]�
3��f.�H�H��t�H�o���H��H��u�H�D$dH3%(uH��H��[]�12���\@��ff.����AWAVAUI���(ATU��SH���H�T$dH�%(H��$�1�H�D$0�[,��H���Jf�I��H�`ʪ@@M����I�}H�����?��H�D$0��L�d$(E1�H�D$H�D$�KDH��t.H��
��H����H��uWH�D$(M����I�FI��I��I�}H��tG�?tBM��u}H�T$@��tsL������H��H=#`ʪu�H�l$0H����L���z#����M��tjH�D$1�L�8H��$�dH3%(H����H���[]A\A]A^A_�f�1��@H�\$�Z���fDI�G�H������L�����"��H�D$H��HE��L���^0��1�f�H�|$h�)D$PH�D$8H�D$@H�D$dHDŽ$��H��D$`H��}t
�}:uH�}�:�
;��I��H���'H��H)�H�{�_*��I��H����H��H��L�l$HH����H��A�L��L��H�=w�E��L��H���/��H����I�|$�<��L�d$HH��H�����8��)��I��H����H���,:��Hc�H��uqL�t$PH�t$8L��L����/��H��H����L���+/��H���#/��L���;F��L���1��L���/��H�|$8H��t�lH��H�|$0��.������1�E1�L����.��H����.��H�|$P��E���1�E1�E1���L���.��H���.��H�|$P��E���H�|$8L��L��H�5�1�B��H��H����H���A���L�l$`H�T$@H��L��T$HH��H���!���H�D$8H�L$L��L��A�G(H�t$@I�G0��L��H���#.��H���.��L���3E��H������H�D$xH�����H�|$@������L��E1�E1���-������<��H��%`ʪ���1�E1�H��$`ʪ����fD��H��dH�%(H�D$1�H�D$dH3%(uH��H��1��z.���;��D��AUATUH��SH��H��(dH�%(H�D$1�H���H�_H���tH��1��DL��H�@L�bH��u�H�<��'��I��H����J��M��t"fDH�sH��H���H�P�H�[H9�u�H�L��H����'��L��I���,��H�L$dH3%(L���[H��([]A\A]�DH�H�H�G H��t\H�t$H�{��I��H��u�H�S H�{H�L$H�t$���I��H��tHH�CH�@H��t�H�|$���z����A��n���DH�S H�sH�L$��I��H���K���H�{ H��t#�4$��A�ą�uKH�C �@(H�{ �&���Å�ucH�D$E1�H�E����D��6&��I��H���z���H���������1��D��H�lEI��H���%H�81��h"���c���|1���پH�fEI��H���%H�81��:"���u��p9����AWAVAUATUSH��H��(H�t$dH�%(H�D$1������H����y<:u�A����H�����u�H���^%��I��H����1��OfDM��I)�A�~�9%��I�D�H����E��H��H��A��L��H����=��A�?B�0��I�_�:H�߉l$A���{5��I��H��u�H���*��H�I��u�HcD$H�T$1�L��I�D�H�Ã��0+���\$I�ă����L���*���?fDD�t$A��Ic�A���tfDI�|�H����)�����u�L��A���)��H�L$dH3%(L����H��([]A\A]A^A_ÐMc�H�T$1�L��K�D��*��I��Lct$I�m�K�\�@H�;H���t)��H9�u�L���g)���D���#��I��H���x���f.�A��^����`7����ATI��U�SH��H�^dH�%(H�D$1�H��t!H�CH����@)��H�[H�lH��u�I,$1�H�L$dH3%(u	H��[]A\���6��ff.���AWAVAUATUSH��dH�%(H�D$1�H�$�H����H�I��H��H��I��L�!����L;$$��H�E1�H��t�H�@��H��u�����`I��H���S�L�}M��u�ZfDM�M��tKI�GH��I��H����?(����ʉS���t�Hc�I�GH��H��H�I)�H�����@��M�M��u����`I��H��1�I�M�eH�L$dH3%(uH��[]A\A]A^A_��5�����AWH��AVAUATA�USH��HH�H�t$ H�T$H�L$(dH�%(H�L$81�H��w-H�L$8dH3%(L���rH��H[]A\A]A^A_��H��:��`uȋj�H�T$A�͍}�l$Hc�H����8��I��H��t�H�T$H����L�z������M��M�d�H��vLA�ʍz��Hc��!��I�H����Lc�I��H��H��L��L��L�D$�?��L�D$B�M�L)�I��M9�u�A�H��w91��I�|�H��t�1&��H��9\$�L���&������f.�A�?��`u�H�t$ L���!��I��H��uH�D$M�OH��L�H�D$(H��D$��~��A��|����z��`A�u����3����H��H���/opt/alt/krb5/usr/share/localemit-krb5krb5_libinit.ck5int_i->did_run != 0krb5int_initialize_libraryASN.1 failed call to system time libraryASN.1 structure is missing a required fieldASN.1 type numbers are inconsistentASN.1 encoding ended unexpectedlyASN.1 identifier doesn't match expected valueASN.1 length doesn't match expected valueASN.1 badly-formatted encodingASN.1 non-constructed indefinite encodingASN.1 object omitted in sequenceASN.1 unexpected field numberASN.1 value too largeASN.1 parse errorASN.1 bad return from gmtimeASN.1 missing expected EOC$Id$Database store errorDatabase read errorNo such entry in the databaseIllegal use of wildcardInvalid kdb lock modeCannot find active master keyDatabase format errorUnsupported salt typeUnsupported encryption typeBad database creation flagsNo matching key in entryDatabase type not supportedServer errorUpdate log conversion errorUpdate log is unstableUpdate log is corruptGeneric update log errorPolicy is in useToo much string mapping dataEntry already exists in databaseInsufficient access to perform requested operationDatabase is locked or in use--try again laterDatabase was modified during readDatabase record is incomplete or corruptedAttempt to lock database twiceAttempt to unlock database when not lockedDatabase has not been initializedDatabase has already been initializedBad direction for converting keysCannot find master key record in databaseMaster key does not match databaseKey size in database is invalidCannot find/read stored master keyStored master key is corruptedKVNO of new master key does not match expected valueStored master key is not currentInsufficient access to lock databaseUnsupported version in database entryNo matching key in entry having a permitted enctypeUnable to find requested database typeDatabase library failed to initializeUnable to access Kerberos databaseKerberos database internal errorKerberos database constraints violatedDatabase module does not match KDC versionNo errorKDC policy rejects requestTGT has been revokedPassword has expiredPreauthentication failedKRB5 error code 30Ticket expiredTicket not yet validRequest is a replayThe ticket isn't for usClock skew too greatIncorrect net addressProtocol version mismatchInvalid message typeMessage stream modifiedMessage out of orderIllegal cross-realm ticketKey version is not availableService key not availableMutual authentication failedIncorrect message directionPolicy rejects transited pathKRB5 error code 53KRB5 error code 54KRB5 error code 55KRB5 error code 56KRB5 error code 57KRB5 error code 58KRB5 error code 59Generic error (see e-text)Client not trustedKDC not trustedInvalid signatureKey parameters not acceptedCertificate mismatchNo ticket granting ticketRealm not local to KDCUser to user requiredCan't verify certificateInvalid certificateRevoked certificateRevocation status unknownRevocation status unavailableClient name mismatchKDC name mismatchInconsistent key purposeChecksum must be includedKRB5 error code 82KRB5 error code 83KRB5 error code 84KRB5 error code 87KRB5 error code 88KRB5 error code 89Preauthentication expiredKRB5 error code 92KRB5 error code 94KRB5 error code 95KRB5 error code 96KRB5 error code 97KRB5 error code 98KRB5 error code 99No acceptable KDF offeredKRB5 error code 101KRB5 error code 102KRB5 error code 103KRB5 error code 104KRB5 error code 105KRB5 error code 106KRB5 error code 107KRB5 error code 108KRB5 error code 109KRB5 error code 110KRB5 error code 111KRB5 error code 112KRB5 error code 113KRB5 error code 114KRB5 error code 115KRB5 error code 116KRB5 error code 117KRB5 error code 118KRB5 error code 119KRB5 error code 120KRB5 error code 121KRB5 error code 122KRB5 error code 123KRB5 error code 124KRB5 error code 125KRB5 error code 126KRB5 error code 127Cannot read passwordPassword mismatchPassword read interruptedUnknown credential cache typeMatching credential not foundWrong principal in requestTicket has invalid flag setKerberos service unknownReplay cache type is unknownGeneric unknown RC errorMessage is a replayGeneric unknown RC/IO errorCryptosystem internal errorKey table name malformedUnknown Key table typeKey table entry not foundEnd of key table reachedError writing to key tableDES key has bad parityDES key is a weak keyBad encryption typeNo credentials cache foundRequest missing second ticketBad sendauth version was sentBad checksum in SAM challengeKeytab name too longThis application has expiredThis Krb5 library has expiredPassword change failedBad format in keytabEncryption type not permittedunknown getaddrinfo failurehost/domain name not foundservice name unknownservice not availableInvalid UTF-8 stringTracing unsupportedClient's entry in database has expiredServer's entry in database has expiredRequested protocol version not supportedClient's key is encrypted in an old master keyServer's key is encrypted in an old master keyClient not found in Kerberos databaseServer not found in Kerberos databasePrincipal has multiple entries in Kerberos databaseClient or server has a null keyTicket is ineligible for postdatingRequested effective lifetime is negative or too shortKDC can't fulfill requested optionKDC has no support for encryption typeKDC has no support for checksum typeKDC has no support for padata typeKDC has no support for transited typeClient's credentials have been revokedCredentials for server have been revokedClient not yet valid - try again laterServer not yet valid - try again laterAdditional pre-authentication requiredRequested server and ticket don't matchServer principal valid for user2user onlyKDC policy rejects transited pathA service is not available that is required to process the requestDecrypt integrity check failedTicket/authenticator don't matchAlternative authentication method requiredIncorrect sequence number in messageInappropriate type of checksum in messageResponse too big for UDP, retry with TCPField is too long for this implementationDigest in certificate not acceptedDigest in signed-data not acceptedPublic key encryption not supportedThe IAKERB proxy could not find a KDCThe KDC did not respond to the IAKERB proxyMore preauthentication data is requiredAn unsupported critical FAST option was requestedInvalid flag for file lock modeIllegal character in component nameMalformed representation of principalCan't open/find Kerberos configuration fileImproper format of Kerberos configuration fileInsufficient space to return complete informationInvalid message type specified for encodingCredential cache name malformedEnd of credential cache reachedRequest did not supply a ticketRequested principal and ticket don't matchKDC reply did not match expectationsClock skew too great in KDC replyClient/server realm mismatch in initial ticket requestProgram lacks support for encryption typeProgram lacks support for key typeRequested encryption type not used in messageProgram lacks support for checksum typeCannot find KDC for requested realmCannot contact any KDC for requested realmNo local name found for principal nameReplay cache type is already registeredNo more memory to allocate (in replay cache code)Replay cache I/O operation failedReplay cache type does not support non-volatile storageReplay cache name parse/format errorEnd-of-file on replay cache I/ONo more memory to allocate (in replay cache I/O code)Permission denied in replay cache codeI/O error in replay cache i/o codeInsufficient system space to store replay informationCan't open/find realm translation fileImproper format of realm translation fileCan't open/find lname translation databaseNo translation available for requested principalImproper format of translation database entryCannot write to specified key tableCannot find ticket for requested realmKey size is incompatible with encryption typeMessage size is incompatible with encryption typeCredentials cache type is already registered.Key table type is already registered.Credentials cache I/O operation failedCredentials cache permissions incorrectInternal credentials cache errorError writing to credentials cacheNo more memory to allocate (in credentials cache code)Bad format in credentials cacheNo credentials found with supported encryption typesInvalid KDC option combination (library internal error)No credentials supplied to library routineBad application version was sent (via sendauth)Bad response (during sendauth exchange)Server rejected authentication (during sendauth exchange)Unsupported preauthentication typeRequired preauthentication key not suppliedGeneric preauthentication failureUnsupported replay cache format version numberUnsupported credentials cache format version numberUnsupported key table format version numberProgram lacks support for address typeMessage replay detection requires rcache parameterHostname cannot be canonicalizedCannot determine realm for hostConversion to service principal undefined for name typeInitial Ticket response appears to be Version 4 errorCannot resolve network address for KDC in requested realmRequesting ticket can't get forwardable ticketsBad principal name while trying to forward credentialsLooping detected inside krb5_get_in_tktConfiguration file does not specify default realmBad SAM flags in obtain_sam_padataInvalid encryption type in SAM challengeMissing checksum in SAM challengeKey version number for principal in key table is incorrectNew password cannot be zero lengthNo supported encryption types (config file error?)Program called an obsolete, deleted functionno data available for host/domain nameCannot determine realm for numeric host addressInvalid key generation parameters from KDCCcache function not supported: read-only ccache typeCcache function not supported: not implementedInvalid format of Kerberos lifetime or clock skew stringSupplied data not handled by this pluginPlugin does not support the operationFAST protected pre-authentication required but not supported by KDCAuth context must contain local addressAuth context must contain remote addressPlugin does not support interface versionThe KDC should discard this requestCan't create new subsidiary cacheUnknown keyring collection versionInvalid UID in persistent keyring nameMalformed reply from KCM daemonMach RPC error communicating with KCM daemonInvalid module specifierPlugin module name not foundInvalid keyring anchor nameKCM daemon reply too bigNo KCM server foundKerberos V5 magic number tableBad magic number for krb5_principal structureBad magic number for krb5_data structureBad magic number for krb5_keyblock structureBad magic number for krb5_checksum structureBad magic number for krb5_encrypt_block structureBad magic number for krb5_enc_data structureBad magic number for krb5_cryptosystem_entry structureBad magic number for krb5_cs_table_entry structureBad magic number for krb5_checksum_entry structureBad magic number for krb5_authdata structureBad magic number for krb5_transited structureBad magic number for krb5_enc_tkt_part structureBad magic number for krb5_ticket structureBad magic number for krb5_authenticator structureBad magic number for krb5_tkt_authent structureBad magic number for krb5_creds structureBad magic number for krb5_last_req_entry structureBad magic number for krb5_pa_data structureBad magic number for krb5_kdc_req structureBad magic number for krb5_enc_kdc_rep_part structureBad magic number for krb5_kdc_rep structureBad magic number for krb5_error structureBad magic number for krb5_ap_req structureBad magic number for krb5_ap_rep structureBad magic number for krb5_ap_rep_enc_part structureBad magic number for krb5_response structureBad magic number for krb5_safe structureBad magic number for krb5_priv structureBad magic number for krb5_priv_enc_part structureBad magic number for krb5_cred structureBad magic number for krb5_cred_info structureBad magic number for krb5_cred_enc_part structureBad magic number for krb5_pwd_data structureBad magic number for krb5_address structureBad magic number for krb5_keytab_entry structureBad magic number for krb5_context structureBad magic number for krb5_os_context structureBad magic number for krb5_alt_method structureBad magic number for krb5_etype_info_entry structureBad magic number for krb5_db_context structureBad magic number for krb5_auth_context structureBad magic number for krb5_keytab structureBad magic number for krb5_rcache structureBad magic number for krb5_ccache structureBad magic number for krb5_preauth_opsBad magic number for krb5_sam_challengeBad magic number for krb5_sam_challenge_2Bad magic number for krb5_sam_keyBad magic number for krb5_enc_sam_response_encBad magic number for krb5_sam_responseBad magic number for krb5_sam_response 2Bad magic number for krb5_predicted_sam_responseBad magic number for passwd_phrase_elementBad magic number for GSSAPI OIDBad magic number for GSSAPI QUEUEBad magic number for fast armored requestBad magic number for FAST requestBad magic number for FAST responseBad magic number for krb5_authdata_contextCannot convert V5 keyblockCannot convert V5 principalKerberos V4 errorEncoding too largeDecoding out of dataService not respondingCannot convert V5 address informationV5 realm name longer than V4 maximumKerberos version 4 support is disabledasn1_encode.ca->type == atype_ptrseq->size != 0(ptr)->loadptr != NULLfn->check_tag != NULL(ptrinfo)->loadptr != NULL(ptrinfo)->storeptr != NULLoff->basetype != NULLeltinfo->size != 0fn->enc != NULLa->tinfo != NULLptr->basetype != NULLopt->is_present != NULLcounted->basetype != NULLstring->enc != NULLc->type > cntype_minc->type < cntype_maxa->type > atype_mina->type < atype_max19700101000000Z%04d%02d%02d%02d%02d%02dZfn->dec != NULLseq->n_fields > 0ptrinfo->basetype != NULLstring->dec != NULLeltinfo->type == atype_ptrbuf.ptr == bytesp��p�����8���������������������������������V��V�����D����D�����d��d��d��,��l��������������������H��(�������������������������������������������,�����L��������|��\��\��\��\�� %�� %���!��"��P"���"���"��X#���#���#��@$���$���$���$���!���2���2��l-���-��.��T.��d.��/���2���2���0���1��d1���1��4-��k5_asn1_full_encodecheck_atype_tagdecode_cntypenull_terminatefree_atype_ptrfree_sequence_offree_cntypefree_atypedecode_sequencedecode_atypeget_nullterm_sequence_lenencode_sequence_ofencode_cntypeencode_atypea->type != atype_nullterm_sequence_ofa->type != atype_nonempty_nullterm_sequence_of



:ǖ6�n../../../include/k5-thread.hr == 0k5_mutex_lock: Received error %d (%s)
k5_mutex_unlock: Received error %d (%s)
Resolving unique ccache of type {str}Moving contents of ccache {src} to {dst}k5_mutex_unlockk5_mutex_lockCan't find client principal %s in cache collectionNo Kerberos credentials availableNo Kerberos credentials available (default cache: %s)ccselect module failed to init vtable: {kerr}ccselect module {str} failed to init: {kerr}ccselect module {str} chose cache {ccache} with client principal {princ} for server principal {princ}ccselect module {str} chose client principal {princ} for server principal {princ} but found no cacheccselect module {str} yielded error {kerr} for server principal {princ}ccselect can't find appropriate cache for server principal {princ}HOME.k5identity 	
servicehost%s.XXXXXXDIR:%s contains invalid filename/run/user/0//run/user/0tktXXXXXXDIR::Credential cache directory %s does not existCredential cache directory %s exists but is not a directoryCan't create new subsidiary cache because default cache is not a directory collectionSubsidiary cache path %s has no parent directorySubsidiary cache path %s filename does not begin with "tkt"r+b%s (filename: %s)FILE:/tmp/tkt%sXXXXXX/var/run/.heim_org.h5l.kcm-socketCredentials cache 'KCM:%s' not foundkcm_socketlibdefaultsKCM:KCMMEMORY:MEMORYkeyringpersistent_krbprocessthreadsessionuserlegacy_krb_%s:%s:%s__krb5_time_offsets__big_keykrb_ccache:primary__krb5_princ__keyring;KEYRING:session:__krb5_unique__KEYRINGCredentials cache keyring '%s' not foundCan't create new subsidiary cache because default cache is already a subsidiaryDestroying ccache {ccache}Storing {creds} in {ccache}Generating new unique ccache based on {ccache}Initializing {ccache} with default princ {princ}Retrieving {creds} from {ccache} with result: {kerr}Retrying {creds} with result: {kerr}Removing {creds} from {ccache}Also storing {creds} based on ticketStoring config in {ccache} for {princ}: {str}: {data}Read config in {ccache} for {princ}: {str}: {data}krb5_ccache_conf_dataX-CACHECONF:k5_mutex_unlockk5_mutex_lockRetrieving {princ} from {keytab} (vno {int}, enctype {etype}) with result: {kerr}Keytab %s is nonexistent or emptyANYrb+Key table file '%s' not foundWRFILECannot change keytab with keytab iterators activeNo key table entry found for %sToo many keytab iterators activek5_mutex_unlockk5_mutex_lock.k5_mutex_unlockk5_mutex_lockSRVTABappdefaultsfalseniloffyestrueauthentication-indicatorsauth-indicatorsauthdata_client_0authdata[0] != NULLmodule->ftable->externalize != NULLstrcmp(dst_module->name, src_module->name) == 0src_module->ftable->size != NULLsrc_module->ftable->externalize != NULLdst_module->ftable->internalize != NULLsrc_module->request_context_pp == &src_module->request_contextdst_module->request_context_pp == &dst_module->request_context/opt/alt/krb5/usr/lib64/krb5/plugins/authdatak5_copy_ad_module_datak5_ad_sizekrb5int_authdata_verifyMore than 256 authdata matched a queryANONYMOUSWELLKNOWNWELLKNOWN:ANONYMOUSMalformed request errorAuthentication errorPassword change rejectedAccess deniedWrong protocol versionInitial password requiredSuccesschpw.c  p������������������P��decode_ad_policy_infop == data->data + AD_POLICY_INFO_LENGTHThe password must include numbers or symbols.  Don't include any part of your name in the password.The password must contain at least %d characters.The password must contain at least %d character.The password must be different from the previous %d passwords.The password must be different from the previous password.The password can only be changed every %d days.The password can only be changed once a day.Try a more complex password, or contact your administrator.kadminv4_realmrealmsv4_instance_convertrcmddiscussrvdsrvsampleolcpopsisrfsimapecatdaemongnatsmoiraprmsmandarinregistersmsafpservergdssnewsabsnfstftpzephyrkhttppgpsignerircmandarin-agentwritepalladium}>��?��?���>��@9���:��>;��\;��z;���;���<��*=���=��?���=��?��>���>��<:��<:���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8��<:���8���8���8���8���8���8���8���8���8���8���8���8��6���8���8���9���9���9���9���9���9���9���9���9���9��6���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8���8��6���8���8���8��6���8���8���8���8��6���8���8���8���8���8��6��
	
!"	

"

	
&#'!"#"# $%()����$����
	
����������
���������������� �	
Armor ccache sesion key: {keyblock}Using FAST due to armor ccache negotiation resultUsing FAST due to KRB5_FAST_REQUIRED flagError constructing AP-REQ armorstate->fast_outer_request.padata == NULLEncoding request body and padata into FAST requestnonce modified in FAST response: KDC response modifiedFAST response missing finish message in KDC replyExpecting FX_ERROR pa-data inside FAST containerFAST negotiation: {str}availableticketarmorsubkeyarmorFAST armor key: {keyblock}tgsarmorexplicitarmorfast.cstate != NULLFAST armor ccache: {str}fast_availreplykeystrengthenkeyFAST reply key: {keyblock}state->armor_keyDecoding FAST responseFailed to decrypt FAST replyTicket modified in KDC replyundecrypt_fast_replykrb5int_fast_prep_reqkrb5int_fast_prep_req_bodyKDC returned error string: %.*sServer %s not found in Kerberos databaseTGS reply didn't decode with subkey; trying session key ({keyblock)}Reply server {princ} differs from requested {princ}TGS reply is for {princ} -> {princ} with session key {keyblock}Get cred via TGT {princ} after requesting {princ} (canonicalize {str})krbtgtGot cred; {kerr}get_creds.cnrealms > 1TGS request result: {kerr}Requesting tickets for {princ}, referrals {str}Received creds for desired service {princ}Requesting TGT {princ} using TGT {princ}Found cached TGT for intermediate realm: {creds}Found cached TGT for service realm: {creds}Starting with TGT for client realm: {creds}Getting credentials {creds} using ccache {ccache}Server has referral realm; starting with {princ}Trying next closer realm in path: {data}Received TGT for service realm: {princ}Received TGT for {data}; advancing current realmReceived TGT for offpath realm {data}Local realm referral failed; trying fallback realm {data}Retrying TGS request with desired service ticket enctypesReceived non-TGT referral response ({princ}); trying again without referralsReceived TGT referral back to same realm ({data}); trying again without referralsFollowing referral TGT {princ}Request or response is too big for UDP; retrying with TCPinit_realm_path17, 16, 15, 14preferred_preauth_typesdisable_encrypted_timestamppa_typeforwardableproxiablecanonicalizeticket_lifetimerenew_lifetimenoaddressesWELLKNOWNANONYMOUSget_in_tkt.cerror != NULLctx->reply != NULLKEYEXCHANGEPKINIT%ldpa_config_dataFailed to store credentialsAttempting optimistic preauthctx->request->server != NULLGetting initial credentials for {princ}Setting initial creds service to {str}Received error from KDC: {kerr}Upgrading to FAST due to presence of PA_FX_FAST in replyFollowing referral to realm {data}Salt derived from principal: {data}AS key determined by preauth: {keyblock}Decrypt with preauth AS key failed: {kerr}Getting AS key, salt "{data}", params "{data}"AS key obtained from gak_fct: {keyblock}Decrypted AS reply; session key is: {keyblock}Reply has wrong form of session key for anonymous requestContinuing preauth mech {patype}Recovering from KDC error {int} using preauth mech {patype}Preauthenticating using KDC method dataSending unauthenticated requestClient '%s' not found in Kerberos databaseinit_creds_validate_replyinit_creds_step_replykrb5_init_creds_stepCouldn't lookup etypes in keytab: {kerr}Looked up etypes in keytab: {etypes}Keytab contains no suitable keys for %sgic_keytab.creq_pos == req_lensort_enctypesgic_opt.c!(opt->flags & GIC_OPT_SHALLOW_COPY)krb5_get_init_creds_opt_set_fast_ccache_namekrb5_get_init_creds_opt_set_pakrb5_get_init_creds_opt_freePassword for %s: kadmin/changepwEnter new passwordEnter it again%s.  Please try again.%.*s%s%s.  Please try again.
Retrying AS request with master KDCPrincipal expired; getting changepw ticketPassword expired.  You must change it now.Attempting password change; {int} tries remainingGetting initial TGT with changed passwordWarning: Your password will expire in less than one hour on %sWarning: Your password will expire in %d hour%s on %sWarning: Your password will expire in %d days on %sallow_weak_cryptoignore_acceptor_hostnamedns_canonicalize_hostnameclockskewkdc_req_checksum_typeap_req_checksum_typesafe_checksum_typekdc_default_optionskdc_timesyncplugin_base_dirccache_typeerr_fmt 	
,DEFAULTdesdes3aesrc4camelliadefault_tkt_enctypesdefault_tgs_enctypespermitted_enctypesBad value of {str} from [{str}] in conf file: {kerr}/opt/alt/krb5/usr/lib64/krb5/pluginsUnrecognized enctype name in {str}: {str}%s: %s%%%%c_forw_privmk_rep.cauth_context->negotiated_etype != ENCTYPE_NULLCreating AP-REP, time {long}.{int}, subkey {keyblock}, seqnum {int}k5_mk_repCreating authenticator for {creds}, seqnum {int}, subkey {key}, session key {keyblock}Negotiating for enctypes in authenticator: {etypes}_safeurn:mspac:%dpac.curn:mspac:dstctx != NULLdstctx->pac == NULLmspacurn:mspac:logon-infourn:mspac:credentials-infourn:mspac:server-checksumurn:mspac:privsvr-checksumurn:mspac:client-infourn:mspac:delegation-infourn:mspac:upn-dns-infodata->length >= pac->data.lengthbuffer->Offset + buffer->cbBufferSize <= pac->data.length(data->data == NULL) == zerofill(pac->pac->Buffers[i].Offset % PAC_ALIGNMENT) == 0Filtering out unverified MS PAC(authdata[0]->ad_type & AD_TYPE_FIELD_TYPE_MASK) == KRB5_AUTHDATA_WIN2K_PACPAC checksum verification failed: {kerr}mspac_import_authdatamspac_copyk5_pac_zero_signaturek5_pac_locate_bufferk5_pac_add_bufferpac_sign.cbuffer->Offset >= header_lenpac->data.length >= header_len(buffer->Offset % PAC_ALIGNMENT) == 0server_cksum.length > PAC_SIGNATURE_DATA_LENGTHprivsvr_cksum.length > PAC_SIGNATURE_DATA_LENGTHk5_pac_encode_headerkrb5_pac_sign_extparse.cpos == cur_data->lengthcur_data != &princ->realmpos < cur_data->lengthcur_data - princ->data + 1 < princ->lengthPrincipal %s is missing required realmPrincipal %s has realm presentparse_name_into_princ 	:%s_%s_initvtpluginsdisableenable_onlyInvalid module specifier %splugin.cpos == count.sopwqualkadm5_hookclpreauthkdcpreauthccselectlocalauthhostrealmauditkdcauthdatacertauthkadm5_authkdcpolicyCould not find %s plugin module named '%s'make_full_listReceived cookie: {lenstr}pkinitspakeencrypted_challengesam2otprealPre-authentication failedPreauth module %sPreauth module {str} conflicts with module {str} for pa type {patype}Wrong context passed to krb5_init_creds_free(); leaking modreq objectskrb5_init_creds calls must use same library contextReceived salt "{data}" via padata type {patype}Selected etype info: etype {etype}, salt "{data}", params "{data}"Preauth tryagain input types ({int}): {patypes}Preauth module {str} ({int}) tryagain returned: {kerr}Followup preauth for next request: {patypes}Processing preauth types: {patypes}Preauth module {str} ({int}) ({str}) returned: {kerr}Produced preauth for next request: {patypes}Unable to initialize preauth contextchallengelongtermkdcchallengearmorclientchallengearmorIgnoring encrypted timestamp because it is disabledEncrypted timestamp is disabledAS key obtained for encrypted timestamp: {keyblock}Encrypted timestamp (for {long}.{int}): plain {hexdata}, encrypted {hexdata}Vendor:%s	%d. %s %.*s
Enter #Enter OTP Token ValueOTP Challenge:preauth_otp.cti != NULLOTP Token PINNo supported tokensvendoralgIDtokenIDtokenInfoformattokeninfopin%.*s%.*sPlease choose from the following:
OTP value doesn't match any token formatsprompt_for_token{}Challenge for Enigma Logic mechanismChallenge for Digital Pathways mechanismChallenge for Activcard mechanismChallenge for Enhanced S/Key mechanismChallenge for Traditional S/Key mechanismChallenge for Security Dynamics mechanismChallenge from authentication serverpasscode], Challenge is [SAM Authentication%s%.*s%s%.*s0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZRead AP-REP, time {long}.{int}, subkey {keyblock}, seqnum {int}Read DCE-style AP-REP, time {long}.{int}, seqnum {int}rd_req_dec.cprinc != NULLNo keys in keytabsname != NULLCannot find key for %s kvno %d in keytabCannot find key for %s kvno %d in keytab (request ticket server %s)Decrypted AP-REQ with specified server principal {princ}: {keyblock}Cannot decrypt ticket for %s using keytab key for %sServer principal %s does not match request ticket server %sDecrypted AP-REQ with server principal {princ}: {keyblock}Server principal %s does not match any keys in keytabRequest ticket server %s found in keytab but does not match server principal %sRequest ticket server %s not found in keytab (ticket kvno %d)Request ticket server %s kvno %d not found in keytab; ticket is likely out of dateRequest ticket server %s kvno %d not found in keytab; keytab is likely out of dateRequest ticket server %s kvno %d found in keytab but not with enctype %sRequest ticket server %s kvno %d enctype %s found in keytab but cannot decrypt ticketFailed to decrypt AP-REQ ticket: {kerr}AP-REQ ticket: {princ} -> {princ}, session key {keyblock}Encryption type %s not permittedNegotiated enctype based on authenticator: {etype}(*auth_context)->negotiated_etype != ENCTYPE_NULLAuthenticator contains subkey: {keyblock}iteration_errorintegrity_errorkeytab_fetch_errornomatch_errorrd_req_decoded_opt????defaultKRB5_SENDAUTH_V1.0s4u_authdata.cprincipal != NULLconstrained-delegations4u2proxy_get_attributeurn:constrained-delegation:transited-servicess4u_creds.ctgsreq->padata != NULL*out_creds != NULLs4u_user->cksum.contents == NULLbuild_pa_s4u_x509_userkrb5_get_credentials_for_userKRB5_SENDAUTH_V1.0Generated subkey for TGS request: {keyblock}etypes requested in TGS request: {etypes}---%03o_%lunormal%Y%m%d%H%M%Sdaysday%d:%02d:%02d%d %s %02d:%02d:%02d%d %s%d %b %Y %T%x %X%x %T%x %R%Y-%m-%dT%H:%M:%S%Y-%m-%dT%H:%M%Y%m%d%H%M%Y.%m.%d.%H.%M.%S%y%m%d%H%M%S%y.%m.%d.%H.%M.%S%y%m%d%H%M%x:%X%d-%b-%Y:%T%d-%b-%Y:%Rv4norealmonlyrealmspecialafs3MEMORY:rd_req2verify_ap_req_nofailcapaths	 dflKRB5RCACHETYPEKRB5RCACHENAMEk5_mutex_unlockk5_mutex_lockSHA256:%s %lu:%s %lu:%sSHA256:k5_mutex_unlockk5_mutex_lock/var/tmpKRB5RCACHEDIRTMPDIRCannot %s replay cache: %s%s%s%s%s%skrb5_RCXXXXXXcreatelstatfstatrcache not a file %srcache not owned by %dCannot %s replay cache file %s: %sCan't write to replay cache: %sCannot sync replay cache file: %sCannot fstat replay cache file %s: %sInsecure mkstemp() file mode for replay cache file %s; try running this program with umask 077Can't read from replay cache: %sInsecure file mode for replay cache file %sCan't destroy replay cache: %snone @� @� @� @�	
d�	
��(2<FPZ'��
 !"#$%&')*+,-./01012345
6789������`abcde
fghi������
����f	g	h	i	j	k	
l	m	n	o	�	�	�	�	�	�	
�	�	�	�	�	�	�	�	�	f
g
h
i
j
k

l
m
n
o
�
�
�
�
�
�

�
�
�
�
fghijk
lmno�����
������� fghijk
lmno������
����f
g
h
i
j
k

l
m
n
o
PQRSTU
VWXY������
���� !"#$%
&'()*+",$-&.(/*0,1.2032@ABCDE
FGHIijklm
nopqrs4t6u8v:w<x>y@zB{|D�F�H�J������
����
p t u 
v w x y � � � � � � 
� � � � S!LT!NU!PV!RW!TX!VY!XZ!Z[!\\!^]!`^!b_!`!a!b!c!d!
e!f!g!h!i!j!dk!fl!:m!n!ho! p!q!r!s!t!
u!v!w!x!y!z!d{!f|!:}!~!h! �! �!j�!D`$a$b$c$d$
e$f$g$h$i$j$dk$fl$lm$nn$po$p$Fq$Hr$Js$4t$u$v$w$x$
y$z${$|$}$~$d$f�$l�$n�$p�$�$F�$H�$J�$4�$�$�$�$�$
�$�$�$�$�$�$d�$f�$l�$n�$p�$�$F�$H�$J�$4�$�$d�$f�$l�$n�$p�$�$F�$H�$J�$4�$�$�$�$�$
�$�$�$�$�$v'w'x'y'z'
{'|'}'~''�'�'�'�'�'
�'�'�'�'�'�'�'�'�'�'
�'�'�'�'�'0!0"0#0$0%0
&0'0(0)080904:06�1�1�1�1 2!2"2#2$2
%2&2'2(2)2Q2rR2tS2vT2xU2zV2|W2~X2�Y2�Z26[2�\2�]2�^2�_2��2�2�2�2�2
�2�2�2�2�2�2��2��2��2��28�2��2��2��2��2��2��2��2��2��2:������
���� !
"#:������������
��������������������
��������������������
��������������������
��������������������
������������� �!"�#&�'(�)3�489<�=D�EE�FF�GI�JL�MN�`a�bb�co������������������������������������������������
������
���������������������������KKLLMMNNOOPP QQ!RR"ST�UU�pp#������������������������$00�11�23�44�56�79�::�;<�==�>>�?A�BB�CC�DD�EE�FF�GG�HH�IJ�<	<	M	M		Q	Q	�R	R	�S	T	��	�	�	�		<
<
M
M
	�
�
�
�
	<<MM	��	MM	UUTVV[��	M
M
	�
�
	89g::	HKk��v��z�55�77�99�qq�rr�tt�z}���������	������7799		44	��	���� � �� � � � �� � � � �� � �� � � � �� � �� � �� � *0*0�+0+0�,0,0�-0-0�.0/0��0�0�� �#��e�f��g�i�m�m��n�r��{�������������������  a 23 � '1o1D 41D 23D 4AAAAAA
C'EEEEIIIINOOOOOUUUUYaaaaaa
c'eeeeiiiinooooouuuuyyAaAaA(a(CcCcCcCcDdEeEeEeE(e(EeGgGgGgG'g'HhIiIiIiI(i(IIJijJjK'k'LlL'l'LlL�l�NnN'n'Nn�nOoOoOoRrR'r'RrSsSsS's'SsT't'TtUuUuUuU
u
UuU(u(WwYyYZzZzZzsOoUuDZDzdzLJLjljNJNjnjAaIiOoUuUuUuUuUuAaAa��GgKkO(o(O(o(��jDZDzdzGgNnA
a
����AaAaEeEeIiIiOoOoRrRrUuUuS&s&T&t&HhAaE'e'OoOoOoOoYyhfjry{�wy   
 (  clsx�� E;  ���������������������������������#8553V:8Ctu6005��6788>��-M#C#C#C'G+Ke�'S'THT'UJT'tHt�tJt�T�T�T(	<	0	<	3	<		<		<		<		<	!	<	"	<	+	<	/	<	�	�	�	�	�	�	�	�	�	�	2
<
8
<

<

<

<
+
<
GVG>GW!<"<��������FV�����������F
>
G
>
F
W
�
�
�
�
�
�
�
�
�
M2������B�L�Q�V�[�@�qrqt���q����q�q�������������%.A%a%BbB#b#B1b1C'c'DdD#d#D1d1D'd'D-d-EeEeE-e-E0e0E'e'FfGgHhH#h#HhH'h'H.h.I0i0IiKkK#k#K1k1L#l#L#l#L1l1L-l-MmMmM#m#NnN#n#N1n1N-n-OoOoOoOoPpPpRrR#r#R#r#R1r1SsS#s#SsSsS#s#TtT#t#T1t1T-t-U$u$U0u0U-u-UuUuVvV#v#WwWwWwWwW#w#XxXxYyZzZ#z#Z1z1h1tw
y
a�sA#a#A	a	AaAaA	a	AaA#a#AaAaA	a	AaA#a#E#e#E	e	EeEeEeE	e	EeE#e#I	i	I#i#O#o#O	o	OoOoO	o	OoO#o#OoOoO	o	OoO#o#U#u#U	u	UuUuU	u	UuU#u#YyY#y#Y	y	Yy�������B�B�������B�B�������������������B�B�������B�B�������B�B�������B�B�������������������B�B����B�������B�B�������B�B���������������E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE���E�E�E�B�BE�����E �  B B�E�E�E�B�BE�����E   B�����B�B����   B�������B�B�����  `�E�E�E�B�BE�����E               3...... 2 2 2 2 2 5 5 5 5 5 !! ???!!?2 2 2 2  0i456789+"=()n0123456789+"=()Rsa/ca/sC�Cc/oc/u��FgHHHh'IILlNNoPQRRRSMTELTMZ�ZKA
BCeEFMo����i���"Ddeij1D 32D 31D 52D 53D 54D 51D 65D 61D 83D 85D 87D 81D IIIIIIIVVVIVIIVIIIIXXXIXIILCDMiiiiiiivvviviiviiiixxxixiilcdm�!8�!8�!8�!8�!8�!8"8"8"8#"8%"8+"+"+"+"+"."."."."."<"8C"8E"8H"8=8a"8M"8<8>8d"8e"8r"8s"8v"8w"8z"8{"8�"8�"8�"8�"8�"8�"8�"8�"8|"8}"8�"8�"8�"8�"8�"8�"80	01234567891011121314151617181920(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.(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)ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0+"+"+"+"::======�*8�k��N(N6N?NYN�N�N�N�N?QeQkQ�Q�Q�Q�Q�QR�R�RSS8SAS\SiS�S�S�S�S�VW�XY
YY'YsYP[�[�[\"\8\n\q\�]�]�]�]r^z^^�^�^__P_a_s_�_b6bKb/e4e�e�e�e�e�e�e�fg(g kbkyk�k�k�k�kll4lkp*r6r;r?rGrYr[r�r�s�s�t�tuu(u0u�u�uvv}v�v�v�v�w�w�w:y�y�ytz�z�zs|�|6Q�����3������������n�r�x�M�k�@�L�c�~���҉�7�F�U�x���d�p�����ʎ��������I�Ƒ̑ёw���������Q�^�b�i�˗�����ۘߘ��������ؚߚ%�/�2�<�Z��u������Þ͞ў������ �;�J�R������� 0ASDSESK0�0M0�0O0�0Q0�0S0�0U0�0W0�0Y0�0[0�0]0�0_0�0a0�0d0�0f0�0h0�0o0�0o0�0r0�0r0�0u0�0u0�0x0�0x0�0{0�0{0�0F0�0 �0 �0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0���������!	

abcdefghijklmnopqrstu`��������� "#')+,-./26@GL��WXY��������N�N	N�V
N-NN2uYNNN)Y0W�N()()()()()()(	)()()()()()()()(a)(a)(a)(a)(a)(a)(	a)(a)(a)(a)(a)(a)(a)(a)(n)(N)(�N)(	N)(�V)(�N)(mQ)(N)(kQ)(]N)(AS)(g)(kp)(4l)((g)(ё)(W)(�e)(*h)(	g)(>y)(
T)(yr)(��)(]y)(�R)(�N)(|T)(f[)(�v)(O)(nj)(TS)(my)(O)(�)(�)212223242526272829303132333435	aaaaaa	aaaaaaaaN�N	N�V�NmQNkQ]NASgkp4l(gёW�e*h	g>y
Tyr��]y�R�y7usYi�*QpS�l�O�Qck
N-NN�]�S;S�[f[�vOnjTSY3637383940414243444546474849501g2g3g4g5g6g7g8g9g10g11g12g�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�00�p1�p2�p3�p4�p5�p6�p7�p8�p9�p10�p11�p12�p13�p14�p15�p16�p17�p18�p19�p20�p21�p22�p23�p24�phPadaAUbaroVpcs^b-f�T'Yckf�l*h_O>ypAnA�AmAkAKBMBGBcalkcalpFnF�F�gmgkgHzkHzMHzGHzTHz�lmldlklfmnm�mmmcmkmmm2cm2m2km2mm3cm3m3km3m"sm"s2PakPaMPaGParadrad"srad"s2psns�smspVnV�VmVkVMVpWnW�WmWkWMWk�M�a.m.BqcccdC"kgCo.dBGyhaHPinKKKMktlmlnloglxmbmilmolPHp.m.PPMPRsrSvWb1�e2�e3�e4�e5�e6�e7�e8�e9�e10�e11�e12�e13�e14�e15�e16�e17�e18�e19�e20�e21�e22�e23�e24�e25�e26�e27�e28�e29�e30�e31�eʎȌ�n2N�S����QYё�UHY�aiv�?�������jm�p�s=�j���NuSkr-��P]�oͅd��b؁��^gjm�rΐ�O�Q�R�d�jr�v��\��2�o����xy�}Ƀ��֊�X_`|~�br�xŒ���Xb\j�mo/}7~K��R���Q�Qz�}�u����bj��9N�[`�spuS�x�O�_
N�lxe"}�S^XwI����k���l�b��ceu�NiQ�Q�h�|o�Ҋϑ�RBTsY�^�e�o*y��j���Ξ�R�fwkb�t^�ab�d#oIq�t�y�}o�&��#�J�R�R�T�pˆ���^�_{c�k>|us�N�V�[�]`�sit�F�4���H���O�y�����`�N�P�[?\�ej�qBv��|����f.��R{g�gAm�n	tYukx}^�mQ.bx�+P]�m*��_Dah�s��)RTe\fNg�h�lt�uyψ�̑�?S�nT�q�t����W����g�m��z {�|�r�pX��N6�:RR�^�b�|�[m�f;�L�M����^@Q�UZXtf�Q*s�v<y^yey�yV��|����8������(����O�PMQ�R�RQS�UVhV@X�Xd\n\�`ha�a�aOe�e�f�hwmn"onq+r"t�x>yIyHyPyVy]y�y�y@z�z�{�}	~A~r��y�y�W�����9�ӌ���8����;�fffiflffifflststtvtetk~vtm�������������+��������������������������������������������������������������������qq{{{{~~~~����zzzzyyyy�����������������������������������������������������������T�T�����������T�T�����������t����������IIJT'JT'JT�JT�JTHJTHJT�JT�JT�JT�JT�JT�JT�JT�JT�JTIJTIJTI����JT,JT-JTEJTIJTJ(,(-(.(E(I(J*,*-*.*E*I*J+,+E+I+J,-,E-,-E.,.-.E3,3-3.3E5-5E6,6-6.6E7-7E8E9,9E:,:EA,A-A.AEAIAJB-BEBIBJC'C,C-C.CDCECICJD,D-D.DEDIDJE,E-E.EEEIEJF,F-F.FEFIFJG,GEGIGJJ,J-J.JEJIJJ0p1pIp LQ MQ NQ OQ PQ QpJT1JT2JTEJTFJTIJTJ(1(2(E(F(I(J*1*2*E*F*I*J+1+2+E+F+I+JAIAJBIBJC'CDCECICJDEDIDJE'EEF1F2FEFFFIFJIpJ1J2JEJFJIJJJT,JT-JT.JTEJTG(,(-(.(E(G*,*-*.*E*G+E,-,E-,-E.,.E3,3-3.3E5-5.5E6,6-6.6E7-8E9,9E:,:EA,A-A.AEB-BEC,C-C.CDCED,D-D.DEDGE,E-E.EEF,F-F.FEFGG,GEGpJ,J-J.JEJGJTEJTG(E(G*E*G+E+G3E3G4E4GCDCEDEFEFGJEJG@NQ@OQ@PQ7I7J9I9J:I:J3I3J4I4J-I-J,I,J.I.J5I5J6I6J4,4-4.4E413151617I7J9I9J:I:J3I3J4I4J-I-J,I,J.I.J5I5J6I6J4,4-4.4E413151614,4-4.4E3G4G7E3,3-3.4,4-4.7E8E'K'K*,E*-,*-,*-E*.E*E,*E-*E.,E-,E--EJ-EI3-,3,-3,I3E-3E-3E,3EE3EE5--5--5EE4-E4-E4,J4E.4E.4EE4EE6-I6.E6.E7E-7E-7EE7EJ9,E9EE9EE9EI:EE:EJ:EIA.EA.EBE-BEED-ED-JD-ID,,D,,D.ED.EDE-DE-E-,E-EE-JE,-E,EE.,E.EE,.GE,GEEF-EF-IF,EF,EF,IFEJFEIJEEJEE(.J*,J*,I*.J*.I*EJ*EI,EJ,-I,EI3.I5-J4-J6-JD,JDEJJ-JJ,JJEJEEJBEJF-JBE-D-E9EJCEJF,-E.JD,ECEED,EF,-,-J-,JE,JAEJ(-JCEE9,E5EE3.JF,J5D�BD�'DDG'C(1E-E/5D9E13HD9DJGH3DE5DI5DI 'DDG 9DJG H3DE,D ,D'DG1�'D..  __(){}0000
000	00
000    ___,0.;:?! (){}00#&*+-<>=\$%@ K@K L M N@N O@O P@P Q@Q R@R!'S'S'T'THTHT'U'UJTJTJTJT''(((())****++++,,,,----....//0011223333444455556666777788889999::::AAAABBBBCCCCDDDDEEEEFFFFGGGGHHIIJJJJD'SD'SD'TD'TD'UD'UD'D'!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�)�)00
00�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0`���������!	

abcdefghijklmnopqrstu��� ��� %�!�!�!�!�%�%W�e�X�e�X�e�n�X�e�o�X�e�p�X�e�q�X�e�r���e���e���e�n���e�n���e�o���e�o�ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzACDGJKNOPQSTUVWXYZabcdfhijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABDEFGJKLMNOPQSTUVWXYabcdefghijklmnopqrstuvwxyzABDEFGIJKLMOSTUVWXYabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz�������������������������"�������������������������"�������������������������������"�������������������������"�������������������������������"�������������������������"�������������������������������"�������������������������"�������������������������������"�������������������������"������01234567890123456789012345678901234567890123456789=N8NAN"`O�O�OPzP�P�P�P�4:MQTQdQwQ�4gQ�QK�Q�Q�N�Q�Qߑ�QR�4;RFRrRwR5�R�R�R�RSSSISQSZSsS}SSSS,
pp�S�Sc�S�ST�T8THThT�T�TUSUcU�U�U�U�U�U�UWVWQVtVR�X�W�W
X�W2X1X�X��X�XYY"YbY���YZ'Z�YfZ�6j[>[>[��[�[�[�[�[\3_"\�7`\n\�\�\�C]�n]k]|]�]�]/8�](^=^i^b8�!|8�^�^�^�^���^1#1#�"_"_�8�2�ab_k_�8�_�_�_�_�`:99�`�&�`HaLaNaLaza�a�a�a�a�a�a�abb]b�b�bPc+=c�bhc�c�c�+"d�c�c.:id~d�dwdl:Oele
0�e�fIf;�f;�:�Q�Qg�f���Cgg!g^gSg�3I;�g�gRh�hm4�hhi�;Bi�i�i�j�6�j<!k�8TkN<rk�k�k�k�:�:Nl�<�l�lglm>mwmAmimxm�m=4m/nnn3=�n�n�>�mno^?�?�o9ppp�=Jp}pwp�p%EqcB�q�C(r5rPrF�r�r5GHzs�s�>�s�>�>Gt\tqt�t�t?$u6L>u�Lpu�!v�O�ODP�?@�v�P�PQ3QwwwJw9@�wF@�@TNx�x�x�@&VVy�V�V�y�y/A@zJzOz|Y�Z�Z�zB�[�{�{'B�\�|�B�|�|}�_c}C�}~E~4C(bGbYC�bz>c����d#e`��ep�_3�C���D>��Z�g�g�3�3����kD�������R�������<k��c���#����W�S�ʃ̃܃6lkm�l+E����sd�,o]EaE�o�pkEP�\�g�i�������y�(�k���WM���E`�c�gv׈ވ5F���4�xfy�F�F�����U��|�����w�/ˍ����Ԏ8�҅�����.��8�גؒ|���������I��w��IÖ�]#�E��nJvJ�
��J����)����3K)���™���K0��@����L�Lg�Π�L������VM�������;����������
��
��������� �"�$�&�(�*�,�.�0�2�4�6�8�:�<�>�@�B�D�F�H�J�L�N�P�R�T�V�X�Z�\�^�`�b�d�f�h�j�l�n�p�r�t�v�x�z�|�~�����������	�
���
����������������� �!�"�#�$�%�(�)�*�+�,�-�.�/�0�2�3�4�5�6�7�9�:�;�<�=�>�?�@�C�D�E�F�GHILMN
OPQTUVWXYZ[ \"]$^&_(`*a,b.c0d2e4h6i8j:k<l>m@nBoDpFqHrJsLtNuPvRwTxVyXzZ{\|^}`~bd�e�g�i�k�m�p�s�v�x�z�|�~�������������������������������������������������������������������������������������������������������	


 "$&(&*',(.)0*2+5,8-;.>/@0B1E2H3J�L�M�N�O�P�Q�R�S�T�U�W�Y�[�]�_�a�b�c�d�e@fAgChDitkzl~n�o�q�t�v�w�y�{�}����������������������������������������������������������
���9�P�Q�S�W�\�]�^�v�w������������������������������������������������������	��
����"#$%&u!v#w%x'�)�+�-)	/1	14	3X	5Y	7Z	9[	;\	=]	?^	A_	C�	E�	G�	I�	K�	M3
O6
QY
SZ
U[
W^
YH[K]L_\a]c�e�g�i�kHm�o�q�s�u�wJ
zK
|L
~�
��
��
��
�3��������C�M�R�W�\�i�s�u�v�w�x�y���������������&����������	�
���
����������������� !"#
$%&'()*+,-. /#0&1(2*3,4.5062748699:<;><@=B>D?F@HAJBLCNDPERFTGVHXIZJ\K^L`McNfOiPlQoRrSuTxUzV|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�{�|�}�~��������������������������������������������
�����������"�%�(�+�.�1�4�7�:�=�@�C�F�I�L�O�R�U�X�Z�\�^�`�b�d�g�j�m�p�s�v�y�|���������������������������������������������������������������������������������������������������	
!$
'*-0247:=@BDGJM P!R"T#W$Z%]&`'c(f)h*j+m,p-s.v/y0|1~2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�H�I�J�K�L�M�P�Q�R�S�T�U�V�W�Y�[�]�_�`�a�b�c�d�e�f�g�h�ijkl	mnopqrstuv!w#x%y'z){+|-}/�1�4�7�;�?�C�G�K�O�R�U�Y�]�a�e�i�m�p�s�w�{�����������������������������������������������������������������������������������
�
���������!�$�'�*�,�.�1�4�6�9�;�=�?�A�D�G�J�L�N�Q�T�V�X�Z�]�_�a�c�e�g�j�m�n�q�s�v�x�{�}��������� � � � � � � � � �	 �
 � � �$ �% �& �/ �3 �4 �6 �7 �< �> �G �H �I �W �_ �p �q �t �u �v �w �x �y �z �{ �| �} �~ � �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �!�!�!�!�!�!�!�	!�
!�!�!�
!�!�!�!�!�!�!�!�!�!�!�!�!�!� !�!!�"!�$!	&!	(!	*!	+!	,!	-!	/!		0!
	1!	3!	4!
	5!	6!	7!	8!	9!	=!	>!	?!	@!	E!	F!	G!	H!	I!	S!	T!	U!"	V!%	W!(	X!+	Y!.	Z!1	[!4	\!7	]!:	^!=	_!@	`!B	a!C	b!E	c!H	d!J	e!K	f!M	g!P	h!T	i!V	j!W	k!Y	l!\	m!]	n!^	o!_	p!`	q!a	r!c	s!f	t!h	u!i	v!k	w!n	x!r	y!t	z!u	{!w	|!z	}!{	~!|	!}	�!~	�!�	�!�	�!�	�!�	�!�	"�		"�	"�	$"�	&"�	,"�	-"�	/"�	0"�	A"�	D"�	G"�	I"�	`"�	b"�	m"�	n"�	o"�	p"�	q"�	t"�	u"�	x"�	y"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	�"�	)#�	*#�	`$�	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
�$4
�$8
�$<
�$@
�$D
�$H
�$J
�$L
�$N
�$P
�$R
�$T
�$V
�$X
�$Z
�$]
�$`
�$c
�$f
�$i
�$l
�$o
�$r
�$u
�$x
�${
�$~
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
�$�
*�
t*u*v*�*
�.�.
/////////	/
///
////// /!/"/#/$/%/&/'/(/)/*/+/,/- /.!//"/0#/1$/2%/3&/4'/5(/6)/7*/8+/9,/:-/;./<//=0/>1/?2/@3/A4/B5/C6/D7/E8/F9/G:/H;/I</J=/K>/L?/M@/NA/OB/PC/QD/RE/SF/TG/UH/VI/WJ/XK/YL/ZM/[N/\O/]P/^Q/_R/`S/aT/bU/cV/dW/eX/fY/gZ/h[/i\/j]/k^/l_/m`/na/ob/pc/qd/re/sf/tg/uh/vi/wj/xk/yl/zm/{n/|o/}p/~q/r/�s/�t/�u/�v/�w/�x/�y/�z/�{/�|/�}/�~/�/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/��/�0�60�80�90�:0�L0�N0�P0�R0�T0�V0�X0�Z0�\0�^0�`0�b0�e0g0i0p0q0	s0t0
v0w0y0z0|0}0�0�0�0�0!�0#�0%�0'�0)�0+�0-�0/�01�03�05�07�09�0;�0=�0?�0A�0C�0E�0G�0I�0K�0M�0O�0Q�0S�0U�0W�0Y�0[�0]�0_�0a�0c11e21f31g41h51i61j71k81l91m:1n;1o<1p=1q>1r?1s@1tA1uB1vC1wD1xE1yF1zG1{H1|I1}J1~K1L1�M1�N1�O1�P1�Q1�R1�S1�T1�U1�V1�W1�X1�Y1�Z1�[1�\1�]1�^1�_1�`1�a1�b1�c1�d1�e1�f1�g1�h1�i1�j1�k1�l1�m1�n1�o1�p1�q1�r1�s1�t1�u1�v1�w1�x1�y1�z1�{1�|1�}1�~1�1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1��1�2�2�2�2�2�2�2�2�2�	2�
2�2�2�
2�2�2�2
2
2
2
2
2
2
2
2#
2'
2+
2/
23
 27
!2:
"2=
#2@
$2C
%2F
&2I
'2L
(2O
)2R
*2U
+2X
,2[
-2^
.2a
/2d
02g
12j
22m
32p
42s
52v
62y
72|
82
92�
:2�
;2�
<2�
=2�
>2�
?2�
@2�
A2�
B2�
C2�
Q2�
R2�
S2�
T2�
U2�
V2�
W2�
X2�
Y2�
Z2�
[2�
\2�
]2�
^2�
_2�
`2�
a2�
b2�
c2�
d2�
e2�
f2�
g2�
h2�
i2�
j2�
k2�
l2�
m2�
n2�
o2�
p2�
q2�
r2�
s2�
t2�
u2�
v2�
w2�
x2�
y2�
z2�
{2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�
�2�2�2�2�2�2�2�2�2�2	�2
�2�2�2
�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2 �2"�2$�2&�2(�2*�2,�2.�20�22�24�26�28�2:�2<�2>�2@�2B�2D�2F�2H�2J�2L�2O�2R�2U�2V�2W�2X�2Y�2Z�2[�2\�2]�2^�2_�2`�2a�2b�2c�2d�2e�2f�2g�2h�2i�2j�2k�2l�2m�2n�2o�2p�2q�2r�2s�2t�2u�2v�2w�2x�2y�2z�2{�2|�2}�2~�2�2��2��2��2�3�3�3�3�3�3�3�3�3�	3�
3�3�3�
3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�33 3
!3"3#3$3%3&3!'3$(3&)3(*3++3.,34-38.3=/3C03G13J23M33S43W53]63`73e83h93l:3o;3s<3x=3|>3�?3�@3�A3�B3�C3�D3�E3�F3�G3�H3�I3�J3�K3�L3�M3�N3�O3�P3�Q3�R3�S3�T3�U3�V3�W3�X3�Y3�Z3�[3�\3�]3�^3�_3�`3�a3�b3�c3�d3�e3�f3g3h3i3	j3k3l3m3n3o3p3q3!r3$s3&t3(u3+v3-{3/|31}33~3537�3;�3=�3?�3A�3C�3E�3G�3I�3K�3N�3R�3T�3V�3X�3Z�3\�3^�3`�3c�3f�3i�3l�3n�3p�3r�3t�3v�3x�3z�3|�3~�3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3��3�3�3�3	�3�3�3�3�3�3�3�3�3�3!�3#�3%�3'�3)�3+�3-�3/�32�35�38�3;�3>�3A�3D�3G�3J�3M�3P�3S�3V�3Y�3\�3_�3b�3e�3h�3k�3n�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������������������������������ ��!��"��#��$��%��&��'��(��)��*��+��,��-��.��/�0�1�2�3�4�
5�6�8�9�:�;�<�>�@�A�C� D�"F�$G�&H�(I�*J�,K�.L�0M�2N�4O�6P�8Q�9R�:S�;T�<U�=V�>W�?X�@Y�AZ�B[�C\�D]�E^�F_�G`�Ha�Ib�Jc�Kd�Le�Mf�Ng�Oh�Pi�Qj�Rk�Sl�Tm�Un�Vo�Wp�Xq�Yr�Zs�[t�\u�]v�^w�_x�`y�az�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��{��|��}��~����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	�
�	��

����������!�#�%�'�)�+�-�/�1�3 �5!�7"�9#�;$�=%�?&�A'�C(�E)�G*�I+�K,�M-�O.�Q/�S0�U1�W2�Y3�[4�]5�_6�a7�c8�e9�g:�i;�k<�m=�o>�q?�s@�uA�wB�yC�{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��{��|��}��~��������������	����
��������������������!��#��%��'��)��+��-��/��2��5��8��;��>��@��B��D��F��H��J��L��N��P��R��T��V��X��Z��\��^��`��b��d��f��h��j��l��n��p��r��t��v��x��z��|��~�������������������������������������������������������������������������������������������������������������������������������������������������	��
�������	�
��!�#
�%�'�)�+�-�/�1�3�5�7�9�;�=�?�A�C�E�G�I �K!�M"�O#�Q$�S%�U&�W'�Y(�[)�]*�_+�a,�c-�e.�g/�i0�k1�m2�o3�q4�s5�u6�w7�y8�{9�}:�;��<��=��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�{�|�}�~���������� ��#��&��)��,��/��2��5��8��;��>��A��D��G��J��M��P��S��V��Y��\��_��b��e��h��k��n��q��t��w��z��}����������������������������������������������������������������������������������������������������������������������������� ��(0�,1�.2�/3�04�15�26�37�48�59�6:�7;�8<�9=�:>�;?�<@�=A�>B�?C�@D�AI�BJ�DK�FL�HM�JN�KO�LP�MQ�NR�OT�PU�QV�RW�SX�TY�UZ�V[�W\�X]�Y^�Z_�[`�\a�]b�^c�_d�`e�af�bh�ci�dj�ek�fp�gq�ir�kt�mv�ow�qx�sy�uz�w{�y|�{}�}~�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��
��������������� �!	�"
�#�$�%
�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8 �9!�:"�;#�<$�=%�>&�?'�@(�A)�B*�C+�D,�E-�F.�G/�H0�I1�J2�K3�L4�M5�N6�O7�P8�Q9�R:�S;�T<�U=�V>�W?�X@�YA�ZB�[C�\D�]E�^F�_G�`H�aI�bJ�cK�dL�eM�fN�gO�hP�iQ�jR�kS�lT�mU�nV�oW�pX�qY�rZ�s[�t\�u]�v^�w_�x`�ya�zb�{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��������������� �!�"�#�$�%�&�'	�(
�)�*�+
�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�> �?!�@"�A#�B$�C%�D&�E'�F(�G)�H*�I+�J,�K-�L.�M/�N0�O1�P2�Q3�R4�S5�T6�U7�V8�W9�X:�Y;�Z<�[=�\>�]?�^@�_A�`B�aC�bD�cE�dF�eG�fH�gI�hJ�iK�jL�kM�lN�mO�nP�oQ�pR�qS�rT�sV�tW�uX�vY�wZ�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-�:.�;/�<0�=1�>2�?3�@4�A5�B6�C7�D8�E9�F;�G<�H=�I>�J@�KA�LB�MC�ND�OF�PJ�QK�RL�SM�TN�UO�VP�WR�XS�YT�ZU�[V�\W�]X�^Y�_Z�`[�a\�b]�c^�d_�e`�fa�gb�hc�id�je�kf�lg�mh�ni�oj�pk�ql�rm�sn�to�up�vq�wr�xs�yt�zu�{v�|w�}x�~y�z��{��|��}��~��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	�
���
�	�
���
�������������� �!�"�#�$�% �&!�'"�(#�)$�*%�+&�,'�-(�.)�/*�0+�1,�2-�3.�4/�50�61�72�83�94�:5�;6�<7�=8�>9�?:�@;�A<�B=�C>�D?�E@�FA�GB�HC�ID�JE�KF�LG�MH�NI�OJ�PK�QL�RM�SN�TO�UP�VQ�WR�XS�YT�ZU�[V�\W�]X�^Y�_Z�`[�a\�b]�c^�d_�e`�fa�gb�hc�id�je�kf�lg�mh�ni�oj�pk�ql�rm�sn�to�up�vq�wr�xs�yt�zu�{v�|w�}x�~y�z��{��|��}��~����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	�
	�
��
�
������������������ �! �"!�#"�$#�%$�&%�'&�('�)(�*)�+*�,+�-,�.-�/.�0/�10�21�32�43�54�65�76�87�98�:9�;:�<;�=<�>=�?>�@?�A@�BA�CB�DC�ED�FE�GF�HG�IH�JI�KJ�LK�ML�NM�ON�PO�QP�RQ�SR�TS�UT�VU�WV�XW�YX�ZY�[Z�\[�]\�^]�_^�`_�a`�ba�cb�dc�ed�fe�gf�hg�ih�ji�kj�lk�ml�nm�on�po�qp�rq�sr�ts�ut�vu�wv�xw�yx�zy�{z�|{�}|�~}�~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	�
��	�

���
���������������� �!�"� #�!$�"%�#&�$'�%(�&)�'*�(+�),�*-�+.�,/�-0�.1�/2�03�14�25�36�47�58�69�7:�8;�9<�:=�;>�<?�=@�>A�?B�@C�AD�BE�CF�DG�EH�FI�GJ�HK�IL�JM�KN�LO�MP�NQ�OR�PS�QT�RU�SV�TW�UX�VY�WZ�X[�Y\�Z]�[^�\_�]`�^a�_b�`c�ad�be�cf�dg�eh�fi�gj�hk�il�jm�kn�lo�mp�nq�or�ps�qt�ru�sv�tw�ux�vy�wz�x{�y|�z}�{~�|�}��~����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	�
��	�

���
���������������� �!�"� #�!$�"%�#&�$'�%(�&)�'*�(+�),�*-�+.�,/�-0�.1�/2�03�14�25�36�47�58�69�7:�8;�9<�:=�;>�<?�=@�>A�?B�@C�AD�BE�CF�DG�EH�FI�GJ�HK�IL�JM�KN�LO�MP�NQ�OR�PS�QT�RU�SV�TW�UX�VY�WZ�X[�Y\�Z]�[^�\_�]`�^a�_b�`c�ad�be�cf�dg�eh�fi�gj�hk�il�jm�kn�lo�mp�nq�or�ps�qt�ru�sv�tw�ux�vy�wz�x{�y|�z}�{~�|�}��~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� � � � � � � 	� 
� �	 �
 
� � �
 � � � � � � � � � � � � � �  AAAAAA
C'EEEEIIIINOOOOOUUUUYaaaaaa
c'eeeeiiiinooooouuuuyyAaAaA(a(CcCcCcCcDdEeEeEeE(e(EeGgGgGgG'g'HhIiIiIiI(i(IJjK'k'LlL'l'LlNnN'n'NnOoOoOoRrR'r'RrSsSsS's'SsT't'TtUuUuUuU
u
UuU(u(WwYyYZzZzZzOoUuAaIiOoUuUuUuUuUuAaAa��GgKkO(o(O(o(��jGgNnA
a
����AaAaEeEeIiIiOoOoRrRrUuUuS&s&T&t&HhAaE'e'OoOoOoOoYy�;������������������������#8553V:8Ctu6005��6788>��-M#C#C#C'G+K'S'THT'UJT�T�T�T(	<	0	<	3	<		<		<		<		<	!	<	"	<	+	<	/	<	�	�	�	�	�	�	�	�	�	�	2
<
8
<

<

<

<
+
<
GVG>GW!<"<��������FV�����������F
>
G
>
F
W
�
�
�
�
�
�
�
�
�
B�L�Q�V�[�@�qrqt����q�������������%.A%a%BbB#b#B1b1C'c'DdD#d#D1d1D'd'D-d-EeEeE-e-E0e0E'e'FfGgHhH#h#HhH'h'H.h.I0i0IiKkK#k#K1k1L#l#L#l#L1l1L-l-MmMmM#m#NnN#n#N1n1N-n-OoOoOoOoPpPpRrR#r#R#r#R1r1SsS#s#SsSsS#s#TtT#t#T1t1T-t-U$u$U0u0U-u-UuUuVvV#v#WwWwWwWwW#w#XxXxYyZzZ#z#Z1z1h1tw
y
A#a#A	a	AaAaA	a	AaA#a#AaAaA	a	AaA#a#E#e#E	e	EeEeEeE	e	EeE#e#I	i	I#i#O#o#O	o	OoOoO	o	OoO#o#OoOoO	o	OoO#o#U#u#U	u	UuUuU	u	UuU#u#YyY#y#Y	y	Yy�������B�B�������B�B�������������������B�B�������B�B�������B�B�������B�B�������������������B�B����B�������B�B�������B�B���������������E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE�E�E�E�E�E�E�BE�BE���E�E�E�B�BE�����E��B�E�E�E�B�BE�����E���B�����B�B�������B�������B�B�������`�E�E�E�B�BE�����E�  �KA
�!8�!8�!8�!8�!8�!8"8"8"8#"8%"8<"8C"8E"8H"8=8a"8M"8<8>8d"8e"8r"8s"8v"8w"8z"8{"8�"8�"8�"8�"8�"8�"8�"8�"8|"8}"8�"8�"8�"8�"8�"8�"80	0�*8K0�0M0�0O0�0Q0�0S0�0U0�0W0�0Y0�0[0�0]0�0_0�0a0�0d0�0f0�0h0�0o0�0o0�0r0�0r0�0u0�0u0�0x0�0x0�0{0�0{0�0F0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0ʎȌ�n2N�S����QYё�UHY�aiv�?�������jm�p�s=�j���NuSkr-��P]�oͅd��b؁��^gjm�rΐ�O�Q�R�d�jr�v��\��2�o����xy�}Ƀ��֊�X_`|~�br�xŒ���Xb\j�mo/}7~K��R���Q�Qz�}�u����bj��9N�[`�spuS�x�O�_
N�lxe"}�S^XwI����k���l�b��ceu�NiQ�Q�h�|o�Ҋϑ�RBTsY�^�e�o*y��j���Ξ�R�fwkb�t^�ab�d#oIq�t�y�}o�&��#�J�R�R�T�pˆ���^�_{c�k>|us�N�V�[�]`�sit�F�4���H���O�y�����`�N�P�[?\�ej�qBv��|����f.��R{g�gAm�n	tYukx}^�mQ.bx�+P]�m*��_Dah�s��)RTe\fNg�h�lt�uyψ�̑�?S�nT�q�t����W����g�m��z {�|�r�pX��N6�:RR�^�b�|�[m�f;�L�M����^@Q�UZXtf�Q*s�v<y^yey�yV��|����8������(����O�PMQ�R�RQS�UVhV@X�Xd\n\�`ha�a�aOe�e�f�hwmn"onq+r"t�x>yIyHyPyVy]y�y�y@z�z�{�}	~A~r��y�y�W�����9�ӌ���8����;�����������������������������������������������������������������������W�e�X�e�X�e�n�X�e�o�X�e�p�X�e�q�X�e�r���e���e���e�n���e�n���e�o���e�o�=N8NAN"`O�O�OPzP�P�P�P�4:MQTQdQwQ�4gQ�QK�Q�Q�N�Q�Qߑ�QR�4;RFRrRwR5�R�R�R�RSSSISQSZSsS}SSSS,
pp�S�Sc�S�ST�T8THThT�T�TUSUcU�U�U�U�U�U�UWVWQVtVR�X�W�W
X�W2X1X�X��X�XYY"YbY���YZ'Z�YfZ�6j[>[>[��[�[�[�[�[\3_"\�7`\n\�\�\�C]�n]k]|]�]�]/8�](^=^i^b8�!|8�^�^�^�^���^1#1#�"_"_�8�2�ab_k_�8�_�_�_�_�`:99�`�&�`HaLaNaLaza�a�a�a�a�a�a�abb]b�b�bPc+=c�bhc�c�c�+"d�c�c.:id~d�dwdl:Oele
0�e�fIf;�f;�:�Q�Qg�f���Cgg!g^gSg�3I;�g�gRh�hm4�hhi�;Bi�i�i�j�6�j<!k�8TkN<rk�k�k�k�:�:Nl�<�l�lglm>mwmAmimxm�m=4m/nnn3=�n�n�>�mno^?�?�o9ppp�=Jp}pwp�p%EqcB�q�C(r5rPrF�r�r5GHzs�s�>�s�>�>Gt\tqt�t�t?$u6L>u�Lpu�!v�O�ODP�?@�v�P�PQ3QwwwJw9@�wF@�@TNx�x�x�@&VVy�V�V�y�y/A@zJzOz|Y�Z�Z�zB�[�{�{'B�\�|�B�|�|}�_c}C�}~E~4C(bGbYC�bz>c����d#e`��ep�_3�C���D>��Z�g�g�3�3����kD�������R�������<k��c���#����W�S�ʃ̃܃6lkm�l+E����sd�,o]EaE�o�pkEP�\�g�i�������y�(�k���WM���E`�c�gv׈ވ5F���4�xfy�F�F�����U��|�����w�/ˍ����Ԏ8�҅�����.��8�גؒ|���������I��w��IÖ�]#�E��nJvJ�
��J����)����3K)���™���K0��@����L�Lg�Π�L������VM�������;��������
����������� �"�$�&�(�*�,�.�0�2�4�6�8�:�<�>�@�B�D�F�H�J�L�N�P�R�T�V�X�Z�\�^�`�b�d�f�hjlnprtvxz	|
~��
����������������� �!�"�#�$�%�(�)�*�+�,�-�.�/�0�4�5�6�7�9�:�;�<�=�>�C�D�E�F�G�H�L�M�N�O�P�Q�T�U�V�W�X�Y�Z�[�\]^_`a
bcdehijklmn o"p$q&r(s*t,u.v0w2x4y6z8{:|<}>~@�B�D�F�H�J�L�N�P�R�T�V�X�Z�]�`�c�f�i�l�o�r�u�x�{�~�����������������������������������������������������	�
���
�����������������&�'�(�)�*�+�,�-�./012
3@ACDt~������� �"�$�&�)�+�-�/�1�3�5�8�:�<�>�@�B�DFHJLN
PRT9VPXQZS\W^\`]b^dvfwh�j�l�n�p�r�t�v�x�z�|�~����������������������������������������������"�#�$�%�&�������)	�1	�4	�X	�Y	�Z	�[	�\	�]	�^	�_	��	��	��	��	��	�3
�6
�Y
�Z
�[
�^
�H�K�L�\�]���������H�������J
	K
L

�
�
�
�
CMRW\ i"s$u&v(x*�,�.�0�2�4�6�8&:<>@BDFHJL	O
RTV
XZ\^`bdfilortvxz}�� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�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�XYZ[\]^_`abcdef g#h&i)j,k.l0m2n4o6p8q:r<s>t@uBvDwFxHyKzN{Q|T}V~XZ�\�^�`�b�d�f�h�j�l�n�p�r�t�v�x�z�|�~��������������������������������������������������������������������������������������������������������
���������"�%�(�+�.�1�4�7�:�=�@�C�F�I�L�N�P�R�T�W�Z�]�`�c�f�i�l�o�r�t�v�x�z�|�~�����������	�
���
��������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3456
7
89:;<=> ?#@&A(B*C-D0E3H6I8J:K=L@MCPFQHRJSMTPUSVVWYY\[^]a_d`gaibkcndqetfwgzh}ij�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}������������������������������������������������	�������#�'�*�-�1�5�9�=�A�E�H�K�O�S�W�[�_�c�e�g�j�l�o�q�t�v�x�z�|�~����������������������������������������������������������������������������������������������������������� � �&!�*!�+!��!��!��!��!�!�!"	"	"$"
&"A"D"G"I"`"b"m"n"o"!p"#q"%t"'u")x"+y"-�"/�"1�"3�"5�"7�"9�";�"=�"?�"A�"C�"E�"G�"I�"K�"M�"O�"Q)#S*#T�*UL0WN0YP0[R0]T0_V0aX0cZ0e\0g^0i`0kb0me0og0qi0sp0uq0ws0yt0{v0}w0y0�z0�|0�}0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0��0���������������	��
������
�������������������������������������� ��!��"��#��$��%��&��'��(��)��*��+��,��-��.��/��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�0	h�1	i�2	j�3	k�4	l�5	m�6	n�7	o�8	p�9	q�:	r�;	s�<	t�=	u�>	v�?	w�@	x�A	y�B	z�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�%
�&
�(
*�*
+�,
,�.
-�1
.�4
/�6
0�8
1�:
2�<
3�>
4�@
5�B
6�D
8�F
9�H
:�J
;�L
<�N
>�P
@�R
A�T
C�V
D�X
F�Z
G�\
H�^
I�`
J�b
K�d
L�f
M�h
N�j
^�l
_�n
`�p
a�s
b�v
c�y
d�|
��
���
���
���
���
���
��
��
��
��
��
��
��
��
��
	��

��
��
��

��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
 ��
!��
"��
#��
$��
%��
&��
'��
(��
)��
*��
+��
,��
-��
.��
/��
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�{�|�}�~������������������������������������������������������������	��
������
�����������������������������������n"<8`"=8o">8�A�A�A�AAA&A�A�A	�A
�AAA�A#A%A(BB#B1CC
CC�C'
DDD#D'D-D1�E�E�E�EEEE�E�E	EEE�E#(E'E(E-E0F�GG GG G�G"G'$H"H&HH$H#(H'*H.�I�I�I(I*I,I0I�I�I	�II
I�I#.I(,I04J0K�K2K#6K'4K19L=L6L#;L'<L-:L1>M@MBM#�NCN�NDNGNFN#EN'JN-HN1�O�O�O�OLONO.O�O�O	PO�OOO�O�O#�O(TPVPTRXRXRRRZR#VR'^R1ZS\S`S`SbS#S&^S'jTdTlT#T&bT'pT-nT1�U�U�UhUjUlU�U�U	nU
pU�UUU�U�U#rU$rU(vU-tU0|V~V#�W�WtW�W�W�W#�X�X�Y�YvY�Y2Y�YxY�Y	�Y#yZ�Z{Z}Z�Z#�Z1�a�a�a�aaa'a�a�a	�a
�aaa�a#a%a(bb#b1c	cc
c�c'dd
d#d'd-d1�e�e�e�eeee�e�e	eee�e#)e'e(e-e0f�gg!gg!g�g#g'%h#h'hh%h#)h'+h.�h1�i�i�i)i+i-i�i�i	�i	ii�i#/i(-i05j�j1k�k3k#7k'5k1:l>l7l#<l'=l-;l1?mAmCm#�nDn�nEnHnGn#Fn'Kn-In1�o�o�o�oMoOo/o�o�o	Qo�o
oo�o�o#�o(UpWpUrYrYrrr[r#Wr'_r1[s]sasascs#s&_s'kt�tetmt#t&ct'qt-ot1�u�u�uiukumu�u�u	ou
qu�uuu�u�u#su$su(wu-uu0}vv#�w�wuw�w�w�w
�w#�x�x�y�ywy�y3y�y�y�y	�y
�y#zz�z|z~z�z#�z1������B��������	�����������������	.���������	L�,�N�*�������������������	��������	���������	/���������	M�-�O�+���������������	����	PLRLQMSMdZe[f`gaxhyizj{k���������	��#��������	��#��������	��#��������	��#�������&�'()0.1/��D���������	���E����������(�)���E����������8�9�����H�I�������������Y�����h�i���E��E��Ep�����������B��Er�����t��� �!���B��Ev���������0�1���Bx���@�A�����z���������P�Q���B|���`�a���B��E������B������B��E����������
����##�#�#�'�+�-�0�0S3P5�5Q5�6�6�7]8�898�8\:�>�C^C�C�C�G�K�MWVvtwu��������"'S#'T%'U$HT&JT��T��T��T)	(	<	1	0	<	4	3	<	�	�	�	�	�	�	KG>HGVLGW������������HFV���������������J
F
>
L
F
W
K
G
>
�
�
�
�
�
�
�
�
�
�
�
�
sqruqt�q�&%.8697\Z][hbic����������������B�EB�E�E�E�E�E�E�E
B�E	
		B�	E�
E�E�E�
E�E�E" $ & B� E#!%!'!B�!E�"E�#E�$E�%E�&E�'E*(,(.(B�(E+)-)/)B�)E�*E�+E�,E�-E�.E�/E204060B315171B:8<8>8B;9=9?9BB@D@CAEAJHLHKIMIRPTPVPBSQUQWQB[Y]Y_YBb`d`f`B�`EcaeagaB�aE�bE�cE�dE�eE�fE�gEjhlhnhB�hEkimioiB�iE�jE�kE�lE�mE�nE�oE�pE�tE�|E��E������B��E��E������B�!�!8�!�!8�!�!8�!�!8�!�!8�!�!8""8	""8""8$"#"8&"%"8A"<"8D"C"8G"E"8I"H"8m"M"8b"a"8p"d"8q"e"8t"r"8u"s"8x"v"8y"w"8�"z"8�"{"8�"|"8�"}"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�"�"8�0F0�0L0K0�0N0M0�0P0O0�0R0Q0�0T0S0�0V0U0�0X0W0�0Z0Y0�0\0[0�0^0]0�0`0_0�0b0a0�0e0d0�0g0f0�0i0h0�0p0o0�0q0o0�0s0r0�0t0r0�0v0u0�0w0u0�0y0x0�0z0x0�0|0{0�0}0{0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0AaABbBCcCDdDEeEFfFGgGHhHIiIJjJKkKLlLMmMNnNOoOPpPQqQRrRSsSTtTUuUVvVWwWXxXYyYZzZ������������������������������������������������������������������������������������������	


 ! "#"$%$&'&()(*+*,-,./.0i02324546769:9;<;=>=?@?ABACDCEFEGHGJKJLMLNONPQPRSRTUTVWVXYXZ[Z\]\^_^`a`bcbdedfgfhihjkjlmlnonpqprsrtutvwvx�xyzy{|{}~}�S��������T�����V��W��������Y��[�����`��c��i��h�����o��r��u�������������������������������������������������������������������������������������������������������������������������������������	


 � "#"$%$&'&()(*+*,-,./.010232������������������������������������������������������������������������������������������������������������������������������������������PQRSTUVWX	Y	
Z
[\
]
^_0123456789:;<=>? @ !A!"B"#C#$D$%E%&F&'G'(H()I)*J*+K+,L,-M-.N./O/`a`bcbdedfgfhihjkjlmlnonpqprsrtutvwvxyxz{z|}|~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������	


1a12b23c34d45e56f67g78h89i9:j:;k;<l<=m=>n>?o?@p@AqABrBCsCDtDEuEFvFGwGHxHIyIJzJK{KL|LM}MN~NOOP�PQ�QR�RS�ST�TU�UV�V	


 ! "#"$%$&'&()(*+*,-,./.010232454676898:;:<=<>?>@A@BCBDEDFGFHIHJKJLMLNONPQPRSRTUTVWVXYXZ[Z\]\^_^`a`bcbdedfgfhihjkjlmlnonpqprsrtutvwvxyxz{z|}|~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������		



( ()!)*"*+#+,$,-%-.&./'/808919:2:;3;<4<=5=>6>?7?H@HIAIJBJKCKLDLMEMYQY[S[]U]_W_h`hiaijbjkckldlmemnfnogo�������������������������������������������������������������������������������p��q�����r��s��t��u�����������v��w��������z��{�����x��y��|��}����&!�&!*!k*!+!�+!`!p!`!a!q!a!b!r!b!c!s!c!d!t!d!e!u!e!f!v!f!g!w!g!h!x!h!i!y!i!j!z!j!k!{!k!l!|!l!m!}!m!n!~!n!o!!o!�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$!�A�!�"�B�"�#�C�#�$�D�$�%�E�%�&�F�&�'�G�'�(�H�(�)�I�)�*�J�*�+�K�+�,�L�,�-�M�-�.�N�.�/�O�/�0�P�0�1�Q�1�2�R�2�3�S�3�4�T�4�5�U�5�6�V�6�7�W�7�8�X�8�9�Y�9�:�Z�:�()*+,-./0	1	
2
34
5
6789:;<=>?@ABCDEFG H !I!"J"#K#$L$%M%aAAbBBcCCdDDeEEfFFgGGhHHiIIjJJkKKlLLmMMnNNoOOpPPqQQrRRsSStTTuUUvVVwWWxXXyYYzZZ����������������������������������������������������������������������������������������������xx	


!  #""%$$'&&)((+**-,,/..1II322544766:99<;;>==@??BAADCCFEEHGGKJJMLLONNQPPSRRUTTWVVYXX[ZZ]\\_^^a``cbbeddgffihhkjjmllonnqppsrruttwvvzyy|{{~}}SS����������������������  ������������������������������������������������������������������������������������������������������������������	


#""%$$'&&)((+**-,,/..100322S��T��V��W��Y��[��`��c��h��i��o��r��u��������������������E��������������������������������������������������������������������������������������������������������������������������������������������������������������������0123456789:;<=>?@  A!!B""C##D$$E%%F&&G''H((I))J**K++L,,M--N..O//PQRSTUVWXY		Z

[\]

^_a``cbbeddgffihhkjjmllonnqppsrruttwvvyxx{zz}||~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������	


a11b22c33d44e55f66g77h88i99j::k;;l<<m==n>>o??p@@qAArBBsCCtDDuEEvFFwGGxHHyIIzJJ{KK|LL}MM~NNOO�PP�QQ�RR�SS�TT�UU�VV	


!  #""%$$'&&)((+**-,,/..100322544766988;::=<<?>>A@@CBBEDDGFFIHHKJJMLLONNQPPSRRUTTWVVYXX[ZZ]\\_^^a``cbbeddgffihhkjjmllonnqppsrruttwvvyxx{zz}||~~����������������������������������``���������������������������������������������������������������������������������������������������������������������������������������		



 ((!))"**#++$,,%--&..'//0881992::3;;4<<5==6>>7??@HHAIIBJJCKKDLLEMMQYYS[[U]]W__`hhaiibjjckkdllemmfnngoop��q��r��s��t��u��v��w��x��y��z��{��|��}�����������������������������������������������������������������������������������������������������������p!`!`!q!a!a!r!b!b!s!c!c!t!d!d!u!e!e!v!f!f!w!g!g!x!h!h!y!i!i!z!j!j!{!k!k!|!l!l!}!m!m!~!n!n!!o!o!�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$A�!�!�B�"�"�C�#�#�D�$�$�E�%�%�F�&�&�G�'�'�H�(�(�I�)�)�J�*�*�K�+�+�L�,�,�M�-�-�N�.�.�O�/�/�P�0�0�Q�1�1�R�2�2�S�3�3�T�4�4�U�5�5�V�6�6�W�7�7�X�8�8�Y�9�9�Z�:�:�()*+,-./01		2

345

6789:;<=>?@ABCDEFGH  I!!J""K##L$$M%%������������O`o��������������KUpp��������0J��		<	<	A	H	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	

<
<
A
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
<<??ACMMVV������>@FHJMUV������A
C
M
M
�
�
�
�
�
�
114:GN��������557799q~����������-0226799XY24RSrs������
��� � � � � � *0/0�0�0���� �#�g�i�{�����������		>	@	I	L	�	�	�	�	�	�	�	�	�	�	>
@
�
�
�
�
�
�
�
�
>>@@GHKLWW����������AD������������

>
@
F
H
J
L
W
W
�
�
�
�
�
�
�
�
>?,,1188VW������e�f�m�r������ � � � 09`i��f	o	�	�	f
o
�
�
fo��fo��f
o
PY�� )@Iiq����������`!�!00!0)080:0JJ�������	�	��*3r|p p t y � � S!_!`$�$�$�$v'�'�1�1 2)2Q2_2�2�2�2�2 #  ����  / / _ _ 00( ( ) ) ���  * . ` c j o ��������s�z� ���������AZ����

  ""$$&&((**,,..0022446699;;==??AACCEEGGJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxy{{}}������������������������������������������������������������������������������������������

  ""$$&&((**,,..0022����������������������������������������/``bbddffhhjjllnnpprrttvvxxzz||~~��������������������������������������������������������������������������������������������������������������

1V��

  ""$$&&((**,,..0022446688::<<>>@@BBDDFFHHJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxxzz||~~����������������������������������������������������������������������������������������������������������������(/8?HMYY[[]]__ho����������!!!!!
!!!!!!!$!$!&!&!(!(!*!-!0!1!3!3!>!?!E!E!!�:�%��4�M�h����������������������������������
�
����8�9�;�>�@�D�F�F�J�P�l������������!�<�U�p������������4�V�n�����az����������		

!!##%%''))++--//11335578::<<>>@@BBDDFFHIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwzz||~�������������������������������������������������������������������������������������������		

##%%''))++--//1133P�����������������������������������0_aacceeggiikkmmooqqssuuwwyy{{}}��������������������������������������������������������������������������������������������������������������		

a�		

!!##%%''))++--//1133557799;;==??AACCEEGGIIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwyy{{}}���������������������������������������������������������������������������������������������������������������� '07@EPW`gp}��������������������������q q   
!
!!!!!/!/!4!4!9!9!=!=!F!I!����A�Z�(M�3�N�T�V�g�����������������������������7�R�k������������"�;�V�o������������������6�N�P�U�p���������������������������������������������zzYY@@��FF����CC001050;0;0�0�0�0�0p�p�������������!:AJnoq�����,����	9	=	=	P	P	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a����������������������(*359`a��������������




(
*
9
`
a
�
�
�
�
�
�
�
�
�
�
023@E��������������������������������@GIj��!#')*PU��Y_���FHHJMPVXXZ]`������������������������ FHZ��lov���� 1@Q`lnp���� BDw��5!8!00<0<0A0�0�0�0�0�0�0�01,111�1�1�1�1�14�MN�����������(�*�6�8�<�>�>�@�A�C�D�F����=�P���������p�t�v���f�o�q���������������0I֦��__? @ �0�03�4�M�O�?�?�e�e�--����  000000�0�01�2�X�X�c�c�
�
�(([[{{::<<��    E E } } � � )#)#�#�#h'h'j'j'l'l'n'n'p'p'r'r't't'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)00
0
00000000000000000>�>�5�5�7�7�9�9�;�;�=�=�?�?�A�A�C�C�Y�Y�[�[�]�]���;�;�[�[�_�_�b�b�))]]}};;==��F F ~ ~ � � *#*#�#�#i'i'k'k'm'm'o'o'q'q's's'u'u'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)	0	000
0
000000000000000?�?�6�6�8�8�:�:�<�<�>�>�@�@�B�B�D�D�Z�Z�\�\�^�^�	�	�=�=�]�]�`�`�c�c�!#%'**,,./:;?@\\������~~��Z_����������jm��
d	e	p	p	�
�
OOZ[��JO��ahmn��56����
    ' 0 8 ; > A C G Q W W �#�#00=0=00�0�E�F�I�L�P�R�T�W�_�a�h�h�j�k�����
�
�������� �<�<�a�a�d�d�++<>||~~����������D D R R z | � � @!D!K!K!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�"## #!#|#|#�#�#�%�%�%�%�%�%o&o&�'�'�'�')�)�)�)�)�)�)�*)�)�b�b�d�f�����\�\�^�^�������������������5�5�O�O�o�o�������������$$���	�	??��� � ����i�i�������^^``����������������tu���������������0�0>�>�@�@��������������������	�	pp446688������!!!!!	!!!!!!#!%!%!'!'!)!)!.!.!2!2!:!:!J!J!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!####"#(#+#{#}#�#�#�#$&$@$J$�$�$%�%�%�%�%�%&&&&&n&p&}&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'g'�'�'�'�'�'�'(�(�.�.�.�./�/�/�/0000 0 06070>0?0�1�1�1�122*2C2`2{222�2�2�2�2�2�23v3{3�3�3�3��Ƥ��������������&�*�d�j�l�������������AZaz����������� "3P�����������zz�������������������1VY_a���			9	=	@	I	L	P	P	X	a	d	p	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
>
@
Y
\
^
^
f
o
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369=>@@GHKLWW\]_afp����������������������������������(*359AD`afo����������������������������






(
*
9
>
@
F
H
J
L
W
W
`
a
f
o
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
023@FO[������������������������������������46688>GIj����������!#')*,,1188@W������Y_���FHHJMPVXXZ]`������������������������ FHZa|��v���� 156@Q`lnp������������ w����� EHMPWYY[[]]_}��������������������  q q   !!!!
!!!!!!$!$!&!&!(!(!*!-!/!1!3!9!=!?!E!I!`!�!6#z#�#�#�$�$00!0)0105080<0A0�0�0�0�0�0�0�01,111�1�1�1�12 2C2`2{22�2�2�2�2�23v3{3�3�3�34�MN���������!�:�A�Z�f�����������֦����������������  ���(�*�6�8�<�>�>�@�A�C�D�F�O�09������p p t y � � `$�$�$�$������//��#%++--����jj�	�	??��0 4 z { � � � � .!.!"")�)�_�_�b�c�i�j�����
�
�����`ikl,,..::��P�P�R�R�U�U�������



��) ) 		  �� 
 ( ( / / _ _ 00!"&*;@[`{���������������������������O`otu~~������������������������KUpp������0J��		<	<	A	H	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	

<
<
A
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
<<??ACMMVV������>@FHJMUV������A
C
M
M
�
�
�
�
�
�
114:GN��������55779=q~����������-0226799XY��24RSrs�������������������� 
  ' * . 5 R W W ` c j o | ~ � � � � !!!!!	!!!!!!#!%!%!'!'!)!)!2!2!:!:!@!D!J!K!S!_!�!""5#{#�#�#�#$&$@$J$�$�$%&&&&}&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'�'�'�'�'�'�'�'�'�*�.�.�.�./�/�/�/000 0*0006070=0?0�0�0�0�0�0�0Q2_2�2�2��Ƥ��>�?��� �#�0�F�I�O�Q�Q�T�T�V�^�`�a�d�f�h�h�k�k��������
�� �;�@�[�e���������g�i�s����������� �����������������%(0479>CHLQTeh~�������������&3@ACDtt~~������������99PQSSWW\^vw��������������"&������)	)	1	1	4	4	X	_	�	�	�	�	�	�	3
3
6
6
Y
[
^
^
HHKL\]����HH������J
L
�
�
�
�
CCMMRRWW\\iissuvxx��������������&&����� EHMPWYY[[]]_}������������������  &!&!*!+!�!�!�!�!�!�!""	"	"""$"$"&"&"A"A"D"D"G"G"I"I"`"`"b"b"m"q"t"u"x"y"�"�"�"�"�"�"�"�"�"�"�"�")#*#�*�*L0L0N0N0P0P0R0R0T0T0V0V0X0X0Z0Z0\0\0^0^0`0`0b0b0e0e0g0g0i0i0p0q0s0t0v0w0y0z0|0}0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�
������� � �"�"�%�&�*�-�0�j�����*�6�8�<�>�>�@�A�C�D�F�N�^�d������� "3P���O`otuzz~~�����������������1VY_a�������������!:@U`���
,0J��			9	<	M	P	T	X	p	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	







(
*
0
2
3
5
6
8
9
<
<
>
B
G
H
K
M
Y
\
^
^
f
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369<CGHKMVW\]_afp��������������������������������(*359>DFHJMUV`afo��������������������������






(
*
9
>
C
F
H
J
M
W
W
`
a
f
o
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
:?[������������������������������������GIjq���������!#')*,269@Y������Y_���FHHJMPVXXZ]`������������������������ FHZa|��v���� 6@S`lnprs���� w����� EHMPWYY[[]]_}�������������� R W W _ c j q t � � � � � !:!=!K!S!�!�!�#$&$@$J$`$�$%&&&&}&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'�'�'�'�'�'�'�'�'�*�.�.�.�./�/�/�/0?0A0�0�0�01,111�1�1�1�12 2C2Q2{22�2�2�23v3{3�3�3�34�MN�������Ƥ��������6�8�<�>�>�@�A�C�D�F����?�P����������� �#�0�F�I�R�T�f�h�k�p�t�v�������������������������� #0J%(M����&�*����T�V���������������������������������������
�
�����9�;�>�@�D�F�F�J�P�R�����������֦�� ��      9 9 ��    : : !:@Jmoq�������
,����P����=�P���������p�t�v����8@jv����������bv�2
@
X
�
T�Tj�f
�
 $TXnx~�@���������������� �p��dp��`q��@q��5p��Pq��p��p���p���p��`q��pq���p��Pq���p���p���������p��� ����X���p���@�������������P���8��� ��������g�����������������������������������������������������R���*�������������������������������������������g������ܔ�����^�������D������������������������������0�����������0�����������������������������������#����������������������������������������������������������������������Ԕ��0���z�������0���ؚ��h���������������@�������ܟ��l���\������������������� @� @� @� @�C%hd = \P\p\x%04hX\x%04hX\x%04lXS%hd = 1 | \x%04hX\x%04hX \x%04lX <any> <bol-anchor> <eol-anchor> [C%hd] S%hd0@�@� � @� @k5_mutex_unlockk5_mutex_lockKRB5CCNAMEdefault_ccache_nameFILE:/tmp/krb5cc_%{uid}%s.%sTXT record {str} not foundTXT record {str} found: {str}%s.Sending DNS URI query for {str}URI answer: {int} {int} "{str}"Sending DNS SRV query for {str}SRV answer: {int} {int} {int} "{str}"LIBDIR%{variable missing }Invalid token/opt/alt/krb5/usr/lib64/opt/alt/krb5/usr/binSBINDIR/opt/alt/krb5/usr/sbineuidusernameTEMPUSERIDnullCan't find username for uid %lu%.2xregistry01234567890.hostrealm module failed to init vtable: {kerr}hostrealm module {str} failed to init: {kerr}���X��������������������������������_kerberosrealm_try_domainsdefault_realmdomain_realm/etc/krb5.confKRB5_CONFIGKRB5_KDC_PROFILE/opt/alt/krb5/usr/var/krb5kdc/kdc.confKRB5_CLIENT_KTNAMEdefault_client_keytab_nameKRB5_KTNAMEdefault_keytab_nameFILE:/etc/krb5.keytabFILE:/opt/alt/krb5/usr/var/krb5/user/%{euid}/client.keytabextra_addressesauth_to_localrulean2lnlocalauth module failed to init vtable: {kerr}Ignoring localauth module {str} because it conflicts with an2ln type {str} from module {str}localauth module {str} failed to init: {kerr}k5login_authoritativek5login_directory%s/.k5login%s/%sauth_to_local_names$]RULE_tcpdns_fallbackdns_lookup_kdcdns_lookup_realmadmin_servermaster_kdckrb524_serverkpasswd_server_kerberos-adm_kpasswd_kerberos-master_krb524service_locatorhttps://dns_uri_lookupkrb5srvkkdcpNo URI records found_udpNo SRV records found8#��P"��8"��h ���"��h"�����$���$���$���$���$��Cannot find KDC for invalid realm name ""Cannot find KDC for realm "%.*s"/opt/alt/krb5/usr/lib64/krb5/plugins/libkrb5net_write.cnsg > 0 || cc == 0krb5int_net_writevdefault_domainsendto_kdc.cPOST /%s HTTP/1.0
Host: %s:%s
Cache-Control: no-cache
Pragma: no-cache
User-Agent: kerberos/1.0
Content-Length: %d

conn->service_connect != NULLconn->service_write != NULLconn->service_read != NULLHTTPS error: {str}k5tlshttp_anchorsResolving hostname {str} (tcp only) (master) notudp_preference_limithook_reply != NULLhostname != NULL && port != NULLInitiating TCP connection to {raddr}Content-type: application/kerberos
Error preparing message to send to {raddr}: {errno}Sending initial UDP request to {raddr}UDP error sending to {raddr}: {errno}Sending retry UDP request to {raddr}Terminating TCP connection to {raddr}UDP error receiving from {raddr}: {errno}HTTPS error receiving from {raddr}TCP error receiving from {raddr}: {errno}Error loading k5tls module: {kerr}HTTPS error connecting to {raddr}Sending HTTPS request to {raddr}HTTPS error sending to {raddr}Sending TCP request to {raddr}TCP error sending to {raddr}: {errno}TCP error connecting to {raddr}: {errno}Received answer ({int} bytes) from {raddr}Sending request ({int} bytes) to {data}{str}{str}Cannot contact any KDC for realm '%.*s'Response was{str} from master KDC�V���V���P���R���R���R���P���R���V���P��service_dispatchadd_connectionkrb5_sendto_kdcrdnsPA-TGS-REQPA-ENC-TIMESTAMPPA-PW-SALTPA-ENC-UNIX-TIMEPA-SANDIA-SECUREIDPA-SESAMEPA-OSF-DCEPA-CYBERSAFE-SECUREIDPA-AFS3-SALTPA-ETYPE-INFOPA-SAM-CHALLENGEPA-SAM-RESPONSEPA-PK-AS-REQ_OLDPA-PK-AS-REP_OLDPA-PK-AS-REQPA-PK-AS-REPPA-ETYPE-INFO2PA-SVR-REFERRAL-INFOPA-SAM-REDIRECTPA-GET-FROM-TYPED-DATAPA-SAM-CHALLENGE2PA-SAM-RESPONSE2PA-PAC-REQUESTPA-FOR_USERPA-FOR-X509-USERPA-AS-CHECKSUMPA-FX-COOKIEPA-FX-FASTPA-FX-ERRORPA-ENCRYPTED-CHALLENGEPA-OTP-CHALLENGEPA-OTP-REQUESTPA-OTP-PIN-CHANGEPA-PKINIT-KXPA-REQ-ENC-PA-REPPA_AS_FRESHNESSPA-SPAKE\x%02x(null)service instanceservice with host as instanceunique IDX.509SMTP emailWindows 2000 UPNwell-knownWindows 2000 UPN and SIDNT 4 style nameNT 4 style name and SIDinthexlenstrhashlenstr%02X%02Xraddrdgramstreamhttpstransport%d AF_UNSPEC af%d %s:%shexdata{hexlenstr}errnokerr%ld/%s{etype}/{hashlenstr}{int}/{hexdata}princptypepatypes%s (%d)patypeetypeetypes(empty){etype}ccachecreds{princ} -> {princ}[%d] %u.%d: %s
KRB5_TRACE�c��\a���c���c���c���c���c��tc��dc��Tc��Dc��4c��$c��c��c���b���b���b���c���b���b���b���b���c���c���c���c���c���c���c���b��tb���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c���c��db��Tb��Db���c��4b��$b���c���c��b��b���a���c���c���a���a���c���a���c���c���a���c���a���a���a��service with host as componentsprof_tree.csection != NULLk5_mutex_unlockk5_mutex_lockprofile_node_iterator%s.$$$%s.bakprof_file.cdata->root != NULLprofile_update_file_data_lockedk5_mutex_unlockk5_mutex_lockprofile_open_fileincludeincludedir*	"\\\n\t\b = {(root)k5_mutex_unlockk5_mutex_lockProfile version 0.0Profile section not foundProfile relation not foundMissing open brace in profileBad magic value in profile_tNo more sectionsNo profile file openCouldn't open profile fileSection already existsInvalid boolean valueInvalid integer valueInvalid profile moduleBad magic value in profile_nodeAttempt to add a relation to node which is not a sectionA profile section header has a non-zero valueBad linked list in profile structuresBad group level in profile strcturesBad parent pointer in profile strcturesBad magic value in profile iteratorCan't set value on section nodeInvalid argument passed to profile libraryAttempt to modify read-only profileProfile section header not at top levelSyntax error in profile section headerSyntax error in profile relationExtra closing brace in profileBad magic value in profile_section_tIteration through all top level section not supportedInvalid profile_section objectBad nameset passed to query routineBad magic value in profile_file_tBad magic value in profile_file_data_tIncluded profile file could not be readIncluded profile directory could not be readOperation not supported on this profileUnexpected module declaration in profileInvalid syntax of module declaration in profileprofile_module_initk5_mutex_unlockk5_mutex_lock;D5����`5���50���85��p9:���<?��(�D��X�I���N�� �S��P�X����]���g���4l��5q��<5v��l5{���5����5����5���,6���\6����6���H���X���[���p[���0\����\���L]����]����5����h����5����50���5p��60��<6p��X60��|6p���60���6p���60 ���6p ��70!��<7p!��X70"��|7p"���7P%���7�%��8`&��08'��L8`(��h8P)���8*���8,��9@-���9�-���90.���9�1��:P2��D:�2��`:p3��|:4���:�;���:�;��(;p<��\;�=���;@>���;�>���;0?��<�?��0<PI���<K��<=�L���=PM���=�N���=�O��<>�O��X>P��t>pQ���>0R��?pR��?�R��8?�R��T?0S��p?pS���?�S���?T���?@T���?�T���?�T��@U��4@@U��P@�U��l@�U���@ V���@`V���@�V���@�V���@ W��A`W��0A�W��LA�W��hA@X���A�X���A�X���AY���A@Y���A�Y��B�Y��,BZ��HBPZ��dB�Z���B�Z���B[���BP[���B�[���B�[��C\��(CP\��DC�\��`C�\��|C]���CP]���C�]���C�]���C ^��D`^��$D�^��@D�^��\D _��xDp_���D�_���D�_���D0`���D�`��E�`�� Ea��<E@a��XE�a��tE�a���Eb���E@b���E�b���E�b��Fc��F@c��8F�c��TF�c��pFd���F@d���F�d���F�d���Fe���F@e��G�e��4G�e��PGf��lG@f���G�f���G�f���Gg���GPg���G�g��H�g��0Hh��LH`h��hH�h���H�h���H i���H`i���H�i���H�i��I j��,I`j��HI�j��dI�j���I k���I`k���I�k���I�k���I l��J`l��(J�l��DJ�l��`J m��|J`m���J�m���J�m���J0n���Jpn��K�n��$K0o��HK�o��lKp���K`p���K�p���KPq���K�q��Lr��,L�r��PL�s��lLu���L@u���L�u���L�u���Lv��M@v��$M�v��@M�v��\Mw��xM@w���M�w���M�w���Mx���M@x��N�x�� N�x��<Ny��XN@y��tN�y���N�y���Nz���N@z���N�z��O�z��O{��8O@{��TO�{��pO�{���O|���O@|���O�|���O�|���O }�� P`}��<P�}��`P~��|P`~���P�~���P���P@���P���Q���LQP���hQ�����Q��QP����Q�����Q�R0���(R����LRЂ��hR0����Rp����RЃ���R����Rp���S����(S���LSP���hS�����S��S���S ���T����$T����@T ���dT`����T�����T����T`����T����U���$U@���@U����dU���U@����U�����U���U ���V����$V����@V ���dV`����V�����V����V`����V����W���$W@���@W����dW���W@����W�����W���W ���X��<X ���XX����|X�����X����X`����X�����X���Y@���4Y����XY��tY@����Y�����Y���Y ����Y����Z����4Z ���XZ`���tZ�����Z����Z@����Z�����Z��[@���4[����P[��t[p����[�����[��[0����[����\Л��4\0���X\p���t\М���\����\P����\�����\�]P���4]����P]�t]0����]�����]П���]0����]p���^Р��4^���P^p���t^С���^����^p����^�����^���_P���4_����X_�t_P����_�����_��_0����_����`Х��4`0���X`p���t`Ц���`����`p����`�����`���aP���4a����Xa�ta0����ap����a�����a��a0���b����(bЪ��Db���`b`����b��bP���4c����hc0����c0����c0���d����(d��Dd0���hd�����d����dP����d�����d@���eе��4e ���Pe0���|ep����eй���e�f����@f�����f�����f���g���Dgп���gP����g �� h���Xh��xh����hP���hP��4iP���i����i`���i���i��� j��lj0���j����j���k���Xk����k`���kP��l���@l���\l����l`��l���l`�m@�Lm���m��m@��m�� n �@n`�\n��xn��nP��n���n���n@�o�� o��<o0�Xo��to���o ��op��o���oP�0p��dp ��p���pP�p��Hq��q`��q��r����Hr����r�����r����s���Xsp���s����s`��Ht���dt����t ���t`���t����tp��u���$u���@u@��du����up���u����uP
��,v�
��`v���v
���v�
��wP��$w��Pw���|w����wp���w���0x��hxp���x@���xp��$y0��hy����y����y���z��Pz����z� ���z #��({�'��x{0(���{p(���{�(���{�(���{�)��|�)��4|0*��P|�*���|�*���|@+���|�+��}0,��,}�,��`}�-���}�.���}�.��~`/��8~�0��l~�1���~�2���~5��87���8���@9���@;��<��;����`<�����=�����>��<��?�����@��ā�A��� B��<�0C��x�pC�����C�����C��̂0D����D����D�� �@E��\��E����F�����F��܃`G���H��L��H����`I�����I��̄pJ���K��L��K�����L��̅`M����M��,�O��h�pP�����Q����Q���0R��(�pR��D��R��`�@S�����S����T��܇�T�� �@W��\��W��x��W����PX��Ј0Y����Y��@��Z����\��؉]���^��@�@^��\�`a���� b����c��8��e�����g���ph���pi��P�l����0n���o���@p��X��p����pr��؍�u��(�0v��D��v��p�0w�����w��Ў x����`x����y��d��y����z����@z�����z��ԏ{��� |��\�`|��x��|�����|���� }��̐`}����}����~��\����x�����đ��������0�����|� �����������(�P���H�����l�0�������������̓ ����`������0�`���l�p���������@����Ѝ��L�@���x������������`���ؕ������<�@���l��������4�0���d�����������ؗp���(�Д��T� ���p� ����������P���D�����h������@�����������l�P������К��������@�������`���؛�����Ь��@�Ю���������0���ܜ ���,�����|�п��̝�������H����d�p������������ܞ����p��\����� ������(����l���������ؠ���� ��<����`� �������ԡ`�����<����p�@��������p��H�������������أ`������0��������� ��`������ �4���X����������$� �@���|�0�Ȧ����@�$���P�`��� ���4�`�h����������,���p����P�ĩ������@�,���H���t������P���������Ȫ�������������4����P�@���l������������������p������� ��� �p���<�����X��t�0���������ج����$�����p�@�����������\���������̮��� ��h�`	�����	��Я��� �������
��ذ@���`��`�0��������`��@����\�`�������вp��@�@������ij���� ��$��!��p��"�����$����0&��H�)���� +���p+���,��D��,��`�-��|�@-�����-��Զ�/�� �`0��\��3�����4����5����6��h��9����p;��ظ0=��$� @��x�`@�����@�����@��й�E����J����PK�����L��� N��T�`N��p��O����P��л�P����R��L�PS�����S�����T����PU��8��U��X� W����0Z����pZ����[��h� ]�����g�����g�� ��h��h��i����pk���l��@�`l��\��l����`m�����o���q��P�0r��|��t����pu�����u�� �Pv��X��v��t� {�����}���p��T�P�����������0����`���`�@���������H����x������������������И��P�Й����������Л��0�����t�������P�����p���(����T������ �����@��� �@���p� ����������������(�P���t����������8������������`���4�����x������ ������H�P��h�����������p�������P�P�������0�`���|�������p��� �����l������������������0��(�p��D����`����|�0����p�������������P������$����@���\�`��x�������������D������
�����
��� ��@�p��\����x�����`���������
����`
����
�� ���<�`��X����t� ���� �����������������<����h��"��d�%�����%��$�@'�����'����`(���*��T� +����@,�����/���0���P0��8��0��T��0��p�01����p1�����4�����5��,��5��H� 6��d��6�����6����`7�����9����9��8��:����p;�����;�����<����@=����=��(�0>��D��>��l�0@�����@�����@����pA����A��H�`B��h��B����`C�����C���� D����D��H�E��t�pE�����E����@F�����F��4�0G��P�pG��l��G����`H����0I����I��@��J����K�����K����@L����L��4��M��h�@N�����N����pO����O��<�@P��h��P����`Q�����Q���`R��<�S��t��S����T�����T���PU��`��U����0V����pV����W���pW��4�@X��l��X����0Y�����Y����Z����Z��H��Z��h�p[�����[����p\����\�� � ]��L��]��x�^�����^����0_�� ��_��L� `�����`����`a����a��8�Pb��d��b�����c����`d���@e��P��e��|��f����g�����g����h��`��i����k�����k����s��X� t�����t����0z�� �`|��h��|�����|����0~����І��@����������� �����`���������� ���$�@���h�P�����`�����@����`���\�������`�����������0��� � ���<��������������������4�����h�p���������������4�`���`�P����� ������������4�@����������� ���� ����0���l�p�����@��������8��d�к�������@��������,�����x��������(���t�`�������� ���0��D������`�����������@������8� ��t���������������� ��$����P�0��t�p������������������@����������������0�@��|�@����������� ��<p��\���|@��P�D`����@��\`��������0@�P��|@�������������`����Hp���t������������D`���������P0��l����@�����@���`��� ��`��X0����%��8	`&��X	�&���	p'���	�'���	�)��
*��$
P*��@
�*��`
p,��|
0.���
0/�� 5��p�5���P9����;��4 =��x�>����?��
�@��`
D���
W���
PW��$�W��P�[���@d���d��(�d��P`e����e���g���`g���g��$h��@j��|pj���@k����k���k�� l��8`l��T�l��pm����m����n��$Po��@�o��t p����r����r��t��Xpt���@u����v���`x��H0y���py����{���0����0�������(����L�����0�������X��������������8����|����`����0���0���Dp���`P�������������@�`0���|���0���(p���D����p�� ���d �������������H�������������(`��H��������P���`�����T����`�����8 P��T ���p ��� `��� ���� 0��!���H!���!����!p��"`��X"���"����"�#��D#���#���#`�$��$@�@$���$@��$���$���$�%��D%���%P��%���%��&0� &p�@&�p&�&@�'��P'���' ����'`����'���(���`(@����(����(���L)P���)����)����)���)���*��L*�	���*�	���*@
���*�
���*@��+`��X+P
���+���,��� , ��<,���p,���,P���,0��- ��X-����-����-@��.0��4.���`.���.� ���.�!��4/�"��x/�$���/`%��0�%��0'��X0P(���0)���0@,��1-��41�/��l1�/���1`0���11���1P2��2�2��@2�2��\2P3��x2�3���2�3���24���2P4���2�4��3�4��(3 5��H3�5��|3�6���3�8��409��P4�:���4;���4P;���4�;�� 5�;��P5@<���5�<���5�<���50=��6�=��@6�=��p6 >���6�>���6�?��7�@��$7B��H7�B��l7�C���7�D���7�E���7@F���7�F��8�G��,8�H��x8�L���8 M���8`M��9N��9�N��89O��T9`O��p9�O���9�O���9 P���9R���9�R��:S��:�T��h:�U���:�W���:�X��;�Y��P; [���;�\���;p]��<`^��@<�^��\<@`���<�y���<�z��(=P���t= ����=`����=І��>P���>��`>@���|>�����> ����>����,?Ж���?�����?`����?�@0���8@ ���`@`���|@О���@@���8A����\AТ��xA����A�,BP���pB�����B ����BШ��C����PC�����C���Cp���D0���`D�����Dб���D0����D�����D���E���XE@����E�����EP���F����(F����DF0����F@����F����0G@���lG���G��� H���\H0���H����H@���H@��4Ip��pI���I����I����I���@J���hJ ���J����J����JP�� K���@K���\K����K ���K`���K���L���\L@��xL����L����L ���L��M`��HM����M����M@���M����M��N���0N��LN`��pN@���N���N`�O��$O`�HO���O@��OP��O��@P�\Pp�xP���P@��P��QP�XQ��Q���Q��8R�����R ����R�����R���R����@S���`S���|S�����S���S ����S���<T���XTp���T����T���U���`U@���U����U����U�	���U���hV����V���V��W���XW0���W���X���8X���XX���tX@���X ���XP ��Y� ��0Y�!���Y`#���Y$���Y�$��$Z�&��pZ�'���Z�.��[�/���[�0���[4��D\07���\�8���\�<��`]`>���]P?��^�?�� ^�?��<^K��4_�O���_@R��`�T��p`0U���`�U���`@V���`�V��$aW��@aPW��\a�W��xa�W���a�Z���a�[���a�j��Pb�k��|b`l���b�m��cPn��4co��xc�o���c�o���cPp��d�p��0d�r���d�r���ds���dPs���d�s��e�t��Le�u���e w���epw���e�w��f�w�� f0x��<f�y���fz���f�z���f�z���f�{��@g@|��dg`����g�����g`���hЄ��Ph0���lhp����h�����h����i0���$i��Xi���i�����i����jЍ��Hj���jЏ���j�����j ���k����$k�Hk`���lk�����k��k`���l���Xl�����l����lP����l����<mp���xm�����m�����m ���np���(nP���Xn��nЩ���n`����n��,o��po���op����o ���$p@���`p��p@����p����q����Pq���q ����qp����q����r�4r@����r�����r����s0���Xs�|s0���s����s����s ��t`��0t0��\t����t����t`���t����t��u���@u����u���u@���up��,v���xv���v0���vzRx�$8���P)FJw�?:*3$"D`���@)\8��H �
Dx��xH K
A ����H {
Ay
E�,�2H d
A �P��E�D �
AH���=H k
E ��E�D �
AH8��=H k
E T���E�D �
AHxl�=H k
E ����E�D �
AH�,�=H k
E �P��E�D �
AH���=H k
E ��E�D �
AH8��=H k
E\T���B�B�B �B(�A0�A8�G�N
8A0A(B BBBGT�R�F�A��P�pD u
G����D H
D�(��D H
D��_D �
A8$���B�B�A �A(�D@t
(A ABBA `��A�K G
ADzRx� � D�� ���D |
HS
E4���9A�H�G0�
FACT
AAAzRx�0�� ���@��5AA^  \��A�G R
AE8�d�QB�B�A �A(�D@�
(A ABBB@������B�B�B �A(�A0�D@y
0A(A BBBA���QH C
AH����H �
D8���H ~
AXT`���qB�B�B �B(�A0�A8�Dp�
8A0A(B BBBD�xL�UxAp0����bB�A�A �GPM
 AABA0����|F�A�D �G0s
 AABGH��"E�A�G�|�B�Q�D�F�F�N�`
AAA0d����F�A�D �G0o
 AABK�\��JH |
A�����H �
A����H {
El����u	B�B�B �B(�A0�A8�G��
8A0A(B BBBH��E�U�A�e�I�S�A�$zRx��������,j��\�l���B�E�E �E(�A0�A8�J�g�I�Z�A��
8A0A(B BBBIH��
���B�B�B �E(�D0�D8�Gp
8A0A(B BBBE@D���F�B�E �A(�A0�D@z
0A(A BBBK �|��\E�DP!
AEH�����F�B�B �B(�A0�A8�DP�
8A0A(B BBBD�<��6H d
E	`��6H d
EH0	���fF�B�B �B(�A0�A8�D`k
8A0A(B BBBI<|	����F�D�D �Dp\xW�PxApX
 AABF�	(��;H m
A�	L��8H j
A�	p��5H g
A
���5H g
A,
���<H n
AH
���<H n
Ad
��CH u
A�
4��5H g
A�
X��5H g
A�
|��<H n
A�
���5H g
A�
���5H g
A���<H n
A(��AH s
AD@��AH s
A`t��5H g
A|���5H g
A����<H n
A����5H g
A���5H g
A�(��CH u
A\��=H o
A$���AH s
A@���5H g
A\���5H g
Ax���5H g
A� ��5H g
A�D��CH u
A�x��5H g
A����5H g
A
���<H n
A 
���5H g
A<
��5H g
AX
,��5H g
At
P��5H g
A�
t��<H n
A�
���6H d
E�
���5H g
A�
���5H g
A��5H g
A(��5H g
A8L��5H g
ATp��5H g
Ap���5H g
A����5H g
A����CH u
A���5H g
A�4��5H g
A�X��5H g
A|��5H g
A4���CH u
AP���=H o
Al���8H j
A���:H l
A�@��JR r
A�t��=H o
A����5H g
A����5H g
A���5H g
A0��5H g
AL(��<H n
AhL��9H k
A�p��5H g
A����5H g
A����5H g
A����5H g
A���=H o
A$��=H o
A,H��@H r
AHl��5H g
Ad���5H g
A����<H n
A����5H g
A����5H g
A� ��5H g
A�D��5H g
Ah��<H n
A(���5H g
AD���5H g
A`���CH u
A|��5H g
A�,��5H g
A�P��<H n
A�t��5H g
A����5H g
A���CH u
A$���5H g
A@ ��5H g
A\8 ��<H n
Ax\ ��5H g
A�� ��5H g
A�� ��<H n
A�� ��5H g
A�� ��5H g
A!��5H g
A 4!��5H g
A<X!��<H n
AX|!��5H g
At�!��5H g
A��!��5H g
A��!��5H g
A�"��5H g
A�0"��5H g
AT"��<H n
Ax"��5H g
A8�"��5H g
AT�"��CH u
Ap�"��5H g
A�#��5H g
A�<#��5H g
A�`#��5H g
A ��#��tE�M M
AH �#���E�M ^
AG(L$��IH {
A D�$��OE�M v
AAh�$��FH t
E(��$���E�G�G@z
AAA�T%��aH0S
A��%��JH |
A ��%��tE�G [
CE8&���K��
H(('��E�D�O��
AADT`(��5H g
Ap�(��5H g
A��(��5H g
A��(��5H g
A��(��5H g
A�)��5H g
A�8)��5H g
A\)��5H g
A4�)��5H g
AP�)��5H g
Al�)��5H g
A��)��5H g
A�*��5H g
A�4*��5H g
A�X*��5H g
A�|*��5H g
A�*��5H g
A0�*��5H g
AL�*��5H g
Ah+��5H g
A�0+��5H g
A�T+��5H g
A�x+��5H g
A��+��5H g
A��+��<H n
A�+��<H n
A,,��<H n
AH,,��<H n
AdP,��<H n
A�t,��<H n
A��,��@H n
E ��,��XE�G E
AA��,��@H n
E �-��XE�G E
AAX-��@H n
E 8|-��XE�G E
AA\�-��@H n
E x�-��XE�G E
AA�.��6H d
E�<.��@H n
E0�`.���F�A�D �G0W
 AABC�.��@H n
E $�.��XE�G E
AAH/��@H n
E d@/��XE�G E
AA�|/��@H n
E ��/��XE�G E
AA��/��@H n
E �0��XE�G E
AA<0��@H n
E $`0��XE�G E
AAH�0��@H n
E d�0��XE�G E
AA��0��@H n
E � 1��XE�G E
AA�\1��@H n
E ��1��XE�G E
AA�1��@H n
E $�1��XE�G E
AAH2��@H n
E8d@2���F�B�D �D(�D`}
(A ABBI��2��@H n
E �3��XE�G E
AA�T3��@H n
E �x3��XE�G E
AA �3��@H n
E <�3��XE�G E
AA`4��@H n
E |84��XE�G E
AA�t4��@H n
E ��4��XE�G E
AA��4��@H n
E ��4��XE�G E
AA  45��@H n
E < X5��XE�G E
AA` �5��@H n
E | �5��XE�G E
AA� �5��@H n
E � 6��XE�G E
AA� T6��@H n
E � x6��XE�G E
AA !�6��@H n
E <!�6��XE�G E
AA`!7��@H n
E |!87��XE�G E
AA�!t7��@H n
E �!�7��XE�G E
AA�!�7��@H n
E �!�7��XE�G E
AA "48��@H n
E <"X8��XE�G E
AA`"�8��@H n
E |"�8��XE�G E
AA�"�8��@H n
E8�"9���F�J�D �D(�DPo
(A ABBG�"�9��@H n
E #�9��XE�G E
AA8#�9��@H n
ET# :��@H n
E p#D:��XE�G E
AA�#�:��@H n
E �#�:��XE�G E
AA�#�:��@H n
E �#;��XE�G E
AA$@;��@H n
E 0$d;��XE�G E
AAT$�;��@H n
E p$�;��XE�G E
AA�$<��@H n
E �$$<��XE�G E
AA�$`<��@H n
E �$�<��XE�G E
AA%�<��@H n
E 0%�<��XE�G E
AAT% =��@H n
Ep%D=��@H n
E �%h=��XE�G E
AA�%�=��@H n
E �%�=��XE�G E
AA�%>��@H n
E &(>��XE�G E
AA(0&d>���E�D�G`t
AAA\&�>��@H n
Ex&�>��@H n
E�&?��@H n
E �&4?��XE�G E
AA�&p?��@H n
E �&�?��XE�G E
AA'�?��@H n
E 0'�?��XE�G E
AAT'0@��@H n
Ep'T@��@H n
E �'x@��XE�G E
AA�'�@��@H n
E �'�@��XE�G E
AA�'A��@H n
E (8A��XE�G E
AA0(tA��@H n
E L(�A��XE�G E
AAp(�A��@H n
E �(�A��XE�G E
AA�(4B��@H n
E �(XB��XE�G E
AA�(�B��@H n
E )�B��XE�G E
AA 0)�B��XE�G E
AAT)0C��@H n
E p)TC��XE�G E
AA�)�C��@H n
E �)�C��XE�G E
AA�)�C��@H n
E �)D��XE�G E
AA*PD��@H n
E 0*tD��XE�G E
AAT*�D��@H n
E p*�D��XE�G E
AA�*E��@H n
E �*4E��XE�G E
AA�*pE��@H n
E �*�E��XE�G E
AA+�E��@H n
E 0+�E��XE�G E
AAT+0F��@H n
E p+TF��XE�G E
AA�+�F��@H n
E �+�F��XE�G E
AA�+�F��@H n
E �+G��XE�G E
AA,PG��=H o
A0,tG��<H n
AL,�G��:H l
Ah,�G��5H g
A�,�G��5H g
A�,H��@H n
E$�,(H��XE�G E
AA�,`H��5AA^ -�H��5AA^ 8-�H��DB�E�K �A(�D@�
(A ABBEHX-�I���F�L�E �B(�A0�A8�DP�
8A0A(B BBBEH�-K��SF�B�B �B(�A0�A8�DP�
8A0A(B BBBE0�-L��XF�D�A �G0o
 MABB0$.@L��F�D�D �G0`
 AABA0X.�L���F�I�A �D0p
 AABH0�.XM���F�A�A �D0r
 AABF �.$N��HE�G s
CA�.PN��VH H
A /�N��OE�G |
AA$/�N��AH s
A@/�N���H t
D{
E`/dO��2H d
A|/�O��2H d
A0�/�O���F�A�A �G0G
 AABF �/(P���E�D j
AD�/�P��AH s
A(0�P��E�H�G0z
AAH(80�Q��3E�H�G0�
AAC8d0�R��VF�E�D �A(�G@\
(A ABBG(�0�S��E�D r
AD\
HL,�0�T���E�H�D0�
AAAL�0HU���F�E�B �E(�A0�D8�G��
8A0A(B BBBGHL1�U���F�B�B �B(�A0�A8�DP�
8A0A(B BBBC0�1�V���F�A�A �D0j
 AABA0�1�V���F�D�I �D0�
 AABE@2�W���F�E�B �A(�A0�GP�
0A(A BBBAHD2@X��F�B�E �B(�A0�A8�G��
8A0A(B BBBKH�2tY���F�B�B �B(�A0�A8�J��
8A0A(B BBBE4�2�[���E�A�D0A
JAJY
AAA3P\��_H q
GY
A043�\��wB�D�D �F0L
 AABH8h3�\���B�B�D �C(�G@Q
(A ABBGH�3`]���B�B�B �E(�D0�A8�GP�
8A0A(B BBBGH�3^���B�B�B �E(�D0�A8�GP�
8A0A(B BBBG<4�^��lD b
A X4_���D T
HT
L|4�_���D e
G@�4`���B�B�B �D(�A0�G@�
0A(A BBBHH�4�`��B�B�B �J(�I0�A8�D`5
8A0A(B BBBCL(5�b��"F�B�B �B(�A0�C8�G��
8A0A(B BBBA x5lf���E�G0S
AH8�5�f��F�E�D �D(�D@�
(A ABBH8�5�g���F�B�D �D(�G@,
(A ABBG46pi��F�A�D �G0�
 AABD8L6Hk��~B�E�A �A(�D@^
(D ABBEL�6�k���F�E�B �B(�D0�D8�D�J
8A0A(B BBBA �6,p��SE�G @
AA�6hp��?H q
AH7�p���F�E�B �B(�A0�A8�D��
8A0A(B BBBBd7@s��dH K
E�7�s��?H q
A �7�s���G� L�@I�@J
J@�7Pt���B�E�B �I(�C0�J@�
0A(A BBBDH8�t��CF�B�B �B(�D0�A8�G��
8A0A(B BBBKT8�w��dH K
Et8@x��?H q
AH�8dx��lF�H�B �B(�A0�D8�K��
8A0A(B BBBD�8�y��dH K
E�8�y��9H k
A9�y��FH w
B490z��FH w
BP9dz��FH w
Bl9�z��FH w
B�9�z��FH w
B�9{��FH w
B�94{��FH w
B�9h{��FH w
B�9�{��FH w
B:�{��IH z
B0:|��IH z
BL:8|��IH z
Bh:l|��IH z
B0�:�|��mF�A�D �D0Q
 DABA0�:�|��mF�A�D �D0Q
 DABA0�:}���B�A�A �G@}
 AABD8 ;�}��#B�I�I �D(�L@�
(A ABBF(\;x~��zE�D�D0e
AAA(�;�~���A�D�D0}
AAHL�;P���B�B�B �B(�D0�K8�G�

8A0A(B BBBF@<�����B�J�E �D(�D0�D@m
0A(A BBBFHH<����B�J�B �E(�D0�A8�DPv
8A0A(B BBBD8�<�����B�B�I �A(�J�V
(A ABBD0�<Ԃ���F�D�D �DP�
 AABDH=@���nF�B�B �B(�D0�D8�G�X
8A0A(B BBBCHP=d���~F�B�B �E(�A0�D8�G��
8A0A(B BBBG0�=����"F�A�D �GP,
 AABF@�=����BF�B�E �A(�A0�DP�
0A(A BBBD@>����kF�B�E �D(�D0�G`|
0A(A BBBHLX>̌��B�B�E �B(�D0�A8�G�q
8A0A(B BBBAX�>�����F�E�E �D(�D0�FP{
0A(A BBBGNXJ`_XAPTXG`FXAP?���:H l
A ?4���7H i
A<?X���2H d
AX?|���8H j
A t?����YE�D I
AA(�?ܐ���E�I�D0a
AAK�?`���=H o
A�?����=H o
A �?����PA�G z
DE  @ԑ��JE�G u
CA8D@����F�J�D �D(�D@z
(A ABBD(�@����VE�A�G0
CAA8�@ؒ��B�H�D �A(�D@�
(A ABBE0�@���bB�D�G �G0B
 CABA0AX���EF�D�D �G�o
 AABH0PAt����F�A�A �G�D
 AABI4�A@���uE�D�G0o
AAGa
AAE �A�����A�J�W
AE(�A$����A�A�D0�
AAH(B����oA�L�J0r
AAE(8B����^A�C�L0F
AAA8dB0����B�E�D �I(�DPe
(A ABBAH�B����B�B�E �B(�D0�D8�Gpt
8A0A(B BBBH4�BH���qA�G�G0n
JAHY
AAA0$C����lB�D�D �J0F
 AABB8XC̚���B�E�D �D(�F@�
(A ABBCH�C`���'F�B�E �B(�A0�A8�O��
8A0A(B BBBE@�CD����B�E�E �D(�A0�DpU
0A(A BBBF@$D����wF�E�B �A(�A0�GP�
0A(A BBBD8hD�����F�E�A �D(�DP~
(A ABBH�D����2H d
AH�D��F�E�E �H(�A0�A8�DP]
8A0A(B BBBK0E����vF�P�P �I@}
 AABAH@E���#F�F�E �B(�A0�A8�G��
8A0A(B BBBDT�E��`F�B�B �B(�A0�A8�G� L�@L�AG
8A0A(B BBBBL�E��F�F�E �B(�D0�A8�D�Z
8A0A(B BBBH4Fp���2H d
ATF����9H k
ApF����2H d
A�Fج��8H j
A(�F�����A�L�G0|
AAA�Fp���AH s
A�F����AH s
A8Gح��kF�E�A �A(�G@I
(C ABBA HG���GA�G q
DE lG8���HE�G s
CA(�Gd���kA�D s
DL\
AA(�G����uE�D�D0^
CAA0�G�����B�D�A �G0k
 AABCHHh����B�B�B �E(�D0�D8�GP�
8A0A(B BBBE@hH�����B�B�B �A(�A0�D@z
0A(A BBBB�H����6H d
E(�Hܰ��iE�D�D0R
CAA0�H ����B�Q�K �G��
 AABH0(I|����B�I�D �D@X
 AABAH\I��!B�B�E �B(�D0�A8�D`�
8A0A(B BBBEH�I̳��8B�B�B �B(�G0�D8�Gp.
8A0A(B BBBFL�I�����F�F�B �E(�D0�A8�G��
8A0A(B BBBK8DJp����F�I�D �A(�D�w
(A ABBK@�J4���3F�I�E �D(�A0�D��
0A(A BBBI0�J0����F�H�D �D��
 AABD@�J�����B�E�F �D(�G0�G@S
0A(A BBBF0<KX���zF�G�I �DpT
 CABA@pK�����F�I�E �A(�A0�J��
0A(A BBBI@�K��F�E�E �D(�K0�F�y
0C(A BBBA@�K\���F�B�B �D(�A0�O��
0A(A BBBF@<L8���"F�H�B �D(�D0�D��
0A(A BBBG8�L$����F�H�D �I(�D�g
(C ABBA8�L�����F�E�D �A(�L�c
(D ABBA8�Lܿ��F�H�I �D(�G�{
(A ABBE4M����9H k
APM���7H i
AlM����2H d
A�M���8H j
A�M@���AH s
A�Mt���AH s
A8�M����kF�E�A �A(�G@I
(C ABBA N���aE�D Q
AA <N(��HE�G s
CA4`NT���E�A�D0w
AAEE
JAE(�N����E�I�D0a
AAK@�NP���F�E�B �I(�D0�D@a
0A(A BBBA@O����F�B�B �A(�D0�O@�
0A(A BBBHLOX��dH q
E`
AlO���6H d
E@�O����F�B�E �I(�A0�D@�
0A(A BBBA8�OX���B�E�D �A(�D@t
(A ABBA8P����F�H�A �A(�D@V
(A ABBH@DP ���F�E�B �A(�A0�G@�
0A(A BBBC8�P����F�B�D �A(�G@�
(A ABBK �PP��wA�D@H
AB8�P���%B�J�D �A(�DP�
(A ABBFH$Q���_F�B�E �B(�A0�I8�D`
8A0A(B BBBD8pQ���6F�E�A �D(�GP�
(A ABBA�Q���9H k
A�Q���7H i
A�Q��2H d
AR$��8H j
A(RH���E�D�D0x
AAA(HR���\E�D�D0G
AAA tR���VA�K 
EA@�R���B�E�E �D(�A0�G@C
0A(A BBBE8�R���XB�Q�G �D(�D@|
(A ABBDS���AH s
A4S��AH s
A8PSD��kF�E�A �A(�G@I
(C ABBA@�Sx���B�G�B �A(�D0�D@Z
0A(A BBBJ(�S��`E�D�D0I
CAAH�SH��CB�E�B �B(�D0�I8�Dp�
8A0A(B BBBDHHTL��$F�B�B �E(�A0�D8�DP�
8A0A(B BBBJ(�T0���E�H�H0�
AAJ8�T����F�E�A �D(�D@�
(A ABBH�T���6H d
EHU���F�I�B �E(�A0�A8�J��
8A0A(B BBBE@dU����B�H�E �A(�A0�D@�
0A(A BBBDH�U,���B�L�E �E(�K0�G8�D��
8A0A(B BBBG`�U����F�B�B �B(�D0�A8�D`�
8A0A(B BBBD�hQp^hA`PhLpMhA`HXV,��B�B�E �L(�G0�A8�NP�
8A0A(B BBBA �V��vA�K W
AD@�V\���F�B�E �A(�D0�D@|
0A(A BBBFLW���F�B�B �B(�D0�A8�G�^
8A0A(B BBBHH\Wh��B�E�E �E(�D0�A8�D`
8A0A(B BBBA �W<��E�D@�
AFD�W��>F�E�G �A(�D`�
(A ABBCGhBp[hA`@X���B�D�D �G0`
 AABKT
 NABE8XXL�tF�J�D �A(�DP�
(A ABBCL�X��rF�B�B �B(�D0�A8�G��
8A0A(B BBBK�X��;H l
B(Y���E�D�G0a
AAE(,YH�hE�D�G0O
AAB0XY��qF�D�D �G0Q
 AABB(�Y��dE�D�G0K
AAB�Y�;H l
BH�Y@�F�E�B �E(�D0�D8�G`b
8A0A(B BBBC Z�;H l
B<Z8�;H l
BXZ\�;H l
BtZ��;H l
B8�Z��{F�E�D �D(�G@T
(A ABBBH�Z��F�B�B �B(�D0�D8�GP\
8A0A(B BBBG[��;H l
B4[��>H o
BP[�:H l
Al[(�>H o
B�[L�>H o
B�[p�>H o
BT�[��F�B�E �E(�G0�E8�Q`chPp_hA`F
8A0A(B BBBA\\��H 
IH4\��F�J�E �E(�D0�D8�G��
8A0A(B BBBCH�\��F�F�E �M(�A0�A8�J�~
8A0A(B BBBF�\��\H t
DV
AH�\���F�E�E �E(�A0�A8�D�s
8A0A(B BBBH88]�F�B�A �A(�D@i
(A ABBCLt]`�F�B�B �B(�A0�A8�I�D
8A0A(B BBBK�]��=H k
E�]��ZH q
BY
A ^�oH D
DY
A (^L�oH D
DY
AL^��oH }
KY
Al^��5AA^ �^�5AA^ �^0�6H d
E(�^T�qE�O�D0M
AAE8�^��~F�L�A �A(�D@�
(A ABBEH(_��F�E�E �J(�D0�A8�DP
8A0A(B BBBC8t_�����F�A�A �G� L�@I�@I
 AABG�_���=H k
E8�_(����F�A�A �G� L�@I�@U
 AABA(`|���lE�D�G@T
AAA 4`����tE�D Q
AEX`���6H d
Et`@���ZH q
BY
A�`����:H l
A�`����DH u
BzRx� ����`����DH u
BL��X(a���IF�E�E �E(�D0�H8�G�T�J�Y�A�j
8A0A(B BBBD$zRx��������,Q����a����DH u
B&����a����DH u
BD���� b���DH u
BtЀ��@Pb��F�B�B �A(�C0�G�	r
0A(A BBBAL�b�����F�B�B �B(�A0�A8�D�T
8A0A(B BBBH(�b@���]E�A�D0I
CAAct���LH z
EH,c�����F�B�B �B(�A0�I8�D`�
8A0A(B BBBDHxc\����F�B�B �B(�A0�A8�D`~
8A0A(B BBBA8�c�����B�B�D �D(�F@d
(D ABBE d���ME�G x
CA0$d0���lF�D�A �F0I
 AABBHXdl���+F�B�B �B(�A0�A8�Gp�
8A0A(B BBBD0�dP���F�A�A �D0s
 AABEL�d����F�B�B �B(�A0�A8�I�
8A0A(B BBBG (e<���E�G �
CA<Le����F�I�F �G0Y8l@H8A0_
 AABA8�e��F�J�I �A(�D@�
(A ABBB0�e���tB�D�C �D0]
 AABAH�eH���B�B�E �B(�D0�A8�GP�
8A0A(B BBBDHHf����F�E�E �E(�A0�A8�D�~
8A0A(B BBBE�f�
��5AA^ H�f�
��*B�I�B �B(�D0�I8�Dp
8A0A(B BBBGH�f����B�B�B �A(�A0�G� L�@I�@Z
0A(A BBBJHg<��5AA^ 0dg`��F�D�A �G0z
 AABHL�gL���F�B�B �E(�A0�D8�G�(
8A0A(B BBBCL�g���kF�E�B �B(�D0�A8�J��
8A0A(B BBBIL8h ��1F�E�B �B(�D0�D8�D�A
8A0A(B BBBJ8�h�!���F�E�D �A(�G@�
(A ABBC<�h�#���F�B�D �A(�G��
(A ABBEi@%��9H k
A< id%���F�I�F �G0Y8l@H8A0_
 AABA`i�%��5AA^ |i�%��5AA^ 0�i&���F�D�A �G0V
 AABDH�i�&���F�B�E �E(�D0�A8�GP�
8A0A(B BBBH@j(���F�E�E �A(�D0�D@�
0A(A BBBG@\jX)��F�B�B �K(�D0�D@�
0A(A BBBH@�j4+���F�I�E �D(�A0�D@�
0A(A BBBF@�j�-���F�B�E �D(�D0�D@�
0A(A BBBFL(k,/���F�B�B �E(�D0�D8�D��
8A0A(B BBBJxk�1��2H d
A<�k�1���F�I�A �A(�D@�
(A ABBA �k�2��VE�G A
CA �k�2��_E�G L
AA<l3���F�I�F �G0Y8l@H8A0_
 AABA0\lx3���F�I�D �D0w
 AABF(�l4��~A�H�G0Z
AAD8�lX4���F�I�A �D(�D@q
(A ABBA0�l�4��tB�E�D �G0N
 AABDH,m5���B�B�B �E(�D0�A8�G�M
8A0A(B BBBB8xm|6���F�G�A �D(�Gp�
(A ABBDL�m7��iF�E�E �E(�D0�A8�N��
8A0A(B BBBGLn 9��*F�B�E �E(�D0�D8�G�	�
8A0A(B BBBCTn:��bH t
DtnP:���H �
D4�n�:���F�A�A �D0]
 AABC�nH;��AH s
AL�nx;��.B�E�B �B(�A0�D8�D��
8A0A(B BBBB0<oX=���F�D�D �D0�
 AABD(po>��_E�D�G0|
AAB�o8>��9H k
A�o\>��8H j
A�o�>��|H n
A �o�>��lE�Q A
AHHp0?��-F�B�B �B(�A0�A8�D��
8A0A(B BBBBH`pA��0F�B�E �E(�A0�A8�Dp�
8A0A(B BBBC0�p�A���F�A�A �D@~
 AABB�p�B��kH u
C8�p�B���F�B�A �A(�D@�
(A ABBDH8q\C��OF�B�B �B(�A0�A8�IpH
8A0A(B BBBG,�q`D��kE�D t
DOT
AA(�q�D���E�I�L0h
AAD(�qE��4E�A�D0
AAFLr(F���F�E�D �D(�G@m
(A ABBCT
(K ABBL@\r�F���F�D�D �G0G
 AABHm
 GABIL�r4G���F�E�D �D(�G@m
(A ABBCT
(K ABBL0�r�G��_F�D�D �G0r
 KABE$s�G��^H v
BT
E(Ds0H��OE�D�G0u
CAA@psTH���F�D�D �G0
 KABNV
 AABA0�s�H��^F�D�D �G0}
 CABA@�s�H���F�D�D �G0
 KABNV
 AABA0,tI��^F�D�D �G0}
 CABA`tDI��^H v
BT
E�t�I��6H d
E(�t�I��OE�D�G0u
CAA�t�I��^H v
BT
E�tJ��6H d
E(u0J��OE�D�G0u
CAA0uTJ��5H g
ALuxJ��5H g
Ahu�J��9H k
A�u�J��9H k
A0�u�J���F�A�A �G0F
 AABG�u`K��7H i
A�u�K��;H m
Av�K��5H g
A(v�K��9H k
ADv�K��6H h
A`vL��;H m
A |v8L��bE�J0L
AA�v�L��dH w
IV
A�v�L��@H r
A�v�L��HH z
A�v,M��<H n
AwPM��>H p
A0wtM��9H k
ADLw�M��gF�B�E �D(�D0�Dpg
0A(A BBBHH�w�N��B�E�B �B(�A0�A8�D`�
8A0A(B BBBBH�w�P���B�B�B �B(�A0�A8�D`�
8A0A(B BBBEL,xQ���B�E�B �B(�A0�A8�J�T
8A0A(B BBBKL|xxR��{B�B�B �B(�A0�A8�G�L
8A0A(B BBBIH�x�S���F�E�J �E(�D0�A8�D`M
8A0A(B BBBFHy,T��B�B�B �B(�A0�A8�D`�
8A0A(B BBBA dy�T��DE�G q
AAL�yU�� F�B�A �A(�D@�
(D ABBOT
(A ABBAH�y�U��F�B�E �E(�A0�K8�Dp�
8A0A(B BBBAH$z�X��?F�E�E �E(�A0�A8�D�m
8A0A(B BBBFpz�Y��RH0D
AL�z�Y���F�B�B �B(�A0�A8�D�R
8A0A(B BBBB\�zX[��F�B�B �B(�A0�A8�Dp�xE�B�B�Xpl
8A0A(B BBBAT<{\���F�B�B �B(�A0�A8�D`XhHpRhA`q
8A0A(B BBBH@�{�\���F�B�B �A(�A0�D@�
0A(A BBBA@�{]��F�B�E �D(�D0�D`
0A(A BBBHT|�]���F�E�H �D(�D0�GPv
0A(A BBBHY
0A(A BBBA8t|p^���F�E�G �D(�GPq
(A ABBDH�|�^��vF�B�B �B(�D0�D8�D��
8A0A(B BBBB�|b��=H k
E8}<b���F�J�A �D(�D@k
(A ABBF4T}�b���E�A�D0X
DAIT
AAAl�}c��{F�E�B �B(�D0�D8�J���K�S�A���N�G�A��
8A0A(B BBBFL�}(h���F�B�B �B(�A0�A8�D�h
8A0A(B BBBD0L~�i���F�G�C �G��
 AABA@�~4j���F�B�B �D(�D0�J�\
0A(A BBBH�~�k��fH0X
AH�~�k���B�E�B �E(�D0�D8�H`�
8A0A(B BBBCH,hm��F�B�E �E(�D0�I8�L`�
8A0A(B BBBH8x,n���F�B�A �D(�D��
(A ABBAL��o��eF�B�B �B(�A0�A8�Dp'
8A0A(B BBBEL��p���F�B�E �E(�A0�D8�J��
8A0A(B BBBFHT�ps��B�E�E �B(�G0�A8�GpD
8A0A(B BBBE��4u��AH g
M@��hu���F�J�E �D(�C0�DPH
0A(A BBBH��u���K��
A�Xv��9H k
A8�|v��9H k
A8T��v���F�B�A �A(�D@V
(A ABBFH��w���B�B�B �E(�A0�A8�D`S
8A0A(B BBBB8܁Xx���B�B�A �C(�GPG
(A ABBDL��x���B�B�B �B(�A0�A8�G�	�
8A0A(B BBBB8h�<|���F�B�D �A(�Dp�
(A ABBA0��}���B�D�D �D0k
 AABCH؂\}��GF�E�E �J(�D0�D8�D�L
8A0A(B BBBDH$�`~��F�B�H �B(�A0�A8�G��
8A0A(B BBBK p�$����E�G n
AEH�������F�J�E �E(�D0�D8�G�F
8A0A(B BBBGP�����F�B�B �B(�A0�D8�G��
8A0A(B BBBC4�����7H i
AP���7H i
Al���2H d
AH������F�B�B �B(�A0�D8�Dp6
8A0A(B BBBA`؄�����F�I�E �B(�A0�A8�G�"�H�[�A�l
8A0A(B BBBE8<�����F�J�A �D(�D@k
(A ABBFHx�����,F�B�B �B(�D0�A8�D`�
8A0A(B BBBEHąp����F�B�E �B(�A0�A8�D`�
8A0A(B BBBE���;H g
G@,���gF�E�B �I(�D0�DP�
0A(A BBBGp����:H h
E4��8����F�I�D �D0g
 AABF@�����F�B�E �A(�D0�K@�
0A(A BBBJ8�\����F�E�D �I(�DPG
(A ABBG0D������F�A�A �D0J
 AABF8x�,����F�B�D �A(�DPW
(A ABBB<�������F�B�A �A(�D@^
(A ABBF����6H d
EL�0����F�E�B �E(�I0�A8�DP�
8A0A(B BBBELd�p���F�B�E �J(�A0�D8�D`�
8A0A(B BBBE��0���6H d
ELԈP����F�B�B �B(�A0�A8�G��
8A0A(B BBBD<$�����,F�B�D �D(�G`�
(A ABBELd�p���b
B�O�E �E(�H0�A8�G�
�
8A0A(B BBBK$������\E�G0A
ABD܉Ȩ���F�E�E �D(�D0�GPy
0A(A BBBHD$�P����F�E�E �D(�D0�GP@
0A(A BBBILl�ة���F�E�E �E(�D0�C8�J�k
8A0A(B BBBE<��h����F�E�D �D(�D@p
(A ABBA��ȫ��IH w
A8������F�B�D �A(�D@e
(A ABBDT�P���lH Q
GHt�����oB�J�E �H(�A0�A8�J��
8A0A(B BBBGH��Į��*F�B�E �E(�A0�D8�GPo
8A0A(B BBBI(�����!E�A�D@�
AAJ@8�����BF�E�E �D(�A0�J`
0A(A BBBH8|������F�E�G �D(�G@c
(A ABBJ ��l���\E�Q s
AF4܌����|E�A�D0J
DAGT
AAA��_H M
AL0�4���cF�B�B �B(�A0�A8�G��
8A0A(B BBBDH��T���jB�B�B �B(�D0�A8�Dpp
8A0A(B BBBE@̍x����F�E�E �D(�D0�FPZ
0A(A BBBHL�����F�E�E �B(�D0�D8�G�
8A0A(B BBBKH`�����lF�B�B �B(�A0�D8�Dp}
8A0A(B BBBD��ȿ��kH n
JL̎���'F�J�B �B(�D0�A8�J�c
8A0A(B BBBHL�����F�B�B �E(�A0�I8�G��
8A0A(B BBBD�l����mF�B�B �E(�D0�A8�J��L�F�F�I�D�B�B�_���M�D�G�H�H�B�D�[�}
8A0A(B BBBB,�`��MH R(B0H8B@BHBPI T
A44�����F�D�A �G@O
 AABK8l�����F�B�D �D(�G`V
(A ABBE�����<H j
ED���F�E�E �D(�D0�D`_
0A(A BBBEH�x���B�B�B �B(�D0�K8�Dp�
8A0A(B BBBJHX�,���B�E�E �E(�I0�D8�D`T
8A0A(B BBBHD�����OA�D�G@�
AAGWHjPHXH`FhBpBxF�I@@�����B�D�D �G0�
 AABF[
 GABE(0�D���A�D�G0�
AAD8\����B�B�A �A(�D@Z
(A ABBFH��l��B�E�E �E(�D0�D8�G�S
8A0A(B BBBC(�@���A�D�G0r
GAJ@����B�D�D �G0�
 IABIT
 AABAHT�p��B�I�F �F(�A0�D8�GP�
8A0A(B BBBJ8��4��B�B�A �D(�J��
(A ABBILܓ���B�E�D �D(�D@�
(G ABBLj
(A ABBA@,�����F�B�B �A(�A0�DP�
0A(A BBBGp�d��_H p
HY
A�����TH z
F4�����E�A�D0�
DAJT
AAAH����^F�E�E �E(�D0�C8�D`�
8A0A(B BBBEp0���;
F�B�B �B(�D0�A8�O��
8A0A(B BBBFP�H�B�F�A�G�F�B�N�L����uF�E�E �B(�A0�A8�G�J
8A0A(B BBBAL����F�J�E �B(�D0�I8�I`~
8A0A(B BBBK\D����F�E�B �E(�D0�A8�J���G�B��
8A0A(B BBBGH����B�B�B �B(�A0�A8�Dp�
8A0A(B BBBG@�$�B�E�E �D(�C0�D@�
0A(A BBBK04��B�F�C �I0h
 AABA`h�\�B�B�B �E(�A0�D8�G�
8A0A(B BBBC�E�M�G�I�4̗����E�A�D0o
DAJT
AAB�����gH u
KY
A$���TH y
G@@�$���/F�B�B �A(�A0�DP�
0A(A BBBD ������H F
Jf
G`��|���'F�B�E �E(�D0�A8�G�1
8A0A(B BBBG9�G�O�K�I�@�H���F�D�D �G0W
 IABHY
 AABAxP����GF�B�B �B(�A0�A8�G�N
8A0A(B BBBC��D�D�B�N���D�B�B�J�L̙�#���F�E�E �B(�A0�A8�G�e
8A0A(B BBBA��$��DH v
AT8��$��F�B�B �B(�A0�A8�GhRpKhA`b
8A0A(B BBBAH���%���F�E�E �E(�A0�D8�Dp�
8A0A(B BBBDHܚH'��F�B�B �B(�A0�A8�D��
8A0A(B BBBBL(�(��F�B�E �B(�A0�A8�J�
8A0A(B BBBHPx��+���B�J�B �G(�D0�D8�DXd`KXAPW
8A0A(B BBBF|̛x,���F�B�B �E(�D0�A8�G�U�B�V�B�C
8A0A(B BBBIe�B�Z�A�O�H�Z�B��L��-���F�D�B �B(�A0�J8�L�t�S�F�A�U
8A0A(B BBBFf�F�K�A�D�D�I���F�K�A�D�D�I��0��8H j
A�$0��8H j
A�H0��8H j
A8�l0��8H j
AT��0��8H j
Ap��0��CH u
A���0��CH u
A��1��<H n
Aĝ@1��9H k
A�d1��<H n
A���1��<H n
A��1��CH u
A 4��1���E�D \
AJ@X�L2���F�A�A �D0�
 DABHT
 AABA`���2��3F�B�B �B(�A0�A8�DP�
8M0A(B BBBHi
8A0A(B BBBEL��3���F�B�A �A(�D@[
(D ABBNT
(A ABBAHP�4��]F�B�B �B(�A0�A8�Dp
8A0A(B BBBA0��(5���F�A�A �D0_
 AABA(�5��oE�G�G@T
AAA���5��IH s
E�6��HH z
A4�@6��IH s
EP�t6��HH z
Al��6��IH s
E���6��GH y
A��7��\H A
G��T7��IH r
Fܠ�7��OH A
A���7��\H N
A�8��RH D
A0�D8��_H Q
A L��8���E�Q m
ADp�d9��QH C
A���9��LH u
CH���9���F�B�B �B(�A0�A8�G��
8A0A(B BBBD(��\=��E�D�G0�
AAE�$�@>��)
F�B�B �B(�A0�A8�G� L�&��&N�&N�&F�&B�&D�&`�&��&Q�&G�&F�&B�&A�&[�&�
8A0A(B BBBI:�&K�&o�&A�&��&J�&D�&F�&B�&D�&`�&��&J�&Z�&I�&V�&�&D�&D�&F�&B�&D�&`�&�
�&E�&Qx �tJ��F�I�B �B(�A0�D8�D���G�R�A�`
8A0A(B BBBGA�F�F�F�D�D�I�@��L���F�A�F �D0~
 JABLi
 AABA��tL���F�D�B �B(�J0�F8�GpSxm�FxAp\
8A0A(B BBBFZx\�I�A�D�D�PpDxM�PxAp0d��M���B�J�I �K0^
 AABA0���M���B�J�I �K0^
 AABA@̤HN���B�B�B �A(�A0�D@�
0A(A BBBI8��O��B�E�A �A(�D@�
(A ABBK(L��P��E�D �
DHT
AA@x�|Q��vF�E�E �D(�A0�Dp~
0A(A BBBA���T��KH y
Eإ�T��@H n
E�U��@H n
E�4U��AH h
L,�hU��AH h
LH��U��3H d
BLd��U��2F�B�B �E(�A0�A8�G�7
8A0A(B BBBG0���X���B�A�A �GPU
 AABD�\Y��AH o
E��Y��9H g
E ��Y��yH z
N_
E@�Z��AH o
E4\�HZ��jF�D�D �F0L
 AABA<���Z�� F�B�A �A(�D@x
(A ABBDԧ`\��6H d
ED��\���F�B�H �D(�D0�G`�
0A(A BBBI<�(]���K��
AX��]��ZH s
ET
A0x�^���F�A�A �D0�
 AABA���^���K��
AȨ,_���K��
A��_��@H l
G$��_���H L
LT
LT
AH(�\`��ZF�B�B �B(�D0�A8�Dp
8A0A(B BBBDt�pa��ZH p
HT
A���a��ZH p
HT
A���a��xH @
H0ЩTb��F�A�A �G0[
 AABB��b��aH 
I($��b��kE�D u
DNT
AA4P�4c���E�A�D0X
DAIT
AAA(���c��kE�D u
DNT
AA ���c��ME�D }
AA(ت�c��cE�D q
DJT
AA(�@d��kE�D u
DNT
AA(0��d��kE�D u
DNT
AA \��d��RE�D B
AA(��e��kE�D u
DNT
AA@��He���F�A�A �D0n
 DABOT
 AABA��e��6H d
E��e��6H d
E((��e��kE�D u
DNT
AA4T�@f��|E�A�D0K
DAFT
AAA4���f���E�A�D0�
DAGT
AAA4Ĭ g���E�A�D0X
DAIT
AAA@��xg���F�A�A �D0
 DABNT
 AABA(@��g���E�A�D0|
AAA(l�Xh��cE�D q
DJT
AA(���h���E�A�D0�
AAA(ĭ0i��cE�D q
DJT
AA0�ti���F�A�A �D0�
 AABA4$�0j���E�A�D0h
DAIT
AAA4\��j���E�A�D0e
DALT
AAA4��k���E�A�D0V
DAKT
AAA(̮Xk��SA�D�G0x
DAE(���k��kE�D u
DNT
AA4$��k���E�A�D0P
DAIT
AAA4\�(l���E�A�D0\
DAET
AAA4���l���E�A�D0M
DALT
AAA(̯�l��kE�D ~
DET
AA4��m���E�A�D0e
DALT
AAA@0��m���F�A�A �D0T
 DABIT
 AABA(t��m��kE�D ~
DET
AA4��n���E�A�D0�
DAGT
AAA@ذ�n���F�A�A �D0T
 DABIT
 AABA4��n��|E�A�D0D
DAMT
AAAT�0o��ZH l
LT
At�po��9H g
E0���o���F�A�A �D0z
 AABA(ı�o��cE�D q
DJT
AA4�4p���E�A�D0�
HAGT
AAA((��p��cE�D q
DJT
AA4T�q��|E�A�D0F
HAGT
AAA(��Xq��cE�D q
DJT
AA���q��bH t
LT
A(ز�q��cE�D q
DJT
AA�0r��ZH l
LT
A4$�pr���E�A�D0V
DAKT
AAA(\��r��tE�A�D0b
AAA4��s��tE�A�D0@
DAIT
AAA��ds��9H g
E(ܳ�s��kE�D u
DNT
AA(��s��kE�D u
DNT
AA44�t��|E�A�D0D
DAMT
AAA4l�Xt���E�A�D0P
DAIT
AAA4���t���E�A�D0\
DAET
AAA(ܴu��gE�D�D0K
DAE4�Lu��|E�A�D0L
DAET
AAA4@��u��|E�A�D0L
DAET
AAA@x��u���F�A�A �D0�
 DABKT
 AABA4��Xv��tE�A�D0@
DAIT
AAA(��v��cE�D q
DJT
AA( ��v��kE�D ~
DET
AA@L�(w���F�A�A �D0�
 DABJT
 AABA@���w���F�A�A �D0�
 DABKT
 AABA4Զ@x���E�A�D0�
DAJT
AAA(��x��kE�D ~
DET
AA@8�,y���F�A�A �D0�
 DABJT
 AABA(|��y��kE�D u
DNT
AA(��z���E�D W
DLT
AKDԷ�z��F�A�A �D0\
 DABIL
 AABH(�h{���E�K�K0F
AAELH��{���F�B�B �B(�D0�A8�L�	
8A0A(B BBBI(��,}��fE�D�D0Q
AAALĸp}���F�B�B �B(�A0�A8�G��
8A0A(B BBBAL� ����F�E�E �E(�D0�I8�DP\
8A0A(B BBBD$d�p���aE�J0K
AAL�������F�E�B �E(�D0�A8�J�n
8A0A(B BBBGDܹ���,B�B�E �D(�A0�G�B
0A(A BBBA$��8H f
E@����;H i
EL\�8���PF�B�E �M(�A0�A8�J�W
8A0A(B BBBIL��8����F�B�B �B(�A0�A8�G��
8A0A(B BBBHL�������F�E�E �B(�A0�D8�J�
8A0A(B BBBJL����9H k
Ah�,���8H j
A��P���2H d
A��t���SH E
A ������\E�L z
AD@��F�B�B �D(�D0�GP`
0A(A BBBG8$���
F�B�A �A(�D`�
(A ABBBL`�����F�B�B �B(�A0�A8�D�@
8A0A(B BBBD��d����D c
AH̼(���B�E�E �I(�D0�C8�G`t
8A0A(B BBBGH�����KF�B�B �B(�A0�A8�DP�
8A0A(B BBBD(d�����E�D X
DKT
AK������ZH l
LT
A(���kE�D y
DJT
AAܽ����H �
HH��ܤ��zF�B�B �B(�A0�A8�D`�
8A0A(B BBBBD����<H j
E@`�4����F�B�B �A(�D0�DPt
0A(A BBBAH������LF�E�E �B(�D0�A8�D`�
8A0A(B BBBA0�Ĩ���F�D�D �G0q
 AABF0$�0����F�I�D �D0v
 AABGHX�̩��F�B�B �B(�A0�F8�D`x
8A0A(B BBBGH������=F�E�E �E(�A0�A8�D��
8A0A(B BBBJ(������E�A�D0]
AAG4������E�A�D@n
DAKY
AAA0T������F�A�A �DPf
 AABJ��L���RH D
AH�������F�B�J �E(�D0�D8�Dp#
8A0A(B BBBHL�ԯ��/F�B�E �E(�A0�D8�J�z
8A0A(B BBBK @�����;H(R0F(A T
A$d���E�G q
ABH��H����B�B�E �E(�D0�D8�Dp|
8A0A(B BBBHL�����F�E�E �B(�A0�D8�J�
8A0A(B BBBB((�����?H T(B0F(A T
AHT���F�B�B �B(�A0�I8�Dp�
8A0A(B BBBH zRx�p������(M ��
�����;H g
G(��@���lE�A�D0P
AADH ������F�B�B �B(�A0�A8�DP�
8A0A(B BBBI(l���
A�A�D@@
AAH �����YA�G C
DE(��8��fA�D�D0N
DAEH��|��B�B�J �E(�D0�D8�G`�
8A0A(B BBBGH4�@���B�B�B �B(�A0�D8�N�M
8A0A(B BBBF`�����B�E�E �E(�D0�D8�DP�
8J0K(E BBBIY
8A0A(B BBBEH�����%F�B�B �B(�A0�A8�D`�
8A0A(B BBBDH0����`F�B�B �B(�A0�A8�Dp
8A0A(B BBBF|����9H g
E �����H K
MY
A@����F�B�B �A(�A0�DP�
0A(A BBBI8�����F�E�H �H(�G@o
(A ABBA@<�H���B�B�B �A(�A0�D@
0A(A BBBH�����AH g
M�����>H g
J�����MH s
E����@H r
A8��@���E�D�K0S8C@AHBPK0^
AAA(0����bH p(E0B8B@G T
A\����<H n
A8x����B�E�D �D(�G@�
(A ABBE(������E�A�D@E
AAG(������E�D O
DLV
AA �X��|H K
MV
A0����6H d
E0L����\F�D�D �N0i
 JABE�����D �
D8�����~B�E�A �A(�D@^
(D ABBE �����K N
GY
A@��H��QB�B�E �I(�D0�D@�
0A(A BBBAH@�d���F�B�B �B(�A0�A8�DPz
8A0A(B BBBA0�����F�D�A �D0{
 AABB(�����eE�A�D0S
AAAH�����'F�B�B �E(�D0�A8�DP�
8A0A(B BBBJ@8�����F�B�B �A(�A0�D@�
0A(A BBBH |�x��~E�D x
AF8�����F�B�A �A(�D@�
(A ABBA�����9H g
E�����\H r
FV
A���gH u
KY
AL8�\��XF�B�B �B(�D0�A8�O�
8A0A(B BBBCt��l�
F�E�E �E(�D0�D8�GpvxZ�C�C�B�B�B�F�F�F�PpR
8A0A(B BBBB���F�B�B �B(�A0�A8�G��
8A0A(B BBBAL�P�I�F�R���^�C�C�B�F�F�F�W���^�C�C�B�F�F�F�W�H��d�@F�E�E �E(�D0�A8�D`|
8A0A(B BBBD��X�;H m
AL�|��F�E�B �B(�D0�D8�G��
8A0A(B BBBIh���lH V
BH����F�B�B �B(�A0�A8�G��
8A0A(B BBBK��d�FH x
A����lH V
B(���lA�D�D0Q
AAD(8�,�A�D�D0G
AAF d���IE�Q l
AA(����kE�D t
DOT
AA ���^A�G H
DE(��<�A�A�D0s
AAA(���yA�A�D@E
AAC(0���kA�G�G@T
AAA@\�8��B�B�B �A(�F0�Dp�
0A(A BBBA\����B�E�B �B(�A0�A8�G�	N�	N�	P�	D�	H
8A0A(B BBBJL�t����B�B�B �J(�D0�A8�G��
8A0A(B BBBAHP�����F�B�B �B(�A0�A8�G�{
8A0A(B BBBFl�����F�B�B �B(�A0�A8�G���\�P�A��
8A0A(B BBBA�F�d�A��H���H t
DH(����aF�B�L �B(�A0�A8�Dp�
8A0A(B BBBDHt�����F�E�E �E(�D0�D8�DpM
8A0A(B BBBH8��4
���E�A�D0j
DAGT
AAAH���
��F�B�B �B(�A0�A8�DPo
8A0A(B BBBE@H�l��YF�E�E �K(�D0�DP�
0A(A BBBA@������F�A�A �D0�
 DABJT
 AABA@����<F�B�E �D(�D0�F`U
0A(A BBBH<����D c
IF
Jt
Lk
Eg
Ig
Ig
E�T�����
F�B�B �B(�A0�A8�G��
8A0A(B BBBF��J�A�H�O�}�S�L�A�g�H�e�I�u�H�I�F�F�D�\������dH K
E(���yA�I�G@z
AAC@�T���D v
F\����>H g
JHx����F�B�B �B(�A0�A8�Dp�
8A0A(B BBBD�����=H o
A�����8H f
E�� ��;H i
E�( ���H �
HP8��!���F�E�E �B(�A0�D8�G�
8A0A(B BBBIL��X#���F�E�E �B(�D0�A8�Jp�
8A0A(B BBBAL��$���F�B�E �B(�A0�A8�J��
8A0A(B BBBD$,��)��wH D
LY
ALT��)���F�B�E �E(�A0�D8�G�=
8A0A(B BBBKH��`-��+F�B�B �B(�A0�A8�Dp�
8A0A(B BBBB@��D/���F�B�B �A(�A0�D`s
0A(A BBBE\4��0���F�B�B �B(�A0�A8�Dp�xK�PxAps
8A0A(B BBBA8��2���B�E�D �D(�G`t
(A ABBHH���2���B�E�F �E(�D0�D8�D`D
8A0A(B BBBDH�83��^B�B�B �E(�G0�A8�G��
8A0A(B BBBBLh�L6��B�E�B �E(�A0�D8�J��
8A0A(B BBBF$��I��?H R(D0F(A T
A(��$I��?H R(D0F(A T
AL�8I��AF�B�B �E(�D0�G8�J��
8A0A(B BBBF\\�8M��_B�B�E �B(�A0�D8�J�
8A0A(B BBBA��J�g�A�$��8U��EH(R0D8D@I T
A$��`U��MH(T0D8B@Q T
A8��U��~B�B�A �A(�D@_
(A ABBA H��U��RE�Q u
AA0l�V��GF�A�A �D0�
 AABD ��$W��CE�G i
DE��PW��EH w
A���W��IH m
K8���W��	F�B�A �A(�D@�
(A ABBD 8��Y��YE�D ~
AH8\��Y���F�B�A �A(�D@�
(A ABBA ��\Z��YE�D ~
AH���Z��9H k
A���Z��8H j
A���Z��2H d
A�[��2H d
A ,�([��lE�Q H
AA@P�t[���F�B�B �D(�A0�D@l
0A(A BBBIH���[��F�B�E �B(�D0�A8�Dp�
8A0A(B BBBD���\��kH u
C0��]��jB�D�A �D0N
 DABE0�D]��ZH l
LT
AHP��]��WF�B�E �E(�A0�A8�D�u
8A0A(B BBBI(���_��kE�D z
DIT
AAH���_��F�B�B �B(�A0�A8�D`�
8A0A(B BBBF(��`��\E�G�K0}
AAA0@��`���F�D�A �GP�
 AABA@t��a��2F�B�B �A(�A0�D�p
0A(A BBBHH��|b���F�E�B �B(�D0�A8�Dpi
8A0A(B BBBE4�d���F�A�A �D0y
 AABG<��d��7H i
AHX��d��sF�B�B �B(�A0�A8�Dp�
8A0A(B BBBF���g��3F�B�B �B(�A0�A8�J��
8A0A(B BBBFk�T�I�H�G�B�N���B�O�I�K�A�U���Z�M�B�P@��y���F�B�B �B(�A0�A8�G�2
8A0A(B BBBGL��P|���F�B�E �B(�A0�D8�J�
8A0A(B BBBF ����mE�G0Z
AAP�,���'
F�F�B �B(�A0�D8�J��
8A0A(B BBBE(\����yA�J�L@Z
AAAL��\����F�B�E �E(�A0�A8�D�J
8A0A(B BBBD8��̐���F�B�A �A(�D@�
(A ABBBH������F�B�B �B(�A0�A8�D`f
8A0A(B BBBF(`�$����E�N m
AG\
DE������TH y
GH�������F�B�E �E(�A0�A8�Dp"
8A0A(B BBBD@�������F�B�B �A(�D0�DPX
0A(A BBBE8�<���=H k
ET�`���TH y
GHp������F�B�E �E(�A0�A8�Dp"
8A0A(B BBBD@��(����F�B�B �A(�D0�DPX
0A(A BBBE���=H k
EL�����F�B�E �E(�A0�A8�D�;
8A0A(B BBBC@l�����$F�B�B �A(�A0�D@�
0A(A BBBDH������
F�B�B �B(�A0�A8�Dp
8A0A(B BBBF��H���=H k
E�h���TH y
GH8������F�B�E �E(�A0�A8�DpF
8A0A(B BBBH@�� ����F�B�B �A(�D0�DPX
0A(A BBBE��ܢ��=H k
E�����6H h
AH�$���wF�E�E �B(�A0�A8�Dpn
8A0A(B BBBH@L�X����F�B�B �D(�A0�DPL
0A(A BBBIH�����F�B�E �E(�A0�A8�D�t
8A0A(B BBBJ@��H���F�B�B �A(�A0�D@�
0A(A BBBBH �$����F�B�B �B(�A0�A8�Dpx
8A0A(B BBBD,l�h����E�N m
AGg
KE��ȭ��TH y
GH������F�B�E �E(�A0�A8�Dp
8A0A(B BBBH@������F�B�B �A(�D0�DPX
0A(A BBBEH�<���=H k
EHd�`���|F�E�E �E(�A0�A8�D�
8A0A(B BBBD0������pB�A�D �D0t
 AABE���_H i
OY
AH����=F�B�B �B(�A0�A8�Ip�
8A0A(B BBBDP����=H k
El�(���mH _
A@��|���F�B�B �A(�D0�G@F
0A(A BBBD@��H����F�D�D �G0w
 JABGV
 AABFH������F�E�D �D(�G@w
(M ABBEV
(A ABBDH\����F�B�B �H(�D0�D8�G`}
8A0A(B BBBHH��l����F�E�D �D(�G@w
(M ABBEV
(A ABBD������NH @
A��PH B
A0,�(���fF�A�A �D0P
 AABA`�d���PH B
A|�����SH E
A0��ܶ��bF�A�A �D0L
 AABA4������F�A�A �D0d
 AABDL�p���GF�B�A �A(�D@Z
(A ABBBt
(A ABBF T�p����D @
D`
MHx�ܸ���F�B�E �E(�A0�A8�G��
8A0A(B BBBHL��`����F�F�B �B(�A0�A8�G�l
8A0A(B BBBA@�����F�E�O �H(�D0�F@e
0A(A BBBA X�\����E�J F
AJL|�ؼ��WF�B�B �B(�A0�F8�G�-
8A0A(B BBBA0�����F�D�D �Dpf
 AABDH�D���F�B�E �E(�D0�A8�D��
8A0A(B BBBF<L����FH �(H0W(A V
FU(E0L8M@K K
(K0E,�����pE�T(Y0C8G@K b
AA��X����D �
A �����CA�J �
AEL�������B�B�B �B(�A0�A8�D��
8A0A(B BBBHL�X��JH x
Eh����>H g
J�����EH s
E�����6H d
E@�����B�E�M �D(�A0�J�N
0A(A BBBG8�����B�E�D �A(�GPb
(A ABBEH<�8���B�E�E �E(�D0�D8�G�e
8A0A(B BBBA��|��AH g
M�����AH g
M�����<H j
E����<H j
E,��(���E�D�G0T
AAJH,�����B�B�E �B(�D0�A8�J��
8A0A(B BBBA\x�<��?B�B�B �E(�A0�D8�J�0
8A0A(B BBBD��K�T�A�0����jB�D�A �D0N
 DABEL�X��-F�B�B �B(�D0�D8�J��
8A0A(B BBBH\�8��8H j
Ax�\��8H j
A8�����kB�E�A �A(�D@K
(D ABBEH�����<B�B�B �B(�A0�A8�D��
8A0A(B BBBJH����*B�B�J �E(�D0�D8�D��
8A0A(B BBBGLh�����F�B�B �B(�A0�D8�G�1
8A0A(B BBBEL������F�B�B �E(�E0�H8�G�}
8A0A(B BBBF@�l���F�A�A �D0T
 DABIT
 AABAL����5AA^ h����5AA^ ����2H d
A(��$��mE�O�D0M
AAA8��h��|F�L�A �A(�D@�
(A ABBE0�����F�K�D �D@�
 AABA<�(��:H l
AX�L��LH ~
At����=H k
E0������F�D�D �D0F
 AABDL�0�F�B�E �H(�D0�A8�DP�
8A0A(B BBBHH���B�B�B �B(�D0�D8�D`f
8A0A(B BBBD\`���LB�B�B �B(�A0�D8�G�N�G�\�D�w
8A0A(B BBBF����5AA^ ���5AA^ 0�����B�A�D �G0D
 AABJH,�H�KB�E�B �B(�D0�D8�D`5
8A0A(B BBBJx�L�9H k
A8��p��F�E�A �D(�K@H
(A ABBG@���F�E�E �A(�D0�K@N
0A(A BBBJ0����F�D�A �D0�
 AABA8H�<��F�E�A �D(�K@Y
(A ABBF4����yE�D�G0u
GAKY
AAA0��8��F�N�D �D0�
 AABE(����E�D ]
DFT
AAH�X�3B�B�E �B(�A0�A8�J�R
8A0A(B BBBEHh�L�B�B�B �B(�A0�A8�GPk
8A0A(B BBBJ8�����F�E�A �D(�K@J
(A ABBE@�d�F�E�E �E(�D0�G@V
0A(A BBBBH4� ��F�B�B �E(�D0�D8�DPz
8A0A(B BBBA8�����F�E�A �D(�K@J
(A ABBE��X���aD u
G8�����,B�B�D �D(�G@�
(A ABBB(�����DE�I�G0y
AAH0@�����F�A�D �F0r
 AABILt�@���5F�B�B �B(�D0�D8�N�$
8A0A(B BBBH(�0����E�J�I0z
AAD4�����B�D�D �J� 
 AABH(�,���6H d
E(D�P���vE�A�G0E
AAD8p������F�B�D �D(�G@p
(A ABBC(�����AE�A�G0z
AAG �,��KE�N o
CA��X��DK s
A����[K�J
A4����2H d
AP����2H d
Al���2H d
A��<��9H k
A��`��?H q
A �����JE�K q
CA����2H d
A0�����F�D�D �K@I
 AABJH8�<���F�J�B �E(�A0�A8�D�F
8A0A(B BBBCH������F�E�E �E(�A0�A8�D�w
8A0A(B BBBD8�����F�B�A �A(�D@i
(A ABBCL�����F�B�B �B(�A0�A8�I�D
8A0A(B BBBK\���=H k
E|�8��DH u
B�����X��DH u
B�X���x��DH u
B0�-�����DH u
B`���<���DH u
B�����l���DH u
B���������DH u
B�������DH u
B �V���8��DH u
BP�+��,X��DH u
B����\x���M �
B@x,���F�D�B �A(�A0�D@o
0A(A BBBG ����E�M s
AJ ��	��E�M s
AJ �
���E�M s
AJ(|���H �
A0D��F�A�A �D0�
 AABEx����H 
I��
���H 
I�D���H �
A�����H �
AH�l��-F�B�E �B(�A0�A8�Fp�
8A0A(B BBBAL4P��B�B�E �B(�A0�A8�I��
8A0A(B BBBC���9H g
E�4��<H j
E�X���H w
A�����H w
A����LH ~
A���HH z
A,���2H d
AH��2H d
Ad0��2H d
A�P���D `
D����D �
D����6H h
AH�����B�B�B �E(�A0�A8�D`�
8A0A(B BBBA0$P��'B�G�E �D@z
 AABHHXL���B�E�B �B(�D0�D8�Jpv
8A0A(B BBBC ����A�H �
AH@�����B�B�B �A(�A0�D@�
0A(A BBBH0X��hB�A�C �F@t
 AABD@@����B�B�E �D(�D0�D@�
0A(A BBBG8�� ���F�E�A �A(�K@�
(A ABBA8�d!���F�E�A �A(�H@�
(A ABBA�"��@H n
E@<"���F�A�A �D0
 DABId
 AABAL\�#��FF�B�B �B(�A0�A8�G�~
8A0A(B BBBC4��<��E�A�D0�
DALD
AAAH�p=���F�B�B �B(�A0�A8�D`�
8A0A(B BBBCP0�B���F�B�B �B(�A0�A8�D�3
8A0A(B BBBA�PH��6H d
E�tH��pH ^
E��H��H a
G@�,I���F�B�B �A(�A0�D@n
0A(A BBBA	xI��ZH D
D08	�I��xF�A�D �I0Z
 AABA(l	J��XE�A�D0F
AAAL�	<J���F�E�I �B(�A0�A8�G�
8A0A(B BBBIP�	|R��F�B�B �B(�A0�A8�D�
8A0A(B BBBA<
HW���H �
AL\
�X���F�B�G �E(�A0�A8�D`�
8A0A(B BBBD(�
hZ���E�A�D0[
AAI�
�Z��6H d
E$�
�Z���E�D E
AA�[��9H g
EL8�[��lF�F�B �B(�D0�A8�J�
8A0A(B BBBGh��]��gB�F�E �E(�A0�A8�G��
8A0A(B BBBC��E�J�J�I�B�Y� �a��CH(R0N(A T
A,a��6H d
El4Pa��1F�B�E �B(�I0�D8�J�]
8A0A(B BBBCD�N�Y�A�y�K�\�A�@� b���B�B�B �A(�A0�G��
0A(A BBBH@��b��QF�J�E �D(�A0�F@�
0A(A BBBA,
�c��QH x
L(H
d��kE�D z
DIT
AADt
`d���F�B�B �A(�D0�G�}
0A(A BBBAL�
�e���F�B�E �E(�D0�A8�G�M
8A0A(B BBBK@Xg���B�E�E �D(�D0�D`�
0A(A BBBF(P�g��`E�A�D0N
AAAL|h���F�B�B �E(�A0�D8�G�/
8A0A(B BBBDL�Xj���F�E�B �E(�A0�D8�J�	g
8A0A(B BBBF �l��OE�N u
AA @�l��KE�J u
AA d m��ZE�G G
AA �\m��{E�G H
AK ��m��ZE�G G
AA@��m���F�B�A �A(�G� L�@I�A~
(A ABBFL�n��8F�B�B �E(�A0�D8�G��
8A0A(B BBBJd�r��:H h
E<��r���F�J�D �D(�D@�
(A ABBD�@s��_H s
EY
A��s���D �
JHTt���F�E�E �E(�D0�C8�I�i
8A0A(B BBBHLL�u��F�E�E �B(�D0�A8�G`�
8A0A(B BBBFL�Xv��yF�B�B �B(�A0�A8�D�V
8A0A(B BBBF8��y��~B�E�A �A(�D@^
(D ABBEH(�y���B�N�B �B(�A0�D8�D`V
8A0A(B BBBC0t@|���F�F�D �G��
 AABFzRx�����$���8�h}���B�E�A �A(�D@�
(A ABBB(~���E�H�G0O
AAK0D�~���F�I�D �D0S
 AABB(x��iE�D�D0T
AAAH�P���B�B�B �E(�A0�A8�DP�
8A0A(B BBBB8����&F�E�A �D(�G`�
(A ABBD8,�����F�B�A �A(�DPe
(A ABBG(hL����E�A�D0e
AAG�����9H g
EH�Ԃ���F�B�E �B(�I0�A8�I`A
8A0A(B BBBC$�8���SE�G @
AA$p���9H g
E8@�����B�B�A �A(�D@�
(A ABBF(|����E�D�GPJ
AAD0������F�D�D �G0j
 AABE�(���_H Q
A�h���9H g
EL�����F�E�B �B(�G0�A8�G�c
8A0A(B BBBEh���TH F
A�P���9H g
E(�t����E�I�K0b
AAAH�؈���F�B�E �B(�A0�G8�GP�
8A0A(B BBBG|���_H Q
A4����7H i
AP��9H g
El���TH F
AH�H����B�B�B �B(�A0�A8�D`N
8A0A(B BBBJ(�܋��\A�D�D0D
DAE@���#F�B�B �A(�A0�GPh
0A(A BBBEH����;H m
A d ���nE�O0S
AA�l���_H k
MY
A�����ZH i
OT
A ����E�G t
HE�h���`H A
G ����YE�J C
AA(,���E�D�G@�
AAD0X����4F�D�D �G@�
 AABE4������F�A�A �D0�
 AABF�P���JH u
C ������E�G �
AE8���B�E�G �A(�GP�
(A ABBJ @��E�G K
AH@d����F�E�E �D(�D0�D@^
0A(A BBBFP�\���_F�F�B �E(�A0�A8�D�*
8A0A(B BBBC�h���TH F
A����_H Q
A4�9H g
E8P����B�B�A �A(�D@m
(A ABBA8�h���~B�E�A �A(�D@^
(D ABBEH������B�U�B �B(�D0�A8�D`O
8A0A(B BBBCH�F�B�B �E(�D0�A8�DPl
8A0A(B BBBBL`$����F�B�E �B(�A0�A8�G�

8A0A(B BBBA@�ġ���F�B�E �D(�D0�D@�
0A(A BBBGH�`���F�B�E �E(�A0�D8�G`�
8A0A(B BBBC @4���SE�G @
AA(dp���lE�L�DpB
AAG�����IH {
AL����F�B�B �A(�A0�H��Q
G���
0A(A BBBG�8���IH {
Ah���9H g
E08����iF�D�D �Gp�
 AABHlȨ��TH F
A����9H g
EL�,���^F�B�B �B(�A0�A8�J��
8A0A(B BBBB�<���_H Q
A(�����A�D�G0q
AAAH@��+F�B�B �B(�A0�G8�DP�
8A0A(B BBBDH�Ȱ���B�E�E �E(�H0�D8�D`
8A0A(B BBBF@�\����B�B�B �D(�D0�DP�
0A(A BBBF( ����A�I�N0�
AAAH ����AH o
Ed ��AH o
E0� ����F�A�D �D0�
 AABAl� ����DB�E�B �I(�A0�H8�J��Q�R�A�b
8A0A(B BBBF]�O�P�D�0$!`����F�H�A �D0[
 AABFX!���AH o
ELt!@���	F�B�B �B(�A0�A8�Dpp
8A0A(B BBBDL�!����F�F�B �B(�D0�A8�IpO
8A0A(B BBBID"@����F�B�E �D(�D0�F@f
0A(A BBBA@\"����kF�B�B �A(�A0�Dp�
0A(A BBBF zRx�p�����(����"|��KH0}
A�"����H i
G# ��<H n
A00#D��|B�D�D �D0I
 AABELd#����F�B�B �E(�A0�D8�J�-
8A0A(B BBBK�#��6H h
A�#4��6H h
AL�#X��F�G�B �B(�D0�A8�GPV
8A0A(B BBBC<<$���F�I�D �D(�D�,
(A ABBC4|$����F�K�N �D0h
 AABA(�$���E�A�I@~
AAAH�$t��HB�B�E �E(�D0�H8�Lp=
8A0A(B BBBC ,%x���A�I0i
ADHP%���B�B�B �B(�D0�A8�G��
8A0A(B BBBA$zRx��������,���0�%|��%B�D�D �G0�
 AABCzRx�0���$0��0@&D���F�F�D �G0K
 AABJLt&���xB�E�E �B(�A0�D8�G�
8A0A(B BBBA$zRx��������,u��H'���#F�B�E �B(�D0�D8�Dp
8A0A(B BBBD�d��0`'���bF�D�D �G0o
 AABHH�'����F�B�B �E(�D0�D8�G��
8A0A(B BBBD$zRx��������,c��0(8���F�D�D �G`(
 AABGzRx�`���$��8�(���F�J�D �D(�G@�
(A ABBC�(D�@H r
A�(h�@H r
A��(��@F�E�E �B(�D0�I8�G���K�D�A�Y�|�O�G�D�^��L�D�B�N���M�H�B�]��
8A0A(B BBBAP�M�G�D�]�7�X�D�D�N�O�O�G�D�\�z�M�G�D�\�x�)���F�H�E �E(�D0�A8�J�^�H�F�B�B�J�X�o�Y�F�A��
8A0A(B BBBH\l*�kF�B�B �E(�A0�A8�J�	
8A0A(B BBBG��	M�	Q�	A�	\�*(�F�B�B �E(�D0�D8�J���I�P�A�`
8A0A(B BBBA,+x�7H i
A0L+��F�A�A �D0@
 AABH(�+���lE�C�G0L
AAC0�+H���vF�D�C �G0X
 AABA�+����FH x
A�+���6H h
A,��HH z
A4, ���FH x
AT,P����D T
H8p,���B�B�A �D(�D@\
(A ABBA\�,����lB�B�B �I(�A0�D8�J�]
8A0A(B BBBKe�N�O�A�(-����A�G�G��
AAA48-L	���E�D�D0w
GAL[
DAEHp-�	��sF�B�A �A(�J��
(A ABBAX�H�U�A�0�-�
��jF�D�D �G0K
 AABA@�-���F�I�D �D0L
 GHBLY
 AABC,4.���kE�N n
GHT
AAd.���;H i
E8�.����F�E�D �C(�F@]
(A ABBE(�.D���H {
MZ
F`
AL�.����F�B�B �B(�A0�A8�D�l
8A0A(B BBBH</��;H i
E\/(��5AA^ x/L��5AA^ 4�/p���E�A�D0f
DAKT
AAA8�/����F�E�I �D(�D@u
(A ABBI00\���F�A�A �D0S
 AABEH<0��tF�B�B �B(�A0�A8�DP�
8A0A(B BBBG�0L��NH q
G�0���9H k
A�0���6H h
A�0���6H h
AH�0���`F�B�B �B(�A0�A8�DP�
8A0A(B BBBG(D1��rE�I�I0S
AAA(p1T��qE�I�L0O
AAA�1���;H m
A@�1���F�B�B �A(�A0�D@�
0A(A BBBE �1���cE�D }
AIL 2���F�B�B �B(�A0�A8�D�
8A0A(B BBBAp2���_H x
H0�2����F�A�A �D0W
 AABIH�2T��kF�B�B �B(�A0�A8�D`S
8A0A(B BBBA3x��RH D
A(3���5AA^ D3���5AA^ @`3��B�E�L �D(�A0�LP�
0A(A BBBC�3���qH w
Ag
E�3���aH K
E0�3���F�D�A �D0�
 AABA@4����F�B�B �D(�A0�J�C
0A(A BBBD8X4<!���F�E�A �D(�K@L
(A ABBC8�4�!���F�E�A �D(�K@M
(A ABBB0�4�"��!F�A�A �D0�
 AABH85�#��F�B�A �A(�D@x
(A ABBD(@5T$���E�D q
AEz
DE(l5%���E�K�D0G
AAC �5�%��uE�K m
AB �5&��uE�K m
AB �5t&��GE�G m
DE 6�&��oE�D0x
AFH(6�&��F�B�B �A(�A0�G� L�@I�Ap
0A(A BBBH(t6�*��dA�D�D0N
AAA �6+��eA�G V
AAL�6P+���B�B�B �B(�D0�I8�D�q
8A0A(B BBBD(7�1���A�A�D@i
AAAH@7�1���B�B�B �B(�D0�A8�DpF
8A0A(B BBBG�783��6H d
EL�7\3��aB�B�B �I(�D0�D8�G�{
8A0A(B BBBE8�7|7���B�B�A �A(�D@\
(A ABBD(48�7��NE�D�G0i
JAE8`88���F�E�K �D(�D`N
(A ABBF(�8�8���E�K�G@|
AAK�89��EH w
A,�8@9���E�M�DP�
AAH09�9���B�D�A �G0{
 AABC8H9\:���B�B�D �D(�G@�
(A ABBD(�9;���A�A�D0o
AAI4�9d;��|E�A�D0K
DAFT
AAA@�9�;���F�B�B �A(�A0�D`b
0A(A BBBF@,:h=���F�B�B �A(�A0�DP�
0A(A BBBD(p:$>���E�A�D0e
AAG@�:�>���F�E�E �D(�A0�D`�
0A(A BBBF8�:�?��F�B�A �A(�DP^
(A ABBF(;�@���E�D�G`}
AAA@H;\A��IF�B�B �A(�D0�Fpt
0A(A BBBG8�;hB��?F�E�A �D(�Dpp
(A ABBF@�;lC��F�J�B �A(�A0�D`~
0A(A BBBBH<8D��OF�B�B �B(�A0�A8�D�J
8A0A(B BBBJX<<E��6H d
E@t<`E��EB�A�A �D0�
 AABEQ
 CABI�<lF��5AA^ �<�F��5AA^ H�<�F��AF�E�B �E(�D0�A8�GpJ
8A0A(B BBBF8<=�H��`F�B�A �D(�GPH
(A ABBFHx=�I��F�B�B �E(�D0�A8�G`J
8A0A(B BBBAL�=�K��kF�B�B �E(�D0�A8�G`J
8A0A(B BBBA >�M���E�D �
AH8>lN��=H k
E@T>�N��dB�B�B �A(�A0�D@%
0A(A BBBG�>�O��5AA^ �>�O��5AA^ �>P��;H g
G(�>(P���E�D0[
AKs
AD ?�P���H [
Ek
E$<?hQ���H P
H_
Ad
L d?R���H N
J`
H�?�R��aH s
E[
A�?�R��9H g
E4�?S���E�A�D0�
DAKX
AAF@�?hT���E�A�D0y
AAKl
DAOu
DAEL@@U��jF�B�B �J(�A0�C8�G�D
8A0A(B BBBC�@$Y��;H g
G8�@HY��0F�B�A �D(�GP�
(A ABBFH�@<[��F�B�B �B(�A0�A8�G`o
8A0A(B BBBB04A]��rF�D�F �D0T
 AABAHhAL]��/F�B�B �B(�A0�A8�DP

8A0A(B BBBAH�A0^���F�E�B �B(�G0�A8�D�C
8A0A(B BBBHGNU�Б��Џ����-��-6�n�N	�N	P	�N	/P	O	@O	pO	�O	EP	WP	�O	tP	�O	`�-:����.�P	`R	�P	�P	�R	�P	�P	�R	�R	S	HS	hS	�P	�S	�S	�S	T	@T	hT	�T	�T		Q	�T	U	0U	'Q	XU	=Q	SQ	oQ	�U	�Q	�U	�Q	�U	�Q	V	0V	XV	�Q	�Q	R	R	�V	/R	@R	�-:ǖ�����V	�a	�a	b	8b	hb	�b	�b	�b	 c	@c	hc	�V	�c	�c	�c	d	@d	hd	�d	�V	�d	�d	�V	�V	e	8e	`e	�e	�e	W	f	%W	4W	IW	]W	 f	uW	�W	�W	�W	�W	�W	�W	X	4X	NX	kX	Hf	xf	�f	�X	�f	�X	�X	�X	�X	�X	Y	Y	*Y	g	EY	XY	hY	zY	�Y	�Y	�Y	�Y	�Y	Z	Z	3Z	MZ	kZ	�Z	�Z	0g	�Z	Xg	�g	�Z	�Z	�Z	�g	�g	�Z	[	$[	7[	h	Q[	(h	d[	w[	�[	�[	�[	�[	�[	�[	\	\	,\	@\	T\	h\	|\	�\	�\	�\	�\	�\	�\	]	]	0]	D]	X]	l]	�]	�]	�]	�]	�]	�]	�]	�P	`h	^	!^	3^	�h	�h	�h	i	0i	hi	�i	M^	k^	�i	�i	�^	�^	�i	(j	Pj	xj	�j	�j	k	8k	`k	�^	�k	�k	NX	�k	l	�^	�^	_	@l	hl	�l	�l	�l	 m	Hm	#_	pm	�m	�m	n	0n	hn	?_	[_	t_	�_	�_	�n	�_	�n	�_	�_	`	�n	o	Po	�o	�o	�o	`	�o	 p	Hp	�p	�p	�p	5`	q	S`	@q	pq	�q	�q	r	0r	Xr	�r	�r	�r	s	Ps	xs	�s	�s	t	Ht	xt	�t	�t	u	8u	hu	q`	�`	�u	�`	�`	�u	�`	�`	a	�u	0v	)a	`v	Ea	`a	�v	�v	ua	�v	 w	Pw	�w	�w	�a	�w	0x	Xx	�a	@.��������x	�y	�y	�x	�x	�y	y	0y	Xy	xy	�y	z	�.������=(z	Hz	xz	�z	�z	{	@{	p{	�{	�{	|	H|	x|	�|	�|	}	H}	x}	�}	�}	~	H~	x~	�~	�~		@	p	�	�	�	8�	h�	��	Ѐ	�	8�	h�	��	ȁ	�	0�	h�	��	Ȃ	��	 �	H�	x�	��	��	Ѓ	��	(�	`�	��	��	؄	�	0�	X�	.�������	��	�	��	8�	��	̅	߅	�	`�	p.��.
 p�.
0��.
 ��.
��.0 .�.
0��.0��.
0Ѝ.0�. �.�.
 �. �.
 �.  �.
 0�. @�.�.(�.
P�.��.Ў.P.0�.
�.�.
�. �..@�.0�.@�. p.`�.
 P�. `�.
 p�. ��.
 ��. ��.
 ��. ��.Џ.�.0�.P�.( 
.��.
(p�.(��.
(��.(��.
(��.(��.
(А.(�.(P.��.
(�.(�.
(�.( �.
(0�.(@�.@.��.
P�.��.��.
�`�.�p�.
���.���.
���.���.
���.�Б.
��.��.
��.��.
� �.�0�.
�@�.�P�.
�`�.�p�.
���.���.
���.���.
���.�В.
��.��.
��.��.H@.@�.
H �.H0�.
H@�.HP�.
H`�.Hp�.
H��.H��.
H��.H��.��.�.`�.��.	
` �.`0�.
`@�.`P�.
``�.`p�.
`��.`��.
`��.`��.
`��.`Д.
`�.`�.
`�.`�.
` �.`0�.`�.�.��.
��.
��.Е..��.
�.
 �.`.��.
`�.
(p�. �.�.
 ��. ��.
 ��. ��.0�.�.
0��.0Ж.
0�.0�.0. �.
�.�.
 �.0�.
@�.P�.( .@�.
(`�.(p�.
(��.(��.
(��.(��. .X�. @.`�.
 ��. З.
 �. �.(�.p�.
(�.(�.
( �.(0�.
(@�.(P�.`�.��.��.0@.��.
0�.0�.
0�.0�.
0 �.00�. 0.��.
 @�. P�.
 `�. p�.X�.��.
X��.X��.
X��.X��.
X��.XЙ.
X�.X�.
X�.X�. �.@�.0�.��.0`�.0p�.��..�.
К.�.
�.�.
�. �.
0�.@�.
P�.`�.0� .@�.
0p�.0��.
0��.0��.
0��.0��.
0Л.0�.
0�.0�.(�!.p�.
(@�.(P�.
(`�.(p�.
(��.(��.@�".��.
@��.@��.
@��.@М.
@�.@�.@�.
�. �.(0$.��.
(@�.
(P�.`�.��.��.�. %.��.
�.�.0�.p�.��. �%.��. ��. ��.`&.��.
О.�.�&.�.
�.�.
�. �.0�'. �.
00�.0@�.
0P�.0`�.
0p�.0��.
0��.0��.(�(.@�.
(��.(��.
(П.(�.
(�.(�.
(�.( �.
(0�.(@�.P�.p�.��.(�*.p�.
(Р.
(�.(�*.��.
(�.(�.
(�.( �.
(0�.(@�.
(P�.(`�.
 p�. @,.��.
 ��.(�,.��.
(��.(��.
(��.(��.
(С.(�.
(�.(�.�.0�.(..��.
(P�.(`�.
(p�.(��.
(��.(��.
(��.(��.
(Т.(�.p/.�.
�.�.
�. �.
0�.@�.P�.p�.���.
H��.H�0.0�.
H��.H��.
HУ.H�.
H�.H�.�.0�.2.P�.
P�.`�.
p�.��.�2.`�.
��.Ф.@03.p�.
@�.@�.
@�.@�.(�3.��.
( �.(0�.
(@�.(P�.
(`�.(p�.
(��.(��.
(��.(��.��.0p5.��.
0�.0�.
0�.0�.
0 �.00�.
0@�.0P�.�6.��.
`�.p�.
��.��.
��.��.�7.�.
��.Ц.
�.�.
H�.H`8. �.

H�.H �.
H0�.H@�.
HP�.H`�.
Hp�.H��.
H��.H��.
H��.H��.
HЧ.H�.
H�.H�.
H�.H �.
H0�.H@�.
HP�.H`�.
p�.
��.��	
(��.(�;.��.
(��.(��.
(��.(Ш.(�.
(�.(�.
( �.(0�.
(@�.(P�.
(`�.(p�.
8��.8�=.��.
8��.8��.
8��.8��.
Щ.
�.Ћ	
8�.8�>.�.
8�.8�.
8 �.80�.
8@�.8P�.8`�.
8��.8��.
8��.8��.
8��.8Ъ.
(�.(�@.0�.
(�.(�.
�.
 �.�	
0�.�A.`�.
@�.P�.
`�.p�.��.@��.��.
@Ы.@C.��.
@�.@�.
@�.
�.
 �.�	
�0�.�D.��.
�@�.�`D.��.
P�.�	
`�.�	
�p�.
���.�PE.��.
���.
���.���.
���.�Ь.
�.
 �. `F.�.
 �. �.
  �. 0�.
 @�. P�.
 `�. p�.
(��.(�G. �.
(��.(��.
��.
��. �	
0Э.0�H.@�.
0�.0�.
0�.0�.
0 �.00�.
@�.
P�.0�	
H`�.
Hp�.H0J.��.
H��.H��.
H��.H��.
H��.HЮ.
H�.H�.
H�.H�.
H �.H0�.
@�.
PP�.
P`�.
Pp�.P`L.��.
P��.P��.
P��.P��.
P��.PЯ.
P�.P�.
P�.P�.
P �.P0�.
P@�.PP�.
P`�.Pp�.
P��.P��.
P��.P��.
P��.Pа.
8�.8pO. �.	
8�.8�.
8�.8 �.
80�.8@�.
8P�.8`�.
8p�.8��.
8��.8��.
8��.8��.
8б.8�.
�.H�Q.��.
H�.H�.
H �.H0�.
H@�.HP�.
H`�.Hp�.
H��.H��.0S.��.
��.��.
��.в.x�S.��.

x�.x�.
x�.x�.
x �.x0�.
x@�.xP�.
x`�.xp�.
x��.x��.
x��.x��.
x��.xг.
x�.x�.
x�.x�.�V.�.
 �.0�.
@�.P�.��.��.(�W. �.
(�.(�.(�.
( �.(0X.@�.(`�.
(��.
(��.(е.�. �.@ Y.`�.
@@�.@P�.
@`�.@p�.
@��.@��.
@��.@��.
@��.@ж.
@�.@�.
@�.@�.
@ �.@0�.
@@�.@P�.
@`�.@p�.
@��.@��.@\.��.
@��.@��.
@��.@з.
@�.@�.@�.
@ �.@0�.
@@�.@P�.
@`�.@p�.�].��.
��.��.
��.��.��^.����0����^.�.
���.�и.
��.��.
��.��.
� �.
�`�.�p�.
���.���.
���.���.
���.�й.
��.��.
��.��.
� �.�0�.
�@�.�P�.P�a.`�.

P`�.Pp�.
P��.P��.
P��.P��.
P��.Pк.P�.
P�.P�.
P �.P0�.P@�.
P`�.Pp�.
P��.P��.
P��.P��.
P��.Pл.
P�.P�.
P�.P�.
P �.P0�.@�.`�.��.��.�. �.`f.��.
@�.
��.��.
8��.8g.��.
8��.8��.
8н.8�.
8�.8�.
�. �.`�.`h.�.
��.��.
��.��. i.��0�����.�. �.�i.�.
@�.
��.��.��.��.�j. �.
�.
 �.0�.��.@k.0�.
��.��.�.�.�k.@�.
0�.
p�.��.��.�l.P����� ��. m.P�.
 �. �.
 �. �.
 �.  �.0�.P�.p�.��.��.�n.p�.
��.
0�.@�.P�.@o.`����p�.�o.��������.��.( p.��.
(��.
(�.( �.0�.P�.(p�.��.��.�.0�.��.��.��. �.@�.`�.��.��.��.�.0�.��.��.��.��.�	0s.��.
�.
P�.`�.
p�.��.
��.
��. �	��. �t.��.
 ��.
 ��. �. u.��.
  �.
 `�. p�. �u.��.
 ��.
 ��. ��. ��.�.Q^ _�m�k`_�cpc�_`P`�`�`@a�a�a0b�qp f�b�b c�s``{�~� ���@~�����0�@�p�{�{ |�|�`|��p}�}``{�~� ���@~�����0�@�p�{�{ |�|�`|��p}�}	�	0��� ���������`�����p���@����0������	0�p���������`��`����p�������@�л��0�Г	���p�p�p�0�@������@���0�p�����������@�0�,���� ��*��P���0�*��@��Η	 L�K�JQ`M@P KOqm�	�	D�	�	��	�	�	Rq��	ܚ	<���z�x ����`�	 }.��	P�	��	@�	��`�	d�	d�	��	ѐ	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	�	�	��	��	ĝ	ĝ	˝	˝	ѝ	ѝ	ם	ם	ܝ	ܝ	�	�	�	�	�	�	�	�		��	��	�	�	�	�	
�	
�	�	�	�	�	�	�	�	�	 �	 �		*�	*�	.�	.�	=�	=�	C�	C�		Oqm�	�	D�	�	��	�	�	Rq��	ܚ	)���� 0
���$�&�$"��(0*`(��P.�/p+���1�302%��05�6p5$��p<�=�7���A�CB��G`GEյ	�	!�	'�	-�	3�	E�	��	T�	��	_�	q�	~�	��	��	Z�	�	0�	��	��	��	��	��	��	��	��	��	��	P���P�����Ъ����P�+����0���:a	
cdgl"p's1u6x;ln
pum:��>ha:��>ntrl:���igit:��rap h!:"��>o#w$e%r&:'��r)u-i*n+t,:-��>n.c/t0:1���p2a3c4e5:6p�pp7p8e9r::;��d<i=g>i?t@:A��N^y^�(�^�^�(�^�^�(�^�)�^*�^0)�^�(�^�(�^0(��	�`Oqm�	�	D�	�	��	�	�	Rq��	ܚ	�.`ʪ����&�q�r�q�q�rs@shs�s�s�st0tXt�t�t�t�q�q�tuPurpu#r�u8rSrjr�r�u�uv@v�shv�v�r8`�.$`.� �l.� .� �.� �.� P.�l.� �.��.� .�.� @.��.� �.Ќ	� `�.��. ��.0�p���..����0.� �.�q.� �.Ќ	f.��	� �.�	.� �.�	.�  	.�	.� `	.�k.`��	.�� ��.	�	.���	. �`�
.� P
.�i.� �
.�r.� �
.�m.� .�o.� �. �r.� �.�q.� .��.�`��.
�`�.�@q.�`
.�@q.�`@
.��q.
�`�
.��r.	�`�
.��q.�`.xo.�`@.h�q.�`�.X@q.�`�.H�q.�`.@�r.�`@.8�%.�`�.�l.�`�.�q.�`.�l.�`p.8�q.�`�.(�q.�`�. �.�`0.@q.�`p.��.�����.	�. �`��.�` .X�r.�``.PP%.�`�.@@q.�`�.0�q.�` .,�r.�``.(�r.�`�.�q.�`�.@q.�` .�l.@.���`.� ��.��. @r.� �.Ќ	�.$�.�`��.�`��.0P�.$P.�`��.� .� .Ќ	� @.pj.� �.�i.� �.pj.� `.o.� �.Ќ	� �.��.� P. �$.� �.�q.�`�.��.�`p.�q.�`�.��.�` .�q.� `.�.�`�.��.���.`�����..�� � .�`p. �q.�`�.�q.�`�.�q.� `.0.� �.�.� .P�$.� P.@�q.� �.8P%.� �.00.� .` .��P. �`�p. ��.�%.��. �.����� @.Ќ	� �. o.� �.Ќ	�  .�p.� @ .�o.� � .(�q.� � .�.� 0!.Ќ	� p!. o.� �!.Ќ	0�. @r.�  ".��.� `".��.� �".Ќ	� #.0��.� P#.(�#.� �#. �#.�%.�#.@���$.� p.� �p.���$.@��$.`�����.	�$.���%.� ��.�p%.����P�.�%.P��%.����%.Pr.��.� �&.�i.� '.�q.� @'.��.� �'.(�e.� �'. *.� 0(.�i.� p(.Ќ	� �(. pk.�  ).�e.� `).*.� �). o.� �).@*.�� *.�@���.@*.@���`*.� �p.� p.�  +. �k.� `+.�o.� �+.�p.� �+.�i.�  ,.� �l.� �,. Ќ	� -.�-.� @-.0j.� �-.f.���-.@����-.� 0..�i.� p..�o.� �..�p.� �..Ќ	� 0/. o.� �/.@0.� �/.`0.�  0.�l.���p^.����0.f.� �0.� 1.(�l.� P1.�i.� �1.�1.���1.�@��1.� @2.��.� �2.Ќ	��. ��.� �2.�	� `3.(�i.� �3.�3.� 4. `l.� P4.�q.� �4.�p.� �4.05.� 5.Ќ	���o.� �5. ��.� �5.�i.�  6.�p.� `6.�o.� �6.�p.� 7.�o.� P7.��.� �7.�r.� 8. o.@ @8.� �8.8�q.� �8.(�q.
� 9. �o.	� P9. �p.� �9.�o.� �9.�p.� :.p�	� P:.Ќ	� �:. o.� �:.�r.� ;.o.� p;.� �r.@ �;.� <.0n.� @<.0n.���<.� �<.Ќ	� �<.o.�  =.�r.� `=. �X.@ �=.� �=.�l.� 0>.�e.� �>.� �r.@ �>.�  ?.00n.� `?.(Pn.� �?. `o.@��?.� @.Ќ	� @@.o.� �@.��.@ �@.� A.�l.� pA.� �r.@ �A.� B.`B.� @B.�B.����B.8�i.@���P�.@ �B.� 0C.8�i.� �[.� �C.� �r.@ �C.
@ @D.� �D.� �D.@ 0E.
@ 0E.� p^.� �E.�e.� �E.��	� �r.@ @F.� �F.`o.� �F.0j.� G.Ќ	� PG. o.@ �G.� �G.�l.� @H.� �r.@ �H.� �H.�l.� I.�e.� PI.�l.� �I.� �r.
@ J.@ J.� `J. �l.� �J.�e.� �J.�o.�  K.�p.� `K.�e.� �K.��	� �r.@ �a.@ �a.@ @L.
� �L.Hpk.	� �L.@�m.� M.<o.� PM.8 o.� �M.4o.� �M.0 o.� N.�].� PN.�o.� �N.�p.� �N.Pj.� O.�l.@ PO.� �O.0pk.� �O.(`o.�  P. 0j.� `P. o.� �P.Ќ	� �P.@i.�  Q.�o.� `Q.�p.� �r.� �Q.@Ќ	� 0R. �l.� pR.�q.� �R.�l.� �R.Ќ	� `S.�q.� �S.Ќ		� T.tЌ	� PT.pЌ	� �T.`�q.� �T.P�q.� U.@�q.� PU.0�q.� �U. �q.� �U.�q.� V.�l.� PV.Ќ	� �V.`i.� W.P�. W.���`W.@W.@���X.� �W.�q.����W.� 0�.(P�. �q.���`X.� ��.(��. @r.� �X.Ќ	@����.�X.���Y.
� PY.8�m.	� �Y.�o.� �Y.�p.� Z.0o.� PZ.,o.� �Z.(o.� �Z.$o.� [. `l.� P[.�o.� �[.�p.� �[.Pj.� @\.00n.� �\.(Pn.� �\. `o.��].�  ].Ќ	� `].o.� �].��.� ^.��.� P^.��	� _.x�e.
� P_.P�l.	� �_.H�m.� 0�.�P�.@p ��.� �_.4Ќ	� 0`.0o.� p`., o.� �`.(o.� �`. �o.� 0a.���.� pa.�o.� �a.�l.�  b.H�e.� `b.@�m.
� �b.8�o.	� �b.8�p.�� c.� @c.0 o.� �c., o.p����c.� �c.( o.�  d.$ o.� `d. �l.� �d.o.� �d.Ќ	�  e.h.� `e.Pj. ��e.������.	�e. �`��f.��f.P����. f.���@f.� P�.p�. @r.� �f.Ќ	@ �f.� @g.�l.� �g.�o.� �g.�p.� �r.P���@�.	 h.���@h.� �h. o.� �h.�h.P��i.����.�i.P����i.� P�.p�. @r.� j.Ќ	�Pj.����pj.� �.�. @r.� �j.Ќ	`�. p�.k.@��� k.� Ќ	@��k.����.	�k.@����k.� @�.`�. @r.� @l.Ќ	@��l.���l.� 0m.��.� pm.�m.� �m.Ќ	�@�	`�n.�� ���.Pn.��Pn. �`�pn.� �. �. @r.� �n.Ќ	�� o.���o.��o.���p.� ��.(�.@ ��.� pp.$Ќ	@��p.����p.��.@�����.��. q.��� q.���P�.��P�.p�. `q.���pq.@�����.����.�. �q.��������r.����.�@���.��. 0r.��������P�.p�. `�	p���	0�p�Ќ	0�Ќ	�r.����Ќ	�  �.@�. ��.� �s.Ќ	� �s.0�	�  t.�  t.@t.p � `t.� �t.� �t.�0 �u.� 0�. P�.0v.� `u.P�	� v.� �u.P�	���. ��.0v.���0�.@�.��.P�.p�.`�P� /�6�8&�{.�	�P� /�6�8&0'�4�{.`�P� /�6�8&0'�4�{.�	 B�:@�F�;�<�:�Dp>@�.��.�.`ʪ
�	��"K3KCKWKhKyK�K�KEL�<
N	`�-h�-���o`�o8
�L�.�=�� ��9	���o�����o���o����o�oD����o�Ї��.�<�<�<�<�<== =0=@=P=`=p=�=�=�=�=�=�=�=�=>> >0>@>P>`>p>�>�>�>�>�>�>�>�>?? ?0?@?P?`?p?�?�?�?�?�?�?�?�?@@ @0@@@P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH`HpH�H�H�H�H�H�H�H�HII I0I@IPI`IpI�I�I�I�I�I�I�I�IJJ J0J@JPJ`JpJ�J�J�J�J�J�J�J�JKK K0K@KPK`KpK�K�K�K�K�K�K�K�KLL L0L@LPL`LpL�L�L�L�L�L�L�L�LMM M0M@MPM`MpM�M�M�M�M�M�M�M�MNN N0N@NPN`NpN�N�N�N�N�N�N�N�NOO O0O@OPO`OpO�O�O�O�O�O�O�O�OPP P0P@PPP`PpP�P�P�P�P�P�P�P�PQQ Q0Q@QPQ`QpQ�Q�Q�Q�Q�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV V0V@VPV`VpV�V�V�V�V�V�V�V�VWW W0W@WPW`WpW�W�W�W�W�W�W�W�WXX X0X@XPX`XpX�X�X�X�X�X�X�X�XYY Y0Y@YPY`YpY�Y�Y�Y�Y�Y�Y�Y�YZZ Z0Z@ZPZ`ZpZ�Z�Z�Z�Z�Z�Z�Z�Z[[ [0[@[P[`[p[�[�[�[�[�[�[�[�[\\ \0\@\P\`\p\�\�\�\�\�\�\�\�\]] ]0]@]P]`]p]�]�]�]�]�]�]�]�]^^ ^0^@^P^`^p^�^�^�^�^�^�^�^�^__ _0_@_P_`_p_�_�_�_�_�_�_�_�_`` `0`@`P```p`�`�`�`�`�`�`�`�`aa a0a@aPa`apa�a�a�a�a�a�a�a�abb b0b@bPb`bpb�b�b�b�b�b�b�b�bcc c0c@cPc`cpc�c�c�c�c�c�c�c�cdd d0d@dPd`dpd�d�d�d�d�d�d�d�dee e0e@ePe`epe�e�e�e�e�e�e�e��.�.�.�.p.0.`. .�.�.�.`.0..@	.	.�.�.�
.�
.p
.0
.�.�.`.P.�.�.`. .�.�.`. .�
.�
.`
. 
.�.�.P..�.�.P..�.�.@..�.�.@..�.�.0..�.p. .�.�.�.�.�.@.�.p.0.�.�.P.�.@..�.�.P.�.@.�.�.p.0.�.�.�.  .�.�.`. .�!.P!.!.� .� .�".@".".�#.p#.0#.�".`$.@$.0%. &.&.p&. '.�&.P(.(.�'.�'.�).�).@).).�(.�*.�*.�+.�+.@+.+.P,.`-. -.�,.�,./.�..�..P....0.�/.�/.p1.01.�0.`2. 2.�2.�3.@3.�4.�4.p4.04.�3.@6.6.�5.�5.07.�6.�6.�7.�7.P;.0;.�:.�:.p:.0:.�9.�9.p9.09.�8.�8.p8.@=.=.�<.`<. <.�;.p>.P>.>.�=.`@. @.�?.�?.@?.?.PA.0A.�@.�C.pC. B.�A.�C.pC.PC.C.F.pD.�E.`E.F.�D.�E.`E.F.�E.�E.`E.0G.�F.�F.pF. H.H.�G.�I.pI.0I.�H.�H.�K.�K.@K.K.�J.�J.@J.�N.�N.pN.0N.�M.�M.pM.0M.�L.�L.pL.�Q.@Q.Q.�P.�P.@P.P.�O.�O.�R.�R.PR.R.�Q.�S.@S.0V.�U.�U.pU.0U.�T.�T.pT.0T.�S.�V.�V.�X.�W.�W.�X.@X.�[.p[.0[.�Z.�Z.pZ.0Z.�Y.�Y.pY.0Y.�].@].�\.�\.`\. \.0^.�].�a.Pa.a.�`.�`.P`.`.�_.�_.p_.0_.�^.@e.e.�d.�d.@d.d.�c.`c.c.�b.�b.@b.b.�f.pf.�g.�g.`g. g.�h.ph.�i.�i.�j.�j.Pk. l.l.�m.Pm.m.�n.�n.Pp.0p.t.�s.�s.`s.@s.�t.�t.@u. u.�u.�u.�.�x. �.@v.0�.�z.@�.P�. �.��.ږ	�P 
 �pa��	��. Z`Z [0b `�`�_�^�Z�]�[���	��	KRB5_BRAND: krb5-1.17-final 1.17 20190108�K�	0�.� ���
P�P@`�`
� ` �`������
�	��Q�	��f�	����	����	
����	��̷	���	I�	P�	[�	e�	p�	y�	��	��	e��	��	��	��	�B@C�CpG0GI�F D F�E�D��D�	��.�� �������`�����@�p�����`���� ����-x�	��.��.��.ܴ	'b�c�GA$3a1�<N	GA$3p11130�-9	GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113p�N	GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��:	GA+GLIBCXX_ASSERTIONS
GA*FORTIFYp�-9	GA+GLIBCXX_ASSERTIONSlibkrb5.so.3.3-1.17-12.el8.x86_64.debug{�?�7zXZ�ִF!t/��6]?�E�h=��ڊ�2N��R$�5�
uj�n&OHT0���ח�$!�gRP�ۯ+g�0��]
C��:��7jGmz����F�:��C�
���=2MCc64�@�%C�Ξ��j��o9@��_��h��g���{��X'��1�T���R)�9�hIZ`��G�F���.K��'��ǀ�mo@�A��@F٠$j�`�>�;��o��y��pܪ3���ee�Ŵ�vӅ��զ-t0�2�7���RR��B���O��@#ݏᵇ����;A3_���f���b7^6c��T��Z	�Lw#�!�?�r�u�#�����X�OI�ɡ叽�Ø�pCg�]�Bgg��N6��[7�j�������H�%i�[d�m%>꧊w���ƭX�J������ޫ)kQ���PQN=̇ɢ�*q]����5�+d�֤�v- ���A��5�p
p�T����`?�����0&i���}��u
~��z�]�w�:{V��ݔW������u���lH��q[S�E�#
�P�Y����%S��"��e��pn���e&����Klq5�_$���DP+��"ZI?�n��(Cs�����,�ʟa5;��i�ϔP�Xr9hR�	`?��Fr���أ�u�]q��-��#Qf�e0j���{bk6�X�^��f���ޓ��"�b���!i�	zK�)��y� $$Q�ô�����^)$Q�͸�P�)'���n2I��͋`
�����D�'�
����M��Ŷ�8x|˥%��O��P��I�N|E��Wx��O�����$6��rhI[C�f�XZ�|׌2T�O���V����U0@��ś�ʦ��7��I��K)�o���L�P\+Xr��7o��a
&���A��!�=c����BU��Yy��$�fע��ô��@��Z7�U)y�?��$�M��+�Q�E�-O�"$���dC�:'T����yW�i�^���K��G��y������&�n�l�e9������o*,��e�4��]kN���P�(�Ĝ���Ѫ�XI� ���A����IֽJ�-	nQ5'�A��pz�?�����{#���Gtރ	������B(Q�B�Dzvu��~$���O*�7���,@�56]��Ց��<�#�h�:+8\��L%��w(����_�l���6�E�i��)a"� މ)ѹRh>�	��
��1�׌>}�f�{0��Q�ΌZ��|��*]У��AW���f1�U���H	p���o]_��1�Q�zA^�\�C��g�Z0EI:�ޟ�*�T����i�h��q`[֎��)聴��0;	ͺŶt��B*�
PQ�����I�2[V
o��}���w؇�w.F����XQ6?)}��=:a�VuͶ�=n�j�\&ӵˣybo^���;sm�ĵ-��R
{>L�?�3π�=�J~�X�oͪL}�Lp��!�<��gބFN�fܱC4�s����
F1#�~M�Y���7q��:h��ه����,Xk��qw�ߎ��@0N�!��ɦlT�mt#�Utđn¢|����KK��=Ӭd˕�6�m�?�I�<���u8=�w�a�M.>(��	���R��YO�٢�ͯ�^HJG�qy�D��/%�����}
�^`��x-���=xh�1�-9i��Kr�
�A��Iks�f��H9�,)�@��_
�^X��{�"����%J�Kx�aQ&�u�vm���&&�_��xe�-�+�bj�i!����~���C�,������p��'��v7��m�9j�bj�ʕ�p�?w�,�b��ўe`c���w,��5�-+dz'�D2�B�/�ucK��X���tBf��ˉs=�� R���u˪�'N��I�4܄�q��4ټ��@U&�7MN���K�y�X��EE�5��;"��f"8���6��bv[e�`������Nqik3�c��xn�c
5չ����х�A���޵�Ǿ��A��a8UxfVW�� �M�1�_Fz��*��"Z���k�$i�����?RV�U�)�cղ��!w��zW3����{��2�u���j�`��V���ȕ4�/�<c�]�Kq�I鑎e��<�n�H���{��J�V.���ӏ�*a�!���dzO��W`�;��j&s�>`0�V)��O�GӜa&���gA�B��"��q�o�ι�uRJ�JI:�ye��w�LSgaS���,������:��Yd����F��^�]]kr_��Y~��ݺ�*#|I�z��G9���J��h|��t�A�c�W0Q�	���xvڞ>�rx���g�4�Vok�G�D4@|S���v�60�=�[�xZl��]Oɒ;��=�ZA��3fn�ݵ6l��MT\C��Ⱦ�C���i�k�0:�i�\W_El?�ݼ��'�Ђ��ӁґKr�a��|�|SxKEE��jU�YY�wuƔ��R]�|�m�<���g�e�t�qw:)f�p��s���*� _g��ًvC�he��9s����ǕO�@f��}���G�b��;a�7����2���,�}*��B���������)��4��}ym��(n��jU��.���쏄.ݎ���୦1Cp��LkEbh�Y�i?{��1�X������_"V#�d�$������"�~H��9:]��Zv�f�rH�J�'DI꒣��W8;�꼿ο��3@&���-�|�vVA|�.���=�qR�
;���= s���,F��r�6>)���(��}���u�̹wj7��U� ����jWH��2l��^Ƿ�BJ�� �K�X*���D���!��Ox\� i�1�e�pz�fʧJ�[��@$~�X/����o7>2�6�j��yt���"{�p��5*�m������(��ҙTS����Ҏ����x��>���H��	��x��>�^���֬72���NGGj�Q���-U��k���"2.�{�Sk�u�����<_��o���;�_`$��(�Ez	�b]��Gώ�]o쌂��GQT�.Y�6��cS��H	�Z��a_+�&��\��XNKNV��xSh�]�De�ᅩ�V�� Z/scH�ȹ��� ����0��B��0_u�}�8��R�gu�R�%
���B�����#�g�����S3��-w� �!��|*P�u	6�yL&�/|D��d��n�EW֌L9i?=\�۴��m������/�?j)�1�A�T�i8n����'^�B��䋗<��#aXr�Xnt.F_RBh�<�a�݀ԓ����%I\c�F�k������(�;̓]���CPPA��,���t2�,�	^����M��D7��Ig��u�k:�M�v� �+��@$��uHV�bZNhԯ'���#׷Qvυ-����~�n�wKRu�R��ɺ�����@���MQ�.C
>h�h��
��<e�*_(Q>�l��ǀj���&v��#1S�.Ba0ͬ�W:�����Ь�xO���=+.9JgfT����X�W����v��t�'�}��T]��@�t�V��BK���pQ7�L!��A�`k��̠Q��U���͛�);��zD�����Ю�����lJ�OnEu�ps��W]��,F6�=�<a?�f�t��5D�킙���~No�rHNA1�`�vo
���Έ1;�0�1�e@h��2[c���
z�1/)$
��LS�>��C�B7R�X�z�V.��v��B&�K�`a����(>��	��	�3'��r����N�����aM\W��k��sed�q�NF�@���<��*cp�,��=�#̩�t�'B8_.[㠛Ju<�{�L�5:���
�_1ն�s�E �;O�o�2��h6'�cq�2F$(��}��ʎg���Q��d���H�_�z٪��9>JK�[/n��4d��HG�cW	�W�-�����l���f%�PҊR�y�L��g�w��	}ъ�R�w�_�z�%+-���Tj��M��Ud��k� ��>K=�/�
��7�k%�1�&�^3�d�m�&,�cB�D6��
1Ԕ��tz�]��Y���Fq�H:��u��"%@��m�����և��5��{�{��Q,�d(����GK/x�d]��1
�;��(�����f�팞i�쇗K�7`;��VmzdB��`�~�,�K�e-��.�³�O�Z�o͉���6����>�>��oi�x_zS�0�+�ar�E���z
]��q�`L,/]I<���!{",tY���e��4�L8�1�.v�ߌ�\��	T~�s�kJ��@�MÅW~^Y��������h	��;9��֝Ϥv��7�(��\��Q�+���*�����
�
�R����W��S��u/��&i>o4Ѐ|�~��tD���0����{�ڟ7��hlΖ�=�������:�9���R}�=m�,�����l\N[�#s��IrXߩ�B�W ����߅���|�-���3H"ͰǬ"�QS-��+�
�@���FN�i���O�
>�zCv���Ijvv����1؎��]i1�4I�t�'���C	��*_���W�N���	�׋s�o��h�&�dG���v�k}�0��pNE��bV~�����R�7����}s~��ݷ6�ś�E�G�MZv�?ұ$�����Wdô�D|$��e���|�c�h7H�5��kdK���Mj��r��*�1q2�R�{̌	~4���"��/�?�X�H�l��\�Q���F���4L%���k���<���h'�a-�
�?�T��i���T���&���#����D��ݟ�y���y�Z�71���p21{��Ӽ�r�{@�M����IsÅa��1�Br�H��c��e�z)��5�6T6���Fւ��}[Wbe�����;4xf�I�^	�tYy��ed�+�i	��uM���9|<�-x�Z�/�2).�[泛wd8G
��j�i<�ֈ�䃎ó��m�矱]up�E�v��Z����1��A����,�6�`���>0�d�/ݝ_��\�e
y���
�"��E20��l���N�+���MĻ�J���%N�U�k��>5�#��U�UT�V�}����Ni�M�o�G��kn���q���Ҫ��fXU/ъ�n.��?ѵU|�3k-�SKx�����f�	�G�������>�%Η�����E�Y[K��Y=>��&��g�����z��ۅo��Gw��La�ii�W	�^!��!$��#��k��Ox�(b�zD�$�[d=/zgFr�������A����i#�2�8��7�*hgW�z�7Z����!�E�gF�"��	0"���N���c1v� �_�����QG8 z,
�Y�_��������#[Əâ�.e);�^�چ3�(�����0t��%5��UI:�&"��/���SR�w�Ÿ��Y)�xCB��,Fg�7���O&�L۟�ϤOP�-/�ƶ��8�A��1��Cw�U��&_I����9q|7��.��/:�3�	���9��D�ne�1�+�UU�l)��+ƫ�E���i)m�;�<[����80�!���DZץ�v�0��e���~�Z?��>3|�T���s�	I�J�|VE��ރ+��_�H���gvW]%���퍴��7�~L�S�Q!����r�s�#;�@�aP�
��M����98:�齰�װ�9�AJ��BӹA�{��uH"#�z��``�÷V��rJ�MX�+T*#�|��{DO��v8^���Ԡ�,��R�Py0��]�ғ4�UDzhLk�j��q����/$�v@Q���EbvIJ.S�\�����+wTD꫷,1��(F'avs׺[sF�8�n���ۃ�8�m�Pk@q#
G�DRSj�~�v�]�Z�gt�sMA��0R��0>�6k�p=ߒ��9 ���E�)l0��4%����8{w��i?�� 826���`?�Q	A<>��i� �F.����(����J���8�oy��!��v8��C��@Eg`ғ���z�%��ہ��j#�x𳀤qO��4��os�,�\��on�dS�mR�3�nx�'0���D5���(�� �eU����!~��5-|0uU�'����" �/����/Z�n��`�(	�@o�ֈ���d�U�������N�o�q���k���j�ϤZ�]F��T�]KNc�׷�� ��k�{*W��&^�����M�W���u0�+p���㗖�����
�n��Т�%YH����kѾ]th�	�۾O"�&:�4j�+��v����Fm���+���s�{���k[�(�i���9�&cr��i~�˞j}@c��S@���9���b;�BۈHHYJ��N�
 #�o�^�ޤ�2����=��/5��1�t��?}�K9�`
⇺�ϯb}i�KoBF���2l�t8G�T���iP=��}�]�D�th-��|�Ν���uG��'�Ĝ�DtX%�w���ZB�ѭd�M�p�����y!�S�#gC�\ՐX��h@�$@)Z����d��7ԇ
��"�q�ό�a�#V)�'Ҁ��δ3B�R.ЫI�ڜ(��^C�_�B>�|~�L�gd
��- m��R�.�b�'��C��b�b�6/�d�잦"9t`�2F�$�k��֕_��#q�@J��z�I���XS�"F���V�<�x��N�sC�H��D��]��Xԫ�5GɈ�A7�L���]TRzX5��:&-��(H�S�,*�e{��XT��Η�D�ŋ�{�٨���������i���G��l��T9��+�r�YC�X��ıe�_�o3�/���E���ZXi,��_�����z	�>�}n��$
��3J�8wM�p�{�
�2�^�w�Dv%G��<�8�\��"�U:�vW����҇(��I�ݴj?�q�Y�!��D�"��:B�����Ԑx��X��瓻�ȑe�����,T�^�{�z^'`��r�y�JIaV��������;j�[I99ω�Ȧ���uwV�Qu�
�ʼ\	-���[���|-�\}��
��+v.0Tw����;�s��n��r��
�����;���V�,��**�.}��bW��p���uOUV��lz]��`+��B��E�sY��1O}f���X���݄Lޗ5�4����cF*P��6.�mR=�﫟o���/�1t"-�����&������o�ى$�/�L������j�
ɷG��²s�j��V3�t���l-�Fb6�JU���A��t�}#���'EzjU�c>��6��6�u��=f ���"�"��b����dCR|�'���_J�i^J�߽@��eWc6Ţ�|��h-�)��ҟ
������ü��q�~.e=56�j��4x��)�!i�H��+@��[�Њ��pI������4Y�a���6���Ǒ�nsk�J�
�t���Y p,)�9�ޱR��L��_M���{-�&x)�ȭ��b�lpN�w��b�`�2L��M.HKq�.\���'�p��B��:r!�i
���a�M"Ca���
T����'��tL�7=z~���X���.�& �
��G�o�ؿ!�"I��l����ϳkLm�4��PY�R�n#Ĵ���
��BK��qjCuf�#h5�g�^����e�������..Q
��d�n�gGXb�-q)�;���3��l^Dթ��@��qrN	�V��{t�S��'k=p���A����Vz������ޥ]7����=��-K[ƪ;Y7hG
���Z;I��L��A;��g��1J���O��;;j�`�b�$ז�!����֞فhK��ùMf���T/K@C5�<f6G��VW~�+!N1?���-��oI�)�/l���O.���R���H�7��Hn��\�D5Zv�d��^�.T˯gm�r�O\���q��.�����%Qc�TgT%�9�dp��r��4���:c��E�T��c�]�t�JT��1��.X��^�}�˽v�2э��>(�>�va�#�M��3"F#Z�$E��u����/�$��\����	;�H�J
���_zZ�R�<S�
��p�X�v���V�
�Y��	��
k�.5�ʱ�G4G8m��<����a�TC���eX^Y�G J5����l@��oו�����pkA{:��4>�44�^��h;;�ڨ�ʔ�:U*�WQ��]4�����t�$�b��W!2Z�cČ�r7y�_���;����� |�IC��6JQe����!Oٯ'D��U��!�٤��ˡ,b��6�U��'�S���ྗ��;�x�/6��ũ�.�7�/��L'6�p�O|CKM�����T)�׊x��g� �=�)����J��{'\>���Ј���B��O�P��"���b��x=tD��FI}�4�_�P$*$��ؾ�a�����*wĐrOb���v�=u���X��1���L��Z��
�h��[	!*�~��Ӱ�
lU�[�8�(fe�upkGK��-�?�� u�aʈQu�nR��=�9܉�0���5�)ko�����y�����.��$Ѧ����S�pI�Z��qgG�rU�P4��x�H�%ۺ����ܕ����U���hӊ���s��~'!w{ָ�Hu�ȓ�� ����W��V��ۧb`%<��B��/SLl��x;�Fd���QY�'�/�N�}��m�[����̾�>��t� ab��I��}�lU-�k�A	b��{ȋI����8Vʈ�B2�T���!�E�̫�6�k���9$�S�HU[�p+!��34u��B�Ӗӡ��)����19낂��G��:6}-B����[�
T�Q�=�ó]ϑ�Oř̃An����|��X��	��U�s쎸�Ȟ�3��7o�)�Q�u��
�'�ၫ7~P�:��Q*��F�T㳉쎤9μ�
;Jhqp�C������
����,2X��KB8ei�~���t�/�iD���]yB���QfN�|Y���`�1 n�`L�����pN?,��@ix����*�Zq	z��F�'��b	��
���S�K�B�����L��镮��}����d��B��i�$a���Ѳ���μ�^.��.p��ޞ��:y��a��{����ټ�C�,0W�X�D��U�e�1V1�|=:���e��(��U�	�/ZYv�]���ו�ǩ�X)����HOMD<��e�]N������>��#�'�`aP�æ?Iߚ���m�)"#���N�I�~ٙ���	z	�+*,�i�BD�)9��O�mj��
!�Ń� ���uF?϶�a�@����h��;�0���D9qM_6:��2�;g�ͳ���Tw
��7�m~��a��������K6�%�G�~���F�mSۖD�*��=��XQBnG!�!�6�����tbZ����"P"0��T6���3���X�%��Z��I΋n�B5�D'��3��Z)(IUѩD����D�KO��\A�E!3���ז�|j���v�\;|A�'�ZG���^��[��0����2[�!}����é�)��^?u1y���C��pOĿ��1N�]���6hR/�]�N?�}<���	�X�7>x�
Q�w<4ƕ׶�$Y�CID���������
������<aP@��H8dtj�q�3��Q�51�E�HQT�����w�Tb:����y:i��]dh���T"s��<e���C}�+�g����-���Zg\�_�՜("7�]$ ��xJ���{�\3>n�مQ�D�Z+�|rP?�l����u�:�Z�:��<��~$���}�����ӟ׉������X�rF�$֗�MN�`�)�,�3LxK�c�
ff
��e}j��B
��=yӄ�Oaw
��޴����\�i"��Yop�x*f����'5��m���^η�ȴ-Ł2�g$�%H�h�"WT�k��%������
��1--�h\v�xߍ��?���܂��4������Bu��M�u�&�a��:1%x֔h�1j�#$l3��!O|���������-׍�g1|�c@���q�g�&5�X��w�0Ĉn�tL�Ё(:��SIҫ��CmIծ�I��
����EC������5�7^�OX,��,��*�=���
�i�f��6;�9DGF�6r�=p�w�\<�l�AX�e�-��lQm�zt�f��H����2��YLS<��*��0Z�X�r�Ǘp��'
]�_��
<�߇��KrY��S�:��0��?�����S:�@�W߄��Q��)���iX��K�Y���m�K�|-�W�/�r�h3y����M��gǶ��֍��d�l~&+
e${�	g>v�#%�CD�Q}�"��c�g�fD�o�t$7�I��r|.!�'��a
�Vm>�	��B!�����Z*����*��0VA9	��Du���Bo�!Vo��Ϥ��f�>�q̏w��nW+v�փ�T茠�P���곉B7J..��멦�؇`�U�kX,�+G��Z�Y4��rl��L
ia�c[�	H�@^;��n���9���,�'�Xu���)V�M���˦���&M�<�H�|_��Վj��~ų�D�d���:�۟�4������0�&8���'�e�H�4�P�L9�i����>܌Jw�Km^����՟ywƊkj�\��p~��W�8(yi��՗K�3>�ю���S�:��<VA]��!��Ԅd��e��_�b)<P�E��Π,^��|�V
E�cf�W�ր�F�{r��9.�H,]y
��ïN(����G;G��8Լ����Nnr����D�[z�o��li�򑝅ɏ��A��h2�\��	Q�r[�B˘��`
hS`f�ŁՀ%��6����+ws�=�E,0V;�@k4پ����_N[!)�,�/�\I�q�ʃ�;�΂k�Rs�`K�+�%ڳ6��{��Ƹ6�����!W軨̡K)���ߣ�@>��Lnc�����).ٺB��2F�2���.�v�����d�"�E��}�].r���c�W����4g���ڈ.s�����\��j�E%�=�s�wy'jt��S�
_Sa/�H@9P>����v~8" [��q��#��~ĭEF�
��5\��ƶ5Y��RP6Ȭ��R��AI(T�
)�
i��@PO�/���fv����R��f{�;��56bU�.Ҹ��z�=���O�Z��Αl7�#���uo
�íT%�k��ZH/U�}�҄��o�a�]���F�ݲO���;�|��sB���d�!�q��
oR�Քw�Wp����I�L�����	J���K<�5*�=Q+��T{@O�K\C?:��A���`$L�ij.���������f��(�>�;�&=%�BOg�w�L0�#HO
��#=2�����P=r�?��U
�{���gr��謎��yf0Lj��xܟ�v�Ina��0��*S����H�a��7;g�&&1=yS �
i,Hzg�|V�S��C�1=��^[���dG?|ِck	%L����x���kk�P���D���N?�V�v�
X�`�-���LW�m�K�},`yg�d�,�,���lCIP�n�olĥ셖T�*���%\
���sz�??��
e(cy/_��r�(���yE������j���5���_і�7Z\>��а�'H�Z	mM���)�2�b�{w�)NJ�T���
�R���Ѿ�7$]��C`g�}
�$)8���́���Y��.#mNaç���I�1@�P}�吩a"=�ky8G�zԗT�i�Kb��U�H6��&�y�5�(��R�d�Vf}�Ͼ5��"q�"Oh 2�v)a����`�Ř�n����h*�Qb׌#N2^�#\�Y�5o�v5b�\F�3��1��>���OzV�&�9�vŸ�\��(��5�Q;<N��Nu���D�e!:����ʬb���8Z�X�f�*<7�q
�jn��(�u���cn����Q���ť��ɠ��E��?"��]�ߐ����F����rN>8�� R��	�6�Q���5��p���3v
��4,a�P�r��d
�U�ۿ��U�Gjy��Lna�v���2"e�P��Q?eA����y:�lP0$�����SD����l�4�Yi�;J��0XlR�%�PDk=�f����-�`�n�eQd|��t���]�c�N��1a0���)#�--{�sV8#�po�����������h�l����Re۞���t��"�yA������v��*�zi��z��.��
S(�`&�s'�}�3-r+�3�95��h��\�7.T�t_F��+�wWv}��P4k�@��23L�S�37IJghb�5;��A09�V��m<���5���E�uP��œ~�]9���/����DM\�xPx{��P�2{��\�Č�x&��T��
}BW�/��P�x|"x��4�1���,v�݃ۂ��uE%0�C�b��zjQ���lc/�
���KTq���]wG��4�J���_J����Čۢ���b\�/'�ur�C��cͬ�l\jJ��M�	e�����*a0
�Qb���@7���QS�W�{��8o�񫦠G:OL��do�*4����d�4�������(�����󿦇l�Y�$�l�W{�o�|��:?G�cl&����J�&>��/��Bk��)��Sˠ�;�Hۃ7�$�z3\��qJ�:4�k�^�
w;p2qlZK}���ֵ��<3_�
C��;��@����:k�>I��[�z����|v'hA��:y'5U1�ô ��7bq �������������|3�Ac��.-��B�۹!)|�G�V[�u@O8
+<�U3�
'��������Gsç$��+7�E�����n����ե�E�R��A��H��8t�#�H�9.�j�*$�rx�h���+�+
C�i�:�
F0���Š͌�@2r���$,�x%�J��B(-@X3�����FD'�������F_4�R���=*FY�\�%{1�/���u^S�g��٬,&����(ȓ�;��o�Њƣ����\3�->K��V�|��u���tp<����n�#Ϸ
Kz�_�D,�L�)t�v��
�}�/˿�q�{�~1$8��f����XhJE�d�L�1k�SIZ�t�-���wh������.��S��@�Ax��5$6(T�ڰ��0���H�a�WWy��������f�I�����2�
�-���x67��9����{R/O]��U�Ww���mM�_o4׺��Mk��������IJ)3�p�c����6 A�?�	�����kC
y�����VCJͱC��*(�Z�.���]�hHX0׀���}�pl��w��#N���I ����߂��_�rmi����U;�ISآ$�K��6�1�O
��ag0ک�^#�N>ΝF.��9wG[q��~�c��~�S������d�wqh�ns��or���vҭZq���aG��X�mW���l��󩑃��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(88hX0�o�o�L8���oD�D�^E���o����TT���o�� c � ��9mB�����=w�<�<r�<�<P)}�e�e@)�0�0�Ѿ�N	N	
� N	 N	�( �wwD5�H�H�B�H�
H�
 �`�-`�
�h�-h�
���-��
� ���.��`���.�� ��.����.��( �.� �n�l"T�,1��T6�2@lib64/libkrad.so.0.0000075500000131750150403633670007754 0ustar00ELF>p"@h�@8	@hjhj 0u0u 0u X,`, 8�8� 8� ��888$$HjHjHj  S�tdHjHjHj  P�td@]@]@]��Q�tdR�td0u0u 0u �*�*GNU(�䶱�`YAp�J�g�2hD)�2
@�(P���������A���!)*,/023589;<?Ag7�QT6� ��m�Z��M_Th=�o�?�ë!���B�A6���A�x>�.w������>��Jzg���O�d��	�4�W�����5�7��!�t���E ����!6 ���S\, kK�F"p�x����j�c[�3U�}
00�
�=Yl
�/k.
@tG
�@O���
pF��
�+Y[
�.�
�,�
P=�X
�A��
�HI�
�9b�
II
@,t�
�D�
p9k�
9lC
p.e%
�-�
PIA�
@Ge�
`+~��__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizememcpystrlencallocFIPS_modekrb5_free_checksum_contentsmemsetkrb5_free_data_contentskrb5_c_make_checksum__stack_chk_failkrad_attr_name2numstrcmpkrad_attr_num2namekrad_attrset_newkrad_attrset_freekrad_attrset_add__memcpy_chkkrad_attrset_add_numberkrad_attrset_delkrad_attrset_getkrad_attrset_copytime__errno_locationkrad_client_newkrad_client_freekrad_client_sendstrdupstrrchrgetaddrinfosnprintffreeaddrinfokrad_code_name2numkrad_code_num2namekrad_packet_bytes_neededkrad_packet_freekrad_packet_new_requestkrb5_c_random_make_octetskrad_packet_new_responsekrad_packet_decode_requestkrad_packet_decode_responsekrad_packet_encodekrad_packet_get_codekrad_packet_get_attrverto_delverto_add_timeoutverto_set_privatecloseverto_get_flagsverto_set_flagsverto_add_iosocketconnectverto_get_privateverto_get_fd_stateverto_get_fdsendtorecvmemcmpstrncmplibkrb5.so.3libk5crypto.so.3libcom_err.so.2libkrb5support.so.0libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libselinux.so.1libdl.so.2libverto.so.1libc.so.6libkrad.so.0krad_0_MITHIDDENOPENSSL_1_1_0k5crypto_3_MITGLIBC_2.14GLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5krb5_3_MIT/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	
�Zz�)#
����� m	�� �@��pP���
�ii
�ti	�ui	���)0�0u  #8u �"@u @u `u X�u X�u 0#�u @&�u  X�u .X�u =Xv FX v SX@v cX`v uX�v �X�v �X�v �X�v �Xw �X w �X@w �X�w �X�w �X�w Yx Y x  Y@x �Y`x 3Y�x 9Y�x IY�x YY�x fYy yY y �Y@y �Y`y �Y�y �Y�y �Y�y �Y�y �Yz Z z Z�| /Z�| >Z} LZ } WZ@� �ZH� �ZP� �ZX� [`� [h� *[p� <[x� M[�� Z[�� j[�� }[�� �[�� �[� �[� �[� �[�� �[� ]� \� \ � -\(� ;\0� C\8� U\@� f\H� t\x� �\�� �\�� �\�� �\�� �\�� �\Ȗ �\Ж ]؟ � 
� � � 8 � (� 0� 8� @� H� ,P� )X� `� h� 	p� 
x� �� �� �� =�� ?�� �� �� �� �� Ƞ Р ؠ � � � +�� � � 2� �  � (� 0� -8�  @� !H� "P� 4X� #`� $h� %p� &x� '�� (��H��H�Q� H��t��H����5b� �%c� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-���������%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% DH�= H�
 H9�tH�V} H��t	�����H�=�~ H�5�~ H)�H��H��H��?H�H�tH�} H��t��fD�����=�~ u+UH�=�| H��tH�=>R �	����d����u~ ]������w������AWL��AVAUATUH��SH��hH��$�L�D$A�iL�L$H�|$dH�<%(H�|$X1��y�_�������I��I��H��H�|$ ����H�D$��H�H�D8�H�xH��H)�H��1����H��VH�|$H�v�m���L�������A��I��A��AE������H���E��L��H��H�D$8L���D$0��D�l$4����H������H�D$�މ\$,L�l$@I��H�D0�H�t$0H�4$L��M��I��D�AoB!�Q������H�D$����O���H�D$P1���0H��I��H��u�L��H������I9���H�L$8H��덋T$4�\$,A��H�L$8H��tH��1��D$���D�D$H������H�D$H�H�xH�t$ H��H�D0�H)�H��1����H�D�D$H�D$H�4$H���A���D�D$H�t$XdH34%(D����H��h[]A\A]A^A_Å��@�����8���fDL�$1�1�M��H���h������#���H�D$P����D�l$4H�L$8D��H��u6H�4$H�����H�D$H�t$ E1�H�0�g������D���H�D$��7���H��1����H���A��8���H�D$0H�$��d���@��AWAVAUATUSH��H��hD�a�H��$�H�|$H�T$(L�L$ H�D$dH�%(H�D$X1�A�����iA�����H��H��M��������A��I��A��AE�������H����E��H��H��H�D$8L���D$0��D�|$4�Q���H��E����L�\$(H�D$0L��1�H�D$I��A�L��L�|$@L��I��f.��o�����tH�D$������H�D$PH�uH��H)�fDI�M�2A�H��H9�u�H�|$L�����I�EA�UH�L��I9���H�L$8I���v���fDL�D$H�|$1�1�M����5�����u
H�D$P�w����T$4L��M��L�D$8H��tL��1��D$����L$I���SH��t1�L��L$����L$�L$H�t$H�|$�O����L$H�|$XdH3<%(��uH��h[]A\A]A^A_�H�D$ M��H�H��t.A�|�H�B�u"H�T$ ��H��A�|uH�H��u�H�t$H�|$����1�뎹�H�D$ H�H�D$0H�D$�����D��H��dH�%(H�D$1��@��t3@��H�CL �V��Hc�H��HǸZ�O9�r�G	9����ZH�L$dH3%(uH����A������AWAVI��L��AUM��ATUL��S��H��(L�d$`L�|$hH�|$��H�$dH�%(H�D$1��E���A��������H��K H�$Hc�H��H�DH��t;H�t$dH34%(u}L�|$`H�|$M��I��H��(L��L��[]A\A]A^A_��DA�ED�$A�i=�wI�$A�UH��I�u����D�$H�|$dH3<%(D��uH��([]A\A]A^A_��9���f���AWI��AVI��L��AUM��ATUL��S��H��(H�|$��L�d$`dH�%(H�D$1��;���A����uA��H��J Hc�H��H�H�{tIH��I��L��M��H�D$L��L��PH�|$�SA��XZH�T$dH3%(D��uAH��([]A\A]A^A_ÐA�ED�D$A�i=�w�I�$A�UH��I�u����D�D$��J���f.���ATI��H�=�,UH�-J S1�H��dH�%(H�D$1��������t5H�}H�� H��t�L�������uߍCH�T$dH3%(u
H��[]A\�1�������f���H��dH�%(H�D$1�@��t3@��H�XI ��Hc�H��H�8H�T$dH3%(uH���D1����g������UH���SH��H��dH�%(H�D$1����H��t4H�PH�(H�@H�PH�1�H�L$dH3%(uH��[]�D������ff.����USH��dH�%(H�D$1�H����H�WH��1�H��uZ�mDH�HH�BH�
H�r(H�z0H��H�H��H��H)�H�B(���Hǂ���H�H���~�H�SH��tH�H�JH��u�H�K�H�D$dH3%(u'H��H��[]�B�f�H�D$dH3%(uH��[]���@��AVI��@��AUA��H��ATI��USH��dH�%(H�D$1������Ņ�t%H�L$dH3%(��u}H��[]A\A]A^�fD�(����H��H��tIA�T$H�x(D�h��@��I�t$�PH�x ��I�FH�H�CH�I�^����q����1���H��8@���T$dH�%(H�D$(1���H�T$ȉD$H���H�D$H�D$H�D$���H�L$(dH3%(uH��8����ff.���H��L�GdH�%(H�D$1�M��u�'DM�M��tA8pu�H�B�H��t!M�H��M��u�H�D$dH3%(uuH��ÐI�I�PH��t]H�PI�@I�I�x0H��H�I�P(1�H��I�@(IǀH)�������H�H�D$dH3%(uL��H����H�W����ff.����H��dH�%(H�D$1�H�GH��u�'DH�H��t@8pu�H�J�H��t!H�H��H��u�H�|$dH3<%(uH��ÐH�����u�D��ATI��USH��H�� H�?dH�%(H�D$1�H�t$�1��Ņ�u=H�[H��u
�PH�H��tH�sH�|$H�S����t�H�|$�D$���D$��H�L$dH3%(��uH�� []A\�H�D$I�$�������AWAVAUATUSH��XH�<$H�t$H�T$L�D$(L�L$dH�%(H��$H1�H����H�$L�xM����E1�H�D$8H��M��H�l$@H�D$ M���Rf�L�|$8K�D7H=���A�D$M�nL��H��J�<+B�3A�GB�D3O�4/��M�$$M��tgA�L$�t$I��M�D$�t$(H�D$H�T$ H�t$H�8���ZY��t�H��$HdH34%(uAH��X[]A\A]A^A_���Z�͐M��H�D$(L�(1�뽐I�1��E1����{�ff.���AWAVAUI��ATUH��SH��hH�T$H�L$L�D$(dH�4%(H��$X1�I�H�t$0���D$$���E1�H�D$8H�\$PL�d$@H�D$M����H�EB�T8F�8L��D$@��H�D$H�B��J�M�|�L$DL9���H��E��I��M��t$ H�T$ D��L��H�t$�b���ZY��u\H�D$8H�|$0L��D���D$@���D$DH�\$H�F���u2�}M�GI9��b���H�D$0H�t$(H�D$0H��f.��D$$1�H�߹�H���GH�|$0���H��$XdH3%(�D$$uH��h[]A\A]A^A_�f��D$$J�����SH��H��H�dH�%(H�D$1���H�{8���H�D$dH3%(u
H��H��[����@AWM��AVAUATUSH��HH��$�L��$��t$H�$L��$�D�L$L��$�L�D$H�D$(dH�%(H�D$81�H���wI���P�H���Z�H��H���fH�@HD�T$H��D�L$L�D$H��@H�EHH�v(H��H��H��u�Ic�L�uH�uH�D�UH��L�E(H�<$L�m0L�e �E���D$����H�EH�E1�H�x���H�L$0H�L$I�NH�E8H�L$ H����H�,$I���H�|$M���H����9I�nH��u�H�mH��tH�}L��H���!��t�H�D$0H�EH�EI�D$H�[(I��H����H�$L�`8��H������H�L$8dH3%(�D$�BH��H[]A\A]A^A_�f�� ����I��H����H�D$0I�vM��L��I�>H��L�L$I�A��L�L$����I�FI�AH��tI�QH�PH�D$ M�NI��I�AI�I�D$H�[(H���1���H�,$H�D$(H�(�9���f������������H�,$�H�,$�H��$�����$�D$����L��H�,$�$����$��@�D$�����D$���H������D$����q��ATI��USH��H��dH�%(H�D$1�H��tPDH�kI���tL��H+CH=~*H�C1�H��tH�EH�CH�SH�H�;�]H���%�H��H��u�H�D$dH3%(u	H��[]A\����ff.�@��ATUSH��dH�%(H�D$1�H�yHxoH��I��H�̓�n��H�EH����H�M0L��H��U(H�E8H�xH��t%�@H�0�(H�E8H�H��H�xH��u�H����H���u&H���n���H�D$dH3%(uzH��[]A\�DH�EH�4$H�x�����DH�A@H��H�A@H��HA8L�PM���L���H�Q�qPI��q D�IL��H�
�������XZ�������v�����ff.�@��ATI���UH���SH��H��dH�%(H�D$1���H��t'L� H�hH�1�H�L$dH3%(uH��[]A\�f�����4�@��SH��dH�%(H�D$1�H��t2H��H�H��������H�D$dH3%(u%H��H��[��f�H�D$dH3%(uH��[����D��AWAVAUATE��UL��SH���H�|$L��$ �t$L��$(H�T$L��$0dH�%(H��$�1��9/H�D$ ��H���B�H��H�����8[tq�:H�����H�5�H��t
�x��f�H�T$0H�L$ H��)D$0)D$@)D$P�D$8�a�������H��Hc�H�>��@�]H���S�H��t
�x:�Df�H�T$0H�L$ H��H�5b)D$0)D$@)D$P�D$8��������H�qHc�H�>���H�|$bH�\$`f�t$`H��l�k�f�E��I��)D$0H�L$0�t$H�H�D$4H�D$()D$@)D$PH�\$H�D$@nPAWAVAUH�T$0H�|$(�a���H�� ��u=L�D$(H�
����I�@@I�PE�HA�pH��I@8H�xPA�p �ZY���H��$�dH3%(�"H���[]A\A]A^A_��H�p�F���@H���x��뵐�+�H�ߋ�D$�]��D$��u��KH���H��K념H���8���r���fDH��� ��c�Z���fDH����H�D$(�t$E��I��PAWAVAUH�L$@H�T$0H�|$(�=����D$(H�� H�|$ ���D$����f�H�������fDH�|$(�D$����D$������@H�p�E����^�f.�@��AUI��H�=xATL�%�W US1�H��dH�%(H�D$1��DH��H���t5I�<܉�H��t�L������u܍EH�T$dH3%(uH��[]A\A]�1������ff.�f���H��dH�%(H�D$1�@��t3@��H�8W ��Hc�H��H�T$dH3%(uH���f�1����g��H��(H��I��L��dH�%(H�D$1���H��L���$�����D$H�AH��H�D$��H�t$dH34%(uH��(���DAWI��AVAUM��ATI��US��A��H��XH�<$H��L�L$dH�%(H�D$H1������A�H��AE������H����I�7H��H��H�D$(�D$ ��D�t$$���AoEH��L��H�<@������uUH�<$H�l$01�1�I��L�D$ ���H�|$(���B���tIH�L$HdH3%(��ukH��X[]A\A]A^A_�D��H�l$0�4�H�|$(H�D$@��H�D$@H�<$H��1��oH�D$)L$���������ff.����H���OdH�%(H�D$1��)ȃ�v*H�G�Pf����H=w(�҉�H)�9ѺHG�H�t$dH34%(uH���H���������ff.����SH��H��dH�%(H�D$1�H��tH����H�D$dH3%(u
H��H��[�������AWI��AVI��AUM��ATI�� UH���SH��dH�%(H�D$1����H��H����H���H��H��A���vXI�7�Vf��f��v�ʁ�w9�sH�JH���K�H�L$dH3%(��u`H��[]A\A]A^A_�f.��Z��f����ҹ H�����H��H��L���l����Ņ�u�I�]땽����@��AWAVAUI���ATUL��SL��H��xH��$�H�4$� �T$H�L$H�D$dH�%(H�D$h1����H���{I��L�d$0L��H���I��L��H���M��H�D$0H�D$/H�D$8���A�Dž���H����f�1�H��A�)D$@)D$P��H��t.H��D��1�H���H�ȃ������T@��H��u��D$/�ljƉ��ƒ������f���w<A��A�Ѓ�A��A��F�L@A��sM@��t҃���������f����h��A���������T@��s@��uӃ�����@D�D$/I��1�D�@I������H�����CL��H��L��H���H�\$8H�D$0�Y��A��E��u1I��H�$M��M��H�|$H�JH��H�����A�Dž�tHL�����H�\$hdH3%(D����H��x[]A\A]A^A_�f�H��t˾H������D$0�t$L��A��I��@�0A��H��I��f��f�BL�����A�Dž��k���H�D$L�0�f���fD����D�8����A�"�=���DH��t
�H���A��&������f���AWM��AVA��AUI��ATI�� UH��SH��(L�L$dH�<%(H�|$1�����H���"H��H��L�D$L��H���H��H�KL��H��I��H�P�Q��Ņ�t3H���3��H�t$dH34%(����H��([]A\A]A^A_�fD�L$L��AH����H��D�0I��H���R�P��H��f��f�BH��I����L�NL��L�@����Ņ��S���H��L��L�������Ņ��;���H�D$H��6���f���#����1�����AWM��AVAUM��ATUH��H�JH��SH��dH�%(H�D$1�L�d$PM���0���A��H��t`��t�Zf�I�$H��H���@8BtI1�L���H��H��u�1�I�D��H�L$dH3%(u.H��[]A\A]A^A_��H��t�E��t�1۾L�����k��ff.���AWI��AVAUATM��UH��H�JH��SH��8H�<$H�\$pL�L$I��dH�%(H�D$(1��W�����H��������1�L���I��H����L�l$�f.�1�L���I��H����H�I��H���~@8zuҋ�H�<$L�FM��H��L���������u|H�H��H�BH�RI3EI3UH	�u��$�L��Ջ$H�D$L�0��H�\$(dH3%(uCH��8[]A\A]A^A_�@E1�H��t˅�u�@1�E1��f�H�;�$�%���$����ff.���H��dH�%(H�D$1�����uH��H�T$dH3%(uH���f�1���������H��dH�%(H�D$1�H��t#H���H�T$dH3%(u
H���@1����W�����H��dH�%(H�D$1�H�D$dH3%(uH��@��H��������f.�D��H��dH�%(H�D$1�H�H��t
H�H�H�@H�L$dH3%(uH������ff.��UH��SH��H��H�0dH�%(H�D$1����HcK81�H��H��&��H�C0H��t-1�H��H�����H�{0t1�H�T$dH3%(uH��[]ø���4��@UH��SH��H���?dH�%(H�D$1���x�I��H�;����E����H�H�D$dH3%(uH��[]������ATA�USH��dH�%(H�D$1�H��t)H����H��C����H��tL������E1�!�9�u$H�L$dH3%(D����H��[]A\�@��H�{	�@�΁�����D�K��H�{H��@�΁�o��H�CH��t~1�H��H��E1����H�{�]����!�9�t���{��H�C(H�C�P�p�x����C��x"H�K(�NjQH�q�x����x,H�{�"������D� �'���A�����D�s��H�sH�{D� �S�������y��f���SH��H��dH�%(H�D$1����H��H�@0H�@@H�P�H�S@H���H�CHH�{� �I����Dž�����ntZH�H�SH��t~H�PH�CH�H�1�H�K(H�s�S H�{���H�{0�Q��H�D$dH3%(udH��H��[����@H�D$dH3%(uCH�K(H�s1ҿnH�C H��[��fDH�CH�P8�y���H�D$dH3%(uH��[��X���UH�wH��H��SH��dH�%(H�D$1����H�]0H��u��H�H��tpH�{0u�H�uH���M�����t�nttH�H�KH����H�JH�SH���H�
1�H�K(H�s�S H�{����H�{0�5��H������H�H��u�DH�D$dH3%(u=H��[]�f�H�K(H�s1ҿn�S �Q���f�H�SH�J8�s����N��ff.���AVH��AUATUH��SH�� dH�%(H�D$1��u��H��H������ ��H�k0H����L�uH�uHA��H9�tqH�{H)�I�I��I�����E1�E1�1�L��L����C��H���
HEHH�EHA��H9��2H�D$dH3%(��H�� []A\A]A^ÐH�mH���n���H�{H��t�������i�H�{������DH�C(H�$H�D$�x����DA�I)�H�{H�HH������1�L��H����������#�DH��@H�����H�S(�zu	H��� ���H�C0H��H�s H��H�
����H�D$H�D$PH�;L�L$L�D$ �o��ǃDZY������H�$H��tzH�[0H��u�o�H�H��t`H;Cu�H9SHu�H�H�T$H�KH���TH�HH�CH�1�H�H�K(H�s�S H�{���H�{0�t��H�����@H�|$����G���f��������.������%���H���_�������f.��{���������i���t���@H��@����H��x�I�ċ�D�W����H�sH�������u �H���s�����������f�H�EH�UH��tcH�PH�EH�U�H�1�H�M(H�u�U H�}���H�}0�p��H������Q���H�{�Z��H�C�;���H�CH�H8���H�EH�P8�������USH��dH�%(H�D$1�H����H�_0H��H��uL�g�H�PH�CH��}H�1�H�K(H�s�S H�{�o��H�{0����H���^��H�]0H��tH�H�SH��u�H�CH�P8��H�} �/��H�}(H��t
H����H�}(���H�uH�}���H�D$dH3%(u.H��H��[]����f�H�D$dH3%(uH��[]����@��AWI���AVI���PAUM��ATI��UH��SH��dH�%(H�D$1����H��H����L�8H��L�p���H��@H�C@H��HH�C0H�C0H�C8�C�������H�C H��t~�0��O��H��H��t_�Ao$�AoL$H�C(�AoT$ E�t$HP M��tjL���M�d$���H��H��tbH��L��L���R��H���ODH�C(H�������H�T$dH3%(uAH��[]A\A]A^A_�@�����H��H�M1�H�E(H�E I�]��-��ff.�f���AWAVI��AUI��ATM��L����USIc�H��@dH�%(H�D$01�H�G(L�|$xH�L$ H��$�H�D$ �x�LD�H�G0H�D$(@��H�w QH�?H�щ�L�L$0���ZY����L�D$A����uaI�N0H�L$ H��u�i�H�	H�L$ H��t[H�yI9�u�r�D$�l���D$H�\$(dH3%(��H��8[]A\A]A^A_�DI�F(�xt�L�Ǹ^�@I�OH��1ҾPH��L�D$�H���5��L�D$H��tL�p� L��L�@L�h L�`(�X8L�x@H�D$ ����tfDH�|$�I���fDH�T$ H�I�V8H�L$ H�QH�
H�T$ I�V8H���"���H�T$H�U����L�Ǹ����J��f.���SH��H�_0dH�%(H�D$1�H��tH;su�.fDH9st"H�H��u�H�D$dH3%(utH��[�@H�H�SH��tTH�PH�CH��}H�1�H�K(H�s�S H�{����H�{0�*��H�D$dH3%(uH��H��[���DH�CH�P8��y��f���ATUH��H��SH��H��H� dH�%(H�D$1��R��1Ʌ�uH�C(�U;Pt ��H�L$dH3%(ulH��[]A\�D�];Xu؋p9uuЋp9uuȋ09uu�L�`H�mL��H��������t�1Ƀ�u�I�t$H�}�l�K��1Ʌ���������H��H���User-NameUser-PasswordCHAP-PasswordNAS-IP-AddressNAS-PortService-TypeFramed-ProtocolFramed-IP-AddressFramed-IP-NetmaskFramed-RoutingFilter-IdFramed-MTUFramed-CompressionLogin-IP-HostLogin-ServiceLogin-TCP-PortReply-MessageCallback-NumberCallback-IdFramed-RouteFramed-IPX-NetworkClassVendor-SpecificSession-TimeoutIdle-TimeoutTermination-ActionCalled-Station-IdCalling-Station-IdNAS-IdentifierProxy-StateLogin-LAT-ServiceLogin-LAT-NodeLogin-LAT-GroupFramed-AppleTalk-LinkFramed-AppleTalk-NetworkFramed-AppleTalk-ZoneCHAP-ChallengeNAS-Port-TypePort-LimitLogin-LAT-Portradius%s�������������(����(���@�����\��������������������Access-RequestAccess-AcceptAccess-RejectAccounting-RequestAccounting-ResponseAccounting-StatusPassword-RequestPassword-AckPassword-RejectAccounting-MessageAccess-ChallengeStatus-ServerStatus-ClientResource-Free-RequestResource-Free-ResponseResource-Query-RequestResource-Query-ResponseNAS-Reboot-RequestNAS-Reboot-ResponseNext-PasscodeNew-PinTerminate-SessionPassword-ExpiredEvent-RequestEvent-ResponseDisconnect-RequestDisconnect-AckDisconnect-NakChange-Filters-RequestChange-Filters-AckChange-Filters-NakIP-Address-AllocateIP-Address-ReleaseAlternate-Resource-Reclaim-Request;�3`����P��������P���� ���0��  ��x�����������`��,0��p������������������\�����������4���h����0�������������p���PP�l��������,	0�x	��	p�
��,
�H
`�h
���
0��
���
���H �t��������@���H ������zRx�$�����FJw�?:*3$"D`����L\���F�E�B �B(�A0�D8�D�7
8A0A(B BBBAL�����F�B�B �B(�A0�A8�G�
8A0A(B BBBA���oH a
A`\��F�B�H �E(�A0�D8�G`x
8G0A(B BBBGG
8A0A(B BBBAT|���F�E�H �E(�A0�D8�G`GhUpLhA`W
8A0A(B BBBB0����~F�K�H �F0Q
 AABA���YH B
F($0��tE�I�L0F
AAF4P����E�A�D0�
DAGT
AAA@�,���F�I�H �D(�A0�D@q
0A(A BBBG����eH@W
A ����H V
Bd
E���kH V
B0(���F�D�A �G@v
 AABDX\���UF�B�B �B(�A0�A8�G���L�X�A�^
8A0A(B BBBH`�����F�B�B �E(�A0�D8�G���N�V�A��
8A0A(B BBBC ���LA�G v
DEL@���B�E�B �B(�A0�A8�D��
8A0A(B BBBJ0�����B�D�A �G0y
 AABA<� ��!F�A�A �D0�
 AABFB8F@V8A00��lF�I�I �G0z
 AABC(8L��kE�D |
DGT
AA�d���bF�B�B �B(�D0�D8�G���B�B�B�S�n�D�F�A�f
8A0A(B BBBD��B�B�B�\�8�x���F�L�H �A(�F@R
(A ABBA(���YH ~
JD��kD0a
AH`d��TB�E�B �E(�D0�A8�I��
8A0A(B BBBF�x��tH ]
A ����OE�G u
DEH���B�E�E �E(�I0�I8�DP�
8A0A(B BBBKL8����F�B�B �J(�A0�D8�G�
8A0A(B BBBCH�|��F�E�E �E(�I0�D8�D`�
8A0A(B BBBGH�����F�E�B �E(�A0�L8�DPs
8A0A(B BBBHH 4�eF�E�B �B(�D0�L8�Dp�
8A0A(B BBBElX�IH u
C���IH s
E���AH o
E���DH v
A(�$�|A�D�G0a
AAA(	x�YA�D�G0E
AAA08	��WB�G�A �D0Y
 AABE4l	��E�G �
DIg
AHa
AA(�	��A�L�D0�
AAJL�	���F�E�B �A(�D0�DP�
0A(A BBBB�XY`]XAP4 
��E�A�D0�
DANT
AAAHX
��sF�J�J �E(�D0�D8�DP
8A0A(B BBBET�
���F�B�E �E(�K0�A8�GxN�SxApi
8A0A(B BBBF,�
x��E�D I
AER
DJ0,��F�A�G �G0A
 AABFGNU� #�"@u X�X�0#@& X.X=XFXSXcXuX�X�X��X�X�X�X�X�X��X�Y�Y� Y�Y�3Y�9Y�IYYYfYyY��Y��Y��Y��Y��Y��Y  �YZZ�/Z�>ZLZWZ��Z�Z�Z[[*[<[M[Z[j[}[�[�[�[�[�[�[]\\-\;\C\U\f\t\�\�\�\�\�\�\�\]���'8GWbpz�x
�W0u 8u ���o`h	8
M� P(H�	���o@���o���o����o�o����oP8� ����� 0@P`p�������� 0@P`p�������� 0@P`p�GA$3a1xXGA$3p11130#�IGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113@,�WGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY0#�IGA+GLIBCXX_ASSERTIONSlibkrad.so.0.0-1.17-12.el8.x86_64.debug�Gz�7zXZ�ִF!t/��]?�E�h=��ڊ�2N�$m'���f�鉻��r?�kZ�G/�����8��9M[�*���:��砺���V��is�<g��y����(Y?mPdŠ��-�@�K���b�Xc���ߊ)���\�%����#�Št�AZ�’�SG���-Fml�<�� 2����nܗ� �"(H�j�]�Bɽ�;h�`��Pn,��8����@�K��s�P��d��~-�Cu�؏��s,���s+yZ�nN(߉Br��J��R�k>�T�n�fpF�U�}�gE׫[���6��������M�7|�щ��>��8[����I�?N��B��\2�pL����g��m^�P��$�Ѩ�p��+��k:�I�DAx�Ku�d�$h������D[��%Y*�a����$�rAa�YM��}�Q{vm�g��.ց;HZ(_"�d��6W�z�����Mn?HB\4f�\��C�<�E
��T@�z��u|��$ɣb�v?��辷�
?�#���Ry>8pڲ5�!^H>�E�[C�pV�h�'d��(������W��!��͐���f��s<)�Z��K��0�	��iM�k���!�n�����rlhk
�jt�X����R��X2.���ֱum��
�������
>�Pd� ݐ٨�b[�4�@�4�����6z�+܎z��&go�<�
��g���H.<�^F�
�(?#*����(E��F
*S���]���3v�7��^tt�+��	���^&mp�����]��AJ���H��@G��'�}�CLu���?kr#�E}$L
�,Qo1���s֖�Hc��'U����-h
�Rt�h��|`��5�=jD��=Zc毰(�M������]ӪR��r|���P��0N�U��H�8�b
�^#5R"�x��c���;"�og�~VB���[<�I���ldg�Ӏ��������d?	�	���0e��}�XC�	3�̬����>�O��ە�Uth�A~�t�8If�=B���6�߲g��ٽg#���{�!�QWX1G��ױ|w�&�g&s/�O��zۑR�1}0Ѱl;k�`��nK�:��۽0��.]'<��΅�5;g@g*pQ��J8
�tVI�u �L�_o�?�$)G�҅͐�3�s�ޣՁ�
2U��k�E9�[��/S}p�5�G���U]_�U�S�n�����'��n�[��6l3�*y��)���>�t���}�c�%R���D�4��,1�)�'��O�H͞_hb���Fi���z
�@p��?z��;B�ے�{�M�M~��������t��llՇ�
�+��kW��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(8800h	h	M8���o���E���o@@TT���o���cHH�mB((Pwxxr���}����p"p"�5��W�W
�XX8�@]@]���^�^`�HjHj �0u 0u�8u 8u�@u @u�' �8� 8���؟ ؟ �� ���� ����`����,+Х\,�:lib64/libk5crypto.so.3.1000075500000346240150403633700010613 0ustar00ELF>p^@��@8	@���� ����!��!px @�@�!@�!@@888$$������  S�td������  P�td�`�`�`��Q�tdR�td����!��!xxGNU'eJ�A�$᷋^���6E�F]aO
5 AX2 i@Ғ�@�B8�D$�*S�����0��@�$� �H
$@Q"(�"� ���Sb"�@B `��A`$�`@BDOQSTUYZ]^_abfghjlmnoqruvxz|}~���������������������������������������F����[QA��H��[�׾�&�Ԧ�+6�X��F��Y=b�,v�T��5Tn ?�� �&��R@��!��i���*2ʄ�vF#���8���x�޻*B�.Q
OגQ��`�/Ă�"1sT��]�q�p�y� �U-�� ���4��ز(�<V8�H�s�l�� ��^N�;�>��a���9[���"z���g0�|�n0�귂�C�Y�\�x�b(�3��"��A��{Xb�Gy�����7�‹�@錋Gᖀ�R�鳾O�����}T�f�R����+]�H�8�(yD��H��v�̔5.K���M��`th��m�F��t�	��ak�Ul�U��HdMY��$w/x���`�b�k����	nk�R�a�H"��GƔS91�Vk|�� ��0)�W ����F'�@y'���E�a0��as6����s��|���5q/��
��u� ��hL�
pw��Q}Bi A��b�, 'F"w�
� ��pc�
���
$�UM�f5{F�RIX�u�����
�
���
p^�	
�2�
�^&	
��&

�N�
�@@
@�m
���}

 49


�

P6�
����
�9��
0���
���:
@�(�
`�8Z
�"
�s�V
��@
p�^�
��S
�
P���	
;�	
�5�
�8�

PV�

�<|
 ���
�
=	
p2}
��9�
P��
��(h	
2Q

�d
��

p�f�
 ��\
`vn
����
@9��
�^�	
�<<K
@���
���K
�8
�5�
����
�H
�C��
�:��
	�"
��s
`���
 ���

Gz
��CJ	
�

0�t�
А�

��s�
`=|�	
0��

P2�
���
�
Y
`yI �!H&
�����!H$
�6�
����
 �
���
	
��	
�QU��!HQ
p��
�2�
��3
G6R
�6�`�! ���! ���! 1
��W	
�
6�
`�;f
  �
6x	
@F�
�^�
�M6��!H���!HG
P�5`�!H�
��
���

5�
�o��
�^^��!�
�68
`���
����
����
���@�! a
���
p�f

�?�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_failFIPS_modeEVP_CIPHER_CTX_newEVP_des_cbcEVP_DecryptInit_exEVP_CIPHER_CTX_set_paddingEVP_DecryptUpdateEVP_CIPHER_CTX_freeEVP_EncryptInit_exEVP_EncryptUpdateDES_set_keyDES_ecb_encryptEVP_des_ede3_cbckrb5int_enc_des3callocEVP_rc4krb5int_enc_arcfourCRYPTO_mallocAES_set_encrypt_keyAES_cbc_encryptCRYPTO_cts128_encryptCRYPTO_freememsetkrb5int_aes_encryptEVP_aes_256_cbcEVP_aes_128_cbcAES_set_decrypt_keyCRYPTO_cts128_decryptkrb5int_aes_decryptkrb5int_enc_aes256krb5int_enc_aes128krb5int_camellia_cbc_macCamellia_set_keyCamellia_ecb_encryptCamellia_cbc_encryptEVP_camellia_256_cbcEVP_camellia_128_cbckrb5int_enc_camellia256krb5int_enc_camellia128mit_crc32EVP_MD_sizeEVP_MD_CTX_newEVP_DigestInit_exEVP_DigestUpdateEVP_MD_CTX_freeEVP_DigestFinal_exEVP_md4EVP_md5EVP_sha1EVP_sha256EVP_sha384krb5int_hash_sha384krb5int_hash_sha256krb5int_hash_md5krb5int_hash_md4DES_set_odd_parityDES_is_weak_key__assert_failmemcpykrb5_c_block_sizekrb5_c_prfpluskrb5_c_prf_lengthkrb5_c_prfkrb5_c_derive_prfpluskrb5int_c_free_keyblockkrb5int_c_init_keyblockkrb5_c_fx_cf2_simplestrlenkrb5_k_create_keykrb5_c_random_make_octetskrb5_k_free_keyk5_bcmpkrb5int_derive_keykrb5int_cmac_checksumkrb5int_hmackrb5int_derive_randomkrb5_c_checksum_lengthkrb5_cksumtype_to_stringkrb5int_strlcpykrb5_c_is_coll_proof_cksumkrb5int_c_combine_keyskrb5int_nfoldkrb5_c_crypto_lengthkrb5_c_padding_lengthkrb5_c_crypto_length_iovk5_oncekrb5_k_decryptkrb5_c_decryptkrb5_k_decrypt_iovkrb5_c_decrypt_iovkrb5_c_random_to_keymemcmpkrb5_k_reference_keykrb5_k_encryptkrb5_c_encryptkrb5_k_encrypt_iovkrb5_c_encrypt_iovkrb5_c_encrypt_lengthkrb5_c_valid_enctypekrb5int_c_weak_enctypekrb5int_c_deprecated_enctypekrb5_c_enctype_comparekrb5_string_to_enctypestrcasecmpkrb5_enctype_to_stringkrb5_enctype_to_namek5_enctype_to_ssfkrb5int_c_copy_keyblockkrb5int_arcfour_gsscryptkrb5int_c_copy_keyblock_contentskrb5int_c_free_keyblock_contentskrb5_k_key_keyblockkrb5_k_key_enctypekrb5_c_is_keyed_cksumkrb5_c_keyed_checksum_typeskrb5_free_cksumtypeskrb5_c_keylengthskrb5_k_make_checksumreallockrb5int_c_mandatory_cksumtypekrb5_c_make_checksumkrb5_k_make_checksum_iovkrb5_c_make_checksum_iovkrb5_c_make_random_keykrb5_encryptkrb5_decryptkrb5_process_keykrb5_finish_keykrb5_string_to_keykrb5_c_string_to_keykrb5_init_random_keykrb5_c_random_seedkrb5_finish_random_keykrb5_random_keykrb5_eblock_enctypekrb5_use_enctypekrb5_encrypt_sizekrb5_checksum_sizekrb5_calculate_checksumkrb5_verify_checksumkrb5_c_verify_checksumkrb5_encrypt_datakrb5_c_valid_cksumtypekrb5_k_prfkrb5_c_random_add_entropy__errno_locationsyscallopenfcntl__fxstatreadcloseRAND_byteskrb5_c_random_os_entropy__ctype_b_loc__ctype_tolower_locstrncpy__memcpy_chkk5_allow_weak_pbkdf2iterk5_utf8_to_utf16lekrb5_c_init_statekrb5_c_free_statekrb5_string_to_cksumtypekrb5_c_string_to_key_with_paramskrb5_k_verify_checksumkrb5_k_verify_checksum_iovkrb5_c_verify_checksum_iovHMAC_CTX_newHMAC_InitHMAC_UpdateHMAC_FinalHMAC_CTX_freePKCS5_PBKDF2_HMACk5_sha256krb5int_aes_enc_blkabortkrb5int_aes_enc_keyk5_sha256_finalk5_sha256_initk5_sha256_updatelibkrb5support.so.0libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libc.so.6libk5crypto.so.3k5crypto_3_MITHIDDENkrb5support_0_MITGLIBC_2.14GLIBC_2.4GLIBC_2.3GLIBC_2.3.4GLIBC_2.2.5OPENSSL_1_1_0/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	
�o�:
�@�K
���Z
� �ґa
0
`���
s
ii
	~
ii
�
ti	�
ui	�
�m�
��!0`��!�_��!_��!��!؜!�j�!�j�!Pj��!pl8�!p�X�! �x�!����!`���!Ђ؝!@��!�`�!�b �!�`(�!�d0�!�8�!��x�!�h��!�f��!���!���!�l��!��P�!�lX�!����!p|��!p~��!�u��!����!p|�!p~�!�u�!��H�!XJ`�!�Xp�! �!x�!����!�X��!�XР!����!^J�!fJ�!�!(�!@�0�!��P�!�Jh�!sJp�!�!��!����!�Y��!	Yء!���!�J�!�J �!�!0�!@�8�!��X�!�Jp�!�J��!��!��!����!�J��!�JȢ!�Jآ!��!�!P��!�J�!�J�!K �!K8�!��`�!*Kx�!>K��!��!��!P���!SKУ!gK�!��!�!P��!|K(�!�K@�!��h�!�K��!�K��!p���!�Kؤ!�K�!p��!�K0�!�KH�!0�p�!L��!-L��!0�ȥ!�X�!�X�!�!�! �!�!��!���!@��!�* �!�!(�! H�!�X`�!�Xh�!�!��!���!����!@���!�*��!�!��! Ȧ!�XЦ!bJ�!�X�!�!�!��!���!@��!�* �!�!(�! H�!Y`�!1Yh�!�!��!@���!����!����!�*��!�!��! ȧ!Y�!*Y�!@��!���!���!�2 �!p"H�!BYP�!PYX�!_Y`�!�Zp�!��!��!����!����! ���!�2��!p"��!�Ȩ!pY�!~Y�!�!�!��!�!���!���! ��!�2 �!�!H�!�YP�!�YX�!�Y`�!�Y��!@���!����!0���!�6��!@!��!�ȩ!�YЩ!�Yة!�Y�! [�!@��!���!0��!�6 �!@!(�!�H�!ZP�!ZX�!$Z`�!H[p�!��!��!0���!����! ���!@5��!@!��!�Ȫ!0ZЪ!HZت!SZ�!p[�!��!�!0��!���! ��!@5 �!@!(�!�H�!_ZP�!tZ`�!�[��!����!@���!����!�5��!@!��!@ȫ!�ZЫ!�Z�!�[�!���!@��!���!�5 �!@!(�!@H�!�ZP�!�Z`�!�[��!���!����!����!@6��!@!��!�Ȭ!�ZЬ!�Z�!\�!��!���!���!@6 �!@!(�!���!��!Я!��!�!0�؞!�8�!��!a@�!a��!w�!wȠ!� �!�p�!�ȯ!�С!�(�!�0�!�8�!��!�p�!��!���!�Т!��!�h�!���!�8�!�h�!�h�!�أ!���!��!��!�0�!�h�!��!���!���!�h�!��!��!�@�!�p�!��!���!��!���!���!��!
��!��!#��!&د!:�!��! �!�(�!0�!8�!@�!UH�!�P�!vX�!`�!h�!�p�!x�!��!���!	��!
��!]��!��!��!���!��!�Ȱ!а!ذ!�!�!�!���!�!��!}�!�!� �!(�!�0�!8�!�@�!H�!P�!X�!`�!h�!�p�!x�! ��!!��!"��!���!b��!���!$��!%��!&��!'ȱ!�б!(ر!)�!��!|�!*��!R�!+�!��!,�!- �!.(�!�0�!�8�!c@�!uH�!/P�!�X�!0`�!kh�!1p�!2x�!3��!4��!5��!6��!���!7��!���!{��!d��!�Ȳ!�в!�ز!T�!8�!9�!���!;�!<�!=�!>�!? �!�(�!g0�!f8�!@@�!AH�!BP�!�X�!C`�!Dh�!Ep�!Fx�!q��!G��!\��!H��!I��!J��!K��!L��!M��!N��H��H��_!H��t��H����5b`!�%c`!��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu��������%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%�X!D���%}X!D���%uX!D���%mX!D���%eX!D���%]X!D���%UX!D���%MX!D���%EX!D���%=X!D���%5X!D���%-X!D���%%X!D���%X!D���%X!D���%
X!D���%X!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%�W!D���%}W!D���%uW!D���%mW!D���%eW!D���%]W!D���%UW!D���%MW!D���%EW!D���%=W!D���%5W!D���%-W!D���%%W!D���%W!D���%W!D���%
W!D���%W!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%�V!D���%}V!D���%uV!D���%mV!D���%eV!D���%]V!D���%UV!D���%MV!D���%EV!D���%=V!D���%5V!D���%-V!D���%%V!D���%V!D���%V!D���%
V!D���%V!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%�U!D���%}U!D���%uU!D���%mU!D���%eU!D���%]U!D���%UU!D��H��dH�%(H�D$1��3�����H��dH�%(H�D$1�������H��dH�%(H�D$1������H��dH�%(H�D$1�������H��dH�%(H�D$1����f.�D��H��dH�%(H�D$1���T!��t	�=�T!tH�D$dH3%(u#H���軿H�D$dH3%(u	H���"����f.�H�=qT!H�jT!H9�tH�P!H��t	�����H�=AT!H�5:T!H)�H��H��H��?H�H�tH��O!H��t��fD�����=�S!u+UH�=�O!H��tH�=�<!�9����d�����S!]������w����H��D�dH�%(H�D$1�H��ttH�I1�L��f.���x���v��u�BH�H��I9�u�A��uB��uDH��t�~u91�H����A�1�H�t$dH34%(u#H���f.�A��tø�:ǖ�Ը�:ǖ���7������AWI��AVAUI��ATUH��SH��H��H�t$dH�%(H�D$x1��D$������NL��H�{L�D$H��L��L�|$���A�Dž�u�D$��t*H�L$xdH3%(D���9H�Ĉ[]A\A]A^A_Ð����I��H����H�D$E1�H��tL�`H�[����M��1�L��H��H���2����Å���1�L��L�d$ ���H��L��E1��L��L�l$p�&H�D$H�l$hH�$�/fDH�$A�H��L��L�������Å�tL��L���(H��L���$'��u�H�D$H��tH�@H�T$hH�L�����H�D$hH�D$p������A��:ǖ����@A�����L��A��:ǖ�_�������e���D��AWI��AVAUI��ATUH��SH��H��H�t$dH�%(H�D$x1��D$�������NL��H�{L�D$H��L��L�|$����A�Dž�u�D$��t*H�L$xdH3%(D���9H�Ĉ[]A\A]A^A_Ð����I��H����H�D$E1�H��tL�`H�[����M��1�L��H��H������Å���1�L��L�d$ ���H��L��E1��L��L�l$p�.%H�D$H�l$hH�$�/fDH�$A�H��L��L���`����Å�tL��L���&H��L���T%��u�H�D$H��tH�@H�T$pH�L������H�D$hH�D$p������A��:ǖ����@A�����L��A��:ǖ���������D��AWI��AVI��AUI��ATI��USL��H��L�D$dH�%(H��$�1�������I�}L�D$L��L��L���P����Ņ����{��H�\$`I�}H����Ņ���M����I�D$H�H��$�L�d$ L��E1��L��L��L��$��#L��$��&�H��L��L��H��$�H1�$���L��L����#��u�H�D$H��$�H�@H�H��$�dH3%(��u4H��[]A\A]A^A_�HDŽ$��O�����:ǖ뾽�:ǖ��$���@H��D�dH�%(H�D$1�H��ttH�I1�L��f.���x���v��u�BH�H��I9�u�A��uB��uDH��t�~u91�H����A�1�H�t$dH34%(u#H���f.�A��tø�:ǖ�Ը�:ǖ���w������AWI��AVAUI��ATUH��SH��H��H�t$dH�%(H�D$x1��D$�������NL��H�{L�D$H��L��L�|$���A�Dž�u�D$��t*H�L$xdH3%(D���9H�Ĉ[]A\A]A^A_Ð��I��H����H�D$E1�H��tL�`H�[�u�M��1�L��H��H���r�Å���1�L��L�d$ ���H��L��E1��L��L�l$p�>!H�D$H�l$hH�$�/fDH�$A�H��L��L�������Å�tL��L���"H��L���d!��u�H�D$H��tH�@H�T$hH�L�����H�D$hH�D$p������A��:ǖ����@A�����L��A��:ǖ�������D��AWI��AVAUI��ATUH��SH��H��H�t$dH�%(H�D$x1��D$�
���NL��H�{L�D$H��L��L�|$����A�Dž�u�D$��t*H�L$xdH3%(D���9H�Ĉ[]A\A]A^A_Ð�K�I��H����H�D$E1�H��tL�`H�[��M��1�L��H��H�����Å���1�L��L�d$ �)�H��L��E1��L��L�l$p�nH�D$H�l$hH�$�/fDH�$A�H��L��L����Å�tL��L���� H��L�����u�H�D$H��tH�@H�T$pH�L����H�D$hH�D$p������A��:ǖ����@A�����L��A��:ǖ���������D��UH��SH��dH�%(H�D$1��^��uZ�����y�H��t4H�H�@H�E�EH�L$dH3%(��u#H��[]�D���f���:ǖ���D�@��AWAVI��AUI��ATUH��SH��H��(dH�%(H�D$1��D$��D$����M����M�mM����M�eM9m��M���|H��tNE1�L�t$���P���v��uH�sD�CL��L��H������tI��H��L9�w�M����H�L$dH3%(�D$��H��([]A\A]A^A_�f���I��H��tsM�v��E1�1�L��L��H���W��tM��t.M�e�I���DM��uL������D$�:ǖ�}���fDH��� ���L������a���f.��D$�J�����ff.���SH��H��dH�%(H�D$1��?��tH�D$dH3%(u5H��[�DH�[H�{�S�H�D$dH3%(u
H��H��[���A����S��H��H��dH�%(H�D$1��B���H�CH�����H�L$dH3%(uH��[����fDAWf�M��AVAUI��ATUSL��H��H�|$H�t$H�L$dH�%(H��$x1�)�$`H��tH�BH��t�z���o)�$`��H�5(�H����H��H���t��H�5�H����I��H���dL�t$ H�t$E1�H��L��L��L�|$`��L��L���YH�D$L���0H�D$H�8���/�L��H��H��L�
�A!L��L��$`A��:ǖ���H��ulH����H������H�5f�H���>���H�5R�L���*�H��$xdH3%(D����H�Ĉ[]A\A]A^A_�fDH��L����M����I�EE1�H���p���fo�$`H���d����DH��1�L���{��T���fDH��1�H���c�H���8������A��K���D��H�5��H��A��V��'����A��:ǖ������E1��������AWAVAUATUSH��dH�%(H�D$x1�H���DH��H��H�II��I��H��L�D�E1����J���v��u�PI�H��L9�u�I�A�H����I���V�D$�M�I��H���)M��tM�mA�VM�~���1��� u�{�H��1�M��L��L��������L�l$H��E1��H��H�\$PH�l$`L���kH��L����1�L����H�T$H��H��A�L����A�ƃ�t}L���=�f�)D$P)D$`�A����:ǖE��@I�AH��w.1�H�|$xdH3<%(unH�Ĉ[]A\A]A^A_�f.�I�vI�~I��H��L������H��L���m�s�������H�������:ǖ�L������:ǖ���f�AWf�I��AVI��AUI��ATUSL��H��H�L$L�D$dH�%(H��$x1�)�$`H��tH�BH��t�z���o)�$`��H�5��H���r�H��H���v��H�5��H���R�I��H���fA�7L�T$`I�>L�|$ L��L�T$A��:ǖ����H�T$E1�H��H�t$L���L��L����L�T$H��H��L�
C=!L��$`L��L����H��ukH����H������H�5�H�������H�5�L�����H��$xdH3%(D����H�Ĉ[]A\A]A^A_�DH��L���M����I�EE1�H���q���fo�$`H���e����DH��1�L���+��U���fDH��1�H����H���9������A��L���D��H�54�H��A����(����A��:ǖ�����P�E1��������AWAVAUATUSH��dH�%(H�D$x1�H���DH��H��H�II��I��H��L�D�E1����J���v��u�PI�H��L9�u�I�A�H����I���V�D$��I��H���)M��tM�mA�VM�~���1��� u�+�H��1�M��L��L���H����L�l$H��E1��H��H�\$PH�l$`L���H��L���1�L����H�T$H��H��A�L�����A�ƃ�t}L�����f�)D$P)D$`�A����:ǖE��@I�AH��w.1�H�|$xdH3<%(unH�Ĉ[]A\A]A^A_�f.�I�vI�~I��H��L������H��L����s������L�H�������:ǖ�L���E���:ǖ��I�f���UH��SH��dH�%(H�D$1������uJ�E�������H��H�E�D�H�L$dH3%(��uH��[]�f.���:ǖ�����@��AWAVM��AUI��ATUH��SH��H��H�|$dH�%(H��$�1��2����A�~�H�|$A��L�d$PL��GH��4���H����H�E�o)�$pH�l$L��H��E1��H��H��$���L��$p�9fD�L��L��H��H��$pH1�$�H��$xH1�$��}�H��H�����u�I�FA�Ffo�$pH��$�dH3%(D��u9H�Ĩ[]A\A]A^A_�fDf�)�$p�4���A��:ǖ�A��:ǖ��R�f�AWf�I��AVI��AUI��ATUSL��H��H�L$L�D$dH�%(H��$�1�)�$�H��tH�BH��t�z���o)�$���H�5��H���2�H��H���v��H�5��H����I��H���fA�7L�T$`I�>L�|$ L��L�T$A��:ǖ���P��H�T$E1�H��H�t$L���HL��L���L�T$H��H��L�
�6!L��$�L��L�����H��ukH����H������H�5��H������H�5��L����H��$�dH3%(D����H�Ĩ[]A\A]A^A_�DH��L���]M����I�EE1�H���q���fo�$�H���e����DH��1�L�������U���fDH��1�H������H���9������A��L���D��H�5��H��A������(����A��:ǖ������E1������AWf�M��AVAUI��ATUSL��H��H�|$H�t$H�L$dH�%(H��$�1�)�$�H��tH�BH��t�z���o)�$���H�5N�H������H��H���t��H�5.�H�����I��H���dL�t$ H�t$E1�H��L��L��L�|$`�L��L���yH�D$L���0H�D$H�8������L��H��H��L�
g4!L��L��$�A��:ǖ����H��ulH����H������H�5��H���^����H�5x�L���J��H��$�dH3%(D����H�Ĩ[]A\A]A^A_�fDH��L���
M����I�EE1�H���p���fo�$�H���d����DH��1�L������T���fDH��1�H�����H���8������A��K���D��H�5��H��A��v���'����A��:ǖ�������E1��������AWAVAUATUSH��dH�%(H�D$x1�H���DH��H��H�II��I��H��L�D�E1����J���v��u�PI�H��L9�u�I�A�H����I���V�D$�m��I��H���)M��tM�mA�VM�~���1��� u����H��1�M��L��L�������L�l$H��E1��H��H�\$PH�l$`L���H��L����1�L����H�T$H��H��A�L����A�ƃ�t}L���]��f�)D$P)D$`�A����:ǖE��@I�AH��w.1�H�|$xdH3<%(unH�Ĉ[]A\A]A^A_�f.�I�vI�~I��H��L������H��L����s���������H�������:ǖ�L�������:ǖ����f���AWAVAUATUSH��dH�%(H�D$x1�H���DH��H��H�II��I��H��L�D�E1����J���v��u�PI�H��L9�u�I�A�H����I���V�D$�m��I��H���)M��tM�mA�VM�~���1��� u����H��1�M��L��L��������L�l$H��E1��H��H�\$PH�l$`L���	H��L����	1�L�����H�T$H��H��A�L���]��A�ƃ�t}L���]��f�)D$P)D$`�A����:ǖE��@I�AH��w.1�H�|$xdH3<%(unH�Ĉ[]A\A]A^A_�f.�I�vI�~I��H��L������H��L���
�s���������H�������:ǖ�L�������:ǖ����f���AVAUATUSH��dH�%(H�D$1��zu~H��I��H�$H��tgH��E1�I��fDH�@H�T������w�rH�zL�����A�FI��H9�rҋ$I�E�1�H�L$dH3%(uH��[]A\A]A^�f�1��ո�:ǖ�����AVI��AUI��ATM��U��SH��H��dH�%(H�D$1����9������H��H����1�L��H������M��tEK�TmL�,��H��I9�t.��Q���w�t�SH�sH����������H����I9�u҅�u-H������H�|$dH3<%(uNH��[]A\A]A^�I�4$H��1�����H��t�F��1���f��;����@�멸�:ǖ�����ff.�f���ATI��UH��SH��H��dH�%(H�D$1��f����u2�=��H�T$dH3%(u;�KH��L�CL��[H��H��]A\���H�t$dH34%(��:ǖu	H��[]A\��]��ff.�f���ATI��UH��SH��H��dH�%(H�D$1�������u2�=��H�T$dH3%(u;�KH��L�CL��[H��H��]A\��H�t$dH34%(��:ǖu	H��[]A\�����ff.�f���ATI��UH��SH��H��dH�%(H�D$1����H�T$dH3%(u�KH��L�CL��[H��H��]A\�i����d��@��ATI��UH��SH��H��dH�%(H�D$1����H�T$dH3%(u�KH��L�CL��[H��H��]A\�	������@��ATI��UH��SH��H��dH�%(H�D$1����H�T$dH3%(u�KH��L�CL��[H��H��]A\������@��H��dH�%(H�D$1�H�D$dH3%(u	H������j��f.���H��dH�%(H�D$1�H�D$dH3%(u	H������*��f.�H��L�GdH�%(H�D$1�L9�sXH�H�vD�OH��H������v#H��H��L9�t�
�q�E��u�v��u�f�H�|$dH3<%(u
H���H����������H��dH�%(H�D$1�H��tSH��tN1��f.�H��H��H9�t;u�H��u*H��H��H��H9�u�H�T$dH3%(uH���D1����'�����AWM��AVAUATI��L��USL��H��8H�t$L�ΉT$�H�L$dH�%(H�D$(1��7���H����I�žL��A�T$@�L���A�T$@�LA9MA�ƉL$��M�_�L��L�$�e��I��H���h�I�EM��A�B��L�$A�jI�B�HI��1�1�A��L$����t7H��I��I9�tSA���u���I�U�H�I�PA�U)�A�PK�II�pH��I���AoI��I��H�rI9�u�K�II��H��H�HLл��D��H�X�H�@I�
�A�MH)�IM�@��D�pH�HM9���M��L�$L��H�L$�T$H�t$A�T$PL�$��L�������H�\$(dH3%(��H��8[]A\A]A^A_�f�L�׻�:ǖ�����û�A��0��2�����:ǖ�H�
��nH�5��H�=������H�
��@H�5��H�=��������ff.���ATI��UH��SH��dH�%(H�D$1��W@�H���U@����t�؉�1�L�H���)�H��D�H�\$dH3%(��u	H��[]A\��*��f.���SH��H��dH�%(H�D$1�H�71�H�WH�OD�G����H�C8H�C H�C0H�C(H�D$dH3%(uH��[����ff.���AWAVAUATUSH��(H�odH�%(H�D$1�H����I��I��H�G I��H;Gr(�f�H����I�E I;E��I��H�@I�EI�u(H��L�<�A�_H)�L9�IG�L)�IwL�H�����I�E(L��H)�H�I�E(A�OH9�u�I�E L��H�T$H�p����H�T$I�E(I�E H���s���f.�1�H����H�L$dH3%(u<H��([]A\A]A^A_�f�H9�tH�|1�L)�I�<<�����빐1���g�����AWAVAUATUSH��L�gdH�%(H�D$1�M����H��H�G0H9G��I��M����M��t{H�E0H;EsqH�@H�EH�}8L��L�<�A�_H)�L9�IG�L)�IL�H��I)�����H�E8H�H�E8A�WH9�u�H�E0H��H�p���H�E8H�E0M��u�fDH�D$dH3%(uH��[]A\A]A^A_��l��f.�f���H��dH�%(H�D$1�H����8��~2L��!A;0tYI���1��
@H��;q�t��9�u�:ǖ�t�L��!1�H�H��I�D(H�H�1�H�T$dH3%(u	H���1�������f.���AWAVAUI��ATI��UH��SH��x�vH�$H�T$8dH�%(H�D$h1����H�D$HH�D$@H�D$PH�D$X�����Å���L�|$8�E1�I�D�H�D$I��I��H=���H�4$�v���t$������HE��L$����H���YD��E����L$HE��H�D$H�L$D�D$@��H�D$ H�T$(���H�L$ H���SH�4$�T$H�y�D$P��H�D$XH�vH�D$D�|$T���L;|$L�L$�/H�D$PE1�H�L$ H�D$H�D$@H�$�:f�H�D$8�UH�}H�t$XH��I��H)�H�H9�HG�I���2��M9�v%H�L$HA�GH�$L��L��H�L$�����Å�t�L�L$XM��t�T$TH��uuL�����H�L$HH��t�T$DH��uJH�������H�\$hdH3%(��H��x[]A\A]A^A_�D�뙐���f�H��1����H��말L��1�����I���y���fDL�L$XM��t�T$T��V���H�T$(�L����T$��Y����3����AWAVI��AUM��ATUH��SH��HH�T$dH�%(H�D$81����I�H�D$ H�D$(H�D$��u�NH�K��0��~<H�b!;�]H���1���H��;J�t��9�u�A��:ǖ�t�H�$!1�H��H��HøL�c(M�|$E��D��HD��7��H����D�|$$H�T$L��H��L�|$ H�D$(L���L��A�ƅ�tUH�L$(�T$$H��tH����H�����H�D$H��H���V��H�\$8dH3%(D����H��H[]A\A]A^A_�I�T$�3H�L$H������A�ƅ�u�H�t$L���S`A�ƅ��z���H�D$H�D$I�E�c����H��1�����H���`���fDA��\���1������Q�����AWM��AVAUI��ATI��H��UH��SL��H��H�L$dH�%(H�D$x1�����H��L�l$8�D$0���D$4����I��u�D$D���H�D$PH�D$`H�N��D$@���H�\$HH�D$XH�D$hH�D$(��~>H�=!;3�H���1��f.�H��;r�t��9�u�:ǖ�t�H��!1�H�A��H�D$H��L�l(I�U�҉�H�T$ID��
��H����H�T$H�D$XH��L��H�D$P�T$TH��H�T$0H�D$�������I�m����ID����H���<H�t$H�L$`H�T$@L��l$d�D$`��H�D$h������u�T$T1���t#DH�T$X��H�t$h��H��0
9D$Tw�H�D$I�UH�L$(L��H��HË3�s���Ņ�u-H�t$(H�|$�S`�Ņ�uH�D$(H�D$(I�f�H�L$h�T$dH��t
H��umH�����H�L$X�T$TH��t
H��uBH�����H�t$(L���=��H�\$xdH3%(��uYH�Ĉ[]A\A]A^A_�f�H��1����H��믐H��1����H��넽�g������1������m��f.���H��dH�%(H�D$1�H�G(H�@(H��t'I��H��H�L$dH3%(u+L��1�M��L��H����H�T$dH3%(��:ǖuH������DAVAUI��ATI��USH�� �_dH�%(H�D$1�H��uv�����H��H�����Ao$L��H��1�H�l$)$�_��A�T$��H���H���'��H�L$dH3%(��utH�� []A\A]A^��L�wH�޿���H��H��t/H��L��H���)��H�+D�0�H��H9�u��d�����느1�H���f���r�������ff.����AWAVI��AUI��ATI��UL��SL��H��hdH�%(H�D$X1�H�G(H�t$ H�D$H�H�G01��D$ ���D$0��H�HI�A�T$$H�D$(HЉL$4H�D$8�����t&H�\$XdH3%(��H��h[]A\A]A^A_�H�t$L���;�����u�I���I��IE�����I�ǸM��tffoD$ H�TmI�L��H��A�AG����I�F0L��L��H�T$0�P��u)�oI�F(H�T$@1��D$@�H�|$L$H�PL���D$�>��H�t$1��2���D$�����t��@��AWI��AVAUATM��UH��SH��xE�iH��$�H�L$L�D$H�D$ dH�%(H�D$h1����H�D$HH�D$@H�G(H�D$8H�H�D$H�G0L�pM����I�AL��H�D$(���H��H����H�t$(L��H�����H��H�t$8E1�����Ņ��A�D$�D$PH�T$P1�H�\$`�H�|$8�D$\I�G(�D$X���P �Ņ���H�D$���H��HE�H�D$(���I��H�����H�t$I�}�@���D$I�]A�EH�D$H�@H�����E��D���HD������H���H�D$HI�G0H�T$@L���D$@��H�t$(D�t$D�P�Ņ�u)H�|$H�t$HL��H��,��H�L$ �������DA�T$H����H���"���H�L$HH��tM���H������L�����H�t$81�����H�L$hdH3%(��usH��x[]A\A]A^A_�f�������H��H���F�����fD1�H���^����o���f�H��L��1��C���H���l�����6������f���AV�AUM��ATI��UL��A�SH��0L�w(dH�%(H�D$(1�H�L$�T$#L�D$H���H��L��1�H�D$H�D$#H�D$�D$'�����Å�t$��H�\$(dH3%(uRH��0[]A\A]A^�DH�t$I��L��L��L���R����Å�uH�t$1�����fD�UH�}1��J�����������AVI���AUM��ATI��UL��E1�SH��0H�(dH�%(H�D$(1�H�L$�T$#L�D$H���H��1��D$'�H�D$H�D$#H�D$赿���Å�t��H�\$(dH3%(uMH��0[]A\A]A^�I�~0H�t$I��L��L���ɽ���Å�uH�t$1������D�UH�}1��r��������f.����AWf�I���AVM��AUM��ATUH���SH��hL�g0H�L$dH�%(H�D$X1�)D$0H���H�D$H�D$SH�D$���H�D$(H�D$@�D$W�I�\$H�D$ �H��T$S�ۉ�HD��1���H����I�(H�L$ H��L��A�L�D$�\$$H�D$(�`����Å�tBH�L$(�T$$H��t
H��ugH��诽��H�t$XdH34%(��udH��h[]A\A]A^A_�fD�D$$I�0H�t$0M��H�T$L��D$8H�D$(H�D$@�M����f�H��1�����H��느��脿��@��AWAVAUATUSH��H�L$L�L$dH�%(H��$�1����H�D$(H�D$ H�D$0H�D$8H����L�g0I���FI;D$���?v���A��L��H�t$��D��I��A�A���PI��L���IE���$�西��H��H�����H�TmH�t$H�{H���H��H�CH��$�H�C���M�e0�I�l$���ID��G���H����H�D$8H�T$0L��H���D$0���l$4A�T$A�ą�tvH�L$(H��t�T$$H����H���ǻ��H�L$8�T$4H��tH����H��註��H��蠻��H��$�dH3%(D���YH�Ę[]A\A]A^A_�@foD$0I�}0H�T$`�L�D$H�t$�D$`D$h�0�A���R����H��1����H���n���fDH��1��θ��H���7���fDM�|$��E��D��HD�����H��H����H�D$(H�t$L��1�H�T$`L�D$ H���
�H�D$hH��D�|$$�D$`H�D$p�{���A�ą�������D$$�D$HH�D$(H�D$PH�D$@H�D$����A��g���DA����DA��:ǖ����x������H��dH�%(H�D$1�H�D$dH3%(uH�G0L��L��H��H�@H�����,���f.�f���H��dH�%(H�D$1�H�1�H�8��:ǖH��t+L�
!A;0t4I�HX1��	H��X;q�t'H��H9�u:ǖH�T$dH3%(uH���1�f�H��H�HA�D�LH�1���藻�����SH��dH�%(H�D$1�H���H���:ǖH��t:I��H�5y� H��;>t?H�VX1��f.�H��X;z�t'H��H9�u:ǖH�\$dH3%(u-H��[�1��H��L��H�PH��H�t� 訷��H9���Ѓ�������H��dH�%(H�D$1��3�H��H��u�H�D$dH3%(uH���蟺��ff.�@��AWAVAUATUSH��8L�O(H�|$H�4$L�D$ dH�%(H��$(1�M����H�D$H�8��I��I��H����H��H�IE1�I�Ґ��S���w�PI�H��H9�u�f�H�l$P1�L�T$H��$I��H���)�$H�D$PH�D$`�H�<$H�\$XfoL$PH���D$`L$hH�D$A�щ�������$H�KL�T$�L��$�1�I�t$���H���H���	��׈F@��H�A�H9�u߀�$�L��$I�L$�,H��$�H��$�H�D$H1����f�H���H���	��׈F@��H�A�I9�u�I�FH����H�D$�:H��$�f�L��A�H�T$XL��L�|$H����H��$�L��H�D$P)�$�DŽ$�L��$��Y�L��L����H��$�H�D$�D��1�1����������A�L�H��9���Eψ��u�L��$�H�t$HH��L���2���H��I��H�t$H���L��$�H�<$H��$�H�D$�P(����u.H�D$ �T$T9P��H�D$ H�t$X�$�PH�x諹���$H��$(dH3%(���9H��8[]A\A]A^A_�DL��$1�I�u���	fDH���H���	��׈F@��H�A�H9�u�L��$�H�5�!L��L�T$L���@���L�T$I�L$��$�����1�I�u���	fDH���H�����	��׈FH�A�L9�u�H��$�H�5y!L��L�T$H��H�D$H����L�T$���f.�L��H�|$f�L��H�����H��$�A�H��$�H�T$PL��H�L$X�H�D$(DŽ$�L��$�)�$���H�D$�����E1�H��$�L�t$0L�t$H�\$8H�\$L�d$@E��A��H�D$�fDA��E9�t7L��L���,�I��H��H�t$H�<$�S(��tщ�����f.�L�t$0H�\$8L�d$@H�|$L�����H�|$(�(���L��$�L��L��L������[���DE1��Y�����:ǖ����Q���H�
����H�5)�H�=[��B���H�
����H�5
�H�=Q��#���H��$�H�D$�`������H��dH�%(H�D$1�H��H�H��t+H�5� ;>t7H�VX1��fDH��X;z�t'H��H9�u�1�H�t$dH34%(u!H���1�DH��H�P�D�P�������v���fDUH��SH��H��HdH�%(H�D$81�H�GH�T$(1�H�T$�D$ ���D$$H�D$�����u.H�T$H�L$ E1�I��1�H���L���H�t$1��D$謵���D$H�L$8dH3%(uH��H[]��ܳ��ff.����AWA��:ǖAVAUATUSH��dH�%(H��$�1��FH�D$X��wH�պI�Ή�H��H���u6H��$�dH3<%(D����H�Ĩ[]A\A]A^A_�f.��M��w�H���t��}I��|$(9~��9���H����2��~8H�=�� ;��H���1��H��;A�t��9�u�A��:ǖ�W���t�H�=d� 1�Hc�A�A�H��H�H�D$8H�@(H�XH�xH�D$0H��H�<$�LE�L���]���H�D$ H���kL���B���H�D$H����L���'���H�D$H����L��E1��	���H�D$H����H�<$A�H��LE߿L��L�\$@�ز��I��H���lD�L$(L�D$`H�EL��H�T$ H�|$0L��L�D$(D�L$dH�D$h�J���A�Dž��/A�D$H�L$(H��H�T$H�|$0�D$dI�D$H�D$h����A�Dž���H�l$H�t$ H��H���e���H�t$H�|H���S���L�|$�ލ�����L��H���5���A�D$�4$H��$�L�|$xH�|$p��$�H�D$8��$�H�Ή\$tL��$�H�L$H�P`A�Dž�ujH�L$HH�T$X1�H��覭��A�Dž�uOH�>�A�~�D$dH�D$h�uI�~�jL�D$(H�T$XE1�L��H�|$01���A��fDH����H�D$ H������H�|$tH����H�D$H�����H�|$tH��uH�D$H�����H�|$tH�u}H�D$H���ȭ��M��tH�<$u|L��购��H�t$X1�許���}���H�|$ H��1��Q����e���@H�|$H��1��9����k���@H�|$H��1��!����m���@H�|$H��1��	����o���@H�$1�L�����q���DH�D$E1�H�D$����H�D$E1�����1����A��:ǖ����H�t$@�����H��tVI�F�$E1�L��L�D$(H�T$X1�A�FA�D$H�|$0A�F�7A�Dž��l���I�~蓬��I�F�V����Ѯ��I�FA��>���f.�@��H��H�
dH�%(H�D$1�H��t)H�L��fD�H��1�H����I3�H9�u�H�
H�D$dH3%(uH����J���f.���SH��H��dH�%(H�D$1�H��������L�
�� E1�I���A;1u��H��;p�t/A��D9�u:ǖH�\$dH3%(��H��[��Ic�H��Lϸ��wˉѾH��H��@��ru)@��	u;��t������1��t�L�
� E1�L���Mc���I��C�T@�1��x�����1��j���L��E1���6���fD��SH��H��dH�%(H�D$1�H���D�E��~6H�=�� 1�L���;7u�)�I��A;p�t>��D9�u:ǖ�t�H�=f� H������1�H�L$dH3%(uH��[�@H�H��H���萬����AWI��AVAUATUSH��(dH�%(H�D$1�H���8���H�-� 1�H���;uu�H��;q�t7��9�u�:ǖH�|$dH3<%(���H��([]A\A]A^A_�fDLc�I��J�|%H�|$M����H�H��E1�1�H��E1�L�5N�H��3��w��Ic�L�>��DM��u{I��I��H��M9�u�H�|$��������tM��tV1�M���P���A�D$�F����S���T$H�|$�U@�T$�C�����H�-�� 1�H�l$�K���f.�����H�l$1��+���H�|$1��n����u�1��������f.�@��H��dH�%(H�D$1���!�ym��u����!H�D$dH3%(uH���蠪����H��H�5a!H�=J!dH�%(H�D$1������u�7!��t�)!H�T$dH3%(u$H���H�
��H�5բH�=ߢ�=����(������U�H���SH��H��dH�%(H�D$1��Ѫ��H��tLH�CH��H���H�1��}t H�t$dH34%(u'H��[]�f�H�UH�H���@���蔩��@��SH��H��H�dH�%(H�D$1��������H�CH�H�D$dH3%(uH��[��@�����AWM��AVM��AUATUSH��H���H�t$�vH�L$��T$dH�%(H��$�1ۅ�� H�=�� 1�H���;7u�v�H��;r�t7��9�u�:ǖH��$�dH3%(���VH�ĸ[]A\A]A^A_�H�I��I��J�/H�$A�V���tH��H��;u�L�$$H���H�H�h@L��H�D$(��L�����A�nD�,A��D9���D)�A9o��D��E���HE�H�D$8�ި���H���5���M�FH��H�lj\$L�D$@L��L�D$ �D$H��H�D$PH�D$0軩��L�D$ I���H���D$XI�4H�|$h�D$`���l$dH�D$ 膩��L�\$0H�D$ D�����D$pH�|$xH�4I�<IvH��$�HDŽ$�DŽ$�DŽ$���D��$��$���H�D$(H�L$A�L�D$@�T$H�t$H�<$�PPL�\$0����tDH�|$ M�Gu`E��u<�$L��舤���$�����
���H�=c� 1�H�<$�9����A�oE��t�H�T$8L��1��$�����$I���DH�T$ L��1��L$L�$����L$L�$I���y���H�<$1�������:ǖ����G������AVM��AUM��ATI��U��SH��H�� dH�%(H�D$1�H�T$�آ����u-H�t$M��M��L���H���<���H�t$H�߉D$苧���D$H�L$dH3%(u
H�� []A\A]A^�赥��D��AWAVI��AUI��ATA��USH��(�NdH�%(H�D$1�H��������L�=
� 1�I���A;u��H��;H�t7��9�u�H�|$dH3<%(��:ǖ��H��([]A\A]A^A_��Hc�H��L�L��L�ǺL�L$L�$�M��L�$L�L$H��uOH�D$dH3%(uxHc�L��D��L��H��H��I�DPH��([]A\A]A^A_���a���L�=:� 1�L���H�D$dH3%(u)H��(L��D��L��[H��]A\A]A^A_�A��L��1��Q����R���f���AVM��AUM��ATI��U��SH��H�� dH�%(H�D$1�H�T$�����u-H�t$M��M��L���H���,���H�t$H�߉D$蛥���D$H�L$dH3%(u
H�� []A\A]A^��ţ��D��AWAVAUATUSH��L�D$dH�%(H��$�1�H�����BL�wI��H��H��L9���E��D���I��HD��I���2���H���QL�D$H�D$��L��H��$��Ao�H����AoH�t$XL�D$H���H�5›H�D$(�H�T$0H�T$ H�t$`L��H��$�H��$���$��D$��D�t$�D$ DŽ$��D$8)D$@�D$P�D$h)L$pDŽ$�H��$������Å�t]H�L$H��t�T$H��u2H������H��$�dH3%(��uTH�ĸ[]A\A]A^A_�H��1�莝��H���f�H�}�UH�t$����D�럐��:ǖ����@��AWM��AVE��AUATUSH��H��H�T$H�L$dH�%(H��$1����H�D$8H�D$0A����E��tcA�A��t/H��$dH3%(D����H��[]A\A]A^A_�H��H�T$H�t$L��L�D$0�n���A���f�H�WH�/���H�D$HH�D$@H�T$ H���H�D$�@H;G��H�D$�@H9�����A���IE�蜡��H��H����H�D$HA�G�l$DI�wH��H9�������E1�聛��H�|$ H�L$H���D$DH;��H����H�D$PL�|$ E1�L�t$@H�D$�
I)�H����foD$@H�C(�D$PD$XH����M��1ɺH�t$H�|$��A��H�L$HE���,H�D$H�xL�L9���H��H��I��ɡ��L9d$ ���D$DH;�q���H�L$HA����L�oH�D$H�/L�l$ �@H;G��H�D$�@I��I9��~����HD��7���H��H���KH��$H�D$X�AoH����l$T���A���D$P��foL$PA�H��$�H���H��$�H��$�H���H��$�H��$�D$pL$xDŽ$�DŽ$��$�DŽ$�H��$�DŽ$�H��$�HDŽ$�DŽ$�H��$�D��$M���wH�T$PH�t$pM��E1�H�T$H�t$(�>fDH�D$H�t$XH�xL�I9���H��I�A��I)�����L9d$ v/D���L�D$H�T$(�H��H�t$��$�%���A�Ņ�t�H�L$Xf�H���@���H��ubH���Z����.���DH��H��蕟��H�|$ H����I9��$���������H�T$1�H�|$�SA���Z���@H��H��1�賘��H���fDL���0����]���H��L������H�L$H�S�����H�L$H�B���f�A��~���DA��:ǖ�n���DE1��!���A��:ǖ�V����Ȝ�����AWE��AVAUM��ATI��UH��SH��H��8L�wH�L$D��dH�%(H�D$(1����E��H�D$H�D$�HD��:���H����D�t$L�t$L��E��M��L��H��H��H�D$�k���A�ą�tDH�L$H��tH�SH��uQH��蹙��H�\$(dH3%(D��uNH��8[]A\A]A^A_���uH�L$L��1��^���A���f�H��1��&���H��렐A��裛����AWE��AVAUI��ATI��UH��SL��H��XH�t$dH�%(H�D$H1�H�L�r M��tE�HL�SM��E9F��M�vM��u�I�}�|$8��蝗��A�T$H�D$@�T$4H���fH�D$0H�t$L��E��I��H��L��H�$�4���A�Ņ���H�L$@H��tv�T$8H���2H���z����_�E��D�$t/I�~L��L��L�L$L�T$�n���L�T$L�L$��D�$�C���I�v1�譗��I�FH���4���H�EE1�H�L$HdH3%(D��� H��X[]A\A]A^A_�� 視��I��H����D�kM���������I��H����H�4$H�T$(1��–��A�Ņ����CH�t$(M�~1�A�FI�D$ I�vI�FM�t$ ���H�D$(H�E����A��<���DH��1�����H�����fDH�CL��H�D$�R���I��H��tH�t$L��L���Z����S���DE1�L��A����L������I����-���f.���AWI��AVM��AUATUSL��H���~�T$dH�%(H��$�1�H�]��0����H�-p� 1�H���;}u�DH��;z�t?��9�u�:ǖH��$�dH3%(����H�Ę[]A\A]A^A_��Lc�M��I��I�����L���CA�GH�L$�CL��H��L�D$L�d@A��A�vL��D$�~���L��D$A��D�L$�T$A��A�FF�$
A�E�D9c�PH�{1��T$,�D$ L�D$H�|$0Hׅ����D$(��H�L$�D$8�D$@���D$DH�|$H��H�L��D�L$\L�D$ H�|$`H��LϋT$H�|$xL��L��A��D$P�D$X���D$h�D$p��D�\$t�TH�Ņ�t�T$DH�L$HH��uv���f�D�c�t����i���H�-�� E1�I������I�vL�D$H�L$D�\$���H�|$HA�vL�D$H�L$D�\$D�L$�"���fDH��1�����H������I��E1��8�����:ǖ���茖��ff.����AVM��AUM��ATI��U��SH��H�� dH�%(H�D$1�H�T$������u-H�t$M��M��L���H���\���H�t$H�߉D$�˗���D$H�L$dH3%(u
H�� []A\A]A^����D��SH��D�^dH�%(H�D$1�H�H�D�E��~xH�]� 1�H���D;u�qDH��D;_�t&��D9�u�H�T$dH3%(��:ǖuLH��[�Hc�H��H�L�\$dL3%(u)H�H��H�DHH��[��t�H��� 1�H����H��1����0�����AVM��AUM��ATI��U��SH��H�� dH�%(H�D$1�H�T$�ȑ����u-H�t$M��M��L���H��謖��H�t$H�߉D$�{����D$H�L$dH3%(u
H�� []A\A]A^�襔��D��AWAVAUATI��USH��H��dH�%(H�D$1�H���8����H�
� 1�H���;1u�fDH��;r�t/��9�u�:ǖH�L$dH3%(uxH��[]A\A]A^A_�@H�I��I��I�H���L��L�|@A��H��L����C����L��A��A��L���H�H�1�I�$�t�H�
Y� 1�I���I��1��覓��fD��H��dH�%(H�D$1�H������~\H�5� 1�H���;>u�NDH��;z�t'��9�u�1�H�t$dH34%(u.H���f�H�H��H������������ɸ������ff.���H��dH�%(H�D$1�H�]����~/H�5t� ;>tTH���1��DH��;z�t��9�u�1���tH�5>� H�H���Dt��H�t$dH34%(u	H���1����s�����H��dH�%(H�D$1�H�͎���~/H�5�� ;>tVH���1��DH��;z�t��9�u�1���tH�5�� H�H���Dt���H�t$dH34%(u	H���1���������H��dH�%(H�D$1�H�=�D�E����L�
N� 1�E�I���D9�u��H��;w�t��D9�u︼:ǖD9�t_1���H�H��I�<A;��I���1��f�H��9P�t��D9�|︼:ǖA9�tH��tqHc�1�H��L�H�V(H9W(t�1�H�L$dH3%(uBH��ÐH�FXH9GX�����ָ�:ǖt�L�
�� 1�L���L��A;�r���1��1��运����:ǖ����AWAVAUATUSH��dH�%(H�D$1�H��D�8E����L�%� I��I��1�I�\$�;DH�{H��t!L��������tcH�{H��tL���j�����tN��H��A9�tZH�;L���O�����u�Hc�H��A�,A�UH�L$dH3%(u3H��[]A\A]A^A_�DHc�H��A�,A�E1���D���ď��@��SI��H��H��dH�%(H�D$1�H�����~3H�5-� ;>tiH���1��fDH��;z�t��9�u��+t�H�5�� 1�H�H��L��H��H�t ��H9���Ѓ�H�\$dH3%(u
H��[�1����������AWAVAUATI��USH��H��dH�%(H�D$1�H�]����~2L�t� A98��I���1��	H��;z�t��9�u��{t�L�@� 1�H�H��I�,L�m��tFL�uM��t=L���K���L��I���@���H�mI9�MB�H��tH���(���L��I������I9�LB�H��L��L�����H9���Ѓ�H�\$dH3%(uH��[]A\A]A^A_�1��j���������H��dH�%(H�D$1�H�]�����~4L�n� A;8tWI���1��fDH��;z�t��9�u��t�L�8� 1�H�H��A�Dx�1�H�t$dH34%(u	H���1����i���f�AV�A�AUI��ATI��UL��SH��H��@dH�%(H�D$81�I�L�t$ H���H�M��H�L$H�D$ H�D$3�T$3H��1�H�D$(�D$7��9�����t%H�\$8dH3%(ukH��@[]A\A]A^��1�H�L$A�M��L��H���D$7U����uH�T$I�$H�T$H�U��H�t$1��D$� ����D$��e���D��H��dH�%(H�D$1���tK!��u!H�G(�H�T$dH3%(u2H��Ð��~�H�
T��/H�5�H�=������@1�����ff.�@��AWA�׺AVAUM��ATM��USH��8H�o(L��H�4$L��H�L$dH�%(H�D$(1�H�D$H�D$ ���H���
H�Ë@H;E���L��L��轴��I��H�����@H;E���L��L��蔴��H��t�@H�4$D��H�L$H��L�D$ ���A�Dž�t@H�t$1�謌��H�t$ 1�蠌��H�\$(dH3%(D��uxH��8[]A\A]A^A_�fDH�EH�s1��C�V���A�Dž�u�H�t$ M�FL��L��H�����A�Dž�u�L��L��H�t$H�|$�UA���n���fDA��:ǖ�u����`�����AWA�׺AVI��L��AUATM��UL��SH��HH�_(L��H�L$dH�%(H�D$81����H�D$(H�D$ H�D$H�D$�T���H���c�@H;�W�L��H���/���I��H���;�@H;�/L��H�L$L�D$D��H���?���A�ƅ�uxL��H��H�t$H�|$�S A�ƅ�u^L�3��E��D��HD��B���H����H�t$L�D$ L��H��H��D�t$$�D$ ��H�D$(����A�ƅ�tx�H�t$1��Ċ��H�t$1�踊��H�L$(H��t�T$$H��u-H��蝆��H�\$8dH3%(D��ueH��H[]A\A]A^A_�H��1��.���H����f�I�uH�H�|$(�/���A�ƅ��:ǖDE��l���@A��:ǖ�A��U����p�����H��dH�%(H�D$1���t(~!��)H�G0�@H�T$dH3%(u1H��Ã�uH�G(���H�
l��-H�5o�H�=���������ff.�@��H��dH�%(H�D$1���t3!��u0H�G(�H�T$dH3%(u9H�������@1���H�
Ł�?H�5�H�=J�荃���x������AWAVAUI��ATUL��SL��H��L�w(H�t$��T$ H�L$(dH�%(H�D$x1�H�G0H�D$@H�D$HH�D$�W@�L��A��A�U@�D$H����H�[H��E1�H�t�f��9uDyH��H9�u�H��H������I��H���z�@I;�n�H��H�����H�D$8H���P�T$9P�CE���"D��1�A����A)�H�޺H��误��H��E���H���D9`��D��H�y1�H�L$0荁��H�L$0D�aH�|$�H�w�H��HD��Ն��I��H����D�|$ L�T$PE1�1�H�T$H�D$sM��L��H�L$@A�H�D$XD�|$s�D$T�D$w�L�T$ ��A�Dž�tzH�t$@1��>���H�t$H1��2���L���*���H�\$xdH3%(D���6H�Ĉ[]A\A]A^A_Ð�H��H��蠮��H��H��� ���1�E1����f.�H�D$XL�T$ E1�1�H�T$H�L$HL���@UM���H���A�Dž��S���I�I�u1�A�E�{���A�Dž��6���H�|$H�t$HH��H��L�D$`H�GL�d$h�D$d�I���A�Dž�����H��H��H�t$(H�|$@A�VA�Dž�����D$9D$drMH�\$8�T$L��H�{I���]���D�s���@A����DE1��j���A��:ǖ����(���H�
1~��H�5t}H�={}����f���AWAVI��AUA��ATUL��SL��H��XL�g(H�t$�H�L$dH�%(H�D$H1�H�G0H�D$ H�D$(H�$�W@�L��A��A�V@�D$E��t=H��t8H�[H��H�T�1���9�w���uAH��H9�u�1�A�������H��H��蝬��H�����@I;$�w�H��H���w���I��H���[�D$A9G�MH�<$�H�w�H��HD�迃��I�ƸM��tBA�H�T$E1�1�D�l$CL�l$0H�D$CL��H�L$ M��H�D$8�D$4�D$G������tPH�t$ 1��$�1���H�t$(1��%���L�������$H�\$HdH3%(��H��X[]A\A]A^A_��H�D$8H�T$E1�1�H�L$(M��L���@U�m�����u�H��H��H�t$H�|$ A�T$ ���l���H�<$H�t$(M��H��H��H�GL�t$8�D$4�x~�����@����T$I�wL���P����:ǖ��E��!������:ǖ�<���衁���AWf�AVAUATI��USH��hH�<$L��$�H�T$H��$�H�L$ L�L$dH�%(H�D$X1����)D$@H�D$0H�D$8H�D$PM���L����L�D$H��A�H��H�D$(HD����L�D$H��I�����Ao�K�H�xH�t$H��H�˂��I�$�H�P�҉�H�T$HD�茁��H�T$H�����SH�L$(H�t$@I��H�CH�D$L�����I�<$��D$HH�D$ H�H�D$P�jA��H�|$8tH�$H�|$0H��R8L����}��D��H�L$XdH3%(uCH��h[]A\A]A^A_�@H�H�l$01�1�H��E1��P0A�Ņ�u�I������@A������AWI���AVAUM��ATI��UL��SH��HdH�%(H�D$81�I�L�t$H���H�D$H�D$3M��H�D$���I�I�AH�6A�H�?�L$3H�L$H�D$ H�D$(H�D$�D$7��}������M�?�D$7U��I�_H��ۉ�HD����H����L��H�L$ A�1�M��L��\$$�D$ ��H�D$(�#z��H�t$�Å�u1H�D$foD$ 1�H�D$H�D$(I�E���H�D$ )E1��P���H�L$(H��t�T$$H��u-H���5|��H�T$8dH3%(��u?H��H[]A\A]A^A_�@H��1���y��H���Đ��H�t$��H�t$���/~��ff.�@��H��dH�%(H�D$1���t;!��u8H�G(�H�T$dH3%(uAH��Ð��H�G0H�@H����fD1���H�
�x�0H�5xH�=:x�y���}����AWAVAUI��ATM��UL��SH��H��H�t$��T$ dH�%(H�D$x1�H�G(H�D$HH�D$XH�D$���H�D$@H�D$PH�D$8H�D$`H�D$h�W@�L��H��D$�i���H���pH�L$I�Nj@H;�\�L��H���<���I��H���@�D$A9F�2�L��H������H��t�@M��tGA�U���҉T$(HE��d}��H�����T$(I�uH��H�D$H�D$@���T$D�Z~��H�{(H�D$`H��0�L$ H�T$H��I��L�D$8H�\$ H�D$(H�|$�E����Å�tH�t$81���}��H�L$hH��t�T$dH���DH���y��H�|$X�y��H�L$HH��t�T$DH���H���{y��H�L$xdH3%(���/H�Ĉ[]A\A]A^A_�H�L$I�w1�H�A�G�)|���Å��`���L�T$M��L��H�t$@H��H�|$8HD�A�R�Å��1���H�D$(I��M��H�PH�HH�D$PPATH�t$0H�|$(�����XZ��������D$9D$T���T$I�~H�t$XI���|��E�~M������I�}�T$DH�t$H��|�����H��1��6v��H�����fDH��1��v��H�����fD��w���fD��:ǖ����z��H�
ju��H�5�tH�=�t�rv��f���AWAVAUM��ATM��UH��S��H��hH�t$�H�L$dH�%(H�D$X1�H�G(H�D$8H�D$(H�$���H�D$0H�D$@H�D$H�W@�L��L��A���<���H����H�4$�@H;���L��L������I��H���gD9p�]L�](L�U0H�T$��H�l$@L�D$(L��L��I��L�T$L�\$�����tvH�t$(1��
{��H�L$HH��t�T$DH����H����v��H�L$8H��t�T$4H����H����v����H�\$XdH3%(��H��h[]A\A]A^A_��H�D$0H�UM��PH�MAUL�T$(L�\$L�D$ L��L���#�����XZ���Q���D9t$4rI�wH�|$8D��:ǖ�*y�����,���H�$L��L��H�t$H�|$(�P ������@H��1���s��H���:���fDH��1��s��H������fD��:ǖ�����1x��H�
�r��H�5�rH�=�r�"t��f���H��dH�%(H�D$1���tK~)��t<��uGH�G0�@H�L$dH3%(uOH�����u#H�W(H�G0H�@��1���@H�G(��H�
s�+H�5�rH�=�r�s���|w��ff.����AWAVAUATUL��SL��H��XL�g(L�w0H�4$H�L$dH�%(H�D$H1����H�D$8M�FH�D$0E�<$E�M��t&K�IH��H�T���8uDxH��H9�u�H��H���>���I��H�����PI�FI$H9����H��H������H��t�@I�$D��1�H��H��H�D�H����D)�A���؟��E����H����I�$I�EH�t$ 1��D$ ���T$$H�D$(��v��A�Dž�ukI�<$I}1��D$��I�FH�|$I�V�D$�q��H�T$H��H��A�VA�Dž�u-H�$�xuH�|$��H��H��H�t$H�<$A�T$A��L�D$8M��t�T$4H��u\L���ds��H�L$HdH3%(D����H��X[]A\A]A^A_�fDH����D9xrzD�xH�xD��1���p�����f�L��1���p��I���D�h��I��E��IE��v��H��t;I�vD��H��H�D$8�D$0��D�l$4�w��H�D$0H�D$����A��:ǖ�@���A�������t��@��AWI��AVAUATUL��SL��H��HL�g(L�o0H�$dH�%(H�D$81����H�D$(H�D$ M��t>K�IL��I��1�@�1�~���v��u�qH�H��H9�u�1�I�4$H���\�H��H��裝��I��H���@�PI�EI$H9��,�H��H���s���H��t�@���A�uH�<$��L��H��H��H�4$A�T$ A�Dž�thH�L$(H��t2�T$$E1�H����H���fq��I�UM��tH���,L���Lq��H�\$8dH3%(D����H��H[]A\A]A^A_�fDI�EM�<$�D$��M~A�ƉD$L�|$M����L����t��I��H����L��L��L��� u��1�L��L���n��H�T$H��H��A�U�T$H�|$L��A���s��H�L$(���:ǖDE�H�����T$$H������H��1��0n��H���������s��I��H���u���H�L$(A�H����������@1�L����m������f�A�W���҉T$HE�H�$�s��H�$�L$H��tF�D$ ��H�D$(�L$$I�wH���t��H�D$ H�$�����I�U�J���A��:ǖ�P���H�D$(����q����H��dH�%(H�D$1���uH�G(�H�T$dH3%(uH����q����AWAVM��AUI��ATI��UH��SL��H��(dH�%(H�D$1��W@M����A��K�vH��H�<�1�fD�>uFH��H9�u�E����1�A����t}A)�L���H���r���H��E��tuH��t|D9xrvD��H�y1�H�L$�\l��H�L$D�yH�D$dH3%(unH�E(L��H��L��L��H�@H��([]A\A]A^A_����L��H�����H��H��t�1�E1��H�T$dH3%(��:ǖuH��([]A\A]A^A_��`p����AVM��AUM��ATI��UH��SH��H��dH�%(H�D$1��W@��M����K�vL��I�T�1��>����uFH��H9�u��t>1���uHI�T$(H�D$dH3%(ufH�B H��L��L��H��H��[]A\A]A^��I�T$(H�
H��t�H9�v�H�\$dH3%(��:ǖuH��[]A\A]A^�@I�T$(��u�1���no��f.�@UH��SH��1�H��XdH�%(H�D$H1�H�T$�D$ ��H�D$�L$$L�D$(�o����uHH�t$�~tW�oEH�T$0L�D$ H�߹�D$0D$8�XH�t$1��D$�6o���D$H�\$HdH3%(u'H��X[]�H���������H�FH�xH�t$�@���n��fDAUM��ATI��UH��SH��1�H��(dH�%(H�D$1�H�T$�.k����u$L��L��H��H�|$�H�t$1��D$��o���D$H�L$dH3%(uH��([]A\A]��n��fD��H���W�dH�%(H�D$1���w H�
�iHc�H�>����
H�t$dH34%(��uH���f�����m��@UH����SH��H��HdH�%(H�D$81��$���L$L�D$�]����{tW�D$*��D$H��H�D$*I��H�T$�H���D$�D$��H�D$ ��VH�t$8dH34%(u+H��H[]ÐH�)i�D$4�H�
�RH�L$*f�T$2���l�����H��dH�%(H�D$1���3��}>��u=H�G0H�@��H�T$dH3%(uAH���f���uH�G0�@��f�1���H�
uh�lH�5�hH�=�h�mh���Xl�����AWAVAUI��L��ATUL��SL��H��hL�w(L�g0L�ljT$�H�L$dH�%(H�D$X1�H�D$ H�D$(�R���H����I�NjPI�D$H��H9���I�G�H��H��H�D$I�GH�$����H��t�@H��t$H�[H��H�T��8u�@H��H9�u�I�VA�u1�H�L$ �l����t[�D$H�$1�H�t$ I�GH�D$I�G�k��H�t$(1��k���D$H�\$XdH3%(�)H��h[]A\A]A^A_��I�VA�u1�H�L$(�l����u�H�D$ �T$L��L��HL�@�5������j���A�D$1�H�t$@H���H�L$@��A�GI�D$IGH�D$H�8k�����-���I�T$I�GH��L��L�l$0H�t$ �D$0��H�D$8M��T$4I�T$A)WID$H��I�G��S������H�D$(H�t$ L��L��HL�@�����������H�T$H�t$(I��H��I�~�t��������:ǖ������i����AWAVI��L��AUM��ATM��USH��L�(H�o0L�ljT$,�H�L$ dH�%(H�D$x1����H�D$@H�D$HH�D$`H�D$h�ܒ��H����H�ËPH�EH��H9��tH�C�L��L��H�D$H�CH�D$蚒��H��t�@���BH�U���҉�H�T$HD���i��H���	H�T$A�vH�D$h1�H�L$@�D$`���T$dI�W�i��������H�D$H�t$@1��L$H�CH�D$H�C�i��H�t$H1��h��L�D$h�L$M��t�T$dH���l�L$L���(f���L$H�\$xdH3%(����H�Ĉ[]A\A]A^A_�@I�WA�vH�L$H1��Ti�������]���H�UH�CH�\$8I���D$P��H�D$X�T$TH�U)SHEH�CH�D$P�\$,H�D$H�D$`H�D$0H�D$@��L��H��HL�@�(�������H�D$HH�T$H��H�t$@�HL�@�B�����uvH�T$ H�t$HM��L��L�������uZL�D$0H�t$@L��L��H���
Q��u>H�UH�t$hH�|$X��g����t'��	ulH�t$HM��L��1�L���������G���H�\$8���O���@L��1��L$�zb���L$I���z���fD��!���fD��:ǖ�j���H�\$8�:ǖ������f��f.���AWM��AVAUI��ATA��UH��SH��8�w1�H�L$H�L$dH�%(H�D$(1�H�� H�D$H�D$ L�pL���~g���Å�t@H�t$1��f��H�t$ 1��f����H�T$(dH3%(��H��8[]A\A]A^A_��uH�L$ L��1��&g���Å�u�H�D$D��L�%a� H��HL�@L���?����Å�u�H�D$ H�t$L��L��HL�@�]����Å��[���H�L$H�t$ M��1�H�=� H�x�������5����e�����AUI��ATI���0UH��SH��(dH�%(H�D$1�H��a��H��tSH��L��L��H���2c����uN�CH�C H�C(H�]H�L$dH3%(u5H��([]A\A]�����f�H�߉D$�b���D$���d��f���H��dH�%(H�D$1�H��t�FH�D$dH3%(uH����d��D��ATUSH��dH�%(H�D$1�H�����FH�����F����H�^ I��H��t.H�CH�E H�{��a��H�sL�����H����a��H�] H��u�H��L���c��H�}(t;H�p`�u���~dH�=�� ;7tH���1��DH��;r�tK��9�u�H�D$dH3%(uSH��H��[]A\�Pa��H�D$dH3%(u3H��[]A\�t�H�=� 1�H�H��H�D(H�@@H��t�H����1����Xc�����H��dH�%(H�D$1�H�D$dH3%(u	H���c���c��f.���H��dH�%(H�D$1��FH�T$dH3%(uH�����b��f.����AUATUSH��dH�%(H�D$1�H����H�A��I��H�Ϳ�^��H��H��tg���D�hD�`M��u,H�@H�]1�H�T$dH3%(u\H��[]A\A]�L���^��H�CH��u�H����_��������H�
Bb�#H�5bH�=#b�
^���a��D��SH��dH�%(H�D$1�H��t+H�NH��H��t�VH��u.H���f_��H�C�CH�D$dH3%(uH��[ÐH��1��\��H�����|a��ff.����SH��H��dH�%(H�D$1��_`��H�D$dH3%(u
H��H��[��^���-a��ff.�f���ATUSH��H���odH�%(H�D$1�H�FH�B�R��u+H�C1�H�L$dH3%(uHH��[]A\��A��H��L���"]��H�CH��tH�uL��H���b��1��fD���`��@��AUI��ATI���UH��SH��(dH�%(H�D$1�H��\��H��t;H��L��L��H���2^����u.H�]H�L$dH3%(u,H��([]A\A]����אH�߉D$�]���D$����_��f���H��dH�%(H�D$1�H��MH�H��t+H�5ң ;>t7H�VX1��fDH��X;z�t'H��H9�u�1�H�t$dH34%(uH���1�DH��H�P�D�P�Ѓ����X_�����AWAVAUATI��UH��SH��dH�%(H�D$1�H��[�H����~<L�5�� 1�I���A;6u�.�H��;w����9�u츼:ǖ��t�L�5i� H��LL�(M���E1�1�1�H�Ȣ �fDI;F(t&�FH��L9�s*H��H�PH��@Pu�H�@(H��uԍFA��H��L9�r�D��H����Z��1�1�1�H��u�f�I;V(t'�wH��L9�s:H��H�VL��A�@Pu�I�P(H��u�L���ʃ�J�4F�4�4��wH��L9�r�D�}I�$1�H�L$dH3%(uJH��[]A\A]A^A_�@H�H��I���f.�1��Z��H��tE1������]��ff.����H��dH�%(H�D$1�H�D$dH3%(uH��H���Z���G]�����H��H��dH�%(H�D$1�H	ϸtAH��YD�E��~GH��� ;0t>H��1��f�H��;p�t&��D9�u︼:ǖH�L$dH3%(uIH���t�1�H��tHc�H��H^� H�@(H�@H�1�H��t�Hc�H��H=>� H�W(H�RH���|\��f.�f���AWAVM��AUATI��USL��H��H�L$��t$dH�%(H�D$81����H�\JA��:ǖH�0H��t6H�=7� 1�H�WX9u�D�H��X9J�t7H��H9�u�A��:ǖH�\$8dH3%(D���)H��H[]A\A]A^A_�f�H��H�PL�,�M�M(M����H�XE�D$�2��~LL�.� E;��I���1��f.�H��D;A�t(��9�u�E1�M��A��A��D�8i�a���t�L�� 1�Hc�H��I�T(M��t	L9��6���A�L$H;J�bH���H�PL�<ǿA�oH��HE���[��H����AoH�D$L��L��A��l$H�L$ L�L$�D$���T$�D$ D$(A�W8A����uH�D$H�|$���H�D$�CA�GLH�{�C9��������D�D$�\��D�D$H��tH�CH�L$��H���_���H��uZD�D$H����W��D�D$�C���A�t$H�T$�[��A�����&����L$����DA��:ǖM���	�������@H��1�D�D$�IU��D�D$H���A�����I��1�����1��u���A��:ǖ����Y����AWM��AVM��AUA��ATA��H��USH��H��dH�%(H�D$1�H�$H��tH���'V���Ņ�u)H�4$H��H��D��M��M��D���Z��H�4$H�߉���Z��H�L$dH3%(��uH��[]A\A]A^A_��Y��f���AWI�׉�AVAUATM��UL��SH��H�t$�L$dH�%(H�D$81�����H��FA��:ǖH�0H��t6H�
ǜ 1�H�AX;u�;�H��X9P�t7H��H9�u�A��:ǖH�L$8dH3%(D���6H��H[]A\A]A^A_�f�H��H�CL�,�M�M(M���H��TA��0��~DL��� A;8��I���1��H��;z�t(��9�u�E1�M��A��A��D�8i�j���t�L�y� 1�H�H��I�D(M��t	I9��@���A�WH;P�o�L��H������I��H���^H��H�
�� H�CL��A�CL�D$A9F�9A�[H��L�\$��HE��1X��H����L�\$M��H�D$(H��\$$L�L$ �T$L���D$ ��L��A�S8A����trH�L$(H���������H����D�D$H���T��D�D$�j���f�A�wH�T$��W��A�����O����T$���fDA��:ǖM���1�����@�T$I�~�D$H�t$(I���X��E�~D�D$�g���H��1�D�D$��Q��D�D$H���d���I��1�����A�����1��j���A��:ǖ���A��:ǖ����&V��fD��AVM��AUM��ATA��U��H��SH��H�� dH�%(H�D$1�H�T$�R����u-H�T$M��M��D���H���R��H�t$H�߉D$�hW���D$H�L$dH3%(u
H�� []A\A]A^��U��f���AWA��AVAUATUSH��H��HH�|$dH�%(H�D$81�H��Q�0��~aL�%� E;<$�hI��$�1��f�H��D;z�t<��9�uシ:ǖH�L$8dH3%(���BH��H[]A\A]A^A_�t�L�%�� 1�H����H��H��I�I�D$(L�hH�@M��H�D$IE��U��I��H��t�H�D$��H��H��HE��kU��H��tfH�CH�T$ H�|$H��L�t$(D�l$$H�T$�U���Ņ�uc�D$H�T$D�{H������CH��A�T$`�Ņ�u<M��u!L����Q������f��H�CM��t�L��1�L���qO�����H�KH��t�H�|$uH���Q����1����H�T$H��1��7O��H�����S��f.���H��dH�%(H�D$1�H�
P�8��~2L�$� A;0tUI���1��
@H��;q�t��9�u�:ǖ�t�L�� 1�H�H��A�Dp�1�H�T$dH3%(u	H���1����!S�����AW��I��AV��AUATU��S��H��dH�%(H�D$1����9A��I��I�̉�A���f�A�֙A��D��Ӆ�u�H��1�L���#N��1�I����A��A����A����D����D�_
D�W�D��1҉�A��A��)�1�DЍ�Љ�1����A)ƃ�A�F���D���A�t1������A�D1�	�D��A��A���@��ى�L��ىˈ
��A���u���t7A��A���t-Ic�E��I�I�T�L)�D�H��وH���H9�u�H�D$dH3%(u=H��[]A\A]A^A_�H�D$dH3%(uH��H��1�L��[]A\A]A^A_�L���Q��H��dH�%(H�D$1�H��?H�H��t/H�5v� ;>t;H�VX1��f.�H��X9z�t'H��H9�u�1�H�|$dH3<%(u_H���1�DH��H�PH�L�(H��t�H�sM�0��~�H��� H;H(t�H���1��f�H��H;J�t���9�u���P�����AWI��AVI��AUI��ATM��UH��SL��H��hdH�%(H�D$X1�I�@M�����pH���4O����uzH�$H�\$(L��H��D�l$H�L$�D$$I�D$L�|$�p�D$ ���D$���aP����u7H�D$L�t$HH�\$ �D$@���D$DI�t$L�L$0H��1�L�D$H����K��H�|$XdH3<%(uSH��h[]A\A]A^A_���L$L��H�L$H�t$�p�D$����O����u�H�D$�D$@��L�t$H�D$D��~O��ff.���AWI��AVI��AUI��ATUH��SL��H��hdH�%(H�D$X1�I�@�pM����H�T$M����M����ueH�D$H�\$(H�\$ �D$ ���D$$I�D$�D$���P�D$@��D�l$D�T$4L�|$HD�l$L�t$L�L$L�D$0H��1�H��H���IL��H�L$XdH3%(uAH��h[]A\A]A^A_�f.��t$4�D$@���L$DL�|$H�D$���L$H�T$��cN����H��dH�%(H�D$1�H�VH�L$dH3%(uH����*N��f.���H��dH�%(H�D$1�H�T$dH3%(uH�����M��ff.���H��dL�%(L�L$E1�L�T$dL3%(uH�ЋvH��H��L��I���M���M��f.���H��(�JdH�%(H�D$1�H�BH���$���L$H�D$�iN��H�L$dH3%(uH��(��?M��ff.�@��H��dH�%(H�D$1�H�T$dH3%(uH����L��ff.���AUI��ATI���UH��SH��(dH�%(H�D$1�H��(I��H��t;A�uH��L��H���QK����u-H�]H�T$dH3%(u+H��([]A\A]�fD��ؐH�߉D$�J���D$���YL��f���H��dH�%(H�D$1��FH�T$dH3%(uH����L��ff.���H��dH�%(H�D$1��VH�L$dH3%(uH�����K��ff.���H��H��1�dH�%(H�D$1�H����K��H�$��uH�|$dH3<%(H��uH���H��������zK��f.���H��dH�%(H�D$1�H���@I��H�$��uH�L$dH3%(H��uH���H��������"K��f���AVAUI��ATA��USL��H��PdH�%(H�D$H1�H��$��$���L$H�T$M��t)M�΁�v��������D����D$D�t$H�\$ H�\$H��L�L$0I��1�D��L���J���Å�u4�T$8H�L$@9UrOH�D$0H�}H��H�E�pL���D$8H�|$@�E�H��H�t$HdH34%(��u2H��P[]A\A]A^ø�r���H��1���:ǖ�E��H�|$@��G����J��fD��AUATI��UH��SL��H��HdH�%(H�D$81�L�l$p�D$��D�D$H�L$M��t"��v���te���>����D$$D�l$(H�\$0H�\$ 1�H�L$L�L$M��H��H����E����u�T$�Һ:ǖD�H�|$8dH3<%(uH��H[]A\A]�@���TI��@��H��(dH�%(H�D$1��|$1�H�t$H���$���I��H�T$dH3%(uH��(��I��@��AWAVI��AUI��ATI��UH��SL��H��HA�V�vdH�%(H�D$81�H�L$�H������H��t0A�t$H�T$L���oG������H�D$�D$ ��H�l$(�D$$L�|$�����CA�D$E��D���C�HD��.I��H��tqH��H�CH�D$ I��HE��C��1�M��D�{L��L��H���D����u$H�L$8dH3%(u3H��H[]A\A]A^A_�DH�{�D$�E���D$��D����G��ff.����AWAVI��AUI��ATI��UL��SH��H��8dH�%(H�D$(1�H��t'�vH�T$�MF����ujH�D$�D$��H�\$�D$E�~��E��IE��)H��H��tdH��H�EH�D$I��HE��E��1�M��D�}L��L��H���D����uH�L$(dH3%(u&H��8[]A\A]A^A_�H�}�D��1��������F��@��H��dH�%(H�D$1�H�D$dH3%(u	H���F���F��f.���H��dH�%(H�D$1�H�D$dH3%(u	H����D���ZF��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���A���F��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���B����E��f.���H��dH�%(H�D$1�H��t{H�(B�8��~5L�?� A;0tYI���1���H��;q�t��9�u�:ǖ�t�L�� 1�H�H��I�D8H�1�H�T$dH3%(u	H���1����8E��H�
�E�(H�5mEH�=lE�)A��f���H��dH�%(H�D$1�H���H����H�y��H�PAD�ND�E����L�]� 1�I���E;
u�f.�H��D;O�t&��D9�u:ǖH�T$dH3%(��H���H�H��H��L�H��L�L�@hM��t>���D�IL9H8u.H�D$dH3%(ufH��A��t�L�č 1�L���L��1�벸�:ǖ���H�
uD�8H�5ADH�=TD�?��H�
VD�7H�5"DH�=%D��?����C��f���ATI��UH��SH��H�� dH�%(H�D$1�H�T$�a@����u(H�t$L��H��H���@��H�t$H�߉D$�E���D$H�L$dH3%(u	H�� []A\��GC�����H��(H�0I��H��dH�%(H�D$1�H��H���H�$H��CH�D$�<���H�T$dH3%(uH��(���B��f���ATUSH��H��@H�(dH�%(H�D$81�H���H�D$H�D$H�0CH�D$H�H9C8�|�oI��H��H�L$A�L�D$1��D$ D$(�@���Ņ�t(H�t$1��C��H�\$8dH3%(��u1H��@[]A\ÐH�{(H�t$H�T$ M���e=����빐��:ǖ��B��@��AUI��ATI��UH��SH��(�oH��dH�%(H�D$1�H�6� H���$D$H��P��u�oMI�E(�1�H��L��L$�PH�L$dH3%(uH��([]A\A]��oA��f.�D��AW���AVI��AUATI��UH��SH��hL�o(H�L$dH�%(H�\$X1�H�_0H�D$ H���H�D$0H��AH�D$8�H�D$(L�{H�D$E��D��HD��A��H���+�AoD�|$$L�|$@H�T$ H�D$(�L���D$@D$H�SA�ƅ�t[L�D$(M��tH�SH����L���$>��H�D$H��1��B��D��H�L$XdH3%(��H��h[]A\A]A^A_��H�}(H�L$E1�L��L�D$01��m>��A�ƅ�u�H�D$(1�1�H�|$H�D$PI�MH�CH��L������D$LH�E(�PA�ƅ��D���H�D$H�t$PH�x�P�A���)���@L��1��;��I���*���fDA��&����?����H��(dH�%(H�D$1��yu<�oI��H�=Ā H���$D$��;��H�|$dH3<%(u$H��(�H�
�?�#H�5�?H�=�?�';���?��f���H��dH�%(H�D$1�H�D$dH3%(uH��H��1��:����>��D��AUA��ATUH��SH��H��dH�%(H��$�1��N?�����&H��t2�L>��I��A�$1�1�H��H��>��<����~IH�H�H)�u�A�f�H��$�dH3%(D����H�Ĩ[]A\A]��A�<$t�E��H��>H�=�>HD�1�1�E1��@��A�ă��t���D��1���?��H��D���\=�����t?�D$%�=�t/�H��H��D���:��H��~H�H)�u�A��DE1�D���8���(������H��E1��>����A�������R=��f���H��dH�%(H�D$1�H�T$dH3%(uH����=��ff.���H��dH�%(H�D$1�H�D$dH3%(uH�����<��ff.���H��dH�%(H�D$1�H�T$dH3%(uH����<��ff.���H��H���v1�dH�%(H�L$1�H�x������%�:ǖH�T$dH3%(uH����C<����H��dH�%(H�D$1�H�T$dH3%(uH����<��f.�@��USH��dH�%(H�D$1�H����H��H����H�y��H�;8D�E��~OL�P� A;2��M���1��@I��A;p�t1��D9�u:ǖH�|$dH3<%(��u|H��[]�t�L��� 1�H��sH��L�H�H(H;quJH��H��P`�Ņ�t��SH�KH��u�f.���f�H��1��v6��H���1�렽�:ǖ�r�����:��ff.���H��dH�%(H�L$1ɋN9Ou0H�����H�~�PH�p�<��1�H�T$dH3%(uH��ø�:ǖ���:��@��SH��dH�%(H�D$1����H������WH�wH�{�D<��H�S��J�������	��J��	��J����	��J����	��J���� 	��J����@	ȈBH�{�Gb��1�H�t$dH34%(uH��[����:ǖ���9��ff.����AUATUSH��dH�%(H�D$1�������H��I��1�E1�H�SI�EL�H�I���
��Jf�H�R�PI�UH���J�������	��J��	��J����	��J����	��J���� 	��J����@	ȈBI�}H�H���Ka��I���j���1�H�t$dH34%(uH��[]A\A]ø�:ǖ���8���AUI��ATM��UH��SH��H��dH�%(H��$�1�H�T$H�|$PH���1�H�t$@HDŽ$�H�D$@�D$H�5�������CH�L$0�H�|$��H�t$`L�D$ �D$`)��D$h����$�H��$�H��$�H���H�D$0H�D$ H��y �\$lL�l$p�D$xDŽ$���H�l$8L�d$(�P(H�t$1��D$�W9���D$H��$�dH3%(uH�Ĩ[]A\A]��}7��ff.�f�AWAVAUATUSH��hH�t$(L��$RdH�%(H��$X1�H��$H�D$f��H��I9�u��7L�T$E1Ʌ�tJDL�ҹ���H��������B����u�H��A���7A��@�…���I����u�1��?�9L��$�H��$�H�=h:H�5A:��H����A�H��H�����T�H��u�H�L$0�L�%�9H�L$I�kL�SD��L��L�
�9H�=�9f�1�E��~cf���$�L��DD�xH��D�x�H9�u�@��$���$�H��D�xH��D�x�I9�u��@��$�D9�u�1��)���A�1�7����Hc�H��������1�D1H��H��u�H��0I9�tE�,$I���4���@fo%x8fo-�8fo5�8H�D$)�$p)�$�)�$��H��L9�u�#L�T$(E1���C�
��Z~s����C�<	��.1�D��D�g��s.�A�Hc�Hc�D��p��p@��pD��p����u�I��t'�~A���C�
��Z���9~��f�H��$P�D$$H�k H�$H�D$L��$pL�-T5L�`@H�C@H�D$�H��H�ڸ:H�|$H�5J8��H�H����H���B�H9�u�L�L$�fo�$�1�fo�$)�$0)�$@@I����A2A�H��H��0u�H�4$L��1��D�@H��H����B��D�@�B��D�@�B�BD�@�A��P���D�Lcǃ�I��Hc�M�A�A��A��A��A��A��D�F�D�V�A���A����A���V�D�V����v���H�56H�ڸ���H��H���P2B��BH9��0fo�$0I��0fo�$@)�$�)�$�M9������f���Q H���Q��AH9�u�H�
t6H�T$�(���H����H��H�����B�I9�u�l$$����H�D$(H�xH�D$H�pL�@H�H�V�1�f��
�H��	�H9�u�P.��9~�P5��Z~�P;H���H��I9�u�H�|$(��G
u��GH��$XdH3<%(H�D$(u%H��h[]A\A]A^A_���H������1�����AWAVAUATUH��SH��H��hdH�%(H�D$X1�H���?�y��H�A�����I�xH�|$���3�KD�e�D$ F�4!�$L��M���-��I��H�����$����E����f�H�l$ )D$ E���A�}�L��1�H��L�L�E�fD�H��H��H�F2L9��HD�H9�u�D$ �t$(�L$,���%������A���D$$��ׁ���� 1�f.�A�����A��D	ʃ�u� �A�����A��D	ȃ�u�1�D1�H��D$ �T$$�X��H���X����t�t$'�I��L��L��H��H���S����Å�tE��f�)D$ E��ugL���-����H�\$XdH3%(�nH��h[]A\A]A^A_�fDH���X��H���HX����t�t$'�H�D$ H�t$f�H�)D$ E��t�L��1�L����*���D��H�uD��L��_1���X���f.�H�s��H���B1���$�/���f.�I�@H�D$����f���3���fDD�fA���2H�D$7�D$?E1�H�D$�EH�D$7���<��,��L�t$H�L��M�n�
fDE�>B�DytH�$�k/��H�$H�B��A�I��M9�u�E��t7H�KA�|$�H�D$H�QH���H���	0H��H��H9�u��}u�EXH��I9�u�H�|$H�t$@�D$?���H�\$�H�pH���k/��H�S�� H��H9�u�H�|$�[V���D$?H�D$H�D$71�����1�E1�1�1��Q���f�D�}C�<H�ljD$H�D$�'*��I��H�������H�sD��H���/��E��tQ�+��H�mH�A�G�H�DA)�H�$E�,,D�}M�E�}B�D{t�.��H�B��A�EH��H9,$u�H�l$@L�l$7H�kerberosH��H�D$7H�D$@�U��H�L$I��L��L��H���Z�Å�u;H�D$@H��H�D$7�RU��L�|$L��L��H�L$H��M���'�Å�uL���)U���D$��uQL���i*������@��:ǖ����fD���H�uH�|$G¹	���)��D�|$7���DH�T$1�L����'����Z,��f.�AWI��AVAUI��L��ATI��USH��h��$�H�|$H��$�H��$��D$dH�%(H�D$X1����H�D$(H�D$@H�D$HM����A�yI�A��ȉŃ�=�����H�w ���u	H9���H�CH�D$8�C�D$4�������H��ttD�RE�w��H�T$G�D2D�T$E��D�$IE��6,��I��H���zD�$H�T$H�D$HD�D$DD�D$E��M���&C�E����L�|$@I�<$H����H��H�t$0M��L����Ņ�tMH�|$HH�����(������H�t$(1��v,��H�L$XdH3%(���
H��h[]A\A]A^A_ÐH�T$(H��1��a'���Ņ�u�H�D$D�L$H��L�7l H�T$(I�4$H�8覍��H�|$H��H���|����r�����T$4H�|$81��%���i���H�����H�=�k ����@A�zI�wD��L�|$@L��,����H�rH��L��L�$��+��L�$D�T$I��C�E�������뱐�����fD��:ǖ��fD��:ǖ����)�����AWI��AVA�AUATUSH���ZH�t$(H�T$0L�D$8dH�%(H�D$x1�H�G(��\$H�D$HH�HL�`�FH�L$��D$��H��H��H�L$ ID��)���D$I��H���tM��L���IE���)��H��H���H�L$L���H��HE��)���D$I��H�����T$�����D$����B���<�H��L���#���D$H�L$`D�d$TH�\$XH�ΉD$hA�L�t$p�D$dH�D$PH�L$H��H�D$A�W`�D$��uyH�L$H�T$H1�H���%���D$��u]H��,I�(E1�1�L�D$H�T$XH�L$8H�T$H�D$T�9����D$��t$H�D$81��PH�x�N#���@�D$E1���uyL���q%��H��t
M��uWH���_%��M��tH�|$ujL���J%��L�l$H1�L���;)���D$H�T$xdH3%(��H�Ĉ[]A\A]A^A_ÐL��1�H����"��뚐H�T$ 1�L���"���s���@H�T$1�L���"����H�D$0�|$�T$H�pL��)���^���f�H�D$(�T$L��H�p��(���6�����&�����H�� I��H��dH�%(H�L$1�hH��H�w0jH��(H��APE1��S���H�� H�L$dH3%(uH����&��D��AWM��AVI��AUI��ATI��USH��H��(H�odH�%(H�D$1�H���$��H�l$L��M��D$H��H�s0H�{(�D$��L��h�jAWL�D$ ���H�� H�T$dH3%(uH��([]A\A]A^A_���%��f���AWM��AVI��AUI��ATI��USH��H��(H�odH�%(H�D$1�H���s#��H�l$L��M��D$H��H�s0H�{(�D$��L��h�jAWL�D$ ����H�� H�T$dH3%(uH��([]A\A]A^A_��B%��f���AWAVAUATUSH��HdH�%(H�D$81�H���eA�xM���GD�nL�~I���I�u��%��H��H����M����H�T$H��H���T!��A�T$��H����H���\"����uqH�D$A�V�D$ H�|$ �D$(����D$,H�$�T$H�T$H�D$0I�F�D$��H�D$H��w �PH�$��H��tH�T$H��ugH����!��H�\$8dH3%(��uH��H[]A\A]A^A_�fDL��L��H���&���)���D1�H���^��H���!�����6����@H��1��>��H���f���:ǖ�f���:ǖ�o����#�����H��H����dH�%(H�D$1�H��D�WD�E��~LH�	m D;tBL���1��f�I��E;P�t&��D9�u�H�T$dH3%(��:ǖu7H���t�1�H�T$dH3%(uH�H��H��H�v H�@(H�@0H������"��ff.�f���H��D�FdH�%(H�D$1�H�9�0��~/L�
Pl E;tVI���1��
H��D;A�t��9�u︼:ǖ�t�L�
l 1�H�H��H��I�D(�P81�H�|$dH3<%(u	H���1����L"��f.�f���AWAVAUATUSH��(H�t$dH�%(H�D$1�H�BL�0M����H��E1�L�-f 1��<DI�H��t!H�������tkI�H��tH�������tVA�\$I��L9�siH��H��H�CM�|�I�������u�A�H�L$�H�L$dH3%(u9H��([]A\A]A^A_�H��H�T$H�CA�D��1�������D!��@��AWAVI��AUI��L��ATUL��S��H��8dH�%(H�D$(1����H�D$H�D$H�r����H�5�j 1�H���;u�(H��;_�t7��9�u�A��:ǖH�L$(dH3%(D���H��8[]A\A]A^A_�@Lc�I��J�&H�$M����A�}�A�t�H�H�L$H��L�$I�D$(L�xL�����H�EH����I���E��L��L��H�L$H�<$�]D�}A�T$XA�����T���H�MH��tM��u`D�$H�����D�$�EH�E�"�������H�5oi 1�H�4$M���H���L�l$�K���A���H�4$1�����H��L��1��$���D�$H������f���H��dH�%(H�D$1�H�D$dH3%(uM��H��E1������D��@��H��dH�%(H�D$1�H�Q
H�H��t+H�2c ;8t>H�PX1��fDH��X;z�t'H��H9�u�1�H�t$dH34%(uH�����������@��AWI��AVM��AUA��ATI��UL��SH��H��x�oA�xdH�%(H�D$h1��D$0D$8�|$��uH��ujH����:ǖL�M��t-H�5ob 1�H�VX9>u��H��X9z�tWH��L9�u:ǖH�\$hdH3%(����H��x[]A\A]A^A_�@�vH�T$L����������u��|$�w����H��H�PH�<�L�G(H����H�<D�[D�E��~IL�
Mg E;�@I���1��f�H��D;Y�t&��D9�u�1�M������D�8i�B���t�L�
g 1�Hc�H��I�T(M��t	I9������KH;J��H�UD�U�D$ ��H�T$(H��H�PD�T$$H��H�B@H��t:H�L$0H��D��A�AVH��L�L$0�Љ�XZ�����:ǖM��������D;RLD�T$ur�uD��L�L$PM��H��L����������y����T$H�u�D$H�|$`���H�|$`������A��'���L$�E���H��1����1������:ǖ�*�����:ǖ� ����D��@��AWM��AVM��AUI��ATA��USH��H��dH�%(H�D$1�H�$H��tH�������Ņ�u&H�4$H��M��M��L��D�����H�4$H�߉��~��H�L$dH3%(��uH��[]A\A]A^A_�������AWAVA��AUATM��UL��SH�Ӊ�H��H�t$L��$�dH�%(H�D$81�����H��	A��:ǖH�0H��t/L�
`_ 1�I�AXA9u�aH��X9P�t7H��H9�u�A��:ǖH�\$8dH3%(D���{H��H[]A\A]A^A_�f�H��H�AM�,�I�}(H���/H�LD�S�0��~EL�_d E;�I���1��
H��D;R�t(��9�u�E1�H��A��A��D�8i�i���t�L�d 1�H�H��I�D(H��t	H9��?����SH;P���L��H��H�$�C��I��H����H�$L�
E^ H��H�AM��A�BL�$A9C�wI�B@H��toH��M��D��H��AWM�KH��L���A��XZ����f.��sH�T$����A����������T$�S����A��:ǖH��������D���@A�BH��L�\$L�T$���D$HE��I��H����H�D$(L�T$M��H��D$L�L$ D��H���D$ ��L��D$$A�R8L�\$��A��t,H�L$(H��������T$H��uFD�$H�����D�$�����$I�s�D$H�|$(�q��D�D$������A��M��1����H��1�D�$�'��D�$H���1��1���A����A��:ǖ�y���A��:ǖ�n���������AWM��AVAUM��ATA��U��H��SH��H��(dH�%(H�D$1�H�T$L�t$`�����u5H��M��M��D��AVH�T$ ��H�����H�߉D$XZH�t$����D$H�L$dH3%(uH��([]A\A]A^A_������SH���H�=IH��H��dH�%(H�D$1���������H�=H����������H�=H�������tj��������H�=_H����������H�=H�������umH�D$dH3%(��H��[����H�D$dH3%(��H��[����f.�H�D$dH3%(ujH��[����fD1�H�T$dH3%(uHH��[��H�D$dH3%(u*H��[�F��fDH�D$dH3%(u
H��[����a�����AWAVAUATI��USH��hH�WdH�%(H�D$X1��D$�FH;G�A�@M��H9���I��I��H���$���H�������H��H����L������A�WI�wH��H�����H��t7E1�1�DH�@I�ċ����w�QH�qH������A�FI��H9�r�H�l$H�T$H��H�������T$A9Us,H������1�H�\$XdH3%(u?H��h[]A\A]A^A_�A�UI�}H���8����fD�뿸�:ǖ븸�:ǖ����fD��H��dH�%(H�D$1�H�D$dH3%(u	H����������f.���H��dH�%(H�D$1�H�T$dH3%(uH������ff.���H��dH�%(H�D$1�H�D$dH3%(uH����^��f.�@��AUI��ATM��UH��SH��H��dH�%(H�D$1�H;=�g teH;=�g tlH;=�g us����I��M��tfI�T$A�L$�sE��C�uH�}P���X1�ZH�\$dH3%(u9H��[]A\A]�����I���fD�c��I���fD��:ǖ����f.�f���AVI��AUATI��UH��SH��dH�%(H�D$1����H����I�����1�L��H���d��M��toH��1ۅ�t�UH�uL��H�������u&I9�vQH��I9�vHH�CH��L9�s;H����fDH��I9�u�L��1�L�����L��tC���1��f���u�@L�������H�L$dH3%(u*H��[]A\A]A^�fD������@����l����H��H���aes.ccamellia.caead.cstream != NULLi <= num_data + 2krb5int_c_iov_decrypt_streamsignaturekeycrc32md4-desRSA-MD4 with DES cbc modedes-cbcmd5-desRSA-MD5 with DES cbc modeshaNIST-SHAhmac-sha1-des3hmac-sha1-des3-kdHMAC-SHA1 DES3 keyhmac-md5-rc4hmac-md5-enchmac-md5-earcfourMicrosoft HMAC MD5hmac-sha1-96-aes128HMAC-SHA1 AES128 keyhmac-sha1-96-aes256HMAC-SHA1 AES256 keymd5-hmac-rc4Microsoft MD5 HMACcmac-camellia128CMAC Camellia128 keycmac-camellia256CMAC Camellia256 keyhmac-sha256-128-aes128HMAC-SHA256 AES128 keyhmac-sha384-192-aes256HMAC-SHA384 AES256 keyenc->cbc_mac != NULLoutput->length >= d.lengthkrb5int_cmac_checksumcombine�0w,a��Q	��m��jp5�c���d�2�����y�����җ+L�	�|�~-�����d�� �jHq���A��}�����mQ���DžӃV�l��kdz�b���e�O\�lcc=��
�� n;^iL�A`�rqg���<G�K��
�k�
����5l��B�ɻ�@����l�2u\�E�
��Y=ѫ�0�&:�Q�Q��aп��!#ijV���������(�_���$���|o/LhX�a�=-f��A�vq�� Ҙ*�����q���俟3Ը���x4���	����
j-=m�ld�\c��Qkkbal�0e�Nb��l{����W���ٰeP�긾�|�����bI-��|ӌeL�Xa�M�Q�:t���0��A��Jו�=m�Ѥ����j�iC��n4F�g�и`�s-D�3_L
��|
�<qP�A'�� �%�hW��o 	�f���a���^���)"����=�Y�
�.;\���l�� ���������ұt9G���wҝ&���sc��;d�>jm
�Zjz����	�'�
��}D��ң�h���i]Wb��ge�q6l�knv��+ӉZz��J�go߹��ホC��Վ�`���~�ѡ���8R��O�g��gW����?K6�H�+
�L
��J6`zA��`�U�g��n1y�iF��a��f���o%6�hR�w�G��"/&U�;��(���Z�+j�\����1���,��[��d�&�c���ju
�m�	�?6��grW�J��z���+�{8���Ғ
������|!����ӆB������hn�����[&���w�owG��Z�pj��;f\��e�i�b��kaE�lx�
���
�T�N³9a&g��`�MGiI�wn>JjѮ�Z��f�@�;�7S���Ş��ϲG�0��º�0��S���$6к���)W�T�g�#.zf��Ja�h]�+o*7������Z��-�[��\��\���[���[��\��\��crypto_libinit.ck5int_i->did_run != 0krb5int_crypto_initenc_dk_cmac.c0 && "bad type passed to krb5int_camellia_crypto_length"krb5int_camellia_crypto_lengthenc_dk_hmac.chmacsize <= d2.length0 && "invalid cryptotype passed to krb5int_dk_crypto_length"0 && "invalid cryptotype passed to krb5int_aes_crypto_length"krb5int_dk_encryptkrb5int_aes_crypto_lengthkrb5int_dk_crypto_lengthenc_etm.ctrailer_len <= cksum.length0 && "invalid cryptotype passed to krb5int_aes2_crypto_length"krb5int_etm_decryptkrb5int_etm_encryptkrb5int_aes2_crypto_lengthenc_old.c0 && "invalid cryptotype passed to krb5int_old_crypto_length"krb5int_old_crypto_length������������������������������������������������������������������������������������krb5int_arcfour_crypto_lengthfortybitsenc_rc4.c0 && "invalid cryptotype passed to krb5int_arcfour_crypto_length"des-cbc-crcDES cbc mode with CRC-32des-cbc-md4DES cbc mode with RSA-MD4des-cbc-md5DES cbc mode with RSA-MD5des-cbc-rawdes3-cbc-rawTriple DES cbc mode rawdes3-cbc-sha1des3-hmac-sha1des3-cbc-sha1-kddes-hmac-sha1DES with HMAC/sha1arcfour-hmacrc4-hmacarcfour-hmac-md5ArcFour with HMAC/md5arcfour-hmac-exprc4-hmac-exparcfour-hmac-md5-expaes128-cts-hmac-sha1-96aes128-ctsaes128-sha1aes256-cts-hmac-sha1-96aes256-ctsaes256-sha1camellia128-cts-cmaccamellia128-ctscamellia256-cts-cmaccamellia256-ctsaes128-cts-hmac-sha256-128aes128-sha2aes256-cts-hmac-sha384-192aes256-sha2Triple DES cbc mode with HMAC/sha1Exportable ArcFour with HMAC/md5AES-128 CTS mode with 96-bit SHA-1 HMACAES-256 CTS mode with 96-bit SHA-1 HMACCamellia-128 CTS mode with CMACCamellia-256 CTS mode with CMACAES-128 CTS mode with 128-bit SHA-256 HMACAES-256 CTS mode with 192-bit SHA-384 HMACkeyblocks.coutkrb5int_c_init_keyblockprf.cleninput && outputoutput->datakrb5_k_prfkrb5_c_prf_lengthprfprf_rc4.cout->length == 20krb5int_arcfour_prf/dev/random/dev/urandom

	

	
	
	

	



	

	

	
	

	

	


	
	


	
	


	

	

	

	
	

	

	
	

	


	

	


	

	

	

		



	
 	
 		


 )4%/7(3-!0,1'8"5.*2$ 

?7/'>6.&=5-%
91)!	:2*"
;3+#<4,$(08@ '/7?&.6>%-
5=$,4<#+3;"*
2:!)	19:2*"
<4,$>6.&@80( 91)!	;3+#=5-%
?7/'kerberoskerberosSHA1SHA-256SHA-384;�����`���������3����3�����3����34����3`���������@����X����P��������`�	���0
������(	0��X	���|	����	���
0��l
0���
����
 ��<p����������,����p ����!��
 "��P
�"���
#���
p#���
�#��0$��LP$��h�$���P%����'���P(�� �(��D*���+����+��@.��P 0���3����3���4��\6����8����9��@�:����;���?��(P?��H�?��h�@����@���pF��G�� �G��L�L���0M���@N����N���P��P�P��lPQ����Q���0R���0U��D�U��� W���W��H�Y����^����_��0Pb����d����e��@f��<�f����g���ph���i���i��$�j��@�k���`l���pm���n��o��\�o��xq���s���s��4t��Ppw����y����{��@P}����}������`���p�������������0Љ��L������� ��4 `���p Ѝ��� �����  ���� ����$!����t!��!�����!�" ���\"`���x"�����"�����"����"P���#�P#�����# ����#��#0���$���8$С���$p����$P���%��`%�����%P����%�8&����T&����&����&P���'����$'��@'@���\'����x' ����'`����'�����'���(P���$(`���h( ����(p����(����)����X)��t) ����)`����)�����)`����)����*0���@*����`*p����*����*��(+`���H+����d+ ����+`����+�����+���+0���,p���0,����\,�x,�����,����,��-���h- ���-���.���X.����.����.0��8/����/����/0���/0��0���d00���0����00��1���P1���1��2�X2`��2���2���2 ��2��@3zRx�$8�pFJw�?:*3$"D��`\�����D �
KHx,����F�E�B �E(�A0�D8�J�s
8A0A(B BBBBH������F�E�B �E(�A0�D8�J�s
8A0A(B BBBBP4���lF�E�E �E(�D0�A8�J�
8A0A(B BBBDdP����D �
KH����F�E�B �E(�A0�D8�J�s
8A0A(B BBBBL�h����F�E�B �E(�A0�D8�J�s
8A0A(B BBBB(����E�D�D0[
AAFHHL���F�B�E �E(�A0�D8�G`�
8A0A(B BBBC,����oE�G m
AFa
DE ����ZE�Q }
AAL���HB�I�B �E(�A0�A8�J�Y
8A0A(B BBBGL8���F�B�B �B(�A0�A8�G�v
8A0A(B BBBKL����HB�I�E �E(�A0�A8�J�W
8A0A(B BBBFP�����F�B�B �B(�A0�A8�G�v
8A0A(B BBBK(,h
��|E�D�D0V
AAKLX�
��nF�B�E �E(�A0�D8�J�
8A0A(B BBBGL����HB�I�E �E(�A0�A8�J�W
8A0A(B BBBFL��
��HB�I�B �E(�A0�A8�J�Y
8A0A(B BBBGLH����F�B�B �B(�A0�A8�G�v
8A0A(B BBBKP�����F�B�B �B(�A0�A8�G�v
8A0A(B BBBKD�8���F�B�B �A(�A0�D@�
0A(A BBBC@4���B�E�E �D(�C0�G@�
0A(A BBBD@x|���F�D�D �G0u
 HGBEY
 AABA@�����F�D�D �G0u
 HGBEY
 AABA0��\F�D�D �G0l
 HGBE04@��\F�D�D �G0l
 HGBE0hl��\F�D�D �G0l
 HGBE����6H d
E����6H d
E����D p
A�D��yH b
FH���uF�E�B �B(�G0�A8�Gp�
8A0A(B BBBJ0X���vF�I�D �D0U
 AABA �(��eE�G R
AAH�t��IF�B�B �B(�A0�A8�D`�
8A0A(B BBBJL�x���F�B�B �B(�A0�A8�DP�
8A0A(B BBBAL	(���H �
ALl	����F�B�B �E(�D0�D8�D��
8A0A(B BBBFL�	����F�B�E �E(�A0�D8�D�:
8A0A(B BBBAL
x���F�E�B �E(�G0�D8�J�e
8A0A(B BBBJ$\
"��kH B
BY
A@�
`"��B�B�E �D(�A0�DP}
0A(A BBBIH�
,#��lF�B�E �E(�D0�D8�G�y
8A0A(B BBBDLP$���F�E�B �B(�D0�D8�D�(
8A0A(B BBBCDd�&���F�D�E �D(�J0�D`i
0A(A BBBFD�X'���F�G�E �D(�G0�D`f
0A(A BBBAL��'��lF�K�E �E(�A0�I8�D��
8A0A(B BBBGLD)��F�B�B �B(�A0�A8�G��
8A0A(B BBBE��+��DH u
B�,���H c
A$�p,���E�D r
AA��,��AD w
AP
,-���F�B�B �B(�A0�A8�G��
8A0A(B BBBFl
h2���H `
A(�
�2���A�D�G`�
AAAH�
L3��F�H�B �B(�A0�A8�G�`
8A0A(B BBBK 8��fH X
A $p8��
E�G s
AH H\9���E�G ~
AELl�9���F�E�B �B(�A0�A8�D`j
8A0A(B BBBG�(;��PH B
A�\;��xH K
A���cH w
AY
E(�;���E�N�G0J
AAJ @<��PE�G }
AAHd0<���F�E�E �B(�A0�A8�G��
8A0A(B BBBA@��>���F�E�E �D(�C0�GP_
0A(A BBBAx�0?��^F�B�E �E(�D0�A8�D`r
8A0A(B BBBI]
8A0A(B BBBBk
8J0D(B BBBE@p@���F�E�E �D(�C0�GP_
0A(A BBBAL�`@���F�B�B �B(�A0�A8�G�u
8A0A(B BBBDH�A��F�E�E �B(�A0�A8�J�l
8A0A(B BBBDHP�F��F�E�B �E(�I0�D8�Gp�
8A0A(B BBBHL��G��sF�E�B �E(�D0�D8�G�1
8A0A(B BBBDH��I���F�E�E �B(�A0�A8�J�
8A0A(B BBBI@8L���F�E�E �D(�C0�GP_
0A(A BBBA(|hL���E�D j
ADi
AB@��L���F�E�E �D(�C0�GP_
0A(A BBBAL�HM���F�B�B �B(�D0�A8�GPi
8A0A(B BBBE<�M���H ^
JX|N���H {
At�N���H }
A�dO��(H �
BH�xP���F�B�B �B(�A0�A8�DP�
8A0A(B BBBF �Q���E�J �
AAH�Q��
F�B�B �B(�D0�A8�GP�
8A0A(B BBBAhlR���H �
A@��R���B�J�E �D(�D0�Gpo
0A(A BBBI��S��qH v
BH�T���F�J�B �E(�D0�A8�Dp�
8A0A(B BBBGP0DU���F�J�H �B(�D0�D8�D�d
8A0A(B BBBD��V��qH w
A�DW��xH v
BL��W��gF�B�B �E(�A0�D8�J��
8A0A(B BBBBL�Z��_F�B�E �E(�A0�D8�G��
8A0A(B BBBHL\�\���B�F�B �B(�D0�A8�D�d
8A0A(B BBBEL�H^���B�G�B �E(�D0�D8�D�U
8A0A(B BBBE��_���H v
B\`��>F�B�B �E(�D0�D8�J��
8A0A(B BBBDi�B�R�A�`x�b��NF�B�B �E(�D0�D8�F�A
8A0A(B BBBHM�F�]�A���d���H |
DL�le���F�B�B �B(�A0�D8�G��
8A0A(B BBBGPH�g��F�E�B �B(�A0�D8�G�D
8A0A(B BBBG�Xj��=H o
A`�|j��@F�B�E �E(�I0�D8�G`�
8A0A(B BBBIx
8A0A(B BBBATXk���F�E�E �D(�D0�L@k
0M(A BBBEk
0A(A BBBE(tl���A�D�Ip�
AAD8��l��zB�E�D �D(�IPV
(A ABBA��l��lH N
J(�<m���A�F�G`~
AAB$�m���H ~
JL@Dn��`F�B�B �H(�A0�D8�G�
8A0A(B BBBHL�Tp��&F�B�H �E(�D0�A8�G�x
8A0A(B BBBEH�4s��8F�E�B �E(�D0�D8�Dp|
8A0A(B BBBD8,(t���F�E�I �D(�DPe
(A ABBIh�t��;H m
A@��t��(F�A�A �D0�
 DABET
 AABA��u��6H d
E��u��5H g
A8v���F�B�A �A(�D@p
(A ABBD @�v��tE�D T
AB dw��CE�G i
DE0�,w���F�A�A �G0D
 AABI<��w���F�E�I �D(�DPN
(A ABBH��w���H `
AHhx���F�B�B �B(�D0�D8�DPa
8A0A(B BBBEh�y��9H g
E�z���H r
AH��z���F�B�E �B(�D0�A8�G��
8A0A(B BBBCH�D}���F�E�E �E(�G0�A8�GPj
8A0A(B BBBAH<�}���F�G�B �B(�D0�D8�D��
8A0A(B BBBC@�,����F�E�E �D(�F0�GP_
0A(A BBBAL�x����F�E�B �B(�A0�A8�G�x
8A0A(B BBBA����H }
Ad<x����F�H�D �B(�A0�C8�GPC
8A0A(B BBBDT
8I0A(B BBBE������D d
AH�d���2F�E�E �E(�D0�D8�G��
8A0A(B BBBHH X���
F�E�E �E(�A0�D8�G��
8A0A(B BBBKX ���6H h
At @���2H d
A� d���FH n
K� ����QH0C
A� ܆��2H d
A8� ����F�E�I �D(�DPO
(A ABBG !d���5H g
A<!����5H g
AX!����VH |
Dt!�NH w
A@�!$���
F�B�E �D(�A0�G��
0A(A BBBA8�!��F�B�D �D(�Gp�
(A ABBE"t���LH0~
AH,"����4F�B�E �E(�D0�D8�G��
8A0A(B BBBFHx"�����F�B�E �E(�D0�D8�Gp�
8A0A(B BBBA�"@���6H d
E�"d���6H d
E�"����6H d
E#����6H d
E4#Ћ���H �
A P#t���GH �
A@
C4t#����yF�D�D �G@Z
 AABA�#��^H0P
A4�#(����F�A�A �G`�
 AABB<$Ў���F�E�I �D(�DPi
(A ABBALD$0����F�G�E �B(�I0�D8�D��
8A0A(B BBBH�$����~H0Q
A�$���;H g
G8�$4���~F�E�A �D(�J��
(A ABBI%x���2H d
A(%����2H d
AD%����2H d
A`%��MK |
A|%���2H d
A(�%8���E�A�D0�
AAA�%,���\H G
A �%p����E�D �
AH8&����F�B�A �A(�D@�
(A ABBA<D&��3B�E�D �D(�J�
(A ABBAL�&���B�B�B �B(�A0�A8�G�	�
8A0A(B BBBHL�&`���FF�B�B �B(�A0�D8�G��
8A0A(B BBBGL$'`����B�E�B �H(�D0�A8�D��
8A0A(B BBBBLt'�����F�E�H �B(�A0�A8�G�
8A0A(B BBBB$�'0���[H([0I8I@L T
AX�'h����F�E�E �E(�D0�A8�G`ohXpBxB�N`T
8A0A(B BBBAXH(�����F�E�E �E(�D0�A8�G`ohXpBxB�N`T
8A0A(B BBBAL�(��F�B�B �B(�A0�A8�D�

8A0A(B BBBG �(@����H s
Ap
B)ܨ���H �
AL4)`����F�B�B �B(�A0�A8�D`�
8A0A(B BBBDH�)����F�B�E �H(�A0�D8�Fp�
8A0A(B BBBE�)����<H g
H�)����|H `
H\*���|F�E�E �E(�D0�D8�G��
8A0A(B BBBE��K�M�A�Ll*(����F�E�E �E(�D0�A8�GPg
8A0A(B BBBA\�*x���F�B�E �B(�D0�D8�I��
8A0A(B BBBC��K�P�A�T+8����F�E�B �E(�D0�F8�G`ghKpWhA`b
8A0A(B BBBALt+����A�V �
ALX
AOT
AKV
AIT
AKT
AEH�+����JF�B�B �B(�D0�A8�D��
8A0A(B BBBD,����6H d
E,,س��2H d
AH,����2H d
ADd, ����F�E�D �D(�G@EHNPFHC@T
(A ABBHD�,����F�E�B �D(�D0�D@�
0A(A BBBG�,0��H -9��H -B��H 0-K��H D-T��H GNU�0`�__��!�j�jPjplCRC32p�SHA-3840� �SHA-256 @��SHA1@`�MD5@ЂMD4@@����`�b�`�d����h�f���  �l���l��  p|p~�u��p|p~�u��XJ�X �!���X�X��^JfJ�!@����JsJ�!���Y	Y���J�J�!@���	�J�J��!���J�J�J��!P�v����J�JKK��*K>K��!P�SKgK��!P�w���|K�K���K�Kp��K�Kp��K�K0� L-L0�0�X�X�! �!���@��*�! 8�X�X�!���@��*�! 8�XbJ�X�!���@��*�! 8Y1Y�!@������*�! 8Y*Y@������2p"pBYPY_Y�Z��!���� ��2p"�ppY~Y�!��!���� ��2�!8�Y�Y�Y�Y@���0��6@!�v���@�Y�Y�Y [@���0��6@!�v���(ZZ$ZH[��!0��� �@5@!��0ZHZSZp[��!0��� �@5@!�_ZtZ�[��@����5@!@��Z�Z�[��@����5@!@�Z�Z�[ �����@6@!���Z�Z\0�����@6@!���
!
0
:
�
xO
�I��!��!���o`X@
�!hD�(x	���o�'���o���oP(���o�op&���o���!��!@�!�O�O�O�O�OPP P0P@PPP`PpP�P�P�P�P�P�P�P�PQQ Q0Q@QPQ`QpQ�Q�Q�Q�Q�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV V0V@VPV`VpV�V�V�V�V�V�V�V�VW�0�GA$3a1xO�IGA$3p1113p^�HGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113f�IGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA+GLIBCXX_ASSERTIONSp^�GGA*p^�^GA*GA*GA!GA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFYp^�Glibk5crypto.so.3.1-1.17-12.el8.x86_64.debug<.��7zXZ�ִF!t/��,�
]?�E�h=��ڊ�2N�%6,7;��&���F���#Y&ժ���B}�2&�+�p����[U�C�}Z5�*b�R�Q�o����!F�~E%s0TA��?�$�4\�X �-�A�9�L���D	=BFڡ�Yvj��59��/c����@�*5���L餮��$Zg��tze{�k3'�*�`21��/�T�~l��@��������%�����kt��@0����	�?`;�{��c���z����m2�����\�-ķx\|l�c	CV9���8N��UgR0�)h`�CG�l��AN����%�>L�	���8?��&���e���,s���Gm��EJ���n��ٚ�M��N�ߨ�Adp�V}�:�g-�����h���ɐ3_�6a�\͵�a��S�񖱟�A��!�=� �����l�)!��_��]ը�bJ�)��D�$ JoE���.6�S}�%��/��c@P&�u'�
U#{��Ũ�x���9���C��q`�x�q�O����I�"?�@)�'��6u��'���pR���>ڳ#��u��c���d}�X`2b�)n#L�.�p����0;P̐@`�s.��vfH<9���P��3g���F͖���ԘN�pW�7W�q燆X��4�Hr^�9��B$�ڲΥ)8�L��� �]�h=?�s�d��8Ǿ2ۼ<�¾�V�*��\��?��c$�OŔ�)K��[f�����	��>��n�
��PC��b�4�k����7��x�um�c� ͧ�,`|��5JZl-��7�8�yp���d8��9�S�	���+[R�$� �6�� ܈;�$Q\Mց/QM�V��Ʊ;ֶ��T� ���m�־�Q"[=_�B��!�T׸�9픔�����V#�t��Ҍu�:*q]`�!ш�+ľkq�t3�}j_�
�2Bz���ߣ
��H�**�m���~��(�7���9^̗�͈��B�j�+9�
O�Xݟ㉉�0�1�%]��6�t�o%DER��<`���e�O;e ��[1+��,�O�O�>e$��V�;�'��-�&�@�RX��t�+���`a��
?�/�o����>��ğ��-�� a7z�����O*�4��ﰍO9�<�;Q��,��q(O���1�%f���
��@/�=|�o�"'��qB1;�ep
D�Df�y;WM.Րd*�wZ�׷��Z7��A���*�8��29���$2�ʠ�^UY��MP�3����7���C�瘻�h"*��s+Ul���&Ӑ8�p��1��`Z�KR�>�d�)u������z�EX��*��?�>�b�%D�,����ō�������p���*Fh��hU���Յ������̿j�׆�]�n��þ�yς5��R���8�y�J*�Gc�Z����+��3�0�X�7xy3�C-w�dh�	�]�2�ዦx`R�,�y�e��Ɍ6p�0�&�	H�?�yWW����#���rZ­�}Ѡ������Rȃ�	"$L8���80�t�V&��[��!���E�ɸ���aU�n��;K5����}�z
	V�(�U��4�Ǽ6��N+n���y�@7*�C�h}X6Sf�=��3��3��
���3���!��	.���21��m!�ߏV����9&�6�D�ze�Ҝ�?�|����o���e]ZS��M_k��"8f�yOU,���gb�ee�U���u��E]�壸�!i����Pn�q�����.g@�Rַ���)U�?��jʢ���Ã��:& ��ɟ�ax�r�	?TR `�Aa�y���%oiᵈG�)R�4)U.)�#��>��C(���<8���e$Y=T�!�/_�jΧ%w�"3�6O���,�̉��O'��H�a([�ҢSV���rS��wR��(X������Ŗ.
�jʛ�,.ɖL����%��
�X׻�`g]J4�3��V���2z��#n'��z��ƅŰ.�Ā�g��Z��3~f�;��@�9��R����P�r@u����>��I�;�	���M�u��g�;�C>�K��(Z�g����+S��-ѩR<������h-߶���;گ]��!^v  �:78������y�V�N�N]h�Ħ�2�)��6W��!��e �鸭^x�+��$ׅy��1����?8���癕���/�Z�l:Q����5��"�<e˩BOG�j�_�;Z�
�Ds�
gnu�)��YV8��j�yWD���6�F��[(K')�}�i���s��-4-<d�޿;�L�E%�H�a+����9F>�?^�iJȰ'��~Y��6�����u&�a;O۬d�Q4�����^p�V#}'%r�'d�]���VI|�/4b���"dY\������T�w�/��B?�z�h�z�y4;*+hkϷ������R�#���Hs[�X�gu��x�2M���<DS��:��|��'N�6�/��ɌZ`f<�;M"�4���*Azv��&mQ�*��x�����>m��Y��b��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(@@0XX8���op&p&�E���o�'�'TT���oP(P(�c�(�(xmBhDhDwxOxOr�O�Op}WW`�p^p^D���I�I
��I�I� ��`�`��HgHgX-����� ���!�����!�����!��� �@�!@�@���!��p��!��г!г(��!���a��$"�01L�T
��@lib64/libgssapi_krb5.so.2.2000075500001213500150403633700011235 0ustar00ELF>�@�@8	@�� h�h�$h�$�%( (�(�$(�$��888$$������  S�td������  P�td�H�H�HDDQ�tdR�tdh�h�$h�$��GNUO"�`0�x�*#��O�ɯe���
��I f��P � P�!�4�q�3D ��A � �`@�@�
"�`�h��؈J����M:"ԀH�P0��<d@I��I@�!�������N H�O�- � "#$&*+,-.0124568<>ACFGIJKMNPQSTVXYZ\^`adefjkmnqstw{}���������������������������������	���L�%y]��\�WI�e'�π��9�G���F��?���Fi�{�S����S0ٜ�Ґ���RɆۍ��Yt,T�U��ڮ-e�@�"����Y�;z�A|ޯ9�k��1y�M�N���=J�Š�ɖw��c���ht�^{-�_\�M��!��M�?����vi��k~������:�Y�!�n�G��K!P���m��U���:�T���!��6�A�\�gM�F�:�MIE>��Ϫ�1�t�WQǣ>=�X��G�����T��0ݝE!�!p��v� Nc�?:���-��	K�f�ԡ��l=6ӫ�_̜����M�(��Xũ<��%�bo�1u�FT7{���� ~��ѯ��D�2=@�H�
���o�*��������2cO@\	�Q���U������(�7�gJ�6�V�%C_��!�dei'
>��U���B�\�a�!ުR�����k�1ސE��B�FX��[:�*��]��ԩ͡�f'Ꞧ�rܰ'K�^�ݒK�tn�7����淀~�]�1�Orba�q���P��3�;�/�鼃@y� ������-�C�4��t�2#��P�(�x^��-E[�!��[�O�b�E��e���+��xYRÛq�gz�3{Qk��n����4�y�v�h�4������"3HF	�!� 	�!!Z"�
�Nq�H� ��l�� {,"�j
������"�����C	XFsYR�cU��/$#	*L���� �&�7�
�X!��, �p	��CU5�F"��x/a��XH/�"5"M�^}RG��1<�����x!v� �jW��!�|
���
� ����D""��QB����2a����
�x���Rn8	)��f��U�
o_��"|��!��k��,�w���Q`�q
���!�?	iV�	�O	��\�5)	�<!p" �� ?��"
^ Se�
9y �p��J%�
�"��3�#�T��h����!

�����$��$�
�Hp��${

��wB@�$

�6�
R	�P�${�$�
�Z&
�D|I

��7
P�
P�����$(��$j
�86�
@GX���$
��+

@��
 VpX�$g	
P���	
p���	
@��PH�$���$�
�)��

`���8�$�

P��	
0��\

`��S
@�h�
��u�	
���4 
0J��
PA�3��$��$�
�Gk$
Pl�� �$.
`�6�

`�� 
���]
`Fi4
 86	(�$�#�
�;�.
@���$�
�q�M

 �E�
 X��
��}�
p?��
@B��
`���

@,�
����
pC����$,��$�
��ic
�Q8
 CL�
�8�
0����$�
pT'
�FO}
�Fg<
�	*z
Tp�
 �1�
HzJ��$��$���$d
`&P;
 E7�
 �6�

 
 R�`�$@��$� �$�
4X9�$�
@W�$��$��$2

�M
�P���$h
�=eh�$�X�$�
�0W`

�LM
�Z]P�$L�$K
@���$���$��$P
`86F
��U`�$���$�
`�A�
P���	
�
�p�$���$
0Dl�
�>��
P�q�
�H7 
�I[���$C��$�
`@��(�$?

�


p�
�6�	
0��w
��Z�
�6�
0��"P�$�h�$
pD�H�$�
��G�
�V�^��$a
�6.8�$���$�#��	
���"

�
 �
�t�0�$4
��Z:
�N����$�0�$��$z
��H�$
p7�n
P�6�x�$�

p	,�	
��P�@�$�

@��
�h�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_faildcgettext__asprintf_chkstrlenmemcmpGSS_C_ATTR_LOCAL_LOGIN_USERGSS_C_SEC_CONTEXT_SASL_SSFGSS_C_MA_CTX_TRANSGSS_C_MA_COMPRESSGSS_C_MA_PFSGSS_C_MA_CBINDINGSGSS_C_MA_OOS_DETGSS_C_MA_REPLAY_DETGSS_C_MA_PROT_READYGSS_C_MA_WRAPGSS_C_MA_MICGSS_C_MA_CONF_PROTGSS_C_MA_INTEG_PROTGSS_C_MA_DELEG_CREDGSS_C_MA_AUTH_TARG_ANONGSS_C_MA_AUTH_INIT_ANONGSS_C_MA_AUTH_TARG_INITGSS_C_MA_AUTH_INIT_INITGSS_C_MA_AUTH_TARGGSS_C_MA_AUTH_INITGSS_C_MA_ITOK_FRAMEDGSS_C_MA_NOT_DFLT_MECHGSS_C_MA_DEPRECATEDGSS_C_MA_NOT_MECHGSS_C_MA_MECH_GLUEGSS_C_MA_MECH_NEGOGSS_C_MA_MECH_COMPOSITEGSS_C_MA_MECH_PSEUDOGSS_C_MA_MECH_CONCRETEGSS_C_INQ_SSPI_SESSION_KEYGSS_C_NT_COMPOSITE_EXPORTgss_nt_exported_nameGSS_C_NT_EXPORT_NAMEGSS_C_NT_ANONYMOUSgss_nt_service_nameGSS_C_NT_HOSTBASED_SERVICEgss_nt_service_name_v2GSS_C_NT_HOSTBASED_SERVICE_Xgss_nt_string_uid_nameGSS_C_NT_STRING_UID_NAMEgss_nt_machine_uid_nameGSS_C_NT_MACHINE_UID_NAMEgss_nt_user_nameGSS_C_NT_USER_NAME__ctype_b_locmallocmemcpycallock5_buf_init_dynamick5_buf_addk5_buf_add_fmtk5_buf_add_lenk5_buf_status__assert_failreallock5_os_mutex_destroyabortk5_os_mutex_lockk5_os_mutex_unlockstrerrorstderr__fprintf_chkmemsetgssint_g_seqstate_init_et_listgss_accept_sec_contextgss_inquire_attrs_for_mechgss_release_oid_setgss_release_buffergss_add_cred_fromgss_release_namegss_release_credgss_acquire_cred_fromgss_indicate_mechs_by_attrsgss_acquire_credgss_add_credgss_add_cred_with_passwordgss_create_empty_oid_setgss_add_oid_set_membergss_acquire_cred_with_passwordgss_add_cred_impersonate_namegss_acquire_cred_impersonate_namegss_authorize_localnamegss_get_name_attributegss_canonicalize_namegss_compare_namegss_userokgss_import_namegss_create_empty_buffer_setgss_add_buffer_set_membergss_release_buffer_setgss_release_oidgss_complete_auth_tokengss_context_timegss_decapsulate_tokengss_delete_sec_contextgss_delete_name_attributegss_display_namegss_display_name_extgss_display_statusgss_duplicate_namegss_encapsulate_tokengss_export_sec_contextgss_export_credk5_buf_freegss_export_namegss_export_name_compositegss_import_credgss_import_sec_contextgss_init_sec_contextadd_error_table__lxstat__xstatfopenfgets__snprintf_chkstrdupfclosesnprintfkrb5int_get_plugin_funcgss_process_context_tokengss_get_micgss_verify_micgss_wrapgss_unwrapgss_indicate_mechsgss_inquire_credgss_inquire_cred_by_mechgss_inquire_names_for_mechgss_inquire_contextk5_clear_errorgss_wrap_size_limitgss_localnamegss_store_credgss_inquire_sec_context_by_oidgss_inquire_cred_by_oidgss_set_sec_context_optiongssspi_mech_invokegss_wrap_aeadgss_unwrap_aeadgss_wrap_iovgss_unwrap_iovgss_wrap_iov_lengthgss_inquire_namegss_set_name_attributegss_map_name_to_anygss_release_any_name_mappinggss_pseudo_randomgss_set_neg_mechsgss_inquire_saslname_for_mechgss_inquire_mech_for_saslnamegss_store_cred_intokrb5int_close_pluginglobglobfreekrb5int_open_pluginremove_error_tablek5_oncegss_test_oid_set_membergss_inquire_mechs_for_namegss_display_mech_attrgss_oid_to_strgss_str_to_oidgss_oid_equalkrb5_k_make_checksum_iovgss_sealgss_set_cred_optiongssspi_set_cred_optiongss_signgss_unsealgss_verify_mic_iovgss_verifygss_get_mic_iovgss_get_mic_iov_lengthgss_release_iov_buffergss_pname_to_uidgetpwnam_rkrb5int_accessorkrb5_free_authenticatorkrb5_free_data_contentskrb5_cc_closekrb5_us_timeofdaykrb5_mk_errorkrb5_free_ap_reqkrb5_free_contextgss_mech_krb5gss_mech_iakerbgss_mech_krb5_wronggss_mech_krb5_olddecode_krb5_ap_reqkrb5_auth_con_initkrb5_auth_con_setrcachekrb5_auth_con_setaddrskrb5_auth_con_setpermetypeskrb5_rd_req_decodedkrb5_free_principalkrb5_auth_con_freekrb5_auth_con_getrecvsubkey_kkrb5_auth_con_setflagskrb5_auth_con_getauthenticatorkrb5_auth_con_getkey_kkrb5_k_verify_checksumkrb5_k_free_keykrb5_c_checksum_lengthkrb5_merge_authdatakrb5_auth_con_get_authdata_contextkrb5_auth_con_set_authdata_contextkrb5_auth_con_getremoteseqnumberkrb5_timeofdaykrb5_auth_con_getflagskrb5_rd_credkrb5_cc_new_uniquekrb5_free_tgt_credskrb5_cc_destroykrb5_cc_initializekrb5_cc_store_credk5_os_mutex_initkrb5_mk_repkrb5_auth_con_getlocalseqnumberkrb5_auth_con_getsendsubkey_kencode_krb5_ticketkrb5_free_datakrb5_rd_rep_dcekrb5_cc_set_configkrb5_clear_error_messagekrb5_kt_get_entrykrb5_free_keytab_entry_contentskrb5_kt_have_contentk5_kt_get_principalkrb5_cc_set_flagskrb5_cc_get_principalkrb5_principal_comparekrb5_build_principal_extkrb5_cc_start_seq_getkrb5_cc_next_credkrb5_is_config_principalkrb5int_copy_data_contents_add0strtolkrb5_free_cred_contentskrb5_parse_namekrb5_cc_end_seq_getkrb5_cc_cache_matchkrb5_cc_defaultkrb5_cc_get_typekrb5_cc_support_switchkrb5_get_init_creds_opt_allockrb5_get_init_creds_opt_set_out_ccachekrb5_get_init_creds_passwordkrb5_get_init_creds_opt_freekrb5_get_init_creds_keytabkrb5_cc_selectkrb5int_cc_defaultkrb5_kt_closekrb5_rc_closekrb5_rc_resolve_fullkrb5_rc_recover_or_initializekrb5_kt_dupkrb5_kt_resolvekrb5_kt_free_entrykrb5_cc_dupkrb5_kt_start_seq_getkrb5_sname_matchkrb5_kt_next_entrykrb5_kt_end_seq_getkrb5_cccol_have_contentkrb5_kt_client_defaultkrb5int_tracekrb5_kt_defaultkrb5_get_server_rcachekrb5_unparse_namek5_change_error_message_codekrb5_set_error_messagekrb5_cc_resolvekrb5_cc_copy_credsstrcmpkrb5_free_authdatagss_nt_krb5_namekrb5_free_unparsed_namekrb5_anonymous_principalkrb5int_getspecifickrb5int_setspecific__vasprintf_chkkrb5_get_error_messagekrb5_free_error_messagek5_json_string_createk5_json_null_create_valkrb5_kt_get_namek5_json_releasek5_json_array_fmtk5_json_encodekrb5_rc_get_namekrb5_rc_get_typekrb5_cc_get_full_namek5_json_array_createk5_json_array_addk5_json_number_createkrb5_aname_to_localnamekrb5_kuserokkrb5_cc_set_default_namekrb5_cc_default_namekrb5int_key_registerkrb5int_key_deletegss_mech_set_krb5_bothgss_mech_set_krb5_oldgss_mech_set_krb5GSS_KRB5_NT_ENTERPRISE_NAMEGSS_KRB5_GET_CRED_IMPERSONATORGSS_KRB5_CRED_NO_CI_FLAGS_XGSS_KRB5_NT_PRINCIPAL_NAMEgss_nt_krb5_principalkrb5_init_creds_freekrb5_tkt_creds_freedecode_krb5_iakerb_headerkrb5_free_iakerb_headerencode_krb5_iakerb_headerkrb5_k_make_checksumencode_krb5_iakerb_finishedkrb5_free_checksum_contentsdecode_krb5_iakerb_finishedkrb5_free_iakerb_finishedkrb5_sendto_kdcdecode_krb5_errorkrb5_free_errorkrb5_tkt_creds_stepkrb5_init_creds_stepkrb5_init_creds_get_timeskrb5_authdata_export_authdatakrb5_init_creds_initkrb5_init_creds_set_passwordkrb5_tkt_creds_get_timeskrb5_tkt_creds_initkrb5_get_credentialskrb5_free_credskrb5_get_init_creds_opt_set_tkt_lifekrb5_init_creds_set_keytabk5_json_get_tidk5_json_string_utf8k5_json_decodek5_json_array_lengthk5_json_array_getk5_json_number_valuek5_json_bool_valuek5_json_string_unbase64krb5_free_addressesstrncpykrb5_authdata_context_initkrb5_authdata_import_attributeskrb5_parse_name_flagskrb5_authdata_context_freememchrkrb5_sname_to_principalkrb5_copy_principalgetpwuid_rkrb5_ser_context_initkrb5_ser_auth_context_initkrb5_ser_ccache_initkrb5_ser_rcache_initkrb5_ser_keytab_initkrb5_auth_con_setsendsubkey_kkrb5_fwd_tgt_credskrb5_init_contextkrb5int_init_context_kdckrb5_rd_repkrb5_auth_con_setuseruserkeykrb5_k_create_keykrb5_free_ap_rep_enc_partkrb5_set_default_tgs_enctypeskrb5_mk_rep_dcekrb5_rd_errorkrb5_gss_dbg_client_expcredskrb5_cc_retrieve_credkrb5_auth_con_set_req_cksumtypekrb5_auth_con_set_checksum_funckrb5_mk_req_extendedkrb5_auth_con_getsendsubkeykrb5_free_keyblockk5_enctype_to_ssfgss_krb5int_make_seal_token_v3krb5_k_key_keyblockkrb5_c_crypto_lengthkrb5_c_padding_lengthkrb5_c_block_sizememmovekrb5_encrypt_sizekrb5_k_encryptgss_krb5int_unseal_token_v3krb5_k_decryptk5_bcmpgss_krb5_get_tkt_flagsgss_krb5_copy_ccachegss_krb5_import_credgss_krb5_export_lucid_sec_contextgss_krb5_set_allowable_enctypesgss_krb5_ccache_namegss_krb5_free_lucid_sec_contextkrb5_gss_register_acceptor_identitykrb5_gss_use_kdc_contextgsskrb5_extract_authz_data_from_sec_contextgss_krb5_set_cred_rcachegsskrb5_extract_authtime_from_sec_contextkrb5_authdata_context_copykrb5_build_principalkrb5_authdata_get_attribute_typeskrb5int_free_data_listkrb5_authdata_get_attributekrb5_authdata_set_attributekrb5_authdata_delete_attributekrb5_authdata_export_internalkrb5_authdata_free_internalkrb5_authdata_export_attributeskrb5_k_key_enctypekrb5_c_prf_lengthkrb5_k_prfkrb5_get_credentials_for_userkrb5_c_valid_enctypekrb5_internalize_opaquekrb5_size_opaquekrb5_ser_pack_int32krb5_ser_pack_byteskrb5_externalize_opaquekrb5_ser_unpack_int32krb5_ser_unpack_byteskrb5_k_verify_checksum_iovkrb5_c_make_checksumkrb5int_c_mandatory_cksumtypekrb5_c_random_make_octetskrb5_k_encrypt_iovkrb5int_arcfour_gsscryptkrb5_k_decrypt_iovlibkrb5.so.3libk5crypto.so.3libcom_err.so.2libkrb5support.so.0libdl.so.2libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libc.so.6libgssapi_krb5.so.2gssapi_krb5_2_MITHIDDENGLIBC_2.14GLIBC_2.27GLIBC_2.4GLIBC_2.3GLIBC_2.8GLIBC_2.3.4GLIBC_2.2.5krb5support_0_MITk5crypto_3_MITkrb5_3_MIT/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	

	rj��#4��
�#����#�#����
�#����#ii
�#ii

�#ii
	�#ti	$ui	$E# �ґ$$# �@�*$#�)09$h�$��p�$P�x�$0���$��$��$���$��$@��$h��$���$��$���$���$ ��$H��$;�$p�$X�$l�$� �$�(�$�0�$�8�$�@�$0h�$`p�$�x�$���$p�$��$���$���$���$��$��$���$��$��$��$��$��$/��$(��$��$��$>��$Q��$X�$��$�$g�$z�$� �$��$(�$�0�$�8�$�@�$��$H�$�P�$�X�$�`�$��$h�$�p�$�x�$���$��$��$��$��$��$�$��$+��$>��$H��$�$��$N��$a��$���$ �$��$q��$���$��$0�$�$��$��$ �$@�$(�$�0�$�8�$h@�$P�$H�$P�$X�$�`�$`�$h�$-p�$Ax�$���$p�$��$L��$`��$��$��$��$k��$~��$P��$��$��$���$�,��$���$��$��$���$�,��$��$��$�$��$��$� �$��$(�$�0�$�8�$8@�$��$H�$�P�$�X�$``�$��$h�$p�$x�$���$��$��$*��$7��$���$�$��$;��$M��$���$�$��$V��$i��$(��$z��$��$��$�(�$�8�$�H�$�X�$�h�$�x�$���$���$���$���$���$���$���$��$�$�$(�$&8�$.H�$6X�$>h�$Fx�$N��$V��$^��$f��$n��$v��$~��$���$��$��$�(�$�@�$`�$`�$�h�$�p�$ x�$m"��$8 ��$~"��$�"��$` ��$� ��$� ��$� ��$�"��$!��$@!��$�"��$�"��$h!��$�!��$�!��$("�$�&(�$�&8�$�&@�$��$H�$��$P�$p�$X�$`�$h�$�&x�$d9��$j9��$`8��$t9��$~9��$�9��$-9��$�8��$�9�$X9(�$98�$�8H�$�8X�$�8h�$�8x�$	9��$!9��$�8��$49��$��$��$ D��$`D��$-F��$IF�$�D�$�D�$eF�$�D �$E(�$0E0�$XE8�$�E@�$�FH�$�EP�$�EX�$�F`�$Fx�$�&��$�F��$�F��$��$��$��$��$��$��$�&��$�8��$�9�$�8�$`��$�8 �$O0�$�88�$��H�$�8P�$�S`�$	9h�$�tx�$9��$`K��$!9��$�M��$-9��$r��$49��$@q��$@9��$����$��$0��$L9�$�L(�$X90�$��@�$�H�$ �h�$`�$x�$p�$��$`�$��$`�$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$p�$��$`�$��$��$��$���$��$��$p�$�$ �$�$�$�$�$�$��$ �$��$(�$��$0�$��$8�$��$@�$��$H�$��$P�$��$X�$p�$`�$`�$h�$P�$p�$@�$x�$0�$��$ �$��$�$��$�$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$p�$��$`�$��$P�$��$@�$��$@�$�$0�$�$ �$�$ �$�$�$ �$�$(�$�$0�$�$8�$��$@�$��$H�$��$P�$��$p�$@x��$�&��$�L��$pi��$`���$`���$���$���$`���$p���$Ф��$����$@���$�]��$���$�Q�$�W�$���$�l �$�0�$��8�$@�@�$P�H�$�P�$ �X�$�k`�$�h�$@sp�$�}x�$Pm��$�_��$P���$0���$�|��$����$@{��$�v��$���$`���$���$�T�$0X�$0[�$] �$�b(�$�^0�$�`8�$ �H�$PrP�$ vX�$0x`�$�Nh�$0�p�$0Mx�$�a��$P���$����$���$@���$�&��$0L��$pi��$p���$�0��$�h�$0V�$pR�$��$1 �$��(�$�00�$�]8�$��@�$�QH�$�WP�$��X�$�l`�$�p�$pox�$����$P���$���$����$�k��$`���$@s��$�}��$Pm��$�_��$P���$�t��$�|��$�q��$@{��$�v�$@	�$�B�$�	(�$�p@�$�TH�$0XP�$0[X�$]`�$�bh�$�^p�$�`x�$�e��$Pr��$ v��$0x��$�N��$0���$�L��$�a��$P���$�	��$ C��$0
�$�&�$�� �$�(�$��0�$�@�$�H�$��P�$ �X�$��`�$��h�$ �p�$ ���$����$����$����$����$P���$@���$����$����$����$���$��$`��$�� �$ �(�$0�8�$@�@�$��H�$�P�$`�X�$��`�$ �h�$��x�$p���$����$����$0���$p���$����$����$0���$p���$����$@���$ ���$����$P���$����$0��$p� �$�(�$`�0�$���$���$��$�$��$ �$D��$��$#��$Z��$��$���$>��$���$'��$���$��$��$t�$��$l�$x �$N(�$s0�$M8�$O@�$�H�$�P�$X�$�`�$Sh�$mp�$`x�$Y��$y��$^��$?��$���$.��$��$A��$+��$h��$��$[��$���$��$8��$n��$��$��$1�$u�$X �$�(�$40�$�8�$@�$zH�$�P�$�X�$6`�$$h�$Jp�$bx�$D��$T��$%��$9��$f��$���$���$:��$���$���$/��$���$c��$Q��$=��$P�$�$W�$;�$o �$p(�$�0�$�8�$S@�$0H�$�P�$�X�$�`�$5h�$�p�$Hx�$h��$���$r��$-��$_��$���$3��$R��$���$E��$���$|��$���$7��$U��$���$��$ �$(�$0�$8�$@�$H�$P�$X�$#`�$	h�$
p�$x�$Z��$��$
��$��$��$\��$��$��$��$��$��$��$��$��$��$��$�$�$�$��$  �$!(�$"0�$#8�$$@�$%H�$&P�$]X�$(`�$)h�$*p�$+x�$,��$-��$.��$/��$0��$1��$2��$3��$4��$5��$6��$7��$���$8��$9��$:��$l�$;�$<�$C�$= �$>(�$?0�$@8�$A@�$BH�$CP�$EX�$F`�$Gh�$sp�$Mx�$O��$H��$I��$J��$K��$���$L��$M��$N��$O��$���$P��$���$Q��$R��$��$T�$U�$'�$V�$W �$X(�$`0�$Y8�$Z@�$[H�$\P�$]X�$y`�$Kh�$_p�$`x�$a��$.��$b��$A��$c��$d��$+��$e��$f��$g��$h��$i��$j��$[��$k��$l��$m�$��$n�$o�$p �$q(�$r0�$s8�$t@�$uH�$8P�$vX�$�`�$wh�$xp�$yx�$z��${��$|��$}��$~��$��$���$���$���$���$4��$���$���$���$���$���$��$��$��$��$� �$�(�$�0�$�8�$�@�$6H�$�P�$�X�$�`�$$h�$�p�$�x�$J��$b��$D��$T��$���$���$���$v��$���$*��$���$���$���$9��$���$���$��$��$��$��$� �$�(�$�0�$�8�$�@�$�H�$�P�$�X�$�`�$�h�$�p�$�x�$:��$���$���$���$���$/��$���$���$���$���$���$���$���$���$���$���$��$��$q�$��$� �$�(�$~0�$�8�$�@�$cH�$�P�$QX�$=`�$�h�$Pp�$�x�$���$���$���$���$���$���$��$���$���$;��$,��$���$���$���$���$���$��$��$��$��$� �$�(�$�0�$G8�$�@�$�H�$�P�$�X�$�`�$�h�$0p�$�x�$���$���$���$���$���$���$���$���$���$���$���$���$��$���$���$���$��$��$��$��$� �$�(�$�0�$�8�$�@�$�H�$_P�$�X�$�`�$�h�$ip�$�x�$���$���$���$���$���$3��$R��$���$���$���$���$��$E��$��$��$��$|�$�$�$�$� �$(�$70�$8�$	@�$
H�$�P�$X�$`�$
h�$p�$x�$��$d��$��$��$��$���$��H��H�Y($H��t��H����5b+$�%c+$��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR�������%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%�
$D���%}
$D���%u
$D���%m
$D���%e
$D���%]
$D���%U
$D���%M
$D���%E
$D���%=
$D���%5
$D���%-
$D���%%
$D���%
$D���%
$D���%

$D���%
$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%}$D���%u$D���%m$D���%e$D���%]$D���%U$D���%M$D���%E$D���%=$D���%5$D���%-$D���%%$D���%$D���%$D���%
$D���%$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D�k��f��a��\��W����USH��dH�%(H�D$1��
$��t	�=

$tH�D$dH3%(ukH��[]��/��H�=�$��H�=�$���u�H�$H�$H��tH��f�H�[XH���4�H�$H��u�H�=t�#���������H�=Q$H�J$H9�tH�f�#H��t	�����H�=!$H�5$H)�H��H��H��?H�H�tH�M�#H��t��fD�����=�$u+UH�=Z�#H��tH�=�#����d�����$]������w������UH��H�=/SH��H��dH�%(H�D$1�H�H�B��u6H�����҃����U�%
H�L$dH3%(uH��[]�f������H������f.�DAUA��H�5�.ATI�ԺUH��SH��H�=�.H��dH�%(H�D$1���H��E��H��H�¾1��
�1҅�xH�$H�����I�$H�]H�L$dH3%(��uH��[]A\A]����f���AWI��AVI��AUI��ATUSH��(dH�%(H�D$1������A���������D��D��t�K��������A!�D�����h�1ۺ1�H�=�.������f����Љ���9�u�E���w��H�"�#H�<�H���]�H�5o-H�=C-��I�NL���H���|�������A�A9��8��A�]1�H�t$dH34%(���H��([]A\A]A^A_�������
�D����u)A��A�E���
���A�m��
���ݍ����=�bH���#��H�=s,H�4º���H���;L��H���P���Y�A��
�'����H��H�=�+���t�A�E1�A�����L������t�A�A9�����A�E1�����D����ljD$����=w@��H���#H�=�+H�4º��H��tL��H�����uA�9���f��H�5n+H�=^+���t$I�NL��H������������A�A9��Q���A�E�����H�5,+H�=+��I�NL���H���G����������A�D9�����A�E1�������A������f���AWI��AVAUATI��USH��8H�|$H�L$L�D$dH�%(H�D$(1�H��tH�H�BH�D$H��tH�H�@H�D$H��tH�H�@A�/L�5��#�1�H���#I���fDH��H����I�I�� �A9�u�H�pI�H�����u�M��tH��H���#L��H��H�|����txH�t$H��tH��H�X�#H��H�|���tRH�t$H��tH��H�1�#H�|���t/1����H�L$(dH3%(u!H��8[]A\A]A^A_�H�D$��
���
�f.�AUATUSH��H�dH�%(H�D$1�H9���I��H��I���<��3H�1�H��DrtVL9�����0Hc��/f�����4rf��tO��0H�4�H�H�pH9�r}H��H��I9�u�I�]�H�MH�|$dH3<%(u\H��[]A\A]�f�f�� tf�H��I9�v��3H��Dr u�<.t�I�]�H�M��1��1�������H��(dH�%(H�D$1�H��t�H����H�H����H���#H;t|H�u�#H;tpH��#H;tdH���#H;tXH�Y�#H;tLH���#H;t@H�1�#H;t4H��#H;t(H�xH�t$��H�t$H�>��H�t$�H�1�H�L$dH3%(uH��(��
�ff.�f���AUI��ATI��USH��H��dH�%(H�D$1�����H��tTA�$H�ʼn]H����H�EH��tII�t$H��H���i�I�m1�H�L$dH3%(u2H��[]A\A]����
��H�����
��L�ff.����USH��dH�%(H�D$1��H��tKH��H������H��H�1�H��tH�L$dH3%(u H��[]�f��E�
��f�������@��AWAVAUATUSH��dH�%(H�D$1��H����H������H�~��H��H����L�2I��I�M�nH�xH����I�FH����H�EH�H�xH��M��tL�����H�EH�H�xH��L�4�;���I�FH��tX�H�sH��I����E�>H�EH�M��tL���7�A�$1�H�L$dH3%(uTH��[]A\A]A^A_�fDH�EH�x��H�EL�h�
A�$�@��f����d�@��AWAVAUATUSH��(H�L$dH�%(H�D$1��H����H����H����L�2M��tP�.I��L�z1�1�I���fD�CH��L9�s-H��L�D9(u�I�t$H�xH������uԸ�D1�H�L$�1�H�L$dH3%(u#H��([]A\A]A^A_�fD��Ը���}�ff.�f���AWI��AVAUI��ATUH��SH��HdH�%(H�D$81�H��t�H��tH�EH�E�M����A�����I���H���PH�\$E1�H�����H�5�1H���9��A�M�g1�A���tbfDD��H��A�H�ƒ�H	ф�x:E����1�H��'vH��O��H��(�H�5*1H��1��2�E1�1�A��E97w�H�ߺH�551��H���h�����H�D$(H�EH�D$H�E1�H�t$8dH34%(u~H��H[]A\A]A^A_�DH��H�5�0H��1�D�D$A����1�D�D$E97�����r���fDH��P��?���f�A�E�
���fD��r�����f���AWAVAUATI��USH��HdH�%(H�D$81�H��t�M��tI�$H����H�^H����H�H����M����L�<H�\$L9�����H��@H��H�\$L9�tz�3�Dp u�I9�v
@��{�;H�\$E1�I9�w�Uf�H��H�\$L9�tE��DP u��9fD�H�L$8dH3%(�lH��H[]A\A]A^A_��E1�H�l$H�T$(L��H���h�������H�T$0L��H���P�������H�D$(H����H�T$0��H���wxH��H�L$�H��H��H�L$t
H��H��u�L�l$ f�L��L��H�������t^H�D$ �H��tfDH��H��u�H���H�<$���
���H��A�H�\$���H��'�`�����fDE��tH�D$L9�t��8}u���2��I��H�$H��t�H�����I�FH��t�H�T$(H�$H�4�H�T$0�H��A��A��H����H�ֿ�f�L��H��L�Gu�N�4H�E�N����H���΀H��@�0u�H�D$H�D$@L��L��H��������tUH�T$ A��A��H��tbH�ָ�f�H��H��H�xu�L�L�D�O�f���H���΀H��@�0u�I���H�$L��H)�H9Au3H�$I�$1����I�~E��Ӹ���L�pD��M����&�H�
-��H�5�,H�=�,������AUATI��USH��dH�%(H�D$1�M����A�I��L��H9���I�x������tu��1ҐH����u��MI�DH9�rjH�M�ރ�@�t�H�D��D��H���ɀ�H��u�D�1��UA�$H�|$dH3<%(u<H��[]A\A]�@�E1�I9�v�fDA�$"�
���
���ff.���AWAVAUA�ATUSH��dH�%(H�D$1��H9�reL�yH��I��I��L��L������uI�EA�6L)�t7K�'K�|'�H�H��D�:yKH��H9�t�
����	ȉEH9�u�E1�H�\$dH3%(D��u'H��[]A\A]A^A_�f.��A�
���-�ff.�f���AVAUI��ATI��USH�� dH�%(H�D$1��D$H��t�M����I�EM��������H��I��H�D$H��trI�,$�H����H�CH��tXH�+H����1�1��)f��H�sH���B���]H��A�L�t$I;sUI�FH��L�4I\$�;���I�FH��u�H�t$H�|$��
H�L$dH3%(u)H�� []A\A]A^�M�u1��ظM��uθ�����f.���SH��H��dH�%(H�D$1�H��t�H��tH�{H��t���H�H�C1�H�T$dH3%(uH��[��z�f.���UH��SH��dH�%(H�D$1�H��t�H��tNH�UH��tEH�:t%1�f�H��H��H��HBH�x�x��H�UH9w�H�z�f��H�}�]��H�E1�H�L$dH3%(uH��[]�������AUA�ATUSH��dH�%(H�D$1�H��t9H��I�����L��H����H�hH���U��H��t0H��L��H���B�H�CH�T$dH3%(D��uH��[]A\A]�H�CE1�H����7����UH��SH���H��dH�%(H�D$1�����H��t9H�E�H�H�@1�H�T$dH3%(uH��[]����
����fD��AVAUATI��UH��SH��H�dH�%(H�D$1�H����H�H�{H�pH���
�H�CH��taL�+H�}I��I����I�EH��tEL�uH�uH��L����M�u1�H�A�$H�L$dH3%(u8H��[]A\A]A^�A�$�
�ѐH��I�������u�I�]�Z���������ATUSH��dH�%(H�D$1��H�H��tlH�8H��t-1�L�d$fDH��L��H��H��Hp���H�EH9w�H�xH��t����H�EH�@H�EH�H�}���H�E1�H�T$dH3%(u	H��[]A\����f.�PXH�
'�xH�5&H�=&H��dH�%(H�D$1�����ff.�PXH�
�&��H�5�%H�=�%H��dH�%(H�D$1����ff.���H��� �
dH�%(H�D$1�H�s�#�^�H�_�#H��t"H�G�#
1�H�T$dH3%(uH��ø���$��@��ATUSH��H�-�#dH�%(H�D$1�H��~JH�=�#�J�1�L�%�#��I9$�.�H��H��H��H�#H�x���H9�u�H�=��#���H���#H�D$dH3%(uH��H�=L�#[]A\�����n��ff.���AWAVAUATA��H�=�#USH��8D�>dH�%(H�D$(1�H�FH�D$��������L�5�#M���sL�-�#D��1�H�D$L���0DH�sH�T$H�|$�����t%H�EI9���H�� H��D9{u�D9cu�E��u�H�=}�#�h���Ņ����H�L$(dH3%(���nH��8[]A\A]A^A_���lj��'���پH��#I��H��#H�81�����0���A�u1�A9�t DH�PH9���H��H��E;du���#�X@1�9�tH�PH9�tH��H��A9\u����fD���#E1�E����H�
�#H����M����H�-��#E1�E��;]r#w!H�
�#��H�5�"H�=#���f��ED;erR@��A9���@�uCA9�w>H�L$E����H�uL��L��L�L$L�D$���L�D$L�L$��H�L$��I��L9���H�� M9��c����k�fDM��H��I��H����I9���H��������H9���H��H�=�#H�L$H��L�D$H��H�T$�K��H�T$L�D$H��I��H�L$�IL)�J�<(1�H�L$L�D$���H�L$L�D$L�5o�#H�-`�#H�����H9
P�#���H��H�=�#H��H=�#�D�xL�@D�`H�/�#�������t�����������I��H���#H�V!�H�81��W������f�D��H�����H��tH�t$H��H�����I�����H�=��#�l����u�����@D��������I����I���{���H�
h!��H�5� H�=!�`��M��H�iI��I9��i�����H�=�#L�D$���L�D$��������L��1��}���|��������H��dH�%(H�D$1�H�D$dH3%(uH�5��#H���x���������AWAVAUATUSH��dH�%(H�D$1������H�=m�#I��I���b��A�ƅ���H�
��#H����H�x�#1�H�S ;+��H��H9���H��H�R ;j�u�H�=�#L�{�������M�����oCA$�CA�EH�t$dH34%(D����H��[]A\A]A^A_�������D��H�
I��H���#H�81��.�����f�H�=y�#�d���Ņ�u,fDA��x���DH�=Q�#�<���Ņ��L������+����H��I��H��#H�81�����t����?��f.�D��H��dH�%(H�D$1�H�H�T$dH3%(uH���������ATI��UH��SH���H��dH�%(H�D$1����H��t,H�L� H�hH�PH�1�H�L$dH3%(uH��[]A\ø�����@��USH��H�dH�%(H�D$1������H��tH;2u�Ff�H97t+H��H�zH��u����H�L$dH3%(u&H��[]�H�ZH�o�s��1�H�+��H��H�������ff.�@��H��dH�%(H�D$1�H�H��tH;0u�9f�H90t+H�@H��u�H������H�L$dH3%(uH��ÐH�@H�1��������AVA��AUA��ATE��UH��SH��H��dH�%(H�D$1�H��(���H��t[E�����H�����D�0HD�D�hH�hH�PH�@ H�@H�1�H�t$dH34%(uH��[]A\A]A^���������@��H��dH�%(H�D$1�H�?tNH�GH+wH�OH!�H9�vVH)�H��@���7���H��H�O ��t
�H��u�GH	�H�W ��uh1�H�T$dH3%(u]H���DI��H�W H��I)�H!�A�HH�wH��H��H�W M��t�D�G�E��u�������t���������H��dH�%(H�D$1�H�D$dH3%(u	H��������f.���H��dH�%(H�D$1�H�(H�D$dH3%(uH����z��f.���H��dH�%(H�D$1�H�:'�v%H��o�oOHH�O H�H 1�H�(H�*(H�L$dH3%(uH������ff.���ATUSH��dH�%(H�D$1�H�H�:'�vFH���(I��H�����H��tJI�$�oH��(�oI�HH�Q�I�$H�P H�+(H�E1�H�t$dH34%(uH��[]A\�����d��@��H���dH�%(H�D$1���D��~%�=�~�=��~
1�=����ƒ�H�L$dH3%(�DuH������D��ATA��UH��SH��H��dH�%(H�D$1�H�H�PH��`1����H���7�DFH�J��~\=���=����=�����H���H�H�JH������
H�H�JH������
H�H�JH��"H�H�JH��H�H�PH��H��UH�HH��H�;�UH�u�����EHA���t\H�PD��H��(H�H�PH�D� H�D$dH3%(uSH��[]A\�f.�H���=��p����_���f.�H��H����1���DH��������ff.���AUATUSH��(L�*dH�%(H�D$1�D�����cA�}`I��H��tnA��D���I���tT���;A�E8��>I�EA8M�0H�E1�A�$H�t$dH34%(�H��([]A\A]��L��������A�EI�uA�X��„�xm�L$9��������>����������FL�FH��)���M�,;uH�wL���M���L$���(����m��Q��������9�~VD�J��m�A���-���A��H��1�M�\DH��D�R���D�I9�u�H�tA��A�X�)Ӆ��8���D�m����fD�m������������SH��dH�%(H�D$1�H�H����H�PH�
P�#H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ�?��H��t2H���#H�H�PH�H�D$dH3%(u%H��[��H�=X�#u�H�G�#�H������ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=��#H������������AWAVI��AUM��ATUH��SH��H��$�H�t$H�L$H��$�H�D$ H��$L�D$(H�D$8H��$H�D$0H��$H�D$dH�%(H��$�1��D$TH�D$`H�D$hH�D$pH�D$xHDŽ$�H��t�M��tI�EH�D$ H��tH�H��tH�H�CH�D$H��tH�H�D$H��� H���H�|$�KH���L� M���I�t$I�|$H��$���M���L����ZI��H����H��$��óI��H���gH�@0H���Z1�H�T$`H�|$H��HD�L�L$hM��LD�I�t$H��R�t$@H�T$lRSH��$�RL��L�D$XH�L$H��A��H��0���,���5M��t6H�T$hH����H�|$PH�L$pL��H�|$�kX����H�D$pI�E�D$T��H�|$`��H��$�膰H�L$xH��t$H��t�9��H�pH�y�0�������� �9��H��H����@H�PH�|$PH��$�����Ņ��%�����H�CH���1H�T$`H�H�H�D$H�@H�\$ H��t
H�|$x�ԯH�H�L$8H��t�D$T�H�D$L� �
�A�H��$�dH3%(D����H�ĸ[]A\A]A^A_�fDH���p�H����H��$�L�|$XH��H��H�L$@L��1��������H�D$\H��$�L��H�D$HH��H���#H�0���D$\�H�t$@L��A��)����
�A�M��tH�D$H�8�vM��tI�EH�t$pH������H�|$P�a������@A���DE1�A��DH��$�H�t$H��H�D$@�NA�Dž������M��t{A�FE1���~pH�\$HL���f�H��A9^~NI��I�~I��L��#�H��tދ�$�;u�H�pH��$�������u�M~H�\$HL��$��H�\$HL��$�M���rH�D$H�8uC��}���I��H���I�$H�PH�|$PH��$�H�@���A�Dž��H��$�����A����A��f�I�|$H��tH�GH��t
H�����I�|$���I�|$tM��tI�F@H��tI�t$H�|$P1��L���_����4���f.�I�E�I���H���#H�L$HL��H��$�H�0�a��D$\�����H�t$@L��E1�����B���f��}L���5��E���DA�
���DH�D$`H�L$H����fDL��踿�����H�t$@H��$�H���K�A�Dž��n������A�
�C����|$PL���D$�}���T$�EH�;u,M��tH�D$H�8�����A��� ���H��A���6������H�|$H������T$�H��A�
�����������fD��AWAVAUATUH��SH��H�����$ H�T$(D�D$$L��$0�D$8H��$(D�L$<H�D$0H��$8H�D$H��$@H�D$H��$HH�D$dH�%(H��$�1�DŽ$�HDŽ$�HDŽ$�HDŽ$�H��t�M��tI�H�D$H��tH�H�D$H��t�H�D$H��t�H���H��A�L	�t%�|$$�H��$�H��H��耨A�ƅ�t1H��$�dH3%(D����H���[]A\A]A^A_�DH��$�蛬H�D$XH���
H�x�H����M���p� �����I��H����HcS�H��I��H�T$@����H�T$@�I�EI��H�����I�EH���VM���ME�eE����H��$�E1�H�l$HH�D$PH��$�H�D$xH��$�H��$�H��$�H�D$`H��$�H�D$hL��$��vf.�I����L��H�T$PH�|$H��A�ƅ���H�l$PH�|$HH�T$@H��A��H�|$hH��A�����E���\I��D9c��M�uH�CL��H���<(聹��I�D.I�EH�|(H���*H�CH�H�p�X��H�C�(I�E�(I�EHkJ��H��H�D$@H�CN�4��ɪI��H����H���H���
���I���H����I���H�t$`E1�L�D$xH��$�H�|$HH�t$pH��L����A�ƅ��8HDŽ$�H����H��$�jjH�|$XL�L$PD��$�H�L$`��$�H��$�A�WY^H�t$`H�|$hA���B������DA�����D�E�A�
�Q��E��f�H��$�H�D$P�EH�t$PH��$�A�
L��$���������A����DH�l$HL��$�M�mL��H�D$(L��$�H��tJH�@H��t�A;$��H�T$(H��$�L��H���G����H��$�L��$�H�D$(�D$$��t�����L$8�D$<9�C��D$8HDŽ$�L���i�H��$�H����H�L$XH��$�H�D$HD$L���HE�M���MH��$�H��H��PjH��$�PL�L$PD�D$D�T$XH�t$HA��H�� A��E�����CH�{�pHc�H���f��H���UH�C�CH�{�pHc�H���C��H���2H�L$H�CH��t�D$$����u	��$��H�L$H��t�|$$t	��$��L��$�A�}����I��H���HcCH��HCL�`HcCA�UI�uH��HCH�x����H��$��HcCH��HCH�|$�t"�CH�sH��H�L$�P�n�����xHcSH�CH��$�H�ЃCM��tI�H��$��;���H��$�H��$�H��$��'K����f�A�L��$�H�t$PL��L��$��-�������H�t$X�}E1�����EH��$�t H�D$XH�@ H��tH��$�H��$���H��$�tH��$�H��$�H��$��JM��tH��$�H��$�H��$�蘿��L��� ����R���L�\$p�<���fDA�L��$��#���DH��$�H��A��LH�����������@E1�A�
����f.�� ����H��H����f�H�@@H��6���f�E1�A�����f�A����DI�t$H�x�ҿ�����%���H�D$(H�@ H�D$(�G����E1�H�|$0A��~���H��$�PH��jH�D$hD�D$4�T$HH�t$8L��$��PA��XZ���D�D$<�D$8����H�l$H�#���A�
��A�������N���ff.���AWAVI��AUATU��SD��H���H��$H�t$H�L$H�D$0H��$L�L$PH�D$@H��$H�D$8dH�%(H��$�1��D$h�D$lH�D$pH�D$xH��t�H�D$0H��tH�H�D$@H��tH�H�D$8H��t�M���zH�|$0�n����H�|$�yH�D$H�D$pH��H�:H�T$�%� ��&���H�T$H��H��H�D$x���@H�H�:��H�|$81�H�L$hL�t$XA������D$LH��HD�H�L$ H�L$lHE�E1�E1�1�E��L�|$PH�D$(H�D$dH�D$�Q������D$h�����T$l9���A9�DG��H�T$pA�NH�t$xI��H;
��H��HJ�t$(A��t$(A��jjAWUH�T$@H�|$8�ھ��H��0��t�E��u��|$dA�ĉ|$L�A�H�D$dH�D$H�|$H�t$x���H�|$��H��$�dH3<%(D����H���[]A\A]A^A_�f�A9�DG��4���@�D$lA9�DG�� ����VL�t$X��~lH�L$@H����H�vL���A�ĩ���\���H�t$xH�D$8H��tD�(H�D$0H�|$H�0�Q���L�l$pH�|$dL������:�����D$LA�A������������H�D$dA�H�D$���E1��H���#L�l$p1�1�H��$�M��L��H��oH�̾#H�)�$��oH��$�HDŽ$�H��$�)�$��Ե��A�ą�u]H�T$p����A��A�
�9�A�H�D$dH�D$�7����H�D$dA�A�
H�D$����@����������A�E1��������ff.����H�� dH�%(H�D$1��t$0�t$0AQE1��F���H�� H�T$dH3%(uH���蘸�����H��dH�%(H�D$1��t$@�t$@�t$@�t$@j�D$HP����H��0H�T$dH3%(uH����>���f.�@��AWI��M��AVAUATUSH��H����$�H�4$D�L$H��$��D$(��$�L��$�L��$��D$ L��$�dH�%(H�D$x1�H�D$XH�D$`H�D$hH�D$pH��t�H��tH�EM��tI�EM��tA�$M��tA�M���H����H�$A�H	����|$��L�\$0M����I�?��I���H�T$pH��H����A�����KH�|$p�Y�H�D$8H���H�����L�\$0H�<$L�\$@�`H�t$pH�<$�*EA�H����H�$L�\$@H�D$0I�CL�D$pH��t�A;�lH�L$XL��L��H����;���H�D$XH�D$@�D$��t����L$ �D$(9�C��D$ H�D$hH��H��H�D$(����A�����	H�|$p��H�T$(H��H���B���A������H��L��H��H�D$\PjH�D$xPH�D$XD�L$8L��$��L$@H�t$`���H�� �����D$HH�D$0�@�P�D$ Hc�H��H�T$@H���K���H�T$@I��H�D$ H�<��1���H�D$@M����H����M��D�D$Ht�D$����u�D$TA�$�|$tM��t�D$TA�L�t$0H�|$ D�D$HMcfI�vL��M��H��H��H�L$轺��I�vL�t$@J��L��褺��H�D$`H�L$K��L�t$pH�D$ A�>L�$耪��D�D$HH��I�D$�mA�I�vH��D�D$�Y���A�M��D�D$A�$��H�t$ H��A�WL����D�D$�������H����� D�D$����D�D$H����H�L$0�o�oQH�E)$PH�L$ �@H�|$XH�H�HH�L$@H�HtH�t$pH�T$XH�|$PD�$�r?D�$H�|$htH�t$(H�|$PD�$��D�$�H�t$xdH34%(D���2H�Ĉ[]A\A]A^A_�����X��A�
��fDA��H�D$0H�L$ Hc@H��H�|蔫��A�ؐH�|$ D�D$聫��D�D$H�|$@H��tD�D$�h���D�D$H�|$`t$H�D$8H�@ H��tD�D$H�t$`H�|$P��D�D$H�|$XtH�t$pH�T$XH�|$PD�D$�V>D�D$H�|$htH�t$(H�|$PD�D$�թ��D�D$H�<$����H�|$0D�$�ת��D�$����fDA����D�� �I���L�\$@H��H�D$0�����A�
����D$(�D$ ���A��e���DI�pH�xL�\$HL�D$@�ѳ��L�D$@L�\$H���k���I�C H�D$@����A�����DH�t$8�;�D$�P��D�D$����H�|$ A�
�b����q���1��8���H�\$0D�$H�{�ԩ��H�{�˩��H��D�$�T����Z���f.���AWAVM��AUI��ATA��UD��SH��H��H��$�H�t$H�D$H��$�H�D$0H��$�H�D$8dH�%(H�D$x1�H��t�H�D$H��tH�H�D$0H��tH�H�D$8H��t�H�|$�GH����H�|$�����M���I�}�I�}��M����I�>��� ����H��H�D$HH����f�����L�l$(1�@M��E1�E��H�@A��H�H�D$DH�D$ H�D$@H�D$�A�T$@�����L$D9���A9�DG��A�OH�t$HI��I;M��H��IM�t$ A��t$ H��jjAVAVL�D$XH�T$8�
���H��0��u���u��T$DA9�DG�����P��A�
�H�|$xdH3<%(D���<H�Ĉ[]A\A]A^A_��A9�DG��L���@�VE�����H�L$0H��tH�vH��脕�����H�t$HH�D$8H��tD�8H�6H�|$E1�H�D$HH��g����A��U���DA��E���D1���H��t�H�T$`L�t$PH�D$PH�T$X�H�@�T$`H�D$h�	���A����DA�
���DH���D$蔦��D�D$����f.�H�t$HH�߉D$�߮��D�D$���������AWI��AVI��AUATUSH��H����$�H�4$D�L$L��$��D$(��$�L��$�L��$��D$ H��$�dH�%(H�D$x1�H�D$XH�D$`H�D$hH�D$pH��t�M��tI�M��tI�$H��t�EM��tA�EH���)M���0M���7H�$A�L	����|$��H�T$pL��H��L�\$0��A������H�|$p�?�H�D$8H���1H��h��H�<$L�\$0��H�t$pH�<$L�\$0�;A�H���1H�$L�\$0H�D$@H�t$pL����:H�D$0H����I�FL�D$pH��t�A;��H�L$XL��L��H���1A�����L�t$X�D$��t�����L$ �D$(9�C��D$ H�D$hH��H��H�D$(���A�����6H�|$`t$H�D$8H�@ H��tD�L$H�t$`H�|$P��D�L$H�|$XtH�t$pH�T$XH�|$PD�L$�)7D�L$H�|$htH�t$(H�|$PD�L$訢��D�L$H�<$��H�L$xdH3%(D���*H�Ĉ[]A\A]A^A_�������A�
��fDA���A���A����� ���L�\$0H��H�D$@�;���A�
�S���H�|$p規H�T$(H��H���֪��A���������H��L��H��H�D$\PjH�D$xPH�D$XD�L$8L��$��L$@H�t$P��hH�� �����D$0H�D$@�@D�p�D$ Mc�L��H�����J�<�H�D$ �џ��H�|$ I����H����H��D�L$0t�D$����u�D$T�E�|$t
M��t�D$TA�EL�l$@H�|$ D�L$0IcmI�uH��l$HH��H��H�L$�[���I�uH��L���G���H�D$`L�l$pH�L$I��H�D$ A�}H�,�"���D�L$0H��H�E�PA�UI�uH��D�L$���A�EM��D�L$�E���T$HH�t$ H��L���菏D�L$�������M����� D�L$襞��D�L$H����H�L$@�o�oQI�)$PH�t$ �@H�|$XL�pH�pH�tH�t$pH�T$XH�|$PD�$�4D�$H�|$h����H�t$(H�|$PD�$蔟��D�$���H�|$@D�$蚠��D�$����A�����D�D$(�D$ ����H�D$@H�t$ Hc@H��H�|�W���A��@H�|$ D�L$�A���D�L$M�������L��D�L$�&���D�L$���@I�pH�xL�D$H膩��L�D$H���Z���M�v �w���A��5���DA��%���DH�t$8�;�D$���D�L$��~���H�|$ A�
�R����a���1��I���H�\$@D�$H�{脟��H�{�{���H��D�$�d����
���f.���AWAVM��AUI��ATA��UD��SH��H��H��$�H�T$H�D$(H��$�H�D$0H��$�H�D$8dH�%(H��$�1�H��t�H�D$(H��tH�H�D$0H��tH�H�D$8H��t�H����M���H�|$�"H�|$(�����-M����I�>��� ���H��H�D$HH����f�����E1�E1�@H�@H�H�D$DH�D$H�D$@L�l$ M��E��A��H�D$�CD�T$@�����L$D9���A9�DG��E�GH�t$HM��M;E��I��ME�t$A��t$H��jjAVAVH�L$8H�T$P荪��H��0��u���u��T$DA9�DG���H��$�dH3<%(���dH�Ę[]A\A]A^A_�A9�DG��d���@��HcFE����H�T$0H��t+H�D$pH�FH��H�t$pH�D$x���H�t$H�����H�D$8H��tD�8H�6H�|$(1�H�D$HH��[���fD��K���fD1��ًH���0���H�T$`L�t$PH�D$PH�T$X�H�@�T$`H�D$h����@����fD����fD�
����fD�������
����@H���T$�4����T$���H�t$HH�߉D$臤���T$���詣��f���AWAVAUATUSH��xdH�%(H�D$h1�H���
H��H����I��H�����H�zH���t(H�\$hdH3%(����H��x[]A\A]A^A_�H�~H���c�~�I��H���zH���I�L$H���UI�T$H�u H��Љ���t��;L��D$�k���L$�1���I�L$���D$$�D$0����H��t)H�է#�H�;��H�pH�y�c�������I�D$H�D$H����H�D$<L�d$(L�t$@H�D$H�D$8L�l$PH�D$H�D$0L�|$4I���(fDL��L�����L��L���ڡ���L$0����H�_�#H��M��H���D$8�D$<ATAUL�D$ H�L$H��Ș��_AX���uv�t$8��t�H�D$H�H9T$@u�H�pH�|$H艣�����q���H�\$4L��H���Q���L��H���F���1��7������&���fD�����fD��L�d$(=������T$$����H�UH�����L�l$PL��H���D$@L���R������������H�T$PH�L$@H��H���������u�D$@���D�H�|$<L��L$�~����L$�}���D��p���fDH�J�D$$�����D$$����I�L$�D$$�����q���H�
���\H�5��H�=���R�����������ATI��H��USH��0dH�%(H�D$(1�H�t$H�l$H�\$芘��H�t$H��H��H�D$H�+�#H�����1ҩ��u&H�T$L��H�����H��H��A���t���1�E����H�L$(dH3%(��u	H��0[]A\�蜟��f.�f���H��dH�%(H�D$1�H�D$dH3%(u	H���/����Z���f.���H��dH�%(H�D$1�H�D$dH3%(u	H���o�������f.���H��dH�%(H�D$1�H�D$dH3%(u	H�������ڞ��f.���AWAVAUATUH��SH��8dH�%(H�D$(1�H���BI��H��H���H��tH�M���NH���EH�T$H���x�A�ą���H���4�(����I��H����H�@I�}H�p�H�@ H�@H�@I��I-����I�uH��tI�WH�����A�ƅ���L�<$H�t$M�wL��H���ɮ������H�$H�t$L��H��H�H �#���YH��tH�$E1�H�E�H�L$(dH3%(D����H��8[]A\A]A^A_�f.�H��tH�@A���A�
��A���M�}H�t$M����A�;��L��I�U H��E1��(M�uH��L���"���H�t$L�,$I�E���@�;�D$����T$�A��M��tH�t$ H�|$L�|$ �K�������fDH�������I�} tH�$H�|$H�pH�P �
(I�}����H�|$L��蒠�����DA���A�
���;E�������p����M�uL�,$�7���H�vI��۝�������^������f���AWAVI��AUI��ATI��UH��SH��8dH�%(H�D$(1�H��t�H���&M���M���H�]M��I��H����H��L�D$�܂L�D$H��H����H�����A�I�wH����I�@H�����;��H�@H�~L�D$H��������eI�w H����L�D$I�P H����H���}H���H���}L��L��ЉŅ��A�}H���O���A�E�fDI�\$I��M��H������A�I�wH���?���I�xtqI�t$I��M��L�d$ L��L��L��������H����H���H����I�w L��H�T$ L��ЉŅ���I�wH�|$L���%�f@I�GI�HH����L�D$H��tE�;u?H�qH�x貛��L�D$��u)I�GI�HH�H;uH�qH�x茛����uA��1�H�L$(dH3%(��uyH��8[]A\A]A^A_�D��Ӑ���f���f���f�A�}H���Ի��A�E������H���x����J�������f.�@��AVAUATUSH��dH�%(H�D$1�H��tcH�~H��tYI��H�~I���2�I��H��tbH��`1�H��tH�sL��L��ЉŅ�u*H�L$dH3%(��u7H��[]A\A]A^���אA�}L������A�E��fD���L���f.�f���AVAUATUSH��dH�%(H�D$1�H����H��I���H��tvH��H����H�~�H�~A��PI��H��t(H�@HA�H��tH�sL��H���A�ą�u6fDH�L$dH3%(D��uEH��[]A\A]A^�A�����}L�������E�A���A���S�����USH��(dH�%(H�L$1��D$H����H��H����H��H����H�WD�H�t$A������H��H�T$H�T$�d���	��u*�l$H��蟌��H�CH��tVH�t$H��H��膜��H�+1�H�L$dH3%(��u6H��([]�����f����f��
��d���@��USH��dH�%(H�D$1�H����H���H��tH�H�BH����H�]H�����H9uGH�{H�stH�CH��H���"��u)H�sH�~�5���H�{�,���H�}�#���H�E1�H�L$dH3%(u0H��[]�f�H��tH�H�B@��Ȑ���t���@��AUATUSH��dH�%(H�D$1�H����H��H����H���H�~H��tKI���|I��H��t{H���H��t/H�u L��H��ЉŅ�u-H�L$dH3%(��uRH��[]A\A]ý��f��;L���f������f���f���f���蔔��@��AUATI��UH��SH��H��dH�%(H�D$1�H��t�H����H�H�CM��tI�$H����H����H����H�uH��t5H�D$dH3%(��H�U H��M��H��[]A\A]���H�EH�8H��蠉��H��H�CH��ttH�EH��L�(L�+H�EH�pH��w���B�(1�M��tH�UI�$H�L$dH3%(u:H��[]A\A]��M���&�����͸��f��
��D���@��AWAVAUATUSH��H��dH�%(H�D$1�H����I���H����H��H�H�AH���5I��H���9H�}H����H�EH�����;��H�pI�~舔������H�EH�8H���`���H��H�CH���@H�EH��E1�L� L�#H�EH�pH��0���B� �#f�H��tH�H�AA�H�L$dH3%(D����H��[]A\A]A^A_��{yA�I��H��t�H��xH��taH�u H��L��L���A�Ņ�t�A�<$L���o���A�$�f�A���A��o���DA��_���DM���M��t�H�EH��t�A�;u�H�pI�~�G�����u�H�u 1�H��L��A��A�Ņ������i���@A�
����0�����AWA��AVAUM��ATA��UH��SL��H��HdH�%(H�D$81��D$ H�D$(H��t�H���JH�H�CH���2M���)A���OE����L�t$ H�T$D���D$L��蹷�������D$ �t$����L���t$A���w�t$H��I����H�@pL�T$A�H��t}I��M��L��D��H���L�T$��A��t`�}L��賲���E�PfD��΅��H���EH�Unknown �rH�CH�
H�A�E�@errof�P�EH�L$8dH3%(D����H��H[]A\A]A^A_��A����H��H���e���A�ą�t��}�V����E룐E���'A�E����D��D����%��$�=�b=�r=�1H�5w�H�=1�諎��I�ƅ���A�E�M��t^L���S����`��E��A�谵���E�����E�A�
艵���E���������fE���l�#L�5��H�L�����H�hH���*���H����H��L��H��E1�����H�C�y�����H�5��H�=N��ȍ��I���0��������
�d�����2������vp������	���H�5A�H�=���V���I��E��C�$E��D�A�E����H�CA�
H������uB�H�5R�H�=|����I��랐�����������D�H�5��H�=:�贌��I���Y���@����vJ���f��������u��H�5��H�=���\���I������@������
�p���`����H�5 �H�=������I�����@���0����H�5��H�=j����I�����@E��C�$E��E�A�m�1�����A�ĸ�f�D��!�u/��u�H�5V�H�=�芋��A�EI���������H�
f���Hc�H�>��H�5�H�=���F���I��E��D��1��A9�D�A�E����H�5 �H�=������I���ĺH�5��H�=u����I��맺H�5��H�=X��Ҋ��I��늺H�51�H�=;�赊��I���j����H�5a�H�=�蕊��I���J���H�5��H�=��z���I������H�5��H�=���_���I�����H�5��H�=���D���I�����D���������p����H�5,�H�=������I������H�5��H�=v���I������H�5$�H�=V��Љ��I���u����H�5�H�=6�谉��I���U����H�5��H�=�萉��I���5����H�5��H�=���p���I�������H�5��H�=��P���I������H�5�H�=���0���I�������H�5|�H�=������I������H�5��H�=v���I������H�5��H�=V��Ј��I���u����H�5D�H�=6�谈��I���U�����A�������d������AWAVAUI��ATUSH��dH�%(H�D$1�H���H���H���I��H�H�����(E1��P~��H��H����H�I�~H�p1�H�@H�@ H�@H�@�~A�ą��+I�vH��tH�SH������A�Dž���I�vH��t.H�SH�����A�Dž�uoI�vH�K L��H���T
����H�I�]DH�L$dH3%(D����H��[]A\A]A^A_�f.�H��tH�A��@�}E���m����EH�{H��tH�GH��tH�����H�{���H�{tH�sH���T���H�{ H�stH�S H����H�sH��tH�sH���(���H���p���;���E1��A��%���DA���n��������AUATUSH��dH�%(H�D$1�H����H��H����I��H�����7H��H���4�������D�h�L���O|��I�D$H��te�3H�����H��H�$�o���H�sH�H�<$����M�,$1�H�L$dH3%(u0H��[]A\A]�fD��ؐ���f��
�����H�
��3H�5��H�=����z��D��AWAVAUATUH��SH��8dH�%(H�D$(1�H�D$H�D$H���8I��I���H��tH�H�BM���WI�]H���JH���H�{�^H�{�lI��H���H���H���yH�T$H�sL��H�$��A�ƅ��H�CL�|$�B�|8H�}��z��I��H�EH����H�CI�xL�D$��A�H�C�H�p蘊��H�CL�D$L��H�t$�I�|�{���H�4$L���_���H�{��H�L$(dH3%(D����H��8[]A\A]A^A_�fDH��tH�H�B@A���A�$A�
�A���A���A�<$L��褦��A�$�P���A��Y���DH�CH�x�;|��H�{�2|��H���*|��I�E�)���DA�����訃�����AWAVAUATUSH��xH�<$H�T$dH�%(H�L$h1�H����I���H���jH�D$H�H�@H���L�d$@L���0y��A�E���tH�D$d1�L�t$0H�D$H�D$,H�D$�@I�UH�<$H�4�L��Ѕ��wL�|$�E�L��H��L��ȉD$d����UH�uL�����H�D$0L��L��ȉD$d�ˉ��H�T$0H�t$8L��蹉��H�|$L���<���A9]��H��H��IUI��H���lgL��H���iI��H����H����H���H���,����L��$�\w���$H�L$hdH3%(����H��x[]A\A]A^A_�@�H��tͺ���H�|$t�H�D$H�H�@��f.�L���Ȃ����uQH�D$XH�L$1�H�H�D$HH�A�n�����
�O���fDH�$L���D$�;����T$��,���H�$�
��&����:����������H��H��dH�%(H�D$1�H��tP�H��tYH�BH�H��tqH�FH��tXH�T$dH3%(u_H�V H��H���x	�H��tH�BH��H�T$dH3%(uH���f����f�����t���@��AUATUSH��dH�%(H�D$1�H��t}H��H����I��H��tiH���H�~H��tO�gI��H��tzH���H��t6H�u L��H��ЉŅ�u<H�L$dH3%(��uQH��[]A\A]����Ր���f��;L���V�����f���f������@��AWAVI��AUATUSH��8dH�%(H�D$(1�L�l$pH�L$xH���H��H���,H���3H����H��M��M��M��tA�M��tA�M��tI�D$I�$M��tI�EI�E�H�}H����H�L$H�T$�<fI��H��tdH���L�T$H��tsH�L$H�u M��M��H��QL��AUH�T$�Љ�XZ��L�T$uWH�t$(dH34%(��ulH��8[]A\A]A^A_�fD���f����f���f��;L���Ơ����f���f����~��@��H��L�dH�%(H�D$1������E�I�IE��yjA����A�@�D9�rhE��tjA�P�I�IA�AM�D��H�����Q����9�|5��I9�u�H�H�|$dH3<%(u&H���fDH�A�����������1����@}����H��dH�%(H�D$1�1���w�/�����Pu���H�L$dH3%(uH���fD�����|��@��SH��dH�%(H�D$1�H��t|��txH�L�[��vbE1ɹE1�A��A��A��D	�A�tE�A��I��A���xA9�vЅ�y-A�Ȁ1�D�L�H�\$dH3%(uH��[Ð@�;1�L��߸�������:|��f.���H��dH�%(H�D$1�H����H��tzH�NH��tqH��	H��vK�9`uFH�q�IH����t6x\�	H��v)�>u$�NH��L�FH9�w+H��w%�1�L�GDH�T$dH3%(u?H����	��f���H��w�H9�r�H�H)��f.����T{��@��H��dH�%(H�D$1�H�H��vgH�NTLMSSPH�FH9u0fo
�x#1�H�L$dH3%(u\H���f.�H�F�8nt7H�D$dH3%(u4H�����fDH��u�fo+x#�fDfox#��z��ff.���AWAVI��AUI��H��ATI��USH��H��dH�%(H��$�1���aH����H��H�CH��tL�{ M��t�A;$�ZH���L���$_H�KH�SM��H��L��A��E���
I�H�{ H�D$hH�{H�D$���<aH��H�D$H���wH���H���gH����YH����KH�L$TL�D$h1�H�s H��H�L$@1�L�D$8�Щ����H�D$hH����H�8��H�t$XH�l$0E1�L�l$pH�4$H�t$dL��$�H�t$(H�t$`H�t$ H�t$\H�t$D�|$LL�|$@D�D$\����L��H���H�P�t$L��M��H�s AVH�D$ L�D$8H�H�L$0���^_���uF�L$`��t&H�D$hM��T$dL��H�t$H�HH�D$0H��H�<$L���Ax��H�<$L���5x���T$\H�D$h���t���I��L; �W���D�|$LH�t$8H�<$�Tp��H��$�dH3%(D����H�Ĩ[]A\A]A^A_��H���H����H�SH�sL��L���A��E����A�}H���x���A�E�f�I�t$H�x�y���������H��H�������L��L��L���A��=�g������E�����H�D$XH�$� ���f�A��!���DA������Pw����AWAVI��AUI��H��ATI��USH��H��XdH�%(H�D$H1�H�D$(�^H���xH��H���H��tAH��L��L��ЉÉD$���0H�L$HdH3%(����H��X[]A\A]A^A_�H���H���XL�|$0H��H�L$ L��L���ЉÉD$����A�<$�<������A�$�T$�l	Hl$0I�.H���Yx���T$H��I�F�A�<$��@H�t$(f��Tf��f�PH�PH�T$(�U��6�������A�$I�t$H�|$(��{��H�T$0A�$HD$(H�D$(ʉH�D$(H�t$8H�T$0H�xH�|$(�{��L��L���|u�������A�}H���D����\$A�E��������fDI�I�~�
��m��H�|$L���u���y���f���f���fDI�H�|$L���
��t���B����u��ff.�f���AWM��AVI��AUI��ATI��H��US�H��dH�%(H�D$1��E\H��t(H��H����H��tL��L��L��L��ЉÅ�u(H�T$dH3%(��u(H��[]A\A]A^A_��A�<$H������A�$���it��f���AUI��ATI��H��US�H��dH�%(H�D$1��[H��t"H��H����H��tL��L��ЉÅ�u H�L$dH3%(��u H��[]A\A]�A�<$H���|���A�$����s�����ATI��UH��SH��H��H��dH�%(H�D$1��[H��tNH�@@H��t%H�T$dH3%(u<H��L��H��H��[]A\��f��H�L$dH3%(uH��[]A\�f�����Ds��@��AWI��AVAUI��ATI���(USH��(H�T$dH�%(H�D$1���h��H���=H��H�@H�D$L��H�CL�sL��H�C L��H�C�ǃ���Ņ�uq��h��H�CH����H�KH��H�t$L��H�H�@A����Ņ���H�I�H�L$dH3%(����H��([]A\A]A^A_�A�<$�7���A�$H�{H��tH�GH��tH���j��H�{�j��H�{tH�sH�|$�Kv��H�{t
H�|$L���7v��H���Oj��H�|$�n���H�T$H�|$L���q����W���@�
롐A�$��
虘��A�$�A�<$L���4���A�$�H����q��fD��AWAVAUATUSH��(H�|$dH�%(H�D$1�H��td�G��~]D�.I��H�_D�x�1�M����H�EH��L9�t3H��D;#u�H�sI�~L����r����u�H�D$H�@H���
�1�H�T$dH3%(uH��([]A\A]A^A_���p��f.���AVAUATUSH��dH�%(H�D$1�H����H�I��H��A�ֿ�Mf��H��H����M�eE��uPD���0f��H�CH����I�uL��H���v��L�#1�H�]H�T$dH3%(u}H��[]A\A]A^�fDA�|$��e��H�CH��tEI�uL��H����u��L�#B� 1�H�]�fD��f��
�f�H���h���
�s����o��f�H��L�dH�%(H�D$1�I��vsH�I��D�A�D��I9�r^D�H�H��H��H�H�H���H�H�H)�H�H��v3�H��ȉ�H9�r$I�H�H��H�QI�H��H)1����	H�|$dH3<%(uH�����n�����AWAVAUATUSH��H�T$dH�%(H�D$x1�H�D$(H���tI���H���sH�D$I��H�H����I��	�PI�?�F�AoI�)D$@H����L�l$PE1�H�\$`I�EH�l$@H�$L�$H��H�KH�uM��H������…���A��H�|$@uо ��p��H��H�D$(H����H��L���@��o��H�CH�����L���o��H�CH�����Ao)L$@H�D$@H����H�D$0L�l$PH�D$H�D$8H�\$`H�l$@H�D$�f�M���H�T$L��L���Љ…���L�d$0A�$H��H�$�c��H�$H����I�t$H����r��H�T$(A�4$H��HcBH��HB�0H�D$(HcPH��HPH�JHcPH�H�r�pH�D$8H��H�|$@�H�KH�uM��H��M�MH������H�T$H��L���O�…���H�|$0�TI��H����H��M��H�������M����H�|$0�kQL��H�L$L��H��A�ԉ����H�D$H��tH��H�|$xdH3<%(����H�Ĉ[]A\A]A^A_�f�H�\$$A��
H�t$(H�߉$�l���$�f.��	럺	H�\$$��E1����H�\$(H�D$1�H��w���A�>L���$H�\$$�.����$A��I�G H�\$$H���y���H�t$H����j����`k����AWAVAUI��ATUSH��H��XdH�%(H�D$H1�H��H�^�#HD�H����I���H����I��H�H��tH��r#A�$H�;��H�;A��jH�{�/�(�`��H��H����H�H�p1�H��H�@H�@ H�@H�@����A�Dž���M���(H�]L��L��H���^{���…���H��o#A�$H�;�vH��q#H�;��H�pI�|$���k������H�}H�GH�D$8H�7H�t$0H����H�D$�8���H�Q�����H�PH�T$H�P�HH�T$�P��	эQ�$I��H9���H�PH�T$�x��H�T$D)�H�|$���t$H�T$�$�D$ �t0H�T$(9������L$H�H�D$H�D$ H��H�$�P��L$H��I��t`H��H����I�����L�T$H�T$0L��L��L�E H�4$��L�T$�…҉T$�~A�>L���z����T$A�H�}A��H����H�}t
H�|$0H���x��H�} H�utH�U L���5�H�uH��tH�uH�|$0�x��H����`��fDH�L$HdH3%(D���?H��X[]A\A]A^A_�H�|$0�QH��H9���H�T$�2I��H��H�T$��H9�������A�x������I�P��H�T$A�HI�PH�T$����A�H	�9��R��H�H�T$)�����|
����N�H�L$0����H�T$8L�E H����L�T$H�T$01�H�4$L����L�T$�…��^H�4$H�UL���Wx���…���DH�mI�m����H��tI�EA����H�pI�|$��h�����;�������DA�	H�GH��tH���I_��H�}�@_������A�
�]���DH�pI�|$�ʉ$�h���$��������g���DA��%���DA�>�$�u����$A�����	���M����M�������I�������L�T$L��H�M L��H�t$0A��L�T$���9���H�D$01��}����f����H�L$0�l���A�>L�։$蛈���$A�� ���1�L�T$H�t$0L��L��A���L�T$���\���1��'���@��AWAVI��AUATUSH��HdH�%(H�D$81�H�D$H���YI���H���SH�H����H�^H����H�.A�	H���*��[��I��H����H���8��C�������C��S������H��H9��H��H)�H�t$ L��H�\$(H�H�T$�D$ H�l$H�\$��GA�ą���H�|$�LH��H���cH����H�t$I�WL���u������H���H�|$�tIH��H�T$L��H���A��E����H�$M�?M�>I�G�@H��tH�A�H�L$8dH3%(D����H��H[]A\A]A^A_��L��A�	�B\����H����=���A�@L��� \���fDA�	�A�
��A�
���A�}H���$���A�EI�GH�x��[��I���[����H��H�t$L���A������A��m����0c����AWI��AVAUATI��UH��SH��H��x��$�D�L$L��$�L��$��D$H��$�H�D$H��$�H�D$ H��$�H�D$(H��$�H�D$0dH�%(H�D$h1�H��t�M��tI�EM��tI�I�FM����H����H����M����H�T$`L��L���^E����t(H�\$hdH3%(����H��x[]A\A]A^A_�H�|$`�IH�D$8H����H�x(�=H�CL�D$`H��t�A;��H�L$XH��L��L���A�����u�L�]M����I�{�H�t$`L��L�\$@�!�H�|$`H�D$HH�D$8L�x(�FL�\$@H���t$8I���t$8I�SAVAU�t$H�t$H�|$LWL��D�L$HH��$�H��$�A��L��$�H��@������H�}��H�C H��tH;D$X����H�t$`H�T$XH�|$T�L$���L$���fDI�pH�xL�D$@�b��L�D$@�����H�C H�D$X����f���fD��V���fD��F���fDH�t$8A�<$L�\$�D$����L�\$�L$A�$H�}�6���I�CH�x�X��L�\$I�{�X��L�\$L���X���L$����������fD���U���
H������H�t$`H�PH�|$T�L$HH�D$@��p��L�\$@�L$H��u;I�C����f���n���fD����fDM�L�]�q���L�߉L$��W���L$�\����z_��f.���H��H�=�[#dH�%(H�D$1��t#��S���	��裀����s#H�D$dH3%(uH����_��SH��H��dH�%(H�D$1��cX��H��
fDH��H��DB u�H�L$dH3%(H��uH��[��^��ff.�H��dH�%(H�D$1����t��@8�u
�,@8�t$H�����u�H�D$dH3%(uH���P����H�����R^��f�UH��SH��H�dH�%(H�D$1���t*�W��H��DH�]H����tH�}�DX t��EH�D$dH3%(uH��[]������]��DAUATUSH��H��z#dH�%(H�D$1�H��tBH��t=D�'I��L���f.�H�[XH��tH�C(9(u�I�uH�xL���__����u�H�L$dH3%(H��uH��[]A\A]��U]��DSH��H���H��0dH�%(H��$(1�H���R`����un�D$%�=�t&H�D$XH��$(dH3%(uOH��0[�DH��$�H�޿��U����uH�D$XH9�$�HM�$���H�������\��f�USH��dH�%(H�D$1�H�="y#tR1�H�-y#�H��H
y#H�x�T���CH��H;Er�H�=�x#�T��H��x#H��x#H�D$dH3%(uH��[]��\��f�PXH�
G��xH�5�H�=�H��dH�%(H�D$1���P��ff.�PXH�
����H�5¢H�=آH��dH�%(H�D$1��P��ff.�AWAVAUATUSL��$���H��H�$L9�u�H��H�5'�dH�%(H��$x@1��'Q��H����H�\$PH�Ź1�H���H�H�D$8H�D$H�D$@H�D$H�D$4H�D$H�� H���HR��H�����|$P#t�H������8I��t�H������8I��t�H���p����H�Ƅ�@�ǀ�[��@��t	��<��H�D$ E1�[��E1���<��L��L�d$H��R��H�T$H�t$H�|$H�D$@��p�����I���H�|$8�g���I��H��tH�x0��A�����</H��$P H�D$(�[H���H��1�AW� � L�
D�L�Z���]��XZM���AI�<$H��t
�-R��I�$I�|$H��t�R��I�D$H�|$(�Y��I��H��tI�|$H��t��Q��M�t$H�D$ H��tH����X��I�$M��t
L����X��I�D$H�t$H�|$�`i���C���H���\��H��$x@dH3%(��H�Ĉ@[]A\A]A^A_��H��H�t$ E1�����H�ƀ�[�f���L�n�]E1�L���-����H�ƀ�<�O���L�v�>L���
����9���H��L��� 1�H����K������`��Z��I��H��� ���H�D$8H�|$(I�G(��W��H��I�GI����W��A�G<I�GM����H��t~H�D$ H��tH���W��I�M��tL���W��I�GM��t"�L��H�=J������uA�G@H��t#L�=�t#H��tL�xXH�=�t#����L�=�t#���L���P��H�|$H�t$�g��L���P�����H��t�H����O�����W��ff.�f�AUI���8ATI���USH��(dH�%(H�D$1��QY��H��H����H��f�H�PL��H��H�5��)$�Z��H$��H�]#H9C��f�H�S H��L��H�5y�)$�KZ��H$��H�"^#H9C ��f�H�S(H��L��H�5Q�)$�Z��H$�HH�!^#H9C(�Xf�H�S0H��L��H�5-�)$��Y��H$��H�(]#H9C0��f�H�S8H��L��H�5�)$�Y��H$�vH�\#H9C8��f�H�S@H��L��H�5�)$�gY��H$�
H�6]#H9C@�f�H�SHH��L��H�5ʥ)$�.Y��H$��H��\#H9CH��f�H�SPH��L��H�5��)$�X��H$�;H�]#H9CP�Kf�H�SXH��L��H�5u�)$�X��H$��H��\#H9CX��f�H�S`H��L��H�5K�)$�X��H$�iH��\#H9C`�yf�H�ShH��L��H�5�)$�JX��H$�H��[#H9Ch�f�H�SpH��L��H�5�)$�X��H$��H�`Z#H9Cp��f�H�SxH��L��H�5Ǥ)$��W��H$�.H��\#H9Cx�>f�H��L��H���H�5��)$�W��H$��H��Z#H9����f�H��L��H���H�5p�)$�]W��H$�3H�Z#H9���Ff�H��L��H���H�5B�)$�W��H$��H��Y#H9����f�H��L��H���H�5�)$��V��H$�5H��X#H9���Hf�H��L��H���H�5�)$�V��H$��H��X#H9����f�H��L��H���H�5��)$�aV��H$�7H��X#H9���Jf�H��L��H���H�5��)$�"V��H$��H��W#H9����f�H��L��H���H�5]�)$��U��H$�9H��W#H9���Lf�H��L��H���H�55�)$�U��H$��H��Y#H9����f�H��L��H���H�5�)$�eU��H$�;H�<X#H9���Nf�H��L��H���H�5�)$�&U��H$��H�Y#H9����f�H��L��H���H�5��)$��T��H$tHǃ�H���NV��f�H��L��H���H�5��)$�T��H$�H�DW#H9���f�H��L��H���H�5t�)$�nT��H$��H��W#H9����f�H��L��H���H�5C�)$�/T��H$tHǃ�H���U��f�H��L��H���H�5$�)$�S��H$��H��X#H9����f�H��L��H��H�5��)$�S��H$�LH��X#H9��_f�H��L��H��H�5ɡ)$�wS��H$��H�vU#H9���f�H��L��H��H�5Y�)$�8S��H$�NH��U#H9��af�H��L��H��H�5Z�)$�R��H$��H�(U#H9���f�H��L��H�� H�53�)$�R��H$�PH�V#H9� �cf�H��L��H��(H�5�)$�{R��H$tHǃ(H����S��f�H��L��H��0H�5�)$�AR��H$��
H�HU#H9�0��
f�H��L��H��8H�5��)$�R��H$�
H��S#H9�8�+
f�H��L��H��@H�5��)$��Q��H$��H��T#H9�@��f�H��L��H��HH�54�)$�Q��H$�H��T#H9�H�-f�H��L��H��PH�5!�)$�EQ��H$��H�|T#H9�P��f�H��L��H��XH�5�)$�Q��H$�H��U#H9�X�/f�H��L��H��`H�5Ɵ)$��P��H$��
H�~R#H9�`��
f�H��L��H��hH�5ɦ)$�P��H$�
H�7U#H9�h�1
f�H��L��H��pH�5`�)$�IP��H$��	H��T#H9�p��	f�H��L��H��xH�5?�)$�
P��H$� 	H��S#H9�x�3	f�H��L��H���H�5�)$��O��H$��H�
S#H9����f�H��L��H���H�5�)$�O��H$�"H��Q#H9���5f�H��L��H���H�5��)$�MO��H$��H��S#H9����f�H��L��H���H�5��)$�O��H$�$H��S#H9���7f�H��L��H���H�5r�)$��N��H$��H��P#H9����f�H��L��H���H�5M�)$�N��H$�&H�P#H9���9f�H��L��H���H�5"�)$�QN��H$��H�xP#H9����f�H��L��H���H�5�)$�N��H$�(H�qP#H9���;f�H��L��H���H�5ӝ)$��M��H$��H�
P#H9����f�H��L��H���H�5��)$�M��H$�*H�[R#H9���=f�H��L��H���H�5��)$�UM��H$��H�lQ#H9����f�H��L��H���H�5d�)$�M��H$�,H��P#H9���?f�H��L��H���H�5@�)$��L��H$��H�NQ#H9����f�H��L��H���H�5�)$�L��H$�.H�/P#H9���Af�H��L��H���H�5¢)$�YL��H$tHǃ�H���M��f�H��L��H���H�5��)$�L��H$�uH��O#H9����f�H��L��H��H�5��)$��K��H$��H�P#H9��f�H��L��H��H�52�)$�K��H$tHǃH���M��f�H��L��H��H�5�)$�gK��H$tHǃH����L��f�H��L��H��H�5��)$�-K��H$u7M����
�AoMH�L$dH3%(H����
H��([]A\A]�HǃH���]L���HǃH���EL��H�O#H9����Hǃ�����Hǃ�H���
L��H�VN#H9���x���Hǃ��h���f�Hǃ�H����K��H��M#H9�������Hǃ����f�Hǃ�H���K��H��N#H9���@���Hǃ��0���f�Hǃ�H���MK��H�FM#H9�������Hǃ����f�Hǃ�H���
K��H��M#H9���B���Hǃ��2���f�Hǃ�H����J��H�N#H9������Hǃ����f�Hǃ�H���J��H�NK#H9���D���Hǃ��4���f�Hǃ�H���MJ��H�6K#H9������Hǃ����f�Hǃ�H���
J��H��J#H9���F���Hǃ��6���f�Hǃ�H����I��H��I#H9������Hǃ����f�Hǃ�H���I��H�J#H9���H���Hǃ��8���f�Hǃ�H���MI��H�fL#H9������Hǃ����f�Hǃ�H���
I��H�6L#H9���J���Hǃ��:���f�Hǃ�H����H��H�nI#H9������Hǃ����f�Hǃ�H���H��H�VJ#H9���L���Hǃ��<���f�HǃxH���MH��H��J#H9�x����Hǃx���f�HǃpH���
H��H�K#H9�p�N���Hǃp�>���f�HǃhH����G��H�K#H9�h����Hǃh���f�Hǃ`H���G��H��G#H9�`�P���Hǃ`�@���f�HǃXH���MG��H��J#H9�X���HǃX��f�HǃPH���
G��H��H#H9�P�R�HǃP�B�f�HǃHH����F��H��H#H9�H���HǃH���f�Hǃ@H���F��H�FH#H9�@�T�Hǃ@�D�f�Hǃ8H���MF��H��F#H9�8���Hǃ8���f�Hǃ0H���
F��H��G#H9�0�V�Hǃ0�F�f�Hǃ H����E��H��G#H9� ���Hǃ ��f�HǃH���E��H�FF#H9���Hǃ��f�HǃH���ME��H��F#H9����Hǃ��f�HǃH���
E��H��E#H9�� �Hǃ��f�HǃH����D��H�.H#H9����Hǃ��f�Hǃ�H���D��H��G#H9���"�Hǃ���f�Hǃ�H���MD��H��E#H9���i�Hǃ��Y�f�Hǃ�H���
D��H�.E#H9�����Hǃ����f�Hǃ�H����C��H�6F#H9���1�Hǃ��!�f�Hǃ�H���C��H��D#H9�����Hǃ���f�Hǃ�H���MC��H��E#H9���3�Hǃ��#�f�Hǃ�H���
C��H��C#H9�����Hǃ���f�Hǃ�H����B��H��B#H9���5�Hǃ��%�f�Hǃ�H���B��H�^C#H9�����Hǃ���f�Hǃ�H���MB��H��B#H9���7�Hǃ��'�f�Hǃ�H���
B��H�~B#H9�����Hǃ���f�Hǃ�H����A��H��B#H9���9�Hǃ��)�f�Hǃ�H���A��H��B#H9�����Hǃ���f�Hǃ�H���MA��H�C#H9���;�Hǃ��+�f�H��H�Cx�A��H�YD#H9Cx���H�Cx��f�H��H�Cp��@��H��A#H9Cp�Y�H�Cp�L�f�H��H�Ch�@��H��B#H9Ch���H�Ch���f�H��H�C`�@��H�)C#H9C`���H�C`�z�f�H��H�CX�P@��H�	C#H9CX��H�CX��f�H��H�CP� @��H��B#H9CP���H�CP��f�H��H�CH��?��H�AB#H9CH�L�H�CH�?�f�H��H�C@�?��H�B#H9C@���H�C@���f�H��H�C8�?��H��@#H9C8�z�H�C8�m�f�H��H�C0�`?��H�9A#H9C0��H�C0��f�H��H�C(�0?��H��A#H9C(���H�C(��f�H��H�C�?��H�@#H9C��H�C��f�H��H�C ��>��H�1A#H9C ��H�C ����9��H�
֔��H�5��H�=��.��ff.�AUI���8ATI���USH��(dH�%(H�D$1��q;��H��H���eH��f�H�PL��H��H�5��)$�<��H$tH��H�C�>��f�H�S H��L��H�5��)$�p<��H$tH��H�C ��=��f�H�S(H��L��H�5r�)$�<<��H$tH��H�C(�=��f�H�S0H��L��H�5T�)$�<��H$tH��H�C0�r=��f�H�S8H��L��H�58�)$��;��H$tH��H�C8�>=��f�H�S@H��L��H�5�)$�;��H$tH��H�C@�
=��f�H�SHH��L��H�5�)$�l;��H$tH��H�CH��<��f�H�SPH��L��H�5�)$�8;��H$tH��H�CP�<��f�H�SXH��L��H�5��)$�;��H$tH��H�CX�n<��f�H�S`H��L��H�5��)$��:��H$tH��H�C`�:<��f�H�ShH��L��H�5l�)$�:��H$tH��H�Ch�<��f�H�SpH��L��H�5D�)$�h:��H$tH��H�Cp��;��f�H�SxH��L��H�5$�)$�4:��H$tH��H�Cx�;��f�H��L��H���H�5�)$�9��H$tHǃ�H���d;��f�H��L��H���H�5ً)$��9��H$tHǃ�H���*;��f�H��L��H���H�5��)$�9��H$tHǃ�H����:��f�H��L��H���H�5��)$�O9��H$tHǃ�H���:��f�H��L��H���H�5`�)$�9��H$tHǃ�H���|:��f�H��L��H���H�58�)$��8��H$tHǃ�H���B:��f�H��L��H���H�5�)$�8��H$tHǃ�H���:��f�H��L��H���H�5�)$�g8��H$tHǃ�H����9��f�H��L��H���H�5Ȋ)$�-8��H$tHǃ�H���9��f�H��L��H���H�5��)$��7��H$tHǃ�H���Z9��f�H��L��H���H�5��)$�7��H$tHǃ�H��� 9��f�H��L��H���H�5e�)$�7��H$tHǃ�H����8��f�H��L��H���H�5E�)$�E7��H$tHǃ�H���8��f�H��L��H���H�5 �)$�7��H$tHǃ�H���r8��f�H��L��H���H�5��)$��6��H$tHǃ�H���88��f�H��L��H���H�5ԉ)$�6��H$tHǃ�H���7��f�H��L��H��H�5��)$�]6��H$tHǃH����7��f�H��L��H��H�5��)$�#6��H$tHǃH���7��f�H��L��H��H�5��)$��5��H$tHǃH���P7��f�H��L��H��H�5!�)$�5��H$tHǃH���7��f�H��L��H�� H�5�)$�u5��H$tHǃ H����6��f�H��L��H��(H�5�)$�;5��H$tHǃ(H���6��f�H��L��H��0H�5��)$�5��H$tHǃ0H���h6��f�H��L��H��8H�5��)$��4��H$tHǃ8H���.6��f�H��L��H��@H�5i�)$�4��H$tHǃ@H����5��f�H��L��H��HH�5@�)$�S4��H$tHǃHH���5��f�H��L��H��PH�5�)$�4��H$tHǃPH���5��f�H��L��H��XH�5�)$��3��H$tHǃXH���F5��f�H��L��H��`H�5Ň)$�3��H$tHǃ`H���5��f�H��L��H��hH�5D�)$�k3��H$tHǃhH����4��f�H��L��H��pH�52�)$�13��H$tHǃpH���4��f�H��L��H��xH�50�)$�2��H$tHǃxH���^4��f�H��L��H���H�5�)$�2��H$tHǃ�H���$4��f�H��L��H���H�5�)$�2��H$tHǃ�H����3��f�H��L��H���H�5†)$�I2��H$tHǃ�H���3��f�H��L��H���H�5��)$�2��H$tHǃ�H���v3��f�H��L��H���H�5��)$��1��H$tHǃ�H���<3��f�H��L��H���H�5b�)$�1��H$tHǃ�H���3��f�H��L��H���H�5=�)$�a1��H$tHǃ�H����2��f�H��L��H���H�5!�)$�'1��H$tHǃ�H���2��f�H��L��H���H�5��)$��0��H$tHǃ�H���T2��f�H��L��H���H�5ԇ)$�0��H$tHǃ�H���2��f�H��L��H���H�5��)$�y0��H$tHǃ�H����1��f�H��L��H���H�5_�)$�?0��H$tHǃ�H���1��f�H��L��H���H�5A�)$�0��H$tHǃ�H���l1��f�H��L��H���H�5�)$��/��H$tHǃ�H���21��f�H��L��H���H�5�)$�/��H$tHǃ�H���0��f�H��L��H���H�5��)$�W/��H$tHǃ�H���0��f�H��L��H��H�5��)$�/��H$tHǃH���0��f�H��L��H��H�5d�)$��.��H$tHǃH���J0��f�H��L��H��H�53�)$�.��H$tHǃH���0��f�H��L��H��H�5�)$�o.��H$u)�AoMH�L$dH3%(H��u"H��([]A\A]�f�HǃH���/������*��fDUSH��H�dH�%(H�D$1�H����H��H�;H��t��"��H�{H��t��"��H�{H��t��"��H�{H��t��"��H�C(H��tH;C0tH�s(H�|$�W:���C<��uPH�{ H��t�R0��H�{HtH�sHH�|$�-:��H���u"��H�EH�D$dH3%(uQH��[]�fDH�S0H��t�H�zH��1�H�Hǂ0H��H)���8���H�H���"���l����)���AWAVAUATUSH��dH�%(H��$�1�L�|$XL���O0��H�����H�D$XH;	F#��H�=_�H��E#H��E#1�����H���tH��HI�H9���L�l$`f�1�HDŽ$�1�L��)D$`H�=�)D$p)�$�)�$��*������L����*��H�-�E#H��E#H��tCH�D$HL�d$`H�D$H�D$PH�D$H�D$DH�D$f��C@��tH�{0t2H�[XH��u�H��$�dH3%(�NH�ĸ[]A\A]A^A_�f�H�t$L��H�D$HA)$H�{� ��HD$`u�H�T$H�|$HL��H�5J��m+��H����H�{(�T$PH�D$XH���~H�s(H�|$H�@�H�C0H���c�C<L�t$XI�>�sE1�L�d$8L�|$0M���I��M;&�GL��H��InH�����I��H��t�H�xHu�H�C(�H�D$ �6��I��H���9H�D$ D��EA�<D�\$,A�}�D$(�	��D�\$,H��I��I�E��H�D$ L��L��L�\$ H�p��,��L�\$ �T$(H�uJ�<��,��M�oHH�C0I�GP�<���@L�t$hI�H��u���fDI��I�H�����H��L�%fC#�Y��H���t�H9�HL�I9�}�H�������DH�=������V����H�|$HH��t�,��L���9+������L�|$0L�d$8H�|$L���}��H�D$HH�D$HH�C ��L�����I�GH�l����&��ff.�@��H��H�5�:#H�=�:#dH�%(H�D$1�������u��:#��t�y:#H�T$dH3%(u$H���H�
����H�5�yH�=�~����%�����AWAVI��AUATUSH��HdH�%(H�D$81�H���jI���H���dH��4���A��A�����H�=�A#���������k���H�=tA#���������P��H��A#1�H��H����H�@XH��H��u�H���~�E1��&��H�VA#H���GD�s@��uEH�C(L��H��H-/A#�8�P��H�EH����H�K(H��I���H�q�-*��H�C(��EH�[XH��u�L�-�@#H�=�@#������>H�=�@#�������(H�=�@#��������L��L��H�5�@#��?��H�=Y@#A���������M�.M����I�UH���"H�D$0E1�1�D��H�D$H�D$(H�$H�D$,H�D$�W�H�|$0tH�t$H�<$���I�E�L$,H����oH��A��A�^I��(D��H��I;]��I�uH��H�T$1�H�<$�D$,H�D$0H��� ����u�H��)#H�L$H�T$0H�<$H�0����^���fDH��tH�A�H�L$8dH3%(D���,H��H[]A\A]A^A_�1�M��t)f�H��H��H��H6?#H�x����L9�u�H�=!?#����H�	?#H�?#H�=�>#�����u\H�=?#�����uJf.�A�
�O���D�������پH�CiI��H��)#H�81��g������f�������پH�;iI��H��)#H�81��7������f�H�{A�^H�l$I�����H�T$I;]�\���I�U����!��ff.���AUATUSH��dH�%(H�D$1�H����I��H����H���E����E����H�=>#����Å��H�>#H��tH�H�C0H��t.H���H��t"L��H���A�ą���H�s0�}�|C���EH�[XH��u�H�=�=#����Å��|H�D$dH3%(��H��L��H��[]A\A]�0���A�
H�T$dH3%(D����H��[]A\A]��A����H�==#����Å�t�������پH��gI��H��'#H�81�����@���������پH�3gI��H��'#H�81��W����������ff.�f���UH��SH��dH�%(H�D$1��������H�=o<#�j���Å�uT���H�����H��trH�xH��ti����H�==<#H���%���Ņ�uoH�T$dH3%(H����H��[]Ð������پH�cfI��H��&#H�81�������f�H�=�;#�����Å�u>1��f.��������I��H��&#H�6f�H�81��7������f����y����I�������ff.�f���AT�`UH���SH��dH�%(H�D$1��r ��H�$H���EH��H�E �8�H�C �K ��H�C0H���H�U(H�u0�GH���H�H��t�oD�e8H�}H�C(�C<D�c8H�CXH��t�f��H�H����H�}H��t�L��H�CH����H�}H��t�1��H�CH����H�}H��t���H�CH��tmH��:#H���}D;b8}0H�SX1�H�z:#H�L$dH3%(uoH��[]A\ÐD;`8|H��H�BXH��u�H�CX1�H99:#H�ZXu�H�,:#�f�H���h�말��f�H�	:#1�H��9#������fD��AWAVI��AUATI��USH��dH�%(H�D$1�H�������dH�=}9#�x���Å�����8#����H��9#M���pH����H�k(E�,$M���-f.�H�CHH��t	D;8��H�[XH����H�k(D9}u�I�t$H�}L�������u�H�CHH���~I�1���c�H��8#�B8#M���i�����@������پH�cI��H�y##H�81��'��袿��f�I�t$H�xL��������I���I�.1���H�=T8#�?���Ņ�u9H�L$dH3%(��ucH��[]A\A]A^A_���
��f��������H��bI��H��"#H�81�����B���f�L�c(L��������ff.�@��AUATUSH��dH�%(H�D$1�H����I�������H�=�7#�}���Å���H��7#H��u�GDH�CHH��t;(tsH�[XH��t,�C@��u�L�c(A�mA�$9�u�I�uI�|$�5����u�L��H�=7#����Ņ�uTH�L$dH3%(H����H��[]A\A]�f.�I�uH�x���������v�����1��@�������H�3aI��H��!#H�81��/�����f.����i���پH��`I��H�I!#H�81��
���r����}��ff.�f���AWAVA��AUI��ATI��USH��H��(dH�%(H�D$1�H�H�l$H����*��A�ǩ��uNE��~=A�F�H��L�tf�H������H��tH��H��L���5+��A�ǩ��u;H��L9�u�H�D$E1�I�EH�L$dH3%(D��u"H��([]A\A]A^A_�@H�|$H���36�������ff.����AUATI��USH��8dH�%(H�D$(1��j����H�=+5#�&
������H�E5#M����H���#H�C(E�,$L���(fDH�CHH��t;(��H�[XH����H�C(9(u�I�t$H�xL��������u�H�{0t�fDH�=�4#�
���Ņ��RH�C0H�L$(dH3%(��H��8[]A\A]�����Q���پH��^I��H�1#H�81������Z���f.�H�C(I���%���@I�t$H�xL��������(���H�=4#�����Ņ���H�CP�Z�����k�L���#���H��H��tpH�x0����f�H�l$H�t$)D$H�xH�����HD$u?H�|$H��H��H�5p���H��uzH�{(�$H�C0H�|$H��t	H�{ ������H�=T3#�?���Å�u71����f����)����I��H�#H��]�H�81��
���r����������I����H�s(H�|$覾���C<H�C0�s���������AWM��AVAUI��ATI��UH��SH��H��XdH�%(H�D$H1�L��$�L��$�H�D$8L��$�H�D$@H��t�M��tI�EM��tI�$M��tI�L�T$L�L$L�\$L�$H����H����H�}�DH�}���I��H����H���H����I�����I�����H�t$8M��L�$HE�M��H�uL�\$L�L$L�T$��H�T$@H��H��ARAQASL�L$P��H�� �Ņ���H�T$@H����L��L��H���_����Ņ���M��t&H�T$8H����L��L��H���4����Ņ���1�M��tH�|$0�i���I��	@�H�L$HdH3%(����H��X[]A\A]A^A_�fDI�E�~�����f�H��1�H��ARAQASL�L$P��H�� �Ņ��G����;L���r6����fD��s���fD��c���fDI�$�1���H�|$8�A���H�t$8H�|$,A����+���fDM������H�|$,L���
	���
����P����AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H�~I��I�ϻ�r���I��H��t&H���H��tH�uL��L��L��ЉÅ�u$H�T$dH3%(��u9H��[]A\A]A^A_�A�<$L���D5��A�$��fD�뽐�����@��AWM��AVM��AUI��ATI��UH��SH��H��8dH�%(H�D$(1�H�D$ H��t�M��tI�$M��tI�H����H�����E���H�EH�}H�0H�t$�]���H�t$I��L��L	�L	�ttM����I���H����M����L�T$E1�L��H�T$M��H���L�T$��A����H�T$L��H�|$L��L�T$�6���L�T$��A����E1�M��t>H����L�|$ �UH�uH��L������A�ũ����H�D$ E1�I�DH�L$(dH3%(D���>H��8[]A\A]A^A_�f.�A�
���L�T$E1�L��1�M��H���L�T$��A���U����;L���N3����f.�L�|$ H��L�T$L���
��A�ũ��tyH�|$ t
H�|$L�����M���C���I�<$�8���H�|$L������&���fDA�����D1����1�I���:����A����DL�T$L��H��L���E��A�ũ��������a���f��|$L�։;�r2����������fD��AWAVAUATUH��SH��8L�$L�|$pdH�%(H�D$(1�H���)I��H��H��M���H��tH�H�T$ H���n�…�t(H�L$(dH3%(���\H��8[]A\A]A^A_�H�|$ ���I��H���*H�����H�t$ L������H��M��t
�H��t�H�|$ H�t$���H��H�t$M�����H�L$H��H��H��AWM��L�D$A��^_�…���H�T$H�|$H��L���L����…��*����|$L��$�;�1���$������H��tH����f.������fDH��1�H��M��AWH��L�D$A�҉�XY��������;L��$�0���$�����������
�����AWAVAUATUSH��XH�T$H�L$(dH�%(H�D$H1�H�D$8H�D$@H����H��H�����I��H��F����H�D$@1�H�D$H�D$8H�$H�D$4H�D$ H��H��H}��I��H���dH��H���H�UH�L$L��H�4�H�T$��A�Ņ����}L�|$@��M��tnH�|$8��H�$E1�I�?H�D$u�NfDI��M;7s?H�$L��L��H��Iw�����…�t�H�\$4H�t$�$H������$A����f�H�t$H�|$ ���H��9]����E����L�|$8H�D$(L�8H�L$HdH3%(D����H��X[]A\A]A^A_��A���A�<$L���.��A�$�fDH�4$L��H�t$�G���…�������6����A�H�D$8H�\$4H�D$H�t$H������N���f�A��G���DA��7���H�D$8A�H�\$4H�D$��i��f���AWAVAUATUSH��dH�%(H�D$1�H���H��H���H��I��M��H��tH�M��tI��H�}H����H��t
�H�}M��tH��L��H������A�ũ��u<H�}�0�I��H����H���H����H�u M��1�1�H���A�Ņ�u-H�L$dH3%(D����H��[]A\A]A^A_��H�|$L���c���;L����,����DH��t��E1��f.�A���A��x���DH�|$L��A��-���[����H�|$L��A��
���;�����	����AUATI��USH��dH�%(H�D$1�H�$H��tJH���H��tHH�H�����Ņ�t?H�L$dH3%(����H��[]A\A]�fDH��tH����DH�<$��I��H��tOH���t5H�<$��L��H��H��A����Ņ�t��;L���+����v���D��g���fD��W���������AWAVAUATUSH��H�T$dH�%(H�D$x1�H�D$@H�D$HH�D$`H�D$hH����I���H��tH�D$H�H����H�D$`H�L$PL��H��H�D$����A��H�D$@H�D$ E��tbH�D$HL�d$XH�D$H�t$L�����H�t$ L���1���H�t$L���$���H�L$xdH3%(D���]H�Ĉ[]A\A]A^A_�H��L���
��A��H�D$HH�D$E��t+L�d$X�@H�|$tH�D$H�@A��H��L���e��A�ƅ�u�H�D$@L�d$XH�8��H�L$<1�L�d$XH�L$(L�|$8@H��L��L��H��HXH�D$PH�D$XH��H�$�����uGH�T$XH�L$(L��H�4$����L��L���$�����$��u�D$<��tH�T$H��L�������uBH�D$@H��H9(�x���H�D$HH�L$H�D$HH����DA����DA���e����k��f.����AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H����M��M��tuH���H�~H��tsA���k�I��H��tKH���H��tWH�u M��L��D��H��ЉŅ�uOH�T$dH3%(��udH��[]A\A]A^A_�fD��Ґ���f���f��;L���(����f���f����T��@��AVAUATUSH��dH�%(H�D$1�H�$H�����I��H��H��I�����Ņ�t"H�L$dH3%(��uzH��[]A\A]A^�H�<$�G�I��H��tOH��0H��tCH�<$���L��L��H��H��ՉŅ�t��;L���<'�������f���t����q�����AWAVAUATUSH��(dH�%(H�D$1�H���H��I��H���H��tH�H��tH�EH�T$H��� �A�ą�t)H�L$dH3%(D����H��([]A\A]A^A_�H�|$�F�I��H����H���t�H�|$���H��L��H��H��A���A�ǩ��uiH��t�H�}u�H��#H��H��H�0�X������d���H�|$L�����M���N���I�E�A���f.�A��,���D�;L��E����%�������@A�����������AWAVAUATUH��SH��H�<$H�L$8L�D$0dH�%(H�T$x1�H�D$`H����H�$L�|$0�M����I�H�T$`I��H��H��H�T$@����A��H�D$TH�D$(A����t;H�t$@H�|$(���H�T$xdH3%(D����H�Ĉ[]A\A]A^A_�L��H������A�ũ��u�H�D$`H�8��H�|$pH�T$h1�H�|$H�|$XL�|$\H�T$H�|$�H��H�pH�T$H�D$hH��H�<$H�D$pH�H�L$ H�L$�h�������tL�l$hM��tSI�<$tLE1�L��H�L$L��L��H��It$�D$X��������L$X���I��M;4$r�@H��t^H�}tWH�\$HH�\$E1��L��H��L��L��H��Hu�D$X������u�T$X����I��L;ur�H�\$HH�D$8H��tcH�8t]E1�L�t$pH�\$HL��I��H��H�L$L��L��H��Iu�D$X�7��������D$X����H��I;]r�H�\$H�H�D$`H�T$0H�<$H�t$ Hp������uhDL�t$(H�t$L���v���H�t$L���i���H�D$`H��H9�7���H�$E1�����DH�\$H�f�A����H�\$(H�t$A��H������H�t$H�������S������f���H��dH�%(H�D$1�H�D$dH3%(u	H�������z���f.�AUATUSH��H�g#dH�%(H�D$1�H��t6D�/I��L����H�[H��tH�;(u�H�pI�<$L�������u�H�L$dH3%(H��uH��[]A\A]������H��H�wdH�%(H�D$1��_���H��tH�@H�T$dH3%(uH������ff.����AUI��ATI��UH��H��SH��H��dH�%(H�D$1����H��thH��H�@1�H��tA�U;u:H�pI�}�%����u)�H�L$dH3%(���
H��[]A\A]��H�sL��1����H�C� ���H��H����H�H��H��L��H�@������u9H�SL��L�������u$H��#H�CH��#H�C�U���DA�<$�w$��H�{A�$tH�sH�|$�~
��H�;t
H�|$H���k
��H�߽
����	���f�A�$��
�$��A�$�������f.����UH��SH��dH�%(H�D$1�����Å�u H�T$dH3%(��uH��[]���}�#���E�����fD��UH��SH��dH�%(H�D$1������Å�u H�L$dH3%(��uH��[]���}�P#���E���V���fD��H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���UH��SH��dH�%(H�D$1��~���Å�u H�L$dH3%(��uH��[]���}�"���E�����fD��UH��SH��dH�%(H�D$1�����Å�u H�L$dH3%(��uH��[]���}�P"���E���V���fD��H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H��tCH��t>�;tH�L$dH3%(u,H���H�vH������������f�1���������AWAVAUATUSH��(�T$L�$dH�%(H�D$1�H����I��H����H��H����L��M����I�I�AH�~��I��H�~A���I��H��t5H���A�H��t#H�uI��L�$L��T$L���A�ą�u-DH�L$dH3%(D��ueH��([]A\A]A^A_�fDA�}L���L��A�E��fDA���A���A���A���c�����AVAUATUSH��dH�%(H�D$1�H����H��I���H����H��A�H��tdH�zt]H�:tWH�~�|H�~A��]�I��H��t5H�@8A�H��t&I�uH��H���A�ą�t�}L���X���EDH�L$dH3%(D��u5H��[]A\A]A^�A����A����A���c�����H��(dH�%(H�D$1�H��t�H��t-H�>t'H�~H�t$H��t��H�t$H�H�F1�H�T$dH3%(uH��(����f.�D��AWAVAUATUSH��dH�%(H�D$1�H���-I���H���#H�H���A�H9��H��C���1�E1��2�I�E H����H�SL��H�4�Ѕ���H��9k~=H�{I��I��L����I��H�CJ�| H��t�t�M��u�A�
H��9k�H�{�W�H�{�N�H���F�H�L$dH3%(D��ukH��[]A\A]A^A_�@A��o���DA�>L��A��?��A��Q����E1��A��A���E1��h����c�����USH��dH�%(H�D$1�H����H���H����H�H�����H;ukH��H�{t	H�s�8���H�{H��tH�GH��tH���>�H�{�5�H�sH��tH��H�S �`���H�sH����H����1�H�L$dH3%(u!H��[]�1���@��א����t���@��AVAUATUSH��dH�%(H�D$1�H����H��H����I��H����I��H����H���H�~H��ta�|��I��H��tDH���H��tHH�u L��L��H��ЉŅ�uSH�T$dH3%(��uhH��[]A\A]A^�@���f����f���f��;L���&����f���f����d�@��H��dH�%(H�D$1�H�D$dH3%(u	H������*�f.�UH��SH��xdH�%(H�D$h1�����H�D$N@�t$OH��I��H�D$H�A�1ɉt$$1Ҿ	1�H�D$(H�D$P�D$N�$�D$�D$�D$0�D$<H�D$@�1��E���6�t$PH�
O�GS2-�C�����������S�T$Q��@��@��	�Hc��41@�s���������41@�s�t$R���@����@��	�Hc���S�T$S��@��@��	�Hc��41@�s����������41@�s	�t$T����@��@��	�Hc���S
�1�S�T$U���@�������41@�s�t$V����@����@��	�Hc���S
�1�S�EH�\$hdH3%(u&H��x[]�f��
��f��"����.�ff.���AWAVAUATUSH��8dH�%(H�D$(1�H���eH��I��H��I��M���H��tH�H�BM��tI�$I�D$M��tI�EI�EH�T$ L��H�����A�ƅ�t*H�L$(dH3%(D���H��8[]A\A]A^A_�@L������H����H���tOH�|$ H�D$�F��L�L$L��M��H��H��H��A���L�L$��A��t��;L������A����H���c������H�EH��tjH�EA�7H��I�WH�����A�Ɖ�A�����$���H�|$H��A���^�����f�A����DA����D�A�
�����Z�E������f���AWAVAUATUSH��XH�$dH�%(H�D$H1�H�D$(H���|I��I���H��tH�H�D$(L��H��H�D$�;�������H�D$(H�8�?H�L$$E1��H�L$H�L$0H�L$�fDI��L90��H�xL��H��H����I��H��t"H���H��tH�$L��L��ЉÅ���H�D$(��u�I�<$u�HhH�L$�uH�|$H�U������uH�L$I�D$H�	H9tBH�D$(I��L90�m���H�t$H�|$�A���H�L$HdH3%(unH��X[]A\A]A^A_�H�L$�I9Hu�H�L$�If9Hu�H�L$�I8Hu�H�$H��t
L�8f.�1�댸�H�D$$�H�D$�q����|�f.�f���AWAVAUATUSH��(dH�%(H�D$1�H�\$`H����I��H��M���H��tH�H�CH���L�L$�L$�$M���H����H�}��H�}A��L��I��H��t4H�@`�$�L$L�L$H����H��H�uM��L��S��A��XZE��uPH�t$dH34%(D����H��([]A\A]A^A_�f.�H��tH�H�C@A��A�<$L������A�$�fDA��I��8tNH��A��L���SH��L��AQE1�AV�7H�� A���[���A��M���DA��=���DI��HA��$���I��Xu���������H��dH�%(H�D$1�H�D$dH3%(u	H���O��z�f.���AWAVAUATUSH��dH�%(H�D$x1�H���jH��H���L$�H���qM��M���EH�~�JH�~A��E���s��I��H���_H����L$H��tOH�uM��E��D��H��ЉŅ�t�;L���e���H�T$xdH3%(���IH�Ĉ[]A\A]A^A_�I��XH����D��H��H�u�D$H�T$8E1�D��H��H�D$(H�D$ �D$0H�D$@�D$H	H�D$XH�D$P�D$`H�D$pH�D$hjL�L$ �Љ�XZ��uwH�D$`D$H�|$HuA9�wyA�$����@�����fD����fD����fD�;�����@�����fD�;L���
���lj���DA)�E�4$����_�f.�D��AWAVAUATUSH��8dH�%(H�D$(1�H�D$ H����H��H�����H�I��I��I��H��tyH�{�`��I��M����I�� H����H��toH�sL��L��H��ЉÅ�u*1�H�L$(dH3%(���	H��8[]A\A]A^A_��}L���%���E��1�����I���@��f�H�T$ L��H��H��H�T$L��ЉÅ�u�H�|$ t�����I��H��tjH�PL��H�������Å�u3H�D$ M�,$I�E�I������>���fD��.���fDI�uH�T$H�|$1��t��L���#�����H�T$H�|$1�L���E�
��t�������@��AWAVAUATUSH��8H�$dH�%(H�D$(1�H����H��H�����L�.H��I��M����H�D$ 1�A�H�D$A�E��D�`�H��(H��t+I�UL��H�|$H�4�H�$��=t�|$ �}��u\E1�H��A9]~H��H��I}�?��I��H��u�A�H�L$(dH3%(D���FH��8[]A\A]A^A_�A���L���$�%
���$�EA���f.�H�D$1�����I��H��t�H��(H����H�t$L��H�$H���A���L�t$M���]���� ���I��H�D$ H��tHI�E���@���I�EH��t%L�0H��I�UL��������uLH�D$ H����H�t$ �EH�|$A�
�n�����A������}L���#	���E���H�t$ H�|$A���9�����_�ff.�@��H��(H�t$H�t$dH�%(H�D$1��)�H�T$dH3%(uH��(���f.�D��AWAVAUATUSH��dH�%(H�D$1�H����H��H����H���H�~H��tgA��I��M�����I��H����H���H��tAH�u M��L��D��H��ЉŅ�u9H�T$dH3%(��u^H��[]A\A]A^A_�����f��;L��������f���f���f�����@��AWAVAUATUSH��(dH�%(H�D$1�H����I��H������FH������I��1�E1��3H���H��tI�VH��H�4�L��Ѕ�uhA�H��A9^~HH��H��I~����I��H��u��H�L$dH3%(��u`H��([]A\A]A^A_�f.�1�E��uκ��f��}L���D$����T$�E����f������@��AWAVAUATUSL��H��(dH�%(H�D$1�H����I��H��I���M��tI�@I�H�����T$M����H����H�}��H�}A�����I��H��t.H�@PA�H��tH�uI��L��T$L���A�Ņ�uUDH�L$dH3%(D��uxH��([]A\A]A^A_�fDM��tI�@I�@A���A�<$L���d��A�$�fDA��A���A��u�������H��dH�%(H�D$1�H�D$dH3%(u	H���_��Z�f.�AWAVAUATE��UH��SH��8�D$xD�l$pH�|$L��H�$H��$�H�t$L��$��D$L��$�dH�%(H�D$(1����H�$L�M��tUH�L$(dH3%(��L�t$xD�L$E��D��H�\$pH�|$H��H��L��$�H��8[]A\A]A^A_A���H��t+H�\$(dH3%(�u_H��8[]A\A]A^A_��H�t$(dH34%(u9H�t$L�|$xE��D��L�t$pD�L$H��L�H�|$H��8H��[]A\A]A^A_A����f���AWAVAUATUSH��H�T$H��$�H��$�D�D$(H�D$H��$�D�L$,H�T$ I��dH�%(H�T$81�H����I��I���H��tH�M�����|$��H�D$H��t
����rH�D$ H��t�H��tMH�T$0H��L���]��A����f�H�T$8dH3%(D����H��H[]A\A]A^A_�f.�A�A�D$���Q1�A�
L�t$�f.�H��L���Un��H��tsH��I���I��I��t$(j�t$ �L$LQ�L$PQD�D$LH��H�|$@�E���H��0A�Ņ���M��t$I�?tsH�|$L��H�����A�ũ������H��A9l$����H��H��I\$H�����I��H��t�H����D���H�|$u�H���.����@H�|$L�����A�ũ���r�������H�\$L���;�q����m���f.�H��tH�@A��e���DH�|$0���H��H����H�����H�t$0L��A���l��H��� ���H��H���H��L���t$(AW�t$ �L$LQ�L$PQL�L$`H��D�D$L����H��0A�Ņ�����A�>H�����A�����A��A�
����A�����A����H�|$�����H���{����:���A��k���A�
�`������ff.���H�� dH�%(H�D$1��t$0�t$0j�Y��H�� H�T$dH3%(uH����K��f.����AWAVAUATUSH��H��(dH�%(H�D$1�H����I��I��H���H��tH�H�AM���L�L$A�L�$H��trH�}tkH�}tdH����I�~��I�~A����I��H��t9H�@hL�$L�L$H��twI�vH��H��L���A�Ņ�tA�<$L������A�$�H�T$dH3%(D����H��([]A\A]A^A_�f.�H��tH�H�A@A��I��@tFAQL��I��H��APL��E1�L���A��XZ�@A��u���DA��e���DI��PA�u��K������fD��H��dH�%(H�D$1�H�D$dH3%(u	H������j��f.���AWH��AVAUATI��USH��H��hH��$�L��$�dH�4%(H�t$X1�H���dH���L��@H��M��L��M��tfH��H�pI��M��ASH��L��A�҉�XZ��u-H�\$XdH3%(���.H��h[]A\A]A^A_��A�<$H���D���A�$�fDL��P�M��t�H�pL��D$
H�GL�D$H�D$ H��tm�oA���D$()D$0L�<@L�t$L��L��I��M��B�D<J�D< J�D<A�҉Ņ�u'�BoL<AM�!���fDA���A�<$H���|���A�$B�D<���K�t>H�|$�}������H�
�5�}H�5V5H�=_5������H�
m5�~H�525H�=H5�u��D��AWAVAUATI��USH��(dH�%(H�D$1�H�T$`H����H��H��H�T$�H����M����M��M��tbH�~t{H�~I��M���l���H��tWH�T$L��M��M��H��H��RH��AW�x���ZYH�L$dH3%(u]H��([]A\A]A^A_�����f����f���f���f����d��@��AWAVAUATUS�H��(H�L$D�L$dH�%(H�D$1�H��tzI��H���H����M��M����H�~��H�~I�׻�]���I��H��t5H��P�H��t$H�uD�L$M��L��H�L$L��ЉÅ�u-DH�T$dH3%(��uUH��([]A\A]A^A_��A�<$L������A�$��fD��f���f����D��@��AWAVAUATA�USH��(D�D$dH�%(H�D$1�H��tkH��H���H����I��H����H�~��H�~I���F���I��H����H��(H��tNH�uD�D$L��L��H���A�ą�u#H�T$dH3%(D��uhH��([]A\A]A^A_Ð�;L���������f�A����A���A���A���A���#����AWAVAUATUSH��(L�D$dH�%(H�D$1�H����H��I���H����H��A�H��tmI��H��teH�yt^H�9tXH�~��H�~A�����I��H��t6H�@XA�H��t'I�uL�D$H��L��H���A�ą�t�;L�������H�T$dH3%(D��u5H��([]A\A]A^A_�fDA���A����A�������H��dH�%(H�D$1�H�D$dH3%(u	H���/������f.���AWAVAUATUSH���L��$ L��$(dH�%(H��$�1�L��$0H����H��H���dH��8E��H��A��M��H��tsH�rM��ATD��ARD��H���AXAY�…�u3H��$�dH3<%(���QH���[]A\A]A^A_���}H�މT$����T$�E��H��H��H��XH���zH�r�D$`H�D$pH�t$H�D$hM���^�Ao	���D$x�D$A�)�$�K�[�AoHc�Hc�H��H�L$`L�T$(H��DpI��E1��DhH�H��H�L$ D���Dh	H�DxH�DpH�vH��L�\$(�DhH�DxH�DpD��H�|$8H�t$@�|$WH��H�t$ ��^_����L�\$ L�T$(������L$H�|$I�$�Q�H��1�H�RH�T�f�8tHHI�$H��H9�u�H��L�T$@L�\$(H�L$ �B��H�L$ L�\$(H��I�D$L�T$@�-L�D$hI�wH�D$pH�D$(J�<K�[L�T$HH��H�L$@H�ThH�|pI�L�D$ ����H�D$0L�D$ L�L$(H�L$@H�@L�T$HH��K�H�TpLDhH�D$8M�H�@H��LDhL�LpI9���H��HH����H��D��M��H��L$QD��L�L$(H�t$ �Љ�XY���C����}H�މT$��H�|$\L��E�'���T$����fD�����fD��D$�A�����E�
����H�
p-��H�5�,H�=�,���H�
Q-��H�5�,H�=�,��������H�

-��H�5�,H�=�,���H�
�,��H�5�,H�=�,���fD��AWAVA��AUATUSH��(dH�%(H�D$1�H�T$`L�l$hH����H��H��H�T$L�$�H����M��M����M��tiH�~�~H�~A��肷��H��t]H��D��H��H��AUH�T$RH��ATL�D$ M��E������H�� H�L$dH3%(uVH��([]A\A]A^A_ø��f����f���f���f����t��@��AWA��AVAUATUS�H��(�T$`�L$L�$�T$dH�%(H�D$1�H���}I��H���H����M��M����H�~��H�~��c���I��H��t;H��H�H��t*H��H�uM��L��T$RD��L�D$�L$�Љ�XZ��u)�H�t$dH34%(��uUH��([]A\A]A^A_��A�<$L����A�$��fD��f���f����D��@��AWA��AVAUATUS�H��(�T$`�L$L�$�T$dH�%(H�D$1�H���}I��H���H����M��M����H�~��H�~��3���I��H��t;H��X�H��t*H��H�uM��L��T$RD��L�D$�L$�Љ�XZ��u)�H�t$dH34%(��uUH��([]A\A]A^A_��A�<$L�����A�$��fD��f���f������@��AWAVAUATA�USH��(D�D$dH�%(H�D$1�H��tkH��H���H����I��H����H�~��H�~A������I��H����H�� H��tNH�uD�D$L��D��H���A�ą�u#H�T$dH3%(D��ukH��([]A\A]A^A_Ð�;L��������f�A����A���A���A���A����������AWAVAUATA�USH��(D�D$dH�%(H�D$1�H��tkH��H���H����I��H����H�~��H�~A�����I��H����H��0H��tNH�uD�D$L��D��H���A�ą�u#H�T$dH3%(D��uhH��([]A\A]A^A_Ð�;L��������f�A����A���A���A���A��������ATI��USH��dH�%(H�D$1�H��t�H��tG��~C�B�H�^H�@H�l� �H��H9�t%�C�t�H��L���.����u�c�����H��H9�u�1�H�L$dH3%(u	H��[]A\��:��f.���AWAVAUI��H��ATUH��SH��H��hdH�%(H�D$X1�H�D$ H�D$(H��tH�H�AH����EM���3H����H����H�T$(H��贬��A�ą���H�|$(���I��M���I�EH��t�A;��H�L$ L��L��H����N��A�ĩ��uZL�l$ I�����H�|$(�E���H��L��H��H��A���A�ĩ��u`H�|$ tH�T$ H�|$@L���T��fDH�L$XdH3%(D����H��h[]A\A]A^A_�f�I�}�7���I���3�����}L���M��EH�D$HI����D$�����D$�D$H�D$8H���0L�L$0H�T$L��H��L�L$H�L$RH���"L�|$HAWH�L�D$,��Y^A�ĩ�����T$H�D$H����H�T$8H�D$8H�SH�T$0H�H�����H�|$L�����H�|$8����H�t$H�|$������@A�����DI�vH�x������4���M�m �M���f.�A����DA�H���x�����A��e���D�}L������EH�D$H��A������0����AWAVAUATUSH��H�$H��H�$H��hE1�dH�%(H��$X 1�H�l$I��H�D$H�D$H�����L�t$�é��upM����L�|$I��y���I��H����L��L��H���_��C�<H�T$PH�t$ L�D$� L�������ujH�D$L�t$H��tk�@A�E@L��訾��M��t
H�|$H�����H��$X dH3%(��u8H��h []A\A]A^A_���
뾐L�t$�
�@�
�����@AWM��AVAUM��ATI��UH��SH��H��$@H�t$0H��$��H�L$L��$hH�D$H��$HH�D$H��$PH�$H��$XH�D$8H��$`H�D$@H��$pH�D$(dH�%(H��$�1�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�DŽ$�HDŽ$�HDŽ$�HDŽ$��h������HH��$��÷�D$ ���/H�D$H��tH�HDŽ$pH�$HDŽ$H�H�@H�D$HDŽ$H��tH�M��tI�H����H��$�1�H��L���4*��%���D$`��E(�����H�D$HE1�E1�H�D$H��$�H��t
H��$��/��H��$�H��tH��$���H��$pH��t����H��$tH��$�H��$���H��$����1��A��A��(:ǖt	E���H��tH��$�H��$�1��AH��$�H��tCH�wXH��tH��$��I��H��$�H�0tH�w0H��$��9;H��$��L���M��tL���?���H��$�H��$�tH��$��:H��$�E�<$H��$�H����H�����D$`u�F u	E����A���8i�<f�HDŽ$�=�H��$�)�$�L��$�C�H��$�)�$�L��$0)�$�)�$���$����H�D$L��L��H��$�H�@H��$��/�������H��$�H��$����H��芷���Ņ���H��$�tH��$�H��$��`SH��$�H��t$��tA�$�����>����
@A�$�
H��$�dH3%(���QH��[]A\A]A^A_�@jA�1ɺ����j1�L��L��$��5AXAY�Å���H��$�����f�I�H��$L��$A�H��$��H��L�T$ H��$�H�+�"H�T$PH�8H�D$D�H�|$H�)�L�T$ ��A����=m���A��m��!A��m��dH��$��D$ E1�	H�D$HH�D$�d���DH��$�H��$�1�HDŽ$�H������H���M����6����E�<$E1�1�H��$�H�D$HH�D$�D$`���H���"H�T$P�H��A�L�T$XL�H�D$D�L��L�\$ ��L�\$ L�T$X��A����=m����H���"H�T$P�H��A�L�H�D$D�L��L�\$ ���L�\$ L�T$X��A��tR=m������H���"H�T$P�H��A�L�H�D$D�L��L�\$ �y�L�\$ L�T$X��A���V���L�\$H�H��$�1�H��$M��t1A�}u*I�EH��$@DŽ$D��$HI�EH��$PH��$�L��耹������H��$�H��$�H�@H�D$H��$�H��H�D$P�j���D$ ����H�UPH��$�H��$�H��t%�������D$ H��$�H��$�1�H���F������nH�UxH��$�H��tH��$��P���H��$����@�E@u!H�u0H��$��I9H��$����H��L�EHjH��$�H��$H�t$`L��$�荵��^_H��$�H��$���脼�����A��H��$�E1�
�S���@�D$ H��$������'����_���f����ɸ����H�[I��H���"H�81��W���H�
���H�5�H�=��ȱ���苻�����fDH��$�H��$��
���fDH�����AH��$����f�E�<$E1�H��$�H�D$HH�D$�D$`�a���f�D��$4H�|$HD��D�D$���A��L�����D�D$H��I���#���H�|$HD�ƹH��$�H��$�����$4H��$8H��$����H��$�L�$4H�$����H�$L�0L�x���DH��$���A��E1�
�~@H��$��D$ ���f�H��$��D$ E1�H�D$A��ͫ�R���1����H��$�H��$����@H�D$A�H���$����H��$`L���t����H��$���$hH��$pH�H��$�M��tH��莼������H�����H��$�HDŽ$pH��$��H�HH��$��у�L$`H�N�I�Y�v	���'H��$�M��I��H�D$PH��$ H�D$X��������H��$���H�P�H��H��$��P��H��$�ʉ�$$9��r��)�H��$(H�H�|$(H��$����u�H�D$(H�H����H��$�H�T$PH��$�H��������)L��fDH��$�A��E1�
����H��$�A��E1��D$ �
�_���H��$�H��$���v���H��$�H��$�H��$��y���H��$�H�FH���,�x�H��$��!H��$�H��$0�
��������H���H��$0DŽ$�L��$ H��$�H��$��
H��$�H��H��$�L�@�J���H��$0H��$��D$P�Ѭ���D$P��ui��$ ��t^��$�H��$�% �������D$`H�D$(H�8t
D�hE�����D$`����D9���E1�E1�	��H��$�A��E1�����D$`룾H��$��L���H��$�����H�F�x�uK�xvEH�@H��$�H��$��H��H��$���H;�$��a����
A��^E1��p�E1��H��$���E1�E1��A��H�t$(���H�t$(H��I��H��$��H�P�11��\$`H���H�D$HI���A�E�^I���H��$�A�e�H��$�I�����%?p��A�E�D$ A���H�D$H�V0H�@0H�pH谫��A�Dž�ty�\$`H��$�E1�
��H�D$(H�L$XH��H��$�H���i����I��H��$��D$L��L��衪��H��$��D$A��E1�
�$�����H�D$E1�E1�1�1�H�pARH��$�H�� PH��$��.A[[A�Dž���H��$�H��$�H��$��6���A�Dž���H��$�A�1�1�H�pWH��$�H��(PL��$�H��$��2.AXAYA�Dž��[H��$�H��$�1�H��$�H�@茰��H��$�H��$�H��$�H�P0�;���A�Dž��H��$�L�h0M���~	�`�H��$�H�@PH�@X�F	��	H�L$H�A0�oH0N`H�A0�@�FpM����	L��$�H��$�H�D$(M����	H�T$(H��$�H��$��H���Hc�$�H��$�H��$�H��$�H������A�Dž��9L��$�A�@I���I���E���������������蛨��A�Dž���H��$��F��t���F��h���uj��un��$����D$P�]H��$�H��$�H��$���$A�Ņ�uz��$���w�H���t��$��H��$����t!�FD��$�%A��D	�D$P��H�T$(H��$�H��$��[���A�Ņ����
E��H��$�E1���H��$�E1�
���
A����I��L���
H��$�A�(:ǖ���H�
���H�5H�=�薧��H�D$(H��$�H���@����B���L��H��$�E1�
A��^�v�L��H��$�M���)���H��$�A��E1��K�H�P�x��H��H��$��X��L$dH�ډ\$X��$$9���H�f��H��$(H��$���M��L��$�H��$��H��$�HE�H��$�HDŽ$�L��L�l$hH��H�D$PHDŽ$0HDŽ$�赬�������1�L��H��谥��E1�L��H��H��$ H��$�H��H�L$pH�D$x�e�����tXH��$�H��H���>���A�Ņ��kH��$�1�H���Q���H�L$pE1�H��H�T$xH��$�����A�Ņ��1H��$01�H�59
H���`���A�Ņ���H��$�E1�HDŽ$0H��t7H��H��L�T$p�y���L�T$pL��H��$0H��tH��H�T$p�W���H�T$pH�D$PH��tH�H��$�H��tH���P�����$�H�t$hH���|���E���[�\$d�L$`+\$X���H��$�H��$0H��H�H�P�b���A�Ņ��?H��$�H��$0H��H�����A�Ņ��H�|$P�
���覱��H���+H��H�D$p����L�T$p��A����H��$�1�E1�E1�1�H��H�H�pPI�B0L�T$xP�$(A��XZE��L�T$p��H��$�A�B(I�BHH��@8A�J@A�BlH��$0HDŽ$0I�BX�d���H��$��
A��^H��$����E1��
H��$��|���E��H��$�E1�
���L������H��$�H������E1����L��A�����L�T$pL���Ԧ����A���H����NE1�1�H�FxH�|$t)H��$�H��$�H��$�H�p(�(����H�D$H��tH�L$HH�H�L$@H��$�H��tH��$��Bh+�$�GX�H�L$8H��t�B�H�D$0H�L$H�H�$H�L�hH��tH��$�H�M��tH��$�I�A�$H��$�1�����$�H��$�H��$��� ��$�趡���D$PA�Ņ��C���H��$�H��$��
H��$����A�Ņ�����H��$�H��$�H��$0艟��H��$��|$P��$0H�Fx��F��t~�FtY��$H�$�H�H��$HDŽ$H�A���H�L$0H��$�f�H��$�H�A�$�y���H�
�	�3H�5�H�=��e�����NH�|$H�F��$������H������I��H����H�T$(H�|$H�H��$���$�"����$H��$H��$��Ʊ��H��$��H���H���H��$�H��$�蹩����uPH��$��HH��$�H��$�H���H����k��uH��$�����
A��j���A���b���H��$�H��$�H�P0褪��A�Dž�u]H��$�L�h0M���M���H��$��
A�	:ǖ�?�H��E1�E1��m���H��$�HDŽ$p��A�$H��$��
��H��$�H�D$(�J���H�V0H��$�H�����jA�Dž������H��$�����D�}(E���
���H�D$H�@0�@@�����H��$�H�|$(�H��$0H�D$PD���H�|$H�G0H�PH��$�H�WH��$�H�P�o�$�H�RH��$��P��$��oX0DŽ$���)�$�����������E1Ƀ�H��L��H��$0�o )�$�R�t$XH�T$8L��$��e?Y^H��$0H�|$P�����H��$��������H��$��H��H��$�A�ǻ
��D��AWAVAUI��ATUH��SH��H��XdH�%(H�D$H1�H�L��$�H��$�L��$�L��$�H��$�H��$�H�����@u�@	uE�EH�5���U,�
H�\$HdH3%(��H��X[]A\A]A^A_�DH�D$(�D$H�H�FM��tI�$H��tH�H�H�t$L�L$H���H�D$ ����������I�EH�L$H�T$0H�D$8I�E�D$4H�D$ H���H����4���������H�D$ L�L$�HM��t-H�D$ H�T$(H�p(H����="����ugH�D$(L�L$I�M��tH�D$ H���I�$M��tH�T$ �BhH���+D$BXA�M��tH�D$ �@��A��E1����fDH�t$ 1�H��L$��%�L$�
H��M�u���DH��1�WH��QL��AWAVVH��ATAQM��M�E�:�H��@�A�������ff.����H��(f�dH�%(H�D$1�H��)$P�t$X�t$X�t$X�t$X�t$X�c���H��0H�T$dH3%(uH��(�襦��DATA��I��UL��H����S��H��dH�%(H��$�1�H�\$H���V���H�ڋ
H����������!�%����t�I��H���$�������H�\$D�H�JHD�H�
(��@�L��H��H)ډT$1��t���H���L���H��$�dH3%(uH�Ġ[]A\��ȥ���PXH�
��xH�5��H�=��H��dH�%(H�D$1�苚��ff.�PXH�
G��H�5r�H�=��H��dH�%(H�D$1��K���ff.�UH��SH��HH�v`dH�%(H�T$81�H��t^H�@0H��H��tZH��H�E1�1�I���?�����u+H��H������H�L$8dH3%(u2H��H[]�@H���(���1���@1���@裤���������褤��@USH��(dH�%(H�D$1�H�~0�~H��H�v`H��tkH�T$H���f�����tH�L$dH3%(upH��([]�H��H��01�1�SH�t$ A�E1�H���ZY��t�H�t$H��D$�>����D$릸�:ǖ�H�
��H�5H�=����ݣ��ff.�f�AW�AVAUATI��USH��H���H�nXdH�%(H��$�1�H�D$H�D$ H���#���A�Dž�t,H��$�dH3%(D����H���[]A\A]A^A_�H�T$H��H��谞��A�Dž���I�D$0H�t$H���H�H���ך�����_I�D$0H����H�H���7H�H�PH�t$ H��jL�
?H��1�QA�R�:���H�� A�Dž��?���L�t$(H��L�l$@H��L��������H�D$0H�D$L��L��H��H������A�Dž���H�t$PH���x�������H�D$P���H�D$8H�L$0�x H�Pu~�BH�JH���H��ugH�refresh_H9uX�ytimeuOA�L$p��uFH�T$I�uPH��腢��A�Dž��AH�|$81��
詞��H�t$H��A�D$p�����L��H���������A��^f.�1�H��H���3���H�t$H��趠��H�t$ H��詠�����@H�T$PH�t$ H������L��H��D�|$x�D$芕���D$����A�D$hE�|$l���H�personatH3QH�proxy_imH3H	��D���f�yor�8���I�|$8�,���H�T$I�uPH���k���A�Dž�u+H�t$8H��I�T$8蒓��H�t$H��A����E�����L��H���ޔ��L��H��H����A���:ǖ���A�T$l��u*I��$�uL��H��A��^�����������fDE1�����A�D$l����������H�t$f�H��I�D$0H��E1�PA�1�1���^_A�Dž��T���H�D$I�D$0����H�t$ H�߉D$����D$A���G���辟��H�
g���H�5�H�=�蟔��ff.�@AWAVAUATUSH��(dH�%(H�D$1�H�F0H�D$H�D$H���oH�~XH���aH���I��A�u���A��H�C0L�sXH�0L��L���ě���Ņ�tV=�:ǖu'E��t"L���Z���H�t$L���}����Ņ�tG�H�L$dH3%(���H��([]A\A]A^A_�H��L����������f�H�t$L����L��H��I���%���H���A��u��udH�t$H�T$L���ҙ��=�:ǖuH�D$H�D$H�CXL��衔��H�{XtJH�t$L���]���H�t$H���?���L���G����2���f�H�{Xu�L��1�L��L��虔�����D��^E��t���H�
M���H�5��H�=��Œ�������AUATUSH��H��dH�%(H�D$1���I����H�[��H��tH�����H��H����L�%|�"L���4���A�Ņ�uML��L�-��"H���"�����Å�uaL��處��H�T$dH3%(���}H��[]A\A]�����ɘ��D��H�2�I��H���"H�81��V����!������虘���پH�+�I��H�y�"H�81��'����2���f��
�m���衜�����UH��SH��H��dH�%(H�D$1�H�t$�6���1Ʌ�u�Up��uH�T$dH3%(��u#H��[]�9T$r�H�uX��H���������/���ff.�@��H��dH�%(H�D$1�H���tH�D$dH3%(u@H���f�H�D$dH3%(�Ju�RH�vXH����)ȉ���������詛��f�ATUSH��dH�%(H��$�1�H�~0t<H��F@u3H���~l��uXH�t$H��H�D$�r�����tN�Sl��t
H��蟑��1�H��$�dH3%(�0H�Ġ[]A\�f.�H���h�����u���f�H�SXH�t$H��菜������H���H�t$H����H�C0L�d$ H��E1�VE1�L��H��jjH�輟��H�� ��uDI�T$0H��H���t����D$XL��H���Ch�Cl軎��H�t$H������"���f�H�t$H��D$�ߟ���D$���fDH�K`H��t/H�C0L�d$ H��E1�VE1�L��H��H��U���Y^�f���fDH��萟����:ǖ��������AWAVI��AUI��ATUH��SH��H��H��H��dH�%(H�D$1���qA�ą�u
�{(tH�{0t-H�L$dH3%(D����H��[]A\A]A^A_��H�{X��L�{XM����I�6H��L��L�����A�ƅ�t=�:ǖuvH�4$H��t,H��H�C01�A�PE1�1�L����A��XZE����H�{XtH��L���"���A�ƅ�u(H�{0tTH�{X�	H��L���.���A�ƅ��&���H���{����Å���L��D��A�
�D�u����L��L�����A�ƅ�u�H��L����A��=�:ǖtJ��u�H�{0�v���H��L�������H�{0�c����S����H�4$L���T����\���H�sXL���C���H�CX�f���蹓���پH�K�I��H���"H�81��G����R�f�H��L���5���A�ƅ������A��^���襗��H�
^���H�5��H�=�膌��fDAWAVI��AUATE��USH��H��H��$�H�$H�L$ L��$H�D$0H��$�L�L$(��$H�D$H��$H�D$H��$H�D$dH�%(H��$�1�H�M��tA�E����ߘ��I��H������D�`(L���D-A�o@I�GHI�G0��H�<$I�G8��	�I�GX	Ճ��A�o@�����uqA���wH�<$tH�4$I�W0H�����uLA������OA����A�G@�jI�0�_H�
X��AH�5C�H�=������A��
I�wXH��tH��A�G@���ܖ��I�w`H��tH���ۑ��I�wHH��tH���ʑ��I�wPH��tH���i���I�0tI�w0H����
I�w8H���ʔ��M���M��tL������H����L���Ս��L�����L���ō��A�>H���ZH��$�dH3%(����H�ĸ[]A\A]A^A_��A���
�D�;�������fDH�D$@I�HH�D$H�uH�T$H���EH�t$HH�������u�SXH�t$HH���d������H�l$@A��H��tH��H��蔐��H�t$HH��tH���2���E�&�
�m���DL��H���D$X�-<����E���H�t$XL���u<����-���H�D$ H����H�H�@H�t$`H���D$`���T$dH�T$pH�D$h蒔���Ņ��@H�D$xH�|$(I�����I�OX1�H�5D�H���k����Ņ��	A�O@H�t$0I�W`H���rH�������Ņ���I�X��L��H������=�:ǖ������I�0��L��H������Ņ���A�A�G@uI�0����A���ZH�t$pH���ݗ��������M���I1�L��H��L��������%�����A�Ol�T$pL����)�9�G�A�E蒈���Å����聎����I��H�m�"H���H�81�������f.�H�t$H����H�T$@H���՘����H�l$@���I�w0H����H�D$XH�~��H�EH�x0�&H�T$XH����
���������:ǖ�A��H�l$@�b���fDA�m��
����H��1�L������Y���fDM��tA�E����H�D$A�1�L�8�S���DH�-��"H���i�������H�5®"H����H�T$@H���T���H��$�)����$���������������I�����L�T$pH�1�E1�M��H��H��L�$�l���L�$���������L��H������H�T$HH����H�D$@I�WPA�I�GH���I�0�I����n���L��H�������P���DA�.�
���H��H��荐��H�T$H��t�����H�t$(H���I�WXH���n����Ņ�������f�A�����H�D$PH��H��H��H�$����������H�T$pD�d$L�l$8I��L�,$L�t$�3f.�H�t$XH�T$xH���ބ��L��H��A�����E����L��L��H��H��膄����t�H�$H��H�߉D$L�t$�J����L$���:ǖ��H�t$XH�߉$�ʎ���$�s���f�I�0tL��H�����������I�������L��H��������H���>����Ņ��������H��H���
����������H���t��H�5b�H��1�踈��H���`����c����D$X���3���I�wXH���S����Ņ���������@�lj$膊���$�H���I��H�e�"H�81��������H���V����Ņ��0���H�t$@H���o���������I�G0H�T$HH��H�H�p耍���������H�T$H�L���H�$H��H��L�t$D�d$L�l$8���H�t$XH���S�������H�t$XH�T$`H��������tLH�t$XH���+�����^��:ǖH��A��^�3���H�l$@�5���L��H���.��������T���輍��H�l$`�H�5��H�=���O�����:ǖH��H��H��1��
���H�|$`���H�t$XH��裌���s���H�
w���H�5��H�=���O���H�
8���H�5c�H�=���0���AWAVAUATM��UL��SH��H��8D�l$pL�t$xH�t$H�T$L��$��L$dH�%(H�D$(1�H�D$ �+9��uGH�|$ ����u9AWH��M��AVAUjUjD�D$LH�L$@H�T$8H�|$P����H��0������
H�|$ �?�����H�T$(dH3%(uH��8[]A\A]A^A_��Y���f���ATUSH��dH�%(H�D$1�H�9��H��H��L�aH��(��uLH�sPH�<$H��t
貒����uFH�<$L�cP����E1�H�T$dH3%(u3H��[]A\���E�
��fD�EH�<$�l���
�蠋��H�
���H�5��H�=6�聀�����H�� D��1�E1�dH�%(H�D$1��t$0AQE1�j� ���H�� H�T$dH3%(uH����2���f���H�� D��1�E1�dH�%(H�D$1��t$0AQE1�j����H�� H�T$dH3%(uH������f���H��dL�%(L�T$E1�H�D$ L�\$dL3%(uD��H�D$(E1�E1��D$ H���c���莊��ff.���H��dL�%(L�T$E1�H�D$ L�\$dL3%(uD��H�D$(E1�E1��D$ H�������.���ff.���AVAUATUSH��`dH�%(H�D$X1�H�9��H�YI��I��L�L�KM����E1�M��A��H�sH��tJH�l$f�H�D$PH�})D$)D$ )D$0)D$@�
�������H�CL�KH��H�D$L�H��D��L��H�T$R1�AUj�4���H�� H�{��t
H�|$(�͂��H�T$XdH3%(��u]H��`[]A\A]A^�fDA�M���G�����
�@A�$�
�H�
���sH�5�H�=����}���و��f���AWAVAUATI��UL��SH��XH�4$L��$�D�D$L��$�dH�%(H�D$H1�H�D$H�D$ H�D$(H�D$0�4���.H�|$�d{���L�l$@H�5�H��L����é���H�t$@H��tH�|$H�T$0�������L��H�5��H����é����H�t$@H��tH�|$H�T$ 词������L��H�5��H���u�é����H�t$@H��tH�|$H�T$(�o�����u[H�T$8H�5l�H���7�é��uGAW1�L��AVj�t$P�t$H�t$HL�L$`D�D$<H�T$0H�|$H��H��0���fDA�$�
H�t$0H�|$H��t
�C���H�|$H�t$ H��t
���H�|$H�t$(H��t
���H�|$�z����H�L$HdH3%(uH��X[]A\A]A^A_�軆��f.����AVI��AUI��ATI��USH��dH�%(H�D$1�H��t4H��"H�ՋH�9tH�Ѝ"H�;uAH�uH�x���2�����u.H�D$dH3%(ufH��L��L��L��[]A\A]A^�@A�$�H�L$dH3%(u+H��[]A\A]A^�fDH�uH�x�������t��i����Ӆ����AUI��ATI��UH��SH��H��dH�%(H�D$1�H���x��uB�H�<$L��L����H�<$�E�9y��1�H�L$dH3%(uH��[]A\A]�@��
���J���f.���ATUH��SH��dH�%(H�D$1��F��<t.��^�H�L$dH3%(��H��[]A\�fDH��H�t$I��H���葉����uM�Ch+D$�Cu
H���BX��~A�$1��E�A�$��E�|�����EH������o	�
�Z����`���PXH�
����H�5R�H�=h�H��dH�%(H�D$1��+y��ff.���AUATUSH��dH�%(H�D$1�H�9��H�I��L�iH���x���Ņ����{(�JH����v�Ņ���H�<$H�sXL���p���H�߉Ņ����^y���Å�u8A�$H�<$�Gw��1�H�T$dH3%(�
H��[]A\A]�fD������پH���I��H���"H�81��w������f�����~����H�S�I��H�Ɋ"H�81��ww��H�
@��xH�5��H�=���w���H���x�����n���A�,$�
�;����{x�����Q���A�,$H�4$���H�<$�Yv���
�
����H���@x��������A�$m��
�����_���H�
���H�5:�H�=E��@w����AVAUATUSH��dH�%(H�D$1�H����I��I��H�H��tE���t?I��1�f.���L��H��I^H�;�K�����uI�<$u0H�CI�$��A9.w�1�H�L$dH3%(u%H��[]A\A]A^Ð���f����脁��@��AUATI��UH��SH��dH�%(H�D$1�H��tH�H�BH�]H���#H���L���H��t�3���H�sPH��tL���u��H�sXH��tL���u��H�{ tH�s L���.�H�{(tH�s(L����H�s0H��tL���Ju��H���H��tL���6u��H���H��t�������L��褃��H���tH���L����H���H��tL���G|��H���H��t�t��H�{H��1�H�Hǃ�H��H)�������H�H���x��H�EA�$1�H�T$dH3%(u$H��[]A\A]�1�L���y��H����>�������D��AVAUI��ATI��UH��SH��H�� dH�%(H�D$1�H��"H�H�BL�0H��tH�H�|$�r����I�4$�~$��H�|$H�T$�`}������H�|$H���k���H�t$H�|$��t]�v��H�|$��r��A�E1�H��tL�uH�L$dH3%(��H�� []A\A]A^�f.�A�E�
��D�v��H�|$�r��A�Em��
�f�A�EH�t$���H�|$�Vr���
���#x��I�4$H�|$H���2v����t
H�?�"L�0I�4$����V~��fDAVI��AUA���ATUSH��dH�%(H�D$1��4s��H��H��t\L�eM����L��E;,$tH�[H����D;+u�H�{�Kv��L�s1�H�T$dH3%(��H��[]A\A]A^�@��s��H�ŸH��t�H�EH��贄�����p���H�]H��t H�{L�c��u��H��L����u��M��u�H���u����l������s��H��tD�(L�pL�`H�E1��F�������5����}��D��S���H��dH�%(H�D$1��q��H��tH�H��t
;t*H�@H��u�H�D$dH3%(u0H��Hc�[��s��@H�@H��t�H�T$dH3%(uH��[��|��ff.����U��H��SH��dH�%(H�D$1���{��H��tH�Ɖ�H�������uH�D$dH3%(u,H��[]��H�D$dH3%(uH��H��[]�jt���|��D��S��H���H�T$@H�L$HL�D$PL�L$X��t:)D$`)L$p)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$(1�H��H�L$H�|$H��$���D$H�D$H�D$0�D$0H�D$ �ҁ����yH�D$(dH3%(u*H���[�DH�t$��������t�H�|$�vs�����{��ff.�@��ATUH����S��H��H��dH�%(H�D$1��Uv����I��H���H���1�L���H�)�H���2u��H�D$dH3%(uH��L��H��[]A\�w���z��f.���ATUH��SH��H�dH�%(H�D$1�H��t&f�H�{L�c�r��H��L���r��M��u�H�D$dH3%(uH��H��[]A\�sr���z��ff.���AWM��AVA��AUM��ATI��USH��(�t$dH�%(H�D$1�I�I�AH��tRH�"H�͋H�9��H��"H�;��H�r"H�;��H�uH�x���P{������A���A��t8A�$�H�L$dH3%(���H��([]A\A]A^A_�fD�k%A�]�����|$���L��H���+�����twA�$�DH�qH�x���z�����i���H�2�"H�;�.����DA�$��[���fDH�uH�x���qz�����!�����@A�$�
�#���fDA�$m��
����fDH�D$dH3%(u �t$H��(L��L��[L��]A\A]A^A_�@����x��f.����ATI��UH��SH��H�� dH�%(H�D$1�H��tn�H�|$��j��uJH�|$H�T$H��� ���u\H�|$�rk��H�D$I�$1�H�L$dH3%(uVH�� []A\�fD��
���H�|$�~j�¸
��t�뺐�H�t$���R���H�|$�k���
��<w��f.�f�USH��H��8dH�%(H�D$(1�H�H�D$H��tbH�T$ H���u����t!H�L$(dH3%(uKH��8[]�f.�H�|$ H�t$�Au��H�t$ H��D$�n��H�T$�D$H��f�H����p����v���USH��H��(dH�%(H��$1�H�H��tUH�l$�H���cx����tH��$dH3%(u6H��([]�f�H�t$H���t��H�T$H���f�H���Hp����v�����AWAVAUI��ATI��UH��SH��xdH�%(H��$h1�H�|$PH�D$XH�D$`��h����H�T$PH��L���L�Å�t5H��$hdH3%(���r	H��x[]A\A]A^A_�f.�H�D$PL�E0H�D$hH�D$pH�$H�D$xHDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�M���sI�0H�<$L�D$E1�L��$�L�����A�ƅ��!H�|$h�h��H�|$p�h��H�|$x�h��H��$��~h��H��$��qh��H��$��dh��H��$��Wh��E��tbA�$H�|$`�
�l��H���j�����yH�|$X�h��L���h��H�|$P��g������A�$�
�}���f�1�H�|$XL��H���H�5���n�����y���H�|$XH�t$`�n�����b���L�d$`L���Gl��M�e1�H�D$`��I�E�L���@L�D$H�5�1�L��$�H��$�L��I�HM�@�m��H��$�A���Jg��H��$�H�D$hE���tH�u8H�<$H�T$pE1�����A�ƅ��k���H�uHH�<$H�T$x���A�ƅ��N���HDŽ$�L�uPM����H�<$L���Bu��H�<$L��A�H�D$�o��L�D$�L��$�H��H�+�L��1��k�������L��$�H��$�L���q��H��$�A����j��H��$�H��$�E1�E�������HDŽ$�H�EXH�D$H���SH�t$H�<$�v���H�=��H���������L��$�H�t$H�<$L���vw��A�ƅ��2���L��$�H��$�L���cp��H��$�A���3j��H��$�H��$�E����H�u`H�<$H��$�E1�����A�ƅ�����HDŽ$�L�}xM����L��$�L��L�$�*w��A�ƅ��Ic?L��$�L�$���)�$M��L�T$�:H��$�H��$��ct��H��$�����d����uI��Ic?����L���g���Å�t�H��$�A�ދ$�d��E1���������l����H��I��H�ix"H�81��e��H�
@���H�5��H�=���e���H�|$h�j��A������H��$��j��A�����H��$�HDŽ$��v��A�ƅ��U���L�<$H�t$H��$�L���k��A�ƅ��.H��$�L��H��$�����H��$�L��A���o��E����H��$�H��$��s��H��$�A���c��E����H��$�H�t$L��H��H�D$��d��A�ƅ���H��$�L�d$@L��$�M��H�D$(H��$�I��H�D$0H��$�H�D$H��$�H�D$ �\$<L��H�T$H�t$H��H�<$�a���Ņ���L�<$E1�H�T$(HDŽ$�H��$�HDŽ$�HDŽ$�L��HDŽ$�HDŽ$�����Ņ���H�T$0H��$L���r����Ņ���D��$H��$1�H�5����$H�|$�~h���Ņ���L��$8L��$�HDŽ$�M���:H�|$ �s���Ņ�t6�qH��$�H��$�H��H�T$H�Pq��H�T$H��H����a����u4I��I�H����H�H�PH�5Q�D�@H�|$1���g���Ņ�t�H��$��a��H��$��a��H��$��a��L���za��H��$��ma��H��$��`a��H�<$H���a����u,H��$�H��$��p��H��$����,a��������H�T$H�t$L��A��H�<$L��\$<I��L�d$@�|n��A���:ǖu0H��$�H��$��D���fDH��$��+g��A��� ���H��$��`������H��$��g��A�ƅ���L��$�D�M@�U(L��E1����H�5���$��EpP�ElP�EhPD��A����$�����$���$���$�P1�L��$�H��$��Sf��H��PA�ƅ��k���L��$��^����$L�T$H��$�H��$��Y����l��H��$��8f���Ņ��2���L��$`HDŽ$�M���IH�|$ �q���Ņ�t=����H��$�H��$�H��H�T$H��n��H�T$H��H���p_���������I��I�H��t>H�H�PH�5��D�@H�|$1��ne���Ņ�t����H��$�H��$��P���H��$�H��$�PM��H�5����$���$dP��$p��$dP��$p��$��$lP��$pP��$tP��$xP��$|PD��$�1�H��$(H��$ H�|$p�d��H��`�Ņ����H��$�H��$�����H��$��d���Ņ��C������f.�f���AVAUATI��UH��SH�� dH�%(H�D$1�H����H��H�|$�.]����H�EH�|$H�T$H�EI�4$�h�����kH�|$�]��L�d$L���Tb��I��H�2o"L�0A�I�|
H�}�_��H�EH���Q�H�Hf�A�H���@�Sf��f�PA��PA�I�v�Fo��A�>L��L��H��D��H�ȉH�y�'o��L���a��1�H�L$dH3%(��H�� []A\A]A^�@��
���H�|$�\��uzH�EH�|$H�T$H�EI�4$�f���Dž�ueH�|$�\��L�d$L���Ja��I��H�(n"L�0A�I�|
H�}�|^��H�EH�������L���`����
�9���fD���H�t$�r�H�|$�(\���
����fDL���`�����Ch����AWAVAUATUSH��H��8dH�%(H�D$(1��H�.�E�L���I��I��L���sUA�ą�tLM��tL��D�������
����H�L$(dH3%(�$H��8[]A\A]A^A_�f.�H�T$H��L��H�D$�A�ą�u�L�d$L���C]��H����H�L$H�T$ H��L��L�d$H�D$ H�D$�V	L�D$��A��uZH�D$H+D$M�G1�I�L��H�����I�1��;����D�#�+������^�����M��uKH�T$H����1�L����Y��H���_����
�������f.�A�����f��L��D��L�D$��L�D$�f���H��(H��pH��dH�%(H�D$1�H�t$H��H�$茅��H�L$dH3%(uH��(��"f��f���H��dH�%(H�D$1�H��tCH��t.H��t)��H�L$dH3%(u%H���f���������e��@��H��dH�%(H�D$1�H��H@�H�T$dH3%(u1�H����oe��ff.�@��ATM��UH��SH��H��dH�%(H�D$1��>uH�F�8+tBH��H�=���K�����tOH��H�=B��8�����t<L��H�=���%�����t)1�1��-f�xu�H��H�=��������u-D��
�H�L$dH3%(u4H��[]A\�H��H�=X������t�L��H�=s�讂����u���sd����AUATUSH��H�$H��H�$H��(dH�%(H��$ 1�H��H�|$H��I���4W����L�d$H�3H�|$� L����Z������H�|$L���W���H����������!�%����t������D�H�SHDډ�@�H��L)�H�kH���yY��H��t$��s_@������tA�$�@��u|@I�]I�E1�H��$ dH3%(��H��( []A\A]Ð�E�
��fD��H��L��I�L�H�L��M����H���E�:ǖH�|$��V���
뒉�A�T,�f�T(��v���fDA�$��A�T,��T(��Z�����b��D��AWAVAUATUSH��(dH�%(H�D$1�H����I��I���H����H����H��FI����<uzD�:H�xc"�1��	��A9�rH�sI�|$H�L$�d��H�L$��teH��H��H��u�A��H�t$dH34%(uuH��([]A\A]A^A_�@��֐���f���f�H�D$dH3%(u*H�DmH�=�b"L��L��H�D�H��(L��[]A\A]A^A_���a�����H��dH�%(H�D$1��H�H��t9�H��
uH�GS2-IAKEH�FH9tK�H�T$dH3%(uUH��ÐH�v�H�GS2-KRB5H9u�1�H��t�H�
�^"H�
�Df�xRBu�1�H��t�H�
�^"H��0H�
���`��ff.����AWAVAUATUSH��(H�L$dH�%(H�D$1�H����I��H���H����I��H����D�"�H��`"E1�A9�rH�sI��;b������I��H��I��t�A9�s�I��H��I��u�A�E�H�L$dH3%(�}H��([]A\A]A^A_ø��f����f���f�H�D$dH3%(u.K�vL��H��L��H�
�_"H�D�H�L$H��([]A\A]A^A_���_��ff.�f���AUATI��USH��dH�%(H�D$1�H���vI��H��H���HY���é��t/H�|$H���rV��H�L$dH3%(���IH��[]A\A]ÐH��e"H��L��H�0�K_���é��u�H��c"H��L��H�0�-_���é��u�H�Ue"H��L��H�0�_���é���s���H��f"H��L��H�0��^���é���Q���H��d"H��L��H�0��^���é���/���H�Gf"H��L��H�0�^���é���
���H��c"H��L��H�0�^�������H�{d"H��L��H�0�e^��������H�d"H��L��H�0�C^���������H��d"H��L��H�0�!^���������H��e"H��L��H�0�]�����c���H�[e"H��L��H�0��]�����A���H��d"H��L��H�0�]��������H��c"H��L��H�0�]���������A�E��te��	uI�}�	H�5T��^��������H��c"H��L��H�0�L]���������������f��1������\��I�}�H�5n��^����u�H��a"H��L��H�0��\�����T���H��a"H��L��H�0��\�����f.���AWAVAUATUSH��(H�L$dH�%(H�D$1�H����H��H����I��I���H����H�6H��t��4���uXE�e�H��\"E1�A9�rH�sI�}��]����trI��H��I��t�A9�s�I��H��I��u�A��H�L$dH3%(uqH��([]A\A]A^A_�@���f����f�H�D$dH3%(u.K�vL��H��L��H�
�["H�D�H�L$H��([]A\A]A^A_���-[��ff.�f���AUATUSH��dH�%(H�D$1�H����H��H���H����I��H����I��H�H�����3���u$�;
vH�*�H��H�CH9t1�E�H�L$dH3%(uH��[]A\A]�f.�f�xuǀx
u�H�D$dH3%(uLH��L��H��L��[H��]A\A]�wn���f���:ǖ��{�����q����Z�����AVAUATI��UH��SH��H��dH�%(H�D$1�H��t/H�_"�A�H�;��H�pH�y�[������H���L����L�+L�sL��H�������p[��H��H����L��L��H���&_��I�4$H�<$H���&S��H��A���Q��H�<$��L��A���EE�A��H�\$dH3%(D��ubH��[]A\A]A^�D�EA�
��D���Z��H��H��tM���w����d�����EH�<$A�
�jL����X����SI��1ɺ����A�1�H��H��dH�%(H�D$1�jj����ZY��t���u�1�H�T$dH3%(uH��[��9X��f���UH���SH��H��dH�%(H�D$1��M��H��H���KS���
���E�H�L$dH3%(uH��[]���W����UH��SH��dH�%(H�D$1�H��t�H���L��H��������E1�H�T$dH3%(uH��[]��qW�����ATUH���SH��H�� dH�%(H�D$1��TL��H��tWH���V��H��t2H��tH��E1�H�T$dH3%(��H�� []A\�@A�D�e�
���H�D$H�|$��IA�ą�t&H�t$H��t�D�����H�|$H��t��mJ���H�|$1���Q��A�ą�u�H�|$��O��H��t
H����U��H��t)H�|$H���9���H�D$�!J��H�D$�%����A��w����@V����ATUH��SH��H�� dH�%(H�D$1�H��tH���U��H��H��ti��K��H�޿I���]����u+L���CN���E1�H�T$dH3%(u8H�� []A\ÐH�߉D$�N���D$�E�
��fD�E�
��U��ff.�f���AUATUSH��xH�={T"dH�%(H�D$h1���I��H�-["�H���RQ���Å�t$H�T$hdH3%(����H��x[]A\A]�H���Q���Å�u�H�5~����Q���Å�u�H��E1�L�%�R"L��H���H�H��k"H��L�d$(H�D$0H���H�D$�6��H���H��H�D$I�D$H�D$(��5��H���H��H�D$I�D$ H�D$(��5��L��H���H�H�-i"H��H�D$0H��H�D$I�D$0H�D$(�5������0T����H��H�=1S"dH�%(H�D$1��K����2T����(T����T��H�=7q"�bM��H�=kq"�VM��H�D$dH3%(uH�=�p"H���6M���S�����H��dH�%(H�D$1�H�D$dH3%(u	H���-���zS��f.�UH�wSH��H��dH�%(H�D$1�H�l$H����H�s H�{�yI��H�s(H�{�R��1�H�s0H�����H�{H�s8�QK��H�sXH�{�X��H�{�F��H�D$dH3%(uH��H��[]�=K����R���ATA��`UH��SH�� dH�%(H�D$1�H���T��H�øH��t8H�{H�C��^�C�CHD�cL�CP�oE��u#H�]H�T$dH3%(u!H�� []A\�fDH�߉D$����D$���!R���AWAVAUATUH��SH��H��XL�L$L��$�dH�<%(H�|$H1�H�D$ H����M��L�M���~��H�RL�t$(I��A��H��W"H�t$�H�T$(L��H�8���������T$H�D$(�r�H�D$8�t$��tH�PH�T$(�80tH�\$ �6�n�fDH�T$L���K�������L$�T$��)�9����H�|$0H�HD$(�r)щt$4H�t$ �L$�L����uWM��tH�T$ �oA)EH�BM��tH�T$ H�JI�$H�B�L$H�T$(H�|$I�HʉH�HKH9�u8H�\$ H�}H�މD$�
R���D$H�L$HdH3%(uKH��X[]A\A]A^A_�H�
���H�5��H�=���XE���1۸�:ǖ�H�\$ ��:ǖ��6P��fDAVI��AUI��ATUH��SH��H���7I�}dH�%(H�D$1�H2�T��H��tE�;I�6I��H�UH��U��M�eH�E1�H�L$dH3%(uH��[]A\A]A^������O��@AWE��AVI��AUI��ATUSH��HL�D$L��$�H�|$ H��$�dH�%(H�D$81�H�EI�$foH�t$H�D$)D$ H�T$0�R���Å�t8L�l$I�>L���hS����H�\$8dH3%(��H��H[]A\A]A^A_�H�D$A�uH�xp�{S��H���:H�t$H�FA�U�N����щNE����L�l$A�ED�xL���gD��H�D$H�EH����H�xM�<$f�H�|$A�UI�u�3T��L�l$I�$HUA�EHD$H�D$H9�����H�
���4H�5`�H�=Ͱ� C��H�T"L�8H�D$�pL���{��A��L����C��H�D$H�EH��tUH�D$M�,$L��H�T$��p��{��L�l$H�|$�P�����H�H�D$H�0�~S��H�t$A�U�N���DL�l$��f���f���S����qM���PXH�
G���H�5b�H�=x�H��dH�%(H�D$1��;B��ff.���ATf�USH��0dH�%(H�D$(1�H�)D$H�D$ H��t[H�\$I��H��H��I��1��*I���O����uH��H���S��H��L��D$�?���D$H�T$(dH3%(uH��0[]A\ø	:ǖ���L��ff.�@��ATUSH��0dH�%(H�D$(1��D$H��t}H��H��H��I��H�t$ �Q����tH�T$(dH3%(uZH��0[]A\�@L�D$ L�L$L��H�޺*H����N����u�T$�Һ:ǖD�H�t$ H��D$�D���D$띸	:ǖ���K��ff.���H��dH�%(H�D$1�H�H��tH�H�B�H�H��tH������1�H�L$dH3%(uH����[K��ff.���AWM��AVI��AUI��ATUSH��H�H��$PH�|$H�T$@H�D$ H��$XL�L$H�D$H��$`H�D$(H��$hH�D$0H��$pH�D$8dH�%(H��$1�H���H��$�I�FM�E1ɹL��$�H��$�H��$�L��H��H�oP"D��$�H�H��H�D$H��y�����/L��$�I�0tXDŽ$�m�H���t�m��	H�L$�H��$dH3%(�4H��[]A\A]A^A_�f.����HDŽ$�H��$�H��$�H��$�H�D$HDŽ$�H�H�@A�HHDŽ$��H�t$L���SI��I�H����A��I�H��$��A��DŽ$��:ǖ�
H����L��$�M����I�E��H��$�f�)�$��F<��tH�F8H��$�H��$�ATH��0M���t$@L��t$@�t$@�t$0jL�L$HH�T$p�|���H��0��t4H�L$ H��t
H�+N"H�H�H���4��$��n����H��$��BP��L��$�1�H��H��I�@��I�BH��H�|$XM�JE1�L��PL�T$P�.���AYAZ��A��L�T$@��D��$�L�T$@E��t��$����	H�t$L����G��I�H���@@��I�H��$��/@���	DŽ$��:ǖ�t���f.��	L���D$�O�D$I�E���fDH��$�1�����$��������
�#���������������H��$�H�D$@H�t$L��D�\$�G��I�H���?��I�H�t$@�w?��D�\$�	D��$�A���:ǖ��������I�G@I�<L��I�NH��H�|$XH�D$`���L�T$@��A���o���H��$�L�T$pL��$�H�D$@L�t$hM��M��I��D��I�~L�D$hA��H��H�L$@H�t$pDŽ$��D��������$���tJH��$�����<^u8H�|$@L����D�����nH��$�I�~�F�D$|�i<���|$|4�L��M��M��H�T$H�D$@E1�H��L�rH�HAVL�@H�T$RH�|$`1�H�D$P�P���ZYA�Å������H�T$H�t$`L��H�|$X���A�Å��^���A�GHI�H����=��I�H�t$@��=��DŽ$�H��tbH�D$H��tH�H�D$ H��tH�\$HH�H�D$(H��t�H�D$0H��t�H�D$8H��tH�1Ҹ���f�H��$�I�E�I�~H�t$@�T=�����HDŽ$�H��$���������4�����D��L��A��M��M���o�����f�8iL��A��M����M���T���=�:ǖf�H�T$@L����)�$���)�$���U)�$�)�$�HDŽ$��$�I��A��A�Å��1���������AWAVAUI��ATI��UH��SH��8H���$pH�<$D�L$4�D$0H��$xH�D$8H��$�H�D$(H��$�H�D$H��$�H�D$H��$�H�D$H��$�H�D$ dH�%(H��$(1�H���1H�\$`H����H�sH�<$L��H��蠩��A�Ʃ����L�|$`A��H���*9��A�ƅ��'H�T$`f�)�$��B<����H�z0�HED$(H��H��0H��H��$�P�t$(�t$(�t$ jQL��t$h�D$hPH��H"D�L$tH�|$@L��,7H��@A�ƅ�uH�D$`�@PH�L$H��t
H�,H"H�H�H��u)A����t H�|$`H��t�1�I�$f�H��$(dH3%(D���;
H��8[]A\A]A^A_�@���L�t$(H�D$xH�D$pH��$�H��$�H�D$HDŽ$�HDŽ$�H�D$h�D$XH�H�@M���H�D$pH��1�1�H�PI�RL�HL��L�D$x����XY���?L��I�NI�w@I�<�{�…��!A�G���]������$����d	���H�D$H��$�E1�H�|$(L��$�H�t$@A��I�L�XI�NASM�FL�\$PPH�T$x��Y^����L�\$H�ZH�T$I�w@I�<L�����…��;A�GHH�t$h�S@H�k�<����A�G�������I�w(H����I�H�T$pL�L$XH��$�L��$�I��L��H�D$@�<���…����D$X��D��$�E����A�G����f�H�B8H��$�����I�w H����I�H�T$pL�L$XH��$�L��$�I��L��H�D$@�=���…����D$X�u���L��$�I�w I�L���6��I�L��H��衣����$��ElI�w I���5��I�G A�GH�D$x���H�D$p���f�H�|$`������H�D$`H���SH�pH�<$L��H���X���A�Ʃ�������L��$�1��HDŽ$�L��L�t$`�H�H�E0H�H��$�I�UH��$�H�p@H��t'I�~I�Ip�L�L$@��E��L�L$@��A����D$0I�~�������D�ElL�L$@E����A�FH��$ �n:��L�|$`M�<$����H��$�A��L��$�H�D$@L��$�H�t$L�ωT$�>��I�H�t$h�B��I�L��A�	�o6��I�H�t$@�a6���T$�
���:ǖDE�H�$D�(�H���3���Ņ��0������9����I��H��E"H�4��H�81��52���P�A��L��$��P���H��$�1�L��$�H�D$@I���A��I�L����5��I�H�t$@�5��H�D$`�x�����H�L$H��t
H�>C"H�H�H�D$H��t�H�D$ A�H���,�����!����H���x���L�L$@���KI�~�_���f�D�UhE���3���A�GI��B3���C���DH�t$h�5���fDI�~H��$ A�
�8��H�$H��D�8�b2���Ņ��������E@��H�E0H����H�8��I�I�wX�<���…������T$0I�GX�������H�UXI�H����=���…������H��H�E0I�W M�OXI�RE1�1�H�01��3��A[A^�…��x���H���H���eI�w I���4���…��Q���I�w ����I�w(I�H��$��+2����$��ElI�w(I���:��D��$�I�G(A�GE�������H�
���bH�5��H�=���T0��@H�$A�
���������6��D��I���D���fDH��$�L�L$@H����?��L�L$@��A���3����D$0�$���$�I�~�+���H�U0H����H�:��L��$�H��L���H�H�H��$�I�EH��$��D$0������UH�E0I�H�p@H��t&I�Ip�L�L$@�xA��L�L$@�����TI�H�uXL��1�M�G(L�L$H�4��I�H��$ �D$@�	6���T$@L�L$H����I�w(�Y����jL�HA�1�jH�|$�����1�跮��AYAZA�Ʃ���%���H�D$`H�h�l����H�UXI�~L�ɾL��$���2��A��=�:ǖt>=�:ǖt7I�~������A�FH��$��3��I�~H��$ �@5�������uh1�I�~����A�FH��$ �5�����I�H�t$\L�L$@��=��L�L$@����u�D$0D$\��$��y���I�H��$ �T$L��$�L�L$��4���T$L�L$H��$�H�D$@A���e���H��$�A��L��$�H�D$@L��$��8����t$0H���*��I�GX�?���H�U`H��tI�w I��4�������A��:ǖH��$�L��$�D��H�D$@L��$������68��H��$�A��L��$�H�D$@���H��$�H�t$hL��$�H�D$@�a���H�
���H�5�H�=)���,��H�
��H�5��H�=���,��H�
Ś��H�5ݙH�=p��,��H�
����H�5��H�=̔�~,��ff.���H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���V�fDH�T$dH3%(�uH����7�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H����WfDH�T$dH3%(�uH����6�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H����fDH�L$dH3%(�	uH����Q6�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���ְ��fDH�L$dH3%(�uH�����5�����USH��(H�dH�%(H�D$1���KP��tH��H�s0�{��H�{0tH�L$dH3%(u&H��([]�DH�߉D$��H�E�D$���y5��f���AVAUI��ATI��USH�� dH�%(H�D$1�H�l$H���-#�Å�u<H�D$�p@��tp��H�|$�K�A�ƅ�u<H�D$H�T$�@PH�P0I�EH�L$dH3%(��uGH�� []A\A]A^�@H�|$1�H��
�D���E�4$��fDH�|$1�H��
�$�����4��ff.�f���ATM��UH��SH��dH�%(H�D$1�H�\$0L�L$8L�T$@H��tH�H��tH�M��tA�M��tH�:"H�I�$H��t�M��t�ELA�M��t�EPA�H�u01�H��t:H��ARAQM��S�<�UPH�� ��uM��tH��9"H�I�$H��t�#����H�|$dH3<%(u	H��[]A\��3��@��H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���
fDH�T$dH3%(�uH����A3�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���VTfDH�T$dH3%(�uH�����2�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H����fDH�T$dH3%(�uH����2�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���v��fDH�T$dH3%(�uH����!2�����H��H�6dH�%(H�D$1�H��t(H�~0t!H�D$dH3%(u+H��0H�����@H�T$dH3%(�uH����1��f���H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���cfDH�T$dH3%(�uH����Q1�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���F�fDH�T$dH3%(�uH�����0�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���bfDH�T$dH3%(�uH����0�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���V�fDH�T$dH3%(�uH����10�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���&bfDH�T$dH3%(�uH�����/�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H����fDH�T$dH3%(�uH����q/�����H��H�v0dH�%(H�D$1�H��tH�D$dH3%(u)H���afDH�T$dH3%(�uH����/���ATI��H��UH��SH��H��dH�%(H�D$1�H��5��1҃�t.H���5��=�u:H���-��H��L��H���!��1҅����H�L$dH3%(��uH��[]A\ú�������.��@ATI��H��UH��SH��H��dH�%(H�D$1�H�� 5��1҃�t.H���5��=�u:H����,��H��L��H���4��1҅����H�L$dH3%(��uH��[]A\ú��������-��@UH��SH��H��dH�%(H�D$1�H��4��1҃�t-H���4��=�u:H���j,��H���-��1�H�EH�����H�L$dH3%(��uH��[]���������l-��ff.����AWI��AVAUATI��UH��SH��8dH�%(H��$(1�H�|$pH�D$x�, ����H�]H�mH��H��������.��I��H���
H��H��L���2��H�t$xL���	�t*����uH�|$x�3��=���L���%��H�|$x�y ��H�|$p�O ��H��$(dH3%(����	H��8[]A\A]A^A_�@��V.��I��H���z	H���k����X���@A�$�
�DH�l$xH����*��H���f���1�H������H��I����2��=��9	M���0	L���*���H�=f�H�����������H���u��L�d$pH��H�$�T*��H���������-��H��$�H������H����)����� H�<$1����H��H���$2��H��������H���;0��H�<$�H��$��E(����HDŽ$�H�E0H��H����1������H����1��=��FH���)��H���4�H���,��H��$�H���H�x�)������1�L��$�H���R��L��L��H���t�������	H��$��H��L�h�#��L��H���h������n	H��$��H��L�h���L��H���<������B	H��$�H�E0H��$�H�<$�H�X8���H��L��H��������GH�<$����H��H���0��H���%���H���U,��H�<$�H��$����A@����	ЈA@�N��H��H���S0������H����H���	,��H�<$�H��$�����C@��	ЈC@���H�SHL��H���������H��$�H�<$�����H�CPH��H����/����tbH����/��=��HH��L��$��'��L��L��H���#������A�T$XH��$�L���^*�����:H��$�H�CPH��$�H�<$�H��H�D$8�<��H�CXH��H�D$ H��HDŽ$��(/������H���/��H�|$ =����/��=���H�|$ ��&��H�D$(H���n1�H��$�H�5o�L��������MH�|$ 1����H��$�L��H��������p
H��$�H��$�L�����H��$�L�����&�����>
H�|$(��	H��$�L�|$`L��$�H�D$0H��$�H�D$@H��$�H�D$H�D$XH�|$ H�t$����L��H��1��H�H���-��=��H����%��H��
�	1�H�����I�UL��H�����������H�����I�UL��H���������H�߾�v��I�E(f�AEH��H���j-��=��xH���7%��H���f1�H���3��H��I���8-�����IM���@L���O+��H����$����H��H���-��=��H���H�T$0I�u(H���k������H��$�H�߾DŽ$�����$����H��H���,������H����H���*��H�߾��$��d��H��H���i,��H���y���qH���*��H�߾��$��,��H��H���1,��H���A���9H���H*��H�߾��$�����H��H���+��H���	���H���*��H�߾��$����H��H���+��H��������H���w'��H�߾��$����H��H���+��H��������H���)���	H�߉�$��K��HDŽ$�H��I��H�D$H�?+�����L���.+��=��<L��E1��"���H�xH�D$P�5&��L�d$H�D$H�\$h�M����H������H��H����*��=���H��������H��H����L����(��H�T$0H�sH��C������zH��$��"���CH�D$J��I��H�D$J��L9|$P�H�|$HL���3��H��H�D$H��J���+*��=�u+H���!��H��u1�H�����H��I���*��������L�d$H�t$L���G!��L��L���L���1�L���H�H��$�L����#��H��$�L��	蚴�*���DA�$E1��
�����	����H��$����L��$���"���M!��H�T$8L��H��H��X������u�1���H�<$�H��$��C@��	ЈC@�
��H�S`L��H�����u�H�<$�	����H��H����(�����t���H���k���H���$��H�<$�
H��$��Bh���H��H���(�����7���H���.���H����&��H�<$�H��$��Bl�n��H��H���s(���������H����H���&��H�<$�H��$��Ep�1��H�ExH��H���.(������H���(��=������H��E1������H�xH�D$�$#��I��L9l$teH��L������H��H�D$��'����u4H�T$H��t*H����%��C��I���L��$�L��L��������L��L��$��������L�exH��$�H�<$�
H����T��H��H��������H��$�1�I����H�H�D$L�d$H�\$hH��$�H�߾
���H��H���	'��=�����H������L�|$XH�T$@H��L���p������H��$�H�߾H��$H��$���$���H��H���&��H�������=������H�T$@L��H���
���������H��$�H�߾H��$H��$���$�9��HDŽ$ H��H��H�D$H�-&�����eH���&��=��*���H��E1������H�xH�D$P�#!��L�d$H��L�l$�M����H�߾���H��H���%��=���H��������I��H����L���#��H�T$0I�t$H��A�D$������H��$�A�$
��N�d�I��A�D$J�D�L9|$PtmH�|$HL���(��J�D�H��H���$%��=�u+H�����H��u1�H�����H��I���$��������L�d$L�l$H��L��������H�L�d$H��$ L�l$H��$�L��L��DŽ$������L��L�������������H�D$H�D$H9D$(�Z���L�|$`H��$�H�L$8H�AX�����L��L�l$L�d$H�������T���H��$�L���$���h���L��$��K���H��$������H��L�d$�������fD��AWAVAUATUSH��H�$H��H�$H��H�L$H��I��I��H��dH�%(H��$x 1�H��H�|$(H�D$0��Ņ���H��tOH�$"D�+H�D;(�:H��""H�D;(��H��!"H�D;(�TH�5$"H�D;(��M�<$I�D$L��H�$H������-��I��H���!M����H����H��""D�#H�D; �9H�""H�D; �VH�$"H�D; �cH�|#"H�D; ��H��""H�D; �]H��!"H�D; �zH�[#"H�D; ��H�pH�{D���W������I����A�}��A�E<t
<���I�G�O�D=H����A�}��H�� "A�uH��H��H��H9��eI�EL��H)�H���QA�}�FA�EI��9��6I�]L��L�$H)�L9��H�rH��L��������L�$L�L��H)�H����D�;L�cL��L)�A�E��L9���I�w��g��L�$H��H����L��L��H��L�$�5��M�B�;E1���L�$��L��L)�H���9A�$L��I��L)�ʉՉT$H9��E1�H��t`H�D$(H�t$8L�D$H��H�$���A�Dž����T$H�t$8H�L$@L�d$HH�<$�T$D�/����L�D$��A���RL�|$8I�1�H��M9�t[H�
#}�'H�5�|H�=}�k�����Y��I��H���MH�4$L��L�����H���&���E1�L��H�|$(��H�L$0E1�1����������$
��A�>L�L$(E1�1��'f���E1�E1�1�1�E1�A�>L�L$(�$
L���ʝ��H�t$0H�|$(����H�|$(L���>��H�|$(�d��L�����H������H������L�������$H��$x dH3%(��H�Ĉ []A\A]A^A_��H�pH�{D��� ���������I�$M�d$�@H��L�����L�L$(I��L�$H���BI��M)�I���
��L�$H��H����L��L��H��L�$���B�D=L)�H��L�{��
��L�$H��I����I�uL��L��L�$�q��A�D�L�$L�D$0�H��L��L��������wE1�1�E1�H��L��H��A�H�D$HM��PH�|$8H�t$@��ZY�Dž��Z���H�D$@H�L$1�E1�H�D$0H�|$(E1�1�H��$A��C���A�L�L$(1�1�E1�E1��$
E1�����fDA�H�|$(1��$H�t$0E1�E1�1����f�A�H�|$(1��$��f�H�pH�{D���P�������+���H�pH�{D���0�������������H�|$(H�T$0H���������E1�E1�1�1�E1�����H�pH�{D�������������I�<$L�L$(�m��$�LA�>E1�E1�1�1�E1�����H�pH�{D������������1�L��E1�1��j���f�H�pH�{D���`����t�����H�pH�{D���@���������L��E1��1�����fDH�pH�{D��������h���H�$�8H�T$pH�t$@� L�D$8������H�\$8H���KH�H���iA�H�|$(�$����DH�{�
��L�$H��H��tKL��H��H��L�$�q��E1��DL�$���I�D$H�T$0L��H�0�[�����J������~���@��$
�{����H�pH�{D��� ���������L��
1����������f�H�pH�{D��������������i�����E1�1�E1������A�m�L�L$(1�1�E1�E1�m��$���H��L�L$����L�L$�$
����A�m�E1�E1�1�L�L$(�$�m�����|��H��E1�1��@���A�E1�E1�1�L�L$(�$
��x���H�t$8H�<$����D���$E1��"���f.���AUATI��USH��(H��"H�|$dH�%(H�D$1����tBD�/L���DH�����t+9�u�H�sI�|$L�������u�H�t$H�|$I���"��H�L$dH3%(L��uH��([]A\A]�������ATUH��SH��"H��L�c(H��dH�%(H�D$1�H�D"�Ѕ�uH��L9�t
H�H��Ѕ�t�H�T$dH3%(u	H��[]A\����f���ATI��UH��SH��H��0dH�%(H�D$(1�H�|$������H�|$�O��������H�EH�L$H�T$ H�|$H�t$H�D$H�D$ H�EH�D$�ݸ��uQH�|$�?��H�l$H����N���H���H�D$I�$1��H�L$(dH3%(u?H��0[]A\�D�H�t$���*���H�|$�����
��f���
����f���H��dH�%(H�D$1�H�D$dH3%(uH�a"H��H�0H���,�����f.���AWAVAUI��ATI��UH��SH��H��HdH�%(H�D$81�H�H�B0H�D$H�D$(�@�s�B,H�C8H����H�8�L��H�T$L�t$ H�����A�Ņ�tAL��H���V��H�t$H���Y��D��H�L$8dH3%(�7H��H[]A\A]A^A_�H�C8H�t$H��H�L$H����H�t$H��A�Ņ����/��H�D$�P�C,�|�{,�h��H�C0H����D�kH�HH�s H��D�(L���A��H�H�t$(J�(�R�H���wD�l$$�H�Hf�PH��fD�hL�����J�(H�S8H�:t#H�L$�H�x�QʉP�QH�q����H��(E1�L�t$ I�$�����H�T$�
���T$L��H������H�CH�x0�&H�T$L��L�t$ H�����1�L��H���
��H�CH�L��H��L�HXH�R(H�@0AVjL�1�H����Y^H��T$L��A�����H�T$L��H���M
��H�t$H�����E��uC�D$$��=��wg�C,����D�{,����H�C0H�������A�L�t$ ����H��`����C,���f�H�������K�����A�=:ǖ����
��H�
�q�BH�5XqH�=}q���H�
�q�
H�59qH�=Eq�x���PXH�
�q��H�5bTH�=xTH��dH�%(H�D$1��;��ff.�PXH�
Wq�xH�5"TH�=8TH��dH�%(H�D$1����ff.���ATUSH��H��dH�%(H�D$1�������t H�T$dH3%(��H��[]A\�H�-1*"H���i��A�ą�ubH��D�%D*"�C���Ņ�u}E��u(H�D$dH3%(��H��H��[]A\����@H�D$dH3%(unH��H��[]A\���������D��H�RSI��H��"H�81��v��������������H�KSI��H��"H�81��G���b�������ff.�f���AWAVI��AUATM��USH��H�����$H�<$H�L$L��$�D$@H��$D�L$ H�D$PH��$H�D$H��$ H�D$0H��$(H�D$HH��$0H�D$8H��$8H�D$XdH�%(H��$�1�H�HDŽ$�H���XH���H��$�H�D$0H�H�@H�D$H��tH�H�5"L�8M��t^A�,$A;/��H�"L�8A;/��H�"L�8A;/�BH�s"L�8A;/��I�wI�|$���O������L�#M���CH��$���H��$��������!L�#A�D$��A�D$��I�t$(H�T$H���l�A�ƅ��QM����I�EM�EH��$�A�D$	�|H��$�D��$�H�L$@H��$�L��$�H�T$@H��I��$�L���
��A�ƅ�t5I�T$0I��$�H���c���H�T$@L��H��I��$��{
������H��$�A�T$I��$�E��$��p�������I��$�����������H��$�H�FH��txA��$�tA�D$	u
I�T$0�J9HtXA�L$H��$�I��$�H��H�p����A�ƅ��QI��$�I��$�L��H��������lH��$�H���_��A�D$	�,A�L$H�|$8t+H��$�H���%
�����EH�L$8A�D$h+�$��H�L$HH��tA�D$�H�D$H��tL�8H�$1���M���?H�L$H��$�L��H�<$�n���ũ����A�~(��M��tI�}��H��$���H�D$`���I��H����H�xH�@I���H��H��Hǀ�)����1����H�A�E�^H�|$`������\�D$�
H�|$`L���v��I���H��t
H�|$`�@
��I�} tH�|$`I�u �[I�}(tH�|$`I�u(�FI�u0H��t
H�|$`�s���L���K���H�$�L$��@I�wI�|$�����������L�#M���Y�������I�wI�|$���x�����)������A��^�
H��H�$1�H�����D�3H��$�dH3%(����H���[]A\A]A^A_�fDH�$��L�����A��vH��$�H��$��H�H����H��$�H����x����H�$��H�;�^���H��$��z����L���DH��$�������+H�4$H��$��Z�����������H�$H��$��
�8�g���H��$��������DI�wI�|$��� �����������H��$�H��D$�����D$A�ƽ
���H�$H��$��8���H��$�H��$�蠖H�;�m����
����H�<$H��$�������t���u�L��$����D���Y��D��H��KI��H�8"H�81���������H�$�
����L��$�L��$�I��$�A�L�ҹL��L�T$H��$�H�D$@�3��L�T$���H��$��?���fDI���H�|$`��:���I�vxH��tH�|$`�W�����s���A�E�L$ IDž����A�E��%?p��
0��A�UA�F@E�A�E��tA�MH��$�H�|$`H��H�D$h�,���������L$@�Q����w	��$��A�EhH�|$`I�U I�v0�}������H�t$H�|$`I�U(�~}A�…����D$�
���DH�$H��$��8����!����H�$�	����@H�$�
����@H�<$1�H�޽��������H��$�H��H�D$�
�N��H�D$A����H��$�H��
�,������I��$�H��$@H���O���������H�L$0��$DH�H��$HH�A���H�<$1�H��E1��	聀������E�EA�L��L��I��$���Z1�����<H��$�H�t$@H��$@H��H��$������������H��$@H��
D�vA��:ǖE��DE���������$�A�UhH��$��H�|$@M�M(��$�1��H�H��$@�HDŽ$�H�|$x�H�I�F0H����H�H��$�I�	��$�H��$�H�p@H��t6H�D$@H�|$`�L�L$pD�T$H�Hp����D�T$L�L$p�����QI�~8��A�H��$�H�L$@I�VXD��H�|$`I��L�L$H��$�����L�L$=�:ǖ��������H��$�H��H�D$pH��"���uH�ȋ�$�;H8��L�d$`H��$0HDŽ$�L�����H�t$xL���K�H��$�L���+���H�D$p�o@0)D$AE`�D$ �t�@FtA�M�L�$$I���L��L������D$����A�$�
L�d$p�D$�C���H�$�	�����I�v8H���A�F@��I�H�|$`�D$�����L$����H��$��L�D$xH��$�H���H�|$`H�Ѻ DŽ$���I�F8H��$�I�F0H�H��$�I�vX��������u{��$�@�GI�F8H�L$@�Dfo�$�L��$�H��$�H�|$`)�$ I�VX�������u*H��$�H�|$`H�PI�F0H�0�>������
�����:ǖL�|$`�L$�
H��$0L���3���H�t$xL����H��$�L���f����L$�L$����I�����H�T$xH�t$PI���H�|$`I�E L�`@HDŽ$�讷������I���H�|$`������H��$Pfo�$@H��I���H�|$`L��$�H��$�H�D$X)�$�H��$�H��$�H��L��$�HDŽ$�H�D$P���A�ML��L�d$`I�����L��E�A����A�� D�T$ ���D�T$ 1�H��L�L$@L�D$pL��L��D���#�I���1�L��D$ �N���L�d$PH��I�t$���I�t$(H�������L$ ����H�D$p��$��o`0Ae`�@D)d$ A�EpA�E	����L��$�H�D$ H�l$`I���H�T$xH�����Hc�$@H�T$PH��I���H�l$`�
I�Ex��������QH��$�H�|$`I�U0�4�H��$�H�|$`�D$@���L$@���A�e�I�U0I���L��I�EPH�|$`I�EX����(A�E���H�|$8t)H�t$hH�|$`�j�����*H�L$8A�Eh+�$��H�D$0H�L$ H�H�L$HL�`A�EH��t�H�L$H��tL�9��L�+���4A�e�H�t$p�H�|$`�k����K�H��$�tH�t$@H�|$`�L$�X�L$���:ǖtD���:ǖt<���^t@�
�� :ǖ�D�L$L�d$p��A�F@�DE��������������L���M(����H��H�D$ �n�I��H����H��$���$��L��H��$��~(����$�H��$�H��$��"����$�H�$�H��$������H�t$@H�|$`�e�����A�MH�t$pA�EH�|$`�6��D$��H��$���
�������I�ux����E�������I���I��������M�������D$L�d$p�D�H�
^��H�59]H�=u]�x��D$L�d$p�
��H�
�]��H�5]H�=]�F�� :ǖ����ff.����ATUSH��dH�%(H�D$1���Y����Å�t#H�T$dH3%(����H��[]A\�@H�-i"H����A�ą�uJ�|"H���x��Ņ�t����k��H��?I��H�K"H�81�����@���9�D��H��?I��H�"H�81�����!��L���ff.����H��(f�dH�%(H�D$1�H��)$P�t$h�t$h�t$h�t$h�t$h�t$h�D$hP�:�H��@H�T$dH3%(uH��(�����f.�f���AWAVM��AUI��ATI��UH��SH��H��XL��$�L��$�dH�%(H�D$H1�H��$�H��tH�M��tI�$�C��H��tH�EM��tI�$�M��tA�M��t
H���I�M��t�CA�M��t
�C��A�H��t�C����A�E�C�f����YH�|$HdH3<%(�?H��X[]A\A]A^A_�fDH���H�t$4H�L$ L�\$H��L�L$H�D$H�D$8H�D$@�>���L�L$L�\$��H�L$ ��Sh+T$4�C����I‰D$H���$H�s H�|$H�T$8H�L$(L�\$ L�L$�pL�L$L�\$ ��H�L$(��M�����CH�s(H�T$@H�L$(HDs H�|$L�\$ L�L$�7pL�L$L�\$ ����H�L$(��H��t	H�D$8H�EH�D$@I�$�D$����M���\���A��T���D1�����H�|$WXI‰D$H����H�s(�����A�EH�t$���Hz���
�]���fDH��t�H�D$8H�E�~���DM���p���H�s(H�|$H�T$@H�L$(L�\$ L�L$�UoL�L$L�\$ ����H�L$(�,���H�|$8tH�|$H�t$8�T$�m�T$A�UH�t$���y���
����M����H�s �{�����f���AUI��ATUH��SH��hdH�%(H�D$X1��FtvL���I�D$H�t$H��L��H�D$A�D$H�D$�{���é��tRH�EH��tH�8��H�|$H����H�T$XdH3%(����H��h[]A\A]ÐL�f0�f.�H�D$@L�D$0�
L��H�D$8A�L$H�5-X�D$0�
���é���q���H�D$8H�t$ H��L��H�D$(�D$0H�D$ ����Á����`������9���H�@1�H�xH��f��2����<�ff.����AWAVAUI��H�5�TATI��UH��SH��8dH�%(H�D$(1�H�L�D$H�Ѻ�D$��
�������L$����I���A��H��H��twH�H��to�L�t$�H�H��H�H��tP�L$9Hu�@L��H��H�D$H�L��H�@H�D$���A�ǩ��u[I���H�H��H�H��u�@H�|$(dH3<%(D��u:H��8[]A\A]A^A_�fD�EA�
��f�L��L���%������ff.���H��(H��`H��dH�%(H�D$1�H�t$H��H�$���H�L$dH3%(uH��(���f���UH��SH��H��8dH�%(H�D$(1��FtjH����xH�t$���
��u/�D$H��H�t$H��H�D$ȉD$$H�D$$H�D$�p����H�L$(dH3%(��uH��8[]�DH�F0���DPXH�
wU��H�5�7H�=�7H��dH�%(H�D$1���ff.���AWM��AVAUI��ATM��UH��SH��H��hH�L$H�|$(dH�%(H�D$X1�H�D$0H�D$8H�D$PH�D$@�\�����M��tI�EM��tI�$H���QH�t$(1�H��H���V��A�Ʃ����H�|$(H�t$ H�\$8�����H�|$8�D$�����Wl���5M����H�w0H���7H�|$(H�T$@�j���\M����H�D$@H����I�EH�|$8H�D$H��t�T$�M��t�G(A�� �A�Ņ��%M��tH�D$PH�D$PI�$H���eH�|$(����|$�EE�A���H�t$0H���ÀH�|$(��H�L$XdH3%(D���pH��h[]A\A]A^A_�H�t$0H���#���H�\$0A�Ʃ��������fD�EA�
�D��+L$ I��D$���fD�G(��������H�wHH������H�|$(H�T$H�W�����=�:ǖ������EH�t$(��A�
�/s���D�EA�
H�|$8����Å���H�\$$H�t$0H���H�|$(��H�t$PH���r�����DM���O���H�D$PH��H��H�D$�z���A�Ʃ��u!H��!H�T$H��H�0����A�Ʃ��toH�|$@�d���H�|$(H�t$@�e�P�������!���I��H�
�!H��4�H�81����J���f.������D��I���ŐH���!H�T$H��H�0�I���A�Ʃ���l���M���[���f�H�|$8�f���fDI�E��fDH�t$8H���~���H��1�1�A�H�D$HE1�PH�t$XH�|$8�heZY�����H�t$HH�|$(�D$���D$�.����m�ff.�f���ATH��M��E1�UL��SH��H��dH�%(H�D$1�L�D$0H�L$�v�����u*H��t%�S(H��t��v8��uM��t�T$A�$fDH�t$dH34%(uH��[]A\���T$�U�S(�������ATI��USH��H��@dH�%(H�D$81�H�H�~8H�D$ H�D$(H�D$H�D$��H�|$H���k������H�u8H�|$H�T$�P���u\H�|$H�|$(��H��H�t$ L��H�D$ �h
��H�|$H�t$�����H�|$���H�L$8dH3%(��u7H��@[]A\�f�H�|$�D$����D$A�$�
��H���	�������f.�D��AUI��ATI��USH��dH�%(H�D$1�H��tXH���!H���H�9��H���!H�;tjH���!H�;��H�!�!H�;urH�uH�x������u_L��L�������Å�t~H�L$dH3%(����H��[]A\A]�DH�uH�x������t�H�6�!H�;u��eDA�$�룐H�vH�x�������z����4���@H���!L��L��H�0����Å�t5H�|$L������U���H�uH�x���1����*�������@H���!L��L��H�0�k����Å�u�H�.�!L��L��H�0�P����Å�u�H�{�!L��L��H�0�5����Å��v���H��!L��L��H�0�����Å��W���H���!L��L��H�0����Å��8���H�&�!L��L��H�0�����Å�����H�O�!L��L��H�0����Å������H���!L��L��H�0����Å��B��������F�fD��AWAVAUATUH��SH���L�L$L��$D��$dH�%(H��$�1�I�EI�E�����FA��H��ƒ�����H������M��H�4$�����m���t:�}H�4$�l���
H��$�dH3%(�2H���[]A\A]A^A_�H�<$E��E��L��L��H�������$H�D$H��tD� �E1�����^���m���w�����H���H�s@A���D$gH�CXH�L$ �{8�KHH�D$PH�CP�D$�L$`H�D$X�D$H�t$@�|$E��t���kE���D$0�|$�D$0�^�D$4���NA��D$H�D$f�D$(H�t$@�D$HH�|$ D�D0D��D�D$L�����H��H�D$h���D�D$LH��H�D$8��H�D$8H�|$ D��D��H��$�H��$��#���t$�|$H��$�f�0H��$��1�|$0�&�|$`f�xH��$��@�H��$��@������^���hDŽ$���D$0H�<$H�T$x�'��A�ƅ���H�D$x���$��D$(��HE��,��H�D$H����D�L$4E��t!H�D$XH�T$H�<$�p��A�ƅ��CD�t$4H�D$I�wI�J�<0����|$f���D$(�xI�����I��H���IH��$��T$(I�H�t$H�@�I���H�<$�L$0H��$�H�T$PI����$�L��$�D��$�L��$�H�D$(�1�L��A������E�����|$�@�,�D$������uH��$�H�T$@H��$�H�x��L�<$H�t$(L������|$g�KxL����H��$�H�t$PDD�L�HL�@D���j�A�ƅ���E�����|$`�H��1ɺ�D$PPH�|$PH��$�L�D$ H�t$hL�L8H�|$�ZYA�ƅ���H�|$����H�Cx��H�CxH�D$hI�EH�D$8I�E����@�|$�DŽ$�v����v����D$0���D�D$E�������H���!H�D$ E1�L��$�H�
�;�mH�t$PH�<$L��A����A�Dž���T$@H��$��H)�H�xH�$������H�CxH�t$XH��$�H�<$ȉ�$��J��A�ƅ���H��$��z�H1��f�H��$�H�zH�H���7�H��u�H��$�H��1�H�L$HH��$�H�D�PD�L$XL�D$ H��$���^_H��$�H�<$A���q��E���`����H�|$�6��H�|$8�,��D������@�@�H��$��|$�@�H��$��@�H��$��@���~;�|$u?1�A���v���DŽ$�v��������D$0������|$��������H�D$XH�<$�p迣�D$4A��������|$`I��L$4t`�T���ֺ��)‰t$H�T$f�t$(�r���@DŽ$���D$0�6�����$�H9D$@�l�������D�D$f�D$H�D$(� ���H�|$����H�|$8���������@�D$fM7H�Lt$H�Ѓ�s`������J���A���?���fB�T0��4���f��D$H�������H��$�H�L$@�T$HH�t$H�|����w����I�NI�H��J�T0�I)�A�A��A������A��1��ƃ�H�1D9�r����H�t$(H�<$E�����H�|$���H�|$8���������H�D$ H�qL�D$H�x�X�L�D$���m���H�D$PL�x�_���A�B�T0��R����K��H�
4D�XH�5�CH�=�C�,�����{���H�
D�
H�5�CH�=�C���fD��H��dH�%(H�D$1�h�t$(���ZYH�T$dH3%(uH������ff.���H��E1�dH�%(H�D$1�hAPI�ȉ�1��B���ZYH�T$dH3%(uH����f��fD��AWAVAUATI��USH��L�D$��$�D��$�dH�%(H��$�1������FI����<u{A��L�˅���E1�I���E���H�D$E����A��tXA�m�E�<$H�t$D���b���
H��$�dH3%(��	H�ĸ[]A\A]A^A_���^���H��D��A��I��AWH�L$L��H�|$ �/ZY���c	A�$1��f��m���t�����L���V����!�������f�D����H��D�D$H�D$XH�D$`H�D$hDŽ$�HDŽ$���D�D$H��H�D$ �IH�ߺ	��D�D$(腣A��D�D$(�D$H���|$H�D$0��@����A�F	�����H��D�D$(�9�E��D�D$(�D$8H���3H�@�D$
D$8�D$@�h�D$01�H�D$(I�F@I���H�T$8�T$0�t�	��H�T$8A��H�D$ I)�LL$(��D$(���H�D$ L;H�cH�D$ �t$0H�T$pD��L�L$ L�HH�@I���H�D$pI�F@�t�	��A�V8H�D$p�|$L�L$ f����|$@��H�D$pA�VHf�PH�D$p�@�H�D$p�@�A�F8���	�8����DŽ$��H�|$H�T$XL�L$ ���L�L$ ����H�D$XI�V@M�FP��$�M���0�|$�%H�D$pA�pH�|$H�T詝����M�FPI�V@A�H��$�I�NXH�D$PAWUS��$�H�|$0��H�� A�Dž�� A�F8�����
���4���H�L$pI�V@H��$�L�AH�L$ L�����H�L$ I��A�F��L�II�vXDD�A�NxH�|$D���w����NE��tAA�~HM�NP�A�VA���UE1�S1�j��jH�|$0��腦H�� A��E��u\I�Fx��H�|$I�FxtH�D$D�(H�t$H�|$����%���f.�A����DH��$�A��:ǖH�D$��H��裪H�t$H�|$�4���]����H�|$ L��L�L$(�֬L�L$(���F���A��H��$�H�D$�����H��D�D$(輟E��D�D$(�D$8H�����������I�FPH�|$D�D$@�p�:�A��D�D$@H�H�D$(��A�~H��H�T$`H�L$h��H��D�D$@�H�T$(HT$`H+T$hD�D$@H��I�у�A�F	�=H������H�|$0�OH�T$(�D$8�T$0�D$@����f�I�FPH�|$D�D$@�p芚D�D$@H�H�D$(�X���f�H�T$`H�L$h��H��D�D$@�W�H�T$(HT$`H+T$hA�F	I��D�D$@��d���H�D$0��D$@���H�D$0A��H9P����H�D$0E��H�L��H�PH�p�Ѓ��6������tD���4A�F	�����H�D$0H�P�D$8LʈD$@�T$0���D�H)��[������^DŽ$�v����v�������DH�D$p�@�H�D$p�@�H�D$p�@�H�D$p�@�A�F8��t{�r������DŽ$�v���A��t�H�|$H�T$X�v���������c���H�D$XM�FPA�I�V@��$��������H�L$pL�A�����DŽ$������H�N��L�H��L�D�H)΍2����������1҉փ�L�19�r����H�|$0H��L�L$HH�T$@膩�������H�T$@L�L$HA���4���A����A���L���H���!I���1�L��$�M�VXH�2�;�0H�|$A��L��舙��u�H�L$pA�V@�L�AH)�H�$�H�L$ L�����H�L$ I�������$�I;V@�YH�L$pH��$�L�AH�L$ L�����H�L$ I������1��b���I�FxH�|$H�T$xL��ȉ�$��{��������H�t$x1��~��H�VH�H���2�H�t$x�VH9�r�H��$�WI��A�UH�|$ 1�舢AXAYH�t$xH�|$A���������D�D�D��
���H�vH���L�T$0H�L$(L�D$ ���L�D$ H�L$(��L�T$0�����I�J���fD�D��������A�������D$8�D$01҈D$@���H�
K9��H�5�8H�=a8���H�
,9��H�5�8H�=�8����_��ff.�@��AWAVAUATI��USH��h�T$��$�L�D$D��$�dH�%(H�D$X1��D$4�D$8�D$<����I���F�VD����L��L���&�I��H����H�@���H��H�@軙H�D$H��tH�@H�@A�F�	��H�����A��A��D	��D$�v�I��H���JH�T$@H�L$H��H��H�@H�@��T$���6�D$A���M������3�|$H�t$@���L$1�1�1�H�t$@���M��tA�$H�|$�bH�D$H�P���OM��tI�oI�]H�\$1�H��t�t$�3����^�H�|$XdH3<%(�H��h[]A\A]A^A_�f��m����M����A�~H��H��H+T$H�1ۃ��D$<H)�1�H��(�����L$�����D$A����f�A�$�
�Y���fDA�F��I����h�D$���WL��H�L$8���L�L$ ���L�L$ ����L��H�L$4���L�L$ ���L�L$ �����D$8�\$4L��H�L$<��L�L$ ��H��H�D$(H�D$@H�PH+T$H���L�L$ ���`�T$<��u�|$�HT$(��H�L$HH�T$@��H��贠��H���J�����������DI�FPL�ψL$(H�T$ �p耒H�T$ I�v@�L$(�|$�D$4��H�tH�T$�L$ ��I���Ht$@�R����L$ H�T$��H+\$@���@H����L��H�L$8���L�L$ �g��L�L$ ��uv�T$8�H�t$@A����1��-���DI�F0�I����H�L$HH�T$@��H��负�����I������H�T$�L$ �����A�$�
�5���f.��D$<H��1�1۽���H�T$P��L��L�L$ �R�����u�H�T$PL�L$ �Z������H�
�3��H�5�3H�=�3�{��ff.���H��dH�%(H�D$1�h�D$(P���ZYH�T$dH3%(uH����-��ff.�f���H��dH�%(H�D$1�h�D$(P�y���ZYH�T$dH3%(uH�������ff.�f���H��I�ɉ�1�dH�%(H�D$1�hAPE1��B�ZYH�L$dH3%(uH������fD��H��I�ɉ�1�dH�%(H�D$1�hAPE1�����ZYH�L$dH3%(uH����6��fD��AU�ATUSH��dH�%(H�D$1�H��tH��1�H��H��H��H��u%H�t$dH34%(��ufH��[]A\A]��I��H�����1�I��H��t�H��L��H��H)��z��I�4,H��L�����I�<H��L���\��L���������x�����AWAVAUI��ATE��USH��H��H�L$H�|$dH�%(H�D$x1��F�‰����у����L$-��A������������L����D$(M���A����E���g���_I�}H�������A����A��AE������H�����D$@��D��H�D$HD�d$DA�v�{��H���"H��H��H�D$ �1���H�|$HI��H���0A�I�uI�UfD��CA�G���
D$-A�G��A�GH�CxH�I�G����I�EH�T$H1��AoH�|$L�D$@L��L�L$PI�G��H�D$h�D$ ���D$dA�F�D$T�&����T$DL�D$H��H���r�L$H�|$H����L$H�D$H����H�CxH�D$H�\$ 1�L�xH��_f�E��������L�l$f�t$.A�E�x���I��HD���1��H����t$(H�|$H�T$8�D$@��H�D$HD�|$D���������H�D$8H=���3H�t$H�H�DH��H�D$ 螿��H�|$HI��H�����D$.I�UA�G�I�uf��fA��C��
D$-A�G1�A������A�GH�CxH�I�G�A��I�EH�T$H�AoH�D$L�(M����K�D/�t$(L�l$P��H�D$`H�|$L��M��H�D$8L�D$@�D$X�����T$DL�D$H��H���W�L$(H�|$H�Y����L$(H�D$H�����T$XH;T$8�D��H�D$H�t$`H�I�|���H�|$L��豻��H�CxH�D$`A���v�����fA�G�������L�s0�D$(�z���D���T���A����A�����L�-:.�A�f�T$.L�l$����{����H�\$xdH3%(���$H�Ĉ[]A\A]A^A_�H�|$ ��@L���L$�,���H�D$�L$H�@H��f�L��1��D$(�º���L$(I�����fDH�pI�L���P���-����H�l-f�L$.H�D$�
���DE1��x����E1��k���L��1��D$�R����L$I���t���fD�D$8f��fA�G���DH�T$ 1�L���L$�����L$����@�C������������H�
�,�aH�5X,H�=�0赻��H�
�,��H�59,H�==,薻��������AWAVM��AUI��ATI��UH��S���H��L�H��$�H��$�dH�4%(H��$�1���$�H�\$`H�D$hH��t�A�t$�����ۃ�=����E�xA���m�}A��A��D8�������A��$�M�T$0�t$M���e=��=�0=�f�}�L�5�+��}�D�D$ L�\$L�T$���}���M�>H�EA�H�D$(�|$d����H��H�D$hH���UM��L�T$L�\$D�D$ �U�oE�A���D$L��D�D$xH��L�L$T��B9L�D$pH�L$`L��L�\$H��$��D$t���H�|$h�D$�/����D$L�\$H�D$h���-�D$T���IA�E��f.����A�E�	H��$�dH3%(�H�Ĩ[]A\A]A^A_�f����o���A��$�M��$��t$�g���fD������A�E
m��떐f�}�H�L$ L�\$L�T$�m����}��c����E�UL�ML��L�L$(f��f��f�D$N����H�D$0H�EH�D$@A�@�H�ƉD$HH�D$8�q���L�L$(D�D$H��L�T$L�\$H�L$ ���E�>H��t�A�BH�|$8L�\$L�T$�D$tD��$�L��$�D�D$d�
���H�D$hH���DL�\$L�T$1ɉ�L�L$`L�D$pL��L��L�\$脸��L�\$���M�D$dH�|$hH��H�f�:�K����M8J�>����M8J�1���H�MH9J�#���H+D$0I�~I��1H�t$@I��$�H���A�E�����f�}���������H�t$(I��$�H��{�A�E����fD�t$L��H�T$XL�\$H�L$ L�T$踺��L�\$����H�L$ L�T$H��t�H�t$0D��L�\$L�T$H�FH9��O���H�M�H)��ED���l$NI��H�ϺL���D$`��)�H�L$h�D$dH�L$ �f����H�t$0H9t$X�l$xH�L$ L�T$L�\$����L��D$L��L�L$TL�D$p��L��L�\$H��$�H�L$`�D$t���L�\$�����T$T���u����D$d�X�I�H���ܶ��I�FH��tH�t$hH��H�������M���fDA�E�
�[���fDI�vL��H�����D�D$ L�\$L�T$H�����H�|$hL�\$�D$����D$L�\$fDA�E��L���zE�������˸��I�F����Y���H�
&�rH�5�%H�=w*�:���f.���AWAVAUATUSH��xH�<$D��$��T$0H�L$ dH�%(H�D$h1�������FH��L��E�̉��ƒ��҃���E�T$5A��A����A�������L�{0�D$M�����L$���9H�L$XH�T$PD��H����D��D��H��膏H�D$H���H�	D��H���(�H��tH�@�D��H�����T$0A��H�D$����������H�D$XH�<$H�L$DH�D$`A�w�L�t$PH�D$�ɸ������D��H��D$0�"��D$0H�\$hdH3%(��H��x[]A\A]A^A_����L����D$���f�D�\$0E��u���nA����A������A�fD�D$6A�wH�<$H�L$@��!������X����D$@=���,E1�H�|$��6H�D$��D$(���H�D$H9P��H�D$H�|$L�PH�Pt2H�D$�t$@��D$���H�D$H;p��H�D$H�p�D$6f��fA��CA�B���
D$5A�BA���lL��L��I��E��A�B����H�CxH�I�BAVAT�t$H�|$�+{ZY���`���H�CxH�\$ 1�H���^����|$0�;�S����A���S����A�fD�T$6����A�wH�<$I�VH�L$LH+T$���������D$L���H�D$`A�wH�<$H�L$H�荶���������D$DH�L$`E1��T$H��H�|$�T
�T$@�&��H�D$��D$���H�D$H9P�'H�D$H�|$L�PH�Pt2H�D$�t$@��D$���H�D$H9p��H�D$H�p�fA��CA�B���
D$5��A�B�D$`f��fA�B1�H�|$fA�BH�CxH�I�B�MH�D$H�HH�T$`H�Ͼ�L�T$贮��M��M��H��H�D$H�@�oH�D$`�S���ATU��j��AUH��$�H�|$ ��H�� ���p���L�T$fA��fE�rH�Cx������:ǖ�E���fD��H���fDH�|$H��L�\$8H�T$(詎H�T$(L�\$8�����������f�A�ÍP���DH�D$A�fD�L$6�^���fD�C	����A�wH�<$H�T$`�$�������������H�|$H��H�T$��H�T$�����������@A��L��H)�C	LE������H�|$L�T$(L�\$�܍���C����t$@L�\$L�T$(�^����L�T$L��I��E��A�BH�CxL��H�I�BhAT�t$H�|$L�\$ �w^_��L�\$L�T$�����D$@fA��H�CxfE�Zf��fA�B�`���H�|$L�T$�=���������t$@L�T$�^���H�D$H�@H�D$H�H���H�
��HH�5MH�=d�1���H�
��6H�5.H�=5����H�
��GH�5H�=0#�����H�
w��H�5�H�=�ϭ��ff.�@��AWI��AVI��AUATUD��SH��H��hH�|$H��$�L�L$D��$�dH�<%(H�|$X1�H��t�D���H��耈I��H���n�	��H���%H��tH�x�����H���H�D$A�F��<E�A��A���sA��H�T$HH�L$P��H�߈D$0D�$�s�I�UD�$�D$0H���,M�UA�J�΃�@8���A�Ft	���%A���M�^0�$M����A���1A����A����fA�:��A�z���H���M�jI��H�|$L��HE�H��H�D$HPATU�t$ H�|$(�XuH�� �����T$@����I���L��1�H�����A�
m��H�\$XdH3%(��H��h[]A\A]A^A_ÐfA�:�I���@A��	�f�A������A���M����$����f.��	���fDfA�:D�D$0u�A�z�u���A�BA�sL�T$(��H�|$�L$7H�L$Df�D$4��I�B��E�bL�\$ H�D$8���L�\$ L�T$(��D�D$0���T$4D��f��f��H�|$D������H�������|$7�L$D�sD��A9������H��A�BI��L��H�D$HPhU�t$ H�|$(�sH�� ��uL�L$@��tDH�t$8I���1ۀ|$7��H��n�fDH�L$A�H���O�����H���@A���7���A��
�'����t$D�|$7H����A�NH�FJ�4 ��HD�H9��'���L�$1���A���U��M��L��SjAPH�|$(I�Љ��j�H�� ���v���I�EL�$N�d fA�<$u'A�BA8D$uA�BA8D$uI�BI9D$�����A���l���H9���������A�VL�$M��L��UA���S��j��APH�|$(E1��ԂH�� L�$������H�D$L`�e���H�
O�/H�5�H�="�Ǩ���³��H�
+�UH�5�H�=�裨����AWAVAUATUH��SH���L�D$D��$dH�%(H��$�1��F��<t=��^�H��$�dH3%(��	H���[]A\A]A^A_�f�H�BH��D�I��H���M��H�t$tE1�H��$�H��$������H���d�����D�T$tA����L��$�E�B�A�EM�]D�D$tL��$�f��f=tgvWf=��f=v
f=��H��M��L��H��ATH���H��AW�t$ ��H�� �������}�Df-f����H���H�D$A��uI�I�FH�sXH����A����A�}���A�}���A�EA�U���=���D$P�D$�D$A��t���^�CHA�����|$��9D$P�9A�UA�M��щL$ �������|$ �	�D$8�"Mc�I9���I�E�D$XI�MH�D$HH�T$HH�|$L�L$|L�D$xL�\$0D�T$(�@�D�T$(L�\$0���D$T��A���bA����H�D$0H�D$`H�D$@H�D$(�D$ �����oH�|$�H��$�DŽ$��'������"���H��$���$��D$ ������t����H�D$@H�x����I��H����I�EL�l$@I�zL�T$8H�t$(I�L�����D��H�SX�L$X��L�T$8H�|$L��$���$���$�H��$�I��L��$�H�D$@����L�T$8A��L������E����H��!H���1�L��$�L�kXH�2�;��H�|$L��A���sA�Ņ��#�|$ �H�t$H���PH)�H�$�����A��H�t$@H�|$�1����|$P��t
H�|$(�}����D$TD	���A��uH�D$`I�H�D$0I�FH�L$H��t�D$�M��tA��D$x�C�Y=��V�t$|H��������E�G���@�Em��m��	H����D$�3���D$�$���H�t$HH��$��������E1��	���E�	����Em��	�����A�UA�M��щL$ =���|������I�EI�M�D$XH�D$H�D$8A�������H�|$L�L$|L�D$xL�\$0I�UD�T$(�ك�D$T�����D$XD�T$(L�\$0A�R�+T$8�|$P���׉T$TH�|$@��L�\$0�0���L�\$0�T$TH��H�D$(���{H��D$8H�sPQ1�RL�L$8�H�|$ M�D�r^_���cH�CPH�|$�p�oHc�H9t$@�5H�L$@H�D$(�D$T�D�H)�H9�v
�D$T1�H�D$0H)�H�L$`�����H��H�t$h�t���H�t$hH��H�D$0�uH�T$`H�|$0Ht$(�M��������|$ �
�����D$8�������|$ �J���������=DŽ$�v����v���H�|$H��$�诤���������H��$���$�H�D$@H�x躡��I��H���*I�EL�l$@I�zL�T$ H�t$(I�L��茱��D��H�SX�L$X��L�T$ H�|$L��$���$���$�H��$�I��L��$�H�D$@�!���L�T$ A��L�����E�����T$8H�t$HH��$�����A������D$ ������H��Hc�H�>��DŽ$������|$T��}�g���I�I�NH�D$@H�L$(H�L$0H�D$`�����D$8H�|$I�DH�D$(H�CP�p�GmHc�H9t$@������L����CuH�s0H�|$H�S�A�ƅ���H�D$@H�x�C���I��H����I�E�oCI�~L��$�L�|$@H�t$(I�L��AF����D��L��L�|$��L��$�L����$�����H�SX�L$XM�鋴$�L��L��$�衬��L��A���F���E���g����|$P�A����D��D�m�
�%����|$P��t
H�|$(����A��u
H�|$0����E��
����r����������A���0�E
m��
m�����A���+�E1������D$|H�sPH��$�L�\$0H�|$ȉ�$�迣��L�\$0���EH��$�1��zt�DH��$�H�JH�H���1�H��u�D$8H��$�AP��t$0H��$�1�L�L$PM�D�ln�D$@AYAZH��$�H�|$���D$0�Q���H�|$H��$��W����|$P��������H�t$@H�|$�8���A���f���H�|$0聠���W����|$P�������H�|$(�d����r���H�vH���H�L$XL�D$8�Ʃ��L�D$8H�L$X���G���I�M�>���H�|$(�!������H�|$(�����U���H�|$(�D$����D$�ljE�
���H�|$H��$��z����|$P��t
H�|$(�Ɵ��A��t]D��D�u�
���H�
M��H�5�
H�=��-���H�|$0胟��I�FI����H�|$0�e�������H�|$0�V����迚��ff.�@��H�� dH�%(H�D$1�h��ZYH�T$dH3%(uH���袦��f���H�� H��M��E1�dH�%(H�L$1�hH��H�����ZYH�L$dH3%(uH����S���AWAVAUATI��UD��SL��H��H�|$D��$�L��H�T$ H�L$(D��dH�%(H��$�1�H���D��H�D$�vH���9�	��H��I���l���H��I���lI�VA��M�F�D$�L$H�T$`A�D$	u���_I��$�E1�H�T$`H�t$P�������������T$P����L�|$`��A�I���T$PL�|$`f��f=��vzf=��f=v
f=��AUA��H��L��t$0L�L$0H�t$ H�|$(�=�^_1ۅ��1���H��$�dH3%(�wH�Ĩ[]A\A]A^A_�Df-f���RD���H��M+~�D$xHDŽ$��tH�������H��H�D$0�PkL�T$0H��tH�x��I�t$XH���}I�GI9B�oI�BL��x��^�x��TD�XA�����D$0�L$0A��t���-�|$0A�T$H���|$��A9��	D�0��������A����H�D$H�|$H�PH�HD�\$HL�L$\L�D$XL�T$@H�T$8�yL�T$@D�\$H���D$T��A�1�A���>I�DH�t$pHD$I9B��A�����r�D$t�L�|$H�T$hD�L$@L��譛��L�T$p�D$T���|H�D$hI�L$XL��M�D$P�D$xARL�T$PAUUSD�L$`H�T$(��$��U^�D$tH�� ��L�T$H�0A���N�?A���A���L��H�|$�����D$TH�\$��	�f.�H�D$�	�m��m�H�t$�A'���L���@L�T$pH�T$h��H��L��H�D$8L�D$0�rL�D$0LD$hL+D$pM��H�D$8tMGH���Z���L@�Q������<A����DH�D$��	H�L$�Ë9�g���f�H�D$�
����H�L$�	�����H�D$�	�m��{���H�D$��:ǖ�	�fDD�0�����k���A���f���H�HH��H�D$8A����H�T$8H�|$L�L$\L�D$XL�T$@�.w�D$T���nA�1�L�T$@H�D$�}���A�������H�D$����A����D$tv����v�������A������H�
�D��Hc�H�>��L�T$pL��H�|$�s����D$TH�\$��
���H�T$8H�|$L�L$\L�D$XD�\$HL�T$@�kv�D$T����H�D$L�T$@D�\$HA����tMA�|$HL�T$@��A�T$UE1�1�SM�L$P1�j��jH�|$8���n�D$tH�� L�T$@���A���I�D$PH�|$L�T$@�p�?bA�L�T$@H��C���H�|$L���D$T舒���D$TH�\$������D$t��=���E������H���!I��$�1�L��$�M�|$XH�2�;�H�|$M��L��A�L�T$@�=cL�T$@���D$T�|���H�T$�H�t$8H)�H�$�蝟��L�T$@�D$T�|$T�,���A���qH�\$ H��t�D$0�H�D$(H��t��D$XA�D$�0��tH�D$�
m��t$\I��$�L�T$�D$T���L�T$H�|$L�։D$�H���H�D$�T$T��D$�9����D$\I�t$PH�T$hH�|$ȉ�$��Ә��H�t$pL�T$@���D$T�����H�t$h1��~�&H�VH�H���2�H�t$h�VH9�r�L�T$@I��A�1�H��$�PUH�|$(��k�D$dZYH�t$hH�|$�����D$TL�T$@���H�T$H�t$8L�T$@H��$��.���L�T$@�D$T����[���=���������A�D$	�����H�|$T��H��L�T$�;oL�T$���b������H�vH���L�T$HH�L$@���H�L$@L�T$H�������I�O���H�
��=H�5�H�=!�Ƒ��H�
o��H�5�H�=U觑���r���f���AWI��AVAUATI��USH��xdH�%(H�D$h1��F��$���<t6��^�H�\$hdH3%(�H��x[]A\A]A^A_��H��I��D�κ
L�lj$L��E����b�$H�����D$T�����E	t��
A�$�H����
D��H��H�D$�bI��H����H�@E�BH�T$`E1�H���H�t$P�����L�$H�D$`����‰D$T���SD�D$PL�$A����H�L$`�D$(Ic�A��H���L�T$ �L�IH�L$0L�L$`f�D$8L�L$D�D$PD�$����I��H���eL�T$ L�L$�D�$�T$(I�BI)�A��
I�CM�K��M�M9B��I��M�KE����A�U�H��1�A�H�RH�L$0H�t�1��D����H��H9������u�H���Ic�H��H�RI�<�H���oL�HA��L�J�H��L��E��I��QH��L��L�����ZY����D�	�5�����:ǖ��	L�߉D$�$�\����$�D$����Ic�H�RI�����A�$m��	�s���fDH�<$H����Ic�H�@H��M�I�DA�	I�AI�AH�D$��D$8f��f=����f=��f=v
f=���D$X�D$\�E��H����@�D$ �Qf����A�2�Af�D$(H�����t$ H�|$H�L$X�L�\$0D�D$LL�L$@L�T$8�ǒ��L�\$0���D$T���D$XICH�L$\��t$ H�|$薒��L�\$0���D$T�g�D$(D�D$LL�L$@L�T$8f����H���T$\H�t$H�H�VI�BH)�IBH�FI�sI�yI�BH�>H�H9��%���H)�H��H�$H)�H)�H�p���H�4$I�CIBH�FE9��H�|$TH��E�HH��hM��L��L��L�\$ ��^_��L�\$�H�4$�oH�V)$H�S�T$T�����
���f��m��	�v���f-f��w�H�EPH�U@D�D$@H�|$L�L$8�pL�\$0L�T$(H�T$ ��YH�T$ L�L$8L�T$(L�\$0H�H�D�D$@ICI�AI�RI�BH�D�1�I�AH�D$H�@H�@�����
����H���?�t$ H�|$H�L$\�L�\$(D�D$@L�L$8L�T$0螐��L�\$(���D$Tus1�L�T$0L�L$8D�D$@����H�E0�@�D$ �Q���I�BD�D$LL�L$@H�p�I�BL�\$8L�T$0H�x�"��L�T$0L�\$8��L�L$@D�D$L�3�D$T�T$T�
����H��L�\$D�D$ L�T$��iL�\$�‰D$T�
�����H�$L�T$I�sH�xH�PIr裛��L�\$D�D$ ���H�<$��D$L�\$�
g�T$TL�\$�D$���I�BD�D$@L�L$8H�p�I�BL�\$0L�T$(H�x�B��L�T$(L�\$0��L�L$8D�D$@� ���H�D$`f�@�l����A���H�
���H�5C�H�=J��"���H�
���H�5$�H�=F�����H�D$`f�@��H�
���UH�5��H�=&��ԉ��@��H�� dH�%(H�D$1�h����ZYH�T$dH3%(uH���蒔��f���H�� E��I��H��dH�%(H�D$1�h1�����ZYH�T$dH3%(uH����G������AUATUSH��dH�%(H�D$1�H�$H����I��I��H��!H��L��艎���Å�u%H�$H��tH�8u
H�@H�8t*�E�
H�L$dH3%(��u3H��[]A\A]ÐH�@L��H��A�$請���E��f���脓��@��H��8H�t$dH�%(H�D$(1�H��t>H�T$H�L$H�t$H�D$H��!�:���H�L$(dH3%(uH��8�D�������@��H��8dH�%(H�D$(1�M��tSI�H�D$H�t$L��H�T$H���!H�L$ H��H�D$H�$蹙��H�T$(dH3%(uH��8�@���蔒��@��AVAUATUSH��@dH�%(H�D$81�H�D$H����H�I��H�ˉ�L�d$H�D$ �H��M��H�5��H�D$�D$�!������t*H�L$8dH3%(��H��@[]A\A]A^�f�L�t$I�uL��H��L���i������u�H�D$H��tHH�8uBH�@H�8u8H�@1�L��H��H�H��Q���I�EH�|$L��輱��1��k���D�E�
�U������D����Y���f���H��HH�t$H�t$dH�%(H�D$81��T$H�D$H�ޏ!H�L$H�L$ H�D$ H�D$(����H�T$8dH3%(uH��H�������H��8dH�%(H�D$(1�H��H�4$H�L$H�D$H��!H�T$H�T�!H�D$H�0�#���H�L$(dH3%(uH��8��y���f���H��(H��!dH�%(H�D$1�H���!H�t$H��H�$H�0�‹��H�T$dH3%(uH��(��������SH��H��0dH�%(H�D$(1�H��t�j���H�D$H�L$H�|$H�<�!H�]�!H�\$H�0�P���H�T$(dH3%(uH��0[�襏��D��H��8H��!dH�%(H�D$(1�H��!H�L$H�|$H�D$H�D$H�0���1҅�t�T$�<:ǖ��D�H�t$(dH34%(��uH��8��&���fD��AWAVAUATUSH��HdH�%(H�D$81�H�D$H����L�l$H�D$ I��I��M���H�5`�H���H�D$�D$趨���é��t-H�L$8dH3%(����H��H[]A\A]A^A_��L�|$L��L��H��L������Å�u�H�D$H��tH�8t�
�DH�PL��H��H�I�$H�PH�RI�T$H�@H�H�D$H�PH�BH������P���D��A������f���H��8H�t$H�L$H�t$dH�%(H�D$(1�H�T$H��!H�D$蟔��H�L$(dH3%(uH��8�腍��D��AUATUSH��dH�%(H�D$1�H�$H����I��I��H���!H��L���ɇ���Å�u%H�$H��tH�8u
H�@H�8t*�E�
H�L$dH3%(��u3H��[]A\A]ÐH�@L��H��A�$����E��f����Č��@SH��H�OdH�%(H�D$1�H��t
�WH����uH�D$dH3%(u$H��[�f�1�H�����H�{�̈́��f����_���ff.�@SH��dH�%(H�D$1�H��tf�G H����t,��t8H�D$dH3%(u]H��H��[�j���f.�H�0�7����C ��u�H�{H�&����C@��t�H�{X�����@H�D$dH3%(uH��[�赋��DATf�UH��SH��H��dH�%(H�D$1���S���H�CH��t:�UH�uH��I���8���D�c�E�1�H�L$dH3%(uH��[]A\�@����4���@��AWAVAUATUSH��H��8dH�%(H�D$(1��H��FH�D$���D$<t2��^�H�t$(dH34%(���H��8[]A\A]A^A_�f�I��I��L�D$H��H�57��葥���ũ��u��|$A��^t���u�D�;뙿hA��0���I��H��t�H�xH�@H��H�@`)��Hh1����H�A�A�D$��A�FA�D$hA�FI�D$xI�FI��$�I�FA��$�A�F �������I�|$0H����H����O����I�vH����A�Dž���A�D$tDI��$�H����H����W����I�vX����A�Dž���A�F@�H�D$H�t$L��H��L�t$E1�H�D$H�D$腨�������fDA�D$8I�|$XA�F(A�D$HA�F,H��t4H�t-�w��t&I�v0�E���A�Dž�t�fDL������`���A���L��A��"����B���踈�����SH��H��dH�%(H�D$1��H�yH��t�?t(��
H�T$dH3%(uH��[�������1����D���@PXH�
���xH�52�H�=H�H��dH�%(H�D$1��}��ff.�PXH�
7���H�5��H�=�H��dH�%(H�D$1���|��ff.���USH��dH�%(H�D$1�H�H��tPH��H�0H�����H�H�x����H�H�x����H�H��H�p@���H�H�x�݀��H�;���H�1�H�T$dH3%(uH��[]��0�����AWAVAUATUSH��(H�L$H�l$`D�L$dH�%(H�D$1�H�EH���.I��H��H�I��M���ӈ��H�D$H����H�x�,���A�Dž���H�T$�D$tEH�H�D$H�\$L�sH�CL�k@H�]H�L$dH3%(D����H��([]A\A]A^A_�f�H��L���5�����uyH�\$M��tH�S@L��L���(�����u\H�\$M��tL��蒅��H�CH��tH�|$t�H�|$�w���H�CH���n���A�@H�t$L���#����V���fDA����A��=������H�
��(H�5��H�=���z�����AVI��AUI��ATUH�nSH��H��H��dH�%(H�D$1��;z����uWH��H�KH�SE1�AVL�C@L��H�3����H��A��XZ�z���Å�u\H�t$dH34%(D��uwH��[]A\A]A^�@��A���ƀ��D��H�/�I��H���!H�81��Sy�����fD��葀���پH�#�I��H�q�!H�81��y�����襄��D��H��dH�%(H�D$1�H�D$dH3%(uH�H�6H���)|���d���@��AUATUSH��(dH�%(H�D$1�H�H����L�FH��H��M����L�fM����H�E1�L�
���x t_H��H�
��1�H��jH��1��C���ZY��H�H��t�@$L���(|����H�L$dH3%(��H��([]A\A]��H�@�L�D$D�hL�`I�u聅��L�D$I���M��t�M��uJM���c���f�1��@L�
%��M���@H�D$dH3%(u;H�6H��([]A\A]����fDL��L��L��L�D$�݈��L�D$I��I�����������AWAVI��AUATI��UL��SH��XdH�%(H�D$H1��H�D$8M��tI�H�|$0�u�����(M�nL���\w���Å���I�v@H�|$0H���H�T$8��u���Å�tpL���x���Ņ���H�t$8H�|$0���H�|$0�u��1���t�
x���N�A�$H�\$HdH3%(�rH��X[]A\A]A^A_�fDL�|$8L�t$0H�D$@M���H����H�D$,H�t$@H��H�t$H�D$���������I��u��H��H�GH��H��I�|�u�H�D$@�H�8H�T$@H�T$�^���H�T$H�BH����H�2��xWHc�H��H��L��DH�D$@H�@H��H��H��H��HȋJH�H�JH�H�B���BH�B��y�L��L���2~��H�D$@H�E�@���|���پH���I��H�i�!H�81��u���b���f����Y|����H���I��H�9�!H�81���t���r���f�A�$�
�I���f�I�v@�7{�������I�v@H�|$0H�T$8�s���������;���L��L���m}��H�D$8L����u����������]���D�\$,�������H�
���H�5��H�=����t��D1�L���}��H�������1��2���H�t$H�|$��w��������ff.���AWAVM��AUATI��UH��SH��H��xH��$�H�L$L�D$L��$�H�D$dH�%(H�D$h1�����H�|$(H�D$@H�D$HH�D$PH�D$X�r������L�mL���s�����^H�u@H�|$(H����I�D$H�L$ H�T$0�D$ �D$$H�D$8I�$�D$4�t$H�D$XPL�L$PL�D$4�r����XZ����M��t#�D$DI�H�D$HH�D$HI�F���H�D$@H�T$H��t�D$ �H�t$H��t�D$$�H�|$XM���=�v��H�|$H�~v��L����s��A�ą���H�|$(1��q��1��+H�\$hdH3%(�TH��x[]A\A]A^A_��H�|$X�&v��H�|$H�v��L���ts��A�ą�umH�|$(�cq���E����%
���ljD$�=y���L$�H���I��H��!H�81���q������@��
�I���@D���x��D��I��H��!H����H�81��q������H�u@��w����u;H�u@H�|$(�!���D�D$TI�1�H�D$XI����H�D$P����L���~r����uH�|$(�np���������]x����I���a����|��ff.���AWA��AVAUM��ATI��UH��SH��H��XdH�%(H�D$H1��H�|$�Oo�����'L�uL���p������H�u@H�|$H���I�D$H�L$ L�D$0D��H�D$(I�$�D$$I�EH�D$8I�E�D$4�L���L�����q��A��H�|$�}o��1���t�
x���N‰+H�\$HdH3%(��H��X[]A\A]A^A_ÉljD$�5w���L$�H���I��H��!H�81��o����@���w��D��I��H��!H����H�81��o����f���
�a���@H�u@��u����uH�u@H�|$����D�L���p���Å�uH�|$�n����������uv����I���p����z��fD��AVAUATI��UH��SH��H��0dH�%(H�D$(1��H�|$�wm������L�mL���#o��A�ƅ���H�u@H�|$H����I�D$H�T$H�D$I�$�D$�
v��L�����o��A�ą�uyH�|$�m��1���t�
x���N‰+H�L$(dH3%(��H��0[]A\A]A^�@���yu��D��H��I��H�X�!H�81��n���Q����Iu��D��I��H�4�!H���H�81���m���a���
�o���@H�u@�'t����uH�u@H�|$���D�L����n����uH�|$��l����'�������t����I���x����x��fD��AWAVM��AUA��ATI��UH��SH��H��(dH�%(H�D$1��H�|$�k������L�{L���km������H�{@��I�L$I�$�<��H�s@H�|$M��D���l��L�����n��A���H�|$�l��1���t�
x���N‰]H�T$dH3%(��H��([]A\A]A^A_�@�ljD$�s���L$�H��I��H��!H�81��Al����@�E�
�fDH�|$H�s@�r���������E�L���Pm���Å�uJH�|$�@k����O���fD���)s��D��I��H�!H����H�81��k���A�����r����I�����-w��ff.�f���AWAVAUI��ATI��UH��SH��H��dH�%(H�D$1��H����i������L�sL���k��A�Dž�uiH�{@��I�T$I�$�<��H�s@I�MH�<$�z���Å���I�EL���@l��A�ą���H�<$�,j��1��D���r��D���H���I��H��}!H�81��j�������E�
H�L$dH3%(��H��[]A\A]A^A_�DL���k��A�ą�uiH�<$�i���C����%
�]멐H�<$H�s@�p����������E�L���hk���Å�uRH�<$�Yi����g����D���@q��D��I��H�+}!H�̼�H�81���i���X�����	q����I�����=u��ff.�f���AWAVAUI��ATI��UH��SH��8dH�%(H�D$(1��H�|$H�D$H�D$ ��g�����kM�t$L���i���Å���I�4$H�|$H�T$ �r���Å��_H�\$ H���m��H�|$I�t$@I��H�<$H��t'H�L$�/��l���Å��#H�D$H�\$ H�$H��y!L�d$L�A���
I�|I�}M��tA�D$H�I�}L�L$��i��I�EH����L�L$�f�A�	�@�QH�Hf��H��f�PA��PA�I�q�y��L�L$L��H��H��A�H�D��ȉH��H���y��H��L�M����A�D$H�yȉA�T$I�t$�]y��H�<$H���Qk��H�t$H�|$��w��L���*i��A�ą���H�|$1��g��1��O�H�t$ H�|$�	k��H�t$H�|$�zw��L����h��A�ą�u{H�|$��f���S�������]H�L$(dH3%(��H��8[]A\A]A^A_�f.����n���پH��I��H�iz!H�81��g���b�f�D���Xn��D��H��I��H�7z!H�81���f���p��E�
�f���H�<$H���$j��H�t$H�|$�v��L���g��A�ą�u�H�|$���e���
����D�����r�����AWAVAUI��ATUH��SH��hdH�%(H�D$X1�I�I�A�F�D$4��H�D$8���D$DH�D$H���I��L��M�΅�tp��ts�L�d$0L�l$@H�|$$L���'q��I���L���i��I���L���i���]�
H�\$XdH3%(�9H��h[]A\A]A^A_�fD���I�G0H�$H�<$�z���1�H��t�H�޿��r��I�FH���lI�H�4$I����l��I���H�T$(���l���D$���rM�e��A�t$���t$DHD��r��H��H�D$HH�D$�H�t$(���t$4��H��HD��Tr��H�L$H����I�uH�yL��H�L$H�D$8L�d$0L�l$@��u��I�FH��H�L$H�D$��1�L�d$0L�l$@�DD�T$4H�t$8H�|$H9�HO��u���D$4�D$HD$H)ËD$H����H�L$HȉH�4$L��L��I����1r����t����"���fD��^��?���H���H�$�h�����^L�d$0L�l$@���@�L�d$0L�l$@H�D$8������L�d$0L�l$@����I���L���Qg��I���L���Bg���E1������n��f.�D��SH��dH�%(H�D$1��F��<u\H�󋶨��u?H��1�E1�E1�hH�����ZY���u�K1�H�L$dH3%(u$H��[Ð��	����^����Nn��f.�@��AWAVI��AUI��ATUSH��(dH�%(H�D$1�H�|$�a��A�ą���I�H����H��1��mg��H�sXH��tH�|$�C@�-�n����H�s`H�|$H��t
�i��H�|$H�sHE1�H��t
�i��H�|$A��H�sPH��t
�?t��H�|$A��H�{0tH�s0��H�|$H�s8�l��H�{xH��t�e��H���H��t#H��H�L$��e��H�L$H����H���e��H���e��I�A�mE��uDE��uK��uNH�|$�`��A�E�
��E�H�T$dH3%(��H��([]A\A]A^A_�D��E�}E��tE�eD��H�t$��������q��H�s`H�|$��H����������f.�A�E�
�DA�EH�|$�`��1��d����H��H��1��c_��H�������6l��fD��H��dH�%(H�D$1�H�yq!�H�H;tCH�ds!H;t7H�Xr!H;t+H��q!H;tH�Xr!H;tH�
q!�H;uf�H�1�H�L$dH3%(uH����k��ff.�f���UH��SH��H��dH�%(H�D$1��;�����u'H�E1��H�T$dH3%(u(H��[]�H�D$dH3%(uH��H��H��[]�/{���k��f.���UH��SH��H��dH�%(H�D$1�H���]����uDH�<$H����H�<$�^��H�1��EH�T$dH3%(uH��[]���E�
���j���PXH�
����H�5��H�=��H��dH�%(H�D$1��[_��ff.���AWAVAUATUH��SH��XdH�%(H�D$H1�I��~(L��$�v6�Em��
H�L$HdH3%(��H��X[]A\A]A^A_��H�~XH��t�H�F0H��t�H�~8u�H�8�ZH����H�z�e���M��L�L$H�T$�k��L�T$L�\$H��I����H��L�\$M�}0L�T$��g����t<�EL����b��I�uXL���5j��L��L���z�L���a���
�����L�T$H��1�1�E1�E1�L��A�E(A�B8I�rAWA�El��ZY��u�1�I�MXH�5M�L���t_�����p���L�T$I�uXL��A�M@I�R�"_�����N���L�T$I�uXL�\$A�BG@��H��H�sXL���Bl��������H�C0H�T$(L��H�0�vf��������H�T$(H��I�uXL�D$0H���H�T$8L��1��D$0��H��H�
��H��H���D$4�l��H�t$(L��D$��_���D$�������H�C0I�U8L��H�0��f���������I�uXL�\$L�T$L��L��L�\$�Z�����a���L�\$M��t%H�t$0L���fl�����B���L�\$A�El+D$0A��E1�M�.�s���D�E�
�]����bg��H�
;���H�5��H�=���C\��H�
���H�5��H�=���$\��H�
����H�5~�H�=���\��D��AWAVAUATUSH����L$H��$L��$dH�%(H��$�1�H����I��H����H���VH��A�����~(�I��H�M��tA�$H�|$0�~Y������H�t$01�L��H���d��A�ǩ���5H�D$0L�|$@�H�D$8H�D$(L��H�D$1��H�I�EH�D$HI�F0H�H�D$PI�FxH��t��D$\I�EH��H�D$�Z������I�u@H��tH�|$I�Op���l��A�Ņ��H�|$�j[��A�Ņ���I�VXH�|$E1�L��L�L$8���X������H��M��L��H��L�l$AU�L$H�T$HL�D$8����L��A��XZH��$��a��H�t$8L���`_��A����uH�D$(H�L����Z���Å�uaH�|$0��X���D�m�A�
H��$�dH3%(D���DH���[]A\A]A^A_��A�������i`����I��H�Ul!H����H�81��X����f��A��{�����EA�
�f���f.�A��Q���D�ljD$�_���L$�H�]�I��H��k!H�81��X��H�
��xH�5�H�=���X��f����_��D��I���:���fDH��$�H�|$�D$�_���D$�EA�
���H�|$�fY�������D�m���c���PXH�
���xH�5��H�=��H��dH�%(H�D$1��[X��ff.�PXH�
����H�5B�H�=X�H��dH�%(H�D$1��X��ff.���AVAUATUSH��dH�%(H�D$1��H�9��L�iH�.I�EH���\A�]I�����v�8���vE1�� fDA�^A9]v.I�U�؋<���t!A���c����uݸ�:ǖA�$�
�jDA�~H���3X��I��H��t{I�uH��H���h��A��H���W���Å���H�}xH��t�Z��L�uxH����W����1���u;H�L$dH3%(��H��[]A\A]A^�f.���V���fD���]���پH��I��H�ii!H�81��V���R���f����Y]���پH�èI��H�9i!H�81���U�����f�H���8V���Å�u�H�}xH��t�Y��H�Ex�,���������1�����H�
���PH�5<�H�=Ѿ�V���
a��f.�UI��H��H��S���H��H��(dH�%(H�D$1�H�D$H���\T����u%H�t$H��H����W��H�t$H�߉D$�'T���D$H�L$dH3%(uH��([]��`�����AWAVAUATUSH��(dH�%(H�D$1�H���UH�F I��H��I��H�D$tH����L�l$H����L���qg��A�ƅ���H�C(H����H�S0H��tH�L$���L���>g��A�ƅ���H�SPH��tH�L$���L���g��A�ƅ��]H�SXH��tH�L$���L����f��A�ƅ��7H���H�T$A�H���!�H���H�DH�D$H��tH�D$H�t$衋��H�D$HD$L�l$H����$��L��L���{f��A�ƅ���H���L��)��L���Yf��A�ƅ���H���H��tL����L���2f����uBH���1�H��u�H���H�(H����L��
��L��H����e����t�H�T$A���7f�H�F(L�l$H���u���H�L����L���e��A�ƅ��W���H�T$IH�t$dH34%(D��uMH��([]A\A]A^A_�fDH�C(�CHEC H��t�H�P@H��t�L��<��L���Ue��A���A����]����AWI��AVI��AUI��ATUSH��H��8dH�%(H��$(1�H�|$0�MZ����uQH�D$I�H�D$ I�H�D$(�H��t.H�T$H��L������¸��uH�L$(H9L$v7�H��$(dH3%(��H��8[]A\A]A^A_��L�d$(H�l$ ��^L��H����Z���{L��H�����Z���{L��H��@�����Z���{L��H��@�����Z���{L��H��@�����Z���{L��H���Z��L��H�{H���9W���{8L��H���kZ���{@L��H���]Z���{HL��H���OZ���{`L��H���AZ���{dL��H���3Z���{hL��H���%Z���{lL��H���Z���{pL��H���	Z��H�{xL��H��T$@H���L��H��T$@H���H��tmL��H��7��H�L$��Y���������H�L$L��H��9�Y�����o���H�L$H��1H�yL���QV�����Q���L��H��7���yY�����9���H�C H��tH�M��H����L���2P��������H�C(H��tH�M��H����L���P�������H�S0H��tM��H����L����O��������H�SPH��tM��H����L����O���������H�SXH��tM��H����L���O��������H���H��tPL��H��8��H�L$�X��H�L$���Q���L��H��H���+������;���L��H��8���cX�����#���H���M��H��L��$���!O��������H���M��H��L��)���N�����������L��H���X�����������L��H����W���������H���H��tM��H����L���N������������L��H���W�����m������L��H���W�����T���H���H��tH�9t�D��H��H�|�u�L��H����UW��������H���E1�H��u
�D@H���J�H��t0M��H��
��L��L�L$��M��L�L$I����t�����fDH�C(�CHEC H��t$H�P@H��tM��H��<��L���M���������L��H���^�V�����r���H�T$ I�H�T$(I��]����X����AWI��AVI��AUATUSH��xH�|$H�|$pH�t$��dH�%(H��$h1��	U���…�t3H��$hdH3%(����H��x[]A\A]A^A_��I�L�d$PH�l$HH�D$XL�l$@L��H��H�D$HI�L��H�D$P��U�����u��|$@�^u�H�|$Pcw��r���D���M��H��H��t�H�xH�@L��H��Hǀ�H��)����1����H�L��D$@�H�D$H����CU���CH��L���T$@���	�L��C�!U���D$@H��L�����C��	�L��C�T���D$@H��L������C��	�L��C��T���D$@H��L������C��	�L��C�T���D$@L��H�{H���C�oJ��L��H��L���T���D$@L��H��L��C8�lT��HcD$@L��H��L��H�C@�UT���D$@L��H��L��CH�@T���D$@L��H��L��C`�+T���D$@L��H��L��Cd�T���D$@L��H��L��Ch�T���D$@L��H��L��Cl��S���D$@H�{xL��H��Cp��$�L��H��H�����$��…��H�D$HH�L$`H�|$DH��H�L$H�D$`H�D$PH�|$(H�D$hH�D$hH��H�D$ �yS�������|$D7������YK��H��H�D$0��H�T$ H�t$H�|$(�7S��L�D$0����Hc|$DL�D$8A�8�|$0�K��L�D$8�t$0H��I�@�yH�L$ H�T$H��L�D$0��H��L�D$0���GH�T$ H�t$L�D$0H�|$(�R��L�D$0���!�|$D7���FH�D$`L���H�D$HH�D$hH�D$PH�D$XH�|$M��H��H�¾��H�D$0�)H���…��������D$@������������H�sXH��tH�|$�T$��H���T$H�sPH��tH�|$�T$�H���T$H�s0H��tH�|$�T$�H���T$H�{(tH�|$H�s(�T$�@���T$H�{ tH�|$H�s �T$�#���T$H�߉T$�3L���T$�g���f.�H��H�C 1�A�PH�t$hE1�1�H�|$�k��^_�…���H�T$0H�|$M��H�����G���…��[������H�|$H��H�s0L���N�…�t	�������H�|$H��H�sPL���+�…�t	�������H�|$H��H�sXL����…�t	���s���H�D$HH�T$ H�t$H�|$(H�D$`H�D$PH�D$h�P����um�|$D8��ucH�T$ H�t$H�������…���H�T$ H�t$H�|$(�_P������|$D8���	H�D$`H�D$HH�D$hH�D$PDH�|$M��H��$��H�����E���…������H�|$M��H��)��H����E���…������L��H��L����O���‹D$@������v���L��H��L���O���‹D$@������Z���H�|$H��H���L����…�t��t�D$@�/���DL��H��L���bO���‹D$@���������L��H��L���@O���‹D$@�������L��H��L���O���…������D$@�D$����H�C(�CHEC H��tJH�|$H�P@M��H��<���D���ƒ�t�������L��H��L���N���…��x����|$@�^t
��d���H�D$HI�H�D$PI�H�D$H��N����Hc|$�H���R��H���H����E1�L�t$ D�t$L�l$(M��L�|$L�|$�@H���J��H��M��
��L����C��A�UA9�������I����uˉ�L�t$ L�|$L�l$(��������DH��H�C(1�1�PH�t$hA�E1�H�|$�����XY���}���H�t$XH�|$�T$�N���T$�=���I�x�H��L�D$0L���
H������������:�����&���I�xL�D$0��G��L�D$0L����G�����H����t{������ZO��f.���AVAUATI��USH��H�� dH�%(H�D$1��D$�m����D$���H�;�bL�k��	D��I�]H��H����H�D$�t$����1�H����U����t�T$����H��1��G���D$����I�UH����H�*H��tH����F���D$�
��A�$E�H�L$dH3%(��H�� []A\A]A^��H�\$H�t$H�������L$���V���L�t$I�uH��H��L�������<���fDH���u���A�$�
�@�|$������I��1�H�\$���D$�����H���-���A�$�:����M��H�
>��5H�5%�H�=E��B��fD��AWAVAUATUSD��H��xH�L$L��$�D�D$L��$�H��$�dH�%(H�D$h1�H���I��������woH�L$,L�D$(1�I���[\��A�ǩ��u]�T$,�����|$(wvH�D$8H�D$@A�E��upM��ukA�Em�1��|@��A�
�@�m�A�
H�\$hdH3%(D���H��x[]A\A]A^A_�fDA�Em�A�
���H�|$8�f?�����nH�T$8L��L���#A�ljD$A�����*I�~X�`�D$L�T$P���^H�D$HH�D$1�H�D$PH�D$X��uI�v0L�T$PL�\$0H��1�H�D$<L��L��M��PA�jL�|$`AWL�T$8L�\$0����L���D$,H�� L�\$L���S���D$L�T$f1�D$4���D$L���-A�����KD�|$H�t$@H�|$8fE1�H��t
�vP��H�|$8�>��E��uKH��������E�~���f�A��q���DA��a���DH�t$@H�|$8H��u��>��D�|$�>���f�H�t$@H�|$8A�EH������A�
�D$
�k���fDL��H�5~�L���^���D$�������H�t$PH��t5H�|$8H�T$@��A������I�F0H�t$@H�|$8H���@������H�T$@H����I�vXH�|$8��M����u`A�E�D$�������E���پH�c�I��H��Q!H�81��_>��H�
����H�5�H�=����>��A�E�D$
�J���A�E�^�D$
�5�����uA�Em��D$
����H�|$8H�t$@��F����u�H�T$@�2����oI��ff.�@��H�� dH�%(H�D$1��t$0�t$0j���H�� H�T$dH3%(uH����I��f.��AWM��AVAUI��ATUH��SH��X��$�H��$�H�|$�t$��$�D�D$D��$��D$H�L$ dH�4%(H�t$H1���t�A�uH�|$H�L$D��B����t&H�t$HdH34%(�H��X[]A\A]A^A_�D���L���{H�D$(H�������L���I��H	����T$DH��M���2I9T$�>�CH�H�D$0H�@H��H��H�D$8��=��H��H���L���TI�ƍC�H�@I�\�DA�?I��I���@A�F�I�G�A�F�I�G�I�F�I9�u�H�D$8H�T�H��H�\$(�H��BH�KH�J�M����I�T$�PI�T$H�P�t$��tDH��L��I��t$(L�L$@�L$(�t$$H�|$�_K��ZYH��D$�?���D$����L�L$0�L$I��L��t$H�|$�<���ĐH9�uH�|$(��H9G������:ǖ�A����H��H�[H�\$(�T$(���PH�VH��H�P�E���������fDH�¸���H�
|���H�5@�H�=F��d;���_F��H�
X���H�5�H�=���@;����AWAVI���AUATUH��SH��H��HdH�%(H�D$81�H�T$�>��A�ą���H�|$�C�{M����M�NM�n I�V0O�d)L�L$I�H�$L���;��I��H����L�L$I�OA�I�vH��L��E�OA��`K��L�L$I�v(L��J�<A�FD�oH�O�H���:K��H�$I�v8J�<(�H���#K��I��L�D$ 1�1ҾH��D�d$$L�|$(�:��A�ą�tQL���=��H�L$8dH3%(D����H��H[]A\A]A^A_������F��H�CH��u�A��D�sL���:��I��H��t4H�sL��H���J��H��H���7��L�kL���<���x���f�H��H��A��7���Q����uD��D��AWAVAUATUSH��HH�|$H��$��t$ D��$�H�T$D��$�H��H�L$D��L��$�L�D$(D��D�L$$dH�%(H�D$81��#H����A�|$�I��Hc���E��H��H����1�A���ZA�H�t$(�E�}�9��H�t$(H��H�E�W�EH���H+T$A��E$IUH)�IU�D$H�U(A��u'�E0A��u<I�E�D$H)�IEH�E@E��~THcL$I��H�IH�\�A�D$�H�H�@L�t�f�A�}H��I���	�C�I�E�C�I�E�H�C�L9�u�Dd$Mc̋L$$H�T$I��t$ H�|$�f8���Å�u@�EA�GH�EI�GH���	;��H�L$8dH3%(��u|H��H[]A\A]A^A_��H�}��:����DH�D$(H�|$�p��Hc����fD��H���:���H�
C���H�5��H�=v��7���B��fD��H��dH�%(H�D$1�jj�D$8P�D$8P����H�� H�T$dH3%(uH�����A�����H��dH�%(H�D$1��t$0j�D$8P�D$8P���H�� H�T$dH3%(uH����uA��DATI��UH��SH��H��H�vPdH�%(H�D$1���5��H�SPL��H��H�CP�?8����tH�L$dH3%(uFH��[]A\�f�H�sXH���5��H�CXH�D$dH3%(uH��H�SXL��H��[]A\��7����@��AVAUI��ATI��USH���6dH�%(H�D$1�H���D3���Å�t&H�L$dH3%(����H��[]A\A]A^����iB��H��H��tQL�4$��E��D��HD��DB��H��t?L��L��H���E��H�ED�u��E��I�m�{���f���h���fDH���S8���P�����?��f���ATUSH�� dH�%(H�D$1�H����H��H����H�~PI��H��dž����uH��L���2����ul�}���UH�
�Hc�H�>��fDH��H��L��������u6H�SP�BH�SX�B�C8H�C@�CHf.�H�|$dH3<%(�ZH�� []A\��F8�����FH�����O���DH��H��L���Z�����u��C8H�C@�CH�fDH�sXL���3��H�SXH��L���5�����u���H�sPL���2��H�T$H��L��H�CP�!9�����I���H�t$�F��t1���HF���0�H�t$;Vr�H�SPL���65��H�t$L��D$�1���D$�������H�SP�BH�SX�B�C8H�C@�CH�����ǃ����H�
R��hH�5֧H�=u��2���=��H�
.��iH�5��H�=���~2��ff.���H���V�dH�%(H�D$1����vH����/����u�$H�L$dH3%(uH��ø�������=��ff.���UH��SH��H��(dH�%(H�D$1��{�����x/H��H�߉D$H�l$�37��H�L$dH3%(uH��([]�@��:ǖ���<��ff.����AWM��AVA��H��AUI��ATUSH��H��hdH�%(H�D$X1�D��$�H�D$H��t#H�L$H�vL�D$�v����Ņ�uHH�T$L�D$L�D$(H��L��H��L�L$0L�D$ D��D�d$$D�d$DL�|$H�g.��H�t$H�߉��H@��H�|$XdH3<%(��uH��h[]A\A]A^A_���;��f���AWE��AVM��AUA��H��ATI��USH��H��8dH�%(H�D$(1�H�D$H��tH�L$H�v����Ņ�uJH�T$H��L��H��A�L�D$D���D$�D$��D�|$L�t$ �OA��H�t$H�߉��?��H�|$(dH3<%(��uH��8[]A\A]A^A_��
;��f.���AWM��AVA��H��AUI��ATUSH��H��hdH�%(H�D$X1�D��$�H�D$H��t#H�L$H�vL�D$�����Ņ�uPH�T$L�D$L�D$HH��L��H��L�L$ L�D$0D���D$4�D�d$DD�d$$L�|$(��/��H�t$H�߉��>��H�|$XdH3<%(��uH��h[]A\A]A^A_��*:��f.���ATA��L��UH��SL��H��0dH�%(H�D$(1�L�T$PH�T$L�ʉL$L���$���?��D��H�L$H��A�H��\$�D$�D$��H�D$ �:��H�t$(dH34%(u	H��0[]A\��9�����H����dH�%(H�D$1���	t0���t
1������H�T$dH3%(uH��������$9��@��H��dH�%(H�D$1�H��ts��~oHc�H�@H��H�L�H�|ЍF�H�@H��H)�1���H��H9�t�19�u�H��u+H��H��H9�u�H�T$dH3%(uH���f.�1����8���AWI��AVE��AUI��L��ATUSL��H��HH��$�H��$��t$(H�T$D��$��H�D$H�L$ dH�4%(H�t$81�H�D��H��D$0�D$4����H�D$H�����D��H�����H�$H��t	M���H�L$0�D��L���1���Ņ�t*H�|$8dH3<%(���ZH��H[]A\A]A^A_�DH�L$4�D��L���c1���Ņ�u��T$4D�t$0H�t$H�<$I��A�FH�T�xH�$H9Q��H�t$H9F��A�D$H�H�<@H����,��I��H���{H�t$�D�pH�FH�D$(L)�HFI�GE���_A�D$�L��A��l$(H�@E��I��H�D�H���-f�H�CI�U0H��A��A�FH�C�I�FI�H9�t8IcNj;L�,@���I��A�O�4,I�UA�I�4��u�H��H��L��H9�u�L��E���l$(D�l$4A�L$I��H�|�Hcɋ\$H�<$��S�Vt>H�$H�SH�VH�t$�D�hH�WH�T2H�PH�D$L�8H�D$ H��/����H�\$H�SH��뻐I�7�t$(��LE�I9�uRL��{���H�
.���H�5ʟH�=ߟ�*��fD�����fDI�wI�G0�H���6�����:ǖ���H�
ڠ��H�5v�H�=���B*���=5��ff.�f�AWAVAUATU��SH��H��(L�$L�L$dH�%(H�T$1�I�I�������H��Lc����H���YI��L9p�E���H��M�����H��tH�x�N�EH�H�<@H���e*��I��H�����H�@H�I�D$E�|$$I�EL)�IEI�D$(�����E�A�H�@L�t�DIcŋ;H�,@���H��A�}M�<,Hc�A���tH�CA�UA��Hc�A�GH�CI�GM�|,H��L9�u�H�$A�A�GL� H�D$I�GH�1�H�t$dH34%(uVH��([]A\A]A^A_�D���f�M�|$0�똸�:ǖ�H�
֞�QH�5��H�=���^(���Y3��H�
���WH�5n�H�=��:(��f.���AWM��AVAUATA��UL��SH��H��8�D$p�T$H�$H�T$x�D$L��$�D��$�dH�%(H�D$(1�H�D$H��tH�L$I�q����u9�uE��uUL�L$L�D$ D��L��H���m���H�t$��tmH�߉D$��6���D$H�\$(dH3%(��H��8[]A\A]A^A_ÐH��A��M��L��H�D$ H��PH�D$0PAVH�T$ �t$(���H�� H�t$��u�L�L$L�D$ H��H�ߋT$H���8��H�|$ �D$�]*��H�t$�D$�[�����1��f.���U��L��SH��H��H�vdH�%(H�D$81�H�L$(�L$`L�L$D�D$$L�D$�D$ ��H�D$H�D$�T�����u+L�D$H�L$��H��H�T$ �G2��H�|$�D$�)���D$H�\$8dH3%(uH��H[]��91��f���AWM��AVAUATA��UL��SH��H��8�D$p�T$H�$H�T$x�D$L��$�D��$�dH�%(H�D$(1�H�D$H��tH�L$I�q�����u9�uE��uUL�L$L�D$ D��L��H���m���H�t$��tmH�߉D$��4���D$H�\$(dH3%(��H��8[]A\A]A^A_ÐH��A��M��L��H�D$ H��PH�D$0PAVH�T$ �t$(���H�� H�t$��u�L�L$L�D$ H��H�ߋT$H���6��H�|$ �D$�](��H�t$�D$�[�����/��f.���H��dH�%(H�D$1���t H�D$dH3%(u.�H�����f�H�D$dH3%(u�H���b����}/��ff.�f���H��dH�%(H�D$1�H����H�H���~m��H�GE1�H�4vL�D� 1��fD��tCH��L9�t�p���u�H�0I�H��H�L9�u�H�:L�	H�D$dH3%(uH���@H�0��E1�1�����.��H�
���H�5٘H�=
��#��D��USH��dH�%(H�D$1�H��ti��~N�F�H��H�@H�l��
@H��H9�t0�t�H�{�&��H�CH�C�#����H��H9�u�H�D$dH3%(u&H��[]�H�
I���H�5-�H�=^��"����-��@��AUI��ATU�պSH���H��H��dH�%(H�D$1���	��H��I����M����H��H����H�@H��t{H�SI�t$�T�H�0H��tTH9�rOH��H)�H9�ruH)ѾH��I�L$���H�C1�H�CH�L$dH3%(u9H��[]A\A]�f�A�E�:ǖ�	�ԐA�E�
�ĐA�E1����,��H�
���H�5�H�=����!����H��dH�%(H�D$1�H��tO��~)f�?tA�F�H�@H���@�GH����t#H9�u�H�L$dH3%(u,H���@1���H�
]���H�5y�H�=���E!���@,����USH��dH�%(H�D$1�H��t|�/H����tPH�wH����!��H�CH��t'��1��+H�T$dH3%(uH��[]�fDH�C�����+��H�
���H�5ٕH�=��� ��H�
���H�5��H�=�� ��fD��ATI��UH��SH��H��0dH�%(H�D$(1�H�T$ H�D$�&����upH�t$ �~��t1�I�L$���AT$�<H�N�ƒ�@�<H�t$ 9Fw�H�T$H���
"����t>H�t$ H�߉D$�e��H�t$H���X���D$H�\$(dH3%(u4H��0[]A\�H��1ɺI��jH�t$(L�ܖH�����ZY��*��f.����H��I��L��dH�%(H�D$1�A�B�T$�T$���T$�T$��v6�$H��H��jL��L�D$��ZYH�|$dH3<%(u3H��ÐH��ɉL$H��AQ1�L��A��L�D$���^_���)��ff.���ATM��UL��SH��H��dH�%(H�D$1��F������H��I��H�ѺjL�L$��ZY��u;�T$:T$uP:T$uJ:T$uDA�$�K�4$�����C։Uf.�H�t$dH34%(uIH��[]A\����^��f�H��I��1�H��H�D$A��P���^_�h�����(��f�PXH�
'���H�5�oH�=�oH��dH�%(H�D$1����ff.���AUI��ATI��H��USH��H��dH�%(H�D$1��A����u}H�sXH��t�Cl��u-A�$1�H�L$dH3%(�H��[]A\A]�@H��L���#����uH�C0H�4$L��H���������H�4$L���('���fD�lj��#����H�oI��H��/!H�81��5��H�
��xH�5�nH�=�n���fDH���X����uA�,$�
�1���@���9#���پH��nI��H�/!H�81������r���f�H������Å�u�A�$�^�
�����+'��ff.���ATI��USH��H��dH�%(H�D$1�H���������H�$L��H���?����Ņ�t9�;H�4$�Ϋ��H�<$���H�L$dH3%(��u\H��[]A\�f.�L���X��A�ą�t����J"��D��H��mI��H�).!H�81��������f���
��R&��f���AWAVAUATUH��SH��dH�%(H�D$1�����FH����������E��M��u_��������\���H���H���w�����OH�$D��1�H�qH9�rA)�A�E�A�$1��E�`�H���H���D�0H�FP�pA����H�S@H���B�D(��t�S��D��1�D)��D9�rTA�$1��EH�|$dH3<%(��H��[]A\A]A^A_�@��^����m���C�T-D)�)ƒ�띐��u|H�F0E��D�xL��E��u�7�H��t*D��H��A���%��H��L9�w���f.�1����f�������D�E�
�,���H����|����_$��f.�D��SH��dH�%(H�D$1�H�H����H�PH�
P#!H9
u�Df�H��H�RH9
t/H�H��u�H�ÿ���H��t2H��"!H�H�PH�H�D$dH3%(u%H��[��H�=xA!u�H�gA!�H����#��ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=q(!H�������S#��AWAVAUATM��USH��H��H��$�H�t$ 1��T$8H�T$`H�L$(1�L�D$H�D$0dH�%(H��$�1�H��)!H��oH�(!H�)D$p�oH�D$pH�D$`H�D$hH�D$PI��)�$�H�D$����Ņ�t1H��$�dH3%(���+H�Ĩ[]A\A]A^A_�fDL��H���m���Ņ��L�T$PI�:��D�-�;!�D$<E1�E1��D$D���I��MzL�$M��E�~M��A9muTI�}H�5a;!����#����u>L�$M9:wŋD$�l$<����H�t$H�|$L����|$�"����EfDL��L��H���"����uL�T$P�D$M9:vW�-�:!�d���@H�t$H�|$L�$���� � �^H���$������f�H�t$H��������fD�l$<H�|$L�l$L��H��I�$H�ߺ�����t$8L�t$hAV�t$0H�t$@L�L$HD�D$X�%��H�� L��L�l$LA��L���)��E��t'H�t$L��D������ � �G�������H�t$XL��L���]%��L��L������H�t$L���������H�t$H�|$L���� � �
�\G�������` ����AWD��L��AVAUI��ATUSH��HH�t$H��$�L��$�L��$�dH�%(H�D$81�H�D$0H��tH�EM��tA���H�L$�T$��!���T$H�L$H��H����L�d$(H��H�L��AVH�t$(M��L�D$@�R���A��XZL�t$$H��tH�t$(L�t$$H��tH��L���)$��L��L�����E��u1H�D$0I�H�H�\$8dH3%(D��u;H��H[]A\A]A^A_�@H�����I����A�EA�
����ff.���H�� dH�%(H�D$1��t$0�t$0AQE1��v���H�� H�T$dH3%(uH���������ATUSH��dH�%(H�D$1�H��t_H��tZ�H�.H��E1�H��t#H�H�u���H��H���+��H�����H�T$dH3%(D��uH��[]A\��A����#��S���hH��dH�%(H�D$1�����H��t_��H�@H�@H�@H�@ H�@(H�@0�@8H�@@�@L�XHH�@XH�@`H�T$dH3%(uH��[����AWAVAUATI��UH��SH��XH�L$dH�%(H�D$H1�H�D$0H�D$8H�D$@H���#H�D$8H�6E1�1�I��1�H�D$���A�ƅ���H�}�1H�D$@L��H��H�D$����A�ƅ��qH�EL�l$(H�8teH�L$,1�L�l$(1�H�$H��H�$H�T$8L��I��Hp�����D$,��t H�EH�T$L��H�pL���������H�E�sH��H;0r�H�t$L�����H�D$@H�8��H�L$H�A�$�H�L$HdH3%(D����H��X[]A\A]A^A_�f.�H�\$0��uH��H��1�1�L��jL�L$ I�����ZYH��H�|$(A������DH�D$8H�\$H�A�$�v���fDH�t$L������H�t$L��A�
����A�$ � �nB��A�$�5���DH�t$H�|$(��������W���ATI��UH��S��H�� H�?dH�%(H�D$1��H�|$��vm�9�ufH��H�T$�s�H�|$H�|$���H�|$�…�xBH��H+MH�H)�H9�������A�$H�}H�L$dH3%(uH�� []A\��1Ҹ���������f�AU��ATUH��SH��dH�%(H�D$1�H�L$�"���������0��H��H��txD�d$L� M��u;H�@L�mM�L�eH�t$dH34%(H��uIH��[]A\A]�f.�L������H�CH��tL�mL��H��L������H���@��1�������SH��0dH�%(H�D$(1�H�D$H��teH��8u]H��H�xH�>D�@H�L��D�D$H�H9�w;H�H�T$H�t$H�|$H���i*����u
H�D$�fD�;�A@����1�H�\$(dH3%(uH��0[��+��ff.�AWI��AVAUM��ATM��US��H��HH�L$H�D$$H�l$0L��$�H�<$dH�<%(H�|$81������H��H��I�I�I�H�t$0��H�D$�W�������H�D$0H�PH��H�T$0L)��80�bA��L��H)�H��H���]H�JH�L$0�=��n=�����+D$0H�T$(H��B�48L�D$�/������L�D$L��H+T$0H�L�H9��dH�<$H���0���I�EH���KH�D$0L�D$H��L��L)�H)�H����H�PH�T$0��=��L�$=�����+D$0H�T$(H��B�48菙������H�T$0L�$H�L)�I)�I9���)�H������H��I�H����I�$H��t9H�H;u1H�sH�x�����u H�|$,H������I�>�{��I�@1�H�\$8dH3%(��H��H[]A\A]A^A_�L)���H�T$(H��)�L�D$�Ϙ����x#H�T$0L�D$H�L)�L��H)�H9���D�	듐��+D$0H�T$(H��B�48L�$腘����x�H�T$0L�$H�L)�L��H)�H9�|���H��)����I�$H��t�H�D$0L�$H��L��L)�H)�H���%���H�PH�T$0��o���@��H�T$(H��)��������_���H�T$0A��H�L��H��L)�H)�H��H9��o����8�����H�L$�
H��)Љ��x����������|$$�
���H�D$0L�D$H��L��L)�H)�H�����H�PH�|$H�T$0�L)��L��H)�H���a���H�PH�T$0�@�	����Z��f.���H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH���������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���V��fDH�T$dH3%(�uH����1���SH��@�T$dH�%(H�D$81�H�F �8
uH�+�7H�@H9t1�H�L$8dH3%(uPH��@[�f�x
u�H��H�D$H��(H�D$ H�L$ H�|$H�D$(H�}!���=t��T$�����@��H��H�6dH�%(H�D$1�H��t(H�~(t!H�D$dH3%(u+H��(H���\��@H�T$dH3%(�uH����)��f�ATUSH��H�dH�%(H�D$1�H��t<L�d$H��H�sL�����H�sL��� 
��H�sXL�����H���,��H�EH�D$dH3%(u	H��[]A\����fD��USH��dH�%(H�D$1��H��t;H��H�61�H��tH��(���H���=���H�L$dH3%(��uH��[]�@�
���4��@��H��dH�%(H�D$1�H�D$dH3%(u	H��������f.�U1�SH��H��dH�%(H�D$1�H��t�K
��H��H�h�/��H��H�L$dH3%(H��H��uH��[]����f.���ATUL��SH��0dH�%(H�D$(1�������A�����H�ԁHc�Hк>��DH�5	�H�=cI����DH��1��.���H�EH�UH�t$(dH34%(���H��0[]A\��H�5�H�=I����H�5!�H�=�H�u���H�59�H�=�H�]���H�5A�H�=�H�E���h���I���L�D$��H�L$�T$����T$H�L$H��L�D$t������,���@H�t$$�L�D$H�L$�T$�S���T$H�L$���D$$L�D$tA�$�
������L��I���K��1�����
������������H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H�D$dH3%(u	H������j��f.���AWAVI��AUM��ATI��UL��SH��8dH�%(H�D$(1�H�D$ H��t4H�6�����H�L$(dH3%(����H��8[]A\A]A^A_�DH�T$L�|$ H��1�jM��1���Y^��u�H�EL�T$H�8t]H�PH��t~H��L��L��AUH�t$0L�L$,L�D$(�����XZ��uM��tA�}�D$t�D$A�H�|$L���8���I���H�\$L��H��� ��H��H��
����!����6��H�
�~��H�5#}H�=D~������H��dH�%(H�D$1�H�D$dH3%(u	H����
����
��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���_���
��f.���H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����1
�����H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H������fDH�T$dH3%(�uH����������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���6
��fDH�L$dH3%(�uH����q�����SH��H�� H�6dH�%(H�D$1���NLH�t$��tH��(�'���H�T$H�z(tH�L$dH3%(u&H�� [�DH�|$�D$���H��D$��������AUATI��USH��(dH�%(H�D$1�H�l$H�������t$H�L$dH3%(����H��([]A\A]�L�l$H��E1�E1�H�D$1�1�L��PH�D$PjH�t$0���H�� ��u0�D$��t(�|$�/�H��tH�T$�@LH�P(I�$�u����1�H��L��
�����]������@��ATM��UH��SH��dL�%(L�\$E1�H�\$0H�t$8H�D$@H��tH�H��tH�M��tA�M��tL��
!M�$H��t�H��tD�MHD�H��t�uL�0H�u(1�H��tH��M��jjS���H�� �UL��uM��tH�=v
!I�<$H��t�#���H�|$dH3<%(u	H��[]A\��)
��f���H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���6��fDH�T$dH3%(�uH����	�����H��dH�%(H�D$1�H��tH�6H�D$dH3%(u	H���g���	��f���AWAVAUI��ATUH��SH��(H�dH�%(H�D$1�H��t@H�H�t$H�D$�>����tjH�|$dH3<%(��H��([]A\A]A^A_��L�t$I��H�D$L�������u���L�|$��
��H��H��t?L�8I�$1��}u�H�U�:*�p+t1��{���Df�z
u��C�b���@A�EH�|$L���S	���
�?����t��@��H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���&���fDH�T$dH3%(�uH���������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���F��fDH�T$dH3%(�uH���������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����Q�����H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H������fDH�T$dH3%(�uH���������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H���v���fDH�L$dH3%(�uH����1�����AWAVAUATI��USH��H��HH��$�H�T$�L$L��$�D�L$L��$�H�D$dH�%(H�D$81�H�D$(H�D$0M��tI�M��tA�M��tM�$$H�l$(E1�1�1�I��L��H��� ���A��t)H�T$8dH3%(D����H��H[]A\A]A^A_�H��L��H��AVAWL�|$HAWD�L$4L�D$H�L$0H�T$(�#��H�� A��u-��L�d$0���H��t7H�L$L� H�D$0H�H�\$$H��H���+���L��H������R����A�
������D��AWI��E��AVAUI��ATUSH��HH��$�H�$�L$H��$�H�D$H��$�dH�%(H�D$81�H�D$(H�D$0H��tH�H��t�EL�d$(H��D��E1�jM��1�L��L��D�\$$L�T$���A��XZL�t$0E��tDH�\$$L��H���<���L��H�����D��H�T$8dH3%(��H��H[]A\A]A^A_�H��L��USAVD�\$4L�T$(L�D$H�L$0H�T$ E��L���j��H�� A�Dž�u���H�\$0�{��H��tH�L$H�H�D$0H��Q���DA�EA�
�9����@����H��dH�%(H�D$1�H�D$dH3%(u	H���O���
��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H�D$dH3%(u	H������J��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���_���
��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���H��dH�%(H�D$1�H�D$dH3%(u	H���?����f.���H��dH�%(H�D$1�H�D$dH3%(u	H������J��f.���H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����������ATI��UH��SH�^H��H��dH�%(H�D$1���H�D$dH3%(uH��H��L��H��[]A\�l��������H��dH�%(H�D$1�H�D$dH3%(uH�6H�������G�����ATUH��SH��H��dH�%(H�D$1�H��������tH�L$dH3%(uDH��[]A\�fD��L�$$����H��tL� H�E1��D��
����fD��H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH����Q������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H�����fDH�T$dH3%(�uH��������H��H�v(dH�%(H�D$1�H��tH�D$dH3%(u)H������fDH�T$dH3%(�uH���������H��dH�%(H�D$1�H�>�tH�L$dH3%(u@H����H�F�8SPNEt���Df�xGOu�1�H��t�H�=B� H�:��������ATI��UH��SH��dH�%(H�D$1�H��tI�>uH�F�8+t0�E�
H�L$dH3%(����H��[]A\�Df�xu�L��H������Å�u�H��!L��H��H�0�����Å�tH�|$L�����DH�)!L��H��H�0����Å�u�H��!L��H��H�0����Å�u�H�;!L��H��H�0�e����Å��?��������@��ATUS1�H��dH�%(H�D$1��H��t$H��I��H�������é��t0H�|$H�����H�L$dH3%(��uOH��[]A\��H�y!H��L��H�0�����é��u�H�c!H��L��H�0����é��t���M���ff.�f�AUATU1�SH��dH�%(H�D$1�H�H��t0��H9�wmH�I��H��I��H�PH��H�>H�މ�����Ņ�t$H�t$dH34%(��u9H��[]A\A]��H�;I�uI�$���I�$H������������ff.��AWAVM��AUI��ATUS�H��H�|$$H�t$H�T$D�D$(dH�%(H�D$81�I�I�AA���;H�D$H�8H�����D$,�D$ M��t&A�}��}��I�UD�|D��D�|$ �}���\D����}��D�dD���}��A�|H����I�Ǹ	M����I�GA����D��H�D$0H�D$0H��H�D$�}�����aH�D$0L�d$���H�PL��H�T$0�0+L$0B�9�}�����/H�D$0L��H�PH�T$0����+D$0B�8�W}������H�D$0��H��L)�)փ���H�P�L$$�|$(H�T$0�
H�D$0H�PH�T$0�H�D$0H�PH�T$0�H�D$0�EH�L$H�9��M��tLH�PH�\$�|$ H�T$0����+D$0H��B�8�|����xf+l$0I�UL��H��B�L=�>�����xJH�D$0L)�M�~I�1��D��|��H�t$H�D�|D��D�|$,�|���\D�����DL����	H�L$8dH3%(�H��H[]A\A]A^A_Ë���{���\���fDH�PH�\$�|$,H�T$0����+D$0H��B�8��{����x�H�t$��+D$0H��B�8H�V�b������j���H�D$0����H�PH�\$H�t$H�T$0����+D$0B�8��x�D$�{�����*���H�D$0�3��H�‰t$L)�)эV9��
���H�PH�T$0�H�D$0�H�HH�L$0��H�sH�|$0�����HD$0H�D$0�&������fDAWM��AVI��AUATM��USH��H��H�T$L��$�dH�%(H�D$81�I�H����D�I8E���H�QH��H�s(L�D$H�D$ H�D$(�����Ņ�tA�A�E�I��H��L�����Ņ�u��C0�C8�{4�����C8��ufA��H�L$8dH3%(���hH��H[]A\A]A^A_Ð�A0��t�D$tbH�D$ H�D$(��u�D�C4E��t+�C8��t$A�I�<$��A�E1��fDA�1��@���r����A��	A�E�Q����H�D$ H�s(H�K1�I��L��H�D$�A����Ņ�t#H�t$H�|$���A�E�	����1�H��L������Ņ�uʿ���I�$H��t9foD$ �s0�C4�����������f��L$��u5A�E1����H�t$H�|$�
�e���A�E������H�
lf�UH�5�dH�=�d�t�@��USH��(dH�%(H�D$1���>�uH�F�8+t"�H�|$dH3<%(uuH��([]�fDf�xu�H��H��H�=dL��H�L$�&��H�L$��t-H��H�=d�����tH��H�=e�����t1����
�{�����ff.�AUATUSH��(dH�%(H�D$1�H�������D�j�H�PH�T$�8`��H��H�T$H�|$I��D���Kv������D$D9���E����H�t$H�FH�D$�>�~�U���tvL�FL�D$�~9�re��I�8)�H�T$��t+��vN�m�H�\$dH3%(u@H��([]A\A]�fD�~+u�f�~u�1���vI�$�Q���D�m����ff.��AWAVAUATUSH��XH�t$0�T$<L�D$ dH�%(H�D$H1�M����I�I��I��L��I�A�?��u��I�L�t$ �D$(�\M��t-I�H�D$�|$��u��I�D�tD��D�t$(�u���\D��D$,M��t&A�}�u��I�UD�tD��D�t$,�zu���\D���lu���D��A���^u���D�t$8E�t�Ju��D�`C�<&�=u��A�LB�41H���t$H�t$�3�I��H�����H�D$@�u��H�T$@H�t$@A�|H�t$H�JH�L$@�`�T$�?u��A�ƅ�tHL��E1��m�H�D$H�D$L�eH�EH�\$HdH3%(D���sH��X[]A\A]A^A_ÐH�D$@L��H�t$H�PH�T$@�T$�H+|$@)����t��A�ƅ�u�H�D$@�H�t$�|$8�+f�HH�D$@H�PH�T$@�T$�@��t��A�ƅ��@���H�D$@H�t$��H�PH�T$@�0�D$+D$@B� �Ot��A�ƅ�����H�D$@H�t$H�PH�T$@���D$A�?+D$@B� �t��A�ƅ�����H�D$0I�H�|$@H�0���I�HD$@H�|$ H�D$@�H�P�\$L�|$H�T$@�|$(����+D$@L��B� �s��A�ƅ��s���H�t$ ��+D$@L��B� H�V�0�A�ƅ��M���M���X���H�D$@H�P�\$L�|$H�T$@�|$,����+D$@L��B� �Ls��A�ƅ��	���H�D$@��H��L)�)ыT$<��tjI�UH�������H9���H�PL��H�T$@�0I�}���r��A�ƅ������I�uI�UH�|$@�������M���P������f�H�|$I�UL���O�A�ƅ�������g����A������v����h�A���G���ff.�@AWAVAUI��ATI��UH��SH��(H�$dH�%(H�D$1�H�?�kH�E1�1�H���<I���q��I�$B�49�D0�A�FI��H;Er։��q��D�<A�WH��H�T$��H�T$H��H�D$��H�<$�0H�t$H���I�UH�PH�T$A�W�q������H�}��H�<$I�$H�D$I�U+�;��W9���E1��#DH��H�<$I$�3I�U+��V9�rrH�PH�T$�H�D$�H�HH�L$��H�sH�|$���A�_HD$H�D$I��H;]r�1�H�|$dH3<%(u0H��([]A\A]A^A_�f.��������f�1�������@AWAVI��AUATE��USH��H��hH��$�H�|$H�L$L��$�H�D$H��$�D�L$@L��$�H�D$0H��$�H��$�H�D$(H��$�H�D$ dH�%(H�D$X1�H����H�2�RE������H��H�CPL�C H�S(AWPH�C`AUP�t$8j�D$xPH�L$HH�|$X��H��@A�…�te��t�}��H�D$ �E�H�L$XdH3%(D����H��h[]A\A]A^A_�fD1�E��A�� �f���f.�H�L$(�C@H��t�CP��}�0H�D$ A���D�D$8H�CH�@H�x�s�H�CH�8H�W�H�H�CH��H�xH�w�P�H�CD�T$8H�8��H�SH�D$TD�T$DH��H��H�T$8H�D$H�z�H�{H�T$8H�KH�w�T���D�T$D��xkD�T$8H��E��L��UH��t$0AW�t$HAU�t$`�t$HD��$�H�L$HH��$����H��@D�T$8��w�T$TH�|$A�‰���f�H�D$ �E��u���f�I�}�����C0��uH�D$ ��E�C�����CP ����������ff.�@��AWI��AVAUATUH��SH���H�L$��$H��$8H��$@H�t$�D$8L��$(D�L$$H��$ H�L$L��$0H�\$(dH�%(H��$�1��D$tHDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$��D$xH��t�M����I�$I�D$H����M����M��tI�M�L��$�M����L�T$0H�L$|H�H��HDŽ$�L��$�H��H�p�D$|H��$�M��PL��$��*����XZ���N�D$|L�T$0���D$<�	A�BDL��$�����E�Z@H��$�E���H����D$x�D$tM���]H��$�L�������H�HDŽ$����H��$�H����H�t$H�H�H������Å��YH��$�H�zH�JH��H�GH�wH�B��������H��$�L��$��D$tL��H�@(H��$�HDŽ$�����H��$�I�7�N@�����L��$��FP �3D�D$tA���E����L��L�������H��t/H��$�H��tL��H��(1��H�H��$��k��I�H��$�H��tL���/�H��$�����H��$�H��tL���
�H��$����H��$�H��t L�����H��$��~���	@�H��$�dH3%(���)H���[]A\A]A^A_��H����M��tH��$�L������D�D$t�	L��$������D$x�D$tA�BDH���M��H��$�L��$��~@���s���H��H��H�D$|PH��$�P�t$@�t$(L��$�ARL�T$XAV��$�D�L$xD�D$dH�L$XH�T$P�q���H��@L�T$(��������H��$�L��L�T$H��� H�p(H��$�H��H�D$0�]�H��$�L�T$��u6H��$�H��t
H�8�CH�|$0L��L�T$���H��$�L�T$�N@����������fDH��$��@LM��tH�P`I�H�T$H�������@P����DH��$�L��1�M��|$xL�T$��L�T$���B���L��L��
���E����H��$�tH��$�L�������L���D�D$tL��$�A�����H��$�M��1�M��H��$�L�T$H�wH����L�T$��������l���f��D$x�D$tM����H��� L��$�L��L�T$XH��$�L��L�L$PL�L�D$@DŽ$�L��L�\$HH�|$0�+��L�D$@L�\$H��$�L�L$PL�T$X����I�B A�;��I�xH�pL�T$HL�D$@��L�D$@L�T$H��udH��$�A�R@H����H�8H��$����������D$x�D$tA�BDH�����H�|$0L���g�����f�H�|$0I�r(1�L�T$@L�D$H���L�T$@I�BL�M����L�D$HH�X1�H�l$hL�|$HM��A�H��L�t$PL��L�d$XI��L�l$`A��I���fDI��H��M9���D;eu�H�uH�{L������u�L�T$@I�؃|$<H��L�|$HH�l$hL�t$PL�d$XI�Z L�l$`H��$����|$<���L$<1�A�B@�D$t���L$x��A�BDA�R0H�������H�|$0L���8����L��$�L���������;�����f�E�J0E��uW�D$x�D$tM���c���H��$�L������N���f�D�D$t�
L��$�L��$������A�BP t����@A�8
uH�+�7I�PH9
�WA�BDH�������H�|$0L��	�`�����L�T$@L�|$HL�t$PL�d$XL�l$`A�BDH��$�u��U����I�r H�|$0L��L��L�D$HL�T$@DŽ$����L�T$@L�D$H��$����������f�M�B �`����1�L�T$H��H��H��$���H��H�D$|PH��$�L��$�L��$���D��$���XZL�T$�|���f.�L��$��
L�����D�D$tL��$��K���f��E � ����D$tH��$��Et}H��$�L��
���D�D$tL��$���f���� ���A�BDH���U�����f�����A�BDH��$��D$x�D$t��������H��$�L��
�'�����H�@H�8�����H�@�8�����H�|$0L��L�T$�E��H��$�L�T$�F0���f�z
���������E � L�T$����L�T$�EA�BDH��$��t�����������ff.����AWAVAUATUH��SH��H��H��$PH�4$H�T$0L��$XH�D$H��$`L�L$H�D$(H��$hH�D$H��$pH�D$ dH�%(H��$1�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�H��t�M��tI�I�GH�D$H��tH�H�D$H��tH�H�D$H��t�H�D$(H��t�H�D$ H��tH�H�$M����H����	�H����ЈD$?�*H���yL�)L��$�M���=I�} ���H�UDŽ$�L�uHDŽ$�H�B�DŽ$�L��$�H=�����A�L��<`�<�u|L��$�H��$�H���UL�D$HH��$�H��PD�)�L��$����AXAY�Ņ��G	L��$�H��$�M���VH����H�t$@H��$��{�D��$��	L��$�E����A����!��hf��H��$dH3%(����H��[]A\A]A^A_�H�}�-�H�EHDŽ$�H�UHDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�DŽ$�DŽ$�H�D$PH��$�H������H��$�H��$�H��H�t$HH�D$`�����	L��$��T$PL��$�L��$�UL��L��D)�L��$���L�d$@I�������		H��$���$�H�PH��$��80��L��L����\������H��$�L��Hc�H)�H9���H�QH��$��9���L���L���\������L��$�H�M)�L9��xL��$��A�<$0�D�l$PDmI�D$H��$�E)�H�|$HH��$�D���1\�����D$X����D��+�$�9���H��L������Dž���D�T$XD��E1�H��E���H�l$h��L�|$pI���@I��9l$X��L��H�t$HH+�$�H��J�8�ֿ��H��$�H����L��H��H��������u�H��$�H�t$@H��H�@B�(�l�r���t��;�G�����H��$��	A�L��$�L��$�M�m M��u�|$?uM��L��L���z��������0H��$�H�PX�@LH��tH�L$H��tH�H�@XDL��L���}��H��$�H��tL���h��H��$����H��$�H��tL���F��H��$�����H��$�H���-���L��� ��H��$��������fDHDŽ$�H��$��
H�D$HH�\$@H��$�L��$�H���M��H�t$HH���@��H��$��}D��$�E����A����!Є��*	L��$��������H��$�H��tL��H��(1��V��H��$��y��H�$H����f�H��$��S��H�$H��^���H��$�H�D$@����fDL��$�E����	M����
I�uI�}M��E1�H��$��L��$�L��$��~������
�+���@����fD�L��$�H�t$0H��L��HDŽ$�L��$�HDŽ$�DŽ$�DŽ$�����Ņ�t!H��$��L��L��L������k���@�$HDŽ$��Y���h%���X���|I�����H��H����
��H�@A�U�L���H�L$@H��$��Y��H�L$@���i	H��$�L��$H�PH��$��D+�$�A�T
��X��H�L$@���+	H��$�fo�F�fo�F�@ nore@H��$�H�h$�G��H�L$@H��H��$���H��H�H1�H)��H��'���H��$�H����
H��$�H�HH�PH�w������p
H��$�DŽ$�DŽ$�H�@ �@<H��$�H��$�H��H�D$@HDŽ$����L��L������H�$L��$�A�L�(���$��zL��$�M���iI�}(��H�D$0H��tH�H�D$0D�T$@I�EPH��E1��t$(I�u(M�MXL��t$(H��PL��$AV�t$8H�T$`���H��0D�T$@�����"H�L$(A�E@H��tA�EP�A�u0����A�EP ��L��$��fDA�M@��tA�EP �D��$�A���[���E����L��$�L��$�A���~���L��$�H��$���$�M���8����C���H��$���	H�t$@H��$�L��$��?�D��$�A����E����!��9�����>���fDL��$�L��$��������A�L��$�DŽ$�DŽ$��6���fD1�D�T$L��H��H��$���H��H��$�PH��$�L��$�L��$��}��D��$���XZD�T$������ǽ
�2����H��$�H�D$@H��$�H�D$H����DŽ$�L��$��@�����m��m��������f�H�l$hL�|$pH��$�H��$�H�������L��$�M��M)�L���w��H��$�H���Z���L��L��H���X���T$PUL��$�D)�A�}��H�L$`H�|$H��������x"��$�H�|$H袶��H��$�H�������H�L$PH�E��+�$�H�|$H�H�L$`躵�����H��$�H�t$0�H��H��H�D$H�`����Ņ�tDŽ$����f.�H��$�H��$�H�H�|$`H�L$hH����H�@L�'H�\$xH�D$XH�D$PL�|$pH�D$P�8	I����M���AE�.H�D$`1�L��L�x�fDH��I��L9��A;/u�I�wI�~L�������u�H�|$XH�\$x�D$`�1�L�|$p�����$��Ա��D�T$`H���	H��$�H�L$PHDŽ$���$�H�PH�H fo�$�HHDŽ$�HDŽ$�u�@0L�t$@�@<H��$�D�T$PL��H��$�DŽ$����H�t$HL�����D�T$PH��$��*L��$�H�$L�(���fDH�D$XH�D$XH�D$PH9D$h�����L�|$pDŽ$�����f.�H�*�H��H�@H9t
L�t$P�Y����xL�5u� u��D���fDL��$�A��H��$��D$?��$�M���<L��$�A���U�������H�L$@H�|$H��������H��$�H�PH��$��8��H�PH��$��x��H�PH��$��x��H���T$PUH��$�)��v����L��$�H��$�L���(������H��$�����L��$�L��D�T$PL��L�\$H�CR��L�\$HD�T$P�����DŽ$�����������fDM���W���H��$���$��D$?L��$�L��$���fDH��$��	H�D$H���L��$�H�|$@D�T$HL�����D�T$H���@��$�H�|$H�7���H��$�H��������A�E<E1�L��$�DŽ$�DŽ$������@H�Ͻ
�������fDI�m HDŽ$�DŽ$��E;�$�u/H�}H��$���D�T$PL�\$H���L�\$HD�T$P�������H��D�T$PL�\$H�x���I��H����H�@xL�\$HD�T$PH����D�T$PH�t$@H��L�\$H��L�\$HD�T$P�����:H��$�L��H��D�T$HH��$�L�\$P���D�T$H�����'��$�L�\$P����H�t$@H��$�D�T$PL�\$H���D�T$PL�\$H������
��f.�H��$����H�����H�t$@H��$��	L��$��	��D��$�A����E����!���DŽ$��
��D��$���	E����A����!����H��$��
�s���L��L��������;L��D�T$DŽ$��	�D�T$�H�t$@H��$�D�T$���D�T$�����L��$��k���� � �L��$���A�DŽ$��DŽ$��s���� � �D�T$���H�t$@H��$�DŽ$��DŽ$����D��$�D�T$�����D��$�L��$�E����A����!���H�|$@L���'���q�H�
:��H�5O8H�=r8�C���L��$���fD��H��x1��dH�%(H�D$h1������u0H��1��H���H�H�A� H��H�D$0H�8H�D$�8���H�L$hdH3%(uH��x����ff.���H��dH�%(H�D$1�H�D$dH3%(uH����~��ff.���H��dH�%(H�D$1��FL��t!H�D$dH3%(u+H�v(H���4���@H�L$dH3%(�	uH��������H��H���No errorUnknown %s (field = %d)mit-krb5routine errorcalling errorsupplementary info codeAn invalid name was suppliedNo credentials were suppliedA token was invalidA credential was invalidThe context has expiredMiscellaneous failureA parameter was malformedThe routine must be called again to complete its functionThe token was a duplicate of an earlier tokenThe token's validity period has expiredA later token has already been processedAn unsupported mechanism was requestedA supplied name was of an unsupported typeIncorrect channel bindings were suppliedAn invalid status code was suppliedA token had an invalid signatureNo context has been establishedThe referenced credentials have expiredThe quality-of-protection requested could not be providedThe operation is forbidden by the local security policyThe operation or option is not availableA required input parameter could not be readA required input parameter could not be writtenlocal-login-userGSS_C_MA_MECH_CONCRETEconcrete-mechGSS_C_MA_MECH_PSEUDOpseudo-mechGSS_C_MA_MECH_COMPOSITEcomposite-mechGSS_C_MA_MECH_NEGOmech-negotiation-mechGSS_C_MA_MECH_GLUEmech-glueGSS_C_MA_NOT_MECHnot-mechGSS_C_MA_DEPRECATEDmech-deprecatedMechanism is deprecated.GSS_C_MA_NOT_DFLT_MECHmech-not-defaultGSS_C_MA_ITOK_FRAMEDinitial-is-framedGSS_C_MA_AUTH_INITauth-init-princGSS_C_MA_AUTH_TARGauth-targ-princGSS_C_MA_AUTH_INIT_INITauth-init-princ-initialGSS_C_MA_AUTH_TARG_INITauth-target-princ-initialGSS_C_MA_AUTH_INIT_ANONauth-init-princ-anonGSS_C_MA_AUTH_TARG_ANONauth-targ-princ-anonGSS_C_MA_DELEG_CREDdeleg-credGSS_C_MA_INTEG_PROTinteg-protGSS_C_MA_CONF_PROTconf-protGSS_C_MA_MICGSS_C_MA_WRAPGSS_C_MA_PROT_READYprot-readyGSS_C_MA_REPLAY_DETreplay-detectionGSS_C_MA_OOS_DEToos-detectionGSS_C_MA_CBINDINGSchannel-bindingsGSS_C_MA_PFSpfsGSS_C_MA_COMPRESScompressGSS_C_MA_CTX_TRANScontext-transfer*�H��*�H��*�H��+*�H��+++*�H��+
+
+
+
+
+
+
+
+
	+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
*�H��Mechanism is neither a pseudo-mechanism nor a composite mechanism.Mechanism is a pseudo-mechanism.Mechanism is a composite of other mechanisms.Mechanism negotiates other mechanisms.OID is not a mechanism but the GSS-API itself.Known OID but not a mechanism OID.Mechanism must not be used as a default mechanism.Mechanism's initial contexts are properly framed.Mechanism supports authentication of initiator to acceptor.Mechanism supports authentication of acceptor to initiator.Mechanism supports authentication of initiator using initial credentials.Mechanism supports authentication of acceptor using initial credentials.Mechanism supports GSS_C_NT_ANONYMOUS as an initiator name.Mechanism supports GSS_C_NT_ANONYMOUS as an acceptor name.Mechanism supports credential delegation.Mechanism supports per-message integrity protection.Mechanism supports per-message confidentiality protection.Mechanism supports Message Integrity Code (MIC) tokens.Mechanism supports wrap tokens.Mechanism supports per-message proteciton prior to full context establishment.Mechanism supports replay detection.Mechanism supports out-of-sequence detection.Mechanism supports channel bindings.Mechanism supports Perfect Forward Security.Mechanism supports compression of data inputs to gss_wrap().Mechanism supports security context export/import.{ %lu %lu oid_ops.cout - nbytes == oid->elements}generic_gss_str_to_oid../../../include/k5-thread.hr == 0errmap.hk5_mutex_lock: Received error %d (%s)
k5_mutex_unlock: Received error %d (%s)
(*cmp_OM_uint32)(l, pair->l) != 0(*mecherror_cmp)(r, pair->r) != 0k5_mutex_unlockmecherrmap_addk5_mutex_lockNo @ in SERVICE-NAME name stringSTRING-UID-NAME contains nondigitsUID does not resolve to usernameCouldn't allocate gss_buffer_t dataCredential usage type is unknownUnknown quality of protection specifiedLocal host name could not be determinedHostname in SERVICE-NAME string could not be canonicalizedToken header is malformed or corruptPacket was replayed in wrong directionReceived token ID does not match expected token IDThe given credential's usage does not match the requested usageStoring of acceptor credentials is not supported by the mechanismStoring of non-default credentials is not supported by the mechanismValidation errorMessage context invalidBuffer is the wrong sizeMechanism is incorrectToken is missing dataToken was reflectedg_authorize_localname.cexternalName != GSS_C_NO_BUFFERattr_authorize_localnameThe routine completed successfullyA required output parameter could not be writtenA token had an invalid Message Integrity Check (MIC)No credentials were supplied, or the credentials were unavailable or inaccessibleInvalid credential was suppliedThe referenced credential has expiredThe referenced context has expiredUnspecified GSS failure.  Minor code may provide more informationThe quality-of-protection (QOP) requested could not be providedThe operation is forbidden by local security policyThe operation or option is not available or unsupportedThe requested credential element already existsThe provided name was not mechanism specific (MN)An expected per-message token was not receivedInvalid token was suppliedW&��7&��&��W&���%��W&��W&��W&���%��W&��W&��W&��W&��W&��W&��W&���%��g_encapsulate_token.ctokenSize > 2gss_encapsulate_token*�H��++�7
/opt/alt/krb5/usr/lib64/gss/%s%sgss_acquire_credgss_release_credgss_init_sec_contextgss_accept_sec_contextgss_process_context_tokengss_delete_sec_contextgss_context_timegss_get_micgss_verify_micgss_wrapgss_unwrapgss_display_statusgss_indicate_mechsgss_compare_namegss_display_namegss_import_namegss_release_namegss_inquire_credgss_add_credgss_export_sec_contextgss_import_sec_contextgss_inquire_cred_by_mechgss_inquire_names_for_mechgss_inquire_contextgss_internal_release_oidgss_wrap_size_limitgss_localnamegssspi_authorize_localnamegss_export_namegss_duplicate_namegss_store_credgss_inquire_cred_by_oidgss_set_sec_context_optiongssspi_set_cred_optiongssspi_mech_invokegss_wrap_aeadgss_unwrap_aeadgss_unwrap_iovgss_wrap_iov_lengthgss_complete_auth_tokengss_add_cred_impersonate_namegss_display_name_extgss_inquire_namegss_get_name_attributegss_set_name_attributegss_delete_name_attributegss_export_name_compositegss_map_name_to_anygss_release_any_name_mappinggss_pseudo_randomgss_set_neg_mechsgss_inquire_saslname_for_mechgss_inquire_mech_for_saslnamegss_inquire_attrs_for_mechgss_acquire_cred_fromgss_store_cred_intogss_export_credgss_import_credgssspi_import_name_by_mechgssspi_import_cred_by_mechg_initialize.cmech_type != GSS_C_NO_OIDgssi_acquire_credgssi_release_credgssi_init_sec_contextgssi_accept_sec_contextgssi_process_context_tokengssi_delete_sec_contextgssi_context_timegssi_get_micgssi_verify_micgssi_wrapgssi_unwrapgssi_display_statusgssi_indicate_mechsgssi_compare_namegssi_display_namegssi_import_namegssi_release_namegssi_inquire_credgssi_add_credgssi_export_sec_contextgssi_import_sec_contextgssi_inquire_cred_by_mechgssi_inquire_names_for_mechgssi_inquire_contextgssi_internal_release_oidgssi_wrap_size_limitgssi_localnamegssi_authorize_localnamegssi_export_namegssi_duplicate_namegssi_store_credgssi_inquire_cred_by_oidgssi_set_sec_context_optiongssi_set_cred_optiongssi_mech_invokegssi_wrap_aeadgssi_unwrap_aeadgssi_wrap_iovgssi_unwrap_iovgssi_wrap_iov_lengthgssi_complete_auth_tokengssi_display_name_extgssi_inquire_namegssi_get_name_attributegssi_set_name_attributegssi_delete_name_attributegssi_export_name_compositegssi_map_name_to_anygssi_release_any_name_mappinggssi_pseudo_randomgssi_set_neg_mechsgssi_inquire_attrs_for_mechgssi_acquire_cred_fromgssi_store_cred_intogssi_export_credgssi_import_credgssi_import_name_by_mechgssi_import_cred_by_mech/etc/gss/mech/etc/gss/mech.d/*.confgss_mech_interposerk5int_i->did_run != 0gss_mech_initializegss_inquire_sec_context_by_oidgss_acquire_cred_impersonate_namegssspi_acquire_cred_with_passwordgssspi_import_sec_context_by_mechgssi_inquire_sec_context_by_oidgssi_acquire_cred_impersonate_namegssi_add_cred_impersonate_namegssi_inquire_saslname_for_mechgssi_inquire_mech_for_saslnamegssi_acquire_cred_with_passwordgssi_import_sec_context_by_mechbuild_dynamicMechk5_mutex_unlockk5_mutex_lockgssint_mechglue_initialize_libraryABCDEFGHIJKLMNOPQRSTUVWXYZ234567g_unwrap_aead.cmech != NULLctx != NULLgssint_unwrap_aeadg_wrap_aead.cmech->gss_wrap_iovoffset == output_message_buffer->lengthgssint_wrap_aead_iov_shimgssint_wrap_aeadMEMORYaccept_sec_context.cctx->have_acceptor_subkeyaccept_sec_context called with existing context handlek5_mutex_unlockkg_process_extensionkg_accept_krb5%urefresh_timeacquire_cred.ccred->name == NULLcred->name->princ != NULLkrbtgtproxy_impersonatorcred->ccache == NULLcred->keytab == NULLreq_ccache == NULLvalue->length == sizeof(*req)ccacheclient_keytabrcachecred->name != NULL && cred->ccache == NULLNo key table entry found matching %sUnable to resolve default client keytab: {kerr}cred->default_identity || cred->name != NULLvalue->length == sizeof(rcache)gss_krb5int_import_credacquire_init_credacquire_accept_credacquire_cred_contextgss_krb5int_set_cred_rcacheget_cache_for_nameget_name_from_client_keytabscan_ccachekg_cred_resolvek5_mutex_unlockk5_mutex_lockcopy_ccache.cvalue->length == sizeof(out_ccache)k5_mutex_unlockk5_mutex_lockgss_krb5int_copy_ccachevss%s:%siBvvviiiibivBBvivvbbvvvvbLLvsK5C1svk5_mutex_unlock+GS2-IAKERBiakerbGS2-KRB5Kerberos 5 GSS-API Mechanism*�H��kerberos_v5kerberos_v5_oldmskrb*�H��	*�H��*�H��*�H��*�H��*�H��*�H��*�H��
*�p+
*�H��*�H��
*�H��*�H��+*�H��*�H��*�H��*�H��*�H��Initial and Pass Through Authentication Kerberos Mechanism (IAKERB)iakerb.cctx->state != IAKERB_AP_REQrequest->data + request->length == (char *)token->value + token->lengthq == (unsigned char *)token->value + token->lengthk5_mutex_unlockiakerb_tkt_creds_ctxiakerb_init_creds_ctxiakerb_initiator_stepiakerb_make_tokeniakerb_parse_tokenimport_name.ccp == endkrb5_gss_import_nameinit_sec_context.cdata->cred->name != NULLdata->exts != NULLevidence_creds.ticket_flags & TKT_FLG_FORWARDABLEk5_mutex_lockk5_mutex_unlockmake_gss_checksumget_credentials*�H��k5_mutex_unlockk5seal.cenc_key->length == 16(!do_encrypt) || (toktype == KG_TOK_SEAL_MSG)make_seal_token_v1k5sealiov.cmd5cksum.length == ctx->cksum_sizegss_padlen == 0 || padding != NULLkg_seal_iov_lengthmake_seal_token_v1_iovk5sealv3.ccksumsize <= 0xffffgss_krb5int_unseal_token_v3gss_krb5int_make_seal_token_v3k5sealv3iov.cctx->proto == 1cksumtype != 0gss_trailerlen <= 0xFFFFheader != NULLgss_krb5int_unseal_v3_iovgss_krb5int_make_seal_token_v3_iovk5unseal.cK�K�������������������������������K�kg_unseal_v1k5unsealiov.ctoktype == KG_TOK_WRAP_MSGstream != NULLi <= iov_count + 2j���j�����������������������������������������������j���kg_unseal_v1_iovkg_unseal_stream_iovnaming_exts.cprincipal != NULLminor_status != 0data_list_to_buffer_setk5_mutex_unlockk5_mutex_lockkg_init_names4u_gss_glue.csubject_creds != NULLsubject_creds->client != NULLimpersonator_cred->name->princ != NULLkg_compose_deleg_credk5_mutex_unlockk5_mutex_lockset_allowable_enctypes.ck5_mutex_unlockk5_mutex_lockgss_krb5int_set_allowable_enctypesset_ccache.cgss_krb5int_ccache_namek5_mutex_unlockutil_cksum.crrc != 0 || trailer != NULLchecksum_iov_v3kg_make_checksum_iov_v1util_crypt.csubkey != NULLtrailer == NULL || rrc == 0iov != GSS_C_NO_IOV_BUFFER�W���V���V���V���W���W���W���W���W���W���W���W���W���W���W���W��(V���W���W���W���W���W���W���V���V��kg_allocate_iovkg_integ_only_iovkg_fixup_padding_iovkg_release_iovkg_iov_msglenkg_translate_iov_v1kg_translate_iov_v3kg_setup_keystrailer == NULL || trailer->buffer.length == 0data->buffer.length >= relative_padlengthiov->type & GSS_IOV_BUFFER_FLAG_ALLOCATEk5_mutex_unlockk5_mutex_lockPrincipal in credential cache does not match desired nameNo principal in keytab matches desired nameContext is already fully establishedUnknown signature type in tokenAttempt to use incomplete security contextBad magic number for krb5_gss_ctx_id_tBad magic number for krb5_gss_cred_id_tBad magic number for krb5_gss_enc_descSequence number in token is corruptAcceptor and Initiator share no checksum typesRequested lucid context version not supportedBad magic number for iakerb_ctx_id_tCredential cache has no TGTAuthenticator has no subkeyInvalid field length in tokenCredential cache is emptyPRF input too longspnego_mech.cSPNEGO!send_mechtokspnegosc != NULL+�}�+�}�SPNEGO cannot find mechanisms to negotiateSPNEGO failed to acquire credsSPNEGO acceptor did not select a mechanismSPNEGO failed to negotiate a mechanismSPNEGO acceptor did not return a valid token(*mechanisms)->elements != NULLSimple and Protected GSS-API Negotiation Mechanism�~���~���~��@~���~��spnego_gss_inquire_credspnego_gss_accept_sec_contexthandle_micnot_defined_in_RFC4178@please_ig;D��k��` ����P���PU����Z����X_����[d����\p����(���p�������`���X�����������<0���h���������`���P������$���h����� ��������@���, ���p��� ����`����������d��� �������P���lp��������p���� ���,���H@���d����������������p���  ���`��� ����P��������`��,���`������0���P���``�������� ���@����������� ����P�����`������������`����� 	��@ P��� �
��� ���!`��H!����!����!���!����!���"`��<"����"����"���4# ��p#����#p��$0��L$P���$ ���$�#��%0)��P%�+���%�/��&�/��4&@0��X&�0��t&1���&�1���&P2��'�2��,' 3��H'`3��d'p7���'PU��(0d��H(Pe��t(�h���(pi��)pm��\) o���)Pp���)r��*t��X*�u���*`v���*�x�� +�{���+p|���+0��4,����,�����,0���@-0���|-�����-����.����`.��.@����.����/���T/P���p/���/@����/����0��$0@���P0����|0���0P����0����1����P1���p1�����1�����1����82��X2���2�����2����(3@����3�����3����4`���`4�����4��4�5���h5`����5�����5��L6`����6����7P���X7����x7�����7����08����|8��8��9 ���09`����9����:����h:���:��; ��X;����;����;��H<��=��t=P��=0��=p��=��>P�@> �x>`��>0�8?P�t?��?P�?���@p���t@����@���,Ap��`A����A���Ap���A����A ��@B@���B 	��C�	��HC�
���C�
���C����Cp
�� D ��`D����D����Dp��E���PE���tEp���E����E���@F���xF`���F����F�$���G�&���G�(��H�(��8H@)��TH�)��pH�*���H ,���H`-��LI .��hIp/���I�2��J�3��lJ�4���JP6��K�6��0K 7��\K�7���K�8���Kp9���K�:��,L@;��HL�;��hL <���L�<���L�>��MP?��\M�A���M�A���MpB���M0C��,N�C��HN�J���N�W���O�W���O@X���O�X���OY��P�Y��<P`Z���PP[���P�[���P\��Qp\��$Q�\��DQ@]��dQ�]���Q^���Q`^���Q�^���Q _��R�_��$R�_��HRp`��|Ra���R�a���R�q��(S�{���Sp|���S�|��T�}��8T@~��XT�����T�����T����T0���DU�����U�����U ���Vp���LV�����V����V`����V��� W@���<W�����W0����WP���X����HX��X@���Y����HYp����Y����4Z���\Z ����Zp����Z�����Z���[`���[����[0���\P��X]��]P�^��(^P��^ ���4_`���X_�����_p����_���_`����_����8`���T`����p`���`P����`����`��ap��4a0��pa����a@���a����a@��@b���hb����b0���b����bP	��cP
��hc�
���c���cp��,dp���dP���d��e���he����e���f ��Pf� ���f�"���f`#���f�#��(g`$��Xg�$��tg�'���g`+��8h�+��Th�+��ph�-���hp.���h1��0i@6��|i�?���ipA��8j�E���j�E���j�H��(k�J��xk�L���k0M���k�M�� l N��dlO���l�Q���l�Q���lPR��$m S��pm�S���m�T��npU��<n�U��XnpV��tn�Y���n�[��o]��lo�]���o_���o�_��pP`��4pa��`p b���p�b���ppc���ppd��(q e��\qf���qPf���q�g��r�h��8r�j���r`k���r�k���r�n��,s�o���s@p���s�p���spq��t�s��ltPt���t u���t�u��u�y��Puz��pu`z���u�z���u`{���u�{���uP|��(v�|��Tv}��pv`}���v���vP���v���w��pw ����w`����w�����w ����w����x���,x��xxЄ���x0����xp����x����Dy��dy@����y�����y����y`����y����z0���dz�����z��z0���{p���,{����H{�d{0����{p����{�����{����{p���|����(|@���\|����||����|`����|���|�}����@}`���|}����}����~P���D~p����~�����~P���0����0���L����܀@��������zRx�$x\��@FJw�?:*3$"D�q��0,\8����E�K�G0T
AAC8������B�L�I �D(�N@b
(A ABBAH�����NF�E�E �E(�A0�A8�D`
8A0A(B BBBDL����F�E�B �B(�D0�A8�DpI
8A0A(B BBBA8d@���
B�B�A �A(�D@�
(A ABBJ�����H0�
A8����F�E�D �A(�G@j
(A ABBI(�l���|E�A�D0Q
AACH$����\F�B�B �B(�A0�A8�DP�
8A0A(B BBBGHpԐ���F�B�B �B(�A0�A8�D`�
8A0A(B BBBGL�x����F�E�B �E(�A0�D8�D�=
8A0A(B BBBFH����F�B�B �B(�D0�A8�D��
8A0A(B BBBI8XL����F�B�D �A(�D@�
(A ABBEH�����F�B�B �H(�A0�A8�DP�
8A0A(B BBBK@�����6F�B�E �D(�A0�DP�
0A(A BBBD$$����fE�G S
AA,L���E�D�D0�
AAA<|X����F�H�A �A(�D@e
(A ABBA(�����zE�D�L0I
AAH@�����F�B�B �D(�D0�D@�
0A(A BBBD4,�����F�A�A �D0�
 AABAd0���5AA^ �T���5AA^ �x���lH W
A0�̛���F�A�A �D0�
 HABEzRx�0���$����H $���MF�B�B �B(�K0�A8�Dp�
8A0A(B BBBH zRx�p������(y�����=H k
EH�����F�B�B �B(�A0�A8�DP�
8A0A(B BBBHh���9H k
A0(����lF�D�D �L0A
 AABA(\ȡ���E�A�D0P
AAD�,���pH V
B@������F�E�E �D(�D0�G@q
0A(A BBBH����H z
F����6H d
E ԣ��6H h
A<����bH T
A0XL����F�A�A �D0|
 AABD�����kH ]
A0����eF�D�D �G0�
 AABK<�H����F�B�A �A(�DP�
(A ABBH 	�����E�D �
AH@	T���=H k
El\	x���*F�B�E �E(�A0�D8�G���A�D�F�A�I�V�m
8A0A(B BBBG��	8���R	F�B�B �B(�A0�D8�J�=
8A0A(B BBBFf�B�k�A���D�B�I�Z�6�E�b�A�hT
���TF�B�E �B(�A0�C8�J���G�E�B�B�A�S�b
8A0A(B BBBJ$�
���HH(T0D8B@L T
A0�
,���RH T(D0D8D@BHEPI T
A`X����F�H�B �B(�A0�A8�J�/�L�B�F�e� 
8A0A(B BBBHh����PF�B�E �E(�D0�D8�J�~�G�E�B�B�B�S�O
8A0A(B BBBH`�����F�E�E �B(�A0�A8�J��
8A0A(B BBBH��L�B�F�e�hPT��WF�B�E �E(�D0�D8�J�n�G�E�B�B�B�S�~
8A0A(B BBBA\�H��XF�B�B �B(�A0�A8�D�`
8A0A(B BBBD4�B�S�B�4
H���F�G�A �DP�
 AABAT
���6H d
Ep
���6H d
E�
��6H d
EL�
(���F�B�B �B(�A0�D8�DpF
8A0A(B BBBKL�
����F�B�E �E(�D0�D8�Dp:
8A0A(B BBBFDLX���F�B�B �A(�A0�D@l
0A(A BBBDD�����F�B�B �A(�A0�D@�
0A(A BBBA,�x���E�A�D@�
AAI,8���E�A�D0�
AAC<<����F�B�A �A(�D@{
(A ABBAL|���LF�B�D �D(�G@�
(G ABBMa
(A ABBIL����F�B�B �B(�A0�A8�GP
8A0A(B BBBALX��OF�E�B �E(�D0�D8�G�l
8A0A(B BBBILlX��F�B�B �E(�A0�A8�DP
8A0A(B BBBK<���F�B�A �A(�D@�
(A ABBGL���8F�B�B �B(�A0�D8�DpR
8A0A(B BBBGLL��pF�B�B �B(�A0�A8�D��
8A0A(B BBBE$����H [
Mm
C<�p��F�B�A �A(�D@|
(A ABBHT��F�B�E �B(�A0�A8�Dp�xE�JxAp_
8A0A(B BBBG\H��H �
Gx��\H A
G �0�E�D �
AB����H �
D ���H M
K]
K\��@F�B�E �H(�D0�A8�J���L�Y�A��
8A0A(B BBBIHX��3F�B�E �H(�D0�A8�G�i
8A0A(B BBBDH���F�E�E �E(�G0�A8�IPX
8A0A(B BBBH8�T����F�E�G �A(�I@R
(A ABBD@,�����F�D�D �J0w
 JABDY
 AABCHp��F�E�B �E(�I0�A8�D`�
8A0A(B BBBAH�h����F�B�B �B(�A0�A8�D`�
8A0A(B BBBA@���F�B�B �A(�A0�D@�
0A(A BBBGL�����D �
APhL����F�B�B �B(�A0�A8�G��
8A0A(B BBBCL������F�B�B �E(�A0�A8�G��
8A0A(B BBBAL����F�B�E �B(�A0�A8�D��
8A0A(B BBBIt\���F�E�B �B(�D0�D8�G��
8A0A(B BBBD��D�G�F�B�D�D�E�g��`	��]H O
A ��	��UA�G F
AA�	��^D G
E(0$
��kA�D�D0V
AAE8\h
���B�B�A �A(�D@u
(A ABBA ��
���A�R�N
AF(�H���A�A�D0�
AAA����5AA^ ���5AA^ h ���B�B�B �B(�A0�A8�H��Q
G��WȁLЁ^ȁA���
8A0A(B BBBH8�����B�J�I �A(�DP�
(A ABBD8�<-���B�J�I �A(�DP�
(A ABBC(�;��A�A�D0�
AAGL0�<���B�B�B �B(�A0�A8�G�4
8A0A(B BBBA(��m���E�A�D0w
AAA��?��xH K
AL�\@���F�B�E �B(�A0�A8�D��
8A0A(B BBBALD���F�B�A �A(�D@�
(G ABBFa
(A ABBI(hlE��#E�D�D0
AAB0�pF���F�F�I �D0!
 AABBH��G���F�B�E �B(�D0�A8�DPu
8A0A(B BBBI8�I��sF�B�A �A(�D@�
(A ABBKHP�J���F�B�E �E(�D0�A8�G`�
8A0A(B BBBE<�xK��F�B�D �A(�D`�
(A ABBHt��M���F�E�B �E(�D0�D8�G��E�B�B�K��
8A0A(B BBBGd�G�B�B�K�LTP���F�B�B �B(�A0�A8�DP�
8A0A(B BBBDH��P���F�E�E �E(�D0�D8�GpW
8A0A(B BBBKh��R���F�B�B �B(�A0�D8�Dpm
8A0A(B BBBDpxH�LxApxJ�NxApL\hT��wF�B�B �B(�A0�A8�D��
8A0A(B BBBIL��V���F�B�B �B(�A0�A8�DP�
8A0A(B BBBH8��W���F�B�D �A(�D@Z
(A ABBGH8�X��UF�B�B �B(�A0�A8�G��
8A0A(B BBBDL��Z��F�B�B �B(�A0�A8�DP�
8A0A(B BBBGD��[���F�B�B �A(�A0�D@T
0A(A BBBDH\��hF�B�B �B(�A0�A8�D`p
8A0A(B BBBDHh<]��GF�B�B �B(�A0�D8�G��
8A0A(B BBBD�@`��6H d
E8�``��B�B�A �A(�D@i
(A ABBA �`��DH v
A<, �`���F�E�D �H(�G@\
(A ABBH(l (b��ZE�D�D0q
AAH(� \b��ZE�D�D0q
AAH� �b��6H d
E(� �b��ZE�D�D0q
AAH(!�b��ZE�D�D0q
AAH8!c��6H d
ET!@c��iH t
DLt!�c��=F�B�B �B(�A0�A8�D`�
8A0A(B BBBGD�!�d���F�B�B �A(�A0�D@�
0A(A BBBA"8e��qH0c
AL,"�e��}F�B�B �B(�A0�A8�DP�
8A0A(B BBBE,|"�f���E�A�D0�
AADD�"�g��F�B�B �A(�A0�D@�
0A(A BBBE�"Ph��6H d
E,#ph���A�D�D��
AACHD#@j���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBEP�#�k���F�B�B �B(�A0�A8�D�S
8A0A(B BBBAd�#Pm���F�B�B �B(�A0�A8�D`�hKpFhA``
8A0A(B BBBKNhIpHxE�I`L$�n��6H d
E`h$�n��F�B�B �B(�A0�A8�G��
8A0A(B BBBDW�s�J�A�L�$�p���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBDH%�q��1F�B�B �B(�A0�A8�Dp�
8A0A(B BBBDh%�s��AH0s
AL�% t���F�B�B �B(�A0�A8�DP�
8A0A(B BBBIL�%�t��F�B�B �B(�A0�A8�D`�
8A0A(B BBBKH$&�u��PF�B�B �B(�A0�A8�G`�
8A0A(B BBBGp&�v��6H d
Ex�&�v��>B�B�B �B(�D0�D8�Dp�
8A0A(B BBBK^
8A0A(B BBBHy
8D0A(B BBBC�'�w��uF�B�B �B(�A0�A8�D��
8A0A(B BBBKD�U�B�D�E�E�V�5�U�B�D�E�E�V�(�'�z��EH(T0D8B@I T
AT�'�z���F�B�B �B(�A0�A8�G`�
8A0A(B BBBKlhKpRhA`(�{��6H d
EX4(|���F�E�B �B(�D0�A8�G�K�L�L�A�^
8A0A(B BBBIX�(�}��F�B�B �B(�D0�A8�D`yhEpFhA`T
8A0A(B BBBHH�(X~��F�B�B �B(�A0�A8�I`�
8A0A(B BBBHH8),��F�B�B �B(�G0�A8�D`�
8A0A(B BBBBH�)���
F�B�B �B(�A0�A8�D`�
8A0A(B BBBG�)��6H d
E|�)��:F�B�B �B(�A0�A8�G�a�E�J�B�f
8A0A(B BBBI��v�K�A�'�N�R�A�\l*����F�B�E �B(�A0�A8�D`rhKpFxE�T`T
8A0A(B BBBAT�*h���,F�E�B �B(�A0�A8�I`�hOpQhA`[
8A0A(B BBBHT$+@���,F�E�B �B(�A0�A8�I`�hOpQhA`[
8A0A(B BBBHH|+��� F�B�B �B(�G0�A8�D`�
8A0A(B BBBBH�+��F�B�B �B(�G0�A8�D`�
8A0A(B BBBB4,�����F�D�A �D0}
 AABA\L,(���F�B�B �H(�A0�D8�G�5
8A0A(B BBBC{�N�K�A�T�,ȋ��LF�B�B �B(�A0�A8�G� L�@I�A�
8A0A(B BBBH�-����{B�E�B �E(�D0�D8�G�t
8A0A(B BBBEB�O�T�B���F�c�A���M�O�A�J�M�W�B���J�I�A���D�S�A�p�-����TF�B�B �E(�A0�D8�G��
8A0A(B BBBFl�C�D�E�B�A�E�B�P�00.t���[H0\8D@DHDPDXD`I0T
A0d.�����B�L�P �L��
 AABA�.L���5AA^ �.p���5AA^ (�.�����A�D�D``
AAE4�.����A�A�D@L
AADDHIPWHA@p4/����1B�G�B �B(�D0�A8�J�Y
8A0A(B BBBAk�B�M�G�I���L�P�A�H�/l����B�B�B �B(�A0�A8�D`�
8A0A(B BBBD8�/�F�B�A �A(�G@�
(A ABBI(00Բ��qE�D�G0}
AAA\0(���wH n
J^
TX|0�����B�A�A �G�v
 AABKK�D�K�B�L�~�D�R�A�T�0ܴ��jF�B�E �E(�A0�D8�MPJ
8A0A(B BBBHDXM`QXAPL01�P
B�B�E �B(�D0�A8�J�,
8A0A(B BBBHd�1��B�B�B �B(�D0�D8�GpRxH�B�B�A�B�]pr
8A0A(B BBBA0�1l����F�A�A �D0p
 AABH$2��NH(\0B8E@I T
A$D20��NH(\0B8E@I T
Al2X��RH @
E�2���RH @
ET�2���GF�B�B �A(�A0�D���L�D�B�I�i
0A(A BBBGl�2���F�B�B �B(�D0�D8�D�L�G�B�D�D�D�]�o
8A0A(B BBBATl3����F�E�E �D(�A0�D@]
0J(A BBBIa
0A(A BBBG<�3���F�E�D �D(�G@S
(A ABBE44`���F�A�D �D0~
 AABG<4��5AA^ 8X4,���F�B�A �A(�D@�
(A ABBGD�4����F�B�B �A(�A0�D@�
0A(A BBBB<�4H���F�B�D �D(�D@r
(A ABBDD5���zF�B�E �D(�D0�GP�
0A(A BBBK@d5���;B�E�J �A(�A0�D@l
0A(A BBBE(�5����E�K C
DI]
AA4�5P��{E�F�D0
AAHT
DAE 6����E�I��
AF006t��vF�A�F �I0L
 GABE0d6���rF�A�D �D0R
 DABE`�6���F�E�E �E(�D0�A8�D`�
8A0A(B BBBG�
8G0D(B BBBE4�6����F�D�D �G@h
 AABG(47@���A�A�GPJ
AAK(`7����A�A�J�O
AAC��7���F�B�B �E(�D0�D8�G�m
8A0A(B BBBK��N�D�D�D�P�J�G�G�A�[��Q�H�G�H�G�G�H�H�H�H�H�h�D<8��F�B�B �D(�D0�DP
0A(A BBBEL�8����F�B�B �B(�A0�A8�Gpv
8A0A(B BBBK�8`�NH0@
A�8��lH ~
J9��AH s
A0,9��F�D�D �G0�
 AABD@`9���F�B�A �A(�G� L�@I�@�
(A ABBB`�90�?F�B�B �B(�A0�A8�D`�
8A0A(B BBBES
8D0A(B BBBB:��H V
B`$:��CF�B�B �B(�A0�A8�D`�
8A0A(B BBBAb
8A0A(B BBBB8�:��F�B�D �A(�D@W
(A ABBB`�:p�CF�B�B �B(�A0�A8�D`�
8A0A(B BBBER
8A0A(B BBBBL(;\�F�B�A �A(�D@�
(A ABBKb
(J DBBL@x;,�]F�B�B �D(�D0�G@�
0A(A BBBF,�;H�gE�Y R(B0F(A g
AA(�;��]E�I�G0@
AAA(<��_E�D�D0J
AAA0D<��0F�A�I �G@P
 AABE0x<���F�A�D �G@h
 AABB8�<x�PF�B�A �A(�D�P
(A ABBD�<��H m
E=��6H d
E($=��A�E�G0|
DAE0P=���B�I�D �D@z
 AABGL�=��B�B�B �B(�A0�D8�G��
8A0A(B BBBA@�=��B�E�E �A(�D0�G@W
0A(A BBBIH>��/B�E�E �E(�A0�A8�D��
8A0A(B BBBDd>��5AA^ 0�>��F�E�A �DP�
 AABA0�>p�F�A�A �DPK
 AABE�>��eH W
A�?P����F�E�E �E(�A0�A8�G�
8A0A(B BBBK��K�G�D�D�B�S�p�P�L�B�?�J�R�A���?�����F�B�B �E(�D0�D8�G��D�D�D�B�A�G�E�]�y
8A0A(B BBBEw�M�T�A���J�K�A��Q�Q�B���N�S�B�L@���_H m
KY
Al@(��_H m
KY
A�@h��_H m
KY
A�@���_H m
KY
A(�@���wE�A�D@F
AAF@�@<	���F�B�E �D(�A0�DPu
0A(A BBBE@<A�	���F�D�D �D0�8B@BHDPL0v
 AABA�A�
��_H m
KY
A�A�
��_H m
KY
A�A��_H m
KY
A�AD��_H m
KY
AB���gH w
IY
A B���_H m
KY
A@B��_H m
KY
A`BT��_H m
KY
A�B���_H m
KY
A�B���_H m
KY
A�B
��_H m
KY
A �BT
��_H m
KY
A0C�
���B�G�D �G0g
 AABA08C�
���B�G�D �G0g
 AABA(lCH���A�D�G0f
AADH�C���:F�E�B �B(�D0�D8�G��
8A0A(B BBBEd�C����	F�B�B �B(�A0�A8�G� L�@L�A�
8A0A(B BBBI��AU�AP�AA�A8LD8(���F�B�D �A(�DP{
(A ABBA0�D�(��nF�A�D �R0G
 AABA4�D�(��F�D�D �GP�
 AABF�D�)��CH q
E\E�)��8F�B�B �E(�D0�D8�G��
8A0A(B BBBD`�B�N�A�tE�,��5AA^ �E�,��5AA^ P�E-��#F�A�A �G0q
 AABDH
 DABIT
 DABELF�-���F�B�E �B(�D0�A8�J�Y
8A0A(B BBBG0PF$@���F�A�A �D0{
 AABE4�F�@��dH0\8D@DHDPDXD`DhEpI0T
AH�FA��GF�B�E �E(�D0�D8�G��
8A0A(B BBBG8GD��DF�E�A �D(�D��
(A ABBBHDG0E��BF�B�B �L(�D0�D8�Dp�
8A0A(B BBBG�G4F��NH0@
A,�GhF���E�D�GPx
AAF�G�F��5AA^ \�G�F��CF�E�B �E(�D0�D8�G��
8A0A(B BBBD�S�P�A�0XH�J���F�J�D �G0a
 AABH4�HXK��F�D�A �G`�
 AABC<�H@L��ZF�E�D �A(�D@�
(A ABBFlI`N��:	F�B�B �B(�A0�D8�G��
8A0A(B BBBA��L�g�A�[�Z�X�A�$zRx��������,r=��$�I�V��BH U(D0F(A T
A(�IW��JH X(B0M(A T
A�J@W���
F�B�B �B(�D0�A8�G��
8A0A(B BBBDT�K�S�A���B�A�A�U���D�D�E�Q�3�J�N�B�L�J�a��F�B�B �B(�D0�A8�D��
8A0A(B BBBC$�JDf��CH U(E0F(A T
A$Klf��CH U(E0F(A T
A$@K�f��JH \(B0I(A T
A(hK�f��JH \(B0I(A T
A8�K�f���F�G�A �A(�D@~
(A ABBIL�Kdg���F�B�B �E(�D0�A8�J�\
8A0A(B BBBD$zRx��������,�:��L\L�l��VF�B�E �E(�D0�D8�L�

8A0A(B BBBC��L�r��aF�B�B �B(�A0�A8�D�x
8A0A(B BBBDM�B�O�A���A�E�E�V�r�B�T�A�$zRx��������,�9���pMty��F�E�E �B(�A0�D8�G�s�F�B�A�R�X
8A0A(B BBBB�T�E�A�R���J�B�B�S�s�H�E�E�Q��N�}���F�B�B �B(�A0�D8�G�T
8A0A(B BBBJ��K�L�D�I�'�C�Z�A�j�I�_�B� �N(���>H(U0F(A T
A �ND���MH(^0L(A T
A��Np����	B�B�B �B(�D0�D8�J��M�U�A�k
8A0A(B BBBF��G�A�A�^���F�I�E�U��A�O�A�l�O�����F�E�B �B(�D0�A8�D�E
8A0A(B BBBI��J�O�A�1�L�T�A� �O��>H(U0F(A T
A$P���IH(^0H(A T
A8<P(����F�B�A �A(�D@z
(A ABBBxP����lH@R
F�P���|H@c
E@�Pd���7F�B�B �A(�A0�Dp~
0A(A BBBJ�P`���iHP[
AQ����gH@Y
A,Q���XH0J
A HQL���kE�G@X
AAlQ����zH@l
AH�Q����7F�B�B �B(�A0�A8�D�{
8A0A(B BBBI�Q�[H@M
A8�Q4����F�B�A �A(�D@z
(A ABBB ,R����aA�D w
AC(PR����A�D x
DOD
AA0|Rx���|B�E�D �G0U
 AABEH�Rġ��xF�B�B �B(�A0�A8�Gp^
8A0A(B BBBC$�R����lE�G C
AH$S@���5AA^ @Sd���5AA^ (\S�����E�A�D0~
AAAH�S���F�B�B �B(�A0�A8�D`�
8A0A(B BBBCL�S0����F�E�E �A(�E0�J@]HMPVHA@b
0A(A BBBE$T��<H j
EX@T���hF�B�A �A(�DPWXN`KXAPs
(A ABBHo
(A ABBKH�T���bF�B�E �B(�D0�D8�D��
8A0A(B BBBG\�T<����F�B�E �B(�D0�D8�G���F�R�A��
8A0A(B BBBIHHUܭ���F�E�B �E(�D0�D8�G��
8A0A(B BBBA@�Up����F�B�B �D(�D0�G`�
0A(A BBBEH�Uܰ���F�B�E �E(�D0�D8�G`�
8A0A(B BBBEH$V`����F�B�B �E(�D0�D8�GP�
8A0A(B BBBFHpV���(F�B�B �E(�D0�D8�Dp0
8A0A(B BBBKL�V��F�B�B �E(�A0�D8�D��
8A0A(B BBBG,W�����E�D l(M0I(A a
ABL<W(���
F�B�E �E(�A0�A8�D`M
8A0A(B BBBA�W���H �
A8�Wl���vE�D�G0}
AAAT
GAE,�W����E�D�G0U
AAIX���5AA^ \0X$���KF�B�B �B(�A0�D8�D�I
8A0A(B BBBH��_�J�A�`�X���oF�B�B �B(�A0�A8�G�v�P�Z�A�w
8A0A(B BBBI�X ��5AA^ YD��5AA^ D,Yh��F�B�B �A(�A0�D@

0A(A BBBK(tY0��yA�J�L@Z
AAAH�Y����F�B�B �B(�A0�A8�D`-
8A0A(B BBBGH�Y���@F�E�E �E(�A0�A8�O��
8A0A(B BBBHp8Z���V	F�E�E �B(�A0�A8�G�R
8A0A(B BBBIt�M�U�A���I�[�A�D�Z����F�B�B �D(�A0�GP�
0A(A BBBH`�Z0��F�B�B �B(�A0�A8�G��
8A0A(B BBBG��Q�H�G�Z�(X[���EH(T0D8B@I T
A\�[���B�E�B �E(�A0�D8�D��
8A0A(B BBBD�J�X�A�L�[����F�B�J �B(�A0�D8�G�
8A0A(B BBBDL4\��ZF�B�B �B(�A0�A8�D��
8A0A(B BBBI(�\�IH R(B0E8E@I T
A(�\4�KH T(B0E8E@I T
A@�\X��B�D�D �G0H
 AABCh
 KABE@ ]���B�B�E �D(�A0�D@z
0A(A BBBD0d]`�bF�A�A �D@�
 AABD�]��UH @
A(�]��dE�D�G@A
AAEH�]$��F�E�H �E(�A0�A8�G��
8A0A(B BBBAH,^���F�E�E �H(�D0�A8�Gp�
8A0A(B BBBAHx^,��F�E�H �E(�A0�A8�G��
8A0A(B BBBA0�^���F�G�D �GPv
 AABA�^,�\H @
H_p��H }
KH0_��CB�E�E �H(�A0�A8�G��
8A0A(B BBBFH|_���B�B�B �B(�A0�C8�G`m
8A0A(B BBBF\�_��FF�E�B �B(�D0�D8�Gp�
8A0A(B BBBBDxR�F�B�Rp((`���E�F�G`�
AAA\T` �FF�E�B �B(�D0�D8�Gp�
8A0A(B BBBBDxR�F�B�Rp�`�cH q
GY
E�``��H �
E(�`�E�A�D0{
AAA8a�� F�E�A �H(�L@�
(A ABBCXa|�H [
E,ta��E�A�D0U
AAG<�a��F�D�D �GP�
 AABDDXL`UXAP0�a@�H y(J0N(A T
BD(K0[(A Hb���F�D�D �G0c8M@K8A0S
 AABHT8Y@F8A0db`�5AA^ 8�b��uF�E�G �A(�G@K
(A ABBE4�b����F�D�A �G0_
 AABKL�b`����F�B�B �B(�A0�D8�DP
8A0A(B BBBE Dc����E�D �
AHhc����=H k
E`�c����B�B�B �B(�D0�A8�J��
8A0A(B BBBGI�P�G�D�X�\�c\���UF�H�B �E(�A0�A8�D���L�V�A�V
8A0A(B BBBE$Hd\���HH(T0D8B@L T
A0pd�����F�A�A �D0h
 AABH �d���A�K �
AA\�d\���)B�B�B �B(�D0�D8�D�G
8A0A(B BBBKQ�I�N�A�0(e,����B�D�D �F@�
 AABI8\e�����B�I�A �D(�D@k
(A ABBK �e<���A�D@�
AAL�e����B�E�B �E(�D0�A8�F�
8A0A(B BBBDfH��_H m
KY
A,f���_H m
KY
ALf���_H m
KY
A lf���A�DPF
AD�f���gH w
IY
A0�f���zB�A�A �D0h
 AABA(�f ��lE�A�D0O
AAEgd��6H d
E(,g���VA�C�G0C
AAA0Xg����F�A�D �DP�
 AABH�g8��6H d
E�g\��6H d
Ed�g���IF�B�E �E(�D0�D8�DpB
8A0A(B BBBFNxD�KxApbxH�WxAp,hh	��6H d
EHh�	��6H d
Edh�	��_H m
KY
A�h�	��_H m
KY
A�h0
��_H m
KY
A �hp
���E�G0M
AFH�h�
���F�B�D �A(�DP}
(A ABBDIXS`FhBpNP@4i`���F�D�D �D0�8E@BHAPI0v
 AABAxi��_H m
KY
A�iL��>H l
EH�ip��F�B�B �E(�A0�D8�D`F
8A0A(B BBBHj4
��_H m
KY
A jt
��_H m
KY
A@j�
��_H m
KY
A`j�
��_H m
KY
A�j4��_H m
KY
A�jt��_H m
KY
A\�j���kF�B�B �B(�D0�A8�G��
8A0A(B BBBDD�H�B�G�\�p k����F�H�B �E(�A0�A8�D�h�H�^�A�@
8A0A(B BBBDD�D�A�B�g��k���6H d
E�k���6H d
E�k��6H d
E�k<��6H d
El`��6H d
E l���6H d
E<l���6H d
EXl���6H d
Etl���_H m
KY
A0�l0��YF�D�D �K0i
 JABE�l\��9H g
E0�l����F�A�D �G0s
 AABGm���_H m
KY
A8m��_H m
KY
AXm\��_H m
KY
Axm���xH o
I0�m��F�D�D �D0L
 AABF0�m����F�A�A �F0U
 AABI8�mh���B�B�A �C(�D@^
(A ABBHL8n����B�B�E �E(�A0�A8�I�l
8A0A(B BBBAH�n,��|B�E�E �B(�D0�A8�G��
8A0A(B BBBB(�n`���E�A�D@E
AAG8o��B�B�A �A(�DP�
(A ABBGL<o���!B�B�B �B(�A0�A8�D��
8A0A(B BBBBH�o� ���B�B�B �E(�D0�D8�D`d
8A0A(B BBBK��o,"���B�B�E �B(�D0�A8�G���N�A�F�A�D�B�E�S�C
8A0A(B BBBG��G�G�B�D�B�D�D�^��ppt$���F�E�B �B(�A0�D8�G�6�X�P�A�S
8A0A(B BBBI��I�I�D�D�J�G�G�]�z�F�h�A��q�/���F�B�B �B(�A0�D8�J���T�T�B��
8A0A(B BBBA��G�O�D�J�D�N���I�h�A��q�D��rH�d
A�q@E��2H d
A�qdE��_H o
IY
AGNU���P�0���$�@h��� H;pXl�����0`��p�$�����$���$/(��$>QX��$gz���$�����$�����$�����$�$+>H�$Na� �$q��0�$��@�$��hP�$�`�$-A�p�$L`��$k~P��$��,���$��,���$�����$��8��$��`��$���$*7��$;M��$Vi(
z
�
��
������������&.6>FNV^fnv~�����`�$m������� m"8 ~"�"` � � � �"!@!�"�"h!�!�!("	�&�&
�&��$��$p�$`�$	�&d9	j9`8	t9
~9
�9-9�8
�9X99�8�8�8�8	9!9�849��$�^ D`D-FIF�D�DeF�DE0EXE�E�F�E�E�FF	�&�F�F��$��$��$�&�8�9�8`��8O�8���8�S	9�t9`K!9�M-9r49@q@9���0�L9�LX9��� �`�$p�$`�$`�$��$��$��$��$��$��$��$��$p�$`�$#$#5#E#Y#d#u#�#�#�#D$x�
�h�$p�$���o`81�
�$�$����Z :	���oXY���o���o�Y���o�o�U���o�(�$������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p�������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p���������������$���$p�$ �$�$�$��$��$��$��$��$��$��$��$p�$`�$P�$@�$0�$ �$�$�$��$��$��$��$��$��$��$��$p�$`�$P�$@�$@�$0�$ �$ �$�$�$�$�$��$��$��$��$��@x	�&�Lpi`�`���`�p���@��]���Q�W���l���@�P�� ��k�@s�}Pm�_P�0��|��@{�v�`����T0X0[]�b�^�` �Pr v0x�N0�0M�aP����@�	�&0Lpip��0�h0VpR�1���0�]���Q�W���l�po��P�����k`�@s�}Pm�_P��t�|�q@{�v@	�B�	�p�T0X0[]�b�^�`�ePr v0x�N0��L�aP��	 C0
�&��������� ����� � ���������P�@����������`��� �0�@����`��� ���p�����0�p�����0�p���@� ���P���0�p��`���GA$3a1x��GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130�]�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY0�P�GA+GLIBCXX_ASSERTIONS
GA*FORTIFY���GA+GLIBCXX_ASSERTIONSlibgssapi_krb5.so.2.2-1.17-12.el8.x86_64.debug����7zXZ�ִF!t/��_�!]?�E�h=��ڊ�2N�����)�����I#�;y����(n=}#��
�]H+���չ��hK‹	V��#z0�*&��)��>ۋLZ^%O	a��&����F=n�G?�j:�x7nFu�a�U���o<����s"�^�luf`zn��W!�_ŕ����� �zo}�=]��}7 *]���`�PP�4�Rb
�]"}A�i'{F�l�
�U� ���ֺ̺l�4�Ǵ=�؜5���%�CTc���ݜ�u�MO���Z��dR-����9�9_
��h���:���/�/�&�*Q]���h��=��T��oy�mr?V+��Vs�D�M��-I�H +%��B��?�%�	>�3߆--���ij��^��g�
9
�V+��ⷍ�W�M�ʹ���;?��C&���/�"�vCR�B�Gu7N�lX�N��}y�T�1�Y
�ی��Kr8E�JW:m0��݇\^D��/��<�J��+B���#ap	�g�~eS�C[�C%��oK���Ow-��C�z��j�~�|�`;>a�=��X�[s��e��G�q��h
���_転��/��Z��~��W���oP,h3����]ş<
m.lj~4���cE�Ǽ~d}�߫�Τ >�Г�f����ؿG9~�����/:׀Ga�/�|p����Z��ܻX����bN$��'v�Yo�<��c�|ҴDzc�Ns�J��������3M�L�V�־
h~���>�|�jָG|vJ�Zr����y��׋�<Y�+�^k�l=Kd ��v�Q�*#�
�Y`��.��
<�>ru�&�B*7^�X�U�⼽DSһ�8�A�`�"C_���!�J'��@y�+J���=Es�rX�/�y0~gu�һ?�����J�<�.���:�("n���Y���O���̆��G�=����Vi4��Zl*#@��|68�5�d�����x�=J=�=�`�B�U�רN��f��Ā��X*��cuO�/@|3Cl�a�� `U�E�]��5��*z׳)D�+�B9��)�c_�X~F����:���
�i60I�� �t���w�%}�,Eu�it��U8�4X6�ۀ{��͂P�?�Q1`��(��?��A;��֫������l��?KXӁ{WO�'2�Z��[��:��T�Q��;���a>!4��pG0�|jh��q��>?o[m�)�1/,^��
V
Q`Y��\�� 8S=H�/2�����MAGFް��,���Z����MaQ��[�Hy�CNH��U��qeY��7T5�g�0�E��N�J�([X�6|=h�I��c״�)gx�n�.�ю�?"s>v�V�"���'�'P�@zk�B]�lR
���eB~��+R���Sx
���b/ $
��%����s��;!��	qRX�'9��c��;��b���5Y����[�8���U�9�tI�x��[X!��?��@�{9L�e#�֓�������]�H�G��6��(���� B��ϼ��6��&�
���?K�P�m\�H
G�� �8�R��/���G���$RM;k�_Ӕ�HD�=���O�����;v�D���`���P/�v@!"$��IZ!���6݆0o���n�!�`��/���H.�2mw
�Z���|
����c�Hs�.Ы�,��ء2̈́r�&�|.�haU*�>�C&/6���j$����X�mt��^l�7Y�n���\�jb~��U��c�����B|���m]SjP�]1�Ӵ0��"���Eg�4Y�C����<���7�]Y��|��B$cA
���=��nWJ��)�^�H+��<J�j�#Uz�ƻT��	u��/Ʋi���w���z-�'��NQ�-�e�2O��sW�Q� %��r�Ll�
e�>�s�r!�t��L5�LO˃=?P%{}�ﱒg5C��R��x:u��;q rgW���#�n�w fc���]�\F�{}��~�,jwc�M�؟"�P.�[m�OE�8�-Wz��,�XpQ�w��-�HE��d�'ʘ�B�ِ6&mϺvޘ�9�Re1,A�|��zs\�ib��
�
���
f�����6X�Փ�/��a��¹O�!�Vk�X����[>G Б�+�X����%uP� D��؍�ܪ3ৣ���ވb��GI/�9G�T:O+"�êU�.�I��"�A����� ��u0�-�mB��E%�g���V�պ����ւ������"m
i�B.�ۧ缇4�jM)*|gd�,;_�����l�2O�; �3m-��G��de�蝍뇔!�j$����4��ʓo6e
DMe���� , ݙLQN��7[h��`�R�ijoz��7���3y�:1�P�?��w�`�b|��X�'[7�u����w�$�Q-.�@�>�N���p<ǹ��0�/�L���M���μ�+��gk�݃���Z�����MM����.�i��p��ŭ�����M�;��B�(����I{���yڲ�?tVqwF����0��H����v	����܌m9Ƽp2���l@L��,= �5��Btc��
���\�L1p�(���ra?��^Y��R��wq��vn�K��xXJ���#J9��Sx|���l�D�7r�Z>�p�3oR1�e�]HA���\歃�B��ũa��`)3oh�C<W�|r5��(\'�xf�� ���c��5y[�
B�$D���[��5)�kٶ��� ��_tC�xS3-��]�3|<�h��^庮�'^�n&�;�����\-��(N��_ZWG.f�d�������֋�n](���0&�u�5ϯNc
D|����������p{�r꼶�yv��=E$��5R�a���p�v�DRJ�^���D:�CD�
�!-��g����EC�L���X^Z�,�Y�,ؿ�G�g�����$vqC���{�0?�09���L��K�EX�ohx쀺��~A
d�ىM�Ta���i�}�8k5��|!�-Æ�ǵm�T�k���ր���|}Dò�z�?��x��^�Uy�F|.���Z�ZD��kz٦��� ��Ø$4�pT�o�h����=�S�9�)@Lz��	q&Uε��@�
�Ii��Vp��"��柨�T6�&,%)Ղ�TG������p��[�'�	EF�+G\��e���37Y��:�@��W}��6�Q�}N��Uv�:���Q.�޽��@4r/R"�VȆ�V���?�O��41H���ݯ���{l>�y�Z�>T1�S�w��++�Z� �"�
~�RY�ɫ�E���#�OuS��X�h�![�/���Qev_�G5�%�&��L�o��zZ�����2���$�����E�h�cO.]�sU�D@�5��D��"H$�E���\f��\����`�c\�[?�5���$BF���rwi�c�����N�̛�#:i����f�6q��B�Tn"و}&fK4��F�#��k��<����(�t�|o�4s�m�Rf�0hM�����B�_���Rwt�$`.
�|J�0a_�د!��h%��3�K���̘�����
{�_KD\���s6~��q�uB���S�nvLrƺ�_�OH�{��*�_��4T�������LJ�>���&ƽ�x�k�c���Kr���̒�7q=Ǜ�sg*O0�^����(�<Q�$ 8H��a��g�&߹��i��z��ƍ�M%K(g�-����Qp�M~D� �jS�&}�©�/\���N�Hp<Hd̲b�"6�g}06�����6�\�@J栛���>����@
��QZ`D�=:��$#%�n�oV��}�,6�
i��]�|���[�ѥ{�?�l��n�8�iYh9�-��~��r=[Z��G�(��D��|%��_��g���+�?�ߴ�b��p�{)(_5�a�J�2���g�TȌ������u)W����;�
܈�iF��ynP腺�<�E�gJ���(��>ɫ�o�w(
�*��-0[��?{J-�g�ʬb���Yt��Q��߽'�	ԑr�WS���4��Zy_��Yf'�<����/�3ٹ�熤��U��j�J)|.����q�U��Ue�x΀XyL�s_���¶z����Q{1��Q!Jm�q>��AUe6�����g��(s>Ʈ��Q@�|$j��o#���:|��b�o���s()��_�1й����J�(�T����������nĜ3ҵa;�9=�U��?\6��¶"b9;��f�uzc`)R�= ����w�
�(�raB���$������rK&���;;�c�+�j�J�v%�D࿋vgl�_R�!E����#/QQ+%c�갏umN�$8�}J��w�<�4S(�%�
x�*�Xc�w^b��E`�ǝ��x� �"$���Q
nq0�(���	%�5�$x"����j���f&�,ҳ*�M-t��~+�$���3'��>V����	 �_2O�K��]�Ś���u���׾-���I�y�q�v[�rǧ��,,���>����]����Ziu�EB���9 �Ǫ0u�Ǵ��|+O�C�H�ց��=��tS~���B˔lA��&
/�ۭ��R}ܕ�v�j����V��by��B��sGX����]��o�KڌrZ���}c�
���}H�!^m�5��;��a?M�<�6
a��_���%O�Z��D�>f�e��;7�e0��WG�Z���@�)BJx�"?hT��*I����D���"���
!jd]U:�TЉS�k��<6��u���s�@;3'k�ӑ5��OtMNQ��s��G�H���o:�H�I�KI9L�J@\R�~�p:�0�"��hݾ�=3��?k�����j�>� ��2������Şy_V��DԪm:�Kw���LG,l�5��o��p��+��8|)F�9�@�O�)��nqdғ�����zR�O#_e�7~x��9�|��;G�2��o��r#Bh�4�%���Vӫ�B#���p�]}8]cx�������li�<�A�-7���eٍ��[��ܿ?�w4U���)�R�Ǭ,p~��D&1�����9)��z=È��-�F��9q�	Gv�l�!��:X����b_c� n$4����DFz�Ef���W�����1v'8)e
�ؾ����)��ĩ�FK�����'��]��	L��}WN�Td�����\�=
���g�ʔ�L6�Oe��O��}A"����к����(�[̇V#0�ͮ�™�l1��RyS��a�y���������.� ǹ���lyBj-���C�'�V�P��I
}�A��5�v#Dh-���
��vM�5`%���-�Wڙ{��ݳOo��]��Bߵw~�s�B������e!�3���@��Šz'LZ�-K���O���x�U��&���8�m�`��]e�H��I4�4��<�9��/�]^�m�V�S�47d����i��7��MLڟ��1V�C����.�c��9b�*P/�8���˃Ux��`�h3�<�W����	�ք�1�Z)?�la@������;�ö���
v(���a��~�(M2�,ȿ�X���g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``8(���)08181�$8���o�U�UxE���oXYXYTT���o�Y�Y�c�Z�Z :mB�����wx�x�r����@}����0����0���
���9 ��H�HD�XX�q����� �h�$h��p�$p����$��� �(�$(�����$��X��$��
��$��x @�$8�@ ��d8�l"��41�d<@lib64/krb5/plugins/preauth/spake.so000075500000254510150403633730013144 0ustar00ELF>p'@�Q@8	@h1h1 �;�;!�;!�	�	 H=H=!H=!��888$$H1H1H1  S�tdH1H1H1  P�td���,,Q�tdR�td�;�;!�;!GNU�n��QLP@��ɿV�f�ˣFiO�  OPR��j|$��Q�G��!����|������ d����������Q �t����n, 10F"M5�3M,r����+��DC\#�U�"M�q�b�a��m�e��
0���
0������__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizecalloc__stack_chk_failkrb5_c_prfplusmemsetkrb5_free_keyblockkrb5_c_keylengthskrb5_init_keyblockkrb5_c_random_to_keykrb5_c_fx_cf2_simplereallocstrcasecmpFIPS_modeprofile_get_stringprofile_release_stringstrtok_rkrb5int_tracedcgettextkrb5_set_error_message__assert_failEVP_MD_CTX_newEVP_DigestInit_exEVP_DigestUpdateEVP_DigestFinal_exEVP_MD_CTX_freeBN_newBN_set_flagsBN_bin2bnBN_divBN_freeEC_POINT_newEC_POINT_oct2pointBN_clear_freeEC_POINT_freeEC_POINT_clear_freeEC_POINT_mulEC_POINT_invertEC_POINT_addEC_POINT_point2octBN_rand_rangeBN_num_bitsBN_bn2binEC_GROUP_freeBN_CTX_freeEVP_sha384EC_GROUP_new_by_curve_nameBN_CTX_newEC_GROUP_get_orderEVP_sha256EVP_sha512k5_sha256k5_bcmpmemmovekrb5_c_random_make_octetsencode_krb5_pa_spakekrb5_copy_datakrb5_free_datak5_free_pa_spakedecode_krb5_pa_spakekrb5_free_data_contentskrb5_copy_keyblockencode_krb5_spake_factorkrb5_encrypt_helperclpreauth_spake_initvtkrb5_free_keyblock_contentskrb5_copy_keyblock_contentsk5_buf_init_dynamic_zapk5_buf_add_lenk5_free_spake_factorkrb5int_copy_data_contentskrb5_c_decryptdecode_krb5_spake_factormemcpyprofile_get_valuesprofile_free_listkdcpreauth_spake_initvtlibkrb5.so.3libk5crypto.so.3libcom_err.so.2libkrb5support.so.0libcrypto.so.1.1libkeyutils.so.1libresolv.so.2libselinux.so.1libdl.so.2libc.so.6spake.so.0HIDDENspake_0_MITkrb5support_0_MITk5crypto_3_MITkrb5_3_MITGLIBC_2.14GLIBC_2.4GLIBC_2.2.5OPENSSL_1_1_0/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	
�H�������i`�> �ґ� �@�� �)0��@���
�ii
	�ui	Rm�;! (�;!�'<!<!(<!��@<!�B!H<!�B!h<!���<!�C!�<!@C!�<!��<!D!�<!�C!�<!
�=!`D!=!@D! =!@E!(=!E!0=!�D!8=!�D!�D! <!�D!B�D!�A�D!�?�D!�=�D!�;�D!`<!�D!B�D!�A�D!�?�D!�=�D!�;E!�<!E!BE!�AE!�? E!�=(E!�;@E!�<!XE!`{`E!�mhE!0b�?!�?!�?!!�?!%@! @!(@!0@!8@!@@!H@!P@!X@!	`@!
h@!p@!
x@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!�@!A! A!"A!#A!$ A!%(A!&0A!'8A!(@A!)HA!*PA!+XA!,`A!-hA!.pA!/xA!0�A!1�A!2�A!3�A!4�A!5�A!6�A!7�A!8�A!9�A!:�A!;�A!<�A!=�A!>�A!?�A!@B!AB!BB!CB!D B!E(B!F0B!G8B!H@B!IHB!JPB!KXB!L`B!MhB!N��H��H��!!H��t��H����5"!�%"!��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A�������%M!D���%E!D���%=!D���%5!D���%-!D���%%!D���%!D���%!D���%
!D���%!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%}!D���%u!D���%m!D���%e!D���%]!D���%U!D���%M!D���%E!D���%=!D���%5!D���%-!D���%%!D���%!D���%!D���%
!D���%!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%�!D���%}!D���%u!D���%m!D���%e!D���%]!D���%U!D���%M!D���%E!D���%=!D���%5!D���%-!D���%%!D���%!D���%!D���%
!D���%!D���%�!DH�=	!H�!H9�tH�V!H��t	�����H�=�!H�5�!H)�H��H��H��?H�H�tH�!H��t��fD�����=�!u+UH�=�!H��tH�=�!�����d����m!]������w������ATI��UH���SH��dH�%(H�D$1����H��H��tg�����H��tS�UH��H�H����H��PH�UI�$H�PH�C���1�H�L$dH3%(u/H��[]A\�fDH�����H�}���H����������ff.���AWI��AVI��AUA��ATM��UL��SH��H��hdH�%(H�D$X1��A��tu�o)D$ M�����Ao$)L$0H�����oU)T$@L�KH�L$ D��L��A�L����H�t$XdH34%(��H��h[]A\A]A^A_�DH�t$���4��u�H�T$���҉�H�T$HD��/���H��tZH�T$���H�C�S�o)D$ M���C���H�D$8���H�D$0H���;���H�D$H���H�D$@�-���f���>���������AVI��AUI��ATI��U��S��H��PdH�%(H�D$H1�H�AH�t$H�SPAKEsecH�D$<���H��D$DretH�D$H�D$H�D$ H�D$(��Å���H�\$���ۉ�HD�� ���H������H�D$(�D$ ���\$$���H����H�T$<͉hH���H�t$H�L$ L��L��H��T$DH�D$f�P�T$F�P
H�T$�����Å�u���foD$ H�D$(H�D$ A$H�|$����H�L$(H��t�T$$H��u.H�����H�L$HdH3%(��u3H��P[]A\A]A^��H��1�����H����f������@��AWI��AVAUATUH��S�Ӊ�H��(H��$xH�t$H�t$@H�D$ dH�%(H��$1�H����Aoȉ�$��$pH��$H��$��Ao	H��$ȉ�$A�GH��$�H��$`ȉ�$H����oH�D$pH�oH�D$xH���H��$�H��$�)�$�)�$�)�$�H�D$XH��$hH��$�H��$�oH��$�H���H��$�H�D$?)�$�H��$��
A�ƅ�t=H�t$XH�����D��H��$dH3%(��H��([]A\A]A^A_�@A�wH�L$PH�T$HH�����A�ƅ�u�L�L$@H�L$H1ҿ�L�L�L$(L�i�L��I��H�D$A�����D$HE�����I��H���L�L$(M9���L�|$(E1�L�t$pL�|$�DI��L9l$v]L�L$@M��A�EA�	��L��L��H��D$?M�����t�A�ƋD$��uL����������T$1�L���b���L�|$(A�wH�T$PH�L$XH�����A�ƅ�u�H�D$HA�wH�T$`H��H�L$X�D$`���D$dL�d$h����A�ƅ��{���L�L$ H�L$XL��H��L��lH��l��A���P���@A��8�������AWM��AVI��AUI��ATI��USH��H��dH�%(H�D$1�I�H�>H�2H��H�7H9�sH��H;u�@H9t{H��H9�r�H������H��toI�I�,$H��H�H�]H�EH�CH��tH�UH��L��Ѕ�uI�$H�EI�1�H�L$dH3%(u%H��[]A\A]A^A_�@H�@I�1��Ҹ������ATI��USH��H�!dH�%(H�D$1�H�+H�u�B��tVH��!� DH��H�H��tH�(L��H�u���u�E�@1�H�T$dH3%(u(H��[]A\�D�S�����u�H�+L��H�u��������f�SH�� H�d!dH�%(H�D$1�H�98tEH�!H�!�H�;9tH��H�BH��u�1�H�t$dH34%(u'H�� [�@�|$��|$��u�H�H��;:u�����fD��AWL��jI��AVA��AUI��ATUSH��HdH�%(H�D$81���H�H�8H�djL�L$ H�D$ LD�1�1�H�D$(H�KjH�5Yj��$��tIH�|$ �w�H�|$(�m�H���u�$H�t$8dH34%(�H��H[]A\A]A^A_��I��H�|$ H�D$0H�5�iH��H�D$H�D$0���H��H����1��?fDI���tH��H�5jL��1��j�H�T$H�5�i1���H��H��tH��H�L$�r���H�L$����t�H��t 9t�1��f.�;�t�H��H9�u�H��H�߉T$H��H��H�L$��H�L$�T$H����T�H���j���@H���E����I�}8E1�1�L�L$(H�iH�5i�
����H�|$(H��tk���D�#D9�t^1��f.�D�$�D9�tGH��H9�u�H�l$(�H�55iH�=�h�!��:ǖL��H��H��1��\��$�:ǖ�����0��1�H��t,H�X1�D�0H�hD�`H�@ H�@(I������$����@H��1��F��$���f.��$���H��D�H�5ThH�=�gH�$�d��:ǖL��H��1���H�$�$�:ǖH���N����J�f.���UH��SH��H�O(H�W dH�%(H�D$1�H��H��H�H9�s>H��f�H�{H��tH�H�@H��t
��H�U H�M(H��H��H��H�H9�r�H�}�U�H�} �L�H�D$dH3%(uH��H��[]�.���f���H��H�WH�OdH�%(H�D$1�H��t;1u�-D;4�t#H��H9�u�1�H�|$dH3<%(uH�������,�ff.����H��dH�%(H�D$1�H�GH�H�G�H�D$dH3%(uH���������H��dH�%(H�D$1����tH�T$dH3%(�Gu$H���H�
#g�CH�5&fH�=(f����fD��SH��H��dH�%(H�D$1�H��H���H��t#H�H�@H�1�H�T$dH3%(uH��[Ð����$�@��AWI����AVI��AUI��ATM��UL��SH��(dH�%(H�D$1����I�@I�I�I�A���H����H��H�A�U�H;Pt/H�|$dH3<%(����H��([]A\A]A^A_�f.�H��I�V(I�v L��L�D$�������u�L���H��I�PL�D$H��H�$HE��i�H�$�L�D$H����I�p�H�$H�D$H��HD��4�H�$L�T$H��I����M��L�\$M��A�I�UH�t$L�$L���SL�$L�\$��H�����H�@A�$��M�T$A�D$H�H�@L�]E1��E���EI���t(H��H�5�dL��1��L$L�$�t�L�$�L$@L�߉$����$���DE1۹��fD�H��u.�L$L�$L����L�$�L$�@��O���fDL��1��L$L�$���L$L�$I���f�H�P����D��AWAVI��AUM��ATM��UH��SH��(H�<$L�|$`��dH�%(H�D$1����I�GI��b���H���!H�H�ù�EH;BuA�t$H9�uA�EH;Bt)�H�|$dH3<%(���/H��([]A\A]A^A_�H�<$H��I�V(I�v L�D$�O�������u�H��H�p�H��HD����I��H��t�A�E1�I�L$H�UM�E��A��H��ASH�t$ H�|$L�\$�S Z^����L�\$uYH�H�<$H�@A���M�_A�GH����)���L��H�5�b1��$�e��$�
���D����fD��H�H�PH��u�$L�����$����DL��1��$���$I������fD��SH��H��dH�%(H�D$1�H����H��t#H�H�@0H�1�H�T$dH3%(uH��[Ð�����@��AWAVM��AUM��ATI��UH����SH��H��dH�%(H�D$1��H���H��tSH�S(H�s I��H��H��I�����uM��L��L��H�4$H��A�W(H�L$dH3%(uH��[]A\A]A^A_�������@��AVM��AUATI��UH��SH��H��dH�%(H�D$1���H����H�s01�H��I����M��tpH��1ۅ�t�UH�uL��H�������u'I9�vRH��I9�vIH�CH��L9�s<H�����H��I9�u�L��1�L�����L��tC��1��f���u�@L���p��H�L$dH3%(u*H��[]A\A]A^�fD�C����@������ff.��AUATI��UH��SH��dH�%(H�D$1�H�L�(�5�H��H��t:�H����I�uH��L���a�H��t<H�ML�E1�H��H���G���t#H�T$dH3%(H��uH��[]A\A]�DH��1������/�ff.�@��AWM��AVAUATI��USH��H��H��(H�D$`H�D$H�L�0H�C(dH�4%(H�t$1�E��HEC H��H�$���H��H����A�vL��1���I��H��txH�{��I��H���cI�NH�{L��H��L�C����uxL���0�H���(�L����1��9��H�L$dH3%(�H��([]A\A]A^A_ÐE1�E1�E1�L�����H�����L���o�L�������H�{��I��H��t�H�{L�K1�I��H�$H������t�H�SH�{L������t�H�{L�CL��L��L�������y���H�{L�K1�M��L��L���h����Y���H�{L�K�L��M�FH�L$��I9F�1���L����H����L����L����1������E1������#���AWAVAUATUSH��H��H��(H�n(L�$L�L$dH�%(H�D$1�H���HEn H��L�(����I��H����H�{��I��H�����@�I��H����H�sH��������H�{L�KM��H��L��L���W�����I�UH�<$1��p�L��I�m�t�H�4$L���P��I��Hc�H)�H����H�{L�KL��M�EH�L$����I9EuEL���g�L����L����1�DH�L$dH3%(u5H��([]A\A]A^A_ÐE1�E1�L���"�L���z�L���r�����fDSH��H��H�dH�%(H�D$1��o�H�{ ���H�{(���H�{��H�{��H�D$dH3%(u
H��H��[����9�f���H��dH�%(H�D$1�H��t#H�D$dH3%(u(H���Z���f.�H�D$dH3%(uH������fD��AWAVAUI��ATUH��SH��L�&dH�%(H�D$1�A�$��t<���S����-H�L$dH3%(�SH��[]A\A]A^A_�f����A��I�ƾ8��s�H��H���H�(D�����H�CH������H�CH������H�CH����H�SH�{H������twH�{���H�C H��teI�L$I�T$ H��H�{L�C����tGH�{��H�C(H��t5I�L$I�T$(H��H�{L�C�����tL�s01�I�]���H�����������fD�3�A��I����D��A��I������D������f�H��dH�%(H�D$1�H�H�T$dH3%(uH������ff.�@AVAUATUH��H��SH��H��dH�%(H�D$1����H�{I�����H�{I���~���H�{I���r���H�������H����H��L��I��3H!�H�EL��I��&H��
H!�H���L	�H�EL��I��H��H!�H���L	�H�EH��H��H��'H!�H!�H�U L	�H�EH�D$dH3%(u
H��[]A\A]A^����@H���ATUH��SH���H��HL�^dH�%(H�D$1�H��L�NH�vI�H��?I)�I�H�HU H�������L��H��H�����H��?H!�I!�I)�M��I!�I��?L)�H��H!�H��?H)�H��H��?Lc�L!�I!�H�M�M�H��H��3M�3H��H!�M��I��3L�O�I!�M��I��3J�I!�H��H!�H!�H��3J�"H��H�� Hȍ6�WH��H��0H!�H��(�WB��	�L��H���_�WL��H��
�WL��H���W	L��H���W
L��I��-H��%�WD���A	�L��H��D�_�W
L��H��
�WL��H���WL��H���WL��H��"�WL��H��*�WL��H��2	ʉ��WH���H���WH��H���WH��H���WH��H���WH��H��/H��'�WH��	ʈWH��H���WH��H���WH��H���WH��H���WH��H��,H��$�G�WH�D$dH3%(u	H��[]A\����ff.�H��L�dH�%(H�D$1�L��H��3HFH��H��3HVI��I��3LVL��H��3HN H��H��3L��N�IH�������I!�H!�H!�I!�M�L�WM��I!�I��3L�L�I��H��3I!�H�H!�L�GH�GH�O H�D$dH3%(uH�������ff.�AWAVAUATUSH��hL�^ L�FdH�%(H�D$X1�H�BH�L�VH�NL�\$(H�.L�z H�$K��L�JL�rH�\$I�CK��M�,@K��L�t$ I�4BH��L�AL��I��I��H�$I��H��I�H�D$I�H��I�L��I�H��I�L��I�I��I�H�$I�L�\$H��L�d$I��H�D$I��H��I�L��I�H��I�L��L�l$I�I��I�L��L�t$I�H��L�L�M��3E1�L�L�I��H��I��I��I��H�D$I��I��I�H�$L�l$0I�L�t$8H��I�H�D$ I�H��I�H��I�I��L�L�M��M��3M��E1�L�I��H�D$ L�I��L�l$@H��L�t$HI��H�D$I��I��I�H�$I�I��I�H��I�I��I�H��L��I�I��L�L�L��3E1�H�L�H��H��H��I��I��I��H�D$H�d$(I�H�D$ I�H��H�������I�H�$I�I��I�L��I��I�I��L�L�I��3E1�M��I�I�L��L��3H��H�PH�D$H!�L�H�D$0L��I!�H!�H��3L�H�H��H��3H!�H�GH�D$@H!�H�H�GH��H!�H�GL��H!�H�G H�D$XdH3%(uH��h[]A\A]A^A_����f�AWAVAUATUSH��H��HL�NH�n dH�%(H�D$81�H�NL�FK�	L�H�$H�D�H�|EH��H�4AL�?H�|$(H�O�<H��I��H��L��H��I��H�L��H�I��I��I��L��I�I�I��M��H��L��H��H��H�K��I�@H�I��H�H�M��31�L��H�L��H�H��H�t$H�|$I��L��I��I��I�L��I�I��I��H�t$I�I�I��31�L��M��M��I�L��I�I��I��H�$I��H��I�H�D$(I�H��I�L��I�L��31�I�L��I�H��L�t$M��M��H��H�$H��L�,$I��H�H��H�H��H�������H�H�M��31�L�H�H��H!�H!�H��3H�{ H��H�PL��H!�H�H��H!�H��3H�H�H��H��3H!�H�CL��H!�H�H�CH�$H!�H�CH�D$8dH3%(uH��H[]A\A]A^A_������AUL�nxATL��UH��SH��L�cPH��dH�%(H�D$1���H�s(H�}(L�����H�D$dH3%(uH��H�}PL��L��[]A\A]������f�AVAUL�nxATL��UH��SL�ePH��L�u(H��dH�%(H�D$1��z���H�{(L��L���k���H�{PL��L���\���H�D$dH3%(uH��H�{xL��H��[]A\A]A^�1������ff.��AVAUATUH��SH��H��dH�%(H��$�1�L�l$0H��L�t$`���H�u(L��L��$����H�uPL�����H�D$`L��L��L�s(H�H��$�H�D$hH�H��$�H�D$pH�H��$�H�D$xH�H��$�H��$�H�H��$����L�EHL�M@L�U8L�]0H�E H�UH�MH�uH�}(L�H}L�L�L�H�{(L��H�s0L��H�K8H�S@H�CH���H�,$L�T$0L�\$H�t$8L�L$M�$*H�L$@L�D$H�T$HL�c(N�$H�|$ H�D$PL�c0N�$	L�c8N�$L�c@L�$8L�cHI������M�I)�H�������H�H�H�H�L)�H)�L)�L)�L�SPL��H�sXL��H�K`H�ShH�Cp���H��$�H�sPL��L�H+D$0H�H��$�H�H+D$8H�CH��$�H�H+D$@H�CH��$�H�H+D$HH�CH��$�H�H+D$PH�C �8���H�D$hLd$`L+d$0H�H+D$8L�cxH���H�D$pH�H+D$@H���H�D$xH�H�$�H+D$HH+l$PH���H���H��$�dH3%(uH��[]A\A]A^��B��f�AWAVI��AUI������ATI�������UH��SH��H��L�E L�MdH�%(H��$�1�L�]H�FHL�|$0H�V@H�N8L�UH�v0L�H�}L�H}(H�C L�L�H�;H�sH�KH�SH�EHH�U@H�M8H�u0L�EL�L�ML�]L�L�H�} L�U(L�L)�L)�L)�H)�M�L+UH�K8L�S(L��H�CHH�s0H��H�S@L���~���I�V(H�s(H���n���H�UxI�vPH�|$`�\���H�}PH�uXH�EpH�UhH�H�M`L�4$H�H�{xH�|$0H�H�H���H�t$8H�N�/H�l$L�H���M)�H�L$@H�{(L��L�\$L�T$L�N�&I)�H���H�T$HH�L�CN�!L�L$ M)�H���H�D$PL�CN�"M)�H�s0H�sxL�CN� M)�L�L�L�L�C H�K8H�S@H�CH���L�D$0H�l$`H�t$8L�\$hH�L$@L�T$pM�4(M�H�D$PH�T$HL�sPI)�N�4L�L$xL�L�kxH��$�L�sXN�4L�L�s`N�4
L�I�L�shL)�L�48L)�L)�I)�L�spH���H���H���L���H��$�dH3%(uH�Ę[]A\A]A^A_����ff.�AWAVI��AUI������ATI�������UH��SH��H���L�E L�MdH�%(H��$�1�L�]H�FHL�|$`H�V@H�N8L�UH�v0L�H�}L�H}(H�C L�L�H�;H�sH�KH�SH�EHH�U@H�M8H�u0L�EL�L�ML�]L�L�H�} L�U(L�L)�L)�L)�H)�M�L+UH�K8L�S(L��H�CHH�s0H��H�S@L����I�V(H�s(H�|$0��H�UxI�vxH��$���I�VPH�uPH����H�$H�|$`L�t$0H�t$hH�N�/H�l$8H�L$pH�CxH�D$M)�L�L�\$@H�T$xL�N�&H�I)�L�T$HL�L$PH���H�D$L�CN�!H�M)�H�{(L��H���H�D$L�CN�"H�M)�H���H�D$ L�CH�H���H��$�N� M)�H�L�L�L�L�C H�s0H�sxH�K8H�S@H�CH���L�D$`H��$�H�t$hL��$�H�L$pM�4(M�L��$�H��$�H�T$xL�sPI)�N�4L��$�L�L�kxH��$�L�sXN�4L�L�s`N�4
L�I�L�shL)�L�48L)�L)�I)�L�spH���H���H���L���H��$�dH3%(uH���[]A\A]A^A_����f�H����dH�%(H�D$1�H��L�H�L1�H!�L1�H�H��H��(u�L�H�L1�H!�L1�H�H��H��Pu�L�H�L1�H!�L1�H�H��H��xu�H�D$dH3%(uH������ff.�@AWAVAUATUSH��h�W�dH�%(H�D$X1��GH��H��H	��WH	�%��H��H�$�GH��%��H�D$�GH��H	��WH	��WH��H���GH����H��H�L$�OH�ËG
��H��H�\$H���G��H��H�t$ H	��W
H	��WH��I�ƋGH��A��H��L�t$(I���GA��H��L�|$0H	�H	�I��A��L�T$8�GD�WD�g#H���W,�O*I���GI��D�wI��H��D�o�o$H��A��I��D�O4L�\$@I��I	��GH��A��A��I	��G$��I��H��A��I	��G"I	��G+I��H��A��H	��W0H	ȋO1I���G,A��H��M��I��H���W1H��A��H��L�D$HD�G9H	��G/H	��G8H����H��I��H���G9H��A��I����H��A��H	��w7H	�w<H��H��%��Hi�,
I�Hi�-I�Hi�g�	I�Hi�S��H��_(H��I���_)H��L	�D�'L	�Li��Hi�����H��L�I�Ii�,
I�Ii�-Mi�,
L|$8I�Ii�g�	I�Ii�S��I�Ii��Mi�����H�Hi�-L�Li�,
LD$@I�Hi�g�	I�Hi�S��I�Hi��Hi�����I�H�Ii�-I�Ii�g�	I�Ii�S��I�Ii��I��GMiɃ���H��H���GM�Li�-H��H	��wH	�Hi�,
H��H�Hi�-L�I�Hi�g�	I�Hi�S��I�Hi��HiɃ���I�Hi�g�	I�Hi�,
HL$0I�Hi�S��I�Hi��Hi҃���I�I�H��I��I��H���I�I��H)�H�T$HH��H%�H��I)�I��I�H��H%�H��I)�I��I�H��H%�H��I)�H��I�H��H%�H)�H��I��H�H��H%�H��I)�I��H�H��H%�H��I)�I��I�H��H%�H��I)�I��I�H��H��H%�I)�I��$I�H��H%�I)�H��H��H�H��H%�H��H)�I�Hi�-Hi�,
HD$(H�Hi�g�	I�Hi�S��I�Hi��Hi҃���I�Ii�,
Hl$ I�Ii�-H�Ii�g�	H�Ii�S��I�Ii��Miۃ���I�Hi�-M�Li�,
L\$H�Hi�g�	H�Hi�S��H�Hi��Hiۃ���I�Hi�-I�Hi�,
H\$I�Hi�g�	H�Hi�S��H�Hi��Hi�����H�Ii�-I�Ii�,
Ht$H�Ii�g�	I�Ii�S��H�Ii��Mi䃐��H�Ii�-L�Mi�,
L$$H�Ii�g�	H�Ii�S��I�Ii��Mi탐��H�I��$L�I��H���I��L�M��I)�H��I��H���I��H)�H��M�I��H���I��H)�L�L��L��H��I���I�I��L)�I��H���I��I)�I��M�I��H���I��I)�H��M�I��H���I��H)�I��L�I��H���I��I)�L�L��L��I���L)�H��M��H�L��I���H��M)�M��I�L��I���H��M)�I�I��I��I��H���I)�Ii�,
I�Ii�-H�Ii�g�	H�Ii�S��I�Ii��Mi䃐��H�I�L��A��H��H�H���H��H�H�؁�H��I�L��A��H��H�H���H��I�L��H��H�A��H�ȁ�H��I�L��A��H��I�L��A��H��I�L��A��H��I�L��A��H��I�L��A��H��Hi�,
I�Hi�-H�Hi�g�	H�Hi�S��I�Hi��Hi҃���H�L��H��I�H�A��H��fD�/I��H��H�H��H��I�L��H��H�H��H��I�L��H��H�H��H��I�L��H��I�L��A��H��fD�I�L��H��I�L��H��I�H��H��A	�H��H��D�o�WH��H��H�����WH��	�H�ʈGH��H��H����I���GL��H��H��	�L��H��_�GL��I��H��	A���G	H��H��A	�H��H��D�_
�GH��H��H�����GK�$	�L��I��H��A��?@�o
�GH��A	�H��D�g�GH��H��H��
���GJ��	�L��I��
H���O�GL��H��D�OA	�L��H��D��GL��I��H��A���GJ��A	�L��I��H��A��D�G�GL��H��A	�L��H�D�W�GL��I��H��	D�w�GH�D$XdH3%(uH��h[]A\A]A^A_����ff.����H��dH�%(H�D$1�H�D$dH3%(uH��H��L��H�������q���UH��SH��hdH�%(H�D$X1�H��H�\$0H����H��H���\�� H�5�:H���8������H�L$XdH3%(u
H��h��[]����@H��f�dH�%(H�D$1�G()GPH�G H�GHH�G(H�GpH�GPHLJ�))GG8)G`Gx��H�D$dH3%(uH����y��f�H��f�dH�%(H�D$1�G()GPH�H�GHH�G(H�GpH�GPHLJ�GGG8)G`Gx��H�D$dH3%(uH������f�H��f�dH�%(H�D$1�G(H�H�GHH�G(H�GpGGG8)GP)G`H�D$dH3%(uH����w����U�(H��SH��H��dH�%(H�D$1����H�u(H�{(�(���H�D$dH3%(uH��H�uPH�{P�([]�������ff.�UH��SH��H��H�V@H�N8dH�%(H�D$1�L�C H�FHL�KL�SL�[H�v0L�H�;L�H{(L�L�H�}H������H�uH�MH�UH�E H{(H�CHH+;H�S@H�K8H�s0L�C L�KL�SL�[H�}(H�������H�H�H�H�L)�L)�L)�L)�H�u0H�}PH�sPH�M8H�U@�(H�EH�Կ��H�D$dH3%(uH��H�sxH�}x[H�@�]�*����DAWL�='�AVAUATUH��SH��	H�4$L��$�H��$@dH�%(H��$�1�H��$�L�l$H�D$H��$H	H�D$ H��$PH�D$I��H�|$(f.�H��L�����H�u L��H��@���L��$�H��$PL��$�H��$XN�4L��$�H��$`L��$�H��$hL�s�N�4L�s�N�4	H��$pL�s�N�4L�s�L��$�I�L�s�I������L�L)�H�{�H�������H�H�H�H�L)�L)�L)�H��H+�$�H�s�L��H�K�H�S�L��H�C���H��H��L����H��xH9\$ �����L�d$(A�?H�l$0L���P���D��D��1�1����H4$�։����H������	�H��u�H��A��3���L�t$fD��L��H��I��xD1�A���҃����G�A��u�H�\$L��A��H������H��H�\$L��H���:�H��L���/�H��L��H���a�H��L����A����<���H��$�dH3%(uH��	[]A\A]A^A_��b���f�AWI��AVAUI��ATA�USH��hfoFPfoN`dH�%(H��$X1�L�t$pH�FpH�\$@H��$�H��L��)D$@)L$PH�D$`��L��H�����H��H�����H��H��H�����H��L��L������H��$�L��H����H��H��H������H��H����H��H����A��u�H��H��H��A�	���H��H���h��H��H���U�A��u�H��H��H���q��L��$H��L���.��f�L��L��D$���D$��u�H��L��H���*��H��H������	f.�H��H�߉D$����D$��u�H��H��H������H��H�����1f.�H��H�߉D$���D$��u�H��H��H�����H��L���o��cf.�L��L��D$�Q��D$��u�H��L��H���j��H��H���/��1f.�H��H�߉D$���D$��u�H��H��H���*��H��H�������H��H��D$�����D$��u�H�D$L��H��I��H������L��L��H������L��I�u(L������L��L�����H��$0H�������$0����A0GH��$XdH3%(uH��h[]A\A]A^A_��H����AVD��AUA��L�-m9ATA��UH��S��H��dH�%(H��$�1�D���!��)�����Ic��H��I���I����I)��I����K�4,�,���K�t%xH����҃�������K��%�H����҃��������K��%hH����҃��������K��%�H����҃�������K��%XH����҃�������H�����K��%��҃����x���K��%HH������_�H�EH�oE(H�uP�oM8foUH��fo]H�D$PH�E )D$0)L$@T$X\$hH�D$x�)��H�t$0H��H������H+$H��$�H�������H��H+T$H��$�H��H+T$H��$�H��H+T$H+D$ H��$�D��H��$���H��$�dH3%(uH�İ[]A\A]A^��$���@��AWAVAUATUSH��H�$H���A�H��$H�L$ L��I��L��$�L�D$(I�\$(L��$�D�L$4H��H��$�H�D$8dH�%(H��$�1�����f�H��L���$H��$@AD$hHDŽ$�n��H��$�H��L��H��H�D$���H��H��H�\$H��$�H�l$H������H�$�H+�$H��$@H�������H�H+�$H��$HH��$�H�H+�$ H��$PH��$�H�H�$H+�$(H+�$0H��$XH��$`���H��$H��L��H�$�H��$@H��$H�$�H��$HH��$ H�$�H��$PH��$(H�$�H��$XH��$0H�$�H��$`�"��H��L��L���D��L��L���	��H��L��L���+��H��L��L��H��$ H��$��
��L��H������H��H������H��H�����H��L��H������H��H��H������H��H�����H��H��H�����H��H���|��H��H���q��A��u�H��H��H��A�	���H��H���L��@H��H���=��A��u�H��H��H��A��S��H��$�	H��H��H�$���@H�<$H�����A��u�H�4$H��H��A�	���H��H������fDH��H������A��u�H��H��H��A�1����H��H�����H��H�����A��u�H��H��H��A�c���H�<$H���o���H�<$H���\��A��u�H�4$H��H��A�1�q��H��H���6��H��H���+��A��u�H��H��H���G��H��H�����H��H�����L��H��L���#��L��L��L�����H�T$L��L�����L�l$L��L������H�T$L��L������H��$�H��H������H�$�H+�$�H��$�H�������H�H+�$�H��$�H��$�H�H+�$�H��$�H��$�H�H�$�H+�$�H+�$�H��$�H��$�������H��$�H�$�H��H��$�H��$�H�$�H��$�H��$�H�$�H��$�H��$�H�$�H��$�H��$�H�$�H��$�� �����H��L��L�����L��$�L��L�����H�D$(��$��@����8�tyH������H+�$�H�4$L��H��$�	H�������H��H+�$�H��$�	H��H+�$�H��$�	H��H+�$�H+�$�H��$�	H��$�	�?��I�D$xI�T$(L��H��H�D$(�����Aof�L���AoW)�$�L��$`)�$�)�$�A)E0�y��D$4L��L��H�()L��$��H��,HD��^�L��L��I��������9�L��$�H��$�L��$�H��$�N�H��$�H��$�L��$�N�
H��$�L�L��$�L�8L�L)�L��$�L��$H)�H��L��$�H��$�I�H��$�I�U(L��$�L��$M�L��$�I������L�L)�H��$�H��$L�H��H��$H)�H�t$L�H��$�H��L)�H��$��h��H�D$L��H��H�p(�T��H�T$(H�<$I�ux�B��H�|$I�UPI�t$P�/��H��$�H��$�I������L��$ H��$�H�	H��$�I�L��$(H��$M)�L��$0L�H�	H��$�L��$�N�>H��$ M)�H��$�L�H�	H��$�L��$�H��$(L��$8H�	H��$�L��$@H��$�H��$0H��H�	H��$�H��$�H��$8H��$�N�9L�M)�H��$�L��$�N�:L�M)�H��$�L��$�N�8L�H��$�H�D$M)�L��$�H�px���H��$�L��$�	I������H��$�L��$�	I�H��$�H��$�	M)�L��$�H��$�L��$�N�9L��$�	M)�L��$�	L�L�L��$�N�:H�I)�H��$H�t$L��$N�8M�L�M)�M�L�l$M)�L��$L��H��$ H��$(H��$0L��$L��$8A��=��L�<$L���A�I���L����L��H�{xM��@��L��hH�\$�C�H�t$L��L������L��H������H��H���Z�A����A��I��@I���D��H�L$L��I�����H��H��H)�H�4��'��L��H�����H��L����A���w���I��L�����H�t$L��L���[��L��H���P��H��H�����A���k���L��L������[���f�H�\$@E1�H�D$`)D$pA�)C@H�D$h�$�ChHDŽ$�)D$@)D$Pf�H��L���U��L��H���J��H��L���?��L��H���4��H��L���)��L��H�����H��L�����H�|$L���v��D��D��H���)�H��H�L$ D�$D��у�A��[�H�$A��E1�L�E(H�PxD��H��L�R�H��D1�������H��L�I�:H��I��L1�H!�L1�H�~�L9�u�L�R�H��L�^(I�:H��I��L1�H!�L1�H�~ L9�u�L�R�H��L�^PI�:H��I��L1�H!�L1�H�~HL9�u�H��L�QxH�7H��H��L1�H!�L1�H�qpL9�u�A��H� A���;���H�t$H��L��A���_��L��H������A���w���H�|$8H���Z�1�H��$�dH3%(uH���[]A\A]A^A_����脪��@��AWAVAUATUSH���H�T$H��$@H�t$0�L$L�D$ L�L$(dH�%(H��$�1�H�l$8H��� H�D$0�O����D$��t7H��$�dH3%(�D$��H���[]A\A]A^A_�f.�f�H�] H��)�$`)C����H��H��1�@�H������	�ΈP�H9�u�L��$�I�u@L��@�H��H��������P��H�H9�u�I�}?L��1��H�����A�����)�J�H9�u�H��$�E���$�H��L��$`M�}A����I�EAH��$�H�$f.�A�C�4>L��I�����L��H��H�����H��H���Q��L9<$u�L��$H��E1�L���E�L��H�����H��L�����L��H�����H��L�����L��H�����H��L�����L��H���x��H��H������DC�T=D��L��I�����L��H��H������H��H�����I��@u�H�D$f�L��A)E �o�oXA)E0)$A)MA)]�����D$L��L��H����H�V#HD����L��L�����L��H��H���4��H�l$@H��H�����H�|$(H���7�H�D$ fo�$@fo�$P h�]����o���f.�DAUI��ATI��H��UH��SH��hdH�%(H�D$X1�H�t$0H�\$ �D$ H�T$(���H�t$H��衧����tH�L$XdH3%(udH��h[]A\A]�f�H�t$H�UL���ϧ����u+I��$�tH�5��L��1��ϥ��H�|$L�������H�t$L��D$�O����D$�蔦��@��S�8�H��H��dH�%(H�D$1�蕦��H�H�D$dH3%(uH��[��G������H��dH�%(H�D$1�H�D$dH3%(uH��H���̴���������SH��1�H��dH�%(H�D$1�H���Z�����uH�$H�H�L$dH3%(uH��[�败��@��AWAVAUATUSH��(dH�%(H�D$1�H�l$xH�����E��u)1�H�L$dH3%(����H��([]A\A]A^A_�f�I��H�2H��I��M��M�����H��UH��H�EH���$���T$H�D$�P����Ņ�uZH��;u��sL���g������v���H�C H���i���H�H���]����:t9H���H���:t'H�H��u��9���f����.�����&���DL��L��A�V@����脤��@��UH��SH��H��H�2dH�%(H�D$1�����H�sH���|���H�sH����H�sH��财��H�K0H��t�S,H��u+H��諢��H�D$dH3%(u"H��H��[]鍢��DH��1����H�������@��AWAVAUATUH��SH��(L��$hH��$xdH�<%(H��$1�L��$�H����H�ӋPI���tgL�+M���dA�M���~���:ǖuH�{t�{,ɀ����8iH��$dH34%(���{H��([]A\A]A^A_�H�{�:ǖu�L��H��L��H����������룐H�@H�{�D$p���T$tH�D$x���H�D$HH�D$PH�D$`H��$�HDŽ$�H��$�HDŽ$�H��$�HDŽ$�H��$�HDŽ$�uMA�uL��L�\$M��L�$輱��L�$L�\$��u7H���tA�UH�5R�H���2���H�{�����:ǖ���DH�CA�UL�CL��H��L�L$pH��L�\$L�$H�D$������������H���L�$L�\$t"A�UI�MH��1�H�5�赠��L�\$L�$I�E H���x���H�H���l����:t$H����H���:t
H�H��u��C���L�\$L��H�T$XH��L�$A�WL�$L�\$�����H�t$XH�SH��L�$L�\$�%���L�$L�\$������H�SA�uH��L�\$H��$�L�$H��H�D$�I���L�$L�\$������H��$�H�L$A�UL��H��$�I��L�\$8H�|$(I��H��L�T$0H�D$�h���H��$���H�4$���rH�s(H��A�UM�MH�t$(H��VH�L$(L��L�D$8至����XZ���;H�L$A�UE1�L��L�D$H���?��������H���L�T$0L�\$8t(H�T$H��1�L�\$(H�5��L�$��L�\$(L�$H�D$HL�T$(L��H��H�KA�UPjASL�\$�t$(L�L$@L�D$8�ĥ��H�� L�$L�T$(�����zL�\$(L��H�T$HH��L�$A�W L�$L�\$(�����OH�D$PL�$H�KL��A�UPH��jAS�t$(L�L$@L�D$8�S���H�� L�$�����H�t$`L�$H��$�DŽ$�HDŽ$�����L�$������H��$�H�L$`H�t$PH��I���AL�T$H�$�۝��������fo�$�H�t$hfo�$�H��$�fo�$�DŽ$��$��$��$������u[H���L�T$tH�5K�H��1��K���L�T$H�|$hL��L�T$�t�������uL�T$�D$H��L��A�WX�L$�H�t$HH��L$����H�t$PH������H�4$H��H���R���H�t$H���E���L��$��L$M��t��$�H�����$L���)����$L��$�M��t��$�H�����$L������$H�|$`H������L�GM��t�WH��uz�$L���ћ��H�|$`�$�$����$����f�H��$�H�D$H��$�H�$����L��1��$�����$I���F���L��1��$����$I���Y���L��1��$�ՙ���$I���n���赜��D��H��dH�%(H�D$1���usH���H�H�� H�AH�w���H�AH�,���H�A H����H�A0H����H�A8H�k���H�A@H�����H�AX1�H�T$dH3%(uH���D����������@��H��dH�%(H�D$1�H�D$dH3%(uH��H�������כ���H���WdH�%(H�D$1�H�GH��wO�����FH�W1��O����H)�H�WH�H�H�H�V���H�D$dH3%(u]H��Å�u�H��H�GH�H�PH�H��t��ȉFH�W��H9�v#�G1҅�u��G뢐�G�m���@�O�q�������1��ff.�@��H��dH�%(H�D$1�H�D$dH3%(uH��H���|���跚�����SH��H��dH�%(H�D$1�H��������uH�$H�H�L$dH3%(uH��[��a������ATUSH��dH�%(H�D$1�H�\$PH��t:L��H��M���L���H�D$dH3%(u7H��L��H��H��[]A\�֘��fD1�H�L$dH3%(u	H��[]A\����AWA��AVAUATUSH��H��(H��$`H�t$L��L�D$ L��$hH�D$H��$xL�L$(L��$pH�D$dH�%(H��$1����H�D$0H�D$@H�D$HH�D$PH�D$XH�D$8H�D$`H�D$hH�D$pH�D$xH��$�HDŽ$���H����L��$�H��D��H��L���c�����H�D$PH�$����L�t$`H��$�H��t��$�H���.H���F���H�L$HH��t�T$DH���?H���'���H�L$xH��t�T$tH���H������H�4$H�����L��H�����H�t$8H������M���M���?H�|$01�H��tH�辖��H�ډ�H�|$A��H��$dH3%(�H��([]A\A]A^A_��H�t$L��I��L�D$@D��H��L�t$`谨���Ņ����H��$�foD$PH�t$8DŽ$�H��$H��$�H��$HDŽ$�HDŽ$DŽ$�D��$�)�$�H��$�����Ņ��k���L�L$8L�D$L��D��H�t$H���I����Ņ��D���H��$����H�D$xH��H�D$p����H��f��$H��$H��H�D$�B���1�H�t$H��f��$��&���H�t$H��D���ȉ�$����H��$�D$DH��H�κH�L$ȉ�$�ޗ���T$DH�t$HH���͗��H�L$�D$dH��H��ȉ�$諗���T$dH�t$hH��蕗��H��$�H���9���H��$�H�D$xH�L$pH��H�D$ �D$p���T$tH�t$(����Ņ������H�|$8H�t$0����H���H�D$8������D��H�5f�H��1�謔������H��1�薒��H�����fDH��1��~���H�����fDH��1��f���H�����fDH�D$P�:ǖH�$�U���DM��tG��[:ǖH�L$0H�|$D�E1�1҉�A���������H�
܎�"H�5h�H�=m��t���H�
���(H�5I�H�=_��U���D��AWH��M��AVAUATI��UH��SH��H��(dH�%(H�D$1����L�l$`L�t$hH�$H�D$�RXH��tkL��胤����u/1�1�L��A��H�D$dH3%(uTH��([]A\A]A^A_�fDAVH�KXM��L�CpjL��H��AUH�T$R���,���H�� �fD1Ҿ:ǖL��A������ff.����AWI��AVAUATUSH��H��xA�PH��$�H�L$ L��$�H�t$`L��$�L�L$L��H�D$H��$�L�4$L��$�H�D$dH�%(H��$h1�I�@��$�H�D$`DŽ$���H��$��z�����tFE1�1�1҉�L��A��H�t$`H���ڐ��H��$hdH3%(�5H��x[]A\A]A^A_ÐL�t$`A�.��tT�����uE1�1�1Ҿ:ǖH�<$A��뚐�H�5y�H�=	蘒���:ǖH��H��1��֑���@A�F��~ME1�H�\$ H�l$�f�A�FA�_I��D9���I�FH��B�4�軡����t�H�\$ A�FD��H���9��\I�FHc�D�<�H��tD��H�5"�H��1�����H�D$D��H��H�HX�4$L�@pAUjATL�L$8H�t$(���H�� ���@��H�\$ ���D$(I�G H��H�l$L�|$H�D$hH�D$8���H�D$pH��H��$�HDŽ$�H��$�HDŽ$�H��$�HDŽ$�H��$�HDŽ$�H�D$xA�WXH�D$0H����H��$���H��H��A�WhD�\$(����L��$�A�:ǖH��$�H��t��$�H���ZH���Z���H��$�H��t��$�H���MH���5���H��$�H��t��$�H���@H������L��H�����H�t$hH��蘍��H�t$xH��軎��E1�1�H�T$pD��H�<$A������f����HDŽ$���$�H��$�H��$�fo�$�H��$(H��$ )�$�DŽ$0H��w6A�:ǖL��$����H����H�5��H��1��Ǝ�������H�J�H�pH��$(H��$ H��t�f�8u�H���LDŽ$0E1�H��$ H��$D�\$(H��H��H�D$@��H��$H���o�D��$0D�\$(E����fo�$fo�$)�$�)�$�E������H���tI�VH�51�H��1�D�\$(���D�\$(L��$�H��$�H��D�\$(L������A�ą������D�\$(I�nE1�L��H�t$I��H��D��訑��A�ą������H���D�\$(tL��H�5��H��1��j���D�\$(H�T$0D��H��D�\$PH��$�H��H�D$(蠒��A�ą��6���H��I��H��H��$�H�T$PRD�\$`H�l$8H�t$D��L��$�H��D�\$l�&���A��XZE�����H�D$H�t$H��P I��H�D$PH��H�D$hPjWH��AWD�\$|L�L$hH�L$PH�t$(D��賓��H�� A�ą������E�f,��E��IE�蚍��H����H�t$hM�F1ɺAH��$�H��D��$�I��H��$�DŽ$���裎��A��=:ǖ� ���������H�t$xH���`���A�ą�����H�D$x�8��H�D$8��hL�`H�u���D�\$\H��I����H��tH��L��L��D�\$8�ԍ��D�\$8H�>�H�{8H�T$@H��$@H��$@H�%�D�\$8L��$HH��$PHDŽ$X�"���L��H��A���Ԋ����`ʪD�\$8t\���@���H��$ D��E�����uH�D$H�t$H��H���P`H�UH��u�H��$ A��D�t$����E��D�\$���H�D$ D��H�߁H H�D$pPj�t$`AWL�L$hL�D$HH�L$PH�t$(�‘��H�� A�����fDA�:ǖL��$����DH��1��~���H�����fDH��1��f���H�����fDH��1��N���H�����H�J�H�xE1�H��$(H��$ H��tD�xfA��E��H��v$H��H��$(H�PH��$ D�XA��j���DŽ$0�Z����Ɋ��A�����ff.���H��dH�%(H�D$1���usH���H�H�� H�AH���H�AH�|�H�AH�����H�A(H�v���H�A0H���H�A8H�0�H�A@1�H�T$dH3%(uH���D������������H��H���SPAKEkeykeyderivSPAKEP-521P-384P-256edwards25519spake_preauth_groupslibdefaults 	
,mit-krb5spake_preauth_kdc_challengekdcdefaultsgroups.cgstate->is_kdcUnrecognized SPAKE group name: {str}No SPAKE preauth groups configuredSPAKE challenge group not a permitted group: %sSPAKE key generated with pubkey {hexdata}SPAKE algorithm result: {hexdata}group_optimistic_challenge�E~GIi�5,��7�9��.��}&���	�H,n��֗���kڅ�:�� ����f���/��NÁ�h;
�V2/���\��oz_�2�I������=p 8N�� ұ�ɖ����Fjlnr�u�ة`�+�f�Θ�k|j��f|�S��S:|sJ7�S#g1Ί��rvµTB�K�S$Y�vS~%�\#�^��+�Pw�z�L�t5���jL<�j5Mm�����FN�8@�Z�sM���r�{��TD�=��;�T��*i?�Xt�������Q|1ya�//Ј��Ì��)�~F*�	|_�k��WU��V]�L[��Ў����TE0�Y ��z]kZ�(`��a`xk�!Ku�w�8��_u��\	8NO{s�����\dh���艾�Ԗ��\��3(���;ύ0��τ�a�b�yf��|�q���2�T��?r�"��6a"��:��xᙣY��!�+QmC
FP�~�#V�ȿB�ER4�/�����ЙY.��K��u��q���0�b��ݖ)ȿ�tx{��V��5z&JL���R�*_.�4�_�ѿɕ
��SY��!x^��N����ĺ�P�[C�
dX�ӕ��5�%U.F\����CL�^d
��#}O�/J��ޏO��������~2Hj�^s�l���2ȵV�]��o3opI`I##LX���P�YC�{�QE�
������j��z�NG�48�<���fζ���Î5��-������/ZJ�LN�˸��.���_b*�f`
~ܓE��L���\%��N�Ls���",|9+p�av�q��W���/4�f�u�n&y����Xݴ�t���0熲�,�X�_�j�u��c�dY�������N��L��3�96�5��
&���KoK��!�C#�J���+6�CX1�� 1h�'�؛C��W2枿�߭zR#�'lU���ؙ:
��Mn��/<+�Z�g�ӿ��O40���P8e��2��i�]�h�����+S����0ʰ��Lo+�#E�2.-�]��c9[bc���4���hT���"�؜��ܜ,�2&��Sk�v�%Ꙕ�)|�S��� �pP��@Pf�0ø-(�{H�{�Ep.���l�5� ����'>�R�ױ�"�J���.�w4I��댦��͊�|]Q�o���q�>n����>����|�?|z�&�>��i� UO�z��h�+-�]-O�Ԏwy*%��F����Ӻ��>X���9y(����cܬ�Kt�����vo g���K�-����F��Id�$Eb\׊��OSB��U�s�[1Z�:C�3��^Y7�W�;�1��������$SK8"��^�W�38�e���:+�aS�� ����c�&~�e���Ҷr��#x���zHo��ͧ�݆�^�P4d��@ �����[�]�GTJ"VW�,;bb����Q�F]yf���Td�>A�Q�D��z	Y�GE�1�,��V�?+�(I��B�w�+qt��4R��Ĺ��^��K�n�׃Y��=��}��y���]D�Ιw�ʼ�j�e?<��c����mm?D)��mā��Z�Ura">_���z�v� ���UVzH����l�M"H��RE1&��]�u���U�Tp
�P�@���m�@yb7�xX|x�T�1�}H϶'7���.zH�rp{DE�I��	xfq=xQ$������ES�^�t�#5��|sF2	T���%�2	�/�P��ֱ�QBi8	��p��a
VCf"�����o�}���NV��"m%ȥ�ER<:�k�����!F�~��IX�E��Đ����͡�����N�A�n���5�]W^�qN�w��5\��NB���Ҵ'�4�o���Gc�~O�+z�1�;��Ɠ�%Áq��L>�2L���2K=��|>�@�9�s�(�|��'(>4���3��)��Oh�z�yՓX�y�g�0f
��
-�����q<���D���A�v}
X�2MS-҇�c���մB`�Sў̉�<�޸صO���fZY�_z�����Y����Ĩ�B���P�[�0��L���Uq�j	ȜO��`z���d�e���̪O7��OM��Z/���@1�UuX�����
?��BL��C�Pb1m�Ƣr�hc�+�j���	���Q�������I*��F�X2��h
�2U�*%���A���q�aMZD��3y	�v��BK.�k��x�Q��|��S5���3��D�BT���x#A5��-����u n�\���G���6�d)ST��\�x����>�T��*�����?�� 8�������
ZM����:1qw��A� V�lڜfm4�2�^�,j�W��}{�3)�D���o]�N�s.�]B��d�qK�g2�0`74h����%Q���𩑎��N��\cM�sV��%�PA)�8?Ƀ���a�!2��,M�tDwg����d�';�N�1���������m0^�ԧ�}
�η�,� N�S��Ʊ���>�fY6�Q�
̲�g/3Ιؗ�v^��4���]T<�6�X��7֠��� J���������yō�ʨ��	��J����i�/c�٥"&���BGa�Ե�o�����7�^Q�ITc�]G�x���G�����1=��v
��!D�-�QZO�44R�9Z�d�qi�X��*��HDo+��q�G�i2�w�P���;�_�}'��Lԯ5�>u�@�#�o�o־�a^fX�(��Ǐ.���a�գI�[PnX4��f�/ZƅB t��b^D��a�k9 q4;y4_�O4�����"�x�[9�nK���Z���쥼u9��iF��
9�z�dyL�=[��6�?��)H��qN/<d��(v[�>ugg��_��5E��_•ݗ�{��I8ѱ-���.ϹX��q���ޯR����f���U�T��A^��Q�utvs�e$˕h��*�QH���BD
OF	sY�٭�@�������Y̺�
)�������V��[A��x��tX�@i�M�k�7+5�g�!%�^/w g"�Y�2R�+	��&|%b�|�=u�R�
�'�L��c>:�_D�0�v���4�=�-#��Vzw�G��kU����_+�o�&|�{"q	jL�-
/r:�N F�ly <�M��>�}k�u	�΅��09�7��o�I�����#���7G�����Z԰���EN$ĝ��G�{�9�4�0A?d6���f�wD�I�X���5F��HC�D-"��Q<����T��6S���=8�d�|X��	�&�����f|YL���P�t"���+�dq���p�q��FCtD}�d���k#u���PE����r����K��`L�{K����xV�ְ2]h�s�u�Gy�ڈs,��ӭ�/�P��,j|���}��U���c!�EX*�ɮ�L�y)v8�������*R�t^�1�8@�L�X�Hmu�}/J�iq
[5����������Ժ�x'�4y���(U���fQa�D�P.����/�f9��h5�!�R�0J�t�H������/�M�j	�N$�扜!ۢ�ԫx �`��@��HZ[*B$^�V�Vgs0臚�J���e����
�c�vj��t�2�陵�K<��,��4\�}��]��q�7Ӄ�1T����|a���Eg�������
%F�}~�E�e!r�O�8����|����:-F:�"�N����.��U��_˖��_�.W��b�"���6)��]({��ȭu�(lj��[��f}��uqs4��`JaI:��܆J`�d|��Q.j1EP�E۳0��Oct��	.�ꅋ'��{eY�p�Xi�/0&��Yp��0�-:�w2I����ʀ�i2�<�g���>@R�N�5-)���#�;�}��{��0Tt�*y�!��0���W&2�]�V��N#�}��L�(���/0�f�Q����'7[\��
8��3�b��g�,�]*#����U�;�i�զ�@<CxW�c�s(P����~dq�L�����VR?�N��R����`�gQ\������c�_�a}�S{u!/�������Ș�k�ۋF�H�j�=�Y�E�A!���3�M��������F/��������%���9G�!%�Q�K��+����E�p���"�2�G��L����}G,i��^�j�w�w�����L�/��|� Y�,��qG�@��߽��������vJ@�߲"H�4��AC��?� �gc�C�Q��ϖ�C�|���o�<@�"i4W�91��l�KKl��>׸u�������̶�zQ�k���/�%�b���X��`$��˗�y��/^%�P��V��B|��),�q�YY�0�./5��ꈛxu�H��f2�3�/:Q���:?m�������5h;q�!��1�ru�:/��S�
�/o����v�=�d���ƀO�Eo����8��prd�
t���;��ghKRB8E�0��}РA!C�%¸N����AcC8&-�Il��z�~w���Q�ſ"���*R��N��A3���-��'�n>�3��<���	#�n8IaiS/����V�k����dt6CRP�_��� I^L�a���R'z�ݷ"�W�f���uI����A�mQ?.��j9:b�(��DJ	�U��ng����F!#o\oc�֒��Ņ{���PV-z���m>��s8>�
��_�
�V�&�{u]��_�=8����?x͞x�4R�xq�
�,ڣ:�p�E�Y%{���S#h���h`��tz���de���N���Ͳ�S�����[�|�mHW����t	����c���0PFJϰ-z���"�%�w�zE�gA	�j`���1w��Q3�S��
�e��f�����@�ȟ��F�kyT��%�p��	��-��1J=���0
8
�,<��������L�ݫn�2b'��~D�r����?�W�:�V��N��w��p�,Ch��<�{g(&v�c��O����|����E���$Og#&&�����s��O&��{	��J3:%�;�ǛJ��a�_�rb\����4��s�sE�P���eIǍtP ��Fs-qݓ1���|�$��@4
�s���9���/��n�ݟ@((���:K����\�2Z�Y8M��>�6���T��?��/X���rbG�lA?�Lə�XD����HNi��H���t�O!��S�è,y��@�j��:��#ˆL�u�K��>i@���#*�i�R�R#������/vP����ʔ�����v�yEyHF	J���R��*M���e@�8R[p�;]�pl�~��rcm�b`����kި-�������i��Y�2†���$ڈm�*f"��Z�����P?t����}�ýc�᧴����K��c�'��uR ����mБ'��<��r=�h���Ec��%��נ$�_e_�g������� ��������]�y� RE�c�p!�c�k��m�(k&j]��s������

�E�Fu{�5T�h7{jؗ2cL/Z�`AC_0p�VN݃��C����`g�a3SeVC�6ch/1C�FT"H�<Y&m,B��H��T���}�`�ԩ��(���^�B�Y��cSG��-*)F�֢�0�sS$p
L4�{���a�>�k������ÒT��r�^C(�X(�O�C��h<�Ճݪ���zYi�0��E��x�Uw|��3hwUDQ@��I��cc�Rj�t��i ��C�'a�s�i�S&����	Q�jo�rH�������p�.l���8�Aqy�dm^���`�T�G�?'���U׋	�\�:��Z��e^O�hu�_�~����|���sUM	�I��<�CA�� ����r��;�Q��̀�p����%y7�`VVN����-��;�Y�*-?K�뎻�4�	JY�<9�L�w���
����qfh���9�~X�ƒ����Dl��;��
�4�ρ��E6�:U��������E�
X?e�}���I�㟊�
���jp�Q�����;aZ}�.��M�r��scc���x���6�����
d����_
��Wi~'t����FOC+���ƔL{�h�[�)��E���71<�K��ٻ]��\����ڷ�\\�̵P���0�g�u&���SB����������i��P;G<H�g��GU�&ٯ_�M���1�S9�o��<(�U�`�g����G+�.!��H��<#��K0X��W��Apm[~4���p�����e�>��E���E;b�c7���
P���}�����(��ױ}3���8�mG~���o��7<����(Cy؋�I��z@�������#䶵"����P�uN2v=�A�TH�^,�6�UV��H�~�Z���Ǜ��ku�1J�v_ѽ���)���.�<(b��R�C]��5"z0Cq�󋴏�z��N�I_)�]6�D|8-�^8f^	�Ob;��x�sӉ���q��������v���h�ȁ�]$��I��&�G��ط�4���S��b�v�I�P��$D3���LV��1%5#�N���CE���'��sH�!Ac:O d�e@A7���;< �np~U$�oY����L�]��@0�}�e�މ�G�������ǜ�\f��
��e��:_xi��ט{���o�vX����h�a�jo�rw�Y���san�Wj,?���4|�npm6�9x�&ϕs�伎u��ڷ�Y��_0�Oϡu̘
3u
"����z!d��+��I�rC�[`iX�\q�1�r����!�H(��|]-��\�
u{�F�����w6L����O!��9����&��C�g�I�oD�x��N��C�^;�F�A>��]Vr����Rm�|��n���j�ɺ$]+ ��f��$w
�;��kA�j>�H��֣�jX&�U����[��>K�Q<�{�aF:8򉢼	o�:�U7����{�,��iw=��-G(+R|sQ7vS�*>��6���ֽ�@����O��H����n�R����9��[%�j1��s���-~�}�:R/��Z��Б�p��rSj��+�o�P���1��(���sm�����JH96��d�H�<��� ��l��l�O���5��4�k(�3��ۺ�����~8N���C$bV�*������s�h+�_
d��p���0J4�"6.Bl�j����D������DR�*1�Kk\��*?��L�`ʡ�n����D��������g�2�5)i�P��H�>���^G��q���b2��;5�L$+���Lkӽ �1�qy�j���x��+Y��z�S�Q1'q�a��4�d=�-�r[N�D�����X��<Pg���k��#��/L�i�"RG����x��i���?a����:h�S�<]������$�x���8k1K�Tj�+�(]~�Q��t/
����V��]��|&�F����܌�,\��3��u�ڷj
a4��w�e�9L��F&R��mޝ��̗���T����ǎ"j���<j_N����=�(
���/��\��2�5J���T��Ջz
]˞�]r��o������I�M�J!1�׻��#0�u�W$N��g��x����^{E�=x
(����66ex	31��4CDQ�V7�ð�**�˼��PL^
���_�����b�����֏gȩ��/��������ʷm�pIX�k��
O�chc1��B~��
1��z�O湧���!.��uS
{.��cb�9E~��:�C�
7#�y:� ��ߔ�R��'�aV�A@����u�-��`�vG+[e�'pc#�������X��=�����EjN�!W�zv/� n��������T�n���+Z�7����l�oWo��j��`��#�J�2�]nV;ֹr��(��
��x����¶�[��1�����#�U���H���1����\�f�7;ɩ���%#��^|�q�|_H��9�z����>�.�T�,Ǚ��u*�GI;c 
IG1W��ͯ�x��;�p���<�3tBa�x�r]��Ğ;����9_��YM��0]��\�D�4���t]������Om���s���]N�L�>��d5��u���:Q�)�6T	47Cd1�";P����� �zs�IX��Ges��#L���a�ȹ�(����jQ\�y�b3D�˜R�T�r�ƘL��ÔeH<�ף�f��A8pzn�Ƿ����Uq��8�6x���-uF��L2 �{Ƙx�A��Mh��x��(ڼġ�Ei�iH��]��÷A�5�sj	��AM1
���Go��I:�p�x��>J�}9���;do�X�=F��$�DkX��J�~��<������\J@�oA*�Wl1j�מ�u�L�nQ'��C�
@���dkC�2{K?�5���٭ܿ�c��]-�/B� ��q��U�x_�w-���ye�4�R�g&�{2��`;�4�C����w��KQ,*�I~���o4�WF5�l0���/k��[��M8:E����	mj���M/�OI��k���,H� 	�M�6VGo�����ׅ��
�>!nI�7����)i��1k��}JigU�"���V�%�Q�{�F��:,qY
X�g���p�8M�|nЂ�"u!�rK(����c��@�����A2�J�h�d�Oo����)i-k;4�錪��C��J}wWzO�k�#|b0���,�d�Pn���*1��V!��Vg>�{~b�>te�*hY���Ȍ㫗�9��@��F���Ǹ�����$����F�-�~���a��{��
1I�3��^�4J�w+�M����2B�@?��G#�,%�J	��K0
;�a�h��4���˧�5A��`�x����n)M5�;���ϳ�Z�ʅ��5��V�����D���kȱz����0Ugi���N(���3+8�>��u�k��ҁ��Gs#Z��>�ae���w���X�I�,��A�L��2����~���w��X�����k��!S�FɌ@�Jخ�
��
���)�؍�]W���qI��]ӑú��[���M6!,$�`�d[���<��k1����ٚ��38�;�Ye;p�M��,��I��p��~/(�w��i����7	�x�X:'�E�DD5z��{ҷ�a�!�v�a0<2P)��=	K�`��{�
��
g�T��U��K�G���mp���c&�|�B��=�p��!�z���}q�(���]uu�e�„�YAo�{�{�ݙ�cƮK��H��W��m�Ť�7�eȪ�o�y�1��5�C����ͺ]�L3��ڕ�������*�K�����.���>����	�����yEBբ��y^*�-�*�Q!�1ֶ�GY�O��
0�Q:rV+�g������x�v�Hh�8�{[�^�P��R)dee�@L�oY9������uؤ
E��;w��H�$�O�
�����/������)S�x����^��?�qN=�:��g�1
Xʬ`b���_�����Q&��P�h�`v9��V���fl~���ڼX�+�	�?E�hxs��ԧ���d�l~c��!l��]�
\^GϝV��t'\\��]و���O��k�0��Z��HZ��B6��&��P�@�l���1��S���TR>�^����V������D��R4��]-����op�,e��ݭ{��0)G.'v*�5��ެ��6��AA���B���O��� �$ܡhd�@�
x�S��~�:s��ҩ���ʮ���"�k��#*��j���@��S���������C�`{,�_�4g)@�%�{�0��#k��`�v.r���
7��ن����y}�����pS�=\�(�����d�5
R�Y�k!@o���W���~@&O�J�*m��P�J�˼�Sp3'��X���a�7��uW���"�@�%-ξk�/��3��>3},b��۰���2�/<�~Sю��8ɒNʉ����Y��`�[��8#�C�x`�$�2�:��`}K�B����k
O˾�G]
K���w=X�(��G����mt�n߯�pU<�d���z�]���.ଊ��e�Y$3	�d����R
�fP&��a�����KD<�
�;��p�yV��P��y�j`���k"��9Sf�s
�v�o�d���`��@���
��(�����4^����U��%�2ro/�����6�^az��M�EU��+�G&1%�@��N1���_�������.QI;K+�j�w�h��9n����^\�)9�1.����!>_�C�Mj~�`nb������?.{����c�z͐|F�������hE��RQz��.�ũ-ey����-�"��l�;��2��_y;�_�8�u���Y�A���כ�2Ѓ��<���L!�|�j�7��Ү�RCXb��`-��p��%��	�S���p-�����[���p��GLS��m*���Iu�#�Y/yw�M��@�Hf-�>�����T����K;6r��
$������V����l�<G1�1�1���C!>���[�t_K�Fy�QZ��$�ӝx3V@�8��k�;��l�b"�pD���p=����M>����:�35����'׭���Ui)
O�A7؆J���Hv�����
����$�i�,���&;d�l�=*c�~��S�U>�n�F�@)$^M+�y�����F/�A{��0qX�v��\&��(�U���
�1�'	�IzNb�嚀lzTi=�
'�YV�L��(u�
\4�,�����6P!��
��t}K�L\O�ha���oy�
�Og���9��=+~�Q�����S=3�DA�sK߱���"�:���rU�Ø��FTU�.5]$��$������,�j�x��9���
�ŏe��z*�]v����p�����@q]����s��l@�I�n'�
i%�y��:�+�aD����P�Z��Ğ�%Lh`�"h{9p+�e��X9��NѼ��W
 �%E�C�L����p�
������d������4D |f���v���v��8�&��&[�x����
�"&��A 3����:I�j�6dh��?���+(��x��f'pi�TۃB�Z�o��f���23l�My��$m������ѝ$��V ��0�q���i����P��cO+���[A&�=�'��a��p���P�b��\R��}�Ɔ9���\��O�q��ޙ�+��o�X=�e�3��!t.�~�� q��pEV�i�ɝ\Pk�R��t^��D�� +�9L.X�y6H<�Ћ]j��XI��{�M��AtY�[�܇���ZF]G(�'��O����v2��{c:ɀo��n�7
,{5����X���aX2��%GDV��Ⱥ�R|8\=�3��]������0:�P��}b3��9��}�.2����87��"�E�'F9�1/����{�t��e�6���=�:9�����)��kdz�YH�7�e����*{PY2�	��*]N�l��/�|2�c��iL^�աy��$�%���n�w�c����%�N@	v���2�[��
ݠ�_��7�?I)�5G����|'v��#p�&�5Z<+Q!rh�$:�S��?̸�_0O#��������]i6���RA��'&�A�@���G�<�dh�t��I��t�ִ
ʸM��ۉ1��|����v
��DL}_�Z�=��S33�
5�<a��v���#dŲ+}�R�8����_���ڹ������X������N�k��hg%+O{BY��cv8+���xH��ݜH�V����e��]��r	��]L#�=I@�ֻc��_�+5�꘩���_Ƀo&��r���g��h1�>Jx�
�w�x�K�!.n����pŌ�y��0=;ƥ�WU$��p�����'|�WZ$�U�%#
��#�$��u�<4���Au�,6߇M�����׋��2�c�f00�^���l�@)Eg.[��>Fl�n�k�r��� ���N�k���DmM؆T��c8�.N�2OeMJ�b�� ���GC�c�_����ˋ�v��>��յ���ϫ����zS�H���[�k��a�K*7����D�(0	jO�{&C�B��>"c��_�_��q�k�|�HD��Bx�f$1���P��D'�4ۮ��]8���
[���(�����o��na�b�]��Y��>��M�u���V�,�%$�Z���S�^�ɩ�����
i��qK��?A��DypOH!F���k�i�;W&�Ω�@�(�W�x79�3�D,l��Gn�U�2Hcb]^B\ι�4����i|@]n��>��"��e�7En����a����ܱ)'{
Ƭ�T��SJ������I���f��)��OT$��� S�s���t:���$QA�x�|t.'16�\�J^��ʱ��:0j�b��<iN���W�,�0��{����x?�x��	(���w2�g��;���e�I�.
�$�s��_#��>;�����!?�9á��z/��C��d��WaW�sS`[ȓ��Av�������A�z��e��G���M�LhZ�YX���A�u�<]�����'��0.��\F��/�	��B̓�]Y��_tWz&��Us�Z��`4B�y�@�����_��7�*���Q�t�d�tv�=���}��5��!��2l�Y�S����<dG���
�u��q8|�fP�P]|6St����k"u���H���HO�q�S(ʭ�1���#�`�{�idW�����hv�Ip�m	�!�Y'��g�ڛ]�t��s�9�:S{�k��w�Ѿ�gȹ�
�MNԴh��yFu�Z�1L_�+�V�w�Z<�Ą��xz!�i���$P*���;��2�ԟ��T`A�u�=��J Tr>�ġ�׼]�*���X$���mȝ�2���"^�q3 �n�8���OW6��P�Ԥ�VyA\n��U�M��+0�|\�حF09YԘ��=��=��yQ��j@���5�pWq���͞�F�_4��B:y�̟�I)���z4��O��������s���bօ�w��l2����uS�Ո9v�&�X6o��C�4IC�Q�^D���o�p���öG��٤�vv�.�?�ks�9��u<L�~b��G�����3r��������}�ݦlC�,��;�X�D�G�=�bu��ב��g�����a��}bq�N0���j�o�i��n�(�����I����F�c���s	��k(�D�����b3Tj�G2�'d��F�^57��{�q�ψe�"k��ɱK������"�ވ�R��u���>`eF�VDT�y��)���q�dk�'���3���,j+�!8��Ar��h>獫�!������
P	f߅�$xAJ�bw���	EDf.�ji؀K������ʰ[���|���|���(Z�9V��z�(U	�� �la�u������s������@�+��5Z��C	��UH�,:�M����4v�D�˹�]՛�1�GN��'G^���xT"o�ϑA�f� W���wߡ!{E��U1��@j�7�N!���C�s�����h�\�4�\f"��kNz��e&W�������;�?7�x{�73K'�v(��l��uvt�����
5R%ⷋ��ց���y괰�B8"��B�v�����o�wI��r{��U0�cn^o���[�&O��a�[�l���T�'�7�u�ҧ��wƤÏ�4ә�̚�"�U
f���h�k��8�;����S�_��'Z���Ͱ�@N��ETN��A����
#qP}a4��5���rIJHE|}��*Ҟk��*q�#UMǒ��B`ʉn�EZ�A��싳���A�F�9ε�����-}�(�IG���g���KT���_1�u{W��j>?��$
B�:������q�S\�<�"�);����1�I	Xw��^9`y�T�U�J���S@���l��S��fB��S�}��X�����2����!#���.�c�9��9�&���&�u�0��@9���O.�Q}ޗ"֐�\ޘ%�[T�h���d�|���y�z棃29���	fl�m�� L������qb��^PE,$Ȼ�5;�3 �J~#zS�B&�%8]�ZI�-��P�/w%�#�;�G�I�����6���h�H1�k��~�sr��;�K��d��v �-ι~�>�W/��Ь���Yj���a�.�x����<Eb�|��E���+�v�C4~��^�����;s���I j�i �����
��
ز[$��n� ��m�`�̹&y�#��v�,�e���$-�����\�D��!W�S%��N���b*���ɂ;��]���=��˱�2[���z,���y~f��P�t^.��Na��0g��q��M��^y�j<��5�>�w��Lq�7jU���M�$�VƖtE�EͶ�k�$���u3�'��
ņD��;ʜ�9/�L����{2�<�+A/���89�4�[��^�L�<N�I���|V$�s�
�����|"�wD¿u0�s�p�f)a��6�����3qnvV��BKυ�On��x��Wo�
*x���p0N]6wT1���-C���6�gw���V�,�a/^�DEF��h'���4���Cݪl�Cwd�V��К�'�����
�)�-���C��x��S݄r�53��J��Ch�
BOY7әw`�TGE�xU�q*"	�5#���f��00y&�+D�}���{( U�U���V�Q	���G--�%�;�|�ru�2�r�9h�-�3�3p�0�+���O*@���e�X�&� ��B�Y�&�vI±rb�\fW�p�V�,`���R��؞�4󎍔�;��#��Qn&��;SaĬ*�wxd��������&G����ս��׷�™P�!��;5��@�%�+��b�4��Ա�u��l=V�[�3SS}2���a\�u��"FK&�
�&߶��w8<����Ť�����%q���TOD���z9���w
���_g�v�.�V��L��d��1�l�=��f�|j��$��Z|�����L�!7��:h������%��e!
�ro�>�y�������c)�}:�qb����SyR��"O$'.�=��"�B����K53i���M�߿v�O�Vϕ�RM�IQ5�eԽb�^��ڵ�����W�]�'��+���bb3���x�(�����A!
m�ki��/�q�r11_M���gT�
��1e��-�숱qI�6m��~Tļ��Ts��h�mukɬ�b��m��ܝ�s�m'^��ذ�➧�[�M	�)�ۣ�����rX�j%#��`Yc��dǓv��;�nS[�b��舠�.��K�/<��7ب���#ooQ��Wm�c�8F8"4P
��3nR�=]9D�޾= �U�V挱,�f4?���
PG�h���y��,�U���9��F��X5�Pa�3�M�����oo�i&�?��44��B!�.�����וi��DW��d���6��\�Ҡ��̞����-�ȴ�‹����� (�8@���b]<�1L��,�g�>	�������c���
F]e��L�}i������1�B��L��U�������Z�K�K2o2pY@�$s��I�����C�����27<��m�(<N.�c�2M^��K��G��5���^��
�m���d�ЎJ�n	E����������Q��p�k��2��=�s��W�e�e�_VV��3��s�!�pX�A�;𞬎�����Lx�.��0���lEs�
 ���@�>d	z֕���~>�%H��06	@kj���-����\w�S�^cc	�>��gm�6��Xj�	!߇���N*_y��ba�^���$2F���B����g�޵m��$;�%���]���Et�e���'�C�WEy�'MBA��=�W�n^ot�^�,���xQ�Q/[0���ײ���O�tW��z�J��)hyܮX�N�ƈ4~u���*�t���pS:����� 
C�����M�G��7Ԅ�����]�C��>'\*O����+����l��LP-؁�D��}�ef��j
v)l>$��w�Fp��Xgr�����;8k�ɹ��^%�Y�"8e�
�#�����h�S�
�%� �o����_xm�1�J���9�f�#�����Bz��Z	�Mx=7�)}[��֥FP����u��!g�86��Чq1D� R5�9(*6�T�5�|u�
�z��uvϛ���Ȫ-`�]����,ڽ`�gN�nǼ�_)�����o�`lC\c^��Ԩ��*2����D٣�����%x6p#=��"���h�*��A/tqsߟ!�}r�#}'�z.��
�݅��=I4���h�d�{쎏}�k��l׵"%xA|�&m�����hQ�E ��=�i�o���lU
Q���qˑ��
G���W�wRh?3�b	�3�e&|���@G����:
��8�$�_5[�4S�z���ݫ��E����4->����~��o鰌$�rQ1%i���PO��$n3��-�9f8x{�q���~ky_��X�'t�Q�ď��ҿ�n�ev�"��4 ��}�G���y�.B|��FY�w+�.�:��M��~Ї�Tu��`"��6h���@��TVĶ�S -�w���o�eR��4�����<j�/0mB���=(����/��04‹��a\�cW&��v;]g��Sֿ�*�>��{p��(^���_9�a�F[����M��A���M�be:ٽ����"!��O1�*(��ё�_������ݎ���6�{��y���f6�K�"���2;=���؇�a���[�D~"�&�2N��/A�j$�A�C�嫅V.�DS���h���#��5L��uX��{��
���a�3	�M*�?>�P���=�:�oU;b�R5��.��>�0=��к*���N�	
YQ�.��ѭ��#�#��}^n�Q8�p���\��[�x�� ������Jkj��Y��
���Y����R5=D9�Z}}��4/�Q�x�$I@�JJ�.�.0�W�KL쁻51<Hag�)��F&8播��I#�S�O�G�!�l��D�Jr��:��S��:y<��y��F��z���6�t0t�	�޶9�U�'��������|�m۽V�y����G�!n��[��|"#v���:�$��rg<T[�
q�!Ƀt�>q��r���"N�^�O�M�Φ��'�J�^]����&�O��NG�H�����v�3.H[�*��*ǍAДc��(��z
�i��w�ǵ���*������ld��9v�0=G
"pbA�%�i�$_'je��(g���>�:�;�X&y]Y���H-�<�s��P
C�;��Q���V��%�!��A���̖�]r���EW��c���+����m��۞��^җe�X`{�i���^e�L
�||32h
������|�QJ�
�p�٘n����]\�a��;
i\i<7�
R���tK��%"��J�C`�Z#�u�
�KS>1�	�$����Ze�P�+���pK��ԿE�?8��'��??jA�Zή8a%����:d��5'��w��#5�����F�إ�f
�pHN�Wem�H�5wa�:]'_MrMQ
����rs��u���E��^���n���Z����o�&�k ���ڜ5����o������܁�>1�B�f��~ʤ,������1J�\�
ji�B�W
�����Ϳn�Q(-��=l�?l��G�����u�59��q��5��H�.#��S`��:��G����4|3�6�R�?��"����qY'�`=����vs[�Q����\5����I����g��+�yi~V�Sm%�Bl1�>�C�6��JoS��I�]�h>d��&��1�
p��u�H�_|ʅw���Dz�Z�e���1��f�}ִ܂M-u���������H�Y{��Dc�Z)J=�ԬR\�B
"�D�S�G�ƺ�Ā�nva���O;\�/"�JM��|��
�C���(�}�V��o����۴# �e/\�7�q�}�&��F�E��F�SXt?g���64b@��֜����`o6��\l���W��&�ޙ<w��n)���ʓ�
�]���j�S�fV%.�		���&
 ��HҖrN�С�P�ǿ���.�NNp���~K�Z�<��Um�v,w���@��tބ*��cO��x=+I�v.��@��3��n�Min��(��*���2�	:�Z���<��ztcR�/���f���{��{�4�]#'l7-�n.9�n�Lg��%\�~�,y��U��Mrhx|���4�߯��5�T04�֡K	0�&�������e�����}'��ˣQ���+B����A�0U��;e��C4b��3�_1���c�����7����xbe�φ�s.������3�8*��)$?aKH�����Y�G�֠�K�o>:\�O�_S��
�|lo\/L�7��D��μy	iM?���X�������S�.ۻ3�1���C�6nz��R�x����6&���-
�{��r������Qy]Y�R�Ӥ��Y��w��%S�5\
���m�N���t_?����~�?ޥ�9a�$���w���bBZ~w6�D���o�R���.�+S8_ȇ����Nf�1O�uCy�I�7)O+�;��4��X�o<�)�[Trp4����k"߉�L:_@�C��փyu]4��4B�"�ۊ=Jx�+��nob�[���2GJH��-S�J��T�w�a�ٍq2燖s�ȝ��Ԇg�s�^_oJ������h���uV8 �=�_|��.�~.��h�Y�ԡ�avڵ�S�z�3"d��v�e��0恥t6���C���(ғd�,�ʰ��D��M�]-�7>=�p������:?���R�K�{�Dne�f3��?X'43u��E�|l�^�^��l�㲙f)�=`��!L��
h*��p�qS_�F0
8��F@��aU�
F���_���y�^�۴�&!���Iẅ0�ּRy���u^�(
�Y�d����Hu��u��5TL4�J/H7�U�2BuA�i�0�!9��@�0,�uƬ	�C�����S(.Y�:�ͫ�M'�r���F��!R-<z�:&����"�?�~�d�,@8��"98�)Om���)I�A�A�ծ!�*m���Q�T�K���ײ%�~��6s�凈1��[Im���e#�>�/9��W��gYn��z�֞��4�\U !qE��j+�Ҡ����xd��M^N{�L,U�ʷ�QS!��@��;3"%d��C�(K>	�~~�����u�9�zy�l���>�"��E�$��&4�m��:�b�hS@�����=h<RVC4_�!yR�~�>�K=��rހr'����L5�QE��=J������X+�j����E�\����{7��F ��
Vr(g�(���Q��뵽b/�I0R�h����Ȕ3ҍ��g��zV������Z2�� ;}i2���[Z���O�t���RaԞ�	����'��<���C�t���m�V�䕜�	�;d�x��*�I_9�X���a����&P�ٴ7N���Ts��c8��$F�'Vt��Z��(��_�qv�>K$����W/Jss0�4��W�$�.Nj5��i�=^/p��pJ�$�x��6{�;/���İ�x��2�1�|�K��`�0���
T������C�+���FUs����r5�/�i����?��v>XB�2W�=Jq�H���_�
�ֲ 4DŗFK]���Wh��\4�/�q������G�x�d=���LK\EmOK��2V��%�����%2Q������+���xw��]Iꗑ��]�+���4�,��^4��y��h���u��!C�Z��`� ]��O
흓jV���c`pMܯ^���$F��r��W
og%�N��mե�<�+�E��0-���Y�0���2
Jo-6���ƍN
ѿ�6g6��\��^�?�`�m!f�X`B�v�<�����y`�y!|JZe�v�D$����`��>��<���dG��9��������J*R+��g�}=������L7yi�R�w�+�.t(��6(@�� <�z5)���րV-�cV�=+aRy�<��ۡՈ%�1�\hdA:_m������126-�N�R`�;SV��l�*����'�Wu>D�`��� r��� ����K�^�[�a�q�pTT���@��K�J1h��jDA�q*�&i(����1��F�W�����3�s���(���޴��'�
�mڿ1�g���:�f%�5Inlm/����*@�����z��e�{R��S�Z���[_f<�?:
��8n]ٝ���ts���}3�a��ʀ*|6	]�fˬ`���&1j@Uv}r
�I���2��ҟ�_T�B�i�������8�\UyO��9��o�m��Y	��J�����p�����RD�
#Yu����,=Zt�����B�~�Zp���@�uł'��ٗ3?M��9��9~"�4򓥡�2�����W'�!���>�F��d�(ߧ����k�����`,����ˎ�+�~�HO���Q���[�٤�N��i~�����TGt�O���x��T^n!���s9�I���IX7�B0��g�xL�2��(g7��~�AAD���d���}����,���v���
�r̲�9 ��l��$�_��a\��/��K>E�����5H�8n�=mF_�nA �_#���������t��o1�!����T]J'��ż��Ҹ����%��"bc�`�G��0�쏆A�;��^8=Ԋ���b-6ΧK��g&��0
��HZ���xQ��cv�G��E|h>e�^���L=�N�Ienf?�I�h��A)�<�]1����B�,�
��kFZ�.�����dO�2Q�*�@�n����N�?�C�UT����~�����a�������'�!��Ĺ��W~�������?2�Y}�U��*�F[y�L'�{�̙\��;Vs��c�֠���iO��$�Vd�F�d��&�R%���5/ގ��j���m�7�A}~���k��AL&���E�ގ�Q<�5�:,H�qR��������m��zǝ�^��1�r��*w�aݶ������
c����[�.�2_6C��Y��?�=�P�������c�mo����֧����UT�������ڵ�u��kY^��
�aL\>٘����`|p8vQ�����{�s��0,�ə�H�3g���K��Jx��
,Px����ݵ	;��FY#�`�/���b\H֥��#�f����0��T���o�a�����@3���������*
�tvB��t~O/:�1���+��?8��JP�
�3��F��G7�8q�:�*�������˓�^���ˊ�&�~���D�Bxp�]r`�s�,�E(�-�v2�O!FR� �yզhG��&��)�h�$!�|�u[�ե�^Z���	RGk�˛�Ñ�`����l�V���pa�X���U�_�B}p�z���Dn�F���l�;?���B�EOD���C��8�!�~A��2h���>�;�ew
�����y��yv
鍉@`���/�E�sn�5[���?[�^/�K��79��{)q �
�Z�D��Z�����^�N���k�~H�e-*��H��(^�@βk{j��g���-��o'0u��a&�X�R��֛I�j���o!�g����S�z(���YT�������{LU�AcB�g���~�&1�@�w��<���m��+%.��m�=��Pk�/���\��y��(U=Zҏ��jtK�|!?��W���U�$Q~1?��8{V�/�[�?����m�$N��y�?�9���2H�+R��Z�	��v#��3*�8�e�$]��`!�K'*�X�zh��/�̇'s�@|Bd�_8Y6�kv���&l3�F��}ōnxO���K/����o
`U.���~b�l�E���cn(S�#��aE���If�p��ݢS�(��_�{A^���K�l����� 6�d���\����w>QC�%18W="n���O�o7�"T崢�2@��+B�C{f�Q>_�U&��R�p,�r�E�2������o��.wʾg�C�?~i��/]K�PTY�^qqB`S"p��	��4c��b�J�ٶ�������J�$�\NN��A4�7������V�Z��WlqЌ0B�s��r�F�O2�\ZVJ$ՠ�Ag���U�}�8����j��QZ�=
=6���n�K�|�Y��.Q�i*i9�c�4�i����d��U����&���%����c���x1p���γ�s;�pԆ�u�+��%Z���N8��u��;�%Կ���`�R��'΀!�,�E��kRŁv��-������^nh�Lpߙ=��!�^)@�7�:�-?��:�/'@�^��m��im�@+�7	�,L�\b6�.%�+�����>��z!����#�U���P����8��\�
e���Ix�o�
�>�'_�`���s��݉��7~��5��,�t6n��S�GC*��G|�ɂMcR֦h�$�/hm3��&NO�AT�=ӆY�9�ߛG!*����f��ҕ[�T�4�P5I{TrEXw�X\�7���4}t0=ק����7�i����,ܥ��^tY�uH>��x�},��N'�����nz��}i�*u�*)�f�\f�6�| ��ʣ,]������?�P�`9�i67'?/ �5��.�Lp[�0��t��x�hn{WR����V9��<B*{�-�z�׈��gZK����b�n-�8�G̏�/�+V�.���l�J9k��6�K�x#2�`+%���'QC獧�0Nt�����`�z���O%ߧ`��z�i���rB���-s�����5�U)������M���C7�gp`��S�溼]-&4�0��m���³�R�|�m��빾���Dk�sb��6�EQy��I-QLP_�;~�&�I��ut8�GH>�gٗ��v�V�|l"�UM�
���	�z�f�j�l١y���/�Ւ/�@,u�b��h���
�	��{$������9�G��q�s���0�K
P���z�'m�4�&*(�.ф��~���J��u��Ri[T�Bm����at�
<5������r���s�O�&ڣ��Oj&�9�6���`u�/̫����ΑY`�K�qC� �F��4�P-�p�,lE��
r!��/f���+Z)���aR�e�u&dHj�e��#���Ѹv��~���9���,ON�I+�	w.�R�>N����'�4�=�U\�2+�G�_��3��K���qeei?Bo�a��'�@�j�s����b{���x:d/{�O�E�\�0��$/�>��-��,)��Z�Uq����R|����w���䄷��K,̉�N���P4�/9��}k�j7��Z<B3%�ܙ�vd�N�t����n��F�c�y+j�����9����
�4O�|��Nr���鹿"�B�L�%���wf�
�rnR�3ȑv�1Kq b�j���c��4�j�0�5��{�v�z���J��'����FX��	�WxJ�Mх�E�!����@���E���x�f��g��8�L��-�:Ԡ^'���}�8�����j��D!*�+3�/�9_;։e�?�y����r��Jia]qc���Pj��+!ͶX;��&���~b*��7��ұT�=�"�Xt����2������_ʱ�6������H�'�8�S���$|�
����{>W���U��t��{s�U���v�?�5�>��H�j5��tO��x��>�~:!������5�>�4�������jy;���PM�^�!�v�+r�����(
��o&�]�����(��v�כE��A�Zq8��~�Xlè���BuU9��f�Z�Z/(�2Q�W���K�����Y�f���s�``�숇��GD��T3j�#�T�x����M�u��|�g��X-��-�A�1	+[���f��8�U���,��?#�D�d�����h&��jy����A���Ί����;;Na�ߏ�;[���/!�Ա۱?�k�����������9Œ���l0���P[
v��'����*��̼&����qI��E�],��c��%l���X>bQB�D�ş�)��C�	�*�c�]a��)���H�.|������Ϟ��^��M%U�����}X�ջ}����t*Z�N3>�.���<��t���
|��$�d,æ�շCՕ{2H���fNí�0�)o���E"r�u�B���k����p1"����?qS�k�5�.4�I��WZ�\6`���8!�FF���D��]fB�BАu܏*��8��^�2�Ё�����Y�&��z�*vPPR��D�wy@njs�mŝm@��J'�����`��^��L�����H2��xY�M�n;(�)�`���<�c�9����6 Sending SPAKE support messageSending SPAKE responsespakeSPAKE challenge with group {int} rejectedSPAKE challenge received with group {int}, pubkey {hexdata}SPAKE final transcript hash: {hexdata}Sending SPAKE challenge with group {int}SPAKE support message rejectedSPAKE support message received, selected group {int}SPAKE response received with pubkey {hexdata}spake_kdc.cvrespond == NULLvrespond != NULLrealmsspake_preauth_indicatorUnknown SPAKE request typesend_challenge;,D0���H���p`���0	����
��0��P`���P����� ���D������������0���������4P��� ������� ��H@����������p!��`�!���@"���$���@$��0%��P�'���@(���+��� -��@	�-��|	 .���	�0��
�3��X
p6���
7���
`B���B��0C��\�C��x0D����D���E��� F���H��X�K����M����[��D
�^���
�_���
�_���
`��``��0�a��|0b���`i��0j��P@j��l k���`k����k���0l��Pq��\0r���`{��XzRx�$���FJw�?:*3$"Dx���0\����F�I�I �D0y
 AABGH�l��OF�E�E �E(�D0�D8�G�|
8A0A(B BBBFD�p���F�E�E �D(�C0�F�[
0A(A BBBHL$���(F�E�B �B(�A0�D8�K�j
8A0A(B BBBEHt����B�E�E �E(�D0�A8�GP�
8A0A(B BBBE0�\���B�D�A �D0s
 AABF �����A�D0]
AEHD
��6F�L�E �E(�A0�A8�D��
8A0A(B BBBH(d8���E�D�D0�
DAE����dH L
D���?H q
A�4��ZH m
A �x��\E�G A
ABH���[F�G�E �E(�D0�D8�D`h
8A0A(B BBBKTT����F�B�E �E(�D0�D8�D`|
8A0A(B BBBDfhBpShA` �@��\E�G A
ABH�|���F�B�E �E(�D0�F8�GP_
8A0A(B BBBD@���F�E�B �D(�D0�G@�
0A(A BBBG8`����B�B�D �D(�D@t
(A ABBFH� ���F�E�B �B(�D0�A8�J`�
8A0A(B BBBBH����zF�B�B �B(�A0�A8�J`,
8A0A(B BBBB 4��gA�G Q
DEXT��ZH i
OT
AHx����F�B�B �E(�A0�D8�DPK
8A0A(B BBBC���1D g
A@�,���B�B�B �A(�G0�G@�
0A(A BBBA0$���EL�A�D �N0
 AABAX����D �
ALt����B�B�B �B(�A0�A8�D��
8A0A(B BBBAL�"��B�B�B �B(�A0�A8�G��
8A0A(B BBBA8�#��nB�F�D �D(�K@y
(K ABBE@P$���B�B�F �D(�D0�O@G
0K(A BBBED�X$���B�B�B �A(�D0�J��
0A(A BBBAL��&���B�B�E �L(�K0�D8�J�t
8A0A(B BBBAL,0)���B�B�E �L(�K0�D8�J��
8A0A(B BBBA|�+���D �
AL�D,��DB�B�B �B(�A0�A8�D�&
8A0A(B BBBA�D7��?H m
E(	h7��lA�D�D�X
DAA0	�7���D }
AL	 8���D }
Ah	�8��iD _
A(�	�8��eA�I�G0{
NAE(�	,9��A�D�G0�
IHEL�	:���B�I�B �B(�A0�D8�G�c
8A0A(B BBBAL,
P<��B�E�B �E(�G0�A8�G��
8A0A(B BBBAD|
 ?��B�F�M �D(�D0�I��
0A(A BBBAP�
�@���
F�B�B �B(�A0�A8�G� L�(a
8A0A(B BBBDHDN��F�B�B �B(�A0�A8�G�v
8A0A(B BBBK8dQ���B�E�G �D(�D�Q
(A ABBC ��Q��IE�Q l
AA��Q��9H g
E ��Q��LE�I w
AAH(R��,F�B�B �B(�A0�A8�D`A
8A0A(B BBBC(PS���E�D�G0i
DAJ�|�S��+F�B�B �B(�A0�D8�G��
8A0A(B BBBD��Q�U�A���B�B�I�S�S�E�B�D�S�
(Z���H �
F$
�Z��9H g
E@
�Z���D k
A\
�[��9H g
E x
�[��OE�L w
AA@�
�[���F�A�A �D0|
 JABKV
 AABAL�
\��B�E�B �B(�A0�A8�J��
8A0A(B BBBIX0�`���F�H�B �B(�D0�D8�G`^
8A0A(B BBBGBhMpHxF�K`��pa��"	F�E�B �B(�A0�A8�J��
8A0A(B BBBB��F�B�B�S���T�k�A�j�B�A�E�`���B�D�B�]�,j���H �
FGNU� (�'<!��BC�B!�B!@��01�C!@C!0� !D!�C! 
�  `D!@D! @E!E!�D!�D!.>Rct����!�
̛�;!�;!���o``
�
�@!��8	���o����o���o����o�o����o)H=! 0@P`p�������� 0@P`p��������    0 @ P ` p � � � � � � � � !! !0!@!P!`!p!�!�!�!�!�!�!�!�!"" "0"@"P"`"p"�"�"�"�"ǒK���	Eb�C6�<P{�Ŗ8v�B�f�IK%2�l[S߳I���T���X�.��L�*;�I�Uu�%?�1��&y�H�� ����S����}�`���k��,�D�5b�S���V�~ܛV��bת�,�㐅:J��/�X$�`x��C�"�!Q��T;�R�IϚ��Kf\�Z��p��-��.'e�t�~�fCK6==�o1G9M.�a?��(Sػ��9�)7�M�8�w�)�MI�KO���)+I�n/���nU���$%y�;d�n�ܫ��ԗ3=��/ӿ��O40���P8e��2��i�]�h����ī�H,n��֗���kڅ�:�� ����f��ͯ <!B�A�?�=�;`<!B�A�?�=�;�<!B�A�?�=�;�<!`{�m0b��GA$3a1�ٛGA$3p11130(̉GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130/̛GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY0(	�GA+GLIBCXX_ASSERTIONSspake.so-1.17-12.el8.x86_64.debug�t���7zXZ�ִF!t/��G>]?�E�h=��ڊ�2N�$}`��b
R+�Mp蹭�̺�|�TYdtU��h��69GF��,�V��`�U.�g��ʉ3���T}__��ӽ��	®iH���v��U*&�Ɣ��F�s�n4(�@%��I���/�VN@�:���)�w5>$���!��z�f�'�9��	�g_+8';w9Sղ�k-k�tQ�^o4�K�*䗔Ӯό���q+>k
(
Z&�
nn�a��O��Ca.\ߧԟ1���?����4���D0�n߀��4@ֳ�C譜^�*Zq@q8n�L��;��x���p˦��;��if9����rj9[T�Ȏ�I�3
�ii9`�1�=C��4��l�=����HѸ,ǧ�\�0s\��-rm�lG����n�D�蕀p��v�B�0rMj�����'S�iNRˀ����
 �Q�+�T�MyN��"�s1�s0��;T�W�����)��}b��#	s�&��E�n�������nqG�H�Re*ޛbm�E�$�Y�
�ZI���:7a~�3��/.�(�N���N�vg��Z��#��Gz�
�J�p���~�ݶ��r�絲��W���*�.��e�
]��*��g���ޯyY��a�
�PG����J�7�N�'?��L�B=��V� �ͅ�=�x�LO�/)\�A1�6�_񄫥���;���az?Z�e!��jpi�B3!-�'�΀7��
����^���/?��0�q���S�6t`�޺���	�(�sH����V+�D�n�ۛ��m��������[��?t�k�9��%0D���f��>ĕ�)���qI���w1v��/ALC��j��Vx�L��D�!T-.�a9�	�c.s��݊�Mȉ��I{�)E��Ũ��
y��ׁ�8�8�Y��1��Жk�z�sHv���&hz2%WB~T/{�7(��_�,b�:���]��j��[Qh�E����:9�Uh�cXCq�t��+�l�,�I���T&�����am���u���~_����pk�����oˎ�~ �u�58�$�=��Wg�,Q5b�m)�x�ߧk9x��qz�7��_߷j��q�jt�����>�N���I�a�5�SU~*����-v�Q�?Op�`�?O� Q��{��5�b���X��b�-~���9M�r�fkI�J��~<�Zx7����,{���m�KUQ�㐗�h?�,:ZhUW�o�Z�mi�f�A7#=�b���׊"hW,�0�L"!� d@��]�����0m�)�,/@��m�ǰ��Oj�` z��]6�y��\�$ck�P/�m&Z�ʽg(=�1�A��uk���:���N��՞�P��
��	��g�;����e��Ѭ�W:����:d��"�	�
�_�4U�͔��ff%���06�������ώj�{����ds�S #	�&�vsD��m`�6����KಀA�PP�k�͋ �-�^f�I��^d2����u�N71�K���,&~_9)$X�!1�>�6��r���ɨS�)TuJ
<�Нa�VO3]�&b�8B�x���i���s��ĵ_MHT�cH����xi���Xg�d�h%(��N��0�%�"��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``4(���0`
`
�8���o���E���o��TT���o���c��8mB��w��r�}�"�"��p'p'\t�̛̛
���� ���,�""H�H1H1 ��;!�;��;!�;�<!<H �H=!H=���?!�? �@!@p�B!�B �E!�E�Ea�E"�I(1�I�DP@lib64/krb5/plugins/tls/k5tls.so000075500000051050150403633730012227 0ustar00ELF>�"@hJ@8	@h:h: x=x= x=  �=�= �= @@888$$H:H:H:  S�tdH:H:H:  P�td666��Q�tdR�tdx=x= x= ��GNUR1��Ht'/�ҶZ�	�nda"N�NOPM��1�i�!�k�M��!-� �Wo���KA� �Q��d�, �A*�F"���\����5|sU���^i!�����d��+����l�����3I�
@4_G�@�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeSSL_free__stack_chk_failERR_error_string_nERR_get_errorkrb5int_traceX509_get_ext_by_NIDX509_get_extX509V3_EXT_d2imemchrstrcspnOPENSSL_init_sslOPENSSL_init_cryptoCRYPTO_get_ex_new_indexSSL_set_ex_dataSSL_readSSL_get_errorSSL_writefopenPEM_X509_INFO_readfcloseOPENSSL_sk_valueX509_STORE_add_certOPENSSL_sk_numX509_INFO_freeOPENSSL_sk_pop_free__errno_locationopendirreaddirclosedir__snprintf_chkk5_onceTLS_client_methodSSL_CTX_newSSL_CTX_get_optionsSSL_CTX_set_optionsSSL_CTX_set_verifySSL_CTX_get_cert_storeX509_STORE_set_flagsgetenvSSL_newSSL_set_fdSSL_ctrlSSL_set_connect_statemallocstrdupSSL_CTX_freeSSL_CTX_set_default_verify_paths__assert_failASN1_OCTET_STRING_newinet_ptonASN1_OCTET_STRING_setASN1_OCTET_STRING_cmpGENERAL_NAME_freeASN1_OCTET_STRING_freeX509_get_subject_nameX509_NAME_get_text_by_NIDstrlenstrncmpASN1_STRING_to_UTF8CRYPTO_freeSSL_get_ex_data_X509_STORE_CTX_idxX509_STORE_CTX_get_ex_dataSSL_get_ex_dataX509_STORE_CTX_get_current_certX509_STORE_CTX_get_error_depthX509_STORE_CTX_get_errorBIO_s_memBIO_newX509_NAME_print_exBIO_ctrlX509_verify_cert_error_stringBIO_freetls_k5tls_initvtlibkrb5.so.3libkrb5support.so.0libssl.so.1.1libcrypto.so.1.1libc.so.6k5tls.so.0HIDDENk5tls_0_MITkrb5_3_MITkrb5support_0_MITGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5OPENSSL_1_1_0/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	
��c5���@�
M	G� �)0S� �ґ^+@ti	
pii
	|ui	� m�m�x= �#�= @#�= �= �B 0'�? �? 
�? �? �? �? #@  @ (@ 0@ 8@ @@ H@ P@ X@ 	`@ 
h@ p@ x@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@  �@ !�@ "A #A $A %A & A '(A (0A )8A *@A +HA ,PA -XA .`A /hA 0pA 1xA 2�A 3�A 4�A 5�A 6�A 7�A 8�A 9�A :�A ;�A <�A =�A >�A ?�A @�A A�A BB CB DB EB F B G(B H0B I8B J@B KHB LPB M��H��H�)& H��t��H����5B& �%C& ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�������%�! D���%�! D���%�! D���%�! D���%�! D���%�! D���%�! D���%�! D���%}! D���%u! D���%m! D���%e! D���%]! D���%U! D���%M! D���%E! D���%=! D���%5! D���%-! D���%%! D���%! D���%! D���%
! D���%! D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%�  D���%}  D���%u  D���%m  D���%e  D���%]  D���%U  D���%M  D���%E  D���%=  D���%5  D���%-  D���%%  D���%  D���%  D���%
  D���%  D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� DH�=� H�� H9�tH�� H��t	�����H�=� H�5z H)�H��H��H��?H�H�tH�� H��t��fD�����== u+UH�=� H��tH�=& ����d���� ]������w������SH��H��H�>dH�%(H�D$1��,���H�{����H�D$dH3%(u
H��H��[����A����UH��SH��dH�%(H��$�1�H���@��H��H�����H���u.�i���H��u�H��$�dH3%(u'H�Ę[]��H��H�5VH��1���������DS������UH��H��dH�%(H�D$1�������x5��H�����H��t&H�L$dH3%(u.H��H��[�y���f�1�H�L$dH3%(uH��[��3���AWAVAUATI��UH�,7SH��H��(H�t$dH�%(H�L$1�H9����:��E1��D$D��I��A��DL��H�T$�.L��L)�H)��}���H�5WH��H��I��LD��t���L��L�L)�E���!H���A���*tvH��u<1�1��f��AH��H9�veA��D�B��z A��D�@�B׍x A��B�8�t��D$H�L$dH3%(�D$��H��([]A\A]A^A_�D�D$I9���A��A�9M�w��I�YI9���A�y�����D��M��I��A��M��fD�D$���x����D$A���f����D$I9��U���1�A�9���D$�C����H9��+���H���^���A�����DE��A��A�9u;I9�r��T$��u��I��I���D��M��M��A��������D��M��A��M��I����I�YM����ff.�@��H��1�1�dH�%(H�D$1��& ���1�� ���1�����E1�E1�1�1�1�1��*���E1�E1�1�1�1�1��� ������ �� H�D$dH3%(uH����W������AVI��AUI��H��ATI��UL��SH��H���5l dH�%(H�D$1�I�H�;������t,H�;L��D�������50 H�;1�Lc��o���M��~*L�m1�H�L$dH3%(��uiH��[]A\A]A^�DH�;D���%�����t@��t+���t���uM��t�L���?��������f����T���@��AUI��ATI��H��UH��SH��H���5q H�;dH�%(H�D$1�������t+H�;L��D�������5< H�;1�A���{����E��~!H�L$dH3%(��uFH��[]A\A]�@H�;D���5�����t ���t�H���^�����������@ATI��H��H�5USH��dH�%(H�D$1��f���H����1�1�1�H��H�����H��H�����H��tt1��%���H���F�H�0H��tL�������H���;���9�|�H�5� H������1�H�T$dH3%(u%H��[]A\�D�������������ff.��AVI��H��AUATI��USH��dH�%(H��$1��0���H����H��1�I���D�x.uBH���z���H��u�H�����1���twH��$dH3%(ukH��[]A\A]A^�@H��H��M��PL��	�L��1����XL��ZL���W������D��v���������@��AWAVI��AUM��ATI��USH��(H�|$H�=� �t$dH�%(H�D$1�I�H�5� ���� �U�=� ��9�=� ��,��H������H��H����H���;���H��H����H��H�����H���4�1�H����M���iM�<$1�M��uX���L��H�=�����������L��H�=x������3I��Z�I��H���H����L��H�=2�������u�I�wH�����������EM�<�H��M��u�H����H��H�����t$H���X����1�L��7H����H����H��������I��I��H��t}�5 H��H���W�����thI�/L����I�GH��tTM�}H���#�1�H�T$dH3%(��H��([]A\A]A^A_�fDH������/����E1�1�H�|$����L�����H����H�����:ǖ�f�I�wH����������E1����:ǖ�e�����H�
���H�5�H�=���f�AWAVAUI��ATUSH��HH�|$dH�%(H��$81����H����H�\$L��H��H���.���H�\$ L��
H��������H��H����H�|$���H��H����H���{�A���E1�E1���A��E9�t3D��H���<��8u�H�pH�������A��A�E9�u�H�5� H�����H�����1�E��u�t@H������1�H��$8dH3%(��H��H[]A\A]A^A_�D�H��H���0�����H�5 H���L�@H���`�H�|$��H��t�H�l$0��
H��H����Hc؅��l���L�����H��1�H9��X���H��L������������@���fDH�5� H�����H������������f�AWAVAUATUSH��8H�|$H�4$dH�%(H��$(1����H����H��H����Ņ���E1�E1�L�l$�A��A9�tmD��H���|��8u�H�D$H�pL����L�d$M��t/H�$Hc�L������H�5�L��A����E����A��A�A9�u�H�5� H�����E��t61�H��$(dH3%(uzH��8[]A\A]A^A_�H�5` H����H�|$��H��t�H�\$ ��
H��H������x�H�$Hc�H���4��f�H�5 H���A��s����B�f���AVAUATUSH��H��0dH�%(H�D$(1�H�D$�o�H�߉��U��5C H��H���d�5. H��I���S�M����I��H����H���v�I��H��t.H�����Ņ�x<H�����Å�����tR��!I��$�tH�5�L��1���1�H�L$(dH3%(���TH��0[]A\A]A^��I�^H�T$�H�������uH�T$H�޿
������H��L���)���I��$�����H��t�H��H�5�L��1�����i����C�H����I��H���K���L���'�1�1�L��H����1�H�L$L�����Hc�I�����I��$�t%H����A��L��PL�D$1�H�5�L���k�XZL��1�������f.�H�������H��H�5�L��1��3����fDH��L���M��������H�
��0H�5�H�=���@��H��dH�%(H�D$1�H����H�H�g�H�AH�\�H�AH��H�AH�T$dH3%(u1�H�������H��H���TLS error: {str}.r%s/%sopenssl.ck5int_i->did_run != 0FILE:DIR:ENV:context != NULL && handle != NULLTLS server certificate not receivedTLS certificate error at {int} ({lenstr}): {int} ({str})TLS certificate name matched "{str}"TLS certificate name mismatch: server certificate is not for "{str}"verify_callbacksetup;����8��x����X�8��d��������Lh�X����(��� H���p����(���zRx�$���FJw�?:*3$"D`�� \��OE�G u
DE(����A�D�G�Z
AAH(��}A�Q |
DNV
AAH�l�1B�B�B �B(�D0�E8�G`
8A0A(B BBBF$`��H �
A@@���F�E�H �D(�D0�G@p
0A(A BBBF8����F�E�G �D(�G@h
(A ABBE0�4��B�N�A �D0�
 AABFP����B�H�B �D(�A0�G�k
0A(A BBBED�M�\�D�HH|��F�B�E �E(�D0�A8�D`
8A0A(B BBBGL����B�B�B �E(�A0�A8�G�	<
8A0A(B BBBFH����~B�B�B �B(�A0�A8�G��
8A0A(B BBBAL0���\F�B�B �A(�A0�G`�
0A(A BBBH�hIpWhA`����_H Q
AGNU��#@#�= ��+5��
�4x= �= ���o`(
�
�@ ����	���o����o���o(���o�o(���o�= ��� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@��������0'GA$3a1��4GA$3p1113�#�4GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�#�#GA+GLIBCXX_ASSERTIONSk5tls.so-1.17-12.el8.x86_64.debug�p���7zXZ�ִF!t/����]?�E�h=��ڊ�2N�`��� ��U�������q�]t�z�p�zS�6���($���*�5�s�R+6��E�����V�m�Z���g_�Q^��b5EI�?�G�~��'�QK]�@���v�)w�D ��z���oՆ>	B�#Q��Q� �T�wp�.�=".,�Y��9�>a�c�%
ϕ�\�t�1η���#��彍��="��=0@
a*�d{�g_Q�B�Kn�+�S�G#��6O�u8�l�b]�yx�X��f��tT	M��1O�oi��Zn�ph��2�w��નs�4z�Ҩ撿��]��x��(M���ױ3����ƌ��B�L����n�߭<�dm��c9��9+��o��<�e�ŷ2��W��m �e��Sq�f�!`KTŕ�zu�$�pc�	�����,�+�_L~xr���r#/�4��mt
�""�t�W�ԱIꀉ����D��1�Z�2��t��ClBp�� �^�W>�V)�dwYo�����ƨ)��;sy)�ԆU��� �-)q��0���;�±�r�3����d�Z����+��b�'P2��`��D-���*���N�Hp–ͪ]��%*�F
���/L�X5N3Wi<��fdQ?� �l��.������Xj$�k+�;�����j�Ė��S�;�z�Y�X�	�%_AK \	|1���9�HDX�Ώ0q%f�K[%}h�K�ψ���	�ZZ��FS�{ҡ/Pa�J��݄n/�v�D�e��|u�\�1��?�#�y���5тֿe�Z��}L2Stun�
�{���5x���K;c�����VA��&qUIP~�|&��6b]����8�>@���<�]�.T����+k�2X����JIZg,94ơ�(�-����j�h(���_�R�k�$��0
�R+^�t�T/2ޖ{��`�M��	WYV%�,z�;R���+�$;�p�h�6$J'wN��7��7��~�(��ی1>=�c9����!�㰋��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``0(���0(
(
�8���o((�E���o��TT���o((�c���mB���w��r���}PP���"�"���4�4
��4�4f�66���6�6��H:H: �x= x=��= �=��= �=��= �=@��? �?0�@ @X`B `B(�B �B�B`�BH"�D(1�D,$I@lib64/libkrb5support.so.0.1000075500000205620150403633730011327 0ustar00ELF>�E@�@8	@���� ���� �� (
 �� � PP888$$������  S�td������  P�tdd�d�d�Q�tdR�td���� �� @@GNU�}@>4�d�tD~=VTҙ�NaS
A��3()�$HM�� @�ɀ@�@	��%�Q� ���  <@���4J	�A@(�""�#0�STVXYZ[\]_acdfgijknrstuwz{|}������������������������������������n�@��Ui��eHO6�.KL*C���+	B;!@CiB�*��K����H�f�!�w���}�����1��&�c���<\�˒��GQ��x}�h��S =��L��r�Ka��#�pM�6���oc�W�6��8��tb4ZBN���,ߒYso&ƒ $O+����
��p�8�_n�r��c�-�n��-���k�~��%�k�*����K*d�FxN��������M4R&Ob�Z���M^�U�~9
�Km{%#?���t�s���|�A����Zk"��Gl��=R�i��X+���3�/�El@��]!-���U8�L0���7�}���:EN����x#��!ܿ&%�/���^���'{I���28��A�s٣�����8$,�G�U8���:��S��0�_1��+N��a2z� f��� ���x�
$"��  2���
�, ���� y
F"�
����7"R �	��#E�D"(>D�UX	�R�
6=!� ���*��"�"�"�� �����a �
0���
PKC�
��S�	
��t�
�rZ�
�t�6
�x�b
�&�

���5
�O�?

@��f
�eV�
Pf��
`sq���
@6/
 n6

�w}]

��
 �B
p�f�
�Jbn
�Id��N�� Q
`Q~

Mu=
�P��	
��N{
���8
��f�
pwo
`xG�
 �
�
sH�
Z��
lz�
�;

����
0�6G
 ���
0�F.
����	
�l"
�M
�lM&p�a
zi*

P�5�
�}��
6�
�~6
PJ��
�{;w
���N

��g
��	
��m�
0���	
p�5�

�

���
�Lb
�z��
Luk

��|N
`e9
p��:���_	
���	
0���
 ���
��m�
�l6~
fK�
`d
�P
�yi
�6E
@yQ�
�Kbr	
p�r�

����

����

`�Y�
�~60	
��6�
p�Cu
��m"
pc�W
��8�
��5h
pp9�	
���
��t
 H;E	
��

0��L
`nMq
�z:�

0��
�s�e
�Rap
Y��
�Z��
���__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_fail__assert_failkrb5int_pthread_loadedpthread_getspecificpthread_setspecificpthread_key_createpthread_key_deletepthread_oncepthread_mutex_lockpthread_mutex_unlockpthread_mutex_destroypthread_mutex_initpthread_selfpthread_equalpthread_createpthread_joink5_os_mutex_initkrb5int_mutex_allocmallock5_os_mutex_destroykrb5int_mutex_freek5_os_mutex_lockkrb5int_mutex_lockstderr__fprintf_chkk5_os_mutex_unlockkrb5int_mutex_unlockkrb5int_key_deletek5_oncekrb5int_getspecifickrb5int_setspecifickrb5int_key_registerselabel_closeis_selinux_enabledgetfscreateconselinux_file_context_path__xstatfreecongetcwdstrlen__sprintf_chkselabel_opengetconcontext_newcontext_user_getcontext_user_setcontext_strstrdupcontext_freesetfscreateconselabel_lookupkrb5int_push_fscreatecon_forkrb5int_pop_fscreateconkrb5int_labeled_fopen__errno_locationcreat__xmknodmkdirkrb5int_labeled_open__open_2reallocdlsymdlerrork5_set_errorkrb5int_open_plugincallocdlopendcgettextkrb5int_get_plugin_datakrb5int_get_plugin_funckrb5int_close_plugindlclosekrb5int_open_plugin_dirs__asprintf_chkopendirreaddirclosedirkrb5int_close_plugin_dirskrb5int_free_plugin_dir_datakrb5int_get_plugin_dir_datakrb5int_free_plugin_dir_funckrb5int_get_plugin_dir_funck5_get_errork5_strerror_r__snprintf_chkk5_free_errork5_clear_errork5_vset_error__vasprintf_chkk5_set_error_info_callout_fnmemcpymemsetk5_buf_init_fixedk5_buf_init_dynamick5_buf_init_dynamic_zapk5_buf_add_lenk5_buf_addk5_buf_get_spacek5_buf_truncatek5_buf_statusk5_buf_freek5_buf_add_vfmt__vsnprintf_chkk5_buf_add_fmtkrb5int_gmt_mktimetimegmkrb5int_getaddrinfokrb5int_freeaddrinfokrb5int_gai_strerrorkrb5int_getnameinfokrb5int_in6addr_anykrb5int_utf8_lentabkrb5int_utf8_mintabkrb5int_utf8_to_ucs4krb5int_ucs4_to_utf8krb5int_utf8_nextk5_utf8_to_utf16lek5_utf16le_to_utf8krb5int_zapk5_path_splitstrrchrk5_path_isabsk5_path_joink5_base64_encodek5_base64_decodestrchrstrcspnabortk5_json_retaink5_json_releasek5_json_get_tidk5_json_null_createk5_json_null_create_valk5_json_bool_createk5_json_bool_valuek5_json_array_createk5_json_array_addk5_json_array_lengthk5_json_array_getk5_json_array_setk5_json_object_createk5_json_object_countk5_json_object_getstrcmpk5_json_object_setk5_json_object_iteratek5_json_string_create_lenk5_json_string_createk5_json_string_create_base64k5_json_string_utf8k5_json_string_unbase64k5_json_number_createk5_json_array_fmtk5_json_number_valuek5_json_encodek5_json_decodek5_hex_encodek5_hex_decode__ctype_b_loc__memcpy_chkk5_hashtab_createk5_hashtab_freek5_hashtab_addk5_hashtab_removememcmpk5_hashtab_getk5_bcmpkrb5int_strlcpyk5_free_filenamesk5_dir_filenamesqsortkrb5int_strlcatlibcrypto.so.1.1libkeyutils.so.1libresolv.so.2libselinux.so.1libdl.so.2libc.so.6libkrb5support.so.0krb5support_0_MITHIDDENGLIBC_2.2.5GLIBC_2.7GLIBC_2.14GLIBC_2.4GLIBC_2.3GLIBC_2.8GLIBC_2.3.4/opt/alt/krb5/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/openldap11/lib64:/opt/alt/krb5/lib64	
P�@��ґ����� ui	��ii
����
�ii
	�ii
�ii
�ti	ui	��� 0G�� �F�� �E�� 0F�� �� �� ���� �� � `I8� ��X� ��x� ���� 0��� ���� ���� ��� ��X� k`� h� �p� x� �� �� �� �� ��  �� '�� (�� 1�� @�� C�� F�� I�� J�� L�� R� � � Y(� �0� 8� �@� H� �P� �X� �`� h� dp� Zx� �� �� �� g�� �� 	�� 
�� {�� ��� ��� �� �� 
�� �� �� ��� �� s� � f� � � z(� 0� 8� u@� H� \P� �X� `� h� �p� x� �� �� ~�� W�� �� �� �� o�� �� ��  �� !�� ��� ��� "�� ��� #� $� %� &� ) � *(� �0� +8� �@� xH� �P� ,X� �`� �h� -p� .x� `�� q�� ��� /�� 0�� ��� 2�� ^�� 3�� 4�� i�� 5�� 6�� 7�� ��� 8�� 9� h� :� U� ; � <(� =0� �8� �@� >H� ?P� @X� A`� Bh� �p� Dx� E�� F�� G�� H�� I�� ��� ��� J�� K�� L�� ��� M�� N�� O�� P�� Q�� ���H��H��� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!�������%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݱ D���%ձ D���%ͱ D���%ű D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݰ D���%հ D���%Ͱ D���%Ű D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݯ D���%կ D���%ͯ D���%ů D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݮ D���%ծ D���%ͮ D���%Ů D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D������������H��dH�%(H�D$1��N� ��t	�=?� tH�D$dH3%(u@H��������u%H�=�� ���H�D$dH3%(uH����=�� ������� �����H��H�=� dH�%(H�D$1�H��t�G���H�̯ H�D$dH3%(uH�������f�H�=a� H�Z� H9�tH�� H��t	�����H�=1� H�5*� H)�H��H��H��?H�H�tH��� H��t��fD�����=� u+UH�=�� H��tH�=Υ �����d����ݭ ]������w������H��dH�%(H�D$1���� ���t%��� H�D$dH3%(uH���fD�n� ������PXH�
�}�xH�5�{H�=�{H��dH�%(H�D$1����ff.�PXH�
g}��H�5�{H�=�{H��dH�%(H�D$1����ff.���H��dH�%(H�D$1��« �����H�=I� ��H�=�� ��	�H�=	� ��	�H�=L� ��	�H�=�� ��	�H�=B� ��	�H�=E� ��	�H�=0� ��	�H�=æ ��	�H�=� ��	�H�=� ��	�H�=Ԧ ���ueH�=� t[H�5L���H�=u� � �����uDH�55���H�=^� �	�����u-�ߪ ��x#�ժ DH�L$dH3%(uH������ 1������D��H��dH�%(H�D$1���� �i��tH�5�H�=�� �����u	����t%�g� H�D$dH3%(uH���f.��[&���t���@��SH��H��dH�%(H�D$1�����u1�H�T$dH3%(u(H��[�H�D$dH3%(uH��H��1�[�������ff.����UH���(SH��(dH�%(H�D$1����H��t4H��H�������u5H�]H�T$dH3%(u3H��([]�f.����f�H�߉D$�����D$��y���f���SH��H��dH�%(H�D$1�����u1�H�T$dH3%(u&H��[�H�D$dH3%(u
H��H��[�������ff.���SH��H��dH�%(H�D$1��/���H�D$dH3%(u
H��H��[�������ff.�f���SH��H��dH�%(H�D$1��/��u1�H�T$dH3%(u&H��[�H�D$dH3%(u
H��H��[����N���ff.���SH��dH�%(H�D$1��"�����uH�D$dH3%(u>H��[���lj�����پH��wI��H�W� H�81��5�� �������ff.���SH��H��dH�%(H�D$1��?��u1�H�T$dH3%(u&H��[�H�D$dH3%(u
H��H��[�����^���ff.���SH��dH�%(H�D$1��b��uH�D$dH3%(u>H��[���lj���پH��vI��H�g� H�81��E��p�������ff.���US��H�=1� H��dH�%(H�D$1����uTH��� �߀<8���8H��� H��H�=� ��Å�uL1�H�T$dH3%(uhH��[]��lj�����H��uI��H��� H�81����p�������پH��uI��H�y� H�81��W�������H�
�v��H�5+uH�=.u�N�ff.���AUL�-� ATI��H�=� UH�-æ SH��dH�%(H�D$1����us�1ۺ�|t!I�D�H��tI�|�H��t
I�D���1�H��H��u΅�t�L���{�H�=�� �_�Å�uKH�D$dH3%(uiH��[]A\A]Élj���پH��tI��H�e� H�81��C��.������g�پH��tI��H�7� H�81����@�����ff.���UH��SH��H��dH�%(H�D$1�����u_�C<t9<t+H�
�t�4H�5�s<tdH�=et�����C���C1�H�T$dH3%(u@H��[]�DH�D$dH3%(u$H��H��H��[]����H�=as�d����ff.�@��S��H�=�� H��H�5�� dH�%(H�D$1�����uf�d� ��t`�V� ��uRH��� �<um��H�a� ��uH�D�H�L$dH3%(uCH��[�f��=� ��H��H��u�D1���H�
Mt��H�5rrH�=�r����H�
)t��H�5NrH�=Qr�q����AVAUI��ATU��H�=�� SH�� H�5�� dH�%(H�D$1����Å�u>�x� �����f� ��u&H��� �<(���$�L�%m� ��u)M�l�H�T$dH3%(����H�� []A\A]A^Ð�=� ��I��H��uĿ0�3�I��I��H����H�@�=� H��H�@H�@H�@ H�@(H�����f���L���D$���D$���T���H�
�r�
H�5qH�=7q�)�f���"�����H�
jr�H�5�pH�=�p���f���ATI��U��H�=� SH��H�5!� dH�%(H�D$1�����ub��� ������ ��uJH�=�� ������H�%� ��<8���8H�� L�$�H�=O� �
��Å�u$H�T$dH3%(����H��[]A\�D���9��پH��pI��H�	� H�81������f����	��پH�+pI��H�ٛ H�81�����H�
q�KH�5�oH�=�o���.�H�
�p�aH�5loH�=�o��ff.�@��H��H�5�� H�=�� dH�%(H�D$1�����u��� ��t��� H�T$dH3%(u$H���H�
p��H�5�nH�=o�
������H��dH�%(H�D$1�H�D$dH3%(uH����N�ff.�PXH�
�p�xH�5[nH�=nnH��dH�%(H�D$1���ff.�PXH�
7p��H�5nH�=.nH��dH�%(H�D$1��K�ff.�AUATA��UH��SH���dH�%(H��$�1�H�D$H�D$H�D$������H�|$����ut1ۀ}/��H�=0� � ��H���H�T$ H�ƿ������H�� H9D$x����H�D$x���L���8��H�|$H��t���H�|$H��t�����1�H��$�dH3%(�H���[]A\A]�fD1�1����I��H��t�H�����H��H�����H�|�r�H��H���f���I��H��M��H�����H�
�n�1�H���P�L���x�H�=� ���H�=�� ����1�1�1���H��H�� H���H��tH���1�H�|$�=H�|$�k�H�|$��H�|$��H��H��tmH�|$��H��H��tSH���S�H��t>H��H���s���u/H����I��H��tH�|$�e�L���-�H�D$�H�����H����H�|$�6�H�|$�����D���H�|$��H�D$�U�����1��D�H�� H�=� H�����H�t$D��H�����������H�|$H��t���H�����H����H�|$H����������fDH�|$H�������������SH��H��dH�%(H�D$1����H��tH���V�H�D$dH3%(u
H��[�,��G����UH�5����SH��H��H�=�� dH�%(H��$�1����H�=�� ����ujH��H�޿����u>�t$H������H�����H��HD�H��$�dH3%(uYH�Ĩ[]���D$����f��lj�����H�9jI��H�� H�81����� ����[�ff.���SH��dH�%(H�D$1�H��t&H���H��HD�����u.H�=Ǜ �B��Å�u,H�D$dH3%(uJH��[�fDH���X�����fD���i��پH��iI��H�9� H�81��������ff.�f���AW�AVAUATUH��H�=nSH��H��dH�%(H�D$1������t�H�=�jH�������u7H�D$dH3%(�2H��H��H��[]A\A]A^A_�*�f.�H�=� H�5�������L�%�� L�����A�Ņ���1�H������H��H��I�����I���C�H��D�(�8���u<L������Ņ�uDD�+L��H�T$dH3%(��H��[]A\A]A^A_�DL�����L�����Ņ�t��������H�5hI��H��� H�81����4���@����D��H��gI��H��� H�81��f������ff.����AVAUA��H�5^���ATUH��SH��H�=�� dH�%(H�D$1���H�`� H������ul1�H������D��H��I����A����H��D� ����tL������H�����Å�u_D�eD��H�T$dH3%(uvH��[]A\A]A^���A����D��H��fI��H��� H�81��k�����fD�����پH��fI��H�Y� H�81��7��������ff.�f���AVI��AUATA��H�5)���UH��SH��H�=q� dH�%(H�D$1��d�H�-� H���u���uyD��H�����D��H��1�H��L�4$I���o�A�����H��D� ����tL�����H���X��Å�ubD�eD��H�T$dH3%(uyH��[]A\A]A^�fD��A���~�D��H��eI��H�M� H�81��+����fD���I��پH��eI��H�� H�81���������ff.�f���AVAUA��H�5��ATUH��SH��H�=4� dH�%(H�D$1��'�H�� H���8���utH��@�g���D��H��I���9�A����H��D� ����tL���j���H���"��Å�udD�eD��H�T$dH3%(u{H��[]A\A]A^����A���F�D��H�gdI��H�� H�81������N���fD�����پH�[dI��H�� H�81�����Z����U�D��AVAUATUH��S��H��PH�T$0dH�%(H�D$1���@u1���*���H�L$dH3%(���H��P[]A\A]A^�DH�=�� H�5b����L�%�� L�����A�Ņ�uw1�H����T$0��H��I��H��$��$H�D$H�D$ H�D$1��|�����H��D�0����tL������L�����A�ą�u?D�u�>���fD�����D��H��bI��H��� H�81�����������D��H��bI��H�x� H�81��V��������f.�f���H��dH�%(H�D$1�H�T$dH3%(uH�����ff.���H��dH�%(H�D$1�H�D$dH3%(uH�=a� H�����c�AVI��AUATI��UH��SH��H�?dH�%(H�D$1�H�H��L�hH����H��t<L�t�H�D�M�,$H�E1�H�L$dH3%(uH��[]A\A]A^��������@UH��SH��H�?dH�%(H�D$1�H��tH�]����H��H�{�H��u�H�D$dH3%(uH��H��[]����s�ATUS�H��dH�%(H�D$1�H��tH��I����H��t&H�E1�H�L$dH3%(H��u;H��[]A\�@�3��H�jb�L��H��HD�H��bH��1��,�������D��AVI��H��AUI��ATI���USH��dH�%(H��$�1�H���A����������H��H����D$%�=�u&�L����H����H�1�I�1��L@������H�5�aH�=�aH������H��L��H��1���I��f�H���8��H��H��$�dH3%(��H�Ġ[]A\A]A^�fD�C��Hc(���I�����B���H�5NaH�=
aH���g��I��L��H��H��L��1�1����H���v���������1��d���@�{��H��H��t:�H�5aH�=�`���I��L��H��L��1���^�������H�5k`H�=t`����H���������H��dH�%(H�D$1�H�D$dH3%(uH�?H���L���������SH��H��H�?dH�%(H�D$1�H��H�$����H��uH�$H�H�\$dH3%(uH��[��Z��f.���SH��H��H�?dH�%(H�D$1�H��t���H�D$dH3%(u
H��H��[�J�����D��AWAVI��AUATUSH��hH�|$ �H�t$�H�T$(dH�%(H�D$X1�H�D$@�D��H�D$8H���H�|$I����H�D$ H�8H����D$L�d$ L�|$H@H�\$H����L�H�D$8L�l$PH�l$@H�D$M���2I�$1�H�i^L��H�D$H�H�D$P�������H�D$P1���9��H�|$HH��t���f.�H���
H�D$8H�t$(H�D$8H�1�H�|$���@L�d$8M��t0I�<$I�\$H��t��+��H��H�{�H��u�L�����H�t$XdH34%(H���H��h[]A\A]A^A_�H�|$PL��L���`��H��t{H�|$P�q��H�|$HH����H��L�M������HcD$H�L$ L�$�H��I�<$���T$H���{���H�D$8H�t$(1�H�D$8H�|$H������L���f�H�T$HH�|$H���N���H��tH��H�|$P���@H�D$H�O���f.����H�t$PH��H�t$H��A��1�H��f�H����E����H�D$HH��H�D$P�$��H���#H�h�H�=�\H����������H��H�=�\�������H���3��I�$I��L��A��H�e\1���C������H�D$H1������H�|$PH���8����3��H���3���f.�H��t+H���s��H�������H�D$8H�t$(1�H�����DH���7���H��t����@1������H�t$H�|$HL���>��H��tH�|$H1��b���DH��������H�T$PH�t$@H�|$8���H��H��u	H�D$PH�|$H�!���H�|$��������H�D$1�H�H�D$H���H��H�<�u�H�|�H�L$���I��H�D$H����H�L$L�t$L�%�ZH�l$f.�L�5� M��L��]�DM�I��I��M��tDH�M1�L��L�������y�H�D$H���I�H�H�������4���H�MI��H��H��u�H�t$H��L�t$H��H�t$H�H�H�D$ H�8H����������D����������H�D$H��u������H�D$(1�L� ����W�������*���ff.�f���USH��dH�%(H�D$1�H�H��t<H��H�8H��t!�fD���H�EH�<H��H��u�H���*��H�EH�D$dH3%(uH��[]�����fD��H��dH�%(H�D$1�H�D$dH3%(u	H���������f.���AWAVA�AUI��ATI��UH���SH��8H�T$dH�%(H�D$(1�����H��H����H����H�EE1�L�t$ H�D$H��u��H�EI��J��H�8tnH�D$ H�8L��L��L�����H��u�H�D$H��H��H��H�T$���H��tmH�T$H�L$ H��H�D$H�L�H�D��f.�H�D$E1�H�1�H�����L��H�\$(dH3%(u H��8[]A\A]A^A_�f�A����3����H��dH�%(H�D$1�H�D$dH3%(u	H���?�����f.���AWAVA�AUI��ATI��UH���SH��8H�T$dH�%(H�D$(1��;��H��H����H����H�EE1�L�t$ H�D$H��u��H�EI��J��H�8tnH�D$ H�8L��L��L������H��u�H�D$H��H��H��H�T$���H��tmH�T$H�L$ H��H�D$H�L�H�D��f.�H�D$E1�H�1�H�����L��H�\$(dH3%(u H��8[]A\A]A^A_�f�A������PXH�
�V�xH�5�SH�=�SH��dH�%(H�D$1�����ff.�PXH�
�V��H�5{SH�=�SH��dH�%(H�D$1����ff.���H��dH�%(H�D$1�H�T$dH3%(uH�������ff.���USH��H��dH�%(H��$�1�H97u
H�H����������H�=� ����Ņ���H��� H����H��кH�=�TH���/��H���FH�����H�=�� H���o���Ņ���H��tPH��$�dH3%(H���jH�Ę[]�@�H�5�TH�=cT���H�����H��H��u�H��T�����H���fD���I����H�kRI��H�~ H�81������f�H�=ل ����Ņ�u6H�庀��H���������H�����H��H��� ����k�����������H�RI��H��} H�81�������f.�H�=Y� �4���Ņ�u��H�5�SH�=YSH�����I�ٹ�H��I�����1�����[�������A�����������H��dH�%(H�D$1�H�hSH9�tH�D$dH3%(u!H��H�����H�D$dH3%(uH����F��fD��SH��H��H�wdH�%(H�D$1����H�CH�D$dH3%(uH��[�������AUI��ATI��UH��SH��H��dH�%(H�D$1����L�+H��L��H�������xH�$H�CH�D$dH3%(uH��[]A\A]����ff.�@��H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ H�D$�D$0���H�D$dH3%(uH���������UH��SH��dH�%(H�D$1����H�=� �����u6H�=ׁ H�-�� ����Å�uUH�D$dH3%(usH��[]�fD�lj������پH�OI��H��z H�81��������������پH��NI��H�yz H�81��W���������f.�AVAUATUSH���dH�%(H�D$1�����H�_L�gH��H�C�L)�H9����B���td����H�H��L)�H��H9�w��H�H�C�L)�H9���H��y�L�m����M�����E�������E1�H�EH�EH�E��H�L$dH3%(��H��[]A\A]A^�f.�1���@L�m��t?H��L���$��I��H��t~L�u�H�]�L�mf�L�������`���H�����I��H���1���L��L��H���.��C�&M��uDH�}����f�L��1�L���������E����L�eL�m����DL��1�L����������H�
�O�PH�5GOH�=bO�m��ff.�f���H��dH�%(H�D$1�H��t.�H�wH�WH�G�H�D$dH3%(u$H���H�
�O�uH�5�NH�=�N����q�����SH��H��dH�%(H�D$1��H�G����<��H�CH��t#H�C�H�D$dH3%(u H��[�f��H�CH�C��������SH��H��dH�%(H�D$1������;u�H�D$dH3%(uH��[����f���ATI��H��UH��SH��H��dH�%(H�D$1������tH�}H�EH��u*H�H�]�H�D$dH3%(u'H��[]A\�fDH�H��L������H�EH�}����ff.���UH��H��SH��H��dH�%(H�D$1��8��H�L$dH3%(uH��H��H��H��[]�T�����ff.�@��UH��SH��H��dH�%(H�D$1������t7H�CH�SH�H�C�H�CH)�HCH�L$dH3%(u
H��[]�f�1����G�����H��dH�%(H�D$1����tH9wr&H�GH�w�0H�D$dH3%(uH������H�
�L��H�51LH�=<L�W�����H��dH�%(H�D$1��?���H�T$dH3%(uH������fD��SH��dH�%(H�D$1����t:�P���wmH��H�O��t=H������H�CH�CH�CH�D$dH3%(u&H��[ÐH�WH��uH�K봐H��1�����H�������H�
�K�H�57KH�=RK�]��ff.�f���AUATUSH��8dH�%(H�D$(1����t|H��H�I��I��H�kH)�����������oI��L�L$H�����H��D$H�B�H�D$ H{�����H9�r:����Hc�H���W�����u3H�D$(dH3%(�cH��8[]A\A]ÐHS��f.�H�{H�kM��M��H������H)�H{H�������H9���HC�fDH�|$L��L������Ņ���Lc�H��L����������;H�l$tqH������D���@I��I��H{H������H�������H9��{����H�CH�CH�C��@H���x�����H���X��H��u;H�l$�x���f��UH�t$H�{Hc�H{���Lc�D����H��1�H���������H�
�I��H�5�HH�=
I����D��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ H�D$�D$0���H�D$dH3%(uH��������f.����H��dH�%(H�D$1�H�D$dH3%(u	H��������f.���H��dH�%(H�D$1�H�D$dH3%(u	H������Z��f.���H��dH�%(H�D$1�H�D$dH3%(u	H���O������f.���H��dH�%(H�D$1�H�D$dH3%(u	H���O������f.���H��dH�%(H�D$1�H�D$dH3%(u	H��������f.���H��dH�%(H�D$1��?t#H���<u�H�T$dH3%(u
H��Ð1����G�����H���dH�%(H�D$1����y�€H�*o ���H�L$dH3%(uH����������H���dH�%(H�D$1����xH�t$dH34%(u=H�����B�H�
�n �����~�H�
�n ����W�D���z��f.���H��dH�%(H�D$1����ʄ�x �1�H�t$dH34%(��H����B�H�
6n ��D�A����H��L�
n �G��A�teIc�L�FA"��A���¸����A��A���u���f��H��A��A��A���u����?	�A9�ށ����J���f�������B���fD�����E���.���H�
�EIc�"��A�������G�k����J���f.���SH��H��dH�%(H�D$1�1�f�H�t$�E������t�D$=��w%f�1�H�T$dH3%(uH��[�f.������������@��H��dH�%(H�D$1�����wH��tk��w&@�>�H�L$dH3%(��H���D������?���ʀ���v[����?���Ȁ����w`���F���V�fD���v�����v�1�������H���w���D���V���`���fD����?�F����ɀ�V@�>�N�8����ѿ�����H��dH�%(H�D$1�H�D$dH3%(u��H��鼼��藿�����H��dH�%(H�D$1��?H�GyH�O�����u	H��H9�u�H�t$dH34%(uH����=���ff.�f���S1�H��dH�%(H�D$1����tH����x&H�����u�H�L$dH3%(H��uH��[�f��K���H����Ѿ�����UH�,7S1�H��dH�%(H�D$1�H9�r�(f�H��H9�vH���?y����H��H9�w�H�T$dH3%(H��uH��[]��b���f���SH��dH�%(H�D$1��?�xH�T$dH3%(uH��[��H��舾��)�������ff.�@��H��dH�%(H�D$1�H�G�H�������u	H��H9�u�H�L$dH3%(uH���貽��f���H��dH�%(H�D$1����>�y*����A��A��A���u�H��H��u�H�|$dH3<%(uH����E���D��H��dH�%(H�D$1�����H�T$dH3%(uH�������fD��H��dH�%(H�D$1����0<	��H�T$dH3%(u��H��������H���dH�%(H�D$1���x�ʸ��0��	wH�t$dH34%(uH���@���1���A�������c�����H���dH�%(H�D$1��� wH�>�H��H������H�t$dH34%(uH�������ff.���H���dH�%(H�D$1���x���1���A����H�L$dH3%(uH���蹻��f���H���dH�%(H�D$1���x�Ѹ��߃�A��wH�t$dH34%(uH���f.���01���	�����N���ff.���USH��H��H��dH�%(H�D$1�H�t$H���C������t+�;t&H��H���.�����u	�D$9$tA�;x,H���;u�1�H�T$dH3%(u&H��[]�f.�H���(���H���H����覺��fD��AWI��AVI��AUATUH��SH��dH�%(H�D$1�I��L�l$�}t7L��;tL��H��脵����tH�;xcH���;u�}xlH���}u�f�H��L)�H�T$dH3%(uZH��[]A\A]A^A_�L��H���-�����u��D$9$t��;y�H���P���H���t����H���8���H���S���軹��ff.���AWI��AVI��AUATUH��SH��dH�%(H�D$1�I��L�l$�}t%L���;tL��H��蔴����t8�;x[H���;u�H��L)�H�T$dH3%(u\H��[]A\A]A^A_�DL��H���M�����u��D$9$u��}xH���@H���h���H���|���H���X���H���c����۸��ff.���AVI��AUATUH��SH��dH�%(H�D$1�I��L�l$�}t5L��;tL��H��蹳����tE�;x`H���;u�}xaH���}u�1�H�T$dH3%(H��uRH��[]A\A]A^�DL��H���e�����u��D$9$tÀ;y�H��舸��H���w���H���x���H���^������ff.���ATUSH��dH�%(H�D$1�H����H��H��I��H��t]H��H������HÀ;tRH��H�����H�,�}u%I�,$H�L$dH3%(H��uHH��[]A\�DH�Ex*�EH���̐H��I�$1��@1��@H��訷�����1������AWI��AVAUI��ATI��USH��8dH�%(H�D$(1�H�H��H�H���<���A���t<H�
�;��xQA��H��足��H�
�;H����f�M�A���u�H�D$I�$H�D$I�E1��>��C�H��b ��L�4I����M���B"1��I���y���A�G�����������?	Í�(��=��������������5����H�����H�
�:H������������
��܀��f�Xf�����f.�H��H�5�a A�G���tK��B"1���ہ��u4�D����?H��	�I9��B���A��Ɓ����t�H��趴���H�|$(dH3<%(uH��8[]A\A]A^A_ø���&���fD��AWAVAUATUSH��8dH�%(H�D$(1�H��@��uLH��H��I��I��H�����M���I��uQ1�1����H��H��襱��H������H�L$(dH3%(��H��8[]A\A]A^A_�DM�f�L�{H������$f�������(f�����I����I��L�cM�����S��$f���wv�Á�1���
���	Ӂ�������H��H���ٰ��H���4�����H��L����M�������H�D$I�E1�����f.�H��1��ư��fDH���������艳����1���蝰��H��H���b���H���������H��L��M���y����|���1�1��k���H��H���0���H�������H��1�L��M���G����J���f���H��dH�%(H�D$1�H��tH��H��H9�u�H�D$dH3%(uH����ڲ��f.���AWAVAUI��ATI��UH��SH��dH�%(H�D$1�H��tH�M��tI�$�/H��述��H����L�pH9�r���H��H9����x�/t�M��thH)�H�xH���9���I��H����H��H��H���߳��A�M��u]M�}1��H�L$dH3%(��H��[]A\A]A^A_�D1�M��t�L��葱��H��u%H��������DL���p���H��tCM�}I�$1���L���C���I��H���8���D��n���ID�� ����h���L�����H��dH�%(H�D$1��?/��H�T$dH3%(u��H����%���D��ATI��H��UH��SH��H��dH�%(H�D$1�H�輯����uA�<$u1H��虰��H����H�E1�H�L$dH3%(u|H��[]A\ÐL�����H��A�|�/t�;/u(I��L��H�31�������x3H�$�DI��A�/L��1�H�R5��ѭ�������t����9���f���USH��dH�%(H�D$1�H��������?H9��H��H��H��H���������H��H��H��H�z�٫��H����H����L�SH��1�A�=H�5�4��T
L�A��L9�v	D�D
D�L�A��L9�v	D�D
D�A��H��A��F�D�A��A��A��?F�D�GA�Ѓ�?A���A��?H9�F�AB�L9�EG��WH��D�G�H9��q����H�t$dH34%(uH��[]��1���@H�������ff.���AWI��AVAUATUSH��(H�t$dH�%(H�T$1�H��������H�$H�Ã���H��H�<@艪��H�$I��H���A�7H�-~3I��@�����E1�M�g�1�A��@��=t7����H���m���H����H)�A�M9�tA�4$A��I��@��=uɃ�M9�u�����D	�tz�؉����A�M��vOI��I��A�w�@���q���L��H+$H�D$H�H�T$dH3%(H�$uOH��([]A\A]A^A_����A�U��u3A�]I���H�<$跪��H�$�H�D$H���Z���I���n����AUI��H�5�2ATUH��SH��dH�%(H�D$1��4���A�}��L�%4�%H�4H��L�kH)кJ�4 聧���{tsH�5�3L������L��H��H��H���[���L�;tKH�52H���ī��D�+H�=�3D���ѫ��H��u�D��1�H�5�1H���X����{L�ku�fDH�D$dH3%(uH��H��H�5�1[]A\A]�_����J���f.�AWAVAUATUSH��(dH�%(H�D$1�H�H��8"uCH�XH��@��t4I��H���@<"tTH�H�hH�/�@��t<\u�H�EH��}u�H�L$dH3%(�H��([]A\A]A^A_��H�EH�H��H)�H��芧��H�D$H����L�`L�-y2H��L�=_2H9�r�PA�D$�H��L��I��H9�v;�<\u��s@��utBL���b���H��tKL)�H��L��I��A�A�D$�H9�w�H�D$�I�1��3���fD�CD�X�A��	v�P���vH�|$���������SD�R�A��	v�J���w��{D�G�A��	v�O���w��K�q�@��	��D��A��	����A<�ʬ��A��7A����E��A��	����A���������7��@��D	�A��A��	�|��A@�������B����D	�@��	vU��A���a�����7	�=�����L��A�D$�H�����D�I�A�������J���DA��0�Y������0��B����0�]��������衩�����H��dH�%(H�D$1�H��t
�G���t#���G�H�T$dH3%(H��uH����Y���H�
0�iH�5�.H�=�.躤��f.���SH��dH�%(H�D$1�H��tB�G�H����tS���G�u0H�G�H�@H��t��H�D$dH3%(u'H��H�{�[����H�D$dH3%(uH��[�赨��H�
^/�vH�5�-H�=�-����fD��UH��SH��dH�%(H�D$1�H�t#1�f.�H�EH�<�H�����H9]w�H�D$dH3%(uH�}H��[]�j����%���D��ATUH��SH��dH�%(H�D$1�H�t61��H�EI��H��I��J�< ����H�EJ�| �z���H9]w�H�D$dH3%(uH�}H��[]A\���螧��ff.���H��dH�%(H�D$1�H�G�H�T$dH3%(uH����X������S�H���H��dH�%(H�D$1�赧��H��t@H��X �@H��H�P�H��H����H�L$dH3%(uH��[��H�����ͦ��ff.�f���S�H���H��dH�%(H�D$1��%���H��t@H�	X �@H��H�P�H��H����H�L$dH3%(uH��[��H�����=���ff.�f���U���SH��H��dH�%(H�D$1�H��苦��H��tFH�
OW H���@H�H��t,H����@1�H�L$dH3%(uH��[]�f.����褥��@��H��dH�%(H�D$1��H�T$dH3%(uH����k���ff.���S�(H���H��dH�%(H�D$1��ť��H��t@H�iV �@H��H�P�H��H����H�L$dH3%(uH��[��H�����ݤ��ff.�f���ATI��UH��SH��H�WdH�%(H�D$1�H�H�JH;Wr8H��H��H�H��HC�H�4��ڥ��H��tEH�UH�EH�]H�JH�ML��H��襣��H�1�H�|$dH3<%(uH��[]A\������$���@��H��dH�%(H�D$1�H�GH�T$dH3%(uH������f.���H��dH�%(H�D$1�H9w����H�T$dH3%(H�H��uH���蝣��ff.�f���ATUSH��dH�%(H�D$1�H9w�ĥ��H�H��I��H�,�H�<�����L��H+蕢��H�EH�D$dH3%(u	H��[]A\��#�����S�(H���H��dH�%(H�D$1�腣��H��t@H�	T �@H��H�P�H��H����H�L$dH3%(uH��[��H����蝢��ff.�f���H��dH�%(H�D$1�H�GH�T$dH3%(uH����Z���f.���AUATUSH��L�gH�dH�%(H�D$1�M��tNI��1���H��H��I9�t3H�3L���0�����u�H�CH�T$dH3%(uH��[]A\A]�D1����ϡ��ff.�@��AWAVAUI��ATI��USH��(H�oL�7H�$dH�%(H�D$1�H����L��E1��@I��H��L9�tkH�3L��萡����u�H�{�D$���H�<$�L$��H�<$�L$胠���L$H�CH�T$dH3%(���!H��([]A\A]A^A_�fDH�<$��I9mw;H��L��H��H�DH��HC�H��H���(���I��H��tPI�EI�mI�]L��H���h���I�.I�]H��I]H�;t"H�<$�ٟ��1�H�CI�E�N���f���;���fD1��.���f�H�;�$腝��I�uI�E�$H)�H��H��H9�s-H�SH���I�u�oH��D�I�EH��H��H9�r�I�E�������ff.�@��AUATUSH��dH�%(H�D$1�H�t-H��I��I��1�H��L��H��H��HEH�PH�0A��H9]w�H�D$dH3%(uH��[]A\A]��n���ff.���AUI���ATI��UH��H��SH��dH�%(H�D$1�H�负��H��tgH��H�P H��H��CH��tJH��u-�D+1�I�$H�T$dH3%(u1H��[]A\A]��H��H��L��肠��H���D��謞��ff.����UH��SH��H��dH�%(H�D$1��˛��H�L$dH3%(uH��H��H��H��[]�w����R���f���UH��SH��dH�%(H�D$1�H�藚��H��t2H��H��H���ě��H�߉��J���H�L$dH3%(��uH��[]Ð������@��H��dH�%(H�T$1�H�L$dH3%(uH��H���諝��ff.���UH��SH��H��dH�%(H�D$1�H�H��H��J���H��t%H�EH�$H�1�H�L$dH3%(uH��[]ÐH�<$�������,���ff.����UH���SH��H��dH�%(H�D$1�H���z���H��t=H�
�M H���@H�H��t#H�H�h1�H�L$dH3%(uH��[]����蜜��ff.����AWAVAUI��ATA�USH��H��H��$�H��$�L��$�L��$�dH�%(H�D$h1�H�H�|$(������&A��H��$��D$PH�D$XH�D$pH�D$`�����H�L$8H�-�!H�L$H�L$HH�L$H�L$0H�L$@��B<4����HcD�H�>���H�|$視������L�t$Hf�H�|$(L������L��A���(���E��ucH�����u�H�D$(I�E�]D�T$P��/�#H�D$`�J�։L$PH�<0��/�/��HȉT$PH�T$H�0�y��������H�|$(A�谖��H�L$hdH3%(D����H�Ĩ[]A\A]A^A_���D$P��/�#�ƒ�HT$`�D$PH�:���I������D�D$P��/��ƒ�HT$`�D$PH�:H������H�t$�������W���L�t$8����D�D$P��/���ƒ�HT$`�D$PHc:H�t$�И��������L�t$0���fD�D$P��/���ƒ�HT$`�D$P�:H�t$@豘��������L�t$@�O�����D$P��/���ƒ�HT$`�D$PH�t$H�:�P�����t�����H�T$XH�BH�D$X����DH�T$XH�BH�D$X��DH�T$XH�BH�D$X� ���DH�T$XH�BH�D$X�H���DH�T$XH�BH�D$X�p���DH�D$XH��H��H�D$XH�:H�PH�T$X�������H�D$X��f.�H�&AWAVAUATUH��SH��H��8dH�%(H�D$(1�H�H������D�� ���"����{��H�SH�J�H�KH����H�D$�8{��H�PH��P����H�&H���f�H��sH�H���P����w�� v�H�|$�X���A�ƅ��cH��8}�IH�D$L�d$ I�&H�D$�H�t$H��L�|$H�D$������H��������� ����:��H�PH��@��u��f�I��sH��H������< v�L��H���i������!H�T$ H�t$L�����H�|$A���r���H�|$ �ؒ��E���	H����tWD�� ����}�C��,u;H�PH��P��t,H��fD�� �����I�����H�H���P���u�H�|$�d���@A�H�t$(dH34%(D����H��8[]A\A]A^A_�@H��sH��H����������fD�JЀ�	����-���H�=�H����€������H�=�H����€������H�=H����€����>���H��H�t$ 1�H�蛔��A�ƅ���!�����[�_���H�KH�Q�H�SH�������H�D$1��8[�
H�PH��P����H�&H���f�H��sH�H���P������� v�H�|$��������H��8]�I�&L�d$ �+��]����,usH�PH��@��td< �XL��H��L�t$�����uEH�t$ L���g���H�|$ A���z���E��u&H����t�� w�I��sH��H����u�H�|$�E���H�CH�H1�H�KE1�H�u����H�D$ �8-�H�A���JЀ�	�����H��������H�H1��@H�GH��H9�����0H��H�Hc�H�<B��Ѓ�0<	v�H��A�KH9��G���H��y
A���8���I��H�t$ �t���A�ƅ�����H�D$ H�E����H�H��H�CH�H�D$H�E��fDH�t$ H���K�A�ƅ�����H�|$ H�t$�!���H�|$ A��褐��E�������H�D$H�E���H��I�����H�����A�K���H�H��H�t$H�H�CH�H���I���H���H��H�������H�|$蚎���5���DI��sH��H����� ����H�|$A���H�|$�V�������I�������H��H������������H��H�|$ H��n���A�ƅ���������H��H�t$ �H�����A�ƅ��t�������H�|$�D$�b����D$A���f���E���^����	���f���H��dH�%(H�D$1�H�H�T$dH3%(uH����ˑ��ff.�AVAUATUSH�� dH�%(H�D$1�H����H��H��H���=����ƒ��zvP=��=���������H�L$dH3%(��H�� []A\A]A^����t,��uH�5�H���(���1��@��f�H�����H�5H��H��1�贌��1��H���X���H��H���}�1��m���fDH�5=H��E1�辏��H��L�5,�/���I��H����L��H���h���H��H�����������I��M9���L��H���m�����H�5�H���Y���H��H��H�,$H�H�5~H�D$���H�5�H���%����D$���@H��萑��H�5rH��H�kHD���1����DH�5WH���َ��1��i���轏��ff.�f���ATUSH���OdH�%(H�D$1���u?H��I��H��H�?�C��tJ�CL����H�;H�5��l���H�;H������CH�D$dH3%(uH��[]A\�DH�5��4���H�;�����f.���ATI��UH��SH��@dH�%(H�D$81�H�H�\$H�����L��H��������u3H���Ì����u?H�T$H�UH�L$8dH3%(u-H��@[]A\�DH�߉D$����D$��fD����t���@��SH��H��0dH�%(H�D$(1�H�H�t$H�|$H�|$H�D$@�@�����uGH�T$�
��tXH�&H���H��sH�T$H���J���t1�� v�H�|$蚉���H�\$(dH3%(uH��0[��H�T$H���蹍��f���AUI��ATA��UH��SH��H�|6H��dH�%(H�D$1�H��u���H����E1�H��u0�gf�E����A��7F�@@��	����7B�|@I��L9�t9B�<A����A��A��	w�A��0F�@@��	vOE��uǃ�WB�|@I��L9�u��hI�E1�H�T$dH3%(u8H��[]A\A]�fDA��WF�@@��	w���0�x���f.���褌��@��AWAVAUI��ATUH��SH��H��dH�%(H�D$1�H�H�貉��I�ƸM��A����I��I�~�A���I��H����M������������H��kD�z�@��v��a��W��C�C�|eD�lj�B�D@uWD�G�A��v]��a�����O��������������C�'I��M9�tbC�Te����Dxt���0��O����7��O���H�\$dH3%(u?H��[]A\A]A^A_�f�K�7�1�L�}L�3��fDL���p������$���@I�uespemosAUI�arenegylATI1�I1�I�modnarodUH��H��I1�SH�H�setybdetH1�H��(dH�%(H�D$1�H�D$H9��~fDH�M�I��
H��M1�I�� H1�H��I�H��L1�M�I��I�H��M1�L1�I�� M�I�I��
H��M1�I�� L1�M�I��I�H��M1�H��I�� L1�I1�H9�w�H��H�|$�L�D$���~���@�l$H�D$L�D$H1�H��K�< I��
J�4+H��I1�H�� H��L��H1�H��L�H�<H��H1�H�� H1�H�H��
H�H��H1�H1�H�� H�H�H��H1�H1�H��H�� H1�H�<H��
@���H1�H�H��H�� H1�H�H��H�H��H1�H1�H�� H�H�H��
H��H1�H�� H1�H�H��H�H��H1�H1�H�� H�H�H��
H��H1�H�� H1�H�H�H��H��H1�H�� H1�H�H��
H�4H��H1�H��H�<H��H1�H1�H�� H��H1�H1�H�t$dH34%(uH��([]A\A]�趈��fD��AUI��ATI���(UH��SH��dH�%(H�D$1�H��x���H����H��M��tgI�$H�I�D$H�CH��@�H�CHD�H�kH���ˆ��H�C H��tII�]1�H�L$dH3%(uBH��[]A\A]��H�@H����뾐H���������̇��ff.����ATE1�UH��SH��H�W dH�%(H�D$1�H�tAJ��H�H�8H��t @H�WH�謄��H�U H�H�8H��u�I��L9ew�H��芄��H�D$dH3%(uH��H��[]A\�j����%���D��AWAVAUI��ATI��USH��H��8H�WH�$dH�%(H�D$(1�H9Wt� �݂��H��H���9L� H�L��L��L�hH�$H�KH�E���1�H�sH�C H��H�H�UH�(1�H�CH�t$(dH34%(��H��8[]A\A]A^A_�fDH��H�T$H��H�D$�݆��H�T$H��H�D$��H�{ E1�H��ttfDJ�,�N�4�H��tS�H�}H�KH�uH�����H�S L�H�
H�IH�
1�H�t$H�D$H��H�H�UH�{ H�(J�,7H��u�I��L;{r����H�D$H�C H�D$H�C���fD����艅��f���AWAVAUI��ATI��UH��SH��H��H�H�OL��dH�%(H�D$1��#���1�I�t$I�D$ L�<�M�7M��t;L���fDH�[H��t'H9ku�H�;H��L��胅����u�I�FL9�u4I��<�1�H�L$dH3%(u>H��[]A\A]A^A_��I��H��H�PH9�u�I�VH�����I�l$��蛄��ff.���ATI��UH��SH��H��H��H�H�OL��dH�%(H�D$1��9���1�H�sH�C H��H��u�)@H�[H��tH9ku�H�;H��L��裄����u�H�[H�L$dH3%(H��u	H��[]A\����f.���H��dH�%(H�D$1�H��t31ɐD�D2H��D	�H9�u���H�t$dH34%(uH���1���藃�����UH��SH��H��dH�%(H�D$1����H9�tH��H��H������H9�v1�H�L$dH3%(uH��[]�赂���"��������#�����H��dH�%(H�D$1�H�D$dH3%(uH�6H�?H���������@��UH��SH��dH�%(H�D$1�H��t!H�?H��tH���	�H�;H��t����H��u�H�D$dH3%(uH��H��[]����z���f.���AWAVAUATUSH��(H�t$dH�%(H�T$1�H�����H����I��1�E1�1�L������H��tRDH�sH��L�x�h���I��H���L��贁��I�H��H��tgI�L��A��L�����H��u�L���Â��Ic�H��H�
�����L���H�D$H�(1�H�L$dH3%(u9H��([]A\A]A^A_�L��H����|��L���m������fD���T���@��H��dH�%(H�D$1�H��tcL�D�H���f��P�H��H���W���tH�AL9�u�H���H���x�u-DH)�H��H�t$dH34%(uH���@H��DH���x�u���跀�����SH��dH�%(H�D$1�H�����?��H�H���	@�8tcH��H9�u�H��H)�H)�t]D�H��E��t'H��tD�H��H��H��D�E��u�H)�H��H�t$dH34%(H��u,H��[�H��H��H)�H)�u�H���J}��H���1���H��1��������H��H���../../include/k5-thread.hr == 0threads.cdestructors_set[keynum] == 1*(&once->n) != 4k5int_i->did_run != 0destructors_set[keynum] == 0k5_mutex_lock: Received error %d (%s)
k5_mutex_unlock: Received error %d (%s)
*(&once->n) == 2 || *(&once->n) == 3k5_oncekrb5int_call_thread_support_initkrb5int_key_deletekrb5int_key_registerkrb5int_setspecifick5_mutex_unlockk5_mutex_lockkrb5int_getspecific%s/%srbk5_mutex_unlockk5_mutex_lockunknown failuremit-krb5plugin unavailable: %s%s%s..%s/%*s.sounable to find plugin [%s]: %sunable to load plugin [%s]: %sOut of memoryerror %ldKerberos library initialization failurek5_mutex_unlockk5_mutex_lockk5buf.cspace > 0len <= buf->lenbuf->buftype == K5BUF_DYNAMIC || buf->buftype == K5BUF_DYNAMIC_ZAPk5_buf_freek5_buf_truncatek5_buf_add_vfmtensure_spacek5_buf_init_fixed ���������������0����%s%c%sABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"\u00%02Xjson.cp->ref_cnt != 0nulltruefalse[],{}%lld:numberstringobjectarraybool��� �� �� �� �� �� �� �� �� ��X� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��� �� �� �� �� �� ����� �� �� �� ����� �� �� �� ����� �� ��`��k5_json_releasek5_json_retain\"	

"\/

	"\/bfnrt;��k��,ls��T<{���A{���F{��PL{��|�{��	�|��l<}���|}����}����~���|������$|���P���<���������,�������<���`,����L�����������$|���h���l������������,���,	\���l	�����	�����	L����	����D
,����
l����
�������TL���p���������|�������0����t<����������������(
,���T
l���p
�����
�����
L���$����@̥��\���xL��������������|���$,���@���l����|���������L���ܮ��H<���t���������\��������\���8���T\���t�����ܴ�������\������������|���8����T���x����\�������������������@<���\����x���,������������<������� L���L<������������(����\�������������`���|����������,���hL������\��4���`\�������,�������L��$���@��d�������\������d\�������,�����,���hL����������L�����D\��p������,�(<�l���|��<��L�8���<�,���0l�|\����\��� ���L ���h |���� ����� <���!zRx�$Xf���FJw�?:*3$"Dn���\hw��YH y
Gx�w��5AA^ ��w��5AA^ ��w��;H 
D�y��|H ]
K(�|y��dE�G o
ADT
FE(�y���E�I�D@A
AAK(@$z��bE�G o
ADT
DEl�t���H w
Ai
E �Hz��CE�G i
DE(�tz��bE�G o
ADT
DE ��z��uE�D m
AI({��bE�G o
ADT
DE ,X{��uE�D m
AI(P�{��E�A�M0g
AAD8|�|��F�I�K �H(�D@�
(A ABBA4�|}���E�D�G0p
AAFT
GAL �~���E�M j
AC@�~��~F�B�E �A(�J0�DPz
0A(A BBBB0X���aF�D�J �D0�
 AABF�H���xH K
A�����2H d
A�́��5AA^ ��5AA^ �r��NH @
A<����0B�B�D �D(�G�
(A ABBG \��IA�G v
AE(�����E�H�J�w
AAH �؅���E�D O
AG`�d����F�G�B �B(�A0�K8�GPM
8G0A(B BBBO�
8A0A(B BBBF@4����#F�B�L �A(�D0�D@�
0A(A BBBD@x����3F�E�B �K(�D0�D@�
0A(A BBBG@�����+F�B�L �A(�D0�D@�
0A(A BBBI@����dF�B�B �A(�D0�F�}
0A(A BBBFD����2H d
A`ԋ��=H k
E@|�����B�E�B �D(�D0�D@[
0A(A BBBH(�D���]A�D�D0E
DAE0�x����B�A�A �I0B
 AABE@ Ԍ���F�H�E �I(�A0�G��
0A(A BBBGd����9H g
E �����VE�G C
AA ���KE�G q
DEL�����F�B�E �B(�A0�A8�D��
8A0A(B BBBA(|���zE�A�D0h
AAAD��6H d
EH`�MF�B�H �E(�I0�I8�Dp
8A0A(B BBBJ�����6H d
EH����MF�B�H �E(�I0�I8�Dp
8A0A(B BBBJ	 ���5AA^ 0	D���5AA^ L	h���2H d
A(h	����9E�A�J��
AAE�	����ZH s
ET
A �	��HE�G u
AA8�	���qF�E�D �D(�G@K
(A ABBA
P����K��
A(0
���E�D�D0R
AAG@\
�����B�B�B �A(�A0�D@�
0A(A BBBK�
T���oH B
A �
����}E�G P
AC �
���GE�G t
AA00����F�G�D �G0E
 AABG(8����QE�G�G0i
JAE(d����iE�D�G0K
AAC����iH |
A�X���:H l
A �|����E�D d
AB8����;F�B�A �A(�D`�
(A ABBB(����K��
AD����6H d
Ed��6H d
E����6H d
E�(���6H d
E�L���6H d
E�p���IH v
B�����OH A
A
أ��vH p
H(
<���&H |
D D
P���lE�G H
AKh
�����H B
F�
����9H g
E�
����SH E
A �
��_E�F A
AC(�
$���nE�E�F0V
AAA h���QE�D n
AH0����NH @
ALا��kH ]
Ah,���:H l
A�P���@H r
A�t���]H {
E�����UH G
A�����GH y
A�0���bH }
K(�����E�A�J0c
AAKH<�����F�E�E �B(�A0�D8�DPo
8A0A(B BBBDH������F�E�E �B(�A0�D8�DP]
8A0A(B BBBF@�0����F�E�B �A(�D0�D@l
0A(A BBBF0̫���F�A�A �D0j
 AABFHLX���
F�E�B �E(�D0�A8�Dp�
8A0A(B BBBAH�����F�B�B �B(�A0�A8�Dp�
8A0A(B BBBF���FH x
AH���mF�B�B �E(�D0�D8�DP�
8A0A(B BBBFP$���;H m
A4lH����F�G�D �G0R
 AABB(����BE�A�D0
AAHH�$����F�E�B �B(�A0�A8�D`!
8A0A(B BBBH8h���B�L�A �D(�D@�
(K ABBEHX<����B�B�B �B(�A0�A8�D`
8A0A(B BBBI zRx�`������(\c���X���fH y
A(������E�D J
EHT
AA($ ���kE�D�D0R
AAE0Pd����F�A�D �D0e
 AABE�����8H j
A ����E�Q P
AI �P����E�Q P
AI(������E�H�G0_
AAK ���5H g
A 0D����E�Q P
AI0T�����F�D�D �D0�
 AABH�,���6H h
A�P���CH u
AzRx� Qa��0�X���mF�A�A �D0W
 AABAzRx�0���$�`�� T`����E�Q P
AIx̻��6H h
A8���F�B�A �A(�D@^
(A ABBFH�D����F�B�B �E(�D0�A8�D`�
8A0A(B BBBG8ؽ��rF�B�A �A(�D@X
(A ABBA8X����F�J�D �H(�D@b
(A ABBH(�����NE�D�G0i
JAE(�ľ��lE�D�D0O
AAB����5H g
A(,���tE�D�G0L
AAB(4�����E�I�G0]
AADL`���F�B�B �E(�G0�A8�J��
8A0A(B BBBHH�4���L�B�B �B(�A0�D8�GpC
8A0A(B BBBE����5H g
A@���B�B�B �A(�A0�DPs
0A(A BBBI0\����F�A�A �D0j
 AABF0�4���F�D�D �D`\
 AABF$�����E�G@�
AH8�8��F�E�D �D(�L@�
(A ABBGH(��|F�B�B �E(�A0�D8�GP!
8A0A(B BBBJ8t@��jL�L�Q �K(�TP
(A ABBA8�t���F�E�I �D(�D@�
(A ABBI0�(���F�D�D �D0x
 DABEH ����F�B�B �E(�D0�A8�Gp�
8A0A(B BBBGHl����F�B�B �E(�D0�D8�GP�
8A0A(B BBBH0�����F�D�D �J0t
 AABA����YH D
D,8��mE�D�G0C
AAA<x��<H j
E(X���fE�D�D0J
DAEL����F�B�B �B(�A0�A8�D`�
8A0A(B BBBD�����H s
E �4���E�D �
AAGNU�0G�F�E0F�� ����>O`o���5
l��� �� ���o`� 
k� �*�&`	���o�%���o���o&���o�oD$���o� 66 606@6P6`6p6�6�6�6�6�6�6�6�677 707@7P7`7p7�7�7�7�7�7�7�7�788 808@8P8`8p8�8�8�8�8�8�8�8�899 909@9P9`9p9�9�9�9�9�9�9�9�9:: :0:@:P:`:p:�:�:�:�:�:�:�:�:;; ;0;@;P;`;p;�;�;�;�;�;�;�;�;<< <0<@<P<`<p<�<�<�<�<�<�<�<�<== =0=@=P=`=p=�=�=�=�=�=����`I��������0���������GA$3a1�5y�GA$3p1113�E��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113�Tk�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY@G��
GA*FORTIFY�T��GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS@G��libkrb5support.so.0.1-1.17-12.el8.x86_64.debugd64�7zXZ�ִF!t/��&��]?�E�h=��ڊ�2N�H�~ ��V�c�@^M�miw�w�)/��)#J�-��Z=�X\Q;����q����FQ�w;���y]R:J���hNI��-�����6�a������kb�sM�N惱Y�;�C�g�����wu�!�C�Qđ=Չ�R�?���[���ed虽Z�q=��4�VPB���{qiy�囒L�I��b��L�J�72o�Ͻ��`bR��J����W�Eo4gට��h-zx�'�4�,v�i򋌎�W�E��"e˔A��}xr�����L�	��_��^���u n�31>
ShX�
M:���S}�a������~�l�餖"j�Z;p���Y}��
0�@��b%e=2<b�gb�ˁ�Q�`1bY&Kc�$���`����4��ͥt�8
:�m��2�ÿ?�8������ШnL$���kmP�~b#�ɤ�����`U���O�x>K� �Z8
.�q�V�����p%-�1�
Z���E�i<.c2����a��ۥ�C^�bوt�m�C�/�)���yR
����|*��y�>�t_��y>ҿ��%,)mX@3N�I�W�5#����w>��2��g)'��\j<�Zh:�y�T�7�f4sE}^����k�8h0<cG	�=���a�6��:�Ēt�^|0i�<�Y��`(�
&
����[=@���Z�t�h�WUf�G���"R�0��^u$��u{�`”�g�z�
m��1i��A�q�:Be�Y<�J��\�wAd˚lv#��t�k\*{��&�1�@����t�-'����5��c���:��\<�I�V����=d��u��D�u	
�\��-�u2��P�3���$?&�)d
D�?��/�޶�m	�E�<�A�&&�~˶�{��{�����ͻ�������B.�����jCcZF|q��i�푠ٲ�D���9�j9!��l6�5���._��QI��x�ނ¬��%�z�V�����/�g�.�zo�&C����b����-��,�v�z�\S�N�̐`����s�c�|J��i��;s��'u�92��l��a-gv)S���\~e�i�����\H_�
�Zsp6��P��w5�s�4]�b�YԽ�y[4#����o���{N���{�����35��Sג8%����_&`N4t^n�
���/�슉怕G߰�_
�u�� \�r�z
�:�P����4w�O%�0�V��3W܈�4
�~�*��r����?�
|�jK	o_3�J���A4C(ĭlQ
���֡_�o��x��:��^��4*dG1�5L�?qi>�@_ϞꞑE{B �%ݼ�mv�Ơ桤�\|��}���y?��d-X��Gg��~A�Ql���_s�0~-D��k�.C	�^����$s�`��A�R��L!ŦJd�������
�O���K;��)�Q��)�d��^��-��</	{�z�f�m~eA�ZKҐ��q%�����y$��Q�܍ut����y�{��~�wJ���O�@+s�dڄ��?�\`0q�+w΄VN����S�N�t@��"S�0<)Cm����*�mFs�U�+�#�V׮ϣ�G�a:R �u�7�)V��Ü�����)��3�i�*,��X'8^�h���(�)Ԥ��)
�Q�m%X��KE~p��j�1�^��T#���vK\^������3�b���)-�f��e�BZ�Z>mR���
��W�w�w�������)��M�.'-T�*+�
+t�7_��Ĩ�V���χ��(r��Jutre���d�@��fٞc"OPq䙆ȕk�#V�U�M7O�=Р!�M�Q��7j-���WE'��&3լ��ݤ8,��ѱ�l�̪4:Ć��njDmO�覽zf�[>�µ0����y�se(S�;�3ߥ��g��XȂ�k���2�@�2�],�뿵�C�
Γ��������4�/_X)Z�]��^�D��(T�����4�S3�I��ӣ����"6�H�����ː�V�,�������;6��'|�Ͷo5� yK5�5��q)�H�ԑB���**m<�A4,�P����W}��1H�DX�����5�1���:%�b�1�w|�n�3�K����}d�����	8�&��J��X(
[.8H_D�`�F-\z5�G�x4bk�u%���M��ܱ�g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�(  �0��k8���oD$D$zE���o�%�%TT���o&&�c�&�&`mB**�w�5�5r�5�5�}�=�=���E�E�}�l�l�
������ �d�d��x�x������ ��� ����� ����� ��(�� �P�X� X���� �� ��� ��� �`��|"d�41����@etc/crypto-policies/back-ends/krb5.config000075500000000000150403633730014322 0ustar00etc/krb5.conf000064400000001454150403633740007042 0ustar00# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/

[logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

[libdefaults]
    dns_lookup_realm = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
    spake_preauth_groups = edwards25519
#    default_realm = EXAMPLE.COM
    default_ccache_name = KEYRING:persistent:%{uid}

[realms]
# EXAMPLE.COM = {
#     kdc = kerberos.example.com
#     admin_server = kerberos.example.com
# }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
share/man/man7/kerberos.7000064400000016310150403633740011175 0ustar00.\" Man page generated from reStructuredText.
.
.TH "KERBEROS" "7" " " "1.17" "MIT Kerberos"
.SH NAME
kerberos \- Overview of using Kerberos
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH DESCRIPTION
.sp
The Kerberos system authenticates individual users in a network
environment.  After authenticating yourself to Kerberos, you can use
Kerberos\-enabled programs without having to present passwords or
certificates to those programs.
.sp
If you receive the following response from kinit(1):
.sp
kinit: Client not found in Kerberos database while getting initial
credentials
.sp
you haven\(aqt been registered as a Kerberos user.  See your system
administrator.
.sp
A Kerberos name usually contains three parts.  The first is the
\fBprimary\fP, which is usually a user\(aqs or service\(aqs name.  The second
is the \fBinstance\fP, which in the case of a user is usually null.
Some users may have privileged instances, however, such as \fBroot\fP or
\fBadmin\fP\&.  In the case of a service, the instance is the fully
qualified name of the machine on which it runs; i.e. there can be an
ssh service running on the machine ABC (\fI\%ssh/ABC@REALM\fP), which is
different from the ssh service running on the machine XYZ
(\fI\%ssh/XYZ@REALM\fP).  The third part of a Kerberos name is the \fBrealm\fP\&.
The realm corresponds to the Kerberos service providing authentication
for the principal.  Realms are conventionally all\-uppercase, and often
match the end of hostnames in the realm (for instance, host01.example.com
might be in realm EXAMPLE.COM).
.sp
When writing a Kerberos name, the principal name is separated from the
instance (if not null) by a slash, and the realm (if not the local
realm) follows, preceded by an "@" sign.  The following are examples
of valid Kerberos names:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
david
jennifer/admin
joeuser@BLEEP.COM
cbrown/root@FUBAR.ORG
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
When you authenticate yourself with Kerberos you get an initial
Kerberos \fBticket\fP\&.  (A Kerberos ticket is an encrypted protocol
message that provides authentication.)  Kerberos uses this ticket for
network utilities such as ssh.  The ticket transactions are done
transparently, so you don\(aqt have to worry about their management.
.sp
Note, however, that tickets expire.  Administrators may configure more
privileged tickets, such as those with service or instance of \fBroot\fP
or \fBadmin\fP, to expire in a few minutes, while tickets that carry
more ordinary privileges may be good for several hours or a day.  If
your login session extends beyond the time limit, you will have to
re\-authenticate yourself to Kerberos to get new tickets using the
kinit(1) command.
.sp
Some tickets are \fBrenewable\fP beyond their initial lifetime.  This
means that \fBkinit \-R\fP can extend their lifetime without requiring
you to re\-authenticate.
.sp
If you wish to delete your local tickets, use the kdestroy(1)
command.
.sp
Kerberos tickets can be forwarded.  In order to forward tickets, you
must request \fBforwardable\fP tickets when you kinit.  Once you have
forwardable tickets, most Kerberos programs have a command line option
to forward them to the remote host.  This can be useful for, e.g.,
running kinit on your local machine and then sshing into another to do
work.  Note that this should not be done on untrusted machines since
they will then have your tickets.
.SH ENVIRONMENT VARIABLES
.sp
Several environment variables affect the operation of Kerberos\-enabled
programs.  These include:
.INDENT 0.0
.TP
\fBKRB5CCNAME\fP
Default name for the credentials cache file, in the form
\fITYPE\fP:\fIresidual\fP\&.  The type of the default cache may determine
the availability of a cache collection.  \fBFILE\fP is not a
collection type; \fBKEYRING\fP, \fBDIR\fP, and \fBKCM\fP are.
.sp
If not set, the value of \fBdefault_ccache_name\fP from
configuration files (see \fBKRB5_CONFIG\fP) will be used.  If that
is also not set, the default \fItype\fP is \fBFILE\fP, and the
\fIresidual\fP is the path /tmp/krb5cc_*uid*, where \fIuid\fP is the
decimal user ID of the user.
.TP
\fBKRB5_KTNAME\fP
Specifies the location of the default keytab file, in the form
\fITYPE\fP:\fIresidual\fP\&.  If no \fItype\fP is present, the \fBFILE\fP type is
assumed and \fIresidual\fP is the pathname of the keytab file.  If
unset, \fBFILE:/etc/krb5.keytab\fP will be used.
.TP
\fBKRB5_CONFIG\fP
Specifies the location of the Kerberos configuration file.  The
default is \fB/etc\fP\fB/krb5.conf\fP\&.  Multiple filenames can
be specified, separated by a colon; all files which are present
will be read.
.TP
\fBKRB5_KDC_PROFILE\fP
Specifies the location of the KDC configuration file, which
contains additional configuration directives for the Key
Distribution Center daemon and associated programs.  The default
is \fB/opt/alt/krb5/usr/var\fP\fB/krb5kdc\fP\fB/kdc.conf\fP\&.
.TP
\fBKRB5RCACHETYPE\fP
Specifies the default type of replay cache to use for servers.
Valid types include \fBdfl\fP for the normal file type and \fBnone\fP
for no replay cache.  The default is \fBdfl\fP\&.
.TP
\fBKRB5RCACHEDIR\fP
Specifies the default directory for replay caches used by servers.
The default is the value of the \fBTMPDIR\fP environment variable,
or \fB/var/tmp\fP if \fBTMPDIR\fP is not set.
.TP
\fBKRB5_TRACE\fP
Specifies a filename to write trace log output to.  Trace logs can
help illuminate decisions made internally by the Kerberos
libraries.  For example, \fBenv KRB5_TRACE=/dev/stderr kinit\fP
would send tracing information for kinit(1) to
\fB/dev/stderr\fP\&.  The default is not to write trace log output
anywhere.
.TP
\fBKRB5_CLIENT_KTNAME\fP
Default client keytab file name.  If unset, \fBFILE:/opt/alt/krb5/usr/var/krb5/user/%{euid}/client.keytab\fP will be
used).
.TP
\fBKPROP_PORT\fP
kprop(8) port to use.  Defaults to 754.
.UNINDENT
.sp
Most environment variables are disabled for certain programs, such as
login system programs and setuid programs, which are designed to be
secure when run within an untrusted process environment.
.SH SEE ALSO
.sp
kdestroy(1), kinit(1), klist(1),
kswitch(1), kpasswd(1), ksu(1),
krb5.conf(5), kdc.conf(5), kadmin(1),
kadmind(8), kdb5_util(8), krb5kdc(8)
.SH BUGS
.SH AUTHORS
.nf
Steve Miller, MIT Project Athena/Digital Equipment Corporation
Clifford Neuman, MIT Project Athena
Greg Hudson, MIT Kerberos Consortium
Robbie Harwood, Red Hat, Inc.
.fi
.sp
.SH HISTORY
.sp
The MIT Kerberos 5 implementation was developed at MIT, with
contributions from many outside parties.  It is currently maintained
by the MIT Kerberos Consortium.
.SH RESTRICTIONS
.sp
Copyright 1985, 1986, 1989\-1996, 2002, 2011, 2018 Masachusetts
Institute of Technology
.SH AUTHOR
MIT
.SH COPYRIGHT
1985-2019, MIT
.\" Generated by docutils manpage writer.
.
share/man/man5/k5login.5000064400000005417150403633740010733 0ustar00.\" Man page generated from reStructuredText.
.
.TH "K5LOGIN" "5" " " "1.17" "MIT Kerberos"
.SH NAME
k5login \- Kerberos V5 acl file for host access
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH DESCRIPTION
.sp
The .k5login file, which resides in a user\(aqs home directory, contains
a list of the Kerberos principals.  Anyone with valid tickets for a
principal in the file is allowed host access with the UID of the user
in whose home directory the file resides.  One common use is to place
a .k5login file in root\(aqs home directory, thereby granting system
administrators remote root access to the host via Kerberos.
.SH EXAMPLES
.sp
Suppose the user \fBalice\fP had a .k5login file in her home directory
containing just the following line:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
bob@FOOBAR.ORG
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
This would allow \fBbob\fP to use Kerberos network applications, such as
ssh(1), to access \fBalice\fP\(aqs account, using \fBbob\fP\(aqs Kerberos
tickets.  In a default configuration (with \fBk5login_authoritative\fP set
to true in krb5.conf(5)), this .k5login file would not let
\fBalice\fP use those network applications to access her account, since
she is not listed!  With no .k5login file, or with \fBk5login_authoritative\fP
set to false, a default rule would permit the principal \fBalice\fP in the
machine\(aqs default realm to access the \fBalice\fP account.
.sp
Let us further suppose that \fBalice\fP is a system administrator.
Alice and the other system administrators would have their principals
in root\(aqs .k5login file on each host:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
alice@BLEEP.COM

joeadmin/root@BLEEP.COM
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
This would allow either system administrator to log in to these hosts
using their Kerberos tickets instead of having to type the root
password.  Note that because \fBbob\fP retains the Kerberos tickets for
his own principal, \fBbob@FOOBAR.ORG\fP, he would not have any of the
privileges that require \fBalice\fP\(aqs tickets, such as root access to
any of the site\(aqs hosts, or the ability to change \fBalice\fP\(aqs
password.
.SH SEE ALSO
.sp
kerberos(1)
.SH AUTHOR
MIT
.SH COPYRIGHT
1985-2019, MIT
.\" Generated by docutils manpage writer.
.
share/man/man5/k5identity.5000064400000005766150403633740011463 0ustar00.\" Man page generated from reStructuredText.
.
.TH "K5IDENTITY" "5" " " "1.17" "MIT Kerberos"
.SH NAME
k5identity \- Kerberos V5 client principal selection rules
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH DESCRIPTION
.sp
The .k5identity file, which resides in a user\(aqs home directory,
contains a list of rules for selecting a client principals based on
the server being accessed.  These rules are used to choose a
credential cache within the cache collection when possible.
.sp
Blank lines and lines beginning with \fB#\fP are ignored.  Each line has
the form:
.INDENT 0.0
.INDENT 3.5
\fIprincipal\fP \fIfield\fP=\fIvalue\fP ...
.UNINDENT
.UNINDENT
.sp
If the server principal meets all of the field constraints, then
principal is chosen as the client principal.  The following fields are
recognized:
.INDENT 0.0
.TP
\fBrealm\fP
If the realm of the server principal is known, it is matched
against \fIvalue\fP, which may be a pattern using shell wildcards.
For host\-based server principals, the realm will generally only be
known if there is a domain_realm section in
krb5.conf(5) with a mapping for the hostname.
.TP
\fBservice\fP
If the server principal is a host\-based principal, its service
component is matched against \fIvalue\fP, which may be a pattern using
shell wildcards.
.TP
\fBhost\fP
If the server principal is a host\-based principal, its hostname
component is converted to lower case and matched against \fIvalue\fP,
which may be a pattern using shell wildcards.
.sp
If the server principal matches the constraints of multiple lines
in the .k5identity file, the principal from the first matching
line is used.  If no line matches, credentials will be selected
some other way, such as the realm heuristic or the current primary
cache.
.UNINDENT
.SH EXAMPLE
.sp
The following example .k5identity file selects the client principal
\fBalice@KRBTEST.COM\fP if the server principal is within that realm,
the principal \fBalice/root@EXAMPLE.COM\fP if the server host is within
a servers subdomain, and the principal \fBalice/mail@EXAMPLE.COM\fP when
accessing the IMAP service on \fBmail.example.com\fP:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
alice@KRBTEST.COM       realm=KRBTEST.COM
alice/root@EXAMPLE.COM  host=*.servers.example.com
alice/mail@EXAMPLE.COM  host=mail.example.com service=imap
.ft P
.fi
.UNINDENT
.UNINDENT
.SH SEE ALSO
.sp
kerberos(1), krb5.conf(5)
.SH AUTHOR
MIT
.SH COPYRIGHT
1985-2019, MIT
.\" Generated by docutils manpage writer.
.
share/man/man5/krb5.conf.5000064400000141615150403633740011153 0ustar00.\" Man page generated from reStructuredText.
.
.TH "KRB5.CONF" "5" " " "1.17" "MIT Kerberos"
.SH NAME
krb5.conf \- Kerberos configuration file
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
The krb5.conf file contains Kerberos configuration information,
including the locations of KDCs and admin servers for the Kerberos
realms of interest, defaults for the current realm and for Kerberos
applications, and mappings of hostnames onto Kerberos realms.
Normally, you should install your krb5.conf file in the directory
\fB/etc\fP\&.  You can override the default location by setting the
environment variable \fBKRB5_CONFIG\fP\&.  Multiple colon\-separated
filenames may be specified in \fBKRB5_CONFIG\fP; all files which are
present will be read.  Starting in release 1.14, directory names can
also be specified in \fBKRB5_CONFIG\fP; all files within the directory
whose names consist solely of alphanumeric characters, dashes, or
underscores will be read.
.SH STRUCTURE
.sp
The krb5.conf file is set up in the style of a Windows INI file.
Lines beginning with \(aq#\(aq or \(aq;\(aq (possibly after initial whitespace)
are ignored as comments.  Sections are headed by the section name, in
square brackets.  Each section may contain zero or more relations, of
the form:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
foo = bar
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
or:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
fubar = {
    foo = bar
    baz = quux
}
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Placing a \(aq*\(aq at the end of a line indicates that this is the \fIfinal\fP
value for the tag.  This means that neither the remainder of this
configuration file nor any other configuration file will be checked
for any other values for this tag.
.sp
For example, if you have the following lines:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
foo = bar*
foo = baz
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
then the second value of \fBfoo\fP (\fBbaz\fP) would never be read.
.sp
The krb5.conf file can include other files using either of the
following directives at the beginning of a line:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
include FILENAME
includedir DIRNAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\fIFILENAME\fP or \fIDIRNAME\fP should be an absolute path. The named file or
directory must exist and be readable.  Including a directory includes
all files within the directory whose names consist solely of
alphanumeric characters, dashes, or underscores.  Starting in release
1.15, files with names ending in ".conf" are also included, unless the
name begins with ".".  Included profile files are syntactically
independent of their parents, so each included file must begin with a
section header.  Starting in release 1.17, files are read in
alphanumeric order; in previous releases, they may be read in any
order.
.sp
The krb5.conf file can specify that configuration should be obtained
from a loadable module, rather than the file itself, using the
following directive at the beginning of a line before any section
headers:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
module MODULEPATH:RESIDUAL
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\fIMODULEPATH\fP may be relative to the library path of the krb5
installation, or it may be an absolute path.  \fIRESIDUAL\fP is provided
to the module at initialization time.  If krb5.conf uses a module
directive, kdc.conf(5) should also use one if it exists.
.SH SECTIONS
.sp
The krb5.conf file may contain the following sections:
.TS
center;
|l|l|.
_
T{
\fI\%[libdefaults]\fP
T}	T{
Settings used by the Kerberos V5 library
T}
_
T{
\fI\%[realms]\fP
T}	T{
Realm\-specific contact information and settings
T}
_
T{
\fI\%[domain_realm]\fP
T}	T{
Maps server hostnames to Kerberos realms
T}
_
T{
\fI\%[capaths]\fP
T}	T{
Authentication paths for non\-hierarchical cross\-realm
T}
_
T{
\fI\%[appdefaults]\fP
T}	T{
Settings used by some Kerberos V5 applications
T}
_
T{
\fI\%[plugins]\fP
T}	T{
Controls plugin module registration
T}
_
.TE
.sp
Additionally, krb5.conf may include any of the relations described in
kdc.conf(5), but it is not a recommended practice.
.SS [libdefaults]
.sp
The libdefaults section may contain any of the following relations:
.INDENT 0.0
.TP
\fBallow_weak_crypto\fP
If this flag is set to false, then weak encryption types (as noted
in Encryption_types in kdc.conf(5)) will be filtered
out of the lists \fBdefault_tgs_enctypes\fP,
\fBdefault_tkt_enctypes\fP, and \fBpermitted_enctypes\fP\&.  The default
value for this tag is false, which may cause authentication
failures in existing Kerberos infrastructures that do not support
strong crypto.  Users in affected environments should set this tag
to true until their infrastructure adopts stronger ciphers.
.TP
\fBap_req_checksum_type\fP
An integer which specifies the type of AP\-REQ checksum to use in
authenticators.  This variable should be unset so the appropriate
checksum for the encryption key in use will be used.  This can be
set if backward compatibility requires a specific checksum type.
See the \fBkdc_req_checksum_type\fP configuration option for the
possible values and their meanings.
.TP
\fBcanonicalize\fP
If this flag is set to true, initial ticket requests to the KDC
will request canonicalization of the client principal name, and
answers with different client principals than the requested
principal will be accepted.  The default value is false.
.TP
\fBccache_type\fP
This parameter determines the format of credential cache types
created by kinit(1) or other programs.  The default value
is 4, which represents the most current format.  Smaller values
can be used for compatibility with very old implementations of
Kerberos which interact with credential caches on the same host.
.TP
\fBclockskew\fP
Sets the maximum allowable amount of clockskew in seconds that the
library will tolerate before assuming that a Kerberos message is
invalid.  The default value is 300 seconds, or five minutes.
.sp
The clockskew setting is also used when evaluating ticket start
and expiration times.  For example, tickets that have reached
their expiration time can still be used (and renewed if they are
renewable tickets) if they have been expired for a shorter
duration than the \fBclockskew\fP setting.
.TP
\fBdefault_ccache_name\fP
This relation specifies the name of the default credential cache.
The default is \fBFILE:/tmp/krb5cc_%{uid}\fP\&.  This relation is subject to parameter
expansion (see below).  New in release 1.11.
.TP
\fBdefault_client_keytab_name\fP
This relation specifies the name of the default keytab for
obtaining client credentials.  The default is \fBFILE:/opt/alt/krb5/usr/var/krb5/user/%{euid}/client.keytab\fP\&.  This
relation is subject to parameter expansion (see below).
New in release 1.11.
.TP
\fBdefault_keytab_name\fP
This relation specifies the default keytab name to be used by
application servers such as sshd.  The default is \fBFILE:/etc/krb5.keytab\fP\&.  This
relation is subject to parameter expansion (see below).
.TP
\fBdefault_realm\fP
Identifies the default Kerberos realm for the client.  Set its
value to your Kerberos realm.  If this value is not set, then a
realm must be specified with every Kerberos principal when
invoking programs such as kinit(1)\&.
.TP
\fBdefault_tgs_enctypes\fP
Identifies the supported list of session key encryption types that
the client should request when making a TGS\-REQ, in order of
preference from highest to lowest.  The list may be delimited with
commas or whitespace.  See Encryption_types in
kdc.conf(5) for a list of the accepted values for this tag.
The default value is \fBaes256\-cts\-hmac\-sha1\-96 aes128\-cts\-hmac\-sha1\-96 aes256\-cts\-hmac\-sha384\-192 aes128\-cts\-hmac\-sha256\-128 des3\-cbc\-sha1 arcfour\-hmac\-md5 camellia256\-cts\-cmac camellia128\-cts\-cmac des\-cbc\-crc des\-cbc\-md5 des\-cbc\-md4\fP, but single\-DES encryption types
will be implicitly removed from this list if the value of
\fBallow_weak_crypto\fP is false.
.sp
Do not set this unless required for specific backward
compatibility purposes; stale values of this setting can prevent
clients from taking advantage of new stronger enctypes when the
libraries are upgraded.
.TP
\fBdefault_tkt_enctypes\fP
Identifies the supported list of session key encryption types that
the client should request when making an AS\-REQ, in order of
preference from highest to lowest.  The format is the same as for
default_tgs_enctypes.  The default value for this tag is
\fBaes256\-cts\-hmac\-sha1\-96 aes128\-cts\-hmac\-sha1\-96 aes256\-cts\-hmac\-sha384\-192 aes128\-cts\-hmac\-sha256\-128 des3\-cbc\-sha1 arcfour\-hmac\-md5 camellia256\-cts\-cmac camellia128\-cts\-cmac des\-cbc\-crc des\-cbc\-md5 des\-cbc\-md4\fP, but single\-DES encryption types will be implicitly
removed from this list if the value of \fBallow_weak_crypto\fP is
false.
.sp
Do not set this unless required for specific backward
compatibility purposes; stale values of this setting can prevent
clients from taking advantage of new stronger enctypes when the
libraries are upgraded.
.TP
\fBdns_canonicalize_hostname\fP
Indicate whether name lookups will be used to canonicalize
hostnames for use in service principal names.  Setting this flag
to false can improve security by reducing reliance on DNS, but
means that short hostnames will not be canonicalized to
fully\-qualified hostnames.  The default value is true.
.TP
\fBdns_lookup_kdc\fP
Indicate whether DNS SRV records should be used to locate the KDCs
and other servers for a realm, if they are not listed in the
krb5.conf information for the realm.  (Note that the admin_server
entry must be in the krb5.conf realm information in order to
contact kadmind, because the DNS implementation for kadmin is
incomplete.)
.sp
Enabling this option does open up a type of denial\-of\-service
attack, if someone spoofs the DNS records and redirects you to
another server.  However, it\(aqs no worse than a denial of service,
because that fake KDC will be unable to decode anything you send
it (besides the initial ticket request, which has no encrypted
data), and anything the fake KDC sends will not be trusted without
verification using some secret that it won\(aqt know.
.TP
\fBdns_uri_lookup\fP
Indicate whether DNS URI records should be used to locate the KDCs
and other servers for a realm, if they are not listed in the
krb5.conf information for the realm.  SRV records are used as a
fallback if no URI records were found.  The default value is true.
New in release 1.15.
.TP
\fBerr_fmt\fP
This relation allows for custom error message formatting.  If a
value is set, error messages will be formatted by substituting a
normal error message for %M and an error code for %C in the value.
.TP
\fBextra_addresses\fP
This allows a computer to use multiple local addresses, in order
to allow Kerberos to work in a network that uses NATs while still
using address\-restricted tickets.  The addresses should be in a
comma\-separated list.  This option has no effect if
\fBnoaddresses\fP is true.
.TP
\fBforwardable\fP
If this flag is true, initial tickets will be forwardable by
default, if allowed by the KDC.  The default value is false.
.TP
\fBignore_acceptor_hostname\fP
When accepting GSSAPI or krb5 security contexts for host\-based
service principals, ignore any hostname passed by the calling
application, and allow clients to authenticate to any service
principal in the keytab matching the service name and realm name
(if given).  This option can improve the administrative
flexibility of server applications on multihomed hosts, but could
compromise the security of virtual hosting environments.  The
default value is false.  New in release 1.10.
.TP
\fBk5login_authoritative\fP
If this flag is true, principals must be listed in a local user\(aqs
k5login file to be granted login access, if a \&.k5login(5)
file exists.  If this flag is false, a principal may still be
granted login access through other mechanisms even if a k5login
file exists but does not list the principal.  The default value is
true.
.TP
\fBk5login_directory\fP
If set, the library will look for a local user\(aqs k5login file
within the named directory, with a filename corresponding to the
local username.  If not set, the library will look for k5login
files in the user\(aqs home directory, with the filename .k5login.
For security reasons, .k5login files must be owned by
the local user or by root.
.TP
\fBkcm_mach_service\fP
On macOS only, determines the name of the bootstrap service used to
contact the KCM daemon for the KCM credential cache type.  If the
value is \fB\-\fP, Mach RPC will not be used to contact the KCM
daemon.  The default value is \fBorg.h5l.kcm\fP\&.
.TP
\fBkcm_socket\fP
Determines the path to the Unix domain socket used to access the
KCM daemon for the KCM credential cache type.  If the value is
\fB\-\fP, Unix domain sockets will not be used to contact the KCM
daemon.  The default value is
\fB/var/run/.heim_org.h5l.kcm\-socket\fP\&.
.TP
\fBkdc_default_options\fP
Default KDC options (Xored for multiple values) when requesting
initial tickets.  By default it is set to 0x00000010
(KDC_OPT_RENEWABLE_OK).
.TP
\fBkdc_timesync\fP
Accepted values for this relation are 1 or 0.  If it is nonzero,
client machines will compute the difference between their time and
the time returned by the KDC in the timestamps in the tickets and
use this value to correct for an inaccurate system clock when
requesting service tickets or authenticating to services.  This
corrective factor is only used by the Kerberos library; it is not
used to change the system clock.  The default value is 1.
.TP
\fBkdc_req_checksum_type\fP
An integer which specifies the type of checksum to use for the KDC
requests, for compatibility with very old KDC implementations.
This value is only used for DES keys; other keys use the preferred
checksum type for those keys.
.sp
The possible values and their meanings are as follows.
.TS
center;
|l|l|.
_
T{
1
T}	T{
CRC32
T}
_
T{
2
T}	T{
RSA MD4
T}
_
T{
3
T}	T{
RSA MD4 DES
T}
_
T{
4
T}	T{
DES CBC
T}
_
T{
7
T}	T{
RSA MD5
T}
_
T{
8
T}	T{
RSA MD5 DES
T}
_
T{
9
T}	T{
NIST SHA
T}
_
T{
12
T}	T{
HMAC SHA1 DES3
T}
_
T{
\-138
T}	T{
Microsoft MD5 HMAC checksum type
T}
_
.TE
.TP
\fBnoaddresses\fP
If this flag is true, requests for initial tickets will not be
made with address restrictions set, allowing the tickets to be
used across NATs.  The default value is true.
.TP
\fBpermitted_enctypes\fP
Identifies all encryption types that are permitted for use in
session key encryption.  The default value for this tag is
\fBaes256\-cts\-hmac\-sha1\-96 aes128\-cts\-hmac\-sha1\-96 aes256\-cts\-hmac\-sha384\-192 aes128\-cts\-hmac\-sha256\-128 des3\-cbc\-sha1 arcfour\-hmac\-md5 camellia256\-cts\-cmac camellia128\-cts\-cmac des\-cbc\-crc des\-cbc\-md5 des\-cbc\-md4\fP, but single\-DES encryption types will be implicitly
removed from this list if the value of \fBallow_weak_crypto\fP is
false.
.TP
\fBplugin_base_dir\fP
If set, determines the base directory where krb5 plugins are
located.  The default value is the \fBkrb5/plugins\fP subdirectory
of the krb5 library directory.  This relation is subject to
parameter expansion (see below) in release 1.17 and later.
.TP
\fBpreferred_preauth_types\fP
This allows you to set the preferred preauthentication types which
the client will attempt before others which may be advertised by a
KDC.  The default value for this setting is "17, 16, 15, 14",
which forces libkrb5 to attempt to use PKINIT if it is supported.
.TP
\fBproxiable\fP
If this flag is true, initial tickets will be proxiable by
default, if allowed by the KDC.  The default value is false.
.TP
\fBrdns\fP
If this flag is true, reverse name lookup will be used in addition
to forward name lookup to canonicalizing hostnames for use in
service principal names.  If \fBdns_canonicalize_hostname\fP is set
to false, this flag has no effect.  The default value is true.
.TP
\fBrealm_try_domains\fP
Indicate whether a host\(aqs domain components should be used to
determine the Kerberos realm of the host.  The value of this
variable is an integer: \-1 means not to search, 0 means to try the
host\(aqs domain itself, 1 means to also try the domain\(aqs immediate
parent, and so forth.  The library\(aqs usual mechanism for locating
Kerberos realms is used to determine whether a domain is a valid
realm, which may involve consulting DNS if \fBdns_lookup_kdc\fP is
set.  The default is not to search domain components.
.TP
\fBrenew_lifetime\fP
(duration string.)  Sets the default renewable lifetime
for initial ticket requests.  The default value is 0.
.TP
\fBsafe_checksum_type\fP
An integer which specifies the type of checksum to use for the
KRB\-SAFE requests.  By default it is set to 8 (RSA MD5 DES).  For
compatibility with applications linked against DCE version 1.1 or
earlier Kerberos libraries, use a value of 3 to use the RSA MD4
DES instead.  This field is ignored when its value is incompatible
with the session key type.  See the \fBkdc_req_checksum_type\fP
configuration option for the possible values and their meanings.
.TP
\fBspake_preauth_groups\fP
A whitespace or comma\-separated list of words which specifies the
groups allowed for SPAKE preauthentication.  The possible values
are:
.TS
center;
|l|l|.
_
T{
edwards25519
T}	T{
Edwards25519 curve (\fI\%RFC 7748\fP)
T}
_
T{
P\-256
T}	T{
NIST P\-256 curve (\fI\%RFC 5480\fP)
T}
_
T{
P\-384
T}	T{
NIST P\-384 curve (\fI\%RFC 5480\fP)
T}
_
T{
P\-521
T}	T{
NIST P\-521 curve (\fI\%RFC 5480\fP)
T}
_
.TE
.sp
The default value for the client is \fBedwards25519\fP\&.  The default
value for the KDC is empty.  New in release 1.17.
.TP
\fBticket_lifetime\fP
(duration string.)  Sets the default lifetime for initial
ticket requests.  The default value is 1 day.
.TP
\fBudp_preference_limit\fP
When sending a message to the KDC, the library will try using TCP
before UDP if the size of the message is above
\fBudp_preference_limit\fP\&.  If the message is smaller than
\fBudp_preference_limit\fP, then UDP will be tried before TCP.
Regardless of the size, both protocols will be tried if the first
attempt fails.
.TP
\fBverify_ap_req_nofail\fP
If this flag is true, then an attempt to verify initial
credentials will fail if the client machine does not have a
keytab.  The default value is false.
.UNINDENT
.SS [realms]
.sp
Each tag in the [realms] section of the file is the name of a Kerberos
realm.  The value of the tag is a subsection with relations that
define the properties of that particular realm.  For each realm, the
following tags may be specified in the realm\(aqs subsection:
.INDENT 0.0
.TP
\fBadmin_server\fP
Identifies the host where the administration server is running.
Typically, this is the master Kerberos server.  This tag must be
given a value in order to communicate with the kadmind(8)
server for the realm.
.TP
\fBauth_to_local\fP
This tag allows you to set a general rule for mapping principal
names to local user names.  It will be used if there is not an
explicit mapping for the principal name that is being
translated. The possible values are:
.INDENT 7.0
.TP
\fBRULE:\fP\fIexp\fP
The local name will be formulated from \fIexp\fP\&.
.sp
The format for \fIexp\fP is \fB[\fP\fIn\fP\fB:\fP\fIstring\fP\fB](\fP\fIregexp\fP\fB)s/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/g\fP\&.
The integer \fIn\fP indicates how many components the target
principal should have.  If this matches, then a string will be
formed from \fIstring\fP, substituting the realm of the principal
for \fB$0\fP and the \fIn\fP\(aqth component of the principal for
\fB$n\fP (e.g., if the principal was \fBjohndoe/admin\fP then
\fB[2:$2$1foo]\fP would result in the string
\fBadminjohndoefoo\fP).  If this string matches \fIregexp\fP, then
the \fBs//[g]\fP substitution command will be run over the
string.  The optional \fBg\fP will cause the substitution to be
global over the \fIstring\fP, instead of replacing only the first
match in the \fIstring\fP\&.
.TP
\fBDEFAULT\fP
The principal name will be used as the local user name.  If
the principal has more than one component or is not in the
default realm, this rule is not applicable and the conversion
will fail.
.UNINDENT
.sp
For example:
.INDENT 7.0
.INDENT 3.5
.sp
.nf
.ft C
[realms]
    ATHENA.MIT.EDU = {
        auth_to_local = RULE:[2:$1](johndoe)s/^.*$/guest/
        auth_to_local = RULE:[2:$1;$2](^.*;admin$)s/;admin$//
        auth_to_local = RULE:[2:$2](^.*;root)s/^.*$/root/
        auth_to_local = DEFAULT
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
would result in any principal without \fBroot\fP or \fBadmin\fP as the
second component to be translated with the default rule.  A
principal with a second component of \fBadmin\fP will become its
first component.  \fBroot\fP will be used as the local name for any
principal with a second component of \fBroot\fP\&.  The exception to
these two rules are any principals \fBjohndoe/*\fP, which will
always get the local name \fBguest\fP\&.
.TP
\fBauth_to_local_names\fP
This subsection allows you to set explicit mappings from principal
names to local user names.  The tag is the mapping name, and the
value is the corresponding local user name.
.TP
\fBdefault_domain\fP
This tag specifies the domain used to expand hostnames when
translating Kerberos 4 service principals to Kerberos 5 principals
(for example, when converting \fBrcmd.hostname\fP to
\fBhost/hostname.domain\fP).
.TP
\fBdisable_encrypted_timestamp\fP
If this flag is true, the client will not perform encrypted
timestamp preauthentication if requested by the KDC.  Setting this
flag can help to prevent dictionary attacks by active attackers,
if the realm\(aqs KDCs support SPAKE preauthentication or if initial
authentication always uses another mechanism or always uses FAST.
This flag persists across client referrals during initial
authentication.  This flag does not prevent the KDC from offering
encrypted timestamp.  New in release 1.17.
.TP
\fBhttp_anchors\fP
When KDCs and kpasswd servers are accessed through HTTPS proxies, this tag
can be used to specify the location of the CA certificate which should be
trusted to issue the certificate for a proxy server.  If left unspecified,
the system\-wide default set of CA certificates is used.
.sp
The syntax for values is similar to that of values for the
\fBpkinit_anchors\fP tag:
.sp
\fBFILE:\fP \fIfilename\fP
.sp
\fIfilename\fP is assumed to be the name of an OpenSSL\-style ca\-bundle file.
.sp
\fBDIR:\fP \fIdirname\fP
.sp
\fIdirname\fP is assumed to be an directory which contains CA certificates.
All files in the directory will be examined; if they contain certificates
(in PEM format), they will be used.
.sp
\fBENV:\fP \fIenvvar\fP
.sp
\fIenvvar\fP specifies the name of an environment variable which has been set
to a value conforming to one of the previous values.  For example,
\fBENV:X509_PROXY_CA\fP, where environment variable \fBX509_PROXY_CA\fP has
been set to \fBFILE:/tmp/my_proxy.pem\fP\&.
.TP
\fBkdc\fP
The name or address of a host running a KDC for that realm.  An
optional port number, separated from the hostname by a colon, may
be included.  If the name or address contains colons (for example,
if it is an IPv6 address), enclose it in square brackets to
distinguish the colon from a port separator.  For your computer to
be able to communicate with the KDC for each realm, this tag must
be given a value in each realm subsection in the configuration
file, or there must be DNS SRV records specifying the KDCs.
.TP
\fBkpasswd_server\fP
Points to the server where all the password changes are performed.
If there is no such entry, DNS will be queried (unless forbidden
by \fBdns_lookup_kdc\fP).  Finally, port 464 on the \fBadmin_server\fP
host will be tried.
.TP
\fBmaster_kdc\fP
Identifies the master KDC(s).  Currently, this tag is used in only
one case: If an attempt to get credentials fails because of an
invalid password, the client software will attempt to contact the
master KDC, in case the user\(aqs password has just been changed, and
the updated database has not been propagated to the replica
servers yet.
.TP
\fBv4_instance_convert\fP
This subsection allows the administrator to configure exceptions
to the \fBdefault_domain\fP mapping rule.  It contains V4 instances
(the tag name) which should be translated to some specific
hostname (the tag value) as the second component in a Kerberos V5
principal name.
.TP
\fBv4_realm\fP
This relation is used by the krb524 library routines when
converting a V5 principal name to a V4 principal name.  It is used
when the V4 realm name and the V5 realm name are not the same, but
still share the same principal names and passwords. The tag value
is the Kerberos V4 realm name.
.UNINDENT
.SS [domain_realm]
.sp
The [domain_realm] section provides a translation from a domain name
or hostname to a Kerberos realm name.  The tag name can be a host name
or domain name, where domain names are indicated by a prefix of a
period (\fB\&.\fP).  The value of the relation is the Kerberos realm name
for that particular host or domain.  A host name relation implicitly
provides the corresponding domain name relation, unless an explicit domain
name relation is provided.  The Kerberos realm may be
identified either in the \fI\%realms\fP section or using DNS SRV records.
Host names and domain names should be in lower case.  For example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[domain_realm]
    crash.mit.edu = TEST.ATHENA.MIT.EDU
    .dev.mit.edu = TEST.ATHENA.MIT.EDU
    mit.edu = ATHENA.MIT.EDU
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
maps the host with the name \fBcrash.mit.edu\fP into the
\fBTEST.ATHENA.MIT.EDU\fP realm.  The second entry maps all hosts under the
domain \fBdev.mit.edu\fP into the \fBTEST.ATHENA.MIT.EDU\fP realm, but not
the host with the name \fBdev.mit.edu\fP\&.  That host is matched
by the third entry, which maps the host \fBmit.edu\fP and all hosts
under the domain \fBmit.edu\fP that do not match a preceding rule
into the realm \fBATHENA.MIT.EDU\fP\&.
.sp
If no translation entry applies to a hostname used for a service
principal for a service ticket request, the library will try to get a
referral to the appropriate realm from the client realm\(aqs KDC.  If
that does not succeed, the host\(aqs realm is considered to be the
hostname\(aqs domain portion converted to uppercase, unless the
\fBrealm_try_domains\fP setting in [libdefaults] causes a different
parent domain to be used.
.SS [capaths]
.sp
In order to perform direct (non\-hierarchical) cross\-realm
authentication, configuration is needed to determine the
authentication paths between realms.
.sp
A client will use this section to find the authentication path between
its realm and the realm of the server.  The server will use this
section to verify the authentication path used by the client, by
checking the transited field of the received ticket.
.sp
There is a tag for each participating client realm, and each tag has
subtags for each of the server realms.  The value of the subtags is an
intermediate realm which may participate in the cross\-realm
authentication.  The subtags may be repeated if there is more then one
intermediate realm.  A value of "." means that the two realms share
keys directly, and no intermediate realms should be allowed to
participate.
.sp
Only those entries which will be needed on the client or the server
need to be present.  A client needs a tag for its local realm with
subtags for all the realms of servers it will need to authenticate to.
A server needs a tag for each realm of the clients it will serve, with
a subtag of the server realm.
.sp
For example, \fBANL.GOV\fP, \fBPNL.GOV\fP, and \fBNERSC.GOV\fP all wish to
use the \fBES.NET\fP realm as an intermediate realm.  ANL has a sub
realm of \fBTEST.ANL.GOV\fP which will authenticate with \fBNERSC.GOV\fP
but not \fBPNL.GOV\fP\&.  The [capaths] section for \fBANL.GOV\fP systems
would look like this:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[capaths]
    ANL.GOV = {
        TEST.ANL.GOV = .
        PNL.GOV = ES.NET
        NERSC.GOV = ES.NET
        ES.NET = .
    }
    TEST.ANL.GOV = {
        ANL.GOV = .
    }
    PNL.GOV = {
        ANL.GOV = ES.NET
    }
    NERSC.GOV = {
        ANL.GOV = ES.NET
    }
    ES.NET = {
        ANL.GOV = .
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
The [capaths] section of the configuration file used on \fBNERSC.GOV\fP
systems would look like this:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[capaths]
    NERSC.GOV = {
        ANL.GOV = ES.NET
        TEST.ANL.GOV = ES.NET
        TEST.ANL.GOV = ANL.GOV
        PNL.GOV = ES.NET
        ES.NET = .
    }
    ANL.GOV = {
        NERSC.GOV = ES.NET
    }
    PNL.GOV = {
        NERSC.GOV = ES.NET
    }
    ES.NET = {
        NERSC.GOV = .
    }
    TEST.ANL.GOV = {
        NERSC.GOV = ANL.GOV
        NERSC.GOV = ES.NET
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
When a subtag is used more than once within a tag, clients will use
the order of values to determine the path.  The order of values is not
important to servers.
.SS [appdefaults]
.sp
Each tag in the [appdefaults] section names a Kerberos V5 application
or an option that is used by some Kerberos V5 application[s].  The
value of the tag defines the default behaviors for that application.
.sp
For example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[appdefaults]
    telnet = {
        ATHENA.MIT.EDU = {
            option1 = false
        }
    }
    telnet = {
        option1 = true
        option2 = true
    }
    ATHENA.MIT.EDU = {
        option2 = false
    }
    option2 = true
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
The above four ways of specifying the value of an option are shown in
order of decreasing precedence. In this example, if telnet is running
in the realm EXAMPLE.COM, it should, by default, have option1 and
option2 set to true.  However, a telnet program in the realm
\fBATHENA.MIT.EDU\fP should have \fBoption1\fP set to false and
\fBoption2\fP set to true.  Any other programs in ATHENA.MIT.EDU should
have \fBoption2\fP set to false by default.  Any programs running in
other realms should have \fBoption2\fP set to true.
.sp
The list of specifiable options for each application may be found in
that application\(aqs man pages.  The application defaults specified here
are overridden by those specified in the \fI\%realms\fP section.
.SS [plugins]
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
\fI\%pwqual\fP interface
.IP \(bu 2
\fI\%kadm5_hook\fP interface
.IP \(bu 2
\fI\%clpreauth\fP and \fI\%kdcpreauth\fP interfaces
.UNINDENT
.UNINDENT
.UNINDENT
.sp
Tags in the [plugins] section can be used to register dynamic plugin
modules and to turn modules on and off.  Not every krb5 pluggable
interface uses the [plugins] section; the ones that do are documented
here.
.sp
New in release 1.9.
.sp
Each pluggable interface corresponds to a subsection of [plugins].
All subsections support the same tags:
.INDENT 0.0
.TP
\fBdisable\fP
This tag may have multiple values. If there are values for this
tag, then the named modules will be disabled for the pluggable
interface.
.TP
\fBenable_only\fP
This tag may have multiple values. If there are values for this
tag, then only the named modules will be enabled for the pluggable
interface.
.TP
\fBmodule\fP
This tag may have multiple values.  Each value is a string of the
form \fBmodulename:pathname\fP, which causes the shared object
located at \fIpathname\fP to be registered as a dynamic module named
\fImodulename\fP for the pluggable interface.  If \fIpathname\fP is not an
absolute path, it will be treated as relative to the
\fBplugin_base_dir\fP value from \fI\%[libdefaults]\fP\&.
.UNINDENT
.sp
For pluggable interfaces where module order matters, modules
registered with a \fBmodule\fP tag normally come first, in the order
they are registered, followed by built\-in modules in the order they
are documented below.  If \fBenable_only\fP tags are used, then the
order of those tags overrides the normal module order.
.sp
The following subsections are currently supported within the [plugins]
section:
.SS ccselect interface
.sp
The ccselect subsection controls modules for credential cache
selection within a cache collection.  In addition to any registered
dynamic modules, the following built\-in modules exist (and may be
disabled with the disable tag):
.INDENT 0.0
.TP
\fBk5identity\fP
Uses a .k5identity file in the user\(aqs home directory to select a
client principal
.TP
\fBrealm\fP
Uses the service realm to guess an appropriate cache from the
collection
.TP
\fBhostname\fP
If the service principal is host\-based, uses the service hostname
to guess an appropriate cache from the collection
.UNINDENT
.SS pwqual interface
.sp
The pwqual subsection controls modules for the password quality
interface, which is used to reject weak passwords when passwords are
changed.  The following built\-in modules exist for this interface:
.INDENT 0.0
.TP
\fBdict\fP
Checks against the realm dictionary file
.TP
\fBempty\fP
Rejects empty passwords
.TP
\fBhesiod\fP
Checks against user information stored in Hesiod (only if Kerberos
was built with Hesiod support)
.TP
\fBprinc\fP
Checks against components of the principal name
.UNINDENT
.SS kadm5_hook interface
.sp
The kadm5_hook interface provides plugins with information on
principal creation, modification, password changes and deletion.  This
interface can be used to write a plugin to synchronize MIT Kerberos
with another database such as Active Directory.  No plugins are built
in for this interface.
.SS kadm5_auth interface
.sp
The kadm5_auth section (introduced in release 1.16) controls modules
for the kadmin authorization interface, which determines whether a
client principal is allowed to perform a kadmin operation.  The
following built\-in modules exist for this interface:
.INDENT 0.0
.TP
\fBacl\fP
This module reads the kadm5.acl(5) file, and authorizes
operations which are allowed according to the rules in the file.
.TP
\fBself\fP
This module authorizes self\-service operations including password
changes, creation of new random keys, fetching the client\(aqs
principal record or string attributes, and fetching the policy
record associated with the client principal.
.UNINDENT
.SS clpreauth and kdcpreauth interfaces
.sp
The clpreauth and kdcpreauth interfaces allow plugin modules to
provide client and KDC preauthentication mechanisms.  The following
built\-in modules exist for these interfaces:
.INDENT 0.0
.TP
\fBpkinit\fP
This module implements the PKINIT preauthentication mechanism.
.TP
\fBencrypted_challenge\fP
This module implements the encrypted challenge FAST factor.
.TP
\fBencrypted_timestamp\fP
This module implements the encrypted timestamp mechanism.
.UNINDENT
.SS hostrealm interface
.sp
The hostrealm section (introduced in release 1.12) controls modules
for the host\-to\-realm interface, which affects the local mapping of
hostnames to realm names and the choice of default realm.  The following
built\-in modules exist for this interface:
.INDENT 0.0
.TP
\fBprofile\fP
This module consults the [domain_realm] section of the profile for
authoritative host\-to\-realm mappings, and the \fBdefault_realm\fP
variable for the default realm.
.TP
\fBdns\fP
This module looks for DNS records for fallback host\-to\-realm
mappings and the default realm.  It only operates if the
\fBdns_lookup_realm\fP variable is set to true.
.TP
\fBdomain\fP
This module applies heuristics for fallback host\-to\-realm
mappings.  It implements the \fBrealm_try_domains\fP variable, and
uses the uppercased parent domain of the hostname if that does not
produce a result.
.UNINDENT
.SS localauth interface
.sp
The localauth section (introduced in release 1.12) controls modules
for the local authorization interface, which affects the relationship
between Kerberos principals and local system accounts.  The following
built\-in modules exist for this interface:
.INDENT 0.0
.TP
\fBdefault\fP
This module implements the \fBDEFAULT\fP type for \fBauth_to_local\fP
values.
.TP
\fBrule\fP
This module implements the \fBRULE\fP type for \fBauth_to_local\fP
values.
.TP
\fBnames\fP
This module looks for an \fBauth_to_local_names\fP mapping for the
principal name.
.TP
\fBauth_to_local\fP
This module processes \fBauth_to_local\fP values in the default
realm\(aqs section, and applies the default method if no
\fBauth_to_local\fP values exist.
.TP
\fBk5login\fP
This module authorizes a principal to a local account according to
the account\(aqs \&.k5login(5) file.
.TP
\fBan2ln\fP
This module authorizes a principal to a local account if the
principal name maps to the local account name.
.UNINDENT
.SS certauth interface
.sp
The certauth section (introduced in release 1.16) controls modules for
the certificate authorization interface, which determines whether a
certificate is allowed to preauthenticate a user via PKINIT.  The
following built\-in modules exist for this interface:
.INDENT 0.0
.TP
\fBpkinit_san\fP
This module authorizes the certificate if it contains a PKINIT
Subject Alternative Name for the requested client principal, or a
Microsoft UPN SAN matching the principal if \fBpkinit_allow_upn\fP
is set to true for the realm.
.TP
\fBpkinit_eku\fP
This module rejects the certificate if it does not contain an
Extended Key Usage attribute consistent with the
\fBpkinit_eku_checking\fP value for the realm.
.TP
\fBdbmatch\fP
This module authorizes or rejects the certificate according to
whether it matches the \fBpkinit_cert_match\fP string attribute on
the client principal, if that attribute is present.
.UNINDENT
.SH PKINIT OPTIONS
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
The following are PKINIT\-specific options.  These values may
be specified in [libdefaults] as global defaults, or within
a realm\-specific subsection of [libdefaults], or may be
specified as realm\-specific values in the [realms] section.
A realm\-specific value overrides, not adds to, a generic
[libdefaults] specification.  The search order is:
.UNINDENT
.UNINDENT
.INDENT 0.0
.IP 1. 3
realm\-specific subsection of [libdefaults]:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
[libdefaults]
    EXAMPLE.COM = {
        pkinit_anchors = FILE:/usr/local/example.com.crt
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 2. 3
realm\-specific value in the [realms] section:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
[realms]
    OTHERREALM.ORG = {
        pkinit_anchors = FILE:/usr/local/otherrealm.org.crt
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 3. 3
generic value in the [libdefaults] section:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
[libdefaults]
    pkinit_anchors = DIR:/usr/local/generic_trusted_cas/
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.SS Specifying PKINIT identity information
.sp
The syntax for specifying Public Key identity, trust, and revocation
information for PKINIT is as follows:
.INDENT 0.0
.TP
\fBFILE:\fP\fIfilename\fP[\fB,\fP\fIkeyfilename\fP]
This option has context\-specific behavior.
.sp
In \fBpkinit_identity\fP or \fBpkinit_identities\fP, \fIfilename\fP
specifies the name of a PEM\-format file containing the user\(aqs
certificate.  If \fIkeyfilename\fP is not specified, the user\(aqs
private key is expected to be in \fIfilename\fP as well.  Otherwise,
\fIkeyfilename\fP is the name of the file containing the private key.
.sp
In \fBpkinit_anchors\fP or \fBpkinit_pool\fP, \fIfilename\fP is assumed to
be the name of an OpenSSL\-style ca\-bundle file.
.TP
\fBDIR:\fP\fIdirname\fP
This option has context\-specific behavior.
.sp
In \fBpkinit_identity\fP or \fBpkinit_identities\fP, \fIdirname\fP
specifies a directory with files named \fB*.crt\fP and \fB*.key\fP
where the first part of the file name is the same for matching
pairs of certificate and private key files.  When a file with a
name ending with \fB\&.crt\fP is found, a matching file ending with
\fB\&.key\fP is assumed to contain the private key.  If no such file
is found, then the certificate in the \fB\&.crt\fP is not used.
.sp
In \fBpkinit_anchors\fP or \fBpkinit_pool\fP, \fIdirname\fP is assumed to
be an OpenSSL\-style hashed CA directory where each CA cert is
stored in a file named \fBhash\-of\-ca\-cert.#\fP\&.  This infrastructure
is encouraged, but all files in the directory will be examined and
if they contain certificates (in PEM format), they will be used.
.sp
In \fBpkinit_revoke\fP, \fIdirname\fP is assumed to be an OpenSSL\-style
hashed CA directory where each revocation list is stored in a file
named \fBhash\-of\-ca\-cert.r#\fP\&.  This infrastructure is encouraged,
but all files in the directory will be examined and if they
contain a revocation list (in PEM format), they will be used.
.TP
\fBPKCS12:\fP\fIfilename\fP
\fIfilename\fP is the name of a PKCS #12 format file, containing the
user\(aqs certificate and private key.
.TP
\fBPKCS11:\fP[\fBmodule_name=\fP]\fImodname\fP[\fB:slotid=\fP\fIslot\-id\fP][\fB:token=\fP\fItoken\-label\fP][\fB:certid=\fP\fIcert\-id\fP][\fB:certlabel=\fP\fIcert\-label\fP]
All keyword/values are optional.  \fImodname\fP specifies the location
of a library implementing PKCS #11.  If a value is encountered
with no keyword, it is assumed to be the \fImodname\fP\&.  If no
module\-name is specified, the default is \fBopensc\-pkcs11.so\fP\&.
\fBslotid=\fP and/or \fBtoken=\fP may be specified to force the use of
a particular smard card reader or token if there is more than one
available.  \fBcertid=\fP and/or \fBcertlabel=\fP may be specified to
force the selection of a particular certificate on the device.
See the \fBpkinit_cert_match\fP configuration option for more ways
to select a particular certificate to use for PKINIT.
.TP
\fBENV:\fP\fIenvvar\fP
\fIenvvar\fP specifies the name of an environment variable which has
been set to a value conforming to one of the previous values.  For
example, \fBENV:X509_PROXY\fP, where environment variable
\fBX509_PROXY\fP has been set to \fBFILE:/tmp/my_proxy.pem\fP\&.
.UNINDENT
.SS PKINIT krb5.conf options
.INDENT 0.0
.TP
\fBpkinit_anchors\fP
Specifies the location of trusted anchor (root) certificates which
the client trusts to sign KDC certificates.  This option may be
specified multiple times.  These values from the config file are
not used if the user specifies X509_anchors on the command line.
.TP
\fBpkinit_cert_match\fP
Specifies matching rules that the client certificate must match
before it is used to attempt PKINIT authentication.  If a user has
multiple certificates available (on a smart card, or via other
media), there must be exactly one certificate chosen before
attempting PKINIT authentication.  This option may be specified
multiple times.  All the available certificates are checked
against each rule in order until there is a match of exactly one
certificate.
.sp
The Subject and Issuer comparison strings are the \fI\%RFC 2253\fP
string representations from the certificate Subject DN and Issuer
DN values.
.sp
The syntax of the matching rules is:
.INDENT 7.0
.INDENT 3.5
[\fIrelation\-operator\fP]\fIcomponent\-rule\fP ...
.UNINDENT
.UNINDENT
.sp
where:
.INDENT 7.0
.TP
.B \fIrelation\-operator\fP
can be either \fB&&\fP, meaning all component rules must match,
or \fB||\fP, meaning only one component rule must match.  The
default is \fB&&\fP\&.
.TP
.B \fIcomponent\-rule\fP
can be one of the following.  Note that there is no
punctuation or whitespace between component rules.
.INDENT 7.0
.INDENT 3.5
.nf
\fB<SUBJECT>\fP\fIregular\-expression\fP
\fB<ISSUER>\fP\fIregular\-expression\fP
\fB<SAN>\fP\fIregular\-expression\fP
\fB<EKU>\fP\fIextended\-key\-usage\-list\fP
\fB<KU>\fP\fIkey\-usage\-list\fP
.fi
.sp
.UNINDENT
.UNINDENT
.sp
\fIextended\-key\-usage\-list\fP is a comma\-separated list of
required Extended Key Usage values.  All values in the list
must be present in the certificate.  Extended Key Usage values
can be:
.INDENT 7.0
.IP \(bu 2
pkinit
.IP \(bu 2
msScLogin
.IP \(bu 2
clientAuth
.IP \(bu 2
emailProtection
.UNINDENT
.sp
\fIkey\-usage\-list\fP is a comma\-separated list of required Key
Usage values.  All values in the list must be present in the
certificate.  Key Usage values can be:
.INDENT 7.0
.IP \(bu 2
digitalSignature
.IP \(bu 2
keyEncipherment
.UNINDENT
.UNINDENT
.sp
Examples:
.INDENT 7.0
.INDENT 3.5
.sp
.nf
.ft C
pkinit_cert_match = ||<SUBJECT>.*DoE.*<SAN>.*@EXAMPLE.COM
pkinit_cert_match = &&<EKU>msScLogin,clientAuth<ISSUER>.*DoE.*
pkinit_cert_match = <EKU>msScLogin,clientAuth<KU>digitalSignature
.ft P
.fi
.UNINDENT
.UNINDENT
.TP
\fBpkinit_eku_checking\fP
This option specifies what Extended Key Usage value the KDC
certificate presented to the client must contain.  (Note that if
the KDC certificate has the pkinit SubjectAlternativeName encoded
as the Kerberos TGS name, EKU checking is not necessary since the
issuing CA has certified this as a KDC certificate.)  The values
recognized in the krb5.conf file are:
.INDENT 7.0
.TP
\fBkpKDC\fP
This is the default value and specifies that the KDC must have
the id\-pkinit\-KPKdc EKU as defined in \fI\%RFC 4556\fP\&.
.TP
\fBkpServerAuth\fP
If \fBkpServerAuth\fP is specified, a KDC certificate with the
id\-kp\-serverAuth EKU will be accepted.  This key usage value
is used in most commercially issued server certificates.
.TP
\fBnone\fP
If \fBnone\fP is specified, then the KDC certificate will not be
checked to verify it has an acceptable EKU.  The use of this
option is not recommended.
.UNINDENT
.TP
\fBpkinit_dh_min_bits\fP
Specifies the size of the Diffie\-Hellman key the client will
attempt to use.  The acceptable values are 1024, 2048, and 4096.
The default is 2048.
.TP
\fBpkinit_identities\fP
Specifies the location(s) to be used to find the user\(aqs X.509
identity information.  If this option is specified multiple times,
the first valid value is used; this can be used to specify an
environment variable (with \fBENV:\fP\fIenvvar\fP) followed by a
default value.  Note that these values are not used if the user
specifies \fBX509_user_identity\fP on the command line.
.TP
\fBpkinit_kdc_hostname\fP
The presense of this option indicates that the client is willing
to accept a KDC certificate with a dNSName SAN (Subject
Alternative Name) rather than requiring the id\-pkinit\-san as
defined in \fI\%RFC 4556\fP\&.  This option may be specified multiple
times.  Its value should contain the acceptable hostname for the
KDC (as contained in its certificate).
.TP
\fBpkinit_pool\fP
Specifies the location of intermediate certificates which may be
used by the client to complete the trust chain between a KDC
certificate and a trusted anchor.  This option may be specified
multiple times.
.TP
\fBpkinit_require_crl_checking\fP
The default certificate verification process will always check the
available revocation information to see if a certificate has been
revoked.  If a match is found for the certificate in a CRL,
verification fails.  If the certificate being verified is not
listed in a CRL, or there is no CRL present for its issuing CA,
and \fBpkinit_require_crl_checking\fP is false, then verification
succeeds.
.sp
However, if \fBpkinit_require_crl_checking\fP is true and there is
no CRL information available for the issuing CA, then verification
fails.
.sp
\fBpkinit_require_crl_checking\fP should be set to true if the
policy is such that up\-to\-date CRLs must be present for every CA.
.TP
\fBpkinit_revoke\fP
Specifies the location of Certificate Revocation List (CRL)
information to be used by the client when verifying the validity
of the KDC certificate presented.  This option may be specified
multiple times.
.UNINDENT
.SH PARAMETER EXPANSION
.sp
Starting with release 1.11, several variables, such as
\fBdefault_keytab_name\fP, allow parameters to be expanded.
Valid parameters are:
.INDENT 0.0
.INDENT 3.5
.TS
center;
|l|l|.
_
T{
%{TEMP}
T}	T{
Temporary directory
T}
_
T{
%{uid}
T}	T{
Unix real UID or Windows SID
T}
_
T{
%{euid}
T}	T{
Unix effective user ID or Windows SID
T}
_
T{
%{USERID}
T}	T{
Same as %{uid}
T}
_
T{
%{null}
T}	T{
Empty string
T}
_
T{
%{LIBDIR}
T}	T{
Installation library directory
T}
_
T{
%{BINDIR}
T}	T{
Installation binary directory
T}
_
T{
%{SBINDIR}
T}	T{
Installation admin binary directory
T}
_
T{
%{username}
T}	T{
(Unix) Username of effective user ID
T}
_
T{
%{APPDATA}
T}	T{
(Windows) Roaming application data for current user
T}
_
T{
%{COMMON_APPDATA}
T}	T{
(Windows) Application data for all users
T}
_
T{
%{LOCAL_APPDATA}
T}	T{
(Windows) Local application data for current user
T}
_
T{
%{SYSTEM}
T}	T{
(Windows) Windows system folder
T}
_
T{
%{WINDOWS}
T}	T{
(Windows) Windows folder
T}
_
T{
%{USERCONFIG}
T}	T{
(Windows) Per\-user MIT krb5 config file directory
T}
_
T{
%{COMMONCONFIG}
T}	T{
(Windows) Common MIT krb5 config file directory
T}
_
.TE
.UNINDENT
.UNINDENT
.SH SAMPLE KRB5.CONF FILE
.sp
Here is an example of a generic krb5.conf file:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[libdefaults]
    default_realm = ATHENA.MIT.EDU
    dns_lookup_kdc = true
    dns_lookup_realm = false

[realms]
    ATHENA.MIT.EDU = {
        kdc = kerberos.mit.edu
        kdc = kerberos\-1.mit.edu
        kdc = kerberos\-2.mit.edu
        admin_server = kerberos.mit.edu
        master_kdc = kerberos.mit.edu
    }
    EXAMPLE.COM = {
        kdc = kerberos.example.com
        kdc = kerberos\-1.example.com
        admin_server = kerberos.example.com
    }

[domain_realm]
    mit.edu = ATHENA.MIT.EDU

[capaths]
    ATHENA.MIT.EDU = {
           EXAMPLE.COM = .
    }
    EXAMPLE.COM = {
           ATHENA.MIT.EDU = .
    }
.ft P
.fi
.UNINDENT
.UNINDENT
.SH FILES
.sp
\fB/etc/krb5.conf\fP
.SH SEE ALSO
.sp
syslog(3)
.SH AUTHOR
MIT
.SH COPYRIGHT
1985-2019, MIT
.\" Generated by docutils manpage writer.
.
share/man/man5/.k5identity.5000064400000000026150403633740011521 0ustar00.so man5/k5identity.5
share/man/man5/.k5login.5000064400000000023150403633740010775 0ustar00.so man5/k5login.5
share/licenses/alt-krb5-libs/LICENSE000064400000172611150403633740013045 0ustar00Copyright (C) 1985-2019 by the Massachusetts Institute of Technology.

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Downloading of this software may constitute an export of cryptographic
software from the United States of America that is subject to the
United States Export Administration Regulations (EAR), 15 CFR 730-774.
Additional laws or regulations may apply.  It is the responsibility of
the person or entity contemplating export to comply with all
applicable export laws and regulations, including obtaining any
required license from the U.S. government.

The U.S. government prohibits export of encryption source code to
certain countries and individuals, including, but not limited to, the
countries of Cuba, Iran, North Korea, Sudan, Syria, and residents and
nationals of those countries.

Documentation components of this software distribution are licensed
under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
(https://creativecommons.org/licenses/by-sa/3.0/)

Individual source code files are copyright MIT, Cygnus Support,
Novell, OpenVision Technologies, Oracle, Red Hat, Sun Microsystems,
FundsXpress, and others.

Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
and Zephyr are trademarks of the Massachusetts Institute of Technology
(MIT).  No commercial use of these trademarks may be made without
prior written permission of MIT.

"Commercial use" means use of a name in a product or other for-profit
manner.  It does NOT prevent a commercial firm from referring to the
MIT trademarks in order to convey information (although in doing so,
recognition of their trademark status should be given).

======================================================================

The following copyright and permission notice applies to the
OpenVision Kerberos Administration system located in "kadmin/create",
"kadmin/dbutil", "kadmin/passwd", "kadmin/server", "lib/kadm5", and
portions of "lib/rpc":

   Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights
   Reserved

   WARNING:  Retrieving the OpenVision Kerberos Administration system
   source code, as described below, indicates your acceptance of the
   following terms.  If you do not agree to the following terms, do
   not retrieve the OpenVision Kerberos administration system.

   You may freely use and distribute the Source Code and Object Code
   compiled from it, with or without modification, but this Source
   Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
   INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
   FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
   EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
   FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF
   SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
   CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING,
   WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE
   CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY
   OTHER REASON.

   OpenVision retains all copyrights in the donated Source Code.
   OpenVision also retains copyright to derivative works of the Source
   Code, whether created by OpenVision or by a third party. The
   OpenVision copyright notice must be preserved if derivative works
   are made based on the donated Source Code.

   OpenVision Technologies, Inc. has donated this Kerberos
   Administration system to MIT for inclusion in the standard Kerberos
   5 distribution. This donation underscores our commitment to
   continuing Kerberos technology development and our gratitude for
   the valuable work which has been performed by MIT and the Kerberos
   community.

======================================================================

   Portions contributed by Matt Crawford "crawdad@fnal.gov" were work
   performed at Fermi National Accelerator Laboratory, which is
   operated by Universities Research Association, Inc., under contract
   DE-AC02-76CHO3000 with the U.S. Department of Energy.

======================================================================

Portions of "src/lib/crypto" have the following copyright:

   Copyright (C) 1998 by the FundsXpress, INC.

   All rights reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government.
      It is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of FundsXpress. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  FundsXpress makes no representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

   THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

======================================================================

The implementation of the AES encryption algorithm in
"src/lib/crypto/builtin/aes" has the following copyright:

      Copyright (C) 2001, Dr Brian Gladman "brg@gladman.uk.net",
      Worcester, UK.
      All rights reserved.

   LICENSE TERMS

   The free distribution and use of this software in both source and
   binary form is allowed (with or without changes) provided that:

   1. distributions of this source code include the above copyright
      notice, this list of conditions and the following disclaimer;

   2. distributions in binary form include the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other associated materials;

   3. the copyright holder's name is not used to endorse products
      built using this software without specific written permission.

   DISCLAIMER

   This software is provided 'as is' with no explcit or implied
   warranties in respect of any properties, including, but not limited
   to, correctness and fitness for purpose.

======================================================================

Portions contributed by Red Hat, including the pre-authentication
plug-in framework and the NSS crypto implementation, contain the
following copyright:

      Copyright (C) 2006 Red Hat, Inc.
      Portions copyright (C) 2006 Massachusetts Institute of Technology
      All Rights Reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   * Neither the name of Red Hat, Inc., nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The bundled verto source code is subject to the following license:

   Copyright 2011 Red Hat, Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   DEALINGS IN THE SOFTWARE.

======================================================================

The MS-KKDCP client implementation has the following copyright:

   Copyright 2013,2014 Red Hat, Inc.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

      1. Redistributions of source code must retain the above
         copyright notice, this list of conditions and the following
         disclaimer.

      2. Redistributions in binary form must reproduce the above
         copyright notice, this list of conditions and the following
         disclaimer in the documentation and/or other materials
         provided with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in
"src/lib/gssapi", including the following files:

   lib/gssapi/generic/gssapi_err_generic.et
   lib/gssapi/mechglue/g_accept_sec_context.c
   lib/gssapi/mechglue/g_acquire_cred.c
   lib/gssapi/mechglue/g_canon_name.c
   lib/gssapi/mechglue/g_compare_name.c
   lib/gssapi/mechglue/g_context_time.c
   lib/gssapi/mechglue/g_delete_sec_context.c
   lib/gssapi/mechglue/g_dsp_name.c
   lib/gssapi/mechglue/g_dsp_status.c
   lib/gssapi/mechglue/g_dup_name.c
   lib/gssapi/mechglue/g_exp_sec_context.c
   lib/gssapi/mechglue/g_export_name.c
   lib/gssapi/mechglue/g_glue.c
   lib/gssapi/mechglue/g_imp_name.c
   lib/gssapi/mechglue/g_imp_sec_context.c
   lib/gssapi/mechglue/g_init_sec_context.c
   lib/gssapi/mechglue/g_initialize.c
   lib/gssapi/mechglue/g_inquire_context.c
   lib/gssapi/mechglue/g_inquire_cred.c
   lib/gssapi/mechglue/g_inquire_names.c
   lib/gssapi/mechglue/g_process_context.c
   lib/gssapi/mechglue/g_rel_buffer.c
   lib/gssapi/mechglue/g_rel_cred.c
   lib/gssapi/mechglue/g_rel_name.c
   lib/gssapi/mechglue/g_rel_oid_set.c
   lib/gssapi/mechglue/g_seal.c
   lib/gssapi/mechglue/g_sign.c
   lib/gssapi/mechglue/g_store_cred.c
   lib/gssapi/mechglue/g_unseal.c
   lib/gssapi/mechglue/g_userok.c
   lib/gssapi/mechglue/g_utils.c
   lib/gssapi/mechglue/g_verify.c
   lib/gssapi/mechglue/gssd_pname_to_uid.c
   lib/gssapi/mechglue/mglueP.h
   lib/gssapi/mechglue/oid_ops.c
   lib/gssapi/spnego/gssapiP_spnego.h
   lib/gssapi/spnego/spnego_mech.c

and the initial implementation of incremental propagation, including
the following new or changed files:

   include/iprop_hdr.h
   kadmin/server/ipropd_svc.c
   lib/kdb/iprop.x
   lib/kdb/kdb_convert.c
   lib/kdb/kdb_log.c
   lib/kdb/kdb_log.h
   lib/krb5/error_tables/kdb5_err.et
   kprop/kpropd_rpc.c
   kprop/kproplog.c

are subject to the following license:

   Copyright (C) 2004 Sun Microsystems, Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE.

======================================================================

Kerberos V5 includes documentation and software developed at the
University of California at Berkeley, which includes this copyright
notice:

      Copyright (C) 1983 Regents of the University of California.
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

Portions contributed by Novell, Inc., including the LDAP database
backend, are subject to the following license:

      Copyright (C) 2004-2005, Novell, Inc.
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   * The copyright holder's name is not used to endorse or promote
     products derived from this software without specific prior
     written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

Portions funded by Sandia National Laboratory and developed by the
University of Michigan's Center for Information Technology
Integration, including the PKINIT implementation, are subject to the
following license:

      COPYRIGHT (C) 2006-2007
      THE REGENTS OF THE UNIVERSITY OF MICHIGAN
      ALL RIGHTS RESERVED

   Permission is granted to use, copy, create derivative works and
   redistribute this software and such derivative works for any
   purpose, so long as the name of The University of Michigan is not
   used in any advertising or publicity pertaining to the use of
   distribution of this software without specific, written prior
   authorization.  If the above copyright notice or any other
   identification of the University of Michigan is included in any
   copy of any portion of this software, then the disclaimer below
   must also be included.

   THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE
   UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND
   WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER
   EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR
   ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR
   CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR
   IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR
   IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

======================================================================

The pkcs11.h file included in the PKINIT code has the following
license:

      Copyright 2006 g10 Code GmbH
      Copyright 2006 Andreas Jellinghaus

   This file is free software; as a special exception the author gives
   unlimited permission to copy and/or distribute it, with or without
   modifications, as long as this notice is preserved.

   This file is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY, to the extent permitted by law; without even
   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
   PURPOSE.

======================================================================

Portions contributed by Apple Inc. are subject to the following
license:

   Copyright 2004-2008 Apple Inc.  All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government.
      It is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of Apple Inc. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  Apple Inc. makes no representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

   THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

======================================================================

The implementations of UTF-8 string handling in src/util/support and
src/lib/krb5/unicode are subject to the following copyright and
permission notice:

      The OpenLDAP Public License
      Version 2.8, 17 August 2003

   Redistribution and use of this software and associated
   documentation ("Software"), with or without modification, are
   permitted provided that the following conditions are met:

   1. Redistributions in source form must retain copyright
      statements and notices,

   2. Redistributions in binary form must reproduce applicable
      copyright statements and notices, this list of conditions, and
      the following disclaimer in the documentation and/or other
      materials provided with the distribution, and

   3. Redistributions must contain a verbatim copy of this
      document.

   The OpenLDAP Foundation may revise this license from time to time.
   Each revision is distinguished by a version number.  You may use
   this Software under terms of this license revision or under the
   terms of any subsequent revision of the license.

   THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
   CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED.  IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS
   CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

   The names of the authors and copyright holders must not be used in
   advertising or otherwise to promote the sale, use or other dealing
   in this Software without specific, written prior permission.  Title
   to copyright in this Software shall at all times remain with
   copyright holders.

   OpenLDAP is a registered trademark of the OpenLDAP Foundation.

   Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
   California, USA.  All Rights Reserved.  Permission to copy and
   distribute verbatim copies of this document is granted.

======================================================================

Marked test programs in src/lib/krb5/krb have the following copyright:

      Copyright (C) 2006 Kungliga Tekniska Högskola
      (Royal Institute of Technology, Stockholm, Sweden).
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of KTH nor the names of its contributors may
      be used to endorse or promote products derived from this
      software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

The KCM Mach RPC definition file used on macOS has the following
copyright:

      Copyright (C) 2009 Kungliga Tekniska Högskola
      (Royal Institute of Technology, Stockholm, Sweden).
      All rights reserved.

   Portions Copyright (C) 2009 Apple Inc. All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the Institute nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

Portions of the RPC implementation in src/lib/rpc and
src/include/gssrpc have the following copyright and permission notice:

   Copyright (C) 2010, Oracle America, Inc.

   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the "Oracle America, Inc." nor the names
      of its contributors may be used to endorse or promote products
      derived from this software without specific prior written
      permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

   Copyright (C) 2006,2007,2009 NTT (Nippon Telegraph and Telephone
   Corporation).  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer as the first lines of this file unmodified.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   THIS SOFTWARE IS PROVIDED BY NTT "AS IS" AND ANY EXPRESS OR IMPLIED
   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL NTT BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

   Copyright 2000 by Carnegie Mellon University

   All Rights Reserved

   Permission to use, copy, modify, and distribute this software and
   its documentation for any purpose and without fee is hereby
   granted, provided that the above copyright notice appear in all
   copies and that both that copyright notice and this permission
   notice appear in supporting documentation, and that the name of
   Carnegie Mellon University not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.

   CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
   THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
   AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
   FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
   SOFTWARE.

======================================================================

   Copyright (C) 2002 Naval Research Laboratory (NRL/CCS)

   Permission to use, copy, modify and distribute this software and
   its documentation is hereby granted, provided that both the
   copyright notice and this permission notice appear in all copies of
   the software, derivative works or modified versions, and any
   portions thereof.

   NRL ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
   DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
   RESULTING FROM THE USE OF THIS SOFTWARE.

======================================================================

   Copyright (C) 1991, 1992, 1994 by Cygnus Support.

   Permission to use, copy, modify, and distribute this software and
   its documentation for any purpose and without fee is hereby
   granted, provided that the above copyright notice appear in all
   copies and that both that copyright notice and this permission
   notice appear in supporting documentation. Cygnus Support makes no
   representations about the suitability of this software for any
   purpose.  It is provided "as is" without express or implied
   warranty.

======================================================================

   Copyright (C) 2006 Secure Endpoints Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE.

======================================================================

Portions of the implementation of the Fortuna-like PRNG are subject to
the following notice:

      Copyright (C) 2005 Marko Kreen
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

   Copyright (C) 1994 by the University of Southern California

      EXPORT OF THIS SOFTWARE from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to copy, modify, and distribute
   this software and its documentation in source and binary forms is
   hereby granted, provided that any documentation or other materials
   related to such distribution or use acknowledge that the software
   was developed by the University of Southern California.

   DISCLAIMER OF WARRANTY.  THIS SOFTWARE IS PROVIDED "AS IS".  The
   University of Southern California MAKES NO REPRESENTATIONS OR
   WARRANTIES, EXPRESS OR IMPLIED.  By way of example, but not
   limitation, the University of Southern California MAKES NO
   REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
   PARTICULAR PURPOSE. The University of Southern California shall not
   be held liable for any liability nor for any direct, indirect, or
   consequential damages with respect to any claim by the user or
   distributor of the ksu software.

======================================================================

      Copyright (C) 1995
      The President and Fellows of Harvard University

   This code is derived from software contributed to Harvard by Jeremy
   Rassen.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. All advertising materials mentioning features or use of this
      software must display the following acknowledgement:

         This product includes software developed by the University of
         California, Berkeley and its contributors.

   4. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

      Copyright (C) 2008 by the Massachusetts Institute of Technology.
      Copyright 1995 by Richard P. Basch.  All Rights Reserved.
      Copyright 1995 by Lehman Brothers, Inc.  All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of Richard P. Basch, Lehman Brothers and M.I.T. not be
   used in advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.  Richard P.
   Basch, Lehman Brothers and M.I.T. make no representations about the
   suitability of this software for any purpose.  It is provided "as
   is" without express or implied warranty.

======================================================================

The following notice applies to "src/lib/krb5/krb/strptime.c" and
"src/include/k5-queue.h".

      Copyright (C) 1997, 1998 The NetBSD Foundation, Inc.
      All rights reserved.

   This code was contributed to The NetBSD Foundation by Klaus Klein.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. All advertising materials mentioning features or use of this
      software must display the following acknowledgement:

         This product includes software developed by the NetBSD
         Foundation, Inc. and its contributors.

   4. Neither the name of The NetBSD Foundation nor the names of
      its contributors may be used to endorse or promote products
      derived from this software without specific prior written
      permission.

   THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
   CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

======================================================================

The following notice applies to Unicode library files in
"src/lib/krb5/unicode":

      Copyright 1997, 1998, 1999 Computing Research Labs,
      New Mexico State University

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT.  IN NO EVENT SHALL THE COMPUTING RESEARCH LAB OR
   NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY CLAIM, DAMAGES OR
   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
   OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
   OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

======================================================================

The following notice applies to "src/util/support/strlcpy.c":

   Copyright (C) 1998 Todd C. Miller "Todd.Miller@courtesan.com"

   Permission to use, copy, modify, and distribute this software for
   any purpose with or without fee is hereby granted, provided that
   the above copyright notice and this permission notice appear in all
   copies.

   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
   AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
   OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

======================================================================

The following notice applies to "src/util/profile/argv_parse.c" and
"src/util/profile/argv_parse.h":

   Copyright 1999 by Theodore Ts'o.

   Permission to use, copy, modify, and distribute this software for
   any purpose with or without fee is hereby granted, provided that
   the above copyright notice and this permission notice appear in all
   copies.  THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (THE
   AUTHOR) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
   INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
   NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
   INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
   RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
   OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
   IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  (Isn't
   it sick that the U.S. culture of lawsuit-happy lawyers requires
   this kind of disclaimer?)

======================================================================

The following notice applies to SWIG-generated code in
"src/util/profile/profile_tcl.c":

   Copyright (C) 1999-2000, The University of Chicago

   This file may be freely redistributed without license or fee
   provided this copyright message remains intact.

======================================================================

The following notice applies to portiions of "src/lib/rpc" and
"src/include/gssrpc":

   Copyright (C) 2000 The Regents of the University of Michigan. All
   rights reserved.

   Copyright (C) 2000 Dug Song "dugsong@UMICH.EDU". All rights
   reserved, all wrongs reversed.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

======================================================================

Implementations of the MD4 algorithm are subject to the following
notice:

   Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.

   License to copy and use this software is granted provided that it
   is identified as the "RSA Data Security, Inc. MD4 Message Digest
   Algorithm" in all material mentioning or referencing this software
   or this function.

   License is also granted to make and use derivative works provided
   that such works are identified as "derived from the RSA Data
   Security, Inc. MD4 Message Digest Algorithm" in all material
   mentioning or referencing the derived work.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose.  It is provided "as is"
   without express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

Implementations of the MD5 algorithm are subject to the following
notice:

   Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.

   License to copy and use this software is granted provided that it
   is identified as the "RSA Data Security, Inc. MD5 Message- Digest
   Algorithm" in all material mentioning or referencing this software
   or this function.

   License is also granted to make and use derivative works provided
   that such works are identified as "derived from the RSA Data
   Security, Inc. MD5 Message-Digest Algorithm" in all material
   mentioning or referencing the derived work.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose.  It is provided "as is"
   without express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

The following notice applies to
"src/lib/crypto/crypto_tests/t_mddriver.c":

   Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
   rights reserved.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose. It is provided "as is" without
   express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

Portions of "src/lib/krb5" are subject to the following notice:

      Copyright (C) 1994 CyberSAFE Corporation.
      Copyright 1990,1991,2007,2008 by the Massachusetts
      Institute of Technology.
      All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of M.I.T. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  Furthermore if you modify this software
   you must label your software as modified software and not
   distribute it in such a fashion that it might be confused with the
   original M.I.T. software. Neither M.I.T., the Open Computing
   Security Group, nor CyberSAFE Corporation make any representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

======================================================================

Portions contributed by PADL Software are subject to the following
license:

   Copyright (c) 2011, PADL Software Pty Ltd. All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of PADL Software nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL PADL SOFTWARE
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

The bundled libev source code is subject to the following license:

   All files in libev are Copyright (C)2007,2008,2009 Marc Alexander
   Lehmann.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

   Alternatively, the contents of this package may be used under the
   terms of the GNU General Public License ("GPL") version 2 or any
   later version, in which case the provisions of the GPL are
   applicable instead of the above. If you wish to allow the use of
   your version of this package only under the terms of the GPL and
   not to allow others to use your version of this file under the BSD
   license, indicate your decision by deleting the provisions above
   and replace them with the notice and other provisions required by
   the GPL in this and the other files of this package. If you do not
   delete the provisions above, a recipient may use your version of
   this file under either the BSD or the GPL.

======================================================================

Files copied from the Intel AESNI Sample Library are subject to the
following license:

   Copyright (C) 2010, Intel Corporation All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

      * Redistributions of source code must retain the above
        copyright notice, this list of conditions and the following
        disclaimer.

      * Redistributions in binary form must reproduce the above
        copyright notice, this list of conditions and the following
        disclaimer in the documentation and/or other materials
        provided with the distribution.

      * Neither the name of Intel Corporation nor the names of its
        contributors may be used to endorse or promote products
        derived from this software without specific prior written
        permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The following notice applies to
"src/ccapi/common/win/OldCC/autolock.hxx":

   Copyright (C) 1998 by Danilo Almeida.  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The following notice applies to portions of
"src/plugins/preauth/spake/edwards25519.c" and
"src/plugins/preauth/spake/edwards25519_tables.h":

The MIT License (MIT)

Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS
file).

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

======================================================================

The following notice applies to portions of
"src/plugins/preauth/spake/edwards25519.c":

Copyright (c) 2015-2016, Google Inc.

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all
copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
share/doc/alt-krb5-libs/NOTICE000064400000172611150403633750011705 0ustar00Copyright (C) 1985-2019 by the Massachusetts Institute of Technology.

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Downloading of this software may constitute an export of cryptographic
software from the United States of America that is subject to the
United States Export Administration Regulations (EAR), 15 CFR 730-774.
Additional laws or regulations may apply.  It is the responsibility of
the person or entity contemplating export to comply with all
applicable export laws and regulations, including obtaining any
required license from the U.S. government.

The U.S. government prohibits export of encryption source code to
certain countries and individuals, including, but not limited to, the
countries of Cuba, Iran, North Korea, Sudan, Syria, and residents and
nationals of those countries.

Documentation components of this software distribution are licensed
under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
(https://creativecommons.org/licenses/by-sa/3.0/)

Individual source code files are copyright MIT, Cygnus Support,
Novell, OpenVision Technologies, Oracle, Red Hat, Sun Microsystems,
FundsXpress, and others.

Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
and Zephyr are trademarks of the Massachusetts Institute of Technology
(MIT).  No commercial use of these trademarks may be made without
prior written permission of MIT.

"Commercial use" means use of a name in a product or other for-profit
manner.  It does NOT prevent a commercial firm from referring to the
MIT trademarks in order to convey information (although in doing so,
recognition of their trademark status should be given).

======================================================================

The following copyright and permission notice applies to the
OpenVision Kerberos Administration system located in "kadmin/create",
"kadmin/dbutil", "kadmin/passwd", "kadmin/server", "lib/kadm5", and
portions of "lib/rpc":

   Copyright, OpenVision Technologies, Inc., 1993-1996, All Rights
   Reserved

   WARNING:  Retrieving the OpenVision Kerberos Administration system
   source code, as described below, indicates your acceptance of the
   following terms.  If you do not agree to the following terms, do
   not retrieve the OpenVision Kerberos administration system.

   You may freely use and distribute the Source Code and Object Code
   compiled from it, with or without modification, but this Source
   Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
   INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
   FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
   EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
   FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF
   SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
   CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING,
   WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE
   CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY
   OTHER REASON.

   OpenVision retains all copyrights in the donated Source Code.
   OpenVision also retains copyright to derivative works of the Source
   Code, whether created by OpenVision or by a third party. The
   OpenVision copyright notice must be preserved if derivative works
   are made based on the donated Source Code.

   OpenVision Technologies, Inc. has donated this Kerberos
   Administration system to MIT for inclusion in the standard Kerberos
   5 distribution. This donation underscores our commitment to
   continuing Kerberos technology development and our gratitude for
   the valuable work which has been performed by MIT and the Kerberos
   community.

======================================================================

   Portions contributed by Matt Crawford "crawdad@fnal.gov" were work
   performed at Fermi National Accelerator Laboratory, which is
   operated by Universities Research Association, Inc., under contract
   DE-AC02-76CHO3000 with the U.S. Department of Energy.

======================================================================

Portions of "src/lib/crypto" have the following copyright:

   Copyright (C) 1998 by the FundsXpress, INC.

   All rights reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government.
      It is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of FundsXpress. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  FundsXpress makes no representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

   THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

======================================================================

The implementation of the AES encryption algorithm in
"src/lib/crypto/builtin/aes" has the following copyright:

      Copyright (C) 2001, Dr Brian Gladman "brg@gladman.uk.net",
      Worcester, UK.
      All rights reserved.

   LICENSE TERMS

   The free distribution and use of this software in both source and
   binary form is allowed (with or without changes) provided that:

   1. distributions of this source code include the above copyright
      notice, this list of conditions and the following disclaimer;

   2. distributions in binary form include the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other associated materials;

   3. the copyright holder's name is not used to endorse products
      built using this software without specific written permission.

   DISCLAIMER

   This software is provided 'as is' with no explcit or implied
   warranties in respect of any properties, including, but not limited
   to, correctness and fitness for purpose.

======================================================================

Portions contributed by Red Hat, including the pre-authentication
plug-in framework and the NSS crypto implementation, contain the
following copyright:

      Copyright (C) 2006 Red Hat, Inc.
      Portions copyright (C) 2006 Massachusetts Institute of Technology
      All Rights Reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   * Neither the name of Red Hat, Inc., nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The bundled verto source code is subject to the following license:

   Copyright 2011 Red Hat, Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   DEALINGS IN THE SOFTWARE.

======================================================================

The MS-KKDCP client implementation has the following copyright:

   Copyright 2013,2014 Red Hat, Inc.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

      1. Redistributions of source code must retain the above
         copyright notice, this list of conditions and the following
         disclaimer.

      2. Redistributions in binary form must reproduce the above
         copyright notice, this list of conditions and the following
         disclaimer in the documentation and/or other materials
         provided with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in
"src/lib/gssapi", including the following files:

   lib/gssapi/generic/gssapi_err_generic.et
   lib/gssapi/mechglue/g_accept_sec_context.c
   lib/gssapi/mechglue/g_acquire_cred.c
   lib/gssapi/mechglue/g_canon_name.c
   lib/gssapi/mechglue/g_compare_name.c
   lib/gssapi/mechglue/g_context_time.c
   lib/gssapi/mechglue/g_delete_sec_context.c
   lib/gssapi/mechglue/g_dsp_name.c
   lib/gssapi/mechglue/g_dsp_status.c
   lib/gssapi/mechglue/g_dup_name.c
   lib/gssapi/mechglue/g_exp_sec_context.c
   lib/gssapi/mechglue/g_export_name.c
   lib/gssapi/mechglue/g_glue.c
   lib/gssapi/mechglue/g_imp_name.c
   lib/gssapi/mechglue/g_imp_sec_context.c
   lib/gssapi/mechglue/g_init_sec_context.c
   lib/gssapi/mechglue/g_initialize.c
   lib/gssapi/mechglue/g_inquire_context.c
   lib/gssapi/mechglue/g_inquire_cred.c
   lib/gssapi/mechglue/g_inquire_names.c
   lib/gssapi/mechglue/g_process_context.c
   lib/gssapi/mechglue/g_rel_buffer.c
   lib/gssapi/mechglue/g_rel_cred.c
   lib/gssapi/mechglue/g_rel_name.c
   lib/gssapi/mechglue/g_rel_oid_set.c
   lib/gssapi/mechglue/g_seal.c
   lib/gssapi/mechglue/g_sign.c
   lib/gssapi/mechglue/g_store_cred.c
   lib/gssapi/mechglue/g_unseal.c
   lib/gssapi/mechglue/g_userok.c
   lib/gssapi/mechglue/g_utils.c
   lib/gssapi/mechglue/g_verify.c
   lib/gssapi/mechglue/gssd_pname_to_uid.c
   lib/gssapi/mechglue/mglueP.h
   lib/gssapi/mechglue/oid_ops.c
   lib/gssapi/spnego/gssapiP_spnego.h
   lib/gssapi/spnego/spnego_mech.c

and the initial implementation of incremental propagation, including
the following new or changed files:

   include/iprop_hdr.h
   kadmin/server/ipropd_svc.c
   lib/kdb/iprop.x
   lib/kdb/kdb_convert.c
   lib/kdb/kdb_log.c
   lib/kdb/kdb_log.h
   lib/krb5/error_tables/kdb5_err.et
   kprop/kpropd_rpc.c
   kprop/kproplog.c

are subject to the following license:

   Copyright (C) 2004 Sun Microsystems, Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE.

======================================================================

Kerberos V5 includes documentation and software developed at the
University of California at Berkeley, which includes this copyright
notice:

      Copyright (C) 1983 Regents of the University of California.
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

Portions contributed by Novell, Inc., including the LDAP database
backend, are subject to the following license:

      Copyright (C) 2004-2005, Novell, Inc.
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   * The copyright holder's name is not used to endorse or promote
     products derived from this software without specific prior
     written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

Portions funded by Sandia National Laboratory and developed by the
University of Michigan's Center for Information Technology
Integration, including the PKINIT implementation, are subject to the
following license:

      COPYRIGHT (C) 2006-2007
      THE REGENTS OF THE UNIVERSITY OF MICHIGAN
      ALL RIGHTS RESERVED

   Permission is granted to use, copy, create derivative works and
   redistribute this software and such derivative works for any
   purpose, so long as the name of The University of Michigan is not
   used in any advertising or publicity pertaining to the use of
   distribution of this software without specific, written prior
   authorization.  If the above copyright notice or any other
   identification of the University of Michigan is included in any
   copy of any portion of this software, then the disclaimer below
   must also be included.

   THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE
   UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND
   WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER
   EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR
   ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR
   CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR
   IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR
   IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

======================================================================

The pkcs11.h file included in the PKINIT code has the following
license:

      Copyright 2006 g10 Code GmbH
      Copyright 2006 Andreas Jellinghaus

   This file is free software; as a special exception the author gives
   unlimited permission to copy and/or distribute it, with or without
   modifications, as long as this notice is preserved.

   This file is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY, to the extent permitted by law; without even
   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
   PURPOSE.

======================================================================

Portions contributed by Apple Inc. are subject to the following
license:

   Copyright 2004-2008 Apple Inc.  All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government.
      It is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of Apple Inc. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  Apple Inc. makes no representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

   THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

======================================================================

The implementations of UTF-8 string handling in src/util/support and
src/lib/krb5/unicode are subject to the following copyright and
permission notice:

      The OpenLDAP Public License
      Version 2.8, 17 August 2003

   Redistribution and use of this software and associated
   documentation ("Software"), with or without modification, are
   permitted provided that the following conditions are met:

   1. Redistributions in source form must retain copyright
      statements and notices,

   2. Redistributions in binary form must reproduce applicable
      copyright statements and notices, this list of conditions, and
      the following disclaimer in the documentation and/or other
      materials provided with the distribution, and

   3. Redistributions must contain a verbatim copy of this
      document.

   The OpenLDAP Foundation may revise this license from time to time.
   Each revision is distinguished by a version number.  You may use
   this Software under terms of this license revision or under the
   terms of any subsequent revision of the license.

   THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
   CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED.  IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS
   CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

   The names of the authors and copyright holders must not be used in
   advertising or otherwise to promote the sale, use or other dealing
   in this Software without specific, written prior permission.  Title
   to copyright in this Software shall at all times remain with
   copyright holders.

   OpenLDAP is a registered trademark of the OpenLDAP Foundation.

   Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
   California, USA.  All Rights Reserved.  Permission to copy and
   distribute verbatim copies of this document is granted.

======================================================================

Marked test programs in src/lib/krb5/krb have the following copyright:

      Copyright (C) 2006 Kungliga Tekniska Högskola
      (Royal Institute of Technology, Stockholm, Sweden).
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of KTH nor the names of its contributors may
      be used to endorse or promote products derived from this
      software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

The KCM Mach RPC definition file used on macOS has the following
copyright:

      Copyright (C) 2009 Kungliga Tekniska Högskola
      (Royal Institute of Technology, Stockholm, Sweden).
      All rights reserved.

   Portions Copyright (C) 2009 Apple Inc. All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the Institute nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

Portions of the RPC implementation in src/lib/rpc and
src/include/gssrpc have the following copyright and permission notice:

   Copyright (C) 2010, Oracle America, Inc.

   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the "Oracle America, Inc." nor the names
      of its contributors may be used to endorse or promote products
      derived from this software without specific prior written
      permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

   Copyright (C) 2006,2007,2009 NTT (Nippon Telegraph and Telephone
   Corporation).  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer as the first lines of this file unmodified.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   THIS SOFTWARE IS PROVIDED BY NTT "AS IS" AND ANY EXPRESS OR IMPLIED
   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL NTT BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

   Copyright 2000 by Carnegie Mellon University

   All Rights Reserved

   Permission to use, copy, modify, and distribute this software and
   its documentation for any purpose and without fee is hereby
   granted, provided that the above copyright notice appear in all
   copies and that both that copyright notice and this permission
   notice appear in supporting documentation, and that the name of
   Carnegie Mellon University not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.

   CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
   THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
   AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
   FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
   SOFTWARE.

======================================================================

   Copyright (C) 2002 Naval Research Laboratory (NRL/CCS)

   Permission to use, copy, modify and distribute this software and
   its documentation is hereby granted, provided that both the
   copyright notice and this permission notice appear in all copies of
   the software, derivative works or modified versions, and any
   portions thereof.

   NRL ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
   DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
   RESULTING FROM THE USE OF THIS SOFTWARE.

======================================================================

   Copyright (C) 1991, 1992, 1994 by Cygnus Support.

   Permission to use, copy, modify, and distribute this software and
   its documentation for any purpose and without fee is hereby
   granted, provided that the above copyright notice appear in all
   copies and that both that copyright notice and this permission
   notice appear in supporting documentation. Cygnus Support makes no
   representations about the suitability of this software for any
   purpose.  It is provided "as is" without express or implied
   warranty.

======================================================================

   Copyright (C) 2006 Secure Endpoints Inc.

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE.

======================================================================

Portions of the implementation of the Fortuna-like PRNG are subject to
the following notice:

      Copyright (C) 2005 Marko Kreen
      All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR
   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

   Copyright (C) 1994 by the University of Southern California

      EXPORT OF THIS SOFTWARE from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to copy, modify, and distribute
   this software and its documentation in source and binary forms is
   hereby granted, provided that any documentation or other materials
   related to such distribution or use acknowledge that the software
   was developed by the University of Southern California.

   DISCLAIMER OF WARRANTY.  THIS SOFTWARE IS PROVIDED "AS IS".  The
   University of Southern California MAKES NO REPRESENTATIONS OR
   WARRANTIES, EXPRESS OR IMPLIED.  By way of example, but not
   limitation, the University of Southern California MAKES NO
   REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
   PARTICULAR PURPOSE. The University of Southern California shall not
   be held liable for any liability nor for any direct, indirect, or
   consequential damages with respect to any claim by the user or
   distributor of the ksu software.

======================================================================

      Copyright (C) 1995
      The President and Fellows of Harvard University

   This code is derived from software contributed to Harvard by Jeremy
   Rassen.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. All advertising materials mentioning features or use of this
      software must display the following acknowledgement:

         This product includes software developed by the University of
         California, Berkeley and its contributors.

   4. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

      Copyright (C) 2008 by the Massachusetts Institute of Technology.
      Copyright 1995 by Richard P. Basch.  All Rights Reserved.
      Copyright 1995 by Lehman Brothers, Inc.  All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of Richard P. Basch, Lehman Brothers and M.I.T. not be
   used in advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.  Richard P.
   Basch, Lehman Brothers and M.I.T. make no representations about the
   suitability of this software for any purpose.  It is provided "as
   is" without express or implied warranty.

======================================================================

The following notice applies to "src/lib/krb5/krb/strptime.c" and
"src/include/k5-queue.h".

      Copyright (C) 1997, 1998 The NetBSD Foundation, Inc.
      All rights reserved.

   This code was contributed to The NetBSD Foundation by Klaus Klein.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. All advertising materials mentioning features or use of this
      software must display the following acknowledgement:

         This product includes software developed by the NetBSD
         Foundation, Inc. and its contributors.

   4. Neither the name of The NetBSD Foundation nor the names of
      its contributors may be used to endorse or promote products
      derived from this software without specific prior written
      permission.

   THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
   CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

======================================================================

The following notice applies to Unicode library files in
"src/lib/krb5/unicode":

      Copyright 1997, 1998, 1999 Computing Research Labs,
      New Mexico State University

   Permission is hereby granted, free of charge, to any person
   obtaining a copy of this software and associated documentation
   files (the "Software"), to deal in the Software without
   restriction, including without limitation the rights to use, copy,
   modify, merge, publish, distribute, sublicense, and/or sell copies
   of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:

   The above copyright notice and this permission notice shall be
   included in all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   NONINFRINGEMENT.  IN NO EVENT SHALL THE COMPUTING RESEARCH LAB OR
   NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY CLAIM, DAMAGES OR
   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
   OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
   OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

======================================================================

The following notice applies to "src/util/support/strlcpy.c":

   Copyright (C) 1998 Todd C. Miller "Todd.Miller@courtesan.com"

   Permission to use, copy, modify, and distribute this software for
   any purpose with or without fee is hereby granted, provided that
   the above copyright notice and this permission notice appear in all
   copies.

   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
   AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
   OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

======================================================================

The following notice applies to "src/util/profile/argv_parse.c" and
"src/util/profile/argv_parse.h":

   Copyright 1999 by Theodore Ts'o.

   Permission to use, copy, modify, and distribute this software for
   any purpose with or without fee is hereby granted, provided that
   the above copyright notice and this permission notice appear in all
   copies.  THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (THE
   AUTHOR) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
   INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
   NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
   INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
   RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
   OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
   IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  (Isn't
   it sick that the U.S. culture of lawsuit-happy lawyers requires
   this kind of disclaimer?)

======================================================================

The following notice applies to SWIG-generated code in
"src/util/profile/profile_tcl.c":

   Copyright (C) 1999-2000, The University of Chicago

   This file may be freely redistributed without license or fee
   provided this copyright message remains intact.

======================================================================

The following notice applies to portiions of "src/lib/rpc" and
"src/include/gssrpc":

   Copyright (C) 2000 The Regents of the University of Michigan. All
   rights reserved.

   Copyright (C) 2000 Dug Song "dugsong@UMICH.EDU". All rights
   reserved, all wrongs reversed.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of the University nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
   OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGE.

======================================================================

Implementations of the MD4 algorithm are subject to the following
notice:

   Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.

   License to copy and use this software is granted provided that it
   is identified as the "RSA Data Security, Inc. MD4 Message Digest
   Algorithm" in all material mentioning or referencing this software
   or this function.

   License is also granted to make and use derivative works provided
   that such works are identified as "derived from the RSA Data
   Security, Inc. MD4 Message Digest Algorithm" in all material
   mentioning or referencing the derived work.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose.  It is provided "as is"
   without express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

Implementations of the MD5 algorithm are subject to the following
notice:

   Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.

   License to copy and use this software is granted provided that it
   is identified as the "RSA Data Security, Inc. MD5 Message- Digest
   Algorithm" in all material mentioning or referencing this software
   or this function.

   License is also granted to make and use derivative works provided
   that such works are identified as "derived from the RSA Data
   Security, Inc. MD5 Message-Digest Algorithm" in all material
   mentioning or referencing the derived work.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose.  It is provided "as is"
   without express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

The following notice applies to
"src/lib/crypto/crypto_tests/t_mddriver.c":

   Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
   rights reserved.

   RSA Data Security, Inc. makes no representations concerning either
   the merchantability of this software or the suitability of this
   software for any particular purpose. It is provided "as is" without
   express or implied warranty of any kind.

   These notices must be retained in any copies of any part of this
   documentation and/or software.

======================================================================

Portions of "src/lib/krb5" are subject to the following notice:

      Copyright (C) 1994 CyberSAFE Corporation.
      Copyright 1990,1991,2007,2008 by the Massachusetts
      Institute of Technology.
      All Rights Reserved.

      Export of this software from the United States of America may
      require a specific license from the United States Government. It
      is the responsibility of any person or organization
      contemplating export to obtain such a license before exporting.

   WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
   distribute this software and its documentation for any purpose and
   without fee is hereby granted, provided that the above copyright
   notice appear in all copies and that both that copyright notice and
   this permission notice appear in supporting documentation, and that
   the name of M.I.T. not be used in advertising or publicity
   pertaining to distribution of the software without specific,
   written prior permission.  Furthermore if you modify this software
   you must label your software as modified software and not
   distribute it in such a fashion that it might be confused with the
   original M.I.T. software. Neither M.I.T., the Open Computing
   Security Group, nor CyberSAFE Corporation make any representations
   about the suitability of this software for any purpose.  It is
   provided "as is" without express or implied warranty.

======================================================================

Portions contributed by PADL Software are subject to the following
license:

   Copyright (c) 2011, PADL Software Pty Ltd. All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   1. Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.

   2. Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

   3. Neither the name of PADL Software nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL PADL SOFTWARE
   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.

======================================================================

The bundled libev source code is subject to the following license:

   All files in libev are Copyright (C)2007,2008,2009 Marc Alexander
   Lehmann.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

   Alternatively, the contents of this package may be used under the
   terms of the GNU General Public License ("GPL") version 2 or any
   later version, in which case the provisions of the GPL are
   applicable instead of the above. If you wish to allow the use of
   your version of this package only under the terms of the GPL and
   not to allow others to use your version of this file under the BSD
   license, indicate your decision by deleting the provisions above
   and replace them with the notice and other provisions required by
   the GPL in this and the other files of this package. If you do not
   delete the provisions above, a recipient may use your version of
   this file under either the BSD or the GPL.

======================================================================

Files copied from the Intel AESNI Sample Library are subject to the
following license:

   Copyright (C) 2010, Intel Corporation All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

      * Redistributions of source code must retain the above
        copyright notice, this list of conditions and the following
        disclaimer.

      * Redistributions in binary form must reproduce the above
        copyright notice, this list of conditions and the following
        disclaimer in the documentation and/or other materials
        provided with the distribution.

      * Neither the name of Intel Corporation nor the names of its
        contributors may be used to endorse or promote products
        derived from this software without specific prior written
        permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The following notice applies to
"src/ccapi/common/win/OldCC/autolock.hxx":

   Copyright (C) 1998 by Danilo Almeida.  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   * Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials provided
     with the distribution.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   OF THE POSSIBILITY OF SUCH DAMAGE.

======================================================================

The following notice applies to portions of
"src/plugins/preauth/spake/edwards25519.c" and
"src/plugins/preauth/spake/edwards25519_tables.h":

The MIT License (MIT)

Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS
file).

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

======================================================================

The following notice applies to portions of
"src/plugins/preauth/spake/edwards25519.c":

Copyright (c) 2015-2016, Google Inc.

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all
copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
share/doc/alt-krb5-libs/README000064400000037401150403633750011656 0ustar00                   Kerberos Version 5, Release 1.17

                            Release Notes
                        The MIT Kerberos Team

Copyright and Other Notices
---------------------------

Copyright (C) 1985-2019 by the Massachusetts Institute of Technology
and its contributors.  All rights reserved.

Please see the file named NOTICE for additional notices.

Documentation
-------------

Unified documentation for Kerberos V5 is available in both HTML and
PDF formats.  The table of contents of the HTML format documentation
is at doc/html/index.html, and the PDF format documentation is in the
doc/pdf directory.

Additionally, you may find copies of the HTML format documentation
online at

    http://web.mit.edu/kerberos/krb5-latest/doc/

for the most recent supported release, or at

    http://web.mit.edu/kerberos/krb5-devel/doc/

for the release under development.

More information about Kerberos may be found at

    http://web.mit.edu/kerberos/

and at the MIT Kerberos Consortium web site

    http://kerberos.org/

Building and Installing Kerberos 5
----------------------------------

Build documentation is in doc/html/build/index.html or
doc/pdf/build.pdf.

The installation guide is in doc/html/admin/install.html or
doc/pdf/install.pdf.

If you are attempting to build under Windows, please see the
src/windows/README file.

Reporting Bugs
--------------

Please report any problems/bugs/comments by sending email to
krb5-bugs@mit.edu.

You may view bug reports by visiting

http://krbdev.mit.edu/rt/

and using the "Guest Login" button.  Please note that the web
interface to our bug database is read-only for guests, and the primary
way to interact with our bug database is via email.

DES transition
--------------

The Data Encryption Standard (DES) is widely recognized as weak.  The
krb5-1.7 release contains measures to encourage sites to migrate away
from using single-DES cryptosystems.  Among these is a configuration
variable that enables "weak" enctypes, which defaults to "false"
beginning with krb5-1.8.

Major changes in 1.17 (2019-01-08)
----------------------------------

Administrator experience:

* A new Kerberos database module using the Lightning Memory-Mapped
  Database library (LMDB) has been added.  The LMDB KDB module should
  be more performant and more robust than the DB2 module, and may
  become the default module for new databases in a future release.

* "kdb5_util dump" will no longer dump policy entries when specific
  principal names are requested.

Developer experience:

* The new krb5_get_etype_info() API can be used to retrieve enctype,
  salt, and string-to-key parameters from the KDC for a client
  principal.

* The new GSS_KRB5_NT_ENTERPRISE_NAME name type allows enterprise
  principal names to be used with GSS-API functions.

* KDC and kadmind modules which call com_err() will now write to the
  log file in a format more consistent with other log messages.

* Programs which use large numbers of memory credential caches should
  perform better.

Protocol evolution:

* The SPAKE pre-authentication mechanism is now supported.  This
  mechanism protects against password dictionary attacks without
  requiring any additional infrastructure such as certificates.  SPAKE
  is enabled by default on clients, but must be manually enabled on
  the KDC for this release.

* PKINIT freshness tokens are now supported.  Freshness tokens can
  protect against scenarios where an attacker uses temporary access to
  a smart card to generate authentication requests for the future.

* Password change operations now prefer TCP over UDP, to avoid
  spurious error messages about replays when a response packet is
  dropped.

* The KDC now supports cross-realm S4U2Self requests when used with a
  third-party KDB module such as Samba's.  The client code for
  cross-realm S4U2Self requests is also now more robust.

User experience:

* The new ktutil addent -f flag can be used to fetch salt information
  from the KDC for password-based keys.

* The new kdestroy -p option can be used to destroy a credential cache
  within a collection by client principal name.

* The Kerberos man page has been restored, and documents the
  environment variables that affect programs using the Kerberos
  library.

Code quality:

* Python test scripts now use Python 3.

* Python test scripts now display markers in verbose output, making it
  easier to find where a failure occurred within the scripts.

* The Windows build system has been simplified and updated to work
  with more recent versions of Visual Studio.  A large volume of
  unused Windows-specific code has been removed.  Visual Studio 2013
  or later is now required.

krb5-1.17 changes by ticket ID
------------------------------

7905    Password changes can result in replay error
8202    memory ccache cursors are invalidated by initialize
8270    No logging when a non-root ksu with command fails authorization
8587    ktutil addent should be able to fetch etype-info2 for principal
8629    etype-info not included in hint list for REQUIRES_HW_AUTH principals
8630    Logging from KDC/kadmind plugin modules
8634    Trace log on k5tls load failure
8635    Fix a few German translation prepositions
8636    PKINIT certid option cannot handle leading zero
8641    Make public headers work with gcc -Wundef
8642    etype-info conflated for initial, final reply key enctype
8647    Add SPAKE preauth support
8648    Implement PKINIT freshness tokens
8650    Exit with status 0 from kadmind
8651    profile library may try to reread from special device files
8652    Report extended errors in kinit -k -t KDB:
8653    Include preauth name in trace output if possible
8654    Prevent fallback from SPAKE to encrypted timestamp
8655    Need per-realm client configuration to deny encrypted timestamp
8657    SPAKE support for Windows build
8659    SPAKE client asks for password before checking second-factor support
8661    ksu segfaults when argc == 0
8662    Windows README does not document MFC requirement
8663    TLS is not free on library unload
8664    Avoid simultaneous KDB/ulog locks in ulog_replay
8665    Display more extended errors in kdb5_util
8673    Improve error for kadmind -proponly without iprop
8674    Add LMDB KDB module
8677    Escape curly braces in def-check.pl regexes
8678    Don't specify MFC library in Leash build
8679    Fix Leash build error with recent Visual Studio
8680    Update kfw installer for VS2017, WiX 3.11.1
8682    Stop building CNS for Windows
8684    Fix option parsing on Windows
8685    Make plugin auto-registration work on Windows
8686    Process profile includedir in sorted order
8687    Repeated lookups of local computer name on Windows
8689    t_path.c build failure with NDEBUG
8690    Fix Windows strerror_r() implementation
8691    Use pkg.m4 macros
8692    Make docs build python3-compatible
8693    Resource leak in domain_fallback_realm()
8694    Add documentation on dictionary attacks
8695    Resource leak in krb5_524_conv_principal()
8696    Resource leak in krb5_425_conv_principal()
8697    Resource leak in krb5_gss_inquire_cred()
8698    Resource leak in aname_replacer()
8699    Resource leak in k5_os_hostaddr()
8700    Resource leak in krb5int_get_fq_local_hostname()
8702    Resource leak in kdb5_purge_mkeys()
8703    Resource leak in RPC UDP cache code
8704    Resource leak in read_secret_file()
8707    Resource leak in ulog_map()
8708    Incorrect error handling in OTP plugin
8709    Explicitly look for python2 in configure.in
8710    Convert Python tests to Python 3
8711    Use SHA-256 instead of MD5 for audit ticket IDs
8713    Zap copy of secret in RC4 string-to-key
8715    Make krb5kdc -p affect TCP ports
8716    Remove outdated note in krb5kdc man page
8718    krb5_get_credentials incorrectly matches user to user ticket
8719    Extend gss-sample timeout from 10s to 300s
8720    Don't include all MEMORY ccaches in collection
8721    Don't tag S4U2Proxy result creds as user-to-user
8722    Use a hash table for MEMORY ccache resolution
8723    Use PTHREAD_CFLAGS when testing for getpwnam_r()
8724    Add kdestroy -p option
8725    Update many documentation links to https
8726    Null deref on some invalid PKINIT identities
8727    Check strdup return in kadm5_get_config_params()
8728    doc: kswitch manual "see also" subsection typo
8729    Memory leak in gss_add_cred() creation case
8730    Add kvno option for user-to-user
8731    Document that DESTDIR must be an absolute path
8732    Fix name of .pdb file in ccapi/test/Makefile.in
8733    Multiple pkinit_identities semantics are unclear and perhaps not useful
8734    gss_add_cred() aliases memory when creating extended cred
8736    Check mech cred in gss_inquire_cred_by_mech()
8737    gss_add_cred() ignores desired_name if creating a new credential
8738    Use the term "replica KDC" in source and docs
8741    S4U2Self client code fails with no default realm
8742    Use "replica" in iprop settings
8743    Fix incorrect TRACE usages to use {str}
8744    KDC/kadmind may not follow master key change before purge_mkeys
8745    libss without readline can interfere with reading passwords
8746    Fix 64-bit Windows socket write error handling
8747    Allow referrals for cross-realm S4U2Self requests
8748    Add more constraints to S4U2Self processing
8749    Add PAC APIs which can include a client realm
8750    Resource leak in ktutil_add()
8751    Fix up kdb5_util documentation
8752    Don't dump policies if principals are specified
8753    Prevent SIGPIPE from socket writes on UNIX-likes
8754    Correct kpasswd_server description in krb5.conf(5)
8755    Bring back general kerberos man page
8756    Add GSS_KRB5_NT_ENTERPRISE_NAME name type
8757    Start S4U2Self realm lookup at server realm
8759    Resource leak in kadm5_randkey_principal_3()
8760    Retry KCM writes once on remote hangup
8762    Fix spelling of auth_to_local example
8763    Ignore password attributes for S4U2Self requests
8767    Remove incorrect KDC assertion
8768    Fix double-close in ksu get_authorized_princ_names
8769    Fix build issues with Solaris native compiler

Acknowledgements
----------------

Past Sponsors of the MIT Kerberos Consortium:

    Apple
    Carnegie Mellon University
    Centrify Corporation
    Columbia University
    Cornell University
    The Department of Defense of the United States of America (DoD)
    Fidelity Investments
    Google
    Iowa State University
    MIT
    Michigan State University
    Microsoft
    MITRE Corporation
    Morgan-Stanley
    The National Aeronautics and Space Administration
        of the United States of America (NASA)
    Network Appliance (NetApp)
    Nippon Telephone and Telegraph (NTT)
    US Government Office of the National Coordinator for Health
        Information Technology (ONC)
    Oracle
    Pennsylvania State University
    Red Hat
    Stanford University
    TeamF1, Inc.
    The University of Alaska
    The University of Michigan
    The University of Pennsylvania

Past and present members of the Kerberos Team at MIT:

    Danilo Almeida
    Jeffrey Altman
    Justin Anderson
    Richard Basch
    Mitch Berger
    Jay Berkenbilt
    Andrew Boardman
    Bill Bryant
    Steve Buckley
    Joe Calzaretta
    John Carr
    Mark Colan
    Don Davis
    Sarah Day
    Alexandra Ellwood
    Carlos Garay
    Dan Geer
    Nancy Gilman
    Matt Hancher
    Thomas Hardjono
    Sam Hartman
    Paul Hill
    Marc Horowitz
    Eva Jacobus
    Miroslav Jurisic
    Barry Jaspan
    Benjamin Kaduk
    Geoffrey King
    Kevin Koch
    John Kohl
    HaoQi Li
    Jonathan Lin
    Peter Litwack
    Scott McGuire
    Steve Miller
    Kevin Mitchell
    Cliff Neuman
    Paul Park
    Ezra Peisach
    Chris Provenzano
    Ken Raeburn
    Jon Rochlis
    Jeff Schiller
    Jen Selby
    Robert Silk
    Bill Sommerfeld
    Jennifer Steiner
    Ralph Swick
    Brad Thompson
    Harry Tsai
    Zhanna Tsitkova
    Ted Ts'o
    Marshall Vale
    Taylor Yu

The following external contributors have provided code, patches, bug
reports, suggestions, and valuable resources:

    Ian Abbott
    Brandon Allbery
    Russell Allbery
    Brian Almeida
    Michael B Allen
    Pooja Anil
    Heinz-Ado Arnolds
    Derek Atkins
    Mark Bannister
    David Bantz
    Alex Baule
    David Benjamin
    Thomas Bernard
    Adam Bernstein
    Arlene Berry
    Jeff Blaine
    Radoslav Bodo
    Sumit Bose
    Emmanuel Bouillon
    Isaac Boukris
    Philip Brown
    Samuel Cabrero
    Michael Calmer
    Andrea Campi
    Julien Chaffraix
    Puran Chand
    Ravi Channavajhala
    Srinivas Cheruku
    Leonardo Chiquitto
    Seemant Choudhary
    Howard Chu
    Andrea Cirulli
    Christopher D. Clausen
    Kevin Coffman
    Simon Cooper
    Sylvain Cortes
    Ian Crowther
    Arran Cudbard-Bell
    Jeff D'Angelo
    Nalin Dahyabhai
    Mark Davies
    Dennis Davis
    Alex Dehnert
    Mark Deneen
    Günther Deschner
    John Devitofranceschi
    Marc Dionne
    Roland Dowdeswell
    Dorian Ducournau
    Viktor Dukhovni
    Jason Edgecombe
    Mark Eichin
    Shawn M. Emery
    Douglas E. Engert
    Peter Eriksson
    Juha Erkkilä
    Gilles Espinasse
    Ronni Feldt
    Bill Fellows
    JC Ferguson
    Remi Ferrand
    Paul Fertser
    Fabiano Fidêncio
    William Fiveash
    Jacques Florent
    Ákos Frohner
    Sebastian Galiano
    Marcus Granado
    Dylan Gray
    Scott Grizzard
    Helmut Grohne
    Steve Grubb
    Philip Guenther
    Timo Gurr
    Dominic Hargreaves
    Robbie Harwood
    John Hascall
    Jakob Haufe
    Matthieu Hautreux
    Jochen Hein
    Paul B. Henson
    Jeff Hodges
    Christopher Hogan
    Love Hörnquist Åstrand
    Ken Hornstein
    Henry B. Hotz
    Luke Howard
    Jakub Hrozek
    Shumon Huque
    Jeffrey Hutzelman
    Sergey Ilinykh
    Wyllys Ingersoll
    Holger Isenberg
    Spencer Jackson
    Diogenes S. Jesus
    Pavel Jindra
    Brian Johannesmeyer
    Joel Johnson
    Alexander Karaivanov
    Anders Kaseorg
    Bar Katz
    Zentaro Kavanagh
    Mubashir Kazia
    W. Trevor King
    Patrik Kis
    Martin Kittel
    Matthew Krupcale
    Mikkel Kruse
    Reinhard Kugler
    Tomas Kuthan
    Pierre Labastie
    Chris Leick
    Volker Lendecke
    Jan iankko Lieskovsky
    Todd Lipcon
    Oliver Loch
    Chris Long
    Kevin Longfellow
    Frank Lonigro
    Jon Looney
    Nuno Lopes
    Todd Lubin
    Ryan Lynch
    Roland Mainz
    Sorin Manolache
    Andrei Maslennikov
    Michael Mattioli
    Nathaniel McCallum
    Greg McClement
    Cameron Meadors
    Alexey Melnikov
    Franklyn Mendez
    Markus Moeller
    Kyle Moffett
    Paul Moore
    Keiichi Mori
    Michael Morony
    Zbysek Mraz
    Edward Murrell
    Nikos Nikoleris
    Felipe Ortega
    Michael Osipov
    Andrej Ota
    Dmitri Pal
    Javier Palacios
    Tom Parker
    Ezra Peisach
    Alejandro Perez
    Zoran Pericic
    W. Michael Petullo
    Mark Phalan
    Sharwan Ram
    Brett Randall
    Jonathan Reams
    Jonathan Reed
    Robert Relyea
    Tony Reix
    Martin Rex
    Pat Riehecky
    Jason Rogers
    Matt Rogers
    Nate Rosenblum
    Solly Ross
    Mike Roszkowski
    Guillaume Rousse
    Joshua Schaeffer
    Andreas Schneider
    Paul Seyfert
    Tom Shaw
    Jim Shi
    Peter Shoults
    Richard Silverman
    Cel Skeggs
    Simo Sorce
    Michael Spang
    Michael Ströder
    Bjørn Tore Sund
    Joe Travaglini
    Tim Uglow
    Rathor Vipin
    Denis Vlasenko
    Jorgen Wahlsten
    Stef Walter
    Max (Weijun) Wang
    John Washington
    Stef Walter
    Xi Wang
    Nehal J Wani
    Kevin Wasserman
    Margaret Wasserman
    Marcus Watts
    Andreas Wiese
    Simon Wilkinson
    Nicolas Williams
    Ross Wilper
    Augustin Wolf
    David Woodhouse
    Tsu-Phong Wu
    Xu Qiang
    Neng Xue
    Zhaomo Yang
    Nickolai Zeldovich
    Bean Zhang
    Hanz van Zijst
    Gertjan Zwartjes

The above is not an exhaustive list; many others have contributed in
various ways to the MIT Kerberos development effort over the years.
Other acknowledgments (for bug reports and patches) are in the
doc/CHANGES file.
share/locale/de/LC_MESSAGES/mit-krb5.mo000064400000605313150403633750013267 0ustar00��8�9�	�s(�)�G�e�2����3֚#
�.�A�Z�f�z�	������͛���"�6�O�h�{�����
��Ŝ������|��:�#��0��+4�`�(r�����
áΡۡ)��!�.�I�`� {�&��â�(�0�M�c�
s�*������ʣ����!�
@�N�[�o�������̤����&�=�
V�d�y�������ץ���4�0H�+y�'��ͦߦ� ���5��M�%�@�Z�+u�G��8�"�@@�A��"é�-�*.�Y�k�p�������٪���7:�r�������"Ϋ���"6�Y�v���'��ǬԬ��,�J�-\�)����˭-��2.�?a��� ��!ڮm��:j�"��!ȯB�%-�:S�2��)���!�($�M�=h�#��ʱ���+�C�Z�w�"����!ɲ �!�$.�S�+f�����dz!ܳ'��&�@�[�%l�B��%մ*�� &�>G���)��+ε0��0+�)\�8��A����8�I�	\�f������ŷ)�.�)>�(h�%����Ҹ���0�(I�r�,��/��0�B�*]�4�� ��޺
���������=��Ҽ�d�p��j���!��(Ⱦ-�)�I�)d� ����+��#��/�!E�1g���.��
�2�<'�,d�'����&���9�*.�Y�%p�!����*��.��.�#K�1o�&��7��'�;(�>d�F����*	�*4�'_�"����'��(����47�:l�/��.��C�=J�������"��/��$�B�!^�������������
�!-�"O�r�!��)��$��+�./�*^�3��*��0��,�*F�1q�*��,��2��+.�(Z�1��-��)��6
�2D�(w�.��,��4��.1�0`�1��)��4��'"�&J�&q�+��+��,��*�0H�2y�.��+��%�0-�-^�(��1��,��*�,?�(l�'��)��!��&	�(0�*Y�/��-��*��6
�'D�l���5����6��)�42�%g�!��O��U��U�2t���+��*��&� E�f��"������+��<)�f�1��!��'��*�%,�R�m�&��)��%���4�R�/r�#�� ��#���()�CR�)��&��"��%
�%0�(V��'����+��<��::�9u�B����&�/�!H�#j�.��4����!�()�&R�$y�)��)��$���1�*K�v�%����&����&�.2�6a�%����!��!��G�1_���(��$��$��7�O�X�v�#��'��"��*��'�@�]�#x�����$��6��,5�;b������� ��+�*A�%l�(��'��-��(�:�/V���������0���%0�!V�x�-��%��6��*#�N�m���&����*����!1�S�h�����G��-��4�"P�"s�	��'��"�����/� N�o����������� �%�;�J�!]� ���<��L��F�L�c�#��#�� ����� #� D�!e� ��8��#��*�0�N�l���"����>��P!�[r�;��
��07�h�}�&��C��+��1)� [�|�-����&��/
�:�)C�	m�$w�#����'����:�W�,t������!���4�M�i���0������"� )�:J�"��#��6�7�;�V�j���.��/�.��)'�-Q�)���(����)0�$Z� �(��)�5�)�C�@V�%�� ��+�^
�$i�2��(��$�1�5A� w�*��0�	�7��6�&T�{�������!�(�,�I� g���8���*��":V+k��#��,'Th
���3�/1$Jo"|$�&�"�%!4Vhx!�$���"6J^r�������&:Nbv������)<Obu�������
 3FYl���4�	%
'0,X"�$�$�)�	.	)M	&w	 �	'�	�	
&
B
\
o
�
-�
�
�
%*P:m!�'��*$O j��#���
'#
'K

s
,�
P�
M�
M%m�"���.Fb~����2�1"T,l2���&<!\:~'�$�,38P��"�
�Y��6E�3= q���!���(-?m��4�*�'QD+�5��$!F&X3�6�519k'~(�+�1�-2K~�0�"�!<
O
]kr���!��,5
D)R$|"���!�;Rq��'�$�0'L$t%�'�(�CLT)����! &" I Y i � �� d!{!�!�!2�!�!*	"*4"_"q"�"�"�"/�"/�"&'#N#d#%�#(�#;�#$ $6$&P$4w$"�$ �$)�$%%@%]%w%�%�%�%
�%�%�%&& &G&`&z&�& �&�&&�&'7'5P'"�'.�'�'3�'9%("_("�(�(B�(P�(,H)&u)'�))�)"�)+*!=*)_*/�*+�*�*#�*-#+Q+n+�+�+�++�+0,4,$O,t,
�,�,�,2�,-0-2K-3~-!�-$�-7�-'1.Y.9v.�.�.�.O/UR/H�/R�/RD0=�0?�031FI1[�1]�15J2-�2-�2*�2(3'03/X3'�3+�3(�34#4=4Q4,d4*�4*�4�4&5"-5P5\5#|5(�5�5%�5&�55#6;Y6)�69�6&�6. 7O7`7z7�77�7B�7,848S8g8 �8A�8D�8;.90j9�9�9(�9)�9)�99(:4b:�:�:$�:�:/;B;(W;%�;+�;#�;�;?<4N<7�<(�<7�<\=yy=b�=cV>1�>?�>9,?"f?%�?'�?/�?"@9*@Bd@�@-�@'�@6ALAjA7�A�A�A(�A #BDB+aB�B�B�B#�B�BC C$<CaCwC�C�C�C;�C 
D"+DAND&�D*�D�D�D+ECE$cE.�E[�EF/F!CFeF zFH�F8�FfG!�G�G�G�G�G"H'1HYHyH%�HA�H$�H	I!#I3EIyI+�I"�I.�IJ')J%QJ
wJ�J�J�J�J$�JTKL[K��LCM)bM%�M�N�Rg�TZUEzU�U�U�UV2&VYVkV�V�V �V$�V�VWAWXQWX�WJXKNX=�X$�X9�X7YK?Y^�Y3�Y5Z>TZ$�Z&�Z2�Z([;["O[Nr[1�[�[\%\I8\9�\7�\+�\ ](],/]!\]~]"�])�]-�]"^"8^7[^�^8�^!�^(_$7_"\_'_?�_5�_`":`
]`+k`�`�`�`�`�` a3aSa ka �a'�a�a2�a1b#Lb$pb(�b%�b�b2�b#)c#Mc,qc�c�c�c�c!�c
d2)d\d?ld%�d"�d"�de+eHeZeze�e�e�e�e�e�e+f./f'^f�f4�f�f	�f&�f%g2>g*qg"�g�g1�g2h6h%Ih&oh�h'�h!�h�h,i,Kixi6�i�i�i�ij-jEjcj/wj/�j=�j$k:kUkoktk�k�k�k�k.�kl*lHlfl&�l5�l&�l
m(m*Dm,om-�m,�m�m n1nHn![n[}n�n�no#,oPo6co�o�o$�o&�op6/pfp�pN�p�p7�p2qEq4cq�q#�q#�q5�qH-rvr,�r�r�r�r3�r$s1sFsZszs
�s�s�s�s�s.�s# t#Dtht&~t�t
�t �t�tu
u)uDAu�u�u�u�u�u�u-�uv4vKv$`v0�v0�v/�vw6wNwDmwJ�w�wx#x3xOxcxvx*�x
�x=�x+y=3yqz)�zW�z 
{%+{+Q{!}{"�{(�{#�{|!|,?|@l|=�|&�|}.}E}X},x}+�}�}�}~~/~8~ S~$t~�~-�~�~�~1!M'o3����2�(J�"s�*��6��*��#�B�$`��� ��!�����"�"2�U�#t���!��2҂�#"�)F�p�������Ӄ��##�%G�m�����Ä�%��%�D�\�t�����Ņ ���6�S�o���$��Ć"��( �'I�)q�����,ׇ�#� ;�\�w�����ƈ�.��$-�R�j�������׉ �)�,=�j� ���� ��
ۊ&�/�@�U�s�/����+Ӌ#��"#� F�g���#��Ì�!��!�"@�c�"}���%��#��#�A�\�o�����)��%� �-�D�(`�!����Ǐߏ���">�a�'|�!��Ɛ"��/(�X�v�����ӑ$�
�&+�!R�"t�-��#Œ+�'�=�V�)l�����ѓ����!+�"M�p�!��'��є$�"�6� V�w��� �� ȕ����4�T�"q�"��%��ݖ,��$*�(O�'x�,��͗ ��&�&?�f�*����ʘ � �#�"C�*f�����˙��"�#:�%^�"������'Ԛ���-�)J�t���!��)Ǜ#��,�J�h�����:�����!*�%L�"r�!��+���$��$�<�!V�)x���#��$ߞ �!%�!G�#i�%��(��ܟ��� -�0N��"����Π�:��#5�Y�1w���$ǡ+� �#9�0]�)����Т���!1�S�k�������ϣ��%�D�`�"}�6��7פ6�/F�9v���!˥���!1�S�m� ������
Ҧ?ݦ��#��;ب�71�%i�H��<ة�#)�M�+`�(��	��&�����)�F�^�q����� ��ܫ����*�0�����6İB�� >�<_���3����
�*�-6�1d�����ɲ$�-	�?7�$w���B��Z�#M� q���8��ܴ�&��"�5�U�4d�������ʵ���2�J�g�~�����Ӷ���;�#T�%x� ��#��(��?'�;g�3��׸���-"�#P�t���*��(Ϻ(��-!�gO�T���Y+�e��'�0�PD�?��ս�)��$7�/\�)��
��!ľ)�?�+P�|�!����.̿��
�''�1O� ��"���,���"�+6� b�;����8�)�2<�o�C��*��J��^C�����"�����M�'��?���5�<'�]d�H��@�'L�,t�2��)��L��0K�!|�(����!���%� ?�`�1o�$��1��K��@D�B��#��B��'/�$W�|�&��5��!��"�;�'L�Ut�=��7�,@�Nm���2��J�<Y�<��/��?�GC�!�� ���������%�*4�_�#�8��A��8�.W�$����,�����3�$C�1h�%��=��A��D@�S��;��]�+s��������������x��e��H���'��&��!�61�0h�0����.��#�8�3P�"������"��B��>�>[���3��E��,'�.T���-����N��)"�L�7b�F��$��2�C9�&}�,��D��7�CN�-��M��L�X[�4��N��J8�/��0��
��7��6'�^�!r�A��B��<�0V�H��F���"0�+S�-�C��*��,�.I�x�/��(��+��&�-B�p�'��'��%��'��7"�.Z�0��3��/��8�/W�5��1��0��6 �/W�6��7��0��-'�6U�2��.��;��7*�-b�3��1��9��40�5e�5��.��9�1:�0l�0��0��0��60�/g�5��7��3�09�+j�6��2��-�6.�1e�/��1��-��-'�/U�'��,��.��/	�49�2n�0��<��)�19�$k�=����`��N�BW�7��?�~����>�P[�2��A�E!�=g�C��(�G�?Z�8��.�N�_Q�>��V�2G�5z�>��7�0'�*X�=��?��3�/5�ae�-�?��@5�2v�7��6�N�lg�D�:DTA�1�P
$^9�"�B�Q#NuL�^0p=�9�G=a7�9�&(,O.|)�.�1(6_<��/�#BB+�3�P�N6*��'�+�_	1	�	/�	)�	/
=M
�
1�
&�
4�
E&3lD�&�+(80a4�-�5�V+
;�
Q�
)%:3`)�;�?�7:Br0�7�.,MDz#���-5Aw%�#��S�5QP�*�+/M)f�-���-:4Z�	�T�JJV*�0��/+5%a�H�%�"%+/Q#�8��2�/!Q!j1�*�3�Wsu�"�#(7(`%�!��4�*&-Q)L�0�9''a(���9�*(LSq�jE}��A�8I.eS�2�@ '\ $� F� *� ;!JW!�!+�!�!/�!1"?I"^�"5�"8#?W#>�#Q�#8($ a$!�$/�$�$;�$A/%*q%�%@�%)�%"&!;&-]&4�&[�&4'&Q'Bx'A�',�'*(H((e(2�(3�(6�(2,)=_),�)�))�)*0*H*2Z*&�*$�*<�*=+DT+�+!�+R�+/(,'X,@�,��,<E-G�-,�-0�-8(.Ia.+�.:�.2/
E/DP/!�/2�/�/0#0):0d08�03�0�0 
1..1L]1�19�1!�1*!2L28g2�2�2$�2 �23763n3�3�3�3*�3�3:
4/H4 x4(�4�4-�4,�42)5(\5+�5)�5�5�5(6,56+b6(�6�6�6�6�677/7C7W7k77�7�7�7�7�7�78838G8[8o8�8�8�8�8�8�8�89929E9X9k9~9�9�9�9�9�9�9::):<:O:b:u:?�:	�:6�:8	;CB;)�;4�;3�;$<><(Q<.z<*�<!�<5�<,=H=)b=4�="�=$�=4	>B>>(�>-�>)�>-?&0?RW?2�?=�?@7;@4s@�@ �@�@A*AJA _A!�A0�A3�A
B9BoOBl�B,,C+YC%�C)�C%�C#�CD?:D"zD(�D�D�DE!EAEA\E@�E�EA�E0AFrF"�F�F�F:�F+ G?LG*�G'�GT�G-4HRbH�H�H3�HIbJ�{JTqKE�K.L;LSL_L&xL�L�L2�LBM&QM!xM*�ME�M;N(GN|pN@�N;.OjO6vOA�O)�O:P$TPMyPK�POQHcQ�Q=�Q<RE@RD�R(�RP�RES`SCS-�S�STT4TOTcTtT|T*�T�T(�T0�T-UVHU �U�U7�U7V+IV uV$�V.�V �VW-'W-UW-�W,�W:�WX.8X!gX�X#�X!�X&�XWYWmY8�Y �YZ2Z/FZ2vZ�Z�Z�Z�Z�[$�[\\0\1E\w\0�\B�\]]8]N]_]Cw]4�]*�]^5^@M^3�^E�^_'_ @_7a_=�_)�_2`84`+m`$�`"�`�`�`(aAaUa!ga#�a!�a-�a�a"b!<b(^b,�b%�b'�bc-cVJc!�c*�c�c9dQBd+�d)�d�dX�deRe:�e;�eD/fJtfC�f6g.:g>igO�g)�g"h0?hNph(�h'�h)i:iZi>oia�i.j8?j&xj
�j"�j�jF�j"/kFRkA�kA�k7l=UlJ�l8�l.mMFm�m�m$�mr�m�gnv�n�qox�o[vpA�p5q]Jqb�q`r@lrL�r8�r83s0ls3�s<�s.tC=t3�t �t�t�tu9u2Xu4�u7�u9�u22vev2qv%�v8�vw/wB@wL�w?�w7x?Hx3�xP�x
y! yBy#YyH}yS�yzK"znz1�z/�zU�zZA{M�{J�{5|>|IE|(�|0�|G�|C1}u}-�}*�}�}B
~M~-b~(�~)�~&�~
U&?|?�,�I)�ls���eo�iՁ>?�Z~�Kق)%�0O�0��7��+�Q�Eg���;̄4�Y=�%����B݅ �&=�*d�-��)��6��0�/=�%m�$����/҇=�@�W�s�'����b͈00�8a�c��5��94�'n�)��G��*�?3�Gs�w��03�(d�,����3ڌM�;\�l��9�?�X�!v�+��)Ď$� �4�"L�qo�5�	�-!�LO�)��@Ɛ-�M5���9��/ۑ�3#�!W�(y�%��/ȒU���N���'��4Εp��t�-��>�yŞU?�*��!��,�2�VB�%��*���0�76�2n���	��R��`�jt�QߢQ1�f��,�H�`�[h��Ĥ6F�:}�G��5�26�Gi�8��,�=��U�Q�!7�Y�r�Y��?�;(�/d�	����/��'֩*��*)�?T�3��)Ȫ(�<�*X�O��?ӫ:�5N�1��+��M�C0� t�"����Aŭ&�1.�6`�0��-Ȯ;��72�-j�1��6ʯ<�$>�ac�\Ű#"�,F�9s�+��ٱ:�'-�GU�B���#���!2�.T���@��!�[�A^�B��3��!0�R�+j�����ʵ۵� �(!�;J�F��4Ͷ�2�+R�
~�<��EƷ:�IG� ����4Ǹ2��/�3C�1w�"��0̹7��'5�?]�9��#׺N��J�&[�(��!��ͻ!��&+�8R�T��%�"�)�G�S�f�'����#ǽ7�/#�/S�*��%��9Ծ?�0N�/�<��4�6!�7X�6��#� � �-�-A�wo�@�@(�Bi�6��(��M�,Z���1��0���R�"r���Y���J-� x�'��N�� �41�=f�;��f��G�>_�1������J��
<�J�h�5��$����.��#�8�P�5o�+��)����5�2P���'��������	�U%�{�����������+��$�C�^�8t�H��G��U>�1��$��0��]�Sz������"�:�S� i�-����K��,��H���+��b#�(��*��,�� �'(�)P�"z�����.��M��BL�-��!�������5+�:a�"��,��!��1�@�G�-g�0��6��:��%8�-^�'��#��,��:�?@�!��!����8��:�*U�8��P��+
�6�3V�(����(��(��#�A�=]�=��8��=�#P�&t�8����3��/'�W�t�����%��(���#9�2]���)��!��.��#$�.H�'w�����#��+��)�)I�#s���$��%�� �!�A�)^�/��*��,��/�+@�0l�#��'��2��'�D�6a�"��"��%��(�&-�T�2m�%������$��%�);�&e�&��2��3���:8�s�'��!��+��?��?�%]���0����/��&�&B�#i�����4��(�)�,H�"u�#��'��%��#
�0.�!_�&��%��'����
�#�(;�>d�-��%����!�/6�(f�$����'��(��+"�3N�!��3��'��#�2$�-W�;��1��#��/�%G�m�B��%��4��)%�.O�:~�)��,��+�+<�h�-��"��#�����!$�F�1_�1����'��6�*=�-h�6��$��$��&�>�)[�)������#��&
�&4�&[�(��A��8�-&�4T�0��+��-�'�!<�^�|�0��%�6�*�J�$c�%�� ��"�*�-�1K�}�'��:����:�.T�)�����6�$�'=�3e�)����7��61�$h�����$��"�+�KE���"���8�%-�S�3r� ��'��
�#*�2N�(��'��'�)��&$*K'v/�7�,,3#`)�:�'�);Qq<�1��1 O.p0�&�.�6&-]��2��96p+��!�$�8=5v;�8�A!%cE�F�L:cC�!�$	)	%H	n	(�	+�	5�	'
4
P
i
Tv
������������s�m�����BagI��q�Yz�����*A
�f���pOt�/3O�����O���`\�����/R��>�op����Q2�_Y/C������-WDJU����M���t�K�����������eD��[>+��H��l��3���#�
VeZM��4'I����y,"T���qp#y�g�N������?����h���S�&D�+v(] ""� � �
>Dz����_�����d��
������0�"B'�|l�<���}�bT�8���c�n ���b%��,x0/����3B}��S��!{���o�k�%�1!^��-'�	d{�d�[�@I9����#���7]G����� �kZzC)[�<�C�z�o(o�������x���s^�a��.�91"!a�����f�3[��QU���������L�+;W!���{�rP�
�����x��V�����F+�*��,`��m�&��6����W��A|�cD�w+��W�.�fj:_�=SGo=�b_��)��RB�~7-��p�4�0���Zf�a�q~�`nM�������a��m
i�u��6����'�4z����8�9�;GG�vJ����	t>	��6YtP��j�g�c�S/,�	Q4�q���=$�wUs�����[���C����z2�\6(Eg�he�k#� �-p���BuA.9c��7����bD��e8o
	���\j"?i�I�K(�$�,d���cH��Z/~�h�*�0�/��C�q�%3��`+�h��q�!�V��&-�]�PA;|<���T�v:�MH
*%.����O��6��1P����t�F����-��N�G�|5+���h:��X&��X����t��T�Li!�0��m��R
-���irXG�&&'�N����Hb;l^��������}��S�D�+����Y66nVFw9L���
s)�N������Y�y�i	'f�'o�}dK4����lJ9]�5��������6�`���|�,T���XLR2���E7����5�������c���H��1U�������&1U�&#����M�w�
�\��$Q����\�a����v�(�LK���E�km�1f(�$?����W�����$�C@t��r��}��I�F��V_{����?�L~<���X2�Wj	"5�y������0y�EJ�u�~�Z@��j���e��}M������gw���F�neV��kl�8���u!_�O�g��he���#����r@�25�8�u.���v��{GvA���N��,7���s�x]����K����x����l��d�3�z�)�w��!���u�S�8b�i@^���)���I;%�;�(����������������s/
X�%LcJW:?.�������[~�������������#��k�@ nn�����I������v�T�_�.���^�:*3C�Oxr�;*�4����3�\Yf%)E�����*�=,�:Y��pZE������A5�K�|��{R��������������S��E��P����*�Q^`�8���l�?n��T�jJU�	}���7���
H���9X��'��Z���p�y����(`<|���=q4�$>��NA������=�5�^a�]���1B���>���2�����
7�4���~�w�������N)��mi02�rk{U8�b�Fj��<�>y#?� FrH��R�u���h=�J�������"�����$-�0��P�)O[]��K�sx�dg�\���B�mVRQP7��@M�
�1����25�:�<�
��%����Q�$�.			-n do not reverse-resolve
		-K shows keytab entry keys
		-a displays the address list
		-d shows the submitted authorization data types
		-f shows credentials flags
		-s sets exit status based on valid tgt existence
		-t shows keytab entry timestamps
		Attribute flags
		Failed passwd attempt
		Key data
		Last failed auth
		Last successful auth
		Length
		Maximum renewable life
		Maximum ticket life
		Modification time
		Modified where
		Modifying principal
		Password expiration
		Password history
		Password history KVNO
		Password last changed
		Password policy
		Password policy switch
		Principal
		Principal expiration
		TL data
		[-lockoutduration time]
		[-maxlife time] [-minlife time] [-minlength length]
		[-minclasses number] [-history number]
		[-maxfailure number] [-failurecountinterval time]
		[-allowedkeysalts keysalts]
		[-randkey|-nokey] [-x db_princ_args]* [-expire expdate] [-pwexpire pwexpdate] [-maxlife maxtixlife]
		[-kvno kvno] [-policy policy] [-clearpolicy]
		[-pw password] [-maxrenewlife maxrenewlife]
		[-e keysaltlist]
		[{+|-}attribute]
		[-x db_princ_args]* [-expire expdate] [-pwexpire pwexpdate] [-maxlife maxtixlife]
		[-kvno kvno] [-policy policy] [-clearpolicy]
		[-maxrenewlife maxrenewlife] [-unlock] [{+|-}attribute]
		allow_postdated allow_forwardable allow_tgs_req allow_renewable
		allow_proxiable allow_dup_skey allow_tix requires_preauth
		requires_hwauth needchange allow_svr password_changing_service
		ok_as_delegate ok_to_auth_as_delegate no_auth_data_required

where,
	[-x db_princ_args]* - any number of database specific arguments.
			Look at each database documentation for supported arguments
	   (Default is credentials cache)
	-A destroy all credential caches in collection
	-A do not include addresses
	-A shows content of all credential caches
	-C canonicalize
	-E client is enterprise principal name
	-F not forwardable
	-P not proxiable
	-R renew
	-S service
	-T armor credential cache
	-V shows the Kerberos version and exits
	-V verbose
	-X <attribute>[=<value>]
	-a include addresses
	-c Kerberos 5 cache name
	-c specifies credentials cache
	-c specify name of credentials cache
	-e shows the encryption type
	-f forwardable
	-i use default client keytab (with -k)
	-i uses default client keytab if no name given
	-k specifies keytab
	-k use keytab
	-l lifetime
	-l lists credential caches in collection
	-n anonymous
	-p proxiable
	-p specify name of principal
	-q quiet mode
	-r renewable lifetime
	-s start time
	-t filename of keytab to use
	-v validate
	Addresses: 	Addresses: (none)
	Attributes changed : %d
	Entry block size : %u
	First serial # : 	First serial # : None
	First time stamp : %s	First time stamp : None
	Last serial # : 	Last serial # : None
	Last time stamp : %s
	Last time stamp : None
	Log state : 	Log version # : %u
	Number of entries : %u
	Update committed : %s
	Update operation : 	Update principal : %s
	Update serial # : %u
	Update size : %u
	Update time stamp : %s	Update time stamp : None
	[-A admin_server]
	[-F kerberos_db_file ] [-p kdb5_util_pathname]
	[-k keytab] [-S sname] [-U for_user [-P]]
	[-x db_args]* [-P port] [-a acl_file]
	attributes are:
	for client %s	options are:
	options for credential caches:
	options for keytabs:
	service1 service2 ...
	update_princ_encryption [-f] [-n] [-v] [princ-pattern]
	purge_mkeys [-f] [-n] [-v]

where,
	[-x db_args]* - any number of database specific arguments.
			Look at each database documentation for supported arguments

(type 'yes' to confirm)? 
Couldn't allocate memory
Kerberos update log (%s)

Usage: %s [-h] [-v] [-v] [-e num]
	%s -R


Usage: %s [-r realm] [-f file] [-d] [-P port] [-s srvtab] slave_host


Usage: %s [-r realm] [-s srvtab] [-dS] [-f slave_file]
               %s successful
         in remotely using an unsecure (non-encrypted) channel.
         in remotely using an unsecure (non-encrypted) channel. 
   GSS-API error strings complete. %s while unparsing name
 Full resync, error returned from master KDC. KDC cannot initialize. Not enough memory
 [does not exist]$Id$%.*s%s%s.  Please try again.
%d is an invalid KVNO value%d key(s) purged.
%d key(s) would be purged.
%s Cannot decode status %d%s changed
%s constructing AP-REQ armor%s contains invalid filename%s does not have correct permissions for %s, %s aborted%s is an invalid enctype%s load terminated%s option not supported%s option value missing%s returned a bad exit status (%d)%s version %s
%s while %s, aborting
%s while decrypting FAST reply%s while handling ap-request armor%s while opening ACL file %s%s while storing credentials%s(%d): %s
%s(%d): ignoring trash at end of line: %s, aborting%s.  Please try again.%s: %s restore failed
%s: %s while %s, aborting
%s: %s while initializing context, aborting
%s: %s, aborting
%s: %s, attempting to retrieve default realm
%s: Cannot initialize. Not enough memory
%s: Could not map log
%s: Invalid password
%s: KDC cannot initialize. Not enough memory
%s: Keytab %s does not exist.
%s: No entry for principal %s exists in keytab %s
%s: No entry for principal %s with kvno %d exists in keytab %s
%s: Password incorrect
%s: Password incorrect while %s
%s: Principal %s does not exist.
%s: Standard input does not appear to be a network socket.
	(Not run from inetd, and missing the -S option?)
%s: There is only one entry for principal %s in keytab %s
%s: Unknown iprop dump version %d
%s: can't read dump header in %s
%s: cannot construct kdb5 util dump string too long; out of memory%s: cannot get memory for realm list
%s: cannot initialize realm %s - see log file for details
%s: cannot initialize realm %s. Not enough memory
%s: cannot initialize. Not enough memory
%s: cannot parse <%s>
%s: constrained delegation failed%s: create IPROP svc (PROG=%d, VERS=%d)
%s: dump header bad in %s
%s: dump version %s can only be loaded with the -update flag
%s: error processing line %d of %s
%s: error writing to %s
%s: error writing to %s device
%s: exec failed: %s%s: fork failed: %s%s: getclhoststr failed%s: invalid arguments
%s: invalid restrictions: %s%s: kvno = %d
%s: kvno = %d, keytab entry valid
%s: line %d too long, truncated%s: must specify entry to delete
%s: must specify keytab to read
%s: must specify keytab to write
%s: must specify the srvtab to read
%s: out of memory
%s: out of memory recording principal names%s: parser lost count!
%s: pclose(popen) failed: %s%s: popen failed: %s%s: regular expression error: %s
%s: regular expression match error: %s
%s: server handle is NULL%s: setup_gss_names failed%s: starting...
%s: syntax error at line %d <%10s...>%s: tagged data list inconsistency for %s (counted %d, stored %d)
%s: unable to canonicalize principal
%s: unable to figure out a principal name
%s: unable to get default realm
%s: unable to get kiprop host based service name for realm %s
%s: usage: %s [-t] [-k] [-e]
%s: warning - logging entry syntax error
%s: writing srvtabs is no longer supported
%s; Incoming SerialNo=%lu; Outgoing SerialNo=%lu%s; Incoming SerialNo=%lu; Outgoing SerialNo=N/A%spreauth required but hint list is empty%u principals processed: %u updated, %u already current
%u principals processed: %u would be updated, %u already current
'%s' is an invalid option
'%s' more recent than '%s'.'%s' not found: '%s' value missing(Expired)(No string attributes.)
(principal %s)(type 'yes' to confirm)? ** Database '%s' destroyed.
** Database of '%s' destroyed.
-Z option is mutually exclusive with -z.
-norandkey option only valid for kadmin.local
-z option is mutually exclusive with -Z.
... CONSTRAINED-DELEGATION s4u-client=%s... PROTOCOL-TRANSITION s4u-client=%s0 is an invalid KVNO value: %s is an invalid enctype: %s is an invalid mkeyVNO<Encryption type 0x%x><Salt type 0x%x>A credential was invalidA later token has already been processedA parameter was malformedA required input parameter could not be readA required input parameter could not be writtenA required output parameter could not be writtenA service is not available that is required to process the requestA supplied name was of an unsupported typeA token had an invalid Message Integrity Check (MIC)A token had an invalid signatureA token was invalidAD types: ALERTAPI structure version specified by application is no longer supported (to fix, recompile application against current KADM5 API header files and libraries)API structure version specified by application is unknown to libraries (to fix, obtain current KADM5 API header files and libraries and recompile application)API version specified by application is no longer supported by libraries (to fix, update application to adhere to current API version and recompile)API version specified by application is no longer supported by server (to fix, update application to adhere to current API version and recompile)API version specified by application is unknown to libraries (to fix, obtain current KADM5 API header files and libraries and recompile application)API version specified by application is unknown to server (to fix, obtain and install newest KADM5 Admin Server)ASN.1 bad return from gmtimeASN.1 badly-formatted encodingASN.1 encoding ended unexpectedlyASN.1 failed call to system time libraryASN.1 identifier doesn't match expected valueASN.1 length doesn't match expected valueASN.1 missing expected EOCASN.1 non-constructed indefinite encodingASN.1 object omitted in sequenceASN.1 parse errorASN.1 structure is missing a required fieldASN.1 type numbers are inconsistentASN.1 unexpected field numberASN.1 value too largeAS_REQ (%s) %s: %s: %s for %s%s%sAS_REQ (%s) %s: ISSUE: authtime %d, %s, %s for %sAS_REQ : handle_authdata (%d)Acceptor and Initiator share no checksum typesAccess deniedAccount %s: authorization for %s for execution of
Account %s: authorization for %s for execution of %s failed
Account %s: authorization for %s successful
Account %s: authorization of %s failed
Add
Additional pre-authentication requiredAdmin ServicesAdmin server does not support -nokey while creating "%s"
Administration credentials NOT DESTROYED.
All Tickets DisallowedAll keys for principal "%s" removed.
All keys in use, nothing purged.
Allowed key/salt types: %s
Alternative authentication method requiredAn expected per-message token was not receivedAn invalid name was suppliedAn invalid status code was suppliedAn unsupported critical FAST option was requestedAn unsupported mechanism was requestedAnonymous pkinit without DH public value not supported.Ap-request armor not permitted with TGSAre you sure you want to delete the policy "%s"? (yes/no): Are you sure you want to delete the principal "%s"? (yes/no): Are you sure you want to rename the principal "%s" to "%s"? (yes/no): Attempt to lock database twiceAttempt to unlock database when not lockedAttempt to use incomplete security contextAttribute removed from principal "%s".
Attribute set for principal "%s".
Attributes:Auth context must contain local addressAuth context must contain remote addressAuthenticated %s
Authenticated to Kerberos v5
Authenticating as principal %s with default keytab.
Authenticating as principal %s with existing credentials.
Authenticating as principal %s with keytab %s.
Authenticating as principal %s with password.
Authenticating as principal %s with password; anonymous requested.
Authentication attempt failed: %s, GSS-API error strings are:Authentication errorAuthentication failed.
Authenticator has no subkeyBad SAM flags in obtain_sam_padataBad application version was sent (via sendauth)Bad checksum in SAM challengeBad database creation flagsBad direction for converting keysBad encryption typeBad format in credentials cacheBad format in keytabBad krb5 admin server hostnameBad lifetime value %s
Bad lifetime value (%s hours?)
Bad lock modeBad magic number for FAST requestBad magic number for FAST responseBad magic number for GSSAPI OIDBad magic number for GSSAPI QUEUEBad magic number for fast armored requestBad magic number for iakerb_ctx_id_tBad magic number for krb5_address structureBad magic number for krb5_alt_method structureBad magic number for krb5_ap_rep structureBad magic number for krb5_ap_rep_enc_part structureBad magic number for krb5_ap_req structureBad magic number for krb5_auth_context structureBad magic number for krb5_authdata structureBad magic number for krb5_authdata_contextBad magic number for krb5_authenticator structureBad magic number for krb5_ccache structureBad magic number for krb5_checksum structureBad magic number for krb5_checksum_entry structureBad magic number for krb5_context structureBad magic number for krb5_cred structureBad magic number for krb5_cred_enc_part structureBad magic number for krb5_cred_info structureBad magic number for krb5_creds structureBad magic number for krb5_cryptosystem_entry structureBad magic number for krb5_cs_table_entry structureBad magic number for krb5_data structureBad magic number for krb5_db_context structureBad magic number for krb5_enc_data structureBad magic number for krb5_enc_kdc_rep_part structureBad magic number for krb5_enc_sam_response_encBad magic number for krb5_enc_tkt_part structureBad magic number for krb5_encrypt_block structureBad magic number for krb5_error structureBad magic number for krb5_etype_info_entry structureBad magic number for krb5_gss_cred_id_tBad magic number for krb5_gss_ctx_id_tBad magic number for krb5_gss_enc_descBad magic number for krb5_kdc_rep structureBad magic number for krb5_kdc_req structureBad magic number for krb5_keyblock structureBad magic number for krb5_keytab structureBad magic number for krb5_keytab_entry structureBad magic number for krb5_last_req_entry structureBad magic number for krb5_os_context structureBad magic number for krb5_pa_data structureBad magic number for krb5_preauth_opsBad magic number for krb5_predicted_sam_responseBad magic number for krb5_principal structureBad magic number for krb5_priv structureBad magic number for krb5_priv_enc_part structureBad magic number for krb5_pwd_data structureBad magic number for krb5_rcache structureBad magic number for krb5_response structureBad magic number for krb5_safe structureBad magic number for krb5_sam_challengeBad magic number for krb5_sam_challenge_2Bad magic number for krb5_sam_keyBad magic number for krb5_sam_responseBad magic number for krb5_sam_response 2Bad magic number for krb5_ticket structureBad magic number for krb5_tkt_authent structureBad magic number for krb5_transited structureBad magic number for passwd_phrase_elementBad principal name while trying to forward credentialsBad response (during sendauth exchange)Bad sendauth version was sentBad start time value %s
Bind DN entry '%s' missing in LDAP password file '%s'Buffer is the wrong sizeBusy signal received from master, backoff for %d secs
CRITICALCalling iprop_get_updates_1 (sno=%u sec=%u usec=%u)
Can not fetch master key (error: %s).Can't create new subsidiary cacheCan't create new subsidiary cache because default cache is already a subsidiaryCan't create new subsidiary cache because default cache is not a directory collectionCan't destroy replay cache: %sCan't find client principal %s in cache collectionCan't find username for uid %luCan't open/find Kerberos configuration fileCan't open/find lname translation databaseCan't open/find realm translation fileCan't read from replay cache: %sCan't verify certificateCan't write to replay cache: %sCannot %s replay cache file %s: %sCannot %s replay cache: %sCannot bind server socket on %sCannot bind to LDAP server '%s' as '%s': %sCannot bind to LDAP server '%s' with SASL mechanism '%s': %sCannot build GSSAPI auth namesCannot change keytab with keytab iterators activeCannot change protected principalCannot contact any KDC for realm '%.*s'Cannot contact any KDC for requested realmCannot convert V5 address informationCannot convert V5 keyblockCannot convert V5 principalCannot create LDAP handle for '%s': %sCannot create RPC service: %s; continuingCannot create TCP server socket on %sCannot create cert chain: %sCannot decrypt ticket for %s using keytab key for %sCannot determine realm for hostCannot determine realm for numeric host addressCannot enable SO_REUSEADDR on fd %dCannot find KDC for realm "%.*s"Cannot find KDC for requested realmCannot find active master keyCannot find key for %s kvno %d in keytabCannot find key for %s kvno %d in keytab (request ticket server %s)Cannot find master key record in databaseCannot find ticket for requested realmCannot find/read stored master keyCannot fstat replay cache file %s: %sCannot initialize GSSAPI service nameCannot listen on TCP server socket on %sCannot lock databaseCannot open LDAP password file '%s': %sCannot read passwordCannot register RPC service: %s; continuingCannot request packet info for udp socket address %s port %dCannot resolve address of admin server "%s" for realm "%s"Cannot resolve network address for KDC in requested realmCannot resolve network address for admin server in requested realmCannot reuse passwordCannot set GSSAPI authentication namesCannot set up KDB keytabCannot sync replay cache file: %sCannot write to specified key tableCcache function not supported: not implementedCcache function not supported: read-only ccache typeCertificate mismatchChallenge for Activcard mechanismChallenge for Digital Pathways mechanismChallenge for Enhanced S/Key mechanismChallenge for Enigma Logic mechanismChallenge for Security Dynamics mechanismChallenge for Traditional S/Key mechanismChallenge from authentication serverChanging uid to %s (%ld)
Checksum must be includedClient '%s' not found in Kerberos databaseClient name mismatchClient not found in Kerberos databaseClient not trustedClient not yet valid - try again laterClient or server has a null keyClient's entry in database has expiredClient's key is encrypted in an old master keyClient/server realm mismatch in initial ticket requestClients credentials have been revokedClock skew too greatClock skew too great in KDC replyCommunication failure with serverConditional dump is an undocumented option for use only for iprop dumpsConfiguration file does not specify default realmConnection from %sConnection to server already initializedConnection to server not initializedContext is already fully establishedConversion to service principal undefined for name typeCorrupt
Corrupt header log, exiting

Corrupt update entry

Could not allocate principal name

Could not create temp keytab file name.Could not dup the inetd socket: %sCould not find %s plugin module named '%s'Could not get a tgt for Could not open /dev/null: %sCould not open iprop ulog
Couldn't allocate gss_buffer_t dataCouldn't open log file %s: %s
Couldn't read database_name

Couldn't reinitialize ulog file %s

Creating new master key for master key principal '%s'
Credential cache directory %s does not existCredential cache directory %s exists but is not a directoryCredential cache has no TGTCredential cache is emptyCredential cache name malformedCredential usage type is unknownCredentials cache I/O operation failed (%s)Credentials cache I/O operation failed XXXCredentials cache file '%s' not foundCredentials cache keyring '%s' not foundCredentials cache permissions incorrectCredentials cache type is already registered.Credentials for server have been revokedCryptosystem internal errorCurrent password's minimum life has not expiredDES key has bad parityDES key is a weak keyDN information missingDN is out of the realm subtreeDatabase error! Required KADM5 principal missingDatabase format errorDatabase has already been initializedDatabase has not been initializedDatabase inconsistency detectedDatabase is locked or in use--try again laterDatabase library failed to initializeDatabase load process for full propagation completed.
Database module does not match KDC versionDatabase not currently opened!Database not initializedDatabase not lockedDatabase propagation to %s: SUCCEEDED
Database read errorDatabase record is incomplete or corruptedDatabase store errorDatabase type not supportedDatabase was modified during readDecoding out of dataDecrypt integrity check failedDefault realm not setDelete
Delete Failed: One or more Principals associated with the Ticket PolicyDeleting KDC database of '%s', are you sure?
Deleting KDC database stored in '%s', are you sure?
Digest in certificate not acceptedDigest in signed-data not acceptedEMERGENCYERROR returned by master KDC, bailing.
ERROR returned by master, bailing
Empty passwords are not allowedEncoding too largeEncrypted Challenge used outside of FAST tunnelEncryption type %s not permittedEncryption type not permittedEnctype %d has no PRFEnd of credential cache reachedEnd of key table reachedEnd-of-file on replay cache I/OEnter #Enter DN of Kerberos container: Enter OTP Token ValueEnter it againEnter new passwordEnter password for principal "%s"Entry already exists in databaseEntry data decode failure

Entry for principal %s with kvno %d removed from keytab %s.
Entry for principal %s with kvno %d, encryption type %s added to keytab %s.
ErrorError creating file %sError in krb5_auth_con_ini: %sError in krb5_auth_con_setaddrs: %sError in krb5_auth_con_setflags: %sError in krb5_copy_prinicpal: %sError in krb5_kt_resolve: %sError in krb5_recvauth: %sError processing LDAP DB params:Error reading '%s' attribute: %sError reading LDAP server params:Error reading container object: Error reading kerberos container location from krb5.confError reading password from stash: Error reading service object password fileError reading ticket policy. Error reading ticket policy: Error text from client: %s
Error text from server: %s
Error writing to credentials cacheError writing to key tableError: bad entry - %s in %s file, CMD_PATH contains no paths 
Error: bad entry - %s in %s file, must be either full path or just the cmd name
Error: bad entry - %s in %s file, since %s is just the cmd name, CMD_PATH must be defined 
Error: bad path %s in CMD_PATH for %s must start with '/' 
Error: not found -> Etype (skey, tkt): %s, Expecting FX_ERROR pa-data inside FAST containerExpiration date: %s
Exponential backoff
Extra arguments (starting with "%s").
FAST protected pre-authentication required but not supported by KDCFAST req_checksum invalid; request modifiedFAST response missing finish message in KDC replyFailed getting object referencesFailed password attempts: %d
Failed to convert the password to hexadecimalFailed to open file %s: %sFailed to reconfigure network, exitingFailed to write service object password to fileFailure!Field is too long for this implementationFlags: %sFull propagation transfer finished.
Full propagation transfer started.
Full resync error from master
Full resync invalid result from master
Full resync needed
Full resync permission denied
Full resync request granted
Full resync request granted.Full resync, invalid return from master KDC.Full resync, permission denied.GSS-API (or Kerberos) errorGeneric error (see e-text)Generic preauthentication failureGeneric remote error: %s
Generic unknown RC errorGeneric unknown RC/IO errorGeneric update log errorGoodbye
Got incremental updates (sno=%u sec=%u usec=%u)
Got signal to request exitGot signal to resetHW authentication requiredHistory entry contains no key dataHostname cannot be canonicalizedHostname in SERVICE-NAME string could not be canonicalizedI/O error in replay cache i/o codeIllegal character in component nameIllegal configuration parameter for local KADM5 clientIllegal configuration parameter for remote KADM5 clientIllegal cross-realm ticketIllegal policy nameIllegal principal nameIllegal use of wildcardIllegal version number for KRB5_TL_ACTKVNO %d
Illegal version number for KRB5_TL_MKEY_AUX %d
Improper format of Kerberos configuration fileImproper format of realm translation fileImproper format of translation database entryInappropriate type of checksum in messageInconsistent key purposeIncorrect channel bindings were suppliedIncorrect message directionIncorrect net addressIncorrect passwordIncorrect password in encrypted challengeIncorrect sequence number in messageIncremental propagation enabled
Incremental updates: %d updates / %lu usIncremental updates: %d updates / %lu us
Initial Ticket response appears to be Version 4 errorInitial password requiredInitialized cache
Initializing database '%s' for realm '%s',
master key name '%s'
Initializing database for realm '%s'
Initializing kadm5 as client %s
Insecure file mode for replay cache file %sInsecure mkstemp() file mode for replay cache file %s; try running this program with umask 077Insufficient access to lock databaseInsufficient access to perform requested operationInsufficient authorization for operationInsufficient permission to lock fileInsufficient space to return complete informationInsufficient system space to store replay informationInternal credentials cache errorInternal error parsing X509_user_identity
Internal error: command %s did not get resolved
Invalid !Invalid KDC option combination (library internal error)Invalid Kerberos container DNInvalid UID in persistent keyring nameInvalid UTF-8 stringInvalid auxillary attributesInvalid certificateInvalid credential was suppliedInvalid date specification "%s".
Invalid encryption type in SAM challengeInvalid enctype for setv4keyInvalid field length in tokenInvalid field mask for operationInvalid flag for file lock modeInvalid format of Kerberos lifetime or clock skew stringInvalid kdb lock modeInvalid key generation parameters from KDCInvalid key/salt tuplesInvalid keyring anchor nameInvalid message typeInvalid message type specified for encodingInvalid module specifierInvalid module specifier %sInvalid number of character classesInvalid password history countInvalid password lengthInvalid pkinit packet: octet string expectedInvalid policy nameInvalid principal nameInvalid signatureInvalid tokenInvalid token was suppliedIprop not enabled
It is important that you NOT FORGET this password.
KADM5 administration database lock file missingKCM daemon reply too bigKDB module requires -update argumentKDC ServicesKDC can't fulfill requested optionKDC has no support for checksum typeKDC has no support for encryption typeKDC has no support for padata typeKDC has no support for transited typeKDC is synchronized with master.
KDC name mismatchKDC not trustedKDC policy rejects requestKDC policy rejects transited pathKDC reply did not match expectationsKDC returned error string: %.*sKRB5 error code 101KRB5 error code 102KRB5 error code 103KRB5 error code 104KRB5 error code 105KRB5 error code 106KRB5 error code 107KRB5 error code 108KRB5 error code 109KRB5 error code 110KRB5 error code 111KRB5 error code 112KRB5 error code 113KRB5 error code 114KRB5 error code 115KRB5 error code 116KRB5 error code 117KRB5 error code 118KRB5 error code 119KRB5 error code 120KRB5 error code 121KRB5 error code 122KRB5 error code 123KRB5 error code 124KRB5 error code 125KRB5 error code 126KRB5 error code 127KRB5 error code 30KRB5 error code 53KRB5 error code 54KRB5 error code 55KRB5 error code 56KRB5 error code 57KRB5 error code 58KRB5 error code 59KRB5 error code 82KRB5 error code 83KRB5 error code 84KRB5 error code 87KRB5 error code 88KRB5 error code 89KRB5 error code 90KRB5 error code 91KRB5 error code 92KRB5 error code 94KRB5 error code 95KRB5 error code 96KRB5 error code 97KRB5 error code 98KRB5 error code 99KVNO of new master key does not match expected valueKVNO: %d
KVNO: %d, Enctype: %s, Active on: %s
KVNO: %d, Enctype: %s, Active on: %s *
KVNO: %d, Enctype: %s, No activate time set
Kerberos 4 is no longer supported
Kerberos Container create FAILED: %sKerberos Container delete FAILED: %sKerberos Container information is missingKerberos V4 errorKerberos V5 magic number tableKerberos container location not specifiedKerberos database constraints violatedKerberos database internal errorKerberos library initialization failureKerberos password for %s: Kerberos service unknownKerberos version 4 support is disabledKey for "%s" randomized.
Key for %s (hex): Key parameters not acceptedKey size in database is invalidKey size is incompatible with encryption typeKey table entry not foundKey table file '%s' not foundKey table name malformedKey table type is already registered.Key version is not availableKey version number for principal in key table is incorrectKeytab %s is nonexistent or emptyKeytab contains no suitable keys for %sKeytab name too longKilling fullprop child (%d)
Kpropd sent database size %d, expecting %dLDAP bind dn value missingLDAP bind password value missingLast modified: %s (%s)
Last password change: %s
Last successful authentication: %s
Leaving uid as %s (%ld)
Loading random dataLoading random data
Local host name could not be determinedLooping detected inside krb5_get_in_tktMKey: vno %d
Mach RPC error communicating with KCM daemonMake sure that you have removed the old principal from all ACLs before reusing.
Make sure that you have removed this principal from all ACLs before reusing.
Malformed reply from KCM daemonMalformed representation of principalMalformed request errorMaster key does not match databaseMatching credential not foundMaximum Renewable LifeMaximum Ticket LifeMaximum password failures before lockout: %lu
Maximum password life: %ld
Maximum renewable life: %s
Maximum ticket life: %s
Mechanism is incorrectMessage context invalidMessage is a replayMessage out of orderMessage replay detection requires rcache parameterMessage size is incompatible with encryption typeMessage stream modifiedMinimum connections required per server is 2Minimum number of password character classes: %ld
Minimum password length: %ld
Minimum password life: %ld
Miscellaneous RPC error: %s, %sMiscellaneous failureMismatched enctypes for setkey3Missing checksum in SAM challengeMissing parameters in krb5.conf required for kadmin clientMissing required ACL file configurationMissing required realm configurationMultiple values for single or folded enctypeMutual authentication failedNOTICE: no policy specified for %s; assigning "default"
New passwordNew password (again)New password cannot be zero lengthNew password does not have enough character classes.
The character classes are:
	- lower-case letters,
	- upper-case letters,
	- digits,
	- punctuation, and
	- all other characters (e.g., control characters).
Please choose a password with at least %d character classes.New password is too short.
Please choose a password which is at least %d characters long.New password was found in a dictionary of possible passwords and
therefore may be easily guessed. Please choose another password.
See the kpasswd man page for help in choosing a good password.New password was used previously. Please choose a different password.New passwords do not match - password not changed.
No @ in SERVICE-NAME name stringNo DUP_SKEY requestsNo ErrorNo KCM server foundNo Kerberos credentials availableNo TGT-based requestsNo acceptable KDF offeredNo administration server found for realmNo armor key but FAST armored request presentNo authorization data requiredNo context has been establishedNo credentials cache foundNo credentials found with supported encryption typesNo credentials supplied to library routineNo credentials were suppliedNo credentials were supplied, or the credentials were unavailable or inaccessibleNo default realm set; cannot initialize KDBNo dictionary file specified, continuing without one.No errorNo key table entry found for %sNo key table entry found matching %sNo keys in keytabNo local name found for principal nameNo matching key in entryNo matching key in entry having a permitted enctypeNo more memory to allocate (in credentials cache code)No more memory to allocate (in replay cache I/O code)No more memory to allocate (in replay cache code)No password given
No pkinit_anchors supplied for realm %sNo pkinit_identity supplied for realm %sNo principal in keytab matches desired nameNo realms configured correctly for pkinit supportNo such entry in the databaseNo supported encryption types (config file error?)No supported tokensNo ticket granting ticketNo translation available for requested principalNo user identity options specifiedNot ForwardableNot PostdateableNot a hexadecimal passwordNot enough memory
Not proxiableNot renewableNoticeNumber of keys: %d
Number of old keys kept: %ld
OK as DelegateOK, deleting database '%s'...
OK, deleting database of '%s'...
OK, doing nothing.
OK, purging unused master keys from '%s'...
OTP Challenge:OTP Token PINOTP value doesn't match any token formatsOld keys for principal "%s" purged.
One of -c or -p must be specified
Only one -I option allowed
Only one -c option allowed
Only one -c or -p option allowed
Only one -t option allowed.
Only one armor_ccache
Only one of -a and -A allowed
Only one of -f and -F allowed
Only one of -p and -P allowed
Only one of -t and -i allowed
Operation failed for unspecified reasonOperation requires ``add'' privilegeOperation requires ``change-password'' privilegeOperation requires ``delete'' privilegeOperation requires ``get'' privilegeOperation requires ``list'' privilegeOperation requires ``modify'' privilegeOperation requires ``set-key'' privilegeOption -P (constrained delegation) requires keytab to be specified
Option -P (constrained delegation) requires option -U (protocol transition)
Options -u and -S are mutually exclusive
Out of memory
PA Option %s = %s
PRF input too longPROCESS_TGS: failed lineage checkPacket was replayed in wrong directionPass phrase forPasswd ServicesPassword Change requiredPassword Changing ServicePassword cannot be changed because it was changed too recently.
Please wait until %s before you change it.
If you need to change your password before then, contact your system
security administrator.Password change failedPassword change rejectedPassword changed.
Password corruptPassword does not contain enough character classesPassword expiration date: %s
Password expired.  You must change it now.Password failure count reset interval: %s
Password for "%s"Password for "%s" changed.
Password for %.1000sPassword for %sPassword has expiredPassword history principal key version mismatchPassword incorrect while getting initial ticketPassword is in the password dictionaryPassword is too shortPassword lockout duration: %s
Password may not match principal namePassword may not match user information.Password minimum life is greater than password maximum lifePassword mismatchPassword not changed.Password read interruptedPermission denied in replay cache codePkinit request not signed, but client not anonymous.Please choose from the following:
Please enter new master key....
Plugin does not support interface versionPlugin does not support the operationPlugin module name not foundPolicy "%s" not deleted.
Policy does not existPolicy is in usePolicy rejects transited pathPolicy: %s
Policy: %s%s
Preauth module %s: %sPreauthentication failedPreauthentication requiredPremature EOF found for database file!Principal "%s" deleted.
Principal "%s" modified.
Principal "%s" not deleted
Principal "%s" not renamed
Principal "%s" renamed to "%s".
Principal %s has realm presentPrincipal %s is missing required realmPrincipal Container ReferencePrincipal add failed: %sPrincipal delete failed (trying to replace entry): %sPrincipal does not belong to realmPrincipal does not belong to the default realmPrincipal does not existPrincipal has multiple entries in Kerberos databasePrincipal in credential cache does not match desired namePrincipal or policy already existsPrincipal or policy does not existPrincipal: %s
Principals whose keys WOULD BE re-encrypted to master key vno %u:
Principals whose keys are being re-encrypted to master key vno %u if necessary:
Program called an obsolete, deleted functionProgram lacks support for address typeProgram lacks support for checksum typeProgram lacks support for encryption typeProgram lacks support for key typeProgrammer error! Bad API structure versionProgrammer error! Bad API versionProgrammer error! Bad Admin server handleProgrammer error! Illegal tagged data list typeProtocol transition with delegation allowedProtocol version mismatchPublic key encryption not supportedPurging the following master key(s) from %s:
RPC svc_freeargs failed (%s)RPC svc_getargs failed (%s)RPC svc_sendreply failed (%s)RPC unknown request: %d (%s)RSA-MD5 supportedRandom number generator could not be seededRe-encrypt all keys not using master key vno %u?Re-enter password for "%s"Re-enter password for principal "%s"Realm Delete FAILED: %sRealm NameRealm information not availableRealm not local to KDCReceived token ID does not match expected token IDReinitialized the ulog.
Reinitializing iprop because get updates failed
Rejected connection from unauthorized principal %sRejected connection from unauthorized principal %s
Replay cache I/O operation failedReplay cache name parse/format errorReplay cache type does not support non-volatile storageReplay cache type is already registeredReplay cache type is unknownReply has wrong form of session key for anonymous requestRequest did not supply a ticketRequest is a replayRequest missing second ticketRequest ticket server %s found in keytab but does not match server principal %sRequest ticket server %s kvno %d enctype %s found in keytab but cannot decrypt ticketRequest ticket server %s kvno %d found in keytab but not with enctype %sRequest ticket server %s kvno %d not found in keytab; keytab is likely out of dateRequest ticket server %s kvno %d not found in keytab; ticket is likely out of dateRequest ticket server %s not found in keytab (ticket kvno %d)Request: %s, %.*s%s, %s, client=%.*s%s, service=%.*s%s, addr=%sRequest: %s, %s, %s, client=%s, service=%s, addr=%sRequest: %s, spawned resync process %d, client=%s, service=%s, addr=%sRequest: kadm5_init, %.*s%s, %s, client=%.*s%s, service=%.*s%s, addr=%s, vers=%d, flavor=%dRequest: kadm5_rename_principal, %.*s%s to %.*s%s, %s, client=%.*s%s, service=%.*s%s, addr=%sRequested effective lifetime is negative or too shortRequested encryption type not used in messageRequested lucid context version not supportedRequested principal and ticket don't matchRequested protocol version not supportedRequested server and ticket don't matchRequesting ticket can't get forwardable ticketsRequired parameters in kdc.conf missingRequired preauthentication key not suppliedResponse too big for UDP, retry with TCPRevocation status unavailableRevocation status unknownRevoked certificateSAM AuthenticationSPNEGO acceptor did not return a valid tokenSPNEGO acceptor did not select a mechanismSPNEGO cannot find mechanisms to negotiateSPNEGO failed to acquire credsSPNEGO failed to negotiate a mechanismSTRING-UID-NAME contains nondigitsSearchScopeSeeding random number generatorSequence number in token is corruptServer %s not found in Kerberos databaseServer errorServer not found in Kerberos databaseServer not yet valid - try again laterServer principal %s does not match any keys in keytabServer principal %s does not match request ticket server %sServer principal valid for user2user onlyServer rejected authentication (during sendauth exchange)Server's entry in database has expiredServer's key is encrypted in an old master keyService DisabledService key not availableService not respondingService password length is zeroSleeping %d seconds to re-initialize kadm5 (RPC ERROR)
Sleeping %d seconds to re-initialize kadm5 (krb5kdc not running?)
Stable
Still waiting for full resync
Stored credentials
Stored master key is corruptedStored master key is not currentStoring of acceptor credentials is not supported by the mechanismStoring of non-default credentials is not supported by the mechanismSubsidiary cache path %s filename does not begin with "tkt"Subsidiary cache path %s has no parent directorySubtreeSuccessSupplied data not handled by this pluginTCP client %s wants %lu bytes, cap is %luTCP socket fd number %d (for %s) too highTGS_REQ %s: %s: authtime %d, %s for %s, 2nd tkt client %sTGS_REQ (%s) %s: %s: authtime %d, %s%s %s for %s%s%sTGS_REQ : handle_authdata (%d)TGS_REQ: SESSION KEY or MUTUALTGS_REQ: UNKNOWN SERVER: server='%s'TGS_REQ: issuing TGT %sTGS_REQ: issuing alternate <un-unparseable> TGTTGT has been revokedTemporary stash file already exists: %s.The IAKERB proxy could not find a KDCThe KDC did not respond to the IAKERB proxyThe KDC should discard this requestThe context has expiredThe given credential's usage does not match the requested usageThe operation is forbidden by local  security policyThe operation is forbidden by the local security policyThe operation or option is not availableThe operation or option is not available or unsupportedThe password can only be changed once a day.The password can only be changed every %d days.The password must be different from the previous password.The password must be different from the previous %d passwords.The password must contain at least %d character.The password must contain at least %d characters.The password must include numbers or symbols.  Don't include any part of your name in the password.The provided name was not mechanism specific (MN)The quality-of-protection (QOP) requested could not be providedThe quality-of-protection requested could not be providedThe referenced context has expiredThe referenced credential has expiredThe referenced credentials have expiredThe requested credential element already existsThe routine completed successfullyThe routine must be called again to complete its functionThe salt type of the specified principal does not support renamingThe ticket isn't for usThe token was a duplicate of an earlier tokenThe token's validity period has expiredThere is only one master key which can not be purged.
This Krb5 library has expiredThis application has expiredThis will delete the policy object '%s', are you sure?
Ticket Policy Name missingTicket Policy Object DN missingTicket Policy Object information missingTicket cache %cNOT%c destroyed!
Ticket cache NOT destroyed!
Ticket cache: %s:%s
Default principal: %s

Ticket expiredTicket flagsTicket has invalid flag setTicket is ineligible for postdatingTicket modified in KDC replyTicket not yet validTicket/authenticator don't matchToken header is malformed or corruptToken is missing dataToken was reflectedToo few argumentsToo much string mapping dataTracing unsupportedTry a more complex password, or contact your administrator.UID does not resolve to usernameUnable to access Kerberos databaseUnable to decrypt latest master key with the provided master key
Unable to find requested database typeUnable to find requested database type: %sUnable to get default realmUnable to identify user
Unable to identify user from password file
Unable to initialize Kerberos

Unable to initialize preauth contextUnable to initialize signal handlers in pid %dUnable to load requested database module '%s': plugin symbol 'kdb_function_table' not foundUnable to map log file %s

Unable to map log!
Unable to read Kerberos containerUnable to read RealmUnable to reinitialize main loopUnauthorized request: %s, %.*s%s, client=%.*s%s, service=%.*s%s, addr=%sUnauthorized request: %s, client=%s, service=%s, addr=%sUnauthorized request: kadm5_rename_principal, %.*s%s to %.*s%s, client=%.*s%s, service=%.*s%s, addr=%sUnkeyed checksum used in fast_reqUnknown %s (field = %d)Unknown FAST armor type %dUnknown Key table typeUnknown credential cache typeUnknown keyring collection versionUnknown quality of protection specifiedUnknown signature type in tokenUnknown state: %d
Unrecognized ACL operation '%c' in %sUnspecified GSS failure.  Minor code may provide more informationUnspecified password quality failureUnstable
Unsupported argument "%s" for db2Unsupported credentials cache format version numberUnsupported encryption typeUnsupported key table format version numberUnsupported preauthentication typeUnsupported replay cache format version numberUnsupported salt typeUnsupported type while processing '%s'
Unsupported version in database entryUpdate Entry
Update log conversion errorUpdate log dump :
Update log is corruptUpdate log is unstableUsage: %s [-A] [-q] [-c cache_name]
Usage: %s [-e] [-V] [[-c] [-l] [-A] [-d] [-f] [-s] [-a [-n]]] [-k [-t] [-K]] [name]
Usage: %s [-r realm] [-p principal] [-q query] [clnt|local args]
	clnt args: [-s admin_server[:port]] [[-c ccache]|[-k [-t keytab]]]|[-n]
	local args: [-x db_args]* [-d dbname] [-e "enc:salt ..."] [-m]
where,
	[-x db_args]* - any number of database specific arguments.
			Look at each database documentation for supported arguments
Usage: %s [target user] [-n principal] [-c source cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]
Usage: %s dbpathname realmnameUsage: %s {-c cache_name | -p principal}
Usage: kadmind [-x db_args]* [-r realm] [-m] [-nofork] [-port port-number]
		[-proponly] [-p path-to-kdb5_util] [-F dump-file]
		[-K path-to-kprop] [-P pid_file]

where,
	[-x db_args]* - any number of database specific arguments.
			Look at each database documentation for supported arguments
Usage: kdb5_ldap_util [-D user_dn [-w passwd]] [-H ldapuri]
	cmd [cmd_options]
create          [-subtrees subtree_dn_list] [-sscope search_scope] [-containerref container_reference_dn]
		[-m|-P password|-sf stashfilename] [-k mkeytype] [-kv mkeyVNO] [-s]
		[-maxtktlife max_ticket_life] [-maxrenewlife max_renewable_ticket_life]
		[ticket_flags] [-r realm]
modify          [-subtrees subtree_dn_list] [-sscope search_scope] [-containerref container_reference_dn]
		[-maxtktlife max_ticket_life] [-maxrenewlife max_renewable_ticket_life]
		[ticket_flags] [-r realm]
view            [-r realm]
destroy                [-f] [-r realm]
list
stashsrvpw      [-f filename] service_dn
create_policy   [-r realm] [-maxtktlife max_ticket_life]
		[-maxrenewlife max_renewable_ticket_life] [ticket_flags] policy
modify_policy   [-r realm] [-maxtktlife max_ticket_life]
		[-maxrenewlife max_renewable_ticket_life] [ticket_flags] policy
view_policy     [-r realm] policy
destroy_policy  [-r realm] [-force] policy
list_policy     [-r realm]
Usage: kdb5_util [-x db_args]* [-r realm] [-d dbname] [-k mkeytype] [-M mkeyname]
	        [-kv mkeyVNO] [-sf stashfilename] [-m] cmd [cmd_options]
	create  [-s]
	destroy [-f]
	stash   [-f keyfile]
	dump    [-old|-ov|-b6|-b7|-r13|-r18] [-verbose]
	        [-mkey_convert] [-new_mkey_file mkey_file]
	        [-rev] [-recurse] [filename [princs...]]
	load    [-old|-ov|-b6|-b7|-r13|-r18] [-verbose] [-update] filename
	ark     [-e etype_list] principal
	add_mkey [-e etype] [-s]
	use_mkey kvno [time]
	list_mkeys
Usage: ktadd [-k[eytab] keytab] [-q] [-e keysaltlist] [-norandkey] [principal | -glob princ-exp] [...]
Usage: ktadd [-k[eytab] keytab] [-q] [-e keysaltlist] [principal | -glob princ-exp] [...]
Usage: ktremove [-k[eytab] keytab] [-q] principal [kvno|"all"|"old"]
User modification failed: %sUser to user requiredUsing default cache: %s
Using existing cache: %s
Using existing stashed keys to update stash file.
Using keytab: %s
Using new cache: %s
Using principal: %s
Using specified cache: %s
Using specified input cache: %s
V5 realm name longer than V4 maximumValidation errorVendor:WARNING!  Cannot find dictionary file %s, continuing without one.WARNING! Forged/garbled request: %d, claimed client = %.*s%s, server = %.*s%s, addr = %sWARNING! Forged/garbled request: %s, claimed client = %.*s%s, server = %.*s%s, addr = %sWARNING: Your password may be exposed if you enter it here and are logged
WARNING: Your password may be exposed if you enter it here and are logged 
WARNING: no policy specified for %s; defaulting to no policy
WARNING: policy "%s" does not exist
Waiting for %d seconds before checking for updates again
WarningWarning!  Multiple DES-CBC-CRC keys for principal %s; skipping duplicates.
Warning!  No DES-CBC-CRC key for principal %s, cannot generate OV-compatible record; skipping
Warning: Your password will expire in %d days on %sWarning: Your password will expire in %d hour%s on %sWarning: Your password will expire in less than one hour on %sWarning: couldn't stash master key.
Warning: proceeding without master keyWhen determining client principal name from keytabWhen resolving the default client keytabWhen unparsing nameWhile converting enctype to stringWill purge all unused master keys stored in the '%s' principal, are you sure?
Would purge the following master key(s) from %s:
Wrong principal in requestWrong protocol versionXDR encoding errorYou must type a password. Passwords must be at least one character long.
You will be prompted for a new database Master Password.
You will be prompted for the database Master Password.
Your uid doesn't match your passwd entry?!
[never][none]accepted RPC connection on socket %d from %saccount %s: authorization failed
addent: Error reading key.
addent: Illegal character in key.
adding new master key to master principalallocating buffer for new TCP session from %sallocating database file name '%s'allocating krb5_get_init_creds_optap-request armor for something other than the local TGSap-request armor without subkeyasprintf could not allocate enough memory to hold outputassuming IPv6 socket accepts IPv4audit plugin %s failed to open. error=%iauthdata %s failed to initialize: %sauthdata (%s) handling failure: %sauthenticated client: %s (etype == %s)
authentication attempt failed: %s, RPC authentication flavor %dbad realm transit path from '%s' to '%s' via '%.*s%s'bad service principal %.*s%sbroken address (type %d length %d)calling errorcannot allocate storage for connection infocannot create io eventcannot match size tokenscannot parse policy (%d read)
cannot read extra datacannot read key datacannot read key size and versioncannot read key type and lengthcannot read name stringcannot read principal attributescannot read tagged data contentscannot read tagged data type and lengthcannot save eventcannot set listening tcp socket on %s non-blockingcannot specify keysaltlist when not changing key
change_password: Not enough memory
change_password: missing db argumentchange_password: missing keysaltlist argchange_password: missing password argchanging passwordcheck_rpcsec_auth: failed inquire_context, stat=%uchpw request from %s for %.*s%s: %schpw: Couldn't open admin keytab %sclient and server principal names must matchclosing ccacheclosing down fd %dcommencing operationcomposing ccache namecomputing parameters for databasecontainer reference value: converting glob pattern '%s' to regular expressioncopying db argscould not complete roll-back, error deleting Kerberos Containercould not parse date-time string '%s'could not sync ulog header to diskcouldn't set up routing socket: %screated policy %s
creating %d worker processescreating PID filecreating host service principalcreating invocationcreating worker processescurrent privileges:database lockeddebugdeleting database '%s'deleting database of '%s'descriptor %d closed but still in svc_fdsetdetermining master key used for principal '%s'disabling SO_LINGER on TCP socket on %sdo_iprop failed.
does not have any appropriate tickets in the cache.
dropping %s fd %d from %serror %lderror allocating tcp dispatch private!error compiling converted regexp '%s'error constructing KRB_ERR_FIELD_TOOLONG error! %serror re-encrypting key for principal '%s'file descriptor number %d too highfinished, exitingfor container reference while creating realm '%s'for container reference while modifying realm '%s'for local servicesfor subtree while creating realm '%s'for subtree while modifying realm '%s'get_updates error from master
get_updates invalid result from master
get_updates master busy; backoff
get_updates permission denied
get_updates, error returned from master KDC.get_updates, invalid return from master KDC.get_updates, permission denied.getaddrinfo(%s): Cannot determine canonical hostname.
getaddrinfo: %s
getting config parametersgetting initial credentialsgetting initial ticketgetting local addressesgetting principal from ccachegetting random seedgetting string representation of principal namegss_to_krb5_name: failed display_name status %dhome directory name `%s' too long, can't search for .k5login
home directory path for %s too long
host/domain name not foundin krb5_auth_con_setaddrsinfoinitializinginitializing ACL fileinitializing kerberos libraryinitializing networkinvalid enctype %sinvalid search scope while creating realm '%s'iprop_full_resync call failediprop_get_updates call failedkadm5 initialization failed!
kadm5 initialization succeeded
kadm5_hook %s failed postcommit %s: %skerberos principal is already linked to a ldap objectkeyfile (%s) is not a regular file: %skeytab specified, forcing -k
kpropd: Full resync needed.ksu: couldn't set environment variable %s
ksu: couldn't set environment variable HOME
ksu: couldn't set environment variable SHELL
ksu: couldn't set environment variable USER
ksu: initgroups failed.
ksu: permission denied (shell).
ksu: unknown login %s
ksu: who are you?
ldap object is already kerberizedlink information can not be set/updated as the kerberos principal belongs to an ldap objectlistening on fd %d: rpc %slistening on fd %d: tcp %slistening on fd %d: udp %s%smalformed credential cache name %s
mapping update logmaster key stash file needs updating, command abortingmaster keylist not initializedmissing principal nameno IPV6_V6ONLY socket option supportno data available for host/domain nameno sockets set up?nonce modified in FAST response: KDC response modifiednot checking transit pathopening default ccacheoperation can not continue, more than one entry with principal name "%s" foundparsing client namepassword quality module %s rejected password for %s: %sperforming %s dumppktinfo says local addr is %splugin symbol 'kdb_function_table' lookup failed: %splugin unavailable: %spreauth %s failed to initialize: %spreauth %s failed to setup loop: %sprincipal name %s too long for internal buffer space
program name too long - quitting to avoid triggering system logging bugsrcache not owned by %dread %d from routing socket but msglen is %dreading update log headerready
realm object value: rename of temporary keyfile (%s) to (%s) failed: %srenew until renewing credentialsresolving ccache %sresolving default client keytabresolving keytab %sroutine errorrouting socket is fd %dservice name unknownservice not availableset up %d socketssetpw request from %s by %.*s%s for %.*s%s: %ssetsockopt(%d,IPV6_V6ONLY,1) failedsetsockopt(%d,IPV6_V6ONLY,1) workedsetting up network...short read (%d/%d) from routing socketshort reply write %d vs %d
shutting downsignal %d received in supervisorsignaled from serversignalled from serverskipping: %s
spawning daemon processspecified for search scope while modifying information of realm '%s'standard inputstartingsubtree value: successsupplementary info codeterminal name %s too long
there must be one master key currently activeticket policy object value: ticket policy object: too many connectionstrying to process principal databaseulog_replay failed (%s), updates not registered
ulog_replay failed (%s), updates not registered.unable to decode stored principal key data (%s)unable to find plugin [%s]: %sunable to load DLL [%s]unable to load plugin [%s]: %sunexpected error checking transit from '%s' to '%s' via '%.*s%s': %sunhandled routing message type %d, will reconfigure just for the fun of itunknown addrtype %dunknown code 0x%xunknown failureunknown getaddrinfo failureunknown option '%s'unknown option: %sunknown record type "%s"
unprintable address (type %d, error %d %s)updating: %s
usage: %s (-key | -password) -p principal -k kvno -e enctype
usage: %s [-C] [-u] [-c ccache] [-e etype]
usage: %s [-x db_args]* [-d dbpathname] [-r dbrealmname]
		[-R replaycachename] [-m] [-k masterenctype]
		[-M masterkeyname] [-p port] [-P pid_file]
		[-n] [-w numworkers] [/]

where,
	[-x db_args]* - Any number of database specific arguments.
			Look at each database module documentation for 			supported arguments
usage: %s [principal]
usage: add_principal [options] principal
usage: change_password [-randkey] [-keepold] [-e keysaltlist] [-pw password] principal
usage: del_string principal key
usage: delete_policy [-force] policy
usage: delete_principal [-force] principal
usage: get_policies [expression]
usage: get_policy [-terse] policy
usage: get_principal [-terse] principal
usage: get_principals [expression]
usage: get_privs
usage: get_strings principal
usage: modify_principal [options] principal
usage: purgekeys [-all|-keepkvno oldest_kvno_to_keep] principal
usage: rename_principal [-force] old_principal new_principal
usage: set_string principal key value
usage; %s [options] policy
validating credentialsvariable missing }waiting for a kprop connection
waitpid() failed to wait for doit() (%d %s)
when creating default server principal namewhen gathering parameterswhen initializing cache %swhen parsing name %swhen unparsing namewhile %swhile accepting connectionwhile adding entries to databasewhile adding entries to the databasewhile adding key to keytabwhile adding master key entry to the databasewhile adding new entrywhile adding new master keywhile adding preauth optionwhile allocating args.kvnoswhile allocating dump_ok filenamewhile allocating filename for temp filewhile allocating filename for update_last_prop_filewhile allocating i_vectorwhile allocating key_datawhile allocating memorywhile allocating memory for the target ccache namewhile allocating temporary filename dumpwhile appending realm to principalwhile attempting setsockopt (SO_KEEPALIVE)while attempting to connect to master KDC ... retryingwhile attempting to retrieve default realmwhile authenticating to serverwhile binding listener socketwhile building TGS name for realm %swhile building principalwhile calculated master key saltwhile calculating master key saltwhile calling cc_filterwhile calling waitpidwhile canonicalizing new principalwhile canonicalizing old principalwhile canonicalizing principalwhile canonicalizing principal namewhile changing %s's keywhile changing password for "%s".while changing to target uid for destroying ccachewhile checking authorizationwhile checking if stdin is a socketwhile clearing DISALLOW_ALL_TIX for "%s".while clearing the value of %swhile closing ccachewhile closing ccache %swhile closing databasewhile closing keytabwhile closing previous databasewhile connecting to serverwhile constructing my service realmwhile converting %s to new master keywhile converting etypewhile converting local addresswhile converting server addresswhile copying cache %s to %swhile copying client principalwhile creating 'last_prop' file, '%s'while creating 'ok' file, '%s'while creating PID filewhile creating databasewhile creating database '%s'while creating keytab namewhile creating main loopwhile creating new master keywhile creating new target ccachewhile creating policywhile creating policy "%s".while creating policy objectwhile creating principal %swhile creating realm '%s'while creating socketwhile creating sub-command argumentswhile creating temporary cachewhile creating tgt for local realmwhile creating update logwhile decoding database size from clientwhile decoding error packet from clientwhile decoding error response from serverwhile decoding ticket for %swhile decrypting ticket for %swhile deleting attribute from principal "%s"while deleting bad database %swhile deleting entry %dwhile deleting entry from keytabwhile deleting policy "%s"while deleting principal "%s"while destroying cachewhile destroying cache %swhile destroying policy objectwhile detaching from ttywhile determining local service principal namewhile determining target ccache namewhile dispatching (tcp)while dispatching (udp)while downgrading lock on '%s'while encoding database sizewhile ending keytab scanwhile erasing target cachewhile expanding expression "%s".while fetching master key %s for realm %swhile fetching master keys list for realm %swhile fetching principal %swhile finding master keys in usewhile finding mkeywhile finishing ticket retrievalwhile forkingwhile formatting master principal namewhile formatting parsed principal name for '%s'while freeing ktlistwhile freeing principal entrywhile generating new ccachewhile generating part of the target ccache namewhile getting "%s".while getting attributes for principal "%s"while getting client principal namewhile getting context for realm %swhile getting credentials for %swhile getting current timewhile getting default ccachewhile getting default client keytabwhile getting default keytabwhile getting default realmwhile getting enctype descriptionwhile getting initial credentialswhile getting initial credentials
while getting keytab namewhile getting local socket addresswhile getting master key listwhile getting master key principal %swhile getting name of target ccachewhile getting policy info.while getting principal info.while getting source cachewhile getting timewhile getting time of daywhile initializingwhile initializing %s interfacewhile initializing %s interface, retryingwhile initializing Kerberos 5 librarywhile initializing Kerberos codewhile initializing SAMwhile initializing databasewhile initializing database for realm %swhile initializing error handlingwhile initializing i_vectorwhile initializing krb5while initializing krb5 librarywhile initializing krb5_contextwhile initializing ldap handlewhile initializing lookaside cachewhile initializing networkwhile initializing random key generatorwhile initializing routing socketwhile initializing server listwhile initializing signal handlerswhile initializing target cachewhile initializing the Kerberos admin interfacewhile initializing update logwhile listing ccache collectionwhile listing credential cacheswhile listing policy objectswhile listing realmswhile loading audit plugin module(s)while locking 'ok' file, '%s'while looking for credentials cache %swhile looking up active kvno listwhile looking up active master keywhile looking up active version of master keywhile looking up mkey aux data listwhile looking up the Kerberos configurationwhile making newly loaded database livewhile mapping update logwhile modifying "%s".while modifying information of realm '%s'while modifying policy "%s".while modifying policy objectwhile obtaining socketwhile opening %swhile opening %s for writingwhile opening ccachewhile opening credential cache %swhile opening credentials cache %swhile opening databasewhile opening database file, '%s'while opening default credentials cachewhile opening default keytabwhile parsing -add principal name %swhile parsing admin principal namewhile parsing command argumentswhile parsing command arguments
while parsing keysalts %swhile parsing name %swhile parsing new principal namewhile parsing old principal namewhile parsing optionswhile parsing principalwhile parsing principal namewhile parsing principal name %swhile parsing temporary namewhile permanently locking databasewhile providing time specificationwhile purging keys for principal "%s"while randomizing key for "%s".while reading Kerberos container informationwhile reading cache name from ccachewhile reading information of policy '%s'while reading information of realm '%s'while reading kerberos container informationwhile reading keytab "%s"while reading ldap configurationwhile reading ldap parameterswhile reading master keywhile reading master key from keyboardwhile reading new master keywhile reading new master key from keyboardwhile reading new password.while reading passwordwhile reading password for "%s".while reading password for '%s'
while reading realm informationwhile reading response from serverwhile reading size of database from clientwhile reading srvtab "%s"while reading update log headerwhile receiving from networkwhile reclaiming root uidwhile reinitializing update logwhile renaming %s to %swhile renaming dump file into placewhile renaming principal "%s" to "%s"while resetting target ccache namewhile resolving %swhile resolving ccache %swhile resolving kdb keytab for realm %swhile resolving keytabwhile resolving keytab %swhile restarting keytab scanwhile retreiving configuration parameterswhile retrieving "%s".while retrieving a ticketwhile retrieving creds from cachewhile retrieving highest kvno from keytabwhile retrieving ldap configurationwhile retrieving list.while retrieving master entrywhile retrieving policy "%s".while retrieving principalwhile retrieving principal namewhile retrieving privilegeswhile returning to source uid after finding best principalwhile saving principal %swhile scanning keytabwhile searching for ccache for %swhile seeding random number generatorwhile selecting the best principalwhile sending # of received byteswhile sending database block starting at %dwhile sending database sizewhile sending reply to %s/%s from %swhile setting '%s'='%s'while setting FAST ccachewhile setting SO_REUSEADDR optionwhile setting attribute on principal "%s"while setting changetimewhile setting client principal namewhile setting client principal realmwhile setting default realm namewhile setting default realm to %swhile setting euid to source userwhile setting server principal namewhile setting service object passwordwhile setting up KDB keytab for realm %swhile setting up enctype %dwhile setting up lib handlewhile setting up loggingwhile setting up master key namewhile setting up master key name %s for realm %swhile starting keytab scanwhile starting to retrieve ticketswhile storing %swhile storing credentialswhile storing keywhile switching back from target after authorization checkwhile switching to credential cachewhile switching to new ccachewhile switching to target for authorization checkwhile switching to target uidwhile temporarily ending keytab scanwhile transforming master key from passwordwhile trying to change password.while trying to close database filewhile trying to construct host service principalwhile trying to construct my service namewhile trying to exec %swhile trying to execv %swhile trying to fork %swhile trying to fork.while trying to lock '%s'while trying to malloc data_ok_fnwhile trying to open %swhile trying to stat %swhile unlocking '%s'while unlocking databasewhile unlocking database '%s'while unlocking locked databasewhile unparsing client namewhile unparsing principalwhile unparsing principal namewhile unparsing server namewhile unparsing ticket etypewhile unsetting IPV6_V6ONLY optionwhile updating actkvno data for master principal entrywhile updating mkey_aux data for master principal entrywhile updating principal '%s' key data in the databasewhile updating principal '%s' modification timewhile updating the master key principal modification timewhile verifying master keywhile verifying ticket for serverwhile viewing policywhile viewing policy '%s'while waiting for %swhile waiting to receive databasewhile writing keytab "%s"while writing update log headerworker %ld exited with status %dwould skip:   %s
would update: %s
wrong oid
yet no policy set!  Contact your system security administrator.Project-Id-Version: mit-krb5 13.2
Report-Msgid-Bugs-To: krbdev@mit.edu
POT-Creation-Date: 2015-05-06 14:59-0400
PO-Revision-Date: 2016-04-07 08:15+0200
Last-Translator: Chris Leick <c.leick@vollbio.de>
Language-Team: German <debian-l10n-german@lists.debian.org>
Language: de
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=n != 1;
			-n löst nicht rückwärts auf.
		-K zeigt die Schlüssel der Schlüsseltabelleneinträge.
		-a zeigt die Adressliste.
		-d zeigt die übertragenen Autorisierungsdatentypen.
t	-f zeigt die Anmeldedatenschalter.
		-s setzt den Exit-Status auf Basis der Existenz eines gültigen TGTs.
		-t zeigt die Zeitstempel der Schlüsseltabelleneinträge.
		Attributschalter
		fehlgeschlagener Passwortversuch
		Schlüsseldaten
		letzte fehlgeschlagene Authentifizierung
		letzte erfolgreiche Authentifizierung
		Länge
		maximale verlängerbare Lebensdauer
		maximale Ticketlebensdauer
		Änderungszeit
		Geändert wobei
		tPrincipal wird geändert
		Ablauf des Passworts
		Passwortchronik
		Passwortchronik KVNO
		letzte Passwortänderung
		Passwortrichtlinie
		Passwortrichtlinienumschalter
		Principal
		Ablauf des Principals
		TL-Daten
		[-lockoutduration Dauer]
		[-maxlife Zeit] [-minlife Zeit] [-minlength Länge]
		[-minclasses Anzahl] [-history Nummer]
		[-maxfailure Anzahl] [-failurecountinterval Zeit]
		[-allowedkeysalts Schlüssel-Salts]
		[-randkey|-nokey] [-x DB-Principal-Argumente]* [-expire Ablaufdatum] [-pwexpire Passwortablaufdatum] [-maxlife maximale_Ticketlebensdauer]
		[-kvno KVNO] [-policy Richtlinie] [-clearpolicy]
		[-pw Passwort] [-maxrenewlife maximale_Dauer_bis_zum_Erneuern]
		[-e Schlüssel-Salt-Liste]
		[{+|-}Attribut]
		[-x DB-Principal-Argumente]* [-expire Ablaufdatum] [-pwexpire Passwortablaufdatum] [-maxlife maximale_Ticketlebensdauer]
		[-kvno KVNO] [-policy Richtlinie] [-clearpolicy]
		[-maxrenewlife maximale_Dauer_bis_zum_Erneuern] [-unlock] [{+|-}Attribut]
		allow_postdated allow_forwardable allow_tgs_req allow_renewable
		allow_proxiable allow_dup_skey allow_tix requires_preauth
		requires_hwauth needchange allow_svr password_changing_service
		ok_as_delegate ok_to_auth_as_delegate no_auth_data_required

wobei
	[-x DB-Principal-Argumente]* - eine beliebige Zahl
	datenbankspezifischer Argumente ist.
			Die unterstützten Argumente finden Sie in der jeweiligen
Datenbankdokumentation.
	   (Voreinstellung ist Anmeldedatenzwischenspeicher)
	-A vernichtet alle Anmeldedatenzwischenspeicher in der Sammlung.
	-a bezieht Adressen nicht ein.
	-A zeigt den Inhalt aller Anmeldedatenzwischenspeicher an.
	-C bringt in Normalform
	-E Client ist der Principal-Name des Unternehmens
	-F nicht weiterleitbar
	-P Proxy nicht nutzbar
	-R erneuert
	-S Dienst
	-T gehärteter Anmeldedatenzwischenspeicher
	-V zeigt die Kerberos-Version und wird beendet.
	-V detaillierte Ausgabe
	-X <Attribut>[=<Wert>]
	-a bezieht Adressen ein.
	-c Kerberos-5-Zwischenspeichername
	-c gibt den Anmeldedatenzwischenspeicher an
	-c gibt den Namen des Zwischenspeichers für Anmeldedaten an.
	-e zeigt den Verschlüsselungstyp.
	-f weiterleitbar
	-i verwendet die Standardschlüsseltabelle des Clients (mit -k).
	-i verwendet die Standardschlüsseltabelle des Clients, falls kein Name angegeben wurde.
	-k gibt die Schlüsseltabelle an.
	-k verwendet Schlüsseltabelle
	-l Lebensdauer
	-l listet gesammelte Anmeldedatenzwischenspeicher auf.
	-n anonym
	-p Proxy nutzbar
	-p gibt den Namen des Principals an.
	-q stiller Modus
	-r verlängerbare Lebensdauer
	-s Startzeit
	-t Dateiname der zu verwendenden Schlüsseltabelle
	-v überprüft
	Adressen: 	Adressen: (keine)
	geänderte Attribute: %d
	Blockgrößeneintrag: %u
	erste Seriennummer: 	erste Seriennummer: keine
	erster Zeitstempel: %s	erster Zeitstempel: keiner
	letzte Seriennummer: 	letzte Seriennummer: keine
	letzter Zeitstempel: %s
	letzter Zeitstempel: keiner
	Protokollstatus: 	Protokollversion #:  %u
	Anzahl der Einträge: %u
	Aktualisierung übergeben: %s
	Aktualisierungsaktion: 	Aktualisierung des Principals: %s
	Aktualisierung der Seriennummer: %u
	Größe der Aktualisierung: %u
	Zeitstempel der Aktualisierung: %s	Zeitstempel der Aktualisierung: keiner
	[-A Serveradministrator]
	[-F Kerberos-Datenbankdatei ] [-p KDB5-Hilfswerkzeugpfadname]
	[-k Schlüsseltabelle] [-S Sname] [-U für_Benutzer [-P]]
	[-x Datenbankargumente]* [-P Port] [-a ACL-Datei]
	Es gibt folgende Attribute:
	für Client %s	Es gibt folgende Optionen:
	Optionen für Anmeldedatenzwischenspeicher:
	Optionen für Schlüsseltabellen:
	Dienst1 Dienst2 …
	update_princ_encryption [-f] [-n] [-v] [Principal-Muster]
	purge_mkeys [-f] [-n] [-v]

dabei sind
	[-x Datenbankargumente]* - eine beliebige Anzahl datenbankspezifischer Argumente.
			Welche Argumente unterstützt werden, finden Sie in der Dokumentation der jeweiligen Datenbank.

(Geben Sie als Bestätigung »yes« ein) 
Speicher konnte nicht reserviert werden
Kerberos-Aktualisierungsprotokoll (%s)

Aufruf: %s [-h] [-v] [-v] [-e Zahl]
	%s -R


Aufruf: %s [-r Realm] [-f Datei] [-d] [-P Port] [-s Dienstschlüsseltabelle] untergeordneter_Rechner


Aufruf: %s [-r Realm] [-s Dienstschlüsseltabelle] [-dS] [-f untergeordnete_Datei]
               %s erfolgreich
         in der Ferne über einen unsicheren (unverschlüsselten) Kanal angemeldet
sind.
         in der Ferne mittels eines unsicheren (unverschlüsselten) Kanals
         angemeldet sind.
   GSS-API-Fehlermeldungen vollständig%s beim Rückgängigmachen der Namensauswertung
vollständiges erneutes Synchronisieren, das Master-KDC gab einen Fehler zurückKDC kann nicht initialisiert werden. Speicher reicht nicht aus
 [existiert nicht]$Id$%.*s%s%s. Bitte versuchen Sie es erneut.
%d ist kein gültiger KVNO-Wert%d Schlüssel vollständig entfernt
%d Schlüssel würde(n) vollständig entfernt.
%s: Status %d kann nicht dekodiert werden%s geändert
%s-Konstruktion von AP-REQ-Schutz%s enthält einen ungültigen Dateinamen.%s hat nicht die korrekten Rechte für %s, %s wird abgebrochen.%s ist ein ungültiger VerschlüsselungstypLaden von %s beendetOption %s wird nicht unterstütztWert der Option %s fehlt%s gab einen falschen Exit-Status (%d) zurück%s Version %s
%s bei %s, wird abgebrochen
%s beim Entschlüsseln der FAST-Antwort%s bei der Handhabung des »ap-request«-Schutzes%s beim Öffnen der ACL-Datei %s%s beim Speichern der Anmeldedaten%s(%d): %s
%s(%d): Müll am Zeilenende wird ignoriert: %s, wird abgebrochen%s. Bitte versuchen Sie es erneut.%s: Wiederherstellen von %s fehlgeschlagen
%s: %s bei %s, wird abgebrochen
%s: %s beim Initialisieren des Kontextes, wird abgebrochen
%s: %s, wird abgebrochen
%s: %s, es wird versucht, den Standard-Realm abzufragen
%s: Zu wenig Speicher zum Initialisieren
%s: Protokolldatei konnte nicht abgebildet werden
%s: ungültiges Passwort
%s: KDC kann nicht initialisiert werden. Speicher reicht nicht aus
%s: Schlüsseltabelle %s existiert nicht.
%s: Für Principal %s existiert kein Eintrag in der Schlüsseltabelle %s.
%s: Für den Principal %s mit der KVNO %d existiert kein Eintrag in der Schlüsseltabelle %s.
%s: Passwort falsch
%s: Passwort bei %s falsch
%s: Principal %s existiert nicht.
%s: Bei der Standardeingabe scheint es sich nicht um ein Netzwerk-Socket zu
	handeln (läuft nicht aus Inetd und die Option -S fehlt?).
%s: Es gibt nur einen Eintrag für Principal %s in der Schlüsseltabelle %s.
%s: unbekannte Iprop-Auszugsversion %d
%s: Kopfzeilen des Auszugs in %s können nicht gelesen werden.
Ausgabenzeichenkette des KDB5-Hilfswerkzeugs nicht konstruierbar, da zu lang; Speicher reicht nicht aus.%s: Die Ausgabezeichenkette des KDB5-Hilfswerkzeugs kann nicht erstellt werden, weil sie zu lang ist. Der Speicherplatz reicht nicht aus.%s: Speicher für die Realm-Liste kann nicht erlangt werden
%s: Realm %s kann nicht initialisiert werden - Einzelheiten finden Sie in der Protokolldatei
%s: Realm %s kann nicht initialisiert werden. Speicher reicht nicht aus
%s: kann nicht initialisiert werden: Speicher reicht nicht aus.
%s: <%s> kann nicht ausgewertet werden
%s: eingeschränkte Abtretung fehlgeschlagen%s: IPROP-Dienst wird erstellt (PROG=%d, VERS=%d)
%s: falsche Kopfzeilen des Auszugs in %s
%s: Die Auszugsversion %s kann nur mit dem Schalter -update geladen werden.
%s: Fehler beim Verarbeiten von Zeile %d von %s
%s: Fehler beim Schreiben auf %s
%s: Fehler beim Schreiben auf Gerät %s
%s: exec fehlgeschlagen: %s%s: Verzweigen fehlgeschlagen: %s%s: getclhoststr fehlgeschlagen%s: ungültige Argumente
%s: ungültige Beschränkung: %s%s: KVNO = %d
%s: KVNO = %d, Schlüsseltabelleneintrag gültig
%s: Zeile %d zu lang, wurde gekürzt%s: zu löschender Eintrag muss angegeben werden
%s: Die Schlüsseltabelle, die gelesen werden soll, muss angegeben werden.
%s: Die zu schreibende Schlüsseltabelle muss angegeben werden.
%s: Die zu lesende Dienstschlüsseltabelle muss angegeben werden.
%s: Speicherplatz reicht nicht aus
%s: Speicher reicht nicht zur Aufzeichnung der Principal-Namen aus%s: Auswertungsprogramm verlor Anzahl!
%s: pclose(popen) fehlgeschlagen: %s%s: popen fehlgeschlagen: %s%s: Fehler im regulären Ausdruck: %s
%s: Fehler beim Abgleich mit regulärem Ausdruck: %s
%s: Server-Identifikator ist NULL%s: setup_gss_names fehlgeschlagen%s: startet …
%s: Syntaxfehler in Zeile %d <%10s …>%s: Unstimmigkeit in der markierten Datenliste für %s (%d gezählt, %d gespeichert)
%s: Principal kann nicht in die normale Form gebracht werden
%s: Es kann kein Principal-Name herausgefunden werden.
%s: Standard-Realm kann nicht geholt werden
%s: Kiprop-rechnerbasierter Dienstname für Realm %s kann nicht geholt werden
%s: Aufruf: %s [-t] [-k] [-e]
%s: Warnung – Syntaxfehler bei Protokolleintrag
%s: Schreiben der Dienstschlüsseltabelle wird nicht länger unterstützt
%s; eingehende Seriennummer=%lu; ausgehende Seriennummer=%lu%s; eingehende Seriennummer=%lu; ausgehende Seriennummer=N/A%spreauth benötigt, aber Hinweisliste ist leer%u Principals verarbeitet: %u aktualisiert, %u bereits aktuell
%u Principals verarbeitet: %u würden aktualisiert, %u bereits aktuell
»%s« ist keine gültige Option
»%s« ist aktueller als »%s«.»%s« nicht gefunden: Wert »%s« fehlt(abgelaufen)(keine Zeichenkettenattribute)
(Principal %s)(Geben Sie als Bestätigung »yes« ein)? ** Datenbank »%s« vernichtet
** Datenbank von »%s« vernichtet
Die Optionen -Z und -z schließen sich gegenseitig aus.
Die Option »-norandkey« ist nur für »kadmin.local« gültig.
Die Optionen -z und -Z schließen sich gegenseitig aus.
…  EINHESCHRÄNKTE DELEGIERUNG s4u-client=%s… PROTOKOLLÜBERGANG s4u-client=%s0 ist kein gültiger KVNO-Wert: %s ist kein gültiger Verschlüsselungstyp: %s ist kein gültiger MkeyVNO<Verschlüsselungstyp 0x%x><Salt-Typ 0x%x>Eine der Anmeldedaten war ungültig.Es wurde bereits ein neueres Merkmal verarbeitet.Ein Parameter hatte eine falsche FormEin benötigter Eingabeparameter konnte nicht gelesen werden.Ein benötigter Eingabeparameter konnte nicht geschrieben werden.Ein erforderlicher Ausgabeparameter konnte nicht geschrieben werden.Ein Dienst, der zum Verarbeiten der Abfrage erforderlich ist, ist nicht verfügbar.Ein übergebener Name hatte einen nicht unterstützten Typ.Ein Merkmal hatte eine ungültige Meldungsintegritätsprüfung (Message Integrity Check/MIC).Ein Merkmal hatte eine ungültige Signatur.Ein Merkmal war ungültig.AD-TypenALARMDie von der Anwendung angegebene Version der API-Struktur wird nicht länger unterstützt. (Kompilieren Sie die Anwendung mit den aktuellen KADM5-API-Header-Dateien und -Bibliotheken, um dies zu beheben.)Die von der Anwendung angegebene Version der API-Struktur ist den Bibliotheken unbekannt. (Besorgen Sie sich die aktuellen KADM5-API-Header-Dateien und -Bibliotheken und kompilieren Sie die Anwendung neu, um dies zu beheben.)Die von der Anwendung angegebene Version der API-Struktur wird nicht länger von den Bibliotheken unterstützt. (Aktualisieren Sie die Anwendung, dass sie zu der aktuellen API-Version passt, und kompilieren Sie sie, um dies zu beheben.)Die von der Anwendung angegebene Version der API-Struktur wird nicht länger vom Server unterstützt. (Aktualisieren Sie die Anwendung, dass sie zu der aktuellen API-Version passt, und kompilieren Sie sie, um dies zu beheben.)Die von der Anwendung angegebenene API-Version ist den Bibliotheken unbekannt. (Besorgen Sie sich die aktuellen KADM5-API-Header-Dateien und -Bibliotheken und kompilieren Sie die Anwendung neu, um dies zu beheben.)Die von der Anwendung angegebene API-Version ist dem Server unbekannt. (Besorgen und installieren Sie sich den neuesten KADM5-Admin-Server, um dies zu beheben.)ASN.1 falscher Rückgabewert von Gmtimefehlerhaft formatierte ASN.1-KodierungASN.1-Kodierung endete unerwartetASN.1 beim Aufruf der Systemzeitbibliothek gescheitertASN.1-Bezeichner passt nicht zum erwarteten WertLänge von ASN.1 passt nicht zum erwarteten WertASN.1 fehlt erwartetes EOCnicht konstruierte unbestimmte ASN.1-KodierungASN.1-Objekt in Sequenz ausgelassenASN.1-Auswertungsfehlerein erforderliches Feld fehlt in der ASN.1-StrukturASN.1-Typnummern sind inkonsistentASN.1 unerwartete FeldnummerASN.1-Wert zu großAS_REQ (%s) %s: %s: %s für %s%s%sAS_REQ (%s) %s: PROBLEM: Authentifizierungszeit %d, %s, %s für %sAS_REQ: handle_authdata (%d)Abnehmer und Initiator haben keinen gemeinsamen PrüfsummentypZugriff verweigertKonto %s: Autorisierung für %s zum Ausführen von
Konto %s: Autorisierung für %s zum Ausführen von %s fehlgeschlagen
Konto %s: Autorisierung für %s erfolgreich
Konto %s: Autorisierung von %s fehlgeschlagen
Hinzufügen
zusätzlich Vorauthentifizierung erforderlichAdministratordiensteDer Administrationsrechner unterstützt beim Erstellen von »%s« kein -nokey
Verwaltungsanmeldedaten NICHT VERNICHTET
keine Tickets erlaubtAlle Schlüssel für Principal »%s« wurden entfernt.
Alle Schlüssel sind in Gebrauch, keiner wurde vollständig entfernt.
erlaubte Schlüssel-/Salt-Typen: %s
alternative Authentifizierungsmethode erforderlichEin erwartetes nachrichtenspezifisches Token wurde nicht empfangen.Ein ungültiger Name wurde übergeben.Ein ungültiger Statuscode wurde übergeben.Es wurde eine nicht unterstützte kritische FAST-Aktion angefordert.Ein nicht unterstützter Mechanismus wurde angefordert.Anonymes Pkinit wird nicht ohne öffentlichen DH-Wert unterstützt.»ap-request«-Schutz nicht mit TGS gestattetSind Sie sicher, dass Sie die Richtlinie »%s« löschen möchten? (yes/no): Sind Sie sicher, dass Sie den Principal »%s« löschen möchten? (yes/no): Sind Sie sicher, dass Sie den Principal »%s« in »%s« umbenennen möchten? (yes/no): Es wurde zweimal versucht, die Datenbank zu sperren.Es wurde versucht, die Datenbank zu entsperren, obwohl sie nicht gesperrt ist.Es wurde versucht, einen unvollständigen Sicherheitskontext zu verwenden.Attribut von Principal »%s« wurde gelöscht.
Attribute für Principal »%s« wurden gesetzt.
Attribute:Authentifizierungskontext muss lokale Adresse enthaltenAuthentifizierungskontext muss ferne Adresse enthaltenAuthentifiziert %s
Authentifiziert für Kerberos v5
Authentifizierung als Principal %s mit Standardschlüsseltabelle
Authentifizierung als Principal %s mit existierenden Anmeldedaten
Authentifizierung als Principal %s mit Schlüsseltabelle %s
Authentifizierung als Principal %s mit Passwort
Authentifizierung als Principal %s mit Passwort; Anonymität erwünscht
Authentifizierungsversuch fehlgeschlagen: %s, GSS-API-Fehlermeldungen:AuthentifizierungsfehlerAuthentifizierung fehlgeschlagen.
Schlüsselziffer hat keinen Unterschlüsselfalsche SAM-Schalter in »obtain_sam_padata«Es wurde eine falsche Anwendungsversion (über Sendauth) verschicktfalsche Prüfsumme in der SAM-Aufforderungfalsche Schalter zum Erstellen der Datenbankfalsche Richtung zum Umwandeln von Schlüsselnfalscher Verschlüsselungstypfalsches Format im Anmeldedatenzwischenspeicherfalsches Format in der Schlüsseltabellefalscher Rechnername des KRB5-Admin-Serversfalscher Wert für die Lebensdauer %s
falscher Wert für Lebensdauer (%s Stunden?)
falscher Sperrmodusfalsche magische Zahl für FAST-Anfragefalsche magische Zahl für FAST-Antwortfalsche magische Zahl für GSSAPI OIDfalsche magische Zahl für GSSAPI QUEUEfalsche magische Zahl für per FAST geschützte Anfragefalsche magische Zahl für »iakerb_ctx_id_t«falsche magische Zahl für Krb5_address-Strukturfalsche magische Zahl für Krb5_alt_method-Strukturfalsche magische Zahl für Krb5_ap_rep-Strukturfalsche magische Zahl für Krb5_ap_rep_enc_part-Strukturfalsche magische Zahl für Krb5_ap_req-Strukturfalsche magische Zahl für Krb5_auth_context-Strukturfalsche magische Zahl für Krb5_authdata-Strukturfalsche magische Zahl für Krb5_authdata_contextfalsche magische Zahl für Krb5_authenticator-Strukturfalsche magische Zahl für Krb5_ccache-Strukturfalsche magische Zahl für Krb5_krb5_checksum-Strukturfalsche magische Zahl für Krb5_checksum_entry-Strukturfalsche magische Zahl für Krb5_context-Strukturfalsche magische Zahl für Krb5_cred-Strukturfalsche magische Zahl für Krb5_cred_enc_part-Strukturfalsche magische Zahl für Krb5_cred_info-Strukturfalsche magische Zahl für Krb5_creds-Strukturfalsche magische Zahl für Krb5_cryptosystem_entry-Strukturfalsche magische Zahl für Krb5_cs_table_entry-Strukturfalsche magische Zahl für Krb5_data-Strukturfalsche magische Zahl für Krb5_db_context-Strukturfalsche magische Zahl für Krb5_enc_data-Strukturfalsche magische Zahl für Krb5_enc_kdc_rep_part-Strukturfalsche magische Zahl für Krb5_enc_sam_response_encfalsche magische Zahl für Krb5_enc_tkt_part-Strukturfalsche magische Zahl für Krb5_encrypt_bloc-Strukturfalsche magische Zahl für Krb5_error-Strukturfalsche magische Zahl für Krb5_etype_info_entry-Strukturfalsche magische Zahl für »krb5_gss_cred_id_t«falsche magische Zahl für »krb5_gss_ctx_id_t«falsche magische Zahl für »krb5_gss_enc_desc«falsche magische Zahl für Krb5_kdc_rep-Strukturfalsche magische Zahl für Krb5_kdc_req-Strukturfalsche magische Zahl für Krb5_krb5_keyblock-Strukturfalsche magische Zahl für Krb5_keytab-Strukturfalsche magische Zahl für Krb5_keytab_entry-Strukturfalsche magische Zahl für Krb5_last_req_entry-Strukturfalsche magische Zahl für Krb5_os_context-Strukturfalsche magische Zahl für Krb5_pa_data-Strukturfalsche magische Zahl für Krb5_preauth_opsfalsche magische Zahl für Krb5_predicted_sam_responsefalsche magische Zahl für Krb5_principal-Strukturfalsche magische Zahl für Krb5_priv-Strukturfalsche magische Zahl für Krb5_priv_enc_part-Strukturfalsche magische Zahl für Krb5_pwd_data-Strukturfalsche magische Zahl für Krb5_rcache-Strukturfalsche magische Zahl für Krb5_response-Strukturfalsche magische Zahl für Krb5_safe-Strukturfalsche magische Zahl für Krb5_sam_challengefalsche magische Zahl für Krb5_sam_challenge_2falsche magische Zahl für Krb5_sam_keyfalsche magische Zahl für Krb5_sam_responsefalsche magische Zahl für Krb5_sam_response 2falsche magische Zahl für Krb5_ticket-Strukturfalsche magische Zahl für Krb5_tkt_authent-Strukturfalsche magische Zahl für Krb5_transited-Strukturfalsche magische Zahl für Passwd_phrase_elementfalscher Principal beim Versuch, Anmeldedaten weiterzuleitenfalsche Antwort (beim Sendauth-Austausch)Es wurde eine falsche Sendauth-Version verschicktfalscher Wert für die Startzeit %s
Bind-DN-Eintrag »%s« fehlt in der LDAP-Passwortdatei »%s«Puffer hat die falsche GrößeVom Master wurde ein Signal empfangen, dass er ausgelastet ist, Zurückhaltung für %d Sekunden
KRITISCH»iprop_get_updates_1()« wird aufgerufen (sno=%u sec=%u usec=%u)
Hauptschlüssel kann nicht abgeholt werden (Fehler: %s)Der neue ergänzende Zwischenspeicher kann nicht erzeugt werdenDer neue ergänzende Zwischenspeicher kann nicht erstellt werden, da der Standardzwischenspeicher bereits eine Ergänzung ist.Der neue ergänzende Zwischenspeicher kann nicht erstellt werden, da der Standardzwischenspeicher keine Ansammlung von Verzeichnissen ist.Wiederholungszwischenspeicher kann nicht vernichtet werden: %sClient-Principal %s kann nicht in der Zwischenspeicheransammlung gefunden werdenZu UID %lu kann kein Benutzername gefunden werden.Kerberos-Konfigurationsdatei kann nicht geöffnet/gefunden werdendie Lname-Übersetzungsdatenbank kann nicht geöffnet/gefunden werdenRealm-Übersetzungsdatei kann nicht geöffnet/gefunden werdenaus dem Wiederholungszwischenspeicher kann nicht gelesen werden: %sZertifikat kann nicht überprüft werdenin Wiederholungszwischenspeicherdatei kann nicht geschrieben werden: %s%s der Wiederholungszwischenspeicherdatei %s nicht möglich: %s%s des Wiederholungszwischenspeichers nicht möglich: %sServer-Socket kann nicht an %s gebunden werdenmit LDAP-Server »%s« kann keine Verbindung als »%s« hergestellt werden: %smit LDAP-Server »%s« kann keine Verbindung mit SASL-Mechanismus »%s« hergestellt werden: %sGSS-API-Authentifizierungsnamen können nicht gebildet werden.Schlüsseltabelle mit aktiven Schlüsseltabelleniteratoren kann nicht geändert werdengeschützter Principal kann nicht geändert werdenfür Realm »%.*s« kann nicht KDC kontaktiert werdenFür den angeforderten Realm kann kein KDC kontaktiert werden.V5-Adressinformationen können nicht umgewandelt werdenV5-Schlüsselblock kann nicht umgewandelt werdenV5-Principal kann nicht umgewandelt werdenLDAP-Identifikator für »%s« kann nicht erstellt werden: %sRPC-Dienst kann nicht erstellt werden: %s; es wird fortgefahrenAuf %s kann kein TCP-Server-Socket erstellt werden.Zertifikatskette kann nicht erstellt werden: %sTicket für %s kann nicht mittels des Schlüsseltabellenschlüssels für %s entschlüsselt werdenRealm für Rechner kann nicht bestimmt werdenRealm für numerische Rechneradresse kann nicht bestimmt werdenSO_REUSEADDR kann nicht für Dateideskriptor %d aktiviert werdenKDC für Realm »%.*s« kann nicht gefunden werdenKDC für angeforderten Realm kann nicht gefunden werdenDer aktive Hauptschlüssel kann nicht gefunden werden.Schlüssel für %s-KNVO %d kann nicht in der Schlüsseltabelle gefunden werdenSchlüssel für %s-KNVO %d kann nicht in der Schlüsseltabelle gefunden werden (angefragter Ticketserver %s)Hauptschlüsseldatensatz kann nicht in der Datenbank gefunden werdenTicket für angeforderten Realm kann nicht gefunden werdenDer gespeicherte Hauptschlüssel kann nicht gefunden/gelesen werden.»fstat« für Antwortzwischenspeicherdatei %s nicht möglich: %sGSSAPI-Dienstname kann nicht initialisiert werdenAuf dem TCP-Server-Socket kann nicht auf eine Verbindung gewartet werden auf %s.Datenbank kann nicht gesperrt werdenLDAP-Passwortdatei »%s« kann nicht geöffnet werden: %sPasswort kann nicht gelesen werdenRPC-Dienst kann nicht registriert werden: %s; es wird fortgefahrenPaketinformation für UDP-Socket-Adresse %s, Port %d, kann nicht abgefragt werdenAdresse des Admin-Servers »%s« für Realm »%s« kann nicht ermittelt werdenNetzwerkadresse für KDC im angeforderten Realm kann nicht aufgelöst werdenDie Netzwerkadresse für den Admin-Server im angeforderten Realm kann nicht aufgelöst werden.Das Passwort kann nicht erneut verwendet werden.GSS-API-Authentifizierungsnamen können nicht gesetzt werden.Die KDB-Schlüsseltabelle kann nicht eingerichtet werden.Wiederholungszwischenspeicherdatei kann nicht synchronisiert werden: %sin angegebene Schlüsseltabelle kann nicht geschrieben werdenCcache-Funktion nicht unterstützt: nicht implementiertCcache-Funktion nicht unterstützt: Ccache-Typ nur lesbarZertifikat passt nichtAnforderung für Activcard-MechanismusAnforderung für Digital-Pathway-MechanismusAnforderung für erweiterten S/Key-MechanismusAnforderung für Enigma-Logic-MechanismusAnforderung für Security-Dynamics-MechanismusAnforderung für traditionellen S/Key-MechanismusAnforderung vom AuthentifizierungsserverUID wird zu %s (%ld) geändert
Prüfsumme muss enthalten seinClient »%s« wurde nicht in der Kerberos-Datenbank gefundenClient-Name passt nichtClient nicht in der Kerberos-Datenbank gefundenClient nicht vertrauenswürdigClient noch nicht gültig – versuchen Sie es später noch einmalClient oder Server hat einen NullschlüsselEintrag des Clients in der Datenbank ist abgelaufenDer Schlüssel des Clients wurde mit einem alten Hauptschlüssel verschlüsselt.Client-/Server-Realm passen in der anfänglichen Ticketanfrage nicht zusammen.Anmeldedaten des Clients wurden widerrufenUhrzeitabweichung zu großZeitversatz in der KDC-Antwort zu großKommunikation mit dem Server fehlgeschlagenBedingter Auszug ist eine nicht dokumentierte Option, die nur für Iprop-Auszüge benutzt wird.Konfigurationsdatei gibt keinen Standard-Realm anVerbindung von %sVerbindung zum Server ist bereits initialisiertVerbindung zum Server nicht initialisiertKontext wurde bereits vollständig eingerichtetUmwandlung in Dienst-Principal für Namenstyp nicht definiertbeschädigt
beschädigtes Kopfzeilenprotokoll, wird beendet

beschädigter Aktualisierungseintrag

Der Principal-Name konnte nicht reserviert werden.

Temporärer Schlüsseltabellendateiname konnte nicht erstellt werden.Das Inetd-Socket konnte nicht dupliziert werden: %sDas Erweiterungsmodul %s namens »%s« konnte nicht gefunden werden.Es konnte kein TGT geholt werden für /dev/null konnte nicht geöffnet werden: %sIprop-Ulog kann nicht geöffnet werden.
»gss_buffer_t«-Daten konnten reserviert werdenProtokolldatei %s konnte nicht geöffnet werden: %s
»database_name« kann nicht gelesen werden

Ulog-Datei %s konnte nicht neu initialisiert werden

Es wird ein neuer Hauptschlüssel für den Hauptschlüssel-Principal »%s« erstellt.
Anmeldedatenzwischenspeicherverzeichnis %s existiert nicht.Anmeldedatenzwischenspeicherverzeichnis %s existiert, ist jedoch kein VerzeichnisAnmeldedatenzwischenspeicher hat kein TGTAnmeldedatenzwischenspeicher ist leerfalsche Form des AnmeldedatenzwischenspeichernamensTyp des Anmeldedatenaufrufs ist unbekanntAnmeldedatenzwischenspeicher-E/A-Aktion fehlgeschlagen (%s)E/A-Aktion für Anmeldedatenzwischenspeicher fehlgeschlagen XXXAnmeldedatenzwischenspeicherdatei »%s« nicht gefundenSchlüsselbund %s des Anmeldedatenzwischenspeichers nicht gefundenAnmeldedatenzwischenspeicherrechte nicht korrektAnmeldedatenzwischenspeichertyp ist bereits registriertAnmeldedaten für den Server wurden widerrufeninterner Fehler des VerschlüsselungssystemsDie aktuell minimale Lebensdauer des Passworts ist nicht abgelaufen.DES-Schlüssel hat falsche ParitätDES-Schlüssel ist schwachDN-Information fehltDN liegt außerhalb ders Teilbaums des RealmsDatenbankfehler! Erforderlicher KADM5-Principal fehltfehlerhaftes DatenbankformatDatenbank wurde bereits initialisiertDatenbank wurde nicht initialisiertDatenbankinkonsistenz entdecktDatenbank ist gesperrt oder wird gerade benutzt – versuchen Sie es später wiederInitialisieren der Datenbankbibliothek fehlgeschlagenDer Datenbankladeprozess für eine vollständige Verbreitung ist abgeschlossen.
Datenbankmodul passt nicht zur KDC-VersionDie Datenbank ist zur Zeit nicht geöffnet!Datenbank nicht initialisiertDatenbank nicht gesperrtDatenbankverbreitung auf %s: ERFOLGREICH
Datenbank-LesefehlerDatensatz ist unvollständig oder beschädigtDatenbank-SpeicherfehlerDatenbanktyp nicht unterstütztDatenbank wurde während des Lesens geändertDekodieren außerhalb der DatenEntschlüsselungsintegritätsprüfung fehlgeschlagenStandard-Realm nicht gesetztLöschen
Löschen fehlgeschlagen: Ein oder mehrere Principals gehören zur Ticket-Richtlinie.Sind Sie sicher, dass die KDC-Datenbank von »%s« gelöscht werden soll?
Die in »%s« gespeicherte KDC-Datenbank wird gelöscht. Sind Sie sicher?
Kurzfassung im Zertifikat nicht akzeptiertKurzfassung in signierten Daten nicht akzeptiertNOTFALLFEHLER vom Master-KDC zurückgegeben, Ausstieg
FEHLER vom Master zurückgegeben, Ausstieg
Leere Passwörter sind nicht erlaubt.Kodierung zu langverschlüsselte Aufforderung wurde außerhalb des FAST-Tunnels verwendetVerschlüsselungstyp %s nicht erlaubtVerschlüsselungstyp nicht erlaubtVerschlüsselungstyp %d hat keine PRFEnde des Anmeldedatenzwischenspeichers erreichtEnde der Schlüsseltabelle erreichtDateiende bei der E/A des WiederholungszwischenspeichersGeben Sie # einGeben Sie die den DN des Kerberos-Containers ein: Geben Sie den Wert des Einwegpasswort-Tokens anGeben Sie es erneut ein.Geben Sie ein neues Passwort ein.Geben Sie das Passwort für Principal »%s« ein.Eintrag existiert bereits in der DatenbankDekodieren der eingetragenen Daten fehlgeschlagen

Der Eintrag für Principal %s mit KVNO %d wurde aus der Schlüsseltabelle %s entfernt.
Der Eintrag für Principal %s mit KVNO %d und Verschlüsselungstyp %s wurde der Schlüsseltabelle %s hinzugefügt.
FehlerFehler beim Erstellen der Datei %sFehler in »krb5_auth_con_ini«: %sFehler in »krb5_auth_con_setaddrs«: %sFehler in »krb5_auth_con_setflags«: %sFehler in »krb5_copy_prinicpal«: %sFehler in »krb5_kt_resolve«: %sFehler in »krb5_recvauth«: %sFehler beim Verarbeiten der LDAP-Datenbankparameter:Fehler beim Lesen des Attributs »%s«: %sFehler beim Lesen der LDAP-Server-Parameters:Fehler beim Lesen des Container-Objekts: Fehler beim Lesen des Kerberos-Container-Speicherorts aus der »krb5.conf«.Fehler beim Lesen des Passworts aus der Ablage: Fehler beim Lesen der Passwortdatei für das DienstobjektFehler beim Lesen der Ticket-RichtlinieFehler beim Lesen der Ticket-Richtlinie:Fehlermeldung vom Client: %s
Fehlermeldung vom Server: %s
Fehler beim Schreiben in den AnmeldedatenzwischenspeicherFehler beim Schreiben in SchlüsseltabelleFehler: falscher Eintrag – %s in Datei %s. CMD_PATH enthält keine Pfade.
Fehler: falscher Eintrag – %s in Datei %s muss entweder ein vollständiger Pfad oder nur ein Befehlsname sein.
Fehler: falscher Eintrag – %s in Datei %s. Da %s nur ein Befehlsname ist, muss CMD_PATH definiert sein.
Fehler: falscher Pfad %s in CMD_PATH für %s muss mit »/« beginnen
Fehler: nicht gefunden -> Etype (Skey, TKT): %s, Innerhalb des FAST-Containers wird »FX_ERROR pa-data« erwartet.Ablaufdatum: %s
exponentieller Wartezyklus
zusätzliche Argumente (beginnend mit »%s«)
FAST-geschützte Vorauthentifizierung erforderlich, aber nicht vom KDC unterstütztFAST-»req_checksum« ungültig; Anfrage geändertDer FAST-Anwort fehlt die Beendigungsnachricht in der KDC-AnwortHolen von Objektbezügen fehlgeschlagenFehlgeschlagene Anmeldeversuche: %d
Das Umwandeln des Passworts in Dezimalschreibweise ist fehlgeschlagen.Datei %s konnte nicht geöffnet werden: %sNeukonfiguration des Netzwerks fehlgeschlagen, wird beendetSchreiben des Passworts für das Dienstobjekt in eine Datei fehlgeschlagenFehlschlag!Feld ist für diese Implementierung zu langSchalter: %svollständige Verbreitungsübertragung beendet
vollständige Verbreitungsübertragung gestartet
Fehler beim vollständigen erneuten Synchronisieren vom Master
Beim vollständigen erneuten Synchronisieren gab der Master ein ungültiges Ergebnis zurück.
erneutes vollständiges Synchronisieren erforderlich
vollständiges erneutes Synchronisieren nicht gestattet
Anfrage nach vollständigem erneuten Synchronisieren genehmigt
Anfrage nach vollständigem erneuten Synchronisieren genehmigtvollständiges erneutes Synchronisieren, ungültiger Rückgabewert vom Master-KDCvollständiges erneutes Synchronisieren, nicht gestattetGSS-API- (oder Kerberos-) Fehlerallgemeiner Fehler (siehe E-Text)allgemeiner Fehlschlag der Vorauthentifizierungallgemeiner ferner Fehler: %s
allgemeiner unbekannter Wiederholungszwischenspeicherfehlerallgemeiner unbekannter Wiederholungszwischenspeicher-/E/A-Fehlerallgemeiner AktualisierungsprotokollfehlerAuf Wiedersehen
inkrementelle Aktualisierungen erhalten (sno=%u sec=%u usec=%u)
Signal zur Anfrage des Beendens empfangenSignal zum Zurücksetzen empfangenHW-Authentifizierung erforderlichChronikeintrag enthält keine SchlüsseldatenRechnername kann nicht in Normalform gebracht werdenRechnername in der Zeichenkette »SERVICE-NAME« konnte nicht in Normalform gebracht werdenE/A-Fehler im Wiederholungszwischenspeicher-E/A-Codeungültiges Zeichen in Komponentennamewiderrechtlicher Konfigurationsparameter für lokalen KADM5-Clientwiderrechtlicher Konfigurationsparameter für fernen KADM5-ClientWiderrechliches Realm-übergreifendes Ticketunzulässiger Richtliniennameunzulässiger Principal-Nameungültige Verwendung eines PlatzhaltersUngültige Versionsnummer für KRB5_TL_ACTKVNO %d
Ungültige Versionsnummer für KRB5_TL_MKEY_AUX %d
Format der Kerberos-Konfigurationsdatei ist ungeeignetFormat der Realm-Übersetzungsdatei ist ungeeignetFormat des Eintrags der Übersetzungsdatenbank ist ungeeignetungeeigneter Prüfsummentyp in der Nachrichtinkonstistenter SchlüsselzweckFalsche Kanalbindungen wurden übergeben.falsche Nachrichtenrichtungfalsche Netzwerkadressefalsches Passwortfalsches Passwort in verschlüsselter Aufforderungfalsche Sequenznummer in der Nachrichtinkrementelle Verbreitung aktiviert
inkrementelle Aktualisierungen: %d Aktualisierungen / %lu usinkrementelle Aktualisierungen: %d Aktualisierungen / %lu us
anfängliche Ticket-Antwort scheint ein Fehler der Version 4 zu seinErstpasswort erforderlichinitialisierter Zwischenspeicher
Datenbank »%s« für Realm »%s« wird initialisiert,
Hauptschlüsselname »%s«
Datenbank für Realm »%s« wird initialisiert
Kadm5 wird als Client %s initialisiert
unsicherer Dateimodus für Wiederholungszwischenspeicherdatei %sunsicherer mkstemp()-Dateimodus für Antwortzwischenspeicherdatei %s; versuchen Sie, dieses Programm mit der Umask 077 auszuführenkeine ausreichenden Zugriffsrechte zum Sperren der DatenbankZugriffsrechte reichen nicht zur Durchführung der angeforderten Aktionunzureichende Berechtigung für diese Aktionkeine ausreichenden Rechte zum Sperren der DateiPlatz reicht nicht zur Rückgabe aller Informationen ausPlatz im System reicht nicht zum Speichern der Wiederholungsinformationeninterner Anmeldedatenzwischenspeicherfehlerinterner Fehler beim Auswerten von »X509_user_identity«
Interner Fehler: Befehl %s wurde nicht aufgelöst
ungültig!ungültige Kombination von KDC-Optionen (interner Bibliotheksfehler)ungültiger Kerberos-Container-DNungültige UID im beständigen Schlüsselbundnamenungültige UTF-8-Zeichenketteungültige Zusatzattributeungültiges Zertifikatungültige Anmeldedaten wurden übergebenungültige Datumsangabe »%s«
ungültiger Verschlüsselungstyp in der SAM-Aufforderungwiderrechtlicher Verschlüsselungstyp für Setv4keyfalsche Feldlänge im Tokenungültige Feldmaske für Aktionungültiger Schalter für den Datei-Sperrmodusungültiges Format der Kerberos-Lebensdauer oder der Zeitversatzzeichenketteungültiger KDB-Sperrmodusungültige Parameter zum Erzeugen von Schlüsseln vom KDCungültige Schlüssel-/Salt-Tupelungültiger Schlüsselbundverankerungsnameungültiger Nachrichtentypder zum Kodieren angegebene Nachrichtentyp ist ungültigungültige Modulangabeungültiger Modulbezeichner %sungültige Anzahl von Zeichenklassenungültige Passwortchronikanzahlungültige Passwortlängeungültiges Pkinit-Paket: Achtbit-Zeichenkette erwartetungültiger Richtliniennameungültiger Principal-Nameungültige Signaturungültiges TokenEs wurde ein ungültiges Token übergeben.Iprop nicht aktiviert
Es ist wichtig, dass Sie dieses Passwort NICHT VERGESSEN.
Sperrdatei der KADM5-Verwaltungsdatenbank fehltAntwort des KCM-Daemons zu großKDB-Modul benötigt Argument »-update«KDC-DiensteKDC kann erforderliche Option nicht erfüllenKDC unterstützt diesen Prüfsummentyp nichtKDC unterstützt diesen Verschlüsselungstyp nichtKDC unterstützt diesen Padata-Typ nichtKDC unterstützt diesen Übergangstyp nichtKDC wurde mit dem Master synchronisiert.
KDC-Name passt nichtKDC nicht vertrauenswürdigKDC-Richtlinie weist die Anfrage zurückKDC-Richtlinie verwirft durchgereichten PfadKDC-Antwort entsprach nicht den ErwartungenKDC gab eine Fehlermeldung zurück: %.*sKRB5-Fehlercode 101KRB5-Fehlercode 102KRB5-Fehlercode 103KRB5-Fehlercode 104KRB5-Fehlercode 105KRB5-Fehlercode 106KRB5-Fehlercode 107KRB5-Fehlercode 108KRB5-Fehlercode 109KRB5-Fehlercode 110KRB5-Fehlercode 111KRB5-Fehlercode 112KRB5-Fehlercode 113KRB5-Fehlercode 114KRB5-Fehlercode 115KRB5-Fehlercode 116KRB5-Fehlercode 117KRB5-Fehlercode 118KRB5-Fehlercode 119KRB5-Fehlercode 120KRB5-Fehlercode 121KRB5-Fehlercode 122KRB5-Fehlercode 123KRB5-Fehlercode 124KRB5-Fehlercode 125KRB5-Fehlercode 126KRB5-Fehlercode 127KRB5-Fehlercode 30KRB5-Fehlercode 53KRB5-Fehlercode 54KRB5-Fehlercode 55KRB5-Fehlercode 56KRB5-Fehlercode 57KRB5-Fehlercode 58KRB5-Fehlercode 59KRB5-Fehlercode 82KRB5-Fehlercode 83KRB5-Fehlercode 84KRB5-Fehlercode 87KRB5-Fehlercode 88KRB5-Fehlercode 89KRB5-Fehlercode 90KRB5-Fehlercode 91KRB5-Fehlercode 92KRB5-Fehlercode 94KRB5-Fehlercode 95KRB5-Fehlercode 96KRB5-Fehlercode 97KRB5-Fehlercode 98KRB5-Fehlercode 99KVNO des neuen Hauptschlüssels passt nicht zum erwarteten WertKVNO: %d
KVNO: %d, Verschlüsselungstyp: %s, aktiviert auf: %s
KVNO: %d, Verschlüsselungstyp: %s, aktiviert auf: %s *
KVNO: %d, Verschlüsselungstyp: %s, keine Aktivierungszeit gesetzt
Kerberos 4 wird nicht mehr unterstützt.
Erstellen des Kerberos-Containers FEHLGESCHLAGEN: %sLöschen des Kerberos-Containers FEHLGESCHLAGEN: %sKerberos-Container-Information fehltKerberos-V4-FehlerTabelle magischer Zahlen von Kerberos V5Kerberos-Container-Speicherort nicht angegebenKerberos-Datenbankbeschränkungen verletztinterner Kerberos-DatenbankfehlerInitialisieren der Kerberos-Bibliothek fehlgeschlagenKerberos-Passwort für %s: Kerberos-Dienst unbekanntKerberos 4 Unterstützung ist deaktiviertEs wurde ein zufälliger Schlüssel für %s erzeugt
Schlüssel für %s (hexadezimal): Schlüsselparameter nicht akzeptiertDie Schlüssellänge in der Datenbank ist ungültig,Schlüssellänge ist nicht mit dem Verschlüsselungstyp kompatibelSchlüsseltabelleneintrag nicht gefundenSchlüsseltabellendatei »%s« nicht gefundenfalsche Form des SchlüsseltabellennamensSchlüsseltabellentyp ist bereits registriertSchlüsselversion ist nicht verfügbarSchlüsselversionsnummer des Principals in der Schlüsseltabelle ist nicht korrektSchlüsseltabelle %s existiert nicht oder ist leerSchlüsseltabelle enthält keine passenden Schlüssel für %sSchlüsseltabellennamen zu langBeenden des Fullprop-Kindprozesses (%d) wird erzwungen
Kpropd sendet Datenbankgröße %d, erwartet wurde %dLDAP-Bindungs-DN-Wert fehltLDAP-Bindungs-Passwortwert fehltzuletzt geändert: %s (%s)
Letzte Passwortänderung: %s
letzte erfolgreiche Authentifizierung: %s
UID bleibt %s (%ld)
Zufällige Daten werden geladen.Zufällige Daten werden geladen.
lokaler Rechnername konnte nicht bestimmt werdenSchleife innerhalb von »krb5_get_in_tkt« entdecktMKey: vno %d
Mach-RPC-Fehler beim der Kommunikation mit dem KCM-DaemonStellen Sie sicher, dass Sie den alten Principal aus allen ACLs entfernt haben, bevor Sie ihn erneut benutzen.
Stellen Sie sicher, dass Sie diesen Principal aus allen ACLs entfernt haben, bevor Sie ihn erneut benutzen.
Antwort des KCM-Daemons hat die falsche FormDarstellung des Principals in falscher FormFehler wegen Anfrage in falscher FormHauptschlüssel passt nicht zur Datenbankkeine passenden Anmeldedaten gefundenmaximale verlängerbare Lebensdauermaximale Ticketlebensdauermaximale Anzahl falscher Passworteingaben vor dem Sperren: %lu
maximale Passwortlebensdauer: %ld
maximale verlängerbare Lebensdauer: %s
maximale Ticketlebensdauer: %s
Mechanismus ist nicht korrektNachrichtenkontext ungültigNachricht ist eine WiederholungNachricht nicht in OrdnungErkennung der Antwortnachricht erfordert den Parameter »rcache«Nachrichtengröße ist nicht mit Verschlüsselungstyp kompatibelNachrichtendatenstrom geändertDie benötigte Mindestanzahl von Verbindungen pro Server ist zweiminimale Anzahl von Passwortzeichenklassen: %ld
minimale Passwortlänge: %ld
minimale Passwortlebensdauer: %ld
sonstiger PRC-Fehler: %s, %ssonstiger Fehlschlagnicht zusammenpassende Verschlüsselungstypen für Setkey3fehlende Prüfsumme in der SAM-Aufforderungfür Kadmin-Client benötigte Parameter fehlen in »krb5.conf«erforderliche ACL-Dateikonfiguration fehlterforderliche Realm-Konfiguration fehltmehrere Werte für einzelnen Verschlüsselungstyp oder Verschlüsselungstyp mit Saltgegenseitige Authentifizierung fehlgeschlagenHINWEIS: Für %s wurde keine Richtlinie angegeben, es wird »default« zugewiesen
neues Passwortneues Passwort (erneut)Das neue Passwort kann nicht die Länge Null haben.Das neue Passwort besteht aus zu wenigen Zeichenklassen.
Die Zeichenklassen sind:
	- Kleinbuchstaben,
	- Großbuchstaben,
	- Ziffern,
	- Satzzeichen und
	- alle anderen Zeichen (z.B. Steuerzeichen).
Bitte wählen Sie ein Passwort mit mindestens %d Zeichenklassen.Das neue Passwort ist zu kurz.
Bitte wählen Sie ein Passwort, das mindestens %d Zeichen lang ist.Das neue Passwort wurde in einem Wörterbuch mit möglichen Passwörtern gefunden
und kann daher leicht erraten werden. Bitte wählen Sie ein anderes Passwort.
Hilfe bei der Wahl guter Passwörter finden Sie in der Handbuchseite von
»kpasswd«.Das neue Passwort wurde zuvor schon benutzt. Bitte wählen Sie ein anderes Passwort.neue Passwörter stimmen nicht überein – Passwort nicht geändert
keine @ in der Namenszeichenkette SERVICE-NAMEkeine DUP_SKEY-Anfragenkein FehlerKein KCM-Server gefundenkeine Kerberos-Anmeldedaten verfügbarkeine TGT-basierten Anfragenkein akzeptables KDF angebotenkein Administrationsserver für den Realm gefundenEs gibt keinen Schutzschlüssel aber eine FAST-geschützte Anfragekeine Autorisierungsdaten erforderlichEs wurde keine Kontext etabliert.kein Anmeldedatenzwischenspeicher gefundenkeine Anmeldedaten mit unterstützten Verschlüsselungstypen gefundender Bibliotheks-Routine wurden keine Anmeldedaten geliefertEs wurden keine Anmeldedaten übergeben.Es wurden keine Anmeldedaten übergeben oder die Anmeldedaten waren nicht verfügbar bzw. ein Zugriff darauf nicht möglich.kein Standard-Realm gesetzt; KDB kann nicht initialisiert werdenkeine Wörterbuchdatei angegeben, es wird ohne fortgefahrenkein FehlerFür %s wurde kein Schlüsseltabelleneintrag gefunden.Es wurde kein zu %s passender Schlüsseltabelleneintrag gefunden.keine Schlüssel in der SchlüsseltabelleFür den Principal-Namen wurde kein lokaler Name gefunden.kein passender Schlüssel im Eintragkein passender Schlüssel in einem Eintrag mit erlaubtem Verschlüsselungstypkein weiterer Speicher zu reservieren (im Anmeldedatenzwischenspeichercode)kein weiterer Speicher reservierbar (im Wiederholungszwischenspeicher-E/A-Code)kein Speicher mehr zu reservieren (im Wiederholungszwischenspeichercode)kein Passwort angegeben
Für Realm %s werden keine »pkinit_anchors« bereitgestellt.Für Realm %s wird keine »pkinit_identity« bereitgestellt.Kein Principal in der Schlüsseltabelle passt zum gewünschten Namen.Für Pkinit-Unterstützung wurden keine Realms korrekt konfiguriert.kein derartiger Eintrag in der Datenbankkeine unterstützten Verschlüsselungstypen (Fehler in der Konfigurationsdatei?)keine unterstützten Tokenkein ticketgewährendes TicketFür den angeforderten Principal ist keine Übersetzung verfügbar.keine Optionen der Nutzeridentität angegebennicht weiterleitbarnicht vordatierbarkein hexadezimales PasswortSpeicher reicht nicht aus
Proxy nicht nutzbarnicht erneuerbarHinweisAnzahl der Schlüssel: %d
Anzahl aufbewahrter alter Schlüssel: %ld
OK als VertreterOK, Datenbank »%s« wird gelöscht …
OK, die Datenbank von »%s« wird gelöscht …
Ok, es wird nichts getan.
Ok, die nicht verwendeten Hauptschlüssel von »%s« werden vollständig entfernt …
Anforderung des Einwegpassworts:Einwegpasswort-Token-PINWert des Einwegpassworts entspricht keinem Token-FormatAlte Schlüssel für Principal »%s« wurden entfernt.
Entweder -c oder -p muss angegeben werden.
Nur eine -I-Option ist erlaubt.
Nur eine »-c«-Option ist erlaubt.
Nur eine der Optionen -c oder -p ist erlaubt.
Nur eine -t-Option ist erlaubt.
nur ein gehärteter Ccache
Nur eine der Optionen -a und -A ist erlaubt.
Nur eine der Optionen -f und -F ist erlaubt.
Nur eine der Optionen -p und -P ist erlaubt.
Nur eine der Optionen -t und-i ist erlaubt.
Aktion aus nicht näher beschriebenem Grund fehlgeschlagenAktion erfordert »add«-RechtAktion erfordert das »change-password«-RechtAktion erfordert »delete«-RechtAktion erfordert »get«-RechtAktion erfordert das »list«-RechtAktion erfordert »modify«-RechtAktion erfordert das »set-key«-RechtDie Option -P (eingeschränkte Abtretung) erfordert zur Angabe eine Schlüsseltabelle.
Die Option -P (eingeschränkte Abtretung) erfordert die Option -U (Protokollübergang)
Die Optionen -u und -S schließen sich gegenseitig aus.
Speicherplatz reicht nicht aus.
PA-Option %s = %s
PRF-Eingabe zu langPROCESS_TGS: Abstammungsprüfung fehlgeschlagenPaket wurde in falscher Richtung erneut abgespieltPassphrase fürPasswortdienstePasswortänderung erforderlichPasswortänderungsdienstDas Passwort kann nicht geändert werden, da es erst vor kurzem geändert wurde.
Bitte warten Sie bis %s, ehe Sie es ändern.
Falls Sie es vorher ändern müssen, kontaktieren Sie Ihren
Systemsicherheitsadministrator.Ändern des Passworts fehlgeschlagenPasswortänderung abgelehntPasswort geändert
Passwort beschädigtDas Passwort enthält nicht genug Zeichenklassen.Passwortablaufdatum: %s
Passwort abgelaufen. Sie müssen es nun ändern.Rücksetzintervall für zu viele falsch eingebene Passwörter: %s
Passwort für »%s«Passwort von »%s« geändert
Passwort für %.1000sPasswort für %sPasswort ist abgelaufenDie Passwortchronikschlüssel des Principals passen nicht zusammen.Passwort beim Holen des anfänglichen Tickets falschDas Passwort steht im Passwortwörterbuch.Das Passwort ist zu kurz.Passwortsperrdauer: %s
Das Passwort darf nicht mit dem Principal-Namen übereinstimmen.Das Passwort darf keinen Anwenderdaten entsprechen.Die minimale Lebensdauer des Passworts ist größer als die maximale.Passwort stimmt nicht übereinPasswort nicht geändertLesen des Passworts unterbrochenZugriff im Wiederholungszwischenspeichercode verweigertPkinit-Anfrage nicht signiert, Client ist jedoch nicht anonymBitte wählen Sie aus dem Folgenden aus:
Bitte geben Sie den neuen Hauptschlüssel ein …
Erweiterung unterstützt nicht die SchnittstellenversionErweiterung unterstützt diese Aktion nichtErweiterungsmodulname nicht gefundenRichtlinie »%s« nicht gelöscht
Richtlinie existiert nichtRichtlinie ist in BenutzungRichtlinie verwirft durchgereichten PfadRichtlinie: »%s«
Richtlinie: %s%s
Vorauthentifizierungsmodul %s: %sVorauthentifizierung fehlgeschlagenVorauthentifizierung erforderlichvorzeitiges EOF für Datenbankdatei gefunden!Principal »%s« gelöscht
Principal »%s« wurde geändert.
Principal »%s« nicht gelöscht
Principal »%s« wurde nicht umbenannt.
Principal »%s« wurde in »%s« umbenannt.
Für Principal %s ist Realm vorhandenPrincipal %s fehlt erforderlicher RealmPrincipal-Container-BezugHinzufügen des Principals fehlgeschlagen: %sLöschen des Principals fehlgeschlagen (es wird versucht, den Eintrag zu ersetzen): %sPrincipal gehört nicht zum RealmPrincipal gehört nicht zum Standard-RealmPrincipal existiert nichtPrincipal hat in der Kerberos-Datenbank mehrere EinträgePrincipal im Anmeldedatenzwischenspeicher entspricht nicht dem gewünschten NamenPrincipal oder Richtlinie existiert bereitsPrincipal oder Richtlinie existiert nichtPrincipal: %s
Principals, deren Schlüssel mit dem Hauptschlüssel VNO %u neu verschlüsselt WÜRDEN:
Principals, deren Schlüssel mit dem Hauptschlüssel VNO %u neu verschlüsselt werden, falls nötig:
Das Programm rief eine veraltete, gelöschte Funktion auf.Dem Programm fehlt es an der Unterstützung des Adresstyps.Dem Programm fehlt es an der Unterstützung für den Prüfsummentyp.Dem Programm fehlt es an der Unterstützung für den Verschlüsselungstyp.Dem Programm fehlt es an der Unterstützung für den Schlüsseltyp.Fehler des Programmierers! Falsche API-StrukturversionFehler des Programmierers! Falsche API-VersionFehler des Programmierers! Falscher Admin-Server-IdentifikatorFehler des Programmierers! Widerrechlicher Listentyp für gekennzeichnete DatenProtokollübergang mit Vertretung erlaubtProtokollversion passt nichtAsymetrische Verschlüsselung nicht unterstütztDer/Die folgende(n) Hauptschlüssel werden/wird von %s vollständig entfernt:
RPC-»svc_freeargs« fehlgeschlagen (%s)RPC-»svc_getargs« fehlgeschlagen (%s)RPC-»svc_sendreply« fehlgeschlagen (%s)unbekannte PRC-Anfrage: %d (%s)RSA-MD5 unterstütztZufallszahlengenerator konnte kein Startwert zugewiesen werdenSollen alle Schlüssel neu verschlüsselt werden, die nicht die Hauptschlüssel-VNO %u verwenden?Geben Sie das Passwort für »%s« erneut ein.Geben Sie das Passwort für Principal »%s« erneut ein.Löschen des Realms FEHLGESCHLAGEN: %sRealm-NameRealm-Information nicht verfügbarRealm für KDC nicht lokalDie empfangene Token-Kennung passt nicht zur erwarteten Token-Kennung.Das Ulog wurde neu initialisiert.
Iprop wird neu initialisiert, da Aktualisierungen fehlgeschlagen sind
Zurückgewiesene Verbindung von nicht authorisiertem Principal %sZurückgewiesene Verbindung von nicht autorisiertem Principal %s
Wiederholungszwischenspeicher-E/A-Aktion fehlgeschlagenAuswerte-/Formatfehler im WiederholungszwischenspeichernamensWiederholungszwischenspeichertyp unterstützt keinen beständigen SpeicherWiederholungszwischenspeichertyp ist bereits registriertWiederholungszwischenspeichertyp ist unbekanntAntwort hat die falsche Form des Sitzungschlüssels für eine anonyme AnfrageAnfrage lieferte kein TicketAnfrage ist eine WiederholungDer Anfrage fehlt das zweite Ticket.abgefragter Ticketserver %s wurde in der Schlüsseltabelle gefunden, er passte jedoch nicht zu Server-Principal %sAbgefragter Ticketserver %s KVNO %d mit Verschlüsselungstyp %s in der Schlüsseltabelle gefunden, Ticket kann jedoch nicht entschlüsselt werden.Abgefragter Ticketserver %s KVNO %d wurde in der Schlüsseltabelle gefunden, jedoch nicht mit Verschlüsselungstyp %s.Abgefragter Ticketserver %s KVNO %d wurde nicht in der Schlüsseltabelle gefunden; Schlüsseltabelle ist wahrscheinlich nicht mehr aktuell.Abgefragter Ticketserver %s KVNO %d wurde nicht in der Schlüsseltabelle gefunden; Ticket ist wahrscheinlich abgelaufen.Abgefragter Ticketserver %s wurde nicht in der Schlüsseltabelle gefunden (Ticket KVNO %d).Anfrage: %s, %.*s%s, %s, Client=%.*s%s, Dienst=%.*s%s, Adresse=%sAnfrage: %s, %s, %s, Client=%s, Dienst=%s, Adresse=%sAnfrage: %s, hervorgebrachter Neusynchronisationsprozess %d, Client=%s, Dienst=%s, Adresse=%sAnfrage: kadm5_init, %.*s%s, %s, Client=%.*s%s, Dienst=%.*s%s, Adresse=%s, Version=%d, Variante=%dAnfrage: kadm5_rename_principal, %.*s%s bis %.*s%s, %s, Client=%.*s%s, Dienst=%.*s%s, Adresse=%sDie angeforderte effektive Lebensdauer ist negativ oder zu kurz.Der angeforderte Verschlüsselungstyp wird in der Nachricht nicht verwendet.angeforderte »lucid«-Kontextversion nicht unterstütztangeforderter Principal und Ticket passen nicht zusammenangeforderte Protokollversion nicht unterstütztabgefragter Server und Ticket passen nicht zusammenanforderndes Ticket kann keine weiterleitbaren Tickets holenerforderliche Parameter in »kdc.conf« fehlenerforderlicher Vorauthentifizierungsschlüssel nicht bereitgestelltAntwort für UDP zu groß, erneuter Versuch mit TCPWiderrufsstatus nicht verfügbarWiderrufsstatus unbekanntwiderrufenes ZertifikatSAM-AuthentifizierungSPNEGO-Abnehmer hat kein gültiges Token zurückgeliefertSPNEGO-Abnehmer hat keinen Mechanismus ausgewähltSPNEGO kann keine Mechanismen zum Aushandeln finden.SPNEGO ist beim Beschaffen von Anmeldedaten gescheitertSPNEGO ist beim Aushandeln eines Mechanismus gescheitert.STRING-UID-NAME enthält etwas anderes als ZiffernSuchbereichStartwert des Zufallszahlengenerators wird erzeugtSequnznummer im Token ist beschädigtServer %s wurde nicht in der Kerberos-Datenbank gefundenServerfehlerServer nicht in der Kerberos-Datenbank gefundenServer noch nicht gültig – versuchen Sie es später noch einmalServer-Principal %s hat keinen passenden Schlüssel in der SchlüsseltabelleServer-Principal %s passt nicht zum abgefragten Ticketserver %sDer Server-Principal ist nur für »user2user« gültigServer wies Authentifizierung (beim Sendauth-Austausch) zurückEintrag des Servers in der Datenbank ist abgelaufenDer Schlüssel des Servers wurde mit einem alten Hauptschlüssel verschlüsselt.Dienst deaktiviertDienstschlüssel nicht verfügbarDienst antwortet nichtLänge des Dienstpassworts ist NullUm Kadm5 neu zu initialisieren, wird %d Sekunden gewartet (RPC-FEHLER).
Um Kadm5 neu zu initialisieren, wird %d Sekunden gewartet (läuft Krb5kdc nicht?).
stabil
Es wird immer noch auf das vollständige erneute Synchronisieren gewartet.
gespeicherte Anmeldedaten
Der gespeicherte Hauptschlüssel ist beschädigt.gespeicherter Hauptschlüssel ist nicht aktuellDas Speichern von Abnehmeranmeldedaten wird nicht durch den Mechanismus unterstützt.Das Speichern von Nichtstandardanmeldedaten wird nicht durch den Mechanismus unterstützt.Dateiname des ergänzenden Zwischenspeicherpfads %s beginnt nicht mit »tkt«Ergänzender Zwischenspeicherpfad %s hat kein übergeordnetes Verzeichnis.TeilbaumErfolgDie bereitgestellten Daten werden nicht von dieser Erweiterung behandelt.TCP-Client %s will %lu Byte, Cap ist %luTCP-Socket-Deskriptornummer %d (für %s) zu hochTGS_REQ %s: %s: Authentifizierungszeit %d, %s für %s, 2. TKT-Client %sTGS_REQ (%s) %s: %s: Authentifizierungszeit %d, %s%s %s für %s%s%sTGS_REQ: handle_authdata (%d)TGS_REQ: SITZUNGSSCHLÜSSEL oder BEIDERSEITIGTGS_REQ: UNBEKANNTER SERVER: Server=»%s«TGS_REQ: TGT %s wird erstelltTGS_REQ: alternativer <nicht nicht auswertbarer> TGT wird erstelltTGT wurde widerrufenTemporäre Ablagedatei existiert bereits: %s.Der IAKERB-Proxy konnte kein KDC finden.Das KDC anwortete dem IAKERB-Proxy nicht.Das KDC sollte diese Anfrage verwerfenDer Kontext ist abgelaufen.Die Verwendung der angegebenen Anmeldedaten passt nicht zur angeforderten Verwendung.Die Aktion wird durch die lokale Sicherheitsrichtinie verboten.Die Aktion wird durch die lokale Sicherheitsrichtinie verboten.Die Aktion oder Option ist nicht verfügbar.Die Aktion oder Option ist nicht verfügbar oder wird nicht unterstützt.Das Passwort kann nur einmal täglich geändert werden.Das Passwort kann nur alle %d Tage geändert werden.Das Passwort muss sich vom vorhergehenden Passwort unterscheiden.Das Passwort muss sich von den vorhergehenden %d Passwörtern unterscheiden.Das Passwort muss mindestens %d Zeichen enthalten.Das Passwort muss mindestens %d Zeichen enthalten.Das Passwort muss Zahlen oder Symbole enthalten. Fügen Sie keinen Teil Ihres Namens in das Passwort ein.Der bereitgestellte Name war nicht mechanismusspezifisch (MN).Die Qualität des Schutzes (quality-of-protection/QOP) konnte nicht bereitgestellt werden.Die angeforderte Qualität des Schutzes konnte nicht bereitgestellt werden.Der referenzierte Kontext ist abgelaufen.Die referenzierten Anmeldedaten sind abgelaufen.Die referenzierten Anmeldedaten sind abgelaufen.Das angeforderte Anmeldedatenelement existiert bereits.Die Routine wurde erfolgreich abgeschlossenDie Routine muss erneut aufgerufen werden, um ihre Funktion zu vervollständigen.Der Salt-Typ des angegebenen Principals unterstützt kein Umbenennen.Das Ticket ist nicht für uns.Das Merkmal war ein Zweitexemplar eines früheren Merkmals.Die Gültigkeitsperiode des Merkmals ist abgelaufen.Es gibt nur einen einzigen Hauptschlüssel, der nicht vollständig entfernt werden kann.
Diese Krb5-Bibliothek ist abgelaufen.Diese Anwendung ist abgelaufen.Dies wird das Richtlinienobjekt »%s« löschen, sind Sie sicher?
Ticket-Richtlinienname fehltDN des Ticket-Richtlinienobjekts fehltTicket-Richtlinienobjekt-Information fehltTicketzwischenspeicher %cNICHT%c vernichtet!
Ticketzwischenspeicher NICHT vernichtet!
Ticketzwischenspeicher: %s:%s
Standard-Principal: %s

Ticket abgelaufenTicket-FlagsDas Ticket hat einen falsch gesetzten Schalter.Ticket ist zum Vordatieren ungeeignetTicket in der KDC-Antwort verändertTicket noch nicht gültigTicket/Schlüsselziffer passen nicht zueinanderToken-Kopfzeilen haben die falsche Form oder sind beschädigtdem Token fehlen DatenToken wurde zurückgeworfenzu wenige Argumentezu viele zeichenkettenabbildenden DatenVerfolgung nicht unterstütztVersuchen Sie es mit einem etwas komplexeren Passwort oder wenden Sie sich an Ihren Administrator.UID lässt sich nicht zu Benutzernamen ermittelnauf die Kerberos-Datenbank kann nicht zugegriffen werdenLetzter Hauptschlüssel kann nicht mit dem bereitgestellten Hauptschlüssel entschlüsselt werden.
angeforderter Datenbanktyp kann nicht gefunden werdenangeforderter Datenbanktyp kann nicht gefunden werden. %sStandard-Realm kann nicht geholt werdenBenutzer kann nicht identifiziert werden
Der Benutzer kann nicht anhand der Passwortdatei identifiziert werden.
Kerberos kann nicht initialisiert werden

Vorauthentifizierungskontext konnte nicht initialisiert werden.Signalbehandlungsprogramme in PID %d konnten nicht initialisiert werdenangefordertes Datenbankmodul »%s« kann nicht geladen werden: Erweiterungssymbol »kdb_function_table« nicht gefundenProtokolldatei %s kann nicht abgebildet werden

Protokoll kann nicht abgebildet werden!
Kerberos-Container kann nicht gelesen werdenRealm kann nicht gelesen werdenHauptschleife konnte nicht neu initialisiert werdenUnauthorisierte Anfrage: %s, %.*s%s, Client=%.*s%s, Dienst=%.*s%s, Adresse=%sunberechtigte Anfrage: %s, Client=%s, Dienst=%s, Adresse=%sUnauthorisierte Anfrage: kadm5_rename_principal, %.*s%s bis %.*s%s, Client=%.*s%s, Dienst=%.*s%s, Adresse=%sin fast_req wurde eine Prüfsumme ohne Schlüssel benutzt%s unbekannt (Feld = %d)unbekanntet FAST-Schutztyp %dunbekannter Schlüsseltabellentypunbekannter Anmeldedatenzwischenspeichertypunbekannte Schlüsselbundsammlungsversionunbekannte Schutzqualität angegebenunbekannter Signaturtyp im Tokenunbekannter Status: %d
unbekannte ACL-Aktion »%c« in %snicht spezifizierter GSS-Fehlschlag. Möglicherweise stellt der untergeordnete Code weitere Informationen bereit.nicht näher angegebener Passwortqualitätsfehlschlaginstabil
nicht unterstütztes Argument »%s« für DB2nicht unterstütztes Versionsnummernformat des Anmeldedatenzwischenspeichersnicht unterstützter Verschlüsselungstypnicht unterstütztes Versionsnummernformat der Schlüsseltabellenicht unterstützter Vorauthentifizierungstypnicht unterstütztes Versionsnummernformat des Wiederholungszwischenspeichersnicht unterstützter Salt-Typnicht unterstützter Typ bei der Verarbeitung von »%s«
nicht unterstützte Version im DatenbankeintragAktualisierungseintrag
Fehler beim Umwandeln des AktualisierungsprotokollsAktualisierungsprotokollauszug :
Aktualisierungsprotokoll ist beschädigtAktualisierungsprotokoll ist instabilAufruf: %s [-A] [-q] [-c Zwischenspeichername]
Aufruf: %s [-e] [-V] [[-c] [-l] [-A] [-d] [-f] [-s] [-a [-n]]] [-k [-t] [-K]] [Name]
Aufruf: %s [-r Realm] [-p Principal] [-q Abfrage] [clnt|lokale Argumente]
	clnt Argumente: [-s Admin-Server[:Port]] [[-c Ccache]|
	[-k [-t Schlüsseltabelle]]]|[-n] lokale Argumente: [-x DB-Argumente]*
	[-d Datenbankname] [-e "enc:Salt …"] [-m]
wobei
	[-x DB-Argumente]* - eine beliebige Anzahl datenbankspezifischer Argumente
	ist. Die unterstützten Argumente finden Sie in den jeweiligen 	Datenbankdokumentationen
Aufruf: %s [Zielbenutzer] [-n Principal] [-c Quellenzwischenspeichername] [-k] [-D] [-r Zeit] [-pf] [-l Lebensdauer] [-zZ] [-q] [-e Befehl [Argumente …] ] [-a [Argumente …] ]
Aufruf: %s Datenbankpfadname Realm-NameAufruf: %s {-c Zwischenspeichername | -p Principal}
Aufruf: kadmind [-x Datenbankargumente]* [-r Realm] [-m] [-nofork]
		[-port Portummer] [-p Pfad_zum_KDB5-Hilfswerkzeug] [-F Auszugsdatei]
		[-K Pfad_zu_Kprop] [-P PID-Datei]

dabei sind
	[-x Datenbankargumente]* - eine beliebige Anzahl datenbankspezifischer Argumente.
			Welche Argumente unterstützt werden, finden Sie in der Dokumentation der jeweiligen Datenbank.
Aufruf: kdb5_ldap_util [-D Benutzer-DN [-w Passwort]] [-H LDAP-URI]
	cmd [Befehlsoptionen]
create          [-subtrees DN-Liste_Teilbäume] [-sscope Suchbereich] [-containerref Container-Bezug-DN]
		[-m|-P Passwort|-sf Ablagedateiname] [-k mkeytype] [-kv mkeyVNO] [-s]
		[-maxtktlife maximale_Ticketlebensdauer]
		[-maxrenewlife maximale_Dauer_bis_zum_Erneuern_des_Tickets]
		[Ticket_Flags] [-r Realm]
modify          [-subtrees DN-Liste_Teilbäume] [-sscope Suchbereich] [-containerref Container-Bezug-DN]
		[-maxtktlife maximale_Ticketlebensdauer]
		[-maxrenewlife maximale_Dauer_bis_zum_Erneuern_des_Tickets]
		[Ticket_Flags] [-r Realm]
view            [-r Realm]
destroy                [-f] [-r Realm]
list
stashsrvpw      [-f Dateiname] Dienst-DN
create_policy   [-r Realm] [-maxtktlife maximale_Ticketlebensdauer]
		[-maxrenewlife maximale_Dauer_bis_zum_Erneuern_des_Tickets]
		[Ticket_Flags] Richtlinie
modify_policy   [-r Realm] [-maxtktlife maximale_Ticketlebensdauer]
		[-maxrenewlife maximale_Dauer_bis_zum_Erneuern_des_Tickets]
		[Ticket_Flags] Richtlinie
view_policy     [-r Realm] Richtlinie
destroy_policy  [-r Realm] [-force] Richtlinie
list_policy     [-r Realm]
Aufruf: kdb5_util [-x Datenbankargumente]* [-r Realm] [-d Datenbankname] [-k Mkeytype] [-M Mkeyname]
	        [-kv MkeyVNO] [-sf Ablagedateiname] [-m] Befehl [Befehlsoptionen]
	create  [-s]
	destroy [-f]
	stash   [-f Schlüsseldatei]
	dump    [-old|-ov|-b6|-b7|-r13|-r18] [-verbose]
	        [-mkey_convert] [-new_mkey_file mkey-Datei]
	        [-rev] [-recurse] [Dateiname [Principals …]]
	load    [-old|-ov|-b6|-b7|-r13|-r18] [-verbose] [-update] Dateiname
	ark     [-e Etype-Liste] Principal
	add_mkey [-e Etype] [-s]
	use_mkey kvno [Zeit]
	list_mkeys
Aufruf: ktadd [-k[eytab] Schlüsseltabelle] [-q] [-e Schlüssel-Salt-Liste] [-norandkey] [Principal | -glob Principal-Ausdruck] […]
Aufruf: ktadd [-k[eytab] Schlüsseltabelle] [-q] [-e Schlüssel-Salt-Liste] [Principal | -glob Principal-Ausdruck] […]
Aufruf: ktremove [-k[eytab] Schlüsseltabelle] [-q] Principal [kvno|»all«|»old«]
Änderung des Benutzers fehlgeschlagen: %sBenutzer-zu-Benutzer erforderlichStandardzwischenspeicher wird verwendet: %s
Existierender Zwischenspeicher wird verwendet: %s
Zur Aktualisierung der Ablagedatei werden existierende gelagert Schlüssel verwendet.
Schlüsseltabelle wird verwendet: %s
Neuer Zwischenspeicher wird verwendet: %s
verwendeter Principal: %s
Angegebener Zwischenspeicher wird verwendet: %s
Angegebener Eingabezwischenspeicher wird verwendet: %s
V5-Realm-Name ist länger als die V4-MaximallängeÜberprüfungsfehlerAnbieter:WARNUNG! Wörterbuchdatei %s kann nicht gefunden werden, es wird ohne fortgefahrenWARNUNG! Gefälschte/verstümmelte Anfrage: %d,   Client = %.*s%s, Server = %.*s%s, Adresse = %sWARNUNG! Gefälschte/verstümmelte Anfrage: %s, geforderter Client = %.*s%s, Server = %.*s%s, Adresse = %sWARNUNG: Ihr Passwort könnte offengelegt werden, falls Sie es hier eingeben und
WARNUNG: Ihr Passwort könnte offengelegt werden, falls Sie es hier eingeben und
WARNUNG: Für %s wurde keine Richtlinie angegeben, es wird die Vorgabe »keine
Richtlinie« verwandt.
WARNUNG: Richtlinie »%s« existiert nicht.
vor der erneuten Prufung auf Aktualisierungen wird %d Sekunden gewartet
WarnungWarnung! Mehrere DES-CBC-CRC-Schlüssel für Principal %s, Duplikate werden übersprungen.
Warnung! Kein DES-CBC-CRC-Schlüssel für Principal %s, es kann kein OV-kompatibler Datensatz erzeugt werden, wird übersprungen
Warnung: Ihr Passwort wird in %d Tagen am %s ablaufen.Warnung: Ihr Passwort wird in %d Stunden%s am %s ablaufen.Warnung: Ihr Passwort auf %s wird in weniger als einer Stunde ablaufen.Warnung: Hauptschlüssel kann nicht gelagert werden.
Warnung: Es wird ohne Hauptschlüssel fortgefahrenbeim Bestimmen des Dienst-Principal-Namens anhand der Schlüsseltabellebeim Auflösen der Standardschlüsseltabelle des Clientsbeim Rückgängigmachen der Namensauswertungbeim Umwandeln des Verschlüsselungstyps in eine ZeichenketteSind Sie sicher, dass alle nicht verwendeten Hauptschlüssel, die für Principal »%s« gespeichert sind, vollständig entfernt werden sollen?
Der/Die folgende(n) Hauptschlüssel würden/würde von %s vollständig entfernt:
falscher Principal in der Anfragefalsche ProtokollversionXDR-VerschlüsselungsfehlerSie müssen ein Passwort eingeben. Passwörter müssen mindestens ein Zeichen lang sein.
Sie werden nach einem neuen Datenbank-Master-Passwort gefragt.
Sie werden nach dem Master-Passwort der Datenbank gefragt.
Ihre UID passt nicht zu Ihrem Passworteintrag.
[niemals][keins]akzeptierte PRC-Verbindung auf Socket %d von %sKonto %s: Autorisierung fehlgeschlagen
addent: Fehler beim Lesen des Schlüssels
addent: unerlaubtes Zeichen im Schlüssel
dem Haupt-Principal wird ein neuer Hauptschlüssel hinzugefügtPuffer für neue TCP-Sitzung von %s wird reserviertDatenbankdateiname »%s« wird reserviertkrb5_get_init_creds_opt wird reserviert.»ap-request«-Schutz für etwas anderes als den lokalen TGS»ap-request«-Schutz ohne UnterschlüsselAsprintf konnte nicht genug Speicher reservieren, um die Ausgabe bereitzuhaltenes wird davon ausgegangen, dass das IPv6-Socket IPv4 akzeptiertÖffnen der Audit-Erweiterung %s fehlgeschlagen. Fehler=%iInitialisieren von »authdata« %s fehlgeschlagen: %sHandhabung von »authdata« %s fehlgeschlagen: %sAuthentifizierter Client: %s (etype == %s)
Authentifizierungsversuche gescheitert: %s, PRC-Authentifizierungsvariante %dfalscher Realm-Übergangspfad von »%s« zu »%s« über »%.*s%s«falscher Dienst-Principal %.*s%skaputte Adresse (Typ %d Länge %d)AufruffehlerSpeicher für Verbindungsinformation kann nicht reserviert werdenE/A-Ereignis kann nicht erzeugt werdenGrößenmerkmale können nicht zugeordnet werden.Richtlinie kann nicht ausgewertet werden (%d gelesen)
Zusätzliche Daten können nicht gelesen werden.Schlüsseldaten können nicht gelesen werden.Schlüssellänge und -version können nicht gelesen werden.Schlüsseltyp und -länge können nicht gelesen werden.Namenszeichenkette kann nicht gelesen werden.Principal-Attribute können nicht gelesen werden.Inhalt der markierten Daten kann nicht gelesen werden.Markierter Datentyp und Länge können nicht gelesen werden.Ereignis kann nicht gesichert werdenDas auf eine Verbindung wartende TCP-Socket kann nicht auf nicht-blockierendes %s gesetzt werden.Schlüssel-Salt-Liste kann nicht angegeben werden, wenn der Schlüssel nicht geändert wird
change_password: zu wenig Speicher
change_password: fehlendes Datenbankargumentchange_password: fehlendes Schlüssel-Salt-Listenargumentchange_password: fehlendes PasswortargumentPasswort wird geändert.check_rpcsec_auth: inquire_context fehlgeschlagen, Stat=%u»chpw«-Anfrage von %s für %.*s%s: %schpw«: Administratorschlüsseltabelle %s konnte nicht geöffnet werdenDie Principal-Namen von Client und Server müssen übereinstimmen.Ccache wird geschlossen.Dateideskriptor %d wird geschlossenAktion wird begonnenCcache-Name wird zusammengesetzt.Parameter für die Datenbank werden berechnet.Wert des Container-Bezugs: Platzhalter »%s« wird in einen regulären Ausdruck umgewandeltDatenbankargumente werden kopiertZurücksetzen kann nicht abgeschlossen werden, Fehler beim Löschen des Kerberos-Containers»date-time«-Zeichenkette »%s« konnte nicht ausgewertet werdenUlog-Kopfzeilen konnten nicht auf die Platte synchronisiert werdenRouting-Socket konnte nicht eingerichtet werden: %serstellte Richtlinie %s
%d Arbeitsprozesse werden erzeugtPID-Datei wird erstelltPrincipal des Rechnerdienstes wird erstelltAufruf wird erstelltArbeitsprozesse werden erzeugtaktuelle Rechte:Datenbank gesperrtFehlersuchmeldungDatenbank »%s« wird gelöscht.Die Datenbank von »%s« wird gelöscht.Deskriptor %d geschlossen, aber immer noch in »svc_fdset«Hauptschlüssel, der für Principal »%s« benutzt wird, wird bestimmtSO_LINGER auf dem TCP-Socket auf %s wird deaktiviert»do_iprop« fehlgeschlagen
hat keine geeigneten Tickets im Zwischenspeicher.
%s Dateideskriptor %d von %s wird verworfenFehler %ldFehler beim Reservieren zum nicht öffentlichen TCP-Versand!Fehler beim Kompilieren des umgewandelten regulären Ausdrucks »%s«Fehler beim Erzeugen des KRB_ERR_FIELD_TOOLONG-Fehlers! %sFehler beim erneuten Verschlüsseln des Schlüssels für Principal »%s«Dateideskriptornummer %d zu hochfertig, wird beendetfür Container-Bezug beim Erstellen von Realm »%s«für Container-Bezug beim Ändern von Realm »%s«für lokale Dienstefür einen Teilbaum beim Erstellen von Realm »%s«für einen Teilbaum beim Ändern von Realm »%s«»get_updates«-Fehler vom Master
ungültiges »get_updates«-Ergebnis vom Master
»get_updates«-Master ausgelastet; hält sich zurück
Zugriff bei »get_updates« verweigert
Vom Master-KDC wurde ein »get_updates«-Fehler zurückgegeben.»get_updates«, ungültiger Rückgabewert vom Master-KDC»get_updates«, Zugriff verweigertgetaddrinfo(%s): Die Normalform des Rechnernamens kann nicht bestimmt werden.
getaddrinfo: %s
beim Holen der KonfigurationsparameterAnfängliche Anmeldedaten werden geholt.Anfängliches Ticket wird geholt.Lokale Adressen werden geholt.Principal wird vom Ccache geholt.Zufallsstartwert wird geholtPrincipal-Name wird im Klartext geholtgss_to_krb5_name: display_name fehlgeschlagen, Status %dName des Home-Verzeichnisses »%s« ist zu lang, Suche nach .k5login nicht möglich
Home-Verzeichnispfad für %s zu lang
Rechner/Domain-Name nicht gefundenin »krb5_auth_con_setaddrs«Informationwird initialisiertACL-Datei wird initialisiertKerberos-Bibliothek wird initialisiert.Netzwerk wird initialisiertungültiger Verschlüsselungstyp %sungültiger Suchbereich beim Erstellen von Realm »%s«Aufruf von »iprop_full_resync« fehlgeschlagenAufruf von »iprop_get_updates« fehlgeschlagenInitialisierung von Kadm5 fehlgeschlagen!
Initialisieren von Kadm5 erfolgreich
»kadm5_hook« %s ist beim Nach-Commit %s gescheitert: %sKerberos-Principal ist bereits mit einem LDAP-Objekt verknüpftSchlüsseldatei (%s) ist keine normale Datei: %sSchlüsseltabelle angegeben, -k wird erzwungen
Kpropd: erneutes vollständiges Synchronisieren erforderlichksu: Umgebungsvariable %s kann nicht gesetzt werden
ksu: Umgebungsvariable HOME kann nicht gesetzt werden
ksu: Umgebungsvariable SHELL kann nicht gesetzt werden
ksu: Umgebungsvariable USER kann nicht gesetzt werden
ksu: »initgroups« fehlgeschlagen
ksu: Zugriff verweigert (Shell)
ksu: unbekannter Anmeldename %s
ksu: Wer sind Sie?
LDAP-Objekt ist bereits an Kerberos angepasstVerweisinformation kann nicht eingerichtet/aktualisiert werden, da der Kerberos-Principal zu einem LDAP-Objekt gehört.auf Dateideskriptor %d wird auf eine Verbindung gewartet: RPC %sauf Dateideskriptor %d wird auf eine Verbindung gewartet: TCP %sauf Dateideskriptor %d wird auf eine Verbindung gewartet: UDP %s%sfalsch gebildeter Anmeldedatenzwischenspeichername %s
Aktualisierungsprotokoll wird abgebildetAblagedatei des Hauptschlüssels erfordert Aktualisierung, Befehl abgebrochenHauptschlüsselliste ist nicht initialisiertfehlender Principal-Namekeine Socket-Option für IPV6_V6ONLY unterstütztkeine Daten für Rechner/Domain-Namen verfügbarkeine Sockets eingerichtet?Nummer für einmaligen Gebrauch in der FAST-Anwort geändert: KDC-Anwort geändertÜbergangspfad wird nicht geprüftStandard-Ccache wird geöffnet.Die Aktion kann nicht fortfahren, da mehr als ein Principal namens »%s« gefunden wurde.Client-Name wird ausgewertet.Das Modul %s für Passwortqualität hat das Passwort für %s abgelehnt: %sAuszug von %s wird durchgeführtPktinfo sagt, die lokale Adresse sei %sNachschlagen des Erweiterungssymbols »kdb_function_table« fehlgeschlagen: %sErweiterung nicht verfügbar: %sInitialisieren von »preauth« %s fehlgeschlagen: %sEinrichten der Schleife von »preauth« %s fehlgeschlagen: %sPrincipal-Name %s für den internen Pufferbereich zu groß
Programmname zu lang – wird beendet, um das Auslösen von Systemprotokollierungsfehlern zu vermeidenRcache gehört nicht %d%d vom Routing-Socket gelesen, Nachrichtenlänge ist jedoch %dAktualisierungsprotokollkopfzeilen werden gelesenbereit
Wert des Realm-Objekts: Umbenennen von temporärer Schlüsseldatei (%s) in (%s) fehlgeschlagen: %serneuern bis Anmeldedaten werden erneuert.Ccache %s wird ermitteltStandardschlüsseltabelle des Clients wird ermittelt.Schlüsseltabelle wird ermittelt: %sFehler in einer RoutineDas Routing-Socket hat den Dateideskriptor %d.Dienstname unbekanntDienst nicht verfügbar%d Sockets werden eingerichtet»setpw«-Anfrage von %s durch %.*s%s für %.*s%s: %ssetsockopt(%d,IPV6_V6ONLY,1) fehlgeschlagensetsockopt(%d,IPV6_V6ONLY,1) funktioniertNetzwerk wird eingerichtet …ungenügende Daten (%d/%d) vom Routing-Socket gelesenungenügende Ausgabe der Antwort %d gegenüber %d
wird heruntergefahrenÜberwachungsprogramm empfing Signal %dsignalisiert vom Serversignalisiert vom Serverwird übersprungen: %s
Daemon-Prozess wird erzeugtangegeben für Suchbereich, während die Information für Realm »%s« geändert wirdStandardeingabestartetWert des Teilbaums: erfolgreichzusätzlicher InformationscodeTerminal-Name %s ist zu lang.
ein Hauptschlüssel muss derzeit aktiv seinWert des Ticket-Richtlinienobjekts: Ticket-Richtlinienobjekt: zu viele Verbindungenes wird versucht, die Principal-Datenbank zu verarbeiten»ulog_replay« fehlgeschlagen (%s), Aktualisierungen nicht registriert
»ulog_replay« fehlgeschlagen (%s), Aktualisierungen nicht registriertDie gespeicherten Schlüsseldaten des Principals (%s) konnten nicht dekodiert werden.Erweiterung [%s] konnte nicht gefunden werden: %sDLL [%s] konnte nicht geladen werdenErweiterung [%s] konnte nicht geladen werden: %sunerwarteter Fehler bei der Prüfung des Übergangs von »%s« zu »%s« über »%.*s%s«: %snicht behandelter Routing-Meldungstyp %d, es wird es nur zum Spaß neu konfiguriertunbekannter »addrtype« %dunbekannter Code 0x%xunbekannter Fehlschlagunbekannter Getaddrinfo-Fehlschlagunbekannte Option »%s«unbekannte Option: %sunbekannter Datensatztyp »%s«
nicht druckbare Adresse (Typ %d Fehler %d %s)wird aktualisiert: %s
Aufruf: %s (-key | -password) -p Principal -k KVNO -e Verschlüsselungstyp
Aufruf: %s [-C] [-u] [-c Ccache] [-e Etype]
Aufruf: %s [-x Datenbankargumente]* [-d Datenbankpfadname]
		[-r Datenbank-Realm-Name] [-m] [-k Hauptverschlüsselungstyp]
		[-M Hauptschlüsselname] [-p Port] [-P PID-Datei]
		[-n] [-w Arbeitsprozessanzahl] [/]

dabei sind
	[-x Datenbankargumente]* - eine beliebige Anzahl datenbankspezifischer Argumente.
			Welche Argumente unterstützt werden, finden Sie in der Dokumentation der jeweiligen Datenbank.
Aufruf: %s [Principal]
Aufruf: add_principal [Optionen] Principal
Aufruf: change_password [-randkey] [-keepold] [-e Schlüssel-Salt-Liste] [-pw Passwort] Principal
Aufruf: del_string Principal Schlüssel
Aufruf: delete_policy [-force] Richtlinie
Aufruf: delete_principal [-force] Principal
Aufruf: get_policies [Ausdruck]
Aufruf: get_policy [-terse] Richtlinie
Aufruf: get_principal [-terse] Principal
Aufruf: get_principals [Ausdruck]
Aufruf: get_privs
Aufruf: get_strings Principal
Aufruf: modify_principal [Optionen] Principal
Aufruf: purgekeys [-all|-keepkvno älteste_KVNO_die_behalten_wird] Principal
Aufruf: rename_principal [-force] alter_Principal neuer_Principal
Aufruf: set_string Principal Schlüssel Wert
Aufruf: %s [Optionen] Richtlinie
Anmeldedaten werden geprüft.Variable fehlt }warten auf Kprop-Verbindung
waitpid() schlug beim Warten auf doit() fehl (%d %s)
wenn der Standard-Principal-Name des Servers erstellt wirdbeim Zusammenstellen der Parameterbeim Initialisieren des Zwischenspeichers %swenn der Name %s ausgewertet wirdbeim Rückgängigmachen der Auswertung des Namensbei %sbeim Akzeptieren der Verbindungbeim Hinzufügen von Einträgen zur Datenbankbeim Hinzufügen von Einträgen in die Datenbankbeim Hinzufügen des Schlüssels zur Schlüsseltabellebeim Hinzufügen des Hauptschlüsseleintrags zur Datenbankbeim Hinzufügen eines neuen Eintragsbeim Hinzufügen eines neuen Hauptschlüsselsbeim Hinzufügen der Option »preauth«beim Reservieren von »args.kvnos«beim Reservieren des »dump_ok«-Dateinamensbeim Reservieren des Dateinamens für die temporäre Dateibeim Reservieren des Dateinamens für »update_last_prop_file«beim Reservieren von »i_vector«beim Reservieren von »key_data«bei Reservieren von Speicherbeim Reservieren von Speicher für den Ziel-Ccache-Namenbeim Reservieren des temporären Dateinamenspeicherauszugsbeim Anhängen des Realms an den Principalbeim Versuch, »setsockopt« auszuführen (SO_KEEPALIVE)beim Versuch, eine Verbindung zum Master-KDC aufzubauen … wird erneut versuchtbeim Versuch, den Standard-Realm abzufragenbeim Authentifizieren am Serverbeim Anbinden an das auf Verbindung wartende Socketbeim Bilden des TGS-Namens für Realm %sbeim Erstellen des Principalsbeim Berechnen des Hauptschlüssel-Saltsbeim Berechnen des Hauptschlüssel-Saltsbeim Aufruf von »cc_filter«beim Aufruf von »waitpid«während der neue Principal in die normale Form gebracht wirdwährend der alte Principal in die normale Form gebracht wirdwährend der Principal in die normale Form gebracht wirdwährend der Principal-Name in die normale Form gebracht wirdbeim Ändern des Schlüssels von %sbeim Ändern des Passworts von »%s«.beim Ändern der Ziel-UID für das Zerstören von Ccachebeim Prüfen der Autorisierungbeim Prüfen, ob die Standardeingabe ein Socket istbeim Löschen von DISALLOW_ALL_TIX für »%s«.beim Leeren des Werts von %sbeim Schließen des Ccachesbeim Schließen von Ccache %sbeim Schließen der Datenbankbeim Schließen der Schlüsseltabellebeim Schließen der vorherigen Datenbankbeim Verbinden mit dem Serverbeim Erstellen meines Dienst-Realmsbeim Umwandeln von %s in den neuen Hauptschlüsselbei der Etype-Umwandlungbeim Umwandeln der lokalen Socket-Adressebeim Umwandeln der Server-Adressebeim Kopieren des Zwischenspeichers %s nach %sbeim Kopieren des Client-Principalsbeim Erstellen der Datei »last_prop«, »%s«beim Erstellen der Datei »ok«, »%s«beim Erstellen der PID-Dateibeim Erstellen der Datenbankbeim Erstellen der Datenbank »%s«beim Erstellen des Schlüsseltabellennamensbeim Erzeugen der Hauptschleifebeim Erstellen des neuen Hauptschlüsselsbei Erstellen von neuem Ziel-Ccachebeim Erstellen der Richtliniebeim Erstellen der Richtlinie »%s«beim Erstellen des Richtlinienobjektsbeim Erstellen des Principals %sbeim Erstellen von Realm »%s«beim Erstellen eines Socketsbeim Erstellen von Unterbefehlsargumentenbei Erstellen des temporären Zwischenspeichersbeim Erstellen des TGTs für lokalen Realmbeim Erstellen des Aktualisierungsprotokollsbeim Dekodieren der Datenbankgröße vom Clientbeim Dekodieren des Fehlerpakets vom Clientbeim Aufschlüsseln der Fehlerantwort vom Serverbeim Dekodieren des Tickets für %sbeim Entschlüsseln des Tickets für %sbeim Löschen eines Attributs von Principal »%s«beim Löschen der falschen Datenbank %sbeim Löschen von Eintrag %dbeim Löschen eines Eintrags aus der Schlüsseltabellebei Löschen der Richtlinie »%s«beim Löschen von Principal »%s«beim Zerstören des Zwischenspeichersbeim Zerstören des Zwischenspeichers %sbeim Zerstören des Richtlinienobjektsbeim Lösen vom Terminalbeim Bestimmen des lokalen Dienst-Principal-Namensbeim Bestimmen des Ziel-Ccache-Namensbeim Versenden (TCP)beim Versenden (UDP)beim Downgrade der Sperre auf »%s«beim Aufbereiten der Datenbankgrößebeim Beenden des Schlüsseltabellen-Scansbei Löschen des Zielzwischenspeichersbeim Expandieren des Ausdrucks »%s«.beim Abholen des Hauptschlüssels %s für Realm %sbeim Abholen der Hauptschlüsselliste für Realm %sbeim Abrufen von Principal %sbei der Suche nach den gerade verwendeten Hauptschlüsselnbeim Suchen nach Mkeywährend das Abfragem der Tickets endetbeim Erzeugen eines Kindprozessesbeim Formatieren des Haupt-Principal-Namensbeim Formatieren des ausgewerteten Principal-Namens für »%s«beim Freigeben von »ktlist«beim Freigeben des Principal-Eintragsbeim Erstellen von neuem Ccachebeim Erzeugen eines Teils des Ziel-Ccache-Namensbeim Holen von »%s«.beim Holen von Attributen für Principal »%s«beim Holen des Client-Principal-Namensbeim Holen des Kontextes für Realm %sbeim Holen der Anmeldedaten für %sbeim Holen der aktuellen Zeitbeim Holen des Standard-Ccachesbeim Holen der Standardschlüsseltabelle des Clientsbeim Holen der Standardschlüsseltabellebeim Holen des Standard-Realmsbeim Holen des Verschlüsselungsbeschreibungbeim Holen der Anfangsanmeldedatenbeim Holen der Anfangsanmeldedaten
beim Holen des Schlüsseltabellennamensbeim Holen der lokalen Socket-Adressebeim Holen der Hauptschlüssellistebeim Holen des Hauptschlüssels von Principal %sbeim Holen des Ziel-Ccache-Namensbeim Holen der Richtlinieninformation.beim Holen der Principal-Information.beim Holen des Quellenzwischenspeichersbeim Holen der Zeitbeim Holen der Tageszeitbei der Initialisierungbeim Initialisieren der Schnittstelle %sbeim Initialisieren der Schnittstelle %s, wird erneut versuchtbeim Initialisieren der Kerberos-5-Bibliothekbeim Initialisieren von Kerberos-Codebeim Initialisieren des SAMsbeim Initialisieren der Datenbankbeim Initialisieren der Datenbank für Realm %sbeim Initialisieren der Fehlerbehandlungbeim Initialisieren von »i_vector«beim Initialisieren von Krb5beim Initialisieren der Krb5-Bibliothekbeim Initialisieren von »krb5_context«beim Initialisieren des LDAP-Identifikatorsbeim Initialisieren des Lookaside-Zwischenspeichersbeim Initialisieren des Netzwerksbeim Initialisieren des Zufallsschlüsselgeneratorsbeim Initialisieren des Routing-Socketsbeim Initialisieren der Serverlistebeim Initialisieren des Signalbehandlungsprogrammsbeim Initialisieren des Zielzwischenspeichersbeim Initialisieren der Kerberos-Administrationsoberflächebeim Initialisieren des Aktualisierungsprotokollsbeim Aufführen der Ccache-Sammlungbeim Auflisten der Anmeldedatenzwischenspeicherbeim Auflisten der Richtlinienobjektebeim Auflisten der Realmsbeim Laden des/der Auditerweiterungsmoduls/Auditerweiterungsmodulebeim Sperren der Datei »ok«, »%s«beim Suchen nach dem Anmeldedatenzwischenspeicher %sbeim Nachschlagen der Liste aktiver KVNOsbeim Nachschlagen des aktiven Hauptschlüsselsbeim Nachschlagen der aktiven Version des Hauptschlüsselsbeim Nachschlagen der Mkey-Aux-Datenlistebeim Nachschlagen der Kerberos-Konfigurationbeim Aktivieren der neu geladenen Datenbankbeim Abbilden des Aktualisierungsprotokollsbeim Ändern von »%s«.beim Ändern der Information von Realm »%s«beim Ändern der Richtlinie »%s«beim Ändern des Richtlinienobjektsbeim Erlangen des Socketsbeim Öffnen von %sbeim Öffnen von %s zum Schreibenbeim Öffnen des Ccachesbeim Öffnen des Anmeldedatenzwischenspeichers %sbeim Öffnen des Anmeldedatenzwischenspeichers %sbeim Öffnen der Datenbankbeim Öffnen der Datenbankdatei, »%s«beim Öffnen des Standardanmeldedatenzwischenspeichersbeim Öffnen der Standardschlüsseltabellebeim Auswerten von »-add Principal-Name %s«beim Auswerten des Principal-Namens des Administratorsbeim Auswerten von Befehlsargumentenbeim Auswerten der Befehlsargumente
beim Auswerten der Schlüssel-Salts %sbeim Auswerten des Namens %sbeim Auswerten des neuen Principal-Namensbeim Auswerten des alten Principal-Namensbeim Auswerten der Optionenbeim Auswerten des Principalsbeim Auswerten des Principal-Namensbeim Auswerten des Principal-Namens %sbeim Auswertens des temporären Namensbeim dauerhaften Sperren der Datenbankbeim Bereitstellen der Zeitspezifikationbeim vollständigen Löschen der Schlüssel für Principal »%s«beim Erzeugen eines zufälligen Schlüssels für »%s«.beim Lesen der Kerberos-Container-Informationbeim Lesen des Zwischenspeichernamens aus dem Ccachebeim Lesen der Information der Richtlinie »%s«beim Lesen der Information von Realm »%s«beim Lesen der Kerberos-Container-Informationbeim Lesen der Schlüsseltabelle »%s«beim Lesen der LDAP-Konfigurationbeim Lesen der LDAP-Parameterbeim Lesen des Hauptschlüsselsbeim Lesen des Hauptschlüssels von der Tastaturbeim Lesen des neuen Hauptschlüsselsbeim Lesen des neuen Hauptschlüssels von der Tastaturbeim Lesen des neuen Passworts.beim Lesen des Passwortsbeim Lesen des Passworts von »%s«.beim Lesen des Passworts für »%s«
beim Lesen der Realm-Informationbeim Lesen der Antwort vom Serversbeim Lesen der Datenbankgröße vom Clientbeim Lesen der Dienstschlüsseltabelle »%s«beim Lesen der Aktualisierungsprotokollkopfzeilenbeim Empfangen vom Netzwerkbeim erneuten Beanspruchen der Root-UIDbeim erneuten Initialisieren des Aktualisierungsprotokollsbeim Umbenennen von %s in %swährend das Umbenennen der Auszugsdateien Gestalt annimmtbeim Umbenennen von Principal »%s« in »%s«beim Zurücksetzen des Ziel-Ccache-Namensbeim Auflösen von %sbeim Ermitteln des Ccaches %sbeim Ermitteln der KDB-Schlüsseltabelle für Realm %sbeim Ermitteln der Schlüsseltabellebeim Ermitteln der Schlüsseltabelle %sbei der Wiederaufnahme des Schlüsseltabellen-Scansbeim Abfragen der Konfigurationsparameterbeim Abfragen von »%s«.beim Abfragen eines Ticketsbeim Abfragen der Anmeldedaten aus dem Zwischenspeicherbeim Abfragen der höchsten KVNO der Schlüsseltabellebeim Abfragen der LDAP-Konfigurationbeim Abfragen der Liste.beim Abfragen des Haupteintragsbeim Abfragen der Richtlinie »%s«.beim Abfragen des Principalsbeim Abfragen des Principal-Namensbeim Abfragen von Rechtenbei der Rückkehr zur Quell-UID, nachdem der beste Principal gefunden wurdebeim Speichern von Principal %sbeim Scannen der Schlüsseltabellebeim Suchen nach Ccache für %sbeim Erzeugen des Startwerts des Zufallszahlengeneratorsbeim Auswählen des besten Principalsbeim Senden n empfangener Bytebeim Senden des Datenbankblocks, der bei %d beginntbeim Senden der Datenbankgrößebeim Senden der Antwort zu %s/%s von %sbeim Setzen von »%s«=»%s«beim Setzen des FAST-Ccachesbeim Setzen der Option SO_REUSEADDRbeim Setzen eines Attributes für Principal »%s«beim Setzen der Änderungszeit der Dateibeim Setzen des Client-Principal-Namensbeim Setzen des Client-Principal-Realmsbeim Einstellen des Standard-Realm-Namensbeim Setzen des Standard-Realms auf %sbeim Setzen der EUID auf dem Quellbenutzerbeim Setzen des Server-Principal-Namensbeim Setzen des Passworts für das Dienstobjektbeim Einrichten der KDB-Schlüsseltabelle für Realm %sbeim Einrichten des Verschlüsselungstyps %dein Einrichten der BibliotheksIdentifikatorsbeim Einrichten der Protokollierungbeim Einrichten des Hauptschlüsselnamensbeim Einrichten des Hauptschlüsselnamens %s für Realm %sbeim Start des Schlüsseltabellen-Scanswährend das Abfragen der Tickets beginntbeim Speichern von %sbeim Speichern der Anmeldedatenbeim Speichern des Schlüsselsbeim Zurückwechsel vom Ziel nach der Autorisierungsprüfungbeim Wechsel auf den Anmeldedatenzwischenspeicherbeim Wechsel zum neuen Ccachebeim Wechsel des Ziels der Autorisierungsprüfungbeim Umschalten auf die Ziel-UIDbeim Unterbrechen des Schlüsseltabellen-Scansbeim Umwandeln des Hauptschlüssels vom Passwortbeim Versuch, das Passwort zu ändern.beim Versuch, die Datenbankdatei zu schließenbeim Versuch, den Rechnerdienst-Principal zu erstellenbeim Versuch, meinen Dienstnamen zu erstellenbeim Versuch, %s auszuführenbeim Versuch von »execv %s«beim Versuch, einen Kindprozess von %s zu erzeugenbeim Versuch zu verzweigen.beim Versuch, »%s« zu sperrenbeim Versuch, Speicher für »data_ok_fn« zu reservierenbeim Versuch, %s zu öffnenbeim Versuch, »stat« für %s auszuführenbeim Aufheben der Sperre »%s«beim Aufheben der Datenbanksperrebeim Entsperren von Datenbank »%s«beim Entsperren der Datenbankbeim Rückgängigmachen des Auswertens des Client-Namensbeim Rückgängigmachen der Auswertung des Principalsbeim Rückgängigmachen des Auswertens des Principal-Namensbeim Rückgängigmachen des Auswertens des Server-Namensbeim Rückgängigmachen der Auswertung des »etype«s des Ticketsbeim Entfernen der Option IPV6_V6ONLYbeim Aktualisieren der Actkvno-Daten für den Haupt-Principal-Eintragbeim Aktualisieren der Mkey-Aux-Daten für den Haupt-Principal-Eintragbeim Aktualisieren der Schlüsseldaten von Principal »%s« in der Datenbankbeim Aktualisieren der Änderungszeit von Principal »%s«beim Aktulisieren der Änderungszeit des Hauptschlüssel-Principalsbeim Prüfen des Hauptschlüsselsbeim Prüfen des Tickets für Serverbeim Betrachten der Richtliniebeim Betrachten der Richtlinie »%s«beim Warten auf %sbeim Warten auf den Erhalt der Datenbankbeim Schreiben der Schlüsseltabelle »%s«beim Schreiben der AktualisierungsprotokollkopfzeilenArbeitsprozess %ld endete mit Status %dwürde übersprungen:   %s
würde aktualisiert: %s
falsche OID
noch keine Richtlinie gesetzt! Kontaktieren Sie Ihren Systemsicherheitsadministratorshare/locale/en_US/LC_MESSAGES/mit-krb5.mo000064400000000632150403633750013701 0ustar00��$,8`9Project-Id-Version: mit-krb5 1.10-prerelease
Report-Msgid-Bugs-To: 
POT-Creation-Date: 2011-06-06 00:34-0400
PO-Revision-Date: 2011-06-06 00:35-0400
Last-Translator: Greg Hudson <ghudson@mit.edu>
Language-Team: English
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=2; plural=(n != 1);
sbin/t1libconfig000075500000007627150405213370007642 0ustar00#!/bin/sh -e

# to test POSIX-correctness, change hash-bang to /bin/bash and uncomment
# the following line:

# set -o posix

# Very simple configuration script for t1lib.  Checks a couple of
# directories that might contain fonts, and if they exist, adds
# anything ending in .pfa or pfb to the font database.  A few things
# borrowed from paperconfig, (C) 1996, Yves Arrouye
# <arrouye@debian.org>

# note that this creates the "minimal" font database accepted by t1lib,
# and doesn't look in every possible place for fonts.  It is mostly
# provided so that xglyph will work out of the box...

# Written by David Huggins-Daines <dhd@debian.org>

usage() {
    if [ "$1" = -h ]
    then
	exec 1>&2
	echo -n U
    else
	echo -n u
    fi

    echo "sage: `basename $0` [ -v, --version ] [ -h, --help ] [ --force ]"
    echo "                   [ fontdirs... ]"

    if [ "$1" = -h ]
    then
	cat <<EOF

Options: -v, --verbose          print version information and exit
         -h, --help             print this help and exit
         --force                force configuration
EOF
	exit 0
    else
	exit 1
    fi
}

version=0.2
topfontdirs="/usr/share/fonts /usr/share/texmf/fonts /usr/share/fonts/X11"
for dir in $topfontdirs; do
   if [ -d $dir ]; then
       subdirs=$(find $dir -type d -printf "%p ")
       fontdirs="$subdirs $fontdirs"
   fi
done
conffile=/opt/alt/t1lib/usr/share/t1lib/t1lib.config
confdir=/opt/alt/t1lib/usr/share/t1lib/
dbase=/opt/alt/t1lib/usr/share/t1lib/FontDatabase
temp=/opt/alt/t1lib/usr/share/t1lib/FontDatabase.tmp

force=0

while [ $# -ne 0 ]
do
    case "$1" in
	-v|--version)
	    echo "`basename $0` version $version" \
		"by David Huggins-Daines <dhd@debian.org>"
	    exit 0
	    ;;
	-h|--help)
	    usage -h
	    ;;
	--force)
	    force=1
	    ;;
	*)
	    # hairy way to remove a trailing backslash (should use perl)
	    pat=`expr $1 : "\(.*\)\/\$" || echo $1`
	    # hairier way to find a string anywhere in another string
	    # should really use perl.
	    if ! grep $pat <<EOF >/dev/null 2>&1
$fontdirs
EOF
	    then
		fontdirs="$fontdirs $1"
	    fi
	    ;;
    esac
    shift
done

# We presume that if the database exists, then so does the
# configuration file.  Hopefully this won't break anything.

if [ $force -eq 1 ] || [ ! -e $dbase ]; then
    fontpath=""
    afmpath=""

    mkdir -p $confdir || true

    echo -n "Searching for Type 1 fonts and AFM files..."

    for i in $fontdirs
    do
	if [ -d $i ] && ls $i/*.pf[ab] > /dev/null 2>&1; then
	    if [ -n "$fontpath" ]; then
		fontpath="$fontpath:$i"
	    else
		fontpath="$i"
	    fi
	    
	    if ls $i/*.afm > /dev/null 2>&1; then
		if [ -n "$afmpath" ]; then
		    afmpath="$afmpath:$i"
		else
		    afmpath="$i"
		fi
	    fi
	    # get a listing of all the fonts in each dir
	    find $i -maxdepth 1 -name *.pf[ab] -printf '%f\n' >> $temp
	fi
    done
    if [ -z "$fontpath" ]; then
	cat <<EOF

No Type 1 fonts were found in the expected locations.
If you want t1lib to be aware of your fonts, you should run
/usr/sbin/t1libconfig with the names of your local font directories as
arguments, or you should edit the /opt/alt/t1lib/usr/share/t1lib/FontDatabase file manually.
See the FontDatabase(5) manual page for more information.

Press [return] to continue.
EOF
        read foo || true
	rm -f $temp
    else
        echo "done."
        echo -n "Building font database..."
        fontcount=`wc -l $temp || true`
        echo $fontcount > $dbase
        cat $temp >> $dbase
        rm -f $temp
        echo "done."
    fi

    # now set the paths in the config file
    cat <<EOF >$conffile
t1lib.config - global configuration file for t1lib.
It was created automatically on `date`
by the t1libconfig script.

Run /usr/sbin/t1libconfig --force to rebuild it.
    
ENCODING=.
AFM=$afmpath
TYPE1=$fontpath
FONTDATABASE=$dbase
EOF
else
    echo "Configuration and font database files already exist."
    echo "Run /usr/sbin/t1libconfig --force to rebuild them."
fi

exit 0
lib64/libt1x.so.5.1.2000075500000063560150405213370007711 0ustar00ELF>@0`@8@�<�< �L�L �L |p �L�L �L   $$�<�<�<  P�td888llQ�tdR�td�L�L �L xxGNU:�QU��@\
{-v[Ί��$�� �(9x  $),�#dBE��M����|�z���qX��˰�֠R�g
�v��
�2�)����
��< �V>�epc������ �t�0������, �F"[0��P �?��S �`?�P h`5.P$�U��M�,v|�5���OH�f__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeT1_SetX11ParamsT1_CheckEndianT1_PrintLogT1_SetCharXT1_SetCharpFontBaseXCreateBitmapFromDataXCopyPlaneXFreePixmapXSetClipMaskXSetClipOriginT1_SetStringXT1_SetStringT1_SetRectXT1_SetRectT1_ComputeAAColorsXXQueryColorXAllocColorT1_AASetCharXXGetGCValuesT1aa_SmartOnT1aa_smartlimit2T1_AANSetGrayValuesT1aa_smartlimit1T1_AASetGrayValuesT1_AAGetLevelT1_AASetCharT1aa_bppcallocfreeXCreateImageXPutImageT1_AAHSetGrayValuesT1_errno__stack_chk_failT1_AASetStringXT1_AASetStringT1_AASetRectXT1_AASetRectT1_LogicalPositionXT1_XImageFromGlyphlibt1.so.5libX11.so.6libc.so.6_edata__bss_start_endlibt1x.so.5GLIBC_2.4GLIBC_2.2.5/opt/alt/t1lib/usr/lib64�ii
�ui	��L ��L ��L �L �O �O �O �O �O �O �O �O �O  �O "�N �N $�N �N �N O O O O 	 O 
(O 
0O 8O @O HO PO XO `O hO pO xO �O �O �O �O !�O "�O #��H��H�QA H��t��H����5"@ �%#@ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A�������%m> D���%e> D���%]> D���%U> D���%M> D���%E> D���%=> D���%5> D���%-> D���%%> D���%> D���%> D���%
> D���%> D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= D���%�= DH�=�= H��= H9�tH��= H��t	�����H�=�= H�5�= H)�H��H��H��?H�H�tH��= H��t��fD�����=�= u+UH�=b= H��tH�=�9 �I����d����m= ]������w������H����@ H�=A H�5�@ H�
�@ ������������@ H��@ �@P��u1�H�5.#H�=w$�B���1�H���1�H�5?#H�=X$�#���1�H���f�f.���AWAVI��D��AUI��ATE��U��SH��H�> �T$�t$PH�> H�T$XH�	> H�> �a���H��H����H�H���yD�HD�XL��D+HD+XH��; H�=�? E��D�L$D�\$H��@B�L���!�������; D�\$I��D�L$��tkD+c�D$H�=�? ����H��E1�L��L��jL��ATUASAQE1��%���H��0M��ud�CH��,= �C�'= �C�"= �C�= �C�= �C��< H�C(H��< H�= H��H��[]A\A]A^A_�H�=? L������H�=? 1�L������H�=�> 1�1�L�������d���L��L��D�L$D�\$���D���L��H�=�> ���D�L$D�\$H�=�> �����oH�E< )
>< �oP)B< �oX )F< �D�����H�5$!H�="1������$������AWAVI��D��AUI��ATE��U��SH��H��; L�L$pD�D$h�T$H�L$`�T$XH��; H��; H�t$PH�x; ���H��H����H�H���{D�HD�XL��D+HD+XH��9 H�=�= E��D�L$D�\$H��@B�L���!�������9 D�\$I��D�L$��tkD+c�D$H�=`= ����H��E1�L��L��jL��ATUASAQE1�����H��0M��uf�CH���: �C��: �C��: �C��: �C�r: �C�m: H�C(H�V: H�w: H��H��[]A\A]A^A_�DH�=�< L������H�=�< 1�L���x���H�=�< 1�1�L���u����b���L��L��D�L$D�\$�K���D���L��H�=l< �G���D�L$D�\$H�=V< �����oH��9 )
�9 �oP)�9 �oX )�9 �B�����H�5�H�=�1�����"������AWAVI��D��AUI��ATE��U��SH��H�
9 H�t$P�T$H�9 H��8 H��8 ����H��H����H�H���~D�HD�XL��D+HD+XH�l7 H�=m; E��D�L$D�\$H��@B�L���!�����V7 D�\$I��D�L$��tkD+c�D$H�=#; ����H��E1�L��L��jL��ATUASAQE1����H��0M��ua�CH��!8 �C�8 �C�8 �C�8 �C��7 �C��7 H�C(H��7 H��7 H��H��[]A\A]A^A_�H�=�: L�����H�=z: 1�L���@���H�=i: 1�1�L���=����g����L��L��D�L$D�\$����D���L��H�=,: ����D�L$D�\$H�=: �����oH�57 )
.7 �oP)27 �oX )67 �?�����H�5�H�=�1��F����������AWH�C8 AVAUATD�b�UMc�SL��H��H�H��H�58 H	�H�;�cH�5l9 H�=u9 ��H������H�5T9 H�=]9 H�������7 D�KD�S
H�3A)���D�șA��A����7 A)�D�ЙA����7 A���C)ЙA��H��7 H��6 H��6 J�4�A����L�z�U�fD�L$A��I�<�fD�T$E��E��f�D$H�^7 1�H�|$�D�
A7 I��D�H�5�8 H�=�8 H��f�K� 7 D�f�C
�7 �CD�f�C�7 �C����t	H���I�fDd$H��fDl$fDt$L;|$u�H����[]A\A]A^A_�1���f�f.���AWAVAUI��ATA�ԺUD��SH���H�|$H�=�7 �L$H�L$0��$D�D$L��$�D$dH�%(H��$�1���7 H��4 H��4 H��4 H��4 H��4 ��H�|$@H�L$HH�,3 H�==4 �0H�
,4 ���4H�3 �L$�7 /r\����H9=�6 uH9
�6 ��2H�=�6 H��H��H�
�6 ���H�=�3 �H�
�3 ��H��2 /�P��uH;=\6 ��fDH9=i6 uH9
X6 ����H����H�a3 H�R3 E��u	H9��{H�=M4 H�6 H�
�4 L��4 H�q4 H��5 H�5C4 �N�H�=3 �H�
�2 �Cf���9�5 H�=�2 H�
�2 �����@����������������5 H�=q5 H�
b5 �D$��L�����H��H����L�M���g�PD�p�
�1 �@A)�A��D+{��tT$)D$H�b1 H��HE����H�,1 �0��A�ƍT���!ʉЙ����D$A�F���ljD$ A��Hc��m�H��H���NH�C(H���H���;E����D�d$ L�l$ E1�E1ҋ=�1 D�l$E1�A�@Ic�1�H��E��~=D�T$DH�9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u�L�l$ H�t$E��D��H��H�=T4 ��H��I����H�==4 L��L����L$�T$L��H�= 4 ��jL�E1�H�=0 ��3 �H�5�3 H�H�=�3 �@PAWAV���H�� E1�E1�H�ŋ�3 H�=�3 L��H��EAWAV�D$$P�D$(PH�t$8�X�H�� H��U`M����H�=�3 L����H�=3 1�L���E�H�=n3 1�1�L���B��mj�@3 E1�H�5F3 H�=G3 Q�AWAV�(�H�� E1�E1�H�ŋ	3 H�=3 L��H��EAWAV�D$$P�D$(PH�t$8��H�� H��U`�CH���/ �C��/ �C��/ �C��/ �C��/ �C��/ H�C(H��/ H��/ H��H��$�dH3%(��H���[]A\A]A^A_����uH;=2 uH;
�1 �����DH9=2 uH9
�1 ��_����H����H�	/ H��. E��u%H9�u H�B�H�ҹHD�H��. H��/ f�H�=�/ H��1 H��1 ��H�=�. �H�
�. ���E���L���D�d$ L�l$ E1�E1��=~. D�l$E1�A�Ic�1�H�E��~?D�T$fDH�f9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u������oH�. ). �oX). �o` )%. �]����E�������L�l$(D�l$E1�E1�L��- A�~�A�fD1�Ic�E��~JD�\$�
�H��H�H�H�2L9�t�‰�E�����D�A��Hc�D\H�PH9�u�D�\$A��DL$ E�E9�u�L�l$(���H;=0 �1���H;
�/ ���������f�H9=�/ �B���H9
�/ �5����_���H;
�/ �l����M�����H�54H�=�1��n��E���H�B�H�ҹHD�H��, H��H��- �f���H��+ 1��
������f.���AWAVAUI��ATA�ԺUSD��H���H�|$H�=q/ �L$H�L$0H��$D�D$L��$ �D$dH�%(H��$�1�H��+ H��+ H��+ H��+ ����. H�|$@H�L$HH��+ H��* H�=�+ �0H�
{+ ���3H��* �L$��. /r[����H9=�. uH9
r. ��1H�=h. H��H��H�
S. �^�H�=+ �H�
+ �fDH�I* /�p��uH;=�- ��fDH9=�- uH9
�- ����H����H��* H��* E��u	H9���H�=�+ H��- H�
/, L�H, H�, H��- H�5�+ ���H�=_* �H�
K* �Cf��+�9u- H�=6* H�
'* �����@���������������@- H�=- H�
�, �D$��M��H��D��$H��$��$��H��H����L�M���p�PD�p�
) �@A)�A��D+{��tT$)D$H��( H��HE���H��( �0��A�ƍT���!ʉЙ����D$A�F���ljD$ A��Hc����H��H���WH�C(H���H���DE����D�d$ L�l$ E1�E1ҋ=�( D�l$E1�A�DIc�1�H��E��~=D�T$DH�9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u�L�l$ H�t$E��D��H��H�=�+ ��H��I���,�H�=�+ L��L���z��L$�T$L��H�=�+ �s�jL�E1�H�=|' �f+ �H�5j+ H�H�=h+ �@PAWAV�K�H�� E1�E1�H�ŋ,+ H�=A+ L��H��EAWAV�D$$P�D$(PH�t$8���H�� H��U`M����H�=+ L����H�=�* 1�L����H�=�* 1�1�L�����u�j��* E1�H�5�* H�=�* Q�AWAV��H�� E1�E1�H�ŋy* H�=�* L��H��EAWAV�D$$P�D$(PH�t$8��H�� H��U`�CH��' �C�' �C�	' �C�' �C��& �C��& H�C(H��& H��& H��H��$�dH3%(��H���[]A\A]A^A_����uH;=|) uH;
k) �s���DH9=q) uH9
`) ��?����H����H�9& H�*& E��u%H9�u H�B�H�ҹHD�H�	& H�R' f�H�=I' H�
) H��( ��H�=�% �H�
�% ����E���D���D�d$ L�l$ E1�E1��=�% D�l$E1�A�Ic�1�H�E��~?D�T$fDH�f9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u�����oH�E% )>% �oX)B% �o` )%F% �]����E�������L�l$(D�l$E1�E1�L��$ A�~�A�fD1�Ic�E��~JD�\$�
�H��H�H�H�2L9�t�‰�E�����D�A��Hc�D\H�PH9�u�D�\$A��DL$ E�E9�u�L�l$(��H;=r' ����H;
]' �e�������f�H9=Q' �"���H9
<' �����?���H;
*' �L����-�����H�5�
H�=d1�����E���H�B�H�ҹHD�H��# H��H�(% �F���H�# 1��
������f.���AWAVAUI��ATA�ԺUSD��H���H�|$H�=�& �L$H�L$0H��$D�D$�D$�L$ �T$(dH�%(H��$�1���& H�
# H�
# H�# H�# H�# ��H�|$@H�L$HH�'" H�=�" �0H�
�" ���/H�" �\$�& /rW����H9=�% uH9
�% ��-H�=�% H��H��H�
�% ���H�=;" �H�
'" �f�H��! /�`��uH;=\% ��fDH9=i% uH9
X% ����H����H��! H��! E��u	H9���H�=M# H�% H�
�# L��# H�q# H��$ H�5C# �N�H�=! �H�
k! �Cf���9�$ H�=V! H�
G! �����@����������������$ H�=q$ H�
b$ �T$(�L$ ��H���D$��H��H����L�M���n�PD�p�
�  �@A)�A��D+{��tT$)D$H�Y  H��HE���H�#  �0��A�ƍT���!ʉЙ����D$A�F���ljD$ A��Hc��d�H��H���UH�C(H���
H���BE����D�d$ L�l$ E1�E1ҋ=!  D�l$E1�A�Ic�1�H��E��~=D�T$DH�9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u�L�l$ H�t$E��D��H��H�=L# ��H��I�����H�=5# L��L�����L$�T$L��H�=# ���jL�E1�H�=� ��" �H�5�" H�H�=�" �@PAWAV���H�� E1�E1�H�ŋ�" H�=�" L��H��EAWAV�D$$P�D$(PH�t$8�P�H�� H��U`M����H�=�" L�����H�=w" 1�L���=�H�=f" 1�1�L���:��u�j�0" E1�H�56" H�=7" Q�AWAV��H�� E1�E1�H�ŋ�! H�=" L��H��EAWAV�D$$P�D$(PH�t$8���H�� H��U`�CH��S �C�N �C�I �C�D �C�' �C�" H�C(H� H�, H��H��$�dH3%(��H���[]A\A]A^A_����uH;=�  uH;
�  �����DH9=�  uH9
�  ��O����H�����H�i H�Z E��u%H9�u H�B�H�ҹHD�H�9 H�� f�H�=� H��  H�{  ���H�= �H�
 ����E���D���D�d$ L�l$ E1�E1��=� D�l$E1�A�Ic�1�H�E��~?D�T$fDH�f9<0t�Љ�E�����D�A��H�DT��H��A9�u�D�T$A��E�E�E9�u�����o H�� )%~ �oh)-� �op )5� �]����E�������L�l$(D�l$E1�E1�L�  A�~�A�fD1�Ic�E��~JD�\$�
�H��H�H�H�2L9�t�‰�E�����D�A��Hc�D\H�PH9�u�D�\$A��DL$ E�E9�u�L�l$(��H;=� �&���H;
� �u�������f�H9=� �2���H9
� �%����O���H;
� �\����=�����H�5tH�=�1��^���E���H�B�H�ҹHD�H� H��H�� �V���H�� 1��
�������f.���1������� �@f.���H�H����H��H�
M H��H�5C H�	D�I�O+OA�ȋO+OH�z(H�=) t7j� AQI��APE1�Q����H�� H��tA�� �PH���j�AQI��APE1�Q1�����H�� �ːH�� ��f�H�� ����H��H���X-Server uses Little Endian data representationX-Server uses Big Endian data representationT1_SetChar() returned NULL-pointer!T1_SetString() returned NULL-pointer!T1_SetRect() returned NULL-pointer!T1_AASetChar() returned NULL-pointer!T1_AASetString() returned NULL-pointer!T1_AASetRect() returned NULL-pointer!T1_SetX11Params()T1_SetCharX()T1_SetStringX()T1_SetRectrX()T1_AASetCharX()T1_AASetStringX()T1_AASetRectX();h����L�������L������H�������\<����L���<l���PzRx�$���FJw�?:*3$"D����\����H\
D[`|`��?F�B�H �E(�D0�C8�DP�XK`EhApBxB�LPX
8D0A(B BBBD`�<��OF�B�H �E(�D0�C8�DP�XK`EhApBxB�LPX
8D0A(B BBBF`D(��?F�B�H �E(�D0�C8�DP�XK`EhApBxB�LPX
8D0A(B BBBAH���F�I�B �B(�E0�D8�NPf
8C0A(B BBBD��h�fF�B�B �E(�I0�D8�G���m�B�B�I�a�B�E�E�N�F�X�G�B�I�a�B�E�E�N�v
8A0A(B BBBI��8��F�B�B �E(�I0�A8�J���m�B�B�I�a�B�E�E�N�N�X�G�B�I�a�B�E�E�N�v
8A0A(B BBBI�4(�vF�B�B �E(�I0�A8�J���m�B�B�I�a�B�E�E�N�N�X�G�B�I�a�B�E�E�N�v
8A0A(B BBBI����<�����TwH E(D0NR
DBG E(D0KCPGNU����L �����x
@6�L �L ���o( �
�N ���
8	���o���o�
���o�o$
���o�L ����� 0@P`p�������� 0@PGA$3a1GA$3a1x�GA$3a1@6H6GA$3a1�
GA$3p878�?6GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h878GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s878GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e878GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3a1?6?6GA$3a1?6?6GA$3a1��GA$3a1H6M6libt1x.so.5.1.2-5.1.2-4.4.el8.x86_64.debugR͔�7zXZ�ִF!t/��g�]?�E�h=��ڊ�2N��(���"];N��}��m�8��Hc>�J��_��߀f��z�
	�G�V%�fja�)��z���!\��A�YVFC��
�hyl�M]^�\��F#�ׯ5*��4��0z�ky�k���)1I�ht�,��S3��6gh��P��1B����=]b���uP6�9�>�[�4LZ��{��#,���%P8�.�!�/79�v�r��Fz���SI0"���~�?�R�xt=�S��B&�N̳%ř�Kp��G��f�;
/� �w�&$�H�?v���,	)�$;��:�^��'��N^q�2������d%H��1q�:�Vr�i5ɵ��Y�u�[^�?��"9cq������Ws��V�5�Igb�
(i&��'�d�gW���*<�e�]�O��$�)n�0@�&Wd��בiG\\��]��#�kZ%`^����\�n]p���
T<ͣ�/�4
�xI�]�@���n��^g<�d�0�N2�>���4M1���qO2}�F�vc���H������fV'��2v�N)��ᇠ.0��9��5��¾o㔪Z0D6f7GJ.Zm�"D�x.�@������Tn���w��`3Vh��K�}�0����M�l���D�Y�h�(��=�Qv�a�6R�x���c�n�6�1-�(f��6��;l����fd�p��xG�ș�+��b�����n���N��CYu�6�'f���]��@��5
̤dj	BK�L������y?�����`s�6�P�5�b0Ɇ��%C�|�ɏ�vf��k6HU�n�^�|��|O�4�ēj<.3,�N�!J��1�)���W[^W�vf~�a�� ��gV6W�ɚm������"�
Q�����h*��%�IW'��������Er��,�Z���ن]�`��X:x�"u�����X��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((`(���0  8���o$
$
bE���o�
�
0T�
�
8^B���hxxc���n``�w/$}@6@6
�2P6P6��88l��8�8(��<�< ��L �L��L �L��L �L��L �L ��N �N@�P P� P P� ��S`P�

�Z0,[�_(lib64/libt1.so.5.1.2000075500001360350150405213370007517 0ustar00ELF> �@��@8@@U@U �Z�Z$�Z$,7�� `d`d$`d$$$ U U U  P�td��������Q�tdR�td�Z�Z$�Z$00GNU�r8��P�)��{��\�"> �.�6D*���T	�E�����Z� ���Db�&�!A�@	�p�g;D�e�# ��[ D)�	���'��
�+�r��!d�3�/�3��0��

Q @�\0T"@�!c��IPh@�3�8�1J���2�B)�:�H0�0@F]ٴ�1Ġ1(��"�A"R0�@�	P���h�ك B@B�q��Ff>@BCEHKMNOQRTUWZ[\]^`cfjkmnoqstx|~����������������������������������������������������������������������	

!#$%&'()+,-.02679;>@CFIJKMORTXZ\]^_adfhjknoqrtuvwxz|}���������������������������b^)3k9���Z�>C8�繟�-��g�!�����2���GPh�W^0]P^k�e�[��#F[`Şhv'ɞI�W�-�oϗ�e�d��OEP�c��|/n�c�oj_�$tM�����aW�
-P��#�Q���>x�w/Z���1RѰz��&Zgx�O}�[+Un:���,�<�o�F������ݴ�9ÂsO�)��L��\�!S�篻��7�[j�Y�I�l���|��l��kH���l����
�P��,_Ru�`��y)Qp�wZ��?������xyj�C��*��9��jXO^*��n�QA.�0�yO{�u:;���Ay�'"�Qց�κ���O2�f�N�)4����ᚶ|ɮd?�"�M���!���H�ں���7UQg֩!2K��0�@��93^�>�f
�ݪ�!�W�kIC��p|�
���e'zxL��-���kc���^��
}-��\�_���M^����P����-KCE���-CX

��Y��I
��>R���kMW��1�x%�Lh�c�!����J��9��l��#�$��!����S���^�LP^}�W�k�y%����yV}U2R�*i��r�blR�9�G<���O<�/��AHx%y1:f��fQ#ЎWA�Z)��o��P"�~���~b*�V�
���b:����뚢J殮�Փ8�4���A)��@��7{@���š��aљ�N
p*��9�ro$�gV^]5B����a��Y�E%~�C��cg�3Ol��ϨC��&9E��'�v}�BH�St2\o�E�mἺ7]��j��iǞ�4�>��tI !J�Hk�P1�?D�h���Ȋ�R%���R|%u�|�(#�д�6g�M�U�#��X���@Êi��!6du?,�Ӽ�$9���Ҟ���_bE
V'��Y��c�w�v|
��);�;�%'��%'���KC��j$b�s
ߵ��)��o|�8ka�J���v^����#�Z
)�״ΐ�v�M��3g!�qXo2nʀ����hFl�:��`	�R3,��eеک]
v��v���l��A��l:��d����� ߏݏ�4q ��mf
Ȣ��uϪ��"XKeM��V=Lu_��%v8<\�<���D	���ƽ�]!�%{+��6xN1Bxfq;�&Ԅh�ReZ�߰�ꗛ��?����A���J9���d~՗�i+igp����l}�Ɇ�0�^���P�}E���l�jԯ&=Q�W��b��gkN�𸜮����#X�sV��݀�(�s�Â8��լ�P�H�4�i�e�>z�}Q^#�;:
�w���su��5@�Ft����x����+�jd7���}R^�J?�� A�5�r�r4�r!Òƻo�-�=�����:w/X��&�%��t)��q&�"��=f(O�tR��a��[!�5r��H'f���7���-�4c����C$,˖|I
�x�z0Za �ba��>���_�
d b
Q
c;��
���2	C
���

<�
y
�U5 �n	���
3
�/�
m~�
	W

�, #
]
F"Y	`	�
�<��$*�T}��%�� Kp$\p�t�����A���J|���|$���f�g'qhA�v+?	�y�E^Y�%�8	0yl�`�	0�	u	 {D�@n#]��$�ĕ$��(m`�$R�"�	�c˕$T�${�V{��WLP�$�k
�	p{��+&�@�$�@����
%Kh6%�	p~*`#X���$��g �O.�$�	��%�pP: �$�p$�
�<
��%rʕ$5 q�>��%2
�6%B(�$(
�6%R�TO�T�IX��e3�0l��pQN��@�nP"v� ,��p�9��OS��0[p�=����]�pW��
%�@�$��7��H�$o@Sa�0�.`(���uq[pgU Hp��!,r$������2.�q$x�r$y h
�ŕ$��N���%�0A'�_"b|6%x�%*$�hJ�J
p����e	��?����
�Ow0���	�.&~,p$6`&%R�r	�
#X��#��Q|�@�s�`AP�p6%�	�6%+��$ `9p$0�hl�BP�Ka�@���	N`l@
P��$M
А�}Ǖ$\�$��9�H�|���$@�|#�@�0�x� �
���9�$�`�^R~��(����#����v	�P%�
�i
�F�wP�!��)�����^@Ef�0h
�pv�y�"��po�B
�6%�`e3�����Tb�s�q�Ca7 %��%%	�s�Pgi�	@�$��$� �pf�PD�\0S
��W
��20-�HZ� 6�P�$�	`��#	@|$���/,`i/� ���
�Ohƕ$�����
�~�j�}�Jq���wG����0K=f�&�up pI09l�Ph
� �%�N�)?�&%H�X�$�#N�ew�pk8�`z�P
��
�OD���$
3x6%G��-�@p��:hn
�6%�•$W0�>L	�yhp�uD�|�$��v	W��p$P���k|��Z��
 Pt�0c��05���'���$��$b
�6%�@��0bh�$���
`h"�p?��0W1&R'0G���� p$40R��p$�@h���2��$�`�*	`}$3���
�L�g @b�`t�Õ$����
�J��0�Te0d�p�>�
��$���%8�6%qp$Jp��
�B= ���X	
�6%D�{��w	����7��*v��p$)��������{� |$@�n�H@%��P���+ȕ$��r����ePl��C�`h
�P�]<��	�6%���h!t '�@S�v�� ������0�00`�"�p������Wa{�B`$	@���p��@r�I
�6%]P�~
��j-�������p�U��>���
��P���>D�kXB@��
�"X
	�r�� �%��	��
��BЗu��)��
x�$��j�xk�~���p�$�-{U�g���+��%�p$����p��z�4����R���
��d0tbG�;����p�p$ApT0;h�	�6%G���e[��6P���6Dɕ$�@d� �%@@I[
�6%��QC���%(�p�����O��
�6%�i�z<y���__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeDLmultDLdivt1_abortDLaddDLsubFPmult__printf_chk__stack_chk_failFPdivFPstarslashBezierTerminationTestt1_StepLinet1_PathSegmentt1_Joint1_StepBezierpFontBasestrcmpSearchDictNamestrncmpinitFontvm_initvm_nextCurFontNamevm_baseresetFontvm_sizevm_freestrncpyT1io_resetreadFontscan_fontfontfcnBstrlen__strncpy_chkType1Chart1_ILocerr_warn_msg_buf__sprintf_chkT1_PrintLogt1_KillPatht1_InteriorT1_errnofontfcnAt1_InitImagervm_init_countvm_init_amountvm_usedQueryFontLibobjFormatNamefontfcnB_string__strcpy_chkType1LinefontfcnB_ByNamefontfcnRectT1int_QuerySEACT1int_Type1QuerySEACTheCurrentFontCurFontEnvt1_InitHintst1_CloseHintsHintDebugt1_ProcessHintputst1_ApplyContinuityRegionDebugt1_BresenhamLineDebugt1_ChangeDirectiont1_MoreWorkAreaLineIOTracestck_state__longjmp_chkt1_AllocatemallocMemoryDebugt1_Freet1_ArgErrMustCrasht1_Pragmatics__ctype_toupper_locInternalTraceMustTraceCallsMustCheckArgsSaveFontPathsProcessHintsCRASTERCompressionTypeOffPageDebugImageDebugFontDebugConicDebugPathDebugSpaceDebugStrokeDebugCachedCharsCachedFontsCacheBLimitt1_Usert1_Copyt1_CopySpacet1_CopyPatht1_CopyRegiont1_PermanentxiTemporaryt1_Dupt1_Uniquet1_Destroyt1_KillRegiont1_Consumet1_TypeErrt1_get_abort_messaget1_ErrorMsgt1_InitSpacest1_TermImagerreportusaget1_Loct1_SubLoct1_Linet1_Beziert1_Hintt1_JoinSegmentt1_ClosePatht1_Reverset1_PathXformt1_PathDeltat1_ReverseSubPathst1_BoundingBoxt1_QueryLoct1_UnConvertt1_QueryPatht1_QueryBoundst1_RegionBoundst1_BoxPatht1_DropSegmentt1_HeadSegmentt1_EmptyRegiont1_SortSwathputcharswathxsortt1_SwathUnionswathrightmostt1_MoveEdgest1_UnJumblet1_BoxClipt1_Identityt1_DumpEdgest1_DumpAreaT1_INFINITYtokenStartPT1ReadtokenLengthscan_tokentokenTypevm_allocobjFormatStringtokenValueobjFormatIntegerobjFormatRealnot_defStdEncArrayPInit_BuiltInEncodingGetType1CharStringT1OpenobjFormatFileobjFormatArrayobjFormatEncodingobjFormatBooleantokenTooLongT1CloseT1eexecFXYConvertIXYConvertForceFloatFXYbothFXonlyFYonlyIXYbothIXonlyIYonlyFPXYbothFPYonlyFPXonlyt1_PseudoSpacet1_MMultiplyt1_Xformt1_Transformt1_Scalet1_MInvertt1_QuerySpacet1_FormatFPt1_DumpSpaceLowHexHighHexlseekT1GetcT1GetDecryptT1GetTrailerstrstr__ctype_b_locmemcpyT1GetFileSizeT1UngetcT1Getst1_Phantomt1_SnapxiStubt1_DumpTexttokenMaxPdigit_valueT1_Type1OperatorFlagsInDotSectioncurrstartstemnumstemsnumalignmentzonesreallocsqrtwsoffsetYwsoffsetXwssetoldhoroldverttruncfloorceiloldverthalfoldhorhalfcallocT1_GetKerningT1_CheckForFontIDT1_GetCharWidthT1_GetCharBBox_setjmpForceAFMBBoxT1_GetUnderlinePositionT1_GetUnderlineThicknessT1_GetItalicAngleT1_GetIsFixedPitchT1_GetFontNameT1_GetFullNameT1_GetFamilyNameT1_GetWeightT1_GetVersionT1_GetNoticeT1_GetCharNameT1_GetEncodingIndexT1_QueryLigsT1_GetEncodingIndicesT1_GetStringWidthT1_GetStringBBoxT1_GetMetricsInfoT1_GetFontBBoxT1_GetAllCharNamesT1_GetNoKernPairsT1_GetNoCompositeCharsT1_QueryCompositeCharT1_GetCompCharDataT1_GetCompCharDataByIndexT1_IsInternalCharlinebufT1_PFAB_ptrintT1_Env_GetCompletePathT1_StrErrort1lib_log_filet1lib_log_level__fprintf_chk__vfprintf_chkfputcfflushintT1_scanFontDBase__isoc99_sscanfmemsetintT1_GetFileSearchPathstrcpyintT1_scanFontDBaseXLFDT1_CloseLibT1_UpT1_DeleteFontintT1_FreeSearchPathsstderrfcloseT1_AddFontT1_SetLogLevelT1_CheckForInitT1_GetFontFileNameT1_SetAfmFileNameT1_GetAfmFileNameT1_GetNoFontsT1_SetDeviceResolutionsDeviceSpecificsT1_QueryX11SupportT1_CopyFontT1_SetBitmapPadT1_GetBitmapPadT1_CheckEndianT1_InitLibgetenvintT1_SetupDefaultSearchPathsT1_FDB_ptrT1_FDBXLFD_ptrintT1_ScanConfigFilefopenT1_GetLibIdentT1_SetRasterFlagsT1_GetFontFilePathT1_GetAfmFilePath__memcpy_chkT1_AFM_ptrT1_ENC_ptrerrornumberSetFuncRequestIDT1aa_bppfilestatsT1_DeleteSizeT1int_QueryFontSizeT1_DeleteAllSizesT1int_GetLastFontSizeT1_FreeGlyphT1_FreeCompCharDataFreeAFMDataT1_LoadEncodingfseekftellfreadT1_DeleteEncodingT1_ReencodeFontqsortT1_SetDefaultEncodingT1_GetEncodingSchemeT1_fdb__xstat__stpcpy_chkT1_SetFileSearchPathstpcpyT1_AddToFileSearchPathT1_SetFontDataBaseT1_AddFontDataBaseT1_SetFontDataBaseXLFDT1_AddFontDataBaseXLFDT1_fdbxlfdT1lib_parseFileT1_LoadFontT1_GenerateAFMFallbackInfoT1int_CreateNewFontSizefillrunfillT1_SetCharT1_SetStringT1_CopyGlyphT1_DumpGlyphT1_ConcatGlyphsT1aa_bgT1_FillOutlineT1_SetRectT1_ExtendFontT1_GetExtendT1_SlantFontT1_GetSlantT1_TransformFontT1_GetTransformT1_SetLinePositionT1_SetLineThicknessT1_GetLinePositionT1_GetLineThicknessT1_RotateMatrixsincosT1_MirrorHMatrixT1_MirrorVMatrixT1_ShearHMatrixT1_ShearVMatrixT1_ExtendHMatrixT1_ExtendVMatrixT1_TransformMatrixT1_StrokeFontT1_SetStrokeFlagT1_ClearStrokeFlagT1_GetStrokeModeT1_SetStrokeWidthT1_GetStrokeWidthT1_AASetCharT1aa_SmartOnT1aa_smartlimit2T1aa_smartlimit1T1_AASetStringT1_AASetRectT1_AASetGrayValuesT1_AAHSetGrayValuesT1_AANSetGrayValuesT1_AAGetGrayValuesT1_AAHGetGrayValuesT1_AANGetGrayValuesT1_AASetBitsPerPixelT1_AAGetBitsPerPixelT1_AASetLevelT1_AAGetLevelT1_AAFillOutlineT1_ScaleOutlineT1_AASetSmartLimitsT1_AASetSmartModeT1_WriteAFMFallbackFilefwritectimeT1_GetCharOutlineT1_GetStringOutlineT1_GetMoveOutlineT1_ConcatOutlinesT1_DumpPathT1_AbsolutePathT1_RelativePathT1_ManipulatePathT1_CopyOutlineT1_FreeOutlineT1_SubsetFontT1_GetCharStringT1_GetlenIVfgetcungetcstrtolstrtod__errno_locationlibm.so.6libc.so.6_edata__bss_start_endlibt1.so.5GLIBC_2.2.5GLIBC_2.11GLIBC_2.7GLIBC_2.14GLIBC_2.4GLIBC_2.3.4GLIBC_2.3/opt/alt/t1lib/usr/lib64	 ui	N!���	Zii
e���oii
zti	�ui	Nii
��Z$��Z$���Z$�Z$[$`�[${�[$�[$� [$1�([$�0[$^�8[$8�@[$^�H[$`�P[$��X[$h�`[$��h[$��p[$��x[$`��[$L��[$���[$v��[$���[$���[$���[$���[$���[$ȴ�[$ñ�[$ޱ�[$��[$���[$��[$/��[$E�\$Z�\$w�\$��\$�� \$��(\$Ҳ0\$�8\$�@\$8�H\$`�P\$��X\$��`\$еh\$�p\$�x\$/��\$���\$`��\$��\$"�$�\$ ��\$‰$�\$��\$"�$�\$���\$"�$�\$p��\$�$�\$���\$"�$]$�]$"�$]$@�]$"�$ ]$�(]$"�$0]$ �8]$"�$@]$p�H]$"�$P]$�X]$"�$`]$��h]$"�$p]$��x]$�$�]$p��]$��$�]$��]$"�$�]$���]$"�$�]$���]$"�$�]$ ��]$"�$�]$��]$"�$�]$���]$"�$�]$@��]$"�$^$@�^$"�$^$@�^$"�$ ^$ �(^$‰$0^$�8^$��$@^$�H^$"�$P^$��X^$"�$`^$@�h^$"�$p^$�x^$"�$�^$��^$"�$�^$���^$��$�^$���^$�$�^$���^$B�$�^$��^$"�$�^$���^$"�$�^$��^$"�$�^$@��^$"�$_$@�_$"�$_$@�_$b�$ _$�(_$"�$0_$��8_$"�$@_$@�H_$"�$P_$@�X_$"�$`_$@�h_$"�$p_$��x_$B�$�_$@��_$b�$�_$��_$"�$�_$���_$"�$�_$@��_$"�$�_$@��_$"�$�_$@��_$"�$�_$���_$B�$�_$��_$"�$`$��`$"�$`$@�`$"�$ `$@�(`$"�$0`$@�8`$"�$@`$ЈH`$"�$P`$��X`$�$``$�h`$"�$p`$��x`$"�$�`$@��`$"�$�`$@��`$"�$�`$@��`$"�$�`$���`$�$�`$��`$"�$�`$���`$"�$�`$@��`$"�$�`$@��`$"�$a$@�a$"�$a$�a$"�$ a$��(a$"�$0a$@�8a$"�$@a$@�Ha$"�$Pa$@�Xa$"�$`a$�ha$€$pa$�xa$"�$�a$���a$"�$�a$@��a$"�$�a$p��a$"�$�a$p��a$"�$�a$��a$"�$�a$���a$"�$�a$p��a$"�$b$c�b$c�b$c�b$c� b$c�(b$�0b$��8b$��@b$@�Hb$h�Pb$c�Xb$��`b$��hb$�pb$c�xb$c��b$c��b$c��b$c��b$c��b$���b$���b$��b$2��b$J��b$]��b$u��b$���b$���b$c�c$�c$�c$�c$�� c$�(c$�0c$&�8c$.�@c$8�Hc$G�Pc$V�Xc$d�`c$s�hc$�pc$��xc$}��c$��c$4��c$t��c$���c$���c$��c$���c$���c$Ʈ�c$m��c$���c$���c$���c$��c$��c$�d$��d$/�d$5�d$�� d$��(d$��0d$�8d$3�@d$�Hd$��Pd$��q$@�$r$�q$(r$y�8r$��Hr$��Xr$��hr$��xr$���r$���r$���r$̿�r$ֿ�r$��r$��r$��r$��s$��s$d�(s$�8s$�Hs$�Xs$�hs$�xs$��s$ ��s$$��s$��s$^��s$.��s$*��s$4��s$9�t$?�t$G�(t$P�8t$S�Ht$�Xt$�ht$+�xt$U��t$U��t$k��t$C��t$W��t$Y��t$[��t$���t$]�u$Ʈu$_�(u$�8u$a�Hu$�Xu$֯hu$��xu$c��u$k��u$3��u$D��u$°�u$e��u$g��u$s��u$}�v$��v$��(v$��8v$1�Hv$2�Xv$�hv$��xv$���v$���v$���v$���v$W��v$���v$E��v$=��v$��w$��w$�(w$�8w$��Hw$��Xw$��hw$-�xw$���w$���w$���w$���w$��w$-��w$���w$���w$�x$�x$�(x$�8x$�Hx$�Xx$��hx$��xx$��x$	��x$��x$��x$+��x$9��x$G��x$V��x$Y�y$\�y$c�(y$j�8y$t�Hy$��Xy$��hy$��xy$���y$���y$���y$��y$��y$��y$��y$���y$��z$�z$�(z$
�8z$�Hz$�Xz$&�hz$+�xz$3��z$@��z$G��z$M��z$T��z$W��z$c��z$j��z$q�{$t�{$��({$��8{$��H{$��X{$��h{$��|$�{$ |$�{$�l$2m$	m$cm$`m$� m$U(m$0m$�8m$o@m$xHm$�Pm$fXm$�`m$@hm$&pm$�xm$��m$��m$�m$a�m$V�m$��m$��m$��m$F�m$x�m$M�m$\�m$9�m$��m$��m$G�m$	n$�n$n$�n$K n$!(n$B0n$�8n$_@n$�Hn$HPn$�Xn$p`n$4hn$Spn$\xn$��n$#�n$��n$��n$*�n$d�n$X�n$��n$��n$��n$W�n$��n$v�n$v�n$H�n$�n$�o$eo$�o$�o$� o$J(o$?0o$�8o$�@o$�Ho$%Po$�Xo$�`o$Eho$mpo$sxo$w�o$��o$i�o$��o$�o$6�o$��o$��o$��o$r�o$l�o$��o$9�o$[�o$��o$5�o$<�f$|�f$�f$�f$��f$��f$��f$�f$��f$,�f$��f$�f$��f$��f$��f$g$�g$Tg$g$� g$(g$�0g$8g$_@g$�Hg$jPg$
Xg$�`g$�hg$pg$xg$
�g$��g$��g$�g$
�g$J�g$�g$��g$t�g$j�g$��g$o�g$q�g$>�g$��g$�g$�h$�h$h$h$� h$W(h$�0h$8h$�@h$�Hh$nPh$Xh$�`h$�hh$�ph$Vxh$��h$��h$D�h$�h$��h$T�h$��h$��h$L�h$�h$��h$��h$�h$��h$�h$��h$i$i$i$Zi$ i$�(i$0i$�8i$�@i$�Hi$Pi$NXi$`i$�hi$�pi$xi$��i$k�i$��i$��i$�i$�i$O�i$t�i$��i$ �i$C�i$"�i$(�i$y�i$#�i$�i$�j$$j$>j$lj$% j$a(j$&0j$D8j$6@j$�Hj$�Pj$�Xj$P`j$�hj$'pj$(xj$)�j$*�j$��j$w�j$�j$��j$+�j$`�j$+�j$u�j$g�j$��j$,�j$��j$��j$-�j$
k$�k$.k$zk$ k${(k$/0k$Y8k$}@k$0Hk$YPk$bXk$I`k$�hk$/pk$^xk$��k$1�k$��k$!�k$�k$2�k$e�k$h�k$k�k$��k$��k$3�k$f�k$m�k$��k$�k$�l$�l$Sl$4l$5 l$"(l$Q0l$g8l$�@l$�Hl$7Pl$~Xl$]`l$Mhl$pl$xl$8�l$c�l$�l$��l$9�l$��l$:�l$�l$��l$$�l$G�l$;�l$N�l$I�l$=�l$���H��H���#H��t��H����5"�#�%#�#��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h�������%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%ݿ#D���%տ#D���%Ϳ#D���%ſ#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%ݾ#D���%վ#D���%;#D���%ž#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%ݽ#D���%ս#D���%ͽ#D���%Ž#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%ݼ#D���%ռ#D���%ͼ#D���%ż#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%��#D���%}�#D���%u�#D���%m�#D���%e�#D���%]�#D���%U�#D���%M�#D���%E�#D���%=�#D���%5�#D���%-�#D���%%�#D���%�#D���%�#D���%
�#D���%�#D���%��#D���%��#D���%�#D���%�#D���%ݻ#D���%ջ#D�%H�%f.�f�H�=��#H���#H9�tH���#H��t	�����H�=��#H�5��#H)�H��H��H��?H�H�tH��#H��t��fD�����=E�#u+UH�=�#H��tH�=�#����d�����#]������w��������A������A����tE������D��������E��tA��A����������D‰W�f�E1�1���f���AWI��1�AVAUATU��SH��(D�D�wA9�r
D��1��A��A�������1ۅ�y����D��A��CE�y�A� D��A)�D��������������D��A��A��A����D��A��E��E1���A)�A9���1�D��A��A�ʼn�A��)É��������O�A�D��A��A)�D����D��A�����D��x�A��A����A��A�E�D��u7E�xH��([]A\A]A^A_�@��A����4���D��D����A��$���D�й��A9��D���D)�A�������V���f�D����t����H�=c�1��L$D�L$L�D$D�T$�~�D�L$L�D$�L$D�T$�6���fDD��A��1�E����D��A�‰�1��A��D�D�A�@H��([]A\A]A^A_�1��L�D$H�=��D�T$��D�T$��D��L�D$A��D����A��'��������A��A�!��A�������f�f.����F�W�69ЍB‰O9�7�@���G�+�v�J�9�G�)�G��f���ATUSH��dH�%(H�D$1����������������������tN��E1�tA1���H����[����$�D$���‰���T$�$���������E��D�H�L$dH3%(��H��[]A\����؅�x0������������A��r���1��@��ځ���������t��Չ�E1��C���@�ډ�H�5?��1��!�������U������ځ�tD��؁����<�����A��������!���f���������������f��������@��ATE1�U��S��H��dH�%(H�D$1���y��A���y��A����H�����D$����$1���$��u3�T$��x+���E��D�H�L$dH3%(u/H��[]A\���ډ�H�50��1���������=�f.���AVAUE1�ATA��U��S��H��dH�%(H�D$1���y��A���y��A��E��yA��A��I����1�L�����1�D��L����$��u/�T$��x'���E��D�H�L$dH3%(u.H��[]A\A]A^É�E���H�5u�1��&��������j�f.�����)Й1ЉNjD$)�D)��1�)ЋT$D)�A��A��D1�D)�9�L�)Ή�1�)�9�L�9�L�=�����Ðf.�AWA��A��I��AVD��D��AUE��ATU��SD�É�E���H��8��$�D�t$xD�d$p�D$PE��1�AVD�T$$D�\$ �H�ZY��D�\$D�T$tHI�?H���A�GA�w�\$B�6B�D�D�1��:�H��81�[]A\A]A^A_�f�A�+A�D�D�E��4)Dd$��D�D��D�.�<A�������D�d$A�����l$$A���I�?�L$�T$E�ĉ��t$�D$ ��H��D��D��WL��AP�D$8PD�L$<1�D�D$4�L$0���H���D$E��A�؉�D��L��PAV�D$0P�L$D1����H�� ����fD�T$D��H��8�[D)�]1�A\D)�A]A^A_��f�D�T$,H��E��A��D�\$0�D$��D��L��PAV�D$0P�L$D1�����H��L��UH��AT�D$8PD�T$L1�D�\$HD�L$<D�D$4�L$0D��D�����H��XH��H��[]A\A]A^A_���f.���AWAVE��AUA��A)�ATE��UA)�SH��(dH�%(H�D$1��\$hD�|$`H�<$�l$p�t$�T$)�A)�)�A)�xjD���tk�H�=v�1��/�H��H��D��1�U1�1�E��SE��AW�0���H�� H�L$dH3%(��H��([]A\A]A^A_�f���)��u�E��xRD���u�E��xXD����w���E��x\D�����f�����xd����W�����xe����[����C���D��D)����0���E��y���D)�������D��+D$`��������+t$h����또+T$p���������9�f�1�1��f.���t��tH�H��t���u�OGH�H��u�H�‰�H�� H	��f�AUHc�ATUSH��H���#H�H�H��HB H�@H��tTD�`@�����E��~2H�hH1�L�-)�#H�����H��0D9�t$H�}L������u�H����[]A\A]��H���������[]A\A]�@f.���AWAVAUATUSH��D�gfE��tcD�nI��H�_"A���M���f���H�� D9�t4fD93u�I�wH�{L������u�H����[]A\A]A^A_�f�1���f�f.���H��1������t7H���#H�O�#H�H�-�#�H�H���#H�1�f�H
H�P�H����SH���#H��H�B�#H�
�#H�H�C H�C(H��H�H�˰#H�C0H+H��#H�C8H�C@�)‰�H��#�1��f�C��ƀH��H�‹2H����������!�%����t��H�K�����D�H�rHD։�@�H��H)�f�S
�P�1�[�f�f.���H��1���H�=��#1�H���_�Df.���AWE��AVM��AUATUSH��x�|$@H��$�H�$�D$4dH�%(H�\$h1�H�X(H�f�#H�\$H�XH�\$(H���gJ�,�H����H�l$Xf�D$R���ӹH��H�=U�#�����H�F�#H�|$�H�D$PH�D$ H��1����Lc�E���5�D$D�H�����E1��T$RH�t$X�H�=��#I��I���d�H�=��#H��H�L$H���#E1�B�8L�O@J�T)jPAV�D$TH�L$HH�t$ �2�H�D$hA�H�� �P����j���"�C�H�lm�E1�H��H��H�D$H��H�D$8�Df�I�D$HH�<$I��H�L((1�HًQ�q���T$RH�t$X�H�=�#H�D$I����H�=��#H��H�T$H�
��#E��B�L�O@J�T:E1�jQAVH�L$HH�t$ �D$T�U�A�H�� H�ƍA�����H�����H�|$I��1���L��D���H�� ��I��1����;�H�<$I��I�D$HH�L((1�HًQ�q������L��H��1����L��H��1�H�|$t��H�|$I��H��1���H��H�D$H9\$8��I�D$HH�D((L�<L���(�H�t$ H�|$L�|$Xf�D$R1���Lc�E�������I�D$HH��L�=��#H�
r���H�L��L�HH�@(L��D$HP1��2�Y�^H�=��L��1�����H�t$ H�	�#f�|$RH�|$H�D$X1���Lc�E��~�D$D�������fDA�M��tL��1����f�H�D$HH�\$hdH3%(H�D$H��H��x[]A\A]A^A_��D�|$@�E1�D���c���Hc�����H�t$ H�|$f�D$RH�M�#H�D$X1��a�Lc�E���}�D$D��������H�|$tH�t$HH�|$1����H�D$HA���$���t"��!�4���H�|$H�~1��z�H�D$HA��������D$DA�����fDH�@8I��L�8A�XI�hf�\$RH�l$X����H��#H�Ic�H�@H��HB L�`Hc�L�<@I�\$HI��L�H�C(L�(L�����H�t$ �[ L�l$XH�|$f�D$R1��S��D$DLc�E���y���H��M|$H�L�-b�#�L$HI�G(�M�OL��QL�H�
�1����AX1�AY�L��H�=7���H�è#��P���A�H�D$H����n�@f.���AW1�AVI��AUI��ATUS���H��H���#��L�%֨#H�-��#1�A�$�]�����tIL��1��G�A�Dž�tHH���#���H�8������u�E�>1�H��[]A\A]A^A_��A��������H���#H�H��#H���f.���AVAUI��ATI��UH��SH��H�� dH�%(H�D$1�H�=��#��H��tH�5
�#H��������H���#H��I��H�X8���L��H�����1�L��H���Z���~NH�A�$H��H؀xw7�PH�
��Hc�H�>��f.���1������f���@A�$H�D$dH3%(�H�� []A\A]A^��1�H�������<���H�/�#�A�$�f��H�=��H��H�@��€���uqL��H�p`�!�f��*��H��H��H9�tG�8�Ht߉
���@�AE�H�����@A�E�4���@H�@I�E�#����	H�=s�H����€�������1�H��H���LA�L�H��H��u��������f.���AWAVAUATUSH���H��$�|$P��$�H��$H�$L��$H�L$hL�D$pH��$��D$,dH�%(H��$�1�H�X(H�n�#H��H�D$0H�\$E����Hc��D$TE1�H�D$HH�@H�D$`H��H��$�A�A���$�H��$�H�D$xH�D$pH�\$HH�|$h��H�\$hH��H���@��H��$�f��$��H��H�=
��������H��$H�<$1��O�H��$H\$xH�D$XH�\$H9�$�~7H��$�H�<$1�1��t���H�|$XH��1����H�D$XHcD�HD$xH�|$`H���JH�t$X1�����H�D$`H�\$HH�CH9�$���H�D$H������$�H�޹H�=�#�H����H��#H�|$�(H��$�H�����H�D$ H��1����Lc�E�������$�I��H��$�H�=��#I���*�H�=s�#H��H�L$H���#E1�B�(L�O@J�T!jPAV�D$LH�L$PH�t$ ���H�5\�#H�=5�#H�D$xH�� �'�A������R���A�C�H�lm�E1�H��H��H�D$H�D$H��H�D$@H�D$8�^fDI�GHH�<$D�D$H�L((1�HًQ�q�F���$�H��$��H�=��#I��I����LcD$H�=c�#H��H�L$H���#B�(I��L�O@jJ�TE1�PAVH�t$ �D$LH�L$P���H�� H��A�������H���v�L��I��1����L��D��H�� ��I��1������H�<$I��H�D$8I�GHH�L((1�HًQ�q����c�L��H��1��V��H�|$H�D$�H�t$L��1�H���2��H�|$H��I��1�� ��H�D$H9\$@�I�GHH�D((L�,L�����H�t$ H�|$L��$�f��$�1����A�����g���I�GHH��L�-8�#H�
����H�L��L�HH�@(L��D$XP1���Y�^H�=�L��1��i���H�t$ H���#f��$�H�|$H��$�1����A�������D$T��������@H��L��1�H�����H�D$H9\$@�����H�D$H��tH�t$XH��1����H�D$XH���#H��$�H�L$HH�HX H��H�SH�\$pH�@ �����H�H�@H��HBHHcHD$x�e���f�H�D$XH�D$`����H���#H��H�R8H�8�PH�Xf��$�H��$�����DH�D$`A�H��t
H��1����H�D$8H��t
H��1��y��H�D$XH��t
H��1��e��H�D$H��t
H��1��Q��H�D$H��t
H��1��=��M��tL��1��.��fDH�D$`H��$�dH3%(H�D$`��H���[]A\A]A^A_�|$P��Hc��yP�H�t$ H�|$f��$�H���#H��$�1����Lc�E���+�D$T�������f.�H��#H��$�H�H�@ L�|Hc�L�,@I�_HI��L�H�C(L� L�����H�t$ H�|$L��$�f��$�1��[ � ��Lc�E�������H��MoH�L�%8�#�L$XI�E(�M�ML��QL�H�
��1���AX1�AY�L��H�=
��p��H���#�����H��#H��$�H�L$HH�HX H��H�SH�\$pH�@ �Hc�H�@H��HBHc@�HD$x���H�D$`�D$TH�D$x��$��.��$�����$�uLA��P����������!t$��$ ��tH�|$`�~1��q��H�D$`A��������D$TA�����H�6�#f��H�4$�H*T$x�\$,H�=�#H�HcD$PH�@H��HB �������Y��H�|$`H��1��:��H�D$`�O���H�ѝ#f��H�4$�H*T$x�\$,H�=]�#H�HcD$PH�@H��HB ����������H�|$`H��1�����H�D$`���H�l�#f��H�4$�H*T$x�\$,H�=��#H�HcD$PH�@H��HB ���������H�|$`H��1��p��H�D$`�m���H�D$`H��t
H��1����H�|$X�n���H�|$X1����H�D$`�]���A�H�D$`�H������f���AWAVM��AUATA��UH��SH��xM�y(�|$DH��H�T$dH�%(H�D$h1�I�AL�
�#H�D$0�p���H��H�=1�#H����f�D$RH�l$X�����H��#L��L�|$�H�D$PH�D$(H��1����Lc�E���>�D$@�H�����E1��T$RH�t$X�H�=��#I��I���-��H��f�E1�H�=k�#H�L$ H���#B�8L�O@jJ�T)PAVH�L$PH�t$(���H�D$hA�H�� �P����u���-�C�H�lm�E1�H��H��H�D$H��H�D$8�GDI�D$HH�|$I��H�L((1�HًQ�q�u���T$RH�t$X�H�=߾#H�D$ I���R��H�=��#H��H�T$ H�
��#E��f�B�L�O@J�T:E1�jQAVH�L$PH�t$(���A�H�� H�ƍA�����H����H�|$ I��1�����L��D���H�� ��I��1������H�|$I��I�D$HH�L((1�HًQ�q������L��H��1����L��H��1�H�|$t�|��H�|$I��H��1��j��H��H�D$H9\$8��I�D$HH�D((L�<L������H�t$(H�|$L�|$Xf�D$R1��e��Lc�E�������I�D$HH��L�=��#H�
:���H�L��L�HH�@(L��D$LP1����Y�^H�=T�L��1�����H�t$(H�љ#f�|$RH�|$H�D$X1�����Lc�E��~�D$@�������fDA�M��tL��1����f.�H�D$HH�\$hdH3%(H�D$H��H��x[]A\A]A^A_��D��E��E1��%�Hc�����H�t$(H�|$f�D$RH��#H�D$X1��#��Lc�E���W�D$@�����{���f.�H�|$tH�t$HH�|$1����H�D$HA���$���t"��!�4���H�|$H�~1��:��H�D$HA��������D$@A�����fDH���#H�Ic�H�@H��HB L�`Hc�L�<@I�\$HI��L�H�C(L�(L������H�t$(�[ L�l$XH�|$f�D$R1��;���D$@Lc�E�������H��M|$H�L�-J�#�L$LI�G(�M�OL��QL�H�
��1�����AX1�AY�L��H�=����H���#��v���A�H�D$H�����V��fD��U(�H��(�SH����1�H����W%���Y�(��;����t�}!uH��[]�f.�H��H�Ǿ~1�[]����f.���AWHc�@��AVAUATUH��SH��H��HdH�%(H�D$81�H�b�#�D$H�H�H��HB L�`H�@8L�%�#M�l$(H���L�<�L���*��L�|$(f�D$"D��A��L���H�=ٹ#L�=ҹ#�M��H�t$ L��1�C�7�y��Lc�1�E�����T$"H�t$(�L��I���T$���D�D$H��1�H�=J�#I�L$K�T5f�E��C�L�O@E1�jAWH�D$4P�����D$<H�� ����vfH��H��������������H�\$8dH3%(uGH��H[]A\A]A^A_��I�D$8H��H�8D�vL�~fD�t$"L�|$(����������;��f.��AWE��AVD��AUATUS�ZH�j D�a)�L�i H�L�\ED��D)�H�E�TEfE9}mH��tL�GD�OfD9�}=f9�|8D��fD9�}!�l@�GD�OfD9�}fD9�fE9�MH�GH�xH��u�A��fD9R~fD�R�B9�fE�[]A\A]A^A_�f�fD�R��f�H��H�L$��fD�FD�NE��A)�Mc�N�\]fD9�}�f9Gu�D��E��H�N E)�Mc�O�4	F�IfE;~X�FtdfE9�EN�E��fD9R~fD�R�BA9�~fD�RH�D$�fE��ZD�`D��D)�H�E�TED��)�H�L�\EH�vH���X�������H�VH�L$�H��tJf9BuDH�B fF;0}�7f�f;ru/H�r fD9F$H�RD���BH�z H�R)É�Hc�D�GH��u�fE9������A��fD9I~fD�I�A9�~fD�IE)�Ic�fE�LE����Gf9�~G�G ��H�O�
�H��H�QH9�u�f;AtfS1���H�=��������[�@�Wf9�'�GuNH�Of;Qu���)�H�Q Hc��B�fD��H�W )�Hc��B���A��H�Q )�Hc��Bø����f.�H��D�AH�If;At�H9��L�AA�@f9At�DfE9���I��I�@E�PD�HL9�u��fDD�PH�@D�HfE9�t�H9�t/H�HD�YfD9Xt�(DH�AD�XfD9Yu H��H9�u�L9�u�H��f.�L9�t1�H9�t
�I��H��A�@� t	A�H9�ty�t	A�@9�t6H��1��H�=���$��1�H���DH�FD�VD�H�C����G����H�FD�VI��D�H�#���H�FD�VI��D�H�
����G�����@��H���#H��@fD�H���@�H9�u�Ð��AUI��ATL�%^�U1�SH�C�#H������t:H�C�#A�M+KE�EA�MD+C�8E�E�~��L��1������H����u�H��[]A\A]Ð��AWI��AVA��AUATUSH��H��H�-֏#�T$�}�(�C2<m��<a��<r��HcC4����H���#H��HЋ����D�hD�`��UA��A�܀���fD�S4D��E��H�51��1��,��A�A�O�ED�D�A�A�O<~uH��H�5��1�[]A\A]A^A_�����HcC4���H��L�ѳ#�UH��L�D�aE���	D�iD�a����Z���E/EgH��[]A\A]A^A_�@�O$�W 1�H�5��D�O,D�G(��g���}������K1�S01��D�K3D�C2H�5���8���}�~����S4H�5���1�����c����
H�=��1��-���U�I���@�	H�=��1��
���U�)���@�H�=��1������U�	���@D�k,E��������C(D�k(�D$vD�S ��A1�E�A)ŀ�~1�L$E��E��D��H�5���1�D�T$�U��D�T$L�I�#�C1<b��<s��<c��E����EfE1�E)�<~D��H�5���1����L���#�|$v�_�|$h�d�UHcC4E��E1�H�H��L�D�hD�`H�0�
���D�H�=\�1������U���@�K(������~H�=����D�k,�UL�f�#D��D�T$�D$h��DS$A1�A)������A�����������E���fE1�E)��E<��H�5���1�����EL��#����f.�H�=V��d���UL�ɰ#�)���@��~H�=���@���UHcC4L���#E1�����f��UHcC4���1��H�=�����UHcC4L�^�#���f��E��fE1�A���E)�����D1��H�=��E1��J���EL��#���f.���AWAVAUATUSH��(H�_ H���!H�|$E1�A�L�-��f.�H�[H����E��t�KL�{A��A�Gf9Ct���A�O �CL�����CA2Gx�H�U�uf;ruH��H�U�uf;rt�H9�t"H���H�H�yf9xLE�H��H9�u�H�SI�FH�Ef;pt�L��1��?��M�~�EI9��.��ψEH�[H���8���H�D$H�h H����uf9u0�f.�H�EH����H��H���pf9u���M��@t�H�E�P��@u��H�@�P��@tH9�u�1������x�H�EH��tf�Pf9�uB�@@t<H����H�CH�P����H�UH�h�M�PH����⿈P�UH��H��H��H�ʼn�f9u�Z���f�H�D$H�h H�Ї#�8��H����E�]f9��DL�e� �)�I�T$ D�sHc��B�EA9��U�MA9��HD��H�M )�Hc�D�,AA�D$A9��OA�L$A9��@D��I�L$ )�Hc�D�AfA9���ED�S�9��9�M9��-D��H�M )�Hc��AA�D$9���A�t$9���A)�I�D$ Mc�B�Pf�����f=����ɘ�fA�����fA�����A��A����A���9�����A��A��fD9}~fD�}�E9�~fD�}�E��H�M )�Hc�fD�<AH�D$f9P}f�PH�D$fD9x~fD�x�Et�E��9�t?fA9�|9A��fE9l$~fE�l$A�D$9�~fE�l$A�D$��I�T$ )�Hc�fD�,BA�D$t
A�D$��9�t5fE9�/A��fD9E~fD�E�E9�~fD�E�E)�H�E Hc�fD�X�ED��9����E9�����H�U )�Hc�D�<BA�D$��9�A�T$9������L��1�D�s����EA9������D��H��1��T$�c�T$A��A�D$A9������D��L��1��T$�<�T$A������
H�=�1��
����G�������A�G����@H��([]A\A]A^A_Ð���I����������fA9T$~fA�T$A�D$9�~fA�T$A�D$��I�L$ )�Hc�f�A�����D��L��1��L$�T$D�D$��L$D�D$�T$f����`���A�D$(E(�����@��fA����]���A�D$0E0��D�@��A��A��ȉ��R���fDD��H��1��T$D�D$D�T$�
�D�T$D�D$���T$������H��1����A���1���@I�l$H��t�]�Ef9�����H�D$H�h H��������Ef9E#���@H��������Cf9C�����H���EH�]�0tڨu�H���e����Cf;C�W����Uf9�t��@�Cf;C}{�Uf9�ur�C� t-�M�� t$0�y 1�H��H�������Ct�u��t,�U��t#0�y�U1�H��H�����t
�Cu,@H�[H���{���H�]�"���H�|$H�G �M�.���H�D$�uH��H��H�x D�F�1��j��H�D$D�EH��H��H�x A�p�1��I��C�`���H���W����Ef9E�RL�=�L�5���$f�H�mH���	�Ef9E���Eu�H�=�I���P���A�D$�u�L����H�5V��1�L������H��H�C�Sf;Pt���C��H�K I�؉�D�K�)�Hc�H�5Կ�A1��G����CD�h��CfA9�|5DA��H�K �A����)�Hc�L���A1��
����CfD9�~ЀKI9���H�C�DH��H�PH9�u��PH���X���H�5-��1�L��躿��A�T$@H�C D�KI��H�5���1�莿���C�KD�hfA9�|�>f.��CA��H�K L��A����)�Hcǿ�A1��F����KfD9�̀KH�[�Sf9��w���L��@H�H�
f.�H��H�QH9�u�H�BH9�tH��H�BH9�u�I���xf9zt�����H�D$H�h ���H��#�8������H�D$H�h �>���f���UA����S��E��A�����D���D���A��D��A)�D�����Hc�A)�H�<o��A��)�xtWE0�E0�A)�A)�A���A���A����)��E��x)J�LGD��y@��D�x�H��f�G�)�H9�u�[]�E��x�J�TG@H��f�G�H9�u�[]����E0�E0�)�D)�A)ۉэ��A���A����)�E��x�J�tG��y@��D�x�H��f�G�)�H9�u�[]�fD��AWAVA��AUA��ATE��U��SH��H��H�	~#�8~E���A��1��щ�H�5,��'���D��E���������1H�=)�1��/���E��E)����]�{0����D9c`��9k<���k<E����H�{X��E���D��D��H��1�[]A\A]A^A_陾��f�����s�����������`���D��E�������K���D��E���)���I����1���9k@�k����k@E���h���H��[]A\A]A^A_�@D�S0E��x"H��A��E��D��ATD��H��1�1��Ѹ��AXAYD9c`����E���D��D��H��1��β����f�E��D��D���������������D��E���3����/�H��D��1�A��ATE1�D��H��1��R���XZ�������K�������H��D��H��A��ATE��D��1�1�����Y^�I�������������������H�����Hc�H�>��@H�����H�+���H�?���H����H�{���H����H����H�������H��H�){#H�=:z#�肺��f���AW��AV��AUD�oATA��I��UB�,*SH�����1Lc�L��薸��H��H��uBL�=�����L���1�����H�=ÿ1�����L���T���H��H��t�M����A�D$t{Mc�I��E��~"A�M�1��
�H��A����H�PH9�u��c�f�CH�!{#�8~ �K�D�KH�ڿD�H�5�1��T���H��H��[]A\A]A^A_�f�fA�l$�y���@E��~�A��A��D��H�T�H���H��H�@�H9�u��z���f.��H�=a�1��
���������S�?H��t;H�dz#��8~ �K�D�KH�ڿD�H�5��1�蔸��H��[髯���H�=H�1�襲�����AUI��ATI��UH��SH��H��y#�;t
H�y#�1�H��H�55��-���M��t
L��1��N�;uH�- #H��L��[]A\A]�@1��H�=������H��L��[]A\A]�Df.���ATA��USH��H��0dH�%(H�D$(1�蹱��H��'��H��H�޺(H���L���H�$��t%�N���H�H�����H���P�H���u�H�=��H�������uDH�x#D� H�x#D� H��y#D� H�D$(dH3%(�XH��0[]A\�f��H�=+�H�������u6H��w#D� �f.��H�=ݸ1����������H�=�H�������t.�
H�=ظH�������u#H�w#D� �G���DH��x#D� �3����
H�=��H�������t)�H�=��H�������uH�w#D� ��H��v#D� ����H�=n�H�������uH��w#fD� ����H�=[�H�������uH��v#D� ����H�=H�H�������usH�Cw#D� H�)u#D� H��w#D� H�%u#D� H�w#D� H�Qv#D� H�v#D� H�=w#D� H��v#D� H�1u#D� H�Gu#D� �����H�=��H�������uH��v#D� ����H�5��H��������uH��u#D� ���H�5��H���]�����uH��u#D� �������H�5j�H���6�����uH�+v#D� �m���H�5R�H��������uH�qt#D� �K���H�5;�H������uH�ot#D� �)���H�5%�H���а����uH��u#D� ����H�5�H��记����uH��s#D� ���H�5��H��茰����uH�	v#D� ����H�5߶H���j�����uH�os#D� ���H�5ȶH���H�����uH�]u#D� ����H�5��H���&�����u�E��DN�H��t#fD� �P���H�5��H�������u�E��DN�H�(t#fD� �!���H�5m�H���ȯ����uH��r#D� ���H�5W�H��覯����uH��r#D� ����H��H�5=��1����1�1�H�=>�1��K������fDS1�H���
H�=���ɫ���;���tP��H�޸H�˽HE�H��H�5	��1�腲��H��s#H9t)1�1�H�=���y���1�[�D1��I���H���@H�=���Ԫ����f���H��tg���u?��	w"�H��Ru3�u7� t1��<���@H��1�H�=��1��e���D����H���@1��Y���f�1��f.���H�t#SH���8uDH��t4�C�u,�Sf��~H��1��[���H���P�@����f�S�CH��[�fDH��H�5��1��R������H��s#SH���8u<H��t"�C�tf�{u�u���f�S�CH��[�H��1�[�խ��DH��H�5���1��������USH��H��H�,s#�8uWH���~�k@��ud�C��f��~f�CH��H��[]�f.�1�H���V�����t�H��H��1�[]�����H��H�5.��1��Z�����H��H��1�[]����1��f�f.���H��t?f�H��t-H��1�����P��t��f�h�PH���f���1��D��H�5r#SH���8udH��tV�S�����������	wY�H��Ru)� t^�C��f�Cf��tf��u��t
H��1����1�[�DH��H�5/��1��R����H��1�H�="�1�[鬬��@�t�H��1�������H���Ȧ��1�[�@H��H�5���1�������D��H����t[~I������ukH��t
�F��H��t
�B��H��t�AuH��1�H��霦��@��u,H����H��t�Fu�H��1�H���o�����H�=R�1�H��遨���H��t�FteH��t��Bu�H��1�H���,���@H��1�H�L$H�$����H�L$H�$�C����H��1�H�$��H�$�4���f�H��1�H�$�ҥ��H�$�f�f.���ATI��I���UH�-�n#SH�ˀ}t
H�an#�A�<$�������H�
��H���HE�@������L�
��H���LE�H���P�QH�=��#H�
޳1�诰��X�ZH�5��#1�����1�L���@����}ubH�c�#H���#H��tf�{H��[]A\��H��1�[]A\��f�1���H��@���T�����1���I���X����H�=��1��Ŧ�������H�b���0wHc�H��Y#H���@f.���H��#H���#�f���1��ը��D��Ðf.����f.����AUATUSH��H�����I��H����t{1�E1��(@H�EH�[H��tH���t[I9�tH�{uOH��H�؀�t�{1�H��1����H�@M��u�H�[I��H��u�H�@I�EH��L��[]A\A]Ð1�1��פ��H��H��1�[H�=��]1�A\A]麨��E1���D���G��f�Gf��1t)S���t)H�_<t1��z���H��H��u�[�Gu��f�H��1�H�=��1�[�L���f�f.���USH��H��H�m#�$�8�L$��1�1�H�5�m#� �Ө���;H��uKH�E�C<H�}H���L$�$�E��S�Cu�C��f�Cf��t`H��H��[]�fD1�1�解��H��H��H�޺[H�=
�1�]�����H��H�5ڲ������J���f�H���X���H��H��[]�@f.���AUA��ATA��USH��H��H�l#�8��1�1�H�5�l#� �ԧ���;H��uDH�E�C<H�}D��D��H�ވE1��S�Cu�C��f�Cf��tiH��H��[]A\A]�1�1�询��H��H��H�޺[H�=�]1�A\A]����@A�Љ�H��1�H�5�������O����H���X���H��H��[]A\A]�f.���UH��SH��H��H�k#�8ud�;uH�{t(1�1�����H��H��1�[H�=��1�]���fD�}uH�}tC1�1��ڡ��H��H��1�[H�=��1�]����H��H��H�5N�1���7����Df�{~H���A���H�ËE)C�E)C�EtH��H��[]�f�H��訟����fD��AT1�A��� U��H�5�j#S��1�����D� H�@�h�X[]A\�f.���H�j#SH���8u<�;uH�{t 1�1����H��1�1�H�=Ͱ[���f�{)H���[ÐH��H�5���1��J�����H���X���H��H���[�f.���AUATI��UH��SH��H��H�bi#�8um�;uH�{t1L��H��1��O���1�H��H�=V�H��1�[]A\A]�2���f��}uH�}tKL��H�޿1�����1�H��H�=&��I��H��H��1�H�5���t����r����A�<$uI�|$t)H��H�޿1�跟��1�L��H�=گ�c���fD1�H�5i#�01��[���I��I�EA�D$A�EA�D$A�E�CA�E �CA�E$�EA�E(�EA�E,�Ct�Et*A�D$tH��L��[]A\A]�H���l�����L���b�����H���X�����fD��AW1�A��f��AV1�f���Z�AU�Z�A��E��ATA��H�5
h#UH���8SH���T$D�L$�\$艣���T$.��H��D�`0zu�%���d$A��h��A��v��f�H�{ f��H���ZD$��Uf�H�{(f���ZD$H���U�C(��y�؉C(�C,��y�؉C,�D$D�{1D�s2D�k3�C4H�[�Eu�E��f�Ef���|H��H��[]A\A]A^A_�f.�H��1�1�1�[H�=�]A\A]A^A_���f��H�{ H���ZL$f�Uf��H�{(f��ZL$H���U�<����H���x����w�����AUATUH��SH��H��L�%Ef#A�<$t.L�-ge#A�}�tH��H��H�5��1��賣��H������u0H��H�����U��t��tH��H��[]A\A]��H�{��f�{���P���H���%�U��u<t<u�H�EH����f�}~H���8���H��H�@�8��E<t
�;u<�sH�EH�XH�CH�EH��H�CH��[]A\A]�DH�����H����P��`���H�����U���W���H�}�Y����EC�ECH��E��H��H�\$����H�D$����DH��H��1��H�5
��?���A�<$�����A�}�y����X���@H��H��[]A\A]�f�H��H��1�[]A\A]鬣��@�;����SPL�c�SP�SPM����H�CH��L��I�D$1��)������@H��1�����1�H��H�=n�H��1�[]A\A]��@H�}������ECH��EC1��Ϙ��H�������H�޿賚��1�H��H�=+��DH��1�薘��������U1�L��SH�����։�H��裢��H��tFH�SH�BH�PH�SH�@H��tH�CH�hH�EH�CH�EH��H��[]���UH�ÈP��f�f.���AWAVA��AUATUSH��H��H��b#�8�(�<�><��<��H�CI�߀8��fA��L��E1�E1�E1�E1�1�1�1��'f.�H�CkH��Dc��LE�H��tFH�����u�H����E����H�CH�����K�S�A�H��H��E��A��H��u�H��L��[]A\A]A^A_�fDI��1�1�1�1���S����8H���*���1�1����H��H��1�[�]1�A\H�='�A]A^A_�X����E1�1�1�1��H�����I��fA����L���C���I��H�������R���f��F��y
�A@���ȀD�ڿH�L$�FD��D)�1�)�D�\$D�$�s���H�L$D�$I��D�\$H�A�H@H�xH�XH�@t�P�B����H�C�K�SH�������D)�E)��D�D��E�܉K�S���f��K�SH�C�{����H��H�5T��1��:����<����f�{I���a���H��H��[]A\A]A^A_�+���A�H�A���`���H��_#�8u4AUAMI�@�?����H��H��1�[]A\A]A^A_�h���H�5��1�L�D$蠝��L�D$D�\$D�$A�PA�H��AUATUSH��H���D�gH��1�L�-t�D��f��K��?�C���ڃ��S�S��މs<w��IcD�L�>��fD�H�=�1��5���DH�SH�[H�CH��tH�EH�kH�CH�EH��tBH���BH���s����[ �[$��)K )S$)K()S,�f�)K )S$��E��xH��H��[]A\A]�DH��H��1�1�[]A\A]邛��1���@f.���H��^#ATUH��S�8��H�����E��H�UH����f�}UE1�H����;tH��H�XH��u�H9�tBH�SH��H�EH��H�@1��M���L��H���"���H�SI���H���є��H��H�P�H��1�����[L��]H��A\���H��H�5���1��y����?���1�1��۔��[H��1�]H�=��1�A\�Ę��[1�]A\�f.���AWAVAUATUSH��H��f�H�|$��L�l$E1�E1�E1�1�E�uD��AED�T$���$I�}H��E�1�D��SA�UA�M��)�A�E��D)�A�EA�E��<�(H�5���D�T$Hc�H�>���A�̉�M�mE��D�$M���w���H�D$H��[]A\A]A^A_�A�M$A�U I�} H��1�D�D��SA)m A�M,I�}(E)e$A�U(H��1��SAmEe��A�U D��D�T$I�} AM$H��1�D��SD�T$A�M,I�}(A�U(A)m H��1�E)e$D�D��SA)m(AmE)e,Ee�2���DA�M$A�U I�} H��1�D�D��SA)m AmE)e$Ee����L��H�5ƣ�1��z����H�=��1�藓��AmEe����f.��k���H�D$H���"���������1�1�H��tWGH�H��u��FÐf.���AWAVAUATUH��SH��(dH�%(H�D$1�H�4[#�8�BH���+�E��HH�}�=<��f�}��1�L�l$�H����;tH��H�XH��u�H�UH9���H�SH�EH�@D�}E����H�EH9���L�eI�D$H�mH�EH��H������L��L��I��1��O���L��1�����L$�T$MUH����KSE����H��L��H���1���H���9���f�H�EI���
�I��L��L�`M��u�@@��H�EI9�tM�fI�D$L�uI�F1�L��H�L$�ڎ��H�E�eH�L$H9�����E1��"���@E��y#H��1�1��W����T$)S�T$)S�E���@H��L���u���H�t$dH34%(��H��([]A\A]A^A_�f��H�=�1�H�L$����H�L$�7���I��1�1�1�1���y���H��f�}����H���Ï��H��H�������1��{���1��/���H��H�5ʠ�1��s������1�1��Տ��1�H��1�H�=���“���8���蘐�����U��1�1�S��������H��輗����1ҾI����1�1��œ����1�I��1�1�谓��H��1�H��[1�]���@f.���AUI��ATI��UH��SH��H��H�X#�8uB�;uH�{t1�H��H�=�H��1�[]A\A]����}t:1�H��H�=���@�	�H��H��H�5�����D����f�H��H�sL��L��[H��1�]A\A]�2���f���AWI��AVM��AUM��ATI��UH��SH��H��H�UW#�8��H������t,H�{t%<t;��<��H����Hc�H�>��f�1�H��H�=t�1��
����<u�H�=Ҙ�1�賎��H��H��[]A\A]A^A_����DI��H��H��1�H�5Ԟ��L���H���`���A�����H��[]A\A]A^A_�DA��S�s�1�试��H�EH��[]A\A]A^A_�@�C��@<����A��f�A��S$�1��s �g����S�s�H�E1��Q���f�I�$�ZC(�AH��[]A\A]A^A_�A��S$�1��s �����S,�s(�H�E1������S�s�I�$1����I�EH��[]A\A]A^A_��A�H��[]A\A]A^A_�Z�[1�]H�=L�A\A]A^A_�,���f�f.���AWAVAUATI��UH��SH��H�.U#H�T$H�L$L�D$L�L$ dH�%(H��$�1��;�F�}�$HDŽ$�H�D$xM����A�<$@���WI�|$�i�D$,@����A�t$A�L$@��u��$��t$x��$��L$|L��1�L�-{�1�D��D�<D�4
@���+@��Ic|�L�>��@�D$,L�|$x1�H�L$@H��H�T$8L��H��$��̎��1�H�L$pH��H�T$hH��赎���D$xL��H�$�H�L$P��$�1��T$xH�T$H舎��1�H�L$`H��H�T$XH���q����L$8�D$HH�D$f/��H�D$��y��L$Xf/��H�D$��D$hf/��0H�D$��L$@�D$PH�D$ f/��H�D$�����L$`f/��gH�D$��D$pf/��H�D$��D$,��� H��$�dH3%(�HH�Ę[]A\A]A^A_�1�H��H�=$�1��͍����H��H��H�5���A����;�����L�L$ L�D$1�H�5ӚH�L$H�T$������n���@H�D$f/��H�D$�D$h�f/�����H�D$f/��������@f/���H�D$�H�D$��j����H�D$ f/�����D$,�����L��1��o�������f.�H�D$ f/�I�H�D$�����f/��H�D$ �H�D$��@����@���X@���$@���'1�L��H�=��1��O����A���f.��H�="�1�����D$|H�[�L$xA9�}LD�|$xA9�}YD�t$|H��������s�KD��D���;�p���H�[H��������L$x�D$|A9�|�fDD9�$�}�D��$�A9�|�D9�$�}�D��$��DD�C �{$�L$xA�C(�S,��D9���D�D$xD���D$|9����|$|��9��}�t$x��H�[9��K�T$|������f�f��C S$�ZC(�*�A��A���Y3��Y��,�f���*�A)��8�|$x�Y��,�A)��9���D$x�NjD$|9����T$|��A9���D�L$xD��A9��zD�D$|D��9��J�L$xH�[9���t$|�L$x���j���f(��8����f(��A����f(�����f(������L��1����I��L��1�衇���D$,I���8�[���A�t$A�L$�D$,�t����9�$�������$������9�$��|�����$��p����9�$��N�����$��B����D9�$�����D��$�����D9�$��N�����$��L$x�B���9�$��������$�����D9�$������D��$��s���DD9�$��O���D��$��B���D9�$�������$������9�$������$����L��1��m����D$,I���8��腅��D��AT1�A�ԉ�U1�SH���w���H��1��=���1�D��H��H��1��[���H��1��!���H��H���F����E1��H�PH��1����芈��[1�]H��A\1��ډ��f.���USH��H��H��L#�8uwH��tJ�tEH�{t>f�{~H��藃��H��H�kH��tH�CH�EH��1��Ɂ��H��H��[]��1�1�诃��H��H��H��H�=�[1�]镇��DH��H�5	��1��
����n���D��H�UL#SH���8u\H�����tnH�{tgf�{ H�{H��t�r���H��H�CH�[[ÐH���Ȃ��H��H�{H��u���f.�H��H�5���1��z�����1�1��ׂ��H��H��1�H�=m�[�†��f�1�[�f.�f�AWAVI��AUI��ATUSH��H�J#�;~H��H��H�5��1������M�eM9���M��M��@���5fD�;~L��H�5��1��͈��I�GA�G��I9�t,I��I�u�@��tž&H�=�1��ʂ����H��tI�E�DH��H�PH��u�L�`I�GH��1�[]A\A]A^A_��AWA��AVA��AUD��ATUL��S��H��H�I#�<$�8�t$D�L$�fE9���H��E��8H��H�57K#��A)�1�D)�D�L$Hc�L�$	L������D�L$H�ËD$��t�C��$fD�{fD�sf�C�D$f�CH�C8E9�thE��E)�Mc�M�L�L)�H�C I�L$1�H���q����fDH�ЋT��T�8H�PH9�u�H�EH#�8u`H��H��[]A\A]A^A_�fDH�C �f��H�=��1��M����������D��H�5\�1���������H��H�5���1��چ����AWA��AVAUATA��USH��H��H��G#�8~��H��H�5`�1��蔆��H���KfD;c�@E��1�L�5M�E1��fD9{��1�H�޿81�茄��D��H�K fD�x�{)�Hc�H�H�H�H �	H�s ���H(�K�T�)�Hc���LN����H0�S0H�SfD�{H�PH�CM��t[H�EH�SH��t^H��fD9zTH��fD9{�^���1��!L������fD9{�O����"H�=��1������7���@H�SI��H��u�@H�CH�PH�]F#�8~L��H�55��1��R���H��L��[]A\A]A^A_�1��#H�=B�E1��Z��H��1�1�롐��UH��SH���Gf��xR��f�Ef��;t3H�} H��tf�H�_1��U|��H��H��u�H��H��1�[]�=|��D�Eu�H��[]�1��H�=���~���E�Df.���AUH��I��1�AT�x1�USH��讂��H�@ I�] I��H�����S�Kf9�~y1��"DH�EH�[H��tc�S�KH��f9�}SD�K�s1��{L�C A��E������S(I�|$ �P(�S0�P0�S,�P,�S4�P4u�H�[I�D$ H��u�DI�}(H��t1����I�D$(H��L��[]A\A]�f.���AWE��AVE��AUA��ATA��U��SH��H��H�fD#�8~%D�$H�5ޑE��1�A�ȉщ���P���D�$���tN�C0D�{8E��E��K4����E9������D$P�S@H�ߋs<PARAUATAQA��1�QE��D���ShH��0A���H�=cG#L�=�k#D�k8��D�c4D�s0A��L9�tA�����f�f=�vy�*F#�B�E����D��D�D�c<���D�c@Hc��H�W�C`H�SX����H��[]A\A]A^A_��E��E��A��D��E9��%����fD�[y����L�=�F#L��f��E#��E���q�����D�c<D)�A)�D�c@D��Hc��H�W-�H�SX�C`���n���H�KHH���a���H�SP�f�H��H�BH��u�H�JH�CPH�CHH��[]A\A]A^A_Ð1�� D�T$H�=R�D�L$�L$D�$�{���C0D�T$D�L$�L$D�$�;������AWAVAUATA��USH��H��H��C#�8�pH���H��@#�E������D$A�ĀA�D$����<�xA���u<��H�5[B#1ҿx1����I�����/H�{�$<���K��C��H�
]1�1�A��I�MhI�ED�d$�l<�HH�{�H��E1�E1�D��jL��1�D��������,}���{Y^xH�{�Nf�fA��~lH��tv�EH��D��D��D�{D�cH�kA�A�<t���<�s���H��D�K(D�C$L��K ATAW�C,A�A���P1��x��H�� fA���1�H���#w��H��u�H��E��E��D�d$j1�E1�E1�D��D��L���b|��E�uE�}XZ�|$�mA�����H��L��[]A\A]A^A_Ð<uE��D��L��1��\z��������H�=��1��My������<A�D$�D$�������H�޿1��\x��1�1�H�=؋H��1�[]A\A]A^A_�<|��@��H��H�5��1���~���s����Q�f�S���@1�1��w��L��H��H�=���f�{I������H��H��[]A\A]A^A_�|w��@H��E1��ѿj��E1�L��1��{��_AX�����1�1��w��L��H��H�==��4���DE1�����L��1��fv������I������H��>#M�e �8~L��H�5��1��}��M���N���E�|$fE;|$�<����1��+@E��t;1�H��H���>�H��t1�SI��D��fA9�uIA�|$I�\$D�p�yD�p��u�L��H��u�E�������H�=�1��\w�������E��uA��I��fD9{�r�������H�=��1��"w��D�{��1�H��H�=����f.���AWAVI��AUATI��USH��H��HH�-�=#dH�%(H�D$81��}~I��H��H�53�H����~|��H���eA�v�CH�\$I���D$��L�-t�f9�} ��H�SH��toA�v�BI��H���Sf9��+f9���4f9�~�H��1��5���I���@f9CXH���H��H�PH��u�L�xH�SH��u��I��1ۀ}M�w~��@I��I�FH��u�I�^H�D$�D��$L��1��u����fA;F�%L����H��H�BH��u�H�ZL��H�L$8dH3%(��H��H[]A\A]A^A_�f.��_�����L��1��M�H��L��H��1��=���H��H���6����@A�vf9��$���L��1�L��A�Ԁ}I��H�XM�w����M��H��L���H�5��1��z��I�nH����L�%!��DH��H��L��1��z��H�EH��u�
I����q��I�^H�D$�������L��1��{�H��L��H��1��k���H���@fA9F������$L��1��Jt�����DL������A�Ff9�|S����������fA;F������}����H�=+��Or���CfA9F��������L���)�����H��1����I���@f9C'H���@H��H�BH��u��CA�vL�j�j����$H�=u~1��s�����s��������A�����A��fD9���SH��������������f9{~f�{f9s}f�sf9C~f�CfD9C|iL�[XL����A��1�O�S�w�T$H�{P�P(�T$�P,�T$ �P0�T$(�P4H�SHH�PH�CHt(H�{ H��9#H��1��3u��H�C 1�[�fD�C됐H�CP��f.�1��f.���AVAUATUH��H��L�]SD�fD�NM���CfE;c�8L�n H��I�S fE9����D�A�ufA9�uqA�D$L����D��1��fA9�uXH��H��A��fA9�u߀O@A��A�K@A)�E��~sD)�fD9c��M��tfE9c�ZH��[]A\A]A^�E��DfA9���I�SH����L��fD9b��I��I�S fE9��B���D��E���x���H� 8#�8~�H�=��o��H��[]A\A]A^�H��H�O L�S E�i�L�61�L�M��DH��D��D�4Q)�fE94RYH�rI9�u�M���>���fE9c�3���I�s E��L��A��D����L��A��D��E1����A��D��I������E��A)�M��tfE9c��E9�����A���1�D���H�}H�H7#H��1���r��H��[]A\A]A^�H��I�s E��H�H�HO �f9NE�]�1�M��@E��A)�I9�t�D�DQH��fD;V~�E)��w���H��1�1��&���I�s L�E��u��c���E1��[���Df.���AWI��AVAUATI��USH��(H��6#�8~H��H��H�5��1���su��A�T$E�t$A)։�E���I�_H����f;CumH�kI�|$ H�U �7f92|#�@f9CuRH�SH�J f91��H��H�]H��u�f;E�{H��5#�8�3H��(H��[]A\A]A^A_�L��fDM�T$E��f;E��f9CtZH��5#�8�E9�}�A�t$L��1�D���I�H��5#H��1��+q���L��fDM�T$E��f;E�CI�z H�S �7f92~yH�75#�8��H�s I�z E���[�f9�OD�ʸf����_����H��f;L�|�A)��H���fA9E��I�U f;2��L��H�SL�jM��u�L�[ E��~
fA;3�|E1�E�Y�E1��+fD1�H��H��H�5�L�T$D�$�~s���CfA9D$D�$L�T$�����H�s I�z E���'����}�1��%H�=ox�em��A�D$����f.�I�|$ H��L�E E���A�8f9>��D���@A�<H��f;|�}P��u�E��H������H��3#�8�����DE��1�H��H�5!�1��D�$�r��D�$���E��A)���M�T$I�t$ 1�L�E E���\���H�P3#�8�l���E1��f�L�[ E���3fA;3�)D�ɺ��E�H��fD;D�����u�H�UM�D$ H�RL�Z A�I�1҉L$H�$A�fA9��f�t$H�$f�D$�t$H�|$��A�DPH��fA;S�{��)�H9�u��D$H�|$�t$M������fA9E�hE�Y�H�=d2#�?~9B�M��H��H�5��1�D�\$L�T$D�$�Dq��D�\$L�T$D�$E9��cH�EA�T$I�t$ L�Cf9PfNPH�x fA�T$A�T$f9PfNPfA�T$A�����K�L1���f9~f�H��H9�u�A�@fA9BfAMBI�x I�r fA�BA�@fA9BfAMBfA�B1�D�f9}f�H��H9�u�L��H��1��,��|���H�UM�D$ H�RL�Z A)��P���M�������fA9E������2@���D$�t$H�|$A)����M�E E���fA;0��D�ɺ�fD�4H��fA;t�����u��S���E1��"���A�t$L��1�D�\$L�$D����I�H��0#H��1��Il��M��A�D$L�$D�\$tfA9E�M���M�ofA9E�>���M�mfA9Et��+���L���K���E1��p���A�BfA9@fAM@fA�BA�@fA9BfAMBfA�B���M���[���E1�fA;E�����A�����E1��y���E1��.���A)��e���@��H�GH��t3�Nf9Ht�'�f9JuH��H�PH��u��D��H���f�f.���H�G(wWwWH��t)0)P������������	���A��fWA��fWH�W fwfwH��t~�J�Bf9� �o�H�RH��t^�J�Bf9�}QB�<	B�f�zf�J��t�����fDBH�B )�fDB��~���H�LH@H��fD@�H9�u�H�RH��u�����AWAVAUI��ATUSH��H�o H��to�Ef9E�$q��E1�L�%�.#L�5�r�2�H�XL��L��H��H�@1��j��I��H��t,�CH��f;C}?H�EH��uƾ'L���Yg��H�E�E1�M�} A�e�H��[]A\A]A^A_��fA;G|!L���@H��H�BH��u�H�Z�fD�$H�=�q1��f������AWA���E��AV��A��AUA�Ձ����AT��A��U)�H��SH��)���/#HэZ9�}CH�^-#�8iH�=�0#H�U#H9�t�qc��Hc�1�1�1�H��j��f��/#H��0#H��E��E��D��AWE)�D��H��1�1���h��H��[]A\A]A^A_�f���H�5�y�1���k���f���AWA��A��A��AVE��E��AUI��ATA��U��S��H��XdH�%(H�D$H1�H�N-#�8�MfA�}~)L��1�D�T$D�L$D�$�e��D�T$D�L$D�$I��A�EfD9�}H�=-#�?�YfE�]A�EfD9�~H�=�,#�?�yfE�UA�EfD9�}H�=�,#�?��fE�MA�EfD9�~H�=�,#�?��fE�}I�E H�D$H�����P�pf9���L�D$E���LfD�xfA9�|`�pH�Hf9�}ef9X���PI��f9���H��tj�Q�qH��f9�}ZfA9�~�D��fD�`)�Hc�A��H�HP fA9�}�A��fD�pH�Hf9�|�H�qL��1�L�$���L�$I�HH��u�DH�D$I�E L��H�\$HdH3%(��H��X[]A\A]A^A_Ð�p�xH�P )���~��H�trfDf;*}f�*H��H9�u�f9h��fNPf�hI��f�P����@)�H�P ��~��H�trfDf;~f�H��H9�u�f9X��fMPf�Xf�P������T$1�H����4$H�5�v�L$�'i��D�T$D�L$D�$����@��A�Ͽ1�H�5y�h�������A����H�5�x1��D�T$D�L$D�$��h��D�T$D�L$D�$�l���DA����H�5rx1��D�L$D�$�h��D�L$D�$�V����A����H�5bx1��D�$�Zh��D�$�H����b��f�f.���USH��H���G�W�w)��G)�H�`)#H�81��~c���S�s�H��1�����Ss�i��H��H��[H��]�:`��f.���H���EAWI��AVL�5�uAUATUSH��H��(#�8��A�?t�*H�=fo1��a��A�GA�oA�ĉD$��A��H�Q(#�8��fA���tf������$D9l$~L�|$f�D��H�5Du�1��g���$L�|$H��fA9ou'fE9gu I�G L����1���f��M�M��uҿ
A���,^���$D;l$u�L�|$@fA9o����fE9g�
���M�M��u�H��[]A\A]A^A_�A��D��H�5Yt1��L���mf��Df9k����fD9c�����KD�KH��1�D�CH�5.t��/f��H�S�1�H�5.t�f��H�[H��u�����H�-�mA�<t1��*H���`��A�E�GE�g��L��A�_H�5�s�1��e��E�GE��1�A�O�ӿH�5�uD)�D)��e��M�M��u�H��[]A\A]A^A_�H�=-s�^��f���SH��H��H�5�s�1��Re���K�S1�D�KD�C�H�5ts�-e���K�S�D�KD�CH�5�u1��e��H�{ 1�[�Pa��H�Y%#S��98}1��k\����t9H�('#�ھH�8H�?%#H�8H�]U#H�H1��h��9�[������ø����[��AWAVI��AUATUSH��8H�-�$#H�Q$#dH�%(H�D$(1�L�d$�3H�UL���.d��L��L����^����~oH�H��I�A�~�+A�FH�[yHc�H�>��DH�=�T#1��B_��H�s$#�8���;1��c��H��� H�U�3I�~�b���1�H�L$(dH3%(�H��8[]A\A]A^A_�H�=IT#1���^��L�%$#A�$��	��������1��.c��I��H�����I�FfA�NL���0�;1��b��H���vH�U�3L��I���c��M9���H�=�S#1��M^��A�<$
t�fD������(���fDH�=�S#1��"^��H�S##�8���S#���������1�A�V����H�=QS#1���]��H�##�������u�H��"#f��*1��AF����H�=	S#1��]��H��"#�8	�J���H�U�H�=�rH����������5�H�=�rH�������������A�F�)����H�=�R#1��"]��L�%S"#A�$�������H�E1�I�F�$��������H��!#H�Nj2�n`����H�=<R#1���\��A�$������1���1a��H����A�$��u�H�X!#H����Z���f.�H�=�Q#1��r\��H��!#�8
�"����;1���`��H���PH�U�3I�~��`��1��,���f.�A�F����H�� #�1��AF����H�� #���Q#���@�;���1��S`��H�D$H�����I�FI��L��fA�VL�5�"#fDL��L��I���,`��M9�u�L�5�pL�=��H�=�P#1��k[��A�$���������������������	uʃ;u�H�U�L��H����������H��L���������u���f���������fDfA�^1�����H�u�H�=5p����������H�C!#�fA�vH�I�V���H�=P#1��Z��A�$�����w����B���f�H�=�O#�tZ��A�<$�)���H�"#D�(A�������H�=�O#1��DZ��A�<$
������;1��^��H���'���H�U�3Ic�H��H|$�^��H�=qO#1��Z��A�<$	�~�������
Y��f.���AVAUATL�%W #US1�I�<$t��[]A\A]A^�f���\��H��H����L�-� #H��L��f�H��L��H���^��I9�u�L�-�"#M��t5H��"#@L��H���$X��Hc{�L���H��H���]��L�kM��uֻI�,$��[]A\A]A^�f�I�$�?�����H�}#H�H��t=@��H��Hƀ>u-SH�_(H���@X����~H�H��H�D[��1�[�@1��f.���AWAVAUATUSH��H�$H��HH�w�G
H�|$dH�%(H��$81ۀ> u�0f.�H����)�> t�Hc�H�Ӆ�~0�|� �N	�P�Hc��fDH���< �2	�Ѕ��Hc�L�D$0�L���'\��H�5qm�D0H�hM#I��H�VM#H�7M#L��1�H�7M#�S��H���H�=M#H���_����1��%M#�M#�
M#�[��H��H����H�D$�H�{ H��l�L�%gqL�=��H�X8f�k��[��H�{01�1���[��H�{@�	H��l�[��H�{P1��Z��H�{`�H��l�[��H�{p1��zZ��H����
H��Y�r[��H���1�1��S��H����H�~Y�J[��H���1�1��S��H�� �H����"[��H��01�1��"U��H����H��k�Z��H���1���Y��H����H��k��Z��f�H����DT��H���H��k�Z��H��1�1��Y��H�� �H��k�Z��1�H��01��Y��H��@�H��k�\Z��H��P1�1��\Y��H��`�
H�fk�4Z��H��p1�1��4Y��H����H�Ik�Z��H���1�1��Y��H����H�(k��Y��f�H����TS��H����H�k�Y��H���1��N[��H����H��j�Y��H���f��S��H���H��j�nY��H��f���R��H�J#�IJ#H��#fDH��1��T�������
��Ic�L�>��fDH�-�#H�
#D��I#H�UHc�H�UE�����H�=kjH���������H�=��H����������H�=mI#�D$�S���;�S��I#���������H�EI#D�fI#H��E����H���D���%H�=I#1��S������H�q#H��H#�21҅��ƒ��I#�jfDH��#�H�=<jH�0H��H#��€������H#��������'H�	#D�E������H#����H�|H#H�x�+V��H��#�������H#�D$H��$8dH3%(�D$�H��H[]A\A]A^A_��H�=�hH����������0H#����@�&H#H��G#�9���fD�H�=�hH�������u���G#����H��G#�4����H�x1��M��H�
�G#H��G#H���UH�
G#��G#H����G#����H�D$H�x01����zG#H�?G#�2���f��^G#���<V��H��H����H�D$�H�} H��g�
H�h0f�M�)V��1�1�H�}0�lN��H�}@�
H��g�V��1�1�H�}P�JN��H�}`�H��g��U��1�1�H�}p�(N��H����H�vg�U��1�1�H����N��H�kg�	H����U���XkH����O��H�Ig�	H����lU��H�����KT��H�*g�H����CU��H�����"T��H���H��f�U��1�1�H���ZM��H�� �H��f��T��1�1�H��0�2M��H��@�	H��f��T��1�H��P1��
M��H��`�	H��f�T��H��p1�1���L��H��f�	H����zT��H���1��V��H�nf�
H����TT��H���1��6S��H�Vf�H����.T��H�����
S��H�3f�	H����T��H���1��U��H���	H�f��S����iH���KM��H��D#��D#�u���DH�=qD#�O���;��H�YD#��D#��������f�=��
�����fDH�D$H�x81�����BD#������
6D#�������H�K#H�D$ ��D$(�|$(�����D$(�x1�Hc�H����R��H���VH�L$L�`"A�L�-vXH�A(�L$(f�HH�=�C#1��"N������x�����	����
u�H��#�81�fA�<$�uR��H����H�EH�=IC#�sC#I�D$1���M���;����H�D$ H�=C#�
LC#D�0H������E���qfE�t$1��M���;	���C#D��1��?����C#�����D$H�ED��I�D$1���Q���L$H���;A��I�� D9|$(��������B#�D$����H��#H�D$��D$(�������H�D$H�x ��D�L$(H�@B#�^B#E���%���L�5 �L�-)b�`D�L��L����€��҅����L��H�=����€��҅��`�L��L����€����_H��1��KL���;	�J���L�E�L����A#H��A#L����€��҅��_�����q��
�A#�����H�z�
O��L�|$1���I�_0�XP��H���
I�G@�{0�J�@�{P���@D�{p�/�@p����uǀ���P��ǀ���p�]ǀ`��0��Hǀ�����Hǀ��������f��*������������������������t������1Ҁ��u������1Ҁ��u������1Ҁ��u����������u������������f��*�����D$��?#�I����D$�����<���@H�u�L�����������������
�?#H�c?#����H��1���I���;�����H�D$�t?#�H�7?#�L$ ����H��1��I���;�L$ �����H�D$�=?#D�(H��>#������E���H��1��tI���;	�s�����>#D��1��'��‰�>#�����D$H��>#�L$9L$(�o����H����������H�|>#�T$��>#���DHc|$(1�H���pM��H�D$ H����H�D$�L$(H�t$ f�HH�p H�->#����L�-�L�5!^�H��1��H���;	�����L�E�L���>#H��=#L����€��҅��R����L��L����€��҅��4����L��H�=h���€��҅������L��L����€����_���H��1��G���;���H�D$��=#Lc0H�G=#������H��1���G���;���H�D$�U=#�H�=#�������E���&���I��Lt$ H��1�fA�N�L$,�{G���;	�L$,�v�����1��L$,��<#�'��L$,���‰�<#���D$,H�E��I�F1��K���T$,H���8�D$H�}<#�L$9L$(�Q�����f�H�a<#������i�H�P<#������X�H�?<#�p��H������H�=J<#��I���D$������qH��������D$�������'<#�����D$��������,H��`H�����������ǀ��������ǀ��M������'H�
z`H���������;#����H�m;#�����rf�������f���G�H��x��`��H�<�1�� f��*DQ��hH��H9��U����4Q@��t�@����HDŽh����Rf������f���G�H��X�����H�<�1�� f��*DQ��H��H9������4Q@��t�@���	HDŽ���SRf���Q���f��
�
G�H�KX�PD��H�<�1���t��tHH��H9��!����4�@��t�@�����DH��f���q���H���
����f��*B����T����S2f�������f���G�H�K8�P��H�<�1���t��tH��H9��y����4�@��t�@���^�D�����f���{���f��
�
G�H��������H�<�1���t����H��H9��E����4�@��t�@����D���f��2�R���H��8�
���Vf��*B����5����Srf������f���G�H�Kx�Pp��H�<�1���t��ttH��H9�������4�@��t�@��tj�Dt��f��ZDQ������,t��tH�����,t��������f��ZDQ��h�
����,t��t�s����,t��tt�k������m���f��ZB����b���H��7#�i���������_����,���������,������d���f��Z������������f��ZB���������7#�b�f��Z��������H�J7#�t7#��������@���D$�����y���Hc�H����fD��Uf(�H��f(�S�H��H���L$�NP�$�F@�V�l$�$$�KX�CH�E�f(�f(�S �EH��1�[]����AU1�A��ATA��UH��SH��H���������S(���D��D��E���1��S0�EH��1�[]A\A]Ðf.���H��f�f�ɸ�*��*�V1�H���f����Y��Y��X��,�Ðf.����Y��,�����Y��,�������΍
�f��������fD�������fD�,�f���,ɉ�D��A*��Z�f.�zFuDf���*��Z�f.�z2u0H�A#H�E����H;�#tqH��#H�1���A��E��A��A��D��1�D)�E��E1�E)�D9�AL�=����to��ZH�
�#�Y��Y��,���,��H�
���u+H��#�f���u�H�u#H9tH��#�o���@���f���H��#�W���@H�1��@f.��G@f��I���OPH��#f.�H�GH��#H�G����H�z#H�GfA.SH����H�]#I�C I�S(I����I����e�����AKX�ACHI�S0I���I����=���I�{(tI�{0t�fDH��#I�C�@f.�z:u8fA.SHH�{#I�C�g���fA.SXz1u/H�`#I�C �^����H�y#I�C�*����H�a#I�C �/�����AT1�A��U�׉�S�>��D����1��>���[]A\�����1����>�������1��>����H��1�H����1��@����#��	v���щ�#�H8H���f��
�
��#�H8H��������1��G@�F�GP�F�GH�F�GX��������g��n�G�_f(�fD(��DF�~�Y��DY��Y��Y��AY��Y��AY��AX��Y��X��2�X��R�X��J�B�@��ATUSH��dH�%(H��$�1�H���E�H��<t.H��<�����<tDH��H��H�=�V1��`>��H��H��$�dH3%(H���"H�Ġ[]A\��f����?#��	�����‰+#H���W8H�{@1�H��H���B���cH��1�����@I��1�L����=��H��L��1��<��H���a���fD�W�71����A���S�s�I��1���A��L��H���w8��H��H��1����H�PH��H�H�PH�RH�S�7�����f.�1����f�1��@��H���,�����
�
�����9��f�f.�H��t��t�G��u�<u��G<��t�ATL�%S0#H��UH��SHc�1�H��I�| ��@��J�4#H��[H��1�]A\��@����Uf(�f(�f(�Sf(�H��H��XH�-|#dH�%(H�D$H1��}uVH�l$ 1�H���|$ H���t$(�l$0�d$8�<���1�H��H����>��H�L$HdH3%(��H��X[]�@H���H�5XT�\$�T$�L$�$�>���}�<$�t$�l$�d$�^���f(�f(�f(οf(�H�5
T��>>���d$�l$�t$�<$�����m8��f.���Uf(�f(�SH��H��HdH�%(H�D$81�H�D#�8uWH�l$1�H���\$H���T$(H�D$H�D$ ����1�H��H����=��H�L$8dH3%(u>H��H[]�H���H�5MS��L$�$�d=���T$�$�u����7��Df.���SH��H��0��W�O�gf(�f(��Y��Y��\�f.�S{C�^��^��#�~%�SfW�fW��^��[�^��S�KH��0[�f.�u��/H�=LB1��D$(�d$ �L$�T$�\$�6���D$(�d$ �L$�T$�\$�g���f.���AUI��ATI��UH��SH��H���xH�w`1�H�@��>���K�f�f���S`�[p�*E�*M�Y��Y��X��AU�YCh�YKx�X��A$H��[]A\A]���H��"SH�81������H�(�"�HRH��,#H��,#H�;��,#H�t,#H�q,#�y,#�i,#�I,#�Oy[ÐH�w`1�H��@�>��H��H�[����AUATUSH��8dH�%(H�D$(1��?t-H��1�H�=�P�|8��H�D$(dH3%(ubH��8[]A\A]ÐH�1�"I��H��H��H��@I��L��H�01�H��`�X<���$�AE�D$�A$�D$�E�D$����4��D��AUL�-f:ATI��U��SH��dH�%(H�D$1���y	��L�-�zH��D��H�
JP1�H�ߺ��=��H�ߋH����������!�%����t��A��M�������D�H�WHD�H��������H�
�OH��H��A��H�G�L��P1��P=��XZH�D$dH3%(uH��[]A\A]��3��@f.���SL�OH��H��L�G�O8H�5�O1���w9���KH�C@H�5�O���W9��������1�H�5PO��89���KX�CPH�5O���9��������1�H�5O�[�8����J0#��uN��~A�F��<0#L�LH���O�A��fA���A1�fi�m�D�G�f�¿XL9�u�f�0#���fDD�
�/#USE����D�
�/#����H��"H���"L�@�F���/#H��1�L�\L�S1��9f�A	ɉу�H��D�f���M��fi�m�D1ɈN�f�¿XL9�t8H���O�A����t��M9�u�A��H�
|�"L�AL9�u�@��tf�0/#H�SI9�t3[]D�
/#�/#��1���~H��"L�C�-���f���.#[]�H��"1�H��"L�B�f.�USH��H����.#� ���H��.#H+x.#H���~OH�3��3����H�HO.#HP.#����H�;�[.#H�{����H����[]�f.�H����H�3�2���{ �H�5�+#��H�H�-#H�-#�2����+#�
}+#H��-#H�H�-#�d+#��Hc��H�H�H��L+#��H�H�H��-#���H����Su:�ʀ�S�7����H�3��2��������@H����1�[]�!�����݃�@f�k1�S���D�H�5�*#��1����*#��*#H�-#�{ ��Hc�H���*#��H�H���*#��H�H�H��,#H���~�H�3�g1����H�H�,#�g������S1�1�H��dH�%(H�D$1���,#�o,#�a,#��5���J,#��xH�t$����0��H�����|$�t|�=,#1�1�H��+#�/��H��)#��+#H��+#1�H��+#��+#��+#f��+#��+#H�L$dH3%(H��u1H��[�fD��+#�u���f��=�+#�0����.��@f.���H�?t\�G�u>�GSH����t#��~:���CH�CH�PH�S�[������C��fD��G�GÀK������[ø�����@����*#�D��AWAVAUATI��US��1�H��H�|$�z ��u.���{Hc�H�$�2��H�����A�|$ �H���Lc�Hc��A.��A�|$ L��H���A/��B�D=�S�
��Hc�A��L�=�IL�t�����
��A�~�DD�I��L��L���6��H��t��Z6��E��L�Hc�A)�H�D�)��
DA9�~H�ƍ<H��H�A�DP u�L�t$Ic�H��L���B0��A�H�4$1�A�|$ �}-��H����)���!A�|$ H�4$1�A������Z-��H���)��H��D��[]A\A]A^A_�A����������AT�1�USH��� �-���{ �1�I���-���{ L��1�H����,��H��[]A\�f�f.��������t�V@�~�����V���H�9����AVA��AUE1�ATUA��H��S�AH�����E��~u�E���}xhH��1��@����E��~�D9�AOčP�H�tf.�H�MH��H�QH�U��S�H9�u�)EA�A)�t�}xH��1�����EE���D��[]�A\A]A��A^�f���A��H��A��A�A��U���1��@f.���H�?tH�� �,���1��f.���AT�q��UH��SH��dH�%(H�D$1�f�	(#��'#�.����
t
H����w.���E��~
�}��H����.��H��$�H��H�{�1��3��L�%��"H��H�SH���G�B�| ���H9�u��'#�����x'#H��H�sH���J��fi�m�f�XH9�u�uH�}f�K'#1����}�.'#�Ey���HD�H�\$dH3%(H����H��[]A\�f����EH�EH�PH�U�����fDH���1���2��H��H��H�{L���"�H���p�H��B�T"B
T�Q�H9�u�����@��&#�����l)��f�f.���AWAVAUATUSH��H���%H�:�����BH��I�������1�V��CL�t��=�%#��H�C�
�%#D�8E�<,��uMH�5�@L���1��H��t9��%#������u&�1��I�T,�H��DP t�%#�H�SE�}�<
�<
���CH��H��H�S���CI9��A��A���I���H������C���6����C�Ȁ�C��tHc�A��	fDE1�H��D��[]A\A]A^A_��=�$#����H��1��$����$#��$#��$#����fD��0��I��H��DP ������$#�
���f���B�B���tL��j���D�R$#IcDž�uA�D�
A��kH�C�=���f.�Ic�A��&����A���fD��H�$#H�$#�$#��##��##��##�f.���H��dH�%(H�D$1�H��t3H��1��-���T$�4$1���-��H�L$dH3%(uH��ÐH�$1�1����}&��f.���SH��dH�%(H�D$1�H��trf�H��~�%��H��1�H��H���#-��H�C�8u*�$)P�T$)PH��H�L$dH3%(u.H��[�@�L$�$E1��H��1�����S)���ǐ1�����%�����H��H�= 1�#��1��0H�=
1�%��1�H���f����(���������xG��t+�
�Ef(����t��Y�@��t�Y��u��D��A�
�E��fD��u�tA�
�E�������
�Ef(���f���H��"���f���H���"���f���H���"���f���H���"���f���H��!#H�P@�8H���"H��!#���@��H��!#H�P@�8H�_�"H�x!#���@��H�=�"�������f���H��"�������f���AVAUATU�-� #S��0uyL�%��"�<H�=	!#H�P�0H�� #�G��~H�uB���GH�GH�PH�W�8��0u4H�� #I;$r�H�8�"H�=� #��G����w'���ǃ�0t�L�5�"Hc�A�9���L�%"�"H�s #I;$��H���"�H�=] #�G��~
����'����A������Hc�A�9�~vD��1�H�5 #M�$��9������I9���H�F@�>H��#H�=�#�G��~h�ub���GH�GH�PH�W�8Hc�A�9���	�1�E1��#��[]A\D�-x#A]A^�H�P@�8H��#�!���D�K&�����<���@H���"��h���fDA���I9���H���"�H�=,#�G��~]�uW���GH�GH�PH�W�8Hc�A�9��G���A��H��#I;$s�@�8H�=�#H�PH��#�G���D�%���������GH�GH�PH�W�8�Y���fDH�F@�>H��#�R���9��1�����E1���$�����ATL�%�"UH�S#S�_�I;$��H�P@�8H�7#H�=8#�G��~
�����$��H�-��"Hc�DtfH��#I�$��������4�4ލ\�H9�shH�J�H�
�#H�=�#�G��~=�u7���GH�GH�PH�W�Hc�Du��=�#-��y#[]A\��[$���n���fDH���"�떐H���"�����fD���GH�GH�PH�W�����fD�=#-���������H9�s[f.�H�JH�
�#�H�=�#�G��~Q�uK���GH�GH�PH�W�Hc�D�1���H��#I;$r�H�0�"H�=�#��G����o#����D�ۉt#[]A\���ށ����t ���V���D�xЍ�����L��=����pЁ�<33s)�	�433�M��"������H���"�=#H� #H;sCH�P@�8H�
#H�=#�G��~�u���GH�GH�PH�W���"��H�Q�"�뼐��ATL�%U�"U�-�#S��#���
��0��L�%=�"�?H�=�#H�P�0H�{#�G��~K�uE���GH�GH�PH�W���0u5��H�J#I;$r�H���"H�=>#��G����!����0t�Hc�L�%��"A������=�#-���X�H�
��"H��#H;��H�J�H�
�#H�=�#�G����������GH�GH�PH�W�8f.�Hcω�A�������J�@@�8H�=v#H�PH�c#�G��~l�uf���GH�GH�PH�W�8Hc�A�tX������S�H���"���؍\8�H�#H;r�H���"H�=#��G����� ����Hc�A�u�����#[�-�#]��#+A\��#�@�8H�=�#H�PH��#�G��~p�uj���GH�GH�PH�W�8Hc�A���t���533��@�H��"���؍G�)�H�L#H;r�H���"H�=A#��G���������1��<�����0)�����@�����f�������Hcω�A��������T����������A����AH�=�#�H�JH�
�#�G��~Z�uT���GH�GH�PH�W�Hc�A��������H�
�"H�k#H;r�H���"H�=`#��G�������@H���"��[���fD����433�u��OЉ����H���"����H��#)�H;slH�PH��#@�8H�=�#�G��~��u����GH�GH�PH�W�A��4���fD��7����H�H�"������H��#H;r�H��"��@��H��"H�f#H;sAH�P@�8H�S#H�=T#�G��~�u���GH�GH�PH�W�Ð���H���"��f���H��#��#��#@�8H�=�#H�PH��#�G��~%�u���GH�GH�PH�W��f��{���f.�����#+1��{����f.���H�m#�=c#@�8H�=e#H�PH�R#�G��~#�u���GH�GH�PH�W�������f.���AVAUL�-��"ATM�u�USH�r�"f�H�=�#�G����������GH�GH�PH�W�Hc�A�D@��L�%1�"H�=�#A�,�G������������GH�GH�PH�W�Hc�A�D@��H�
�"H�[#H;��H�=S#A,H�P@�(�GH�6#���H���fD����W���fD���GH�GH�PH�W�HcЀ|��H�=�#�G��~�t������f����GH�GH�PH�W�HcЀ|��H�=�#�G��~�t��t����f��k������fDH��"��~���fDA�D@�������>��H�
��"H�M#H;��H�J�H�
7#H��"������[]A\A]A^�@A�D@�����H�
��"H��#H;sH�J@�*H�
�#��>u��H�]�"���>u"H���"��[]A\A]A^�H�0�"��n���f.���H�=�#�G��~�u���GH�GH�PH�W��f��;���f.���SH���"� f����GH�GH�PH�W�Hc�@t"H�=+#�G��~�t�����Hc�@u�[�@f.���SH�f�"� f����GH�GH�PH�W�HcЀ<y"H�=�#�G��~�t����HcЀ<x�[�@f.���Hc�H��"H���<yX��
tc�U#��u)H���"�H#�H�;�"��H���H�!�"�	�H���f�H�5)#����f�H�=#�G��~:�u4���GH�GH�PH�W���
�k���H�5�#���@���X�������ڐ��Hc�H�4�"H���<����
���=�#f�ҋ#�*�#��xG��~G��tG�G@����H�H�
�0���YЅ���H���"f���Z���9@��x��t�B@����H�H�[0�Y�H��"f���Z��H���"��H���@H�5�#�L���<����H�=�#�G��~z�ut���GH�GH�PH�W���
����H�5�#�������1�������@��1����Y��P����B@��wH�H��/�Y�����#��뚐��1��w��Y�����@f.���U��SH���"H��H�-��"�F@H�=	#�H�JH�
�#�G��~O�uI���GH�GH�PH�W�Hc���� t9H��#H;Ur�H�2�"H�=�#��G����q��Hc���� uD�yQ��
tH�]�"�	H���[]�H�=i#�G��~2�u,���GH�GH�PH�W���
t�f�H�59#�����������f���Hc�H���"H���<����
���=�#��#��u#H�D�"�H���"��H���f���*ЍG@����H�H��-���Y�H���"f���Z��H�`�"��H����H�5i#�����d����H�=Q#�G��~J�uD���GH�GH�PH�W���
�+���H�5#���x������1��9��^���@������f���H��
#ATUS�_�H�P@�8H�=�
#H��
#�G��~
������H�-<�"@Hc�H�J�T��tg�����_�H�=�
#�ڍ\�H�o
#��GH�JH�
_
#��~#�u���GH�GH�PH�W��fD����f�H�5��"����D�=	
#-��u��E1����A��������H��#H�=�#��GH�JH�
�#��~
��&���H�L�"f.�Hc�tZH�
@�"A��H��#H;��H�J�H�
w#H�=x#�G��~q�uk���GH�GH�PH�W�Hc�u�[�-6#D�%+#]�#+A\�#�����GH�GH�PH�W��S���fD�����F���fDH�a�"��_���fD������
tE�=�#-u��H��"�H���"��[]A\��GH�GH�PH�W�����H�=#�G��~{�uu���GH�GH�PH�W���
t��H�5I#������r���D�PЅ�~���6����L-E1�,���%����������L-E1�,�)����������fD����
#+1�����f.���Hc�H�4�"H���<y ��
t3H���"�	�H���@H�5�
#������f.�H�=y
#�G��~2�u,���GH�GH�PH�W���
t�H�5K
#������f������f���SHc�H���"�� �%H�
#@�8H�=
#H�PH��	#�G��~
��h�����Hc��� ��H��	#@�8H�=�	#H�PH��	#�G���K��A���GH�GH�PH�W�8Hc��� ��H�n	#@�8H�=l	#H�PH�Y	#�G��~
�������Hc��� �JH�+	#@�8H�=)	#H�PH�	#�G����������GH�GH�PH�W�8Hc��� ��H��#@�8H�=�#H�PH��#�G����������GH�GH�PH�W�8Hc��� ��H��#@�8H�=#H�PH�l#�G��-�X�H�P@�8H�J#H�=K#�G���0��&���GH�GH�PH�W�8Hc��� t&H���"H�#H;r�H�t�"��@��y��
t'H���"�
�[�H�5�#�$����f�H�=�#�G��~b�u\���GH�GH�PH�W���
t�H�5�#����
���f����GH�GH�PH�W�8���fD�+��������@����f����GH�GH�PH�W�8����fD��
����� ���@��
�������@��
�����U���@��H�=�#S�G��~
����
��Hc�H�6�"��� �H��#H�=�#��GH�JH�
�#��~
��{�V
��Hc���� ��H�g#H�=h#��GH�JH�
P#���`��V���GH�GH�PH�W�Hc���� ��H�#H�=#��GH�JH�
�#��~
��%���Hc���� �HH��#H�=�#��GH�JH�
�#���
�����GH�GH�PH�W�Hc���� ��H�|#H�=}#��GH�JH�
e#����������GH�GH�PH�W�Hc���� ��H�'#H�=(#��GH�JH�
#��+�o�H�J�H�
�#H�=�#�G���I��?���GH�GH�PH�W�Hc���� t&H�
W�"H��#H;r�H��"��@��yT��
tH�`�"��[�H�=q#�G������|���GH�GH�PH�W���
t�f�H�59#���
��롃��GH�GH�PH�W��H���fD���GH�GH�PH�W��p���fD�
�����fD�
���f����GH�GH�PH�W�����fD�{
������fD�k
������fD�[
���@���fD��AWAVAUL�-�"ATU�SH���"H��L�%,�"H�=M#A�$�H�J�H�
+#H�=,#�G��~M�uG���GH�GH�PH�W�Hc�u7H�
��"H��#H;r�H�_�"����	��Hc�tɃ�(�)����n��
�z���H�5�#�F��~
�~��H���]	��H�5�#��
t������H�5s#H��"H�]#H;��H�P�
H��H�C#����fD��)���\�����H�5'#�F��~
�~� H������H�5#A��A��b�u�DA��n�Z�#A��r�?A��t�zA�	H�c�"H��#H;�H�PD�8H��#H���q���DH�1�"��H�#H�=�#H;sH�P�(H�e#�<����H���"��"���fDA�$����H���[]A\A]A^A_�@��t�H���"H�
#H�=#H;s�H�P�)H��#�������FH�FH�PH�VD�8�������FH�FH�PH�V��;���A��fueA����A��
����A��
u@�FH����~
�~�H���T��H�=}#��
�H���H���������2���DA��������Ic�A�D �}���L�5��"E�<�F�����~�����FH�FH�PH�V�Hc�A�D ��A�F�<��F�����~�����FH�FH�PH�V�Hc�A�D txA�F�<����fDH�!�"H����o���A�
����A�
���A�������FH�FH�PH�V����H���(��H�5Q�"�;��������H�5>�"�o���H�����H�5*�"�V���D��H�
�"S@�8H�=
�"H�PH���"�G��~
������Hc�H�Q�"��� �"H��"H�=�"��GH�JH�
��"��~
����q��Hc���� ��H���"H�=��"��GH�JH�
k�"���k��a���GH�GH�PH�W�Hc���� ��H�-�"H�=.�"��GH�JH�
�"��~
��0����Hc���� �KH��"H�=�"��GH�JH�
�"��������GH�GH�PH�W�Hc���� ��H���"H�=��"��GH�JH�
��"����������GH�GH�PH�W�Hc���� ��H�B�"H�=C�"��GH�JH�
+�"��.�zf.�H�J�H�
�"H�=�"�G���Q��G���GH�GH�PH�W�Hc���� t&H�
o�"H���"H;r�H�4�"��@��y\��
tH�x�"�	�[�H�=��"�G����������GH�GH�PH�W���
t�f.�H�5I�"�����뙃��GH�GH�PH�W��=���fD���GH�GH�PH�W��e���fD�������fD����f����GH�GH�PH�W����fD�������fD�{������fD�k���5���fD���v�"�P���"w^�d�"��uTH�
�"�G�"H�X�"H;rKH���"H�=M�"��G��~L�uF���GH�GH�PH�W��@1����f�@�8H�=�"H�PH��"�G������Df.���H�H�=�"H���H���"ATUS�8��H�e�"H�-��"H�H�EH���"H�	�"��G��~�tV�I��L�%��"H���"HcЉ�1�A�H��H�L�b�=u�H���"H�2�"H+E�[]A\�����GH�GH�PH�W�또1������tH�=��"�E���f�H�)�"�H�T�"�H���"�H�"�"�����H���"������f�H�)�"H�
��"�����������H�
��"�������H�
��"��	�����H�
X�"��
�����H�
g�"���������H���"��Df.�H�
y�"H��tdHc��"�q1�9�~UH�L�"�rHQ�5o�"�����t;�
�"���f��fi�m�1���f�Xf��"����1��D���H�
a�"H�vf��A�H��H�4H��H�4�H���DH�DH�<1fA(��\WfA(��\'f.�@��AE�@��tff.�@��AE�@��tUH�|1�fA(�fA(��\W�\'f.�@��AE�@��t,f.�@��DD�E��tH��10���fA(�fA(��\V�\&f(��=�H�4R�hP�Y�H����~5�H��fW�H�4�Y��^��X f(��Y��Y��^��.�A\��X(�^�A\�f.�@��E�@��tcf.�@��E�@��tSH�th�^�.�A\��A\�f.�@��E�@��t+f.�@��D�@��tH����Z�*�A\��A\�fW�f(��D@X�Y��Y��Y��Y��Y��Y��\��A^�f/��A^��p0�@8wf/��ƒ��Pe�fD�@e�H�a�"H���XH�I�"H���HH�@H��H�L˜�9�q�yd��y�q�H��"�Ad����H�:�"�8��fE�fA.��I�D
H�:fA.���	�)fA.�z�DtfD(��D^�fE/�v	fDW�fA.�z��^�fD/�vfW-�H���"�H�=�"�09��SHc�L���"���Dp
H�<�H�x�����I��A��Lc�Lc��_@fA/�sfA/�rB�`f/�r7�D@fD(��EX�fD/�r �EY�1�Lc��AX�f.�@�ǃ�fD��H��X9�te�8u�f/�sf/�r��`f/�r��D@ fD(��EX�fD/�r��DY�	E1�Lc��AX�f.�A�ƒ�H��XA��9�u��A���t!K��I�A�����AX|�P�Ad�yA���t+K��I�@A�����AXt�P�q�Id����H��H���"�1�H�5_���H�=_�������"H�����^�fD/���fW����@fD(��D^����f��-������AX|�H�*���@�AXt�H�B���@AUATUHc�SH��XH�=��"dH�%(H�D$H1�H�L$8H�T$0H�t$(L�D$@���~��L$(�}fT�f/�w�L$@fT�f/��7A�H�
�"H�D�H�=n�"H�DEH��D�E�����h�p �1�1��l$�4$����l$�4$I��H�q�"H�L$ H�T$L���t$H�01��,$���1�L����E���,$�t$�~�1�T$fT�H�D�H�
��"�D
RH�DE�4�fA(��^����q���fE�fA.�z���\΋�`f(�fT؅�~L��H��hH���p�� f(�fT��\�fD(�fDT�fA/�v	fA(�f(�H��H9�u�f(����fT��X��%�fD(��D��Y��X�fD(�f(�fDT�fE.�v8�H,�fE��fDU��L*�fE(��D��fA(�fAT��D\�fA(�fAV��,�D������D�E��������H���"����
;���u�Y��\�f(��Y��\��Y��X�f(�fD(�fT�fD.�v4�H,�f��fAU��H*�fD(��D�fA(�fAT��\�f(�fV��,�f��X��*�H�D�H�DEH���p0�Y��\�f(��X��\��X��h(�@H�XP1�H�\$HdH3%(�dH��X[]A\A]��h�p1�1��A���l$�4$�����4$�l$I���.���fD�L$0fT�f/��E1����@���fE�fA.�z�f�\΋��f(�fT؅�������H��H���f�� f(�fT��\�fD(�fDT�fA/�v	fA(�f(�H��H9�u������T$ fT������f���*��Y��\΅��&���H�ɷ"fD(��DX�0���H�=&�"1�H���A��XfD/�rfE���D*���DXXfE/��E��H��9���D�E��u��Xf/�r�fE���DX�D*���E\�fA/�r��D��fD/����Y��X�fD(�fD(�fDT�fE.�v7�H,�fE��fAU��L*�fE(��D��fA(�fAT��D\�fA(�fV��,�f��\�fA/��*��\��Y�v�X�f(��X��f�f(��Y��\��Y��X�f(�fD(�fT�fD.����,�f��X��*�H�D�H�DEH���p@�Y��\�f(��X��\��X��h8�@H�XP����Df���*��Y��\��3������f�Ʌ������������`f�Ʌ������i���f��H,�f��fAU��H*�fD(��D�fA(�fAT��\�f(�fV��#�����L$8E1�fT�f/������H�D�L���"H�DEI��H�@HH�@PH���"��9���f���*��~����D��fD/��B1ҹ�Y��X�fD(�fD(�fDT�fE.�v7�H,�fE��fAU��L*�fE(��D�fA(�fAT��D\�fA(�fV��,�f��D\�fE/��*��\��Y�v��tfA/�v	�A\��XDž�t�A\�f(��\�H�D��X�H�DEH���xH�X��@P�p@�x8�H���Hc�H�R�YT��X�f(�fD(�fT�fD.�v4�H,�f��fAU��H*�fD(��D�fA(�fAT��\�f(�fV��,�f��*��\��Y��3���Hc�fE���D*��H�R�H���XfD(��EX�fE/�s�Dh1��E\�fD/���1��u�����f.�H�q�"SH�q�"H��H�SH��H�_�"H9�
H��[�DH��H�=M�"H�@H�2�"H�4�H���m�H�.�"H��[ÐH��H��"H����H��"H����H�@f(�f(����"�
��"H��f(�f(�H���0���f(��t$f(��\�\X�<$�J��%����<$�t$H�@�X=F�"�X56�"H��H���"H���='�"�8�p�x�p�@`�@d1��5��"H���f�H���"H�5��1����H�=��Z�1����"H���f�USH��L���"M����H���"H����H��H����H�@H��H��A�|`��I�T�� fDH��H�R����H����H��H��H��u�A�x`�n���H�
v�"��"H�@H��H��H�H�T�����"�@��@�B�@`�@�@dH��1�[]�A�x`u�H���"H�5��1���H�5�
�1���1����"H��[]�f�H9�~�H��H�[H���"�H�H�,��NH��H��f(�I��I�T(�f(��h� �\2�\z�\��\�f(�f(��|$�4$���|$�4$H�N�"H�O�"�
��"���"f(�f(�H��(0���f(�f(��\X�\�����L�Ƹ1��2���f.�f(�f(�f(�H��(H�9�"f(�8���X-��"�X%��"�|$�t$�=��"�l$�$$�5��"�-}�"�%m�"�-5�"�%%�"���l$�$$H�@�|$�t$H��H�R�"H���(�`�x�p�@`�@d�1�H��(Ð��H�5�	�\$�T$�L$�$���t$�|$�d$�,$�����H��H�%�"�8u`�;����k�"H�@H��H���"H����D�"�@`�@���"�@d��@�g�"�@1�H���H�=0	���f�H��H�E�"�$�L$H���H�1�"H����H����H�@�l$�$$H���
��"���"H���0����X��}��X����$�D$H�@�X
y�"�Xi�"H��H���"H���
Z�"��@�H�@�@`�@d1��*�"H���DH��"H�5��1���H�=.��1����"H���f�f(�f(��
��"f�����"f�����)���fDH��8H���"�$�\$�d$�l$H���
H���"H����H�@f(�f(��h�"�
X�"H��f(�f(�H���0���f(��|$(f(��\�\X�t$ ������t$ �$$�|$(�X5�"H�@�X=��"H��H�E�"�l$H��f(�f(��5��"�0f(�f(��x�p�x�@`�@dH���"�=��"H�@H��H���0����\X�\�p��K����$H���"�L$H�@�Xe�"H���X
Q�"�l$H���d$�f(��Hf(��@�H�@`�@dH�d�"��"H�@�
�"H��H���0����\X�\�������L$�D$H�@�X
��"�X��"H��H��"H���
��"��@�H�@�@`�@d1����"H��8�DH�q�"H�5:�1��^�H�=����1��V�"H��8ÐH�H��H���"H���He��t=������th��uA�@@�HH�\@0�\H8�~�fW�fW��GD��t��������Ð��t��u��@0�H8�\@@�\HH�
�@0�H8f�Һf.���E„�uf.���DЄ�t�H��H�=n�"��|�H��1���H�={�"H����H�l�"H������t;���`����@ �H(�\@@�\HH�~��fW�fW��c���f��~���@ �H(fW�fW��;�����@@�HH�\@ �\H(�!����ATH�USH��H��H��0H�5��"H��x`wo�P`H�
%Hc�H�>���H�)�"�8�H�=��"1��2�H�={�"1�H��1��o�H�h�"H��1���H��H����H�L�"H��0[]A\�H�=9�"1�����H�'�"H��"H��0[]A\���H�H�=��"����H�=��"H���'�H���"H��0[]A\��H�
Y�"H�T��1H�
*�"�9�q�P�X�\R�\Z@����f(�f(��f.�H�
	�"H�T��1H�
ڧ"�9���P�X�\R�\Z@���DH�=�"f(�f(¸��H��1��1��H�=�"H���R��H��"H��0[]A\�f�H�|�H�LhH���H�5W�"H�p�"�>D��s�I�@�Pf(�f(��\g�\��Af(��\of(��\��R�4$�\��J�|$�\��T$�L$E���oH�=<�"f(�f(ĸ�B��L$�$H�=�"H�Ÿ�#��L$�D$H�=��"H�ø��H��I��1���H��H���;��H��H��1����L��H���#��H��H��H��1����H�=��"H�����H���"H��0[]A\�@H�=��"1�1���H��"H�=j�"�C�KH���"��g�H�=p�"H��������	��Pf(�f(��\'�\��Af(��\of(��\���4$�\��J�|$�\��T$�L$E�������f(�f(�f(߿f(�H�5k��l$(�d$ ���;�d$ �l$(�J����L$�D$�H�5��s��l$(�d$ ����f���X�\�\Z@���!���f(��\$f(�H�5��$�cf���X�\�\Z@�������f(��\$f(�H�5k��$�cf�f(��\$f(�H�5U��$�����\$�$����f(��\$f(�H�5��$���w��\$�$���H�=���������Df.�H�SH�
��"H��H��HًQ`���}��tH1���t[��I��H�=��"��H�=�"H���G��[H���"��f�H�=��"1����[H���"H���"��f�H�=��"1�1���H��"H�=z�"�C�KH���"��w�H�=��"H��1��6��H��H�����[H�c�"��f.�Uf(�H�SH��H��H������H�`�"�Y�H�\hH�L�H�,�k�#H����H�Duf(��D fD(��d$�X��L$�EX�fD(��t$P�1�AX��Dy�l$�Dmf(�f(��|$HfE(��AX��DY��EX��D|$(�EX�fE(��d$@�DY�f(�f(��Y��Y��DY��AX��DX�f(��Y��EX��Y��DY��DY��DX�f(��AX��DY�fA(��DL$XfE(�fE(��Y��E\��DyX��L$`f(��AX��Y��L$hfA(��Y�f(�fA(��Y��\�f(�fW=�f(�f���A^��Y��Y��A^�f.���Eф�tEf.���Eф�t7�l$�\$�A\��\�fW��Y��Y��Y��Y��A^��A^��X��D\$��DxP�X\$(�l$0fA(��\l$�\$ fA(��\\$fW���Y��Y��Y��Y��A^��A^�f.���E„�tHf.���E„�t:fA(�fA(��A\��A\�fW8��Y��Y��Y��Y��A^��A^�f(�fA(��D\D$X�AX��\��X\$fA(�fD(��AY��\$8�Y��X�f.��Q��
�D$P�A\��f(��^�fA(��Y��Y���f(��|$x�|$`�T$p�X��T$h�X��|$P�Y��T$`�Y��T$H�\T$(�|$X�|$@�A\��\��D$hfA(��Y�f.�f(��A\���E�f.�f(��Y���E��\���������^�f/B�v�@�f/��fD�~=h�f(��$�fT�f/����DD$ �\$h�D
���D\$XfA(��AX��D^��-��\��X\$8f(�fWt��^��A\�fD(��EY��DY��DY��\$0f(��X��D\�fA(�fD(��AX��^��\�fA(��Y�fA(��AX��Y��Y�fT��XD$ �AX��|$�\|$fD(�fD(��DD$��E\��DY��EY�fD.���E�fE(��E\ʄ�����
�E^�fD/�v�D�fE/��Af��D~�fE(��D%��fET�fE/���Dd$8fW5J��D1�fA(��AX��E^��DL$h�D\��L$ �AX��DL$X�^��AY��AY��A\��Y�fA(��AX��D\��DXL$0�D^��E\��AY��X��Y��DY�fAT�f(��AX��D%��EX�fD/�v@���d$P�Y��\d$0�YD$`�\D$ �\D$8�A\��^��^��\��A\�fD/��M�D\D$�\|$�A\��A\��e@�EH�DC@�{HH���[]��fD.ѹ��Eф��(���f.���Eф������^�f/2������,�f/���f��d$p�D$xf���-��AX��AX����f�f.����E„��	���f.���E„�������E^�fD/������D��fE/�������D%_�fD/�v(�DD$p�|$x�DXD$�X|$�q���f��=p��DD$P�DY��D\D$0�Y|$`�\|$ �\|$8�E\��^��D^��\��D\��j����D�$���$��D�$��D�$��D�$���$���$��DD$x�d$p�DT$X��$����f���D�$��D�$���$��d$p��$��DD$x��$��DT$X�D�$��D�$��D�$��$����H��H�E�"�1�H�5��2��H�=������,�"H����H��H��"�1�H�5������H�=���v�����"H����H����L���"dH�%(H�D$1�L�L$f�D�"���"��1�L�������t*���"A9���H�D$dH3%(u;H���fDH�Q�"H�5���@��H�=�������:�"��s��H��5�H��H�a�"H���` �P(�H0�x8f(�f(��Y��Y��\�f(�fT-�f/�wk�Y�f.%G�z5u3�\�f(�fW-K��Y��^��Y��`H�\��^��@@�@�\��Y��^��Y��HH�\��^��@@�D�X��X�����Y��Y��`@�PH�f.�AWH�vI��AVH��AUH��ATUSH��H�a�"H�D$@H�,H��D$H���EH�t$H���T$8L�$H�D$0�A$�A\$f.������Mf.�f(��������"�L$8����f.�����f.�H�D$@���~H��hH�T$�u0f.�H�H��P�JH���,H��H�,�Lf.�{�H�T$Pf(�H�H�H�D$X���>�"�D$8��uN�ef(�H�D$@H�L$H�D$XH�L$PH�H��\��"�T$8��t�f.�f(�z�#���fDH�D$H�L$@H��H�D$PH�A�H���H�,H�D$X�E�Mf(�f(�f��\��\�f(�f(��Y��Y��X�f.��Q���H�D$0�AL$PH��hH�D$`H���H�\��\�f���Y��Y��X�f.��Q���I�G�AL$XH��H�D$hH�D$PH9��/H��H�@L��E1�H��1�L�tØ��H��h1�I9�������P���v��u��]h�Up���t�EX������f����f��\��\�f.���AEń�t]f.���AEń�tN��8��@�\��\�f.���AEń�t'f.���AEń�t�������\��\��Y�f��Y��X�f.��Q������H��h�I9��
���H�D$XH�,�]H�f�f���Uf(��\f(��\If.���E„�tef.�f����E„�tSH�L$Xf(�f(�H��0����\�\Hf.���E„�t'f.���DЄ�tH������\�\Pf(�f(��Y�f���Y��X�f.��Q����MPL�t$P�AD$P�EXM9���H�\$M��L��l$8L�d$ �%f�L���GH��hM��M9���M�a�C`M��M9��iI�y�M9������_��u�L���D$L���E����uM9��H
M9��
����YD$L���	����D$I�y�����q���Df(��\Ef�f(�f���\Mf.���AEń�tWf.���AEń�tHf(��\E�f(��\M�f.���AEń�t'f.���AEń�tf(�f(��\�0����\�8����Y�f���Y��X�f.��Q���
������DL���D$L���?����uM9��M9��9
�D$�Y��L�������z���fDL���������L���D$L��������uM9���
M9���	�e��YD$L������&���f.����w���v
���E���H�\$L�d$ L;l$��K�DmI�D�H�,�H�D$L�p��A�D$eI��H��h�E�M9�tz�AD$ �}`�E �AD$(�E(�AD$0�E0�AD$8�E8�AD$@�E@�AD$H�EH�AD$P�EP�AD$X�EXu��D$I�}����p���H�D$0A�|$`L��H�D�uH��H��h���t�A�|$e�A$�AL$�\�\Jt�AXD$@�AXL$HH�=}�"����H�=��"H������H�L$hL�d$`H�{�"H�D$H�XH9��>L�|$HI���@����1�1�I�����H�s�"H�-Ď"J�� 0���J�� �����XF@�
�XJ0�V�XVHf(��\��J�XJ8f(�J�T �L�}�\��
�XJ@f(��\��B�XBH�|$f(��\���XP �\��H�XH(�|$�\��T$ �L$(��H�=W�"f(�f(ĸ�]���L$�D$H�=2�"H�Ÿ�=���L$(�D$ H�=�"I�Ƹ���H��I��1�� ��L��H���U��H��I��1����L��H���=��L��H��H��1����H�=��"H�����1ҾL��H���"�h�I��I��hI9���H���"B�D `���J���I��1�1��5�H���"H�=_�"J� J�D ��J�P�XJ(�XP8���XB �XX0��\��\��6��H��1��L���J����L�|$HD�T$8E����D�
6�"E���MH�=�"1����H�=��"1�H��1�����H��H���"1����H��H�����H�T$0H��"H���"�Be��<���
���B@�Y��YJHH�=i�"��w��H�=��"H�����H�q�"L9|$�QI�o�L�d$1�L�|$ H�D$D�l$8H�l$�Y�L9d$�]H�f�"L9d$ �3H�TmI�\$H�T����0��tJ���o����I��H;l$��I�l$�E��u�K�dH�=�"H�l$I��H�Nj@`��u�1��H���O�H�[H���"L�%-�"H��H��A�<$H�|�H�4��\G@��\N �W�\WHf(��\��N�\N(f(�H��0���H������\���\N@f(��\��F�\FHf(��|$(�\���\P0�\��H�\H8�t$8�\��T$@�L$H�
H�=��"f(�f(ĸ����L$8�D$(H�=��"I�ĸ����L$H�D$@H�=q�"I�Ǹ�|��L��I��1����L��H�����H��I��1��g��L��H�����L��L��I��H��1��	��H�=B�"H���z��H�{���H�%�"���H;l$�-���H�=�"1����H�=�"1�H��1�����H��H���"1����H��H�����H�	�"H���"H�D$0HЀxe���@@�HH�5��"��uHT$X��\�X��R�\P�X�H�=V�"��d��H�=m�"H�����H�^�"H�Ĉ[]A\A]A^A_�@I��E��uM��L�d$1�L�������H�Z�"K�dK�4vI�4�I��H�=�"H��H���J��\J8�\B0�P��\P(�\X ��\��\����H��1�����H�=��"H������L��H���"�9�����@�=��"�����H�|$ �1����H���"E����H�L$XH�HD$0���\B0�\H �P�\P(�\��J�\J8�\�H�=��"����H��1�����H�=�"H���<���H�|$P��H��"������@H�L$ D���"H��E������H�\$0H���"�D`H�������T$f(�f(�f(߿H�5
���l$x�d$p�L���}�d$p�l$x�����L$(�D$ �H�5�������l$x�d$p���H��L�d$ H�\$�E �Ee�E@�E(�EH�;���fDH�L$`H�\$h�D`����Df(�f(�f(޿f(�H�5G���l$x�d$p���A�<$�d$p�l$x������L$H�D$@�H�5����M���l$x�d$p�w���@L������C0�Ce�C@�C8�CH�o�H�D$@H\�"�@@�HH�@e��<�����Y��Y�H�=̾"�����H��1���H�=پ"H������H�ʾ"�T���DK�dH�4[I��H�4�H��H�����\B0�\H �P�\P(�\��J�\J8fW���\�fW
���?���DL���/���C �Ce�C@�C(�CH���f��f��u����C0�Ce�C@�C8�CH���~x�fW�fW����~`��B@�JHfW�fW��1���f�H�|$P1�1��R��H�L$0H��"H�=w�"H�HD$X�J��XJ(�XB �P��XP8�XX0��\��\��N��H��1��d���H�=M�"H��腼��1ҾL��H�4�"��������f.�M���]�H�T$Pf(�H�D$X�n�H�L$ �L$���H�L$ �L$��H�L$ �L$����]h�UpH�L$ �L$�)�H�L$ �L$�����A$H�L$ �A\$�L$�-��L$����L$�j�H�L$ �L$���H�L$ �L$�>��US1�H��H�q�"�D$��t7��f�H�[H�=]�"H��H�J�"H��H�4�N`������H��H9���H��H�k���H��t�H��"��D�|���H�{�H9�}TH����H��hA��tD�A`H��H�sH��H9�|�A��u$@�D$��0�H���"f�H9�}EH�����H��uFH�[H�5��"H��H�x�"H��H�D�A`A�x����W���H��H9�|�H��[]��H��H�=�"��|������H9���H������tH��H�i���H9�t:�z�H��h��w݃�t��tH�����f��D$H�{�1�H���L����H����f�Sf(�f(�H��H��"�8��H�܁"�8t~H�p�"�;�����f�f/�v�X�fW��Hc��XI�"H��H�PH���"H��H���"��XH�@H�@�X �P1������H��1�[Ð���$H�5���L$����\$�$�<����H���"H�5J��1��n���H�=Y���1��f�"H��[�Sf(�f(�H��H��"�8��H���"�8t~H�P�"�;�����f�f/�v�X�fW��Hc��X1�"H��H�PH�j�"H��H�/�"��XH�@H�@ �X�P1�����H��1�[Ð���$H�5���L$�����\$�$�<����H�a�"H�5*��1��N���H�=\��ҷ��1��F�"H��[�AVA��AUATUSH���dH�%(H��$�1�A����A���hA��f��A*���"�����"���PH�H��"��1�H��$�dH3%(�OH���[]A\A]A^�f�A�����A���Z1�H��$��ۼ����twA���������+�$���lf��*��\���@D��$��:H���Jc�H�>��1�H��$�聼����t1�H��$��n�������fDH��"H�5���1��ֽ��H�57��1��ý���ɶ"��@1�H��$�������t�A��	������$���l�3���@1��)����@1�H��$��ѻ�����i���1�H��$�躻�����R�����$����$����$����$�������*�"�����
B�"�2�"��x������"��������f�D�5�"E�����
�"��"��V������"���������D�-��"E���@�
��"f��j�����"�������D�%q�"E����
��"�x�"��^���D�"�����]�����-2�"�����B�"f�ɸ�$���
�"�����#���D���"�����
�"f������Ҷ"�������D�=��"�[�-��"�%�"��ֶ"�ƶ"�
��"���"����w�"�������f�1�����_�"�����x���f.�HcI�"���G	�P��8�"H�Q�"�,�H��z"�8�e	����H�ճ"�B9����;�"�5t�"�=޶"L���"����"��	�s	H�H�
,�"H��H�L��xf�pHc�H��HBH�y�"1������DH�!z"�8�}�´"����HcЃ�H��H�ʴ"���"H��H�H�
�BH�
�"�Jf�ű"�
/�"�X���f.�1�H��$��q���������$���!�NH����Hc�H�>��fD�5�"������"��"f��f�ɸ������"����������
��"���B�
´"���"��h���~�"�������f��j�"����z�"f�ɸ�,���B�"�����[���D�=1�"���%[�"f��f��C�"�3�"�
#�"��)����"��������f.��=ٳ"~w�-�"f��f����"�߳"�ϳ"��������"�������fD1�������"�������f.��j�"���fDH�9�"H�5��1��&�����$�H�5���1�������"�;���DH��"H�5���1����"�����Է����$�H�5�1��躷�����"���D�IJ"E���rH�Dw"�Բ"�IJ"�8��
�{�"�k�"���"�������Hc��"���d
�P����"H���"���K����M�"��� HcЃ�H�-X�"Hc�H��v"�\��T��8��
�^Ӄ-�"�T��!������"����	�B�H�-�"H��D,d�D9���	1�L�-�"E�� �fDH��AD���A9�����)؃�H��D��ί"���ů"��~�1��Q���{�"�‹=s�"������H�D�"H�5
��1��1���������=@�"��
L�%Sx"A�<$uH��v"�8��
�
<�"�,�"�����
2�"���"�x����
(�"���"�^����İ"��������H�Hu"�8��H��u"1����"����D�E���‰����=��"���,��"�5��"�]�"�,��"L�%�t"�t$�=p�"�5`�"A�<$���|$���t$��"��"�0	�D$�\D$��1��t$H�=�"H��"���"�5�"�*���H���"H���A1�H��$��������"�����߭"�����ݮ"�������$�1��=���D�v�"E������1�H���ò����u������
r�"H�=C�"��Hk�hH��"�N�"H�K�"�@`�@d��@�H�@1�H��"�[���H�Ԭ"1��
��H��s"��"������"�����H��s"��"�����H��u"�H��s"�����H��t"��������$�1��>�D�
w�"E������1�H���ı����u������=d�"�����"�~�"��
i�"�Y�"�t���*�"�����C�=�"���
8�"�(�"��n��
.�"���"�T��
$�"���"�:����"�������H���"H�5]��1����"�����w�����H�5��1���b����h�"��H�L�"H�5��1��9���H�=]�轪���3�"�\�H��"H�5�������H�=��芪����"�)�H�=B��o����r���H�Ӫ"H�5���1������$�H�5Z�1��覱�����"���
�"�ڿ1�H�5I��|����{���H�p�"H�59��1��]���H�=������W�"��H�;�"H�5��1��(���H�=j�謩��H���"��"�k���A�D$)�A�D��"H��,\�H��p"�8������~!������
����
�"�����������=��"��H��"��"����H���kH�ʬ"H���Z�=@�"�50�"H���%�"�-�"H���"Hk�h��$��=��"��"��$��5ϩ"�|$ �=��"H�D��d$(�%��"�t$P�5��"�|$X�=j�"�d$0�%T�"�l$8�->�"�t$�5(�"�|$�=�"�d$@�%�"�l$H�-�"�t$`�|$h��HH��o"�j�"�8�
W�"�9�,���y��f�f(��\L$�~a��*��^E��D$pf(��\D$1�H�=�"H��$�fT�H��$�H��$���$�L��$��d$xfT��L$��$����~����$��
x��d$x��$�fT���$�f/�����$�fT�f/�����$�fT�f/�w��$�fT�f/��JA�f/D$���|$ f.|$�����
�"��"�d$(�l$ ��\��\�f(�f(������3�"���*�"���G��$�H�H��"�<‹�"�����"�����$�H�H��"�$���H�w�"H�5@��1��d�����;���襧��H�N�"H�5��1��;��������H�*�"H�5���1���������H��"H�5���1�������H��"H�5���1��Ϭ��H�=���S���f��ť"���H�=#��4�������f(�f(ÿ�H�5���T$�\$�u����T$�\$���f(�f(¿�H�5���\$�T$�:����\$�T$�0���H�"�"H�5���1������!���H���"H�5���1���������H�5z��1��̫������T$��f(�f(�H�55���衫��A�<$�������H�5���1�聫�����H�u�"H�5>��1��b�����9�H�=I�"���"f�ɸ�Xx�"���"�T$�5���H�-fl"H��$�H��$�I��H��1�H�u轢���T$f��H�=�"�f(����L��H���3���H�uH��$�H��$�H��I��1��r���1�L��訢���~-����$���$���$���$�f(�f(��\��\�fT�fT��-T�f/��3�X��%ζ�d$�Y��\$�XD$諢���,���������D$�XD$�V����,�f��*��\D$f�Ʌ�uf(�f�H�}����H�5Ǣ"H��$�H��$�H��H��1��r���H�k"��$���$��H�Ni"�X
��"��Xz�"�
z�"�j�"H�=��"H��軡��A�$H�l�"�K��D$茪���,�f��*��XD$�\D$�+���f/����X��-��f(�1��l$�Y��T$���H�
?�"H����
H�'�"H���t
Hk�h�D���"���
�"���8
H�H�5�"�Ƌ�"Hk�h���D��ݡ"����H�H�ӡ"����H�b�"H�5+���Q�����H�5P�1���<����B�"��H�Vh"�H�j"��T�H��"H�5���1����H�5���1������"��H�Ӡ"H�5���1����H�5���1�譧�����"���A���Z���1��$���1��w����1��k�������\$����$�H��$���$�L��$��\��D$�X��\$x�}���f��H�=�"�,�f��*ȸ����H�-Mh"H��L��H��I��1�H�u讞��1�L�����A���\$x��$���$��~�����$�fT��|$pf/����t$ �L$f(�f(��\��l$�\��\��d$�^��L$`�\�fT��Y��X��L$`�L$@�\��Y��X��L$@�L$0�\��Y��X��L$0�L$P�\��Y��X��D$PfT�f/����|$(�d$��
ޡ"�ޡ"f.���E„�������l$ �|$f.���D„�������|$h�t$@�DD$`�l$f(��T$H�\��\��A\��D\�f(��d$f(�fA(��\��\׸蜸���t$P��L$0�l$ �|$8�T$X�d$(�\��\�f(��\��\�"�\��\
��"f(��F�������H�=�"f(�f(ĸ�\$p���H�uH��L��H��I��1��{���1�L��豜��A���\$p����$��X\$��$��l$pf(��t$x�ĥ��f��H�=a�"�,�f��*ȸ�c���H�uH��L��H��I��1����L��1��2�����$���$��D$�X��a�����$��,�����f��*��L$x�\L$�X�f(��L$x�u����L$x�,�f��*��\��D$xf(�����A���,�f��*��XD$x�XD$���L$pH�}�芡��H�5k�"H��L��H��H��1�� ���H��1��V����|$��$��d$@�\��X��X��XD$0�d$@�|$�D$0�!����|$h�t$@�DL$`�l$f(��d$�\��A\��D\��\��T$Hf(��\��\�fA(��q���f(��D$p�0�����$�fT�����t$(f.t$z�{��\$����$�H��$���$�L��$��\��D$�X��\$x虣��H�=:�"f���,�f��*���8���H�-ic"H��L��H��I��1�H�u�ʙ��1�L������A����\$x��$���$��~�����$�fT��t$pf/����t$(�L$f(�f(��\��l$�\��\��d$�^��L$h�\�fT��Y��X��L$h�L$H�\��Y��X��L$H�L$8�\��Y��X��L$8�L$X�\��Y��X��D$XfT�f/�����H�=�"f(�f(ĸ�\$p����H�uH��L��H��I��1�蝘��1�L���Ә��A����\$p����$��X\$��$��|$xf(��d$p���H�=��"f���,�f��*��腞��H�uH��L��H��I��1�����L��1��T�����$���$��D$�X�胡����$��,����f��*��L$x�\L$�X�f(��L$x藢���L$x�,�f��*��\��D$xf(��"���A���,�f��*��XD$x�XD$���L$pH�}�謝��H�5��"H��L��H��H��1��B���H��1��x����|$��$��l$H�\��X��X��XD$8�l$H�|$�D$8�C�����$�fT��_���f(��D$p�o���f�f/�����������$��X\$��$��l$xf(��d$p�!���H�=—"f���,�f��*�����H�uH��L��H��I��1��Y���L��1�菖����$��6�������^���1��]��H�
��"H���"���H�S�"H�5��1��@���H�5	��1��-����3�"�\��f�f/������������$��X\$��$��d$pf(��l$x�&���f��H�=Ö"�,�f��*ȸ�ś��H�uH��L��H��I��1��^���L��1�蔕����$��]���������f���AWf��AVAUATUSH��H��H��$�H�|$�D$LH�D$@H��$�dH�4%(H�t$x1�.��/�"�(�"��"H�V�"H�C�"H�0�"�2�,H�t$H�v8�~Xu
H�5V]"�H�ؕ"H�ŕ"���"H����H���"��$�H�D$H�x�"H�i�"H�z�"H�
S�"L�
D�"����G���L�-�\"A�qA�E����H�t$p1�1�H�
�"H�t$H�t$hL�|$`L�6]"L�%ϓ"H�t$8�l�A���kLc�I��Hc�B�T��t�A�u9YpXf�Ic}�*�H��H�<I�<��Gf��*��G����A�E;Y�,H�H�@��t�A����H�=q�")�1�1�L�D$0�ɛ��H�L$8L��I��H��\"L��L�L$H�01�����L�L$1�L���6���M�^L�U1�H��"H�=�"L�\$(L�T$ B�T�B+T�1��c���H�L$L��I��H�9\"L��L�L$H�01�蟒��L�L$1�L���В���D$h�\D$p�=L�fT�H�
��"L�T$ f/�L�\$(L�D$0I����B�T��t����H�D$pH�D$fDA�ID����H�D$hA�U1�L�t$`H�D$L�h["L�%�"�HckLc�H�@Hc�A��A�u
A9���eL�
�"f�H�@I���C*D�H�@f��A*D�H�@����A�UA;YD|�1����H��Y"H�\$�ٔ"������"�����H��Y"���"�����H�s["H���"�H��Y"H�p�"�����H��Z"H���"�����H�Y"H���"H�H��Z"H�W�"H�H�Q["H�F�"H�#�"H� �"��D�|$p1�����ߑ"��u1�H���1�����u݋�$����FH�=��"H���.H��"H�f��E1�H��H���f�H��hH9���x`u�������������H�\��\�f.���AEȄ�u�f.�@��D΄�u��DH�����H��h�D@���x����D\���0����\��D^�fA(��\��^�������\��AY��AY��X��X���@�����8���������\��Y�fD(�������\��AY��X���H����X�����H9�����fDH�D$H�P8�BX��������H�=d�"H�e�"H��tH��蘏��H�Q�"H�Ë8�"H�t$@���tH��tH��1�1�����H�!�"H�=R�"H��t����H�=�"H�*�"H�t$xdH34%(H����H�Ĉ[]A\A]A^A_ÐH�=��"C�T�H1�1�A+T�HL�D$8��H�L$L��I��H��W"L��L�L$ H�01��-���L�L$ 1�L���^���M�_,L�U,1�H�-�"H�=>�"L�\$0L�T$(B��B+�1�荖��H�L$L��I��H�cW"L��L�L$ H�01��ɍ��L�L$ 1�L������D$h�\D$p�5v�fT�L�T$(L�\$0f/�L�D$8�IcEH�����f�H�59V"�������\$Lf�.��]�W1�H���)���@H��H��謬��H;��"|�����fDL�q�"H�
r�"H��1�H�n�"H�5o�"�b���1ҾH��1�聕��H�L$XH�T$PH�5XV"H��1�H�6�Ì��L�
܍"����H�51V"H��G����f�IcU�B*D�H��H�RI���Bf��B*D��B���@L�
��"f�IcE�C*�H��H�@I���@f��C*��@����1������t$Lf��.�zt8f�1��ZD$L������f�f��ZD$L��������f�1��Z����������J���f.���SH�� H�=�"H�5ь"�D$�L$�\$H��"H��"H��"H���"H���"���"H�{�"H�x�"H���"H���"H���"H���"�/���H�`S"f��f���Z�f(�f��fW=���H�?S"f��f(��d$�H��T"�H�S"�����H�:T"�������*���f��f��f��ZT$f(ڸ�ZL$�Y)��T$�X�蒤���L$f�W
����Z�裟���d$f�ɸf(�苟���T$f�f(��s���1�茠��1�赣���l$.-��zVuT1�H�=j�"~�H��H���D���H;M�"|�H�=L�"H��t�
���H�7�"H���"H�� [�f�f��Z�����f�f.������"��t���"����"��f.�D��H�mR"��H��~�
1���U�SH��H��Q"�
Hc(H��衍��H��H�S"H�1�H��t$H��Q"H�(H�jQ"�(H�AS"H��H��[]�f���H�
UQ"����9�rH�5*S")��H�H�H�>�@H��1��E���1�H���@f.���H��t1��f�G�w�f.���H��t1��f�G�G����H��t1��f�G�w�f.���H��t�f�wH�WÐf.���H��t�f�wH�WÐf.���H��t�f�wH�WÐf.���H��t�f�wH�WÐf.���H��t
1��f�GH�w�f���ATLc�UD���S��詒����tH�
P"�
1�[]A\�H��Q"O�dI��H�LP I�z��IcB0��t���@��M�Z(1���	�DH�H��H�4II�4�D�FD9�|+D9�Nf�[]�*FA\�AY���,���L��H9�s,L�I��K�II�4�D�FD9�|�H��L��D9�~�H�yH9�r�1��@���DH�9O"�1��'���f�f.���UHc�S��@��H��蘑����tH��N"�
1�H��[]�DH�iP"H�TmH��H�HP H�JH��thH�B Hc���,t��f�H�H�@H��HAH�*�Y���,��@H�@f�H��HA�*@��Y��H��[]�,���H�YN"�1��X���f�f.���AVAUATUSH�� �|$H�=�M"�t$dH�%(H�D$1��D$�ĉ������t|H��M"����x����H�4M"�I��H�
��1�H������H��1�H�=���}���1�1�H�L$dH3%(�!H�� []A\A]A^���|$�\$������tH�fM"�
�fDHcD$H�,@H��N"H��H�H�x H�H�WH����f�.��z@u>H�G Hc�����[�����H�H�@H��HBHH�‹p�@�J�R�@H��N"��"u�H��M"�Gp�������OxH�8�����H��1�跌��1�f�I��H�N"L��H�Hh H�M8j�u�|$D�D$L�L$$�����v�"H��X1�Z�_�oD�wD�g訊��M��t)A�E��fA�Ef��t
f��uA�Et
L��1����I�� ��I�� ��L	�L	��J���H�@H�RH��H�TЋr�B�J �R$f��f����H���*�H�� �*��Y��Y��,��,ȉ�H��H�� ��H	�H	����fDH��K"�1������?���Df.���SHc߉������tH�EK"f��
[�f�H��L"H�H�[[H��HB H�@H�@8�������SHc߉�聍����tH��J"f��
[�f�H�QL"H�H�[[H��HB H�@H�@8������SHc߉��!�����tH��J"f��
[�f�H��K"H�H�[[H��HB H�@H�@8�������SHc߉������tH�%J"�
1�[�H��K"H�H�[[H��HB H�@H�@8����f���USHc߉�H���l�����u_H�XK"H�[�H�=�"H��H�(H�E H�DH�@8�P2H�p8����H�U H���"H�TH�R8�R2�H��[]�@H�qI"�
H��1�[]�f���USHc߉�H���܋����ugH��J"H�[�H�=P�"H��H�(H�E H�DH�@8��RH��X���H�U H��"H�TH�R8��R�H��[]�H��H"�
H��1�[]�f.���USHc߉�H���<�����ugH�(J"H�[�H�=��"H��H�(H�E H�DH�@8��rH��x�I���H�U H�~�"H�TH�R8��r�H��[]�H�9H"�
H��1�[]�f.���USHc߉�H��蜊����ugH��I"H�[��H�=��"H��H�(H�E H�DH�@8���H���詆��H�U H�^�"H�TH�R8����H��[]�H��G"�
H��1�[]�f.���USHc߉�H�������ugH��H"H�[�H�=�"H��H�(H�E H�DH�@8��H���	���H�U H���"H�TH�R8���H��[]�H��F"�
H��1�[]�f.���USHc߉�H���\�����ugH�HH"H�[�H�=P�"H��H�(H�E H�DH�@8��2H��8�i���H�U H��"H�TH�R8��2�H��[]�H�YF"�
H��1�[]�f.���AUATA��USHc߉�H��赈������H��G"H�,[A��H��L�(I�U H�H�B8H��t.H�4�H�=��"�!���H��H�v�"[]A\A]��H�BH��H�=Z�"H��H�@8H��8H��QH�q��v���I�U H�+�"H�T*H�R8H��8�T�H��[]A\A]��H�YE"�
H��1�[]A\A]�fD��AUATI��USHc߉�H��赇������H��F"H�,[1�H��H�Hh L�m8M��u�Af�H��H����I�|�L��������u�H����[]A\A]��L���@~��I��H�E1�H�@8H��8H���fD��H����t*�H��D9�u�H�{L���{����t���H����u�H�������[��]A\A]�H�>D"������
�b���@f.���AWAVAUATD��US��H��H�$H�L$dH�%(H��$�1��t������}H�\E"H�Hc�H�@H��HB L�hM���nH�P8I�mH���J�4�L�d$��L���΂��E�mE����I��E1��f�A��I��0E9���I�L��L���`����u�L�u(1�M��tZL�-��"L�%��"I�6���|��A�ǃ��tI�v���|�����tHc���E�|5A�4M�vM��u�H�$L�(H�D$L� H��$�dH3%(����H�Ĩ[]A\A]A^A_��j���fD�������f�H�@I����H�@8L�8A�T$I�t$L�d$L��I���M���E��B�D����H�WB"������
�`���H�@B"�������I����{���f.���AWAVAUI��ATUSHc߉�H��葄������H�yC"H�[H��H�HX L�s8M��tY1�1�L�%~"fDI�<�L����}����u
Hc�A��H��H��u�Hc�H��}"A������H��[]A\A]A^A_�L��1�L�%�}"�z��I��H�CH�@8H��8H����A��H��A��t��H��D9�u�H�{L���x����u�Hc�E�4���H�A"�
H��1�[]A\A]A^A_�f.���AWE��AVAUATA��U��SH��H��HH�L$�Y�����t$H��@"�
1�H��H[]A\A]A^A_�fDL�5!B"Hc�L�,@I�I��H�P L�H�z��E���XH���OE��uH��H�T$��y��H�T$H��A��1���t�A����A�D$��H�T$ Hc��D$�{��H�T$ H��H�D$�DIc��H�T$(��{��H�D$ H���$E��H�T$(�������py��D$�D$E���H�CH�D$(L�|$ H�ڋ\$H\$(D�d$(M��A��H��H���f��D$A�$H��I��H9���I��H�@ B��(�9�t���D���x��A�$����3����x��I��3H�R B��*��T$�9�D��f���H�?"�H��H1�[]A\A]A^A_�f.�H��>"�1��'���@�L$���(H�CH�L$H�\$0I��H�D$(A�D$�H�D�L��D�d$<I��I��fD��s���I��H���bw��A�D$�M9�u�I�D�d$<��H�\$0H�@ B��(��w��D$�D$E�������fDH�L$�t$1�1��H��9��E��~H�L$ 1�f��H��A9��H�|$ �D$�t��H�|$�t���D$�.����T$D�d$(1������H��="�
1�����D$���h���1��������6w��D$�D$H�CH�D$(E������1��q���D��AWAVAUI��ATA��U��SH��H��8D�D$$������t$H�=="1��
1�H��8[]A\A]A^A_�@Ic�L�
�>"H�@H��I��H�D$I�Lp I�~�����|M���s���SA���D���kv��؉D$(�����E�1�1�A�Њ���D$,A�0uL�
'>"H�D$�0uD�d$ A��H���D�t$��Dd$(H�CH9\$��H��I�A�TH�L$H�@ ��f;��tˋ|$ �u���L$�|$ A�49�O�A�49�M�H�� A9�DO��t$H�� A�tA9�DL��u��L�
�="A�9\$,�t����D$$���h���A�TA�t�|$ �t��L�
O="A�H�CH9\$�I���D��T$I�� H��8I�� [L	�]L	�A\A]A^A_�DL���u�������f�H�i;"1��H��81�[]A\A]A^A_�H�I;"1��1�����f.�A�Њ��A�0u�0uD�t$�g���D��AWAVM��AUI��ATA��UH��S��H��8H�=!w"H��v"D�L$H��v"H��v"H��t�Yq��H��v"���7}������Hc�L�
<"H�@H��I��H�$I�Lx I��CE���
H���E����A�������s��Ic��D�D$ �v��D�%bv"H�_v"E���A�|$�E1��0uE1�A�Њ��L�l$(L�
�;"�\$E��L��A�ω|$$H�|$�D$0u�"@Dt$ H�SH9\$��H��u"H��D�4�I��TH�$H�@ ��f;��t‹|$�Qr���L$�|$A�4A9�DO�A�4A9�DL�H�� �t9�N�H�� A9�DL�D$��r��L�
�:"A�9\$$�j����D$���^����T�t�|$�q��L�
�:"H�SA�H9\$�A���DD��L�l$(D���u"�D$D�5u"�u"�=u"fo�t"D�%�t"fo�t"AUA]�,DH��8"fo�t"fo
�t"�
AEAMH��8L��[]A\A]A^A_��H���q��A������H�Y8"fo%qt"fo-yt"�AeAm��H�)8"fo5At"fo=It"�AuA}�{���@A�Њ���D$0u�0uE1�D�����f���SHc߉��az����tH��7"1��
1�[�f�H�19"H�H�[H��HB H�@H�@8H����B�:f~�tU/v��^�(�(��%H�T��.�v&�,�f���%>�U��*����T��X�V��,��B�zf~�tU/����(�(��%�T���.�v&�,�f���%ڂU��*����T��X�V��,��B(�z f~�tU/�����(�(��%��T��7.�v&�,�f���%v�U��*����T��X�V��,ɀz0�B8u%f~�H�lj�H�։�H�� H�� [H	�H	���/)���(�(��%��T�vv.�v&�,�f���%��U��*����T��X�V��,��D.�������,�f���%��U��*�(����(�T��\�(�V��o���.�v��,�f���%�U��*�(����(�T��\�(�V��|����.�����,�f���%;�U��*�(���(�T��\�(�V����.��G����,�f���%��U��*�(����(�T��\�(�V������f.���AWAVAUATUSHc߉�H���Dw�����H�,6"1�H�
H�[H��HQ H�RL�z(A�o��u
�#���|9�|Hc�H��A�T��u��9�}�D�eMc�J���H�=Dp"H�D$H��t��j��Hc��-r��I��H�#p"H����H�D$I�\�����E�M�w"M��H��I�lBE1�f�Ic�A�I�� I��H�I�|$�I�v��@k��A�F�D�D�xH��L9�u�H�D$I�D�H�H��L��[]A\A]A^A_�fDH��3"E1��
��fDL����H�l3"�
�@��SHc߉���u����u,H��4"H�H�[H��HB H�@H��t!�@0[��H�3"�
�����[�H�3"������[����SHc߉��qu����u,H�]4"H�H�[H��HB H�@H��t!�@@[��H��2"�
�����[�H��2"������[����UHc�S��@��H���t����uCH��3"H�H�DmH��HB H�xt9H�@ ���ЅҺ������I�H��[]�f�H�2"�
�������H�2"�����������AWAVAUD��ATA��U��SH���`t�����H�H3"H�Ic�H�@H��HZ L�sM�����o��I��H���@���@�(H�@H�C B����xH��L��[]A\A]A^A_����H�L�,@I��MnHIcE L�l$A�GH�<@H��H���#o��I�GH������~�H�T$1�H�J(�I��H�\mD��H��I��H��J�41L�,�Lj��A�EH�D$H�H(I�GI�H�A�v�sA�v�sA9o��B���@H��0"E1��
�)���H��0"E1������H�q0"�
���H�_0"L��E1��
��f������f���AWAVAUATA��USHc�H���r�����*H��1"H�Ic�H�@H��HB H�hH���4����9]@�����m��I��H����L�,[D��I��LmHI�uL�l$� i��A�IcE A�GH�<@H��H���m��I�GH������~cH�T$1�H�J(f�I��H�\mD��H��I��H��J�41L�,�h��A�EH�D$H�H(I�GI�H�A�v�sA�v�sA9o�H��L��[]A\A]A^A_��H�/"E1����fDH��."E1��
�fDH��."�
�f�H��."E1���H��."L��E1��
�6e���p������AVAUATU��S���q����t&H�o."A������
[D��]A\A]A^��A��H��/"@����H�Hc�H�@H��HB H�@L�`(��p��I��A�D$f��tT��I�\$"H��M�dB�	H�� L9�t8�f��t�L�����tg��H9�u�H�sH��L���`e�����e���H�� L9�u�E1�[]D��A\A]A^�ATL�%�,"UH�-W/"SL��H�u�i��H��ufA�<$I�t$�u��H��H��H�JH�v�8u�H�zH�rH��J�"�.B�!pB�'fL��B�&H�u�a�,i��H��tH���c��1�[]A\���bH�uL���i��H��u�A�$������Ӻ��L��������
H�%l��v�@Hc�H�� "H���f���ATI��UH��SH���H�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�d-"H�;tH�+"9|�҉T$#H�D$8dH3%(��H���[]A\�H��$H�|$�D$ H�D$(H�D$@�D$$0H�D$0��h���T$H�;M��H�D$H������Hc��H���1���l��H�;H�L$ H���b��H�3�
�f��H�;�ji���J���� e����AW1�AVAUATUSH��8H�|$dH�%(H�D$(1��D$$�Jk�������1��lj��Qe��1�1���I���Ce��Mc�L����h��H��H������L��H���/f�����e��E���(H�D$$A��E1�1��D$E1��D$H�D$�"�D9|$$��I�FM9���I��F�,3A��
u�E����H�T$H��1�B�3H�5��fh��L�-�*"�D$$B�3
AEI�} H�H�4@H���/i��I�E H���
IcU1�A�H�,RH��H�HcD$$H��H�@H����d���D$D9|$$�Q���fDH���h`��H�t$(dH34%(�D$��H��8[]A\A]A^A_Ð�kl��L��H�0�D�,I�ʼn�H���DF u�A��.�\�A�H��f�H�H��DV u8H��H���H�<��.u��f� u�A�H���H��H�H�H��DV t�L�-.("H�|1�H�5��L��� g����&a���L$H��M����y�H�
'��|$A��H�=!("P1��k��XZ�
�����t&H�5("�H�=��1�A���hg�������D$L��H����������!�%����t������D�H�WHD���@ƾH��L)�H���"d��HcT$H�RH��H��@���H��tWL��H��A����_���.���Hc�H�<����H�L$�H�5��H�=��f��H��'"�D$�����
�	���D�D$L��H�5U�H�=���f��H��'"�D$�����
�����D$���H�L$1��H�5�H�=z��;f��H�d'"�D$��������H�L$1��H�5�H�=A��f��H�+'"�D$�����
�P�����`����AW1�AVAUATUSH��8H�|$dH�%(H�D$(1��D$$�
g�����+�1��lj��a��1�1���I���a��Mc�L���d��H��H���/��L��H����a�����a��E����A��H�D$$1�E1�I��E1�H�D$A��D$�D$�DD9|$$��I��M9���B�|3�
u�E����H�T$H��1�B�D3�H�5���#d��L�-�&"�D$$B�D3�
AEI�} H�H�4@H����d��I�E H����IcU1�A�H�,RH��H�HcD$$H��H�@H���`���D$E��D9|$$�R����H��� \��H�t$(dH34%(�D$�4H��8[]A\A]A^A_�f��h��H�Ic�H�f�H��H��H��DQ u�L�-?$"H�5�1�L���6c����<]���t$H��M��H�=R$"��N���L$A��H�
/�P1���g��XZ� �����t,H�5$"�H�=Ä1�A���~c������f��D$L��H����������!�%����t������D�H�WHD���@ƾH��L)�H���2`��HcT$H�RH��H��@���H��tKL��H��A���[�����H�L$�H�5�H�=[���b��H�$"�D$�����
�m���D�D$L��H�5q�H�=��b��H��#"�D$�����
�3����D$����H�L$1��H�5c�H�=���Wb��H��#"�D$��������H�L$1��H�5R�H�=���b��H�G#"�D$�����
����\��Df.���AWAVAUATUSH��L�5g$"E�.E���PL�%|$"I�$�X����Hc�E1�L�=�H�,RH��H����I�$H����tzH�H H�H�9H��tf���������JY����t�L�-�!"A��A��L����1�H��L���[e��L��1��H�=��A��a��I�$��u�H�x H������X��H�V#"H�;H��t�X��H��X��I�$H�=b��H�5d��1�I�$A��`��H�#"H�;H��tH��#"H;8t��Z��H�H��D��[]A\A]A^A_�f��+X��I�$H�p H�H�~H�H�������X��I�$H�@ H�D(����A�� ���DE1��������AWAVAUATUSH��H���(H��""H��H�0�]��H���"H���W��L�5s""I�.D�eMc�D;e�8L�} E�l$
Ic�M����H�4L��H����_��H�E I�.H�E H����MD�eD�i
D�mMc�K�LmH��H�H����1�1�1�E1�H�H��HǂH���HǂP���HǂX���Hǂ`���Hǂh���Hǂx���H�B�H�B�H�B�H�B�H�B�H�B�H�B�H�B�H�B�H�B��B��B�f�J�f�r�f�z�fD�B�H9��/���A�D$H�߉EK�lmH���Y��H�/ "�H�xHj �M[��H�EH����H��H���%W��L�M�1�H��"�E��H�
��H���,b���H��1�H�=���]��H��D��[]A\A]A^A_�@����Z��H�E �Z���H��"A��������H��"A�������E��H�ٺA�����H�5C�H�=)�o]��H��"�
�w���H��"L�} A������
�[�������G���w	H�e"�8�f.���H��"��������������������x6H��"H�9z~'H�
m"�	��tHc�H�H��HB H�x�����f�f.���SHc���V����u_��xCH�t"9X|7H�@"H�=��"H�H�[H��HB �H�0��\��H���"[�@H��"�
1�[��1�[�f�f.���AVAUATUH��SHc߉���_����u{H����L�5�"A��H�[H��I�L�h I�I�}H��t�S��I�HX H�CI��H���V��H�x��Z��I�EH��t1H��H���T��[D��]A\A]A^�DH��"A������
��H��"A������
��H��"A�������f���SHc��sU����ug��xKH�"9X|?H��"H�H�[H��HB H�@H��t�H��H�=�"�l[��H��"[�H�"�
1�[��1�[�@��H����T����uH��"�@H��ø������f���H���D$�L$�T���L$�D$��t7H��"�����^��H�^��@�H1�H���fD�L$�D$�_[���D$�L$��t�H��"H�H�r Hc�H�RH��H�|�u8��H�����H�@H��H��H)�H��f�H9��`���H��H���t�H��"������H���Df.�����fD��AWAVA��AUATUSH���6]������L�="Ic�L�,@M�'I��L�,$I�\$ J�,+f����}E�l$E;l$��Ic��oEL�<@1�I��L��oMK�oU S �o]0[0�oe@c@�omPkP�ou`s`�o}p{p�o�����o�����o�����o��H�CH��f���H�CH��tHc@0����H�C(H�} t9���hU��H�C H����H�u ��H���H�I�l$ J�\=H,$H�"fD����E��A�D$H��"�H�
�}H�@ f���H��N�81��\���H��1�H�=�y��W��H��D��[]A\A]A^A_�@H�@H��H��H�T$��V��H�T$H��H�C(�VH�u(H���U��I�\$ H�$H�,L�����E�U
H��Mc�K�4RH���W��I�D$ I�H�P H����Hc@H�@H��H�H�xH�HǀxH��H)����1����H�M�'H�$I�\$ A�D$
E�l$H�,���f.�H�	"A������
����H��"A����������E��H�
�|�H�"�A�����H���Z��1��H��H�=0x�iV��H��"�
���H�X H�|"A������
�m���E��H�
�{�Df.���H��"���uW��t"�� t=��t(H�)"�������D��"�D��"�D��" �DH��"�������D��H�M"H�H��t
�@�f����"���D��Df.���1��f���AWAVAUATUSH��H��"�H�^"������N�"�H��"H��"��D�H�H�B �B1�@�������@����A��H�=�v�]L��H�����	H�=�vH����€������
H�=�vH����€������H�=nvH����€�����H�ƹ	H�=Wv������s��?L���df.�H�-�"H�EA���P�H�52vH�=v1��S��H�+�N����E����1�H�5\zH�=�u��S��H��@H�-G"L��u�1�H�
�u�H����W��1��H��H�=�u�S��E��H��H�
�u�1��W��1��H��H�=ru�SS��H��H��H�
�u�D�@1��aW��1��H��H�=:u�S��1��H�5�uH�= u�S��A�H��1�H�
�y���W��1��H��H�=�t��R��A�H��1�H�
�y����V��1��H��H�=�t�R��A�H��1�H�
�y���V��1��H��H�={t�\R��A�H��1�H�
zy���kV��1��H��H�=Dt�%R��A�H��1�H�
ky���4V��1��H��H�=
t��Q��A�H��1�H�
\y���U��1��H��H�=�s�Q��A�H��1�H�
My����U��1��H��H�=�s�Q��A�H��1�H�
>y���U��1��H��H�=hs�IQ��A�H��1�H�
/y���XU��1��H��H�=1s�Q���ML��A����H��H�5yH�=s�1���P����K������H�A��H�@�@H�@��H�-�"E1�L�%�yH�EL�0M��u!���xH�DxH�EI��N�4(M��tlL���J��A�ǃ��u�H�E�L��H�=krJ�(1��FP���@1�H�5�vH�=Jr�+P��H��@�V���@����2���fDE����L�%x"E1�I�$L�0M��u%�`���xH�DhI�$I��N�48M��t4L���K��A�Ń��u�H�E�H�5�xH�=�qJ�81��O���E����H�H�55yH�=�q�P�P�PH��"��1��TO��L�3H��L��[]A\A]A^A_���H�����H����H�5gwH�=2q�O���J�����0���fD�H�5lwH�=q��N���
������F��H�-?"H�EH�H�5�pH�=�p��NP��H�EH����H��"L�:I9��w����H�5�tH�=�p1��tN���X������^F���@H��"�H�5UwH�=Xp�1��5N�������E1�����f��H��"�H�5�vH�=p�1��M��L�3���fD���E������f�H��"�H�55wH�=�o�1��M���W���H�=�o�,E��I��H��tH���LH��H�xI���L��L��L��I��H���K��K�D5L��H�t1lib.lo�gC�D5/H�5SoH�f�P��N��H�EH��t4H�W"L�:L��H�D$��D��H�D$�~���H�6"H�H�E�t���H�#"L�8L�}L����Df.����ʃ"5.1.�2f�ƒ"H���"�@f.���H�u"�8�f���U��SH���F����us��xoH�`"9h|cH�,"H�Hc�H�@H��HB H�C"H�8H�2�I��H��H��tP�H��H�=)s"�L��H��H�s"�C��H��H��[]�H�A
"1��
H��H��[]�����G����H�5�uI��H�=�n1���K��H��"����US��H����E����������H�x
"9X��H�@"H����Hc�H�@H��HB H�pH�����H�=$b"�K��A�ٺ1�H��"L�b"�H�
;uH���SO��H��1��H�=�m�
K��H��H��a"[]��H�!"�
H��1�[]�f����YL��H��H���E��H�=�a"�H��H��H�P�SH��H�|a"Hc��<:.�������K�H�w�Hc���H)��fDH��H9����<.��u�����AH��a�AH��f�A��H�Hc��m�
H��"H�=a"H�0�XG��H��H��t0�H��H�=�`"�|J��H����A��H��H��`"[]�fDH��1�[]���C�:.H��a�CH��f�C��H�Hc��m��t������@���f.����AWAVE1�AUA��ATE1�USH��H�D$H�l$ dH�%(H�D$81�H�H�D$ H�H�D$(Hc�H�@H��H�D$H�EH�D$�D$D��D���B��H��H��uH��H9l$��D�e��DH�@H�SA��H��H	���H��"H�L$H�H�@ H�DHH�E1�fDJ�<:H��t�@��H�I��0I��0u�H��H���f@��H���^@��E��E��H�	"H�
�s�f��ZD$H���L���H��1�H�=�s�CH��H9l$�-���1�E������H�t$8dH34%(uDH��H[]A\A]A^A_�H��tH�BH���1���H�P�(���H�
�
"H�t$H�	H�I H�D1H����B��D��US��H���K����u>��1��!C��H��u�%f.��@ �߃��1J�����B��H��u�H����[]ý������D��H��t'SH��H�?H��t�&?��H���?��1�[�f.�1��f.���H��t'SH��H�H��t��>��H����>��1�[�f�1��f.���H���gAVAUI��ATUSH�H����H�8�>��I�EH�H�x�>��I�EH�@H�x�k>��I�EH�@H�x�V>��I�EH�@H�x �A>��I�EH�@ H�xH�,>��I�EH�@HH�xP�>��I�EH�@PH�xX�>��I�}�=��I�EI�}H��t
��=��I�EI�mH��t~A�u��~fE1��H�](H��t0�H�;�=��H�H�{�=��H�CH�[H��u�H�}A��H��0�v=��H�E�E9e�I�mH���\=��I�EI�}(H��t
�F=��I�E(I�}8H��t]A�M0��~H1�H�[H��H�<�H�,��=��I�E8H�H�H�x�<��I�}8H�D/A9]0���<��I�E8I�}HH��tpA�U@L�gE1���~\A�D$��~/I�D$1�H��H��H��H�<(�<��I�D$H�(A9\$�I�<$A��I��0�w<��I�D$�E9u@�I�}H�_<��L���W<��[1�]A\A]A^�1��f���USHc߉�H���H����������H����uH��[]Ð��H�[�eF��H�-�"H��H�EH�P H�H�x H��t��;��H�EH�P H�H�x(H��t��;��H�EH�P H���������f���Yf��u���H�IH��f��
�H�@H�@H�@ H�@(H�@8H�@@H�@HH�@PH�@XH�@`H�@hH�@pH�@xHǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�H��1�[]�fDH�xt/H�x@�:��H�EH�@ H�|�:��H�EH�P H�H�@H�xH��t)��E��H�EH�P H�H�@������@������@����������H��"�
����f.�@��������V9W|������AWAVAUI��ATA��U�����SH��D�=�$"E�wE9��#Ic�L�H����t|�C�<8wH�@H����H�T$�E��H��DX ��D�5B$"H�T$D�=2$"��B���tH�$"��/uD�=$"H�
$"H��[]A\A]A^A_�A��E1�Mc��C�A�o�����E��u*��%tU�@E��H��DX u�-�#"A��E���%���D��
tE9��K�\=I���fDE9�~hE1���fDE9�~XA���D�5q#"�/���@D�5a#"���t?D�=Q#"H�F#"�7����-C#"H�4#"�-.#"�-,#"����D�=$#"1�����1�����@f.���AWAVAUATUSH��HdH�%(H��$81�H���H�"H�0�`=��H�D$H���
H�|$H�5wQ�A��I��H�����1�H���?��L����=��1�1�L��H��H�D$���?��Lc�L����<��H��H���\H�=V""�p:���I�<�<��I��H���.�L��L��H���9��L���9���t$H���""����H��!"�����:���H���AHc�</I���1D�pD��)׃�Hc��]>��I��H����E9���A��H��E)�Mc�A�VJ�4+Hc��+=��IcƋt$H��A�D����H���HcE1�E1�;P�;�l$D��L�|$ I���Mf.�A��/�eA��Lc�A��D)�M�Mc�Lc�K�4L��A�UHc��<��B�D(�C+�l�t$L���A���H��H���UHc�KI��E�9�u�L��A��L�|$ �l$A��]�rA��/��H����H���!AWAVH��I��QH�
jH�D$H1��B��H�� �L��H�=oi1���=��L���5���D$ E1�L�-tiD9����A��Ic�E��H�H�H��@H��DQ ��A��H��D9�u�E1�E1�D��M��A��DA����D$D9��c�|$�X�CA��Ic�H�H�0H��fDH�8�D~ u
A��H��D9��D9�t�Ic�H��8�D�E����Ic�A�D$H)�H�H�f.�E�D�Hc�H��D�D�E��u�D�aA�A�G@��
uNA��A���B���f.�D9�����Icǹ	L��H����A�O����tDA�����@D9�~�H���H���|�
tA��9��9�����A�G��A�F	�D$ ��
��D9���Hc���H���|�
t
��9��9�t�D�y�v���f�D��M��A��A������?��HcL$ Ic�L�H��H)�D)�H�A���f���t#A�,H��H�)A��E�*I�<,H��A�DQ t�D9\$ �.�A��L�t$(D�L$�1�L�D$�H�
-iL���}?���L��1�H�=�f�7;��Ic�L���l;���H���O:��I��H��H��1�M����Hc�H�:H�t��Hc�@��H���|�u�H����H9�u�H���2��H�|$�2��H��$8dH34%(L���]H��H[]A\A]A^A_�<[�����M��H�
TfH���!��I��H�D$(H��1��>���k���@H�5�"�D3��H�=�"�4��D�,(Ic�A�A�������L�t$(D�L$1�E1�L�D$��H�

hL���%>���L��1�H�=�e��9��H��!L����1��H���1�����D�t$H�����H����Hc0�HIc�M�<H�|$ )�L��HލQ�L$Hc��7��HcL$H�=�zH��I���D���������t$H��L�D$����H���mA���L�D$PH�D$ L��I�T��D)�H��fD�de�.notH��f�V��F�f�F�H9�u�A��G���Mc�M�L��L����1��L���
H����������!�%����t�L�������D�H�JHDщ�@�H��L)�E�l�T0��E���kH�-��!D�L$1�H�
fL�D$��H���<���H��1�H�=�c�98�����@H�Y�!E1���^���H�A�!E1���F���L���l$L�|$ H�=u�!�2�H�5�dH��H�|$(�H�����f.�E1�l$E1�L�|$ D��I���9���fDE��M����H��!H�
dI��H�D$(H��1��;�����H���0/��H���!E1��
���H�q�!��o���fDIc��_����A������H���!H�D$(�4����H��tH���.��H���.��H��!�
�
����E���L���HcD�hL�D$0L��A)�H�4�A�UMc�Hc��>4��B�D,1H�
�cI���
���H���Q.��H��!H�D$(���H���!�
H��!H�D$(���H�
Kc�����A1��L���l$L�|$ ������H��tSH��H�?��-��H����-��1�[��1��D��AWAVAUATUSH��H��8�|$�9������HcD$H�@H��H��H�D$H�u�!H�HH H�yHI���hH�Y8�����fA���H���B1�L�.L�H��H��tH�4ӹL�������u�fA���1�I�y� E1�@�|$A���9��L�d$H��H��!H�L` I�\$�S��~VJ��E1�H�D$H�CL�x��I��0D9s~+I�7H��A���2����u�I�D$ H�L$I��0D�4D9sՋC@��~aJ��E1�H�D$H�CHL�x�f.�A��I��0D9s@~/I�7H���1����u�D��I�D$ A��I��0H�T$�։4D9s@�I��I������A�D$0�k0��I�D$(1�H��8[]A\A]A^A_ÿ�>3��H�D$ I�D$(H���fL�{8�E�1�H�@M�wI��H�D$(H�D$�I�7�|$��4��H�L$�,���tXHc�H�T$ ��E1�H�@L�d��fD	��I��A�D$�A�GA�D$�I�w�|$�t4��B�(I�����u�H�D$�M��L;t$(teI���k���I�AE1�L��IH�@8H��8H���DA��H��A�������H�2�L�������u�fE������Hc�H�|$ H�tmH���3���H��H�
��H��I���,��H�q�!H�T$H�HP 1�L�b(�Z0H��8[]A\A]A^A_�D�D$��H��!H�
�`H���6��1��H��H�=$^�Z2��H���!�
������DH�i�!����������H�R�!�
��������f���SH���3,����uH���!H�H�Z[��H��!������[�@��SHc߉��5����ulH�m�!H�H�[H��HB H�P8H��t%H��H�=߈"��1��H�Έ"[�@���t7fo�_H���"[���")��"�H�y�!�
1�[��H�FontSpec���"[H�o�"H�h�"�f�"ific�f.���AT1�A�:�UH�
0�H�=I�"S�C�":�4���=�"�tC�=�"����={"���=j"����=Y"���[]A\�f.����-��H�=+"H��H�H�!H�(�+��H�XH���|/��H�="A��H�E��t1҉у��4@�4D9�r�=�"���"�Y�������	-��H�=�"H��H���!H�(�*��H�XH���/��H�=�"A��H�E��t1҉у��4@�4D9�r�=s"��m"�������,��H�=7"H��H�H�!H�(�(*��H�XH���.��H�="A��H�E��t1҉у��4@�4D9�r�=�"���"���������,��H�-:�!I��H� �!H��L� �)��H�XH���.��I�$��rp�ڃ�H�L�H�L���r��1҉у�H�t
H�49�r�=j"��d"�������+��H��!�:"H�[]A\�fD��u#��t��U���t����T�f�T��fD�U�ۉ�T��T��Df.���USH��H�-��!H�EH��t<H�8H��t$1�@��%��H�EH�H��H�<H��u�H���%��H�EH�-��!H�EH��t8H�8H��t 1��{%��H�EH�H��H�<H��u�H���Z%��H�EH�-S�!H�EH��t@H�8H��t(1���+%��H�EH�H��H�<H��u�H���
%��H�EH�-S�!H�EH��t@H�8H��t(1����$��H�EH�H��H�<H��u�H���$��H�EH�-[�!H�EH��t@H�8H��t(1���$��H�EH�H��H�<H��u�H���j$��H�E�\"�����N"�����@"�����2"�����$"����H��[]�f���AWH�=�ZAVAUATUSH��H��#�����"H���_H�5y=H��H���-��H��H����I���1�H�-s�!H�
L\H���0���H��1�H�=�Z��+���1�H���g+��H���)��1�1�H��I��H�D$8A���H+��A�~�Hc��(��H��H���Ic�H�پH����$��H��E1��%���ȋ"�D$#E����Ic�H��<
��<=�����fE9�A�G��H����Rf.��LA�ƀ�=�€�
��!�A9���H����u�E9���H��H�=�]�#������H��H�=q]�s#������H��H�=Q]�W#�����wH�=]L�%Q
"H�D$A�$H�9�!H�$����H�L$�H�5�Z1�H�=Y�F*���A.��D�|$4E��M��H�D$(E��H�D$(E9�A�_�\$H�8Ic�H�t��A��H��Dw �0���(A��pHc�H�D$H�DA�6<"�o:D$#�b�DG ��A9�A�OD�D$#��Hc��H�DA��D8�t�Gf��
��A9���H����u��D$0E1�H�$��D�\$$Hc�H�;H���)��H�H����D�\$$E��D+l$E��Ic6E)�A�yH�\�D�L$Hc��K(��H�H����H�t$�T$0LcL$H���~Mc�H��L���!��H�B�(H�$IcH�H�����f�H�y[L�%~"H�D$H�~�!H�$A�$���1���H�$H�H�8H���=����N ��H�H��)����A�GE1ۋL$4�D$H�E��H�D$H���f.�<
t\A9�~!H���D<"u�|�\��A��A9�ߺH�5"Y1�A�����H�=�V�'��H��HD��[]A\A]A^A_�@��D�7�"�H�5�X)�H�L$H�=wVD�H1��'���K��"�g���H�RZL�%f
"H�D$H�n�!H�$����DIc�H��~CE1�1��f�B�H��I��H9�~���\u�|"u�H��H9��fDH�B�A���?�����H��H�=�Y���������5�	"��� H�wYL�%�	"H�D$H�T�!H�$�)���E������H�=�H�D��H��H����H���`!��H�x
H����%��I��H���H�SH��H���$��L��
H����������!�%����t�H�.t1librc�������D�H�JHDщ�@�H��L)�I�DA�/H�8�,�@�I%��H��H����fo�X�ibH�t1lib.coH�sr/sharef�}L��H�uH�587H�E�E/t1l�E/�E'nfig�E+�X'��M��H��H���KL�-*�!��H�
�UL��1��)���L��1�H�=0T�q%��L���9��H���1�����E���L$4A��A�6�D$0�����H��H�=�W�������yH��WL�%�"H�D$H�4�!H�$�a����H�5U1�E1�H�=�S��$�����A��E1��D$0�`���E��
��Hc�E����fD�|
A����A9���H����u�A����|"E9��:���H���K�����H���!A������
�h���L�-��!H�
�R�1��L���l(���L��1�H�=�R�&$��H�5�5H���%��I��H��H����H�
�S���a����
�#��I���g���H�����D�|$8����H���!H�H�8���H�H����E9���
�{"H�5cRA��H�=GRA�^1�D�$�~#��Mc�D�$B�T���D�|$E1��D$0���H�
�RL��1�E1����h'���L��1�H�=�Q�"#��L������H�������H�5�R1�H�=�Q�"�����A���X����f.���AWAVAUATUSH��dH�%(H��$�1�H����I��I���d��H��H�D$A�$</�O��~<.�H�D$1�H��z"H�$�fDH�PL��L�������H�$H�޿�� �����KH���!H�8t;��I��1�L�-��!H�
9QL���9&���L��1�H�=�P��!��H��I�4�H�����H���e ��H)�A�Ń�HcЀ</u�A��H�=%z"�H����������!�%����t������D�H�WHD�����/H��f�L�L���-��L��H)�H�TH������H�5�RH�=P1��;!���C���fDH�Y�!�
1�H��$�dH3%(H���CH�ĸ[]A\A]A^A_�f�H�D$A�|Hc�� ��H��H��t�H�5?y"H������H�0�!H�8t�I�غ�1�H�-,�!H�
�OH����$���H��1�H�=`O� ���\���f.�A�D$</t&�|$����<.����A�|$/�����H�T$L��������uzH���!H�8t;��M��1�H���!H�
HQH���($���H��1�H�=�N�����|$��Hc����H��H�������L��H���������H�-�!�D$H�U�X�Hc�M�<H����M���1�L�-�!H�
�PL���#���1�L��H�=4N�S��A�?/H�U�}DHc�H��A�</u�I�H��tYH�-��!M��I��1�H�
N��I��H���.#���H��1�H�=�M�����a���A�?/u�HcD$I��N���I���F���HcD$����f�f.���H���6AVAUATUH��S��������/H���A��D�`�����=A"�L�5N�!��I�A�H�8H��t����I�J�<(I��H��u�H���f��I��I�H����Ic��?��I�EH����H��H�����I�E��"�����=�"�L�5��!�(I�A�H�8H��t��{��I�J�<(I��H��u�H������I��I�H����Ic����I�EH����H��H���_��I�E�"�؃����="�L�-�!��I�E�H�8H��tD����I�EH�<H��H��u�H���5��H��I�EH��thIc����H�H��tXH��H������H�C1����![]A\A]A^ÐI�1��o���f�I�1����f�I�E1�����H���!�
������H���!�������I���1�H���!H�
%NH���e ��1��H��H�=aK���H�H�!�������N������AUATUS��H��H�=At"H��t���H�,t"����H���!L� I�$H����M�l$H��1�f.��[��I��I�}��hH��u�Hc����H��H��s"H����H��H��I�\$�[��I�|$t`L�%�{"@H��H����������!�%����t��L������D�H�WHD����H��H�����H�s�H�����H�;u�H��H��[]A\A]�D��t+H���!L� I�$H��������7���f.���u������H���!L� ����H�a�!L� ����H���!�
H��H��[]A\A]�D��H���S��ƀ�H������AWAVAUATUSH��H����H�Չ�A���H��H��A������A��A������u���bH����[]A\A]A^A_ÐD�hIc�H�$H�<$���I��H���_���!H�{�!���9H�:�A�E���H�$D�Y�!����H�$H�H���Hc==�!H�4�A�����w�Hcօ�x�H�4�H�t�H����y�L�8��H����Ic��S��I��H������!H���!��� H�;��E�������!�!��H�H���tHc=��!A��H�4���w�Hcօ�xf�H�4�H�t�H����y�L�8H���
�H�?H�$�L���F�!H�$����aH�1��A����D�hD�D$Ic�H��H�$�h��D�D$H��I�������!����E����H���!�A�H�:H�T$D��!�*��H�T$H�H���xHc=��!H�4�A����w�Hcօ�xfDH�4�H�t�H����y�L�8H������������W���H��L��1��u���~���H�1�!D�D$H�H�8�)���'�!D�D$���u!H�*�!1��H��4�����pH��!D�@Hc�H��H�:�����pD�@H�:Hc�H���^���f�H�?������!���u]H�1�������DL�|0�����fDL�|0��j���fDL�|0����fDD�h�\�����p�PH�;Hc�H������������o���H���!������
�X���f.���H���wAVL�5��!AUATUSI�H��t�@���>I�������=�!�H�-#�!D�h��H�E�H�8H��t�
��H�EH�<H��H��u�H�����H��H�EH����Ic�����H�H����L��H�����H�C�D�!���1҅�t![��]A\A]A^�fDH�E1��@H�EH�8�������tI��Q��x�‰Q��[]A\A]A^�DH�EH�E�!H�5GH�=[DD�H��1����I��P�y���H��!������
�b���H���!�������K���H���!������������H����AUATA��H��USH��H���;���xI��Hc����H��H����H��I�UH������5�!H�m�!����������F��H�;Hc�H����!�Y��H�H���JA��t�2������H�Hc��!H�l������t"H�Hc
��!1�H��H��[]A\A]�Hc��!H�H�|��L
���ƒ����H�R�!H��A��xЉAH�Hc
I�!��H�1����<���H�H�8�%���5�!�
���f.�Hc
�!H��q�Hcƅ�x@H�4�H�t�H����y�H�*1��7���DHc�!H�H�5EH�=DBH�L�H��!�D�1�����H���!H��@�8���H���!�
���������H���!�������f���H���wAVL�52�!AUATUSI�H��t�@���>I���
���=�!�H�-��!D�h��H�E�H�8H��t�	��H�EH�<H��H��u�H���M��H��H�EH����Ic��%��H�H����L��H����
��H�C���!���1҅�t![��]A\A]A^�fDH�E1��@H�EH�8�
�����tI��Q��x�‰Q��[]A\A]A^�DH�EH���!H�5�CH�=�@D�H��1��E��I��P�y���H�c�!������
�b���H�L�!�������K���H�5�!������������H����AUATI��U��H��SH������xI��Hc�����H��H����I�UL��H�������e�!�����5S�!�����L�%��!�F��Hc�I�<$H���,�!���I�$H���T��t�|
������I�$Hc��!H�\��_
����t#I�$Hc
��!1�H��H��[]A\A]�Hc��!I�$H�|������ƒ����H���!H��A��xЉAI�$Hc
��!�DL�%9�!1���I�$�2���H���!H�H�8�^����f�Hc
=�!I�$�q�Hcƅ�xH�4�H�t�H����y�H�1��/���DHc�!I�$H�5FAH�=�>H�L�H�S�!�D�1����H���!H��@�0���H�+�!�
���������H��!����������������V9W|������AWAVAUATLc�UD��SH�����H����H��I���A	��L�hL���
��H��H���tL��L��H�����H��!H��H�0�y��H��I�����M���6L��H�5�����L��H��H���9����H���!K�4dH��Hp H����u/�/H���
����H��� ��H����[]A\A]A^A_���H���
�������D���(��H��I���]���xI��A��Hc����L��I�UH��H�����Ic�H�4�>.tjE��tIA��H�A�Ic�E��L)��fDH��H9�t'�<.A��u�E��t�Da�Df�Dm�D�����.�Da�Df�Dm�D���H�����������H��!������
��������������Df.���AWAVAUATUSH��X�|$(dH�%(H�D$H1������D$,����|$(�@�����������HcD$(�HH�@H��H��H�D$H��!H�HP H���n��H�CH���3�|$(�
��H����H��!H��H�2�=	��H��H���1H���!H�T$H��H�H�@ H�TH�D$DH��H�D$�t�����jH�����H�u�!H�L$H�HH H�QH��H�Z8H����&H�x8��L�-��!H�-'�!H�}H�x@H���!L�8I)�L�����L�eH��I9���	��H���!��M��H�
�@H��H��H�D$ 1��O���H��1�H�=�6�	��H�\$ D�D$(E��1�H�
�=��H������1�H��H�=�6��
��H�|�!��!H�H�D$HA H�P�@pH�@xH�R8���Hǀ�H���H����
f��ZB�@Pf��ZB�@Xf��ZB(�@`f��ZB8�@hH��?H������H�@�H�5�?1�H�=�5�
��H���!H�H�D$HB H�HI�}H�I8H9�8��
H�\$ D�D$(�1�H�
�@�H����
��1��H��H�=g5�	��H�N�!H�l$H�Hh H�E8L�EM���M���v��H�E H����
E1�fD�|$(A���#
��L�d$H��H���!H�L` I�\$D�CE��~TJ��E1�H�D$H�CL�p�DI��0D9{~+I�6H��A���'����u�I�D$ H�T$I��0D�<D9{Ջ{@��~aJ��E1�H�D$H�CHL�p�f.�A��I��0D9{@~/I�6H��������u�D��I�D$ A��I��0H�L$�։4D9{@�I��I�������s@���GE1�L��D�|$(L�t$H�-(�!�0f����H���!I��H�H�H L�H�YH��D9k@���@p�������Hx�H�}�v��H��1��	��H��1�D��I��H�q�!H�H�P L�H��K�TmL�HH�@H��H��H�@HH�LjL��L�D$(� ��H�
1�!H��H��HH�R J�T2HZH�K�H�K�H�K�H�K�H1�������ZY����M������A�D$��fA�D$f�����L��1��(�������I��A�D$0�k0���HH���!H�l$I�D$(H�Hh L�E�����L�U8Dž�f���H�EL�H8M���I1�H�A�fDH��H=tI�4¹H���������u�f����A���A�������M���'I�H���f���*Hh�,�f�H�\$ H�EHL�E@���H�
19����H�ߙ1�)к�*�1��X��Y
���������	���H��1�H�=p1���H�W�!L�t$H��H�
�8��H�H�@ J�D0L�1��	���H��1�H�=$1�Z��H��!�H��H�
�8�H�H�@ J�D0L�@(1��X	���H��1�H�=�0���H���!�H��H�
{8�H�H�@ J�D0L�@01��	���H��1�H�=�0����H�{�!�H�߾H�
E8H�H�@ J�D0L�@81������H��1�H�=L0���H�T$HdH3%(�D$,�g
H��X[]A\A]A^A_�H��I��M��AWH���!�H�
�9H��I��H�D$01��U��AY�AZ1�L��H�=�/���H���!H�L$H�HH L�AH�Y@L)�I�@8M�X(M�P0I�h@H�I�I�PI�H�M�X(M�P0I�@8I�h@f������M�eH�p H��L�L@�H^H^H�� I9�tc�F�P���v�<u�H�FL9�t�H�H�=?�!1�H�F��H�FH�H�HH9�tH�H�HH��H��u�H^H�� I9�u�A�Rf��t-��I�B H��I�L@�P����wHXHXH�� H9�u�H�EH��tH�H�EA�Sf��t!��I�C H��I�T@HXHXH�� H9�u�I�P A�@H�I�P f��������H�1�H��H���I�P H\H��H9�u��m���A�D$�F���L��1�����7����|$(1�����{H���!H�H�D$HB f����7���H�E(H�E �G����\$(H�5�0������������f��H�l$H��H�� �*�H���!H�Hh ���������H��I��H��M��AW��L)�H�%�!H�
�6H�D$0H��I��1����A[�A\1�L��H�=4-�j��H��!H�L$H�HH L�AH�Y@I�@8M�X(M�P0I�X@H�I�I(�PI�H�M�X(M�P0I�@8I�X@f������M�eH�p H��L�L@�HnHnH�� I9�t]�F�P���v�<u�H�FL9�t�H�H�=��!1�H�F��H�FH�H�HH9�tH�H�HH��H��u�HnH�� I9�u�A�Rf��t-��I�B H��I�L@�P����wHhHhH�� H9�u�H�H��tH�H�A�Sf��t!��I�C H��I�T@HhHhH�� H9�u�I�P A�@H�I�P f�����H�1�H��H���I�P HlH��H9�u������ H�@XH�@`�@P�@h�y���H�PL�-�!H�R8H��8��I�E�L$(H�5M4H�=K+H��81���s���H�$�!H�L$H�HH H�����I��8E1�H��H����A��H��A������H�0�H���������u�fD������H�RH�\$ H�
2�f���D�D$(H�P8H�ߺ1����1��H��H�=�*���H�m�!H�l$H�Hh �"��������H�D$I�D$(H����L�{8�E�D�d$(1�H�@I�OH��H�L$0H�D$8H�D$M���I�6D���E���H�T$�,���tVHc�H�T$��E1�H�@L�|���	��I��A�G�A�FA�G�I�vD�����B�(I�����u�H�D$�H�D$0I��H9D$8tH��H�D$0�b���Hc�H�|$H�tmH�����H��H�
��H��I�����H�F�!H�l$H�Hh L�e(L�E�]0����@1�����H���H���?H��!H�T$H�H�@ H�L1�H�Q8H���E1��H�Q8H���H�H��fD�n�FH��@u΋L$(1��H�5d1H�=�(���H���!H�L$H�HH H���5�D�t$(�D����A������H�\$ E��1�H�
�2�H�����H�޺1�H�=A(�w���H�(�!D��H�\$H�HX �<���H�CH����H��!H�\$�H�5�2H�H�H H�f����KH�\$L�t$ ��H���!D�D$(L��H�H�H 1�H�f���H�
�2����L��1�H�=�'����H�{�!H�H�B H����H�\$ D�D$(��H�
�1H������H���r�H���!�D$,��������D�D$(H�
n2H�\$ ��H���w���1��H��H�=�&�1���H�Z�!�D$,�����
����L$(�H�57/H�=�&���H�$�!�D$,�����
�_���D�D$(H�
)�r���������L$(�H�5�$I��H�=q&1����H�λ!�D$,������	����L$(�H�5[-H�=9&�o����D$,�������D�D$D�L$(�H�5M.H�=&�A���H���	�H��!H�T$�D$,����H�H�@ H�DH�>�!�T$D������L$(�H�5�-���H��!�D$,�
�Q�����H�}�!Hc�H�H�H��HB H�PHH��u
�<�H���J .�zu9r$tH�BH��u�.�zu9r$HD��@H���1��f���H�
�!Hc�H�H�H��HB H�@HH��u
��H��H�PH��u���f���AWAVAUATA��USH���D$�t$�l�I��H���`�(����H��I�GH����L�-��!Ic�H�@I�EH��H��L�p I֋D$�d$L�{H�C�AFP�A^h�AV`�C$H�|�!�ANX�c H�8�H�{��I�UH�CH�ǸHj �������Ep�Mx���f�H�C�ZD$H��f(ȸ���H��1��\����0�H�C�	���H�H����D�K$�f�E����ZC H�-O�!H�
/H������H��1�H�=V+���H��H��[]A\A]A^A_�L�-A�!IcĿ(H�@I�EH��H��L�p I����H��I�FHH�������H��!1��
�D1��f.�f�H��!Hc�L�T$H�<H�H��Hx @���H�i�!���f���%�0�H�Y��Y���Z��Z�f(��^�f��f(��Z��ZX�^��\����Y��X��-#�Y��^��~%kfD(��X�f(�f(�fT�f.�v>�H,�f�fDU��D
�
�H*�fD(��D��fA(�fAT��\�f(�fAV��,�f��fD(�����*�A��Y��Z��X�f(�fD(�fT�f.�v>�H,�f��fEU��D 
�H*�fD(��D��fA(�fAT��\�f(�fAV��Y�f(��X�f(�fD(�fT�f.�v=�H,�f��fAU��D
��H*�fD(��D��fA(�fAT��\�f(�fV��,�f�f(�)��*�A��Y��Z��X�f(�fD(�fT�f.�v=�H,�f��fAU��D
R�H*�fD(��D��fA(�fAT��\�f(�fV��,�f(��,�f�9�NƉ�A*�Y��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D��H*�fD(��D�fA(�fAT��\�f(�fV�f���A*
�Y��Z��X�f(�f(�fT�f.�v7�H,�f��fU��H*�f(����f(��-hfT��\�f(�fV��,��,���9�M�A�A�A9t���A�Ð@��tJH�K�!���f���%�-�H�Y��Y���Z��Z�f(��^�����f���tKH���!���f���%p-�H�Y��Y���Z��Z�f(��^����f.�f�f��f��H���!�%%-�d�����f9���f��D�F�BDI�fA��f��I�E��M����Lǃ�A��f���D)ȅ�tg��E��A���A�D��D����A�х�u!�	�@�7�	�L�G@�7��~&��H��H�LL��@H���@��H9�u��M�DE����E��A���A��D��D����f���AW�BAVAUATUSH��(���qH�i H��Y�t$����D$H����D�E�UfA9���H�D�L$H�|$H�$�E��H�|$H�MD��+D$L�e �D$L�q H�L�,A9�}B@I��I��A�V�L��A�t$��L$A��)�)��������UL,$D9��H�MH�iH��tD�E�UfA9��v���H��([]A\A]A^A_����AWAVAUATUSH��x�|$H�=ӱ!�t$H�T$@�t$E�D$dH�%(H�D$h1��D$`�D$d�����Ņ���H�=��!H��t��H���!H���!�|$H���!H���!H���!H���!�`����w����f�/D$��H�1�!1�A�E��H��P�x��P"����P"HcT$���
�P"H�RH��HX H�D$H�����DD�DE�ƒ� ��If��������|$�D$�|$1����I���D$�D$FM���,E���S�D$`���gf��f��I�~f��H��!�pf�����Zh�Z`��l$8�d$0���l$8�d$0f(�f(�H�Ǹ�;�H��1���D�d$H�K81��D$\H��I��jE��s�D$,�|$L�L$l���Y^H��A�G��fA�Gf����f����D�D$\E����H���g�CD�[D�SA)��CA)�A�����D�%VO"C�D�A��A!�E����E���� ��H�C�������!�C+C����u�!�C+C�=e�!��5R�!���
E�!�؉Q�!��t>HcT$dH�=%�!1��>���N"D���H��D��N"E1�H��PH�=��!�%�XZ1�H����E���@D�|$F���!H���!K�,H��I.H�=��!�E���!�E���!�E���!�E���!�E���!�EH���!H�E H���!H�E(��Hc|$d��H�EH����HcT$dH�5K�!H�����R�H�y�!������H���!�I��H�
1�H���G�H��1�H�=$��1�H�L$hdH3%(H����H��x[]A\A]A^A_�f��D$f��������D$`A�������D$�|$1���I��H����E������f.�H��!f��f���~�I�~�Zh�Z`H�D$�l$(�d$ �X�H�PfW�fW�������l$(�d$ f(����A�G����L��1���D�D$\E������H�n�!H�
e#�1��H�����H��1�H�=3#1���H�ܬ!�T$\������|$�g��������f�/D$�������D$`A���X�����D$EI�H�@H��H�H�z(�{����o)'�!�oz)=+�!�oR )/�!IH�8H��tc�
�K"��!���!+��!�+��!�ٍ@�!��…��PH���D$dHc|$d��H���!H��� HcT$dH�3H�����H���!���@H�ɫ!1�����@D�وT$GA��D�\$@�ɍAI������D$dHc|$d��H�E�!H����s�KD�\$@�C�{����T$GD�����fDH�I�!�
�
���fDE��D�L$�1�L�%z�!�D�T$LH�
"D�\$HL�����L��1�H�=<!��D�T$LD�\$H�D$\����H�ɪ!1��
���@H�E�|����1�H�5z!H�=� �^�H���!�T$\��M���@H�q�!H���
1�����+����'����AWAVAUATUSH��h��$��|$H�=��!H�t$H�L$PD�D$L�L$@�D$0dH�%(H��$X1�DŽ$DŽ$DŽ$ DŽ$$������$����H�|$��
�ŋD$H�\$����$�����$�����H�|$����$��$��$;�H"H��H"|9H��tH��������$��Hc��5�H��H��H"��$����H"��$H�t$����$��$�P���$��t6Hc�$��$��$�)�H����$�P���$��uʋ�$����$�H�="�!H��t�8��H�
�!H�
�!�|$H��!H��!H���!H���!�����$��$����&��$����H���!HcT$H�H�RH��L�h H�T$I�M�}M���wf�/D$0�	�H�P1��ɉHG"��H�|$@�5G"�7G"tDŽ$A����ƒ� ��f�����A���|$X�D$0�|$1��8��H�D$ H���"
��$�������$�������$��D$(�D$(9�F"��H�=zF"H��t���H�=aF"H��t���Lcd$(�L������L��H�>F"���D�%:F"H�#F"H��!f��f�䋔$�Zh�Z`H�D$ H�x����H�D$@�~����$���$��X�H�PfW�fW��������$���$�f(�f(�H�Ǹ���H��1��U�A����|$H�D$8���H�HD$PH�D$H��$���tD��$ E���cDŽ$D�t$(��$A9���H��$D��$�L�d$ H�D$h�f@A�OA�WA�wE�GA��A)Ӊ�D)�Ic�D�\$\Hc�H����H����Hc
�D"H��H�L���Hc�H!�H��H�L$pH��H�PHH�H������$$Hc�$$�.�D�\$\H��H�E��Hc�$$1�H��D�\$|����H��H�}E1ɋ`D"D�aD"L��PD��$���$�D�����E�GA�wA�OA�WAYAZA�GA+G����D�EL�����EA�GA+G�u��M���U��H�E(�E1������$����$��$D9��Hc�$�H�,@H��I,$H�}(u�Hc�$H�hC"��Hc�$DŽ$�A���9�t�Hc�$I�M81�D�jA�u�D$hL�L$xH�T$H�|$ �d�I��XZD��$E����M����A������H��Hc�$D��$H�
�H�=Ѣ!��D��D$P1��^�H�5��!A[�XH�=�1���Hc�$H�zB"DŽ$���k���H��!��$����H�K�!�I��H�
�1�H������H��1�H�=6��E1�H��$XdH3%(L����H��h[]A\A]A^A_�Df��|$Xf����DŽ$ ���D�|$�����0����DH�|$�����D$(�D$(9�A"����DŽ$�t$(��$9��9���H�
UA"H�VA"fDHc�$��Hc�$����$����$��$9�|�������$���$�C���DDŽ$ �����Hc|$(�DŽ$�V��I��D$ ��DŽ$�D$(D�p���$D9�}j��$�D�|$f.�Hc�$Hc�$D��Hc�$�T�4I�,������E��$����$��$D9�|���$�H��I�M8I��j�t$XATA�uH��$@PH�\$h��$�D�L$X�t$D�|$@H������H��0I���Cf��$���f�Cf���5f���L�����D��$E����M���*A����}E�wLc�?"A�OA�wA�WD��L��)����)�Hc�H�Hc�N�d�I!�H��A��H����A ��I�G���A��1�A�GA+G�-b�!����\�!A�GA+GD�5I�!��
6�!���)�!�؉5�!E���H�
�!H�
�!1�L��������$���t8���!)�!)�!��؉�!��!)�!��)��!�ى
�!L�=��!�`�������� �f��f����$����$��\����$���$�f(�����H�ɞ!����fDH�	�!H�
�1��H�����1�H��H�=��P��H�y�!��$�M�������L��1���������H�D$8�@����H�|$81��%������D��$�H�t$8�Ff��$���f�Ff����f���kH�.�!�D$0DŽ$�Y@��$�^��D$x9D$(��H��Њ��A�0uD�t$(�D$,0u�l$4�fDH�5�!H�L$�H�HH H�A Hc�����f���L$xHc�$�A*���H�t$ ��=��H�R�Y�H��H�Z��X
.�f(�f(�fT�f.�v7�H,�f��fU��H*�f(����f(��5��fT��\�f(�fV��,�Hc�$H�5<"��Hc�$�yD��A�D;T$4~Hc�$<��|$4Hc�$�yD��A�D;T$,}Hc�$<��|$,�A��I�U����H�@f�H��HB�*@��Y��X��D,�$A�V�9�~�D$ ��HcAH9�HL�HcAI9�LO���$����$��$D9���Hc�$Hc�$�A���9��0���Dd$H봐H���!�Ap�������IxH�8����H��1����H�5	�!H��H�
�I��H�H�t$ L��H�@ L�L0j1��|$ L��$(L�\$p���_AXH��D��$H����E��L�\$`���@���A�M��tA�C��fA�Cf��tRf��tEH��1��[������fD��f�H�H�@H��HBH�*�Y��X��D,��v���fDA�Ct�L��1�H��$����H��$��DHc�$Hc�$H��$��|$�T�4�>��H��$�A��+���fD�D$0�|$1����H�D$ H�����H�"�!E1��
�S���@H�	�!E1��
�:���f��A*��YD$x����%1��Z��X��f(�f(�fT�f.��I�,ыD$����$��7�!�g�D$����$��g�D$����$���Hc
�8"�t$,H��-�!�D$4L)�D�=ۻ!A�Ή5ֻ!H�ωѻ!)�A��H���$�H�t�Ic�D��$�H!�I��H����H����H��H��H�BHHЍGH����Ilj�$$��$$��Љ�$$Hc�$$����H�>�!H�������Hc�$$1�H�����DŽ$��$9D$(���7"��$�L��$�L�5�7"��$�H��$�@Hc�$H��$�D��$�D��$���\$,H�4@H�D$ H��H0Hc�$A)�Hc�$�V��$�A�D�^DNHc�$D+ND)�A��D#�$�E��A��Mc������Ѓ�)�Lc�Hc�$A���ҍBI�D+^��H�DŽ$��$D9���M��I�iI��D��II�I��E��H��f�H�>��$H��t}�H�I��H��H�PHH�Hc�$D��$H��H��L�H��!H���$M������t1DH��H���z�@x���$����$��$��uԋ�$����$��$�F+F9��N�����$����$��$;D$(�4���L��$�D��$�E������!��+�$,��$��$��+�$49����-E��%��H���!�����5)��<�A!�E	�D���$����$�B��$��+�$49��s��$f�f���AZ��)��*��Y��X�f(�f(�fT�f.�v3�H,�f���H*�f(���f(�fT��\�f(�f(�fU�fV��,�+B��zD�P��D�GA��A��DI�A����AH�A��A����A��A)�B�A����D)�A��A��B�����D)���Hc�$��I��I��H�IM��II�H����AH��H�H�H����D��$��$D��������E	�H�HD��@H���A����$����$���@�������@9�{���f�H�y�!����H,�f���%m�fU��H*�f(����f(�fT��\�f(�fV��{���H��$(H���H��$<P�D$@�|$ L��$<L��$@���Y^�t$4��$09�MƋt$,�D$4��$(9�NƉD$,Hc�$,H9�HL�Hc�$4I9�LO�����H��$HH���2�!�H��$\P�D$@�|$ L��$\L��$`�
��A\A^�t$4��$P9�MƋt$,�D$4��$H9�NƉD$,Hc�$LH9�HL�Hc�$TI9�LO����H��$8H�����!�H��$LP�D$@�|$ L��$LL��$P���XZ�t$4��$@9�MƋt$,�D$4��$89�NƉD$,Hc�$<H9�HL�Hc�$DI9�LO��
���H�D$8�@���H�|$81��g���u�H��!H��!H��!H�������������d���D�@H���z�H����A	���D�H�D�A	���$D�����$��$��u�����D��$��D+^��Hc�$A��Lc™��M��H��� ����$�����DŽ$L���$D9�����M��I�AH�.D��II�L�-��!I��H��D��$H��tx�Hc�I��H��H�rHH�Hc�$D��$��$H��H��L�L�H�E��uc��t3�H��H���~�f	z���$����$��$��uԋ�$����$��$D9��[�������fD��t�D�H���~�H����A	���fD�B�D�A	���$fD�����$��$��u��fDD��$�E�����ٲ!��+�$L��$��$��+�$T9����-)��%q�H���!������5
��8A!�E	�D���$����$�B��$��+�$T9��c��$f�f���AZ��)��*��Y��X�f(�f(�fT�f.�v3�H,�f���H*�f(���f(�fT��\�f(�f(�fU�fV��,�+B��zD�P��D�GA��A��DI�A����AH�A��A����A��A)�B�A����D)�A��A��B�����D)���Hc�$��I��I��H�IM��II�H����AH��H�H�H����D��$��$D��������E	�H�HD��@H���A����$����$���@�������@9�{���f.���$������Ӱ!��+�$<��+�$D��$��$9����-#��%k�H���!������5��:DA!�E	�D���$����$�B��$��+�$D9��[��$f�f���AZ��)��*��Y��X�f(�f(�fT�f.�v3�H,�f���H*�f(���f(�fT��\�f(�f(�fU�fV��,�+B��zD�P��D�GA��A��DI�A����AH�A��A����A��A)�B�A����D)�A��A��B�����D)���Hc�$��I��I��H�IM��II�H����AH��H�H�H����D��$��$D��������E	�H�HD��@H���A����$����$���@�������@9�{���f���$����$���!L�=Į!)ή!)̮!��ډƮ!�h�f��1�H�5�H�=x����H���!��$��0��H�߉�$�I����$���$�H��H�GHI�H������$$Hc�$$���H�'�!H���}��$���$���$���ډ���Hc�$$H�=�!1��H����*"L����H��D��*"D��E1�PH�=ĭ!�/��ZY��L��DŽ$��$D9��g�M��M�iM�QL�MI�H�-|�!D��I��M��MI�I��D��$�I��fD��$M��tv�H�I��H��H�PHH�Hc�$I��H��L�H�L�E��us��$���$��$��t,f�H��H���z�	x���$����$��$��u֋�$����$��$�F+F9��X����}�DŽ$Hc�$L9�}�D�DH���z�H��H��A	�H�� D�H�D�A	���$D�����$Hc�$L9�|��m���H��!D�D$�1�H�
y�H������H��1�H�=���V��DŽ$�6�D�D$�1�E1�H���!H�
��H���L���1�H��H�=�����H�/�!��$��`�H��!�
��H��Њ��f�A�0u�D$,0u�l$4��������AUATUSH��H����H�J�!H���0H�D�`D�%("���H��H�����oE�oM�oU L�mHP M��tT�@+CIc�A��H�H�E(Mc�H�T�I!�L��D�cH��D��+CLc�L��L���:��H�H��tRL��L��H���$��H��H��[]A\A]�fDH�	�!1��H��H��[]A\A]�H��!�
뽐H��1��v���H�χ!�
����AW1�I��1�AVH�5���AUATUSH��D�'"�
'"E�����M����A�GA+G�H�5���ÉD$��&"A�OA+O��D�d���D!�Lc�1�M����������D$E1�f�Hc
�&"��������L��E1�H�H��H���#L��H�H��I�L�H���Y����Ņ��A����X��蓽���� tH��r�.���{����� u����X���[�����tH��r�.���C�����u����X���#�����tH��r�.��������u�1��f��X������tH��r�.���ۼ����u� I���ȼ��L��Hc
N%"H�H��L9�����
M�裼���D$�D$9D$�����H��[]A\A]A^A_Ð�X�v������� t�H��r�.�^�����@I��~�1�L��H�H��I�H��B�Ѿ��A�Ņ���A��fD�XA���
���A��tD��r�.A����A��u�E1��D�XA���һ��A��tD��r�.A��踻��A��u� H��褻��L��Hc
*$"H�H��H9��D���������X�v���A��A��t�D��r�.�\�����f.�I�������E1�fDL��1�H�H��I�L��,�f��X��������t��r�.�������u� I�����L��Hc
o#"H�H��L9��� �����AWAVAUA��ATA��UH��SH��H��A��D�D$t	A��H��H��H���bH���YH�E(H9C(�KH�=ԥ!H��t�*���H�ץ!�M�C�{H���!D�MD�{�L$H�MD�D�ED�sE���D$@�L$L��Dɉ|$DD9��L$4DN�D���D�|$0H�c�!�U9�D�sM�D�e�D$l���D�S�t$pD9��|$XAL�D�D�L$tD9�D�D$xAO‰T$\D�d$hD�\$�L$(H��!H��!�|$D�%""�D$��D�T$8L�S(D)�D���A��M��L�$A�D�!ЍHH�D)��t$PA�‰�A��A��D�T$,E�|�A!�E�oEI�E)�D��D�D$|A��A��D�l$`E�l�A!�A�EAI�+|$��A�҉����L$�z�T$ Hc�����T$ D�T$8H��H�/�!�2�<$���<$���<$���<$ ��D�T$E���2�t$@�L$Dt$HL$L�D$�5�!�
�!�ܣ!�D$(�֣!�D$���!�D$���!Hc$H�ˣ!H���!�f.�H�I�!�1�H�Ĉ[]A\A]A^A_���|$�T$0+T$D)�E)�D�t$ A�� �bA������D�D$ �����2��)�ҍrH��E���/Lct$,Lcl$`Hc�E1�E1�L���!H�l$PA��E�M�M��Lc�I�yH�|$8H�;I�L�L��tgfDE��t7H�T$8�0H�,�H���W�H����	��@�p��0	�@�0H9�u�A��M�M�D;\$ ��I�H�;L�L��u�E��t�1��	fDH���4@4H�rI9�u�붉������~ H��!�21��f�4PH��9��T$D)�E)�E��E����D�l$PE1�E1�L��!E�Ic�H�L$ HcL$,H��H�L$P�L$0��+L$H��H���D��I��Hc�Hc�L�,HcL$`H�l$`L��M��H�L$8�
f.�I�?I�6H�T$ L��H��7���Ll$PHl$8D9�u�H�l$`D�l$\D+l$h�D$+D$XE���H���LcT$,H��!E1ۋt$4+t$A����\$|D�Hc�LcL$H�M�{�H�H�H5�!�1���
�"�H���AfD9�tf�FH�PH9�u�A��L�L�E9�u�����f��\$@�D$t�|$0�L$D���+t$H��+L$L�7�9|$4�|$pNЍ7�T$�T$x��9|$lM�L$L$�D$(���f�L�Y�!��~)�z�L�K�!1�H�5!�I�H�ʋ�H�JH9�u�D$D)�E)�E��E����HcL$PE1�E1�H�L$ HcL$,H��H�L$P�L$0��+L$Hc�H�L�<HcD$`H�l$`L��I��D��M��M��H�D$8�I�?I�6��H�T$ L�H��g���Ll$PHl$8D9�u�H�l$`M��D�l$\D+l$h�D$+D$XE���u���Lct$,D�|$|1�E1�Lcd$A��A��LcЋD$4+D$H�I�f�M�H�UE��~,1�H�5�}!H�M��f�H���:tA�H�PH9�u�A��M�L�E9�u���@H�l$P�t$4+t$��T$+T$X��D�l$\�����)����FI�D+l$h��E�������Lc|$,Lct$H�E1�1�A��E�V�Lc�I�I�BH�D$ DI�H�}L�L��tO�t$��t3H�T$ �0L�H���W�H����	��@�p��0	�@�0L9�u܃�M�M�D9�u��!�����T$��t�1��@H���4@4H�rI9�u��M�M�D9��j������D�5"E���������D�\$ �����2��)�r��H���4�E����E��A�WL�D�l$8AI�Lc|$,D�l$ E1�H�D$ LcD$`A����D�t$PA��Hc�A�[�Hc�D��L�H�t�A��H�I�L�f�L��L�ׅ���1�E��u�f�H��A��A	�H�PH9�u�A��M�M�M�E9�u�D�l$8D�t$PH�D$ �|$4+|$���t$+t$X��D�d$\�����)х��WI�D+d$h����E�������Lc\$,E��A�}Hc�DH�L�MLc|$A��A��L��E�U�Hc�L�J�t�H�I�H�L�…�uFf�1�E��u��H��A��A	�H�PL9�u�A��M�M�L�E9��&���L��L�υ�t�E��t�A�0@H���G�H��H��	�H�� �r��2	Ɖ2H9�u�밅ҍJI����~H�5�z!1ҋ6��4�H��9���T$D)�E)�E��E����D�d$PE1�E1�L���!A��Ic�H�L$PHcL$,H��H�L$8�L$0��+L$��Hc�Hc�L�$HcL$`H�l$`L��M��H�L$ H��L��E��I���f�I�I�uH�T$PH�<A��H����H\$8Hl$ E9�u�H�l$`D�l$\D+l$h�D$+D$XE�������LcT$,�|$4E1�+|$�\$|A���LcL$H�MHc�D�C�H�H�H��!H����~*1�H�5ky!�f�H�Ћ�;t��H�PI9�u�A��L�L�E9�u��v���D�5�"E���)�����D�L$ �����2��)�ҍrH��D�E����E��A�WL�Mc�AI�Lc|$,Hct$`E1�D�l$PD�l$ A����H�D$ A��H�t$8A�[�Hc�D��L�\ZN�M�I�L�D$8D�t$8I�A��@L��L�ׅ���1�E��u�f�H��A�BfA	AH�PH9�u�A��M�M�M�E9�u�D�l$PD�t$8H�D$ �|$4+|$���T$+T$X��D�d$\���7��)�wI�D+d$h���E���9���Lc\$,E��A�}Hc�DH�L�MLc|$A��A��L��E�U�Hc�L�2J�\RI�H�H�L�…�uHf�1�E��u��H��A�AfA	@H�PI9�u�A��M�M�L�E9����L��L�υ�t�E��t�A�0�H���G�H����	��f�r��2	�f�2H9�u��f.�E���[���A�1@H���G�H��H��	�H�� �r��2	Ɖ2L9�u��-���f�E�������A�1H���G�H����	��f�r��2	�f�2L9�u��]���H��u!�
�d�L�ޗ!���f���AWAVAUATUSH��8H�|$H�=�t!�t$�D$,�!������Ņ��CH�=L�!H��t���H�7�!H��v!H�|$�~H�+�!H�(�!H�
�!H�H��!�J�B1�H��!�ɉL"�‰?"�A"�h���H��H���D�c�s�P�
"�@fA9���f9���D��D��D��A��D)�E)�D�l���A!�E��A�ƅ���A ���H�C���A��A��K+KD�=P�!������
I�!�K+KD�%8�!����$�!����!�ى
#�!E�����D$����!)��!)��!��؉�!��!)ו!��)˕!�ى
ו!�fDH�-s!L�D$�1�H�
+��H��艶��1��H��H�=���C����C+C����w�!�C+CH�V�!H�S�!����؉O�!H��1�H�'�!蒱��H��8H��[]A\A]A^A_�H�	s!���茲����H�Cr!I��H�
��1�H���׵��H�޺1�H�=J�1�菱���D1��H�5�H�='��n���H��r!���j���@D��D�D$A�͉T$D�L$�ɍAI������D$,Hc|$,�W���H�P�!H��tkD�D$�T$D�L$D�����D�����fDHcT$,H�=�!1�����{"D���H��D�s"E1�H��PH�=�!�ܭ��XZ���DH��q!H��1��
1��7������f���AWAVAUATUSH��h�|$H�=q!H�t$�D$�L$�T$dH�%(H�D$X1��D$T�/������Ņ��QH�=�!H��t��H��!H��!�|$H���!H���!H���!H��!蕳����������\f��/d$��H�fr!1�H��z�J���
;"@�Ɖ
-"�5/"���[HcD$�D$1�L�j L�$@H���V���I��M�H��H���{f��A����1H��p!f�f��H�{�Zp�ZhH�D$H���~�X�H�d$�~N��P�l$(�t$ fW�fW����w����t$ �l$(H�Ǹf(�f(�薱��H��1�����d$I��H�t$P(ԺL���L$�D$�D$P躯��H��A�D$��fA�D$f����f����D�D$PE����H���6D�s�KD�{��"�SD����D)�D�d8�)��A!ą�A�Ņ���A ��H�C���A��A��C+CD�=ߐ!����ِ!�C+CD�5Ȑ!��
��!�����!�؉��!E��t>HcT$TH�=��!1�蠩���&"H�ى�H��D�"E1�D��PH�=\�!自��Y^H��1�H�I�!���If�H��m!H�
2��1��H���^����1�H��H�=�����H�An!�T$P�1�H�L$XdH3%(H���nH��h[]A\A]A^A_�H�	n!���茭����H�Cm!I��H�
��1�H���װ���H��1�H�=y�葬����A�D$�'���L��1�蒤������D�|$�/������L���f��/d$�(H��n!H��B�R�҉�"�‰�"1��҉�"�����H��n!H�H�@ �B� �������T$LA���L$H�t$D���GI�����D$THc|$T��H���!H����L$H�T$L�t$D��ډ�����X����f��f�ɸ�d$@�l$8�t$0�����t$0�l$8H�Ǹf(�f(��#���H��1�艬���d$@I�����1�����H�Il!1������@�1�H�5��H�=�����H�l!�T$P�����@�D$�|$1��G���H��H���h���H��k!�
���f�H��k!H���
1��)����y�������f.�D��SHc߉�H���D$�����D$��uTH��l!H�H�[H��HB H�xHuf���@p�Z����1�H��[�f�H�9k!��������@H�!k!�
�������@��SHc߉�葭����tH��j!f��
[�f�H�al!f�H�H�[[H��HB �Z���f�f.���SHc߉�H���D$�'����D$��u\H�
l!H�H�[H��HB H�xHu'f������Z����1�H��[��H�Aj!��������@H�)j!�
�������f�f.���SHc߉�葬����tH��i!f��
[�f�H�ak!f�H�H�[[H��HB �Z���f�f.���UH��SHc߉�H���)�����ulH�k!H�H�[H��HB H�xHu7�E�@p�E�@x�E����E���1�H��[]�H�9i!��������@H�!i!�
�������@��UHc�SH����H��艫����t<H��h!H�H�C�
H��H�CH�CH��[]�fDH�9j!H�H�DmH��HB �Hx�������XpH���S��K�CH��[]�f.���U��SHc߉�H���D$�Ԫ���D$����@��uo���u8����H��i!H�
H�[H��HQ ���H��[]�f.�H�qi!H�H�[H��HB ���H��1�[]�f�H�Ai!H�H�[H��HB ���H��1�[]�f�H��g!�
������x���f�H�ig!�������X���f���U��SHc߉�H���D$�ĩ���D$����@��uo���u8����H��h!H�
H�[H��HQ ���H��[]�f.�H�ah!H�H�[H��HB ���H��1�[]�f�H�1h!H�H�[H��HB ���H��1�[]�f�H�yf!�
������x���f�H�Yf!�������X���f���U��SHc߉�H��躨����tH�f!f��
H��[]�D@��uR@��ut��uH��e!f��H��[]��H�Yg!H�H�[H��HB �����H�1g!H�H�[H��HB ���H��[]�H�	g!H�H�[H��HB ���H��[]���U��SHc߉�H���ڧ����tH�>e!f��
H��[]�D@��uR@��ut��uH�e!f��H��[]��H�yf!H�H�[H��HB �����H�Qf!H�H�[H��HB ���H��[]�H�)f!H�H�[H��HB ���H��[]���SH��H��PdH�%(H�D$H1�H�����o3�o[H�|$H�t$�Y�)t$ �^�)\$0�)����L$H���D$�T$ �\$0f(�f(��t$(f(��Y��Y��Y��Y��Y��\��l$8�Y��X��#f(��Y��Y��S�\��X��c�CH�T$HdH3%(uhH��P[�f�� �D$耡���D$H��H��t*�
z�H�@H�@��H��@H�Ac!�
1������f���H��t'��~;�H���GfW�fW���GÐH��� ��H��t=����
u�H�@�@�����@H���f.�H��b!�
����H��t/�O�~��H���GfW�fW��O�G��H��� �Z���H��t5�]��
%�H�@����H�@H���f�H�b!�
����H��H��t;�_�H���g�O�Y��Y��X��H�X��H����� �D$踟���D$H��t5���f(�f��f��H�@�H�@�P�fDH�qa!�
�f���H��H��t;�'�OH���W�_�Y��Y��X��H�X��@H���fD� �D$�����D$H��t5��f(�f��f��H�@�H�@�P�fDH��`!�
�f���H��t'��OH���Y��Y���G�f�H��� �D$�l����D$H��t1�
i��H�@�Hf���Y��@H���fDH�)`!�
����H��t'�W�OH���Y��Y��O�G��H��� �D$�ܝ���D$H��t1�
ٵf��H�@�f(��Y��H�@H���f�H��_!�
����H��XdH�%(H�D$H1�H�����o7�oH��)t$ �l$ )|$0�|$0�t$8fD(��DY�f(��Y��Y��Y��Y��Y��DX��d$(�Y��Y��X��D�o�X��X��G�gH�T$HdH3%(��H��X�f�� �\$�T$�L$�$诜���$�L$H��H���T$�\$t0�%��H�@H�@� �`���f.�H�Y^!�
1��Z����������U��SHc߉�H��躠����uuH��_!H�H�[H��HB H�xHu@�����u���f���1�H��[]�f.���0f���H��1�[]�DH��]!��������@H��]!�
������f�f.���SHc߉�������u,H��^!H�H�[H��HB f���1�[�f.�H�I]!�
�����[�f�f.���SHc߉�豟����u,H��^!H�H�[H��HB f����1�[�f.�H��\!�
�����[�f�f.���SHc߉��Q�����u<H�=^!H�H�[[H��HB ���1��� ���������E���H�y\!�
�����[�f�f.���SHc߉�H���D$�מ���D$��u|H��]!H�H�[H��HB ��� tH�xHt.��z5u3f��/�wV.����z
u1�H��[����H��1�[�H��[!��������@H��[!�
������H��[!����������SHc߉�������tH�u[!f��
[�f�H��\!H�H�[[H��HB ����AWL��A��AVA��AUM��ATA��U��SH��8��L�L$�\$pH�$�CH��Z!������������‰D$�D$9l�!H�=]�!�H��t�e����D$�xHc�趘��H��H�4�!�D$�2�!A����E�^A�A���D$B���D$H�-Z!D�A����A���NA�� upA���.A�����\$9\$~RH��A�1�1�A�A�1�1�L�V"Hc�Hc�Hc�A�4�H��3A��B�A��B�A��B�DH�<$��H��8[]A\A]A^A_�fD�D$7H�|$A������A��u�A�FA�4���t$�D$���D$H�BY!D� A����A���[A�� u�A����A���1A����A�����\$9\$�O���I���1�1�H�
��!�D@HcT$H�5��!H�|$H��8[]A\A]A^A_��@����‰D$����A���A����A���z
A�������D$���tD�@�A)�1�1�L�52�!L�
+�!�f�H��A�T5����D��	�H�V��Ic�A��f�wA�D5�I9�u΋t$9t$�X�����H�
�!HcT$Hc�H��!��f�W�2���f.�A���~A�����\$9\$����I���1�1�H�
"Hcҋ�H�A����7����DA���fA������E���WA)�E�C�1�1�L�
�"H�-�"��H��A�T5����D��	�H�V��HcD�A����A�D5�L9�u΋t$9t$�X�����H�v"Mc�Hc�H�h"��B���4���@A����A����A���A�������D$���HA�D�P�1�1�A)�L�5l�!L�
e�!�H��A�T5����D��	�H�V��Ic�A����A�D5�I9�uϋt$9t$�������H��!Hc�H��!��HcD$���t���@�D$����L-M���H�|$(D�<)I�DHc�I��A�H�D$ E1�1�A)�E1�1�Hc�L�5��!L�
��!Mc�f�A�8��I��I����	�A�|0�����	���A��A���A�T(���A	�A��A�C�T8���D��A	�A��A�H�A��A�E�A�@�A�T0�E�T(�G�\8���A�A�L9D$ �u���H�|$(�t$9t$�z�������E��E��H�
�!���B�B�H�H��!��HcD$���>���fDE���
A�C�A�Hc�M��M�t1�A)�I��1�L�
1"H�-*�!A���E�(A�0��I��I��A����D��E	�	�E�����D�BD��ƒ�A��A�T$�����A��A�T$���	������A��A�T$�A��A�D$�E�h�A�D0�A��E���M9��s���D��t$9t$�Z���H�
{�!���ҋ��B������Hc����L��H�����	����M�S����M�K�����D$���{
Hc�D�x�A)�E1�M�\5E1�1�1�L�5d�!L�
]�!L���I��C�l����	�C�@����	�B�����A��A�D��D	���A�H�A��fB�WC�lC�F���A���I�JM9�u��t$9t$�R���D����Hct$E��H�
��!��B�B�H���!H���f�w����E���A�E�S�1�1�A)�L�
"H�-�!�	fDH��A�T5����D��	����D������H�A����A��H�V�D�A�D5�I9�u��t$9t$�������H���!��C����HcɃ�L��H�4��p���f�E����Hc�A)�E�c�E1�1�1�L�
o�!L�H�-e�!�I��G�t��A��A	�A��F�4A��D��A	�E��B�T�T�Hc�A��B��G�tA�D��F�4A�I�HD��M9�u��t$9t$����H�
�!����Mcۋ��H��!H���B�����@E���Hc�A�1�E1�A)�E�c�1�L�L�
��!H�-��!A���f�I��G�tB���A����D��E	�	�E�����D�BD������H�A��B��A��B�D�G�tB�A��E����I�@M9�u�D��t$9t$��H�
�!���ҋ���O�����D$���
D�L-M���H�|$(E�4)I�DHc�A)�H�D$ Ic�Mc�I��E1�E1�1�1�L�5�!L�
�!�A�8��I��I����	�A�|0�����	���A��A���A�T(���A	�C�T8�E����C�D��A	�E��C�H�A��fA�E�A�@�A�T0�E�T(�G�\8���A�A�L9D$ �t���H�|$(�t$9t$���D����E��E��H�
S�!Hct$��B�H�@�!B�B�H���f�w�����	Hc�A�E��A�T5��������X	Hc�A�E��A�T5�����e����%	A�E���������D$���:�L-H�|$ ��M��D�<)A�Hc�I��M�lA)�1�E1�1�L�5��!Hc�Mc�L�
��!f�A�8��I��I����	�A�|0�����A	�A�|(�E��C��A��ȉ���D��	���A�H�A��A�D$�A�@�E�T(�C�T8��A��M9�u�H�|$ �t$9t$�y�H�
��!��E����B����������D$����Hc�D�X�A)�E1�1�1�L�5��!L�L�
��!�I��C�lF�����A��D��	�A	�@��E��C��A�Hc�A��fB�GC�lF��A���I�HD��M9�u��t$9t$���H�
D�!��D��Hct$���t���E����E�c�A�M��H��I��A)�L�
��!1�I��H�-��!I�f�A���H��I����D��	����D��ƒ�A���V�����A���V���	������A���V�A���F�A�@��I9�u��t$9t$�����H��!�������D$����D�|-��H�|$(M��I�DA�/Hc�E1�A�H�D$ E1�1�A)�L�_1�Mc�L�5"�!L�
�!Hc��A�8��I��I����	�A�|0�����	���A��A���C�T8���A	�A�T(�E����C�A	�E��C����yxxx������)‰���Hc�)�Hc�D��A��A�C�A��A�C�A�@�A�T0�G�d8�E�l(���A�A�L9D$ �M���H�|$(�t$9t$�������E��E��H�55�!���B�B��ȺyxxxA���A�������D)ʉ���)�HcыL$D)��Hc�L��H�4�����Hc�A�E��M�D5A�E�0��E�p��A��A�������Hc�A�E��A�T5���������A�E�����R����D$���,A�Hc�D�`�E1�A)�1�1�L�L�5R�!L�
K�!�f�I��C�lF�����A��D��	�A	�@��A��A��A�Hc�A��B��C�lB�����I�HM9�u��t$9t$�X�H�
��!���ҋ�����D$���MHc�A�D�x�E1�I�l5A)�E1�1�1�L�5��!L�d5L�
��!��I��C�t����	�B�D@����	�C�����A��A�D	���A����yxxx������)‰���Hc�)�Hc�D��A��B��A��B�D�C�tB�TG���A���I�HM9��j����t$9t$�T�H�5��!����E�ҋ��B�����nHc�A�E��M�D5A�E�$0��E�,p��A��A���2�����Hc�A�E��E�T5A�Tu��A�����S�����A�E��������D$���Hc�A�D�`�1�A)�E1�1�L�L�5!�!L�
�!�yxxxA���I��G�\B���A����E	�	�E����A��C���������)‰���Hc�)�Hc�D��A��B��A��B�D�G�\B�A��E�߉�I�@M9�u�D�؋t$9t$���H�5��!���ҋ���H����OHc�A�E��A�T5E�Tu����A���]�����Hc�A�E��A�T5�����:����D$���'A�D�P�1�1�A)�L�5�!L�
��!A�yxxx�DH��A�T5����	���A����A������)‰���Hc�)�Hc�D��A����A��H�V�D�A�D5�I9�u��t$9t$����H���!�4��yxxx��A���A�������D)ʉ���)�Hc��R���E1�E1�1�1��D$������A�E�������(Hc�A�E��A�T5�����t���E1�1�1��D$�
���A�E�����H���1�1��D$�w���1��D$���1�E1����1�E1���E1�1�1�����1�E1�1��D$�~���1�E1���1�1��D$���1��D$�4�1��D$���E1�1�1�����D$E1�E1�1�1������D$E1�E1�1�1��
�E1�1�1��D$����E1�1�1��
�1�1��D$�T���f�H��D!���tR��t
�� ���H��~�1�L�
��!f�����Hc�D�����A�A��C��f�BH��H9�u��DH��~�1�L�
r�!f�����Hc�D�����A�A��C���H��H9�u��fDH���s���1�L�
.�!fD����Hc�D�����A�A��C����H��H9�u��@f.���AW(�AVAUA��ATI��US��H��H�=�g!H��t�D$�z���L$H��g!H�-�C!�\$gH��g!H��g!HcEH��g!H��g!��g!H��g!�D$`��H�3C!���tH�C!/����g!�H�E!M���D$f�L$fH��t����H�D$Xf�L��D���*����Y���}��I��H����H�8D�5(g!��HcxLchHcpHcHH��D!I)�LcEL�l$ L�McjL���Hc�A����H��Ic�H�H��I��H�D$PH���"H�D$ L�H�D�H�H��L��H�D$hK�D�H!�H��H�D$H��H�H��H�T$8H�D$@H����H�\$8H��H�\$(H�H��H�D$HH��tH��H)�H�|$(H�����L$H�D$@L�T$0H+D$HL�L$��H�D$Hc�H�xH�D$x�*���L�L$L�T$0H��H��e!��H�t$ N�d.�M�/L!�L�eLI�I��H�|$��H�|$��H�t$D�L$1�L�|$pI��H�N�H�L$0��\$8H��t
�\$(H9l$0AE�H����M���D$ A��M��D��D��H��P�t$0Hc�I��4�L|$ XZH9l$�H��B!L�|$pL�f�f���5O��~��A*�H�D$P�-���A*Of(���d!D$h��d!�^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D��H*�fD(��D��fA(�fAT��\�f(�fV�f���,��A*O�}d!�^�f��Z��X�f(�f(�fT�f.�v7�H,�f���%��fU��H*�f(����f(�fT��\�f(�fV�H�!d!�,��d!�D$@��c!�D$H��c!A�t�|$f��D$`L�=�c!��c!H�ĈL��[]A\A]A^A_�@H���OH��H�D$@�K����H�A!/r,��c!��"���H��I�H�D$P�������c!����@(�D���L$�/w���L$H��H�D$X���D$gH�L$X�5Cc!L�4@H�I��L�H�8�����o0)5�b!�op)5�b!�op H��@!��b!+�b!H��U)5�b!�@�\���!Ë�b!+�b!�Å��XI��Hc�H����|��I��H�|b!H���]H�D$XL��H��L�=ab!H�J�40�{�����H\$8����fDH��H��H�D$HH�T$(����f.�H+\$(H)\$8�u����f�f��5H��~��A*��-���*@f(��^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D���H*�fD(��D��fA(�fAT��\�f(�fV��,�f��f��A*O��a!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%��fU��H*�f(���f(�fT��\�f(�fV��,�H�a!L�=a!H�a!H��`!H�a!��`!�D$`�a!������Ao7H)�H��)5�`!�Ao)=�`!�Aow )5�`!L��`!L�D$ O�d�I!�I��D������Hc��z��I��H�h`!H��tsH�D$ M�7E1�J�D(�L�l$ H!�H��H���l���fDL��L��L��I��'���I��M�L9�u��D���H�O<!�
�D$`�7`!�9���f.�H�)<!E1��
�D$`�`!����H�|$X�D$gfo=�_!H�H�@H��H�:fo-�_!jfo5�_!r HH�|$xH����y��I��H�H���a���H�T$xH�5k_!H���x������5�_!(�D����}��H�D$XH���O����5q_!�L$�
���@f.���AWAVI��AUA��ATI��US��H��xH�=�^!H��t0L�L$�D$D�D$��q��L�L$�D$H��^!D�D$H�-�:!H�}^!H�z^!H�w^!HcEH�p^!H�q^!��^!�D$DH�8:!����Nf���*L$D�Y�L��D��L����{��I��H����H�8D�-q^!��Lc@LcxHcxHcpH��;!M)�LcML�|$ H�LcxL����Hc�A����L��Ic�H�H��H��H�D$XM���H�D$ H�H�D�H�H��L��H�D$`K�D�H!�H��H�D$H��H�H��H�T$8H�D$HH����H�\$8H��H�\$(H�H��H�D$PH��tH��H)�H�|$(H�����|$H�D$HH�L$H+D$P��H�D$Hc�H���}w��H�L$H��H��\!��H�t$ N�d>�M�>L!�L�eLI�I��H�|$��H�|$~�L$H�L$1�L�t$hM��I��H��H�L$0f��\$8H��t
�\$(H9l$0AE�H����M���D$ A��M��D��D��H��P�t$0Hc�I����L|$ XZH9l$�L�t$hf�f���5���~Q��A*�H�D$X�-��A*Nf(‰\!D$`�	\!�^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��DQ��H*�fD(��D��fA(�fAT��\�f(�fV�f��,��A*F��[!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%�fU��H*�f(����f(�fT��\�f(�fV�H�G[!�,��9[!�D$H�[!�D$P�[!�D$DL�5�Z!�p[!H��xL��[]A\A]A^A_�fDH��6!/r,�B[!���DH��~kH��H�D$H�^���DH�i8!/r4�
[!�X��i���f�H��H�H�D$X�������Z!�Y���1����H\$8���fDH��H��H�D$PH�T$(����f.�H+\$(H)\$8�Y����f�f��5���~(��A*��-Õ�*@f(��^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D>��H*�fD(��D��fA(�fAT��\�f(�fV��,�f��f��A*N��Y!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%ыfU��H*�f(���f(�fT��\�f(�fV��,�H�Y!L�5Y!H�Y!H��X!H�Y!��X!�D$D�LY!������Ao6H)�H��)5�X!�Ao~)=�X!�Aov )5�X!L�
�X!L�L$ O�d�I!�I��D������Hc���r��I��H�hX!H��twH�D$ M�.E1�L�t$ J�D8�H!�H��H���5���fDL��L��L��I��g�I��M�L9�u��
���fD�D$D�~X!�	���H�z4!E1��
��H�e4!E1��
�D$D�JX!����f.���AWAVAUATI��US��H��xH�=bW!H��t4�T$�L$�D$�j���T$H�5W!�L$�D$H�-�3!H�W!H�W!H�W!HcEH�W!H�W!��W!�D$DH�3!����@f���*\$D�Y�L����Xp��I��H����H�8D�-YW!��Lc@LcxHcxHcpH��4!M)�LcML�|$ H�LcxL����Hc�A����L��Ic�H�H��H��H�D$XM���H�D$ H�H�D�H�H��L��H�D$`K�D�H!�H��H�D$H��H�H��H�T$8H�D$HH����H�\$8H��H�\$(H�H��H�D$PH��tH��H)�H�|$(H�����|$H�D$HH�L$H+D$P��H�D$Hc�H���ep��H�L$H��H��U!��H�t$ N�d>�M�>L!�L�eLI�I��H�|$��H�|$~wH�t$�L$1�L�t$hM��I��H�N�H�L$0��\$8H��t
�\$(H9l$0AE�H����M���D$ A��M��D��D��H��P�t$0Hc�I��|��L|$ XZH9l$�L�t$hf�f���5�}�~A��A*�H�D$X�-א�A*Nf(‰�T!D$`��T!�^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��DA��H*�fD(��D��fA(�fAT��\�f(�fV�f��,��A*F�OT!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%؆fU��H*�f(����f(�fT��\�f(�fV�H��S!�,���S!�D$H��S!�D$P��S!�D$DL�5�S!�`T!H��xL��[]A\A]A^A_�fDH��/!/r,�2T!���DH��~kH��H�D$H�f���DH�Y1!/r4��S!�X��w���f�H��H�H�D$X�������S!�Y��?����H\$8���fDH��H��H�D$PH�T$(����f.�H+\$(H)\$8�a����f�f��5x{�~��A*��-���*@f(��^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D.��H*�fD(��D��fA(�fAT��\�f(�fV��,�f��f��A*N�8R!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%��fU��H*�f(���f(�fT��\�f(�fV��,�H��Q!L�5�Q!H��Q!H��Q!H��Q!��Q!�D$D�<R!������Ao6H)�H��)5fQ!�Ao~)=iQ!�Aov )5lQ!L�
mQ!L�L$ O�d�I!�I��D������Hc���k��I��H�Q!H��tcH�D$ M�.E1�L�t$ J�D8�H!�H��H���5���fDL��L��L��I��W�I��M�L9�u��
���fD�D$D�nQ!�	����H�i-!E1��
�D$D�NQ!������AWI��AVI��AUI��ATM��UH��SH���*f�����ZH�.!L���!��D�%��!D�-��!�*H��,!D�5l�!D�
D�=^�!�-T�!A��tvA���<A�� ��A�H��,!H�,!H�
�����H��1��o��1��H��H�=���Ok�������H��[]A\A]A^A_��D$��L�%��!M��I�jM��L�щ�M��M�Љ�M��L��A��I��D�6H���F��V�@�~�I9�t	E�1��@I��I��I9�tA���fDH��I��dH9�t���I���H���!I��L9�tA�?�u���f��D$H���!1����!���BH����@t�}�� t���t���t���t���t���t������������t��B}막-z�!H�s�!1�D�=n�!D�5k�!D�-h�!D�%e�!�K�!�f��BH����@t��� t�@��t�@��t���t���t���t������1������t��B�DH�5��!��I�jM��L�^dL��H��A��H��fD�H��f�z�H9�tD���H��I��I9�tA�9��fD�~�!H�w�!1���BH����@t���� t� ��t� ��t���t���t���t������a������t��B��DH��)!�������7������SH���b������1�L���!f�H��A��H��H��u�H�w*!H��
H�#)!D�
A����A����E1�1۾A�� @��AE�@�����!H���!1��D�BH����@t2�� t2��t2��t:��t:��t:��t:����tq���t��r��H�I*!H�HcZ��t4E1Ҿ���e����H�*!H�HcZ�����A��3���DA����A���H�5��!H���A�� taA�H�3(!H��'!H�

����H��1��k��1��H��H�=���f�������[�fDH��DH9�t�1�DA��H��H��Du���DH�Y�!Ic�L���!L���H�4H�I�fDE�1�f�A��D�H��H��Du�H��DI��H��DI9�u�[þ�A������H�
��!Hc�L�]�!H�J�<QL���H�4
I��E�1�f.�A�f�fD�H��H��Du�H��DI��H��DI9�u�[�H��&!������[�f���UH��SH��H���_�����{H��'!A�ډ��!�-��!�H�L&!D�
A����A��taA�� �'A�H�j&!H��%!H�
D����H��1��Bi��1��H��H�=H��d�������H��[]�f���!f���!f�-��!f���!f���!f�-��!f�-��!f�-��!H��[]ÐH�a'!�A�؉�H�5��!H�HcR��HE�H�
T�!H�1��5D��A�ȃ�A��D����A�������B�<�A��A��Mc�F����D�H���Z�@�z�D�B���u�H��[]�����!�-��!H��[]�DH�1%!������������SH���^����u!H��t01�H�
q�!�4�H�4�H��H��u�[�H��$!������[�H��$!������[�fD��SH���]����u"H��t11�H�
��!��4�H�4�H��H��u�[�H��$!������[�H�r$!������[�D��SH���S]����uH��t.�L�!�
J�!H�H�K[�DH�)$!������[�H�$!������[����S����\����uh��t#��t6����u>H��#!� [��H�y#!�[�f�H�a#!�[ÐH��#!������[�@H��#!������[�@��H�#!��f���S���T\����uX��t��t&��u1�/G![�D�G![�@�G![�@H�	#!������[�@H��"!������[�@����F!�D��AWAVAUATI��U��SH��hH�=�E!H��t�HY��H��E!f�L��H�G"!H��E!�*tF!H��E!H�~E!HcH�xE!H�yE!�,d����H���\��I��H���H�8D�-#F!��Lc@LcpHcpHcxH��#!M)�LcH�HcHI��A��Mc�A����L��Ic�H�H��I��H�D$HM����K�2H�D�H�H��L��H�D$PJ�D	�L!�H��H�D$H��H�H��H�T$0H�D$8H���H�\$0H��H�\$ H�H��H�D$@H��tH��H)�H�t$ H���H�D$8H+D$@H�L$�|$H�$�<$L�T$Hc�H���3_��H��H�)D!H���xH�L$L�T$I�D�I!�I�D$LH�I��H�<$D��M�'�@H�<$��H�$D�t$E1�D�T$H��L�|$XA��H�D$(L��I��L��I����\$0M��t
�\$ L9d$(AE�H����M��D$A��I��D��D��I��P�t$(Hc�H��,��Lt$XZL9$$�L�|$Xf�f���5Rl�~��A*�H�D$H�-��A*Of(‰0C!D$P�*C!�^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��D�u�H*�fD(��D��fA(�fAT��\�f(�fV�f��,��A*G��B!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%�ufU��H*�f(����f(�fT��\�f(�fV�H�hB!�,��ZB!�D$8�<B!�D$@�6B!L�=#B!H��hL��[]A\A]A^A_ÐH��~KH��H�D$8�s���DH��I�H�D$H�����H��H��H�D$@H�T$ �k���f.�H\$0�,���fDH+\$ H)\$0����f�f��5�j�~8~�A*��-�}�*@f(��^��Z��X�f(�f(�fT�f.�v<�H,�f��fU��DNt�H*�fD(��D��fA(�fAT��\�f(�fV��,�f��f��A*O�A!�^��Z��X�f(�f(�fT�f.�v7�H,�f���%�sfU��H*�f(���f(�fT��\�f(�fV��,�H��@!L�=�@!H��@!H��@!H��@!��@!�F���f��Ao7H)�H�$H��)5J@!�Ao)=M@!�Aow )5P@!L�
Q@!M��J�l	�L!�H��������Hc�H���[��H�$H��I��H��?!tJI�D�M�/E1�I!�I��H��������L��L��L��M����I��I�L9�u����fDH��!E1��
�p�����f��/�v.�ztH�u!�������f�/�v�H��!�H��!�1��f�����t��u#H��!�1��H��!�1��H�	!�������f.���AWAVAUATUSH���|$H�=0!dH�%(H�D$x1��D$t�D$8�D$�D$�D$H�SW��������H�~!����[���H��!�I��H�
{1�H���L^���H��1�H�=c��Z��E1�H�t$xdH34%(L����H�Ĉ[]A\A]A^A_�f.�D�|$D���]����tNE����1�H�0!H�
q�H����]��1��H��H�=��Y��H��!�
�k����HcD$H�@H��H��H�D$XH�D$(H�!H�Hp H�9!�Fp�������NxH�8��T��H��1��`Z���PH�D$ �1X��I��H���=H��|$H�@�@H�@�@ H�@(�@0H�@8�@@H�@H�1Y��H�H��H������H��H�PD�`�H�|�u�A�EH�<@H��H�L$P�D$`�W��H�L$PH��I�E��Icĉ\$LE1�D�|$HH�D$@H�D$tH�D$0L�l$�u@A�~A�v�K�C �{�s$�T$A9�H�C(DO��L$9�N�9�M��|$L���D$�D$89�M�1�H���t$8�fW��I�D$L;d$@�fH�MI��H�T$(D�d$<H��1�H�P!H�H�@ L�Lj�|$L�D$@H�T$0�T��A]H�}I��XM���D�R��H�t$K�dH��H�xL�n�uV��I�I�EH���H�uH���)P��H�u�|$�Q��A�NA�EH�D$HXA�F����CA�F����CA�Ff9�������L$LH�CH�C �Ήȉ�����H�9!D�D$�1�H�
���H���Z��H��1��H�=ؐ�{V��H��!H�t$ �
H���Z����Ff�D$f��f�Ff��tf���;����F�1���H�|$ 1��KN��� ���fDL�l$H��I��E��D$��H��!H�
u�PH��1��Z��A[1�]�H��H�=.���U���D$<�����t<H�HcT$<H�@A�D$�H)�H��H�,RH��H��`f�I�EH�|H��0�^M��H9�u�I�}H��t�KM��L���CM���T$tH��!�H�T$ H���R����Bf�D$h��f�Bf������f���/����B��� ���fDL�l$H��L�ME��D$��1�H��!H�
��P1�H���Y��AYH��AZ1��H�=*���T��HcD$<H�@H���	fDH��I�EH�|�wL��H�C�H9�u�I�}�eL��L���]L��H��!H�t$ �
H���l����Ff�D$j��f�Ff����������@D�|$HL�l$H��!D�D$`1�H�
1�D�L$��H���JX���1�H��H�=a��T��H��!H�T$XH�H�@ H�DH�P8H���D�@E��u �x��u�p(��u�H8�����H�|$ �����H�t$ �Ff�D$l��f�Ff��tf��������F�{���H�|$ 1��K���j���DH��!D�D$�1�H�
���H���qW���1�H��H�=���+S��L����J��H�L!H�T$ �
H�������Bf�D$n��f�Bf����������A�E1��R��I�EH���f����D$`�{���D�D$H�t$H��H��D�L$H�
�D�@H���D�HH����p(H����T$@�P8�D$P1�R�V��V��H�� �1�H��H�=���LR������BM��f���AWAVAUATUS��H��HdH�%(H�D$81���U�����`
L�5�!Hc�H�,@I�H��H�x H�H��:�����	L�?L���L���xI��Hc���P��I��H���Y
I�UL��H����O��Ic�A�<.tA�E�H��@H��H�P�A�|.u�A�DaH�5|sL��A�DfA�Dm�S��I��H���J
H�|$0H�|$�O���H�D$0I�H�@ H�L(D�iH�$A��Hc��(N��H�D$H����	D��H�$��D$x(H�t$�T$H��H�T��H�H��H9�u�E����A�E�E1�L�d$ �D$H�D@H��L�|$(M��I��H�$�H�l$A���0I�H�H�I J�L)H�qL�I��0H�t�L9<$tII�H�@ J�L(H�A��J�t8��J����y�I�Ic�A��H�I J�L)H�yL�I��0H�|�L9<$u�L�d$ L�|$(L��L����H�=���}R��I�L��L�
)rH�t�L��H�@ L�(1��bR��H�|$�8J��H����L��H��1��?R��L���:�H�=���R��L���Q�H�=���Q������M��H���L��H��1���Q�����O��H���L��H��1���Q�����&P��H���L��H��1��Q������L��H�݉�L��H��1��Q�����P���L��1��,�H����lQ�����%O��H�
$`�L����H�`H���HD�1��;Q�����J����H�� I���I����H�$��I����H�� I����I��H��E��L��AUL�L$���H�X�1���P��Z��Y�J���L��1��,�H�I���P�����mF���L��1��,�H�>��P�����O��H�B��L��H��1��P�����O��L���H�&�H��1��cP��I�L��H�x H�H�8�C��H�=���%P��I�H�@ H�D(H�@@D�`E���8�HD�ɉ$�BI�f�H�@ H�D(H�@@���f.��4�.���f.������L$H��L��1���O���D$����H�|$�D$L�%��H��H�l��fDH��H9�t\H�H��t�L�H�L��L����€���tԋP$D�@�L��H��R�P R�PR�PR�H�c�1��$O��H�� H9�u�L����H�=���N��H�|$�8D��L���F��1�H�\$8dH3%(��H��H[]A\A]A^A_�H�5iZ����F�����������$�D$ E1��$�D$����L$(��E���L$(1ҿ'H�� I��A��I�H�@ H�D(L�@@�A�D�HD)ȉ��1�)�9�}��A��H��9��D�����A��Ic�E�d�HD��D)ؙ1�)Ѓ��DM��D���������%�H�=ڊ��M�����H�5�]����E��������D$E1�H�5�a���E���$�����H�5�y���E������I�E1��D$ H�@ H�D(H�p@�ND�ɉL$(���D$��t��H�/�L��1���?M���$��t��H��L��1��� M���D$ ��t��H�
�L��1���M��E�����D��H���L��1����L������f��,�H��L��1���L�������,�H���L��1���L��I�f�H�@ H�D(H�@@���D�����C��I�E�D$��'H�� H�@ I��A��1�H�D(H�p@�	fDH�‹D�D)ȉ���1�)�9�}��A��H�BI9�u�D��ND�����L$(A��Icŋ|���D)ؙ1�)Ѓ��L�E1�ɉD$ �}���H�5}W����C������f����L$(�(���@����C��I�E�D$��'H�� H�@ I��A��1�H�D(H�x@�	fDH�‹D�D)ȉ���1�)�9�}��A��H�BI9�u�D�����A��Icŋt���D)ؙ1�)Ѓ��LƉ$���f.�����E1��sB��I�E�L$�1�H�� �'H�@ A��H�D(L�@@�	fDH��A�D�D)؉��1�)�9�}��A��H�AI9�u�D�����A��Ic�A�t���)Й1�)Ѓ��LƉD$����A�E��D$����A�غ�1�H�e!H�
ƅH���K��1��H��H�=2��G��������P���A�غ�1�H� !H�
!�H���K��1��H��H�=��sG��H��!�
��������A�غ�1�H��!H�
�H���gK��1��H��H�=���!G��H�J!�
��������A��H��!M��1�H�
\���H���K��1��H��H�=F���F��L���>��H��!�������O���A�غ�1�H�!H�
P�H���J��1��H��H�=��rF��������
����cA����ATUSH��P�|$H�=�!�t$H�T$�D$dH�%(H�D$H1��C������tuH�F!�����F���H��!�I��H�
�f1�H���J���H��1�H�=˅��E��1�H�L$HdH3%(H���7H��P[]A\�@�|$�_I���������Nf�/D$�_H�0!�D$1�H�HcD$H�,@H��H��Hj �D>��H��H����H��!f��f��H�{�Zh�Z`H�D$H����X�H�d$(�~U\�P�l$ fW�fW����@���l$ �d$(f(�f(�H�Ǹ�G��H��1��	F��H�M8f�1��D$DH��I��j�uD�D$$�|$L�L$T�XB��H��XA�D$Z��fA�D$f��tf�������A�D$�����L��1��o<���~���f.��|$�H����������\���f.�H�I!1���@���@��d�8[f��f�Ҹ�d$8�l$0�z?���l$0�d$8f(���D�D$�|$1��/G��H��H���[���H��!�
�����H��!�
����y>��f���AWAVAUATUSH��x�|$H�=�!H�t$�T$H�L$ D�D$L�L$(�D$dH�%(H�D$h1��@������txH�A!�����C���H��!�I��H�
�c1�H���G���H��1�H�=ڂ��B��E1�H�L$hdH3%(L���iH��x[]A\A]A^A_Ë|$�WF����������H�7!H�HcD$H�,@H��Hj L�eM���f�/D$���D$�|$1��.;��I��H�����D$�����Å�uH�|$��<����9ֺ!� H�=��!H��t��9��H�=��!H��t�9��Lc�L����>���L��H���!��>�����!H�m�!H�!f��f��I�|$�Zh�Z`H�D$(H�����X�H�d$H�~�X�P�l$@fW�fW�����<���l$@�d$Hf(�f(�H�Ǹ�D��H��1��uB������|$I����;��Hc���D$dLc�Ll$ L�l$8�>��H�D$0�D$ tE��~@H�D$H�L$0L�h�C�I��L�d�A�U�|$I��I��A�u��:��A�G�M9�u�H��H�M8f�A��jL��t$H�t$H�uH��$�PL�D$@�t$H�|$8��?��H��0I��A�F��fA�Ff����f����H�|$0�8��D�D$dE����M���T����1�H�5��H�=��@��H�)!�T$d��(���fD���+���H�=��!H�5��!�K�1��H����H�P��H9�u���f��|$�gC�����	������f.�H��!E1�����A�F�"���L��1��s7������fDH�� H�
\�1��H���VC���1�H��H�=!�?��H�9!�T$d�M���1���L��1��>���"�����_�Vf��f�Ҹ�d$X�l$P�Z:���l$P�d$Xf(��e���D�D$�|$1��B��I��H���Q���H��� �
����H��� �
���fDH��� �����A9�����ATUSH��P�|$H�=�� �t$�T$�L$�D$L�D$ �:������teH�.� ����>���H�m� �I��H�
�^1�H���A���H��1�H�=�}�=��1�H��PH��[]A\���|$�WA��Hc؃������Sf�/D$�tH�%!�D$1��|$H�H�[H��HB L�`�96��H��H����H��� f��f��H�{�Zh�Z`H�D$ H���*�X�H�d$0�~JT�P�l$(fW�fW����y8���l$(�d$0f(�f(�H�Ǹ�?��H��1��=���T$�t$H��H��1��=��f��H���*\$�D$�!�D$���D$u_�E��f�Ef��tf��������E�����H��1��a4��H��PH��[]A\�D�|$�?����������d���f.�H��� (�H��L��H�HcD$H�@H��HB �������6��H��H����4��H���U���@H�q� (�H��L���\$<H�HcD$H�@H��HB �������6��H��H���4���\$<H�����H�� (�H��L���\$8H�HcD$H�@H��HB �������A6��H��H���&4���\$8H������H�)� 1���8���@��[�Rf��f�Ҹ�d$H�l$@�Z6���l$@�d$Hf(�����D�D$�|$1��>��H��H���F���H��� �
����H��� �
���@f.����W3�����H��H���>@����f���*J�Y��,�f���*J�J�Y��,ɉJH�RH��tf�
��tǀ�u�f���*J�Y��,�f���*J�J�Y��,�f���*J �J�Y��,�f���*J$�J �Y��,ɉJ$H�RH��u�À�uUf���*J �Y��,�f���*J$�J �Y��,�f���*J(�J$�Y��,�f���*J,�J(�Y��,ɉJ,�������-���f���*J�Y��,�f���*J�J�Y��,�f���*J �J�Y��,�f���*J$�J �Y��,�f���*J(�J$�Y��,�f���*J,�J(�Y��,ɉJ,���Df.���UH�-�xSH��H���#f.�<t[<��H�[H���"�<u�Cf��f�H���*C�^(y���*ȸ�^
y��8���<u��Cf��f��*CH�5sx�^�x���*ȸ�^
�x�8���<�f����Cf��f��f��f��f��f���H�5ax�*�C,�^-�x�*c�^%}x���*S(�^nx�*؋C$�^_x�*C �^Rx���*ȸ�^
?x�8��H�[H������H��[]�@f.���1�1�����t��t��uG W$G(W,GW�G�WH�H��u��f�f.���1�1��:fD<u'�G)W()O,��)W )�)O$�‰w�wA��A)ȉ�D�GH�H��t,�<t<u��G��)֋W�w��)Ήщ‰wH�H��u��Df.���UH��SH��H���<uH�sH�{����<uH�sH�{����<u-H�s$H�{ ���H�s,H�{(���H�sH�{���H�[H��u�H��[]����/������'.���AWAVAUI��ATUS��H��H���e0��Hc�A��H�P� H�H�H��HB H�@H�X(D�cfE��tVH�� A���Mc��@��H�� A9�t4�SD9�u�H�sL��L���-����u�H�CH��!�C��!��1�H����[]A\A]A^A_�f.���AWAVAUATI��USH����|$�T$ �L$`L�D$hL�L$pdH�%(H��$�1�Ƅ$�Ƅ$��j8����$�����M���:H�|$p�.�D$`��=��H�|$h�H��$�H��H��D�H��H9�u�E1�L��$�1�H�l$L��$�L�t$H��M��M��D�l$�DI��I��tUC�<4t�B�3H�L$L��D��D���/��������$�I�������$����I��u�H��$�H�l$E1�E1�E1�L��$�H���@��u:��usI��I����B�;�Ճ���t׋|$A��A���.7��@��t=M���L��A��H��� I��LA�PI�pL���+3���EƄ�L��H��H�=�j��€���DD�I��I���k����D$ D�l$X��?��|�{2���|$�21��H�5DH���*��H�D$HH����D�L$ H�� H�
�s�D�D$�H�D$H��1��6���D$x�<H�D$0H�w� �H��$�dH3%(H�D$0�gH���[]A\A]A^A_�H��tH���s)��A��D���W5��H��H�������@������H�U��H�@H�BH���f.�H��Hc���H��H9�u����H�D$0H��� �
�H����D1���|$�/��H�5�BH���L)��H�D$HH����H��H��� �H�
Gs�t$pD�L$0�D�D$H��H�D$(1��U5��XZ�D$xL�|$�H�=�q1�L���1��H�|$H�f3���|$H��H��$��b/��I��L��I��H�
s�1���4���L��1�H�=�q�0���H���-��H�D$0H�j�!H����HcD$�D$P1�DŽ$�H�@D��$�L�t$0H��H�D$8DLc�H�T$H�K�<>�*0���D$�D$0��$����qH��� H�L$8H�H�@ H�|8t(1��H�5�rH�=�p��/���D$ ����D$ L�-��!H�5�pO�d=M��L���p3��H���oH�5�@L���X3��H�����D$ �<fo�xA�D$<��<H�ef put} I�D$0A$fo�xA�D$8for
AD$fo�xAD$ E1�E1�Lc�D�|$�f.�I��I��tSB�+t�A��D��A����2��H�=ݧ!E��H�
pI���1�I��L�H������3���Lc�I��u�E�����
L5��!A�
H�readonlyI�H�
�o1�fE�~L�|$A�F defL���2��L��1��H�=bo�m.��L�->�!��+D$Lc��D$@M��O�d=�D$P�%�-���|$�,��H�5�?H���&��H�D$HH��tIH�����D$hH�
�oPH��� D�L$0D�D$H��H�D$(1��2��Y^�D$x���H�D$0H��� ��x���f���0���������L�t$A��1�H�
p�L���1���L��1�H�=_n�j-����$��=���fD�H�54pH�=5n1��>-��L�-�!�l$@�D$P�l$0M��O�d=H�5UnL���0��H��tƄ$�A�RDO�d=fD��$�M��H�5&nL���0��H��tƄ$�A�NDM��fD��$�O�d=H�5�mL���Z0��H��tA�-|Ƅ$�M��O�d=fD��$�H�5�mL���'0��H��tA�|-Ƅ$�M��O�d=fD��$�H�5�mL����/��H���D�L$E������H��� H�L$8�H�H�@ H�DH�@(�x�)��H�D$0H���v�|$H�5�c�%���A�ą��#
D���!L��$�Hc�1�H�
m�L�L$PH=��!H�������/��Hc�!H�5|�!D�lH�-`�!I��Ic�H�E��)��Ic��1�L��$�H�1�H�����H�
�fL�D$X�x/��H�L$0H�\$A�Ic��D�H��$�H�D$@�G��|$@����.���|$H��H���D�������H�L$0H�L�\�A�;L�\$ �QH��H�=��!I��1��t$XD�
��!H�
)lH�����L���.��L�-|�!Hc��!F�$0H�5z�!Ic��T$HL��(���L$HL�D$h1�H������A�H�
�eIc�L��.��L�\$0I��E��Aĺ�D��A�H�
�mMc�D)�E��$��!PH�D$(�(PH�\$81�H���5.��H�� �1�H��H�=�j��)��H��H����H�D$A��Mc��(��tܨ�����H� � I��H�\$@�I��L H��I�t$A�T$�)��A�D$�|$H��Ƅ�����s���I��H�\$E���H�
�l�H��H���w-���H��1�H�=&j�1)��H���J���H�|$0D���� ��H��$�H��tH���� ��A��L�|$�1�L-ġ!A��cfoprH�
!mD��+�$�E��L��AEfo\rA�پA�E`le
AEfoOrAE foRrAE0foUrAE@foXrAEP�,��1��L��H�=Mi�X(���|$x����f�҃|$x�*T$`Lc�uI���=�H�|$�~=�H)|$ �_q�t$�^��T$ f(�f(�fT�f.�v+�H,�f���%?fU��H*���fT��X�fV�L�|$H�,ؾH��$�H��H�D$0L����*��L��Hcۉ�H���&������Hc�HþL���|$��I��H���	H�{��b$��I��H���'D�D$x�q��f�=�!E����Hc�$�D9���
L��H�5�!H)�fD��H��A9��D+�$�Ic�I��H�F�A�<
t	A�7
A����A�$0��$�Hc�D�D$`I�4��t'����P�0A9��^��Hc�I�4��u�A�|�
t���
Hc�L�H�cleartom���Fark
H��F�D$��u��$�<
tf<
tbH�\$A��1�H�
�j�H���M*��H�޺1�H�=�f�&��Hc|$H�L$01�H������H��L��*��É\$�|$x����$��A�l�D$D�tIc�H���"��H�D$0H�����|$x���D$�E��H�
"l�P1�AUD��$�H�|$(�)��XZH�t$�H�=Cf1��L%��Lc�$�H�|$0H�5�!L���`#��H�D$0Ic�L��J�<0�L#��HcT$Hc�L��H|$0�7#��H�D$pH�I��H�\$�1�L��$�H�
�k�H���)���H��1�H�=�e�$��L�����L���~��H�=�!H���]��i���S�@I��H�\$E���H�
�h�1�H���(���H��1�H�=Ie�T$���d�����l$@�l$0����Hc�1�A�
�P������l$@L�d$�1�H�
Eg�D��$�A��L��D+�$��(��1��L��H�=�d��#���|$XH�=��!H�
,gA��H������1�L�E����'����s���Hc|$0H�T$H�I��L��v#��AljD$D������D�d$ 1�L�5>�!H�\$0D��$�A��L��A�����D$P�4DA��A)�Mc�E��tFH��!H�5.dJ�<+��&��H��u7E��~2Lc�H�T$H�J�<+��"��A��E��t��E��u��&����DO��D�t$H�\$0D��$��D$P���w�1��H�5�eH�=�c�"��L�-x�!��+D$Lc��D$@M��O�d=�g���1��|$x�q���Q��f��1���A�7H���fi�m�f�XH��u܋�$�f�"�!D9��k	Hc�L��H�=�!H)�f���f��2D���LH��D�fi�m�f�XA9��D+�$�f�˚!E�nIc�H�F������$�<
�R���<
�D����E���Hc�f���*T$`H�TH����f���H*��^��~5nB�-B)t$ f(��l$f(�f(�fT�f.����D,�Mc�I��:���H�|$h��f���H*T$hf��\$ �|$�*�$��^�f(�f(�fT�f.�v+�H,�f���-:8fU��H*���fT��X�fV��,�f��\$ �l$�A*ʼnD$P�^�f(�f(�fT�f.�v+�H,�f���-�7fU��H*���fT��X�fV�f���,��D$ �t$�*L$�D$8�^�f(�f(�fT�f.�v+�H,�f���%}7fU��H*����fT��X�fV��,ًD$PD$8Ic�Hc�$�HcT$H�t$`H�L$X؉\$�<@H�D1�H�T$x�H�Hc�H�����H�D$0H����1��H�5�dH�=�`����D$P�����X�E1�1�E1҉\$ H�c�!D��D��$�E��A��H�\$@�\$hL��$�A��\$HH�\$0L��$��@Hc���D�aHc�H�Ic�A��f�0H�Ic�Ht$@�hA��Q��B�L%E9����l$HD;|$ u�H�D$X1�H�t$h���H��E����D$H�
eP�D$pP1�AUD��$�H�|$8��"��H�� �S���H��� H�|$0��p��H�|$H���H�D$0�G��H,�f���-�5fU��H*����fT��X�fV����H�\$hf��H�؃�H��H	��H*��X����Lc�D��$�L��$�L��$�M��Lt$0H�l$hE�кH�
c�U�D$XPH�\$(1�D��$�H��D�T$0�"��XH��Z1��H�=�^����D$8D�T$ ������1�E1��l$@D�l$HE��A��H�l$0L�d$XE��D$ D�T$P�AIc�A��Ic�Hc�H�L�A�A��fD�0E�p�XIc�H��}��F�3D9d$8���\$@D;d$ u�H�D$`1�H�t$h���A�9�DE1�1�E1�L�YeH�Rd��A�}E�Bf��1����Ic�fi�m�A�4A�UHc�Hc�L�f�XD9D$`t<D�
A��D9T$`uDA��A�7
E1�Ic�����t2��f��1���A�4D��A���
A�E�7Ic���A���Ƌ�$�f�D�!D9���H�5,�!Hc�Ӊl$A�L��d�l$`H��cH�H�TI��$A��D�
D9�uqA��A�7
E1�Ic�H��I9�t^��Ic�E�Bf��@21@��A�<3�D�3fi�m�A�<A�UA�}Hc�Hc�f�XL�D9�u�A���
A�E�7Ic��A���f��!�l$A�|7�
���A��A�7
Ic�H�F���D�T$PMc�D�l$HL�d$XL��Lt$0E)�t$h�D$@E��H�
�`��PH�l$(1�H���a��AZ1�A[�H��H�=\����D$�����1ɉ\$@A�؉D$ �D$hE1���L�|$HL�l$0�D$8�=Ic�A��E�xHc�L�Ic�Hc�L�fD�L��A���h����F�D=D9t$t�l$8D;t$ u�H�D$x1�H�t$h��먋\$@Mc�L�|$HL��Lt$0A)�t$h�D$�H�
/`�PH�\$(1�D�L$H���u��Y�^H�='[H��1��-�����C 1�fo
dfA�>H�޺H�=�Zfo�cC�]����H�D$pHc�H����H��f��H���H*��X��.���H��� H�=��!�
���L���w��L���o��H�D$0�P�H��� �
�>�H��� H�=I�!�
�6��H�|$H�\����H��� H�=!�!�
���H�D$0���E1�H�����1��9�H�H� H�=�!�
����L������H�D$0����E1��s���L�t$0E1�����D��E1��q����A�������f���ATI��UH��S���[������H��tmM��thH���������H�=?�!H��t�5��Hc-B�!H�����H��H��!H����H�5$�!H��H���a��A�,$H��[H��]A\�f�H�I� 1��H��[]A\�f�H�)� 1��
H��[]A\�f�H�	� A�$1����H��� A�$�
�|���fD��SHc߉��Q����u,H�=� H�H�[[H��HB H�@H�@0����fDH��� �
�����[�f.�f��+H�5DaAV�AUL�-W� ATA��I��U�+S1�H��tI��L��������u[D��]A\A]A^�x>A�^9�����t�+����A��Hc�I�t�H��u�A�+[]D��A\A]A^�fDA�n�9����DAUATUH��SH��H�������� t�	t�P��vf1�A�H�@H��H���t'H�D�!H��D�c�����P��w�I��s�Ic�H������H��!�H��[]A\A]�@�H1�H��s��͐AUATUH�&SH��H��f�H���(���� t�;��H��r�P�1���fDI�L�@H��H���tuH�|�!H��D�m�*�����P��<w�I��sσ�:uIH�S�!Ic��*H��H��[]A\A]�fD1�1҃��u�H��H��[]A\A]�H��!���Ic�H�މ��t��H���!뫐f.���AWAVI���AUATUSH��HH�4$��T$����H���!H�����P�����H��H�$H�(H�����D$ucH�]�D$L�-�^H�-�_A�����L��1��q���I��H����
L��1�H���O������*����HcD�H�>��@�p��9��H��H�EH��u�A������
f��D$A�f�A����A����� ���	1�L�����H����	H��1���������H�
�_Hc�H�>���k�����
�Z���f�A���1�L�������|$�D������!�fD���D$AEljD$�M���D1�L���>����D$�H�$H�(H�]8E1�E1�L��1�����H��H����1�H�������������H�Q_Hc�H�>���D�����|$���!��c���1�L������D$ ��H�$H�(L�mH�D$ E1�E1��D$�D$f�L��1��v���H��H���:�]@D9���1�M�����������������H�5�^Hc�H�>��1�L���&����D$��H�$L� I�l$(E1�E1�H�_L��1����H��H����1�H�������������Hc�H�>��fDE9l$ �mD�|$�A��������=���DL��1�����@E��u�E9l$ �x�����fDHcD$�t$H�@H�EHH��9t �QA���������fDL��1��������D9��w���L��1�����H�MHH��HcD$H�@H�NjD$H��H�9B �����DE��D$ ��u��H��0�|$H�H��H�T$ A��H�t$���H�x����H�T$ H�t$H��H�B�	��L��1����H�MH�
1�H��H�H�L$���H�L$H]H��A Hc{ �w
���D$ H�C(�D$����fDE�������D9��6�������D9e0�v���L��1�����H��H�D$��
��Ic�A��L�,RH�U8H�xI��L�H�T$���H�T$H�t$H��H�����L��1�����H��H�D$�
��H�U8H�xL�H�T$����H�T$H�t$H��H�B���L��1�����
1�Lm8H���w
��A�E�L���fDD9e0�����L��1��T���H��H�D$�
��Ic�A��L�,RH�U8H�xI��L�H�T$�S��H�T$H�t$H��H����L��1�����H��H�D$�	��H�U8H�xL�H�T$���H�T$H�t$H��H�B����L��1�����H�M8�
1�H��L�H�L$���H�L$L���A1�����
1�Lm8H�����A�E�W���f�L��1������?���������������*�����
�!���E�������D9e0�0����{���A���������DA��������D������������v���L��1����H�$�
1�H��H�����D�d$�CA����H�$�D$��H�H�hE1�H�#[�1�L�����H����H��1�H����2�����(����Hc�H�>��D��������������������6�������|$�A����������DL�<$�
1�H��I����I�/��C0Hc}0�	��H��H�E8H����������f�L�<$�
1�H��I��
��I�/�0�C@Hc}@�	��I��H�EHH��������t����L�<$�
1�H��I��z
��M�'��C Ic|$ �u	��H��I�D$(H���E����2����L��1��>���Ic�1�H��H��H���
H�L$IL$(H�L$�
��H�L$L���1�����1�H�����H�L$I�D$(f���Z��L�Y�������L���8"H�D$DD�1����1�H���d��H�L$I�D$(L��f�Ҿ�����Z��TH�D$�8"DD�1����1�H���'��H�L$I�D$(L��f�۾�����Z��\H�D$�8"DD�1�A���@���1�H������I�D$(H�L$f���Z�����dH�D$�8"DD������L��1�H�L$(���H��H�D$8���Hc\$H�L$(H�UHH�xH��H�L$0H��Ht
(H�t$(��	��H�T$(H�t$8H��H����L��1���H�L$0H�UH1�I��H��LD
(�
L�D$(�s��L�D$(L��A�@1��`�H�UHH�L$01�H�ǃD$H\
(�
�>���C���fDD�����Ã|$�t9��t5H�=�!H��t����H��!H��HD��[]A\A]A^A_��D�|$�ĐA�������A�����D�|$���L��1���
1�H������Cd�$���L��1���H��I���J��H�x���L��H�C H���r�����L��1����H��I�����H�x���L��H�CHH���@����L��1��1�
1�H���"���CD��L��1���
1�H������C@�~�L��1����H��I�����H�x���L��H�H�������M�L��1���H��I���s��H�x����L��H�CPH�������L��1���1�H���2��f���Z��k(�����8"�D$ADĉD$���L��1��R�H�=�H������������C,��L��1���H��I������H�x�>��L��H�CH�������L��1��P�H��I�����H�x���L��H�CH�������M�L��1���
1�H�����L���C01���
1�H�����L���C41���
1�H���w��L���C81��j�
1�H���[���C<���L��1���H��I�����H�x�e��L��H�CH���&����L��1��w�H��I������H�x�3��L��H�CXH�����t�L��1����
1�H�������Cl�S�L��1��$��D�L��1���
1�H������C`�#�L��1���
1�H������Ch��L��1��s�L��1��i�L��1��_�L��1��U����D�������L��1������L��1��,�
1�H�����A���}���1�L����E���j���Ic�1�H��L�l��
����A�E�J���L��1�A��������L��1�����+���H������H��H�CH���������@A��������L���L��1�H�=�O�t���D$������������	�����������A��>�H�$�0L�(Ic}�9��H��I�EH������D$E1�H�/S�D$�1�L�����H������H��1�����(�<��Hc�H�>��L��1����
1�H������E�L��1����
1�H�����L���E1����
1�H���s���E�s���L��1��a�H��I������H�x�}��L��H�EH���>����A���H�U(L�e(H�������)��L��I�$1���H��H�D$(���I�$H�xH�T$ ���H�T$ H�t$(H��H�����L��1����H��H�D$ ���M�$$H�x����H�t$ I�D$H��������@H��H�BH��u�L�b�[���E��u�D$A9E�p�A��������L��1����^���D�d$E9e~ۋT$H�E0L����HD�1�A���/��
1�H��� ��D�d$�E�D$����L��1����
1�H������L���E1�����
1�H������L���E1�����
1�H�����L���E 1����
1�H������E$���A����������H��H���DLdiv:  dividend too largedivide algorithm errorFPmult: overflow, %dx%d
FPdiv: overflow, %d/%d
FPstarslash: overflow, %d*%d/%d
Beziers this big not yet supportedCharstring "%s" needed to construct composite char "%s" not defined (FontID=%d)fontfcnB():FontMatrixFontBBoxX��@��X�����h��h���?bad subpath chain  ref=(%d,%d), width=(%d,%d), %c %c %c %c, label=%d
  vertical hint  horizontal hint  idealWidth=%d, ComputeHint: invalid hinttype  hintValue=%dProcessHint: invalid label  label=%d, thisHint=(%d,%d)
  hint=(%d,%d)
disjoint subpath?unable to fix subpath break?BEGIN Subpath. Downgoing edge's top at %p
. . [%5d] %5d    @ %p[%x]
. . [%5d] %5d     "
. Upgoing edge's top at %p
. . [%5d] %5d      "
ImpliedHorizontalLine:  why ask?  Hint %d was open, hint=(%d,%d)
  hint not vertical or horizontal  currX=%d, currY=%d, currRef=%d, currWidth=%d
ComputeHint: invalid orientationProcessHint: label is not in useProcessHint: invalid adjusttype.....StepLine: (%d,%d) to (%d,%d)
Lines this big not supportedUNKNOWNlinestylefontpicturepath (from StrokePath)regionNon-positive allocate?malloc attempted %d bytes.
Allocating at %p: %x %x %x
Free of already freed object?Freeing at %p: %x %x %x
ARGUMENT ERROR-- %s.
Pragmatics name too largeALLLINEIOTRACETRACECALLSCHECKARGSPROCESSHINTSSAVEFONTPATHSCRASTERCOMPRESSIONTYPECRASHONUSERERRORCONICDEBUGLINEDEBUGREGIONDEBUGPATHDEBUGSPACEDEBUGSTROKEDEBUGMEMORYDEBUGFONTDEBUGHINTDEBUGIMAGEDEBUGOFFPAGEDEBUGCACHEDCHARSCACHEDFONTSCACHEBLIMITCONTINUITYPragmatics flag = '%s'
Pragmatics:  flag not knownBad object is of %s type %p
Copy: invalid objectPermanent(%p)
Temporary(%p)
Dup(%p)
Destroy(%p)
Destroy: invalid objectConsume:  too many objectsReverse: bad path segmentUnClose:  no LASTCLOSEDQueryPath: unknown segmentQueryBounds: unknown typenewedge: height not positiveInterior: path type errorUnwind:  uneven edgesnegative sized edge?splitedge: above top of listsplitedge: would be nullnull splitedgevertjoin not disjointSwathUnion:  0 height swath?discard():  ran off endUnJumble:  unpaired edge?Context:  out of themMatrixInvert:  can'txiStub calledINVALID (previously consumed?)We have REALLY run out of memoryTerminating because of CrashOnUserError...path or region (from TextPath)Suspect that InitImager() was omitted.Destroy of immortal object %p ignored
Wrong object type in %s; expected %s, found %s.
Illegal access type1 abort() messageFundamental TYPE1IMAGER assumptions invalid in this portPathTransform:  invalid segmentKillRegion:  negative reference countTighten: existing edge bound was badTighten: existing region bound was badEDGE ERROR: non EDGETYPE in listEDGE ERROR: overlapping swathsContext:  QueryDeviceState didn't workQueryDeviceState returned invalid orientation�<���<��=���<���<���<���<��=���<��CopyPath: invalid segmentKillPath: bad segment..Loc(S=%p, x=%f, y=%f)
Loc..ILoc(S=%p, x=%d, y=%d)
SubLoc(%p, %p)
SubLoc: bad first argSubLoc: bad second arg..Line(%p)
Line: arg not a location..Bezier(%p, %p, %p)
Bezier: bad BBezier: bad CBezier: bad DHint: orient not 'h' or 'v'..Join(%p, %p)
Join: right arg not anchorJoin: left arg not anchorClosePath(%p)
Reverse(%p)
Reverse: invalid pathpath = %p
ReverseSubPaths(%p)
ReverseSubPaths: invalid pathQueryPath(%p, %p, %p, ...)
QueryBounds(%p, %p, %p, %p, %p, %p)
QueryBounds:  bad XYspaceQueryBounds:  bad objectDropSegment(%p)
HeadSegment(%p)
HeadSegment: arg not a pathClosePath forced closed by (%d,%d)
QueryLoc(P=%p, S=%p, (%f, %f))
QueryLoc: first arg not a locationQueryLoc: second arg not a spaceQueryPath: arg not a valid pathDropSegment: arg not a non-null path�V��HW��8W��(W���V���V��8Y��Z���Y��hY��@Z��8Y��8Y���_���_��$`���`���`���_���d���e��le���d���d��e���?�?discard:  l=%p, r=%p
discarding %p
result=%p
splitedge of %p at %d yields %p
.  INTERIOR(%p, %d)
Interior: bad fill ruleInterior:  bad pathInterior:  path not closedFill: sub-path not closed...Unwind(%p)
SortSwath:  disjoint edges and %pAllocating edge of %d pels
BoxClip of %p:
    NULL area.. at %p type=%d flag=%x. Swath from %d to %d:
. . at %p[%x] range %d:%d, subpath=%p,
. . . Y[%5d] %5d Dumping area %p, X %d:%d Y %d:%d;....new edge: ymin=%d, ymax=%d Change Y direction (%d) from (%d,%d), dy=%d
SortSwath(anchor=%p, edge=%p, fcn=%p)
SortSwath:  in between %p and %p are %pswathxsort: exactly equal edgesSwathUnion entered, before=%p, edge=%p
SwathUnion is overlapped until %d: before=%p after=%p
SwathUnion starts disjoint: before=%p after=%p
BoxClip:  left clip old %d new %d
BoxClip:  right clip old %d new %d
BoxClip:  top clip old %d new %d
BoxClip:  bottom clip old %d new %d
 bounding box HxW is %dx%d at (%d,%d)
 origin=(%d,%d), ending=(%d,%d)
StandardEncodingduptruefalserbFontNamePaintTypeFontTypeUniqueIDStrokeWidthversionNoticeFullNameFamilyNameWeightItalicAngleisFixedPitchUnderlinePositionUnderlineThicknessBlendAxisTypesSubrsPrivateBlueValuesFamilyBluesFamilyOtherBluesBlueScaleBlueShiftBlueFuzzStdHWStdVWStemSnapHStemSnapVForceBoldLanguageGrouplenIVRndStemUpExpansionFactoreexecexclamquotedblnumbersigndollarpercentampersandquoterightparenleftparenrightasteriskpluscommahyphenperiodzeroonetwothreefourfivesixsevensemicolonlessequalgreaterquestionatAFIJKMOQUZbracketleftbackslashbracketrightasciicircumunderscorequoteleftjquvwbraceleftbarbracerightasciitildeexclamdownsterlingfractionyenflorinsectioncurrencyquotesinglequotedblleftguillemotleftguilsinglleftguilsinglrightfiflendashdaggerdaggerdblperiodcenteredparagraphbulletquotesinglbasequotedblbasequotedblrightguillemotrightellipsisperthousandquestiondowngraveacutecircumflexmacronbrevedotaccentdieresisringcedillahungarumlautogonekcaronemdashAEordfeminineLslashOslashOEordmasculineaedotlessilslashoslashoegermandblsԇ�����\���Ԉ����������ć���������T�����������T���T���T���T���T���T���T���T���l���l���}?5^�I�?���Q��?�M"=��u=Untransformable objectTransform(%p, %f %f %f %f)
Scale(%p, %f, %f)
QuerySpace: not a space000%x%s%d.%sx   [  %d  %d ]
--Coordinate space at %p,ID=%d,convert=%p,iconvert=%p
             |  %12.3f  %12.3f  |�@�?�cleartomark=��D��2
�1��S�2�"��}t3R�VU��D3&����y3�����3��V�3�3A����4�W��bO4��vo���4��T��4M�)�`��4p�X�'#5L�o��W5��Jz�5��n��5�/v�Ob�5λm�:-6aU,$�Db6�j7�֖6gE����6aKSO1�79(��L67�%�=�k7�Ww'&l�7�-U�/��7�x���88���B�A8r.-��Du8z�����8IL�����8\�w��93���#�I9�h�e�9�9���KH�9G���^Z�9`P���:<�6��S:ˮ�@ˆ:�}���:�����W�:Q�@�-(;�^ 9^;O�
��;#B����;�ҶOɃ�;�C��]r2<��FF�g<��ؗ�Ҝ<V瞯�<�+����=�vIh�%<=�-���q=�dy���=�����|�=��&�.>:�0�yE>H�����z>���ư>�h㈵��>-C��6?����MbP?{�G�z�?�������?�?$@Y@@�@��@j�@��.A�cA�חAe��A _�B�vH7B��mB@�0�B�ļ�B4&�kC��7y�AC�؅W4vC�Ngm��C=�`�X�C@��x�DP����KD��M��D�J��-�D���yCx�D�(,*� E52��TE���qىE�/�'�E!���1�Eꌠ9Y>)F$���_Fn����F��F"��F|���F�M�raB3G� y�hGiWC��G��*���GJ��H�\��)c=H�7�]rHa���x��Hy��ֲ�HL}�Y��I�\C�kFI�3T�|I\���'��Isȡ�1��I�:�~^J�d~�QJ���v�a�J0}�G��J>n�ll��J�����$KA�j�ZK�=P�1P�KM�Z>d�KW`��M}�Km�n��/LD�����cL��^�L�p�u�L�af�irM�������?$@Char "%s": FindStems: No previous point!RLineTo: No previous point!SBW %f %f %f %f
EndCharRMoveTo: No previous point!RRCurveTo: No previous point!RMoveTo(h) %f %f
RMoveTo %f %f
RLineTo(h) %f %f
RLineTo %f %f
RRCurveTo %f %f %f %f DoClosePathPSFakePush: Stack fullHstem %f %f
HStem: Too many hintsVstem %f %f
VStem: Too many hintsCallSubr: subrno out of rangePushCall: Stack fullReturnPopCall: Stack emptyDotSectionSEAC %f %f %f %d Div %f %f
CallOtherSubr %d
FlxProc: No previous point!FlxProc2: No previous point!PSFakePop : Stack emptySetCurrentPoint %f %f
Escape: Unassigned code %d
DoClosePath: No previous point!StartDecrypt: Premature end of CharStringDoCommand: Stack low (Code=%d)
DoCommand: Stack low
 (Code=%d)CallSubr %d (CallStackSize=%d)
DoCommand: ESCAPE is last byteInvalid accent ('%03o) in SEAC
CallOtherSubr: PSFakeStack lowDoCommand: Unassigned code %d
Decode: Premature end of Type 1 CharString|��������������@���@��������L���P)��8$��P)��x$���$���$��0%��h%���%���%��&���&��8'��x'���(���(��P)��P)��P)��P)��P)���'���'��P)��P)��P)��P)��P)��P)��P)��0(���(��)+���*���-��-.��-.��-.��\+��}-��-.��-.��-.��-.���)��-.��-.��o*���)��l)��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��-.��)���������?@�h㈵��>0C@��y��y�?�������?����MbP?@ @��Y@�������t1_abort: Reason: %sT1_GetCharBBox()K���(%c) %s: intT1_scanFontDBase()inT1_scanFontDBase()intT1_scanFontDBaseXLFD()inT1_scanFontDBaseXLFD()T1_CloseLib()Library closedT1_AddFont()T1_CopyFont()T1LIB_LOGMODElogDebuglogStatisticlogWarninglogErrorwbt1lib.logHOMET1_InitLib()Initialization started5.1.2Version Identifier: %sInitialization flags: 0x%XGlyphs are padded to %d bitsSystem-Info: char is signedT1_GetFontFilePath()T1_GetAfmFilePath()Type 1 Font File Open ErrorVirtual Memory ExceededPath Construction ErrorFont is CorruptRasterization AbortedOperation not PermittedMemory Allocation ErrorError Opening FileUnspecified T1Lib ErrorMissing AFM DataX11 Interface ErrorFont Database File %s not found!Couldn't allocate memory for loading font database file %sFailed to allocate memory for FONTPRIVATE-area while scanning %sType 1 Font file %s.[pfa/pfb] not found (FontID=%d, SearchPath=%s)Failed to allocate memory for Filename %s (FontID=%d)XLFD Font Database File %s not found!Couldn't allocate memory for loading XLFD font database file %sT1_DeleteFont() returned %d for Font %dAssigned FontID %d to fontfile %sError allocating memory for kerning map (new_ID=%d)Error allocating memory for encoding map (new_ID=%d)Unable to open a logfile, using stderrUsing Big Endian data presentation (MSBFirst)Using Little Endian data presentation (LSBFirst)System-Info: sizeof(char):         %dSystem-Info: sizeof(short):        %dSystem-Info: sizeof(int):          %dSystem-Info: sizeof(long):         %dSystem-Info: sizeof(long long):    %dSystem-Info: sizeof(float):        %dSystem-Info: sizeof(double):       %dSystem-Info: sizeof(long double):  %dSystem-Info: sizeof(void *):       %dSkipping configuration file search!Warning t1lib configuration file not found!Unable initialize internal StandardEncoding!Initialization successfully finished (Database empty)Fatal error scanning Font Database File %sNo fonts from Font Database File(s) found (T1_errno=%d)Fatal error scanning XLFD Font Database File %sNo fonts from XLFD Font Database File(s) found (T1_errno=%d)Initialization successfully finishedCouldn't locate font file for font %d in %sReturning explicitly specified path %s for Font %dAttempt to Load Multiple Master FontSyntactical Error Scanning Font FilePremature End of Font File EncounteredFont ID Invalid in this ContextInvalid Argument in Function CallMissing Component of Composite CharacterError Scanning Encoding FileEWSD�BSize %f deleted for FontID %d (antialias=%d)T1_DeleteSize()TryDVIPSEncoding()ScanEncodingFile()Encoding=T1_LoadFont()Expected encoding definition after %s, but did not find "["-characterFound non-literal name (c=%c (first=%d, last=%d)) at slot %d while scanning encoding vector %s.Empty literal name at slot %d while scanning encoding vector %s.Premature end of encoding definition encountered.Closing token "def" expected but found "%s".Token "%s" after closing "def" in successfully scanned encoding file makes encoding definition file invalidScanned file %s (%d bytes) as dvips-encoding file.Scanned file %s (%d bytes) as t1lib-encoding file.Scanning file %s (%d bytes) as encoding file failed.Error allocating memory for metrics map (FontID=%d)StandardEncodingT1LIB_CONFIGCould not open configfile %sScanConfigFile()Ignoring line %dintT1_Env_GetCompletePath()path %s stripped to %sstat()'ing %s successfulstat()'ing %s failedT1_SetFileSearchPath()T1_AddFontDataBase()T1_AddFontDataBaseXLFD()Could not open global configfile %sNeither user's nor global Configfile has been foundUsing %s as Configfile (global)Using %s as Configfile (user's)Configfile as specified by Environment has not been foundUsing %s as Configfile (environment)Appending to existing %s search pathNewline in quoted %s-string in line %d, column %d, of config file! Closing quote missing?Unterminated quoted string in config filestat()'ing complete path %s successfulstat()'ing complete path %s failedOmitting suspicious long candidate path in order to prevent buffer overflow.Path %s not set, database is not emptyFatal error scanning Font Database File %s (T1_errno=%d)Fatal error scanning XLFD Font Database File %s (T1_errno=%d)FONTDATABASEXLFDFONTDATABASEAFMTYPE1ENCODING/opt/alt/t1lib/uNo font file name for font %dVM for Font %d: %d bytesFont %d reencoded to defaultPointer vm_base: 0x%lXPointer vm_start: 0x%lXPointer CharStringsP: 0x%lXPointer Private: 0x%lXPointer fontInfoP: 0x%lXCreateNewFontSize()Failed to allocate memory for psfont-struct (FontID=%d)Loading font with ID = %d failed! (mode = %d)Error allocating memory for fontbbox objects (FontID=%d)Missing FontBBox, adding a trivial one in order to avoid crashes (FontID=%d)Missing, invalid  or undefined Encoding, setting up Standard Encoding in order to avoid crashes (FontID=%d)Old VM at 0x%lX, new VM at 0x%lX, shifting up by %luOld VM at 0x%lX, new VM at 0x%lX, shifting down by %luOld VM and new VM at 0x%lX, no pointer-shiftingSuppressing AFM data handling on user requestAlert: Error (%d) sloppy-processing afm-file for Font %d!Ultimately failed to generate metrics information Font %d!Generating AFM-information from fontfile successful!Alert: Limited afm-information for Font %dFont %d not reencoded to defaultError allocating memory for encoding map (FontID=%d)New Size %f created for FontID %d (antialias=%d)T1_SetChar()fontfcnB() set mode=%dT1_SetString().notdefT1_FillOutline()No black pixels in outline %pT1_SetRect()fontfcnRect() set mode=%darea=NULL returned by fontfcnB()".notdef" substituted for character %d from font %d".notdef" substituted in string[%d] (=character %d) from font %dCould not get charspace representation of ".notdef", Font %d, mode=%d!".notdef" substituted somewhere in string from font %dDataformat: T1_bit=%d, T1_byte=%d, T1_wordsize=%d, T1_pad=%d
GlyphInfo: h=%d, w=%d, paddedW=%ld
area=NULL returned by Interior()area=NULL returned by fontfcnRect()@�@zD��~Z�!	@�f@�Unsupported AA specification: level=%d, bpp=%dT1_AAInit()�@T1_GenerateAFMFallbackInfo()T1_WriteAFMFallbackFile()StartFontMetrics 4.0
FontName %s
FullName %s
FamilyName %s
Weight %s
ItalicAngle %d
IsFixedPitch %s
FontBBox %d %d %d %d
UnderlinePosition %d
UnderlineThickness %d
Version %s
Notice %s
EncodingScheme FontSpecific
CapHeight %d
XHeight %d
Ascender %d
Descender %d
StdHW %d
StdVW %d
StartCharMetrics %d
Can't generate AFM Info from Font %d (invalid ID)
Failed to allocate memory for FontInfo in Font %d!Failed to allocate memory for CharMetricsInfo area in Font %d!Could not get charspace representation of character %d (%s) Font %d!Failed to allocate memory for CharName %d (%s) Font %d!Generated metric information for %d characters of font %d!Substituted accumulated FontBBox [%d,%d,%d,%d] for trivial FontBBox of font %d!Warning: Invalid FontID, font %d not loaded!Warning: No AFM-Data available for font %dAlert:  Available AFM-Data for font %d is generated from existent AFM-file!Memory allocation error (fontID = %d)Could not open %s, (FontID = %d)Comment This is %s created from %s by t1lib V. %s.
Comment File creation date: %sComment t1lib is copyright (c) Rainer Menzner, 1996-2001.
Comment t1lib is distributed under the GNU General Public Library License (LGPL)
EncodingScheme AdobeStandardEncoding
EndCharMetrics
EndFontMetrics
C %3d ; WX %4d ; N %-20s ; B %5d %5d %5d %5d ;
T1_GetCharOutline()T1_GetStringOutline()fontfcnB_string() set mode=%dT1_GetMoveOutline()Line-Segment: -> (%f,%f)
Move-Segment: -> (%f,%f)
path=NULL returned by fontfcnB_string()Bezier-Segment: ... (%f,%f) ... (%f,%f) -> (%f,%f)
��@T1_SubsetFont()/Encodingreadonly defdup %d /%s put
Encoded %d characters/RD/ND/-|/|-/CharStrings/.notdef %d %s /%s %d %s Subsetting Font %d, flags=0x%X, non-encrypted debug outputSubsetting Font %d, flags=0x%X, ASCII-hex output with linelength %dSubsetting Font %d, flags=0x%X, Binary output with maximum blocksize %luSource file %s is %lu bytes longHuman-readable header finished (%d data bytes)Font is reencoded by t1lib, enforcing Reencoding of subsetLeaving StandardEncoding untouchedPreserving FontSpecific EncodingPrivate dictionary finished (%u data bytes)2 index /CharStrings %d dict dup begin
Could not locate CS %s for index %dProcessing of CS %s for index %d (EncMaskFlag=0x%X) successful (len=%d bytes, line=%d bytes)Skipped multiple processing of CS %s (index %d)Charstrings and Font definition finished (%d data bytes, from which %d bytes will be encrypted)Including additional PostScript trailer (%d bytes)Setting up segmented binary buffer (pfb-format)    Readable header (%d bytes: %d data bytes in %d ASCII-segments of maximum size %lu bytes)    Binary data (%d bytes: %d data bytes in %d binary segments of maximum size %lu bytes)    Readable trailer (%d bytes: %d data bytes in %d ASCII-segments of maximum size %lu bytes)Dumping output buffer (%d bytes: %d readable ASCII, %d ASCII-hex in lines of width %d, %d readable ASCII)Dumping output buffer (%d bytes: %d readable ASCII, %d non-encrypted binary, %d readable ASCII)Output buffer is %ld bytes, original file size is %lu bytes0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0000000000000000111111111111111122222222222222223333333333333333444444444444444455555555555555556666666666666666777777777777777788888888888888889999999999999999AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFF�@/Encoding 256 array
0 1 255 {1 index exch /.notdend
end
readonly put
noaccess put
dup /FontName get exch definefont pop
mark currentfile closefi    EOF-segment marker (2 bytes)KPUnknown Keyword: %sparseGlobals()AscenderCapHeightCharacterSetCommentDescenderEncodingSchemeEndCharMetricsEndCompositesEndFontMetricsEndKernDataEndKernPairsEndTrackKernIsFixedPitchKPXPCCStartCharMetricsStartCompositesStartFontMetricsStartKernDataStartKernPairsStartTrackKernVersionWXXHeight���#���#���#����������������#���#�������#���#���#���]�������������T������#���#���#���#�����#�������#�������#���#���#�������#�������u���C���#���#�����������T���T���T���T���t���,���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���D���T���,�������ԡ��(����������������������U���U�������������������������������0���h���$������������������������ğ����������������������������������������������\���̤��̤��̤��̤��d���l���̤��l���̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��̤��4���������F���������7�������,�������������������������������������������������������������������g���B���ͮ������B���B���B���s���B���B���U���B���H���B���B���B���B���B���B���B���B���B���B���B�������m���B���B���B���B���B���B���B���B���B���B���B���B���B���B���0������;�y�������������(#�����Ed���,Զ��@T����t���������D���
���8
Լ��|
4����
t���X����T��������`���x�����������H��������4��t���T��D���$����T� ��4�l���D�t�T����t�����������Xt���t������������$��(���H��l�����������$��(T��p�����������������������$��H���	����	��(4
��T�
��|D����
��0����D���d��|����������\���p����������0����&��\4'����'����(����)��4+����,���T-�� D.��< �0��� 5��l!�8���!�9���!4<��D"C���"TC���"4D���"$E��<#F���#�I���#J��$tL��t$�L���$DM���$4S��%T��P%tT��t%dk���%�k���%4l��,&dl��D&�l��X&�l��l&�l���&�l���&�l���&�l���&�m���&$o���&To��'do��$'to��8'�o��X'p��l'�p���'Dr���'�r���'�s��(�t��8(�u��\(v���(�v���(Tw���(Dx��8)�x��T)�z���)t|���)�}���)~��*~�� *���l*����*����*���*���+Ԃ��<+����+T����+ą���+d����+�����+����,$��� ,D���4,d���H,����\,����p,ԇ���,����,$����,D����,���-4���<-����P-��-d����-Ԓ���-��-T����-ԕ��$.���8.t���T.Ԗ��p.�����.D����.T����.�����.����8/����L/D���h/�����/��/T����/��0����(0ԯ��\0T���p0԰���0Բ���0���0�����0���14���41D��l1d���1����14���1����1$��2���t2����2����2����2��3���3���03���3t�3���3��4t��H4����44 ���4d ���4� ���44!��5T!��(5t!��<5�!��P5�!��d5�!��x5�!���5"���54"���5D#���5$$��(6'��|6d'���6�'���6$(���6t(���6)��07�)��d7D*���7�*���7�+��8$,��48$-���8D.���8D0��49t1���9�4��:T7��|:�:���:�=���:?��8;t?��`;�?���;t@���;$B��<�C��L<�D���<�E���<�E���<G��=TK��p=DO���=4Q��>�S��d>T��x>4T���>�T���>U���>�U��?dV��0?�V��L?�W��l?�W���?[���?�[���?�[���?�[��@Td��T@�d��h@�d��|@te���@�g��Adi��TA�i���Aj���ADj���A�l���A�n��4Bo��HB�p���B{���B4{��C$��|Cd���C4����C���D��4DT����D�����D4���(EԖ���E��E�F����dF�����FD���Gd���DG����XGt����Gd���(HԷ��<H���PH����H����HԾ���HԿ��I��|I��tJ���Jt�K���`K����K���LT��@L���`LT���L����LT	���L
��M��HM$���M
���M�
��$N4��HN���dNT���N���N����ND���N����N$��O���DO4��dO����O���O����O$���O$-��\P.��pP7���P$>��0QE���Q�H���Q�K��RDM��\R�M���RN���RdN���R�N��SO��S�O��PS�O��dS�U���S$V���StV���S�^���T�j���T�m��@U�r���U�v���U�v��V�x��Vz��DVTz��XV�z��lVT{���Vd{���Vt{���V4|��W�����W����0X�TX�����X4����X4���0YzRx�$�����FJw�?:*3$"D�����\0���gdp����tF�G�B �B(�A0�C8�D`
8A0A(B BBBE�
8A0A(B BBBA����������0�����F�A�A �D0�
 AABD048����F�D�C �F0p
 AABI@hĮ���F�B�E �D(�C0�F@}
0A(A BBBA�P���U������3B�K�H �E(�A0�C8�NpVxG�PxAp@
8C0A(B BBBJrxG�E�E�YxS�B�E�OpV
8F0D(D EBBNIxX�B�E�OxD�E�E�i8G0A(B BBBX�����F�B�E �H(�D0�D8�D`WhFpHxE�I`X
8A0A(B BBBJ�H���GH������B�E�A �A(�D0c
(C ABBHD(H ABBHDز���F�B�B �B(�A0�A8�D@X
8C0A(B BBBJ����OHF�T����E������!HT��0����F�F�E �B(�A0�A8�D���_�A�B�a���c�A�B�\���o�H�F��
8A0A(B BBBHm�f�S�D�Hx�����F�D�E �E(�A0�A8�I@g
8A0A(B BBBH@����F�B�E �D(�D0�GP�
0A(A BBBH�Ի��~
F�B�B �B(�A0�A8�G�\�_�A�B�q���[�I�B�Y�	�o�H�F��
8A0A(B BBBB��e�S�D�������F�B�E �B(�D0�D8�D���e�F�B�[���g�A�B�V���o�H�F��
8A0A(B BBBHE�f�S�D�0@���eE�J�K i
AAKDKA\t���F�I�B �B(�A0�D8�G���i�B�F�M�r
8A0A(B BBBID�X��B�F�E �B(�A0�A8��
0A(B BBBJ0���s�XE�8���l�YP,��/4dH��F�E�H �C(�K0W(A ABB`�����F�E�E �B(�A0�A8�GP�
8O0A(B BBBLQ
8A0A(B BBBEH��W
F�B�B �B(�A0�A8�D`2
8A0A(B BBBB4L ��*E�H��
AA\
AIXA���XF�B�E �E(�D0�C8�G@�
8C0A(B BBBNi
8A0A(B BBBEMHKPQHB@aHJPQHA@dHKPPHA@	���(	t�HH<	��xF�E�E �F(�H0�E8�D@�
8D0A(B BBBC�	��]E�{
HH�	���F�E�D �D(�D0K
(D ABBEW(D ABB0�	L��F�D�A �GP�
 AABJ$
��A�i
FD
��sX
��pL�E
G x
D�hL�s
AF
J@�
���E�A�G v
AAKS
FAFd
FAE�
��KW_(�
4��L�f
Fg
Ic
E0$��$H G
IH
HT
LR
F_
IDX��-F�I�H �Z(K0V(F |
ABIF
ABG���"����������L���F�B�A �A(�D0�
(D ABBBM
(F HDBE Tx�dX�gA�P�O�<x���E�A�G0w
DAGM
LJMlDAX����F�E�D �A(�G0d
(D ABBDM
(L HDBIt(D ABB@
(��E�D�G e
FJKZ
FJFH
DAC(X
��6F�K�J �WAB$�
��L�l
HN
BrL�
@�zF�B�D �D(�G0z
(C ABBG�
(D ABBA`�
p�F�K�L �L(�K0�I8�DP�
8D0A(B BBBKD
8G0H(B BBBE�`���F�B�A �D(�G@m
(A ABBI�
(A ABBF�
(D ABBCG
(C ABBIg
(C ABBI(����tE�F�M C
DAH�X���F�B�E �B(�A0�A8�GP�
8D0A(B BBBGn
8F0F(D IBBM3
8D0A(B BBBH|
8F0A(B BBBEL���"B�B�A �A(�D0�
(D ABBFD
(H ABBE@�����M�A�D ��
DEEe
FKEACBH@����F�B�B �B(�A0�A8�GP�
8A0A(B BBBD�P���%H�l����F�B�B �B(�A0�D8�D`�
8A0A(B BBBC$���bE�H�R uFCH(����F�E�D �D(�G0h
(C ABBFD(K FBB�`����$F�E�E �E(�D0�D8�G@}
8D0A(B BBBJp
8A0A(B BBBFa
8A0A(B BBBE]
8A0A(B BBBAM
8A0A(B BBBIK
8A0A(B BBBAA8F0C(I BBBL<����F�B�B �B(�D0�D8�G�Z
8A0A(B BBBA(�P��vF�H�C �VCE4�����E�A�G N
DAHM
NCJ(�	���L�B
BY
GCD�	���B�B�E �E(�A0�A8�D@�8C0A(B BBBHdX
��xB�E�E �F(�A0�D8�GP�
8D0A(B BBBGH�����B�E�B �B(�D0�A8�G@k
8D0A(B BBBA4�����E�D�D z
FAJJ
AAD44H
���F�J�H �A(�D0�(D ABBxl��?F�E�E �E(�D0�C8�GPgXB`BhBpBxG�NP�
8A0A(B BBBI�
8A0A(B BBBB������F�B�B �B(�D0�A8�GP�XK`WXAPWXP`BhNpKPZXM`dXAPY
8D0A(B BBBBs
8C0A(B BBBIZ
8D0A(B BBBIDXL`PXBPL�����F�B�E �B(�D0�A8�G�p
8A0A(B BBBK �����c��
DX�`����F�B�B �A(�K0��
(A BBBAe
(A BBBA�
(A BBBAHt����F�E�B �B(�D0�A8�D`�
8D0A(B BBBA�l ��D�� ���H�t!���F�B�B �E(�A0�A8�D@�
8A0A(B BBBI zRx�@������(T���
Pl�!���F�L�H �M(�G0�F8�D@ZHKPV8A0A(B BBBC@L�l"���F�K�H �E(�D0�C8�F��
8A0A(B BBBB$�%��fE�A�G LDDh8&��^O�E�I �B(�A0�A8�DP
8A0A(B BBBA8A0A(B BBBA��������'��pE�f�H(��YH�A
IFH��(���B�B�E �B(�A0�A8�Dp�
8A0A(B BBBDL0,.���F�B�B �H(�A0�L
(A BBBJ�
(A BBBC ��.��Sd�\
HCE�T��.���F�B�B �B(�A0�A8�G� I�!�
8A0A(B BBBD$��E��iE�L�L0GCA4$�E��UF�G�D �D(�G0p(C ABB\F��'H^tF���$F��
� F��
�F���F��
�F��
�F��G��0(8H��-F�H�E �VAB@<H��T8H��
h4H��XMi
JW�tH��8��H��|0�I���F�A�A �G�u
 AABH(��J��]f�K�D �[�F�B�(�J��#E�M�Kpl
AAE(<�K���E�I�G`m
AAD hdL���E�G@h
AK4� M���F�E�D �D(�G0_(A ABB�hM���L�r
BW8��M���F�B�A �A(�D`z
(A ABBBD \N���F�I�D �C(�D@�HLPHHA@T
(A ABBAhO���E��,��O���`�A��
AYc
AA4��P���A�A�G h
CAK�
EAF ��R��E�H �
AG(�S��lV�a
IP�K�JA�<�S��HP�S��hF�B�B �B(�D0�A8�HP9
8D0A(B BBBA(�U��DF�H�A �qAB�4U��D�@U���S�E�E �A(�G0��
(A CBEC_�����$�U��#08V���F�F�D �D0
 AABCHl�W��*F�B�B �B(�A0�A8�D@5
8D0A(B BBBD�tY��C��Y��cH F
B �Z���E�D a
AE �Z��.He$ �Z��	< �Z��~P �Z��d [��x [���  [��� ,[��,� H[��,� d[��� p[��<� |[���F�B�B �A(�G0�t
(A BIBD80!�]��/F�H�H ��
ABA
ABDl!�_��o,�!L`��LF�H�G ��
GLK�!ld��g�!�d��e�!$e���!0e��UP"|e��sF�B�I �E(�A0��
(A BBBEY
(A BBBAT"�g��5h"�g��RE�L�"h��RE�L�"\h���Rz
DV
J�"i���R�
E(�"�j��E�C�K �
FAD #tk��'RB
DO
I8,#�l���M�A�A ��
NLR|
ABAh#Do��|#Po���Ra
E�#�o��<E�W
D�#�r��jL�h
DH�#Dv��[F�B�B �I(�A0�F8�K@
8F0A(B BBBE$$Xz���L��
DD$�}���0X$d~��>a�A�A ��
ABHx����$p��q�$�����$H�����$4���lt<�$(����B�B�A �D(�D�Q
(A ABBD$%����_H�b
FnD%����D �
Cv4d%����A�A�D0�
CAAD
AAC�%А��P0�
B�%ԑ��~Dh
D �%8���JD �
Fv
J�%d���oD@.
Fv&����y�up0&���qB�E�A �LP�
 AABDd
 AABHt
 AABH�
 AABCG
 AABE(�&(���E�j
Aj
VO
aV,�&����A�I�O��
AAH'����9Dt'��9Dt0'����D m
GL'�����L`'|����B�I�F �F(�A0�A8�G��
8A0A(B BBBE(�',����A�A�F0&
AAH(�'���� A�L �
CBnA((���� A�L �
CBnA@4(�����!B�E�B �A(�A0�G�|
0A(A BBBJLx($�v	F�F�B �B(�A0�A8�J��
8A0A(B BBBB �(T�4E�D0
AC�(p�!$)��~a�F�D PAA,)��BtMD)�X)$�l)0��)<��)H��)T��)`��)l�8�)x�F�D�F �\
ABAb
AGV4 *L��E�D�J ]
AAFy
AAMPX*���F�B�B �A(�A0�DP�
0A(A BBBI	XC`bXCP�*��XE�a
JO�*��XE�a
JO�*�XE�a
JO+@�NE�_
DO0,+p�E�A�I b
AAEQCA0`+��E�A�I k
AADQCA0�+8�E�A�I k
AADQCA0�+��E�A�I k
AADQCA0�+�E�A�I k
AADQCA00,|�E�A�I k
AADQCA\d,��F�B�D �A(�I0M
(H ABBHZ
(A ABBHQ(C ABBL�,��F�B�D �A(�I0b
(C ABBHe
(F CBBAL-X����F�B�B �B(�E0�A8�I�>
8A0A(B BBBA`d-���&F�B�B �E(�A0�A8�I@{
8A0A(B BBBAy8C0A(B BBBd�-���{F�E�B �B(�D0�C8�G�b
8A0A(B BBBG�
8C0A(B BBBKx0.��[F�B�B �E(�D0�C8�Gpd
8A0A(B BBBE~
8E0D(E BBBFk
8C0A(B BBBAH�.���.F�B�E �E(�D0�D8�Fpk
8D0A(B BBBH �.����E�a
Jr
NH/���lF�B�B �B(�A0�A8�IP
8D0A(B BBBG$h/���hE�r
IS
AS$�/��hE�r
IS
AS(�/T���E�D�J A
AAJH�/����F�B�B �F(�D0�C8�DPo
8D0A(B BBBIH00���F�B�B �B(�D0�A8�GP
8D0A(B BBBHL|0����F�B�B �A(�C0�`
(D BBBH�(A EBB,�0���B�H�H ��
ABI�0���'01���PF�D�D �G��
 AABDXD1�	��=F�D�B �B(�A0�A8�Dp�
8A0A(B BBBB�xf�HxApX�1�
���F�D�B �B(�A0�A8�Dp�
8A0A(B BBBJLxf�HxApH�1p���F�B�B �B(�A0�A8�D@g
8D0A(B BBBJHH2���F�B�B �B(�A0�A8�D@
8D0A(B BBBE�2����2����2���D$�2���tE�N
EP
HC<�24���F�B�B �A(�D0�y
(D BBBF$83���|E�W
DP
HC`3,��'HW
A|3@���H Q
G��3 ��
H�3��aF�B�E �B(�A0�A8�DP�
8D0A(B BBBE�3@��{4���1$4���H84���aF�B�B �B(�A0�A8�DP�
8D0A(B BBBH�4�#��"�4$��4�4$���E�C�D s
DADS
DAHL�4�$��E�A�F �
HAHQ
CAC�
HAGD
CAHL45�&���F�B�E �E(�D0�A8�D�k
8A0A(B BBBA(�5(��[E�A�F C
CAA�5<(��3J�[K��5`(��3J�\J�@�5�(��wO�B�E �A(�A0�R(C BBBA�����4,6�*��"E�A�I ]
AABM
CAGd6�,��Hx6�,���B�B�B �E(�D0�F8�DP�
8A0A(B BBBD`�6(.��@
F�B�B �B(�A0�A8�G�?�S�B�G�W�M
8A0A(B BBBB(78��+J�VH�dD78���F�B�B �B(�A0�A8�Gp�
8A0A(B BBBAx
8A0A(B BBBA�7�;��<E�[
HS,�7�;���E�N
EY
OP
HR8�7`<���F�N�T �J
ABK
ABG(88?���E�A�D �AALd8�@��e	F�I�B �B(�A0�A8�D�E
8D0A(B BBBEL�8�I��$F�B�B �B(�A0�A8�G��
8A0A(B BBBCP9�M���O�B�B �A(�D0��
(A BBBBC�����S0�����HX9P���F�B�A �A(�F0
(D ABBFq(D ABBzRx�0����$�o��
�9$Q��HPH�9,Q���F�B�B �B(�A0�A8�DP@
8C0A(B BBBBT<:�T���O�I�B �A(�A0��
(C BBBGs
(A BBBFd�����@�:(V��O�B�G �A(�G0�
(A ABBD����T�:�W���O�I�B �A(�A0��
(C BBBGs
(A BBBFd�����@0;<Y��O�B�D �F(�D0�
(A ABBD����t;[��H�;$[���B�B�B �B(�D0�F8�D@�
8C0A(B BBBH��;�\���F�B�B �B(�A0�A8�D���{�T�A��
8A0A(B BBBAD�M�g�G�`�K�o�G�X<4o��gl<�o��>H�<�o���F�B�B �B(�D0�A8�DPm
8D0A(B BBBA�<`q���<Lu���D�<v���F�E�B �B(�A0�A8�D`�8A0A(B BBBl<=�v��9F�B�B �B(�A0�A8�D��F�U�A���N�M�A�
8A0A(B BBBJ��=�~��h!F�B�B �B(�A0�A8�G�:�X�m�B���D�]�A�h�r�P�F��
8A0A(B BBBF��I�D�B�D�I�g��`�Y�B��N�`�A�W�T�a�B�W�T�`�A���N�M�A�L�>���F�B�A �A(�D0�
(D ABBGS
(D ABBDH�>؟���F�I�N �B(�A0�A8�DP�
8A0A(B BBBBL@?\���WF�B�B �E(�D0�D8�J��
8A0A(B BBBHX�?l����F�B�B �B(�A0�A8�Dp`
8D0A(B BBBA
xN�MxAp\�?��F�B�B �B(�A0�A8�D���N�M�A�w
8A0A(B BBBD L@�����E�I N
ACp@���TE�a
JS �@L����E�I Q
AH�@Ȼ��TE�a
JS(�@����E�D�I [
AAA0A|����E�D�I }
AAGKAA@4A����E�C�I0R
AAKb
CAJb
CAJ@xAĽ��E�C�I0R
AAKb
CAJb
CAJH�A�����E�C�I _
AAFf
AAHJ
AADbAAHB$����E�C�I _
AAFf
AAHJ
AADbAA TB����NE�G`�
AJxB���tA
K�BX����|A
C�B����H x
H�B`���H y
G�B����t E
GCh���t I
C C���IH`�
J4<C���E�C�I B
AAKN
CAFtC���TE�p
KS�C���TE�p
KS�C��dE�^
mS(�CX���E�I e
ADL
CA D���PE�a
JOd$D(���B�H�E �E(�D0�C8�DpH
8A0A(B BBBG�
8A0A(B BBBI�D����\�D����F�E�B �E(�D0�A8�I���[�U�A�s
8D0A(B BBBE\E,�F�B�E �E(�D0�A8�F�M�[�U�A�Q
8D0A(B BBBG\`E���F�B�B �B(�D0�A8�F�C�[�U�A�Q
8D0A(B BBBGH�E|�F�E�E �E(�D0�D8�DP�
8A0A(B BBBD,F����E��
G
A�
ASL<F�����E�D�G �
AAA|
AAB�
AAHP
AAF$�F��ZE�l
AS
AS$�F���[E�m
AS
AS$�FP���XE�e
FS
AS0G�����E�k
HN
JN
BS
ES8G��0LG��|E�e
FK
EK
ES
ES�G,���\�G(���=F�B�B �B(�D0�C8�D�#�[�U�A�F
8D0A(B BBBB�G��NHD��C�H���~F�B�B �B(�A0�A8�G��
8A0A(B BBBK/�W�U�H�V�c�L�C���f�L�E�,�{�C�F�N�t�Hh
���F�B�B �B(�A0�A8�F���H�[�C���D�D�D�T�J
8A0A(B BBBD@,I����F�A�A �Dp�
 AABE	xC�XxGphpI|��/F�B�B �B(�A0�A8�D��
8A0A(B BBBA�M�G�D�C�I�V�@�I@���F�A�A �Dp�
 DABIc
 DABF J� ��	4J� ���(HJt"��bE�H�G KAAtJ�#��D�J�#��q$�J`$���E�D�G mAA�J�$��	�J�$��	D�J�$���B�B�B �E(�A0�A8�I@�8C0A(B BBB�4K(%��GF�B�B �B(�D0�A8�G��
8A0A(B BBBD��W�_�A�
�V�a�A��P���J�S���D�S�A�p�Y�E�D�V���E�]�D�y�Y�Q�D���V�U�F�DL�@��
F�D�D �y
DBCS
ABJS
ABJ `L\A��TE�^
]SL�L�A���N�D�I �G(�F0�Z
(D BBBDo
(A EBBG8�L�A���B�B�A �D(�D0x
(A ABBELMLB���B�B�A �K(�G0�
(D ABBGM
(D ABBAL`M�B��uF�B�J �B(�A0�A8�D��

8D0A(B BBBHGNU�����Z$`�{���1��^�8�^�`���h�������`�L���v�����������ȴñޱ����/�E�Z�w�������Ҳ��8�`�����е��/���`��"�$ �‰$�"�$��"�$p��$��"�$�"�$@�"�$�"�$ �"�$p�"�$�"�$��"�$���$p���$�"�$��"�$��"�$ �"�$�"�$��"�$@�"�$@�"�$@�"�$ �‰$���$�"�$��"�$@�"�$�"�$�"�$����$���$��B�$�"�$��"�$�"�$@�"�$@�"�$@�b�$�"�$��"�$@�"�$@�"�$@�"�$��B�$@�b�$�"�$��"�$@�"�$@�"�$@�"�$��B�$�"�$��"�$@�"�$@�"�$@�"�$Ј"�$���$�"�$��"�$@�"�$@�"�$@�"�$���$�"�$��"�$@�"�$@�"�$@�"�$�"�$��"�$@�"�$@�"�$@�"�$�€$�"�$��"�$@�"�$p�"�$p�"�$�"�$��"�$p�"�$c�c�c�c�c������@�h�c������c�c�c�c�c�c������2�J�]�u�����c��������&�.�8�G�V�d�s����}��4�t����������Ʈm������������/�5��������3�����!C�0�
H��Z$�Z$���o(�5(

�pf$P��P03	���o���oP���o�o�L���o�`d$`�p�����������З���� �0�@�P�`�p�����������И���� �0�@�P�`�p�����������Й���� �0�@�P�`�p�����������К���� �0�@�P�`�p�����������Л���� �0�@�P�`�p�����������М���� �0�@�P�`�p�����������Н���� �0�@�P�`�p�����������О���� �0�@�P�`�p�����������П���� �0�@�P�`�p�����������Р���� �0�@�P�`�p�����������С���� �0�@�P�`�p�����������Т���� �0�@�P�`�p�����������У���� �0�.notdef�0��8    0 ������@�$�q$.notdef y�!��"��#��$��%��&��'��(̿)ֿ*�+�,�-��.��/d�0�1�2�3�4�5�6 �7$�8�9^�:.�;*�<4�=9�>?�?G�@P�AS�B�C�D+�EU�FU�Gk�HC�IW�JY�K[�L��M]�NƮO_�P�Qa�R�S֯T��Uc�Vk�W3�XD�Y°Ze�[g�\s�]}�^��_��`��a1�b2�c�d��e��f��g��h��iW�j��kE�l=�m��n��o�p�q��r��s��t-�u��v��w��x��y�z-�{��|��}�~������������������	������+��9��G��V��Y��\��c��j��t��������������������������������������
������&��+��3��@��G��M��T��W��c��j��q��t���������������������@�@�>�>�{$�{$�������������������������������������������������	�������

��������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 0@P`p���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������````````Ȉ``�``````````````````�````H``XX`````H````````````H`H````````````````````````````HpH`````````````````````````````H`H``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````��������������������������������������������������������������STPRRRRRRRRPPRRPRRRRRRRRRRRRRRRRRRPRRRRQRRQQRRRRRQRRRRRRRRRRRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRNOJMMMMMMMMJJMMJMMMMMMMMMMMMMMMMMMJMMMMKMMKKMMMMMKLLLLLLLLLLMMKMKMMLLLLLLLLLLLLLLLLLLLLLLLLLLKMKMMMLLLLLLLLLLLLLLLLLLLLLLLLLLKMKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMHIEGGGGGGGGEEGGEGGGGGGGGGGGGGGGGGGEGGGGFGGFFGGGGGFGGGGGGGGGGGGFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGCD?BBBBBBBB??BB?BBBBBBBBBBBBBBBBBB?BBBB@BB@@BBBBB@AAAAAAAAAABB@B@BBBBBBBBBBBBBBBBBBBBBBBBBBBB@B@BBBBBBBBBBBBBBBBBBBBBBBBBBBBB@B@BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=>8<<<<<<<<88<<8<<<<<<<<<<<<<<<<<<8<<<<9<<99<:<:<9;;;;;;;;;;<<9<9<<<<<<<<<<<<<<<<<<<<<<<<<<<<9<9<<<<<<<<<<<<<<<<<<<<<<<<<<<<<9<9<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<67255555555225525555555555555555552555535533555553555555555555353555555455555555555555555555535355555554555555555555555555555353555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555501+////////++//+//////////////////+////,//,,/////,..........//,/,//////-/////////////////////,/,///////-/////////////////////,/,//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////)*%((((((((%%((%((((((((((((((((((%((((&((&&(((((&''''''''''((&(&((((((((((((((((((((((((((((&(&(((((((((((((((((((((((((((((&(&((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((#$"""""""""""""""""""""""""""""" """"""""""""""""""""""""""!"""""""""""""""""""""""""""""!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


	������������������������������������������������	�������

 !"#������

 !"#��������������������������������������������������������������������������������������������������������������������������������������B�B�?�?������������UnspecifiedFontDataBase...��������������������pB�AGA$3a14�4�GA$3a10�F�GA$3a1H�P�GA$3a1@���
GA$3p878�f�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878p���GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878����GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878����GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878��h�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878p�eGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878p4$GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 � �GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878@$�HGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878 �*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�H�fGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878g�tGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�t�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878���GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�9�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878@�n�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878p��GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�P@GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878P@%cGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p8780c�jGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�j�{GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�*�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�{��GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c878*�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878���GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878��QGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878`�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878�RGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878RmfGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878pf	wGA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878w��GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3p878��E�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3c8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3s8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA$3e8784�4�GA$gcc 8.3.1 20190507
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3a1E�E�GA$3a1E�E�GA$3a1F�K�GA$3a1P�U�libt1.so.5.1.2-5.1.2-4.4.el8.x86_64.debug[��O�7zXZ�ִF!t/��K?�]?�E�h=��ڊ�2N�0������j(�}bý0�!'E[�5T~=���̈́��Z�vC�)�O��aq��S{�ʯ��2���/�k�
�A�����Z��,02c@��J
�j�Mu0t�n�0�
�'
�/e*�9�0D��=��V�4��5�5�9���](���C���+Z�ԠvIv���|�<Jq�6����Y\gguM9��!c:��b����.n��QP��Kaf[Z
�*�
G�J��%�ȳ$i�W+�2�+}*�^���`%(�,�#
~s�������"�6ro;&���ld#�"ߢ-u���d����?~���|o56��!����Y�qځm��^��]�nD��Ǟ�	Y#y�m����,2�?.2>f�6��y8��v$�dL�>oF��p���w��U�op�Mh�R�ӿӛ��[����=��%�ߘ�֜0K8�=�Ϭ�k���7��a4�YW��!�mg���V��<��/�"�͛��H�tr�h��)8_��'�e�_��
��$�L�)j�C��١1��σeT]�u��d�~b�w+��{�D�'̧�W����֜�]�2���W��;�"i�B9~�i�/�x͞mX�tl��ɰ=DI����Fr��R�Y�S㒁`:tZ��[lA�<ޭ��?�(�8�'��f}%�>���v��B*x.�έ�y�:�A�����`�WY�ݢzп)%�T�o�0�1��@C�H^���F�p��ݤ68�<��g��P`����b�c�_�Ȩ�n�ZmJqn�H�Y�I�(t�&�X���a��	��wS����r
��2�i������T苸ջ>��y��
���{��f�A�8ƪ��_ΛP�9n�!����x�$��Ci�c�\�����=}�m��!�[с"]��HD��*�����h��6��f�4�Rڷ2�Xڧԉ��Cԕ֜��1�9t-��tZj�x��.i�8K%
0f�Zd,z�Y*���>p\�����[]�p�s�OJ�Nmfn��}�.c����2�9Q�MM��15e_�B��]���7�-�6DW�\G�2����q_�/Oe8ȉN��r-A���8��`�f���P����D��O�I�U:1�/QE���� �5�	��^c[ˎ��ݑw��FՐSP{��>3��Y���ڟ�q��cL���P}]��j����w�ۥ2>�ǵ(pv�!+;�׃��%T0��>T��U��:q�%D��;��I,s�ٟ��r�	J!v)��!���'O��ޘ�2
���
�:k8q���6޺,C�ho�J6��\]�깾:f���U�Y�|'X��gf-.R;~�s�Qn�D��|�n�0�%:]�]�����i	|�&�� �U�0ߺ�� ���	c�߷���
�I�G�r���p����?����&�SF�W[��S4ї��Ԁq�L^������o�H՗��-��,�I*��).�f�L~�QX�+P�w*��2e]� 쎿���b���$����q�I�۵�|���#U���.䉂���
�_�����zj����=4,WZ�Č\b�3(u�]�~/�b�\2���>�����,.���F���R��PX7O��l�tR*�d朂eH��F,@ ͤ���j�}�4{���W&�wpr�W�����ciWHg�K��!����M�z���)�=��9�Q�vV����X����6X��xE��Ih?:�jr���w�"���Άt�'������m�T��I�f����
��Ŕ�w0@��]���9d��9o沞uի�fӧp�/3�C��`S�
�-�zr<=Q
zlG]�Y�׀���*��S�=����[1cd�y�΁�z���E�H����b���Y"���]�6���ʖ������1�ﭢ\e������S�K���H^C!���WE2y�EB��ĤҀX�ٞ�[jD��*3�;�V^N�9�K�V��bU�\GZ Q��~�rL��z׭Ȋ�3Hl�8cJ�s��<��D�}E%o|����*��r���L,B�����i�PW�N���L�@�k���f���~��@�8&\=&l�y���>C�kM.�#���
���W%��sV3�Z[�f�&�O~/�Sf>=L����x�9XÝ�|�C��bj��p�^��A��o\�hz.�Z�q�ޕ�99��D����m
�V� `���v�F|GdR�y����|��s���k�ۭӺ�F��qL�G��U�ܷ�6�7.��\�M7��fV��	�D��\�M�� ��M��#@$b��9u����(�"�F���R�֢��^�LaIA1���9��\���ۮ��h�8:*:�<��&S���K�Ge�I��,�Pfq�[��r�tSx꬧K�"
�^���K4����\$ɒ0�w�e�(/�l(q<yԪ���~��f�%x��Ȳ��<}��������үQ�6X�I��"�ED�5M�/'G5 �i�o>&ӳ�In+��"�[�/J]���^�]�K	�Qq��|�u��i�X��"�I
�-���F��/Ӷf�=�$:��ϯ�b�i��aGX뷌�Sˍ����ܤ7C��8c��-܄��I�x������n�U�

���SDm�q&��
����V7n
�>�'��2�7�>��}U���wE�p�0VA_k��p�;׶���5oJ�7��p'����ô����
�wi-���_}�ҽ�3�y�ʒ�I
n�
���e�ʼ�p��
�*����c_d�`��
j}e��I�閚+8�M��)kS�H�F=�^1)/=4��(���V�$f'��,l�i=� �ڙ����)�7r�s�Z�y��"W��(�v�x-�E��y��0��."��7z�0�U-8ɥ�.���-%�DS��€W_�����#7�yx0��t6�'�Lk��7*N�֬�z�d�gǓ|���z��!8&զ���ҙ��V��k�M������9[�G�<�!�F�ạ�B�Iޅ�+K�$�"�fl�Z[J:�K�W @|�C�!<G��B���UG���M����ǡ%�7�%�Y�}IV4�ڜ�FA#���	��w%�p!mԹ����A�éS^�R\8�KI\��f��z�a����<�h=9�e]	��A'°[�����sR�Hat��";_��ض�Å�����C�֌�DT�;b��oq���IN2L�W�N`�0��Y�J�����
���6��d��{~t �
�v�pa��O��Y��|����q\?kX�a0��6?��ȢTz1�gW�e<���-�8�t�d���p��>�o+�Ydž���?��ѥ�n
�+r
%�^1�����p�� t���tգj>TE=߼��A=!�V�r;�/�V9zBk�����#*���{���V����̚�m�)gS��5F�jo��T�/�j�3�B���D)3.�|Z�B����Ɔҙ�%�D��l-�Z�0
�Q|�7#;K�[f�f�!�h��B>��3i�������Yb�>|�K���kAi$����V���"F�„7���7�`z��F	#1�ѐe5~�r)����Q��q�X�1�\J\c���mA��6��&�ƄZ~��YC�@W�g5LJ�R�¸P~v�m�D޿}KJ�ea�љ,o��{�<�,w�SS�@�B��]���RG��7ÝP�Qt��,[H?�1�0�α�pp��?�K�c8�����i��9��.&Ό�AZ��LǶ�sI�hU�q1�Z�"gԧm��n��%�VJV~�q{1嶜az{�׳j���\�'���,_�B�.;0�P���.BV�߂�܄mj��L�e�p�1��o�
s����|Ʒ4�|A�ZA��6qH��ːā���O�!d���¥�ɴg�`�D���B�K�n�Q;Z�l���],��}5^σI���j;Do�ȧ����呫����ې�l88�~�Qq�e��/c�߄Q�q|2|wP"��mS�����
b�[���$ʂ����]Xj\�
6���G
�G�LC:�^k:�*QI(4��˕&�7׷8�6n�v��j�=�I����|�bF���}��~�Lڀ4V`��{S�M.�ޚƿ�1x�v��*���FB��2W��;ߧ1r�0r��.���L���p�$�7�w]	���fG!f�?���� x�ڦˤ����>I�q��q��qX�\��ҭ���d<d
B����5J�R�����bI�����õ��8���|'nkq�wK�'����n̴z~��?�O*��,�l%FhJ�Ɨ#v=R�M��'r�{%|ӕ�n�o����e��/��K5̏u�WK�ᚫl&8�Y�$���~������fL�Z2�'%�>Nu�@wi�U.���<R�Y�f�a_�⑀Gp�7��ԛ��/�ܔ�\�m������S�,��ޠM��Ĉ��e��g�ɶ�^�B�Q-*���J(*i�l
 K�	a�x�w�Ⱥ��ɴ6�C�NN^�d��Ƕ�@�)yu���B�#���8\Z����/\����]8�[_c�Z�y�m�ڇ��,+!9D��"MQ�"3.���~9�0`7�U�E��AC�ڮǡ3E�� Y�7*�S�Ԕ�hL�ȍl�hLz>��׭B.�բ�藩015��*��i<����2����'�d^[�p8�5�تxTd�ӱ��y�V�n"��]z�P���,�Wn��7���*Ov����<�*-h�%��;C�S��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((((
(
�(0�5�5�8���o�L�LfE���oPP�T�P�P03^B��Ph0�0�cP�P��n@�@��w � �%�}H�H�
�`�`�<Q �������pp�M� U U ��Z$�Z��Z$�Z��Z$�Z�	 �`d$`d�pf$pf�	�p$p�! ��$���\ ���e��X3
T�0�����(share/man/man5/FontDatabase.5000064400000004350150405213370011704 0ustar00.TH FONTDATABASE 5
.SH NAME
FontDataBase \- database of fonts accessible to t1lib.
.SH DESCRIPTION
This manual page has been written for the Debian GNU/Linux
distribution.  It has been adapted from the documentation included in
the upstream
.B t1lib
distribution.
.PP
.B /etc/t1lib/FontDataBase
is a text file which contains, minimally, the basenames of Type 1 font 
files to be made accessible to the
.B t1lib
font rasterizer library.  The format is intentionally similar to that
of the
.B fonts.dir
and
.B fonts.scale
files used by X11.
.PP
Line 1 of this file contains a positive integer specifying the number
of fonts declared in that file. This is as in the
.B fonts.dir
files of the X11 system.
.PP
All remaining lines contain declarations of one font each. The only
thing taken from such a line is the last string (delimited by white
space) in it. It is assumed to be a filename of the format
\fIbasename\fR.\fIsomeextension\fR.
.PP
The \fIbasename\fR part is assumed to be the
.BR basename (1)
of a fontfile.  After the a string has been parsed, the
.I extension
is cut off and replaced in turn with
.I .pfa
and
.I .pfb.
The initialization routine tries to open a font file in
its search path with one of the resulting filenames.
.PP
The remainder of the line, i.e., from beginning to the start of the
filename string, is completely ignored and thus may contain
information for other programs.
.SH EXAMPLES
Here is a minimal font database file for 4 fonts:
.sp
.nf
4
isvl.afm
isvli.afm
isvd.afm
isvdi.afm
.fi
.PP
This file is \fIminimal\fR, because it contains just the information
needed, and nothing not needed by the library. 
.PP
Here is a more realistic example, which allows an application to match
a fully qualified X11 fontname to a FontID in
.B t1lib.
This is also a valid font database file:
.sp
.nf
4
Souvenir Souvenir-Light       --- -itc-souvenir-light-r-normal--#-0-0-0-p-0-iso8859-1 isvl.afm
Souvenir Souvenir-LightItalic -*- -itc-souvenir-light-i-normal--#-0-0-0-p-0-iso8859-1 isvli.afm
          Souvenir-Demi       *-- -itc-souvenir-demi-r-normal--#-0-0-0-p-0-iso8859-1 isvd.afm
          Souvenir-DemiItalic **- -itc-souvenir-demi-i-normal--#-0-0-0-p-0-iso8859-1 isvdi.afm
.fi
.PP
.SH FILES
.I /etc/t1lib/FontDataBase
.SH "SEE ALSO"
.BR mkfontdir (1x)

share/man/man8/t1libconfig.8000064400000002737150405213370011567 0ustar00.TH T1LIBCONFIG 8
.SH NAME
.B t1libconfig
\- create the t1lib.config and FontDataBase files for t1lib
.SH SYNOPSIS
.B t1libconfig
[
.BR \-v\fP, \fB\-\-version
]
[
.BR \-h\fP, \fB\-\-help
]
.B \-\-force
]
[
.B fontdirectory...
]
.SH DESCRIPTION
.B t1libconfig
scans a list of directories for Type 1 fonts and font metric files,
and generates a configuration file and font database file for the
.B t1lib
rasterizer library accordingly.  By default, it looks in all
subdirectories of /usr/X11R6/lib/X11/fonts, and in
/usr/lib/ghostscript.  Extra directories to search may be specified on 
the command line.  The
.B t1libconfig
script tries not to scan the same directory twice (this is, however,
not foolproof, since /usr/X11R6/lib/X11/fonts and /usr/lib/X11/fonts
typically point to the same directory on GNU/Linux systems).
.SH OPTIONS
.TP
.BR \-v\fP, \fB\-\-version
Print the version of
.B t1libconfig
and exit.
.TP
.BR \-h\fP, \fB\-\-help
Print help about usage and exit.
.TP
.B \-\-force
Force the generation of new configuration files even if these files
already exist on the system.
.SH FILES
.TP 25
.B /etc/t1lib/t1lib.config
Contains configuration information for t1lib, including
colon-separated lists of paths to Type 1 font files and font metrics
files, and the location of the default font database file
.TP 25
.B /etc/t1lib/FontDataBase
Contains a list of the names of Type 1 font files to be used by t1lib.
.SH AUTHOR
David Huggins-Daines <dhd@debian.org>
.SH SEE ALSO
.BR FontDataBase (5)

share/t1lib/t1lib.config000064400000000423150405213370011062 0ustar00t1lib.config - global configuration file for t1lib.
It was created automatically on Sun Mar  3 19:12:29 UTC 2024
by the t1libconfig script.

Run /usr/sbin/t1libconfig --force to rebuild it.
    
ENCODING=.
AFM=
TYPE1=
FONTDATABASE=/opt/alt/t1lib/usr/share/t1lib/FontDatabase
share/doc/alt-t1lib/LICENSE000064400000043076150405213370011223 0ustar00		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                          675 Mass Ave, Cambridge, MA 02139, USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS

	Appendix: How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) 19yy  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) 19yy name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.
share/doc/alt-t1lib/Changes000064400000061066150405213370011510 0ustar00Nov 1996: t1lib-0.1-alpha
-------------------------

- first public release of t1lib with all basic functionality



May 1997: t1lib-0.2-beta
-------------------------


- Now uses autoconf to configure the software for the system.


- All functions put into one library.


- ATTENTION: Argument order for the glyph-setting functions changed to be 
             consistent with the info functions. Programs that already use
	     t1lib have to be rewritten  (sorry....)


- Function for computing the width of a string added (T1_GetStringWidth()).


- Function for computing the BoundingBox of a string added
  (T1_GetStringBBox()).


- Function T1_GetMetricsInfo() added. It returns a struct containing width,
  bounding box, number of characters and horizontal position of the characters
  in character space coordinates (afm-units).  


- Function T1_GetBBox() renamed to T1_GetCharBBox() for consistency reasons. 


- All exit() calls removed from library and replaced by appropriate error
  return codes.


- t1lib now optionally supports a logfile for logging of error- and 
  warning-messages at runtime. The "verbosity" of this logfile may be chosen
  by the user.


- Documentation more complete.



July 1997: t1lib-0.3-beta
-------------------------


- Code for placing character bitmaps in T1_SetString() slightly advanced; the 
  restrictions concerning slanted fonts are eliminated.


- T1_GetStringBBox()/T1_GetCharBBox() extended. It is now possible to get the
  bounding box if the font is slanted. This is implemented by examining the 
  characters outline at 1000bp. 
 

- Some Bugs in the code managing linked lists of font sizes have been
  corrected. 


- Bug in T1_CopyFont() has been corrected. This should work now.


- The behavior during configuration file searching has been changed to
  be compatible to well known UNIX-conventions.


- As the main new feature in this release t1lib now has direct support
  for X11 (optionally). There is a set of functions that act similar
  to XDrawText(), i.e. they draw directly into a drawable (pixmap or
  window). 

    - Caching of bitmaps of the X11 rastering functions is also done
      in the X-Server for maximum performance (although it is not as
      fast as I dreamed of, admittedly).
      
    - X11 rastering functions use the current foreground/background
      colors

    - The X11 rastering functions implement automatical antialiasing
      between foreground and background color
 
    - The X11 rastering functions provide an opaque and a transparent
      mode

    - The X11 rastering functions can draw into drawable of any depth 
      (provided the depth is large enough)


- A new target has been added to the makefiles allowing to remove 
  a t1lib-installation automatically from a system.



December 1997: t1lib-0.4-beta
-----------------------------


- Many memory allocation bugs fixed. t1lib is now "libefence-proved".


- Kerning and Metrics-Lookup rewritten. The corresponding functions are now
  based on character indices rather than on character names which makes them
  up to 8 x faster than before, depeding on data and context.


- Raph Levien (raph@acm.org) contributed a fast algorithm for subsampling
  which improves Antialiasing time significantly.


- Fred L. Drake, Jr. (fdrake@acm.org) contributed a Python-interface
  to t1lib.  This allows Python programmers to make use of Adobe Type
  1 fonts. This package, called t1python, is distributed with t1lib in
  an independent subdirectory of the distribution. See README.t1python
  for more information on t1python.


- Bitmaps and antialiased bitmaps may now be padded 8, 16 or 32 bits. This
  allows (with some restrictions) somewhat faster concatenation of
  characterbitmaps to stringbitmaps. The padding-value may be set and queried
  at runtime.


- The optional X11-interface, introduced in t1lib-0.3-beta, has been reduced
  to a simple wrapper. X11-pixmap caching has been completely dropped since it
  has proven to be too inefficient. However, at the level of the function
  calls, nothing has changed. 


- Configuration of t1lib (with or without X11-interface) may be queried by
  applicationprogrammers at compiletime or by applications at runtime. 


- Two functions for informations on fonts have been added:
  
  1) T1_GetFontBBox(): Return a fonts' bounding box.

  2) T1_GetAllCharNames(): Return a list of all character defined in a Type 1
			   font. This might be of interest if somebody wants
			   to set up new encodings.


- Function T1_CloseLib() added. This function allows to completely free the
  data-structures of t1lib. T1_CloseLib() should be called in future when an
  application using t1lib exits. 


- Many other things not worth to be metioned ...



March 1998: t1lib-0.5-beta
--------------------------


- Changed the license to the GNU General Public Library License (LGPL)


- Definition of INFINITY removed from
  lib/type1/[regions.c|regions.h|t1imager.h]. Collided with a
  definition in math.h on OS/2.


- Implemented proper handling of environment variables CFLAGS, LDFLAGS
  and CC during build process.


- Added target 'without_doc' for people who have a very rudimentary or
  no LaTeX-System at all


- Fixed some bugs that appeared when font files from database were not
  found


- Clipmask Bug in the X11-rastering functions fixed


- Bugs in VM-reallocation (T1_LoadFont()) repeatedly fixed. It is now
  ANSI-C compliant.


- Alignment of VM changed. This was needed on some systems.


- Set of functions for accessing information from FontInfo dictionary
  is now complete. This introduces  the new functions
  T1_GetFullName(), T1_GetFamilyName(), T1_GetWeight(),
  T1_GetItalicAngle(), T1_GetIsFixedPitch(), T1_GetVersion(),
  T1_GetNotice(). 


- ATTENTION: In the above context, T1_GetPostScriptName() has been
  renamed to T1_GetFontName() for consistency reasons, sorry. 


- ATTENTION: All types "unsigned char (*)" have been changed to 
  char (*) in the API functions. This was necessary while adapting
  t1lib to ANSI-standard to make it portable. Sorry for this
  confusion. 


- New function T1_AddFont(): Fonts can now be added to the font
  database at runtime. This means especially, one can ignore a
  FontDataBase file thus can start t1lib-programs on single fontfiles
  without doing a complete setup before. 


- There is now also the possibility to ignore the currently active
  configuration file, thereby setting all search paths to the current
  working directory and having an empty font data base. This is meant
  for small applications that work on single files. 


- t1lib is now able to work with fonts without corresponding
  afm-files. AFM-information can be produced from pfa- and
  pfb-files. This, of course, refers only to character-metrics
  information. 


- A function T1_WriteAFMFallbackFile() is provided which allows to
  dump metrics information to a valid AFM-file.  


- New subdirectory type1afm created which contains type1afm, a program
  to extract afm files from Type 1 font files. 


- Renamed definitions MAX, MIN, ABS, TRUE and FALSE because they
  collided with system header files on some systems.


- Corrected antialiasing functions. The metrics should now be as
  correct as possible and black pixel at the right edge of the bitmaps
  should not appear any more.


- Handling of unencoded characters in strings (such as adieresis in
  AdobeStandardEncoding) is now consistent in rotated and non-rotated 
  glyphs.   


- A few functions have been added to get information on the file search 
  environment and to manipulate the search paths from within applications.


- Mixed endian setups (i.e., client and X-server on different machines
  with different endianess) should now be handled correctly.


- In summary t1lib should now be much more portable than before. 


- Update to t1python-0.3



March 1998: t1lib-0.6-beta
--------------------------


- Cleaned up the sources in type1-directory


- Functions Xalloc() and Xfree removed. x11dummy.c from list of source files
  removed.


- A few bugs fixed


- Character positioning rewritten. It does now handle strings
  correctly in which the leftmost pixels does not belong to the first
  character and the rightmost pixels do not belong to the last character.


- t1lib now substitutes .notdef for defined character names that have
  no corresponding charstring. This is a workaround for some fonts in
  the ghostscript distribution (e.g., s050000l.pfb)


- Separated the X11-wrapper from the rest of t1-stuff. t1lib now
  consists of two libraries and two include files. 


- Cleaned up configuration and compilation process.



May 1998: t1lib-0.7-beta
------------------------


- Athena libraries are explicitly located for non-standard system


- glyph-structure changed. glyph.metrics.characterWidth is replaced
  glyph.metrics.advanceX and an entry glyph.metrics.advanceY is added.


- Interpretation of the sign of glyph.metrics.descent has changed.


- String-rastering functions now support Underlining, Overlining and
  Overstriking. 


- Functions for overriding default line-parameters implemented.


- Whitespace at beginning and ending of glyphs is now correctly recorded into
  leftSideBearing and RightSideBearing.


- Function T1_ConcatGlyphs() added to API. It concatenates two glyphs of
  identical depth with an optional displacement inserted.


- xglyph output window has changed for X-rastering functions. It is now of
  constant size with the logical origin in the center. Too large glyphs are
  simply clipped.


- t1lib can be compiled and run on VMS thanks to John Hasstedt
  (John.Hasstedt@sunysb.edu). A configure.com script for building on VMS is
  included in the toplevel directory.


- T1_GetMetricsInfo() and T1_GetStringBBox() fixed. Now results are correct
  also if the leftmost pixel in a glyph doesn't belong to the first char and if
  the rightmost pixel does not belong to the last character.


- Leading and trailing white space in glyphs should now be recorded
  consistently and correctly for all rastering functions.


- xglyph can now display a character map of a font.


- Global variable T1_errno introduced. It basically works the same way
  as the errno in libc. This allows applications a unified
  error-handling. 


- Update to t1python-0.7.



November 1998: t1lib-0.8-beta
-----------------------------


- T1_GetAllCharNames() returned invalid list if the Charstrings dictionary was
  larger than the actual number of charstrings defined (which is perfectly
  valid, even if it does not make much sense) --> fixed.


- 4 x Antialiasing implemented. This can improve the quality at small sizes
  once more, at the cost of some computational and memory requirement. It is
  possible to work with 2 x and 4 x concurrently.


- Function T1_GetLibIdent() added to API.


- Function T1_SetRasterFlags() added to API. It allows to selectively enable
  or disable certain rasterizer features like, e.g.,  hinting.


- xglyph extended to support 4 x antialiasing. 


- xglyph now recognizes a few commandline options, primarily intended for
  debugging purposes.


- xglyph is now somewhat more intelligent (and faster) if slanting,
  extending or reencoding is applied to a font.


- New function T1_SetDefaultEncoding(). It allows to set a default 
  encoding vector which then is applied to all subsequently loaded fonts 
  that have StandardEncoding. 


- Bug in Type 1 rasterizer corrected which prevented fonts with non-standard
  lenIV values from being correctly decrypted (Charstring decryption).


- Internal ISOLatin1Encoding removed from rasterizer since there's no reason
  for mainting this encoding scheme internally 


- tlib now has notion of "Encoding Schemes". The format of encoding files is
  extended correspondingly and is backward compatible. 


- Memory leaks eliminated, thanks to David Huggins-Daines. 


- Some slight performance improvements.


- Kerning performance improved. Moreover, kerning pairs need no longer be 
  alphabetically sorted.


- AFM-parser modified to work with DOS-style AFM-files.


- Some bugs in scan-code of Type 1 rasterizer corrected. Scanner is now aware 
  of pfb-blocks and can scan files with multiple binary data segments.


- t1lib now uses GNU-libtool, thanks to Hirotsugo Kakugawa
  (h.kakugawa@computer.org) 


- An encoding file for IsoLatin2 charset is included thanks to Jiri
  Pavlovsky (jirap@bajt.cz).


- The angle-argument of the rastering functions has been replaced by a more
  general transformation specification. This is an incompatible change to 
  previous versions, but I think it should be worth it.


- t1lib can now handle fontfile names with arbitrary extensions and
  even without extension.


- t1lib compiles and runs under Win32 using the cygwin32 toolkit.


- Maximum number of stem-hints enlarged (-> 256) because 128 were not enough
  for complicated fonts.



May 1999: t1lib-0.9
-------------------


- Sub-Pixel positioning for Antialiasing functions enthanced (It was in fact
  not correct before.


- Multiple Master fonts are rejected instead of SIGSEGV (nearly as
  professional as supporting them ;)


- An additional set of functions allows access, filling and manipulation of
  outlines.


- Functionality for non-antialiased "bytemaps".


- "Smart Antialiasing", allows to automatically let t1lib decide what AA-level
  to use. The switchlimits are adjustable.


- An AFM-filename may explicitly be specified. This suppresses t1lib´s search
  for these files. This allows interfacing with other path search systems like
  kpathsea. This was suggested by Nicolai Langfeldt (janl@math.uio.no).


- Some problems with aspect ratios different from 1 and transformed glyphs
  fixed.


- Support for Right-To-Left typesetting. This might be experimental because I 
  don't know the rules for this exactly.


- In the context of Right-To-Left typesetting T1_ConcatGlyphs() expects one
  additional argument "mode". 
  ATTENTION: This is an incompatible change with respect to V. 0.8.


- abort()-calls in type1-sources are caught by longjmp(). t1lib does not
  any longer exit a program. Rather, errors may be handled by the user.


- If a rastering operation did not produce any black pixels, the rastering 
  fuctions do not return a NULL-glyph any longer. Rather, a glyph with the
  correct metrics and NULL-bitmap pointer is returned. This seems to come 
  closer to accepted standards.


- The t1python-package is currently not distributed with t1lib because the 
  interface is not up to date.


- A lot of bugs fixed (and a lot of others introduced, of course :)




June 1999: t1lib-0.9.1
---------------------


- Several Bug-fixes, some functions that have been reported to be missing by
  users, but no general new features.


- New functions T1_GetExtend(), T1_GetSlant() and T1_GetTransform() which give
  access to currently active values of fontlevel transformations


- New function T1_GetNoKernPairs() which gives access to the number of defined 
  kerningpairs.


- New functions to query the grayvalue settings (T1_AAGetGrayValues(),
  T1_AAHGetGrayValues() and T1_AANGetGrayValues()) 


- Arbitrary linear transformations on fontlevel including caching using
  T1_TransformFont() (on suggestion and patches by Derek B. Noonburg,
  (derekn@foolabs.com) 


- Introduction of the initialization flag T1_NO_AFM which suppresses use of
  AFM data. This limits the functionality of t1lib considerably but
  applications that do not need those advanced functions can gain some
  performance boost while loading fonts because AFM files are not parsed and
  the mapping tables are not setup (also by Derek B. Noonburg)


- xglyph clips output window for the function fonttable() to the physical
  screen size. This is to prevent from freezing or exceeding resources if the
  fonttable button had accidentally been pressed while a large size was active.


- The utility function T1_DumpPixmap() removed from API. New function
  T1_XImageFromGlyph() added to X11 interface. This function allows, together
  with the Xpm-library function XpmWriteFileFromImage(), to write xpm-files
  from glyphs of arbitrary depths, colors, etc ...


- Functions T1_CopyOutline() and T1_FreeOutline() added to the outline interface.


- Fixed alignment problem on 64bit architecture.



September 1999: t1lib-0.9.2:
----------------------------


- Support for EMX-environments under MSDOS. This concerns the file locating
  routines. 


- t1lib now allows for charstring code 15 and escape code 15 by ignoring
  these. They may appear in some old Adobe fonts.


- Makefiles are more independent of GNU make.


- Finally, undefined/missing characters are handled consistent in all rastering
  functions by substituting .notdef. 


- Several bug-fixes



November 1999: t1lib-1.0:
-------------------------


- Bug-fixes. 


- There happen to exist different assumptions about what exactly ISOLatin1Encoding
  is. Especially the name for char 45 (dec) is not uniquely specified in 
  ISO 8859-1. Thus t1lib provides two encoding files ISOLatin1Encoding one
  which (PSLatin1.enc) is compatible with PostScript Level 2 and above.



March 2000: t1lib-1.0.1:
-------------------------


- A few bug Fixes.


- lenIV=-1 is now handled. According to an undocumented Adobe convention
  lenIV=-1 indicates suppressing of charstring encryption.
 

- Patches to compile t1lib und MS Visual C++ 6.0. In case something goes
  wrong, please contact Nakano Hideo (hideo@mb.infoeddy.ne.jp).



February 2001: t1lib-1.1.0:
---------------------------


- Bug Fixes.


- Functions T1_GetFontFilePath() and T1_GetAfmFilePath() which return the
  complete path of the files used by t1lib.


- Fixed parser code which previously failed on ASCII-encrypted files in 
  which the hex-lines were separated by <LF><CR> instead of by <LF> (Yes, 
  there such DOSian files out there ...).


- Multiple inclusion protection for t1lib.h


- T1_QueryLigs() fixed. It did not work correct if successors and/or 
  ligatures were not in the current encoding.


- New patches for VMS by Martin P. J. Zinser (zinser@decus.de).


- Patch by Sergey Babkin (babkin@bellatlantic.net) to correct the rasterizer 
  to respect StdStemWidths.


- General support for font subsetting.


- Dokumentation also provided as pdf for those people who do not have LaTeX
  installed. This is due to suggestions and patches by Nguyen-Dai Quy
  (NDQ@iris.ltas.ulg.ac.be).



April 2001: t1lib-1.1.1:
------------------------


- Update to libtool-1.3.5.


- T1_GetFontBBox() also accepts specification consisting of floating point
  numbers (as suggested by Derek B. Noonburg (derekn@foolabs.com)).


- Within the near future the t1lib-webpage will be no longer available  
  because I will change my employer.


- Similarly, the sources will be distributed from sunsite only from then on.


- The Author's eMail-address will also become invalid in the near future. The
  new and hopefully permanent eMail.address will be "Rainer.Menzner@web.de".



July 2001: t1lib-1.2:
----------------------


- Fixed bug in subsetting code.


- Fixed bug in AFM-parser code.


- Fixed kerning mapping code. Kerning did not work correctly for characters
  that appeared multiple times in an encoding vector. 


- In the same context a new function, T1_GetEncodingIndices() has been added
  to the API. It returns an array of indices (by contrast,
  T1_GetEncodingIndex() returns only the lowest index found).


- Support for composite characters.


- Additional support for dvips encoding files (thanks to suggestion and
  contribution by Nicolai Langfeldt (janl@linpro.no).


- Documentation is installed in PostScript and PDF format, but no longer in
  DVI format.



October 2001: t1lib-1.3:
------------------------


- *Really* an update to libtool-1.3.5


- Global Font Metrics Information is loaded from AFM files in order to be able
  to read the typographic ascender. Line ruling did not behave as
  documented. However, problems could still exist because the typographic
  ascender specification is optional in AFMs.


- Reorganized search path handling and, in particular, the respective
  documentation is more detailed. 


- The configuration file now allows multiple lines of one type of search path
  specification and it is also possible to quote path specification in order
  to specify paths that contains special characters like spaces, colons, etc. 


- Multiple font databases are supported. 


- T1_PrintLog() extended to accept a variable argument list. 


- The environment variable T1LIB_LOGMODE is evaluated to give the user the
  chance to specify a loglevel and hence to detect t1lib-problems even if the
  application programmer did not enable the log file features.


- Further bug fixes



November 2001: t1lib-1.3.1:
---------------------------


- Color problem in t1x11-module fixed.


- Fixes in AFM parser. Among others, Version had been read as name, instead of
  as string. This led to a failure to scan global font info for some standard AFMs.


- Fixes in of OpenVMS special code


- Further Fixes



January 2003: t1lib-5.0.0:
--------------------------


- Forced PostScript target in the doc directory to file.


- Subsetting code extended in order to ensure that components of
  composite characters are also part of the subset.


- Hinting meachanism reworked in order to get rid of some 
  rasterizing artifacts.


- Experimental support for stroked fonts (PaintType=1)


- Experimental support for stroking standard ATM fonts with PaintType=0.


- For historical reasons, there happened to exist a few documented API 
  functions that did not adhere to the T1_... naming convention. After
  considering the pro's and con's, I have decided to cleanup the interface,
  thus making this version incompatible to the previous version. Especially 
  in the type1 subdirectory there are still a lot of global symbols, but at 
  least these are not part of the documented API. The following functions 
  are affected:

  CheckForInit()           --> T1_CheckForInit()
  CheckForFontID()         --> T1_CheckForFontID()
  T1_Get_no_fonts()        --> T1_GetNoFonts()

  Furthermore, I have removed and made static a few functions which
  accidentally had found their way into t1lib.h, but which had not been part 
  of the documented API.

  I'm sorry if this causes inconveniences ...


- The new version, 5.0.0, follows as consequence from the issues discussed 
  above. It is defined by the libtool quantities CURRENT, REVISION and AGE.


- Functions for drawing rectangles.


- Bug Fixes


- Please also have a look at the topic "Future" in README.t1lib-5.0.0.



February 2004: t1lib-5.0.1:
---------------------------


- Support for Flex was not adapted to the changes from 5.0.0. This led to
  rasterization errors in fonts that use the Flex functionality --> fixed.


- Bug Fixes



April 2004: t1lib-5.0.2:
------------------------


- Changes not updated for this version



Mai 2005: t1lib-5.1.0:
----------------------


- Check against MultipleMasterFonts somewhat more tolerant, so that
  Type 1 Fonts automatically created from Multiple Master Fonts (e.g.
  using Mmpfb) should now be acceptable.


- The configure-machinery had been somewhat out of date and has been 
  updated. The distributed configure script has been generated by
  AutoConf 2.59 and the redistributed libtool parts are taken from  
  GNU libtool 1.5.10.


- Top-Level TeX-file in the doc subdirectory adapted to recent TeX
  systems' requirements.


- Added IsoLatin9.enc to distribution.


- Subsetting extended so that it works for SEAC-constructed composites
  even if no AFM composite character information is available


- Somewhat more intelligent defaults for subsetting when composite
  characters are included in the subset.


- Reallocation had been broken by relocation of internal StandardEncoding
  vector. This problem turned out on systems where realloc() actually
  returned a different pointer. 


- Fix for outline code on 64bit systems. This involves a redefinition
  of the T1_PATHPOINT struct. This should be uncritical because for 32bit
  systems there is no difference, whereas on 64bit systems, this has never 
  worked correctly before.


- DESTDIR support in Makefile.in by Volker Zell


- Support for XLFD font database format (in which the fonts' names appear
  in the first place on a line).


- Further Bug Fixes



December 2006: t1lib-5.1.1:
---------------------------

- DESTDIR support was missing and has been addded in install-target for type1afm.

- A bug fix in Anti-Aliasing subsampling code, which could make t1lib crash
  under certain conditions.

- Small number of further fixes, in particular with respect to the build 
  mechanism.



December 2007: t1lib-5.1.2:
---------------------------

- Small number of fixes reported by users. The fixes pertain to a
  vulnerability issue, memory access issues.

- More decent handling if Encoding and / or FontBBox specification are missing
  (which is invalid with respect to the specification, but recoverablel).
share/doc/alt-t1lib/README000064400000015662150405213370011076 0ustar00                  
  --------------------------------------------------------------------------
  --------------------------- t1lib-README ---------------------------------
  --------------------------------------------------------------------------

/*--------------------------------------------------------------------------
  ----- File:        REAMDE.t1lib-5.1.2
  ----- Author:      Rainer Menzner (Rainer.Menzner@web.de)
  ----- Date:        2007-12-23
  ----- Description: This is file README.t1lib of the t1lib-package. It
                     contains an overview and brief installation
                     instructions for the t1-library.
  ----- Copyright:   t1lib is copyrighted (c) Rainer Menzner, 1996-2007.
                     As of version 0.5, t1lib is distributed under the
		     GNU General Public Library License. The
		     conditions can be found in the files LICENSE and
		     LGPL, which should reside in the toplevel
		     directory of the distribution.  Please note that 
		     there are parts of t1lib that are subject to
		     other licenses:
		     The parseAFM-package is copyrighted by Adobe Systems
		     Inc.
		     The type1 rasterizer is copyrighted by IBM and the
		     X11-consortium.
  ----- Warranties:  Of course, there's NO WARRANTY OF ANY KIND :-)
  ----- Credits:     I want to thank IBM and the X11-consortium for making
                     their rasterizer freely available.
		     Also thanks to Piet Tutelaers for his ps2pk, from
		     which I took the rasterizer sources in a format
		     independent from X11.
                     Thanks to all people who make free software living!
--------------------------------------------------------------------------*/



About t1lib:
------------

t1lib is a library distributed under the GNU General Public Library
License for generating character- and string-glyphs from Adobe Type 1
fonts under UNIX. t1lib uses most of the code of the X11 rasterizer
donated by IBM to the X11-project. But some disadvantages of the
rasterizer being included in X11 have been eliminated. Here are some
of the features:

- t1lib is completely independent of X11 (although the program
  provided for testing the library needs X11)

- fonts are made known to library by means of a font database file at
  runtime 

- searchpaths for all types of input files are configured by means
  of a configuration file at runtime 

- characters are rastered as they are needed

- characters and complete strings may be rastered by a simple function
  call

- when rastering strings, pairwise kerning information from .afm-files
  may optionally be taken into account

- an interface to ligature-information of afm-files is provided

- a program to generate afm-files from Type 1 font files is included

- rotation and arbitrary transformations are supported

- there's support for extending and slanting fonts

- underlining, overlining and overstriking is supported

- new encoding vectors may be loaded at runtime and fonts may be
  reencoded using these encoding vectors 

- antialiasing is implemented 

- Right-To-Left typesetting is supported

- Font subsetting is easily possible

- support of composite character information

- stroking of character outlines with variable strokewidths 

- An interactive test program called "xglyph" is included in the
  distribution. This program allows to test all of the features of the
  library. It requires X11.



Changes and New Features:
-------------------------

- See the file Changes in the T1Lib top-directory for information on new
  features. 



Installation:
-------------

-----------------------------------------------------------------------------
Note: VMS-users should examine configure.com in the toplevel directory, which
      is a configure-script for VMS, kindly contributed by John Hasstedt
      and now maintained by Martin Zinser.
      This file contains notes on how to compile t1lib on VMS.
-----------------------------------------------------------------------------


After unpacking the archive (what you obviously did already), change
to subdirectory t1lib-..../  and type:

   ./configure

This will create the Makefiles. Then type

   make


In order to use the testprogram xglyph, X11 needs to be installed on your
system. 

If you have difficulties during configuring and building t1lib, cd to
directory t1lib-.../doc and execute

   $ latex t1lib_doc.tex
   $ makeindex t1lib_doc
   $ latex t1lib_doc.tex
   $ latex t1lib_doc.tex

This will generate the docs which contain a more detailed description 
of the build-process. LaTeX2e is required. Alternatively, you can scan the
preformatted pdf-documentation.


Before installing the libraries, you should test whether all things 
work correct:
     
1) Change to subdirectory xglyph

2) Start the program xglyph

3) Ensure that the output-window is not hidden behind another window.

4) Before doing anything other, click on button "String". The
   string "Test" should now be rastered and displayed in the
   output-window, using font BitstreamCharterBTRoman at 100bp without
   kerning. If that works, most probably all works for you.

5) Have a look at t1lib_doc.dvi in the doc-subdirectory of the package 
   and read the chapter on xglyph. However, most of this program is
   self-explaining, so that you might want to omit this step.

6) Play with the program and enjoy.

7) If you do not have X11, you can still check whether t1lib works for
   you. Copy one of the pfb-files from t1lib-.../Fonts/type1, say,
   bchr.pfb, to the type1afm-subdirectory, and run 

     type1afm bchr.pfb

   If the afm-file bchr.afm is generated, t1lib will most probably
   work on your system.



Documentation:
--------------

As mentioned above, documentation is provided in LaTeX2e-format
subdirectory T1Lib/doc. It should have been built during the build.
The section on runtime setup is really important,
because programs may fail due to an invalid or incomplete runtime
setup, although the programs itself may be correct!
A preformatted Version is also available in pdf.



How to get it:
--------------

t1lib is available at

ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-x.y[.z].tar.gz

where x.y[.z] is the version identification.



Closing:
--------

You are allowed to send the author lots of money and dozents of gifts,
but you needn't :-) 
If you have any comments to this library, feedback is wanted. Send
eMail to: 

Rainer.Menzner@web.de



Future:
-------

Within the past years, my time has constantly and increasingly become spare so
that I hardly found time to further develop t1lib. And developing free
software is undoubtedly related to a certain amount of fun, which in turn only
can come up if you are relaxed with respect to time ...

Since t1lib now has reached a reasonably stable state, I intend to more or
less freeze the development of new features at this point. Of course, bug
fixes etc. should be possible further.

If there is somebody out there willing to further develop t1lib, he or she is
welcome to contact me ...



Have fun,

  -Rainer

share/doc/alt-t1lib/LGPL000064400000061273150405213370010676 0ustar00		  GNU LIBRARY GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1991 Free Software Foundation, Inc.
    		    59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

[This is the first released version of the library GPL.  It is
 numbered 2 because it goes with version 2 of the ordinary GPL.]

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.

  This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it.  You can use it for
your libraries, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.

  For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you.  You must make sure that they, too, receive or can get the source
code.  If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it.  And you must show them these terms so they know their rights.

  Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.

  Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library.  If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software.  To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.

  Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs.  This
license, the GNU Library General Public License, applies to certain
designated libraries.  This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.

  The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it.  Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program.  However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.

  Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries.  We
concluded that weaker conditions might promote sharing better.

  However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves.  This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them.  (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.)  The hope is that this
will lead to faster development of free libraries.

  The precise terms and conditions for copying, distribution and
modification follow.  Pay close attention to the difference between a
"work based on the library" and a "work that uses the library".  The
former contains code derived from the library, while the latter only
works together with the library.

  Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.

		  GNU LIBRARY GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License").  Each licensee is
addressed as "you".

  A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.

  The "Library", below, refers to any such software library or work
which has been distributed under these terms.  A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language.  (Hereinafter, translation is
included without limitation in the term "modification".)

  "Source code" for a work means the preferred form of the work for
making modifications to it.  For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.

  Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it).  Whether that is true depends on what the Library does
and what the program that uses the Library does.
  
  1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.

  You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.

  2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) The modified work must itself be a software library.

    b) You must cause the files modified to carry prominent notices
    stating that you changed the files and the date of any change.

    c) You must cause the whole of the work to be licensed at no
    charge to all third parties under the terms of this License.

    d) If a facility in the modified Library refers to a function or a
    table of data to be supplied by an application program that uses
    the facility, other than as an argument passed when the facility
    is invoked, then you must make a good faith effort to ensure that,
    in the event an application does not supply such function or
    table, the facility still operates, and performs whatever part of
    its purpose remains meaningful.

    (For example, a function in a library to compute square roots has
    a purpose that is entirely well-defined independent of the
    application.  Therefore, Subsection 2d requires that any
    application-supplied function or table used by this function must
    be optional: if the application does not supply it, the square
    root function must still compute square roots.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.

In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library.  To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License.  (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.)  Do not make any other change in
these notices.

  Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.

  This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.

  4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.

  If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.

  5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

  However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library".  The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

  When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library.  The
threshold for this to be true is not precisely defined by law.

  If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work.  (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

  Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

  6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.

  You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License.  You must supply a copy of this License.  If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License.  Also, you must do one
of these things:

    a) Accompany the work with the complete corresponding
    machine-readable source code for the Library including whatever
    changes were used in the work (which must be distributed under
    Sections 1 and 2 above); and, if the work is an executable linked
    with the Library, with the complete machine-readable "work that
    uses the Library", as object code and/or source code, so that the
    user can modify the Library and then relink to produce a modified
    executable containing the modified Library.  (It is understood
    that the user who changes the contents of definitions files in the
    Library will not necessarily be able to recompile the application
    to use the modified definitions.)

    b) Accompany the work with a written offer, valid for at
    least three years, to give the same user the materials
    specified in Subsection 6a, above, for a charge no more
    than the cost of performing this distribution.

    c) If distribution of the work is made by offering access to copy
    from a designated place, offer equivalent access to copy the above
    specified materials from the same place.

    d) Verify that the user has already received a copy of these
    materials or that you have already sent this user a copy.

  For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it.  However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.

  It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system.  Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.

  7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:

    a) Accompany the combined library with a copy of the same work
    based on the Library, uncombined with any other library
    facilities.  This must be distributed under the terms of the
    Sections above.

    b) Give prominent notice with the combined library of the fact
    that part of it is a work based on the Library, and explaining
    where to find the accompanying uncombined form of the same work.

  8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License.  Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License.  However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.

  9. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Library or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.

  10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all.  For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded.  In such case, this License incorporates the limitation as if
written in the body of this License.

  13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number.  If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation.  If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.

  14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission.  For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this.  Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.

			    NO WARRANTY

  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.

		     END OF TERMS AND CONDITIONS

           How to Apply These Terms to Your New Libraries

  If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change.  You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).

  To apply these terms, attach the following notices to the library.  It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.

    <one line to give the library's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.

  <signature of Ty Coon>, 1 April 1990
  Ty Coon, President of Vice

That's all there is to it!
include/pcrecpparg.h000064400000015177150405535520010505 0ustar00// Copyright (c) 2005, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: Sanjay Ghemawat

#ifndef _PCRECPPARG_H
#define _PCRECPPARG_H

#include <stdlib.h>    // for NULL
#include <string>

#include <pcre.h>

namespace pcrecpp {

class StringPiece;

// Hex/Octal/Binary?

// Special class for parsing into objects that define a ParseFrom() method
template <class T>
class _RE_MatchObject {
 public:
  static inline bool Parse(const char* str, int n, void* dest) {
    if (dest == NULL) return true;
    T* object = reinterpret_cast<T*>(dest);
    return object->ParseFrom(str, n);
  }
};

class PCRECPP_EXP_DEFN Arg {
 public:
  // Empty constructor so we can declare arrays of Arg
  Arg();

  // Constructor specially designed for NULL arguments
  Arg(void*);

  typedef bool (*Parser)(const char* str, int n, void* dest);

// Type-specific parsers
#define PCRE_MAKE_PARSER(type,name)                             \
  Arg(type* p) : arg_(p), parser_(name) { }                     \
  Arg(type* p, Parser parser) : arg_(p), parser_(parser) { }


  PCRE_MAKE_PARSER(char,               parse_char);
  PCRE_MAKE_PARSER(unsigned char,      parse_uchar);
  PCRE_MAKE_PARSER(short,              parse_short);
  PCRE_MAKE_PARSER(unsigned short,     parse_ushort);
  PCRE_MAKE_PARSER(int,                parse_int);
  PCRE_MAKE_PARSER(unsigned int,       parse_uint);
  PCRE_MAKE_PARSER(long,               parse_long);
  PCRE_MAKE_PARSER(unsigned long,      parse_ulong);
#if 1
  PCRE_MAKE_PARSER(long long,          parse_longlong);
#endif
#if 1
  PCRE_MAKE_PARSER(unsigned long long, parse_ulonglong);
#endif
  PCRE_MAKE_PARSER(float,              parse_float);
  PCRE_MAKE_PARSER(double,             parse_double);
  PCRE_MAKE_PARSER(std::string,        parse_string);
  PCRE_MAKE_PARSER(StringPiece,        parse_stringpiece);

#undef PCRE_MAKE_PARSER

  // Generic constructor
  template <class T> Arg(T*, Parser parser);
  // Generic constructor template
  template <class T> Arg(T* p)
    : arg_(p), parser_(_RE_MatchObject<T>::Parse) {
  }

  // Parse the data
  bool Parse(const char* str, int n) const;

 private:
  void*         arg_;
  Parser        parser_;

  static bool parse_null          (const char* str, int n, void* dest);
  static bool parse_char          (const char* str, int n, void* dest);
  static bool parse_uchar         (const char* str, int n, void* dest);
  static bool parse_float         (const char* str, int n, void* dest);
  static bool parse_double        (const char* str, int n, void* dest);
  static bool parse_string        (const char* str, int n, void* dest);
  static bool parse_stringpiece   (const char* str, int n, void* dest);

#define PCRE_DECLARE_INTEGER_PARSER(name)                                   \
 private:                                                                   \
  static bool parse_ ## name(const char* str, int n, void* dest);           \
  static bool parse_ ## name ## _radix(                                     \
    const char* str, int n, void* dest, int radix);                         \
 public:                                                                    \
  static bool parse_ ## name ## _hex(const char* str, int n, void* dest);   \
  static bool parse_ ## name ## _octal(const char* str, int n, void* dest); \
  static bool parse_ ## name ## _cradix(const char* str, int n, void* dest)

  PCRE_DECLARE_INTEGER_PARSER(short);
  PCRE_DECLARE_INTEGER_PARSER(ushort);
  PCRE_DECLARE_INTEGER_PARSER(int);
  PCRE_DECLARE_INTEGER_PARSER(uint);
  PCRE_DECLARE_INTEGER_PARSER(long);
  PCRE_DECLARE_INTEGER_PARSER(ulong);
  PCRE_DECLARE_INTEGER_PARSER(longlong);
  PCRE_DECLARE_INTEGER_PARSER(ulonglong);

#undef PCRE_DECLARE_INTEGER_PARSER
};

inline Arg::Arg() : arg_(NULL), parser_(parse_null) { }
inline Arg::Arg(void* p) : arg_(p), parser_(parse_null) { }

inline bool Arg::Parse(const char* str, int n) const {
  return (*parser_)(str, n, arg_);
}

// This part of the parser, appropriate only for ints, deals with bases
#define MAKE_INTEGER_PARSER(type, name) \
  inline Arg Hex(type* ptr) { \
    return Arg(ptr, Arg::parse_ ## name ## _hex); } \
  inline Arg Octal(type* ptr) { \
    return Arg(ptr, Arg::parse_ ## name ## _octal); } \
  inline Arg CRadix(type* ptr) { \
    return Arg(ptr, Arg::parse_ ## name ## _cradix); }

MAKE_INTEGER_PARSER(short,              short)     /*                        */
MAKE_INTEGER_PARSER(unsigned short,     ushort)    /*                        */
MAKE_INTEGER_PARSER(int,                int)       /* Don't use semicolons   */
MAKE_INTEGER_PARSER(unsigned int,       uint)      /* after these statement  */
MAKE_INTEGER_PARSER(long,               long)      /* because they can cause */
MAKE_INTEGER_PARSER(unsigned long,      ulong)     /* compiler warnings if   */
#if 1                          /* the checking level is  */
MAKE_INTEGER_PARSER(long long,          longlong)  /* turned up high enough. */
#endif                                             /*                        */
#if 1                         /*                        */
MAKE_INTEGER_PARSER(unsigned long long, ulonglong) /*                        */
#endif

#undef PCRE_IS_SET
#undef PCRE_SET_OR_CLEAR
#undef MAKE_INTEGER_PARSER

}   // namespace pcrecpp


#endif /* _PCRECPPARG_H */
include/pcreposix.h000064400000012400150405535520010355 0ustar00/*************************************************
*       Perl-Compatible Regular Expressions      *
*************************************************/

#ifndef _PCREPOSIX_H
#define _PCREPOSIX_H

/* This is the header for the POSIX wrapper interface to the PCRE Perl-
Compatible Regular Expression library. It defines the things POSIX says should
be there. I hope.

            Copyright (c) 1997-2009 University of Cambridge

-----------------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    * Neither the name of the University of Cambridge nor the names of its
      contributors may be used to endorse or promote products derived from
      this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
*/

/* Have to include stdlib.h in order to ensure that size_t is defined. */

#include <stdlib.h>

/* Allow for C++ users */

#ifdef __cplusplus
extern "C" {
#endif

/* Options, mostly defined by POSIX, but with some extras. */

#define REG_ICASE     0x0001   /* Maps to PCRE_CASELESS */
#define REG_NEWLINE   0x0002   /* Maps to PCRE_MULTILINE */
#define REG_NOTBOL    0x0004   /* Maps to PCRE_NOTBOL */
#define REG_NOTEOL    0x0008   /* Maps to PCRE_NOTEOL */
#define REG_DOTALL    0x0010   /* NOT defined by POSIX; maps to PCRE_DOTALL */
#define REG_NOSUB     0x0020   /* Maps to PCRE_NO_AUTO_CAPTURE */
#define REG_UTF8      0x0040   /* NOT defined by POSIX; maps to PCRE_UTF8 */
#define REG_STARTEND  0x0080   /* BSD feature: pass subject string by so,eo */
#define REG_NOTEMPTY  0x0100   /* NOT defined by POSIX; maps to PCRE_NOTEMPTY */
#define REG_UNGREEDY  0x0200   /* NOT defined by POSIX; maps to PCRE_UNGREEDY */

/* This is not used by PCRE, but by defining it we make it easier
to slot PCRE into existing programs that make POSIX calls. */

#define REG_EXTENDED  0

/* Error values. Not all these are relevant or used by the wrapper. */

enum {
  REG_ASSERT = 1,  /* internal error ? */
  REG_BADBR,       /* invalid repeat counts in {} */
  REG_BADPAT,      /* pattern error */
  REG_BADRPT,      /* ? * + invalid */
  REG_EBRACE,      /* unbalanced {} */
  REG_EBRACK,      /* unbalanced [] */
  REG_ECOLLATE,    /* collation error - not relevant */
  REG_ECTYPE,      /* bad class */
  REG_EESCAPE,     /* bad escape sequence */
  REG_EMPTY,       /* empty expression */
  REG_EPAREN,      /* unbalanced () */
  REG_ERANGE,      /* bad range inside [] */
  REG_ESIZE,       /* expression too big */
  REG_ESPACE,      /* failed to get memory */
  REG_ESUBREG,     /* bad back reference */
  REG_INVARG,      /* bad argument */
  REG_NOMATCH      /* match failed */
};


/* The structure representing a compiled regular expression. */

typedef struct {
  void *re_pcre;
  size_t re_nsub;
  size_t re_erroffset;
} regex_t;

/* The structure in which a captured offset is returned. */

typedef int regoff_t;

typedef struct {
  regoff_t rm_so;
  regoff_t rm_eo;
} regmatch_t;

/* When an application links to a PCRE DLL in Windows, the symbols that are
imported have to be identified as such. When building PCRE, the appropriate
export settings are needed, and are set in pcreposix.c before including this
file. */

#if defined(_WIN32) && !defined(PCRE_STATIC) && !defined(PCREPOSIX_EXP_DECL)
#  define PCREPOSIX_EXP_DECL  extern __declspec(dllimport)
#  define PCREPOSIX_EXP_DEFN  __declspec(dllimport)
#endif

/* By default, we use the standard "extern" declarations. */

#ifndef PCREPOSIX_EXP_DECL
#  ifdef __cplusplus
#    define PCREPOSIX_EXP_DECL  extern "C"
#    define PCREPOSIX_EXP_DEFN  extern "C"
#  else
#    define PCREPOSIX_EXP_DECL  extern
#    define PCREPOSIX_EXP_DEFN  extern
#  endif
#endif

/* The functions */

PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int);
PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t,
                     regmatch_t *, int);
PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t);
PCREPOSIX_EXP_DECL void regfree(regex_t *);

#ifdef __cplusplus
}   /* extern "C" */
#endif

#endif /* End of pcreposix.h */
include/pcrecpp.h000064400000063641150405535520010012 0ustar00// Copyright (c) 2005, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: Sanjay Ghemawat
// Support for PCRE_XXX modifiers added by Giuseppe Maxia, July 2005

#ifndef _PCRECPP_H
#define _PCRECPP_H

// C++ interface to the pcre regular-expression library.  RE supports
// Perl-style regular expressions (with extensions like \d, \w, \s,
// ...).
//
// -----------------------------------------------------------------------
// REGEXP SYNTAX:
//
// This module is part of the pcre library and hence supports its syntax
// for regular expressions.
//
// The syntax is pretty similar to Perl's.  For those not familiar
// with Perl's regular expressions, here are some examples of the most
// commonly used extensions:
//
//   "hello (\\w+) world"  -- \w matches a "word" character
//   "version (\\d+)"      -- \d matches a digit
//   "hello\\s+world"      -- \s matches any whitespace character
//   "\\b(\\w+)\\b"        -- \b matches empty string at a word boundary
//   "(?i)hello"           -- (?i) turns on case-insensitive matching
//   "/\\*(.*?)\\*/"       -- .*? matches . minimum no. of times possible
//
// -----------------------------------------------------------------------
// MATCHING INTERFACE:
//
// The "FullMatch" operation checks that supplied text matches a
// supplied pattern exactly.
//
// Example: successful match
//    pcrecpp::RE re("h.*o");
//    re.FullMatch("hello");
//
// Example: unsuccessful match (requires full match):
//    pcrecpp::RE re("e");
//    !re.FullMatch("hello");
//
// Example: creating a temporary RE object:
//    pcrecpp::RE("h.*o").FullMatch("hello");
//
// You can pass in a "const char*" or a "string" for "text".  The
// examples below tend to use a const char*.
//
// You can, as in the different examples above, store the RE object
// explicitly in a variable or use a temporary RE object.  The
// examples below use one mode or the other arbitrarily.  Either
// could correctly be used for any of these examples.
//
// -----------------------------------------------------------------------
// MATCHING WITH SUB-STRING EXTRACTION:
//
// You can supply extra pointer arguments to extract matched subpieces.
//
// Example: extracts "ruby" into "s" and 1234 into "i"
//    int i;
//    string s;
//    pcrecpp::RE re("(\\w+):(\\d+)");
//    re.FullMatch("ruby:1234", &s, &i);
//
// Example: does not try to extract any extra sub-patterns
//    re.FullMatch("ruby:1234", &s);
//
// Example: does not try to extract into NULL
//    re.FullMatch("ruby:1234", NULL, &i);
//
// Example: integer overflow causes failure
//    !re.FullMatch("ruby:1234567891234", NULL, &i);
//
// Example: fails because there aren't enough sub-patterns:
//    !pcrecpp::RE("\\w+:\\d+").FullMatch("ruby:1234", &s);
//
// Example: fails because string cannot be stored in integer
//    !pcrecpp::RE("(.*)").FullMatch("ruby", &i);
//
// The provided pointer arguments can be pointers to any scalar numeric
// type, or one of
//    string        (matched piece is copied to string)
//    StringPiece   (StringPiece is mutated to point to matched piece)
//    T             (where "bool T::ParseFrom(const char*, int)" exists)
//    NULL          (the corresponding matched sub-pattern is not copied)
//
// CAVEAT: An optional sub-pattern that does not exist in the matched
// string is assigned the empty string.  Therefore, the following will
// return false (because the empty string is not a valid number):
//    int number;
//    pcrecpp::RE::FullMatch("abc", "[a-z]+(\\d+)?", &number);
//
// -----------------------------------------------------------------------
// DO_MATCH
//
// The matching interface supports at most 16 arguments per call.
// If you need more, consider using the more general interface
// pcrecpp::RE::DoMatch().  See pcrecpp.h for the signature for DoMatch.
//
// -----------------------------------------------------------------------
// PARTIAL MATCHES
//
// You can use the "PartialMatch" operation when you want the pattern
// to match any substring of the text.
//
// Example: simple search for a string:
//    pcrecpp::RE("ell").PartialMatch("hello");
//
// Example: find first number in a string:
//    int number;
//    pcrecpp::RE re("(\\d+)");
//    re.PartialMatch("x*100 + 20", &number);
//    assert(number == 100);
//
// -----------------------------------------------------------------------
// UTF-8 AND THE MATCHING INTERFACE:
//
// By default, pattern and text are plain text, one byte per character.
// The UTF8 flag, passed to the constructor, causes both pattern
// and string to be treated as UTF-8 text, still a byte stream but
// potentially multiple bytes per character. In practice, the text
// is likelier to be UTF-8 than the pattern, but the match returned
// may depend on the UTF8 flag, so always use it when matching
// UTF8 text.  E.g., "." will match one byte normally but with UTF8
// set may match up to three bytes of a multi-byte character.
//
// Example:
//    pcrecpp::RE_Options options;
//    options.set_utf8();
//    pcrecpp::RE re(utf8_pattern, options);
//    re.FullMatch(utf8_string);
//
// Example: using the convenience function UTF8():
//    pcrecpp::RE re(utf8_pattern, pcrecpp::UTF8());
//    re.FullMatch(utf8_string);
//
// NOTE: The UTF8 option is ignored if pcre was not configured with the
//       --enable-utf8 flag.
//
// -----------------------------------------------------------------------
// PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE
//
// PCRE defines some modifiers to change the behavior of the regular
// expression engine.
// The C++ wrapper defines an auxiliary class, RE_Options, as a vehicle
// to pass such modifiers to a RE class.
//
// Currently, the following modifiers are supported
//
//    modifier              description               Perl corresponding
//
//    PCRE_CASELESS         case insensitive match    /i
//    PCRE_MULTILINE        multiple lines match      /m
//    PCRE_DOTALL           dot matches newlines      /s
//    PCRE_DOLLAR_ENDONLY   $ matches only at end     N/A
//    PCRE_EXTRA            strict escape parsing     N/A
//    PCRE_EXTENDED         ignore whitespaces        /x
//    PCRE_UTF8             handles UTF8 chars        built-in
//    PCRE_UNGREEDY         reverses * and *?         N/A
//    PCRE_NO_AUTO_CAPTURE  disables matching parens  N/A (*)
//
// (For a full account on how each modifier works, please check the
// PCRE API reference manual).
//
// (*) Both Perl and PCRE allow non matching parentheses by means of the
// "?:" modifier within the pattern itself. e.g. (?:ab|cd) does not
// capture, while (ab|cd) does.
//
// For each modifier, there are two member functions whose name is made
// out of the modifier in lowercase, without the "PCRE_" prefix. For
// instance, PCRE_CASELESS is handled by
//    bool caseless(),
// which returns true if the modifier is set, and
//    RE_Options & set_caseless(bool),
// which sets or unsets the modifier.
//
// Moreover, PCRE_EXTRA_MATCH_LIMIT can be accessed through the
// set_match_limit() and match_limit() member functions.
// Setting match_limit to a non-zero value will limit the executation of
// pcre to keep it from doing bad things like blowing the stack or taking
// an eternity to return a result.  A value of 5000 is good enough to stop
// stack blowup in a 2MB thread stack.  Setting match_limit to zero will
// disable match limiting.  Alternately, you can set match_limit_recursion()
// which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much pcre
// recurses.  match_limit() caps the number of matches pcre does;
// match_limit_recrusion() caps the depth of recursion.
//
// Normally, to pass one or more modifiers to a RE class, you declare
// a RE_Options object, set the appropriate options, and pass this
// object to a RE constructor. Example:
//
//    RE_options opt;
//    opt.set_caseless(true);
//
//    if (RE("HELLO", opt).PartialMatch("hello world")) ...
//
// RE_options has two constructors. The default constructor takes no
// arguments and creates a set of flags that are off by default.
//
// The optional parameter 'option_flags' is to facilitate transfer
// of legacy code from C programs.  This lets you do
//    RE(pattern, RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
//
// But new code is better off doing
//    RE(pattern,
//      RE_Options().set_caseless(true).set_multiline(true)).PartialMatch(str);
// (See below)
//
// If you are going to pass one of the most used modifiers, there are some
// convenience functions that return a RE_Options class with the
// appropriate modifier already set:
// CASELESS(), UTF8(), MULTILINE(), DOTALL(), EXTENDED()
//
// If you need to set several options at once, and you don't want to go
// through the pains of declaring a RE_Options object and setting several
// options, there is a parallel method that give you such ability on the
// fly. You can concatenate several set_xxxxx member functions, since each
// of them returns a reference to its class object.  e.g.: to pass
// PCRE_CASELESS, PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one
// statement, you may write
//
//    RE(" ^ xyz \\s+ .* blah$", RE_Options()
//                            .set_caseless(true)
//                            .set_extended(true)
//                            .set_multiline(true)).PartialMatch(sometext);
//
// -----------------------------------------------------------------------
// SCANNING TEXT INCREMENTALLY
//
// The "Consume" operation may be useful if you want to repeatedly
// match regular expressions at the front of a string and skip over
// them as they match.  This requires use of the "StringPiece" type,
// which represents a sub-range of a real string.  Like RE, StringPiece
// is defined in the pcrecpp namespace.
//
// Example: read lines of the form "var = value" from a string.
//    string contents = ...;                 // Fill string somehow
//    pcrecpp::StringPiece input(contents);  // Wrap in a StringPiece
//
//    string var;
//    int value;
//    pcrecpp::RE re("(\\w+) = (\\d+)\n");
//    while (re.Consume(&input, &var, &value)) {
//      ...;
//    }
//
// Each successful call to "Consume" will set "var/value", and also
// advance "input" so it points past the matched text.
//
// The "FindAndConsume" operation is similar to "Consume" but does not
// anchor your match at the beginning of the string.  For example, you
// could extract all words from a string by repeatedly calling
//     pcrecpp::RE("(\\w+)").FindAndConsume(&input, &word)
//
// -----------------------------------------------------------------------
// PARSING HEX/OCTAL/C-RADIX NUMBERS
//
// By default, if you pass a pointer to a numeric value, the
// corresponding text is interpreted as a base-10 number.  You can
// instead wrap the pointer with a call to one of the operators Hex(),
// Octal(), or CRadix() to interpret the text in another base.  The
// CRadix operator interprets C-style "0" (base-8) and "0x" (base-16)
// prefixes, but defaults to base-10.
//
// Example:
//   int a, b, c, d;
//   pcrecpp::RE re("(.*) (.*) (.*) (.*)");
//   re.FullMatch("100 40 0100 0x40",
//                pcrecpp::Octal(&a), pcrecpp::Hex(&b),
//                pcrecpp::CRadix(&c), pcrecpp::CRadix(&d));
// will leave 64 in a, b, c, and d.
//
// -----------------------------------------------------------------------
// REPLACING PARTS OF STRINGS
//
// You can replace the first match of "pattern" in "str" with
// "rewrite".  Within "rewrite", backslash-escaped digits (\1 to \9)
// can be used to insert text matching corresponding parenthesized
// group from the pattern.  \0 in "rewrite" refers to the entire
// matching text.  E.g.,
//
//   string s = "yabba dabba doo";
//   pcrecpp::RE("b+").Replace("d", &s);
//
// will leave "s" containing "yada dabba doo".  The result is true if
// the pattern matches and a replacement occurs, or false otherwise.
//
// GlobalReplace() is like Replace(), except that it replaces all
// occurrences of the pattern in the string with the rewrite.
// Replacements are not subject to re-matching.  E.g.,
//
//   string s = "yabba dabba doo";
//   pcrecpp::RE("b+").GlobalReplace("d", &s);
//
// will leave "s" containing "yada dada doo".  It returns the number
// of replacements made.
//
// Extract() is like Replace(), except that if the pattern matches,
// "rewrite" is copied into "out" (an additional argument) with
// substitutions.  The non-matching portions of "text" are ignored.
// Returns true iff a match occurred and the extraction happened
// successfully.  If no match occurs, the string is left unaffected.


#include <string>
#include <pcre.h>
#include <pcrecpparg.h>   // defines the Arg class
// This isn't technically needed here, but we include it
// anyway so folks who include pcrecpp.h don't have to.
#include <pcre_stringpiece.h>

namespace pcrecpp {

#define PCRE_SET_OR_CLEAR(b, o) \
    if (b) all_options_ |= (o); else all_options_ &= ~(o); \
    return *this

#define PCRE_IS_SET(o)  \
        (all_options_ & o) == o

/***** Compiling regular expressions: the RE class *****/

// RE_Options allow you to set options to be passed along to pcre,
// along with other options we put on top of pcre.
// Only 9 modifiers, plus match_limit and match_limit_recursion,
// are supported now.
class PCRECPP_EXP_DEFN RE_Options {
 public:
  // constructor
  RE_Options() : match_limit_(0), match_limit_recursion_(0), all_options_(0) {}

  // alternative constructor.
  // To facilitate transfer of legacy code from C programs
  //
  // This lets you do
  //    RE(pattern, RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
  // But new code is better off doing
  //    RE(pattern,
  //      RE_Options().set_caseless(true).set_multiline(true)).PartialMatch(str);
  RE_Options(int option_flags) : match_limit_(0), match_limit_recursion_(0),
                                 all_options_(option_flags) {}
  // we're fine with the default destructor, copy constructor, etc.

  // accessors and mutators
  int match_limit() const { return match_limit_; };
  RE_Options &set_match_limit(int limit) {
    match_limit_ = limit;
    return *this;
  }

  int match_limit_recursion() const { return match_limit_recursion_; };
  RE_Options &set_match_limit_recursion(int limit) {
    match_limit_recursion_ = limit;
    return *this;
  }

  bool caseless() const {
    return PCRE_IS_SET(PCRE_CASELESS);
  }
  RE_Options &set_caseless(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_CASELESS);
  }

  bool multiline() const {
    return PCRE_IS_SET(PCRE_MULTILINE);
  }
  RE_Options &set_multiline(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_MULTILINE);
  }

  bool dotall() const {
    return PCRE_IS_SET(PCRE_DOTALL);
  }
  RE_Options &set_dotall(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_DOTALL);
  }

  bool extended() const {
    return PCRE_IS_SET(PCRE_EXTENDED);
  }
  RE_Options &set_extended(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_EXTENDED);
  }

  bool dollar_endonly() const {
    return PCRE_IS_SET(PCRE_DOLLAR_ENDONLY);
  }
  RE_Options &set_dollar_endonly(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_DOLLAR_ENDONLY);
  }

  bool extra() const {
    return PCRE_IS_SET(PCRE_EXTRA);
  }
  RE_Options &set_extra(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_EXTRA);
  }

  bool ungreedy() const {
    return PCRE_IS_SET(PCRE_UNGREEDY);
  }
  RE_Options &set_ungreedy(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_UNGREEDY);
  }

  bool utf8() const {
    return PCRE_IS_SET(PCRE_UTF8);
  }
  RE_Options &set_utf8(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_UTF8);
  }

  bool no_auto_capture() const {
    return PCRE_IS_SET(PCRE_NO_AUTO_CAPTURE);
  }
  RE_Options &set_no_auto_capture(bool x) {
    PCRE_SET_OR_CLEAR(x, PCRE_NO_AUTO_CAPTURE);
  }

  RE_Options &set_all_options(int opt) {
    all_options_ = opt;
    return *this;
  }
  int all_options() const {
    return all_options_ ;
  }

  // TODO: add other pcre flags

 private:
  int match_limit_;
  int match_limit_recursion_;
  int all_options_;
};

// These functions return some common RE_Options
static inline RE_Options UTF8() {
  return RE_Options().set_utf8(true);
}

static inline RE_Options CASELESS() {
  return RE_Options().set_caseless(true);
}
static inline RE_Options MULTILINE() {
  return RE_Options().set_multiline(true);
}

static inline RE_Options DOTALL() {
  return RE_Options().set_dotall(true);
}

static inline RE_Options EXTENDED() {
  return RE_Options().set_extended(true);
}

// Interface for regular expression matching.  Also corresponds to a
// pre-compiled regular expression.  An "RE" object is safe for
// concurrent use by multiple threads.
class PCRECPP_EXP_DEFN RE {
 public:
  // We provide implicit conversions from strings so that users can
  // pass in a string or a "const char*" wherever an "RE" is expected.
  RE(const string& pat) { Init(pat, NULL); }
  RE(const string& pat, const RE_Options& option) { Init(pat, &option); }
  RE(const char* pat) { Init(pat, NULL); }
  RE(const char* pat, const RE_Options& option) { Init(pat, &option); }
  RE(const unsigned char* pat) {
    Init(reinterpret_cast<const char*>(pat), NULL);
  }
  RE(const unsigned char* pat, const RE_Options& option) {
    Init(reinterpret_cast<const char*>(pat), &option);
  }

  // Copy constructor & assignment - note that these are expensive
  // because they recompile the expression.
  RE(const RE& re) { Init(re.pattern_, &re.options_); }
  const RE& operator=(const RE& re) {
    if (this != &re) {
      Cleanup();

      // This is the code that originally came from Google
      // Init(re.pattern_.c_str(), &re.options_);

      // This is the replacement from Ari Pollak
      Init(re.pattern_, &re.options_);
    }
    return *this;
  }


  ~RE();

  // The string specification for this RE.  E.g.
  //   RE re("ab*c?d+");
  //   re.pattern();    // "ab*c?d+"
  const string& pattern() const { return pattern_; }

  // If RE could not be created properly, returns an error string.
  // Else returns the empty string.
  const string& error() const { return *error_; }

  /***** The useful part: the matching interface *****/

  // This is provided so one can do pattern.ReplaceAll() just as
  // easily as ReplaceAll(pattern-text, ....)

  bool FullMatch(const StringPiece& text,
                 const Arg& ptr1 = no_arg,
                 const Arg& ptr2 = no_arg,
                 const Arg& ptr3 = no_arg,
                 const Arg& ptr4 = no_arg,
                 const Arg& ptr5 = no_arg,
                 const Arg& ptr6 = no_arg,
                 const Arg& ptr7 = no_arg,
                 const Arg& ptr8 = no_arg,
                 const Arg& ptr9 = no_arg,
                 const Arg& ptr10 = no_arg,
                 const Arg& ptr11 = no_arg,
                 const Arg& ptr12 = no_arg,
                 const Arg& ptr13 = no_arg,
                 const Arg& ptr14 = no_arg,
                 const Arg& ptr15 = no_arg,
                 const Arg& ptr16 = no_arg) const;

  bool PartialMatch(const StringPiece& text,
                    const Arg& ptr1 = no_arg,
                    const Arg& ptr2 = no_arg,
                    const Arg& ptr3 = no_arg,
                    const Arg& ptr4 = no_arg,
                    const Arg& ptr5 = no_arg,
                    const Arg& ptr6 = no_arg,
                    const Arg& ptr7 = no_arg,
                    const Arg& ptr8 = no_arg,
                    const Arg& ptr9 = no_arg,
                    const Arg& ptr10 = no_arg,
                    const Arg& ptr11 = no_arg,
                    const Arg& ptr12 = no_arg,
                    const Arg& ptr13 = no_arg,
                    const Arg& ptr14 = no_arg,
                    const Arg& ptr15 = no_arg,
                    const Arg& ptr16 = no_arg) const;

  bool Consume(StringPiece* input,
               const Arg& ptr1 = no_arg,
               const Arg& ptr2 = no_arg,
               const Arg& ptr3 = no_arg,
               const Arg& ptr4 = no_arg,
               const Arg& ptr5 = no_arg,
               const Arg& ptr6 = no_arg,
               const Arg& ptr7 = no_arg,
               const Arg& ptr8 = no_arg,
               const Arg& ptr9 = no_arg,
               const Arg& ptr10 = no_arg,
               const Arg& ptr11 = no_arg,
               const Arg& ptr12 = no_arg,
               const Arg& ptr13 = no_arg,
               const Arg& ptr14 = no_arg,
               const Arg& ptr15 = no_arg,
               const Arg& ptr16 = no_arg) const;

  bool FindAndConsume(StringPiece* input,
                      const Arg& ptr1 = no_arg,
                      const Arg& ptr2 = no_arg,
                      const Arg& ptr3 = no_arg,
                      const Arg& ptr4 = no_arg,
                      const Arg& ptr5 = no_arg,
                      const Arg& ptr6 = no_arg,
                      const Arg& ptr7 = no_arg,
                      const Arg& ptr8 = no_arg,
                      const Arg& ptr9 = no_arg,
                      const Arg& ptr10 = no_arg,
                      const Arg& ptr11 = no_arg,
                      const Arg& ptr12 = no_arg,
                      const Arg& ptr13 = no_arg,
                      const Arg& ptr14 = no_arg,
                      const Arg& ptr15 = no_arg,
                      const Arg& ptr16 = no_arg) const;

  bool Replace(const StringPiece& rewrite,
               string *str) const;

  int GlobalReplace(const StringPiece& rewrite,
                    string *str) const;

  bool Extract(const StringPiece &rewrite,
               const StringPiece &text,
               string *out) const;

  // Escapes all potentially meaningful regexp characters in
  // 'unquoted'.  The returned string, used as a regular expression,
  // will exactly match the original string.  For example,
  //           1.5-2.0?
  // may become:
  //           1\.5\-2\.0\?
  // Note QuoteMeta behaves the same as perl's QuoteMeta function,
  // *except* that it escapes the NUL character (\0) as backslash + 0,
  // rather than backslash + NUL.
  static string QuoteMeta(const StringPiece& unquoted);


  /***** Generic matching interface *****/

  // Type of match (TODO: Should be restructured as part of RE_Options)
  enum Anchor {
    UNANCHORED,         // No anchoring
    ANCHOR_START,       // Anchor at start only
    ANCHOR_BOTH         // Anchor at start and end
  };

  // General matching routine.  Stores the length of the match in
  // "*consumed" if successful.
  bool DoMatch(const StringPiece& text,
               Anchor anchor,
               int* consumed,
               const Arg* const* args, int n) const;

  // Return the number of capturing subpatterns, or -1 if the
  // regexp wasn't valid on construction.
  int NumberOfCapturingGroups() const;

  // The default value for an argument, to indicate the end of the argument
  // list. This must be used only in optional argument defaults. It should NOT
  // be passed explicitly. Some people have tried to use it like this:
  //
  //   FullMatch(x, y, &z, no_arg, &w);
  //
  // This is a mistake, and will not work.
  static Arg no_arg;

 private:

  void Init(const string& pattern, const RE_Options* options);
  void Cleanup();

  // Match against "text", filling in "vec" (up to "vecsize" * 2/3) with
  // pairs of integers for the beginning and end positions of matched
  // text.  The first pair corresponds to the entire matched text;
  // subsequent pairs correspond, in order, to parentheses-captured
  // matches.  Returns the number of pairs (one more than the number of
  // the last subpattern with a match) if matching was successful
  // and zero if the match failed.
  // I.e. for RE("(foo)|(bar)|(baz)") it will return 2, 3, and 4 when matching
  // against "foo", "bar", and "baz" respectively.
  // When matching RE("(foo)|hello") against "hello", it will return 1.
  // But the values for all subpattern are filled in into "vec".
  int TryMatch(const StringPiece& text,
               int startpos,
               Anchor anchor,
               bool empty_ok,
               int *vec,
               int vecsize) const;

  // Append the "rewrite" string, with backslash subsitutions from "text"
  // and "vec", to string "out".
  bool Rewrite(string *out,
               const StringPiece& rewrite,
               const StringPiece& text,
               int *vec,
               int veclen) const;

  // internal implementation for DoMatch
  bool DoMatchImpl(const StringPiece& text,
                   Anchor anchor,
                   int* consumed,
                   const Arg* const args[],
                   int n,
                   int* vec,
                   int vecsize) const;

  // Compile the regexp for the specified anchoring mode
  pcre* Compile(Anchor anchor);

  string        pattern_;
  RE_Options    options_;
  pcre*         re_full_;       // For full matches
  pcre*         re_partial_;    // For partial matches
  const string* error_;         // Error indicator (or points to empty string)
};

}   // namespace pcrecpp

#endif /* _PCRECPP_H */
include/pcre_stringpiece.h000064400000014110150405535520011666 0ustar00// Copyright (c) 2005, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: Sanjay Ghemawat
//
// A string like object that points into another piece of memory.
// Useful for providing an interface that allows clients to easily
// pass in either a "const char*" or a "string".
//
// Arghh!  I wish C++ literals were automatically of type "string".

#ifndef _PCRE_STRINGPIECE_H
#define _PCRE_STRINGPIECE_H

#include <string.h>
#include <string>
#include <iosfwd>    // for ostream forward-declaration

#if 0
#define HAVE_TYPE_TRAITS
#include <type_traits.h>
#elif 0
#define HAVE_TYPE_TRAITS
#include <bits/type_traits.h>
#endif

#include <pcre.h>

using std::string;

namespace pcrecpp {

class PCRECPP_EXP_DEFN StringPiece {
 private:
  const char*   ptr_;
  int           length_;

 public:
  // We provide non-explicit singleton constructors so users can pass
  // in a "const char*" or a "string" wherever a "StringPiece" is
  // expected.
  StringPiece()
    : ptr_(NULL), length_(0) { }
  StringPiece(const char* str)
    : ptr_(str), length_(static_cast<int>(strlen(ptr_))) { }
  StringPiece(const unsigned char* str)
    : ptr_(reinterpret_cast<const char*>(str)),
      length_(static_cast<int>(strlen(ptr_))) { }
  StringPiece(const string& str)
    : ptr_(str.data()), length_(static_cast<int>(str.size())) { }
  StringPiece(const char* offset, int len)
    : ptr_(offset), length_(len) { }

  // data() may return a pointer to a buffer with embedded NULs, and the
  // returned buffer may or may not be null terminated.  Therefore it is
  // typically a mistake to pass data() to a routine that expects a NUL
  // terminated string.  Use "as_string().c_str()" if you really need to do
  // this.  Or better yet, change your routine so it does not rely on NUL
  // termination.
  const char* data() const { return ptr_; }
  int size() const { return length_; }
  bool empty() const { return length_ == 0; }

  void clear() { ptr_ = NULL; length_ = 0; }
  void set(const char* buffer, int len) { ptr_ = buffer; length_ = len; }
  void set(const char* str) {
    ptr_ = str;
    length_ = static_cast<int>(strlen(str));
  }
  void set(const void* buffer, int len) {
    ptr_ = reinterpret_cast<const char*>(buffer);
    length_ = len;
  }

  char operator[](int i) const { return ptr_[i]; }

  void remove_prefix(int n) {
    ptr_ += n;
    length_ -= n;
  }

  void remove_suffix(int n) {
    length_ -= n;
  }

  bool operator==(const StringPiece& x) const {
    return ((length_ == x.length_) &&
            (memcmp(ptr_, x.ptr_, length_) == 0));
  }
  bool operator!=(const StringPiece& x) const {
    return !(*this == x);
  }

#define STRINGPIECE_BINARY_PREDICATE(cmp,auxcmp)                             \
  bool operator cmp (const StringPiece& x) const {                           \
    int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_); \
    return ((r auxcmp 0) || ((r == 0) && (length_ cmp x.length_)));          \
  }
  STRINGPIECE_BINARY_PREDICATE(<,  <);
  STRINGPIECE_BINARY_PREDICATE(<=, <);
  STRINGPIECE_BINARY_PREDICATE(>=, >);
  STRINGPIECE_BINARY_PREDICATE(>,  >);
#undef STRINGPIECE_BINARY_PREDICATE

  int compare(const StringPiece& x) const {
    int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_);
    if (r == 0) {
      if (length_ < x.length_) r = -1;
      else if (length_ > x.length_) r = +1;
    }
    return r;
  }

  string as_string() const {
    return string(data(), size());
  }

  void CopyToString(string* target) const {
    target->assign(ptr_, length_);
  }

  // Does "this" start with "x"
  bool starts_with(const StringPiece& x) const {
    return ((length_ >= x.length_) && (memcmp(ptr_, x.ptr_, x.length_) == 0));
  }
};

}   // namespace pcrecpp

// ------------------------------------------------------------------
// Functions used to create STL containers that use StringPiece
//  Remember that a StringPiece's lifetime had better be less than
//  that of the underlying string or char*.  If it is not, then you
//  cannot safely store a StringPiece into an STL container
// ------------------------------------------------------------------

#ifdef HAVE_TYPE_TRAITS
// This makes vector<StringPiece> really fast for some STL implementations
template<> struct __type_traits<pcrecpp::StringPiece> {
  typedef __true_type    has_trivial_default_constructor;
  typedef __true_type    has_trivial_copy_constructor;
  typedef __true_type    has_trivial_assignment_operator;
  typedef __true_type    has_trivial_destructor;
  typedef __true_type    is_POD_type;
};
#endif

// allow StringPiece to be logged
std::ostream& operator<<(std::ostream& o, const pcrecpp::StringPiece& piece);

#endif /* _PCRE_STRINGPIECE_H */
include/pcre.h000064400000031112150405535520007273 0ustar00/*************************************************
*       Perl-Compatible Regular Expressions      *
*************************************************/

/* This is the public header file for the PCRE library, to be #included by
applications that call the PCRE functions.

           Copyright (c) 1997-2009 University of Cambridge

-----------------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    * Neither the name of the University of Cambridge nor the names of its
      contributors may be used to endorse or promote products derived from
      this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
*/

#ifndef _PCRE_H
#define _PCRE_H

/* The current PCRE version information. */

#define PCRE_MAJOR          8
#define PCRE_MINOR          02
#define PCRE_PRERELEASE     
#define PCRE_DATE           2010-03-19

/* When an application links to a PCRE DLL in Windows, the symbols that are
imported have to be identified as such. When building PCRE, the appropriate
export setting is defined in pcre_internal.h, which includes this file. So we
don't change existing definitions of PCRE_EXP_DECL and PCRECPP_EXP_DECL. */

#if defined(_WIN32) && !defined(PCRE_STATIC)
#  ifndef PCRE_EXP_DECL
#    define PCRE_EXP_DECL  extern __declspec(dllimport)
#  endif
#  ifdef __cplusplus
#    ifndef PCRECPP_EXP_DECL
#      define PCRECPP_EXP_DECL  extern __declspec(dllimport)
#    endif
#    ifndef PCRECPP_EXP_DEFN
#      define PCRECPP_EXP_DEFN  __declspec(dllimport)
#    endif
#  endif
#endif

/* By default, we use the standard "extern" declarations. */

#ifndef PCRE_EXP_DECL
#  ifdef __cplusplus
#    define PCRE_EXP_DECL  extern "C"
#  else
#    define PCRE_EXP_DECL  extern
#  endif
#endif

#ifdef __cplusplus
#  ifndef PCRECPP_EXP_DECL
#    define PCRECPP_EXP_DECL  extern
#  endif
#  ifndef PCRECPP_EXP_DEFN
#    define PCRECPP_EXP_DEFN
#  endif
#endif

/* Have to include stdlib.h in order to ensure that size_t is defined;
it is needed here for malloc. */

#include <stdlib.h>

/* Allow for C++ users */

#ifdef __cplusplus
extern "C" {
#endif

/* Options. Some are compile-time only, some are run-time only, and some are
both, so we keep them all distinct. */

#define PCRE_CASELESS           0x00000001
#define PCRE_MULTILINE          0x00000002
#define PCRE_DOTALL             0x00000004
#define PCRE_EXTENDED           0x00000008
#define PCRE_ANCHORED           0x00000010
#define PCRE_DOLLAR_ENDONLY     0x00000020
#define PCRE_EXTRA              0x00000040
#define PCRE_NOTBOL             0x00000080
#define PCRE_NOTEOL             0x00000100
#define PCRE_UNGREEDY           0x00000200
#define PCRE_NOTEMPTY           0x00000400
#define PCRE_UTF8               0x00000800
#define PCRE_NO_AUTO_CAPTURE    0x00001000
#define PCRE_NO_UTF8_CHECK      0x00002000
#define PCRE_AUTO_CALLOUT       0x00004000
#define PCRE_PARTIAL_SOFT       0x00008000
#define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */
#define PCRE_DFA_SHORTEST       0x00010000
#define PCRE_DFA_RESTART        0x00020000
#define PCRE_FIRSTLINE          0x00040000
#define PCRE_DUPNAMES           0x00080000
#define PCRE_NEWLINE_CR         0x00100000
#define PCRE_NEWLINE_LF         0x00200000
#define PCRE_NEWLINE_CRLF       0x00300000
#define PCRE_NEWLINE_ANY        0x00400000
#define PCRE_NEWLINE_ANYCRLF    0x00500000
#define PCRE_BSR_ANYCRLF        0x00800000
#define PCRE_BSR_UNICODE        0x01000000
#define PCRE_JAVASCRIPT_COMPAT  0x02000000
#define PCRE_NO_START_OPTIMIZE  0x04000000
#define PCRE_NO_START_OPTIMISE  0x04000000
#define PCRE_PARTIAL_HARD       0x08000000
#define PCRE_NOTEMPTY_ATSTART   0x10000000

/* Exec-time and get/set-time error codes */

#define PCRE_ERROR_NOMATCH         (-1)
#define PCRE_ERROR_NULL            (-2)
#define PCRE_ERROR_BADOPTION       (-3)
#define PCRE_ERROR_BADMAGIC        (-4)
#define PCRE_ERROR_UNKNOWN_OPCODE  (-5)
#define PCRE_ERROR_UNKNOWN_NODE    (-5)  /* For backward compatibility */
#define PCRE_ERROR_NOMEMORY        (-6)
#define PCRE_ERROR_NOSUBSTRING     (-7)
#define PCRE_ERROR_MATCHLIMIT      (-8)
#define PCRE_ERROR_CALLOUT         (-9)  /* Never used by PCRE itself */
#define PCRE_ERROR_BADUTF8        (-10)
#define PCRE_ERROR_BADUTF8_OFFSET (-11)
#define PCRE_ERROR_PARTIAL        (-12)
#define PCRE_ERROR_BADPARTIAL     (-13)
#define PCRE_ERROR_INTERNAL       (-14)
#define PCRE_ERROR_BADCOUNT       (-15)
#define PCRE_ERROR_DFA_UITEM      (-16)
#define PCRE_ERROR_DFA_UCOND      (-17)
#define PCRE_ERROR_DFA_UMLIMIT    (-18)
#define PCRE_ERROR_DFA_WSSIZE     (-19)
#define PCRE_ERROR_DFA_RECURSE    (-20)
#define PCRE_ERROR_RECURSIONLIMIT (-21)
#define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */
#define PCRE_ERROR_BADNEWLINE     (-23)

/* Request types for pcre_fullinfo() */

#define PCRE_INFO_OPTIONS            0
#define PCRE_INFO_SIZE               1
#define PCRE_INFO_CAPTURECOUNT       2
#define PCRE_INFO_BACKREFMAX         3
#define PCRE_INFO_FIRSTBYTE          4
#define PCRE_INFO_FIRSTCHAR          4  /* For backwards compatibility */
#define PCRE_INFO_FIRSTTABLE         5
#define PCRE_INFO_LASTLITERAL        6
#define PCRE_INFO_NAMEENTRYSIZE      7
#define PCRE_INFO_NAMECOUNT          8
#define PCRE_INFO_NAMETABLE          9
#define PCRE_INFO_STUDYSIZE         10
#define PCRE_INFO_DEFAULT_TABLES    11
#define PCRE_INFO_OKPARTIAL         12
#define PCRE_INFO_JCHANGED          13
#define PCRE_INFO_HASCRORLF         14
#define PCRE_INFO_MINLENGTH         15

/* Request types for pcre_config(). Do not re-arrange, in order to remain
compatible. */

#define PCRE_CONFIG_UTF8                    0
#define PCRE_CONFIG_NEWLINE                 1
#define PCRE_CONFIG_LINK_SIZE               2
#define PCRE_CONFIG_POSIX_MALLOC_THRESHOLD  3
#define PCRE_CONFIG_MATCH_LIMIT             4
#define PCRE_CONFIG_STACKRECURSE            5
#define PCRE_CONFIG_UNICODE_PROPERTIES      6
#define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
#define PCRE_CONFIG_BSR                     8

/* Bit flags for the pcre_extra structure. Do not re-arrange or redefine
these bits, just add new ones on the end, in order to remain compatible. */

#define PCRE_EXTRA_STUDY_DATA             0x0001
#define PCRE_EXTRA_MATCH_LIMIT            0x0002
#define PCRE_EXTRA_CALLOUT_DATA           0x0004
#define PCRE_EXTRA_TABLES                 0x0008
#define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010

/* Types */

struct real_pcre;                 /* declaration; the definition is private  */
typedef struct real_pcre pcre;

/* When PCRE is compiled as a C++ library, the subject pointer type can be
replaced with a custom type. For conventional use, the public interface is a
const char *. */

#ifndef PCRE_SPTR
#define PCRE_SPTR const char *
#endif

/* The structure for passing additional data to pcre_exec(). This is defined in
such as way as to be extensible. Always add new fields at the end, in order to
remain compatible. */

typedef struct pcre_extra {
  unsigned long int flags;        /* Bits for which fields are set */
  void *study_data;               /* Opaque data from pcre_study() */
  unsigned long int match_limit;  /* Maximum number of calls to match() */
  void *callout_data;             /* Data passed back in callouts */
  const unsigned char *tables;    /* Pointer to character tables */
  unsigned long int match_limit_recursion; /* Max recursive calls to match() */
} pcre_extra;

/* The structure for passing out data via the pcre_callout_function. We use a
structure so that new fields can be added on the end in future versions,
without changing the API of the function, thereby allowing old clients to work
without modification. */

typedef struct pcre_callout_block {
  int          version;           /* Identifies version of block */
  /* ------------------------ Version 0 ------------------------------- */
  int          callout_number;    /* Number compiled into pattern */
  int         *offset_vector;     /* The offset vector */
  PCRE_SPTR    subject;           /* The subject being matched */
  int          subject_length;    /* The length of the subject */
  int          start_match;       /* Offset to start of this match attempt */
  int          current_position;  /* Where we currently are in the subject */
  int          capture_top;       /* Max current capture */
  int          capture_last;      /* Most recently closed capture */
  void        *callout_data;      /* Data passed in with the call */
  /* ------------------- Added for Version 1 -------------------------- */
  int          pattern_position;  /* Offset to next item in the pattern */
  int          next_item_length;  /* Length of next item in the pattern */
  /* ------------------------------------------------------------------ */
} pcre_callout_block;

/* Indirection for store get and free functions. These can be set to
alternative malloc/free functions if required. Special ones are used in the
non-recursive case for "frames". There is also an optional callout function
that is triggered by the (?) regex item. For Virtual Pascal, these definitions
have to take another form. */

#ifndef VPCOMPAT
PCRE_EXP_DECL void *(*pcre_malloc)(size_t);
PCRE_EXP_DECL void  (*pcre_free)(void *);
PCRE_EXP_DECL void *(*pcre_stack_malloc)(size_t);
PCRE_EXP_DECL void  (*pcre_stack_free)(void *);
PCRE_EXP_DECL int   (*pcre_callout)(pcre_callout_block *);
#else   /* VPCOMPAT */
PCRE_EXP_DECL void *pcre_malloc(size_t);
PCRE_EXP_DECL void  pcre_free(void *);
PCRE_EXP_DECL void *pcre_stack_malloc(size_t);
PCRE_EXP_DECL void  pcre_stack_free(void *);
PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
#endif  /* VPCOMPAT */

/* Exported PCRE functions */

PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,
                  const unsigned char *);
PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,
                  int *, const unsigned char *);
PCRE_EXP_DECL int  pcre_config(int, void *);
PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,
                  int *, int, const char *, char *, int);
PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int, char *,
                  int);
PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,
                  const char *, int, int, int, int *, int , int *, int);
PCRE_EXP_DECL int  pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,
                   int, int, int, int *, int);
PCRE_EXP_DECL void pcre_free_substring(const char *);
PCRE_EXP_DECL void pcre_free_substring_list(const char **);
PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,
                  void *);
PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,
                  int *, int, const char *, const char **);
PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);
PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,
                  char **, char **);
PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,
                  const char **);
PCRE_EXP_DECL int  pcre_get_substring_list(const char *, int *, int,
                  const char ***);
PCRE_EXP_DECL int  pcre_info(const pcre *, int *, int *);
PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
PCRE_EXP_DECL const char *pcre_version(void);

#ifdef __cplusplus
}  /* extern "C" */
#endif

#endif /* End of pcre.h */
include/pcre_scanner.h000064400000014710150405535520011011 0ustar00// Copyright (c) 2005, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: Sanjay Ghemawat
//
// Regular-expression based scanner for parsing an input stream.
//
// Example 1: parse a sequence of "var = number" entries from input:
//
//      Scanner scanner(input);
//      string var;
//      int number;
//      scanner.SetSkipExpression("\\s+"); // Skip any white space we encounter
//      while (scanner.Consume("(\\w+) = (\\d+)", &var, &number)) {
//        ...;
//      }

#ifndef _PCRE_SCANNER_H
#define _PCRE_SCANNER_H

#include <assert.h>
#include <string>
#include <vector>

#include <pcrecpp.h>
#include <pcre_stringpiece.h>

namespace pcrecpp {

class PCRECPP_EXP_DEFN Scanner {
 public:
  Scanner();
  explicit Scanner(const std::string& input);
  ~Scanner();

  // Return current line number.  The returned line-number is
  // one-based.  I.e. it returns 1 + the number of consumed newlines.
  //
  // Note: this method may be slow.  It may take time proportional to
  // the size of the input.
  int LineNumber() const;

  // Return the byte-offset that the scanner is looking in the
  // input data;
  int Offset() const;

  // Return true iff the start of the remaining input matches "re"
  bool LookingAt(const RE& re) const;

  // Return true iff all of the following are true
  //    a. the start of the remaining input matches "re",
  //    b. if any arguments are supplied, matched sub-patterns can be
  //       parsed and stored into the arguments.
  // If it returns true, it skips over the matched input and any
  // following input that matches the "skip" regular expression.
  bool Consume(const RE& re,
               const Arg& arg0 = RE::no_arg,
               const Arg& arg1 = RE::no_arg,
               const Arg& arg2 = RE::no_arg
               // TODO: Allow more arguments?
               );

  // Set the "skip" regular expression.  If after consuming some data,
  // a prefix of the input matches this RE, it is automatically
  // skipped.  For example, a programming language scanner would use
  // a skip RE that matches white space and comments.
  //
  //    scanner.SetSkipExpression("\\s+|//.*|/[*](.|\n)*?[*]/");
  //
  // Skipping repeats as long as it succeeds.  We used to let people do
  // this by writing "(...)*" in the regular expression, but that added
  // up to lots of recursive calls within the pcre library, so now we
  // control repetition explicitly via the function call API.
  //
  // You can pass NULL for "re" if you do not want any data to be skipped.
  void Skip(const char* re);   // DEPRECATED; does *not* repeat
  void SetSkipExpression(const char* re);

  // Temporarily pause "skip"ing. This
  //   Skip("Foo"); code ; DisableSkip(); code; EnableSkip()
  // is similar to
  //   Skip("Foo"); code ; Skip(NULL); code ; Skip("Foo");
  // but avoids creating/deleting new RE objects.
  void DisableSkip();

  // Reenable previously paused skipping.  Any prefix of the input
  // that matches the skip pattern is immediately dropped.
  void EnableSkip();

  /***** Special wrappers around SetSkip() for some common idioms *****/

  // Arranges to skip whitespace, C comments, C++ comments.
  // The overall RE is a disjunction of the following REs:
  //    \\s                     whitespace
  //    //.*\n                  C++ comment
  //    /[*](.|\n)*?[*]/        C comment (x*? means minimal repetitions of x)
  // We get repetition via the semantics of SetSkipExpression, not by using *
  void SkipCXXComments() {
    SetSkipExpression("\\s|//.*\n|/[*](?:\n|.)*?[*]/");
  }

  void set_save_comments(bool comments) {
    save_comments_ = comments;
  }

  bool save_comments() {
    return save_comments_;
  }

  // Append to vector ranges the comments found in the
  // byte range [start,end] (inclusive) of the input data.
  // Only comments that were extracted entirely within that
  // range are returned: no range splitting of atomically-extracted
  // comments is performed.
  void GetComments(int start, int end, std::vector<StringPiece> *ranges);

  // Append to vector ranges the comments added
  // since the last time this was called. This
  // functionality is provided for efficiency when
  // interleaving scanning with parsing.
  void GetNextComments(std::vector<StringPiece> *ranges);

 private:
  std::string   data_;          // All the input data
  StringPiece   input_;         // Unprocessed input
  RE*           skip_;          // If non-NULL, RE for skipping input
  bool          should_skip_;   // If true, use skip_
  bool          skip_repeat_;   // If true, repeat skip_ as long as it works
  bool          save_comments_; // If true, aggregate the skip expression

  // the skipped comments
  // TODO: later consider requiring that the StringPieces be added
  // in order by their start position
  std::vector<StringPiece> *comments_;

  // the offset into comments_ that has been returned by GetNextComments
  int           comments_offset_;

  // helper function to consume *skip_ and honour
  // save_comments_
  void ConsumeSkip();
};

}   // namespace pcrecpp

#endif /* _PCRE_SCANNER_H */
bin/pcregrep000075500000126330150405535520007062 0ustar00ELF>`;@�@8
@@@@00ppp���� �� � h �� � 00���  ���DDP�td��������Q�tdR�td�� � ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU9)�y�t�h��� H��k�~A4�A �
47(�BE���|fUa�qXp\�9�$�Xe �s�����~m���u��u�e�* 	UM���4�U;]�_H�9 l]8"�G���� �x� �� ��� �x� S�� �� libpcre.so.1_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablepcre_freepcre_assign_jit_stackpcre_maketablespcre_versionpcre_compilepcre_studypcre_execpcre_configpcre_jit_stack_allocpcre_jit_stack_freepcre_free_studylibpcreposix.so.0libpthread.so.0__errno_locationlibc.so.6fflush__printf_chkexitreaddirsetlocalefopenstrncmpstrrchrclosedir__stack_chk_failstdinmemchrisattyfgetcfgetsstrlen__fprintf_chkstdoutfputcfputsfclosemallocopendir__ctype_b_locgetenvstderrfilenofwritefreadstrchr__ctype_toupper_loc__cxa_finalize__sprintf_chk__xstatmemmovestrcmpstrerror__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4GLIBC_2.4GLIBC_2.3/opt/alt/pcre/usr/lib64	 ui	�*ti	�ii
�ui	�ii
�� @<� < �  � @� �wH� �yP� �yX� �y`� �yh� �yp� �yx� �y�� �w�� �y�� �y�� �y�� �y�� �y�� �y�� �y�� �~ȋ �~Ћ �~؋ �~� �� � � � ؗ �� ȗ 0� �w8� �yP� zX� zh� И p� &zx� �r�� Qz�� ;z�� ̘ �� Vz�� �rА lzؐ ~z� � � �z�� s� � � �z� �z(� � 0� �z8� �zH� Ę P� ]zX� (sp� �zx� Xs�� �� �� {�� �s�� � �� {�� '{ȑ � Б A{ؑ �s� R{�� �s� � � `{� j{(�  � 0� �{8� tP� �{X� �{p� �{x� 8t�� �{�� `t�� �w�� �tВ �{ؒ �{� �{�� �t� |� �t0� |8�  uH� `� P� )|X� 4|p� P|x� ^|�� q|�� Pu�� � �� ~|�� �|ȓ �� Г �|ؓ �|� �� � �|�� �u� �|� �|(� � 0� }8� �uP� }X� �uh� P� p�  }x� v�� h� �� 0}�� 0v�� B}�� XvД H}ؔ �v� � � R}�� �v� � � b}� �v(� �� 0� r}8� �vH� Ж P� �}X� (wh� @� p� �}x� �}�� 0� �� �}�� �}�� �� �� �}�� �vȕ Ж Е 
~ؕ (w� ~�� *~� B~� H~0� W~8� XwP� _~X� l~p� �~x� �w�� �~�� �w�� ȗ Ȗ �� Ж ؗ ؖ З � � � � � �� �� � � � � � � � � �  � (� (�  � 0� 8� 8� 0� @� H� H� @� P� X� X� P� `� �~h� �wp� �~�� ȏ Џ ؏ -� 0�� 4�� 7�� 9�� :H� P� X� `� h� p� x� �� 	�� 
�� �� �� 
�� �� �� �� Ȏ Ў ؎ � � � �� � � � �  � (�  0� !8� "@� #H� $P� %X� &`� 'h� (p� )x� *�� +�� ,�� .�� /�� 0�� 1�� 2�� 3��H��H�m H��t��H����5bk �%ck ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.���������%mh D���%eh D���%]h D���%Uh D���%Mh D���%Eh D���%=h D���%5h D���%-h D���%%h D���%h D���%h D���%
h D���%h D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%�g D���%}g D���%ug D���%mg D���%eg D���%]g D���%Ug D���%Mg D���%Eg D���%=g D���%5g D���%-g D���%%g D���%g D���%g D���%
g D���%g D���%�f D�%���AWAVAUATUSH��H�$H��H�$H���|$,�H�t$0H�t$DdH�%(H��$� 1��(����D$D����?
������
�
=

��	H��OH��o �|$,�D$D��H�D$0H�h�}-���E����L�t$P�L�t$8<-��]L�}������^f ��t&L�5Of 9�u�Yf�9�tLI�� A�F��u�HcD$DH�L$0H�H�H�=�m L����1��6����9���f.�I��A�/E�&@����A�D$����E���)�5Sn ���:A��Bn ���F���E�&E����A�T$�1�1Ƀ��GA���=�t$,HcT$D��9��������H�D$0�T$DHc�L�<�A����A���1A��	��A��A���iI�FL�8@�D$D�X�\$D;\$,},H�L$0Hc�H�,��}-u�E���i���H�=�l �B�ym ��~�=zm u�rm �=gm ��H�=�l �m �m ��	�����l H�Rm H��MH���q1�H���(���H�����j���H�m H�4m H��tPH�5MH���X�����t=H�5rMH���E���������l H�=XM����H���H�Gk H��l �H�=�LH��������}�
\l ��l H��l H��t!H�5%MH���������H�1l H�bl H��t?�H�=�LH��������H�5�LH���x�������
��k �0c �@Hc�� c ���H��k H����
H�=�j ��H�=k �tHcD$D;D$,�7��5H��$� dH3%(�D
H�Ę []A\A]A^A_�fD�+���H��Dh���1�A���R���I�VI�vL���16I�^��H�kH�u�H�EH�H�8�U���H�SH�H��F���H�E�=H��H�D$�����}I���!D�8b E����H�D$pL�|$L�d$8L�5b H�D$ D��+D$�D$(���)H��I�����I)�H)؃�H�|$�D$�7D�T$(M���)I��E��H�
�JL���1�H��D�T$�����D$H��M��UH�l$0�H�
�JD)��D�H�H��1����Hc\$L�|$ L��L��H���D���^_����H��H��L���,������pI�� A�N����I�^�(H������=H��H�����I��H�������H��tdI)�H�|$�D$(��D9�u�Hc�H�|$H��H�������u�L�|$I�A�?=uCI����8f.�H�|$����A������H�|$H��������E���L�=JHA�V����
E�&�E��tyA�?�����A�T$��������A�F����g��o����H�5Th 1��MH�=Mh H�>h ��H�9h ���@H�|$�^����
���1�1�E��u��nh A�~���4�]h ���L�|$1�M���;���M���2���A�?=�/������1�A���K���I�^L��H�kH�u��H�EH�CH�H����H�H�8�C���H��;����L��H�=uH���������g ��������H�3HH��g �I����I�^���H���{	H�H�L�xH�SH�9tH�
H�H����H��GH��g ���I�VI�vL���J2A�>I�Vtˉ����L��H�=�J������
H�5�HL��������p�g �=���H�5�GH���f������l���H�5YGH���O�������H�5�GH���8�������H�5)GH���!�������H�5gGH���
�������H�5�FH��������H�52GH�������jH�5�FH������tH�5GH������Y�
f P�ff ����f �J�����e �
���H�5�FH���d����H�5�FH���M�����e �����e �V���H�&FH��e �7����������U���H�
ad �K�H�=�=�����/���o
H��EH�qe ���H��EH�^e ����H�=yd ������/���/
H�5�EH�������H�=�c ����u��d ���P����/�����d ����
�d  �e �\������\$D�3������}����n���H�=2E��H��d H����H�=�D��H��d H���v���H��D�K���H�L$0�P1��T$DH�<��H�c H��c H����H�-pc �L�%E�BA�ك�uH�Sc E1�H�8A����c 1�M��H��5�c �G����H�m��H��u�H�$c H�-c �$H�{�
�c H��H�5�b �:���rH�H��u�H�{c Hlc t�
�Z E1��Z ��H��b �L�l$H�AH�{�5�Z L����L�D$HH�CM����M��tH��t
L��1�H�����H���H��u�H�[b H�5�b H�
�b �%H��tH�PH�
H�rH��tH�PH�
H�J(H�H��u�H�-�U L�=�U L�m H�EA�H��8E��A��uE1�H�;A��M��5�b 1�1�H��������H�A��H��u�H��I��I9�u�H��a H�-�a � H�{1�H��H�5�a �����cH�H��u�L�-�a H�Ka �!I�}1�H��H�5Aa ����.M�mM��u�H�-da �H���NL�l$pL�uH�5�AL���V����L�5�` L��
 L���'�H���0H��L��1��H��M�|
���d�I�W�H��DP t	I��M9�w�A��|$pt�1��=ha L��@��1��:+������H��H�s:H�=` �1���H�=La �O�H�=0a �C�H�=T` ��H�=8` �H�=` �H�=` �H�=�_ �H�=X` �H�/��H��H��u�H�=/` �H�/���H��H��u�H�=�_ �H�/���H��H��u�H�=�_ �H�/��H��H��u���H��_ H�=@_ H�8����H��9�1�����M������L�������L��H�5�?�w�I��H���D����F��8��H�M�H�=�^ I��H�-31��n��뛾����I���M���L���1��H�9�5��d����D$D;D$,���L$,��Q�9�ti1��eL95G^ tL����H�mH���w����D$,��;D$Dt�D$D1��2��u	������؉��n���H�=�^ u����D$D�ËD$D;D$,����H�L$0H�1��=�^ @�Ɖ�H�<���(��Dž�u��t����H�5w] �=V L��H�=�] HM�����z���H�H�D^ ���H�=8^ H��u���L��H��6H�=c] �1����G���H�D$0H��H�26��H�
�^ I��H�=/] H��6������	�����HcD$DH�L$0H�?H���H�
�\ ��H�=W=�{�����H�]>���
�] @�&^ �s�H��H��6�����
�] 0��] �K�H��H��6�W���H�=O>��H��������H��H�&6�.����l�f.�f���1�I��^H��H���PTL��.H�
/.H�=H��:T �H�=�[ H��[ H9�tH�T H��t	�����H�=�[ H�5�[ H)�H��H��H��?H�H�tH��S H��t��fD�����=�[ u+UH�=�S H��tH�=�N �Y��d����u[ ]������w������\ ������ATUS�������H9�����[ H��DL��D��A�����=�~	E���5�H�
�<��
��H9��*�?
�!�H�G�f��?
H�GtH��H9�r�H�GH9�v$�
u��H�G�D���7H9�r�H����H��H9�t�?
u��H�G��H9��5�����H��[]A\�f�H9�s�D��Z H�-�CH��CE��A��D�D��A���~	E���vA�J�'A��
��~@A�������A��( A������z����[H��]�A\�f�A��
|z��X����H9�r�>���fDH��H9��+����?
u��H�G� ����H9�r����fDH��H9�������?
u�����f�H9�����H�������H9��e����8
�\����H������1�E�������
���fD��?L�C�IC#�A�i�Hc���E�������L�OE���I��A��?A��D	���u����f���?H�D�@D#�I��ɍ@A��Lc�E���i���H�GDD���H��A��?A��E	ȅ�u��B���f�AUI��ATUH��SH��H����A��H��u�>fDH�H��t0H�{j1�E1�jE1�D��L����^_��x�H��1�[]A\A]�f�H��t3H�}jD��L��jE1�E1�1����ZY��yH�mH��u��@H���[]A\A]��AUA��ATI��U1�SH��H���f����H����
tD9�}
L�������u�H����[]A\A]�H��tBUSH��H��f�H�{H�+H��t�/�H�{H��t��V H��H���5�H��u�H��[]�����W S����u���L�H�=�V A���1�A��������H�C)��A��7H�
�V �H�=i)���f�AWH��6A��H��6AVAUATUSH��(H���H��V HB‰t$�D$H�D$��HB�H�D$H���8I��A��M��L��H�sH�{jcL��AU�L$E��E���-��EZY��������H�=�U ���1�H��(�k�H�V H�8t�L$H�=�U H��51���@�H�5�U H�|$��H�
xU H�T$L�����H�
ZU �H�=�5����E����v.�PV �P�GV ��Y�V H��([]A\A]A^A_�D�AH��s���U �f�H��D$H������1����H�
�T �'�H�=(�T������f.�AWAVAUATUSH��(dH�%(H�D$1�H9���D��U E����H�D$A��H��I��I��1�H�D$�G�H�T$L��H�����H�
T �H��H��I��H)���M9�vf��;-=U L��}XM��tH�=�S L��1�H�Z4����T ��t�H�=�S D��E�~1�H�84�E���h��k�����T H�D$dH3%(uH��([]A\A]A^A_���f�PXH�=�3��H��H�
bS ������U���SH��H���K�H��tH��hH��t	H�H�H�H��[]����f�ATI��� UH��S��H��trL��H�����H= w4H�L�cH�CH�CH��tH�EH�]H�H��[]A\ÐH�=�R � H�%&1���A�H��1����������AWAVAUATUSH��H�$H��H�$H��X�L$L�D$dH�%(H��$H 1�H�t7�H��$H dH3%(��H��X []A\A]A^A_�f�L�oI����A��E��L�������A����H�D$(H�D$Ic�L�\$0A�پH��E L��H�
B2L�4�H�GE �4º
 1�AUM��L�\$(��XZ��L�\$H�T$H�L$$L��R L���\�I�GH���(���L���G��t$$)�9����t$$��D�l$H�l$(E���`E����H�L$I��A�ؾH�=Q H�	%1���1�����H�H�T$(L��I�tH�T$����L$(������L��H��H�D$���H�T$H�������H��L)�+\$(����fD�\$$�T����1�E���H�
1H�=�P �n��=wP H�
pP tfDH���9u�D����������D���)ƒ������������th�Af�1H��H�=P A��1�UL�D$�H�$H�
�O ��X1�Z���f.�H��H�=�O A��1�UL�D$D��H�p#��V�AZ1�A[�i����rd�Af�9�v����A�st�AfD�	�\���DA�nd�AfD��D����P��AWAVAUATUSH��H�$H��H�$H��8H�t$I��A�͹H�=0L��H��dH�%(H��$( 1�������|H��N L�%�N H�$1�L�|$f�H�$�
 L���O��H����L���
H����������!�%����t������D�H�JHDщ�@�H��I��L9�v#�a��H��
@I��M9�tA�F��DA u�A����|$�q���H�3L���&���H��H�H����H�D$H�8u&��H�H�8H�@H���)���H�;�5O A��M��D���]�����u�H�<$H9=�M �D$tJ����T$H��$( dH3%(����H��8 []A\A]A^A_�H�$H9yM t	H�<$�N��1��H�8H�;�y���H�5�.L������H�$H���z�������8���H�=@M L��H��!I���1�����1��a���H�<$H9=M ��K����$�����$�;������DAWAVAUATUSH��H��M L�-N H��$�H�|$xH�T$@dH�%(H��$81��\$t�d�����=���5E ���t���@H�T$xL���
�����H�D$hH�=�M H�D$h��M H�4H�t$P���'H=�HF�1����H������t$X��uA�����DŽ$�L;l$PH�D$`� A�1�H��$��D$pH�D$HA�޽L��DŽ$�D�d$(L�|$PH�T$HH��DŽ$�L���R�Hc�$�D�-oL I��I)ډT$I)�L�T$E��tI)�L�|$D�d$E����Hc�C H�L H9���A�����1�E��H��$�L�T$ E��L�|$PH�D$0H��$�H�D$8H��D��I��@L�L$0L�D$8L��L$H�t$���K 9����
IC ����D��K E���RD��K E���	D�L$XE������ND�bK E���(�����$���$��D$(�|$D9��bH�D$@H��tH�=9J H���1�H�+�����=K ���u�5K ���O�
K ������$�D��$�A�A)�H�=�I H��*�1����D�d$(D��J E����Hc�$�9\$|"H9\$�n�D$D�
pJ �XE����L�T$ D9���Hc�$�D�d$A��H�\$HH��fDL�L��A�H��I�E�E)ԃ�L����Hc�$�L)�I��H��I)�E9��L��D��L�T$ D�d$L)�\$H�D$�D$(��\$���D9������D��I E������H�=�H ����������$�D��$�A)�����H�=�H ��1�H�k)�T���j����L�%II M���zE1�L��f��C;�$�}t��PLc�Hc�D����F+���E��~TH�-H E����2I ����Jc���Ic�H���L����D�%I A�E��uYf�H�H���t���A��H�|$@uE��uD��H D�d$(E�����H�5�G �
�-��D�d$(����H�=�G �H�q(1��D�D$\�<��D�D$\�DL�IG H��1��H�5(�D�T$\�	��H�2G D�T$\�����H�=G H��D�T$\�\��H�G D�T$\����Hc�A�D%�=��[����D$��H�fDA�T��H�������t�L�T$ D9��2�����\$����A�����1��D$E���T���H��$�H�/'H�=bF �1��&��E1�H��$8dH34%(D���7H��H[]A\A]A^A_�H�L$xHc�L������H�D$h����D$X�����D$t���E1�����A��L�T$ L��A��A����=�F ��t�5�F ��t	E����Hc�$��L$tH��L�H�Hc > D�A�H�Ѕ���H�
�F H9T$h��Hc�= �Hc�H�4H9���D�=�F H�4E��~D�l$pE��tH9t$`�H�����Hc�= D�d$tH���H��H)�Lc�J�<)E���H�L$x�����L�D�\$pH�D$hHGF H�D$PE��tHc^= H)D$`f�H;\$P����D�d$(D��E E��uGD�
�E E���RD��E E��~�D$p��tH�L$@H�T$P��H�t$`�����$�	iE ��< ����=`E ������5&E ��������$����H�|$@H�=D t#��tH�L$@H��$�1�����H�=�C ��$�H��$�1��������f�H��H��H)�)�H�T$x���i�Hc>< H�HD$hHD$PH9T$h����H�
�D ����A�ÍEL�T$ L�냄$�A��D$pD�oD E��uDHc�$��l$p�D$(L�H�H�D$`�u�����; ����H�L$@H��$���H�=C L�T$D�\$�L��L�T$D�\$�H�T$x�������Hc�$�L��$�H�H�D$H9�sGH��H�\$E��H�\$L��$�H�l$P�	��	A��L��H��H���l�A�T$H9�s�H�\$��H�t$PH�|$L���I�H)�I��Hc�$�I)����A�ÍEL��L�T$ �D$pA������D��C A��L��L�T$ E��~�|$p���6�,C �D$�����VC �D$����HC ��~DŽ$�H�L$@H��t.H�=�A H��"�1�L�T$D�\$���L�T$D�\$D�%�B E����D�
�B D�mD�%�B D�l$pE�����ЅwB ��A��E��t���=Hc�$�LҾH��D�\$H�
FA L�T$���D�\$L�T$���L��L�T$ ���D$(�e���H�=A ��1�H��!L�T$D�\$���L�T$D�\$�?���H�AB D�
bB I��E1�D�=�A H�xH�|$(L;d$`��I9��P�L$p������?D9l$�4A��A����JA����I�T$�H9���A�|$�
u�uf.��z�
�aH��H9�u�I���y���A���NA�|$�
I�T$�u	H9��6I��E��uaH9�r*��fD����8���wb��
���*���I��H9�s�I�T$�E��uTA�t$�A��uȃ�
������
u����DH���
�����t�I���fD��( ��w�����A�L$��΁����u!f.�H���
�΁����t����o�����?H�=�(L�C�@ɉL$ H�
)B#4��L$ ��E���;����L$ L�B�A�8��I����?��	���u�����I���!���I�T$�H9�s�A�|$�
u��f��z�
t�H��H9�u��o���H�L$(�I�T$�H9�s6A�|$�
u�,@�z�
t"H��H9�u�I��I9������A�|$�
u����I����D$p���D$������t5��t1�H�
6> �H�=%L�T$D�\$����L�T$D�\$L��$�L9��2D�t$ L�t$@D�\$�l$L�T$(�9H�t$PL��L����H�
�= L��H��H��L)�I���v��H9���M��tH�=�= L��1�H��[���}> ��t��L$A�m��1�H�=k= H��D)�A���)���n���D�\$H�\$�l$ L�T$(L9��	�:> L�d$`�H�
= �H�=L�T$ D�\$����L�T$ D�\$��= �D$����D�\$D�t$ �l$L�T$(�> ������D�-> E�����������Hc�$�H�I���uH��H�\$H�\$PD�d$ E��L�l$HD�\$�D��A��L��H��H���.�I9�w�H�\$D�\$D�d$pA��D�d$ H)�Hc�$�H)�I��E������Hc�$��H��L�T$H�
< D�\$����L��; 1�H�=�; �H������Hc�$����$�H�
�; )�H�<Hc��s��H�=�; 1��H����d��L�T$D�\$��$�D��$�D��D�D9��D�l$L�%ME��M�����$�Ic��H�
?; H�D)�Hc������L��1�L�; H�=; �����Hc�$����$�H�
�: )�H�<Hc����H�=�: �1�H��������$�D��$��(A9��QL�L$0L�D$8D��H��H�t$��=����0�����$�M��D�\$E��D�l$D�D)������Ic�HcоL�T$H�
I: H�D�\$���D�\$L�T$���H�L$@H�T$PH�t$`�|$p��Hc�2 H�
o; �D$p�H�4Hc���L�l$`L9���L��E1�L�T$E��L��$��	D;%; }L��H��H��A�����H9�w�E��L�T$I��L�d$`H;D$`�W���H�\$H�\$`�l$ H�l$@D�\$L�T$(�9H�t$PH��L���0��H�
Y9 H�߾H��I��H)�L�����M9����H��tH�=+9 H��1�H�������5: ��t��L$pH�=9 H��1��D�a���D�d$p�o���A�|$�
�����I�T$����H�\$A�l$�/���A��D$pDŽ$����H��$�L�HtGH�=�8 ��1�L��$�H�
A��0����M��D�\$E��D�l$D�����H��H��$�I��륋59 H�\$`���A��1������9 �����������L�d$`���AWAVA��AUA���/ATUSH��H��dH�%(H��$�1�L�d$����L��H�޿H��H�hHD�������9�D$(%�=@�%�=�8 �8H��7 H�5�7 H���Z������-�8 ���:H���;��I��H���H��$��L�=H�D$L�5�L�����H����H���L��H����€���tԹH��L����€���t�H����A�/PH�|$1�I��H�
����XZD��H�|$1�����0L����v��H���v���DL�������L��H�޿�8����x�D$(%�=�t
�=i7 ��H��6 H�5�6 H���������H�5H�����I��H��tb�=s. H��~FL��H����L������H��$�dH3%(����H�ĸ[]A\A]A^A_�fDuA��t�1��@�
n6 ���u�����8�U��H�=�5 H��H��	I���1��%������@�����D��5���D������]���fD�56 ���I�������8����H�='5 H��H�
I���1�����������@I��A��H�=�L�������tD��L������DH�5�4 �
+- H��~H�=�4 H����@��u��t�1�H�=�4 H����f.�SH�
x4 �H�=`�����=�, H�5U4 ��t,H��, f.���~���H�504 H�� �{��u�H��#�H�=9	����BH�
4 �H�=D	����[��AWAVA��AUI��ATUH��SI��H���H�t$���H���u�I��A�$��t�DX u�A�$E1��f���K��I����0Hc�L�<SA�$��DPu����H��H�����Kt0��Mt��u3H��L��[]A\A]A^A_�DI��A�\$��@I��
A�\$��H�3 E��tDM�e�=L�����A��E)�H��tKM��H��H�H�߾1�����S��������H�D$H��H��H�}D�1��[����H��L���H��H��D�@��@AU�WATUSH��dH�%(H�D$1������H����Hc�H�>��@�
Y3 ���H�L$dH3%(�5H��[]A\A]�
)3 ����D��2 �������2 ���f.���2 ���f���2 ���f���2 ���o����H�5Q2 1��J��H�=J2 H��H�82 ���@���H�12 �4���@�>2 ��������"2 ����) ���D������fD��) ���������1 �������2 ��������1 ��
���f.��) ���o������1 ���W������( ���?�����
�1 ���*���f.��.1 ���*1 ����D�&1 �������1 ��������%m( �������轾��H�=�/ �H�3H��1����1��	��H�=��M���H�=��A���H�="�5���H�=N�)���H�=r����H�=�����H�=������-( ����H��' L�l$�H�� �k����L�c�_L���Y���H��uۅ���A�<$�A��H�
=L��1�������L�cL��L��H�51���F����)‰Ѕ��L�C�O�H�
�H�5
1������W�����H�=�. �1�H��T��������������D$   �|���H�=�����PH�5�1��跾��H�=�ۼ��H�=L�ϼ��� H�5k1��臾��H�=�諼��H�=�蟼��1��H����H�5��U����)‰��
�����f���AWI��AVI��AUA��ATL�%D! UH�-D! SL)�H���ϸ��H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_Ðf.������H��H���pcregrep: Error %d, %d or %d means that a resource limit was exceeded.
pcregrep: Check your regex for nested unlimited loops.
pcregrep: pcre_exec() gave error %d while matching pcregrep: Too many errors - abandoned.
pcregrep: pattern is too long (limit is %d bytes)
pcregrep: Error in regex in line %d of %s at offset %d: %s
pcregrep: Error in %s regex at offset %d: %s
pcregrep: Error in %s %s regex at offset %d: %s
pcregrep: Failed to open %s: %s
pcregrep: line %d%s%s is too long for the internal buffer
pcregrep: check the --buffer-size option
pcregrep: Failed to open directory %s: %s
] [long options] [pattern] [files]
Type `pcregrep --help' for more information and the long options.
pcregrep: Malformed number "%s" after --%.*s
pcregrep: Malformed number "%s" after -%c
Usage: pcregrep [OPTION]... [PATTERN] [FILE1 FILE2 ...]Search for PATTERN in each FILE or standard input.PATTERN must be present if neither -e nor -f is used."-" can be used as a file name to mean STDIN.All files are read as plain files, without any interpretation.
Example: pcregrep -i 'hello.*world' menu.h main.c

Numbers may be followed by K or M, e.g. --buffer-size=100K.The default value for --buffer-size is %d.
When reading patterns or file names from a file, trailing whitespace is removed and blank lines are ignored.The maximum size of any pattern is %d bytes.

With no FILEs, read standard input. If fewer than two FILEs given, assume -h.Exit status is 0 if any matches, 1 if no matches, and 2 if trouble.pcregrep: Data missing after %s
pcregrep: unknown value "%s" for binary-files
pcregrep: Cannot mix --only-matching, --file-offsets and/or --line-offsets
pcregrep: Failed to set locale %s (obtained from %s)
pcregrep: Unknown colour setting "%s"
pcregrep: Invalid newline specifier "%s"
pcregrep: Invalid value "%s" for -d
pcregrep: Invalid value "%s" for -D
pcregrep: Error while studying regex: %s
pcregrep: Error while studying regex number %d: %s
pcregrep: Unknown option letter '%c' in "%s"
set number of following context linesset number of prior context linesset processing buffer size parameterset number of context lines, before & afterprint only a count of matching lines per FILEhow to handle devices, FIFOs, and socketsspecify pattern (may be used more than once)patterns are sets of newline-separated stringsread files to search from fileforce the prefixing filename on outputsuppress the prefixing filename on outputtreat binary files as not matching (ignore)do not use just-in-time compiler optimizationprint only FILE names containing matchesprint only FILE names not containing matchesoutput line numbers and offsets, not textset PCRE match recursion limit optionset newline type (CR, LF, CRLF, ANYCRLF or ANY)print line number with output linesshow only the part of the line that matchedset separator for multiple -o outputsuppress output, just set return coderecursively scan sub-directoriesexclude matching files when recursinginclude matching files when recursingexclude matching directories when recursinginclude matching directories when recursingprint version information and exitforce patterns to match only as wordsforce patterns to match only whole linesthis text:

text that starts:

pattern number %d to %s-%d-pcregrep: malloc failed
%s%.*s%s%d of file Binary file %s matches
%s:%d:%d,%d
%c[%sm%c[00m--
rb..%.512s%c%.128sUsage: pcregrep [-Options:  -%c-%c,  %s --%s                           %.*s%s
pcregrep version %s
pcregrep: Unknown option -%c
LC_CTYPE--localeLCC_ALLcranyanycrlf%s%.*sautobinaryLC_ALLneveralwaysPCREGREP_COLOURPCREGREP_COLORCRANYANYCRLFreadrecurseskipcommand-linepcregrep: Unknown option %s
\E\E\b\E)$^(?:\b\Q^(?:\Qterminate optionshelpdisplay this help and exitafter-context=numbertreat binary files as textbefore-context=numberbinary-files=wordset treatment of binary filesbuffer-size=numbercolor=optionmatched text color optioncolour=optionmatched text colour optioncountdevices=actiondirectories=actionhow to handle directoriesregex(p)=patternfixed-stringsfile=pathread patterns from filefile-list=pathfile-offsetsoutput file offsets, not textwith-filenameno-filenameignore-caseignore case distinctionsno-jitfiles-with-matchesfiles-without-matchlabel=nameset name for standard inputline-buffereduse line bufferingline-offsetslocale=localeuse the named localematch-limit=numberset PCRE match limit optionrecursion-limit=numbermultilinerun in multiline modenewline=typeline-numberonly-matching=nom-separator=textquietrecursiveexclude=patterninclude=patternexclude-dir=patterninclude-dir=patternexclude-from=pathread exclude list from fileinclude-from=pathread include list from fileexclude_dir=patterninclude_dir=patternno-messagessuppress error messagesutf-8use UTF-8 modeversioninvert-matchselect non-matching linesword-regex(p)line-regex(p)--include--exclude--include-dir--exclude-dir(standard input)1;31��������x�`�@���������������������������������������������������������������������������������������������������������������������������������������������������������������(������������������������������������������������������������������x�h�����H���0�������������������P��;�8���8���0(���x8����ȹ�������H���������@8���l�����h�������(���D���p�������(��������0��D(�`x�������zRx�и��/D$4(���FJw�?:*3$"\����Xth���.W�A�A �����p ���Z
ABC�
DHCP���p ���`�<����B�E�A �D(�G0c8G@O8A0H
(C ABBCN8H@N8A0W(F ABB44����MB�E�D �C(�G0o(C ABB(l����HF�A�G vAAA����^G�T�����B�S�B �B(�A0�A8�D`PhEpShA`�
8A0A(B BBBFH����B�B�B �B(�A0�A8�D`
8A0A(B BBBATX���-AAU(pl���>A�H�G f
AAA,������B�I�D �L
ABB����0B�B�B �B(�A0�A8�G� L�@I�AF
8A0A(B BBBJ\�AI�AN�AA�A�AM�A^�AC�AS�AM�A[�AD�ATT���[B�B�B �B(�A0�A8�G� L�@I�@�
8A0A(B BBBAL�����B�B�B �B(�A0�A8�G��
8A0A(B BBBA\� ��B�B�E �J(�A0�A8�J�	�	Q�
W�	A�	�
8A0A(B BBBG\���sp<���A��H����LB�B�E �E(�A0�D8�GP{
8D0A(B BBBF8�����B�E�A �A(�D@[
(A ABBBdH����F�B�B �B(�A0�A8�G� L�@L�AR
8A0A(B BBBG)�AD�A@�AA�A$zRx��A������,����	D���eF�E�E �E(�H0�H8�G@n8A0A(B BBB��@<< � �w�y�y�y�y�y�y�y�w�y�y�y�y�y�y�y�~�~�~�~�� � ؗ ȗ �	*��"
(j� � ���o��8
�0� hH��	���o���o ���o�o����o�� �"�"## #0#@#P#`#p#�#�#�#�#�#�#�#�#$$ $0$@$P$`$p$�$�$�$�$�$�$�$�$%% %0%@%P%`%p%�%�%�%�%�%�P�����w�y����zzAИ &z�raQz;zB̘ Vz�r	��lz~z�� �zs����� �z�z����� �z�zCĘ ]z(sc�zXsD�� {�sd� {'{e� A{�sFR{�sf� `{j{�� � �{t�����{�{H�{8th�{`tI�w�ti�{�{��{�tl|�tL| u����`� )|4|�P|^|����q|Pu����� ~|�|��� �|�|��� �|�uM�|�|N� }�un}�uoP�  }v��h� 0}0vqB}XvrH}�v����� R}�v����� b}�v������ r}�v����Ж �}(w��@� �}�}��0� �}�}������ �}�v����Ж 
~(ws~*~uB~H~VW~Xwv_~l~w�~�wx�~�wȗ �� ؗ З � � �� � � � � � (�  � 8� 0� H� @� X� P� �~�w�~
GA$3h864T;T;
GA$3h864�(�(GA$3a1`;�;GA$3a1�;�;
GA$3p864�;�;GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFY�GA*GA!GA*GA!stack_realignGA$3a1�;�;GA$3a1�"�"GA$3a1(j0jGA$3a1�;I<
GA$3p864P<�iGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864T;T;
GA$3h864�(�(GA*�(T;GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!
GA$3p864�i%jGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA*GA!stack_realign
GA$3h864T;T;
GA$3h864�(�(GA$3a1%j%jGA$3a1%j%jGA$3a1�"�"GA$3a10j5jpcregrep-8.41-1.el8.x86_64.debugSƏo�7zXZ�ִF!t/����]?�E�h=��ڊ�2N���Ŵ�G�H��{�=��Q���� ���/�:�^2͑�g�����G�O$=T�6����Wۦ��V�5�	��^�
����(e�C�qa�u�����m�x8;_˗odѻz�1$��/+S������R�4Y��#��9��
{IŻ�*#EȲG|�W-Q���~gZ-<6��o3�}&��n�Xl#��8��ΰ0^Ъn=3��YcI�L�Z-8^B���S��U@�5�8v�t��� /n���R^��,�&APԯ*�F�m�1��q�Ҧ`qJ�UB�>��5�t6�1�[kf�3\��v׈� g� �4b:H��nM�O��L�z7�[m����T�1A}��.j��%B�d����dI�O��o&yg��L���"��rV��t6��ę�w����<�L�2L���jF冒д��K�":�9��dW�N�u�,C_���ENx�X��D���#=�����*;�5~�I�7���3��-��,T�}�uJ>�riW?۪^5�R�%t���Q̕k�|>w��̮﮹��?��f��nJz"�'�*u
d_�8�D}f�'��FH2�M�lާ�gtt��)�h���]Q�)�dde�-��+t����:�
4�*M
�:�nج�dm�ւ�%��C/7�^}L�ƒt�b�����#��HC����xc�3�G�6-S@\ �����'I%t�|�X�FK���;��S�z=$�q�ׂڒ�����LNս�,Y�����1j�+��6}bUz:��l�檝�z�WLW�1�̢܈���M`aC��Y��ʤ��;�H�oZD�+=��]��!�jF{M�R����u�aP�`�)Ӧ���0
ˊ%��P��ˢY�ȑbNmO�y¨x��v�ˣY�����<[*/�>���������2���,��pw
s�Ѵ�c���'�r�l�G�F�it�C戅�vݑ^�D�B`4@�oV��z�?�YM���잶�3�"\�V����ׯFO�b�&�U�Vt�M�$Y���]�m�Hj�\g��{�K/�9�	?�Ѝo<P�fB�(����1���2*�+�Bd�`�{�cs@��׳R���:�xE�#\G�&� :���<���ߎqz�}MW4��S�2J,�(�xM<4;x���Q��n��(���&���	�%.,����g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdatapp�� &�� 4��$G���o��@Q88�Y���a���o��vn���o  p}����BHHh��"�"��"�"��%�%���(�(eA�(j(j
�@j@jX �������p�p��� ��� �� �  �� �� �0�0� 0���� �x �� x�� 
�`x�l �(/��أ>bin/pcretest000075500000223400150405535520007100 0ustar00ELF>Ў@@@8
@@@@00pppP�P� PP!P!�
� ��!�!00���  ���DDP�tdd�d�d���Q�tdR�tdPP!P!�
�
/lib64/ld-linux-x86-64.so.2GNU�GNUGNU"4//��3����O�#�;�A�@�(D�D	ADJ(�BE���|fUabGsDX[��qXp\�9���ff��{��N�N��w� �� Y��,c��_�����g�* u%w�S��H�����_�V�F�R�9 ��z"f3�� !�!��!�0!�@!0P!�!�`!A�!R8!�H!@X!libpcre.so.1_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablepcre_free_substringpcre_fullinfopcre_pattern_to_host_byte_orderpcre_mallocpcre_free_substring_listpcre_calloutpcre_get_named_substringpcre_freepcre_assign_jit_stackpcre_maketablespcre_versionpcre_get_substringpcre_stack_freepcre_stack_mallocpcre_stack_guardpcre_copy_substringpcre_compilepcre_studypcre_execpcre_get_substring_listpcre_configpcre_jit_stack_allocpcre_dfa_execpcre_jit_stack_freepcre_free_studypcre_copy_named_substringpcre_get_stringnumberlibpcreposix.so.0regexecregcompregerrorregfreelibpthread.so.0__errno_locationlibc.so.6fflushstrcpy__printf_chkexitsetlocalefopenstrncmp__stack_chk_failputcharreallocclockstdinfgetsstrlen__fprintf_chkstdoutfputcfputsmemcpyfclose__ctype_b_locstderrsetrlimitfwritefreadstrchr__ctype_tolower_loc__cxa_finalize__sprintf_chkgetrlimitmemmovestrcmpstrerror__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3GLIBC_2.3.4GLIBC_2.14GLIBC_2.4/opt/alt/pcre/usr/lib64g ui	��ii
�ti	����ii
ui	�P!��X!p�`!`!�!���!���!���!h��!���!���!��!��!���!4�!��!��!0�!`� !��(!D�0!�8!��@!]�P!��X!n�`!�h!@�p!h�x!���!���!U��!{��!~��!���!���!���!���!���!���!���!���!��!��!��!��!�� !��(!��0!��8!��@!��H!��P!��X!��`!��h!��p!��x!���!���!���!���!_��!���!���!���!���!���!���!&��!���!���!���!���!��!��!��!��!�� !��(!��0!��8!&�@!��H!��P!��X!��`!��h!��p!��x!���!���!���!���!���!&��!���!���!���!���!���!���!���!���!���!���!��	!��	!&�	!��	!�� 	!��(	!��0	!��8	!��@	!��H	!��P	!��X	!��`	!��h	!��p	!&�x	!���	!���	!���	!���	!���	!���	!���	!���	!���	!���	!���	!���	!&��	!���	!���	!���	!��
!��
!��
!��
!�� 
!��(
!�0
!�8
!�@
!�H
!
�P
!�X
!�`
!�h
!�p
!%�x
!-��
!5��
!=��
!D��
!O��
!W��
!c��
!h��
!��
!���
!~��
!���
!���
!p��
!u��
!}��
!��!��!v�!��!�� !��(!��0!��8!��@!��H!��P!��X!��`!��h!��p!n�x!n��!���!���!���!���!f��!��!�!�!!�!9�!< !A0!D8!J@!EH!KP!FX!L`!H�!I�
!!!!! !(!0!	8!
@!H!P!
X!`!h!p!x!�!�!�!�!�!�!�!�!�!�!�!�!�! �!"�!#�!$!%!&!'!( !)(!*0!+8!,@!-H!.P!/X!0`!1h!2p!3x!4�!5�!6�!7�!8�!:�!;�!<�!=�!>�!?�!@��H��H�!� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1�������%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D��AWAVAUATUSH��H�$H��H�$H��8Hc`� f�L�5�� dH�%(H��$(#1���H��I��)�$"HDŽ$"���H��H��� ���H��� H� � H��� �t���H�D$����1I�\$�D$ �D$P�;-�D$XDŽ$��D$4-�$�D$$��11�L�t$�����A��D$\A��A�L�
��D$0L��L���D$tDŽ$��D$pDŽ$���H��L���������H��L����������CH�S<+u�D$P�CH�S����Hπ���1��1H���H�����D$$@��A����t8Mc�K��;-u,�H��L��������N�����A�A����uȉ�$�D�t$|L�t$Hc|$4H���-���H�D$HH���U���(H��`�$H�m� H��dH�w� H�P`H�a� H�bbH�K� ���l�D$4L�4$H�D$8H�{� ��$�H��$ "HDŽ$�HDŽ$�HDŽ$�HDŽ$�@H�D$@�D$xH��$�H��H�$H���HDŽ$�HDŽ$�HDŽ$�H����� ��� H�d� ��aH����H9G� H�=�� tH��H�=�� ���H�=�� ���H��� �'���H�D$L�8I���f.�I��A�$E�,GI��fA�� u��/���I�l$<<��A���HA��\�>A�D$I��L�-�fD���HM�gA�WL��<\�|A8���H)�Hc�H�� H�D$��\�
H�t$H�=�� A�L�=���,�����$�DŽ$�DŽ$��D$�D$|DŽ$���� �D$\DŽ$��D$h�D$XDŽ$���$��D$$DŽ$��D$x�D$TDŽ$�DŽ$H�D$(H�D$`DŽ$��E�,$E����E��H��$"I�l$D��H������H���uA��
A��n�EE��Kc�L�>��f�1��Y���f��H��H�=�������u.�l� �'�����D$$�����fD�H��H�=Z��������R�H�=C�H���������R�H�=)�H��������u�H�=�H����������D$X���M��DH�<$L��L����^I��H���0H�$H92� tH�5�� L����A��p������t�A�WI�O��I���Q���f�A��<��+�>H�����H���n+H�5y� H�
3�1�H���hA������$"L�5���u�eD����UH��<<u�H�5&� 1�L��H���g����A9�u�A�<$>L�4$L��tfDH���8>u�L)�L���PH�5:�1��3����D$0M��tL;5� tL���e���H�=�� H��tH9=�� t�K���H�=T� ��H�|$@�u�H�=6� �i�H�|$H�_�H�D$8H��tH���M�H��$(#dH34%(�D$0��IH��8#[]A\A]A^A_�H�
)� �+�E1�H�=������\$ H�D$(H�D$H�D$E1�H�$H93� ��H�-�� fDH�<$1�H���\H���FH�-r� H����A��~:H�t$Hc��T�H��DQ t���H��D�T�H���DQ t�A���E��u�H�5]� �
���tH��$�t
H��$�����M��tL���]H�D$H��tH���X������ ���H�D$H��tH���x���E����H��� ���E�4$E�����A�T$�� �V
�<H��T$���T$H��� �����!��D$\�D$h�D$X��$�1�H��H���H��H��H��H�H��P�A�DW tH���P�A�DW u��H�5o�H����H��H���\*H��$�H������H���/
D��$ "D��$$"A�Ic�H��H�D$�XI��H���mHL�|$H�پH��L���7�I9���A�H�=�� ���=ERCP��=��ERCP�a=�}�<H�
O�H�ݕDŽ$�HE�A�1�Mc�I��H�>���\�M����)I�|$@�	XH��L��H�x@H�H�xH�D$��H��I9��#=H�=� H����1���H�|$�5��1H�|$(�v[H�5�1��(���� ����$�-���H�
�� ��H�=S�E1�A���\$ H�D$(H�D$H�D$� ���A�����H�5@�H�߉T$���L�
�L���T$��L���9H�5�H����L�
�L�ޒ�T$��L�Ԓ�H�5�H���e�L�
��L����T$��L�����H�5��H���5�L�
��L�~��T$��L�t���'H�5��H����L�
R�L�N��T$��L�D���7H�5]�H�߉T$(�����T$(�D$���t$u	@����=H�5/�H�߉T$(��L�
�L���T$(��L�ߑ�),H�5��H���p�L�
��L����T$(��L�����+H�5ґH���@�L�
��L����T$(��L����+H�5��H�߉T$(��L�
Y�L�U��T$(��L�K���+H�5u�H�߉T$(����T$(��u�|$��BH�5R�H�߉T$��L�
��L����T$��L����C�D$ ��A�\M��M�d$����D$X�D$\�^�Ic�H�5
�H��M�,I�}��I��H���o$�����I�\H�5�H�;�j�H��� H�����H�H�5�������D$0H�D$8H�D$@���H�L$H�=[� H���1���H��p�H�=l�L�4$���[���L�4$L95s� ���|$0�G���H�
� �'�H�=b�����|$p���
��
�f��H�=�� �H*�$�H���f(�f��Y��*D$t�^�f(��^����D$0�����$����$���$�I������DŽ$�I�������L$@I����I���D$hDŽ$����L$ I�����DŽ$�I����DŽ$�I����I���D$h��L$I����DŽ$�I���t�A�D$I��< v
I��A�$< w�H�$H��s�A�$1�H�����H���'B�L� ���H�D$(���S� I����L$I����L$I�����DŽ$�I�����A�D$��0���{A��� H�OI��H�J� ���D$T�L$xI��A�$I�T$<+�9�F<-�h<S�BDŽ$��D$TI���L$I���Y� �<�L$I���,�H�5m� 1�H�
%�H���\����	D$I��I��A�|$�>u����DŽ$I�����A�|$I��tI��A�<$u�H�D$H�A�D$��DB tI��A�D$��DB u�A�$H�l$`��L$ I����L$I���y�A�L$I�T$��1�?H�$�H��H����>H��0�BH��1��>H�՗I��H�D$(� �L$I����L$ I����L$@I�����L$I������	� I�����L$I����DŽ$�I����L$I����L$I����L$I����L$I���z�H�=�� D��1�H�������$�E1�\$ H�D$H�D$��<!u�������L$x�#�A�D$I�l$A�DG t�H���EA�DG u�H�5��H���L����z�UH�EA�DW t@H���A�DW u�H��$"�H�z�H9�sH��H���J��0H��A�Dw t���j��T$4H�5�{������D$0H�D$8H�D$@���A�|$+u
�D$PI�T$��p�@�����1H�5D�H��H�����������\$ �$����|$p��/L��$\H��$�L�D$(�t$L��H��H�|$���I��H���t/1�1�H��$�H����Z���F0��$�t
��� A�F�=�� H�D$�k.�|$Tu��$��0��$��0�|$p��C�t$xH��L����H��$�H�D$H����-H�=]� 1��E1�H����G���$�t!H�|$�v:H�t$H��$�H� H�F0��$���'�|$h�2&H�D$`H���&H�50�H����H��H���cA��$�tA�F���6�D$H��$�H�ٺ�ȉ�$ "D��ȉ�$$"��H��v!L�|$H�پL��L���c�I9��&A�u��8�~�H�L$`I��H�=O� H����1��<�H�����L���OH�D$H��tH���Z��=�� ��H�|$(�OH�5�1��E�H��� ��� ��E1�H�=�� H��1�H�o���L���GOH���_���H��H�5�x1�L�4$������I�l$�D$hDŽ$���������DŽ$�I����DŽ$����D$�ƒ��t���D$t���D$t�� �D$t��@�D$ t���D$t��L��$�H�t$L�����Ņ��]H�D$E1�H��$L�t$`H�\$@H��$H��$L��$�DŽ$4H�D$H��$H��$DŽ$�DŽ$H��$�H��$DŽ$H��$�H��PH��� H�D$�
� H��� �� ��� ��� ?B��� ������� H��tH� �H�-�� E1�L�,$�EH�-�� L9-� I��tH�5�� H�����H�-g� I��L���|�A��H�A�|�
��Mc�H��L��J�t=�DKH��u�D�t$TE����=H�5Z� �
��L�5	� H�D$M��H�C�D>��DA ���D$T��H��f�A�T�H���DQ �W�ƅ��D$TLc|$TM��C�>E���-*H�D$H�A��DB t�I��A�E�DB u�=�� �<L��L��$���}�H��L���DHc�HՅ����H�
v� �C�H�=m~�P�����H�5T� �
���(�H�ޓI��H�D$(���f��M�f���I��*L$pH�=� H��}��H*�$���\$�$�L$�Y��^��^����f��\$�L$�$H�=�� �H*�$�H�Z}���Y��^��^����\$�$��H���f�M�H��L����H����4H����M9����u�H�Ë�$�DŽ$�DŽ$�I�މ�$��D$4DŽ$��D$hH�D$HDŽ$H��$�DŽ$DŽ$ DŽ$$�D$@A�mI�M�������\���v� ��t������@� �����R� ���	I�́��v9H�=h� ��1�H�y�S��3H�
G� �H�=3y�&�A�.A�mI��I�M����g����=�� uD��A�)؉D$TLc�D��$��D$ D�$��$�D��$��	I�l$��D$TH��L)�HݍPHc�H���:�E��t��$���;HcD$hE1�H�D$h��~H�<���I��D�D$@A��tA��D$@tA���D$@tA��L��$�H�T$hH��L��L�����Ņ���H��$��@	��H�
� ��H�=�����L�������n���f�A�mM�E@��x��H�5R�Hc�H�>��@I�����E1�A�}{� (H��$�1�L��L��$(E��L��$��FH�D$D�3H�F�,pfA��t3���D���H�f��B,�f���H��A����'��0)�A��~��=
� I��L��$�H��$�L��$(�� �����F��������=�� M���1����=� ������L��L��1�Hc�H�5��I��,�@�(�GH�I�����=h� M������=x� �	u��f����=E� M�������=U� �
u��C���H�D$M��1�H��
k�
I���l�A�EI�u��DJu�H�|$��'H�D$Hc�H�H�h�d���A�}{��%�=ʿ M���I����=ڿ �o���������=�� M���"����=�� �������=|� M��������=�� ������v����=U� M�������=e� �������O����=.� M��������=>� �
�|����(����L$@M������L$@M���v����=� M���f����=�� ��5�������� M���=����L$@M���-���H�D$M��1�H��
k�
I���l�A�EI�u��DJu�H�|$�%H�D$Hc�H�H�h(����t$@M�ʼn�%����%��	Ɖt$@���H�D$M��1�H���������k�
I���L�A�E��Druډ͉L$h9�$�}3H�|$HHc����H�<��"��H�D$HH���=/�D$h��$�HDŽ$��t$h���)���Hc�$�Hc�H�t$HH)�H��H��$������D$@���+%����M��
�D$@���DŽ$�M������A�}-uDŽ$�����M�EH�D$M�ŋ�$�H��
k�
I���L�A�EI�}��Dru���$���$��t���H�55� H�
���L��L��$��K�������	D$@L��$�M��I��A�}�>u��*���H�D$��0I��L��H����Dr�9����p�@���,���H���l��L9�������H�D$M��1�H��
k�
I���l�A�EI�u��DJu�H�D$H��������@�����H�x8�����H�D$H��tH����������
� ��H�|$H�5;H��H�D$�W���Z���H�D$H�A�E�B����!M�Ũ�5���H�T$`H��$�L���II�������L$@M������DŽ$M�����H�D$A�MH�H���J�������c<+�0<-��%<!�%<*��$M������L$@�M������L$@M������L$@ M���z����D$ �$���"DŽ$�M���V���L�����A�U� ������?I����	Ճ=�� L����������3M�F����v7M�F�����v&M�F�����vM�F���������w�L��H��L�f.���H������?�ʀ�PH9�u���H�L��|������l���H�=L� ��1�H��o�7����A�M�u!������?I�����	��	�����A�u�u\������?I������%�	�	ʼn��%�	�����D�t$T�D$TM�������Lc��k�t$TLc�C�>��A�}���������?I������%�	�	ʼn��%�	ʼn��%�	��d���L��L��H��L)�H�������$�I��t��$���H�|$u"�|$PtH�D$H��t1�H�5�7H���2���D$h��t$hDŽ$8L��$�L�t$�H��$�H��$��������$(��lj�E�$(E1������$H��$0�l� �|$tHDŽ$���	�l$@D	���$��	M��tL������@�I��A��L��H�I��H�F|PI�FL��j�PjD��$�ATSD��$���$�H��$��;H��0A��L��H�	|L��PI�F(j�PjATSD��$���$�H��$���:��$H��0��$�������$����|$h�E�$(��$���$�9��M
��$t+��$���
H�
R� �0�H�=an�,����$�E1�L�l$L��$@����$���F�l�E9��h�H��s�1�������D��H�� Ic�D)�H|$�?�|$Pt
�=�� �5H�5�� �
�����$�uE��uV��$�tLH�=�� ��1�H��z�|��JcD��t$TH�|$H�g� )�H��=?H�5V� �
���I����$�E��D��E���D9���F�4�H�="� E������A���t0E��D��H�^m1��D��$L����H�=� D��$LB�L����tE�BH�&m�1�����H�=�� ��H�vr�1������S���H���J�H�=m�v��D��H�=|� E��A���j���H��$�L��$@L�l$tEH�
R� ��H�=�y�,��H��$�H�-� ���>H�5� �
�d��1�D��$ L�t$L��$������ ��A��s$�M����H��A�L�����A�ƅ�xPH�=�� ��1�H�y���H��� D��L���t=D��1�H�=�� H��x�w���z���H�=k� A����1�H��x��S���V���I��H��$I��H��$��|��H�=�x���H�� D��H����<D��1�H�=�� H��x����H�� ��H���<H�5׳ �
�M��1�H��L���H���H�Hŋc� ��u
�}��RL��I��I��h��$�L��H�|$p����YH�
z� A��^���9�����H�=�w�H��H�Q� ��H���&<D��1�H�=5� H��w�)���W���L��H��$�A��D��$�@A��A�� ��E��s싔$�I��D��H��L�����A�ƅ�xcH�=β D��1�H�pw���H��$�H��� D���;D��1�H�=�� H��v���H��$��g���j���H�=k� A��D��1�H��v��R���E���H��$L��$�L�d$`���H�=�v�
��H�� H��$�D����:D��1�H�=�� H�~v����H�� ��H���:H��$����H�5ñ �
�9��1�H��H���H���H�HŃ=M� u�}tw��$�M��I��H��L��L�����H�
s� A�ƅ��5�����H�=v�B��H�K� ��H��� :D��1�H�=/� H��u�#���e�����$L�t$���$��$���$���H����+��$���$��|$h��
�C9�d
��$��
E1�Hc�)D$T��$�IՃ�$8��$����H�
�� ��H�=�t�`������D$hA��L��L��PSD��$��L$dH�|$p�v����$�_AX����*��$������������,E���H�D$`��$��@�3�Ł�p��	��`��@t%p=0u*�D$T��$���9�~�=o� uHc�A�|
�i(�=w� ��	��$��C��$��$������H��$�L�t$L��$�DŽ$�DŽ$������$$��M����&I�A��L��L��H��$�I�F�D$hPSD��$��L$dH�|$p�2����$�I�&�AYAZ�8����y����$�H�D$�3�l$@���&'H�|$8��&D�d$@E	�h�E��L��L���t$@�D$x��PSD��$��L$tH��$��N����$�H�� ;l$tu����f�f��H+D$�H*��Yv�H�=G� H��d�*L$tH�$����^��^L�������L�4$�<��H�5�_�1��T�����D��L�4$���D$ �D$PDŽ$��D$X�D$4-�$�D$$�D$|A�DŽ$������D$\�D$0�D$tDŽ$��D$pDŽ$����I�U�H�5tm1����H�=:� H����H�D$@H�D$8�D$0�i��A�E����I����@��?	ʼn�%?	ʼn��%�	ʼn��%�	ʼn���%�	����L�t$H�5�\�1�����-�D$0H�D$8H�D$@H�D$H�����$�����H�|$8��'��$4�pA��uH�D$8�����h�A��L��L���t$@�D$xPSD��$��L$tH��$�������$�H�� ����$��$�D��$4��������$0�]�M�F��@������8����H�=ë H��H�lI���1�������DŽ$�����L$@M����H�
~� ��H�=l�X���D$TH�D$��$�tH�t$1�L����������f1�1�H��$�L���;���Z�H��$�H��H�����Ѫ ���DŽ$�DŽ$�DŽ$�DŽ$�DŽ$�DŽ$H�D$(H�D$`��H�=KnH�\$@L�4$�������L������Hc
�� L���E1�H�#� ���L�� ��1�H�=L� H�ck��;��H�D$H�D$�3��D�D$hH�=� �1�H��`�����$�	�$���$(��$�����H�=٩ H�n��1����g���DŽ$�DŽ$��2�D�d$@1�E	��D$hE��L��L����PSD��$��L$dH�|$p�����$�A[X;l$tu����H�|$`1��H��$��#9����$��$����;T$hO�$0��$����H��$�L�t$L��$�DŽ$��m���$�H��L��E1�H��$�H�-�m������yjH�=¨ ���1�H�m������H�=�� D��H��1�����H��$�H��� ��J�<�I���P1H�5i� �
����J��D9�$��H��$�H�<t%H�
7� �#�H�=�_���H��$��T������H��$���L�t$L��$������#������u%����5%��$8�E�H��$�H�
�� �u#��H�=�l���H��� H��$����g0�|$Pt
�=Y� �l$H�5l� �
�������������$L�fH�=F� 1���A�H�`l�+���|$h~(H��$�H�=� �H�UlD�@�1����H�5�� �
�;���b��1��{T�K�D$t ����D$0���$�D$p��DD$t�D$p� ����$�9�>��9t$T��!D�=b� ��Hc�E������A�LH������u��9T$T�E1����;D$T�>!��$�A����������3H�
0� �H�=T^H��$�L�t$L��$�������H��$�������$���
�{!��
�f!=

�s!�������@D�����Hc�$��L���4H����@�������$����9t$T�����D��$�E1�A���I��L;|$h�W�C�|�x�H�=G� D��1�D��H�
b��.��KcD�C�t�H�� )�H�<��-H�5� �
�Q����$�u
M��u�E��t�H�=� ��1�H��h����KcD��t$TH��� )�H�<�-H�5�� �
����;���Hc
�� H�R� L�����8��L�A� ��1�H�=v� H�Hh��e���a�H�=�]���DŽ$���DŽ$����H�T$`H��$�L����1I���O�1��
k�
I���L�A�I�x��Dru�M����	�$ ��DŽ$����1�H��$p�L���31��L��H��$t���31��L��H��$`��h31��L��H��$x��O31��L��H��$d��631��L��H��$|��31��L��H��$���31��L��H��$����21��	L��H��$����21��L��H��$���2�
1�L��H��$���2H��$��L���1��21��L��H��$���n21��L��H��$���U2�A��tIH�D$�\$ �k��H�
U� �C�H�=�T�/����!� H�52� L���
6�����$pH�=� H�U1��������$t��~H�=� H�Rc�1�������$���~H�=͡ H�Fc�1����1�H��$h�L���1����1�H��$l�L���d1�����$��
L�g� ��$�����$�����$��xH��$�H���IH�
{a�L��^LD�H�=�^�HD�H�5�^�HD�H��^�� HD�H��^� HD�H�-�^��HD�L��^�LD���M��L��^LD���L�D$hL��^LD��@L��$�L��^M��L��^LDɨ LD��L��$�L��$�L��^M��L��^LDɩ�LD��L��$�L��$�L��^M��L��^LDɩLD��L��$L��$L�y^M��L��^LDɨL��$L�
e^LDɨASLD�W�L��VH�_^�RHE�H�
S1�SUAW��$���$���$���$ ��$H��$X��$h��$x��$��`���H�쀃�$���
H��$�L�?� %pH=0�q
�WH=��
H= u L�Ѻ�H�=!a���L�� ��$x���	
����A�F H�%_H�v]��$`HE؃=�� ��1����wH�t$��H��Bf���������1I��H��`L��1���m�����$|H�=^� �0
A�F�H��^H��\��$dHE؃=� �����wH�t$��H��Bf��A��A��D�������I��H��`�1�����|$Tu$��$�����D$\������$�����H�|$��H�t$H��$��L��HDŽ$��k-���|H�t$H��$��L���I-��u,H��$�H�
U� ����H�=`�)����D$x�+���D$$� ��H�t$H��$��L����,��������$�H�
� ����H�=�_�ƻ������H=@�wH=P����L�Ѻ!�H�=uP萻��L��� ���H�D$H���H�@�=w� D� ����$��3���C���I� I�����H��$�1�L����,1�L���H��$��+E�f1�L��H��$����+��$�A����$���$�A��H�=ߛ H�NA��@�)�1�D)��ú�����H�\$@L�t$`E����$�L��$�\$ �F��DŽ$����D��$\H�=z� 1�H��\H��$���_���H�D$H�D$�W���ӷ��E1�L��$\H��$�I��L�D$(�t$L��H��H�|$���H��tH�����A��D;l$pu�臷��f��
{H�=� L)�H��L�H�$��H*���Y�f���*L$p�^��
�z�^�蠹���y��H�D$H�D$�����$���
H�D$E1��I��1��
k�
I���L�A�I�x��Dru�M����	�$�g��H�D$E1�I��1�L��$�I��D��L��$�H�M����l��I��A�E��DJ���HȀ�������u�H�
͙ �G�H�=$N觸��H�D$H�뮿@裷��H�D$H�����H�D$I��H��$�1�D��L��$�H�L��M��I���SH��$8����$0H��$(藸����$0H��$(H�H��$8f��,�f�����'��0)�I��A�4$�rH���t/����	u�H�
� �D�H�=�M�ͷ��H�D$H��L��A��M��H��$�L��$�I��<}����I�M���H�=�ML��$����L��$�M������@�x���H�D$H��&��H�= � �K���H�=� �?���H�|$H�5����D$0�ۿ��H��H��H�1��"���L���H���´������DŽ$�H�
QX�~��H�=� H�eX�1��ܶ���D$T�x�A�>ERCPA�nt͋j� L��V��t��L�vVH��WLE�H�=�� E1�1����H��E��w���A��1�A��H�=b� �H�~EA���M���L����H������I���L��M��L��$�L��$�H�
� �!�H�=�KL��$����L��$�L���W��L��M��L��$�L��$�<}� ����DŽ$�A�}-�GI����k�
M�ōL1Љ�$�A�u��$�M�E@���Dzu�DŽ$$����$�����H� I��1�1��k�
�I�ōt�A�MI�ED��B�DBu�@��t�5� �	� ��!�H��1�1��k�
�L�ȍL1��0L�HD��B�DBu�@�������
ɕ ����H�)� I�����H�t$H��$��L���%���,���H��$�H������H�=�� H��G��u������I��������I�EH��$��T$@I�<�H�t$(H�D$8�qL�
�SL��S�T$@�D$4H��$�L��S�8�A�����w�����$�H�=�� �H�
I����`���L�Ѻ�H�=�V躳���i���L�Ѻ�H�=�V蜳��L��� �c�L�Ѻ!�H�=�G�w���L��� �0�L�Ѻ�H�=G�R���L�[� ��H�
O� ��H�=�U�)���L�2� ��$��P���$���������=�� El$hH��$�1�H��Lc�L��H�=�VH��L��H��H�X�迲��H��$�H��� ��L���
� ���'���Hc�$�H�5�� ��)�9�܃=9� I��t1H�$��E�����$lH�=i� �H�U�X������H��$�L�׾H�U�1�f�����+���L�$� Hc�$�떋�$hH�=� �H��T����[��A�FA�FA�VA�PCRE�A�FA�F�A�VA�V�A�FH�D$�fA�FA�VfA�FfA�FfA�FfA�F fA�F"fA�F$fA�F&fA�F(H�����������H�@�ʉ�PʉP�P(ʉP(���L�Ѻ
�H�=�T�,�����$`H�5.� �H�پ1�H�=� H��r������A�^���k�L�Ѻ�H�=dT�а���n�L�Ѻ'�H�=�E貰���P�L�Ѻ�H�=YE蔰��L��� ��H�
�� ��H�=E�k����(�L�Ѻ�H�=fS�M���L�V� �]��H�=dT�+����3���A�^���"�H���
�H�=�S����"�H����H�=�S�����$dH�5� �NH�پ1�H�=͐ H�Cq�������H�=�SE1�蓯��A��GH�D$H�B�Dh@tsI�� tmH�=~� ��1�H�lSA���e���I��I����D��H��$�D��D��H��D�����s�A��K3�=�� u��� ��^v�H�=� ��1�H�SA�����둺H�
� �H�=�RA��î���H�5ʏ �
������@E1�训��H�D$H��l��H�=6� D��H�S肮����X���H��$�K�|�H����T$(�D$H��$��8�����H��$��H���E����D$H�޿��H�H��$��7���L�
�ML��M�T$(��L��M����¿H�5�=1��A����跭��H��H�5�>�H�\$@��L�4$�����ߵ��H�
�� �!�H�=b@腭�����H�=�� H�r@�1��v��������\���H�5lMH��D�t$|L�t$�ë���D$0���M����K�\�H�5<MH��蚫�����XH�5.MH��胫�����(H�5MH���l������nH�5MH���U������WH�5�KH���>��������=o� ����$�H�5�J�1������$��D$0���H�
�� ��H�=AN����D��H�5�=1�L�4$�踫��逴��H�=L� H��H�#N�8������H��$�1��Ī���f���H�5!KH��耪�����H�5,LH���i�������H�5LH���R�������H�5
LH���;�����tRH�5�KH���(�����t.H�5�KH��������tH��H�5�K�1��������H�=�K�ʨ������H��$��������$�H��HH�=�HHD�蔨���D$0���H��$���ũ����$�����D$0�f��H��$��	����H��$�����H�=�J�'����D$0�)��H��$�����H�T$H�5K�1�H��$�L�%I��H�=�JH�-�K�Χ��H�=�J�§��1�H��������$�L��H�5�JHEտ1�覩��H�޿�٨����$�L��H�57:HEտ1��w���H�޿	誨����$���H��$��H��臨��H��$�H�5:1���,���H�޿�_�����$�1��H�޿�D�����$�H�)HH�
HHD�H�5(J�1��ר��H�޿�
�����$�H�5J1��谨��H�޿�����$�H�5�91��艨��H��
輧��H��$�H�5�91���a���H��蔧��H��$�H�5�I1���9���H���l���H��$�H�5}91������H�޿�D�����$�H�DGH�7GHD�H�5qI1���ק���|$|tNjA����1�1�j1�E1�D��腦��^H�G_�؃�$�H�5CI���H��IHD�1�肧���
�����r��H�=d8H��$��O����.���H�5IH���[�������H�5�HH���D������|H������P������H�\$@L�t$`A���$�L��$�\$ �=����@膦��I��H��@��肤���8苧��H�L$`�H�=Z� I��H��K1��I�������L�|$`H�=8� H�y<1��L���"���H�D$H���ؾ��H�xH��L����I9��������8����L��I��銾�����֥��H�D$8���H�=-6�����薦��H�=W6����耦���%H�
�� �H�=�=H��$�L�t$L��$��^������H�L$`H�=]� H��J1���J����	���A�|
��������H�
(� �=�H�=�=������$0��$����H�=H@�C����G��L��1�����o���I�ċt$xH��L�����j���;\$pu�I���L���L)�H��$�M��tL�����f��
�fH�=�� H��8�H*�$����Y�f���*L$p�^��
�f�^��S����Ż��L�Ѻ�H�=xH�%���L�.� �5�H�
"� ��H�=�H������H�5�DH�߉T$@�d����T$@��t:H�5�DH�߉T$@�I����T$@��tH�5�DH�߉T$@�.����T$@������1��{T�K���D$0H�D$8H�t$(�T$@�L$I�<���L$�T$@L�
:D�D$tH��$�L�*DL�&D�8�)A�������H�
@� �!�H�=�;������$H��$�����H��$�L�t$L��$��y����-H�
� �H�=�<H��$�L�t$L��$�軣����$���$��4�����订��H�D$8�=��H��$��\$ L�t$L�t$`H�D$@H��$�H��$�郬��� ���t������h���0���\���;�D$0�����H�=BI�������H�=� A�H�pI1�������z����
H�
� �H�=�HH��$�L�t$L��$�輢���|$h��H��$��H9tH�=�� H��H�1�蘢��H��$���H�
�� ��H�=~H�\���H�e� H��$����5�|$hi�|$P�G���=� �:��H�
/� ��H�=cG�	������H��$�u��H�
� ��H�=4G�ڡ���r��H�
ނ ��H�=G踡��H��$�H��� Hc�vI�|)���T���H�=�� ���r7��H�-w ����H�L��H��G1��p������L�A�����H��G�1��J������H��$�H�D$(I�EH�D$8����D$t ��Y��f.���1�I��^H��H���PTL�f'H�
�&H�=x����� �H�=� H��� H9�tH��� H��t	�����H�=р H�5ʀ H)�H��H��H��?H�H�tH��� H��t��fD�����=
� u+UH�=r� H��tH�=�u 艠���d����� ]������w�������� H���@f.�D������D��@�€t��҃�u�1��fD���uD���f.�����Hc�L�
N_�@E#��W�A��A��A��A�����H��E1��@�H��A��A��A���u\����?A����A	�A9�u�A��v.A���v(A����v<A����v:A�����v8�E��y��ú9�u�D���ÐD���ø����ú���ں��Df.����� �DATI��UH��S�����H���u�DH���]��t�DZ u��]1��D��H���DC��]��DJu�I�,$[]A\�@f.�ATA��UH��SH��螞��A�t$�1�H��f�L���DD���B+�u	L�BH9�u�[]A\�f�f.�H��H�=�$�P���H�=�$�D���H�=%�8���H�=�:�,���H�=�:� ���H�=%����H�=E%����H�=q%���H�=�%��H�=�%���H�=�%�ؚ��H�=!&�̚��H�=M&���H�=�&贚��H�=�&訚��H�=�&蜚��H�='萚��H�=A'脚��H�=}'�x���H�=�'�l���H�=�'�`���H�=�(�T���H�=�(�H���H�=�(�<���H�=)�0���H�=�*�$���H�=�*����H�=�*����H�=%+����H�=Q+H������UH��SH��莛��H�Ë]} ��uH��H��[]��H�=i} I�؉�1�H�;9��Q���H��H��[]����UH��SH���.���H�Ë�| ��uH��H��[]��H�=	} I�؉�1�H��8���H��H��[]��AWAVAUA�@ATI��U�����S1�H��(HcD$pH	H�<$L�|$`H�T$D�t$h�L$D�D$D�L$f�H�L$xIc�L��H�AVAWD�L$,D�D$(�L$$H�T$H�|$葙��ZY;�$�t.���}���ul�SD9���B�+D������A����E�D9�t ��~,A�T-D������A���s���D��A���e���DD��E��U���DA���D$p��H�I!$H��(D��[]A\A]A^A_��H��$�H�=�{ �$E��H��7�1�萚��D�$�f.����N{ SH����uH��[�U���DH��H�=V{ �1�H�i7�C���H��[�*���f.�AWAVAUATUSH��H��8�-=z L�=�z H�|$H�T$(H�t$I��Lc�M)�M��M)�I���vXH�D$H9,z ��H�T$D��H���&���H����H��蕗��HcЅ�~�|�
��HӋ-�y L�=Sz 두�Hc�H��胘��H��I���x���H�D$M����H����L��L��K�.L������L�z H�|$L��L��L�\$ ��L�d$L���-Iy M)�M��K�&H�L$����L�\$ L����H�D$L�5�y H��y ���@H�T$(H�5�Z�1��0������H�L$H9�HE�H�D$H�D$H��8[]A\A]A^A_�H�=<y ��1�H��5臘����]���f.����>y SH����uH��[�E���DH��H�=Fy �1�H��5�3���H��[����f.�S����tb��
tr~"��
tDH�=q5��

u[�H�������t+H�=W5���t��H�5d5�1�[�)���H�=25��H�=!5�H�5'5�1������H�=5�f�ATI��US��H�� �Yx dH�%(H�D$1���tY����}M�����H��4�1�L���<������I�H�L$dH3%(����H�� []A\��G�^wH�M��t̉�H��4�1�L������@�;�����H��DP@t�M��u������W����~w ��t2�M���j�����H�B4�1�L��脖���M�����M���8�����H�4�1�L���R�������DH��A��H�
�31���蚖���������AWI��AVI��AUATUS��H��(dH�%(H�D$1��D$��y�ɓ����H�D$1�H�D$�Df���v ��tH�t$L�����9�|��IA�?L��M�oD��M��|$�����D�c����H�L$dH3%(��u*H��([]A\A]A^A_�@�|$)�L��H�I��������<���f�f.���AWAVAUATU1�SH��H���v ���u ��H�-v �����OD�G(H��#1��H�����H�CH�����K$����E1�E1�L�-�2�Rf�L��H��1�讔��H�CH��Jc< B�t )�H{�s���H��
�֒���C$A��I���D9�~1H�CB� D�����y�H� 2�H��1��M�����H��tH���H�=�1�����sH�{H��9s A��DM{ ��Hc{H��D��A��)�H{�����sH�{1�A�������sIc�H��H{A��D)����H��t
H��
�
����KH�=�t ������t ����H�v1�1�膓��1�E��~ �H�5qt � ��贑��A9�u�H�5Xt �^螑��E��~;E�~�1�A��tDH�51t � ���t���D9�u�H�5t �^�^���E)�1�E)�E�eA���|@H�5�s � ���4���D9�u�K<�LcC8H��0H�=�s ���D�Lls 1�譒��H�5�s �
���H�C@H;Ys �ks tWH�
~s H�����
�H�=h0�O���H�{@�����H�Os �*���H�5Cs �
蹐��H�C@H��r H�C0H��t
�(����1��r 9Cu�s 1�;�r ��r @��H����[]A\A]A^A_�f�H����H�=�/跑���<���f���H�=�/蚑���l���D�K81��H�g/芑���{8c�����H�
yr ��H�=F/�S�������fDH�=Qr ��1�H�S/�<����D����AVI��AUI��ATUSH��L�&�w����D�M�H��I��D�H�0I�l$L��B�Fu�1�L��fA�$I�u�M�����xI�mH��[]A\A]A^�f�H�
�q ��H�=�.蓐��I�}�����H��q �n����H�
�q �H�=w2�a���I�mH��[]A\A]A^ÐAUI��ATI��H�5�.U�պSH��H����������H�5s.H���� �����H�5P.H����0�����H�5,.H���w�P�����H�5.H���V�@��ty�H�5�-H���9����t\�H�5�-H������t?��u�H�5�-H������tH��-I��L��L��1��6���1�H����[]A\A]����o ATI��U�ՍP�S��vi��蒍���Å�yP���tK��o H�=�o L��.��t��L��.H�#0LE�1�A���H���豎�����tA��[]A\�DH�=�o A��L�e.��tL�U.���H�w�1��k���E�D$H�=_o 1�����H�t�A��A���:�����[]A\�SD�D������D�ƒ�������?H�gM�H��M�RD#�H���A���tO�VE1�A��Ѓ�<�t)��fDB�TI�AA��A��A�����I������?��A	�A9�u�D��H��N�1�脍����[�A�P�^v'D��A��w61�H�+�1��Y�����[�D��H��1ۉ�葋����[�D1�H��*�1��#�����[��D��D��H�CN�1������[�1����ATL�%&NUH��SH������t)�A�H����^w%H�j*�H��1�诌�����u�[]A\�L��H��1�莌���f�f.�AUATUH��SH��H���~D�D�F@��	��Hc�A������H�@L�
|AI�A�fD��H�����td�p�9�u��p�A9�u�Hc�H�IE�AH�@EI�H��H��H�߾UH��b H�-MN��1��ԋ��H��[]A\A]�f�L�
�L��A��H�ѾH��H��?H��LN�$�H��LL��,L�-�LLE�1��o���A�$���t%fDI��L��H��1��J���A�$���u�H��H��H��[]A\A]�L���f�f.���AWAVA��AUATUH��SH��D�_$�WH�|$D�G"dH�%(H�D$x1��?ERCP�G&D�\$t$��D��D���f��f������f���t$D���D$Ic���L�%�N��H�|$ �T$H�H�HD$H��H�D$Hc�?H�@H�D$0E����DH�=(H��H��1�H+L$��B���������Ic�L�>��@E����KH��'H��1��f��������L��` H��E1�I�<������L�
�PHc�A�D�H�H��
�
���E���T����H��H�='苉�������Y���H�
�-��H�
�J�CH�|$ �H��Kf�����D$L�lH��Ll$1��D���L��H���I����K�1�H��JH��f���������L�
�OE1�E�<I�A��H���w'�H�����	��?�G�����H�
!JD�C�H��1�H��JfA��E��蕈���x���H�
�,H��J�H��1��s����T$H�sH���3���H���H�=jJA���7����<Ct<PtH���H�=*J�����KH�JH��1��f�����������B����O����G�)��T� L�
�N����H�
�+H��I�H��1�談���T$H�sH���k���L�T^ �H��A���H��II��1��t����L�
JN���DH�
T+H��I�H��1��C����T$H�sH������H��{A���s����<)t<6tH���H�=I����KH��HH��1��f�����ކ�����(����5����-t	��:���H��+����L�
�M�����H�
�*1�H�I�H���{����;T���C�P��RL�] H��E1�I�<�L�T$(�g���L�T$(�H��I�<��S����L�
	M�L���@H�
�GH�"H�H��1������T$H�sH������H��]A���3����L�
�L���@E1������CH��D�KH��D�CH�
�G�E1�f��fA��H��G��E��P1��}���X�L�
RLY���@H�
\)�C���@�KH��FH��1�L��F�E1�f�����-����L�
L�F���fDE���/�KH��"H��1��f�������D�C�L��[ H�hFfA��I��E���H��1�E1�蹄���L�
�K����f.��H��E1�H�=~F�t����L�
ZK���D�Kf��f����#��H�"F�H��1�E1��B����L�
K�[����CH�|$ H�
(H��Ef�����D$L�lLl$�H��1���L��H������KH��Ef�����D�CH�|$ H�
�'H��Ef�����D$L�lLl$랐H�
EL�RZ Hc�H��1�M�ҾH�FE1��r����L�
HJ���H�8!H��H��E1�H�
�$�����L�
J�]���D1�H�
�D�H��H��D����H�D$xdH3%(��H�ĈH��C�[H�=�]A\A]A^A_�ł��DD�CH�
JDH�IDfA��E������H��DH��1�E1�H�
 E�舂���L�
^I���f�L�)Y Hc�H��1�I�ҾH��D�L���H�sH���P���D�k�L�
I�T���@H�
&���@H�
yC���@H�
iC�;���@H�
�%�3���@H���H�=D迁���;p��H�CE1�I��E1�D�l$HI��D�t$LE��H�\$8L�|$@H�l$(�A��DA����)E��D��E�~��H�A�TD�����s�A����7D����H�A�TD�������D���@���H�A�T�؃���s�ݍ]��uܽ�A��-�MA��]�CA�F�^�$H�|$(D��1�H���ˀ��A9��*���A9����-�}��]�t�C߃�^��H�t$(��A����~��������C�P��L�)W H�kBH��E1�I�¾1��L���H��{�~���;]tH���H�=(B�����KH�BH��1��f�����������\����a�����+���fDH�
AA�{���@H�
1A�3���@H���H�=-A���D�l$f�H��D��H��H���^��HÀ;t����fDH���H�=C�O��D�l$f.�H��D��H��H�����HÀ;t��d���fDH��?�k}���L�
�E�4���@A�OE�GL�L$(f��fA����fE����H�TA�H��1���~��A�L�L$(<i��<m��A�A������H���H�=k�w~����f��T$H�sH���@�L�)U A�������E��H��@H��1���F~��A�L�L$(<i�y���H��?L�L$(�s|��A�L�L$(�a���DH�sH�
"H��A�H�K�p�L��T ���@H���H�=��}������H�t$(D���|�����H�t$(�\��{��A�F�^�������f�L�IT H��L�L$(I�<��{��A�L�L$(A�A���f�H�sH�
Q!H��A�H�$������H��E1�H�=�>�}���L�
�C�8�D�k�SL�{fA����E������^����M���E�8I�HE���;A���]A��t_�T$H��H��H�L$(�{�H�L$(D�@I�A��u�H��-L�D$(��z��L�D$(�T$H��L���C�L�D$(��I��fDH�
n>�A�pM�x@����@��
�;H�|>@�����\1���}H�D$0L�
K1E�@I�A���H������V�H�9�u��H�A9�u�Hc�H�RE�AH�5I���H�/>�H���1��� ��P�{��M��E�8I�HE������I����ZH��=�H��1��v{��M�����fDH�
�1�����L�|$@H�\$8D�l$HH�l$(D�t$LI�� �<p�N���<oH�
�<�H��H�pH�*=HE�1��{��L�
�A��H�Y=�k���H��+L�L$(�.y��A�L�L$(����H�|$(��H�z1��A���z������H�t$(�-��x�����L��;����H��^�L$8�T$(��x���L$8�T$(���*�����uNH�|$PL��H��H�w �H��H���҈P�H9�u�H���w���H�t$(�\�tx���x���D��D���
���L���P����w�����AWI��AVI��AUA��ATL�%TO UH�-TO SL)�H���r��H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_Ðf.������H��H���Usage:     pcretest [options] [<input file> [<output file>]]
Input and output default to stdin and stdout.This version of pcretest is not linked with readline().  -C       show PCRE compile-time options and exit  -C arg   show a specific compile-time option and exit           with its value if numeric (else 0). The arg can be:     linksize     internal link size [2, 3, 4]     pcre8        8 bit library support enabled [0, 1]     pcre16       16 bit library support enabled [0, 1]     pcre32       32 bit library support enabled [0, 1]     utf          Unicode Transformation Format supported [0, 1]     ucp          Unicode Properties supported [0, 1]     jit          Just-in-time compiler supported [0, 1]     newline      Newline type [CR, LF, CRLF, ANYCRLF, ANY]     bsr          \R type [ANYCRLF, ANY]  -d       debug: show compiled code and information (-b and -i)  -dfa     force DFA matching for all subjects  -help    show usage information  -i       show information about compiled patterns
  -M       find MATCH_LIMIT minimum for each subject
  -m       output memory used information
  -O       set PCRE_NO_AUTO_POSSESS on each pattern
  -o <n>   set size of offsets vector to <n>  -p       use POSIX interface  -q       quiet: do not output PCRE version number at start  -S <n>   set stack size to <n> megabytes  -s       force each pattern to be studied at basic level
  -s+      force each pattern to be studied, using JIT if available
  -s++     ditto, verifying when JIT was actually used
  -s+n     force each pattern to be studied, using JIT if available,
             where 1 <= n <= 7 selects JIT options
  -s++n    ditto, verifying when JIT was actually used
  -t       time compilation and execution  -t <n>   time compilation and execution, repeating <n> times  -tm      time execution (matching) only  -tm <n>  time execution (matching) only, repeating <n> times  -T       same as -t, but show total times at the end  -TM      same as -tm, but show total time at the endCallout %d: last capture = %d
Error %d from pcre%s_fullinfo(%d)
Running in %d-bit mode but pattern was compiled in %d-bit mode
** This version of PCRE was built without 16-bit support** This version of PCRE was built without 32-bit supportPCRE: setrlimit() failed with error %d
  %sUnicode properties support
  Just-in-time compiler support: %s
  No just-in-time compiler support  POSIX malloc threshold = %d
  Parentheses nest limit = %ld
  Default recursion depth limit = %ld
** Unknown or malformed option %s
** Failed to get %d bytes of memory for offsets vector
** Unrecognized special command '%s'
** Failed to get %d bytes of memory for pcre object
Data in %s is not a compiled PCRE regex
Compiled pattern%s loaded from %s
** Delimiter must not be alphanumeric or \
** Error in modifier forbid data - giving up.** The %.*s modifier is locked out - giving up.
** The /%c modifier is locked out - giving up.
** Missing table number after /T
** Bad table number "%c" after /T
Compile time %.4f milliseconds
Memory allocation (code space): %d
  Study time %.4f milliseconds
Memory allocation (JIT code): %d
------------------------------------------------------------------
Capturing subpattern count = %d
Partial matching not supported
Contains explicit CR or LF match
Options:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s
Duplicate name status changes
Forced newline sequence: CRLF
Forced newline sequence: ANYCRLF
First char at start or follows newline
Subject length lower bound = %d
Compiled pattern written to %s
** Too many octal digits in \o{...} item; using only the first twelve.
** Missing } after \o{ (assumed)
** Too many hex digits in \x{...} item; using only the first eight.
** Can't use dfa matching in POSIX mode: \D ignored** Character \x{%x} is greater than 0x7fffffff and so cannot be converted to UTF-8
** Character \x{%x} is greater than 255 and UTF-8 mode is not enabled.
** Truncation will probably give the wrong result.
Timing DFA restarts is not supported
Execute time %.4f milliseconds
Matched, but offsets vector is too small to show all matches
Matched, but too many substrings
** PCRE error: returned count %d is too big for offset size %d
** Show all captures ignored after DFA matching
ERROR: bad negative value %d for offset %d
Start of matched string is beyond its end - displaying from end to start.
string list not terminated by NULL
Cannot do global matching without an ovector
Cannot do global matching with an ovector size < 2
--------------------------------------
Total compile time %.4f milliseconds
Total study time   %.4f milliseconds
Total execute time %.4f milliseconds
**Failed: invalid UTF-8 string cannot be used as input in UTF mode
** Match limit not relevant for DFA matching: ignoredunknown opcode - pattern overwritten?internal error - pattern overwritten?item unsupported for DFA matchingbackreference condition or recursion test not supported for DFA matchingmatch limit not supported for DFA matchingworkspace size exceeded in DFA matchingtoo much recursion for DFA matchinginvalid combination of newline optionsnested recursion at the same subject positionpattern compiled in wrong mode: 8-bit/16-bit errorpattern compiled with other endiannessinvalid data in workspace for DFA restart
Options:  -b       show compiled codestack_malloc %3d %p
malloc       %3d %p
Minimum %s limit = %d
stack_free       %p
pcretest: malloc(%d) failed
free             %p
ANYCRLFCRANY  Newline sequence is a non-standard value: 0x%04x
%c\x{%02x}\x%02x--->%2d: <unset>
%2d: %+3d 
    %3d %.*sLatest Mark: <unset>
Latest Mark: Callout data = %d
no parentheses with name "cr>any>bsr_anycrlf>bsr_unicode>JS>Unknown %s at: <%s
No CR, LF, or CRLF onlyall Unicode newlinesstackheapapproximate  (byte-inverted) never_utf dupnames no_start_optimize no_utf_check ucp utf no_auto_possessify no_auto_capture ungreedy extra dollar_endonly bsr_unicode bsr_anycrlf dotall firstline multiline extended caseless anchored (caseless)badshort-m-s-s+-8-16-32-q-b-i-d-M-O-dfa-o-t-tm-T-TM-S-p-Clinksizepcre81pcre160pcre32jitnewlinebsrebcdicebcdic-nlUnknown -C option: %s
PCRE version %s
Compiled with  8-bit support  %sUTF-8 support
  \R matches %s
  Internal link size = %d
  Default match limit = %ld
  Match recursion uses %s: %sframe size = %d bytes--helprb** Failed to open %s
wbPCRE version %s

  re> forbid Failed to open %s: %s
Study data loaded from %s
No study data
    > ** Unexpected EOF
modifier** Missing 0 or 1 after /Q
** Failed to set locale "%s"
** Unknown modifier '%c'
Failed: POSIX code %d: %s
Failed: %s at offset %d
Failed to study: %s
Max back reference = %d
Max lookbehind = %d
Match limit = %u
Recursion limit = %u
Named capturing subpatterns:
%3d
May match empty string
No options
Forced newline sequence: CR
Forced newline sequence: LF
Forced newline sequence: ANY
First char = '%c'%s
First char = No first char
No need char
Need char = '%c'%s
Need char = Study returned NULL
No starting char list
Starting chars: 
  %c \x%02x JIT study was successful
JIT study was not successful
Unable to open %s: %s
Write error on %s: %s
Study data written to %s
data> pcretest: realloc(%d) failed
** \O argument is too bigescape sequenceNo match: POSIX code %d: %s
Matched with REG_NOSUB
%2d+ match()match() recursion** /%c loop abandoned
 (JIT)MK: copy substring %d failed %d
%2dC  (%d)
copy substring   C  (%d) get substring %d failed %d
%2dG get substring   G get substring list failed %d
%2dL Partial match at offset %d, mark=No matchNo match, mark = Error %d (%s UTF-%d string) offset=%d reason=%dError %d (bad UTF-%d offset)
Error %d (%s)
Error %d (Unexpected value)
Failed to read data from %s
NULL argument passedbad option valuemagic number missingno more memorymatch limit exceededcallout error codenot used - internal errorbad count valuerecursion limit exceededbad offset valueJIT stack limit reachedbad JIT optionbad length�h��~l��~l���h��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l���h��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l���h��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l���j���j��~l��~l���j��k��k��bk��~l��rk���h���h��i��i��+i��>i��~l��Qi��ai��qi���i���i���i��j��j��$j��~l��Sj��k���k��~l���k���k��l��l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��~l��'l��7l��~l��Jl��~l��~l��~l��Wl��~l��~l��~l��~l��~l��dl��~l��~l��~l��~l��ql���u��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|��f|���z���z���z���z���z���z���z���z��f|��f|��f|��f|��Hz��f|���y��2|��f|��%|��|���{��B|��f|���{��b{��f|��f|���z��f|���{���y���y��y���x���x��x��mx��f|��f|��f|��f|��f|��6x��&x��f|��f|��f|��f|��f|��f|��Fx���w��f|��f|���w���w��f|��f|��f|��f|��f|��f|��f|���w��Xw��f|��w���v��f|���v��f|��{v��f|���u��	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~��������������������������������������������������������������������������������������������������������������������������> �~~��������� ������������,��������������������������������������������������������x����������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~�����������������������������������������������������������������������������������������������������������������������������>�~~�����������������������������������������x����������������������Ss��������������������������������E�����������������������������������������������������������������������`a�������&!����Kk*!������+!�����M=%N+f5\;CL]S[djl�B�g���_�C����	�
��>���
��hOi )2=DjLR[dhow~�P��Q�R�S�T���D�
kl  $!*E1"7m@#IUNQTWZ	]FdGkmnv$�^�o�
��V�p�`�a�b��q�%�r�&��s	
'?"((H1)<tNuY*eWwX�+�,��v�w�y�����@�A����x�I�-��YJc.%z-/58;>dKKU0b1i2q3z4�Z�[�e�5�6�7�8�9�:�{�;�L�|����
��<��AnyArabicArmenianAvestanBalineseBamumBassa_VahBatakBengaliBopomofoBrahmiBrailleBugineseBuhidCCanadian_AboriginalCarianCaucasian_AlbanianCcCfChakmaChamCherokeeCnCoCommonCopticCsCuneiformCypriotCyrillicDeseretDevanagariDuployanEgyptian_HieroglyphsElbasanEthiopicGeorgianGlagoliticGothicGranthaGreekGujaratiGurmukhiHanHangulHanunooHebrewHiraganaImperial_AramaicInheritedInscriptional_PahlaviInscriptional_ParthianJavaneseKaithiKannadaKatakanaKayah_LiKharoshthiKhmerKhojkiKhudawadiLL&LaoLatinLepchaLimbuLinear_ALinear_BLisuLlLmLoLtLuLycianLydianMMahajaniMalayalamMandaicManichaeanMcMeMeetei_MayekMende_KikakuiMeroitic_CursiveMeroitic_HieroglyphsMiaoMnModiMongolianMroMyanmarNNabataeanNdNew_Tai_LueNkoNlNoOghamOl_ChikiOld_ItalicOld_North_ArabianOld_PermicOld_PersianOld_South_ArabianOld_TurkicOriyaOsmanyaPPahawh_HmongPalmyrenePau_Cin_HauPcPdPePfPhags_PaPhoenicianPiPoPsPsalter_PahlaviRejangRunicSSamaritanSaurashtraScSharadaShavianSiddhamSinhalaSkSmSoSora_SompengSundaneseSyloti_NagriSyriacTagalogTagbanwaTai_LeTai_ThamTai_VietTakriTamilTeluguThaanaThaiTibetanTifinaghTirhutaUgariticVaiWarang_CitiXanXpsXspXucXwdYiZZlZpZs	

(�(��(�((�����������������

�( ) ����	 ��         	 
 / _ 0����!!@�@��.A\X{%x}\x{%x}??not %s%s %s%s%s%sclist %04x/i (neg)/mEnd    %s
 /i Close    %s %dCond ref%3d %s %s Cond ref <>%d    Cond recurse any    Cond recurse %d %s Cond recurse <    Cond def0,%d}    %s %s [^]%s]{ %s \%d %s \k<Callout    %s %d %d %d    [[:%sgraph:][:%sprint:][:%spunct:]\%c{%s}{%u,}{%u,%u}    %s *THEN %s %s\A\G\K\B\b\D\d\S\s\W\wAllAnyAnybytenotprop\R\H\h\V\vextuni\Z\z$charcharinoti**?+?*+++?+nclassxclassDnRefDnRefiRecurseAltKetKetRmaxKetRminKetRposReverseAssertAssert notAssertBAssertB notOnceOnce_NCSBraSBraPosSCBraSCBraPosSCondCond dnrefCond recCond dnrecBrazeroBraminzeroBraposzero*MARK*PRUNE*SKIP*COMMIT*FAIL*ACCEPT*ASSERT_ACCEPTSkip zero����1���1���1���1���1���1���1���1���1���1���1���1���1���1���`���`���1���1���1���1���1���1���1���1���1��� ���1��� ���H������X�������(���(���(���(���(���(���`���`���`���(���(���(���`��������������������������������������������0���0���0���������������0�������������������������������������������������������(���(���(���(���(���(���@���@���@���(���(���(���@���1���1���1���1���1���1���1���1���1���1���1���1���ع��ع��ع��ȹ���������@��������������������������������������������������������������������������������������������������h�������P���� ���1���1���1���P���1���P���1���P������P���1���1���1���1����1�����!!;�|1��$L5��L9��l���\���d|���x��������������l����ܛ��<���H����|�����L�������@\���`���\����<���L���P����\����L���t����������\���,|�������zRx�X���/D$4P0���FJw�?:*3$"\�3���t����������(����bB�D�D �TAB(�H���DB�D�D �vABl���pDg0$����YE�D�D V
DAHcDA0X��YE�D�D V
DAHcDAT����VB�B�B �H(�D0�F8�F`BhBp^hA`�
8D0A(B BBBH� ���FK�K
JaHP����B�B�B �B(�A0�A8�Gpq
8A0A(B BBBAPĜ��FK�K
Ja p��A�b
Mb
E0�`���pB�D�A �F@k
 AABDH������B�E�E �B(�A0�A8�F`�
8A0A(B BBBEH0���	F�B�B �B(�A0�C8�G@:
8C0A(B BBBCL`��B�E�E �A(�A0�Q
(A BBBJW(A BBB8�t���9B�E�K �H(�G0(C ABB4�x����H�D�F �e
ABFiAB\$�3��S^F�B�B �B(�A0�A8�G� L�@L�F
8A0A(B BBBA��FI�GA�GB�GJ�GA�G`�FQ�FF�GA�GB�GB�GA�Gg�F�FN�GU�FK�F�FA�G^�FB�F#�FA�Gc�FB�FF�FM�GH�GA�Gd�F-�FM�GE�GA�Gd�F��FA�G_�FA�F�	�FE�GF�GM�GN�GA�GB�GG�GG�GG�GG�GG�GG�GG�GG�GG�GI�F��FL�GN�FH�F4���9A��
Aj
FR
FX
H\
A(�ؤ��dB�H�D �{
ABDP����TB�B�A �D(�G0w8L@](A ABBJ0�(G ABB\<(���F�B�E �B(�A0�D8�G�M�t�H�K�y
8N0H(B BBBJD���eF�E�E �E(�H0�H8�G@n8A0A(B BBB������p�`!������h���������4�����0�`���D����]���n��@�h�����U�{�~���������������������������������������������������������_�������������&�������������������������&�������������������������&�������������������������&�������������������������&�������������������������&�����������������������
�����%�-�5�=�D�O�W�c�h����~�����p�u�}�����v�������������������������n�n���������f��4g��(
X�P!X!���o��
X
2�
!�#�8	���o���o`���o�o����o��!�()) )0)@)P)`)p)�)�)�)�)�)�)�)�)** *0*@*P*`*p*�*�*�*�*�*�*�*�*++ +0+@+P+`+p+�+�+�+�+�+�+�+�+,, ,0,@,P,`,p,�,�,�,P�
GA$3h864ÎÎ
GA$3h864p0p0GA$3a1Ў��GA$3a1����
GA$3p864����GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFY�GA*GA!GA*GA!stack_realignGA$3a1����GA$3a1�(�(GA$3a1X�`�GA$3a1���
GA$3p864����GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864ÎÎ
GA$3h864p0p0GA*p0ÎGA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!
GA$3p864��ٵGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864ÎÎ
GA$3h864p0p0
GA$3p864�U�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA*GA!stack_realign
GA$3h864ÎÎ
GA$3h864p0p0GA$3a1U�U�GA$3a1U�U�GA$3a1�(�(GA$3a1`�e�pcretest-8.41-1.el8.x86_64.debugKX���7zXZ�ִF!t/���]?�E�h=��ڊ�2N�aޮ� �Ұi81�j�^Dn�ގu;f�3�޽�����~�ZP�2BUSm���������Kْ�8~���Ѩ@������$s�£�u�[6!R�Wd�Ԅ�!����p�9q|ڝ=w�}��?,��E�� Q>ó�_fՄD�΋	 ���H ���AM܀�����ƈHӨ[��s��|V����F	ȣ�eE:����=,N�?�b$lw�uf�mڔ��fN��"��OP��$g��/j�&u��˒���T@����O�lN&�u5����Ri��Q�u���+(�M0��HDi�k���-.m֪ J�X��-f?�Ά)7E�Վs����#"��1S�f�v��.��u6���!������k�ν��M%�݉w��
�(Z��5�"�x��=�D�x͎_�䏮p5#q���s�i�@�t/:�Z"�o���r-�#�'��v�ʶ$n�9����b]�E�����B֯U�hIQNJ�_F�e�ry�IC�Ś�5�z�{� q�(~bu����%�pj7��X咷�a�GݕE{�M߲����ݶ��=�Kd��.����Mm��T�@hN��*�F�`$1�����D��M]�Q-��(�ډ=sqDh�xG�����vǒ��Jm��XK�l�C�G���y=:
�M	S��]+%�|�n�G���:鮉HL���SA2���%_�����2�w�j#S�e�],$
����T���6�?��AK���R-\䓝��_``A�E��	M-������ aN�?03����K���GUN{Jf������/��[�Xv<l/|$�����=fP�bMZ;�����:
�SX�"���_ʷ��u޳P8KԷ�N�$9��_����x|�M0�s��`�)*��⸷D3��Qp-����al�0t5�9V�;E�a@f�m�5��&�Q��P`��MW8ֈ��iO/�1l&�E����;:�'�3p*�vOL�JL�É������b�=�!�#�1��ʄ��h���p�2��0��X�j�Z��TEO
�q��LSf��72�v���ݯb��`��t�b����Ȅ�e��"��C1X/�Jp��4�N���1�pw{=������	�%"�	ʱ�g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdatapp�� &�� 4��$G���o��\QXX8Y�
�
2a���o���n���o``�}��8�B##���(�(��(�(���,�,��p0p0��X�X�
������@ �d�d���X�X���P!P�X!X�`!`P ��!�0��
!�
 �! !� 
�a	 (/@�>bin/pcre-config000075500000003173150405535520007446 0ustar00#!/bin/sh

prefix=/opt/alt/pcre802/usr
exec_prefix=/opt/alt/pcre802/usr
exec_prefix_set=no

if test yes = yes ; then
  usage="Usage: pcre-config [--prefix] [--exec-prefix] [--version] [--libs] [--libs-posix] [--libs-cpp] [--cflags] [--cflags-posix]"
else
  usage="Usage: pcre-config [--prefix] [--exec-prefix] [--version] [--libs] [--libs-posix] [--cflags] [--cflags-posix]"
fi

if test $# -eq 0; then
      echo "${usage}" 1>&2
      exit 1
fi

libR=
case `uname -s` in
  *SunOS*)
  libR=" -R/opt/alt/pcre802/usr/lib64"
  ;;
  *BSD*)
  libR=" -Wl,-R/opt/alt/pcre802/usr/lib64"
  ;;
esac

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --prefix=*)
      prefix=$optarg
      if test $exec_prefix_set = no ; then
        exec_prefix=$optarg
      fi
      ;;
    --prefix)
      echo $prefix
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      exec_prefix_set=yes
      ;;
    --exec-prefix)
      echo $exec_prefix
      ;;
    --version)
      echo 8.02
      ;;
    --cflags | --cflags-posix)
      if test /opt/alt/pcre802/usr/include != /usr/include ; then
        includes=-I/opt/alt/pcre802/usr/include
      fi
      echo $includes 
      ;;
    --libs-posix)
      echo -L/opt/alt/pcre802/usr/lib64$libR -lpcreposix -lpcre
      ;;
    --libs)
      echo -L/opt/alt/pcre802/usr/lib64$libR -lpcre
      ;;
    --libs-cpp)
      if test yes = yes ; then
        echo -L/opt/alt/pcre802/usr/lib64$libR -lpcrecpp -lpcre
      else
        echo "${usage}" 1>&2
      fi
      ;;
    *)
      echo "${usage}" 1>&2
      exit 1
      ;;
  esac
  shift
done
lib64/libpcreposix.so.0.0.0000075500000027170150405535520011202 0ustar00ELF>@x'@8@�� �� � `x PP P $$���  P�td���<<Q�tdR�td�� � `pGNU��]��p�]~|(���V��I_�@ !�BE���|�H>�G>�qX�e�oI>�e ��^�� �, �F"m�    ��
|����  U��{�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeregerrorstrlenstrncpy__sprintf_chkregfreepcre_freeregcomppcre_compile2pcre_info__stack_chk_failregexecpcre_execmalloclibpcre.so.0libc.so.6_edata__bss_start_endlibpcreposix.so.0GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5/opt/alt/pcre802/usr/lib64�ti	ii
$ui	.� �� �� � � ^� h� w� �� �� �� �� � � � � �  ( 0 /8 D@ WH d� � 	� � � 
x � � � � � � � 
� 
� ��H��H�! H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� DH�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�m H��t��fD�����=u u+UH�=R H��tH�=� �I����d����M ]������w������AVI��AUATI��UH��S��~Hc�H�� L�,�L�����H�XM��tGI�T$���t=H��H��tH�XH9�v[H�U�L��L���L���A�D.�H��[]A\A]A^�f.�H��u�H��[]A\A]A^����L�-��DH��M��L���RL�
�H�����1�H�
��T���XH��Z[]A\A]A^�fD��H� H�?H���f.���SH��H���փ�H�� dH�%(H�D$1���H�L$L�D$����E����� E�����@E�����H�T$E�E1��Y���HcT$H�H�SH��t01�1�H���,���H�H�C1�H�L$dH3%(u'H�� [�fDHcT$���Aw�H�"�����������AWAVI�ֺ�AUATUH��SD��H��L�dH�%(H��$�1�E�bH�G����A������Eډڀ�A��Eډڀ�A��E�H�����u	M����1�E1�E1�E1�A����H���T$L�T$H�t$�O����T$L�T$H�t$��RA��H��E1�AW1�L���I���ZY����E��uaM���qL��1�@A�߉T�A�T��T�H��H9�r�E���-I9�v'H�D�J�T�fD�@����H���@�����H9�u�1��f�HcE�MH�)��`����I��
��I�����
��K�<vD�D$H��H�t$L�T$���I��H����C�vA�L�T$H�t$D�D$������E��u]�P���
w��H����H��$�dH3%(uhH�Ĩ[]A\A]A^A_��C�vE1�L�|$ �e����L���D$����D$�fDL���p��������덐1�������E������H��v�����H��H���unknown error code at offset %s%s%-6dinternal errorinvalid repeat counts in {}pattern error? * + invalidunbalanced {}unbalanced []bad classbad escape sequenceempty expressionunbalanced ()bad range inside []expression too bigfailed to get memorybad back referencebad argumentmatch failed			

	collation error - not relevant;<���X������������������<zRx�$x����FJw�?:*3$"D����h\H����F�E�B �D(�D0�Y
(A BBBKI
(A BBBH\8L@]8D0A(A BBB���� �����E�O0�
AG\����|F�B�J �B(�A0�D8�J���K�K�A�-
8A0A(B BBBHGNU���� ^hw���������/DWd��:�	
,� � ���o(xh
U` ��@p	���o���o���o�o����oP �	�	�	

 
0
@
P
`
GA$3a1GA$3a1�	�	GA$3a1,4GA$3a1�
GA$3p864�,GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GA$3a1,,GA$3a1,,GA$3a1�	�	GA$3a149libpcreposix.so.0.0.0-8.02-9.1.el8.x86_64.debug��K�7zXZ�ִF!t/��
�%]?�E�h=��ڊ�2N��
�)1�v�����J@�b�謖�9¯~��&z���D��2��'}�]��>D����H�01�u¡wx�ekM��@��K�h����*=�Ցߕw3�l�<�RK^�"�&�^�ʀ����٢���P���	�x��S)�OL��:'$^�A�T�6���9'm�c�J���q�9�$����:��z��Xbe���O����g=�H��!M"6��[Z2��`������}�J��DJ�E��-/g�#��PfS����{R��u����G~Y�>��Wdž�4��*����2���I^��Bg��%n�J{BN����}���V�u�=�!1y5Q�"�PӨ�ё�����އ#�M�������4�[hXz�`�-��K��9�p�>��㽵�Jפ��q�`ž _g�=�΅�Y��4g72�ϲ��q2�0���^���!e��Xԛ�;iX�8�K.�g^�Ƹh"e�~�t��؞o"�ݚ���_n��45�z)�~�,o/oc�a��s}��G(w]�1.n���M����"���p0�?�"�Ԙ�ne�j��[U4+k^�AL>"���Id1�)@1J�B�V�������4[i;�u���X	�<q^>ץ���G���x�#6?��ƟKݯ�+qn�exڨG]�;�*�d��<�j���8'�[�sƀ$��tAt-�4Us��VY٪FR��O��D�Q�vG�m��ӯ�Z�?�]L�@���q����b�t*Q�r��K���@��AP{���u�>�ɦ��H���l������P��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((@(hh0xxU8���o��,E���o@T@@p^B���h�	�	c�	�	�np
p
�w},,
�@@� ���<�((`��� �� ��� ��� �� �P P�` `��  �� `���"4�"hP&"lib64/libpcrecpp.so.0.0.0000075500000136420150405535520010621 0ustar00ELF>�7@��@8@�� h�h� h� �  ���� �� @@$$���  P�td(((44Q�tdR�tdh�h� h� ��GNUOU�*%���b�o3��tR�dC'
� %@0@�� h�BB�HQ%�\! " Ucd# �� �B��@�� 0� P|�C@H'(*+-./12346:<=>?BCGHIJNOPQSUVWXYZ^acdfhjlnprtvwxyz{���mG��d��i��i��Ў��FM�)��4K��;pn����<��Q��@���,S�4�A��r���(J���V����~i<.��O������)ŗ�ξ��D��Kt�aU�ʔ4�=�
r9K���i��݈c3�HZ�rD��.w(�x��@RFqLI�P�L��s���##�����j���)ʹC�k�]�Mre���4��e�C�����8�{�)�*Sˢ��ƹ'_U��ge���P�BE�쫋y��v��aY����-�BP���ɞj"�})HV?������|2���!�Gp>.����F��_��}�n��W���s�{*_��A�9��T	��l�H�1Y6��p�V��qX�H�	*���K��(�*�kF"�3�n�� ��-Kt,j�9��
z���� �
 , �t�TUP:
S�	0TspNi@ n��"�e!�T��S^pm1f
 W���Oa�	 T�PSApkD-@� ��s4��Q��S�
�Tk`p�a	T��L&#�lw��L&pw�@U��
�X�"�j���Sx"�e!D"0g���H��T�"�e��T�"�g���n���RU�
�T��Na��<"s�SpS�
�T�lw\0S��mQ�POi�"�uqM�SQ@<b��k���L�	�S�`S��S�`b��	T"
PT�@� ]�Y�|�<"�� q�k�R�P���m2 S�"ptq�	@T��?��U6J
`TH`o�0P���� �`L�r�m�E��=z�tg8p>"YpkD@�M��B�L�T�d|t
pT�P`,�S;@m0�@S�� 9�K���<7	�S__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_ZN7pcrecpp3Arg10parse_nullEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev_ZdlPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Evisspacememcpypcre_config__stack_chk_fail__assert_fail_Znwm_ZSt20__throw_length_errorPKc_ZN7pcrecpp2RE7CleanupEvpcre_free_ZdlPvm_ZN7pcrecpp2RED2Ev__gxx_personality_v0_ZN7pcrecpp2RED1Ev_ZNK7pcrecpp2RE8TryMatchERKNS_11StringPieceEiNS0_6AnchorEbPiipcre_exec_ZNK7pcrecpp2RE23NumberOfCapturingGroupsEvpcre_fullinfo_ZNK7pcrecpp2RE11DoMatchImplERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEiS5_i_ZNK7pcrecpp2RE9FullMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZN7pcrecpp2RE6no_argE_ZNK7pcrecpp2RE12PartialMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZNK7pcrecpp2RE7ConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE14FindAndConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE7DoMatchERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEi_Znam_ZdaPv_ZN7pcrecpp3Arg17parse_stringpieceEPKciPv_ZN7pcrecpp3Arg10parse_charEPKciPv_ZN7pcrecpp3Arg11parse_ucharEPKciPv_ZN7pcrecpp3Arg16parse_long_radixEPKciPvi__errno_locationstrtol_ZN7pcrecpp3Arg17parse_ulong_radixEPKciPvistrtoul_ZN7pcrecpp3Arg17parse_short_radixEPKciPvi_ZN7pcrecpp3Arg18parse_ushort_radixEPKciPvi_ZN7pcrecpp3Arg15parse_int_radixEPKciPvi_ZN7pcrecpp3Arg16parse_uint_radixEPKciPvi_ZN7pcrecpp3Arg20parse_longlong_radixEPKciPvistrtoq_ZN7pcrecpp3Arg21parse_ulonglong_radixEPKciPvistrtouq_ZN7pcrecpp3Arg12parse_doubleEPKciPv__memcpy_chkstrtod_ZN7pcrecpp3Arg11parse_floatEPKciPv_ZN7pcrecpp3Arg11parse_shortEPKciPv_ZN7pcrecpp3Arg15parse_short_hexEPKciPv_ZN7pcrecpp3Arg17parse_short_octalEPKciPv_ZN7pcrecpp3Arg18parse_short_cradixEPKciPv_ZN7pcrecpp3Arg12parse_ushortEPKciPv_ZN7pcrecpp3Arg16parse_ushort_hexEPKciPv_ZN7pcrecpp3Arg18parse_ushort_octalEPKciPv_ZN7pcrecpp3Arg19parse_ushort_cradixEPKciPv_ZN7pcrecpp3Arg9parse_intEPKciPv_ZN7pcrecpp3Arg13parse_int_hexEPKciPv_ZN7pcrecpp3Arg15parse_int_octalEPKciPv_ZN7pcrecpp3Arg16parse_int_cradixEPKciPv_ZN7pcrecpp3Arg10parse_uintEPKciPv_ZN7pcrecpp3Arg14parse_uint_hexEPKciPv_ZN7pcrecpp3Arg16parse_uint_octalEPKciPv_ZN7pcrecpp3Arg17parse_uint_cradixEPKciPv_ZN7pcrecpp3Arg10parse_longEPKciPv_ZN7pcrecpp3Arg14parse_long_hexEPKciPv_ZN7pcrecpp3Arg16parse_long_octalEPKciPv_ZN7pcrecpp3Arg17parse_long_cradixEPKciPv_ZN7pcrecpp3Arg11parse_ulongEPKciPv_ZN7pcrecpp3Arg15parse_ulong_hexEPKciPv_ZN7pcrecpp3Arg17parse_ulong_octalEPKciPv_ZN7pcrecpp3Arg18parse_ulong_cradixEPKciPv_ZN7pcrecpp3Arg14parse_longlongEPKciPv_ZN7pcrecpp3Arg18parse_longlong_hexEPKciPv_ZN7pcrecpp3Arg20parse_longlong_octalEPKciPv_ZN7pcrecpp3Arg21parse_longlong_cradixEPKciPv_ZN7pcrecpp3Arg15parse_ulonglongEPKciPv_ZN7pcrecpp3Arg19parse_ulonglong_hexEPKciPv_ZN7pcrecpp3Arg21parse_ulonglong_octalEPKciPv_ZN7pcrecpp3Arg22parse_ulonglong_cradixEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcmmemmove_ZN7pcrecpp3Arg12parse_stringEPKciPv_ZNK7pcrecpp2RE7RewriteEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11StringPieceESA_Pii_ZNK7pcrecpp2RE7ReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZSt24__throw_out_of_range_fmtPKcz_Unwind_Resume_ZNK7pcrecpp2RE7ExtractERKNS_11StringPieceES3_PNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNK7pcrecpp2RE13GlobalReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEprintfabort_ZN7pcrecpp2RE9QuoteMetaB5cxx11ERKNS_11StringPieceE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag_ZSt19__throw_logic_errorPKc_ZN7pcrecpp2RE7CompileENS0_6AnchorEpcre_compilestrlen_ZN7pcrecpp2RE4InitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_10RE_OptionsE__cxa_atexit_ZN7pcrecpp6no_argE_ZN7pcrecpp7ScannerC2Ev_ZN7pcrecpp7ScannerC1Ev_ZN7pcrecpp7ScannerC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp7ScannerC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp7ScannerD2Ev_ZN7pcrecpp7ScannerD1Ev_ZN7pcrecpp7Scanner11DisableSkipEv_ZNK7pcrecpp7Scanner10LineNumberEv_ZNK7pcrecpp7Scanner6OffsetEv_ZNK7pcrecpp7Scanner9LookingAtERKNS_2REE_ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZN7pcrecpp7Scanner11GetCommentsEiiPSt6vectorINS_11StringPieceESaIS2_EE_ZN7pcrecpp7Scanner15GetNextCommentsEPSt6vectorINS_11StringPieceESaIS2_EE_ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZN7pcrecpp7Scanner11ConsumeSkipEv_ZN7pcrecpp7Scanner17SetSkipExpressionEPKc_ZN7pcrecpp7Scanner4SkipEPKc_ZN7pcrecpp7Scanner10EnableSkipEv_ZN7pcrecpp7Scanner7ConsumeERKNS_2REERKNS_3ArgES6_S6__ZlsRSoRKN7pcrecpp11StringPieceE_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNSt8ios_base4InitC1Ev_ZNSt8ios_base4InitD1Evlibpcre.so.0libstdc++.so.6libm.so.6libc.so.6libgcc_s.so.1_edata__bss_start_endlibpcrecpp.so.0GCC_3.0GLIBC_2.3.4GLIBC_2.4GLIBC_2.14GLIBC_2.2.5CXXABI_1.3GLIBCXX_3.4.20GLIBCXX_3.4.9CXXABI_1.3.9GLIBCXX_3.4/opt/alt/pcre802/usr/lib64	
� P&y�Pti	
ii
$���.ui	9�ӯk	Ep��P�)_yѯmt)�zh� @:p� �8x� P9�� :�� �� �� �� (ȟ cП ؟ -� "� $� %�� &� � � �� � � � P� + � (� h0� C8� @� H� ZP� 	X� 
`� `h� p� \x� �� O�� 
�� K�� �� k�� �� �� �� Ȟ О ؞ � � � ��� � I� � u�  � W(� �0� 8� @� }H� 8P� X� p`�  h� qp� !x� #�� A�� 2�� z�� x�� F�� X�� v��H��H��o H��t��H����5bm �%cm ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q�������%�i D���%�i D���%�i D���%�i D���%�i D���%�i D���%�i D���%�i D���%}i D���%ui D���%mi D���%ei D���%]i D���%Ui D���%Mi D���%Ei D���%=i D���%5i D���%-i D���%%i D���%i D���%i D���%
i D���%i D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%�h D���%}h D���%uh D���%mh D���%eh D���%]h D���%Uh D���%Mh D���%Eh D���%=h D���%5h D���%-h D���%%h D���%h D���%h D���%
h D���%h D���%�g D���%�g DH�|$ I��L9�t���H���e����H������H�����H��H9�t����H���@���H�;H9|$t���H���)����L�� ����H������H�|$I��L9�t���H�����H�|$ I��L9�t�e���H�;I9�t�X���H�߾H�{���H�������H�|$ I��L9�t�/���H�;I9�t�"���H�߾H�E���H�����H�<$H��H9�t���H���s�����H��H��f H��f H�wg H�=�f �qg H�PH�~b H�H�Xg H�p�H�=g �x���H�g �g H���f.�@��H��H�=!g �\���H�=�f H��H�b H�5g ����f.�@H�=qf H�jf H9�tH�6f H��t	�����H�=Af H�5:f H)�H��H��H��?H�H�tH�f H��t��fD�����=f u+UH�=�e H��tH�=fa ����d�����e ]������w������H�����DAUATI��UH��S��H����~�>�����H��>��uLc�C�,�Ѓ�0��	wH��>�� ~)H��[]A\A]�@��ߍH�L��w�H��>�� �L��L��H�����B�D-H��[]A\A]�Df.�H��dH�%(H�D$1���%ptH�T$dH3%(u}H���fDH�t$�����D$��
t0��
t=

t4���t?���uI�P���f�� �f��0�f��@�s����a���H�
B�wH�5�<H�=�=�R���f�H�H��xTH9�v#H�H9�sH��x&H�7H�~����f.�H�x�����H��������H�H�����PH�=w<����fD��SH��H�0H��t	H�xc �H�{8H��t	H�fc �H�[@H��c H9�t$H��tH�;H�CH9�t�.���H�߾ [�P���[�@f.���SH��H������H�{�H9�t[��[�@f.���SH��@L�W8dH�%(H�D$81���LDW0�\$PM����HcG A��H�$H�D$H�D$H�D$H�D$ H�D$(��~
H�$H�D$HcG$��~
H�$H�D$(1��ɋNL�������€�E��E��D�H�H�5�;H��HD�H��SAQA������ZY��xu������	�1�H�\$8dH3%(uH��@[��+����f.���H��H�8dH�%(H�D$1�H��t.1�H�L$��.�����u%�D$H�T$dH3%(uH��ø����������H�
N<��H�5B:H�=^:���fD��AWAVI��C�LIAUATUSH���D$HL�d$@9���H����M��1�PD��A�M��I��H���r���ZY����t_A�D$A���tjM��teL������9�B��~U�E�I��I�l���I��I��L9�t3Ic|$�I�EA�4$H�)�H;�P��u�H��1�[]A\A]A^A_�fDH���[]A\A]A^A_�H�
<�7H�599H�=}9���H�
�;�5H�59H�=G9���@f.���AWAVAUATUSH��H��$L��$�L��$�H��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H��_ H9��eH�T$0H9��_H�L$8I9��YL�D$@I9���L�L$HI9��ML�T$PI9��OL�\$XH9��QH�\$`H9��sH�l$hI9��EL�d$pI9��gL�l$xI9��iL��$�I9��hH�$L��$�H9��cH��$�H�\$H9��]H��$�H�\$H9��WH��$�H�\$H9���H��$�A���A�f.�H�L$,j3�H��$�PL�D$@����ZYH��$�dH3%(��H�Ę[]A\A]A^A_�fDE1��A��A���A���A��u���DA��e���DA��U���A��J���f.�A��5���DA�	�%���DA�
����DA�����DA����DA�
���DA���������AWAVAUATUSH��H��$L��$�L��$�H��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H��\ H9��eH�T$0H9��_H�L$8I9��YL�D$@I9���L�L$HI9��ML�T$PI9��OL�\$XH9��QH�\$`H9��sH�l$hI9��EL�d$pI9��gL�l$xI9��iL��$�I9��hH�$L��$�H9��cH��$�H�\$H9��]H��$�H�\$H9��WH��$�H�\$H9���H��$�A���A�f.�H�L$,j31�H��$�PL�D$@��ZYH��$�dH3%(��H�Ę[]A\A]A^A_�f�E1��A��A���A���A��u���DA��e���DA��U���A��J���f.�A��5���DA�	�%���DA�
����DA�����DA����DA�
���DA���������AWAVAUATUSH��H��H��$H��$�L��$�L��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H��Y H9��rH�T$0H9��lH�L$8I9��fL�D$@I9���L�L$HH9��ZH�t$PI9��\L�T$XI9��^L�\$`H9���H�l$hI9��RL�d$pI9��tL�l$xI9��vL��$�I9��uH�4$L��$�H9��pH��$�H�t$H9��jH��$�H�t$H9��dH��$�H�t$H9���H��$�A��fDA�f�H�L$,j3�H��H��$�PL�D$@��ZY��tHcL$,H)KH��$�dH3%(��H�Ę[]A\A]A^A_�@E1��A��A���A��u���DA��e���DA��U���DA��E���A��:���f.�A��%���DA�	����DA�
����DA����DA����DA�
����DA���������AWAVAUATUSH��H��H��$H��$�L��$�L��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H��V H9��rH�T$0H9��lH�L$8I9��fL�D$@I9���L�L$HH9��ZH�t$PI9��\L�T$XI9��^L�\$`H9���H�l$hI9��RL�d$pI9��tL�l$xI9��vL��$�I9��uH�4$L��$�H9��pH��$�H�t$H9��jH��$�H�t$H9��dH��$�H�t$H9���H��$�A��fDA�f�H�L$,j31�H��H��$�PL�D$@�!�ZY��tHcL$,H)KH��$�dH3%(��H�Ę[]A\A]A^A_��E1��A��A���A��u���DA��e���DA��U���DA��E���A��:���f.�A��%���DA�	����DA�
����DA����DA����DA�
����DA���������AWAVAUATUSH��xdH�%(H�D$h1�E����C�\IH��I��A��I�΃�7SH�D$P����XZH�T$hdH3%(��uwH��x[]A\A]A^A_�fDHc�D�L$H��L�$��SL��L��PD�L$I��D��L�D$H���S�L�����	�Y^�H�
�.�[H�5R,H�=�,��������H��tH�:�r�Ðf.���1���uH��t����D��f.���1���uH��t����D��f.���AWAVAUATE1�USHc�H��HdH�%(H�D$81���u$H�L$8dH3%(D��u|H��H[]A\A]A^A_�f�H�D$H��I�։�H��A����H�����H�t$D��H���I��H����H9\$u�A���u�M��tI�A��fDA��q����p���AVAUATUSHc�H��@dH�%(H�D$81���u)H�L$8dH3%(��H��@[]A\A]A^��H�D$H��I�ԉ�H��A���X��8-H��t(��H�t$D��H���I��H��_�H9\$t1��@A���u�M��tI�$��m���fD��]��������SH��H��dH�%(H�D$1�H������tH�$H���H����w$H��tf�H�\$dH3%(uH��[�fD1����7��fD��SH��H��dH�%(H�D$1�H���l���tH�$H����w#H��tf�H�\$dH3%(uH��[�D1�������@f.���SH��H��dH�%(H�D$1�H������tH�$�������H�H9�w"H��t�H�\$dH3%(uH��[�D1����W��fD��SH��H��dH�%(H�D$1�H������tH�$�����H9�w"H��t�H�\$dH3%(uH��[�D1�������@f.���AWAVAUATE1�USHc�H��HdH�%(H�D$81���u$H�L$8dH3%(D��u|H��H[]A\A]A^A_�f�H�D$H��I�։�H��A�����H����H�t$D��H���I��H��$�H9\$u�A���u�M��tI�A��fDA��q���� ���AVAUATUSHc�H��@dH�%(H�D$81���u)H�L$8dH3%(��H��@[]A\A]A^��H�D$H��I�ԉ�H��A�����8-H��t(���H�t$D��H���I��H��/�H9\$t1��@A���u�M��tI�$��m���fD��]����Q����AVAUATUSH���dH�%(H��$�1�����������t01�H��$�dH3%(����H���[]A\A]A^�DHc�L�d$H����L��I��H������D,���H�t$L���I����I�4,H9t$u�A���u�M��t�AE��m�����`����q����SH��H��dH�%(H�D$1�H������tH��t
f��Z$�H�L$dH3%(uH��[����f.����
�r�f�����b�f�����R�f���1��E��@���
��f�������f�������f���1�����@���
��f�������f�������f���1�����@���
��f������f�����r�f���1��e��@���
�"�f������f������f���1����@���
�"�f������f������f���1����@���
��f������f�����r�f���1��e��@���
����f��������f�������f���1�����@��H��t'H��H��H�RH��Lc�H��1��L��H���f���f.���AWAVAUATM��UH��SH��H�D�L$LcJH�L$N�4I9�w5�x@�S�BЃ�	w|;D$�r�H�Ic4�����H��I9�vE�L�{<\t�H�]H�UH�ML�kH9���H�MI9�w|�H�EL�m�DL��I9�w�H���[]A\A]A^A_Ã�\��L�mH�UH�MM�}H9���H�MI9���B�*\H�UH��L�}B�D*�W���D1�A�1�H��H��D$����H�U�D$�]���f�A�T�H�D$)�H0H��������H+EHc�H9�wlH��������fD��
���fD1�A�1�L��H���s��H�U�I���f.���,���fDH��1�[]A\A]A^A_�H�=�!�����f���AW1�A�AVAUI��ATU1�SH��H��(H�t$L�|$@L�t$H��M��L��dH�%(H��$ 1�H�H�D$H�B1҉D$ j3���ZY��u0H��$dH3%(����H��([]A\A]A^A_�DL�d$ A��M��L��I�T$L��L���D$0H�T$ H�H�D$(H�T$H�S�T$H�T$�J���ń�t@�D$@��xY�T$D��xpH�{)�Hc�L�D$(Hc�H�L$ H��H)�H9�HG�H9�wgH���$��H�|$ I��L9��2����]���(������H�
�%�VH�5  H�=� ���H�
�%�WH�5 H�=z �u��H��H��H�=!1�H�5k ������H������@f.���AVA�I��1�AUI��ATUH��1�SH��H��H���dH�%(H��$�1�I��H��j3M�����A��X1�ZE��t"I�M��H��L��I�FL��H�������H��$�dH3%(uH���[]A\A]A^����f.���UH��AWAVAUATSH��XH������H������dH�%(H�E�1�H�����ƅ��H������H��H�����H�BHDž������gH�����I��1�H������E1�H������Dž����H��������H�������L��L������j3H�������D��L������E1�����^A��_D���dD���D���A9��E9��TH������D��Hc�)�H�OHc�H��H)�H9�HG�H�H9���H������H����H������L������E��L��H������H������H�H������H������H�C������4��H�K������E9�����D9��hL������M�E�����D��H��L������1�L��j3H������L������A�����������ZA��Y���������������H�����H������H��H9�t���H�M�dH3%(�������nH�e�[A\A]A^A_]�I�MA�\$��9���Mc�I9���H������H�0B�<.
�<A�G)uCD9���I���"�������A�(=0�0H������H�H��A�\$��tx9�}tHc�H9��SH������H�6�I��%�=���H��������Hc�I���&H9���<H�����������9��L��������D9�9������H������H�0�6���f�H������Mc�H�0��H��D)�L)�Hc�H9�HG�I9��H������L��f��H������H�@��9��O���H������L�����f�Hc�H9��a�<
A�(��������������DL��������A9�������f���f�H������H�8H������H������H�����L�����H��H��H9���L����H9���H������H�����H�H�FH����H������L�HH������H�����L�@�~���H������H�HH�89��o���Hc�H��H)�H9���H�4H�������3��H������H�8H�H�:������A�(=@������w��H������A�(H�I��=P��������fDH9�tYH������fo���H�����H�BH�2JH�����,���H������H�����H���oVH�)�����)������M��t,fo���H��tRH������H���ofF)�������H��H������H������H�@�@�U���Dž�����F���H������@L�@�2���H��H�=81�H�5f���H�
;��H�5�H�=��c��L�~H�
51��+H�5'H�=H�[�����fDH�
���H�5�H�=\���H��H�5�H�=�1����L��H�5�H�=�1��q��������H�������AWH�GAVAUATUSH��H��H�H�D$�G�FH�G����I��1�E1��dfDD��H�M�u��߃�A<vA�D$�<	vE��x
A��_��H9T$��H�CI9�wxF�$*H�L�sB�0H��A9o~FL�kI�D�$(E��u�H��������L)�H��� �H�5WH���b��H��A9o�H��H��[]A\A]A^A_�fDA�1�1�L��H������H��k�����Y���fDH9T$��H�CI9�wlB�*\H�L�sB�0I�L�cD�4(H�M�l$H9D$t`H�SI9�wF�4 H�L�kB�D �	����A�1�1�L��H���[��H���fDA�1�1�L��H���;��H��w�����f���U���H�=������H�����@f.���AUATUSH��H��H�o(dH�%(H�D$81���tGH�?��H�L$H�T$E1��p��H��H����H�L$8dH3%(H���H��H[]A\A]�f�L�d$H��H�r�I�D$L��H�D$���H�SH�3L�����H��������H+D$H�����H�5^L���b��H�|$H�L$E1���H�T$����H�|$I��H��L9��G����_��H���B���fDH��< H9C@�+���� �E��L�l$H�����I��H�@I�$M��t
L���!��I�TL��L������L�c@����C��H�=+�����H���3����H���<���@f.���AWAVAUATI��USH��H��dH�%(H�D$1�H9�t7L�/L�I��H�nM9��H�wH9���H����H�kA�D-M����I�$H�C A�D$�C(H��; H�C01�H��H�C@H�C8�n��H�C8H��t�H���X��H�C0H�D$dH3%(��H��[]A\A]A^A_ÐI�6H��tL��H�����L�+�^���@H��H�,$����H�;I��I9�t���H�$L�+H�CH���*����fDH�; H�C �; �C(�,��������fD�A�EL�+������@��H�H�GH9�tH���(����f.�D��AWAVM��AUATL�gUH��SH��H��8H�wdH�%(H�D$(1�H�DI��H�D$I)�L��H)�H�H�D$ L;'�H�wH�|$ H�L$���H��L�H�L$I��t,H����L��H��H��H�L$L�D$�1��H�L$L�D$H��t(M��t#I�</I����L��H��L�D$���L�D$M��t(H�t$J�|5L�L�I��t_L��L�D$����L�D$M9�tL�����H�D$ L�;H�CH�D$(dH3%(uNH��8[]A\A]A^A_�DA�A��]���@���f����fD���\����������USH��L�CH��H�GH�?H�,L9�tOL�CL9�w.H��tH�H��tH���H�;H�kH���/H��[]�fDI��H��H��1�H�����H�;��A�����H�;�fD��H��������AWAVAUATUH��SH�H��(H�WH)�I9���M��H�H��H�I)�N�$2H9���H�{L9��dL�<0I��H�I)�A��L9�@��A!�H9�vtE��t.I�4/K�<I���ML��L�D$H�L$���L�D$H�L$M��tI���L��H��L������H�L�cB� H��(H��[]A\A]A^A_�fDH�H9�w�M���L9���I����L��H��L��L�L$L�D$H�L$���E��H�L$L�D$L�L$t�I�4/K�<I����L��L�D$H�L$����L�D$H�L$L9��M���L�J�H9���H9���J�41I���L��L���������f.�H��H����������A���D������fD��Y���fD�A�E���g����4���@I��t�L��H��L������������4���fDH)�H��tDH��tH��H��L��L�D$����L�D$L��K�4I�</H)�H��tH���A����0���7����A������%����A�����H�=��r��f���ATI��UH��SH��dH�%(H�D$1�H��t	H����L)�H��H�$H��wPH�EH��u6A�$�H�$H�EH�]�H�D$dH3%(uYH��[]A\�fDH��t��f�H��1����H�$H�EH�UH��L��H���L��H�$H�E�H�=#�������H�?H��x	H���o��PH�=B
���f���H�GH�GH�H�G 1��G�G(H�G0f�G8�G:H�G@�GH�f�f.���ATUSH��H��dH�%(H�D$1�H�GH�L�&H�nL��H�t	M����H�,$H��wxH��ubA�$�SH�k�(H�H�C0H�C H�C�C:�C(1�f�C8H�C@�CHH�D$dH3%(u\H��[]A\�f.�H��t��f�H������H�$H�H�SH��L��H������H�,$H��i���H�=�
����R��f���USH��H��H�o0H��tH������HH�����H�k@H��tH�}H��t����H������H�;H��H9�tH��[]���f.�H��[]���H�0t�G8�PH�
��fH�50H�=9�����H�H�w �H9�s1ɀ:
��H���H9�u��@Ð@f.���H�G H+�@��H��H��E1�E1�dH�%(H�T$1�H�w �H�L$H�����H�T$dH3%(uH�������@f.���L�G@M����AVAUATUSI�I;Xt\I��I��Hc�Lc��
H��I9XtDI�$H�H�4(H9�r�HcsL�H��H�H9�w�I�vI;vt*H�H��H���N�I�vI9Xu�[]A\A]A^�f�H��L������M�D$@�fDÐfD��H�G@H��t{ATUSHc_HH��HH;Xt]H��I���+fDH��SH��H��H�N�V�H�uA�D$HH9Xt*H�uH;uu�H��H��H���R��I�D$@A�D$HH9Xu�[]A\�@ÐfD��AUATL�g UH��SH��(L�o H�H0 dH�%(H�D$1��fD�}9t,SH�}0I��I��SH��H��L��SSSSSSSSSS���H��`��u΀}:tH�}@tOH�E L)�H�D$dH3%(ueH��([]A\A]�H�}@L�,$�D$H�wH;wt7L�.H���F�H�w뼿���H�H�@H�@H�E@�H���K������@��AWAVAUI��ATUH��SH��XH�_0dH�%(H�D$H1�H��tH�������HH���J��M�����HL�d$ ���I�T$L��L�x�@H��L�8H�@H�@ �@(H�T$ H�T$����H�T$H��I��H�D$��H����A�M�L$0H�D$(L��H���1����H�|$ I��L9�t�s���H�]0H��f�U8����@1�H�E0f�E8H�D$HdH3%(ukH��X[]A\A]A^A_�H�|$���H�L$H�D$ H�L$0L��L��H��H�L$���H�L$H�T$ H���N���f.�H���;���H��H��������H���Y����H���:��f���AWAVAUI��ATUH��SH��XH�_0dH�%(H�D$H1�H��tH���'���HH�����M�����HL�d$ �b��I�T$L��L�x�@H��L�8H�@H�@ �@(H�T$ H�T$�&��H�T$H��I��H�D$��H����A�M�L$0H�D$(L��H���1�����H�|$ I��L9�t�����H�]0H��f�U8�����@1�H�E0f�E8H�D$HdH3%(ukH��X[]A\A]A^A_�H�|$���H�L$H�D$ H�L$0L��L��H��H�L$���H�L$H�T$ H���N���f.�H���;���H��H����j����H��������H�����f���H�0t	�G8�,��PH�
�
�kH�5�
H�=�
�,���f�f.���SH��H��H�s H��L�
�+ AQAQAQAQAQAQAQAQAQAQAQAQ�9��H��`��t�{8uH��[�DH�߈D$����D$H��[�f���AWH��AVAUATI��USH��H��H�oL�/H��L)�L)�H���+H�4I���H9���L��H�T$H�$����H�$H�T$I��I�H�@�rH�L�H��qL9�t;L��L��f�L�
D�BH��H��L�I�D�A�H9�u�H�C�L)�H���I�D H9�t;H��H��f�D�BL�
H��H��L�I�D�A�H9�u�H)�H�U�H���H�DM��tL��H�$�C���H�$M�4$M�|$I�D$H��[]A\A]A^A_�f�H��������H9�����H��u�E1�E1�������H��I������f.�D��AWH��AVAUATI��USH��H��H�oL�/H��L)�L)�H���+H�4I���H9���L��H�T$H�$膿��H�$H�T$I��I�H�@�rH�L�H��qL9�t;L��L��f�L�
D�BH��H��L�I�D�A�H9�u�H�C�L)�H���I�D H9�t;H��H��f�D�BL�
H��H��L�I�D�A�H9�u�H)�H�U�H���H�DM��tL��H�$�þ��H�$M�4$M�|$I�D$H��[]A\A]A^A_�f�H��������H9�����H��u�E1�E1�������H��I������f.�D��AUI��ATUSH��8L�&Hc^dH�%(H�D$(1�H��L��H�UH��H�H�$t	M����H��wsH��u]A�$�D$H�EH�\$L���H�T$H�4$�6���H�<$H��H��H9�t���H�L$(dH3%(H��uWH��8[]A\A]�H�EH��t��D��x:H�{蓽��H�\$H�$H��L��H���,���H�$�s���H�=�׼��袽��H�=6�v�����H���-�����H��H���pcrecpp.ccbasic_string::_M_createpcre_retval == 0(1 + n) * 3 <= vecsizematches >= 0n >= 0basic_string::appendvec[0] >= 0vec[1] >= 0basic_string::replace__pos <= size()matchstart >= startmatchend >= matchstart\0(?:)\zNULL == "Unexpected return value from pcre_config(NEWLINE)"%s: __pos (which is %zu) > this->size() (which is %zu)/usr/include/c++/8/bits/basic_string.h%s:%d: %s: Assertion '%s' failed.
basic_string::_M_replacebasic_string::_M_construct null not validint pcrecpp::RE::NumberOfCapturingGroups() constbool pcrecpp::RE::DoMatch(const pcrecpp::StringPiece&, pcrecpp::RE::Anchor, int*, const pcrecpp::Arg* const*, int) constbool pcrecpp::RE::DoMatchImpl(const pcrecpp::StringPiece&, pcrecpp::RE::Anchor, int*, const pcrecpp::Arg* const*, int, int*, int) conststd::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[](std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]int pcrecpp::NewlineMode(int)int pcrecpp::RE::GlobalReplace(const pcrecpp::StringPiece&, std::__cxx11::string*) constbool pcrecpp::RE::Replace(const pcrecpp::StringPiece&, std::__cxx11::string*) constpcre_scanner.ccskip_ != NULLvoid pcrecpp::Scanner::EnableSkip()void pcrecpp::Scanner::DisableSkip();4eH���P����x�����
�����ظ��\� ���tV�������������t(����(����8����ػ������ ���8����x�����Ⱦ���H����x���Xh���X��X��xX���8��DX��X���l����x���H�����4(��X���|����������0	x��t	����	����	����	���	���	(���	8��
H��$
X��8
h��L
x��`
���t
����
����
����
����
����
����
�������((��<8��PH��dX��xh���x��������������������������������\
���h��X(��8����(X�����d���X�t(��H��������� H�4��H��\�����8�8��������H���x���<H���`zRx�$��FJw�?:*3$"Dx����\����p��!H�x����B�B�D �D(�F0{
(A ABBEr(A ABB�̷���D m
G�����i]ظ��bE�V
EAzPLRx�m � $���"sE�V
EA,h���E�DP�XB`IXAPn
AA��zH F
Al�X���"F�B�J �B(�A0�A8�D@UHHPXHA@m
8C0A(B BBBGD
8F0A(B BBBA\$����F�B�B �B(�A0�A8�G���N�K�A�^
8A0A(B BBBG\������F�B�B �B(�A0�A8�G���K�K�A�^
8A0A(B BBBJ\�8���F�B�B �B(�A0�A8�J���Q�K�A�m
8A0A(B BBBE\D���F�B�B �B(�A0�A8�J���N�K�A�m
8A0A(B BBBHh�x���F�B�B �B(�A0�A8�D�p�F�H�A�V
8A0A(B BBBGV�G�c�A����$���&8��&HL0���F�B�B �B(�D0�A8�G�k
8A0A(B BBBC@�����F�B�B �A(�A0�Gpl
0A(A BBBI �0��iE�G L
AG |��aE�G E
AF $���iE�G M
AF H��aE�G E
AFHl`���F�B�B �B(�D0�A8�G�k
8A0A(B BBBC@�����F�B�B �A(�A0�Gpl
0A(A BBBI@�`���F�B�B �A(�A0�G�G
0A(A BBBF @���UE�G B
AAd8��x4���0���,���(���$��� ���������,��@��T��h��|��������������������������������0���D���X���l�����������������������H�h��F�B�E �B(�E0�D8�Gp
8A0A(B BBBF(0	����E�A�K ~
AAGH\	���P�B�B �B(�A0�D8�G`�
8D0A(B BBBG�	���6M`d�	���F�B�B �B(�D0�D8�DP�
8F0A(B BBBA
8C0A(B BBBA\	�����F�J�B �E(�A0�C8�J�S�m�F�A�d
8A0A(B BBBF,zPLRx�	 ��������4����P�
����F�M�E �A(�F0�M�Z�B�L�C�A
0A(A BBBA<
����E�C
P������.n.�.c
AL.,zPLRx�- �������4��$IL�
@��9F�F�B �B(�A0�A8�GP�
8D0A(B BBBG(zPLRx�� �P������0t����0@����F�D�D �D0c
 AABG<T�����F�B�A �A(�GpV
(A ABBC$zPLRx�� �p����,ب��0;H����|F�B�B �B(�D0�A8�GP�
8A0A(B BBBB@
,���rHi\
���Rp
���D0�
����F�A�A �G0�
 AABK0�
���wE�A�G R
AAODAA�
���0Q��18��(4��QH C
AHD��qF�E�B �B(�D0�A8�GP
8A0A(B BBBCD�,���S�B�B �A(�A0�f
(A BBBJX�����,�����O�A�A �oABE���H��qF�E�B �B(�D0�A8�GP
8A0A(B BBBCdT����F�B�E �D(�DPjXK`JhApAxA�A�A�A�A�A�A�IPp
(A ABBDP�@���cF�B�B �E(�A0�D8�D�
8A0A(B BBBD,zPLRx��
 ��������4����5�P8T����F�B�B �E(�A0�D8�D�
8A0A(B BBBD�n���5����4UP���gE�N I(B0B8B@BHBPBXB`BhBpBxB�I N
AFUA<��5F�E�A �A(�D`�
(A ABBD$zPLRx�% �`����,������@���2HW����e����������
�����������;W�K�������� ��Y�������0��Y�������0��
u��B��GNU�@:�8P9:�� ������H0
�xh� �� ���o(�H
�Н p�*p)h	���o���o�(���o�o�'���o�� �0�0�0�0�0�0�0�011 101@1P1`1p1�1�1�1�1�1�1�1�122 202@2P2`2p2�2�2�2�2�2�2�2�233 303@3P3`3p3�3�3�3�3�3�3�3�344GA$3a1�9�9GA$3a1H0^0GA$3a1�x�xGA$3a1�9I:
GA$3p864P:|eGA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864�9�9
GA$3h864�7�7GA*�e�eGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*�e/gGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*0g�gGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*�g~jGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*�jOkGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*�8B9GA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!
GA$3p864PkgtGA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864�9�9
GA$3h864H8H8GA*pt�uGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA*�uawGA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!
GA$3p864pw�xGA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864�9�9
GA$3h864�8�8GA*P9�9GA!stack_realignGA!stack_clashGA*cf_protectionGA*
GA*GOW�DGA!GA$3a1�x�xGA$3a1�x�xGA$3a1^0c0GA$3a1�x�xlibpcrecpp.so.0.0.0-8.02-9.1.el8.x86_64.debug��B�7zXZ�ִF!t/��w�]?�E�h=��ڊ�2N���^ �����n�|�굧Dv�4GO�+RPs��P�
 ����3 M�7�燦��CEC�8������vpP�:��V��fC4�%�#+�@g�@;F�ӵ�w&�_E�*!="�s
v2����+��Njl^�#y�UŐ�8!���a�5gz���U�ő�C�o4���:�Po������E_�'Pn2Y��CO��%�2���%vm�x|{pXcɮ�!وmD�4���N��l��f=������ͯe*6�7ְr�G�K9ո��}H�޻o�^�T�jVT�i��>�/����u���f�D�p���J��zc{��_��۩�7Gp;���O��X�g�	��?��߮K&�w`JHՃ�eB�I��颛}.Q�:ʞ~�Jʢ�Wu��#MZ9󩸂��q1�MЌ�J�z���Wm�S�]o�*Jn�z#���1i0s2�ɩ�}j=Pr�v�9��.\���	��@?�Ҟ��ܓ}OL�%����`��J�t�vH�b�J-���o(�U�_Q3Dz����S��$��
6}�O2A@��=�'�,����"�6Ջ_k�F�Q��t+M.�v�X
S�]��2����o�A�R�h�����ɱ�њm��Dc���W���˘�k;���x߼��D�H��4���A�pN���m��G�X����`�O�R������]D�l@�7?o�eV��Y[��a�ED��`��V8NP +�4�a�4+�Ǝ��� �%�o�o_c���� �/ �O��K��('���N���1u�����v(��~n��1$�1�f��ߴ	h[��-
�wJ�-=ۨ�O���������aA����hS\�w�V�_�wRU�2� y;@��(��?Y�KmM*���g�8ϳ��[+�2
s�5\gL=�/�<���9w;O��v��1�hԱ�zh��[�£��0����dԪtY��p�;-�y$W0�1*��!U�Sg#V��H��Ǣ�l���TȄ&�1(�~�o�#��[?�����"CԳM�4~�?�����
[��B�Z��*a�M��E��a\M_���TI!���
�����.&3��ˬ�]?�=���3l���
.Di�X�2��!*�@S�'�x�����Gd�\hN� �7?���}�	�*�'1/��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.gcc_except_table.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o(((HH�0���8���o�'�'E���o�(�(�Tp)p)h^B�*�*phH0H0cp0p0�n 4 4�w�7�7�@}�x�x
��x�x� �((4�`�`���$�$����� �h� h���� ����� ����� ��@�Н Н0�� � � �h ��`�08�4+l��T�:lib64/libpcrecpp.a000064400000226130150405535520007761 0ustar00!<arch>
/               1573057005  0     0     0       5130      `
`���������������������������������������������������������������������������0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0
<
<_ZN7pcrecpp3Arg10parse_nullEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev_ZN7pcrecpp2RE7CleanupEv_ZN7pcrecpp2RED2EvDW.ref.__gxx_personality_v0_ZN7pcrecpp2RED1Ev_ZNK7pcrecpp2RE8TryMatchERKNS_11StringPieceEiNS0_6AnchorEbPii_ZNK7pcrecpp2RE23NumberOfCapturingGroupsEv_ZNK7pcrecpp2RE11DoMatchImplERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEiS5_i_ZNK7pcrecpp2RE9FullMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZN7pcrecpp2RE6no_argE_ZNK7pcrecpp2RE12PartialMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZNK7pcrecpp2RE7ConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE14FindAndConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE7DoMatchERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEi_ZN7pcrecpp3Arg17parse_stringpieceEPKciPv_ZN7pcrecpp3Arg10parse_charEPKciPv_ZN7pcrecpp3Arg11parse_ucharEPKciPv_ZN7pcrecpp3Arg16parse_long_radixEPKciPvi_ZN7pcrecpp3Arg17parse_ulong_radixEPKciPvi_ZN7pcrecpp3Arg17parse_short_radixEPKciPvi_ZN7pcrecpp3Arg18parse_ushort_radixEPKciPvi_ZN7pcrecpp3Arg15parse_int_radixEPKciPvi_ZN7pcrecpp3Arg16parse_uint_radixEPKciPvi_ZN7pcrecpp3Arg20parse_longlong_radixEPKciPvi_ZN7pcrecpp3Arg21parse_ulonglong_radixEPKciPvi_ZN7pcrecpp3Arg12parse_doubleEPKciPv_ZN7pcrecpp3Arg11parse_floatEPKciPv_ZN7pcrecpp3Arg11parse_shortEPKciPv_ZN7pcrecpp3Arg15parse_short_hexEPKciPv_ZN7pcrecpp3Arg17parse_short_octalEPKciPv_ZN7pcrecpp3Arg18parse_short_cradixEPKciPv_ZN7pcrecpp3Arg12parse_ushortEPKciPv_ZN7pcrecpp3Arg16parse_ushort_hexEPKciPv_ZN7pcrecpp3Arg18parse_ushort_octalEPKciPv_ZN7pcrecpp3Arg19parse_ushort_cradixEPKciPv_ZN7pcrecpp3Arg9parse_intEPKciPv_ZN7pcrecpp3Arg13parse_int_hexEPKciPv_ZN7pcrecpp3Arg15parse_int_octalEPKciPv_ZN7pcrecpp3Arg16parse_int_cradixEPKciPv_ZN7pcrecpp3Arg10parse_uintEPKciPv_ZN7pcrecpp3Arg14parse_uint_hexEPKciPv_ZN7pcrecpp3Arg16parse_uint_octalEPKciPv_ZN7pcrecpp3Arg17parse_uint_cradixEPKciPv_ZN7pcrecpp3Arg10parse_longEPKciPv_ZN7pcrecpp3Arg14parse_long_hexEPKciPv_ZN7pcrecpp3Arg16parse_long_octalEPKciPv_ZN7pcrecpp3Arg17parse_long_cradixEPKciPv_ZN7pcrecpp3Arg11parse_ulongEPKciPv_ZN7pcrecpp3Arg15parse_ulong_hexEPKciPv_ZN7pcrecpp3Arg17parse_ulong_octalEPKciPv_ZN7pcrecpp3Arg18parse_ulong_cradixEPKciPv_ZN7pcrecpp3Arg14parse_longlongEPKciPv_ZN7pcrecpp3Arg18parse_longlong_hexEPKciPv_ZN7pcrecpp3Arg20parse_longlong_octalEPKciPv_ZN7pcrecpp3Arg21parse_longlong_cradixEPKciPv_ZN7pcrecpp3Arg15parse_ulonglongEPKciPv_ZN7pcrecpp3Arg19parse_ulonglong_hexEPKciPv_ZN7pcrecpp3Arg21parse_ulonglong_octalEPKciPv_ZN7pcrecpp3Arg22parse_ulonglong_cradixEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm_ZN7pcrecpp3Arg12parse_stringEPKciPv_ZNK7pcrecpp2RE7RewriteEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11StringPieceESA_Pii_ZNK7pcrecpp2RE7ReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNK7pcrecpp2RE7ExtractERKNS_11StringPieceES3_PNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNK7pcrecpp2RE13GlobalReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp2RE9QuoteMetaB5cxx11ERKNS_11StringPieceE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag_ZN7pcrecpp2RE7CompileENS0_6AnchorE_ZN7pcrecpp2RE4InitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_10RE_OptionsE_ZN7pcrecpp6no_argE_ZN7pcrecpp7ScannerC2Ev_ZN7pcrecpp7ScannerC1Ev_ZN7pcrecpp7ScannerC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp7ScannerC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp7ScannerD2Ev_ZN7pcrecpp7ScannerD1Ev_ZN7pcrecpp7Scanner11DisableSkipEv_ZNK7pcrecpp7Scanner10LineNumberEv_ZNK7pcrecpp7Scanner6OffsetEv_ZNK7pcrecpp7Scanner9LookingAtERKNS_2REE_ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT__ZN7pcrecpp7Scanner11ConsumeSkipEv_ZN7pcrecpp7Scanner17SetSkipExpressionEPKcDW.ref.__gxx_personality_v0_ZN7pcrecpp7Scanner4SkipEPKc_ZN7pcrecpp7Scanner10EnableSkipEv_ZN7pcrecpp7Scanner7ConsumeERKNS_2REERKNS_3ArgES6_S6__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZN7pcrecpp7Scanner11GetCommentsEiiPSt6vectorINS_11StringPieceESaIS2_EE_ZN7pcrecpp7Scanner15GetNextCommentsEPSt6vectorINS_11StringPieceESaIS2_EE_ZlsRSoRKN7pcrecpp11StringPieceEDW.ref.__gxx_personality_v0//                                              90        `
libpcrecpp_la-pcrecpp.o/
libpcrecpp_la-pcre_scanner.o/
libpcrecpp_la-pcre_stringpiece.o/

/0              1573057005  1667  135   100644  46864     `
ELF>Х@@ED !"#$%&'()*,-./013456:;=��H�����DAUATI��UH��S��H����~�>���H���uLc�C�,�Ѓ�0��	wH��� ~)H��[]A\A]�@��ߍH�L��w�H��� �L��L��H���B�D-H��[]A\A]�Df.�H��dH�%(H�D$1���%ptH�T$dH3%(u}H���fDH�t$���D$��
t0��
t=

t4���t?���uI�P���f�� �f��0�f��@�s����H�
�xH�5H�=�f�AVH��A��AUI��ATUHc�H��S��H��@dH�%(H�L$81�H�|$�Y���H���D��H��H�t$�I��H��1�H9\$t$H�L$8dH3%(��u1H��@[]A\A]A^�DA�$��u�M��tI�E��ĺ��@AVH��AUA��ATI��UHc�H��S��H��@dH�%(H�L$81�H�|$����8-t+H���H��H�t$D���I��H��H9\$t)1�H�L$8dH3%(u>H��@[]A\A]A^�f.�A���u�M��tI�$���f����@AVH��A��AUI��ATUHc�H��S��H��@dH�%(H�L$81�H�|$���H���D��H��H�t$�I��H��1�H9\$t$H�L$8dH3%(��u1H��@[]A\A]A^�DA�$��u�M��tI�E��ĺ��@AVH��AUA��ATI��UHc�H��S��H��@dH�%(H�L$81�H�|$�9����8-t+H���H��H�t$D���I��H��H9\$t)1�H�L$8dH3%(u>H��@[]A\A]A^�f.�A���u�M��tI�$���f����@AU��I��ATUHc�H��SH��H���dH�%(H��$�1�H�\$H����D,�H��H�t$H��I���1�H9\$t&H��$�dH3%(u:H���[]A\A]�DA�$��u�M��t�AE��fD���@H�H��xTH9�v#H�H9�sH��x&H�7H�~�f.�H�x��H��������H�H���PH�=��fD��SH��H�0H��t�H�{8H��t�H�[@H�H9�t*H��t%H�;H�CH9�t�H�߾ [�fD[�@f.���SH��H���H�{�H9�t[�[�@f.���SH��H��PdH�<%(H�|$H1�H�x8��HDx0�\$`H����LcP f�A��)$)D$)D$ )D$0E��~
H�$L�T$LcP$E��~
H�$L�T$(�@(% �ƒ��ɋNE‰€�E��E��D�H�H�5H��HD�H��SAQA���ZY��xu������1�H�\$HdH3%(uH��P[���f���H��H�8dH�%(H�D$1�H��t.1�H�L$����u%�D$H�T$dH3%(uH��ø�������H�
��H�5H�=�fD��AWAVI��C�LIAUATUSH���D$HL�d$@9���H����M��1�PD��A�M��I��H���ZY����t_A�D$A���tjM��teL���9�B��~U�E�I��I�l���I��I��L9�t3Ic|$�I�EA�4$H�)�H;�P��u�H��1�[]A\A]A^A_�fDH���[]A\A]A^A_�H�
�9H�5H�=�H�
�7H�5H�=�@f.���AWAVAUATUSH��H��$L��$�L��$�H��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H�H9��eH�T$0H9��_H�L$8I9��YL�D$@I9���L�L$HI9��ML�T$PI9��OL�\$XH9��QH�\$`H9��sH�l$hI9��EL�d$pI9��gL�l$xI9��iL��$�I9��hH�$L��$�H9��cH��$�H�\$H9��]H��$�H�\$H9��WH��$�H�\$H9���H��$�A���A�f.�H�L$,j3�H��$�PL�D$@�ZYH��$�dH3%(��H�Ę[]A\A]A^A_�fDE1��A��A���A���A��u���DA��e���DA��U���A��J���f.�A��5���DA�	�%���DA�
����DA�����DA����DA�
���DA��������AWAVAUATUSH��H��$L��$�L��$�H��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H�H9��eH�T$0H9��_H�L$8I9��YL�D$@I9���L�L$HI9��ML�T$PI9��OL�\$XH9��QH�\$`H9��sH�l$hI9��EL�d$pI9��gL�l$xI9��iL��$�I9��hH�$L��$�H9��cH��$�H�\$H9��]H��$�H�\$H9��WH��$�H�\$H9���H��$�A���A�f.�H�L$,j31�H��$�PL�D$@�ZYH��$�dH3%(��H�Ę[]A\A]A^A_�f�E1��A��A���A���A��u���DA��e���DA��U���A��J���f.�A��5���DA�	�%���DA�
����DA�����DA����DA�
���DA��������AWAVAUATUSH��H��H��$H��$�L��$�L��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H�H9��rH�T$0H9��lH�L$8I9��fL�D$@I9���L�L$HH9��ZH�t$PI9��\L�T$XI9��^L�\$`H9���H�l$hI9��RL�d$pI9��tL�l$xI9��vL��$�I9��uH�4$L��$�H9��pH��$�H�t$H9��jH��$�H�t$H9��dH��$�H�t$H9���H��$�A��fDA�f�H�L$,j3�H��H��$�PL�D$@�ZY��tHcL$,H)KH��$�dH3%(��H�Ę[]A\A]A^A_�@E1��A��A���A��u���DA��e���DA��U���DA��E���A��:���f.�A��%���DA�	����DA�
����DA����DA����DA�
����DA��������AWAVAUATUSH��H��H��$H��$�L��$�L��$�H�$H��$H��$�L��$�H�D$H��$ L��$�L��$H�D$H��$(L��$H�D$dH�%(H��$�1�H�H9��rH�T$0H9��lH�L$8I9��fL�D$@I9���L�L$HH9��ZH�t$PI9��\L�T$XI9��^L�\$`H9���H�l$hI9��RL�d$pI9��tL�l$xI9��vL��$�I9��uH�4$L��$�H9��pH��$�H�t$H9��jH��$�H�t$H9��dH��$�H�t$H9���H��$�A��fDA�f�H�L$,j31�H��H��$�PL�D$@�ZY��tHcL$,H)KH��$�dH3%(��H�Ę[]A\A]A^A_��E1��A��A���A��u���DA��e���DA��U���DA��E���A��:���f.�A��%���DA�	����DA�
����DA����DA����DA�
����DA��������AWAVAUATUSH��xdH�%(H�D$h1�E����C�\IH��I��A��I�΃�7SH�D$P���XZH�T$hdH3%(��uwH��x[]A\A]A^A_�fDHc�D�L$H��L�$�SL��L��PD�L$I��D��L�D$H���L�����Y^�H�
�]H�5H�=�����H��tH�:�r�Ðf.���1���uH��t����D��f.���1���uH��t����D��f.�����u1��D�[��f.�����u1��D����f.���SH��dH�%(H�D$1���u1�H�\$dH3%(u6H��[�H��H�������t�H�$H���H����w�H��t�f���fD��SH��dH�%(H�D$1���u1�H�\$dH3%(u/H��[�H��H���-���t�H�$H����w�H��t�f����f�f.���SH��dH�%(H�D$1���u1�H�\$dH3%(u7H��[�H��H���
���t�H�$�������H�H9�w�H��t�����@��SH��dH�%(H�D$1���u1�H�\$dH3%(u/H��[�H��H���M���t�H�$�����H9�w�H��tʼn���f�f.�����u1��D����f.�����u1��D�[��f.�����t���~1��D����f���SH��dH�%(H�D$1���t���~1�H�L$dH3%(u,H��[�H��H������t�H��t�f��Z$��������
�b���f�����R���f�����B���f���1��5����@���
���f�������f�����r���f���1��e����@���
����f�������f�������f���1�����@���
��f�������f��������f���1������@����u1��D�
��fD����u1��D��f�fD����u1��D��F�fD����u1��D1��)�������u1��D�
��fD����u1��D���fD����u1��D��v�fD����u1��D1��Y�������u1��D�
��fD����u1��D����fD����u1��D���fD����u1��D1���������u1��D�
�&�fD����u1��D���fD����u1��D����fD����u1��D1��������H��t'H��H��H�RH��Lc�H��1���H���f���f.���AWAVAUATM��UH��SH��H�D�L$LcJH�L$N�4I9�w5�x@�S�BЃ�	w|;D$�r�H�Ic4�����H��I9�vE�L�{<\t�H�]H�UH�ML�kH9���H�MI9�w|�H�EL�m�DL��I9�w�H���[]A\A]A^A_Ã�\��L�mH�UH�MM�}H9���H�MI9���B�*\H�UH��L�}B�D*�W���D1�A�1�H��H��D$�H�U�D$�]���f�A�T�H�D$)�H0H��������H+EHc�H9�wlH������fD��
���fD1�A�1�L��H���H�U�I���f.���,���fDH��1�[]A\A]A^A_�H�=��f���AW1�A�AVAUI��ATU1�SH��H��(H�t$L�|$@L�t$H��M��L��dH�%(H��$ 1�H�H�D$H�B1҉D$ j3�ZY��u0H��$dH3%(����H��([]A\A]A^A_�DL�d$ A��M��L��I�T$L��L���D$0H�T$ H�H�D$(H�T$H�S�T$H�T$��ń�t@�D$@��xY�T$D��xpH�{)�Hc�L�D$(Hc�H�L$ H��H)�H9�HG�H9�wgH���H�|$ I��L9��2�����(����H�
�WH�5H�=�H�
�XH�5H�=�H��H��H�=1�H�5���H���@f.���AVA�I��1�AUI��ATUH��1�SH��H��H���dH�%(H��$�1�I��H��j3M���A��X1�ZE��t"I�M��H��L��I�FL��H����H��$�dH3%(uH���[]A\A]A^��f.���UH��AWAVAUATSH��HH������dH�%(H�E�1�H�����ƅ��H������H��H�����H�BHDž������XH�Ӊ�I��1�H���Dž����H������H������Dž����H�������@H�������E1�L��D������j3�L������H������H������D���^A��_E���m���D���������E9��D;�������H�KD��Ic�D)�H��Hc�H)�H9�HG�H�H9���L������H�L���H�L������E��L��H������H������L��H������H�C������������H�K������A9ʼn�@��9��@H�@�����D������H��L������1�L��j3H������A������D��H�������ZA��Y��������������FH�����H������H��H9�t�H�}�dH3<%(�������-H�e�[A\A]A^A_]�f.�H�KE�e��D9���Ic�H9���H�H�48�>
tE;������,���H)��H��HE�H�������H�C��A9��C���H�����Mc�I9��SB�<
u�A�(�T��=0��H�K�ʋ�����D�`f�9�����|A9�~����fDHc�����D��H��)�H)�Hc�H9�HG�H�3H9��)H��N���H�KH�;A9�})Mc�H��L)�I9���J�4'H�������H�;H�KH������H�����H�sL�����H��H9��}L����H9���H�H�CH�����H����L�KH�����L�C�-���@H�;�A�(�B��=@���A�(�.��H�K��=P��������H9�tAH�Cfo���H�����H�3KH������oSH�H��H�����)����b���M��t%fo���H��tD�o[H��C)����<���H��H���0���H�C�C�q���Dž�����b���CL�C�U���H��H�=1�H�5�H�
��H�5H�=�H�
��H�5H�=�L�H�
1��"H�5H�=��L��H�5H�=1���H��H�5H�=1����H����f���AWH�GAVAUATUSH��H��H�H�D$�G�FH�G����I��1�E1��dfDD��H�M�u��߃�A<vA�D$�<	vE��x
A��_��H9T$��H�CI9�wxF�$*H�L�sB�0H��A9o~FL�kI�D�$(E��u�H��������L)�H��� �H�5H���H��A9o�H��H��[]A\A]A^A_�fDA�1�1�L��H���H��k�����Y���fDH9T$��H�CI9�wlB�*\H�L�sB�0I�L�cD�4(H�M�l$H9D$t`H�SI9�wF�4 H�L�kB�D �	����A�1�1�L��H���H���fDA�1�1�L��H���H��w�����f���U���H�=���H���@f.���AUATUSH��H��H�o(dH�%(H�D$81���tGH�?��H�L$H�T$E1��H��H����H�L$8dH3%(H���H��H[]A\A]�f�L�d$H�H�r�I�D$L��H�D$�H�SH�3L���H��������H+D$H�����H�5L���H�|$H�L$E1���H�T$�H�|$I��H��L9��G����H���B���fDH�H9C@�+���� �L�l$H�����I��H�@I�$M��t
L���I�TL��L���L�c@����H�=���H�����H����@f.���AWAVAUATI��USH��H��dH�%(H�D$1�H9�t7L�/L�I��H�nM9��H�wH9���H����H�kA�D-M����I�$H�C A�D$�C(H�H�C01�H��H�C@H�C8�H�C8H��t�H���H�C0H�D$dH3%(��H��[]A\A]A^A_ÐI�6H��tL��H���L�+�^���@H��H�,$�T��H�;I��I9�t�H�$L�+H�CH���*����fDH�H�C ��C(�,��������fD�A�EL�+����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864
GA$3h864GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��H�H�GH9�tH�����pcrecpp.ccbasic_string::_M_createpcre_retval == 0(1 + n) * 3 <= vecsizematches >= 0n >= 0basic_string::appendvec[0] >= 0vec[1] >= 0basic_string::replace__pos <= size()matchstart >= startmatchend >= matchstart\0(?:)\zNULL == "Unexpected return value from pcre_config(NEWLINE)"%s: __pos (which is %zu) > this->size() (which is %zu)/usr/include/c++/8/bits/basic_string.h%s:%d: %s: Assertion '%s' failed.
����e���������	������������;W�K�������� GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��AWAVM��AUATL�gUH��SH��H��8H�wdH�%(H�D$(1�H�DI��H�D$I)�L��H)�H�H�D$ L;'�H�wH�|$ H�L$�H��L�H�L$I��t,H����L��H��H��H�L$L�D$�H�L$L�D$H��t(M��t#I�</I����L��H��L�D$�L�D$M��t(H�t$J�|5L�L�I��t_L��L�D$�L�D$M9�tL���H�D$ L�;H�CH�D$(dH3%(uNH��8[]A\A]A^A_�DA�A��]���@���f����fD���\����GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��USH��L�CH��H�GH�?H�,L9�tOL�CL9�w.H��tH�H��tH�H�;H�kH���/H��[]�fDI��H��H��1�H���H�;��A�����H�;�GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��H��������AWAVAUATUH��SH�H��(H�WH)�I9���M��H�H��H�I)�N�$2H9���H�{L9��dL�<0I��H�I)�A��L9�@��A!�H9�vtE��t.I�4/K�<I���ML��L�D$H�L$�L�D$H�L$M��tI���L��H��L���H�L�cB� H��(H��[]A\A]A^A_�fDH�H9�w�M���L9���I����L��H��L��L�L$L�D$H�L$�E��H�L$L�D$L�L$t�I�4/K�<I����L��L�D$H�L$�L�D$H�L$L9��M���L�J�H9���H9���J�41I���L��L�������f.�H��H�������A���D������fD��Y���fD�A�E���g����4���@I��t�L��H��L����������4���fDH)�H��tDH��tH��H��L��L�D$�L�D$L��K�4I�</H)�H��tH���A�����7����A������%����A�����H�=�basic_string::_M_replaceH�|$ I��L9�t�H����H������H�����H��H9�t�H���H�;H9|$t�H����L�� �H���H�|$I��L9�t�H���GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��ATI��UH��SH��dH�%(H�D$1�H��u	H����L)�H��H�$H��wPH�EH��u6A�$�H�$H�EH�]�H�D$dH3%(uYH��[]A\�fDH��t��f�H��1��H�$H�EH�UH��L��H���H�$H�E�H�=��basic_string::_M_construct null not validGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��H�H��H�H�H�H�H�=H�p�H�H���H��H���int pcrecpp::RE::NumberOfCapturingGroups() constbool pcrecpp::RE::DoMatch(const pcrecpp::StringPiece&, pcrecpp::RE::Anchor, int*, const pcrecpp::Arg* const*, int) constbool pcrecpp::RE::DoMatchImpl(const pcrecpp::StringPiece&, pcrecpp::RE::Anchor, int*, const pcrecpp::Arg* const*, int, int*, int) constint pcrecpp::NewlineMode(int)std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[](std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::reference = char&; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]int pcrecpp::RE::GlobalReplace(const pcrecpp::StringPiece&, std::__cxx11::string*) constbool pcrecpp::RE::Replace(const pcrecpp::StringPiece&, std::__cxx11::string*) constGCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�0!HD�B�B�D �D(�F0{
(A ABBEr(A ABB��D m
G@��B�H�E �A(�G0�Fp]
0A(A BBBF@��B�E�E �D(�G0�Fp`
0A(A BBBK@4�B�H�E �A(�G0�Fp]
0A(A BBBF@x�B�E�E �D(�G0�Fp`
0A(A BBBK8��B�J�A �G(�J�f
(A ABBF�i]bE�P
KAzPLRx�� $"E�V
EA,t�E�G`�hBpIhA`j
AA�zH F
Al�"F�B�J �B(�A0�A8�D@UHHPXHA@m
8C0A(B BBBGD
8F0A(B BBBA\0�F�B�B �B(�A0�A8�G���N�K�A�^
8A0A(B BBBG\��F�B�B �B(�A0�A8�G���K�K�A�^
8A0A(B BBBJ\�F�B�B �B(�A0�A8�J���Q�K�A�m
8A0A(B BBBE\PF�B�B �B(�A0�A8�J���N�K�A�m
8A0A(B BBBHh��F�B�B �B(�A0�A8�D�p�F�H�A�V
8A0A(B BBBGV�G�c�A�0&D&Xl �jE�D j
AD �cE�D j
AD �kE�D j
AD �cE�D j
AD$8 LhE�D r
ADp�������$8L`t������(<Pdx�����H�F�B�E �B(�E0�D8�Gp
8A0A(B BBBF(<	�E�A�K ~
AAGHh	�P�B�B �B(�A0�D8�G`�
8D0A(B BBBG�	6M`d�	�F�B�B �B(�D0�D8�DP�
8F0A(B BBBA
8C0A(B BBBA\�F�J�B �E(�A0�C8�J�S�m�F�A�d
8A0A(B BBBF,zPLRx���������4P�
�F�M�E �A(�F0�M�Z�B�L�C�A
0A(A BBBA<	�E�C
P������.t.�.c
KM.,zPLRx��������4$L�	F�F�B �B(�A0�A8�GP�
8D0A(B BBBG(zPLRx��P������00L�F�D�D �D0c
 AABG<T
�F�B�A �A(�GpV
(A ABBC$zPLRx��p����,0H
|F�B�B �B(�D0�A8�GP�
8A0A(B BBBBL
rOb<+-Ea~��!/�T��p9P����0���>��u`�� i�  
91L9���9@y!g!!�%%�%a)�)�)9�T�,�9@Yo9���,$0,@l0�0�0X	,X0�	�	5�	5r5
5r9,1
6
;
@
E
$J
LO
5T
YY
`^
ud
�j
@p
�v
�|
��
��
x�
��
��
��
��
+�
2�
�
�
&	:	
#'+.237:<=>?@Kn"!���"!�+9JQY`hu|���b���"�!:��"

0�K
U
 z�
�
�"�
��
C�����x��������&�&=g0�Pj��c�0k�c<j0�P�ph���.X� �0�@�P(`Ipo�������
�3�]��� �@�`�F�p����� @H`p������"!@"%��")����6� �b������Yp ����&"0�j� (�����)|)6.annobin_pcrecpp.cc.annobin_pcrecpp.cc_end.annobin_pcrecpp.cc.hot.annobin_pcrecpp.cc_end.hot.annobin_pcrecpp.cc.unlikely.annobin_pcrecpp.cc_end.unlikely.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.start.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.end_ZN7pcrecppL15TerminateNumberEPcPKci_ZN7pcrecppL11NewlineModeEi_ZZN7pcrecppL11NewlineModeEiE19__PRETTY_FUNCTION___ZN7pcrecpp3Arg16parse_long_radixEPKciPvi.part.13_ZN7pcrecpp3Arg17parse_ulong_radixEPKciPvi.part.14_ZN7pcrecpp3Arg20parse_longlong_radixEPKciPvi.part.15_ZN7pcrecpp3Arg21parse_ulonglong_radixEPKciPvi.part.16_ZN7pcrecpp3Arg12parse_doubleEPKciPv.part.17_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.isra.36_ZN7pcrecppL12empty_stringE_ZZNK7pcrecpp2RE23NumberOfCapturingGroupsEvE19__PRETTY_FUNCTION___ZZNK7pcrecpp2RE11DoMatchImplERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEiS5_iE19__PRETTY_FUNCTION___ZZNK7pcrecpp2RE7DoMatchERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEiE19__PRETTY_FUNCTION__.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm.start.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm.end.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm.start.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm.end.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm.start.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm.end_ZZNK7pcrecpp2RE7ReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE19__PRETTY_FUNCTION___ZNK7pcrecpp2RE7ReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.cold.43_ZZNK7pcrecpp2RE13GlobalReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE19__PRETTY_FUNCTION___ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEmE19__PRETTY_FUNCTION___ZNK7pcrecpp2RE13GlobalReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.cold.44_ZN7pcrecpp2RE9QuoteMetaB5cxx11ERKNS_11StringPieceE.cold.45.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.start.annobin__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.end_ZN7pcrecpp2RE7CompileENS0_6AnchorE.cold.46_ZN7pcrecppL15default_optionsE.annobin__GLOBAL__sub_I__ZN7pcrecpp2RE6no_argE.start.annobin__GLOBAL__sub_I__ZN7pcrecpp2RE6no_argE.end_GLOBAL__sub_I__ZN7pcrecpp2RE6no_argE.LC0.LC1.LC2.LC3.LC4.LC6.LC5.LC7.LC9.LC10.LC11.LC13.LC12.LC19.LC18.LC15.LC16.LC17.LC21.LC24.LC25.LC8.LC23.text.hot.group.text.unlikely.group_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED5Ev.text.unlikely..group.text.startup.group.text.hot..group_ZN7pcrecpp3Arg10parse_nullEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev_GLOBAL_OFFSET_TABLE__ZdlPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Evisspacememcpypcre_config__stack_chk_fail__assert_fail__errno_locationstrtolstrtoulstrtoqstrtouq__memcpy_chkstrtod_Znwm_ZSt20__throw_length_errorPKc_ZN7pcrecpp2RE7CleanupEvpcre_free_ZdlPvm_ZN7pcrecpp2RED2EvDW.ref.__gxx_personality_v0_ZN7pcrecpp2RED1Ev_ZNK7pcrecpp2RE8TryMatchERKNS_11StringPieceEiNS0_6AnchorEbPiipcre_exec_ZNK7pcrecpp2RE23NumberOfCapturingGroupsEvpcre_fullinfo_ZNK7pcrecpp2RE11DoMatchImplERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEiS5_i_ZNK7pcrecpp2RE9FullMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZNK7pcrecpp2RE12PartialMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6__ZNK7pcrecpp2RE7ConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE14FindAndConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZNK7pcrecpp2RE7DoMatchERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEi_Znam_ZdaPv_ZN7pcrecpp3Arg17parse_stringpieceEPKciPv_ZN7pcrecpp3Arg10parse_charEPKciPv_ZN7pcrecpp3Arg11parse_ucharEPKciPv_ZN7pcrecpp3Arg16parse_long_radixEPKciPvi_ZN7pcrecpp3Arg17parse_ulong_radixEPKciPvi_ZN7pcrecpp3Arg17parse_short_radixEPKciPvi_ZN7pcrecpp3Arg18parse_ushort_radixEPKciPvi_ZN7pcrecpp3Arg15parse_int_radixEPKciPvi_ZN7pcrecpp3Arg16parse_uint_radixEPKciPvi_ZN7pcrecpp3Arg20parse_longlong_radixEPKciPvi_ZN7pcrecpp3Arg21parse_ulonglong_radixEPKciPvi_ZN7pcrecpp3Arg12parse_doubleEPKciPv_ZN7pcrecpp3Arg11parse_floatEPKciPv_ZN7pcrecpp3Arg11parse_shortEPKciPv_ZN7pcrecpp3Arg15parse_short_hexEPKciPv_ZN7pcrecpp3Arg17parse_short_octalEPKciPv_ZN7pcrecpp3Arg18parse_short_cradixEPKciPv_ZN7pcrecpp3Arg12parse_ushortEPKciPv_ZN7pcrecpp3Arg16parse_ushort_hexEPKciPv_ZN7pcrecpp3Arg18parse_ushort_octalEPKciPv_ZN7pcrecpp3Arg19parse_ushort_cradixEPKciPv_ZN7pcrecpp3Arg9parse_intEPKciPv_ZN7pcrecpp3Arg13parse_int_hexEPKciPv_ZN7pcrecpp3Arg15parse_int_octalEPKciPv_ZN7pcrecpp3Arg16parse_int_cradixEPKciPv_ZN7pcrecpp3Arg10parse_uintEPKciPv_ZN7pcrecpp3Arg14parse_uint_hexEPKciPv_ZN7pcrecpp3Arg16parse_uint_octalEPKciPv_ZN7pcrecpp3Arg17parse_uint_cradixEPKciPv_ZN7pcrecpp3Arg10parse_longEPKciPv_ZN7pcrecpp3Arg14parse_long_hexEPKciPv_ZN7pcrecpp3Arg16parse_long_octalEPKciPv_ZN7pcrecpp3Arg17parse_long_cradixEPKciPv_ZN7pcrecpp3Arg11parse_ulongEPKciPv_ZN7pcrecpp3Arg15parse_ulong_hexEPKciPv_ZN7pcrecpp3Arg17parse_ulong_octalEPKciPv_ZN7pcrecpp3Arg18parse_ulong_cradixEPKciPv_ZN7pcrecpp3Arg14parse_longlongEPKciPv_ZN7pcrecpp3Arg18parse_longlong_hexEPKciPv_ZN7pcrecpp3Arg20parse_longlong_octalEPKciPv_ZN7pcrecpp3Arg21parse_longlong_cradixEPKciPv_ZN7pcrecpp3Arg15parse_ulonglongEPKciPv_ZN7pcrecpp3Arg19parse_ulonglong_hexEPKciPv_ZN7pcrecpp3Arg21parse_ulonglong_octalEPKciPv_ZN7pcrecpp3Arg22parse_ulonglong_cradixEPKciPv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcmmemmove_ZN7pcrecpp3Arg12parse_stringEPKciPv_ZNK7pcrecpp2RE7RewriteEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11StringPieceESA_Pii_ZNK7pcrecpp2RE7ReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZSt24__throw_out_of_range_fmtPKcz_Unwind_Resume_ZNK7pcrecpp2RE7ExtractERKNS_11StringPieceES3_PNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNK7pcrecpp2RE13GlobalReplaceERKNS_11StringPieceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEprintfabort_ZN7pcrecpp2RE9QuoteMetaB5cxx11ERKNS_11StringPieceE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag_ZSt19__throw_logic_errorPKc_ZN7pcrecpp2RE7CompileENS0_6AnchorEpcre_compilestrlen_ZN7pcrecpp2RE4InitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_10RE_OptionsE__dso_handle__cxa_atexit_ZN7pcrecpp6no_argE*x��������36��������P6��������y6���������y���������z��������[{��������b4Ln7��������u8��������z|���������}���������~��������({��������p}������������������{��������+}��������G����������{���������}������������������X{�������������������}������������������{���������9����������������������������������������v��������
����������6������������������{��������N���������w{��������~4���������7���������:���������|����������������������������4��7���������;���������|���������4��7���������<���������|��������n	����������
����������{��������^����������
����������{��������Q��������������������{��������Q��������������������{������������������9���������Y���������c���������n4<z7���������=���������|���������{���������{��������{���������{���������{���������{�����������������E������������������������������>������������������f�������������������(���������?v��������I{��������P4�\7��������c?��������h|��������o4�{7���������@���������|���������A���������B������������������ ���������: ���������b {��������O!����������!����������!���������c"����������"v��������#����������#���������O%A��������X%>��������]%���������d%4<p%7��������w%C��������|%|���������%4<�%7���������%D���������%|���������%E���������%4|�%F���������%G���������%����������%����������%>���������%A���������%����������%{���������%>���������%A���������%����������&H���������&���������!'����������'����������'����������'>��������(���������\(����������(I���������(����������(����������(J���������(���������)���������)v��������3)G)���������k)���������{)����������){���������)>���������)���������@*^*���������t*����������*y���������*v���������*+8+{��������B���������U���������x�������������������v���������5��������	&5(5<�)5T�)5i <+   v�������� i�y���������y���������y��������v��������{{��������  9y��������g���������" #�����������y��������-���������h����������y������������������(���������e����������y���������K������������������v�����������������4v��������<���������Kv��������S���������a���������i���������|v������������������+ ,��y���������L�������������������{��������2 2rs��������������������������$�+,2w��������=D N+T���������[e2� 4
H�����08�|��`� �?�T]x0� ��4�����T��� �4�H�\p0�P���0��(0<PPpt������ �0�@P`(p<�P�d�x��������� �@`�,�@�T�h| �@�`�������@	!l	$�	��	 8
A
�
��
5�
�
�4p =��5�&�&�.�85@A9P-� (�A���5X�`
�)P
2.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes..text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.rela.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.rodata.str1.1.rodata.str1.8.gcc_except_table.rela.gnu.build.attributes..text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm.rela.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm.rela.gnu.build.attributes..text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm.rela.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm.rela.gnu.build.attributes..text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm.rela.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm.rodata._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm.str1.1.rela.text.unlikely.rela.gnu.build.attributes..text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.rela.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.rodata._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.str1.8.rela.gnu.build.attributes..text.startup.rela.text.startup.rela.init_array.rodata.rela.data.rel.local.DW.ref.__gxx_personality_v0.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@BMPBN`BOtB��B��B��BP�B��BQ�B��BR'<+"@�hB-<,3@,@ =@,�8@H�0BS/b/(]@x�0B�</�</(|@��0B�d/��@ؐ0B�@0!�@�B@2a0�O2P1�^2hu|2�p@ �0B�`3�@P��B!/�4�*@�0B#E�5��@�0B%�L6��@@�0B'�07�J@p�B)�2�9�:��@x��B,�:�
@h�0B.%p;��@��xB02@<*�l<�}@�0B3�P=r�@@� B5��=�@`�B7��=� ��A�@x�B:0�A-S
BBP`B4`B`
/@��	B@�O�Cs	�dJ��>/25             1573057005  1667  135   100644  16592     `
ELF>�5@@-, "#%H�?H��x	H���PH�=�f���H�GH�GH�H�G 1��G�G(H�G0f�G8�G:H�G@�GH�f�f.���ATUSH��H��dH�%(H�D$1�H�GH�L�&H�nL��H�t	M����H�,$H��wxH��ubA�$�SH�k�(H�H�C0H�C H�C�C:�C(1�f�C8H�C@�CHH�D$dH3%(u\H��[]A\�f.�H��t��f�H������H�$H�H�SH��L��H���H�,$H��i���H�=��f���USH��H��H�o0H��tH����HH���H�k@H��tH�}H��t��H���H�;H��H9�tH��[]�f.�H��[]���H�0t�G8�PH�
�fH�5H�=���H�H�w �H9�s1ɀ:
��H���H9�u��@Ð@f.���H�G H+�@��H��H��E1�E1�dH�%(H�T$1�H�w �H�L$H���H�T$dH3%(uH�����@f.���AVAUL�o ATI��USH�H��H�� L�w dH�%(H�D$1��f�A�|$9t-SI�|$0I��I��SH��H��L��SSSSSSSSSS�H��`��u�A�|$:tI�|$@tBI�D$ L)�H�D$dH3%(uNH�� []A\A]A^�f�I�|$@H��L�4$�D$��ʿ�H�H�@H�@I�D$@��f�f.���AWAVAUI��ATUH��SH��XH�_0dH�%(H�D$H1�H��tH����HH���M�����HL�d$ �I�T$L��L�x�@H��L�8H�@H�@ �@(H�T$ H�T$�H�T$H��I��H�D$��H����A�M�L$0H�D$(L��H���1��H�|$ I��L9�t��H�]0H��f�U8��@1�H�E0f�E8H�D$HdH3%(ukH��X[]A\A]A^A_�H�|$���H�L$H�D$ H�L$0L��L��H��H�L$�H�L$H�T$ H���N���f.�H���;���H��H������H�����H���f���AWAVAUI��ATUH��SH��XH�_0dH�%(H�D$H1�H��tH����HH���M�����HL�d$ �I�T$L��L�x�@H��L�8H�@H�@ �@(H�T$ H�T$�H�T$H��I��H�D$��H����A�M�L$0H�D$(L��H���1��H�|$ I��L9�t��H�]0H��f�U8��@1�H�E0f�E8H�D$HdH3%(ukH��X[]A\A]A^A_�H�|$�>���H�L$H�D$ H�L$0L��L��H��H�L$�H�L$H�T$ H���N���f.�H���;���H��H������H�����H���f���H�0t	�G8���PH�
�kH�5H�=�f�f.���SL�
H��H��H�s H��AQAQAQAQAQAQAQAQAQAQAQAQ�H��`��t�{8uH��[�DH�߈D$��D$H��[Ð���L�G@M����AVAUATUSI�I;Xt\I��I��Hc�Lc��
H��I9XtDI�$H�H�4(H9�r�HcsL�H��H�H9�w�I�vI;vt*H�H��H���N�I�vI9Xu�[]A\A]A^�f�H��L���M�D$@�fDÐfD��H�G@H��t{ATUSHc_HH��HH;Xt]H��I���+fDH��SH��H��H�N�V�H�uA�D$HH9Xt*H�uH;uu�H��H��H���I�D$@A�D$HH9Xu�[]A\�@�
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864
GA$3h864basic_string::_M_createpcre_scanner.ccskip_ != NULLbasic_string::_M_construct null not validGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��AWAVAUATUSH��H�_H;_t$H��FH��H�S�C�H�_H��[]A\A]A^A_�L�7I��I��H��M)�L��H����H�H���H9���H��H�$�H�$I��H�I�WA�L$I�4$M�I�uA�ML9�t6L��L��fDL��rH��H��L�A�q�H9�u�H��L)�H���I�T M��tL��H�D$H�$�H�D$H�$L�}H�UH�EH��[]A\A]A^A_�@H��������H9��E���H��u�1�E1��L������&���H��H������H�|$ I��L9�t�H�;I9�t�H�߾H�H����H�|$ I��L9�t�H�;I9�t�H�߾H�H�����Y�������0��Y�������0GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��AWH��AVAUATI��USH��H��H�oL�/H��L)�L)�H���+H�4I���H9���L��H�T$H�$�H�$H�T$I��I�H�@�rH�L�H��qL9�t;L��L��f�L�
D�BH��H��L�I�D�A�H9�u�H�C�L)�H���I�D H9�t;H��H��f�D�BL�
H��H��L�I�D�A�H9�u�H)�H�U�H���H�DM��tL��H�$�H�$M�4$M�|$I�D$H��[]A\A]A^A_�f�H��������H9�����H��u�E1�E1�������H��I������void pcrecpp::Scanner::EnableSkip()void pcrecpp::Scanner::DisableSkip()GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�R0D0D�F�A�A �G0�
 AABK0xwE�A�G R
AAODAA�0Q�1��QH C
A`VF�B�B �B(�A0�A8�DPc
8A0A(B BBBA�
8A0A(B BBBElh�F�B�F �D(�A0�NPhXL`JhApAxA�A�A�A�A�A�A�IPt
0A(A BBBCzPLRx��P$�F�B�B �E(�A0�D8�D�
8A0A(B BBBD,zPLRx���������45P��F�B�B �E(�A0�D8�D�
8A0A(B BBBD�54ULgE�U B(B0B8B@BHBPBXB`BhBpBxB�I N
AFUAHdqF�E�B �B(�D0�A8�GP
8A0A(B BBBCD��S�B�B �A(�A0�f
(A BBBJX�����0��O�A�A �oABE���	7Tu��!@%P�V�5165V!$�q!����(����
"$%&'(�5 DM Dep�����p�4pwL_gnpw��0�� 1�`�pQ!h"V�����M��x!"�����$04Fpg|"q���<	��.annobin_pcre_scanner.cc.annobin_pcre_scanner.cc_end.annobin_pcre_scanner.cc.hot.annobin_pcre_scanner.cc_end.hot.annobin_pcre_scanner.cc.unlikely.annobin_pcre_scanner.cc_end.unlikely_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.isra.40.constprop.54_ZZN7pcrecpp7Scanner11DisableSkipEvE19__PRETTY_FUNCTION__.annobin__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT_.start.annobin__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT_.end_ZN7pcrecpp7Scanner17SetSkipExpressionEPKc.cold.55_ZN7pcrecpp7Scanner4SkipEPKc.cold.56_ZZN7pcrecpp7Scanner10EnableSkipEvE19__PRETTY_FUNCTION__.annobin__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.start.annobin__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.end.LC0.LC1.LC2.LC3.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_GLOBAL_OFFSET_TABLE__Znwm_ZSt20__throw_length_errorPKc_ZN7pcrecpp7ScannerC2Ev_ZN7pcrecpp7ScannerC1Ev_ZN7pcrecpp7ScannerC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmemcpy_ZSt19__throw_logic_errorPKc__stack_chk_fail_ZN7pcrecpp7ScannerC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN7pcrecpp7ScannerD2Ev_ZN7pcrecpp2RED1Ev_ZdlPvm_ZdlPv_ZN7pcrecpp7ScannerD1Ev_ZN7pcrecpp7Scanner11DisableSkipEv__assert_fail_ZNK7pcrecpp7Scanner10LineNumberEv_ZNK7pcrecpp7Scanner6OffsetEv_ZNK7pcrecpp7Scanner9LookingAtERKNS_2REE_ZNK7pcrecpp2RE7DoMatchERKNS_11StringPieceENS0_6AnchorEPiPKPKNS_3ArgEi_ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT__ZN7pcrecpp7Scanner11ConsumeSkipEv_ZN7pcrecpp2RE6no_argE_ZNK7pcrecpp2RE7ConsumeEPNS_11StringPieceERKNS_3ArgES5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5_S5__ZN7pcrecpp7Scanner17SetSkipExpressionEPKcDW.ref.__gxx_personality_v0strlen_ZN7pcrecpp2RE4InitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_10RE_OptionsE_Unwind_Resume_ZN7pcrecpp7Scanner4SkipEPKc_ZN7pcrecpp7Scanner10EnableSkipEv_ZN7pcrecpp7Scanner7ConsumeERKNS_2REERKNS_3ArgES6_S6__ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZN7pcrecpp7Scanner11GetCommentsEiiPSt6vectorINS_11StringPieceESaIS2_EE_ZN7pcrecpp7Scanner15GetNextCommentsEPSt6vectorINS_11StringPieceESaIS2_EE��������8��������M<��������`��������e=��������j>���������A���������B���������C���������B��������<����������������F���������J���������>���������M��������9N���������K���������7���������>��������A��������B��������*7��������fQ���������R���������C���������L��������0<��������b>���������A���������B���������7��������Q��������VR��������iC��������~L���������<��������>��������H��������T��������[��������`F��������xM���������N���������L��������wX���������X��������
7���������C��������nz��������E*2 	   
x7���������C��������C��������C��������)B��������1T��������EC��������RC��������_B��������gT�������� V7��������	C��������S 4 Hp|p��� �`�pl��P��[P�����!�6�:0ph����.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.rela.gnu.build.attributes.unlikely.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes..text._ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT_.rela.text._ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE12emplace_backIJS1_EEEvDpOT_.rela.text.unlikely.gcc_except_table.rela.gnu.build.attributes..text._ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.rela.text._ZNSt6vectorIN7pcrecpp11StringPieceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.rodata.rela.data.rel.local.DW.ref.__gxx_personality_v0.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@*P*`*Kt*�*X�*P�*'�	"@�(*-�	3�	=�	�8@�-0*S�b�(]@.0*����(|@8.0*�2�6�2(*�T��@h.0*�0
V(@�.0*��k|@�.�*��B�4��@�/0*�q;@�/0*��e ��@�/*"�0-S=@P�(�(#@0X*(��+6	@�	X22/55             1573057005  1667  135   100644  7904      `
ELF>�@@)(
!��AUI��ATUSH��8L�&Hc^dH�%(H�D$(1�H��L��H�UH��H�H�$t	M����H��wsH��u]A�$�D$H�EH�\$L���H�T$H�4$�H�<$H��H��H9�t�H�L$(dH3%(H��uWH��8[]A\A]�H�EH��t��D��x:H�{�H�\$H�$H��L��H���H�$�s���H�=��H�=���H���
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA$3h864
GA$3h864basic_string::_M_construct null not validbasic_string::_M_createH�<$H��H9�t�H�����
u��B��GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA*
GA*GOW*EGA!��H��H�=�H�=H��H�H�5�GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zPLRx��<$F�E�A �A(�D`�
(A ABBD$zPLRx��`����,zRx�2HW

?
`
����=2z2�
������	 !"#$�#!?U������**BO.annobin_pcre_stringpiece.cc.annobin_pcre_stringpiece.cc_end.annobin_pcre_stringpiece.cc.hot.annobin_pcre_stringpiece.cc_end.hot.annobin_pcre_stringpiece.cc.unlikely.annobin_pcre_stringpiece.cc_end.unlikely_ZlsRSoRKN7pcrecpp11StringPieceE.cold.23.annobin__GLOBAL__sub_I__ZlsRSoRKN7pcrecpp11StringPieceE.start.annobin__GLOBAL__sub_I__ZlsRSoRKN7pcrecpp11StringPieceE.end_GLOBAL__sub_I__ZlsRSoRKN7pcrecpp11StringPieceE_ZStL8__ioinit.LC0.LC1.text.hot.group.text.unlikely.group.text.unlikely..group.text.startup.group.text.hot..groupDW.ref.__gxx_personality_v0_GLOBAL_OFFSET_TABLE__ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZdlPv_Znwmmemcpy_ZSt19__throw_logic_errorPKc__stack_chk_fail_ZSt20__throw_length_errorPKc_Unwind_Resume_ZNSt8ios_base4InitC1Ev_ZNSt8ios_base4InitD1Ev__dso_handle__cxa_atexitv1���������2���������3���������4������������������5���������6����������������7����������������   2��������9�������� 2��������:��������*;��������"<��������)��������.=��������8/(1s/���.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.rela.gnu.build.attributes.unlikely.rodata.str1.8.rodata.str1.1.rela.text.unlikely.gcc_except_table.rela.gnu.build.attributes..text.startup.rela.text.startup.rela.init_array.rela.data.rel.local.DW.ref.__gxx_personality_v0.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@&P&`&l&�&/�&'�"@��&-�3�=��8@�0&SLbL(]@�0&�t�t(|@0&�2�*�2����@80&�����@h0&��2
@��&%( @(&601@@&b08-SekhP~�����@X�&$��'.	X\�lib64/pkgconfig/libpcre.pc000064400000000476150405535520011412 0ustar00# Package Information for pkg-config

prefix=/opt/alt/pcre802/usr
exec_prefix=/opt/alt/pcre802/usr
libdir=/opt/alt/pcre802/usr/lib64
includedir=/opt/alt/pcre802/usr/include

Name: libpcre
Description: PCRE - Perl compatible regular expressions C library
Version: 8.02
Libs: -L${libdir} -lpcre
Cflags: -I${includedir} 
lib64/pkgconfig/libpcreposix.pc000064400000000537150405535520012473 0ustar00# Package Information for pkg-config

prefix=/opt/alt/pcre802/usr
exec_prefix=/opt/alt/pcre802/usr
libdir=/opt/alt/pcre802/usr/lib64
includedir=/opt/alt/pcre802/usr/include

Name: libpcreposix
Description: PCREPosix - Posix compatible interface to libpcre
Version: 8.02
Libs: -L${libdir} -lpcreposix
Cflags: -I${includedir} 
Requires.private: libpcre
lib64/pkgconfig/libpcrecpp.pc000064400000000465150405535520012113 0ustar00# Package Information for pkg-config

prefix=/opt/alt/pcre802/usr
exec_prefix=/opt/alt/pcre802/usr
libdir=/opt/alt/pcre802/usr/lib64
includedir=/opt/alt/pcre802/usr/include

Name: libpcrecpp
Description: PCRECPP - C++ wrapper for PCRE
Version: 8.02
Libs: -L${libdir} -lpcre -lpcrecpp
Cflags: -I${includedir} 
lib64/libpcre.a000064400002447224150405535520007271 0ustar00!<arch>
/               1573057005  0     0     0       1360      `
>�p���<1�1�1�1�1�1�1�1�1�OlOlOlOlOlOl_�_�_�_�_�_�_�_�_�_����->[h[h��������������ΨΨΨΨ	�D
p
d
;�pcre_pattern_to_host_byte_order_pcre_find_bracketpcre_compile2pcre_compilepcre_configpcre_dfa_execpcre_execpcre_fullinfopcre_get_stringnumberpcre_get_stringtable_entriespcre_copy_substringpcre_copy_named_substringpcre_get_substring_listpcre_free_substring_listpcre_get_substringpcre_get_named_substringpcre_free_substringpcre_stack_guardpcre_calloutpcre_stack_freepcre_stack_mallocpcre_freepcre_malloc_pcre_jit_compile_pcre_jit_execpcre_jit_exec_pcre_jit_free_pcre_jit_get_size_pcre_jit_get_targetpcre_jit_stack_allocpcre_jit_stack_freepcre_assign_jit_stackpcre_jit_free_unused_memorypcre_maketables_pcre_is_newline_pcre_was_newline_pcre_ord2utfpcre_refcountpcre_free_studypcre_study_pcre_utt_size_pcre_utt_pcre_utt_names_pcre_ucp_typerange_pcre_ucp_gbtable_pcre_ucp_gentype_pcre_utf8_table4_pcre_utf8_table3_pcre_utf8_table2_pcre_utf8_table1_size_pcre_utf8_table1_pcre_vspace_list_pcre_hspace_list_pcre_OP_lengths_pcre_ucd_stage2_pcre_ucd_stage1_pcre_ucd_records_pcre_ucd_caseless_sets_pcre_valid_utfpcre_version_pcre_xclass_pcre_default_tables//                                              576       `
libpcre_la-pcre_byte_order.o/
libpcre_la-pcre_compile.o/
libpcre_la-pcre_config.o/
libpcre_la-pcre_dfa_exec.o/
libpcre_la-pcre_exec.o/
libpcre_la-pcre_fullinfo.o/
libpcre_la-pcre_get.o/
libpcre_la-pcre_globals.o/
libpcre_la-pcre_jit_compile.o/
libpcre_la-pcre_maketables.o/
libpcre_la-pcre_newline.o/
libpcre_la-pcre_ord2utf8.o/
libpcre_la-pcre_refcount.o/
libpcre_la-pcre_string_utils.o/
libpcre_la-pcre_study.o/
libpcre_la-pcre_tables.o/
libpcre_la-pcre_ucd.o/
libpcre_la-pcre_valid_utf8.o/
libpcre_la-pcre_version.o/
libpcre_la-pcre_xclass.o/
libpcre_la-pcre_chartables.o/
/0              1573057005  1667  135   100644  4024      `
ELF>8	@@

��H�����=ERCP��=PCRE���GȨ���O�G�G�ERCPɉO�OȉG�G�f�GȉO�G1�f�Gf�Gf�Gf�G f�G"f�G$f�G&f�G(H�W0H��t*�t%H�V�
ɉ
�JɉJ�J(ɉJ(�D����f��Gt�H�W01�������ø�����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx���
;
Z

}
�
����.annobin_pcre_byte_order.c.annobin_pcre_byte_order.c_end.annobin_pcre_byte_order.c.hot.annobin_pcre_byte_order.c_end.hot.annobin_pcre_byte_order.c.unlikely.annobin_pcre_byte_order.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_pattern_to_host_byte_order �   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@
P`h
"p�(L.L8LT3@�0N�]�(X@�0w���(�@0�0�-wN� P�p�p0�@8��	p5P�/30             1573057005  1667  135   100644  104240    `
ELF>�@@! 
AWA��I��A�����AVA��L�AUM��ATE1�UH�-SH�_H��8dH�%(H�D$(1�H�t$�GH�4$��<�w?��HcT�H�>��f��Cf����HÀ;wt��CH����<�v�fD������N�E���
�{f����I(H��D�Bf����H€:wt�H9��DH9��;�����H�t$(dH34%(��H��8[]A\A]A^A_ø������f�H��H�XA���@����@H�C��f�A�
H������E��xE9�u�<w�[�CE��H��E1�����<p� �H���H����w�H���?�;������W�C�Sf��f����f9������CA�H���m����CH�Sf����A��C��<HB��CH���>���@<�H�{M��L��HE�D��D��D�L$D�\$�����������D�L$D�\$A�H��L�@�Bf����H€:wt�H�Z�B�����CA�
�H�H�������CH�Sf����A�E��t�C<�w&�CH�����DA��H�SE��t#�C<�v��?H�5�H���T���f��CH���F���@A���9����M��t%I9}�����L���@H9x�����H�H��u�L�$H�|$L��H���D��D�\$D�L$L�l$���D�L$D�\$L����^���A�H������f��Cf����H�����������0���D���(����fD�GD�GH�W��t&�<\t4<[tP<]t�JA8�t��H����u�1��fD��]u�H���f��J�y�@��w��BH����f��JD8�u�1��@AWL�Y@I��L�AVAUATL�%UH�-SH�Y L�A���th<u��<p��D���U<Fw��Ic�L�>��A�AI�Ic��DI���t�A��A��7w�A�A�<�v���?A�I�A���u���L9�s%f��H��f�����s��C�H9Y@w�[]A\A]A^A_�f�A�AM�q��<MB��q���f�A�AM�q��<MB��Q���f�A�Af����I����@I��L�q(L9�s<M�y��I��M9�s'A�Ef����L�I9�u�I�����f.�A�Af��D��D��M�L9�w�A�\5�I����A�A�A�Y�H�Y L�Y@L��q����AWI��AVA�AUA��ATA��UH��SH�H���fD�<L������v�����}���������x���������{���������v���������}tw=�tp���������P�������^���P���v����A�Gf����I�A�<w�M����H��[]A\A]A^A_�f�D��H��D������u���@�O�H���f����f�� D��C�D	�������u��@L��H�������H��H�������
uD���uE��������6���1��O����A�M�Z����AWI��AVE��AUL�-ATA��U��SH��H����D��x���������}������z��{���������v���������}�����������P�������^��������A�Gf����I�A�<w��A�|L������v���K=��H����OL�O��vu�I�A�	��s��w�H���TL��A�D��H�ډ�L�L$����L�L$����f.�A�Af����I�A�9wt�A�AI�y����v��������H���������H�A�DH���ƒ�v����������H�����n�����@E��D��H�ډ��(���������H��[]A\A]A^A_Ð�O�E��H�ډ�f����f�� D��C�	������������fD�H���������H�A�DH����@�u���uE��D�����6���H��1�[]A\A]A^A_�A�L$E���>���A��0���H���[]A\A]A^A_ÐATU�@S�Wl�=@N�H���?W��)у�c~NH��Hc��I��H��t?HcSlH�s H���H�C@H�{ H)�L�{lH�C@~�L�c 1��kl[]A\�[�]A\�fDAW��A��AVAUATI��UD��SD��H��8A���AF�H�t$��A��H�L$A�Ã���E������D�D$ E��E���T$$L�I��L�5�D$L�-9�s#�D�@A�A9�����9����ۍC��I������H�A������)��H�A�BI�D��P��t�H�L$H�t$�CA��H�=D�\$,L���T$$L���D$(�8�\$(D$L�D�\$,�S�����D$A�����E������D9���D�D$�ؿA)�A��f��‰�E�<A��������A��E4D9�v��C�9�w"H�D$H���t9����3H�|$H�H��8D��[]A\A]A^A_�f.�D�¾H�|$D9��f.�H�GA���H���ȃ���A����EA9�s�D��)؃�����D$��G�1��
���f���E�H9����ۍC��I������H�A������)��H�A�BI�D��x�I�x�A9�tO�:�ۍC��I������H�A������3��)��H�A�BI�D��xu�x�9�uA�у�A�Q9�s�D9D$ v7�D$ ��D9�wcD�D$ �U����L��E��E��I�ċ\$ D�������D9��+����ED9�r,D��E9�����A�����AF�A�����D9�r�H�L$�T$$L��D�\$(H�t$�X���L�D$D�\$(�����H�XH�����HÉ�H���H�|$��H�H����D�|$���E������H�X���A��������A���B�A9������H�D$H�����\$ ���f.�AWAVAUATUSL��H��E�H�|$A�����I��A��I��E��1��DH��D�A���tYE9�t�A�@9Cu]H�C��f�H��H��H�VH��A�<99t�H��H��D�H�|$L��D��L������D��A���u�H����[]A\A]A^A_ÐH��H����1���AW��M��AV%I��AUI��ATI��U��S1�H��E��D$E��uo�A�GA����D9�uf�I��A�WD�@��D9�t�D�J����u�|$E�A���L���L��L���e���E�G�I�GA���tI���E�H�E1��D���E���A���u�H����[]A\A]A^A_���OH�W�A�<	w�H���
�A�<	v���}tO1���,uH�J���}t:��01���	w0H�B�R�JЀ�	wf�H����JЀ�	v�1���}����AWAVAUE��ATUSH��H��H�A��A��D�PA�����E��tD��D�XA�� ��A��A��?H��A��H�h�E	�E��t[A�z�E1ۃ�Jw$A��L�G�sE������E��E1�H�+D��D�H��[]A\A]A^A_�fDH��H�h�E��u��E1����hA��tFD�pA����A��A��?A��H��A��A�����E	��E	�A	��DA��A����?H��E��A��D	�E��A	��t������H�WL�=Oc4�M�>A��DA��A�����}{�����E��0<	wH�}H�$���H�$������%���f.���D�xuFA��A��?A��H����A��A���A��E	����A��E	�A	�E	�����xA��A��H����A��@A��?A����?���A��D	�E��A��A	�A���D	�A	�E	��U���f��A���VH�Hc��:����D�@L��B�����`���� �7)�H�h��A�ʃ�`��D�T9�7A)�����A�����8H�
�9������x�9������x�9�}����x�9�o���H��E1�H���MA����`�F�T�7A)�H9�u�E���_A������A��(��=������I����@�8{���Q���@D�E�����H������DA�������%E1����DE��uGD�I��E�`�A��	v
�#�����X�<�I��A�|x�E�AE�`�A��	v݃���9���D�P�A��7�W����A��0�y�@��w_A���:�I��A�A��0<	v��=L������f��E1ҍy�@������E�T
��H�y�@���=H�hF�T��E������A��������3����DE��������8@��<��@��'��E1�@��{��E1�@��-u�}A�H���G�E1�<	v��DH��A�����TG��H�EF�LO��xD�g�A��	v�E���KH��E����E����A9���������H���H��0��	v��=H�����f�A��@t�����A�����E1�������{���H�=I���T��`����A҃��7�HA)��:L�HA����`�pE�T
�7A)�L��E���V���@A�����DH���:����H��}�ZA��H�h�E1ҁ�����E1��M�A�<�8H��E��u��0t�F�T��D9�s��@H���E��0<v��"����A����A�J�A�R�H�Ń�DB�A��@����HH�h��}��A��H�=E�E1�A���A�������0u"E1��MD��L��B��>H��E��t�A����`v2E�T�7A)�E9�s��f�H���E�u��"E1�����Aƒ�A����7��Aʃ�A����7���A�� �7�M�����A���r����V������}���P���H�������xL�`@����@��}��D�O�A��	v@��-u,I��E�$E����A��}��E�i�A��	v�A��-t�A��J���A���A����7�t���Aʃ�AɃ��7������A҃��7�2�����}���OE1�����VE1����H��@��}������9����H��A��3���A��(��=������E����������E��t
H��@��}u��:���A��D)�A��A��E���R���A��(��=������E��������IE1��P���I��E1����I�������L�2���A�� �%���A�C�������A������D�I�ȉ�A�H�GD�I�A��@v7A�@�y�@��j�L�
@��Ic<�L�>��D����T����G����:����-��D�Q�D�I�A����A����A��A��@�ǃ�0������!�A�H�DH�P ��pu�f����H�T��2�N���w1�H��H���3�����r��H��H��H��H)�H��A�p�fD�L�H��	��A�P�@A�@L���1��DD�Q�D�I�A����A����A��A��@�ǃ�=1Ҁ���!�A�PA��A�Ӆ��Z����N�x�� ��p��������?H����	։�����	��D�Q�D�I�A����A����A��A��@�ǃ�W������!�A�H�8H����A�8���DD�Q�D�I�A���.A���$A��A��@�ǃ�J������!�A�H�A���υ�������}�p�� ��D�H��������A��?H���Ɂ�A	ɉ�D	�A�H���V���2A�P9���A�@�����A�UH�GA�y�@��A��A��1�A��@��D!�A�xA��;�\���w!A��!tpA��.�����.����A��H����A��U��������D�Q�A����A����A��A��@�ǃ�#1Ҁ���!�A�PA�������pH�H�<�1ҋ4A�tH������H��u��PA�P�@A�@L���H��A�PA�@������H��A�H�����������������H�5��Hc���΃����H�5Hc��4VH��|�ω��q���f�A�H�{���DA�@����������?H����	�����f�����?H����	��-���f�A�@H���+���������ɍL	�u���fDA�!���DA�.����DA�;����DD�P������A��?��H�������A��D	�A��	�D	��U���1�f�z��H��A�H���f�D�H������A��?��H���щ�������D	Ɂ��	�	��#����1������DA�L���D��D�X����A��?��H�������A��D	�A���A��	�A��D	�D	����f�A��D�P������H����D�ҁ��A����?��A��	щ������	�	�D	��c����x����H����@��?A����?A���A��	�A���A��	�A��D	�D	�D	��������H��A�����P������@A���A����?A��	щ�����?	�	�D	�D	�����@f.�H��H�5����w#��~s)��rL��v��vu:�H�����vݍJs��v��f��Pf����H����wt��������AWI��AVI��AUA��ATE1�U�����SH�H��(dH�%(H�D$1�H�L$������H�L$�Pv��v��{�<w�L��&����0�V�n����Hc�H�>��f.�H��E�����@�����A9�uqA�Gf����I�A�<wt�A�.�XDH��E��tG�@���u�A��1����1�@��}H�t$H��������T$��x���tEA9�u9�t�@E1�H�L$dH3%(D��u,H��([]A\A]A^A_�A�Ľ�Z�����A���M����f�AWA��AVAUI��ATL�%UH��SH��HdH�%(H�D$81��A�H����H9��)H��H�D$ M��H�D$�<}��<u�V�Pn����<����Px����P���Z<��D�KD��f��f������D�D�\$I��D��L�t$M��I��L��L�D$L��D��L��H���������nI��D�\$L��M��L�t$A��fA��E��M�A��w�E�JD��f����E����Cf����H�D�A��wt�Mc�C�<H����H��H9����@�H�t$8dH34%(�BH��H[]A\A]A^A_���Cf����H�D�A��wt��fDD�KI�E(I�M fA��E��I�H����I�u@H9�s@H�{H)����f����9�u �i���f��f����9��N���H��H9�w�A�Af���7���L���f��Bf����H€:wt�I9�wA�uH9����M��t&M9N�ZL���DL9H�FH�H��u�L�L$(L�t$ L�t$L�t$H�\$L��M��L��D��H��H���>��������Cf����HÀ;wt�1����f�D�KE��fA��fE���i���E��I�E�<������A��w�����L���$���@A�H���Cf����H�D�A��wt����|$w�u���f����H��]��f�����D�D$�D���A�A���fD�P����w:H�5��Hc�H�>��H�\$L�t$f.�A�u�u����SH�D���e���D��E���X����C<��L�����?H�5�H��6���D��E���)����C<�������D���CH�S��<HB�����D���CH�S��<HB�����H��2�N����^����H���3�L������>���f�z�5����.���fD�Sf����H�H����AWAVAUATUSH��hH�H�T$ H�|$�PH�hH�L$(L�D$dH�%(H�L$X1Ʉ�����{���T$0�D$1H�D$D�%1�L�-H�(H�D$0H�D$D9�|�����E��A9���A�H�|$�Hc�I��H�@M�|EH�A�7H����u�A�GH�L$ �A�GH�L$(��H�L$XdH3%(��H��h[]A\A]A^A_�D�P��^t1����}���T0H��H��t�UHc�H����u�f�H�D$�.H�D$H�(1��f�H�D$�/H�D$H�(1��f���fDA�^�����H�h�P�n���D�D0����f�AWE1�AVE��I��AUM��ATI��UH�-SH��H��h�t$L�D$dH�%(H�D$X1��<v��<w��D��<��<��9<x��<{����L�L$0I�V�t$H��L��L�L$��H��H����A�$�T$0L�L$��������
��n�h��n�_�t$��u��o����o�}�H��������%�����H��H��H�HȀ<���D$4�����������Cf����H��<wt����fD<��(������n<������CH�{�P��v<�����Gf����Hǀ?wt�A�ED�T$��th��L�D$�t$H��A�EM��L��L��������tBLcT$H�B�H��<v�>����H��!����A�E����@1�H�t$XdH34%(��
H��h[]A\A]A^A_�A�|$��t��CH��f����H)����}����D������E�D$1�E����듐D�[H�A�B�fA��E��I�H�A�;w�p���A�E���T���M��H�߃�L�D$�t$M��A�EL��L���������(���A�GI�f����I�A�?w�����H��A��
���D��n�8�L$���#�T$8H��H)�L��
�	ws���"	v ������	�����I�FH�q �}@�������I�FH�y H�P@�f�H9��z���H��H���B��q��Ѕ�t��\���@��owC��n�����A���I�FH�q H��
�H9��*���H��H���Q��P�t��������p����H�D$L9ʋRHD�H)�H��������������H��H�q �f��H��������o����A�D$H�L$H)���L������I�L$��M��L�\$M9�L��9H�\$M��M��I��LD�H��M�ݐ�P���j�d���HcT�H�>��f�����D���v*��( ���3���H���;�����A�$���
��w���������������A�T$����H)�A�D��s�����@���w���fDI�T$A�D$�@H�����������9�u���l�������I�T$A�D$�@H�������A���9�u��h�������T������� �E�������	�����1������������ ���������������������f����������:��
�����������DA�D$L��T$L�L$(L�D$ H)�H�v�L�D$ L�L$(���d�����������L���I�F�8�>����i���f�����T���I�F�8�����A�����������I�F�8������!�����������I�F�8����������������I�F�8����������������I�F�8���������E1ۃ��WA��A�Å�H�5A�L$I�A��A����Hc��B�4��D)���H�5A�|$	Hc��VH�5L���Y���A�T$H�5Hc�H�>���=����J��.���9�A�L$A�ƒ�@�ǃ�L��A��N�AH�
D��A��L��t$�t$8�41@�����L�Ic�L�>��A�rH�H���
f�H��9�t@�
9�v�E1ۃ�A���.A�RH����������_��	���D9�A��E��E���?����j���f.���t����� t������tǁ��t����t�A�RH��<�����D9�A��E���A�RH��������A�9���A�B9���A�RH�9��A�R�B�<�����3����N�H�5Hc�H�4��������A�L$�>1�9�t�~9�t�F9�������	���9D$�s����k����N�H�5Hc�H�4����N����L$<�>1�9�t�~9�t�V9��ƒ���	���A9����������������A�L$�T$<H��H��H)�H�H�BD8�������f.��������L$<A�T$�9�����������������D$<A9D$��D1����؉�D!����΍N�H�5Hc�H�4����h����>E�L$H�
H��H��H)�H�<A1�B�<�����~Hk�H�B�<	������FD9�����N�H�5Hc�H�4��������>D�L$<H�
H��H��H)�H�<Q1�B�<������~Hk�H�B�<	������VD9����fDM��I�I������( ���e������������������H����s�����/ �d���wb�� ��
�#����N���fD��	�����:���f.���/ ��vB��_ �����0��������D��_ ����0���������� ��
���������@I�VH�y �D���I�FH�y H����0����I�FH��@���H�D$L9ʋRH�q HD�H)��N���H�\$M��M���h��	���*���������) v)��_ ������0�������/ ����������( ������� ��
��������@f.���L�L�L�
����t{��pt|��|���Av<���A{<vy�A�<Fw#��Ic�L�>��D�GL�_��<IB�Hc�A�HDž�t�����7w��G�<�v���?A�H����u�1���Gf����H��e���D�Gf����9�tQA�H��D���@��x<�H��-���D�GH��m���@�GL�_��<IB��S���f�H���f�f.�AWAVAUATA��USH��HH�H��$�H��$�H��$�H��$�H��$H��$�H��$�L��$�H��$H��$�D��$�H��$ H��$�D��$�H��$(H��$�H��$�dH�%(H��$81�H�H��$�H�H��t
�Ѕ���.I�E@H��$�H��$�DŽ$H��$0I�E H��$�H��$8��$����?���$�u@�G1�f��$�f�$f����f��$�I�EH��$H��$�H��$�I�EH��$�E1�H��$�DŽ$DŽ$�M��P1�H��$�fD�^Hc�E�EpH��$�L�4H��$�D�$$HD�D��$�D��$�H��H��H�T$(H��$��L�t$0HDŽ$����H��HE‰�$xH��$��������$���$�DD��$�E��t��$�A�GpD��$�E��t0H�D$0A�|��$�H�pfD�H���@�H��$�H�D$0�$L�t$0DŽ$�H��$����L�t$@I�W ���D$l���D$W�t$W�|$H�lj�$�1�%��@�ƃ��D$h���|$tE1䉄$��������$��D$P�D$X�D$8�D$<�D$LDŽ$�H�D$`�D$DŽ$�H�D$ �D$pH�D$H�|$(IcGl�BH�L�I9���H�D$@H�t$(I9ƋLB�L��H)���)�H�H9���H�D$(ʉM���9
L�t$@L;d$0��������\�P�t$p����	�$���t��(�L��$�A�}?��H�|$ �c1�H�|$�:��|�
H�5��Hc�H�>��fDH��$�M����3�D$P�D$xA�����E1�D$�D$h�D$<�D$l�D$L�D$X�D$8L��$������E<(��<+�H��A�E1�H��$�A�$<u�$�P��{<���؃�<�N"A�D$A�T$�4E���<
A�E��� A�����A���t"A��'fA��M�t$E�$fE�\$�L$H��t����A�M�f���t
A�$I��A�T$�E����	H��$��0�V�S��	H�
��Hc�H�>��H��$�H�PH��$��P��*�OI�w@H��I+_ H�\$`��?�N�$�^A�GpD�hD��E�op�<$���E1�A��A�FA�GpA�FA�����A���=��@JE�e�A����E���E����ALJ�H�D$xE�.A���A���H��$���E1�A�opL��$���$�A�E�H��$�DŽ$���A��H����$�AWH��$�PH��$�PH��$�PH��$�PH��$�P���$�PQH��$����H��P����"A���A�����A����H�|$(������L��1�D�B��f����H€:xu�A�~�H��$��1���gW���56�})�&IL��$��|$���$���$���>����N����N�|$�L$LDŽ$��|$P�\$8�|$L�D$8�t$<��$��L$LL�t$x�\$X�|$l�t$h�D$<�9�M�f�$�b�|$�u
������D$P�D$A�H��$�E1��L��L�mM��I��L��$��m����H�|$��!�I�W ������H�D$H�|$(H�D$H��$��(IcGl�����H�I9W@����H��$�L��$��4�H��$�L�1�H��$8dH3%(��^H��H[]A\A]A^A_�f.�H�D$(L��$�H��t%���L��H+L$@)�H�H9��*H�D$(ʉ��$�A�Gp9�C�H��$���$��CA�:|�I/H��$�Hc�$���$�H�H�DH�D$0I�Z�{����$M�f����A�E1�H��$�������H��$�H�=I�W H�hH����������a�H�=H�����������I�@H)��PH�|$`��=w4H�@$H��s$H��$�H���M�������RH��$�H�hE1�H�H���)f.�E�����^�A�H��H�vH��$��X��\uЀxEH�pt޹H����������}\H�p��H��$�M���?-�D$PA�E1��D$xL��$��D$�D$h�D$<�D$l�D$L�D$X�D$8���`����EI�OH�UI���L��L��$�E����1�<#�H�BL�b��t5���H�U8����
I9���
A�D$�T$HI�����d
��u�H�M�
fD�|$�����M�f���EljÉD$I�G@I+G �$�\$PH�D$`����A��D$8H��$��D$X�D$L�D$l�D$<�D$h�4���@H��$�M���,A�����A��D$x�@���fDA�����B�]��$�I�W@I+W H�T$`�L$H�$�����B���;��$�с��v��$�� �O
����?��	��H�5����H�Hc�����Hc��SH��T�����	A�	�|$�A�VM�ffE�.H��$��'���������D$P�D$����DL��$�A�OpE1�H��$�H��$�D�$H��$�H��L��H��$����E�M��E���������$������|$W��H��$����fDH�|$ t2H�|$(u*H�\$ H��$�I+G0�{��f�|$ f��)�f��f�CH�D$ �$@t7H��$��v���1�L�t$ fA�6I��H��I+W0��A�V�I+G0A�F�fA�~�@��$������|$W��H��$��G��<��H��$H��@H��H��H��$��
�B)���J����t�I�W@I+W H�T$`�$����������D�{���v���L��$��@fD�Pf����H�H��$�f�L��H)�~&���u�jH�
����W�D�D$xH��$�E1�A	�����DH��!H��$��f�H��\$H�2H�H��$���t��P�����u�����?H�
�H�H��$��W�����X��K�r��B�Hc�H�H��$��&���fD��m���fD�Eփ�v	��?�����DL��$�A�E<E��L$p������<Q���$�����I�O��L��$����I�U�H��$��2H��H�RH���1u�#��I9��;��(���H�\$0L��L��L)�I)�H���M)�I��L�t$@����L�t$0L�t$@���f���{���L��$�A�E��0<	���I�}��������I�mE1�� DC�T�H��D�lP�A�����%�E�PЀ�	v�<}�I$�EH�UE1�<}��H��$�H��A�������D$x�L$xH��$�����U��M���v&E��D$8DD$X�D$8�D$DD$P�D$�D$<DD$h�D$<�D$LDD$lE9݉D$L�DD$x�D$x�{�f�C��H��D�\H�A������'��HЀ�	v�H��$�E9���4�H�ՉD$x�E���@��$��G����u�$��$���@���A�v���E1�L�t$ 1�H��$�fE�I��H��I+W0��A�V�I+G0A�F�fE�n��]����M�fA���t#1�H��$�A�LH��9�w�P�M�d��$��
tr��
tm�T$tH��$�����@��	�|$����D$�D$P�D$8�D$X�D$L�D$l�D$<�D$h�����D$tA���D$8A�D$��D$<���A����A�}#�q�I�EH��$�A�E��t!<)tI��L��$�A�EI����t<)u��WH��$�L��$�����@���P���D$8�ى\$L�D$X�D$<�D$h� A����D$P�����D$8�D$t�D$A�D$��D$<��fDE1ɀ}?D��$��^�}#�T�H�EH��$��E��t%<)t!H���<)tH��$��EH����u��)���H��$��E<+���@<?��
H��D��$�E1�H��$�A�$<u���A�$���xI��H�|$(fA�$fA�D$A�D$fA�l$A�D$A�D$A�D$DŽ$�	�A�$�P�����P�1�w
��H�
�,�D�D$HA�^�E��t�ڃ�����A��~<w�D$tA���\$<�D$8��������O�@�P�����E���{���E���zA�����"A���^A��h1�E�fA�VD�����xDI��A�$�ƒ���t��X����D��$�H��L������T���Hc��fDI�H�MA�$��L��1���L�b�B��f�Hc��H)�H��I9��	���8������t�A�D$:������DE��I��H�j�L��$�H��$��������fDH�|$(�D
H�D$ �q���fD��$���������?�ҁ�	׉�	����f�A���nD���)M�t$f��A�,$fA�L$E���DE9�����t$H���_A�\$I�L$���t	�H���Q�E)�A���� A��'fA��L�qD�fD�Y��H��$��8w�/
D��$�E����
L��I�^H+�$�A�:|��H�\$0�|6f��A�wfA�F�D$8L��$���$��D$L��$���$��D$<��$�D$L��$��\�I�m�D$pI������#���L��@H�xI���H��$��@�/�H9����L$HH�WH��$��G���;
H�ׄ�tGA���I�W8��u�Ic��H)�H��H9�w�A8��u���t
A���8Gu�H�H��$��#I9����H���(�M�@D��$�H���H��$����Y���Ic�����D$8�D$X�D$<�D$h������D$8�D$P�D$���f��P���
�TL��L)剬$�<��?<��CE���6Hc�A���%A�L�D$`L��L�狔$��I��D��$D��$��=���I�L$H��L��H���D��$�D��$E1�H��A�B�L��$�H�\$`A�$I��E����E1�E���1A�C�����tHc�A�r�@��$XH��$��@��$H�w@��$�D��$`L��$PL��$�L��$@A����$HI�o@I+o A�E����/H��$@I�VA�F�H����,H��H)���H��$@I��A�v�A�F�H��$H��$PL����fDL���0���A�$����IcGlH��I�w H)�I�W@H�D�H�H9�w�H�H�H9�sZ��$X�p��H��f�����$�E����-���"�S�I�G@�PI�G@H�PI�G I�W@H�H9�r�A��L�$H��A�������L��$@D��$`��f�<��T9M���`�I�G@I+G L�t$xH�D$`�m�f�A;oprA��A��wA���H��$��})��4H�D$(H���x���$�����)�9��]:H�|$(�A�FM�fA�FxL�t$x�H��$�����A�E1�H��$���@�|$�u��~�����D$��������
���IH��$��P��<@�ƀ�'��@��t	��{�jCH�hH��$��@<<�-�\$<'A�'�}DE؉\$P�\$8�\$X�\$L�\$l�\$<�\$hH�EI��H��$��E�PЀ�	��?I�w��H�E���DH��$��H��H���u�H��L)�H�|$(��������AD8��B�� �uAE��uA���H�|$(A�����P���t���A�G`M�gP����<D�h�1�Hc�L�|$xI��L��$�A��I��D�L$`M�M��A��L���DI��M9�toE;l$u�I�4$H��H�����u݋L$`E�t$���j8H�D$xH�@HH��t��PD9�tDH�H��t��PA9�u�I��f�P
M9�u�DD��D�L$`L�|$xL��$�I�G@I+G H�D$`E���~I�_(A�uH��I+G(M��DŽ$���A�FI+_(I�FA�^H��$�I�ƃ|$�L�m�@��D$�����3�fDD��$������A��?���������D	�	�	��Z�I�m�D$pI�����D��$�E1��+�A�$L�D$`L�����$�H��$�I���f���H��$�HcӃ�H�~�H��$�����f��A�D$�xfA�D$�H��$��xH��$��X�7���PI���:��	���	I�G@I+G H�D$`�$����<$1�E1�A�����H���\H�D$H�H��$����fD@��$����fD��]��A�����M�fH��$�f�L��$�H�D$X)�$�)�$L��$pL��L�t$D��$|D�l$pDŽ$��D$h�D$xDŽ$DŽ$��y@H��$��G��\��<E�;H�GE1�H��H��$��X��u%M���,.I�~H��$�A�^��� .E1���]@��D��;)H��$����vK�|$WtDH��$���ށ��v/�J�� ��H������?H��$���	��I9�s&H�|$(H���hEL)�L��$�DŽ$�E��������[����\�qA�OpH��$�D�$A�H��$�H��H��$�H��蹵���}A���������#���
(����:����'�����|$xA�Q�I�GD�W�|$h�o���H�5Hc�H�>��fD�����������H�WfDH��$��H��H��������t�����H�hH��$��H�Q߀�[��$H�=��Hc�H�>���H�H��$�L��$�I9����#��4��K�H��$�L��$���-�DA�����M��A�����A�K�A��'A��I����E�V�A�N�E�^��Y�DA��!M�t$E�$�B�fD��L��$�A��t1ɉ΃�A�<0A�<69�r�M��+�@H�t$ H��$�H�D$ I+W0�~��f��)�f��f�V��DH��$�M����R�f�H��$�I����:�f.�f�M�fH��$�L��$�H�D$X)�$�)�$������I��H��$�����D��$���x5�\$9�u�\$L9�$���D��$�E����DŽ$������l$�����\$8���x��$�D$<�D$�D$8��$��D$��$�3D$8��u��$9\$L�I$��$�D��$��D$8�����D$LE���'�4$A�E1�1�H��$�L��L�T$�������L�T$����8���5A9Gx}A�GxH��$�f��f����f.�H���\H�D$H�H��$��"��fD�D$t�D$P�����D$��I�G I�W@H��H9�����B��J���	�I�D$I+G(Hc�H9�����A�b�I�W@�A�B���@�|$H��t����A�\$I�L$���tA�D$I�L$A�T$A��!L�qD��Z��fDD��$������A��?���������D	ʁ��A��	�A��	�D	���D�4�^�fDA����A����$#A��h�D��E���fA�~A�VM�fA�F����@���fDA��%M�t$E�$���fD�'H��$�A�>I�w@M�G H�oH��$��<DE��G�PՁ�t��0��	�6�WH�G�JЀ�	wfDH����JЀ�	v�D8���6H��H�oL)�H��$��OH�D$`�D$�D$P�D$8�D$X�D$L�D$l�D$<�D$hD��A��+��%A��-���E��0<	��H�EH��$��U�JЀ�	��-H���hDL��$�A�������L�t$xA��}��DŽ$��D$�D$P�D$8�D$X�D$L�D$l�D$<�D$h�D��@�A�<	��4H�E1��DH��������H��$��P���H�ōLJ���z�@��	v�D8���,A��-��A��+�o'I+w H�|$(H�t$`I�_(�G���A�����H����%f�{�'���D��$�E������D��$�H��$��H�}H9�w"E1�L��D��L����������H�mH��u�H��$��(�L��$����L�XL��$��PH���s&H���H��$��H��H�@H��u�A��E)�@��:��H��$�HDŽ$�DŽ$��M��)�`4L�%1�1�H�l$xL�-L��$L��$@M��E��M��M���@��M�t.��	�w
A�EI��Hc�A9�u�H��L��L�����u�Hc�H�L��$H�l$xH�[L��$@H���X�����2D��$�E���[)�X����8H�D$(A�I�N��H����5��$�8A�F�L�qH��$�L�m����0����/�����/A���E1����A�|$����E����H�\$`A���\D��D��HDŽ$�D)�E��O�A��E����A�F�A�V�I�n�I���	�H�I)�E�#A�D$<�aE���XH�|$(A���Z#A�<��
<����M��A�A�F�{H��$�H��t��A����������D$�����E��L�E����(
���
�E���H��$�H�H�L�,�H�~H�|$I�m��D$�D$P�D$8�D$X�D$L�D$l�D$<�D$h�1��@H��$�L�m����A��M�f����
�|$�A�H��$����D$�D$P�D$L�D$l����D��$������@��?����?���A��	�A��A���	�A��	�D��A	�D	����������A��H��$�A��D��t1�����D�d=E�$>D9�r�L��m�f��������I�G@I+G ��H�D$`�D$�ىD$P�D$8�D$X�D$L�D$l�D$<�D$h�\$������I�v���EÉD$�$����qA���f��fA�F���� M�A	��A;O|��H��$�I�GHL�mH��u�fDH�H�����P9�u�M��I��f�x
�u��A��hfA��1�1�E�fE�nA����t������@L��$�H��$�H��H��$�H��$�DŽ$�DŽ$��j���������I�G@I+G M��H�D$`1�����;�$���I����A�F���$�A�F���$�A�F�H��$�L�m�]���fDH��$��U1�� ��Hc�A����A�L�D$`L��L����$��D��$@M�l$D��$I��D��$�����I�L$H��L��H���A�D$H�\$`D��$�D��$@H��D��$A�B�A��A�$��fA�D$I��E�����H�t$(H�������$�����H�A��Mc�I�Ã�H=��������)�9����H�|$(ЉM��M������f.�L��L��M�fL)�HcЉ�H)���Qf��f���df��A�xfA�Ff�A�W��fD��$���$���$���$����A��fM�fE����H�\$(H����%A�E�Hc�$���H�H����H=�������)�9����H�D$(�H�\$`��O���<��
A��yM��E�V������$��D$�D$<�D$L��$�D$<��H��$��$@��3��G@<\���E��H�G��H���8EugH��$��PH�ǀ�\t�
t[��
tVE1�-ti�D$h����$H�|$XA��A��H��$�L���V���D$xH��$�H�x������
tE1�
u�A����WE1�-u�@H�OH��$��W��\u7�W��E��H�G�H���P���E��H��$��H����\t܀�]�_.���W.E1�t$HD�ʅ���D��$�A������� �'�AA��H��A��H��$���?A	�D��$��@�$�D	�uvH��$��x]�&(E1��D$h���f.���$�H��$��G<\�=�����
t��
uA���E��������|$hA��b����D$h�X���@H��$��G<=w5H�@$H���|���H��$��g������WH��$��G<\������N���fDA�D$���f��M��A�D$�xA�t$�f�AI)��I�������@<\�Q����E�p����9���f��z��u/����?��H����H��$�	߉ˁ�	���fDD�B�����A��?��H���������H��$�D	Á�	�	����I�v�@H�����<�t�L��H��$��D��$H)�D��$��Ӊ�D��$����D��$�D��$�D��$��A��#M�t$E�$���fDH��$�E���D$x����f���Q�*H�AH��$��Q��\�)�yEH�q��D$H����A�\A�D��$�E��uA��\�%A��[��#D9���+����A��
�A��
��H�|$X�$A��L��H��$��Y���D$xH��$��D$hH�x���@H��$�I�G�:H��$h�W)H�G�D$pH��$��^H�D$u$H�G�D$pH�D$H��$�DŽ$H��$��E1�L�
D��$HA��H��H+\$H��$@��L��$PM��L��$XH��M��L��$`A���'DI��H�A��F�,8M�tE����(A��D��A9�u�H�|$H��L�����u�D��$HL��$P��L��$XL��$`�����$���$ �)�D$pH�
�؃��H�H�<�H����L��$@H�G�I���N�fDALJ�����H��$�I���	���f.�A��%L�qD�����H��$�L�L$x�<�X�������'�})�(L��$�L�t$x���A��bM�fE�����D�$$M��M��M��M�vL��D��$H+�$�A�xf��fA�GE��tI�EHf�x
�}H�I�EH��$���$�A�EpH��$�L�0H��$�L�H��$�H��$��$��H��$ ��$�H��$(��$��H��$�H�������$���)�9��H��$��1��.����E���I�G@�0I+G M��H�D$`���'�|$W��
�fDA�wx�����A�Gx����H��$�I������f.�H�U@I��H��$�H�RA���0<	v�H��$��=�k��H�|$(�%1�A�G`M�oX�D$x��~dHc�D��$���1�Hc�L��$�M��H�\$`H���M�eH��L��L�����uH�D$`A�|��IcGd��I�9l$xu�H��$�L��$������fD��D�J�
��A��?��H���������H��$�D	ˁ��A��	�A��	�D	���A�MD��$�I�G@I+G f��L��$�H�D$`��E����*A��������Icwd�|$x�EI�\59�����A�L��$�I��)�L��$�I�݉�$��D�͉D$x��$@���M�9���I�uL�����t�A��L�닌$@L��$���$L��$�A���
�D�L$x�|$�����M�V���E�f��fA�n�D$�$����sA��D$xf��fA�FL9��M�OHIcWdA�A���fDA�ED��f������f�� ��AC�	�A���A;O|~A�O|M��t)A�A9�L��u�|@�p9��lH�H��u�I�I9�r�H��$�M��M��L�m�:�����*A�H��$�����f.�H�BH��$��JH��$���)������H�BH��$��H��H����t��)u�H��H+�$���$�=����H��$�I���K���f�DŽ$�����DŽ$������})���|$�L��$�L�t$x���DŽ$��D$8�D$X�D$L�D$l�D$<�D$h������D$P�D$����D$A��D$P�D$8�D$X�D$L�D$l�D$<�D$h����DA�O|�/��A��L��$�A��D��t1�����A�,;A�,>D9�r�L��1��H��$�ʉ����f�A�L�D$`L��L�狔$��D��$@I��D��$D��$��$���I�L$H��L��H���D��$@D��$�H��D��$E����A�$�M�����H�|$(�tA�;���A�Cf����A�<wtA��E���:�A�L�D$`L��L����$��L��L��$�L)�M�f�x���L��$�HcӃ�I�{L���L��$�A�;���f���D��A�A�F{fA�^fA�[��I+G E1�H�D$`��A�H��$�I��L�m���f.��r����H����@��?��H��$���?���A��	�A��A���	�A��	�D��A	�D	�����$����M�D��$�E���<��|$�t$8�D$8�\$<��$�DŽ$��|$P�|$L�t$X�|$l�\$h�D$<�q���B�����D�T$pE����D��$�E��uH��$@�x]tgH��$���T$H�HH��$��H��$�������H�$�H��$���T$��H�$�H��$�H��$@�RH�H��$hHc�Hc��o,)�$�o|�H��Hc�H�)l$��)�$ �<����,H��$��y�߃�����u��$D�D$pE����H�t$XH��H��H�� f.��H����H��H9�u�H��$@�D$h�D$xH�CH�{���A�)A�����A�)��E1�H���<$1�A��H��$�����'H�EH�D$xH��$��E�PЀ�	�DI�O��H������H��$��UI��H��H��u�D��+l$xA�pH�|$(��$@D�o��
@8��{ E�g`A��'�O �EA;Gd|�EA�Gd�� �P"I�GPH��$PH��E����	Hc�E1�L��$HH��$��$E��L��$�%��$�DE9��}
A��H��E9���	D�{9ku�H��$�H�3H�|$x���u�E9�����$����H��$�ǀ��H���<$1�E1�H��$�A�����A�vH��$�H�hH��$��P�JЀ�	��H��1�H��$����P�H��H���TJ��H��q�@��	vـ�)������[H��$�I���&�F��H�hH��$��@�PÀ��<<�� �>����H�hH��$��x)��H�|$(I�_(����A�1���ALJ�A��i���H�PH��$��x)��A����<$1�E1�A�~����P��!����=��I�O��Z���L�HH��$���e��DH��$��x?��A�F�H��$�H�]H��$��E<R��<<�<'��PՁ����P�E1�	��1�H��1���H��������V��H��$�H�ލTP���HЀ�	v�H�k�1�A�����E1���H���<$1�E1�A���A�}H��$��ɿ������A�Gp��)ȉ����kI+w H�|$(H�t$`�N��A�I�(��$��ʉL$x��L$xH��������i�T$��$�DŽ$��D$P�����������D$8L�t$x�D$X�D$L�L$L�D$l�D$<�D$h�Q����I������H��$h������@�o��)�$�o��)|$)�$ H��$hH��$H��L�B H�f.��H���� H��I9�u��X���1�1��R��A�GD��L��H��$���L��$0L�$��L+�$8H���d���L��H�{H��H)�M�w	�I�G��L�$H)؃�$�f��f�CA�GxfA�GI�EH��A�A�\DŽ$�\���H��$�H��$�DŽ$�DŽ$�f.��EL�m<)��<:��L��$�A�E���-<Kw|H���Hc�H�>��L��H�����
DL����
���
���
���
@���
����
A����DH��$�I����¿��H��$��H��\����~Q���H�FH��$��V��\���H���~�E������f�h
��f����"I�G@��$�S��PI�G@H�PI�G I�W@H�H9�����L��$@D��$`L�$��M��I��銾��D�D$L��$�	|$8�D$<��$��D$L����D�D$L�D$l������D$�D$P�6���fD�D$A�>�D$P�D$8�D$X�D$L�D$l�D$<�D$h����DH��$��\��H�GA�H��$��_���-������A��dM�fE��ٺ��I���O���H��$���G��f.�L��L��$���$L��$��b�H��$�L�t$D��$|L��$pL9����\$��������EӉT$��$���$���$ ��D��$D��D��H�H��E���2�|$W�'D��$�H��$��A�pE���*D�D$x�Ѓ�E����A�FL��$�L��L)�f��fA�F�D$H��$��D$p�D$P�D$8�D$X�D$L�D$l�D$<�D$h�_����\$�����D��$����EӉT$E������H�\$(H��tYL)�D;�$����nA�M�f!�DD��$H�HE��t�|$Wt�$�� D	��D��D������D;�$����nA�E���fo�$�ANfo�$AV���DA�V�|$x������A�NH��$�L��I�~$L)����$���u@��tH�D$XH�P �H��H9�u�fo�$�A$H��$�fo�$Ad$L�` �t���L��$HL��$�A�_hA9����Hc�H���H����IcWhI�wPH��H���A�hH��~H��$�I�P�H��$�A�GpE�g`I�OPA�_h��$@Ic�H�\$xE�\$H��H�D�hD��$@H��hA��E�_`H��$�������C���H��$H�$hH��L�B �1@0H��H��I9�u���H�UH��$��E��0<	�ZH��������I�~$L��A�VH��$�L)�����D�$$H��$�M��M��M��I��f.��Af��f�Qf����H)���f��u�D$L��$��D$<��$�D$��$��D$8��$����H�\$XH��H�s D�
H��H��H9�u���H��$�L��$��@鮹��A9Ot���IcGlI�w I�W@I�_(H�D�H9���L���L$x���H��$��������I�w(I�W@�L$x����$ �T����H��$��A�pA�V����L��$��&��I�����A�����D��$HL��D��$�D��$�L��$D��$@��Cf����HÀ;w��E1�L��D��H��H���Ś����t�L��$D��$�D��$HD��$@A��E�#E���`����A��������k���H��$�L��$��R�C���H�D$XH�P f.��H��H9�u�����L��E1����H��$�I��������$������AOp����E�a���H�GH���Z��H��$�L��$��A鯷��H���<$1�E1�A���A�H��$��δ��H��Hc�I�FH�H��H)��
I�W@I+G(�BI�G@�Z��H��$���H��$�������H�$�H��$��1҉�H�$�H�H���D�T$H��$�L��$H�|$XL�����H��$�D�T$�l$hH�xD�T$x�Z���$H�|$XL��D�T$H��$�A�����L����D�T$H��$�L�돋$H�|$XL��D�T$H��$�A�����L�讃���p���A�A�H�L��$��l$hH�H�<�H�G�����H�|$XH��@H��H�w �H����
H��H9�u�H��$��l$hD�T$xDŽ$H�x�w��H�\$XH��@H��H�s ��
H��H��H9�u�H��$��l$hD�T$xH�x�4��H�t$XH��H�� ��H����
H��H9�u��k���H�|$XH��H�w �
H��H��H9�u��H�\$XH�H��H�s f��H����
H��H9�u�����H�t$XH�H��H�� D�
H��H��H9�u��;���L��$�H��D�L$H��$�H��$�H��$�DŽ$�DŽ$�薛��D�L$������1�A��H��$��l$hDŽ$���;�$���H�J��H��$��H��$�H�PH��$���$��H��$�H�PH��$���$��H��$�H�x�������A���I��������)�21�A�VH��$�E1�E1�I+G0L�t$ I��DŽ$�����A�F�H��$�I+G0fE�F���A�F�H��$�L�m�)���H��$�L��$��鉳���}&�u�H��A�����H��$�A�F�H��$���PЀ�	��I�W���H�kH��$��C��<H�CDH��H��$�H�@�M�
u�A��A)�H�uE���
H��$�D8m�1��$xH��1ҿ����H��$��>)�:H�|$(�m�<$E1�A�����H��$P�z���D8���
H��$�I����v�����$��t$DŽ$��L$L��$���$��t$P	Љ�$��5�\$�L$LDŽ$��\$P��H��$�I����
���L�|$xL��$�I�G@I+G H�D$`�����|$8��y!��$����D$<E|$ED$L�|$8�D$<Hc�D��$X��H��$@H�D$`DŽ$D��$hD��$pL��$HL��$�D��$PD��$�L��$�A��H��$`H��H��$@H��$HH��$�I�_@I+_ ��L���y��A�$���\��IcWlH��I�w H)�I�G@H�T�H�H9�w�H�H�H9�s9f��UH��f��D�0�U�I�G@D�PI�G@I�W H��H�I�G@H9�r�H��$@��$H��H�$���$;�$P�3���L��$�D��$XH��$`D��$hL��$HD��$PD��$p�q��DH��L$pDŽ$���H��$���H�pH��$��H��$�H�HH��$��H��$�H�PH��$��H��$�H�GH���c��H���<$1�E1�A���A��H��$�����$��$�$���!�<)��L��$�1�E1�A��齬���xC��E<=t<!t<<���E<=t<!����<$1�E1�A��ALJ��q����P�Jր��`���?�W���{u�X�SЀ�	wH�x��}�����5�A��H��$�I��E1�L�m�Y���H��$��G<=�)��H�@$H�����H��$��op������D��$�������� �AA��H��E�Ƀ�?A	��A�H��$���%�A	�D��$����1��%��E��L��$�L��$HE9��7����E1�<>A�)A���k��ALJ�E1��v���A���$���M�Ѻ$���t����F�E�H��$��鼭��������L$LDŽ$��\$�\$P��H��$�DŽ$��I��A�OpH��$�H��$�H��$�D�$A�H���|���U����������������f
DŽ$�A����1��/�E1�陬��D��$|H��L�t$H��$�L��$pE���[�t$������l$H���EƉD$�$�����N�����ۍCH���I��H�=����H�����)���H��GH��T�� ����A�����M�f��L�����I��*����������	��tA�Gp�p)�ƒ�-Dօ��A9Wt���f��fA�FA9W|�F���A�W|�<$E1�A���*���L��$��
�H��$�A�y:E‰黫��H��$�M���T饫��H��$�L��$��G銫��H��fDI��H��$�H�vA���0<	v����������AA��H��A����?A	��A���%�A	��A�H��$���%�A	�D��$��\��H�]H��$��E�}�PЀ�	���H��H���1�A�����1�E1����D8��PI+w H�t$`��D��$�E���I�GHL��ALJ�H��t0H�L$(��H�H��tH��u����p	H��@�r��p@�r���E����\$L�rE������b���������H��$�E�E1�L�m�D$駩��D��$�L��$D��$@��H�]A�>H��$��E�P����H��$�I����ѩ��H��$�I���<黩��H��$�I���9饩��H��$�I���0鏩�������|$W�}��H��$��\$8�D$p�\$X�\$<�\$h���I��H��$�M���>�6���H��$�L��$��+����H��$�I���*����H�]A�'H��$��E�P������$��H��1�H�����H�ŋ�$x��H��$�I���魨��H��$�I���6门���H��$�L�L$��x���H��$�I���E�b������A��A����?H��A��A	��A���%�A	��A���%�A	��A�H��$���%�A	�D��$��N���D$8��$�D$p�D$X�D$<�D$h��l�����1ۉ<$%����E1�����$���$������D$t�&���Lc�$�H��$�H��E�nL���H��L��*����A�M�fA�^�H�E1�����H�QЀ�	����H���LH�z�q�@��	v�H��)u
H�DH��$��8(���x?���H�����H��$���-��A����H��$�L�L$x�T�ʦ���QA����H��A��@%���?A	��Q�����?A	��Q������A	��Q�H��$������A	�A	�D��$����A�G`M�GX��$�����Ic‰�$�E1�H�D$xA�BH�D��$@H��$H��$HL��H�T$xH�uH�����uH��$�|5��IcGdA��H�D;�$�uË�$�D��$@H��$HE�����;R�pA�����H�=H���A��A��E��E����A�F��<$�A��鯢��H��$�L��$��1�N���H��$�L��$��*�3���H��$�I���?��������H��$�I������H��$�I������H��$�I���:�Ѥ��H��$�I���'黤������I��H��$��雤��H��$�I���;酤��I����fA�	M�fA�V�Q�H��$�L��$���R���D�]A��I��A�T$��$�D��f����A;G|~A�G|��$�9���McWdD)�L��$�E�牄$�I��A�K�lL���!H�D$x�|uWA��H�D;�$���H�T$xH��L��D��$H��$@D��$�D��$��$@��D��$Ht�E��L��$�A��uOfE�^�<$A��髠��H��$�I���)�O���H��$�L��$��0�4���E��L��$�fA��fA�����<$fE�nA��fE�fA�F�E���I��H��$��:���H��$�I����Ӣ��H��$��S���H��$�I���骢��H��$�I���T锢��H��$�I���B�~���I�_(�-��H�����H��$�I���#�W���H��$�I����A���A��~{�S�B�<	�/���A�r�1�H���S�z�@��	����H��=���/���DB�H9�u؅�t5f��A�F��<$E1�fA�FA������H��$�I���=�������ċ$��@�����H�|$�O���1����H��A�����I��遡��H��$�M�f�1�H�|$X�L��$��n����DŽ$�頺��D��AWAVAUATUSH��H�$H���t$H�T$8H�L$@L�D$0dH�%(H��$1�H��$�DŽ$�DŽ$�H���aH�D$@I��M��H�H�D$8H��t�H�|$0�TH�D$0M��\$�H�LD�I��$L��$H��$I��$H��$I��$@H��$�々��������D�\$DŽ$�L�-�D$L�5L�L��$A��L�L�
A��f�Hc�M�$/A�<$(��A�|/*��I�D/�L��H������������H��L������������H��L������������H��L������������
H��L����������&�H��H�=��������_�H��H�=����������H��H�=��������y�H��H�=��������M�H��H�=��������}�H�=H����������d�H�=H����������3�H�=H����������<H�ƹH�=�����u,����D$Hc�M�$/%���	�A�<$(�D$�-����D$L�d$hI��%�D$d�D$c�D$cE��t����D�t$dE�����D$%�=�t;�D$%p= �g��=@�F=P�=0��H��$�H�\$0DŽ$�8A�8L)��D�Ǿn�oH��f.����QH��H�H@��u���'���%���PH����f����L$�������L$�������L$ �����L$�������=�:���DŽ$��
DŽ$���$�H��$�L��H��$DŽ$|H��$PH�HDŽ$�H��$(H��$@HDŽ$�DŽ$�H��$ HDŽ$XHDŽ$`H��$hHDŽ$pL��$0��|$E1�E1�H��$�H��$�L�DŽ$�H��$�H��$8HDŽ$�DŽ$x��$�HDŽ$HH��$�Ƅ$�H��$�H��$�H��$�H�$�H��H��$�PH��$H�D$hPjH��$�H��$�PH��$�H��$�PH��$�H��$�PH��$�H��$�Pjj����D��$H��P��$�D)�E������$�=�R
��$`��$d�Hc�H��@H��H�D$ H���;H�|$ E1�A�@��$���$`H�
�G��$�I9̹��LD�_�$�G��$dL�o@1�_�\$f�G$����$p�Ɖ_H���ERCP�GH�fD�W"L�f�W&fD�_(f�o*�G,H�D$PH��$(H��$ L�g0H�G8��$tHDŽ$�DŽ$pDŽ$xL��$XH��$@DŽ$�HDŽ$�HDŽ$�HDŽ$H����H��$PL��$�H��BDŽ$`�GLcgH�|$�D$H�D�d$(H�$�B�H��H��H�H�D$H��D$H�4$L��H��f��fA�E��D$(H�D$��H�A�D��$`�hH�D$��$`H;D$H�!H�D$L��$X�x�XH��|$�\$(H�$����Lc�$dE1���Lcd$(D��A��D�t$,�@C�|%u(��M�A9��aI�]H�<$L��H�����t�y�D��A��K�|5L��‹D$,D)���Hc���	���f����L$� ����D$ �4���H�T$0�����L�����$�������DŽ$�,A�,�k���H�T$D�\$(��K1�H�T$H�Hc�L�L�L�
I���������w�4��tp�A�D���H����A�D{u�D�\$(<)�L���94$�[�����$� �4$�H���H�T$D�\$(��K1�H�T$H�Hc�L�L�L�
I���������w�4��tp�A�D���H����A�D{u�D�\$(<)�����9t$������$�@�t$���H�A�
H��$�fD��$����DŽ$���������L$����	��L$�c���DŽ$����DŽ$��
������0�DŽ$�NA�N���fDI�]����H�
H�D$@H�H�D$8H��tD�H�D$ H��$dH3%(H�D$ ��	H��[]A\A]A^A_Ã�$hL��$�~H��$P�H�D$hH�\$ E1�E1�H��H��$�H�D$XH��$����{j�t$hj��$���$���$���$�jjH��$�H��$�H��$��8�����$�f�C��$�f�C ��$�f�C��$�H��PD��$����CE��tDŽ$�DŽ$�����D��$�E��uH��$��8tDŽ$�H��$�H�PH��$��Hc�$�H��$�H+D$PH9�~DŽ$��\$cH��$ H9�$@����$�1������L�d$P�f�H�‰�L)���A�A�U��$���u{H��$@H;�$ viH�Q�H��$@�Q��I���	��IHc�A�|�u�:M�4M�lA�.A�U��	�9�t���L���H���q���DŽ$�5��$l~H��$ ���$�HDŽ$ ��t9H�|$ ���$�D��$�D)�H�\$0H�
�E���8�������H�D$ �xf9x v
DŽ$��D$����$�����H�D$ D�@A��ts��$�����H��$�L�d$PL�l$X�A�D$f����I�A�<$w����E1�L���H��L���t����t�H�D$ �H������� ����H�T$XH�|$P1�1��mV����tH�D$ A��D�@�d�����$����;H�D$ ��$���f�H�@tH��$���4�ƒ� f9�E�H�|$ ���G��$�������H�|$ �Gt�����H�|$ ��$��Wf�O�tH��$���4���f9�E�H�D$ ��@�P����DŽ$�
��DŽ$�A���H�������H�D$ H�D$8�c�u���H�|$P��������I��H���@���L�<$L�l$ �����@fA�|$udA�D$�A�T$�E1�L��H�L$X��	кH�M�|�E�7A�A�u������N��E�7���C9�$x}��$xf��fA�D$I�|$����I��H���y�����$�L�<$������������L�t$PA�.@������E�<@w-@��T�x@��G�%@��:�C�E�@��-G��X�E�<w,M�f!@��puE�ffA��E��M�E�,$A�E�<��@��@��`w<@��^��@��Z��@��U��@��ue��$��������a���D@�����w.@��a��@��pu0A�F�f����H�I�����@���tz@���tt@���tnHc�H�=�t$d�Iօ���������7����A�F�<�������?H�=�I�������@���A�~I�N�W�LB��A�VI��A�~I�N�W�LB��p�����4A��A��@��(vDŽ$�DŽ$��A�.���L��$�H��$��L��L���g��A��!�����$�DŽ$��H��tWH�T$XI��L���L��$�H��DŽ$���v����t+��"A�@����H�=@��Hc�H�>��A�$mA�.�����������������H�t$pH�|$P1��n����$���$��������H�T$XH�|$PE1�1�1��S���������H�D$ �H����hA�.����hA�.����hA�.����hA�.�u���H��$�H�\$0DŽ$�A�L)�����DŽ$�A������
�P������'�D���H��$�H��$��L��H���e��D��H����L��$�I��H��DŽ$������$�H�T$X�u���������A��dA����H�=E��Jc�H�>��A�$kA�.���A�$lA�.���L�<$�$���t����F�EЉ�$����H��$�H�\$0DŽ$�A�L)������h	A�.�'���A�$jA�.����Lc�I�]����1�A��%���w�����M��I��H��1���
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864
'
*+,-789:DEFGQRST^_`ajklm	



no error\ at end of pattern\c at end of patternunrecognized character follows \numbers out of order in {} quantifiernumber too big in {} quantifiermissing terminating ] for character classinvalid escape sequence in character classrange out of order in character classnothing to repeatinternal error: invalid forward reference offsetinternal error: unexpected repeatunrecognized character after (? or (?-POSIX named classes are supported only within a classmissing )reference to non-existent subpatternerroffset passed as NULLunknown option bit(s) setmissing ) after commentparentheses nested too deeplyregular expression is too largefailed to get memoryunmatched parenthesesinternal error: code overflowunrecognized character after (?<lookbehind assertion is not fixed lengthmalformed number or name after (?(conditional group contains more than two branchesassertion expected after (?( or (?(?C)(?R or (?[+-]digits must be followed by )unknown POSIX class namePOSIX collating elements are not supportedthis version of PCRE is compiled without UTF supportspare errorcharacter value in \x{} or \o{} is too largeinvalid condition (?(0)\C not allowed in lookbehind assertionPCRE does not support \L, \l, \N{name}, \U, or \unumber after (?C is > 255closing ) for (?C expectedrecursive call could loop indefinitelyunrecognized character after (?Psyntax error in subpattern name (missing terminator)two named subpatterns have the same nameinvalid UTF-8 stringsupport for \P, \p, and \X has not been compiledmalformed \P or \p sequenceunknown property name after \P or \psubpattern name is too long (maximum 32 characters)too many named subpatterns (maximum 10000)repeated subpattern is too longoctal value is greater than \377 in 8-bit non-UTF-8 modeinternal error: overran compiling workspaceinternal error: previously-checked referenced subpattern not foundDEFINE group contains more than one branchrepeating a DEFINE group is not allowedinconsistent NEWLINE options\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain numbera numbered reference must not be zeroan argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)(*VERB) not recognized or malformednumber is too bigsubpattern name expecteddigit expected after (?+] is an invalid data character in JavaScript compatibility modedifferent names for subpatterns of the same number are not allowed(*MARK) must have an argumentthis version of PCRE is not compiled with Unicode property support\c must be followed by an ASCII character\k is not followed by a braced, angle-bracketed, or quoted nameinternal error: unknown opcode in find_fixedlength()\N is not supported in a classtoo many forward referencesdisallowed Unicode code point (>= 0xd800 && <= 0xdfff)invalid UTF-16 stringname is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)character value in \u.... sequence is too largeinvalid UTF-32 stringsetting UTF is disabled by the applicationnon-hex character in \x{} (closing brace missing?)non-octal character in \o{} (closing brace missing?)missing opening brace after \oparentheses are too deeply nestedinvalid range in character classgroup name must start with a non-digitparentheses are too deeply nested (stack check)digits missing in \x{} or \o{}regular expression is too complicated\P{Xps}\H\P{Xan}\P{Lu}\P{Ll}\P{L}\p{Xps}\h\p{Xan}\p{Lu}\p{Ll}\p{L}\p{Xwd}\P{Xwd}\p{Xsp}\P{Xsp}\p{Nd}\P{Nd}�@���������`���������� ���� ����@��������������������������� ����alphalowerupperalnumasciiblankcntrldigitgraphprintpunctspacewordxdigit\b(?<=\w)\b(?=\w)������������������������������������MARKACCEPTCOMMITFFAILPRUNESKIPTHEN:;<=>?@��������������������[\]^_`������
�
��	���[:<:]][:>:]]Q\EDEFINEUTF8)UTF)UCP)NO_AUTO_POSSESS)NO_START_OPT)LIMIT_MATCH=LIMIT_RECURSION=CR)LF)CRLF)ANY)ANYCRLF)BSR_ANYCRLF)BSR_UNICODE)Error text not found (please report)GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�H�B�N�L �E(�D0�H8�Hp�
8A0A(B BBBAh|D|�B�P�B �B(�H0�H8��
0A(B BBBJH��B�E�H �E(�D0�D8�K@�
8A0A(B BBBJx�B�E�E �I(�D0�C8�GP�
8A0A(B BBBB�
8C0A(B BBBA\8F0A(B BBB4��B�A�F �s
ABAAFBH�CB�J�B �B(�D0�D8�Gp�
8D0A(B BBBKH�B�B�B �B(�A0�A8�GP�
8C0A(B BBBBD\�B�G�J �E(�D0�C8�FP�8C0A(B BBB�xH��	B�B�B �E(�A0�A8�G@�
8A0A(B BBBG2iH,gB�E�E �E(�D0�F8�K`
8A0A(B BBBDLx�B�E�B �E(�H0�D8�D�o
8A0A(B BBBIH��B�B�B �B(�A0�A8�D��
8A0A(B BBBFL2
B�E�H �E(�D0�H8�G�#
8A0A(B BBBDd$xx�gB�B�B �B(�D0�A8�G���G�B�I�I�I�I�I�K�A�Q��
8A0A(B BBBK��@F�B�B �B(�A0�A8�G� L�&��&I�&N�&B�&Q�&Q�'Q�'Q�'B�'B�'Q�&8
8A0A(B BBBAt�&]�&D�&B�&G�&G�'G�'G�'B�'B�'I�&��5Qq�����|�P������p
�C!P�3�I�xb`�	o�(�w�2�0"i��"g�$���(���*2
�ey(�5 �@ 9�gN�w`Pk�'	}�'
�(l��(+��0��'T�h'����&��`�+
��&&x&p&"h&+�&6`&B�&NV&XO&cH&n@&z8&��&�0&��&��&��&�������$�)�:�H�U�f�jn	ty��!&6Ka	r���������
%3BL\cp��7$����������@")9G�.annobin_pcre_compile.c.annobin_pcre_compile.c_end.annobin_pcre_compile.c.hot.annobin_pcre_compile.c_end.hot.annobin_pcre_compile.c.unlikely.annobin_pcre_compile.c_end.unlikelyfind_fixedlengthcheck_posix_syntaxadjust_recurseis_anchoredis_startlineexpand_workspaceadd_to_classadd_list_to_classadd_not_list_to_classis_counted_repeat.part.0check_escapeescapesdigitabget_chr_property_listfirst_significant_code.constprop.5find_firstassertedcharcould_be_empty_branchget_ucp.constprop.6compare_opcodes.part.4autoposstabpropposstabposspropstabcatposstabcompile_regexopcode_possessifyCSWTCH.830sub_start_of_wordsub_end_of_wordverbsverbnamesposix_namesposix_name_lengthsposix_substitutesposix_class_mapsCSWTCH.829error_textsstring_pLstring_pLlstring_pLustring_pXanstring_hstring_pNdstring_pXpsstring_pXwdstring_PLstring_PLlstring_PLustring_PXanstring_Hstring_PNdstring_PXpsstring_PXwdstring_PXspstring_pXsp.LC0.LC1.LC2.LC3.LC5.LC6.LC7.LC8.LC9.LC10.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC18.LC4.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_OP_lengths_pcre_utf8_table4_GLOBAL_OFFSET_TABLE___stack_chk_failpcre_mallocmemcpypcre_free_pcre_ucd_stage2_pcre_ucd_stage1_pcre_ucd_records_pcre_ucd_caseless_sets_pcre_ord2utf_pcre_utt_size_pcre_utt_pcre_utt_namesstrcmp_pcre_xclass_pcre_ucp_gentype_pcre_find_bracketpcre_stack_guardmemmove_pcre_is_newlinestrncmp__memcpy_chk_pcre_hspace_list_pcre_vspace_listpcre_compile2_pcre_default_tablesstrlenmemcmp_pcre_valid_utf__ctype_b_locpcre_compilek��������(���������kjXk���������l���������k���������n��������\�il��������qk��������/k���������k���������kr�
o���������
p���������
q��������gr��������qs���������t���������u��������#r���������r���������v���������v����������(����S�E�p�!��u��������s��������8r��������Ft��������6"k���������"p$n��������!$k���������',(l��������|(kj�(n��������E)w��������N)x���������)y���������)z���������*n���������*�
�+|�,k���������,krX-k��������/kt61{��������52s��������e2r��������y2t���������20�2��2X3u��������B3|���������3|���������3|��������4|��������(4�~4��4d5��5�5��5�7n���������7k���������7l��������8��8kx�9~��������Z=�
�>�CC��������7CD���������CE���������Es��������Fr��������Ft���������Fv��������YH|�Hk���������Hl���������HkY�I���������NL_O���������TR���������"S��������,Tp��������sW����������X���������Y�'\w\tQ_�'�c(�c|(3d���������Ad�'f0�Mi���������n���������<p|'�pd'�p���������q0���������s���������6uz��������;x���������x��������ezv���������zv���������z�&�|����������}��������������������������������o����������p��������†q��������������������v��������ڊv������������������W����������r�����������������������0�ʐp����������\K�s��������Z�r����������t����������v����������v��������z�p�������������������a�F��������X������������n��������q����������աG���������H���������I����������J����������K��������ŢL���������M���������N��������"�O��������A�P��������]�Q��������|�R����������S����������T���������������������S�o���������������������p�������������������Ω������������������C����������Z�I��������a�J��������h�K��������Ӫ����������I���������J����������K���������U��������p�q��������R�}����������q����������q�������������}��������W�}��������d�kl��k��������Ȳl��������γH�0�n�������� �  PDHLPT8< @$D(H,L0P4T8H<t@xD,HhLlPpTtX@\�`�d�h�l�p�tDxH|L�P�l�p�t�x�|�������D�������������������������x������������������������ $(,048 <$@�D,H0L4P8T<X@\D`HdLhPlTpXt\x`|d�h�l� �$�(�,�0�4�8�<�@�D�H�L�0�4�8���������t��,�0�������0�d�h�lp $�,4 $(,04t8x<|@�D�H0L4P8T�X�\�`�d�h�l�p�t�x�|����l�P�T�X�\�`�d�H�L�P�t�x�|�`������������������� �$�(�,048<@DHL P$T(X,\0`4d8h<l@pDtHxL|P�T�X�\�`�d�h�l�p�t�x�|����������������������L�P�T�X�\�`�d�h�l�8�<�@�D�H�L�P�T�X�\�`�d�hlptx|{�� �$�(�,�0�4�8�<�@�D�H�L�P�T�X�\�`�d�h�l�p�t�x�|��������������������� �T�(�,���8�<�@�D�H�L�P�T�P�4�8�d�h�lptx|���� �$�(8 ,�0@ 4�8�<�@�D�H�L�P�T�X�\�`�d�h�l�p�t�x�|���������������������� �$�(�,�0�4�8�<�@�D�H�L�P�T�X�\�`�dhlptx|�� �$�(�,�0�4�8�<�@�D�H�L�P�T�X�\�`�d�hHlLpPtt#x8#|�#��#��#��#��#��#��#��#��#��#��#��#��#��#�$�$�$��#��#�$�$�$� $��#�($��#�0$�4$�8$�<$�@$�D$�H$L$P$T$X$\$`$d$h$ l$$p$(t$,x$0|$4�$8�$<�$@�$D�$H�$L�$P�$T�$X�$\�$`�$d�$h�$l�$p�$t�$x�$|�$��$��$��$��$��$��$��$��$��$��$��$��$��$�%�%�%�%�%�%�%�%� %�$%�(%�,%�0%�4%�8%�<%�%�D%�H%L% %$%(%,%0%4%h% l%$p%(D%,H%0�&4�&8�&<�&@'D'H'L'P'T'X'\'` 'd$'h('l,'p0't6(x:(|>(�B(�F(�J(�L'�P'�T'�X'�g(�k(�d'�h'�w(�{(��(��(�|'��(��'��(��(��(��(��'��'��(��(��(��(��'��(��'��(	�(	�(	�(	�'	�'	�(	�(	) 	)$	�'(	�(,	�'0	�(4	.)8	)<	)@	(D	(H	)L	)P	J)T	N)X	(\	')`	 (d	/)h	b)l	�)p	�)t	4(x	8(|	�)�	�)�	�)�	�)�	L(�	�)�	T(�	�)�	�)�	b)�	f)�	j)�	n)�	r)�	v)�	z)�	~)�	�)�	�)�	�)�	�)�	*�	*�	p*�	�)�	�)�	�)�	�)�	�)�	�)�	D'�	H'�	L'
P'
T'
�)
�)
�)
�)
�)
�) 
�)$
�)(
�),
�)0
�)4
�)8
�)<
�)@
*D
*H

*L
*P
*T
*X
*\
*`
"*d
&*h
**l
'*p
2*t
/*x
:*|
7*�
B*�
?*�
�1�
�1�
�1�
d1�
2�
�1�
�,�
�,�
-�
D2�
H2�
�/�
�0�
�0�
(1�
�/�
 -�
�/�
�/�
�/�
0-�
4-�
8-�
�0�
@-�
|0�
H-�
L-�
P-�
T-X-\-`-d-h-l-p-t- x-$|-(�-,�-0�-4�-8�-<�-@�-D�-H�-L�-P�-T�-X�-\�-`�-d�-h�-l�-p�-t�-x�-|�-��-��-��-��-��-��-��-��-��-��-�.�.�.�.�.�.�.�.� .�$.�(.�,.�0.�4.�8.�<.�@.�D.�H.�L.�P.�T.X.\.`.d.h.l.p.t. x.$|.(�1,|10�24�,84<4@�3D�3H�3L�3P�3TZ3X03\�,`X5dH5h05l 5p�4t�4x�4|�4�F4�J4�N4��5��5��5��5��5��5�P8�T8�X8�\8�`8�d8�9�9�9�t8�x8�|8�(9��8��8��8��8��8��8��8��8��8��8
�8
�8
�8
�8
�8
�8
�8
�8 
�8$
�8(
�8,
�80
�84
�88
�8<
�8@
�8D
9H
9L
	9P

9T
9X
9\
9`
9d
!9h
%9l
)9p
-9t
19x
59|
99�
=9�
A9�
E9�
I9�
M9�
Q9�
U9�
Y9�
]9�
�9�
e9�
�9�
m9�
�9�
u9�
:�
@B�
wG�
{G�
G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�
�G�G�G�G�G�G�G�G�G �G$�G(�G,�G0�G4�G8�G<�G@�GD�GH�GL�GPhCTHXH\H`p?d�Bh>l�Ep#Ht'Hx�E|/H�3H�7H�;H�?H�CH�GH�KH�OH�SH�WH�[H�_H�cH�gH�kH�E�sH�wH�{H�H��H��H��H��H��H��H��H��H��H��H��H��H�H�H�H�H�H�H�H�H �H$�H(�H,lD0�G4�F8�B<�H@�HD�HH�HL�HPITIXI\I`IdIhIlIp#It'Ix+I|/I�3I�7I�;I�?I�CI�GI�KI�OI�SI�WI�[I��I�0D��H��H��H��H�PH�TH�XH�\H�`H�dH�hH�lH��H�tH�xH�|H��H��H��H�H�H�H�H�H�HI�H �H$�H(�H,�H0�H4�H8�H<�H@�HD�HH�HL8IP�HT�HX�H\�H`�Hd�Hh�Hl�Hp�HtIxI|I�lI�I�I�I�I� I�$I�(I�,I�0I�4I�8I�<I��I�DI�HI�LI�PI�TI�XI�\I�`I�dI�hI�lI�pI�tI�xI�|I��I��I��ItI͋�d������+k /k$3k(+�,/�0?k4#�8j�<��@��DSkHWkL[kP_kTckXgk\kk`�d�h�l�p�t�x/~|T��X��\��`���{��{��~�p��t���{�|���{��������{��{��{��{��{��{��{��{��{��{��{�����~����}�ȁ�́�Ё�ԁ�}܁������ ��$��(�,�0�4v~8�<�~@�D�H �L$�P(�T,�X0�\4�`8�d<�h@�lD�pH�tL�xP�|T��X��\��`��d��h��l��p��t��x��|����������������������������������������������������,��0��4��8��<�@�D�H�L�P�T�X�\� `�$d�(h�,l�0p�4t�8x�<|�@��D��H��L��P��T��X��\��`��d��h��l��p��t��x��|������Ă����̂�Ђ����؂�܂����������������������������������� ��$����,��0��4��8��<���D�H�L�P���Y�]� w�${�(t�,x�0��4Z�8^�<p�@t�D�H��&&x&p&(h&8�&X`&`�&pV&xO&�H&�@&�8&��&�0&��&��&��&��&��&�&�& l��P���p
�P`���`�0"0�"|$��(�*h�7| 9�����.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.rodata.str1.1.rodata.str1.8.rela.data.rel.ro.local.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@VPW`XhY'p�"@�H-��3��=��T8@`0	Sطbط(]@�0|���(�@�0�@�V) �@��y�2����28�%�`� �@���0p�-|��S�����P��#���@ȋ��� 
k	��T��-/57             1573057005  1667  135   100644  4704      `
ELF> @@
���������
wH���Hc�H�>������1���H����1��fD�
1����������@SH���H�1�[�H��1��fD�1����1��
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx��q�NA��3Nm�����	��	.annobin_pcre_config.c.annobin_pcre_config.c_end.annobin_pcre_config.c.hot.annobin_pcre_config.c_end.hot.annobin_pcre_config.c.unlikely.annobin_pcre_config.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_config_GLOBAL_OFFSET_TABLE__pcre_jit_get_target
��������u �������� �  0T�\PDH\ �$T(�,�0�4� .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p�"@0-3=T8@00	Spbp(]@`0|���(�@�0��8�@�P�0�-|%S%�(P�x�x8�@
�	�4(
�/83             1573057005  1667  135   100644  54656     `
ELF>@�@@
AWAVAUATUSH��H�$H��H�$H���H��$!H�T$XI�򾫪�*��$�H�|$ L��$�H�\$pdH�%(H��$� 1�H�GH�D$PH�GH�D$HH�H�D$0�G0%�D$<��$!���D$x��$!�H������)ʍR�����$����H�O ��)�H��$�H�KHc�H�L$h�D$H�@H��H�D$@A��P{���ƒ�v<��	�<H�H��A�||��|$x��<H�L$@H�|$0��t$1҃���;@L���AH��H)��D�ډA�A�Bf����I¸A�:w��D�Z9�|��D$`��H��$� dH3%(�D$`�]^H��� []A\A]A^A_�H�L$ �A.�]���DA�Bf����I�A�:wt�H�D$pHcX�8I�ۅ��2H�[H�t$hH�|$@D�L$H��L�T$�\$�D�\$L�T$D�L$�L��1���Bf����9�L��Bf����H€:wt�D�D$<E����H�t$XHc�H��H)�H��H�|$PH9�sH��H)���H�H)�H��H�D$XH�D$ H�t$XH9pvH�pH�T$@L�D$0E1ۋ\$f.�A�Bf����9�|0L��A�{L)ƃ�A9���������BA��H���r��)Ɖr�A�Bf����I�A�:wt�Ic��Icۋt$<�D$E���D$`������L��$��D$g�D$gA��D��$���$�H��$�H��@HH��$�H�D$XH��$�H�D$(1�H�L$p��H�t$@�D$�����D$8�H�[H��H�t$HD�yH�D$H�D$(H9�se��ΉL$����A�|$g�6�@�� ��H�\$(�K@����&�T$��?���D$8%�����	�	ЉD$E���pH�|$L�\$h�D$|DŽ$�L�l$@���G�D$L��I�E1�E1�E�����$����������)‰�����$�H��H��$��VfDA�@���A�T$D9d$�����A�H���]A���EH���A�ԉM��L$��DD$�D$E9�~OIc�H�@M�D�A���x�E���|A�V�L��H�RI�T��f�H��H9�t_9u�A�x9xu�A��E9��E��E���aGH�t$hHcD$8Ic�H�T$@HD$(I��H�D$pH�t$@�t$H�T$h��t$���DH�t$0HcËT$8L�A�I�…�uH��<�DT$�T$H�5���tuA�D�L$<���E��t/=�v(A�t� ������?%�	��A��T~1�P�w)H�
Hc�H�>���D$`��3���@�����1�A���w�H�=D��Hc�H�>��A�Cf����I�A�;wt�A�GD9|$����H�t$L��H+T$0A��A���H���F�H�t$�8���D��A��A���A�|���E�L��|#����A��?��%������D	�	Љ���	�����D$8�������EH�|$PH�T$XH9���D1�DH�B�H9�s4�R�����t�"fD�������"H��H9�u�H�D$P�N���A��|���A��h���A��T���A��,���A��@���������?�����	���	��-�������?�D$8�ʁ�	ЉD$�����A�wD9|$�O���H�|$D�L$8�K�H�O�GE����3�|$����%B�� �|$��( ��@��@��������9���$A���A�|$A��HDL$AD�D9d$�����H��A��H�L$��H�E�A��A���E��'���A�P��~,A�OD9|$�����H�|$�sA�ω7H���G�H�|$�|$8���.'�L$�����O�i1��
�����Ƀ�����9��F6A�����1������A�wD9|$����H�L$D�\$8�S�H���A�E����2�|$��
��6�� 1҃�
��A��A��HDL$DE�H�L$A�L$D9d$�������EA��A��؉UH���E�����A�P��~,A�GD9|$�i���H�t$�KA�ljH���F�H�t$D�D$8E����%�t$��
��K�+11���
��/��~A���u
H�l$A����A�L$D9d$������ۉUA��H���]�A�̉E��_���1�����A�D9|$�����H�t$D�D$8�S�H���F�E���M1�T$����3�t�� ��3��D�L$�A�����1�A������rA�H��~,A�WD9|$�9���H�|$�sA�׉7H���G�H�|$�t$8����$�t$����8�O.�� ��8��.�t$����t1ҁ���ƒ�����9��Q4A���9���DŽ$�A�O��$�D9|$�����H�t$�C��D$8L�^�F���4A��A��L�\$���A���t,A�WD9|$�J���H�t$�KA�׉H���F�H�t$�T$8���!'�L$����A��-�� ��A��,�|$����t1ҁ���ƒ�����9��u1A���J���A����%A�WD9|$���H�L$D�L$8�C�H�A�AE���9A��A��H�D$���1����A����H&A�GD9|$�S�H�L$�S�H���A�H�L$�t$8����6�t$��
�cB�H+1҃�
�+A��A���u
H�l$A��A�CA�HA�t$f������9��n=D9d$��������UA��H��)��E�A��E��.���DŽ$���A���t,A�WD9|$���H�t$�KA�׉H���F�H�t$�T$8����!Hc�$�H�
�H�
���$�A�{
Hc��QH�H����CA�SH�5Hc�H�>��A�@��$����!A�WD9|$���H�L$�t$8�C�H�A�A���:A��A��H�D$�2����A�wD9|$���H�L$�S��T$8H���A�����,Hc�$�L�A�L����$�A�{
Hc�E�PH�N���2IA�SL�
Ic�L�>��A�H��~,A�WD9|$�	�H�|$�sA�׉7H���G�H�|$�|$8���� Hc�$�H�5�H�5���$�A�{
Hc��4VH�H�4���EA�SH�=Hc�H�>��1�����A����A�Cf����I�T�:wu�Bf����H€:wt�A�OD9|$�A�H�t$H��H+D$0A�σ�A���H���F�H�t$���$�A����A�OD9|$���H�D$����@A�Cf����I�T�:wu�Bf����H€:wt�A��9L$���H�L$H��H+D$0A�����AH���A�H�L$��A�Cf������$�A�C��$�<v�,!��$���s������J�����I����X,����L,A�Cf�������Ef�����IH�t$ A�GH�~H�JFD9|$���H�t$��A�ljH���F�H�t$A���=�A�WD9|$���H�D$���H���@�H�D$A�Cf����L؀8w���\$A��9��h�H�t$�KH��H+T$0�FH�����V��Pf����HЀ8w�1.H�t$A����T$8�������)+�|$g�+���PH�
��I������Hc���э8����)��H�
Hc��QH��|�lj��|$9��s89��k8A�D$D9d$����TH��A��A�ĉU��E���L$8���8!9D$�.!A�D$D9d$�M��TH��A��A�ĉU��E���D�D$8E���z�|$<���359D$��@�|$����A��H��$��9��TAA���c�D�L$8E���� 9D$�� A�D$D9d$����TH��A��A�ĉU��E���H�t$(H9t$P��H�L$(H9L$H��<H�D$ �p4H�P���0H9T$(�e>A�����H�t$(H9t$P��A����H�D$ �@,�����L$8����3H�D$ H�P�@0 u�p4����KH9T$(��KH�D$(H��H9���NH�D$ �@,����NH�|$ �W4���NNH�L$ �y8�'NA���-�f�H�D$ �@,���s�|$8���|7H�D$ H�P�@0 u�p4���FHH9T$(��GH�D$(H��H9���?H�D$ �@,����DH�t$ �v4����DH�|$ �8��DA�����H�t$(H9t$H��H�D$ �@/��7A�GD9|$���H�L$��A��A�ljH���A�H�L$�G�D�D$8H�D$ E���8�@/��<A�GD9|$���H�L$��A��A�ljH���A�H�L$���t$8���HcD$8H�t$(L�H�H�
E1�L�Hc�$�H��$�A����$�H��B�D�L9D$H�{.H�5��$���H��$��i����?�%�	ȉ������Hc�A�
���H��$�H��B�L�Hc�H��$���<���-A��I��L9D$H��-A��L$<�A����t�=�v�A�H� �o���A�p��\6����?��	Ɖ��%�	��S���D�D$8E����D$=�t�L"��
���R"A�D$D9d$�����H��A��A�ĉ]��E��]�D�L$8E���W�D$=���"�o"��
���u"A�D$D9d$�����H��A��A�ĉ]��E����t$8���N�D$=�#�7#�� �#��"�D$=���"=���"A�����|$8���*�D$=������ �����D$=���=���A�D$D9d$�����H��A��A�ĉ]��E��7�D�T$8E���U�D$��
�s=�"��
��A�D$D9d$�y���H��A��A�ĉ]��E����D�D$8E����Hc�$�H��H����$�A�{
H��BH�H���{MA�CH�
Hc�H�>��D�L$8E����A�D$D9d$�����H��A��A�ĉ]��E��A�D�\$8E���&H�D$ �p4H�P����&H9T$(�w6H�D$(H�t$ H��H9Fw�F/tD�V4E��u
�~8��JA�D$D9d$�S���H��A��A�ĉ]��E����D$8���
�|$����D$H��$�H�Mc��B"H�B:��>A�D$D9d$�����H��A��A�ĉ]��E��D��D$8���m�D$=�w+H��$�H�Mc��B"H�B:�h=A�D$D9d$�n���H��A��A�ĉ]��E����H�D$(H9D$P�91�D�L$8E��thH�D$ �@3 ��1�|$_�>Hc�$�H�
�H�
���$�H��AH��L�H����������1ƒ�A����8���<A�GD9|$���H�t$��A��A�ljH���F�H�t$�
�Hc�$�HD$PH9D$(�"A�����H�t$(H9t$P�>A�����A���t,A�WD9|$�4�H�t$�KA�׉H���F�H�t$�L$8�����L$����C6���Q������҃�����9��` A���S�A��p�v�D$8M�K!�����|$��X41�A��o��A�	L��H+t$0���b����4H�=��Hc�H�>��A�[f����Lۀ;wu�Cf����HÀ;wt�H�T$(H��A�L��D��$�H��H+L$X��$�Ph�H��$(PH�|$@L��$��x�H�� ������D��$���A��A��}��8�t/D9|$���H�L$H�CH+D$0A���H���A�H�L$A���$�L9�$���A�GD9|$���H�L$�S��AA��x��7A��9D$�Z�A�CA��f����)�H�D$�XH���@�H�D$��H�H����DŽ$ A�CH��$ H�L$P��$$H��$�H��$0H��$(H�D$HH)ȉ�$8H�D$XH)ȉ�$<H�D$(H)ȉ�$@A�Cf������$XA�CHDŽ$`f������$\H�����H��$DH�D$ H�@@H��$P�҅����`+A�WD9|$�>��A��A���H�D$�H���@�H�D$��A�sH�D$ 1�f����Ht$0H90t�Vf����H�D$ H�HHH���nH��H�|$(��H�H���Q9Pu�H9xu��D$`����H�T$A�OD;|$���L��H+D$0H��A�σ��B��B�A�Cf����I�A�;wt�H�T$A�����A��
A�A�D9|$�7��tD�L$8H�\$�3H�K�CE��������E��ti����|$g�����PL�A��I�A��A����Hc�A�F�A��E)��D�L�Hc�E�PH�B�\�Éڋ\$9���9���	�A��:��8��EA��,� A��F� A�D$D9d$�]��uA��H��A���E�A��H�L$��A��
�A�H��~/A�WD9|$��L�L$�tA��A�1I��A�A�L�L$D�\$8E���P�������ta���[�|$g�P���PH�5��I������Hc���֍8����)��H�5Hc��4VH��|�lj��t$9���9���	�A��:��8��S��~A��+�)A��E�)��A�D$D9d$�9���]A��H��A�ĉM���DŽ$�A�����
H�\$(H��$�DŽ$���+D$PH��L�ۉ�$�H��$pH��$�H��$H��$�H��A�H��H�ދ�$�Ph���$�L��$���$�H�|$@���H�� ���Z��$t+�$p�lH���$�H��E�HE��~,A�WD9|$�<��H�t$�KA�׉H���F�H�t$�|$8�������o&�|$��&���&���	�MA���b�H�T$(H��L��A�H��H+L$X��$�Ph�H��$(PH�|$@L��$�L��$��
��H�� L��$����������%�D$`�v��1�A�D9|$�]��H�L$�t��$��1H�q�A�L$8�����������tf���	�|$g�����PH�
I��Hc����������A�э��)�H�
D�Hc��QH�D�L�A�D�ɋT$9���9���	�A��:��8��YA��-tA��GHDt$DE�H�t$A�CA�PA�L$f������9��UD9d$�b����$�H��A��A���E��E�����E1���1�����1�A�OD9|$�!���TD�D$8H�t$�H���F�E�����������ti���r�|$g�g���PH�=A��I�A��A����Hc����B�����D)��H�=Hc��<WH�D�L�A�D�ʋ|$9���9���	�A��:��8��A��*��A��D��A�D$D9d$�H���]A��H��A���E�A��H�t$���A��
�����|$8A�H����������|$9���9���	�A��:��8���A�S�AA�L$f����9��'D9d$�����DH��A��A�̉E��E��#��A���$�D9|$����H�t$�T$8�{��$��>L�N�F���A�x��$�����'�|$���&���}&���	�{A��D��$�L�L$����|$8A��
����
A�H���k�|$g�`���PH�=A��I�A��A����Hc����B�����D)��H�=Hc��<WH�D�L�A�D�����A��
�����E�OD9|$�u��H�L$D�D$8�S�L�Y�AE����	���0�|$����������	��A��E��L�\$����t$8����	A�H��$����#�|$���"����"���	��A���M��E�OD9|$����H�t$�T$8D�[D�H�^�F�������c�|$��
������	�qA��E��H�\$������
��@��@���F���#H�|$ �,����$�����Y�A��A��H�L$����T$��/ �J��D�L$�A��_ t1�A��0�ƒ�����9��^A���A�T$A��HDt$AD�D9d$�����H��A��H�t$��H�E�A��A���E������	����뗁� �������H�ƒ�H9�s9��*��H�T$X���_��fD�|$������r�����������A��A��H�L$�����D��$�E�L����D�����?%��	Љ����	Љ����	Ћ�$�����	��Y��H�\$(���{@���kH�\$(��@�ϋt$�{������?���D$8��%���	������	�	Љʁ�	‰T$���A��Hc�$�HcD$8H�HD$(A��L�DE�$�A�
LD\$H�=E1�D��$����$�Hc��JD�D�H�L$HH9��H�5L�\$A�D�\$<H��$�H��D��$�I��$�H���R�p�������?	�΃���Hc�A�42���D��Hc��J�L���C�4�t|H�A��Lc�H9�vm��E��t��ο���v��� t����������H�������?	��H�����	��p����	��X���L�\$H��$�D��$���$�A�T$D9d$����D�MA��H��A�ԋ�$��E�D��$�L�\$�؉E�����A��A��H�t$����A��A��H�t$����A��A��H�t$���A��A��H�L$���A��A��H�L$���A�����A�����L�@�H�D$ L9@vL�@H�D$(D�\$<�@�A��E��u8H�L$ �A3 ��H��$������x��q�I��E�D�ȃ�<�t�A��=�v�A�xA�� �c&����?%�	�H�|$ �G3 �>=����������H��?	��p����	�����L$����?��%����D$8����	�	�	‰T$���A�T����%@����?	Љ���?	Љ����	Ћ�$������	�D�����	��I��H�D$ �p4H�P����H;T$(�)A������p4H�P����"H9T$(�85A������A������A�GD9|$�=��H�L$��A��A�ljH���A�H�L$���A�GD9|$���H�t$��A��A�ljH���F�H�t$�f��A��A���Z���T$8����A���E��H�D$ �@,���$A�GD9|$����H�L$��A��A�ljH���A�H�L$���A�����A������A������A������A������A������A������A�����A�����A�����A�����A�����DŽ$�I�����H�\$(H9\$Xr1H�D$ �@,����5�tH�D$ Hc@(HD$PH9D$X�_5�|$`��%�D$`���A%���D$`�;�$��+%��H��$�H�H��H�~���$���$H�D$ �@.�`��A������E�K�D$8fA��E��Mم���A�L��H+L$0�ʃ�b<�&4H�5��Hc�H�>��A��E��H�\$�x��A���o��H�D$ �@,��S�A�GD9|$����H�t$��A��A�ljH���F�H�t$�+��A���"���D$8����!A���
��A�����A�����A������A������A��E��L�\$����A������A��D��$�L�L$���A�����H�H����DŽ$ A�CH��$ H�L$PL��$���$$H��$�H��$0H��$(H�D$HH)ȉ�$8H�D$XH)ȉ�$<H�D$(H)ȉ�$@A�Cf������$XA�CHDŽ$`f������$\H�����H��$DH�D$ H�@@H��$P��L��$�������5 �I�A�C��$�����A�����D������A�����A�����A���{����$t��$p��)�A�Cf����I�A�<wt�M�ك�yL+L$0�����E�A<wA�CD��f����)ƅ���$D9|$��$H�D$A��A��D�H���@�H�D$������( s�� ��
�h�������9��tA��A��H�L$���A�����A�����A�����E�@H�B����������A�SA8�����A�SA8P�����E�HL�A�SC9������d���D�L$D�ʃ�߃�@�K���A��$�A���A��`�����_���A����A��D	���� ���E�@H�B������ƒ|$_A��D	������T$�������K�� �����+D�L$�A��������A��������A��������E�@H�B�<��������E�CH�J���
H��E9��]���D�D�L$E9�v�1��N���E�@A�P�����A��A��D	����,���1�A�wD9|$�l��H�\$���H�K�C����)A�9lA�D$HDL$AD�D9d$�1���UA��H��A���E�A��H�L$���A�X����)D9|$����H�D$��A��A���D$8�H���@�H�D$�M��A�P���>&A�D9|$����H�L$���1H���A�����%A�9kHDL$DE�H�L$��A�D$D9d$�k���]A��H��A�ĉU�����1�A�OD9|$�D��H�|$���H�W�G����(A�9jA�D$HDT$AD�D9d$�	���]A��H��A���E�A��H�T$�k��1�A�qA�Hf����9�.A�wD9|$����L�\$�zA��A�;I��A�C�L�\$���T-A�Af��A�9m���o-��A�t$��t9��3-D9d$�f���]A��H��A��M�������	�g�A�������D$=/ t����D$=_ t�=0�7��΋L$�������������rBH�t$ �~,����$��������A��A���V���|$���t�r�������v�A��A���1��- ��
�����S����0H�D$ �@.�����A�����D1҃�	�������$H�T$(L��$pH��$H�|$ H��$H��A��H��$H��H+L$XL��$�H�GH��$�Ph�H��$(PH�|$@�t��H��$ H�|$@H�� H�WH���3#�y����X�A���J���D$-( ������A���/���|$��/ �<
���t$���_ ����1ҁ�0�������H�D$ �@,��$�%��0��A�������D$-( ������A������t$��/ ���>�L$���_ �!��1ҁ�0�����1҃�	������|$��������������A��A�D$A��HDL$AD�D9d$������EA��A�ĉ}A��H��H�L$����D$=����r-( ������A��������	���A�D$D9d$�B����H��A��A�ĉ]��E�����D$=/ t�vh�D$=_ t�=0����뮋D$=������r-( ���w���A���\����������������������������- ��
�o���K���A�����A��A��H�L$���A��A��H�L$���A��A��H�t$����A��A��H�L$����A��A��H�t$����A��A��H�t$���A��A��H�L$���I��H��H��$���������$�A������$����l��A�Cf����I�A�;wt�L��H+D$0��E��u	E9��D�T$<��+T$(E���_A�L$D9d$�����؃��EA�̉EH���U����A���u
H�l$A��A�CA�PA�L$f������9���D9d$�:�������H��A��A��)�H�E��E����D9d$�
���]A��H��A�̉U��{��I��H��H��$�����H��$�������D9|$������$�H�L$A���D�AH���A�H�L$����E��~A��_u
H�l$A��A��A�D$D9d$�q���]A��H��A��D�M�����A���u
H�l$A��A�CA�PA�L$f������9��@D9d$��������H��A��A��)�H�E��E��~��A��`A�D$HD\$ED�D9d$����D�]A��H��A���E�E��H�\$�=������A�C��$�A��aA�T$DE�$�LDL$f������L�L$9��
D9d$�i����$�H��A��A���E��E�����A�C��$�A�L$f������9���D9d$�����H��A��A�̉]��E����H��$�����J���~A���u
H�l$A����A�D$D9d$������ۉUA��H���]�A���E��%��D9d$������]A��H��A�̉E����H��$���������~A���u
H�l$A����A�D$D9d$�C����ۉMA��H���]�A���E����L�L$(1�I�yH9|$H�C��1�A�y
���4��A��D9��������fDH�t$ HcN8H��H)�H�L$(H9��:���v<@81�-����tH��H�L$ �y=@8x���A�����D��H�t$�4�H��$�����v�H��$�������D��H�L$����A��^A�D$LD\$ED�D9d$�;����]A��H��A���E�E��L�\$���H��$�����A�HcD$8H�|$(L�Hc�$�L�E1�H�H�
A�H��$����$�H��B�D�L9\$H��H�5��$���H��$��a����?�%�	ȉ������Hc�A�
���H��$�H��B�L�Hc�H��$���<�tbA��I��L9\$HvRA��L$<�A����t�=�v�A�K� �w���A�s�u^����?��	Ɖ��%�	��_�����$���$�A�D$��D9d$������ۉUA��H���]�A��D�E��%��A�{���
����?��%	ljȉ�����%�	�	�����|$���!�T$H��$�H�
���"H�
:����A��E��L�\$���H�D$(H�L$ H��H9Aw�A/t�y4��u
�y8�8$�|$������H�D$ �p4H�P���E$H;T$(�h���D��$�H�|$(H�H8D��$�D��$�L��$��L��$�D��$���D��$�����A��E��L�\$�������H�D$ Hc@8H�H9T$(��A�����A��A��������_������H�
����Hc�����H�H��BH��T�H���1҃���������$�A�D$D9d$��������EA��A�ĉ]H��D�]�������$�H�D$ �@/�DD$�D$밁|$��8#�T$H��$�H�
���"H�
:�B���A��E��H�\$鯿��H�D$(H�t$ H��H9Fw�F/t�F4��u
�~8�	�|$������H�D$ �p4H�P���H;T$(����D��$�H�|$(H�H8D��$�D��$�D��$��D��$�D��$���D��$������A��E��H�\$���DA�pA���HcL$8HDD$DE���$�H�t$(H�D$L�Hc�$�L�H�H�
A�H��$����$�H��B�D�L9D$H��1�H�5L��$���$�A�ˉ�H��$��e����?�%�	ȉ������Hc�A�
���H��$�H��B�L�Hc�H��$���<���A��I��L9D$HvVA��|$<�A����t�=�v�A�H� �s���A�p�������?��	Ɖ��%�	��W���D�ދ�$�L��$�H�D$ �@/�DD$�D$A�C��$�A�T$f������9���D9d$�����������uA��H��)��E�A�ԉE�����D�ދ�$�L��$��A�x���
����?%	ljȉ�����%���	�	����D9d$�=����ۉMA��H���]�A�ԉu�馼�����
A�GD9|$����H�t$��A��A�ljH���F�H�t$�f���H��$��T$���8��
A���B���A���HcL$8H�t$(HDD$DE�L�H�D$���H�\$(�����D$8��@%?��D�C�����A��?D	�	�	Љʁ��	Љ�����	‰T$�����������H����?	��H�����	��p�����	��p����	��n�A���b����|$��2H��$��T$���H�
"H�
:�
�A������H�D$(H�L$ H��H9Aw�A/t�q4��u
�y8��|$����H�D$ �p4H�P����H;T$(���D��$�H�|$(H�H8D��$�D��$��D��$�D��$����k�A��逺��D����A���h���H�t$ HcN8H��H)�H�L$(H9��F��v<@81�9���tH�|$ H���O=8H��A�GD9|$�����H�L$��A��A�ljH���A�H�L$���D9d$�`����ۉMA��H���]�A��U��ɹ��A��H�l$����A��鱹���|$��B�T$H��$�H�
���"H�
:���A���n���H�D$(H�t$ H��H9Fw�F/t�N4��u
�~8���|$��i�H�D$ �p4H�P����H;T$(�J�D��$�H�|$(H�H8L��$��L��$�����A���߸��@D9d$�L����]A��H��A�ԉM�麸��1��I���D9d$�$����]A��H��A�̉U�钸����A�GD9|$��H�L$��A��A�ljH���A�H�L$�R����D$|DŽ$��|$x������D$�����H�D$p��$�9X�����H�D$ �@,�u�Ā������|$`��u����L$|���C
H�D$(H�\$HH9��V���H�\$ H9C��CD$`�����D$=��S��H��$��у��E��:��A���D$�z���A�x��q����?��%	ljȉ�����%�	�	������|$��H��$��T$���H�
"H�
:���A��D��$�L�L$���������D�A�����H�|$H��$�Hc���D�KA)�H��H��L��hH�I)�HcVHcD�\$<��)�E���|��~;A�D$D9d$�������D�EA��H���E��M�H��L9�u�H�|$��A�GD9|$�����D�A��H���G���H�D$(H�L$ H��H9Aw�A/tD�A4E��u
�y8��
�|$����H�D$ �p4H�P���oH;T$(���D��$�H�|$(H�H8L��$�D��$�L��$��L��$�D��$���L��$��U�A��D��$�L�L$�r����D9d$�ܱ���ۉUA��H���]�A���E��A���H�t$(1�H�NH9L$H�����1Ҁ~
��銽��H�T$(H�t$ H)��v<@82�A�����=( s- ��
��
�1�A����9�t	A���ʴ��A�D$D9d$�6�����H��A��A�ĉ]��E�靴��D��$�H�|$(H�H8����Y��f���A����$�A�{�@��A������$�%A��?�����D	��	ȉ����	ȉ���	���A��������$��|$I�sL��$�L��$��L��$�L��$����H��$��L$A������������H�����?��@	��H����?	��p�����	��p�����	��p����	��^��H�D$ HcH8H��H)�H9T$(��A���8������BA�D$D9d$������uA��H��A���E�������( s�����
��
�������9�t	A���Բ��A���u
H�l$A��A�CA�PA�L$f������9��.D9d$������H��A��A�̉]��E��y���H�D$ D��$�H�|$(H�H8�������A���M���A���D$�<����������$�������EA��EH�\$(�D$8�b�����$�A�xA��@��$���
��A����%A��?���D	�	ȉ������	ȋ�$�����	��]�A���D$鍱��A��鄱��A���D$�s���D9d$����]A��H��A�̉U��R���H�|$ H�t$(�O<8�qA���3���A�@H�L$(��$�HcD$8L��Q�H�\$PH�H�H9��p���H��D�X�A��A���A��E��D)�H9�u��J���A�D$D9d$�G����TH��A��A�ĉU��E�魰��A��餰��A�pA����
������?����	��	��~����	���������T$��) �f��D�L$�A��_ �k��A��0�^��A��/ ����L��A������A�D$D9d$������TH��A��A�ĉU��E����Hc�$�H�
�|$�H�
���$�Hc��QH�|����5�����( s�����
�I�������9�t	A���w�����~A���u
H�l$A����A�D$D9d$�ɫ���]A��H��A�ĉM��7���H�D$A��A���%�����$��D$`~'H�\$PH�D$XH��$�H)؉H�D$(H)؉A�����$��D$`�����������H�|$(1�H�OH9L$H����1��
������H�t$(A�D$H�VH9T$H�cD9d$����A��H�D$ ��H���]�A���E��@/�DD$�D$�Q���A�D$D9d$�������H��A��A�ĉ]��E��$���D9d$������ۉUA��H���]�A���E����I�s��L�A�:wuA�Bf����I�A�:wt�H�T$(H��L��$�A��H��H+L$X��$�Ph�H��$(PH�|$@L��$�肨��H�� ����Į����A�O����$���<}��8���D9|$�Щ��L��$�I�BH+D$0H�t$A�ωH���F�H�t$�޹��D9|$�������$�H�L$A�ǍT;�AH���Q�H�L$騹��D��$�H�|$(H�H8����������H�L$(H9����H���q���@���@��@��)�H9�u��p�A��鑬��A��鈬��1�A�����������u��A��E9�|	E���#D�L$<E����A�D$D9d$~�A�؃��ED�E�U���c9D$~��މUA��H���u��E�������7�����$�A�xA��@��$�uY��A������$�%A��?�����D	��	ȉ����	ȉ���	��8���A��鑫�����8��E�H������$�%@��?A��?��D	�	ȉ������	ȉ����	ȋ�$�����	��˼��H�t$(�~
tRD9d$�������H��A��A�ĉ]��E����H�L$ �Q<;T$t`A�����A���٪��A���Ъ��D9d$�A�����H��A��A�ĉ]�H�H�]�颪���D$`�����f.���8A�D$D9d$�����H��A��A�ĉ]�H�� �D$H�]��F���H�|$ HcO8H��H)�H�L$(H9�����w<@81������H�L$ H�D$(�y=@8x�}�A��E��H�\$�����RH���������|$_��	�������D$`���1���D9|$������$��D�O���H�t$ HcN8H��H)�H�L$(H9�����v<@81������~H�L$ H�D$(�y=@8x�{�A���>���Hc�HT$(��$������D�EH���E���x:I�EA�uE1�A�A�EA�H�D$�D$8���A���ب���D$8A��Ũ��H��A��鹨��H�\$PHc�Hc�H�H�H9��O���H���x���@���@��@��)�H9�u��,����A<;D$�k�A��D��$�L�L$�D$�D$|�H���A���D$�D$|�/����D$`��馤��A������A��A��H�L$����D������A����D��$�H�|$(H�H8���H�D$ tHc@8H�|$HH)�H9|$(�5�H�D$ H�P�ŷ��H�t$ H��HcF8Hc�H)�H��H�|$(H9������H���~<@89�������t��~=@8y������D$=�o�wt�� �d�v\�t$�����R����F����:��RH��<������ �A��E��H�\$���@��	��w���D$=) ���L$���_ ����0����/ u���A�SH�H���H��9�����L$9�v�1���H�t$ HcN8H��H)�H�L$(H9��"��~<@89�����H�L$ H�D$(�q=@8p����A��D��$�L�L$����fDA�HA���S������?%�������	�	Љ��	�����A�sH�H���H��9�� ����2�|$9�v�1������t$�������� ������t$�����}����q����e��IH��<������K��RH�����������6�A�C8�����$��A��A��H�T$���A��A��H�L$�ݤ��A���D$8�̤��D��$�H�|$(H�H8�����H�D$ H�P�&���H�t$ H��HcN8H)�H��H��H�|$(H9�����H���~<@89�������H���v=@8p�ٳ����H�t$ HcN8H��H)�H�L$(H9�����~<@89�����t}H�L$ H�D$(�q=@8p����A�����E�H������$�%@��?��A��?��D	�	ȉ����	ȉ����	ȋ�$�����	��^�A��閣���|$�����w~�� ���vf�|$������������������vH��<��������vH������������W���w��q�|$��) �J�|$���_ �Q��0�E��/ u��8�1�A�{@8>���&�1�A�{@8~�����~H�5A�S9��������v�V�����@��@��	������t$���߃�@����$����`�����_�����@��	�����A��D��$�L�L$����H�t$ �V<;T$tA�����A������tLA�D$D9d$�S�����H��A��A�ĉ]�H�� �D$H�]�魡��A��餡��A��雡��A���D$�D$|邡��1����F<;D$���A��E��H�\$�D$�D$|�L����A�KH�H���H��9��>��
�t$9�v�1��2��IH�������ƒ|$_��	����	��A<;D$���A���D$�D$|�̠�����tHH�|$ H�t$(�O=8Nt5A��骠��H�D$ D��$�H�|$(H�H8����aH�D$ Hc@8H�|$HH)�H9|$(�A���A���b���1�A�s@81���f�1�A�s@8q���S��IH�����������4�A��D��$�L�L$����D�F<;D$����A���D$�D$|�ܟ��A��E��L�\$�˟��A���Ÿ��D9d$�3�����H��A��A��U��E�隟��A�qf����9��}��A��H�l$�n��A���D$8�f����qH�
A�S9������^��I�Q����€���	����A��t$���߃�@�*���$�!���`�����_�������	�����A�����A���ܞ��A���Ӟ���vH�������ƒ|$_@��	�����A��A�P�/����?����%��	Љ����	Љ���	Љʁ�	��g��A���X���D�L$�ȃ�߃�@�\���$�S���`���=_���������	����7�1�A�����)��R�B�<������	����
�������H�L$(H)�H��H�L$ �I=8H�g��A��龝��A�C8B��������JH�A�C9��������V����2������t$��) �f��t$���_ �m���0�a���/ ���P��A<;D$����A��E��L�\$�D$�D$|����H�t$ H�|$(HcN8H)�H��H9�����N<8�����t:H�t$ H�D$(�~=@8x����A��E��L�\$鴜��A��E��H�\$飜��A��E��L�\$钜���F<;D$�A�A���D$�D$|�k���E�@����%@��?����A��?�����D	������	�	�	�	��,��A������E�K����%@��?��A��?D	�	ȉ����	ȋ�$������	ȉ�����	�����f.���AWAVAUI��ATUSH���H��$ H��$0H�T$H�L$4D�D$H�\$H�|$dH�%(H��$�1�D��%oZ�D$P��I��M����M������qH���hE��H��u��$(���Q��$(������$8���D$4�����\$����9���A�E=ERCP��A�M����D��%�D$$t;H�D$������P�x���E��$8A������P���A����9��&HDŽ$�I�E0H��$�H����	H�D$@H�������tH�VH��$����H�t$HHcD$D��$�A�mA�U$I��H��H�D$`LcT$4Ilj�H��$�I�G�N�4��$�H�D$8��%L��$��D$��������$��D$hD��%	�A�E&�D$l��A�U"H�H�L�H��$�A���u
��%��Q��D��%p��pE�= ��
vc=@��=P��	=0�d	����=PCRE��������E�H��$�dH3%(��
H���[]A\A]A^A_��h
=u�DŽ$��
DŽ$���$��D$��t
A�� �	H��$����ȁ�%��D$T������thA�E��� �E	H��$����D$0H�D$X���D$m�^H�^H�\$@���H�F H��$����D	�$����D�\$TE��uH�D$@H�����D$01��D$mH�D$X��@�~A�E���D$n��H��$����D$P���D$oL�l$(H��$���D�d$ A��@D�T$$E���BM������H��$�D�L$M��H��E����I9�r7�d@Hc�$�H��H)�H��I9�w��$�A8u�8I��L9�v/��$���t�E1�H�K8L�����uH��$�I��L9�w�H�|$(�D$ G���D�D$0E���CD:d$m��M9�s+A��T$m8�u�@I��M9�tA�8�tA8�u�f��D$ ��BH�L$@H��t�AtL��L)�9A(���L$P���L��L)�H=��HcD$0L�H9D$8���L$o8L$n�ZI9�vRH�p�H�t$88T$n��8T$o��H�D$8�t$n�|$o��H�P@8���@8���H��I9�u߸�������f�I��I9�������$����%Hc�$�H��H)�H��I9�w��$�A8M�eI�EI9�v�A�M����t�D�����u�H��I9�u�M���H�D$8f�L��$�H��L��H��HDŽ$�j��$HP�t$0D��$HL�D$0�L$,H��$����H�� ������|$l����t*��$�H��$�����I9���f.��T$I�G��uTL9������x�
u	L9���I����@H��H�K8A�L������s���H��$�����fDI9�v�A�W����t�@�����u�H��I9�u�L������������$�A8E�������������������$�A8E��������Hc�$�H)�I9�������$�A87�������������$�A8G�������|$T����H��$�H�D$`H�I9������t$����M9�r(���DL9��~I��M9��(H��$���$���u�Hc�$�H�I9�r�L����$�H)�@82u���tL����$�H)�@8qu�H�L$(�D$ A%���:������D�8
�+���H�L$(�A
������$��Q���v��$������H�����H�t$XH�����M9�����A�H�L$XH�ƒ�H�������s*����A�H�ƒ�H������������I��M9�u����D�D$hH�K8L������K����*���fDM9��W���E:'u�M���DE8'�?���I��M9�u��1���E1�H�K8L������k���H�t$(�D$ F%A��
�������$��Q��������M9������1�A�?
��I�����D$o�D$n���Hc�$�H�I9���L����$�H)�@82����tL����$�H)�@8q��H�t$(�D$ F%�"������������$(�����H��$�H�L$HH�\$H)ȃ�$(��D$4�C�������M��I)�D�[����H�D$@�b���DŽ$����M9������$�������L9�rOI�GI9�v0A�W����t�*f.������uH��I9�u�L��I���w����H��$�I���H�K8A�L�����t��N���H�H��$��D����D$o�D$P�(���H�H��$��
f��$����DŽ$������t$4H�|$HH�T$|��…�uu�l$��~�t$9t$4~A�����������A���A�MA�m����@�H���H���D$01�H�D$X�D$m�C����D$m�D$0H�D$X�)�����$(~H�\$�D$|�S������������A��A������������������I9���H�p�L$nH�t$8:�c���H�D$8�L$n�H�P8�K���H��I9�u����DŽ$��
���������H�������>�������4�������*������� �����������������D�����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx��CiB�B�B �B(�A0�A8�G� L�@L�B�
8A0A(B BBBA��Ba�BE�BI�BV�B?�BT�BE�BG�B]�B��BY�BE�BI�B^�BS�Bj�BE�BI�B[�B��B^�BE�BI�BV�B`��
F�B�B �E(�A0�A8�G��
8A0A(B BBBA��T�H�D�b��v7Tu��Ci�����	������0	AW^o��������$5Pi�
CX.annobin_pcre_dfa_exec.c.annobin_pcre_dfa_exec.c_end.annobin_pcre_dfa_exec.c.hot.annobin_pcre_dfa_exec.c_end.hot.annobin_pcre_dfa_exec.c.unlikely.annobin_pcre_dfa_exec.c_end.unlikelyinternal_dfa_execpoptablecoptabletoptable1toptable2.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_GLOBAL_OFFSET_TABLE_memcpy_pcre_ucd_stage1_pcre_ucd_stage2_pcre_ucd_records_pcre_ucp_gbtable_pcre_ucp_gentypepcre_callout_pcre_OP_lengthsmemmove_pcre_ucd_caseless_sets_pcre_is_newline_pcre_xclass_pcre_was_newline__stack_chk_failpcre_dfa_exec_pcre_default_tables_pcre_valid_utf$���������
��
�	A
��������s
 9%��������D&��������a'��������w
�%��������%&��������C'��������Y
��%���������&���������'���������
��%���������&���������'��������/%��������6&��������='���������(��������D%��������O&��������k'���������
z
��
��
��
�w%���������&���������'���������)��������
H_*��������L+r� %��������� &��������� '���������!%���������!&���������!'��������x$%���������$&���������$'���������%%���������%&���������%'���������'%���������'&���������''��������_+&��������o+%���������+'���������+(��������1,��������q1
x^2*��������L3+r{4)���������4)��������5)���������5)���������5-���������A%���������A&���������A'���������A(��������@C
�PC
��C.��������qD%���������D&���������D'���������D)��������.E
�>E
��E.��������RF%��������YF&��������`F'���������F(���������I
��I
�fJ.��������wK
��K
�L.���������M
��M
�_O.���������P.��������Q/���������R0��������,U%��������;U&��������SU'��������/X.��������/[)��������+].���������])��������r^-��������C_-���������_)���������_)��������`1��������Q`.���������a)���������a)��������rb)���������c-���������c)��������xd.���������d)���������e)��������?f)��������gg)��������n.���������p.��������	s.��������Zs0��������u0��������u3���������u4���������v1�������� �v  O������� �$O(&,	0[4F8J<�@mD�HuL�P}T�X�\�`gdkhl�pVt�x�|n� ���D�����^���������%��%��%��%��%��%��$��$�'��%��%��%��$�'�'�"�"�� �!��(��(�K(=',"!�(A&E&B&F& B&$F&(%,!%0{'4e&8b&<^&@5%D�'H�'Lt"Px"Tg!Xk!\-)`1)d�(h�'l�"p�!tE)xW)|[)��$��$�"*�&*�T(�X(��)�{)��$�>*�l(������������������������p�t�x�����I!�4 `����? $(�%,�%0�!4t$8�<|$@$D"H�$L�P�$T8X�\�`�d�h�l�p�t�$x�|����������������������������������������������	�	�	�	�	�	�	�	�#	�'	+	/	3	7	;	?	C	G	 K	$O	(S	,W	0[	4_	8c	<g	@k	Do	Hs	Lw	P{	T	X�	\�	`�	d�	h�	l�	p�	t�	x�	|�	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	�
�
�
�
�
�
�
�
�#
�'
+
/
3
7
;
?
C
G
 K
$O
(S
,W
0[
4_
8c
<g
@k
Do
Hs
Lw
P{
T
X�
\�
`�
d�
h�
l�
p�
t�
x�
|�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
���������#�'+/37;?CG K$O(S,W0[4_8c<g@kDoHsLwP{TX�\�`�d�h�l�p�t�x�|������������������������������������������������������#�'+/37;?CG K$O(,0s4w8�<�@	D
HL&P�T	X!\�`�d�h�l�p�t�x1|5�����6�:�-�1�5�U��R�E���������������P�T�������������t���7���'
+
/
3
7
;
?
	 3$7(�,�014589<)@SD�HILw
P{
T
X�
\�
`�
d�
h�l�p0t4xx||��#��#��#���P����#�R��e��e��d��d��d��_��_�d��c�f�14��5��4��4��4��4�[5�_5�65��5��4�yU��b�sbdbVb�a�a�aXf__�b &P$g(hg,Yg0`4�_8�]<�]@H[D�^H�fL47P87T�6X�6\6` 6d�7h�7lT7p�6t46x�7|27�67��6��6�6�6��7��7�R7��6�26��7 �Pi.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`h'p�v"@��-jw3jw=lwT8@��0	S�xb�x(]@��0|�x��x(�@�0� yB
 �@�4�0b�-|��S�����P����@�@�0 ��#	�hH��/111            1573057005  1667  135   100644  99128     `
ELF>�{@@
H�AHc�Hc<�H������AWAVAUATUSE�����Ap�������aL���L9���H�IP�D��B8���B�I)�H��I�L��@L9��N�D��B8u{H��H��L9�u��<�Hc�H��H��#DH9���
H��H���X�8_�u7H9�u�)�[]A\A]A^A_�A�II���DH��A9���D�	A9�v�[�����]A\A]A^A_�Hc�L�L9��iH���H9���H��L�-L�%H�-L�=��с����H���A�ʁ��wfH��9�t7A��A��A��A��Mc�G�A��E�Mc�G�LMN�L�AI9��'���L9�����H9�r�[�����]A\A]A^A_�f�D�O�� uF��A��?H����D	��{���DD�H�� uv��A��?H����D	��A���DD�_����D�w���4��A��?A��H����A���A��D	�A��D	�D	�����D�P��tFD�X������A��?A��H����A���A��D	�A��D	�D	������A��?A��H����A	�D�ʁ�D	��n���f���A��?H����A	�D�����D	��Y�����D�p���A��?A��H��A����A���A��D	�A���A��D	�D	�D	����D�t$�D�wA��D�t$�uK��E��A��D�t$���A��?A��H��D	�A���A���A��D	�A��D	�D	������A��D�t$�H����@A��?A��A���O�A���A��A�����?D	�D	�D	�A	΋L$�����D	��@����H��A��H��A����@A��?A����?A���A���A��	�A��D	�D	�D	�D	�����1��=���������f�AWAVI��AUATUSH��H�t$H�T$0�L$$L�D$L�L$(dH�%(H��$�1��D$@�D$DH����H�D$H�t$�@p�D$H�D$H�H�PH�H;F�)e��$�H;F��i���t4H�D$D�(D��D��A�����.H�=A��Hc�H�>��fDH�D$(L��$�dž�H��$�H��$�H�D$(�f�D��$�E��t{H��$�H)����1�)Љ�DH��$�dH34%(�����H�Ĩ[]A\A]A^A_�DH�D$�@f�D$8f����HD$H�D$�8wt������H��E1�E1�1�j1�H��$��[���_AX���y����H�D$�@(����sH�|$1�H���L9��	��ȃ����lH�D$D���E��tCH�\$I�FH9��w1H�H9C(u!�CHA8uǃ�A���m@H�D$H���L9�����|$I�F����pH�D$I���1���DL�=�L������H�D$�P��f����HD$H�D$H��H�D$�8w��H�D$D���H�D$A����IBA����<B�����u$H�D$H�|$�@f�D$f�����<w��H�D$H�|$H��H��D���H�D$�A�H�4��$�L����PL�L$8L�D$�L$4H�T$@���Y^��= �������H�D$H�|$�P��f����HD$H9�������H�|$�?w����8w�t��������H�D$L9���~fDH�D$���H�D$H���L9����L����BD)�D9���=H9����H���B�< t�<�t�<	t��1���f�H�D$D�`lE�����h|��tWH�D$L9����D���E���]���H�D$L9���K���ǀ�A���7������}���DH�D$H���L9���YH�|$�w(���lYH�t$H��HcV,Hc�H)�I9�w
�~HA8>��H�D$�����tHH�|$I�VH9��w6�H��H��!H9W(u$�HA8>uǃ������1�����f��D$PH�|$�D$8L�=�D$D���+��Lc��vH�D$ǀ�H�D$H�t$H��L���A�HƋ�$���PL�L$8L�D$�L$4H�T$@����AYAZ��=����i?= ����D������H�D$�P��f����HD$H�D$�8w�AtH�D$D�������`����L���@�D$`H�\$�s��f�t$8f��<(����<5���\$xE1�	����D$hH�D$H��H�D$H�|$H�D$H����AD� D��A�����D� ��[H�D$X��%���H�D$H�@��?	Љ�H�D$HH��H�D$�D$PA��-v_H�H�H�D$8��L�H�-��H�����‰ȃ��H�A�B�T��9�tH��$���H����D$PE���qxH�D$Hcl$P�L��$�H���I��H�D$pH)�L+d$XH�D$8�'H�T$XH�t$HL�����uLt$X��A9��xM9�sԋt$P���r[L9t$8�g[H��L��L������Q[I��f��D$PH�D$H�|$�@f�D$8f��D��C�$9G$�8���H��L$+���D$xH�D$HH��H�L�=H�D$`H�D$H���D$hH�D$`�D�D$pH�D$�@ ��D)�4��t$|H�t$D���Hc�H�t$X�T�� �����D���t���H�D$D���H�D$�@f�D$8f����HD$H�D$�8w��qH�D$H�x�@ H�t$��L��D)�H+�������v
dž�H�D$H�|$H���A�H�4��$�L����PL�L$8L�D$�L$4H�T$@�����XZ������3���H�D$H�|$����D$$H�D$XH��H�D$H���H�D$0H���L9�t&H�t$I���D$xD����"���f.�H�D$�@f�D$8f����HD$H�D$�8wt��g�H�D$E1�A�1��@f�D$8f�����D$HH�D$H�HD�T$D�9E��D��@��A�����<@����<D��A�� �A��%���H�AH�D$�A��?	�A��A��G�Q;E����<H�D$H���L9��[9��&@I��D9��������A9���<L9��.9A��Ё��vШ �@:��I��%���A�F���?	��fDH�D$�t$�@��f�D$8�Ղf����I)�H�D$L9���
���H�D$L9��vL���DH�D$�1���DH�D$E1�1��@f�D$8f��D��H�D$D�d$HH�H���f�H�\$�{��f�|$8f����H)�������iE1ɀ����i�J���������v��J{��v��v��wc�Cf����H�D$�H���H��t	9P�Q�H�D$H�t$����D$8f1�	Љ��9N$��t
���H�D$�<{��<xt	M9�� ��;����H�D$Q��$�H���WH��L��RL�L$8L�D$�L$4H�T$@�U�^_�Ņ��q�H�D$����H���[�H�D$���L�����u1�H�D$H��L��E1�H�p��$���PL�D$�L$4H�T$@����H�D$L��_AX������m@���-e������� ������H�D$H�|$�@��f����HT$H9��s#H�t$�>w��d�:wuH�T$�S���fDH�D$�@f�D$8f����HD$H�D$�8wt܅��������R�f.�H�D$D���H��A����uE1�H�D$H��E1�L��H�p��$���PL�D$�L$4H�T$@���AYAZ��H�D$���0s������$sH���� ����l?�����H�D$�@f����HD$H�D$�8w�q���H�D$�8x�����E���&���f.�H�D$�@f�D$$f����HD$H�D$�8wt�H�D$H�D$����D$$��f�H�L$A�A�1��D$H���H������@H�L$E1�A�1��D$HH������H�L$E1�A�1��D$H���H�������1�A��r���D$8H�D$H�D$�@f�D$Hf����D�$D9d$$��UH�D$H�xIc�H��������U�T)�A��f�H�D$�<b��Z<g�[<i��ZH�D$@��@���@f��D��H�D$�@f��f���и���E�H�D$�D$HE���e�y	E���Z�E�������fDH���I�A9��u�D�D$8H�L$D��L��D�������yӃ��H�D$����������H�|$L9�����H�\$L9�����ǃ����x���F�fDH�D$L�x�@f�D$8f����HD$H�D$��P����1j���H�����r��?�j��bH�D$����sH�D�,H���D$8����1��D$8����D$HE����r@H�D$L9���2r��e����vf� ��8��I��%���A�F���?	Љ��T$L��������`��A9��ZrH�D$L9����qA�D�D$��E��u�I���@H�D$1�H���H�D$�@f�D$8f����H�H9�t�Cf����H�D$H���H���QH����H�H����P9Pu�L9p u������1�A��tH�t$���D$8H�D$�@��H�D$f��Lc@4H�D$��H�D$�@f�D$Hf����A��HF@H�‹Ft�q���������A��f��u�ӯ���Lƒ��������f����D�$D9d$$~�H�D$Ic�H�x����xɋT�)�A���k���H�H���H�\$H�|$L��DŽ$��SH�\$��$�H�SH��$�H���H���H)�H��$�H�ى�$�H)�H�\$8��$�H�L$0H)щ�$��w�������H�t$f���҉�$����f�|$8f���҉�$��T$$��T$$���$������Dщ�$�H���H��$�H��H��$H��$�H��ЉŅ��n����H�D$���H�D$L�x�@!�P����of���H����~q��?�Mf��bH�D$"���D�A��E1�A����H�D�$H���D$8������ED$8�D$8D�L$E����rE����H�D$H���L9����A�I�vH��H����A��ȃ�������I��)���4DL9��T�I��A�N�H��H����A��ȃ������B�6A9�}�D;d$8���E�����D$����D;d$8�>�H�D$H���L9���A�H��H����A��ȃ������D$8L���D)�I�|�,H9��Ƿ�2H��H����A�������ָH��H9�u�H��E����I9����H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �Z�AYAZ�Ņ��t�H��I9�v�1��d�@H�D$�D$X�D$x�@f�D$8f��D��H�D$H���8�W�@�|$P�|$H���161ۃ|$H�x��E1�\$@H�X�@H�\$�D$DE9��^��D$x���ݤ�����>��
��-H���Hc�H�E9�>��fDH�D$H���L9���,A��\$�…��_=��
_� ��|��I��%���A�F���?	Ѓ�
��{�WH��
����H�H�D$D���E�����1��$�@H�D$D��H�H��A��.H�D$H����.)Ɖ��D�<H��t$h��D$`���lk�D$x����7�H�D$L9�����A�D�L$��E���
^=���]� ��{��I��%���A�F���?	�=���NH�� �
���G=����=����1��:�f�H�D$L�t$0��H�D$L9���o�A�D�T$��E���a]=��V]� �by��I��%���A�F���?	�=����.G�� �����F��	�^�1����H�D$L9���s*A�D�D$��E����\=���\� ��v��I��%���A�F���?	�=��L��.F��
�����1��+�H�D$A��D$X�D$xH������@H�D$A�����D$X�D$xH�����@H�D$L���M9���)A��L$�…���[=���[� ��t��I��%���A�F���?	Љ�H�=����L�H�|$8H�-Hc�����H�A�B�|�M9���EL�A��o@���%���A�F��?	Љ�D��H�\$8��H�����‰ȃ��Hc�H�A�B�L�D����A���nEHcƉ�I�M9��]E�D$A����t��Ⱦ���v�� �m������V�����A�F��?	�A�F��%�	Љ��Z���f�H�D$H�H��H�XH�D$H��HǀH�D$��H�D$�@H�HD$��$�H�ƍWL��RL�L$8L�D$�L$4H�T$@���A]A^�Ń��Y=�����X������������D�L$E���rpH�D$H���H�D$8L)�H���}'H�t$I�FA�8^���H�D$I������H�D$L9���;�D�\$H�D$E����Y�@��=��jwH�D$A��с���JvI��A������������H�=L���H�-H�|$8Hc���Ή������Hc�A�J�|�lj�9����9��5�1���f�H�D$H�D$D�Pf����HЀ8wt�H��H����$�H�ƍWL��RL�L$8L�D$�L$4H�T$@�<�AXAY�Ņ�����Q�f�H�D$H�H��L��H�XH�D$H��HǀH�D$��H�D$�@H�HD$��$��VH��RL�L$8L�D$�L$4H�T$@��Y^�Ń��uU=����jU�����H�D$H�\$� ���H�����@H���HD$��$�H�ƍWL��RL�L$8L�D$�L$4H�T$@�7�_AX�Ņ��R�H�D$H�|$� ���H����7��H�D$H�t$�@8�D$8���F8;F<�	�H�D$L�=�A�H�D$�@�H�HD$�Y�DH���HD$L����$�H�ƍSRL�L$8L�D$�L$4H�T$@��[A\�Ņ����H�D$����L�����@H�D$L9���S$A�D�l$��E���W=��W� ��q��I��%���A�F���?	�=��L�H�t$��H�N`����1���H�D$L9���ˊA�D�|$��E���V=��	V� ��q��I��%���A�F���?	�=��\�H�|$��H�O`��G�1����H�D$E1��D$x����D$`H���D$hH�D$H���f�H�\$�{��f�|$8f��A��B����A��O���\$HE1�E1�	���H�D$H�H��fDH�D$L9���W�D�D$E����TH�D$��@��=�v%� �K����%���H�D$�@��?	Ѓ��NqH�|$��A�H�OP�8���H�D$I�������H�D$L9���;�I��H�D$�����H�D$L9�����A��|$�…���T=��wT� �p��I��%���A�F���?	�=������=��
�����1�����DH�\$H�D$����@��f���t$8��f1�	���9K$��P��
������fDH�D$H�|$�@f�D$f���؍9G$����H�WLc�L�=J��H�D$B���D$8J���D�D$@�G )�H����D$D����D$HH��H�D$PL��H+����P������H�D$�|$H���H�D$H�|$P�@f�D$Xf����HD$H�D$H��H�D$�8w��A���vH�D$ǀ�H�D$H�|$H���A�H�4��$�L����PL�L$8L�D$�L$4H�T$@�,��AXAY��=������= ����<���H�D$H�|$�@f�D$Xf����HD$H9�����H�|$�?w�
����8w��������H�t$H�D$�D$P�^H��H�D$���������������@H�D$H�P�@�D$P�D$H������|H�T$A�A�����D$X�D$x�|$H��d�D$P�T$������@<�' H���Hc�H�>��H�D$�@f�D$8f��D��H�D$�xvH�X�7]D�#D��s<�u��H�Hc�H�>��H���HD$L����$�H�ƍSRL�L$8L�D$�L$4H�T$@�w����X����Z��D����@H�D$H�\$L���0D���h���Cf����H�H�D$L���;w��DH��H�sL����$���PL�L$8L�D$�L$4H�T$@������XZ���DD�� ���u��CH�|$��f����H�H9�������;w�s����:w�����e����H�D$�D$`�D$h�@f�D$8f��D��H�D$D�|$xH��H�D$H���f�H�D$A��D$x����D$`H���D$hH�D$H�����H�D$�@h������1��9���H�D$H���L9���LH�t$�v(���}H�\$HcK,H)�I9�w
�CHA8�v�����������H�D$���������H�\$I�VH9�������H��!H9S(�����[HA8����H�t$dž����2�1��{��H�D$D�xhE����MH���L9��~��H�t$L9���l��H��v(���ZI9��U��H�S,D�D$L��H��H���������1�����H�D$E1��D$x�D$`H���D$hH�D$H�A��f.�H�|$�D$X�_��f�\$8f��A��\��D�����D$xH��H���]�fDA�E�H�H�L$D�,H���D�<��H�������t$xE��DD�H�AH�D$��D$P�D$H����� %�D$XE�������D�������fDH�L$H�H��A��H����H)É�D�$H���D���E���SZ�D$H������@H�D$�D$x�@f�D$8f��D��H�D$E��H�H�;�����D$`���L;t$0uA���tH�D$H����+|A��H�D$�t$$�H�\$0���L���������H������@H�D$L9���_�A��L$�…��8L=��-L� �(i��I��%���A�F���?	�=�����H�|$��H�O`��Y��1����f.�H�D$L9���kA��t$�…���K=���K� ��h��I��%���A�F���?	�=�����H�t$��H�N`�����1��"��f.��\$H�D$���IL9���D1�H�D$L9����JA��Ё����� �����%���A�F��?	�H�D$D�PxE����������1�H�\$��1���;H�Ku9��„�����H�L$����@H�\$H��L����$�H����H��PL�L$8L�D$�L$4H�T$@�
��AZA[�Ņ��$��@�Cf����HÀ;wt�H�CH�D$�s���H�D$H�H��H�XH�D$H��HǀH�D$��H�D$�@H�HD$��$�H�ƍWL��RL�L$8L�D$�L$4H�T$@�_��Y^�Ń��G=�����F������c��H�D$H��H�������G��H�D$����L����1��f�H�D$L9����}A��l$�…��~I=��sI� ��d��I��%���A�F���?	�=�����H�\$��H�K`��i��1����f.�H�D$L9����A�D�d$��E���LI=��AI� ��c��I��%���A�F���?	�=�����H�\$��H�K`�����1��0���H�D$H�t$Hc��H��I9�����1�����H���HD$��$�H�ƍWL��RL�L$8L�D$�L$4H�T$@���A_��X���DH�D$L9���s|A��t$�…���G=���G� �Db��I��%���A�F���?	Љ�H�=L�H�\$��H�-H�|$8Hc���щ����ʀ{
Hc�A�RH�T����sH�
Hc4�H�>��fDH�D$H����Pf����HЀ8wt�H��H�D$�;�����������A�V�I�F�����uDH�������t�H�\$H9��vH�����с������� �m��@������?	�H�D$D�XxE���q�����8���H�\$�оH�K`�� ��������O�H�D$H���L9�����T$DH�L��L��fD��l$�ȅ���.�����.� �3B���%����C��?	Љ�L���@H��9��l.�9�v�D�\$@E��tDHc�A��H�E9�t5H9�w�H�D$D���E��tH9��sǀ�A���7�f�D�D$XE��t,I������S�����udH���H�����<�t�I9�sOH��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ ���^_�Ņ������L$H�C���u�H��I9�r�I��������H�D$L��H���L9��]zH�L�L�H�D$8H�-�f.������� ��L���%����C��?	Љ���H�T$8��H�����‰ȃ��H�A�B�D�A������ƒ�_��	���9D$@�����Hc�A��H�E9������H9���y�D�d$��E���Y�������H�D$L��L���M9��$���H�L�L�H�D$8H�-�fD������ ��K����%����C��?	Љ���H�T$8��H�����‰ȋL$D���H�A�B�D�A9�����9D$@�����Hc�A��H�E9������L9��q����D�d$��E���f��������H�D$L��L���M9��9���H�L�H�D$8H�-�f.������� �vK���%����C��?	Љ���H�T$8��H�����‰ȃ��H�A�B�T��B�<������	���9D$@����Hc�A��H�E9������I9��������T$�ȅ��`��������H�D$L��H���L9�wi�M���D���ve��� t)���t���t1�������f.��t$@���4���H�A��H�E9��"���H9�����|$���u�����{�H�D$L��H���L9�wX������$����`���=_���������	���9D$@�����Hc�A��H�E9������H9��e����D�L$��E���.����.� �'I���%����C��?	‰Ѓ�߃�@�h��������H�D$L��H���I9���L�L�L�
L��f��� ����������������������H�A������Ѓ��H�A�BA�D�A�<�����9D$@�����Hc�A��H�E9������H9��G�����L$�Ѕ��^(����R(� �3<���%����C��?	�t2�,�����) ����_ t��0t��/ �7���@�D$@���a�������c�H�D$L��L���M9������H�L�L�H�D$8H�-������� �H���%����C��?	Љ���H�T$8��H�����‰ȃ��H�A�B�D�A���������9D$@�8���Hc�A��H�E9��%���I9������t$�ȅ��c������x�H�D$L��L���M9������H�L�H�D$8H�-�������� ��F���%����C��?	Љ���H�T$8��H�����‰ȃ��H�A�B�D�;D$D����9D$@�V���Hc�A��H�E9��C���I9��
����D�L$��E���g��������H�D$L��L���M9��sH�L�H�D$8H�-������� �xF���%����C��?	Љ���H�T$8��H�����‰ȃ��H�A�B�D�;D$D����9D$@�v���Hc�A��H�E9��c���I9��gr�D�\$��E���g�����H�D$H��E1�H��L��ǀ���$���PL�D$�L$4H�T$@�����XZ�������t�� ����!��Ic�H؀x�wH�D$����A����/��H�D$L��ǀ�U��$���PL�L$8L�D$�L$4H�T$@H�t$ ���A\A]������H�D$H���H��t�D�@4�C�{H�T$f��f������A��HB@H�ƒ�f���P�����~f����9����Ic���f����9������H�u�����H�D$H���H��������Sf��f���t��9P���L�=��A�H�H�D$����H�D$�sH�T$�x4�Cf����f��������HB@H��f�������Hc�@�f�����9D$$~H�|$H�H��<��������H�u��O����Cf�����9D$$�8���H�|$H�H�D��E��� ���L�=���6���H�t$H��NH���H��9��&��
9�v�A���6��1������RL�A������ƒ�_��	�A����8�����1����f�H�D$�8X��A����8�����1����@H�D$�z@8x��A����8�����1��j��f��RH�D$L��@A9���A����8��v��1��7����BA�����P�����<��	�8��E��1����fDA���.��1�������ƒ�߃�@�&���$����`�����_���=����	���A����8�����1�����=�F{�W{�� �7{�%{=��&{=��{=��{�BL�A�<���A����8��m��1��.��fD�BL�A����A�������8��9��1����H�D$H���L9�����3I�����t��?�B���������A9����L9���A��Ё��v�� �y��I��%���A�F���?	��H�D$H���I9��3���7I������W���D=�B����E����A9���I9����A��Ё��v�� �y��I��%���A�F���?	��H�D$H���L9�v`L���A���xH�\$H�K`�����I��L9�v+�F��<�t��A���<���\I��L9�u�A9��o�H�D$���������1��m���H�D$Ic�H���H�D$8H)�I9��u��Iֿ�����M��H�D$H���L9��}��I�VH9��$�A�F��<�t齣���<��tbH��H9�u�A9��=�I�ο��������H�D$H���L9��"��H�D$�p(����aH�D$Hc@,H)�H��I9�wH�D$�@HA8�[}���������H�D$D���E����?H���I�NH9���eH�H�t$H9F(�z�I��A9���E���O��H�D$L9���=��ǀ�A������1����H�D$H���I9��M�A������H�\$H�K`�����L���H9��#�������������H���BD)�D9�~�I�ֿ�������H�D$H���L9��R����	�j����A9��>�L9��-A���=��xZI��=�5����;�� �&��v�=����=�u�1�����H�D$H���I9��L?��DI��=t$��;�� t��;=�t=���������A9����I9��?A���=�v�� ��u��I��%���A�F���?	��H�D$H���L9���>��3I����wH�\$��H�K`��b����A9���L9���>A��Ё��v�� �ig��I��%���A�F���?	��H�D$H���L9��Y����A���=���wI����
���ob��
�Fb��A9����L9�w�����H�D$H���L9�vgL���A���xH�\$H�K`������I��L9�v+�F��<�t�{�A���<��8YI��L9�u�A9����H�D$������5���H�|$L9���#���H������H�D$H���L9��l�A��������H�\$H�K`����L���H9��B�������������H���BD)�D9�~���H�D$H���L9��<�A��������H�|$H�O`��|���L���H9�������c�����Y���H���BD)�D9�~����D������fDǀ����������I����A�F���?	�A�F���%�	��\��H�D$H�t$����D$$H���L�H�D$H���H�D$0H���L9�tI���D$8���DH�D$�@f�D$8f����HD$H�D$�8wt�����A����@����H�H�H�D$8D��L�H�-��H������D�����H�A�BD�l�E�E���H�D$H���L9�����2�I��D9��۾��D9��Ҿ����A9���L9���A��Ё��vǨ u��I��%���A�F���?	�뭐��h��I����A�F���?	�A�F���%�	��|���H�AH�D$A��G����D�L$E���~��E��~ZH�D$H���L9��|*I�FA:����I�ƸD)�� f�L9��Q*I��A:V����B�1D9�~�D9d$H�!������"��D$���z1D9d$H���H�D$H���L9���\A�D9��l��D$H��D)�I�\L���H9���\�D9��`H��H9�u�E����I9��X���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �ѷ��A\A]�Ņ����H��I9�u��
���DH��H�D$H�D$HD� A��-�DE���SkH�D$H���L9���A�I�VD9�������H��)Љ��!�H9���H���C�D9�������D9�~�D9|$x���L$h����D9|$x��H�D$H���H9���W�D9����D$x��D)�L�tH����H9���W�D9��=ZH��I9�u�D�|$`E���@���L9���H��L��I����$���PL�L$8L�D$�L$4H�T$@H�t$ �h���A\A]�Ņ������I9�u�騶��H�|$D��H�WXD�,E���QH���L9���A�D9�t	D9��d���L��H���CD)�D9��H9����A9�t�A9�t�1�����H�D$H�t$�P��f����HD$H9���߶��H�|$�?w������8w�ȶ��H�D$�Ż��fD��(��I����A�F���?	�A�F���%�	Љ��8��fD��( �<������
�`��(���B����G��������I��%��A�F���?	�A�F���%�	�A�F���%�	�鑿��D�� ��I��%��A�F���?	�A�F���%�	�A�F���%�	����DA���~�����A��?	��A��%�	�A��H�AH�D$�վ��H�D$HH��H�D$���DH�\$D�L$D��H�SXD�,E���U���E��~dH���L9���.A�D9��G���D9��>���L���'f�H9���.�D9�����D9�����H���BD)�D9�~�I��D9d$H�A������:��D$����/D9d$H�|�H�D$H���L9��AgA�D9��Z�D9��Q��D$HL���D)�I�L��H9��
g�D9�tD9�t	H��H9�u�E����I9��g���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ ���AZA[�Ņ������H��I9�u�����@H��E1����H�D$����f.�H�D$H�t$�@f�D$8f����HD$H9�������H�|$�?w�����8w�����������������������h���1��a���f�H�D$H�|$�@��f����HT$H9���/���H�t$�>w�n����:w����H�T$����|$H�qH�Y�D$XA���yH�\$A��A��t$D�D$@H��E������<
�����H�Hc�H�>��E���׶��H�D$�H���� @<�v-� �D,I����A9��
eL9���2�l$A���u�I����H�D$�H����AfD��$����`���=_���������	���9D$@�A�����A9���kL9��b2A�D�D$��E���@����4� ��'��I��%���A�F���?	‰Ѓ�߃�@�n�����H�D$A�оH���H�L���L9��_�A�D�T$��E���{����o� �o��I��%���A�F���?	Љ�L���H��9����9�v�E���E�����A9�}��	���H�D$�L�L�L�H�=H����}������� ��&��I��%���A�F���?	Љ����H�A����‰ȃ��H�A�B�D�A������ƒ�_��	�D8��������A9��RjL9����A��l$�ȅ��i���I���H�D$�H�-H�L�L�L����x@�� ����������������������H�A������Ѓ��H��CA�D��|���A8��ȳ����A9�����M9���/A�D�d$��E���w����k� ����I��%���A�F���?	�t3�5�����) ����_ t��0t��/ �@���DE���g���1�����H�D$�L�L�L�H�=H����}f������� ��$��I��%���A�F���?	Љ����H�A����‰ȃ��H�A�B�D�A�������A8��������A9���gL9��+�A��T$�ȅ��q���I���H�D$�L�L�H�=H����h���vt� �C%��I��%���A�F���?	Љ����H�A����‰ȃ��H�A�CD8���D8��ױ����A9���gL9���A��l$�ȅ�u�I���H�D$�L�L�H�=H����lfD���vw� ��$��I��%���A�F���?	Љ����H�A����‰ȃ��H�A�CD8D���D8��&�����A9��*gL9��G-A�D�d$��E��u�I���H�D$�L�L�L�H�=H����v@������ ��#��I��%���A�F���?	Љ����H�A����‰ȋL$D���H�A�B�D�A9���D8��b�����A9���eL9���A��T$�ȅ��s���I���H�D$�L�L�H�=L����|D������ �I#��I��%���A�F���?	Љ����H�A����‰ȃ��H�A�B�T��B�<������	�D8��������A9��MeM9����A��\$�ȅ��n���I��떁�( �,��������
�X��������B����G���������|$H��>�D$P�T$�����k<���H���Hc�H�>��E9��<�H�D$L��H���I9�rA���
1҃���1��|$H��9��[Hc�A��H�E9��HH9�������=�v � ��a���%����C��?	�=��Vgv�-( 1҃����E9����H�D$L��H���I9�rX�l�� �[�j)�=�t
1�=���1��|$H��9���Hc�A��H�E9���H9������=�v � ��^���%����C��?	�=�|Z�k���=/ �kZ�(�=_ �o���1�=0���`���E9����H�D$L��H���L9������Ё��v � �3K���%����C��?	ƒ�
��A��
t.H�D$��������B���v���t�������w|Hc�H�A��E9�tmH9��z���H�D$D���E��tS�$H�\$D��D)�H���H��L)�9��&�H�D$D���E��tH;��vǀ�A���5vD�|$XE������I9��s��H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �ʦ��A\A]�Ņ�����S�H�C��у���uf.�H����у���t�
��I9��„�t�|$H��_I9��$H���j���A��������H�D$D���H���E���*���H9����������E9����H�D$L��H���L9��T�H�D$�p(���AHH�D$Hc@,H)�H��H9�wH�D$�@H8�ag����������H�D$D���E���b'H���H�KH9��NPH�H�|$H9G(�uA�EH��A9��c���H�D$H;���Q����8���E9���H�D$L��H���L9�wS����f.�� ��V���%����C��?	��v.Hc�A��H�E9����H9��x�����Ё��w��H�L$��H�I`�t����E9��S�H�D$L��H���L9�wK�.���f�� �?V���%����C��?	��v.Hc�A��H�E9��U���H9������Ё��w��H�L$��H�I`�t��$���E9��ÄH�D$L��H���L9�wK���f�� �QU���%����C��?	��v.Hc�A��H�E9�����H9��X�����Ё��w��H�L$��H�I`�t����E9��3�H�D$L��H���L9�wd����f�� �Z���%����C��?	���D���H�L$��H�I`��/���Hc�A��H�E9�����H9��������Ё��w���E9����H�D$L��H���L9�wg�y���D� ��X���%����C��?	�������H�L$��H�I`������Hc�A��H�E9������H9�������Ё��w���E9���H�D$L��H���L9�wg���D� ��Z���%����C��?	������H�L$��H�I`������Hc�A��H�E9����H9�������Ё��w����I�����I����H�W,D�D$L��H��H����������H�D$H�|$H���HcW,H)�I9��x���H�D$���DE���r�1�鈢����.��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ���������fD����fDD�T$@E����������L��f�D9|$x����D�\$hE���F�D9|$x�pH�D$H���H9��LA�D9�t	D9���o�D$xH�ڃ�D)�L�t@H��I9�tH9��A�A9�t�A9�t�I��D�D$`E�����L9������H��L��I����$���PL�L$8L�D$�L$4H�T$@H�t$ ����^_�Ņ�t��/����-( ���ʣ��1�����-( �������1����=���������-( �������1��Ҡ����	�y���1�� ��f.�=������=��R���1�雠��=/ �������- ��
�)���1��r���f.�H�D$D���M9�����E�������H�D$L;�����ǀ�A���Ԣ��������f�=/ �����vC=_ �����=0�����1����fD=_ ���=0�����1��˟��- ��
�j���1�鳟��I�����L��@H�D$����������H�|$H9�������LJ�������1��a���L��fDH�D$������m���H�\$H9���Ю��1��,���@�����I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��j���fD�����I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	����fD���H�D$X����H�D$H�@��?	�H�D$H�@��%�	Љ�H�D$HH��H�D$���A������%���A��?	��A��%�	��A��%�	�A��H�AH�D$�;���H�D$�������L9t$p���H�|$L9���3���1�駝������H�D$L��$���$�L��$����H��$���$�H�D$L���Hc@ ��$����H��$H�D$8H��$�H�|$Hc�$�L�=H��H�wH��$�H���D�+A���vH�D$ǀ��H��L��A�H�4��$���PL�L$8L�D$�L$4H�T$@蔛��H��$���H�D$H�xHc�$�H��H���H�|$��$�H��$����H���XY����8������y8������=<���)=H�D$L����Cf����HÀ;w����H�D$H���H��$�H;D$8�,���H�����H�D$Ic�H���H�D$8H)�I9�����H�D$��������H�\$L9���ٟ��ǃ����N���1�闛��H�D$�@t��������A���%���������s���<�S��H���Hc�H�>��H�D$H���L9���kL����BD)�D9�����H9���kH���B�<
����<
v�<�t�1�����H�D$H���L9��/yL����BD)�D9��I��H9��yH���B�<
r�<
�ȝ��<�u�1�鵚��H�D$H���L9��lH�H`A�������L���H9��l�������H���BD)�D9�~�����H�D$Ic�H���H�D$8H)�I9��������H�D$H���L9���hH�H`A���;���L���H9���h��� ���H���BD)�D9�~��P��H�D$H���L9���uH�H`A�����L���H9��{u���ʝ��H���BD)�D9�~����H�D$H���L9���jH�H`A�������L���H9���j���t���H���BD)�D9�~����H�D$H���L9���gH�H`A���9���L���H9���g������H���BD)�D9�~��N��H�D$H���L9��iiL���	H9��^iH���B�< �����<������<	������BD)�D9�~����H�D$H���L9��Z��L��I���<w3<��<<
�_�����A9��3���L9��"��L��I���<v�<
�M<L9���~�z
�σ��D9�~���H�D$H���L9����M��L��D)�D$`�D$`��؉D$8H�D$�p(����8H�D$Hc@,H)�H��H9�wH�D$�@H8��T����������H�D$H�SI��D���E����$H���H9��?H�H�t$H9F(��cD9l$8�/���D��H�t$L;���Z���H�����H�D$H���L9��!~H�H`A���+���L���H9��~������H���BD)�D9�~��@��@����Ɩ��H�D$H���H�D$0�<�t<w�Κ��fD�Cf����H��<wt�H�t$���L����|$$M9�t<x�ȄH�CH�D$M���˕���D�D$8H�L$D��L��D���`����������H�I�隕���P�H�H�D$D�,H�������D$H������ED$H�D$H�����J��I����A�F���?	�A�F���%�	Љ��y���]��I����A�F���?	�A�F���%�	��;�<�f��H���Hc�H�>��E9��arH�D$H���L9��G|A�G�L��D)�I�L�H��H9��FH9����<
�2<
v�<�t��%E9��rH�D$H���I9���{A�G�L��D)�I�L�H��H9���H9��v�<
r�<
��<�u���E9���qH�D$H���L9���{H�H`A����qA�G�L��D)�I�t�H9�����GNH��H9�u�H���`E9��?qH�D$H���L9��%{H�H`A���qA�G�L��D)�I�t�H9�������MH��H9�u��E9���pH�D$H���I9���zH�H`A����pA�G�L��D)�I�\�H9��0d���}MH��H9�u��E9��xpH�D$H���I9��^zH�H`A���QpA�G�L��D)�I�\�H9���c���MH��H9�u��4E9��pH�D$H���I9���yH�H`A����oA�G�L��D)�I�\�H9��fc����LH��H9�u���E9���oH�D$L��H���I9�sH���
��0��
t%H�D$D���E�����B���v���u|H��A��E9�toH9�r�H�D$D���E��tYH9��sP�:H�\$D��D)�H���H��L)�9��yH�D$D���E��tH;��vǀ�A����_D�T$XE�������I9�����H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �z���AXAY�Ņ�������|$HH�C���I9��|�{�
�dH���E9��dnH�D$H���I9��͆L��E��H�D$�x(���95H�D$Hc@,H)�H��H9�wH�D$�@H8E��W��������yH�D$H�UH��D���E���u$H���H9��oBH�H�t$H9F(��^A�D$A9�����H�D$H;����������E9���mH�D$H���L9��ywH�H`A���lmA�G�L��D)�I�t�H9��������3JH��H9�u����E9��.mH�D$H���I9��wA�G�L��D)�I�L�< t<�t<	����H��H9�����H9�u����E9���lH�D$H���I9���vA�G�L��D)�I�L�< �����<������<	�����H��H9������H9�u��/���L��H�D$����������H�\$H9�����1��R�����=��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ�鰟����"���%��A�F��?	�A�F��%�	�A�F��%�	Љ�騨��H�D$�@f����HD$H�D$�8w�Z����,������������C��?	��C��%�	Љ�鶽�����������C��?	��C��%�	����H9��T���A�N����t�B���D������.���H��H9�u�� ���H�\$H�t$Hc�D�C H�~H�4�D��H�7)Ë�H�\$�L��H+���D79L$$�ۗ��HcD$$H��H9�vDH���@�����H9�w�A�D$$鬗��H�D$H����H���U���H�D$H�������H���w���H�D$D�hlE���L���D���E���ď��L9��������g���L9����L9��rH�t$I�F�H���H�D$D�HxE���
.A�F��<_tSH��H�5��H��L�H�-H�t$8��L��1����H�A�B�D�A�����@��H�D$L;���A����_�����H�H�=H�D$8H��L�L�H��������‰ȃ��H�H�-A�B�D�A����������J���H�D$H����H�����H�D$H���L9��^����S���H�\$H���HcK,H��H��H��H�|$8H)�I9�w
�^HA8��C���"���H�|$(L�OH�?H�|$(����H�D$L9����D1�H�D$����������H�|$L9�������LJ����r���逎���H�D$H�HPH�D$�PA��8����I��H�D$�B���I������I���6���I�����I���[���I��頫��I�����I������I���%���I��鯶��I���6���I���
����PA�I�N8�����A�� ��+H�D$I��鳉��I������I�������U��I����A�F���?	�A�F���%�	��9�������I����A�F���?	�A�F���%�	Љ��!�������I����A�F���?	�A�F���%�	Љ������I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��Ԓ����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��+����!��I����A�F���?	�A�F���%�	Љ��C����3��I����A�F���?	�A�F���%�	Љ��������I����A�F���?	�A�F���%�	Љ��������I����A�F���?	�A�F���%�	Љ�����D9d$H��H�D$L��H���L9�wI�+��%����C��?	к��D9���Hc�A��H�D9d$H��H9��p+���ȁ��vǨ t��u&�����C��?	��C��%�	к��뙨���%���C��?	��C��%�	��C��%�	к���V���L��E�������I9��q���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �ȅ��A_��X������S�H�C�H�Ã���u��H�����<�t�됋D$PD$8���1�飆���\$x���̐��H�D$�\$h�t$pD�\$PH�xH�D$H��H�D$`�\$|�tH�D$�@ D)��E�������1��K������I�����L��H�D$������I���H�t$H9���z���1������D$H�D$!�����D$8E1�A�E1����A��D$81��D$H�(������H�D$X��%��H�D$H�@��?	�H�D$H�@��%�	�H�D$H�@��%�	Љ�H�D$HH��H�D$�)���������%���A��?	��A��%�	��A��%�	��A��%�	�A��H�AH�D$�b��������������1�����D9d$H��H�D$L��H���L9�wQ��)@���%����C��?	�D9���D9���Hc�A��H�D9d$H��H9���)���Ё��v�� t��u$������C��?	��C��%�	�뒨�����%���C��?	��C��%�	��C��%�	��Q���L��E�������I9��6���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ 荂��A\A]�Ņ�������S�H�C�����u�H�������t�H��I9�r�I��顂��=/ �n���w|- ��
����1��O������	����1��8�����������i���1��"���f.�=/ �U��vC=_ �H��=0�=��1����fD=_ ���=0�p��1��˂��- ��
���1�鳂����� ������C��?	��C��%�	Љ��U������������C��?	��C��%�	��¶����� ������C��?	��C��%�	Љ�������������C��?	��C��%�	Љ��$����� ������C��?	��C��%�	Љ��s������ ������C��?	��C��%�	Љ��ڷ������������C��?	��C��%�	Љ��t���- 1҃����i��D9|$x������L$h����sL��D9|$x�H�D$Hcl$PL��$�H���I��H�D$hH)�L+d$XH�D$8�1�H�T$XH�t$HH�����uH\$XA��D9|$x��I9�sыD$P����$H9\$8��$H��L��H�������$H��1҃�	�����H�D$I��H���L9�w�/���I��L9��"���A���<�t��D9�������'����H��H��H��$�H����kH��$H�D$8���H�D$H�x9L$$��3Lc�H�D$H�t$�@ )Ћ�B��L��H+��B�D�9L$$�A�D$$H�D$����H���H�D$0�	���H�D$����������H�t$L9���K�1��v��H�D$H��H���H9�w�$@H��H9���$���<�t�A��E9��������ǀ��ފ��H�\$HcS,H�I9��,���L���sHH)�@80�����������L���[IH)�8X�����1���~��fDH�
H���DŽ$��@H�|$��$�H�D$H���L��H�@H��H�t$8H��$�H�D$H���H)�H��$�H)lj�$�H�T$0��$�H)�H�D$��$�������@f�D$8f������$�H�D$�@f������$��D$$��D$$���$�H�D$�����D‰�$�H�D$H���H��$�H�D$H��H��$H��$�H��щŅ���r��}���H���A)�醡��ǀ��N���D�D$HE1��q����D$`�D$`�D$x�Â��H�D$������i���H�t$H��L9���9���1��%}��1�<i@��<m�����D$HH�D$�@f��D��H�D$�@f��f���и���E�H�D$�D$8E���:���D;l$8�;|������D;l$8��H�D$M��L9��wt�)9fD���vp� �p���%���A�D$��?	Љ��T$L��������jHc�A��I�D9l$8�UH�D$L9����8A�$�T$�ȅ�u���H����D$HD�,H�����D$8�������D$8���E���@���������Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �|z��^_�Ņ���{��D9l$8����H�D$L9����1A��|$���hi=��]i� �i��I�^%���A�F��?	ЋT$L��������Q��A��I���M���D��S�����A�D$��?	�A�D$��%�	Љ��w���E1�<iA��E1�<mH�D$A���@"f��D��H�D$�@$f��f���и���E�H�D$&�D$8銎����e��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ������g��I��%��A�F���?	�A�F���%�	�A�F���%�	������{�
���H�C�I9�����"y��=�����y��H�D$�<�tI<wu+�H�D$�@f�D$f����HD$H�D$�8wt�H�D$�@f�D$f����H)D$H�D$H�t$H9��{y��1��ty��E�������H�D$H���L9�������L�� ut��I��%���A�F���?	Љ����v1A��n�@}����A9������L9��-��A��ȁ��w�I�����A��ȃ���r�1���x��fD�u*��I����A�F���?	�A�F���%�	Љ��x����u=��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ��7��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ������I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��d���H�D$L���M9���mH�D$A�L�H�-�D���H�H�D$8@A��|$�ȅ��������� �'��I��%���A�F���?	Љ���H�t$8��H�����‰ȃ��H�A�B�|�M9���L��QfD���H�T$8��H�����‰ȃ��Hc�H�A�B�L�����A����HcƉ�I�M9�vu�t$A���t��Ⱦ���v�� u&���%���A�F��?	Љ��{���fD�u\�����A�F��?	�A�F��%�	Љ��F����E��t	M9���A��E9������M9�������ϵ����uT���%��A�F��?	�A�F��%�	�A�F��%�	Љ�����fDI�������������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	Љ��h���H�D$L9��sǀ�A���K]E9�������������I����A�F���?	�A�F���%�	Љ�������%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	Љ������m��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ�� ���H�|$H�D$��OH�����v)��� t���t���t����҃�H�\$Hc�H���H��L)�H9���^H�|$��H�tH�t$I��H��A�~�@8x���w��H9D$u��!s��������%���C��?	��C��%�	��C��%�	����������%���C��?	��C��%�	��C��%�	Љ�鈢��f����f.�������*}��H�t$I�F�H9���w��A�V�����u�H�������t�I��뼨�����%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	Љ��o�����D)�D9��V���H�D$H���H9���v��H���l�������%���C��?	��C��%�	��C��%�	��C��%�	к���"��A�HD$�q����A�V��I������?	�A�F���%�	��8�����-��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ��������I��%��A�F���?	�A�F���%�	�A�F���%�	Љ���������I��%��A�F���?	�A�F���%�	�A�F���%�	Љ������
��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ�������A�V��I������?	�A�F���%�	��+�����m��I��%��A�F���?	�A�F���%�	�A�F���%�	Љ��W�����A�V��I������?	�A�F���%�	�餝�������I��%��A�F���?	�A�F���%�	�A�F���%�	Љ��������A�V��I������?	�A�F���%�	��a�����A�V��I������?	�A�F���%�	��	������A�V��I������?	�A�F���%�	��W������A�V��I������?	�A�F���%�	��I������A�V��I������?	�A�F���%�	��Ϗ�������I��%��A�F���?	�A�F���%�	�A�F���%�	��ɼ�����A�V��I������?	�A�F���%�	�醆��A��ց���GI��H�\$H�tH�t$9���m����H�5L���H�t$8H�-��Ή������Hc�A�JD�9��am��1���m��fD�� ����I����A�V�����?	�铉����|A�V��I������?	�A�F���%�	������dA�V��I������?	�A�F���%�	�����L9��:H�D$D���E����o��L9����o��ǀ�A����o�����m������A�V��I������?	�A�F���%�	��a���� �y��H�|$%���H�D$H�_H�\$�@��?	��i������A�V��I������?	�A�F���%�	�����A�D$A9����H�t$H���H9��j��H��A�������LI��鮹��E9��ZH�D$L��L���M9��'XD���H�L�A�H�D$8H�-fD��T$�ȅ��/����#� �u��H��%����C���?	Љ���H�t$8��H�����‰ȃ��H�A�B�|�L9���L��k����%����C��?	Љ�fD��H�T$8��H�����‰ȃ��Hc�H�A�B�L�D����A��tjHcƉ�H�I9�v]�D$����t��Ⱦ���v�� �v������������C��?	��C��%�	Љ��e���DE��t	L9��|A��E9�t0L9������E��t"H�D$H;��vǀ�A���^8D�L$XE���%���I9������L�%H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ ��h��_AX�Ņ��j���t$L�K����
F�C���H�����H�-H�\$8Hc�����H�A�DD�T�M9���^L�A��QA�I���H�t$8��H�����‰�D�у��H�A�D�T�D����H��A���"8I��A��I9���8�L$I�y���t�A�Q��Ѓ�<�u@H����Ѓ�<�t��ʁ���w������ ��4��%����G��?	Љ��R���@�uM���%���C��?	��C��%�	��C��%�	Љ��i���f�H�����������%���C��?	��C��%�	��C��%�	��C��%�	Љ����������H�����C���?	��C���%�	Љ��t���H�D$H;��vǀ�A����5A�EA9�������b������%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��K������	��H��%���C���?	��C���%�	��C���%�	Љ����H�CH9���R�{
�:!A��E9��}RH������D�|$`E�����L9��`���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �e��A\A]�Ņ���f���S�H�C�����uf�H�������t�H��I9�r��#���B���%���C��?	��C��%�	��C��%�	��C��%�	���A��D$8E1�E1������;H�D$X��%��H�D$H�@��?	�H�D$H�@��%�	�H�D$H�@��%�	�H�D$H�@��%�	Љ�H�D$HH��H�D$�k����]���%��A�D$��?	�A�D$��%�	�A�D$��%�	Љ�����%@���A��?	��A��%?	��A��%�	��A��%�	��A��%�	�A��H�AH�D$�un������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ���� ����I��%���A�F���?	��g�����A9��{���L9�����L��飢��������%���C��?	��C��%�	��C��%�	�鳘����f����%���C��?	��C��%�	��C��%�	Љ��7�����A9��݋��L9��̦��L���e���H��$�H;D$8t	H��H�D$H�D$L���H���H�D$0�c��L���������s��1��c����2���%���C��?	��C��%�	��C��%�	Љ��`���D9l$H��b������L��D9l$H�AH�A��H�D9l$Ht%D�D$8H�L$D��H��D���(]����yԃ����KL9��g��Mc�H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �a��AZA[�Ņ���b��L)�L9�s�1��b��H��L����$���PL�L$8L�D$�L$4H�T$@H�t$ �Aa��[��X���]b��D;l$H�zf��D�D$8H�L$D��L��D���b\������q��H�A��I�돨�����%���C��?	��C��%�	��C��%�	Љ�麒����z���%���C��?	��C��%�	��C��%�	Љ��W���H�CH9��3Q�{
��A��E9��QH������������%���C��?	��C��%�	��C��%�	Љ����������%���C��?	��C��%�	��C��%�	Љ��=���M��l$H������H��L�狄$���PL�L$8L�D$�L$4H�T$@H�t$ �_��A[[�Ņ���`��I�D$�M9���d��D�T$E����I���H��H�D$D���E��tH9��sǀ�A����\I���ľ��H��H�D$D���E��tH9��sǀ�A���4^I���7���H��$�H;D$8�&d��H��1���_���|$HH�\$�D$xA����A���D$XA�A���s�D$@H�D$A��t$DH�s�xH�t$H���Ƭ����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ���H��,E1�H��H��H��������~��H��$�H;D$8�
_��H���^��H��,D�D$L��H��������X���H��,D�D$H��H��������˷��H�|$A�F�H�O`����ƃ�L;���U��A�����������A9����H9���nI���C���H�\$H�sX:�
��1��P^���D�D$H�O,��L���1Ʌ�����^�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ�阬�����������C��?	��C��%�	�鶴��I���ĥ�������H��%���C���?	��C���%�	��C���%�	��C���%�	Љ���L��H�D$������`a��H�\$H9����l��1��]��9���\��1��]���H�|$D�D$H�W,L��H��H��������������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��E���L��H�D$D���E��tH9��sǀ�A��RH���!���H�t$��H�vX��vx��H�D$D���E�����H9������ǀ�A���������\���H��,E1�H��H��H�����������<���^��H�D$����n��1��[��fDH�D$D���H9\$h�|�E���s�H9���f�ǀ�A���R���m[��D�j^��H�D$��������1��I[���=�t��C^��-( ��v�1��*[��������D_��D���E�������H�\$Hc��H��H9D$0�����1���Z���H�D$D���E������H9������ǀ�A���������Z���A�T$����������fDH�������t����I���	��A�EA9�����E������鮳���D;d$8��eH�D$L��H���L9�wS�M'@� �����%����C��?	Љ����v2A��nt@Hc�A��H�D9d$8t/H9���&��ȁ��w�����A��ȃ���r�E���y���H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �PX��A[A\�Ņ��jY��H�C�I9���]���S�����uf�H�������t�H��덨u)������C��?	��C��%�	Љ��	�����_���%���C��?	��C��%�	��C��%�	Љ�����H��邟����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	к�������D)�D9�����7�������%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	Љ���q��������%���C��?	��C��%�	��C��%�	��C��%�	��+���������%���C��?	��C��%�	��C��%�	��C��%�	Љ�髆�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��N�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��������I����A�F���?	�A�F���%�	��"���H���#����L��I��%��A�F���?	�A�F���%�	�A�F���%�	��ʃ���������e��1��V��1�A�>
��I��X�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��ӧ�������I��%��A�F���?	�A�F���%�	�A�F���%�	��n�������I��%��A�F���?	�A�F���%�	�A�F���%�	��ԁ��H�D$D���E���ބ��H;���ф��鶄���� ����I����A�V�����?	�������A�N��I���҃�?	�A�V�����	��p�����_���H�H�=H�D$8��L�L���H�������Ѓ���V�������I��%��A�F���?	�A�F���%�	�A�F���%�	��fs�������I��%��A�F���?	�A�F���%�	�A�F���%�	��}�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ�������H�\$������S��?	��C��%�	��s�������I��%��A�F���?	�A�F���%�	�A�F���%�	��j�������I��%��A�F���?	�A�F���%�	�A�F���%�	��ni����B��I��%��A�F���?	�A�F���%�	�A�F���%�	��l�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��å�������I��%��A�F���?	�A�F���%�	�A�F���%�	��){�������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ������c��I��%��A�F���?	�A�F���%�	�A�F���%�	��i����o��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��٣����8��I��%��A�F���?	�A�F���%�	�A�F���%�	��o��H�D$�xx���	���H�\$��H�K`������{����?��I��%��A�F���?	�A�F���%�	�A�F���%�	��~|����H�t$��H�D$���V��?	��F��%�	���k����:��I��%��A�F���?	�A�F���%�	�A�F���%�	���p�����
������C��?	��C��%�	�阪����4������C��?	��C��%�	��I������������C��?	��C��%�	�骩�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��U�������L��E1��A��M�t�U���H�D$�Hx����}�����_��x����H�=1���L�H�-H�L�������Ѓ��H�A�B�D�A�����@���sx��A�D$A9����p�����P���%��A�D$��?	�A�D$��%�	�A�D$��%�	�A�D$��%�	Љ����A�E1��a��H�D$X��%@��H�D$H�@��?	�H�D$H�@��%?	�H�D$H�@��%�	�H�D$H�@��%�	�H�D$H�@��%�	Љ�H�D$HH��H�D$�<S���D$@1��mc��L������L��H�D$D���E��tH9��sǀ�A���}�H���֘����O��I����A�F���?	�A�F���%�	�鷍��������%���C��?	��C��%�	��C��%�	��C��%�	�����������%���C��?	��C��%�	��C��%�	��C��%�	Љ��Q������%���C��?	��C��%�	��C��%�	��C��%�	Љ���|��HcD$$Lc�J�4�H��H9�����H���@�����H9�w�����������%���C��?	��C��%�	��C��%�	��C��%�	Љ��J}����1������C��?	��C��%�	��`�����!����%���C��?	��C��%�	��C��%�	��C��%�	Љ��P������������C��?	��C��%�	��O�����M���%���C��?	��C��%�	��C��%�	��C��%�	Љ�鸁�����������C��?	��C��%�	��˥����{���%���C��?	��C��%�	��C��%�	��C��%�	Љ�������I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ����������
��1��I�������I����A�F���?	�A�F���%�	�鈆��������%���C��?	��C��%�	��C��%�	��C��%�	Љ���{�������I����A�F���?	�A�F���%�	�醆�������I����A�F���?	�A�F���%�	��Ή����0������C��?	��C��%�	��*�����B������C��?	��C��%�	��
�����	����A���uR��1��6H��fD=) v=_ t�=0t�=/ �������=( s�- ��
�����밀x�
�Z���H���H�������`����FIA8F�����M�����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	�������I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��ҕ��������%���C��?	��C��%�	��C��%�	��ޝ����H��%@���C���?	��C���%?	��C���%�	��C���%�	��C���%�	Љ�������{\����q\��H�D$1�D�@xE�������H�D$H�H`����������vIA8v��I���s����
�)\����\��H���"�����
\��H���I���� �j��I��%���A�F���?	��������[�����[��L���~u��H���M������%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��t�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��z���������
�׈��H���Hc�H�>��AP��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �C��AYAZ�Ņ���D��E9���H��H�D$L9������A��|$���l:=��a:� ��B��I�V%���A�F��?	ȉ���߃�@�):��$� :��`�����_���=����	���9D$@�5H��A��I���%���AS��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �B��[A\�Ņ���C��E9���G��H�D$L9������|$A���1<���1� ��KI���|$@��G��A���t���H�D$D���E���t�L9���g�ǀ�A���S����5C��D��������H�D$1��@IA8F@����������X���H�D$1��@I8C@���A�����6�����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	�龐��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��[�������%���C��?	��C��%�	��C��%�	��֜��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��LZ��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��j��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��j�������%���C��?	��C��%�	��C��%�	�������|����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��ݓ����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��J�����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ������������H�D$1��@I8C@���z�����u���%���C��?	��C��%�	��C��%�	����������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��	W��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��_����*���%��H�D$�@��?	�H�D$�@��%�	�H�D$�@��%�	��^��E1���L�������%��H�D$�@��?	�H�D$�@��%�	�H�D$H�D$�@��%�	��Y����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��[������
��I��%��A�F���?	�A�F���%�	�A�F���%�	���~�����A�V������?	�A�F��%�	��bg��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��fj������
��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��E[����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ��;������^��I����A�V�����?	�A�V������	�A�V�����	��W��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��(h������a��1��CIA8F@���sa�����E
��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��Q����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	Љ������D$H1��˽�����D��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��Y��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��'f�����%@��A�D$��?	�A�D$��%?	�A�D$��%�	�A�D$��%�	�A�D$��%�	Љ��3���������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	���P������+���H�D$1��@I8E@���������%A�v��I���҃�?	�A�V�����	���������H�@���҃�?��	�%�	��zg����s���%���C��?	��C��%�	��C��%�	����������I��%��A�F���?	�A�F���%�	�A�F���%�	���u��������%���C��?	��C��%�	��C��%�	���������I��%��A�F���?	�A�F���%�	�A�F���%�	���t�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��!j��������%���C��?	��C��%�	��C��%�	�馍�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��Gk�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��Ih�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��]m�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��l�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��m����8���%���C��?	��C��%�	��C��%�	������y
���%���C��?	��C��%�	��C��%�	�鱊�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ�������%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	Љ��e�����������G��?	��G��%�	Љ��z�������I��%��A�F���?	�A�F���%�	�A�F���%�	��t��L�=����m����(��I��%��A�F���?	�A�F���%�	�A�F���%�	��Mt����y��I����A�F���?	�A�F���%�	��u���FH8�����dž�A��������+3��L��H�D$D���E���PH��H;���CH��ǀ�A���/H������2��A���=��1���2��H�D$D���E�����H9�����ǀ�A�������L9��A�>
�G��D9���t���cZ��������%���C��?	��C��%�	��C��%�	��C��%�	��<���I���Jz���FH8E�V���dž�A���B������1��H���.G��������6��H�t$L9���<X��1���1��I���<����FHA8�yq��dž�A���eq�����1���GH8���LJ�A���̊���o���L��H�D$�������5��H�\$H9����@��1��C1��M9��g&L������L����|����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��I��I���/����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���I����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���Y����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��]]����#��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��q��H������L��H�D$������v3��H�t$H9���
���1��5/����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��M����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��W��L��H�D$�������2��H�|$H9���`q��1��T.�������%��A�F��?	�A�F��%�	�A�F��%�	��]X����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��^D��L�=���g����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��yY����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��M�������I����A�V�����?	�A�V������	�A�V�����	��k���������I����A�V�����?	�A�V������	�A�V������	�A�V�����	��5H���������%��H�D$�@��?	�H�D$�@��%�	�H�D$�@��%�	�H�D$�@��%�	��CL�������%���C��?	��C��%�	��C��%�	��C��%�	��p������	���%���C��?	��C��%�	��C��%�	��C��%�	��A�����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��IJ��L���q����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��HW����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���A����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��B��������%���C��?	��C��%�	��C��%�	��C��%�	�������[��%��H�D$�@��?	�H�D$�@��%�	�H�D$�@��%�	�H�D$H�D$�@��%�	��D����p���%���C��?	��C��%�	��C��%�	��C��%�	�钅����V��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��e�����1��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��
i����
���%���C��?	��C��%�	��C��%�	��C��%�	��������#�����P����?	��P�@�������%�	�	��gV���������%���C��?	��C��%�	��C��%�	��C��%�	��!}��������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��1h���|$H���H��!�|$��H��L����$���PL�L$8L�D$�L$4H�T$@H�t$ �%��AZA[����&��E9���*��H�D$H���L9���6�|$H��	A���=����|$PI�V�O����Qj����H�
Hc4�H�>��<
�Z6H9�vA�~
uI�NA��I��H��L����$���PL�L$8L�D$�L$4H�T$@H�t$ ��$��AXAY����%��E9��*��H�D$H���L9��6�|$H��
�|$PI�NA��W�����i��H�=��Hc�H�>��H�D$H9��v	�:
uH��A��I������� � ��I�V%���A�F��?	��|$P�O����6i����H�
Hc4�H�>��H�D$���9D$$MD$$�;��D$$uH���Cf����H��:wu�Bf����H€:wt�L�=IcľA�)�Hc�H�
��^����D9������L����D9��)����L��L��H�D$�������(��H�t$H;���T���1��$��������%���G��?	��G��%�	��G��%�	Љ�鞺��I��{��L��H�D$������I(��H�|$H9���7(��LJ�����3��1��#��H���b���S��Ѓ�<�uI��A��Ѓ�<�t���=��ι���� �_��%���A�A��?	�鬹�����g���%���C��?	��C��%�	��C��%�	��C��%�	���y����b���%���C��?	��C��%�	��C��%�	��C��%�	��x~��L�����������I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��K`��1�H�D$�|$8�t$@H�@B�<�H�|$�t8H�|$�W )ڋ\$D���p"����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��_�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��|��L��H�D$�������%��H�|$H9����d��1��!����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���b�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��={�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��|��L���Px�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��Cw��H�D$������H$��H�\$L;����/��1�� ��H�D$H�L����H�D$�@H�HD$AQ��$�H�ƍSRL�L$8L�D$�L$4H�T$@���AZA[�Ņ�����H�D$H�\$����H��H�������|$uyL��E)�P��$�H�߃�PL�L$8L�D$�L$4H�T$@H�t$ �*����XZ���F��A�;D$H�`#��H�D$H9�����D9��B#��D9��9#��H���Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ ���^_�Ņ�����D;d$H��"��H�D$L9����a��A���=��I�VD9���"��D9���"��A��I���x����|$urL��E)�P��$�H�߃�PL�L$8L�D$�L$4H�T$@H�t$ �"����XZ���>��A�;D$H�X"��H�D$H9����H���C�D9�u�1��
��Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ ���^_�Ņ�����D;d$H��!��H�D$L9������A���=�w;I�VD9���!��A��I��눨 ����I�V%���A�F��?	������ ����I�V%���A�F��?	�맃�D9��ξ���]����%@��H�D$�@��?	�H�D$�@��%?	�H�D$�@��%�	�H�D$�@��%�	�H�D$H�D$�@��%�	��8��H�D$�\$$����H�\$0L���H������H�D$�p(����H�D$Hc@,H)�H��I9�wH�D$�@HA8��,������� ��A���=�����I�VH�t$����������H��H9�������H9^(������vH9������LJ����o���������E9��X���H�D$H���L9��qL��H�PH9���@��<�t�g
���<�uH��H9�u�A�EA9��Xs����r��A��E9��?
H9���+H�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	���t��H�D$H�|$�@(���CHcO,H)�H��I9�w
�wHA86���������A�I�NH�t$��������H9���z�H9^(�p�8FH�g�dž����T�����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��YW��L��H�D$������E��H�\$H9����)��1���������I��%��A�F���?	�A�F���%�	�A�F���%�	��[�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��v��A9��KA���>\����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���Y��L��髆��I�����L��H�D$��������H�|$H;�����1�����H�D$H�\$0����H����\$$L���������<z��W��$�H��L����PL�L$8L�D$�L$4H�T$@�?��AXAY��=����&���N���;��6H�D$�j��1��3�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	���s��������@������I����A�V�����?	�A�V������	�A�V������	�A�V�����	��5���A9��[?����U��H���~������T��%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	��[A��H�D$������
���H�|$H���H9����LJ��������������������P����?	��P�����	��P�@�������%�	�	��,E����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��@W����I����A�V���@��?	�A�V�����?	�A�V������	�A�V������	�A�V�����	��1�����%@��H�D$�@��?	�H�D$�@��%?	�H�D$�@��%�	�H�D$�@��%�	�H�D$�@��%�	��5������A�V��������A�V����?	�	�I�V���������=��L9���$��1������%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	��>��H���pl�������P��@��?	��P����?	��P�����	��P�@�������%�	�	��C��������J��L�r��{�����?��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	��(V��H�D$D����U���H�D$�������|��1�����H�W,E1�L��H��H�����������H�D$AWL����$�H���VH��RL�L$8L�D$�L$4H�T$@�F����XZ���b���<���
<���
H�\$�u��I���U����I����A�V���@��?	�A�V�����?	�A�V������	�A�V������	�A�V�����	�闤�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��Ch��������%��A�F��%���A�F��%�	�A�F��?	�	�I�V������%A�V��I�^����?	�A�F��%�	��Ԗ��L��骧��I���y��I�^麖����I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	���S��<z�s%AR��$�L��PL�L$8L�D$�L$4H�T$@H�t$ �C��A[A]�Ņ��]��H�CH�D$M���|��A��E9�����H���h��A)�E��H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ ������XZ������A�D;D$x���H�D$H9���?H���C�D9�t�1����H������H��,D�D$H��L��H��������4�L��H�D$���������H�|$H;���uS��1��i��L���?��H���q~������#A�Q������?	�A�A��%�	��9���H�H��L����$���PL�L$8L�D$�L$4H�T$@H�t$ ����^_�Ņ�����E9��	��H�D$H���L9������A��L$�…��J=��?� ����I��%���A�F���?	Љ�H�5����H�-H�t$8Hc�����H��CD�L�L9���L�A��^���%���A�F��?	Љ���H�T$8��H�����‰ȃ��Ic�H��C�L�D����A��tgHc�A��I�L9�vYD�d$A��E��t��Ⱦ���v�� �x����uQ�����A�F��?	�A�F��%�	Љ��d���H�D$�����tL9�vXA���K���I������������%��A�F��?	�A�F��%�	�A�F��%�	Љ����H�|$L9��s�LJ���~����A�V��I������?	�A�F���%�	��@��������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	Љ��Q���Lcd$P�H�T$XH�t$HL�����ueLt$XA��P��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �����XZ���
��D;|$x�9��H�D$H���H��H+D$XI9�v��|$P� 	H��L)�I9��	H��$�L��L��H�������M��`���H�D$H�\$0�L���H���������������H�t$H9���Du��1��o�����������H�|$H9���TO��1��H�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	Љ�������h��I��%��A�F���?	�A�F���%�	�A�F���%�	�����A)�E��H��H�ߋ�$���PL�L$8L�D$�L$4H�T$@H�t$ �L
��AYAZ���f��A�;D$x����H�D$H9�������A9�t	A9��]��H�����%@���C��?	��C��%?	��C��%�	��C��%�	��C��%�	��Va��1���
��M���	����ua��%���G��?	��G��%�	��G��%�	��G��%�	Љ����H�D$L��D���E����x���y����%@���G��?	��G��%?	��G��%�	��G��%�	��G��%�	Љ��q��������I�V����udA�V������?	�A�F��%�	�I�V�3����A�V������?	�A�F��%�	�I�V��D����hI�������%��A�F��?	�A�F��%�	�A�F��%�	�I�V���|$��L��E)�P��$�H�߃�PL�L$8L�D$�L$4H�T$@H�t$ ������XZ���	��A�;D$8�&
��H�D$H9���V���H���C�H�ƒ�H����A���r�1������ ����I�V%���A�F��?	�=�v{A��n����A��I��Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �:��^_�Ņ��V��D;d$8�s��H�D$L9���K��A���=��b���I�V������A����y���1����L���<����Q��%��A�F��?	�A�F��%�	�A�F��%�	�I�V��=��%�w/��
�����
��=���
��w$��
������
��-( ������u
��-( ������b
��=���wZ�� ���vA=����=�����/
��=�$
��wj�� �
��wD��	�z��	
����	�l��	��=/ �\�vV=_ �O�=0�D���	��=���	��=��)��	��=/ ��	��w&- ��
�	��	��- ��
����	��=_ �z	��=0����j	��L���]��=��w
��H�|$��H�O`�����]
��<
�5	��<
����<������ 	��<
����<
�	��<������	��H�|$H�W`������
��H�t$H�V`�������	��AR��$�H��L����PL�L$8L�D$�L$4H�T$@�x��A[[�����U��$�H��L����PL�L$8L�D$�L$4H�T$@�D��A\A]�Ņ��^��H�D$����H���H����t*�GIA8F�����F�H�D$H9���������%�H�D$R��$�H���WH��L��RL�L$8L�D$�L$4H�T$@���Y^�Ņ�����H�D$����H�����H�AP��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �^��AYAZ�Ņ��x��E9�����H�D$L9���BG��A��|$��t}=�vv� ����I�V%���A�F��?	ȉ�H�5����Hc�����H��CH��D��H�����<��	���9D$@���A��I��� ���I�V�H�D$���������L9��<��1����=����H�t$��H�N`�����������{��=�����H�t$��H�N`������~��=��s��H�|$��H�O`������Y��=�����H�t$��H�N`������4��=��)��H�|$��H�O`��`�����H�P��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �����XZ������E9�����H�D$L9���b���A��|$����=���� �]��I�V%���A�F��?	ȉ�H�5��Hc���Ή������Hc�H�
�4qH�
�L����������_��	���9D$@���A��I������I�V딽�����H�D$D����s����uTA�V������?	�A�F��%�	�I�V�T����ugA�V������?	�A�F��%�	�I�V�I����u~��%��A�F��?	�A�F��%�	�A�F��%�	�I�V��������%��A�F��?	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�S���������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�!�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V駻����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�o���H�AP��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �<���AYAZ�Ņ��V���E9��u��H�D$L9��� B��A��|$����=�vz� ���I�V%���A�F��?	ȉ�H�5����Hc�����Hc�H��HH��D����������9D$@����A��I������I�V�H���� �/�S=��=��=����H�5����Hc�����Hc�H��HH��D��<�����9D$@�F��A��I��Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ ����^_�Ņ�����E9�����H�D$L9������A��|$����=���� u}��I�V%���A�F��?	�=t&���=) v+=_ t=0t=/ ������|$@�6���1��M���=( s獈���
�����֍H��������Ȩ�?A�V������?	�A�F��%�	�I�V�k���I�V�b���H�AS��$�L����PL�L$8L�D$�L$4H�T$@H�t$ ���A\��X�������E9�����H�D$L9���g���A��|$��ts=�vl� ����I�V%���A�F��?	ȉ�H�5����Hc�����H��CH���;D$D����9D$@�F��A��I���+���I�V뮨ugA�V������?	�A�F��%�	�I�V����u~��%��A�F��?	�A�F��%�	�A�F��%�	�I�V���������%��A�F��?	�A�F��%�	�A�F��%�	�I�V�
���������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�g�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V������%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V����uTA�V������?	�A�F��%�	�I�V�����ugA�V������?	�A�F��%�	�I�V�P����u~��%��A�F��?	�A�F��%�	�A�F��%�	�I�V�l��������%��A�F��?	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�(�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�*�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�v����uZI���>�����uY��%��A�F��%���A�F��%�	�A�F��?	�A�F��%�	�	�I�V����udI�������%@��A�F��%?��A�F��%�	�A�F��?	�A�F��%�	�A�F��%�	�	�I�V����L��A��E��I�I���l���H�t$H�V`����������T$DH�H��AS��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �y���A\��X�������E9������H�D$L9���^9��A��|$��tv=�vo� uB��I�N%���A�F��?	�H���H��9�tL�29�v�|$@�S���A��I���Q����u9A�V��I�N����?	�A�F��%�	��I�N맃|$@t�1�����uS��I�N%��A�F��?	�A�F��%�	�A�F��%�	��Z���H�|$H�W`��S�������uz��I�N%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	���H�|$H�W`������L���H�t$H�V`������4�����I�N%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	��j���L�����H�P��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �P��XZ���l�E9������H�D$L9����A��|$��tt=�vm� �l��I�V%���A�F��?	ȉ�H�5����Hc�����H��CH��D�;D$D����9D$@����A��I���,���I�V뭋������W��1���H�Q��$�L����PL�L$8L�D$�L$4H�T$@H�t$ �Z�^_�Ņ��v�E9������H�D$L9�������A��|$��t=�vx� ����I�V%���A�F��?	ȉ�H�5����Hc���t$D���Hc�H��HH��D�94�����9D$@����A��I���!���I�V뢨uTA�V������?	�A�F��%�	�I�V����ugA�V������?	�A�F��%�	�I�V�J����u~��%��A�F��?	�A�F��%�	�A�F��%�	�I�V���������%��A�F��?	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V����������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�"�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V������%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�p�����
����w?��
�������H�D$���������<�	��<so<
����U�=�t��H�-( ��v�1��/�< ����<�����<	����1���< ��<���<	������<����H�D$���������H���!����������H�\$L9�����1���H���G�����AH�D$1��@IA8F@��������*��I��%��A�F���?	�A�F���%�	�A�F���%�	�A�F���%�	�������A�V������?	�A�F��%�	�I�V�S������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V������I��%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V����������I��%@��A�F���?	�A�F���%?	�A�F���%�	�A�F���%�	�A�F���%�	��a����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V��������%��A�F��?	�A�F��%�	�A�F��%�	�I�V����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�W��������%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�������I�^%��A�F��?	�A�F��%�	�A�F��%�	��&q��������%��A�A��?	�A�A��%�	�A�A��%�	��2���AV��$�H�CH�ƍWL��RL�L$8L�D$�L$4H�T$@���A_��X���������������I�^%��A�F��?	�A�F��%�	�A�F��%�	�A�F��%�	��Rp��������%��A�A��?	�A�A��%�	�A�A��%�	�A�A��%�	��O�����%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	�I�V�C���I�^%@��A�F��?	�A�F��%?	�A�F��%�	�A�F��%�	�A�F��%�	��Qo����%@��A�A��?	�A�A��%?	�A�A��%�	�A�A��%�	�A�A��%�	��H�����AWI��AVI��AUI��ATE��USD��H��H��$��L$H�$dH�%(H��$�1�H����u%��H��H	���������„�t
A������A��oZ���M��������H�<$uD��$�E����D��$�E�����t$�������9���ˆT$J��A�=ERCPtA=PCRE��������D�H��$�dH3%(��H�ĸ[]A\A]A^A_�fDA�G�MA��Hc�I�L5H�t$@��H�L$���|$���D$T��$D����A��E‰�$X��t
A�� ��M����I�H�ȃ�HH��@�:A�w"I�W0HDŽ$����A�&HDŽ$����HDŽ$�I�7H��$�A�G$��$���$�����H�D$0��tM�FL��$���tM�F(L��$���tM�FL��$���tI�V A�OA��� tE�GL;�$�sL��$���@tE�GL;�$�sL��$�H��L�A�o��$dID���Hc\$L��$0DŽ$�L�H��$�H�H��$8DŽ$H�HDŽ$�L�H��$(��HDŽ$���HDŽ$�����$�������$�������$D�������$�D�������$�D���
����$D�������$�������$ H��H��@H��$�D��%�H��$�=���	=�%����	�������M�VL�T$0�)���I�~8�����A��Z�������H��E���L�$L��PL�L$�T$�AXAY�������I��t����t$H��$�L����…������2���;\$�(���H�D$��ˆD$����������	����i���A�w"I�W0HDŽ$����H�D$0A�&HDŽ$����I�7H��$�A�G$��$���$�HDŽ$��`���DŽ$��D���p%pD�= ����=@�+
=P��
=0�����H��
H��$�f��$���$X��t	����VUUUE�G ����$���$���)4R�6A�ÉD$|��D���)‰T$LfE���z����)�A9��fC�t@D�L$Hc��t$H���H��H��$�H����
�t$�����DŽ$`�D$PD�L$�6��$�����ꉔ$�Hc�A�WH��H��H��H)�H��H�OH9�HF�H��H9�rf������H��H9�s�$���t��$������t�G����A�O��A��D	�D�L$h���D$8������A�G�D$K�� ��	��H�$�H�D$p��D$<�D$y����
=����DŽ$��
DŽ$���$��.���H�$�|$L��$�DŽ$`��$�H��H��$��D$PH�������#����T$h�����D$<H�D$p�D$y�D$K��@��A�G���D$z���H�$��D$l��D${H�D$��H�D$XH�D$(H�p�L�l$ H�t$`�l$H��H��$�D�d$I��H�ËD$M���CH��$8�D$I��H����uxH9�r=�#Hc�$�H��H)�H��I9�w��$�A8M�@I��L9�����$���t�E1�H�K,L�������H��$8���I��I9�����$���uaHc�$�H��H)�H��I9�w��$�A8uteI�EI9�v�A�M����t�D�����u�H��I9�u�M����H��H�K,A�L�����u'H��$8�D��t��$�A8Eu�D�D$AG����D$<���I�L$y8L$K�WL9�s-�E�T$y8�t �L$K��H��I9�t�E8�t8�u���$X��uMH�|$0H��t�GtL��H)�9G(�,D�l$lE��t$L��H)�H=�HcD$<H�H9D$`�wH��$@H��E1�I��H��$X�H��H��HDŽ$�DŽ$pDŽ$dDŽ$�jH��$8���AYAZD��$E��tH�|$(��=������y= ���������$�I�퉄$��|$��t'��$�H��$8����H9�����t$8���M9��	L;l$vA�}�
u	M9��{HDŽ$�L�������������L�l$ ��=��������f����������!ыT$P�L$J��t�D$H��$���D$�|$J�O���H�|$X�����tE��$�HDŽ$�~*H�D$(H�$L)胼$���D$�CtH�D$XL)�C��M�����A� ���I�V0H��$�H�
���D=���uL�l$ 1��5���D=��������D�D$L�mDŽ$�E���i���M9��`����E��<�t�P����A�E��<��9���I��M9�u�M���(�������������$�A8E���������D$h����H��$0H�D$@H�H9������D$���L9�r$���DH9��3H��I9�tIH��$0��$���u�Hc�$�H�H9�r�H����$�H)�@8:u���t��$�@8zu��D$AG��J������D�D$l�D${�D$z�2���L��$@I9��!������DŽ$�5�����������E‰�$����Hc�$�H)�H9��
�����$�@8u�������t��$�8E����D$PL�l$ ���{���1��S���H��$PH�l$XH�t$(�Q����L$P��t4�|$|H��$����D$L9�$\~��$`H��Hc�$\��������$b��A�w9�|EH�<$t>�t6H�$9�$�N�$�H��Hc�H��H9�s�H���B�����H9�w�$���H��$0H��$@H�$H)ʉH��$HH)ʉSM�����A� ���I�V0H��$�H�
��DŽ$����H�t$pH���V���L9��M����EH�L$pH�ƒ�H�������s$�)�����EH�ƒ�H��������
���H��I9�u�����D${�D$l��DŽ$��q���L9������D$K:E�����D$K�D8E�����H��I9�u����H�D$0H���I����@�?���H���D$<H�D$p�D$y�D$K�:���9L$L�O��:����D$yH�D$p�D$<����������e��t${@8t$z�oI9��q���H�p�H�t$`:T$z��:T${��H�T$`�t$z�|${�@8�tH��I9��/����H�J@8�u�H�T$`������$�~H�$��$��S�������������$X���M����������E1�H�K,H�����������}�
�������$��������L9����1��}
��H�����fD1����A�}
�z���A�G
�o�����$�����v��$��R���I���I���D�D$TH�K,H��������������DŽ$��
��L9��������$���tOH9���H�EI9�v,�U����t�o������u]H��I9�u�L��H�����f�Hc�$�H�H9�r�H����$�H)�@8:u����������$�@8zu�����H��$0H���V���H�K,A�H������P����t���H�$H�sH�x�D$L�P�Hc�H����U���I9�����H�x�L$zH�|$`:t H�D$`�L$z�H��I9�����H�P8u�H�D$`������������������������y�����o����e��������V�
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�x�\�B�B �B(�A0�A8��
0A(B BBBAf
0F(B BBBD�
0F(B BBBJ����������B�B�E �B(�A0�A8�G�4
8A0A(B BBBFt�J�P�B�x�m�Y�A�N�Y�Z�B�A�Z�[�A��U�Y�A�I�U�b�B���U�U�B�F�N�_�B�&�I�Z�B�b�U�Z�B�h�I�Y�A�A�]�Y�B���]�Y�B��Z�Z�B�|�]�[�F�U�R�[�A���U�Z�B�F�I�Y�A���]�Z�C���N�^�A�]�^�V�A�N�K�_�B��
�N�_�B�6�R�_�B�Y�N�_�B���N�_�B���R�^�A�O�W�a�A��
�N�_�B��
�N�_�C��N�_�B���N�^�A�c�N�^�B��N�_�B���N�_�B�`�N�^�C���N�_�A��N�_�B���N�_�B���N�^�B���N�_�B���N�_�B�%�N�Z�B�w�N�`�A�D�N�^�A�h�N�`�A�}�N�^�A�L�Q�Z�B���U�[�A���N�_�B�z�N�`�A���N�^�A���N�`�A���N�_�B�-�N�`�A���N�^�A���Q�Z�A�H�Q�Z�B�_�U�Y�A�i�N�_�B���N�`�A�!�N�_�B�J�N�^�A��N�_�C���N�_�C���N�`�A���N�^�A�]�U�Z�C�t��F�E�E �E(�D0�A8�J��
8A0A(B BBBG��S�P�B��H�O�B�C//He�������P�@���	"3E]n���������/��9N].annobin_pcre_exec.c.annobin_pcre_exec.c_end.annobin_pcre_exec.c.hot.annobin_pcre_exec.c_end.hot.annobin_pcre_exec.c.unlikely.annobin_pcre_exec.c_end.unlikelymatch_refmatchrep_minrep_max.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_ucd_stage2_pcre_ucd_stage1_pcre_ucd_records_pcre_ucd_caseless_sets_pcre_OP_lengths_GLOBAL_OFFSET_TABLE__pcre_ord2utfmemcmp_pcre_xclasspcre_callout_pcre_ucp_gbtable_pcre_was_newlinestrcmp_pcre_ucp_gentype_pcre_is_newlinememcpypcre_freepcre_malloc__stack_chk_failpcre_exec_pcre_default_tables_pcre_jit_exec_pcre_valid_utfN"��������U#��������\$��������c%��������h��������#&��������(
&���������#���������#���������"���������$��������
(��������^)���������)��������
&��������L
<�*��������+���������L�<��L�<W#��������d"��������p$���������,��������x &���������!#���������!"���������!$���������"&��������G#&��#&���������#&��'&���������)��)�*&��,-��������W-Lh-<�-L�-<�0&���������1.���������2&�|3#���������3"���������3$���������34�4%��������S6#��������Z6/��������a6"��������m6$��������O7#��������V7/��������]7"��������i7$��������:8#��������A8"��������M8$���������:/���������:"���������:#���������:$���������;#���������;/���������;"���������;$���������<#���������<"���������<$���������=#���������="���������=$���������?&���������@&���������@%���������@/��������|A/���������B/���������B/���������J#���������J#���������J"���������J$��������S`AT%���������T/���������T"���������T#���������T$���������U/���������U"���������U#���������U$���������V/���������V"���������V#���������V$���������W"���������W#���������W$��������_X"��������fX#��������mX$��������Y/��������Y"�������� Y#��������'Y$���������Y"���������Y#���������Y$���������Z�c0���������h&���������h1��������?i1���������i2��������pj��oL�o<]p"y#��������0y"��������7y$��������Fy/���������y#���������y#���������y/���������y"���������y$����������)��������8�)����������3���������+��������A�&rv�*��������‰L؉<��*��������I�"��������P�$��������c�#���������,����������#����������"��������×$��������͙#��������ԙ"���������$��������b�,����������"���������#����������$��������%�,���������2���������2����������0��������Ӧ2���������0��������
�0����������0���������0���������0��������>�#��������E�#��������S�/��������Z�"���������#��������*�"��������1�$��������:�/���������L�&���������&��������u�x$�������&����������&��������s�4��������(�0��������2�0����������"��������N�#��������[�$����������,��������s�)���������)��������!"���������#���������$���������/���������#���������"���������$��������C/���������#���������"��������$��������8/��������v#���������"���������$���������"��������	#���������	$��������%��������0"���������#���������$��������&/���������#���������"���������$��������26���������7���������8���������!3��������3$0���������$0��������7'2��������%*2���������,-���������-0��������~.-���������.1��������5/4�������� C/  `.t�2��/�/X/�. �$$|$(X2,�10�48�&<d3@h3DlH�L\P�T�&XX\�	`i	dT	h,l�+p�,t�!x@&|�!��!�<�@�D�H�L�P������+��%��+��-�/�p�t�x�|����������+�,&�0,��-�8/��.��.��.��.��.�.�&�&,��� �.$�.(�.,�.0/4/8�&<�&@`D4H�LPT�.X�.\�.`�.d�.h�.l|.p�.t�/xP |�*�0 ����5��5��5��5��5��5��5��5��5��5��5��5���X�����$�(�������0�4�8�<�����x���$	X,,	 d)��+ @	$4(x),�0�+4L68P6<T6@X6D\6H�2Ll$P@+T43X85\�"`X&d&h�%l�$pp,tTx�0|�0��)�d6�9�8�67��=��<��;�w:�{:�R6��4��9�dG��H�HH�\I��C��E�E��D��D��I��I�H��F�	G��C�C�h@��?��?,?�>t>x>|>�>�>�> �>$�>(�>,�>0�>4�>8�A<�A@xADTAH0AL�BPXBT\BXA\�@`Bd Sh�Yl
Yp^Xt�Wx�V|�U��U��T�MT��S��_�=b�\_�a��`��a��^�i^�r]��I��I��\��[��[�;[�?[��k�Nl��k��l�3k��n��m��i��k��I��I�um&m�
k�j�r[r�q�q 8q$Pu(�t,�s0�s4�I8�I<Ms@(vD�uHqL�pP�T"X+\9`�dThMlQptx$�|9�������m�������h��l���I��I�m������r��X��5�������������������I��I������������.���m����h�l� �I$�I(m,�0��4r�8X� ����.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`h'pC/"@E�-�/3�/=�/T8@�Z0	S1b1(]@�Z0|01�01(�@ [0�X1[�@P[h�0�6-|�6S�6��6P�07�07�@�zH8=X"	�Bm{�/135            1573057005  1667  135   100644  5704      `
ELF>@@
��H����H����E1�H��t	�tL�N�=ERCPu0D�_A��������L�A��Kc�L�>��D=PCRE��������D��DA��@�_�G�1��D������1��f��G%z�'H����f��GH�1����G�1����G �1���A����1�A�������1��f�1�M��tA�AtH�FH��H�1��@A��@�����t��G����G$�1����G&�1����G"H�1�H�9�1�M��t�A��@H�H�1��D���	�����1���D���
���1��f�D������1��f������M���+���A�A� ���A�A(����fD1�H�������@�����1�H�~8�����D1�H��������@��H�~8H�����H��H�L$�H�L$H�H�1�H����G�1���1�A��������G���D�ڸ����A��D��g���fD1�A��@�U�������D������1��f�A�� t�G�1��������ø��ø���ø�����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx��5 Z�7Tu�����		�,B.annobin_pcre_fullinfo.c.annobin_pcre_fullinfo.c_end.annobin_pcre_fullinfo.c.hot.annobin_pcre_fullinfo.c_end.hot.annobin_pcre_fullinfo.c.unlikely.annobin_pcre_fullinfo.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_fullinfo_pcre_default_tables_GLOBAL_OFFSET_TABLE__pcre_jit_get_sizeJ
��������{��������;!�������� �  �����8T h$|(�,�0�4�8�<�@(DTH�L�P�T�X\`�d� .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p�"@�
H-`3`=`T8@�
0	S�b�(]@(0|���(�@X0�h�@�p�0l-|�S���P����8�@�
(0	X	U�/163            1573057005  1667  135   100644  7536      `
ELF>�@@
��AW�AVAUI��1�ATUSH��H��8dH�%(H�D$(1�H�L$��Ņ�u&�D$����H�L$�1�H����Ņ�t+H�T$(dH3%(����H��8[]A\A]A^A_�fDH�L$ �	1�H����Ņ�u��D$L�|$ D�t$�D$D9�}2F�d5�\$L��A�A��Hc�L�H�s���t)~A�l$D9�|ν�����h���D�d$E���fD�+f�����F����f�f.���AWAVAUATUH��1�SH��H��HH�T$�H�L$H�L$,dH�%(H�D$81��A�ą�u'�D$,����H�L$(�1�H���A�ą�t/H�|$8dH3<%(D���?H��H[]A\A]A^A_�f�H�L$0�	1�H���A�ą�u�D�|$,�D$(L�l$0D�|$�D$E9�}1C�<�\$H�����A��Hc�L�H�s���t+~E�fE9�|�A������^���DD�t$,E���fDI9���HcD$�I��H��H)�H��I��I���	�M�M9�sK�4<H�����t�D$�L$����H�L�I��H9�v%Hc�I��L�h�	�L�I9�vJ�4+H�����t�H�D$L� H�D$D�d$H����I����@UH��S��H��(dH�%(H�D$1�H�L$H�T$���~@H�T$H�t$H9�w'Hc��f����9�}�HcɋL���yH�H9�v��f����H�\$dH3%(uH��([]��fD��USH����xR9�}N�Hcɋ��\�)�D9�}+Hc�Hc�H�H��L����(H����[]�f.��������f��������f���H�AVA��AUATM��UH��SH��D�l$0H�GtCL��������~'E��M��D��H��H��[��]A\A]A^�9���f�[]A\A]A^��L����fD��AWI��AVLc�AUATI��USC�6H��H�5������H��L����M�L�D�H���	A��A)�A�9�AO�H��I9�u�Hc���I��H����M�/K�L�I��I�\��1@)�Hc�L�4H��H�I��I���I�NI�E�A�L9�t3A�$Ict$�9��I��1�������H��H��t!I�fDH�1�H��[]A\A]A^A_ø���������%fD��AVAUATUS��xX9�}T�I��L��Hc�L�4��\�A+�{Hc��H��t4Ic6Lc�H��L��L��B�(H�E��[]A\A]A^�D������������f.���H�AUM��ATI��U��SH��H��H�Gt?L�������~#H��M���H��L��[��]A\A]�/����H��[]A\A]�DL����@f.����%
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�H$F�G�B �G(�A0�A8�Gp`
8A0A(B BBBGHh�F�B�B �B(�A0�F8�G�r
8A0A(B BBBJ(��A�D�F@w
AAA(�gE�A�D w
CAKLzP�E�B �D(�D0�j
(C BBBNA
(A BBBHH\F�E�E �B(�D0�A8�H@�
8A0A(B BBBA�
<�vF�B�B �A(�A0�O
(A BBBFH�rP�E�D �C(�G0V
(L CBBLD
(A ABBFH
�-Ea~������	$,:AR0�o�g��z�����
���v� r�
.annobin_pcre_get.c.annobin_pcre_get.c_end.annobin_pcre_get.c.hot.annobin_pcre_get.c_end.hot.annobin_pcre_get.c.unlikely.annobin_pcre_get.c_end.unlikelyget_first_set.part.0.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_get_stringnumber_GLOBAL_OFFSET_TABLE_pcre_fullinfostrcmp__stack_chk_failpcre_get_stringtable_entriespcre_copy_substringmemcpypcre_copy_named_substringpcre_get_substring_listpcre_mallocpcre_free_substring_listpcre_freepcre_get_substringpcre_get_named_substringpcre_free_substring5 ��������[ ��������� ���������!�������� "��������o ��������� ��������� ��������%!���������!���������!���������"��������&#���������"���������%��������t���������(��������(%���������*���������(���������%������������������*�������� �   l0���`����� L�.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p�"@(-3=T8@@0	Spbp(]@p0|���(�@�0�0�-|�S���P�@	�@	X�@���P	�+��/186            1573057005  1667  135   100644  4072      `
ELF>h	@@


GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�
5
Q

q
�
����!H1RCM.annobin_pcre_globals.c.annobin_pcre_globals.c_end.annobin_pcre_globals.c.hot.annobin_pcre_globals.c_end.hot.annobin_pcre_globals.c.unlikely.annobin_pcre_globals.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_stack_guardpcre_calloutpcre_stack_freepcre_stack_mallocpcre_freepcre_malloc    " ".symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.data.rel.comment.note.gnu.property.note.GNU-stack@
P`h
"p(p.p8pT3@�0N�]�(X@�0w���(�@�0� �@ `�08-weNe�hP���x	0Y��/213            1573057005  1667  135   100644  238616    `
ELF>��@@
UH��SH��H�@H��tfDH��H��H��u�H�}HH��tfDH��H��H��u�H��H��[]�%���A�<OwnH���Hc�H�>��f���f.��!��ptF�1���b��	wݸH�������@�W����1�����!��1��D�Gf�����AWAVAUI��H��ATI��U��SH�������3�Bf����H��<wt�<x�,I�D$I+T$�<����D�F1ۍE�A��D$fA�����E����N�<H�\�s�H��������t>I�T$A�EH��I+\$��A�T$p��uA�D$pA�E��A�EA�D$t=��A�?w��A�GL���f����I�H����wL��H��>��y���H�����v���e�����}���V����L$L��H��L������?�����FH� f�����<�����H��[]A\A]A^A_��71��N���wN��H���u<���:u21���t(�G�Wf��f��tf������)к��G��@1�@��h�������H�F(L�NH9���L9���AWL�L�AVAUATUH�-SH���΁����H���0A��wYH��9�t1A��A��A��A��Mc�G�A��E�Mc�F�CO��Ap9�upH9���L9�r�[�]A\A]A^A_�f�D�@@�� u}��A��?H����D	���D�G�� ����A��?H����D	��J����A�pH�t��@H��A9��s���D�A9�v�1�[]A\A]A^A_�fDD�h@��u]��A��?A��H����A	�D�Ɓ�D	����D�g��un��A��?A��H����A	�D����D	����D�p@������A��?A��H����A���A��D	�A��D	�D	��w���@D�o��u>��A��?A��H����A���A��D	�A��D	�D	��"���f���D�w���A��?A��H��A����A���A��D	�A���A��D	�D	�D	������A��D�xuM��A��?A��H��A����A���A��D	�A���A��D	�D	�D	����f.�D�`��A��H��A����@A��?A��A��?A���A��A	�D��E	��E	Ł��D	�D	��$���f��w��A��H��A����@A��?A����?A���A��	�A	�D������D	�D	�D	����ø�D��SH�H����H�G8L�GL�W D�_H�H�F0H�G�F$L)��FH�FL�FL)��FH�FL�VL)��F A��~f�f�L��L��L)�A��H�L�L)�A�L�M9�r�F$H��A9�ԋF$����F$A�����A��~A�B����H��H��[���F$E��~���f.�1�[�f�f.�L��$���H��H�$L9�u�H��8dH�%(H��$(�1�H�D$ H�D$H�D$H��$ �H�D$H�$H��H���H��$(�dH3%(uH��8������H9wwfH9wv`UH��SH��H��H�H9�sH�H��H!�H!�H9�wH�]H��1�[]�f�H)���H�]H��1�[]�fDH����������Ѹ�����vL�H���F�
H�F�I���f�H�GH�G�tJH��H�G�A��������f�F
����NˆFH�F
ÐH��F
H������F��DH�GH�F�fD��H�����H��tKUH��SH��H��@H�{uH�sH�����tH�H��u�H��H�����[]�H�CH��[]��@SH��H�=�H�{�H�C�H)H��H+S�H�:tTH�H�C�H�CH�H�CH��tH�zH�=H�H�:t4H�teH�=[��HB H��H�B H�D��fDH�rHB H�G H�JH��tH�NH�JH��tvH�qH�H�B��H�:u�H�H�O H�H�RH)�H��H9��p���H�WH�H�GH��tH�BH�GH��tH�PH�q��=���f�H�5�H���@f.�D�A�����H�
Jc�H�>���FH�D�fDMc�H�B�H��D�H�����HD��fDMc�H��B�H��tJ�P����vA��?H�
�H��DMc�H�B�H�D���Ff����H�Ð1��f.�AVI��H��AUATI��UH��S@�Pf����HЀ8wt�M��$�E�L��H�XL�����A�R���vqA���tA���ugE1�A��H9�v6��J���v>��wuE��ut��f��w	H��t�EH��L�����H9�r�H��[]A\A]A^��H��H��L���B�����1�A�Qf����A�<wu�H��A�I+l$Il$(�q���H�hI+l$Il$(�AWI��I��AVA��AUM��ATU1�SH��A��D$H����I���D��A��E1�H�$L�=L9�������<�w��Ic�L�>��f�A�H�<$���H��L9�r�A9��LA�BE��E���H�����H��[]A\A]A^A_�f.�E��A�BA�A�DD�H���A�C\��tA�EH��A��@A�B��DD�A�C\��tA�E�F�A�H�t�O���DA�K`��t�T$��u�D$A��A��H��A�����f�A�����tE��tPE�cXE��t��t3E�C`E��t�|$��u�D$A��H��A������A�����DA��A�뤸����E�������H�������[]A\A]A^A_�f�I��DA�Af����I�A�9wt�E��u.�<�t�D$1�<�u#A�{`�D$����f��D$1�I������H�����f��
A�ȅ������w:�������1ȃ�w	�� ���P�������t	�����f��B�� ��D�J��������A��?��%�A	ɉ�D	��f��������H���H���ʃ����H�H��BH��|�ω�1ȍP���t'1��@� �f�����?��	�����DA��?H�B��?u@�����?t���	��D�R��tFD�Z��ul��A��?����%�A��D	�A���A��	�A��D	�D	�������A��?����%�A��D	�A��	�D	��i����R������@%?A����?A���A��	�A��	�A	�D������D	�D	�����@ATI���UH��SH��H��tH�H�H�H��H�h�[]A\�DA�$��@f.�ATI��H�W@UHc�SH�BH��H�HH���vNH�w@����H��tIH��
�*H�Ch
L�`��������H��H�H�P1�[]A\��H�DH�JH��u����@f.�AWA���I��AVA���%�Lc�AUA�HA��ATUD��S���H��(��t@��@A��A��D�cA��A��tE��D�c@�ŀtL��?���������L�H9��:��H�5��?HcЀ<�����fDHc�H��<��@E��A��@�{Ic�H�5A�T$�<�RE���MI�w@Hc�H�FH�<H����MI�w@L��L�L$H�L$D�\$D�T$D�D$���L�L$H�L$Lc\$D�T$D�D$H���D� H�PMc�MghA��t�@fH�PE��tD�2H��Hc�D��HӃ� ��A���E��tA������������Eƈ@�1�@�ŀ��Hc�H�5L�[�4.��@	�E��tA����A�����H��(H��[]A\A]A^A_�f�E��u�E��t�H�B�����A��DA�ԃ�����A���H���H=��3A�T$A��A���l���fDA��������H���_���f.����?��L�-Lc�A��C�t%A��?�A���@���>����I��L�[��?�D	�A�D-��	�@�s����@E����H�����������Dƈ��������?����E�`�j���f�H�DH�~���f�A�� �A���A�T$H��� H��H!�H���P���A�D$A��A�ԉ��:���@������L�ʾL��H�L$D�\$D�D$D�T$���D�T$D�D$��Lc\$H�L$�p���?�e���E1�f.�H�5H��<vA��A���?M���|��������H�=�<upE�`�bDA��A�O����A���cA�T$A���S���DA�T$A���@���f��E1��H�=�<t�������A������?�<����A��B����@M����@��tAE����	�L�[�M��ucC�|%�����E�I�����fA�������@�븐���C%L�[�D�K���f.�1����f�I���H=�v�E�I���M���D����L�[��?�A�D-��	�@�s�U���DM���I����l����Ȁ��!���f.�A��D����A�������@I���E�`A��H=�EG����f�����DI��L�[��?�A��A�D-�C��A	�D�K���A�����H�5H����<�'���E1�����A�����J���f�f.�AWAVAUI��L��ATUH��S��H��LJ�A��@to��?~2A��M��@���
���H������1�H��[]A\A]A^A_�E1�A�о�@����H������H��1�[]A\A]A^A_�fD��@A�A��A��D��DL�A��t9A��?31�M��A�ؾ�H���~���H��ti��H��1�[]A\A]A^A_�DI��A��1�D��H���H���H��t3E�������������EшPE��u H��1�[]A\A]A^A_���E�	���D���m���AWAVAUI��L��ATUH��S��H��LJ�A��@tW��?~2A��M��@�����H��t2��1�H��[]A\A]A^A_�@E1�A�о�@���H��u΋E�ΐ��@A�A��A��D��DL�A��t9A��?31�M��A�ؾ�H���F���H��t���H��1�[]A\A]A^A_�DI��A��1�D��H������H��t�E�������������EшPE��uH��1�[]A\A]A^A_�D���|����@��AVI��AUA��H�ATH��A��@��UH��SH�w@ۃ�H�FH�<H���vKH�u@H�����H��tH�H�PHc�H]hE��uD�*1�D�r[]A\A]A^�fDH�PD�`��fDH�DH�~H��u��E��D���uzH�O@ATI��U�ՍRSH�AHc�H��H�4H���vCH�w@����H��tM@�(Hc�H��HSh��t1҉у�A�4@�49�r�1�[]A\��H�DH�q�D�����@U1҉�SH��H��H�O@����H�AH�TRH�4H���vSH�w@��H��tS��~0�H����H�PH�Chf�H�@ѾH����B�1�f�2H��[]�f��H�PH�Ch��f�H�DH�qH��u����@f.������UA��H��SH��H����?~R@�ƀ�8H�W@H�BH�HH����H�w@����H���x�H�PH�Ch�@h�h�`H�W@Ic�H�
H�w@�<)H�BwTH�HH�������y�H��� H�
�H�P�)H�Ch��P�H��1�H��[]��H�HH���v;��)�H����H�
�H�P�)H�Ch�@A��P�H�DH�DH�J��DH�DH�J�a���f.�H�DH�J��f�LJ�I��1�1Ҿ��H��tP���H0H�S@H�BH�HH���vDH�s@�H���s�H��t�H�PH�Ch�
���D������f�H�DH�J��DAUL��I��ATUH��SHc�H����@��D�����?]E���<�������L�H9��vM��A��H���@�H����H���:��E1�H��D��[]A\A]�fDE��u��������L�H9�v�L�¾������1�M��A�غ�H���B�H�������@M��A��1Ƀ�?3�ھ��H������E1�H��[D��]A\A]�f.������H��tt��1�M��A�غ�H����H��tR��E1�H��[D��]A\A]�fDH�H�
���H�<L���H�����[]��AA\A]���D�eH��[]D��A\A]�fDH����L��[]A\A]��f�f.���?~����fDS��I��A��1ɉ¾H����H��t��1�[�f.��[�f�f.�AVAUM��ATA��UH��S��H��������?~kI�у�?�@��@�b��@�D1�M�ȉپH���X��������������E1ɻL�H9�v@���A������*��@tl�������L�H9�vD���E����E1�A��L��@�H����H���L�H8E1�H��D��[]A\A]A^�fD��@��M��E��1ɉھH�����H����;E1�H��[D��]A\A]A^�f���@�?@��@���������L�H9��Q���������C���A�L��D��H��L�L$��L�L$����1�A��D��H���.�H��tp�9E1�H��[D��]A\A]A^�I���H=��������������������HL�H9������L��=H��E1����������D�eH��[]D��A\A]A^�DE1���L��H��A��A��D�������u�E1�1�A��D��H���h�H��t��9�]���1�M�ȉپH��������u�M��E��1ɺ�Y���fD1��M����AWA��AVA��AUA��ATUSH��H���L$H�l$XE���E��A9�u]H�D$@H9D$PuQ@��@�A��?���?��L�L$@H�L$`E���H����H���?D�81��)DL�D$P1�A��?��A9���D��H���;������@��@�)�������HD$`H9����������E1�A��H�T$`H��A��A��D��������E1�E��1�D��H�����H����D�8�zfDL�D$P1Ҿ������g@��@���������HD$`H9�v�������E1�A�H�L$`�@�H���{�H���Dh1�H����[]A\A]A^A_�A����������HD$`H9�v������|L�L$@E���f�L�L$`A��1ɺ�H����H����D�01��@�H�������u@��@���������HD$`H9�v������;H�L$`E1ɺ@H��A����H��t.DhH�T$@E1��D��H���B������r���f.��+���f�E1��!����H�D$`H��H=�����������]A��1�H�L$`H���:��u�1�����L�D$`1҉������u�L�L$@E��1ɺ����DL�L$`H�L$@A��D�����1�A��@�Ń�H�T$`��H�������,���L�L$@E��1ɉ�����H�T$`�H������������E1�1�A���H���A�H������D�8���L�L$`A��1��f����L�L$`1�A���H����H�������D�0�i���H�T$`�H���N����v���E1�A�1ɺ�����������HD$`�H9�����A�оH�~���DAWA��AVA��AUA��ATUSH��H���T$HH�L$P�l$XE����E��A9�uXH;L$@uQ@��@�/A��?�m��?�,L�L$@H�L$`E���H����H����D�01���DA9��GH�D$@H9D$`�7��@�nA�����������H�H9�v������L�L$@E���]f.�I�Ⱦ��1��_������@��@���������HD$`H9�v�������E1�A�H�L$`�@�H���;�H����Dh1�H����[]A\A]A^A_�A�����������HD$`H9�v������4L�L$@E���f�L�L$`A��1ɺ�H�����H���;D�81��@I�ȉ�1�A��?��D��H���d������@��@���������HD$`H9����������E1�A��H�T$`H��A��A��D��������E1�E��1�D��H����H����D�0���@�H��������uw@��@��������HD$`H9�v������sH�L$`E1ɺ@H��A����H��t&DhH�T$@E1��D��H���Z���������f��+�M���f�A��?�v��?��L�L$@E���+���H�D$`H��H=��-���D���E����A��1�H�L$`H���H���u�1����DL�D$`��1ҾH�������j���L�L$@E��1ɺ���fDL�L$`H�L$@A��D�����1�A��@�Ń�H�T$`��H����������L�L$@E��1ɉ��^���I�ȉ��u���fDE1�����H�T$`�H����������E1�A�1ɺ�����H���H=��I����������A��1�H���1����y���1�����f�I��A��H�L$@����L�L$`A��1������L�L$`1�A���H����H���+���D�8����1�A��@�Ń�H������������HD$`�H9������A�оH�8���DH�T$`�H�����������E1�1�A���H���!�H�������D�0�n�����������H�H9��b���A�оH�����AVI��D��AUA��ATI��US�l$0�Ӄ���@��@u��tF9���M9���M��A��H�L$8��!L����H����D([1�]A\A]A^�@�����?��9���@�ŀt���?9��{����?9��k9�t1�M�ȉ�L������u?E1�1ҹ�L������u$L�D$8��1ҾL����E1�A�؅���[A�$]A\A]A^�M��1҅�����u������?~a�L���t��u�H�L$8E1�A���!L����H��t�D(E1��L���L���6�������|���f���L����E1Ʌ�������Y���fD�L�������>���E1�A�1ɺ�!L����H������D(E1�1ҹ�L������T�����fD1�M�ȾL���������L�D$81҉�L���h�������E1�1�A���L���s�H���������E1�1�A���!L���J�H���d���D(E1�1ҹ�L������������=���f.��L�����E1�A����S�������D1�M�Ⱦ������L�D$81҉�L���������������@f.�AWM��E��AVAUA��ATUH��S��H��D�d$XL�L$PL�t$`A��@twA��?uAD���E��tA��u/����H��D��D��H��[M��]L��A\A]A^A_��DL�t$X��E��D��D�d$PH��H��L��[]A\A]A^A_����@��t̃�??AV@��L��E��ATD��L�T$��^_��L�$���EH��[]A\A]A^A_�@L�D$L��E1��@D��L�$��L�$L�T$��u�AVL��D����ATE��H�����ZY��u�H��[]A\A]A^A_�f.�H��H��A�
�j�	�j@AQE��AWAR���H��0H��[]A\A]A^A_��H��D��H��E1�[�@]L��A\A]A^A_��@AVAUATI��U��D��SH��LJ���u?A�����A��@��I������N���E��H��L��[]A\A]A^����A��@uj��@A�A��DL�A��A��?��E����1�M��A��ǃ�H���4��H�����ǃ�1�[]A\A]A^���?�\���Ic�A��M��@LJ������H������1�ǃ�[]A\A]A^�@E1�E1�u>��M��1�D��ǃ�H���j���uvǃ�E���e���D���(���A��1�D��H���c��H��t>�c��f�Ic�A��M��@�H���5��H��t��1�[]A\A]A^�f�����f�AWAVAUATUSH��L�t$P9�uL9�tdD9�uL9�tZ��@A�E��A��H�Չ�I��DL���?RA��?��A��@t*A�������������L�H9��D�H��[]A\A]A^A_�@A��?�A��@t܋����u�������L�H9�w�Mc�E��A�Ȁ1�L��D���L�T$�/��L�T$H������1�A��u�H��H���E1�[�]L��A\A]A^A_���E��D��E1ɾA��H�|$A	�1�A�Ȁ����L�T$H��tAA��@��t�A�����u�������L�H9��y����Mc�E���;���DA�����AWAVAUATUSH��D�'D�T$PL�\$XE���?��M��E��I��%��H��������1������������`��
��H�=Hc�H�>����U����?A��DB�E9���D���@E9��D�у�@�������A�€tD�҃�?A9��'	D�����?A9�DD�1�M��D��L�\$D��H��D�$�?�D�$L�\$��uRM��E��1�D��H���J��H��t5����f�@�ŀ�E1��L����H���������fDD�#H��D��[]A\A]A^A_���0��`��
w�H�Hc�H�>��A���eD���@A����D�у�@���U����1�M��D��H��L�$�_�L�$���s����������L�H9�vD���E���vE1�A�L�ٺ@�H���C��H���*������E1������H��A��A�H��AS���ARAVAUAW���H��0A������fDH��A��A�H��AS���ARAVAUAW�"�H��0A�����fDH��A��A�5H��AS�0�1�3ARAVAUAW���H��0A���Y���fDH��A��A�
H��AS��	�ARAVAUAW��H��0A������fD����H��E��M����AS�(H��ARAV�Y���H�� A�����D����H��E��M����AS� H��ARAV�!���H�� A�����D������u;H��E��M��H��ASD��L����L�\$D�T$�n���_AX��D�$L�\$�Y���H��A��A�1�AS��H��ARAVAUAW��H��0A���%���f�����H��E��M����AS�8H��ARAV�i���H�� A����DH��A��A�%H��AS� �!�#ARAVAUAW�:�H��0A�����fD���uA��@�f��tBH��A��A�-H��AS�(�)�+ARAVAUAW�T�H��0A���[����H��L��D��H��M��[D��]A\A]A^A_�^�fDA��@��E9��I���H=��?�������L�H9��E9�t#1�M��D��D��H��L�$��L�$������L�ھH���4��E1�A����W������fD���}D�у�@����I���H=����������L�H9���E9�t1�M��D��D��H���!����9���L���p����L��D�T$H��D��H��L�\$��A�@PM��L��H������Y^��L�$D�T$�X������M�ع@1�D��H�����E��E1ۅ��D������1�M��E��D��H�����H��������kH�S@H�BH�HH����H�s@�H�����H���j����H�ChD�p�,���A��@�1M��E��1�D��H���G��H���.�����E1��&���M��E��1�D������M��E���������I���H������u�������L�H9���A�HL��D��H���������������@1�M��E��D��H�����H��������iH�S@H�BH�HH����H�s@�H�����H���Q����H�ChD�p����A��?���A��?��1�M��D��H��L�\$D�$���D�$L�\$�������M��E��1ɺ����������L�H9�v����M��E��L���~���1�M��E��D��H��L�$���L�$H��������kH�S@H�BH�HH����CH�s@�H��L�$���L�$H���\����H�ChD�X�����������������L�H9�v����M��E������I���H���v˅�u�������L�H9�w�A�HL���!���1�M��E��D��H��L�$����L�$H��������iH�S@H�BH�HH����H�s@�H��L�$���L�$H��������H�ChD�X�E���H�DH�J��A�����H�DH�J��M��E��1�D�����H�DH�J����L�ھH�����M��E�������
���L��H��L�\$D�$�q��D�$L�\$���������L�ھH���K��������E1�1�A���H�����H������������H�DH�J�������u:H�OH�V��H�AHc�H�4H���vH�wH���H�DH�q�fD1��f.������AUI��ATA��U��SH��H����~�€��n�����n��@��H�SHH�BH�H H����\H�sH� H������H����H�H�S(H�@H���NH�H�S@H�C(L�hH�BH�Ch
H�HH����H�s@�H�����H���#A���D�`1�H��[]A\A]�1�1�M��A��ǃ��H���/��H����A������P� D�	ʈPH��1�[]A\A]�@I�Ⱦ��1������uKD��H���8����u<1�1�M��A�ǃ��H�����H��t���P��D�H��[]A\A]�H�DH�J���f.�H�DH�J���f�H�C�������������ATUS�����H�GHA��H��H�HH�Q H�����H�wH� ���H��H����D��H�E%H�EH�C(H����H�(A��H�k(��x1���H�Sh��H�D
H�H�S@H�ChH�BH�HH���vkH�s@�H�����H��t%A���D�`H��[]A\�f�H�lH�P�`���f��1�[H��]A\�H�������u�H�Sh�
����fDH�DH�J�DH�k�B����D�E����ATD��UH��S���@ubD��AQH���
A��API��OƉ�A��1Ɂ�1�	ƃ�b�=�ZY��u��H���[]D	�A\�`���[1�]A\�f�A��@u�A�D$���wH�5D�$�H�ȁ�L��I����D	�D��A���d���fD1��f.�USH�������H�o H��tH�GhH9E��H�GHH��H�HH�QH����}H�wH����H��H��twH�ChH�EH�EH�C H��tFH�(H�S@H�k H�BH�HH���vRH�s@�H�����H��t,1�f�H��H��[]�DH�k�f�H�lH�P���f�1�H��H��[]�@H�DH�J�DAUATI��UH��SH��H����D��uo��A�
�H��A�@�������H��I���T���H��tH�UL� H�PH�EA�
A�@1�1���"f���A�@�Lc����1�H������H��I�����H��tH�UL� H�PH�EH��[]A\A]��[���1ɾH��A�
A�@�I���8����H��I�����H��tH�UL�(H�PH�EH������M��t�H��t�I�T$I�D$H��H��I�T$H��[]A\A]þH�߉L$����H��I���/����L$H��tI��$xL�(H�PI��$x��H���e�������AUATI��USH��H��H�/H����H���8���H�H��tH��tH�QH�AH��H��H�Q�H���
����H��I�����H��tI��$`L�(H�PI��$`�H��L�k����H��tM��tH�PL�hH��H��H�PH�[H���b���IDŽ$H��[]A\A]Ðf.�AUI��D��ATA��UH��S��H��D9�uM9�t^��tb��?eM��1҉�H���F��E1Ʌ���1�1�A�ؾH���W��H������D`1�H��[]A\A]�f.�M����뜐1�M�ȾH��������uGE1�1�1�A��H������H��t(D`L��E1������H�������1����~����EH��[]A\A]�DAWAVAUATUSH�����u6A�Չ�H��A���E��M�ω��E��u*��'
A�����1�H����[]A\A]A^A_�D��I��0�H�vA��1����2����0u�L��D��H��H��[]A\A]A^A_�Y���f�LJ����.A��?E9�uA����A��!A���f���D���@��&����.����%�����EMc�L�$M��E��L��D��H����L�$����f��������A�ƀt"E��A��?tA��?�uM����A�ŀ����E��A��?�����A��?�0M�������H��ARj@jA�1ɺAQ�H��j�S��H��0���o�����]�b����D���@��'~�����t��!��wH�Hc�H�>���!����H�Hc�H�>��L��D���A���A��@�@�=�u��������5A��@�M��E��ALݾ1�H��L�$�����L�$H���3����5A�������L�$f�����A���ؾH��M�%A��@I��?��E����A����L�$A��&H���v��1�M��A�@��D��H��L�T$H�$����L�$L�T$���AH��L�T$L�$�(���L�$L�T$H���I�SI�CH��H��I�SA��A�غ@H��HɾE1�L�$�� H�����L�$H���+����H0A�ŀ�����E1��L��D��H������������1��b����LJ�1�1Ҿ���H�������A�L$��Pf�8���M��A��#����A��CшP����f.�A���@�H��M�1�A��@I��?�-��L�$���a���E1�1�A��ھH��L�$���L�$H���6����Df�����f���-�'������oL�$M��E��L��D��1�H�����L�$���Y������@M��L�$M��E��L��D��H�����L�$���������fDE��M��E��L��L�$D��1���E��L�$M��E��L��D��1�H������L�$�������a����M��M��E��L��L�$D����E��M��E��L��L�$D��1��n���A�ƀ�A����Ӆ��l��V���f.�A�ƀ������uRM��E��L��L�$D�������L��M��D��D��H��L�$�X��L�$��������������fD1�M��E��L��D��H���j����r���1��������P����D�E����������1�M�ȹ@�L�$E1�A�����L�$�����������A��H��A��?jAU����D��L�$H����j��?Pj1�A��AQ�H��j���H��0L�$���S������L�$H��AWj@�1������AWE1�A��A��AV�!A�ֺAUA��1�ATUH��SH��H�H�����jE1�A�
j@1ɺ
�`H����A\X�����tA��wA��uH��[]A\A]A^A_�DA��1ɺH��A�@����I��A������A����kA�����^h�E1�A�1�j@��bH���
�A[]E����E1�A��1ɺ�!H�����A�1�H��A�@���1�jE1�A�j@1ɺ�hH��H����A[A]j?j@E1�A�1ɺ�eH���x�A^A_jjE1�A�1ɺ�fH���S�XA�ZA��1ɺH�߾!��jj@E1�1�A�
�
�`H����XZjj@E1�1�A���hH�����Y^j?j@E1�1�A���eH�����_AXjjE1�1�H��A���f��AYH��AZ���H����H����H�UH�EH��H��H�U���h�E1�A�1�j@��bH���D�A[]E���`E1�A��1ɺ�!H������A�1�H��A�@���k�jE1�A�j@1ɺ�hH��H�����Y^j?j@E1�A�1ɺ�eH����_AXjjE1�A�1ɺ�fH����AYA��AZA�1ɺH�߾!�,���jE1�A�j@1ɺ�hH���K�A[A]j?j@E1�A�1ɺ�eH���&�A^A_jjE1�A�1ɺ�fH����XA�ZA��1ɺH�߾!��j����A����sA���YE1�1�A����!H���\�E����jE1�A�
1�j@�
�`H���r�A_Xj?j@E1�A�1ɺ�eH���N�XZjj@E1�A�1ɺ�hH���+�Y^j?j@E1�A�1ɺ�eH����_AXjjE1�A�1ɺ�fH������AYAZ�2A��1ɺH��L�
�!�w�E1�A��1ɺ�!H���Z�A�1�H��A�@�����jE1�A�j@1ɺ�hH��H���V��A]A^j?j@E1�A�1ɺ�eH���1��A_XjjE1�A�1ɺ�fH���
��XA�ZA��1ɺH�߾!��jE1�A�j@1ɺ�hH������Y^j?j@E1�A�1ɺ�eH�����_AXjjE1�A�1ɺ�fH�����AYA�AZ1�A���H�߾!��jE1�1�j@A��H�߾h�>��A[A]j?j@E1�1�A���eH�����A^A_jjE1�1ɺH��A��f����XH��Z�*�H��tH��tH�UH�EH��H��H�Ujj1ɾ`E1�A�
�
H�����Y^H�����M������H������I�T$I�D$H��H��I�T$H��[]A\A]A^A_�f�A��1ɺH��L�
�!��jj�n���fDA��1ɺH��L�
�!���E1�A��1ɺ�!H����A�1�H��A�@���B�jE1�A�j@1ɺ�hH��H�����Y^j?j@E1�A�1ɺ�eH�����_AXjjE1�A�1ɺ�fH���g��AYA�AZ������H�����H��I��H���H��A����HF���H���h���H�UL�(H�PH�E�T���DA��1ɺH��L�
�!��j?E1�A�j@1ɺ�eH�����_AXjj@E1�A�1ɺ�hH�����AYAZj?j@E1�A�1ɺ�eH���m��A[]jjE1�A�1ɺ�fH���I��A]A^�t���AWAVI��AUA��ATI��UB�,�SH��H��$�H�T$�D$(dH�%(H�L$81�H�B�<�����|$ H�$E�������D$��D$���)lj|$ 9��LA�L;d$r/E��ujH�D$8dH3%(�NH��H[]A\A]A^A_��A�$�B�<k� H�5��Hc�H�>��@�D$�D$�fDA�^HD�L$(�\$0E����A�F\�\$4A��D$$�D$0Lc�E��tVE���D�D$E����H�<$M��A��1ɺ� ���D$E1�I��E��tB�\�,Lc�E��u�1�9l$ ��E1�E����H�<$A�L�Ѻ�� �A��\$E1�9l$ ~�H�<$Lc�A��1ɺ� I������E��E��u���|$$����E�������E���S�t$�����L$���a���H�D$8dH3%(��Hc�E1�A��NfD�|$����H�<$M��A��1ɺ� �v��D$A�����H�<$A�L�Ѻ�� �D��\$A�9l$ �����H�<$Lc�A��1ɺ� D�\$,���
�D�\$,�x���H�<$Hc�E1�A���� L�T$�����L�T$�����H�<$Hc�E1�A���� L�T$����L�T$������T$����D$������H�D$8dH3%(�\Hc�E1�A�H�<$H��H��� []A\A]A^A_�7��L�<$Lc�A��1ɺ� ���L���
�9l$ �Lc�A��1ɺ� L���k����D$�D$�O���I�FL��I+V��A���I�D$�����\$0���\$4���I���D$$A����DI�FL��I+V��A���I�D$�����\$0���A�T$���v��?H�
�H�A�A�W�I���D$$Hcҋ\�0�=���DI�FL��I+VI�������x����\$0A��D$$�����I�FL��I+V��A���I�D$�����\$0���\$4������A�T$����$��?H�
A��H��H���I�FL��I+VI����������\$0��A��\$4�D$$�h����I�FL��I+VI���D$$A����\$0�7����A�D$I�N I��f���Ѐ<�k���A�V8���D$$A��‰\$0��I�FL��I+VI���D$$A���A�V8�D$0A�D$�f�����‰\$4����A�D$I�T$f����A���y<�%I������fD�!��pu
A�D$f����I�VL��I+NIċ��������L���@���Lc�A����A��������\$0���\$4�D$$�����I�VI�FL��H)ы����GI�L$�\$0A�H)��D$$Hc�M�d�����I�FL��I+VI�����������#���f�H�<$Hc�E1�A���� ���N�����f�H�<$Hc�E1�A���� �����B���f�L��I���聧��I�����f��D$$A��
�������I���W�����t�A�T$���v��?H�
�H��օ�t�A�T$���vǃ�?H�
D�N�$����@I������A�T$�������A��5���D�\$0�D$$�w���I���D$$A��a���I�FM��M+VI���D$$A�B���\$0�8����A�T$��������S����D$�f���f��������AUATUSH��H��L�'��tv1��L����L��M�������H��tH�PL�hH��H��H�PH��t!L�����H��tH�UH�EH��H��H�UH��[]A\A]�@HcOLE1ɺ�L��A�
�����H�Ń���f���HcKPE1�A�@L�纎� ���x���D���c���L��I������H���M���H��0L�(H�PH��0�3���HcOLA�@1�L��I��������@��H���b����AUE1�A��1�AT�A��!UH��SH��H�H���P������tA��wH��[]A\A]�D1�A���H��A�@����jE1�1�j@A�
�
H�߾`I���,��YH��^��]���H��I������H��tH���L�(H�PH���jE1�1ɺ
jH��A�
�b����XH��Z���H���?���M���6���I�T$I�D$H��H��I�T$H��[]A\A]�@AVAUI��ATUS���H�����E1�1�H��A��
�H������HcMLE1�H�߾A�
��I������H��I�����H��tI�UL�0H�PI�E����L����H��M�����$��H��tH�PL�hH��H��H�PH�����M��tH��tI�T$I�D$H��H��I�T$[]A\A]A^�f�E1�1ɾH��A��
�����H��H���C��H��t�I�UH�(H�PI�E[]A\A]A^�fD�{���H��I�����H���W���H��0L�(H�PH��0�=����HcMPE1�A�@H�ߺ�� ���H������H��H�����H����I�UH�(H�PI�E�����AUE1�1�A��AT�A���!UH��SH��H�H���0�jE1�1�j@A�
�
H�߾`�O�����XH��ZA���L����ɾ!�uH��[]A\A]���D���A��1�H��A�@���[��I��E��ts�H������H��I�����H��tH���L�(H�PH���H������M��tH��tI�T$I�D$H��H��I�T$H��[]A\A]��E1�1�A����!H����jE1�1�j@A�
�
H�߾`�2��XZj?j@E1�1�A���eH�����Y^jj@E1�1�A���hH������_AXj?j@E1�1�A���eH������AYAZjjE1�1�A���fH�����A[E1�A]1�A�@�H�߾ �B��1�A��H��A�@������1�H��A��L�����!I�����H���v��M�������H���x���I�UI�EH��H��I�U�_����f.�AVAUI��ATUS���H����lH��E1�1�A��
�H���4�����HcMLA�I��H��A�
������H��I���b��H��tI�UL�0H�PI�EL����H��M���6���H��tH�PL�hH��H��H�PH���p��M��tH��tI�T$I�D$H��H��I�T$[]A\A]A^�fD�k���H��I������H��tI�UL�0H�PI�EHcMPE1�A�@H�ߺ�� �x���H�������H��H���{��H���Z���I�UH�(H�PI�E�F���fDE1�1ɾH��A��
�����H��H���+��H���3���I�UH�(H�PI�E[]A\A]A^�f.��[���H��I������H������H��0L�(H�PH��0����AWA��AVAUI��ATI��UH��SH��(�H�D�D$��q<��� E1�A��1ɺH���S��������ujA�A��j�1ɾbH���a��E1�XZE���[jE1�A�
1�j�
�`H���2��AZE1�A[A�1ɺ
H�߾���I�Nj�������H���3��A�}q�H��H�D$H���H���HD�H�T$���H��tH�T$H�
H�HH�L$H�H�E1�1ɾH��A�@�����H��H�D$�Z��H��tI�$H�L$H�PH�I�$D���E���9M��t-�T$�����H�����H��tI�$L�0H�PI�$H��([]A\A]A^A_�A�}r�����A�A��1ɺ� H�����E1�E���IE1�A�1ɺ�� H���|��E1�A�	1ɺ� H���_��E1ɹ(H��A�
��� �?��H�
ؒ���@H�߾���1�E1�A���� H���	���������1ɾH��A�A�@�����H��H������H��tI�$H�(H�PI�$E1�A�1ɺ
� H��������DD�VHcG<1�H��A��� fA��E��C�I��L�к�Y��E��t������������tA�}r��HcE<E�VjA��Mc�jN������H�����H��� ���I�VI�FH��H��I�VH��([]A\A]A^A_�@H�߾�K��H��H�D$�>��M��tH��tI�WI�GH��H��I�WjE1�1�A�j
��bH�����Y^jjE1�1�A���`H�����_E1�AX1�1�A�@�H������E1�1ɺ
A�� H��I������H�����A�}q�H��H�D$H���H���HE�I�����H��tI�UH�t$H�PH�0I�EE1�1ɾH��A�@��`���H��I�����H��tI�$L�(H�PI�$H�����M��tH��tI�WI�GH��H��I�W1�H���|�H�������H��H���_��H��tI�$H�(H�PI�$H�����H���	���H�L$H�������H�qH�AH��H�t$H��H��H�Q�����H�����H������I�$L�8H�PI�$���fD1�H���.��I�����fDE�VHcE<A��Mc�N������fDLcM<1�1�H��A���I������H��H�D$�o��H������I�$H�t$H�PH�0I�$���D1�E1�1�H��A�@�����H��I�����H��tI�$L�(H�PI�$1�A��H��A�@��z��1�H��I������H���0���H��H�����H��tI�$H�(H�PI�$H�����M������H�������I�UI�EH��H��I�U���f�E1�A�1ɺ1�H������I�����@f.�AWI��AVAUI��ATUSH��L�V H�E�2A����D�V0E���������E1�A��A��}��McM41�A��H�ߺ� ����H���)���H��I�����H��tI��hL�0H�PI��hE�M0IcM4� H��A����A��A��Mc��U��H������I�uH��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�@���thH��[]A\A]A^A_�f�H���h��I�uH��t�H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u�@���u�jE1�1�A�j@��bH��迿��XE1�Z1ɾ H��A�@���`���H��I�m8����H��tH��tH�PH�hH��H��H�PH�����H������M������I�T$I�D$H��H��I�T$H��[]A\A]A^A_ÐE1�1�A���
� H��L�T$����E�M0L�T$E���WA�B��~����L�T$I�?E1�1�jA��D��j@�`�þ��YE1�^A�@1ɺ
1�H�����L�T$I��E�r�s���DH��A���������I�uH���-���H��@��fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�A������E1�1�A�@��� H������I�m8E1�1�A�@�
�H���f��H��tH��tH�PH�hH��H��H�PjI�?A�E1�j@1ɺ�`跽��_AXH��[]A\A]A^A_�H������I�uH�������W����f.�AWA��AVE1�AUATM��UH��1�SH��8�dH�%(H�D$(1�A����A��E��E��A���B@���D8�tA����Ic�A��A��A���|�A�ك����%����H������u�D8�u������~�E���w���nA���|Ic�A���D�1���E�Ճ�E���"E��t����A�����bA���A����D�\$D�T$D�|$D�t$D��D��D)�D)�D$�T$9��`Mcτ���A�GA9��D�T$1�A�H��AQ�E1ɾbj@����AYAZ1�LcL$��H��A�@�P���H��H�����D��D�T$D)�H��tI�$H�H�HI�$A��Lc�E9��tAQA�E1�1�j@��bH��耻��_1�AX�LcL$A�@��l@E��t	�������A����1�H�T$(dH3%(�mH��8[]A\A]A^A_�A������LcL$A�@1Ƀ�����H���`���H��H�����H��tJI�$H�H�PI�$��|����H������H��H�����H��tI�$H�H�PI�$��A����A��D������Lc|$D�l$M������1ɾH��M��A�@�����H��H�����H��tI�$H�H�PI�$LcL$A�AL��D9���AQA�E1�1�j@��bH��A)����XMc�ZA�@1ɺ�����LcL$D�|$A�AD�L$D9��&AQ1�E1�A�j@��bH��荹��D�T$�_�AXA�@E)ׄ�DD�Mc�1�D���g���D�\$1�A�H��D�T$��bAQE1�j@�4���Y^1�D�T$A�@�H��E)�Mc��}���H��H������D�\$H��tI�$H�H�PI�$A�CLcL$D�\$A9���AQA�E1�1�j@��bH��謸��XZA�@D�\$1ɺ�E)�Mc����A��A�@1ɺ�z���1ɾH��Mc�A�@������H��H���%��H��tI�$H�H�PI�$�\$A�F9���AWE1�A�1�j@��bH��D)����YLc�^A�@1ɺ����D��D��D)�	�A9�������P�D	څ��~���H�D�T$E1�A�P1ɺ�fj@H��蘷��A_XMc�D�T$A��E9������AQA�E1�1�j@��bH���_�����A[A�@��A]1�LcL$������A���f�M��A�@1ɺ1��!���1ɺ1�A�@H��D�T$�m���H��H������D��D�T$H���+���I�$H�H�PD��I�$�����E��������DAWI��AVAUATUH��SH��D�GTH�dH�%(H�D$1�H�$E����H�����E1�A�1ɺ
�H��I�����H��E1�1�A����!I������������NA�WH�}I��L���E1���������_D���E���'jE1�A�
1�j@�`H�ߺ
�Ƶ��D���M��^A��_E���]�H������H��tE��tH�PL�pH��H��H�PM��t!H�����H��tI�UI�EH��H��I�UH�<$tGH�����H�4$H��t6H��@��DH�H��t@��tH�QH�AH��H��H�QH�vH��u�H���F��H��tM��tI�T$I�D$H��H��I�T$�ET��u&H�D$dH3%(�H��[]A\A]A^A_�E1�A�1ɺ� H���[���f�E1�1�H��A��� �3��LcMT1ɺA��� H���������1�A���H��A�@����H��tE��tH�PL�pH��H��H�PA��1ɺH��L�
�!���j1ɺ
jE1�A�
�`H���г��ZY����f�E1�A�1ɺ� H���c�����fDjE1�A�1�j@��eH���w���AZA[jj@E1�A�1ɺ�iH���R���A]M��XA��1ɺH�߾!����jA�1�jA�@�H�߾h����XZjjE1�A�1�1ҾeH�����YH��^�����I������E1�A�1ɺ� H���s������f�AUI��ATI��UH��SH���c���H��tH��H�����L�kH�I�$H�CI�$H��[]A\A]�DAWAVD�4�AUI��ATUH��SH��H��8L�?D�D$H���X�D$�D$$Mc�D$ I���H�D$(H9�w7��<��D�L$E���"�D$H��H9��9�M��<��_<�s<u��v���{<�RA�F�E�V�McM`H�H�D$Ic�H�D$E��t�D$$����D�cMcM<L��L��A�@��A��H��fA��� E��G�$M��I��M�L�T$A������L�T$McM<1ɺ� L��Mc�M�A�����IcE<1ɺA��� L��N�����H�L$E1�L��A���� �{��H�L$E1�L��A���� �[��Mc�M��H9�����M��H��8L��E1�A�@[L��]��A\� A]A^A_���D<�t$<�t <�tH�|$(H������H���i����D�D$ E�����C�D$ H�\�>���@A�����t�t$����McMXE��t�L$ ����McM`E��t�T$$���WH����fDMcM<A��1�L���� �Z��McM<L��L��A�@��� I���8��A�N�A��E1�Hc�A�L��Mc溂� ���M���m����McMXA��1�L���� ����E�MXL��L��A�@��� A��Mc����A�N�A��E1�Hc�A�L��Mc溂� ���M�����@H��D�Ef����Hŀ}wt�D�T$E��u�<��w���<��o���H��I������H���X����A��1ɺL��� ���E�M`L��L��A�@��� A��Mc���A�N�A��E1�Hc�A�L��Mc溂� ����M���D$$�1����A��1ɺL��� ���E�MXL��L��A�@��� A��Mc��q���A�N�A��E1�Hc�A�L��Mc溂� �H���M���D$ ����McM<A��1�L���� ����McM<L��L��A�@��� I����A�N�A��E1�Hc�A�L��Mc溂� ����M���D$�����A��1ɺL��� D�T$���E�M`L��L��A�@��� A��Mc��l���H�L$E1�L��A���� �L���A�F�D�T$L�\$H��D$$H�D$A�F�E��H�H�D$���@M������USH��H����u+j�
E1�A�
j@1ɾb�%���XZH��[]�@�S���1�A��H��I�������!H��诿��jE1�1�j@A�
�
H�߾b�Ϋ��Y^h�j@E1�1�A���eH��訫��_1�AX1�A���H��A�@���H���\���H���S���H�PH�hH��H��H�PH��[]Ðf.�ATE1�1�I��UA���վ!S�H�����jE1�1�j@A�
�
H�߾`�	���M�$YA��^1ɺ�!H��詾����u[]A\�1�A���H��A�@��0���1�A��H��L�
��!H���\���jE1�1�j�
H��A�
�`�{���XH��Z豹��H��t�H��t�H�UH�EH��H��H�U[]A\�@f.�AWH��AVH�AUATUSH��H�_D�6H�|$H�T$E��H�\$ H�$H�D$@H�t$8�fDH;\$��A����D�3E����tA�F<�iD���<��[A��!A��s��H�=E��Jc�H�>���C<��<��H;$������tH�L$H��H+t$ H�ID�,�E�l�����M����ymH�D$�ھHcҋ��HӅ��&����C�<�������?H�
�H�H;\$�	���H�D$8D�(H�Ĉ[]A\A]A^A_�@�1�H��������H9$v Hc�H����D��H9$w�H��D�Bf����H��<wt�H��<x�HD�H�$�fDH��D�Bf����H��<wt�<x�����H�|$H�BH��H+L$ H�D$PH�H�L$pH��H�L$`H�L�H�|$X�9H�L$h���CH��D�JH)�H�l$0E8��,D�t$/I�ĸH�\$��D�l$xM��D�|$HE��DM��DA�D$f����I�A�<$wt�M�t$L��L)�H9�u'H�|$H��L�����u��E�|$M��D:|$/t���M��E��D�l$xD�|$HD�t$/�\$xH�\$���|���A�An<���|$x<D�3E��A��!A��s�b����H�|$@H���3{���H�����fDH�D$hL��H+L$P�|$x�H�D$XH�L$`�D�)H�L$p�<�D�;H;$��H��f��Bf����H€:wt�H�BH�$�����C��f�������y<�����H�D$H��H+T$ H�@D�,�A�����fDH�D$H��H+T$ ��H�@D�,�A���Z���H�D$H��H+T$ ��H�@D�,�A���2����H�D$H�|$ H�PH��H)�H�D��0��tH��H)�D�,�HcA��H�H�������H���q���Sf������H;$��@��!��	����H���Xq������H;$��!Ѻ!���H;$��������f.��C<�<<�4H;$�������fDH;$H������������H;$H���������`����H;$H���������@����A�$�D$/A8��k���A�|$��_���E8t$�T���H�D$0L�d$H1�D�l$|M��H��H�D$f.�I�uI��f�A�Gf����I�A�?wt�M�gL��L)�H;D$�<H�T$0H������'���D$/A8G�3A�G<�u	M��E8wt��l$M��D�l$|L�d$H�T$�������A8������I�wH���Ef����Hŀ}wt�H��H�D$0H��L)�H��H9��]���H�T$0H������H����}xu
��H��9D$�;D$�+���L)�1�L��H+t$ �|$/�H�L$XH�<��ƒ���'�|$x�l9��T9����]���A�D$�A�T$��l$x��	Ѓ�H�I)�����DH������M��L�d$HD�l$|�l$A�AM����L�d$HD�l$|���A�An<������z�����L�d$PD�L$/�D$x���AWAVAUATUSH������H�G@1��H��H�H�H��H��u�H�G@H�_hI��H�=�H��0�0L�-HB�H��H��M��t-I�U L��H9�w��fDH�P H9���H�@H��u�E1�A������"1�H���f1�H��H���I��H�@�H����@H�E�H�s@HH�I�D$I�H9���H�H)�I�$H�I�H�ZH�H�B L�jH�BM��tI�UH��H�K@H9��_H��H)�L�$H�H I�L$H�\H��I�$H�=I��H�M����M�_@I�_L��A�����M�OI�of�M�SM�CM��M��DA�P����I�yI�AA�P���Q����I�qt
H�~L�H��H)�H�����H��~H�����L9��������H�pI�AI�IH�FM�	I��M9�sDA����`�����M�X���������tA�����M�H�M9�r�M�M������I�WH��u �Yf�H�z���O�H�H��t;H�JH�r��u���%��H�z��H�O)���H�H��u�DL)�A�I�GpI�GxH��L��[]A\A]A^A_����H��L���2q�����D��uTH��H�CL)�H�SH����fDI�HH�xH��H���I�t�H�t�H��L��H)�H)����H����@H�P�H�UH�m����L9��r�����tS�\�������wH�=����I�AI�IH���G�����������H�JH�IH������I�A��D��H�pI�A�����H�p��wH�=��HI�A����@A����A�t��t�����)��O���1�����A�t�f�t����H�pH�HH��tH�NH�HH��t:H�qI�����H�I�$H�H�AH�=I��H�����H�5I���Y���H�=�A�E1����E1���f�f.������U���������SH�H��H��LJ�H9�wOH��uH��E1��1�[]�5���DH��A�@R�1�E1���H���1���ZYH��[]����w����uH��A�j�@�����@AW1�A��AVAUI��ATUSH���nD�f� LcO<L�7H�T$�f��fA��D��I��E��L���L��L��A�����f���v~DA�$IcU<�L��f��H�����H����IcM<E1�L���A���H��?����L��H��蟦��H��t
H�H�hH��A��M��A���u�A�$IcU<�L��f��H�����H��8���H�|$tA�����tUL��蝪��H��@��H��t,�H�MH��t@��tH�QH�AH��H��H�QH�mH��u�H��[]A\A]A^A_�fDIcM<1�E1�L��A���H��a����L��H�����H���s���H�|$H�H�H�PH��\����USH���/��ujA��H����?��H�W@Ic�H�
H�w@�<)H�BwIH�HH�������t��H����H���*H�Ch1��X�PH����[]ÐH�HH������t��H���|H���*H�Ch1��@A��X�PH����[]�@E1�1�1ҾLJ��Eu��H��t0��H����[]�@H�DH�J�D���f�H�DH�J�}���f��+�O���f�AUI���ATUSH��H�����j E1�1�j@A�1ҾeH���X���X�ZH��艦��E1�1�A����!H��I�����jE1�1�j@A�
�
H�߾`����Y^jj@E1�1�A���eH�����_1�AXA���H��A�@�2���jE1�1�j@A��H�߾hH��螘��AYAZj?j@E1�1�A���eH���y���A[XjjE1�1�A���fH���U���M�MX1�ZA���H�߾!���1�H�߾�~��H���^���H��tH��tH�UH�EH��H��H�UE1�1�A�@�� H��裫��1�H�߾�D~��H������H��tM��tI�T$I�D$H��H��I�T$H��A��1ɺL�
�!�J���H��E1�1�A�@�� �-���jH�ߺ
j�`E1�A�
1��L���H��H��1�[�]A\A]�}��U�SH��H���]���E1�1�A����!H�����j?E1�1�j@A��H�߾e�ߖ��Y^jj@E1�1�A���hH��輖��_AXj?j@E1�1�A���eH��蘖��AYAZjjE1�1�A���fH���s���A[]hj@E1�1�A�1ҾeH���O���X�ZH��耣��jE1�1�j@A�
�
H�߾`H������YA�^1�A�@�H�߾ 躩��1�H�߾�[|��H���#���H��tH��tH�UH�EH��H��H�U1�A��H��A���!�e���hE1�1�j@A��H�߾g聕��XZjj@E1�1�A���hH���^���Y^j?j@E1�1�A���eH���;���_AXjjE1�1�A���fH������AYAZhj@E1�1�1�A��eH����A[�]H���"���jE1�1�j@A�
�
H�߾`H��辔��1�XA�ZA�@�H�߾ �\���1�H�߾�z��H���ţ��H��tH��tH�UH�EH��H��H�UH��A�1ɺA���!����hH��E1�j@A�1ɺ�g�#���XZjj@H��E1�A�1ɺ�h����Y^jj@H��E1�A�
1ɺ
�`�ݓ��_AXj?j@H��E1�A�1ɺ�e蹓��AYAZjjH��E1�A�1ɺ�f蔓��A[H��]�� A�1�A�@�1���H��H��1�[�]��y��f�f.�ATUH���SH���|���jE1�1�jA�
�
H�߾b����YE1�^1�A��H�߾ 輦��E1�1�A���� H��蟦��E1ɹH��A���� ����L�M1ɺA�@� H���a���jE1�1�j@A��H�߾b耒��_AXjj@1�E1�A�
�
�bH���\���AYH��AZ萡��1�A�H��A����)I�����1�A�H��A����)�ͥ��E1�1�A����!H��谥��E1�A��1ɺ�!H��蓥��E1�A�1ɺ�H���&���jE1�1�j@�bH��A��H��蒑��A[�XH���ž��H��tM��tH�PL�`H��H��H�PH��蜠��H��tH��tH�UH�EH��H��H�UjH��E1�A�
j@1ɺ
�`����XH��ZE1�A�1ɺ� 辤��H��E1�1�A���� 衤��H�ߺ1ɾ A�A��聤��H��1�[�]A\�w��@f.�AT�USH������jE1�1�jA�
�
H�߾b�n���YE1�^1�A��H�߾ ����E1�1�A���� H����jE1�1�j@A��H�߾b����_AXjj@1�E1�A�
�
�bH�����AYH��AZ�!���1�A�H��A����)I���~���1�A�H��A����)�^���E1�1�A���H����jE1�1�j@�bH��A��H���]���A[�XH��荜��H��tM��tH�PL�`H��H��H�PH���g���H��tH��tH�UH�EH��H��H�UjH��E1�A�
j@1ɺ
�`���XH��ZE1�A�1ɺ� 艢��H�ߺE1ɾ A��1��l���H��1�[�]A\�	u��f�AU�ATUSH��H����E1�1�A��� H������1ҾH���
�H��腝��1�A��H��I������� H�����E1�1�A�@��	H���t���jE1�1�jA��H�߾`I�����_1�AXI����� H��A���|���I���A������ H���X���jE1�1�j@A��H�߾b�w���AY�AZH��覚��H��A��H��tE��tH�PH�hH��H��H�PH���y���M��tH��tI�UI�EH��H��I�UE1�1�A�@��H���n���E1�1�A��� H��I��螠��1�H�߾�?s��H������H��tM��tI�UI�EH��H��I�UE1�1�A���1H���L���jE1�1�jA��H�߾`�k���X1�ZI����� H��A������j1�E1�j@�bH��A���'���YH��^��X���H��tE��tH�PH�hH��H��H�PH��[]A\A]�Df.�����&AWH���AVAUATLc�U��H�w@SH��H��D�4H�W@A��H�B��f�!A��A�H�H	A����A��`EL�H������	�e��H����Ic�H�H�=��4
H�Ch����<���@D�pf�H�P�H�P��A����	�fD�P���PA��uIA��_��jE1�E��1�jD���H���֊��AXAYH��[]A\A]A^A_�H�DH�J�L���f�H��1�[]A\A]A^A_���A�P�Mf�xD�p�b���fDH�HH��������d��H����H��A�@H�ChB�<"H�B�"��fD�X��@D�p����@ˆH�@�PH��1�[]A\A]A^A_�D1�A�� D��H�����E1�1҉��H��[]A\A]A^A_�t��fD����f���H�DH�J�=���f.�U�SH��H����E1�1�A����!H��� ���j?E1�1�j@A��H�߾e�?���Y^jj@E1�1�A���hH������_AXj?j@E1�1�A���eH�����AYAZjjE1�1�A���fH���ӈ��A[]hj@E1�1�A�1ҾeH��诈��X�ZH�����jE1�1�j@A�
�
H�߾`H���|���Y1�^H�߾��n��H��裗��H��tH��tH�UH�EH��H��H�UhE1�A�1�j@H��1Ҿe�$���XH��Z��� �+���jH��E1�jA�
1ɺ
�`���YH��^A�A��1ɺ�!舛��hH��E1�j@A�1ɺ�g複��_AXjj@H��E1�A�1ɺ�h耇��AYAZj?j@H��E1�A�1ɺ�e�[���A[]jjH��E1�A�1ɺ�f�7���XZjj@H�ߺ
�`E1�A�
1�����H��H��1�[�]�om��Df.�AWI��AVAUATI��UH��SH��(H�@����A����@���I
�#@���)@���CE1�1�A��
�H����E1�1�A�	�� H��I���"���1�A�MH��A����!����E1�1ɾH��A�@�蕔���H��I�����H��tH�UL�(H�PH�E1�L���׳��H�߾�*���H��I������H��tM��tI�VI�FH��H��I�VA�����uA�����A���L���ִ��1�H��L��A���貕��H��躔��H��tM��tI�UI�EH��H��I�UH��(L��[]A\A]A^A_�f.�@���~@����@����@��u�E1�A�	1ɺ� H��还��A�A��1ɺH�߾ 蟘��E1�A�1ɺ
�H���2����H��I��蒏��H���M���H�UL�(H�PH�E�9���D@���f@��|� ���D�*I��fA��fE���	���E1�A�	1ɺ� H��E������E���A�1�A��E����� H���ԗ��M��1�A�@�� H��跗��H���/���E1�1ɾH��A��
I���?����H��I��蟎��H��tH�UL�0H�PH�EA���I�?�L��jE1�A�j@1ɾbH�ߺ�{���_�AXH��諐��M��tH��tH�PL�hH��H��H�PA���I����o������IcOLE1�A�
���H��肑��IcOLE1�H��A�
��� H��谖��H���(���H�������H���z���H�UH�EH��H��H�U�a���D@���R���E1�A�1ɺ
�H������I��A�������E1�1�A����!H���"���1�A�
H��A�@��貐��E1�1�A�
H�D$��`H��jj@����A[A^jjE1�1�A�1ҾbH�����X�ZH���+����H��H�D$�����H��I��詌��H��tH�UL�0H�PH�E1�A��H��A���!�U���1�1�A�
A�@�H������H��I��討���H��H�D$�6���H��tH�UH�L$H�PH�H�EH���u���H��t&H�L$H��tH�yH�AH��H�|$H��H��H�QA�����
E1ɹ��H��A�
� 蜔��A����L��A������E1�1ɾH��A��
�����H��H�D$�r���H��tH�UH�L$H�PH�H�E�H��謍���H��H�D$�:���H��tI��xH�L$H�PH�I��x1�H���q����H��H�D$���H��tH�UH�L$H�PH�H�EA�1ɺ
H��A��� 覓��H������H��t&H�L$H��tH�yH�AH��H�|$H��H��H�QH�����M����H����I�VI�FH��H��I�V�E1�1�A�	�� H���#���1�A�MH��A����!����E1�1ɾH��A�@�薍���H��I�����H��tH�UL�(H�PH�EE���E���:E1�1ɾH��A��
�E����H��I��襉��H��tH�UL�(H�PH�E1�L��臬���F���f�E1�A�	1ɺ� H���C���A�������H��裋���H��I���3���H��tI��pL�0H�PI��p1�A��H��@���g����`���f�E1�1�A�	�� H���Ñ��1�A�H��A���� 裑��E1�1�A��
�H���6���1�A�LH��A����!I���c���E1�1ɾH��A�@�����H��I���V���H��tH�UL�(H�PH�EH�߾蕊��H��I��芌��M��tH��tI�VI�FH��H��I�VE1�1ɾH��A��
�����H��I���߇��H��tH�UL�0H�PH�EA�����uA������A���I�?�p��A����L��A���襗��1�H��L��A������H���ɋ��M���$���H����������f�E1�1�A�	�� H������1�A�H��A���� ��E1�1ɾH��A��
膊���H��I�����H��tH�UL�(H�PH�EA�L1ɺH��A���!蒏��E1�A�@1ɺ���DH��L��L�����D���A�����jE1�1�A�
j@��`H���n{��YE1�^1�A���H�߾!����E1�1ɾH��A��袉���H��I������H��tH�UL�0H�PH�EMc��A�@1ɺ�H���]����H��I��轅��H��tH�UL�0H�PH�EH������M������H�������I�UI�EH��H��I�U���fDjE1�A�
1�j@��`H���oz��XE1�ZA��1ɺH�߾!����E1�A�1�A���������H��蔈���H��I����H��tH�UL�0H�PH�E1�A��H��A���!蠍��1ɾH��E���A�@��.����H��I��莄��H��tH�UL�0H�PH�E1ɾH��A�@E��������H��I���H���H�����H�UL�0H�PH�E���jE1�1�A�
j@��bH���'y��A[E1�A^1ɾH��A���v����H��I���փ��H��tH�UL�0H�PH�E1�A���H��I������!职��1�A��H��I�������!�`���1ɾH��E���A�@�����H��I���N���H��tH�UL�0H�PH�E1ɾH��A�@E����訆���H��I������H�������H�UL�0H�PH�E�z����� H��趋��AUE1�1�j@A�
�
H�߾b��w��YE1�^1ɾH��A��
�&����H��I��膂��H���P�H�UL�(H�PH�E�<�f�jE1�A�
1�j@��`H���_w��A[E1�A��1ɺA^�!H�����E1�A�1�A���������H��肅���H��I�����H��tH�UL�0H�PH�E1�A��H��A���!莊��1ɾH��E���A�@������H��I���|���H��tH�UL�0H�PH�EE���A�@1ɺ�t���fDjE1�1�A�
j@��`H���Gv��AY1�AZE1ɾH�ߺA�薄���H��H�D$��H��tH�UH�L$H�PH�H�E1ɾH��A�
A�@��K����H��H�D$詀��H������H�UH�L$H�PH�H�E�����H������1ɾH��E���A�@�I���ރ���H��H�D$�<���H��tH�UH�L$H�PH�H�E�L�������H���i����H��H�D$���H��tH�UH�L$H�PH�H�EH���6���H�����M�����I�VI�FH��H��I�V����jMcOLA��1�j@��`H���t��XE1�ZA�
1ɺ�s�1�H�����jE1�1�j1�A��bH��I���gt��_�AX�� H���m�E1�A�1�A���1ҾbH��Pj@�(t��AY�AZ��fH���-��H���@����H��H�D$��~��H��tH�UH�L$H�PH�H�E�L��訡���H������H��H�D$�~��H��tH�UH�L$H�PH�H�EH���Ȃ��M�������H�������I�VI�FH��H��I�V�o���f.�AWAVI��AUATUSH���wTH�dH�%(H�D$1�H�$����A���E1Ʌ�uA�����jA�	1ɺH�߾ E1�蝆��A�1�H��A���� �}���E1�A�1ɺ
�H������A���I�>H���>��H���Ɓ��A����L��I��A���I���a����E1�1�A��
H��贀��A���I�čF����n1�H��L���Q���H�$M��@��H��t+�H�H��t@��tH�BL�zH��H��H�BH�IH��u�A���������H������H��tM��tI�T$I�D$H��H��I�T$H�����H��tH��tH�UH�EH��H��H�UA�FT��ulH�D$dH3%(��H��[]A\A]A^A_�f�E1�1�H��A��� ��McNT1ɺA��� H���Մ�����E1�A�1ɺ� H��賄���r���fDH�߾�~��H��I������M��tH��tI�UI�EH��H��I�UE1�1�A��
�H�����E1�1�A����!H��I���5���j
E1�A�j@1�1ҾbH���Wp��Z� Y�1�H���a�jE1�1�j�`H��A�
�
� p��^_H���V��M��tH��tI�UI�EH��H��I�UH���0��H������M������I�WI�GH��H��I�W��D1�A�
A�@1ɺH���~��A���I���f���@1�A��
H�߾��}��E1�1�A�	�� H��H������1�A�H��A���� ���1�A�H��A���� �ւ��E1�1�A��
�H���i}��jE1�1�j@A��H�߾`I����n��AXAYjjE1�A�
1�1ҾbH���n��AZ�A[�� H����jE1�1�jA�
�
H�߾b�wn��A]H��A_�}��jE1�1�j@A�
�
H�߾`I���Gn��XE1�Z1�A��
H�߾�|��A��1�H��I�������!I���ā��1�A��H��I�������!裁��A�@1�H��E������1|��E���H����M����H�PL�x1�A�@�H��H��H��H�P���{��H��tH�PL�xH��H��H�PH���|��M��tH��tI�UI�EH��H��I�UH���r|��M������H���_����q���1�A�@�H�߾�q{��H��t�M��u��A�@1ɺH�߾�K{���v�����UH���SH��H�����j	E1�A�j@1�1ҾbH���l��_1�AX�� H����j A�E1�j@1�1ҾbH���gl��AY1�AZ��fH���o�h�E1�1�j@A�1ҾbH���.l��A[X�E��u,H�ߺ�f1��0�H��H��1�[�]�kR��1ɺ�fH����h�E1�1�j@A�1ҾbH����k��X1�Z�f�H������hE1�1�j@A�1ҾbH���k��Y�^1ɾfH�����h E1�1�j@A��H�߾b�Rk��_AXj
j@E1�A�1�1ҾbH���1k��AY�AZ��fH���6��j/E1�A�j@1�1ҾbH���j��A[1�]��fH�����j_E1�A�j@1�1ɾbH����j��X1�Z�f�H������h1�E1�j@�bA�1�H���j��Y^�a���DUH���SH��H�����j
E1�A�j@1ɺ�bH���Ij��_AXjj@A�E1�1�1ҾbH���(j��AY�AZ�� H���-��j{E1�A�j@1�1ҾbH����i��A[X�E��u-H�ߺ�f1�����H��H��1�[�]�,P��@1ɺ�fH������jE1�A�j@1ɺ�fH���i��XZh j@1ɾbE1�A�1�H���`i��Y^�t���f�ATUSH�����ur�A��A�ȃ��u��A��D������D��A��H����tKLJ�E1�1ɾ�bD��H����D��H��1��2��@�PH����[]A\�D��D�D$D�L$��u���T$D�D$H��I��tME1�1ɾ H���K|����u7H���w��H��t*I�T$I�D$��H��H��I�T$H��[]A\���]H����[]A\�f�AWA��AVA��AUD��ATI��USH��HH�?A�\$T�L$dH�%(H�D$81�H�<$�\$�����D$�����D$H�$H�D$(D��D1��D$���P����kE8�D����D	�E8�A�H��@���¾E1�1�!ˆT$�
�u��A��1ɺH�D$ ��A��� ��H��A�@A	�A	��A	�H�l$0Mc��{���H��H���D$0fn��sL��E8����D$A�@�H�߾ ��DE�1�E��D���A��A	�E	�A��E	�Mc��z���H��H���D$3��L���p��H��H�ߺf�L$2�D$4��K�����H��f�t$3H����K��jE1�1�j@A�
�H�߾e�yf��_AXj�j@E1�1�A�
�
�eH���Uf���H��H��A�ofD�L$BAZA[�uK���|$�o�H��H���D$3�UK���t��H��H�ߺf�D$2�;K���H��H���D$3��&K������H��H�ߺf�D$2�K��E1�A�1ɺ� H���oy���H��H���D$3���J��jE1�A�j1ɺ�fH���ye��XE1�ZA�1ɺH�߾ �y��j1�E1�A�j��jH���9e�������D$B�H��f�|$@�AXH��AY�VJ��1�H���Lr��jE1�1�jA�
�
H�߾`I����d��AZA[jjE1�1�A�
�
�`H����d��A]H��A_���q��H��I����s��M��tH��tI�VI�FH��H��I�VH���s��jE1�1�j@A�
�
H�߾`I���]d��YE1�^1�A��
H�߾�r���H��H��I���D$0fo�cI���|$�h�|$�]�t���H��H��f�L$2�3I������H��H�ߺf�D$2�I������H��H�ߺf�D$0�D$2��H��1�H����p��H��tM��tH�PL�xH��H��H�Pj1�E1�A�
j�
�`H���qc��A_H��X�r��H�L$ H����H��tRH�qH�AH��H�t$H��H��H�QM����I�UI�EH��H��I�UM��tI�VI�FH��H��I�VE��$�E����L�<$1ɺ� I�����A�@L���v��E1�1ɾL��A��
�q���L��H���~m��H��tI��$HH�H�PI��$HE��$�E�����|$���D$����H�D$8dH3%(��H��H[]A\A]A^A_��Hc�A�
E1�1�P�
�`j@�b��_AX����H�$E1�A�1ɺ� H���u���D$1ɺA���`H�߃�H�Pj@McL$T�a��XZjj1�1ҾbH��E1�A��a��Y�^��H���0����\$A��$����D$���t$��@ ����H�D$(I�$�k���fD�p���H���D$4f�|$2H���aF��jE1�A�
j@1ɺ�eH���a��AXAYj�j@�
�eH��E1�A�
1���`���H��H��A�ofD�T$BA[A]�E���|$t�����H��H��f�D$2��E���t��H��H��A����f�T$2��E���H��H��fD�t$2�E�������D����D$���fDj1�1�E1�jH�\$A�
�bH���`��XZ�L$����McL$T1ɺH�߾ A���s����
H�߾���H�<$E1�A�1ɺ� �{s���\���fD�H��H���D$3��D���t��H��H�ߺf�D$2�D���H��H���D$3��D������H��H�ߺf�D$2�D���H��H���D$3��}D��j�E1�jA�1ɾfH���_��XZ�<���DH�<$��
��������|$����HcD$�bE1�1�A�
�
Pj@H�|$�^��^_�Q���������H��f�t$2H����C������H�<$��m��I�$@�l$H�D$(���@D�L$H�$1ɺA���!A��H��Mc��r��jE1�1�j@A�
�
H�߾`�&^��AZA[h�j@E1�1�A���eH���]��]1�1�A\A���H��A�@�Nl��H��tH�L$(H��tH�PH�HH��H��H�PjE1�A�
1�j@H�|$�
�b�]��AXAY����M��tH���L����t���DM���f���H���I����X����@AV��AUATUH��SH��H�dH�%(H�D$1�H�$H���Y��E1�A�	1ɺ� H���p��A�1�H��A���� �p��E1ɹH��A�@��� �|p��E1�A�1ɺ
�H���k�����H�}I���=������L�m�������Q�����1�H���]w���������������A��1ɺH��L����!��o��jE1�A�j@1ɺ�iH���[��XZjj@E1�A�1ɾe�H����[��YE1�^A����� H���zo��H����j��M��tH��tI�T$I�D$H��H��I�T$E1�A�@1ɺ� H���4o��H��H���i�������H��蜊��D���E����1�A��H��A�@� ��n��1�1�A�_A�@�H���i���H��I���?h���H��I����e��H��tH���L�(H�PH���jE1�1�A�j@��bH���Z��^_jj@E1�1�1�A��bH���Z��AX�AY�� H�����jE1�1�j@A��H�߾b�XZ��AZA[jj@E1�1�1�A��bH���6Z��]H��A]���f�<��H���Ti��H��tM��tI�T$I�D$H��H��I�T$H���+i��H�4$H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1�1�h�A��gH���Y��A[1�]��H����?��H�D$dH3%(�[H��[]A\A]A^�f.�1�A���H��A�@��g��1�A��H��L�����!I����l��jE1�1�j@A��H�߾i��X��XZjj@E1�1�A���eH����X��YE1�^A����H�߾ �fl��M�����H����g��H������I�UI�EH��H��I�U���1�E1�A�@�� H���l���������A��1ɺH��L����!��k��jE1�A�j@1ɺ�iH���X��_AXjj@E1�A�1ɺ�eH����W��AYAZ���fD1�A��H��A�@� �pk��1�1�A�_A�@�H���f���H��I����d���H��I���Sb��H��tH���L�0H�PH���jE1�1�A�j@��bH���8W��AXAYjj@E1�A�1�1ҾbH���W��AZ�A[�� H�����jE1�1�j@A��H�߾b��V��A^Xjj@E1�1�1�A��bH���V��XH��Z���f���H����e��M��tH��tI�UI�EH��H��I�UE1�A����@A��1ɺH��A�@��d��A��1�H��L�����!I����i��jE1�A�j@1ɺ�iH���V��A]A^jj@�E1�A�1ɾeH����U��XZM�����H���e��H�����������DjA��1ɺj@LcML�`L���U��^E1�_A�
1ɺ�L����c��HcMLE1�L��A�
��� I���i��L���d��M������H������I�VI�FH��H��I�V���f�HcMLE1�A�
�����AWI��AVM��AUI��ATUSH��(H�H�T$�����A���H��H�x�…������9�������t|H�l$H���/-��A�7A��A��I�%��D$A����L�d$udA��A��1ɺA��McɃ��������#H���h��A�GA�7�"�1�A��A�7�D$H�D$t�E����E��tH�L$�����DL�d$���D$M�lL�,$M���2f.�������u	���*I��L;$$��A�u�N�A�EA�ML;d$���|$��A�<$Hc�A�l	�A�|��A�E��~�A�U����A�A��1�H��A)�&Mc��f��A�E1�A�}�TA�U�����������A�EI��L;$$�F���H�\$HcD$H��(H�D[]A\A]A^A_�@A�<$Hc�A�DA�|�E��������A�A��1�H��A)�#Mc��Ff��A�E�H���DE�ME����E
ME��1ɾH��A�@�`���H��I���]��H���,���I�L�8H�PI�����f�McME����EMMc��f.�E�MfE��uEfEME���f.������A��1ɾ!H��I������~e��A�E���DAQA��E1ɾfj@H��1��Q��^E�MA�U_�f.�AQA��E1�1�j@�fH���gQ��XE�MA�UY����AQA��E1�1�j@�fH���7Q��AXE�MA�UAZ����fD=�v�I� ������?%�	ȃ��9�����H�
����Hc�����H�H��BH��l�1������������?H�������f.�A�U�����!H���3d���)���fD�&H���d������L�T$E�B�t<L�\$E�K�uM��A��?��%A�����D	�D��	ȁ�	�������A��?����A	���%�D	����L�\$��E�[u<��A��?��%A�����D	�D���	�	�D�����	����H�T$����%@A���R��?	‰�%?	�D���	�D������	�D�����	��P���AWM��L�=AVAUE1�ATI��U��SH��H��XH�|$dH�%(H�D$H1��D$A�������A�A�$���w8��Ic�L�>���A�T$f����I�A�<$wt�I���A��H�|$HdH3<%(D���/H��X[]A\A]A^A_�I��H�D$D���E��u�I���L$B�T-)�A����A)��t��)H�����A��D$�=���E1�A�D$�D$M�T$f�����D$H�D$A������������LH��H�
��?���E���"H�D$A�rL�@x��� �E�Z������A��?��������D	�	��E1�M�T$�D$�g���E1�H�|$M�T$�D���E��tA�T$�����H�|$��I�4M��H��L�T$(L�L$ ���Ņ��|����D$L�L$ L�T$(���E1�M�T$�D$���A���H�D$D���E���3���I���i���A��O���A����H�D$���������A�D$I��f�����D$�&���A�T$I��f�����|$�}���H�D$M�t$!���I�D$����DH���x������I9�u�A�D$!M�T$�H���w4�H��3� ��tA�D$"f�����|$f���Q���D�\$F�l-A)��.��3@�����D��)��t%A�+H������A�|$ y�D����)��u�A�����H�D$��������M�t$!�B���H�D$���������A�D$f����I���A�T$f����I��M���A����H�D$����������H���H�D$H-H�H H��f��8H�P�V���H��H9�w����H�D$D���E���o���H���H�D$H-@H�H H����8H�P����H��H9�w��4���H�D$D���E������H���H�D$H-�H�H H����8H�P�����H��H9�w����E�t$fA��E��M�A�>w����{I�T$��LB��m���I��� ���DL��1�����I9��)���@�������H���G���tިuf.���QtY�Ѩt�A��@���t�@��tU@��:t܍V���H���H��D8Bt�H9�u�@��w;����@��D��Q@�3u�fD�����h���D���K���������s���E����H�|$��H�Ox�8��s�D$@�L�D$@D��M��M��A�ȉ�M��D�\(L��D)���3@���tI@��tr@��:t6�F���H��fDH��:PtH9�u�@������@�ƈ@�3E��u9D��)����H��I��H��9�tpA�$�f���SE��t���H��:t��@���H��
@H��:Pt�H9�u�@��w��@�ƈ@�3�D���z�����l$��A���A�D$!�H���w)�H�����0����)���A�A��M���D$������D$@E1����E��t�H�D$��L�@x���C��A�<89�t�=�������A�<L�D$@�L$ L��L�L$8L�T$0L�D$(��L$ 9������L�L$8L�D$(D��A�L�T$0M��M��A��A����A�D$$fA9D$"�T���I��&A�A���D$���A�r�� �X����?%�	��S�����?H��H���_����ǃ�?����	�����L�d$��M��H�|$I�vM��H���=���������A�Vf����I�A�>wt�M��L�d$��A�A�$������L�����Hc�A�<;���H�=Hc��4wH�=�t���������M���E1��R���H�|$M�ȉ�I�t$"H��L�T$ L�L$���L�L$L�T$ ������������D��H�=�����Hc��H�=���Hc��WH�=D�������A�z����������?����	���	����I��"A�A���D$�D����T$M��A�Ņ�����}���f.�A��E�r��um��A��A��?��A�������A��E	�D	�	��L���E�Z��������A��?%������D	�	Љ���	��/���E�ZA��D�\$ ����A��A��?��A�������E	���D	�	�D������	������E�b������A��?%������D	�	Љ����	�D�����	����E�ZA����A��@��?��A��?E	�A	�D�������D	ށ��	��t$ ����	��!�������%@����A�B��?	Љ��?	Љ����	�D������	�D�����	����f�AWI��AVAUATUSH��L�'dH�%(H��$�1�L�t$0L��I�V`f.��H��H9�u�I�wL�D$,L��L����D$,'��Ņ���D�@1�1�E1�1��A������9�Hc��|<0�t>�ɍH�D9�t6��D)�9�~��A�‰ȹ��9�ʃ�D9�t1���fD��A9�u�A�����M�/A�]�����t$�D�T$�D�T$�t$H��I����I�GM��I�M�OI���pH�@��H��I��H��L��I�AH��I�H��M�AM�EI�EH��H��M�E(M�E8M�EHI�E H��H��M�EXM�EhM�ExI�E0H��H��M���M���M���I�E@H��H��M���M���M���I�EPH��H��M���M���I�E`H��H��I�EpH��H��I���H��H��I���H��H��I���H��H��I���H��H��I���H��H��I���H��H��I���H��H��I���C�R�H�M�Df�A�@�L��I�D�H�xL9�r"f.��L��9�~�H��H9�u��I��9�u��D9�����A���ȹ���E1�1�������@��9����p������[�Hcʀ|0uۍ@�Hc��|<0@��w�@�����z��Hc�Hc��|<0@2|0@�׍z���t��y�QHc�Hc��L<02L0�эJ���D؉�9���A�����D9Ӹ����D�McOT��D�T$Hc�E���oUE1�A�1�j@��bL���?��AZA[D�T$M��1�A�@�� L��D�T$�8S��L���N��E1�1�A��
�L��I���M��LcL$1�L��A����!I����R��E1�1�A����!L����R��jE1�1�jA�
�
L��`��>��AX1�AY�E1ɺL��A�@�?M��M���D$�t$H��t@��tH�PL�pH��H��H�P����KE���E���L����M��M��tH��tI�UI�EH��H��I�UMcOTE����1�A���L�� �Q��E1�1�A��� L����Q��E1�1�A��
�L���tL��E1�1�L��A��
� H���Q��L���M��H��tH��tH�SH�CH��H��H�S�H��$�dH34%(�qH�Ĩ[]A\A]A^A_�HcЉ�H�RI�V�:�s�����H����9�����A��������fD1��1�A���L�� �P��E1�1�A��� L����P��UE1�1�j@A��L��b�<��A^E1�X1�A��L���MK��E1�1�A��� L��I���}P��L���K��D�T$H���
���M������I�VI�FH��H��I�V��������UE1�A�1�j@��`L���^<��AY�AZ���1�Lc�A����!L����O��j1�E1�j@�
�`L��A�
�<���[^_�HcȍP�|0����Hc�Lc�D�L40H�t$F�\0E1�A�ÍP�����A��D�\$E1�1�P�A�L��j@�f�;��XZH�D$D�\$D
\0E��1�A�@�L����I��H��t�|$tH�PL�pH��H��H�PA�����t���jE1�A�
1�j@�
�bL���!;��A[[���f��[��L���Hc��T0ƒ�H�Hc��t0�T0�����"���1�1�A�@�L��L�T$�/I��L�T$1�L��A�@��H�D$F�L0�I��L�\$H��t�|$tH�PL�pH��H��H�PL��L�\$�I��L�\$M������H�������I�SI�CH��H��I�S����A��1ɺL��I������!��M��h�E1�1�A�j@��eL����9��X1�Z1�A���L��A�@�?H��H��������|$�y���H�PL�pH��H��H�P�`���A�E������A�E�����E1�A��1ɺ�!L���'M��j1ɾ`j@E1�A�
�
L���F9��Y^�-���Hc�D�L0����f�f.�AWAVI��AUATI��UH��SH��HH���0D�h�H��D�l$��C��I�Nj�D$����
f��D$AAG AGI�$M�w I�I�FM�<$H�$A��wA�FL�4$f������D$H�$D�`D��A�D$���<wH���Hc�H�>��H�$�D$0���+�|$�`jL�mE1�A�j@1ɺ�bL���8��XL��ZE1ɺA�1ɾ�lF��L�m�H�D$ L����B��H��H��t;H�D$ L��H�T$ H��	G��H�T$ �|$H�BH��H�BH���)E1�1�A�@��� H���FK��A��ct E1ɹ��H��A�@� � K��D�D$I�GH�D$ E���	�|$�^1�L��H��衚��E1�A��1ɺ� H����J��E1ɹH��A���� �J��A�A��1ɺ1�H���GE��E1�A�
1ɺ�� H��I���wJ���H����C��H��I����E���|$0I�G(����|$��H�T$ L��H��A��m��E1�A�
1ɺ�� H���J�����|$�}I�WL��H��E1�蓙��E1�A��1ɺ� H����I��E1ɹH��A���� �I��1�A�1�A���H���9D��H��I���D���L$0I�G(���	A�1ɺH��A��� �NI��A�I�WL��H���l��E1�1�A�
��� H���I���|$��1�A��H��A��� ��H��jE1�1�j@A��H�߾`�5��XE1�ZA����H�߾ �H��LcL$1�H��A�@��M�w(�6C��H��tM��tH�PL�pH��H��H�PM��t!H����C��H��tI�UI�EH��H��I�UH���C��M��tH��tI�T$I�D$H��H��I�T$jH�]E1�1�j@A�
�
�bH���44��1�AYH��AZ�fA���H��I���>��H��tH��XL� H�PH��XH�$H��H[]A\A]A^A_�f�jL�mE1�A�j@1ɺ�bL���3��Y�^L��E1�A�1ɾ�B��L�m�H�D$ L���f>��H��H�������HcT$HcE<1ɾ A��H��L�к�G�����fDH�$�����D$0���fDH�4$�FH��f�����|$(�~�H�4$��f�����|$0���D�D$(�D$����H�$�����D$0�D$�s���fDLcM<1�1�H��A���I���	A���H��I���i=��H��tI�WL� H�PI�G�D$1�A��1�H�߃�Hc�HcE<L�к�@��H��I���A���t$0I�G(����	A�I�WL��H���7i��E1�1�A�
��� H���E���|$�m���E1������D$A����Hc�HcE<L������D�|$0E���
���jA��H��j@A�����`�1��A[A^����f�LcL$0�H��A�@�����?���H��H�D$�,<��H��tI�WH�L$H�PH�I�G�|$������u����D$ jL�eE1�A�j@1ɺ�bL���0��XL��ZE1�A�1ɺ��G?��L�e�H�D$(L���;��I��H��t'H�D$(L��I�E��?��I�EH��I�EL���|$�7E1�A�
1ɺ�� H���*D��E1ɹH��A�@��� �
D��jE1�1�j@A��H�߾`�)0��_1�AXL��H��艓��E1�A��1ɺ� H���C��E1ɹH��A���� �C��A�A��1�1��H���/>��jE1�1�j@A��H�߾bI��M�o�/��AYAZ�|$ �H���>���|$H�D$��E1�1�L��L��H���}f��D�\$0E��tCH���>��M��tH��tI�T$I�D$H��H��I�T$H���b>��I�G(���f�jL�mE1�A�j@1ɺ�bL����.��AYL��AZE1�A�1ɺ��:=��L�m�H�D$L���9��I��H��t&H�D$L��I���=��I�FH��I�FL��E1�1ɾ H��A�
���)B���H���;��H������H�L$H����H�PH�HH��H��H�P����@H�$�����D$ �D$7�D$0�D$(jL�eE1�A�j@1ɺ�bL����-��_E1�AXL��A�1ɺ��,<��L�e�H�D$8L���8��I��H��t'H�D$8L��I�E��<��I�EH��I�EL���|$M�o��E1�1�A�@��� H���A��L��L��H��譐��E1�1�A���� H����@��E1ɹH��A���� �@��1�1�A�A���H���S;���|$0I���-H���
<��H�D$�D$�D$0A�1ɺH��A��� �`@���+���LcL$0�H��E1�A�@�����:���H��H�D$�A7��H���������HcD$LcM<1ɺA��� H��L�$�M���?��E1�A�
1ɺ�� H����?��E1ɹH��A�@��� �?��jE1�A�j@1ɺ�`H����+��HcE<A[A��A]M�L����@�D$ �D$0�{���fDHcD$LcM<1ɺA��� H��L�$�M��"?��E1�1�A�@��� H���?��LcM<1�1�H��A���I���9���H��H�D$��5��H��tI�WH�L$H�PH�I�GHcE<1�1�A���H��M�L�K9���|$0I����H���:��H�D$�D$�D$0�C������D$ �t$ f�������|$(�|$�D$7�D$7	�D$0�{���@E1ɹ��H��A�@� �>��H���9���|$�D$7H�D$��E1�1�L��L��H���Ha��1�A�H��A���� ��=��jE1�1�j@A��H�߾`��)��YE1�^A����H�߾ �=���|$7�z�|$ �R���LcL$0A�@1�H�ߺ��8��jL�uE1�j@A�1ɺL���bI���h)��XL��ZE1ɺA�1ɾ�7��L�u�H�D$L���4��H��H��t0H�D$L��H�T$H��V8��H�T$H�BH��H�BH��E1�1ɾ H��A�
���<���H���6��H��tH�L$H��tH�PH�HH��H��H�PH����7��M���J���H���A���I�UI�EH��H��I�U�(���LcL$0�H��E1�A�@�����6���H��H�D$�!3��H����A�I�WL��H���>_��E1�1�A�
��� H���;���|$����?����E1ɹ��H��A�@� �;��H���7��H�D$�D$�D$0�D$(�D$�s���fDE1ɹ��H��A�@� �H;��H���6��H�D$�D$�D$0�D$(�D$A�1ɺH��A��� �;������fDLcL$1�A�@H�ߺ��5��H�L$H���Y���H���P���H�PH�HH��H��H�P�7����AWAVAUI��ATUSH��XH�/dH�%(H�D$H1��F�<j��H���H��A��Hc�I��H�>��@E���7I�uL��H���A�Ef����M�d���f�E����D���E���H���H-H�H H��f��8H�P��H��H9�r�1�H�;A��H�������z��jE1�1�1�j@�eH��A��%��^1�A��_@���@E���W������IH���H-@H�H H��@�8H�P�#H��H9�r�1�H�;A��H������3z��j1�E1�1�j@�eA�H���e%��1�A��	X@��Z�@E�����������
H���H-�H�H H��@�8H�P��
H��H9�w�1�H�;A��
H������y��jE1�1�1�j@�eA�H����$��1�A��[@��A\�gE���D���E���Gj1ɾ`E1�j@A�
�
H��M���$��Y^�H�\$HdH3%(L����H��X[]A\A]A^A_�f.�E����
�������H���.?�������u���=����L��H��M���04���{���E���H���H���WT���;���f�@���D$C���D$G���D$DA�Ef�D$EE����H�t$CL��M�eH�������@E����1������H���{>���H���0���H��I���>.��H��tH���L� H�PH���1�A�@�H��L�
� ��6��E1�1�A���� H����6��1�A�H��A����!�6��H���2��E1�1�A��
�H��I���.1��E1�A�
1ɺ� H��I���^6��1��H�ߺ����=���H���/���H��I���M-��H��tH���L�8H�PH���1�A�@�H��L�
� ��5��1�A�H��A����!��5��jE1�1�j@A��H��h��!��AX1�AYA����%H��L�
�5��E1�1�A��� H���o5��j1�A�jA�@�H��h�!��AZA[jjE1�1�1ҾeH��A��i!��A_�XH���.��H��tM��tH�PL�pH��H��H�PE1�1�H��A��
� ��4��H���V0��H��tM��tI�T$I�D$H��H��I�T$E1�1�A���� H���4������{
M���C���E����	A���0�	H��A��E��D���;���H����-���H��I���Y+��H��tH���L� H�PH���D��H���-���H��H���$+��H���p���I�M��H�H�PI����fDE���'	D���E����A�EA�Ã��8=���� ��A�U��%���?	�A��A����H�Kx��A��������9���A���D��E��D�E9�D��D�޹AC�AF�H��D�\$D�$�e:��D�$D�\$D��D1؍P�����D�T$E1�A�1�D�$��fH��Pj@�"��A[[D�T$D�$E��E	��CE����������1�H����9��1�A�
H��A�@���9-�����H�D$H�$�/E1�1�A��
�H���-���H��I���b)��L�$H��tH�T$L� H�D$H�PE1�A��1ɺ�!H��L�$�2��A�
1�H��A�@���,��jE1�A�
j@1ɺ
�`H��I�����X�ZH���4+��H��I���)-��L�$M��tH��tI�RI�BH��H��I�R���1�L��H����-��H����,��H�t$H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H���,��M��tH��tI�WI�GH��H��I�WH���,��M���l���H���c���I�T$I�D$H��H��I�T$M����������$��t A�E<�v��?H�D�$A�D$�$������1E����E�]L�؅���A�����	A�U� �v����?%�	�A��A����H�KxA��A���D���A9��wA���z
D��E��D�$E9�D��D��H��AC�AF�1�D�\$�&7��D�\$D��D1؍P�����	E��1�1�A�@�H���f*��1ɾH��E��A�@�H���F*���H��I���&��H��t
I�L�8H�PI�H����*��H��tH��tH�SH�CH��H��H�SLc$$M�����f�E���wA���) �
H��A��E��D���V6���H���(���H��I���&��H������H���L� H�PH������fDE����D���A��oM�e A����E��t"��I�E��f�H��8P��KL9�u�A���1�D��H�߉��$D�L$�5���$H�;1�M��L����]��������D���E��D�L$�,jE1�1�A�j@��eH���[��XZjj@E1�1�A���iH���8��YM��^1�A���H��!��-��j1�A�jA�@�H��h���_AXjjE1�1�1�A��eH������1�AYH��AZ�'���H��H���$��H���-���I�H�H�PI�����E������A���xA�EH�{x�…�t*=�vA�M� ������?%�	ȃ��B���9��������)L������L��H���I������P���E�]A����H�SxA�F�E9��]���A��D��D��H��D�$��3��D�$1�1�H��A�@��!'���H��H���#��H��t
I�H�H�PI�M����H�t$H���sM��L�$����f.�E1�1�A����!H���,��jE1�1�j@A�
�
H��`�"��_1�AXA����H��A�@�o&��1�A��H��L�
��!H���+��jE1�1�jH��A�
�
�`���AYH��AZ��&��H������H������H�SH�CM��H��H��H�S��1�A��H��@����I�����f�1�A��
H��@���I���V�f�1�A��H��@���I����f�H���G������H���xG�����H���hG���|���H���XG������H���HG������H���8G���4�H���(G����H���G���\�H���G�����H���F���<�H����F����H����F����H����F����E1�1�A��
�H���$��H�߾I���D��H���[%��H���G���M�������9���@A���pH�SxF�$E9������1�D��D��H����0��E��1ɾH��A�@��'$���H��H��� ��H������I�H�H�PI����@A�����D��1�A�@�I���H����#�����H�D$I����E1�1ɾH��A��
�#���H��I������H��tH�T$L�8H�D$H�PE1�1�A����!H���(��1�1�H��D���A�@��0#���H��H�����H��t
I�H�H�PI�H����#��H�t$H��@��H���9����H�H��t@��tH�QH�AH��H��H�QH�vH��u��	����E��A�@1�H����"��H��A��n��jE1�1�A�j@��eH�����A[A_jj@E1�1�A���iH������XM��Z1�A���H��!�'��j1�A�jA�@�H��h���Y^jjE1�1�1�A��eH���|��_1�H��AX� ���H��I���?��H��t
I�L�(H�PI�H�����H���|"��H�����H�SH�CH��H��H�S��f.�A����H�KxE�����f.�A����H�KxA��A���H�5����Hc�����H�H��BH�D�|�E���������1�1�E��A�@�H��D�$�� ���H��H���B��D�$H��t
I�H�H�PI�E���|���@PE1�A�1�j@��fH��� ��A[[E��D�\$E	��<���Hc$E1�1�A�
�
�`H��Pj@����XE1�Z1ɾH��A��
�: ���H��I�����H��t
I�L� H�PI��$1�A��H�L$ @��M��L��H�߉D$ �����H�D$$�z���I�����E��A����D��H�A����H��H���D�H��BH�D�|�E������<���A�u���D��������?	ω����	�A��A������H�Kx��2A����?��E�ہ�A	�A	��I�E1�1�A����!H��$�^$��A��D�$tYA�ED���H�Kx��E��t,=�vE�M� �4��A��?%�D	ȃ������9���������E��A�@1ɺ1�H������H��H������H��t
I�H�H�PI�jE1�1�A�
j@�
�`H������X1�ZA����H��A�@�*��1�A��H��L�
��!H���V#��j1�E1�j�`H��A�
�
�u��YH��^���H��tH��tH�SH�CH��H��H�SM�e�������D��A���A�M��?	�A�U�����	�A��A���"���H�KxA����A�u����������?	�	���D��H�E��H��D������H�H��BH�Dd��R�H�t$H���C�����E�����D��H�E���H��D�҃����H�H��BH�DT���@��A�M���E�؃�?��A��A��A	ȉ�����A	ȉ���A	�E���������A�U��A�����?	�A�U������	�A�u����	�A�����A�}���A������?A�����%�A	�A	É�%�A	���A���A�u����%�����?	�	�A�U����	��z��H�����H�����I�H�H�PI����H�
����Hc�����H�H��BH��L�1�������E�E�������A��?����D	���	��J�E�ME�ب�aA��A��?��A�������E	�A�Ё�A��A���E	�D	�	�A���Z���D�$E1�A�1�j �H��fj@�(��_AX1�D�$A�@�A�� E��������mA�U��A�����?	�A�U������	�A�u�����	�A�u����	�A�����E�E��A����A��?A�����%�E	�A	É�%�A	É���%�A	����A����A�u����%�����?	�	�A�U�����	�A�U����	��\�A���#�E�M�������A��?%�ʁ��D	�	�D�����	��{��H�
����Hc�����H�H��BH��|������O���A�U��A���@��?	�A�U�����?	�A�u�����	�A�u�����	�A�u����	�A������A����E��E�E�����A��@���A��?E	�A��A��A��?E	�D	�	�D�����	�A�����A�u����%@��?��?	�	�A�U�����	�A�U�����	�A�U����	����A�EA����A��@����?A	É�%?A	É�%�A	É���%�A	�D����%�A	���E�E�uw��D��A��?����D	���	����A����E�]uy����A��?%�ʁ��D	�	�D������	�D�����	��d��A�u�u|��D�ʃ�?%�����	�	�D�����	��$���A�U����%@��?	Љʁ�?	�D������	�D������	�D�����	������A�}u;��D�ʃ�?��%�����	�	�D������	Љ��	����A�U����%@��?	�D�����?	�D������	Љ���	Љ�����	��D���f.�AWH��AVAUATUSH��H��XL�;���H�|$0H��H�t$(L�oH�T$H�T$@dH�%(H�D$H1���\$H�D$@�ƃ�@�t$:H��HE�H�t$���H�W!1��D$ �E1�1��D$A�L����t`���J<��<����	���
�kIc�L�>���D$1�A����A�f.��BH����u��L$:H�|$0D����p!��H�D$(������G �D$D$ �D$0�+L�%H�E����jE1�A�1�j@��iL���
��AX1�AY�M��!L��A�����jE1�A�j@1ɺ�eL������AZA[jj@E1�A�1ɺ�hL�����A\XjjE1�A�1ɺ�`L�����XI��ZA�@1ɺL��� � ��1�A�L��A����#����L$ ���xE�����D$���a�D$01���H�D$(H��A�E�D$���Bf�A��H�T$A����H9T$A�U@��!�D��<��<�=��<I�E��H�D$ DD�
��H�=Hc�H�>��fD1�A�����D$ ���1�A�����D$����<��!1�A��������|$���B����H������z�� �H����?H����H	Ɖ�I9�LB�H9�A�HG����@D�t$���z�BE��A��H�����E����D�R�� ��H����?H�J��H	���D��H9�@��HG�H���vXE��tSD�Y@�� ��H�փ�?H�QH����H	�D��I9�A�LB��P����H���1����H�QA��)����H�J�{����D���B���/H����?H����H	�D�����H	�����f.��BH�=H������t#f.�I9�LB�H9�HG�H������u�A����@���A@����D�I@����H����?�������H	�H�QH	�D�����H	�D�������D���z���oD���B����H��A��?A��H�J��A���A��L	�A��L	�L	��<����D�R���jH����?��H������H	�D������H	�D��H	��~���L�����W������1�A�@�L���A�����L�D$@�L��H��H�D$(�P H�D$0H�8���C�������L���B���L��I������H��tH�|$H�L� H�PH�L�����H��tH��tH�SH�CH��H��H�SL�l$(I��!�O����H����?H�J��H	�D�����H	Ɖ�D�����fDH��A��?���ҁ�I	�H�QL	�����D��D���B��H��A��?��H�������A��I	�D��A�������L	�H	�L	����@�_1�1ҾbH)�L��E1�A�Pj@����X1�Z� �L����s��H�D$(H��t)��H��E1�1ɾ`PL��j@�T$@A�����A[[jE1�1�1�j@�\$@�bL��A���b���XA�}�f� Z��E�L���\s��jE1�A��j@1ɉھbL���!���Y^jj@E1�A��1�1ҾbL������_�AX��fL���
s��D��L�������H�D$(
I���A��L�l$ A�ED�������H�|$@tJL����
��H�t$@H��t8H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�D$HdH3%(�>H��X[]A\A]A^A_��T$0E�MD��1�L+L$(A�@L�����I��@L�l$ M���B����L��E��H�\$HO\$����H������H�L� H�PH�����@A�EH�=�Hc�Hc�H�|$(H9�t3�H��E1�1ɾ`H)�Pj@�T$@A��L�����A�EAYAZ���H�=D��1�H��T$0��A�@Lc�L��I)����H�\$(I���,���@H�\$(�	E1�1�1ҾbL��H)�Pj@D�l$@E������A[1�X�� L���q���E1�E��H)�1�1ҾbPL��j@����X1�Z�f�L����p���1�1�H)ؾbL��E1�PE��j@���Y�^1ɾfL���p��D��L�����	��I���_����L�l$ E��������L���	��I���5���DH�D$(H��t(�EH��1ɾ`E1�PL��j@�T$@A������Y^j1�1�E1�j@D�D$@�bL����[�A]�� L���o��H���tjE1�A�1�j@1ҾbL��1����Z�eY��L���o��jE1�1�j@�\$@�`L��A�؉��u���^_jj@E1�A��1�1ҾbL���X���AX�AY��fL���]o��D��L�����o��H�D$(I������fDH�D$(H��t*�H��E1�1ɾ`PL��j@�T$@A�����AYAZjE1�1�1�j@�\$@�bL��A������X�Z� �L����n��jA��E1�j@1�1ҾbL�����Y�^��eL���n����I�����1�A�@�L������H��H��f t0��H��f E1�1�L��UA���`j@� ���A]XjE1�A�1�j@1ҾbL�����AY�AZ�� L���n��h��j@E1�1�1�A��bL������_1�L��AX��f��m��L������H��tH��tH�SH�CH��H��H�SD��E1�A�@1ɺL���f ����H�D$(I���E���D�$E1�A�1�H)�1ҾbL��Pj@�+���A[1�[�� L���4m���@E1�1�H)�A�1ҾbPL��j@���A]1�X��fL���l���`1�1�H)�E1ɾbL��PA�j@���X1�Z�f�L���l��H���t1�H��E1�1�L��UA���`j@�g���AYAZh_�E1�A�1�j@1ҾbL���B���]�A]��fL��1��Fl��h�E1�1�j@A��L���`����XZh�j@E1�A�1�1ҾbL������Y�^��fL����k��D��L�������I�����H�D$(H��t)��H��E1�1ɾ`PL��j@�T$@A������A[[jE1�1�1�j@�\$@�bL��A���]���_�AX�� L���ck����I�����1�A�@�L�����H��H��f t/��H��f 1�E1�L��U�`A��j@���Y^jE1�A�1�j@1ҾbL������A[�]�� L����j��h��E1�1�j@A�1ҾbL�����A]1�X��fL���j��h�������A�EH�=H���C���1ʍr�����	H���JRE1�A�j@1ɺ�fL���#����C_E1�AX1�A�1�P�bL��H��j@���AY1�AZ�� L���j���A�f����N���H)�E1�1�1�PH��A��bj@L�����Y�;��^�fL��AD�1��i������u����H��	t-��H��	A�L��E1�U1ɺ�`j@�P���_AXjE1�A�1�j@1ҾbL���/���A[�[�� L���5i��j|E1�A�j@1�1ҾbL����]1�A]��fL���i��hE1�1�j@A�1ҾbL����X1�Z�f�L����h��H�D$(H��t*��H��E1�1ɾ`PL��j@�T$@A���x�AYAZjE1�1�1�j@D�D$@�bL���	�R�Y�^��fL���Yh��D��L�����k��H�D$(I���
���f.��D$D�ʅ��I�����A�E�� ��I����?I��A��I	�I)�|$�rA�E��<�BD�T$E���TD��A�@1ɺL�����I���y���@�|$D�҅�A��I�����E����A�E�� �fI����?I��A��I	�I9�t@D�\$:�L)�L�T$ 1ɾ`UE1�A��j@L����Y^L�T$ D�\$:E�ML��I����oE���fA�EA�� �I����?I��A��I	�M)у|$��A�E��<�D�\$E����D��A�@1ɺ��L��L�T$ ����L�T$ I��L���K�fDAQA�E1�1�j@1ҾbL�����/�AX1�AY��fL���7f����L���L����D$I�����@I�������L�T$A�1�1�AQ�bE1�L��j@�����_�AX��fL����e����L������L�T$�D$I��L���z�DI���>����I������A�M���2I����?��I��E��L	�A��A��I	��[���L��L�T$ �E1�H)�A�1ɾbPL��j@��XZD�\$:L�T$ ���A�M���"I����?��I��E��L	�A��A��I	��z���A�UA����I����?��I��E��L	�A��A��I	�����f.�AQ1�E1�1�j@A��bL���R�A[[��\$L�����1Ƀ��溃�f�Nd���\$�e�DA�u���
��A�}��I����?��I��A��%���I	������I	���I	�I	�����SE1�1�A�j@��bL����M��X1�ZI)پL��A�@�L�d$@����L��H��H�D$(�LDd$�;���H�����I�$H�H�PI�$���fDD�T$<D�R��D�T$;�H����?A��D�T$<��A���A��H�JH	�A���A����L	�A���D$;L	�L	��E����D���A�OH��A��?�������L	�H	�D������H	�D�����H	�H�Q�1�L�T$ 1�1�A�AQ�bE1�L��j@�U�[]��\$�L��������溃�f�Ob��L�T$ �\$L���^�fDA�uA���L��A�}�<I����?��I��A��%���I	������I	���I	�I	�����fD��A�M�����A�}�(I����?��I��A��%���I	������I	�I	�I	��#���@H����?��H����@���A��H	�D��A���A����A����?H	��H	�L	�L	���I����?��I��A��%���I	��I	�I	������H+D$(E1�1�P�bL��j@�T$@A����AYAZ�$�3C�P�����H����UE1�A�1�j@�`�L���n��C3E1�Y^PA�j@1ɺ�fL���G��CAYA�AZE1�1�1�P�bL��j@�#�A[1�A]�� L���+`���E1�1�1�A��bL��H)�Pj@����{�X�f�fZL���E�1�H����_������A�@1ɺL��L�
� �]���A�1�L��A����!�=����D$0�Y�H����?����@��?A��H	�A���A��H�QH	�D��A�������H	��AL	�L	����H����?A��D�T$<��@A��?A��H�JH	�A�����A��I	�A������BM	ށ��|$;M	�L	��1�I����?��I��A��%���I	��I	�I	�����I����?��I��A��%�I	ʉ��I	�I	�� ���UE1�A�1�j@��`L���9�AZA[�c�jE1�1�A�j@��eL����Y^jj@E1�1�A���iL�����_1�AXM���!L��A�����j1�A�jA�@�L���h��AYAZjjE1�1�1�A��eL����A[�A\L������L��I���E�H���M�H�T$@L� H�D$@H�P�7�E1�A�1ɺ� L�����jE1�A�j@1ɺ�iL����^M��_A��1ɺL���!���jE1�A�j@1ɺ�eL�����AXAYjj@E1�A�1ɺ�hL����AZA[jjE1�A�1ɺ�`L���~�A\I��XA�@1ɺL��� ����A�1�L��A����#����D$ ��uz1�E1�A��� L�������L$�����jE1�A�1�j@��hL�����XL�
ZA��1ɺL���!����D$0��L�
1�L��M��A�@�� �X���A�1�L��A����!�8���A�$���7�A�T$<t(<tM����I��A�$����A�T$<u؋|$����������� t����I��똋t$������������|�� �lA�D$I�T$<��W���OL�b� �N���L�b��B���L�b��6���E1�A��M�d�#���I���������H�\$E�L$L����H9\$A�@��!ʉу�<D�1�����L����H�D$ HO\$��H������H�H�|$ H�HH�8H����1�E1�A��� L�����H�\$01�L��L�D$�H�;�X(�����D���E1�E���.jE1�1�A�j@��eL����XZjj@E1�1�A���iL���y�YM��^1�A���L���!����j1�A�jA�@�L���h�6�_AXjjE1�1�1�A��eL����AY�L��AZ�D�L��H�����H��tH�|$H�H�H�PH�H�D$0������cE1�1�A��� L���m���L�l$(�D$I��!D$ �w��L�%H��X��L�b����I�T$A�D$���A�UI����I��A��@%?������?�����I	с�L	�A��H	�A���I	�I	��H�H+D$(L��E1�P1ɾbj@�T$@A�����_AX�v��H+D$(E1�1�P�bL��j@�T$@A�����XZ���H+D$(E1�1�P�bL��j@�T$@A����AYAZ����A�L��1�H)�E1ɺ�bPj@�f�_AX���f E1�A�1�H)��bL��Pj@�6�A[]���f �E1�1�H)�A��bL��Pj@��XZ���H+D$(L��E1�P1ɾbj@�T$@A�����_AX����	1ɾbE1�H)�A��L��Pj@��Y^�U�H��H+D$(E1�1�P�bj@�T$@A�����������>I�T$A�D$�}���H�\$H�|$0H��E1��
H���Q���H9\$����L���i��L��H����H�����H�|$H�H�H�PH���UE1�A�1�j@��`L������C3E1�A[A�A]Pj@��A�MI����I��A��@%?������?�����I	Ɂ����I	�I	�I	�I	���A�UI����I��A��@%?������?��I	ҁ����I	‰�%�I	�I	�I	������u7I�����1�A�������PE1�A�j@��I�T$A�D$����L��E1��A��M�d�W���H)�1�L��E1�QA�1ɾbj@H����_1�AX�� L���T����A��1ɺL��A�@����I�����L����H�������M�������I�T$I�D$H��H��I�T$�g�����uI�T$A�D$�:���I�T$A�D$�*�����AWAVI��AUI��H��ATUSH��H��H+WH�/dH�%(H�D$x1�H�GH�D$hH�D$p���D$�����D$(��D$,�@H���j�I�ċE�D$����f�E1�A$AD$ AD$AD$0I�EM�t$ I�$I�FH��H�$H�CH+SM�e���D$ L;shtD�CpE��u`�D$ E�A�B�<v<A�B�<wtA��
A�A�B�<
�>	H���Hc�H�>��f.�A����E���A��A�B�<v��@�D$�D$(����D$,���A�B�<�A�B�<��
A��'A� �o���f��D$0A�A�*H�$H��H�D$E���������t$H�$�<�v��?H��HD$fDA���ED$��D$��E�A��E����A���C���I�D$E��H�D$8��u�������Lc|$� M��D��A�@H��D�T$8L���H�H����A��A�H�D$@H�$I�L$H���p���jM��L��j@E��D��bH���C��A[�A_H���r�D�T$8H��tL�\$@M��tH�PL�XH��H��H�PA�B�<��H���Hc�H�>��E1�fDE�^I�F�D$0A�)H�$fA��E���k���E1�@A�FE1�f�����D$0I�FH�$�D���E1�DA��A��D$0�%����A��A��g����Lcd$E1�D�� A�
H��L����H�$A��H��H�L$hA��4���E1ɾ L��A�
D��H�����H���@�H�t$hH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��E��1ɺ
� H���d���������Z	Lcd$E1�D�� A�
H��L���)�H����H�$D��H��H�L$hA�I���T���E1ɾ H��A�
L��D������H���[�H��tM��tH�PL�xH��H��H�PH���5�H�t$hH��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�1�M��E��
� H���\��L$ ����HcL$ E1ɺ�H��A�
� �0��gfDD�l$E���zD�|$(HcL$E1�H��A�
� D�����D$0HcL$,D��A�@D�H� H�����H���L�I�D$(H�+jE1�1�j@A�
�
�bH������1�XH��Z���H��I����H��tH��XL� H�PH��XH�\$xdH3%(H�D$��H�Ĉ[]A\A]A^A_�f�D�L$E���"HcL$�T$(E1�H��A�
� D�T$��D�T$A��%�*���H�$I�L$0A��H��A��3����
���fD�D$���|HcL$�T$(E1�H��A�
� ��H���%�D�t$ I�D$(E�������=���D���Lcd$D�|$0���E1ɹ��H��A�
� �P�M��L��D��A�@� H���4�H����H�$D��H��H�L$hA�I���_���E1ɹH��A�
��� ���jM��L��j@�bH��E��D�����A[�A\H���A�H��tM��tH�PL�xH��H��H�PH����H�t$hH��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�A������DA���vA���lA�E�D���<vH�|$��P���E����
D�\$E���fHcL$,�T$(E1�H��A�
� D�T$8���D�T$8A��'��H���6�H�t$hH��I���V��H�$E1�D��H��H�L$p�߯���H����H��tM��tH�PL�pH��H��H�PH�����H�t$pH��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1ɾbj@A�
�
H���=��XH��Z�s�H�t$hH��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�HcL$�T$(E1�A�
� H�����D$ �������HcL$ E1�A�
�����I�FE1��D$0H�D$�a���������H�$I�L$A��H��A�D�T$8�z���D�T$8�V���I�F�D$0E1�H�D$H�4$H���D�T$8D�.�o���H�|$D�T$8H�D$H�<$����fDLcL$ 1�A��H��
�D�T$8�\��H��H�D$@���D�T$8H�����I�T$H�|$@H�PH�8I�D$����D�T$@E1�1�A�
AS��`H��L�\$@j@���XE1�Z1�A��H������H��I���6��L�\$8D�T$@H��tI�T$L�8H�PI�D$Lc|$� M��D��A�@H��D�T$8L�����H���G�A��E1�H�D$@���fDH�D$�5���f�A�B�<��A��4A�B�<
�e���H���Hc�H�>��M��A�@L��D�� H���T�H�����H�t$hH��I������H�$E1�D��H�L$pH���u���jM��bj@H��E��L��D���H��AY�AZH���w�H��tM��tH�PL�xH��H��H�PjE1�1ɾ`j@A�
�
H�����_H��AX�-�H�t$pH��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1�A�
j@�
�bH�����YH��^���H�t$hH��@��H���g���fDH�H��t@��tH�QH�AH��H��H�QH�vH��u��2���f�H���h�H�t$hH��I�����H�$E1�D��H��H�L$p�����H���4��H��tM��tH�PL�`H��H��H�PH����H�t$pH��@��H��t/DH�H��t@��tH�QH�AH��H��H�QH�vH��u�jE1�1ɾbj@A�
�
H���m��XH��Z��H�t$hH��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u֋D$ ���������DA��o��A�Ff������A�H�<$�r�H�H�|$@�����B�E��<�D�R�E1��D$0��E1�A��D$0A�*�N�f.�L�+jE1�A�j@1ɺ�bL���l��A_L��XE1�A�1ɺ����L�;�I��L�����I��H���!���L�(L���b��I�FH��I�FL������L�3D�T$E1�1�jA���bj@L������AY1�AZE1�L����A��&��L�3�H�D$L�����D�T$H��I��t,H�D$L��I�����D�T$I�GH��I�GL��E1�A�
1ɺ�� H��D�T$M�t$0��E1ɹH��A�@��� ���D�T$A��'�AH���H��H�$D��L��A�H��I��E1����L�3jE1�A�j@1ɺ�bL������Y�^L��E1�A�1ɾ���L�3�H�$L���s��H��H��t-H�$L��H�$H����H�$H�BH��H�BH��E1�1ɾ H��A�
�����H���t��H��tM��tH�PL�xH��H��H�PM�����H���E��H�����I�UI�EH��H��I�U���L�+jE1�A�j@1ɺ�bL�����AZL��A[E1�A�1ɺ����L�;�I��L���h��I��H���"�L�(L�����I�FH��I�FL����fDD�T$L�3E1�1�jA���bj@L���'��_E1�AX1�L��A����w��L�3�H�D$ L������D�T$H��I���n�H�D$ L��I����D�T$I�GH��I�GL���=���L$���&Lc|$�T$(E1�H��A�
� D�T$8L���5�HcL$,E1�H��T$(A�
� ��D�T$8A��'�2	H���~��H�$D��H��H�L$hA�I���1����T$(E1�H�� A�
L�������H���7��M��tH��tH�PL�pH��H��H�PH�����H�t$hH��@��H��t*H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��D�D$(1ɺ
���f��@�|$@E���h@��������<�^H�D$H�{xH�P�D$@������9��������.D��D�T$H诣��D�T$H���D$8���H�D$D$@A�D$8�D$@A�D$4�D$8A�D$0A��'�W�H��D�T$0���H��I�����D�T$0H�D$XA��H�$I�L$E1���H��D�T$PH�L$0�D$H蝣��D�\$ D�T$PE���	H��D�T$P���M��D�T$PtH��tI�WI�GH��H��I�WH�t$0H��D�T$P���E1�1�A����!H������D�T$8E��D�T$P�U�D$@1�A�@H���D�T$PI��H�D$0�I��D�T$PH��tH�|$XH��tH�PH�xH��H��H�P�|$���TD�l$(Lc|$E1�H��A�
� D�T$@L��D���9��HcL$,E1�D��A�
� H�����D�T$@A��'�`H��D�T$,L�l$h�y��H�$�t$HE1�L��H��H�D$�.����D$ D�T$,����L��H��D�$�m���E1�1�A����!H�����D�l$8D�$E���H�|$A��A��!��L�L$01�A�@H���D�T$ ����T$(E1�L��A�
� H��H�$�4��H�����L�$D�T$ M��tH��tI�SI�CH��H��I�SA��'�aHcL$jE��bj@H��D��I�����AX�AYH���J��H��tE��tH�PH�|$H��H�xH��H�PH�����H�t$hH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�D�t$(M��1�H��
� E���?��jE1�1�j@H��A�
�
�`�^��^E1�_A�
L��D��H�� ����'�L�L$01�A�@H������H��tE��tH�PH�|$H��H�xH��H�P�T$(E1�A�
L��� H������H�����H�����������fD�D$8E1�A�1ɺ�fH��Pj@���AZA[D�$���fDHcL$ E1ɺ�H��A�
� D�$���D�$�F���f�D�T$@L�+E1�1�jA���bj@L���'��YE1�^1�L��A����x��L�+�H�D$PL������D�T$@H��I���=���H�D$PL��I����D�T$@I�GH��I�GL�������D$8D�T$0E1�1�A���fH��Pj@���AXAYD�T$0�s����HcL$ E1ɺ�H��A�
� ���D�T$P�����r�@�����@E��+��A��E1��D$0�
��!�!��<�[H�D$�D$8���D�T$HcL$E��D��j�bH��j@I������X1�ZH������H��I�����D�T$H���Q���H�T$hL�(H�D$hH�P�;���Lc|$�D$0D��H��A�@� D�T$HL��D�HL�|$0����H�����H��I���~��E��D��bH�D$XH��jj@L�\$@M��L�����X1�ZH���K���H��H�D$0����D�T$HH���5���I�T$H�|$0H�PH�8I�D$����D�L$0A�@�H�ﺎ� �m��H������H�$L��D��H��A�I��蚜��1�H��A�A���� �*��jE1�1�j@�H��A��b�I��_1�AXH���|��E1ɹH��A���� I�������*�Lc\$D�L$0D��H��A�@� L��L�\$���H���$��H�$D��H��H�L$hA�H�D$�՛���T$(E1�L��A�
� H���h��jE��D��j@L�\$(�bH��M��L�����A]�A^H�����L�T$M�������H�������H�PL�PH��H��H�P�l���LcT$D�L$0D��H��A�@� L��L�T$����H���U��H�t$hH��I���u�H�$E1�D��H�L$pH�����jE��bj@L�T$H��D��M��L������_�AXH�����H��tM��tH�PL�xH��H��H�Pj1ɾ`E1�j@A�
�
H���}���Y^���D�T$8L�;E1�1�jA���bj@L���M���XE1�Z1�L��A������H��H�D$@H��H�T$H����D�T$8H��I���f�H�D$@H�T$HI�H���-��D�T$8I�GH��I�GL���0�L�;D�T$8E1�1�jA���bj@L�����AY1�AZE1�L����A�����H��H�D$@H��H�T$H�H��D�T$8H��I���$�H�D$@H�T$HI�H�����D�T$8I�GH��I�GL�����L�$��Hc�A�|H�L$A�tE�\D�9��D����A	�E��	�u\��m���D$0�J�H�<$E��A��H�DH�D$��D�R�A��D$0��H�D$H�{xH�P�D$@�J���)D)߉|$0t���tq��mty�J��A��D$0A�*�L��D$0�*�n�����L$@�����H�
H��AH��|�����������mt�J��%����-�����,����DAWI��AVI��AUATI��USH���D���H�T$dH�%(H��$�1�H�H�D$E��tH�W(H��H+G�<��L;d$�H�D$p�D$dL�t$M��A�6A��@�����H�@��Hc�H�>��f.�A�F!��b<��H�|$H�GH�OH�PH��A�L��HE�I�V����I��M��tsL;t$r�D�D$dL�t$E��t]H�\$�HH������;��uEf�H�@@H�=@ @@0I�VH�I�W0I�FH�x H�P(H�D$pI�G0H��$�dH3%(��,H���[]A\A]A^A_��H�D$L��L��H�P�4��I���<���@H�T$L��L���8�I��� ���I�V@�Bf����H€:wt�L�r���@I��(I�^�& I������fDI��(H�����D�I��E���1���H�L$f�H�@ @H�AM�t$ I�$L�aA�<��mI��<�tI��(���H��H�������H��tH�PH�hH��H��H�PI���3�����niI�M�f���<�t@���u
A�FM�d�(H����������k���H�|$f�H�@ @H�WL�p H�H�GA�����'@����!M������H�\$�(H���n��D�H��E������H�t$f�H�@ 1�A��@H�VMcOXL�p H��H�F� ���A���I�A�H��E1�1�H���H�߾bH��(Pj@����AXH��AYA�E1�1ɺ��V��M�'�H��L�����H��H��t!H�L�����H�EI��H�EI��H�l$E1�1�A�	�� I�^H���D��1�A�H��A�������� ��E1�H�����I��A�@1ɺ� H�����IcOXE1�H��A���� ����H��E1ɹ0A���� ���A�������A�FM�t���DH�\$�0H������;H�Ņ��A���H�|$f�I�VEE EH�GL�u H�EH�o�Bf����H��<wt�L�rI�<z�<jH��E1�A�j@1ɺ�b�K���YH��^E1�A�1ɺ����M�/�H��L�����I��H��t#H�L���F��I�D$I��I�D$M��H�|$E1�A�
1ɺ�� ���H�|$���H�E(jI�E1�1�j@A�
�
�bH��蝸��1�A[H��]�����H��H���`��H�������I��XH�(H�PI��X�m���DA�~��%���H�\$�@H�����D�+E�������f.�A�Ff����A���b<�����H�t$A�L��H�FH�N�pH�PH��HE�I�V���I������DI��(H������I�ą��3���H�|$f�E1�1���bA�@H�@ H�GI�/M�t$ I�$L�gH��jHj@�^���XH��ZE1�A�1ɺ����I�/�H�D$ H���
��I��H��t'H�D$ H��I�E�Q��I�EI��I�EM��McO`A��1�H�ߺ� ���E1�A�	1ɺ� H�����E�NA�@����&H���^��E1ɹ(H��A����&�>��McO<1ɺA��� H��� ��E1ɹH��A�
��� ���E1ɹH��A���� ����E�oXE����E�NA�@�8H�ߺ��&fA��E�����E�NA�@�<���&H��fA��E���}��A�X�@H�����E1ɾ ��=D�@�U��E1�1�A���� H���8��E1�A�1ɺ� H�����IcW<�H���
��H�
S����@H�߾�a���E1�1�A���&H������E1�1�A���� H�����jHI�?E1�j@1�A���`�ִ��AYAZjj@E1�1�1�A��b"H��贴��A[�]H������H��H���t���H��tI�T$H�(H�PI�D$I����H��H������H��tH�PH�hH��H��H�PI���O����M�'�0A�^M�� L��f��L�L$ ��E�$H��E�������H�|$f���1�L��$��@@ H�GI�wL�u H�EH�H�oL���Ή�������L�L$ M����"I;Yu��!@M��I;]tOM�)M��u� L��L�L$ �U���A�4$L�L$ I�Ņ����I�EI�EI�EI�]M�)f�E���A�GXE���|McO<���^A��1ɺL�� ����jI�E1�j@A�1ɺH�߾b���^�_E1�H��A�1ɾ�3���I��H�D$ H��莽��H��H��t0H�D$ H��H�T$ H�����H�T$ H�BI��H�BI��E1�A�1ɺ�� L�����I�]�L��H��������H��tH�PH�XH��H��H�P1�E1�1�L��A�@��|����L��H���ܼ��H��tH�UH�H�PH�EI������A�F��b<�PH�l$L��L��H�EH�]H��H�PHD����H�EL��L���H��H�PHD�E1�I������f.�H�|$H�GH�OL��H�PH��HE�I�V�\*��I���T�@I��8H������H�ŋ�D$8�����H�|$f�H�E0EE EH�GL�u H�EH�oA��D$(�D$3<�uA�F�D$(I���D$3I�GL��I+W���D$4�E(�D$3<�t���D$3<��X<���A�FA�W8L��L��L��$�M�nf������D�$1҉L$H1�D�d$ �e����D$`�E,���wE����E�g`1�E�������D$L��$��\$L�A���D$L�|$(�bM�'��E1�1ɉD$LL��E0H�H�D$PH��Pj@�ܯ��AZL��A[E1�A�1ɺ��+���I��H�D$8H��H�T$@聺��I��H��t.H�D$8H�T$@I�$H���þ��I�D$I��I�D$M���|$`��mD�L$ E������$����-E1�A�
1ɺ�� H��A�������$����u�T$(A�D$���2E1ɺ�� H��B��A�Hc�����D$ ����H������A�>{H�D$@�H�D$P�L$`L��|$ H��H�D$P�����)��H�H�D$X�GH��H�D$x���H�H��$�Hc�H��H��$�B��E1�H�L�d$hA��H��$��D$L�����H�H��$��D$3��D$8H�EH��L��H�EA�Ff����I�L����D�+E���u�E���D�D$ LcL$4E�����t$PA��1�H��j@��b豭��Lcl$X1�^A��_�� M��H���M���IcO<E1�H��HL$xA�
��� �)���E1�L�麎A�
� H������A�G`����IcO<E1�A�H��H�$���� ������$����Z�|$8��~�D$(�����H���%���H��tH�|$@H��tH�PH�xH��H��H�PL��蚾��H�uL���=����,�H���ܻ��H�uH��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�E���

�D$ ���AA�>{��LcL$HA��1ɾ �
H�����A�>{I�v����D$(I��L�d$hI��H�E���XH���+���M���!�H��@��I�$H��t@��tH�QH�AH��H��H�QM�d$M��u�����H�\$�@H���n���D�E���
�f�L��1�@ @@0H�|$H�WL�p H�H��H�GL���XI���S�A�F��b<��H�t$L��H�FH�VL��H��H�HHE�E1��I���!���@H�|$A���H�GH�P����H��H�OI�DŽ$�HD�H�D$ I��L9t$�L��D�<��<��A���H�SI�xD�c����A��=�v�KA�� �.
����?%�	�����	���9�������t
�������A�����fD��H����$����H9\$�O���Hc�E1�1�A�
U�
�`j@H�l$0H���ϩ��A\E1�1ɾH��XA��
�����H��H������H��tI�UH�H�PI�E�����H��$�H��$�L��1��8H�PM��@��H��L���UT����$�����DH�\$�(H�������H�߅����H�L$f� H�@ A��@H�QMcO<L�p H��H�A1�蟼��jI�E1�j@A�1ɺH�߾b軨��XH��ZE1�A�1ɺ�����M�'�H��L���i���H��H��t!H�L��趷��H�EI��H�EI��H�\$IcO<E1�I��A�
��� H�����E1�A�1ɺ�� H���ۻ���&�fD<���E1�L��$�1�1�L��L���}���D$H�D$`�E,�D$ ����D$(�L$`D�T$ ����$��D��E�����x��D$L�|$XHcD$LM�'E1�1�A���bH�D$PL��E0H��H�D$@Pj@�c���AX�AYL��E1�A�1ɾ貵��M�'�H�D$hL���
���H��H��t0H�D$hL��H�T$hH��P���H�T$hH�BI��H�BI��Lcd$4H��A��1ɺ� M��蓺����$����C�t$@L�ẎE1�j@�`A�H��蠦��XZ1ɋt$(������$������D$ E1Ʌ��*A���� H�������L$XE1�1�L��L����D�d$8A)ċD$ ���_���HcL$HE1ɺ�H��A�
� �͹���:����A����������C<�������?H�
�����A��D8$�����1��C~����������������A�6I�VL��L��A��~��I�����H�D$L��L��H�P�Dl��I���l�@H�L$H���;�f.�M�n�2����A��?H�B� ���P�Hc҉�$�H����fDH�\$H�G0�HH��H�D$p�ů��D�I��E���f�H�T$1�L��AEL��$�L���AE AE0AEI�E@I�FI�EH�M�nM�o0I�E L��I+GI�E0�z��H�|$McO\A����A�E@�� I�1ɍC�ʼnD$���Hc�M�E1�H��1ɺ�bUL��A�j@L�T$0����AXAY1�L�T$ E1�A���L���Z���I��H�D$ H��H�T$(谮��H��H��t5H�D$ H�T$(H�L$ H�H�����H�L$ H�AI��H�AI���|$IcO\�&H���`E1�A�U��j@H�|$(�`���^_H�l$M�M0����Hc�A�@� H�����K���H��Hc�A�A�@� �϶���K�E1ɺ�Hc�A�� H��讶��A�E@��xH�T$�H�E1�L��L����L;d$����D$d�O�����O�Lc���E���E���5�McO<A��1�H�ߺ
�H����ٰ��H��tH�PH�hH��H��H�PE1�1�A�	�� H����1�A�NH��A����!�ӵ��E1�1ɾH��A�@��f����H��H���Ƭ��H��tI�T$H�(H�PI�D$A�O1ɺH��A���!�p���I��1�1�E1�A�@�H��H�������H��tH�PH�hH��H��H�PA�1ɺH��A��� �
���E1�A�
1�I����H��H���_萯��H��tH�PH�hH��H��H�P�H���:����H��H���ʫ��H�����I�T$H�(H�PI�D$���H�D$X�L$L�����D$L������H��H���v���H���a�I��PH�(H�PI��P�G���L�����Hc�A����H�
H��AH�
�D����������D�CA����D�KA���^��A��?��%���D	�	�D������	�����A����^D�\$ E���x�|$3���E1�A�
1ɺ�� H���`���D��$�E����|$8���D�L$(E�����E1ɺ�� H��H��$�A�@�����\�fD�D$ �����E1�A����fD1�A���H�߾ �β���t$P1�E1�j@�A�H�߾b���ZY�|$3���H�L$XE1ɺ�H��A�
� �~�����$������IcO\L��$�A��H�ߺ�� �K����|$8����1�E1�1�H��A�
��֬���H��I���6���H���O�H�t$hL�(H�D$hH�p�D$(���>�E1�A�@1ɺ�� H���ӱ����fDLcL$4A��1�H�ߺ� 話��L�L$XA����f�1�E1�1�H��A�
��&����H��I��膨��H������H�t$hL�(H�D$hH�p�����IcO\L��$�A��H�ߺ�� ���������Lcl$HA��1�H�ߺ� M�����IcO<E1�H��HL$xA�
��� �ʰ��E1�L�麎A�
� H��謰��A�G`���IcO<E1�A�H��H�$���� �y�������@A�FI�/f����L�dH��I�W I���<�KIcO<E1�A�
H�ﺎ� L��%������HcȺ�� H��L��$�A�@������jH��E1�A�j@1ɺ�b����XH��ZE1�A�1ɺ��`���M�/�H��L��车��I��H��t#H�L���
���I�D$I��I�D$M��H�\$E1�1�A�@��� H���P���E1ɹH��A�
��� �0�����A�01ɺH��A��� �����0�H�l$McO\1ɺA��� H���ݮ��IcO\E1�H��A���� 辮��E1�H��A�@��� 螮��I��H��A�@��� �~���E1�H��A�
��� �^���E1�A�1ɺ�� H���A�����@LcL$4A��1�H�ߺ� �����~���@苧���H��H������H�����I��HH�(H�PI��H����E1�A�	1ɺ� H��賭��M�N1ɺA�@� H��M��蒭��IcOXE1�H��A���� �s���E1ɹ0H��A���� �S������fDLcL$4A��1�H�ߺ� �)����%�蟦���L��H���/���H��� �I�UH�H�PI�E��L�L$XA��1�H�ߺ� �Ӭ���0���I�wH�I��@A�Af����I�A�9wt�I���I���m��H��L��L��H�������E(����E1�A��1ɺ� H���a��������T$(�����B��A�A�@H��Hcɺ�� �'���D��$�E���|�A���M�DA�
��� H�����D$8E1�H�ߋD$8A���� ��Hc��«���L$XE1�1�L��L�������E1ɺ�� H��A�艫���D$8�D$8��Hc��0�A�A�@��H�߾ �S�����D$8���McO\A��1�H�ߺ� �#�����H�|$E1�A���� �������IcW81�H��A��� L�º�ڪ��IcO<E1�H��A�
��� L�踪��IcG<E1�H��A���� I�L�蔪�����HcȺ�� H��L��$�A�@�l�������Lcd$ McO<1ɺA��� H��I��M��=���IcG<1ɺA��� H��M�L����E1�A�1ɺ�� H�����McO`E��� E1ɹ��H��A�� �Щ��D��$�E���A�G`A����Q���E1ɹ��H��A�� A�臩����A��1ɺL�� �h���jI�E1�j@A�1ɺH�߾b脕��AX�AYH��E1�A�1ɾ�ӣ��I��H�D$ H���.���H��H��t0H�D$ H��H�T$ H��q���H�T$ H�BI��H�BI��McOX1�L��A���� 踨��E1�1�L��A���� 蛨��E1ɹL��A���� �{����]��L$(H�EM�n���{E1�D�t$`E���o�L$LE1�A�@H�ߺ��M����Hc��Ӣ���H��H�D$ �1���H���U�H�UH�t$ H�PH�0H�E�<���A��?��A	����%�D	���A��1ɺH�߾ 趧�����McO\H��A��1ɺ� A�荧��A�`���������jI�/E1�A�j@1ɺ�bH��蘓��A[H��A]E1�A�1ɺ����M�7�H��L���D���I��H��t!H�(L��葢��I�EI��I�EM��E1�A�
1ɺ�� H��M���ۦ���&��McO\A��1�H�ߺ� 踦����HcL$4E1ɺ�H��A�� 蓦���n�A���6����1����H��H��葝��H�����I��PH�(H�PI��P������H��H���Y���H����I��PH�(H�PI��P�������H��H���!���H�����I��PH�(H�PI��P����D$LE1�A�@H�ߺ��M������Hc��b����H��H�D$ ���H�����H�UH�L$ H�PH�H�E���M���v��D�SA��u;��A��?��%���D	�	�D�������	�D�����	�� �D�[����%@��?A��?D	�	�D�������	�D������	�D���%�	����H��M���X����R��� L�����A�<$I������I�EI�EI�EI�]M�� �����f.�AWAVAUI��ATI��USH���L�7H�~ �FH�D$6���WH�|$�D$<�Cn<wH���\$6��H�|$H�T$fD�Bf����H��*@��wt�@��x��D$1�DŽ$��D$�D$HH�|$E1��G��f����H��
H�T$`��wA�ǁ�����@��	�����e����Y�����$�����E�����D$0DA�E@�����A�E@�\$8��@����E1�1�A���� L���"���jI�<$1�j@E1�A���`�@���HcL$X_AX�|$'�E1ɺ�� L��A��Ң��@��y�l�|$6���E1�A��1ɺ� L��蠢��jI�<$E1�j@A�1ɺ�`辎��XE1�ZA�@1ɺ1�L������HDŽ$�H��$�HDŽ$��%DH�|$A��@�<$��}@��vE1�I�}@A���$��tDH�|$���f���ҍ<�<$����$����Z����D$0E��t@H�T$1��f.��B��f�����
f������H€�wt݉|$0A��D$8�������@���'���@��y�����@��z�B�|$6����|$)�sHDŽ$�HDŽ$�HDŽ$��$��t#A�D$`�����$I�T$ �H��<�.���������������E����HDŽ$�H�D$hH�D$XH�D$@I�uL���E�E����I�}tEL����I�uH��t4H��@��H�H��t@��tH�QH�AH��H��H�QH�vH��uց���������HDŽ$�E�����|$8�4$@�l$5H�l$`��H�1�H�Ѓ�H��$��GH���|$(�€|$6�H��$��J��
D$�D$DʈD$7�A�L$ �D$L���H�H�D$(��H�D$P��H��$�Hc�H��H��$��FH��H�D$pHcD$<H�D$x�[f�A�|$`I�T$ H�t$(�D$L��DD$ �<2������t��H�M�<$E1�A�H��1ɺ�bPL��j@�4���Y�^L��E1�A�1ɾ腙��M�<$�H�D$`L���ߕ��H��H��t2H�D$`L��H�T$`H��"���H�T$`H�BI��$H�BI��$�|$(���|$7t-E1ɀ|$5xA�
uA�@H�L$P��� L���F����$���c���tOD�T$ B��LcL$A�@L��Hcɺ�� �����$��t�|$5yuI�D$ H�t$(�<0�\M�}(�L���S���M��tH��tH�PL�xH��H��H�P������|$0�^�|$L���8����H��t&H�|$XH��tH�wH�GH��H�t$`H��H��H�W�|$0u1�|$u*A�1ɺL��A�@����H�D$hD�D$I�uL���7A����gI�}�i�}w��I�EI�EI�E�}w�E������|$(��D�$E���a����D$ �����������{����|$(����j��E1�A�j@1ɾbL��譈��XZ���H�t$A�U@�Ff�$f����H�����@��xu1ɀ8w�����T$8HcD$8I�<$E1�1�A���`H��Pj@�=���A_XL���r���H��t(H��$�H��tH�~H�FH��H�<$H��H��H�VA�E@���x@��z��1�A��L��A��� 菛��jI�<$E1�j@1�A���`譇��[]E1�HcL$<A���L��� �K����|$)��E1�A��1ɺ� L���#���E1�1�A�@��L��趕��H��t'H��$�tH�PH��$�H��H�XH��H�P1��|$6���H��Pj@I�<$1ɺE1�A��`���ZYH���[]A\A]A^A_��EL�}f����HŁ�������������B�|$<����
E1�A��1ɺ
� L���1���L��H��L��L�����A����p����|$(�L���f.�LcL$HA��1�L���� �������@McL$`M�<$D�T$ E���aI�D$ H�|$(�<8����������n���@L������I�uH�������H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u��H���f�H�T$@I�<$I��$L�z����L�|$@��@A��1ɺ
L��L��$�� ���L��L��H��L���E��A�6���5���A�E@M�<$���B��A��1ɺH��bL��H��Pj@L��$��܄��AZA[�D$8�����|$5y�����E1�A��1ɺL��� �d����NH��$��l$5��H�D$�@�D$��~����M�}@A�G0����McO41�A��L���� �����L���x����L��H�D$����H��tI��$hH�T$H�HH�I��$hE�O0IcO4��L��A��� A��A��Mc�蛗��L������H��t$H��$�H�~H�FH��H�|$H��H��H�VD�\$<E��u0jI�<$E1�A�j@1ɺ�`�~���AYAZf.�Lc<$E���3D��I�T$ E1�1��A��� L��H��<��U��1�A�L��A���� I���̖��jI�<$E1�j@1�A���`���IcL$<_E1�AX��A�L��L�� 脖��IcD$<E1�L��A���� I�L�_����|$)��Hc\$Hj1�A��j@��`L��I���n���AZE1�A[H�ٺ�� L��A�����1�A�@L��Lc�$���蚐��H��$��6���H���-���H�PH��$�H��H�XH��H�P�����L��H��L��L�����A������������IcL$<E1�HL$pL��A�
��� �c����z���fD�Ӑ��H��t&H�t$hH��tH�~H�FH��H�|$`H��H��H�V�|$0�����A�1ɺL��A�@�譏��H�D$X����I�L$I�D$H��H)΋<��|$H����H�rH��H)�H)ʋ4����t$��$���'��
��(�z@��D�@�t$��McL$<A��1�L���� D�T$`L�$��d���McL$<1�L��LL$pA���� �@���D�T$`E1�L��A���� F��D��$�Ic�D�\$`����L�L$x1�L��A���� ���D�\$`E1�L��A���� A�KHc��“��IcL$<E1�L��HL$pA�
��� 蝓��IcL$<E1�L��A���� H�$��u���D��$�A�����@A��1ɺL��� �F���IcL$`L�L$(A�@��� L���$���E1ɺ�L��H��$�A�� ����D�T$L�6�����؃�=�������n����|$)�u���@��y��	@��z�<�|$6�����E1�1ɾ L��A���
荒��I�]8�L�����H��tH��tH�PH�XH��H��H�PL���֍��H��$�H�������H�������H�sH�CH��H�4$H��H��H�S�w���@E1�A��1ɺ� L�����jI�<$�j@E1�A�1ɾ`�~��XZHcD$0���yI�$D�H�T$ E������H�<��H�T$ H��I���2I�D$M��L�L$(I�M�L$I������L�����L��L�D$ �̈��L�L$(L�D$ I��$I�<$I�AL��H�D$@����HDŽ$�H�D$hH�D$X�x�f��|$6��L���}����|$HDŽ$�H��$�HDŽ$������HcL$Hj�`L��j@A����I����|��Y^HDŽ$�HDŽ$��v�fD�����	��$�E1�1�L��j@�A��`�|��XZ�D$8��t!A��1ɺL��I��� �.����|$5yI�����������|$5z��D�L$8E���:�IcL$\E1ɺ�L��A�� �����fD1��D$DŽ$��D$���f�L�L$xA���[���蛏��jI�<$E1�j@1�A���`�{��Y^E1�HcL$<A���L��� �W����~���f�H�D$h�/A�1ɺL��A�@��щ��HDŽ$�H�D$XH�D$@�h�f�E1�A��1ɺ
� L������D$����	����������I�M0�L��H�L$ �)���H�L$ H��tH��tH�PH�HH��H��H�PL�����HDŽ$�H��$�HDŽ$��A�HcL$<E1ɺ�L��A��� �9���jI�<$�j@E1�A�1ɾ`�Wz��XZ�<���E���F�E1�A��1ɺ� L�����jI�<$E1�j@A�1ɺ�`�z��YA�^A�@1ɺ1�L���Y����D$0H�D$XHDŽ$�H�D$hH�D$@���f�H�D$M�U@�@�P����E�B0E������<}��McJ41�A��L���� L�T$(�����L��菆���L��H�D$ ����L�T$(H��tI��$hH�T$ H�HH�I��$hE�J0IcJ4��L��A��� A��A��Mc�譌���L��� ���L��H��$�����I�U@H�r(H���m�H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u��/��E1�1�A���� L���#���1�A�L��A���� ����IcL$`E1�L��A���� ���1�A�L��A���� �Ë��jI�<$E1�j@1�A���`��w��HcD$E1�A[IcL$<A���L��L��� XL�L�T$ �i���IcD$<E1�L��L�T$ A���� I�L�?�������Q�A�}@�����L��藄��H�D$hH��$�H�D$XH�D$@�U��j�`E1�A�j@��L���	w��Y^�\�f�E1�1�L��A���� 裊��1�L��A�A���� 胊��jI�<$E1�j@1�A���`�v��HcD$L��AXIcL$<AY��E1�L��A�� L�L�T$ �(���IcD$<E1�L��L�T$ A���� I�L�����f�1�A���L��I������ �ω���|$5y������>���Q�����E������D$0�D$8��E1�A��1ɺ� L���q���jI�<$E1�j@A�1ɺ�`�u��XE1�ZA�@1ɺ����E1�1�A���
� L�������|$6��zE1�1�A�@�
�L��I�]0蚃��H��tH��tH�PH�XH��H��H�P1ɾ L��A�A���
謈��I�]8�L������H��tH��tH�PH�XH��H��H�PL�����H��t(H��$�H��tH�{H�CH��H�<$H��H��H�Sj�z�HDŽ$�M�����L��蟁��L��H��$�菃��I�u@H�����H��@��H�H��t@��tH�QH�AH��H��H�QH�vH��u���HcL$HA�A�@L����� 覇��L������HDŽ$�H��$�HDŽ$��a�E1�1�A���� L���\�������-�jI�<$E1�1�j@A���`�ns��^E1�_1�A�@�L���迁��H��t'H��$�tH�PH��$�H��H�XH��H�P�|$6��3������D$�y��������L�L$xA��1�L���� 薆���:���jI�<$E1�1�j@A���`�r��AX1�AYA�@E1�L��I�]0�
����H�����H�����H�PH�XH��H��H�P�z�LcL$<����&E�U@E����M�U01�A��L���
�L�T$ 莀��L�T$ H���J���M���A���H�PL�PH��H��H�P�(���@��y�7�8wu
@��z�(�D$8������]�@LcL$<1�A��L���� �a����L����~���L��H�D$ �b|��H������I��$hH�t$ H�PH�0I��$h��E�����D$0���D$8��M�U0E1�1�A�@��L��L�T$ ���H��tL�T$ M��tH�PL�PH��H��H�P���t%jI�<$E1�A�j@1ɺ�`��p��A[XL�����H��$���H�L$xI�����A��L����� �F����0��HcL$<A��L��D����� Mc������>�A�1ɺL��A�@��~��H�D$h��M�U01�A��L���
�L�T$ �u~��L�T$ H��tM��tH�PL�PH��H��H�PjI�<$E1�A�j@1ɺ�`�o��AXAY�������D$8�<�D�E��������1�A���L��� �2���A�����1�L��E+M@M�U0A���
A���Mc�L�T$ �}��H���o�L�T$ M��� ����\�f�AWL�=AVI��AUI��ATUSH��L�'dH�%(H��$�1�H�G0H�D$H��tNI�}��I�u ��C�<�����Ic�L�>��I�E(H����M�mI�F0M��u�fDH�D$I�F0H��$�dH3%(�)H�Ę[]A\A]A^A_�fDE���E���	I����L��H����k{��H���2H�PH�XH��H��H�P�f��CfI�.<��E���E��������.�����E1�A��� H��1ɺ
�s����H����z���H��H���vx��H����I���H�H�PI����E1ɺ� L��A���A����A��1�I������A������*�PI�>E1�A�j@1ɺ�`�m��IcNX]E1�XA���L�� 譀��A�������IcN\E1�A�L�纎� ������f.�I�EI�EI�E�~��>L��L���2I�uL������f��~�L��L��w�����jf.�E�E,I�.E����McM(1�A��H��� �����H���Uy���H��H����v��H��tI��hH�H�PI��hI�}���H���y��H��H���{��I�uH��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�IcE0I�>E1�1ɺA��`H��Pj@�^k��XH��Z�z��H��tH��tH�SH�CH��H��H�SE�M,IcM(��H��A��� A��A��Mc���~���f.�L��L���5��DM�mM���S���I�}����L���z��I�uH����H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u����f�L��L�������L���y��I�uH���k���H��@��@H�H��t@��tH�QH�AH��H��H�QH�vH��u��1����A�u(I�����H���Iy��I�uH��@��H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�M(������A���A�FX�������^E1�A��1ɺ� H���B}��jI�>E1�j@A�1ɺ�`�ai��E���AYAZE����IcN<E1ɺ�� H��A���|���9���f�E1�1�L��A���� ��|��jI�>E1�j@1�A���`��h��IcN<AZE1�A[A���L�� �|������f.���qI�.��H�H��D��E1�1�A���
� H���8|��M�U(E1�1�A�@�
�H��L�T$��v��H��tL�T$M��tH�PL�PH��H��H�PH���gw��I�uH��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��uր�H�H��H��PI�>1ɾ`j@E1�A���g��Y^����I�FH��I+VH�D$@I��,����~��D$�A�L�^�P߀�w|�P݀�
�{H�
��Hc�H�>��f�H�T$@1�L��)D$`)D$@)D$PH�D$pI�E(H�t$`H�D$x���"���f��D�M�D$�L�^�P߀�v��PҀ��Y�Pŀ����A��P݀�
��H�=��Hc�H�>��@����������H����u��I�uH��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�IcE0H���q���f�I�~0��A������.A������
E1�A�@�B���E1�A��1ɺ� L���y��A�����������(����������'���Hc�D�D$1ɺ
I��� H��D�T$ L�\$(H�D$�Xy��H�L$E1�H�ߋT$A�@� �9y��E1�A�@1ɺ
1�H����s��L�\$(�t$ H�L$@A�L��H�D$L���J>��I�M(�H��H�L$�dr��H�L$H��tH��tH�PH�HH��H��H�PH���9t��H�t$@H��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H����s��H�|$t&H�|$H��tH�wH��H�t$H��H�GH��H�W��u%jj@I�>E1�A�1ɺ�`�[d��AYAZH���s��I�uH��@��H���K���H�H��t@��tH�QH�AH��H��H�QH�vH��u�����H���As��I�uH��@��H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�A���
� H���iw��jI�>E1�j@1�A���`�c��I�](_E1�AX1�A�@�
�H����q��H���0����f���fDI�uL���$��.���A�@1ɺL��I������ ��v������Tp���L��H����m��H������I��8H�H�PI��8��A�}@�I�A���� ��AIm@H��1�D��Mc��iv���EI�>1�H�E1ɺA�H���`Pj@�b��AX�AYH���o��H��H���q��I�u8H��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�u@����	E1�1�A���� H���u��jI�>1�j@E1ɺA��`��a��ZH��Y�q��H��tH��tH�UH�EH��H��H�UIcN\E1ɺ�� H��A��Uu�������
A����McN\A��1�H��� �$u��A�1�H��A�@�� �u��I�F01ɺA�@� H��L�H0��t���H���Un��H��H�D$�Hp��E1�A��1ɺ� H��H���t��H��� p��L�T$M��tH��tI�RI�BH��H��I�RE1ɹ��H��A���
o��H���cH����H�PH�XE1ɹA��H��H��H��H�P����n��H��tH�PH�XH��H��H�P�H���qm���H��I�^0H�D$�j��H���"���H�S8H�|$H�PH�8H�C8�	�����E1�L�^E��uE�I����!<�����H�=��Hc�H�>��D�D$Ic�1ɺI��� H��D�T$(L�\$0H�D$�Vs��D�D$Hc�1�I���
� H��H�D$ �2s��jE1�1�j@A��H�߾b�Q_��A[1�XH���l���H��H�D$8�j��D�T$(L�\$0H��tH�T$@H�|$8H�PH�8H�D$@H�L$�T$E1�H��A�� D�T$(L�\$0�r��L�\$0�t$(H�L$@A�L��L����7��H�L$ E1�H�ߋT$A�
� �dr��I�M(�H��H�L$��k��H�L$H��tH��tH�PH�HH��H��H�PH���m��H�t$@H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��uօ�����j���Hc�D�D$1ɺ
I��� H��H�D$�q��H�L$E1�H�ߋT$A�@� �q��M�U(E1�1�A�@�
�H��L�T$ �l��L�T$ M��tH��tH�PL�PH��H��H�P�H���j��H��H�D$ �l��I�u0H��@��H��t+�H�H��t@��tH�QH�AH��H��H�QH�vH��u�L�L$D�D$1�H�ߺ
� ��p��H�L$E1�H�ߋT$A�@� �p��I�M(�H��H�L$�#j��H�L$H��tH��tH�PH�HH��H��H�PH���k��H�|$ H���*���H����������@Hc�D�D$1ɺ
I��� H��D�T$ L�\$(H�D$�*p��L�\$(�t$ H�L$@A�L��L���Z5��H�L$E1�H�ߋT$A�
� ��o��I�M(�H��H�L$�Ui��H�L$H��tH��tH�PH�HH��H��H�PH���*k��H�t$@H��@��H���U���DH�H��t@��tH�QH�AH��H��H�QH�vH��u��!���A����A����A�}8Ic�Lc�H�D$M�م���D�D$1ɺ
H�߾ L�\$(�o��L�L$1�H��D�D$�� �n��jE1�A�
j@1ɺ
�bH���[��YE1�^A�1ɺ
H�߾�gi��H��H�D$�*j��A��1�H�ߺ�!H�D$ I������n��L�\$(E1�H�ߋT$A�
� L���bn��A�E0���M�](E�M41�1�A�@�H��L�\$��h��H��tL�\$M��tH�PL�XH��H��H�PA���I�>���H��E1�1�A��
��h��H�|$ H����H����H�PH�xH��H��H�P��A�������A�����^E1�A��1ɺ� H���xm��f��1ɺA�A��H���۾ ��Om��IcF<��H��E1�A�� H�к��*m��A�~`����IcV<�CE1�A�H�� H��H�º��l��A�F`�����Hc�E1�A�H�ﺎ� ��l���i�I����H��H������*f���H��H���c��H���������IcNX�z��P������P����?�P��H̀�
��H�=��Hc�H�>��H���e���H��H�D$�Ic��H���F���I��hH�|$H�PH�8I��h�'���E1�A��1ɺ� H����k��A�1�H��A���� ��k��jI�>E1�j@A�1ɺ�`��W��IcN<]E1�XA���H�߾ �k��IcNX�	�����'A� ���McN\1�H��A���� �Mk��E1�1�H��A���� �0k��M�M 1�H��A�@�� I���k��H��@H�
�)����eb��E1�1�H��A���� ��j��E1�1�H��A��
� �j��A�@1�H��I������
��Je���/�D�D$1ɺ
H�߾ L�\$ �wj��L�L$1�H��D�D$�
��	e��A���I�>H�D$�5���L�\$ E1�H�ߋT$A�
� L���#j��I�M(�H��H�L$�c��H�L$H��tH��tH�PH�HH��H��H�PH���be��H�|$H�����H�����H�wH�GH��H�t$H��H��H�W����A������6��������H���e��I�u0H��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�A���
� H���)i��jI�>E1�j@1�A���`�HU��AX1�AYA�@E1�H��I�m(�
��c��H�����H�����H�PH�hH��H��H�P��H���+b���H��H���_��H�����I��@H�H�PI��@���A�1ɺH��A��� �Xh���5���P�E1�A�j@1ɾfH���sT��XZ����<o���Nf��D������z�@��wN�J�A�€����B��N�E1ɹ��H��A���b��H�����H�������z�@�����A��A�|Mc�G�D��D	�u]��m�r�A�B����!A�!�Y���E1ɹ��H��A���a���K��m�)�A�B����tA�L��	�)�����tπ�m���A�������f�AWAVI��AUATUSH��H��H�/H�T$0�L$dH�%(H��$�1�H�B(H����HDŽ$�HD�H�D$8�����$�����D$LH�G0H�G0H�D$PH���H��$�H��H�D$XH��8H��$�H��@H�D$`H��PH�D$h���$���n<�<
Ƅ$��H�CL��H+S1�H��L��$�L��D�<�1�D�|$H�I(��A��H�D$0D�h0D�x4A�E�f�$��Lj�$�H��$�@��}HED$8fA��E��M�$��H�D$@�k
HDŽ$�E������$�L�;A��H��bH��L��H����$�H�D$pH���H����$�H��$������$��D$�E1�1Ƀ��D$D�D$H�H��H�D$ Pj@�BQ��XL��ZE1ɺA�1ɾ�_��L�;�H�D$(L����[��H��H��t0H�D$(L��H�T$(H��1`��H�T$(H�BH��H�BH��LcT$HA��1�H��� M��L�T$(�od���t$ E1�1�j@A��H��`�P��A[A_E1�L�T$(A���H�� L���%d����$����_	E1�A�
1ɺ�� H���c��D��$�E1�A�E�������� H����c���L$E1�1�L��H�߃�衝���D$ M�^�$f�HDŽ$�)�$���~%�A���{Hǃ�Hǃ8Hǃ������D�,$Hǃ@D)��H�H��$�A�E��$�H�H��H�D$(D��Љ�$���H�H�D$x�D$D�L�l$@���H�H��$�H��$�H�D$HcD$HH�D$HǃHǃPA�>wHDŽ$�HDŽ$�u�|$ �IH�L$L��L��H��L��$��ޏ��D�ME���AH����]��H��PH��H���bD�$E����E��u�D$��t$(�1ɾbj@A��H��L�L$(�PN��XZ��$�����E��uJD�\$E���TD�T$E��t2��$�A���
H��Mɾ 1�A��I���a��D�H���#[���H��I���X��H��tI�UL�0H�PI�EH��$�H������M���4H����\��H��$�H��@��H��t2�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�<$w�XA�D$M��M�^f����I�������$���D$M�^�AD��$�E���<�D$HcD$H��H�D$pA����lL�\$L�;E1�1�t$pA���bj@L���L��^E1�_1�L��A����
[��H��H�D$H��H�T$ �cW��L�\$H��I��t0H�D$H�T$ I�H���[��L�\$I�GH��I�GL����$����j
L�\$E1�A�
1ɺ�H�� ��_���|$L�\$��$����|$�����H��D$ H��$��������HcK\E1�A�@H�ﺎ� L�\$�}_��E1ɹH��A���� �]_��L�\$���H����� �<_��E1�H��A���� �_��HcK\E1�H��A�@��� �^���0����H��@��f�H�1H��t@��tH�VH�FH��H��H�VH�IH��u�D�$E���d����<$����|$��������t$pH�;1ɾ`j@E1�A���J��Y^��$����`����HcK\I�����A��H�ﺎ� �5^���1���E��u+��$����H��$�H���H��$�H��8�D$L���H�D$PH�C0H�D$XH��H�D$`H��@H�D$hH��P1�H��$�dH3%(�H��[]A\A]A^A_�fD��$�����4$������L�L$xH�L$A��H�ﺎ� �]]������E1�A��1ɺ
� H��L�\$@�.]��L�\$@���@L�L$A��1�H��� �]��D��$�E����H���cV���H��I����S��H��tH��hL�0H�PH��h��$���,���L�L$xA��1�H��� �\��A��1�H��L��$��
� �j\��H�L$E1�H��A���� �J\��jE1�1�H��j@A���b�iH��_E1�AX1�A�@��H�� �	\���T���@ǃ�����I�������L�L$A��1�H��� �[�����D�$E������A��1ɺ
H��L��$�� �[���>���HcD$H��H�D$pA����5D�D$E���������$������D$ �D$HDŽ$����E1�A��1ɺ
� H���[��jH�;E1�j@A�1ɺ�`�7G��AZE1�A[A�@1ɺ
1�H���U��H��$�E���=����D$M�^���LcK\A��1�H��� �Z���~���L��H�5�<vz<v��<w�HDŽ$�<x�����D$���L�\$LcK\1ɺA���Y���LcT$HE1ɺ�H��A�� L�\$L���Z��L�\$���<���H�����HDŽ$��D$����HcK\L��$�A��H�ﺎ� �Y������D�,$H��8H��@E��u
H��@H��H����H���R��H��I����T��H��@H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�LcT$HE����1�M��A���� H���Y���H���vR���H��H�$�P��H��tH��hH�$H�PH�H��h�D$E1�A�D�H�H��Pj@1ɺH��b��D��XH��Z�T��M��tH��tI�VI�FH��H��I�VD��$�E������$�}�D�T$E�����D$����$����E�����|$��t%�t$pH�;1ɾ`j@E1�A���<D��Y^�H���mQ���H��I���N��H��tH�|$8H�L�0H�PH�H���>S��H��$�H��t;H��@��f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�LcT$HE������$����A�E1�M��A��H���bH��H��Pj@�pC��XE1�Z1Ƀ|$A��H��
� ���W����$���(E1�1�A�@��� H����V����$����E��u+��$����H��$�H���H��$�H��8�|$LI�D$���H�|$PH�{0H�|$XH��H�|$`H��@H�|$hH��P����H�����E�����D$���c��$���`���E1�A�@1ɺ�� H���V����$������$������$������H���^Q��H�|$0H��H�O@��H��t*H�1H��t@��tH�VH�FH��H��H�VH�IH��u�H�D$0H�@���LcK\A��1�H��� L�\$�jU��L�\$�i����t$pM��A��j@���E1�1�A���
� H���/U��D�t$1�H��A���� F������E�Mc��U����$���gA�E�H�;E1�A�H�1ɺ�`H��Pj@�
A��AYA�@AZE1�1ɺ�� H���T��HcL$HE1ɺ�H��A�� �T���t���E1�1�A���
� H���gT��E�����$���)����|$�JE1�A�@1ɺ�� H���(T���H���M��H��I���O��H��$�H���N����T$���"j1ɾbE1�j@A��H���@��Y^H���HO��H�|$0H�G8H�����M�����I�VI�FH��H��I�V����HcK\A�A��H�ﺎ� �rS�������D$���-��$���`�����$���x���jA�H��E1�j@1ɺ�b�d?��_AXE1�A�@1ɺ�� H���S��H�D$0�H��L�p8�nL��M��tH��tH�PL�pH��H��H�PH���HN��H��t(H��$�H��tH�wH�GH��H�4$H��H��H�WE���H���
N��H�|$0H�OH�������H��@��H�1H��t@��tH�VH�FH��H��H�VH�IH��u��u���D�t$1�A��H��� F������Mc��R��LcT$HC�.��$������L�$H�;E1�H�1�A��H���`Pj@�>��XE1�Z1�A�@��H�� �Q��L�$E1�H��A���� L���Q���H���K��H��I���L��H��$�L�$H������������D�t$A��1�H��� F������Mc��6Q��LcT$HC�.H�L�$H�;E1�H��1ɺ�`PA�j@�C=��A[A^E1�L�$A���H�� L����P������E1�1�A���
� H���P����$�����|$�u���jH�;E1�A�j@1ɺ�`�<��A]A^�K���Hc�$�M��1�H��A����bH��Pj@�<��YA�^D+L$A��1�H��A���
� Mc��P���L���H���K��H�|$0H�G8����H�D$0�H��L�h8�mI��M��tH��tH�PL�hH��H��H�PH���GK��H��$�H������H������H�wH�GH��H�4$H��H��H�W���Mc�H�;A�E1�J��1ɺ�`Pj@�;��_AX����UO����$���&�����$���l����d�����1�A���
A��� H��A��Mc��O����$�������jE1�1�A�j@��bH���;��AYAZ�|$����E1�A�
1ɺ�� H���N�������t$pH�;E1�A�j@1ɺ�`��:��A[]���Lcl$H1�A��H��� M���aN���H����G���H��I���dE��H��tH��hL�0H�PH��hL�麎� H��D��$�A��A��Mc��N���i���jH�;E1�A�j@1ɺ�`�:��AXAY���DkL$�1ɺ
H��A��� Mc��M������@AWAVAUI���PATI��USH��H�T$8dH�%(H��$�1�H�DŽ$�H��H��H�D$�nD��I�Nj�D$0����H�D$8f��D$�AAG AGAG0AG@H�HM�o I�L�xA�u�Fn@�t$+<wA�E@�t$I���D$+L��f��Bf����H��*@��wt�@��x���D$`�D$�D$P�D$T�D$+<��J<��BA�]I�EH�D$ 1�f����L�;w���D$@�|$+@�����@�����@�����ЈD$H�]A�Ef��������L$,I�L$ �<��A�D$8�ЉD$D�D$DA�GHI�EH�D$ @��yt@��z���|$���1��|$���H��M�4$PE1�A�j@1ɺ�bL����7��^�_E1�L��A�1ɾ�;F��M�4$�H�D$XL���B��H��H��t2H�D$XL��H�T$XH���F��H�T$XH�BI��$H�BI��$@��yt@��z�K�|$��@H�|$E1�A�@1ɺ�� �K����|$��!�|$���H�D$hD�T$H�D$XE���F@��z��@��y�
�|$+���
�|$H���D$,I�T$ Lct$D�H��<��M�,$jE1�A�j@1ɺ�bL���6��XL��ZE1ɺA�1ɾ��D��M�,$�H�D$HL���FA��H��H��t2H�D$HL��H�T$HH��E��H�T$HH�BI��$H�BI��$L�l$M��1�A���� L����I��M�N1�L��A���� �I��E1�L��L��A�
��� �I��E1�1�L��A���� �qI��E1ɹL��A���� �QI���@A�E<���A�]�PqI�}H�|$ f����L���<������!Ѐ|$+��D$@�������y���-�D$,�D$D�D$H������D$+��<��p
Lct$DH�|$M��A��1ɺ� �H��M�,$jE1�j@A�1ɺL��b�4��AZ�A[L��E1�A�1ɾ�C��M�,$�H�D$HL���`?��H��H��t2H�D$HL��H�H�T$H�C��H�T$HH�BI��$H�BI��$L��L�t$E1ɺ�A�
� L����G��E1�A�1ɺ�� L����G���D$+<�t<���H�D$ �<���<���Pq��v<��]
H�D$ I�G@�<���I��$(<��WH���|L�BM��tsH�L$ M�L$I��$��A�I��f�L$HC�Lf��f��G�D�����H��D	�I�$�f��t!��f����9��
H���u�fD�;wH�\$ uH�CH�D$ �Cf����H��H�t$ L��H��L���t��H�D$D�E���
D�l$@A��@��x�D$H�|$+����|$(���|$��D$0A��D
t$H�L$,A�����|$+��D$ �t$ �D$`A!�����A�|$`���Hc�I�L$ �<��E���������|$(��E��t1�L$0E1��Hc�@��x��H�|$A�
��� �E��D�L$,E����D�L$@E���s�|$+���	@��y�x	D�\$,E���"�D$,I�T$ �H��<��
�D$�����D$+H�|$XA��<��L<��DH�|$��>��H��t$E��tH�PH�|$XH��H�xH��H�PfDH�|$�~@���|$)I�G0��M�,$jE1�1�j@A�
�
�bL���
1��1�AZL��A[�<>���L��I����;��H��tI��$XL�0H�PI��$XHcL$TjA���bj@L�t$��I��L���0��AX�AYL����=��H���;H�|$XH���-H�PH�xH��H���|$�H�P�H�|$�?��I�G8�DD�T$,McL$`M�,$A�Mc�E��thA��1ɺL�� ��C��IcL$`M��L��A�@��� �C���D$`E1�L��A���� ��Hc��C���D$`I�D$ B�<0��HcD$,McL$<1�L��A���� H��I�H�D$0�GC��H�D$01�L��McL$<A���� L�XM�L�\$x�C���L$`E1�L��A���� D��Ic�D�T$p��B��LcL$D1�L��A���� ��B��D�T$pE1�L��A���� A�JHc��B��L�\$xE1�L��IcL$<A�
��� L��zB��IcL$<E1�L��A�HL$0��� �UB��D�D$@�D$`E�������I�D$ B�<0��@��y��|$)�.����|$'�R�|$�����|$��\�|$HtsI�,$jE1�1�j@A�
�
�bH���.��A]1�H��A^�B;���H��I����8��H��t+I��$XL�(H�PI��$X�@�Cf����HÀ;wt�|$+�uA�G@��$�1������	�A�G@HcD$PH�DH��$�dH3<%(��H�Ę[]A\A]A^A_�f���E��t�D$ ��H�M�,$E1�A�H��1ɺ�bPL��j@�&-��XL��ZE1ɺA�1ɾ�w;��M�,$�H�D$pL����7��H��H�������H�D$pL��H�T$pH��<��H�T$p�|$(H�BI��$H�BI��$�q���jE1�A�1�j@H�|$���b�,��AZA[�E���@�D$`�����I�t$I�D$H��H)����\$T����H�zH)��<��|$PH�zH)���H�zH)����\$�D$`��'����(�zD��'�fD��$�E1�����A�G@����@��xM�$A��b��
T$@���T$HL�׺A��E1�1�F�t0Mc�I��AVj@L�T$p�+��AYAZ�L�T$`E1�A�1ɾL����9��I�$�H�D$`H��H�L$p�56��H��H��t7H�D$`H�L$pH�T$`H�H���s:��H�T$`H�BI��$H�BI��$D��$�E����HcD$DH�|$1�A���� I��H�D$`�>��AV1�E1�j@H�|$�`E1�A���*��Y^��$���A�ƀ|$HF��Mc�D�T$p�vH�|$L��E1ɺ�A�
� A���(>��H�L$`H�|$E1�A���� �>��D�T$pH�|$E1�A���� A�JHc���=��A�O@E1�1�L��L��D��w��H�t$ L��H��L���k��H�D$D�E���D�l$@I�<$A�G@D��$�A��@��xH�|$ �D$H�����|$H�]E���T��1ɺA��H��bH��Pj@LcL$TH�|$0�q)��ZYE�������H�|$ I�����1ɺA��� �=���QfD�|$����������<���@��������I�D$L��I+T$�|$+����D$DA�GH�6�D$,���1��7���f�HcL$TLcL$`��A�@H�|$� �\<��1��|$)H�D$X���H�|$�7��H�D$X�p�fD��AT$<�T$D���H�|$�7���|$,I�G(�������D$,I�T$ �H��<������^f��L$`H�|$E1�A�@��� ��Hc��;��@��y�����DH�|$�7���t$+H�D$X@������D�L$@E�����@������D�D$E�����|$HI�G(���DD�L$@E���|�M�,$jE1�A�j@1ɺ�bL���]'��_E1�AXL��A�1ɺ��5��M�,$�H�D$HL���2��I��H��t(H�D$HL��I��O6��I�FI��$I�FM��$H�|$E1�A�
1ɺ�� �:������t$@�����D$,IcT$<E1ɾ H�|$A�
��H�H�º��U:�������D$`�D$�D$P��L�t$�@L���>1��E�E�������H�t$ f�H��L��@ �@@0H�p I�G@����H�D$ � ��@��z�������@��y��L$@���E�����$�����1�@��z��	@��ytD�\$@E���������H�|$E1ɺ�Hc�A�
� �L9�������D$,�D$D�0�McL$\H�|$A��1ɺ� A��9���N����D$@�����|$+���HcL$DH�|$E1�A�
����s3��H��tE��tH�PH�|$XH��H�xH��H�P�|$����jI�<$E1�A�j@1ɺ�`�$��A]A^�b�f.�L�t$E1�1�A���
� L���>8��@��z��jI�<$E1�A�j@1ɺ�`�R$��X1�ZE1�A�@�
1�L���2���L$H�D$h����H�D$X�����H�|$E1ɺ�Hc�A�
� �7�������D$+E1�A�@1ɺ
�<���<���H�|$�2��H�|$1�A�A���
� I���G7��H�|$�2��H����M����I�VI�FH�D$hH��H��I�V�|$���.H�D$XH�|$�o2��I�G0�4�fD1����f�LcL$TH�|$A��1ɺ� �6���D$0�7�f�H�D$8H�|$�L�h(�0��H��tM��tH�PL�hH��H��H�PL�t$hM�����H�|$��1��H��tI�NI�FH��H�L$H��H��I�V�|$+���
@��z���|$ ���jI�<$�E1�j@A�1ɾ`�/"��XZ�f��H�|$A�@��� ��5����LcL$TH�|$A��1ɺ� �5��M�,$jE1�j@A�1ɺL��b�!��^E1�_A�L��1ɺ��0��M�,$�H�D$L���e,��I��H��t(H�D$L��I��0��I�FI��$I�FM��$H�|$E1�A�1ɺ�� �4�����H�L$ IcD$<��A��L�t$�qL�HL����f�t$H1�f��H�����H��\/���L��I���+��H��tI�W@L�(H�PI�G@H�D$ ���DH�D$8H�HHcD$PH�D��D�T$E���u�D$+H�|$XA��<�t<����H�|$�/��I�G(�4���@�t$������L$@���+HcL$Tj���bj@L�t$A��I��L��� ��X�ZL���P-��H��tH�t$XH��tH�PH�pH��H��H�P�|$+��������DH�D$ E1�A�
1ɺ� �x�@A��A��H�|$f�D$HfA��fA��D�T$`E��E��M��$�A��M�$��53��McL$<H�|$1�A���� I���3��A�EIcT$<jjH�|$1ɾbf��A��H��%�L�����Y^D�T$`M�$�fA����H�\$HL��E��L�t$A�EHcS<j1�jA���bL��f��A��H��%�L��
���A[Xjj
�E1�A�1ɾfL�����XL��ZA���u�I��H�\$HL�t$E1�1�A��
� L���2��1�L���+���L��I���)��H��tI�W@L�(H�PI�G@H�D$ ��H�L$`H�|$E1�A���� L�\$H�1��L�\$HH�|$E1�A���� L���1�������~�|$H�wE���nE������H�A�E1�1�H����`Pj@H�|$0�r��_AXE��t7�|$H�5I�����E���%H�|$ A��1ɺ� ��0��I�����@��y�@��zu&HcL$DH�|$ ��I�����A��� �0��E���7�IcL$\H�|$ E1�A���� �0����I�D$L��I+T$���D$DA�GHL��$�1�1�L��L�����D$,A�G@�D$+��D$H�A�H�|$E1�A�1ɺ�� �0���S�y�o�H���%�H�D$ �@f�D$Hf����f����^���H�RH���T1�����������=���I�D$L��I+T$�D$,�D$+����D$H�D$DA�GH��A�1�H�|$E1�A�
��� �q/��A�@�u;HcL$DA�����$�H��`E1�H��H��Pj@H�|$�r��A^XH�|$E1�L�麂A�� �/���D��1ɾbA��H��H��Pj@LcL$TH�|$0���Y^E���@��y�R�E1�H�|$ A��1ɺ� �.�����L�t$L���G)��1�L��A�A���
� H�D$X�r.��L���L�t$��'��H�|$I����)��H��tL�T$XM��tI�RI�BH��H��I�R1ɀ|$+�LcL$DA��u6E�_@E��x-H�|$�� �-��A�����E+O@1�A��A��Mc�H�|$1��
�(��H�|$H�D$h�F)��M�������H�������I�VI�FH��H��I�V���A��Ic�M�,$E1�A�H��1ɺ�bPL��j@���XL��ZE1�A�1ɺ��'��M�,$�H�D$HL���W$��I��H�����H�D$HL��I��(��I�FI��$I�FM��$�`�LcL$DA��1ɺ� ��,�����H�|$�S(��I�G(������$�A����� ���LcL$DH�|$A��1ɺ� �,�����H�|$E1�A�1ɺ�� �r,���@��z����$����LcL$DH�|$1�A���� A��-,������H�|$E1�1�A�
���&��H�����E�����H�PH�t$XH��H�pH��H�P���HcL$TLcL$`��A�@H�|$� �+���|$)����V�A�O@����L�t$LcL$D1�A���� L���p+���L����$���L��H���s"��H�����I��$hH�(H�PI��$h��HcL$TLcL$`��A�@H�|$� �
+���|$)����1�E���������I������HcL$DH�|$E1�A���� �*����H�|$ 1ɺI�����A��� �*��@��y�������I�t$�D�T��	�9��������H�D$h�H��A������AWAVAUATUSH��H��L�'dH�%(H�D$x1�H��(L�hLo1�A�}�L����I�DEH�D$�Ef����Hŀ}wt�L�D$L1ҹL��H��L�5���|$LL���L��D$H�D$E�A��I��H9�sHA��B�<k���Ic�L�>��@A�@f����A���y<A��I��f�I9�r��|$�H�C0L��(��I�L��D$A�Ef����A�D<w�D$/�����D$(�$��I�FH��(H�pH�HH��@��H��t+�H�H��t@��tH�BH�rH��H��H�BH�IH��u־L���)z��jL�3E1�j@1�A�
�
�bL������X1�ZL���!���L��H�D$ ���H��tH��XH�|$ H�PH�8H��X�D$L�3E1�A�1ɺ�bF�8DT$(L��Ic�D�T$ H��H�D$8Pj@�G��A_L��XE1�A�1ɺ��"��L�3�H�D$0L������I��H��t&H�D$0L��I��:#��I�GH��I�GL��D�t$ E1ɺ�L��A�� B������Hc��y'���D$(D$E��D$(H��A����D$TH��H��PH�t$�I8��AYAZD�\$LE����HcKHA�E1�L�纎� �'��D�D$E��x�D$(A�1�L��H�ߍH���`���|$/w��H�|$f�Hǃ�L�|$P)D$P)D$`H��HǃHǃ8HǃPH�|$pA�EH�l$H��f����I�H�D$`H�D$hH9�t"� E1�A��1ɺ
L���R&��H�t$pH��L��L���S��A�<$���{�L������L��I���6��H��tH��PL�0H�PH��PH�t$`H������A�4$���+L���[!��H�t$hH��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�}w�I�uH�t$pA�Ef����I����fDA��I������A�@H�S f�����<A��I������A��I������H�SH�CL��H)ы<���t�I�HA��H)�Hc�I�����!��p�PH�SL��H+KI������y���L������A��i���f�H�CL��H+S�4����n���A���e����H�CL�‹��H+S�<�I�@A����tKA�PI�����������?A�I����fDH�CL��H+S����tA�����I�@��u�I������@H�CL��H+S�<���tA��I�����f�H�CL��H+S�<�A��I�����@H�CL��H+S����tA��D���I�@E��t�A�PI������I�����?A�I��9���f�L��L����I������E1�1�A�@�� L��H�l$�K#���L�����H��8I���WL�����H��8H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�LcKH1�A��L��� ��"���L$����Lct$(E1�1�A���`L��I��AVj@����X�L��Z����L��I�����H��tH��hL�8H�PH��hAVE1�A�1�j@��bL���x��A_XE1�1�A�@�� L���"���L��Hǃ8����L��I�����H��tH��8L�0H�PH��8L���N��H��PH��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�LcKHA��1�L��� �p!��D�t$E���n1�L��A��A�@� �B!��L�����M��tH��tI�UI�EH��H��I�UH��8tLL�����H��8H��t8H��@���H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��1�H��H�ߋD$TPD�L$0D�D$8H�t$�1��XZ�t$8j@1ɾ`E1�H�;A�����Y^�|$L���3A��1ɺL��I���� �M ��A��1�L��I���� �, ��HcKHE1�L��A���� �
 ��1�E1�A��� L������HcK\��� L��E1�A�����H�������L���m�DH�D$xdH3%(�?H�Ĉ[]A\A]A^A_�A�@f�������HcK\E1�A�@L�纎� �b���&���E1�A�
1ɺ�� L���@���R���A��1ɺL��I��� ���1�E1�A��� L�����HcKH����Lct$(E1�1�A���`L��I��AVj@�
��AZ�L��A[�9���L��I������H��tH��hL�8H�PH��hAVE1�A�1�j@��bL���
��AXAY�������AWA�ҹ;f�AVAUATI��USH��xA�\$&L�nH�t$�T$HH�W0H��$�H��dH�%(H��$h1�H��H�H�<$HD�1�)D$p�H�A�D$$)D$`A�|$"H��$��E�E(H��H��H��$1�D��$Hc�H�L�E����H��$���$A�D$H��$�A��A��pA�� �
vSA��@��	A��P�i	A��0�|	H��$hdH3%(��<H��x[]A\A]A^A_�E����A��u�DŽ$D
E1���H��$pA��L�H��@1�H��$X��A����D��$HA����A��DŽ$<�����$8��A����D��$T����DŽ$L�����H��$`H��$h��$<��$@��ti��$8���I���0��$D�Һ
��$<E‰�$@�
��$H�) DŽ$P
E‰�$Lf��Cf����HÀ;wt�A�D$DŽ$�(H�x�H��$�H���m���A�T$�H��H��H���H��$�H�h�H9�seH�<$L�I�L���f��0�V��������Ic�L�>��@�PH��$�f�����H��H9�w��T$H��$�������$��ƒ��|$H��$�u��$��B��$�f�A�D$
t��$�����$�D��$�E��t��$�����$���$ ���z��$����t
����$���u��$���$�A�T$D��$���E������H���$�H+�$���$(��$�H�H��H���H��$�H���0L�4�1�L�|$TH��L���A�T$H�<$L����$��D�H�ډD$T��[��A�D$�k�D$T=�D��$(���;���H��H����H�xH�@Hǀ�H��)����1����H���EH�E8��H�E@�H�}@H�EHH����H�����
H�H�GH�H�@H�����H�EPH�EX�E`��u8H�H���H���H�x H�����@���H�x0�D$T�MH��$��D$ ����2H�L�
�EL�5H�EPH�E@�A�H�EXH�\$H��L�d$I��L��H�D$(�o�H��L�����H����D�8Mc�H�PM|$hA�>v�@AH�P�E
H��I����P�H�H9���A�>H�H��A�>E�A��I�t$@H�FH�<H���w�H�DH�~��DŽ$(DŽ$�D��$�E��u��$���$�����$��PH�D�:����H��D�Qf����Hр9wt�H��H9�HB�H������f���$���u��$���$�����$�H������@�xv�����fDH��$�����D��$����������$���$�����$��s���@�P�Hf��f������H��$p��H�$`f��t/f��H��$���f�����H�$p���u�H��������PH��$�H��f��������L��$H�������DŽ$(H��DŽ$����f�DŽ$�DŽ$$H9��D���DŽ$,�4����H9�vDŽ$,H���b����H��L�����H���G�������DŽ$D
�X���H�@I#T$H�@H9��N�����$�����$��8����DŽ$<
�
����L��H�\$L�d$H�U@H�BH�HH����51H�t$(�H�����H����D�t$ �H����H�EhA��?f�PA����@�A��0D�u`E��~UH�U@H�BA����2H�HH�����3H�t$(�H���&��H��tA�H����H�EhfD�x�@�D�pL��$���f��P��$�����$��w����DŽ$<) �
����DŽ$D

DŽ$8����DDŽ$D

����DŽ$D

DŽ$8���DH��$�Hc�1��A�T$������H��$���}���DH��$�L��$��H��$��I��D��wKH��H��>���L���2��������$,���8���H�<$�L������"���D�A}��u�A�@f����L��8xu�H)�E��E��u�A�@���tI�����t���@A�@f�����<t�A�@I����A�HI���B���L��H�\$L�d$L��$�A�D$jA�1�j@A���L��D�|�b�n���AYAZA����A�G�A�H�\$H��L��M��I��E1ɺ�� L��Hc�$�A�H�H������L9�u�H�\$��$����TE1�A�
1ɺ	� H�����E1�A�
1ɺ� H�����A�1�H��A���
� �c��A�1�H��A���� �C��E1�A��1ɺ� H���&��A�@1�H��A����%���A�1�H��A���� ����A�1�H��A���� ����jE1�A�j@1ɺ�`H�����YE1�^A�� ��H�� �����$9�$���|$H��$��$�������$����wA�D$�BL��$���$�H�D$XA�D$
�����F&�L���	��H�D$I��L���m��H�D$@��$<��tE1�A��1ɺ�!L�����H�D$ �D$j1ɾ`L��j@E1�A�
�
����Y^��$<����'L���
��H��tM��tI�WI�GH��H��I�W�D$���O'H����
��H�D$8A�D$uT�D$H����)A�D$���(A�t$�� tH��$�0H�<$1�����H���p
��H�D$@H�D$8�D$HE1���uA�E(E1�����	Lc�$�H�D$E����
E1ɺ�� H��Hc�$�A�
���A� 1�H��A���
� �k����$����fH��$�H��t3H��E1�A�
H��H��$�H+�$�� Hc��������$�;�$�tHc�E1�A�
H�ﺎ� ��
���|$H��!�|$H��#H��$�H�<$H�L$`H���;��D�]E����'D��$H�D$(H�D$ E���"H���	��H��$�H��H��$�@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$�E�l$A��1�Lc�$��� A�EH��I���D$�
��E1ɺ�H��Hc�$�A�
� H������E1�A�	1ɺ� H�����Lc�$�E���!A�H1ɺH��A���&���D��$�E���EjA� A��1�j@��bH�����A[A�A^A��1ɺH�߾ �4��Hc�$��
H���[��E1�A�@1ɺ1�H�����H��I���z��E1�A��1�H�D$��bH��jj����XZjj@E1�A�
1ɺ
�`H����YE1�^A����H�߾.���jE1�A�j@1ɺ�bH�����_�AXH������L�\$M��tH��tH�PL�XH��H��H�PH�����M��tH��tI�VI�FH��H��I�VA�E���	Hc�$���H��H�H����Y��E�M1ɺA��A�@� H����
��H���>��1�A��H��I����(I���
��jE1�1�j@A��H�߾b���AY1�E1�1�AZA��H�����H��tM��tH�PL�hH��H��H�PE1�A�1ɾ �H��� 
��H�����H��$�H��H��$�H��$�@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$�H��t3f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�M��t@��tI�WI�GH��H��I�WD�EE���sH�u@�U`H�E@H�D$H�F��~W���fH�PH����$�H�u@H������H���'�H����H�Ehf�x�@ċU`�PH�u@H�F�]PA�L�-L�=�߻	����L�d$0I�܉��rf�H�t$H���s��H����D�0Mc�H�PLuhC�<,v�@AH�PC�<��X�D9��VH�H�u@E1�B�< A��H�FI��A��A�VHc�H�<H���w�H�DH�~�H�u@H�FH�PH����~&H�t$�H������H��t�H�Eh�@�@�L$H����D��$1�E����H�<$H�t$p�ۄ��D�EH��E���!"�&���|$HI����A�D$%=�+H��$�H���:H��$�H��H+�$�Lc�A��1ɺ
H�� �@��A�D$�uWL��$�%M������u=E1�1�A��
�H�����H��tH�PL�hH��H��H�P�L�|$M��t)H���N��H��tI�wI�GH��H�t$H��H��I�W�|$H�q1ɾ H��A�@I���������L��$��H�����M��tH��tH�PL�hH��H��H�PH�<$�e����$���H��$�L�,$HDŽ$�HDŽ$H��$�H��$�DŽ$0H��u.�dDL�����H��$�H�H��$�H���;L���|���M��t�H���m���H��$��H��$��H��$�H���<�H��H��H��u��&�H��$�H��1�L�H��$��H��$�H�<$1�������H�EHH�H��tH���H�H���H��$��H��$����L�d$0���A�D$����A�@1ɺH��I������ ���A�E(E1�1�A�
��`H��Pj@���A]E1�A^A�1ɺH���!���I�����������$8����v��$D��3�L�����L��I�����E1�1�A�
H�D$�
�`L��jj@�C�^E1�_1�A��
L������E1�1�A����!L��H�D$����E1�1�1���$DA��bL��Pj@���AX1�AY�� L����c��jE1�1�jA�
�
L���`��AZ�A[L������L��H�D$ ����E1�1�A����!L��H�D$@�$��1�1�A�@D��$E�L�����H��tL�T$M��tH�PL�PH��H��H�P�D$�%�H�PH������H�u@H�����H��������H����H�Ehf�p�@ċU`�PH�u@H�F�����H��
��E1�1Ƀ�D�@����H�|$@H���p���H���g���H�PH�xH��H��H�P�N����D$TL��$�I��I)�C���D$T���D$T�H�A�A�@����HcȺ�� H��I�����A�@�����s�Hc�E1�A�@H�ﺎ� ����f�Hc�E1�A�@H�ﺎ� ����4�E1�A�
1�L��$�j�bj@L����D��$XZD;�$����Ic�E1�A�L����� A�����D;�$|���E�T$E�t$1�A��L��$��� D��D�T$%�L��D�t$O�D$����h�E1�1�j@A�
�L��`���AZE1�A[1�A��L���7���E1�1�A��
�L��H�D$ ����D�T$H�D$(A���zjE1�A�
1�j@��`L���p�AXAYL�����E1�A�1ɺ�L��H�D$0���L��E1�1�A����!H�D$����|$���VD�L$OA�@1ɺ1�L���g���H�D$I��jE1�1ɺj@�`L��A����X�ZL�����H��tH�|$0H��tH�PH�xH��H��H�PL������M��tH��tI�VI�FH��H��I�VL�t$M��t)L�����H��tI�vI�FH��H�t$H��H��I�VE1ɺ�� L��Hc�$�A�����L���T���H�|$(H��t!H��tH�wH�GH��H�t$H��H��H�WL���!���H�|$ H�����H�����H�wH�GH��H�t$H��H��H�W��Hc�E1�A�H�ﺎ� �K�����Hc�$��L���1M��E�O�1ɺMc�A�@� L������L�����E1ɹL��A����(I�����jE1�A�j@1ɾbL�����_�AXL���4���H�����M�����H�PL�xH��H��H�P��H��H��$�DŽ$0���H��$�H��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u־�H���N��E1ɹH��A���� ���E1�1�A�	�� H������E1�1�A���� H�����E1�1�A���� H�����h 1�H��j@A�A����b��XH�
3���Z��@H�����E1�1�A�@��H����E1�1�A�	�� H��H���#���E1�1�A���� H������E1�1�A���� H�����1�A�H��A���� ����A�1�H��A���� ���H��1Ҿ��J��H������H��tH��tH�SH�CH��H��H�S1ɾ H��A�@I�����S����H��H��$���H��tH��tH�PH�XH��H��H�PH�����H��$�H��@��H��t.@H�H��t@��tH�QH�AH��H��H�QH�vH��u�1ɾ H��A�@I���������H��$��H��� �H��tH��tH�PH�XH��H��H�PH��$�tVH�����H��$�H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$���W��H��$tYH�����H��$H��@��H��t4f.�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�<$譈��H��$tdH���*���H��$H��@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�H�$H��$�H����{��H��$teH����H��$H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�$H��$�H����Nx��H��$teH���K�H��$H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�$H��$�H����.z��H��$ tZH�����H��$ H��@��H��t1�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��S��H��$(t`H���v�H��$(H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�$H��$�H����P��H��$0��H����H��$0H��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�A�D$H��$�D�lA����E1�A�	1ɺ� H��������$����?��$����
H��E1�A��1ɺ� ����H��A��1�Lc�$��� ���H��A�1�A���� ���E1�A�1ɺ
�H���"�H�\$8H��tH��tH�PH�XH��H��H�PE1�1ɾ H��A��
�2����H����H��tM��tH�PL�pH��H��H�PH��$PtSH���t�H��$PH��@��H��t*H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��J��H��$XtUH����H��$XH��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��W��H��$`t`H����H��$`H��@��H��t,f�H�H��t@��tH�QH�AH��H��H�QH�vH��u�H�4$H��$�H����G��H��$H��H���G�H��$HH��@��H��t-H�H��t@��tH�QH�AH��H��H�QH�vH��u�H��$��H����E��jE1�A�j@1ɺ�iH����XL�
ZA��1ɺH�߾!�-�jE1�A�j@1ɺ�eH���L�Y^jj@E1�A�1ɺ�hH���)�_AXjjE1�A�1ɺ�`H����AYA�@AZ1ɺ� H��L�
��A�1�H��A����#��A�@1�H��L�
�� �_�H��1ɾ!A�A���?�1ҾH������H��$��H��$��H����<��L�mxH��H��$�H���@H�H�JH�PH�@H�
H��u�H��葨��H����
H�D$�@��H�P8H����HcD$HH��H��$�H�H�PL�h0�H��A��1ɺH�߾ �r���Lc�$�1�1�H��A���
��H��H�D$(��H�D$ ��E1ɹ0��H��A�� ����H����H���9�H���z�H��$�H��H��$x@��H��t0fDH�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�1�A�	�H��$�� L��$�H����1�A�@H��I���� �`�1�A�DH��A����&�@�1�A�H��A�@�����M��A��H��tE��tH�PL�hH��H��H�P1�A��
H��A��� ���1�A� H��A���� ��1�A�H��A�@���K���$I����
��$�D�HMc�j1�A���j
�bH�����XE1�ZH��A�����&�<�H����H��tM��tI�WI�GH��H��I�W��$�
Lc�$�1�A���H�߾ ���jE1�1�j
A��H�߾b���AZE1�A[A����H�߾&��jE1�1�j
A��H�߾b���A_E1�1ɾ&H��XA����`��H�����H���n�E���e�H�PL�hH��H��H�P�L�H����H��t&H�|$(H��tH�wH�GH��H�t$H��H��H�WE1�1�A�	�� H�����1�A�NH��A����!��E1�1�A�@��H���K�H��A��H��tE��tH�PH�XH��H��H�P1�A�O�H��A���!�V�E1�1�1�A�@�H�����H����H�|$ H����H�PH�x1�A�A��� H��H��H��H�P����E1�1�A�
��H����H��tH�PH�|$ H��H�xH��H�P�H���)�H���j�E���a�H�PH�XH��H��H�P�H�H��$E��F�E8����D��D�\$D1��ЍJ�������E1�1ɾfPA��L��j@�h��Y^D�\$E	�E���F�H�u@L�d$0H�F�UT����A�A)�A��
���Mc�H�B�<*L�5H�
L�|$�`@L��H��腳��H�
H������Hc�H�PH]hC�<.v�@AH�PB�)I����X�A��
�I�H�u@C�<.H�F@��H�H��@���H�<��H���w�H�DH�~�Lc�$����Hc�$�I�����A�@H�ﺎ���E1ɺ�H��Hc�$�A�
� I�����E1�H�ﺎHc�$�A�
� H����H���/�M������H������I�UI�EH��H��I�U���Hc�$�I�����A�@H�ﺎ� �]�����A��1ɺH��Lc�$�� �6���L��$xI�������Hc�$�A�@�H����M���W�H���N�H�PL�hH��H��H�P�5�E1�A�
1ɺ� L������E1ɺ��H��Hc�$�A�@�B�1�A��H��Lc�$��� I���m�Hc�$�A�@H��I�������� �F�E1�H�ﺎHc�$�A�� �#�H����M���z�H���q�I�UI�EH��H��I�U�X�E1ɺ�� H��Hc�$�A�
�������E1�A�
1ɺ� L����D��$8E��u��$D���E1�1�A��
�L��� �L��H�D$���E1ɺ�L��Hc�$�A�
� I���=���$<H�<$���$@�a��$8H�<$H�T$X��w�E1�1�A��
�L����M��tH��tH�PL�xH��H��H�PL���D�H�|$H��t!H��tH�wH�GH��H�t$H��H��H�W� E1ɺ�L��Hc�$�A�
�v�L�����H�t$XH��t6H��@��DH�H��t@��tH�QH�AH��H��H�QH�vH��u�E1�A�1ɺ
� L�����L����I�����L���t�H�|$H��t!H��tH�wH�GH��H�t$H��H��H�WL���A�H�|$ H���h��H���_��H�wH�GH��H�t$H��H��H�W�>��1�A���L��A�@���1�A��L����!H�D$(L�
�C�jE1�1�j�
L��A�
�`�b��XL��Z��H������L�T$(M������I�RI�BH��H��I�R�k���`�H��H����H�xH��H�H��H�@X1�H)���`���H�A�D$�D�BX1�A�D$
 tA�D$�B\H�D$H�P8H�@���A�@1ɺ1�L����D�L$1�1�A�@�L��I�����H�D$���A��N������A�E�1��H�<$I�u������Lc�$���Lc�$��k���I�����H��藛��H��$��H��$��H��$�H���f��f.�H��H��H��u��F���E���H��$��H��$��H��$�H������H��H��H��u����H�<$�������R�����H�DH�V���H�DH�V�V�H��$�H������H��H��H��u����Hc�E1�A�@H�ߺ�� ������Hc�E1�A�@H�ߺ�� ����1�A���H��Lc�$�� I���u�A����Hc�$��H��H���R3��E�M�1ɺMc�A�@� H���1�H�����E1ɹH��A����(I����jE1�1�j@�bH��A���%��A[�A_H���T��M�����H�����H�PL�hH��H��H�P��f�H�DH�J����L���
��jE1�A�
j@1ɺ
�`L��I�����AZE1�A[A�1ɺ
L������A��1�L����!H�D$I�������E1�A��1ɺ�!L����A�@1�L��D��$E�����D��$DH���M����H�PL�x1�A�@�L��H��H��H�P��F��H��tH�PL�xH��H��H�PL�����H�|$H��t!H��tH�wH�GH��H�t$H��H��H�WE1ɺ��bL��Hc�$�jA�
j@�c��AXAY���H���B���H��$�H������H��H��H��u����H�HH�����H�t$(�H��蘨��H������A�H����H�EhfD�X�@�D�p�i��H�<$�Z�����H�DH�V���1�H��A��A��� �c�E1�A�
1ɺ�H�������1�A��H��A��� �!�E1�1�A�
��H�����H�|$ �B�H��� ��4�H�DH�J����H�DH�J�x��A�@1ɺL����d���2���1�A�@�L����E��H������M���������A�E�A�L�,�E1ɺ�� H��Hc�$�A�L�I���=�M9�u��
���ATA�USH��H��`L�S8dH�%(H�D$X1�D����$�����A��AE�H�I�,�L�]M����Hc�Hc�H�t$����H�D$0H�H�H�H�L$H�t$���A�J\�D$@��t9��D��L�L$ ���D$LD�������D$MD��A����
A����D�D$O�D$N1�����H�D$8�|$D��t���VUUU����)��Rɉ�����)�A9zXI�RHANzXI�BPA���|$HH����H���L�]H��H�$H����A�ӍD9�O� u#H�\$XdH3%(uzH��`[]A\�f.�H�S0H�L$0H�
��f�H�C�H�����C�����L$@����H�$H��H���w���L��蘛���m�������v����@��UH��SH��hH�v8L��$���$�dH�%(H�D$X1�H��$�A��Z���kD��A�����A��AE�H�L��M���BMc�Hc�H�T$����I�H�H�$H�T$H�UL�D$H�D$0�����N\�D$@��t9���D��L�\$ ���D$LD������D$MD��A����
A����D�L$O�D$N1�����H�D$8�|$D��t!��A�VUUU��A��)��Rɉ��A���)�9~X��N^XH��\$HA�ҍ9ںO�E uH�t$XdH34%(uVH��h[]��H�U0H�L$0H�
��f�H�E�s�����E������L$@����������@��AUI��ATL�gUH��SH��H�}H��t芛��H�}H��t�H��H��H��u�H��L9�u�H��L��[]A\A]�%��H�G8HG0HG@�Df.���H��@��ATUS��������9�O���������Hcށ��Hc�H9���H�=tr� �I��H����E1�1�A������"H��H�H��H!�H���H���tXH�I�D$H��I�\$H)�I�$I�D$L��[]A\�@��H�P�H����HH�H��h���f.�L��E1�[]L��A\�f�f.���SH��H�H�sH)��H��[�%@f.���H��t�@tH�G8H��tH�pHH�PP���SH�=�H�=H��u�Q�H��H��tHH�H�_u�H�w H�<7u�H)5H�GH��tH�CH�GH��t%H�XH���H��H��u�H�=[�H��������
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864	����������������������

	x86 64bit (little endian + unaligned)GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�$XA�D�D DDAD�HX�B�B�B �H(�D0�C8�DP\8A0A(B BBB�md��`�P�B �B(�A0�H8�r
0F(B BBBCx
0A(B BBBG\������ �E��
E[$@xH��Q
D��U
A4hxQ�D�G f
CAJUCAG����4�\Q�D�G g
HADHAAA���BA�r
M�< B�H�B �D(�D0��
(A BBBHd`~B�H�E �E(�A0�C8�DH�
8A0A(B BBBK.
8F0A(B BBBC��(�BB�I�D �`
ABF,�B�H�D �V
ABIH8�B�J�N �K(�A0�D8�I`�
8D0A(B BBBJ��PB�B�B �H(�A0�D8�F@|
8A0A(B BBBAe
8C0A(B BBBGF
8C0A(B BBBF|
8C0A(B BBBHx)B�B�B �H(�A0�D8�F@x
8A0A(B BBBEf
8C0A(B BBBF|
8C0A(B BBBA<��F�E�H �L(�D0�G
(A BBBG8��L�D�F �N
ABIP���H ���(�A�E�G ^
AAC4<�K�G�G �
AAH���H ���t�B�H�A �D(�G0b
(D ABBG�
(A DBBK@
(A DBBGb
(F AEBHH
(A AEBGD(F ABBDQ�d
KC�(�B�B�E �D(�D0�F@�
0D(A BBBGs
0A(D BBBJ�
0A(D BBBD_
0A(A EBBFH��B�E�E �E(�A0�A8�G@�
8C0A(B BBBDH��B�E�E �E(�A0�A8�G@N
8C0A(B BBBDLD2B�H�E �D(�A0�N
(C BBBE�
(E BBBA���B�H�B �E(�A0�D8�FPy
8J0D(E BBBJW
8G0A(B BBBIKXL`NXAPS
8A0A(B BBBEkXK`LXAPH
8A0A(B BBBKDXP`LhBpExB�IPD
8A0A(B BBBHD8J0F(E BBBt��B�B�B �D(�F0�D
(A BBBEe
(A BBBDD
(A BBBE�
(A BBBC`��B�B�B �B(�A0�A8�DP{
8A0A(B BBBEf
8I0F(E BBBHD`	�
B�B�B �B(�A0�A8�DPY
8D0A(B BBBD�XN`QhBpBxB�IPRXN`QhBpBxB�IPRXN`QhBpBxB�IPRXN`QhBpBxB�IPZXJ`JhBpIPYXJ`JhBpIP]XK`XXBPVXM`OhBpBxB�IPVXJ`JhBpIPQXN`QhBpBxB�IPhXN`QhBpBxB�IPT
8M0D(B BBBKXT`OXAP�
Cp�
L�E�D �C(�G0�
(A ABBDK
(C ABBEf
(A ABBDx����H0����80)B�A�A ��
ABCY
DBALl�N�E�D �Q(L0`(A P
�A�E�EA
CBJ@���4��A�A�D �
DAF^
DAEL��B�B�D �D(�D@�
(A ABBAy
(A ABBA4D�B�B�D �A(�D0�(A ABBH|�B�H�D �D(�F0W
(A ABBKt(A ABB��?B�B�B �B(�A0�A8�DP@
8C0A(B BBBFu
8D0A(B BBBN�XB`BhBpOxJ�IP
XF`BhEKXE`DhBpOxJ�IPY
XB`BhB<t
�	B�N�O �G(�A0�D8�D@MHKPVHA@Z
8A0A(B BBBFOHMPTHA@HHKPYHB@BHBP_HB@BHBP^HG@\HBP^HA@BHBP^HA@BHBP^HB@BHBP_HE@|
HMPTHA@HHKPXHA@BHBP^HB@BHBP_HH@\HKPVHB@BHBP_HB@BHBP^HG@\HMHMPTHA@BHBP^HA@BHBP^HA@BHBP^HB@BHBP_HB@hHKPYHB@BHBP_HA@BHBP^HG@\HKPUHA@BHBP^HB@BHBP_HH@\HGPZHB@BHBP_HB@BHBP^HD@eHBP^HA@u
8A0A(B BBBJc
HBPK`HKPXHA@BHBP^HB@BHBP_HH@�HKPUHB@BHBP_HB@BHBP_HA@BHBP_HB@d�	B�B�E �E(�D0�I8�D��
8A0A(B BBBH�
8K0A(B BBBLLXP�B�A �A(�G0r
(A ABBEX����H0����`l,B�M�N �D(�D0_
(A ABBFb8G@\8D0v8L@T8D0r(A ABBL��B�B�E �A(�A0��
(A BBBJB
(A BBBG� �B�M�N �D(�D0M8G@_8D0d
(A ABBJ�
(A ABBI_8G@Y8A0B8B@^8A0B8B@^8B0B8B@_8B0B8B@_8E0L�B�B�E �A(�A0��
(A BBBG�
(A BBBK�rB�E�B �E(�D0�D8�D`ChNpXhA`KhMpThE`
8A0A(B BBBA�
hKpLi
8A0A(B BBBEzhMpShA`BhBp^hE`���B�E�B �E(�A0�A8�DP
8A0A(B BBBJRXM`SXDP~
8A0A(B BBBBSXP`KXDP�XN`RXBPD
8A0A(B BBBA�L�B�E�E �B(�D0�F8�DpMxO�GxBp`xM�SxDpM
8A0A(B BBBAxM�VxDpuxM�]xGp}xE�FxApgxM�SxAp�xM�VxDpJxN�JxApWxM�VxKp�B�E�B �B(�A0�D8�DP�XM`]XEP�
8A0A(B BBBD�XI`WXAPxXM`TXBPBXB`_XDP\XJ`YXAPBXB`[XDP4�KB�E�I �D(�D0l(A ABBH�B�B�J �E(�A0�D8�Gp�
8M0D(G GBBJT0�A�A�G F(P0M(A D
AAEk(G0Y(A E(B0^(D EAAL�B�I�N �O(G0](G Y
ABAF(G0Y(D dABL��B�E�H �B(�A0�A8�G�G
8A0A(B BBBEH(4B�B�B �B(�A0�A8�D@
8D0A(B BBBITt�K�M�J X
K�A�JD(G0U(A D
AAIR(H0F��H ��H��B�J�B �E(�A0�A8�DPV
8A0A(B BBBG@'A�A�D t
CABG
CAEg
CAE�\]B�J�A �A(�G0G8G@V8F0j8G@Y8A0B8B@^8D0`8G@]8B0B8B@_8A0B8B@b8C0�8J@Y(F FBB���A�F�G d(G0Y(A B(B0^(B B(B0_(B B(B0_(A E(B0[(F J(G0\(G t(G0Y(A B(B0^(A B(B0^(B B(B0_(B E(B0\(F J(G0^(G r(H0X(A B(B0^(A B(B0^(B B(B0_(B B(B0_(D aFFh��B�A�I �J(G0Y(D w(G0Y(B B(B0_(E �(G0](F N(N0R(D ]FBdHB�F�A �J(G0Y(D y(G0Y(B B(B0_(E g(G0](F N(N0R(D }FBh��B�G�A �A(�G0|8G@\8D0E8G@Z8G0�8G@Y8C0a8G@Y8D0l(A ABB�FL�K�B �B(�D0�G8�G@�HJPOHB@D
8A0A(B BBBDT
8C0A(B BBBH�
8C0A(B BBBFc
8A�0A�(B� B�B�B�KP������H@���������A�F�G d(G0Y(A B(B0^(B B(B0_(B B(B0_(A E(B0[(F J(G0\(C x(M0P(D V(H0X(D b(H0X(B B(B0_(B B(B0_(A B(B0^(A B(B0aFF���B�E�B �B(�D0�D8�D`�
8D0A(B BBBK�hKpUhG`PhBpGhB`BhBp[hF`fhMpShD`�hMpShD`$hMpThE`,hGpYhD`RhMpThR`�hMpThD`xhNpShD`^hGpYhG`phBpGhG`��B�B�E �B(�A0�A8�DP�
8A0A(B BBBJ�XK`RXFPQXG`YXAP'XG`]XBPBXB`\XGPTXG`ZXEPGXG`\XDP� KA�I�G G(K0R(D T(K0S(D W(G0W(A _
FFHY(G0V(C W(G0V(F T(G0Y(B B(B0\(G T(K0S(C T(K0R(C W(G0V(A d�'A�I�G G(K0U(B B(B0\(G T(K0S(A _
FFIV(K0U(A E(B0[(A L,B�A�A �D0|
 CABFc
 AABIG CAB�|�
B�E�E �F(�D0�A8�D���G�Y�B�B�B�v�B���K�U�D�\�M�k�E�Q�G�]�B�B�B�_�E�}�G�\�D���M�T�D�)
8A0A(B BBBHO�L�F�B�H�B�K�A�B�B�[�F�s�K�V�B�B�B�v�B���I�Y�A���J�V�A�P�B�K�A�w�G�Z�B�E�B�^�F�~�M�V�B�  IB�G�B �A(�D0�D@HKPUHA@BHBP^HD@HMPSHA@BHBP\HG@THGPZHB@BHBP[HE@�HLPUHC@e
0A(A BBBKFHGPYHA@BHBP^HD@�HKPUHB@BHBP_HB@�HMPTHB@BHBP\HG@THGPZHA@BHBP[HD@�HKPVHB@BHBP^HA@fHOPRHD@p(!�B�E�E �E(�A0�A8�D`
8F0A(B BBBE"hMpKhJ`NhJpNhJ`NhJpOhJ`H�!�B�L�B �E(�D0�C8�G��
8A0A(B BBBA��!D
B�E�B �B(�A0�A8�G���M�T�B���G�Z�D�O
8A0A(B BBBAt�G�Z�D�z�M�T�G�d�G�\�A�N�P�K�A�c�M�T�A��M�S�C���I�W�A�(�"/B�B�E �B(�D0�D8�D���O�U�D���G�Y�D���K�\�E�w
8A0A(B BBBJB�O�U�F��P�W�B�n�O�U�D���G�Y�D�g�G�a�B���O�V�E���O�U�E���K�Z�H���G�Y�D�T�I�^�D���#SB�B�B �E(�A0�A8�D���I�T�G�l�I�Z�E�h�I�Z�F�c�L�W�A�\
8A0A(B BBBK@�G�Z�D�~�J�Z�B�B�B�\�F�8�B�G�A���K�X�F���M�S�A�B�B�^�D�\�J�Y�B�B�B�^�E���G�Y�D�D�G�Z�E���M�T�B�B�B�^�D�\�J�Y�A�B�B�[�G�5�M�T�A�m�B�F�D���M�S�C�D�G�Y�D�4�O�F�B���%�'B�E�B �B(�A0�A8�G�S�M�T�D�]�K�V�B�B�B�_�A�B�B�^�D���B�F�C�r�E�N�A�B�I�U�P�W�H�R�A�B�B�X�G��
8A0A(B BBBD��B�V�B�]�B�O�C�j�E�F�C�j�E�F�F�t�E�M�A�B�I�S�G�]�M�R�F�T�G�W�A�B�B�Y�G�W�E�N�B�B�I�U�F�T�H�R�F�R�R�G�A�B�M�Q�G�W�B�[�G���B�G�C�m�E�G�C�j�H�F�C�q�R�G�B�E�M�P�G�Y�G�Y�A�E�B�[�F�H�E�N�A�B�I�U�G�R�R�F�A�B
�M�Q�F�W�G�W�C�W�En�K�X�E�K�N�G�D�q�Q�I�I��N�F�B�B�M�Q�F�T�K�R�D�W�G�V�C�r�E�N�B�B�I�X�F�2�P�I�A���M�T�D�R�M�I�G���E�F�A���I�U�A���M�V�C�2�M�F�A���J�N�B�]�M�[�A�A�H�Y�H�H�J�G�D�m�B�J�K���M�T�B�G�M�S�A�B�B�^�D�]�J�Z�B�B�B�\�G�V�K�U�D�\�K�V�B�B�B�_�B�B�B�_�D�m�M�S�H�(�M�S�A�B�B�^�D�\�J�Y�B�B�B�\�J��I�M�B�U�J�M�A�U�J�N�B�f�B�F�B�f�B�G�A�f�B�F�A�V�I�M�B�f�B�F�A�S
�G�L�
�M�\�H�A�B�E�
�K�Es�O�J�D��+!B�B�E �H(�A0�A8�J���H�U�G�8�G�[�D�O
8A0A(B BBBCS�H�U�G���L�T�D���T�F�D��J�S�G�h�L�T�E�F�M�S�D���L�T�D���K�V�D�u�R�J�D���K�U�F���K�V�E�t�R�I�E���J�P�G���G�Y�D���B�G�B�O�R�I�D���B�G�B���J�I�C���B�Q�C���G�Y�D���H�Z�G���J�W�G�h�L�T�A�T�R�I�D���R�J�D���-.B�E�E �B(�D0�A8�G�l
8A0A(B BBBH:�B�G�E���N�R�D���J�\�D�0�B�F�D�d�H�Y�B�B�B�\�F���H�[�F���B�G�E��M�W�G���L�O�N���H�[�D�L�B�G�G���M�T�A�y�K�L�B���G�K�A�T�G�Y�A���N�R�D�d�H�\�G���N�V�E�D/�!B�B�B �E(�D0�A8�G�I�H�^�B�Z�I�X�D�{�E�F�F�a�P�P�A�g�B�G�A�m�I�X�A���B�_�A�G
8A0A(B BBBD��B�O�B�:�O�S�B�p�I�]�E�R�J�W�E�.�K�V�A�
�J�T�A�s�J�V�A���I�X�A�@�K�V�A�m�I�X�G���I�a�a���P�N�A�F�I�a�G���I�X�D�
�E��K�V�D���K�W�D���O�S�A���O�S�B�HL1�B�I�E �E(�A0�A8�G��
8A0A(B BBBG+�N�V�D���B�F�D���H�`�B�U�H�]�E��L�T�A�<�B�_�B���H�\�E���B�G�G�|�G�Y�D�g�G�Z�C�0
�E��K�U�D��H�\�D�s�H�Y�D���P�P�A���2\B�B�E �B(�A0�A8�J���B�F�D���G�Z�B��N�T�A�x�R�I�D���L�T�A��
8A0A(B BBBGP�J�V�E�
�H�Y�E�@�B�U�D�z�L�T�A���B�F�D��
�K�E{�B�G�H���L�T�A���N�R�B�F�B�F�D���H�G�B�_�N�S�B�j�B�F�G���B�F�B�a�M�T�B�q�N�S�A���N�S�B��\4_#B�B�B �J(�D0�A8�G���K�U�F�)�K�U�D���E�\�G���G�\�E�x�M�W�G�o�G�Z�G��
8A0A(B BBBJp�E�F�D�{�M�V�B���B�L�B���G�^�A�2�B�P�A���K�U�E���O�S�B�}�O�R�C���N�S�A�T�E�[�D�t�L�W�F���B�n�A�v�D�o�A�B�B�^�H��B�K�B���B�L�A�A�B�P�A�e�E�F�D��H6�B�B�B �B(�A0�A8�J���H�[�C�s�B�G�D���S�L�B���B�F�I�q�M�T�A�s�M�U�A�D�B�^�A��
8A0A(B BBBA��B�G�J�q�M�T�B�P07->F�N�B �B(�D0�A8�G�
8A0A(B BBBD�
�J�_�B�f�K�U�D���L�T�A��P�T�H�s�B�F�A�B�B�^�D�_�K�U�G���G�Z�I���B�G�E���B�F�D�Z�B�G�D�T�G�Z�G���G�Q�A���G�Z�E�R�M�T�B���L�T�F���K�U�G��G�\�H��K�U�H�\�K�U�A�B�B�^�B�B�B�_�H�A�O�N�D�u�G�Z�E�_�G�Z�N�3�P�F�A���G�Y�D��G�Z�G�T�K�Y�E�/�H�G�B�4�9�F�G�A �G�\
 AABK,�9�E�D�D�X
AAI4�9]F�E�E �D(�D0v(D ABB$:8:4L:F�A�A ��
ABE}AE�:"E�W�: �:�E�s
H9p=]���X�`����
pm"��5��@�xWxjh{����	\�p	B��(�X�`�P��
���~%�DB_B{`��@���� ��P��)� �����P������'� D0!�@�#�T`(�d.2oP1��3���4���6�
�`AC��A��C)��D��� ��E��F�"`H�.@I�9@J?HU�Q�	e@[	w`dX��e,��f���h���k��mr� u��y��.�KE0�X0��o0��@����4�@��������'�]#P��:0��Q�g����F��������0����K	�'"�'70�T@��
m0�I�����0����D
�`�/��S�.�'�V!D�w.Yj��_#�`���@�\����!� ��L	L		!	6	L		]	g	x	�	�	�	�	�	�	�	�		

%
6
H
T
[
`
n
�
�
�+->�
�
�
j��
l��
�m]�
 n�
@nPn%`o"9�o O�o�.annobin_pcre_jit_compile.c.annobin_pcre_jit_compile.c_end.annobin_pcre_jit_compile.c.hot.annobin_pcre_jit_compile.c_end.hot.annobin_pcre_jit_compile.c.unlikely.annobin_pcre_jit_compile.c_end.unlikelysljit_free_compileris_accelerated_repeatdetect_fast_failget_class_iterator_sizedo_utf_caselesscmpdo_calloutjit_machine_stack_execsljit_stack_resizesljit_page_aligngenerate_far_jump_codeCSWTCH.660do_search_marksljit_free_execallocator_mutexallocated_sizefree_blockstotal_sizenext_opcode.isra.10set_then_offsetsget_framesizechar_get_othercase_bit.isra.15ensure_buf.isra.16.part.17ensure_abuf.isra.21.part.22emit_load_imm64reg_mapemit_x86_instructionreg_lmapemit_mov_byteemit_mov_halfemit_do_imm32sljit_emit_op_customcall_with_argssljit_emit_fast_returnemit_mov.part.18emit_movemit_cmp_binaryemit_non_cum_binaryemit_cum_binaryemit_shiftemit_shift_with_flagsemit_mov_intemit_lea_binarysljit_emit_op2sljit_alloc_memorysljit_emit_ijumpsljit_emit_jumpsljit_emit_cmpCSWTCH.682sljit_emit_labelcheck_newlinecharflush_stubsemit_unarysljit_emit_op1cpu_has_cmovread_char_rangecopy_private_datacheck_partialpeek_chardetect_partial_matchread_char8_typecheck_str_endcompile_ref_matchingpathcompile_assert_backtrackingpathcheck_class_ranges.isra.29fast_forward_start_bitsadd_label_addr.isra.31init_frame.isra.33skip_char_back.isra.35read_char7_type.isra.36set_private_data_ptrssljit_generate_codesljit_get_local_base.constprop.61compile_dnref_searchsljit_emit_fast_enter.constprop.63do_utfreadtype8.isra.43do_utfreadchar.isra.41do_caselesscmp.isra.40do_casefulcmp.isra.39do_revertframes.isra.38sljit_emit_op_flags.constprop.64do_utfreadchar16.isra.42compile_simple_assertion_matchingpathfast_forward_newlinecheck_hspace.isra.26check_anynewline.isra.25check_vspace.isra.27sljit_emit_cmov.constprop.55fast_forward_first_char2check_wordboundarybyte_sequence_comparescan_prefixfast_forward_first_n_charscompile_ref_iterator_matchingpath.isra.47compile_char1_matchingpathcompile_xclass_matchingpathcompile_iterator_matchingpath.isra.46compile_matchingpaththen_trap_opcodecompile_bracket_matchingpathcompile_backtrackingpathcompile_assert_matchingpathcompile_bracket_backtrackingpathcompile_recursecompiler_initializedsse2_data.LC0.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_free_pcre_ucd_stage1_pcre_ucd_records_pcre_ucd_caseless_sets_pcre_ucd_stage2pcre_callout_GLOBAL_OFFSET_TABLE___stack_chk_failmadvisestrcmppthread_mutex_lockpthread_mutex_unlockmunmap_pcre_OP_lengths_pcre_utf8_table4pcre_mallocmemcmpmmap_pcre_ord2utf_pcre_ucp_gbtable_pcre_ucp_typerange_pcre_jit_compile_pcre_default_tablesmemset_pcre_jit_exec_pcre_jit_free_pcre_jit_get_size_pcre_jit_get_targetpcre_jit_stack_allocsysconfpcre_jit_stack_freepcre_assign_jit_stackpcre_jit_free_unused_memory���������=���������T���������m�����������������
������������������ �����������������������������(dY�����������?	���������w	||	����������	T�	\�	\�	|I
TT
Lr
L�
����������
\�
\�
<�
���������&���������G���������^��������������������������������������������������$����������<{�<�<��<K�c<j<��S Z <�6(8T�E�RL�oL��L���������L�L�V�<�������3Y�<�������cY�<��������Z�<�������\�`����������`����������c����������c���������9d����������������������<�������Ӄ���������΋�<�������ތ`|��������������������s����������	����������?�|D����������T�\�����������ܔL�T
�T9�\q�||�T�������������_��ޘT�|������������\�|�����������<�g���<����������)�0�</�<I������������@�d����(����������u������������������������������������������������������8�0
}����������$���������������������,����������F����������T�������������������������������������������
����������!����������P�����������L�lO���������@�������������������������������<��������#����������#����������#���������"%���������6%���������I%����������&�<��������'����������'����������'���������(���������&(���������3(���������{)����������)����������)����������+����������+����������+����������-����������/A0���������H0����������1P�3����������8���������9���������@����������J����������N����������N����������Q����������Q���������uV����������W�eX����������Y��b�Aw���������Tw���������aw���������vw���������4x�x�������������������W�����������������������������,����������9��������������������������������e�����H��t���:������������������������������������������y �� ����������+���������?,���������z.����������.����������.p0���������F0����������0����������0���������1���������"1H]1m1D�1�1IM2j3����������6����������6���������`A;gA�A<�D����������D����������D����������D���������
E���������E���������)E���������<E���������JE����������U����������V����������V���������W���������(W���������^]<j]<q]�]�b�<�������_c���������sd����������d����������d����������d����������d����������d���������Ne���������Dh����������i����������k����������m����������m���������n���������Gnv���������nc�n����������nd�n���������o���������-odEo���������to���������~o����������o|�o����������o\�oLp���������#p|3p\�	���������)p��������� 9p 	 	�������� �$�(�,04�8�<�@�DH L$P(T,X�\�`8d<h�l�p�t�xP|T�X�\�`���l�p�� �$�(�����������@�D������������������������������������ �$�(,04�8�<�@�D�
H�
L�
PTX\`dhlp t$x@|,�0�4�8�<�@�D�H�L�P�T�X�\�`���������������������������������������������� $(,048<@ D$H(L,P0T4X8\<`@dDhHlLpPtTxX|\�`�d�h�l�p���������������������������x�|������������������������0
������� �$�(�,�0�4�8�<�@�D�H�L�P
T
X
\
`
d
h
l
p 
t$
x(
|,
�0
�4
�8
�<
�@
�4
�H
�<
�P
�D
�X
�L
�`
�d
�h
�l
�p
�t
�`
�
�
�"
�&
�*
�.
�2
�6
�:
�>
�B
�F
�J
N
R
V
Z
^
b
f
j
 n
$r
(v
,z
0~
4�
8�
<�
@�
D�
H�
L�
P�
T�
X�
\�
`�
d�
h�
l�
p�
t�
x�
|�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��������"�&�$�(�,�0�4�8�<�@�JNRVZX\`d h$l(p,t0~4�8�<�@�D�H�L�P�T�X�\�`�d�h�l�p�t�x�|���������������������������������������� �$�(�����4�8�<�@�DHLPT�\�d h$�(,H:094�;8�8<7@,8D�9Hl9L0:P�9T�:X@:\9`@;d�8h7l;p�9tl9x(:|�9��:��O��O��O�LO��O�_K��O��O��O�PO��O�bK�x_��_��_��_��_��_��`��`�Pc�Tc�Xc�\c�`c��_�`��_�`�`�`�`�`�c�c�c�c�c�_ 4`$�_(<`,@`0D`4�`8�`<�c@�cD�cH�cL�cP`Th`X`\p``t`dx`h$al(ap�ct�cx�c|�c��c��a�a��a�a�a�a��c��c� d�$d�(d�,d�0d�4d�8d�<d�@d�Dd�Hd�Ld�Pd�Td�Xd�\d�`d�,c�0c�4c�pd�td�xd|d�d�d�d�c�d�d�d �d$�b(�b,�b0�b4�b8�b<�d@�bD�bHcL`cP�bT�bX�b\(c`�bd��h��lȑp��t��x��|�����������������������ؑ����������̑�Б�ԏ�؏�܏�����(����0���������������������	\�	@�	d�	H�	L�	P�	4�	8� 	<�$	@�(	D�,	H�0	L�4	 �8	�<	(�@	�D	�H	�L	؍P	�T	p�X	t�\	x�`	|�d	��h	��l	��p	��t	��x	��|	���	���	���	���	���	���	���	D��	H��	$��	���	Đ�	Ȑ�	̐�	А�	Ԑ�	ؐ�	���	��	��	��	��	��	��	��	��	��	��	h��	���	P��	ܑ�	��
�
�
d�
�
�
0�
4�
8� 
<�$
@�(
t�,
x�0
|�4
��8
N�<
R�@
V�D
Z�H
^�L
�P
M�T

�X
��\
�`
��d
�h
!�l
��p
��t
��x
�|
��
��
��
��
��
���
���
���
���
���
���
���
���
e��
i��
G��
K��
g��
k��
���
���
_��
c��
���
k��
���
���
w��
{��
��
���
���
a�e�����|����}��� ��$��(��,��0��4��8��<��@��D��H��L��P��T��X��\��`��d��h��l��p��t��x�|������������#��'��+��/��3��P��;��?��C��G��K��O��S��W��[��_��c��g��k��o��s��w�������������������������������� ��$��(��,��0��4��8�<"�@&�D*�H.�L2�P �T$�X�\�`HdLhpltptx�|��@�D�H���������������8�<�(�������	�
���������!�%�)�-�1�5�9�=�A
E
I
M
Q
U
Y
]
a 
e$
i(
m,
q0
u4
y8
}<
�@
�D
�H
�L
�P
�T
�X
�\
�`
�d
�h
�l
�p
�t
�x
�|
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
�
�
	�

�
�
�
�
�
!�
%�
)�
-�
1�
5�
9�
=�
AEIMQ�(2 2$2(2,20$24�/8�/<�/@T2D�UH�/L0P0T:XL9\�8`T8d�7h�6lApAt�6x4@|X=��>��;�t:��Y��Y��`��`��Y��Y��Y��`�@X��`��Y�_�l]��\��\�]�]�_�4\��\�[��\�LZ��]��Y��Y�)a�-a��Y�Y�Y=a�eEa�Yy� �$L�( �,$�0xx4|x8�x<�x@�xD�xH�xL�xP�xT�xX�x\�x`�xd�xh�xl�xp�xtl�xp�|t��x��|�����������x��x��y��y��y��y��y��y��y��y��y��y��y��y��y��y��y��y��y�z�z�z�z�z�z�z�z z$z(z,z0z4z8z<z @z$Dz(Hz,Lz0Pz4Tz8Xz<\z@`zDdzHhzLlzPpzTtzXxz\|z`�zd�zh�zl�zp�zt�zx�z|�z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z��z�z�z� ������t��x��������z��z��z�z�z�Ԍ،܌�\{ `{$d{(P�,l{0X�4t{8x{<d�@�{Dl�H�{L<{P@{TD{XH{\L{`p�d�~h��l4}p�|t�|x�||�|��|��|��|�,|�0|�4|�|��{�`��������������������������������������������������������������������������������H�L� P�$T�(X�,\�0`�4d�8h�<l�@p�Dt�Hx�L|�P��T��X��\��`��d��h��l��p��t��x��|������������������������������������������������������������������������������� ��$��(��,�0�4�8�<�@�D�H�� �$�(�,�0 �4$�8(�<,�@0�D4�H8�L|�P��T��X��\��`��d��h(�l��p`�td�xh�|l��p��t��������������x��|�����4�����<��������H�����P��������������������L����t��X��������������������x�|�����L� ��$��(��,��0��4��8A�<��@I�D��H��L��P��T��X��\��`��dA�h��lI�p��t��x��|���1��5��y�����������������������������A�����I���������%��%�&��%��%��%��&��&��&��&��&��&��&�,&��%4&�%�%�%�&�&'' '$ '($',`&0&4h&8$&<(&@,&D�&H�&LH'PL'TP'XT'\X'`�&dP&h�&lX&p\&t`&x$'|('�|'��'��'��'��'��&�$'�'�,'�0'�4'�x&�|&��'��'��'��'��'��'��'��'��'��'��'��'��'��'��'��'��'��&��&�&((((((( |&$ (($(,((0,(4�&8�&<�&@�&D�&H�&LH(P�&Tx&Xl&\h"`�&d�&h�&l�&p�&t04x�4|�4��4��4��4��4��4��4��4��4��4��4��4��4��4�5�5�5�5�5�5�5�5� 5�$5�(5�,5�05�45�85�<5�@5�D5�H5L5P5T5X5\5`5d5h5 l5$p5(t5,x50|54�58�5<�5@�5D�5H�5L�5P�5T�5X�5\�5`�5d�5h�5l�5p�5t�5x�5|�5��5��5��5��5��5��5��5��5��5��5��5��5��5�6�6�6�6�6�6�6�6� 6�$6�(6�,6�06�46�86�<6�@6�D6�H6L6P6T6X6\6`6d6h6 l6$p6(t6,�00�04h58l5<@5@�4D�6H�6L�6P�6T�6X�6\�6`�6d�4h�6l�6p�6t�6x�6|�6�6�`5��6��6��6�06�t5�(1��5��6��6��6��6�7�7��4�7��4��6��6��6��4 H`\��p��$�D�l���	�p	�
$�d���`<����� ��P@�x�� ,!��#�`(H.�P1�3	�4d	�6�
`A�
�A4�Cp�D��E��FH`H�@I�@Jx
�Q�@[ `dp�e��f$�h��k�m� uPy����0�40��0��@�,�x@�����`��P��0�L��� ��������0�$����00��@� 0�,!���!0��!��"`�$��%�.�+�V�-�wH/��P1`��2@�`4��L6 47�+�9j�9l�9�m(: n<:@nP:Pn�:`o�:�o�:�o.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.rodata.str1.8.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@wPx`yhz'p9p"@���-�p3�p� =�pT8@��0	Srbr(]@��0|<r�<r(�@�0��rQ �@ ���2؋&�0��-|+�S+��0�P�������:�@0�`	P��	X�k��/244            1573057005  1667  135   100644  5240      `
ELF>x
@@
��AV�@AUATUS�I��H��tq�I��1��I�U��A�H��H=u��1�H���&D�H���A��H��H��t#H�E�DXu�I�E����f�[L��]A\A]A^�I��$1�I��$IDŽ$H��H��A�IDŽ$8H)���@���H�1�H�U�H�UB��� t�‰�D�����Hc���H�UB���t!�‰�D������� ��Hc�H�UB�f��y$�‰�D���������Hc�H�UB���@t$�‰�D����������Hc�H�UB���t$�‰�D���������Hc�H�UB���t�ƒ�����D�ȁ� ��Hc�H�UH��H�����z��L�?��t ����D�������@��Hc�H�U�z��t!�‰�D�������`��Hc�H�UB���t!�‰�D���������Hc�H�UB���t�‰�D������ ��Hc�H��_�Y���A��$���K���E1�L�-�>�A��_tcL������H��E�C��4@I��I�������H�UB�rD����f��
�ڃ����ZD���SE���SEڨt����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864\*+?{^.$|()[GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�<&F�G�B �A(�A0��
(D BBBA&;Z}�����		&*6L`n�.annobin_pcre_maketables.c.annobin_pcre_maketables.c_end.annobin_pcre_maketables.c.hot.annobin_pcre_maketables.c_end.hot.annobin_pcre_maketables.c.unlikely.annobin_pcre_maketables.c_end.unlikely.LC0.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_maketablespcre_malloc_GLOBAL_OFFSET_TABLE___ctype_tolower_loc__ctype_b_loc__ctype_toupper_locstrchr �������� "��������H#��������Y$���������
���������%�������� &   .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.str1.1.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p&"@@�-�3�=�T8@�0	S�b�(]@0|�(�@00�2<
�0I-|vSv�xP����X�@` �	�	�x�/274            1573057005  1667  135   100644  5176      `
ELF>�
@@

��UD�SE��t	A���wh����A��
�v3A�������A��( A��w��[]�D1�A��
r�[]��f.�D���GA�� ��D�WA����A��A��?��E��%�E	�A	��Y����A��
t�A��
t$1�[]��1�E��[]�������H��H9����
�E�[]�1�DA����?A��A	����f�H���H9�s1��
�����[�]�@�_A��t^��D�_��A��A��?��A��%�A��E	�A�����A	���E	�A	��l���@��O���fDA����?��A��%�A��A	�A��A	�E	��)�����oA����A��@%?A����?A�����A	���A��A	�A��E	�A	�E	�������UH�G�SD�O�E��t9D��A��A���u�H���8A��A��A���t�D��A�������tnA��
v0A�����riA��( A��w\�[]��fDA����A��
u8�H9�v
1��x�
@�ƃ��[]�1��A��
��A��
tP1�[]�D�X@�� teD�P@����A��A��?A��E��E	�E��A��E	��6���f��[]��f�1�E��[]�������A��A��?A��E	�����H9�v{�x�
�E��9���f.��h@��t`���X��A����?A��A��A����D	�E��A�����A���A	�E	�A	��u���������A��D�σ�?A����E��A����A���	�A	�E	��.���A��D��D�HA����A�����A��?��@�����D	�E�ف�A��?A	�E	�A	�A	�����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�P=E�E�O
AFN
AQO
AHF
AQ_
AHu
FEHpsE�E�p
AMm
AJS
ADN
AIF
AQ�
5
Q

q
�
����=@s.annobin_pcre_newline.c.annobin_pcre_newline.c_end.annobin_pcre_newline.c.hot.annobin_pcre_newline.c_end.hot.annobin_pcre_newline.c.unlikely.annobin_pcre_newline.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_is_newline_pcre_was_newline �   t@.symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@
P`h
"p�(#.#8$T3@0Nx]x(X@@0w���(�@p0�0�-w�N���P�H�H��@�0�	�
&��/301            1573057005  1667  135   100644  4280      `
ELF>�	@@
�������9=}~D�@��L�
I���
H�JA9<�}
H�ʉ�I9�u�D�B�Lc�L�I��I�H��f���H������?�ɀ�JI9�u�ƒ���Hc�H�H�B
<�@�>�DE1�H��B
<�@�>�
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx���7Tu�����		�.@.annobin_pcre_ord2utf8.c.annobin_pcre_ord2utf8.c_end.annobin_pcre_ord2utf8.c.hot.annobin_pcre_ord2utf8.c_end.hot.annobin_pcre_ord2utf8.c.unlikely.annobin_pcre_ord2utf8.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_ord2utf_pcre_utf8_table1_size_pcre_utf8_table1_pcre_utf8_table2����������������&��������� ��������� �������� �   .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@
P`h
'p�"@�x-3= T8@`0	Stbt(]@�0|���(�@�0�0�-|�S���P�H�H0�@�x	�R	�/329            1573057005  1667  135   100644  3880      `
ELF>�@@

��H��t]�?ERCPu?�GtI���G(��9�~
1�1�f�W(�@�=��O‰���f�W(��������f.����ø�����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�ll
7
T

u
�
����	l.annobin_pcre_refcount.c.annobin_pcre_refcount.c_end.annobin_pcre_refcount.c.hot.annobin_pcre_refcount.c_end.hot.annobin_pcre_refcount.c.unlikely.annobin_pcre_refcount.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_refcount l   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@
P`h
"pl(�.�8�T3@0N0]0(X@H0wX�X(�@x0�0�-w�N���P��0�@�0�	��/357            1573057005  1667  135   100644  3528      `
ELF>�@@


GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�
?
`

�
�
���.annobin_pcre_string_utils.c.annobin_pcre_string_utils.c_end.annobin_pcre_string_utils.c.hot.annobin_pcre_string_utils.c_end.hot.annobin_pcre_string_utils.c.unlikely.annobin_pcre_string_utils.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.comment.note.gnu.property.note.GNU-stack@
P`h
"p(p.p8pT3@`0N�]�(X@�0w���(�@�0�0-wANA�HP����	8!��/389            1573057005  1667  135   100644  22136     `
ELF>�N@@
AWAVAUATUSH��xH�T$H�|$dH�%(H�D$h1���%�D$�����D$,A��PA�=��o�A��M��M�ʍPv��v��{H�^<wH�^H�|$P�E1�H�-�D$L�5�D$(����H�|$8fD��<�wA��HcT�H�>���Cf����H����wt�Hc�A�H����<�v�D�����H�|$hdH3<%(�&H��x[]A\A]A^A_���C��H�S<HB�A�H���g�����T$��up�CA��H���G����H�T$H�|$M��M��D��H��L�T$ �x������e���L�T$ A�H��D�Bf����H€:wt�H�Z�B���������+���fDH��H�XA���@����@�|$(��xD�D$E���RD9��I<w��CD�|$(H��E1��D$�|���@�SA��H�H���`�����sf����Ht$H��D�Bf����H€:wt�H9���H9����D$�CH������fDD��%�D$ �&�D$ ��H����H���v4D|$ �����D��%�D$ �E�D$ H����H���w̺H���3u'���D|$ ���r���f.��CH���[���<p��H���H������H���3u����
A��������롐�Cf����A��C��<H���H�\�����fD�CA����<H���H�\�����C�+�����C�L$H�Sf����ADž����C<�����?H�=�H���e���DA�HËD$������C�<�������?H�=�H���'�����t$A��H�S��t�C<�w��CH�����@H�C�����A�H���Bf����H€:wt�H�Z�B����Cf����H؀8w�a���H�X�@���@�CH�����@A���w����CH��f�����D$ A���X���D�|$(���fD�Cf����H����DM��t%I;t$����L���
H9p��H�H��u�L�D$8H�T$M��D��H�|$L�T$ L�d$PH�t$X�5���L�T$ A�����H�|$�C�S�w$f����f�����w"��H�H��y��|$0f���L�T$@����D�|$LI��D�l$HM��A��A��t$,H�|$f�����H����H��f��Qf����Hр9wt�H9�v	H9���M��t I;E��L���	H9BtzH�H��u�L�L$@L�D$8H��L�l$P�L$HH�T$H�D$XH�|$�0���A9�DO�H�D$�l$0�@$INjD$0����D���D��D�|$LM��L�T$@D�l$H�D$ ���DM��D�|$LD�l$H�D$L�T$@����S�t$,L�T$0H�|$f�����H����L�T$0H��f.��Qf����Hр9wt�H9�v,H9�s'�D$�`����CH��f����A����M��tI;D$t�L���	H9Bt�H�H��u�L�D$8H�T$M��D��H�|$H��L�T$0L�d$PH�D$X���L�T$0�D$ ������������D�������D$ �������f�f.��B�Hc�L�LH)�H���L�I�E�0A��DH��I9�u�H�GH�� �� t
���H��H9�u��ATI��A�UH�nSH��H��D�dH�%(H�D$1�D��D��L�����A��DA��vXA��tR�>�����v�N� ������?H�n��	υ�uSH�\$dH3%(H����H��[]A\���t�I��8t�I�$�8�Ⱥ���������@��H�H�t$��H���������H�H��BH�|���L$�D�F�t?D�N�u^��A��?��H�n�����A��D	�A��	�D	�����@��A��?H�n��A	������D	����@D�V�uG��A��?��H�n�����A��D	�A���A��	�A��D	�D	������F����H�n��@��?A����?A���A��	�A��	�D���A	ȁ��D	�D	��P����f�AUHc�I��ATI��UL)�SH��dH�%(H�D$1��B�H�|L���I�MH��1H��H9�u껀H�l$�� u�S�����tG��I�U����؃���sމ�H�����L$��ȃ�������A��u�H�D$dH3%(uH��[]A\A]��@f.�AWI��AVL�5AUI��ATUH��S��H��8dH�%(H�D$(1����D$�E�A��A���Pv��v��{M�E<wM�EA�8�w:A�Ic�L�>��@A�@f����I�A�8wt�I��A�8�v�f���fDI���f.�I��I�pH�MA��1�L�EL������A�Ef����I�A�E<w�M����D$�5I��A�@��<�H�=��Hc�H�>��I��I�pH�MA�ٺL�EL������fD����I�pI�x!H��tk1�����f��AH��H��uf������ƒ���s���%�����?����AW��=u���H���������H��3��������f�����L�G�G�����AH��H�� u��@1�H�\$(dH3%(��H��8[]A\A]A^A_����f��D$�c���H�MD��@L�������G����I�p@�Ff����Hƀ>wt�L�F���@I������A�@��S����ƒ����E�������A�xI�pf����LǨ�R�����H�����������fDH�MI�pL�EA�ٺL�����I������@I��H���L��L��L�D$������������L�D$�����f�A�@f����I�A�8wt�I�����f�H���L��L��L�D$�;������m������d�����L�D$�����@A�@f����I�A�8wt����fDH�MD�⾠L���������H�MD��1�L��������f�H�MD��1�L���O������f.�H�MD��@L������g����H�MI�p���H�MI�pL�EA��1�L���G���I������H�MI�p��fDA�OA�O���A�OA�O����A�O<����A�OA�O����@A�x	����A�PH�H��H�D$"H�D$H���J�����������u!���v4H��A�O��J�����w�����t�H�t$��H�T$��L$"H�T$�ȿ������A<�H�MD�⾠L���l����'����L�G����A�O ����fDA�O���fD�����A�O�A�G����fA�GA�G�A�8p�J���A�@����H�MD��@L��L�D$���L�D$f�I������H�MD��1�L��L�D$�A���L�D$��H�MD��1�L��L�D$���L�D$�H�MD�⾠L��L�D$����L�D$�H�MD��@L��L�D$���L�D$�z���A�OA�O��tTA�OA�O�]���H�MD�⾠L��L�D$�$���L�D$�:���A�O<��tA�OA�O�"���A�O ����A�O�����f���H��t'SH���@tH�8H��t�H��[�%fD�Df.���AVI��AUATUSH��dH�%(H��$1��D$H�H���/�?ERCPH��� �G��A��A��A�����G$�o&���G"Hc�H�H�H�H�GuH�G0H�D$H���f�H�D$ H��E1�H��H��$�)�$�H�T$(H��H�L$ H@H�T$0�SH�D$8��)�$���������A�Ń���KH��H��L�L$E1�H�����Ń��t_���ujH�I�1�fDH��$dH3<%(�	H��[]A\A]A^ÐH�I�1���f�H�H�1��f�H�I�1��f���dA��u^E���2�l�H���H�P@H�H�PH�@@,f�@H@X�p@H�H�1��G�����l�H����H�P@H�H�P�@@,E���!fo�$��@Dfo�$�HHPX�����HD�hhH�@8A����A����A��us�PD��������@�����A�������H���1����fDH�L$�1��H�D$����H�I�1��\���@�@h�o���@H�ƺH��H�D$�H�D$�n����H�ƺH��H�D$�H�D$�H����H��1�H��H�D$�H�D$�!����@D�v����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864argument is not a compiled regular expressionargument not compiled in 8 bit modeunknown or incorrect option bit(s) setinternal error: opcode not recognizedinternal error: missing capturing bracketfailed to get memoryGCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�H4B�B�B �B(�A0�A8�D��
8A0A(B BBBIhM0|.B�J�E �G0�
 AABD8��B�H�D �D(�D@�
(A ABBAH�7B�E�I �E(�A0�D8�Fp2
8A0A(B BBBD81J�Z�DTmF�E�B �A(�A0�G�P
0A(A BBBB�1Ki��4�@M��.��
���7�X�0$)9Nd	u�������,�1<KU m`lz.annobin_pcre_study.c.annobin_pcre_study.c_end.annobin_pcre_study.c.hot.annobin_pcre_study.c_end.hot.annobin_pcre_study.c.unlikely.annobin_pcre_study.c_end.unlikelyfind_minlengthset_nottype_bits.isra.0set_table_bit.isra.2set_type_bits.isra.4set_start_bits.LC4.LC0.LC2.LC3.LC1.LC5.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_OP_lengths_pcre_utf8_table4_GLOBAL_OFFSET_TABLE__pcre_find_bracket__stack_chk_fail_pcre_ucd_stage1_pcre_ucd_stage2_pcre_ucd_records_pcre_ord2utf_pcre_ucd_caseless_setspcre_free_study_pcre_jit_freepcre_freepcre_studypcre_mallocpcre_fullinfo_pcre_jit_compile����������+��������[+j0,��������n,��������N.��������Q.��������0/��������e	0���������	1���������	2���������	3���������
/��������K3���������/������������4��������3���������/���������6��������7��������Y������������������������������������9����������������/9���������5���������:�����������������1;��������Q;��������n;���������/�������� �  ���=���� �$�(�,�048�<�@�D�HLP T$X(\2`6d:h>lBpFt�x|��������������������4�������H�L�������$�h�,�0�4�8�|���DHLPX�`d h$l(�,�0x4|8�<�@@D�H�L�P�TDXH\,`0dThXl�p�txh|L�p���x�|����������������������������t�x�$���������������������lptx|� �$�(�,�0 4
8<@DHLPT�X�\�`�d�h�l�p�t�x8|<���D��
��
��
��
�`�d�8�������l��������� ���(���0�4�8�<�@�D�H��L
TX����� �$�(�,
04
8<�@�D�H�
L�
P�T�X�\�`�
d�h�
lp�t�x�|���������������������������������� �$�(����
��
������
$�
,,�
�
�
�
 �
$�
(�
,�
0�
4�
8�
<�
@�D�H8L�P�T�X�\�`@d�h�l�p�t�x�|D����T�X�\�`�d�h���p�t�x�|�������@�D�H�,�0�4�8�<�@�D�H�LPTX�C�� 3$�(�
,�
0�
4�
8<�@D�HL� l@����
��<�X .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.rodata.str1.8.rodata.str1.1.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`h'p�"@()`-�3�=T8@�,0	STbT(]@�,0||�|(�@�,0��P�@-��2���2��0�-|S�P�``�@�L�� �+	�&��M/414            1573057005  1667  135   100644  7248      `
ELF>@@


GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864�M=%N+f5\;CL]S[djl�B�g���_�C����	�
��>���
��hOi )2=DjLR[dhow~�P��Q�R�S�T���D�
kl  $!*E1"7m@#IUNQTWZ	]FdGkmnv$�^�o�
��V�p�`�a�b��q�%�r�&��s	
'?"((H1)<tNuY*eWwX�+�,��v�w�y�����@�A����x�I�-��YJc.%z-/58;>dKKU0b1i2q3z4�Z�[�e�5�6�7�8�9�:�{�;�L�|����
��<��AnyArabicArmenianAvestanBalineseBamumBassa_VahBatakBengaliBopomofoBrahmiBrailleBugineseBuhidCCanadian_AboriginalCarianCaucasian_AlbanianCcCfChakmaChamCherokeeCnCoCommonCopticCsCuneiformCypriotCyrillicDeseretDevanagariDuployanEgyptian_HieroglyphsElbasanEthiopicGeorgianGlagoliticGothicGranthaGreekGujaratiGurmukhiHanHangulHanunooHebrewHiraganaImperial_AramaicInheritedInscriptional_PahlaviInscriptional_ParthianJavaneseKaithiKannadaKatakanaKayah_LiKharoshthiKhmerKhojkiKhudawadiLL&LaoLatinLepchaLimbuLinear_ALinear_BLisuLlLmLoLtLuLycianLydianMMahajaniMalayalamMandaicManichaeanMcMeMeetei_MayekMende_KikakuiMeroitic_CursiveMeroitic_HieroglyphsMiaoMnModiMongolianMroMyanmarNNabataeanNdNew_Tai_LueNkoNlNoOghamOl_ChikiOld_ItalicOld_North_ArabianOld_PermicOld_PersianOld_South_ArabianOld_TurkicOriyaOsmanyaPPahawh_HmongPalmyrenePau_Cin_HauPcPdPePfPhags_PaPhoenicianPiPoPsPsalter_PahlaviRejangRunicSSamaritanSaurashtraScSharadaShavianSiddhamSinhalaSkSmSoSora_SompengSundaneseSyloti_NagriSyriacTagalogTagbanwaTai_LeTai_ThamTai_VietTakriTamilTeluguThaanaThaiTibetanTifinaghTirhutaUgariticVaiWarang_CitiXanXpsXspXucXwdYiZZlZpZs	

(�(��(�((�����������������

�( ) ����	 ��         	 
 / _ 0����!!GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�
3
N

m
�
����� � &@	8:�	4L�	x^@
@p�
��
��
��
��
 �P�`�.annobin_pcre_tables.c.annobin_pcre_tables.c_end.annobin_pcre_tables.c.hot.annobin_pcre_tables.c_end.hot.annobin_pcre_tables.c.unlikely.annobin_pcre_tables.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_utt_size_pcre_utt_pcre_utt_names_pcre_ucp_typerange_pcre_ucp_gbtable_pcre_ucp_gentype_pcre_utf8_table4_pcre_utf8_table3_pcre_utf8_table2_pcre_utf8_table1_size_pcre_utf8_table1_pcre_vspace_list_pcre_hspace_list_pcre_OP_lengths   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.comment.note.gnu.property.note.GNU-stack@
P`h
"p(p.p8pT3@�0N�]�(X@�0w���(�@0�  �0"-wONO�PP���	��0�/440            1573057005  1667  135   100644  76640     `
ELF> %@@


GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864	










 !!!"#$%&''!()*'+,-./!-01233!!3445!!6789:;<=>?@!ABCDEF!!!!!!!GHIJJKLMNOPQR!SS!T!UV!!!SW!X!YZ![\!]^!!\!_`!!a!!!!!!!b!!c!!c!!!dceffg!!!!!h!!!!!!!!!!i!!!!!!!!!!!!!!!!!jjjjjjjjjkkkkkkkkkkkkkkkkkkkkkjjjjjllkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmopopkqoprrsttturrrrqvwwwrxryyz{|{{}{{~�{�{{{��r�{{�{{�{{����z���������������������������������������opopopopop���������������������op�opz����������������������������������������������������������������������������������������������������������������������������������������mm�������������������������������������������������������������������������������������������������������������������������������������������������������������������������r��������������������������������������rr�������r���������������������������������������r�rr���r�������������������������������������������������������rrrrrrrr���������������������������rrrrr�����rrrrrrrrrrr�������������������������r���������������������������������k����������mmmmmmmmmmm����������









������m������������������������������������������������������������������������������������������������������������������������������������������������������������r������������������������������������������������������������rr�����������������������������������������������������������������������������������������������������rrrrrrrrrrrrrr�����������������������������������������������������������rrrrr����������������������������������������������rr���������������r����������������������������rr�rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�������������������������������������������������������������������������������������������������������������mm�����������������������������������������������r��������rr��rr����������������������r�������r�rrr����rr���������rr��rr����rrrrrrrr�rrrr��r�����rr����������������������rrrrr���r������rrrr��rr����������������������r�������r��r��r��rr�r�����rrrr��rr���rrr�rrrrrrr����r�rrrrrrr����������������rrrrrrrrrrr���r���������r���r����������������������r�������r��r�����rr����������r���r���rr�rrrrrrrrrrrrrrr����rr������������rrrrrrrrrrrrrrr���r��������rr��rr����������������������r�������r��r�����rr���������rr��rr���rrrrrrrr��rrrr��r�����rr������������������rrrrrrrrrr��r������rrr���r����rrr��r�r��rrr��rrr���rrr������������rrrr�����rrr���r����rr�rrrrrr�rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrr


r
r

rrrrrrr

rrrrrrrr

rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr !!!!!!!!!!  rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr""r"rr""r"rr"rrrrrr""""r"""""""r"""r"r"rr""r""""#"$######r##"rr"""""r%r######rr&&&&&&&&&&rr""""rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr'((()))))))))))))))()(((**((((((++++++++++,,,,,,,,,,(*(*(*-.-.//''''''''r''''''''''''''''''''''''''''''''''''rrrr**************/*****)**'''''***********r************************************r((((((((*((((((r(()))))))rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr000000000000000000000000000000000000000000011222232222221223322044444444445555550000003322000022201110011111110002222000000000000021322111111201444444444411126677777777777777777777777777777777777777r7rrrrr7rr88888888888888888888888888888888888888888889888::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=========================================================================r====rr=======r=r====rr=========================================r====rr=================================r====rr=======r=r====rr===============r=========================================================r====rr===================================================================rr>>>?????????@@@@@@@@@@@@@@@@@@@@rrr================AAAAAAAAAArrrrrrBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBrrrrrrrrrrrCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDFGGGGGGGGGGGGGGGGGGGGGGGGGGHIrrrJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKJJJJJJJJrrrrrrrLLLLLLLLLLLLLrLLLLMMMrrrrrrrrrrrNNNNNNNNNNNNNNNNNNOOOrrrrrrrrrPPPPPPPPPPPPPPPPPPQQrrrrrrrrrrrrRRRRRRRRRRRRRrRRRrSSrrrrrrrrrrrrTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUVUUUUUUUVVVVVVVVUVVUUUUUUUUUUUWWWXWWWYTUrrZZZZZZZZZZrrrrrr[[[[[[[[[[rrrrrr\\\]\\\\^^^_r``````````rrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^arrrrrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDrrrrrrrrrrcccccccccccccccccccccccccccccccrdddeeeeddeeerrrreedeeeeeedddrrrrfrrrgghhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiirriiiiirrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrrrkkkkklllkklkkkkkkjjjjjjjkkrrrrrrmmmmmmmmmmnrrrooppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqrrssrrrttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvwvwwwwwwwrwxwxxwwwwwwwwvvvvvvwwwwwwwwwwrrwyyyyyyyyyyrrrrrryyyyyyyyyyrrrrrrzzzzzzz{zzzzzzrrmmmmmmmmmmmmmm|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr}}}}~}~}}}}}~}~~~~~}~~rrrr���������������������������}}}}}}}}}���������rrr��������������������������������������������������������������������������������������������������������������������rrrrrrrr������������������������������������������������������������rrr���������������rrr���������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��������rrrrrrrrmmmmmmmmmmmmmmmm�mmmmmmm����m������m��rmmrrrrrr!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!zzzzz�jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjsssssjjjjsssss!!!!!!!!!!!!!��!!!�!!!!!!!!!!!!!!!!!!!!!!!!!!!!!jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjsmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrrrrrrmmmm��!!!!!�!!�!����������������������rr������rr��������������������������������������rr������rrz�z�z�z�r�r�r�r�������������������������������rr��������������������������������������������������z�zrzz�����q�qqqz�zrzz�����qqq��zzrrzz����rqqq��zzz�zz�����qqqrrz�zrzz�����qqr��						���jrrjrjjjjjjjjjjjjjrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmm||||m|||mmmmmmmmmmmmrrrrrrrrrrrrrrr�������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������r�����������������������������������������������r���������!!!!!!!jj����������������������������������������������������������������������������������������������������������������������rrrrr���������������������������������������������r�rrrrr�rr��������������������������������������������������������rrrrrrr��rrrrrrrrrrrrrr�=======================rrrrrrrrr=======r=======r=======r=======r=======r=======r=======r=======r��������������������������������		k			rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��������������������������r�����������������������������������������������������������������������������������������rrrrrrrrrrrr����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���	���������mmmm��	kkkkk�����r��������������������������������������������������������������������������������������rrmm���	������������������������������������������������������������������������������������������k���rrrrr�����������������������������������������rrr����������������������������������������������������������������������������������������������r���������������������������rrrrrrrrrrrrrrrrr�����������������������������������������������r������������������������������������������������������������������������������r������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrr�����������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrr�������������������������������������������������������rrrrrrrrr����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrr����������������������������������������������������������������������������������������������r�����������������������������������������������������������������������������������������rrrrrrrrkkkkkkkkk!!j!!!!!!!!�k�!r!!����rr��rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjj!����������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr����������������������������rrrr																												


















rrrrrrrrrrr:::::::::::::::::::::::::::::rrrrkrrrr000002000000000444444444400000rrrrrrrrrrrrrr0000000000000000000000666012100rrrrrrrrrrrrrrrrrrrrrrrr !!  ""## !rrrrrrrrrr======rr======rr======rrrrrrrrr=======r=======r!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!jjjjrrrr!zrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr  !  !  " !rr$$$$$$$$$$rrrrrr%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&&&&&&&rrrrrrrrrrrr;;;;;;;;;;;;;;;;;;;;;;;rrrr<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<rrrr''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((��������������������������������������������������������������������������������������������������������������rr����������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!!!!!!!rrrrrrrrrrrr�����rrrrr������������)�������������r�����r�r��r��r������������������������������������������������������������������������������������������������������������****************rrrrrrrrrrrrrrrrr�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrr����������������������������������������������������������������rr������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��������������rrmmmmmmmmmmmmmmmmrrrrrrmmmmmmmmmmmmmmrr		r		rrrrr�����r���������������������������������������������������������������������������������������������������������������������������������������rrr	









����������k���������������������������������������������++�������������������������������rrr������rr������rr������rr���rrrrr���������rr,,,,,,,,,,,,r,,,,,,,,,,,,,,,,,,,,,,,,,,r,,,,,,,,,,,,,,,,,,,r,,r,,,,,,,,,,,,,,,rr,,,,,,,,,,,,,,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,rrrrrrrrrrrr-----------------------------------------------------..../////////////////../rrrrrrr/rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr00000000000000000000000000000rrr1111111111111111111111111111111111111111111111111rrrrrrrrrrrrrrrmrrrr222222222222222222222222222222223333rrrrrrrrrrrr444444444444444445444444445rrrrr6666666666666666666666666666666666666677777rrrrr888888888888888888888888888888r9::::::::::::::::::::::::::::::::::::rrrr::::::::;<<<<<rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr========================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@rrAAAAAAAAAArrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBrrrrrrrrCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCrrrrrrrrrrrDrrrrrrrrrrrrrrrrEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErrrrrrrrrEEEEEEEEEEEEEEEEEEEEEErrrrrrrrrrEEEEEEEErrrrrrrrrrrrrrrrrrrrrrrrFFFFFFrrFrFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFrFFrrrFrrFGGGGGGGGGGGGGGGGGGGGGGrHIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJKKLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMrrrrrrrrNNNNNNNNNrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrOOOOOOOOOOOOOOOOOOOOOOPPPPPPrrrQRRRRRRRRRRRRRRRRRRRRRRRRRRrrrrrSrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUrrrrrrUUrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrVWWWrWWrrrrrWWWWVVVVrVVVrVVVVVVVVVVVVVVVVVVVVVVVVVVVrrrrWWWrrrrWXXXXXXXXrrrrrrrrYYYYYYYYYrrrrrrrZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr________`____________________________aarrrrbbbbbcccccccrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddddddrrreeeeeeeffffffffffffffffffffffrrgggggggghhhhhhhhhhhhhhhhhhhrrrrriiiiiiiijjjjjjjjjjjjjjjjjjrrrrrrrkkkkrrrrrrrrrrrrlllllllrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnropoqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppprrrrrrrrrrrssssssssssssssssssssttttttttttrrrrrrrrrrrrrrrpuuvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvuuuuvvuuxxyxxxxrrrrrrrrrrrrrrzzzzzzzzzzzzzzzzzzzzzzzzzrrrrrrr{{{{{{{{{{rrrrrr|||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||||~||||||||r����rrrrrrrrrrrr���������������������������������������rrrrrrrrr�������������������������������������������������������������������������rrrr�rr�����������rrrrrr��������������������rrrrrrrrrrr������������������r�������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������������rrrrr����������rrrrrrr���r��������rr��rr����������������������r�������r��r�����rr���������rr��rr���rrrrrrrrr�rrrrr�������rr�������rrr�����rrrrrrrrrrr������������������������������������������������������������������������rrrrrrrr����������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr������������������������������������������������������rr������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������������������rrrrrrrrrrr����������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��������������������������������������������������������rrrrrrrr����������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������������������������������������rrrrrrrrrrrr�rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������rrrrrrr���������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������������������������������������������������������������r�����rrrrrrrrrrr�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rrrrrrr�������������������������������r����������rrrr��rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr������������������������������rr������rrrrrrrrrr����������������������������������������������������������������������rrrrrrrrrr����������r�������r���������������������rrrrr�������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������������������rrrrrrrrrrr�����������������������������������������������rrrrrrrrrrrrrrrr�����������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������������������������������������������������������������rrrrr�������������rrr���������rrrrrrr����������rr����rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��mmm������mmmmmmmmmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr//////////////////////////////////////////////////////////////////���/rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�������������������������������������������������������������������������������������r�����������������������������������������������������������������������r��rr�rr��rr����r������������r�r�������r�����������������������������������������������������������������r����rr��������r�������r����������������������������r����r�����r�rrr�������r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rr������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rr

















































�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������rr����������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr����r���������������������������r��r�rr�r����������r����r�r�rrrrrr�rrrr�r�r�r���r��r�rr�r�r�r�r�r��r�rr����r�������r����r����r�r����������r�����������������rrrrr���r�����r�����������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr��rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�����������������������������������������������������rrrrrrrrrrr����������������������������������������������������������������������������������������������rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr���������������������������������������������������������������������������������������������������������������������������������������������������������������mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm����������������((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((rr	

 !"#$%&'()))*+,-./0123456789:;<=>?@ABBCDEFGHIGJKLLBMBBNOPQRSTUVWXYZ[\]^G___________________________________________________`___________________________________________________________________________________________________________________________________________________________________abccccccccdeefghijklmnopqrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstuvwxrstyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{__|}~����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������G��������������Ƌ��������������������������������ȋ����������ʋ�����ϋ��G��������ڋ�������������_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________�________________________________�_݋������������������������������������������������������������������������������������������������������������������������������____݋���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ߋ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{�{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{�											
!	 !	G !	 		!��!G��!��	!					!	K !�!K��!y!	!����!	!!	����!�!�!	�!	�!	�!	O!	�!	�!	�!a!	�!	�!�!	�!�!	�!	�!	�!	�!8!	!!����!		!	!	����!	
!
!
����!����!	!!����!	����!	���!	~���!	+*!	]���!	(*!?*!	=���!	E!	G!*!*!*!.���!2���!3���!6���!5���!O�!K�!1���!(�!D�!/���!-���!�)!A�!�)!+���!*���!�)!&���!*�!����!'���!����!%���!�!	t	����	�	t	&	%	@	?	 	" 	; 	& 	 	3 	 	/ 	7 	 	+ 	C ��������"��;��&������3������/��7����+��C����������	"��&��	+�/������
	
����3���7�������	&���;����	����	~���	P	 ������	����	�	0���
111177?
?????YYYY^^^








++
++
+
++555
5
5
55566
66
66


$$
$$
$
$$/
///
/
/888888
     
99999
9999
&&
&&
&
&&	`((((--2233

%%%%%
%%"""
"""
4''
'
'
''
ZZ
ZZ
Z
ZZ==
==
==KK
KK
\\\
\EE
EEE
H
HHHK	
	!�!�!	?!?����!?���!	A�	����JVd�p~����		����������	����	����	����	����	����							C��!	GA��!	K���!	!��!!�!		��	0���!		��!	�!	��!���!���!	���!	��!	���!	���!	���




��::::
<<<UUULLLL
NNNN!	�u��!	�Z��!	�Z��!	�Z��!	�Z��!	�Z��!	�Z��!	�Z��000
0@@J
JJJJ
D
DDDIII
ISS
SSS
&CCC
C
C[[[[VV
VVVV
	
			#FB))uu;;***
	(
���.,,
iggmPPPwwwssAAAGGa`WWWttoooooMMRRQQxxxX]
]]]]]
TT
TTTdd
___
_
_nnncc
ccc
/kk
kklll
l
jj
jj
{{
{
{{{
zz
z
zzqq
qqq
eee
e
|	 |��|
||y>>>Orr
rfffvvvvvv
vbb
bbhhhh	
ppp	����Ss��������������������������������E�����������������������������������������������������������������������`a�������&!����Kk*!������+!����GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�
-
E

a
~
��������"
��<.annobin_pcre_ucd.c.annobin_pcre_ucd.c_end.annobin_pcre_ucd.c.hot.annobin_pcre_ucd.c_end.hot.annobin_pcre_ucd.c.unlikely.annobin_pcre_ucd.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_ucd_stage2_pcre_ucd_stage1_pcre_ucd_records_pcre_ucd_caseless_sets   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.comment.note.gnu.property.note.GNU-stack@
P`h
"p(p.p8pT3@�#0N�]�(X@�#0w���(�@$0� � �0�-w	N	�P�``	x"7@$�/463            1573057005  1667  135   100644  5360      `
ELF>�
@@
��D�F����@���=ATH��UH�-SH��1@����@�����@�����H���?�DA��D9���D�YE��L�aA)�E��A��A�����<��D��Nc�I�>A��D�A��<����A��<����A��<���H�AH)�H���A��<��G����@������[]A\Ð�A��<��%�A��<��:H�AH)�H���A��<��G���.@����z���A��<����AL�A��<��6@����$@�����uA�����fDL��E�A�H��E�������[1�]A\�D�AL�A��<���@�����@���u�A���v�L��H)���������f.���>�kL��H��E�A�E��~��1@������E����fDA��v�I)�D��)Ǹ�:���fD�?��I��@I��A�8u�I)�D��A������A�� ����L��H)������[����A��0���L��H)������;����A��8�|�����&���@A��<���������@H)�[�]�
A\ÐH)�[�]�
A\ÐH)�[D)�]�
A\�I)�[]A�D$�A\���)���
���I)�A�@���
���1��)���
���)��
�	���L��H)������q���L��H)������\����
�R���L��H)������=���
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx���Z�D�H ��
ABB�
CBF����p ���t
FDBD
FDBD
DDDD
AGHa���C ����;Z}����	�%.annobin_pcre_valid_utf8.c.annobin_pcre_valid_utf8.c_end.annobin_pcre_valid_utf8.c.hot.annobin_pcre_valid_utf8.c_end.hot.annobin_pcre_valid_utf8.c.unlikely.annobin_pcre_valid_utf8.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_valid_utf_pcre_utf8_table4!��������)
�������� �  0�\� .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p�"@P0--3-=0T8@�0	S�b�(]@�0|���(�@�0���@��0�-|S� P�p�p��@�	
7��/493            1573057005  1667  135   100644  4024      `
ELF>�@@
��H��
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h8648.41 2017-07-05GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�5Qq������	.annobin_pcre_version.c.annobin_pcre_version.c_end.annobin_pcre_version.c.hot.annobin_pcre_version.c_end.hot.annobin_pcre_version.c.unlikely.annobin_pcre_version.c_end.unlikely.LC0.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..grouppcre_version
��������    .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.str1.1.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p"@�-|3|=|T8@0	S�b�(]@@0|���(�@p0�2 �00-|]S]�`P����0�@��	���/520            1573057005  1667  135   100644  7208      `
ELF>�@@
��AWAVAUATUSD�>D��D�������D$��w&A�������t�D$�[]A\A]A^A_�DH�F��tH�F!�������D�W���L$���(��DI���L$��������D��t$�A���L$�O�A��L�%�L$�A)�H�-H�L�f�����a����P��tD��twIc��t5��D΀�Hc�A�4tL��@��D��
��Ic�L�>����ʁ����H��9�u�D���Ѓ��D$�D$�[]A\A]A^A_�fD���pL�h���v#D�X�� ������?L�h��	�D��@��I�E���v#E�]@�� ����A��?I�E��D	�9������9�������a���f��p�� u����?H����	��;���D�X����D�h������A��?��H�������A��D	�A��	�D	����f�D���p���7��A��?��A	�D��L�h����D	�����f.�A��E�]@��������A��?��A	Ӊ�I�E��D	�����f�����A��?H���Ɂ�A	ˉ�D	��G���@��t(�j��) ���( s�|$�
�'�������H������A�K�Q����€���	�@8�u������A�SH�5�����t��@��1҃���!�D9�u����@A�K1ҍq�@��v���L�5�A�4���uˀ�u��u>1��A�SH�
��H��1҃�t����u�1�@��u���tʁ�t�1҃|$����q����������|$�@�ƒ�$��	�@8�������fDA�K8H��@8����������A�KL�5�PA9���@8���������A�SH�
������ƒ�_��	�@8��g����i���f.�A�SH�
�������@8��7����9���f.�A�8H��@8����������E�u@�����D�t$�E�u�E��A��?����%�A��D	�A���	‹D$�D	��%�	�I�E�8����D�p�������t$��p����A��?A���T$���A���A��D	�A�����D	��L�hD	�	����D���������T�������8���������_ ����0�����/ ����A�SH�
�<���@8����������� �����v%�������������������u�����|$�w��|���@��D�p�2��A��?��H�������A��D	�A���A��	�A��D	�D	��=���f��D$��D$�[]A\A]A^A_�f��|$���@8������������A��?����%�A��D	�A��	�I�ED	��X��������?A����A���A��	�A��D��D	�L�hD	����f����������D����D$�D$�[]A\A]A^A_�f�H�F�s�����P����H����@��?A����?A���A��	�D��A��	��A	���D	�D	��������?A���T$�A����@A��?A��	�A�����A��D	���L�h���pD	�	�D	����A�u������@A����?A���	�ƋD$���?	��D��D	�%���	��	�I�E����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx���F�B�B �B(�A0�A8�s
0A(B BBBF
0A(B BBBG�
0A(B BBBJ�
0A(B BBBJ�3Nm�����	��
,>.annobin_pcre_xclass.c.annobin_pcre_xclass.c_end.annobin_pcre_xclass.c.hot.annobin_pcre_xclass.c_end.hot.annobin_pcre_xclass.c.unlikely.annobin_pcre_xclass.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_xclass_pcre_ucd_stage2_pcre_ucd_stage1_pcre_ucd_records_pcre_ucp_gentype���������� ���������!���������
��������x"���������"���������"���������"���������"���������"��������T"�������� �  (L�l � �$$(X,0�4� .symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.rodata.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`
h'p�"@�-Z	3Z	=\	T8@�0	S�
b�
(]@(0|�
��
(�@X0�8�@�P�08-|eSe�hP������@�XH	�P��/546            1573057005  1667  135   100644  4752      `
ELF>P@@


GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~�����������������������������������������������������������������������������������������������������������������������������>�~~�����������������������������������������x������������������GCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�
;
Z

}
�
���@.annobin_pcre_chartables.c.annobin_pcre_chartables.c_end.annobin_pcre_chartables.c.hot.annobin_pcre_chartables.c_end.hot.annobin_pcre_chartables.c.unlikely.annobin_pcre_chartables.c_end.unlikely.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..group_pcre_default_tables   .symtab.strtab.shstrtab.group.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.comment.note.gnu.property.note.GNU-stack@
P`h
"p(p.p8pT3@�
0N�]�(X@0w���(�@@0� @ �0`-w�N���P����	�	*p�lib64/libpcre.so.0.0.1000075500000630130150405535520010114 0ustar00ELF>�@)@8@�� h�h�"h�"�� ����"��"��$$���  P�td � � ���Q�tdR�tdh�h�"h�"��GNU ��j':z"][��:�lD(;s%	�  @�PH�P�
A @b	�����(LP� �	 " !"#&()*,.1567:<=>@A.W���&�t�5υ����q3����tq\��7��{��NE���cGs�ng������씒��"_n��1�q9���]��:���7�!�2Vs�:��Hu���qX����#:�vTi��|-S>EX[��^O؊����.p��0BE��w�֓���ˇ� ,W�1gb-W�<��(f��'/W�m�� k��VB Ow:, F"K_U`�@ys�`����?���
������O���?�#��#���(#�0�Sr#1���pЮg% �j� ����~��]0�@�����"S0���@�Y���p<t� #�������0�`�q0#=�&#~��@+���������I� #�@�/��i���
����x������;P�(g��__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_pcre_utf8_table4_pcre_utf8_table3_pcre_OP_lengthsstrncmp__stack_chk_fail_pcre_is_newline_pcre_ucd_stage1_pcre_ucd_stage2_pcre_ucd_records_pcre_utt_size_pcre_utt_pcre_utt_namesstrcmp_pcre_find_bracket_pcre_ord2utf8memmove__memcpy_chkmemcpymemcmppcre_compile2strlenpcre_malloc_pcre_default_tables_pcre_valid_utf8pcre_freepcre_compilepcre_config_pcre_ucp_gentypepcre_callout_pcre_was_newline_pcre_xclasspcre_dfa_exec_pcre_try_flippedpcre_execpcre_fullinfopcre_get_stringnumberpcre_get_stringtable_entriespcre_copy_substringpcre_copy_named_substringpcre_get_substring_listpcre_free_substring_listpcre_get_substringpcre_get_named_substringpcre_free_substringpcre_stack_freepcre_stack_mallocpcre_infopcre_maketables__ctype_tolower_loc__ctype_b_loc__ctype_toupper_locstrchr_pcre_utf8_table1_size_pcre_utf8_table1_pcre_utf8_table2pcre_refcountpcre_studypcre_versionlibc.so.6_edata__bss_start_endlibpcre.so.0GLIBC_2.14GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5GLIBC_2.3����ti	#ii
/ui	9ii
Eh�"�p�"`x�"x�"X�"`�"1h�"p�"x�"!��"6��"*��"��"��">��"%��"?��"C��"�"'�")�"-�"�"�"��"@###
#
��"��"7��"��"(��"&��"#��"��"�"�"�"9�"�"	�"<��"+�"
�"�"�". �"4(�"0�"8�"0@�"H�"P�"��H��H��"H��t��H����5��"�%��"��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q�������%-�"D���%%�"D���%�"D���%�"D���%
�"D���%�"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%��"D���%}�"D���%u�"D���%m�"D���%e�"DH�=)�"H�"�"H9�tH�N�"H��t	�����H�=��"H�5��"H)�H��H��H��?H�H�tH���"H��t��fD�����=��"u+UH�=z�"H��tH�=��"�����d������"]������w����L�AVAUA��ATU��SI�YA�AA����=�����L�~�"��?E�
L���"C�[C#�M��I���E�c�E1���E��tqf�I��E�J���A��?A��D	�D9�u�N�#J�\#��tH�HЃ�JwFLc�L���G�ZE��uD��H�1L�5��A��Oc�M�>A��fDI����u��[]L�A\A]A^�fD[D��]L�A\A]A^�E��uOD�L���C�L��M��t&@I��E�X���LH�L��C�u���1��	�n9��fD�S�A��7��A��0��PЀ��{����SB�D�ЍJЀ��XL�K�D��E���C���=��8����3�-����<{�cL�E�Hc�A���I�q��`����@�7�0N�A�I)�A�
��I������`�=�D�7)����D�A��<��A��'��E1�L�ƾA��{�E1�A��-uE�AA�I��A��H��A��
1��	fDM����M�AD�AA�HA�C�Hc�A�*u߅�xlE���|I����}�l�9�������u-�I�������%�����@��������H��P�I�ك�Bƒ�@�����=M�����H��E1�1�A�0L�ӽ�7�Lc�C�tH����uQ��0uL�1�Lc�C�u�}t1��o�����xA��I��҃��A9��S����"I���E����A������`~
�D�7)��Ѓ�A��AL�)��o���D�CH�KA��}�E���A���H�������<}��<-t�A�u޸������L�K�1����M�ȅ�tmE����9����M�����Ⱥ0��A�7M�)��x����� �7�{����=��M���[���E��tI��1�A��}�#���M���:1�M���3���I��A�������M��)�����A��1��D)غ��M��)‰����I����I�����I��A�L���E�����������H���8@��StDwZ@����@����@������t�xD�A1�A��t�>H���8@��Su�f�L�i�"A�<8H���@��YrV@��[w<��tL�D�@fA��E��L��8@��Tt�L��"A�<8H��U���f�D�G�A��v��D��u����AWA��A�����AVI��AUA��ATE1�UH�-b�SH�_H���G�<hw>��HcT�H�>��fD�Cf����H��<Tt�H���"�H��<hv�H�������[]A\A]A^A_�f.��Cf����H�\��C!�H���wD�H���3u���t/�C"�S$f��f����f9�u��C&A�H��&�G����H��!A���3��������H��[]A\A]A^A_�@H��H�XA���@����@A���t	E9��3���<T���CE��H��E1�����fD<_H�{L��D��HE�D��D�D$�����x�D�D$A�H��@�Bf����H€:Tt�H�Z�B���E���3�{f����I~(H��D�Bf����H€:Tt�H9�v	H9������H��L��D��D�D$�������A�H���D�D$�
���f.��CH�Sf����A��C��<HB��CH������@�CH�Sf����A�A��t]�C<�vUH�
>�"��?�H�����@A��H�SA��t�C<�w��CH���k���H�C�J�����CH���L���D���������������f.�AWI�ϹAVA��1�AUL�-�ATUH��1�SH���L�%��"A�H���I��H9���A��؃�X���S�������r����R�I�S�����E�HfA��fE��tE��`��E��M�A���T��M��Hc۹1�1�A�<L��d���I��H9��r���H���[]A\A]A^A_�@A�@f����I�A���Tt��fD��<Qw���IcD�L�>��Hc�A�I�DA�@f����I�A���Tt��^���M��L��L��D��H��L�$���L�$��t A�Af����I�A���Tt�����A�Af����I�A�9Tt�H��1�[]A\A]A^A_�f�E�HfA��E��MO(fA�y�����L��D��H��L��L�$L�L$����L�$�������L�L$A�Af����I�A�9Tt��A�@f����I�L����H����l����H��3�b������T���f�z�O����D����E���:���A�@<��-���H�;�"��?�I�����@A�@I�P��<LB����f�I�P!�i����E������A�@<�������A�@I�P��<LB����f�AWI��AVA��AUA!�A��ATA��USH��H���H�-��"�_@��X������]���Jǃ�����B���B���v�ux��us�A�Gf����I�A�<T���|1ɺH��L��~�����у�^tL��_�{����H���f����f�� D��C�D	�H��H���"�����u�H��1�[]A\A]A^A_�DD��D���Ӏx
u�E���a������H���[]A\A]A^A_�@AWAVI��AUA��ATA!�A��U��SH���H���"�s�������`����^�}��_����Xto��]tj�Bǃ�����B������@A�Ff����I�A�<T�E�<L���Ѐ�St	v���d<w�Hc��H������D���.�����u�H��[]A\A]A^A_�H���f��O����f����f�� C�D	�������f����@�u	E���Q���H��1�[]A\A]A^A_��GL�<Su�CSI�A���d��vЉ�D��L��������b���@A�Gf����I�A�?Tt�I���Ѐ�Stw#�������H����Ѐ�Su�Hc��H��у�d<�w���Hc��H��f�H���[]A\A]A^A_�f�f.�AVI��AUA��ATI��UH�-�S�������I�~L�������Q�Dwb��HcT�H�>��@H��E��tG�@���tN9�u:A�Ff����I�A�>Tt��(1Ҁ�XH�����p�����x���uɉ����������[]A\A]A^ÉÀ�A�$D�말AWI��AVAUE1�ATM��UD��SH��8E�H�T$�L$H�H�4$dH�%(H�D$(1�H�L$ ���(�b����H�D$ E��D�T$H�l�H�D$�\���[����#u
@������(�o��)��H�D$ ��|uE����H�HH�L$ �P���+��\u�H�AH�D$ �Q��t ��Qu��H��H��H�D$ ���u5I�A�����H�\$(dH3%(D���H��8[]A\A]A^A_�fD��\u�H�AH�D$ �yEu��g����H�t$ 1Ґ�NH��\ti������^��H�FH�D$ �N��\tA��]�H�T$ H�BH�D$ �J��]���������\�H����@��xEH�pt�H���������u�H�pH�t$ �_�����L$H�T$M��A��H�4$H�|$��������H�D$ �8�}�������A�$�|$A9�A�<$DL��`����H�D$ H�P�DH����
�;���H�T$ �
H�Є�u��r����H�<$H�P�Gs����������A<?�t<*tHE�BE�D;D$uH�|$�2���H�AE1�H�D$ �QH���\���fDH������H������QH�AH�D$ ��(�W�Q��Pu
H�AH�D$ �Q��<��H��E1�'����E�BE�$D;D$uH�|$�����H�p�>H�t$ �8��<D��P9���H��f�H��H�D$ H���9�u�H�|$tHcT$H)�H9��9H�L$ E1�����A������5���H�BH�D$ �J������H�€�Q������H��H��H�D$ ��������\u�H�AH�D$ �yEu�����Q��|����H�AA�H�D$ �QH�����E��t
E94$}E�4$I�A���������y?�QtF��t%��)t H���f���)tH�L$ �H��H����u������H�HE1�H�L$ �P���H��E1��~����H��=t	��!�j���H��E1��i���A������H�|$D�D$D�T$���D�D$�������H�L$ E1�D�T$��#���H���p������AWI��AVA��AUA��ATUSH��H��(dH�%(H�D$1�H�G0L�d$H�l$�D$H�D$�f�H�T$H�JH�L$�:tM��E��D��L��H��H���F�����~�H�t$dH34%(uH��([]A\A]A^A_��N�@f.�AWE��AVAUE��ATA��US��H��8H�L$L�t$pL�D$A��|$dH�%(H�D$(1�L��A���I�vI����������#t��f�H9���H��H�xH�|$�H����A���I�V8��u�Mc��L)�L��H9�w�A8��u�A��t
A���8Hu�Hc�I�vH�H�D$����p���H�PH�T$�HH���N���fDA��H���-�H�|$���Y���A�����I�vH������@��\�I�V�<
��L�@L�D$�(��tY���~OH�
P�"��?H�5��"�<�#,��w����t)H��1�H�D$�P���H����?��	�9�u�M�D0A�E����I�NM��������<#t�f.�H9��I��I�xH�|$A�@���.A���I�V8��u�Ic��H)�H��H9�w�A8��u���tA���A8@u�L�7I�NL�D$A����p���I�PH�T$A�@I���M���D<*td<?t`�H�=.�L�������tF�D$��������w2H���Hc�H�>��I�VHc��*uf.�1�H�\$(dH3%(��H��8[]A\A]A^A_�A��L���
�H�|$������Ic������@I�NI�����A�V`H�t$$E1�D��H�|$�D$$���ŋD$$���u���H�D$L�@L�D$A�E�����"������L���H�-�Hc�H�>��D9��/���A���#�����������I�FHc��,(1�A9������A���0���'H�\$D�#D��A���~DH���"��?�4H���"�vD#$��A��tH��1�H�����H����?��A	�9�u�D9����������I�FHc��,(1�A9����f���A��~��t�H�\$D�#D��A���~�H��"��?�4H�G�"�vD#$��A��t�H��1�H�����H����?��A	�9�u�덁���#���
���1��|$�������������I�FHc��(����������������I�VHc��*�����������q�M�� �b�|����P����D1��|$���@�������2���I�FHc��(�Ѓ������������I�FHc��(��������������I�VHc��*��������A��~^��tYH�\$D�#D��A���~DH�q�"��?�4H���"�vD#$��A��tH��1�H�����H����?��A	�9�u��؃����\���H���Hc�H�>��E���������	����4��������&�����H�����������A��/ �6�IA��_ �#A��0�1�����������U
���������1����������1���������E���������	�������E���������	����r����M1����d�����H����T���1�������G���A��( A���G1�������)�����/ t~#��_ t��0�����1��|$������� ��
�������	������Ձ�( �����1��|$������D9���������*���I�FHc��(D9����������H�u�"���������H���"�BH�*�"l�����H�@�"��H��������H�v�"H��BH���"l��!���I�FHc��(D9����������:��A���t�����A��
A�������1����������A������I�FMc�B� �Ѓ����A�������I�VMc�B�"���������A�������I�FMc�B� �������n���A���b���I�VMc�B�"�M����F����A���9���I�FMc�B� ����������A������I�VMc�B�"��������A��t$����A�� t~#A���t
A������1���������A��	������A�� A��
�������@f.�AWAVAUATUSH��XH�H�T$H�|$�PL�pH�L$dH�%(H�L$H1Ʌ�����{���T$ �D$!H�D$1�L�l$ L�0H�B�"�(�<fD�+H�=�"�Hc�I��H�@L�<GL��A�7H5 �"�[����tG]D��9�|�H�D$�/H�D$L�0�����H�L$HdH3%(��H��X[]A\A]A^A_�A�GH�L$�A�G��DA�\$럐�P��^tT1����}t>�T H��H��tA�V��Hc�I����u�H�D$�.H�D$L�0������g����D4 ����L�p�P��>��@f.�AW��I��AVI���AUI��ATA��UA���S�A��…�t^��R����Pt`L���"�H�H�A���wbH��H�������?tA�ZI�J�S�LB�I�A��…�u�[]A\A]A^A_�DA�Bf����I��t���@I�E���d�����+�[���H���H��L���J���A�B�<��=���H���"��?�I��'����A�ZI�J�S�LB��c����M�I�]M9�sBA�M�zL��f������H�I9�u�UD�f������H�I9�t;H��L9�r�A�Bf������H�H9�w����A�BA�ZI�������"�JI9w�I�]빐f.���I���A�@D�D��E��tnA��PtnA��\�|A��_��L�
��"A�H�Mc�G�����L��H�����?t�GH�O��<HB�L�D�D��E��u�1���Gf����H��m���D����H�a�"�@\H��M���D�Gf����9���H�6�"�@_H��"���f.�L�<+�
���������M�щ�I��M�����G�<����H�
��"��?�H�����f.��GH�O��<HB�����f.�H���f�f.�AWAVAUATUSH���H�H��$ D��$��|$L��$8H��$�H��$(�t$`L�	H��$�H��$@H��$�H��$�L�D$xH��$�dH�%(H��$�1�A�CpH��$�H��$h��$�H��$0H��$`��$����$0DŽ$ �;_uB�CE1�fD��$Zf�$f����f��$XI�C@��$ H��$PH��$PI�C@��$E1�H��$�HDŽ$�H��$��PfD�v�A�{`Hc�H��$�L�4H��$0��$�HE‰�$�M��H�D$0�������$���$��D��$E��t��$�A�C`�D$��;D$`t��$0I��A�D$�A�D$���$���t*I�D$�\A�D$I����$0H��$�fA�\$��D$L�d$@M��L��DŽ$4��L�d$H��L��$H�D$?1��\$?�|$d��%��@��E1�E1���E�$�L�Ӊ�$�������$�%HDŽ$��D$T�����H�D$DŽ$��D$8�D$ �D$P�$�D$�[f.�A��\��L��$HA�yE��D�t$I���D$8H��L��I��I��L��D�t$I��L��$HH��H�E E�)H�H�|$0L��E����
I9���
H�D$@H�t$0I9NjLB�L��H)Ƹ�)�H�H9���H�D$0�H���y
L�|$@H;\$H�1
E�����D$8�)���A�Eփ���	A��?��	A��{�H	H�|$�
RA�F��D$A�����D$�D$���D$X��H�EE1���
A��#�FA���D$��D �t<�S���E1�L�|$A��H��$HfA�?I��H��H+M0H��A�O�H+U0A�W�fE�G�A��|�0H�=��D��Hc�H�>��@L��$HH���.�D$ �D$XA�����E1��D$�D$P�$H��$@A�A<+�
��$�E1ۉ|$h<?u��$�I��L��$H�D$h�;�G�<�;@����@����D���D$pE��uE����*D��@����K�sD�$$E����	�T$hT$pE����A����"D$?A����8A���6��%fA��L�{�fD�k���E�I�_���t
�H��@�s�E���t	H��$@���A����'����4��I��I)�E���?	�8�W� �H'H�
���Hc�H�>��@H�EHH��$�H��$HH�PH��$H�P��*�C��?���D$���|$M��E1ɸ^E1�E1�A�^L��$8A�H�|$0H��$4�L��$@D�mxHD�DŽ$4�t$H��$HH��$@H��PU��H��$xPAPH��$dPARASL��$�����L��$�H��@���?A��`uH�|$0� A�9)�9=H�D$0H��� ���$4����)�9���H�\$0�A�D�$$A�^U��D$PI�_fE�GL��$HM���$��$D�$$�D$P�g���A�I�_�D$PD�$$E1�L��$H�$��E����H��$HE1��PL�HH��Hc��0t+f�C��I��D�tJ�A�Hc��0u�A�����O��}�fA�QI�I��}�\!Hc�E1�0t'C�t�H��D�lr��1H��0u�A������*H�D$xE9��;$�I�ɉD$X�D�D$t�\$��������EÉD$I�_A������Es��:�]��$��D$���e	A���$�I�_�S����$���
���
��|$�L��$H������C�D�d$TDexA	ċD$�D$ �S���L�d$x�U`L��$HE1��L$L��L���^��E�$$A��E����$E���%A�����|$?��H��$�D�������T$TI�_��������	ʹ�D$tD�t$f.�D�t$�A�������1�H��$���<H��H��@�{�9����$���
����Mt �|$�L��$H�������L$T�L$����	D�c��D$ ����Dex�5���DL��$HA�q@��=weH�@$H��sUA�II�Q��u$�FfD��]t;�B@8��nH����t&����\u��B<]u��BH��H����u��E1�H���� @E���o	A��^�e	A�I��I�qH��$HE�aA��\u�A�yEI�qt۹H����€����|JI�q�@L��$HH����'�D$ A�E1��D$X�D$�D$P�$�;���f��\$�����D�$$���E�D$I�_�ljD$�����|$ A�L��$H����@L��$HH���G'A�����A��D$X����fDH�D$0I��L��$HH��t%���L��H+L$@)�H�H9��/H�D$0ʉA�Cp��$��ƒ�;�$�A�C`DT$`9�MljT$`H��$���$���A�9|�5'H��$���$0Hc�$H�L�dI����@D�t$D���A�����$���"T$?����I�_�D$���A�D�t$��fD�D$�D$ D�$$����H��$HH����V�������~H�VH���8tf�H���:H���8u�@��}tR@��,�h����r@��}t>�0�T����zH���8tH��H���:H���8u�@��}�&���fD�D$D�t$���D$XuVE1����fDL��H�|$HH��D�l$H)����H�D$H�L$H)�I)�H��L�|$@���L�|$HL�|$@����H�EA�����L��$H����H9EH�U���H�D$x�4H��$�L�1�H��$�dH34%(��HH���[]A\A]A^A_�DH�|$t2H�|$0u*H�\$H��$HH+E0�s��f�t$f��)�f��f�CH�D$�D$@����H��$HA�S���E1�L�|$fE�I��H��H+U0H��A�W�H+E0A�G�fE�W�����@��o��AD�$$L����D$X	ExE1��D$PL��$H�$�:���f.�H��$H�A��<���H��$�H��fDH��H��H��$H�:�B)�@�>�z��@���t؋t$T��������	�����f.�A��C�DH�|$0�H�D$���fD������D$ A�ĉD$�{���<]�����@��:�
�H�\$xE‰����D�d$dE�W�E��t	E����A��~
�D$TExD	Љ$E���
E1��D$pE�����H��$zH��D��UH��$XD�L$ ��$�L�@D��$���������$�AXAYD��$����D$pD�$$A��D$h���������<�>�T$hT$pE���S��A���F�D$pL�{��'�D��f��A��f�C��"D$?E���E9��=���!D�SH�{���t
�H��@�w�E)�A���l ��%fA��L��fD�o�����f�A��L��$zIc�t1��ƒ�A�<A�<D9�r�L����f�I��A��D$hL��$H��H�t$H��$HH�D$H+E0�~��f��)�f��f�F��DA���$�I�_��C�����fDH��$HL�����H9�r{H��H�xH��$H�H��tQ���H�U8��u�Lc��L)�L��H9�w�8��u�A��t���8Hu�L�L7�L��$HA�9��A��E1��-��D��$�L������H��$H���e���Hc����H��$��8T�g��$�����L��H+�$�A�9|M�g�.f��A�TfA�G�$L��$h��$��D$L��$���$�����D�SE��u	E��������D�$$�D$p
����D�G�<�5D�$$E���P����D$hE���JA����@A���v,��L1�A�fA�WD����A�WI�_D�$$A�G��fDD�$$�D$ �����G��H�D$x����A��]���Es�H��$�f�H��$�I�GH�D$X)�$�)�$��D$L�\$X�D$ A������D$p���D$hL�ۉD$PL��$�D��$fDA��~#�|$?tH��$HD�&D��A�����H�D$0H��t
H�|$XH)�H���t$8����H��$HI���PA��\����E�:�D$8H��H�pH��$HD�`E����A��]�b����D$8���V����|$ L��$�I��D��$�`�|$h���T�D$d���E���A���5�\$�����D�$$A�E�oL��$H����D$8E�I�_�D$�D$ �y�f�A��[�nA��\��L�|$x�U`A�L��$H�L$L��L���g��A��A�����A�����A����5A����KA����H��$HA��������E����D$ H�|$0D�x��A�D$����A�����*A�����2A����E&A����9A�D$����H�L$xH��$<H��$8L��������1�A����D$8��;�$8�C���D$hH�����S���$<�C�H��$H��H��$�H��H�w �
H��H��H9�u$��fDH��$HD�|$ �D$8���H��$HI��D$@�z=D� �P���\���xE�vH����H���8E�cH��$H�PI�ǀ�\t�A��
��A��
���D$8��-���t$d��t"A�����A��~�D$��@H��$HE��A�T$D��AIԉ���Mc���Hc�@���T$P��t"H�UF�,*D��D����Hc���@���D$ �����Mt A�W�D$8��-�L���fDI�GH��$HA�O��\u>A�O��E��I�W�fDH���J���E��H��$H�
H�Ѐ�\t܄�t	��]���D$8�:f�A��
�f���A��
�\����D$8����H��$H�pI��@��=��H�@$H�������PH�xI����������\t)��]�����A�N@8�t-��I���������\u�A�V��]u�A�VI����D��]u�H�MH��$@��:�79H��$H�x^H�|$ u!H���D$8H�D$ H��$H�D$pE��D+d$ E1��L�
��Ic�L��$M��H��$D��I��D��$$A��H��$(L���(fDI��H�-�A��F�,0H�l
E����'A��E��9�u�H�|$ L��H��能����u�L��$H��$D��$$H��$(A���D$��,C�H�
�H��$Hc�Hc��o,)�$��o|�B��H�Hc�)l$ Hc�)�$�������+��H��$���1�)����1��u��$�H��$��L$8H�����-H��H�� D�H����H��H9�u�I�F�D$8�D$ 
�e����L�sD��L���^����L$PHc�L����H��$H�D$h�)����H��$HA��pI��@��\������xE�����A��
tA��
u�Mt D�\$8E��������X���@��\�����xE�P���D�\$8E��������.���f.�H��$HI���P����@H���"��?�H�ۤ"�@Hc�I���D#$�A��t#H�V1�����H����?��A	�9�u�L�H��$H����f.�f�H��$�H��$�)�$�)�$�E����9H�D$xI����������D�$$�D$p�����A����A����p�|$��!	A����	A����	�D$����A�F���L��$8H�L$xH��$<L��L��������1�A���L����;�$8A�G��I����A�W���$<A�G��D$L��$H�D$ �$�D$P��@�����D�$$�������[�fDD��$��9�H�	�"�p�RA�N��rB�Hc�H�H��$@�,�f�H�
٢"D�l$d�H�H��$@E�����P�������H�
��"��?�H�H��$@�����G�<��L��H)�H��$�A��@��`�ZA����P!E����
H�M(L�EHLc�$�A���u#A�L��$�H�߾��$�D��$D��$���L�CH��L��L�����H�K�CD��$I���D$hDŽ$�L�D$pD��$��i��^f�CI�_A��D�$$E���c
Hc�$��T$hI��I)Ń�VH�|$0A�EA�U���f��M����I)�A�:]���M��D��$��"f�A�Ff����I�A�>T�R�H��D��L��L���6����t�A��4�f�H�u�P����H�XH��H�\$X�H��$H�I��H�@�u�:�c1��)��D��L�-̆+L$X1�H�l$p�A��M��L�o�L�|$hL���DH��J�l-H���UA��Lc�A9�u�H�|$XL��H���A���L�*���u�Lc�L�|$hH�l$pC�L���p�'A�1�I��L��$H��H�U�'M�aL��$HA�yH���:��-I��f.�L��$HA�	M��I��H��
u�D��D)�\$hH�|$0�,9���1�EX='��1�\$h�S;U\|�S�U\�� ��2H��$H���EXfD�E`�|$M��E1�A�E1�A�_��L��$8�E`��A�G�E`A�G�_��fDA�����L��A�����A�E���%A��I����A�W�A�G�E�o�A����"D$?�����L�{����f.�D��H���"��H��D������H��"H��BH�n�"�|�D�A9����t$PH��$H�t$h�;�f�L�HL��$H�H�Q߀�[�TH�5]u��Hc�H�>��{�U�fD��� D�SL�C���t�KL�C@�s��M�xA������$���x$�\$9�tAD��$�E���\	DŽ$�����D�l$E��xD�$$E��y�D$�$��$��D$��$��$��$���1�	ک���������D‰$���%�A��t$1�L��H��$��s����������N)H��$�f��f����fDH�D$x�����A��I�_���b��
�|$�A�L��$H�:�D$D�$$�D$ �D$P�$���f���#L�{����f���Q�H�PH��$H�H��\���xEH�p�(	�D$dA�\���l	�D$8E9���,��A��
��A��
��D�D$dE���A�����A����D$��I��E��E��D��E9�rpL��"D��D��H�5V�"����H�
ћ"A�����F�T�D�A9�t-��f��Љ����A�����F�|��9�����A9�s�A��L���L�sD��L��D�\$h�e���D�\$hHc�I�D��L���O����D$hHc�H��$HL��&�@L��1��B��f����H€:Uu�A�h�����U+���EA�9)��H��$@�|$���$<D��$8������E����D$M��DŽ$��D$ ��D�D$����A�����	A����H��$H�B<<@��<'��@��u1�<{�k�D$A��I��E�w�L��$H�D$ �$�D$P���H��$@A��\�3���M��A��X���D$D�$$DŽ$��D$ �
�DH�D$xE����D$X�D$XL��$H�������H���aE���$DD$P�$�D$DD$ E9��D$�DD$X�D$X������L�cL���q����|$PHc�H��$HL�|$h�H�fDA��I�w�A�����fDH�����<�t�M��I)�Ic�A�ʀH��$z�D�T$pD��$��ް��D��$��;D�T$pE������D$p������w.�D$8L��$H��D�\$pD�$$�,�f.�D�\$pH��D��1�UH��$X�D�L$ ��$�L�@D��$����^_��D�\$pDD\$h�D$p
D�$$D��$�D�\$hA��E����f�A����A����u��L�A�D��fA�O�������!A��L�{���"D$?����H�D$xI��A�������D$X����H��$HA�X�pI��@��\�����@A���vDŽ$�H�|$0H���� A�F�Hc�$4��H�H����H=�����&���)�9���&H�D$0�D�$$�E���+H�\$pE)�L��1�E�������H�|$0H���E����
��$4����H�A��Mc�I�Ń�H=����G&�7��)�9��6&H�D$0�H�߉H��H������DH��H��H�_H)ȃ�Hc�A��H)�A���Vf��f����f���Uf�Gf�F���fD�E� ���D����C����B�����8�����7�����6����5����+����*����)����(�p����LfA��1�A�1�fE�wA����/��$�D���t$A���E)�t$ �4$D��E���ԉt$P�|$�����A�WI�w�A�G�����A�QEωL$D����A�� M�	ElD;eh~D�ehH�E@L��$HH��u���H�H�����PA9�u�L��I��f�x
�U����I����f�DŽ$8����DŽ$<����A�9)���|$�H��$@M���q��������D�$$DŽ$��D$ �D$�y��f���$�DŽ$��������f���FI�_A��l����H�M(L�EH�L��$���$�H��H��$@�0��H��$@Ic�H�~����H��$@A�E�]��f���C�Uf�S�H��$@�bH��$@�B�l���$�L��$`DI�{I9�wH���L��躵�����$M�M��u�H�D$x�(�L��$H�(�H��$H�H��\���~Q��H�VH��$H�N��\�6���H���~�Et��D$dA�\��������D$81�A�\A��\�����@���y���L�t$x�U`H��$HA��L$L�����E�A��E���F������@�����������������"L��$H�D$8�<�fD�\$��������EÉD$�D$p���D$h�|�D$ A�I�[A�P����E�WH��L)�f��fA�G�D$L��$H�D$8D�$$�D$ ����C���f��H���C�UD�C�f�FH)��&������f�D;T$p����NA�E����H�|$0��I�_!��E�����A���
�|$?�H��$�D���b����D$8���DD��$�H��1�1�UH��$XD��D�L$ ��$�L�@D��$��G���ZY��D��$�DD\$hD�$$D��$�D�\$hA��E���i��H��$H�x\��H�pH��$HD�`E������D$8���L��$HH�EHA�'M�HH��$��>L��$HA�x<DD�A�@�PՁ��xM�h��tN��A9��9
H�ML��E1��H�����t#��D9��
��AD�u�A9���H�D$xD�$$�9H��L��I�NjD$�D$ ���DE��H��$zA��Mc�t1�A����F�4G�4D9�r�M����fDH��$HA�R�pI��@��\�p����@��#L�����f.�D��H�t$XI�$L�\$ ��A�GH)�H���m���L�\$ fo�$�fo�$�AOI�[!AW��Aǃ����E��A��Ic�H�$H��$zt�D$h1�A����B�C�D9�r��D$hH�<$L����DL��$HA�y\���D$8�&����D$PD�$$�$������D$�D$ ���D��$��D$8���H�D$x�	�%���H�D$xI����
��D���A�9)��D$PD�$$M��H��$@�$���f.�fo�$�fo�$�A_Ag�2����M�wL����$ H+�$�A�Uf��fA�G��tI�C@f�x
��H�I�C@�D$��;D$`t A�9)u�D$`��$0I��A�F�A�F���$���$���$�A�C`H��$�L�0H��$�L�H��$��0H��$��8H��$�H�������$0��)�9���H�D$x�1������{h���H�D$xL��$H�7���fDD��H�E�ڃ������H�5LeHc�H�>���D�T$dD��E���-�D$8�A��������H�d�"��?H�5��"�
�RLc�I���F#�A���tH�pE1�����H����?��A	�D9�u�L�H��$H�'���f�A��A����H��$�D��$D��$L��$�Hc�H�$�D$h��i��$���D�xD�@E��E��@��$�L�eH�E���9L�[�C^H���xL��H)��ԈSH�t$pH���C�H�$H��D��$�D��$�L�\$h�G���L�\$hM9�D��$�D��$�L��vDH�UH@A�I��f����D�E��ta���"A�V�H�EHDʈPH�EHH�PH�UHM9�w�A��H$M��A����'���L��$�D��$H��D��$������"A�V�H�EHDˆPH�EHH�PH�UHM9��_���H�<$L��$�D��$D��$H���H��H�$H�t$pD��$�H��D��$�H�L$h�.���M9�H�L$hD��$�D��$�����@1�1�����M��H�D$x�<����DA�pH�4dI�PH��0t�H���2H��0u�D9�������\$M�HL��$HA�H�\$ �$�\$P�}DA�F���IF���H��$�ʉ��<��f��D$8��\����D$D��$8�D$ E��yD�$$DŽ$��5��A�)H�hc��+��
��-��
A�Q��I�yH��$HA�QI��H���������1��I���4�L��$HA�Q��\r�A�1�0u�D9��w��-��
��+�/
H�|$0L�U(u!A�����
M���fA�z���A�]RL��H+E(A�UH��L��DŽ$4	A�GI�G	L+U(�|$�E�WfE�OL��$HA�GI�������D$�����y��E1�H���|$M��E1�H��$HE1Ҹ^A�^L��$8����A��ǀx?��@<=t<!t<<�	�|$M��E1ɸ`E1�E1�A�`L��$8���L�HL��$H�@�PÀ���<<�fH�U�>�K�H�PH��$H�x)���|$E1ɸYE1�E1�A�YE1�L��$8���H�PH��$H�P��)t,��t(H���f.���)tH��$H�H����u���d��H�D$xL��$H��u��H�MA�)A�M�qL��$HA�A���I�Af�H��$H�I��H��H�����u�L��L)�H�|$0�D$h�����fD9����� �m1�E�����L�U(����H��!���=��H���|$E1�E1�A�H��$HE1��ZA�ZL��$8����H���|$E1�E1�H��$HE1۸XE1�A�XL��$8���L�HA�)L��$H�HH��_�S���H���|$M��E1�H��$HE1Ҹ]E1�A�]L��$8�>��A�SH��$HH�t_L�JL��$H�rHc�����[H��1�fD��H��$HI��H���LN��r�Lc�B�u�@��)�+�����H�D$x�&�{��H��$�L��L�$M�w	L�\$H)�H�{H��觜��I�G�]L�$H)�L�\$��$0f��f�CA�GUfA�GI�C@���D�t$d��$�<��$� E���S���L�c�( L�������) Hc�L�H���DŽ$��D$�D$ M��E�������h���L��$8H��$<DŽ$<DŽ$8L���A�<)��<:��I�QH��$H�B���-<KwRH�6\��Hc�H�>��I��H��빃	fDI��뫃	�	��	��	@��	�߁	�Mt��H�D$x��������(�D$L��$HM��A�H�D$ �$�D$PH�E]������D��D�rD�WE9��D��D�����A�����F�T�D�A9�t5��@D��E���A��A���D��FD�\�E�A9�uE��A��A�RE9�s�A9��&A�D$�D9��_
D9��I�QD9���A�H��D��H�T$h����H�T$hLc�I���fD�t$ D��E��D)�H�|$0�D�D$ H��$H����D�L$PIc�E�C�fDE��A�T$D��A��AIԃ�A��Hc�D��E��t#H�UA���2H�ʃ�H��A���D��A��H��E9�u�E���W��D�Mt �$���|$P������<���xE�`�H���D$8���DDŽ$�D�$$E�����H�\$p1�L��������JI�_A��,���H��D�Bf����H€:Uu�D��)Љ�$�E����A�H�M(L�EHH�ߋ�$�L��$��D��$D��$I��贻��H�CHc�$�H��H��H�D$p舘��D��$D��$�D$h1Ƀ�i�L�����@D9��0��C9�����D����@A�yE�`�I�����@H��$�M��D�Qf��f�Af����H)���f��u�D$��$��$��$����D$d��$���$���$��������L�c��L���x����H�I�A�$I�\$H���\���� H�H��H�XH���C����
 H�H�H���1����/ H�H��L�cL�������_ H�I�A�$I�\$H������0H�H��H�XH�����D�|$ H��D$8H��D$hH��$H���H�D$xL�L$ ������HI�_A�����A��H��I��L��$���$�D��$D��$�褹��H�CL��H��H��H�D$p�}���E��D��$�D��$���rD�$$L������Hcщ�����K�������D$DŽ$��D$ ��������H�D$xL��$H�@���H��$�I�OH�p ��H��H���҈Q�H9�u��	�A����y������E`)؉Ã����H�|$0�i���A�H�}(��$����j���I������2��A�H��D��$H�T$h�/���H�T$hD��$H�H����L��I��雾��H�D$x�����A���p�D�$$L���o��L�JH�ML��$H�B<<�)�\$<'A�}�'DD؉\$ �$�\$P����DŽ$�A	ŋD$E��D$ ���A�GdH��$H�B<R�XL�Z<<�<'��L�RA�'�����L��$H�BH�u��@L��$HA�SH���#
I�RE1�H�=jVA������)C�L�D�lH�H��$H�I��H�R���9E��x�Hc�u�E����A�OH��$HE1�1�H+E0L�|$I��H���D$H��A�G�H��$HH+E0fE�g���A�G�L��$H���I�QH��$HA�q�0��I������o]`��DŽ$����H��$�H�H��H�� ��H����
H��H9�u�H��$HD�|$ �D$8�D$p����H��$�H��@H��H�� ��
H��H��H9�u�����H��$�H�H��H�� @�
H��H��H9�u����H��$�H��@H��H�� fD�H����
H��H9�u��K���H��$�H��H�� ��H����
H��H9�u쀌$���������H��$�H�H��L�B D�8@>H��H��I9�u����A9�����-����+��H�|$0L�U(�_�A�1��?�D$A�>�D$ �$�D$P��H��$��o��)�$��o���@)|$ )�$�H��$H��$�H��L�B H���H���� H��I9�u��>���z&�=
L�RI��E1�������A�X���H�E@�E|H������A�q�P	I��A�W��PA�W�H�H��u����H�D$xI���?���f�E��E)�H��$HE��~I�AH��$HA�A9��>L�HL��$H�8)�&H�|$0�A�`�|$M��E1�L��$@D�mxE1�A�A�`H��$4DŽ$4L��$8�R���H�� fD�
H��H��H9�u��]��A������H��$�������	f���H�����:
����u�D$d�������L�c�L��蘎���Hc�L�H��腎����H�H��H�XH���l����
H�H�H���Z����H�H��H�XH���A�����H�H�H���/���� H�H��H�XH�������. H�H�H�������0 H�H��H�XH������^ H�H�H���ٍ���` H�H��H�XH�������/H�H�H��讍���0H�H��L�cL��蕍������Hc�L�H������$�����$�D�d$����H��$�H��$�H�\$pA�D��$M��E��Hc�D��$I��H�4$D��$A��D��$E��f�H�$H�t$pL��H�]H���I��I9�s>H�EH�A�$I��f��D��0A�T$�H�EHD�PH�EHH��H�EHL9�w�L$A��I��D;�$|�E��H��$�M��D��$D��$H�\$pD��$D��$�4��H�U�
��L�HH�D$x��#��fDD�T$X1ɉ�H��E����1�解�����^H�U(I�GLc�H�MHH��H)�I�H��H���H�UHH+E(�BH�EH��H���|$E1�E1�A�H��$HE1��[A�[L��$8�ɹ����$������H�|$0���D$h�}XH�]P��~zHct$hE1�L��$�D��$�E��I�܉�H��I����H�H�D$pfDI�t$L��L���P�����uH�D$pA�<�cHcE\A��I�D9�u�L��$�D��$�D�T$X1ɋT$hL��H��E�����p����Å��%E���ML�U(�e������$H�\$xE‰���A���Q�E1�<>H�MA�)A����A��7��L�uP�EXHc\$hL��$�D$XH��$���~�CL��$E1�I��H��D$pH��$��D$%��$��QH��$�A�<uZA��u`f���V��9�t��$�����D$pHcE\A��I�D;l$X��I�^L��L��H���m�����t�yҋT$XHcE\L��L��$D)�I�<��Hc��Ҋ��D�\$pE����H�EP�}`H��$�EX�O�D$X��~@H��$�|$X1�f�I9�t�f����9��<��HcE\H�9��I�^��H��$L��H��A��E`��A�F�����D$h��H�A��EX���DŽ$�������D$�D$ ��H������D$h�1����$<�|$�$8��!�<)�*I��M���^E1�L��$HE1�E1�A�^霶��A�o1�I��L��$H���H��$�1��f����� t'H����p�
��t��u��߈
����È
��D�d$dE���S���L�c�L�������' Hc�L�H������) H�H�L�c�L���I����D$A��D$ �$�D$P�A�L��L��$�D��$��f�������H�D$xL��$H��l���H�D$xL��$H��T���A�R���D�$$����L�RA�>�����L��$H�B�����E�����E`��D�D)����-D…��;Ed�f��A�fA�GA�`�|$M��1�D�mxE1�E1�A�`L��$@L��$8DŽ$4�	���H�D$xL��$H�醼��H�D$x��v���@��)���H�D$x�'�\���H�D$xL��$H��D����HՁ���L��$HL�R�ZE1��B��H�D$x�;�	����E`�t$pL��$�H�����������H�D$xL��$H�A�һ��M��E1�E1��M���L��$I�^�E`�H���H��A�����H��$HD��A�GfL��$HA�CM�S�`�H�D$x�6�m����׉�A���2��H�E(H��I9��_�D$1��t��A�I����A�G�L��$H��1ۉ|$%��������$�1ۉ�$�����%�D$T餯��H�D$xL��$H��ۺ��H�\$xI����Ⱥ��H�D$xL��$H�*鰺��H�D$xL��$H�1阺��M��H�D$xM���>邺��H�D$x�0�r���H�D$x�*�b����EXH�]P�D$h����E1�Ic�D��$�M��D��$�I��D��E��H�D$pL��$�IcE\��H�;l$h��H�T$pH�sL���,�����u��L��A�GA�fA�G���H�D$x��ʹ��H�D$xL��$H�+鲹��H�D$xL��$H�:隹��H�D$xL��$H�0邹��M��L��L��$E��D��$�D��$�D�L$X1�D��L��H��L�\$pE��D�D$h��L�T$X�ښ������f��A�GA�fA�G�;���I��H�D$x�����H�\$xI�����H�D$0H��t	�8������}p1ۉ|$逭��H�D$xM���鼸��H�D$x�)鬸��M��E1�I�Ӄ��~�M�����H��$�1��H��$��I�GH�D$X���D�t$����L�T$XD�D$hL�\$pE�������A�{R��A��tWE��~DD9md|%fA��A�fE�o�>���H�D$x�:�	����H�\$xL��$H���A��������޺H�5RL��������u�A�GhA������H�
1E�A�4H���1�����Ek�
F�d&�A9��E��uA���E��A�GfA�fA��fE�_�����H�5}D��
�����I�GH�D$X鏽���Ɂ���|$dD������1�H���D$8�������AWAVAUATUSH��H�$H��(H�T$H�L$L�D$dH�%(H��$1����D$\%�D$h�D$H�|$xH����	H�D$I����M��H�H�D$H��t�H�|$�:
H�D$�M����I����L��$�H��$�I��H��$�I��@H��$�� ��	L�[PL�
ZPL�ePL�\PL�=IPf.�Hc�M�,A�}(�A�|*�
I�D�L��H������������H��L����������w�H��L����������t�H��L����������i�H��L����������v�H��H�=�O����������H��H�=lO���������H�ƹH�=ZO�����u&���Hcځ��M�,	�A�}(���@D�\$E������%�=���=������H�D$xH�\$�D$h8A�8L)�D�Ǻo�nH��B�f����QH��H�H@��u������
���PH����f������2���f��������	�������� ��fD���0��fD��%p= ��~D=@�=P�d=0����H�A�
H��$fD��$�5����=���DŽ$�
DŽ$��$L��$L��HDŽ$�HDŽ$�HDŽ$�HDŽ$�L��$�L��$�L��$�L��$��k}����$����L�D$hH�L$xL��H�T$pE1�H��$�HDŽ$�HDŽ$�L�|$pƄ$^L�D$0H�L$@H�T$8H\$xH��H�D$dPH��$�H�D$0PjH��$�H�D$HPH��$�PH��jj�
���D��$�H��@�D$xD)�E����HcT$\������$�����$�H�H�T0H�Ee"H��H�T$H�H�T$HH��H�����P1�E1���ERCP��$��0L;5e"��$�L�l$x�E��$�LD�H����$�f�uE1�f�E��$�L�u D��f�E��A��f�}f�UfD�E�EH�H�E(��$�H�M0L�4HDŽ$DŽ$�DŽ$�H��$�L��$�L��$�DŽ$HDŽ$�L�t$xA�^�}j�t$0��j���t$HSjjL�D$pH��$�H�T$x�{�����$ f�E��$(f�E��$4H��@D��$�f�EE��t�D$d�����L$h��uH�D$x�8t�D$hH�D$pH�PH�T$p�H�D$pHcT$\L)�H9��9�D$h�T$1ۅ��É\$�L)�H��H��A�U��D$h��u[H��$�L9��
H�B��t$L��H��$��B��R���	�H�M�,I�\A�U���	��{��H��u��D$h5��$�����t$�����L��A�������z��I��H��tr�\$L�l$ fDfA�yuEA�A�A�Q�L��L���	кH�M�T�E�A��u证��E����af��fA�AI�yD�����]z��I��H��u��D$h���J�E��s�D$d����f�H��$dH3%(H����H��([]A\A]A^A_�@���@����� �����L������z��H�|$�������D$h,A�,��������������
�P�N���L�5�a"���DŽ$���DŽ$����H�
�HH�D$H�H�D$H��tD�1������D$h������$�]f9]���D$h�%��������$E‰D$hH�pa"H���D$xD�D$hD)�H�\$H�
+<�E���m����#���L�L$l1�L���D$l��$�L����������M�D$d���f����Eu@���tH��$���H���4�р�9�D�f�Uf�M�/����������l���f��������H�D$�D$hA������H������H�D$1��c����DŽ$�
�Z����D$`��xM��tH��$���H���9�u��f�Ef�M�"���H�D$xH�\$�D$hA�L)����1�L��L�������D$`��y���$�1�L�����������f�M�����D$hA����H�D$xH�\$�D$hA�L)�����v����M��I��H��1��,v��f.�f����������w#H�cF��Hc�H�>���H����1��fD�1����
1����1����1��f.�DAWAVAUATUSH��H�$H��H�$H��H��$� H�T$XI��H�w ��$�A�UH�|$(��$� L��$�H�\$hdH�%(H��$x 1�H�GH�t$xH�sH�t$`H�D$PH�GH�D$@H�H�D$ �G0%�D$H��$� ���D$t��$� ��H�H��H��$��D$H�H��H�_H�D$8����b��	�<H�H��A�|\��|$t��<H�t$8L�D$ ��|$1҃���@DL���FH��L)‰N��D�ډF�A�Ef����IŸA�}T��D�Z9�|��D$L��H��$x dH3<%(�D$L�uMH�Ĉ []A\A]A^A_�H�t$(�F.�X���f�A�Ef����I�A�}Tt�H�D$hHcX�(I�ۅ��%H��H�t$`H�|$8�$H��D�L$�vt��D�$D�L$�L��1��Bf����9�L��Bf����H€:Tt�D�d$HE����H�|$XHc�H��H)�H��H�\$PH9���H��H)؉�H�H)�H�|$XH�D$(H�|$XH9xvH�xH�T$8L�D$ E1�D�T$�A�Ef����9�|3L��A�[L)ǃ�E9���������BA��H���z�)ljJ��z�A�Ef����I�A�}Tt�Ic��Ic�D�T$H�D$L����L��$�E���D$s�D$sA��D��$���$�H�D$xH��@HH��$�H�D$XH��$�H�D$1�H�|$h��H�t$@H���D$0����H\$8�H�D$D�_�D$H9�s.�0D�L$H�D$��t$0E��t������E�������E1�E��L�t$`E1�D���D$4I��L�T$8DŽ$��=��B�����M;l$�K����R��A�A��E�n��I��A�V�A�F�E9�~RIc�H��LҋD�j��x�E��t{A�O�L��H��I�L
�f�H��H9�tW9u�z9xu�A��E9������IHcD$H�T$8Hc�H�|$`HD$I��H�D$hH�T$`H�|$8����f.�Hc�HD$ D�D$H�D$��$E��uH�
�H�<�DL$4�L$4H�5CI���tSHD$�|$HA��0��t���wd�<$8~5�F�w-H�
�@Hc�H�>���D$L��
���������E1��$=�w�H�=�@Hc�H�>��D�ۉ���H�=�X"��?D�H�=Y"C�IB#4�M�����E��t$E1�f.��x��H����?��	�A9�u�A���E������y:L�D$PH�T$XI9��f:1�H�B�I9�s4�R�����t�#fD�������#H��I9�u�H�D$P�wH�D$X�����$|�
����$h����$T���$,����$@����H��W"��?�H�X"�R#4�H��ɉ���A���D$0��t&H�D$1�H�P���H����?��A	�9�u�D�D$0�G�D$����Hc�$�HD$PH9D$��#A������H�t$H9t$P��$A�������<$�t*A�D$D;d$�����KE�kA��I��A�K�A�C��D$����'�D$0=��!C�Y.��
������1Ƀ���9���4A������A�T$D;d$�����D�L$�KE�kI�{A�A�CE����/�L$0�����:�T!�L$0��( �����Ƀ�@��@��9��v"�$����MAD�LE�;l$�#����E�nA����A�F��I��A�F�A��A�F������<$�t*A�D$D;d$�����KE�kA��I��A�K�A�C��D$����&�D$0��
�W?��-1Ƀ�
��-�<$�uA��I��H�D$�R�u�@��f����9���9;l$�\��������E�nA����)�A�FI��A�F�A�N������A�t$D;d$�����SA�CI�KA��T$E�k���z.�|$0��
�G4�e 1҃�
� �<$����}AD�ID�;l$������A�FA����E�n��I��A�F�A��I��A�V��c���A�L$D;d$����A�DD�D$E�kI�{��$�A�A�CE����'A�����A��tP����9�|$s��9L�
`T"���A�A��A����D�L�
�T"E�AH�T"F�D�A�E��D�D$0D9���E9�@��	�<$+@��@8���.A��A��I������R��~,A�D$D;d$�����A�LE�kA��I��A�K�A�C��D$����$�����A��tH���B>�|$s�7>H�
�S"����������H�
�S"�AH�ES"�|�����|$09���9���	ȃ<$+��8��3A������A�T$D;d$�����A�DA�CI�KA��D$E�k���R#�����A��tK����;�|$s��;H�=�R"�����������H�=S"�<GH��R"D�L�A�D��D�L$0D9���D9�@��	�<$+@��@8�� 4A��A��I������H�t$�Ff�$f������$��F�$<S���$�B����MD��h�3#H�D$��f�@f��$�f�����M4f����D��$� A�D$���)7D;d$����E�kA��I��A�[�A�C�A���n���A�T$D;d$���H�|$��E�kI��A�[�A�C��Gf�$f����H��8T��A��9T$�E��$��KH��H+T$ E�kI����A�C�A�S��Pf����HЀ8T��*A������H�T$A�L$D;d$���H��H+D$ E�kI����A�C�A��A�C��Bf����H€:Tt�A���}���H�T$L��$�H��A�L�T$H��H+L$X��$� P��$�PAUh�H��$�PH�t$8H�|$XL��$`���H��0L�$L��$����������2�D$L�,�H�D$�Xf��$�f����HÀ;Tu�Cf����HÀ;Tt�H�T$L��$�H��A�L��$�H��H+L$X��$� P��$�PAUh�H��$�PH�t$8H�|$XL��$`� �H��0����w����$��L��$�L��$����X��8�t,D;d$�X�H�CE�kA��I��H+D$ A�C�A�C�A������H�t$H9�$���!A�D$D;d$��S�<$UA�CA�E�k�8A��9D$���H�D$I�� A���@A�C�E�k�f����)�A�[���D$���"�D$0=�%��$�� ��$��&�D$0=���$=���$�E;l$�[��E�nA��I��A�^��A�F��
�t$����!�D$0��
�a7�m%��
�$�E;l$���E�nA��I��A�^��A�F���D$���!�|$0H�N"�������H�=N"���H�|$�BH��M"�H����2�WH�
c<Hc�H�>��D$�����E;l$�g��E�nA��I��A�^��A�F���D$���MH�D$(�p4H�P���S.H;T$�'2�E;l$�
��E�nA��I��A�^��A�F���|$���d �|$0��V �D$0Hc$H�
<H��$��"H�
�;:�E1�E;l$�����E�nA��I��A�^��A�F��H�t$�����D$0=�w*Hc$H��$�H�
�;�"H�
�;:�7�E;l$�&���E�nA��I��A�^��A�F����H�D$H9D$Ps?H�p�H�D$(H9pvH�pH�D$�L$H�@��…���H��$�����u1ҋD$��t�D$0=�wH��$��у��Eу��<$��8��#A�D$D;d$�n���E�kA��I��A�[�A��A�C���<$�t*A�D$D;d$�2��KE�kA��I��A�K�A�C��D$����D$0=�Q-�d#�� �B-��#�|$0����t1������1Ƀ���9��8+A����B��~*A�T$D;d$����KE�kA��I��A�K�A�C��T$����|$0�����1�:!�W�������1Ƀ���9���&A����R��~*A�D$D;d$�$��KE�kA��I��A�K�A�C�D�L$E���o�D$0=�6.���� �'.���|$0����t1������1Ƀ���9��c)A���w�1����A�L$D;d$���D�D$�CE�kI�{A�A�CE����"�D$0=�:*�I�D$0=/ �%*��D�L$0�A��_ t1�A��0����@��@��9��*�$�u-���AD�LE�;l$����E�nA����A�F��I��A�F�A��A�F���1�����H�t$H9t$P�aA����H�t$H9t$@��H�D$(�p4H�P����,H;T$�7-A���3�H�D$�PA�D$D;d$�F���A�SA��I��A�[�A��A�C���H�t$H9t$@��A�D$D;d$����E�kA��I��A�[�A��A�C���D�L$E���H�D$(�p4H�P����+H;T$��5A���~��|$�����t$0H��G"H�
H"H�=�G"���H��$���H��$��H��$����H�5bG"�AH��$��D��<��a)LcD$E1�LD$L9D$@��&D�<$�[H��$��Љ�����H��$�����FH��$��D�H��$��<��T&Hc�A��I�L9D$@�?&A���Ё��v�H�
�F"��?�4H��F"�v#�H�����tI�pE1����H����?��	�A9�u���G����T$���q�D$0=�t�
��
����E;l$�-���E�nA��I��A�^��A�F�����L$���
�D$0=��/���
����E;l$�����E�nA��I��A�^��A�F����D$����D$0=������ ���q�D$0=��k=��`A���0��D$������A��tH��$�����|$09��A)9��9)�E;l$��A�TE�nA����A�I��A�F�����D$���)D�L$HE���T!;t$0��0�D$0���0H��$��9���/A���|��D$���*;t$0� �E;l$���A�TE�nA����A�I��A�F��6�H�D$(�@-�D�D$E�����@0 �g*H�D$(�p4H�P���0*H;T$��5A�����A�L$D;d$���D$A�|E�kI�SA�;A�C���0A�����A��tO���J+�|$s�?+L��C"���A�A��A����D�L�D"E�@H��C"B�\��A�؋\$09���A9�@��	�<$+@��@8��Q$A��A��I���&��<$mt*A�D$D;d$�9��KE�kA��I��A�K�A�C��L$���6�|$0H�
=C"�������H�
zC"���H�|$�AH��B"H���O���./�W���/���;H�|$�@88����1Ƀ���9���!A���`��A�T$D;d$�w�D�D$�CE�kI�{A�A�CE���ED�L$0L�|B"D��A����A�L��B"��D�L�L$E�@H�'B"A�yJ����%E�AL�
�0Oc�M�>A��R��~*A�D$D;d$����KE�kA��I��A�K�A�C�D�D$E���l�|$0H�
�A"�������H�
B"���H�|$�AH��A"H���O���q(�$����-���H�|$�@88����1Ƀ���9���A����1����H�D$H�T$L��$0L��$�L�$H��A���pL��$�H��H+L$Xf����Ht$(��$� ��P��$�PAUh�H��$�PH�|$X�?�H��0����1L��$�L��$��E����Z�A���R��$��P�_H�|$�t$L�G!���r�|$0��"��O����A�0L��H+|$ ����F@����'H�=%/@��Hc4�H�>��|$���{�B�|$0��$���������	��A����E�L$D;d$����C�L$A�C��$�A�I�CE�kH��$�����B�|$0���$����������	� A��E��L��$��*�E�L$D;d$�F��CA�CI�[�D$A��D$E�k�����|$0��:���1���	��A��E��I�����D�JE��~*A�D$D;d$����SE�kA��I��A�S�A�C��D$���]�|$0��P���G���	��A���W�E�L$D;d$�s��CD�D$A�CA�I�CE�kH�D$E���1�|$0����������	��A��E��L�\$���D�L$E���������A��tH����%�|$s��%H�
>"����������H�
M>"�AH��="�|�����|$09���9���	ȃ<$+��8��A���a�H�T$�Bf����H€:Tt�A�D$D;d$�e�H+T$ E�kA��A��A�I��A�C���H�W="H�H����H�t$H�|$PDŽ$�L��$��FH��$L��$���$�H��$�H��$�H�D$@H)���$H�D$XH)���$H�D$H)�H��$���$�Ff�$f������$(�Ff������$,H�����H��$H�D$(H�@@H��$ ��L��$�L��$������KA�T$D;d$�6��E�kA��I��A��H�]<"A�C��@S�A�[�����<$�t*A�D$D;d$�����KE�kA��I��A�K�A�C��D$�����t$0H�
�;"L�
=<"H�=<"���H��$���H��$��L��$����H�5�;"A�AH��$��D��<���HcD$H�t$�<$�L�uA��I���$L9L$@��D��$��p���H��H��$�I�������HcɃ��)�H��$�H��$����H��FH��$��D��<��zMc��$M�L9L$@�eA�A���=��y���H�5�:"��?�<H�5�:"�#�I�����tI�yE1��7��H����?��	�A9�u�A���-����D$A�T$D;d$�?���t$�CE�kI�KA�A�C���1�|$0H�5G:"L��:"L�
a:"����H��$���L��$��H�5�9"L��$���H��$��A�@�D�A�<����$LcL$LL$-���DE�LE�1���L9L$@�vD�<$A��L��$�L��$�L��$�L��$���$�H��$���$�H��$��S���P��I�������Hc҃��)���H��DEA�D�A�<���Hc�A��I�L9L$@��A����=�~�H�
�8"��?�4H�/9"�v#�H�����t$I�qE1�����H����?��	�A9�u���I���A���X��H�t$�Ff�$f����H�T�:Tu�Bf����H€:Tt�A�L$D;d$�C��H��H+D$ E�kA����A�CA��I��A�C�������$�A������A�L$D;d$����H�|$��A�CA�E�k�Gf�$f����H�T�:Tu�Bf����H€:Tt�A��9L$����H��H+D$ E�kA����A�CI�� A�C��R���R��~*A�D$D;d$�g���KE�kA��I��A�K�A�C��L$���R�t$0��
�� ��1���
����~�<$�uA��I�����M;l$������A�VA��I��A�^��E�n�A�F�����B�D$��~*A�D$D;d$�����SE�kA��I��A�S�A�C��|$���z�|$0H��6"H�
7"H�5�6"����H��$���H��$��H��$����H�=`6"�AH��$��D��<��M�t$LcL$LL$��~�<$�uA��I���$L9L$@w|�F����P��H��$�I�������Hc҃��)�H��$����H��FH��$��D�H��$��<���Hc��$I�L9L$@��A����=��z���H�
�5"��?�4H��5"�v#�H�����tI�qE1����H����?��	�A9�u���/���1�����D$������
����������� ����D�L$0�A������1�A�������rbH�|$(�,���|$�������A��A��I���w��H�ƒ�I9�s9��=��H�T$X�������|$0���t�r�������v�A��A��I���/��- �������.���	����� �D��L��$�D�<$L��$���$���$��U;l$����D$E�nA��I��A�F����A�~���A�F����A��A��I�����A��A��I�����A�D$D;d$������E�kA��I��A�[�A��A�C��`��A�D$D;d$�|����E�kA��I��A�[�A��A�C��-��A��A���!��A���KH�D$(�p4H�P���H;T$�O$A������H����Ѓ�<�t���=��/�H�
3"��?H�=Q3"D�C�@B#����E��tH��1����H����?��	�9�u�=��������A�D$D;d$������E�kA��I��A�[�A��A�C��D��H��2"H�H����H�|$H�t$PDŽ$�L��$��GH��$L��$���$�H��$�H��$�H�D$@H)�$H�D$XH)�$H�D$H)�$�Gf������$(�GH��$�f�$f������$,H�����H��$H�D$(H�@@H��$ ��L��$�L��$����N���H��1"�@SHD$H�|$�G�$�4��A������D�H�<$A�����D�KHc���A)�H��H��H�H��(H)�H�$HcH�\$PHcwH��H�H��H�)�H9�sH���P���������)�H9�u���"�E9l$�(��E���I��A�F�E�n�A�N�H��H;<$u����$4��$0H�t$��)��Ff����H��<Tt�I���VL+L$ H��E�A�����<w�CD��f����)ƅ��D;d$��E�A��I��A��A�C�E�k�����H�D$�L$�xA��f�<$fA��E��I�����A�D��+L$ ��F<�H�5���Hc�H�>��A�����A�����A��A��I���t��A��E��I���e��A��E��I���V��A��A��I���G��A���>��L�L$E�ID8H������@��@��9��A��A��I�����A�����A�����A������A��E��I������A������A������A������A�����A�����A�����D;d$������$�E�kA��I��A�C��DA�C����A���l��A���c��A���Z��A���Q�������L�L$E�ID8��������A���&��A�����A�����H�D$(�@,����A�D$D;d$�!����E�kA��I��A�[�A��A�C�����A������A�����A�����A�����D�HL�+."H�D$�@C9������`���D�@A�@�<��A��A��D	����?���H�\$H9\$Xr1H�D$(�@,�����tH�D$(Hc@(HD$PH9D$X���|$L���D$L�������D$L�;�$�����H��$�H�L�\$H��L�$H�~�AE��L�\$L�$��$�~"H�|$PH�D$XH��$�H)��H�D$H)��FH�D$(�@.����A�����A�����A���y��A��A��I���j��A���a��A���X��A���O��A���F��A���=��1�A�p�Rf����9�*A�t$D;d$�D���yE�kA��I��A�{�A�C�����A�@���uf������t9���;l$����A�A��I����A�V�E�n����1�A�T$D;d$������A�CI��A�K�E�k����H�E;l$����A�A��I����A�F�A��E�n��U��1��R��~*A�t$D;d$�h����E�kA��I��A�K�A�C��������E;l$�6��A�A��I����A�V�E�n�����1�A�T$D;d$�
����A�CI��A�K�E�k������E;l$����A�A��I����A�F�A��E�n����H�t$�~@8x����1҃<$��9��	A���d���HH��*"H�D$�@9��������P�B�<������	���뮸�H�t$�~@88����듃�	�����s��D$0=/ �i���|$0���_ �I�1���0���9��aH�D$(�@.�����A�����@�D$0-( �����A������D$0=/ tv�D$0=_ t=0�-��A���`��- ��
����������u��H�A�<������	����������u��H�A�<������	�������|$0����������������	����E;l$������E�nA��I��A�^��A�F�����D$0=/ t����D$0=_ t�=0�J�먋D$0=������r-( �������A���Y���D$0-( ���������r7H�D$(�@,�D$%��2�A��� ���D$0=�t�r
-( ��v�A������$-n��EAD�LE�;l$����A�FA��A���I��A��E�n����r=H�D$(�@,����$�����2��A������D$0=�t�r
-( ��v�A���u����	�0������D$0=/ ��	v3�|$0���_ ����1���0�������	�������- �������p���D$0-( �����A�����- �������R��- ��
������A��A��I�����A��A��I�����E��~�<$CuA��I��A���E;l$����A�A��I����E�N�E�n��s��A��A��I���d��A��A��I���U��A��A��I���F��A��D9��*���`��DH�D$�$�M�@��f����9��
;l$�0����E�nA��I��A�^��A�F�����A��A��I�������|$0��p�����D$0H��$�H�*���"2H�
:2�a���A�����A�D$D9d$�	E�A��I��A�C�E�k����A�D$D;d$�x����E�kA��I��A�[�A��A�C��)��D��$�H�D$�R�M�@��f����9���;l$�"�������E�nA����)�A�FI��A�F�$A�F������$��+����8��I��H�D$�R�u�@��f����9���;l$������$�E�n��A��A�FA��I��A�F��]����~�<$ouA��I�����E;l$�d��A�A��I����A�V�E�n�����$��$��M��EH�D$LE�$�ED̃��@f����9���;l$�����$�E�n��E��A�FA��I��A�F�����|$0�����Q�D$0H��$�H�
���"2H��:2�R���A��E��L��$��\��H�|$x�D$0���47@84��A���:����~�<$�uA��I�����U;l$�A����A�FA��I��A�^��E�n�A�F������$��D�EED�ID�;l$����t$E�nA��I��A�F���E��I��A�v�����|$0��h���m�D$0H��$�H����"2H��:2�y���A��E��I���Z���$��BLE\$�EED�L�\$;l$�d��A�A��I����A�F�E��L�\$E�n�����|$0�������D$0H��$�H�i���"2H�I:2�u���A��E��L�\$����<$�uA��I��H�D$�R�M�@��f����9���
;l$���������E�nA����)�A�FI��A�F�A�F��T���E;l$�s����E�nA��I��A�^��A�F��%���|$0������	�D$0H��$�H�|���"2H�\:2�1���A�������<$quA��I��H�D$�R�M�@��f����9��~;l$������E�nA��I��A�^��A�F��{��L�L$1�I�yH9|$@����1�A�y
������T$0D�<$�E;l$�m����A�FA����A�I��E�n�E�N������~�<$�uA��I�����E;l$�$����A�VA��I��A�^��E�n�A�F�������~�$��)�	��6�	�B�U;l$����A�A��I����A�F�E�n�����D$�U��;l$����A�F�$��I��A�^�A����E�n�A�F��X���<$�uA��I��H�D$�R�M�@��f����9��~;l$�H�������E�nA����)�A�FI��A�F�A�F����������$��*t��7DE�LEڍE;l$��A�>A��I����A�F�E�n����H�|$(H�t$HcO8H)�H9������<@8>������tH��H�t$(�v=@8p�v��A���[��H�D$�R�M�@��f����9���;l$�\���A�DE�nA����A�I��A�F��
���$��(t��5DE�LEٍE;l$����A�A��I����A�F�E�n�����A������1����A�����A�����A������|$0H�t$���������������f�������A���m��H�t$��H��H��:TH�T$u�Bf����H€:Tt�H�T$H�T$L��$�H��A��L��$�H��H+L$X��$� P��$�PAUh�H��$�PH�|$XL��$`蛾��H��0��������$A�L$L��$�L��$����X���8��aD;d$�ɿ��H�D$H��H+D$ A�A��I��A�C�E�k��������i��;l$������$��A�VA��A���I��E�n�A�F��=��;l$�_���A�A��I����A�V�E��E�n����1��<$�����;l$�*���A�A��I����A�V�E�n����H�D$(HcH8H��H)�H9T$�x
A�����A�����H�D$(Hc@8H��H�H9T$�%A�������`�������;l$�������A�VA��I��A�^�E�n�A�N��V���;l$�x���A�A��I����A�V�E�n��2���A���)���;l$�K���A�A��I����A�V�E�n�����H�D$(H�|$L�\$D��$�L�$H�H8�
3��L�$L�\$�����A������D��$�H�|$H�H8L�\$L�$�a3��L�$L�\$���3������A���D$���1��<$����D;d$�������$�E�kA��I��A�C��T;A�S�����L��$���E��c��H�D$(�p4H�P��t~H;T$���D��$�H�|$H�H8L��$�L��$��2��L��$�L��$������A���˿��H�D$(HcH8H��H)�H9T$��A��騿��A��響��H�t$(H�|$HcN8H)�H��H9��S��v<@87�F����H�t$(H�D$�~=@8x�%�A���K���@D;d$�h�����$��D�����$��D$L�����C��D$L�	���$��D$L�*���$�������D$L�1��xH�
R"H�D$�@9������������;l$�ʻ����A�VA��I��A�^��E�n�A�F��y�����H�|$(H�t$H��<@8<��	A���T���H��$���D�����A���7���H��$�����������	�E;l$�;���A�>A��I����A�F�E�n���H�|$(H�t$HcO8H)�H9�����<@8>�����tH��H�t$(�v=@8p���A�D$D;d$�˺����E�kA��I��A�[�A��A�C��|���H�D$(�p4H�P���1H;T$���H�|$D��$�H�H8L��$�L��$�D�L$��/��D�L$L��$���L��$��d�A������D;l$�)�����A�VA��I��A�^��E�n�A�F��ؼ��A��A���̼��A���ü��I��A��A��鳼��A��I�����H��$����<�A��H�t$�EH�VH9T$@v
�~
�	;l$�������E�nA��I��A�^��A�F��J���H�|$1�H�OH9L$@�=��1��
���/��H�t$1�H�FH9D$@�����1ɀ~
�����A��E9�|j��uf�D$Hc�HT$���m���E�I��A�F�E�n�����A�2M�ZE1��A�BA�E�j�D$阻��A��鏻��H�\$PHc�Hc�H�H�H9�sH���x���@���@��@��)�H9�u�E;l$����A�؃�A�FE�E�nA�V���9D$�������E�n��I�� A�v�A�F�A�V�����H��$�������A�����;l$����A�A��I����A�V�A��E�n�龺��D����E;l$�շ��A�TE�nA����A�I��A�F�醺���|$0H��"������������H�"�BH��"|������H�D$(�p4H�P���2H;T$��D��$�H�|$H�H8L��$�L��$�D��$��,��D��$�L��$���L��$����A��E��L��$��ʹ���E;l$���A�TE�nA����A�I��A�F�闹������H�|$�@8x��������xH�
�"H�D$�@9���������H�|$�@8x����� ��A��A���/���A���&���H���|$0L��$�H��L��$�H�T$L�$��*��H�T$L�$L��$�L��$�����H�D$(�p4H�P����H;T$�f�D��$�H�|$H�H8L��$�L��$�D��$��K+��D��$�L��$���L��$���A��E��L�\$�a���f.��E;l$�v�����E�nA��I��A�^��A�F��(���H�D$(�p4H�P���uH;T$��D��$�H�|$H�H8L��$�L��$�D��$��*��D��$�L��$���L��$����A��E��I��鬷��H�D$(H�|$L�\$D��$�L�$H�H8�A*��L�$L�\$����H�D$(Hc@8H�|$@H)�H9|$����A���R���H�|$(H�t$�<@8>tA���6���A��E��I���'�����t�H�|$(H�t$�=@8~t�A������H�t$(H�|$HcN8H)�H��H9�����v<@87�������H�t$(H�D$�~=@8x���A��E��L��$�馶���H�t$(H�|$HcN8H)�H��H9�����v<@87�����t;H�|$(H�D$�w=@8p�h�A��E��I���I���A��E��L��$��5���A��E��I���&���;l$�H�����E�nA��I��A�N�A�F����A����f.��|$t�����D$4����H�D$h��$�9X��H�D$(�@,�u�Ā�ز���|$L��Ͳ��H�D$H�t$@H9������H9D$X�������$��D$L������H�D$(H�\$PH��$�H�@H)؉H��H)؉G�p�����&��H�t$(H�|$HcN8H)�H��H9��i��v<@87�\���t!H�t$(H�D$�~=@8x�?�A�����A���޴������Ӿ�������H�|$(H�t$�=@8|���A��驴��D��$�H�|$H�H8L�\$L�$�C'��L�$L�\$�������|��A���k���@A���^���A���U���A���L���DH�D$(H�|$L�\$D��$�L�$H�H8��&��L�$L�\$��u	A���
���A�����H�D$(H�t$@Hc@8H)�H9t$���A���޳��H�|$(H�t$�<@8>tA���³��A��鹳����t�H�t$(H�D$�v=@8pt�A��闳���D$L��龰��A��E��L��$��v����;l$�������A�FA����A�I��E�n�A�F��=����D$��+���I����� ���A��E��L�\$�����H�t$(H�|$HcN8H)�H��H9�����v<@87�����t:H�|$(H�D$�=@8x�f�A��E��L�\$鯲���A��鞲��A��E��L�\$鍲��fD��AWAVAUA��ATUSH��H��(H��$`H��$pD�L$D�D$(H�L$H�|$ dH�%(H��$1�A��oZ�D�L$h�,H��H����H������H����H��u��$h������$h�����$x��HDŽ$H�C H��$�H���H�D$0H��������tH�VH��$�tH�F H��$��;ERCPI���lHcD$(�|$Mc�N�dL�|I��H�D$`��I�G�H�D$8A�FH��$��Ɖ�L��$����t$@�ƃ���@��	�A�N�t$\A�v�D$Y��A�vD��$���$���$Hc�H�H�H��$�������L$%p��pE�= �]
vO=@��=P��	=0��	���H��$dH3%(�b
H��([]A\A]A^A_��
=u�DŽ$�
DŽ$��$�������N���	���$��@���L�d$0L��$�H�t$pH��L��L���s!��I��H����	M��MD�L�|$0�W���H�NH�L$0�����;ERCPI��H�D$0�1����DŽ$�\$��t�D$ ��H��$�H�D$PH���HA�F�Ã�f�\$ZA�^���\$��u$��
f�|$ZuH�\$0H��t
�C���D$D�����H�D$H������\$l�\$@�t*A�V����H�؉\$@H�\$P���T$h���D$l�D$M��H��$�M��%�D$,fDD�\$,E���jD�T$M��E����H��$�D�L$M��H��E����I9�r9�nfDHc�$H��H)�H��I9�w��$A8<$��I��L9�v7��$��t�E1�H�K8L���� ����uH��$�I��L9�w���D$�Z�����D�D$DE���3M9��:A�E9�u�,@A�E9��I��M9�u�f.��D$��RH�|$0H��t�GtL��L)�9G(w|�L$@����*L��L)�H=��1������L�H9D$8��t$h����I9�v6�H�pH�t$89���H�D$8�t$@��H�P9���H��I9�u�����s����I��I9������$��uiHc�$H��H)�H��I9�w��$A84$��I�D$I9�v�A�L$����t�������u�H��I9�u�M����H��H�K8A�L��������S���H��$��H�D$8@L��$�H��L��H��jjA�F��P��$�P�t$HD��$�L�D$H�L$XH��$訧��H��0����m����|$Y�b����T$��t(��$H��$�����I9��W��D$M�l$���M9������A�}�
����M9�����A�}
����A�F �������$����v��$�����D�\$,I��E�������DM����f�|$Z��H��$�H�D$`H�I9�vw�|$����M9�r$�d@L9��I��M9��B���H��$���$��u�Hc�$H�H��I9�r͉���$��Hc�A8Lu�����DM����M9����A�D$��<�t����DA�E��<������I��M9�u�M���������?�����$
A8D$����'������������$
A8D$�S�������Hc�$H)�I9��4�����$A84$�"�����������$
A8D$����������.���@M9�����A�EH�T$P�9�u���A�E�9�����I��M9�u����D�D$\H�K8L�������������H���H�t$HH�������M9������A�EH�L$HH�ƒ�H�������s(�l���@A�EH�ƒ�H��������I���I��M9�u��3���E1�H�K8L������������A�}�
������$��������M9������E1�A�}
A��M�����I9��|���H�p�H�t$8;T$@����;T$l����H�D$8�t$@�|$l��H�P9���9����H��I9�u�������H�h"H��$�H�D$P���M9��e�����$��tBL9���I�EI9�v'A�U����t�q������ueH��I9�u�L��I������Hc�$H�H��I9�r�����$��Hc�A8Lu��������$
A8Du�����f.�H��$�I���S���H�K8A�L���^�����M����u���A�V������D$DH�D$H�����$
A8D�����Z���H�H��$�
f��$�;���DŽ$�+���D��H��T$�/�������D$(�T$������D9�����A���������<��������������DH�\$P�D$DH�D$H�,+�=���DŽ$�
���H���D$D�����H�\$H�
��������������������������x���������n���������d�������Z������P���f.�@L���Lc�1�I)�M9���H�AHc�Lc�L��A����S�Ad����I�DL9����>L�F������RL��A�M�Z��=���M��9�t��PH�
��!A��I�A��A����Hc����B�����D)��H�
��!Hc��QH�!�!D�9��m���1�[ÐC�I��B:D��,��D)�����D��1��!@D�>L�AHE�:H��C�C8u�A��A)�E��ظ[�f�H�
��!��?L��!��[A#�H��ɍ[��������M�TM��f.�I��A�P�����?��	�M9�u�M�T����fDH�9�!��?D�H�z�!C�[B#<�L���E�[����}���J�tL���H���B�����?��	�H9�u�K�t�P����1��f.�AWI��M��AVI��AUATUSH��xH��$�H�T$�L$0L�L$ H�D$dH�%(H��$h1��D$(�D$4A�Gd�D$I�H�PI�I;G�
I��$�I;G�I��$��}H�D$ E�*M��M��H�$A��Hc�A��r�!H�=V�A��Hc�H�>��I�SM��Lc�M��N����$�L�%�!B���D$B�D�D$ A�E )�H�H��L��I+����b�8@��@��|$(A����A��|$4�~�|$8L�\$HH��M��L��L�T$HA�4�D$@L�PU�t$(L�L$ �L$PH�T$(���H�� L�T$@L�\$H��t=���uO�D$4A���A�Gf����I�A�<Tt�I�U�D$B���D$ B�DA�E )؋\$(H����1�H��$hdH3%(�_�H��x[]A\A]A^A_�DH�D$L��$�H��$�H��$�H�D$�\���f�A�Gf����I�E�/A��Tt��H���D�D$I�K,L��L��L�\$8�������a���L�\$8@M���I�FM9���)�|$����ME�oI��I�������D$XA�Gf�����D$P1�A��&M�o��E1�D$hA�]�l$�؅�t����?M�}�$��-E��~YI���I��I9��!rA�I�V9������I�ֺD)�� fDM9���@I��A�F�9��v���B�2A9�}�D;d$P���t$h���X��t$PA9���yM���M9���A�9���y���D)�I�lL���L9��i�9���hH��H9�u�L$X����<M��L9������$�I��H�l$�XH��L��M��L��SI��jUL�L$ �L$PH�T$(����H�� �������M9�s�����E�H���D�$H�����M�o����\$h�D$X���V�D$P����\���M;���7@E��D$I�vD�…�t
A����;[I�SPD�������E�oI��I�������M;���SXA��L$I�~�Ѕ�t�����]I�CP������DE�oI��I���u����M;����WE��t$I�~D�…�t
A����ZI�SPD����j���I���E�oI������f�D�D$I���E����KI9��!1�M;���VKA�6����pI�CP���0�������I�w1�A�?u9��������E�oI������E�oL�t$I�����DM;���WE��D$I�~D�…�t
A����[^I�SPD��������u���DIc��I��I9�������T���@I���I9�����;���I���H����w�K����wH�HcS L�\$8H�sI�{I���H���	���C$L�{L�\$8�D$0H�D$ E�/H�$����I�W@�Bf����H€:Tt�L�zD�j�m����M;����UA�D�L$I�~��E��t=���Y=��i����{:��
��������R���f�M;����UE�D�l$I�vD��E��t
A�����\I�SPD������������A�GL��f����H)��E<`��HH�t$H�H�NH�\$<_��J<b��JA��Ut	I9��0�H�D$ E�oI��H�$�i���A�s(M������?IM9�����M��I�FA���H9D$�k������c���A�Ex���R������J����M;���'<A��t$M�F�Ѕ�t�����W��H�5�!��H�=Z�!������H���!A��GH���T&A�GH���Hc�H�>��fDI�FM;���w���A���M�݅������H9D$�/������D��$�L�d$L��D�l$0�XA��L��H��H�uI��D��AWL��L��jjL�L$ �g���H�� ���:���������KL=����@L��t=��������Ef����Hŀ}Tt�I��I���$�����@��$�L�d$L��D�l$0�XA��L��H��H�uI��D��AWL��L��jjL�L$ ���H�� ����L��t=���������Ef����H��E<Tt�I��I��<U�_�����$��q��I����M;����RA��\$I�~�…�t=���W=�����U6�� ������&6��	�-�������H��I�oM��L����$�H��XSj�t$(L�L$ �L$PH�T$(L�\$X���H�� �������L�\$8D�Ef����Hŀ}Tt�L�}D�m�4���fDA�GE�g<S�vL�P�����C�P�����Z��h�SDH��M��I�wL����$��XSjjL�L$ �L$PH�T$(L�\$X� �H�� L�\$8����x��t=������D��f����L�H�p�8TI���yD�h�~��M;����8A�D�T$I�~��E��t=��U=������#5�� ������5=������=�������I���f�M;���'8A�>L�$M�F�T$��A����t�����TI�GM���sYA�W9����E�oM��I����M���D�d$L��L)�E����DE�G��L��A�����cH9��~M�NA�A���CXI�SHI�O�8�v�E�oM��I���,�fDM���M9��D7E�D�d$I�vD��E��t
A����SA��
�@X��3A��
������A�k|������DM;����6E�I�~D�t$D��E��t
A����`UI�SPD����N�����M���D�l$L��L)�E����TH����NI�FA�A8_�z�E�oI��I���/�f��$��CM���M9���VA�s(���5gIcS,I)�H��M9��'�A�[@A8��������A�CAA8F�����@H��!H��M��L���pm��$���L�P��$�P�t$(H�T$(L�L$ �L$P���H�� ������D����D$8���I�G�D$H�D$P��S�\$X�\$@���=$1ۃ|$@L�x��E1҉\$(�X�@�D$4@D9T$8�]
�D$P���Dh�����(���omH�
,���Hc�H�>��@A�G�D$Pf��D��I�GD�T$8�0L�x�V�@�t$X�t$@����#�D$HE�����|$@�jM�D$X�T$������4<�H�����Hc�H�>��f�A�_�D$@M�W�D$Hf���ۉ\$8@M�zA�*�$��M�CHA�(�ʼnD$P�D$���"��~[I���I��I9��bA�I�FA:,��I��)��"fDM9���/I��A�F�A:,���B�29�}�;\$8�)B�D$H���JuD�l$E���B�t$89��EmM���M9��xxA�A:,�'m���)�I�\L���DL9���]�A:,�#aH��H9�u�l$@���]JM��I9��1��$��hH��M��L��H��Uj�t$(L�L$ �L$PH�T$(� �H�� �����H��L9�s����fDA�GM�W�D$@f�����D$81�A��3��1ۉD$H�X���M���M9��@���M���M9��(�A�s(���VEM9��s�D�D$I�K,L��L��L�\$8������R�L�\$8M���IcC,I)�M9�����1��M���M9���JA��L$M�F�Ѕ�t����
Q��H�5�!��H�=G�!��L�-�!����H���!�G�D�A�|����M9���.D�T$�5�����������G�D�A�|���.Hc�I�M9���.A����E��t�=�v�H�E�!��?H�-��!D�$C�dB#D�L�����E��t!M�`E1�f�A�,$��I����?��	�D9�u���`���E�c\I���E����>I9�����$���M;�����A�s(���pXI9����D�D$I�K,L��L�\$8��������L�\$8�?��A�GE�oI��H�$�G��M;���g0A�D�D$I�~��E��t=���P=�����X,��
���w��2�f��E�H�<��H�+���M�W����t$H�D$@����E�D$8�������H���!H�H����I���L��DŽ$�H��$�A�GL�\$8��$�I�CH��$�I���H)�H)�H��$���$�H�T$��$��\$0H)‰�$�A�Gf������$�A�Gf������$��������$�A�����$�I���H��$��х���L�\$8��E�oI�����H���!H��M��L���pk��$���L�P��$�P�t$(H�T$(L�L$ �L$P���H�� ������D���I�oH���Bf����H€:Tt�H��H�rM��L����$��XSj�t$(L�L$ �L$PH�T$(L�\$X�f�H�� ���<�E�oL�\$8I������A�Gf�����A���A;S$��9A�CXE�oI����f.�H���!H��M��L���pn��$���L�P��$�P�t$(H�T$(L�L$ �L$P��H�� ������D���H���!M��L��M��H���pl��$���L�P��$�P�t$(L�L$ �L$PH�T$(�c�H�� ���9�M��������(�fDM�oE1��D$P����D$X�D$h��@E�GM�o�D$X�D$hfA��E��D�d$P���@M�oE1��D$P�D$X�D$h��@M�oA��D$P����D$X�D$h��f��D$X�K�A�GM�W1��D$@�D$Hf�����D$8����DM�W1��D$8�D$@�D$H���DM�W��D$8����D$@�D$H���f�M�W1��D$8����D$@�D$H�e���DA�G�D$Hf�����D$81�A��@���D$PI�G����f.��U�H�
��D�H�
z���I�G�4�������\$P��E։T$8�\���fDM��M��A�Zf���ۍA;C$�
�A�Bf����A���`�'<T��j�D$��$�L�%��!D�l$�XHc�L��H��A�4M��L��SAUH�t$(L�L$ �L$PH�T$(���H�� ��t=�������Ef����H��U�Ef���Ҁ|T��)����M��M���<���DA�G!M�o<F��?<K�s?<M��?��A�_"���D$8A�G$f����f��f���и���E�I��&A�‹D$���>���}I���I��I9���dA�I�NH�ƒ�H����A�T�����I�ιD)��1M9���I��A�F�H�ƒ�H����A�T���z�B�19�~�D9����D$8M��M��E�Ӆ���T��$�D�T$���D$ E����D)�D�\$H��M��L���D$(L��Pj�t$(L�L$ �L$PH�T$(�%�H�� �����D�\$B�3A9����M;����(I��A�F�H�ƒ�H����A���r���DA�G�D$H�D$Pf�����D$8I�G���A�_f�����9\$0��,I�SHc�H��������,�l
)�E�oA��F�?A��K�%=A��M��>��E�o���D$HA�GfA��E��f��f���и���E�I���D$@����?fDE�/�����$�D�d$0L�|$8M�ݍX��H�\$H��I�wM��D��UL��jSL�L$ H�T$(��H�� ����9��t=����t�A�Gf����I�A�<Tt���L��L�|$8M��<]t
<T�B�f��Ef����H��E<Tt�A���M���D�m�t$0M9�t<U��sL�}M����f.�A�G�T$f���ȅ�u/��I)�M;�����M9������M������I�փ����t�I�V�I;�����A�F���<�u��H�����<�t��A�GI�of����I�A�<F�Y4<K��<<M�I4��A�_A�������D$@A�Gf����f��f����DE�I��D�l$8����;M;���T>D�D$A�L�|$HM��E��E��A��E��M���5�M��H���-��������A��A9��;M9�$���<A�?M�G�����v�E��t�H�
d�!��?H�5��!D�C�IB#<�L���E�I���t�K�tL��fDH���B�����?��	�H9�u�O�|�b����A�GI���M��f����H�1�H9�t�Cf������$�I���IcU H��$�H��$�H�D$ I���I�GH��$�H�Љ�$�H�����S2L��$�L��$�L��I�u1��e����D$0L�|$(I�ߋ�$�L�%{�!��$��L��M��L�d$<`@�Ń��t$�H��A�tI��L���D$ L�PUATL�L$ �L$PH�T$(�9��H�� ����6H��$���t=�����9H�D$ Hc�$�H�{H���H����A�Gf����I�A�<T�r���H��$�L�|$(H��$�H���L9����H���!�1���@I�G�D$8�D$H�D$P����A�GI�W�D$X�D$@������II���D$HA��D$P�D$8����X�D��������D$8D9��I[M���L��M9��(RL�t$8H�=2�!A��L�|$@H�5��!L�\$PH���!D�|$(D�\$4�ND��A�������D��G�D�D9�����D9��a"Mc�A��L�E9��N"I9���QD�EA�D��A���v�H�
/�!��?�H�q�!�[D#�I���A���t%H�]E1�����H����?��A	�D9�u�A���H����D$8D9��;ZM���L��M9��R2L�t$8H�=$�!L�|$@D�t$4A��H�5��!H���!L�\$PL�-��!�QD��A�������D��G�D�E9t�����;D$(�N!Hc�A��H�E9��;!L9���1D�E�D��A���v�H�
�!��?D�H�^�!C�[F#�L���A��E��t)L�]E1�f.�A���I����?��A	�D9�u���@����D$8D9��#YM���L��M9��:1L�|$@H�=�!A��L�\$PH�5��!H�~�!D�\$(L�t$8�Wf�D��A�������D��G�L��A�<������	���D9��7 Mc�A��L�E9��$ I9���0D�EA��D��A���v�H�
�!��?D�$H�I�!C�dF#�M���A��E��t%L�eE1�DA�$��I����?��A	�D9�u�A���>����t$8D9��XM���L��M9��(0�L$(��H�A��H�D9�t2I9��0�U����vH�\�!��?�����t�fDD�T$HE�����$�I��H�l$M�ݍXH��M��L��L��SjUL�L$ �L$PH�T$(�9��H�� �����I�T$�M9�����D�L$E����I��믋D$8D9��/WM���L��M9��F/L�t$8H�=�!A��L�|$@H�5��!L�\$PH���!D�|$(D�\$4�Sf�D��A�������D��G��D9�����D9��BMc�A��L�E9��/I9���.D�EA�D��A���v�H�
�!��?�H�R�!�[D#�I���A���tH�]E1����H����?��A	�D9�u�A���P���A�Gf����I�A�?Tt�A���I���D$0E�/�y��A�V�I�F�����uf�H�������t�I9��vI����0����TI�CP����0�+���$���AA8G�ƒ���8��=��E�oM��I�������Q�����B�<������	�8�u��	��f���u����fD��L�-�!�QA�GA9D��M��Ѓ���A�������M�ƃ�D�\$H��M��L���D$(L��Pj�t$(L�L$ �L$PH�T$(���H�� ���{��D�\$D9��k��M;���UA�M�F�Ё���w���H�
)�!��?H�5o�!�<�#�D�O������gK�|L��DH���F�����?��	�H9�u�O�t���������N�'�������M���M9���'��8�� t��,=�t=�����fD��D9��tM9��P'A�M�F��=���IM��=t�v�=/ t��
,=_ t�=0t��J��M���M9���&��!��
���'����D9���M9���&A�I�^I�މ�=��I=�t�v�-( ��v�����I���I��I9���UA�������I�KPI��������D)��#M9���A�������I�������B�2A9�}��YM���M9��.&�A���x#I�KP�t�M��DA���<��V<I��M9�r�A9���%���������I���I��I9���TA�������I�KPI��������D)��A�������I�������B�2A9�|�M9�u�M��A���H9t$����fD�������M���M9�����-M�ƃ�wI�CP���\����D9��0���M9��XA�M�F�Ё��v�H�
�!��?H�5\�!�<�#��o����t�I�|.L���H���F�����?��	�H9�u�M�t(�n���M���M9��<i�I�FL9�s1A�V����t�X��������@H��L9�u�I��A9��d���M�����M���M9��}L��M�c,A�s(���LCIcS,L��H)�H��H9�wA�{@@8;�QH�CM��L9��xY�S����t�>�������>H��L9�u�A9�����A���M�݅�����L9t$����A�Ex�������j��I���I��I9��ZRA�������I�KPI��������D)��A����u��I����g��B�2A9��:���M9�u����M���M9��Q����A���x"I�KP�t�$��@A���<��A9I��M9�r�A9���������M���M9��ug�A�I�v��=��ZO��
�xP�Q@��
�0@��D9��{PL9��@YI���M���Ic�I)�M9�����Iƻ�����3�M���M9��|�������	�[����D9��/���M9��W���A�M�F��=��EM��=�#����&�� ���v�=����=�u����M���M9��������!��
��������D9������M9�����A�M�F��=��EM��=�����v�-( ��w����������fDD�L$D��E������~QI���I��I9��GCI�FA:.�B���I��)��fDM9���I��A:n����B�29�}�;\$8�n#D�D$HE���XU�|$���-$�D$89���NM���M9��s[A:.�iN��)�I�\L���f�L9��g?@:(�wBH��H9�u�L$@����+M��I9��}����$��hH��M��L��H��Uj�t$(L�L$ �L$PH�T$(�l��H�� ���B��H��L9�s��2��f�I�SH���E��~UI���I��I9��$DA�I�N:����I�ιD)��M9���I��A�F�:����B�1A9�}�D;d$P���D�D$hE����Y�t$PA9��(LM���M9��XVA�:�L���D)�I�lL����L9���:�:
��:H��H9�u�|$X���M��I9��:����$�I��H�l$�XH��L��M��L��SI��jUL�L$ �L$PH�T$(� ��H�� ������M9�s�����f.�������M���M9���L��M��M��A��L��M���'�L��A9�������9���I9��?�0L�h��v�H�
X�!��?L���!D�C�IC#4�L���E�I����t�N�DL��f�H���B�����?��	�L9�u�K�D
�z�������D��M���M9��`*L��L�|$XM��A��L��D�\$PM��M���,D��A�A9�����L���9��I9��N�L�h�с��v�H�5��!��?L�
��!D�$C�dC#�E�L$����E����!N�dL���H���F�����?��	�L9�u�K�D
����s���I���X���L�xE1һ���������|$@L�x�D$H���ډ\$(�X�@�D$4E���������^���H�
G�Hc�H�>�������M�����t$�I�΃�A9��7M9��eI�NA���t܀��v�H�=p�!��?���tŃ�Hc�L�t�M�����l$D�d$4D�l$(�S@I�މ�H�5L�!��H�
��!������H��!�Q��D9�����D9��
����A9��q:M9���A�I�^�Ѕ�t����v�H�
��!��?H�5	�!D�C�@B#�E�p����E���c���E1�H��DH���F�����?��	�D9�u�N�t3�:���M�����l$L��D�d$4D�l$(�Y�H�؉�L�\�!��H�5��!��A�����VH��!�T�D9�����D9������A9��B:I9����H�X�х�t����v�H�5��!��?L��!D�4C�vC#�L���E�v����`���N�D0H���H���F�����?��	�L9�u�J�D3�2���M�����l$L��D�d$4D�l$(�]H��A��H�k�!��H�5��!A��H�
~�!F�A��D��4VH��!�T�D9$�����D9������A9��S9I9���;�H�X�х�t����v�H�5��!��?L��!D�4C�vC#�L���E�v����T���N�D0H��@H���F�����?��	�L9�u�J�D3�*���M�����l$D�d$(�ZI�މ�H�5|�!��H�
��!������H�7�!�Q�T��B�<������	���D9��2����A9���7M9��.���A�I�^�Ѕ�t����v�H�
��!��?H�5.�!D�C�@B#�E�h����E���X���E1�H��f�H���F�����?��	�D9�u�N�t+�2�����|$@��/�D$X�|$�����><�����H�����Hc�H�>��D9T$8�@SM���M9���U1�|$@L��@���2��
������9���Hc�A��H�D9T$8��L9������=��<=��j=v�-( �������D9T$8��RM���M9��gU1�|$@L��@���K�� ��:���=�t
1�=���9��Hc�A��H�D9T$8�L9��n����=��;=�q:v�=/ �d:�{�=_ t�1�=0���D9T$8��QM���M9���TL���A��Ё����1��
�'-��
t+A�s|����J�B���v���t��( ����JMc�L�A��D9T$8��JL9�r�H���I����D$8H��D)�L)�9���AI��L$H���/H�݋�$�M��I��H�l$�XH��M��L��L��SjUL�L$ �L$PH�T$(�E��H�� �����I�T$�M9��
��A�D$���<�ufDH�����<�t�I���D9T$8��PM���L��M9�r9�>AfDI�CP���C���Hc�A��H�D9T$8�.���L9��
A���Ё��v�H�
a�!��?�4H���!�v#�H�����t H�sE1����H����?��	�D9�u������{����f���fDD9T$8��OM���L��M9�r4��I�CP�������Hc�A��H�D9T$8�n���L9������Ё��v�H�
��!��?�4H��!�v#�H�����t H�sE1����H����?��	�D9�u������k������D9T$8�9OM���L��M9�r:�?�I�CP������Hc�A��H�D9T$8�����L9���?���Ё��v�H�
�!��?�4H�#�!�v#�H�����t H�sE1����H����?��	�D9�u������{����f���fD�D$8=����KD9��fNM���L��M�c,M9��QA�s(���%8IcS,L��H)�H��H9�wA�[@8]�CH�EL��L9���K�U����t�'5@������5H��L9�u�A�B9D$8�����A���H9\$�{������s���A�Cx���b����x��f.�D9T$8��MM���L��M9�r4�@I�CP���#���Hc�A��H�D9T$8����L9��x������Ё��v�H�
A�!��?�4H���!�v#�H�����t H�sE1����H����?��	�D9�u������k������D9T$8��LM���L��M9�r:����I�CP���c���Hc�A��H�D9T$8�N���L9���������Ё��v�H�
��!��?�4H�þ!�v#�H�����t H�sE1����H����?��	�D9�u������{����f���fDD9T$8�LM���L��M9�r4�'����I�CP�������Hc�A��H�D9T$8�����L9���������Ё��v�H�
��!��?�4H��!�v#�H�����t H�sE1����H����?��	�D9�u������k��������D$8=�����HI������A�D$���<��f��H�����<�t��L�DE�/I����@M��A���������H9L$�9�����fD<T�i*�D$����-( ����������=�����=��������D=/ ������- ��
�������@A����m���u���A��������W���`�����	�����R���f�=/ ����vC=_ �x��=0�m���(����=_ ����=0�J������D- ��
�2�����D-( ������տ��DM���h���H���!��?�4H��!�v#��FH���Hc���H�t$8M�|5����I�U1����H����?��	�9�u��D$p�$tQH�5^�!�؉�H�=��!��������H��!�G�|��9�tH��$`L�\$@���L�\$@�D$pE���lHc\$p�M���L�l$`L��$�A��L��L��H+D$8��H)�I��L�\$xH�|$@H��$`H�|$HL��$��.fDH�T$8H�t$`L�������uLt$8A��E9���M9�sӅ��L9t$@��H�t$HH��L����������I��I���I��I9��N1I�KPA�I�F��"����I��)��I��A�F������B�2A9����M9�uېM��A������޽��H9t$���ν��fDM��A���H9L$��鮽��fDD�\$I��E���Q��A�I�H�$H�D$ DŽ$����L��$�L9t$L�l$x��M9���A������F������>���A�Ex���-��������L�t$8L�|$@L�\$P��M��A���L9t$�_���<�b�H�����Hc�H�>��M���Ic�I)�M9��8����I���I��I9���-L����PD)�A9���L9��`���H���P���
�w�����
vҀ��t��h���M���M9��`OM��I�[,�AIcS,I)�M9�wA�s@A8u�08I��D��D)�A9���DM���M9��TDA�s(��t�E1�H��L��L��D�T$hL�\$`�K��L�\$`D�T$h��t��ػ���I���I��I9���.I�KPA�I�F�������I��)��I��A�F�������B�2A9��[�M9�u����I���I��I9��9I�KPA�I�F��H����I��)��I��A�F���)���B�2A9����M9�u��_�I���I��I9���8I�KPA�I�F�����I��)��I��A�F���ʺ��B�2A9����M9�u���I���I��I9���-I�KPA�I�F�������I��)��I��A�F���k���B�2A9��>�M9�u��d���I���I��I9���7I�KPA�I�F��+����I��)��I��A�F������B�2A9����M9�u��B�I���I��I9���*L����PD)�A9���L9������H���P���
rۀ�
��������u�饹��I���I��I9���*L����PD)�A9�|uL9��Q���H���P��� t߀��tڀ�	�^�����I���I��I9��A*L���	L9�����H���P��� �*�������!�����	�����PD)�A9�}�I�ƻ�������M���M9���KA��I�V<w0<�1&<
�ϸ����D9�<L9���;I��A�I�V<v�<
��%L9���;A�~
�G��A9�}�I�փ��8��A�Ch1��*��M���M)�A�i���������W�������M���<���H�8���Hc�H�>��D9T$8��:I���I��I9��i3A��P���v=���:�D$8��D)�I�tL��H��H9�tL9��13��J���v��t�H����t$8D9��A:I���I��I9���2A��P����:=��:���D)�I�tL���L9���2��J���v����t�H��H9�u��D9T$8��9I���I��I9���2A��ƒ��� t<	��9�D$8��D)�I�tL��H��H9��1���L9��F2��у��� t݀�	t������|$8D9��Z9I���I��I9���DA��ƒ��� �59<	�-9����D)�I�tL���L9�t~��у��� �������	�����H��H9�u����D9T$8��8M���L��M9�s<���
����
tA�S|��ud�P���v=�uUH��A��D9T$8tFL9�r�A���H9\$s3��t/A�Cx��~"鏼���I����D$8H��D)�L)�9�w�I��D$H������$�I��M�ݍXM9������H��L��M��L��SI��j�t$(L�L$ �L$PH�T$(蔳��H�� ��t��i���D9T$8��7M���M9���C�D$8L��M�c,��D)�M�l�7IcS,I)�L9�wA�s@@83�31H��L9��I���M���I9������A�s(��t�E1�L��L��H��L�\$8�?��L�\$8��t��
�����t$8D9��V7I���I��I9���BI�KPA���17���D)�I�tL���L9��~����������H��H9�u�����|$8D9���6I���I��I9���BI�KPA����6����D)�I�tL���L9��������K���H��H9�u��=����t$8D9���6I���I��I9��'BI�KPA���a6���D)�I�tL���L9�����������H��H9�u������|$8D9��6I���I��I9���.I�KPA����5����D)�I�tL���L9���.���{���H��H9�u��m����t$8D9���5I���I��I9��WAI�KPA����5���D)�I�tL���L9�����������H��H9�u������\$8D9��N5M���M9���@I�SPA���,5��L���D)�I�L�
�������H��H9������L9�u��^���I���H��trA�Wf����f�����
�Y�\$89���
��guHA�[0M�K8��~<A�f����9���CMck4M��1��A�$f����9���.��M�9�u�A�Gf����L����I��D��M��M��I�����M��M��I��I��D��L�|$X����L9��`���A�V����t�N���fD������9���H��I9�u��+���M��I��A������q���I���M��I���5�I��M��A���L9t$�����!����P�����5<]��51��-���A�[ I�KHc�)�HcË\$0����L��I+��9ӉD��BOÉD$0����A���L9t$s��u1�鴴��A�Cx���Q���1�霴��1�I9�t'M;��wI�F�I���A�F�I�SP�����M;��s�A�I�KP������N���IcS,L��H)�H��I9����A�[@A8�ٰ�����!���A�CAA8F������
���DH���_I�CHA�I�VA�w�80���E�oI��I��閮��A�[`���į��E�SlM���E������M9��G���A�s(���#M9������D�D$I�K,L��L��L�\$8�������q���L�\$8M���IcC,I)�M9�������P���H�A�!H��H��H��$�H���DAHc�$�L��$�H������$�ij��I9������������D$@��D$8�����Ef�����A���A;S$��A�CXI���H��t	;C��"E�/�д��E�j�U���D�l$8D9��a7M���L��M9���L�T$8D�T$P�-f���A�A9���Hc���H�A9���I9����U��Ё��v�H�
�!��?�4H�E�!�v#�H�����t"H�uE1�D���H����?��	�D9�u������{����f���fDD�l$8D9���M���L��M9�w'�9fDA9�tyHc���H�A9�tkL9���U��Ё��v�H�
J�!��?�4H���!�v#�H�����t!H�uE1�@���H����?��	�D9�u���L���t$@���;��$�M�ݍXH��M��L��H��Sj�t$(L�L$ �L$PH�T$(���H�� ���Ь��H�U�L9�������E���<�ufDH�����<�t�H���L���Q��L�t$8L�|$@L�\$PA���H9l$��������A�Cx����������fD- ��
�����=���D��	�����*���f.�=/ ����w- ��
��������=_ �����=0�������DI��I��f.�A�Gf����I�A�?Tt�鿳��1҃�	����L�l$`L��$�L�\$xD;d$P�����\$h���48L��D;d$P��M���Hc\$pL�l$`E��L�t$hL��L��H+D$8L�|$pH)�D�|$PA��I��H�|$@H��$`H�|$HL�\$PL�L$x�-DH�T$8H�t$`H��膾����uHl$8A��E9��fI9�s�E���H9l$@��H�t$HH��H���G�������H��- 1҃�����H���I��I��H�D$�E�&���I�����L��M��L�|$8H�D$�E���H��$�L�|$(�$H��$�H���L9���H���!��$�4���E�/I�����IcC,L��Hc�H)�I9�����A�[@A8�����������A�[AA8^���飺��DH�ɥ!H�H����I���L��t$0L�\$8DŽ$�A�GH��$���$�I�CH��$�I���H)�H)�H��$���$�H�L$��$�H)���$�A�Gf������$�A�Gf������$��������$�A�����$�I���H��$��҅�����L�\$8�����H���!�@SI�A�G釲�����c��M���M9��%�L���1�Ѓ���A�D�������L���9��&I9���L�`�с��v�H�5Z�!��?L���!D�4C�vC#�L���E�v����LN�D0L��H���F�����?��	�L9�u�K�D4����g:��N�q����
���A��H��I����F��D�,H������t$H�4������EƉD$@������FH�ؗI��"�Ã��\$8�H���D�����E��DD�����D$I��!��D$8A���������}���L�|$(L9��`����$H�������D$@�D$@�D$8����D$X�D$X�D$P�5���M��L�|$HM��;\$8�4���|$@M�݅�����$����D$ H��M��L��L���D$(Pj�t$(L�L$ �L$PH�T$(���H�� ���¦��;\$8�����M;���L���A�>�t$M�f����t����[H�������{�����M���y�����FH�|�I���Ã��\$@�H�^���D$8���5�����/�D$8����(��L�$L�ى�L����L�\$8����L�\$8����A���M�݅���M;��������E�jI��除��E�jI��錤��������M��M��M���H�L�T$8D�d$@E��uË�$�M�ݍXH��M��L��H��Sj�t$(L�L$ �L$PH�T$(肣��H�� ���X���H�U�L9��I����E���<�ufDH�����<�t�H���E����A�Hc�L�|$PM��H�D$8E��M���fDA��L|$8E9���L�$L���L�����à����u�A��$�M��M�������M9�$�����馤��fDM���;�M��M��I�rI��c���W��$�M����Pj�t$(L�L$ M��L���L$PH�T$(�t���H�� �M���M���M9��I���D$�D$`H�=}�!H�5&�!L�|$p��H��!L�-9�!A���D$h�E�I�nD��A���v�|$h�!I��D��A�������A�B�G�D�A�|������M9�r@�f.������������G�D�A�|���Mc�M�M9�soA�A���E��t�=�v�L�8�!��?H�~�!A�,�Lm#�I������t&I�nE1���]��H����?��	�D9�u�A���`���L�|$pD;T$`��������D$`�D$`D9���4M9����������H�
��!��?H��!D�$C�dF#�L���E�d$�A�������O�t&H��DH���C�����?��A	�L9�u�N�t%���H�?�!��?�4H���!�vD#�D�N�D�����A������$K�tH��@H���B�����?��A	�H9�u�N�tA��������L���s���fDH�ɝ!��?�<H��!�D#�D�O�D�����A����t'K�|H��f�H���B�����?��A	�H9�u�J�tA����c���遡���H�
a�!��?H�5��!�<�#�D�O�����@���K�|L��DH���F�����?��	�H9�u�O�D����H��!��?�<H�J�!�D#��_�D�����A�����Ȭ��I�|H��fDH���B�����?��A	�H9�u�H�t阬��H�
��!��?H�5�!D�C�@B#�E�H����E���#���E1�H���H���V�����?��	�D9�u�J�|���H�
P�!��?H�5��!D�C�@B#�E�H����E�������O�DH���H���V�����?��	�L9�u�J�|鋪��H��!��?�4H�2�!�v#<��^������I�tL��DH���B�����?��	�H9�u�M�tI�GM����%����E�oI���\���H�
w�!��?H�5��!D�C�@B#�E�H����E���Q���O�DH���H���V�����?��	�L9�u�J�|�!���H�
�!��?H�5^�!D�C�@B#�E�H����E��t(E1�H��fDH���F�����?��	�D9�u�J�|��������Ӟ��A�WI�O�����H�=��!H�փ�?�47��Hc�H9��(�F�M�|�
@�H��I��H�AA8V��x���L9�u�D�i�/���H�J�!��?�4H���!�vD#�D�N�D�����A�����1�H��f�H���B�����?��A	�9�u�N�tA��������L���6����H�
ٙ!��?H�5�!�<�#��_�����̮��I�|L��fDH���F�����?��	�H9�u�M�D靮��H���!��?�<H�™!�D#�D�O�D�����A����t.K�|H��f�H���B�����?��A	�H9�u�J�tA��������1����H��!��?�4H�S�!�vD#�D�N�D�����A������1�H��f�H���B�����?��A	�9�u�N�tA����g���L���4����H�
��!��?H�5ߘ!D�C�@B#�E�H����E���5���E1�H��H���V�����?��	�D9�u�J�|����A�k`�����N���fD�؁���Hc�M�|?A9�t<D��H�5*�!D��H�=p�!��������H��!�GDD�D9���E�/M��骚��I9��ɞ��1��>
��H�鹞��A�s I�{Lc‹\$0)�Hc��4�B�4�L��I+��9�B�t��rO�t$0���M��I�SHA�O���4
@84:������o����A�wf�����9t$0~I�KHc�D��E���������e�U�E�c0�I�K8E���B��f����9��-Ic[4H��E1���f����9���A��H�E9�u�����A9��s�����f���A9���������H�_L9��>���
��A��D9T$8�%��H�����L�t$hL�|$pL�\$PD�L$XE���5����$�M�ݍXH��M��L��H��Sj�t$(L�L$ �L$PH�T$(�Y���H�� ���/���L9��$����E�H�U���<�uDH�����<�t�H���D9T$8��'M���M9��*�D$L�t$PL��H�='�!H�5Е!L�|$X��H���!L�-�!A���D$@D�EL�eD��A���v�|$@��L��D��A�������A�B�G�D�A�|���
I9�w7�������������G�D�A�|���Mc�L�I9�vw�EA���E��t�=�v�L��!��?H�.�!E�$C�dB#�M�����E��t%L�eE1�fDA�$��I����?��	�D9�u�A���_����L�t$PL�|$XA�B;D$8�ZD�D$HE���J����$�M��D�`H��M��L��H��ATj�t$(L�L$ �L$PH�T$(�l���H�� ���B���H�E�L9��3���H��L���!L�
*�!H�=��!L�D�!�t$�5fDD��A����A���B�A�C�D�A�<��i���H��D�UD�҅�t��H���U�Ѓ�<�t�D��A���v�H���!��?�H�͓!�[D#��A����y���H�U1����H����?��A	�9�u��U���DA��D9T$8��I9������L�t$PL�|$XA���H9l$��������������A�Cx�{���鴝��fDH�
�!��?H�'�!D�4C�vF#�L���E�v�A���F���J�l5L��fDH���C�����?��A	�H9�u�K�l4�����D$(1��G���L�%��!����H�CL9������{
��
A��D9T$8����H������H��D9�����4����|$@A�_�D$PA����D$8���I�����D$H�D$(A�G��D$4�
��L�����H�
Ց!��?�4H��!�v#�I�����t#H�w1�����H����?��	�9�u�A�����H���H��H��A���H9l$�3�����+��A�Cx����������IcK,H�H��I9��M�����A�[@��Hc�A8�7������Θ��A�CAA8D����鹘��f�H���
���H��A���H9l$���������A�Cx���ߖ��郛��D��D9�����L9��7���I�����L�T$8A��������H9l$���A�Cx������,���fDI��M����I����A���H9l$�9����1�A�Cx��� ����DH��!��?�4H�S�!�v#<�D�F�����z�1�L��H���B�����?��	�9�u�O�d�U�L�L$xL�\$PL�t$hL�|$pI9�A���@��H9l$��@���2������*�����A�Cx�����=���������A�C|��������q����=�t��c���-( ��v��T���M��L�|$PM��D;l$@�^����D$HD�l$M�݅���
��$�D�`Hc�H�D$ H��M��L��L��ATj�t$(L�L$ �L$PH�T$(����H�� ������|$9|$@�Ւ��L�$L���L����貎������Lt$ �D$�<������A�C|������镒��D��>�����4���H��A���H9\$����������A�Cx���������f�H��A����������H9\$�����A�Cx���}���默��DD�D$L��L��H��D�T$hL�\$`�K��������L�\$`D�T$hM���陼��I�ƻ�x���I�ƻ�k���D�L$E����D9��HI���L9���$A�H�ƒ�H����A����A�B�)�I�tL���#H9����H�у�H����A���s	H��H9�u�H��I9��%�����$��XH��M��L��H��Sj�t$(L�L$ �L$PH�T$(����H�� �����H��L9�s��ڐ��L��H���!��?�H���!�RD#�H���A���t%I�W1�f����H����?��A	�9�u��Hc��ٛ��;\$8��M9�����L$M����D$(�D�A�H��L�T$ 譣��L�T$ ����Mc��M�;\$8trM9���LA�:�����v��|$(t�H��!��?�H�"�!�R#<�I������tI�R1����H����?��	�9�u�A���h���M��$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(L�T$@虍��H�� ���o���L�T$ I�B�M9��[����T$��uI���A�R�����u�H�������t���H���ޞ��H��銽�����i�I������M��L������H��A��D9T$8�z����fDH�
��!��?H�=�!D�C�@B#�L���E�@���������1�DI��A�V�����?��	�9�u�N�t鍶��H�
h�!��?H�5��!�<�#��o�������I�|.L��DH���V�����?��	�H9�u�M�t(鼵��H�
�!��?H�5V�!�<�#��o�����Ժ��I�|.L��DH���V�����?��	�H9�u�M�t(驺����?��L�t$8L�|$@L�\$PA������O���H9l$�D����3�H�
��!��?H�5Ɖ!�<�#��o�����Ǻ��I�|.L��DH���V�����?��	�H9�u�M�t(霺��Hc�I��I����H�
�!��?�4H�[�!�v#�H�����t H�sE1����H����?��	�D9�u�����M��L������H�
��!��?�4H��!�v#�H�����tH�sE1�f����H����?��	�D9�u�����M��L������IcC,L��Hc�H)�I9��q���A�[@A8�c���������A�[AA8^�K�������fDD�D$L��L��H��L�\$@D�T$P胠��L�\$@����
M���D�T$P���D�D$I�K,L��L��L�\$8�L���L�\$8�������ڋ��f.�H�����L�t$PL�|$X�(�H�����H�HcS L�\$8I�{H�sI���H���k���鍐����F��H�
]�!��?H�=��!D�C�@B#4����E��tI�~E1����H����?��	�D9�u������1��%���D9���M���M��M9�w9����у���A�����H���I�D9�t{M9���A���с��v�H���!��?�4H��!�v#�H�����t!I�rE1�@���H����?��	�D9�u�G����k�����N�x�����$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(L�T$8�L���H�� ���"���L�T$I�R�M9�����A�B���<�uf�H�����<�t�I���A��D�T$ �\$@M��A�����A���B���H��xJc�H�>��$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(訇��H�� ���~����t$ 9t$8�n���M;���X��A�I�v��=��z��H�
K�!��������H���!�BH��!�D�;D$4����;D$(�	����D$ I���M�����$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(���H�� ��������t$ 9t$8�����M;������A�I�v��=��G��H�
��!���|$4������H�Ą!�BH�A�!�T�H���!9<�����;D$(�B����D$ I���C�����$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(�$���H�� ��������t$ 9t$8���M;������A�I�v��=�����H�
ǃ!��������H��!�BH�~�!�T��B�<������	���;D$(�|����D$ I���D�����$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(�^���H�� ���4����t$ 9t$8�$���M;�����A�I�V<��V�|$(������D$ I��덋�$��XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(���H�� ��������t$ 9t$8�����M;���=��A�I�v��=����H�
��!��������H���!�BH�;�!��;D$4����;D$(�C����D$ I���N���H��!��?�4H�Y�!�v#�H��ɍv������I�l6L��H���B�����?��	�H9�u�M�L1��H�
��!��?H�=�!D�C�@B#4����E��tH��1����H����?��	�9�u���`�������DA���������H9\$�������Hc�M��|$@H�D$ 9|$|�Uf��D$Ld$ �D$9D$@t6L�$L���L���������u�A�����tM9��wL9d$�]M9��������$�Hc�XH��M��L��L��Sj�t$(L�L$ �L$PH�T$(���H�� �������I)�M9�s�鰄��L���H���L��A���������H9\$�������L��郆��L���$���H�
W�!��?H�=��!D�C�@B#�A�h����E���w���E1�H��H���W�����?��	�D9�u�H�t.�P���������A�CA8C�ծ�������������A�CAA8E������������A�CA8C�������M��A������
�L9T$����A�Ex����F����M��L9t$�,
�D$0M���A���H�D$I�������L���±��L������L9����>
���A9������I�����ސ��M9�seI��I�D$L�l$PM��H�D$X� A�EL�L$`f����9D$8�W��M9�s.Ll$PH�|$XL�\$HI�u�T$@L�L$`�Y����T$@L�\$H��t���9�����Mck4I�D$H�D$@O�d,�)A�D$��T$Hf����9D$8������M�9�����H�|$@L��L�\$P�T$H���L�\$P��t��m��M��L��锫��I���h�M���x�I����H9�suH��H�BH�\$PH��H�D$X�/�H�L$8f�����9D$0~I�sH�D��E���O��H9�s0H\$PH�|$XL�\$HH�sH�T$@H�L$8�P���H�T$@L�\$H��t�A��E9�����IcK4H�BH�D$8H�\
�9��C�H�L$@f�����9D$0~I�SH��<�����A��H�E9��v��H�|$8H��L�\$HH�L$@�є��L�\$H��t��Q����tA�CA8E�ۼ��H��髹����$����D$(���X�|$H�-�p��H�-8pH��M��L��L���D$0Pj�t$(L�L$ �L$PH�T$(��~��H�� ��������t$ 9t$8�����I���I9��6�����~�t$XI�NA���@�����@��Hct�H�>��M9��v
A�>
uI���D$ H��M��L��L���D$0Pj�t$(L�L$ �L$PH�T$(�>~��H�� �������t$ 9t$8����I���I9���������	A�I�V��=����|$X�O����=���H�5No��Hc�H�>��D$ I��H��M��L��L���D$0Pj�t$(L�L$ �L$PH�T$(�}��H�� ���t���t$ 9t$8�d��I���I9�����A�I�^D�t$��E��t=���
��L�
4{!��L�z{!��H�=�z!L�A{!A����A�C�D�A�<�u3��~����ƒ���A����A�C�D�A�<�����Hc�H�H9��	�����t$PD�d$�‰�E��t�=�v�H�
z!��?�4H��z!�v#�I�����tH�sE1����H����?��	�D9�u�A�L$�a���<
�I~��<
v<��=~���D$ I���H���<
r�<
�$~��<�u��~��< t�<�t�<	�~����< �~��<���}��<	u���}��<��<�H<
t���}��I�UP�u���}��I�UP�t��}��I�UP��n����}��I�UP��[����}��I�UP��H����}��I�UP��5����m}��L�����M��M��A�Bf����I�D�8Tu�Pf����HЀ8Tt�H�p���I���"����$��D$M��M��L�%y!�XA�ARSA�4�D$(L�P�|��H���x���A9��Q��M��A�������|��H9T$����|��M���$����A9���������$�M�݃��|$�D$ uiD)�H��M��L��L���D$(Pj�t$(L�L$ �L$PH�T$(�{z��H�� ���Q|��B�39D$8�A|��M;������I��A:n�u��%|��DH��M��L��L���D$(Pj�t$(L�L$ �L$PH�T$(�z��H�� ����{��9\$8��{��M;���ɾ��A�I�v��=��5
I��A9���{�����I��鬦��A���H9l$�m����e���A�Ex�T��"���M�������$��|$M��D�`uoD)�H��M��L��L��ATj�t$(L�L$ �L$PH�T$(�Ly��H�� ���"{��B�39D$8�{��M;������I��A�F�I�UH@:,u���z��DH��M��L��L��ATj�t$(L�L$ �L$PH�T$(��x��H�� ����z��9\$8��z��M;���@��A�I�V��=��nI�MH���9D$P�tz��I�փ��A9��2���M��I��A���L9\$������Fz��L���9�L����A��������L9T$�����A�Ex���鴀��M�������$�M��E)�hH��M��L��L��Uj�t$(L�L$ �L$PH�T$(��w��H�� ����y��C�49D$P��y��M;�������I��A�F�9�t��y��M���L��I�k,L9��}���A�s(��utIcS,L��H)�H��H9�wA�s@@83��H�CL9�sF�S����t�8������u%H��L9�u�L��A��A�����u�隱���H����D�D$H��L��H��L�\$8D�T$@�>���L�\$8���d���M���D�T$@�q������J���A�CA8C�Z����7���H��锴��D9��qI���I��I9��$L��H�BL9��q�R����t�I������uH��L9�u�A�B9D$8�ɰ���7���A��D9T$8�L9��H���L����A�u(����IcM,H)�H��I9�wA�}@A8>��
��@����w��I�N���A����������w��M��M��A�������w��L9d$�Ȣ���w��M����B����}a��$�M��M��E�A�ԍXA��A��W��L�$M��H��L��AUSAT�t$(L�L$@�L$PH�T$(�Yu��H�� ���/w��L�$I��靹��L���x���|$@M���D$8�����������$�M��E)�hH��M��L��L��Uj�t$(L�L$ �L$PH�T$(��t��H�� ����v��C�49D$P��v��M;�������I��A�F�I�UH:t��v���Ӊ��L9t$M��A�����M9��„��˟���^v��L����A�{p�Kv��A�{t���Ic��I��H9D$����"v��L��魮��A�u(���IIcM,H)�H��I9�wA�}@A8>����@����u��A�I����=������H��q!��?H�5�q!�<
k�#��w���t$M�D6L��H���W�����?��	�L9�u�M�t6�t$X�V��������HcT�H�>��I��=��
���wh��
������Hu��I��=��:u��wZ��
������'u��I��=���wZ�� ���vA=����=������t��-( �������t��-( �������t����	�t��t��=/ �d���=_ �S�=0�H��t��I��=��t������ �tt������	���`t��I��=��Rt��I�UP�������=t��I��=����I�UP�������t��I�փ�
���w2��
�����s��A�}|�����s��- ��
�����s��=�t���s��-( ��v��s��=���s��=��Z��s��=/ ��s���/- ��
�6��s��I��=��qs��I�UP������\s��L���Z���L���'���$�Hcl$pL�l$ M�ݍX�H��H�t$ L��裆����u^Lt$8A��ARM��L��L��Sj�t$(L�L$ �L$PH�T$(�q��H�� ����r��D9d$P��r��I���H�t$8H�D$H)�I9�v��|$p�yH�D$H)�I9��hH��$`H��L���������MI��h���H�
cn!��?H�=�n!D�Ak�B#�A�x���E�����M�L>I��I��A�P�����?��	�M9�u�H�t>��L�����H���b���H�5�m!��?H�=An!D�Ak�B#�A�x���E��t%M�L>I��I��A�p�����?��	�M9�u�H�T:I��=��M����1���L��鬻��H�
�m!��?��������H�H�T��M��鐘��I�V鬸��H�
\m!��?H�5�m!�<k�#��w�����H��H���W�����?��	Ѕ�u�H�\3��E1�I�M,L��聅����@���6���A��D;T$8���H��钩��H�����<
�OH9����A�~
���I�N��H�
�l!��?H�=�l!D�Ak�B#�A�x���E���Y�M�L>I��I��A�P�����?��	�M9�u�H�t>�/�PI�rM��L��Sj�t$(L�L$@�L$PH�T$(�vn��H�� ���Lp��E���_I��鶲��H�4$M��M��H�t$ A��uH���MH��H	�H�L$ <W�`PM��L��L��Sj�t$(L�L$@�L$PH�T$(�n��H�� ����o��L�UM���J���L�����D�D$I�M,L��������@�����I��=���o��I�UP����=��o��I��=��*�I�UP������co��=_ �Xo��=0����Ho��H�
)k!��?H�=ok!D�Ak�B#�A�x���E�����M�L>I��I��A�P�����?��	�M9�u�H�t>�b�H�
�j!��?H�=k!D�Ak�B#�A�x���E�����I��I��A�P�����?��	Ѕ�u�H�t>���<���n��A�}|�P��n��H�
ij!��?H�=�j!D�Ak�B#�A�x���E�����M�L>I��I��A�P�����?��	�M9�u�L�t>�w�M��1��k�L�|$p����{����t1�A�EAA8F@������H��E1��D������������m��M��AWH��L��SM��AT�t$(L�L$@�L$PH�T$(��k��H�� �m��I������L�$H�uM��L��PSj�t$(L�L$@�L$PH�T$(�k��H�� ���vm��M��L�$���=���I�UP�������Hm��M��L���d�L;t$A�����L9t$�„�������m����t'1�A�EAA8F@������H�����M��M���9��������I������I���v���I���}�A������h���L9t$�]���L�����A�Ex����As��M��L���s��M����M��I���o�M��M���
�f.���AWAVAUATUSH��D��H���H��$ �L$8H�D$(dH�%(H��$�1Ɂ�oZ�|$��H����I��H���~D��$(H����E���� ˆT$S�^��$(�����S�{E��HDŽ$����HDŽ$���L�K H���$ H��$(�CHDŽ$���$$H�D$H��tMH���t	L�VL�T$��tL�VL��$���tL�V(L��$��tL�VL��$�����M�����;ERCPI���a��A�OE�_L��$xD��$�DŽ$hH�L��$8HDŽ$�H‰�H��D���H��$pHc\$8��$\��L�%�D$��������H��$��D$d��$T�������$XD�������$LD�������$PD���
����$`D�����A����$d�E�I��@H��$@D��%���$�=���=�������D$��H��$�dH3%(�D$��H���[]A\A]A^A_�L�t$H��$�H��D�D$H��$�H��L�L$L���|��I��H���@M���P�xID��@D�D$L�L$H�l$�?���L�N M���#���L�
4e!������������EƉ�$l��D��%p��pE�= �f
��=@��	=P��	=0��H��
H��$f��$0��tA�G��
Ic�H�D$pI�l�D$��t
A�� ��A�G�VUUU�lj�$(��$(��H�|$0A���)�D�Rf����D����D����)�9���D�DH�d!L�L$@Ic�D�\$<�L$ H��D�D$�D�D$�L$ H��H��D�\$<L�L$@H��$��C������D��$DŽ$H��A�GDŽ$������D�ꉔ$9�$(}D���D$T�kC�4�VUUUH�|$(D��$��DŽ$H��A�GH��$DŽ$������D�D$T)�9�$(H����$AL�H��t7��Mc���J����Hc�H��H�|�H��H9�r@�����H��H9�v��A��A�WD	�fD�\$j���|$@u,���f�|$juH�|$H��t�G�[	��D$lA�����H�D$x���GA�@��A�ӉT$`����A�Ӄ���$�A����$�H�A��H�}�E�ց�H��D�d$<L��$�L��$�I��H�|$X�L$H�D$HH�D$ H���U�D$L������H��$��D$H��H�����H9�r5�cHc�$H��H)�H��H9�w��$0@83�IH��H9�v0��$��t�E1�I�L$,H����y����uH��$�H��H9�wЋD$<���A����2�D$l���ZH9��=H��$8�E�A9�u�#�E�D9��H��H9�u�����n	=����DŽ$�
DŽ$��$0�����H��H9��L�����$��uaHc�$H��H)�H��H9�w��$08�H�CI9�v��K����t�@�����u�H��I9�u�L����H��I�L$,A�H���x��������H��$��f�|$j��H�L$xH���\fD��$�����H�t$H��t�FtL��H)�9F(�n�L$`���tqL��H)�H=�c1�A�����H�H9D$XsP��$�����I9��,�H�pH�t$X9�t"H�D$X�t$`�H��I9���H�P9�u�H�D$X�H��M��H��H��$�H��H��$�HDŽ$�jjjL�L$PH��$��:a��H�� D��$hE��tH�|$ ��=�������=���um�L$T��tH�>_!H��$��|$S���H�D$ �D$����H��������$(�D$������H�t$(L)�H��t$8�p���@=���t,������D$�D$S�r����=���t��u�D�T$H�]E���~D�L$E��tA��$H��$�����Hc�$H)�H��H9�w��$08M��fDD�D$@E���nI9��e�{�
u	I9���H��$H��H�������H�D$HH�H9������DH���F�����H9�w������������$18C��������������$18C���������DŽ$��������$��|$`����H��$����DŽ$l���DŽ$l����H9�����EA9�u����D�ED9�����H��H9�u����E�GA��fA���/A���D$lH�D$x���H9������D�D$dI�L$,H����t����������D$T��������~���H��$xH�D$pH�H9��:����D$����H9��%�����$����H9��EH�EH9�v/�U����t�������	H��H9�u�H��H�ŀ}�
������$���������H9������1��}
��H����D�t$8L��D�D$<L�L$0D��D�\$ �L$�s�����`D�D$<�L$D�\$ L�L$0E������E9������E��������<�������D$�����T���@DŽ$�e���H��$�H�L$ �	���DŽ$�C����;
�+���H��$��@ ������$����v��$�����H����I9��y����E��<�t�i���@���<��W���H��I9�u�L���F���L��$8�D$lH�D$xA�<8A�������|$T��t=��$(H��$����$(9�$�~DŽ$HH�{Z!H����$H1���u��$��������$(��H��$xH��$��D$H�t$(H)ʉH��$�H)ʉV���H9�������EH�ƒ�H�����H�L$x��s(�}���D�EH�ƒ�H��������Z���H��H9�u��L���H���D$lA�����H�|$x���H9�r)�&���fDH9��oH��H9��
���H��$x��$��u�Hc�$H�H9�rЉ���$0��Hc�@8tu���������$18Du����I9��H���H�H�H�L$X9�$��5���9T$`�+���H�D$X�t$`��$��9�����H��I9�������H�P9�u�����������$18E�Y�������@Hc�$H�H9���������$0��Hc�@8t��������������$18D�������f.�H��$xH�����I�L$,A�H���o�������������E1�I�L$,H���po�����y������DŽ$�
����D$������H�D$(H�sH�x��$(�P�Hc�H���.o�������D$�����d��D$��W��D$�����J��D$��=��D$�����0��D$�����#��Fn��fD��AVAUATUSH��pdH�%(H�D$h1�H���'I��H���H��A��1�H��t�ua�?ERCPue�����A��w'H�
�JD��Hc�H�>��f��Gf����A�E1�H�t$hdH34%(��H��p[]A\A]A^�fD�?ERCPH�^t�L�t$0H��H��L���im��H��H����H��IE��p���������H��t��Ct��C(��G%z�I�ED���u���@�GI�E1��c���f��GA�E1��R�����GA�E1��B�����G����G�&���H��t�C1ۨtH�]H��I�]1������������G����G����1�H��t��DH�9U!I�E1����fD�GA�E1����f��GH�1�I�}���fD�G�Ѓ�A�E1��u���@�Gf����A�E1��[���f.��GA�E1��B������������+���������'��������������k�����AW�AVAUI��1�ATUSH��H��8dH�%(H�D$(1�H�L$��k���Ņ�u&�D$����H�L$�1�H���k���Ņ�t+H�T$(dH3%(����H��8[]A\A]A^A_�fDH�L$ �	1�H���|k���Ņ�u��D$L�|$ D�t$�D$D9�}2F�d5�\$L��A�A��Hc�L�H�s�-k����t)~A�l$D9�|ν�����h���D�d$E���fD�+�C����D����j��f.���AWAVAUATUH��1�SH��H��HH�T$�H�L$H�L$,dH�%(H�D$81��j��A�ą�u'�D$,����H�L$(�1�H���j��A�ą�t/H�|$8dH3<%(D���?H��H[]A\A]A^A_�f�H�L$0�	1�H���<j��A�ą�u�D�|$,�D$(L�l$0D�|$�D$E9�}1C�<�\$H�����A��Hc�L�H�s��i����t+~E�fE9�|�A������^���DD�t$,E���fDI9���HcD$�I��H��H)�H��I��I���	�M�M9�sK�4<H���|i����t�D$�L$����H�L�I��H9�v%Hc�I��L�h�	�L�I9�vJ�4+H���<i����t�H�D$L� H�D$D�d$H����I�����h��@SH��H�� dH�%(H�D$1��G
u
�G��H�L$H�T$�h����~oH�T$H�t$D�D�JH9�wFA��A������<	Hc��<���yZHc��fD��J��ȍHcɋ���yH�H9�v�A����A��A��D�H�\$dH3%(uH�� [��h��������h����USH����xR9�}N�Hcɋ��\�)�D9�}+Hc�Hc�H�H��L���Wh���(H����[]�f.��������f��������f���AVAUM��ATA��UH��L��SH��D�t$0�����~'E��M��D��H��H��[��]A\A]A^�g��f�[]A\A]A^����AWI��AVAUATUHc�S�\-H��H��O!H�������I��I��H����L�L�f.�D�@H��B�|	+x�I9�u�Hc���I��H���~M�7I�L�I��I�l�f�Icu�A�]H��I��I��)�L�Hc�H���
g��H�I�F�H�K�I9�u�H�E1�H��[]A\A]A^A_Ð���H��H��tI�/�Ҹ������D��H�=O!� ��AVAUATUS��x`9�}\�H��N!I��L��Hc�L�4��\�A+�{Hc��H��t9Ic6Lc�H��L��L��^f��B�(H�E��[]A\A]A^�f.�������������f���AUM��ATA��UH��L��SH��H�������~"H��M��D��H��H��[��]A\A]�e��DH��[]A\A]�f.���H�MN!� ��USH��HdH�%(H�D$81�H��t|�?ERCPH��H��uSH��t�G%z��EH��t�G�t&�G��GH�L$8dH3%(u>H��H[]�D���������ѐH��1�1��d��H��H��u������빸������d��f���H�M!AV�@AUATUS�H��H��tn�Ie��I��1�@I�$���TH��H=u��4e��1�I���%D�c��H�����H��H��t$I�E�DXu�I�$����[H��]A\A]A^�L��1�H��HDžH��L��A�HDž8H)���@���H�1�I�E��I�EB��� t���D�����H���AI�EB���t!���D������� ��H�AI�EB�f��y#���D��������H�AI�EB���@t#���D��������H�AI�EB���t#���D�������H�AI�EB���t���D����� ��H�AI�EH��H�����x��L�?��t ����D�������@��H�AI�E�x��t!���D�������`��H�AI�EB���t!���D���������H�AI�EB��t���D��������H�AH��_�_��������S���E1�L�%�>�>�A��_tmL����a�����H��E�B��5@I��I�������I�EB�p�D����f��
��I��D���SE���SE���SEڨt�������SI��D�E��tVA���~MD��H�
�I!L�
J!��?��[E#��A���t%L�W1��A���I����?��A	�9�u�tTA��
��~(A���tO|IA��( A��w<A��[�f�1�A��
|�A�[�f.�A��
t�A��
t1�[�1�E��[����A���H��H9�sG�
�E�A�3[�f�H���H9�s1��
����A�[��@�뾐��SI��H�G�D�O�E��tqD��D�Ƀ�@���uH����σ�@���t�D�ɀ��vDH�=^H!��?L��H!��[E#��A���tL�P1�f�A�:��I����?��A	�9�u�tdA��
~.A���tu|_A��( A��wR�A�[��A��}:A��
u0�H9�v1ɀx�
�����A�[�@A��
t2A��
t1�[øA�[�f�1�E��[����A���H9�v�x�
�E�A�3[�D�����H��G!�����L�
tG!A;9~wD�@��I���H�JA9|��}
H�ʉ�I9�u�D�B�Lc�L�I��I�H�����H������?�ɀ�JL9�u�ƒ���Hc�H�H�]G!B
<�@�>�DH�IG!E1ɸB
<�@�>Ð��H��t0���G��9�~1�1�f�W�f��=��O‰���f�Wø����ÐAW1�AVAUATA��USH��(A����H�t$�D$��T$<_�#H�_<b��E1�E1�A�����H�-�:f���<rwI��HcT�H�>���Cf����H����Tt�H��E!Hc��H����<rv��H��E!�H��D�Cf����H�\��C!�H����x�H���3u����A�����Y�C"H��"�H�����T$H�t$H����������A�H�ڐ�Bf����H€:Tt�H�Z�B����H��H�XA���@���@E��xE���*E9��!<T�$�CE��H��E1�E1�����Cf����H؀8T�Y���H�X�@���@H��D!�H�f.��Bf����H€:Tt�H�Z�B�P����{f����H|$�;H����Bf����H€:Tt�H9��DH9��;A��CH������D�\$A���{E1��CH�s�H������H���3�F�����CH��f����D���E����@�CA����<H���H�\��h�����CH�Sf����A�E���U�C<��IH�
:C!��?�H��� ���H�IC!�H�E��t�C�<�vH�C!��?�H�@������Cf����A��C��<H���H�\����fD�C��H�S<H��B!HB��H�����f�A��H�SE��t�C<��.����CH���[����CA��H���G����H�C�:����E���U�CA��H������fD�C�[����A��H��!���CH�����@E�H������D�T$H�t$�b���A����f.�E��<T����D��H��([]A\A]A^A_��C"H��&f����A���v���fD�CH���c����S�t$D�\$H�|$f�����UY��D�\$H��t<H����Qf����Hр9Tt�H9�v-H9�s(A��-���H�_���H��(�����[]A\A]A^A_ËT$H�t$H���z���A�����H��(�����[]A\A]A^A_�@f.�I�ʉ��A�����E��A��D��t$I����0tI��0�ȃ���A����D�f.�AWE1�L�=�6AVM��AUA��ATI��U��SH��H���?_�D$A��O�TM�A���<lw8��Ic�L�>��A�Bf����I�A�:Tt�I��A���<lv�@�D$�D$H��[]A\A]A^A_�DI��A�B��<��H�=�7��Hc�H�>���I��A�rI�NM�F��H������DA�D$A�f����I�A�<$T�)����r���f.���I�V��`���H��H=�u�I����@�D$�fD��I�V��`���H��H=�u��h������I�V����`���H��H=�u��6���fD1��@	�������H��I�V�4�H��u܉с�	�@�s��@1��@��	ʈ������H��I�V��H��uځ���	ʈS���@I�V�T�H��H��`u����D�@I�V���T�H��H��`u��c���A�jI��������I������I�rE���t1�f��H��H�� u�A�B!�H���������H��3�.�����A�B"A�R#�������I��&�����A�rI�NM�F��H��L�T$�d���L�T$I�BE����A�RI�€������H��<!��?�I����I��@A�Bf����I�A�:Tt�I������f�I��M��D���L��H��L�T$�4���L�T$��������A�Bf����I�A�:Tt�I���s���f�I�rE�������1���H��H��u︀f.����HcҀ<t���%�����?��S��=u��}���@L��M��D���H��L�T$���L�T$�������Z���f.�A�Bf����I�A�:Tt����fD�D$���A�rI�NM�F��H��L�T$����L�T$I�BE��t&A�RI�€���2����_���I���$����I�������I��"����������K��C����f�C�C�����@DI�V���T�H��H��`u�I������@f.�I�V�T�H��H��`u�I�����1��D��	ʈ���{���H��I�V��H��uځ���	ʈS��1���	����=���H��I�V�4�H��u܉с�	�@�s�ڸ��I�V����`���H��H=�u�I������f���AVAUATI��USH���dH�%(H��$�1�H�H���O�?ERCPH���@A�����u�G�oA��W���GHc�H�H������G
uH�G H�D$H���[f�H�D$H��E1�H��H��$�)�$�H�L$H��L�D$H@H�L$ �у���H�D$(��)�$�����S��A��A��H��H����Å�y1�E��uDH��8!�\�H����H�P0H�H�P�@0,E��uT�@4��x�H4�XXH��$�dH3%(��H���[]A\A]A^�H��0I�$1���f�fo�$��@4fo�$�H8PH�DH��0H�1��f.�H�5�0I�4$�n����H�L$1��O��H�D$�S����]O��f.�H��H��H����H	��@f.���1��?PCRE��H���oI��I���oON�oW V �GȉF�G�ȉF���f�FA�x���f�FA�x�v���f�FA�x�h���f�FA�x�Z���f�FA�x�L���f�FA�x�>���f�FA�x�0���f�FH��M��t:�Ao�AoaaI�Q H�Q A�Q(�Q(A�ʉA�QʉQA�Q(ʉQ(H���D�f.�D���V��������
H��D�E��A����A�����S�L��H�5n6!��?�9������~)�H�pA���P�Ӄ����(������������H��������u5H����)�ʅ��A�S�E����D�E��A��~]A����`���)�[�@�?�����t4H��H���8u�H)��ƍP�����A��H���R�E�������������f�H��A����A��>t_H���j����A���tGA���Cu���w<��%���DA���t/A���u���w�������0uĉ�[)��D�� u���f������[�)��fD��H�%�@���������������H���WI����Hc����������H�V!f���D�OL����DI����D�A��A��Mc�A)��
����AUATUS@�r������*L�K4!H��4!G�A��E�Mc�B�CL�4!M��@���eIc4�L�>��f�H�V���T���H�V!�K���A�X8Z@�ƃ���@8�uhH���
���b�����[]A\A]��A�XL��3!�rA94��f.�E�@A�p�@��@��A��A��D	ƃ���@8�u���[]��A\A]�D��u���A��d����D��H��A���OA9��Y����@D��H�ZA�����H�S��ف���~A9�� ���9������w���H�
�2!��?H�3!�,1�LmD#�D�e��A���t�1�H�ӐH���s�����?��A	�9�u�J�T"�`����H�V�����H�5Y2!��?H�-�2!D�$C�dB#\�E�l$����E���Q���E1�H�ՐH���u�����?��	�D9�u�J�T*�)����H��1!��?�,2H�5;2!�LmD#�D�e��A�������1�H��DH���V�����?��A	�9�u�J�\#�����Ѓ�Ã��1������H��H���L���K���K���K���K���K���K���K���K���K���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M��~M���M���M���M���L���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M���M��iL���P���O���O���O���O���O���P���P���P���P���P���P���P���P��|P��DR��DR���O���O���O���O���O���O���O���O���O���O���O��R��R��R���O���O���O���O���O���O���O���O���Q���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���O���Q���O���O���O���O���O���O���O���O���O���O���O���O��P��P��P���O��,Q���O���P���P���P���P���O���O���O���O���O���P���P���P���P���O���O���O���O���O���O���O���O���R���R���R���R���R���R���R���R���R���R���R���Q���Q���Q���Q���Q���R���Q���Q���Q���Q���Q���R���R���R���S���S���R���R���S���S��HS��HS���R���S���R���S��HS���Q���Q���R���R���Q���Q���Q���Q���R���Q���R���Q���Q��xS��xS���R���R��xS��xS���S���S���R��xS���R��xS���S���Q���Q���Q���Q���Q���Q���Q���Q���S���S���R���Q���Q���Q���Q���Q���Q���Q��$V��$V��pV��pV��pV��$V��$V��pV��pV��pV��pV�� V��pV��$V��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��pV��PV��pV��pV��pV��pV��PV��PV��PV��PV��[^��aa���a��>a���`���`��|^��|^��|^��|^��|^��|^���`���`��~`��~`��|^��|^��|^��|^��|^��|^��`���_��A_���b���b���b��vb��fb��Eb��^��^��^��^��^��^��8b���a���b���a��^��^��^��^��^��^��Ha��Ha��Ld��#d���c���c���d��rd���]���]���]���]���]���]���d���d���c���c���u��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hq��hv��hv��hv���o���u��Pn���u��hv��hv��Hu��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��u��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��(t��s��xr��Pr��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv��hv���q���u������$�������$���t���$���d���$���$���$���$���$���$���T���$���D���$���4���$���$���$���$���$���$���$���$������$������$����$����������ǡ����(���ˈ����������������������������������������������������������ՠ���¢�����e�����������������������W����C��������������������������������������������	���׬��v���	���N}��$�������ף��������������������������������������������������������������������������������������	�����������������������������������������������������������������������������������������������������������������������������������������ߣ����������������������no error\ at end of pattern\c at end of patternunrecognized character follows \numbers out of order in {} quantifiernumber too big in {} quantifiermissing terminating ] for character classinvalid escape sequence in character classrange out of order in character classnothing to repeatoperand of unlimited repeat could match the empty stringinternal error: unexpected repeatunrecognized character after (? or (?-POSIX named classes are supported only within a classmissing )reference to non-existent subpatternerroffset passed as NULLunknown option bit(s) setmissing ) after commentparentheses nested too deeplyregular expression is too largefailed to get memoryunmatched parenthesesinternal error: code overflowunrecognized character after (?<lookbehind assertion is not fixed lengthmalformed number or name after (?(conditional group contains more than two branchesassertion expected after (?((?R or (?[+-]digits must be followed by )unknown POSIX class namePOSIX collating elements are not supportedthis version of PCRE is not compiled with PCRE_UTF8 supportspare errorcharacter value in \x{...} sequence is too largeinvalid condition (?(0)\C not allowed in lookbehind assertionPCRE does not support \L, \l, \N, \U, or \unumber after (?C is > 255closing ) for (?C expectedrecursive call could loop indefinitelyunrecognized character after (?Psyntax error in subpattern name (missing terminator)two named subpatterns have the same nameinvalid UTF-8 stringsupport for \P, \p, and \X has not been compiledmalformed \P or \p sequenceunknown property name after \P or \psubpattern name is too long (maximum 32 characters)too many named subpatterns (maximum 10000)repeated subpattern is too longoctal value is greater than \377 (not in UTF-8 mode)internal error: overran compiling workspaceinternal error: previously-checked referenced subpattern not foundDEFINE group contains more than one branchrepeating a DEFINE group is not allowedinconsistent NEWLINE options\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain numbera numbered reference must not be zero(*VERB) with an argument is not supported(*VERB) not recognizednumber is too bigsubpattern name expecteddigit expected after (?+] is an invalid data character in JavaScript compatibility modedifferent names for subpatterns of the same number are not allowed�@���������`���������� ���� ����@��������������������������� ����alphalowerupperalnumasciiblankcntrldigitgraphprintpunctspacewordxdigitpnooklmACCEPTCOMMITFFAILPRUNESKIPTHEN:;<=>?@�������������������[\]^_`������
�
��	���Q\E{0,DEFINEUTF8)CR)ANY)BSR_ANYCRLF)BSR_UNICODE)Error text not found (please report)����й����й�������������������D���n���n���b���V���V���J���J���z��� �������� ���+��+�����D�����D�����D�������� ���M��M�����}�����$��������O�������~��������9�����'��'��m��m��������������'��m�������'��'��m��m��������������'��m�������������A��A��������W��W�������A�����W�� ��� ��� ��� ��� ��� ��� ��� ������������ ������������������������� ������3��������3�������� ��� ��� ��� ��� ���(�(� ��� ��� ��� ���� ��� ������������ ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� �������;��;�������������������;�������� ��� ��� ��� ��� ��� ��� �����R�R�������&��&��&���R����&�� ��� ��� ��� ��� ��� ��� ���������������:��:��:��������:�� ��� ��� ��� ��� ��� ��� ���w��w�����������������������w����������� ��� ��� ��� ��� ��� ��� ���������|��|��v���v������������������|��v�������������j�����]�9�������������!�!���������^�^�����v�v����|��\�����|��|��$�������|�����|��,��t����������l�������,��L&���$��4$��$��4&���%��l �� ��������<��<��<��<��<��<���������)���)��,*��*��\*���&���&���&���&���&���&���#���#��L"���*���*���*��l*��L+��L+��L+��L+��L+��L+��+��+���!��,!��t3��L3��.���3���3���3���3���3���3���3���3��t,��t,��\0��L.���1���&��,��������������D�����D���/���.��d,���+��d��d,���+��d���3���3���3���3���3�����4(���'��D)��� ���(���������(�����8���7��8���7��8��5��4���2���1��6��M;���:��_:���9���=��=��\<���;��:>��P?��P?���=��]>���8���>���9���C��G��	F��E��(D��L��dK���J��DO��~N���M���L���O���I���>���>��gI���H���H��H��H���V���V��2V��tU���R���U���T��nT��nT���>���>��DX���W���W��OW���T��<^���]��l]��]���\��4\���[��$[��$[��|>��|>���Z��0Z���Y��IY���X��U�������ȇ�����҉��
���������0������ْ��s���s���s���(>��(>������������������_�������Ǡ�����3�������������������=���=��V���ߛ��I���(������Ȣ������������������ӛ���������=���=��������������ʚ����������$���4���L���t���$�������Զ���������������d���Ե��\*+?{^.$|()[������������������t��t��t��t��t��t��t��t��D��4��4����t��t��t��t��t��������������������������T��T��������T��T��T��T����T�����T��T�����T�����������T��T��T����T�����T�����d��d��������d��d�����������d�����d�����������������������������������������$��������������������������������4��4��4�����4��4��������������������������������������������������������H�����������������������������������������������������������������������������x��x����������x�����������������������������������������������X��X�����������������������������������������������������H���������������������������������������������������������������������������������������������������������������C���������������argument is not a compiled regular expressionunknown or incorrect option bit(s) setfailed to get memory�M=%N+3<DMSUiBpsvC{���	�
��>���
��O����%-4=PNXQnR�S�T���D����� �!�E�"�#�U�����	�FG	$
V&)%3&;=
@'L?PSV(\He)p*|W�X�+�,������@�A����I�-��Y�J��./	K0)10283A4HZQ[Z5`6g7n8s9{:�;�L�<����AnyArabicArmenianAvestanBalineseBamumBengaliBopomofoBrailleBugineseBuhidCCanadian_AboriginalCarianCcCfChamCherokeeCnCoCommonCopticCsCuneiformCypriotCyrillicDeseretDevanagariEgyptian_HieroglyphsEthiopicGeorgianGlagoliticGothicGreekGujaratiGurmukhiHanHangulHanunooHebrewHiraganaImperial_AramaicInheritedInscriptional_PahlaviInscriptional_ParthianJavaneseKaithiKannadaKatakanaKayah_LiKharoshthiKhmerLL&LaoLatinLepchaLimbuLinear_BLisuLlLmLoLtLuLycianLydianMMalayalamMcMeMeetei_MayekMnMongolianMyanmarNNdNew_Tai_LueNkoNlNoOghamOl_ChikiOld_ItalicOld_PersianOld_South_ArabianOld_TurkicOriyaOsmanyaPPcPdPePfPhags_PaPhoenicianPiPoPsRejangRunicSSamaritanSaurashtraScShavianSinhalaSkSmSoSundaneseSyloti_NagriSyriacTagalogTagbanwaTai_LeTai_ThamTai_VietTamilTeluguThaanaThaiTibetanTifinaghUgariticVaiYiZZlZpZs�����������������!!																										











																														 !"#$%&$'()***++,-.----/01/01/012/0134567899:;<=>?@ABBCDBEFGHGIJKLMMMNOOPQ-RRRRRRRRRSSSSSSSSS



SSSSSSSSSSSS













RRRRR






S
S
















TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVWVWSXVWYYZ[[[YYYYYX
\]]]Y^Y__`aaaaaaaaaaaaaaaaaYaaaaaaaaabccc`dddddddddddddddddedddddddddfgghijkkklmnVWVWVWVWVWopopopopopopopqrs`tuvVWwVW`xxxyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||||||||||||}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~��TT���}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~�}~}~}~}~}~}~}~�}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~YYYYYYYYYYY��������������������������������������YY�������Y���������������������������������������Y�YYYYYY�������������������������������������������������������YYYYYYYY���������������������������YYYYY�����YYYYYYYYYYYYY��������������������YY�Y�������������������������������S����������TTTTTTTTTTT���������Y������T������������������������������������������������������������������������������������������������������������������������������������������������������������Y������������������������������������������������������������YY�����������������������������������������������������������������������������������������������������YYYYYYYYYYYYYY�����������������������������������������������������������YYYYY����������������������������������������������YY���������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY����������������������������������������������������������YY�������������������Y�TT���YY������������������������YYYYYY�������Y���Y��������YY��YY����������������������Y�������Y�YYY����YY���������YY��YY����YYYYYYYY�YYYY��Y�����YY����������������������YYYYY���Y������YYYY��YY����������������������Y�������Y��Y��Y��YY�Y�����YYYY��YY���YYY�YYYYYYY����Y�YYYYYYY����������������YYYYYYYYYYY���Y���������Y���Y����������������������Y�������Y��Y�����YY����������Y���Y���YY�YYYYYYYYYYYYYYY����YY����������Y�YYYYYYYYYYYYYYY���Y��������YY��YY����������������������Y�������Y��Y�����YY���������YY��YY���YYYYYYYY��YYYY��Y�����YY������������YYYYYYYYYYYYYYYY��Y������YYY���Y����YYY��Y�Y��YYY��YYY���YYY������������YYYY�����YYY���Y����YY�YYYYYY�YYYYYYYYYYYYYY���������������������YYYYYY���Y��������Y���Y�����������������������Y����������Y�����YYY��������Y���Y����YYYYYYY��Y��YYYYYY����YY����������YYYYYYYY��������YY��Y��������Y���Y�����������������������Y����������Y�����YY���������Y���Y����YYYYYYY��YYYYYYY�Y����YY����������Y

YYYYYYYYYYYYYYY��Y��������Y���Y�����������������������Y����������������YYY��������Y���Y����YYYYYYYYY�YYYYYYYY����YY����������������YYY�������YY��Y������������������YYY������������������������Y���������Y�YY�������YYY�YYYY������Y�Y��������YYYYYYYYYYYYYYYYYY���YYYYYYYYYYYY����������������������������������������������������������YYYY����������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY��Y�YY��Y�YY�YYYYYY����Y�������Y���Y�Y�YY��Y�������������Y���YY�����Y�Y������YY����������YY��YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY������������������������������������������������������������������������Y������������������������������������YYYY���������������������������YYYY��������Y������������������������������������Y���������������Y�������



YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYY��������������������������������������������YYY���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Y����YY�������Y�Y����YY�����������������������������������������Y����YY���������������������������������Y����YY�������Y�Y����YY���������������Y���������������������������������������������������������Y����YY�������������������������������������������������������������������YYYY������������������������������YYY��������������������������YYYYYY�������������������������������������������������������������������������������������YYYYYYYYYYY����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY																		


YYYYYYYYYYYYYYYYYYYYY












Y


YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY����������������������������������������������������������������������YYYYYYYYYYYYY   !!!!  !!!YYYY!! !!!!!!   YYYY"YYY##$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%YY%%%%%YYYYYYYYYYY&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&YYYY'''''''''''''''''&&&&&&&''YYYYYY(((((((((((YYY))********************************+++++++++++++++++++++++,,---YY../////////////////////////////////////////////////////0101111111Y10100111111110000001111111111YY12222222222YYYYYY2222222222YYYYYY33333334333333YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY5555677777777777777777777777777777777777777777777777565555565666665667777777YYYY88888888889999999::::::::::555555555:::::::::YYY;;<==============================<;;;;<<;;<YYY==>>>>>>>>>>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY????????????????????????????????????@@@@@@@@AAAAAAAA@@AAYYYBBBBBCCCCCCCCCCYYY???DDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYTTTTTTTTTTTTTTTTHTTTTTTTIIIITIIIIHYYYYYYYYYYYYY`````JRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRZZZZZ`````KLMRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRZTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTYYYYYYYYYYYYYYYYYYYYYYTTTNOPPPPPPPPQQQQQQQQPPPPPPYYQQQQQQYYPPPPPPPPQQQQQQQQPPPPPPPPQQQQQQQQPPPPPPYYQQQQQQYY`P`P`P`PYQYQYQYQPPPPPPPPQQQQQQQQRRSSSSTTUUVVWWYYPPPPPPPPXXXXXXXXPPPPPPPPXXXXXXXXPPPPPPPPXXXXXXXXPP`Y`Y``QQZZ[X\XXX`Y`Y``]]]][XXXPP``YY``QQ^^YXXXPP```s``QQ__wXXXYY`Y`Y````aa[XXYbbcdYYYYYRYYRYRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYTTTTTTTTTTTTTeeeeTeeeTTTTTTTTTTTTYYYYYYYYYYYYYYY

f



f

gfffggfffg
f


fffff





f
h
f
ijff
gffkfgIIIIg

ggfffgggg


l
mmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnoooooooYYYYYY





















































































































































































































































































YYYYYYYYYYYYYYYYYYYYYYY






































YYYYYYYYYYYYYYYYYYYYYYYYY










YYYYYYYYYYYYYYYYYYYYY

























ppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqq


































































































































































































































































































































































































































































Y


















Y
YYYY























Y



Y



YY



























Y


































Y
Y



YYY








YY







YYY























Y













YYYYYrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

















































YYY









YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYsssssssssssssssssssssssssssssssssssssssssssssssYtttttttttttttttttttttttttttttttttttttttttttttttYuvwxyz{|}R~~opopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopop������opop���YYYYYYY���������������������������������������������YYYYYYYYYY������������������������������������������������������YYYYYYYYY�YYYYYYYYYYYYYYYY�����������������������YYYYYYYYY�������Y�������Y�������Y�������Y�������Y�������Y�������Y�������Y��������������������������������SYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY��������������������������Y�����������������������������������������������������������������������������������������YYYYYYYYYYYY����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYY











YYYY
�I�


���������TTTTTTSSSSS

����I

Y��������������������������������������������������������������������������������������YYTT

���������������������������������������������������������������������������������������������S���YYYYY�����������������������������������������YYY����������������������������������������������������������������������������������������������Y











������������������������YYYYYYYY



































YYYYYYYYYYYY�����������������������������������������������Y






































�������������������������������























































�����������������������������������������������Y����������������������������������������������������������������������������������������







































��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYY































































����������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYY�������������������������������������������������������YYYYYYYYY����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYY}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~}~YY}~}~}~}~}~}~������YYYYYYYY���K}~}~}~}~}~}~}~}~}~}~}~}~YYYYYYYY����������������������������������������������������������������������������������������YYYYYYYY






















SSSSSSSSS

R�S

YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-----��������������������������������������������YYYY


YYYYYY��������������������������������������������������������YYYYYYYY���������������������������������������������������������������������YYYYYYYYY������������YYYYYY����������������������������YYYY������������������������������������������������������������������������������������YYYYYYYYYYY������������������������������YYY������������������������������������������������������������������������������Y�����������YYYY��YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������������������������������������������������YYYYYYYYY��������������YY����������YY��������������������������������YYYY�������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYY�����YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY����������������������������������������������YY����������YYYYYY������������������������������������YYYYYYYYYYYY�����������������������YYYY�������������������������������������������������YYYY��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YY��������������������������������������������������������������YY����������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�����YYYYY��������������������������Y�����Y�Y��Y��Y������������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������YYYYYYYYYYYYYYYY����������������������������������������������������������������YY������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������
YYTTTTTTTTTTTTTTTTYYYYYYTTTTTTTYYYYYYYYYYYYYYY�����Y���������������������������������������������������������������������������������������������������������������������������������������YYY																										

����������S���������������������������������������������SS�������������������������������YYY������YY������YY������YY���YYY

Y


YYYYYYYYYY

YY������������Y��������������������������Y�������������������Y��Y���������������YY��������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY���������������������������������������������������������������������������������������������������������������������������YYYYY
YYYYYYY








���������������������������������������������������������������������������YYYYY











YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY












































TYY�����������������������������YYY�������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������������������������Y����YYYYYYYYYYYY���������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY������������������������������Y�������������������������������������YYYY��������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY��������������������������������������������������������������������������������������������������������������������������������������������������������������YY����������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY������YY�Y��������������������������������������������Y��YYY�YY�����������������������Y���������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY����������������������������YYY���������������������������YYYYY�YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY����Y��YYYYY��������Y���Y���������������������������YYYY���YYYY���������YYYYYYYY���������YYYYYYY��������������������������������������������������������������������������������������YYY�����������������������������YY���������������������������YYYYY���������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������������������������Y������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY





















































































































YYYYYYYYYY






































YY



























































HHTTT


HHHHHHTTTTTTTT

TTTTTTT





























TTTT















































YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY






















































































YYYYYYYYYYYYYYYYYYYYYYYffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffgggggggYggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggfYffYYfYYffYYffffYffffffffggggYgYgggggggYgggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffYffffYYffffffffYfffffffYggggggggggggggggggggggggggffYffffYfffffYfYYYfffffffYggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggffffffffffffffffffffffffffggggggggggggggggggggggggggggYYfffffffffffffffffffffffffgggggggggggggggggggggggggggggggfffffffffffffffffffffffffgggggggggggggggggggggggggggggggfffffffffffffffffffffffffgggggggggggggggggggggggggggggggfffffffffffffffffffffffffgggggggggggggggggggggggggggggggfffffffffffffffffffffffffgggggggggggggggggggggggggggggggfgYY











































YYYY



































































































YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY






























YY
YYYYYYYYYYY
Y
YY
YYY
YYY




YYYYYYYY
YYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYY
Y

YY
YYYYYYYYYY



YY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

































YYYYYYYYYYYYYY








YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY���������������������������������������������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY�����������������������������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY������������������������������YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTYYYYYYYYYYYYYYYY������������������������������������������������������������������������������������������������������������������������������YY	

 !""#$%&'((()*+,-./0123456789:;<=>?@AABCDEFGHIJKLLAMAANOPQRSTUVWXYZ[\]F^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`abbbbbbbbcddefghijklmno"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""pqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr^^stuvwwxyz{|}~�������������������������������F������������������^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^�^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^�^^^^����rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr�									
!	 		!��	!				�	!y!	!����!	9���!���!	����!���!�!	�!	�!	�!	O!	�!	�!	�!a!	�!	�!�!	�!�!	�!	�!	�!	�!!8!	!����!����!����!	����!	���!	~���!	+*!	]���!	(*!?*!	=���!	E!	G!*!*!*!.���!2���!3���!6���!5���!1���!/���!-���!�)!�)!+���!*���!�)!&���!����!'���!����!%���!	T	����	�	&	%	@	?	 ������������������	������	����������
	
������������	�������	����	~���	P	 ������	����	�	0���
111177?
?????YYYY







++
++
+555
5
5556
666
66

$
$$$
$$/
///88888
    
99999
9999
&&
&&
&&	`((((--2233

%%%%%
%%"""
"""
4''
'
'
ZZ
ZZ
ZZ==
==
==KK
KK
EE
EEE
H
HHH	
	!�!�!���!	A�	����JVd�p~����		����������	����	����	����	����	����						��!	A��!	���!	!��!!�!		��	0���!		��!	�!	��!���!���!	���!	��!	���!	���!	���




��::<<<UUULLLL
NNNN!	�u��000
0@@J
JJJJ
D
DDDIII
ISS
SSSS
CCC
C
C&[[[[VV
VVV
		#FB));;***
	(
���.,,
PPPAAAGGWWWMMRRQQXTT
TTT>>>O8.02 2010-03-19h�0����p�	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~�����������������������������������������������������������������������������������������������������������������������������>�~~�����������������������������������������x������������������;�2�1���03����5����:��H�;��\�>����A��$�B����D���E��@�J���pK����U��$�W��pPY����Z������x ���@���0����H���P�����������
p���
���0��|�������� �����d����������p��P���h0���`���������P���h�����������@�\`��������`�p� zRx�$�/���FJw�?:*3$"DH1���L\�3��E�B�E �A(�C0��
(A EBBGA
(D EBBA�`8���`�9���B�K�E �E(�D0�H8�HPK
8F0A(B BBBKy
8A0A(B BBBE`$�;��B�J�G �I(�A0�F8�DP�
8F0A(B BBBE�
8C0A(B BBBC\�d>��,B�E�E �H(�D0�A8�G@�
8C0A(B BBBFd8F0A(B BBBx�4?���B�B�E �E(�G0�C8�D@�
8A0A(B BBBDK
8C0A(B BBBA�8F0A(B BBB<d�@���B�E�E �D(�H0��
(A BBBAH�8A��8B�E�B �E(�D0�D8�Dp

8A0A(B BBBGH�,F���B�E�E �E(�A0�A8�G`x
8A0A(B BBBAH<�F��r
B�E�B �E(�D0�A8�Fp
8A0A(B BBBDH��P���B�B�B �B(�A0�A8�D��
8A0A(B BBBDD�R���B�H�L �E(�D0�J8�p
0A(B BBBF�S��t�0�T��8WB�B�B �B(�A0�A8�G���A�A�L�B�I�B�B�Y�r
8A0A(B BBBF�D�p�B��F�k�A�!�E�i�A�������F�B�B �B(�A0�A8�G� L�"\�"F�"N�"B�#N�#I�#E�#B�#Q�"��"��"D�"D�#G�#A�#B�#B�#x�"�
8A0A(B BBBE|�������q��p����QB�B�B �B(�A0�A8�G� L�@L�At
8A0A(B BBBA3�A[�AH�AB�AE�AI�A[�Aj�A^�AH�AB�AE�AI�A[�A��Aq�AH�AB�AE�AI�AN�AX#�A^�AH�AB�AE�AI�AV�Ahxd���F�B�B �E(�A0�A8�J�
8A0A(B BBBA!�H�B�H�H�D�b�(����#u��B�p�v
J������v�B�H�E �B(�A0�A8�G�0�X�A�D�W��
8A0A(B BBBF�J�F�A�W�>�L�H�B�N���L�H�B�N���X�B�D�\�q�U�B�B�\��X�H�D�W���J�B�D�W��X�H�D�W�q�U�B�D�\�m�X�H�D�W�f�R�H�D�W�h�L�B�G�W��N�B�D�W�S�K�E�A�S�G�T�A�B�W���J�B�A�W�i�N�B�D�W��J�B�D�W�$�J�F�A�W���J�B�A�W���J�F�D�W�s�J�B�D�W���N�B�D�W�C�J�B�D�W���N�B�D�]��	�J�B�D�W���K�B�D�W�5�K�B�D�W���J�B�D�W�O�J�B�D�\�!�J�B�D�\�}�J�B�D�W���J�B�D�W���J�B�D�W���J�B�D�W�V�J�B�D�W���J�B�D�W���N�B�D�W�t�N�B�D�W�u�N�B�D�W�z
�A�M�Ek�N�B�D�W�{�N�B�D�W���K�B�D�W�D�K�B�D�W���J�B�D�W�p�A�B�D�W�L�J�B�D�W���J�B�D�W�s�K�B�D�W�J�J�B�D�W��G�E�D�W�\�A�B�D�W�d�x���jF�B�B �B(�A0�A8�M��
8A0A(B BBBDL�l�B�B�V�DL����iF�B�B �A(�A0�D��
0A(A BBBGH�����&F�G�B �G(�A0�A8�Gp`
8A0A(B BBBGH������F�B�B �B(�A0�F8�G�r
8A0A(B BBBJ ,
����A�G0�
AA(P
����gE�A�D w
CAKH|
���YF�B�E �D(�G0�a
(C BBBNA(A BBBH�
����F�E�B �B(�A0�D8�H@�
8A0A(B BBBBȽ��
<(Ľ��~F�B�B �A(�A0�R
(A BBBKHh���SF�E�D �G(�G0M
(M CBBJD(A ABB����
,�����E�A�D`^
AAF<�����(M�G�B �A(�A0�y
(D BBBA8<����?E��
CU
KO
AF
R^
J^
J8x���OE��
Ik
EO
AM
CF
RZ
F������0��?x�X���B�D�B �B(�D0�A8�D`�
8A0A(B BBBD�
8F0A(B BBBA]8F0A(B BBB`���FHt���^B�L�E �E(�D0�C8�GPj
8A0A(B BBBFH����F�B�B �D(�A0�G�f
0A(A BBBD��� ���V�,<����y��E�H�x
HVA�lP��|�H��I��B�A �A(�d����X(����j
 ABBIJ
 AEBF�����P(���������J(����GNU��`x�"�x
��h�"p�"���o(0
�
Op�"ph�	���o���o���o�o����o��"����� 0@P`p�������� 0@GA$3a1��GA$3a1x�GA$3a1����GA$3a1��
GA$3p864�T�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864`�ѠGA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864�b�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864p���GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864���GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864��G�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864P�x�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864���GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864���GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864�s�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864s�s�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864��z�GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��
GA$3p864����GA$gcc 8.3.1 20190507
GA*GOW�DGA*GA!stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864��
GA$3h864��GA$3a1����GA$3a1����GA$3a1��GA$3a1����libpcre.so.0.0.1-8.02-9.1.el8.x86_64.debug��_v�7zXZ�ִF!t/���m]?�E�h=��ڊ�2N�	CxW��kV�+�Lse+F�c���}��0��\ҹ���LF"��R~�'�/K'S�%���%���N@���R�&
�/��|w��d���@%��j�2NC���q���XFu^v���Y�w�l�=z��n� !���K���U:���c��.�)w�W��L?5��Ġs��iZ�<�}�R��tϱO���ʝ��X� �&?4�Xu�U�];f�D(0	��^=T���9Al�@o�����6�|Ue	��aC�ы�l�,I�o�If�zn�6n�:e.�~�8�&g�c0�v(��=�}�k����_��1�`֧��,QF����(G�`����`&K�׏(R*�o̫vެ�k�V���M���C1:����8�_�Ԍ&�9�����o�Ey�+���k�Eu~�'x��2K{��e4�?%MO>�<�7�\	`�I=EBP1Ʃ����o�d$\̹-I\y����K-E���m��#��i�g���֨�����ǽ?B���i�Wm��Pcpr�󷃲S�6�Tf~	�G~�k�E�J�����j�łD��%OE܎�'�muZ�Y����@0\c�J!x�_)Cg�F�Z�k@��7�
֡1��3<C�TW=h�K�8���W!A�s C���]��{��$��'֗XC�g�J+��"�v�~nZ�Z{�������+�z��g��=�i�574m��l:�\�UO�B�ܹT�,����M���7 J��]8�7�*""�uÂnthČ��ud�T����~�j]@n�����gΔ�������E*���B�:�V��m�_٭�+#[��Mu]�\>���(��u1�
����J������P�4h]mJ��q�K��B
�A���I���t�'1�ڣS
�9��ꨖ��P��"t�L
"����ty�
����7�܅m�ڼ2�k�G�L[c�,y�Qbf�c�s~��F����q{_A�?4��>3�,% �
gR�b.������_�1�P4S��B������������"�+$fEoc�?˩�9Z������Q��΀�5^������*�P�MT��Y�e�o�e^�%D.��c���P��C�Z�8���)��(�ي�X
�,-��*܊�t�6&��F���v�(�{������_�ets�!�k")�w��boX�`���<��ѝ���Z���=���(��b奃n�:�o���x���
�����^��-��,���x�_PO+1�sr����{�v{�4I�������i�f�շ3�]�,�����TR3��s%[&�q�=��dP�hB�X�5����l.0�}���+78�1��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((�(��`00
0
O8���o���E���o`Thh�^Bphxxc���nPP�w���}����
���  � � ���������� �h�"h��p�"p��x�"x����"����p�"p���# � # �0c �!
"0@"��'(lib64/libpcreposix.a000064400000020670150405535520010342 0ustar00!<arch>
/               1573057005  0     0     0       54        `
����regerrorregfreeregcompregexec//                                              30        `
libpcreposix_la-pcreposix.o/

/0              1573057005  1667  135   100644  8360      `
ELF>�@@ 
��AVI��AUATI��UH��S��~Hc�H�L�,�L���H�XM��tGI�T$���t=H��H��tH�XH9�v[H�U�L��L���A�D.�H��[]A\A]A^�f.�H��u�H��[]A\A]A^����L�-�DH��M��L���RL�
H�����1�H�
�XH��Z[]A\A]A^�fD��H�?�%��SH��H���փ�H�� dH�%(H�D$1���H�L$L�D$�����D$E����� E�����@E��
 ��E�����H�T$E�E1��HcT$H�H�SH��t;H�L$�1�H���HcD$H�C1�H�\$dH3%(u'H�� [�fDHcT$���W�H���������AWI��AVAUATUH��SD��H��L�dH�%(H��$�1�A�CH�G����%�D$�¸���E؉؀�A��E؉؀�A��E�H��ti��ueM����I��
��I�����
�K�<D�D$H��H�t$L�\$�I��H����C�A�L�\$H�t$D�D$�:f�E��A���8H���1�E1�E1�E1��f.�1�E1�E1�A���HcE�MI��)�H�RA��H��E1�AT1�L���ZY���|�D$��ukM���[L��1�fDA��D�T�A�T�D�T�H��H9�r�E���L9�s)H�D�J�T���@����H���@�����H9�u�1��-D��E�����P���w��H���H��$�dH3%(��H�Ĩ[]A\A]A^A_��1�E1�E1�H���T$E1�L�\$H�t$��T$L�\$��H�t$����f�C�E1�L�d$ ������v���fDL��D$��D$�B���L��������>���fD1�������|$��H����
GA$3p864GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864
GA$3h864unknown error code at offset %s%s%-6dinternal errorinvalid repeat counts in {}pattern error? * + invalidunbalanced {}unbalanced []bad classbad escape sequenceempty expressionunbalanced ()bad range inside []expression too bigfailed to get memorybad back referencebad argumentmatch failed			

	collation error - not relevantGCC: (GNU) 8.2.1 20180905 (Red Hat 8.2.1-3) GNU��GNU�zRx�h�F�E�B �D(�D0�Y
(A BBBKI
(A BBBH\8L@]8D0A(A BBB�
 ��E�O0�
AG`��F�E�B �B(�A0�D8�J��K�K�A��
8A0A(B BBBH�/He�����`�p������	�5<DR�
Zd�lz������_.annobin_pcreposix.c.annobin_pcreposix.c_end.annobin_pcreposix.c.hot.annobin_pcreposix.c_end.hot.annobin_pcreposix.c.unlikely.annobin_pcreposix.c_end.unlikelypstringeintCSWTCH.8.LC0.LC1.LC2.text.hot.group.text.unlikely.group.text.unlikely..group.text.hot..groupregerror_GLOBAL_OFFSET_TABLE_strlenstrncpy__sprintf_chkregfreepcre_freeregcomppcre_compile2pcre_fullinfo__stack_chk_failregexecmallocpcre_exec ��������,)��������`*������������������������������������+���������-��������x/���������0���������|�1���������3��������64�����������������5)���������5���������5���������1�������� �  
(
)
8
T 
b(
p0
~8@
�H
�P
�X
�`
�h
�p
�x
�
�
% �����.symtab.strtab.shstrtab.group.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rodata.str1.1.rodata.rodata.str1.8.rela.data.rel.ro.local.comment.note.gnu.property.note.GNU-stack.rela.eh_frame@P`h'p�"@�->3>=@T8@�0	S�b�(]@0|���(�@@0�2�2� � �2
� 
� �@p��0�
-|�
S�
��
P	00 @ `P'	`��(share/man/man3/pcrestack.3000064400000015606150405535520011336 0ustar00.TH PCRESTACK 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE DISCUSSION OF STACK USAGE"
.rs
.sp
When you call \fBpcre_exec()\fP, it makes use of an internal function called
\fBmatch()\fP. This calls itself recursively at branch points in the pattern,
in order to remember the state of the match so that it can back up and try a
different alternative if the first one fails. As matching proceeds deeper and
deeper into the tree of possibilities, the recursion depth increases.
.P
Not all calls of \fBmatch()\fP increase the recursion depth; for an item such
as a* it may be called several times at the same level, after matching
different numbers of a's. Furthermore, in a number of cases where the result of
the recursive call would immediately be passed back as the result of the
current call (a "tail recursion"), the function is just restarted instead.
.P
The \fBpcre_dfa_exec()\fP function operates in an entirely different way, and
uses recursion only when there is a regular expression recursion or subroutine
call in the pattern. This includes the processing of assertion and "once-only"
subpatterns, which are handled like subroutine calls. Normally, these are never
very deep, and the limit on the complexity of \fBpcre_dfa_exec()\fP is
controlled by the amount of workspace it is given. However, it is possible to
write patterns with runaway infinite recursions; such patterns will cause
\fBpcre_dfa_exec()\fP to run out of stack. At present, there is no protection
against this.
.P
The comments that follow do NOT apply to \fBpcre_dfa_exec()\fP; they are
relevant only for \fBpcre_exec()\fP.
.
.
.SS "Reducing \fBpcre_exec()\fP's stack usage"
.rs
.sp
Each time that \fBmatch()\fP is actually called recursively, it uses memory
from the process stack. For certain kinds of pattern and data, very large
amounts of stack may be needed, despite the recognition of "tail recursion".
You can often reduce the amount of recursion, and therefore the amount of stack
used, by modifying the pattern that is being matched. Consider, for example,
this pattern:
.sp
  ([^<]|<(?!inet))+
.sp
It matches from wherever it starts until it encounters "<inet" or the end of
the data, and is the kind of pattern that might be used when processing an XML
file. Each iteration of the outer parentheses matches either one character that
is not "<" or a "<" that is not followed by "inet". However, each time a
parenthesis is processed, a recursion occurs, so this formulation uses a stack
frame for each matched character. For a long string, a lot of stack is
required. Consider now this rewritten pattern, which matches exactly the same
strings:
.sp
  ([^<]++|<(?!inet))+
.sp
This uses very much less stack, because runs of characters that do not contain
"<" are "swallowed" in one item inside the parentheses. Recursion happens only
when a "<" character that is not followed by "inet" is encountered (and we
assume this is relatively rare). A possessive quantifier is used to stop any
backtracking into the runs of non-"<" characters, but that is not related to
stack usage.
.P
This example shows that one way of avoiding stack problems when matching long
subject strings is to write repeated parenthesized subpatterns to match more
than one character whenever possible.
.
.
.SS "Compiling PCRE to use heap instead of stack for \fBpcre_exec()\fP"
.rs
.sp
In environments where stack memory is constrained, you might want to compile
PCRE to use heap memory instead of stack for remembering back-up points when
\fBpcre_exec()\fP is running. This makes it run a lot more slowly, however.
Details of how to do this are given in the
.\" HREF
\fBpcrebuild\fP
.\"
documentation. When built in this way, instead of using the stack, PCRE obtains
and frees memory by calling the functions that are pointed to by the
\fBpcre_stack_malloc\fP and \fBpcre_stack_free\fP variables. By default, these
point to \fBmalloc()\fP and \fBfree()\fP, but you can replace the pointers to
cause PCRE to use your own functions. Since the block sizes are always the
same, and are always freed in reverse order, it may be possible to implement
customized memory handlers that are more efficient than the standard functions.
.
.
.SS "Limiting \fBpcre_exec()\fP's stack usage"
.rs
.sp
You can set limits on the number of times that \fBmatch()\fP is called, both in
total and recursively. If a limit is exceeded, \fBpcre_exec()\fP returns an
error code. Setting suitable limits should prevent it from running out of
stack. The default values of the limits are very large, and unlikely ever to
operate. They can be changed when PCRE is built, and they can also be set when
\fBpcre_exec()\fP is called. For details of these interfaces, see the
.\" HREF
\fBpcrebuild\fP
.\"
documentation and the
.\" HTML <a href="pcreapi.html#extradata">
.\" </a>
section on extra data for \fBpcre_exec()\fP
.\"
in the
.\" HREF
\fBpcreapi\fP
.\"
documentation.
.P
As a very rough rule of thumb, you should reckon on about 500 bytes per
recursion. Thus, if you want to limit your stack usage to 8Mb, you
should set the limit at 16000 recursions. A 64Mb stack, on the other hand, can
support around 128000 recursions.
.P
In Unix-like environments, the \fBpcretest\fP test program has a command line
option (\fB-S\fP) that can be used to increase the size of its stack. As long
as the stack is large enough, another option (\fB-M\fP) can be used to find the
smallest limits that allow a particular pattern to match a given subject
string. This is done by calling \fBpcre_exec()\fP repeatedly with different
limits.
.
.
.SS "Changing stack size in Unix-like systems"
.rs
.sp
In Unix-like environments, there is not often a problem with the stack unless
very long strings are involved, though the default limit on stack size varies
from system to system. Values from 8Mb to 64Mb are common. You can find your
default limit by running the command:
.sp
  ulimit -s
.sp
Unfortunately, the effect of running out of stack is often SIGSEGV, though
sometimes a more explicit error message is given. You can normally increase the
limit on stack size by code such as this:
.sp
  struct rlimit rlim;
  getrlimit(RLIMIT_STACK, &rlim);
  rlim.rlim_cur = 100*1024*1024;
  setrlimit(RLIMIT_STACK, &rlim);
.sp
This reads the current limits (soft and hard) using \fBgetrlimit()\fP, then
attempts to increase the soft limit to 100Mb using \fBsetrlimit()\fP. You must
do this before calling \fBpcre_exec()\fP.
.
.
.SS "Changing stack size in Mac OS X"
.rs
.sp
Using \fBsetrlimit()\fP, as described above, should also work on Mac OS X. It
is also possible to set a stack size when linking a program. There is a
discussion about stack sizes in Mac OS X at this web site:
.\" HTML <a href="http://developer.apple.com/qa/qa2005/qa1419.html">
.\" </a>
http://developer.apple.com/qa/qa2005/qa1419.html.
.\"
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 03 January 2010
Copyright (c) 1997-2010 University of Cambridge.
.fi
share/man/man3/pcre_get_stringtable_entries.3000064400000002170150405535520015266 0ustar00.TH PCRE_GET_STRINGTABLE_ENTRIES 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_get_stringtable_entries(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP, char **\fIfirst\fP, char **\fIlast\fP);
.
.SH DESCRIPTION
.rs
.sp
This convenience function finds, for a compiled pattern, the first and last
entries for a given name in the table that translates capturing parenthesis
names into numbers. When names are required to be unique (PCRE_DUPNAMES is
\fInot\fP set), it is usually easier to use \fBpcre_get_stringnumber()\fP
instead.
.sp
  \fIcode\fP    Compiled regular expression
  \fIname\fP    Name whose entries required
  \fIfirst\fP   Where to return a pointer to the first entry
  \fIlast\fP    Where to return a pointer to the last entry
.sp
The yield of the function is the length of each entry, or
PCRE_ERROR_NOSUBSTRING if none are found.
.P
There is a complete description of the PCRE native API, including the format of
the table entries, in the
.\" HREF
\fBpcreapi\fP
.\"
page, and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_refcount.3000064400000001353150405535520012207 0ustar00.TH PCRE_REFCOUNT 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_refcount(pcre *\fIcode\fP, int \fIadjust\fP);
.
.SH DESCRIPTION
.rs
.sp
This function is used to maintain a reference count inside a data block that
contains a compiled pattern. Its arguments are:
.sp
  \fIcode\fP                      Compiled regular expression
  \fIadjust\fP                    Adjustment to reference value
.sp
The yield of the function is the adjusted reference value, which is constrained
to lie between 0 and 65535.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_maketables.3000064400000001323150405535520012467 0ustar00.TH PCRE_MAKETABLES 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B const unsigned char *pcre_maketables(void);
.
.SH DESCRIPTION
.rs
.sp
This function builds a set of character tables for character values less than
256. These can be passed to \fBpcre_compile()\fP to override PCRE's internal,
built-in tables (which were made by \fBpcre_maketables()\fP when PCRE was
compiled). You might want to do this if you are using a non-standard locale.
The function yields a pointer to the tables.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_compile.3000064400000005645150405535530012023 0ustar00.TH PCRE_COMPILE 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B pcre *pcre_compile(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This function compiles a regular expression into an internal form. It is the
same as \fBpcre_compile2()\fP, except for the absence of the \fIerrorcodeptr\fP
argument. Its arguments are:
.sp
  \fIpattern\fR       A zero-terminated string containing the
                  regular expression to be compiled
  \fIoptions\fR       Zero or more option bits
  \fIerrptr\fR        Where to put an error message
  \fIerroffset\fR     Offset in pattern where error was found
  \fItableptr\fR      Pointer to character tables, or NULL to
                  use the built-in default
.sp
The option bits are:
.sp
  PCRE_ANCHORED           Force pattern anchoring
  PCRE_AUTO_CALLOUT       Compile automatic callouts
  PCRE_BSR_ANYCRLF        \eR matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE        \eR matches all Unicode line endings
  PCRE_CASELESS           Do caseless matching
  PCRE_DOLLAR_ENDONLY     $ not to match newline at end
  PCRE_DOTALL             . matches anything including NL
  PCRE_DUPNAMES           Allow duplicate names for subpatterns
  PCRE_EXTENDED           Ignore whitespace and # comments
  PCRE_EXTRA              PCRE extra features
                            (not much use currently)
  PCRE_FIRSTLINE          Force matching to be before newline
  PCRE_JAVASCRIPT_COMPAT  JavaScript compatibility
  PCRE_MULTILINE          ^ and $ match newlines within data
  PCRE_NEWLINE_ANY        Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF    Recognize CR, LF, and CRLF as newline
                            sequences
  PCRE_NEWLINE_CR         Set CR as the newline sequence
  PCRE_NEWLINE_CRLF       Set CRLF as the newline sequence
  PCRE_NEWLINE_LF         Set LF as the newline sequence
  PCRE_NO_AUTO_CAPTURE    Disable numbered capturing paren-
                            theses (named ones available)
  PCRE_NO_UTF8_CHECK      Do not check the pattern for UTF-8
                            validity (only relevant if
                            PCRE_UTF8 is set)
  PCRE_UNGREEDY           Invert greediness of quantifiers
  PCRE_UTF8               Run in UTF-8 mode
.sp
PCRE must be built with UTF-8 support in order to use PCRE_UTF8 and
PCRE_NO_UTF8_CHECK.
.P
The yield of the function is a pointer to a private data structure that
contains the compiled pattern, or NULL if an error was detected. Note that
compiling regular expressions with one version of PCRE for use with a different
version is not guaranteed to work and may cause crashes.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fR
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fR
.\"
page.
share/man/man3/pcre_copy_named_substring.3000064400000002327150405535530014603 0ustar00.TH PCRE_COPY_NAMED_SUBSTRING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_copy_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B char *\fIbuffer\fP, int \fIbuffersize\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for extracting a captured substring, identified
by name, into a given buffer. The arguments are:
.sp
  \fIcode\fP          Pattern that was successfully matched
  \fIsubject\fP       Subject that has been successfully matched
  \fIovector\fP       Offset vector that \fBpcre_exec()\fP used
  \fIstringcount\fP   Value returned by \fBpcre_exec()\fP
  \fIstringname\fP    Name of the required substring
  \fIbuffer\fP        Buffer to receive the string
  \fIbuffersize\fP    Size of buffer
.sp
The yield is the length of the substring, PCRE_ERROR_NOMEMORY if the buffer was
too small, or PCRE_ERROR_NOSUBSTRING if the string name is invalid.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_study.3000064400000002154150405535530011533 0ustar00.TH PCRE_STUDY 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B pcre_extra *pcre_study(const pcre *\fIcode\fP, int \fIoptions\fP,
.ti +5n
.B const char **\fIerrptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This function studies a compiled pattern, to see if additional information can
be extracted that might speed up matching. Its arguments are:
.sp
  \fIcode\fP       A compiled regular expression
  \fIoptions\fP    Options for \fBpcre_study()\fP
  \fIerrptr\fP     Where to put an error message
.sp
If the function succeeds, it returns a value that can be passed to
\fBpcre_exec()\fP via its \fIextra\fP argument.
.P
If the function returns NULL, either it could not find any additional
information, or there was an error. You can tell the difference by looking at
the error value. It is NULL in first case.
.P
There are currently no options defined; the value of the second argument should
always be zero.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_get_substring.3000064400000002361150405535530013242 0ustar00.TH PCRE_GET_SUBSTRING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_get_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for extracting a captured substring. The
arguments are:
.sp
  \fIsubject\fP       Subject that has been successfully matched
  \fIovector\fP       Offset vector that \fBpcre_exec()\fP used
  \fIstringcount\fP   Value returned by \fBpcre_exec()\fP
  \fIstringnumber\fP  Number of the required substring
  \fIstringptr\fP     Where to put the string pointer
.sp
The memory in which the substring is placed is obtained by calling
\fBpcre_malloc()\fP. The convenience function \fBpcre_free_substring()\fP can
be used to free it when it is no longer needed. The yield of the function is
the length of the substring, PCRE_ERROR_NOMEMORY if sufficient memory could not
be obtained, or PCRE_ERROR_NOSUBSTRING if the string number is invalid.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcrepattern.3000064400000303252150405535530011704 0ustar00.TH PCREPATTERN 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE REGULAR EXPRESSION DETAILS"
.rs
.sp
The syntax and semantics of the regular expressions that are supported by PCRE
are described in detail below. There is a quick-reference syntax summary in the
.\" HREF
\fBpcresyntax\fP
.\"
page. PCRE tries to match Perl syntax and semantics as closely as it can. PCRE
also supports some alternative regular expression syntax (which does not
conflict with the Perl syntax) in order to provide some compatibility with
regular expressions in Python, .NET, and Oniguruma.
.P
Perl's regular expressions are described in its own documentation, and
regular expressions in general are covered in a number of books, some of which
have copious examples. Jeffrey Friedl's "Mastering Regular Expressions",
published by O'Reilly, covers regular expressions in great detail. This
description of PCRE's regular expressions is intended as reference material.
.P
The original operation of PCRE was on strings of one-byte characters. However,
there is now also support for UTF-8 character strings. To use this,
PCRE must be built to include UTF-8 support, and you must call
\fBpcre_compile()\fP or \fBpcre_compile2()\fP with the PCRE_UTF8 option. There
is also a special sequence that can be given at the start of a pattern:
.sp
  (*UTF8)
.sp
Starting a pattern with this sequence is equivalent to setting the PCRE_UTF8
option. This feature is not Perl-compatible. How setting UTF-8 mode affects
pattern matching is mentioned in several places below. There is also a summary
of UTF-8 features in the
.\" HTML <a href="pcre.html#utf8support">
.\" </a>
section on UTF-8 support
.\"
in the main
.\" HREF
\fBpcre\fP
.\"
page.
.P
The remainder of this document discusses the patterns that are supported by
PCRE when its main matching function, \fBpcre_exec()\fP, is used.
From release 6.0, PCRE offers a second matching function,
\fBpcre_dfa_exec()\fP, which matches using a different algorithm that is not
Perl-compatible. Some of the features discussed below are not available when
\fBpcre_dfa_exec()\fP is used. The advantages and disadvantages of the
alternative function, and how it differs from the normal function, are
discussed in the
.\" HREF
\fBpcrematching\fP
.\"
page.
.
.
.SH "NEWLINE CONVENTIONS"
.rs
.sp
PCRE supports five different conventions for indicating line breaks in
strings: a single CR (carriage return) character, a single LF (linefeed)
character, the two-character sequence CRLF, any of the three preceding, or any
Unicode newline sequence. The
.\" HREF
\fBpcreapi\fP
.\"
page has
.\" HTML <a href="pcreapi.html#newlines">
.\" </a>
further discussion
.\"
about newlines, and shows how to set the newline convention in the
\fIoptions\fP arguments for the compiling and matching functions.
.P
It is also possible to specify a newline convention by starting a pattern
string with one of the following five sequences:
.sp
  (*CR)        carriage return
  (*LF)        linefeed
  (*CRLF)      carriage return, followed by linefeed
  (*ANYCRLF)   any of the three above
  (*ANY)       all Unicode newline sequences
.sp
These override the default and the options given to \fBpcre_compile()\fP or
\fBpcre_compile2()\fP. For example, on a Unix system where LF is the default
newline sequence, the pattern
.sp
  (*CR)a.b
.sp
changes the convention to CR. That pattern matches "a\enb" because LF is no
longer a newline. Note that these special settings, which are not
Perl-compatible, are recognized only at the very start of a pattern, and that
they must be in upper case. If more than one of them is present, the last one
is used.
.P
The newline convention does not affect what the \eR escape sequence matches. By
default, this is any Unicode newline sequence, for Perl compatibility. However,
this can be changed; see the description of \eR in the section entitled
.\" HTML <a href="#newlineseq">
.\" </a>
"Newline sequences"
.\"
below. A change of \eR setting can be combined with a change of newline
convention.
.
.
.SH "CHARACTERS AND METACHARACTERS"
.rs
.sp
A regular expression is a pattern that is matched against a subject string from
left to right. Most characters stand for themselves in a pattern, and match the
corresponding characters in the subject. As a trivial example, the pattern
.sp
  The quick brown fox
.sp
matches a portion of a subject string that is identical to itself. When
caseless matching is specified (the PCRE_CASELESS option), letters are matched
independently of case. In UTF-8 mode, PCRE always understands the concept of
case for characters whose values are less than 128, so caseless matching is
always possible. For characters with higher values, the concept of case is
supported if PCRE is compiled with Unicode property support, but not otherwise.
If you want to use caseless matching for characters 128 and above, you must
ensure that PCRE is compiled with Unicode property support as well as with
UTF-8 support.
.P
The power of regular expressions comes from the ability to include alternatives
and repetitions in the pattern. These are encoded in the pattern by the use of
\fImetacharacters\fP, which do not stand for themselves but instead are
interpreted in some special way.
.P
There are two different sets of metacharacters: those that are recognized
anywhere in the pattern except within square brackets, and those that are
recognized within square brackets. Outside square brackets, the metacharacters
are as follows:
.sp
  \e      general escape character with several uses
  ^      assert start of string (or line, in multiline mode)
  $      assert end of string (or line, in multiline mode)
  .      match any character except newline (by default)
  [      start character class definition
  |      start of alternative branch
  (      start subpattern
  )      end subpattern
  ?      extends the meaning of (
         also 0 or 1 quantifier
         also quantifier minimizer
  *      0 or more quantifier
  +      1 or more quantifier
         also "possessive quantifier"
  {      start min/max quantifier
.sp
Part of a pattern that is in square brackets is called a "character class". In
a character class the only metacharacters are:
.sp
  \e      general escape character
  ^      negate the class, but only if the first character
  -      indicates character range
.\" JOIN
  [      POSIX character class (only if followed by POSIX
           syntax)
  ]      terminates the character class
.sp
The following sections describe the use of each of the metacharacters.
.
.
.SH BACKSLASH
.rs
.sp
The backslash character has several uses. Firstly, if it is followed by a
non-alphanumeric character, it takes away any special meaning that character
may have. This use of backslash as an escape character applies both inside and
outside character classes.
.P
For example, if you want to match a * character, you write \e* in the pattern.
This escaping action applies whether or not the following character would
otherwise be interpreted as a metacharacter, so it is always safe to precede a
non-alphanumeric with backslash to specify that it stands for itself. In
particular, if you want to match a backslash, you write \e\e.
.P
If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the
pattern (other than in a character class) and characters between a # outside
a character class and the next newline are ignored. An escaping backslash can
be used to include a whitespace or # character as part of the pattern.
.P
If you want to remove the special meaning from a sequence of characters, you
can do so by putting them between \eQ and \eE. This is different from Perl in
that $ and @ are handled as literals in \eQ...\eE sequences in PCRE, whereas in
Perl, $ and @ cause variable interpolation. Note the following examples:
.sp
  Pattern            PCRE matches   Perl matches
.sp
.\" JOIN
  \eQabc$xyz\eE        abc$xyz        abc followed by the
                                      contents of $xyz
  \eQabc\e$xyz\eE       abc\e$xyz       abc\e$xyz
  \eQabc\eE\e$\eQxyz\eE   abc$xyz        abc$xyz
.sp
The \eQ...\eE sequence is recognized both inside and outside character classes.
.
.
.\" HTML <a name="digitsafterbackslash"></a>
.SS "Non-printing characters"
.rs
.sp
A second use of backslash provides a way of encoding non-printing characters
in patterns in a visible manner. There is no restriction on the appearance of
non-printing characters, apart from the binary zero that terminates a pattern,
but when a pattern is being prepared by text editing, it is often easier to use
one of the following escape sequences than the binary character it represents:
.sp
  \ea        alarm, that is, the BEL character (hex 07)
  \ecx       "control-x", where x is any character
  \ee        escape (hex 1B)
  \ef        formfeed (hex 0C)
  \en        linefeed (hex 0A)
  \er        carriage return (hex 0D)
  \et        tab (hex 09)
  \eddd      character with octal code ddd, or back reference
  \exhh      character with hex code hh
  \ex{hhh..} character with hex code hhh..
.sp
The precise effect of \ecx is as follows: if x is a lower case letter, it
is converted to upper case. Then bit 6 of the character (hex 40) is inverted.
Thus \ecz becomes hex 1A, but \ec{ becomes hex 3B, while \ec; becomes hex
7B.
.P
After \ex, from zero to two hexadecimal digits are read (letters can be in
upper or lower case). Any number of hexadecimal digits may appear between \ex{
and }, but the value of the character code must be less than 256 in non-UTF-8
mode, and less than 2**31 in UTF-8 mode. That is, the maximum value in
hexadecimal is 7FFFFFFF. Note that this is bigger than the largest Unicode code
point, which is 10FFFF.
.P
If characters other than hexadecimal digits appear between \ex{ and }, or if
there is no terminating }, this form of escape is not recognized. Instead, the
initial \ex will be interpreted as a basic hexadecimal escape, with no
following digits, giving a character whose value is zero.
.P
Characters whose value is less than 256 can be defined by either of the two
syntaxes for \ex. There is no difference in the way they are handled. For
example, \exdc is exactly the same as \ex{dc}.
.P
After \e0 up to two further octal digits are read. If there are fewer than two
digits, just those that are present are used. Thus the sequence \e0\ex\e07
specifies two binary zeros followed by a BEL character (code value 7). Make
sure you supply two digits after the initial zero if the pattern character that
follows is itself an octal digit.
.P
The handling of a backslash followed by a digit other than 0 is complicated.
Outside a character class, PCRE reads it and any following digits as a decimal
number. If the number is less than 10, or if there have been at least that many
previous capturing left parentheses in the expression, the entire sequence is
taken as a \fIback reference\fP. A description of how this works is given
.\" HTML <a href="#backreferences">
.\" </a>
later,
.\"
following the discussion of
.\" HTML <a href="#subpattern">
.\" </a>
parenthesized subpatterns.
.\"
.P
Inside a character class, or if the decimal number is greater than 9 and there
have not been that many capturing subpatterns, PCRE re-reads up to three octal
digits following the backslash, and uses them to generate a data character. Any
subsequent digits stand for themselves. In non-UTF-8 mode, the value of a
character specified in octal must be less than \e400. In UTF-8 mode, values up
to \e777 are permitted. For example:
.sp
  \e040   is another way of writing a space
.\" JOIN
  \e40    is the same, provided there are fewer than 40
            previous capturing subpatterns
  \e7     is always a back reference
.\" JOIN
  \e11    might be a back reference, or another way of
            writing a tab
  \e011   is always a tab
  \e0113  is a tab followed by the character "3"
.\" JOIN
  \e113   might be a back reference, otherwise the
            character with octal code 113
.\" JOIN
  \e377   might be a back reference, otherwise
            the byte consisting entirely of 1 bits
.\" JOIN
  \e81    is either a back reference, or a binary zero
            followed by the two characters "8" and "1"
.sp
Note that octal values of 100 or greater must not be introduced by a leading
zero, because no more than three octal digits are ever read.
.P
All the sequences that define a single character value can be used both inside
and outside character classes. In addition, inside a character class, the
sequence \eb is interpreted as the backspace character (hex 08), and the
sequences \eR and \eX are interpreted as the characters "R" and "X",
respectively. Outside a character class, these sequences have different
meanings
.\" HTML <a href="#uniextseq">
.\" </a>
(see below).
.\"
.
.
.SS "Absolute and relative back references"
.rs
.sp
The sequence \eg followed by an unsigned or a negative number, optionally
enclosed in braces, is an absolute or relative back reference. A named back
reference can be coded as \eg{name}. Back references are discussed
.\" HTML <a href="#backreferences">
.\" </a>
later,
.\"
following the discussion of
.\" HTML <a href="#subpattern">
.\" </a>
parenthesized subpatterns.
.\"
.
.
.SS "Absolute and relative subroutine calls"
.rs
.sp
For compatibility with Oniguruma, the non-Perl syntax \eg followed by a name or
a number enclosed either in angle brackets or single quotes, is an alternative
syntax for referencing a subpattern as a "subroutine". Details are discussed
.\" HTML <a href="#onigurumasubroutines">
.\" </a>
later.
.\"
Note that \eg{...} (Perl syntax) and \eg<...> (Oniguruma syntax) are \fInot\fP
synonymous. The former is a back reference; the latter is a
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
subroutine
.\"
call.
.
.
.SS "Generic character types"
.rs
.sp
Another use of backslash is for specifying generic character types. The
following are always recognized:
.sp
  \ed     any decimal digit
  \eD     any character that is not a decimal digit
  \eh     any horizontal whitespace character
  \eH     any character that is not a horizontal whitespace character
  \es     any whitespace character
  \eS     any character that is not a whitespace character
  \ev     any vertical whitespace character
  \eV     any character that is not a vertical whitespace character
  \ew     any "word" character
  \eW     any "non-word" character
.sp
Each pair of escape sequences partitions the complete set of characters into
two disjoint sets. Any given character matches one, and only one, of each pair.
.P
These character type sequences can appear both inside and outside character
classes. They each match one character of the appropriate type. If the current
matching point is at the end of the subject string, all of them fail, since
there is no character to match.
.P
For compatibility with Perl, \es does not match the VT character (code 11).
This makes it different from the the POSIX "space" class. The \es characters
are HT (9), LF (10), FF (12), CR (13), and space (32). If "use locale;" is
included in a Perl script, \es may match the VT character. In PCRE, it never
does.
.P
In UTF-8 mode, characters with values greater than 128 never match \ed, \es, or
\ew, and always match \eD, \eS, and \eW. This is true even when Unicode
character property support is available. These sequences retain their original
meanings from before UTF-8 support was available, mainly for efficiency
reasons. Note that this also affects \eb, because it is defined in terms of \ew
and \eW.
.P
The sequences \eh, \eH, \ev, and \eV are Perl 5.10 features. In contrast to the
other sequences, these do match certain high-valued codepoints in UTF-8 mode.
The horizontal space characters are:
.sp
  U+0009     Horizontal tab
  U+0020     Space
  U+00A0     Non-break space
  U+1680     Ogham space mark
  U+180E     Mongolian vowel separator
  U+2000     En quad
  U+2001     Em quad
  U+2002     En space
  U+2003     Em space
  U+2004     Three-per-em space
  U+2005     Four-per-em space
  U+2006     Six-per-em space
  U+2007     Figure space
  U+2008     Punctuation space
  U+2009     Thin space
  U+200A     Hair space
  U+202F     Narrow no-break space
  U+205F     Medium mathematical space
  U+3000     Ideographic space
.sp
The vertical space characters are:
.sp
  U+000A     Linefeed
  U+000B     Vertical tab
  U+000C     Formfeed
  U+000D     Carriage return
  U+0085     Next line
  U+2028     Line separator
  U+2029     Paragraph separator
.P
A "word" character is an underscore or any character less than 256 that is a
letter or digit. The definition of letters and digits is controlled by PCRE's
low-valued character tables, and may vary if locale-specific matching is taking
place (see
.\" HTML <a href="pcreapi.html#localesupport">
.\" </a>
"Locale support"
.\"
in the
.\" HREF
\fBpcreapi\fP
.\"
page). For example, in a French locale such as "fr_FR" in Unix-like systems,
or "french" in Windows, some character codes greater than 128 are used for
accented letters, and these are matched by \ew. The use of locales with Unicode
is discouraged.
.
.
.\" HTML <a name="newlineseq"></a>
.SS "Newline sequences"
.rs
.sp
Outside a character class, by default, the escape sequence \eR matches any
Unicode newline sequence. This is a Perl 5.10 feature. In non-UTF-8 mode \eR is
equivalent to the following:
.sp
  (?>\er\en|\en|\ex0b|\ef|\er|\ex85)
.sp
This is an example of an "atomic group", details of which are given
.\" HTML <a href="#atomicgroup">
.\" </a>
below.
.\"
This particular group matches either the two-character sequence CR followed by
LF, or one of the single characters LF (linefeed, U+000A), VT (vertical tab,
U+000B), FF (formfeed, U+000C), CR (carriage return, U+000D), or NEL (next
line, U+0085). The two-character sequence is treated as a single unit that
cannot be split.
.P
In UTF-8 mode, two additional characters whose codepoints are greater than 255
are added: LS (line separator, U+2028) and PS (paragraph separator, U+2029).
Unicode character property support is not needed for these characters to be
recognized.
.P
It is possible to restrict \eR to match only CR, LF, or CRLF (instead of the
complete set of Unicode line endings) by setting the option PCRE_BSR_ANYCRLF
either at compile time or when the pattern is matched. (BSR is an abbrevation
for "backslash R".) This can be made the default when PCRE is built; if this is
the case, the other behaviour can be requested via the PCRE_BSR_UNICODE option.
It is also possible to specify these settings by starting a pattern string with
one of the following sequences:
.sp
  (*BSR_ANYCRLF)   CR, LF, or CRLF only
  (*BSR_UNICODE)   any Unicode newline sequence
.sp
These override the default and the options given to \fBpcre_compile()\fP or
\fBpcre_compile2()\fP, but they can be overridden by options given to
\fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP. Note that these special settings,
which are not Perl-compatible, are recognized only at the very start of a
pattern, and that they must be in upper case. If more than one of them is
present, the last one is used. They can be combined with a change of newline
convention, for example, a pattern can start with:
.sp
  (*ANY)(*BSR_ANYCRLF)
.sp
Inside a character class, \eR matches the letter "R".
.
.
.\" HTML <a name="uniextseq"></a>
.SS Unicode character properties
.rs
.sp
When PCRE is built with Unicode character property support, three additional
escape sequences that match characters with specific properties are available.
When not in UTF-8 mode, these sequences are of course limited to testing
characters whose codepoints are less than 256, but they do work in this mode.
The extra escape sequences are:
.sp
  \ep{\fIxx\fP}   a character with the \fIxx\fP property
  \eP{\fIxx\fP}   a character without the \fIxx\fP property
  \eX       an extended Unicode sequence
.sp
The property names represented by \fIxx\fP above are limited to the Unicode
script names, the general category properties, and "Any", which matches any
character (including newline). Other properties such as "InMusicalSymbols" are
not currently supported by PCRE. Note that \eP{Any} does not match any
characters, so always causes a match failure.
.P
Sets of Unicode characters are defined as belonging to certain scripts. A
character from one of these sets can be matched using a script name. For
example:
.sp
  \ep{Greek}
  \eP{Han}
.sp
Those that are not part of an identified script are lumped together as
"Common". The current list of scripts is:
.P
Arabic,
Armenian,
Avestan,
Balinese,
Bamum,
Bengali,
Bopomofo,
Braille,
Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
Cham,
Cherokee,
Common,
Coptic,
Cuneiform,
Cypriot,
Cyrillic,
Deseret,
Devanagari,
Egyptian_Hieroglyphs,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
Greek,
Gujarati,
Gurmukhi,
Han,
Hangul,
Hanunoo,
Hebrew,
Hiragana,
Imperial_Aramaic,
Inherited,
Inscriptional_Pahlavi,
Inscriptional_Parthian,
Javanese,
Kaithi,
Kannada,
Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
Lao,
Latin,
Lepcha,
Limbu,
Linear_B,
Lisu,
Lycian,
Lydian,
Malayalam,
Meetei_Mayek,
Mongolian,
Myanmar,
New_Tai_Lue,
Nko,
Ogham,
Old_Italic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
Ol_Chiki,
Oriya,
Osmanya,
Phags_Pa,
Phoenician,
Rejang,
Runic,
Samaritan,
Saurashtra,
Shavian,
Sinhala,
Sundanese,
Syloti_Nagri,
Syriac,
Tagalog,
Tagbanwa,
Tai_Le,
Tai_Tham,
Tai_Viet,
Tamil,
Telugu,
Thaana,
Thai,
Tibetan,
Tifinagh,
Ugaritic,
Vai,
Yi.
.P
Each character has exactly one general category property, specified by a
two-letter abbreviation. For compatibility with Perl, negation can be specified
by including a circumflex between the opening brace and the property name. For
example, \ep{^Lu} is the same as \eP{Lu}.
.P
If only one letter is specified with \ep or \eP, it includes all the general
category properties that start with that letter. In this case, in the absence
of negation, the curly brackets in the escape sequence are optional; these two
examples have the same effect:
.sp
  \ep{L}
  \epL
.sp
The following general category property codes are supported:
.sp
  C     Other
  Cc    Control
  Cf    Format
  Cn    Unassigned
  Co    Private use
  Cs    Surrogate
.sp
  L     Letter
  Ll    Lower case letter
  Lm    Modifier letter
  Lo    Other letter
  Lt    Title case letter
  Lu    Upper case letter
.sp
  M     Mark
  Mc    Spacing mark
  Me    Enclosing mark
  Mn    Non-spacing mark
.sp
  N     Number
  Nd    Decimal number
  Nl    Letter number
  No    Other number
.sp
  P     Punctuation
  Pc    Connector punctuation
  Pd    Dash punctuation
  Pe    Close punctuation
  Pf    Final punctuation
  Pi    Initial punctuation
  Po    Other punctuation
  Ps    Open punctuation
.sp
  S     Symbol
  Sc    Currency symbol
  Sk    Modifier symbol
  Sm    Mathematical symbol
  So    Other symbol
.sp
  Z     Separator
  Zl    Line separator
  Zp    Paragraph separator
  Zs    Space separator
.sp
The special property L& is also supported: it matches a character that has
the Lu, Ll, or Lt property, in other words, a letter that is not classified as
a modifier or "other".
.P
The Cs (Surrogate) property applies only to characters in the range U+D800 to
U+DFFF. Such characters are not valid in UTF-8 strings (see RFC 3629) and so
cannot be tested by PCRE, unless UTF-8 validity checking has been turned off
(see the discussion of PCRE_NO_UTF8_CHECK in the
.\" HREF
\fBpcreapi\fP
.\"
page). Perl does not support the Cs property.
.P
The long synonyms for property names that Perl supports (such as \ep{Letter})
are not supported by PCRE, nor is it permitted to prefix any of these
properties with "Is".
.P
No character that is in the Unicode table has the Cn (unassigned) property.
Instead, this property is assumed for any code point that is not in the
Unicode table.
.P
Specifying caseless matching does not affect these escape sequences. For
example, \ep{Lu} always matches only upper case letters.
.P
The \eX escape matches any number of Unicode characters that form an extended
Unicode sequence. \eX is equivalent to
.sp
  (?>\ePM\epM*)
.sp
That is, it matches a character without the "mark" property, followed by zero
or more characters with the "mark" property, and treats the sequence as an
atomic group
.\" HTML <a href="#atomicgroup">
.\" </a>
(see below).
.\"
Characters with the "mark" property are typically accents that affect the
preceding character. None of them have codepoints less than 256, so in
non-UTF-8 mode \eX matches any one character.
.P
Matching characters by Unicode property is not fast, because PCRE has to search
a structure that contains data for over fifteen thousand characters. That is
why the traditional escape sequences such as \ed and \ew do not use Unicode
properties in PCRE.
.
.
.\" HTML <a name="resetmatchstart"></a>
.SS "Resetting the match start"
.rs
.sp
The escape sequence \eK, which is a Perl 5.10 feature, causes any previously
matched characters not to be included in the final matched sequence. For
example, the pattern:
.sp
  foo\eKbar
.sp
matches "foobar", but reports that it has matched "bar". This feature is
similar to a lookbehind assertion
.\" HTML <a href="#lookbehind">
.\" </a>
(described below).
.\"
However, in this case, the part of the subject before the real match does not
have to be of fixed length, as lookbehind assertions do. The use of \eK does
not interfere with the setting of
.\" HTML <a href="#subpattern">
.\" </a>
captured substrings.
.\"
For example, when the pattern
.sp
  (foo)\eKbar
.sp
matches "foobar", the first substring is still set to "foo".
.P
Perl documents that the use of \eK within assertions is "not well defined". In
PCRE, \eK is acted upon when it occurs inside positive assertions, but is
ignored in negative assertions.
.
.
.\" HTML <a name="smallassertions"></a>
.SS "Simple assertions"
.rs
.sp
The final use of backslash is for certain simple assertions. An assertion
specifies a condition that has to be met at a particular point in a match,
without consuming any characters from the subject string. The use of
subpatterns for more complicated assertions is described
.\" HTML <a href="#bigassertions">
.\" </a>
below.
.\"
The backslashed assertions are:
.sp
  \eb     matches at a word boundary
  \eB     matches when not at a word boundary
  \eA     matches at the start of the subject
  \eZ     matches at the end of the subject
          also matches before a newline at the end of the subject
  \ez     matches only at the end of the subject
  \eG     matches at the first matching position in the subject
.sp
These assertions may not appear in character classes (but note that \eb has a
different meaning, namely the backspace character, inside a character class).
.P
A word boundary is a position in the subject string where the current character
and the previous character do not both match \ew or \eW (i.e. one matches
\ew and the other matches \eW), or the start or end of the string if the
first or last character matches \ew, respectively. Neither PCRE nor Perl has a
separte "start of word" or "end of word" metasequence. However, whatever
follows \eb normally determines which it is. For example, the fragment
\eba matches "a" at the start of a word.
.P
The \eA, \eZ, and \ez assertions differ from the traditional circumflex and
dollar (described in the next section) in that they only ever match at the very
start and end of the subject string, whatever options are set. Thus, they are
independent of multiline mode. These three assertions are not affected by the
PCRE_NOTBOL or PCRE_NOTEOL options, which affect only the behaviour of the
circumflex and dollar metacharacters. However, if the \fIstartoffset\fP
argument of \fBpcre_exec()\fP is non-zero, indicating that matching is to start
at a point other than the beginning of the subject, \eA can never match. The
difference between \eZ and \ez is that \eZ matches before a newline at the end
of the string as well as at the very end, whereas \ez matches only at the end.
.P
The \eG assertion is true only when the current matching position is at the
start point of the match, as specified by the \fIstartoffset\fP argument of
\fBpcre_exec()\fP. It differs from \eA when the value of \fIstartoffset\fP is
non-zero. By calling \fBpcre_exec()\fP multiple times with appropriate
arguments, you can mimic Perl's /g option, and it is in this kind of
implementation where \eG can be useful.
.P
Note, however, that PCRE's interpretation of \eG, as the start of the current
match, is subtly different from Perl's, which defines it as the end of the
previous match. In Perl, these can be different when the previously matched
string was empty. Because PCRE does just one match at a time, it cannot
reproduce this behaviour.
.P
If all the alternatives of a pattern begin with \eG, the expression is anchored
to the starting match position, and the "anchored" flag is set in the compiled
regular expression.
.
.
.SH "CIRCUMFLEX AND DOLLAR"
.rs
.sp
Outside a character class, in the default matching mode, the circumflex
character is an assertion that is true only if the current matching point is
at the start of the subject string. If the \fIstartoffset\fP argument of
\fBpcre_exec()\fP is non-zero, circumflex can never match if the PCRE_MULTILINE
option is unset. Inside a character class, circumflex has an entirely different
meaning
.\" HTML <a href="#characterclass">
.\" </a>
(see below).
.\"
.P
Circumflex need not be the first character of the pattern if a number of
alternatives are involved, but it should be the first thing in each alternative
in which it appears if the pattern is ever to match that branch. If all
possible alternatives start with a circumflex, that is, if the pattern is
constrained to match only at the start of the subject, it is said to be an
"anchored" pattern. (There are also other constructs that can cause a pattern
to be anchored.)
.P
A dollar character is an assertion that is true only if the current matching
point is at the end of the subject string, or immediately before a newline
at the end of the string (by default). Dollar need not be the last character of
the pattern if a number of alternatives are involved, but it should be the last
item in any branch in which it appears. Dollar has no special meaning in a
character class.
.P
The meaning of dollar can be changed so that it matches only at the very end of
the string, by setting the PCRE_DOLLAR_ENDONLY option at compile time. This
does not affect the \eZ assertion.
.P
The meanings of the circumflex and dollar characters are changed if the
PCRE_MULTILINE option is set. When this is the case, a circumflex matches
immediately after internal newlines as well as at the start of the subject
string. It does not match after a newline that ends the string. A dollar
matches before any newlines in the string, as well as at the very end, when
PCRE_MULTILINE is set. When newline is specified as the two-character
sequence CRLF, isolated CR and LF characters do not indicate newlines.
.P
For example, the pattern /^abc$/ matches the subject string "def\enabc" (where
\en represents a newline) in multiline mode, but not otherwise. Consequently,
patterns that are anchored in single line mode because all branches start with
^ are not anchored in multiline mode, and a match for circumflex is possible
when the \fIstartoffset\fP argument of \fBpcre_exec()\fP is non-zero. The
PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.
.P
Note that the sequences \eA, \eZ, and \ez can be used to match the start and
end of the subject in both modes, and if all branches of a pattern start with
\eA it is always anchored, whether or not PCRE_MULTILINE is set.
.
.
.SH "FULL STOP (PERIOD, DOT)"
.rs
.sp
Outside a character class, a dot in the pattern matches any one character in
the subject string except (by default) a character that signifies the end of a
line. In UTF-8 mode, the matched character may be more than one byte long.
.P
When a line ending is defined as a single character, dot never matches that
character; when the two-character sequence CRLF is used, dot does not match CR
if it is immediately followed by LF, but otherwise it matches all characters
(including isolated CRs and LFs). When any Unicode line endings are being
recognized, dot does not match CR or LF or any of the other line ending
characters.
.P
The behaviour of dot with regard to newlines can be changed. If the PCRE_DOTALL
option is set, a dot matches any one character, without exception. If the
two-character sequence CRLF is present in the subject string, it takes two dots
to match it.
.P
The handling of dot is entirely independent of the handling of circumflex and
dollar, the only relationship being that they both involve newlines. Dot has no
special meaning in a character class.
.
.
.SH "MATCHING A SINGLE BYTE"
.rs
.sp
Outside a character class, the escape sequence \eC matches any one byte, both
in and out of UTF-8 mode. Unlike a dot, it always matches any line-ending
characters. The feature is provided in Perl in order to match individual bytes
in UTF-8 mode. Because it breaks up UTF-8 characters into individual bytes,
what remains in the string may be a malformed UTF-8 string. For this reason,
the \eC escape sequence is best avoided.
.P
PCRE does not allow \eC to appear in lookbehind assertions
.\" HTML <a href="#lookbehind">
.\" </a>
(described below),
.\"
because in UTF-8 mode this would make it impossible to calculate the length of
the lookbehind.
.
.
.\" HTML <a name="characterclass"></a>
.SH "SQUARE BRACKETS AND CHARACTER CLASSES"
.rs
.sp
An opening square bracket introduces a character class, terminated by a closing
square bracket. A closing square bracket on its own is not special by default.
However, if the PCRE_JAVASCRIPT_COMPAT option is set, a lone closing square
bracket causes a compile-time error. If a closing square bracket is required as
a member of the class, it should be the first data character in the class
(after an initial circumflex, if present) or escaped with a backslash.
.P
A character class matches a single character in the subject. In UTF-8 mode, the
character may be more than one byte long. A matched character must be in the
set of characters defined by the class, unless the first character in the class
definition is a circumflex, in which case the subject character must not be in
the set defined by the class. If a circumflex is actually required as a member
of the class, ensure it is not the first character, or escape it with a
backslash.
.P
For example, the character class [aeiou] matches any lower case vowel, while
[^aeiou] matches any character that is not a lower case vowel. Note that a
circumflex is just a convenient notation for specifying the characters that
are in the class by enumerating those that are not. A class that starts with a
circumflex is not an assertion; it still consumes a character from the subject
string, and therefore it fails if the current pointer is at the end of the
string.
.P
In UTF-8 mode, characters with values greater than 255 can be included in a
class as a literal string of bytes, or by using the \ex{ escaping mechanism.
.P
When caseless matching is set, any letters in a class represent both their
upper case and lower case versions, so for example, a caseless [aeiou] matches
"A" as well as "a", and a caseless [^aeiou] does not match "A", whereas a
caseful version would. In UTF-8 mode, PCRE always understands the concept of
case for characters whose values are less than 128, so caseless matching is
always possible. For characters with higher values, the concept of case is
supported if PCRE is compiled with Unicode property support, but not otherwise.
If you want to use caseless matching in UTF8-mode for characters 128 and above,
you must ensure that PCRE is compiled with Unicode property support as well as
with UTF-8 support.
.P
Characters that might indicate line breaks are never treated in any special way
when matching character classes, whatever line-ending sequence is in use, and
whatever setting of the PCRE_DOTALL and PCRE_MULTILINE options is used. A class
such as [^a] always matches one of these characters.
.P
The minus (hyphen) character can be used to specify a range of characters in a
character class. For example, [d-m] matches any letter between d and m,
inclusive. If a minus character is required in a class, it must be escaped with
a backslash or appear in a position where it cannot be interpreted as
indicating a range, typically as the first or last character in the class.
.P
It is not possible to have the literal character "]" as the end character of a
range. A pattern such as [W-]46] is interpreted as a class of two characters
("W" and "-") followed by a literal string "46]", so it would match "W46]" or
"-46]". However, if the "]" is escaped with a backslash it is interpreted as
the end of range, so [W-\e]46] is interpreted as a class containing a range
followed by two other characters. The octal or hexadecimal representation of
"]" can also be used to end a range.
.P
Ranges operate in the collating sequence of character values. They can also be
used for characters specified numerically, for example [\e000-\e037]. In UTF-8
mode, ranges can include characters whose values are greater than 255, for
example [\ex{100}-\ex{2ff}].
.P
If a range that includes letters is used when caseless matching is set, it
matches the letters in either case. For example, [W-c] is equivalent to
[][\e\e^_`wxyzabc], matched caselessly, and in non-UTF-8 mode, if character
tables for a French locale are in use, [\exc8-\excb] matches accented E
characters in both cases. In UTF-8 mode, PCRE supports the concept of case for
characters with values greater than 128 only when it is compiled with Unicode
property support.
.P
The character types \ed, \eD, \ep, \eP, \es, \eS, \ew, and \eW may also appear
in a character class, and add the characters that they match to the class. For
example, [\edABCDEF] matches any hexadecimal digit. A circumflex can
conveniently be used with the upper case character types to specify a more
restricted set of characters than the matching lower case type. For example,
the class [^\eW_] matches any letter or digit, but not underscore.
.P
The only metacharacters that are recognized in character classes are backslash,
hyphen (only where it can be interpreted as specifying a range), circumflex
(only at the start), opening square bracket (only when it can be interpreted as
introducing a POSIX class name - see the next section), and the terminating
closing square bracket. However, escaping other non-alphanumeric characters
does no harm.
.
.
.SH "POSIX CHARACTER CLASSES"
.rs
.sp
Perl supports the POSIX notation for character classes. This uses names
enclosed by [: and :] within the enclosing square brackets. PCRE also supports
this notation. For example,
.sp
  [01[:alpha:]%]
.sp
matches "0", "1", any alphabetic character, or "%". The supported class names
are
.sp
  alnum    letters and digits
  alpha    letters
  ascii    character codes 0 - 127
  blank    space or tab only
  cntrl    control characters
  digit    decimal digits (same as \ed)
  graph    printing characters, excluding space
  lower    lower case letters
  print    printing characters, including space
  punct    printing characters, excluding letters and digits
  space    white space (not quite the same as \es)
  upper    upper case letters
  word     "word" characters (same as \ew)
  xdigit   hexadecimal digits
.sp
The "space" characters are HT (9), LF (10), VT (11), FF (12), CR (13), and
space (32). Notice that this list includes the VT character (code 11). This
makes "space" different to \es, which does not include VT (for Perl
compatibility).
.P
The name "word" is a Perl extension, and "blank" is a GNU extension from Perl
5.8. Another Perl extension is negation, which is indicated by a ^ character
after the colon. For example,
.sp
  [12[:^digit:]]
.sp
matches "1", "2", or any non-digit. PCRE (and Perl) also recognize the POSIX
syntax [.ch.] and [=ch=] where "ch" is a "collating element", but these are not
supported, and an error is given if they are encountered.
.P
In UTF-8 mode, characters with values greater than 128 do not match any of
the POSIX character classes.
.
.
.SH "VERTICAL BAR"
.rs
.sp
Vertical bar characters are used to separate alternative patterns. For example,
the pattern
.sp
  gilbert|sullivan
.sp
matches either "gilbert" or "sullivan". Any number of alternatives may appear,
and an empty alternative is permitted (matching the empty string). The matching
process tries each alternative in turn, from left to right, and the first one
that succeeds is used. If the alternatives are within a subpattern
.\" HTML <a href="#subpattern">
.\" </a>
(defined below),
.\"
"succeeds" means matching the rest of the main pattern as well as the
alternative in the subpattern.
.
.
.SH "INTERNAL OPTION SETTING"
.rs
.sp
The settings of the PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, and
PCRE_EXTENDED options (which are Perl-compatible) can be changed from within
the pattern by a sequence of Perl option letters enclosed between "(?" and ")".
The option letters are
.sp
  i  for PCRE_CASELESS
  m  for PCRE_MULTILINE
  s  for PCRE_DOTALL
  x  for PCRE_EXTENDED
.sp
For example, (?im) sets caseless, multiline matching. It is also possible to
unset these options by preceding the letter with a hyphen, and a combined
setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and
PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also
permitted. If a letter appears both before and after the hyphen, the option is
unset.
.P
The PCRE-specific options PCRE_DUPNAMES, PCRE_UNGREEDY, and PCRE_EXTRA can be
changed in the same way as the Perl-compatible options by using the characters
J, U and X respectively.
.P
When one of these option changes occurs at top level (that is, not inside
subpattern parentheses), the change applies to the remainder of the pattern
that follows. If the change is placed right at the start of a pattern, PCRE
extracts it into the global options (and it will therefore show up in data
extracted by the \fBpcre_fullinfo()\fP function).
.P
An option change within a subpattern (see below for a description of
subpatterns) affects only that part of the current pattern that follows it, so
.sp
  (a(?i)b)c
.sp
matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used).
By this means, options can be made to have different settings in different
parts of the pattern. Any changes made in one alternative do carry on
into subsequent branches within the same subpattern. For example,
.sp
  (a(?i)b|c)
.sp
matches "ab", "aB", "c", and "C", even though when matching "C" the first
branch is abandoned before the option setting. This is because the effects of
option settings happen at compile time. There would be some very weird
behaviour otherwise.
.P
\fBNote:\fP There are other PCRE-specific options that can be set by the
application when the compile or match functions are called. In some cases the
pattern can contain special leading sequences such as (*CRLF) to override what
the application has set or what has been defaulted. Details are given in the
section entitled
.\" HTML <a href="#newlineseq">
.\" </a>
"Newline sequences"
.\"
above. There is also the (*UTF8) leading sequence that can be used to set UTF-8
mode; this is equivalent to setting the PCRE_UTF8 option.
.
.
.\" HTML <a name="subpattern"></a>
.SH SUBPATTERNS
.rs
.sp
Subpatterns are delimited by parentheses (round brackets), which can be nested.
Turning part of a pattern into a subpattern does two things:
.sp
1. It localizes a set of alternatives. For example, the pattern
.sp
  cat(aract|erpillar|)
.sp
matches one of the words "cat", "cataract", or "caterpillar". Without the
parentheses, it would match "cataract", "erpillar" or an empty string.
.sp
2. It sets up the subpattern as a capturing subpattern. This means that, when
the whole pattern matches, that portion of the subject string that matched the
subpattern is passed back to the caller via the \fIovector\fP argument of
\fBpcre_exec()\fP. Opening parentheses are counted from left to right (starting
from 1) to obtain numbers for the capturing subpatterns.
.P
For example, if the string "the red king" is matched against the pattern
.sp
  the ((red|white) (king|queen))
.sp
the captured substrings are "red king", "red", and "king", and are numbered 1,
2, and 3, respectively.
.P
The fact that plain parentheses fulfil two functions is not always helpful.
There are often times when a grouping subpattern is required without a
capturing requirement. If an opening parenthesis is followed by a question mark
and a colon, the subpattern does not do any capturing, and is not counted when
computing the number of any subsequent capturing subpatterns. For example, if
the string "the white queen" is matched against the pattern
.sp
  the ((?:red|white) (king|queen))
.sp
the captured substrings are "white queen" and "queen", and are numbered 1 and
2. The maximum number of capturing subpatterns is 65535.
.P
As a convenient shorthand, if any option settings are required at the start of
a non-capturing subpattern, the option letters may appear between the "?" and
the ":". Thus the two patterns
.sp
  (?i:saturday|sunday)
  (?:(?i)saturday|sunday)
.sp
match exactly the same set of strings. Because alternative branches are tried
from left to right, and options are not reset until the end of the subpattern
is reached, an option setting in one branch does affect subsequent branches, so
the above patterns match "SUNDAY" as well as "Saturday".
.
.
.\" HTML <a name="dupsubpatternnumber"></a>
.SH "DUPLICATE SUBPATTERN NUMBERS"
.rs
.sp
Perl 5.10 introduced a feature whereby each alternative in a subpattern uses
the same numbers for its capturing parentheses. Such a subpattern starts with
(?| and is itself a non-capturing subpattern. For example, consider this
pattern:
.sp
  (?|(Sat)ur|(Sun))day
.sp
Because the two alternatives are inside a (?| group, both sets of capturing
parentheses are numbered one. Thus, when the pattern matches, you can look
at captured substring number one, whichever alternative matched. This construct
is useful when you want to capture part, but not all, of one of a number of
alternatives. Inside a (?| group, parentheses are numbered as usual, but the
number is reset at the start of each branch. The numbers of any capturing
buffers that follow the subpattern start after the highest number used in any
branch. The following example is taken from the Perl documentation.
The numbers underneath show in which buffer the captured content will be
stored.
.sp
  # before  ---------------branch-reset----------- after
  / ( a )  (?| x ( y ) z | (p (q) r) | (t) u (v) ) ( z ) /x
  # 1            2         2  3        2     3     4
.sp
A back reference to a numbered subpattern uses the most recent value that is
set for that number by any subpattern. The following pattern matches "abcabc"
or "defdef":
.sp
  /(?|(abc)|(def))\e1/
.sp
In contrast, a recursive or "subroutine" call to a numbered subpattern always
refers to the first one in the pattern with the given number. The following
pattern matches "abcabc" or "defabc":
.sp
  /(?|(abc)|(def))(?1)/
.sp
If a
.\" HTML <a href="#conditions">
.\" </a>
condition test
.\"
for a subpattern's having matched refers to a non-unique number, the test is
true if any of the subpatterns of that number have matched.
.P
An alternative approach to using this "branch reset" feature is to use
duplicate named subpatterns, as described in the next section.
.
.
.SH "NAMED SUBPATTERNS"
.rs
.sp
Identifying capturing parentheses by number is simple, but it can be very hard
to keep track of the numbers in complicated regular expressions. Furthermore,
if an expression is modified, the numbers may change. To help with this
difficulty, PCRE supports the naming of subpatterns. This feature was not
added to Perl until release 5.10. Python had the feature earlier, and PCRE
introduced it at release 4.0, using the Python syntax. PCRE now supports both
the Perl and the Python syntax. Perl allows identically numbered subpatterns to
have different names, but PCRE does not.
.P
In PCRE, a subpattern can be named in one of three ways: (?<name>...) or
(?'name'...) as in Perl, or (?P<name>...) as in Python. References to capturing
parentheses from other parts of the pattern, such as
.\" HTML <a href="#backreferences">
.\" </a>
back references,
.\"
.\" HTML <a href="#recursion">
.\" </a>
recursion,
.\"
and
.\" HTML <a href="#conditions">
.\" </a>
conditions,
.\"
can be made by name as well as by number.
.P
Names consist of up to 32 alphanumeric characters and underscores. Named
capturing parentheses are still allocated numbers as well as names, exactly as
if the names were not present. The PCRE API provides function calls for
extracting the name-to-number translation table from a compiled pattern. There
is also a convenience function for extracting a captured substring by name.
.P
By default, a name must be unique within a pattern, but it is possible to relax
this constraint by setting the PCRE_DUPNAMES option at compile time. (Duplicate
names are also always permitted for subpatterns with the same number, set up as
described in the previous section.) Duplicate names can be useful for patterns
where only one instance of the named parentheses can match. Suppose you want to
match the name of a weekday, either as a 3-letter abbreviation or as the full
name, and in both cases you want to extract the abbreviation. This pattern
(ignoring the line breaks) does the job:
.sp
  (?<DN>Mon|Fri|Sun)(?:day)?|
  (?<DN>Tue)(?:sday)?|
  (?<DN>Wed)(?:nesday)?|
  (?<DN>Thu)(?:rsday)?|
  (?<DN>Sat)(?:urday)?
.sp
There are five capturing substrings, but only one is ever set after a match.
(An alternative way of solving this problem is to use a "branch reset"
subpattern, as described in the previous section.)
.P
The convenience function for extracting the data by name returns the substring
for the first (and in this example, the only) subpattern of that name that
matched. This saves searching to find which numbered subpattern it was.
.P
If you make a back reference to a non-unique named subpattern from elsewhere in
the pattern, the one that corresponds to the first occurrence of the name is
used. In the absence of duplicate numbers (see the previous section) this is
the one with the lowest number. If you use a named reference in a condition
test (see the
.\"
.\" HTML <a href="#conditions">
.\" </a>
section about conditions
.\"
below), either to check whether a subpattern has matched, or to check for
recursion, all subpatterns with the same name are tested. If the condition is
true for any one of them, the overall condition is true. This is the same
behaviour as testing by number. For further details of the interfaces for
handling named subpatterns, see the
.\" HREF
\fBpcreapi\fP
.\"
documentation.
.P
\fBWarning:\fP You cannot use different names to distinguish between two
subpatterns with the same number because PCRE uses only the numbers when
matching. For this reason, an error is given at compile time if different names
are given to subpatterns with the same number. However, you can give the same
name to subpatterns with the same number, even when PCRE_DUPNAMES is not set.
.
.
.SH REPETITION
.rs
.sp
Repetition is specified by quantifiers, which can follow any of the following
items:
.sp
  a literal data character
  the dot metacharacter
  the \eC escape sequence
  the \eX escape sequence (in UTF-8 mode with Unicode properties)
  the \eR escape sequence
  an escape such as \ed that matches a single character
  a character class
  a back reference (see next section)
  a parenthesized subpattern (unless it is an assertion)
  a recursive or "subroutine" call to a subpattern
.sp
The general repetition quantifier specifies a minimum and maximum number of
permitted matches, by giving the two numbers in curly brackets (braces),
separated by a comma. The numbers must be less than 65536, and the first must
be less than or equal to the second. For example:
.sp
  z{2,4}
.sp
matches "zz", "zzz", or "zzzz". A closing brace on its own is not a special
character. If the second number is omitted, but the comma is present, there is
no upper limit; if the second number and the comma are both omitted, the
quantifier specifies an exact number of required matches. Thus
.sp
  [aeiou]{3,}
.sp
matches at least 3 successive vowels, but may match many more, while
.sp
  \ed{8}
.sp
matches exactly 8 digits. An opening curly bracket that appears in a position
where a quantifier is not allowed, or one that does not match the syntax of a
quantifier, is taken as a literal character. For example, {,6} is not a
quantifier, but a literal string of four characters.
.P
In UTF-8 mode, quantifiers apply to UTF-8 characters rather than to individual
bytes. Thus, for example, \ex{100}{2} matches two UTF-8 characters, each of
which is represented by a two-byte sequence. Similarly, when Unicode property
support is available, \eX{3} matches three Unicode extended sequences, each of
which may be several bytes long (and they may be of different lengths).
.P
The quantifier {0} is permitted, causing the expression to behave as if the
previous item and the quantifier were not present. This may be useful for
subpatterns that are referenced as
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
subroutines
.\"
from elsewhere in the pattern. Items other than subpatterns that have a {0}
quantifier are omitted from the compiled pattern.
.P
For convenience, the three most common quantifiers have single-character
abbreviations:
.sp
  *    is equivalent to {0,}
  +    is equivalent to {1,}
  ?    is equivalent to {0,1}
.sp
It is possible to construct infinite loops by following a subpattern that can
match no characters with a quantifier that has no upper limit, for example:
.sp
  (a?)*
.sp
Earlier versions of Perl and PCRE used to give an error at compile time for
such patterns. However, because there are cases where this can be useful, such
patterns are now accepted, but if any repetition of the subpattern does in fact
match no characters, the loop is forcibly broken.
.P
By default, the quantifiers are "greedy", that is, they match as much as
possible (up to the maximum number of permitted times), without causing the
rest of the pattern to fail. The classic example of where this gives problems
is in trying to match comments in C programs. These appear between /* and */
and within the comment, individual * and / characters may appear. An attempt to
match C comments by applying the pattern
.sp
  /\e*.*\e*/
.sp
to the string
.sp
  /* first comment */  not comment  /* second comment */
.sp
fails, because it matches the entire string owing to the greediness of the .*
item.
.P
However, if a quantifier is followed by a question mark, it ceases to be
greedy, and instead matches the minimum number of times possible, so the
pattern
.sp
  /\e*.*?\e*/
.sp
does the right thing with the C comments. The meaning of the various
quantifiers is not otherwise changed, just the preferred number of matches.
Do not confuse this use of question mark with its use as a quantifier in its
own right. Because it has two uses, it can sometimes appear doubled, as in
.sp
  \ed??\ed
.sp
which matches one digit by preference, but can match two if that is the only
way the rest of the pattern matches.
.P
If the PCRE_UNGREEDY option is set (an option that is not available in Perl),
the quantifiers are not greedy by default, but individual ones can be made
greedy by following them with a question mark. In other words, it inverts the
default behaviour.
.P
When a parenthesized subpattern is quantified with a minimum repeat count that
is greater than 1 or with a limited maximum, more memory is required for the
compiled pattern, in proportion to the size of the minimum or maximum.
.P
If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equivalent
to Perl's /s) is set, thus allowing the dot to match newlines, the pattern is
implicitly anchored, because whatever follows will be tried against every
character position in the subject string, so there is no point in retrying the
overall match at any position after the first. PCRE normally treats such a
pattern as though it were preceded by \eA.
.P
In cases where it is known that the subject string contains no newlines, it is
worth setting PCRE_DOTALL in order to obtain this optimization, or
alternatively using ^ to indicate anchoring explicitly.
.P
However, there is one situation where the optimization cannot be used. When .*
is inside capturing parentheses that are the subject of a back reference
elsewhere in the pattern, a match at the start may fail where a later one
succeeds. Consider, for example:
.sp
  (.*)abc\e1
.sp
If the subject is "xyz123abc123" the match point is the fourth character. For
this reason, such a pattern is not implicitly anchored.
.P
When a capturing subpattern is repeated, the value captured is the substring
that matched the final iteration. For example, after
.sp
  (tweedle[dume]{3}\es*)+
.sp
has matched "tweedledum tweedledee" the value of the captured substring is
"tweedledee". However, if there are nested capturing subpatterns, the
corresponding captured values may have been set in previous iterations. For
example, after
.sp
  /(a|(b))+/
.sp
matches "aba" the value of the second captured substring is "b".
.
.
.\" HTML <a name="atomicgroup"></a>
.SH "ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS"
.rs
.sp
With both maximizing ("greedy") and minimizing ("ungreedy" or "lazy")
repetition, failure of what follows normally causes the repeated item to be
re-evaluated to see if a different number of repeats allows the rest of the
pattern to match. Sometimes it is useful to prevent this, either to change the
nature of the match, or to cause it fail earlier than it otherwise might, when
the author of the pattern knows there is no point in carrying on.
.P
Consider, for example, the pattern \ed+foo when applied to the subject line
.sp
  123456bar
.sp
After matching all 6 digits and then failing to match "foo", the normal
action of the matcher is to try again with only 5 digits matching the \ed+
item, and then with 4, and so on, before ultimately failing. "Atomic grouping"
(a term taken from Jeffrey Friedl's book) provides the means for specifying
that once a subpattern has matched, it is not to be re-evaluated in this way.
.P
If we use atomic grouping for the previous example, the matcher gives up
immediately on failing to match "foo" the first time. The notation is a kind of
special parenthesis, starting with (?> as in this example:
.sp
  (?>\ed+)foo
.sp
This kind of parenthesis "locks up" the  part of the pattern it contains once
it has matched, and a failure further into the pattern is prevented from
backtracking into it. Backtracking past it to previous items, however, works as
normal.
.P
An alternative description is that a subpattern of this type matches the string
of characters that an identical standalone pattern would match, if anchored at
the current point in the subject string.
.P
Atomic grouping subpatterns are not capturing subpatterns. Simple cases such as
the above example can be thought of as a maximizing repeat that must swallow
everything it can. So, while both \ed+ and \ed+? are prepared to adjust the
number of digits they match in order to make the rest of the pattern match,
(?>\ed+) can only match an entire sequence of digits.
.P
Atomic groups in general can of course contain arbitrarily complicated
subpatterns, and can be nested. However, when the subpattern for an atomic
group is just a single repeated item, as in the example above, a simpler
notation, called a "possessive quantifier" can be used. This consists of an
additional + character following a quantifier. Using this notation, the
previous example can be rewritten as
.sp
  \ed++foo
.sp
Note that a possessive quantifier can be used with an entire group, for
example:
.sp
  (abc|xyz){2,3}+
.sp
Possessive quantifiers are always greedy; the setting of the PCRE_UNGREEDY
option is ignored. They are a convenient notation for the simpler forms of
atomic group. However, there is no difference in the meaning of a possessive
quantifier and the equivalent atomic group, though there may be a performance
difference; possessive quantifiers should be slightly faster.
.P
The possessive quantifier syntax is an extension to the Perl 5.8 syntax.
Jeffrey Friedl originated the idea (and the name) in the first edition of his
book. Mike McCloskey liked it, so implemented it when he built Sun's Java
package, and PCRE copied it from there. It ultimately found its way into Perl
at release 5.10.
.P
PCRE has an optimization that automatically "possessifies" certain simple
pattern constructs. For example, the sequence A+B is treated as A++B because
there is no point in backtracking into a sequence of A's when B must follow.
.P
When a pattern contains an unlimited repeat inside a subpattern that can itself
be repeated an unlimited number of times, the use of an atomic group is the
only way to avoid some failing matches taking a very long time indeed. The
pattern
.sp
  (\eD+|<\ed+>)*[!?]
.sp
matches an unlimited number of substrings that either consist of non-digits, or
digits enclosed in <>, followed by either ! or ?. When it matches, it runs
quickly. However, if it is applied to
.sp
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.sp
it takes a long time before reporting failure. This is because the string can
be divided between the internal \eD+ repeat and the external * repeat in a
large number of ways, and all have to be tried. (The example uses [!?] rather
than a single character at the end, because both PCRE and Perl have an
optimization that allows for fast failure when a single character is used. They
remember the last single character that is required for a match, and fail early
if it is not present in the string.) If the pattern is changed so that it uses
an atomic group, like this:
.sp
  ((?>\eD+)|<\ed+>)*[!?]
.sp
sequences of non-digits cannot be broken, and failure happens quickly.
.
.
.\" HTML <a name="backreferences"></a>
.SH "BACK REFERENCES"
.rs
.sp
Outside a character class, a backslash followed by a digit greater than 0 (and
possibly further digits) is a back reference to a capturing subpattern earlier
(that is, to its left) in the pattern, provided there have been that many
previous capturing left parentheses.
.P
However, if the decimal number following the backslash is less than 10, it is
always taken as a back reference, and causes an error only if there are not
that many capturing left parentheses in the entire pattern. In other words, the
parentheses that are referenced need not be to the left of the reference for
numbers less than 10. A "forward back reference" of this type can make sense
when a repetition is involved and the subpattern to the right has participated
in an earlier iteration.
.P
It is not possible to have a numerical "forward back reference" to a subpattern
whose number is 10 or more using this syntax because a sequence such as \e50 is
interpreted as a character defined in octal. See the subsection entitled
"Non-printing characters"
.\" HTML <a href="#digitsafterbackslash">
.\" </a>
above
.\"
for further details of the handling of digits following a backslash. There is
no such problem when named parentheses are used. A back reference to any
subpattern is possible using named parentheses (see below).
.P
Another way of avoiding the ambiguity inherent in the use of digits following a
backslash is to use the \eg escape sequence, which is a feature introduced in
Perl 5.10. This escape must be followed by an unsigned number or a negative
number, optionally enclosed in braces. These examples are all identical:
.sp
  (ring), \e1
  (ring), \eg1
  (ring), \eg{1}
.sp
An unsigned number specifies an absolute reference without the ambiguity that
is present in the older syntax. It is also useful when literal digits follow
the reference. A negative number is a relative reference. Consider this
example:
.sp
  (abc(def)ghi)\eg{-1}
.sp
The sequence \eg{-1} is a reference to the most recently started capturing
subpattern before \eg, that is, is it equivalent to \e2. Similarly, \eg{-2}
would be equivalent to \e1. The use of relative references can be helpful in
long patterns, and also in patterns that are created by joining together
fragments that contain references within themselves.
.P
A back reference matches whatever actually matched the capturing subpattern in
the current subject string, rather than anything matching the subpattern
itself (see
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
"Subpatterns as subroutines"
.\"
below for a way of doing that). So the pattern
.sp
  (sens|respons)e and \e1ibility
.sp
matches "sense and sensibility" and "response and responsibility", but not
"sense and responsibility". If caseful matching is in force at the time of the
back reference, the case of letters is relevant. For example,
.sp
  ((?i)rah)\es+\e1
.sp
matches "rah rah" and "RAH RAH", but not "RAH rah", even though the original
capturing subpattern is matched caselessly.
.P
There are several different ways of writing back references to named
subpatterns. The .NET syntax \ek{name} and the Perl syntax \ek<name> or
\ek'name' are supported, as is the Python syntax (?P=name). Perl 5.10's unified
back reference syntax, in which \eg can be used for both numeric and named
references, is also supported. We could rewrite the above example in any of
the following ways:
.sp
  (?<p1>(?i)rah)\es+\ek<p1>
  (?'p1'(?i)rah)\es+\ek{p1}
  (?P<p1>(?i)rah)\es+(?P=p1)
  (?<p1>(?i)rah)\es+\eg{p1}
.sp
A subpattern that is referenced by name may appear in the pattern before or
after the reference.
.P
There may be more than one back reference to the same subpattern. If a
subpattern has not actually been used in a particular match, any back
references to it always fail by default. For example, the pattern
.sp
  (a|(bc))\e2
.sp
always fails if it starts to match "a" rather than "bc". However, if the
PCRE_JAVASCRIPT_COMPAT option is set at compile time, a back reference to an
unset value matches an empty string.
.P
Because there may be many capturing parentheses in a pattern, all digits
following a backslash are taken as part of a potential back reference number.
If the pattern continues with a digit character, some delimiter must be used to
terminate the back reference. If the PCRE_EXTENDED option is set, this can be
whitespace. Otherwise, the \eg{ syntax or an empty comment (see
.\" HTML <a href="#comments">
.\" </a>
"Comments"
.\"
below) can be used.
.
.SS "Recursive back references"
.rs
.sp
A back reference that occurs inside the parentheses to which it refers fails
when the subpattern is first used, so, for example, (a\e1) never matches.
However, such references can be useful inside repeated subpatterns. For
example, the pattern
.sp
  (a|b\e1)+
.sp
matches any number of "a"s and also "aba", "ababbaa" etc. At each iteration of
the subpattern, the back reference matches the character string corresponding
to the previous iteration. In order for this to work, the pattern must be such
that the first iteration does not need to match the back reference. This can be
done using alternation, as in the example above, or by a quantifier with a
minimum of zero.
.P
Back references of this type cause the group that they reference to be treated
as an
.\" HTML <a href="#atomicgroup">
.\" </a>
atomic group.
.\"
Once the whole group has been matched, a subsequent matching failure cannot
cause backtracking into the middle of the group.
.
.
.\" HTML <a name="bigassertions"></a>
.SH ASSERTIONS
.rs
.sp
An assertion is a test on the characters following or preceding the current
matching point that does not actually consume any characters. The simple
assertions coded as \eb, \eB, \eA, \eG, \eZ, \ez, ^ and $ are described
.\" HTML <a href="#smallassertions">
.\" </a>
above.
.\"
.P
More complicated assertions are coded as subpatterns. There are two kinds:
those that look ahead of the current position in the subject string, and those
that look behind it. An assertion subpattern is matched in the normal way,
except that it does not cause the current matching position to be changed.
.P
Assertion subpatterns are not capturing subpatterns, and may not be repeated,
because it makes no sense to assert the same thing several times. If any kind
of assertion contains capturing subpatterns within it, these are counted for
the purposes of numbering the capturing subpatterns in the whole pattern.
However, substring capturing is carried out only for positive assertions,
because it does not make sense for negative assertions.
.
.
.SS "Lookahead assertions"
.rs
.sp
Lookahead assertions start with (?= for positive assertions and (?! for
negative assertions. For example,
.sp
  \ew+(?=;)
.sp
matches a word followed by a semicolon, but does not include the semicolon in
the match, and
.sp
  foo(?!bar)
.sp
matches any occurrence of "foo" that is not followed by "bar". Note that the
apparently similar pattern
.sp
  (?!foo)bar
.sp
does not find an occurrence of "bar" that is preceded by something other than
"foo"; it finds any occurrence of "bar" whatsoever, because the assertion
(?!foo) is always true when the next three characters are "bar". A
lookbehind assertion is needed to achieve the other effect.
.P
If you want to force a matching failure at some point in a pattern, the most
convenient way to do it is with (?!) because an empty string always matches, so
an assertion that requires there not to be an empty string must always fail.
The Perl 5.10 backtracking control verb (*FAIL) or (*F) is essentially a
synonym for (?!).
.
.
.\" HTML <a name="lookbehind"></a>
.SS "Lookbehind assertions"
.rs
.sp
Lookbehind assertions start with (?<= for positive assertions and (?<! for
negative assertions. For example,
.sp
  (?<!foo)bar
.sp
does find an occurrence of "bar" that is not preceded by "foo". The contents of
a lookbehind assertion are restricted such that all the strings it matches must
have a fixed length. However, if there are several top-level alternatives, they
do not all have to have the same fixed length. Thus
.sp
  (?<=bullock|donkey)
.sp
is permitted, but
.sp
  (?<!dogs?|cats?)
.sp
causes an error at compile time. Branches that match different length strings
are permitted only at the top level of a lookbehind assertion. This is an
extension compared with Perl (5.8 and 5.10), which requires all branches to
match the same length of string. An assertion such as
.sp
  (?<=ab(c|de))
.sp
is not permitted, because its single top-level branch can match two different
lengths, but it is acceptable to PCRE if rewritten to use two top-level
branches:
.sp
  (?<=abc|abde)
.sp
In some cases, the Perl 5.10 escape sequence \eK
.\" HTML <a href="#resetmatchstart">
.\" </a>
(see above)
.\"
can be used instead of a lookbehind assertion to get round the fixed-length
restriction.
.P
The implementation of lookbehind assertions is, for each alternative, to
temporarily move the current position back by the fixed length and then try to
match. If there are insufficient characters before the current position, the
assertion fails.
.P
PCRE does not allow the \eC escape (which matches a single byte in UTF-8 mode)
to appear in lookbehind assertions, because it makes it impossible to calculate
the length of the lookbehind. The \eX and \eR escapes, which can match
different numbers of bytes, are also not permitted.
.P
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
"Subroutine"
.\"
calls (see below) such as (?2) or (?&X) are permitted in lookbehinds, as long
as the subpattern matches a fixed-length string.
.\" HTML <a href="#recursion">
.\" </a>
Recursion,
.\"
however, is not supported.
.P
Possessive quantifiers can be used in conjunction with lookbehind assertions to
specify efficient matching of fixed-length strings at the end of subject
strings. Consider a simple pattern such as
.sp
  abcd$
.sp
when applied to a long string that does not match. Because matching proceeds
from left to right, PCRE will look for each "a" in the subject and then see if
what follows matches the rest of the pattern. If the pattern is specified as
.sp
  ^.*abcd$
.sp
the initial .* matches the entire string at first, but when this fails (because
there is no following "a"), it backtracks to match all but the last character,
then all but the last two characters, and so on. Once again the search for "a"
covers the entire string, from right to left, so we are no better off. However,
if the pattern is written as
.sp
  ^.*+(?<=abcd)
.sp
there can be no backtracking for the .*+ item; it can match only the entire
string. The subsequent lookbehind assertion does a single test on the last four
characters. If it fails, the match fails immediately. For long strings, this
approach makes a significant difference to the processing time.
.
.
.SS "Using multiple assertions"
.rs
.sp
Several assertions (of any sort) may occur in succession. For example,
.sp
  (?<=\ed{3})(?<!999)foo
.sp
matches "foo" preceded by three digits that are not "999". Notice that each of
the assertions is applied independently at the same point in the subject
string. First there is a check that the previous three characters are all
digits, and then there is a check that the same three characters are not "999".
This pattern does \fInot\fP match "foo" preceded by six characters, the first
of which are digits and the last three of which are not "999". For example, it
doesn't match "123abcfoo". A pattern to do that is
.sp
  (?<=\ed{3}...)(?<!999)foo
.sp
This time the first assertion looks at the preceding six characters, checking
that the first three are digits, and then the second assertion checks that the
preceding three characters are not "999".
.P
Assertions can be nested in any combination. For example,
.sp
  (?<=(?<!foo)bar)baz
.sp
matches an occurrence of "baz" that is preceded by "bar" which in turn is not
preceded by "foo", while
.sp
  (?<=\ed{3}(?!999)...)foo
.sp
is another pattern that matches "foo" preceded by three digits and any three
characters that are not "999".
.
.
.\" HTML <a name="conditions"></a>
.SH "CONDITIONAL SUBPATTERNS"
.rs
.sp
It is possible to cause the matching process to obey a subpattern
conditionally or to choose between two alternative subpatterns, depending on
the result of an assertion, or whether a specific capturing subpattern has
already been matched. The two possible forms of conditional subpattern are:
.sp
  (?(condition)yes-pattern)
  (?(condition)yes-pattern|no-pattern)
.sp
If the condition is satisfied, the yes-pattern is used; otherwise the
no-pattern (if present) is used. If there are more than two alternatives in the
subpattern, a compile-time error occurs.
.P
There are four kinds of condition: references to subpatterns, references to
recursion, a pseudo-condition called DEFINE, and assertions.
.
.SS "Checking for a used subpattern by number"
.rs
.sp
If the text between the parentheses consists of a sequence of digits, the
condition is true if a capturing subpattern of that number has previously
matched. If there is more than one capturing subpattern with the same number
(see the earlier
.\"
.\" HTML <a href="#recursion">
.\" </a>
section about duplicate subpattern numbers),
.\"
the condition is true if any of them have been set. An alternative notation is
to precede the digits with a plus or minus sign. In this case, the subpattern
number is relative rather than absolute. The most recently opened parentheses
can be referenced by (?(-1), the next most recent by (?(-2), and so on. In
looping constructs it can also make sense to refer to subsequent groups with
constructs such as (?(+2).
.P
Consider the following pattern, which contains non-significant white space to
make it more readable (assume the PCRE_EXTENDED option) and to divide it into
three parts for ease of discussion:
.sp
  ( \e( )?    [^()]+    (?(1) \e) )
.sp
The first part matches an optional opening parenthesis, and if that
character is present, sets it as the first captured substring. The second part
matches one or more characters that are not parentheses. The third part is a
conditional subpattern that tests whether the first set of parentheses matched
or not. If they did, that is, if subject started with an opening parenthesis,
the condition is true, and so the yes-pattern is executed and a closing
parenthesis is required. Otherwise, since no-pattern is not present, the
subpattern matches nothing. In other words, this pattern matches a sequence of
non-parentheses, optionally enclosed in parentheses.
.P
If you were embedding this pattern in a larger one, you could use a relative
reference:
.sp
  ...other stuff... ( \e( )?    [^()]+    (?(-1) \e) ) ...
.sp
This makes the fragment independent of the parentheses in the larger pattern.
.
.SS "Checking for a used subpattern by name"
.rs
.sp
Perl uses the syntax (?(<name>)...) or (?('name')...) to test for a used
subpattern by name. For compatibility with earlier versions of PCRE, which had
this facility before Perl, the syntax (?(name)...) is also recognized. However,
there is a possible ambiguity with this syntax, because subpattern names may
consist entirely of digits. PCRE looks first for a named subpattern; if it
cannot find one and the name consists entirely of digits, PCRE looks for a
subpattern of that number, which must be greater than zero. Using subpattern
names that consist entirely of digits is not recommended.
.P
Rewriting the above example to use a named subpattern gives this:
.sp
  (?<OPEN> \e( )?    [^()]+    (?(<OPEN>) \e) )
.sp
If the name used in a condition of this kind is a duplicate, the test is
applied to all subpatterns of the same name, and is true if any one of them has
matched.
.
.SS "Checking for pattern recursion"
.rs
.sp
If the condition is the string (R), and there is no subpattern with the name R,
the condition is true if a recursive call to the whole pattern or any
subpattern has been made. If digits or a name preceded by ampersand follow the
letter R, for example:
.sp
  (?(R3)...) or (?(R&name)...)
.sp
the condition is true if the most recent recursion is into a subpattern whose
number or name is given. This condition does not check the entire recursion
stack. If the name used in a condition of this kind is a duplicate, the test is
applied to all subpatterns of the same name, and is true if any one of them is
the most recent recursion.
.P
At "top level", all these recursion test conditions are false.
.\" HTML <a href="#recursion">
.\" </a>
The syntax for recursive patterns
.\"
is described below.
.
.SS "Defining subpatterns for use by reference only"
.rs
.sp
If the condition is the string (DEFINE), and there is no subpattern with the
name DEFINE, the condition is always false. In this case, there may be only one
alternative in the subpattern. It is always skipped if control reaches this
point in the pattern; the idea of DEFINE is that it can be used to define
"subroutines" that can be referenced from elsewhere. (The use of
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
"subroutines"
.\"
is described below.) For example, a pattern to match an IPv4 address could be
written like this (ignore whitespace and line breaks):
.sp
  (?(DEFINE) (?<byte> 2[0-4]\ed | 25[0-5] | 1\ed\ed | [1-9]?\ed) )
  \eb (?&byte) (\e.(?&byte)){3} \eb
.sp
The first part of the pattern is a DEFINE group inside which a another group
named "byte" is defined. This matches an individual component of an IPv4
address (a number less than 256). When matching takes place, this part of the
pattern is skipped because DEFINE acts like a false condition. The rest of the
pattern uses references to the named group to match the four dot-separated
components of an IPv4 address, insisting on a word boundary at each end.
.
.SS "Assertion conditions"
.rs
.sp
If the condition is not in any of the above formats, it must be an assertion.
This may be a positive or negative lookahead or lookbehind assertion. Consider
this pattern, again containing non-significant white space, and with the two
alternatives on the second line:
.sp
  (?(?=[^a-z]*[a-z])
  \ed{2}-[a-z]{3}-\ed{2}  |  \ed{2}-\ed{2}-\ed{2} )
.sp
The condition is a positive lookahead assertion that matches an optional
sequence of non-letters followed by a letter. In other words, it tests for the
presence of at least one letter in the subject. If a letter is found, the
subject is matched against the first alternative; otherwise it is matched
against the second. This pattern matches strings in one of the two forms
dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits.
.
.
.\" HTML <a name="comments"></a>
.SH COMMENTS
.rs
.sp
The sequence (?# marks the start of a comment that continues up to the next
closing parenthesis. Nested parentheses are not permitted. The characters
that make up a comment play no part in the pattern matching at all.
.P
If the PCRE_EXTENDED option is set, an unescaped # character outside a
character class introduces a comment that continues to immediately after the
next newline in the pattern.
.
.
.\" HTML <a name="recursion"></a>
.SH "RECURSIVE PATTERNS"
.rs
.sp
Consider the problem of matching a string in parentheses, allowing for
unlimited nested parentheses. Without the use of recursion, the best that can
be done is to use a pattern that matches up to some fixed depth of nesting. It
is not possible to handle an arbitrary nesting depth.
.P
For some time, Perl has provided a facility that allows regular expressions to
recurse (amongst other things). It does this by interpolating Perl code in the
expression at run time, and the code can refer to the expression itself. A Perl
pattern using code interpolation to solve the parentheses problem can be
created like this:
.sp
  $re = qr{\e( (?: (?>[^()]+) | (?p{$re}) )* \e)}x;
.sp
The (?p{...}) item interpolates Perl code at run time, and in this case refers
recursively to the pattern in which it appears.
.P
Obviously, PCRE cannot support the interpolation of Perl code. Instead, it
supports special syntax for recursion of the entire pattern, and also for
individual subpattern recursion. After its introduction in PCRE and Python,
this kind of recursion was subsequently introduced into Perl at release 5.10.
.P
A special item that consists of (? followed by a number greater than zero and a
closing parenthesis is a recursive call of the subpattern of the given number,
provided that it occurs inside that subpattern. (If not, it is a
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
"subroutine"
.\"
call, which is described in the next section.) The special item (?R) or (?0) is
a recursive call of the entire regular expression.
.P
This PCRE pattern solves the nested parentheses problem (assume the
PCRE_EXTENDED option is set so that white space is ignored):
.sp
  \e( ( [^()]++ | (?R) )* \e)
.sp
First it matches an opening parenthesis. Then it matches any number of
substrings which can either be a sequence of non-parentheses, or a recursive
match of the pattern itself (that is, a correctly parenthesized substring).
Finally there is a closing parenthesis. Note the use of a possessive quantifier
to avoid backtracking into sequences of non-parentheses.
.P
If this were part of a larger pattern, you would not want to recurse the entire
pattern, so instead you could use this:
.sp
  ( \e( ( [^()]++ | (?1) )* \e) )
.sp
We have put the pattern into parentheses, and caused the recursion to refer to
them instead of the whole pattern.
.P
In a larger pattern, keeping track of parenthesis numbers can be tricky. This
is made easier by the use of relative references (a Perl 5.10 feature).
Instead of (?1) in the pattern above you can write (?-2) to refer to the second
most recently opened parentheses preceding the recursion. In other words, a
negative number counts capturing parentheses leftwards from the point at which
it is encountered.
.P
It is also possible to refer to subsequently opened parentheses, by writing
references such as (?+2). However, these cannot be recursive because the
reference is not inside the parentheses that are referenced. They are always
.\" HTML <a href="#subpatternsassubroutines">
.\" </a>
"subroutine"
.\"
calls, as described in the next section.
.P
An alternative approach is to use named parentheses instead. The Perl syntax
for this is (?&name); PCRE's earlier syntax (?P>name) is also supported. We
could rewrite the above example as follows:
.sp
  (?<pn> \e( ( [^()]++ | (?&pn) )* \e) )
.sp
If there is more than one subpattern with the same name, the earliest one is
used.
.P
This particular example pattern that we have been looking at contains nested
unlimited repeats, and so the use of a possessive quantifier for matching
strings of non-parentheses is important when applying the pattern to strings
that do not match. For example, when this pattern is applied to
.sp
  (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
.sp
it yields "no match" quickly. However, if a possessive quantifier is not used,
the match runs for a very long time indeed because there are so many different
ways the + and * repeats can carve up the subject, and all have to be tested
before failure can be reported.
.P
At the end of a match, the values of capturing parentheses are those from
the outermost level. If you want to obtain intermediate values, a callout
function can be used (see below and the
.\" HREF
\fBpcrecallout\fP
.\"
documentation). If the pattern above is matched against
.sp
  (ab(cd)ef)
.sp
the value for the inner capturing parentheses (numbered 2) is "ef", which is
the last value taken on at the top level. If a capturing subpattern is not
matched at the top level, its final value is unset, even if it is (temporarily)
set at a deeper level.
.P
If there are more than 15 capturing parentheses in a pattern, PCRE has to
obtain extra memory to store data during a recursion, which it does by using
\fBpcre_malloc\fP, freeing it via \fBpcre_free\fP afterwards. If no memory can
be obtained, the match fails with the PCRE_ERROR_NOMEMORY error.
.P
Do not confuse the (?R) item with the condition (R), which tests for recursion.
Consider this pattern, which matches text in angle brackets, allowing for
arbitrary nesting. Only digits are allowed in nested brackets (that is, when
recursing), whereas any characters are permitted at the outer level.
.sp
  < (?: (?(R) \ed++  | [^<>]*+) | (?R)) * >
.sp
In this pattern, (?(R) is the start of a conditional subpattern, with two
different alternatives for the recursive and non-recursive cases. The (?R) item
is the actual recursive call.
.
.
.\" HTML <a name="recursiondifference"></a>
.SS "Recursion difference from Perl"
.rs
.sp
In PCRE (like Python, but unlike Perl), a recursive subpattern call is always
treated as an atomic group. That is, once it has matched some of the subject
string, it is never re-entered, even if it contains untried alternatives and
there is a subsequent matching failure. This can be illustrated by the
following pattern, which purports to match a palindromic string that contains
an odd number of characters (for example, "a", "aba", "abcba", "abcdcba"):
.sp
  ^(.|(.)(?1)\e2)$
.sp
The idea is that it either matches a single character, or two identical
characters surrounding a sub-palindrome. In Perl, this pattern works; in PCRE
it does not if the pattern is longer than three characters. Consider the
subject string "abcba":
.P
At the top level, the first character is matched, but as it is not at the end
of the string, the first alternative fails; the second alternative is taken
and the recursion kicks in. The recursive call to subpattern 1 successfully
matches the next character ("b"). (Note that the beginning and end of line
tests are not part of the recursion).
.P
Back at the top level, the next character ("c") is compared with what
subpattern 2 matched, which was "a". This fails. Because the recursion is
treated as an atomic group, there are now no backtracking points, and so the
entire match fails. (Perl is able, at this point, to re-enter the recursion and
try the second alternative.) However, if the pattern is written with the
alternatives in the other order, things are different:
.sp
  ^((.)(?1)\e2|.)$
.sp
This time, the recursing alternative is tried first, and continues to recurse
until it runs out of characters, at which point the recursion fails. But this
time we do have another alternative to try at the higher level. That is the big
difference: in the previous case the remaining alternative is at a deeper
recursion level, which PCRE cannot use.
.P
To change the pattern so that matches all palindromic strings, not just those
with an odd number of characters, it is tempting to change the pattern to this:
.sp
  ^((.)(?1)\e2|.?)$
.sp
Again, this works in Perl, but not in PCRE, and for the same reason. When a
deeper recursion has matched a single character, it cannot be entered again in
order to match an empty string. The solution is to separate the two cases, and
write out the odd and even cases as alternatives at the higher level:
.sp
  ^(?:((.)(?1)\e2|)|((.)(?3)\e4|.))
.sp
If you want to match typical palindromic phrases, the pattern has to ignore all
non-word characters, which can be done like this:
.sp
  ^\eW*+(?:((.)\eW*+(?1)\eW*+\e2|)|((.)\eW*+(?3)\eW*+\e4|\eW*+.\eW*+))\eW*+$
.sp
If run with the PCRE_CASELESS option, this pattern matches phrases such as "A
man, a plan, a canal: Panama!" and it works well in both PCRE and Perl. Note
the use of the possessive quantifier *+ to avoid backtracking into sequences of
non-word characters. Without this, PCRE takes a great deal longer (ten times or
more) to match typical phrases, and Perl takes so long that you think it has
gone into a loop.
.P
\fBWARNING\fP: The palindrome-matching patterns above work only if the subject
string does not start with a palindrome that is shorter than the entire string.
For example, although "abcba" is correctly matched, if the subject is "ababa",
PCRE finds the palindrome "aba" at the start, then fails at top level because
the end of the string does not follow. Once again, it cannot jump back into the
recursion to try other alternatives, so the entire match fails.
.
.
.\" HTML <a name="subpatternsassubroutines"></a>
.SH "SUBPATTERNS AS SUBROUTINES"
.rs
.sp
If the syntax for a recursive subpattern reference (either by number or by
name) is used outside the parentheses to which it refers, it operates like a
subroutine in a programming language. The "called" subpattern may be defined
before or after the reference. A numbered reference can be absolute or
relative, as in these examples:
.sp
  (...(absolute)...)...(?2)...
  (...(relative)...)...(?-1)...
  (...(?+1)...(relative)...
.sp
An earlier example pointed out that the pattern
.sp
  (sens|respons)e and \e1ibility
.sp
matches "sense and sensibility" and "response and responsibility", but not
"sense and responsibility". If instead the pattern
.sp
  (sens|respons)e and (?1)ibility
.sp
is used, it does match "sense and responsibility" as well as the other two
strings. Another example is given in the discussion of DEFINE above.
.P
Like recursive subpatterns, a subroutine call is always treated as an atomic
group. That is, once it has matched some of the subject string, it is never
re-entered, even if it contains untried alternatives and there is a subsequent
matching failure. Any capturing parentheses that are set during the subroutine
call revert to their previous values afterwards.
.P
When a subpattern is used as a subroutine, processing options such as
case-independence are fixed when the subpattern is defined. They cannot be
changed for different calls. For example, consider this pattern:
.sp
  (abc)(?i:(?-1))
.sp
It matches "abcabc". It does not match "abcABC" because the change of
processing option does not affect the called subpattern.
.
.
.\" HTML <a name="onigurumasubroutines"></a>
.SH "ONIGURUMA SUBROUTINE SYNTAX"
.rs
.sp
For compatibility with Oniguruma, the non-Perl syntax \eg followed by a name or
a number enclosed either in angle brackets or single quotes, is an alternative
syntax for referencing a subpattern as a subroutine, possibly recursively. Here
are two of the examples used above, rewritten using this syntax:
.sp
  (?<pn> \e( ( (?>[^()]+) | \eg<pn> )* \e) )
  (sens|respons)e and \eg'1'ibility
.sp
PCRE supports an extension to Oniguruma: if a number is preceded by a
plus or a minus sign it is taken as a relative reference. For example:
.sp
  (abc)(?i:\eg<-1>)
.sp
Note that \eg{...} (Perl syntax) and \eg<...> (Oniguruma syntax) are \fInot\fP
synonymous. The former is a back reference; the latter is a subroutine call.
.
.
.SH CALLOUTS
.rs
.sp
Perl has a feature whereby using the sequence (?{...}) causes arbitrary Perl
code to be obeyed in the middle of matching a regular expression. This makes it
possible, amongst other things, to extract different substrings that match the
same pair of parentheses when there is a repetition.
.P
PCRE provides a similar feature, but of course it cannot obey arbitrary Perl
code. The feature is called "callout". The caller of PCRE provides an external
function by putting its entry point in the global variable \fIpcre_callout\fP.
By default, this variable contains NULL, which disables all calling out.
.P
Within a regular expression, (?C) indicates the points at which the external
function is to be called. If you want to identify different callout points, you
can put a number less than 256 after the letter C. The default value is zero.
For example, this pattern has two callout points:
.sp
  (?C1)abc(?C2)def
.sp
If the PCRE_AUTO_CALLOUT flag is passed to \fBpcre_compile()\fP, callouts are
automatically installed before each item in the pattern. They are all numbered
255.
.P
During matching, when PCRE reaches a callout point (and \fIpcre_callout\fP is
set), the external function is called. It is provided with the number of the
callout, the position in the pattern, and, optionally, one item of data
originally supplied by the caller of \fBpcre_exec()\fP. The callout function
may cause matching to proceed, to backtrack, or to fail altogether. A complete
description of the interface to the callout function is given in the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.
.
.SH "BACKTRACKING CONTROL"
.rs
.sp
Perl 5.10 introduced a number of "Special Backtracking Control Verbs", which
are described in the Perl documentation as "experimental and subject to change
or removal in a future version of Perl". It goes on to say: "Their usage in
production code should be noted to avoid problems during upgrades." The same
remarks apply to the PCRE features described in this section.
.P
Since these verbs are specifically related to backtracking, most of them can be
used only when the pattern is to be matched using \fBpcre_exec()\fP, which uses
a backtracking algorithm. With the exception of (*FAIL), which behaves like a
failing negative assertion, they cause an error if encountered by
\fBpcre_dfa_exec()\fP.
.P
If any of these verbs are used in an assertion or subroutine subpattern
(including recursive subpatterns), their effect is confined to that subpattern;
it does not extend to the surrounding pattern. Note that such subpatterns are
processed as anchored at the point where they are tested.
.P
The new verbs make use of what was previously invalid syntax: an opening
parenthesis followed by an asterisk. In Perl, they are generally of the form
(*VERB:ARG) but PCRE does not support the use of arguments, so its general
form is just (*VERB). Any number of these verbs may occur in a pattern. There
are two kinds:
.
.SS "Verbs that act immediately"
.rs
.sp
The following verbs act as soon as they are encountered:
.sp
   (*ACCEPT)
.sp
This verb causes the match to end successfully, skipping the remainder of the
pattern. When inside a recursion, only the innermost pattern is ended
immediately. If (*ACCEPT) is inside capturing parentheses, the data so far is
captured. (This feature was added to PCRE at release 8.00.) For example:
.sp
  A((?:A|B(*ACCEPT)|C)D)
.sp
This matches "AB", "AAD", or "ACD"; when it matches "AB", "B" is captured by
the outer parentheses.
.sp
  (*FAIL) or (*F)
.sp
This verb causes the match to fail, forcing backtracking to occur. It is
equivalent to (?!) but easier to read. The Perl documentation notes that it is
probably useful only when combined with (?{}) or (??{}). Those are, of course,
Perl features that are not present in PCRE. The nearest equivalent is the
callout feature, as for example in this pattern:
.sp
  a+(?C)(*FAIL)
.sp
A match with the string "aaaa" always fails, but the callout is taken before
each backtrack happens (in this example, 10 times).
.
.SS "Verbs that act after backtracking"
.rs
.sp
The following verbs do nothing when they are encountered. Matching continues
with what follows, but if there is no subsequent match, a failure is forced.
The verbs differ in exactly what kind of failure occurs.
.sp
  (*COMMIT)
.sp
This verb causes the whole match to fail outright if the rest of the pattern
does not match. Even if the pattern is unanchored, no further attempts to find
a match by advancing the starting point take place. Once (*COMMIT) has been
passed, \fBpcre_exec()\fP is committed to finding a match at the current
starting point, or not at all. For example:
.sp
  a+(*COMMIT)b
.sp
This matches "xxaab" but not "aacaab". It can be thought of as a kind of
dynamic anchor, or "I've started, so I must finish."
.sp
  (*PRUNE)
.sp
This verb causes the match to fail at the current position if the rest of the
pattern does not match. If the pattern is unanchored, the normal "bumpalong"
advance to the next starting character then happens. Backtracking can occur as
usual to the left of (*PRUNE), or when matching to the right of (*PRUNE), but
if there is no match to the right, backtracking cannot cross (*PRUNE).
In simple cases, the use of (*PRUNE) is just an alternative to an atomic
group or possessive quantifier, but there are some uses of (*PRUNE) that cannot
be expressed in any other way.
.sp
  (*SKIP)
.sp
This verb is like (*PRUNE), except that if the pattern is unanchored, the
"bumpalong" advance is not to the next character, but to the position in the
subject where (*SKIP) was encountered. (*SKIP) signifies that whatever text
was matched leading up to it cannot be part of a successful match. Consider:
.sp
  a+(*SKIP)b
.sp
If the subject is "aaaac...", after the first match attempt fails (starting at
the first character in the string), the starting point skips on to start the
next attempt at "c". Note that a possessive quantifer does not have the same
effect as this example; although it would suppress backtracking during the
first match attempt, the second attempt would start at the second character
instead of skipping on to "c".
.sp
  (*THEN)
.sp
This verb causes a skip to the next alternation if the rest of the pattern does
not match. That is, it cancels pending backtracking, but only within the
current alternation. Its name comes from the observation that it can be used
for a pattern-based if-then-else block:
.sp
  ( COND1 (*THEN) FOO | COND2 (*THEN) BAR | COND3 (*THEN) BAZ ) ...
.sp
If the COND1 pattern matches, FOO is tried (and possibly further items after
the end of the group if FOO succeeds); on failure the matcher skips to the
second alternative and tries COND2, without backtracking into COND1. If (*THEN)
is used outside of any alternation, it acts exactly like (*PRUNE).
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcreapi\fP(3), \fBpcrecallout\fP(3), \fBpcrematching\fP(3),
\fBpcresyntax\fP(3), \fBpcre\fP(3).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 06 March 2010
Copyright (c) 1997-2010 University of Cambridge.
.fi
share/man/man3/pcrematching.3000064400000020216150405535530012015 0ustar00.TH PCREMATCHING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE MATCHING ALGORITHMS"
.rs
.sp
This document describes the two different algorithms that are available in PCRE
for matching a compiled regular expression against a given subject string. The
"standard" algorithm is the one provided by the \fBpcre_exec()\fP function.
This works in the same was as Perl's matching function, and provides a
Perl-compatible matching operation.
.P
An alternative algorithm is provided by the \fBpcre_dfa_exec()\fP function;
this operates in a different way, and is not Perl-compatible. It has advantages
and disadvantages compared with the standard algorithm, and these are described
below.
.P
When there is only one possible way in which a given subject string can match a
pattern, the two algorithms give the same answer. A difference arises, however,
when there are multiple possibilities. For example, if the pattern
.sp
  ^<.*>
.sp
is matched against the string
.sp
  <something> <something else> <something further>
.sp
there are three possible answers. The standard algorithm finds only one of
them, whereas the alternative algorithm finds all three.
.
.SH "REGULAR EXPRESSIONS AS TREES"
.rs
.sp
The set of strings that are matched by a regular expression can be represented
as a tree structure. An unlimited repetition in the pattern makes the tree of
infinite size, but it is still a tree. Matching the pattern to a given subject
string (from a given starting point) can be thought of as a search of the tree.
There are two ways to search a tree: depth-first and breadth-first, and these
correspond to the two matching algorithms provided by PCRE.
.
.SH "THE STANDARD MATCHING ALGORITHM"
.rs
.sp
In the terminology of Jeffrey Friedl's book "Mastering Regular
Expressions", the standard algorithm is an "NFA algorithm". It conducts a
depth-first search of the pattern tree. That is, it proceeds along a single
path through the tree, checking that the subject matches what is required. When
there is a mismatch, the algorithm tries any alternatives at the current point,
and if they all fail, it backs up to the previous branch point in the tree, and
tries the next alternative branch at that level. This often involves backing up
(moving to the left) in the subject string as well. The order in which
repetition branches are tried is controlled by the greedy or ungreedy nature of
the quantifier.
.P
If a leaf node is reached, a matching string has been found, and at that point
the algorithm stops. Thus, if there is more than one possible match, this
algorithm returns the first one that it finds. Whether this is the shortest,
the longest, or some intermediate length depends on the way the greedy and
ungreedy repetition quantifiers are specified in the pattern.
.P
Because it ends up with a single path through the tree, it is relatively
straightforward for this algorithm to keep track of the substrings that are
matched by portions of the pattern in parentheses. This provides support for
capturing parentheses and back references.
.
.SH "THE ALTERNATIVE MATCHING ALGORITHM"
.rs
.sp
This algorithm conducts a breadth-first search of the tree. Starting from the
first matching point in the subject, it scans the subject string from left to
right, once, character by character, and as it does this, it remembers all the
paths through the tree that represent valid matches. In Friedl's terminology,
this is a kind of "DFA algorithm", though it is not implemented as a
traditional finite state machine (it keeps multiple states active
simultaneously).
.P
Although the general principle of this matching algorithm is that it scans the
subject string only once, without backtracking, there is one exception: when a
lookaround assertion is encountered, the characters following or preceding the
current point have to be independently inspected.
.P
The scan continues until either the end of the subject is reached, or there are
no more unterminated paths. At this point, terminated paths represent the
different matching possibilities (if there are none, the match has failed).
Thus, if there is more than one possible match, this algorithm finds all of
them, and in particular, it finds the longest. There is an option to stop the
algorithm after the first match (which is necessarily the shortest) is found.
.P
Note that all the matches that are found start at the same point in the
subject. If the pattern
.sp
  cat(er(pillar)?)
.sp
is matched against the string "the caterpillar catchment", the result will be
the three strings "cat", "cater", and "caterpillar" that start at the fourth
character of the subject. The algorithm does not automatically move on to find
matches that start at later positions.
.P
There are a number of features of PCRE regular expressions that are not
supported by the alternative matching algorithm. They are as follows:
.P
1. Because the algorithm finds all possible matches, the greedy or ungreedy
nature of repetition quantifiers is not relevant. Greedy and ungreedy
quantifiers are treated in exactly the same way. However, possessive
quantifiers can make a difference when what follows could also match what is
quantified, for example in a pattern like this:
.sp
  ^a++\ew!
.sp
This pattern matches "aaab!" but not "aaa!", which would be matched by a
non-possessive quantifier. Similarly, if an atomic group is present, it is
matched as if it were a standalone pattern at the current point, and the
longest match is then "locked in" for the rest of the overall pattern.
.P
2. When dealing with multiple paths through the tree simultaneously, it is not
straightforward to keep track of captured substrings for the different matching
possibilities, and PCRE's implementation of this algorithm does not attempt to
do this. This means that no captured substrings are available.
.P
3. Because no substrings are captured, back references within the pattern are
not supported, and cause errors if encountered.
.P
4. For the same reason, conditional expressions that use a backreference as the
condition or test for a specific group recursion are not supported.
.P
5. Because many paths through the tree may be active, the \eK escape sequence,
which resets the start of the match when encountered (but may be on some paths
and not on others), is not supported. It causes an error if encountered.
.P
6. Callouts are supported, but the value of the \fIcapture_top\fP field is
always 1, and the value of the \fIcapture_last\fP field is always -1.
.P
7. The \eC escape sequence, which (in the standard algorithm) matches a single
byte, even in UTF-8 mode, is not supported because the alternative algorithm
moves through the subject string one character at a time, for all active paths
through the tree.
.P
8. Except for (*FAIL), the backtracking control verbs such as (*PRUNE) are not
supported. (*FAIL) is supported, and behaves like a failing negative assertion.
.
.SH "ADVANTAGES OF THE ALTERNATIVE ALGORITHM"
.rs
.sp
Using the alternative matching algorithm provides the following advantages:
.P
1. All possible matches (at a single point in the subject) are automatically
found, and in particular, the longest match is found. To find more than one
match using the standard algorithm, you have to do kludgy things with
callouts.
.P
2. Because the alternative algorithm scans the subject string just once, and
never needs to backtrack, it is possible to pass very long subject strings to
the matching function in several pieces, checking for partial matching each
time. The
.\" HREF
\fBpcrepartial\fP
.\"
documentation gives details of partial matching.
.
.
.SH "DISADVANTAGES OF THE ALTERNATIVE ALGORITHM"
.rs
.sp
The alternative algorithm suffers from a number of disadvantages:
.P
1. It is substantially slower than the standard algorithm. This is partly
because it has to search for all possible matches, but is also because it is
less susceptible to optimization.
.P
2. Capturing parentheses and back references are not supported.
.P
3. Although atomic groups are supported, their use does not provide the
performance advantage that it does for the standard algorithm.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 29 September 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcre_exec.3000064400000006326150405535530011314 0ustar00.TH PCRE_EXEC 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP);
.
.SH DESCRIPTION
.rs
.sp
This function matches a compiled regular expression against a given subject
string, using a matching algorithm that is similar to Perl's. It returns
offsets to captured substrings. Its arguments are:
.sp
  \fIcode\fP         Points to the compiled pattern
  \fIextra\fP        Points to an associated \fBpcre_extra\fP structure,
                 or is NULL
  \fIsubject\fP      Points to the subject string
  \fIlength\fP       Length of the subject string, in bytes
  \fIstartoffset\fP  Offset in bytes in the subject at which to
                 start matching
  \fIoptions\fP      Option bits
  \fIovector\fP      Points to a vector of ints for result offsets
  \fIovecsize\fP     Number of elements in the vector (a multiple of 3)
.sp
The options are:
.sp
  PCRE_ANCHORED          Match only at the first position
  PCRE_BSR_ANYCRLF       \eR matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE       \eR matches all Unicode line endings
  PCRE_NEWLINE_ANY       Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF   Recognize CR, LF, & CRLF as newline sequences
  PCRE_NEWLINE_CR        Recognize CR as the only newline sequence
  PCRE_NEWLINE_CRLF      Recognize CRLF as the only newline sequence
  PCRE_NEWLINE_LF        Recognize LF as the only newline sequence
  PCRE_NOTBOL            Subject string is not the beginning of a line
  PCRE_NOTEOL            Subject string is not the end of a line
  PCRE_NOTEMPTY          An empty string is not a valid match
  PCRE_NOTEMPTY_ATSTART  An empty string at the start of the subject
                           is not a valid match
  PCRE_NO_START_OPTIMIZE Do not do "start-match" optimizations
  PCRE_NO_UTF8_CHECK     Do not check the subject for UTF-8
                           validity (only relevant if PCRE_UTF8
                           was set at compile time)
  PCRE_PARTIAL           ) Return PCRE_ERROR_PARTIAL for a partial
  PCRE_PARTIAL_SOFT      )   match if no full matches are found
  PCRE_PARTIAL_HARD      Return PCRE_ERROR_PARTIAL for a partial match
                           even if there is a full match as well
.sp
For details of partial matching, see the
.\" HREF
\fBpcrepartial\fP
.\"
page. A \fBpcre_extra\fP structure contains the following fields:
.sp
  \fIflags\fP        Bits indicating which fields are set
  \fIstudy_data\fP   Opaque data from \fBpcre_study()\fP
  \fImatch_limit\fP  Limit on internal resource use
  \fImatch_limit_recursion\fP  Limit on internal recursion depth
  \fIcallout_data\fP Opaque data passed back to callouts
  \fItables\fP       Points to character tables or is NULL
.sp
The flag bits are PCRE_EXTRA_STUDY_DATA, PCRE_EXTRA_MATCH_LIMIT,
PCRE_EXTRA_MATCH_LIMIT_RECURSION, PCRE_EXTRA_CALLOUT_DATA, and
PCRE_EXTRA_TABLES.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_free_substring_list.3000064400000001101150405535530014426 0ustar00.TH PCRE_FREE_SUBSTRING_LIST 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B void pcre_free_substring_list(const char **\fIstringptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for freeing the store obtained by a previous
call to \fBpcre_get_substring_list()\fP. Its only argument is a pointer to the
list of string pointers.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_config.3000064400000003752150405535530011635 0ustar00.TH PCRE_CONFIG 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_config(int \fIwhat\fP, void *\fIwhere\fP);
.
.SH DESCRIPTION
.rs
.sp
This function makes it possible for a client program to find out which optional
features are available in the version of the PCRE library it is using. Its
arguments are as follows:
.sp
  \fIwhat\fR     A code specifying what information is required
  \fIwhere\fR    Points to where to put the data
.sp
The available codes are:
.sp
  PCRE_CONFIG_LINK_SIZE     Internal link size: 2, 3, or 4
  PCRE_CONFIG_MATCH_LIMIT   Internal resource limit
  PCRE_CONFIG_MATCH_LIMIT_RECURSION
                            Internal recursion depth limit
  PCRE_CONFIG_NEWLINE       Value of the default newline sequence:
                                13 (0x000d)    for CR
                                10 (0x000a)    for LF
                              3338 (0x0d0a)    for CRLF
                                -2             for ANYCRLF
                                -1             for ANY
  PCRE_CONFIG_BSR           Indicates what \eR matches by default:
                                 0             all Unicode line endings
                                 1             CR, LF, or CRLF only
  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD
                            Threshold of return slots, above
                              which \fBmalloc()\fR is used by
                              the POSIX API
  PCRE_CONFIG_STACKRECURSE  Recursion implementation (1=stack 0=heap)
  PCRE_CONFIG_UTF8          Availability of UTF-8 support (1=yes 0=no)
  PCRE_CONFIG_UNICODE_PROPERTIES
                            Availability of Unicode property support
                              (1=yes 0=no)
.sp
The function yields 0 on success or PCRE_ERROR_BADOPTION otherwise.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fR
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fR
.\"
page.
share/man/man3/pcreapi.3000064400000257605150405535530011012 0ustar00.TH PCREAPI 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE NATIVE API"
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B pcre *pcre_compile(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.PP
.B pcre *pcre_compile2(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B int *\fIerrorcodeptr\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.PP
.B pcre_extra *pcre_study(const pcre *\fIcode\fP, int \fIoptions\fP,
.ti +5n
.B const char **\fIerrptr\fP);
.PP
.B int pcre_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP);
.PP
.B int pcre_dfa_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP,
.ti +5n
.B int *\fIworkspace\fP, int \fIwscount\fP);
.PP
.B int pcre_copy_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B char *\fIbuffer\fP, int \fIbuffersize\fP);
.PP
.B int pcre_copy_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP, char *\fIbuffer\fP,
.ti +5n
.B int \fIbuffersize\fP);
.PP
.B int pcre_get_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.PP
.B int pcre_get_stringnumber(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP);
.PP
.B int pcre_get_stringtable_entries(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP, char **\fIfirst\fP, char **\fIlast\fP);
.PP
.B int pcre_get_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.PP
.B int pcre_get_substring_list(const char *\fIsubject\fP,
.ti +5n
.B int *\fIovector\fP, int \fIstringcount\fP, "const char ***\fIlistptr\fP);"
.PP
.B void pcre_free_substring(const char *\fIstringptr\fP);
.PP
.B void pcre_free_substring_list(const char **\fIstringptr\fP);
.PP
.B const unsigned char *pcre_maketables(void);
.PP
.B int pcre_fullinfo(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B int \fIwhat\fP, void *\fIwhere\fP);
.PP
.B int pcre_info(const pcre *\fIcode\fP, int *\fIoptptr\fP, int
.B *\fIfirstcharptr\fP);
.PP
.B int pcre_refcount(pcre *\fIcode\fP, int \fIadjust\fP);
.PP
.B int pcre_config(int \fIwhat\fP, void *\fIwhere\fP);
.PP
.B char *pcre_version(void);
.PP
.B void *(*pcre_malloc)(size_t);
.PP
.B void (*pcre_free)(void *);
.PP
.B void *(*pcre_stack_malloc)(size_t);
.PP
.B void (*pcre_stack_free)(void *);
.PP
.B int (*pcre_callout)(pcre_callout_block *);
.
.
.SH "PCRE API OVERVIEW"
.rs
.sp
PCRE has its own native API, which is described in this document. There are
also some wrapper functions that correspond to the POSIX regular expression
API. These are described in the
.\" HREF
\fBpcreposix\fP
.\"
documentation. Both of these APIs define a set of C function calls. A C++
wrapper is distributed with PCRE. It is documented in the
.\" HREF
\fBpcrecpp\fP
.\"
page.
.P
The native API C function prototypes are defined in the header file
\fBpcre.h\fP, and on Unix systems the library itself is called \fBlibpcre\fP.
It can normally be accessed by adding \fB-lpcre\fP to the command for linking
an application that uses PCRE. The header file defines the macros PCRE_MAJOR
and PCRE_MINOR to contain the major and minor release numbers for the library.
Applications can use these to include support for different releases of PCRE.
.P
The functions \fBpcre_compile()\fP, \fBpcre_compile2()\fP, \fBpcre_study()\fP,
and \fBpcre_exec()\fP are used for compiling and matching regular expressions
in a Perl-compatible manner. A sample program that demonstrates the simplest
way of using them is provided in the file called \fIpcredemo.c\fP in the PCRE
source distribution. A listing of this program is given in the
.\" HREF
\fBpcredemo\fP
.\"
documentation, and the
.\" HREF
\fBpcresample\fP
.\"
documentation describes how to compile and run it.
.P
A second matching function, \fBpcre_dfa_exec()\fP, which is not
Perl-compatible, is also provided. This uses a different algorithm for the
matching. The alternative algorithm finds all possible matches (at a given
point in the subject), and scans the subject just once (unless there are
lookbehind assertions). However, this algorithm does not return captured
substrings. A description of the two matching algorithms and their advantages
and disadvantages is given in the
.\" HREF
\fBpcrematching\fP
.\"
documentation.
.P
In addition to the main compiling and matching functions, there are convenience
functions for extracting captured substrings from a subject string that is
matched by \fBpcre_exec()\fP. They are:
.sp
  \fBpcre_copy_substring()\fP
  \fBpcre_copy_named_substring()\fP
  \fBpcre_get_substring()\fP
  \fBpcre_get_named_substring()\fP
  \fBpcre_get_substring_list()\fP
  \fBpcre_get_stringnumber()\fP
  \fBpcre_get_stringtable_entries()\fP
.sp
\fBpcre_free_substring()\fP and \fBpcre_free_substring_list()\fP are also
provided, to free the memory used for extracted strings.
.P
The function \fBpcre_maketables()\fP is used to build a set of character tables
in the current locale for passing to \fBpcre_compile()\fP, \fBpcre_exec()\fP,
or \fBpcre_dfa_exec()\fP. This is an optional facility that is provided for
specialist use. Most commonly, no special tables are passed, in which case
internal tables that are generated when PCRE is built are used.
.P
The function \fBpcre_fullinfo()\fP is used to find out information about a
compiled pattern; \fBpcre_info()\fP is an obsolete version that returns only
some of the available information, but is retained for backwards compatibility.
The function \fBpcre_version()\fP returns a pointer to a string containing the
version of PCRE and its date of release.
.P
The function \fBpcre_refcount()\fP maintains a reference count in a data block
containing a compiled pattern. This is provided for the benefit of
object-oriented applications.
.P
The global variables \fBpcre_malloc\fP and \fBpcre_free\fP initially contain
the entry points of the standard \fBmalloc()\fP and \fBfree()\fP functions,
respectively. PCRE calls the memory management functions via these variables,
so a calling program can replace them if it wishes to intercept the calls. This
should be done before calling any PCRE functions.
.P
The global variables \fBpcre_stack_malloc\fP and \fBpcre_stack_free\fP are also
indirections to memory management functions. These special functions are used
only when PCRE is compiled to use the heap for remembering data, instead of
recursive function calls, when running the \fBpcre_exec()\fP function. See the
.\" HREF
\fBpcrebuild\fP
.\"
documentation for details of how to do this. It is a non-standard way of
building PCRE, for use in environments that have limited stacks. Because of the
greater use of memory management, it runs more slowly. Separate functions are
provided so that special-purpose external code can be used for this case. When
used, these functions are always called in a stack-like manner (last obtained,
first freed), and always for memory blocks of the same size. There is a
discussion about PCRE's stack usage in the
.\" HREF
\fBpcrestack\fP
.\"
documentation.
.P
The global variable \fBpcre_callout\fP initially contains NULL. It can be set
by the caller to a "callout" function, which PCRE will then call at specified
points during a matching operation. Details are given in the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.
.
.\" HTML <a name="newlines"></a>
.SH NEWLINES
.rs
.sp
PCRE supports five different conventions for indicating line breaks in
strings: a single CR (carriage return) character, a single LF (linefeed)
character, the two-character sequence CRLF, any of the three preceding, or any
Unicode newline sequence. The Unicode newline sequences are the three just
mentioned, plus the single characters VT (vertical tab, U+000B), FF (formfeed,
U+000C), NEL (next line, U+0085), LS (line separator, U+2028), and PS
(paragraph separator, U+2029).
.P
Each of the first three conventions is used by at least one operating system as
its standard newline sequence. When PCRE is built, a default can be specified.
The default default is LF, which is the Unix standard. When PCRE is run, the
default can be overridden, either when a pattern is compiled, or when it is
matched.
.P
At compile time, the newline convention can be specified by the \fIoptions\fP
argument of \fBpcre_compile()\fP, or it can be specified by special text at the
start of the pattern itself; this overrides any other settings. See the
.\" HREF
\fBpcrepattern\fP
.\"
page for details of the special character sequences.
.P
In the PCRE documentation the word "newline" is used to mean "the character or
pair of characters that indicate a line break". The choice of newline
convention affects the handling of the dot, circumflex, and dollar
metacharacters, the handling of #-comments in /x mode, and, when CRLF is a
recognized line ending sequence, the match position advancement for a
non-anchored pattern. There is more detail about this in the
.\" HTML <a href="#execoptions">
.\" </a>
section on \fBpcre_exec()\fP options
.\"
below.
.P
The choice of newline convention does not affect the interpretation of
the \en or \er escape sequences, nor does it affect what \eR matches, which is
controlled in a similar way, but by separate options.
.
.
.SH MULTITHREADING
.rs
.sp
The PCRE functions can be used in multi-threading applications, with the
proviso that the memory management functions pointed to by \fBpcre_malloc\fP,
\fBpcre_free\fP, \fBpcre_stack_malloc\fP, and \fBpcre_stack_free\fP, and the
callout function pointed to by \fBpcre_callout\fP, are shared by all threads.
.P
The compiled form of a regular expression is not altered during matching, so
the same compiled pattern can safely be used by several threads at once.
.
.
.SH "SAVING PRECOMPILED PATTERNS FOR LATER USE"
.rs
.sp
The compiled form of a regular expression can be saved and re-used at a later
time, possibly by a different program, and even on a host other than the one on
which it was compiled. Details are given in the
.\" HREF
\fBpcreprecompile\fP
.\"
documentation. However, compiling a regular expression with one version of PCRE
for use with a different version is not guaranteed to work and may cause
crashes.
.
.
.SH "CHECKING BUILD-TIME OPTIONS"
.rs
.sp
.B int pcre_config(int \fIwhat\fP, void *\fIwhere\fP);
.PP
The function \fBpcre_config()\fP makes it possible for a PCRE client to
discover which optional features have been compiled into the PCRE library. The
.\" HREF
\fBpcrebuild\fP
.\"
documentation has more details about these optional features.
.P
The first argument for \fBpcre_config()\fP is an integer, specifying which
information is required; the second argument is a pointer to a variable into
which the information is placed. The following information is available:
.sp
  PCRE_CONFIG_UTF8
.sp
The output is an integer that is set to one if UTF-8 support is available;
otherwise it is set to zero.
.sp
  PCRE_CONFIG_UNICODE_PROPERTIES
.sp
The output is an integer that is set to one if support for Unicode character
properties is available; otherwise it is set to zero.
.sp
  PCRE_CONFIG_NEWLINE
.sp
The output is an integer whose value specifies the default character sequence
that is recognized as meaning "newline". The four values that are supported
are: 10 for LF, 13 for CR, 3338 for CRLF, -2 for ANYCRLF, and -1 for ANY.
Though they are derived from ASCII, the same values are returned in EBCDIC
environments. The default should normally correspond to the standard sequence
for your operating system.
.sp
  PCRE_CONFIG_BSR
.sp
The output is an integer whose value indicates what character sequences the \eR
escape sequence matches by default. A value of 0 means that \eR matches any
Unicode line ending sequence; a value of 1 means that \eR matches only CR, LF,
or CRLF. The default can be overridden when a pattern is compiled or matched.
.sp
  PCRE_CONFIG_LINK_SIZE
.sp
The output is an integer that contains the number of bytes used for internal
linkage in compiled regular expressions. The value is 2, 3, or 4. Larger values
allow larger regular expressions to be compiled, at the expense of slower
matching. The default value of 2 is sufficient for all but the most massive
patterns, since it allows the compiled pattern to be up to 64K in size.
.sp
  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD
.sp
The output is an integer that contains the threshold above which the POSIX
interface uses \fBmalloc()\fP for output vectors. Further details are given in
the
.\" HREF
\fBpcreposix\fP
.\"
documentation.
.sp
  PCRE_CONFIG_MATCH_LIMIT
.sp
The output is a long integer that gives the default limit for the number of
internal matching function calls in a \fBpcre_exec()\fP execution. Further
details are given with \fBpcre_exec()\fP below.
.sp
  PCRE_CONFIG_MATCH_LIMIT_RECURSION
.sp
The output is a long integer that gives the default limit for the depth of
recursion when calling the internal matching function in a \fBpcre_exec()\fP
execution. Further details are given with \fBpcre_exec()\fP below.
.sp
  PCRE_CONFIG_STACKRECURSE
.sp
The output is an integer that is set to one if internal recursion when running
\fBpcre_exec()\fP is implemented by recursive function calls that use the stack
to remember their state. This is the usual way that PCRE is compiled. The
output is zero if PCRE was compiled to use blocks of data on the heap instead
of recursive function calls. In this case, \fBpcre_stack_malloc\fP and
\fBpcre_stack_free\fP are called to manage memory blocks on the heap, thus
avoiding the use of the stack.
.
.
.SH "COMPILING A PATTERN"
.rs
.sp
.B pcre *pcre_compile(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.sp
.B pcre *pcre_compile2(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B int *\fIerrorcodeptr\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.P
Either of the functions \fBpcre_compile()\fP or \fBpcre_compile2()\fP can be
called to compile a pattern into an internal form. The only difference between
the two interfaces is that \fBpcre_compile2()\fP has an additional argument,
\fIerrorcodeptr\fP, via which a numerical error code can be returned. To avoid
too much repetition, we refer just to \fBpcre_compile()\fP below, but the
information applies equally to \fBpcre_compile2()\fP.
.P
The pattern is a C string terminated by a binary zero, and is passed in the
\fIpattern\fP argument. A pointer to a single block of memory that is obtained
via \fBpcre_malloc\fP is returned. This contains the compiled code and related
data. The \fBpcre\fP type is defined for the returned block; this is a typedef
for a structure whose contents are not externally defined. It is up to the
caller to free the memory (via \fBpcre_free\fP) when it is no longer required.
.P
Although the compiled code of a PCRE regex is relocatable, that is, it does not
depend on memory location, the complete \fBpcre\fP data block is not
fully relocatable, because it may contain a copy of the \fItableptr\fP
argument, which is an address (see below).
.P
The \fIoptions\fP argument contains various bit settings that affect the
compilation. It should be zero if no options are required. The available
options are described below. Some of them (in particular, those that are
compatible with Perl, but some others as well) can also be set and unset from
within the pattern (see the detailed description in the
.\" HREF
\fBpcrepattern\fP
.\"
documentation). For those options that can be different in different parts of
the pattern, the contents of the \fIoptions\fP argument specifies their
settings at the start of compilation and execution. The PCRE_ANCHORED,
PCRE_BSR_\fIxxx\fP, and PCRE_NEWLINE_\fIxxx\fP options can be set at the time
of matching as well as at compile time.
.P
If \fIerrptr\fP is NULL, \fBpcre_compile()\fP returns NULL immediately.
Otherwise, if compilation of a pattern fails, \fBpcre_compile()\fP returns
NULL, and sets the variable pointed to by \fIerrptr\fP to point to a textual
error message. This is a static string that is part of the library. You must
not try to free it. The byte offset from the start of the pattern to the
character that was being processed when the error was discovered is placed in
the variable pointed to by \fIerroffset\fP, which must not be NULL. If it is,
an immediate error is given. Some errors are not detected until checks are
carried out when the whole pattern has been scanned; in this case the offset is
set to the end of the pattern.
.P
If \fBpcre_compile2()\fP is used instead of \fBpcre_compile()\fP, and the
\fIerrorcodeptr\fP argument is not NULL, a non-zero error code number is
returned via this argument in the event of an error. This is in addition to the
textual error message. Error codes and messages are listed below.
.P
If the final argument, \fItableptr\fP, is NULL, PCRE uses a default set of
character tables that are built when PCRE is compiled, using the default C
locale. Otherwise, \fItableptr\fP must be an address that is the result of a
call to \fBpcre_maketables()\fP. This value is stored with the compiled
pattern, and used again by \fBpcre_exec()\fP, unless another table pointer is
passed to it. For more discussion, see the section on locale support below.
.P
This code fragment shows a typical straightforward call to \fBpcre_compile()\fP:
.sp
  pcre *re;
  const char *error;
  int erroffset;
  re = pcre_compile(
    "^A.*Z",          /* the pattern */
    0,                /* default options */
    &error,           /* for error message */
    &erroffset,       /* for error offset */
    NULL);            /* use default character tables */
.sp
The following names for option bits are defined in the \fBpcre.h\fP header
file:
.sp
  PCRE_ANCHORED
.sp
If this bit is set, the pattern is forced to be "anchored", that is, it is
constrained to match only at the first matching point in the string that is
being searched (the "subject string"). This effect can also be achieved by
appropriate constructs in the pattern itself, which is the only way to do it in
Perl.
.sp
  PCRE_AUTO_CALLOUT
.sp
If this bit is set, \fBpcre_compile()\fP automatically inserts callout items,
all with number 255, before each pattern item. For discussion of the callout
facility, see the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.sp
  PCRE_BSR_ANYCRLF
  PCRE_BSR_UNICODE
.sp
These options (which are mutually exclusive) control what the \eR escape
sequence matches. The choice is either to match only CR, LF, or CRLF, or to
match any Unicode newline sequence. The default is specified when PCRE is
built. It can be overridden from within the pattern, or by setting an option
when a compiled pattern is matched.
.sp
  PCRE_CASELESS
.sp
If this bit is set, letters in the pattern match both upper and lower case
letters. It is equivalent to Perl's /i option, and it can be changed within a
pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the
concept of case for characters whose values are less than 128, so caseless
matching is always possible. For characters with higher values, the concept of
case is supported if PCRE is compiled with Unicode property support, but not
otherwise. If you want to use caseless matching for characters 128 and above,
you must ensure that PCRE is compiled with Unicode property support as well as
with UTF-8 support.
.sp
  PCRE_DOLLAR_ENDONLY
.sp
If this bit is set, a dollar metacharacter in the pattern matches only at the
end of the subject string. Without this option, a dollar also matches
immediately before a newline at the end of the string (but not before any other
newlines). The PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.
There is no equivalent to this option in Perl, and no way to set it within a
pattern.
.sp
  PCRE_DOTALL
.sp
If this bit is set, a dot metacharater in the pattern matches all characters,
including those that indicate newline. Without it, a dot does not match when
the current position is at a newline. This option is equivalent to Perl's /s
option, and it can be changed within a pattern by a (?s) option setting. A
negative class such as [^a] always matches newline characters, independent of
the setting of this option.
.sp
  PCRE_DUPNAMES
.sp
If this bit is set, names used to identify capturing subpatterns need not be
unique. This can be helpful for certain types of pattern when it is known that
only one instance of the named subpattern can ever be matched. There are more
details of named subpatterns below; see also the
.\" HREF
\fBpcrepattern\fP
.\"
documentation.
.sp
  PCRE_EXTENDED
.sp
If this bit is set, whitespace data characters in the pattern are totally
ignored except when escaped or inside a character class. Whitespace does not
include the VT character (code 11). In addition, characters between an
unescaped # outside a character class and the next newline, inclusive, are also
ignored. This is equivalent to Perl's /x option, and it can be changed within a
pattern by a (?x) option setting.
.P
This option makes it possible to include comments inside complicated patterns.
Note, however, that this applies only to data characters. Whitespace characters
may never appear within special character sequences in a pattern, for example
within the sequence (?( which introduces a conditional subpattern.
.sp
  PCRE_EXTRA
.sp
This option was invented in order to turn on additional functionality of PCRE
that is incompatible with Perl, but it is currently of very little use. When
set, any backslash in a pattern that is followed by a letter that has no
special meaning causes an error, thus reserving these combinations for future
expansion. By default, as in Perl, a backslash followed by a letter with no
special meaning is treated as a literal. (Perl can, however, be persuaded to
give a warning for this.) There are at present no other features controlled by
this option. It can also be set by a (?X) option setting within a pattern.
.sp
  PCRE_FIRSTLINE
.sp
If this option is set, an unanchored pattern is required to match before or at
the first newline in the subject string, though the matched text may continue
over the newline.
.sp
  PCRE_JAVASCRIPT_COMPAT
.sp
If this option is set, PCRE's behaviour is changed in some ways so that it is
compatible with JavaScript rather than Perl. The changes are as follows:
.P
(1) A lone closing square bracket in a pattern causes a compile-time error,
because this is illegal in JavaScript (by default it is treated as a data
character). Thus, the pattern AB]CD becomes illegal when this option is set.
.P
(2) At run time, a back reference to an unset subpattern group matches an empty
string (by default this causes the current matching alternative to fail). A
pattern such as (\e1)(a) succeeds when this option is set (assuming it can find
an "a" in the subject), whereas it fails by default, for Perl compatibility.
.sp
  PCRE_MULTILINE
.sp
By default, PCRE treats the subject string as consisting of a single line of
characters (even if it actually contains newlines). The "start of line"
metacharacter (^) matches only at the start of the string, while the "end of
line" metacharacter ($) matches only at the end of the string, or before a
terminating newline (unless PCRE_DOLLAR_ENDONLY is set). This is the same as
Perl.
.P
When PCRE_MULTILINE it is set, the "start of line" and "end of line" constructs
match immediately following or immediately before internal newlines in the
subject string, respectively, as well as at the very start and end. This is
equivalent to Perl's /m option, and it can be changed within a pattern by a
(?m) option setting. If there are no newlines in a subject string, or no
occurrences of ^ or $ in a pattern, setting PCRE_MULTILINE has no effect.
.sp
  PCRE_NEWLINE_CR
  PCRE_NEWLINE_LF
  PCRE_NEWLINE_CRLF
  PCRE_NEWLINE_ANYCRLF
  PCRE_NEWLINE_ANY
.sp
These options override the default newline definition that was chosen when PCRE
was built. Setting the first or the second specifies that a newline is
indicated by a single character (CR or LF, respectively). Setting
PCRE_NEWLINE_CRLF specifies that a newline is indicated by the two-character
CRLF sequence. Setting PCRE_NEWLINE_ANYCRLF specifies that any of the three
preceding sequences should be recognized. Setting PCRE_NEWLINE_ANY specifies
that any Unicode newline sequence should be recognized. The Unicode newline
sequences are the three just mentioned, plus the single characters VT (vertical
tab, U+000B), FF (formfeed, U+000C), NEL (next line, U+0085), LS (line
separator, U+2028), and PS (paragraph separator, U+2029). The last two are
recognized only in UTF-8 mode.
.P
The newline setting in the options word uses three bits that are treated
as a number, giving eight possibilities. Currently only six are used (default
plus the five values above). This means that if you set more than one newline
option, the combination may or may not be sensible. For example,
PCRE_NEWLINE_CR with PCRE_NEWLINE_LF is equivalent to PCRE_NEWLINE_CRLF, but
other combinations may yield unused numbers and cause an error.
.P
The only time that a line break is specially recognized when compiling a
pattern is if PCRE_EXTENDED is set, and an unescaped # outside a character
class is encountered. This indicates a comment that lasts until after the next
line break sequence. In other circumstances, line break sequences are treated
as literal data, except that in PCRE_EXTENDED mode, both CR and LF are treated
as whitespace characters and are therefore ignored.
.P
The newline option that is set at compile time becomes the default that is used
for \fBpcre_exec()\fP and \fBpcre_dfa_exec()\fP, but it can be overridden.
.sp
  PCRE_NO_AUTO_CAPTURE
.sp
If this option is set, it disables the use of numbered capturing parentheses in
the pattern. Any opening parenthesis that is not followed by ? behaves as if it
were followed by ?: but named parentheses can still be used for capturing (and
they acquire numbers in the usual way). There is no equivalent of this option
in Perl.
.sp
  PCRE_UNGREEDY
.sp
This option inverts the "greediness" of the quantifiers so that they are not
greedy by default, but become greedy if followed by "?". It is not compatible
with Perl. It can also be set by a (?U) option setting within the pattern.
.sp
  PCRE_UTF8
.sp
This option causes PCRE to regard both the pattern and the subject as strings
of UTF-8 characters instead of single-byte character strings. However, it is
available only when PCRE is built to include UTF-8 support. If not, the use
of this option provokes an error. Details of how this option changes the
behaviour of PCRE are given in the
.\" HTML <a href="pcre.html#utf8support">
.\" </a>
section on UTF-8 support
.\"
in the main
.\" HREF
\fBpcre\fP
.\"
page.
.sp
  PCRE_NO_UTF8_CHECK
.sp
When PCRE_UTF8 is set, the validity of the pattern as a UTF-8 string is
automatically checked. There is a discussion about the
.\" HTML <a href="pcre.html#utf8strings">
.\" </a>
validity of UTF-8 strings
.\"
in the main
.\" HREF
\fBpcre\fP
.\"
page. If an invalid UTF-8 sequence of bytes is found, \fBpcre_compile()\fP
returns an error. If you already know that your pattern is valid, and you want
to skip this check for performance reasons, you can set the PCRE_NO_UTF8_CHECK
option. When it is set, the effect of passing an invalid UTF-8 string as a
pattern is undefined. It may cause your program to crash. Note that this option
can also be passed to \fBpcre_exec()\fP and \fBpcre_dfa_exec()\fP, to suppress
the UTF-8 validity checking of subject strings.
.
.
.SH "COMPILATION ERROR CODES"
.rs
.sp
The following table lists the error codes than may be returned by
\fBpcre_compile2()\fP, along with the error messages that may be returned by
both compiling functions. As PCRE has developed, some error codes have fallen
out of use. To avoid confusion, they have not been re-used.
.sp
   0  no error
   1  \e at end of pattern
   2  \ec at end of pattern
   3  unrecognized character follows \e
   4  numbers out of order in {} quantifier
   5  number too big in {} quantifier
   6  missing terminating ] for character class
   7  invalid escape sequence in character class
   8  range out of order in character class
   9  nothing to repeat
  10  [this code is not in use]
  11  internal error: unexpected repeat
  12  unrecognized character after (? or (?-
  13  POSIX named classes are supported only within a class
  14  missing )
  15  reference to non-existent subpattern
  16  erroffset passed as NULL
  17  unknown option bit(s) set
  18  missing ) after comment
  19  [this code is not in use]
  20  regular expression is too large
  21  failed to get memory
  22  unmatched parentheses
  23  internal error: code overflow
  24  unrecognized character after (?<
  25  lookbehind assertion is not fixed length
  26  malformed number or name after (?(
  27  conditional group contains more than two branches
  28  assertion expected after (?(
  29  (?R or (?[+-]digits must be followed by )
  30  unknown POSIX class name
  31  POSIX collating elements are not supported
  32  this version of PCRE is not compiled with PCRE_UTF8 support
  33  [this code is not in use]
  34  character value in \ex{...} sequence is too large
  35  invalid condition (?(0)
  36  \eC not allowed in lookbehind assertion
  37  PCRE does not support \eL, \el, \eN, \eU, or \eu
  38  number after (?C is > 255
  39  closing ) for (?C expected
  40  recursive call could loop indefinitely
  41  unrecognized character after (?P
  42  syntax error in subpattern name (missing terminator)
  43  two named subpatterns have the same name
  44  invalid UTF-8 string
  45  support for \eP, \ep, and \eX has not been compiled
  46  malformed \eP or \ep sequence
  47  unknown property name after \eP or \ep
  48  subpattern name is too long (maximum 32 characters)
  49  too many named subpatterns (maximum 10000)
  50  [this code is not in use]
  51  octal value is greater than \e377 (not in UTF-8 mode)
  52  internal error: overran compiling workspace
  53  internal error: previously-checked referenced subpattern not found
  54  DEFINE group contains more than one branch
  55  repeating a DEFINE group is not allowed
  56  inconsistent NEWLINE options
  57  \eg is not followed by a braced, angle-bracketed, or quoted
        name/number or by a plain number
  58  a numbered reference must not be zero
  59  (*VERB) with an argument is not supported
  60  (*VERB) not recognized
  61  number is too big
  62  subpattern name expected
  63  digit expected after (?+
  64  ] is an invalid data character in JavaScript compatibility mode
.sp
The numbers 32 and 10000 in errors 48 and 49 are defaults; different values may
be used if the limits were changed when PCRE was built.
.
.
.SH "STUDYING A PATTERN"
.rs
.sp
.B pcre_extra *pcre_study(const pcre *\fIcode\fP, int \fIoptions\fP
.ti +5n
.B const char **\fIerrptr\fP);
.PP
If a compiled pattern is going to be used several times, it is worth spending
more time analyzing it in order to speed up the time taken for matching. The
function \fBpcre_study()\fP takes a pointer to a compiled pattern as its first
argument. If studying the pattern produces additional information that will
help speed up matching, \fBpcre_study()\fP returns a pointer to a
\fBpcre_extra\fP block, in which the \fIstudy_data\fP field points to the
results of the study.
.P
The returned value from \fBpcre_study()\fP can be passed directly to
\fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP. However, a \fBpcre_extra\fP block
also contains other fields that can be set by the caller before the block is
passed; these are described
.\" HTML <a href="#extradata">
.\" </a>
below
.\"
in the section on matching a pattern.
.P
If studying the pattern does not produce any useful information,
\fBpcre_study()\fP returns NULL. In that circumstance, if the calling program
wants to pass any of the other fields to \fBpcre_exec()\fP or
\fBpcre_dfa_exec()\fP, it must set up its own \fBpcre_extra\fP block.
.P
The second argument of \fBpcre_study()\fP contains option bits. At present, no
options are defined, and this argument should always be zero.
.P
The third argument for \fBpcre_study()\fP is a pointer for an error message. If
studying succeeds (even if no data is returned), the variable it points to is
set to NULL. Otherwise it is set to point to a textual error message. This is a
static string that is part of the library. You must not try to free it. You
should test the error pointer for NULL after calling \fBpcre_study()\fP, to be
sure that it has run successfully.
.P
This is a typical call to \fBpcre_study\fP():
.sp
  pcre_extra *pe;
  pe = pcre_study(
    re,             /* result of pcre_compile() */
    0,              /* no options exist */
    &error);        /* set to NULL or points to a message */
.sp
Studying a pattern does two things: first, a lower bound for the length of
subject string that is needed to match the pattern is computed. This does not
mean that there are any strings of that length that match, but it does
guarantee that no shorter strings match. The value is used by
\fBpcre_exec()\fP and \fBpcre_dfa_exec()\fP to avoid wasting time by trying to
match strings that are shorter than the lower bound. You can find out the value
in a calling program via the \fBpcre_fullinfo()\fP function.
.P
Studying a pattern is also useful for non-anchored patterns that do not have a
single fixed starting character. A bitmap of possible starting bytes is
created. This speeds up finding a position in the subject at which to start
matching.
.
.
.\" HTML <a name="localesupport"></a>
.SH "LOCALE SUPPORT"
.rs
.sp
PCRE handles caseless matching, and determines whether characters are letters,
digits, or whatever, by reference to a set of tables, indexed by character
value. When running in UTF-8 mode, this applies only to characters with codes
less than 128. Higher-valued codes never match escapes such as \ew or \ed, but
can be tested with \ep if PCRE is built with Unicode character property
support. The use of locales with Unicode is discouraged. If you are handling
characters with codes greater than 128, you should either use UTF-8 and
Unicode, or use locales, but not try to mix the two.
.P
PCRE contains an internal set of tables that are used when the final argument
of \fBpcre_compile()\fP is NULL. These are sufficient for many applications.
Normally, the internal tables recognize only ASCII characters. However, when
PCRE is built, it is possible to cause the internal tables to be rebuilt in the
default "C" locale of the local system, which may cause them to be different.
.P
The internal tables can always be overridden by tables supplied by the
application that calls PCRE. These may be created in a different locale from
the default. As more and more applications change to using Unicode, the need
for this locale support is expected to die away.
.P
External tables are built by calling the \fBpcre_maketables()\fP function,
which has no arguments, in the relevant locale. The result can then be passed
to \fBpcre_compile()\fP or \fBpcre_exec()\fP as often as necessary. For
example, to build and use tables that are appropriate for the French locale
(where accented characters with values greater than 128 are treated as letters),
the following code could be used:
.sp
  setlocale(LC_CTYPE, "fr_FR");
  tables = pcre_maketables();
  re = pcre_compile(..., tables);
.sp
The locale name "fr_FR" is used on Linux and other Unix-like systems; if you
are using Windows, the name for the French locale is "french".
.P
When \fBpcre_maketables()\fP runs, the tables are built in memory that is
obtained via \fBpcre_malloc\fP. It is the caller's responsibility to ensure
that the memory containing the tables remains available for as long as it is
needed.
.P
The pointer that is passed to \fBpcre_compile()\fP is saved with the compiled
pattern, and the same tables are used via this pointer by \fBpcre_study()\fP
and normally also by \fBpcre_exec()\fP. Thus, by default, for any single
pattern, compilation, studying and matching all happen in the same locale, but
different patterns can be compiled in different locales.
.P
It is possible to pass a table pointer or NULL (indicating the use of the
internal tables) to \fBpcre_exec()\fP. Although not intended for this purpose,
this facility could be used to match a pattern in a different locale from the
one in which it was compiled. Passing table pointers at run time is discussed
below in the section on matching a pattern.
.
.
.SH "INFORMATION ABOUT A PATTERN"
.rs
.sp
.B int pcre_fullinfo(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B int \fIwhat\fP, void *\fIwhere\fP);
.PP
The \fBpcre_fullinfo()\fP function returns information about a compiled
pattern. It replaces the obsolete \fBpcre_info()\fP function, which is
nevertheless retained for backwards compability (and is documented below).
.P
The first argument for \fBpcre_fullinfo()\fP is a pointer to the compiled
pattern. The second argument is the result of \fBpcre_study()\fP, or NULL if
the pattern was not studied. The third argument specifies which piece of
information is required, and the fourth argument is a pointer to a variable
to receive the data. The yield of the function is zero for success, or one of
the following negative numbers:
.sp
  PCRE_ERROR_NULL       the argument \fIcode\fP was NULL
                        the argument \fIwhere\fP was NULL
  PCRE_ERROR_BADMAGIC   the "magic number" was not found
  PCRE_ERROR_BADOPTION  the value of \fIwhat\fP was invalid
.sp
The "magic number" is placed at the start of each compiled pattern as an simple
check against passing an arbitrary memory pointer. Here is a typical call of
\fBpcre_fullinfo()\fP, to obtain the length of the compiled pattern:
.sp
  int rc;
  size_t length;
  rc = pcre_fullinfo(
    re,               /* result of pcre_compile() */
    pe,               /* result of pcre_study(), or NULL */
    PCRE_INFO_SIZE,   /* what is required */
    &length);         /* where to put the data */
.sp
The possible values for the third argument are defined in \fBpcre.h\fP, and are
as follows:
.sp
  PCRE_INFO_BACKREFMAX
.sp
Return the number of the highest back reference in the pattern. The fourth
argument should point to an \fBint\fP variable. Zero is returned if there are
no back references.
.sp
  PCRE_INFO_CAPTURECOUNT
.sp
Return the number of capturing subpatterns in the pattern. The fourth argument
should point to an \fBint\fP variable.
.sp
  PCRE_INFO_DEFAULT_TABLES
.sp
Return a pointer to the internal default character tables within PCRE. The
fourth argument should point to an \fBunsigned char *\fP variable. This
information call is provided for internal use by the \fBpcre_study()\fP
function. External callers can cause PCRE to use its internal tables by passing
a NULL table pointer.
.sp
  PCRE_INFO_FIRSTBYTE
.sp
Return information about the first byte of any matched string, for a
non-anchored pattern. The fourth argument should point to an \fBint\fP
variable. (This option used to be called PCRE_INFO_FIRSTCHAR; the old name is
still recognized for backwards compatibility.)
.P
If there is a fixed first byte, for example, from a pattern such as
(cat|cow|coyote), its value is returned. Otherwise, if either
.sp
(a) the pattern was compiled with the PCRE_MULTILINE option, and every branch
starts with "^", or
.sp
(b) every branch of the pattern starts with ".*" and PCRE_DOTALL is not set
(if it were set, the pattern would be anchored),
.sp
-1 is returned, indicating that the pattern matches only at the start of a
subject string or after any newline within the string. Otherwise -2 is
returned. For anchored patterns, -2 is returned.
.sp
  PCRE_INFO_FIRSTTABLE
.sp
If the pattern was studied, and this resulted in the construction of a 256-bit
table indicating a fixed set of bytes for the first byte in any matching
string, a pointer to the table is returned. Otherwise NULL is returned. The
fourth argument should point to an \fBunsigned char *\fP variable.
.sp
  PCRE_INFO_HASCRORLF
.sp
Return 1 if the pattern contains any explicit matches for CR or LF characters,
otherwise 0. The fourth argument should point to an \fBint\fP variable. An
explicit match is either a literal CR or LF character, or \er or \en.
.sp
  PCRE_INFO_JCHANGED
.sp
Return 1 if the (?J) or (?-J) option setting is used in the pattern, otherwise
0. The fourth argument should point to an \fBint\fP variable. (?J) and
(?-J) set and unset the local PCRE_DUPNAMES option, respectively.
.sp
  PCRE_INFO_LASTLITERAL
.sp
Return the value of the rightmost literal byte that must exist in any matched
string, other than at its start, if such a byte has been recorded. The fourth
argument should point to an \fBint\fP variable. If there is no such byte, -1 is
returned. For anchored patterns, a last literal byte is recorded only if it
follows something of variable length. For example, for the pattern
/^a\ed+z\ed+/ the returned value is "z", but for /^a\edz\ed/ the returned value
is -1.
.sp
  PCRE_INFO_MINLENGTH
.sp
If the pattern was studied and a minimum length for matching subject strings
was computed, its value is returned. Otherwise the returned value is -1. The
value is a number of characters, not bytes (this may be relevant in UTF-8
mode). The fourth argument should point to an \fBint\fP variable. A
non-negative value is a lower bound to the length of any matching string. There
may not be any strings of that length that do actually match, but every string
that does match is at least that long.
.sp
  PCRE_INFO_NAMECOUNT
  PCRE_INFO_NAMEENTRYSIZE
  PCRE_INFO_NAMETABLE
.sp
PCRE supports the use of named as well as numbered capturing parentheses. The
names are just an additional way of identifying the parentheses, which still
acquire numbers. Several convenience functions such as
\fBpcre_get_named_substring()\fP are provided for extracting captured
substrings by name. It is also possible to extract the data directly, by first
converting the name to a number in order to access the correct pointers in the
output vector (described with \fBpcre_exec()\fP below). To do the conversion,
you need to use the name-to-number map, which is described by these three
values.
.P
The map consists of a number of fixed-size entries. PCRE_INFO_NAMECOUNT gives
the number of entries, and PCRE_INFO_NAMEENTRYSIZE gives the size of each
entry; both of these return an \fBint\fP value. The entry size depends on the
length of the longest name. PCRE_INFO_NAMETABLE returns a pointer to the first
entry of the table (a pointer to \fBchar\fP). The first two bytes of each entry
are the number of the capturing parenthesis, most significant byte first. The
rest of the entry is the corresponding name, zero terminated.
.P
The names are in alphabetical order. Duplicate names may appear if (?| is used
to create multiple groups with the same number, as described in the
.\" HTML <a href="pcrepattern.html#dupsubpatternnumber">
.\" </a>
section on duplicate subpattern numbers
.\"
in the
.\" HREF
\fBpcrepattern\fP
.\"
page. Duplicate names for subpatterns with different numbers are permitted only
if PCRE_DUPNAMES is set. In all cases of duplicate names, they appear in the
table in the order in which they were found in the pattern. In the absence of
(?| this is the order of increasing number; when (?| is used this is not
necessarily the case because later subpatterns may have lower numbers.
.P
As a simple example of the name/number table, consider the following pattern
(assume PCRE_EXTENDED is set, so white space - including newlines - is
ignored):
.sp
.\" JOIN
  (?<date> (?<year>(\ed\ed)?\ed\ed) -
  (?<month>\ed\ed) - (?<day>\ed\ed) )
.sp
There are four named subpatterns, so the table has four entries, and each entry
in the table is eight bytes long. The table is as follows, with non-printing
bytes shows in hexadecimal, and undefined bytes shown as ??:
.sp
  00 01 d  a  t  e  00 ??
  00 05 d  a  y  00 ?? ??
  00 04 m  o  n  t  h  00
  00 02 y  e  a  r  00 ??
.sp
When writing code to extract data from named subpatterns using the
name-to-number map, remember that the length of the entries is likely to be
different for each compiled pattern.
.sp
  PCRE_INFO_OKPARTIAL
.sp
Return 1 if the pattern can be used for partial matching with
\fBpcre_exec()\fP, otherwise 0. The fourth argument should point to an
\fBint\fP variable. From release 8.00, this always returns 1, because the
restrictions that previously applied to partial matching have been lifted. The
.\" HREF
\fBpcrepartial\fP
.\"
documentation gives details of partial matching.
.sp
  PCRE_INFO_OPTIONS
.sp
Return a copy of the options with which the pattern was compiled. The fourth
argument should point to an \fBunsigned long int\fP variable. These option bits
are those specified in the call to \fBpcre_compile()\fP, modified by any
top-level option settings at the start of the pattern itself. In other words,
they are the options that will be in force when matching starts. For example,
if the pattern /(?im)abc(?-i)d/ is compiled with the PCRE_EXTENDED option, the
result is PCRE_CASELESS, PCRE_MULTILINE, and PCRE_EXTENDED.
.P
A pattern is automatically anchored by PCRE if all of its top-level
alternatives begin with one of the following:
.sp
  ^     unless PCRE_MULTILINE is set
  \eA    always
  \eG    always
.\" JOIN
  .*    if PCRE_DOTALL is set and there are no back
          references to the subpattern in which .* appears
.sp
For such patterns, the PCRE_ANCHORED bit is set in the options returned by
\fBpcre_fullinfo()\fP.
.sp
  PCRE_INFO_SIZE
.sp
Return the size of the compiled pattern, that is, the value that was passed as
the argument to \fBpcre_malloc()\fP when PCRE was getting memory in which to
place the compiled data. The fourth argument should point to a \fBsize_t\fP
variable.
.sp
  PCRE_INFO_STUDYSIZE
.sp
Return the size of the data block pointed to by the \fIstudy_data\fP field in
a \fBpcre_extra\fP block. That is, it is the value that was passed to
\fBpcre_malloc()\fP when PCRE was getting memory into which to place the data
created by \fBpcre_study()\fP. If \fBpcre_extra\fP is NULL, or there is no
study data, zero is returned. The fourth argument should point to a
\fBsize_t\fP variable.
.
.
.SH "OBSOLETE INFO FUNCTION"
.rs
.sp
.B int pcre_info(const pcre *\fIcode\fP, int *\fIoptptr\fP, int
.B *\fIfirstcharptr\fP);
.PP
The \fBpcre_info()\fP function is now obsolete because its interface is too
restrictive to return all the available data about a compiled pattern. New
programs should use \fBpcre_fullinfo()\fP instead. The yield of
\fBpcre_info()\fP is the number of capturing subpatterns, or one of the
following negative numbers:
.sp
  PCRE_ERROR_NULL       the argument \fIcode\fP was NULL
  PCRE_ERROR_BADMAGIC   the "magic number" was not found
.sp
If the \fIoptptr\fP argument is not NULL, a copy of the options with which the
pattern was compiled is placed in the integer it points to (see
PCRE_INFO_OPTIONS above).
.P
If the pattern is not anchored and the \fIfirstcharptr\fP argument is not NULL,
it is used to pass back information about the first character of any matched
string (see PCRE_INFO_FIRSTBYTE above).
.
.
.SH "REFERENCE COUNTS"
.rs
.sp
.B int pcre_refcount(pcre *\fIcode\fP, int \fIadjust\fP);
.PP
The \fBpcre_refcount()\fP function is used to maintain a reference count in the
data block that contains a compiled pattern. It is provided for the benefit of
applications that operate in an object-oriented manner, where different parts
of the application may be using the same compiled pattern, but you want to free
the block when they are all done.
.P
When a pattern is compiled, the reference count field is initialized to zero.
It is changed only by calling this function, whose action is to add the
\fIadjust\fP value (which may be positive or negative) to it. The yield of the
function is the new value. However, the value of the count is constrained to
lie between 0 and 65535, inclusive. If the new value is outside these limits,
it is forced to the appropriate limit value.
.P
Except when it is zero, the reference count is not correctly preserved if a
pattern is compiled on one host and then transferred to a host whose byte-order
is different. (This seems a highly unlikely scenario.)
.
.
.SH "MATCHING A PATTERN: THE TRADITIONAL FUNCTION"
.rs
.sp
.B int pcre_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP);
.P
The function \fBpcre_exec()\fP is called to match a subject string against a
compiled pattern, which is passed in the \fIcode\fP argument. If the
pattern was studied, the result of the study should be passed in the
\fIextra\fP argument. This function is the main matching facility of the
library, and it operates in a Perl-like manner. For specialist use there is
also an alternative matching function, which is described
.\" HTML <a href="#dfamatch">
.\" </a>
below
.\"
in the section about the \fBpcre_dfa_exec()\fP function.
.P
In most applications, the pattern will have been compiled (and optionally
studied) in the same process that calls \fBpcre_exec()\fP. However, it is
possible to save compiled patterns and study data, and then use them later
in different processes, possibly even on different hosts. For a discussion
about this, see the
.\" HREF
\fBpcreprecompile\fP
.\"
documentation.
.P
Here is an example of a simple call to \fBpcre_exec()\fP:
.sp
  int rc;
  int ovector[30];
  rc = pcre_exec(
    re,             /* result of pcre_compile() */
    NULL,           /* we didn't study the pattern */
    "some string",  /* the subject string */
    11,             /* the length of the subject string */
    0,              /* start at offset 0 in the subject */
    0,              /* default options */
    ovector,        /* vector of integers for substring information */
    30);            /* number of elements (NOT size in bytes) */
.
.\" HTML <a name="extradata"></a>
.SS "Extra data for \fBpcre_exec()\fR"
.rs
.sp
If the \fIextra\fP argument is not NULL, it must point to a \fBpcre_extra\fP
data block. The \fBpcre_study()\fP function returns such a block (when it
doesn't return NULL), but you can also create one for yourself, and pass
additional information in it. The \fBpcre_extra\fP block contains the following
fields (not necessarily in this order):
.sp
  unsigned long int \fIflags\fP;
  void *\fIstudy_data\fP;
  unsigned long int \fImatch_limit\fP;
  unsigned long int \fImatch_limit_recursion\fP;
  void *\fIcallout_data\fP;
  const unsigned char *\fItables\fP;
.sp
The \fIflags\fP field is a bitmap that specifies which of the other fields
are set. The flag bits are:
.sp
  PCRE_EXTRA_STUDY_DATA
  PCRE_EXTRA_MATCH_LIMIT
  PCRE_EXTRA_MATCH_LIMIT_RECURSION
  PCRE_EXTRA_CALLOUT_DATA
  PCRE_EXTRA_TABLES
.sp
Other flag bits should be set to zero. The \fIstudy_data\fP field is set in the
\fBpcre_extra\fP block that is returned by \fBpcre_study()\fP, together with
the appropriate flag bit. You should not set this yourself, but you may add to
the block by setting the other fields and their corresponding flag bits.
.P
The \fImatch_limit\fP field provides a means of preventing PCRE from using up a
vast amount of resources when running patterns that are not going to match,
but which have a very large number of possibilities in their search trees. The
classic example is a pattern that uses nested unlimited repeats.
.P
Internally, PCRE uses a function called \fBmatch()\fP which it calls repeatedly
(sometimes recursively). The limit set by \fImatch_limit\fP is imposed on the
number of times this function is called during a match, which has the effect of
limiting the amount of backtracking that can take place. For patterns that are
not anchored, the count restarts from zero for each position in the subject
string.
.P
The default value for the limit can be set when PCRE is built; the default
default is 10 million, which handles all but the most extreme cases. You can
override the default by suppling \fBpcre_exec()\fP with a \fBpcre_extra\fP
block in which \fImatch_limit\fP is set, and PCRE_EXTRA_MATCH_LIMIT is set in
the \fIflags\fP field. If the limit is exceeded, \fBpcre_exec()\fP returns
PCRE_ERROR_MATCHLIMIT.
.P
The \fImatch_limit_recursion\fP field is similar to \fImatch_limit\fP, but
instead of limiting the total number of times that \fBmatch()\fP is called, it
limits the depth of recursion. The recursion depth is a smaller number than the
total number of calls, because not all calls to \fBmatch()\fP are recursive.
This limit is of use only if it is set smaller than \fImatch_limit\fP.
.P
Limiting the recursion depth limits the amount of stack that can be used, or,
when PCRE has been compiled to use memory on the heap instead of the stack, the
amount of heap memory that can be used.
.P
The default value for \fImatch_limit_recursion\fP can be set when PCRE is
built; the default default is the same value as the default for
\fImatch_limit\fP. You can override the default by suppling \fBpcre_exec()\fP
with a \fBpcre_extra\fP block in which \fImatch_limit_recursion\fP is set, and
PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the \fIflags\fP field. If the limit
is exceeded, \fBpcre_exec()\fP returns PCRE_ERROR_RECURSIONLIMIT.
.P
The \fIcallout_data\fP field is used in conjunction with the "callout" feature,
and is described in the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.P
The \fItables\fP field is used to pass a character tables pointer to
\fBpcre_exec()\fP; this overrides the value that is stored with the compiled
pattern. A non-NULL value is stored with the compiled pattern only if custom
tables were supplied to \fBpcre_compile()\fP via its \fItableptr\fP argument.
If NULL is passed to \fBpcre_exec()\fP using this mechanism, it forces PCRE's
internal tables to be used. This facility is helpful when re-using patterns
that have been saved after compiling with an external set of tables, because
the external tables might be at a different address when \fBpcre_exec()\fP is
called. See the
.\" HREF
\fBpcreprecompile\fP
.\"
documentation for a discussion of saving compiled patterns for later use.
.
.\" HTML <a name="execoptions"></a>
.SS "Option bits for \fBpcre_exec()\fP"
.rs
.sp
The unused bits of the \fIoptions\fP argument for \fBpcre_exec()\fP must be
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP,
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART,
PCRE_NO_START_OPTIMIZE, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_SOFT, and
PCRE_PARTIAL_HARD.
.sp
  PCRE_ANCHORED
.sp
The PCRE_ANCHORED option limits \fBpcre_exec()\fP to matching at the first
matching position. If a pattern was compiled with PCRE_ANCHORED, or turned out
to be anchored by virtue of its contents, it cannot be made unachored at
matching time.
.sp
  PCRE_BSR_ANYCRLF
  PCRE_BSR_UNICODE
.sp
These options (which are mutually exclusive) control what the \eR escape
sequence matches. The choice is either to match only CR, LF, or CRLF, or to
match any Unicode newline sequence. These options override the choice that was
made or defaulted when the pattern was compiled.
.sp
  PCRE_NEWLINE_CR
  PCRE_NEWLINE_LF
  PCRE_NEWLINE_CRLF
  PCRE_NEWLINE_ANYCRLF
  PCRE_NEWLINE_ANY
.sp
These options override the newline definition that was chosen or defaulted when
the pattern was compiled. For details, see the description of
\fBpcre_compile()\fP above. During matching, the newline choice affects the
behaviour of the dot, circumflex, and dollar metacharacters. It may also alter
the way the match position is advanced after a match failure for an unanchored
pattern.
.P
When PCRE_NEWLINE_CRLF, PCRE_NEWLINE_ANYCRLF, or PCRE_NEWLINE_ANY is set, and a
match attempt for an unanchored pattern fails when the current position is at a
CRLF sequence, and the pattern contains no explicit matches for CR or LF
characters, the match position is advanced by two characters instead of one, in
other words, to after the CRLF.
.P
The above rule is a compromise that makes the most common cases work as
expected. For example, if the pattern is .+A (and the PCRE_DOTALL option is not
set), it does not match the string "\er\enA" because, after failing at the
start, it skips both the CR and the LF before retrying. However, the pattern
[\er\en]A does match that string, because it contains an explicit CR or LF
reference, and so advances only by one character after the first failure.
.P
An explicit match for CR of LF is either a literal appearance of one of those
characters, or one of the \er or \en escape sequences. Implicit matches such as
[^X] do not count, nor does \es (which includes CR and LF in the characters
that it matches).
.P
Notwithstanding the above, anomalous effects may still occur when CRLF is a
valid newline sequence and explicit \er or \en escapes appear in the pattern.
.sp
  PCRE_NOTBOL
.sp
This option specifies that first character of the subject string is not the
beginning of a line, so the circumflex metacharacter should not match before
it. Setting this without PCRE_MULTILINE (at compile time) causes circumflex
never to match. This option affects only the behaviour of the circumflex
metacharacter. It does not affect \eA.
.sp
  PCRE_NOTEOL
.sp
This option specifies that the end of the subject string is not the end of a
line, so the dollar metacharacter should not match it nor (except in multiline
mode) a newline immediately before it. Setting this without PCRE_MULTILINE (at
compile time) causes dollar never to match. This option affects only the
behaviour of the dollar metacharacter. It does not affect \eZ or \ez.
.sp
  PCRE_NOTEMPTY
.sp
An empty string is not considered to be a valid match if this option is set. If
there are alternatives in the pattern, they are tried. If all the alternatives
match the empty string, the entire match fails. For example, if the pattern
.sp
  a?b?
.sp
is applied to a string not beginning with "a" or "b", it matches an empty
string at the start of the subject. With PCRE_NOTEMPTY set, this match is not
valid, so PCRE searches further into the string for occurrences of "a" or "b".
.sp
  PCRE_NOTEMPTY_ATSTART
.sp
This is like PCRE_NOTEMPTY, except that an empty string match that is not at
the start of the subject is permitted. If the pattern is anchored, such a match
can occur only if the pattern contains \eK.
.P
Perl has no direct equivalent of PCRE_NOTEMPTY or PCRE_NOTEMPTY_ATSTART, but it
does make a special case of a pattern match of the empty string within its
\fBsplit()\fP function, and when using the /g modifier. It is possible to
emulate Perl's behaviour after matching a null string by first trying the match
again at the same offset with PCRE_NOTEMPTY_ATSTART and PCRE_ANCHORED, and then
if that fails, by advancing the starting offset (see below) and trying an
ordinary match again. There is some code that demonstrates how to do this in
the
.\" HREF
\fBpcredemo\fP
.\"
sample program.
.sp
  PCRE_NO_START_OPTIMIZE
.sp
There are a number of optimizations that \fBpcre_exec()\fP uses at the start of
a match, in order to speed up the process. For example, if it is known that a
match must start with a specific character, it searches the subject for that
character, and fails immediately if it cannot find it, without actually running
the main matching function. When callouts are in use, these optimizations can
cause them to be skipped. This option disables the "start-up" optimizations,
causing performance to suffer, but ensuring that the callouts do occur.
.sp
  PCRE_NO_UTF8_CHECK
.sp
When PCRE_UTF8 is set at compile time, the validity of the subject as a UTF-8
string is automatically checked when \fBpcre_exec()\fP is subsequently called.
The value of \fIstartoffset\fP is also checked to ensure that it points to the
start of a UTF-8 character. There is a discussion about the validity of UTF-8
strings in the
.\" HTML <a href="pcre.html#utf8strings">
.\" </a>
section on UTF-8 support
.\"
in the main
.\" HREF
\fBpcre\fP
.\"
page. If an invalid UTF-8 sequence of bytes is found, \fBpcre_exec()\fP returns
the error PCRE_ERROR_BADUTF8. If \fIstartoffset\fP contains an invalid value,
PCRE_ERROR_BADUTF8_OFFSET is returned.
.P
If you already know that your subject is valid, and you want to skip these
checks for performance reasons, you can set the PCRE_NO_UTF8_CHECK option when
calling \fBpcre_exec()\fP. You might want to do this for the second and
subsequent calls to \fBpcre_exec()\fP if you are making repeated calls to find
all the matches in a single subject string. However, you should be sure that
the value of \fIstartoffset\fP points to the start of a UTF-8 character. When
PCRE_NO_UTF8_CHECK is set, the effect of passing an invalid UTF-8 string as a
subject, or a value of \fIstartoffset\fP that does not point to the start of a
UTF-8 character, is undefined. Your program may crash.
.sp
  PCRE_PARTIAL_HARD
  PCRE_PARTIAL_SOFT
.sp
These options turn on the partial matching feature. For backwards
compatibility, PCRE_PARTIAL is a synonym for PCRE_PARTIAL_SOFT. A partial match
occurs if the end of the subject string is reached successfully, but there are
not enough subject characters to complete the match. If this happens when
PCRE_PARTIAL_HARD is set, \fBpcre_exec()\fP immediately returns
PCRE_ERROR_PARTIAL. Otherwise, if PCRE_PARTIAL_SOFT is set, matching continues
by testing any other alternatives. Only if they all fail is PCRE_ERROR_PARTIAL
returned (instead of PCRE_ERROR_NOMATCH). The portion of the string that
was inspected when the partial match was found is set as the first matching
string. There is a more detailed discussion in the
.\" HREF
\fBpcrepartial\fP
.\"
documentation.
.
.SS "The string to be matched by \fBpcre_exec()\fP"
.rs
.sp
The subject string is passed to \fBpcre_exec()\fP as a pointer in
\fIsubject\fP, a length (in bytes) in \fIlength\fP, and a starting byte offset
in \fIstartoffset\fP. In UTF-8 mode, the byte offset must point to the start of
a UTF-8 character. Unlike the pattern string, the subject may contain binary
zero bytes. When the starting offset is zero, the search for a match starts at
the beginning of the subject, and this is by far the most common case.
.P
A non-zero starting offset is useful when searching for another match in the
same subject by calling \fBpcre_exec()\fP again after a previous success.
Setting \fIstartoffset\fP differs from just passing over a shortened string and
setting PCRE_NOTBOL in the case of a pattern that begins with any kind of
lookbehind. For example, consider the pattern
.sp
  \eBiss\eB
.sp
which finds occurrences of "iss" in the middle of words. (\eB matches only if
the current position in the subject is not a word boundary.) When applied to
the string "Mississipi" the first call to \fBpcre_exec()\fP finds the first
occurrence. If \fBpcre_exec()\fP is called again with just the remainder of the
subject, namely "issipi", it does not match, because \eB is always false at the
start of the subject, which is deemed to be a word boundary. However, if
\fBpcre_exec()\fP is passed the entire string again, but with \fIstartoffset\fP
set to 4, it finds the second occurrence of "iss" because it is able to look
behind the starting point to discover that it is preceded by a letter.
.P
If a non-zero starting offset is passed when the pattern is anchored, one
attempt to match at the given offset is made. This can only succeed if the
pattern does not require the match to be at the start of the subject.
.
.SS "How \fBpcre_exec()\fP returns captured substrings"
.rs
.sp
In general, a pattern matches a certain portion of the subject, and in
addition, further substrings from the subject may be picked out by parts of the
pattern. Following the usage in Jeffrey Friedl's book, this is called
"capturing" in what follows, and the phrase "capturing subpattern" is used for
a fragment of a pattern that picks out a substring. PCRE supports several other
kinds of parenthesized subpattern that do not cause substrings to be captured.
.P
Captured substrings are returned to the caller via a vector of integers whose
address is passed in \fIovector\fP. The number of elements in the vector is
passed in \fIovecsize\fP, which must be a non-negative number. \fBNote\fP: this
argument is NOT the size of \fIovector\fP in bytes.
.P
The first two-thirds of the vector is used to pass back captured substrings,
each substring using a pair of integers. The remaining third of the vector is
used as workspace by \fBpcre_exec()\fP while matching capturing subpatterns,
and is not available for passing back information. The number passed in
\fIovecsize\fP should always be a multiple of three. If it is not, it is
rounded down.
.P
When a match is successful, information about captured substrings is returned
in pairs of integers, starting at the beginning of \fIovector\fP, and
continuing up to two-thirds of its length at the most. The first element of
each pair is set to the byte offset of the first character in a substring, and
the second is set to the byte offset of the first character after the end of a
substring. \fBNote\fP: these values are always byte offsets, even in UTF-8
mode. They are not character counts.
.P
The first pair of integers, \fIovector[0]\fP and \fIovector[1]\fP, identify the
portion of the subject string matched by the entire pattern. The next pair is
used for the first capturing subpattern, and so on. The value returned by
\fBpcre_exec()\fP is one more than the highest numbered pair that has been set.
For example, if two substrings have been captured, the returned value is 3. If
there are no capturing subpatterns, the return value from a successful match is
1, indicating that just the first pair of offsets has been set.
.P
If a capturing subpattern is matched repeatedly, it is the last portion of the
string that it matched that is returned.
.P
If the vector is too small to hold all the captured substring offsets, it is
used as far as possible (up to two-thirds of its length), and the function
returns a value of zero. If the substring offsets are not of interest,
\fBpcre_exec()\fP may be called with \fIovector\fP passed as NULL and
\fIovecsize\fP as zero. However, if the pattern contains back references and
the \fIovector\fP is not big enough to remember the related substrings, PCRE
has to get additional memory for use during matching. Thus it is usually
advisable to supply an \fIovector\fP.
.P
The \fBpcre_fullinfo()\fP function can be used to find out how many capturing
subpatterns there are in a compiled pattern. The smallest size for
\fIovector\fP that will allow for \fIn\fP captured substrings, in addition to
the offsets of the substring matched by the whole pattern, is (\fIn\fP+1)*3.
.P
It is possible for capturing subpattern number \fIn+1\fP to match some part of
the subject when subpattern \fIn\fP has not been used at all. For example, if
the string "abc" is matched against the pattern (a|(z))(bc) the return from the
function is 4, and subpatterns 1 and 3 are matched, but 2 is not. When this
happens, both values in the offset pairs corresponding to unused subpatterns
are set to -1.
.P
Offset values that correspond to unused subpatterns at the end of the
expression are also set to -1. For example, if the string "abc" is matched
against the pattern (abc)(x(yz)?)? subpatterns 2 and 3 are not matched. The
return from the function is 2, because the highest used capturing subpattern
number is 1. However, you can refer to the offsets for the second and third
capturing subpatterns if you wish (assuming the vector is large enough, of
course).
.P
Some convenience functions are provided for extracting the captured substrings
as separate strings. These are described below.
.
.\" HTML <a name="errorlist"></a>
.SS "Error return values from \fBpcre_exec()\fP"
.rs
.sp
If \fBpcre_exec()\fP fails, it returns a negative number. The following are
defined in the header file:
.sp
  PCRE_ERROR_NOMATCH        (-1)
.sp
The subject string did not match the pattern.
.sp
  PCRE_ERROR_NULL           (-2)
.sp
Either \fIcode\fP or \fIsubject\fP was passed as NULL, or \fIovector\fP was
NULL and \fIovecsize\fP was not zero.
.sp
  PCRE_ERROR_BADOPTION      (-3)
.sp
An unrecognized bit was set in the \fIoptions\fP argument.
.sp
  PCRE_ERROR_BADMAGIC       (-4)
.sp
PCRE stores a 4-byte "magic number" at the start of the compiled code, to catch
the case when it is passed a junk pointer and to detect when a pattern that was
compiled in an environment of one endianness is run in an environment with the
other endianness. This is the error that PCRE gives when the magic number is
not present.
.sp
  PCRE_ERROR_UNKNOWN_OPCODE (-5)
.sp
While running the pattern match, an unknown item was encountered in the
compiled pattern. This error could be caused by a bug in PCRE or by overwriting
of the compiled pattern.
.sp
  PCRE_ERROR_NOMEMORY       (-6)
.sp
If a pattern contains back references, but the \fIovector\fP that is passed to
\fBpcre_exec()\fP is not big enough to remember the referenced substrings, PCRE
gets a block of memory at the start of matching to use for this purpose. If the
call via \fBpcre_malloc()\fP fails, this error is given. The memory is
automatically freed at the end of matching.
.sp
  PCRE_ERROR_NOSUBSTRING    (-7)
.sp
This error is used by the \fBpcre_copy_substring()\fP,
\fBpcre_get_substring()\fP, and \fBpcre_get_substring_list()\fP functions (see
below). It is never returned by \fBpcre_exec()\fP.
.sp
  PCRE_ERROR_MATCHLIMIT     (-8)
.sp
The backtracking limit, as specified by the \fImatch_limit\fP field in a
\fBpcre_extra\fP structure (or defaulted) was reached. See the description
above.
.sp
  PCRE_ERROR_CALLOUT        (-9)
.sp
This error is never generated by \fBpcre_exec()\fP itself. It is provided for
use by callout functions that want to yield a distinctive error code. See the
.\" HREF
\fBpcrecallout\fP
.\"
documentation for details.
.sp
  PCRE_ERROR_BADUTF8        (-10)
.sp
A string that contains an invalid UTF-8 byte sequence was passed as a subject.
.sp
  PCRE_ERROR_BADUTF8_OFFSET (-11)
.sp
The UTF-8 byte sequence that was passed as a subject was valid, but the value
of \fIstartoffset\fP did not point to the beginning of a UTF-8 character.
.sp
  PCRE_ERROR_PARTIAL        (-12)
.sp
The subject string did not match, but it did match partially. See the
.\" HREF
\fBpcrepartial\fP
.\"
documentation for details of partial matching.
.sp
  PCRE_ERROR_BADPARTIAL     (-13)
.sp
This code is no longer in use. It was formerly returned when the PCRE_PARTIAL
option was used with a compiled pattern containing items that were not
supported for partial matching. From release 8.00 onwards, there are no
restrictions on partial matching.
.sp
  PCRE_ERROR_INTERNAL       (-14)
.sp
An unexpected internal error has occurred. This error could be caused by a bug
in PCRE or by overwriting of the compiled pattern.
.sp
  PCRE_ERROR_BADCOUNT       (-15)
.sp
This error is given if the value of the \fIovecsize\fP argument is negative.
.sp
  PCRE_ERROR_RECURSIONLIMIT (-21)
.sp
The internal recursion limit, as specified by the \fImatch_limit_recursion\fP
field in a \fBpcre_extra\fP structure (or defaulted) was reached. See the
description above.
.sp
  PCRE_ERROR_BADNEWLINE     (-23)
.sp
An invalid combination of PCRE_NEWLINE_\fIxxx\fP options was given.
.P
Error numbers -16 to -20 and -22 are not used by \fBpcre_exec()\fP.
.
.
.SH "EXTRACTING CAPTURED SUBSTRINGS BY NUMBER"
.rs
.sp
.B int pcre_copy_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP, char *\fIbuffer\fP,
.ti +5n
.B int \fIbuffersize\fP);
.PP
.B int pcre_get_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.PP
.B int pcre_get_substring_list(const char *\fIsubject\fP,
.ti +5n
.B int *\fIovector\fP, int \fIstringcount\fP, "const char ***\fIlistptr\fP);"
.PP
Captured substrings can be accessed directly by using the offsets returned by
\fBpcre_exec()\fP in \fIovector\fP. For convenience, the functions
\fBpcre_copy_substring()\fP, \fBpcre_get_substring()\fP, and
\fBpcre_get_substring_list()\fP are provided for extracting captured substrings
as new, separate, zero-terminated strings. These functions identify substrings
by number. The next section describes functions for extracting named
substrings.
.P
A substring that contains a binary zero is correctly extracted and has a
further zero added on the end, but the result is not, of course, a C string.
However, you can process such a string by referring to the length that is
returned by \fBpcre_copy_substring()\fP and \fBpcre_get_substring()\fP.
Unfortunately, the interface to \fBpcre_get_substring_list()\fP is not adequate
for handling strings containing binary zeros, because the end of the final
string is not independently indicated.
.P
The first three arguments are the same for all three of these functions:
\fIsubject\fP is the subject string that has just been successfully matched,
\fIovector\fP is a pointer to the vector of integer offsets that was passed to
\fBpcre_exec()\fP, and \fIstringcount\fP is the number of substrings that were
captured by the match, including the substring that matched the entire regular
expression. This is the value returned by \fBpcre_exec()\fP if it is greater
than zero. If \fBpcre_exec()\fP returned zero, indicating that it ran out of
space in \fIovector\fP, the value passed as \fIstringcount\fP should be the
number of elements in the vector divided by three.
.P
The functions \fBpcre_copy_substring()\fP and \fBpcre_get_substring()\fP
extract a single substring, whose number is given as \fIstringnumber\fP. A
value of zero extracts the substring that matched the entire pattern, whereas
higher values extract the captured substrings. For \fBpcre_copy_substring()\fP,
the string is placed in \fIbuffer\fP, whose length is given by
\fIbuffersize\fP, while for \fBpcre_get_substring()\fP a new block of memory is
obtained via \fBpcre_malloc\fP, and its address is returned via
\fIstringptr\fP. The yield of the function is the length of the string, not
including the terminating zero, or one of these error codes:
.sp
  PCRE_ERROR_NOMEMORY       (-6)
.sp
The buffer was too small for \fBpcre_copy_substring()\fP, or the attempt to get
memory failed for \fBpcre_get_substring()\fP.
.sp
  PCRE_ERROR_NOSUBSTRING    (-7)
.sp
There is no substring whose number is \fIstringnumber\fP.
.P
The \fBpcre_get_substring_list()\fP function extracts all available substrings
and builds a list of pointers to them. All this is done in a single block of
memory that is obtained via \fBpcre_malloc\fP. The address of the memory block
is returned via \fIlistptr\fP, which is also the start of the list of string
pointers. The end of the list is marked by a NULL pointer. The yield of the
function is zero if all went well, or the error code
.sp
  PCRE_ERROR_NOMEMORY       (-6)
.sp
if the attempt to get the memory block failed.
.P
When any of these functions encounter a substring that is unset, which can
happen when capturing subpattern number \fIn+1\fP matches some part of the
subject, but subpattern \fIn\fP has not been used at all, they return an empty
string. This can be distinguished from a genuine zero-length substring by
inspecting the appropriate offset in \fIovector\fP, which is negative for unset
substrings.
.P
The two convenience functions \fBpcre_free_substring()\fP and
\fBpcre_free_substring_list()\fP can be used to free the memory returned by
a previous call of \fBpcre_get_substring()\fP or
\fBpcre_get_substring_list()\fP, respectively. They do nothing more than call
the function pointed to by \fBpcre_free\fP, which of course could be called
directly from a C program. However, PCRE is used in some situations where it is
linked via a special interface to another programming language that cannot use
\fBpcre_free\fP directly; it is for these cases that the functions are
provided.
.
.
.SH "EXTRACTING CAPTURED SUBSTRINGS BY NAME"
.rs
.sp
.B int pcre_get_stringnumber(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP);
.PP
.B int pcre_copy_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B char *\fIbuffer\fP, int \fIbuffersize\fP);
.PP
.B int pcre_get_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.PP
To extract a substring by name, you first have to find associated number.
For example, for this pattern
.sp
  (a+)b(?<xxx>\ed+)...
.sp
the number of the subpattern called "xxx" is 2. If the name is known to be
unique (PCRE_DUPNAMES was not set), you can find the number from the name by
calling \fBpcre_get_stringnumber()\fP. The first argument is the compiled
pattern, and the second is the name. The yield of the function is the
subpattern number, or PCRE_ERROR_NOSUBSTRING (-7) if there is no subpattern of
that name.
.P
Given the number, you can extract the substring directly, or use one of the
functions described in the previous section. For convenience, there are also
two functions that do the whole job.
.P
Most of the arguments of \fBpcre_copy_named_substring()\fP and
\fBpcre_get_named_substring()\fP are the same as those for the similarly named
functions that extract by number. As these are described in the previous
section, they are not re-described here. There are just two differences:
.P
First, instead of a substring number, a substring name is given. Second, there
is an extra argument, given at the start, which is a pointer to the compiled
pattern. This is needed in order to gain access to the name-to-number
translation table.
.P
These functions call \fBpcre_get_stringnumber()\fP, and if it succeeds, they
then call \fBpcre_copy_substring()\fP or \fBpcre_get_substring()\fP, as
appropriate. \fBNOTE:\fP If PCRE_DUPNAMES is set and there are duplicate names,
the behaviour may not be what you want (see the next section).
.P
\fBWarning:\fP If the pattern uses the (?| feature to set up multiple
subpatterns with the same number, as described in the
.\" HTML <a href="pcrepattern.html#dupsubpatternnumber">
.\" </a>
section on duplicate subpattern numbers
.\"
in the
.\" HREF
\fBpcrepattern\fP
.\"
page, you cannot use names to distinguish the different subpatterns, because
names are not included in the compiled code. The matching process uses only
numbers. For this reason, the use of different names for subpatterns of the
same number causes an error at compile time.
.
.SH "DUPLICATE SUBPATTERN NAMES"
.rs
.sp
.B int pcre_get_stringtable_entries(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP, char **\fIfirst\fP, char **\fIlast\fP);
.PP
When a pattern is compiled with the PCRE_DUPNAMES option, names for subpatterns
are not required to be unique. (Duplicate names are always allowed for
subpatterns with the same number, created by using the (?| feature. Indeed, if
such subpatterns are named, they are required to use the same names.)
.P
Normally, patterns with duplicate names are such that in any one match, only
one of the named subpatterns participates. An example is shown in the
.\" HREF
\fBpcrepattern\fP
.\"
documentation.
.P
When duplicates are present, \fBpcre_copy_named_substring()\fP and
\fBpcre_get_named_substring()\fP return the first substring corresponding to
the given name that is set. If none are set, PCRE_ERROR_NOSUBSTRING (-7) is
returned; no data is returned. The \fBpcre_get_stringnumber()\fP function
returns one of the numbers that are associated with the name, but it is not
defined which it is.
.P
If you want to get full details of all captured substrings for a given name,
you must use the \fBpcre_get_stringtable_entries()\fP function. The first
argument is the compiled pattern, and the second is the name. The third and
fourth are pointers to variables which are updated by the function. After it
has run, they point to the first and last entries in the name-to-number table
for the given name. The function itself returns the length of each entry, or
PCRE_ERROR_NOSUBSTRING (-7) if there are none. The format of the table is
described above in the section entitled \fIInformation about a pattern\fP.
Given all the relevant entries for the name, you can extract each of their
numbers, and hence the captured data, if any.
.
.
.SH "FINDING ALL POSSIBLE MATCHES"
.rs
.sp
The traditional matching function uses a similar algorithm to Perl, which stops
when it finds the first match, starting at a given point in the subject. If you
want to find all possible matches, or the longest possible match, consider
using the alternative matching function (see below) instead. If you cannot use
the alternative function, but still need to find all possible matches, you
can kludge it up by making use of the callout facility, which is described in
the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.P
What you have to do is to insert a callout right at the end of the pattern.
When your callout function is called, extract and save the current matched
substring. Then return 1, which forces \fBpcre_exec()\fP to backtrack and try
other alternatives. Ultimately, when it runs out of matches, \fBpcre_exec()\fP
will yield PCRE_ERROR_NOMATCH.
.
.
.\" HTML <a name="dfamatch"></a>
.SH "MATCHING A PATTERN: THE ALTERNATIVE FUNCTION"
.rs
.sp
.B int pcre_dfa_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP,
.ti +5n
.B int *\fIworkspace\fP, int \fIwscount\fP);
.P
The function \fBpcre_dfa_exec()\fP is called to match a subject string against
a compiled pattern, using a matching algorithm that scans the subject string
just once, and does not backtrack. This has different characteristics to the
normal algorithm, and is not compatible with Perl. Some of the features of PCRE
patterns are not supported. Nevertheless, there are times when this kind of
matching can be useful. For a discussion of the two matching algorithms, and a
list of features that \fBpcre_dfa_exec()\fP does not support, see the
.\" HREF
\fBpcrematching\fP
.\"
documentation.
.P
The arguments for the \fBpcre_dfa_exec()\fP function are the same as for
\fBpcre_exec()\fP, plus two extras. The \fIovector\fP argument is used in a
different way, and this is described below. The other common arguments are used
in the same way as for \fBpcre_exec()\fP, so their description is not repeated
here.
.P
The two additional arguments provide workspace for the function. The workspace
vector should contain at least 20 elements. It is used for keeping track of
multiple paths through the pattern tree. More workspace will be needed for
patterns and subjects where there are a lot of potential matches.
.P
Here is an example of a simple call to \fBpcre_dfa_exec()\fP:
.sp
  int rc;
  int ovector[10];
  int wspace[20];
  rc = pcre_dfa_exec(
    re,             /* result of pcre_compile() */
    NULL,           /* we didn't study the pattern */
    "some string",  /* the subject string */
    11,             /* the length of the subject string */
    0,              /* start at offset 0 in the subject */
    0,              /* default options */
    ovector,        /* vector of integers for substring information */
    10,             /* number of elements (NOT size in bytes) */
    wspace,         /* working space vector */
    20);            /* number of elements (NOT size in bytes) */
.
.SS "Option bits for \fBpcre_dfa_exec()\fP"
.rs
.sp
The unused bits of the \fIoptions\fP argument for \fBpcre_dfa_exec()\fP must be
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_\fIxxx\fP,
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART,
PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_HARD, PCRE_PARTIAL_SOFT, PCRE_DFA_SHORTEST,
and PCRE_DFA_RESTART. All but the last four of these are exactly the same as
for \fBpcre_exec()\fP, so their description is not repeated here.
.sp
  PCRE_PARTIAL_HARD
  PCRE_PARTIAL_SOFT
.sp
These have the same general effect as they do for \fBpcre_exec()\fP, but the
details are slightly different. When PCRE_PARTIAL_HARD is set for
\fBpcre_dfa_exec()\fP, it returns PCRE_ERROR_PARTIAL if the end of the subject
is reached and there is still at least one matching possibility that requires
additional characters. This happens even if some complete matches have also
been found. When PCRE_PARTIAL_SOFT is set, the return code PCRE_ERROR_NOMATCH
is converted into PCRE_ERROR_PARTIAL if the end of the subject is reached,
there have been no complete matches, but there is still at least one matching
possibility. The portion of the string that was inspected when the longest
partial match was found is set as the first matching string in both cases.
.sp
  PCRE_DFA_SHORTEST
.sp
Setting the PCRE_DFA_SHORTEST option causes the matching algorithm to stop as
soon as it has found one match. Because of the way the alternative algorithm
works, this is necessarily the shortest possible match at the first possible
matching point in the subject string.
.sp
  PCRE_DFA_RESTART
.sp
When \fBpcre_dfa_exec()\fP returns a partial match, it is possible to call it
again, with additional subject characters, and have it continue with the same
match. The PCRE_DFA_RESTART option requests this action; when it is set, the
\fIworkspace\fP and \fIwscount\fP options must reference the same vector as
before because data about the match so far is left in them after a partial
match. There is more discussion of this facility in the
.\" HREF
\fBpcrepartial\fP
.\"
documentation.
.
.SS "Successful returns from \fBpcre_dfa_exec()\fP"
.rs
.sp
When \fBpcre_dfa_exec()\fP succeeds, it may have matched more than one
substring in the subject. Note, however, that all the matches from one run of
the function start at the same point in the subject. The shorter matches are
all initial substrings of the longer matches. For example, if the pattern
.sp
  <.*>
.sp
is matched against the string
.sp
  This is <something> <something else> <something further> no more
.sp
the three matched strings are
.sp
  <something>
  <something> <something else>
  <something> <something else> <something further>
.sp
On success, the yield of the function is a number greater than zero, which is
the number of matched substrings. The substrings themselves are returned in
\fIovector\fP. Each string uses two elements; the first is the offset to the
start, and the second is the offset to the end. In fact, all the strings have
the same start offset. (Space could have been saved by giving this only once,
but it was decided to retain some compatibility with the way \fBpcre_exec()\fP
returns data, even though the meaning of the strings is different.)
.P
The strings are returned in reverse order of length; that is, the longest
matching string is given first. If there were too many matches to fit into
\fIovector\fP, the yield of the function is zero, and the vector is filled with
the longest matches.
.
.SS "Error returns from \fBpcre_dfa_exec()\fP"
.rs
.sp
The \fBpcre_dfa_exec()\fP function returns a negative number when it fails.
Many of the errors are the same as for \fBpcre_exec()\fP, and these are
described
.\" HTML <a href="#errorlist">
.\" </a>
above.
.\"
There are in addition the following errors that are specific to
\fBpcre_dfa_exec()\fP:
.sp
  PCRE_ERROR_DFA_UITEM      (-16)
.sp
This return is given if \fBpcre_dfa_exec()\fP encounters an item in the pattern
that it does not support, for instance, the use of \eC or a back reference.
.sp
  PCRE_ERROR_DFA_UCOND      (-17)
.sp
This return is given if \fBpcre_dfa_exec()\fP encounters a condition item that
uses a back reference for the condition, or a test for recursion in a specific
group. These are not supported.
.sp
  PCRE_ERROR_DFA_UMLIMIT    (-18)
.sp
This return is given if \fBpcre_dfa_exec()\fP is called with an \fIextra\fP
block that contains a setting of the \fImatch_limit\fP field. This is not
supported (it is meaningless).
.sp
  PCRE_ERROR_DFA_WSSIZE     (-19)
.sp
This return is given if \fBpcre_dfa_exec()\fP runs out of space in the
\fIworkspace\fP vector.
.sp
  PCRE_ERROR_DFA_RECURSE    (-20)
.sp
When a recursive subpattern is processed, the matching function calls itself
recursively, using private vectors for \fIovector\fP and \fIworkspace\fP. This
error is given if the output vector is not large enough. This should be
extremely rare, as a vector of size 1000 is used.
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcrebuild\fP(3), \fBpcrecallout\fP(3), \fBpcrecpp(3)\fP(3),
\fBpcrematching\fP(3), \fBpcrepartial\fP(3), \fBpcreposix\fP(3),
\fBpcreprecompile\fP(3), \fBpcresample\fP(3), \fBpcrestack\fP(3).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 03 October 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcresyntax.3000064400000025301150405535530011551 0ustar00.TH PCRESYNTAX 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE REGULAR EXPRESSION SYNTAX SUMMARY"
.rs
.sp
The full syntax and semantics of the regular expressions that are supported by
PCRE are described in the
.\" HREF
\fBpcrepattern\fP
.\"
documentation. This document contains just a quick-reference summary of the
syntax.
.
.
.SH "QUOTING"
.rs
.sp
  \ex         where x is non-alphanumeric is a literal x
  \eQ...\eE    treat enclosed characters as literal
.
.
.SH "CHARACTERS"
.rs
.sp
  \ea         alarm, that is, the BEL character (hex 07)
  \ecx        "control-x", where x is any character
  \ee         escape (hex 1B)
  \ef         formfeed (hex 0C)
  \en         newline (hex 0A)
  \er         carriage return (hex 0D)
  \et         tab (hex 09)
  \eddd       character with octal code ddd, or backreference
  \exhh       character with hex code hh
  \ex{hhh..}  character with hex code hhh..
.
.
.SH "CHARACTER TYPES"
.rs
.sp
  .          any character except newline;
               in dotall mode, any character whatsoever
  \eC         one byte, even in UTF-8 mode (best avoided)
  \ed         a decimal digit
  \eD         a character that is not a decimal digit
  \eh         a horizontal whitespace character
  \eH         a character that is not a horizontal whitespace character
  \ep{\fIxx\fP}     a character with the \fIxx\fP property
  \eP{\fIxx\fP}     a character without the \fIxx\fP property
  \eR         a newline sequence
  \es         a whitespace character
  \eS         a character that is not a whitespace character
  \ev         a vertical whitespace character
  \eV         a character that is not a vertical whitespace character
  \ew         a "word" character
  \eW         a "non-word" character
  \eX         an extended Unicode sequence
.sp
In PCRE, \ed, \eD, \es, \eS, \ew, and \eW recognize only ASCII characters.
.
.
.SH "GENERAL CATEGORY PROPERTY CODES FOR \ep and \eP"
.rs
.sp
  C          Other
  Cc         Control
  Cf         Format
  Cn         Unassigned
  Co         Private use
  Cs         Surrogate
.sp
  L          Letter
  Ll         Lower case letter
  Lm         Modifier letter
  Lo         Other letter
  Lt         Title case letter
  Lu         Upper case letter
  L&         Ll, Lu, or Lt
.sp
  M          Mark
  Mc         Spacing mark
  Me         Enclosing mark
  Mn         Non-spacing mark
.sp
  N          Number
  Nd         Decimal number
  Nl         Letter number
  No         Other number
.sp
  P          Punctuation
  Pc         Connector punctuation
  Pd         Dash punctuation
  Pe         Close punctuation
  Pf         Final punctuation
  Pi         Initial punctuation
  Po         Other punctuation
  Ps         Open punctuation
.sp
  S          Symbol
  Sc         Currency symbol
  Sk         Modifier symbol
  Sm         Mathematical symbol
  So         Other symbol
.sp
  Z          Separator
  Zl         Line separator
  Zp         Paragraph separator
  Zs         Space separator
.
.
.SH "SCRIPT NAMES FOR \ep AND \eP"
.rs
.sp
Arabic,
Armenian,
Avestan,
Balinese,
Bamum,
Bengali,
Bopomofo,
Braille,
Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
Cham,
Cherokee,
Common,
Coptic,
Cuneiform,
Cypriot,
Cyrillic,
Deseret,
Devanagari,
Egyptian_Hieroglyphs,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
Greek,
Gujarati,
Gurmukhi,
Han,
Hangul,
Hanunoo,
Hebrew,
Hiragana,
Imperial_Aramaic,
Inherited,
Inscriptional_Pahlavi,
Inscriptional_Parthian,
Javanese,
Kaithi,
Kannada,
Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
Lao,
Latin,
Lepcha,
Limbu,
Linear_B,
Lisu,
Lycian,
Lydian,
Malayalam,
Meetei_Mayek,
Mongolian,
Myanmar,
New_Tai_Lue,
Nko,
Ogham,
Old_Italic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
Ol_Chiki,
Oriya,
Osmanya,
Phags_Pa,
Phoenician,
Rejang,
Runic,
Samaritan,
Saurashtra,
Shavian,
Sinhala,
Sundanese,
Syloti_Nagri,
Syriac,
Tagalog,
Tagbanwa,
Tai_Le,
Tai_Tham,
Tai_Viet,
Tamil,
Telugu,
Thaana,
Thai,
Tibetan,
Tifinagh,
Ugaritic,
Vai,
Yi.
.
.
.SH "CHARACTER CLASSES"
.rs
.sp
  [...]       positive character class
  [^...]      negative character class
  [x-y]       range (can be used for hex characters)
  [[:xxx:]]   positive POSIX named set
  [[:^xxx:]]  negative POSIX named set
.sp
  alnum       alphanumeric
  alpha       alphabetic
  ascii       0-127
  blank       space or tab
  cntrl       control character
  digit       decimal digit
  graph       printing, excluding space
  lower       lower case letter
  print       printing, including space
  punct       printing, excluding alphanumeric
  space       whitespace
  upper       upper case letter
  word        same as \ew
  xdigit      hexadecimal digit
.sp
In PCRE, POSIX character set names recognize only ASCII characters. You can use
\eQ...\eE inside a character class.
.
.
.SH "QUANTIFIERS"
.rs
.sp
  ?           0 or 1, greedy
  ?+          0 or 1, possessive
  ??          0 or 1, lazy
  *           0 or more, greedy
  *+          0 or more, possessive
  *?          0 or more, lazy
  +           1 or more, greedy
  ++          1 or more, possessive
  +?          1 or more, lazy
  {n}         exactly n
  {n,m}       at least n, no more than m, greedy
  {n,m}+      at least n, no more than m, possessive
  {n,m}?      at least n, no more than m, lazy
  {n,}        n or more, greedy
  {n,}+       n or more, possessive
  {n,}?       n or more, lazy
.
.
.SH "ANCHORS AND SIMPLE ASSERTIONS"
.rs
.sp
  \eb          word boundary (only ASCII letters recognized)
  \eB          not a word boundary
  ^           start of subject
               also after internal newline in multiline mode
  \eA          start of subject
  $           end of subject
               also before newline at end of subject
               also before internal newline in multiline mode
  \eZ          end of subject
               also before newline at end of subject
  \ez          end of subject
  \eG          first matching position in subject
.
.
.SH "MATCH POINT RESET"
.rs
.sp
  \eK          reset start of match
.
.
.SH "ALTERNATION"
.rs
.sp
  expr|expr|expr...
.
.
.SH "CAPTURING"
.rs
.sp
  (...)           capturing group
  (?<name>...)    named capturing group (Perl)
  (?'name'...)    named capturing group (Perl)
  (?P<name>...)   named capturing group (Python)
  (?:...)         non-capturing group
  (?|...)         non-capturing group; reset group numbers for
                   capturing groups in each alternative
.
.
.SH "ATOMIC GROUPS"
.rs
.sp
  (?>...)         atomic, non-capturing group
.
.
.
.
.SH "COMMENT"
.rs
.sp
  (?#....)        comment (not nestable)
.
.
.SH "OPTION SETTING"
.rs
.sp
  (?i)            caseless
  (?J)            allow duplicate names
  (?m)            multiline
  (?s)            single line (dotall)
  (?U)            default ungreedy (lazy)
  (?x)            extended (ignore white space)
  (?-...)         unset option(s)
.sp
The following is recognized only at the start of a pattern or after one of the
newline-setting options with similar syntax:
.sp
  (*UTF8)         set UTF-8 mode
.
.
.SH "LOOKAHEAD AND LOOKBEHIND ASSERTIONS"
.rs
.sp
  (?=...)         positive look ahead
  (?!...)         negative look ahead
  (?<=...)        positive look behind
  (?<!...)        negative look behind
.sp
Each top-level branch of a look behind must be of a fixed length.
.
.
.SH "BACKREFERENCES"
.rs
.sp
  \en              reference by number (can be ambiguous)
  \egn             reference by number
  \eg{n}           reference by number
  \eg{-n}          relative reference by number
  \ek<name>        reference by name (Perl)
  \ek'name'        reference by name (Perl)
  \eg{name}        reference by name (Perl)
  \ek{name}        reference by name (.NET)
  (?P=name)       reference by name (Python)
.
.
.SH "SUBROUTINE REFERENCES (POSSIBLY RECURSIVE)"
.rs
.sp
  (?R)            recurse whole pattern
  (?n)            call subpattern by absolute number
  (?+n)           call subpattern by relative number
  (?-n)           call subpattern by relative number
  (?&name)        call subpattern by name (Perl)
  (?P>name)       call subpattern by name (Python)
  \eg<name>        call subpattern by name (Oniguruma)
  \eg'name'        call subpattern by name (Oniguruma)
  \eg<n>           call subpattern by absolute number (Oniguruma)
  \eg'n'           call subpattern by absolute number (Oniguruma)
  \eg<+n>          call subpattern by relative number (PCRE extension)
  \eg'+n'          call subpattern by relative number (PCRE extension)
  \eg<-n>          call subpattern by relative number (PCRE extension)
  \eg'-n'          call subpattern by relative number (PCRE extension)
.
.
.SH "CONDITIONAL PATTERNS"
.rs
.sp
  (?(condition)yes-pattern)
  (?(condition)yes-pattern|no-pattern)
.sp
  (?(n)...        absolute reference condition
  (?(+n)...       relative reference condition
  (?(-n)...       relative reference condition
  (?(<name>)...   named reference condition (Perl)
  (?('name')...   named reference condition (Perl)
  (?(name)...     named reference condition (PCRE)
  (?(R)...        overall recursion condition
  (?(Rn)...       specific group recursion condition
  (?(R&name)...   specific recursion condition
  (?(DEFINE)...   define subpattern for reference
  (?(assert)...   assertion condition
.
.
.SH "BACKTRACKING CONTROL"
.rs
.sp
The following act immediately they are reached:
.sp
  (*ACCEPT)       force successful match
  (*FAIL)         force backtrack; synonym (*F)
.sp
The following act only when a subsequent match failure causes a backtrack to
reach them. They all force a match failure, but they differ in what happens
afterwards. Those that advance the start-of-match point do so only if the
pattern is not anchored.
.sp
  (*COMMIT)       overall failure, no advance of starting point
  (*PRUNE)        advance to next starting character
  (*SKIP)         advance start to current matching position
  (*THEN)         local failure, backtrack to next alternation
.
.
.SH "NEWLINE CONVENTIONS"
.rs
.sp
These are recognized only at the very start of the pattern or after a
(*BSR_...) or (*UTF8) option.
.sp
  (*CR)           carriage return only
  (*LF)           linefeed only
  (*CRLF)         carriage return followed by linefeed
  (*ANYCRLF)      all three of the above
  (*ANY)          any Unicode newline sequence
.
.
.SH "WHAT \eR MATCHES"
.rs
.sp
These are recognized only at the very start of the pattern or after a
(*...) option that sets the newline convention or UTF-8 mode.
.sp
  (*BSR_ANYCRLF)  CR, LF, or CRLF
  (*BSR_UNICODE)  any Unicode newline sequence
.
.
.SH "CALLOUTS"
.rs
.sp
  (?C)      callout
  (?Cn)     callout with data n
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcrepattern\fP(3), \fBpcreapi\fP(3), \fBpcrecallout\fP(3),
\fBpcrematching\fP(3), \fBpcre\fP(3).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 01 March 2010
Copyright (c) 1997-2010 University of Cambridge.
.fi
share/man/man3/pcrecompat.3000064400000015457150405535530011521 0ustar00.TH PCRECOMPAT 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "DIFFERENCES BETWEEN PCRE AND PERL"
.rs
.sp
This document describes the differences in the ways that PCRE and Perl handle
regular expressions. The differences described here are with respect to Perl
5.10.
.P
1. PCRE has only a subset of Perl's UTF-8 and Unicode support. Details of what
it does have are given in the
.\" HTML <a href="pcre.html#utf8support">
.\" </a>
section on UTF-8 support
.\"
in the main
.\" HREF
\fBpcre\fP
.\"
page.
.P
2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl permits
them, but they do not mean what you might think. For example, (?!a){3} does
not assert that the next three characters are not "a". It just asserts that the
next character is not "a" three times.
.P
3. Capturing subpatterns that occur inside negative lookahead assertions are
counted, but their entries in the offsets vector are never set. Perl sets its
numerical variables from any such patterns that are matched before the
assertion fails to match something (thereby succeeding), but only if the
negative lookahead assertion contains just one branch.
.P
4. Though binary zero characters are supported in the subject string, they are
not allowed in a pattern string because it is passed as a normal C string,
terminated by zero. The escape sequence \e0 can be used in the pattern to
represent a binary zero.
.P
5. The following Perl escape sequences are not supported: \el, \eu, \eL,
\eU, and \eN. In fact these are implemented by Perl's general string-handling
and are not part of its pattern matching engine. If any of these are
encountered by PCRE, an error is generated.
.P
6. The Perl escape sequences \ep, \eP, and \eX are supported only if PCRE is
built with Unicode character property support. The properties that can be
tested with \ep and \eP are limited to the general category properties such as
Lu and Nd, script names such as Greek or Han, and the derived properties Any
and L&. PCRE does support the Cs (surrogate) property, which Perl does not; the
Perl documentation says "Because Perl hides the need for the user to understand
the internal representation of Unicode characters, there is no need to
implement the somewhat messy concept of surrogates."
.P
7. PCRE does support the \eQ...\eE escape for quoting substrings. Characters in
between are treated as literals. This is slightly different from Perl in that $
and @ are also handled as literals inside the quotes. In Perl, they cause
variable interpolation (but of course PCRE does not have variables). Note the
following examples:
.sp
    Pattern            PCRE matches      Perl matches
.sp
.\" JOIN
    \eQabc$xyz\eE        abc$xyz           abc followed by the
                                           contents of $xyz
    \eQabc\e$xyz\eE       abc\e$xyz          abc\e$xyz
    \eQabc\eE\e$\eQxyz\eE   abc$xyz           abc$xyz
.sp
The \eQ...\eE sequence is recognized both inside and outside character classes.
.P
8. Fairly obviously, PCRE does not support the (?{code}) and (??{code})
constructions. However, there is support for recursive patterns. This is not
available in Perl 5.8, but it is in Perl 5.10. Also, the PCRE "callout"
feature allows an external function to be called during pattern matching. See
the
.\" HREF
\fBpcrecallout\fP
.\"
documentation for details.
.P
9. Subpatterns that are called recursively or as "subroutines" are always
treated as atomic groups in PCRE. This is like Python, but unlike Perl. There
is a discussion of an example that explains this in more detail in the
.\" HTML <a href="pcrepattern.html#recursiondifference">
.\" </a>
section on recursion differences from Perl
.\"
in the
.\" HREF
\fBpcrepattern\fP
.\"
page.
.P
10. There are some differences that are concerned with the settings of captured
strings when part of a pattern is repeated. For example, matching "aba" against
the pattern /^(a(b)?)+$/ in Perl leaves $2 unset, but in PCRE it is set to "b".
.P
11. PCRE does support Perl 5.10's backtracking verbs (*ACCEPT), (*FAIL), (*F),
(*COMMIT), (*PRUNE), (*SKIP), and (*THEN), but only in the forms without an
argument. PCRE does not support (*MARK).
.P
12. PCRE's handling of duplicate subpattern numbers and duplicate subpattern
names is not as general as Perl's. This is a consequence of the fact the PCRE
works internally just with numbers, using an external table to translate
between numbers and names. In particular, a pattern such as (?|(?<a>A)|(?<b)B),
where the two capturing parentheses have the same number but different names,
is not supported, and causes an error at compile time. If it were allowed, it
would not be possible to distinguish which parentheses matched, because both
names map to capturing subpattern number 1. To avoid this confusing situation,
an error is given at compile time.
.P
13. PCRE provides some extensions to the Perl regular expression facilities.
Perl 5.10 includes new features that are not in earlier versions of Perl, some
of which (such as named parentheses) have been in PCRE for some time. This list
is with respect to Perl 5.10:
.sp
(a) Although lookbehind assertions in PCRE must match fixed length strings,
each alternative branch of a lookbehind assertion can match a different length
of string. Perl requires them all to have the same length.
.sp
(b) If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $
meta-character matches only at the very end of the string.
.sp
(c) If PCRE_EXTRA is set, a backslash followed by a letter with no special
meaning is faulted. Otherwise, like Perl, the backslash is quietly ignored.
(Perl can be made to issue a warning.)
.sp
(d) If PCRE_UNGREEDY is set, the greediness of the repetition quantifiers is
inverted, that is, by default they are not greedy, but if followed by a
question mark they are.
.sp
(e) PCRE_ANCHORED can be used at matching time to force a pattern to be tried
only at the first matching position in the subject string.
.sp
(f) The PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART, and
PCRE_NO_AUTO_CAPTURE options for \fBpcre_exec()\fP have no Perl equivalents.
.sp
(g) The \eR escape sequence can be restricted to match only CR, LF, or CRLF
by the PCRE_BSR_ANYCRLF option.
.sp
(h) The callout facility is PCRE-specific.
.sp
(i) The partial matching facility is PCRE-specific.
.sp
(j) Patterns compiled by PCRE can be saved and re-used at a later time, even on
different hosts that have the other endianness.
.sp
(k) The alternative matching function (\fBpcre_dfa_exec()\fP) matches in a
different way and is not Perl-compatible.
.sp
(l) PCRE recognizes some special sequences such as (*CR) at the start of
a pattern that set overall options that cannot be changed within the pattern.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 04 October 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcre_free_substring.3000064400000001104150405535530013376 0ustar00.TH PCRE_FREE_SUBSTRING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B void pcre_free_substring(const char *\fIstringptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for freeing the store obtained by a previous
call to \fBpcre_get_substring()\fP or \fBpcre_get_named_substring()\fP. Its
only argument is a pointer to the string.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_compile2.3000064400000005775150405535530012111 0ustar00.TH PCRE_COMPILE2 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B pcre *pcre_compile2(const char *\fIpattern\fP, int \fIoptions\fP,
.ti +5n
.B int *\fIerrorcodeptr\fP,
.ti +5n
.B const char **\fIerrptr\fP, int *\fIerroffset\fP,
.ti +5n
.B const unsigned char *\fItableptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This function compiles a regular expression into an internal form. It is the
same as \fBpcre_compile()\fP, except for the addition of the \fIerrorcodeptr\fP
argument. The arguments are:

.sp
  \fIpattern\fR       A zero-terminated string containing the
                  regular expression to be compiled
  \fIoptions\fR       Zero or more option bits
  \fIerrorcodeptr\fP  Where to put an error code
  \fIerrptr\fR        Where to put an error message
  \fIerroffset\fR     Offset in pattern where error was found
  \fItableptr\fR      Pointer to character tables, or NULL to
                  use the built-in default
.sp
The option bits are:
.sp
  PCRE_ANCHORED           Force pattern anchoring
  PCRE_AUTO_CALLOUT       Compile automatic callouts
  PCRE_BSR_ANYCRLF        \eR matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE        \eR matches all Unicode line endings
  PCRE_CASELESS           Do caseless matching
  PCRE_DOLLAR_ENDONLY     $ not to match newline at end
  PCRE_DOTALL             . matches anything including NL
  PCRE_DUPNAMES           Allow duplicate names for subpatterns
  PCRE_EXTENDED           Ignore whitespace and # comments
  PCRE_EXTRA              PCRE extra features
                            (not much use currently)
  PCRE_FIRSTLINE          Force matching to be before newline
  PCRE_JAVASCRIPT_COMPAT  JavaScript compatibility
  PCRE_MULTILINE          ^ and $ match newlines within data
  PCRE_NEWLINE_ANY        Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF    Recognize CR, LF, and CRLF as newline
                            sequences
  PCRE_NEWLINE_CR         Set CR as the newline sequence
  PCRE_NEWLINE_CRLF       Set CRLF as the newline sequence
  PCRE_NEWLINE_LF         Set LF as the newline sequence
  PCRE_NO_AUTO_CAPTURE    Disable numbered capturing paren-
                            theses (named ones available)
  PCRE_NO_UTF8_CHECK      Do not check the pattern for UTF-8
                            validity (only relevant if
                            PCRE_UTF8 is set)
  PCRE_UNGREEDY           Invert greediness of quantifiers
  PCRE_UTF8               Run in UTF-8 mode
.sp
PCRE must be built with UTF-8 support in order to use PCRE_UTF8 and
PCRE_NO_UTF8_CHECK.
.P
The yield of the function is a pointer to a private data structure that
contains the compiled pattern, or NULL if an error was detected. Note that
compiling regular expressions with one version of PCRE for use with a different
version is not guaranteed to work and may cause crashes.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fR
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fR
.\"
page.
share/man/man3/pcre_dfa_exec.3000064400000007551150405535530012127 0ustar00.TH PCRE_DFA_EXEC 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_dfa_exec(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B "const char *\fIsubject\fP," int \fIlength\fP, int \fIstartoffset\fP,
.ti +5n
.B int \fIoptions\fP, int *\fIovector\fP, int \fIovecsize\fP,
.ti +5n
.B int *\fIworkspace\fP, int \fIwscount\fP);
.
.SH DESCRIPTION
.rs
.sp
This function matches a compiled regular expression against a given subject
string, using an alternative matching algorithm that scans the subject string
just once (\fInot\fP Perl-compatible). Note that the main, Perl-compatible,
matching function is \fBpcre_exec()\fP. The arguments for this function are:
.sp
  \fIcode\fP         Points to the compiled pattern
  \fIextra\fP        Points to an associated \fBpcre_extra\fP structure,
                 or is NULL
  \fIsubject\fP      Points to the subject string
  \fIlength\fP       Length of the subject string, in bytes
  \fIstartoffset\fP  Offset in bytes in the subject at which to
                 start matching
  \fIoptions\fP      Option bits
  \fIovector\fP      Points to a vector of ints for result offsets
  \fIovecsize\fP     Number of elements in the vector
  \fIworkspace\fP    Points to a vector of ints used as working space
  \fIwscount\fP      Number of elements in the vector
.sp
The options are:
.sp
  PCRE_ANCHORED          Match only at the first position
  PCRE_BSR_ANYCRLF       \eR matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE       \eR matches all Unicode line endings
  PCRE_NEWLINE_ANY       Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF   Recognize CR, LF, & CRLF as newline sequences
  PCRE_NEWLINE_CR        Recognize CR as the only newline sequence
  PCRE_NEWLINE_CRLF      Recognize CRLF as the only newline sequence
  PCRE_NEWLINE_LF        Recognize LF as the only newline sequence
  PCRE_NOTBOL            Subject is not the beginning of a line
  PCRE_NOTEOL            Subject is not the end of a line
  PCRE_NOTEMPTY          An empty string is not a valid match
  PCRE_NOTEMPTY_ATSTART  An empty string at the start of the subject
                           is not a valid match
  PCRE_NO_START_OPTIMIZE Do not do "start-match" optimizations
  PCRE_NO_UTF8_CHECK     Do not check the subject for UTF-8
                           validity (only relevant if PCRE_UTF8
                           was set at compile time)
  PCRE_PARTIAL           ) Return PCRE_ERROR_PARTIAL for a partial
  PCRE_PARTIAL_SOFT      )   match if no full matches are found
  PCRE_PARTIAL_HARD      Return PCRE_ERROR_PARTIAL for a partial match
                           even if there is a full match as well
  PCRE_DFA_SHORTEST      Return only the shortest match
  PCRE_DFA_RESTART       Restart after a partial match
.sp
There are restrictions on what may appear in a pattern when using this matching
function. Details are given in the
.\" HREF
\fBpcrematching\fP
.\"
documentation. For details of partial matching, see the
.\" HREF
\fBpcrepartial\fP
.\"
page.
.P
A \fBpcre_extra\fP structure contains the following fields:
.sp
  \fIflags\fP        Bits indicating which fields are set
  \fIstudy_data\fP   Opaque data from \fBpcre_study()\fP
  \fImatch_limit\fP  Limit on internal resource use
  \fImatch_limit_recursion\fP  Limit on internal recursion depth
  \fIcallout_data\fP Opaque data passed back to callouts
  \fItables\fP       Points to character tables or is NULL
.sp
The flag bits are PCRE_EXTRA_STUDY_DATA, PCRE_EXTRA_MATCH_LIMIT,
PCRE_EXTRA_MATCH_LIMIT_RECURSION, PCRE_EXTRA_CALLOUT_DATA, and
PCRE_EXTRA_TABLES. For this matching function, the \fImatch_limit\fP and
\fImatch_limit_recursion\fP fields are not used, and must not be set.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_get_stringnumber.3000064400000001733150405535530013743 0ustar00.TH PCRE_GET_STRINGNUMBER 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_get_stringnumber(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIname\fP);
.
.SH DESCRIPTION
.rs
.sp
This convenience function finds the number of a named substring capturing
parenthesis in a compiled pattern. Its arguments are:
.sp
  \fIcode\fP    Compiled regular expression
  \fIname\fP    Name whose number is required
.sp
The yield of the function is the number of the parenthesis if the name is
found, or PCRE_ERROR_NOSUBSTRING otherwise. When duplicate names are allowed
(PCRE_DUPNAMES is set), it is not defined which of the numbers is returned by
\fBpcre_get_stringnumber()\fP. You can obtain the complete list by calling
\fBpcre_get_stringtable_entries()\fP.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcrecallout.3000064400000016751150405535530011677 0ustar00.TH PCRECALLOUT 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE CALLOUTS"
.rs
.sp
.B int (*pcre_callout)(pcre_callout_block *);
.PP
PCRE provides a feature called "callout", which is a means of temporarily
passing control to the caller of PCRE in the middle of pattern matching. The
caller of PCRE provides an external function by putting its entry point in the
global variable \fIpcre_callout\fP. By default, this variable contains NULL,
which disables all calling out.
.P
Within a regular expression, (?C) indicates the points at which the external
function is to be called. Different callout points can be identified by putting
a number less than 256 after the letter C. The default value is zero.
For example, this pattern has two callout points:
.sp
  (?C1)abc(?C2)def
.sp
If the PCRE_AUTO_CALLOUT option bit is set when \fBpcre_compile()\fP or
\fBpcre_compile2()\fP is called, PCRE automatically inserts callouts, all with
number 255, before each item in the pattern. For example, if PCRE_AUTO_CALLOUT
is used with the pattern
.sp
  A(\ed{2}|--)
.sp
it is processed as if it were
.sp
(?C255)A(?C255)((?C255)\ed{2}(?C255)|(?C255)-(?C255)-(?C255))(?C255)
.sp
Notice that there is a callout before and after each parenthesis and
alternation bar. Automatic callouts can be used for tracking the progress of
pattern matching. The
.\" HREF
\fBpcretest\fP
.\"
command has an option that sets automatic callouts; when it is used, the output
indicates how the pattern is matched. This is useful information when you are
trying to optimize the performance of a particular pattern.
.
.
.SH "MISSING CALLOUTS"
.rs
.sp
You should be aware that, because of optimizations in the way PCRE matches
patterns by default, callouts sometimes do not happen. For example, if the
pattern is
.sp
  ab(?C4)cd
.sp
PCRE knows that any matching string must contain the letter "d". If the subject
string is "abyz", the lack of "d" means that matching doesn't ever start, and
the callout is never reached. However, with "abyd", though the result is still
no match, the callout is obeyed.
.P
If the pattern is studied, PCRE knows the minimum length of a matching string,
and will immediately give a "no match" return without actually running a match
if the subject is not long enough, or, for unanchored patterns, if it has
been scanned far enough.
.P
You can disable these optimizations by passing the PCRE_NO_START_OPTIMIZE
option to \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP. This slows down the
matching process, but does ensure that callouts such as the example above are
obeyed.
.
.
.SH "THE CALLOUT INTERFACE"
.rs
.sp
During matching, when PCRE reaches a callout point, the external function
defined by \fIpcre_callout\fP is called (if it is set). This applies to both
the \fBpcre_exec()\fP and the \fBpcre_dfa_exec()\fP matching functions. The
only argument to the callout function is a pointer to a \fBpcre_callout\fP
block. This structure contains the following fields:
.sp
  int          \fIversion\fP;
  int          \fIcallout_number\fP;
  int         *\fIoffset_vector\fP;
  const char  *\fIsubject\fP;
  int          \fIsubject_length\fP;
  int          \fIstart_match\fP;
  int          \fIcurrent_position\fP;
  int          \fIcapture_top\fP;
  int          \fIcapture_last\fP;
  void        *\fIcallout_data\fP;
  int          \fIpattern_position\fP;
  int          \fInext_item_length\fP;
.sp
The \fIversion\fP field is an integer containing the version number of the
block format. The initial version was 0; the current version is 1. The version
number will change again in future if additional fields are added, but the
intention is never to remove any of the existing fields.
.P
The \fIcallout_number\fP field contains the number of the callout, as compiled
into the pattern (that is, the number after ?C for manual callouts, and 255 for
automatically generated callouts).
.P
The \fIoffset_vector\fP field is a pointer to the vector of offsets that was
passed by the caller to \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP. When
\fBpcre_exec()\fP is used, the contents can be inspected in order to extract
substrings that have been matched so far, in the same way as for extracting
substrings after a match has completed. For \fBpcre_dfa_exec()\fP this field is
not useful.
.P
The \fIsubject\fP and \fIsubject_length\fP fields contain copies of the values
that were passed to \fBpcre_exec()\fP.
.P
The \fIstart_match\fP field normally contains the offset within the subject at
which the current match attempt started. However, if the escape sequence \eK
has been encountered, this value is changed to reflect the modified starting
point. If the pattern is not anchored, the callout function may be called
several times from the same point in the pattern for different starting points
in the subject.
.P
The \fIcurrent_position\fP field contains the offset within the subject of the
current match pointer.
.P
When the \fBpcre_exec()\fP function is used, the \fIcapture_top\fP field
contains one more than the number of the highest numbered captured substring so
far. If no substrings have been captured, the value of \fIcapture_top\fP is
one. This is always the case when \fBpcre_dfa_exec()\fP is used, because it
does not support captured substrings.
.P
The \fIcapture_last\fP field contains the number of the most recently captured
substring. If no substrings have been captured, its value is -1. This is always
the case when \fBpcre_dfa_exec()\fP is used.
.P
The \fIcallout_data\fP field contains a value that is passed to
\fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP specifically so that it can be
passed back in callouts. It is passed in the \fIpcre_callout\fP field of the
\fBpcre_extra\fP data structure. If no such data was passed, the value of
\fIcallout_data\fP in a \fBpcre_callout\fP block is NULL. There is a
description of the \fBpcre_extra\fP structure in the
.\" HREF
\fBpcreapi\fP
.\"
documentation.
.P
The \fIpattern_position\fP field is present from version 1 of the
\fIpcre_callout\fP structure. It contains the offset to the next item to be
matched in the pattern string.
.P
The \fInext_item_length\fP field is present from version 1 of the
\fIpcre_callout\fP structure. It contains the length of the next item to be
matched in the pattern string. When the callout immediately precedes an
alternation bar, a closing parenthesis, or the end of the pattern, the length
is zero. When the callout precedes an opening parenthesis, the length is that
of the entire subpattern.
.P
The \fIpattern_position\fP and \fInext_item_length\fP fields are intended to
help in distinguishing between different automatic callouts, which all have the
same callout number. However, they are set for all callouts.
.
.
.SH "RETURN VALUES"
.rs
.sp
The external callout function returns an integer to PCRE. If the value is zero,
matching proceeds as normal. If the value is greater than zero, matching fails
at the current point, but the testing of other matching possibilities goes
ahead, just as if a lookahead assertion had failed. If the value is less than
zero, the match is abandoned, and \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP
returns the negative value.
.P
Negative values should normally be chosen from the set of PCRE_ERROR_xxx
values. In particular, PCRE_ERROR_NOMATCH forces a standard "no match" failure.
The error number PCRE_ERROR_CALLOUT is reserved for use by callout functions;
it will never be used by PCRE itself.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 29 September 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcre_get_named_substring.3000064400000002533150405535530014407 0ustar00.TH PCRE_GET_NAMED_SUBSTRING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_get_named_substring(const pcre *\fIcode\fP,
.ti +5n
.B const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, const char *\fIstringname\fP,
.ti +5n
.B const char **\fIstringptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for extracting a captured substring by name. The
arguments are:
.sp
  \fIcode\fP          Compiled pattern
  \fIsubject\fP       Subject that has been successfully matched
  \fIovector\fP       Offset vector that \fBpcre_exec()\fP used
  \fIstringcount\fP   Value returned by \fBpcre_exec()\fP
  \fIstringname\fP    Name of the required substring
  \fIstringptr\fP     Where to put the string pointer
.sp
The memory in which the substring is placed is obtained by calling
\fBpcre_malloc()\fP. The convenience function \fBpcre_free_substring()\fP can
be used to free it when it is no longer needed. The yield of the function is
the length of the extracted substring, PCRE_ERROR_NOMEMORY if sufficient memory
could not be obtained, or PCRE_ERROR_NOSUBSTRING if the string name is invalid.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcreprecompile.3000064400000012522150405535530012363 0ustar00.TH PCREPRECOMPILE 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "SAVING AND RE-USING PRECOMPILED PCRE PATTERNS"
.rs
.sp
If you are running an application that uses a large number of regular
expression patterns, it may be useful to store them in a precompiled form
instead of having to compile them every time the application is run.
If you are not using any private character tables (see the
.\" HREF
\fBpcre_maketables()\fP
.\"
documentation), this is relatively straightforward. If you are using private
tables, it is a little bit more complicated.
.P
If you save compiled patterns to a file, you can copy them to a different host
and run them there. This works even if the new host has the opposite endianness
to the one on which the patterns were compiled. There may be a small
performance penalty, but it should be insignificant. However, compiling regular
expressions with one version of PCRE for use with a different version is not
guaranteed to work and may cause crashes.
.
.
.SH "SAVING A COMPILED PATTERN"
.rs
.sh
The value returned by \fBpcre_compile()\fP points to a single block of memory
that holds the compiled pattern and associated data. You can find the length of
this block in bytes by calling \fBpcre_fullinfo()\fP with an argument of
PCRE_INFO_SIZE. You can then save the data in any appropriate manner. Here is
sample code that compiles a pattern and writes it to a file. It assumes that
the variable \fIfd\fP refers to a file that is open for output:
.sp
  int erroroffset, rc, size;
  char *error;
  pcre *re;
.sp
  re = pcre_compile("my pattern", 0, &error, &erroroffset, NULL);
  if (re == NULL) { ... handle errors ... }
  rc = pcre_fullinfo(re, NULL, PCRE_INFO_SIZE, &size);
  if (rc < 0) { ... handle errors ... }
  rc = fwrite(re, 1, size, fd);
  if (rc != size) { ... handle errors ... }
.sp
In this example, the bytes that comprise the compiled pattern are copied
exactly. Note that this is binary data that may contain any of the 256 possible
byte values. On systems that make a distinction between binary and non-binary
data, be sure that the file is opened for binary output.
.P
If you want to write more than one pattern to a file, you will have to devise a
way of separating them. For binary data, preceding each pattern with its length
is probably the most straightforward approach. Another possibility is to write
out the data in hexadecimal instead of binary, one pattern to a line.
.P
Saving compiled patterns in a file is only one possible way of storing them for
later use. They could equally well be saved in a database, or in the memory of
some daemon process that passes them via sockets to the processes that want
them.
.P
If the pattern has been studied, it is also possible to save the study data in
a similar way to the compiled pattern itself. When studying generates
additional information, \fBpcre_study()\fP returns a pointer to a
\fBpcre_extra\fP data block. Its format is defined in the
.\" HTML <a href="pcreapi.html#extradata">
.\" </a>
section on matching a pattern
.\"
in the
.\" HREF
\fBpcreapi\fP
.\"
documentation. The \fIstudy_data\fP field points to the binary study data, and
this is what you must save (not the \fBpcre_extra\fP block itself). The length
of the study data can be obtained by calling \fBpcre_fullinfo()\fP with an
argument of PCRE_INFO_STUDYSIZE. Remember to check that \fBpcre_study()\fP did
return a non-NULL value before trying to save the study data.
.
.
.SH "RE-USING A PRECOMPILED PATTERN"
.rs
.sp
Re-using a precompiled pattern is straightforward. Having reloaded it into main
memory, you pass its pointer to \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP in
the usual way. This should work even on another host, and even if that host has
the opposite endianness to the one where the pattern was compiled.
.P
However, if you passed a pointer to custom character tables when the pattern
was compiled (the \fItableptr\fP argument of \fBpcre_compile()\fP), you must
now pass a similar pointer to \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP,
because the value saved with the compiled pattern will obviously be nonsense. A
field in a \fBpcre_extra()\fP block is used to pass this data, as described in
the
.\" HTML <a href="pcreapi.html#extradata">
.\" </a>
section on matching a pattern
.\"
in the
.\" HREF
\fBpcreapi\fP
.\"
documentation.
.P
If you did not provide custom character tables when the pattern was compiled,
the pointer in the compiled pattern is NULL, which causes \fBpcre_exec()\fP to
use PCRE's internal tables. Thus, you do not need to take any special action at
run time in this case.
.P
If you saved study data with the compiled pattern, you need to create your own
\fBpcre_extra\fP data block and set the \fIstudy_data\fP field to point to the
reloaded study data. You must also set the PCRE_EXTRA_STUDY_DATA bit in the
\fIflags\fP field to indicate that study data is present. Then pass the
\fBpcre_extra\fP block to \fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP in the
usual way.
.
.
.SH "COMPATIBILITY WITH DIFFERENT PCRE RELEASES"
.rs
.sp
In general, it is safest to recompile all saved patterns when you update to a
new PCRE release, though not all updates actually require this. Recompiling is
definitely needed for release 7.2.
.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 13 June 2007
Copyright (c) 1997-2007 University of Cambridge.
.fi
share/man/man3/pcre_version.3000064400000000726150405535530012053 0ustar00.TH PCRE_VERSION 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B char *pcre_version(void);
.
.SH DESCRIPTION
.rs
.sp
This function returns a character string that gives the version number of the
PCRE library and the date of its release.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcreposix.3000064400000024100150405535530011361 0ustar00.TH PCREPOSIX 3
.SH NAME
PCRE - Perl-compatible regular expressions.
.SH "SYNOPSIS OF POSIX API"
.rs
.sp
.B #include <pcreposix.h>
.PP
.SM
.B int regcomp(regex_t *\fIpreg\fP, const char *\fIpattern\fP,
.ti +5n
.B int \fIcflags\fP);
.PP
.B int regexec(regex_t *\fIpreg\fP, const char *\fIstring\fP,
.ti +5n
.B size_t \fInmatch\fP, regmatch_t \fIpmatch\fP[], int \fIeflags\fP);
.PP
.B size_t regerror(int \fIerrcode\fP, const regex_t *\fIpreg\fP,
.ti +5n
.B char *\fIerrbuf\fP, size_t \fIerrbuf_size\fP);
.PP
.B void regfree(regex_t *\fIpreg\fP);
.
.SH DESCRIPTION
.rs
.sp
This set of functions provides a POSIX-style API to the PCRE regular expression
package. See the
.\" HREF
\fBpcreapi\fP
.\"
documentation for a description of PCRE's native API, which contains much
additional functionality.
.P
The functions described here are just wrapper functions that ultimately call
the PCRE native API. Their prototypes are defined in the \fBpcreposix.h\fP
header file, and on Unix systems the library itself is called
\fBpcreposix.a\fP, so can be accessed by adding \fB-lpcreposix\fP to the
command for linking an application that uses them. Because the POSIX functions
call the native ones, it is also necessary to add \fB-lpcre\fP.
.P
I have implemented only those POSIX option bits that can be reasonably mapped
to PCRE native options. In addition, the option REG_EXTENDED is defined with
the value zero. This has no effect, but since programs that are written to the
POSIX interface often use it, this makes it easier to slot in PCRE as a
replacement library. Other POSIX options are not even defined.
.P
There are also some other options that are not defined by POSIX. These have
been added at the request of users who want to make use of certain
PCRE-specific features via the POSIX calling interface.
.P
When PCRE is called via these functions, it is only the API that is POSIX-like
in style. The syntax and semantics of the regular expressions themselves are
still those of Perl, subject to the setting of various PCRE options, as
described below. "POSIX-like in style" means that the API approximates to the
POSIX definition; it is not fully POSIX-compatible, and in multi-byte encoding
domains it is probably even less compatible.
.P
The header for these functions is supplied as \fBpcreposix.h\fP to avoid any
potential clash with other POSIX libraries. It can, of course, be renamed or
aliased as \fBregex.h\fP, which is the "correct" name. It provides two
structure types, \fIregex_t\fP for compiled internal forms, and
\fIregmatch_t\fP for returning captured substrings. It also defines some
constants whose names start with "REG_"; these are used for setting options and
identifying error codes.
.P
.SH "COMPILING A PATTERN"
.rs
.sp
The function \fBregcomp()\fP is called to compile a pattern into an
internal form. The pattern is a C string terminated by a binary zero, and
is passed in the argument \fIpattern\fP. The \fIpreg\fP argument is a pointer
to a \fBregex_t\fP structure that is used as a base for storing information
about the compiled regular expression.
.P
The argument \fIcflags\fP is either zero, or contains one or more of the bits
defined by the following macros:
.sp
  REG_DOTALL
.sp
The PCRE_DOTALL option is set when the regular expression is passed for
compilation to the native function. Note that REG_DOTALL is not part of the
POSIX standard.
.sp
  REG_ICASE
.sp
The PCRE_CASELESS option is set when the regular expression is passed for
compilation to the native function.
.sp
  REG_NEWLINE
.sp
The PCRE_MULTILINE option is set when the regular expression is passed for
compilation to the native function. Note that this does \fInot\fP mimic the
defined POSIX behaviour for REG_NEWLINE (see the following section).
.sp
  REG_NOSUB
.sp
The PCRE_NO_AUTO_CAPTURE option is set when the regular expression is passed
for compilation to the native function. In addition, when a pattern that is
compiled with this flag is passed to \fBregexec()\fP for matching, the
\fInmatch\fP and \fIpmatch\fP arguments are ignored, and no captured strings
are returned.
.sp
  REG_UNGREEDY
.sp
The PCRE_UNGREEDY option is set when the regular expression is passed for
compilation to the native function. Note that REG_UNGREEDY is not part of the
POSIX standard.
.sp
  REG_UTF8
.sp
The PCRE_UTF8 option is set when the regular expression is passed for
compilation to the native function. This causes the pattern itself and all data
strings used for matching it to be treated as UTF-8 strings. Note that REG_UTF8
is not part of the POSIX standard.
.P
In the absence of these flags, no options are passed to the native function.
This means the the regex is compiled with PCRE default semantics. In
particular, the way it handles newline characters in the subject string is the
Perl way, not the POSIX way. Note that setting PCRE_MULTILINE has only
\fIsome\fP of the effects specified for REG_NEWLINE. It does not affect the way
newlines are matched by . (they are not) or by a negative class such as [^a]
(they are).
.P
The yield of \fBregcomp()\fP is zero on success, and non-zero otherwise. The
\fIpreg\fP structure is filled in on success, and one member of the structure
is public: \fIre_nsub\fP contains the number of capturing subpatterns in
the regular expression. Various error codes are defined in the header file.
.P
NOTE: If the yield of \fBregcomp()\fP is non-zero, you must not attempt to
use the contents of the \fIpreg\fP structure. If, for example, you pass it to
\fBregexec()\fP, the result is undefined and your program is likely to crash.
.
.
.SH "MATCHING NEWLINE CHARACTERS"
.rs
.sp
This area is not simple, because POSIX and Perl take different views of things.
It is not possible to get PCRE to obey POSIX semantics, but then PCRE was never
intended to be a POSIX engine. The following table lists the different
possibilities for matching newline characters in PCRE:
.sp
                          Default   Change with
.sp
  . matches newline          no     PCRE_DOTALL
  newline matches [^a]       yes    not changeable
  $ matches \en at end        yes    PCRE_DOLLARENDONLY
  $ matches \en in middle     no     PCRE_MULTILINE
  ^ matches \en in middle     no     PCRE_MULTILINE
.sp
This is the equivalent table for POSIX:
.sp
                          Default   Change with
.sp
  . matches newline          yes    REG_NEWLINE
  newline matches [^a]       yes    REG_NEWLINE
  $ matches \en at end        no     REG_NEWLINE
  $ matches \en in middle     no     REG_NEWLINE
  ^ matches \en in middle     no     REG_NEWLINE
.sp
PCRE's behaviour is the same as Perl's, except that there is no equivalent for
PCRE_DOLLAR_ENDONLY in Perl. In both PCRE and Perl, there is no way to stop
newline from matching [^a].
.P
The default POSIX newline handling can be obtained by setting PCRE_DOTALL and
PCRE_DOLLAR_ENDONLY, but there is no way to make PCRE behave exactly as for the
REG_NEWLINE action.
.
.
.SH "MATCHING A PATTERN"
.rs
.sp
The function \fBregexec()\fP is called to match a compiled pattern \fIpreg\fP
against a given \fIstring\fP, which is by default terminated by a zero byte
(but see REG_STARTEND below), subject to the options in \fIeflags\fP. These can
be:
.sp
  REG_NOTBOL
.sp
The PCRE_NOTBOL option is set when calling the underlying PCRE matching
function.
.sp
  REG_NOTEMPTY
.sp
The PCRE_NOTEMPTY option is set when calling the underlying PCRE matching
function. Note that REG_NOTEMPTY is not part of the POSIX standard. However,
setting this option can give more POSIX-like behaviour in some situations.
.sp
  REG_NOTEOL
.sp
The PCRE_NOTEOL option is set when calling the underlying PCRE matching
function.
.sp
  REG_STARTEND
.sp
The string is considered to start at \fIstring\fP + \fIpmatch[0].rm_so\fP and
to have a terminating NUL located at \fIstring\fP + \fIpmatch[0].rm_eo\fP
(there need not actually be a NUL at that location), regardless of the value of
\fInmatch\fP. This is a BSD extension, compatible with but not specified by
IEEE Standard 1003.2 (POSIX.2), and should be used with caution in software
intended to be portable to other systems. Note that a non-zero \fIrm_so\fP does
not imply REG_NOTBOL; REG_STARTEND affects only the location of the string, not
how it is matched.
.P
If the pattern was compiled with the REG_NOSUB flag, no data about any matched
strings is returned. The \fInmatch\fP and \fIpmatch\fP arguments of
\fBregexec()\fP are ignored.
.P
If the value of \fInmatch\fP is zero, or if the value \fIpmatch\fP is NULL,
no data about any matched strings is returned.
.P
Otherwise,the portion of the string that was matched, and also any captured
substrings, are returned via the \fIpmatch\fP argument, which points to an
array of \fInmatch\fP structures of type \fIregmatch_t\fP, containing the
members \fIrm_so\fP and \fIrm_eo\fP. These contain the offset to the first
character of each substring and the offset to the first character after the end
of each substring, respectively. The 0th element of the vector relates to the
entire portion of \fIstring\fP that was matched; subsequent elements relate to
the capturing subpatterns of the regular expression. Unused entries in the
array have both structure members set to -1.
.P
A successful match yields a zero return; various error codes are defined in the
header file, of which REG_NOMATCH is the "expected" failure code.
.
.
.SH "ERROR MESSAGES"
.rs
.sp
The \fBregerror()\fP function maps a non-zero errorcode from either
\fBregcomp()\fP or \fBregexec()\fP to a printable message. If \fIpreg\fP is not
NULL, the error should have arisen from the use of that structure. A message
terminated by a binary zero is placed in \fIerrbuf\fP. The length of the
message, including the zero, is limited to \fIerrbuf_size\fP. The yield of the
function is the size of buffer needed to hold the whole message.
.
.
.SH MEMORY USAGE
.rs
.sp
Compiling a regular expression causes memory to be allocated and associated
with the \fIpreg\fP structure. The function \fBregfree()\fP frees all such
memory, after which \fIpreg\fP may no longer be used as a compiled expression.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 02 September 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcrecpp.3000064400000030410150405535530011002 0ustar00.TH PCRECPP 3
.SH NAME
PCRE - Perl-compatible regular expressions.
.SH "SYNOPSIS OF C++ WRAPPER"
.rs
.sp
.B #include <pcrecpp.h>
.
.SH DESCRIPTION
.rs
.sp
The C++ wrapper for PCRE was provided by Google Inc. Some additional
functionality was added by Giuseppe Maxia. This brief man page was constructed
from the notes in the \fIpcrecpp.h\fP file, which should be consulted for
further details.
.
.
.SH "MATCHING INTERFACE"
.rs
.sp
The "FullMatch" operation checks that supplied text matches a supplied pattern
exactly. If pointer arguments are supplied, it copies matched sub-strings that
match sub-patterns into them.
.sp
  Example: successful match
     pcrecpp::RE re("h.*o");
     re.FullMatch("hello");
.sp
  Example: unsuccessful match (requires full match):
     pcrecpp::RE re("e");
     !re.FullMatch("hello");
.sp
  Example: creating a temporary RE object:
     pcrecpp::RE("h.*o").FullMatch("hello");
.sp
You can pass in a "const char*" or a "string" for "text". The examples below
tend to use a const char*. You can, as in the different examples above, store
the RE object explicitly in a variable or use a temporary RE object. The
examples below use one mode or the other arbitrarily. Either could correctly be
used for any of these examples.
.P
You must supply extra pointer arguments to extract matched subpieces.
.sp
  Example: extracts "ruby" into "s" and 1234 into "i"
     int i;
     string s;
     pcrecpp::RE re("(\e\ew+):(\e\ed+)");
     re.FullMatch("ruby:1234", &s, &i);
.sp
  Example: does not try to extract any extra sub-patterns
     re.FullMatch("ruby:1234", &s);
.sp
  Example: does not try to extract into NULL
     re.FullMatch("ruby:1234", NULL, &i);
.sp
  Example: integer overflow causes failure
     !re.FullMatch("ruby:1234567891234", NULL, &i);
.sp
  Example: fails because there aren't enough sub-patterns:
     !pcrecpp::RE("\e\ew+:\e\ed+").FullMatch("ruby:1234", &s);
.sp
  Example: fails because string cannot be stored in integer
     !pcrecpp::RE("(.*)").FullMatch("ruby", &i);
.sp
The provided pointer arguments can be pointers to any scalar numeric
type, or one of:
.sp
   string        (matched piece is copied to string)
   StringPiece   (StringPiece is mutated to point to matched piece)
   T             (where "bool T::ParseFrom(const char*, int)" exists)
   NULL          (the corresponding matched sub-pattern is not copied)
.sp
The function returns true iff all of the following conditions are satisfied:
.sp
  a. "text" matches "pattern" exactly;
.sp
  b. The number of matched sub-patterns is >= number of supplied
     pointers;
.sp
  c. The "i"th argument has a suitable type for holding the
     string captured as the "i"th sub-pattern. If you pass in
     void * NULL for the "i"th argument, or a non-void * NULL
     of the correct type, or pass fewer arguments than the
     number of sub-patterns, "i"th captured sub-pattern is
     ignored.
.sp
CAVEAT: An optional sub-pattern that does not exist in the matched
string is assigned the empty string. Therefore, the following will
return false (because the empty string is not a valid number):
.sp
   int number;
   pcrecpp::RE::FullMatch("abc", "[a-z]+(\e\ed+)?", &number);
.sp
The matching interface supports at most 16 arguments per call.
If you need more, consider using the more general interface
\fBpcrecpp::RE::DoMatch\fP. See \fBpcrecpp.h\fP for the signature for
\fBDoMatch\fP.
.P
NOTE: Do not use \fBno_arg\fP, which is used internally to mark the end of a
list of optional arguments, as a placeholder for missing arguments, as this can
lead to segfaults.
.
.
.SH "QUOTING METACHARACTERS"
.rs
.sp
You can use the "QuoteMeta" operation to insert backslashes before all
potentially meaningful characters in a string. The returned string, used as a
regular expression, will exactly match the original string.
.sp
  Example:
     string quoted = RE::QuoteMeta(unquoted);
.sp
Note that it's legal to escape a character even if it has no special meaning in
a regular expression -- so this function does that. (This also makes it
identical to the perl function of the same name; see "perldoc -f quotemeta".)
For example, "1.5-2.0?" becomes "1\e.5\e-2\e.0\e?".
.
.SH "PARTIAL MATCHES"
.rs
.sp
You can use the "PartialMatch" operation when you want the pattern
to match any substring of the text.
.sp
  Example: simple search for a string:
     pcrecpp::RE("ell").PartialMatch("hello");
.sp
  Example: find first number in a string:
     int number;
     pcrecpp::RE re("(\e\ed+)");
     re.PartialMatch("x*100 + 20", &number);
     assert(number == 100);
.
.
.SH "UTF-8 AND THE MATCHING INTERFACE"
.rs
.sp
By default, pattern and text are plain text, one byte per character. The UTF8
flag, passed to the constructor, causes both pattern and string to be treated
as UTF-8 text, still a byte stream but potentially multiple bytes per
character. In practice, the text is likelier to be UTF-8 than the pattern, but
the match returned may depend on the UTF8 flag, so always use it when matching
UTF8 text. For example, "." will match one byte normally but with UTF8 set may
match up to three bytes of a multi-byte character.
.sp
  Example:
     pcrecpp::RE_Options options;
     options.set_utf8();
     pcrecpp::RE re(utf8_pattern, options);
     re.FullMatch(utf8_string);
.sp
  Example: using the convenience function UTF8():
     pcrecpp::RE re(utf8_pattern, pcrecpp::UTF8());
     re.FullMatch(utf8_string);
.sp
NOTE: The UTF8 flag is ignored if pcre was not configured with the
      --enable-utf8 flag.
.
.
.SH "PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE"
.rs
.sp
PCRE defines some modifiers to change the behavior of the regular expression
engine. The C++ wrapper defines an auxiliary class, RE_Options, as a vehicle to
pass such modifiers to a RE class. Currently, the following modifiers are
supported:
.sp
   modifier              description               Perl corresponding
.sp
   PCRE_CASELESS         case insensitive match      /i
   PCRE_MULTILINE        multiple lines match        /m
   PCRE_DOTALL           dot matches newlines        /s
   PCRE_DOLLAR_ENDONLY   $ matches only at end       N/A
   PCRE_EXTRA            strict escape parsing       N/A
   PCRE_EXTENDED         ignore whitespaces          /x
   PCRE_UTF8             handles UTF8 chars          built-in
   PCRE_UNGREEDY         reverses * and *?           N/A
   PCRE_NO_AUTO_CAPTURE  disables capturing parens   N/A (*)
.sp
(*) Both Perl and PCRE allow non capturing parentheses by means of the
"?:" modifier within the pattern itself. e.g. (?:ab|cd) does not
capture, while (ab|cd) does.
.P
For a full account on how each modifier works, please check the
PCRE API reference page.
.P
For each modifier, there are two member functions whose name is made
out of the modifier in lowercase, without the "PCRE_" prefix. For
instance, PCRE_CASELESS is handled by
.sp
  bool caseless()
.sp
which returns true if the modifier is set, and
.sp
  RE_Options & set_caseless(bool)
.sp
which sets or unsets the modifier. Moreover, PCRE_EXTRA_MATCH_LIMIT can be
accessed through the \fBset_match_limit()\fR and \fBmatch_limit()\fR member
functions. Setting \fImatch_limit\fR to a non-zero value will limit the
execution of pcre to keep it from doing bad things like blowing the stack or
taking an eternity to return a result. A value of 5000 is good enough to stop
stack blowup in a 2MB thread stack. Setting \fImatch_limit\fR to zero disables
match limiting. Alternatively, you can call \fBmatch_limit_recursion()\fP
which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much PCRE
recurses. \fBmatch_limit()\fP limits the number of matches PCRE does;
\fBmatch_limit_recursion()\fP limits the depth of internal recursion, and
therefore the amount of stack that is used.
.P
Normally, to pass one or more modifiers to a RE class, you declare
a \fIRE_Options\fR object, set the appropriate options, and pass this
object to a RE constructor. Example:
.sp
   RE_options opt;
   opt.set_caseless(true);
   if (RE("HELLO", opt).PartialMatch("hello world")) ...
.sp
RE_options has two constructors. The default constructor takes no arguments and
creates a set of flags that are off by default. The optional parameter
\fIoption_flags\fR is to facilitate transfer of legacy code from C programs.
This lets you do
.sp
   RE(pattern,
     RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
.sp
However, new code is better off doing
.sp
   RE(pattern,
     RE_Options().set_caseless(true).set_multiline(true))
       .PartialMatch(str);
.sp
If you are going to pass one of the most used modifiers, there are some
convenience functions that return a RE_Options class with the
appropriate modifier already set: \fBCASELESS()\fR, \fBUTF8()\fR,
\fBMULTILINE()\fR, \fBDOTALL\fR(), and \fBEXTENDED()\fR.
.P
If you need to set several options at once, and you don't want to go through
the pains of declaring a RE_Options object and setting several options, there
is a parallel method that give you such ability on the fly. You can concatenate
several \fBset_xxxxx()\fR member functions, since each of them returns a
reference to its class object. For example, to pass PCRE_CASELESS,
PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one statement, you may write:
.sp
   RE(" ^ xyz \e\es+ .* blah$",
     RE_Options()
       .set_caseless(true)
       .set_extended(true)
       .set_multiline(true)).PartialMatch(sometext);
.sp
.
.
.SH "SCANNING TEXT INCREMENTALLY"
.rs
.sp
The "Consume" operation may be useful if you want to repeatedly
match regular expressions at the front of a string and skip over
them as they match. This requires use of the "StringPiece" type,
which represents a sub-range of a real string. Like RE, StringPiece
is defined in the pcrecpp namespace.
.sp
  Example: read lines of the form "var = value" from a string.
     string contents = ...;                 // Fill string somehow
     pcrecpp::StringPiece input(contents);  // Wrap in a StringPiece

     string var;
     int value;
     pcrecpp::RE re("(\e\ew+) = (\e\ed+)\en");
     while (re.Consume(&input, &var, &value)) {
       ...;
     }
.sp
Each successful call to "Consume" will set "var/value", and also
advance "input" so it points past the matched text.
.P
The "FindAndConsume" operation is similar to "Consume" but does not
anchor your match at the beginning of the string. For example, you
could extract all words from a string by repeatedly calling
.sp
  pcrecpp::RE("(\e\ew+)").FindAndConsume(&input, &word)
.
.
.SH "PARSING HEX/OCTAL/C-RADIX NUMBERS"
.rs
.sp
By default, if you pass a pointer to a numeric value, the
corresponding text is interpreted as a base-10 number. You can
instead wrap the pointer with a call to one of the operators Hex(),
Octal(), or CRadix() to interpret the text in another base. The
CRadix operator interprets C-style "0" (base-8) and "0x" (base-16)
prefixes, but defaults to base-10.
.sp
  Example:
    int a, b, c, d;
    pcrecpp::RE re("(.*) (.*) (.*) (.*)");
    re.FullMatch("100 40 0100 0x40",
                 pcrecpp::Octal(&a), pcrecpp::Hex(&b),
                 pcrecpp::CRadix(&c), pcrecpp::CRadix(&d));
.sp
will leave 64 in a, b, c, and d.
.
.
.SH "REPLACING PARTS OF STRINGS"
.rs
.sp
You can replace the first match of "pattern" in "str" with "rewrite".
Within "rewrite", backslash-escaped digits (\e1 to \e9) can be
used to insert text matching corresponding parenthesized group
from the pattern. \e0 in "rewrite" refers to the entire matching
text. For example:
.sp
  string s = "yabba dabba doo";
  pcrecpp::RE("b+").Replace("d", &s);
.sp
will leave "s" containing "yada dabba doo". The result is true if the pattern
matches and a replacement occurs, false otherwise.
.P
\fBGlobalReplace\fP is like \fBReplace\fP except that it replaces all
occurrences of the pattern in the string with the rewrite. Replacements are
not subject to re-matching. For example:
.sp
  string s = "yabba dabba doo";
  pcrecpp::RE("b+").GlobalReplace("d", &s);
.sp
will leave "s" containing "yada dada doo". It returns the number of
replacements made.
.P
\fBExtract\fP is like \fBReplace\fP, except that if the pattern matches,
"rewrite" is copied into "out" (an additional argument) with substitutions.
The non-matching portions of "text" are ignored. Returns true iff a match
occurred and the extraction happened successfully;  if no match occurs, the
string is left unaffected.
.
.
.SH AUTHOR
.rs
.sp
.nf
The C++ wrapper was contributed by Google Inc.
Copyright (c) 2007 Google Inc.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 17 March 2009
.fi
share/man/man3/pcre_info.3000064400000000745150405535530011322 0ustar00.TH PCRE_INFO 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_info(const pcre *\fIcode\fP, int *\fIoptptr\fP, int
.B *\fIfirstcharptr\fP);
.
.SH DESCRIPTION
.rs
.sp
This function is obsolete. You should be using \fBpcre_fullinfo()\fP instead.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcrepartial.3000064400000037636150405535530011675 0ustar00.TH PCREPARTIAL 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PARTIAL MATCHING IN PCRE"
.rs
.sp
In normal use of PCRE, if the subject string that is passed to
\fBpcre_exec()\fP or \fBpcre_dfa_exec()\fP matches as far as it goes, but is
too short to match the entire pattern, PCRE_ERROR_NOMATCH is returned. There
are circumstances where it might be helpful to distinguish this case from other
cases in which there is no match.
.P
Consider, for example, an application where a human is required to type in data
for a field with specific formatting requirements. An example might be a date
in the form \fIddmmmyy\fP, defined by this pattern:
.sp
  ^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$
.sp
If the application sees the user's keystrokes one by one, and can check that
what has been typed so far is potentially valid, it is able to raise an error
as soon as a mistake is made, by beeping and not reflecting the character that
has been typed, for example. This immediate feedback is likely to be a better
user interface than a check that is delayed until the entire string has been
entered. Partial matching can also sometimes be useful when the subject string
is very long and is not all available at once.
.P
PCRE supports partial matching by means of the PCRE_PARTIAL_SOFT and
PCRE_PARTIAL_HARD options, which can be set when calling \fBpcre_exec()\fP or
\fBpcre_dfa_exec()\fP. For backwards compatibility, PCRE_PARTIAL is a synonym
for PCRE_PARTIAL_SOFT. The essential difference between the two options is
whether or not a partial match is preferred to an alternative complete match,
though the details differ between the two matching functions. If both options
are set, PCRE_PARTIAL_HARD takes precedence.
.P
Setting a partial matching option disables two of PCRE's optimizations. PCRE
remembers the last literal byte in a pattern, and abandons matching immediately
if such a byte is not present in the subject string. This optimization cannot
be used for a subject string that might match only partially. If the pattern
was studied, PCRE knows the minimum length of a matching string, and does not
bother to run the matching function on shorter strings. This optimization is
also disabled for partial matching.
.
.
.SH "PARTIAL MATCHING USING pcre_exec()"
.rs
.sp
A partial match occurs during a call to \fBpcre_exec()\fP whenever the end of
the subject string is reached successfully, but matching cannot continue
because more characters are needed. However, at least one character must have
been matched. (In other words, a partial match can never be an empty string.)
.P
If PCRE_PARTIAL_SOFT is set, the partial match is remembered, but matching
continues as normal, and other alternatives in the pattern are tried. If no
complete match can be found, \fBpcre_exec()\fP returns PCRE_ERROR_PARTIAL
instead of PCRE_ERROR_NOMATCH. If there are at least two slots in the offsets
vector, the first of them is set to the offset of the earliest character that
was inspected when the partial match was found. For convenience, the second
offset points to the end of the string so that a substring can easily be
identified.
.P
For the majority of patterns, the first offset identifies the start of the
partially matched string. However, for patterns that contain lookbehind
assertions, or \eK, or begin with \eb or \eB, earlier characters have been
inspected while carrying out the match. For example:
.sp
  /(?<=abc)123/
.sp
This pattern matches "123", but only if it is preceded by "abc". If the subject
string is "xyzabc12", the offsets after a partial match are for the substring
"abc12", because all these characters are needed if another match is tried
with extra characters added.
.P
If there is more than one partial match, the first one that was found provides
the data that is returned. Consider this pattern:
.sp
  /123\ew+X|dogY/
.sp
If this is matched against the subject string "abc123dog", both
alternatives fail to match, but the end of the subject is reached during
matching, so PCRE_ERROR_PARTIAL is returned instead of PCRE_ERROR_NOMATCH. The
offsets are set to 3 and 9, identifying "123dog" as the first partial match
that was found. (In this example, there are two partial matches, because "dog"
on its own partially matches the second alternative.)
.P
If PCRE_PARTIAL_HARD is set for \fBpcre_exec()\fP, it returns
PCRE_ERROR_PARTIAL as soon as a partial match is found, without continuing to
search for possible complete matches. The difference between the two options
can be illustrated by a pattern such as:
.sp
  /dog(sbody)?/
.sp
This matches either "dog" or "dogsbody", greedily (that is, it prefers the
longer string if possible). If it is matched against the string "dog" with
PCRE_PARTIAL_SOFT, it yields a complete match for "dog". However, if
PCRE_PARTIAL_HARD is set, the result is PCRE_ERROR_PARTIAL. On the other hand,
if the pattern is made ungreedy the result is different:
.sp
  /dog(sbody)??/
.sp
In this case the result is always a complete match because \fBpcre_exec()\fP
finds that first, and it never continues after finding a match. It might be
easier to follow this explanation by thinking of the two patterns like this:
.sp
  /dog(sbody)?/    is the same as  /dogsbody|dog/
  /dog(sbody)??/   is the same as  /dog|dogsbody/
.sp
The second pattern will never match "dogsbody" when \fBpcre_exec()\fP is
used, because it will always find the shorter match first.
.
.
.SH "PARTIAL MATCHING USING pcre_dfa_exec()"
.rs
.sp
The \fBpcre_dfa_exec()\fP function moves along the subject string character by
character, without backtracking, searching for all possible matches
simultaneously. If the end of the subject is reached before the end of the
pattern, there is the possibility of a partial match, again provided that at
least one character has matched.
.P
When PCRE_PARTIAL_SOFT is set, PCRE_ERROR_PARTIAL is returned only if there
have been no complete matches. Otherwise, the complete matches are returned.
However, if PCRE_PARTIAL_HARD is set, a partial match takes precedence over any
complete matches. The portion of the string that was inspected when the longest
partial match was found is set as the first matching string, provided there are
at least two slots in the offsets vector.
.P
Because \fBpcre_dfa_exec()\fP always searches for all possible matches, and
there is no difference between greedy and ungreedy repetition, its behaviour is
different from \fBpcre_exec\fP when PCRE_PARTIAL_HARD is set. Consider the
string "dog" matched against the ungreedy pattern shown above:
.sp
  /dog(sbody)??/
.sp
Whereas \fBpcre_exec()\fP stops as soon as it finds the complete match for
"dog", \fBpcre_dfa_exec()\fP also finds the partial match for "dogsbody", and
so returns that when PCRE_PARTIAL_HARD is set.
.
.
.SH "PARTIAL MATCHING AND WORD BOUNDARIES"
.rs
.sp
If a pattern ends with one of sequences \eb or \eB, which test for word
boundaries, partial matching with PCRE_PARTIAL_SOFT can give counter-intuitive
results. Consider this pattern:
.sp
  /\ebcat\eb/
.sp
This matches "cat", provided there is a word boundary at either end. If the
subject string is "the cat", the comparison of the final "t" with a following
character cannot take place, so a partial match is found. However,
\fBpcre_exec()\fP carries on with normal matching, which matches \eb at the end
of the subject when the last character is a letter, thus finding a complete
match. The result, therefore, is \fInot\fP PCRE_ERROR_PARTIAL. The same thing
happens with \fBpcre_dfa_exec()\fP, because it also finds the complete match.
.P
Using PCRE_PARTIAL_HARD in this case does yield PCRE_ERROR_PARTIAL, because
then the partial match takes precedence.
.
.
.SH "FORMERLY RESTRICTED PATTERNS"
.rs
.sp
For releases of PCRE prior to 8.00, because of the way certain internal
optimizations were implemented in the \fBpcre_exec()\fP function, the
PCRE_PARTIAL option (predecessor of PCRE_PARTIAL_SOFT) could not be used with
all patterns. From release 8.00 onwards, the restrictions no longer apply, and
partial matching with \fBpcre_exec()\fP can be requested for any pattern.
.P
Items that were formerly restricted were repeated single characters and
repeated metasequences. If PCRE_PARTIAL was set for a pattern that did not
conform to the restrictions, \fBpcre_exec()\fP returned the error code
PCRE_ERROR_BADPARTIAL (-13). This error code is no longer in use. The
PCRE_INFO_OKPARTIAL call to \fBpcre_fullinfo()\fP to find out if a compiled
pattern can be used for partial matching now always returns 1.
.
.
.SH "EXAMPLE OF PARTIAL MATCHING USING PCRETEST"
.rs
.sp
If the escape sequence \eP is present in a \fBpcretest\fP data line, the
PCRE_PARTIAL_SOFT option is used for the match. Here is a run of \fBpcretest\fP
that uses the date example quoted above:
.sp
    re> /^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$/
  data> 25jun04\eP
   0: 25jun04
   1: jun
  data> 25dec3\eP
  Partial match: 23dec3
  data> 3ju\eP
  Partial match: 3ju
  data> 3juj\eP
  No match
  data> j\eP
  No match
.sp
The first data string is matched completely, so \fBpcretest\fP shows the
matched substrings. The remaining four strings do not match the complete
pattern, but the first two are partial matches. Similar output is obtained
when \fBpcre_dfa_exec()\fP is used.
.P
If the escape sequence \eP is present more than once in a \fBpcretest\fP data
line, the PCRE_PARTIAL_HARD option is set for the match.
.
.
.SH "MULTI-SEGMENT MATCHING WITH pcre_dfa_exec()"
.rs
.sp
When a partial match has been found using \fBpcre_dfa_exec()\fP, it is possible
to continue the match by providing additional subject data and calling
\fBpcre_dfa_exec()\fP again with the same compiled regular expression, this
time setting the PCRE_DFA_RESTART option. You must pass the same working
space as before, because this is where details of the previous partial match
are stored. Here is an example using \fBpcretest\fP, using the \eR escape
sequence to set the PCRE_DFA_RESTART option (\eD specifies the use of
\fBpcre_dfa_exec()\fP):
.sp
    re> /^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$/
  data> 23ja\eP\eD
  Partial match: 23ja
  data> n05\eR\eD
   0: n05
.sp
The first call has "23ja" as the subject, and requests partial matching; the
second call has "n05" as the subject for the continued (restarted) match.
Notice that when the match is complete, only the last part is shown; PCRE does
not retain the previously partially-matched string. It is up to the calling
program to do that if it needs to.
.P
You can set the PCRE_PARTIAL_SOFT or PCRE_PARTIAL_HARD options with
PCRE_DFA_RESTART to continue partial matching over multiple segments. This
facility can be used to pass very long subject strings to
\fBpcre_dfa_exec()\fP.
.
.
.SH "MULTI-SEGMENT MATCHING WITH pcre_exec()"
.rs
.sp
From release 8.00, \fBpcre_exec()\fP can also be used to do multi-segment
matching. Unlike \fBpcre_dfa_exec()\fP, it is not possible to restart the
previous match with a new segment of data. Instead, new data must be added to
the previous subject string, and the entire match re-run, starting from the
point where the partial match occurred. Earlier data can be discarded.
Consider an unanchored pattern that matches dates:
.sp
    re> /\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed/
  data> The date is 23ja\eP
  Partial match: 23ja
.sp
At this stage, an application could discard the text preceding "23ja", add on
text from the next segment, and call \fBpcre_exec()\fP again. Unlike
\fBpcre_dfa_exec()\fP, the entire matching string must always be available, and
the complete matching process occurs for each call, so more memory and more
processing time is needed.
.P
\fBNote:\fP If the pattern contains lookbehind assertions, or \eK, or starts
with \eb or \eB, the string that is returned for a partial match will include
characters that precede the partially matched string itself, because these must
be retained when adding on more characters for a subsequent matching attempt.
.
.
.SH "ISSUES WITH MULTI-SEGMENT MATCHING"
.rs
.sp
Certain types of pattern may give problems with multi-segment matching,
whichever matching function is used.
.P
1. If the pattern contains tests for the beginning or end of a line, you need
to pass the PCRE_NOTBOL or PCRE_NOTEOL options, as appropriate, when the
subject string for any call does not contain the beginning or end of a line.
.P
2. Lookbehind assertions at the start of a pattern are catered for in the
offsets that are returned for a partial match. However, in theory, a lookbehind
assertion later in the pattern could require even earlier characters to be
inspected, and it might not have been reached when a partial match occurs. This
is probably an extremely unlikely case; you could guard against it to a certain
extent by always including extra characters at the start.
.P
3. Matching a subject string that is split into multiple segments may not
always produce exactly the same result as matching over one single long string,
especially when PCRE_PARTIAL_SOFT is used. The section "Partial Matching and
Word Boundaries" above describes an issue that arises if the pattern ends with
\eb or \eB. Another kind of difference may occur when there are multiple
matching possibilities, because a partial match result is given only when there
are no completed matches. This means that as soon as the shortest match has
been found, continuation to a new subject segment is no longer possible.
Consider again this \fBpcretest\fP example:
.sp
    re> /dog(sbody)?/
  data> dogsb\eP
   0: dog
  data> do\eP\eD
  Partial match: do
  data> gsb\eR\eP\eD
   0: g
  data> dogsbody\eD
   0: dogsbody
   1: dog
.sp
The first data line passes the string "dogsb" to \fBpcre_exec()\fP, setting the
PCRE_PARTIAL_SOFT option. Although the string is a partial match for
"dogsbody", the result is not PCRE_ERROR_PARTIAL, because the shorter string
"dog" is a complete match. Similarly, when the subject is presented to
\fBpcre_dfa_exec()\fP in several parts ("do" and "gsb" being the first two) the
match stops when "dog" has been found, and it is not possible to continue. On
the other hand, if "dogsbody" is presented as a single string,
\fBpcre_dfa_exec()\fP finds both matches.
.P
Because of these problems, it is probably best to use PCRE_PARTIAL_HARD when
matching multi-segment data. The example above then behaves differently:
.sp
    re> /dog(sbody)?/
  data> dogsb\eP\eP
  Partial match: dogsb
  data> do\eP\eD
  Partial match: do
  data> gsb\eR\eP\eP\eD
  Partial match: gsb
.sp
.P
4. Patterns that contain alternatives at the top level which do not all
start with the same pattern item may not work as expected when
PCRE_DFA_RESTART is used with \fBpcre_dfa_exec()\fP. For example, consider this
pattern:
.sp
  1234|3789
.sp
If the first part of the subject is "ABC123", a partial match of the first
alternative is found at offset 3. There is no partial match for the second
alternative, because such a match does not start at the same point in the
subject string. Attempting to continue with the string "7890" does not yield a
match because only those alternatives that match at one point in the subject
are remembered. The problem arises because the start of the second alternative
matches within the first alternative. There is no problem with anchored
patterns or patterns such as:
.sp
  1234|ABCD
.sp
where no string can be a partial match for both alternatives. This is not a
problem if \fBpcre_exec()\fP is used, because the entire match has to be rerun
each time:
.sp
    re> /1234|3789/
  data> ABC123\eP
  Partial match: 123
  data> 1237890
   0: 3789
.sp
Of course, instead of using PCRE_DFA_PARTIAL, the same technique of re-running
the entire match can also be used with \fBpcre_dfa_exec()\fP. Another
possibility is to work with two buffers. If a partial match at offset \fIn\fP
in the first buffer is followed by "no match" when PCRE_DFA_RESTART is used on
the second buffer, you can then try a new match starting at offset \fIn+1\fP in
the first buffer.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 19 October 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcrebuild.3000064400000031114150405535530011321 0ustar00.TH PCREBUILD 3
.SH NAME
PCRE - Perl-compatible regular expressions
.
.
.SH "PCRE BUILD-TIME OPTIONS"
.rs
.sp
This document describes the optional features of PCRE that can be selected when
the library is compiled. It assumes use of the \fBconfigure\fP script, where
the optional features are selected or deselected by providing options to
\fBconfigure\fP before running the \fBmake\fP command. However, the same
options can be selected in both Unix-like and non-Unix-like environments using
the GUI facility of \fBcmake-gui\fP if you are using \fBCMake\fP instead of
\fBconfigure\fP to build PCRE.
.P
There is a lot more information about building PCRE in non-Unix-like
environments in the file called \fINON_UNIX_USE\fP, which is part of the PCRE
distribution. You should consult this file as well as the \fIREADME\fP file if
you are building in a non-Unix-like environment.
.P
The complete list of options for \fBconfigure\fP (which includes the standard
ones such as the selection of the installation directory) can be obtained by
running
.sp
  ./configure --help
.sp
The following sections include descriptions of options whose names begin with
--enable or --disable. These settings specify changes to the defaults for the
\fBconfigure\fP command. Because of the way that \fBconfigure\fP works,
--enable and --disable always come in pairs, so the complementary option always
exists as well, but as it specifies the default, it is not described.
.
.
.SH "C++ SUPPORT"
.rs
.sp
By default, the \fBconfigure\fP script will search for a C++ compiler and C++
header files. If it finds them, it automatically builds the C++ wrapper library
for PCRE. You can disable this by adding
.sp
  --disable-cpp
.sp
to the \fBconfigure\fP command.
.
.
.SH "UTF-8 SUPPORT"
.rs
.sp
To build PCRE with support for UTF-8 Unicode character strings, add
.sp
  --enable-utf8
.sp
to the \fBconfigure\fP command. Of itself, this does not make PCRE treat
strings as UTF-8. As well as compiling PCRE with this option, you also have
have to set the PCRE_UTF8 option when you call the \fBpcre_compile()\fP
or \fBpcre_compile2()\fP functions.
.P
If you set --enable-utf8 when compiling in an EBCDIC environment, PCRE expects
its input to be either ASCII or UTF-8 (depending on the runtime option). It is
not possible to support both EBCDIC and UTF-8 codes in the same version of the
library. Consequently, --enable-utf8 and --enable-ebcdic are mutually
exclusive.
.
.
.SH "UNICODE CHARACTER PROPERTY SUPPORT"
.rs
.sp
UTF-8 support allows PCRE to process character values greater than 255 in the
strings that it handles. On its own, however, it does not provide any
facilities for accessing the properties of such characters. If you want to be
able to use the pattern escapes \eP, \ep, and \eX, which refer to Unicode
character properties, you must add
.sp
  --enable-unicode-properties
.sp
to the \fBconfigure\fP command. This implies UTF-8 support, even if you have
not explicitly requested it.
.P
Including Unicode property support adds around 30K of tables to the PCRE
library. Only the general category properties such as \fILu\fP and \fINd\fP are
supported. Details are given in the
.\" HREF
\fBpcrepattern\fP
.\"
documentation.
.
.
.SH "CODE VALUE OF NEWLINE"
.rs
.sp
By default, PCRE interprets the linefeed (LF) character as indicating the end
of a line. This is the normal newline character on Unix-like systems. You can
compile PCRE to use carriage return (CR) instead, by adding
.sp
  --enable-newline-is-cr
.sp
to the \fBconfigure\fP command. There is also a --enable-newline-is-lf option,
which explicitly specifies linefeed as the newline character.
.sp
Alternatively, you can specify that line endings are to be indicated by the two
character sequence CRLF. If you want this, add
.sp
  --enable-newline-is-crlf
.sp
to the \fBconfigure\fP command. There is a fourth option, specified by
.sp
  --enable-newline-is-anycrlf
.sp
which causes PCRE to recognize any of the three sequences CR, LF, or CRLF as
indicating a line ending. Finally, a fifth option, specified by
.sp
  --enable-newline-is-any
.sp
causes PCRE to recognize any Unicode newline sequence.
.P
Whatever line ending convention is selected when PCRE is built can be
overridden when the library functions are called. At build time it is
conventional to use the standard for your operating system.
.
.
.SH "WHAT \eR MATCHES"
.rs
.sp
By default, the sequence \eR in a pattern matches any Unicode newline sequence,
whatever has been selected as the line ending sequence. If you specify
.sp
  --enable-bsr-anycrlf
.sp
the default is changed so that \eR matches only CR, LF, or CRLF. Whatever is
selected when PCRE is built can be overridden when the library functions are
called.
.
.
.SH "BUILDING SHARED AND STATIC LIBRARIES"
.rs
.sp
The PCRE building process uses \fBlibtool\fP to build both shared and static
Unix libraries by default. You can suppress one of these by adding one of
.sp
  --disable-shared
  --disable-static
.sp
to the \fBconfigure\fP command, as required.
.
.
.SH "POSIX MALLOC USAGE"
.rs
.sp
When PCRE is called through the POSIX interface (see the
.\" HREF
\fBpcreposix\fP
.\"
documentation), additional working storage is required for holding the pointers
to capturing substrings, because PCRE requires three integers per substring,
whereas the POSIX interface provides only two. If the number of expected
substrings is small, the wrapper function uses space on the stack, because this
is faster than using \fBmalloc()\fP for each call. The default threshold above
which the stack is no longer used is 10; it can be changed by adding a setting
such as
.sp
  --with-posix-malloc-threshold=20
.sp
to the \fBconfigure\fP command.
.
.
.SH "HANDLING VERY LARGE PATTERNS"
.rs
.sp
Within a compiled pattern, offset values are used to point from one part to
another (for example, from an opening parenthesis to an alternation
metacharacter). By default, two-byte values are used for these offsets, leading
to a maximum size for a compiled pattern of around 64K. This is sufficient to
handle all but the most gigantic patterns. Nevertheless, some people do want to
process truyl enormous patterns, so it is possible to compile PCRE to use
three-byte or four-byte offsets by adding a setting such as
.sp
  --with-link-size=3
.sp
to the \fBconfigure\fP command. The value given must be 2, 3, or 4. Using
longer offsets slows down the operation of PCRE because it has to load
additional bytes when handling them.
.
.
.SH "AVOIDING EXCESSIVE STACK USAGE"
.rs
.sp
When matching with the \fBpcre_exec()\fP function, PCRE implements backtracking
by making recursive calls to an internal function called \fBmatch()\fP. In
environments where the size of the stack is limited, this can severely limit
PCRE's operation. (The Unix environment does not usually suffer from this
problem, but it may sometimes be necessary to increase the maximum stack size.
There is a discussion in the
.\" HREF
\fBpcrestack\fP
.\"
documentation.) An alternative approach to recursion that uses memory from the
heap to remember data, instead of using recursive function calls, has been
implemented to work round the problem of limited stack size. If you want to
build a version of PCRE that works this way, add
.sp
  --disable-stack-for-recursion
.sp
to the \fBconfigure\fP command. With this configuration, PCRE will use the
\fBpcre_stack_malloc\fP and \fBpcre_stack_free\fP variables to call memory
management functions. By default these point to \fBmalloc()\fP and
\fBfree()\fP, but you can replace the pointers so that your own functions are
used instead.
.P
Separate functions are provided rather than using \fBpcre_malloc\fP and
\fBpcre_free\fP because the usage is very predictable: the block sizes
requested are always the same, and the blocks are always freed in reverse
order. A calling program might be able to implement optimized functions that
perform better than \fBmalloc()\fP and \fBfree()\fP. PCRE runs noticeably more
slowly when built in this way. This option affects only the \fBpcre_exec()\fP
function; it is not relevant for \fBpcre_dfa_exec()\fP.
.
.
.SH "LIMITING PCRE RESOURCE USAGE"
.rs
.sp
Internally, PCRE has a function called \fBmatch()\fP, which it calls repeatedly
(sometimes recursively) when matching a pattern with the \fBpcre_exec()\fP
function. By controlling the maximum number of times this function may be
called during a single matching operation, a limit can be placed on the
resources used by a single call to \fBpcre_exec()\fP. The limit can be changed
at run time, as described in the
.\" HREF
\fBpcreapi\fP
.\"
documentation. The default is 10 million, but this can be changed by adding a
setting such as
.sp
  --with-match-limit=500000
.sp
to the \fBconfigure\fP command. This setting has no effect on the
\fBpcre_dfa_exec()\fP matching function.
.P
In some environments it is desirable to limit the depth of recursive calls of
\fBmatch()\fP more strictly than the total number of calls, in order to
restrict the maximum amount of stack (or heap, if --disable-stack-for-recursion
is specified) that is used. A second limit controls this; it defaults to the
value that is set for --with-match-limit, which imposes no additional
constraints. However, you can set a lower limit by adding, for example,
.sp
  --with-match-limit-recursion=10000
.sp
to the \fBconfigure\fP command. This value can also be overridden at run time.
.
.
.SH "CREATING CHARACTER TABLES AT BUILD TIME"
.rs
.sp
PCRE uses fixed tables for processing characters whose code values are less
than 256. By default, PCRE is built with a set of tables that are distributed
in the file \fIpcre_chartables.c.dist\fP. These tables are for ASCII codes
only. If you add
.sp
  --enable-rebuild-chartables
.sp
to the \fBconfigure\fP command, the distributed tables are no longer used.
Instead, a program called \fBdftables\fP is compiled and run. This outputs the
source for new set of tables, created in the default locale of your C runtime
system. (This method of replacing the tables does not work if you are cross
compiling, because \fBdftables\fP is run on the local host. If you need to
create alternative tables when cross compiling, you will have to do so "by
hand".)
.
.
.SH "USING EBCDIC CODE"
.rs
.sp
PCRE assumes by default that it will run in an environment where the character
code is ASCII (or Unicode, which is a superset of ASCII). This is the case for
most computer operating systems. PCRE can, however, be compiled to run in an
EBCDIC environment by adding
.sp
  --enable-ebcdic
.sp
to the \fBconfigure\fP command. This setting implies
--enable-rebuild-chartables. You should only use it if you know that you are in
an EBCDIC environment (for example, an IBM mainframe operating system). The
--enable-ebcdic option is incompatible with --enable-utf8.
.
.
.SH "PCREGREP OPTIONS FOR COMPRESSED FILE SUPPORT"
.rs
.sp
By default, \fBpcregrep\fP reads all files as plain text. You can build it so
that it recognizes files whose names end in \fB.gz\fP or \fB.bz2\fP, and reads
them with \fBlibz\fP or \fBlibbz2\fP, respectively, by adding one or both of
.sp
  --enable-pcregrep-libz
  --enable-pcregrep-libbz2
.sp
to the \fBconfigure\fP command. These options naturally require that the
relevant libraries are installed on your system. Configuration will fail if
they are not.
.
.
.SH "PCRETEST OPTION FOR LIBREADLINE SUPPORT"
.rs
.sp
If you add
.sp
  --enable-pcretest-libreadline
.sp
to the \fBconfigure\fP command, \fBpcretest\fP is linked with the
\fBlibreadline\fP library, and when its input is from a terminal, it reads it
using the \fBreadline()\fP function. This provides line-editing and history
facilities. Note that \fBlibreadline\fP is GPL-licensed, so if you distribute a
binary of \fBpcretest\fP linked in this way, there may be licensing issues.
.P
Setting this option causes the \fB-lreadline\fP option to be added to the
\fBpcretest\fP build. In many operating environments with a sytem-installed
\fBlibreadline\fP this is sufficient. However, in some environments (e.g.
if an unmodified distribution version of readline is in use), some extra
configuration may be necessary. The INSTALL file for \fBlibreadline\fP says
this:
.sp
  "Readline uses the termcap functions, but does not link with the
  termcap or curses library itself, allowing applications which link
  with readline the to choose an appropriate library."
.sp
If your environment has not been set up so that an appropriate library is
automatically included, you may need to add something like
.sp
  LIBS="-ncurses"
.sp
immediately before the \fBconfigure\fP command.
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcreapi\fP(3), \fBpcre_config\fP(3).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 29 September 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcre_get_substring_list.3000064400000002405150405535530014274 0ustar00.TH PCRE_GET_SUBSTRING_LIST 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_get_substring_list(const char *\fIsubject\fP,
.ti +5n
.B int *\fIovector\fP, int \fIstringcount\fP, "const char ***\fIlistptr\fP);"
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for extracting a list of all the captured
substrings. The arguments are:
.sp
  \fIsubject\fP       Subject that has been successfully matched
  \fIovector\fP       Offset vector that \fBpcre_exec\fP used
  \fIstringcount\fP   Value returned by \fBpcre_exec\fP
  \fIlistptr\fP       Where to put a pointer to the list
.sp
The memory in which the substrings and the list are placed is obtained by
calling \fBpcre_malloc()\fP. The convenience function
\fBpcre_free_substring_list()\fP can be used to free it when it is no longer
needed. A pointer to a list of pointers is put in the variable whose address is
in \fIlistptr\fP. The list is terminated by a NULL pointer. The yield of the
function is zero on success or PCRE_ERROR_NOMEMORY if sufficient memory could
not be obtained.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre.3000064400000030551150405535530010305 0ustar00.TH PCRE 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH INTRODUCTION
.rs
.sp
The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl, with just a few
differences. Some features that appeared in Python and PCRE before they
appeared in Perl are also available using the Python syntax, there is some
support for one or two .NET and Oniguruma syntax items, and there is an option
for requesting some minor changes that give better JavaScript compatibility.
.P
The current implementation of PCRE corresponds approximately with Perl 5.10,
including support for UTF-8 encoded strings and Unicode general category
properties. However, UTF-8 and Unicode support has to be explicitly enabled; it
is not the default. The Unicode tables correspond to Unicode release 5.2.0.
.P
In addition to the Perl-compatible matching function, PCRE contains an
alternative function that matches the same compiled patterns in a different
way. In certain circumstances, the alternative function has some advantages.
For a discussion of the two matching algorithms, see the
.\" HREF
\fBpcrematching\fP
.\"
page.
.P
PCRE is written in C and released as a C library. A number of people have
written wrappers and interfaces of various kinds. In particular, Google Inc.
have provided a comprehensive C++ wrapper. This is now included as part of the
PCRE distribution. The
.\" HREF
\fBpcrecpp\fP
.\"
page has details of this interface. Other people's contributions can be found
in the \fIContrib\fR directory at the primary FTP site, which is:
.sp
.\" HTML <a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre">
.\" </a>
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre
.P
Details of exactly which Perl regular expression features are and are not
supported by PCRE are given in separate documents. See the
.\" HREF
\fBpcrepattern\fR
.\"
and
.\" HREF
\fBpcrecompat\fR
.\"
pages. There is a syntax summary in the
.\" HREF
\fBpcresyntax\fR
.\"
page.
.P
Some features of PCRE can be included, excluded, or changed when the library is
built. The
.\" HREF
\fBpcre_config()\fR
.\"
function makes it possible for a client to discover which features are
available. The features themselves are described in the
.\" HREF
\fBpcrebuild\fP
.\"
page. Documentation about building PCRE for various operating systems can be
found in the \fBREADME\fP and \fBNON-UNIX-USE\fP files in the source
distribution.
.P
The library contains a number of undocumented internal functions and data
tables that are used by more than one of the exported external functions, but
which are not intended for use by external callers. Their names all begin with
"_pcre_", which hopefully will not provoke any name clashes. In some
environments, it is possible to control which external symbols are exported
when a shared library is built, and in these cases the undocumented symbols are
not exported.
.
.
.SH "USER DOCUMENTATION"
.rs
.sp
The user documentation for PCRE comprises a number of different sections. In
the "man" format, each of these is a separate "man page". In the HTML format,
each is a separate page, linked from the index page. In the plain text format,
all the sections, except the \fBpcredemo\fP section, are concatenated, for ease
of searching. The sections are as follows:
.sp
  pcre              this document
  pcre-config       show PCRE installation configuration information
  pcreapi           details of PCRE's native C API
  pcrebuild         options for building PCRE
  pcrecallout       details of the callout feature
  pcrecompat        discussion of Perl compatibility
  pcrecpp           details of the C++ wrapper
  pcredemo          a demonstration C program that uses PCRE
  pcregrep          description of the \fBpcregrep\fP command
  pcrematching      discussion of the two matching algorithms
  pcrepartial       details of the partial matching facility
.\" JOIN
  pcrepattern       syntax and semantics of supported
                      regular expressions
  pcreperform       discussion of performance issues
  pcreposix         the POSIX-compatible C API
  pcreprecompile    details of saving and re-using precompiled patterns
  pcresample        discussion of the pcredemo program
  pcrestack         discussion of stack usage
  pcresyntax        quick syntax reference
  pcretest          description of the \fBpcretest\fP testing command
.sp
In addition, in the "man" and HTML formats, there is a short page for each
C library function, listing its arguments and results.
.
.
.SH LIMITATIONS
.rs
.sp
There are some size limitations in PCRE but it is hoped that they will never in
practice be relevant.
.P
The maximum length of a compiled pattern is 65539 (sic) bytes if PCRE is
compiled with the default internal linkage size of 2. If you want to process
regular expressions that are truly enormous, you can compile PCRE with an
internal linkage size of 3 or 4 (see the \fBREADME\fP file in the source
distribution and the
.\" HREF
\fBpcrebuild\fP
.\"
documentation for details). In these cases the limit is substantially larger.
However, the speed of execution is slower.
.P
All values in repeating quantifiers must be less than 65536.
.P
There is no limit to the number of parenthesized subpatterns, but there can be
no more than 65535 capturing subpatterns.
.P
The maximum length of name for a named subpattern is 32 characters, and the
maximum number of named subpatterns is 10000.
.P
The maximum length of a subject string is the largest positive number that an
integer variable can hold. However, when using the traditional matching
function, PCRE uses recursion to handle subpatterns and indefinite repetition.
This means that the available stack space may limit the size of a subject
string that can be processed by certain patterns. For a discussion of stack
issues, see the
.\" HREF
\fBpcrestack\fP
.\"
documentation.
.
.
.\" HTML <a name="utf8support"></a>
.
.SH "UTF-8 AND UNICODE PROPERTY SUPPORT"
.rs
.sp
From release 3.3, PCRE has had some support for character strings encoded in
the UTF-8 format. For release 4.0 this was greatly extended to cover most
common requirements, and in release 5.0 additional support for Unicode general
category properties was added.
.P
In order process UTF-8 strings, you must build PCRE to include UTF-8 support in
the code, and, in addition, you must call
.\" HREF
\fBpcre_compile()\fP
.\"
with the PCRE_UTF8 option flag, or the pattern must start with the sequence
(*UTF8). When either of these is the case, both the pattern and any subject
strings that are matched against it are treated as UTF-8 strings instead of
strings of 1-byte characters.
.P
If you compile PCRE with UTF-8 support, but do not use it at run time, the
library will be a bit bigger, but the additional run time overhead is limited
to testing the PCRE_UTF8 flag occasionally, so should not be very big.
.P
If PCRE is built with Unicode character property support (which implies UTF-8
support), the escape sequences \ep{..}, \eP{..}, and \eX are supported.
The available properties that can be tested are limited to the general
category properties such as Lu for an upper case letter or Nd for a decimal
number, the Unicode script names such as Arabic or Han, and the derived
properties Any and L&. A full list is given in the
.\" HREF
\fBpcrepattern\fP
.\"
documentation. Only the short names for properties are supported. For example,
\ep{L} matches a letter. Its Perl synonym, \ep{Letter}, is not supported.
Furthermore, in Perl, many properties may optionally be prefixed by "Is", for
compatibility with Perl 5.6. PCRE does not support this.
.
.
.\" HTML <a name="utf8strings"></a>
.
.SS "Validity of UTF-8 strings"
.rs
.sp
When you set the PCRE_UTF8 flag, the strings passed as patterns and subjects
are (by default) checked for validity on entry to the relevant functions. From
release 7.3 of PCRE, the check is according the rules of RFC 3629, which are
themselves derived from the Unicode specification. Earlier releases of PCRE
followed the rules of RFC 2279, which allows the full range of 31-bit values (0
to 0x7FFFFFFF). The current check allows only values in the range U+0 to
U+10FFFF, excluding U+D800 to U+DFFF.
.P
The excluded code points are the "Low Surrogate Area" of Unicode, of which the
Unicode Standard says this: "The Low Surrogate Area does not contain any
character assignments, consequently no character code charts or namelists are
provided for this area. Surrogates are reserved for use with UTF-16 and then
must be used in pairs." The code points that are encoded by UTF-16 pairs are
available as independent code points in the UTF-8 encoding. (In other words,
the whole surrogate thing is a fudge for UTF-16 which unfortunately messes up
UTF-8.)
.P
If an invalid UTF-8 string is passed to PCRE, an error return
(PCRE_ERROR_BADUTF8) is given. In some situations, you may already know that
your strings are valid, and therefore want to skip these checks in order to
improve performance. If you set the PCRE_NO_UTF8_CHECK flag at compile time or
at run time, PCRE assumes that the pattern or subject it is given
(respectively) contains only valid UTF-8 codes. In this case, it does not
diagnose an invalid UTF-8 string.
.P
If you pass an invalid UTF-8 string when PCRE_NO_UTF8_CHECK is set, what
happens depends on why the string is invalid. If the string conforms to the
"old" definition of UTF-8 (RFC 2279), it is processed as a string of characters
in the range 0 to 0x7FFFFFFF. In other words, apart from the initial validity
test, PCRE (when in UTF-8 mode) handles strings according to the more liberal
rules of RFC 2279. However, if the string does not even conform to RFC 2279,
the result is undefined. Your program may crash.
.P
If you want to process strings of values in the full range 0 to 0x7FFFFFFF,
encoded in a UTF-8-like manner as per the old RFC, you can set
PCRE_NO_UTF8_CHECK to bypass the more restrictive test. However, in this
situation, you will have to apply your own validity check.
.
.SS "General comments about UTF-8 mode"
.rs
.sp
1. An unbraced hexadecimal escape sequence (such as \exb3) matches a two-byte
UTF-8 character if the value is greater than 127.
.P
2. Octal numbers up to \e777 are recognized, and match two-byte UTF-8
characters for values greater than \e177.
.P
3. Repeat quantifiers apply to complete UTF-8 characters, not to individual
bytes, for example: \ex{100}{3}.
.P
4. The dot metacharacter matches one UTF-8 character instead of a single byte.
.P
5. The escape sequence \eC can be used to match a single byte in UTF-8 mode,
but its use can lead to some strange effects. This facility is not available in
the alternative matching function, \fBpcre_dfa_exec()\fP.
.P
6. The character escapes \eb, \eB, \ed, \eD, \es, \eS, \ew, and \eW correctly
test characters of any code value, but the characters that PCRE recognizes as
digits, spaces, or word characters remain the same set as before, all with
values less than 256. This remains true even when PCRE includes Unicode
property support, because to do otherwise would slow down PCRE in many common
cases. If you really want to test for a wider sense of, say, "digit", you
must use Unicode property tests such as \ep{Nd}. Note that this also applies to
\eb, because it is defined in terms of \ew and \eW.
.P
7. Similarly, characters that match the POSIX named character classes are all
low-valued characters.
.P
8. However, the Perl 5.10 horizontal and vertical whitespace matching escapes
(\eh, \eH, \ev, and \eV) do match all the appropriate Unicode characters.
.P
9. Case-insensitive matching applies only to characters whose values are less
than 128, unless PCRE is built with Unicode property support. Even when Unicode
property support is available, PCRE still uses its own character tables when
checking the case of low-valued characters, so as not to degrade performance.
The Unicode property information is used only for characters with higher
values. Even when Unicode property support is available, PCRE supports
case-insensitive matching only when there is a one-to-one mapping between a
letter's cases. There are a small number of many-to-one mappings in Unicode;
these are not supported by PCRE.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.P
Putting an actual email address here seems to have been a spam magnet, so I've
taken it away. If you want to email me, use my two initials, followed by the
two digits 10, at the domain cam.ac.uk.
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 01 March 2010
Copyright (c) 1997-2010 University of Cambridge.
.fi
share/man/man3/pcreperform.3000064400000015050150405535530011675 0ustar00.TH PCREPERFORM 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE PERFORMANCE"
.rs
.sp
Two aspects of performance are discussed below: memory usage and processing
time. The way you express your pattern as a regular expression can affect both
of them.
.
.SH "COMPILED PATTERN MEMORY USAGE"
.rs
.sp
Patterns are compiled by PCRE into a reasonably efficient byte code, so that
most simple patterns do not use much memory. However, there is one case where
the memory usage of a compiled pattern can be unexpectedly large. If a
parenthesized subpattern has a quantifier with a minimum greater than 1 and/or
a limited maximum, the whole subpattern is repeated in the compiled code. For
example, the pattern
.sp
  (abc|def){2,4}
.sp
is compiled as if it were
.sp
  (abc|def)(abc|def)((abc|def)(abc|def)?)?
.sp
(Technical aside: It is done this way so that backtrack points within each of
the repetitions can be independently maintained.)
.P
For regular expressions whose quantifiers use only small numbers, this is not
usually a problem. However, if the numbers are large, and particularly if such
repetitions are nested, the memory usage can become an embarrassment. For
example, the very simple pattern
.sp
  ((ab){1,1000}c){1,3}
.sp
uses 51K bytes when compiled. When PCRE is compiled with its default internal
pointer size of two bytes, the size limit on a compiled pattern is 64K, and
this is reached with the above pattern if the outer repetition is increased
from 3 to 4. PCRE can be compiled to use larger internal pointers and thus
handle larger compiled patterns, but it is better to try to rewrite your
pattern to use less memory if you can.
.P
One way of reducing the memory usage for such patterns is to make use of PCRE's
.\" HTML <a href="pcrepattern.html#subpatternsassubroutines">
.\" </a>
"subroutine"
.\"
facility. Re-writing the above pattern as
.sp
  ((ab)(?2){0,999}c)(?1){0,2}
.sp
reduces the memory requirements to 18K, and indeed it remains under 20K even
with the outer repetition increased to 100. However, this pattern is not
exactly equivalent, because the "subroutine" calls are treated as
.\" HTML <a href="pcrepattern.html#atomicgroup">
.\" </a>
atomic groups
.\"
into which there can be no backtracking if there is a subsequent matching
failure. Therefore, PCRE cannot do this kind of rewriting automatically.
Furthermore, there is a noticeable loss of speed when executing the modified
pattern. Nevertheless, if the atomic grouping is not a problem and the loss of
speed is acceptable, this kind of rewriting will allow you to process patterns
that PCRE cannot otherwise handle.
.
.
.SH "STACK USAGE AT RUN TIME"
.rs
.sp
When \fBpcre_exec()\fP is used for matching, certain kinds of pattern can cause
it to use large amounts of the process stack. In some environments the default
process stack is quite small, and if it runs out the result is often SIGSEGV.
This issue is probably the most frequently raised problem with PCRE. Rewriting
your pattern can often help. The
.\" HREF
\fBpcrestack\fP
.\"
documentation discusses this issue in detail.
.
.
.SH "PROCESSING TIME"
.rs
.sp
Certain items in regular expression patterns are processed more efficiently
than others. It is more efficient to use a character class like [aeiou] than a
set of single-character alternatives such as (a|e|i|o|u). In general, the
simplest construction that provides the required behaviour is usually the most
efficient. Jeffrey Friedl's book contains a lot of useful general discussion
about optimizing regular expressions for efficient performance. This document
contains a few observations about PCRE.
.P
Using Unicode character properties (the \ep, \eP, and \eX escapes) is slow,
because PCRE has to scan a structure that contains data for over fifteen
thousand characters whenever it needs a character's property. If you can find
an alternative pattern that does not use character properties, it will probably
be faster.
.P
When a pattern begins with .* not in parentheses, or in parentheses that are
not the subject of a backreference, and the PCRE_DOTALL option is set, the
pattern is implicitly anchored by PCRE, since it can match only at the start of
a subject string. However, if PCRE_DOTALL is not set, PCRE cannot make this
optimization, because the . metacharacter does not then match a newline, and if
the subject string contains newlines, the pattern may match from the character
immediately following one of them instead of from the very start. For example,
the pattern
.sp
  .*second
.sp
matches the subject "first\enand second" (where \en stands for a newline
character), with the match starting at the seventh character. In order to do
this, PCRE has to retry the match starting after every newline in the subject.
.P
If you are using such a pattern with subject strings that do not contain
newlines, the best performance is obtained by setting PCRE_DOTALL, or starting
the pattern with ^.* or ^.*? to indicate explicit anchoring. That saves PCRE
from having to scan along the subject looking for a newline to restart at.
.P
Beware of patterns that contain nested indefinite repeats. These can take a
long time to run when applied to a string that does not match. Consider the
pattern fragment
.sp
  ^(a+)*
.sp
This can match "aaaa" in 16 different ways, and this number increases very
rapidly as the string gets longer. (The * repeat can match 0, 1, 2, 3, or 4
times, and for each of those cases other than 0 or 4, the + repeats can match
different numbers of times.) When the remainder of the pattern is such that the
entire match is going to fail, PCRE has in principle to try every possible
variation, and this can take an extremely long time, even for relatively short
strings.
.P
An optimization catches some of the more simple cases such as
.sp
  (a+)*b
.sp
where a literal character follows. Before embarking on the standard matching
procedure, PCRE checks that there is a "b" later in the subject string, and if
there is not, it fails the match immediately. However, when there is no
following literal this optimization cannot be used. You can see the difference
by comparing the behaviour of
.sp
  (a+)*\ed
.sp
with the pattern above. The former gives a failure almost instantly when
applied to a whole line of "a" characters, whereas the latter takes an
appreciable time with strings longer than about 20 characters.
.P
In many cases, the solution to this kind of performance issue is to use an
atomic group or a possessive quantifier.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 07 March 2010
Copyright (c) 1997-2010 University of Cambridge.
.fi
share/man/man3/pcresample.3000064400000005323150405535530011506 0ustar00.TH PCRESAMPLE 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH "PCRE SAMPLE PROGRAM"
.rs
.sp
A simple, complete demonstration program, to get you started with using PCRE,
is supplied in the file \fIpcredemo.c\fP in the PCRE distribution. A listing of
this program is given in the
.\" HREF
\fBpcredemo\fP
.\"
documentation. If you do not have a copy of the PCRE distribution, you can save
this listing to re-create \fIpcredemo.c\fP.
.P
The program compiles the regular expression that is its first argument, and
matches it against the subject string in its second argument. No PCRE options
are set, and default character tables are used. If matching succeeds, the
program outputs the portion of the subject that matched, together with the
contents of any captured substrings.
.P
If the -g option is given on the command line, the program then goes on to
check for further matches of the same regular expression in the same subject
string. The logic is a little bit tricky because of the possibility of matching
an empty string. Comments in the code explain what is going on.
.P
If PCRE is installed in the standard include and library directories for your
operating system, you should be able to compile the demonstration program using
this command:
.sp
  gcc -o pcredemo pcredemo.c -lpcre
.sp
If PCRE is installed elsewhere, you may need to add additional options to the
command line. For example, on a Unix-like system that has PCRE installed in
\fI/usr/local\fP, you can compile the demonstration program using a command
like this:
.sp
.\" JOINSH
  gcc -o pcredemo -I/usr/local/include pcredemo.c \e
      -L/usr/local/lib -lpcre
.sp
Once you have compiled the demonstration program, you can run simple tests like
this:
.sp
  ./pcredemo 'cat|dog' 'the cat sat on the mat'
  ./pcredemo -g 'cat|dog' 'the dog sat on the cat'
.sp
Note that there is a much more comprehensive test program, called
.\" HREF
\fBpcretest\fP,
.\"
which supports many more facilities for testing regular expressions and the
PCRE library. The
.\" HREF
\fBpcredemo\fP
.\"
program is provided as a simple coding example.
.P
When you try to run
.\" HREF
\fBpcredemo\fP
.\"
when PCRE is not installed in the standard library directory, you may get an
error like this on some operating systems (e.g. Solaris):
.sp
  ld.so.1: a.out: fatal: libpcre.so.0: open failed: No such file or directory
.sp
This is caused by the way shared library support works on those systems. You
need to add
.sp
  -R/usr/local/lib
.sp
(for example) to the compile command to get round this problem.
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 30 September 2009
Copyright (c) 1997-2009 University of Cambridge.
.fi
share/man/man3/pcre_copy_substring.3000064400000002122150405535530013430 0ustar00.TH PCRE_COPY_SUBSTRING 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_copy_substring(const char *\fIsubject\fP, int *\fIovector\fP,
.ti +5n
.B int \fIstringcount\fP, int \fIstringnumber\fP, char *\fIbuffer\fP,
.ti +5n
.B int \fIbuffersize\fP);
.
.SH DESCRIPTION
.rs
.sp
This is a convenience function for extracting a captured substring into a given
buffer. The arguments are:
.sp
  \fIsubject\fP       Subject that has been successfully matched
  \fIovector\fP       Offset vector that \fBpcre_exec()\fP used
  \fIstringcount\fP   Value returned by \fBpcre_exec()\fP
  \fIstringnumber\fP  Number of the required substring
  \fIbuffer\fP        Buffer to receive the string
  \fIbuffersize\fP    Size of buffer
.sp
The yield is the length of the string, PCRE_ERROR_NOMEMORY if the buffer was
too small, or PCRE_ERROR_NOSUBSTRING if the string number is invalid.
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man3/pcre_fullinfo.3000064400000004275150405535530012207 0ustar00.TH PCRE_FULLINFO 3
.SH NAME
PCRE - Perl-compatible regular expressions
.SH SYNOPSIS
.rs
.sp
.B #include <pcre.h>
.PP
.SM
.B int pcre_fullinfo(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
.ti +5n
.B int \fIwhat\fP, void *\fIwhere\fP);
.
.SH DESCRIPTION
.rs
.sp
This function returns information about a compiled pattern. Its arguments are:
.sp
  \fIcode\fP                      Compiled regular expression
  \fIextra\fP                     Result of \fBpcre_study()\fP or NULL
  \fIwhat\fP                      What information is required
  \fIwhere\fP                     Where to put the information
.sp
The following information is available:
.sp
  PCRE_INFO_BACKREFMAX      Number of highest back reference
  PCRE_INFO_CAPTURECOUNT    Number of capturing subpatterns
  PCRE_INFO_DEFAULT_TABLES  Pointer to default tables
  PCRE_INFO_FIRSTBYTE       Fixed first byte for a match, or
                              -1 for start of string
                                 or after newline, or
                              -2 otherwise
  PCRE_INFO_FIRSTTABLE      Table of first bytes (after studying)
  PCRE_INFO_JCHANGED        Return 1 if (?J) or (?-J) was used
  PCRE_INFO_LASTLITERAL     Literal last byte required
  PCRE_INFO_MINLENGTH       Lower bound length of matching strings
  PCRE_INFO_NAMECOUNT       Number of named subpatterns
  PCRE_INFO_NAMEENTRYSIZE   Size of name table entry
  PCRE_INFO_NAMETABLE       Pointer to name table
  PCRE_INFO_OKPARTIAL       Return 1 if partial matching can be tried
                              (always returns 1 after release 8.00)
  PCRE_INFO_OPTIONS         Option bits used for compilation
  PCRE_INFO_SIZE            Size of compiled pattern
  PCRE_INFO_STUDYSIZE       Size of study data
.sp
The yield of the function is zero on success or:
.sp
  PCRE_ERROR_NULL           the argument \fIcode\fP was NULL
                            the argument \fIwhere\fP was NULL
  PCRE_ERROR_BADMAGIC       the "magic number" was not found
  PCRE_ERROR_BADOPTION      the value of \fIwhat\fP was invalid
.P
There is a complete description of the PCRE native API in the
.\" HREF
\fBpcreapi\fP
.\"
page and a description of the POSIX API in the
.\" HREF
\fBpcreposix\fP
.\"
page.
share/man/man1/pcregrep.1000064400000105172150405535530011161 0ustar00.TH PCREGREP 1 "03 April 2014" "PCRE 8.35"
.SH NAME
pcregrep - a grep with Perl-compatible regular expressions.
.SH SYNOPSIS
.B pcregrep [options] [long options] [pattern] [path1 path2 ...]
.
.SH DESCRIPTION
.rs
.sp
\fBpcregrep\fP searches files for character patterns, in the same way as other
grep commands do, but it uses the PCRE regular expression library to support
patterns that are compatible with the regular expressions of Perl 5. See
.\" HREF
\fBpcresyntax\fP(3)
.\"
for a quick-reference summary of pattern syntax, or
.\" HREF
\fBpcrepattern\fP(3)
.\"
for a full description of the syntax and semantics of the regular expressions
that PCRE supports.
.P
Patterns, whether supplied on the command line or in a separate file, are given
without delimiters. For example:
.sp
  pcregrep Thursday /etc/motd
.sp
If you attempt to use delimiters (for example, by surrounding a pattern with
slashes, as is common in Perl scripts), they are interpreted as part of the
pattern. Quotes can of course be used to delimit patterns on the command line
because they are interpreted by the shell, and indeed quotes are required if a
pattern contains white space or shell metacharacters.
.P
The first argument that follows any option settings is treated as the single
pattern to be matched when neither \fB-e\fP nor \fB-f\fP is present.
Conversely, when one or both of these options are used to specify patterns, all
arguments are treated as path names. At least one of \fB-e\fP, \fB-f\fP, or an
argument pattern must be provided.
.P
If no files are specified, \fBpcregrep\fP reads the standard input. The
standard input can also be referenced by a name consisting of a single hyphen.
For example:
.sp
  pcregrep some-pattern /file1 - /file3
.sp
By default, each line that matches a pattern is copied to the standard
output, and if there is more than one file, the file name is output at the
start of each line, followed by a colon. However, there are options that can
change how \fBpcregrep\fP behaves. In particular, the \fB-M\fP option makes it
possible to search for patterns that span line boundaries. What defines a line
boundary is controlled by the \fB-N\fP (\fB--newline\fP) option.
.P
The amount of memory used for buffering files that are being scanned is
controlled by a parameter that can be set by the \fB--buffer-size\fP option.
The default value for this parameter is specified when \fBpcregrep\fP is built,
with the default default being 20K. A block of memory three times this size is
used (to allow for buffering "before" and "after" lines). An error occurs if a
line overflows the buffer.
.P
Patterns can be no longer than 8K or BUFSIZ bytes, whichever is the greater.
BUFSIZ is defined in \fB<stdio.h>\fP. When there is more than one pattern
(specified by the use of \fB-e\fP and/or \fB-f\fP), each pattern is applied to
each line in the order in which they are defined, except that all the \fB-e\fP
patterns are tried before the \fB-f\fP patterns.
.P
By default, as soon as one pattern matches a line, no further patterns are
considered. However, if \fB--colour\fP (or \fB--color\fP) is used to colour the
matching substrings, or if \fB--only-matching\fP, \fB--file-offsets\fP, or
\fB--line-offsets\fP is used to output only the part of the line that matched
(either shown literally, or as an offset), scanning resumes immediately
following the match, so that further matches on the same line can be found. If
there are multiple patterns, they are all tried on the remainder of the line,
but patterns that follow the one that matched are not tried on the earlier part
of the line.
.P
This behaviour means that the order in which multiple patterns are specified
can affect the output when one of the above options is used. This is no longer
the same behaviour as GNU grep, which now manages to display earlier matches
for later patterns (as long as there is no overlap).
.P
Patterns that can match an empty string are accepted, but empty string
matches are never recognized. An example is the pattern "(super)?(man)?", in
which all components are optional. This pattern finds all occurrences of both
"super" and "man"; the output differs from matching with "super|man" when only
the matching substrings are being shown.
.P
If the \fBLC_ALL\fP or \fBLC_CTYPE\fP environment variable is set,
\fBpcregrep\fP uses the value to set a locale when calling the PCRE library.
The \fB--locale\fP option can be used to override this.
.
.
.SH "SUPPORT FOR COMPRESSED FILES"
.rs
.sp
It is possible to compile \fBpcregrep\fP so that it uses \fBlibz\fP or
\fBlibbz2\fP to read files whose names end in \fB.gz\fP or \fB.bz2\fP,
respectively. You can find out whether your binary has support for one or both
of these file types by running it with the \fB--help\fP option. If the
appropriate support is not present, files are treated as plain text. The
standard input is always so treated.
.
.
.SH "BINARY FILES"
.rs
.sp
By default, a file that contains a binary zero byte within the first 1024 bytes
is identified as a binary file, and is processed specially. (GNU grep also
identifies binary files in this manner.) See the \fB--binary-files\fP option
for a means of changing the way binary files are handled.
.
.
.SH OPTIONS
.rs
.sp
The order in which some of the options appear can affect the output. For
example, both the \fB-h\fP and \fB-l\fP options affect the printing of file
names. Whichever comes later in the command line will be the one that takes
effect. Similarly, except where noted below, if an option is given twice, the
later setting is used. Numerical values for options may be followed by K or M,
to signify multiplication by 1024 or 1024*1024 respectively.
.TP 10
\fB--\fP
This terminates the list of options. It is useful if the next item on the
command line starts with a hyphen but is not an option. This allows for the
processing of patterns and filenames that start with hyphens.
.TP
\fB-A\fP \fInumber\fP, \fB--after-context=\fP\fInumber\fP
Output \fInumber\fP lines of context after each matching line. If filenames
and/or line numbers are being output, a hyphen separator is used instead of a
colon for the context lines. A line containing "--" is output between each
group of lines, unless they are in fact contiguous in the input file. The value
of \fInumber\fP is expected to be relatively small. However, \fBpcregrep\fP
guarantees to have up to 8K of following text available for context output.
.TP
\fB-a\fP, \fB--text\fP
Treat binary files as text. This is equivalent to
\fB--binary-files\fP=\fItext\fP.
.TP
\fB-B\fP \fInumber\fP, \fB--before-context=\fP\fInumber\fP
Output \fInumber\fP lines of context before each matching line. If filenames
and/or line numbers are being output, a hyphen separator is used instead of a
colon for the context lines. A line containing "--" is output between each
group of lines, unless they are in fact contiguous in the input file. The value
of \fInumber\fP is expected to be relatively small. However, \fBpcregrep\fP
guarantees to have up to 8K of preceding text available for context output.
.TP
\fB--binary-files=\fP\fIword\fP
Specify how binary files are to be processed. If the word is "binary" (the
default), pattern matching is performed on binary files, but the only output is
"Binary file <name> matches" when a match succeeds. If the word is "text",
which is equivalent to the \fB-a\fP or \fB--text\fP option, binary files are
processed in the same way as any other file. In this case, when a match
succeeds, the output may be binary garbage, which can have nasty effects if
sent to a terminal. If the word is "without-match", which is equivalent to the
\fB-I\fP option, binary files are not processed at all; they are assumed not to
be of interest.
.TP
\fB--buffer-size=\fP\fInumber\fP
Set the parameter that controls how much memory is used for buffering files
that are being scanned.
.TP
\fB-C\fP \fInumber\fP, \fB--context=\fP\fInumber\fP
Output \fInumber\fP lines of context both before and after each matching line.
This is equivalent to setting both \fB-A\fP and \fB-B\fP to the same value.
.TP
\fB-c\fP, \fB--count\fP
Do not output individual lines from the files that are being scanned; instead
output the number of lines that would otherwise have been shown. If no lines
are selected, the number zero is output. If several files are are being
scanned, a count is output for each of them. However, if the
\fB--files-with-matches\fP option is also used, only those files whose counts
are greater than zero are listed. When \fB-c\fP is used, the \fB-A\fP,
\fB-B\fP, and \fB-C\fP options are ignored.
.TP
\fB--colour\fP, \fB--color\fP
If this option is given without any data, it is equivalent to "--colour=auto".
If data is required, it must be given in the same shell item, separated by an
equals sign.
.TP
\fB--colour=\fP\fIvalue\fP, \fB--color=\fP\fIvalue\fP
This option specifies under what circumstances the parts of a line that matched
a pattern should be coloured in the output. By default, the output is not
coloured. The value (which is optional, see above) may be "never", "always", or
"auto". In the latter case, colouring happens only if the standard output is
connected to a terminal. More resources are used when colouring is enabled,
because \fBpcregrep\fP has to search for all possible matches in a line, not
just one, in order to colour them all.
.sp
The colour that is used can be specified by setting the environment variable
PCREGREP_COLOUR or PCREGREP_COLOR. The value of this variable should be a
string of two numbers, separated by a semicolon. They are copied directly into
the control string for setting colour on a terminal, so it is your
responsibility to ensure that they make sense. If neither of the environment
variables is set, the default is "1;31", which gives red.
.TP
\fB-D\fP \fIaction\fP, \fB--devices=\fP\fIaction\fP
If an input path is not a regular file or a directory, "action" specifies how
it is to be processed. Valid values are "read" (the default) or "skip"
(silently skip the path).
.TP
\fB-d\fP \fIaction\fP, \fB--directories=\fP\fIaction\fP
If an input path is a directory, "action" specifies how it is to be processed.
Valid values are "read" (the default in non-Windows environments, for
compatibility with GNU grep), "recurse" (equivalent to the \fB-r\fP option), or
"skip" (silently skip the path, the default in Windows environments). In the
"read" case, directories are read as if they were ordinary files. In some
operating systems the effect of reading a directory like this is an immediate
end-of-file; in others it may provoke an error.
.TP
\fB-e\fP \fIpattern\fP, \fB--regex=\fP\fIpattern\fP, \fB--regexp=\fP\fIpattern\fP
Specify a pattern to be matched. This option can be used multiple times in
order to specify several patterns. It can also be used as a way of specifying a
single pattern that starts with a hyphen. When \fB-e\fP is used, no argument
pattern is taken from the command line; all arguments are treated as file
names. There is no limit to the number of patterns. They are applied to each
line in the order in which they are defined until one matches.
.sp
If \fB-f\fP is used with \fB-e\fP, the command line patterns are matched first,
followed by the patterns from the file(s), independent of the order in which
these options are specified. Note that multiple use of \fB-e\fP is not the same
as a single pattern with alternatives. For example, X|Y finds the first
character in a line that is X or Y, whereas if the two patterns are given
separately, with X first, \fBpcregrep\fP finds X if it is present, even if it
follows Y in the line. It finds Y only if there is no X in the line. This
matters only if you are using \fB-o\fP or \fB--colo(u)r\fP to show the part(s)
of the line that matched.
.TP
\fB--exclude\fP=\fIpattern\fP
Files (but not directories) whose names match the pattern are skipped without
being processed. This applies to all files, whether listed on the command line,
obtained from \fB--file-list\fP, or by scanning a directory. The pattern is a
PCRE regular expression, and is matched against the final component of the file
name, not the entire path. The \fB-F\fP, \fB-w\fP, and \fB-x\fP options do not
apply to this pattern. The option may be given any number of times in order to
specify multiple patterns. If a file name matches both an \fB--include\fP
and an \fB--exclude\fP pattern, it is excluded. There is no short form for this
option.
.TP
\fB--exclude-from=\fP\fIfilename\fP
Treat each non-empty line of the file as the data for an \fB--exclude\fP
option. What constitutes a newline when reading the file is the operating
system's default. The \fB--newline\fP option has no effect on this option. This
option may be given more than once in order to specify a number of files to
read.
.TP
\fB--exclude-dir\fP=\fIpattern\fP
Directories whose names match the pattern are skipped without being processed,
whatever the setting of the \fB--recursive\fP option. This applies to all
directories, whether listed on the command line, obtained from
\fB--file-list\fP, or by scanning a parent directory. The pattern is a PCRE
regular expression, and is matched against the final component of the directory
name, not the entire path. The \fB-F\fP, \fB-w\fP, and \fB-x\fP options do not
apply to this pattern. The option may be given any number of times in order to
specify more than one pattern. If a directory matches both \fB--include-dir\fP
and \fB--exclude-dir\fP, it is excluded. There is no short form for this
option.
.TP
\fB-F\fP, \fB--fixed-strings\fP
Interpret each data-matching pattern as a list of fixed strings, separated by
newlines, instead of as a regular expression. What constitutes a newline for
this purpose is controlled by the \fB--newline\fP option. The \fB-w\fP (match
as a word) and \fB-x\fP (match whole line) options can be used with \fB-F\fP.
They apply to each of the fixed strings. A line is selected if any of the fixed
strings are found in it (subject to \fB-w\fP or \fB-x\fP, if present). This
option applies only to the patterns that are matched against the contents of
files; it does not apply to patterns specified by any of the \fB--include\fP or
\fB--exclude\fP options.
.TP
\fB-f\fP \fIfilename\fP, \fB--file=\fP\fIfilename\fP
Read patterns from the file, one per line, and match them against
each line of input. What constitutes a newline when reading the file is the
operating system's default. The \fB--newline\fP option has no effect on this
option. Trailing white space is removed from each line, and blank lines are
ignored. An empty file contains no patterns and therefore matches nothing. See
also the comments about multiple patterns versus a single pattern with
alternatives in the description of \fB-e\fP above.
.sp
If this option is given more than once, all the specified files are
read. A data line is output if any of the patterns match it. A filename can
be given as "-" to refer to the standard input. When \fB-f\fP is used, patterns
specified on the command line using \fB-e\fP may also be present; they are
tested before the file's patterns. However, no other pattern is taken from the
command line; all arguments are treated as the names of paths to be searched.
.TP
\fB--file-list\fP=\fIfilename\fP
Read a list of files and/or directories that are to be scanned from the given
file, one per line. Trailing white space is removed from each line, and blank
lines are ignored. These paths are processed before any that are listed on the
command line. The filename can be given as "-" to refer to the standard input.
If \fB--file\fP and \fB--file-list\fP are both specified as "-", patterns are
read first. This is useful only when the standard input is a terminal, from
which further lines (the list of files) can be read after an end-of-file
indication. If this option is given more than once, all the specified files are
read.
.TP
\fB--file-offsets\fP
Instead of showing lines or parts of lines that match, show each match as an
offset from the start of the file and a length, separated by a comma. In this
mode, no context is shown. That is, the \fB-A\fP, \fB-B\fP, and \fB-C\fP
options are ignored. If there is more than one match in a line, each of them is
shown separately. This option is mutually exclusive with \fB--line-offsets\fP
and \fB--only-matching\fP.
.TP
\fB-H\fP, \fB--with-filename\fP
Force the inclusion of the filename at the start of output lines when searching
a single file. By default, the filename is not shown in this case. For matching
lines, the filename is followed by a colon; for context lines, a hyphen
separator is used. If a line number is also being output, it follows the file
name.
.TP
\fB-h\fP, \fB--no-filename\fP
Suppress the output filenames when searching multiple files. By default,
filenames are shown when multiple files are searched. For matching lines, the
filename is followed by a colon; for context lines, a hyphen separator is used.
If a line number is also being output, it follows the file name.
.TP
\fB--help\fP
Output a help message, giving brief details of the command options and file
type support, and then exit. Anything else on the command line is
ignored.
.TP
\fB-I\fP
Treat binary files as never matching. This is equivalent to
\fB--binary-files\fP=\fIwithout-match\fP.
.TP
\fB-i\fP, \fB--ignore-case\fP
Ignore upper/lower case distinctions during comparisons.
.TP
\fB--include\fP=\fIpattern\fP
If any \fB--include\fP patterns are specified, the only files that are
processed are those that match one of the patterns (and do not match an
\fB--exclude\fP pattern). This option does not affect directories, but it
applies to all files, whether listed on the command line, obtained from
\fB--file-list\fP, or by scanning a directory. The pattern is a PCRE regular
expression, and is matched against the final component of the file name, not
the entire path. The \fB-F\fP, \fB-w\fP, and \fB-x\fP options do not apply to
this pattern. The option may be given any number of times. If a file name
matches both an \fB--include\fP and an \fB--exclude\fP pattern, it is excluded.
There is no short form for this option.
.TP
\fB--include-from=\fP\fIfilename\fP
Treat each non-empty line of the file as the data for an \fB--include\fP
option. What constitutes a newline for this purpose is the operating system's
default. The \fB--newline\fP option has no effect on this option. This option
may be given any number of times; all the files are read.
.TP
\fB--include-dir\fP=\fIpattern\fP
If any \fB--include-dir\fP patterns are specified, the only directories that
are processed are those that match one of the patterns (and do not match an
\fB--exclude-dir\fP pattern). This applies to all directories, whether listed
on the command line, obtained from \fB--file-list\fP, or by scanning a parent
directory. The pattern is a PCRE regular expression, and is matched against the
final component of the directory name, not the entire path. The \fB-F\fP,
\fB-w\fP, and \fB-x\fP options do not apply to this pattern. The option may be
given any number of times. If a directory matches both \fB--include-dir\fP and
\fB--exclude-dir\fP, it is excluded. There is no short form for this option.
.TP
\fB-L\fP, \fB--files-without-match\fP
Instead of outputting lines from the files, just output the names of the files
that do not contain any lines that would have been output. Each file name is
output once, on a separate line.
.TP
\fB-l\fP, \fB--files-with-matches\fP
Instead of outputting lines from the files, just output the names of the files
containing lines that would have been output. Each file name is output
once, on a separate line. Searching normally stops as soon as a matching line
is found in a file. However, if the \fB-c\fP (count) option is also used,
matching continues in order to obtain the correct count, and those files that
have at least one match are listed along with their counts. Using this option
with \fB-c\fP is a way of suppressing the listing of files with no matches.
.TP
\fB--label\fP=\fIname\fP
This option supplies a name to be used for the standard input when file names
are being output. If not supplied, "(standard input)" is used. There is no
short form for this option.
.TP
\fB--line-buffered\fP
When this option is given, input is read and processed line by line, and the
output is flushed after each write. By default, input is read in large chunks,
unless \fBpcregrep\fP can determine that it is reading from a terminal (which
is currently possible only in Unix-like environments). Output to terminal is
normally automatically flushed by the operating system. This option can be
useful when the input or output is attached to a pipe and you do not want
\fBpcregrep\fP to buffer up large amounts of data. However, its use will affect
performance, and the \fB-M\fP (multiline) option ceases to work.
.TP
\fB--line-offsets\fP
Instead of showing lines or parts of lines that match, show each match as a
line number, the offset from the start of the line, and a length. The line
number is terminated by a colon (as usual; see the \fB-n\fP option), and the
offset and length are separated by a comma. In this mode, no context is shown.
That is, the \fB-A\fP, \fB-B\fP, and \fB-C\fP options are ignored. If there is
more than one match in a line, each of them is shown separately. This option is
mutually exclusive with \fB--file-offsets\fP and \fB--only-matching\fP.
.TP
\fB--locale\fP=\fIlocale-name\fP
This option specifies a locale to be used for pattern matching. It overrides
the value in the \fBLC_ALL\fP or \fBLC_CTYPE\fP environment variables. If no
locale is specified, the PCRE library's default (usually the "C" locale) is
used. There is no short form for this option.
.TP
\fB--match-limit\fP=\fInumber\fP
Processing some regular expression patterns can require a very large amount of
memory, leading in some cases to a program crash if not enough is available.
Other patterns may take a very long time to search for all possible matching
strings. The \fBpcre_exec()\fP function that is called by \fBpcregrep\fP to do
the matching has two parameters that can limit the resources that it uses.
.sp
The \fB--match-limit\fP option provides a means of limiting resource usage
when processing patterns that are not going to match, but which have a very
large number of possibilities in their search trees. The classic example is a
pattern that uses nested unlimited repeats. Internally, PCRE uses a function
called \fBmatch()\fP which it calls repeatedly (sometimes recursively). The
limit set by \fB--match-limit\fP is imposed on the number of times this
function is called during a match, which has the effect of limiting the amount
of backtracking that can take place.
.sp
The \fB--recursion-limit\fP option is similar to \fB--match-limit\fP, but
instead of limiting the total number of times that \fBmatch()\fP is called, it
limits the depth of recursive calls, which in turn limits the amount of memory
that can be used. The recursion depth is a smaller number than the total number
of calls, because not all calls to \fBmatch()\fP are recursive. This limit is
of use only if it is set smaller than \fB--match-limit\fP.
.sp
There are no short forms for these options. The default settings are specified
when the PCRE library is compiled, with the default default being 10 million.
.TP
\fB-M\fP, \fB--multiline\fP
Allow patterns to match more than one line. When this option is given, patterns
may usefully contain literal newline characters and internal occurrences of ^
and $ characters. The output for a successful match may consist of more than
one line, the last of which is the one in which the match ended. If the matched
string ends with a newline sequence the output ends at the end of that line.
.sp
When this option is set, the PCRE library is called in "multiline" mode.
There is a limit to the number of lines that can be matched, imposed by the way
that \fBpcregrep\fP buffers the input file as it scans it. However,
\fBpcregrep\fP ensures that at least 8K characters or the rest of the document
(whichever is the shorter) are available for forward matching, and similarly
the previous 8K characters (or all the previous characters, if fewer than 8K)
are guaranteed to be available for lookbehind assertions. This option does not
work when input is read line by line (see \fP--line-buffered\fP.)
.TP
\fB-N\fP \fInewline-type\fP, \fB--newline\fP=\fInewline-type\fP
The PCRE library supports five different conventions for indicating
the ends of lines. They are the single-character sequences CR (carriage return)
and LF (linefeed), the two-character sequence CRLF, an "anycrlf" convention,
which recognizes any of the preceding three types, and an "any" convention, in
which any Unicode line ending sequence is assumed to end a line. The Unicode
sequences are the three just mentioned, plus VT (vertical tab, U+000B), FF
(form feed, U+000C), NEL (next line, U+0085), LS (line separator, U+2028), and
PS (paragraph separator, U+2029).
.sp
When the PCRE library is built, a default line-ending sequence is specified.
This is normally the standard sequence for the operating system. Unless
otherwise specified by this option, \fBpcregrep\fP uses the library's default.
The possible values for this option are CR, LF, CRLF, ANYCRLF, or ANY. This
makes it possible to use \fBpcregrep\fP to scan files that have come from other
environments without having to modify their line endings. If the data that is
being scanned does not agree with the convention set by this option,
\fBpcregrep\fP may behave in strange ways. Note that this option does not
apply to files specified by the \fB-f\fP, \fB--exclude-from\fP, or
\fB--include-from\fP options, which are expected to use the operating system's
standard newline sequence.
.TP
\fB-n\fP, \fB--line-number\fP
Precede each output line by its line number in the file, followed by a colon
for matching lines or a hyphen for context lines. If the filename is also being
output, it precedes the line number. This option is forced if
\fB--line-offsets\fP is used.
.TP
\fB--no-jit\fP
If the PCRE library is built with support for just-in-time compiling (which
speeds up matching), \fBpcregrep\fP automatically makes use of this, unless it
was explicitly disabled at build time. This option can be used to disable the
use of JIT at run time. It is provided for testing and working round problems.
It should never be needed in normal use.
.TP
\fB-o\fP, \fB--only-matching\fP
Show only the part of the line that matched a pattern instead of the whole
line. In this mode, no context is shown. That is, the \fB-A\fP, \fB-B\fP, and
\fB-C\fP options are ignored. If there is more than one match in a line, each
of them is shown separately. If \fB-o\fP is combined with \fB-v\fP (invert the
sense of the match to find non-matching lines), no output is generated, but the
return code is set appropriately. If the matched portion of the line is empty,
nothing is output unless the file name or line number are being printed, in
which case they are shown on an otherwise empty line. This option is mutually
exclusive with \fB--file-offsets\fP and \fB--line-offsets\fP.
.TP
\fB-o\fP\fInumber\fP, \fB--only-matching\fP=\fInumber\fP
Show only the part of the line that matched the capturing parentheses of the
given number. Up to 32 capturing parentheses are supported, and -o0 is
equivalent to \fB-o\fP without a number. Because these options can be given
without an argument (see above), if an argument is present, it must be given in
the same shell item, for example, -o3 or --only-matching=2. The comments given
for the non-argument case above also apply to this case. If the specified
capturing parentheses do not exist in the pattern, or were not set in the
match, nothing is output unless the file name or line number are being printed.
.sp
If this option is given multiple times, multiple substrings are output, in the
order the options are given. For example, -o3 -o1 -o3 causes the substrings
matched by capturing parentheses 3 and 1 and then 3 again to be output. By
default, there is no separator (but see the next option).
.TP
\fB--om-separator\fP=\fItext\fP
Specify a separating string for multiple occurrences of \fB-o\fP. The default
is an empty string. Separating strings are never coloured.
.TP
\fB-q\fP, \fB--quiet\fP
Work quietly, that is, display nothing except error messages. The exit
status indicates whether or not any matches were found.
.TP
\fB-r\fP, \fB--recursive\fP
If any given path is a directory, recursively scan the files it contains,
taking note of any \fB--include\fP and \fB--exclude\fP settings. By default, a
directory is read as a normal file; in some operating systems this gives an
immediate end-of-file. This option is a shorthand for setting the \fB-d\fP
option to "recurse".
.TP
\fB--recursion-limit\fP=\fInumber\fP
See \fB--match-limit\fP above.
.TP
\fB-s\fP, \fB--no-messages\fP
Suppress error messages about non-existent or unreadable files. Such files are
quietly skipped. However, the return code is still 2, even if matches were
found in other files.
.TP
\fB-u\fP, \fB--utf-8\fP
Operate in UTF-8 mode. This option is available only if PCRE has been compiled
with UTF-8 support. All patterns (including those for any \fB--exclude\fP and
\fB--include\fP options) and all subject lines that are scanned must be valid
strings of UTF-8 characters.
.TP
\fB-V\fP, \fB--version\fP
Write the version numbers of \fBpcregrep\fP and the PCRE library to the
standard output and then exit. Anything else on the command line is
ignored.
.TP
\fB-v\fP, \fB--invert-match\fP
Invert the sense of the match, so that lines which do \fInot\fP match any of
the patterns are the ones that are found.
.TP
\fB-w\fP, \fB--word-regex\fP, \fB--word-regexp\fP
Force the patterns to match only whole words. This is equivalent to having \eb
at the start and end of the pattern. This option applies only to the patterns
that are matched against the contents of files; it does not apply to patterns
specified by any of the \fB--include\fP or \fB--exclude\fP options.
.TP
\fB-x\fP, \fB--line-regex\fP, \fB--line-regexp\fP
Force the patterns to be anchored (each must start matching at the beginning of
a line) and in addition, require them to match entire lines. This is equivalent
to having ^ and $ characters at the start and end of each alternative branch in
every pattern. This option applies only to the patterns that are matched
against the contents of files; it does not apply to patterns specified by any
of the \fB--include\fP or \fB--exclude\fP options.
.
.
.SH "ENVIRONMENT VARIABLES"
.rs
.sp
The environment variables \fBLC_ALL\fP and \fBLC_CTYPE\fP are examined, in that
order, for a locale. The first one that is set is used. This can be overridden
by the \fB--locale\fP option. If no locale is set, the PCRE library's default
(usually the "C" locale) is used.
.
.
.SH "NEWLINES"
.rs
.sp
The \fB-N\fP (\fB--newline\fP) option allows \fBpcregrep\fP to scan files with
different newline conventions from the default. Any parts of the input files
that are written to the standard output are copied identically, with whatever
newline sequences they have in the input. However, the setting of this option
does not affect the interpretation of files specified by the \fB-f\fP,
\fB--exclude-from\fP, or \fB--include-from\fP options, which are assumed to use
the operating system's standard newline sequence, nor does it affect the way in
which \fBpcregrep\fP writes informational messages to the standard error and
output streams. For these it uses the string "\en" to indicate newlines,
relying on the C I/O library to convert this to an appropriate sequence.
.
.
.SH "OPTIONS COMPATIBILITY"
.rs
.sp
Many of the short and long forms of \fBpcregrep\fP's options are the same
as in the GNU \fBgrep\fP program. Any long option of the form
\fB--xxx-regexp\fP (GNU terminology) is also available as \fB--xxx-regex\fP
(PCRE terminology). However, the \fB--file-list\fP, \fB--file-offsets\fP,
\fB--include-dir\fP, \fB--line-offsets\fP, \fB--locale\fP, \fB--match-limit\fP,
\fB-M\fP, \fB--multiline\fP, \fB-N\fP, \fB--newline\fP, \fB--om-separator\fP,
\fB--recursion-limit\fP, \fB-u\fP, and \fB--utf-8\fP options are specific to
\fBpcregrep\fP, as is the use of the \fB--only-matching\fP option with a
capturing parentheses number.
.P
Although most of the common options work the same way, a few are different in
\fBpcregrep\fP. For example, the \fB--include\fP option's argument is a glob
for GNU \fBgrep\fP, but a regular expression for \fBpcregrep\fP. If both the
\fB-c\fP and \fB-l\fP options are given, GNU grep lists only file names,
without counts, but \fBpcregrep\fP gives the counts.
.
.
.SH "OPTIONS WITH DATA"
.rs
.sp
There are four different ways in which an option with data can be specified.
If a short form option is used, the data may follow immediately, or (with one
exception) in the next command line item. For example:
.sp
  -f/some/file
  -f /some/file
.sp
The exception is the \fB-o\fP option, which may appear with or without data.
Because of this, if data is present, it must follow immediately in the same
item, for example -o3.
.P
If a long form option is used, the data may appear in the same command line
item, separated by an equals character, or (with two exceptions) it may appear
in the next command line item. For example:
.sp
  --file=/some/file
  --file /some/file
.sp
Note, however, that if you want to supply a file name beginning with ~ as data
in a shell command, and have the shell expand ~ to a home directory, you must
separate the file name from the option, because the shell does not treat ~
specially unless it is at the start of an item.
.P
The exceptions to the above are the \fB--colour\fP (or \fB--color\fP) and
\fB--only-matching\fP options, for which the data is optional. If one of these
options does have data, it must be given in the first form, using an equals
character. Otherwise \fBpcregrep\fP will assume that it has no data.
.
.
.SH "MATCHING ERRORS"
.rs
.sp
It is possible to supply a regular expression that takes a very long time to
fail to match certain lines. Such patterns normally involve nested indefinite
repeats, for example: (a+)*\ed when matched against a line of a's with no final
digit. The PCRE matching function has a resource limit that causes it to abort
in these circumstances. If this happens, \fBpcregrep\fP outputs an error
message and the line that caused the problem to the standard error stream. If
there are more than 20 such errors, \fBpcregrep\fP gives up.
.P
The \fB--match-limit\fP option of \fBpcregrep\fP can be used to set the overall
resource limit; there is a second option called \fB--recursion-limit\fP that
sets a limit on the amount of memory (usually stack) that is used (see the
discussion of these options above).
.
.
.SH DIAGNOSTICS
.rs
.sp
Exit status is 0 if any matches were found, 1 if no matches were found, and 2
for syntax errors, overlong lines, non-existent or inaccessible files (even if
matches were found in other files) or too many matching errors. Using the
\fB-s\fP option to suppress error messages about inaccessible files does not
affect the return code.
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcrepattern\fP(3), \fBpcresyntax\fP(3), \fBpcretest\fP(1).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 03 April 2014
Copyright (c) 1997-2014 University of Cambridge.
.fi
share/man/man1/pcretest.1000064400000140460150405535530011202 0ustar00.TH PCRETEST 1 "23 February 2017" "PCRE 8.41"
.SH NAME
pcretest - a program for testing Perl-compatible regular expressions.
.SH SYNOPSIS
.rs
.sp
.B pcretest "[options] [input file [output file]]"
.sp
\fBpcretest\fP was written as a test program for the PCRE regular expression
library itself, but it can also be used for experimenting with regular
expressions. This document describes the features of the test program; for
details of the regular expressions themselves, see the
.\" HREF
\fBpcrepattern\fP
.\"
documentation. For details of the PCRE library function calls and their
options, see the
.\" HREF
\fBpcreapi\fP
.\"
,
.\" HREF
\fBpcre16\fP
and
.\" HREF
\fBpcre32\fP
.\"
documentation.
.P
The input for \fBpcretest\fP is a sequence of regular expression patterns and
strings to be matched, as described below. The output shows the result of each
match. Options on the command line and the patterns control PCRE options and
exactly what is output.
.P
As PCRE has evolved, it has acquired many different features, and as a result,
\fBpcretest\fP now has rather a lot of obscure options for testing every
possible feature. Some of these options are specifically designed for use in
conjunction with the test script and data files that are distributed as part of
PCRE, and are unlikely to be of use otherwise. They are all documented here,
but without much justification.
.
.
.SH "INPUT DATA FORMAT"
.rs
.sp
Input to \fBpcretest\fP is processed line by line, either by calling the C
library's \fBfgets()\fP function, or via the \fBlibreadline\fP library (see
below). In Unix-like environments, \fBfgets()\fP treats any bytes other than
newline as data characters. However, in some Windows environments character 26
(hex 1A) causes an immediate end of file, and no further data is read. For
maximum portability, therefore, it is safest to use only ASCII characters in
\fBpcretest\fP input files.
.P
The input is processed using using C's string functions, so must not
contain binary zeroes, even though in Unix-like environments, \fBfgets()\fP
treats any bytes other than newline as data characters.
.
.
.SH "PCRE's 8-BIT, 16-BIT AND 32-BIT LIBRARIES"
.rs
.sp
From release 8.30, two separate PCRE libraries can be built. The original one
supports 8-bit character strings, whereas the newer 16-bit library supports
character strings encoded in 16-bit units. From release 8.32, a third library
can be built, supporting character strings encoded in 32-bit units. The
\fBpcretest\fP program can be used to test all three libraries. However, it is
itself still an 8-bit program, reading 8-bit input and writing 8-bit output.
When testing the 16-bit or 32-bit library, the patterns and data strings are
converted to 16- or 32-bit format before being passed to the PCRE library
functions. Results are converted to 8-bit for output.
.P
References to functions and structures of the form \fBpcre[16|32]_xx\fP below
mean "\fBpcre_xx\fP when using the 8-bit library, \fBpcre16_xx\fP when using
the 16-bit library, or \fBpcre32_xx\fP when using the 32-bit library".
.
.
.SH "COMMAND LINE OPTIONS"
.rs
.TP 10
\fB-8\fP
If both the 8-bit library has been built, this option causes the 8-bit library
to be used (which is the default); if the 8-bit library has not been built,
this option causes an error.
.TP 10
\fB-16\fP
If both the 8-bit or the 32-bit, and the 16-bit libraries have been built, this
option causes the 16-bit library to be used. If only the 16-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 32-bit
library has been built, this option causes an error.
.TP 10
\fB-32\fP
If both the 8-bit or the 16-bit, and the 32-bit libraries have been built, this
option causes the 32-bit library to be used. If only the 32-bit library has been
built, this is the default (so has no effect). If only the 8-bit or the 16-bit
library has been built, this option causes an error.
.TP 10
\fB-b\fP
Behave as if each pattern has the \fB/B\fP (show byte code) modifier; the
internal form is output after compilation.
.TP 10
\fB-C\fP
Output the version number of the PCRE library, and all available information
about the optional features that are included, and then exit with zero exit
code. All other options are ignored.
.TP 10
\fB-C\fP \fIoption\fP
Output information about a specific build-time option, then exit. This
functionality is intended for use in scripts such as \fBRunTest\fP. The
following options output the value and set the exit code as indicated:
.sp
  ebcdic-nl  the code for LF (= NL) in an EBCDIC environment:
               0x15 or 0x25
               0 if used in an ASCII environment
               exit code is always 0
  linksize   the configured internal link size (2, 3, or 4)
               exit code is set to the link size
  newline    the default newline setting:
               CR, LF, CRLF, ANYCRLF, or ANY
               exit code is always 0
  bsr        the default setting for what \eR matches:
               ANYCRLF or ANY
               exit code is always 0
.sp
The following options output 1 for true or 0 for false, and set the exit code
to the same value:
.sp
  ebcdic     compiled for an EBCDIC environment
  jit        just-in-time support is available
  pcre16     the 16-bit library was built
  pcre32     the 32-bit library was built
  pcre8      the 8-bit library was built
  ucp        Unicode property support is available
  utf        UTF-8 and/or UTF-16 and/or UTF-32 support
               is available
.sp
If an unknown option is given, an error message is output; the exit code is 0.
.TP 10
\fB-d\fP
Behave as if each pattern has the \fB/D\fP (debug) modifier; the internal
form and information about the compiled pattern is output after compilation;
\fB-d\fP is equivalent to \fB-b -i\fP.
.TP 10
\fB-dfa\fP
Behave as if each data line contains the \eD escape sequence; this causes the
alternative matching function, \fBpcre[16|32]_dfa_exec()\fP, to be used instead
of the standard \fBpcre[16|32]_exec()\fP function (more detail is given below).
.TP 10
\fB-help\fP
Output a brief summary these options and then exit.
.TP 10
\fB-i\fP
Behave as if each pattern has the \fB/I\fP modifier; information about the
compiled pattern is given after compilation.
.TP 10
\fB-M\fP
Behave as if each data line contains the \eM escape sequence; this causes
PCRE to discover the minimum MATCH_LIMIT and MATCH_LIMIT_RECURSION settings by
calling \fBpcre[16|32]_exec()\fP repeatedly with different limits.
.TP 10
\fB-m\fP
Output the size of each compiled pattern after it has been compiled. This is
equivalent to adding \fB/M\fP to each regular expression. The size is given in
bytes for both libraries.
.TP 10
\fB-O\fP
Behave as if each pattern has the \fB/O\fP modifier, that is disable
auto-possessification for all patterns.
.TP 10
\fB-o\fP \fIosize\fP
Set the number of elements in the output vector that is used when calling
\fBpcre[16|32]_exec()\fP or \fBpcre[16|32]_dfa_exec()\fP to be \fIosize\fP. The
default value is 45, which is enough for 14 capturing subexpressions for
\fBpcre[16|32]_exec()\fP or 22 different matches for
\fBpcre[16|32]_dfa_exec()\fP.
The vector size can be changed for individual matching calls by including \eO
in the data line (see below).
.TP 10
\fB-p\fP
Behave as if each pattern has the \fB/P\fP modifier; the POSIX wrapper API is
used to call PCRE. None of the other options has any effect when \fB-p\fP is
set. This option can be used only with the 8-bit library.
.TP 10
\fB-q\fP
Do not output the version number of \fBpcretest\fP at the start of execution.
.TP 10
\fB-S\fP \fIsize\fP
On Unix-like systems, set the size of the run-time stack to \fIsize\fP
megabytes.
.TP 10
\fB-s\fP or \fB-s+\fP
Behave as if each pattern has the \fB/S\fP modifier; in other words, force each
pattern to be studied. If \fB-s+\fP is used, all the JIT compile options are
passed to \fBpcre[16|32]_study()\fP, causing just-in-time optimization to be set
up if it is available, for both full and partial matching. Specific JIT compile
options can be selected by following \fB-s+\fP with a digit in the range 1 to
7, which selects the JIT compile modes as follows:
.sp
  1  normal match only
  2  soft partial match only
  3  normal match and soft partial match
  4  hard partial match only
  6  soft and hard partial match
  7  all three modes (default)
.sp
If \fB-s++\fP is used instead of \fB-s+\fP (with or without a following digit),
the text "(JIT)" is added to the first output line after a match or no match
when JIT-compiled code was actually used.
.sp
Note that there are pattern options that can override \fB-s\fP, either
specifying no studying at all, or suppressing JIT compilation.
.sp
If the \fB/I\fP or \fB/D\fP option is present on a pattern (requesting output
about the compiled pattern), information about the result of studying is not
included when studying is caused only by \fB-s\fP and neither \fB-i\fP nor
\fB-d\fP is present on the command line. This behaviour means that the output
from tests that are run with and without \fB-s\fP should be identical, except
when options that output information about the actual running of a match are
set.
.sp
The \fB-M\fP, \fB-t\fP, and \fB-tm\fP options, which give information about
resources used, are likely to produce different output with and without
\fB-s\fP. Output may also differ if the \fB/C\fP option is present on an
individual pattern. This uses callouts to trace the the matching process, and
this may be different between studied and non-studied patterns. If the pattern
contains (*MARK) items there may also be differences, for the same reason. The
\fB-s\fP command line option can be overridden for specific patterns that
should never be studied (see the \fB/S\fP pattern modifier below).
.TP 10
\fB-t\fP
Run each compile, study, and match many times with a timer, and output the
resulting times per compile, study, or match (in milliseconds). Do not set
\fB-m\fP with \fB-t\fP, because you will then get the size output a zillion
times, and the timing will be distorted. You can control the number of
iterations that are used for timing by following \fB-t\fP with a number (as a
separate item on the command line). For example, "-t 1000" iterates 1000 times.
The default is to iterate 500000 times.
.TP 10
\fB-tm\fP
This is like \fB-t\fP except that it times only the matching phase, not the
compile or study phases.
.TP 10
\fB-T\fP \fB-TM\fP
These behave like \fB-t\fP and \fB-tm\fP, but in addition, at the end of a run,
the total times for all compiles, studies, and matches are output.
.
.
.SH DESCRIPTION
.rs
.sp
If \fBpcretest\fP is given two filename arguments, it reads from the first and
writes to the second. If it is given only one filename argument, it reads from
that file and writes to stdout. Otherwise, it reads from stdin and writes to
stdout, and prompts for each line of input, using "re>" to prompt for regular
expressions, and "data>" to prompt for data lines.
.P
When \fBpcretest\fP is built, a configuration option can specify that it should
be linked with the \fBlibreadline\fP library. When this is done, if the input
is from a terminal, it is read using the \fBreadline()\fP function. This
provides line-editing and history facilities. The output from the \fB-help\fP
option states whether or not \fBreadline()\fP will be used.
.P
The program handles any number of sets of input on a single input file. Each
set starts with a regular expression, and continues with any number of data
lines to be matched against that pattern.
.P
Each data line is matched separately and independently. If you want to do
multi-line matches, you have to use the \en escape sequence (or \er or \er\en,
etc., depending on the newline setting) in a single line of input to encode the
newline sequences. There is no limit on the length of data lines; the input
buffer is automatically extended if it is too small.
.P
An empty line signals the end of the data lines, at which point a new regular
expression is read. The regular expressions are given enclosed in any
non-alphanumeric delimiters other than backslash, for example:
.sp
  /(a|bc)x+yz/
.sp
White space before the initial delimiter is ignored. A regular expression may
be continued over several input lines, in which case the newline characters are
included within it. It is possible to include the delimiter within the pattern
by escaping it, for example
.sp
  /abc\e/def/
.sp
If you do so, the escape and the delimiter form part of the pattern, but since
delimiters are always non-alphanumeric, this does not affect its interpretation.
If the terminating delimiter is immediately followed by a backslash, for
example,
.sp
  /abc/\e
.sp
then a backslash is added to the end of the pattern. This is done to provide a
way of testing the error condition that arises if a pattern finishes with a
backslash, because
.sp
  /abc\e/
.sp
is interpreted as the first line of a pattern that starts with "abc/", causing
pcretest to read the next line as a continuation of the regular expression.
.
.
.SH "PATTERN MODIFIERS"
.rs
.sp
A pattern may be followed by any number of modifiers, which are mostly single
characters, though some of these can be qualified by further characters.
Following Perl usage, these are referred to below as, for example, "the
\fB/i\fP modifier", even though the delimiter of the pattern need not always be
a slash, and no slash is used when writing modifiers. White space may appear
between the final pattern delimiter and the first modifier, and between the
modifiers themselves. For reference, here is a complete list of modifiers. They
fall into several groups that are described in detail in the following
sections.
.sp
  \fB/8\fP              set UTF mode
  \fB/9\fP              set PCRE_NEVER_UTF (locks out UTF mode)
  \fB/?\fP              disable UTF validity check
  \fB/+\fP              show remainder of subject after match
  \fB/=\fP              show all captures (not just those that are set)
.sp
  \fB/A\fP              set PCRE_ANCHORED
  \fB/B\fP              show compiled code
  \fB/C\fP              set PCRE_AUTO_CALLOUT
  \fB/D\fP              same as \fB/B\fP plus \fB/I\fP
  \fB/E\fP              set PCRE_DOLLAR_ENDONLY
  \fB/F\fP              flip byte order in compiled pattern
  \fB/f\fP              set PCRE_FIRSTLINE
  \fB/G\fP              find all matches (shorten string)
  \fB/g\fP              find all matches (use startoffset)
  \fB/I\fP              show information about pattern
  \fB/i\fP              set PCRE_CASELESS
  \fB/J\fP              set PCRE_DUPNAMES
  \fB/K\fP              show backtracking control names
  \fB/L\fP              set locale
  \fB/M\fP              show compiled memory size
  \fB/m\fP              set PCRE_MULTILINE
  \fB/N\fP              set PCRE_NO_AUTO_CAPTURE
  \fB/O\fP              set PCRE_NO_AUTO_POSSESS
  \fB/P\fP              use the POSIX wrapper
  \fB/Q\fP              test external stack check function
  \fB/S\fP              study the pattern after compilation
  \fB/s\fP              set PCRE_DOTALL
  \fB/T\fP              select character tables
  \fB/U\fP              set PCRE_UNGREEDY
  \fB/W\fP              set PCRE_UCP
  \fB/X\fP              set PCRE_EXTRA
  \fB/x\fP              set PCRE_EXTENDED
  \fB/Y\fP              set PCRE_NO_START_OPTIMIZE
  \fB/Z\fP              don't show lengths in \fB/B\fP output
.sp
  \fB/<any>\fP          set PCRE_NEWLINE_ANY
  \fB/<anycrlf>\fP      set PCRE_NEWLINE_ANYCRLF
  \fB/<cr>\fP           set PCRE_NEWLINE_CR
  \fB/<crlf>\fP         set PCRE_NEWLINE_CRLF
  \fB/<lf>\fP           set PCRE_NEWLINE_LF
  \fB/<bsr_anycrlf>\fP  set PCRE_BSR_ANYCRLF
  \fB/<bsr_unicode>\fP  set PCRE_BSR_UNICODE
  \fB/<JS>\fP           set PCRE_JAVASCRIPT_COMPAT
.sp
.
.
.SS "Perl-compatible modifiers"
.rs
.sp
The \fB/i\fP, \fB/m\fP, \fB/s\fP, and \fB/x\fP modifiers set the PCRE_CASELESS,
PCRE_MULTILINE, PCRE_DOTALL, or PCRE_EXTENDED options, respectively, when
\fBpcre[16|32]_compile()\fP is called. These four modifier letters have the same
effect as they do in Perl. For example:
.sp
  /caseless/i
.sp
.
.
.SS "Modifiers for other PCRE options"
.rs
.sp
The following table shows additional modifiers for setting PCRE compile-time
options that do not correspond to anything in Perl:
.sp
  \fB/8\fP              PCRE_UTF8           ) when using the 8-bit
  \fB/?\fP              PCRE_NO_UTF8_CHECK  )   library
.sp
  \fB/8\fP              PCRE_UTF16          ) when using the 16-bit
  \fB/?\fP              PCRE_NO_UTF16_CHECK )   library
.sp
  \fB/8\fP              PCRE_UTF32          ) when using the 32-bit
  \fB/?\fP              PCRE_NO_UTF32_CHECK )   library
.sp
  \fB/9\fP              PCRE_NEVER_UTF
  \fB/A\fP              PCRE_ANCHORED
  \fB/C\fP              PCRE_AUTO_CALLOUT
  \fB/E\fP              PCRE_DOLLAR_ENDONLY
  \fB/f\fP              PCRE_FIRSTLINE
  \fB/J\fP              PCRE_DUPNAMES
  \fB/N\fP              PCRE_NO_AUTO_CAPTURE
  \fB/O\fP              PCRE_NO_AUTO_POSSESS
  \fB/U\fP              PCRE_UNGREEDY
  \fB/W\fP              PCRE_UCP
  \fB/X\fP              PCRE_EXTRA
  \fB/Y\fP              PCRE_NO_START_OPTIMIZE
  \fB/<any>\fP          PCRE_NEWLINE_ANY
  \fB/<anycrlf>\fP      PCRE_NEWLINE_ANYCRLF
  \fB/<cr>\fP           PCRE_NEWLINE_CR
  \fB/<crlf>\fP         PCRE_NEWLINE_CRLF
  \fB/<lf>\fP           PCRE_NEWLINE_LF
  \fB/<bsr_anycrlf>\fP  PCRE_BSR_ANYCRLF
  \fB/<bsr_unicode>\fP  PCRE_BSR_UNICODE
  \fB/<JS>\fP           PCRE_JAVASCRIPT_COMPAT
.sp
The modifiers that are enclosed in angle brackets are literal strings as shown,
including the angle brackets, but the letters within can be in either case.
This example sets multiline matching with CRLF as the line ending sequence:
.sp
  /^abc/m<CRLF>
.sp
As well as turning on the PCRE_UTF8/16/32 option, the \fB/8\fP modifier causes
all non-printing characters in output strings to be printed using the
\ex{hh...} notation. Otherwise, those less than 0x100 are output in hex without
the curly brackets.
.P
Full details of the PCRE options are given in the
.\" HREF
\fBpcreapi\fP
.\"
documentation.
.
.
.SS "Finding all matches in a string"
.rs
.sp
Searching for all possible matches within each subject string can be requested
by the \fB/g\fP or \fB/G\fP modifier. After finding a match, PCRE is called
again to search the remainder of the subject string. The difference between
\fB/g\fP and \fB/G\fP is that the former uses the \fIstartoffset\fP argument to
\fBpcre[16|32]_exec()\fP to start searching at a new point within the entire
string (which is in effect what Perl does), whereas the latter passes over a
shortened substring. This makes a difference to the matching process if the
pattern begins with a lookbehind assertion (including \eb or \eB).
.P
If any call to \fBpcre[16|32]_exec()\fP in a \fB/g\fP or \fB/G\fP sequence matches
an empty string, the next call is done with the PCRE_NOTEMPTY_ATSTART and
PCRE_ANCHORED flags set in order to search for another, non-empty, match at the
same point. If this second match fails, the start offset is advanced, and the
normal match is retried. This imitates the way Perl handles such cases when
using the \fB/g\fP modifier or the \fBsplit()\fP function. Normally, the start
offset is advanced by one character, but if the newline convention recognizes
CRLF as a newline, and the current character is CR followed by LF, an advance
of two is used.
.
.
.SS "Other modifiers"
.rs
.sp
There are yet more modifiers for controlling the way \fBpcretest\fP
operates.
.P
The \fB/+\fP modifier requests that as well as outputting the substring that
matched the entire pattern, \fBpcretest\fP should in addition output the
remainder of the subject string. This is useful for tests where the subject
contains multiple copies of the same substring. If the \fB+\fP modifier appears
twice, the same action is taken for captured substrings. In each case the
remainder is output on the following line with a plus character following the
capture number. Note that this modifier must not immediately follow the /S
modifier because /S+ and /S++ have other meanings.
.P
The \fB/=\fP modifier requests that the values of all potential captured
parentheses be output after a match. By default, only those up to the highest
one actually used in the match are output (corresponding to the return code
from \fBpcre[16|32]_exec()\fP). Values in the offsets vector corresponding to
higher numbers should be set to -1, and these are output as "<unset>". This
modifier gives a way of checking that this is happening.
.P
The \fB/B\fP modifier is a debugging feature. It requests that \fBpcretest\fP
output a representation of the compiled code after compilation. Normally this
information contains length and offset values; however, if \fB/Z\fP is also
present, this data is replaced by spaces. This is a special feature for use in
the automatic test scripts; it ensures that the same output is generated for
different internal link sizes.
.P
The \fB/D\fP modifier is a PCRE debugging feature, and is equivalent to
\fB/BI\fP, that is, both the \fB/B\fP and the \fB/I\fP modifiers.
.P
The \fB/F\fP modifier causes \fBpcretest\fP to flip the byte order of the
2-byte and 4-byte fields in the compiled pattern. This facility is for testing
the feature in PCRE that allows it to execute patterns that were compiled on a
host with a different endianness. This feature is not available when the POSIX
interface to PCRE is being used, that is, when the \fB/P\fP pattern modifier is
specified. See also the section about saving and reloading compiled patterns
below.
.P
The \fB/I\fP modifier requests that \fBpcretest\fP output information about the
compiled pattern (whether it is anchored, has a fixed first character, and
so on). It does this by calling \fBpcre[16|32]_fullinfo()\fP after compiling a
pattern. If the pattern is studied, the results of that are also output. In
this output, the word "char" means a non-UTF character, that is, the value of a
single data item (8-bit, 16-bit, or 32-bit, depending on the library that is
being tested).
.P
The \fB/K\fP modifier requests \fBpcretest\fP to show names from backtracking
control verbs that are returned from calls to \fBpcre[16|32]_exec()\fP. It causes
\fBpcretest\fP to create a \fBpcre[16|32]_extra\fP block if one has not already
been created by a call to \fBpcre[16|32]_study()\fP, and to set the
PCRE_EXTRA_MARK flag and the \fBmark\fP field within it, every time that
\fBpcre[16|32]_exec()\fP is called. If the variable that the \fBmark\fP field
points to is non-NULL for a match, non-match, or partial match, \fBpcretest\fP
prints the string to which it points. For a match, this is shown on a line by
itself, tagged with "MK:". For a non-match it is added to the message.
.P
The \fB/L\fP modifier must be followed directly by the name of a locale, for
example,
.sp
  /pattern/Lfr_FR
.sp
For this reason, it must be the last modifier. The given locale is set,
\fBpcre[16|32]_maketables()\fP is called to build a set of character tables for
the locale, and this is then passed to \fBpcre[16|32]_compile()\fP when compiling
the regular expression. Without an \fB/L\fP (or \fB/T\fP) modifier, NULL is
passed as the tables pointer; that is, \fB/L\fP applies only to the expression
on which it appears.
.P
The \fB/M\fP modifier causes the size in bytes of the memory block used to hold
the compiled pattern to be output. This does not include the size of the
\fBpcre[16|32]\fP block; it is just the actual compiled data. If the pattern is
successfully studied with the PCRE_STUDY_JIT_COMPILE option, the size of the
JIT compiled code is also output.
.P
The \fB/Q\fP modifier is used to test the use of \fBpcre_stack_guard\fP. It
must be followed by '0' or '1', specifying the return code to be given from an
external function that is passed to PCRE and used for stack checking during
compilation (see the
.\" HREF
\fBpcreapi\fP
.\"
documentation for details).
.P
The \fB/S\fP modifier causes \fBpcre[16|32]_study()\fP to be called after the
expression has been compiled, and the results used when the expression is
matched. There are a number of qualifying characters that may follow \fB/S\fP.
They may appear in any order.
.P
If \fB/S\fP is followed by an exclamation mark, \fBpcre[16|32]_study()\fP is
called with the PCRE_STUDY_EXTRA_NEEDED option, causing it always to return a
\fBpcre_extra\fP block, even when studying discovers no useful information.
.P
If \fB/S\fP is followed by a second S character, it suppresses studying, even
if it was requested externally by the \fB-s\fP command line option. This makes
it possible to specify that certain patterns are always studied, and others are
never studied, independently of \fB-s\fP. This feature is used in the test
files in a few cases where the output is different when the pattern is studied.
.P
If the \fB/S\fP modifier is followed by a + character, the call to
\fBpcre[16|32]_study()\fP is made with all the JIT study options, requesting
just-in-time optimization support if it is available, for both normal and
partial matching. If you want to restrict the JIT compiling modes, you can
follow \fB/S+\fP with a digit in the range 1 to 7:
.sp
  1  normal match only
  2  soft partial match only
  3  normal match and soft partial match
  4  hard partial match only
  6  soft and hard partial match
  7  all three modes (default)
.sp
If \fB/S++\fP is used instead of \fB/S+\fP (with or without a following digit),
the text "(JIT)" is added to the first output line after a match or no match
when JIT-compiled code was actually used.
.P
Note that there is also an independent \fB/+\fP modifier; it must not be given
immediately after \fB/S\fP or \fB/S+\fP because this will be misinterpreted.
.P
If JIT studying is successful, the compiled JIT code will automatically be used
when \fBpcre[16|32]_exec()\fP is run, except when incompatible run-time options
are specified. For more details, see the
.\" HREF
\fBpcrejit\fP
.\"
documentation. See also the \fB\eJ\fP escape sequence below for a way of
setting the size of the JIT stack.
.P
Finally, if \fB/S\fP is followed by a minus character, JIT compilation is
suppressed, even if it was requested externally by the \fB-s\fP command line
option. This makes it possible to specify that JIT is never to be used for
certain patterns.
.P
The \fB/T\fP modifier must be followed by a single digit. It causes a specific
set of built-in character tables to be passed to \fBpcre[16|32]_compile()\fP. It
is used in the standard PCRE tests to check behaviour with different character
tables. The digit specifies the tables as follows:
.sp
  0   the default ASCII tables, as distributed in
        pcre_chartables.c.dist
  1   a set of tables defining ISO 8859 characters
.sp
In table 1, some characters whose codes are greater than 128 are identified as
letters, digits, spaces, etc.
.
.
.SS "Using the POSIX wrapper API"
.rs
.sp
The \fB/P\fP modifier causes \fBpcretest\fP to call PCRE via the POSIX wrapper
API rather than its native API. This supports only the 8-bit library. When
\fB/P\fP is set, the following modifiers set options for the \fBregcomp()\fP
function:
.sp
  /i    REG_ICASE
  /m    REG_NEWLINE
  /N    REG_NOSUB
  /s    REG_DOTALL     )
  /U    REG_UNGREEDY   ) These options are not part of
  /W    REG_UCP        )   the POSIX standard
  /8    REG_UTF8       )
.sp
The \fB/+\fP modifier works as described above. All other modifiers are
ignored.
.
.
.SS "Locking out certain modifiers"
.rs
.sp
PCRE can be compiled with or without support for certain features such as
UTF-8/16/32 or Unicode properties. Accordingly, the standard tests are split up
into a number of different files that are selected for running depending on
which features are available. When updating the tests, it is all too easy to
put a new test into the wrong file by mistake; for example, to put a test that
requires UTF support into a file that is used when it is not available. To help
detect such mistakes as early as possible, there is a facility for locking out
specific modifiers. If an input line for \fBpcretest\fP starts with the string
"< forbid " the following sequence of characters is taken as a list of
forbidden modifiers. For example, in the test files that must not use UTF or
Unicode property support, this line appears:
.sp
  < forbid 8W
.sp
This locks out the /8 and /W modifiers. An immediate error is given if they are
subsequently encountered. If the character string contains < but not >, all the
multi-character modifiers that begin with < are locked out. Otherwise, such
modifiers must be explicitly listed, for example:
.sp
  < forbid <JS><cr>
.sp
There must be a single space between < and "forbid" for this feature to be
recognised. If there is not, the line is interpreted either as a request to
re-load a pre-compiled pattern (see "SAVING AND RELOADING COMPILED PATTERNS"
below) or, if there is a another < character, as a pattern that uses < as its
delimiter.
.
.
.SH "DATA LINES"
.rs
.sp
Before each data line is passed to \fBpcre[16|32]_exec()\fP, leading and trailing
white space is removed, and it is then scanned for \e escapes. Some of these
are pretty esoteric features, intended for checking out some of the more
complicated features of PCRE. If you are just testing "ordinary" regular
expressions, you probably don't need any of these. The following escapes are
recognized:
.sp
  \ea         alarm (BEL, \ex07)
  \eb         backspace (\ex08)
  \ee         escape (\ex27)
  \ef         form feed (\ex0c)
  \en         newline (\ex0a)
.\" JOIN
  \eqdd       set the PCRE_MATCH_LIMIT limit to dd
               (any number of digits)
  \er         carriage return (\ex0d)
  \et         tab (\ex09)
  \ev         vertical tab (\ex0b)
  \ennn       octal character (up to 3 octal digits); always
               a byte unless > 255 in UTF-8 or 16-bit or 32-bit mode
  \eo{dd...}  octal character (any number of octal digits}
  \exhh       hexadecimal byte (up to 2 hex digits)
  \ex{hh...}  hexadecimal character (any number of hex digits)
.\" JOIN
  \eA         pass the PCRE_ANCHORED option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \eB         pass the PCRE_NOTBOL option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \eCdd       call pcre[16|32]_copy_substring() for substring dd
               after a successful match (number less than 32)
.\" JOIN
  \eCname     call pcre[16|32]_copy_named_substring() for substring
               "name" after a successful match (name terminated
               by next non alphanumeric character)
.\" JOIN
  \eC+        show the current captured substrings at callout
               time
  \eC-        do not supply a callout function
.\" JOIN
  \eC!n       return 1 instead of 0 when callout number n is
               reached
.\" JOIN
  \eC!n!m     return 1 instead of 0 when callout number n is
               reached for the nth time
.\" JOIN
  \eC*n       pass the number n (may be negative) as callout
               data; this is used as the callout return value
  \eD         use the \fBpcre[16|32]_dfa_exec()\fP match function
  \eF         only shortest match for \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \eGdd       call pcre[16|32]_get_substring() for substring dd
               after a successful match (number less than 32)
.\" JOIN
  \eGname     call pcre[16|32]_get_named_substring() for substring
               "name" after a successful match (name terminated
               by next non-alphanumeric character)
.\" JOIN
  \eJdd       set up a JIT stack of dd kilobytes maximum (any
               number of digits)
.\" JOIN
  \eL         call pcre[16|32]_get_substringlist() after a
               successful match
.\" JOIN
  \eM         discover the minimum MATCH_LIMIT and
               MATCH_LIMIT_RECURSION settings
.\" JOIN
  \eN         pass the PCRE_NOTEMPTY option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP; if used twice, pass the
               PCRE_NOTEMPTY_ATSTART option
.\" JOIN
  \eOdd       set the size of the output vector passed to
               \fBpcre[16|32]_exec()\fP to dd (any number of digits)
.\" JOIN
  \eP         pass the PCRE_PARTIAL_SOFT option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP; if used twice, pass the
               PCRE_PARTIAL_HARD option
.\" JOIN
  \eQdd       set the PCRE_MATCH_LIMIT_RECURSION limit to dd
               (any number of digits)
  \eR         pass the PCRE_DFA_RESTART option to \fBpcre[16|32]_dfa_exec()\fP
  \eS         output details of memory get/free calls during matching
.\" JOIN
  \eY         pass the PCRE_NO_START_OPTIMIZE option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \eZ         pass the PCRE_NOTEOL option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e?         pass the PCRE_NO_UTF[8|16|32]_CHECK option to
               \fBpcre[16|32]_exec()\fP or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e>dd       start the match at offset dd (optional "-"; then
               any number of digits); this sets the \fIstartoffset\fP
               argument for \fBpcre[16|32]_exec()\fP or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e<cr>      pass the PCRE_NEWLINE_CR option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e<lf>      pass the PCRE_NEWLINE_LF option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e<crlf>    pass the PCRE_NEWLINE_CRLF option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e<anycrlf> pass the PCRE_NEWLINE_ANYCRLF option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.\" JOIN
  \e<any>     pass the PCRE_NEWLINE_ANY option to \fBpcre[16|32]_exec()\fP
               or \fBpcre[16|32]_dfa_exec()\fP
.sp
The use of \ex{hh...} is not dependent on the use of the \fB/8\fP modifier on
the pattern. It is recognized always. There may be any number of hexadecimal
digits inside the braces; invalid values provoke error messages.
.P
Note that \exhh specifies one byte rather than one character in UTF-8 mode;
this makes it possible to construct invalid UTF-8 sequences for testing
purposes. On the other hand, \ex{hh} is interpreted as a UTF-8 character in
UTF-8 mode, generating more than one byte if the value is greater than 127.
When testing the 8-bit library not in UTF-8 mode, \ex{hh} generates one byte
for values less than 256, and causes an error for greater values.
.P
In UTF-16 mode, all 4-digit \ex{hhhh} values are accepted. This makes it
possible to construct invalid UTF-16 sequences for testing purposes.
.P
In UTF-32 mode, all 4- to 8-digit \ex{...} values are accepted. This makes it
possible to construct invalid UTF-32 sequences for testing purposes.
.P
The escapes that specify line ending sequences are literal strings, exactly as
shown. No more than one newline setting should be present in any data line.
.P
A backslash followed by anything else just escapes the anything else. If
the very last character is a backslash, it is ignored. This gives a way of
passing an empty line as data, since a real empty line terminates the data
input.
.P
The \fB\eJ\fP escape provides a way of setting the maximum stack size that is
used by the just-in-time optimization code. It is ignored if JIT optimization
is not being used. Providing a stack that is larger than the default 32K is
necessary only for very complicated patterns.
.P
If \eM is present, \fBpcretest\fP calls \fBpcre[16|32]_exec()\fP several times,
with different values in the \fImatch_limit\fP and \fImatch_limit_recursion\fP
fields of the \fBpcre[16|32]_extra\fP data structure, until it finds the minimum
numbers for each parameter that allow \fBpcre[16|32]_exec()\fP to complete without
error. Because this is testing a specific feature of the normal interpretive
\fBpcre[16|32]_exec()\fP execution, the use of any JIT optimization that might
have been set up by the \fB/S+\fP qualifier of \fB-s+\fP option is disabled.
.P
The \fImatch_limit\fP number is a measure of the amount of backtracking
that takes place, and checking it out can be instructive. For most simple
matches, the number is quite small, but for patterns with very large numbers of
matching possibilities, it can become large very quickly with increasing length
of subject string. The \fImatch_limit_recursion\fP number is a measure of how
much stack (or, if PCRE is compiled with NO_RECURSE, how much heap) memory is
needed to complete the match attempt.
.P
When \eO is used, the value specified may be higher or lower than the size set
by the \fB-O\fP command line option (or defaulted to 45); \eO applies only to
the call of \fBpcre[16|32]_exec()\fP for the line in which it appears.
.P
If the \fB/P\fP modifier was present on the pattern, causing the POSIX wrapper
API to be used, the only option-setting sequences that have any effect are \eB,
\eN, and \eZ, causing REG_NOTBOL, REG_NOTEMPTY, and REG_NOTEOL, respectively,
to be passed to \fBregexec()\fP.
.
.
.SH "THE ALTERNATIVE MATCHING FUNCTION"
.rs
.sp
By default, \fBpcretest\fP uses the standard PCRE matching function,
\fBpcre[16|32]_exec()\fP to match each data line. PCRE also supports an
alternative matching function, \fBpcre[16|32]_dfa_test()\fP, which operates in a
different way, and has some restrictions. The differences between the two
functions are described in the
.\" HREF
\fBpcrematching\fP
.\"
documentation.
.P
If a data line contains the \eD escape sequence, or if the command line
contains the \fB-dfa\fP option, the alternative matching function is used.
This function finds all possible matches at a given point. If, however, the \eF
escape sequence is present in the data line, it stops after the first match is
found. This is always the shortest possible match.
.
.
.SH "DEFAULT OUTPUT FROM PCRETEST"
.rs
.sp
This section describes the output when the normal matching function,
\fBpcre[16|32]_exec()\fP, is being used.
.P
When a match succeeds, \fBpcretest\fP outputs the list of captured substrings
that \fBpcre[16|32]_exec()\fP returns, starting with number 0 for the string that
matched the whole pattern. Otherwise, it outputs "No match" when the return is
PCRE_ERROR_NOMATCH, and "Partial match:" followed by the partially matching
substring when \fBpcre[16|32]_exec()\fP returns PCRE_ERROR_PARTIAL. (Note that
this is the entire substring that was inspected during the partial match; it
may include characters before the actual match start if a lookbehind assertion,
\eK, \eb, or \eB was involved.) For any other return, \fBpcretest\fP outputs
the PCRE negative error number and a short descriptive phrase. If the error is
a failed UTF string check, the offset of the start of the failing character and
the reason code are also output, provided that the size of the output vector is
at least two. Here is an example of an interactive \fBpcretest\fP run.
.sp
  $ pcretest
  PCRE version 8.13 2011-04-30
.sp
    re> /^abc(\ed+)/
  data> abc123
   0: abc123
   1: 123
  data> xyz
  No match
.sp
Unset capturing substrings that are not followed by one that is set are not
returned by \fBpcre[16|32]_exec()\fP, and are not shown by \fBpcretest\fP. In the
following example, there are two capturing substrings, but when the first data
line is matched, the second, unset substring is not shown. An "internal" unset
substring is shown as "<unset>", as for the second data line.
.sp
    re> /(a)|(b)/
  data> a
   0: a
   1: a
  data> b
   0: b
   1: <unset>
   2: b
.sp
If the strings contain any non-printing characters, they are output as \exhh
escapes if the value is less than 256 and UTF mode is not set. Otherwise they
are output as \ex{hh...} escapes. See below for the definition of non-printing
characters. If the pattern has the \fB/+\fP modifier, the output for substring
0 is followed by the the rest of the subject string, identified by "0+" like
this:
.sp
    re> /cat/+
  data> cataract
   0: cat
   0+ aract
.sp
If the pattern has the \fB/g\fP or \fB/G\fP modifier, the results of successive
matching attempts are output in sequence, like this:
.sp
    re> /\eBi(\ew\ew)/g
  data> Mississippi
   0: iss
   1: ss
   0: iss
   1: ss
   0: ipp
   1: pp
.sp
"No match" is output only if the first match attempt fails. Here is an example
of a failure message (the offset 4 that is specified by \e>4 is past the end of
the subject string):
.sp
    re> /xyz/
  data> xyz\e>4
  Error -24 (bad offset value)
.P
If any of the sequences \fB\eC\fP, \fB\eG\fP, or \fB\eL\fP are present in a
data line that is successfully matched, the substrings extracted by the
convenience functions are output with C, G, or L after the string number
instead of a colon. This is in addition to the normal full list. The string
length (that is, the return from the extraction function) is given in
parentheses after each string for \fB\eC\fP and \fB\eG\fP.
.P
Note that whereas patterns can be continued over several lines (a plain ">"
prompt is used for continuations), data lines may not. However newlines can be
included in data by means of the \en escape (or \er, \er\en, etc., depending on
the newline sequence setting).
.
.
.
.SH "OUTPUT FROM THE ALTERNATIVE MATCHING FUNCTION"
.rs
.sp
When the alternative matching function, \fBpcre[16|32]_dfa_exec()\fP, is used (by
means of the \eD escape sequence or the \fB-dfa\fP command line option), the
output consists of a list of all the matches that start at the first point in
the subject where there is at least one match. For example:
.sp
    re> /(tang|tangerine|tan)/
  data> yellow tangerine\eD
   0: tangerine
   1: tang
   2: tan
.sp
(Using the normal matching function on this data finds only "tang".) The
longest matching string is always given first (and numbered zero). After a
PCRE_ERROR_PARTIAL return, the output is "Partial match:", followed by the
partially matching substring. (Note that this is the entire substring that was
inspected during the partial match; it may include characters before the actual
match start if a lookbehind assertion, \eK, \eb, or \eB was involved.)
.P
If \fB/g\fP is present on the pattern, the search for further matches resumes
at the end of the longest match. For example:
.sp
    re> /(tang|tangerine|tan)/g
  data> yellow tangerine and tangy sultana\eD
   0: tangerine
   1: tang
   2: tan
   0: tang
   1: tan
   0: tan
.sp
Since the matching function does not support substring capture, the escape
sequences that are concerned with captured substrings are not relevant.
.
.
.SH "RESTARTING AFTER A PARTIAL MATCH"
.rs
.sp
When the alternative matching function has given the PCRE_ERROR_PARTIAL return,
indicating that the subject partially matched the pattern, you can restart the
match with additional subject data by means of the \eR escape sequence. For
example:
.sp
    re> /^\ed?\ed(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\ed\ed$/
  data> 23ja\eP\eD
  Partial match: 23ja
  data> n05\eR\eD
   0: n05
.sp
For further information about partial matching, see the
.\" HREF
\fBpcrepartial\fP
.\"
documentation.
.
.
.SH CALLOUTS
.rs
.sp
If the pattern contains any callout requests, \fBpcretest\fP's callout function
is called during matching. This works with both matching functions. By default,
the called function displays the callout number, the start and current
positions in the text at the callout time, and the next pattern item to be
tested. For example:
.sp
  --->pqrabcdef
    0    ^  ^     \ed
.sp
This output indicates that callout number 0 occurred for a match attempt
starting at the fourth character of the subject string, when the pointer was at
the seventh character of the data, and when the next pattern item was \ed. Just
one circumflex is output if the start and current positions are the same.
.P
Callouts numbered 255 are assumed to be automatic callouts, inserted as a
result of the \fB/C\fP pattern modifier. In this case, instead of showing the
callout number, the offset in the pattern, preceded by a plus, is output. For
example:
.sp
    re> /\ed?[A-E]\e*/C
  data> E*
  --->E*
   +0 ^      \ed?
   +3 ^      [A-E]
   +8 ^^     \e*
  +10 ^ ^
   0: E*
.sp
If a pattern contains (*MARK) items, an additional line is output whenever
a change of latest mark is passed to the callout function. For example:
.sp
    re> /a(*MARK:X)bc/C
  data> abc
  --->abc
   +0 ^       a
   +1 ^^      (*MARK:X)
  +10 ^^      b
  Latest Mark: X
  +11 ^ ^     c
  +12 ^  ^
   0: abc
.sp
The mark changes between matching "a" and "b", but stays the same for the rest
of the match, so nothing more is output. If, as a result of backtracking, the
mark reverts to being unset, the text "<unset>" is output.
.P
The callout function in \fBpcretest\fP returns zero (carry on matching) by
default, but you can use a \eC item in a data line (as described above) to
change this and other parameters of the callout.
.P
Inserting callouts can be helpful when using \fBpcretest\fP to check
complicated regular expressions. For further information about callouts, see
the
.\" HREF
\fBpcrecallout\fP
.\"
documentation.
.
.
.
.SH "NON-PRINTING CHARACTERS"
.rs
.sp
When \fBpcretest\fP is outputting text in the compiled version of a pattern,
bytes other than 32-126 are always treated as non-printing characters are are
therefore shown as hex escapes.
.P
When \fBpcretest\fP is outputting text that is a matched part of a subject
string, it behaves in the same way, unless a different locale has been set for
the pattern (using the \fB/L\fP modifier). In this case, the \fBisprint()\fP
function to distinguish printing and non-printing characters.
.
.
.
.SH "SAVING AND RELOADING COMPILED PATTERNS"
.rs
.sp
The facilities described in this section are not available when the POSIX
interface to PCRE is being used, that is, when the \fB/P\fP pattern modifier is
specified.
.P
When the POSIX interface is not in use, you can cause \fBpcretest\fP to write a
compiled pattern to a file, by following the modifiers with > and a file name.
For example:
.sp
  /pattern/im >/some/file
.sp
See the
.\" HREF
\fBpcreprecompile\fP
.\"
documentation for a discussion about saving and re-using compiled patterns.
Note that if the pattern was successfully studied with JIT optimization, the
JIT data cannot be saved.
.P
The data that is written is binary. The first eight bytes are the length of the
compiled pattern data followed by the length of the optional study data, each
written as four bytes in big-endian order (most significant byte first). If
there is no study data (either the pattern was not studied, or studying did not
return any data), the second length is zero. The lengths are followed by an
exact copy of the compiled pattern. If there is additional study data, this
(excluding any JIT data) follows immediately after the compiled pattern. After
writing the file, \fBpcretest\fP expects to read a new pattern.
.P
A saved pattern can be reloaded into \fBpcretest\fP by specifying < and a file
name instead of a pattern. There must be no space between < and the file name,
which must not contain a < character, as otherwise \fBpcretest\fP will
interpret the line as a pattern delimited by < characters. For example:
.sp
   re> </some/file
  Compiled pattern loaded from /some/file
  No study data
.sp
If the pattern was previously studied with the JIT optimization, the JIT
information cannot be saved and restored, and so is lost. When the pattern has
been loaded, \fBpcretest\fP proceeds to read data lines in the usual way.
.P
You can copy a file written by \fBpcretest\fP to a different host and reload it
there, even if the new host has opposite endianness to the one on which the
pattern was compiled. For example, you can compile on an i86 machine and run on
a SPARC machine. When a pattern is reloaded on a host with different
endianness, the confirmation message is changed to:
.sp
  Compiled pattern (byte-inverted) loaded from /some/file
.sp
The test suite contains some saved pre-compiled patterns with different
endianness. These are reloaded using "<!" instead of just "<". This suppresses
the "(byte-inverted)" text so that the output is the same on all hosts. It also
forces debugging output once the pattern has been reloaded.
.P
File names for saving and reloading can be absolute or relative, but note that
the shell facility of expanding a file name that starts with a tilde (~) is not
available.
.P
The ability to save and reload files in \fBpcretest\fP is intended for testing
and experimentation. It is not intended for production use because only a
single pattern can be written to a file. Furthermore, there is no facility for
supplying custom character tables for use with a reloaded pattern. If the
original pattern was compiled with custom tables, an attempt to match a subject
string using a reloaded pattern is likely to cause \fBpcretest\fP to crash.
Finally, if you attempt to load a file that is not in the correct format, the
result is undefined.
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcre\fP(3), \fBpcre16\fP(3), \fBpcre32\fP(3), \fBpcreapi\fP(3),
\fBpcrecallout\fP(3),
\fBpcrejit\fP, \fBpcrematching\fP(3), \fBpcrepartial\fP(d),
\fBpcrepattern\fP(3), \fBpcreprecompile\fP(3).
.
.
.SH AUTHOR
.rs
.sp
.nf
Philip Hazel
University Computing Service
Cambridge CB2 3QH, England.
.fi
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 23 February 2017
Copyright (c) 1997-2017 University of Cambridge.
.fi
share/man/man1/pcre-config.1000064400000005253150405535540011546 0ustar00.TH PCRE-CONFIG 1 "01 January 2012" "PCRE 8.30"
.SH NAME
pcre-config - program to return PCRE configuration
.SH SYNOPSIS
.rs
.sp
.nf
.B pcre-config  [--prefix] [--exec-prefix] [--version] [--libs]
.B "            [--libs16] [--libs32] [--libs-cpp] [--libs-posix]"
.B "            [--cflags] [--cflags-posix]"
.fi
.
.
.SH DESCRIPTION
.rs
.sp
\fBpcre-config\fP returns the configuration of the installed PCRE
libraries and the options required to compile a program to use them. Some of
the options apply only to the 8-bit, or 16-bit, or 32-bit libraries,
respectively, and are
not available if only one of those libraries has been built. If an unavailable
option is encountered, the "usage" information is output.
.
.
.SH OPTIONS
.rs
.TP 10
\fB--prefix\fP
Writes the directory prefix used in the PCRE installation for architecture
independent files (\fI/usr\fP on many systems, \fI/usr/local\fP on some
systems) to the standard output.
.TP 10
\fB--exec-prefix\fP
Writes the directory prefix used in the PCRE installation for architecture
dependent files (normally the same as \fB--prefix\fP) to the standard output.
.TP 10
\fB--version\fP
Writes the version number of the installed PCRE libraries to the standard
output.
.TP 10
\fB--libs\fP
Writes to the standard output the command line options required to link
with the 8-bit PCRE library (\fB-lpcre\fP on many systems).
.TP 10
\fB--libs16\fP
Writes to the standard output the command line options required to link
with the 16-bit PCRE library (\fB-lpcre16\fP on many systems).
.TP 10
\fB--libs32\fP
Writes to the standard output the command line options required to link
with the 32-bit PCRE library (\fB-lpcre32\fP on many systems).
.TP 10
\fB--libs-cpp\fP
Writes to the standard output the command line options required to link with
PCRE's C++ wrapper library (\fB-lpcrecpp\fP \fB-lpcre\fP on many
systems).
.TP 10
\fB--libs-posix\fP
Writes to the standard output the command line options required to link with
PCRE's POSIX API wrapper library (\fB-lpcreposix\fP \fB-lpcre\fP on many
systems).
.TP 10
\fB--cflags\fP
Writes to the standard output the command line options required to compile
files that use PCRE (this may include some \fB-I\fP options, but is blank on
many systems).
.TP 10
\fB--cflags-posix\fP
Writes to the standard output the command line options required to compile
files that use PCRE's POSIX API wrapper library (this may include some \fB-I\fP
options, but is blank on many systems).
.
.
.SH "SEE ALSO"
.rs
.sp
\fBpcre(3)\fP
.
.
.SH AUTHOR
.rs
.sp
This manual page was originally written by Mark Baker for the Debian GNU/Linux
system. It has been subsequently revised as a generic PCRE man page.
.
.
.SH REVISION
.rs
.sp
.nf
Last updated: 24 June 2012
.fi
share/doc/alt-pcre802/ChangeLog000064400000550627150405535540012153 0ustar00ChangeLog for PCRE
------------------

Version 8.02 19-Mar-2010
------------------------

1.  The Unicode data tables have been updated to Unicode 5.2.0.

2.  Added the option --libs-cpp to pcre-config, but only when C++ support is
    configured.

3.  Updated the licensing terms in the pcregexp.pas file, as agreed with the
    original author of that file, following a query about its status.

4.  On systems that do not have stdint.h (e.g. Solaris), check for and include
    inttypes.h instead. This fixes a bug that was introduced by change 8.01/8.

5.  A pattern such as (?&t)*+(?(DEFINE)(?<t>.)) which has a possessive
    quantifier applied to a forward-referencing subroutine call, could compile
    incorrect code or give the error "internal error: previously-checked
    referenced subpattern not found".

6.  Both MS Visual Studio and Symbian OS have problems with initializing
    variables to point to external functions. For these systems, therefore,
    pcre_malloc etc. are now initialized to local functions that call the
    relevant global functions.

7.  There were two entries missing in the vectors called coptable and poptable
    in pcre_dfa_exec.c. This could lead to memory accesses outsize the vectors.
    I've fixed the data, and added a kludgy way of testing at compile time that
    the lengths are correct (equal to the number of opcodes).

8.  Following on from 7, I added a similar kludge to check the length of the
    eint vector in pcreposix.c.

9.  Error texts for pcre_compile() are held as one long string to avoid too
    much relocation at load time. To find a text, the string is searched,
    counting zeros. There was no check for running off the end of the string,
    which could happen if a new error number was added without updating the
    string.

10. \K gave a compile-time error if it appeared in a lookbehind assersion.

11. \K was not working if it appeared in an atomic group or in a group that
    was called as a "subroutine", or in an assertion. Perl 5.11 documents that
    \K is "not well defined" if used in an assertion. PCRE now accepts it if
    the assertion is positive, but not if it is negative.

12. Change 11 fortuitously reduced the size of the stack frame used in the
    "match()" function of pcre_exec.c by one pointer. Forthcoming
    implementation of support for (*MARK) will need an extra pointer on the
    stack; I have reserved it now, so that the stack frame size does not
    decrease.

13. A pattern such as (?P<L1>(?P<L2>0)|(?P>L2)(?P>L1)) in which the only other
    item in branch that calls a recursion is a subroutine call - as in the
    second branch in the above example - was incorrectly given the compile-
    time error "recursive call could loop indefinitely" because pcre_compile()
    was not correctly checking the subroutine for matching a non-empty string.

14. The checks for overrunning compiling workspace could trigger after an
    overrun had occurred. This is a "should never occur" error, but it can be
    triggered by pathological patterns such as hundreds of nested parentheses.
    The checks now trigger 100 bytes before the end of the workspace.

15. Fix typo in configure.ac: "srtoq" should be "strtoq".


Version 8.01 19-Jan-2010
------------------------

1.  If a pattern contained a conditional subpattern with only one branch (in
    particular, this includes all (*DEFINE) patterns), a call to pcre_study()
    computed the wrong minimum data length (which is of course zero for such
    subpatterns). This could cause incorrect "no match" results.

2.  For patterns such as (?i)a(?-i)b|c where an option setting at the start of
    the pattern is reset in the first branch, pcre_compile() failed with
    "internal error: code overflow at offset...". This happened only when
    the reset was to the original external option setting. (An optimization
    abstracts leading options settings into an external setting, which was the
    cause of this.)

3.  A pattern such as ^(?!a(*SKIP)b) where a negative assertion contained one
    of the verbs SKIP, PRUNE, or COMMIT, did not work correctly. When the
    assertion pattern did not match (meaning that the assertion was true), it
    was incorrectly treated as false if the SKIP had been reached during the
    matching. This also applied to assertions used as conditions.

4.  If an item that is not supported by pcre_dfa_exec() was encountered in an
    assertion subpattern, including such a pattern used as a condition,
    unpredictable results occurred, instead of the error return
    PCRE_ERROR_DFA_UITEM.

5.  The C++ GlobalReplace function was not working like Perl for the special
    situation when an empty string is matched. It now does the fancy magic
    stuff that is necessary.

6.  In pcre_internal.h, obsolete includes to setjmp.h and stdarg.h have been
    removed. (These were left over from very, very early versions of PCRE.)

7.  Some cosmetic changes to the code to make life easier when compiling it
    as part of something else:

    (a) Change DEBUG to PCRE_DEBUG.

    (b) In pcre_compile(), rename the member of the "branch_chain" structure
        called "current" as "current_branch", to prevent a collision with the
        Linux macro when compiled as a kernel module.

    (c) In pcre_study(), rename the function set_bit() as set_table_bit(), to
        prevent a collision with the Linux macro when compiled as a kernel
        module.

8.  In pcre_compile() there are some checks for integer overflows that used to
    cast potentially large values to (double). This has been changed to that
    when building, a check for int64_t is made, and if it is found, it is used
    instead, thus avoiding the use of floating point arithmetic. (There is no
    other use of FP in PCRE.) If int64_t is not found, the fallback is to
    double.

9.  Added two casts to avoid signed/unsigned warnings from VS Studio Express
    2005 (difference between two addresses compared to an unsigned value).

10. Change the standard AC_CHECK_LIB test for libbz2 in configure.ac to a
    custom one, because of the following reported problem in Windows:

      - libbz2 uses the Pascal calling convention (WINAPI) for the functions
          under Win32.
      - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
          therefore missing the function definition.
      - The compiler thus generates a "C" signature for the test function.
      - The linker fails to find the "C" function.
      - PCRE fails to configure if asked to do so against libbz2.

11. When running libtoolize from libtool-2.2.6b as part of autogen.sh, these
    messages were output:

      Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
      rerunning libtoolize, to keep the correct libtool macros in-tree.
      Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

    I have done both of these things.

12. Although pcre_dfa_exec() does not use nearly as much stack as pcre_exec()
    most of the time, it *can* run out if it is given a pattern that contains a
    runaway infinite recursion. I updated the discussion in the pcrestack man
    page.

13. Now that we have gone to the x.xx style of version numbers, the minor
    version may start with zero. Using 08 or 09 is a bad idea because users
    might check the value of PCRE_MINOR in their code, and 08 or 09 may be
    interpreted as invalid octal numbers. I've updated the previous comment in
    configure.ac, and also added a check that gives an error if 08 or 09 are
    used.

14. Change 8.00/11 was not quite complete: code had been accidentally omitted,
    causing partial matching to fail when the end of the subject matched \W
    in a UTF-8 pattern where \W was quantified with a minimum of 3.

15. There were some discrepancies between the declarations in pcre_internal.h
    of _pcre_is_newline(), _pcre_was_newline(), and _pcre_valid_utf8() and
    their definitions. The declarations used "const uschar *" and the
    definitions used USPTR. Even though USPTR is normally defined as "const
    unsigned char *" (and uschar is typedeffed as "unsigned char"), it was
    reported that: "This difference in casting confuses some C++ compilers, for
    example, SunCC recognizes above declarations as different functions and
    generates broken code for hbpcre." I have changed the declarations to use
    USPTR.

16. GNU libtool is named differently on some systems. The autogen.sh script now
    tries several variants such as glibtoolize (MacOSX) and libtoolize1x
    (FreeBSD).

17. Applied Craig's patch that fixes an HP aCC compile error in pcre 8.00
    (strtoXX undefined when compiling pcrecpp.cc). The patch contains this
    comment: "Figure out how to create a longlong from a string: strtoll and
    equivalent. It's not enough to call AC_CHECK_FUNCS: hpux has a strtoll, for
    instance, but it only takes 2 args instead of 3!"

18. A subtle bug concerned with back references has been fixed by a change of
    specification, with a corresponding code fix. A pattern such as
    ^(xa|=?\1a)+$ which contains a back reference inside the group to which it
    refers, was giving matches when it shouldn't. For example, xa=xaaa would
    match that pattern. Interestingly, Perl (at least up to 5.11.3) has the
    same bug. Such groups have to be quantified to be useful, or contained
    inside another quantified group. (If there's no repetition, the reference
    can never match.) The problem arises because, having left the group and
    moved on to the rest of the pattern, a later failure that backtracks into
    the group uses the captured value from the final iteration of the group
    rather than the correct earlier one. I have fixed this in PCRE by forcing
    any group that contains a reference to itself to be an atomic group; that
    is, there cannot be any backtracking into it once it has completed. This is
    similar to recursive and subroutine calls.


Version 8.00 19-Oct-09
----------------------

1.  The table for translating pcre_compile() error codes into POSIX error codes
    was out-of-date, and there was no check on the pcre_compile() error code
    being within the table. This could lead to an OK return being given in
    error.

2.  Changed the call to open a subject file in pcregrep from fopen(pathname,
    "r") to fopen(pathname, "rb"), which fixed a problem with some of the tests
    in a Windows environment.

3.  The pcregrep --count option prints the count for each file even when it is
    zero, as does GNU grep. However, pcregrep was also printing all files when
    --files-with-matches was added. Now, when both options are given, it prints
    counts only for those files that have at least one match. (GNU grep just
    prints the file name in this circumstance, but including the count seems
    more useful - otherwise, why use --count?) Also ensured that the
    combination -clh just lists non-zero counts, with no names.

4.  The long form of the pcregrep -F option was incorrectly implemented as
    --fixed_strings instead of --fixed-strings. This is an incompatible change,
    but it seems right to fix it, and I didn't think it was worth preserving
    the old behaviour.

5.  The command line items --regex=pattern and --regexp=pattern were not
    recognized by pcregrep, which required --regex pattern or --regexp pattern
    (with a space rather than an '='). The man page documented the '=' forms,
    which are compatible with GNU grep; these now work.

6.  No libpcreposix.pc file was created for pkg-config; there was just
    libpcre.pc and libpcrecpp.pc. The omission has been rectified.

7.  Added #ifndef SUPPORT_UCP into the pcre_ucd.c module, to reduce its size
    when UCP support is not needed, by modifying the Python script that
    generates it from Unicode data files. This should not matter if the module
    is correctly used as a library, but I received one complaint about 50K of
    unwanted data. My guess is that the person linked everything into his
    program rather than using a library. Anyway, it does no harm.

8.  A pattern such as /\x{123}{2,2}+/8 was incorrectly compiled; the trigger
    was a minimum greater than 1 for a wide character in a possessive
    repetition. The same bug could also affect patterns like /(\x{ff}{0,2})*/8
    which had an unlimited repeat of a nested, fixed maximum repeat of a wide
    character. Chaos in the form of incorrect output or a compiling loop could
    result.

9.  The restrictions on what a pattern can contain when partial matching is
    requested for pcre_exec() have been removed. All patterns can now be
    partially matched by this function. In addition, if there are at least two
    slots in the offset vector, the offset of the earliest inspected character
    for the match and the offset of the end of the subject are set in them when
    PCRE_ERROR_PARTIAL is returned.

10. Partial matching has been split into two forms: PCRE_PARTIAL_SOFT, which is
    synonymous with PCRE_PARTIAL, for backwards compatibility, and
    PCRE_PARTIAL_HARD, which causes a partial match to supersede a full match,
    and may be more useful for multi-segment matching.

11. Partial matching with pcre_exec() is now more intuitive. A partial match
    used to be given if ever the end of the subject was reached; now it is
    given only if matching could not proceed because another character was
    needed. This makes a difference in some odd cases such as Z(*FAIL) with the
    string "Z", which now yields "no match" instead of "partial match". In the
    case of pcre_dfa_exec(), "no match" is given if every matching path for the
    final character ended with (*FAIL).

12. Restarting a match using pcre_dfa_exec() after a partial match did not work
    if the pattern had a "must contain" character that was already found in the
    earlier partial match, unless partial matching was again requested. For
    example, with the pattern /dog.(body)?/, the "must contain" character is
    "g". If the first part-match was for the string "dog", restarting with
    "sbody" failed. This bug has been fixed.

13. The string returned by pcre_dfa_exec() after a partial match has been
    changed so that it starts at the first inspected character rather than the
    first character of the match. This makes a difference only if the pattern
    starts with a lookbehind assertion or \b or \B (\K is not supported by
    pcre_dfa_exec()). It's an incompatible change, but it makes the two
    matching functions compatible, and I think it's the right thing to do.

14. Added a pcredemo man page, created automatically from the pcredemo.c file,
    so that the demonstration program is easily available in environments where
    PCRE has not been installed from source.

15. Arranged to add -DPCRE_STATIC to cflags in libpcre.pc, libpcreposix.cp,
    libpcrecpp.pc and pcre-config when PCRE is not compiled as a shared
    library.

16. Added REG_UNGREEDY to the pcreposix interface, at the request of a user.
    It maps to PCRE_UNGREEDY. It is not, of course, POSIX-compatible, but it
    is not the first non-POSIX option to be added. Clearly some people find
    these options useful.

17. If a caller to the POSIX matching function regexec() passes a non-zero
    value for nmatch with a NULL value for pmatch, the value of
    nmatch is forced to zero.

18. RunGrepTest did not have a test for the availability of the -u option of
    the diff command, as RunTest does. It now checks in the same way as
    RunTest, and also checks for the -b option.

19. If an odd number of negated classes containing just a single character
    interposed, within parentheses, between a forward reference to a named
    subpattern and the definition of the subpattern, compilation crashed with
    an internal error, complaining that it could not find the referenced
    subpattern. An example of a crashing pattern is /(?&A)(([^m])(?<A>))/.
    [The bug was that it was starting one character too far in when skipping
    over the character class, thus treating the ] as data rather than
    terminating the class. This meant it could skip too much.]

20. Added PCRE_NOTEMPTY_ATSTART in order to be able to correctly implement the
    /g option in pcretest when the pattern contains \K, which makes it possible
    to have an empty string match not at the start, even when the pattern is
    anchored. Updated pcretest and pcredemo to use this option.

21. If the maximum number of capturing subpatterns in a recursion was greater
    than the maximum at the outer level, the higher number was returned, but
    with unset values at the outer level. The correct (outer level) value is
    now given.

22. If (*ACCEPT) appeared inside capturing parentheses, previous releases of
    PCRE did not set those parentheses (unlike Perl). I have now found a way to
    make it do so. The string so far is captured, making this feature
    compatible with Perl.

23. The tests have been re-organized, adding tests 11 and 12, to make it
    possible to check the Perl 5.10 features against Perl 5.10.

24. Perl 5.10 allows subroutine calls in lookbehinds, as long as the subroutine
    pattern matches a fixed length string. PCRE did not allow this; now it
    does. Neither allows recursion.

25. I finally figured out how to implement a request to provide the minimum
    length of subject string that was needed in order to match a given pattern.
    (It was back references and recursion that I had previously got hung up
    on.) This code has now been added to pcre_study(); it finds a lower bound
    to the length of subject needed. It is not necessarily the greatest lower
    bound, but using it to avoid searching strings that are too short does give
    some useful speed-ups. The value is available to calling programs via
    pcre_fullinfo().

26. While implementing 25, I discovered to my embarrassment that pcretest had
    not been passing the result of pcre_study() to pcre_dfa_exec(), so the
    study optimizations had never been tested with that matching function.
    Oops. What is worse, even when it was passed study data, there was a bug in
    pcre_dfa_exec() that meant it never actually used it. Double oops. There
    were also very few tests of studied patterns with pcre_dfa_exec().

27. If (?| is used to create subpatterns with duplicate numbers, they are now
    allowed to have the same name, even if PCRE_DUPNAMES is not set. However,
    on the other side of the coin, they are no longer allowed to have different
    names, because these cannot be distinguished in PCRE, and this has caused
    confusion. (This is a difference from Perl.)

28. When duplicate subpattern names are present (necessarily with different
    numbers, as required by 27 above), and a test is made by name in a
    conditional pattern, either for a subpattern having been matched, or for
    recursion in such a pattern, all the associated numbered subpatterns are
    tested, and the overall condition is true if the condition is true for any
    one of them. This is the way Perl works, and is also more like the way
    testing by number works.


Version 7.9 11-Apr-09
---------------------

1.  When building with support for bzlib/zlib (pcregrep) and/or readline
    (pcretest), all targets were linked against these libraries. This included
    libpcre, libpcreposix, and libpcrecpp, even though they do not use these
    libraries. This caused unwanted dependencies to be created. This problem
    has been fixed, and now only pcregrep is linked with bzlib/zlib and only
    pcretest is linked with readline.

2.  The "typedef int BOOL" in pcre_internal.h that was included inside the
    "#ifndef FALSE" condition by an earlier change (probably 7.8/18) has been
    moved outside it again, because FALSE and TRUE are already defined in AIX,
    but BOOL is not.

3.  The pcre_config() function was treating the PCRE_MATCH_LIMIT and
    PCRE_MATCH_LIMIT_RECURSION values as ints, when they should be long ints.

4.  The pcregrep documentation said spaces were inserted as well as colons (or
    hyphens) following file names and line numbers when outputting matching
    lines. This is not true; no spaces are inserted. I have also clarified the
    wording for the --colour (or --color) option.

5.  In pcregrep, when --colour was used with -o, the list of matching strings
    was not coloured; this is different to GNU grep, so I have changed it to be
    the same.

6.  When --colo(u)r was used in pcregrep, only the first matching substring in
    each matching line was coloured. Now it goes on to look for further matches
    of any of the test patterns, which is the same behaviour as GNU grep.

7.  A pattern that could match an empty string could cause pcregrep to loop; it
    doesn't make sense to accept an empty string match in pcregrep, so I have
    locked it out (using PCRE's PCRE_NOTEMPTY option). By experiment, this
    seems to be how GNU grep behaves.

8.  The pattern (?(?=.*b)b|^) was incorrectly compiled as "match must be at
    start or after a newline", because the conditional assertion was not being
    correctly handled. The rule now is that both the assertion and what follows
    in the first alternative must satisfy the test.

9.  If auto-callout was enabled in a pattern with a conditional group whose
    condition was an assertion, PCRE could crash during matching, both with
    pcre_exec() and pcre_dfa_exec().

10. The PCRE_DOLLAR_ENDONLY option was not working when pcre_dfa_exec() was
    used for matching.

11. Unicode property support in character classes was not working for
    characters (bytes) greater than 127 when not in UTF-8 mode.

12. Added the -M command line option to pcretest.

14. Added the non-standard REG_NOTEMPTY option to the POSIX interface.

15. Added the PCRE_NO_START_OPTIMIZE match-time option.

16. Added comments and documentation about mis-use of no_arg in the C++
    wrapper.

17. Implemented support for UTF-8 encoding in EBCDIC environments, a patch
    from Martin Jerabek that uses macro names for all relevant character and
    string constants.

18. Added to pcre_internal.h two configuration checks: (a) If both EBCDIC and
    SUPPORT_UTF8 are set, give an error; (b) If SUPPORT_UCP is set without
    SUPPORT_UTF8, define SUPPORT_UTF8. The "configure" script handles both of
    these, but not everybody uses configure.

19. A conditional group that had only one branch was not being correctly
    recognized as an item that could match an empty string. This meant that an
    enclosing group might also not be so recognized, causing infinite looping
    (and probably a segfault) for patterns such as ^"((?(?=[a])[^"])|b)*"$
    with the subject "ab", where knowledge that the repeated group can match
    nothing is needed in order to break the loop.

20. If a pattern that was compiled with callouts was matched using pcre_dfa_
    exec(), but without supplying a callout function, matching went wrong.

21. If PCRE_ERROR_MATCHLIMIT occurred during a recursion, there was a memory
    leak if the size of the offset vector was greater than 30. When the vector
    is smaller, the saved offsets during recursion go onto a local stack
    vector, but for larger vectors malloc() is used. It was failing to free
    when the recursion yielded PCRE_ERROR_MATCH_LIMIT (or any other "abnormal"
    error, in fact).

22. There was a missing #ifdef SUPPORT_UTF8 round one of the variables in the
    heapframe that is used only when UTF-8 support is enabled. This caused no
    problem, but was untidy.

23. Steven Van Ingelgem's patch to CMakeLists.txt to change the name
    CMAKE_BINARY_DIR to PROJECT_BINARY_DIR so that it works when PCRE is
    included within another project.

24. Steven Van Ingelgem's patches to add more options to the CMake support,
    slightly modified by me:

      (a) PCRE_BUILD_TESTS can be set OFF not to build the tests, including
          not building pcregrep.

      (b) PCRE_BUILD_PCREGREP can be see OFF not to build pcregrep, but only
          if PCRE_BUILD_TESTS is also set OFF, because the tests use pcregrep.

25. Forward references, both numeric and by name, in patterns that made use of
    duplicate group numbers, could behave incorrectly or give incorrect errors,
    because when scanning forward to find the reference group, PCRE was not
    taking into account the duplicate group numbers. A pattern such as
    ^X(?3)(a)(?|(b)|(q))(Y) is an example.

26. Changed a few more instances of "const unsigned char *" to USPTR, making
    the feature of a custom pointer more persuasive (as requested by a user).

27. Wrapped the definitions of fileno and isatty for Windows, which appear in
    pcretest.c, inside #ifndefs, because it seems they are sometimes already
    pre-defined.

28. Added support for (*UTF8) at the start of a pattern.

29. Arrange for flags added by the "release type" setting in CMake to be shown
    in the configuration summary.


Version 7.8 05-Sep-08
---------------------

1.  Replaced UCP searching code with optimized version as implemented for Ad
    Muncher (http://www.admuncher.com/) by Peter Kankowski. This uses a two-
    stage table and inline lookup instead of a function, giving speed ups of 2
    to 5 times on some simple patterns that I tested. Permission was given to
    distribute the MultiStage2.py script that generates the tables (it's not in
    the tarball, but is in the Subversion repository).

2.  Updated the Unicode datatables to Unicode 5.1.0. This adds yet more
    scripts.

3.  Change 12 for 7.7 introduced a bug in pcre_study() when a pattern contained
    a group with a zero qualifier. The result of the study could be incorrect,
    or the function might crash, depending on the pattern.

4.  Caseless matching was not working for non-ASCII characters in back
    references. For example, /(\x{de})\1/8i was not matching \x{de}\x{fe}.
    It now works when Unicode Property Support is available.

5.  In pcretest, an escape such as \x{de} in the data was always generating
    a UTF-8 string, even in non-UTF-8 mode. Now it generates a single byte in
    non-UTF-8 mode. If the value is greater than 255, it gives a warning about
    truncation.

6.  Minor bugfix in pcrecpp.cc (change "" == ... to NULL == ...).

7.  Added two (int) casts to pcregrep when printing the difference of two
    pointers, in case they are 64-bit values.

8.  Added comments about Mac OS X stack usage to the pcrestack man page and to
    test 2 if it fails.

9.  Added PCRE_CALL_CONVENTION just before the names of all exported functions,
    and a #define of that name to empty if it is not externally set. This is to
    allow users of MSVC to set it if necessary.

10. The PCRE_EXP_DEFN macro which precedes exported functions was missing from
    the convenience functions in the pcre_get.c source file.

11. An option change at the start of a pattern that had top-level alternatives
    could cause overwriting and/or a crash. This command provoked a crash in
    some environments:

      printf "/(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/8\n" | pcretest

    This potential security problem was recorded as CVE-2008-2371.

12. For a pattern where the match had to start at the beginning or immediately
    after a newline (e.g /.*anything/ without the DOTALL flag), pcre_exec() and
    pcre_dfa_exec() could read past the end of the passed subject if there was
    no match. To help with detecting such bugs (e.g. with valgrind), I modified
    pcretest so that it places the subject at the end of its malloc-ed buffer.

13. The change to pcretest in 12 above threw up a couple more cases when pcre_
    exec() might read past the end of the data buffer in UTF-8 mode.

14. A similar bug to 7.3/2 existed when the PCRE_FIRSTLINE option was set and
    the data contained the byte 0x85 as part of a UTF-8 character within its
    first line. This applied both to normal and DFA matching.

15. Lazy qualifiers were not working in some cases in UTF-8 mode. For example,
    /^[^d]*?$/8 failed to match "abc".

16. Added a missing copyright notice to pcrecpp_internal.h.

17. Make it more clear in the documentation that values returned from
    pcre_exec() in ovector are byte offsets, not character counts.

18. Tidied a few places to stop certain compilers from issuing warnings.

19. Updated the Virtual Pascal + BCC files to compile the latest v7.7, as
    supplied by Stefan Weber. I made a further small update for 7.8 because
    there is a change of source arrangements: the pcre_searchfuncs.c module is
    replaced by pcre_ucd.c.


Version 7.7 07-May-08
---------------------

1.  Applied Craig's patch to sort out a long long problem: "If we can't convert
    a string to a long long, pretend we don't even have a long long." This is
    done by checking for the strtoq, strtoll, and _strtoi64 functions.

2.  Applied Craig's patch to pcrecpp.cc to restore ABI compatibility with
    pre-7.6 versions, which defined a global no_arg variable instead of putting
    it in the RE class. (See also #8 below.)

3.  Remove a line of dead code, identified by coverity and reported by Nuno
    Lopes.

4.  Fixed two related pcregrep bugs involving -r with --include or --exclude:

    (1) The include/exclude patterns were being applied to the whole pathnames
        of files, instead of just to the final components.

    (2) If there was more than one level of directory, the subdirectories were
        skipped unless they satisfied the include/exclude conditions. This is
        inconsistent with GNU grep (and could even be seen as contrary to the
        pcregrep specification - which I improved to make it absolutely clear).
        The action now is always to scan all levels of directory, and just
        apply the include/exclude patterns to regular files.

5.  Added the --include_dir and --exclude_dir patterns to pcregrep, and used
    --exclude_dir in the tests to avoid scanning .svn directories.

6.  Applied Craig's patch to the QuoteMeta function so that it escapes the
    NUL character as backslash + 0 rather than backslash + NUL, because PCRE
    doesn't support NULs in patterns.

7.  Added some missing "const"s to declarations of static tables in
    pcre_compile.c and pcre_dfa_exec.c.

8.  Applied Craig's patch to pcrecpp.cc to fix a problem in OS X that was
    caused by fix #2  above. (Subsequently also a second patch to fix the
    first patch. And a third patch - this was a messy problem.)

9.  Applied Craig's patch to remove the use of push_back().

10. Applied Alan Lehotsky's patch to add REG_STARTEND support to the POSIX
    matching function regexec().

11. Added support for the Oniguruma syntax \g<name>, \g<n>, \g'name', \g'n',
    which, however, unlike Perl's \g{...}, are subroutine calls, not back
    references. PCRE supports relative numbers with this syntax (I don't think
    Oniguruma does).

12. Previously, a group with a zero repeat such as (...){0} was completely
    omitted from the compiled regex. However, this means that if the group
    was called as a subroutine from elsewhere in the pattern, things went wrong
    (an internal error was given). Such groups are now left in the compiled
    pattern, with a new opcode that causes them to be skipped at execution
    time.

13. Added the PCRE_JAVASCRIPT_COMPAT option. This makes the following changes
    to the way PCRE behaves:

    (a) A lone ] character is dis-allowed (Perl treats it as data).

    (b) A back reference to an unmatched subpattern matches an empty string
        (Perl fails the current match path).

    (c) A data ] in a character class must be notated as \] because if the
        first data character in a class is ], it defines an empty class. (In
        Perl it is not possible to have an empty class.) The empty class []
        never matches; it forces failure and is equivalent to (*FAIL) or (?!).
        The negative empty class [^] matches any one character, independently
        of the DOTALL setting.

14. A pattern such as /(?2)[]a()b](abc)/ which had a forward reference to a
    non-existent subpattern following a character class starting with ']' and
    containing () gave an internal compiling error instead of "reference to
    non-existent subpattern". Fortunately, when the pattern did exist, the
    compiled code was correct. (When scanning forwards to check for the
    existencd of the subpattern, it was treating the data ']' as terminating
    the class, so got the count wrong. When actually compiling, the reference
    was subsequently set up correctly.)

15. The "always fail" assertion (?!) is optimzed to (*FAIL) by pcre_compile;
    it was being rejected as not supported by pcre_dfa_exec(), even though
    other assertions are supported. I have made pcre_dfa_exec() support
    (*FAIL).

16. The implementation of 13c above involved the invention of a new opcode,
    OP_ALLANY, which is like OP_ANY but doesn't check the /s flag. Since /s
    cannot be changed at match time, I realized I could make a small
    improvement to matching performance by compiling OP_ALLANY instead of
    OP_ANY for "." when DOTALL was set, and then removing the runtime tests
    on the OP_ANY path.

17. Compiling pcretest on Windows with readline support failed without the
    following two fixes: (1) Make the unistd.h include conditional on
    HAVE_UNISTD_H; (2) #define isatty and fileno as _isatty and _fileno.

18. Changed CMakeLists.txt and cmake/FindReadline.cmake to arrange for the
    ncurses library to be included for pcretest when ReadLine support is
    requested, but also to allow for it to be overridden. This patch came from
    Daniel Bergström.

19. There was a typo in the file ucpinternal.h where f0_rangeflag was defined
    as 0x00f00000 instead of 0x00800000. Luckily, this would not have caused
    any errors with the current Unicode tables. Thanks to Peter Kankowski for
    spotting this.


Version 7.6 28-Jan-08
---------------------

1.  A character class containing a very large number of characters with
    codepoints greater than 255 (in UTF-8 mode, of course) caused a buffer
    overflow.

2.  Patch to cut out the "long long" test in pcrecpp_unittest when
    HAVE_LONG_LONG is not defined.

3.  Applied Christian Ehrlicher's patch to update the CMake build files to
    bring them up to date and include new features. This patch includes:

    - Fixed PH's badly added libz and libbz2 support.
    - Fixed a problem with static linking.
    - Added pcredemo. [But later removed - see 7 below.]
    - Fixed dftables problem and added an option.
    - Added a number of HAVE_XXX tests, including HAVE_WINDOWS_H and
        HAVE_LONG_LONG.
    - Added readline support for pcretest.
    - Added an listing of the option settings after cmake has run.

4.  A user submitted a patch to Makefile that makes it easy to create
    "pcre.dll" under mingw when using Configure/Make. I added stuff to
    Makefile.am that cause it to include this special target, without
    affecting anything else. Note that the same mingw target plus all
    the other distribution libraries and programs are now supported
    when configuring with CMake (see 6 below) instead of with
    Configure/Make.

5.  Applied Craig's patch that moves no_arg into the RE class in the C++ code.
    This is an attempt to solve the reported problem "pcrecpp::no_arg is not
    exported in the Windows port". It has not yet been confirmed that the patch
    solves the problem, but it does no harm.

6.  Applied Sheri's patch to CMakeLists.txt to add NON_STANDARD_LIB_PREFIX and
    NON_STANDARD_LIB_SUFFIX for dll names built with mingw when configured
    with CMake, and also correct the comment about stack recursion.

7.  Remove the automatic building of pcredemo from the ./configure system and
    from CMakeLists.txt. The whole idea of pcredemo.c is that it is an example
    of a program that users should build themselves after PCRE is installed, so
    building it automatically is not really right. What is more, it gave
    trouble in some build environments.

8.  Further tidies to CMakeLists.txt from Sheri and Christian.


Version 7.5 10-Jan-08
---------------------

1.  Applied a patch from Craig: "This patch makes it possible to 'ignore'
    values in parens when parsing an RE using the C++ wrapper."

2.  Negative specials like \S did not work in character classes in UTF-8 mode.
    Characters greater than 255 were excluded from the class instead of being
    included.

3.  The same bug as (2) above applied to negated POSIX classes such as
    [:^space:].

4.  PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it
    defined or documented. It seems to have been a typo for PCRE_STATIC, so
    I have changed it.

5.  The construct (?&) was not diagnosed as a syntax error (it referenced the
    first named subpattern) and a construct such as (?&a) would reference the
    first named subpattern whose name started with "a" (in other words, the
    length check was missing). Both these problems are fixed. "Subpattern name
    expected" is now given for (?&) (a zero-length name), and this patch also
    makes it give the same error for \k'' (previously it complained that that
    was a reference to a non-existent subpattern).

6.  The erroneous patterns (?+-a) and (?-+a) give different error messages;
    this is right because (?- can be followed by option settings as well as by
    digits. I have, however, made the messages clearer.

7.  Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns
    than the number used in the conditional) now cause a compile-time error.
    This is actually not compatible with Perl, which accepts such patterns, but
    treats the conditional as always being FALSE (as PCRE used to), but it
    seems to me that giving a diagnostic is better.

8.  Change "alphameric" to the more common word "alphanumeric" in comments
    and messages.

9.  Fix two occurrences of "backslash" in comments that should have been
    "backspace".

10. Remove two redundant lines of code that can never be obeyed (their function
    was moved elsewhere).

11. The program that makes PCRE's Unicode character property table had a bug
    which caused it to generate incorrect table entries for sequences of
    characters that have the same character type, but are in different scripts.
    It amalgamated them into a single range, with the script of the first of
    them. In other words, some characters were in the wrong script. There were
    thirteen such cases, affecting characters in the following ranges:

      U+002b0 - U+002c1
      U+0060c - U+0060d
      U+0061e - U+00612
      U+0064b - U+0065e
      U+0074d - U+0076d
      U+01800 - U+01805
      U+01d00 - U+01d77
      U+01d9b - U+01dbf
      U+0200b - U+0200f
      U+030fc - U+030fe
      U+03260 - U+0327f
      U+0fb46 - U+0fbb1
      U+10450 - U+1049d

12. The -o option (show only the matching part of a line) for pcregrep was not
    compatible with GNU grep in that, if there was more than one match in a
    line, it showed only the first of them. It now behaves in the same way as
    GNU grep.

13. If the -o and -v options were combined for pcregrep, it printed a blank
    line for every non-matching line. GNU grep prints nothing, and pcregrep now
    does the same. The return code can be used to tell if there were any
    non-matching lines.

14. Added --file-offsets and --line-offsets to pcregrep.

15. The pattern (?=something)(?R) was not being diagnosed as a potentially
    infinitely looping recursion. The bug was that positive lookaheads were not
    being skipped when checking for a possible empty match (negative lookaheads
    and both kinds of lookbehind were skipped).

16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the
    inclusion of <windows.h> to before rather than after the definition of
    INVALID_FILE_ATTRIBUTES (patch from David Byron).

17. Specifying a possessive quantifier with a specific limit for a Unicode
    character property caused pcre_compile() to compile bad code, which led at
    runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this
    are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that
    caused the error; without that there was no problem.

18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2.

19. Added --enable-pcretest-libreadline.

20. In pcrecpp.cc, the variable 'count' was incremented twice in
    RE::GlobalReplace(). As a result, the number of replacements returned was
    double what it should be. I removed one of the increments, but Craig sent a
    later patch that removed the other one (the right fix) and added unit tests
    that check the return values (which was not done before).

21. Several CMake things:

    (1) Arranged that, when cmake is used on Unix, the libraries end up with
        the names libpcre and libpcreposix, not just pcre and pcreposix.

    (2) The above change means that pcretest and pcregrep are now correctly
        linked with the newly-built libraries, not previously installed ones.

    (3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2.

22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.*
    crashed when matching a string such as a\x{2029}b (note that \x{2029} is a
    UTF-8 newline character). The key issue is that the pattern starts .*;
    this means that the match must be either at the beginning, or after a
    newline. The bug was in the code for advancing after a failed match and
    checking that the new position followed a newline. It was not taking
    account of UTF-8 characters correctly.

23. PCRE was behaving differently from Perl in the way it recognized POSIX
    character classes. PCRE was not treating the sequence [:...:] as a
    character class unless the ... were all letters. Perl, however, seems to
    allow any characters between [: and :], though of course it rejects as
    unknown any "names" that contain non-letters, because all the known class
    names consist only of letters. Thus, Perl gives an error for [[:1234:]],
    for example, whereas PCRE did not - it did not recognize a POSIX character
    class. This seemed a bit dangerous, so the code has been changed to be
    closer to Perl. The behaviour is not identical to Perl, because PCRE will
    diagnose an unknown class for, for example, [[:l\ower:]] where Perl will
    treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where
    Perl does, and where it didn't before.

24. Rewrite so as to remove the single use of %n from pcregrep because in some
    Windows environments %n is disabled by default.


Version 7.4 21-Sep-07
---------------------

1.  Change 7.3/28 was implemented for classes by looking at the bitmap. This
    means that a class such as [\s] counted as "explicit reference to CR or
    LF". That isn't really right - the whole point of the change was to try to
    help when there was an actual mention of one of the two characters. So now
    the change happens only if \r or \n (or a literal CR or LF) character is
    encountered.

2.  The 32-bit options word was also used for 6 internal flags, but the numbers
    of both had grown to the point where there were only 3 bits left.
    Fortunately, there was spare space in the data structure, and so I have
    moved the internal flags into a new 16-bit field to free up more option
    bits.

3.  The appearance of (?J) at the start of a pattern set the DUPNAMES option,
    but did not set the internal JCHANGED flag - either of these is enough to
    control the way the "get" function works - but the PCRE_INFO_JCHANGED
    facility is supposed to tell if (?J) was ever used, so now (?J) at the
    start sets both bits.

4.  Added options (at build time, compile time, exec time) to change \R from
    matching any Unicode line ending sequence to just matching CR, LF, or CRLF.

5.  doc/pcresyntax.html was missing from the distribution.

6.  Put back the definition of PCRE_ERROR_NULLWSLIMIT, for backward
    compatibility, even though it is no longer used.

7.  Added macro for snprintf to pcrecpp_unittest.cc and also for strtoll and
    strtoull to pcrecpp.cc to select the available functions in WIN32 when the
    windows.h file is present (where different names are used). [This was
    reversed later after testing - see 16 below.]

8.  Changed all #include <config.h> to #include "config.h". There were also
    some further <pcre.h> cases that I changed to "pcre.h".

9.  When pcregrep was used with the --colour option, it missed the line ending
    sequence off the lines that it output.

10. It was pointed out to me that arrays of string pointers cause lots of
    relocations when a shared library is dynamically loaded. A technique of
    using a single long string with a table of offsets can drastically reduce
    these. I have refactored PCRE in four places to do this. The result is
    dramatic:

      Originally:                          290
      After changing UCP table:            187
      After changing error message table:   43
      After changing table of "verbs"       36
      After changing table of Posix names   22

    Thanks to the folks working on Gregex for glib for this insight.

11. --disable-stack-for-recursion caused compiling to fail unless -enable-
    unicode-properties was also set.

12. Updated the tests so that they work when \R is defaulted to ANYCRLF.

13. Added checks for ANY and ANYCRLF to pcrecpp.cc where it previously
    checked only for CRLF.

14. Added casts to pcretest.c to avoid compiler warnings.

15. Added Craig's patch to various pcrecpp modules to avoid compiler warnings.

16. Added Craig's patch to remove the WINDOWS_H tests, that were not working,
    and instead check for _strtoi64 explicitly, and avoid the use of snprintf()
    entirely. This removes changes made in 7 above.

17. The CMake files have been updated, and there is now more information about
    building with CMake in the NON-UNIX-USE document.


Version 7.3 28-Aug-07
---------------------

 1. In the rejigging of the build system that eventually resulted in 7.1, the
    line "#include <pcre.h>" was included in pcre_internal.h. The use of angle
    brackets there is not right, since it causes compilers to look for an
    installed pcre.h, not the version that is in the source that is being
    compiled (which of course may be different). I have changed it back to:

      #include "pcre.h"

    I have a vague recollection that the change was concerned with compiling in
    different directories, but in the new build system, that is taken care of
    by the VPATH setting the Makefile.

 2. The pattern .*$ when run in not-DOTALL UTF-8 mode with newline=any failed
    when the subject happened to end in the byte 0x85 (e.g. if the last
    character was \x{1ec5}). *Character* 0x85 is one of the "any" newline
    characters but of course it shouldn't be taken as a newline when it is part
    of another character. The bug was that, for an unlimited repeat of . in
    not-DOTALL UTF-8 mode, PCRE was advancing by bytes rather than by
    characters when looking for a newline.

 3. A small performance improvement in the DOTALL UTF-8 mode .* case.

 4. Debugging: adjusted the names of opcodes for different kinds of parentheses
    in debug output.

 5. Arrange to use "%I64d" instead of "%lld" and "%I64u" instead of "%llu" for
    long printing in the pcrecpp unittest when running under MinGW.

 6. ESC_K was left out of the EBCDIC table.

 7. Change 7.0/38 introduced a new limit on the number of nested non-capturing
    parentheses; I made it 1000, which seemed large enough. Unfortunately, the
    limit also applies to "virtual nesting" when a pattern is recursive, and in
    this case 1000 isn't so big. I have been able to remove this limit at the
    expense of backing off one optimization in certain circumstances. Normally,
    when pcre_exec() would call its internal match() function recursively and
    immediately return the result unconditionally, it uses a "tail recursion"
    feature to save stack. However, when a subpattern that can match an empty
    string has an unlimited repetition quantifier, it no longer makes this
    optimization. That gives it a stack frame in which to save the data for
    checking that an empty string has been matched. Previously this was taken
    from the 1000-entry workspace that had been reserved. So now there is no
    explicit limit, but more stack is used.

 8. Applied Daniel's patches to solve problems with the import/export magic
    syntax that is required for Windows, and which was going wrong for the
    pcreposix and pcrecpp parts of the library. These were overlooked when this
    problem was solved for the main library.

 9. There were some crude static tests to avoid integer overflow when computing
    the size of patterns that contain repeated groups with explicit upper
    limits. As the maximum quantifier is 65535, the maximum group length was
    set at 30,000 so that the product of these two numbers did not overflow a
    32-bit integer. However, it turns out that people want to use groups that
    are longer than 30,000 bytes (though not repeat them that many times).
    Change 7.0/17 (the refactoring of the way the pattern size is computed) has
    made it possible to implement the integer overflow checks in a much more
    dynamic way, which I have now done. The artificial limitation on group
    length has been removed - we now have only the limit on the total length of
    the compiled pattern, which depends on the LINK_SIZE setting.

10. Fixed a bug in the documentation for get/copy named substring when
    duplicate names are permitted. If none of the named substrings are set, the
    functions return PCRE_ERROR_NOSUBSTRING (7); the doc said they returned an
    empty string.

11. Because Perl interprets \Q...\E at a high level, and ignores orphan \E
    instances, patterns such as [\Q\E] or [\E] or even [^\E] cause an error,
    because the ] is interpreted as the first data character and the
    terminating ] is not found. PCRE has been made compatible with Perl in this
    regard. Previously, it interpreted [\Q\E] as an empty class, and [\E] could
    cause memory overwriting.

10. Like Perl, PCRE automatically breaks an unlimited repeat after an empty
    string has been matched (to stop an infinite loop). It was not recognizing
    a conditional subpattern that could match an empty string if that
    subpattern was within another subpattern. For example, it looped when
    trying to match  (((?(1)X|))*)  but it was OK with  ((?(1)X|)*)  where the
    condition was not nested. This bug has been fixed.

12. A pattern like \X?\d or \P{L}?\d in non-UTF-8 mode could cause a backtrack
    past the start of the subject in the presence of bytes with the top bit
    set, for example "\x8aBCD".

13. Added Perl 5.10 experimental backtracking controls (*FAIL), (*F), (*PRUNE),
    (*SKIP), (*THEN), (*COMMIT), and (*ACCEPT).

14. Optimized (?!) to (*FAIL).

15. Updated the test for a valid UTF-8 string to conform to the later RFC 3629.
    This restricts code points to be within the range 0 to 0x10FFFF, excluding
    the "low surrogate" sequence 0xD800 to 0xDFFF. Previously, PCRE allowed the
    full range 0 to 0x7FFFFFFF, as defined by RFC 2279. Internally, it still
    does: it's just the validity check that is more restrictive.

16. Inserted checks for integer overflows during escape sequence (backslash)
    processing, and also fixed erroneous offset values for syntax errors during
    backslash processing.

17. Fixed another case of looking too far back in non-UTF-8 mode (cf 12 above)
    for patterns like [\PPP\x8a]{1,}\x80 with the subject "A\x80".

18. An unterminated class in a pattern like (?1)\c[ with a "forward reference"
    caused an overrun.

19. A pattern like (?:[\PPa*]*){8,} which had an "extended class" (one with
    something other than just ASCII characters) inside a group that had an
    unlimited repeat caused a loop at compile time (while checking to see
    whether the group could match an empty string).

20. Debugging a pattern containing \p or \P could cause a crash. For example,
    [\P{Any}] did so. (Error in the code for printing property names.)

21. An orphan \E inside a character class could cause a crash.

22. A repeated capturing bracket such as (A)? could cause a wild memory
    reference during compilation.

23. There are several functions in pcre_compile() that scan along a compiled
    expression for various reasons (e.g. to see if it's fixed length for look
    behind). There were bugs in these functions when a repeated \p or \P was
    present in the pattern. These operators have additional parameters compared
    with \d, etc, and these were not being taken into account when moving along
    the compiled data. Specifically:

    (a) A item such as \p{Yi}{3} in a lookbehind was not treated as fixed
        length.

    (b) An item such as \pL+ within a repeated group could cause crashes or
        loops.

    (c) A pattern such as \p{Yi}+(\P{Yi}+)(?1) could give an incorrect
        "reference to non-existent subpattern" error.

    (d) A pattern like (\P{Yi}{2}\277)? could loop at compile time.

24. A repeated \S or \W in UTF-8 mode could give wrong answers when multibyte
    characters were involved (for example /\S{2}/8g with "A\x{a3}BC").

25. Using pcregrep in multiline, inverted mode (-Mv) caused it to loop.

26. Patterns such as [\P{Yi}A] which include \p or \P and just one other
    character were causing crashes (broken optimization).

27. Patterns such as (\P{Yi}*\277)* (group with possible zero repeat containing
    \p or \P) caused a compile-time loop.

28. More problems have arisen in unanchored patterns when CRLF is a valid line
    break. For example, the unstudied pattern [\r\n]A does not match the string
    "\r\nA" because change 7.0/46 below moves the current point on by two
    characters after failing to match at the start. However, the pattern \nA
    *does* match, because it doesn't start till \n, and if [\r\n]A is studied,
    the same is true. There doesn't seem any very clean way out of this, but
    what I have chosen to do makes the common cases work: PCRE now takes note
    of whether there can be an explicit match for \r or \n anywhere in the
    pattern, and if so, 7.0/46 no longer applies. As part of this change,
    there's a new PCRE_INFO_HASCRORLF option for finding out whether a compiled
    pattern has explicit CR or LF references.

29. Added (*CR) etc for changing newline setting at start of pattern.


Version 7.2 19-Jun-07
---------------------

 1. If the fr_FR locale cannot be found for test 3, try the "french" locale,
    which is apparently normally available under Windows.

 2. Re-jig the pcregrep tests with different newline settings in an attempt
    to make them independent of the local environment's newline setting.

 3. Add code to configure.ac to remove -g from the CFLAGS default settings.

 4. Some of the "internals" tests were previously cut out when the link size
    was not 2, because the output contained actual offsets. The recent new
    "Z" feature of pcretest means that these can be cut out, making the tests
    usable with all link sizes.

 5. Implemented Stan Switzer's goto replacement for longjmp() when not using
    stack recursion. This gives a massive performance boost under BSD, but just
    a small improvement under Linux. However, it saves one field in the frame
    in all cases.

 6. Added more features from the forthcoming Perl 5.10:

    (a) (?-n) (where n is a string of digits) is a relative subroutine or
        recursion call. It refers to the nth most recently opened parentheses.

    (b) (?+n) is also a relative subroutine call; it refers to the nth next
        to be opened parentheses.

    (c) Conditions that refer to capturing parentheses can be specified
        relatively, for example, (?(-2)... or (?(+3)...

    (d) \K resets the start of the current match so that everything before
        is not part of it.

    (e) \k{name} is synonymous with \k<name> and \k'name' (.NET compatible).

    (f) \g{name} is another synonym - part of Perl 5.10's unification of
        reference syntax.

    (g) (?| introduces a group in which the numbering of parentheses in each
        alternative starts with the same number.

    (h) \h, \H, \v, and \V match horizontal and vertical whitespace.

 7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and
    PCRE_INFO_JCHANGED.

 8. A pattern such as  (.*(.)?)*  caused pcre_exec() to fail by either not
    terminating or by crashing. Diagnosed by Viktor Griph; it was in the code
    for detecting groups that can match an empty string.

 9. A pattern with a very large number of alternatives (more than several
    hundred) was running out of internal workspace during the pre-compile
    phase, where pcre_compile() figures out how much memory will be needed. A
    bit of new cunning has reduced the workspace needed for groups with
    alternatives. The 1000-alternative test pattern now uses 12 bytes of
    workspace instead of running out of the 4096 that are available.

10. Inserted some missing (unsigned int) casts to get rid of compiler warnings.

11. Applied patch from Google to remove an optimization that didn't quite work.
    The report of the bug said:

      pcrecpp::RE("a*").FullMatch("aaa") matches, while
      pcrecpp::RE("a*?").FullMatch("aaa") does not, and
      pcrecpp::RE("a*?\\z").FullMatch("aaa") does again.

12. If \p or \P was used in non-UTF-8 mode on a character greater than 127
    it matched the wrong number of bytes.


Version 7.1 24-Apr-07
---------------------

 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one
    that is more "standard", making use of automake and other Autotools. There
    is some re-arrangement of the files and adjustment of comments consequent
    on this.

 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r
    for recursive directory scanning broke on some systems because the files
    are not scanned in any specific order and on different systems the order
    was different. A call to "sort" has been inserted into RunGrepTest for the
    approprate test as a short-term fix. In the longer term there may be an
    alternative.

 3. I had an email from Eric Raymond about problems translating some of PCRE's
    man pages to HTML (despite the fact that I distribute HTML pages, some
    people do their own conversions for various reasons). The problems
    concerned the use of low-level troff macros .br and .in. I have therefore
    removed all such uses from the man pages (some were redundant, some could
    be replaced by .nf/.fi pairs). The 132html script that I use to generate
    HTML has been updated to handle .nf/.fi and to complain if it encounters
    .br or .in.

 4. Updated comments in configure.ac that get placed in config.h.in and also
    arranged for config.h to be included in the distribution, with the name
    config.h.generic, for the benefit of those who have to compile without
    Autotools (compare pcre.h, which is now distributed as pcre.h.generic).

 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan
    Weber: (1) pcre_internal.h was missing some function renames; (2) updated
    makevp.bat for the current PCRE, using the additional files
    makevp_c.txt, makevp_l.txt, and pcregexp.pas.

 6. A Windows user reported a minor discrepancy with test 2, which turned out
    to be caused by a trailing space on an input line that had got lost in his
    copy. The trailing space was an accident, so I've just removed it.

 7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told
    that is needed.

 8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c)
    as "const" (a) because they are and (b) because it helps the PHP
    maintainers who have recently made a script to detect big data structures
    in the php code that should be moved to the .rodata section. I remembered
    to update Builducptable as well, so it won't revert if ucptable.h is ever
    re-created.

 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c,
    pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in
    order to be able to cut out the UTF-8 tables in the latter when UTF-8
    support is not required. This saves 1.5-2K of code, which is important in
    some applications.

    Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c
    so as not to refer to the tables, even though these functions will never be
    called when UTF-8 support is disabled. Otherwise there are problems with a
    shared library.

10. Fixed two bugs in the emulated memmove() function in pcre_internal.h:

    (a) It was defining its arguments as char * instead of void *.

    (b) It was assuming that all moves were upwards in memory; this was true
        a long time ago when I wrote it, but is no longer the case.

    The emulated memove() is provided for those environments that have neither
    memmove() nor bcopy(). I didn't think anyone used it these days, but that
    is clearly not the case, as these two bugs were recently reported.

11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt,
    and Detrail to create the HTML documentation, the .txt form of the man
    pages, and it removes trailing spaces from listed files. It also creates
    pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter
    case, it wraps all the #defines with #ifndefs. This script should be run
    before "make dist".

12. Fixed two fairly obscure bugs concerned with quantified caseless matching
    with Unicode property support.

    (a) For a maximizing quantifier, if the two different cases of the
        character were of different lengths in their UTF-8 codings (there are
        some cases like this - I found 11), and the matching function had to
        back up over a mixture of the two cases, it incorrectly assumed they
        were both the same length.

    (b) When PCRE was configured to use the heap rather than the stack for
        recursion during matching, it was not correctly preserving the data for
        the other case of a UTF-8 character when checking ahead for a match
        while processing a minimizing repeat. If the check also involved
        matching a wide character, but failed, corruption could cause an
        erroneous result when trying to check for a repeat of the original
        character.

13. Some tidying changes to the testing mechanism:

    (a) The RunTest script now detects the internal link size and whether there
        is UTF-8 and UCP support by running ./pcretest -C instead of relying on
        values substituted by "configure". (The RunGrepTest script already did
        this for UTF-8.) The configure.ac script no longer substitutes the
        relevant variables.

    (b) The debugging options /B and /D in pcretest show the compiled bytecode
        with length and offset values. This means that the output is different
        for different internal link sizes. Test 2 is skipped for link sizes
        other than 2 because of this, bypassing the problem. Unfortunately,
        there was also a test in test 3 (the locale tests) that used /B and
        failed for link sizes other than 2. Rather than cut the whole test out,
        I have added a new /Z option to pcretest that replaces the length and
        offset values with spaces. This is now used to make test 3 independent
        of link size. (Test 2 will be tidied up later.)

14. If erroroffset was passed as NULL to pcre_compile, it provoked a
    segmentation fault instead of returning the appropriate error message.

15. In multiline mode when the newline sequence was set to "any", the pattern
    ^$ would give a match between the \r and \n of a subject such as "A\r\nB".
    This doesn't seem right; it now treats the CRLF combination as the line
    ending, and so does not match in that case. It's only a pattern such as ^$
    that would hit this one: something like ^ABC$ would have failed after \r
    and then tried again after \r\n.

16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub"
    in an attempt to make files that differ only in their line terminators
    compare equal. This works on Linux.

17. Under certain error circumstances pcregrep might try to free random memory
    as it exited. This is now fixed, thanks to valgrind.

19. In pcretest, if the pattern /(?m)^$/g<any> was matched against the string
    "abc\r\n\r\n", it found an unwanted second match after the second \r. This
    was because its rules for how to advance for /g after matching an empty
    string at the end of a line did not allow for this case. They now check for
    it specially.

20. pcretest is supposed to handle patterns and data of any length, by
    extending its buffers when necessary. It was getting this wrong when the
    buffer for a data line had to be extended.

21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or
    CRLF as a newline sequence.

22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut
    out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but
    I have nevertheless tidied it up.

23. Added some casts to kill warnings from HP-UX ia64 compiler.

24. Added a man page for pcre-config.


Version 7.0 19-Dec-06
---------------------

 1. Fixed a signed/unsigned compiler warning in pcre_compile.c, shown up by
    moving to gcc 4.1.1.

 2. The -S option for pcretest uses setrlimit(); I had omitted to #include
    sys/time.h, which is documented as needed for this function. It doesn't
    seem to matter on Linux, but it showed up on some releases of OS X.

 3. It seems that there are systems where bytes whose values are greater than
    127 match isprint() in the "C" locale. The "C" locale should be the
    default when a C program starts up. In most systems, only ASCII printing
    characters match isprint(). This difference caused the output from pcretest
    to vary, making some of the tests fail. I have changed pcretest so that:

    (a) When it is outputting text in the compiled version of a pattern, bytes
        other than 32-126 are always shown as hex escapes.

    (b) When it is outputting text that is a matched part of a subject string,
        it does the same, unless a different locale has been set for the match
        (using the /L modifier). In this case, it uses isprint() to decide.

 4. Fixed a major bug that caused incorrect computation of the amount of memory
    required for a compiled pattern when options that changed within the
    pattern affected the logic of the preliminary scan that determines the
    length. The relevant options are -x, and -i in UTF-8 mode. The result was
    that the computed length was too small. The symptoms of this bug were
    either the PCRE error "internal error: code overflow" from pcre_compile(),
    or a glibc crash with a message such as "pcretest: free(): invalid next
    size (fast)". Examples of patterns that provoked this bug (shown in
    pcretest format) are:

      /(?-x: )/x
      /(?x)(?-x: \s*#\s*)/
      /((?i)[\x{c0}])/8
      /(?i:[\x{c0}])/8

    HOWEVER: Change 17 below makes this fix obsolete as the memory computation
    is now done differently.

 5. Applied patches from Google to: (a) add a QuoteMeta function to the C++
    wrapper classes; (b) implement a new function in the C++ scanner that is
    more efficient than the old way of doing things because it avoids levels of
    recursion in the regex matching; (c) add a paragraph to the documentation
    for the FullMatch() function.

 6. The escape sequence \n was being treated as whatever was defined as
    "newline". Not only was this contrary to the documentation, which states
    that \n is character 10 (hex 0A), but it also went horribly wrong when
    "newline" was defined as CRLF. This has been fixed.

 7. In pcre_dfa_exec.c the value of an unsigned integer (the variable called c)
    was being set to -1 for the "end of line" case (supposedly a value that no
    character can have). Though this value is never used (the check for end of
    line is "zero bytes in current character"), it caused compiler complaints.
    I've changed it to 0xffffffff.

 8. In pcre_version.c, the version string was being built by a sequence of
    C macros that, in the event of PCRE_PRERELEASE being defined as an empty
    string (as it is for production releases) called a macro with an empty
    argument. The C standard says the result of this is undefined. The gcc
    compiler treats it as an empty string (which was what was wanted) but it is
    reported that Visual C gives an error. The source has been hacked around to
    avoid this problem.

 9. On the advice of a Windows user, included <io.h> and <fcntl.h> in Windows
    builds of pcretest, and changed the call to _setmode() to use _O_BINARY
    instead of 0x8000. Made all the #ifdefs test both _WIN32 and WIN32 (not all
    of them did).

10. Originally, pcretest opened its input and output without "b"; then I was
    told that "b" was needed in some environments, so it was added for release
    5.0 to both the input and output. (It makes no difference on Unix-like
    systems.) Later I was told that it is wrong for the input on Windows. I've
    now abstracted the modes into two macros, to make it easier to fiddle with
    them, and removed "b" from the input mode under Windows.

11. Added pkgconfig support for the C++ wrapper library, libpcrecpp.

12. Added -help and --help to pcretest as an official way of being reminded
    of the options.

13. Removed some redundant semicolons after macro calls in pcrecpparg.h.in
    and pcrecpp.cc because they annoy compilers at high warning levels.

14. A bit of tidying/refactoring in pcre_exec.c in the main bumpalong loop.

15. Fixed an occurrence of == in configure.ac that should have been = (shell
    scripts are not C programs :-) and which was not noticed because it works
    on Linux.

16. pcretest is supposed to handle any length of pattern and data line (as one
    line or as a continued sequence of lines) by extending its input buffer if
    necessary. This feature was broken for very long pattern lines, leading to
    a string of junk being passed to pcre_compile() if the pattern was longer
    than about 50K.

17. I have done a major re-factoring of the way pcre_compile() computes the
    amount of memory needed for a compiled pattern. Previously, there was code
    that made a preliminary scan of the pattern in order to do this. That was
    OK when PCRE was new, but as the facilities have expanded, it has become
    harder and harder to keep it in step with the real compile phase, and there
    have been a number of bugs (see for example, 4 above). I have now found a
    cunning way of running the real compile function in a "fake" mode that
    enables it to compute how much memory it would need, while actually only
    ever using a few hundred bytes of working memory and without too many
    tests of the mode. This should make future maintenance and development
    easier. A side effect of this work is that the limit of 200 on the nesting
    depth of parentheses has been removed (though this was never a serious
    limitation, I suspect). However, there is a downside: pcre_compile() now
    runs more slowly than before (30% or more, depending on the pattern). I
    hope this isn't a big issue. There is no effect on runtime performance.

18. Fixed a minor bug in pcretest: if a pattern line was not terminated by a
    newline (only possible for the last line of a file) and it was a
    pattern that set a locale (followed by /Lsomething), pcretest crashed.

19. Added additional timing features to pcretest. (1) The -tm option now times
    matching only, not compiling. (2) Both -t and -tm can be followed, as a
    separate command line item, by a number that specifies the number of
    repeats to use when timing. The default is 50000; this gives better
    precision, but takes uncomfortably long for very large patterns.

20. Extended pcre_study() to be more clever in cases where a branch of a
    subpattern has no definite first character. For example, (a*|b*)[cd] would
    previously give no result from pcre_study(). Now it recognizes that the
    first character must be a, b, c, or d.

21. There was an incorrect error "recursive call could loop indefinitely" if
    a subpattern (or the entire pattern) that was being tested for matching an
    empty string contained only one non-empty item after a nested subpattern.
    For example, the pattern (?>\x{100}*)\d(?R) provoked this error
    incorrectly, because the \d was being skipped in the check.

22. The pcretest program now has a new pattern option /B and a command line
    option -b, which is equivalent to adding /B to every pattern. This causes
    it to show the compiled bytecode, without the additional information that
    -d shows. The effect of -d is now the same as -b with -i (and similarly, /D
    is the same as /B/I).

23. A new optimization is now able automatically to treat some sequences such
    as a*b as a*+b. More specifically, if something simple (such as a character
    or a simple class like \d) has an unlimited quantifier, and is followed by
    something that cannot possibly match the quantified thing, the quantifier
    is automatically "possessified".

24. A recursive reference to a subpattern whose number was greater than 39
    went wrong under certain circumstances in UTF-8 mode. This bug could also
    have affected the operation of pcre_study().

25. Realized that a little bit of performance could be had by replacing
    (c & 0xc0) == 0xc0 with c >= 0xc0 when processing UTF-8 characters.

26. Timing data from pcretest is now shown to 4 decimal places instead of 3.

27. Possessive quantifiers such as a++ were previously implemented by turning
    them into atomic groups such as ($>a+). Now they have their own opcodes,
    which improves performance. This includes the automatically created ones
    from 23 above.

28. A pattern such as (?=(\w+))\1: which simulates an atomic group using a
    lookahead was broken if it was not anchored. PCRE was mistakenly expecting
    the first matched character to be a colon. This applied both to named and
    numbered groups.

29. The ucpinternal.h header file was missing its idempotency #ifdef.

30. I was sent a "project" file called libpcre.a.dev which I understand makes
    building PCRE on Windows easier, so I have included it in the distribution.

31. There is now a check in pcretest against a ridiculously large number being
    returned by pcre_exec() or pcre_dfa_exec(). If this happens in a /g or /G
    loop, the loop is abandoned.

32. Forward references to subpatterns in conditions such as (?(2)...) where
    subpattern 2 is defined later cause pcre_compile() to search forwards in
    the pattern for the relevant set of parentheses. This search went wrong
    when there were unescaped parentheses in a character class, parentheses
    escaped with \Q...\E, or parentheses in a #-comment in /x mode.

33. "Subroutine" calls and backreferences were previously restricted to
    referencing subpatterns earlier in the regex. This restriction has now
    been removed.

34. Added a number of extra features that are going to be in Perl 5.10. On the
    whole, these are just syntactic alternatives for features that PCRE had
    previously implemented using the Python syntax or my own invention. The
    other formats are all retained for compatibility.

    (a) Named groups can now be defined as (?<name>...) or (?'name'...) as well
        as (?P<name>...). The new forms, as well as being in Perl 5.10, are
        also .NET compatible.

    (b) A recursion or subroutine call to a named group can now be defined as
        (?&name) as well as (?P>name).

    (c) A backreference to a named group can now be defined as \k<name> or
        \k'name' as well as (?P=name). The new forms, as well as being in Perl
        5.10, are also .NET compatible.

    (d) A conditional reference to a named group can now use the syntax
        (?(<name>) or (?('name') as well as (?(name).

    (e) A "conditional group" of the form (?(DEFINE)...) can be used to define
        groups (named and numbered) that are never evaluated inline, but can be
        called as "subroutines" from elsewhere. In effect, the DEFINE condition
        is always false. There may be only one alternative in such a group.

    (f) A test for recursion can be given as (?(R1).. or (?(R&name)... as well
        as the simple (?(R). The condition is true only if the most recent
        recursion is that of the given number or name. It does not search out
        through the entire recursion stack.

    (g) The escape \gN or \g{N} has been added, where N is a positive or
        negative number, specifying an absolute or relative reference.

35. Tidied to get rid of some further signed/unsigned compiler warnings and
    some "unreachable code" warnings.

36. Updated the Unicode property tables to Unicode version 5.0.0. Amongst other
    things, this adds five new scripts.

37. Perl ignores orphaned \E escapes completely. PCRE now does the same.
    There were also incompatibilities regarding the handling of \Q..\E inside
    character classes, for example with patterns like [\Qa\E-\Qz\E] where the
    hyphen was adjacent to \Q or \E. I hope I've cleared all this up now.

38. Like Perl, PCRE detects when an indefinitely repeated parenthesized group
    matches an empty string, and forcibly breaks the loop. There were bugs in
    this code in non-simple cases. For a pattern such as  ^(a()*)*  matched
    against  aaaa  the result was just "a" rather than "aaaa", for example. Two
    separate and independent bugs (that affected different cases) have been
    fixed.

39. Refactored the code to abolish the use of different opcodes for small
    capturing bracket numbers. This is a tidy that I avoided doing when I
    removed the limit on the number of capturing brackets for 3.5 back in 2001.
    The new approach is not only tidier, it makes it possible to reduce the
    memory needed to fix the previous bug (38).

40. Implemented PCRE_NEWLINE_ANY to recognize any of the Unicode newline
    sequences (http://unicode.org/unicode/reports/tr18/) as "newline" when
    processing dot, circumflex, or dollar metacharacters, or #-comments in /x
    mode.

41. Add \R to match any Unicode newline sequence, as suggested in the Unicode
    report.

42. Applied patch, originally from Ari Pollak, modified by Google, to allow
    copy construction and assignment in the C++ wrapper.

43. Updated pcregrep to support "--newline=any". In the process, I fixed a
    couple of bugs that could have given wrong results in the "--newline=crlf"
    case.

44. Added a number of casts and did some reorganization of signed/unsigned int
    variables following suggestions from Dair Grant. Also renamed the variable
    "this" as "item" because it is a C++ keyword.

45. Arranged for dftables to add

      #include "pcre_internal.h"

    to pcre_chartables.c because without it, gcc 4.x may remove the array
    definition from the final binary if PCRE is built into a static library and
    dead code stripping is activated.

46. For an unanchored pattern, if a match attempt fails at the start of a
    newline sequence, and the newline setting is CRLF or ANY, and the next two
    characters are CRLF, advance by two characters instead of one.


Version 6.7 04-Jul-06
---------------------

 1. In order to handle tests when input lines are enormously long, pcretest has
    been re-factored so that it automatically extends its buffers when
    necessary. The code is crude, but this _is_ just a test program. The
    default size has been increased from 32K to 50K.

 2. The code in pcre_study() was using the value of the re argument before
    testing it for NULL. (Of course, in any sensible call of the function, it
    won't be NULL.)

 3. The memmove() emulation function in pcre_internal.h, which is used on
    systems that lack both memmove() and bcopy() - that is, hardly ever -
    was missing a "static" storage class specifier.

 4. When UTF-8 mode was not set, PCRE looped when compiling certain patterns
    containing an extended class (one that cannot be represented by a bitmap
    because it contains high-valued characters or Unicode property items, e.g.
    [\pZ]). Almost always one would set UTF-8 mode when processing such a
    pattern, but PCRE should not loop if you do not (it no longer does).
    [Detail: two cases were found: (a) a repeated subpattern containing an
    extended class; (b) a recursive reference to a subpattern that followed a
    previous extended class. It wasn't skipping over the extended class
    correctly when UTF-8 mode was not set.]

 5. A negated single-character class was not being recognized as fixed-length
    in lookbehind assertions such as (?<=[^f]), leading to an incorrect
    compile error "lookbehind assertion is not fixed length".

 6. The RunPerlTest auxiliary script was showing an unexpected difference
    between PCRE and Perl for UTF-8 tests. It turns out that it is hard to
    write a Perl script that can interpret lines of an input file either as
    byte characters or as UTF-8, which is what "perltest" was being required to
    do for the non-UTF-8 and UTF-8 tests, respectively. Essentially what you
    can't do is switch easily at run time between having the "use utf8;" pragma
    or not. In the end, I fudged it by using the RunPerlTest script to insert
    "use utf8;" explicitly for the UTF-8 tests.

 7. In multiline (/m) mode, PCRE was matching ^ after a terminating newline at
    the end of the subject string, contrary to the documentation and to what
    Perl does. This was true of both matching functions. Now it matches only at
    the start of the subject and immediately after *internal* newlines.

 8. A call of pcre_fullinfo() from pcretest to get the option bits was passing
    a pointer to an int instead of a pointer to an unsigned long int. This
    caused problems on 64-bit systems.

 9. Applied a patch from the folks at Google to pcrecpp.cc, to fix "another
    instance of the 'standard' template library not being so standard".

10. There was no check on the number of named subpatterns nor the maximum
    length of a subpattern name. The product of these values is used to compute
    the size of the memory block for a compiled pattern. By supplying a very
    long subpattern name and a large number of named subpatterns, the size
    computation could be caused to overflow. This is now prevented by limiting
    the length of names to 32 characters, and the number of named subpatterns
    to 10,000.

11. Subpatterns that are repeated with specific counts have to be replicated in
    the compiled pattern. The size of memory for this was computed from the
    length of the subpattern and the repeat count. The latter is limited to
    65535, but there was no limit on the former, meaning that integer overflow
    could in principle occur. The compiled length of a repeated subpattern is
    now limited to 30,000 bytes in order to prevent this.

12. Added the optional facility to have named substrings with the same name.

13. Added the ability to use a named substring as a condition, using the
    Python syntax: (?(name)yes|no). This overloads (?(R)... and names that
    are numbers (not recommended). Forward references are permitted.

14. Added forward references in named backreferences (if you see what I mean).

15. In UTF-8 mode, with the PCRE_DOTALL option set, a quantified dot in the
    pattern could run off the end of the subject. For example, the pattern
    "(?s)(.{1,5})"8 did this with the subject "ab".

16. If PCRE_DOTALL or PCRE_MULTILINE were set, pcre_dfa_exec() behaved as if
    PCRE_CASELESS was set when matching characters that were quantified with ?
    or *.

17. A character class other than a single negated character that had a minimum
    but no maximum quantifier - for example [ab]{6,} - was not handled
    correctly by pce_dfa_exec(). It would match only one character.

18. A valid (though odd) pattern that looked like a POSIX character
    class but used an invalid character after [ (for example [[,abc,]]) caused
    pcre_compile() to give the error "Failed: internal error: code overflow" or
    in some cases to crash with a glibc free() error. This could even happen if
    the pattern terminated after [[ but there just happened to be a sequence of
    letters, a binary zero, and a closing ] in the memory that followed.

19. Perl's treatment of octal escapes in the range \400 to \777 has changed
    over the years. Originally (before any Unicode support), just the bottom 8
    bits were taken. Thus, for example, \500 really meant \100. Nowadays the
    output from "man perlunicode" includes this:

      The regular expression compiler produces polymorphic opcodes.  That
      is, the pattern adapts to the data and automatically switches to
      the Unicode character scheme when presented with Unicode data--or
      instead uses a traditional byte scheme when presented with byte
      data.

    Sadly, a wide octal escape does not cause a switch, and in a string with
    no other multibyte characters, these octal escapes are treated as before.
    Thus, in Perl, the pattern  /\500/ actually matches \100 but the pattern
    /\500|\x{1ff}/ matches \500 or \777 because the whole thing is treated as a
    Unicode string.

    I have not perpetrated such confusion in PCRE. Up till now, it took just
    the bottom 8 bits, as in old Perl. I have now made octal escapes with
    values greater than \377 illegal in non-UTF-8 mode. In UTF-8 mode they
    translate to the appropriate multibyte character.

29. Applied some refactoring to reduce the number of warnings from Microsoft
    and Borland compilers. This has included removing the fudge introduced
    seven years ago for the OS/2 compiler (see 2.02/2 below) because it caused
    a warning about an unused variable.

21. PCRE has not included VT (character 0x0b) in the set of whitespace
    characters since release 4.0, because Perl (from release 5.004) does not.
    [Or at least, is documented not to: some releases seem to be in conflict
    with the documentation.] However, when a pattern was studied with
    pcre_study() and all its branches started with \s, PCRE still included VT
    as a possible starting character. Of course, this did no harm; it just
    caused an unnecessary match attempt.

22. Removed a now-redundant internal flag bit that recorded the fact that case
    dependency changed within the pattern. This was once needed for "required
    byte" processing, but is no longer used. This recovers a now-scarce options
    bit. Also moved the least significant internal flag bit to the most-
    significant bit of the word, which was not previously used (hangover from
    the days when it was an int rather than a uint) to free up another bit for
    the future.

23. Added support for CRLF line endings as well as CR and LF. As well as the
    default being selectable at build time, it can now be changed at runtime
    via the PCRE_NEWLINE_xxx flags. There are now options for pcregrep to
    specify that it is scanning data with non-default line endings.

24. Changed the definition of CXXLINK to make it agree with the definition of
    LINK in the Makefile, by replacing LDFLAGS to CXXFLAGS.

25. Applied Ian Taylor's patches to avoid using another stack frame for tail
    recursions. This makes a big different to stack usage for some patterns.

26. If a subpattern containing a named recursion or subroutine reference such
    as (?P>B) was quantified, for example (xxx(?P>B)){3}, the calculation of
    the space required for the compiled pattern went wrong and gave too small a
    value. Depending on the environment, this could lead to "Failed: internal
    error: code overflow at offset 49" or "glibc detected double free or
    corruption" errors.

27. Applied patches from Google (a) to support the new newline modes and (b) to
    advance over multibyte UTF-8 characters in GlobalReplace.

28. Change free() to pcre_free() in pcredemo.c. Apparently this makes a
    difference for some implementation of PCRE in some Windows version.

29. Added some extra testing facilities to pcretest:

    \q<number>   in a data line sets the "match limit" value
    \Q<number>   in a data line sets the "match recursion limt" value
    -S <number>  sets the stack size, where <number> is in megabytes

    The -S option isn't available for Windows.


Version 6.6 06-Feb-06
---------------------

 1. Change 16(a) for 6.5 broke things, because PCRE_DATA_SCOPE was not defined
    in pcreposix.h. I have copied the definition from pcre.h.

 2. Change 25 for 6.5 broke compilation in a build directory out-of-tree
    because pcre.h is no longer a built file.

 3. Added Jeff Friedl's additional debugging patches to pcregrep. These are
    not normally included in the compiled code.


Version 6.5 01-Feb-06
---------------------

 1. When using the partial match feature with pcre_dfa_exec(), it was not
    anchoring the second and subsequent partial matches at the new starting
    point. This could lead to incorrect results. For example, with the pattern
    /1234/, partially matching against "123" and then "a4" gave a match.

 2. Changes to pcregrep:

    (a) All non-match returns from pcre_exec() were being treated as failures
        to match the line. Now, unless the error is PCRE_ERROR_NOMATCH, an
        error message is output. Some extra information is given for the
        PCRE_ERROR_MATCHLIMIT and PCRE_ERROR_RECURSIONLIMIT errors, which are
        probably the only errors that are likely to be caused by users (by
        specifying a regex that has nested indefinite repeats, for instance).
        If there are more than 20 of these errors, pcregrep is abandoned.

    (b) A binary zero was treated as data while matching, but terminated the
        output line if it was written out. This has been fixed: binary zeroes
        are now no different to any other data bytes.

    (c) Whichever of the LC_ALL or LC_CTYPE environment variables is set is
        used to set a locale for matching. The --locale=xxxx long option has
        been added (no short equivalent) to specify a locale explicitly on the
        pcregrep command, overriding the environment variables.

    (d) When -B was used with -n, some line numbers in the output were one less
        than they should have been.

    (e) Added the -o (--only-matching) option.

    (f) If -A or -C was used with -c (count only), some lines of context were
        accidentally printed for the final match.

    (g) Added the -H (--with-filename) option.

    (h) The combination of options -rh failed to suppress file names for files
        that were found from directory arguments.

    (i) Added the -D (--devices) and -d (--directories) options.

    (j) Added the -F (--fixed-strings) option.

    (k) Allow "-" to be used as a file name for -f as well as for a data file.

    (l) Added the --colo(u)r option.

    (m) Added Jeffrey Friedl's -S testing option, but within #ifdefs so that it
        is not present by default.

 3. A nasty bug was discovered in the handling of recursive patterns, that is,
    items such as (?R) or (?1), when the recursion could match a number of
    alternatives. If it matched one of the alternatives, but subsequently,
    outside the recursion, there was a failure, the code tried to back up into
    the recursion. However, because of the way PCRE is implemented, this is not
    possible, and the result was an incorrect result from the match.

    In order to prevent this happening, the specification of recursion has
    been changed so that all such subpatterns are automatically treated as
    atomic groups. Thus, for example, (?R) is treated as if it were (?>(?R)).

 4. I had overlooked the fact that, in some locales, there are characters for
    which isalpha() is true but neither isupper() nor islower() are true. In
    the fr_FR locale, for instance, the \xAA and \xBA characters (ordmasculine
    and ordfeminine) are like this. This affected the treatment of \w and \W
    when they appeared in character classes, but not when they appeared outside
    a character class. The bit map for "word" characters is now created
    separately from the results of isalnum() instead of just taking it from the
    upper, lower, and digit maps. (Plus the underscore character, of course.)

 5. The above bug also affected the handling of POSIX character classes such as
    [[:alpha:]] and [[:alnum:]]. These do not have their own bit maps in PCRE's
    permanent tables. Instead, the bit maps for such a class were previously
    created as the appropriate unions of the upper, lower, and digit bitmaps.
    Now they are created by subtraction from the [[:word:]] class, which has
    its own bitmap.

 6. The [[:blank:]] character class matches horizontal, but not vertical space.
    It is created by subtracting the vertical space characters (\x09, \x0a,
    \x0b, \x0c) from the [[:space:]] bitmap. Previously, however, the
    subtraction was done in the overall bitmap for a character class, meaning
    that a class such as [\x0c[:blank:]] was incorrect because \x0c would not
    be recognized. This bug has been fixed.

 7. Patches from the folks at Google:

      (a) pcrecpp.cc: "to handle a corner case that may or may not happen in
      real life, but is still worth protecting against".

      (b) pcrecpp.cc: "corrects a bug when negative radixes are used with
      regular expressions".

      (c) pcre_scanner.cc: avoid use of std::count() because not all systems
      have it.

      (d) Split off pcrecpparg.h from pcrecpp.h and had the former built by
      "configure" and the latter not, in order to fix a problem somebody had
      with compiling the Arg class on HP-UX.

      (e) Improve the error-handling of the C++ wrapper a little bit.

      (f) New tests for checking recursion limiting.

 8. The pcre_memmove() function, which is used only if the environment does not
    have a standard memmove() function (and is therefore rarely compiled),
    contained two bugs: (a) use of int instead of size_t, and (b) it was not
    returning a result (though PCRE never actually uses the result).

 9. In the POSIX regexec() interface, if nmatch is specified as a ridiculously
    large number - greater than INT_MAX/(3*sizeof(int)) - REG_ESPACE is
    returned instead of calling malloc() with an overflowing number that would
    most likely cause subsequent chaos.

10. The debugging option of pcretest was not showing the NO_AUTO_CAPTURE flag.

11. The POSIX flag REG_NOSUB is now supported. When a pattern that was compiled
    with this option is matched, the nmatch and pmatch options of regexec() are
    ignored.

12. Added REG_UTF8 to the POSIX interface. This is not defined by POSIX, but is
    provided in case anyone wants to the the POSIX interface with UTF-8
    strings.

13. Added CXXLDFLAGS to the Makefile parameters to provide settings only on the
    C++ linking (needed for some HP-UX environments).

14. Avoid compiler warnings in get_ucpname() when compiled without UCP support
    (unused parameter) and in the pcre_printint() function (omitted "default"
    switch label when the default is to do nothing).

15. Added some code to make it possible, when PCRE is compiled as a C++
    library, to replace subject pointers for pcre_exec() with a smart pointer
    class, thus making it possible to process discontinuous strings.

16. The two macros PCRE_EXPORT and PCRE_DATA_SCOPE are confusing, and perform
    much the same function. They were added by different people who were trying
    to make PCRE easy to compile on non-Unix systems. It has been suggested
    that PCRE_EXPORT be abolished now that there is more automatic apparatus
    for compiling on Windows systems. I have therefore replaced it with
    PCRE_DATA_SCOPE. This is set automatically for Windows; if not set it
    defaults to "extern" for C or "extern C" for C++, which works fine on
    Unix-like systems. It is now possible to override the value of PCRE_DATA_
    SCOPE with something explicit in config.h. In addition:

    (a) pcreposix.h still had just "extern" instead of either of these macros;
        I have replaced it with PCRE_DATA_SCOPE.

    (b) Functions such as _pcre_xclass(), which are internal to the library,
        but external in the C sense, all had PCRE_EXPORT in their definitions.
        This is apparently wrong for the Windows case, so I have removed it.
        (It makes no difference on Unix-like systems.)

17. Added a new limit, MATCH_LIMIT_RECURSION, which limits the depth of nesting
    of recursive calls to match(). This is different to MATCH_LIMIT because
    that limits the total number of calls to match(), not all of which increase
    the depth of recursion. Limiting the recursion depth limits the amount of
    stack (or heap if NO_RECURSE is set) that is used. The default can be set
    when PCRE is compiled, and changed at run time. A patch from Google adds
    this functionality to the C++ interface.

18. Changes to the handling of Unicode character properties:

    (a) Updated the table to Unicode 4.1.0.

    (b) Recognize characters that are not in the table as "Cn" (undefined).

    (c) I revised the way the table is implemented to a much improved format
        which includes recognition of ranges. It now supports the ranges that
        are defined in UnicodeData.txt, and it also amalgamates other
        characters into ranges. This has reduced the number of entries in the
        table from around 16,000 to around 3,000, thus reducing its size
        considerably. I realized I did not need to use a tree structure after
        all - a binary chop search is just as efficient. Having reduced the
        number of entries, I extended their size from 6 bytes to 8 bytes to
        allow for more data.

    (d) Added support for Unicode script names via properties such as \p{Han}.

19. In UTF-8 mode, a backslash followed by a non-Ascii character was not
    matching that character.

20. When matching a repeated Unicode property with a minimum greater than zero,
    (for example \pL{2,}), PCRE could look past the end of the subject if it
    reached it while seeking the minimum number of characters. This could
    happen only if some of the characters were more than one byte long, because
    there is a check for at least the minimum number of bytes.

21. Refactored the implementation of \p and \P so as to be more general, to
    allow for more different types of property in future. This has changed the
    compiled form incompatibly. Anybody with saved compiled patterns that use
    \p or \P will have to recompile them.

22. Added "Any" and "L&" to the supported property types.

23. Recognize \x{...} as a code point specifier, even when not in UTF-8 mode,
    but give a compile time error if the value is greater than 0xff.

24. The man pages for pcrepartial, pcreprecompile, and pcre_compile2 were
    accidentally not being installed or uninstalled.

25. The pcre.h file was built from pcre.h.in, but the only changes that were
    made were to insert the current release number. This seemed silly, because
    it made things harder for people building PCRE on systems that don't run
    "configure". I have turned pcre.h into a distributed file, no longer built
    by "configure", with the version identification directly included. There is
    no longer a pcre.h.in file.

    However, this change necessitated a change to the pcre-config script as
    well. It is built from pcre-config.in, and one of the substitutions was the
    release number. I have updated configure.ac so that ./configure now finds
    the release number by grepping pcre.h.

26. Added the ability to run the tests under valgrind.


Version 6.4 05-Sep-05
---------------------

 1. Change 6.0/10/(l) to pcregrep introduced a bug that caused separator lines
    "--" to be printed when multiple files were scanned, even when none of the
    -A, -B, or -C options were used. This is not compatible with Gnu grep, so I
    consider it to be a bug, and have restored the previous behaviour.

 2. A couple of code tidies to get rid of compiler warnings.

 3. The pcretest program used to cheat by referring to symbols in the library
    whose names begin with _pcre_. These are internal symbols that are not
    really supposed to be visible externally, and in some environments it is
    possible to suppress them. The cheating is now confined to including
    certain files from the library's source, which is a bit cleaner.

 4. Renamed pcre.in as pcre.h.in to go with pcrecpp.h.in; it also makes the
    file's purpose clearer.

 5. Reorganized pcre_ucp_findchar().


Version 6.3 15-Aug-05
---------------------

 1. The file libpcre.pc.in did not have general read permission in the tarball.

 2. There were some problems when building without C++ support:

    (a) If C++ support was not built, "make install" and "make test" still
        tried to test it.

    (b) There were problems when the value of CXX was explicitly set. Some
        changes have been made to try to fix these, and ...

    (c) --disable-cpp can now be used to explicitly disable C++ support.

    (d) The use of @CPP_OBJ@ directly caused a blank line preceded by a
        backslash in a target when C++ was disabled. This confuses some
        versions of "make", apparently. Using an intermediate variable solves
        this. (Same for CPP_LOBJ.)

 3. $(LINK_FOR_BUILD) now includes $(CFLAGS_FOR_BUILD) and $(LINK)
    (non-Windows) now includes $(CFLAGS) because these flags are sometimes
    necessary on certain architectures.

 4. Added a setting of -export-symbols-regex to the link command to remove
    those symbols that are exported in the C sense, but actually are local
    within the library, and not documented. Their names all begin with
    "_pcre_". This is not a perfect job, because (a) we have to except some
    symbols that pcretest ("illegally") uses, and (b) the facility isn't always
    available (and never for static libraries). I have made a note to try to
    find a way round (a) in the future.


Version 6.2 01-Aug-05
---------------------

 1. There was no test for integer overflow of quantifier values. A construction
    such as {1111111111111111} would give undefined results. What is worse, if
    a minimum quantifier for a parenthesized subpattern overflowed and became
    negative, the calculation of the memory size went wrong. This could have
    led to memory overwriting.

 2. Building PCRE using VPATH was broken. Hopefully it is now fixed.

 3. Added "b" to the 2nd argument of fopen() in dftables.c, for non-Unix-like
    operating environments where this matters.

 4. Applied Giuseppe Maxia's patch to add additional features for controlling
    PCRE options from within the C++ wrapper.

 5. Named capturing subpatterns were not being correctly counted when a pattern
    was compiled. This caused two problems: (a) If there were more than 100
    such subpatterns, the calculation of the memory needed for the whole
    compiled pattern went wrong, leading to an overflow error. (b) Numerical
    back references of the form \12, where the number was greater than 9, were
    not recognized as back references, even though there were sufficient
    previous subpatterns.

 6. Two minor patches to pcrecpp.cc in order to allow it to compile on older
    versions of gcc, e.g. 2.95.4.


Version 6.1 21-Jun-05
---------------------

 1. There was one reference to the variable "posix" in pcretest.c that was not
    surrounded by "#if !defined NOPOSIX".

 2. Make it possible to compile pcretest without DFA support, UTF8 support, or
    the cross-check on the old pcre_info() function, for the benefit of the
    cut-down version of PCRE that is currently imported into Exim.

 3. A (silly) pattern starting with (?i)(?-i) caused an internal space
    allocation error. I've done the easy fix, which wastes 2 bytes for sensible
    patterns that start (?i) but I don't think that matters. The use of (?i) is
    just an example; this all applies to the other options as well.

 4. Since libtool seems to echo the compile commands it is issuing, the output
    from "make" can be reduced a bit by putting "@" in front of each libtool
    compile command.

 5. Patch from the folks at Google for configure.in to be a bit more thorough
    in checking for a suitable C++ installation before trying to compile the
    C++ stuff. This should fix a reported problem when a compiler was present,
    but no suitable headers.

 6. The man pages all had just "PCRE" as their title. I have changed them to
    be the relevant file name. I have also arranged that these names are
    retained in the file doc/pcre.txt, which is a concatenation in text format
    of all the man pages except the little individual ones for each function.

 7. The NON-UNIX-USE file had not been updated for the different set of source
    files that come with release 6. I also added a few comments about the C++
    wrapper.


Version 6.0 07-Jun-05
---------------------

 1. Some minor internal re-organization to help with my DFA experiments.

 2. Some missing #ifdef SUPPORT_UCP conditionals in pcretest and printint that
    didn't matter for the library itself when fully configured, but did matter
    when compiling without UCP support, or within Exim, where the ucp files are
    not imported.

 3. Refactoring of the library code to split up the various functions into
    different source modules. The addition of the new DFA matching code (see
    below) to a single monolithic source would have made it really too
    unwieldy, quite apart from causing all the code to be include in a
    statically linked application, when only some functions are used. This is
    relevant even without the DFA addition now that patterns can be compiled in
    one application and matched in another.

    The downside of splitting up is that there have to be some external
    functions and data tables that are used internally in different modules of
    the library but which are not part of the API. These have all had their
    names changed to start with "_pcre_" so that they are unlikely to clash
    with other external names.

 4. Added an alternate matching function, pcre_dfa_exec(), which matches using
    a different (DFA) algorithm. Although it is slower than the original
    function, it does have some advantages for certain types of matching
    problem.

 5. Upgrades to pcretest in order to test the features of pcre_dfa_exec(),
    including restarting after a partial match.

 6. A patch for pcregrep that defines INVALID_FILE_ATTRIBUTES if it is not
    defined when compiling for Windows was sent to me. I have put it into the
    code, though I have no means of testing or verifying it.

 7. Added the pcre_refcount() auxiliary function.

 8. Added the PCRE_FIRSTLINE option. This constrains an unanchored pattern to
    match before or at the first newline in the subject string. In pcretest,
    the /f option on a pattern can be used to set this.

 9. A repeated \w when used in UTF-8 mode with characters greater than 256
    would behave wrongly. This has been present in PCRE since release 4.0.

10. A number of changes to the pcregrep command:

    (a) Refactored how -x works; insert ^(...)$ instead of setting
        PCRE_ANCHORED and checking the length, in preparation for adding
        something similar for -w.

    (b) Added the -w (match as a word) option.

    (c) Refactored the way lines are read and buffered so as to have more
        than one at a time available.

    (d) Implemented a pcregrep test script.

    (e) Added the -M (multiline match) option. This allows patterns to match
        over several lines of the subject. The buffering ensures that at least
        8K, or the rest of the document (whichever is the shorter) is available
        for matching (and similarly the previous 8K for lookbehind assertions).

    (f) Changed the --help output so that it now says

          -w, --word-regex(p)

        instead of two lines, one with "regex" and the other with "regexp"
        because that confused at least one person since the short forms are the
        same. (This required a bit of code, as the output is generated
        automatically from a table. It wasn't just a text change.)

    (g) -- can be used to terminate pcregrep options if the next thing isn't an
        option but starts with a hyphen. Could be a pattern or a path name
        starting with a hyphen, for instance.

    (h) "-" can be given as a file name to represent stdin.

    (i) When file names are being printed, "(standard input)" is used for
        the standard input, for compatibility with GNU grep. Previously
        "<stdin>" was used.

    (j) The option --label=xxx can be used to supply a name to be used for
        stdin when file names are being printed. There is no short form.

    (k) Re-factored the options decoding logic because we are going to add
        two more options that take data. Such options can now be given in four
        different ways, e.g. "-fname", "-f name", "--file=name", "--file name".

    (l) Added the -A, -B, and -C options for requesting that lines of context
        around matches be printed.

    (m) Added the -L option to print the names of files that do not contain
        any matching lines, that is, the complement of -l.

    (n) The return code is 2 if any file cannot be opened, but pcregrep does
        continue to scan other files.

    (o) The -s option was incorrectly implemented. For compatibility with other
        greps, it now suppresses the error message for a non-existent or non-
        accessible file (but not the return code). There is a new option called
        -q that suppresses the output of matching lines, which was what -s was
        previously doing.

    (p) Added --include and --exclude options to specify files for inclusion
        and exclusion when recursing.

11. The Makefile was not using the Autoconf-supported LDFLAGS macro properly.
    Hopefully, it now does.

12. Missing cast in pcre_study().

13. Added an "uninstall" target to the makefile.

14. Replaced "extern" in the function prototypes in Makefile.in with
    "PCRE_DATA_SCOPE", which defaults to 'extern' or 'extern "C"' in the Unix
    world, but is set differently for Windows.

15. Added a second compiling function called pcre_compile2(). The only
    difference is that it has an extra argument, which is a pointer to an
    integer error code. When there is a compile-time failure, this is set
    non-zero, in addition to the error test pointer being set to point to an
    error message. The new argument may be NULL if no error number is required
    (but then you may as well call pcre_compile(), which is now just a
    wrapper). This facility is provided because some applications need a
    numeric error indication, but it has also enabled me to tidy up the way
    compile-time errors are handled in the POSIX wrapper.

16. Added VPATH=.libs to the makefile; this should help when building with one
    prefix path and installing with another. (Or so I'm told by someone who
    knows more about this stuff than I do.)

17. Added a new option, REG_DOTALL, to the POSIX function regcomp(). This
    passes PCRE_DOTALL to the pcre_compile() function, making the "." character
    match everything, including newlines. This is not POSIX-compatible, but
    somebody wanted the feature. From pcretest it can be activated by using
    both the P and the s flags.

18. AC_PROG_LIBTOOL appeared twice in Makefile.in. Removed one.

19. libpcre.pc was being incorrectly installed as executable.

20. A couple of places in pcretest check for end-of-line by looking for '\n';
    it now also looks for '\r' so that it will work unmodified on Windows.

21. Added Google's contributed C++ wrapper to the distribution.

22. Added some untidy missing memory free() calls in pcretest, to keep
    Electric Fence happy when testing.



Version 5.0 13-Sep-04
---------------------

 1. Internal change: literal characters are no longer packed up into items
    containing multiple characters in a single byte-string. Each character
    is now matched using a separate opcode. However, there may be more than one
    byte in the character in UTF-8 mode.

 2. The pcre_callout_block structure has two new fields: pattern_position and
    next_item_length. These contain the offset in the pattern to the next match
    item, and its length, respectively.

 3. The PCRE_AUTO_CALLOUT option for pcre_compile() requests the automatic
    insertion of callouts before each pattern item. Added the /C option to
    pcretest to make use of this.

 4. On the advice of a Windows user, the lines

      #if defined(_WIN32) || defined(WIN32)
      _setmode( _fileno( stdout ), 0x8000 );
      #endif  /* defined(_WIN32) || defined(WIN32) */

    have been added to the source of pcretest. This apparently does useful
    magic in relation to line terminators.

 5. Changed "r" and "w" in the calls to fopen() in pcretest to "rb" and "wb"
    for the benefit of those environments where the "b" makes a difference.

 6. The icc compiler has the same options as gcc, but "configure" doesn't seem
    to know about it. I have put a hack into configure.in that adds in code
    to set GCC=yes if CC=icc. This seems to end up at a point in the
    generated configure script that is early enough to affect the setting of
    compiler options, which is what is needed, but I have no means of testing
    whether it really works. (The user who reported this had patched the
    generated configure script, which of course I cannot do.)

    LATER: After change 22 below (new libtool files), the configure script
    seems to know about icc (and also ecc). Therefore, I have commented out
    this hack in configure.in.

 7. Added support for pkg-config (2 patches were sent in).

 8. Negated POSIX character classes that used a combination of internal tables
    were completely broken. These were [[:^alpha:]], [[:^alnum:]], and
    [[:^ascii]]. Typically, they would match almost any characters. The other
    POSIX classes were not broken in this way.

 9. Matching the pattern "\b.*?" against "ab cd", starting at offset 1, failed
    to find the match, as PCRE was deluded into thinking that the match had to
    start at the start point or following a newline. The same bug applied to
    patterns with negative forward assertions or any backward assertions
    preceding ".*" at the start, unless the pattern required a fixed first
    character. This was a failing pattern: "(?!.bcd).*". The bug is now fixed.

10. In UTF-8 mode, when moving forwards in the subject after a failed match
    starting at the last subject character, bytes beyond the end of the subject
    string were read.

11. Renamed the variable "class" as "classbits" to make life easier for C++
    users. (Previously there was a macro definition, but it apparently wasn't
    enough.)

12. Added the new field "tables" to the extra data so that tables can be passed
    in at exec time, or the internal tables can be re-selected. This allows
    a compiled regex to be saved and re-used at a later time by a different
    program that might have everything at different addresses.

13. Modified the pcre-config script so that, when run on Solaris, it shows a
    -R library as well as a -L library.

14. The debugging options of pcretest (-d on the command line or D on a
    pattern) showed incorrect output for anything following an extended class
    that contained multibyte characters and which was followed by a quantifier.

15. Added optional support for general category Unicode character properties
    via the \p, \P, and \X escapes. Unicode property support implies UTF-8
    support. It adds about 90K to the size of the library. The meanings of the
    inbuilt class escapes such as \d and \s have NOT been changed.

16. Updated pcredemo.c to include calls to free() to release the memory for the
    compiled pattern.

17. The generated file chartables.c was being created in the source directory
    instead of in the building directory. This caused the build to fail if the
    source directory was different from the building directory, and was
    read-only.

18. Added some sample Win commands from Mark Tetrode into the NON-UNIX-USE
    file. No doubt somebody will tell me if they don't make sense... Also added
    Dan Mooney's comments about building on OpenVMS.

19. Added support for partial matching via the PCRE_PARTIAL option for
    pcre_exec() and the \P data escape in pcretest.

20. Extended pcretest with 3 new pattern features:

    (i)   A pattern option of the form ">rest-of-line" causes pcretest to
          write the compiled pattern to the file whose name is "rest-of-line".
          This is a straight binary dump of the data, with the saved pointer to
          the character tables forced to be NULL. The study data, if any, is
          written too. After writing, pcretest reads a new pattern.

    (ii)  If, instead of a pattern, "<rest-of-line" is given, pcretest reads a
          compiled pattern from the given file. There must not be any
          occurrences of "<" in the file name (pretty unlikely); if there are,
          pcretest will instead treat the initial "<" as a pattern delimiter.
          After reading in the pattern, pcretest goes on to read data lines as
          usual.

    (iii) The F pattern option causes pcretest to flip the bytes in the 32-bit
          and 16-bit fields in a compiled pattern, to simulate a pattern that
          was compiled on a host of opposite endianness.

21. The pcre-exec() function can now cope with patterns that were compiled on
    hosts of opposite endianness, with this restriction:

      As for any compiled expression that is saved and used later, the tables
      pointer field cannot be preserved; the extra_data field in the arguments
      to pcre_exec() should be used to pass in a tables address if a value
      other than the default internal tables were used at compile time.

22. Calling pcre_exec() with a negative value of the "ovecsize" parameter is
    now diagnosed as an error. Previously, most of the time, a negative number
    would have been treated as zero, but if in addition "ovector" was passed as
    NULL, a crash could occur.

23. Updated the files ltmain.sh, config.sub, config.guess, and aclocal.m4 with
    new versions from the libtool 1.5 distribution (the last one is a copy of
    a file called libtool.m4). This seems to have fixed the need to patch
    "configure" to support Darwin 1.3 (which I used to do). However, I still
    had to patch ltmain.sh to ensure that ${SED} is set (it isn't on my
    workstation).

24. Changed the PCRE licence to be the more standard "BSD" licence.


Version 4.5 01-Dec-03
---------------------

 1. There has been some re-arrangement of the code for the match() function so
    that it can be compiled in a version that does not call itself recursively.
    Instead, it keeps those local variables that need separate instances for
    each "recursion" in a frame on the heap, and gets/frees frames whenever it
    needs to "recurse". Keeping track of where control must go is done by means
    of setjmp/longjmp. The whole thing is implemented by a set of macros that
    hide most of the details from the main code, and operates only if
    NO_RECURSE is defined while compiling pcre.c. If PCRE is built using the
    "configure" mechanism, "--disable-stack-for-recursion" turns on this way of
    operating.

    To make it easier for callers to provide specially tailored get/free
    functions for this usage, two new functions, pcre_stack_malloc, and
    pcre_stack_free, are used. They are always called in strict stacking order,
    and the size of block requested is always the same.

    The PCRE_CONFIG_STACKRECURSE info parameter can be used to find out whether
    PCRE has been compiled to use the stack or the heap for recursion. The
    -C option of pcretest uses this to show which version is compiled.

    A new data escape \S, is added to pcretest; it causes the amounts of store
    obtained and freed by both kinds of malloc/free at match time to be added
    to the output.

 2. Changed the locale test to use "fr_FR" instead of "fr" because that's
    what's available on my current Linux desktop machine.

 3. When matching a UTF-8 string, the test for a valid string at the start has
    been extended. If start_offset is not zero, PCRE now checks that it points
    to a byte that is the start of a UTF-8 character. If not, it returns
    PCRE_ERROR_BADUTF8_OFFSET (-11). Note: the whole string is still checked;
    this is necessary because there may be backward assertions in the pattern.
    When matching the same subject several times, it may save resources to use
    PCRE_NO_UTF8_CHECK on all but the first call if the string is long.

 4. The code for checking the validity of UTF-8 strings has been tightened so
    that it rejects (a) strings containing 0xfe or 0xff bytes and (b) strings
    containing "overlong sequences".

 5. Fixed a bug (appearing twice) that I could not find any way of exploiting!
    I had written "if ((digitab[*p++] && chtab_digit) == 0)" where the "&&"
    should have been "&", but it just so happened that all the cases this let
    through by mistake were picked up later in the function.

 6. I had used a variable called "isblank" - this is a C99 function, causing
    some compilers to warn. To avoid this, I renamed it (as "blankclass").

 7. Cosmetic: (a) only output another newline at the end of pcretest if it is
    prompting; (b) run "./pcretest /dev/null" at the start of the test script
    so the version is shown; (c) stop "make test" echoing "./RunTest".

 8. Added patches from David Burgess to enable PCRE to run on EBCDIC systems.

 9. The prototype for memmove() for systems that don't have it was using
    size_t, but the inclusion of the header that defines size_t was later. I've
    moved the #includes for the C headers earlier to avoid this.

10. Added some adjustments to the code to make it easier to compiler on certain
    special systems:

      (a) Some "const" qualifiers were missing.
      (b) Added the macro EXPORT before all exported functions; by default this
          is defined to be empty.
      (c) Changed the dftables auxiliary program (that builds chartables.c) so
          that it reads its output file name as an argument instead of writing
          to the standard output and assuming this can be redirected.

11. In UTF-8 mode, if a recursive reference (e.g. (?1)) followed a character
    class containing characters with values greater than 255, PCRE compilation
    went into a loop.

12. A recursive reference to a subpattern that was within another subpattern
    that had a minimum quantifier of zero caused PCRE to crash. For example,
    (x(y(?2))z)? provoked this bug with a subject that got as far as the
    recursion. If the recursively-called subpattern itself had a zero repeat,
    that was OK.

13. In pcretest, the buffer for reading a data line was set at 30K, but the
    buffer into which it was copied (for escape processing) was still set at
    1024, so long lines caused crashes.

14. A pattern such as /[ab]{1,3}+/ failed to compile, giving the error
    "internal error: code overflow...". This applied to any character class
    that was followed by a possessive quantifier.

15. Modified the Makefile to add libpcre.la as a prerequisite for
    libpcreposix.la because I was told this is needed for a parallel build to
    work.

16. If a pattern that contained .* following optional items at the start was
    studied, the wrong optimizing data was generated, leading to matching
    errors. For example, studying /[ab]*.*c/ concluded, erroneously, that any
    matching string must start with a or b or c. The correct conclusion for
    this pattern is that a match can start with any character.


Version 4.4 13-Aug-03
---------------------

 1. In UTF-8 mode, a character class containing characters with values between
    127 and 255 was not handled correctly if the compiled pattern was studied.
    In fixing this, I have also improved the studying algorithm for such
    classes (slightly).

 2. Three internal functions had redundant arguments passed to them. Removal
    might give a very teeny performance improvement.

 3. Documentation bug: the value of the capture_top field in a callout is *one
    more than* the number of the hightest numbered captured substring.

 4. The Makefile linked pcretest and pcregrep with -lpcre, which could result
    in incorrectly linking with a previously installed version. They now link
    explicitly with libpcre.la.

 5. configure.in no longer needs to recognize Cygwin specially.

 6. A problem in pcre.in for Windows platforms is fixed.

 7. If a pattern was successfully studied, and the -d (or /D) flag was given to
    pcretest, it used to include the size of the study block as part of its
    output. Unfortunately, the structure contains a field that has a different
    size on different hardware architectures. This meant that the tests that
    showed this size failed. As the block is currently always of a fixed size,
    this information isn't actually particularly useful in pcretest output, so
    I have just removed it.

 8. Three pre-processor statements accidentally did not start in column 1.
    Sadly, there are *still* compilers around that complain, even though
    standard C has not required this for well over a decade. Sigh.

 9. In pcretest, the code for checking callouts passed small integers in the
    callout_data field, which is a void * field. However, some picky compilers
    complained about the casts involved for this on 64-bit systems. Now
    pcretest passes the address of the small integer instead, which should get
    rid of the warnings.

10. By default, when in UTF-8 mode, PCRE now checks for valid UTF-8 strings at
    both compile and run time, and gives an error if an invalid UTF-8 sequence
    is found. There is a option for disabling this check in cases where the
    string is known to be correct and/or the maximum performance is wanted.

11. In response to a bug report, I changed one line in Makefile.in from

        -Wl,--out-implib,.libs/lib@WIN_PREFIX@pcreposix.dll.a \
    to
        -Wl,--out-implib,.libs/@WIN_PREFIX@libpcreposix.dll.a \

    to look similar to other lines, but I have no way of telling whether this
    is the right thing to do, as I do not use Windows. No doubt I'll get told
    if it's wrong...


Version 4.3 21-May-03
---------------------

1. Two instances of @WIN_PREFIX@ omitted from the Windows targets in the
   Makefile.

2. Some refactoring to improve the quality of the code:

   (i)   The utf8_table... variables are now declared "const".

   (ii)  The code for \cx, which used the "case flipping" table to upper case
         lower case letters, now just substracts 32. This is ASCII-specific,
         but the whole concept of \cx is ASCII-specific, so it seems
         reasonable.

   (iii) PCRE was using its character types table to recognize decimal and
         hexadecimal digits in the pattern. This is silly, because it handles
         only 0-9, a-f, and A-F, but the character types table is locale-
         specific, which means strange things might happen. A private
         table is now used for this - though it costs 256 bytes, a table is
         much faster than multiple explicit tests. Of course, the standard
         character types table is still used for matching digits in subject
         strings against \d.

   (iv)  Strictly, the identifier ESC_t is reserved by POSIX (all identifiers
         ending in _t are). So I've renamed it as ESC_tee.

3. The first argument for regexec() in the POSIX wrapper should have been
   defined as "const".

4. Changed pcretest to use malloc() for its buffers so that they can be
   Electric Fenced for debugging.

5. There were several places in the code where, in UTF-8 mode, PCRE would try
   to read one or more bytes before the start of the subject string. Often this
   had no effect on PCRE's behaviour, but in some circumstances it could
   provoke a segmentation fault.

6. A lookbehind at the start of a pattern in UTF-8 mode could also cause PCRE
   to try to read one or more bytes before the start of the subject string.

7. A lookbehind in a pattern matched in non-UTF-8 mode on a PCRE compiled with
   UTF-8 support could misbehave in various ways if the subject string
   contained bytes with the 0x80 bit set and the 0x40 bit unset in a lookbehind
   area. (PCRE was not checking for the UTF-8 mode flag, and trying to move
   back over UTF-8 characters.)


Version 4.2 14-Apr-03
---------------------

1. Typo "#if SUPPORT_UTF8" instead of "#ifdef SUPPORT_UTF8" fixed.

2. Changes to the building process, supplied by Ronald Landheer-Cieslak
     [ON_WINDOWS]: new variable, "#" on non-Windows platforms
     [NOT_ON_WINDOWS]: new variable, "#" on Windows platforms
     [WIN_PREFIX]: new variable, "cyg" for Cygwin
     * Makefile.in: use autoconf substitution for OBJEXT, EXEEXT, BUILD_OBJEXT
       and BUILD_EXEEXT
     Note: automatic setting of the BUILD variables is not yet working
     set CPPFLAGS and BUILD_CPPFLAGS (but don't use yet) - should be used at
       compile-time but not at link-time
     [LINK]: use for linking executables only
     make different versions for Windows and non-Windows
     [LINKLIB]: new variable, copy of UNIX-style LINK, used for linking
       libraries
     [LINK_FOR_BUILD]: new variable
     [OBJEXT]: use throughout
     [EXEEXT]: use throughout
     <winshared>: new target
     <wininstall>: new target
     <dftables.o>: use native compiler
     <dftables>: use native linker
     <install>: handle Windows platform correctly
     <clean>: ditto
     <check>: ditto
     copy DLL to top builddir before testing

   As part of these changes, -no-undefined was removed again. This was reported
   to give trouble on HP-UX 11.0, so getting rid of it seems like a good idea
   in any case.

3. Some tidies to get rid of compiler warnings:

   . In the match_data structure, match_limit was an unsigned long int, whereas
     match_call_count was an int. I've made them both unsigned long ints.

   . In pcretest the fact that a const uschar * doesn't automatically cast to
     a void * provoked a warning.

   . Turning on some more compiler warnings threw up some "shadow" variables
     and a few more missing casts.

4. If PCRE was complied with UTF-8 support, but called without the PCRE_UTF8
   option, a class that contained a single character with a value between 128
   and 255 (e.g. /[\xFF]/) caused PCRE to crash.

5. If PCRE was compiled with UTF-8 support, but called without the PCRE_UTF8
   option, a class that contained several characters, but with at least one
   whose value was between 128 and 255 caused PCRE to crash.


Version 4.1 12-Mar-03
---------------------

1. Compiling with gcc -pedantic found a couple of places where casts were
needed, and a string in dftables.c that was longer than standard compilers are
required to support.

2. Compiling with Sun's compiler found a few more places where the code could
be tidied up in order to avoid warnings.

3. The variables for cross-compiling were called HOST_CC and HOST_CFLAGS; the
first of these names is deprecated in the latest Autoconf in favour of the name
CC_FOR_BUILD, because "host" is typically used to mean the system on which the
compiled code will be run. I can't find a reference for HOST_CFLAGS, but by
analogy I have changed it to CFLAGS_FOR_BUILD.

4. Added -no-undefined to the linking command in the Makefile, because this is
apparently helpful for Windows. To make it work, also added "-L. -lpcre" to the
linking step for the pcreposix library.

5. PCRE was failing to diagnose the case of two named groups with the same
name.

6. A problem with one of PCRE's optimizations was discovered. PCRE remembers a
literal character that is needed in the subject for a match, and scans along to
ensure that it is present before embarking on the full matching process. This
saves time in cases of nested unlimited repeats that are never going to match.
Problem: the scan can take a lot of time if the subject is very long (e.g.
megabytes), thus penalizing straightforward matches. It is now done only if the
amount of subject to be scanned is less than 1000 bytes.

7. A lesser problem with the same optimization is that it was recording the
first character of an anchored pattern as "needed", thus provoking a search
right along the subject, even when the first match of the pattern was going to
fail. The "needed" character is now not set for anchored patterns, unless it
follows something in the pattern that is of non-fixed length. Thus, it still
fulfils its original purpose of finding quick non-matches in cases of nested
unlimited repeats, but isn't used for simple anchored patterns such as /^abc/.


Version 4.0 17-Feb-03
---------------------

1. If a comment in an extended regex that started immediately after a meta-item
extended to the end of string, PCRE compiled incorrect data. This could lead to
all kinds of weird effects. Example: /#/ was bad; /()#/ was bad; /a#/ was not.

2. Moved to autoconf 2.53 and libtool 1.4.2.

3. Perl 5.8 no longer needs "use utf8" for doing UTF-8 things. Consequently,
the special perltest8 script is no longer needed - all the tests can be run
from a single perltest script.

4. From 5.004, Perl has not included the VT character (0x0b) in the set defined
by \s. It has now been removed in PCRE. This means it isn't recognized as
whitespace in /x regexes too, which is the same as Perl. Note that the POSIX
class [:space:] *does* include VT, thereby creating a mess.

5. Added the class [:blank:] (a GNU extension from Perl 5.8) to match only
space and tab.

6. Perl 5.005 was a long time ago. It's time to amalgamate the tests that use
its new features into the main test script, reducing the number of scripts.

7. Perl 5.8 has changed the meaning of patterns like /a(?i)b/. Earlier versions
were backward compatible, and made the (?i) apply to the whole pattern, as if
/i were given. Now it behaves more logically, and applies the option setting
only to what follows. PCRE has been changed to follow suit. However, if it
finds options settings right at the start of the pattern, it extracts them into
the global options, as before. Thus, they show up in the info data.

8. Added support for the \Q...\E escape sequence. Characters in between are
treated as literals. This is slightly different from Perl in that $ and @ are
also handled as literals inside the quotes. In Perl, they will cause variable
interpolation. Note the following examples:

    Pattern            PCRE matches      Perl matches

    \Qabc$xyz\E        abc$xyz           abc followed by the contents of $xyz
    \Qabc\$xyz\E       abc\$xyz          abc\$xyz
    \Qabc\E\$\Qxyz\E   abc$xyz           abc$xyz

For compatibility with Perl, \Q...\E sequences are recognized inside character
classes as well as outside them.

9. Re-organized 3 code statements in pcretest to avoid "overflow in
floating-point constant arithmetic" warnings from a Microsoft compiler. Added a
(size_t) cast to one statement in pcretest and one in pcreposix to avoid
signed/unsigned warnings.

10. SunOS4 doesn't have strtoul(). This was used only for unpicking the -o
option for pcretest, so I've replaced it by a simple function that does just
that job.

11. pcregrep was ending with code 0 instead of 2 for the commands "pcregrep" or
"pcregrep -".

12. Added "possessive quantifiers" ?+, *+, ++, and {,}+ which come from Sun's
Java package. This provides some syntactic sugar for simple cases of what my
documentation calls "once-only subpatterns". A pattern such as x*+ is the same
as (?>x*). In other words, if what is inside (?>...) is just a single repeated
item, you can use this simplified notation. Note that only makes sense with
greedy quantifiers. Consequently, the use of the possessive quantifier forces
greediness, whatever the setting of the PCRE_UNGREEDY option.

13. A change of greediness default within a pattern was not taking effect at
the current level for patterns like /(b+(?U)a+)/. It did apply to parenthesized
subpatterns that followed. Patterns like /b+(?U)a+/ worked because the option
was abstracted outside.

14. PCRE now supports the \G assertion. It is true when the current matching
position is at the start point of the match. This differs from \A when the
starting offset is non-zero. Used with the /g option of pcretest (or similar
code), it works in the same way as it does for Perl's /g option. If all
alternatives of a regex begin with \G, the expression is anchored to the start
match position, and the "anchored" flag is set in the compiled expression.

15. Some bugs concerning the handling of certain option changes within patterns
have been fixed. These applied to options other than (?ims). For example,
"a(?x: b c )d" did not match "XabcdY" but did match "Xa b c dY". It should have
been the other way round. Some of this was related to change 7 above.

16. PCRE now gives errors for /[.x.]/ and /[=x=]/ as unsupported POSIX
features, as Perl does. Previously, PCRE gave the warnings only for /[[.x.]]/
and /[[=x=]]/. PCRE now also gives an error for /[:name:]/ because it supports
POSIX classes only within a class (e.g. /[[:alpha:]]/).

17. Added support for Perl's \C escape. This matches one byte, even in UTF8
mode. Unlike ".", it always matches newline, whatever the setting of
PCRE_DOTALL. However, PCRE does not permit \C to appear in lookbehind
assertions. Perl allows it, but it doesn't (in general) work because it can't
calculate the length of the lookbehind. At least, that's the case for Perl
5.8.0 - I've been told they are going to document that it doesn't work in
future.

18. Added an error diagnosis for escapes that PCRE does not support: these are
\L, \l, \N, \P, \p, \U, \u, and \X.

19. Although correctly diagnosing a missing ']' in a character class, PCRE was
reading past the end of the pattern in cases such as /[abcd/.

20. PCRE was getting more memory than necessary for patterns with classes that
contained both POSIX named classes and other characters, e.g. /[[:space:]abc/.

21. Added some code, conditional on #ifdef VPCOMPAT, to make life easier for
compiling PCRE for use with Virtual Pascal.

22. Small fix to the Makefile to make it work properly if the build is done
outside the source tree.

23. Added a new extension: a condition to go with recursion. If a conditional
subpattern starts with (?(R) the "true" branch is used if recursion has
happened, whereas the "false" branch is used only at the top level.

24. When there was a very long string of literal characters (over 255 bytes
without UTF support, over 250 bytes with UTF support), the computation of how
much memory was required could be incorrect, leading to segfaults or other
strange effects.

25. PCRE was incorrectly assuming anchoring (either to start of subject or to
start of line for a non-DOTALL pattern) when a pattern started with (.*) and
there was a subsequent back reference to those brackets. This meant that, for
example, /(.*)\d+\1/ failed to match "abc123bc". Unfortunately, it isn't
possible to check for precisely this case. All we can do is abandon the
optimization if .* occurs inside capturing brackets when there are any back
references whatsoever. (See below for a better fix that came later.)

26. The handling of the optimization for finding the first character of a
non-anchored pattern, and for finding a character that is required later in the
match were failing in some cases. This didn't break the matching; it just
failed to optimize when it could. The way this is done has been re-implemented.

27. Fixed typo in error message for invalid (?R item (it said "(?p").

28. Added a new feature that provides some of the functionality that Perl
provides with (?{...}). The facility is termed a "callout". The way it is done
in PCRE is for the caller to provide an optional function, by setting
pcre_callout to its entry point. Like pcre_malloc and pcre_free, this is a
global variable. By default it is unset, which disables all calling out. To get
the function called, the regex must include (?C) at appropriate points. This
is, in fact, equivalent to (?C0), and any number <= 255 may be given with (?C).
This provides a means of identifying different callout points. When PCRE
reaches such a point in the regex, if pcre_callout has been set, the external
function is called. It is provided with data in a structure called
pcre_callout_block, which is defined in pcre.h. If the function returns 0,
matching continues; if it returns a non-zero value, the match at the current
point fails. However, backtracking will occur if possible. [This was changed
later and other features added - see item 49 below.]

29. pcretest is upgraded to test the callout functionality. It provides a
callout function that displays information. By default, it shows the start of
the match and the current position in the text. There are some new data escapes
to vary what happens:

    \C+         in addition, show current contents of captured substrings
    \C-         do not supply a callout function
    \C!n        return 1 when callout number n is reached
    \C!n!m      return 1 when callout number n is reached for the mth time

30. If pcregrep was called with the -l option and just a single file name, it
output "<stdin>" if a match was found, instead of the file name.

31. Improve the efficiency of the POSIX API to PCRE. If the number of capturing
slots is less than POSIX_MALLOC_THRESHOLD, use a block on the stack to pass to
pcre_exec(). This saves a malloc/free per call. The default value of
POSIX_MALLOC_THRESHOLD is 10; it can be changed by --with-posix-malloc-threshold
when configuring.

32. The default maximum size of a compiled pattern is 64K. There have been a
few cases of people hitting this limit. The code now uses macros to handle the
storing of links as offsets within the compiled pattern. It defaults to 2-byte
links, but this can be changed to 3 or 4 bytes by --with-link-size when
configuring. Tests 2 and 5 work only with 2-byte links because they output
debugging information about compiled patterns.

33. Internal code re-arrangements:

(a) Moved the debugging function for printing out a compiled regex into
    its own source file (printint.c) and used #include to pull it into
    pcretest.c and, when DEBUG is defined, into pcre.c, instead of having two
    separate copies.

(b) Defined the list of op-code names for debugging as a macro in
    internal.h so that it is next to the definition of the opcodes.

(c) Defined a table of op-code lengths for simpler skipping along compiled
    code. This is again a macro in internal.h so that it is next to the
    definition of the opcodes.

34. Added support for recursive calls to individual subpatterns, along the
lines of Robin Houston's patch (but implemented somewhat differently).

35. Further mods to the Makefile to help Win32. Also, added code to pcregrep to
allow it to read and process whole directories in Win32. This code was
contributed by Lionel Fourquaux; it has not been tested by me.

36. Added support for named subpatterns. The Python syntax (?P<name>...) is
used to name a group. Names consist of alphanumerics and underscores, and must
be unique. Back references use the syntax (?P=name) and recursive calls use
(?P>name) which is a PCRE extension to the Python extension. Groups still have
numbers. The function pcre_fullinfo() can be used after compilation to extract
a name/number map. There are three relevant calls:

  PCRE_INFO_NAMEENTRYSIZE        yields the size of each entry in the map
  PCRE_INFO_NAMECOUNT            yields the number of entries
  PCRE_INFO_NAMETABLE            yields a pointer to the map.

The map is a vector of fixed-size entries. The size of each entry depends on
the length of the longest name used. The first two bytes of each entry are the
group number, most significant byte first. There follows the corresponding
name, zero terminated. The names are in alphabetical order.

37. Make the maximum literal string in the compiled code 250 for the non-UTF-8
case instead of 255. Making it the same both with and without UTF-8 support
means that the same test output works with both.

38. There was a case of malloc(0) in the POSIX testing code in pcretest. Avoid
calling malloc() with a zero argument.

39. Change 25 above had to resort to a heavy-handed test for the .* anchoring
optimization. I've improved things by keeping a bitmap of backreferences with
numbers 1-31 so that if .* occurs inside capturing brackets that are not in
fact referenced, the optimization can be applied. It is unlikely that a
relevant occurrence of .* (i.e. one which might indicate anchoring or forcing
the match to follow \n) will appear inside brackets with a number greater than
31, but if it does, any back reference > 31 suppresses the optimization.

40. Added a new compile-time option PCRE_NO_AUTO_CAPTURE. This has the effect
of disabling numbered capturing parentheses. Any opening parenthesis that is
not followed by ? behaves as if it were followed by ?: but named parentheses
can still be used for capturing (and they will acquire numbers in the usual
way).

41. Redesigned the return codes from the match() function into yes/no/error so
that errors can be passed back from deep inside the nested calls. A malloc
failure while inside a recursive subpattern call now causes the
PCRE_ERROR_NOMEMORY return instead of quietly going wrong.

42. It is now possible to set a limit on the number of times the match()
function is called in a call to pcre_exec(). This facility makes it possible to
limit the amount of recursion and backtracking, though not in a directly
obvious way, because the match() function is used in a number of different
circumstances. The count starts from zero for each position in the subject
string (for non-anchored patterns). The default limit is, for compatibility, a
large number, namely 10 000 000. You can change this in two ways:

(a) When configuring PCRE before making, you can use --with-match-limit=n
    to set a default value for the compiled library.

(b) For each call to pcre_exec(), you can pass a pcre_extra block in which
    a different value is set. See 45 below.

If the limit is exceeded, pcre_exec() returns PCRE_ERROR_MATCHLIMIT.

43. Added a new function pcre_config(int, void *) to enable run-time extraction
of things that can be changed at compile time. The first argument specifies
what is wanted and the second points to where the information is to be placed.
The current list of available information is:

  PCRE_CONFIG_UTF8

The output is an integer that is set to one if UTF-8 support is available;
otherwise it is set to zero.

  PCRE_CONFIG_NEWLINE

The output is an integer that it set to the value of the code that is used for
newline. It is either LF (10) or CR (13).

  PCRE_CONFIG_LINK_SIZE

The output is an integer that contains the number of bytes used for internal
linkage in compiled expressions. The value is 2, 3, or 4. See item 32 above.

  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD

The output is an integer that contains the threshold above which the POSIX
interface uses malloc() for output vectors. See item 31 above.

  PCRE_CONFIG_MATCH_LIMIT

The output is an unsigned integer that contains the default limit of the number
of match() calls in a pcre_exec() execution. See 42 above.

44. pcretest has been upgraded by the addition of the -C option. This causes it
to extract all the available output from the new pcre_config() function, and to
output it. The program then exits immediately.

45. A need has arisen to pass over additional data with calls to pcre_exec() in
order to support additional features. One way would have been to define
pcre_exec2() (for example) with extra arguments, but this would not have been
extensible, and would also have required all calls to the original function to
be mapped to the new one. Instead, I have chosen to extend the mechanism that
is used for passing in "extra" data from pcre_study().

The pcre_extra structure is now exposed and defined in pcre.h. It currently
contains the following fields:

  flags         a bitmap indicating which of the following fields are set
  study_data    opaque data from pcre_study()
  match_limit   a way of specifying a limit on match() calls for a specific
                  call to pcre_exec()
  callout_data  data for callouts (see 49 below)

The flag bits are also defined in pcre.h, and are

  PCRE_EXTRA_STUDY_DATA
  PCRE_EXTRA_MATCH_LIMIT
  PCRE_EXTRA_CALLOUT_DATA

The pcre_study() function now returns one of these new pcre_extra blocks, with
the actual study data pointed to by the study_data field, and the
PCRE_EXTRA_STUDY_DATA flag set. This can be passed directly to pcre_exec() as
before. That is, this change is entirely upwards-compatible and requires no
change to existing code.

If you want to pass in additional data to pcre_exec(), you can either place it
in a pcre_extra block provided by pcre_study(), or create your own pcre_extra
block.

46. pcretest has been extended to test the PCRE_EXTRA_MATCH_LIMIT feature. If a
data string contains the escape sequence \M, pcretest calls pcre_exec() several
times with different match limits, until it finds the minimum value needed for
pcre_exec() to complete. The value is then output. This can be instructive; for
most simple matches the number is quite small, but for pathological cases it
gets very large very quickly.

47. There's a new option for pcre_fullinfo() called PCRE_INFO_STUDYSIZE. It
returns the size of the data block pointed to by the study_data field in a
pcre_extra block, that is, the value that was passed as the argument to
pcre_malloc() when PCRE was getting memory in which to place the information
created by pcre_study(). The fourth argument should point to a size_t variable.
pcretest has been extended so that this information is shown after a successful
pcre_study() call when information about the compiled regex is being displayed.

48. Cosmetic change to Makefile: there's no need to have / after $(DESTDIR)
because what follows is always an absolute path. (Later: it turns out that this
is more than cosmetic for MinGW, because it doesn't like empty path
components.)

49. Some changes have been made to the callout feature (see 28 above):

(i)  A callout function now has three choices for what it returns:

       0  =>  success, carry on matching
     > 0  =>  failure at this point, but backtrack if possible
     < 0  =>  serious error, return this value from pcre_exec()

     Negative values should normally be chosen from the set of PCRE_ERROR_xxx
     values. In particular, returning PCRE_ERROR_NOMATCH forces a standard
     "match failed" error. The error number PCRE_ERROR_CALLOUT is reserved for
     use by callout functions. It will never be used by PCRE itself.

(ii) The pcre_extra structure (see 45 above) has a void * field called
     callout_data, with corresponding flag bit PCRE_EXTRA_CALLOUT_DATA. The
     pcre_callout_block structure has a field of the same name. The contents of
     the field passed in the pcre_extra structure are passed to the callout
     function in the corresponding field in the callout block. This makes it
     easier to use the same callout-containing regex from multiple threads. For
     testing, the pcretest program has a new data escape

       \C*n        pass the number n (may be negative) as callout_data

     If the callout function in pcretest receives a non-zero value as
     callout_data, it returns that value.

50. Makefile wasn't handling CFLAGS properly when compiling dftables. Also,
there were some redundant $(CFLAGS) in commands that are now specified as
$(LINK), which already includes $(CFLAGS).

51. Extensions to UTF-8 support are listed below. These all apply when (a) PCRE
has been compiled with UTF-8 support *and* pcre_compile() has been compiled
with the PCRE_UTF8 flag. Patterns that are compiled without that flag assume
one-byte characters throughout. Note that case-insensitive matching applies
only to characters whose values are less than 256. PCRE doesn't support the
notion of cases for higher-valued characters.

(i)   A character class whose characters are all within 0-255 is handled as
      a bit map, and the map is inverted for negative classes. Previously, a
      character > 255 always failed to match such a class; however it should
      match if the class was a negative one (e.g. [^ab]). This has been fixed.

(ii)  A negated character class with a single character < 255 is coded as
      "not this character" (OP_NOT). This wasn't working properly when the test
      character was multibyte, either singly or repeated.

(iii) Repeats of multibyte characters are now handled correctly in UTF-8
      mode, for example: \x{100}{2,3}.

(iv)  The character escapes \b, \B, \d, \D, \s, \S, \w, and \W (either
      singly or repeated) now correctly test multibyte characters. However,
      PCRE doesn't recognize any characters with values greater than 255 as
      digits, spaces, or word characters. Such characters always match \D, \S,
      and \W, and never match \d, \s, or \w.

(v)   Classes may now contain characters and character ranges with values
      greater than 255. For example: [ab\x{100}-\x{400}].

(vi)  pcregrep now has a --utf-8 option (synonym -u) which makes it call
      PCRE in UTF-8 mode.

52. The info request value PCRE_INFO_FIRSTCHAR has been renamed
PCRE_INFO_FIRSTBYTE because it is a byte value. However, the old name is
retained for backwards compatibility. (Note that LASTLITERAL is also a byte
value.)

53. The single man page has become too large. I have therefore split it up into
a number of separate man pages. These also give rise to individual HTML pages;
these are now put in a separate directory, and there is an index.html page that
lists them all. Some hyperlinking between the pages has been installed.

54. Added convenience functions for handling named capturing parentheses.

55. Unknown escapes inside character classes (e.g. [\M]) and escapes that
aren't interpreted therein (e.g. [\C]) are literals in Perl. This is now also
true in PCRE, except when the PCRE_EXTENDED option is set, in which case they
are faulted.

56. Introduced HOST_CC and HOST_CFLAGS which can be set in the environment when
calling configure. These values are used when compiling the dftables.c program
which is run to generate the source of the default character tables. They
default to the values of CC and CFLAGS. If you are cross-compiling PCRE,
you will need to set these values.

57. Updated the building process for Windows DLL, as provided by Fred Cox.


Version 3.9 02-Jan-02
---------------------

1. A bit of extraneous text had somehow crept into the pcregrep documentation.

2. If --disable-static was given, the building process failed when trying to
build pcretest and pcregrep. (For some reason it was using libtool to compile
them, which is not right, as they aren't part of the library.)


Version 3.8 18-Dec-01
---------------------

1. The experimental UTF-8 code was completely screwed up. It was packing the
bytes in the wrong order. How dumb can you get?


Version 3.7 29-Oct-01
---------------------

1. In updating pcretest to check change 1 of version 3.6, I screwed up.
This caused pcretest, when used on the test data, to segfault. Unfortunately,
this didn't happen under Solaris 8, where I normally test things.

2. The Makefile had to be changed to make it work on BSD systems, where 'make'
doesn't seem to recognize that ./xxx and xxx are the same file. (This entry
isn't in ChangeLog distributed with 3.7 because I forgot when I hastily made
this fix an hour or so after the initial 3.7 release.)


Version 3.6 23-Oct-01
---------------------

1. Crashed with /(sens|respons)e and \1ibility/ and "sense and sensibility" if
offsets passed as NULL with zero offset count.

2. The config.guess and config.sub files had not been updated when I moved to
the latest autoconf.


Version 3.5 15-Aug-01
---------------------

1. Added some missing #if !defined NOPOSIX conditionals in pcretest.c that
had been forgotten.

2. By using declared but undefined structures, we can avoid using "void"
definitions in pcre.h while keeping the internal definitions of the structures
private.

3. The distribution is now built using autoconf 2.50 and libtool 1.4. From a
user point of view, this means that both static and shared libraries are built
by default, but this can be individually controlled. More of the work of
handling this static/shared cases is now inside libtool instead of PCRE's make
file.

4. The pcretest utility is now installed along with pcregrep because it is
useful for users (to test regexs) and by doing this, it automatically gets
relinked by libtool. The documentation has been turned into a man page, so
there are now .1, .txt, and .html versions in /doc.

5. Upgrades to pcregrep:
   (i)   Added long-form option names like gnu grep.
   (ii)  Added --help to list all options with an explanatory phrase.
   (iii) Added -r, --recursive to recurse into sub-directories.
   (iv)  Added -f, --file to read patterns from a file.

6. pcre_exec() was referring to its "code" argument before testing that
argument for NULL (and giving an error if it was NULL).

7. Upgraded Makefile.in to allow for compiling in a different directory from
the source directory.

8. Tiny buglet in pcretest: when pcre_fullinfo() was called to retrieve the
options bits, the pointer it was passed was to an int instead of to an unsigned
long int. This mattered only on 64-bit systems.

9. Fixed typo (3.4/1) in pcre.h again. Sigh. I had changed pcre.h (which is
generated) instead of pcre.in, which it its source. Also made the same change
in several of the .c files.

10. A new release of gcc defines printf() as a macro, which broke pcretest
because it had an ifdef in the middle of a string argument for printf(). Fixed
by using separate calls to printf().

11. Added --enable-newline-is-cr and --enable-newline-is-lf to the configure
script, to force use of CR or LF instead of \n in the source. On non-Unix
systems, the value can be set in config.h.

12. The limit of 200 on non-capturing parentheses is a _nesting_ limit, not an
absolute limit. Changed the text of the error message to make this clear, and
likewise updated the man page.

13. The limit of 99 on the number of capturing subpatterns has been removed.
The new limit is 65535, which I hope will not be a "real" limit.


Version 3.4 22-Aug-00
---------------------

1. Fixed typo in pcre.h: unsigned const char * changed to const unsigned char *.

2. Diagnose condition (?(0) as an error instead of crashing on matching.


Version 3.3 01-Aug-00
---------------------

1. If an octal character was given, but the value was greater than \377, it
was not getting masked to the least significant bits, as documented. This could
lead to crashes in some systems.

2. Perl 5.6 (if not earlier versions) accepts classes like [a-\d] and treats
the hyphen as a literal. PCRE used to give an error; it now behaves like Perl.

3. Added the functions pcre_free_substring() and pcre_free_substring_list().
These just pass their arguments on to (pcre_free)(), but they are provided
because some uses of PCRE bind it to non-C systems that can call its functions,
but cannot call free() or pcre_free() directly.

4. Add "make test" as a synonym for "make check". Corrected some comments in
the Makefile.

5. Add $(DESTDIR)/ in front of all the paths in the "install" target in the
Makefile.

6. Changed the name of pgrep to pcregrep, because Solaris has introduced a
command called pgrep for grepping around the active processes.

7. Added the beginnings of support for UTF-8 character strings.

8. Arranged for the Makefile to pass over the settings of CC, CFLAGS, and
RANLIB to ./ltconfig so that they are used by libtool. I think these are all
the relevant ones. (AR is not passed because ./ltconfig does its own figuring
out for the ar command.)


Version 3.2 12-May-00
---------------------

This is purely a bug fixing release.

1. If the pattern /((Z)+|A)*/ was matched agained ZABCDEFG it matched Z instead
of ZA. This was just one example of several cases that could provoke this bug,
which was introduced by change 9 of version 2.00. The code for breaking
infinite loops after an iteration that matches an empty string was't working
correctly.

2. The pcretest program was not imitating Perl correctly for the pattern /a*/g
when matched against abbab (for example). After matching an empty string, it
wasn't forcing anchoring when setting PCRE_NOTEMPTY for the next attempt; this
caused it to match further down the string than it should.

3. The code contained an inclusion of sys/types.h. It isn't clear why this
was there because it doesn't seem to be needed, and it causes trouble on some
systems, as it is not a Standard C header. It has been removed.

4. Made 4 silly changes to the source to avoid stupid compiler warnings that
were reported on the Macintosh. The changes were from

  while ((c = *(++ptr)) != 0 && c != '\n');
to
  while ((c = *(++ptr)) != 0 && c != '\n') ;

Totally extraordinary, but if that's what it takes...

5. PCRE is being used in one environment where neither memmove() nor bcopy() is
available. Added HAVE_BCOPY and an autoconf test for it; if neither
HAVE_MEMMOVE nor HAVE_BCOPY is set, use a built-in emulation function which
assumes the way PCRE uses memmove() (always moving upwards).

6. PCRE is being used in one environment where strchr() is not available. There
was only one use in pcre.c, and writing it out to avoid strchr() probably gives
faster code anyway.


Version 3.1 09-Feb-00
---------------------

The only change in this release is the fixing of some bugs in Makefile.in for
the "install" target:

(1) It was failing to install pcreposix.h.

(2) It was overwriting the pcre.3 man page with the pcreposix.3 man page.


Version 3.0 01-Feb-00
---------------------

1. Add support for the /+ modifier to perltest (to output $` like it does in
pcretest).

2. Add support for the /g modifier to perltest.

3. Fix pcretest so that it behaves even more like Perl for /g when the pattern
matches null strings.

4. Fix perltest so that it doesn't do unwanted things when fed an empty
pattern. Perl treats empty patterns specially - it reuses the most recent
pattern, which is not what we want. Replace // by /(?#)/ in order to avoid this
effect.

5. The POSIX interface was broken in that it was just handing over the POSIX
captured string vector to pcre_exec(), but (since release 2.00) PCRE has
required a bigger vector, with some working space on the end. This means that
the POSIX wrapper now has to get and free some memory, and copy the results.

6. Added some simple autoconf support, placing the test data and the
documentation in separate directories, re-organizing some of the
information files, and making it build pcre-config (a GNU standard). Also added
libtool support for building PCRE as a shared library, which is now the
default.

7. Got rid of the leading zero in the definition of PCRE_MINOR because 08 and
09 are not valid octal constants. Single digits will be used for minor values
less than 10.

8. Defined REG_EXTENDED and REG_NOSUB as zero in the POSIX header, so that
existing programs that set these in the POSIX interface can use PCRE without
modification.

9. Added a new function, pcre_fullinfo() with an extensible interface. It can
return all that pcre_info() returns, plus additional data. The pcre_info()
function is retained for compatibility, but is considered to be obsolete.

10. Added experimental recursion feature (?R) to handle one common case that
Perl 5.6 will be able to do with (?p{...}).

11. Added support for POSIX character classes like [:alpha:], which Perl is
adopting.


Version 2.08 31-Aug-99
----------------------

1. When startoffset was not zero and the pattern began with ".*", PCRE was not
trying to match at the startoffset position, but instead was moving forward to
the next newline as if a previous match had failed.

2. pcretest was not making use of PCRE_NOTEMPTY when repeating for /g and /G,
and could get into a loop if a null string was matched other than at the start
of the subject.

3. Added definitions of PCRE_MAJOR and PCRE_MINOR to pcre.h so the version can
be distinguished at compile time, and for completeness also added PCRE_DATE.

5. Added Paul Sokolovsky's minor changes to make it easy to compile a Win32 DLL
in GnuWin32 environments.


Version 2.07 29-Jul-99
----------------------

1. The documentation is now supplied in plain text form and HTML as well as in
the form of man page sources.

2. C++ compilers don't like assigning (void *) values to other pointer types.
In particular this affects malloc(). Although there is no problem in Standard
C, I've put in casts to keep C++ compilers happy.

3. Typo on pcretest.c; a cast of (unsigned char *) in the POSIX regexec() call
should be (const char *).

4. If NOPOSIX is defined, pcretest.c compiles without POSIX support. This may
be useful for non-Unix systems who don't want to bother with the POSIX stuff.
However, I haven't made this a standard facility. The documentation doesn't
mention it, and the Makefile doesn't support it.

5. The Makefile now contains an "install" target, with editable destinations at
the top of the file. The pcretest program is not installed.

6. pgrep -V now gives the PCRE version number and date.

7. Fixed bug: a zero repetition after a literal string (e.g. /abcde{0}/) was
causing the entire string to be ignored, instead of just the last character.

8. If a pattern like /"([^\\"]+|\\.)*"/ is applied in the normal way to a
non-matching string, it can take a very, very long time, even for strings of
quite modest length, because of the nested recursion. PCRE now does better in
some of these cases. It does this by remembering the last required literal
character in the pattern, and pre-searching the subject to ensure it is present
before running the real match. In other words, it applies a heuristic to detect
some types of certain failure quickly, and in the above example, if presented
with a string that has no trailing " it gives "no match" very quickly.

9. A new runtime option PCRE_NOTEMPTY causes null string matches to be ignored;
other alternatives are tried instead.


Version 2.06 09-Jun-99
----------------------

1. Change pcretest's output for amount of store used to show just the code
space, because the remainder (the data block) varies in size between 32-bit and
64-bit systems.

2. Added an extra argument to pcre_exec() to supply an offset in the subject to
start matching at. This allows lookbehinds to work when searching for multiple
occurrences in a string.

3. Added additional options to pcretest for testing multiple occurrences:

   /+   outputs the rest of the string that follows a match
   /g   loops for multiple occurrences, using the new startoffset argument
   /G   loops for multiple occurrences by passing an incremented pointer

4. PCRE wasn't doing the "first character" optimization for patterns starting
with \b or \B, though it was doing it for other lookbehind assertions. That is,
it wasn't noticing that a match for a pattern such as /\bxyz/ has to start with
the letter 'x'. On long subject strings, this gives a significant speed-up.


Version 2.05 21-Apr-99
----------------------

1. Changed the type of magic_number from int to long int so that it works
properly on 16-bit systems.

2. Fixed a bug which caused patterns starting with .* not to work correctly
when the subject string contained newline characters. PCRE was assuming
anchoring for such patterns in all cases, which is not correct because .* will
not pass a newline unless PCRE_DOTALL is set. It now assumes anchoring only if
DOTALL is set at top level; otherwise it knows that patterns starting with .*
must be retried after every newline in the subject.


Version 2.04 18-Feb-99
----------------------

1. For parenthesized subpatterns with repeats whose minimum was zero, the
computation of the store needed to hold the pattern was incorrect (too large).
If such patterns were nested a few deep, this could multiply and become a real
problem.

2. Added /M option to pcretest to show the memory requirement of a specific
pattern. Made -m a synonym of -s (which does this globally) for compatibility.

3. Subpatterns of the form (regex){n,m} (i.e. limited maximum) were being
compiled in such a way that the backtracking after subsequent failure was
pessimal. Something like (a){0,3} was compiled as (a)?(a)?(a)? instead of
((a)((a)(a)?)?)? with disastrous performance if the maximum was of any size.


Version 2.03 02-Feb-99
----------------------

1. Fixed typo and small mistake in man page.

2. Added 4th condition (GPL supersedes if conflict) and created separate
LICENCE file containing the conditions.

3. Updated pcretest so that patterns such as /abc\/def/ work like they do in
Perl, that is the internal \ allows the delimiter to be included in the
pattern. Locked out the use of \ as a delimiter. If \ immediately follows
the final delimiter, add \ to the end of the pattern (to test the error).

4. Added the convenience functions for extracting substrings after a successful
match. Updated pcretest to make it able to test these functions.


Version 2.02 14-Jan-99
----------------------

1. Initialized the working variables associated with each extraction so that
their saving and restoring doesn't refer to uninitialized store.

2. Put dummy code into study.c in order to trick the optimizer of the IBM C
compiler for OS/2 into generating correct code. Apparently IBM isn't going to
fix the problem.

3. Pcretest: the timing code wasn't using LOOPREPEAT for timing execution
calls, and wasn't printing the correct value for compiling calls. Increased the
default value of LOOPREPEAT, and the number of significant figures in the
times.

4. Changed "/bin/rm" in the Makefile to "-rm" so it works on Windows NT.

5. Renamed "deftables" as "dftables" to get it down to 8 characters, to avoid
a building problem on Windows NT with a FAT file system.


Version 2.01 21-Oct-98
----------------------

1. Changed the API for pcre_compile() to allow for the provision of a pointer
to character tables built by pcre_maketables() in the current locale. If NULL
is passed, the default tables are used.


Version 2.00 24-Sep-98
----------------------

1. Since the (>?) facility is in Perl 5.005, don't require PCRE_EXTRA to enable
it any more.

2. Allow quantification of (?>) groups, and make it work correctly.

3. The first character computation wasn't working for (?>) groups.

4. Correct the implementation of \Z (it is permitted to match on the \n at the
end of the subject) and add 5.005's \z, which really does match only at the
very end of the subject.

5. Remove the \X "cut" facility; Perl doesn't have it, and (?> is neater.

6. Remove the ability to specify CASELESS, MULTILINE, DOTALL, and
DOLLAR_END_ONLY at runtime, to make it possible to implement the Perl 5.005
localized options. All options to pcre_study() were also removed.

7. Add other new features from 5.005:

   $(?<=           positive lookbehind
   $(?<!           negative lookbehind
   (?imsx-imsx)    added the unsetting capability
                   such a setting is global if at outer level; local otherwise
   (?imsx-imsx:)   non-capturing groups with option setting
   (?(cond)re|re)  conditional pattern matching

   A backreference to itself in a repeated group matches the previous
   captured string.

8. General tidying up of studying (both automatic and via "study")
consequential on the addition of new assertions.

9. As in 5.005, unlimited repeated groups that could match an empty substring
are no longer faulted at compile time. Instead, the loop is forcibly broken at
runtime if any iteration does actually match an empty substring.

10. Include the RunTest script in the distribution.

11. Added tests from the Perl 5.005_02 distribution. This showed up a few
discrepancies, some of which were old and were also with respect to 5.004. They
have now been fixed.


Version 1.09 28-Apr-98
----------------------

1. A negated single character class followed by a quantifier with a minimum
value of one (e.g.  [^x]{1,6}  ) was not compiled correctly. This could lead to
program crashes, or just wrong answers. This did not apply to negated classes
containing more than one character, or to minima other than one.


Version 1.08 27-Mar-98
----------------------

1. Add PCRE_UNGREEDY to invert the greediness of quantifiers.

2. Add (?U) and (?X) to set PCRE_UNGREEDY and PCRE_EXTRA respectively. The
latter must appear before anything that relies on it in the pattern.


Version 1.07 16-Feb-98
----------------------

1. A pattern such as /((a)*)*/ was not being diagnosed as in error (unlimited
repeat of a potentially empty string).


Version 1.06 23-Jan-98
----------------------

1. Added Markus Oberhumer's little patches for C++.

2. Literal strings longer than 255 characters were broken.


Version 1.05 23-Dec-97
----------------------

1. Negated character classes containing more than one character were failing if
PCRE_CASELESS was set at run time.


Version 1.04 19-Dec-97
----------------------

1. Corrected the man page, where some "const" qualifiers had been omitted.

2. Made debugging output print "{0,xxx}" instead of just "{,xxx}" to agree with
input syntax.

3. Fixed memory leak which occurred when a regex with back references was
matched with an offsets vector that wasn't big enough. The temporary memory
that is used in this case wasn't being freed if the match failed.

4. Tidied pcretest to ensure it frees memory that it gets.

5. Temporary memory was being obtained in the case where the passed offsets
vector was exactly big enough.

6. Corrected definition of offsetof() from change 5 below.

7. I had screwed up change 6 below and broken the rules for the use of
setjmp(). Now fixed.


Version 1.03 18-Dec-97
----------------------

1. A erroneous regex with a missing opening parenthesis was correctly
diagnosed, but PCRE attempted to access brastack[-1], which could cause crashes
on some systems.

2. Replaced offsetof(real_pcre, code) by offsetof(real_pcre, code[0]) because
it was reported that one broken compiler failed on the former because "code" is
also an independent variable.

3. The erroneous regex a[]b caused an array overrun reference.

4. A regex ending with a one-character negative class (e.g. /[^k]$/) did not
fail on data ending with that character. (It was going on too far, and checking
the next character, typically a binary zero.) This was specific to the
optimized code for single-character negative classes.

5. Added a contributed patch from the TIN world which does the following:

  + Add an undef for memmove, in case the the system defines a macro for it.

  + Add a definition of offsetof(), in case there isn't one. (I don't know
    the reason behind this - offsetof() is part of the ANSI standard - but
    it does no harm).

  + Reduce the ifdef's in pcre.c using macro DPRINTF, thereby eliminating
    most of the places where whitespace preceded '#'. I have given up and
    allowed the remaining 2 cases to be at the margin.

  + Rename some variables in pcre to eliminate shadowing. This seems very
    pedantic, but does no harm, of course.

6. Moved the call to setjmp() into its own function, to get rid of warnings
from gcc -Wall, and avoided calling it at all unless PCRE_EXTRA is used.

7. Constructs such as \d{8,} were compiling into the equivalent of
\d{8}\d{0,65527} instead of \d{8}\d* which didn't make much difference to the
outcome, but in this particular case used more store than had been allocated,
which caused the bug to be discovered because it threw up an internal error.

8. The debugging code in both pcre and pcretest for outputting the compiled
form of a regex was going wrong in the case of back references followed by
curly-bracketed repeats.


Version 1.02 12-Dec-97
----------------------

1. Typos in pcre.3 and comments in the source fixed.

2. Applied a contributed patch to get rid of places where it used to remove
'const' from variables, and fixed some signed/unsigned and uninitialized
variable warnings.

3. Added the "runtest" target to Makefile.

4. Set default compiler flag to -O2 rather than just -O.


Version 1.01 19-Nov-97
----------------------

1. PCRE was failing to diagnose unlimited repeat of empty string for patterns
like /([ab]*)*/, that is, for classes with more than one character in them.

2. Likewise, it wasn't diagnosing patterns with "once-only" subpatterns, such
as /((?>a*))*/ (a PCRE_EXTRA facility).


Version 1.00 18-Nov-97
----------------------

1. Added compile-time macros to support systems such as SunOS4 which don't have
memmove() or strerror() but have other things that can be used instead.

2. Arranged that "make clean" removes the executables.


Version 0.99 27-Oct-97
----------------------

1. Fixed bug in code for optimizing classes with only one character. It was
initializing a 32-byte map regardless, which could cause it to run off the end
of the memory it had got.

2. Added, conditional on PCRE_EXTRA, the proposed (?>REGEX) construction.


Version 0.98 22-Oct-97
----------------------

1. Fixed bug in code for handling temporary memory usage when there are more
back references than supplied space in the ovector. This could cause segfaults.


Version 0.97 21-Oct-97
----------------------

1. Added the \X "cut" facility, conditional on PCRE_EXTRA.

2. Optimized negated single characters not to use a bit map.

3. Brought error texts together as macro definitions; clarified some of them;
fixed one that was wrong - it said "range out of order" when it meant "invalid
escape sequence".

4. Changed some char * arguments to const char *.

5. Added PCRE_NOTBOL and PCRE_NOTEOL (from POSIX).

6. Added the POSIX-style API wrapper in pcreposix.a and testing facilities in
pcretest.


Version 0.96 16-Oct-97
----------------------

1. Added a simple "pgrep" utility to the distribution.

2. Fixed an incompatibility with Perl: "{" is now treated as a normal character
unless it appears in one of the precise forms "{ddd}", "{ddd,}", or "{ddd,ddd}"
where "ddd" means "one or more decimal digits".

3. Fixed serious bug. If a pattern had a back reference, but the call to
pcre_exec() didn't supply a large enough ovector to record the related
identifying subpattern, the match always failed. PCRE now remembers the number
of the largest back reference, and gets some temporary memory in which to save
the offsets during matching if necessary, in order to ensure that
backreferences always work.

4. Increased the compatibility with Perl in a number of ways:

  (a) . no longer matches \n by default; an option PCRE_DOTALL is provided
      to request this handling. The option can be set at compile or exec time.

  (b) $ matches before a terminating newline by default; an option
      PCRE_DOLLAR_ENDONLY is provided to override this (but not in multiline
      mode). The option can be set at compile or exec time.

  (c) The handling of \ followed by a digit other than 0 is now supposed to be
      the same as Perl's. If the decimal number it represents is less than 10
      or there aren't that many previous left capturing parentheses, an octal
      escape is read. Inside a character class, it's always an octal escape,
      even if it is a single digit.

  (d) An escaped but undefined alphabetic character is taken as a literal,
      unless PCRE_EXTRA is set. Currently this just reserves the remaining
      escapes.

  (e) {0} is now permitted. (The previous item is removed from the compiled
      pattern).

5. Changed all the names of code files so that the basic parts are no longer
than 10 characters, and abolished the teeny "globals.c" file.

6. Changed the handling of character classes; they are now done with a 32-byte
bit map always.

7. Added the -d and /D options to pcretest to make it possible to look at the
internals of compilation without having to recompile pcre.


Version 0.95 23-Sep-97
----------------------

1. Fixed bug in pre-pass concerning escaped "normal" characters such as \x5c or
\x20 at the start of a run of normal characters. These were being treated as
real characters, instead of the source characters being re-checked.


Version 0.94 18-Sep-97
----------------------

1. The functions are now thread-safe, with the caveat that the global variables
containing pointers to malloc() and free() or alternative functions are the
same for all threads.

2. Get pcre_study() to generate a bitmap of initial characters for non-
anchored patterns when this is possible, and use it if passed to pcre_exec().


Version 0.93 15-Sep-97
----------------------

1. /(b)|(:+)/ was computing an incorrect first character.

2. Add pcre_study() to the API and the passing of pcre_extra to pcre_exec(),
but not actually doing anything yet.

3. Treat "-" characters in classes that cannot be part of ranges as literals,
as Perl does (e.g. [-az] or [az-]).

4. Set the anchored flag if a branch starts with .* or .*? because that tests
all possible positions.

5. Split up into different modules to avoid including unneeded functions in a
compiled binary. However, compile and exec are still in one module. The "study"
function is split off.

6. The character tables are now in a separate module whose source is generated
by an auxiliary program - but can then be edited by hand if required. There are
now no calls to isalnum(), isspace(), isdigit(), isxdigit(), tolower() or
toupper() in the code.

7. Turn the malloc/free funtions variables into pcre_malloc and pcre_free and
make them global. Abolish the function for setting them, as the caller can now
set them directly.


Version 0.92 11-Sep-97
----------------------

1. A repeat with a fixed maximum and a minimum of 1 for an ordinary character
(e.g. /a{1,3}/) was broken (I mis-optimized it).

2. Caseless matching was not working in character classes if the characters in
the pattern were in upper case.

3. Make ranges like [W-c] work in the same way as Perl for caseless matching.

4. Make PCRE_ANCHORED public and accept as a compile option.

5. Add an options word to pcre_exec() and accept PCRE_ANCHORED and
PCRE_CASELESS at run time. Add escapes \A and \I to pcretest to cause it to
pass them.

6. Give an error if bad option bits passed at compile or run time.

7. Add PCRE_MULTILINE at compile and exec time, and (?m) as well. Add \M to
pcretest to cause it to pass that flag.

8. Add pcre_info(), to get the number of identifying subpatterns, the stored
options, and the first character, if set.

9. Recognize C+ or C{n,m} where n >= 1 as providing a fixed starting character.


Version 0.91 10-Sep-97
----------------------

1. PCRE was failing to diagnose unlimited repeats of subpatterns that could
match the empty string as in /(a*)*/. It was looping and ultimately crashing.

2. PCRE was looping on encountering an indefinitely repeated back reference to
a subpattern that had matched an empty string, e.g. /(a|)\1*/. It now does what
Perl does - treats the match as successful.

****
share/doc/alt-pcre802/NEWS000064400000043674150405535540011077 0ustar00News about PCRE releases
------------------------

Release 8.02 19-Mar-2010
------------------------

Another bug-fix release.


Release 8.01 19-Jan-2010
------------------------

This is a bug-fix release. Several bugs in the code itself and some bugs and
infelicities in the build system have been fixed.


Release 8.00 19-Oct-09
----------------------

Bugs have been fixed in the library and in pcregrep. There are also some
enhancements. Restrictions on patterns used for partial matching have been
removed, extra information is given for partial matches, the partial matching
process has been improved, and an option to make a partial match override a
full match is available. The "study" process has been enhanced by finding a
lower bound matching length. Groups with duplicate numbers may now have
duplicated names without the use of PCRE_DUPNAMES. However, they may not have
different names. The documentation has been revised to reflect these changes.
The version number has been expanded to 3 digits as it is clear that the rate
of change is not slowing down.


Release 7.9 11-Apr-09
---------------------

Mostly bugfixes and tidies with just a couple of minor functional additions.


Release 7.8 05-Sep-08
---------------------

More bug fixes, plus a performance improvement in Unicode character property
lookup.


Release 7.7 07-May-08
---------------------

This is once again mainly a bug-fix release, but there are a couple of new
features.


Release 7.6 28-Jan-08
---------------------

The main reason for having this release so soon after 7.5 is because it fixes a
potential buffer overflow problem in pcre_compile() when run in UTF-8 mode. In
addition, the CMake configuration files have been brought up to date.


Release 7.5 10-Jan-08
---------------------

This is mainly a bug-fix release. However the ability to link pcregrep with
libz or libbz2 and the ability to link pcretest with libreadline have been
added. Also the --line-offsets and --file-offsets options were added to
pcregrep.


Release 7.4 21-Sep-07
---------------------

The only change of specification is the addition of options to control whether
\R matches any Unicode line ending (the default) or just CR, LF, and CRLF.
Otherwise, the changes are bug fixes and a refactoring to reduce the number of
relocations needed in a shared library. There have also been some documentation
updates, in particular, some more information about using CMake to build PCRE
has been added to the NON-UNIX-USE file.


Release 7.3 28-Aug-07
---------------------

Most changes are bug fixes. Some that are not:

1. There is some support for Perl 5.10's experimental "backtracking control
   verbs" such as (*PRUNE).

2. UTF-8 checking is now as per RFC 3629 instead of RFC 2279; this is more
   restrictive in the strings it accepts.

3. Checking for potential integer overflow has been made more dynamic, and as a
   consequence there is no longer a hard limit on the size of a subpattern that
   has a limited repeat count.

4. When CRLF is a valid line-ending sequence, pcre_exec() and pcre_dfa_exec()
   no longer advance by two characters instead of one when an unanchored match
   fails at CRLF if there are explicit CR or LF matches within the pattern.
   This gets rid of some anomalous effects that previously occurred.

5. Some PCRE-specific settings for varying the newline options at the start of
   a pattern have been added.


Release 7.2 19-Jun-07
---------------------

WARNING: saved patterns that were compiled by earlier versions of PCRE must be
recompiled for use with 7.2 (necessitated by the addition of \K, \h, \H, \v,
and \V).

Correction to the notes for 7.1: the note about shared libraries for Windows is
wrong. Previously, three libraries were built, but each could function
independently. For example, the pcreposix library also included all the
functions from the basic pcre library. The change is that the three libraries
are no longer independent. They are like the Unix libraries. To use the
pcreposix functions, for example, you need to link with both the pcreposix and
the basic pcre library.

Some more features from Perl 5.10 have been added:

  (?-n) and (?+n) relative references for recursion and subroutines.

  (?(-n) and (?(+n) relative references as conditions.

  \k{name} and \g{name} are synonyms for \k<name>.

  \K to reset the start of the matched string; for example, (foo)\Kbar
  matches bar preceded by foo, but only sets bar as the matched string.

  (?| introduces a group where the capturing parentheses in each alternative
  start from the same number; for example, (?|(abc)|(xyz)) sets capturing
  parentheses number 1 in both cases.

  \h, \H, \v, \V match horizontal and vertical whitespace, respectively.


Release 7.1 24-Apr-07
---------------------

There is only one new feature in this release: a linebreak setting of
PCRE_NEWLINE_ANYCRLF. It is a cut-down version of PCRE_NEWLINE_ANY, which
recognizes only CRLF, CR, and LF as linebreaks.

A few bugs are fixed (see ChangeLog for details), but the major change is a
complete re-implementation of the build system. This now has full Autotools
support and so is now "standard" in some sense. It should help with compiling
PCRE in a wide variety of environments.

NOTE: when building shared libraries for Windows, three dlls are now built,
called libpcre, libpcreposix, and libpcrecpp. Previously, everything was
included in a single dll.

Another important change is that the dftables auxiliary program is no longer
compiled and run at "make" time by default. Instead, a default set of character
tables (assuming ASCII coding) is used. If you want to use dftables to generate
the character tables as previously, add --enable-rebuild-chartables to the
"configure" command. You must do this if you are compiling PCRE to run on a
system that uses EBCDIC code.

There is a discussion about character tables in the README file. The default is
not to use dftables so that that there is no problem when cross-compiling.


Release 7.0 19-Dec-06
---------------------

This release has a new major number because there have been some internal
upheavals to facilitate the addition of new optimizations and other facilities,
and to make subsequent maintenance and extension easier. Compilation is likely
to be a bit slower, but there should be no major effect on runtime performance.
Previously compiled patterns are NOT upwards compatible with this release. If
you have saved compiled patterns from a previous release, you will have to
re-compile them. Important changes that are visible to users are:

1. The Unicode property tables have been updated to Unicode 5.0.0, which adds
   some more scripts.

2. The option PCRE_NEWLINE_ANY causes PCRE to recognize any Unicode newline
   sequence as a newline.

3. The \R escape matches a single Unicode newline sequence as a single unit.

4. New features that will appear in Perl 5.10 are now in PCRE. These include
   alternative Perl syntax for named parentheses, and Perl syntax for
   recursion.

5. The C++ wrapper interface has been extended by the addition of a
   QuoteMeta function and the ability to allow copy construction and
   assignment.

For a complete list of changes, see the ChangeLog file.


Release 6.7 04-Jul-06
---------------------

The main additions to this release are the ability to use the same name for
multiple sets of parentheses, and support for CRLF line endings in both the
library and pcregrep (and in pcretest for testing).

Thanks to Ian Taylor, the stack usage for many kinds of pattern has been
significantly reduced for certain subject strings.


Release 6.5 01-Feb-06
---------------------

Important changes in this release:

1. A number of new features have been added to pcregrep.

2. The Unicode property tables have been updated to Unicode 4.1.0, and the
   supported properties have been extended with script names such as "Arabic",
   and the derived properties "Any" and "L&". This has necessitated a change to
   the interal format of compiled patterns. Any saved compiled patterns that
   use \p or \P must be recompiled.

3. The specification of recursion in patterns has been changed so that all
   recursive subpatterns are automatically treated as atomic groups. Thus, for
   example, (?R) is treated as if it were (?>(?R)). This is necessary because
   otherwise there are situations where recursion does not work.

See the ChangeLog for a complete list of changes, which include a number of bug
fixes and tidies.


Release 6.0 07-Jun-05
---------------------

The release number has been increased to 6.0 because of the addition of several
major new pieces of functionality.

A new function, pcre_dfa_exec(), which implements pattern matching using a DFA
algorithm, has been added. This has a number of advantages for certain cases,
though it does run more slowly, and lacks the ability to capture substrings. On
the other hand, it does find all matches, not just the first, and it works
better for partial matching. The pcrematching man page discusses the
differences.

The pcretest program has been enhanced so that it can make use of the new
pcre_dfa_exec() matching function and the extra features it provides.

The distribution now includes a C++ wrapper library. This is built
automatically if a C++ compiler is found. The pcrecpp man page discusses this
interface.

The code itself has been re-organized into many more files, one for each
function, so it no longer requires everything to be linked in when static
linkage is used. As a consequence, some internal functions have had to have
their names exposed. These functions all have names starting with _pcre_. They
are undocumented, and are not intended for use by outside callers.

The pcregrep program has been enhanced with new functionality such as
multiline-matching and options for output more matching context. See the
ChangeLog for a complete list of changes to the library and the utility
programs.


Release 5.0 13-Sep-04
---------------------

The licence under which PCRE is released has been changed to the more
conventional "BSD" licence.

In the code, some bugs have been fixed, and there are also some major changes
in this release (which is why I've increased the number to 5.0). Some changes
are internal rearrangements, and some provide a number of new facilities. The
new features are:

1. There's an "automatic callout" feature that inserts callouts before every
   item in the regex, and there's a new callout field that gives the position
   in the pattern - useful for debugging and tracing.

2. The extra_data structure can now be used to pass in a set of character
   tables at exec time. This is useful if compiled regex are saved and re-used
   at a later time when the tables may not be at the same address. If the
   default internal tables are used, the pointer saved with the compiled
   pattern is now set to NULL, which means that you don't need to do anything
   special unless you are using custom tables.

3. It is possible, with some restrictions on the content of the regex, to
   request "partial" matching. A special return code is given if all of the
   subject string matched part of the regex. This could be useful for testing
   an input field as it is being typed.

4. There is now some optional support for Unicode character properties, which
   means that the patterns items such as \p{Lu} and \X can now be used. Only
   the general category properties are supported. If PCRE is compiled with this
   support, an additional 90K data structure is include, which increases the
   size of the library dramatically.

5. There is support for saving compiled patterns and re-using them later.

6. There is support for running regular expressions that were compiled on a
   different host with the opposite endianness.

7. The pcretest program has been extended to accommodate the new features.

The main internal rearrangement is that sequences of literal characters are no
longer handled as strings. Instead, each character is handled on its own. This
makes some UTF-8 handling easier, and makes the support of partial matching
possible. Compiled patterns containing long literal strings will be larger as a
result of this change; I hope that performance will not be much affected.


Release 4.5 01-Dec-03
---------------------

Again mainly a bug-fix and tidying release, with only a couple of new features:

1. It's possible now to compile PCRE so that it does not use recursive
function calls when matching. Instead it gets memory from the heap. This slows
things down, but may be necessary on systems with limited stacks.

2. UTF-8 string checking has been tightened to reject overlong sequences and to
check that a starting offset points to the start of a character. Failure of the
latter returns a new error code: PCRE_ERROR_BADUTF8_OFFSET.

3. PCRE can now be compiled for systems that use EBCDIC code.


Release 4.4 21-Aug-03
---------------------

This is mainly a bug-fix and tidying release. The only new feature is that PCRE
checks UTF-8 strings for validity by default. There is an option to suppress
this, just in case anybody wants that teeny extra bit of performance.


Releases 4.1 - 4.3
------------------

Sorry, I forgot about updating the NEWS file for these releases. Please take a
look at ChangeLog.


Release 4.0 17-Feb-03
---------------------

There have been a lot of changes for the 4.0 release, adding additional
functionality and mending bugs. Below is a list of the highlights of the new
functionality. For full details of these features, please consult the
documentation. For a complete list of changes, see the ChangeLog file.

1. Support for Perl's \Q...\E escapes.

2. "Possessive quantifiers" ?+, *+, ++, and {,}+ which come from Sun's Java
package. They provide some syntactic sugar for simple cases of "atomic
grouping".

3. Support for the \G assertion. It is true when the current matching position
is at the start point of the match.

4. A new feature that provides some of the functionality that Perl provides
with (?{...}). The facility is termed a "callout". The way it is done in PCRE
is for the caller to provide an optional function, by setting pcre_callout to
its entry point. To get the function called, the regex must include (?C) at
appropriate points.

5. Support for recursive calls to individual subpatterns. This makes it really
easy to get totally confused.

6. Support for named subpatterns. The Python syntax (?P<name>...) is used to
name a group.

7. Several extensions to UTF-8 support; it is now fairly complete. There is an
option for pcregrep to make it operate in UTF-8 mode.

8. The single man page has been split into a number of separate man pages.
These also give rise to individual HTML pages which are put in a separate
directory. There is an index.html page that lists them all. Some hyperlinking
between the pages has been installed.


Release 3.5 15-Aug-01
---------------------

1. The configuring system has been upgraded to use later versions of autoconf
and libtool. By default it builds both a shared and a static library if the OS
supports it. You can use --disable-shared or --disable-static on the configure
command if you want only one of them.

2. The pcretest utility is now installed along with pcregrep because it is
useful for users (to test regexs) and by doing this, it automatically gets
relinked by libtool. The documentation has been turned into a man page, so
there are now .1, .txt, and .html versions in /doc.

3. Upgrades to pcregrep:
   (i)   Added long-form option names like gnu grep.
   (ii)  Added --help to list all options with an explanatory phrase.
   (iii) Added -r, --recursive to recurse into sub-directories.
   (iv)  Added -f, --file to read patterns from a file.

4. Added --enable-newline-is-cr and --enable-newline-is-lf to the configure
script, to force use of CR or LF instead of \n in the source. On non-Unix
systems, the value can be set in config.h.

5. The limit of 200 on non-capturing parentheses is a _nesting_ limit, not an
absolute limit. Changed the text of the error message to make this clear, and
likewise updated the man page.

6. The limit of 99 on the number of capturing subpatterns has been removed.
The new limit is 65535, which I hope will not be a "real" limit.


Release 3.3 01-Aug-00
---------------------

There is some support for UTF-8 character strings. This is incomplete and
experimental. The documentation describes what is and what is not implemented.
Otherwise, this is just a bug-fixing release.


Release 3.0 01-Feb-00
---------------------

1. A "configure" script is now used to configure PCRE for Unix systems. It
builds a Makefile, a config.h file, and the pcre-config script.

2. PCRE is built as a shared library by default.

3. There is support for POSIX classes such as [:alpha:].

5. There is an experimental recursion feature.

----------------------------------------------------------------------------
          IMPORTANT FOR THOSE UPGRADING FROM VERSIONS BEFORE 2.00

Please note that there has been a change in the API such that a larger
ovector is required at matching time, to provide some additional workspace.
The new man page has details. This change was necessary in order to support
some of the new functionality in Perl 5.005.

          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.00

Another (I hope this is the last!) change has been made to the API for the
pcre_compile() function. An additional argument has been added to make it
possible to pass over a pointer to character tables built in the current
locale by pcre_maketables(). To use the default tables, this new arguement
should be passed as NULL.

          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05

Yet another (and again I hope this really is the last) change has been made
to the API for the pcre_exec() function. An additional argument has been
added to make it possible to start the match other than at the start of the
subject string. This is important if there are lookbehinds. The new man
page has the details, but you just want to convert existing programs, all
you need to do is to stick in a new fifth argument to pcre_exec(), with a
value of zero. For example, change

  pcre_exec(pattern, extra, subject, length, options, ovec, ovecsize)
to
  pcre_exec(pattern, extra, subject, length, 0, options, ovec, ovecsize)

****
share/doc/alt-pcre802/AUTHORS000064400000000623150405535540011433 0ustar00THE MAIN PCRE LIBRARY
---------------------

Written by:       Philip Hazel
Email local part: ph10
Email domain:     cam.ac.uk

University of Cambridge Computing Service,
Cambridge, England.

Copyright (c) 1997-2010 University of Cambridge
All rights reserved


THE C++ WRAPPER LIBRARY
-----------------------

Written by:       Google Inc.

Copyright (c) 2007-2010 Google Inc
All rights reserved

####
share/doc/alt-pcre802/COPYING000064400000000137150405535540011416 0ustar00PCRE LICENCE

Please see the file LICENCE in the PCRE distribution for licensing details.

End
share/doc/alt-pcre802/LICENCE000064400000004700150405535540011350 0ustar00PCRE LICENCE
------------

PCRE is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.

Release 8 of PCRE is distributed under the terms of the "BSD" licence, as
specified below. The documentation for PCRE, supplied in the "doc"
directory, is distributed under the same terms as the software itself.

The basic library functions are written in C and are freestanding. Also
included in the distribution is a set of C++ wrapper functions.


THE BASIC LIBRARY FUNCTIONS
---------------------------

Written by:       Philip Hazel
Email local part: ph10
Email domain:     cam.ac.uk

University of Cambridge Computing Service,
Cambridge, England.

Copyright (c) 1997-2010 University of Cambridge
All rights reserved.


THE C++ WRAPPER FUNCTIONS
-------------------------

Contributed by:   Google Inc.

Copyright (c) 2007-2010, Google Inc.
All rights reserved.


THE "BSD" LICENCE
-----------------

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    * Neither the name of the University of Cambridge nor the name of Google
      Inc. nor the names of their contributors may be used to endorse or
      promote products derived from this software without specific prior
      written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

End
share/doc/alt-pcre802/README000064400000106626150405535540011255 0ustar00README file for PCRE (Perl-compatible regular expression library)
-----------------------------------------------------------------

The latest release of PCRE is always available in three alternative formats
from:

  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz
  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.bz2
  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.zip

There is a mailing list for discussion about the development of PCRE at

  pcre-dev@exim.org

Please read the NEWS file if you are upgrading from a previous release.
The contents of this README file are:

  The PCRE APIs
  Documentation for PCRE
  Contributions by users of PCRE
  Building PCRE on non-Unix systems
  Building PCRE on Unix-like systems
  Retrieving configuration information on Unix-like systems
  Shared libraries on Unix-like systems
  Cross-compiling on Unix-like systems
  Using HP's ANSI C++ compiler (aCC)
  Using PCRE from MySQL
  Making new tarballs
  Testing PCRE
  Character tables
  File manifest


The PCRE APIs
-------------

PCRE is written in C, and it has its own API. The distribution also includes a
set of C++ wrapper functions (see the pcrecpp man page for details), courtesy
of Google Inc.

In addition, there is a set of C wrapper functions that are based on the POSIX
regular expression API (see the pcreposix man page). These end up in the
library called libpcreposix. Note that this just provides a POSIX calling
interface to PCRE; the regular expressions themselves still follow Perl syntax
and semantics. The POSIX API is restricted, and does not give full access to
all of PCRE's facilities.

The header file for the POSIX-style functions is called pcreposix.h. The
official POSIX name is regex.h, but I did not want to risk possible problems
with existing files of that name by distributing it that way. To use PCRE with
an existing program that uses the POSIX API, pcreposix.h will have to be
renamed or pointed at by a link.

If you are using the POSIX interface to PCRE and there is already a POSIX regex
library installed on your system, as well as worrying about the regex.h header
file (as mentioned above), you must also take care when linking programs to
ensure that they link with PCRE's libpcreposix library. Otherwise they may pick
up the POSIX functions of the same name from the other library.

One way of avoiding this confusion is to compile PCRE with the addition of
-Dregcomp=PCREregcomp (and similarly for the other POSIX functions) to the
compiler flags (CFLAGS if you are using "configure" -- see below). This has the
effect of renaming the functions so that the names no longer clash. Of course,
you have to do the same thing for your applications, or write them using the
new names.


Documentation for PCRE
----------------------

If you install PCRE in the normal way on a Unix-like system, you will end up
with a set of man pages whose names all start with "pcre". The one that is just
called "pcre" lists all the others. In addition to these man pages, the PCRE
documentation is supplied in two other forms:

  1. There are files called doc/pcre.txt, doc/pcregrep.txt, and
     doc/pcretest.txt in the source distribution. The first of these is a
     concatenation of the text forms of all the section 3 man pages except
     those that summarize individual functions. The other two are the text
     forms of the section 1 man pages for the pcregrep and pcretest commands.
     These text forms are provided for ease of scanning with text editors or
     similar tools. They are installed in <prefix>/share/doc/pcre, where
     <prefix> is the installation prefix (defaulting to /usr/local).

  2. A set of files containing all the documentation in HTML form, hyperlinked
     in various ways, and rooted in a file called index.html, is distributed in
     doc/html and installed in <prefix>/share/doc/pcre/html.

Users of PCRE have contributed files containing the documentation for various
releases in CHM format. These can be found in the Contrib directory of the FTP
site (see next section).


Contributions by users of PCRE
------------------------------

You can find contributions from PCRE users in the directory

  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib

There is a README file giving brief descriptions of what they are. Some are
complete in themselves; others are pointers to URLs containing relevant files.
Some of this material is likely to be well out-of-date. Several of the earlier
contributions provided support for compiling PCRE on various flavours of
Windows (I myself do not use Windows). Nowadays there is more Windows support
in the standard distribution, so these contibutions have been archived.


Building PCRE on non-Unix systems
---------------------------------

For a non-Unix system, please read the comments in the file NON-UNIX-USE,
though if your system supports the use of "configure" and "make" you may be
able to build PCRE in the same way as for Unix-like systems. PCRE can also be
configured in many platform environments using the GUI facility provided by
CMake's cmake-gui command. This creates Makefiles, solution files, etc.

PCRE has been compiled on many different operating systems. It should be
straightforward to build PCRE on any system that has a Standard C compiler and
library, because it uses only Standard C functions.


Building PCRE on Unix-like systems
----------------------------------

If you are using HP's ANSI C++ compiler (aCC), please see the special note
in the section entitled "Using HP's ANSI C++ compiler (aCC)" below.

The following instructions assume the use of the widely used "configure, make,
make install" process. There is also support for CMake in the PCRE
distribution; there are some comments about using CMake in the NON-UNIX-USE
file, though it can also be used in Unix-like systems.

To build PCRE on a Unix-like system, first run the "configure" command from the
PCRE distribution directory, with your current directory set to the directory
where you want the files to be created. This command is a standard GNU
"autoconf" configuration script, for which generic instructions are supplied in
the file INSTALL.

Most commonly, people build PCRE within its own distribution directory, and in
this case, on many systems, just running "./configure" is sufficient. However,
the usual methods of changing standard defaults are available. For example:

CFLAGS='-O2 -Wall' ./configure --prefix=/opt/local

specifies that the C compiler should be run with the flags '-O2 -Wall' instead
of the default, and that "make install" should install PCRE under /opt/local
instead of the default /usr/local.

If you want to build in a different directory, just run "configure" with that
directory as current. For example, suppose you have unpacked the PCRE source
into /source/pcre/pcre-xxx, but you want to build it in /build/pcre/pcre-xxx:

cd /build/pcre/pcre-xxx
/source/pcre/pcre-xxx/configure

PCRE is written in C and is normally compiled as a C library. However, it is
possible to build it as a C++ library, though the provided building apparatus
does not have any features to support this.

There are some optional features that can be included or omitted from the PCRE
library. You can read more about them in the pcrebuild man page.

. If you want to suppress the building of the C++ wrapper library, you can add
  --disable-cpp to the "configure" command. Otherwise, when "configure" is run,
  it will try to find a C++ compiler and C++ header files, and if it succeeds,
  it will try to build the C++ wrapper.

. If you want to make use of the support for UTF-8 Unicode character strings in
  PCRE, you must add --enable-utf8 to the "configure" command. Without it, the
  code for handling UTF-8 is not included in the library. Even when included,
  it still has to be enabled by an option at run time. When PCRE is compiled
  with this option, its input can only either be ASCII or UTF-8, even when
  running on EBCDIC platforms. It is not possible to use both --enable-utf8 and
  --enable-ebcdic at the same time.

. If, in addition to support for UTF-8 character strings, you want to include
  support for the \P, \p, and \X sequences that recognize Unicode character
  properties, you must add --enable-unicode-properties to the "configure"
  command. This adds about 30K to the size of the library (in the form of a
  property table); only the basic two-letter properties such as Lu are
  supported.

. You can build PCRE to recognize either CR or LF or the sequence CRLF or any
  of the preceding, or any of the Unicode newline sequences as indicating the
  end of a line. Whatever you specify at build time is the default; the caller
  of PCRE can change the selection at run time. The default newline indicator
  is a single LF character (the Unix standard). You can specify the default
  newline indicator by adding --enable-newline-is-cr or --enable-newline-is-lf
  or --enable-newline-is-crlf or --enable-newline-is-anycrlf or
  --enable-newline-is-any to the "configure" command, respectively.

  If you specify --enable-newline-is-cr or --enable-newline-is-crlf, some of
  the standard tests will fail, because the lines in the test files end with
  LF. Even if the files are edited to change the line endings, there are likely
  to be some failures. With --enable-newline-is-anycrlf or
  --enable-newline-is-any, many tests should succeed, but there may be some
  failures.

. By default, the sequence \R in a pattern matches any Unicode line ending
  sequence. This is independent of the option specifying what PCRE considers to
  be the end of a line (see above). However, the caller of PCRE can restrict \R
  to match only CR, LF, or CRLF. You can make this the default by adding
  --enable-bsr-anycrlf to the "configure" command (bsr = "backslash R").

. When called via the POSIX interface, PCRE uses malloc() to get additional
  storage for processing capturing parentheses if there are more than 10 of
  them in a pattern. You can increase this threshold by setting, for example,

  --with-posix-malloc-threshold=20

  on the "configure" command.

. PCRE has a counter that can be set to limit the amount of resources it uses.
  If the limit is exceeded during a match, the match fails. The default is ten
  million. You can change the default by setting, for example,

  --with-match-limit=500000

  on the "configure" command. This is just the default; individual calls to
  pcre_exec() can supply their own value. There is more discussion on the
  pcreapi man page.

. There is a separate counter that limits the depth of recursive function calls
  during a matching process. This also has a default of ten million, which is
  essentially "unlimited". You can change the default by setting, for example,

  --with-match-limit-recursion=500000

  Recursive function calls use up the runtime stack; running out of stack can
  cause programs to crash in strange ways. There is a discussion about stack
  sizes in the pcrestack man page.

. The default maximum compiled pattern size is around 64K. You can increase
  this by adding --with-link-size=3 to the "configure" command. You can
  increase it even more by setting --with-link-size=4, but this is unlikely
  ever to be necessary. Increasing the internal link size will reduce
  performance.

. You can build PCRE so that its internal match() function that is called from
  pcre_exec() does not call itself recursively. Instead, it uses memory blocks
  obtained from the heap via the special functions pcre_stack_malloc() and
  pcre_stack_free() to save data that would otherwise be saved on the stack. To
  build PCRE like this, use

  --disable-stack-for-recursion

  on the "configure" command. PCRE runs more slowly in this mode, but it may be
  necessary in environments with limited stack sizes. This applies only to the
  pcre_exec() function; it does not apply to pcre_dfa_exec(), which does not
  use deeply nested recursion. There is a discussion about stack sizes in the
  pcrestack man page.

. For speed, PCRE uses four tables for manipulating and identifying characters
  whose code point values are less than 256. By default, it uses a set of
  tables for ASCII encoding that is part of the distribution. If you specify

  --enable-rebuild-chartables

  a program called dftables is compiled and run in the default C locale when
  you obey "make". It builds a source file called pcre_chartables.c. If you do
  not specify this option, pcre_chartables.c is created as a copy of
  pcre_chartables.c.dist. See "Character tables" below for further information.

. It is possible to compile PCRE for use on systems that use EBCDIC as their
  character code (as opposed to ASCII) by specifying

  --enable-ebcdic

  This automatically implies --enable-rebuild-chartables (see above). However,
  when PCRE is built this way, it always operates in EBCDIC. It cannot support
  both EBCDIC and UTF-8.

. It is possible to compile pcregrep to use libz and/or libbz2, in order to
  read .gz and .bz2 files (respectively), by specifying one or both of

  --enable-pcregrep-libz
  --enable-pcregrep-libbz2

  Of course, the relevant libraries must be installed on your system.

. It is possible to compile pcretest so that it links with the libreadline
  library, by specifying

  --enable-pcretest-libreadline

  If this is done, when pcretest's input is from a terminal, it reads it using
  the readline() function. This provides line-editing and history facilities.
  Note that libreadline is GPL-licenced, so if you distribute a binary of
  pcretest linked in this way, there may be licensing issues.

  Setting this option causes the -lreadline option to be added to the pcretest
  build. In many operating environments with a sytem-installed readline
  library this is sufficient. However, in some environments (e.g. if an
  unmodified distribution version of readline is in use), it may be necessary
  to specify something like LIBS="-lncurses" as well. This is because, to quote
  the readline INSTALL, "Readline uses the termcap functions, but does not link
  with the termcap or curses library itself, allowing applications which link
  with readline the to choose an appropriate library." If you get error
  messages about missing functions tgetstr, tgetent, tputs, tgetflag, or tgoto,
  this is the problem, and linking with the ncurses library should fix it.

The "configure" script builds the following files for the basic C library:

. Makefile is the makefile that builds the library
. config.h contains build-time configuration options for the library
. pcre.h is the public PCRE header file
. pcre-config is a script that shows the settings of "configure" options
. libpcre.pc is data for the pkg-config command
. libtool is a script that builds shared and/or static libraries
. RunTest is a script for running tests on the basic C library
. RunGrepTest is a script for running tests on the pcregrep command

Versions of config.h and pcre.h are distributed in the PCRE tarballs under the
names config.h.generic and pcre.h.generic. These are provided for those who
have to built PCRE without using "configure" or CMake. If you use "configure"
or CMake, the .generic versions are not used.

If a C++ compiler is found, the following files are also built:

. libpcrecpp.pc is data for the pkg-config command
. pcrecpparg.h is a header file for programs that call PCRE via the C++ wrapper
. pcre_stringpiece.h is the header for the C++ "stringpiece" functions

The "configure" script also creates config.status, which is an executable
script that can be run to recreate the configuration, and config.log, which
contains compiler output from tests that "configure" runs.

Once "configure" has run, you can run "make". It builds two libraries, called
libpcre and libpcreposix, a test program called pcretest, and the pcregrep
command. If a C++ compiler was found on your system, "make" also builds the C++
wrapper library, which is called libpcrecpp, and some test programs called
pcrecpp_unittest, pcre_scanner_unittest, and pcre_stringpiece_unittest.
Building the C++ wrapper can be disabled by adding --disable-cpp to the
"configure" command.

The command "make check" runs all the appropriate tests. Details of the PCRE
tests are given below in a separate section of this document.

You can use "make install" to install PCRE into live directories on your
system. The following are installed (file names are all relative to the
<prefix> that is set when "configure" is run):

  Commands (bin):
    pcretest
    pcregrep
    pcre-config

  Libraries (lib):
    libpcre
    libpcreposix
    libpcrecpp (if C++ support is enabled)

  Configuration information (lib/pkgconfig):
    libpcre.pc
    libpcrecpp.pc (if C++ support is enabled)

  Header files (include):
    pcre.h
    pcreposix.h
    pcre_scanner.h      )
    pcre_stringpiece.h  ) if C++ support is enabled
    pcrecpp.h           )
    pcrecpparg.h        )

  Man pages (share/man/man{1,3}):
    pcregrep.1
    pcretest.1
    pcre.3
    pcre*.3 (lots more pages, all starting "pcre")

  HTML documentation (share/doc/pcre/html):
    index.html
    *.html (lots more pages, hyperlinked from index.html)

  Text file documentation (share/doc/pcre):
    AUTHORS
    COPYING
    ChangeLog
    LICENCE
    NEWS
    README
    pcre.txt       (a concatenation of the man(3) pages)
    pcretest.txt   the pcretest man page
    pcregrep.txt   the pcregrep man page

If you want to remove PCRE from your system, you can run "make uninstall".
This removes all the files that "make install" installed. However, it does not
remove any directories, because these are often shared with other programs.


Retrieving configuration information on Unix-like systems
---------------------------------------------------------

Running "make install" installs the command pcre-config, which can be used to
recall information about the PCRE configuration and installation. For example:

  pcre-config --version

prints the version number, and

  pcre-config --libs

outputs information about where the library is installed. This command can be
included in makefiles for programs that use PCRE, saving the programmer from
having to remember too many details.

The pkg-config command is another system for saving and retrieving information
about installed libraries. Instead of separate commands for each library, a
single command is used. For example:

  pkg-config --cflags pcre

The data is held in *.pc files that are installed in a directory called
<prefix>/lib/pkgconfig.


Shared libraries on Unix-like systems
-------------------------------------

The default distribution builds PCRE as shared libraries and static libraries,
as long as the operating system supports shared libraries. Shared library
support relies on the "libtool" script which is built as part of the
"configure" process.

The libtool script is used to compile and link both shared and static
libraries. They are placed in a subdirectory called .libs when they are newly
built. The programs pcretest and pcregrep are built to use these uninstalled
libraries (by means of wrapper scripts in the case of shared libraries). When
you use "make install" to install shared libraries, pcregrep and pcretest are
automatically re-built to use the newly installed shared libraries before being
installed themselves. However, the versions left in the build directory still
use the uninstalled libraries.

To build PCRE using static libraries only you must use --disable-shared when
configuring it. For example:

./configure --prefix=/usr/gnu --disable-shared

Then run "make" in the usual way. Similarly, you can use --disable-static to
build only shared libraries.


Cross-compiling on Unix-like systems
------------------------------------

You can specify CC and CFLAGS in the normal way to the "configure" command, in
order to cross-compile PCRE for some other host. However, you should NOT
specify --enable-rebuild-chartables, because if you do, the dftables.c source
file is compiled and run on the local host, in order to generate the inbuilt
character tables (the pcre_chartables.c file). This will probably not work,
because dftables.c needs to be compiled with the local compiler, not the cross
compiler.

When --enable-rebuild-chartables is not specified, pcre_chartables.c is created
by making a copy of pcre_chartables.c.dist, which is a default set of tables
that assumes ASCII code. Cross-compiling with the default tables should not be
a problem.

If you need to modify the character tables when cross-compiling, you should
move pcre_chartables.c.dist out of the way, then compile dftables.c by hand and
run it on the local host to make a new version of pcre_chartables.c.dist.
Then when you cross-compile PCRE this new version of the tables will be used.


Using HP's ANSI C++ compiler (aCC)
----------------------------------

Unless C++ support is disabled by specifying the "--disable-cpp" option of the
"configure" script, you must include the "-AA" option in the CXXFLAGS
environment variable in order for the C++ components to compile correctly.

Also, note that the aCC compiler on PA-RISC platforms may have a defect whereby
needed libraries fail to get included when specifying the "-AA" compiler
option. If you experience unresolved symbols when linking the C++ programs,
use the workaround of specifying the following environment variable prior to
running the "configure" script:

  CXXLDFLAGS="-lstd_v2 -lCsup_v2"


Using Sun's compilers for Solaris
---------------------------------

A user reports that the following configurations work on Solaris 9 sparcv9 and
Solaris 9 x86 (32-bit):

  Solaris 9 sparcv9: ./configure --disable-cpp CC=/bin/cc CFLAGS="-m64 -g"
  Solaris 9 x86:     ./configure --disable-cpp CC=/bin/cc CFLAGS="-g"


Using PCRE from MySQL
---------------------

On systems where both PCRE and MySQL are installed, it is possible to make use
of PCRE from within MySQL, as an alternative to the built-in pattern matching.
There is a web page that tells you how to do this:

  http://www.mysqludf.org/lib_mysqludf_preg/index.php


Making new tarballs
-------------------

The command "make dist" creates three PCRE tarballs, in tar.gz, tar.bz2, and
zip formats. The command "make distcheck" does the same, but then does a trial
build of the new distribution to ensure that it works.

If you have modified any of the man page sources in the doc directory, you
should first run the PrepareRelease script before making a distribution. This
script creates the .txt and HTML forms of the documentation from the man pages.


Testing PCRE
------------

To test the basic PCRE library on a Unix system, run the RunTest script that is
created by the configuring process. There is also a script called RunGrepTest
that tests the options of the pcregrep command. If the C++ wrapper library is
built, three test programs called pcrecpp_unittest, pcre_scanner_unittest, and
pcre_stringpiece_unittest are also built.

Both the scripts and all the program tests are run if you obey "make check" or
"make test". For other systems, see the instructions in NON-UNIX-USE.

The RunTest script runs the pcretest test program (which is documented in its
own man page) on each of the testinput files in the testdata directory in
turn, and compares the output with the contents of the corresponding testoutput
files. A file called testtry is used to hold the main output from pcretest
(testsavedregex is also used as a working file). To run pcretest on just one of
the test files, give its number as an argument to RunTest, for example:

  RunTest 2

The first test file can also be fed directly into the perltest.pl script to
check that Perl gives the same results. The only difference you should see is
in the first few lines, where the Perl version is given instead of the PCRE
version.

The second set of tests check pcre_fullinfo(), pcre_info(), pcre_study(),
pcre_copy_substring(), pcre_get_substring(), pcre_get_substring_list(), error
detection, and run-time flags that are specific to PCRE, as well as the POSIX
wrapper API. It also uses the debugging flags to check some of the internals of
pcre_compile().

If you build PCRE with a locale setting that is not the standard C locale, the
character tables may be different (see next paragraph). In some cases, this may
cause failures in the second set of tests. For example, in a locale where the
isprint() function yields TRUE for characters in the range 128-255, the use of
[:isascii:] inside a character class defines a different set of characters, and
this shows up in this test as a difference in the compiled code, which is being
listed for checking. Where the comparison test output contains [\x00-\x7f] the
test will contain [\x00-\xff], and similarly in some other cases. This is not a
bug in PCRE.

The third set of tests checks pcre_maketables(), the facility for building a
set of character tables for a specific locale and using them instead of the
default tables. The tests make use of the "fr_FR" (French) locale. Before
running the test, the script checks for the presence of this locale by running
the "locale" command. If that command fails, or if it doesn't include "fr_FR"
in the list of available locales, the third test cannot be run, and a comment
is output to say why. If running this test produces instances of the error

  ** Failed to set locale "fr_FR"

in the comparison output, it means that locale is not available on your system,
despite being listed by "locale". This does not mean that PCRE is broken.

[If you are trying to run this test on Windows, you may be able to get it to
work by changing "fr_FR" to "french" everywhere it occurs. Alternatively, use
RunTest.bat. The version of RunTest.bat included with PCRE 7.4 and above uses
Windows versions of test 2. More info on using RunTest.bat is included in the
document entitled NON-UNIX-USE.]

The fourth test checks the UTF-8 support. It is not run automatically unless
PCRE is built with UTF-8 support. To do this you must set --enable-utf8 when
running "configure". This file can be also fed directly to the perltest.pl
script, provided you are running Perl 5.8 or higher.

The fifth test checks error handling with UTF-8 encoding, and internal UTF-8
features of PCRE that are not relevant to Perl.

The sixth test (which is Perl-5.10 compatible) checks the support for Unicode
character properties. It it not run automatically unless PCRE is built with
Unicode property support. To to this you must set --enable-unicode-properties
when running "configure".

The seventh, eighth, and ninth tests check the pcre_dfa_exec() alternative
matching function, in non-UTF-8 mode, UTF-8 mode, and UTF-8 mode with Unicode
property support, respectively. The eighth and ninth tests are not run
automatically unless PCRE is build with the relevant support.

The tenth test checks some internal offsets and code size features; it is run
only when the default "link size" of 2 is set (in other cases the sizes
change).

The eleventh test checks out features that are new in Perl 5.10, and the
twelfth test checks a number internals and non-Perl features concerned with
Unicode property support. It it not run automatically unless PCRE is built with
Unicode property support. To to this you must set --enable-unicode-properties
when running "configure".


Character tables
----------------

For speed, PCRE uses four tables for manipulating and identifying characters
whose code point values are less than 256. The final argument of the
pcre_compile() function is a pointer to a block of memory containing the
concatenated tables. A call to pcre_maketables() can be used to generate a set
of tables in the current locale. If the final argument for pcre_compile() is
passed as NULL, a set of default tables that is built into the binary is used.

The source file called pcre_chartables.c contains the default set of tables. By
default, this is created as a copy of pcre_chartables.c.dist, which contains
tables for ASCII coding. However, if --enable-rebuild-chartables is specified
for ./configure, a different version of pcre_chartables.c is built by the
program dftables (compiled from dftables.c), which uses the ANSI C character
handling functions such as isalnum(), isalpha(), isupper(), islower(), etc. to
build the table sources. This means that the default C locale which is set for
your system will control the contents of these default tables. You can change
the default tables by editing pcre_chartables.c and then re-building PCRE. If
you do this, you should take care to ensure that the file does not get
automatically re-generated. The best way to do this is to move
pcre_chartables.c.dist out of the way and replace it with your customized
tables.

When the dftables program is run as a result of --enable-rebuild-chartables,
it uses the default C locale that is set on your system. It does not pay
attention to the LC_xxx environment variables. In other words, it uses the
system's default locale rather than whatever the compiling user happens to have
set. If you really do want to build a source set of character tables in a
locale that is specified by the LC_xxx variables, you can run the dftables
program by hand with the -L option. For example:

  ./dftables -L pcre_chartables.c.special

The first two 256-byte tables provide lower casing and case flipping functions,
respectively. The next table consists of three 32-byte bit maps which identify
digits, "word" characters, and white space, respectively. These are used when
building 32-byte bit maps that represent character classes for code points less
than 256.

The final 256-byte table has bits indicating various character types, as
follows:

    1   white space character
    2   letter
    4   decimal digit
    8   hexadecimal digit
   16   alphanumeric or '_'
  128   regular expression metacharacter or binary zero

You should not alter the set of characters that contain the 128 bit, as that
will cause PCRE to malfunction.


File manifest
-------------

The distribution should contain the following files:

(A) Source files of the PCRE library functions and their headers:

  dftables.c              auxiliary program for building pcre_chartables.c
                            when --enable-rebuild-chartables is specified

  pcre_chartables.c.dist  a default set of character tables that assume ASCII
                            coding; used, unless --enable-rebuild-chartables is
                            specified, by copying to pcre_chartables.c

  pcreposix.c             )
  pcre_compile.c          )
  pcre_config.c           )
  pcre_dfa_exec.c         )
  pcre_exec.c             )
  pcre_fullinfo.c         )
  pcre_get.c              ) sources for the functions in the library,
  pcre_globals.c          )   and some internal functions that they use
  pcre_info.c             )
  pcre_maketables.c       )
  pcre_newline.c          )
  pcre_ord2utf8.c         )
  pcre_refcount.c         )
  pcre_study.c            )
  pcre_tables.c           )
  pcre_try_flipped.c      )
  pcre_ucd.c              )
  pcre_valid_utf8.c       )
  pcre_version.c          )
  pcre_xclass.c           )
  pcre_printint.src       ) debugging function that is #included in pcretest,
                          )   and can also be #included in pcre_compile()
  pcre.h.in               template for pcre.h when built by "configure"
  pcreposix.h             header for the external POSIX wrapper API
  pcre_internal.h         header for internal use
  ucp.h                   header for Unicode property handling

  config.h.in             template for config.h, which is built by "configure"

  pcrecpp.h               public header file for the C++ wrapper
  pcrecpparg.h.in         template for another C++ header file
  pcre_scanner.h          public header file for C++ scanner functions
  pcrecpp.cc              )
  pcre_scanner.cc         ) source for the C++ wrapper library

  pcre_stringpiece.h.in   template for pcre_stringpiece.h, the header for the
                            C++ stringpiece functions
  pcre_stringpiece.cc     source for the C++ stringpiece functions

(B) Source files for programs that use PCRE:

  pcredemo.c              simple demonstration of coding calls to PCRE
  pcregrep.c              source of a grep utility that uses PCRE
  pcretest.c              comprehensive test program

(C) Auxiliary files:

  132html                 script to turn "man" pages into HTML
  AUTHORS                 information about the author of PCRE
  ChangeLog               log of changes to the code
  CleanTxt                script to clean nroff output for txt man pages
  Detrail                 script to remove trailing spaces
  HACKING                 some notes about the internals of PCRE
  INSTALL                 generic installation instructions
  LICENCE                 conditions for the use of PCRE
  COPYING                 the same, using GNU's standard name
  Makefile.in             ) template for Unix Makefile, which is built by
                          )   "configure"
  Makefile.am             ) the automake input that was used to create
                          )   Makefile.in
  NEWS                    important changes in this release
  NON-UNIX-USE            notes on building PCRE on non-Unix systems
  PrepareRelease          script to make preparations for "make dist"
  README                  this file
  RunTest                 a Unix shell script for running tests
  RunGrepTest             a Unix shell script for pcregrep tests
  aclocal.m4              m4 macros (generated by "aclocal")
  config.guess            ) files used by libtool,
  config.sub              )   used only when building a shared library
  configure               a configuring shell script (built by autoconf)
  configure.ac            ) the autoconf input that was used to build
                          )   "configure" and config.h
  depcomp                 ) script to find program dependencies, generated by
                          )   automake
  doc/*.3                 man page sources for PCRE
  doc/*.1                 man page sources for pcregrep and pcretest
  doc/index.html.src      the base HTML page
  doc/html/*              HTML documentation
  doc/pcre.txt            plain text version of the man pages
  doc/pcretest.txt        plain text documentation of test program
  doc/perltest.txt        plain text documentation of Perl test program
  install-sh              a shell script for installing files
  libpcre.pc.in           template for libpcre.pc for pkg-config
  libpcreposix.pc.in      template for libpcreposix.pc for pkg-config
  libpcrecpp.pc.in        template for libpcrecpp.pc for pkg-config
  ltmain.sh               file used to build a libtool script
  missing                 ) common stub for a few missing GNU programs while
                          )   installing, generated by automake
  mkinstalldirs           script for making install directories
  perltest.pl             Perl test program
  pcre-config.in          source of script which retains PCRE information
  pcrecpp_unittest.cc          )
  pcre_scanner_unittest.cc     ) test programs for the C++ wrapper
  pcre_stringpiece_unittest.cc )
  testdata/testinput*     test data for main library tests
  testdata/testoutput*    expected test results
  testdata/grep*          input and output for pcregrep tests

(D) Auxiliary files for cmake support

  cmake/COPYING-CMAKE-SCRIPTS
  cmake/FindPackageHandleStandardArgs.cmake
  cmake/FindReadline.cmake
  CMakeLists.txt
  config-cmake.h.in

(E) Auxiliary files for VPASCAL

  makevp.bat
  makevp_c.txt
  makevp_l.txt
  pcregexp.pas

(F) Auxiliary files for building PCRE "by hand"

  pcre.h.generic          ) a version of the public PCRE header file
                          )   for use in non-"configure" environments
  config.h.generic        ) a version of config.h for use in non-"configure"
                          )   environments

(F) Miscellaneous

  RunTest.bat            a script for running tests under Windows

Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
Last updated: 19 January 2010
share/doc/alt-pcre802-devel/pcre-config.txt000064400000004172150405535540014420 0ustar00PCRE-CONFIG(1)                                                  PCRE-CONFIG(1)



NAME
       pcre-config - program to return PCRE configuration

SYNOPSIS

       pcre-config [--prefix] [--exec-prefix] [--version] [--libs]
            [--libs-posix] [--cflags] [--cflags-posix]


DESCRIPTION

       pcre-config  returns  the configuration of the installed PCRE libraries
       and the options required to compile a program to use them.


OPTIONS

       --prefix  Writes the directory prefix used in the PCRE installation for
                 architecture   independent   files  (/usr  on  many  systems,
                 /usr/local on some systems) to the standard output.

       --exec-prefix
                 Writes the directory prefix used in the PCRE installation for
                 architecture  dependent files (normally the same as --prefix)
                 to the standard output.

       --version Writes the version number of the installed PCRE libraries  to
                 the standard output.

       --libs    Writes  to  the  standard  output  the  command  line options
                 required to link with PCRE (-lpcre on many systems).

       --libs-posix
                 Writes to  the  standard  output  the  command  line  options
                 required  to  link  with  the  PCRE  posix  emulation library
                 (-lpcreposix -lpcre on many systems).

       --cflags  Writes to  the  standard  output  the  command  line  options
                 required  to  compile  files  that use PCRE (this may include
                 some -I options, but is blank on many systems).

       --cflags-posix
                 Writes to  the  standard  output  the  command  line  options
                 required  to  compile files that use the PCRE posix emulation
                 library (this may include some -I options, but  is  blank  on
                 many systems).


SEE ALSO

       pcre(3)


AUTHOR

       This  manual  page  was originally written by Mark Baker for the Debian
       GNU/Linux system. It has been slightly revised as a  generic  PCRE  man
       page.


REVISION

       Last updated: 18 April 2007
share/doc/alt-pcre802-devel/pcregrep.txt000064400000070333150405535540014035 0ustar00PCREGREP(1)                                                        PCREGREP(1)


NAME
       pcregrep - a grep with Perl-compatible regular expressions.


SYNOPSIS
       pcregrep [options] [long options] [pattern] [path1 path2 ...]


DESCRIPTION

       pcregrep  searches  files  for  character  patterns, in the same way as
       other grep commands do, but it uses the PCRE regular expression library
       to support patterns that are compatible with the regular expressions of
       Perl 5. See pcrepattern(3) for a full description of syntax and  seman-
       tics of the regular expressions that PCRE supports.

       Patterns,  whether  supplied on the command line or in a separate file,
       are given without delimiters. For example:

         pcregrep Thursday /etc/motd

       If you attempt to use delimiters (for example, by surrounding a pattern
       with  slashes,  as  is common in Perl scripts), they are interpreted as
       part of the pattern. Quotes can of course be used to  delimit  patterns
       on  the  command  line  because  they are interpreted by the shell, and
       indeed they are required if a pattern contains  white  space  or  shell
       metacharacters.

       The  first  argument that follows any option settings is treated as the
       single pattern to be matched when neither -e nor -f is  present.   Con-
       versely,  when  one  or  both of these options are used to specify pat-
       terns, all arguments are treated as path names. At least one of -e, -f,
       or an argument pattern must be provided.

       If no files are specified, pcregrep reads the standard input. The stan-
       dard input can also be referenced by a  name  consisting  of  a  single
       hyphen.  For example:

         pcregrep some-pattern /file1 - /file3

       By  default, each line that matches a pattern is copied to the standard
       output, and if there is more than one file, the file name is output  at
       the start of each line, followed by a colon. However, there are options
       that can change how pcregrep behaves.  In  particular,  the  -M  option
       makes  it  possible  to  search for patterns that span line boundaries.
       What defines a line  boundary  is  controlled  by  the  -N  (--newline)
       option.

       Patterns  are  limited  to  8K  or  BUFSIZ characters, whichever is the
       greater.  BUFSIZ is defined in <stdio.h>. When there is more  than  one
       pattern (specified by the use of -e and/or -f), each pattern is applied
       to each line in the order in which they are defined,  except  that  all
       the -e patterns are tried before the -f patterns.

       By  default,  as soon as one pattern matches (or fails to match when -v
       is used), no further patterns are considered. However, if --colour  (or
       --color) is used to colour the matching substrings, or if --only-match-
       ing, --file-offsets, or --line-offsets is used to output only the  part
       of  the  line  that  matched (either shown literally, or as an offset),
       scanning resumes immediately  following  the  match,  so  that  further
       matches  on the same line can be found. If there are multiple patterns,
       they are all tried on the remainder of the line, but patterns that fol-
       low the one that matched are not tried on the earlier part of the line.

       This is the same behaviour as GNU grep, but it does mean that the order
       in which multiple patterns are specified can affect the output when one
       of the above options is used.

       Patterns  that can match an empty string are accepted, but empty string
       matches   are   never   recognized.   An   example   is   the   pattern
       "(super)?(man)?",  in  which  all components are optional. This pattern
       finds all occurrences of both "super" and  "man";  the  output  differs
       from  matching  with  "super|man" when only the matching substrings are
       being shown.

       If the LC_ALL or LC_CTYPE environment variable is  set,  pcregrep  uses
       the  value to set a locale when calling the PCRE library.  The --locale
       option can be used to override this.


SUPPORT FOR COMPRESSED FILES

       It is possible to compile pcregrep so that it uses libz  or  libbz2  to
       read  files  whose names end in .gz or .bz2, respectively. You can find
       out whether your binary has support for one or both of these file types
       by running it with the --help option. If the appropriate support is not
       present, files are treated as plain text. The standard input is  always
       so treated.


OPTIONS

       The  order  in  which some of the options appear can affect the output.
       For example, both the -h and -l options affect  the  printing  of  file
       names.  Whichever  comes later in the command line will be the one that
       takes effect.

       --        This terminate the list of options. It is useful if the  next
                 item  on  the command line starts with a hyphen but is not an
                 option. This allows for the processing of patterns and  file-
                 names that start with hyphens.

       -A number, --after-context=number
                 Output  number  lines of context after each matching line. If
                 filenames and/or line numbers are being output, a hyphen sep-
                 arator  is  used  instead of a colon for the context lines. A
                 line containing "--" is output between each group  of  lines,
                 unless  they  are  in  fact contiguous in the input file. The
                 value of number is expected to be relatively small.  However,
                 pcregrep guarantees to have up to 8K of following text avail-
                 able for context output.

       -B number, --before-context=number
                 Output number lines of context before each matching line.  If
                 filenames and/or line numbers are being output, a hyphen sep-
                 arator is used instead of a colon for the  context  lines.  A
                 line  containing  "--" is output between each group of lines,
                 unless they are in fact contiguous in  the  input  file.  The
                 value  of number is expected to be relatively small. However,
                 pcregrep guarantees to have up to 8K of preceding text avail-
                 able for context output.

       -C number, --context=number
                 Output  number  lines  of  context both before and after each
                 matching line.  This is equivalent to setting both -A and  -B
                 to the same value.

       -c, --count
                 Do  not output individual lines from the files that are being
                 scanned; instead output the number of lines that would other-
                 wise  have  been  shown. If no lines are selected, the number
                 zero is output. If several files are  are  being  scanned,  a
                 count  is  output  for each of them. However, if the --files-
                 with-matches option is also  used,  only  those  files  whose
                 counts are greater than zero are listed. When -c is used, the
                 -A, -B, and -C options are ignored.

       --colour, --color
                 If this option is given without any data, it is equivalent to
                 "--colour=auto".   If  data  is required, it must be given in
                 the same shell item, separated by an equals sign.

       --colour=value, --color=value
                 This option specifies under what circumstances the parts of a
                 line that matched a pattern should be coloured in the output.
                 By default, the output is not coloured. The value  (which  is
                 optional,  see above) may be "never", "always", or "auto". In
                 the latter case, colouring happens only if the standard  out-
                 put  is connected to a terminal. More resources are used when
                 colouring is enabled, because pcregrep has to search for  all
                 possible  matches in a line, not just one, in order to colour
                 them all.

                 The colour that is used can be specified by setting the envi-
                 ronment variable PCREGREP_COLOUR or PCREGREP_COLOR. The value
                 of this variable should be a string of two numbers, separated
                 by  a  semicolon.  They  are copied directly into the control
                 string for setting colour  on  a  terminal,  so  it  is  your
                 responsibility  to ensure that they make sense. If neither of
                 the environment variables is  set,  the  default  is  "1;31",
                 which gives red.

       -D action, --devices=action
                 If  an  input  path  is  not  a  regular file or a directory,
                 "action" specifies how it is to be  processed.  Valid  values
                 are "read" (the default) or "skip" (silently skip the path).

       -d action, --directories=action
                 If an input path is a directory, "action" specifies how it is
                 to be processed.  Valid  values  are  "read"  (the  default),
                 "recurse"  (equivalent to the -r option), or "skip" (silently
                 skip the path). In the default case, directories are read  as
                 if  they  were  ordinary files. In some operating systems the
                 effect of reading a directory like this is an immediate  end-
                 of-file.

       -e pattern, --regex=pattern, --regexp=pattern
                 Specify a pattern to be matched. This option can be used mul-
                 tiple times in order to specify several patterns. It can also
                 be  used  as a way of specifying a single pattern that starts
                 with a hyphen. When -e is used, no argument pattern is  taken
                 from  the  command  line;  all  arguments are treated as file
                 names. There is an overall maximum of 100 patterns. They  are
                 applied  to  each line in the order in which they are defined
                 until one matches (or fails to match if -v is used). If -f is
                 used  with  -e,  the command line patterns are matched first,
                 followed by the patterns from the file,  independent  of  the
                 order  in which these options are specified. Note that multi-
                 ple use of -e is not the same as a single pattern with alter-
                 natives. For example, X|Y finds the first character in a line
                 that is X or Y, whereas if the two patterns are  given  sepa-
                 rately, pcregrep finds X if it is present, even if it follows
                 Y in the line. It finds Y only if there is no X in the  line.
                 This  really  matters  only  if  you are using -o to show the
                 part(s) of the line that matched.

       --exclude=pattern
                 When pcregrep is searching the files in a directory as a con-
                 sequence  of  the  -r  (recursive search) option, any regular
                 files whose names match the pattern are excluded. Subdirecto-
                 ries  are  not  excluded  by  this  option; they are searched
                 recursively, subject to the --exclude_dir  and  --include_dir
                 options.  The  pattern  is  a PCRE regular expression, and is
                 matched against the final component of the file name (not the
                 entire  path).  If  a  file  name  matches both --include and
                 --exclude, it is excluded.  There is no short form  for  this
                 option.

       --exclude_dir=pattern
                 When  pcregrep  is searching the contents of a directory as a
                 consequence of the -r (recursive search) option,  any  subdi-
                 rectories  whose  names match the pattern are excluded. (Note
                 that the --exclude option does  not  affect  subdirectories.)
                 The  pattern  is  a  PCRE  regular expression, and is matched
                 against the final component  of  the  name  (not  the  entire
                 path).  If a subdirectory name matches both --include_dir and
                 --exclude_dir, it is excluded. There is  no  short  form  for
                 this option.

       -F, --fixed-strings
                 Interpret  each pattern as a list of fixed strings, separated
                 by newlines, instead of  as  a  regular  expression.  The  -w
                 (match  as  a  word) and -x (match whole line) options can be
                 used with -F. They apply to each of the fixed strings. A line
                 is selected if any of the fixed strings are found in it (sub-
                 ject to -w or -x, if present).

       -f filename, --file=filename
                 Read a number of patterns from the file, one  per  line,  and
                 match  them against each line of input. A data line is output
                 if any of the patterns match it. The filename can be given as
                 "-" to refer to the standard input. When -f is used, patterns
                 specified on the command line using -e may also  be  present;
                 they are tested before the file's patterns. However, no other
                 pattern is taken from the command  line;  all  arguments  are
                 treated  as  file  names.  There is an overall maximum of 100
                 patterns. Trailing white space is removed from each line, and
                 blank  lines  are ignored. An empty file contains no patterns
                 and therefore matches nothing. See also  the  comments  about
                 multiple  patterns  versus a single pattern with alternatives
                 in the description of -e above.

       --file-offsets
                 Instead of showing lines or parts of lines that  match,  show
                 each  match  as  an  offset  from the start of the file and a
                 length, separated by a comma. In this  mode,  no  context  is
                 shown.  That  is,  the -A, -B, and -C options are ignored. If
                 there is more than one match in a line, each of them is shown
                 separately.  This  option  is mutually exclusive with --line-
                 offsets and --only-matching.

       -H, --with-filename
                 Force the inclusion of the filename at the  start  of  output
                 lines  when searching a single file. By default, the filename
                 is not shown in this case. For matching lines,  the  filename
                 is followed by a colon; for context lines, a hyphen separator
                 is used. If a line number is also being  output,  it  follows
                 the file name.

       -h, --no-filename
                 Suppress  the output filenames when searching multiple files.
                 By default, filenames  are  shown  when  multiple  files  are
                 searched.  For  matching lines, the filename is followed by a
                 colon; for context lines, a hyphen separator is used.   If  a
                 line number is also being output, it follows the file name.

       --help    Output  a  help  message, giving brief details of the command
                 options and file type support, and then exit.

       -i, --ignore-case
                 Ignore upper/lower case distinctions during comparisons.

       --include=pattern
                 When pcregrep is searching the files in a directory as a con-
                 sequence of the -r (recursive search) option, only those reg-
                 ular files whose names match the pattern are included. Subdi-
                 rectories  are always included and searched recursively, sub-
                 ject to the --include_dir and --exclude_dir options. The pat-
                 tern is a PCRE regular expression, and is matched against the
                 final component of the file name (not the entire path). If  a
                 file  name  matches  both  --include  and  --exclude,  it  is
                 excluded. There is no short form for this option.

       --include_dir=pattern
                 When pcregrep is searching the contents of a directory  as  a
                 consequence  of  the -r (recursive search) option, only those
                 subdirectories whose names match the  pattern  are  included.
                 (Note  that  the --include option does not affect subdirecto-
                 ries.) The pattern is  a  PCRE  regular  expression,  and  is
                 matched  against  the  final  component  of the name (not the
                 entire  path).  If   a   subdirectory   name   matches   both
                 --include_dir  and --exclude_dir, it is excluded. There is no
                 short form for this option.

       -L, --files-without-match
                 Instead of outputting lines from the files, just  output  the
                 names  of  the files that do not contain any lines that would
                 have been output. Each file name is output once, on  a  sepa-
                 rate line.

       -l, --files-with-matches
                 Instead  of  outputting lines from the files, just output the
                 names of the files containing lines that would have been out-
                 put.  Each  file  name  is  output  once, on a separate line.
                 Searching normally stops as soon as a matching line is  found
                 in  a  file.  However, if the -c (count) option is also used,
                 matching continues in order to obtain the correct count,  and
                 those  files  that  have  at least one match are listed along
                 with their counts. Using this option with -c is a way of sup-
                 pressing the listing of files with no matches.

       --label=name
                 This option supplies a name to be used for the standard input
                 when file names are being output. If not supplied, "(standard
                 input)" is used. There is no short form for this option.

       --line-offsets
                 Instead  of  showing lines or parts of lines that match, show
                 each match as a line number, the offset from the start of the
                 line,  and a length. The line number is terminated by a colon
                 (as usual; see the -n option), and the offset and length  are
                 separated  by  a  comma.  In  this mode, no context is shown.
                 That is, the -A, -B, and -C options are ignored. If there  is
                 more  than  one  match in a line, each of them is shown sepa-
                 rately. This option is mutually exclusive with --file-offsets
                 and --only-matching.

       --locale=locale-name
                 This  option specifies a locale to be used for pattern match-
                 ing. It overrides the value in the LC_ALL or  LC_CTYPE  envi-
                 ronment  variables.  If  no  locale  is  specified,  the PCRE
                 library's default (usually the "C" locale) is used. There  is
                 no short form for this option.

       -M, --multiline
                 Allow  patterns to match more than one line. When this option
                 is given, patterns may usefully contain literal newline char-
                 acters  and  internal  occurrences of ^ and $ characters. The
                 output for any one match may consist of more than  one  line.
                 When  this option is set, the PCRE library is called in "mul-
                 tiline" mode.  There is a limit to the number of  lines  that
                 can  be matched, imposed by the way that pcregrep buffers the
                 input file as it scans it. However, pcregrep ensures that  at
                 least 8K characters or the rest of the document (whichever is
                 the shorter) are available for forward  matching,  and  simi-
                 larly the previous 8K characters (or all the previous charac-
                 ters, if fewer than 8K) are guaranteed to  be  available  for
                 lookbehind assertions.

       -N newline-type, --newline=newline-type
                 The  PCRE  library  supports  five  different conventions for
                 indicating the ends of lines. They are  the  single-character
                 sequences  CR  (carriage  return) and LF (linefeed), the two-
                 character sequence CRLF, an "anycrlf" convention, which  rec-
                 ognizes  any  of the preceding three types, and an "any" con-
                 vention, in which any Unicode line ending sequence is assumed
                 to  end a line. The Unicode sequences are the three just men-
                 tioned,  plus  VT  (vertical  tab,  U+000B),  FF   (formfeed,
                 U+000C),   NEL  (next  line,  U+0085),  LS  (line  separator,
                 U+2028), and PS (paragraph separator, U+2029).

                 When  the  PCRE  library  is  built,  a  default  line-ending
                 sequence   is  specified.   This  is  normally  the  standard
                 sequence for the operating system. Unless otherwise specified
                 by  this  option,  pcregrep  uses the library's default.  The
                 possible values for this option are CR, LF, CRLF, ANYCRLF, or
                 ANY.  This  makes  it  possible to use pcregrep on files that
                 have come from other environments without  having  to  modify
                 their  line  endings.  If the data that is being scanned does
                 not agree with the convention set by  this  option,  pcregrep
                 may behave in strange ways.

       -n, --line-number
                 Precede each output line by its line number in the file, fol-
                 lowed by a colon for matching lines or a hyphen  for  context
                 lines.  If the filename is also being output, it precedes the
                 line number. This option is forced if --line-offsets is used.

       -o, --only-matching
                 Show only the part of the line that  matched  a  pattern.  In
                 this  mode,  no context is shown. That is, the -A, -B, and -C
                 options are ignored. If there is more than  one  match  in  a
                 line,  each  of  them  is shown separately. If -o is combined
                 with -v (invert the sense of the match to  find  non-matching
                 lines),  no  output  is generated, but the return code is set
                 appropriately. This option is mutually exclusive with --file-
                 offsets and --line-offsets.

       -q, --quiet
                 Work quietly, that is, display nothing except error messages.
                 The exit status indicates whether or  not  any  matches  were
                 found.

       -r, --recursive
                 If  any given path is a directory, recursively scan the files
                 it contains, taking note of any --include and --exclude  set-
                 tings.  By  default, a directory is read as a normal file; in
                 some operating systems this gives an  immediate  end-of-file.
                 This  option  is  a  shorthand  for  setting the -d option to
                 "recurse".

       -s, --no-messages
                 Suppress error  messages  about  non-existent  or  unreadable
                 files.  Such  files  are quietly skipped. However, the return
                 code is still 2, even if matches were found in other files.

       -u, --utf-8
                 Operate in UTF-8 mode. This option is available only if  PCRE
                 has  been compiled with UTF-8 support. Both patterns and sub-
                 ject lines must be valid strings of UTF-8 characters.

       -V, --version
                 Write the version numbers of pcregrep and  the  PCRE  library
                 that is being used to the standard error stream.

       -v, --invert-match
                 Invert  the  sense  of  the match, so that lines which do not
                 match any of the patterns are the ones that are found.

       -w, --word-regex, --word-regexp
                 Force the patterns to match only whole words. This is equiva-
                 lent to having \b at the start and end of the pattern.

       -x, --line-regex, --line-regexp
                 Force  the  patterns to be anchored (each must start matching
                 at the beginning of a line) and in addition, require them  to
                 match  entire  lines.  This  is  equivalent to having ^ and $
                 characters at the start and end of each alternative branch in
                 every pattern.


ENVIRONMENT VARIABLES

       The  environment  variables  LC_ALL  and LC_CTYPE are examined, in that
       order, for a locale. The first one that is set is  used.  This  can  be
       overridden  by  the  --locale  option.  If  no  locale is set, the PCRE
       library's default (usually the "C" locale) is used.


NEWLINES

       The -N (--newline) option allows pcregrep to scan files with  different
       newline  conventions  from  the  default.  However, the setting of this
       option does not affect the way in which pcregrep writes information  to
       the  standard  error  and  output streams. It uses the string "\n" in C
       printf() calls to indicate newlines, relying on the C  I/O  library  to
       convert  this  to  an  appropriate  sequence if the output is sent to a
       file.


OPTIONS COMPATIBILITY

       The majority of short and long forms of pcregrep's options are the same
       as  in  the  GNU grep program. Any long option of the form --xxx-regexp
       (GNU terminology) is also available as --xxx-regex (PCRE  terminology).
       However,  the  --locale,  -M,  --multiline, -u, and --utf-8 options are
       specific to pcregrep. If both the -c and -l options are given, GNU grep
       lists only file names, without counts, but pcregrep gives the counts.


OPTIONS WITH DATA

       There are four different ways in which an option with data can be spec-
       ified.  If a short form option is used, the  data  may  follow  immedi-
       ately, or in the next command line item. For example:

         -f/some/file
         -f /some/file

       If  a long form option is used, the data may appear in the same command
       line item, separated by an equals character, or (with one exception) it
       may appear in the next command line item. For example:

         --file=/some/file
         --file /some/file

       Note,  however, that if you want to supply a file name beginning with ~
       as data in a shell command, and have the  shell  expand  ~  to  a  home
       directory, you must separate the file name from the option, because the
       shell does not treat ~ specially unless it is at the start of an item.

       The exception to the above is the --colour  (or  --color)  option,  for
       which  the  data is optional. If this option does have data, it must be
       given in the first form, using an equals character. Otherwise  it  will
       be assumed that it has no data.


MATCHING ERRORS

       It  is  possible  to supply a regular expression that takes a very long
       time to fail to match certain lines.  Such  patterns  normally  involve
       nested  indefinite repeats, for example: (a+)*\d when matched against a
       line of a's with no final digit.  The  PCRE  matching  function  has  a
       resource  limit that causes it to abort in these circumstances. If this
       happens, pcregrep outputs an error message and the line that caused the
       problem  to  the  standard error stream. If there are more than 20 such
       errors, pcregrep gives up.


DIAGNOSTICS

       Exit status is 0 if any matches were found, 1 if no matches were found,
       and  2 for syntax errors and non-existent or inacessible files (even if
       matches were found in other files) or too many matching  errors.  Using
       the  -s  option to suppress error messages about inaccessble files does
       not affect the return code.


SEE ALSO

       pcrepattern(3), pcretest(1).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 13 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
share/doc/alt-pcre802-devel/html/pcre_get_stringnumber.html000064400000002776150405535540017714 0ustar00<html>
<head>
<title>pcre_get_stringnumber specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_get_stringnumber man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_get_stringnumber(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This convenience function finds the number of a named substring capturing
parenthesis in a compiled pattern. Its arguments are:
<pre>
  <i>code</i>    Compiled regular expression
  <i>name</i>    Name whose number is required
</pre>
The yield of the function is the number of the parenthesis if the name is
found, or PCRE_ERROR_NOSUBSTRING otherwise. When duplicate names are allowed
(PCRE_DUPNAMES is set), it is not defined which of the numbers is returned by
<b>pcre_get_stringnumber()</b>. You can obtain the complete list by calling
<b>pcre_get_stringtable_entries()</b>.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcresample.html000064400000006437150405535540015456 0ustar00<html>
<head>
<title>pcresample specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcresample man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
PCRE SAMPLE PROGRAM
</b><br>
<P>
A simple, complete demonstration program, to get you started with using PCRE,
is supplied in the file <i>pcredemo.c</i> in the PCRE distribution. A listing of
this program is given in the
<a href="pcredemo.html"><b>pcredemo</b></a>
documentation. If you do not have a copy of the PCRE distribution, you can save
this listing to re-create <i>pcredemo.c</i>.
</P>
<P>
The program compiles the regular expression that is its first argument, and
matches it against the subject string in its second argument. No PCRE options
are set, and default character tables are used. If matching succeeds, the
program outputs the portion of the subject that matched, together with the
contents of any captured substrings.
</P>
<P>
If the -g option is given on the command line, the program then goes on to
check for further matches of the same regular expression in the same subject
string. The logic is a little bit tricky because of the possibility of matching
an empty string. Comments in the code explain what is going on.
</P>
<P>
If PCRE is installed in the standard include and library directories for your
operating system, you should be able to compile the demonstration program using
this command:
<pre>
  gcc -o pcredemo pcredemo.c -lpcre
</pre>
If PCRE is installed elsewhere, you may need to add additional options to the
command line. For example, on a Unix-like system that has PCRE installed in
<i>/usr/local</i>, you can compile the demonstration program using a command
like this:
<pre>
  gcc -o pcredemo -I/usr/local/include pcredemo.c -L/usr/local/lib -lpcre
</pre>
Once you have compiled the demonstration program, you can run simple tests like
this:
<pre>
  ./pcredemo 'cat|dog' 'the cat sat on the mat'
  ./pcredemo -g 'cat|dog' 'the dog sat on the cat'
</pre>
Note that there is a much more comprehensive test program, called
<a href="pcretest.html"><b>pcretest</b>,</a>
which supports many more facilities for testing regular expressions and the
PCRE library. The
<a href="pcredemo.html"><b>pcredemo</b></a>
program is provided as a simple coding example.
</P>
<P>
When you try to run
<a href="pcredemo.html"><b>pcredemo</b></a>
when PCRE is not installed in the standard library directory, you may get an
error like this on some operating systems (e.g. Solaris):
<pre>
  ld.so.1: a.out: fatal: libpcre.so.0: open failed: No such file or directory
</pre>
This is caused by the way shared library support works on those systems. You
need to add
<pre>
  -R/usr/local/lib
</pre>
(for example) to the compile command to get round this problem.
</P>
<br><b>
AUTHOR
</b><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><b>
REVISION
</b><br>
<P>
Last updated: 30 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrematching.html000064400000023061150405535540015757 0ustar00<html>
<head>
<title>pcrematching specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrematching man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE MATCHING ALGORITHMS</a>
<li><a name="TOC2" href="#SEC2">REGULAR EXPRESSIONS AS TREES</a>
<li><a name="TOC3" href="#SEC3">THE STANDARD MATCHING ALGORITHM</a>
<li><a name="TOC4" href="#SEC4">THE ALTERNATIVE MATCHING ALGORITHM</a>
<li><a name="TOC5" href="#SEC5">ADVANTAGES OF THE ALTERNATIVE ALGORITHM</a>
<li><a name="TOC6" href="#SEC6">DISADVANTAGES OF THE ALTERNATIVE ALGORITHM</a>
<li><a name="TOC7" href="#SEC7">AUTHOR</a>
<li><a name="TOC8" href="#SEC8">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE MATCHING ALGORITHMS</a><br>
<P>
This document describes the two different algorithms that are available in PCRE
for matching a compiled regular expression against a given subject string. The
"standard" algorithm is the one provided by the <b>pcre_exec()</b> function.
This works in the same was as Perl's matching function, and provides a
Perl-compatible matching operation.
</P>
<P>
An alternative algorithm is provided by the <b>pcre_dfa_exec()</b> function;
this operates in a different way, and is not Perl-compatible. It has advantages
and disadvantages compared with the standard algorithm, and these are described
below.
</P>
<P>
When there is only one possible way in which a given subject string can match a
pattern, the two algorithms give the same answer. A difference arises, however,
when there are multiple possibilities. For example, if the pattern
<pre>
  ^&#60;.*&#62;
</pre>
is matched against the string
<pre>
  &#60;something&#62; &#60;something else&#62; &#60;something further&#62;
</pre>
there are three possible answers. The standard algorithm finds only one of
them, whereas the alternative algorithm finds all three.
</P>
<br><a name="SEC2" href="#TOC1">REGULAR EXPRESSIONS AS TREES</a><br>
<P>
The set of strings that are matched by a regular expression can be represented
as a tree structure. An unlimited repetition in the pattern makes the tree of
infinite size, but it is still a tree. Matching the pattern to a given subject
string (from a given starting point) can be thought of as a search of the tree.
There are two ways to search a tree: depth-first and breadth-first, and these
correspond to the two matching algorithms provided by PCRE.
</P>
<br><a name="SEC3" href="#TOC1">THE STANDARD MATCHING ALGORITHM</a><br>
<P>
In the terminology of Jeffrey Friedl's book "Mastering Regular
Expressions", the standard algorithm is an "NFA algorithm". It conducts a
depth-first search of the pattern tree. That is, it proceeds along a single
path through the tree, checking that the subject matches what is required. When
there is a mismatch, the algorithm tries any alternatives at the current point,
and if they all fail, it backs up to the previous branch point in the tree, and
tries the next alternative branch at that level. This often involves backing up
(moving to the left) in the subject string as well. The order in which
repetition branches are tried is controlled by the greedy or ungreedy nature of
the quantifier.
</P>
<P>
If a leaf node is reached, a matching string has been found, and at that point
the algorithm stops. Thus, if there is more than one possible match, this
algorithm returns the first one that it finds. Whether this is the shortest,
the longest, or some intermediate length depends on the way the greedy and
ungreedy repetition quantifiers are specified in the pattern.
</P>
<P>
Because it ends up with a single path through the tree, it is relatively
straightforward for this algorithm to keep track of the substrings that are
matched by portions of the pattern in parentheses. This provides support for
capturing parentheses and back references.
</P>
<br><a name="SEC4" href="#TOC1">THE ALTERNATIVE MATCHING ALGORITHM</a><br>
<P>
This algorithm conducts a breadth-first search of the tree. Starting from the
first matching point in the subject, it scans the subject string from left to
right, once, character by character, and as it does this, it remembers all the
paths through the tree that represent valid matches. In Friedl's terminology,
this is a kind of "DFA algorithm", though it is not implemented as a
traditional finite state machine (it keeps multiple states active
simultaneously).
</P>
<P>
Although the general principle of this matching algorithm is that it scans the
subject string only once, without backtracking, there is one exception: when a
lookaround assertion is encountered, the characters following or preceding the
current point have to be independently inspected.
</P>
<P>
The scan continues until either the end of the subject is reached, or there are
no more unterminated paths. At this point, terminated paths represent the
different matching possibilities (if there are none, the match has failed).
Thus, if there is more than one possible match, this algorithm finds all of
them, and in particular, it finds the longest. There is an option to stop the
algorithm after the first match (which is necessarily the shortest) is found.
</P>
<P>
Note that all the matches that are found start at the same point in the
subject. If the pattern
<pre>
  cat(er(pillar)?)
</pre>
is matched against the string "the caterpillar catchment", the result will be
the three strings "cat", "cater", and "caterpillar" that start at the fourth
character of the subject. The algorithm does not automatically move on to find
matches that start at later positions.
</P>
<P>
There are a number of features of PCRE regular expressions that are not
supported by the alternative matching algorithm. They are as follows:
</P>
<P>
1. Because the algorithm finds all possible matches, the greedy or ungreedy
nature of repetition quantifiers is not relevant. Greedy and ungreedy
quantifiers are treated in exactly the same way. However, possessive
quantifiers can make a difference when what follows could also match what is
quantified, for example in a pattern like this:
<pre>
  ^a++\w!
</pre>
This pattern matches "aaab!" but not "aaa!", which would be matched by a
non-possessive quantifier. Similarly, if an atomic group is present, it is
matched as if it were a standalone pattern at the current point, and the
longest match is then "locked in" for the rest of the overall pattern.
</P>
<P>
2. When dealing with multiple paths through the tree simultaneously, it is not
straightforward to keep track of captured substrings for the different matching
possibilities, and PCRE's implementation of this algorithm does not attempt to
do this. This means that no captured substrings are available.
</P>
<P>
3. Because no substrings are captured, back references within the pattern are
not supported, and cause errors if encountered.
</P>
<P>
4. For the same reason, conditional expressions that use a backreference as the
condition or test for a specific group recursion are not supported.
</P>
<P>
5. Because many paths through the tree may be active, the \K escape sequence,
which resets the start of the match when encountered (but may be on some paths
and not on others), is not supported. It causes an error if encountered.
</P>
<P>
6. Callouts are supported, but the value of the <i>capture_top</i> field is
always 1, and the value of the <i>capture_last</i> field is always -1.
</P>
<P>
7. The \C escape sequence, which (in the standard algorithm) matches a single
byte, even in UTF-8 mode, is not supported because the alternative algorithm
moves through the subject string one character at a time, for all active paths
through the tree.
</P>
<P>
8. Except for (*FAIL), the backtracking control verbs such as (*PRUNE) are not
supported. (*FAIL) is supported, and behaves like a failing negative assertion.
</P>
<br><a name="SEC5" href="#TOC1">ADVANTAGES OF THE ALTERNATIVE ALGORITHM</a><br>
<P>
Using the alternative matching algorithm provides the following advantages:
</P>
<P>
1. All possible matches (at a single point in the subject) are automatically
found, and in particular, the longest match is found. To find more than one
match using the standard algorithm, you have to do kludgy things with
callouts.
</P>
<P>
2. Because the alternative algorithm scans the subject string just once, and
never needs to backtrack, it is possible to pass very long subject strings to
the matching function in several pieces, checking for partial matching each
time. The
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation gives details of partial matching.
</P>
<br><a name="SEC6" href="#TOC1">DISADVANTAGES OF THE ALTERNATIVE ALGORITHM</a><br>
<P>
The alternative algorithm suffers from a number of disadvantages:
</P>
<P>
1. It is substantially slower than the standard algorithm. This is partly
because it has to search for all possible matches, but is also because it is
less susceptible to optimization.
</P>
<P>
2. Capturing parentheses and back references are not supported.
</P>
<P>
3. Although atomic groups are supported, their use does not provide the
performance advantage that it does for the standard algorithm.
</P>
<br><a name="SEC7" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC8" href="#TOC1">REVISION</a><br>
<P>
Last updated: 29 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_version.html000064400000001751150405535540016013 0ustar00<html>
<head>
<title>pcre_version specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_version man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>char *pcre_version(void);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function returns a character string that gives the version number of the
PCRE library and the date of its release.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrestack.html000064400000017041150405535540015273 0ustar00<html>
<head>
<title>pcrestack specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrestack man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
PCRE DISCUSSION OF STACK USAGE
</b><br>
<P>
When you call <b>pcre_exec()</b>, it makes use of an internal function called
<b>match()</b>. This calls itself recursively at branch points in the pattern,
in order to remember the state of the match so that it can back up and try a
different alternative if the first one fails. As matching proceeds deeper and
deeper into the tree of possibilities, the recursion depth increases.
</P>
<P>
Not all calls of <b>match()</b> increase the recursion depth; for an item such
as a* it may be called several times at the same level, after matching
different numbers of a's. Furthermore, in a number of cases where the result of
the recursive call would immediately be passed back as the result of the
current call (a "tail recursion"), the function is just restarted instead.
</P>
<P>
The <b>pcre_dfa_exec()</b> function operates in an entirely different way, and
uses recursion only when there is a regular expression recursion or subroutine
call in the pattern. This includes the processing of assertion and "once-only"
subpatterns, which are handled like subroutine calls. Normally, these are never
very deep, and the limit on the complexity of <b>pcre_dfa_exec()</b> is
controlled by the amount of workspace it is given. However, it is possible to
write patterns with runaway infinite recursions; such patterns will cause
<b>pcre_dfa_exec()</b> to run out of stack. At present, there is no protection
against this.
</P>
<P>
The comments that follow do NOT apply to <b>pcre_dfa_exec()</b>; they are
relevant only for <b>pcre_exec()</b>.
</P>
<br><b>
Reducing <b>pcre_exec()</b>'s stack usage
</b><br>
<P>
Each time that <b>match()</b> is actually called recursively, it uses memory
from the process stack. For certain kinds of pattern and data, very large
amounts of stack may be needed, despite the recognition of "tail recursion".
You can often reduce the amount of recursion, and therefore the amount of stack
used, by modifying the pattern that is being matched. Consider, for example,
this pattern:
<pre>
  ([^&#60;]|&#60;(?!inet))+
</pre>
It matches from wherever it starts until it encounters "&#60;inet" or the end of
the data, and is the kind of pattern that might be used when processing an XML
file. Each iteration of the outer parentheses matches either one character that
is not "&#60;" or a "&#60;" that is not followed by "inet". However, each time a
parenthesis is processed, a recursion occurs, so this formulation uses a stack
frame for each matched character. For a long string, a lot of stack is
required. Consider now this rewritten pattern, which matches exactly the same
strings:
<pre>
  ([^&#60;]++|&#60;(?!inet))+
</pre>
This uses very much less stack, because runs of characters that do not contain
"&#60;" are "swallowed" in one item inside the parentheses. Recursion happens only
when a "&#60;" character that is not followed by "inet" is encountered (and we
assume this is relatively rare). A possessive quantifier is used to stop any
backtracking into the runs of non-"&#60;" characters, but that is not related to
stack usage.
</P>
<P>
This example shows that one way of avoiding stack problems when matching long
subject strings is to write repeated parenthesized subpatterns to match more
than one character whenever possible.
</P>
<br><b>
Compiling PCRE to use heap instead of stack for <b>pcre_exec()</b>
</b><br>
<P>
In environments where stack memory is constrained, you might want to compile
PCRE to use heap memory instead of stack for remembering back-up points when
<b>pcre_exec()</b> is running. This makes it run a lot more slowly, however.
Details of how to do this are given in the
<a href="pcrebuild.html"><b>pcrebuild</b></a>
documentation. When built in this way, instead of using the stack, PCRE obtains
and frees memory by calling the functions that are pointed to by the
<b>pcre_stack_malloc</b> and <b>pcre_stack_free</b> variables. By default, these
point to <b>malloc()</b> and <b>free()</b>, but you can replace the pointers to
cause PCRE to use your own functions. Since the block sizes are always the
same, and are always freed in reverse order, it may be possible to implement
customized memory handlers that are more efficient than the standard functions.
</P>
<br><b>
Limiting <b>pcre_exec()</b>'s stack usage
</b><br>
<P>
You can set limits on the number of times that <b>match()</b> is called, both in
total and recursively. If a limit is exceeded, <b>pcre_exec()</b> returns an
error code. Setting suitable limits should prevent it from running out of
stack. The default values of the limits are very large, and unlikely ever to
operate. They can be changed when PCRE is built, and they can also be set when
<b>pcre_exec()</b> is called. For details of these interfaces, see the
<a href="pcrebuild.html"><b>pcrebuild</b></a>
documentation and the
<a href="pcreapi.html#extradata">section on extra data for <b>pcre_exec()</b></a>
in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<P>
As a very rough rule of thumb, you should reckon on about 500 bytes per
recursion. Thus, if you want to limit your stack usage to 8Mb, you
should set the limit at 16000 recursions. A 64Mb stack, on the other hand, can
support around 128000 recursions.
</P>
<P>
In Unix-like environments, the <b>pcretest</b> test program has a command line
option (<b>-S</b>) that can be used to increase the size of its stack. As long
as the stack is large enough, another option (<b>-M</b>) can be used to find the
smallest limits that allow a particular pattern to match a given subject
string. This is done by calling <b>pcre_exec()</b> repeatedly with different
limits.
</P>
<br><b>
Changing stack size in Unix-like systems
</b><br>
<P>
In Unix-like environments, there is not often a problem with the stack unless
very long strings are involved, though the default limit on stack size varies
from system to system. Values from 8Mb to 64Mb are common. You can find your
default limit by running the command:
<pre>
  ulimit -s
</pre>
Unfortunately, the effect of running out of stack is often SIGSEGV, though
sometimes a more explicit error message is given. You can normally increase the
limit on stack size by code such as this:
<pre>
  struct rlimit rlim;
  getrlimit(RLIMIT_STACK, &rlim);
  rlim.rlim_cur = 100*1024*1024;
  setrlimit(RLIMIT_STACK, &rlim);
</pre>
This reads the current limits (soft and hard) using <b>getrlimit()</b>, then
attempts to increase the soft limit to 100Mb using <b>setrlimit()</b>. You must
do this before calling <b>pcre_exec()</b>.
</P>
<br><b>
Changing stack size in Mac OS X
</b><br>
<P>
Using <b>setrlimit()</b>, as described above, should also work on Mac OS X. It
is also possible to set a stack size when linking a program. There is a
discussion about stack sizes in Mac OS X at this web site:
<a href="http://developer.apple.com/qa/qa2005/qa1419.html">http://developer.apple.com/qa/qa2005/qa1419.html.</a>
</P>
<br><b>
AUTHOR
</b><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><b>
REVISION
</b><br>
<P>
Last updated: 03 January 2010
<br>
Copyright &copy; 1997-2010 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrepattern.html000064400000312427150405535540015651 0ustar00<html>
<head>
<title>pcrepattern specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrepattern man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE REGULAR EXPRESSION DETAILS</a>
<li><a name="TOC2" href="#SEC2">NEWLINE CONVENTIONS</a>
<li><a name="TOC3" href="#SEC3">CHARACTERS AND METACHARACTERS</a>
<li><a name="TOC4" href="#SEC4">BACKSLASH</a>
<li><a name="TOC5" href="#SEC5">CIRCUMFLEX AND DOLLAR</a>
<li><a name="TOC6" href="#SEC6">FULL STOP (PERIOD, DOT)</a>
<li><a name="TOC7" href="#SEC7">MATCHING A SINGLE BYTE</a>
<li><a name="TOC8" href="#SEC8">SQUARE BRACKETS AND CHARACTER CLASSES</a>
<li><a name="TOC9" href="#SEC9">POSIX CHARACTER CLASSES</a>
<li><a name="TOC10" href="#SEC10">VERTICAL BAR</a>
<li><a name="TOC11" href="#SEC11">INTERNAL OPTION SETTING</a>
<li><a name="TOC12" href="#SEC12">SUBPATTERNS</a>
<li><a name="TOC13" href="#SEC13">DUPLICATE SUBPATTERN NUMBERS</a>
<li><a name="TOC14" href="#SEC14">NAMED SUBPATTERNS</a>
<li><a name="TOC15" href="#SEC15">REPETITION</a>
<li><a name="TOC16" href="#SEC16">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a>
<li><a name="TOC17" href="#SEC17">BACK REFERENCES</a>
<li><a name="TOC18" href="#SEC18">ASSERTIONS</a>
<li><a name="TOC19" href="#SEC19">CONDITIONAL SUBPATTERNS</a>
<li><a name="TOC20" href="#SEC20">COMMENTS</a>
<li><a name="TOC21" href="#SEC21">RECURSIVE PATTERNS</a>
<li><a name="TOC22" href="#SEC22">SUBPATTERNS AS SUBROUTINES</a>
<li><a name="TOC23" href="#SEC23">ONIGURUMA SUBROUTINE SYNTAX</a>
<li><a name="TOC24" href="#SEC24">CALLOUTS</a>
<li><a name="TOC25" href="#SEC25">BACKTRACKING CONTROL</a>
<li><a name="TOC26" href="#SEC26">SEE ALSO</a>
<li><a name="TOC27" href="#SEC27">AUTHOR</a>
<li><a name="TOC28" href="#SEC28">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE REGULAR EXPRESSION DETAILS</a><br>
<P>
The syntax and semantics of the regular expressions that are supported by PCRE
are described in detail below. There is a quick-reference syntax summary in the
<a href="pcresyntax.html"><b>pcresyntax</b></a>
page. PCRE tries to match Perl syntax and semantics as closely as it can. PCRE
also supports some alternative regular expression syntax (which does not
conflict with the Perl syntax) in order to provide some compatibility with
regular expressions in Python, .NET, and Oniguruma.
</P>
<P>
Perl's regular expressions are described in its own documentation, and
regular expressions in general are covered in a number of books, some of which
have copious examples. Jeffrey Friedl's "Mastering Regular Expressions",
published by O'Reilly, covers regular expressions in great detail. This
description of PCRE's regular expressions is intended as reference material.
</P>
<P>
The original operation of PCRE was on strings of one-byte characters. However,
there is now also support for UTF-8 character strings. To use this,
PCRE must be built to include UTF-8 support, and you must call
<b>pcre_compile()</b> or <b>pcre_compile2()</b> with the PCRE_UTF8 option. There
is also a special sequence that can be given at the start of a pattern:
<pre>
  (*UTF8)
</pre>
Starting a pattern with this sequence is equivalent to setting the PCRE_UTF8
option. This feature is not Perl-compatible. How setting UTF-8 mode affects
pattern matching is mentioned in several places below. There is also a summary
of UTF-8 features in the
<a href="pcre.html#utf8support">section on UTF-8 support</a>
in the main
<a href="pcre.html"><b>pcre</b></a>
page.
</P>
<P>
The remainder of this document discusses the patterns that are supported by
PCRE when its main matching function, <b>pcre_exec()</b>, is used.
From release 6.0, PCRE offers a second matching function,
<b>pcre_dfa_exec()</b>, which matches using a different algorithm that is not
Perl-compatible. Some of the features discussed below are not available when
<b>pcre_dfa_exec()</b> is used. The advantages and disadvantages of the
alternative function, and how it differs from the normal function, are
discussed in the
<a href="pcrematching.html"><b>pcrematching</b></a>
page.
</P>
<br><a name="SEC2" href="#TOC1">NEWLINE CONVENTIONS</a><br>
<P>
PCRE supports five different conventions for indicating line breaks in
strings: a single CR (carriage return) character, a single LF (linefeed)
character, the two-character sequence CRLF, any of the three preceding, or any
Unicode newline sequence. The
<a href="pcreapi.html"><b>pcreapi</b></a>
page has
<a href="pcreapi.html#newlines">further discussion</a>
about newlines, and shows how to set the newline convention in the
<i>options</i> arguments for the compiling and matching functions.
</P>
<P>
It is also possible to specify a newline convention by starting a pattern
string with one of the following five sequences:
<pre>
  (*CR)        carriage return
  (*LF)        linefeed
  (*CRLF)      carriage return, followed by linefeed
  (*ANYCRLF)   any of the three above
  (*ANY)       all Unicode newline sequences
</pre>
These override the default and the options given to <b>pcre_compile()</b> or
<b>pcre_compile2()</b>. For example, on a Unix system where LF is the default
newline sequence, the pattern
<pre>
  (*CR)a.b
</pre>
changes the convention to CR. That pattern matches "a\nb" because LF is no
longer a newline. Note that these special settings, which are not
Perl-compatible, are recognized only at the very start of a pattern, and that
they must be in upper case. If more than one of them is present, the last one
is used.
</P>
<P>
The newline convention does not affect what the \R escape sequence matches. By
default, this is any Unicode newline sequence, for Perl compatibility. However,
this can be changed; see the description of \R in the section entitled
<a href="#newlineseq">"Newline sequences"</a>
below. A change of \R setting can be combined with a change of newline
convention.
</P>
<br><a name="SEC3" href="#TOC1">CHARACTERS AND METACHARACTERS</a><br>
<P>
A regular expression is a pattern that is matched against a subject string from
left to right. Most characters stand for themselves in a pattern, and match the
corresponding characters in the subject. As a trivial example, the pattern
<pre>
  The quick brown fox
</pre>
matches a portion of a subject string that is identical to itself. When
caseless matching is specified (the PCRE_CASELESS option), letters are matched
independently of case. In UTF-8 mode, PCRE always understands the concept of
case for characters whose values are less than 128, so caseless matching is
always possible. For characters with higher values, the concept of case is
supported if PCRE is compiled with Unicode property support, but not otherwise.
If you want to use caseless matching for characters 128 and above, you must
ensure that PCRE is compiled with Unicode property support as well as with
UTF-8 support.
</P>
<P>
The power of regular expressions comes from the ability to include alternatives
and repetitions in the pattern. These are encoded in the pattern by the use of
<i>metacharacters</i>, which do not stand for themselves but instead are
interpreted in some special way.
</P>
<P>
There are two different sets of metacharacters: those that are recognized
anywhere in the pattern except within square brackets, and those that are
recognized within square brackets. Outside square brackets, the metacharacters
are as follows:
<pre>
  \      general escape character with several uses
  ^      assert start of string (or line, in multiline mode)
  $      assert end of string (or line, in multiline mode)
  .      match any character except newline (by default)
  [      start character class definition
  |      start of alternative branch
  (      start subpattern
  )      end subpattern
  ?      extends the meaning of (
         also 0 or 1 quantifier
         also quantifier minimizer
  *      0 or more quantifier
  +      1 or more quantifier
         also "possessive quantifier"
  {      start min/max quantifier
</pre>
Part of a pattern that is in square brackets is called a "character class". In
a character class the only metacharacters are:
<pre>
  \      general escape character
  ^      negate the class, but only if the first character
  -      indicates character range
  [      POSIX character class (only if followed by POSIX syntax)
  ]      terminates the character class
</pre>
The following sections describe the use of each of the metacharacters.
</P>
<br><a name="SEC4" href="#TOC1">BACKSLASH</a><br>
<P>
The backslash character has several uses. Firstly, if it is followed by a
non-alphanumeric character, it takes away any special meaning that character
may have. This use of backslash as an escape character applies both inside and
outside character classes.
</P>
<P>
For example, if you want to match a * character, you write \* in the pattern.
This escaping action applies whether or not the following character would
otherwise be interpreted as a metacharacter, so it is always safe to precede a
non-alphanumeric with backslash to specify that it stands for itself. In
particular, if you want to match a backslash, you write \\.
</P>
<P>
If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the
pattern (other than in a character class) and characters between a # outside
a character class and the next newline are ignored. An escaping backslash can
be used to include a whitespace or # character as part of the pattern.
</P>
<P>
If you want to remove the special meaning from a sequence of characters, you
can do so by putting them between \Q and \E. This is different from Perl in
that $ and @ are handled as literals in \Q...\E sequences in PCRE, whereas in
Perl, $ and @ cause variable interpolation. Note the following examples:
<pre>
  Pattern            PCRE matches   Perl matches

  \Qabc$xyz\E        abc$xyz        abc followed by the contents of $xyz
  \Qabc\$xyz\E       abc\$xyz       abc\$xyz
  \Qabc\E\$\Qxyz\E   abc$xyz        abc$xyz
</pre>
The \Q...\E sequence is recognized both inside and outside character classes.
<a name="digitsafterbackslash"></a></P>
<br><b>
Non-printing characters
</b><br>
<P>
A second use of backslash provides a way of encoding non-printing characters
in patterns in a visible manner. There is no restriction on the appearance of
non-printing characters, apart from the binary zero that terminates a pattern,
but when a pattern is being prepared by text editing, it is often easier to use
one of the following escape sequences than the binary character it represents:
<pre>
  \a        alarm, that is, the BEL character (hex 07)
  \cx       "control-x", where x is any character
  \e        escape (hex 1B)
  \f        formfeed (hex 0C)
  \n        linefeed (hex 0A)
  \r        carriage return (hex 0D)
  \t        tab (hex 09)
  \ddd      character with octal code ddd, or back reference
  \xhh      character with hex code hh
  \x{hhh..} character with hex code hhh..
</pre>
The precise effect of \cx is as follows: if x is a lower case letter, it
is converted to upper case. Then bit 6 of the character (hex 40) is inverted.
Thus \cz becomes hex 1A, but \c{ becomes hex 3B, while \c; becomes hex
7B.
</P>
<P>
After \x, from zero to two hexadecimal digits are read (letters can be in
upper or lower case). Any number of hexadecimal digits may appear between \x{
and }, but the value of the character code must be less than 256 in non-UTF-8
mode, and less than 2**31 in UTF-8 mode. That is, the maximum value in
hexadecimal is 7FFFFFFF. Note that this is bigger than the largest Unicode code
point, which is 10FFFF.
</P>
<P>
If characters other than hexadecimal digits appear between \x{ and }, or if
there is no terminating }, this form of escape is not recognized. Instead, the
initial \x will be interpreted as a basic hexadecimal escape, with no
following digits, giving a character whose value is zero.
</P>
<P>
Characters whose value is less than 256 can be defined by either of the two
syntaxes for \x. There is no difference in the way they are handled. For
example, \xdc is exactly the same as \x{dc}.
</P>
<P>
After \0 up to two further octal digits are read. If there are fewer than two
digits, just those that are present are used. Thus the sequence \0\x\07
specifies two binary zeros followed by a BEL character (code value 7). Make
sure you supply two digits after the initial zero if the pattern character that
follows is itself an octal digit.
</P>
<P>
The handling of a backslash followed by a digit other than 0 is complicated.
Outside a character class, PCRE reads it and any following digits as a decimal
number. If the number is less than 10, or if there have been at least that many
previous capturing left parentheses in the expression, the entire sequence is
taken as a <i>back reference</i>. A description of how this works is given
<a href="#backreferences">later,</a>
following the discussion of
<a href="#subpattern">parenthesized subpatterns.</a>
</P>
<P>
Inside a character class, or if the decimal number is greater than 9 and there
have not been that many capturing subpatterns, PCRE re-reads up to three octal
digits following the backslash, and uses them to generate a data character. Any
subsequent digits stand for themselves. In non-UTF-8 mode, the value of a
character specified in octal must be less than \400. In UTF-8 mode, values up
to \777 are permitted. For example:
<pre>
  \040   is another way of writing a space
  \40    is the same, provided there are fewer than 40 previous capturing subpatterns
  \7     is always a back reference
  \11    might be a back reference, or another way of writing a tab
  \011   is always a tab
  \0113  is a tab followed by the character "3"
  \113   might be a back reference, otherwise the character with octal code 113
  \377   might be a back reference, otherwise the byte consisting entirely of 1 bits
  \81    is either a back reference, or a binary zero followed by the two characters "8" and "1"
</pre>
Note that octal values of 100 or greater must not be introduced by a leading
zero, because no more than three octal digits are ever read.
</P>
<P>
All the sequences that define a single character value can be used both inside
and outside character classes. In addition, inside a character class, the
sequence \b is interpreted as the backspace character (hex 08), and the
sequences \R and \X are interpreted as the characters "R" and "X",
respectively. Outside a character class, these sequences have different
meanings
<a href="#uniextseq">(see below).</a>
</P>
<br><b>
Absolute and relative back references
</b><br>
<P>
The sequence \g followed by an unsigned or a negative number, optionally
enclosed in braces, is an absolute or relative back reference. A named back
reference can be coded as \g{name}. Back references are discussed
<a href="#backreferences">later,</a>
following the discussion of
<a href="#subpattern">parenthesized subpatterns.</a>
</P>
<br><b>
Absolute and relative subroutine calls
</b><br>
<P>
For compatibility with Oniguruma, the non-Perl syntax \g followed by a name or
a number enclosed either in angle brackets or single quotes, is an alternative
syntax for referencing a subpattern as a "subroutine". Details are discussed
<a href="#onigurumasubroutines">later.</a>
Note that \g{...} (Perl syntax) and \g&#60;...&#62; (Oniguruma syntax) are <i>not</i>
synonymous. The former is a back reference; the latter is a
<a href="#subpatternsassubroutines">subroutine</a>
call.
</P>
<br><b>
Generic character types
</b><br>
<P>
Another use of backslash is for specifying generic character types. The
following are always recognized:
<pre>
  \d     any decimal digit
  \D     any character that is not a decimal digit
  \h     any horizontal whitespace character
  \H     any character that is not a horizontal whitespace character
  \s     any whitespace character
  \S     any character that is not a whitespace character
  \v     any vertical whitespace character
  \V     any character that is not a vertical whitespace character
  \w     any "word" character
  \W     any "non-word" character
</pre>
Each pair of escape sequences partitions the complete set of characters into
two disjoint sets. Any given character matches one, and only one, of each pair.
</P>
<P>
These character type sequences can appear both inside and outside character
classes. They each match one character of the appropriate type. If the current
matching point is at the end of the subject string, all of them fail, since
there is no character to match.
</P>
<P>
For compatibility with Perl, \s does not match the VT character (code 11).
This makes it different from the the POSIX "space" class. The \s characters
are HT (9), LF (10), FF (12), CR (13), and space (32). If "use locale;" is
included in a Perl script, \s may match the VT character. In PCRE, it never
does.
</P>
<P>
In UTF-8 mode, characters with values greater than 128 never match \d, \s, or
\w, and always match \D, \S, and \W. This is true even when Unicode
character property support is available. These sequences retain their original
meanings from before UTF-8 support was available, mainly for efficiency
reasons. Note that this also affects \b, because it is defined in terms of \w
and \W.
</P>
<P>
The sequences \h, \H, \v, and \V are Perl 5.10 features. In contrast to the
other sequences, these do match certain high-valued codepoints in UTF-8 mode.
The horizontal space characters are:
<pre>
  U+0009     Horizontal tab
  U+0020     Space
  U+00A0     Non-break space
  U+1680     Ogham space mark
  U+180E     Mongolian vowel separator
  U+2000     En quad
  U+2001     Em quad
  U+2002     En space
  U+2003     Em space
  U+2004     Three-per-em space
  U+2005     Four-per-em space
  U+2006     Six-per-em space
  U+2007     Figure space
  U+2008     Punctuation space
  U+2009     Thin space
  U+200A     Hair space
  U+202F     Narrow no-break space
  U+205F     Medium mathematical space
  U+3000     Ideographic space
</pre>
The vertical space characters are:
<pre>
  U+000A     Linefeed
  U+000B     Vertical tab
  U+000C     Formfeed
  U+000D     Carriage return
  U+0085     Next line
  U+2028     Line separator
  U+2029     Paragraph separator
</PRE>
</P>
<P>
A "word" character is an underscore or any character less than 256 that is a
letter or digit. The definition of letters and digits is controlled by PCRE's
low-valued character tables, and may vary if locale-specific matching is taking
place (see
<a href="pcreapi.html#localesupport">"Locale support"</a>
in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page). For example, in a French locale such as "fr_FR" in Unix-like systems,
or "french" in Windows, some character codes greater than 128 are used for
accented letters, and these are matched by \w. The use of locales with Unicode
is discouraged.
<a name="newlineseq"></a></P>
<br><b>
Newline sequences
</b><br>
<P>
Outside a character class, by default, the escape sequence \R matches any
Unicode newline sequence. This is a Perl 5.10 feature. In non-UTF-8 mode \R is
equivalent to the following:
<pre>
  (?&#62;\r\n|\n|\x0b|\f|\r|\x85)
</pre>
This is an example of an "atomic group", details of which are given
<a href="#atomicgroup">below.</a>
This particular group matches either the two-character sequence CR followed by
LF, or one of the single characters LF (linefeed, U+000A), VT (vertical tab,
U+000B), FF (formfeed, U+000C), CR (carriage return, U+000D), or NEL (next
line, U+0085). The two-character sequence is treated as a single unit that
cannot be split.
</P>
<P>
In UTF-8 mode, two additional characters whose codepoints are greater than 255
are added: LS (line separator, U+2028) and PS (paragraph separator, U+2029).
Unicode character property support is not needed for these characters to be
recognized.
</P>
<P>
It is possible to restrict \R to match only CR, LF, or CRLF (instead of the
complete set of Unicode line endings) by setting the option PCRE_BSR_ANYCRLF
either at compile time or when the pattern is matched. (BSR is an abbrevation
for "backslash R".) This can be made the default when PCRE is built; if this is
the case, the other behaviour can be requested via the PCRE_BSR_UNICODE option.
It is also possible to specify these settings by starting a pattern string with
one of the following sequences:
<pre>
  (*BSR_ANYCRLF)   CR, LF, or CRLF only
  (*BSR_UNICODE)   any Unicode newline sequence
</pre>
These override the default and the options given to <b>pcre_compile()</b> or
<b>pcre_compile2()</b>, but they can be overridden by options given to
<b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>. Note that these special settings,
which are not Perl-compatible, are recognized only at the very start of a
pattern, and that they must be in upper case. If more than one of them is
present, the last one is used. They can be combined with a change of newline
convention, for example, a pattern can start with:
<pre>
  (*ANY)(*BSR_ANYCRLF)
</pre>
Inside a character class, \R matches the letter "R".
<a name="uniextseq"></a></P>
<br><b>
Unicode character properties
</b><br>
<P>
When PCRE is built with Unicode character property support, three additional
escape sequences that match characters with specific properties are available.
When not in UTF-8 mode, these sequences are of course limited to testing
characters whose codepoints are less than 256, but they do work in this mode.
The extra escape sequences are:
<pre>
  \p{<i>xx</i>}   a character with the <i>xx</i> property
  \P{<i>xx</i>}   a character without the <i>xx</i> property
  \X       an extended Unicode sequence
</pre>
The property names represented by <i>xx</i> above are limited to the Unicode
script names, the general category properties, and "Any", which matches any
character (including newline). Other properties such as "InMusicalSymbols" are
not currently supported by PCRE. Note that \P{Any} does not match any
characters, so always causes a match failure.
</P>
<P>
Sets of Unicode characters are defined as belonging to certain scripts. A
character from one of these sets can be matched using a script name. For
example:
<pre>
  \p{Greek}
  \P{Han}
</pre>
Those that are not part of an identified script are lumped together as
"Common". The current list of scripts is:
</P>
<P>
Arabic,
Armenian,
Avestan,
Balinese,
Bamum,
Bengali,
Bopomofo,
Braille,
Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
Cham,
Cherokee,
Common,
Coptic,
Cuneiform,
Cypriot,
Cyrillic,
Deseret,
Devanagari,
Egyptian_Hieroglyphs,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
Greek,
Gujarati,
Gurmukhi,
Han,
Hangul,
Hanunoo,
Hebrew,
Hiragana,
Imperial_Aramaic,
Inherited,
Inscriptional_Pahlavi,
Inscriptional_Parthian,
Javanese,
Kaithi,
Kannada,
Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
Lao,
Latin,
Lepcha,
Limbu,
Linear_B,
Lisu,
Lycian,
Lydian,
Malayalam,
Meetei_Mayek,
Mongolian,
Myanmar,
New_Tai_Lue,
Nko,
Ogham,
Old_Italic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
Ol_Chiki,
Oriya,
Osmanya,
Phags_Pa,
Phoenician,
Rejang,
Runic,
Samaritan,
Saurashtra,
Shavian,
Sinhala,
Sundanese,
Syloti_Nagri,
Syriac,
Tagalog,
Tagbanwa,
Tai_Le,
Tai_Tham,
Tai_Viet,
Tamil,
Telugu,
Thaana,
Thai,
Tibetan,
Tifinagh,
Ugaritic,
Vai,
Yi.
</P>
<P>
Each character has exactly one general category property, specified by a
two-letter abbreviation. For compatibility with Perl, negation can be specified
by including a circumflex between the opening brace and the property name. For
example, \p{^Lu} is the same as \P{Lu}.
</P>
<P>
If only one letter is specified with \p or \P, it includes all the general
category properties that start with that letter. In this case, in the absence
of negation, the curly brackets in the escape sequence are optional; these two
examples have the same effect:
<pre>
  \p{L}
  \pL
</pre>
The following general category property codes are supported:
<pre>
  C     Other
  Cc    Control
  Cf    Format
  Cn    Unassigned
  Co    Private use
  Cs    Surrogate

  L     Letter
  Ll    Lower case letter
  Lm    Modifier letter
  Lo    Other letter
  Lt    Title case letter
  Lu    Upper case letter

  M     Mark
  Mc    Spacing mark
  Me    Enclosing mark
  Mn    Non-spacing mark

  N     Number
  Nd    Decimal number
  Nl    Letter number
  No    Other number

  P     Punctuation
  Pc    Connector punctuation
  Pd    Dash punctuation
  Pe    Close punctuation
  Pf    Final punctuation
  Pi    Initial punctuation
  Po    Other punctuation
  Ps    Open punctuation

  S     Symbol
  Sc    Currency symbol
  Sk    Modifier symbol
  Sm    Mathematical symbol
  So    Other symbol

  Z     Separator
  Zl    Line separator
  Zp    Paragraph separator
  Zs    Space separator
</pre>
The special property L& is also supported: it matches a character that has
the Lu, Ll, or Lt property, in other words, a letter that is not classified as
a modifier or "other".
</P>
<P>
The Cs (Surrogate) property applies only to characters in the range U+D800 to
U+DFFF. Such characters are not valid in UTF-8 strings (see RFC 3629) and so
cannot be tested by PCRE, unless UTF-8 validity checking has been turned off
(see the discussion of PCRE_NO_UTF8_CHECK in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page). Perl does not support the Cs property.
</P>
<P>
The long synonyms for property names that Perl supports (such as \p{Letter})
are not supported by PCRE, nor is it permitted to prefix any of these
properties with "Is".
</P>
<P>
No character that is in the Unicode table has the Cn (unassigned) property.
Instead, this property is assumed for any code point that is not in the
Unicode table.
</P>
<P>
Specifying caseless matching does not affect these escape sequences. For
example, \p{Lu} always matches only upper case letters.
</P>
<P>
The \X escape matches any number of Unicode characters that form an extended
Unicode sequence. \X is equivalent to
<pre>
  (?&#62;\PM\pM*)
</pre>
That is, it matches a character without the "mark" property, followed by zero
or more characters with the "mark" property, and treats the sequence as an
atomic group
<a href="#atomicgroup">(see below).</a>
Characters with the "mark" property are typically accents that affect the
preceding character. None of them have codepoints less than 256, so in
non-UTF-8 mode \X matches any one character.
</P>
<P>
Matching characters by Unicode property is not fast, because PCRE has to search
a structure that contains data for over fifteen thousand characters. That is
why the traditional escape sequences such as \d and \w do not use Unicode
properties in PCRE.
<a name="resetmatchstart"></a></P>
<br><b>
Resetting the match start
</b><br>
<P>
The escape sequence \K, which is a Perl 5.10 feature, causes any previously
matched characters not to be included in the final matched sequence. For
example, the pattern:
<pre>
  foo\Kbar
</pre>
matches "foobar", but reports that it has matched "bar". This feature is
similar to a lookbehind assertion
<a href="#lookbehind">(described below).</a>
However, in this case, the part of the subject before the real match does not
have to be of fixed length, as lookbehind assertions do. The use of \K does
not interfere with the setting of
<a href="#subpattern">captured substrings.</a>
For example, when the pattern
<pre>
  (foo)\Kbar
</pre>
matches "foobar", the first substring is still set to "foo".
</P>
<P>
Perl documents that the use of \K within assertions is "not well defined". In
PCRE, \K is acted upon when it occurs inside positive assertions, but is
ignored in negative assertions.
<a name="smallassertions"></a></P>
<br><b>
Simple assertions
</b><br>
<P>
The final use of backslash is for certain simple assertions. An assertion
specifies a condition that has to be met at a particular point in a match,
without consuming any characters from the subject string. The use of
subpatterns for more complicated assertions is described
<a href="#bigassertions">below.</a>
The backslashed assertions are:
<pre>
  \b     matches at a word boundary
  \B     matches when not at a word boundary
  \A     matches at the start of the subject
  \Z     matches at the end of the subject
          also matches before a newline at the end of the subject
  \z     matches only at the end of the subject
  \G     matches at the first matching position in the subject
</pre>
These assertions may not appear in character classes (but note that \b has a
different meaning, namely the backspace character, inside a character class).
</P>
<P>
A word boundary is a position in the subject string where the current character
and the previous character do not both match \w or \W (i.e. one matches
\w and the other matches \W), or the start or end of the string if the
first or last character matches \w, respectively. Neither PCRE nor Perl has a
separte "start of word" or "end of word" metasequence. However, whatever
follows \b normally determines which it is. For example, the fragment
\ba matches "a" at the start of a word.
</P>
<P>
The \A, \Z, and \z assertions differ from the traditional circumflex and
dollar (described in the next section) in that they only ever match at the very
start and end of the subject string, whatever options are set. Thus, they are
independent of multiline mode. These three assertions are not affected by the
PCRE_NOTBOL or PCRE_NOTEOL options, which affect only the behaviour of the
circumflex and dollar metacharacters. However, if the <i>startoffset</i>
argument of <b>pcre_exec()</b> is non-zero, indicating that matching is to start
at a point other than the beginning of the subject, \A can never match. The
difference between \Z and \z is that \Z matches before a newline at the end
of the string as well as at the very end, whereas \z matches only at the end.
</P>
<P>
The \G assertion is true only when the current matching position is at the
start point of the match, as specified by the <i>startoffset</i> argument of
<b>pcre_exec()</b>. It differs from \A when the value of <i>startoffset</i> is
non-zero. By calling <b>pcre_exec()</b> multiple times with appropriate
arguments, you can mimic Perl's /g option, and it is in this kind of
implementation where \G can be useful.
</P>
<P>
Note, however, that PCRE's interpretation of \G, as the start of the current
match, is subtly different from Perl's, which defines it as the end of the
previous match. In Perl, these can be different when the previously matched
string was empty. Because PCRE does just one match at a time, it cannot
reproduce this behaviour.
</P>
<P>
If all the alternatives of a pattern begin with \G, the expression is anchored
to the starting match position, and the "anchored" flag is set in the compiled
regular expression.
</P>
<br><a name="SEC5" href="#TOC1">CIRCUMFLEX AND DOLLAR</a><br>
<P>
Outside a character class, in the default matching mode, the circumflex
character is an assertion that is true only if the current matching point is
at the start of the subject string. If the <i>startoffset</i> argument of
<b>pcre_exec()</b> is non-zero, circumflex can never match if the PCRE_MULTILINE
option is unset. Inside a character class, circumflex has an entirely different
meaning
<a href="#characterclass">(see below).</a>
</P>
<P>
Circumflex need not be the first character of the pattern if a number of
alternatives are involved, but it should be the first thing in each alternative
in which it appears if the pattern is ever to match that branch. If all
possible alternatives start with a circumflex, that is, if the pattern is
constrained to match only at the start of the subject, it is said to be an
"anchored" pattern. (There are also other constructs that can cause a pattern
to be anchored.)
</P>
<P>
A dollar character is an assertion that is true only if the current matching
point is at the end of the subject string, or immediately before a newline
at the end of the string (by default). Dollar need not be the last character of
the pattern if a number of alternatives are involved, but it should be the last
item in any branch in which it appears. Dollar has no special meaning in a
character class.
</P>
<P>
The meaning of dollar can be changed so that it matches only at the very end of
the string, by setting the PCRE_DOLLAR_ENDONLY option at compile time. This
does not affect the \Z assertion.
</P>
<P>
The meanings of the circumflex and dollar characters are changed if the
PCRE_MULTILINE option is set. When this is the case, a circumflex matches
immediately after internal newlines as well as at the start of the subject
string. It does not match after a newline that ends the string. A dollar
matches before any newlines in the string, as well as at the very end, when
PCRE_MULTILINE is set. When newline is specified as the two-character
sequence CRLF, isolated CR and LF characters do not indicate newlines.
</P>
<P>
For example, the pattern /^abc$/ matches the subject string "def\nabc" (where
\n represents a newline) in multiline mode, but not otherwise. Consequently,
patterns that are anchored in single line mode because all branches start with
^ are not anchored in multiline mode, and a match for circumflex is possible
when the <i>startoffset</i> argument of <b>pcre_exec()</b> is non-zero. The
PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.
</P>
<P>
Note that the sequences \A, \Z, and \z can be used to match the start and
end of the subject in both modes, and if all branches of a pattern start with
\A it is always anchored, whether or not PCRE_MULTILINE is set.
</P>
<br><a name="SEC6" href="#TOC1">FULL STOP (PERIOD, DOT)</a><br>
<P>
Outside a character class, a dot in the pattern matches any one character in
the subject string except (by default) a character that signifies the end of a
line. In UTF-8 mode, the matched character may be more than one byte long.
</P>
<P>
When a line ending is defined as a single character, dot never matches that
character; when the two-character sequence CRLF is used, dot does not match CR
if it is immediately followed by LF, but otherwise it matches all characters
(including isolated CRs and LFs). When any Unicode line endings are being
recognized, dot does not match CR or LF or any of the other line ending
characters.
</P>
<P>
The behaviour of dot with regard to newlines can be changed. If the PCRE_DOTALL
option is set, a dot matches any one character, without exception. If the
two-character sequence CRLF is present in the subject string, it takes two dots
to match it.
</P>
<P>
The handling of dot is entirely independent of the handling of circumflex and
dollar, the only relationship being that they both involve newlines. Dot has no
special meaning in a character class.
</P>
<br><a name="SEC7" href="#TOC1">MATCHING A SINGLE BYTE</a><br>
<P>
Outside a character class, the escape sequence \C matches any one byte, both
in and out of UTF-8 mode. Unlike a dot, it always matches any line-ending
characters. The feature is provided in Perl in order to match individual bytes
in UTF-8 mode. Because it breaks up UTF-8 characters into individual bytes,
what remains in the string may be a malformed UTF-8 string. For this reason,
the \C escape sequence is best avoided.
</P>
<P>
PCRE does not allow \C to appear in lookbehind assertions
<a href="#lookbehind">(described below),</a>
because in UTF-8 mode this would make it impossible to calculate the length of
the lookbehind.
<a name="characterclass"></a></P>
<br><a name="SEC8" href="#TOC1">SQUARE BRACKETS AND CHARACTER CLASSES</a><br>
<P>
An opening square bracket introduces a character class, terminated by a closing
square bracket. A closing square bracket on its own is not special by default.
However, if the PCRE_JAVASCRIPT_COMPAT option is set, a lone closing square
bracket causes a compile-time error. If a closing square bracket is required as
a member of the class, it should be the first data character in the class
(after an initial circumflex, if present) or escaped with a backslash.
</P>
<P>
A character class matches a single character in the subject. In UTF-8 mode, the
character may be more than one byte long. A matched character must be in the
set of characters defined by the class, unless the first character in the class
definition is a circumflex, in which case the subject character must not be in
the set defined by the class. If a circumflex is actually required as a member
of the class, ensure it is not the first character, or escape it with a
backslash.
</P>
<P>
For example, the character class [aeiou] matches any lower case vowel, while
[^aeiou] matches any character that is not a lower case vowel. Note that a
circumflex is just a convenient notation for specifying the characters that
are in the class by enumerating those that are not. A class that starts with a
circumflex is not an assertion; it still consumes a character from the subject
string, and therefore it fails if the current pointer is at the end of the
string.
</P>
<P>
In UTF-8 mode, characters with values greater than 255 can be included in a
class as a literal string of bytes, or by using the \x{ escaping mechanism.
</P>
<P>
When caseless matching is set, any letters in a class represent both their
upper case and lower case versions, so for example, a caseless [aeiou] matches
"A" as well as "a", and a caseless [^aeiou] does not match "A", whereas a
caseful version would. In UTF-8 mode, PCRE always understands the concept of
case for characters whose values are less than 128, so caseless matching is
always possible. For characters with higher values, the concept of case is
supported if PCRE is compiled with Unicode property support, but not otherwise.
If you want to use caseless matching in UTF8-mode for characters 128 and above,
you must ensure that PCRE is compiled with Unicode property support as well as
with UTF-8 support.
</P>
<P>
Characters that might indicate line breaks are never treated in any special way
when matching character classes, whatever line-ending sequence is in use, and
whatever setting of the PCRE_DOTALL and PCRE_MULTILINE options is used. A class
such as [^a] always matches one of these characters.
</P>
<P>
The minus (hyphen) character can be used to specify a range of characters in a
character class. For example, [d-m] matches any letter between d and m,
inclusive. If a minus character is required in a class, it must be escaped with
a backslash or appear in a position where it cannot be interpreted as
indicating a range, typically as the first or last character in the class.
</P>
<P>
It is not possible to have the literal character "]" as the end character of a
range. A pattern such as [W-]46] is interpreted as a class of two characters
("W" and "-") followed by a literal string "46]", so it would match "W46]" or
"-46]". However, if the "]" is escaped with a backslash it is interpreted as
the end of range, so [W-\]46] is interpreted as a class containing a range
followed by two other characters. The octal or hexadecimal representation of
"]" can also be used to end a range.
</P>
<P>
Ranges operate in the collating sequence of character values. They can also be
used for characters specified numerically, for example [\000-\037]. In UTF-8
mode, ranges can include characters whose values are greater than 255, for
example [\x{100}-\x{2ff}].
</P>
<P>
If a range that includes letters is used when caseless matching is set, it
matches the letters in either case. For example, [W-c] is equivalent to
[][\\^_`wxyzabc], matched caselessly, and in non-UTF-8 mode, if character
tables for a French locale are in use, [\xc8-\xcb] matches accented E
characters in both cases. In UTF-8 mode, PCRE supports the concept of case for
characters with values greater than 128 only when it is compiled with Unicode
property support.
</P>
<P>
The character types \d, \D, \p, \P, \s, \S, \w, and \W may also appear
in a character class, and add the characters that they match to the class. For
example, [\dABCDEF] matches any hexadecimal digit. A circumflex can
conveniently be used with the upper case character types to specify a more
restricted set of characters than the matching lower case type. For example,
the class [^\W_] matches any letter or digit, but not underscore.
</P>
<P>
The only metacharacters that are recognized in character classes are backslash,
hyphen (only where it can be interpreted as specifying a range), circumflex
(only at the start), opening square bracket (only when it can be interpreted as
introducing a POSIX class name - see the next section), and the terminating
closing square bracket. However, escaping other non-alphanumeric characters
does no harm.
</P>
<br><a name="SEC9" href="#TOC1">POSIX CHARACTER CLASSES</a><br>
<P>
Perl supports the POSIX notation for character classes. This uses names
enclosed by [: and :] within the enclosing square brackets. PCRE also supports
this notation. For example,
<pre>
  [01[:alpha:]%]
</pre>
matches "0", "1", any alphabetic character, or "%". The supported class names
are
<pre>
  alnum    letters and digits
  alpha    letters
  ascii    character codes 0 - 127
  blank    space or tab only
  cntrl    control characters
  digit    decimal digits (same as \d)
  graph    printing characters, excluding space
  lower    lower case letters
  print    printing characters, including space
  punct    printing characters, excluding letters and digits
  space    white space (not quite the same as \s)
  upper    upper case letters
  word     "word" characters (same as \w)
  xdigit   hexadecimal digits
</pre>
The "space" characters are HT (9), LF (10), VT (11), FF (12), CR (13), and
space (32). Notice that this list includes the VT character (code 11). This
makes "space" different to \s, which does not include VT (for Perl
compatibility).
</P>
<P>
The name "word" is a Perl extension, and "blank" is a GNU extension from Perl
5.8. Another Perl extension is negation, which is indicated by a ^ character
after the colon. For example,
<pre>
  [12[:^digit:]]
</pre>
matches "1", "2", or any non-digit. PCRE (and Perl) also recognize the POSIX
syntax [.ch.] and [=ch=] where "ch" is a "collating element", but these are not
supported, and an error is given if they are encountered.
</P>
<P>
In UTF-8 mode, characters with values greater than 128 do not match any of
the POSIX character classes.
</P>
<br><a name="SEC10" href="#TOC1">VERTICAL BAR</a><br>
<P>
Vertical bar characters are used to separate alternative patterns. For example,
the pattern
<pre>
  gilbert|sullivan
</pre>
matches either "gilbert" or "sullivan". Any number of alternatives may appear,
and an empty alternative is permitted (matching the empty string). The matching
process tries each alternative in turn, from left to right, and the first one
that succeeds is used. If the alternatives are within a subpattern
<a href="#subpattern">(defined below),</a>
"succeeds" means matching the rest of the main pattern as well as the
alternative in the subpattern.
</P>
<br><a name="SEC11" href="#TOC1">INTERNAL OPTION SETTING</a><br>
<P>
The settings of the PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, and
PCRE_EXTENDED options (which are Perl-compatible) can be changed from within
the pattern by a sequence of Perl option letters enclosed between "(?" and ")".
The option letters are
<pre>
  i  for PCRE_CASELESS
  m  for PCRE_MULTILINE
  s  for PCRE_DOTALL
  x  for PCRE_EXTENDED
</pre>
For example, (?im) sets caseless, multiline matching. It is also possible to
unset these options by preceding the letter with a hyphen, and a combined
setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and
PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also
permitted. If a letter appears both before and after the hyphen, the option is
unset.
</P>
<P>
The PCRE-specific options PCRE_DUPNAMES, PCRE_UNGREEDY, and PCRE_EXTRA can be
changed in the same way as the Perl-compatible options by using the characters
J, U and X respectively.
</P>
<P>
When one of these option changes occurs at top level (that is, not inside
subpattern parentheses), the change applies to the remainder of the pattern
that follows. If the change is placed right at the start of a pattern, PCRE
extracts it into the global options (and it will therefore show up in data
extracted by the <b>pcre_fullinfo()</b> function).
</P>
<P>
An option change within a subpattern (see below for a description of
subpatterns) affects only that part of the current pattern that follows it, so
<pre>
  (a(?i)b)c
</pre>
matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used).
By this means, options can be made to have different settings in different
parts of the pattern. Any changes made in one alternative do carry on
into subsequent branches within the same subpattern. For example,
<pre>
  (a(?i)b|c)
</pre>
matches "ab", "aB", "c", and "C", even though when matching "C" the first
branch is abandoned before the option setting. This is because the effects of
option settings happen at compile time. There would be some very weird
behaviour otherwise.
</P>
<P>
<b>Note:</b> There are other PCRE-specific options that can be set by the
application when the compile or match functions are called. In some cases the
pattern can contain special leading sequences such as (*CRLF) to override what
the application has set or what has been defaulted. Details are given in the
section entitled
<a href="#newlineseq">"Newline sequences"</a>
above. There is also the (*UTF8) leading sequence that can be used to set UTF-8
mode; this is equivalent to setting the PCRE_UTF8 option.
<a name="subpattern"></a></P>
<br><a name="SEC12" href="#TOC1">SUBPATTERNS</a><br>
<P>
Subpatterns are delimited by parentheses (round brackets), which can be nested.
Turning part of a pattern into a subpattern does two things:
<br>
<br>
1. It localizes a set of alternatives. For example, the pattern
<pre>
  cat(aract|erpillar|)
</pre>
matches one of the words "cat", "cataract", or "caterpillar". Without the
parentheses, it would match "cataract", "erpillar" or an empty string.
<br>
<br>
2. It sets up the subpattern as a capturing subpattern. This means that, when
the whole pattern matches, that portion of the subject string that matched the
subpattern is passed back to the caller via the <i>ovector</i> argument of
<b>pcre_exec()</b>. Opening parentheses are counted from left to right (starting
from 1) to obtain numbers for the capturing subpatterns.
</P>
<P>
For example, if the string "the red king" is matched against the pattern
<pre>
  the ((red|white) (king|queen))
</pre>
the captured substrings are "red king", "red", and "king", and are numbered 1,
2, and 3, respectively.
</P>
<P>
The fact that plain parentheses fulfil two functions is not always helpful.
There are often times when a grouping subpattern is required without a
capturing requirement. If an opening parenthesis is followed by a question mark
and a colon, the subpattern does not do any capturing, and is not counted when
computing the number of any subsequent capturing subpatterns. For example, if
the string "the white queen" is matched against the pattern
<pre>
  the ((?:red|white) (king|queen))
</pre>
the captured substrings are "white queen" and "queen", and are numbered 1 and
2. The maximum number of capturing subpatterns is 65535.
</P>
<P>
As a convenient shorthand, if any option settings are required at the start of
a non-capturing subpattern, the option letters may appear between the "?" and
the ":". Thus the two patterns
<pre>
  (?i:saturday|sunday)
  (?:(?i)saturday|sunday)
</pre>
match exactly the same set of strings. Because alternative branches are tried
from left to right, and options are not reset until the end of the subpattern
is reached, an option setting in one branch does affect subsequent branches, so
the above patterns match "SUNDAY" as well as "Saturday".
<a name="dupsubpatternnumber"></a></P>
<br><a name="SEC13" href="#TOC1">DUPLICATE SUBPATTERN NUMBERS</a><br>
<P>
Perl 5.10 introduced a feature whereby each alternative in a subpattern uses
the same numbers for its capturing parentheses. Such a subpattern starts with
(?| and is itself a non-capturing subpattern. For example, consider this
pattern:
<pre>
  (?|(Sat)ur|(Sun))day
</pre>
Because the two alternatives are inside a (?| group, both sets of capturing
parentheses are numbered one. Thus, when the pattern matches, you can look
at captured substring number one, whichever alternative matched. This construct
is useful when you want to capture part, but not all, of one of a number of
alternatives. Inside a (?| group, parentheses are numbered as usual, but the
number is reset at the start of each branch. The numbers of any capturing
buffers that follow the subpattern start after the highest number used in any
branch. The following example is taken from the Perl documentation.
The numbers underneath show in which buffer the captured content will be
stored.
<pre>
  # before  ---------------branch-reset----------- after
  / ( a )  (?| x ( y ) z | (p (q) r) | (t) u (v) ) ( z ) /x
  # 1            2         2  3        2     3     4
</pre>
A back reference to a numbered subpattern uses the most recent value that is
set for that number by any subpattern. The following pattern matches "abcabc"
or "defdef":
<pre>
  /(?|(abc)|(def))\1/
</pre>
In contrast, a recursive or "subroutine" call to a numbered subpattern always
refers to the first one in the pattern with the given number. The following
pattern matches "abcabc" or "defabc":
<pre>
  /(?|(abc)|(def))(?1)/
</pre>
If a
<a href="#conditions">condition test</a>
for a subpattern's having matched refers to a non-unique number, the test is
true if any of the subpatterns of that number have matched.
</P>
<P>
An alternative approach to using this "branch reset" feature is to use
duplicate named subpatterns, as described in the next section.
</P>
<br><a name="SEC14" href="#TOC1">NAMED SUBPATTERNS</a><br>
<P>
Identifying capturing parentheses by number is simple, but it can be very hard
to keep track of the numbers in complicated regular expressions. Furthermore,
if an expression is modified, the numbers may change. To help with this
difficulty, PCRE supports the naming of subpatterns. This feature was not
added to Perl until release 5.10. Python had the feature earlier, and PCRE
introduced it at release 4.0, using the Python syntax. PCRE now supports both
the Perl and the Python syntax. Perl allows identically numbered subpatterns to
have different names, but PCRE does not.
</P>
<P>
In PCRE, a subpattern can be named in one of three ways: (?&#60;name&#62;...) or
(?'name'...) as in Perl, or (?P&#60;name&#62;...) as in Python. References to capturing
parentheses from other parts of the pattern, such as
<a href="#backreferences">back references,</a>
<a href="#recursion">recursion,</a>
and
<a href="#conditions">conditions,</a>
can be made by name as well as by number.
</P>
<P>
Names consist of up to 32 alphanumeric characters and underscores. Named
capturing parentheses are still allocated numbers as well as names, exactly as
if the names were not present. The PCRE API provides function calls for
extracting the name-to-number translation table from a compiled pattern. There
is also a convenience function for extracting a captured substring by name.
</P>
<P>
By default, a name must be unique within a pattern, but it is possible to relax
this constraint by setting the PCRE_DUPNAMES option at compile time. (Duplicate
names are also always permitted for subpatterns with the same number, set up as
described in the previous section.) Duplicate names can be useful for patterns
where only one instance of the named parentheses can match. Suppose you want to
match the name of a weekday, either as a 3-letter abbreviation or as the full
name, and in both cases you want to extract the abbreviation. This pattern
(ignoring the line breaks) does the job:
<pre>
  (?&#60;DN&#62;Mon|Fri|Sun)(?:day)?|
  (?&#60;DN&#62;Tue)(?:sday)?|
  (?&#60;DN&#62;Wed)(?:nesday)?|
  (?&#60;DN&#62;Thu)(?:rsday)?|
  (?&#60;DN&#62;Sat)(?:urday)?
</pre>
There are five capturing substrings, but only one is ever set after a match.
(An alternative way of solving this problem is to use a "branch reset"
subpattern, as described in the previous section.)
</P>
<P>
The convenience function for extracting the data by name returns the substring
for the first (and in this example, the only) subpattern of that name that
matched. This saves searching to find which numbered subpattern it was.
</P>
<P>
If you make a back reference to a non-unique named subpattern from elsewhere in
the pattern, the one that corresponds to the first occurrence of the name is
used. In the absence of duplicate numbers (see the previous section) this is
the one with the lowest number. If you use a named reference in a condition
test (see the
<a href="#conditions">section about conditions</a>
below), either to check whether a subpattern has matched, or to check for
recursion, all subpatterns with the same name are tested. If the condition is
true for any one of them, the overall condition is true. This is the same
behaviour as testing by number. For further details of the interfaces for
handling named subpatterns, see the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<P>
<b>Warning:</b> You cannot use different names to distinguish between two
subpatterns with the same number because PCRE uses only the numbers when
matching. For this reason, an error is given at compile time if different names
are given to subpatterns with the same number. However, you can give the same
name to subpatterns with the same number, even when PCRE_DUPNAMES is not set.
</P>
<br><a name="SEC15" href="#TOC1">REPETITION</a><br>
<P>
Repetition is specified by quantifiers, which can follow any of the following
items:
<pre>
  a literal data character
  the dot metacharacter
  the \C escape sequence
  the \X escape sequence (in UTF-8 mode with Unicode properties)
  the \R escape sequence
  an escape such as \d that matches a single character
  a character class
  a back reference (see next section)
  a parenthesized subpattern (unless it is an assertion)
  a recursive or "subroutine" call to a subpattern
</pre>
The general repetition quantifier specifies a minimum and maximum number of
permitted matches, by giving the two numbers in curly brackets (braces),
separated by a comma. The numbers must be less than 65536, and the first must
be less than or equal to the second. For example:
<pre>
  z{2,4}
</pre>
matches "zz", "zzz", or "zzzz". A closing brace on its own is not a special
character. If the second number is omitted, but the comma is present, there is
no upper limit; if the second number and the comma are both omitted, the
quantifier specifies an exact number of required matches. Thus
<pre>
  [aeiou]{3,}
</pre>
matches at least 3 successive vowels, but may match many more, while
<pre>
  \d{8}
</pre>
matches exactly 8 digits. An opening curly bracket that appears in a position
where a quantifier is not allowed, or one that does not match the syntax of a
quantifier, is taken as a literal character. For example, {,6} is not a
quantifier, but a literal string of four characters.
</P>
<P>
In UTF-8 mode, quantifiers apply to UTF-8 characters rather than to individual
bytes. Thus, for example, \x{100}{2} matches two UTF-8 characters, each of
which is represented by a two-byte sequence. Similarly, when Unicode property
support is available, \X{3} matches three Unicode extended sequences, each of
which may be several bytes long (and they may be of different lengths).
</P>
<P>
The quantifier {0} is permitted, causing the expression to behave as if the
previous item and the quantifier were not present. This may be useful for
subpatterns that are referenced as
<a href="#subpatternsassubroutines">subroutines</a>
from elsewhere in the pattern. Items other than subpatterns that have a {0}
quantifier are omitted from the compiled pattern.
</P>
<P>
For convenience, the three most common quantifiers have single-character
abbreviations:
<pre>
  *    is equivalent to {0,}
  +    is equivalent to {1,}
  ?    is equivalent to {0,1}
</pre>
It is possible to construct infinite loops by following a subpattern that can
match no characters with a quantifier that has no upper limit, for example:
<pre>
  (a?)*
</pre>
Earlier versions of Perl and PCRE used to give an error at compile time for
such patterns. However, because there are cases where this can be useful, such
patterns are now accepted, but if any repetition of the subpattern does in fact
match no characters, the loop is forcibly broken.
</P>
<P>
By default, the quantifiers are "greedy", that is, they match as much as
possible (up to the maximum number of permitted times), without causing the
rest of the pattern to fail. The classic example of where this gives problems
is in trying to match comments in C programs. These appear between /* and */
and within the comment, individual * and / characters may appear. An attempt to
match C comments by applying the pattern
<pre>
  /\*.*\*/
</pre>
to the string
<pre>
  /* first comment */  not comment  /* second comment */
</pre>
fails, because it matches the entire string owing to the greediness of the .*
item.
</P>
<P>
However, if a quantifier is followed by a question mark, it ceases to be
greedy, and instead matches the minimum number of times possible, so the
pattern
<pre>
  /\*.*?\*/
</pre>
does the right thing with the C comments. The meaning of the various
quantifiers is not otherwise changed, just the preferred number of matches.
Do not confuse this use of question mark with its use as a quantifier in its
own right. Because it has two uses, it can sometimes appear doubled, as in
<pre>
  \d??\d
</pre>
which matches one digit by preference, but can match two if that is the only
way the rest of the pattern matches.
</P>
<P>
If the PCRE_UNGREEDY option is set (an option that is not available in Perl),
the quantifiers are not greedy by default, but individual ones can be made
greedy by following them with a question mark. In other words, it inverts the
default behaviour.
</P>
<P>
When a parenthesized subpattern is quantified with a minimum repeat count that
is greater than 1 or with a limited maximum, more memory is required for the
compiled pattern, in proportion to the size of the minimum or maximum.
</P>
<P>
If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equivalent
to Perl's /s) is set, thus allowing the dot to match newlines, the pattern is
implicitly anchored, because whatever follows will be tried against every
character position in the subject string, so there is no point in retrying the
overall match at any position after the first. PCRE normally treats such a
pattern as though it were preceded by \A.
</P>
<P>
In cases where it is known that the subject string contains no newlines, it is
worth setting PCRE_DOTALL in order to obtain this optimization, or
alternatively using ^ to indicate anchoring explicitly.
</P>
<P>
However, there is one situation where the optimization cannot be used. When .*
is inside capturing parentheses that are the subject of a back reference
elsewhere in the pattern, a match at the start may fail where a later one
succeeds. Consider, for example:
<pre>
  (.*)abc\1
</pre>
If the subject is "xyz123abc123" the match point is the fourth character. For
this reason, such a pattern is not implicitly anchored.
</P>
<P>
When a capturing subpattern is repeated, the value captured is the substring
that matched the final iteration. For example, after
<pre>
  (tweedle[dume]{3}\s*)+
</pre>
has matched "tweedledum tweedledee" the value of the captured substring is
"tweedledee". However, if there are nested capturing subpatterns, the
corresponding captured values may have been set in previous iterations. For
example, after
<pre>
  /(a|(b))+/
</pre>
matches "aba" the value of the second captured substring is "b".
<a name="atomicgroup"></a></P>
<br><a name="SEC16" href="#TOC1">ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS</a><br>
<P>
With both maximizing ("greedy") and minimizing ("ungreedy" or "lazy")
repetition, failure of what follows normally causes the repeated item to be
re-evaluated to see if a different number of repeats allows the rest of the
pattern to match. Sometimes it is useful to prevent this, either to change the
nature of the match, or to cause it fail earlier than it otherwise might, when
the author of the pattern knows there is no point in carrying on.
</P>
<P>
Consider, for example, the pattern \d+foo when applied to the subject line
<pre>
  123456bar
</pre>
After matching all 6 digits and then failing to match "foo", the normal
action of the matcher is to try again with only 5 digits matching the \d+
item, and then with 4, and so on, before ultimately failing. "Atomic grouping"
(a term taken from Jeffrey Friedl's book) provides the means for specifying
that once a subpattern has matched, it is not to be re-evaluated in this way.
</P>
<P>
If we use atomic grouping for the previous example, the matcher gives up
immediately on failing to match "foo" the first time. The notation is a kind of
special parenthesis, starting with (?&#62; as in this example:
<pre>
  (?&#62;\d+)foo
</pre>
This kind of parenthesis "locks up" the  part of the pattern it contains once
it has matched, and a failure further into the pattern is prevented from
backtracking into it. Backtracking past it to previous items, however, works as
normal.
</P>
<P>
An alternative description is that a subpattern of this type matches the string
of characters that an identical standalone pattern would match, if anchored at
the current point in the subject string.
</P>
<P>
Atomic grouping subpatterns are not capturing subpatterns. Simple cases such as
the above example can be thought of as a maximizing repeat that must swallow
everything it can. So, while both \d+ and \d+? are prepared to adjust the
number of digits they match in order to make the rest of the pattern match,
(?&#62;\d+) can only match an entire sequence of digits.
</P>
<P>
Atomic groups in general can of course contain arbitrarily complicated
subpatterns, and can be nested. However, when the subpattern for an atomic
group is just a single repeated item, as in the example above, a simpler
notation, called a "possessive quantifier" can be used. This consists of an
additional + character following a quantifier. Using this notation, the
previous example can be rewritten as
<pre>
  \d++foo
</pre>
Note that a possessive quantifier can be used with an entire group, for
example:
<pre>
  (abc|xyz){2,3}+
</pre>
Possessive quantifiers are always greedy; the setting of the PCRE_UNGREEDY
option is ignored. They are a convenient notation for the simpler forms of
atomic group. However, there is no difference in the meaning of a possessive
quantifier and the equivalent atomic group, though there may be a performance
difference; possessive quantifiers should be slightly faster.
</P>
<P>
The possessive quantifier syntax is an extension to the Perl 5.8 syntax.
Jeffrey Friedl originated the idea (and the name) in the first edition of his
book. Mike McCloskey liked it, so implemented it when he built Sun's Java
package, and PCRE copied it from there. It ultimately found its way into Perl
at release 5.10.
</P>
<P>
PCRE has an optimization that automatically "possessifies" certain simple
pattern constructs. For example, the sequence A+B is treated as A++B because
there is no point in backtracking into a sequence of A's when B must follow.
</P>
<P>
When a pattern contains an unlimited repeat inside a subpattern that can itself
be repeated an unlimited number of times, the use of an atomic group is the
only way to avoid some failing matches taking a very long time indeed. The
pattern
<pre>
  (\D+|&#60;\d+&#62;)*[!?]
</pre>
matches an unlimited number of substrings that either consist of non-digits, or
digits enclosed in &#60;&#62;, followed by either ! or ?. When it matches, it runs
quickly. However, if it is applied to
<pre>
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</pre>
it takes a long time before reporting failure. This is because the string can
be divided between the internal \D+ repeat and the external * repeat in a
large number of ways, and all have to be tried. (The example uses [!?] rather
than a single character at the end, because both PCRE and Perl have an
optimization that allows for fast failure when a single character is used. They
remember the last single character that is required for a match, and fail early
if it is not present in the string.) If the pattern is changed so that it uses
an atomic group, like this:
<pre>
  ((?&#62;\D+)|&#60;\d+&#62;)*[!?]
</pre>
sequences of non-digits cannot be broken, and failure happens quickly.
<a name="backreferences"></a></P>
<br><a name="SEC17" href="#TOC1">BACK REFERENCES</a><br>
<P>
Outside a character class, a backslash followed by a digit greater than 0 (and
possibly further digits) is a back reference to a capturing subpattern earlier
(that is, to its left) in the pattern, provided there have been that many
previous capturing left parentheses.
</P>
<P>
However, if the decimal number following the backslash is less than 10, it is
always taken as a back reference, and causes an error only if there are not
that many capturing left parentheses in the entire pattern. In other words, the
parentheses that are referenced need not be to the left of the reference for
numbers less than 10. A "forward back reference" of this type can make sense
when a repetition is involved and the subpattern to the right has participated
in an earlier iteration.
</P>
<P>
It is not possible to have a numerical "forward back reference" to a subpattern
whose number is 10 or more using this syntax because a sequence such as \50 is
interpreted as a character defined in octal. See the subsection entitled
"Non-printing characters"
<a href="#digitsafterbackslash">above</a>
for further details of the handling of digits following a backslash. There is
no such problem when named parentheses are used. A back reference to any
subpattern is possible using named parentheses (see below).
</P>
<P>
Another way of avoiding the ambiguity inherent in the use of digits following a
backslash is to use the \g escape sequence, which is a feature introduced in
Perl 5.10. This escape must be followed by an unsigned number or a negative
number, optionally enclosed in braces. These examples are all identical:
<pre>
  (ring), \1
  (ring), \g1
  (ring), \g{1}
</pre>
An unsigned number specifies an absolute reference without the ambiguity that
is present in the older syntax. It is also useful when literal digits follow
the reference. A negative number is a relative reference. Consider this
example:
<pre>
  (abc(def)ghi)\g{-1}
</pre>
The sequence \g{-1} is a reference to the most recently started capturing
subpattern before \g, that is, is it equivalent to \2. Similarly, \g{-2}
would be equivalent to \1. The use of relative references can be helpful in
long patterns, and also in patterns that are created by joining together
fragments that contain references within themselves.
</P>
<P>
A back reference matches whatever actually matched the capturing subpattern in
the current subject string, rather than anything matching the subpattern
itself (see
<a href="#subpatternsassubroutines">"Subpatterns as subroutines"</a>
below for a way of doing that). So the pattern
<pre>
  (sens|respons)e and \1ibility
</pre>
matches "sense and sensibility" and "response and responsibility", but not
"sense and responsibility". If caseful matching is in force at the time of the
back reference, the case of letters is relevant. For example,
<pre>
  ((?i)rah)\s+\1
</pre>
matches "rah rah" and "RAH RAH", but not "RAH rah", even though the original
capturing subpattern is matched caselessly.
</P>
<P>
There are several different ways of writing back references to named
subpatterns. The .NET syntax \k{name} and the Perl syntax \k&#60;name&#62; or
\k'name' are supported, as is the Python syntax (?P=name). Perl 5.10's unified
back reference syntax, in which \g can be used for both numeric and named
references, is also supported. We could rewrite the above example in any of
the following ways:
<pre>
  (?&#60;p1&#62;(?i)rah)\s+\k&#60;p1&#62;
  (?'p1'(?i)rah)\s+\k{p1}
  (?P&#60;p1&#62;(?i)rah)\s+(?P=p1)
  (?&#60;p1&#62;(?i)rah)\s+\g{p1}
</pre>
A subpattern that is referenced by name may appear in the pattern before or
after the reference.
</P>
<P>
There may be more than one back reference to the same subpattern. If a
subpattern has not actually been used in a particular match, any back
references to it always fail by default. For example, the pattern
<pre>
  (a|(bc))\2
</pre>
always fails if it starts to match "a" rather than "bc". However, if the
PCRE_JAVASCRIPT_COMPAT option is set at compile time, a back reference to an
unset value matches an empty string.
</P>
<P>
Because there may be many capturing parentheses in a pattern, all digits
following a backslash are taken as part of a potential back reference number.
If the pattern continues with a digit character, some delimiter must be used to
terminate the back reference. If the PCRE_EXTENDED option is set, this can be
whitespace. Otherwise, the \g{ syntax or an empty comment (see
<a href="#comments">"Comments"</a>
below) can be used.
</P>
<br><b>
Recursive back references
</b><br>
<P>
A back reference that occurs inside the parentheses to which it refers fails
when the subpattern is first used, so, for example, (a\1) never matches.
However, such references can be useful inside repeated subpatterns. For
example, the pattern
<pre>
  (a|b\1)+
</pre>
matches any number of "a"s and also "aba", "ababbaa" etc. At each iteration of
the subpattern, the back reference matches the character string corresponding
to the previous iteration. In order for this to work, the pattern must be such
that the first iteration does not need to match the back reference. This can be
done using alternation, as in the example above, or by a quantifier with a
minimum of zero.
</P>
<P>
Back references of this type cause the group that they reference to be treated
as an
<a href="#atomicgroup">atomic group.</a>
Once the whole group has been matched, a subsequent matching failure cannot
cause backtracking into the middle of the group.
<a name="bigassertions"></a></P>
<br><a name="SEC18" href="#TOC1">ASSERTIONS</a><br>
<P>
An assertion is a test on the characters following or preceding the current
matching point that does not actually consume any characters. The simple
assertions coded as \b, \B, \A, \G, \Z, \z, ^ and $ are described
<a href="#smallassertions">above.</a>
</P>
<P>
More complicated assertions are coded as subpatterns. There are two kinds:
those that look ahead of the current position in the subject string, and those
that look behind it. An assertion subpattern is matched in the normal way,
except that it does not cause the current matching position to be changed.
</P>
<P>
Assertion subpatterns are not capturing subpatterns, and may not be repeated,
because it makes no sense to assert the same thing several times. If any kind
of assertion contains capturing subpatterns within it, these are counted for
the purposes of numbering the capturing subpatterns in the whole pattern.
However, substring capturing is carried out only for positive assertions,
because it does not make sense for negative assertions.
</P>
<br><b>
Lookahead assertions
</b><br>
<P>
Lookahead assertions start with (?= for positive assertions and (?! for
negative assertions. For example,
<pre>
  \w+(?=;)
</pre>
matches a word followed by a semicolon, but does not include the semicolon in
the match, and
<pre>
  foo(?!bar)
</pre>
matches any occurrence of "foo" that is not followed by "bar". Note that the
apparently similar pattern
<pre>
  (?!foo)bar
</pre>
does not find an occurrence of "bar" that is preceded by something other than
"foo"; it finds any occurrence of "bar" whatsoever, because the assertion
(?!foo) is always true when the next three characters are "bar". A
lookbehind assertion is needed to achieve the other effect.
</P>
<P>
If you want to force a matching failure at some point in a pattern, the most
convenient way to do it is with (?!) because an empty string always matches, so
an assertion that requires there not to be an empty string must always fail.
The Perl 5.10 backtracking control verb (*FAIL) or (*F) is essentially a
synonym for (?!).
<a name="lookbehind"></a></P>
<br><b>
Lookbehind assertions
</b><br>
<P>
Lookbehind assertions start with (?&#60;= for positive assertions and (?&#60;! for
negative assertions. For example,
<pre>
  (?&#60;!foo)bar
</pre>
does find an occurrence of "bar" that is not preceded by "foo". The contents of
a lookbehind assertion are restricted such that all the strings it matches must
have a fixed length. However, if there are several top-level alternatives, they
do not all have to have the same fixed length. Thus
<pre>
  (?&#60;=bullock|donkey)
</pre>
is permitted, but
<pre>
  (?&#60;!dogs?|cats?)
</pre>
causes an error at compile time. Branches that match different length strings
are permitted only at the top level of a lookbehind assertion. This is an
extension compared with Perl (5.8 and 5.10), which requires all branches to
match the same length of string. An assertion such as
<pre>
  (?&#60;=ab(c|de))
</pre>
is not permitted, because its single top-level branch can match two different
lengths, but it is acceptable to PCRE if rewritten to use two top-level
branches:
<pre>
  (?&#60;=abc|abde)
</pre>
In some cases, the Perl 5.10 escape sequence \K
<a href="#resetmatchstart">(see above)</a>
can be used instead of a lookbehind assertion to get round the fixed-length
restriction.
</P>
<P>
The implementation of lookbehind assertions is, for each alternative, to
temporarily move the current position back by the fixed length and then try to
match. If there are insufficient characters before the current position, the
assertion fails.
</P>
<P>
PCRE does not allow the \C escape (which matches a single byte in UTF-8 mode)
to appear in lookbehind assertions, because it makes it impossible to calculate
the length of the lookbehind. The \X and \R escapes, which can match
different numbers of bytes, are also not permitted.
</P>
<P>
<a href="#subpatternsassubroutines">"Subroutine"</a>
calls (see below) such as (?2) or (?&X) are permitted in lookbehinds, as long
as the subpattern matches a fixed-length string.
<a href="#recursion">Recursion,</a>
however, is not supported.
</P>
<P>
Possessive quantifiers can be used in conjunction with lookbehind assertions to
specify efficient matching of fixed-length strings at the end of subject
strings. Consider a simple pattern such as
<pre>
  abcd$
</pre>
when applied to a long string that does not match. Because matching proceeds
from left to right, PCRE will look for each "a" in the subject and then see if
what follows matches the rest of the pattern. If the pattern is specified as
<pre>
  ^.*abcd$
</pre>
the initial .* matches the entire string at first, but when this fails (because
there is no following "a"), it backtracks to match all but the last character,
then all but the last two characters, and so on. Once again the search for "a"
covers the entire string, from right to left, so we are no better off. However,
if the pattern is written as
<pre>
  ^.*+(?&#60;=abcd)
</pre>
there can be no backtracking for the .*+ item; it can match only the entire
string. The subsequent lookbehind assertion does a single test on the last four
characters. If it fails, the match fails immediately. For long strings, this
approach makes a significant difference to the processing time.
</P>
<br><b>
Using multiple assertions
</b><br>
<P>
Several assertions (of any sort) may occur in succession. For example,
<pre>
  (?&#60;=\d{3})(?&#60;!999)foo
</pre>
matches "foo" preceded by three digits that are not "999". Notice that each of
the assertions is applied independently at the same point in the subject
string. First there is a check that the previous three characters are all
digits, and then there is a check that the same three characters are not "999".
This pattern does <i>not</i> match "foo" preceded by six characters, the first
of which are digits and the last three of which are not "999". For example, it
doesn't match "123abcfoo". A pattern to do that is
<pre>
  (?&#60;=\d{3}...)(?&#60;!999)foo
</pre>
This time the first assertion looks at the preceding six characters, checking
that the first three are digits, and then the second assertion checks that the
preceding three characters are not "999".
</P>
<P>
Assertions can be nested in any combination. For example,
<pre>
  (?&#60;=(?&#60;!foo)bar)baz
</pre>
matches an occurrence of "baz" that is preceded by "bar" which in turn is not
preceded by "foo", while
<pre>
  (?&#60;=\d{3}(?!999)...)foo
</pre>
is another pattern that matches "foo" preceded by three digits and any three
characters that are not "999".
<a name="conditions"></a></P>
<br><a name="SEC19" href="#TOC1">CONDITIONAL SUBPATTERNS</a><br>
<P>
It is possible to cause the matching process to obey a subpattern
conditionally or to choose between two alternative subpatterns, depending on
the result of an assertion, or whether a specific capturing subpattern has
already been matched. The two possible forms of conditional subpattern are:
<pre>
  (?(condition)yes-pattern)
  (?(condition)yes-pattern|no-pattern)
</pre>
If the condition is satisfied, the yes-pattern is used; otherwise the
no-pattern (if present) is used. If there are more than two alternatives in the
subpattern, a compile-time error occurs.
</P>
<P>
There are four kinds of condition: references to subpatterns, references to
recursion, a pseudo-condition called DEFINE, and assertions.
</P>
<br><b>
Checking for a used subpattern by number
</b><br>
<P>
If the text between the parentheses consists of a sequence of digits, the
condition is true if a capturing subpattern of that number has previously
matched. If there is more than one capturing subpattern with the same number
(see the earlier
<a href="#recursion">section about duplicate subpattern numbers),</a>
the condition is true if any of them have been set. An alternative notation is
to precede the digits with a plus or minus sign. In this case, the subpattern
number is relative rather than absolute. The most recently opened parentheses
can be referenced by (?(-1), the next most recent by (?(-2), and so on. In
looping constructs it can also make sense to refer to subsequent groups with
constructs such as (?(+2).
</P>
<P>
Consider the following pattern, which contains non-significant white space to
make it more readable (assume the PCRE_EXTENDED option) and to divide it into
three parts for ease of discussion:
<pre>
  ( \( )?    [^()]+    (?(1) \) )
</pre>
The first part matches an optional opening parenthesis, and if that
character is present, sets it as the first captured substring. The second part
matches one or more characters that are not parentheses. The third part is a
conditional subpattern that tests whether the first set of parentheses matched
or not. If they did, that is, if subject started with an opening parenthesis,
the condition is true, and so the yes-pattern is executed and a closing
parenthesis is required. Otherwise, since no-pattern is not present, the
subpattern matches nothing. In other words, this pattern matches a sequence of
non-parentheses, optionally enclosed in parentheses.
</P>
<P>
If you were embedding this pattern in a larger one, you could use a relative
reference:
<pre>
  ...other stuff... ( \( )?    [^()]+    (?(-1) \) ) ...
</pre>
This makes the fragment independent of the parentheses in the larger pattern.
</P>
<br><b>
Checking for a used subpattern by name
</b><br>
<P>
Perl uses the syntax (?(&#60;name&#62;)...) or (?('name')...) to test for a used
subpattern by name. For compatibility with earlier versions of PCRE, which had
this facility before Perl, the syntax (?(name)...) is also recognized. However,
there is a possible ambiguity with this syntax, because subpattern names may
consist entirely of digits. PCRE looks first for a named subpattern; if it
cannot find one and the name consists entirely of digits, PCRE looks for a
subpattern of that number, which must be greater than zero. Using subpattern
names that consist entirely of digits is not recommended.
</P>
<P>
Rewriting the above example to use a named subpattern gives this:
<pre>
  (?&#60;OPEN&#62; \( )?    [^()]+    (?(&#60;OPEN&#62;) \) )
</pre>
If the name used in a condition of this kind is a duplicate, the test is
applied to all subpatterns of the same name, and is true if any one of them has
matched.
</P>
<br><b>
Checking for pattern recursion
</b><br>
<P>
If the condition is the string (R), and there is no subpattern with the name R,
the condition is true if a recursive call to the whole pattern or any
subpattern has been made. If digits or a name preceded by ampersand follow the
letter R, for example:
<pre>
  (?(R3)...) or (?(R&name)...)
</pre>
the condition is true if the most recent recursion is into a subpattern whose
number or name is given. This condition does not check the entire recursion
stack. If the name used in a condition of this kind is a duplicate, the test is
applied to all subpatterns of the same name, and is true if any one of them is
the most recent recursion.
</P>
<P>
At "top level", all these recursion test conditions are false.
<a href="#recursion">The syntax for recursive patterns</a>
is described below.
</P>
<br><b>
Defining subpatterns for use by reference only
</b><br>
<P>
If the condition is the string (DEFINE), and there is no subpattern with the
name DEFINE, the condition is always false. In this case, there may be only one
alternative in the subpattern. It is always skipped if control reaches this
point in the pattern; the idea of DEFINE is that it can be used to define
"subroutines" that can be referenced from elsewhere. (The use of
<a href="#subpatternsassubroutines">"subroutines"</a>
is described below.) For example, a pattern to match an IPv4 address could be
written like this (ignore whitespace and line breaks):
<pre>
  (?(DEFINE) (?&#60;byte&#62; 2[0-4]\d | 25[0-5] | 1\d\d | [1-9]?\d) )
  \b (?&byte) (\.(?&byte)){3} \b
</pre>
The first part of the pattern is a DEFINE group inside which a another group
named "byte" is defined. This matches an individual component of an IPv4
address (a number less than 256). When matching takes place, this part of the
pattern is skipped because DEFINE acts like a false condition. The rest of the
pattern uses references to the named group to match the four dot-separated
components of an IPv4 address, insisting on a word boundary at each end.
</P>
<br><b>
Assertion conditions
</b><br>
<P>
If the condition is not in any of the above formats, it must be an assertion.
This may be a positive or negative lookahead or lookbehind assertion. Consider
this pattern, again containing non-significant white space, and with the two
alternatives on the second line:
<pre>
  (?(?=[^a-z]*[a-z])
  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )
</pre>
The condition is a positive lookahead assertion that matches an optional
sequence of non-letters followed by a letter. In other words, it tests for the
presence of at least one letter in the subject. If a letter is found, the
subject is matched against the first alternative; otherwise it is matched
against the second. This pattern matches strings in one of the two forms
dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits.
<a name="comments"></a></P>
<br><a name="SEC20" href="#TOC1">COMMENTS</a><br>
<P>
The sequence (?# marks the start of a comment that continues up to the next
closing parenthesis. Nested parentheses are not permitted. The characters
that make up a comment play no part in the pattern matching at all.
</P>
<P>
If the PCRE_EXTENDED option is set, an unescaped # character outside a
character class introduces a comment that continues to immediately after the
next newline in the pattern.
<a name="recursion"></a></P>
<br><a name="SEC21" href="#TOC1">RECURSIVE PATTERNS</a><br>
<P>
Consider the problem of matching a string in parentheses, allowing for
unlimited nested parentheses. Without the use of recursion, the best that can
be done is to use a pattern that matches up to some fixed depth of nesting. It
is not possible to handle an arbitrary nesting depth.
</P>
<P>
For some time, Perl has provided a facility that allows regular expressions to
recurse (amongst other things). It does this by interpolating Perl code in the
expression at run time, and the code can refer to the expression itself. A Perl
pattern using code interpolation to solve the parentheses problem can be
created like this:
<pre>
  $re = qr{\( (?: (?&#62;[^()]+) | (?p{$re}) )* \)}x;
</pre>
The (?p{...}) item interpolates Perl code at run time, and in this case refers
recursively to the pattern in which it appears.
</P>
<P>
Obviously, PCRE cannot support the interpolation of Perl code. Instead, it
supports special syntax for recursion of the entire pattern, and also for
individual subpattern recursion. After its introduction in PCRE and Python,
this kind of recursion was subsequently introduced into Perl at release 5.10.
</P>
<P>
A special item that consists of (? followed by a number greater than zero and a
closing parenthesis is a recursive call of the subpattern of the given number,
provided that it occurs inside that subpattern. (If not, it is a
<a href="#subpatternsassubroutines">"subroutine"</a>
call, which is described in the next section.) The special item (?R) or (?0) is
a recursive call of the entire regular expression.
</P>
<P>
This PCRE pattern solves the nested parentheses problem (assume the
PCRE_EXTENDED option is set so that white space is ignored):
<pre>
  \( ( [^()]++ | (?R) )* \)
</pre>
First it matches an opening parenthesis. Then it matches any number of
substrings which can either be a sequence of non-parentheses, or a recursive
match of the pattern itself (that is, a correctly parenthesized substring).
Finally there is a closing parenthesis. Note the use of a possessive quantifier
to avoid backtracking into sequences of non-parentheses.
</P>
<P>
If this were part of a larger pattern, you would not want to recurse the entire
pattern, so instead you could use this:
<pre>
  ( \( ( [^()]++ | (?1) )* \) )
</pre>
We have put the pattern into parentheses, and caused the recursion to refer to
them instead of the whole pattern.
</P>
<P>
In a larger pattern, keeping track of parenthesis numbers can be tricky. This
is made easier by the use of relative references (a Perl 5.10 feature).
Instead of (?1) in the pattern above you can write (?-2) to refer to the second
most recently opened parentheses preceding the recursion. In other words, a
negative number counts capturing parentheses leftwards from the point at which
it is encountered.
</P>
<P>
It is also possible to refer to subsequently opened parentheses, by writing
references such as (?+2). However, these cannot be recursive because the
reference is not inside the parentheses that are referenced. They are always
<a href="#subpatternsassubroutines">"subroutine"</a>
calls, as described in the next section.
</P>
<P>
An alternative approach is to use named parentheses instead. The Perl syntax
for this is (?&name); PCRE's earlier syntax (?P&#62;name) is also supported. We
could rewrite the above example as follows:
<pre>
  (?&#60;pn&#62; \( ( [^()]++ | (?&pn) )* \) )
</pre>
If there is more than one subpattern with the same name, the earliest one is
used.
</P>
<P>
This particular example pattern that we have been looking at contains nested
unlimited repeats, and so the use of a possessive quantifier for matching
strings of non-parentheses is important when applying the pattern to strings
that do not match. For example, when this pattern is applied to
<pre>
  (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
</pre>
it yields "no match" quickly. However, if a possessive quantifier is not used,
the match runs for a very long time indeed because there are so many different
ways the + and * repeats can carve up the subject, and all have to be tested
before failure can be reported.
</P>
<P>
At the end of a match, the values of capturing parentheses are those from
the outermost level. If you want to obtain intermediate values, a callout
function can be used (see below and the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation). If the pattern above is matched against
<pre>
  (ab(cd)ef)
</pre>
the value for the inner capturing parentheses (numbered 2) is "ef", which is
the last value taken on at the top level. If a capturing subpattern is not
matched at the top level, its final value is unset, even if it is (temporarily)
set at a deeper level.
</P>
<P>
If there are more than 15 capturing parentheses in a pattern, PCRE has to
obtain extra memory to store data during a recursion, which it does by using
<b>pcre_malloc</b>, freeing it via <b>pcre_free</b> afterwards. If no memory can
be obtained, the match fails with the PCRE_ERROR_NOMEMORY error.
</P>
<P>
Do not confuse the (?R) item with the condition (R), which tests for recursion.
Consider this pattern, which matches text in angle brackets, allowing for
arbitrary nesting. Only digits are allowed in nested brackets (that is, when
recursing), whereas any characters are permitted at the outer level.
<pre>
  &#60; (?: (?(R) \d++  | [^&#60;&#62;]*+) | (?R)) * &#62;
</pre>
In this pattern, (?(R) is the start of a conditional subpattern, with two
different alternatives for the recursive and non-recursive cases. The (?R) item
is the actual recursive call.
<a name="recursiondifference"></a></P>
<br><b>
Recursion difference from Perl
</b><br>
<P>
In PCRE (like Python, but unlike Perl), a recursive subpattern call is always
treated as an atomic group. That is, once it has matched some of the subject
string, it is never re-entered, even if it contains untried alternatives and
there is a subsequent matching failure. This can be illustrated by the
following pattern, which purports to match a palindromic string that contains
an odd number of characters (for example, "a", "aba", "abcba", "abcdcba"):
<pre>
  ^(.|(.)(?1)\2)$
</pre>
The idea is that it either matches a single character, or two identical
characters surrounding a sub-palindrome. In Perl, this pattern works; in PCRE
it does not if the pattern is longer than three characters. Consider the
subject string "abcba":
</P>
<P>
At the top level, the first character is matched, but as it is not at the end
of the string, the first alternative fails; the second alternative is taken
and the recursion kicks in. The recursive call to subpattern 1 successfully
matches the next character ("b"). (Note that the beginning and end of line
tests are not part of the recursion).
</P>
<P>
Back at the top level, the next character ("c") is compared with what
subpattern 2 matched, which was "a". This fails. Because the recursion is
treated as an atomic group, there are now no backtracking points, and so the
entire match fails. (Perl is able, at this point, to re-enter the recursion and
try the second alternative.) However, if the pattern is written with the
alternatives in the other order, things are different:
<pre>
  ^((.)(?1)\2|.)$
</pre>
This time, the recursing alternative is tried first, and continues to recurse
until it runs out of characters, at which point the recursion fails. But this
time we do have another alternative to try at the higher level. That is the big
difference: in the previous case the remaining alternative is at a deeper
recursion level, which PCRE cannot use.
</P>
<P>
To change the pattern so that matches all palindromic strings, not just those
with an odd number of characters, it is tempting to change the pattern to this:
<pre>
  ^((.)(?1)\2|.?)$
</pre>
Again, this works in Perl, but not in PCRE, and for the same reason. When a
deeper recursion has matched a single character, it cannot be entered again in
order to match an empty string. The solution is to separate the two cases, and
write out the odd and even cases as alternatives at the higher level:
<pre>
  ^(?:((.)(?1)\2|)|((.)(?3)\4|.))
</pre>
If you want to match typical palindromic phrases, the pattern has to ignore all
non-word characters, which can be done like this:
<pre>
  ^\W*+(?:((.)\W*+(?1)\W*+\2|)|((.)\W*+(?3)\W*+\4|\W*+.\W*+))\W*+$
</pre>
If run with the PCRE_CASELESS option, this pattern matches phrases such as "A
man, a plan, a canal: Panama!" and it works well in both PCRE and Perl. Note
the use of the possessive quantifier *+ to avoid backtracking into sequences of
non-word characters. Without this, PCRE takes a great deal longer (ten times or
more) to match typical phrases, and Perl takes so long that you think it has
gone into a loop.
</P>
<P>
<b>WARNING</b>: The palindrome-matching patterns above work only if the subject
string does not start with a palindrome that is shorter than the entire string.
For example, although "abcba" is correctly matched, if the subject is "ababa",
PCRE finds the palindrome "aba" at the start, then fails at top level because
the end of the string does not follow. Once again, it cannot jump back into the
recursion to try other alternatives, so the entire match fails.
<a name="subpatternsassubroutines"></a></P>
<br><a name="SEC22" href="#TOC1">SUBPATTERNS AS SUBROUTINES</a><br>
<P>
If the syntax for a recursive subpattern reference (either by number or by
name) is used outside the parentheses to which it refers, it operates like a
subroutine in a programming language. The "called" subpattern may be defined
before or after the reference. A numbered reference can be absolute or
relative, as in these examples:
<pre>
  (...(absolute)...)...(?2)...
  (...(relative)...)...(?-1)...
  (...(?+1)...(relative)...
</pre>
An earlier example pointed out that the pattern
<pre>
  (sens|respons)e and \1ibility
</pre>
matches "sense and sensibility" and "response and responsibility", but not
"sense and responsibility". If instead the pattern
<pre>
  (sens|respons)e and (?1)ibility
</pre>
is used, it does match "sense and responsibility" as well as the other two
strings. Another example is given in the discussion of DEFINE above.
</P>
<P>
Like recursive subpatterns, a subroutine call is always treated as an atomic
group. That is, once it has matched some of the subject string, it is never
re-entered, even if it contains untried alternatives and there is a subsequent
matching failure. Any capturing parentheses that are set during the subroutine
call revert to their previous values afterwards.
</P>
<P>
When a subpattern is used as a subroutine, processing options such as
case-independence are fixed when the subpattern is defined. They cannot be
changed for different calls. For example, consider this pattern:
<pre>
  (abc)(?i:(?-1))
</pre>
It matches "abcabc". It does not match "abcABC" because the change of
processing option does not affect the called subpattern.
<a name="onigurumasubroutines"></a></P>
<br><a name="SEC23" href="#TOC1">ONIGURUMA SUBROUTINE SYNTAX</a><br>
<P>
For compatibility with Oniguruma, the non-Perl syntax \g followed by a name or
a number enclosed either in angle brackets or single quotes, is an alternative
syntax for referencing a subpattern as a subroutine, possibly recursively. Here
are two of the examples used above, rewritten using this syntax:
<pre>
  (?&#60;pn&#62; \( ( (?&#62;[^()]+) | \g&#60;pn&#62; )* \) )
  (sens|respons)e and \g'1'ibility
</pre>
PCRE supports an extension to Oniguruma: if a number is preceded by a
plus or a minus sign it is taken as a relative reference. For example:
<pre>
  (abc)(?i:\g&#60;-1&#62;)
</pre>
Note that \g{...} (Perl syntax) and \g&#60;...&#62; (Oniguruma syntax) are <i>not</i>
synonymous. The former is a back reference; the latter is a subroutine call.
</P>
<br><a name="SEC24" href="#TOC1">CALLOUTS</a><br>
<P>
Perl has a feature whereby using the sequence (?{...}) causes arbitrary Perl
code to be obeyed in the middle of matching a regular expression. This makes it
possible, amongst other things, to extract different substrings that match the
same pair of parentheses when there is a repetition.
</P>
<P>
PCRE provides a similar feature, but of course it cannot obey arbitrary Perl
code. The feature is called "callout". The caller of PCRE provides an external
function by putting its entry point in the global variable <i>pcre_callout</i>.
By default, this variable contains NULL, which disables all calling out.
</P>
<P>
Within a regular expression, (?C) indicates the points at which the external
function is to be called. If you want to identify different callout points, you
can put a number less than 256 after the letter C. The default value is zero.
For example, this pattern has two callout points:
<pre>
  (?C1)abc(?C2)def
</pre>
If the PCRE_AUTO_CALLOUT flag is passed to <b>pcre_compile()</b>, callouts are
automatically installed before each item in the pattern. They are all numbered
255.
</P>
<P>
During matching, when PCRE reaches a callout point (and <i>pcre_callout</i> is
set), the external function is called. It is provided with the number of the
callout, the position in the pattern, and, optionally, one item of data
originally supplied by the caller of <b>pcre_exec()</b>. The callout function
may cause matching to proceed, to backtrack, or to fail altogether. A complete
description of the interface to the callout function is given in the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
</P>
<br><a name="SEC25" href="#TOC1">BACKTRACKING CONTROL</a><br>
<P>
Perl 5.10 introduced a number of "Special Backtracking Control Verbs", which
are described in the Perl documentation as "experimental and subject to change
or removal in a future version of Perl". It goes on to say: "Their usage in
production code should be noted to avoid problems during upgrades." The same
remarks apply to the PCRE features described in this section.
</P>
<P>
Since these verbs are specifically related to backtracking, most of them can be
used only when the pattern is to be matched using <b>pcre_exec()</b>, which uses
a backtracking algorithm. With the exception of (*FAIL), which behaves like a
failing negative assertion, they cause an error if encountered by
<b>pcre_dfa_exec()</b>.
</P>
<P>
If any of these verbs are used in an assertion or subroutine subpattern
(including recursive subpatterns), their effect is confined to that subpattern;
it does not extend to the surrounding pattern. Note that such subpatterns are
processed as anchored at the point where they are tested.
</P>
<P>
The new verbs make use of what was previously invalid syntax: an opening
parenthesis followed by an asterisk. In Perl, they are generally of the form
(*VERB:ARG) but PCRE does not support the use of arguments, so its general
form is just (*VERB). Any number of these verbs may occur in a pattern. There
are two kinds:
</P>
<br><b>
Verbs that act immediately
</b><br>
<P>
The following verbs act as soon as they are encountered:
<pre>
   (*ACCEPT)
</pre>
This verb causes the match to end successfully, skipping the remainder of the
pattern. When inside a recursion, only the innermost pattern is ended
immediately. If (*ACCEPT) is inside capturing parentheses, the data so far is
captured. (This feature was added to PCRE at release 8.00.) For example:
<pre>
  A((?:A|B(*ACCEPT)|C)D)
</pre>
This matches "AB", "AAD", or "ACD"; when it matches "AB", "B" is captured by
the outer parentheses.
<pre>
  (*FAIL) or (*F)
</pre>
This verb causes the match to fail, forcing backtracking to occur. It is
equivalent to (?!) but easier to read. The Perl documentation notes that it is
probably useful only when combined with (?{}) or (??{}). Those are, of course,
Perl features that are not present in PCRE. The nearest equivalent is the
callout feature, as for example in this pattern:
<pre>
  a+(?C)(*FAIL)
</pre>
A match with the string "aaaa" always fails, but the callout is taken before
each backtrack happens (in this example, 10 times).
</P>
<br><b>
Verbs that act after backtracking
</b><br>
<P>
The following verbs do nothing when they are encountered. Matching continues
with what follows, but if there is no subsequent match, a failure is forced.
The verbs differ in exactly what kind of failure occurs.
<pre>
  (*COMMIT)
</pre>
This verb causes the whole match to fail outright if the rest of the pattern
does not match. Even if the pattern is unanchored, no further attempts to find
a match by advancing the starting point take place. Once (*COMMIT) has been
passed, <b>pcre_exec()</b> is committed to finding a match at the current
starting point, or not at all. For example:
<pre>
  a+(*COMMIT)b
</pre>
This matches "xxaab" but not "aacaab". It can be thought of as a kind of
dynamic anchor, or "I've started, so I must finish."
<pre>
  (*PRUNE)
</pre>
This verb causes the match to fail at the current position if the rest of the
pattern does not match. If the pattern is unanchored, the normal "bumpalong"
advance to the next starting character then happens. Backtracking can occur as
usual to the left of (*PRUNE), or when matching to the right of (*PRUNE), but
if there is no match to the right, backtracking cannot cross (*PRUNE).
In simple cases, the use of (*PRUNE) is just an alternative to an atomic
group or possessive quantifier, but there are some uses of (*PRUNE) that cannot
be expressed in any other way.
<pre>
  (*SKIP)
</pre>
This verb is like (*PRUNE), except that if the pattern is unanchored, the
"bumpalong" advance is not to the next character, but to the position in the
subject where (*SKIP) was encountered. (*SKIP) signifies that whatever text
was matched leading up to it cannot be part of a successful match. Consider:
<pre>
  a+(*SKIP)b
</pre>
If the subject is "aaaac...", after the first match attempt fails (starting at
the first character in the string), the starting point skips on to start the
next attempt at "c". Note that a possessive quantifer does not have the same
effect as this example; although it would suppress backtracking during the
first match attempt, the second attempt would start at the second character
instead of skipping on to "c".
<pre>
  (*THEN)
</pre>
This verb causes a skip to the next alternation if the rest of the pattern does
not match. That is, it cancels pending backtracking, but only within the
current alternation. Its name comes from the observation that it can be used
for a pattern-based if-then-else block:
<pre>
  ( COND1 (*THEN) FOO | COND2 (*THEN) BAR | COND3 (*THEN) BAZ ) ...
</pre>
If the COND1 pattern matches, FOO is tried (and possibly further items after
the end of the group if FOO succeeds); on failure the matcher skips to the
second alternative and tries COND2, without backtracking into COND1. If (*THEN)
is used outside of any alternation, it acts exactly like (*PRUNE).
</P>
<br><a name="SEC26" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcreapi</b>(3), <b>pcrecallout</b>(3), <b>pcrematching</b>(3),
<b>pcresyntax</b>(3), <b>pcre</b>(3).
</P>
<br><a name="SEC27" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC28" href="#TOC1">REVISION</a><br>
<P>
Last updated: 06 March 2010
<br>
Copyright &copy; 1997-2010 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcreperform.html000064400000016155150405535540015645 0ustar00<html>
<head>
<title>pcreperform specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcreperform man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
PCRE PERFORMANCE
</b><br>
<P>
Two aspects of performance are discussed below: memory usage and processing
time. The way you express your pattern as a regular expression can affect both
of them.
</P>
<br><b>
COMPILED PATTERN MEMORY USAGE
</b><br>
<P>
Patterns are compiled by PCRE into a reasonably efficient byte code, so that
most simple patterns do not use much memory. However, there is one case where
the memory usage of a compiled pattern can be unexpectedly large. If a
parenthesized subpattern has a quantifier with a minimum greater than 1 and/or
a limited maximum, the whole subpattern is repeated in the compiled code. For
example, the pattern
<pre>
  (abc|def){2,4}
</pre>
is compiled as if it were
<pre>
  (abc|def)(abc|def)((abc|def)(abc|def)?)?
</pre>
(Technical aside: It is done this way so that backtrack points within each of
the repetitions can be independently maintained.)
</P>
<P>
For regular expressions whose quantifiers use only small numbers, this is not
usually a problem. However, if the numbers are large, and particularly if such
repetitions are nested, the memory usage can become an embarrassment. For
example, the very simple pattern
<pre>
  ((ab){1,1000}c){1,3}
</pre>
uses 51K bytes when compiled. When PCRE is compiled with its default internal
pointer size of two bytes, the size limit on a compiled pattern is 64K, and
this is reached with the above pattern if the outer repetition is increased
from 3 to 4. PCRE can be compiled to use larger internal pointers and thus
handle larger compiled patterns, but it is better to try to rewrite your
pattern to use less memory if you can.
</P>
<P>
One way of reducing the memory usage for such patterns is to make use of PCRE's
<a href="pcrepattern.html#subpatternsassubroutines">"subroutine"</a>
facility. Re-writing the above pattern as
<pre>
  ((ab)(?2){0,999}c)(?1){0,2}
</pre>
reduces the memory requirements to 18K, and indeed it remains under 20K even
with the outer repetition increased to 100. However, this pattern is not
exactly equivalent, because the "subroutine" calls are treated as
<a href="pcrepattern.html#atomicgroup">atomic groups</a>
into which there can be no backtracking if there is a subsequent matching
failure. Therefore, PCRE cannot do this kind of rewriting automatically.
Furthermore, there is a noticeable loss of speed when executing the modified
pattern. Nevertheless, if the atomic grouping is not a problem and the loss of
speed is acceptable, this kind of rewriting will allow you to process patterns
that PCRE cannot otherwise handle.
</P>
<br><b>
STACK USAGE AT RUN TIME
</b><br>
<P>
When <b>pcre_exec()</b> is used for matching, certain kinds of pattern can cause
it to use large amounts of the process stack. In some environments the default
process stack is quite small, and if it runs out the result is often SIGSEGV.
This issue is probably the most frequently raised problem with PCRE. Rewriting
your pattern can often help. The
<a href="pcrestack.html"><b>pcrestack</b></a>
documentation discusses this issue in detail.
</P>
<br><b>
PROCESSING TIME
</b><br>
<P>
Certain items in regular expression patterns are processed more efficiently
than others. It is more efficient to use a character class like [aeiou] than a
set of single-character alternatives such as (a|e|i|o|u). In general, the
simplest construction that provides the required behaviour is usually the most
efficient. Jeffrey Friedl's book contains a lot of useful general discussion
about optimizing regular expressions for efficient performance. This document
contains a few observations about PCRE.
</P>
<P>
Using Unicode character properties (the \p, \P, and \X escapes) is slow,
because PCRE has to scan a structure that contains data for over fifteen
thousand characters whenever it needs a character's property. If you can find
an alternative pattern that does not use character properties, it will probably
be faster.
</P>
<P>
When a pattern begins with .* not in parentheses, or in parentheses that are
not the subject of a backreference, and the PCRE_DOTALL option is set, the
pattern is implicitly anchored by PCRE, since it can match only at the start of
a subject string. However, if PCRE_DOTALL is not set, PCRE cannot make this
optimization, because the . metacharacter does not then match a newline, and if
the subject string contains newlines, the pattern may match from the character
immediately following one of them instead of from the very start. For example,
the pattern
<pre>
  .*second
</pre>
matches the subject "first\nand second" (where \n stands for a newline
character), with the match starting at the seventh character. In order to do
this, PCRE has to retry the match starting after every newline in the subject.
</P>
<P>
If you are using such a pattern with subject strings that do not contain
newlines, the best performance is obtained by setting PCRE_DOTALL, or starting
the pattern with ^.* or ^.*? to indicate explicit anchoring. That saves PCRE
from having to scan along the subject looking for a newline to restart at.
</P>
<P>
Beware of patterns that contain nested indefinite repeats. These can take a
long time to run when applied to a string that does not match. Consider the
pattern fragment
<pre>
  ^(a+)*
</pre>
This can match "aaaa" in 16 different ways, and this number increases very
rapidly as the string gets longer. (The * repeat can match 0, 1, 2, 3, or 4
times, and for each of those cases other than 0 or 4, the + repeats can match
different numbers of times.) When the remainder of the pattern is such that the
entire match is going to fail, PCRE has in principle to try every possible
variation, and this can take an extremely long time, even for relatively short
strings.
</P>
<P>
An optimization catches some of the more simple cases such as
<pre>
  (a+)*b
</pre>
where a literal character follows. Before embarking on the standard matching
procedure, PCRE checks that there is a "b" later in the subject string, and if
there is not, it fails the match immediately. However, when there is no
following literal this optimization cannot be used. You can see the difference
by comparing the behaviour of
<pre>
  (a+)*\d
</pre>
with the pattern above. The former gives a failure almost instantly when
applied to a whole line of "a" characters, whereas the latter takes an
appreciable time with strings longer than about 20 characters.
</P>
<P>
In many cases, the solution to this kind of performance issue is to use an
atomic group or a possessive quantifier.
</P>
<br><b>
AUTHOR
</b><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><b>
REVISION
</b><br>
<P>
Last updated: 07 March 2010
<br>
Copyright &copy; 1997-2010 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre-config.html000064400000005421150405535540015507 0ustar00<html>
<head>
<title>pcre-config specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre-config man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
<li><a name="TOC3" href="#SEC3">OPTIONS</a>
<li><a name="TOC4" href="#SEC4">SEE ALSO</a>
<li><a name="TOC5" href="#SEC5">AUTHOR</a>
<li><a name="TOC6" href="#SEC6">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SYNOPSIS</a><br>
<P>
<b>pcre-config  [--prefix] [--exec-prefix] [--version] [--libs]</b>
<b>[--libs-posix] [--cflags] [--cflags-posix]</b>
</P>
<br><a name="SEC2" href="#TOC1">DESCRIPTION</a><br>
<P>
<b>pcre-config</b> returns the configuration of the installed PCRE
libraries and the options required to compile a program to use them.
</P>
<br><a name="SEC3" href="#TOC1">OPTIONS</a><br>
<P>
<b>--prefix</b>
Writes the directory prefix used in the PCRE installation for architecture
independent files (<i>/usr</i> on many systems, <i>/usr/local</i> on some
systems) to the standard output.
</P>
<P>
<b>--exec-prefix</b>
Writes the directory prefix used in the PCRE installation for architecture
dependent files (normally the same as <b>--prefix</b>) to the standard output.
</P>
<P>
<b>--version</b>
Writes the version number of the installed PCRE libraries to the standard
output.
</P>
<P>
<b>--libs</b>
Writes to the standard output the command line options required to link
with PCRE (<b>-lpcre</b> on many systems).
</P>
<P>
<b>--libs-posix</b>
Writes to the standard output the command line options required to link with
the PCRE posix emulation library (<b>-lpcreposix</b> <b>-lpcre</b> on many
systems).
</P>
<P>
<b>--cflags</b>
Writes to the standard output the command line options required to compile
files that use PCRE (this may include some <b>-I</b> options, but is blank on
many systems).
</P>
<P>
<b>--cflags-posix</b>
Writes to the standard output the command line options required to compile
files that use the PCRE posix emulation library (this may include some <b>-I</b>
options, but is blank on many systems).
</P>
<br><a name="SEC4" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcre(3)</b>
</P>
<br><a name="SEC5" href="#TOC1">AUTHOR</a><br>
<P>
This manual page was originally written by Mark Baker for the Debian GNU/Linux
system. It has been slightly revised as a generic PCRE man page.
</P>
<br><a name="SEC6" href="#TOC1">REVISION</a><br>
<P>
Last updated: 18 April 2007
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcreprecompile.html000064400000014675150405535540016337 0ustar00<html>
<head>
<title>pcreprecompile specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcreprecompile man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SAVING AND RE-USING PRECOMPILED PCRE PATTERNS</a>
<li><a name="TOC2" href="#SEC2">SAVING A COMPILED PATTERN</a>
<li><a name="TOC3" href="#SEC3">RE-USING A PRECOMPILED PATTERN</a>
<li><a name="TOC4" href="#SEC4">COMPATIBILITY WITH DIFFERENT PCRE RELEASES</a>
<li><a name="TOC5" href="#SEC5">AUTHOR</a>
<li><a name="TOC6" href="#SEC6">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SAVING AND RE-USING PRECOMPILED PCRE PATTERNS</a><br>
<P>
If you are running an application that uses a large number of regular
expression patterns, it may be useful to store them in a precompiled form
instead of having to compile them every time the application is run.
If you are not using any private character tables (see the
<a href="pcre_maketables.html"><b>pcre_maketables()</b></a>
documentation), this is relatively straightforward. If you are using private
tables, it is a little bit more complicated.
</P>
<P>
If you save compiled patterns to a file, you can copy them to a different host
and run them there. This works even if the new host has the opposite endianness
to the one on which the patterns were compiled. There may be a small
performance penalty, but it should be insignificant. However, compiling regular
expressions with one version of PCRE for use with a different version is not
guaranteed to work and may cause crashes.
</P>
<br><a name="SEC2" href="#TOC1">SAVING A COMPILED PATTERN</a><br>
<P>
The value returned by <b>pcre_compile()</b> points to a single block of memory
that holds the compiled pattern and associated data. You can find the length of
this block in bytes by calling <b>pcre_fullinfo()</b> with an argument of
PCRE_INFO_SIZE. You can then save the data in any appropriate manner. Here is
sample code that compiles a pattern and writes it to a file. It assumes that
the variable <i>fd</i> refers to a file that is open for output:
<pre>
  int erroroffset, rc, size;
  char *error;
  pcre *re;

  re = pcre_compile("my pattern", 0, &error, &erroroffset, NULL);
  if (re == NULL) { ... handle errors ... }
  rc = pcre_fullinfo(re, NULL, PCRE_INFO_SIZE, &size);
  if (rc &#60; 0) { ... handle errors ... }
  rc = fwrite(re, 1, size, fd);
  if (rc != size) { ... handle errors ... }
</pre>
In this example, the bytes that comprise the compiled pattern are copied
exactly. Note that this is binary data that may contain any of the 256 possible
byte values. On systems that make a distinction between binary and non-binary
data, be sure that the file is opened for binary output.
</P>
<P>
If you want to write more than one pattern to a file, you will have to devise a
way of separating them. For binary data, preceding each pattern with its length
is probably the most straightforward approach. Another possibility is to write
out the data in hexadecimal instead of binary, one pattern to a line.
</P>
<P>
Saving compiled patterns in a file is only one possible way of storing them for
later use. They could equally well be saved in a database, or in the memory of
some daemon process that passes them via sockets to the processes that want
them.
</P>
<P>
If the pattern has been studied, it is also possible to save the study data in
a similar way to the compiled pattern itself. When studying generates
additional information, <b>pcre_study()</b> returns a pointer to a
<b>pcre_extra</b> data block. Its format is defined in the
<a href="pcreapi.html#extradata">section on matching a pattern</a>
in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation. The <i>study_data</i> field points to the binary study data, and
this is what you must save (not the <b>pcre_extra</b> block itself). The length
of the study data can be obtained by calling <b>pcre_fullinfo()</b> with an
argument of PCRE_INFO_STUDYSIZE. Remember to check that <b>pcre_study()</b> did
return a non-NULL value before trying to save the study data.
</P>
<br><a name="SEC3" href="#TOC1">RE-USING A PRECOMPILED PATTERN</a><br>
<P>
Re-using a precompiled pattern is straightforward. Having reloaded it into main
memory, you pass its pointer to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b> in
the usual way. This should work even on another host, and even if that host has
the opposite endianness to the one where the pattern was compiled.
</P>
<P>
However, if you passed a pointer to custom character tables when the pattern
was compiled (the <i>tableptr</i> argument of <b>pcre_compile()</b>), you must
now pass a similar pointer to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>,
because the value saved with the compiled pattern will obviously be nonsense. A
field in a <b>pcre_extra()</b> block is used to pass this data, as described in
the
<a href="pcreapi.html#extradata">section on matching a pattern</a>
in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<P>
If you did not provide custom character tables when the pattern was compiled,
the pointer in the compiled pattern is NULL, which causes <b>pcre_exec()</b> to
use PCRE's internal tables. Thus, you do not need to take any special action at
run time in this case.
</P>
<P>
If you saved study data with the compiled pattern, you need to create your own
<b>pcre_extra</b> data block and set the <i>study_data</i> field to point to the
reloaded study data. You must also set the PCRE_EXTRA_STUDY_DATA bit in the
<i>flags</i> field to indicate that study data is present. Then pass the
<b>pcre_extra</b> block to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b> in the
usual way.
</P>
<br><a name="SEC4" href="#TOC1">COMPATIBILITY WITH DIFFERENT PCRE RELEASES</a><br>
<P>
In general, it is safest to recompile all saved patterns when you update to a
new PCRE release, though not all updates actually require this. Recompiling is
definitely needed for release 7.2.
</P>
<br><a name="SEC5" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC6" href="#TOC1">REVISION</a><br>
<P>
Last updated: 13 June 2007
<br>
Copyright &copy; 1997-2007 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/index.html000064400000013050150405535540014417 0ustar00<html>
<!-- This is a manually maintained file that is the root of the HTML version of
     the PCRE documentation. When the HTML documents are built from the man
     page versions, the entire doc/html directory is emptied, this file is then
     copied into doc/html/index.html, and the remaining files therein are
     created by the 132html script.
-->
<head>
<title>PCRE specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>Perl-compatible Regular Expressions (PCRE)</h1>
<p>
The HTML documentation for PCRE comprises the following pages:
</p>

<table>
<tr><td><a href="pcre.html">pcre</a></td>
    <td>&nbsp;&nbsp;Introductory page</td></tr>

<tr><td><a href="pcre-config.html">pcre-config</a></td>
    <td>&nbsp;&nbsp;Information about the installation configuration</td></tr>

<tr><td><a href="pcreapi.html">pcreapi</a></td>
    <td>&nbsp;&nbsp;PCRE's native API</td></tr>

<tr><td><a href="pcrebuild.html">pcrebuild</a></td>
    <td>&nbsp;&nbsp;Options for building PCRE</td></tr>

<tr><td><a href="pcrecallout.html">pcrecallout</a></td>
    <td>&nbsp;&nbsp;The <i>callout</i> facility</td></tr>

<tr><td><a href="pcrecompat.html">pcrecompat</a></td>
    <td>&nbsp;&nbsp;Compability with Perl</td></tr>

<tr><td><a href="pcrecpp.html">pcrecpp</a></td>
    <td>&nbsp;&nbsp;The C++ wrapper for the PCRE library</td></tr>

<tr><td><a href="pcredemo.html">pcredemo</a></td>
    <td>&nbsp;&nbsp;A demonstration C program that uses the PCRE library</td></tr>

<tr><td><a href="pcregrep.html">pcregrep</a></td>
    <td>&nbsp;&nbsp;The <b>pcregrep</b> command</td></tr>

<tr><td><a href="pcrematching.html">pcrematching</a></td>
    <td>&nbsp;&nbsp;Discussion of the two matching algorithms</td></tr>

<tr><td><a href="pcrepartial.html">pcrepartial</a></td>
    <td>&nbsp;&nbsp;Using PCRE for partial matching</td></tr>

<tr><td><a href="pcrepattern.html">pcrepattern</a></td>
    <td>&nbsp;&nbsp;Specification of the regular expressions supported by PCRE</td></tr>

<tr><td><a href="pcreperform.html">pcreperform</a></td>
    <td>&nbsp;&nbsp;Some comments on performance</td></tr>

<tr><td><a href="pcreposix.html">pcreposix</a></td>
    <td>&nbsp;&nbsp;The POSIX API to the PCRE library</td></tr>

<tr><td><a href="pcreprecompile.html">pcreprecompile</a></td>
    <td>&nbsp;&nbsp;How to save and re-use compiled patterns</td></tr>

<tr><td><a href="pcresample.html">pcresample</a></td>
    <td>&nbsp;&nbsp;Discussion of the pcredemo program</td></tr>

<tr><td><a href="pcrestack.html">pcrestack</a></td>
    <td>&nbsp;&nbsp;Discussion of PCRE's stack usage</td></tr>

<tr><td><a href="pcresyntax.html">pcresyntax</a></td>
    <td>&nbsp;&nbsp;Syntax quick-reference summary</td></tr>

<tr><td><a href="pcretest.html">pcretest</a></td>
    <td>&nbsp;&nbsp;The <b>pcretest</b> command for testing PCRE</td></tr>
</table>

<p>
There are also individual pages that summarize the interface for each function
in the library:
</p>

<table>

<tr><td><a href="pcre_compile.html">pcre_compile</a></td>
    <td>&nbsp;&nbsp;Compile a regular expression</td></tr>

<tr><td><a href="pcre_compile2.html">pcre_compile2</a></td>
    <td>&nbsp;&nbsp;Compile a regular expression (alternate interface)</td></tr>

<tr><td><a href="pcre_config.html">pcre_config</a></td>
    <td>&nbsp;&nbsp;Show build-time configuration options</td></tr>

<tr><td><a href="pcre_copy_named_substring.html">pcre_copy_named_substring</a></td>
    <td>&nbsp;&nbsp;Extract named substring into given buffer</td></tr>

<tr><td><a href="pcre_copy_substring.html">pcre_copy_substring</a></td>
    <td>&nbsp;&nbsp;Extract numbered substring into given buffer</td></tr>

<tr><td><a href="pcre_dfa_exec.html">pcre_dfa_exec</a></td>
    <td>&nbsp;&nbsp;Match a compiled pattern to a subject string
    (DFA algorithm; <i>not</i> Perl compatible)</td></tr>

<tr><td><a href="pcre_exec.html">pcre_exec</a></td>
    <td>&nbsp;&nbsp;Match a compiled pattern to a subject string
    (Perl compatible)</td></tr>

<tr><td><a href="pcre_free_substring.html">pcre_free_substring</a></td>
    <td>&nbsp;&nbsp;Free extracted substring</td></tr>

<tr><td><a href="pcre_free_substring_list.html">pcre_free_substring_list</a></td>
    <td>&nbsp;&nbsp;Free list of extracted substrings</td></tr>

<tr><td><a href="pcre_fullinfo.html">pcre_fullinfo</a></td>
    <td>&nbsp;&nbsp;Extract information about a pattern</td></tr>

<tr><td><a href="pcre_get_named_substring.html">pcre_get_named_substring</a></td>
    <td>&nbsp;&nbsp;Extract named substring into new memory</td></tr>

<tr><td><a href="pcre_get_stringnumber.html">pcre_get_stringnumber</a></td>
    <td>&nbsp;&nbsp;Convert captured string name to number</td></tr>

<tr><td><a href="pcre_get_substring.html">pcre_get_substring</a></td>
    <td>&nbsp;&nbsp;Extract numbered substring into new memory</td></tr>

<tr><td><a href="pcre_get_substring_list.html">pcre_get_substring_list</a></td>
    <td>&nbsp;&nbsp;Extract all substrings into new memory</td></tr>

<tr><td><a href="pcre_info.html">pcre_info</a></td>
    <td>&nbsp;&nbsp;Obsolete information extraction function</td></tr>

<tr><td><a href="pcre_maketables.html">pcre_maketables</a></td>
    <td>&nbsp;&nbsp;Build character tables in current locale</td></tr>

<tr><td><a href="pcre_refcount.html">pcre_refcount</a></td>
    <td>&nbsp;&nbsp;Maintain reference count in compiled pattern</td></tr>

<tr><td><a href="pcre_study.html">pcre_study</a></td>
    <td>&nbsp;&nbsp;Study a compiled pattern</td></tr>

<tr><td><a href="pcre_version.html">pcre_version</a></td>
    <td>&nbsp;&nbsp;Return PCRE version and release date</td></tr>
</table>

</html>
share/doc/alt-pcre802-devel/html/pcrecpp.html000064400000033724150405535540014756 0ustar00<html>
<head>
<title>pcrecpp specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrecpp man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS OF C++ WRAPPER</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
<li><a name="TOC3" href="#SEC3">MATCHING INTERFACE</a>
<li><a name="TOC4" href="#SEC4">QUOTING METACHARACTERS</a>
<li><a name="TOC5" href="#SEC5">PARTIAL MATCHES</a>
<li><a name="TOC6" href="#SEC6">UTF-8 AND THE MATCHING INTERFACE</a>
<li><a name="TOC7" href="#SEC7">PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE</a>
<li><a name="TOC8" href="#SEC8">SCANNING TEXT INCREMENTALLY</a>
<li><a name="TOC9" href="#SEC9">PARSING HEX/OCTAL/C-RADIX NUMBERS</a>
<li><a name="TOC10" href="#SEC10">REPLACING PARTS OF STRINGS</a>
<li><a name="TOC11" href="#SEC11">AUTHOR</a>
<li><a name="TOC12" href="#SEC12">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SYNOPSIS OF C++ WRAPPER</a><br>
<P>
<b>#include &#60;pcrecpp.h&#62;</b>
</P>
<br><a name="SEC2" href="#TOC1">DESCRIPTION</a><br>
<P>
The C++ wrapper for PCRE was provided by Google Inc. Some additional
functionality was added by Giuseppe Maxia. This brief man page was constructed
from the notes in the <i>pcrecpp.h</i> file, which should be consulted for
further details.
</P>
<br><a name="SEC3" href="#TOC1">MATCHING INTERFACE</a><br>
<P>
The "FullMatch" operation checks that supplied text matches a supplied pattern
exactly. If pointer arguments are supplied, it copies matched sub-strings that
match sub-patterns into them.
<pre>
  Example: successful match
     pcrecpp::RE re("h.*o");
     re.FullMatch("hello");

  Example: unsuccessful match (requires full match):
     pcrecpp::RE re("e");
     !re.FullMatch("hello");

  Example: creating a temporary RE object:
     pcrecpp::RE("h.*o").FullMatch("hello");
</pre>
You can pass in a "const char*" or a "string" for "text". The examples below
tend to use a const char*. You can, as in the different examples above, store
the RE object explicitly in a variable or use a temporary RE object. The
examples below use one mode or the other arbitrarily. Either could correctly be
used for any of these examples.
</P>
<P>
You must supply extra pointer arguments to extract matched subpieces.
<pre>
  Example: extracts "ruby" into "s" and 1234 into "i"
     int i;
     string s;
     pcrecpp::RE re("(\\w+):(\\d+)");
     re.FullMatch("ruby:1234", &s, &i);

  Example: does not try to extract any extra sub-patterns
     re.FullMatch("ruby:1234", &s);

  Example: does not try to extract into NULL
     re.FullMatch("ruby:1234", NULL, &i);

  Example: integer overflow causes failure
     !re.FullMatch("ruby:1234567891234", NULL, &i);

  Example: fails because there aren't enough sub-patterns:
     !pcrecpp::RE("\\w+:\\d+").FullMatch("ruby:1234", &s);

  Example: fails because string cannot be stored in integer
     !pcrecpp::RE("(.*)").FullMatch("ruby", &i);
</pre>
The provided pointer arguments can be pointers to any scalar numeric
type, or one of:
<pre>
   string        (matched piece is copied to string)
   StringPiece   (StringPiece is mutated to point to matched piece)
   T             (where "bool T::ParseFrom(const char*, int)" exists)
   NULL          (the corresponding matched sub-pattern is not copied)
</pre>
The function returns true iff all of the following conditions are satisfied:
<pre>
  a. "text" matches "pattern" exactly;

  b. The number of matched sub-patterns is &#62;= number of supplied
     pointers;

  c. The "i"th argument has a suitable type for holding the
     string captured as the "i"th sub-pattern. If you pass in
     void * NULL for the "i"th argument, or a non-void * NULL
     of the correct type, or pass fewer arguments than the
     number of sub-patterns, "i"th captured sub-pattern is
     ignored.
</pre>
CAVEAT: An optional sub-pattern that does not exist in the matched
string is assigned the empty string. Therefore, the following will
return false (because the empty string is not a valid number):
<pre>
   int number;
   pcrecpp::RE::FullMatch("abc", "[a-z]+(\\d+)?", &number);
</pre>
The matching interface supports at most 16 arguments per call.
If you need more, consider using the more general interface
<b>pcrecpp::RE::DoMatch</b>. See <b>pcrecpp.h</b> for the signature for
<b>DoMatch</b>.
</P>
<P>
NOTE: Do not use <b>no_arg</b>, which is used internally to mark the end of a
list of optional arguments, as a placeholder for missing arguments, as this can
lead to segfaults.
</P>
<br><a name="SEC4" href="#TOC1">QUOTING METACHARACTERS</a><br>
<P>
You can use the "QuoteMeta" operation to insert backslashes before all
potentially meaningful characters in a string. The returned string, used as a
regular expression, will exactly match the original string.
<pre>
  Example:
     string quoted = RE::QuoteMeta(unquoted);
</pre>
Note that it's legal to escape a character even if it has no special meaning in
a regular expression -- so this function does that. (This also makes it
identical to the perl function of the same name; see "perldoc -f quotemeta".)
For example, "1.5-2.0?" becomes "1\.5\-2\.0\?".
</P>
<br><a name="SEC5" href="#TOC1">PARTIAL MATCHES</a><br>
<P>
You can use the "PartialMatch" operation when you want the pattern
to match any substring of the text.
<pre>
  Example: simple search for a string:
     pcrecpp::RE("ell").PartialMatch("hello");

  Example: find first number in a string:
     int number;
     pcrecpp::RE re("(\\d+)");
     re.PartialMatch("x*100 + 20", &number);
     assert(number == 100);
</PRE>
</P>
<br><a name="SEC6" href="#TOC1">UTF-8 AND THE MATCHING INTERFACE</a><br>
<P>
By default, pattern and text are plain text, one byte per character. The UTF8
flag, passed to the constructor, causes both pattern and string to be treated
as UTF-8 text, still a byte stream but potentially multiple bytes per
character. In practice, the text is likelier to be UTF-8 than the pattern, but
the match returned may depend on the UTF8 flag, so always use it when matching
UTF8 text. For example, "." will match one byte normally but with UTF8 set may
match up to three bytes of a multi-byte character.
<pre>
  Example:
     pcrecpp::RE_Options options;
     options.set_utf8();
     pcrecpp::RE re(utf8_pattern, options);
     re.FullMatch(utf8_string);

  Example: using the convenience function UTF8():
     pcrecpp::RE re(utf8_pattern, pcrecpp::UTF8());
     re.FullMatch(utf8_string);
</pre>
NOTE: The UTF8 flag is ignored if pcre was not configured with the
<pre>
      --enable-utf8 flag.
</PRE>
</P>
<br><a name="SEC7" href="#TOC1">PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE</a><br>
<P>
PCRE defines some modifiers to change the behavior of the regular expression
engine. The C++ wrapper defines an auxiliary class, RE_Options, as a vehicle to
pass such modifiers to a RE class. Currently, the following modifiers are
supported:
<pre>
   modifier              description               Perl corresponding

   PCRE_CASELESS         case insensitive match      /i
   PCRE_MULTILINE        multiple lines match        /m
   PCRE_DOTALL           dot matches newlines        /s
   PCRE_DOLLAR_ENDONLY   $ matches only at end       N/A
   PCRE_EXTRA            strict escape parsing       N/A
   PCRE_EXTENDED         ignore whitespaces          /x
   PCRE_UTF8             handles UTF8 chars          built-in
   PCRE_UNGREEDY         reverses * and *?           N/A
   PCRE_NO_AUTO_CAPTURE  disables capturing parens   N/A (*)
</pre>
(*) Both Perl and PCRE allow non capturing parentheses by means of the
"?:" modifier within the pattern itself. e.g. (?:ab|cd) does not
capture, while (ab|cd) does.
</P>
<P>
For a full account on how each modifier works, please check the
PCRE API reference page.
</P>
<P>
For each modifier, there are two member functions whose name is made
out of the modifier in lowercase, without the "PCRE_" prefix. For
instance, PCRE_CASELESS is handled by
<pre>
  bool caseless()
</pre>
which returns true if the modifier is set, and
<pre>
  RE_Options & set_caseless(bool)
</pre>
which sets or unsets the modifier. Moreover, PCRE_EXTRA_MATCH_LIMIT can be
accessed through the <b>set_match_limit()</b> and <b>match_limit()</b> member
functions. Setting <i>match_limit</i> to a non-zero value will limit the
execution of pcre to keep it from doing bad things like blowing the stack or
taking an eternity to return a result. A value of 5000 is good enough to stop
stack blowup in a 2MB thread stack. Setting <i>match_limit</i> to zero disables
match limiting. Alternatively, you can call <b>match_limit_recursion()</b>
which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much PCRE
recurses. <b>match_limit()</b> limits the number of matches PCRE does;
<b>match_limit_recursion()</b> limits the depth of internal recursion, and
therefore the amount of stack that is used.
</P>
<P>
Normally, to pass one or more modifiers to a RE class, you declare
a <i>RE_Options</i> object, set the appropriate options, and pass this
object to a RE constructor. Example:
<pre>
   RE_options opt;
   opt.set_caseless(true);
   if (RE("HELLO", opt).PartialMatch("hello world")) ...
</pre>
RE_options has two constructors. The default constructor takes no arguments and
creates a set of flags that are off by default. The optional parameter
<i>option_flags</i> is to facilitate transfer of legacy code from C programs.
This lets you do
<pre>
   RE(pattern,
     RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
</pre>
However, new code is better off doing
<pre>
   RE(pattern,
     RE_Options().set_caseless(true).set_multiline(true))
       .PartialMatch(str);
</pre>
If you are going to pass one of the most used modifiers, there are some
convenience functions that return a RE_Options class with the
appropriate modifier already set: <b>CASELESS()</b>, <b>UTF8()</b>,
<b>MULTILINE()</b>, <b>DOTALL</b>(), and <b>EXTENDED()</b>.
</P>
<P>
If you need to set several options at once, and you don't want to go through
the pains of declaring a RE_Options object and setting several options, there
is a parallel method that give you such ability on the fly. You can concatenate
several <b>set_xxxxx()</b> member functions, since each of them returns a
reference to its class object. For example, to pass PCRE_CASELESS,
PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one statement, you may write:
<pre>
   RE(" ^ xyz \\s+ .* blah$",
     RE_Options()
       .set_caseless(true)
       .set_extended(true)
       .set_multiline(true)).PartialMatch(sometext);

</PRE>
</P>
<br><a name="SEC8" href="#TOC1">SCANNING TEXT INCREMENTALLY</a><br>
<P>
The "Consume" operation may be useful if you want to repeatedly
match regular expressions at the front of a string and skip over
them as they match. This requires use of the "StringPiece" type,
which represents a sub-range of a real string. Like RE, StringPiece
is defined in the pcrecpp namespace.
<pre>
  Example: read lines of the form "var = value" from a string.
     string contents = ...;                 // Fill string somehow
     pcrecpp::StringPiece input(contents);  // Wrap in a StringPiece
</PRE>
</P>
<P>
<pre>
     string var;
     int value;
     pcrecpp::RE re("(\\w+) = (\\d+)\n");
     while (re.Consume(&input, &var, &value)) {
       ...;
     }
</pre>
Each successful call to "Consume" will set "var/value", and also
advance "input" so it points past the matched text.
</P>
<P>
The "FindAndConsume" operation is similar to "Consume" but does not
anchor your match at the beginning of the string. For example, you
could extract all words from a string by repeatedly calling
<pre>
  pcrecpp::RE("(\\w+)").FindAndConsume(&input, &word)
</PRE>
</P>
<br><a name="SEC9" href="#TOC1">PARSING HEX/OCTAL/C-RADIX NUMBERS</a><br>
<P>
By default, if you pass a pointer to a numeric value, the
corresponding text is interpreted as a base-10 number. You can
instead wrap the pointer with a call to one of the operators Hex(),
Octal(), or CRadix() to interpret the text in another base. The
CRadix operator interprets C-style "0" (base-8) and "0x" (base-16)
prefixes, but defaults to base-10.
<pre>
  Example:
    int a, b, c, d;
    pcrecpp::RE re("(.*) (.*) (.*) (.*)");
    re.FullMatch("100 40 0100 0x40",
                 pcrecpp::Octal(&a), pcrecpp::Hex(&b),
                 pcrecpp::CRadix(&c), pcrecpp::CRadix(&d));
</pre>
will leave 64 in a, b, c, and d.
</P>
<br><a name="SEC10" href="#TOC1">REPLACING PARTS OF STRINGS</a><br>
<P>
You can replace the first match of "pattern" in "str" with "rewrite".
Within "rewrite", backslash-escaped digits (\1 to \9) can be
used to insert text matching corresponding parenthesized group
from the pattern. \0 in "rewrite" refers to the entire matching
text. For example:
<pre>
  string s = "yabba dabba doo";
  pcrecpp::RE("b+").Replace("d", &s);
</pre>
will leave "s" containing "yada dabba doo". The result is true if the pattern
matches and a replacement occurs, false otherwise.
</P>
<P>
<b>GlobalReplace</b> is like <b>Replace</b> except that it replaces all
occurrences of the pattern in the string with the rewrite. Replacements are
not subject to re-matching. For example:
<pre>
  string s = "yabba dabba doo";
  pcrecpp::RE("b+").GlobalReplace("d", &s);
</pre>
will leave "s" containing "yada dada doo". It returns the number of
replacements made.
</P>
<P>
<b>Extract</b> is like <b>Replace</b>, except that if the pattern matches,
"rewrite" is copied into "out" (an additional argument) with substitutions.
The non-matching portions of "text" are ignored. Returns true iff a match
occurred and the extraction happened successfully;  if no match occurs, the
string is left unaffected.
</P>
<br><a name="SEC11" href="#TOC1">AUTHOR</a><br>
<P>
The C++ wrapper was contributed by Google Inc.
<br>
Copyright &copy; 2007 Google Inc.
<br>
</P>
<br><a name="SEC12" href="#TOC1">REVISION</a><br>
<P>
Last updated: 17 March 2009
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_exec.html000064400000007423150405535540015254 0ustar00<html>
<head>
<title>pcre_exec specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_exec man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function matches a compiled regular expression against a given subject
string, using a matching algorithm that is similar to Perl's. It returns
offsets to captured substrings. Its arguments are:
<pre>
  <i>code</i>         Points to the compiled pattern
  <i>extra</i>        Points to an associated <b>pcre_extra</b> structure,
                 or is NULL
  <i>subject</i>      Points to the subject string
  <i>length</i>       Length of the subject string, in bytes
  <i>startoffset</i>  Offset in bytes in the subject at which to
                 start matching
  <i>options</i>      Option bits
  <i>ovector</i>      Points to a vector of ints for result offsets
  <i>ovecsize</i>     Number of elements in the vector (a multiple of 3)
</pre>
The options are:
<pre>
  PCRE_ANCHORED          Match only at the first position
  PCRE_BSR_ANYCRLF       \R matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE       \R matches all Unicode line endings
  PCRE_NEWLINE_ANY       Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF   Recognize CR, LF, & CRLF as newline sequences
  PCRE_NEWLINE_CR        Recognize CR as the only newline sequence
  PCRE_NEWLINE_CRLF      Recognize CRLF as the only newline sequence
  PCRE_NEWLINE_LF        Recognize LF as the only newline sequence
  PCRE_NOTBOL            Subject string is not the beginning of a line
  PCRE_NOTEOL            Subject string is not the end of a line
  PCRE_NOTEMPTY          An empty string is not a valid match
  PCRE_NOTEMPTY_ATSTART  An empty string at the start of the subject
                           is not a valid match
  PCRE_NO_START_OPTIMIZE Do not do "start-match" optimizations
  PCRE_NO_UTF8_CHECK     Do not check the subject for UTF-8
                           validity (only relevant if PCRE_UTF8
                           was set at compile time)
  PCRE_PARTIAL           ) Return PCRE_ERROR_PARTIAL for a partial
  PCRE_PARTIAL_SOFT      )   match if no full matches are found
  PCRE_PARTIAL_HARD      Return PCRE_ERROR_PARTIAL for a partial match
                           even if there is a full match as well
</pre>
For details of partial matching, see the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
page. A <b>pcre_extra</b> structure contains the following fields:
<pre>
  <i>flags</i>        Bits indicating which fields are set
  <i>study_data</i>   Opaque data from <b>pcre_study()</b>
  <i>match_limit</i>  Limit on internal resource use
  <i>match_limit_recursion</i>  Limit on internal recursion depth
  <i>callout_data</i> Opaque data passed back to callouts
  <i>tables</i>       Points to character tables or is NULL
</pre>
The flag bits are PCRE_EXTRA_STUDY_DATA, PCRE_EXTRA_MATCH_LIMIT,
PCRE_EXTRA_MATCH_LIMIT_RECURSION, PCRE_EXTRA_CALLOUT_DATA, and
PCRE_EXTRA_TABLES.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_get_substring.html000064400000003425150405535540017205 0ustar00<html>
<head>
<title>pcre_get_substring specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_get_substring man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_get_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for extracting a captured substring. The
arguments are:
<pre>
  <i>subject</i>       Subject that has been successfully matched
  <i>ovector</i>       Offset vector that <b>pcre_exec()</b> used
  <i>stringcount</i>   Value returned by <b>pcre_exec()</b>
  <i>stringnumber</i>  Number of the required substring
  <i>stringptr</i>     Where to put the string pointer
</pre>
The memory in which the substring is placed is obtained by calling
<b>pcre_malloc()</b>. The convenience function <b>pcre_free_substring()</b> can
be used to free it when it is no longer needed. The yield of the function is
the length of the substring, PCRE_ERROR_NOMEMORY if sufficient memory could not
be obtained, or PCRE_ERROR_NOSUBSTRING if the string number is invalid.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_free_substring_list.html000064400000002142150405535540020375 0ustar00<html>
<head>
<title>pcre_free_substring_list specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_free_substring_list man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>void pcre_free_substring_list(const char **<i>stringptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for freeing the store obtained by a previous
call to <b>pcre_get_substring_list()</b>. Its only argument is a pointer to the
list of string pointers.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrebuild.html000064400000035716150405535540015276 0ustar00<html>
<head>
<title>pcrebuild specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrebuild man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE BUILD-TIME OPTIONS</a>
<li><a name="TOC2" href="#SEC2">C++ SUPPORT</a>
<li><a name="TOC3" href="#SEC3">UTF-8 SUPPORT</a>
<li><a name="TOC4" href="#SEC4">UNICODE CHARACTER PROPERTY SUPPORT</a>
<li><a name="TOC5" href="#SEC5">CODE VALUE OF NEWLINE</a>
<li><a name="TOC6" href="#SEC6">WHAT \R MATCHES</a>
<li><a name="TOC7" href="#SEC7">BUILDING SHARED AND STATIC LIBRARIES</a>
<li><a name="TOC8" href="#SEC8">POSIX MALLOC USAGE</a>
<li><a name="TOC9" href="#SEC9">HANDLING VERY LARGE PATTERNS</a>
<li><a name="TOC10" href="#SEC10">AVOIDING EXCESSIVE STACK USAGE</a>
<li><a name="TOC11" href="#SEC11">LIMITING PCRE RESOURCE USAGE</a>
<li><a name="TOC12" href="#SEC12">CREATING CHARACTER TABLES AT BUILD TIME</a>
<li><a name="TOC13" href="#SEC13">USING EBCDIC CODE</a>
<li><a name="TOC14" href="#SEC14">PCREGREP OPTIONS FOR COMPRESSED FILE SUPPORT</a>
<li><a name="TOC15" href="#SEC15">PCRETEST OPTION FOR LIBREADLINE SUPPORT</a>
<li><a name="TOC16" href="#SEC16">SEE ALSO</a>
<li><a name="TOC17" href="#SEC17">AUTHOR</a>
<li><a name="TOC18" href="#SEC18">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE BUILD-TIME OPTIONS</a><br>
<P>
This document describes the optional features of PCRE that can be selected when
the library is compiled. It assumes use of the <b>configure</b> script, where
the optional features are selected or deselected by providing options to
<b>configure</b> before running the <b>make</b> command. However, the same
options can be selected in both Unix-like and non-Unix-like environments using
the GUI facility of <b>cmake-gui</b> if you are using <b>CMake</b> instead of
<b>configure</b> to build PCRE.
</P>
<P>
There is a lot more information about building PCRE in non-Unix-like
environments in the file called <i>NON_UNIX_USE</i>, which is part of the PCRE
distribution. You should consult this file as well as the <i>README</i> file if
you are building in a non-Unix-like environment.
</P>
<P>
The complete list of options for <b>configure</b> (which includes the standard
ones such as the selection of the installation directory) can be obtained by
running
<pre>
  ./configure --help
</pre>
The following sections include descriptions of options whose names begin with
--enable or --disable. These settings specify changes to the defaults for the
<b>configure</b> command. Because of the way that <b>configure</b> works,
--enable and --disable always come in pairs, so the complementary option always
exists as well, but as it specifies the default, it is not described.
</P>
<br><a name="SEC2" href="#TOC1">C++ SUPPORT</a><br>
<P>
By default, the <b>configure</b> script will search for a C++ compiler and C++
header files. If it finds them, it automatically builds the C++ wrapper library
for PCRE. You can disable this by adding
<pre>
  --disable-cpp
</pre>
to the <b>configure</b> command.
</P>
<br><a name="SEC3" href="#TOC1">UTF-8 SUPPORT</a><br>
<P>
To build PCRE with support for UTF-8 Unicode character strings, add
<pre>
  --enable-utf8
</pre>
to the <b>configure</b> command. Of itself, this does not make PCRE treat
strings as UTF-8. As well as compiling PCRE with this option, you also have
have to set the PCRE_UTF8 option when you call the <b>pcre_compile()</b>
or <b>pcre_compile2()</b> functions.
</P>
<P>
If you set --enable-utf8 when compiling in an EBCDIC environment, PCRE expects
its input to be either ASCII or UTF-8 (depending on the runtime option). It is
not possible to support both EBCDIC and UTF-8 codes in the same version of the
library. Consequently, --enable-utf8 and --enable-ebcdic are mutually
exclusive.
</P>
<br><a name="SEC4" href="#TOC1">UNICODE CHARACTER PROPERTY SUPPORT</a><br>
<P>
UTF-8 support allows PCRE to process character values greater than 255 in the
strings that it handles. On its own, however, it does not provide any
facilities for accessing the properties of such characters. If you want to be
able to use the pattern escapes \P, \p, and \X, which refer to Unicode
character properties, you must add
<pre>
  --enable-unicode-properties
</pre>
to the <b>configure</b> command. This implies UTF-8 support, even if you have
not explicitly requested it.
</P>
<P>
Including Unicode property support adds around 30K of tables to the PCRE
library. Only the general category properties such as <i>Lu</i> and <i>Nd</i> are
supported. Details are given in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation.
</P>
<br><a name="SEC5" href="#TOC1">CODE VALUE OF NEWLINE</a><br>
<P>
By default, PCRE interprets the linefeed (LF) character as indicating the end
of a line. This is the normal newline character on Unix-like systems. You can
compile PCRE to use carriage return (CR) instead, by adding
<pre>
  --enable-newline-is-cr
</pre>
to the <b>configure</b> command. There is also a --enable-newline-is-lf option,
which explicitly specifies linefeed as the newline character.
<br>
<br>
Alternatively, you can specify that line endings are to be indicated by the two
character sequence CRLF. If you want this, add
<pre>
  --enable-newline-is-crlf
</pre>
to the <b>configure</b> command. There is a fourth option, specified by
<pre>
  --enable-newline-is-anycrlf
</pre>
which causes PCRE to recognize any of the three sequences CR, LF, or CRLF as
indicating a line ending. Finally, a fifth option, specified by
<pre>
  --enable-newline-is-any
</pre>
causes PCRE to recognize any Unicode newline sequence.
</P>
<P>
Whatever line ending convention is selected when PCRE is built can be
overridden when the library functions are called. At build time it is
conventional to use the standard for your operating system.
</P>
<br><a name="SEC6" href="#TOC1">WHAT \R MATCHES</a><br>
<P>
By default, the sequence \R in a pattern matches any Unicode newline sequence,
whatever has been selected as the line ending sequence. If you specify
<pre>
  --enable-bsr-anycrlf
</pre>
the default is changed so that \R matches only CR, LF, or CRLF. Whatever is
selected when PCRE is built can be overridden when the library functions are
called.
</P>
<br><a name="SEC7" href="#TOC1">BUILDING SHARED AND STATIC LIBRARIES</a><br>
<P>
The PCRE building process uses <b>libtool</b> to build both shared and static
Unix libraries by default. You can suppress one of these by adding one of
<pre>
  --disable-shared
  --disable-static
</pre>
to the <b>configure</b> command, as required.
</P>
<br><a name="SEC8" href="#TOC1">POSIX MALLOC USAGE</a><br>
<P>
When PCRE is called through the POSIX interface (see the
<a href="pcreposix.html"><b>pcreposix</b></a>
documentation), additional working storage is required for holding the pointers
to capturing substrings, because PCRE requires three integers per substring,
whereas the POSIX interface provides only two. If the number of expected
substrings is small, the wrapper function uses space on the stack, because this
is faster than using <b>malloc()</b> for each call. The default threshold above
which the stack is no longer used is 10; it can be changed by adding a setting
such as
<pre>
  --with-posix-malloc-threshold=20
</pre>
to the <b>configure</b> command.
</P>
<br><a name="SEC9" href="#TOC1">HANDLING VERY LARGE PATTERNS</a><br>
<P>
Within a compiled pattern, offset values are used to point from one part to
another (for example, from an opening parenthesis to an alternation
metacharacter). By default, two-byte values are used for these offsets, leading
to a maximum size for a compiled pattern of around 64K. This is sufficient to
handle all but the most gigantic patterns. Nevertheless, some people do want to
process truyl enormous patterns, so it is possible to compile PCRE to use
three-byte or four-byte offsets by adding a setting such as
<pre>
  --with-link-size=3
</pre>
to the <b>configure</b> command. The value given must be 2, 3, or 4. Using
longer offsets slows down the operation of PCRE because it has to load
additional bytes when handling them.
</P>
<br><a name="SEC10" href="#TOC1">AVOIDING EXCESSIVE STACK USAGE</a><br>
<P>
When matching with the <b>pcre_exec()</b> function, PCRE implements backtracking
by making recursive calls to an internal function called <b>match()</b>. In
environments where the size of the stack is limited, this can severely limit
PCRE's operation. (The Unix environment does not usually suffer from this
problem, but it may sometimes be necessary to increase the maximum stack size.
There is a discussion in the
<a href="pcrestack.html"><b>pcrestack</b></a>
documentation.) An alternative approach to recursion that uses memory from the
heap to remember data, instead of using recursive function calls, has been
implemented to work round the problem of limited stack size. If you want to
build a version of PCRE that works this way, add
<pre>
  --disable-stack-for-recursion
</pre>
to the <b>configure</b> command. With this configuration, PCRE will use the
<b>pcre_stack_malloc</b> and <b>pcre_stack_free</b> variables to call memory
management functions. By default these point to <b>malloc()</b> and
<b>free()</b>, but you can replace the pointers so that your own functions are
used instead.
</P>
<P>
Separate functions are provided rather than using <b>pcre_malloc</b> and
<b>pcre_free</b> because the usage is very predictable: the block sizes
requested are always the same, and the blocks are always freed in reverse
order. A calling program might be able to implement optimized functions that
perform better than <b>malloc()</b> and <b>free()</b>. PCRE runs noticeably more
slowly when built in this way. This option affects only the <b>pcre_exec()</b>
function; it is not relevant for <b>pcre_dfa_exec()</b>.
</P>
<br><a name="SEC11" href="#TOC1">LIMITING PCRE RESOURCE USAGE</a><br>
<P>
Internally, PCRE has a function called <b>match()</b>, which it calls repeatedly
(sometimes recursively) when matching a pattern with the <b>pcre_exec()</b>
function. By controlling the maximum number of times this function may be
called during a single matching operation, a limit can be placed on the
resources used by a single call to <b>pcre_exec()</b>. The limit can be changed
at run time, as described in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation. The default is 10 million, but this can be changed by adding a
setting such as
<pre>
  --with-match-limit=500000
</pre>
to the <b>configure</b> command. This setting has no effect on the
<b>pcre_dfa_exec()</b> matching function.
</P>
<P>
In some environments it is desirable to limit the depth of recursive calls of
<b>match()</b> more strictly than the total number of calls, in order to
restrict the maximum amount of stack (or heap, if --disable-stack-for-recursion
is specified) that is used. A second limit controls this; it defaults to the
value that is set for --with-match-limit, which imposes no additional
constraints. However, you can set a lower limit by adding, for example,
<pre>
  --with-match-limit-recursion=10000
</pre>
to the <b>configure</b> command. This value can also be overridden at run time.
</P>
<br><a name="SEC12" href="#TOC1">CREATING CHARACTER TABLES AT BUILD TIME</a><br>
<P>
PCRE uses fixed tables for processing characters whose code values are less
than 256. By default, PCRE is built with a set of tables that are distributed
in the file <i>pcre_chartables.c.dist</i>. These tables are for ASCII codes
only. If you add
<pre>
  --enable-rebuild-chartables
</pre>
to the <b>configure</b> command, the distributed tables are no longer used.
Instead, a program called <b>dftables</b> is compiled and run. This outputs the
source for new set of tables, created in the default locale of your C runtime
system. (This method of replacing the tables does not work if you are cross
compiling, because <b>dftables</b> is run on the local host. If you need to
create alternative tables when cross compiling, you will have to do so "by
hand".)
</P>
<br><a name="SEC13" href="#TOC1">USING EBCDIC CODE</a><br>
<P>
PCRE assumes by default that it will run in an environment where the character
code is ASCII (or Unicode, which is a superset of ASCII). This is the case for
most computer operating systems. PCRE can, however, be compiled to run in an
EBCDIC environment by adding
<pre>
  --enable-ebcdic
</pre>
to the <b>configure</b> command. This setting implies
--enable-rebuild-chartables. You should only use it if you know that you are in
an EBCDIC environment (for example, an IBM mainframe operating system). The
--enable-ebcdic option is incompatible with --enable-utf8.
</P>
<br><a name="SEC14" href="#TOC1">PCREGREP OPTIONS FOR COMPRESSED FILE SUPPORT</a><br>
<P>
By default, <b>pcregrep</b> reads all files as plain text. You can build it so
that it recognizes files whose names end in <b>.gz</b> or <b>.bz2</b>, and reads
them with <b>libz</b> or <b>libbz2</b>, respectively, by adding one or both of
<pre>
  --enable-pcregrep-libz
  --enable-pcregrep-libbz2
</pre>
to the <b>configure</b> command. These options naturally require that the
relevant libraries are installed on your system. Configuration will fail if
they are not.
</P>
<br><a name="SEC15" href="#TOC1">PCRETEST OPTION FOR LIBREADLINE SUPPORT</a><br>
<P>
If you add
<pre>
  --enable-pcretest-libreadline
</pre>
to the <b>configure</b> command, <b>pcretest</b> is linked with the
<b>libreadline</b> library, and when its input is from a terminal, it reads it
using the <b>readline()</b> function. This provides line-editing and history
facilities. Note that <b>libreadline</b> is GPL-licensed, so if you distribute a
binary of <b>pcretest</b> linked in this way, there may be licensing issues.
</P>
<P>
Setting this option causes the <b>-lreadline</b> option to be added to the
<b>pcretest</b> build. In many operating environments with a sytem-installed
<b>libreadline</b> this is sufficient. However, in some environments (e.g.
if an unmodified distribution version of readline is in use), some extra
configuration may be necessary. The INSTALL file for <b>libreadline</b> says
this:
<pre>
  "Readline uses the termcap functions, but does not link with the
  termcap or curses library itself, allowing applications which link
  with readline the to choose an appropriate library."
</pre>
If your environment has not been set up so that an appropriate library is
automatically included, you may need to add something like
<pre>
  LIBS="-ncurses"
</pre>
immediately before the <b>configure</b> command.
</P>
<br><a name="SEC16" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcreapi</b>(3), <b>pcre_config</b>(3).
</P>
<br><a name="SEC17" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC18" href="#TOC1">REVISION</a><br>
<P>
Last updated: 29 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_compile.html000064400000006712150405535540015760 0ustar00<html>
<head>
<title>pcre_compile specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_compile man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>pcre *pcre_compile(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function compiles a regular expression into an internal form. It is the
same as <b>pcre_compile2()</b>, except for the absence of the <i>errorcodeptr</i>
argument. Its arguments are:
<pre>
  <i>pattern</i>       A zero-terminated string containing the
                  regular expression to be compiled
  <i>options</i>       Zero or more option bits
  <i>errptr</i>        Where to put an error message
  <i>erroffset</i>     Offset in pattern where error was found
  <i>tableptr</i>      Pointer to character tables, or NULL to
                  use the built-in default
</pre>
The option bits are:
<pre>
  PCRE_ANCHORED           Force pattern anchoring
  PCRE_AUTO_CALLOUT       Compile automatic callouts
  PCRE_BSR_ANYCRLF        \R matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE        \R matches all Unicode line endings
  PCRE_CASELESS           Do caseless matching
  PCRE_DOLLAR_ENDONLY     $ not to match newline at end
  PCRE_DOTALL             . matches anything including NL
  PCRE_DUPNAMES           Allow duplicate names for subpatterns
  PCRE_EXTENDED           Ignore whitespace and # comments
  PCRE_EXTRA              PCRE extra features
                            (not much use currently)
  PCRE_FIRSTLINE          Force matching to be before newline
  PCRE_JAVASCRIPT_COMPAT  JavaScript compatibility
  PCRE_MULTILINE          ^ and $ match newlines within data
  PCRE_NEWLINE_ANY        Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF    Recognize CR, LF, and CRLF as newline
                            sequences
  PCRE_NEWLINE_CR         Set CR as the newline sequence
  PCRE_NEWLINE_CRLF       Set CRLF as the newline sequence
  PCRE_NEWLINE_LF         Set LF as the newline sequence
  PCRE_NO_AUTO_CAPTURE    Disable numbered capturing paren-
                            theses (named ones available)
  PCRE_NO_UTF8_CHECK      Do not check the pattern for UTF-8
                            validity (only relevant if
                            PCRE_UTF8 is set)
  PCRE_UNGREEDY           Invert greediness of quantifiers
  PCRE_UTF8               Run in UTF-8 mode
</pre>
PCRE must be built with UTF-8 support in order to use PCRE_UTF8 and
PCRE_NO_UTF8_CHECK.
</P>
<P>
The yield of the function is a pointer to a private data structure that
contains the compiled pattern, or NULL if an error was detected. Note that
compiling regular expressions with one version of PCRE for use with a different
version is not guaranteed to work and may cause crashes.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcregrep.html000064400000063547150405535540015137 0ustar00<html>
<head>
<title>pcregrep specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcregrep man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
<li><a name="TOC3" href="#SEC3">SUPPORT FOR COMPRESSED FILES</a>
<li><a name="TOC4" href="#SEC4">OPTIONS</a>
<li><a name="TOC5" href="#SEC5">ENVIRONMENT VARIABLES</a>
<li><a name="TOC6" href="#SEC6">NEWLINES</a>
<li><a name="TOC7" href="#SEC7">OPTIONS COMPATIBILITY</a>
<li><a name="TOC8" href="#SEC8">OPTIONS WITH DATA</a>
<li><a name="TOC9" href="#SEC9">MATCHING ERRORS</a>
<li><a name="TOC10" href="#SEC10">DIAGNOSTICS</a>
<li><a name="TOC11" href="#SEC11">SEE ALSO</a>
<li><a name="TOC12" href="#SEC12">AUTHOR</a>
<li><a name="TOC13" href="#SEC13">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SYNOPSIS</a><br>
<P>
<b>pcregrep [options] [long options] [pattern] [path1 path2 ...]</b>
</P>
<br><a name="SEC2" href="#TOC1">DESCRIPTION</a><br>
<P>
<b>pcregrep</b> searches files for character patterns, in the same way as other
grep commands do, but it uses the PCRE regular expression library to support
patterns that are compatible with the regular expressions of Perl 5. See
<a href="pcrepattern.html"><b>pcrepattern</b>(3)</a>
for a full description of syntax and semantics of the regular expressions
that PCRE supports.
</P>
<P>
Patterns, whether supplied on the command line or in a separate file, are given
without delimiters. For example:
<pre>
  pcregrep Thursday /etc/motd
</pre>
If you attempt to use delimiters (for example, by surrounding a pattern with
slashes, as is common in Perl scripts), they are interpreted as part of the
pattern. Quotes can of course be used to delimit patterns on the command line
because they are interpreted by the shell, and indeed they are required if a
pattern contains white space or shell metacharacters.
</P>
<P>
The first argument that follows any option settings is treated as the single
pattern to be matched when neither <b>-e</b> nor <b>-f</b> is present.
Conversely, when one or both of these options are used to specify patterns, all
arguments are treated as path names. At least one of <b>-e</b>, <b>-f</b>, or an
argument pattern must be provided.
</P>
<P>
If no files are specified, <b>pcregrep</b> reads the standard input. The
standard input can also be referenced by a name consisting of a single hyphen.
For example:
<pre>
  pcregrep some-pattern /file1 - /file3
</pre>
By default, each line that matches a pattern is copied to the standard
output, and if there is more than one file, the file name is output at the
start of each line, followed by a colon. However, there are options that can
change how <b>pcregrep</b> behaves. In particular, the <b>-M</b> option makes it
possible to search for patterns that span line boundaries. What defines a line
boundary is controlled by the <b>-N</b> (<b>--newline</b>) option.
</P>
<P>
Patterns are limited to 8K or BUFSIZ characters, whichever is the greater.
BUFSIZ is defined in <b>&#60;stdio.h&#62;</b>. When there is more than one pattern
(specified by the use of <b>-e</b> and/or <b>-f</b>), each pattern is applied to
each line in the order in which they are defined, except that all the <b>-e</b>
patterns are tried before the <b>-f</b> patterns.
</P>
<P>
By default, as soon as one pattern matches (or fails to match when <b>-v</b> is
used), no further patterns are considered. However, if <b>--colour</b> (or
<b>--color</b>) is used to colour the matching substrings, or if
<b>--only-matching</b>, <b>--file-offsets</b>, or <b>--line-offsets</b> is used to
output only the part of the line that matched (either shown literally, or as an
offset), scanning resumes immediately following the match, so that further
matches on the same line can be found. If there are multiple patterns, they are
all tried on the remainder of the line, but patterns that follow the one that
matched are not tried on the earlier part of the line.
</P>
<P>
This is the same behaviour as GNU grep, but it does mean that the order in
which multiple patterns are specified can affect the output when one of the
above options is used.
</P>
<P>
Patterns that can match an empty string are accepted, but empty string
matches are never recognized. An example is the pattern "(super)?(man)?", in
which all components are optional. This pattern finds all occurrences of both
"super" and "man"; the output differs from matching with "super|man" when only
the matching substrings are being shown.
</P>
<P>
If the <b>LC_ALL</b> or <b>LC_CTYPE</b> environment variable is set,
<b>pcregrep</b> uses the value to set a locale when calling the PCRE library.
The <b>--locale</b> option can be used to override this.
</P>
<br><a name="SEC3" href="#TOC1">SUPPORT FOR COMPRESSED FILES</a><br>
<P>
It is possible to compile <b>pcregrep</b> so that it uses <b>libz</b> or
<b>libbz2</b> to read files whose names end in <b>.gz</b> or <b>.bz2</b>,
respectively. You can find out whether your binary has support for one or both
of these file types by running it with the <b>--help</b> option. If the
appropriate support is not present, files are treated as plain text. The
standard input is always so treated.
</P>
<br><a name="SEC4" href="#TOC1">OPTIONS</a><br>
<P>
The order in which some of the options appear can affect the output. For
example, both the <b>-h</b> and <b>-l</b> options affect the printing of file
names. Whichever comes later in the command line will be the one that takes
effect.
</P>
<P>
<b>--</b>
This terminate the list of options. It is useful if the next item on the
command line starts with a hyphen but is not an option. This allows for the
processing of patterns and filenames that start with hyphens.
</P>
<P>
<b>-A</b> <i>number</i>, <b>--after-context=</b><i>number</i>
Output <i>number</i> lines of context after each matching line. If filenames
and/or line numbers are being output, a hyphen separator is used instead of a
colon for the context lines. A line containing "--" is output between each
group of lines, unless they are in fact contiguous in the input file. The value
of <i>number</i> is expected to be relatively small. However, <b>pcregrep</b>
guarantees to have up to 8K of following text available for context output.
</P>
<P>
<b>-B</b> <i>number</i>, <b>--before-context=</b><i>number</i>
Output <i>number</i> lines of context before each matching line. If filenames
and/or line numbers are being output, a hyphen separator is used instead of a
colon for the context lines. A line containing "--" is output between each
group of lines, unless they are in fact contiguous in the input file. The value
of <i>number</i> is expected to be relatively small. However, <b>pcregrep</b>
guarantees to have up to 8K of preceding text available for context output.
</P>
<P>
<b>-C</b> <i>number</i>, <b>--context=</b><i>number</i>
Output <i>number</i> lines of context both before and after each matching line.
This is equivalent to setting both <b>-A</b> and <b>-B</b> to the same value.
</P>
<P>
<b>-c</b>, <b>--count</b>
Do not output individual lines from the files that are being scanned; instead
output the number of lines that would otherwise have been shown. If no lines
are selected, the number zero is output. If several files are are being
scanned, a count is output for each of them. However, if the
<b>--files-with-matches</b> option is also used, only those files whose counts
are greater than zero are listed. When <b>-c</b> is used, the <b>-A</b>,
<b>-B</b>, and <b>-C</b> options are ignored.
</P>
<P>
<b>--colour</b>, <b>--color</b>
If this option is given without any data, it is equivalent to "--colour=auto".
If data is required, it must be given in the same shell item, separated by an
equals sign.
</P>
<P>
<b>--colour=</b><i>value</i>, <b>--color=</b><i>value</i>
This option specifies under what circumstances the parts of a line that matched
a pattern should be coloured in the output. By default, the output is not
coloured. The value (which is optional, see above) may be "never", "always", or
"auto". In the latter case, colouring happens only if the standard output is
connected to a terminal. More resources are used when colouring is enabled,
because <b>pcregrep</b> has to search for all possible matches in a line, not
just one, in order to colour them all.
</P>
<P>
The colour that is used can be specified by setting the environment variable
PCREGREP_COLOUR or PCREGREP_COLOR. The value of this variable should be a
string of two numbers, separated by a semicolon. They are copied directly into
the control string for setting colour on a terminal, so it is your
responsibility to ensure that they make sense. If neither of the environment
variables is set, the default is "1;31", which gives red.
</P>
<P>
<b>-D</b> <i>action</i>, <b>--devices=</b><i>action</i>
If an input path is not a regular file or a directory, "action" specifies how
it is to be processed. Valid values are "read" (the default) or "skip"
(silently skip the path).
</P>
<P>
<b>-d</b> <i>action</i>, <b>--directories=</b><i>action</i>
If an input path is a directory, "action" specifies how it is to be processed.
Valid values are "read" (the default), "recurse" (equivalent to the <b>-r</b>
option), or "skip" (silently skip the path). In the default case, directories
are read as if they were ordinary files. In some operating systems the effect
of reading a directory like this is an immediate end-of-file.
</P>
<P>
<b>-e</b> <i>pattern</i>, <b>--regex=</b><i>pattern</i>, <b>--regexp=</b><i>pattern</i>
Specify a pattern to be matched. This option can be used multiple times in
order to specify several patterns. It can also be used as a way of specifying a
single pattern that starts with a hyphen. When <b>-e</b> is used, no argument
pattern is taken from the command line; all arguments are treated as file
names. There is an overall maximum of 100 patterns. They are applied to each
line in the order in which they are defined until one matches (or fails to
match if <b>-v</b> is used). If <b>-f</b> is used with <b>-e</b>, the command line
patterns are matched first, followed by the patterns from the file, independent
of the order in which these options are specified. Note that multiple use of
<b>-e</b> is not the same as a single pattern with alternatives. For example,
X|Y finds the first character in a line that is X or Y, whereas if the two
patterns are given separately, <b>pcregrep</b> finds X if it is present, even if
it follows Y in the line. It finds Y only if there is no X in the line. This
really matters only if you are using <b>-o</b> to show the part(s) of the line
that matched.
</P>
<P>
<b>--exclude</b>=<i>pattern</i>
When <b>pcregrep</b> is searching the files in a directory as a consequence of
the <b>-r</b> (recursive search) option, any regular files whose names match the
pattern are excluded. Subdirectories are not excluded by this option; they are
searched recursively, subject to the <b>--exclude_dir</b> and
<b>--include_dir</b> options. The pattern is a PCRE regular expression, and is
matched against the final component of the file name (not the entire path). If
a file name matches both <b>--include</b> and <b>--exclude</b>, it is excluded.
There is no short form for this option.
</P>
<P>
<b>--exclude_dir</b>=<i>pattern</i>
When <b>pcregrep</b> is searching the contents of a directory as a consequence
of the <b>-r</b> (recursive search) option, any subdirectories whose names match
the pattern are excluded. (Note that the \fP--exclude\fP option does not affect
subdirectories.) The pattern is a PCRE regular expression, and is matched
against the final component of the name (not the entire path). If a
subdirectory name matches both <b>--include_dir</b> and <b>--exclude_dir</b>, it
is excluded. There is no short form for this option.
</P>
<P>
<b>-F</b>, <b>--fixed-strings</b>
Interpret each pattern as a list of fixed strings, separated by newlines,
instead of as a regular expression. The <b>-w</b> (match as a word) and <b>-x</b>
(match whole line) options can be used with <b>-F</b>. They apply to each of the
fixed strings. A line is selected if any of the fixed strings are found in it
(subject to <b>-w</b> or <b>-x</b>, if present).
</P>
<P>
<b>-f</b> <i>filename</i>, <b>--file=</b><i>filename</i>
Read a number of patterns from the file, one per line, and match them against
each line of input. A data line is output if any of the patterns match it. The
filename can be given as "-" to refer to the standard input. When <b>-f</b> is
used, patterns specified on the command line using <b>-e</b> may also be
present; they are tested before the file's patterns. However, no other pattern
is taken from the command line; all arguments are treated as file names. There
is an overall maximum of 100 patterns. Trailing white space is removed from
each line, and blank lines are ignored. An empty file contains no patterns and
therefore matches nothing. See also the comments about multiple patterns versus
a single pattern with alternatives in the description of <b>-e</b> above.
</P>
<P>
<b>--file-offsets</b>
Instead of showing lines or parts of lines that match, show each match as an
offset from the start of the file and a length, separated by a comma. In this
mode, no context is shown. That is, the <b>-A</b>, <b>-B</b>, and <b>-C</b>
options are ignored. If there is more than one match in a line, each of them is
shown separately. This option is mutually exclusive with <b>--line-offsets</b>
and <b>--only-matching</b>.
</P>
<P>
<b>-H</b>, <b>--with-filename</b>
Force the inclusion of the filename at the start of output lines when searching
a single file. By default, the filename is not shown in this case. For matching
lines, the filename is followed by a colon; for context lines, a hyphen
separator is used. If a line number is also being output, it follows the file
name.
</P>
<P>
<b>-h</b>, <b>--no-filename</b>
Suppress the output filenames when searching multiple files. By default,
filenames are shown when multiple files are searched. For matching lines, the
filename is followed by a colon; for context lines, a hyphen separator is used.
If a line number is also being output, it follows the file name.
</P>
<P>
<b>--help</b>
Output a help message, giving brief details of the command options and file
type support, and then exit.
</P>
<P>
<b>-i</b>, <b>--ignore-case</b>
Ignore upper/lower case distinctions during comparisons.
</P>
<P>
<b>--include</b>=<i>pattern</i>
When <b>pcregrep</b> is searching the files in a directory as a consequence of
the <b>-r</b> (recursive search) option, only those regular files whose names
match the pattern are included. Subdirectories are always included and searched
recursively, subject to the \fP--include_dir\fP and <b>--exclude_dir</b>
options. The pattern is a PCRE regular expression, and is matched against the
final component of the file name (not the entire path). If a file name matches
both <b>--include</b> and <b>--exclude</b>, it is excluded. There is no short
form for this option.
</P>
<P>
<b>--include_dir</b>=<i>pattern</i>
When <b>pcregrep</b> is searching the contents of a directory as a consequence
of the <b>-r</b> (recursive search) option, only those subdirectories whose
names match the pattern are included. (Note that the <b>--include</b> option
does not affect subdirectories.) The pattern is a PCRE regular expression, and
is matched against the final component of the name (not the entire path). If a
subdirectory name matches both <b>--include_dir</b> and <b>--exclude_dir</b>, it
is excluded. There is no short form for this option.
</P>
<P>
<b>-L</b>, <b>--files-without-match</b>
Instead of outputting lines from the files, just output the names of the files
that do not contain any lines that would have been output. Each file name is
output once, on a separate line.
</P>
<P>
<b>-l</b>, <b>--files-with-matches</b>
Instead of outputting lines from the files, just output the names of the files
containing lines that would have been output. Each file name is output
once, on a separate line. Searching normally stops as soon as a matching line
is found in a file. However, if the <b>-c</b> (count) option is also used,
matching continues in order to obtain the correct count, and those files that
have at least one match are listed along with their counts. Using this option
with <b>-c</b> is a way of suppressing the listing of files with no matches.
</P>
<P>
<b>--label</b>=<i>name</i>
This option supplies a name to be used for the standard input when file names
are being output. If not supplied, "(standard input)" is used. There is no
short form for this option.
</P>
<P>
<b>--line-offsets</b>
Instead of showing lines or parts of lines that match, show each match as a
line number, the offset from the start of the line, and a length. The line
number is terminated by a colon (as usual; see the <b>-n</b> option), and the
offset and length are separated by a comma. In this mode, no context is shown.
That is, the <b>-A</b>, <b>-B</b>, and <b>-C</b> options are ignored. If there is
more than one match in a line, each of them is shown separately. This option is
mutually exclusive with <b>--file-offsets</b> and <b>--only-matching</b>.
</P>
<P>
<b>--locale</b>=<i>locale-name</i>
This option specifies a locale to be used for pattern matching. It overrides
the value in the <b>LC_ALL</b> or <b>LC_CTYPE</b> environment variables. If no
locale is specified, the PCRE library's default (usually the "C" locale) is
used. There is no short form for this option.
</P>
<P>
<b>-M</b>, <b>--multiline</b>
Allow patterns to match more than one line. When this option is given, patterns
may usefully contain literal newline characters and internal occurrences of ^
and $ characters. The output for any one match may consist of more than one
line. When this option is set, the PCRE library is called in "multiline" mode.
There is a limit to the number of lines that can be matched, imposed by the way
that <b>pcregrep</b> buffers the input file as it scans it. However,
<b>pcregrep</b> ensures that at least 8K characters or the rest of the document
(whichever is the shorter) are available for forward matching, and similarly
the previous 8K characters (or all the previous characters, if fewer than 8K)
are guaranteed to be available for lookbehind assertions.
</P>
<P>
<b>-N</b> <i>newline-type</i>, <b>--newline=</b><i>newline-type</i>
The PCRE library supports five different conventions for indicating
the ends of lines. They are the single-character sequences CR (carriage return)
and LF (linefeed), the two-character sequence CRLF, an "anycrlf" convention,
which recognizes any of the preceding three types, and an "any" convention, in
which any Unicode line ending sequence is assumed to end a line. The Unicode
sequences are the three just mentioned, plus VT (vertical tab, U+000B), FF
(formfeed, U+000C), NEL (next line, U+0085), LS (line separator, U+2028), and
PS (paragraph separator, U+2029).
<br>
<br>
When the PCRE library is built, a default line-ending sequence is specified.
This is normally the standard sequence for the operating system. Unless
otherwise specified by this option, <b>pcregrep</b> uses the library's default.
The possible values for this option are CR, LF, CRLF, ANYCRLF, or ANY. This
makes it possible to use <b>pcregrep</b> on files that have come from other
environments without having to modify their line endings. If the data that is
being scanned does not agree with the convention set by this option,
<b>pcregrep</b> may behave in strange ways.
</P>
<P>
<b>-n</b>, <b>--line-number</b>
Precede each output line by its line number in the file, followed by a colon
for matching lines or a hyphen for context lines. If the filename is also being
output, it precedes the line number. This option is forced if
<b>--line-offsets</b> is used.
</P>
<P>
<b>-o</b>, <b>--only-matching</b>
Show only the part of the line that matched a pattern. In this mode, no
context is shown. That is, the <b>-A</b>, <b>-B</b>, and <b>-C</b> options are
ignored. If there is more than one match in a line, each of them is shown
separately. If <b>-o</b> is combined with <b>-v</b> (invert the sense of the
match to find non-matching lines), no output is generated, but the return code
is set appropriately. This option is mutually exclusive with
<b>--file-offsets</b> and <b>--line-offsets</b>.
</P>
<P>
<b>-q</b>, <b>--quiet</b>
Work quietly, that is, display nothing except error messages. The exit
status indicates whether or not any matches were found.
</P>
<P>
<b>-r</b>, <b>--recursive</b>
If any given path is a directory, recursively scan the files it contains,
taking note of any <b>--include</b> and <b>--exclude</b> settings. By default, a
directory is read as a normal file; in some operating systems this gives an
immediate end-of-file. This option is a shorthand for setting the <b>-d</b>
option to "recurse".
</P>
<P>
<b>-s</b>, <b>--no-messages</b>
Suppress error messages about non-existent or unreadable files. Such files are
quietly skipped. However, the return code is still 2, even if matches were
found in other files.
</P>
<P>
<b>-u</b>, <b>--utf-8</b>
Operate in UTF-8 mode. This option is available only if PCRE has been compiled
with UTF-8 support. Both patterns and subject lines must be valid strings of
UTF-8 characters.
</P>
<P>
<b>-V</b>, <b>--version</b>
Write the version numbers of <b>pcregrep</b> and the PCRE library that is being
used to the standard error stream.
</P>
<P>
<b>-v</b>, <b>--invert-match</b>
Invert the sense of the match, so that lines which do <i>not</i> match any of
the patterns are the ones that are found.
</P>
<P>
<b>-w</b>, <b>--word-regex</b>, <b>--word-regexp</b>
Force the patterns to match only whole words. This is equivalent to having \b
at the start and end of the pattern.
</P>
<P>
<b>-x</b>, <b>--line-regex</b>, <b>--line-regexp</b>
Force the patterns to be anchored (each must start matching at the beginning of
a line) and in addition, require them to match entire lines. This is
equivalent to having ^ and $ characters at the start and end of each
alternative branch in every pattern.
</P>
<br><a name="SEC5" href="#TOC1">ENVIRONMENT VARIABLES</a><br>
<P>
The environment variables <b>LC_ALL</b> and <b>LC_CTYPE</b> are examined, in that
order, for a locale. The first one that is set is used. This can be overridden
by the <b>--locale</b> option. If no locale is set, the PCRE library's default
(usually the "C" locale) is used.
</P>
<br><a name="SEC6" href="#TOC1">NEWLINES</a><br>
<P>
The <b>-N</b> (<b>--newline</b>) option allows <b>pcregrep</b> to scan files with
different newline conventions from the default. However, the setting of this
option does not affect the way in which <b>pcregrep</b> writes information to
the standard error and output streams. It uses the string "\n" in C
<b>printf()</b> calls to indicate newlines, relying on the C I/O library to
convert this to an appropriate sequence if the output is sent to a file.
</P>
<br><a name="SEC7" href="#TOC1">OPTIONS COMPATIBILITY</a><br>
<P>
The majority of short and long forms of <b>pcregrep</b>'s options are the same
as in the GNU <b>grep</b> program. Any long option of the form
<b>--xxx-regexp</b> (GNU terminology) is also available as <b>--xxx-regex</b>
(PCRE terminology). However, the <b>--locale</b>, <b>-M</b>, <b>--multiline</b>,
<b>-u</b>, and <b>--utf-8</b> options are specific to <b>pcregrep</b>. If both the
<b>-c</b> and <b>-l</b> options are given, GNU grep lists only file names,
without counts, but <b>pcregrep</b> gives the counts.
</P>
<br><a name="SEC8" href="#TOC1">OPTIONS WITH DATA</a><br>
<P>
There are four different ways in which an option with data can be specified.
If a short form option is used, the data may follow immediately, or in the next
command line item. For example:
<pre>
  -f/some/file
  -f /some/file
</pre>
If a long form option is used, the data may appear in the same command line
item, separated by an equals character, or (with one exception) it may appear
in the next command line item. For example:
<pre>
  --file=/some/file
  --file /some/file
</pre>
Note, however, that if you want to supply a file name beginning with ~ as data
in a shell command, and have the shell expand ~ to a home directory, you must
separate the file name from the option, because the shell does not treat ~
specially unless it is at the start of an item.
</P>
<P>
The exception to the above is the <b>--colour</b> (or <b>--color</b>) option,
for which the data is optional. If this option does have data, it must be given
in the first form, using an equals character. Otherwise it will be assumed that
it has no data.
</P>
<br><a name="SEC9" href="#TOC1">MATCHING ERRORS</a><br>
<P>
It is possible to supply a regular expression that takes a very long time to
fail to match certain lines. Such patterns normally involve nested indefinite
repeats, for example: (a+)*\d when matched against a line of a's with no final
digit. The PCRE matching function has a resource limit that causes it to abort
in these circumstances. If this happens, <b>pcregrep</b> outputs an error
message and the line that caused the problem to the standard error stream. If
there are more than 20 such errors, <b>pcregrep</b> gives up.
</P>
<br><a name="SEC10" href="#TOC1">DIAGNOSTICS</a><br>
<P>
Exit status is 0 if any matches were found, 1 if no matches were found, and 2
for syntax errors and non-existent or inacessible files (even if matches were
found in other files) or too many matching errors. Using the <b>-s</b> option to
suppress error messages about inaccessble files does not affect the return
code.
</P>
<br><a name="SEC11" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcrepattern</b>(3), <b>pcretest</b>(1).
</P>
<br><a name="SEC12" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC13" href="#TOC1">REVISION</a><br>
<P>
Last updated: 13 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_get_substring_list.html000064400000003457150405535540020245 0ustar00<html>
<head>
<title>pcre_get_substring_list specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_get_substring_list man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_get_substring_list(const char *<i>subject</i>,</b>
<b>int *<i>ovector</i>, int <i>stringcount</i>, const char ***<i>listptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for extracting a list of all the captured
substrings. The arguments are:
<pre>
  <i>subject</i>       Subject that has been successfully matched
  <i>ovector</i>       Offset vector that <b>pcre_exec</b> used
  <i>stringcount</i>   Value returned by <b>pcre_exec</b>
  <i>listptr</i>       Where to put a pointer to the list
</pre>
The memory in which the substrings and the list are placed is obtained by
calling <b>pcre_malloc()</b>. The convenience function
<b>pcre_free_substring_list()</b> can be used to free it when it is no longer
needed. A pointer to a list of pointers is put in the variable whose address is
in <i>listptr</i>. The list is terminated by a NULL pointer. The yield of the
function is zero on success or PCRE_ERROR_NOMEMORY if sufficient memory could
not be obtained.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_copy_named_substring.html000064400000003400150405535540020535 0ustar00<html>
<head>
<title>pcre_copy_named_substring specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_copy_named_substring man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_copy_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>char *<i>buffer</i>, int <i>buffersize</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for extracting a captured substring, identified
by name, into a given buffer. The arguments are:
<pre>
  <i>code</i>          Pattern that was successfully matched
  <i>subject</i>       Subject that has been successfully matched
  <i>ovector</i>       Offset vector that <b>pcre_exec()</b> used
  <i>stringcount</i>   Value returned by <b>pcre_exec()</b>
  <i>stringname</i>    Name of the required substring
  <i>buffer</i>        Buffer to receive the string
  <i>buffersize</i>    Size of buffer
</pre>
The yield is the length of the substring, PCRE_ERROR_NOMEMORY if the buffer was
too small, or PCRE_ERROR_NOSUBSTRING if the string name is invalid.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_dfa_exec.html000064400000010710150405535540016057 0ustar00<html>
<head>
<title>pcre_dfa_exec specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_dfa_exec man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_dfa_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>,</b>
<b>int *<i>workspace</i>, int <i>wscount</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function matches a compiled regular expression against a given subject
string, using an alternative matching algorithm that scans the subject string
just once (<i>not</i> Perl-compatible). Note that the main, Perl-compatible,
matching function is <b>pcre_exec()</b>. The arguments for this function are:
<pre>
  <i>code</i>         Points to the compiled pattern
  <i>extra</i>        Points to an associated <b>pcre_extra</b> structure,
                 or is NULL
  <i>subject</i>      Points to the subject string
  <i>length</i>       Length of the subject string, in bytes
  <i>startoffset</i>  Offset in bytes in the subject at which to
                 start matching
  <i>options</i>      Option bits
  <i>ovector</i>      Points to a vector of ints for result offsets
  <i>ovecsize</i>     Number of elements in the vector
  <i>workspace</i>    Points to a vector of ints used as working space
  <i>wscount</i>      Number of elements in the vector
</pre>
The options are:
<pre>
  PCRE_ANCHORED          Match only at the first position
  PCRE_BSR_ANYCRLF       \R matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE       \R matches all Unicode line endings
  PCRE_NEWLINE_ANY       Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF   Recognize CR, LF, & CRLF as newline sequences
  PCRE_NEWLINE_CR        Recognize CR as the only newline sequence
  PCRE_NEWLINE_CRLF      Recognize CRLF as the only newline sequence
  PCRE_NEWLINE_LF        Recognize LF as the only newline sequence
  PCRE_NOTBOL            Subject is not the beginning of a line
  PCRE_NOTEOL            Subject is not the end of a line
  PCRE_NOTEMPTY          An empty string is not a valid match
  PCRE_NOTEMPTY_ATSTART  An empty string at the start of the subject
                           is not a valid match
  PCRE_NO_START_OPTIMIZE Do not do "start-match" optimizations
  PCRE_NO_UTF8_CHECK     Do not check the subject for UTF-8
                           validity (only relevant if PCRE_UTF8
                           was set at compile time)
  PCRE_PARTIAL           ) Return PCRE_ERROR_PARTIAL for a partial
  PCRE_PARTIAL_SOFT      )   match if no full matches are found
  PCRE_PARTIAL_HARD      Return PCRE_ERROR_PARTIAL for a partial match
                           even if there is a full match as well
  PCRE_DFA_SHORTEST      Return only the shortest match
  PCRE_DFA_RESTART       Restart after a partial match
</pre>
There are restrictions on what may appear in a pattern when using this matching
function. Details are given in the
<a href="pcrematching.html"><b>pcrematching</b></a>
documentation. For details of partial matching, see the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
page.
</P>
<P>
A <b>pcre_extra</b> structure contains the following fields:
<pre>
  <i>flags</i>        Bits indicating which fields are set
  <i>study_data</i>   Opaque data from <b>pcre_study()</b>
  <i>match_limit</i>  Limit on internal resource use
  <i>match_limit_recursion</i>  Limit on internal recursion depth
  <i>callout_data</i> Opaque data passed back to callouts
  <i>tables</i>       Points to character tables or is NULL
</pre>
The flag bits are PCRE_EXTRA_STUDY_DATA, PCRE_EXTRA_MATCH_LIMIT,
PCRE_EXTRA_MATCH_LIMIT_RECURSION, PCRE_EXTRA_CALLOUT_DATA, and
PCRE_EXTRA_TABLES. For this matching function, the <i>match_limit</i> and
<i>match_limit_recursion</i> fields are not used, and must not be set.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre.html000064400000033133150405535540014245 0ustar00<html>
<head>
<title>pcre specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">INTRODUCTION</a>
<li><a name="TOC2" href="#SEC2">USER DOCUMENTATION</a>
<li><a name="TOC3" href="#SEC3">LIMITATIONS</a>
<li><a name="TOC4" href="#SEC4">UTF-8 AND UNICODE PROPERTY SUPPORT</a>
<li><a name="TOC5" href="#SEC5">AUTHOR</a>
<li><a name="TOC6" href="#SEC6">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">INTRODUCTION</a><br>
<P>
The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl, with just a few
differences. Some features that appeared in Python and PCRE before they
appeared in Perl are also available using the Python syntax, there is some
support for one or two .NET and Oniguruma syntax items, and there is an option
for requesting some minor changes that give better JavaScript compatibility.
</P>
<P>
The current implementation of PCRE corresponds approximately with Perl 5.10,
including support for UTF-8 encoded strings and Unicode general category
properties. However, UTF-8 and Unicode support has to be explicitly enabled; it
is not the default. The Unicode tables correspond to Unicode release 5.2.0.
</P>
<P>
In addition to the Perl-compatible matching function, PCRE contains an
alternative function that matches the same compiled patterns in a different
way. In certain circumstances, the alternative function has some advantages.
For a discussion of the two matching algorithms, see the
<a href="pcrematching.html"><b>pcrematching</b></a>
page.
</P>
<P>
PCRE is written in C and released as a C library. A number of people have
written wrappers and interfaces of various kinds. In particular, Google Inc.
have provided a comprehensive C++ wrapper. This is now included as part of the
PCRE distribution. The
<a href="pcrecpp.html"><b>pcrecpp</b></a>
page has details of this interface. Other people's contributions can be found
in the <i>Contrib</i> directory at the primary FTP site, which is:
<a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre">ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre</a>
</P>
<P>
Details of exactly which Perl regular expression features are and are not
supported by PCRE are given in separate documents. See the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
and
<a href="pcrecompat.html"><b>pcrecompat</b></a>
pages. There is a syntax summary in the
<a href="pcresyntax.html"><b>pcresyntax</b></a>
page.
</P>
<P>
Some features of PCRE can be included, excluded, or changed when the library is
built. The
<a href="pcre_config.html"><b>pcre_config()</b></a>
function makes it possible for a client to discover which features are
available. The features themselves are described in the
<a href="pcrebuild.html"><b>pcrebuild</b></a>
page. Documentation about building PCRE for various operating systems can be
found in the <b>README</b> and <b>NON-UNIX-USE</b> files in the source
distribution.
</P>
<P>
The library contains a number of undocumented internal functions and data
tables that are used by more than one of the exported external functions, but
which are not intended for use by external callers. Their names all begin with
"_pcre_", which hopefully will not provoke any name clashes. In some
environments, it is possible to control which external symbols are exported
when a shared library is built, and in these cases the undocumented symbols are
not exported.
</P>
<br><a name="SEC2" href="#TOC1">USER DOCUMENTATION</a><br>
<P>
The user documentation for PCRE comprises a number of different sections. In
the "man" format, each of these is a separate "man page". In the HTML format,
each is a separate page, linked from the index page. In the plain text format,
all the sections, except the <b>pcredemo</b> section, are concatenated, for ease
of searching. The sections are as follows:
<pre>
  pcre              this document
  pcre-config       show PCRE installation configuration information
  pcreapi           details of PCRE's native C API
  pcrebuild         options for building PCRE
  pcrecallout       details of the callout feature
  pcrecompat        discussion of Perl compatibility
  pcrecpp           details of the C++ wrapper
  pcredemo          a demonstration C program that uses PCRE
  pcregrep          description of the <b>pcregrep</b> command
  pcrematching      discussion of the two matching algorithms
  pcrepartial       details of the partial matching facility
  pcrepattern       syntax and semantics of supported regular expressions
  pcreperform       discussion of performance issues
  pcreposix         the POSIX-compatible C API
  pcreprecompile    details of saving and re-using precompiled patterns
  pcresample        discussion of the pcredemo program
  pcrestack         discussion of stack usage
  pcresyntax        quick syntax reference
  pcretest          description of the <b>pcretest</b> testing command
</pre>
In addition, in the "man" and HTML formats, there is a short page for each
C library function, listing its arguments and results.
</P>
<br><a name="SEC3" href="#TOC1">LIMITATIONS</a><br>
<P>
There are some size limitations in PCRE but it is hoped that they will never in
practice be relevant.
</P>
<P>
The maximum length of a compiled pattern is 65539 (sic) bytes if PCRE is
compiled with the default internal linkage size of 2. If you want to process
regular expressions that are truly enormous, you can compile PCRE with an
internal linkage size of 3 or 4 (see the <b>README</b> file in the source
distribution and the
<a href="pcrebuild.html"><b>pcrebuild</b></a>
documentation for details). In these cases the limit is substantially larger.
However, the speed of execution is slower.
</P>
<P>
All values in repeating quantifiers must be less than 65536.
</P>
<P>
There is no limit to the number of parenthesized subpatterns, but there can be
no more than 65535 capturing subpatterns.
</P>
<P>
The maximum length of name for a named subpattern is 32 characters, and the
maximum number of named subpatterns is 10000.
</P>
<P>
The maximum length of a subject string is the largest positive number that an
integer variable can hold. However, when using the traditional matching
function, PCRE uses recursion to handle subpatterns and indefinite repetition.
This means that the available stack space may limit the size of a subject
string that can be processed by certain patterns. For a discussion of stack
issues, see the
<a href="pcrestack.html"><b>pcrestack</b></a>
documentation.
<a name="utf8support"></a></P>
<br><a name="SEC4" href="#TOC1">UTF-8 AND UNICODE PROPERTY SUPPORT</a><br>
<P>
From release 3.3, PCRE has had some support for character strings encoded in
the UTF-8 format. For release 4.0 this was greatly extended to cover most
common requirements, and in release 5.0 additional support for Unicode general
category properties was added.
</P>
<P>
In order process UTF-8 strings, you must build PCRE to include UTF-8 support in
the code, and, in addition, you must call
<a href="pcre_compile.html"><b>pcre_compile()</b></a>
with the PCRE_UTF8 option flag, or the pattern must start with the sequence
(*UTF8). When either of these is the case, both the pattern and any subject
strings that are matched against it are treated as UTF-8 strings instead of
strings of 1-byte characters.
</P>
<P>
If you compile PCRE with UTF-8 support, but do not use it at run time, the
library will be a bit bigger, but the additional run time overhead is limited
to testing the PCRE_UTF8 flag occasionally, so should not be very big.
</P>
<P>
If PCRE is built with Unicode character property support (which implies UTF-8
support), the escape sequences \p{..}, \P{..}, and \X are supported.
The available properties that can be tested are limited to the general
category properties such as Lu for an upper case letter or Nd for a decimal
number, the Unicode script names such as Arabic or Han, and the derived
properties Any and L&. A full list is given in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation. Only the short names for properties are supported. For example,
\p{L} matches a letter. Its Perl synonym, \p{Letter}, is not supported.
Furthermore, in Perl, many properties may optionally be prefixed by "Is", for
compatibility with Perl 5.6. PCRE does not support this.
<a name="utf8strings"></a></P>
<br><b>
Validity of UTF-8 strings
</b><br>
<P>
When you set the PCRE_UTF8 flag, the strings passed as patterns and subjects
are (by default) checked for validity on entry to the relevant functions. From
release 7.3 of PCRE, the check is according the rules of RFC 3629, which are
themselves derived from the Unicode specification. Earlier releases of PCRE
followed the rules of RFC 2279, which allows the full range of 31-bit values (0
to 0x7FFFFFFF). The current check allows only values in the range U+0 to
U+10FFFF, excluding U+D800 to U+DFFF.
</P>
<P>
The excluded code points are the "Low Surrogate Area" of Unicode, of which the
Unicode Standard says this: "The Low Surrogate Area does not contain any
character assignments, consequently no character code charts or namelists are
provided for this area. Surrogates are reserved for use with UTF-16 and then
must be used in pairs." The code points that are encoded by UTF-16 pairs are
available as independent code points in the UTF-8 encoding. (In other words,
the whole surrogate thing is a fudge for UTF-16 which unfortunately messes up
UTF-8.)
</P>
<P>
If an invalid UTF-8 string is passed to PCRE, an error return
(PCRE_ERROR_BADUTF8) is given. In some situations, you may already know that
your strings are valid, and therefore want to skip these checks in order to
improve performance. If you set the PCRE_NO_UTF8_CHECK flag at compile time or
at run time, PCRE assumes that the pattern or subject it is given
(respectively) contains only valid UTF-8 codes. In this case, it does not
diagnose an invalid UTF-8 string.
</P>
<P>
If you pass an invalid UTF-8 string when PCRE_NO_UTF8_CHECK is set, what
happens depends on why the string is invalid. If the string conforms to the
"old" definition of UTF-8 (RFC 2279), it is processed as a string of characters
in the range 0 to 0x7FFFFFFF. In other words, apart from the initial validity
test, PCRE (when in UTF-8 mode) handles strings according to the more liberal
rules of RFC 2279. However, if the string does not even conform to RFC 2279,
the result is undefined. Your program may crash.
</P>
<P>
If you want to process strings of values in the full range 0 to 0x7FFFFFFF,
encoded in a UTF-8-like manner as per the old RFC, you can set
PCRE_NO_UTF8_CHECK to bypass the more restrictive test. However, in this
situation, you will have to apply your own validity check.
</P>
<br><b>
General comments about UTF-8 mode
</b><br>
<P>
1. An unbraced hexadecimal escape sequence (such as \xb3) matches a two-byte
UTF-8 character if the value is greater than 127.
</P>
<P>
2. Octal numbers up to \777 are recognized, and match two-byte UTF-8
characters for values greater than \177.
</P>
<P>
3. Repeat quantifiers apply to complete UTF-8 characters, not to individual
bytes, for example: \x{100}{3}.
</P>
<P>
4. The dot metacharacter matches one UTF-8 character instead of a single byte.
</P>
<P>
5. The escape sequence \C can be used to match a single byte in UTF-8 mode,
but its use can lead to some strange effects. This facility is not available in
the alternative matching function, <b>pcre_dfa_exec()</b>.
</P>
<P>
6. The character escapes \b, \B, \d, \D, \s, \S, \w, and \W correctly
test characters of any code value, but the characters that PCRE recognizes as
digits, spaces, or word characters remain the same set as before, all with
values less than 256. This remains true even when PCRE includes Unicode
property support, because to do otherwise would slow down PCRE in many common
cases. If you really want to test for a wider sense of, say, "digit", you
must use Unicode property tests such as \p{Nd}. Note that this also applies to
\b, because it is defined in terms of \w and \W.
</P>
<P>
7. Similarly, characters that match the POSIX named character classes are all
low-valued characters.
</P>
<P>
8. However, the Perl 5.10 horizontal and vertical whitespace matching escapes
(\h, \H, \v, and \V) do match all the appropriate Unicode characters.
</P>
<P>
9. Case-insensitive matching applies only to characters whose values are less
than 128, unless PCRE is built with Unicode property support. Even when Unicode
property support is available, PCRE still uses its own character tables when
checking the case of low-valued characters, so as not to degrade performance.
The Unicode property information is used only for characters with higher
values. Even when Unicode property support is available, PCRE supports
case-insensitive matching only when there is a one-to-one mapping between a
letter's cases. There are a small number of many-to-one mappings in Unicode;
these are not supported by PCRE.
</P>
<br><a name="SEC5" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<P>
Putting an actual email address here seems to have been a spam magnet, so I've
taken it away. If you want to email me, use my two initials, followed by the
two digits 10, at the domain cam.ac.uk.
</P>
<br><a name="SEC6" href="#TOC1">REVISION</a><br>
<P>
Last updated: 01 March 2010
<br>
Copyright &copy; 1997-2010 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcreapi.html000064400000271071150405535540014744 0ustar00<html>
<head>
<title>pcreapi specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcreapi man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE NATIVE API</a>
<li><a name="TOC2" href="#SEC2">PCRE API OVERVIEW</a>
<li><a name="TOC3" href="#SEC3">NEWLINES</a>
<li><a name="TOC4" href="#SEC4">MULTITHREADING</a>
<li><a name="TOC5" href="#SEC5">SAVING PRECOMPILED PATTERNS FOR LATER USE</a>
<li><a name="TOC6" href="#SEC6">CHECKING BUILD-TIME OPTIONS</a>
<li><a name="TOC7" href="#SEC7">COMPILING A PATTERN</a>
<li><a name="TOC8" href="#SEC8">COMPILATION ERROR CODES</a>
<li><a name="TOC9" href="#SEC9">STUDYING A PATTERN</a>
<li><a name="TOC10" href="#SEC10">LOCALE SUPPORT</a>
<li><a name="TOC11" href="#SEC11">INFORMATION ABOUT A PATTERN</a>
<li><a name="TOC12" href="#SEC12">OBSOLETE INFO FUNCTION</a>
<li><a name="TOC13" href="#SEC13">REFERENCE COUNTS</a>
<li><a name="TOC14" href="#SEC14">MATCHING A PATTERN: THE TRADITIONAL FUNCTION</a>
<li><a name="TOC15" href="#SEC15">EXTRACTING CAPTURED SUBSTRINGS BY NUMBER</a>
<li><a name="TOC16" href="#SEC16">EXTRACTING CAPTURED SUBSTRINGS BY NAME</a>
<li><a name="TOC17" href="#SEC17">DUPLICATE SUBPATTERN NAMES</a>
<li><a name="TOC18" href="#SEC18">FINDING ALL POSSIBLE MATCHES</a>
<li><a name="TOC19" href="#SEC19">MATCHING A PATTERN: THE ALTERNATIVE FUNCTION</a>
<li><a name="TOC20" href="#SEC20">SEE ALSO</a>
<li><a name="TOC21" href="#SEC21">AUTHOR</a>
<li><a name="TOC22" href="#SEC22">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE NATIVE API</a><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>pcre *pcre_compile(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
</P>
<P>
<b>pcre *pcre_compile2(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>int *<i>errorcodeptr</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
</P>
<P>
<b>pcre_extra *pcre_study(const pcre *<i>code</i>, int <i>options</i>,</b>
<b>const char **<i>errptr</i>);</b>
</P>
<P>
<b>int pcre_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>);</b>
</P>
<P>
<b>int pcre_dfa_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>,</b>
<b>int *<i>workspace</i>, int <i>wscount</i>);</b>
</P>
<P>
<b>int pcre_copy_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>char *<i>buffer</i>, int <i>buffersize</i>);</b>
</P>
<P>
<b>int pcre_copy_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>, char *<i>buffer</i>,</b>
<b>int <i>buffersize</i>);</b>
</P>
<P>
<b>int pcre_get_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<P>
<b>int pcre_get_stringnumber(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>);</b>
</P>
<P>
<b>int pcre_get_stringtable_entries(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>, char **<i>first</i>, char **<i>last</i>);</b>
</P>
<P>
<b>int pcre_get_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<P>
<b>int pcre_get_substring_list(const char *<i>subject</i>,</b>
<b>int *<i>ovector</i>, int <i>stringcount</i>, const char ***<i>listptr</i>);</b>
</P>
<P>
<b>void pcre_free_substring(const char *<i>stringptr</i>);</b>
</P>
<P>
<b>void pcre_free_substring_list(const char **<i>stringptr</i>);</b>
</P>
<P>
<b>const unsigned char *pcre_maketables(void);</b>
</P>
<P>
<b>int pcre_fullinfo(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>int <i>what</i>, void *<i>where</i>);</b>
</P>
<P>
<b>int pcre_info(const pcre *<i>code</i>, int *<i>optptr</i>, int</b>
<b>*<i>firstcharptr</i>);</b>
</P>
<P>
<b>int pcre_refcount(pcre *<i>code</i>, int <i>adjust</i>);</b>
</P>
<P>
<b>int pcre_config(int <i>what</i>, void *<i>where</i>);</b>
</P>
<P>
<b>char *pcre_version(void);</b>
</P>
<P>
<b>void *(*pcre_malloc)(size_t);</b>
</P>
<P>
<b>void (*pcre_free)(void *);</b>
</P>
<P>
<b>void *(*pcre_stack_malloc)(size_t);</b>
</P>
<P>
<b>void (*pcre_stack_free)(void *);</b>
</P>
<P>
<b>int (*pcre_callout)(pcre_callout_block *);</b>
</P>
<br><a name="SEC2" href="#TOC1">PCRE API OVERVIEW</a><br>
<P>
PCRE has its own native API, which is described in this document. There are
also some wrapper functions that correspond to the POSIX regular expression
API. These are described in the
<a href="pcreposix.html"><b>pcreposix</b></a>
documentation. Both of these APIs define a set of C function calls. A C++
wrapper is distributed with PCRE. It is documented in the
<a href="pcrecpp.html"><b>pcrecpp</b></a>
page.
</P>
<P>
The native API C function prototypes are defined in the header file
<b>pcre.h</b>, and on Unix systems the library itself is called <b>libpcre</b>.
It can normally be accessed by adding <b>-lpcre</b> to the command for linking
an application that uses PCRE. The header file defines the macros PCRE_MAJOR
and PCRE_MINOR to contain the major and minor release numbers for the library.
Applications can use these to include support for different releases of PCRE.
</P>
<P>
The functions <b>pcre_compile()</b>, <b>pcre_compile2()</b>, <b>pcre_study()</b>,
and <b>pcre_exec()</b> are used for compiling and matching regular expressions
in a Perl-compatible manner. A sample program that demonstrates the simplest
way of using them is provided in the file called <i>pcredemo.c</i> in the PCRE
source distribution. A listing of this program is given in the
<a href="pcredemo.html"><b>pcredemo</b></a>
documentation, and the
<a href="pcresample.html"><b>pcresample</b></a>
documentation describes how to compile and run it.
</P>
<P>
A second matching function, <b>pcre_dfa_exec()</b>, which is not
Perl-compatible, is also provided. This uses a different algorithm for the
matching. The alternative algorithm finds all possible matches (at a given
point in the subject), and scans the subject just once (unless there are
lookbehind assertions). However, this algorithm does not return captured
substrings. A description of the two matching algorithms and their advantages
and disadvantages is given in the
<a href="pcrematching.html"><b>pcrematching</b></a>
documentation.
</P>
<P>
In addition to the main compiling and matching functions, there are convenience
functions for extracting captured substrings from a subject string that is
matched by <b>pcre_exec()</b>. They are:
<pre>
  <b>pcre_copy_substring()</b>
  <b>pcre_copy_named_substring()</b>
  <b>pcre_get_substring()</b>
  <b>pcre_get_named_substring()</b>
  <b>pcre_get_substring_list()</b>
  <b>pcre_get_stringnumber()</b>
  <b>pcre_get_stringtable_entries()</b>
</pre>
<b>pcre_free_substring()</b> and <b>pcre_free_substring_list()</b> are also
provided, to free the memory used for extracted strings.
</P>
<P>
The function <b>pcre_maketables()</b> is used to build a set of character tables
in the current locale for passing to <b>pcre_compile()</b>, <b>pcre_exec()</b>,
or <b>pcre_dfa_exec()</b>. This is an optional facility that is provided for
specialist use. Most commonly, no special tables are passed, in which case
internal tables that are generated when PCRE is built are used.
</P>
<P>
The function <b>pcre_fullinfo()</b> is used to find out information about a
compiled pattern; <b>pcre_info()</b> is an obsolete version that returns only
some of the available information, but is retained for backwards compatibility.
The function <b>pcre_version()</b> returns a pointer to a string containing the
version of PCRE and its date of release.
</P>
<P>
The function <b>pcre_refcount()</b> maintains a reference count in a data block
containing a compiled pattern. This is provided for the benefit of
object-oriented applications.
</P>
<P>
The global variables <b>pcre_malloc</b> and <b>pcre_free</b> initially contain
the entry points of the standard <b>malloc()</b> and <b>free()</b> functions,
respectively. PCRE calls the memory management functions via these variables,
so a calling program can replace them if it wishes to intercept the calls. This
should be done before calling any PCRE functions.
</P>
<P>
The global variables <b>pcre_stack_malloc</b> and <b>pcre_stack_free</b> are also
indirections to memory management functions. These special functions are used
only when PCRE is compiled to use the heap for remembering data, instead of
recursive function calls, when running the <b>pcre_exec()</b> function. See the
<a href="pcrebuild.html"><b>pcrebuild</b></a>
documentation for details of how to do this. It is a non-standard way of
building PCRE, for use in environments that have limited stacks. Because of the
greater use of memory management, it runs more slowly. Separate functions are
provided so that special-purpose external code can be used for this case. When
used, these functions are always called in a stack-like manner (last obtained,
first freed), and always for memory blocks of the same size. There is a
discussion about PCRE's stack usage in the
<a href="pcrestack.html"><b>pcrestack</b></a>
documentation.
</P>
<P>
The global variable <b>pcre_callout</b> initially contains NULL. It can be set
by the caller to a "callout" function, which PCRE will then call at specified
points during a matching operation. Details are given in the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
<a name="newlines"></a></P>
<br><a name="SEC3" href="#TOC1">NEWLINES</a><br>
<P>
PCRE supports five different conventions for indicating line breaks in
strings: a single CR (carriage return) character, a single LF (linefeed)
character, the two-character sequence CRLF, any of the three preceding, or any
Unicode newline sequence. The Unicode newline sequences are the three just
mentioned, plus the single characters VT (vertical tab, U+000B), FF (formfeed,
U+000C), NEL (next line, U+0085), LS (line separator, U+2028), and PS
(paragraph separator, U+2029).
</P>
<P>
Each of the first three conventions is used by at least one operating system as
its standard newline sequence. When PCRE is built, a default can be specified.
The default default is LF, which is the Unix standard. When PCRE is run, the
default can be overridden, either when a pattern is compiled, or when it is
matched.
</P>
<P>
At compile time, the newline convention can be specified by the <i>options</i>
argument of <b>pcre_compile()</b>, or it can be specified by special text at the
start of the pattern itself; this overrides any other settings. See the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
page for details of the special character sequences.
</P>
<P>
In the PCRE documentation the word "newline" is used to mean "the character or
pair of characters that indicate a line break". The choice of newline
convention affects the handling of the dot, circumflex, and dollar
metacharacters, the handling of #-comments in /x mode, and, when CRLF is a
recognized line ending sequence, the match position advancement for a
non-anchored pattern. There is more detail about this in the
<a href="#execoptions">section on <b>pcre_exec()</b> options</a>
below.
</P>
<P>
The choice of newline convention does not affect the interpretation of
the \n or \r escape sequences, nor does it affect what \R matches, which is
controlled in a similar way, but by separate options.
</P>
<br><a name="SEC4" href="#TOC1">MULTITHREADING</a><br>
<P>
The PCRE functions can be used in multi-threading applications, with the
proviso that the memory management functions pointed to by <b>pcre_malloc</b>,
<b>pcre_free</b>, <b>pcre_stack_malloc</b>, and <b>pcre_stack_free</b>, and the
callout function pointed to by <b>pcre_callout</b>, are shared by all threads.
</P>
<P>
The compiled form of a regular expression is not altered during matching, so
the same compiled pattern can safely be used by several threads at once.
</P>
<br><a name="SEC5" href="#TOC1">SAVING PRECOMPILED PATTERNS FOR LATER USE</a><br>
<P>
The compiled form of a regular expression can be saved and re-used at a later
time, possibly by a different program, and even on a host other than the one on
which it was compiled. Details are given in the
<a href="pcreprecompile.html"><b>pcreprecompile</b></a>
documentation. However, compiling a regular expression with one version of PCRE
for use with a different version is not guaranteed to work and may cause
crashes.
</P>
<br><a name="SEC6" href="#TOC1">CHECKING BUILD-TIME OPTIONS</a><br>
<P>
<b>int pcre_config(int <i>what</i>, void *<i>where</i>);</b>
</P>
<P>
The function <b>pcre_config()</b> makes it possible for a PCRE client to
discover which optional features have been compiled into the PCRE library. The
<a href="pcrebuild.html"><b>pcrebuild</b></a>
documentation has more details about these optional features.
</P>
<P>
The first argument for <b>pcre_config()</b> is an integer, specifying which
information is required; the second argument is a pointer to a variable into
which the information is placed. The following information is available:
<pre>
  PCRE_CONFIG_UTF8
</pre>
The output is an integer that is set to one if UTF-8 support is available;
otherwise it is set to zero.
<pre>
  PCRE_CONFIG_UNICODE_PROPERTIES
</pre>
The output is an integer that is set to one if support for Unicode character
properties is available; otherwise it is set to zero.
<pre>
  PCRE_CONFIG_NEWLINE
</pre>
The output is an integer whose value specifies the default character sequence
that is recognized as meaning "newline". The four values that are supported
are: 10 for LF, 13 for CR, 3338 for CRLF, -2 for ANYCRLF, and -1 for ANY.
Though they are derived from ASCII, the same values are returned in EBCDIC
environments. The default should normally correspond to the standard sequence
for your operating system.
<pre>
  PCRE_CONFIG_BSR
</pre>
The output is an integer whose value indicates what character sequences the \R
escape sequence matches by default. A value of 0 means that \R matches any
Unicode line ending sequence; a value of 1 means that \R matches only CR, LF,
or CRLF. The default can be overridden when a pattern is compiled or matched.
<pre>
  PCRE_CONFIG_LINK_SIZE
</pre>
The output is an integer that contains the number of bytes used for internal
linkage in compiled regular expressions. The value is 2, 3, or 4. Larger values
allow larger regular expressions to be compiled, at the expense of slower
matching. The default value of 2 is sufficient for all but the most massive
patterns, since it allows the compiled pattern to be up to 64K in size.
<pre>
  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD
</pre>
The output is an integer that contains the threshold above which the POSIX
interface uses <b>malloc()</b> for output vectors. Further details are given in
the
<a href="pcreposix.html"><b>pcreposix</b></a>
documentation.
<pre>
  PCRE_CONFIG_MATCH_LIMIT
</pre>
The output is a long integer that gives the default limit for the number of
internal matching function calls in a <b>pcre_exec()</b> execution. Further
details are given with <b>pcre_exec()</b> below.
<pre>
  PCRE_CONFIG_MATCH_LIMIT_RECURSION
</pre>
The output is a long integer that gives the default limit for the depth of
recursion when calling the internal matching function in a <b>pcre_exec()</b>
execution. Further details are given with <b>pcre_exec()</b> below.
<pre>
  PCRE_CONFIG_STACKRECURSE
</pre>
The output is an integer that is set to one if internal recursion when running
<b>pcre_exec()</b> is implemented by recursive function calls that use the stack
to remember their state. This is the usual way that PCRE is compiled. The
output is zero if PCRE was compiled to use blocks of data on the heap instead
of recursive function calls. In this case, <b>pcre_stack_malloc</b> and
<b>pcre_stack_free</b> are called to manage memory blocks on the heap, thus
avoiding the use of the stack.
</P>
<br><a name="SEC7" href="#TOC1">COMPILING A PATTERN</a><br>
<P>
<b>pcre *pcre_compile(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
<b>pcre *pcre_compile2(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>int *<i>errorcodeptr</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
</P>
<P>
Either of the functions <b>pcre_compile()</b> or <b>pcre_compile2()</b> can be
called to compile a pattern into an internal form. The only difference between
the two interfaces is that <b>pcre_compile2()</b> has an additional argument,
<i>errorcodeptr</i>, via which a numerical error code can be returned. To avoid
too much repetition, we refer just to <b>pcre_compile()</b> below, but the
information applies equally to <b>pcre_compile2()</b>.
</P>
<P>
The pattern is a C string terminated by a binary zero, and is passed in the
<i>pattern</i> argument. A pointer to a single block of memory that is obtained
via <b>pcre_malloc</b> is returned. This contains the compiled code and related
data. The <b>pcre</b> type is defined for the returned block; this is a typedef
for a structure whose contents are not externally defined. It is up to the
caller to free the memory (via <b>pcre_free</b>) when it is no longer required.
</P>
<P>
Although the compiled code of a PCRE regex is relocatable, that is, it does not
depend on memory location, the complete <b>pcre</b> data block is not
fully relocatable, because it may contain a copy of the <i>tableptr</i>
argument, which is an address (see below).
</P>
<P>
The <i>options</i> argument contains various bit settings that affect the
compilation. It should be zero if no options are required. The available
options are described below. Some of them (in particular, those that are
compatible with Perl, but some others as well) can also be set and unset from
within the pattern (see the detailed description in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation). For those options that can be different in different parts of
the pattern, the contents of the <i>options</i> argument specifies their
settings at the start of compilation and execution. The PCRE_ANCHORED,
PCRE_BSR_<i>xxx</i>, and PCRE_NEWLINE_<i>xxx</i> options can be set at the time
of matching as well as at compile time.
</P>
<P>
If <i>errptr</i> is NULL, <b>pcre_compile()</b> returns NULL immediately.
Otherwise, if compilation of a pattern fails, <b>pcre_compile()</b> returns
NULL, and sets the variable pointed to by <i>errptr</i> to point to a textual
error message. This is a static string that is part of the library. You must
not try to free it. The byte offset from the start of the pattern to the
character that was being processed when the error was discovered is placed in
the variable pointed to by <i>erroffset</i>, which must not be NULL. If it is,
an immediate error is given. Some errors are not detected until checks are
carried out when the whole pattern has been scanned; in this case the offset is
set to the end of the pattern.
</P>
<P>
If <b>pcre_compile2()</b> is used instead of <b>pcre_compile()</b>, and the
<i>errorcodeptr</i> argument is not NULL, a non-zero error code number is
returned via this argument in the event of an error. This is in addition to the
textual error message. Error codes and messages are listed below.
</P>
<P>
If the final argument, <i>tableptr</i>, is NULL, PCRE uses a default set of
character tables that are built when PCRE is compiled, using the default C
locale. Otherwise, <i>tableptr</i> must be an address that is the result of a
call to <b>pcre_maketables()</b>. This value is stored with the compiled
pattern, and used again by <b>pcre_exec()</b>, unless another table pointer is
passed to it. For more discussion, see the section on locale support below.
</P>
<P>
This code fragment shows a typical straightforward call to <b>pcre_compile()</b>:
<pre>
  pcre *re;
  const char *error;
  int erroffset;
  re = pcre_compile(
    "^A.*Z",          /* the pattern */
    0,                /* default options */
    &error,           /* for error message */
    &erroffset,       /* for error offset */
    NULL);            /* use default character tables */
</pre>
The following names for option bits are defined in the <b>pcre.h</b> header
file:
<pre>
  PCRE_ANCHORED
</pre>
If this bit is set, the pattern is forced to be "anchored", that is, it is
constrained to match only at the first matching point in the string that is
being searched (the "subject string"). This effect can also be achieved by
appropriate constructs in the pattern itself, which is the only way to do it in
Perl.
<pre>
  PCRE_AUTO_CALLOUT
</pre>
If this bit is set, <b>pcre_compile()</b> automatically inserts callout items,
all with number 255, before each pattern item. For discussion of the callout
facility, see the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
<pre>
  PCRE_BSR_ANYCRLF
  PCRE_BSR_UNICODE
</pre>
These options (which are mutually exclusive) control what the \R escape
sequence matches. The choice is either to match only CR, LF, or CRLF, or to
match any Unicode newline sequence. The default is specified when PCRE is
built. It can be overridden from within the pattern, or by setting an option
when a compiled pattern is matched.
<pre>
  PCRE_CASELESS
</pre>
If this bit is set, letters in the pattern match both upper and lower case
letters. It is equivalent to Perl's /i option, and it can be changed within a
pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the
concept of case for characters whose values are less than 128, so caseless
matching is always possible. For characters with higher values, the concept of
case is supported if PCRE is compiled with Unicode property support, but not
otherwise. If you want to use caseless matching for characters 128 and above,
you must ensure that PCRE is compiled with Unicode property support as well as
with UTF-8 support.
<pre>
  PCRE_DOLLAR_ENDONLY
</pre>
If this bit is set, a dollar metacharacter in the pattern matches only at the
end of the subject string. Without this option, a dollar also matches
immediately before a newline at the end of the string (but not before any other
newlines). The PCRE_DOLLAR_ENDONLY option is ignored if PCRE_MULTILINE is set.
There is no equivalent to this option in Perl, and no way to set it within a
pattern.
<pre>
  PCRE_DOTALL
</pre>
If this bit is set, a dot metacharater in the pattern matches all characters,
including those that indicate newline. Without it, a dot does not match when
the current position is at a newline. This option is equivalent to Perl's /s
option, and it can be changed within a pattern by a (?s) option setting. A
negative class such as [^a] always matches newline characters, independent of
the setting of this option.
<pre>
  PCRE_DUPNAMES
</pre>
If this bit is set, names used to identify capturing subpatterns need not be
unique. This can be helpful for certain types of pattern when it is known that
only one instance of the named subpattern can ever be matched. There are more
details of named subpatterns below; see also the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation.
<pre>
  PCRE_EXTENDED
</pre>
If this bit is set, whitespace data characters in the pattern are totally
ignored except when escaped or inside a character class. Whitespace does not
include the VT character (code 11). In addition, characters between an
unescaped # outside a character class and the next newline, inclusive, are also
ignored. This is equivalent to Perl's /x option, and it can be changed within a
pattern by a (?x) option setting.
</P>
<P>
This option makes it possible to include comments inside complicated patterns.
Note, however, that this applies only to data characters. Whitespace characters
may never appear within special character sequences in a pattern, for example
within the sequence (?( which introduces a conditional subpattern.
<pre>
  PCRE_EXTRA
</pre>
This option was invented in order to turn on additional functionality of PCRE
that is incompatible with Perl, but it is currently of very little use. When
set, any backslash in a pattern that is followed by a letter that has no
special meaning causes an error, thus reserving these combinations for future
expansion. By default, as in Perl, a backslash followed by a letter with no
special meaning is treated as a literal. (Perl can, however, be persuaded to
give a warning for this.) There are at present no other features controlled by
this option. It can also be set by a (?X) option setting within a pattern.
<pre>
  PCRE_FIRSTLINE
</pre>
If this option is set, an unanchored pattern is required to match before or at
the first newline in the subject string, though the matched text may continue
over the newline.
<pre>
  PCRE_JAVASCRIPT_COMPAT
</pre>
If this option is set, PCRE's behaviour is changed in some ways so that it is
compatible with JavaScript rather than Perl. The changes are as follows:
</P>
<P>
(1) A lone closing square bracket in a pattern causes a compile-time error,
because this is illegal in JavaScript (by default it is treated as a data
character). Thus, the pattern AB]CD becomes illegal when this option is set.
</P>
<P>
(2) At run time, a back reference to an unset subpattern group matches an empty
string (by default this causes the current matching alternative to fail). A
pattern such as (\1)(a) succeeds when this option is set (assuming it can find
an "a" in the subject), whereas it fails by default, for Perl compatibility.
<pre>
  PCRE_MULTILINE
</pre>
By default, PCRE treats the subject string as consisting of a single line of
characters (even if it actually contains newlines). The "start of line"
metacharacter (^) matches only at the start of the string, while the "end of
line" metacharacter ($) matches only at the end of the string, or before a
terminating newline (unless PCRE_DOLLAR_ENDONLY is set). This is the same as
Perl.
</P>
<P>
When PCRE_MULTILINE it is set, the "start of line" and "end of line" constructs
match immediately following or immediately before internal newlines in the
subject string, respectively, as well as at the very start and end. This is
equivalent to Perl's /m option, and it can be changed within a pattern by a
(?m) option setting. If there are no newlines in a subject string, or no
occurrences of ^ or $ in a pattern, setting PCRE_MULTILINE has no effect.
<pre>
  PCRE_NEWLINE_CR
  PCRE_NEWLINE_LF
  PCRE_NEWLINE_CRLF
  PCRE_NEWLINE_ANYCRLF
  PCRE_NEWLINE_ANY
</pre>
These options override the default newline definition that was chosen when PCRE
was built. Setting the first or the second specifies that a newline is
indicated by a single character (CR or LF, respectively). Setting
PCRE_NEWLINE_CRLF specifies that a newline is indicated by the two-character
CRLF sequence. Setting PCRE_NEWLINE_ANYCRLF specifies that any of the three
preceding sequences should be recognized. Setting PCRE_NEWLINE_ANY specifies
that any Unicode newline sequence should be recognized. The Unicode newline
sequences are the three just mentioned, plus the single characters VT (vertical
tab, U+000B), FF (formfeed, U+000C), NEL (next line, U+0085), LS (line
separator, U+2028), and PS (paragraph separator, U+2029). The last two are
recognized only in UTF-8 mode.
</P>
<P>
The newline setting in the options word uses three bits that are treated
as a number, giving eight possibilities. Currently only six are used (default
plus the five values above). This means that if you set more than one newline
option, the combination may or may not be sensible. For example,
PCRE_NEWLINE_CR with PCRE_NEWLINE_LF is equivalent to PCRE_NEWLINE_CRLF, but
other combinations may yield unused numbers and cause an error.
</P>
<P>
The only time that a line break is specially recognized when compiling a
pattern is if PCRE_EXTENDED is set, and an unescaped # outside a character
class is encountered. This indicates a comment that lasts until after the next
line break sequence. In other circumstances, line break sequences are treated
as literal data, except that in PCRE_EXTENDED mode, both CR and LF are treated
as whitespace characters and are therefore ignored.
</P>
<P>
The newline option that is set at compile time becomes the default that is used
for <b>pcre_exec()</b> and <b>pcre_dfa_exec()</b>, but it can be overridden.
<pre>
  PCRE_NO_AUTO_CAPTURE
</pre>
If this option is set, it disables the use of numbered capturing parentheses in
the pattern. Any opening parenthesis that is not followed by ? behaves as if it
were followed by ?: but named parentheses can still be used for capturing (and
they acquire numbers in the usual way). There is no equivalent of this option
in Perl.
<pre>
  PCRE_UNGREEDY
</pre>
This option inverts the "greediness" of the quantifiers so that they are not
greedy by default, but become greedy if followed by "?". It is not compatible
with Perl. It can also be set by a (?U) option setting within the pattern.
<pre>
  PCRE_UTF8
</pre>
This option causes PCRE to regard both the pattern and the subject as strings
of UTF-8 characters instead of single-byte character strings. However, it is
available only when PCRE is built to include UTF-8 support. If not, the use
of this option provokes an error. Details of how this option changes the
behaviour of PCRE are given in the
<a href="pcre.html#utf8support">section on UTF-8 support</a>
in the main
<a href="pcre.html"><b>pcre</b></a>
page.
<pre>
  PCRE_NO_UTF8_CHECK
</pre>
When PCRE_UTF8 is set, the validity of the pattern as a UTF-8 string is
automatically checked. There is a discussion about the
<a href="pcre.html#utf8strings">validity of UTF-8 strings</a>
in the main
<a href="pcre.html"><b>pcre</b></a>
page. If an invalid UTF-8 sequence of bytes is found, <b>pcre_compile()</b>
returns an error. If you already know that your pattern is valid, and you want
to skip this check for performance reasons, you can set the PCRE_NO_UTF8_CHECK
option. When it is set, the effect of passing an invalid UTF-8 string as a
pattern is undefined. It may cause your program to crash. Note that this option
can also be passed to <b>pcre_exec()</b> and <b>pcre_dfa_exec()</b>, to suppress
the UTF-8 validity checking of subject strings.
</P>
<br><a name="SEC8" href="#TOC1">COMPILATION ERROR CODES</a><br>
<P>
The following table lists the error codes than may be returned by
<b>pcre_compile2()</b>, along with the error messages that may be returned by
both compiling functions. As PCRE has developed, some error codes have fallen
out of use. To avoid confusion, they have not been re-used.
<pre>
   0  no error
   1  \ at end of pattern
   2  \c at end of pattern
   3  unrecognized character follows \
   4  numbers out of order in {} quantifier
   5  number too big in {} quantifier
   6  missing terminating ] for character class
   7  invalid escape sequence in character class
   8  range out of order in character class
   9  nothing to repeat
  10  [this code is not in use]
  11  internal error: unexpected repeat
  12  unrecognized character after (? or (?-
  13  POSIX named classes are supported only within a class
  14  missing )
  15  reference to non-existent subpattern
  16  erroffset passed as NULL
  17  unknown option bit(s) set
  18  missing ) after comment
  19  [this code is not in use]
  20  regular expression is too large
  21  failed to get memory
  22  unmatched parentheses
  23  internal error: code overflow
  24  unrecognized character after (?&#60;
  25  lookbehind assertion is not fixed length
  26  malformed number or name after (?(
  27  conditional group contains more than two branches
  28  assertion expected after (?(
  29  (?R or (?[+-]digits must be followed by )
  30  unknown POSIX class name
  31  POSIX collating elements are not supported
  32  this version of PCRE is not compiled with PCRE_UTF8 support
  33  [this code is not in use]
  34  character value in \x{...} sequence is too large
  35  invalid condition (?(0)
  36  \C not allowed in lookbehind assertion
  37  PCRE does not support \L, \l, \N, \U, or \u
  38  number after (?C is &#62; 255
  39  closing ) for (?C expected
  40  recursive call could loop indefinitely
  41  unrecognized character after (?P
  42  syntax error in subpattern name (missing terminator)
  43  two named subpatterns have the same name
  44  invalid UTF-8 string
  45  support for \P, \p, and \X has not been compiled
  46  malformed \P or \p sequence
  47  unknown property name after \P or \p
  48  subpattern name is too long (maximum 32 characters)
  49  too many named subpatterns (maximum 10000)
  50  [this code is not in use]
  51  octal value is greater than \377 (not in UTF-8 mode)
  52  internal error: overran compiling workspace
  53  internal error: previously-checked referenced subpattern not found
  54  DEFINE group contains more than one branch
  55  repeating a DEFINE group is not allowed
  56  inconsistent NEWLINE options
  57  \g is not followed by a braced, angle-bracketed, or quoted
        name/number or by a plain number
  58  a numbered reference must not be zero
  59  (*VERB) with an argument is not supported
  60  (*VERB) not recognized
  61  number is too big
  62  subpattern name expected
  63  digit expected after (?+
  64  ] is an invalid data character in JavaScript compatibility mode
</pre>
The numbers 32 and 10000 in errors 48 and 49 are defaults; different values may
be used if the limits were changed when PCRE was built.
</P>
<br><a name="SEC9" href="#TOC1">STUDYING A PATTERN</a><br>
<P>
<b>pcre_extra *pcre_study(const pcre *<i>code</i>, int <i>options</i></b>
<b>const char **<i>errptr</i>);</b>
</P>
<P>
If a compiled pattern is going to be used several times, it is worth spending
more time analyzing it in order to speed up the time taken for matching. The
function <b>pcre_study()</b> takes a pointer to a compiled pattern as its first
argument. If studying the pattern produces additional information that will
help speed up matching, <b>pcre_study()</b> returns a pointer to a
<b>pcre_extra</b> block, in which the <i>study_data</i> field points to the
results of the study.
</P>
<P>
The returned value from <b>pcre_study()</b> can be passed directly to
<b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>. However, a <b>pcre_extra</b> block
also contains other fields that can be set by the caller before the block is
passed; these are described
<a href="#extradata">below</a>
in the section on matching a pattern.
</P>
<P>
If studying the pattern does not produce any useful information,
<b>pcre_study()</b> returns NULL. In that circumstance, if the calling program
wants to pass any of the other fields to <b>pcre_exec()</b> or
<b>pcre_dfa_exec()</b>, it must set up its own <b>pcre_extra</b> block.
</P>
<P>
The second argument of <b>pcre_study()</b> contains option bits. At present, no
options are defined, and this argument should always be zero.
</P>
<P>
The third argument for <b>pcre_study()</b> is a pointer for an error message. If
studying succeeds (even if no data is returned), the variable it points to is
set to NULL. Otherwise it is set to point to a textual error message. This is a
static string that is part of the library. You must not try to free it. You
should test the error pointer for NULL after calling <b>pcre_study()</b>, to be
sure that it has run successfully.
</P>
<P>
This is a typical call to <b>pcre_study</b>():
<pre>
  pcre_extra *pe;
  pe = pcre_study(
    re,             /* result of pcre_compile() */
    0,              /* no options exist */
    &error);        /* set to NULL or points to a message */
</pre>
Studying a pattern does two things: first, a lower bound for the length of
subject string that is needed to match the pattern is computed. This does not
mean that there are any strings of that length that match, but it does
guarantee that no shorter strings match. The value is used by
<b>pcre_exec()</b> and <b>pcre_dfa_exec()</b> to avoid wasting time by trying to
match strings that are shorter than the lower bound. You can find out the value
in a calling program via the <b>pcre_fullinfo()</b> function.
</P>
<P>
Studying a pattern is also useful for non-anchored patterns that do not have a
single fixed starting character. A bitmap of possible starting bytes is
created. This speeds up finding a position in the subject at which to start
matching.
<a name="localesupport"></a></P>
<br><a name="SEC10" href="#TOC1">LOCALE SUPPORT</a><br>
<P>
PCRE handles caseless matching, and determines whether characters are letters,
digits, or whatever, by reference to a set of tables, indexed by character
value. When running in UTF-8 mode, this applies only to characters with codes
less than 128. Higher-valued codes never match escapes such as \w or \d, but
can be tested with \p if PCRE is built with Unicode character property
support. The use of locales with Unicode is discouraged. If you are handling
characters with codes greater than 128, you should either use UTF-8 and
Unicode, or use locales, but not try to mix the two.
</P>
<P>
PCRE contains an internal set of tables that are used when the final argument
of <b>pcre_compile()</b> is NULL. These are sufficient for many applications.
Normally, the internal tables recognize only ASCII characters. However, when
PCRE is built, it is possible to cause the internal tables to be rebuilt in the
default "C" locale of the local system, which may cause them to be different.
</P>
<P>
The internal tables can always be overridden by tables supplied by the
application that calls PCRE. These may be created in a different locale from
the default. As more and more applications change to using Unicode, the need
for this locale support is expected to die away.
</P>
<P>
External tables are built by calling the <b>pcre_maketables()</b> function,
which has no arguments, in the relevant locale. The result can then be passed
to <b>pcre_compile()</b> or <b>pcre_exec()</b> as often as necessary. For
example, to build and use tables that are appropriate for the French locale
(where accented characters with values greater than 128 are treated as letters),
the following code could be used:
<pre>
  setlocale(LC_CTYPE, "fr_FR");
  tables = pcre_maketables();
  re = pcre_compile(..., tables);
</pre>
The locale name "fr_FR" is used on Linux and other Unix-like systems; if you
are using Windows, the name for the French locale is "french".
</P>
<P>
When <b>pcre_maketables()</b> runs, the tables are built in memory that is
obtained via <b>pcre_malloc</b>. It is the caller's responsibility to ensure
that the memory containing the tables remains available for as long as it is
needed.
</P>
<P>
The pointer that is passed to <b>pcre_compile()</b> is saved with the compiled
pattern, and the same tables are used via this pointer by <b>pcre_study()</b>
and normally also by <b>pcre_exec()</b>. Thus, by default, for any single
pattern, compilation, studying and matching all happen in the same locale, but
different patterns can be compiled in different locales.
</P>
<P>
It is possible to pass a table pointer or NULL (indicating the use of the
internal tables) to <b>pcre_exec()</b>. Although not intended for this purpose,
this facility could be used to match a pattern in a different locale from the
one in which it was compiled. Passing table pointers at run time is discussed
below in the section on matching a pattern.
</P>
<br><a name="SEC11" href="#TOC1">INFORMATION ABOUT A PATTERN</a><br>
<P>
<b>int pcre_fullinfo(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>int <i>what</i>, void *<i>where</i>);</b>
</P>
<P>
The <b>pcre_fullinfo()</b> function returns information about a compiled
pattern. It replaces the obsolete <b>pcre_info()</b> function, which is
nevertheless retained for backwards compability (and is documented below).
</P>
<P>
The first argument for <b>pcre_fullinfo()</b> is a pointer to the compiled
pattern. The second argument is the result of <b>pcre_study()</b>, or NULL if
the pattern was not studied. The third argument specifies which piece of
information is required, and the fourth argument is a pointer to a variable
to receive the data. The yield of the function is zero for success, or one of
the following negative numbers:
<pre>
  PCRE_ERROR_NULL       the argument <i>code</i> was NULL
                        the argument <i>where</i> was NULL
  PCRE_ERROR_BADMAGIC   the "magic number" was not found
  PCRE_ERROR_BADOPTION  the value of <i>what</i> was invalid
</pre>
The "magic number" is placed at the start of each compiled pattern as an simple
check against passing an arbitrary memory pointer. Here is a typical call of
<b>pcre_fullinfo()</b>, to obtain the length of the compiled pattern:
<pre>
  int rc;
  size_t length;
  rc = pcre_fullinfo(
    re,               /* result of pcre_compile() */
    pe,               /* result of pcre_study(), or NULL */
    PCRE_INFO_SIZE,   /* what is required */
    &length);         /* where to put the data */
</pre>
The possible values for the third argument are defined in <b>pcre.h</b>, and are
as follows:
<pre>
  PCRE_INFO_BACKREFMAX
</pre>
Return the number of the highest back reference in the pattern. The fourth
argument should point to an <b>int</b> variable. Zero is returned if there are
no back references.
<pre>
  PCRE_INFO_CAPTURECOUNT
</pre>
Return the number of capturing subpatterns in the pattern. The fourth argument
should point to an <b>int</b> variable.
<pre>
  PCRE_INFO_DEFAULT_TABLES
</pre>
Return a pointer to the internal default character tables within PCRE. The
fourth argument should point to an <b>unsigned char *</b> variable. This
information call is provided for internal use by the <b>pcre_study()</b>
function. External callers can cause PCRE to use its internal tables by passing
a NULL table pointer.
<pre>
  PCRE_INFO_FIRSTBYTE
</pre>
Return information about the first byte of any matched string, for a
non-anchored pattern. The fourth argument should point to an <b>int</b>
variable. (This option used to be called PCRE_INFO_FIRSTCHAR; the old name is
still recognized for backwards compatibility.)
</P>
<P>
If there is a fixed first byte, for example, from a pattern such as
(cat|cow|coyote), its value is returned. Otherwise, if either
<br>
<br>
(a) the pattern was compiled with the PCRE_MULTILINE option, and every branch
starts with "^", or
<br>
<br>
(b) every branch of the pattern starts with ".*" and PCRE_DOTALL is not set
(if it were set, the pattern would be anchored),
<br>
<br>
-1 is returned, indicating that the pattern matches only at the start of a
subject string or after any newline within the string. Otherwise -2 is
returned. For anchored patterns, -2 is returned.
<pre>
  PCRE_INFO_FIRSTTABLE
</pre>
If the pattern was studied, and this resulted in the construction of a 256-bit
table indicating a fixed set of bytes for the first byte in any matching
string, a pointer to the table is returned. Otherwise NULL is returned. The
fourth argument should point to an <b>unsigned char *</b> variable.
<pre>
  PCRE_INFO_HASCRORLF
</pre>
Return 1 if the pattern contains any explicit matches for CR or LF characters,
otherwise 0. The fourth argument should point to an <b>int</b> variable. An
explicit match is either a literal CR or LF character, or \r or \n.
<pre>
  PCRE_INFO_JCHANGED
</pre>
Return 1 if the (?J) or (?-J) option setting is used in the pattern, otherwise
0. The fourth argument should point to an <b>int</b> variable. (?J) and
(?-J) set and unset the local PCRE_DUPNAMES option, respectively.
<pre>
  PCRE_INFO_LASTLITERAL
</pre>
Return the value of the rightmost literal byte that must exist in any matched
string, other than at its start, if such a byte has been recorded. The fourth
argument should point to an <b>int</b> variable. If there is no such byte, -1 is
returned. For anchored patterns, a last literal byte is recorded only if it
follows something of variable length. For example, for the pattern
/^a\d+z\d+/ the returned value is "z", but for /^a\dz\d/ the returned value
is -1.
<pre>
  PCRE_INFO_MINLENGTH
</pre>
If the pattern was studied and a minimum length for matching subject strings
was computed, its value is returned. Otherwise the returned value is -1. The
value is a number of characters, not bytes (this may be relevant in UTF-8
mode). The fourth argument should point to an <b>int</b> variable. A
non-negative value is a lower bound to the length of any matching string. There
may not be any strings of that length that do actually match, but every string
that does match is at least that long.
<pre>
  PCRE_INFO_NAMECOUNT
  PCRE_INFO_NAMEENTRYSIZE
  PCRE_INFO_NAMETABLE
</pre>
PCRE supports the use of named as well as numbered capturing parentheses. The
names are just an additional way of identifying the parentheses, which still
acquire numbers. Several convenience functions such as
<b>pcre_get_named_substring()</b> are provided for extracting captured
substrings by name. It is also possible to extract the data directly, by first
converting the name to a number in order to access the correct pointers in the
output vector (described with <b>pcre_exec()</b> below). To do the conversion,
you need to use the name-to-number map, which is described by these three
values.
</P>
<P>
The map consists of a number of fixed-size entries. PCRE_INFO_NAMECOUNT gives
the number of entries, and PCRE_INFO_NAMEENTRYSIZE gives the size of each
entry; both of these return an <b>int</b> value. The entry size depends on the
length of the longest name. PCRE_INFO_NAMETABLE returns a pointer to the first
entry of the table (a pointer to <b>char</b>). The first two bytes of each entry
are the number of the capturing parenthesis, most significant byte first. The
rest of the entry is the corresponding name, zero terminated.
</P>
<P>
The names are in alphabetical order. Duplicate names may appear if (?| is used
to create multiple groups with the same number, as described in the
<a href="pcrepattern.html#dupsubpatternnumber">section on duplicate subpattern numbers</a>
in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
page. Duplicate names for subpatterns with different numbers are permitted only
if PCRE_DUPNAMES is set. In all cases of duplicate names, they appear in the
table in the order in which they were found in the pattern. In the absence of
(?| this is the order of increasing number; when (?| is used this is not
necessarily the case because later subpatterns may have lower numbers.
</P>
<P>
As a simple example of the name/number table, consider the following pattern
(assume PCRE_EXTENDED is set, so white space - including newlines - is
ignored):
<pre>
  (?&#60;date&#62; (?&#60;year&#62;(\d\d)?\d\d) - (?&#60;month&#62;\d\d) - (?&#60;day&#62;\d\d) )
</pre>
There are four named subpatterns, so the table has four entries, and each entry
in the table is eight bytes long. The table is as follows, with non-printing
bytes shows in hexadecimal, and undefined bytes shown as ??:
<pre>
  00 01 d  a  t  e  00 ??
  00 05 d  a  y  00 ?? ??
  00 04 m  o  n  t  h  00
  00 02 y  e  a  r  00 ??
</pre>
When writing code to extract data from named subpatterns using the
name-to-number map, remember that the length of the entries is likely to be
different for each compiled pattern.
<pre>
  PCRE_INFO_OKPARTIAL
</pre>
Return 1 if the pattern can be used for partial matching with
<b>pcre_exec()</b>, otherwise 0. The fourth argument should point to an
<b>int</b> variable. From release 8.00, this always returns 1, because the
restrictions that previously applied to partial matching have been lifted. The
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation gives details of partial matching.
<pre>
  PCRE_INFO_OPTIONS
</pre>
Return a copy of the options with which the pattern was compiled. The fourth
argument should point to an <b>unsigned long int</b> variable. These option bits
are those specified in the call to <b>pcre_compile()</b>, modified by any
top-level option settings at the start of the pattern itself. In other words,
they are the options that will be in force when matching starts. For example,
if the pattern /(?im)abc(?-i)d/ is compiled with the PCRE_EXTENDED option, the
result is PCRE_CASELESS, PCRE_MULTILINE, and PCRE_EXTENDED.
</P>
<P>
A pattern is automatically anchored by PCRE if all of its top-level
alternatives begin with one of the following:
<pre>
  ^     unless PCRE_MULTILINE is set
  \A    always
  \G    always
  .*    if PCRE_DOTALL is set and there are no back references to the subpattern in which .* appears
</pre>
For such patterns, the PCRE_ANCHORED bit is set in the options returned by
<b>pcre_fullinfo()</b>.
<pre>
  PCRE_INFO_SIZE
</pre>
Return the size of the compiled pattern, that is, the value that was passed as
the argument to <b>pcre_malloc()</b> when PCRE was getting memory in which to
place the compiled data. The fourth argument should point to a <b>size_t</b>
variable.
<pre>
  PCRE_INFO_STUDYSIZE
</pre>
Return the size of the data block pointed to by the <i>study_data</i> field in
a <b>pcre_extra</b> block. That is, it is the value that was passed to
<b>pcre_malloc()</b> when PCRE was getting memory into which to place the data
created by <b>pcre_study()</b>. If <b>pcre_extra</b> is NULL, or there is no
study data, zero is returned. The fourth argument should point to a
<b>size_t</b> variable.
</P>
<br><a name="SEC12" href="#TOC1">OBSOLETE INFO FUNCTION</a><br>
<P>
<b>int pcre_info(const pcre *<i>code</i>, int *<i>optptr</i>, int</b>
<b>*<i>firstcharptr</i>);</b>
</P>
<P>
The <b>pcre_info()</b> function is now obsolete because its interface is too
restrictive to return all the available data about a compiled pattern. New
programs should use <b>pcre_fullinfo()</b> instead. The yield of
<b>pcre_info()</b> is the number of capturing subpatterns, or one of the
following negative numbers:
<pre>
  PCRE_ERROR_NULL       the argument <i>code</i> was NULL
  PCRE_ERROR_BADMAGIC   the "magic number" was not found
</pre>
If the <i>optptr</i> argument is not NULL, a copy of the options with which the
pattern was compiled is placed in the integer it points to (see
PCRE_INFO_OPTIONS above).
</P>
<P>
If the pattern is not anchored and the <i>firstcharptr</i> argument is not NULL,
it is used to pass back information about the first character of any matched
string (see PCRE_INFO_FIRSTBYTE above).
</P>
<br><a name="SEC13" href="#TOC1">REFERENCE COUNTS</a><br>
<P>
<b>int pcre_refcount(pcre *<i>code</i>, int <i>adjust</i>);</b>
</P>
<P>
The <b>pcre_refcount()</b> function is used to maintain a reference count in the
data block that contains a compiled pattern. It is provided for the benefit of
applications that operate in an object-oriented manner, where different parts
of the application may be using the same compiled pattern, but you want to free
the block when they are all done.
</P>
<P>
When a pattern is compiled, the reference count field is initialized to zero.
It is changed only by calling this function, whose action is to add the
<i>adjust</i> value (which may be positive or negative) to it. The yield of the
function is the new value. However, the value of the count is constrained to
lie between 0 and 65535, inclusive. If the new value is outside these limits,
it is forced to the appropriate limit value.
</P>
<P>
Except when it is zero, the reference count is not correctly preserved if a
pattern is compiled on one host and then transferred to a host whose byte-order
is different. (This seems a highly unlikely scenario.)
</P>
<br><a name="SEC14" href="#TOC1">MATCHING A PATTERN: THE TRADITIONAL FUNCTION</a><br>
<P>
<b>int pcre_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>);</b>
</P>
<P>
The function <b>pcre_exec()</b> is called to match a subject string against a
compiled pattern, which is passed in the <i>code</i> argument. If the
pattern was studied, the result of the study should be passed in the
<i>extra</i> argument. This function is the main matching facility of the
library, and it operates in a Perl-like manner. For specialist use there is
also an alternative matching function, which is described
<a href="#dfamatch">below</a>
in the section about the <b>pcre_dfa_exec()</b> function.
</P>
<P>
In most applications, the pattern will have been compiled (and optionally
studied) in the same process that calls <b>pcre_exec()</b>. However, it is
possible to save compiled patterns and study data, and then use them later
in different processes, possibly even on different hosts. For a discussion
about this, see the
<a href="pcreprecompile.html"><b>pcreprecompile</b></a>
documentation.
</P>
<P>
Here is an example of a simple call to <b>pcre_exec()</b>:
<pre>
  int rc;
  int ovector[30];
  rc = pcre_exec(
    re,             /* result of pcre_compile() */
    NULL,           /* we didn't study the pattern */
    "some string",  /* the subject string */
    11,             /* the length of the subject string */
    0,              /* start at offset 0 in the subject */
    0,              /* default options */
    ovector,        /* vector of integers for substring information */
    30);            /* number of elements (NOT size in bytes) */
<a name="extradata"></a></PRE>
</P>
<br><b>
Extra data for <b>pcre_exec()</b>
</b><br>
<P>
If the <i>extra</i> argument is not NULL, it must point to a <b>pcre_extra</b>
data block. The <b>pcre_study()</b> function returns such a block (when it
doesn't return NULL), but you can also create one for yourself, and pass
additional information in it. The <b>pcre_extra</b> block contains the following
fields (not necessarily in this order):
<pre>
  unsigned long int <i>flags</i>;
  void *<i>study_data</i>;
  unsigned long int <i>match_limit</i>;
  unsigned long int <i>match_limit_recursion</i>;
  void *<i>callout_data</i>;
  const unsigned char *<i>tables</i>;
</pre>
The <i>flags</i> field is a bitmap that specifies which of the other fields
are set. The flag bits are:
<pre>
  PCRE_EXTRA_STUDY_DATA
  PCRE_EXTRA_MATCH_LIMIT
  PCRE_EXTRA_MATCH_LIMIT_RECURSION
  PCRE_EXTRA_CALLOUT_DATA
  PCRE_EXTRA_TABLES
</pre>
Other flag bits should be set to zero. The <i>study_data</i> field is set in the
<b>pcre_extra</b> block that is returned by <b>pcre_study()</b>, together with
the appropriate flag bit. You should not set this yourself, but you may add to
the block by setting the other fields and their corresponding flag bits.
</P>
<P>
The <i>match_limit</i> field provides a means of preventing PCRE from using up a
vast amount of resources when running patterns that are not going to match,
but which have a very large number of possibilities in their search trees. The
classic example is a pattern that uses nested unlimited repeats.
</P>
<P>
Internally, PCRE uses a function called <b>match()</b> which it calls repeatedly
(sometimes recursively). The limit set by <i>match_limit</i> is imposed on the
number of times this function is called during a match, which has the effect of
limiting the amount of backtracking that can take place. For patterns that are
not anchored, the count restarts from zero for each position in the subject
string.
</P>
<P>
The default value for the limit can be set when PCRE is built; the default
default is 10 million, which handles all but the most extreme cases. You can
override the default by suppling <b>pcre_exec()</b> with a <b>pcre_extra</b>
block in which <i>match_limit</i> is set, and PCRE_EXTRA_MATCH_LIMIT is set in
the <i>flags</i> field. If the limit is exceeded, <b>pcre_exec()</b> returns
PCRE_ERROR_MATCHLIMIT.
</P>
<P>
The <i>match_limit_recursion</i> field is similar to <i>match_limit</i>, but
instead of limiting the total number of times that <b>match()</b> is called, it
limits the depth of recursion. The recursion depth is a smaller number than the
total number of calls, because not all calls to <b>match()</b> are recursive.
This limit is of use only if it is set smaller than <i>match_limit</i>.
</P>
<P>
Limiting the recursion depth limits the amount of stack that can be used, or,
when PCRE has been compiled to use memory on the heap instead of the stack, the
amount of heap memory that can be used.
</P>
<P>
The default value for <i>match_limit_recursion</i> can be set when PCRE is
built; the default default is the same value as the default for
<i>match_limit</i>. You can override the default by suppling <b>pcre_exec()</b>
with a <b>pcre_extra</b> block in which <i>match_limit_recursion</i> is set, and
PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the <i>flags</i> field. If the limit
is exceeded, <b>pcre_exec()</b> returns PCRE_ERROR_RECURSIONLIMIT.
</P>
<P>
The <i>callout_data</i> field is used in conjunction with the "callout" feature,
and is described in the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
</P>
<P>
The <i>tables</i> field is used to pass a character tables pointer to
<b>pcre_exec()</b>; this overrides the value that is stored with the compiled
pattern. A non-NULL value is stored with the compiled pattern only if custom
tables were supplied to <b>pcre_compile()</b> via its <i>tableptr</i> argument.
If NULL is passed to <b>pcre_exec()</b> using this mechanism, it forces PCRE's
internal tables to be used. This facility is helpful when re-using patterns
that have been saved after compiling with an external set of tables, because
the external tables might be at a different address when <b>pcre_exec()</b> is
called. See the
<a href="pcreprecompile.html"><b>pcreprecompile</b></a>
documentation for a discussion of saving compiled patterns for later use.
<a name="execoptions"></a></P>
<br><b>
Option bits for <b>pcre_exec()</b>
</b><br>
<P>
The unused bits of the <i>options</i> argument for <b>pcre_exec()</b> must be
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_<i>xxx</i>,
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART,
PCRE_NO_START_OPTIMIZE, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_SOFT, and
PCRE_PARTIAL_HARD.
<pre>
  PCRE_ANCHORED
</pre>
The PCRE_ANCHORED option limits <b>pcre_exec()</b> to matching at the first
matching position. If a pattern was compiled with PCRE_ANCHORED, or turned out
to be anchored by virtue of its contents, it cannot be made unachored at
matching time.
<pre>
  PCRE_BSR_ANYCRLF
  PCRE_BSR_UNICODE
</pre>
These options (which are mutually exclusive) control what the \R escape
sequence matches. The choice is either to match only CR, LF, or CRLF, or to
match any Unicode newline sequence. These options override the choice that was
made or defaulted when the pattern was compiled.
<pre>
  PCRE_NEWLINE_CR
  PCRE_NEWLINE_LF
  PCRE_NEWLINE_CRLF
  PCRE_NEWLINE_ANYCRLF
  PCRE_NEWLINE_ANY
</pre>
These options override the newline definition that was chosen or defaulted when
the pattern was compiled. For details, see the description of
<b>pcre_compile()</b> above. During matching, the newline choice affects the
behaviour of the dot, circumflex, and dollar metacharacters. It may also alter
the way the match position is advanced after a match failure for an unanchored
pattern.
</P>
<P>
When PCRE_NEWLINE_CRLF, PCRE_NEWLINE_ANYCRLF, or PCRE_NEWLINE_ANY is set, and a
match attempt for an unanchored pattern fails when the current position is at a
CRLF sequence, and the pattern contains no explicit matches for CR or LF
characters, the match position is advanced by two characters instead of one, in
other words, to after the CRLF.
</P>
<P>
The above rule is a compromise that makes the most common cases work as
expected. For example, if the pattern is .+A (and the PCRE_DOTALL option is not
set), it does not match the string "\r\nA" because, after failing at the
start, it skips both the CR and the LF before retrying. However, the pattern
[\r\n]A does match that string, because it contains an explicit CR or LF
reference, and so advances only by one character after the first failure.
</P>
<P>
An explicit match for CR of LF is either a literal appearance of one of those
characters, or one of the \r or \n escape sequences. Implicit matches such as
[^X] do not count, nor does \s (which includes CR and LF in the characters
that it matches).
</P>
<P>
Notwithstanding the above, anomalous effects may still occur when CRLF is a
valid newline sequence and explicit \r or \n escapes appear in the pattern.
<pre>
  PCRE_NOTBOL
</pre>
This option specifies that first character of the subject string is not the
beginning of a line, so the circumflex metacharacter should not match before
it. Setting this without PCRE_MULTILINE (at compile time) causes circumflex
never to match. This option affects only the behaviour of the circumflex
metacharacter. It does not affect \A.
<pre>
  PCRE_NOTEOL
</pre>
This option specifies that the end of the subject string is not the end of a
line, so the dollar metacharacter should not match it nor (except in multiline
mode) a newline immediately before it. Setting this without PCRE_MULTILINE (at
compile time) causes dollar never to match. This option affects only the
behaviour of the dollar metacharacter. It does not affect \Z or \z.
<pre>
  PCRE_NOTEMPTY
</pre>
An empty string is not considered to be a valid match if this option is set. If
there are alternatives in the pattern, they are tried. If all the alternatives
match the empty string, the entire match fails. For example, if the pattern
<pre>
  a?b?
</pre>
is applied to a string not beginning with "a" or "b", it matches an empty
string at the start of the subject. With PCRE_NOTEMPTY set, this match is not
valid, so PCRE searches further into the string for occurrences of "a" or "b".
<pre>
  PCRE_NOTEMPTY_ATSTART
</pre>
This is like PCRE_NOTEMPTY, except that an empty string match that is not at
the start of the subject is permitted. If the pattern is anchored, such a match
can occur only if the pattern contains \K.
</P>
<P>
Perl has no direct equivalent of PCRE_NOTEMPTY or PCRE_NOTEMPTY_ATSTART, but it
does make a special case of a pattern match of the empty string within its
<b>split()</b> function, and when using the /g modifier. It is possible to
emulate Perl's behaviour after matching a null string by first trying the match
again at the same offset with PCRE_NOTEMPTY_ATSTART and PCRE_ANCHORED, and then
if that fails, by advancing the starting offset (see below) and trying an
ordinary match again. There is some code that demonstrates how to do this in
the
<a href="pcredemo.html"><b>pcredemo</b></a>
sample program.
<pre>
  PCRE_NO_START_OPTIMIZE
</pre>
There are a number of optimizations that <b>pcre_exec()</b> uses at the start of
a match, in order to speed up the process. For example, if it is known that a
match must start with a specific character, it searches the subject for that
character, and fails immediately if it cannot find it, without actually running
the main matching function. When callouts are in use, these optimizations can
cause them to be skipped. This option disables the "start-up" optimizations,
causing performance to suffer, but ensuring that the callouts do occur.
<pre>
  PCRE_NO_UTF8_CHECK
</pre>
When PCRE_UTF8 is set at compile time, the validity of the subject as a UTF-8
string is automatically checked when <b>pcre_exec()</b> is subsequently called.
The value of <i>startoffset</i> is also checked to ensure that it points to the
start of a UTF-8 character. There is a discussion about the validity of UTF-8
strings in the
<a href="pcre.html#utf8strings">section on UTF-8 support</a>
in the main
<a href="pcre.html"><b>pcre</b></a>
page. If an invalid UTF-8 sequence of bytes is found, <b>pcre_exec()</b> returns
the error PCRE_ERROR_BADUTF8. If <i>startoffset</i> contains an invalid value,
PCRE_ERROR_BADUTF8_OFFSET is returned.
</P>
<P>
If you already know that your subject is valid, and you want to skip these
checks for performance reasons, you can set the PCRE_NO_UTF8_CHECK option when
calling <b>pcre_exec()</b>. You might want to do this for the second and
subsequent calls to <b>pcre_exec()</b> if you are making repeated calls to find
all the matches in a single subject string. However, you should be sure that
the value of <i>startoffset</i> points to the start of a UTF-8 character. When
PCRE_NO_UTF8_CHECK is set, the effect of passing an invalid UTF-8 string as a
subject, or a value of <i>startoffset</i> that does not point to the start of a
UTF-8 character, is undefined. Your program may crash.
<pre>
  PCRE_PARTIAL_HARD
  PCRE_PARTIAL_SOFT
</pre>
These options turn on the partial matching feature. For backwards
compatibility, PCRE_PARTIAL is a synonym for PCRE_PARTIAL_SOFT. A partial match
occurs if the end of the subject string is reached successfully, but there are
not enough subject characters to complete the match. If this happens when
PCRE_PARTIAL_HARD is set, <b>pcre_exec()</b> immediately returns
PCRE_ERROR_PARTIAL. Otherwise, if PCRE_PARTIAL_SOFT is set, matching continues
by testing any other alternatives. Only if they all fail is PCRE_ERROR_PARTIAL
returned (instead of PCRE_ERROR_NOMATCH). The portion of the string that
was inspected when the partial match was found is set as the first matching
string. There is a more detailed discussion in the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation.
</P>
<br><b>
The string to be matched by <b>pcre_exec()</b>
</b><br>
<P>
The subject string is passed to <b>pcre_exec()</b> as a pointer in
<i>subject</i>, a length (in bytes) in <i>length</i>, and a starting byte offset
in <i>startoffset</i>. In UTF-8 mode, the byte offset must point to the start of
a UTF-8 character. Unlike the pattern string, the subject may contain binary
zero bytes. When the starting offset is zero, the search for a match starts at
the beginning of the subject, and this is by far the most common case.
</P>
<P>
A non-zero starting offset is useful when searching for another match in the
same subject by calling <b>pcre_exec()</b> again after a previous success.
Setting <i>startoffset</i> differs from just passing over a shortened string and
setting PCRE_NOTBOL in the case of a pattern that begins with any kind of
lookbehind. For example, consider the pattern
<pre>
  \Biss\B
</pre>
which finds occurrences of "iss" in the middle of words. (\B matches only if
the current position in the subject is not a word boundary.) When applied to
the string "Mississipi" the first call to <b>pcre_exec()</b> finds the first
occurrence. If <b>pcre_exec()</b> is called again with just the remainder of the
subject, namely "issipi", it does not match, because \B is always false at the
start of the subject, which is deemed to be a word boundary. However, if
<b>pcre_exec()</b> is passed the entire string again, but with <i>startoffset</i>
set to 4, it finds the second occurrence of "iss" because it is able to look
behind the starting point to discover that it is preceded by a letter.
</P>
<P>
If a non-zero starting offset is passed when the pattern is anchored, one
attempt to match at the given offset is made. This can only succeed if the
pattern does not require the match to be at the start of the subject.
</P>
<br><b>
How <b>pcre_exec()</b> returns captured substrings
</b><br>
<P>
In general, a pattern matches a certain portion of the subject, and in
addition, further substrings from the subject may be picked out by parts of the
pattern. Following the usage in Jeffrey Friedl's book, this is called
"capturing" in what follows, and the phrase "capturing subpattern" is used for
a fragment of a pattern that picks out a substring. PCRE supports several other
kinds of parenthesized subpattern that do not cause substrings to be captured.
</P>
<P>
Captured substrings are returned to the caller via a vector of integers whose
address is passed in <i>ovector</i>. The number of elements in the vector is
passed in <i>ovecsize</i>, which must be a non-negative number. <b>Note</b>: this
argument is NOT the size of <i>ovector</i> in bytes.
</P>
<P>
The first two-thirds of the vector is used to pass back captured substrings,
each substring using a pair of integers. The remaining third of the vector is
used as workspace by <b>pcre_exec()</b> while matching capturing subpatterns,
and is not available for passing back information. The number passed in
<i>ovecsize</i> should always be a multiple of three. If it is not, it is
rounded down.
</P>
<P>
When a match is successful, information about captured substrings is returned
in pairs of integers, starting at the beginning of <i>ovector</i>, and
continuing up to two-thirds of its length at the most. The first element of
each pair is set to the byte offset of the first character in a substring, and
the second is set to the byte offset of the first character after the end of a
substring. <b>Note</b>: these values are always byte offsets, even in UTF-8
mode. They are not character counts.
</P>
<P>
The first pair of integers, <i>ovector[0]</i> and <i>ovector[1]</i>, identify the
portion of the subject string matched by the entire pattern. The next pair is
used for the first capturing subpattern, and so on. The value returned by
<b>pcre_exec()</b> is one more than the highest numbered pair that has been set.
For example, if two substrings have been captured, the returned value is 3. If
there are no capturing subpatterns, the return value from a successful match is
1, indicating that just the first pair of offsets has been set.
</P>
<P>
If a capturing subpattern is matched repeatedly, it is the last portion of the
string that it matched that is returned.
</P>
<P>
If the vector is too small to hold all the captured substring offsets, it is
used as far as possible (up to two-thirds of its length), and the function
returns a value of zero. If the substring offsets are not of interest,
<b>pcre_exec()</b> may be called with <i>ovector</i> passed as NULL and
<i>ovecsize</i> as zero. However, if the pattern contains back references and
the <i>ovector</i> is not big enough to remember the related substrings, PCRE
has to get additional memory for use during matching. Thus it is usually
advisable to supply an <i>ovector</i>.
</P>
<P>
The <b>pcre_fullinfo()</b> function can be used to find out how many capturing
subpatterns there are in a compiled pattern. The smallest size for
<i>ovector</i> that will allow for <i>n</i> captured substrings, in addition to
the offsets of the substring matched by the whole pattern, is (<i>n</i>+1)*3.
</P>
<P>
It is possible for capturing subpattern number <i>n+1</i> to match some part of
the subject when subpattern <i>n</i> has not been used at all. For example, if
the string "abc" is matched against the pattern (a|(z))(bc) the return from the
function is 4, and subpatterns 1 and 3 are matched, but 2 is not. When this
happens, both values in the offset pairs corresponding to unused subpatterns
are set to -1.
</P>
<P>
Offset values that correspond to unused subpatterns at the end of the
expression are also set to -1. For example, if the string "abc" is matched
against the pattern (abc)(x(yz)?)? subpatterns 2 and 3 are not matched. The
return from the function is 2, because the highest used capturing subpattern
number is 1. However, you can refer to the offsets for the second and third
capturing subpatterns if you wish (assuming the vector is large enough, of
course).
</P>
<P>
Some convenience functions are provided for extracting the captured substrings
as separate strings. These are described below.
<a name="errorlist"></a></P>
<br><b>
Error return values from <b>pcre_exec()</b>
</b><br>
<P>
If <b>pcre_exec()</b> fails, it returns a negative number. The following are
defined in the header file:
<pre>
  PCRE_ERROR_NOMATCH        (-1)
</pre>
The subject string did not match the pattern.
<pre>
  PCRE_ERROR_NULL           (-2)
</pre>
Either <i>code</i> or <i>subject</i> was passed as NULL, or <i>ovector</i> was
NULL and <i>ovecsize</i> was not zero.
<pre>
  PCRE_ERROR_BADOPTION      (-3)
</pre>
An unrecognized bit was set in the <i>options</i> argument.
<pre>
  PCRE_ERROR_BADMAGIC       (-4)
</pre>
PCRE stores a 4-byte "magic number" at the start of the compiled code, to catch
the case when it is passed a junk pointer and to detect when a pattern that was
compiled in an environment of one endianness is run in an environment with the
other endianness. This is the error that PCRE gives when the magic number is
not present.
<pre>
  PCRE_ERROR_UNKNOWN_OPCODE (-5)
</pre>
While running the pattern match, an unknown item was encountered in the
compiled pattern. This error could be caused by a bug in PCRE or by overwriting
of the compiled pattern.
<pre>
  PCRE_ERROR_NOMEMORY       (-6)
</pre>
If a pattern contains back references, but the <i>ovector</i> that is passed to
<b>pcre_exec()</b> is not big enough to remember the referenced substrings, PCRE
gets a block of memory at the start of matching to use for this purpose. If the
call via <b>pcre_malloc()</b> fails, this error is given. The memory is
automatically freed at the end of matching.
<pre>
  PCRE_ERROR_NOSUBSTRING    (-7)
</pre>
This error is used by the <b>pcre_copy_substring()</b>,
<b>pcre_get_substring()</b>, and <b>pcre_get_substring_list()</b> functions (see
below). It is never returned by <b>pcre_exec()</b>.
<pre>
  PCRE_ERROR_MATCHLIMIT     (-8)
</pre>
The backtracking limit, as specified by the <i>match_limit</i> field in a
<b>pcre_extra</b> structure (or defaulted) was reached. See the description
above.
<pre>
  PCRE_ERROR_CALLOUT        (-9)
</pre>
This error is never generated by <b>pcre_exec()</b> itself. It is provided for
use by callout functions that want to yield a distinctive error code. See the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation for details.
<pre>
  PCRE_ERROR_BADUTF8        (-10)
</pre>
A string that contains an invalid UTF-8 byte sequence was passed as a subject.
<pre>
  PCRE_ERROR_BADUTF8_OFFSET (-11)
</pre>
The UTF-8 byte sequence that was passed as a subject was valid, but the value
of <i>startoffset</i> did not point to the beginning of a UTF-8 character.
<pre>
  PCRE_ERROR_PARTIAL        (-12)
</pre>
The subject string did not match, but it did match partially. See the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation for details of partial matching.
<pre>
  PCRE_ERROR_BADPARTIAL     (-13)
</pre>
This code is no longer in use. It was formerly returned when the PCRE_PARTIAL
option was used with a compiled pattern containing items that were not
supported for partial matching. From release 8.00 onwards, there are no
restrictions on partial matching.
<pre>
  PCRE_ERROR_INTERNAL       (-14)
</pre>
An unexpected internal error has occurred. This error could be caused by a bug
in PCRE or by overwriting of the compiled pattern.
<pre>
  PCRE_ERROR_BADCOUNT       (-15)
</pre>
This error is given if the value of the <i>ovecsize</i> argument is negative.
<pre>
  PCRE_ERROR_RECURSIONLIMIT (-21)
</pre>
The internal recursion limit, as specified by the <i>match_limit_recursion</i>
field in a <b>pcre_extra</b> structure (or defaulted) was reached. See the
description above.
<pre>
  PCRE_ERROR_BADNEWLINE     (-23)
</pre>
An invalid combination of PCRE_NEWLINE_<i>xxx</i> options was given.
</P>
<P>
Error numbers -16 to -20 and -22 are not used by <b>pcre_exec()</b>.
</P>
<br><a name="SEC15" href="#TOC1">EXTRACTING CAPTURED SUBSTRINGS BY NUMBER</a><br>
<P>
<b>int pcre_copy_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>, char *<i>buffer</i>,</b>
<b>int <i>buffersize</i>);</b>
</P>
<P>
<b>int pcre_get_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<P>
<b>int pcre_get_substring_list(const char *<i>subject</i>,</b>
<b>int *<i>ovector</i>, int <i>stringcount</i>, const char ***<i>listptr</i>);</b>
</P>
<P>
Captured substrings can be accessed directly by using the offsets returned by
<b>pcre_exec()</b> in <i>ovector</i>. For convenience, the functions
<b>pcre_copy_substring()</b>, <b>pcre_get_substring()</b>, and
<b>pcre_get_substring_list()</b> are provided for extracting captured substrings
as new, separate, zero-terminated strings. These functions identify substrings
by number. The next section describes functions for extracting named
substrings.
</P>
<P>
A substring that contains a binary zero is correctly extracted and has a
further zero added on the end, but the result is not, of course, a C string.
However, you can process such a string by referring to the length that is
returned by <b>pcre_copy_substring()</b> and <b>pcre_get_substring()</b>.
Unfortunately, the interface to <b>pcre_get_substring_list()</b> is not adequate
for handling strings containing binary zeros, because the end of the final
string is not independently indicated.
</P>
<P>
The first three arguments are the same for all three of these functions:
<i>subject</i> is the subject string that has just been successfully matched,
<i>ovector</i> is a pointer to the vector of integer offsets that was passed to
<b>pcre_exec()</b>, and <i>stringcount</i> is the number of substrings that were
captured by the match, including the substring that matched the entire regular
expression. This is the value returned by <b>pcre_exec()</b> if it is greater
than zero. If <b>pcre_exec()</b> returned zero, indicating that it ran out of
space in <i>ovector</i>, the value passed as <i>stringcount</i> should be the
number of elements in the vector divided by three.
</P>
<P>
The functions <b>pcre_copy_substring()</b> and <b>pcre_get_substring()</b>
extract a single substring, whose number is given as <i>stringnumber</i>. A
value of zero extracts the substring that matched the entire pattern, whereas
higher values extract the captured substrings. For <b>pcre_copy_substring()</b>,
the string is placed in <i>buffer</i>, whose length is given by
<i>buffersize</i>, while for <b>pcre_get_substring()</b> a new block of memory is
obtained via <b>pcre_malloc</b>, and its address is returned via
<i>stringptr</i>. The yield of the function is the length of the string, not
including the terminating zero, or one of these error codes:
<pre>
  PCRE_ERROR_NOMEMORY       (-6)
</pre>
The buffer was too small for <b>pcre_copy_substring()</b>, or the attempt to get
memory failed for <b>pcre_get_substring()</b>.
<pre>
  PCRE_ERROR_NOSUBSTRING    (-7)
</pre>
There is no substring whose number is <i>stringnumber</i>.
</P>
<P>
The <b>pcre_get_substring_list()</b> function extracts all available substrings
and builds a list of pointers to them. All this is done in a single block of
memory that is obtained via <b>pcre_malloc</b>. The address of the memory block
is returned via <i>listptr</i>, which is also the start of the list of string
pointers. The end of the list is marked by a NULL pointer. The yield of the
function is zero if all went well, or the error code
<pre>
  PCRE_ERROR_NOMEMORY       (-6)
</pre>
if the attempt to get the memory block failed.
</P>
<P>
When any of these functions encounter a substring that is unset, which can
happen when capturing subpattern number <i>n+1</i> matches some part of the
subject, but subpattern <i>n</i> has not been used at all, they return an empty
string. This can be distinguished from a genuine zero-length substring by
inspecting the appropriate offset in <i>ovector</i>, which is negative for unset
substrings.
</P>
<P>
The two convenience functions <b>pcre_free_substring()</b> and
<b>pcre_free_substring_list()</b> can be used to free the memory returned by
a previous call of <b>pcre_get_substring()</b> or
<b>pcre_get_substring_list()</b>, respectively. They do nothing more than call
the function pointed to by <b>pcre_free</b>, which of course could be called
directly from a C program. However, PCRE is used in some situations where it is
linked via a special interface to another programming language that cannot use
<b>pcre_free</b> directly; it is for these cases that the functions are
provided.
</P>
<br><a name="SEC16" href="#TOC1">EXTRACTING CAPTURED SUBSTRINGS BY NAME</a><br>
<P>
<b>int pcre_get_stringnumber(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>);</b>
</P>
<P>
<b>int pcre_copy_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>char *<i>buffer</i>, int <i>buffersize</i>);</b>
</P>
<P>
<b>int pcre_get_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<P>
To extract a substring by name, you first have to find associated number.
For example, for this pattern
<pre>
  (a+)b(?&#60;xxx&#62;\d+)...
</pre>
the number of the subpattern called "xxx" is 2. If the name is known to be
unique (PCRE_DUPNAMES was not set), you can find the number from the name by
calling <b>pcre_get_stringnumber()</b>. The first argument is the compiled
pattern, and the second is the name. The yield of the function is the
subpattern number, or PCRE_ERROR_NOSUBSTRING (-7) if there is no subpattern of
that name.
</P>
<P>
Given the number, you can extract the substring directly, or use one of the
functions described in the previous section. For convenience, there are also
two functions that do the whole job.
</P>
<P>
Most of the arguments of <b>pcre_copy_named_substring()</b> and
<b>pcre_get_named_substring()</b> are the same as those for the similarly named
functions that extract by number. As these are described in the previous
section, they are not re-described here. There are just two differences:
</P>
<P>
First, instead of a substring number, a substring name is given. Second, there
is an extra argument, given at the start, which is a pointer to the compiled
pattern. This is needed in order to gain access to the name-to-number
translation table.
</P>
<P>
These functions call <b>pcre_get_stringnumber()</b>, and if it succeeds, they
then call <b>pcre_copy_substring()</b> or <b>pcre_get_substring()</b>, as
appropriate. <b>NOTE:</b> If PCRE_DUPNAMES is set and there are duplicate names,
the behaviour may not be what you want (see the next section).
</P>
<P>
<b>Warning:</b> If the pattern uses the (?| feature to set up multiple
subpatterns with the same number, as described in the
<a href="pcrepattern.html#dupsubpatternnumber">section on duplicate subpattern numbers</a>
in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
page, you cannot use names to distinguish the different subpatterns, because
names are not included in the compiled code. The matching process uses only
numbers. For this reason, the use of different names for subpatterns of the
same number causes an error at compile time.
</P>
<br><a name="SEC17" href="#TOC1">DUPLICATE SUBPATTERN NAMES</a><br>
<P>
<b>int pcre_get_stringtable_entries(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>, char **<i>first</i>, char **<i>last</i>);</b>
</P>
<P>
When a pattern is compiled with the PCRE_DUPNAMES option, names for subpatterns
are not required to be unique. (Duplicate names are always allowed for
subpatterns with the same number, created by using the (?| feature. Indeed, if
such subpatterns are named, they are required to use the same names.)
</P>
<P>
Normally, patterns with duplicate names are such that in any one match, only
one of the named subpatterns participates. An example is shown in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation.
</P>
<P>
When duplicates are present, <b>pcre_copy_named_substring()</b> and
<b>pcre_get_named_substring()</b> return the first substring corresponding to
the given name that is set. If none are set, PCRE_ERROR_NOSUBSTRING (-7) is
returned; no data is returned. The <b>pcre_get_stringnumber()</b> function
returns one of the numbers that are associated with the name, but it is not
defined which it is.
</P>
<P>
If you want to get full details of all captured substrings for a given name,
you must use the <b>pcre_get_stringtable_entries()</b> function. The first
argument is the compiled pattern, and the second is the name. The third and
fourth are pointers to variables which are updated by the function. After it
has run, they point to the first and last entries in the name-to-number table
for the given name. The function itself returns the length of each entry, or
PCRE_ERROR_NOSUBSTRING (-7) if there are none. The format of the table is
described above in the section entitled <i>Information about a pattern</i>.
Given all the relevant entries for the name, you can extract each of their
numbers, and hence the captured data, if any.
</P>
<br><a name="SEC18" href="#TOC1">FINDING ALL POSSIBLE MATCHES</a><br>
<P>
The traditional matching function uses a similar algorithm to Perl, which stops
when it finds the first match, starting at a given point in the subject. If you
want to find all possible matches, or the longest possible match, consider
using the alternative matching function (see below) instead. If you cannot use
the alternative function, but still need to find all possible matches, you
can kludge it up by making use of the callout facility, which is described in
the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
</P>
<P>
What you have to do is to insert a callout right at the end of the pattern.
When your callout function is called, extract and save the current matched
substring. Then return 1, which forces <b>pcre_exec()</b> to backtrack and try
other alternatives. Ultimately, when it runs out of matches, <b>pcre_exec()</b>
will yield PCRE_ERROR_NOMATCH.
<a name="dfamatch"></a></P>
<br><a name="SEC19" href="#TOC1">MATCHING A PATTERN: THE ALTERNATIVE FUNCTION</a><br>
<P>
<b>int pcre_dfa_exec(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>const char *<i>subject</i>, int <i>length</i>, int <i>startoffset</i>,</b>
<b>int <i>options</i>, int *<i>ovector</i>, int <i>ovecsize</i>,</b>
<b>int *<i>workspace</i>, int <i>wscount</i>);</b>
</P>
<P>
The function <b>pcre_dfa_exec()</b> is called to match a subject string against
a compiled pattern, using a matching algorithm that scans the subject string
just once, and does not backtrack. This has different characteristics to the
normal algorithm, and is not compatible with Perl. Some of the features of PCRE
patterns are not supported. Nevertheless, there are times when this kind of
matching can be useful. For a discussion of the two matching algorithms, and a
list of features that <b>pcre_dfa_exec()</b> does not support, see the
<a href="pcrematching.html"><b>pcrematching</b></a>
documentation.
</P>
<P>
The arguments for the <b>pcre_dfa_exec()</b> function are the same as for
<b>pcre_exec()</b>, plus two extras. The <i>ovector</i> argument is used in a
different way, and this is described below. The other common arguments are used
in the same way as for <b>pcre_exec()</b>, so their description is not repeated
here.
</P>
<P>
The two additional arguments provide workspace for the function. The workspace
vector should contain at least 20 elements. It is used for keeping track of
multiple paths through the pattern tree. More workspace will be needed for
patterns and subjects where there are a lot of potential matches.
</P>
<P>
Here is an example of a simple call to <b>pcre_dfa_exec()</b>:
<pre>
  int rc;
  int ovector[10];
  int wspace[20];
  rc = pcre_dfa_exec(
    re,             /* result of pcre_compile() */
    NULL,           /* we didn't study the pattern */
    "some string",  /* the subject string */
    11,             /* the length of the subject string */
    0,              /* start at offset 0 in the subject */
    0,              /* default options */
    ovector,        /* vector of integers for substring information */
    10,             /* number of elements (NOT size in bytes) */
    wspace,         /* working space vector */
    20);            /* number of elements (NOT size in bytes) */
</PRE>
</P>
<br><b>
Option bits for <b>pcre_dfa_exec()</b>
</b><br>
<P>
The unused bits of the <i>options</i> argument for <b>pcre_dfa_exec()</b> must be
zero. The only bits that may be set are PCRE_ANCHORED, PCRE_NEWLINE_<i>xxx</i>,
PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART,
PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_HARD, PCRE_PARTIAL_SOFT, PCRE_DFA_SHORTEST,
and PCRE_DFA_RESTART. All but the last four of these are exactly the same as
for <b>pcre_exec()</b>, so their description is not repeated here.
<pre>
  PCRE_PARTIAL_HARD
  PCRE_PARTIAL_SOFT
</pre>
These have the same general effect as they do for <b>pcre_exec()</b>, but the
details are slightly different. When PCRE_PARTIAL_HARD is set for
<b>pcre_dfa_exec()</b>, it returns PCRE_ERROR_PARTIAL if the end of the subject
is reached and there is still at least one matching possibility that requires
additional characters. This happens even if some complete matches have also
been found. When PCRE_PARTIAL_SOFT is set, the return code PCRE_ERROR_NOMATCH
is converted into PCRE_ERROR_PARTIAL if the end of the subject is reached,
there have been no complete matches, but there is still at least one matching
possibility. The portion of the string that was inspected when the longest
partial match was found is set as the first matching string in both cases.
<pre>
  PCRE_DFA_SHORTEST
</pre>
Setting the PCRE_DFA_SHORTEST option causes the matching algorithm to stop as
soon as it has found one match. Because of the way the alternative algorithm
works, this is necessarily the shortest possible match at the first possible
matching point in the subject string.
<pre>
  PCRE_DFA_RESTART
</pre>
When <b>pcre_dfa_exec()</b> returns a partial match, it is possible to call it
again, with additional subject characters, and have it continue with the same
match. The PCRE_DFA_RESTART option requests this action; when it is set, the
<i>workspace</i> and <i>wscount</i> options must reference the same vector as
before because data about the match so far is left in them after a partial
match. There is more discussion of this facility in the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation.
</P>
<br><b>
Successful returns from <b>pcre_dfa_exec()</b>
</b><br>
<P>
When <b>pcre_dfa_exec()</b> succeeds, it may have matched more than one
substring in the subject. Note, however, that all the matches from one run of
the function start at the same point in the subject. The shorter matches are
all initial substrings of the longer matches. For example, if the pattern
<pre>
  &#60;.*&#62;
</pre>
is matched against the string
<pre>
  This is &#60;something&#62; &#60;something else&#62; &#60;something further&#62; no more
</pre>
the three matched strings are
<pre>
  &#60;something&#62;
  &#60;something&#62; &#60;something else&#62;
  &#60;something&#62; &#60;something else&#62; &#60;something further&#62;
</pre>
On success, the yield of the function is a number greater than zero, which is
the number of matched substrings. The substrings themselves are returned in
<i>ovector</i>. Each string uses two elements; the first is the offset to the
start, and the second is the offset to the end. In fact, all the strings have
the same start offset. (Space could have been saved by giving this only once,
but it was decided to retain some compatibility with the way <b>pcre_exec()</b>
returns data, even though the meaning of the strings is different.)
</P>
<P>
The strings are returned in reverse order of length; that is, the longest
matching string is given first. If there were too many matches to fit into
<i>ovector</i>, the yield of the function is zero, and the vector is filled with
the longest matches.
</P>
<br><b>
Error returns from <b>pcre_dfa_exec()</b>
</b><br>
<P>
The <b>pcre_dfa_exec()</b> function returns a negative number when it fails.
Many of the errors are the same as for <b>pcre_exec()</b>, and these are
described
<a href="#errorlist">above.</a>
There are in addition the following errors that are specific to
<b>pcre_dfa_exec()</b>:
<pre>
  PCRE_ERROR_DFA_UITEM      (-16)
</pre>
This return is given if <b>pcre_dfa_exec()</b> encounters an item in the pattern
that it does not support, for instance, the use of \C or a back reference.
<pre>
  PCRE_ERROR_DFA_UCOND      (-17)
</pre>
This return is given if <b>pcre_dfa_exec()</b> encounters a condition item that
uses a back reference for the condition, or a test for recursion in a specific
group. These are not supported.
<pre>
  PCRE_ERROR_DFA_UMLIMIT    (-18)
</pre>
This return is given if <b>pcre_dfa_exec()</b> is called with an <i>extra</i>
block that contains a setting of the <i>match_limit</i> field. This is not
supported (it is meaningless).
<pre>
  PCRE_ERROR_DFA_WSSIZE     (-19)
</pre>
This return is given if <b>pcre_dfa_exec()</b> runs out of space in the
<i>workspace</i> vector.
<pre>
  PCRE_ERROR_DFA_RECURSE    (-20)
</pre>
When a recursive subpattern is processed, the matching function calls itself
recursively, using private vectors for <i>ovector</i> and <i>workspace</i>. This
error is given if the output vector is not large enough. This should be
extremely rare, as a vector of size 1000 is used.
</P>
<br><a name="SEC20" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcrebuild</b>(3), <b>pcrecallout</b>(3), <b>pcrecpp(3)</b>(3),
<b>pcrematching</b>(3), <b>pcrepartial</b>(3), <b>pcreposix</b>(3),
<b>pcreprecompile</b>(3), <b>pcresample</b>(3), <b>pcrestack</b>(3).
</P>
<br><a name="SEC21" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC22" href="#TOC1">REVISION</a><br>
<P>
Last updated: 03 October 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_copy_substring.html000064400000003167150405535540017403 0ustar00<html>
<head>
<title>pcre_copy_substring specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_copy_substring man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_copy_substring(const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, int <i>stringnumber</i>, char *<i>buffer</i>,</b>
<b>int <i>buffersize</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for extracting a captured substring into a given
buffer. The arguments are:
<pre>
  <i>subject</i>       Subject that has been successfully matched
  <i>ovector</i>       Offset vector that <b>pcre_exec()</b> used
  <i>stringcount</i>   Value returned by <b>pcre_exec()</b>
  <i>stringnumber</i>  Number of the required substring
  <i>buffer</i>        Buffer to receive the string
  <i>buffersize</i>    Size of buffer
</pre>
The yield is the length of the string, PCRE_ERROR_NOMEMORY if the buffer was
too small, or PCRE_ERROR_NOSUBSTRING if the string number is invalid.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrecompat.html000064400000016575150405535540015464 0ustar00<html>
<head>
<title>pcrecompat specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrecompat man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
DIFFERENCES BETWEEN PCRE AND PERL
</b><br>
<P>
This document describes the differences in the ways that PCRE and Perl handle
regular expressions. The differences described here are with respect to Perl
5.10.
</P>
<P>
1. PCRE has only a subset of Perl's UTF-8 and Unicode support. Details of what
it does have are given in the
<a href="pcre.html#utf8support">section on UTF-8 support</a>
in the main
<a href="pcre.html"><b>pcre</b></a>
page.
</P>
<P>
2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl permits
them, but they do not mean what you might think. For example, (?!a){3} does
not assert that the next three characters are not "a". It just asserts that the
next character is not "a" three times.
</P>
<P>
3. Capturing subpatterns that occur inside negative lookahead assertions are
counted, but their entries in the offsets vector are never set. Perl sets its
numerical variables from any such patterns that are matched before the
assertion fails to match something (thereby succeeding), but only if the
negative lookahead assertion contains just one branch.
</P>
<P>
4. Though binary zero characters are supported in the subject string, they are
not allowed in a pattern string because it is passed as a normal C string,
terminated by zero. The escape sequence \0 can be used in the pattern to
represent a binary zero.
</P>
<P>
5. The following Perl escape sequences are not supported: \l, \u, \L,
\U, and \N. In fact these are implemented by Perl's general string-handling
and are not part of its pattern matching engine. If any of these are
encountered by PCRE, an error is generated.
</P>
<P>
6. The Perl escape sequences \p, \P, and \X are supported only if PCRE is
built with Unicode character property support. The properties that can be
tested with \p and \P are limited to the general category properties such as
Lu and Nd, script names such as Greek or Han, and the derived properties Any
and L&. PCRE does support the Cs (surrogate) property, which Perl does not; the
Perl documentation says "Because Perl hides the need for the user to understand
the internal representation of Unicode characters, there is no need to
implement the somewhat messy concept of surrogates."
</P>
<P>
7. PCRE does support the \Q...\E escape for quoting substrings. Characters in
between are treated as literals. This is slightly different from Perl in that $
and @ are also handled as literals inside the quotes. In Perl, they cause
variable interpolation (but of course PCRE does not have variables). Note the
following examples:
<pre>
    Pattern            PCRE matches      Perl matches

    \Qabc$xyz\E        abc$xyz           abc followed by the contents of $xyz
    \Qabc\$xyz\E       abc\$xyz          abc\$xyz
    \Qabc\E\$\Qxyz\E   abc$xyz           abc$xyz
</pre>
The \Q...\E sequence is recognized both inside and outside character classes.
</P>
<P>
8. Fairly obviously, PCRE does not support the (?{code}) and (??{code})
constructions. However, there is support for recursive patterns. This is not
available in Perl 5.8, but it is in Perl 5.10. Also, the PCRE "callout"
feature allows an external function to be called during pattern matching. See
the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation for details.
</P>
<P>
9. Subpatterns that are called recursively or as "subroutines" are always
treated as atomic groups in PCRE. This is like Python, but unlike Perl. There
is a discussion of an example that explains this in more detail in the
<a href="pcrepattern.html#recursiondifference">section on recursion differences from Perl</a>
in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
page.
</P>
<P>
10. There are some differences that are concerned with the settings of captured
strings when part of a pattern is repeated. For example, matching "aba" against
the pattern /^(a(b)?)+$/ in Perl leaves $2 unset, but in PCRE it is set to "b".
</P>
<P>
11. PCRE does support Perl 5.10's backtracking verbs (*ACCEPT), (*FAIL), (*F),
(*COMMIT), (*PRUNE), (*SKIP), and (*THEN), but only in the forms without an
argument. PCRE does not support (*MARK).
</P>
<P>
12. PCRE's handling of duplicate subpattern numbers and duplicate subpattern
names is not as general as Perl's. This is a consequence of the fact the PCRE
works internally just with numbers, using an external table to translate
between numbers and names. In particular, a pattern such as (?|(?&#60;a&#62;A)|(?&#60;b)B),
where the two capturing parentheses have the same number but different names,
is not supported, and causes an error at compile time. If it were allowed, it
would not be possible to distinguish which parentheses matched, because both
names map to capturing subpattern number 1. To avoid this confusing situation,
an error is given at compile time.
</P>
<P>
13. PCRE provides some extensions to the Perl regular expression facilities.
Perl 5.10 includes new features that are not in earlier versions of Perl, some
of which (such as named parentheses) have been in PCRE for some time. This list
is with respect to Perl 5.10:
<br>
<br>
(a) Although lookbehind assertions in PCRE must match fixed length strings,
each alternative branch of a lookbehind assertion can match a different length
of string. Perl requires them all to have the same length.
<br>
<br>
(b) If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the $
meta-character matches only at the very end of the string.
<br>
<br>
(c) If PCRE_EXTRA is set, a backslash followed by a letter with no special
meaning is faulted. Otherwise, like Perl, the backslash is quietly ignored.
(Perl can be made to issue a warning.)
<br>
<br>
(d) If PCRE_UNGREEDY is set, the greediness of the repetition quantifiers is
inverted, that is, by default they are not greedy, but if followed by a
question mark they are.
<br>
<br>
(e) PCRE_ANCHORED can be used at matching time to force a pattern to be tried
only at the first matching position in the subject string.
<br>
<br>
(f) The PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART, and
PCRE_NO_AUTO_CAPTURE options for <b>pcre_exec()</b> have no Perl equivalents.
<br>
<br>
(g) The \R escape sequence can be restricted to match only CR, LF, or CRLF
by the PCRE_BSR_ANYCRLF option.
<br>
<br>
(h) The callout facility is PCRE-specific.
<br>
<br>
(i) The partial matching facility is PCRE-specific.
<br>
<br>
(j) Patterns compiled by PCRE can be saved and re-used at a later time, even on
different hosts that have the other endianness.
<br>
<br>
(k) The alternative matching function (<b>pcre_dfa_exec()</b>) matches in a
different way and is not Perl-compatible.
<br>
<br>
(l) PCRE recognizes some special sequences such as (*CR) at the start of
a pattern that set overall options that cannot be changed within the pattern.
</P>
<br><b>
AUTHOR
</b><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><b>
REVISION
</b><br>
<P>
Last updated: 04 October 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcredemo.html000064400000031723150405535540015115 0ustar00<html>
<head>
<title>pcredemo specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcredemo man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
</ul>
<PRE>
/*************************************************
*           PCRE DEMONSTRATION PROGRAM           *
*************************************************/

/* This is a demonstration program to illustrate the most straightforward ways
of calling the PCRE regular expression library from a C program. See the
pcresample documentation for a short discussion ("man pcresample" if you have
the PCRE man pages installed).

In Unix-like environments, if PCRE is installed in your standard system
libraries, you should be able to compile this program using this command:

gcc -Wall pcredemo.c -lpcre -o pcredemo

If PCRE is not installed in a standard place, it is likely to be installed with
support for the pkg-config mechanism. If you have pkg-config, you can compile
this program using this command:

gcc -Wall pcredemo.c `pkg-config --cflags --libs libpcre` -o pcredemo

If you do not have pkg-config, you may have to use this:

gcc -Wall pcredemo.c -I/usr/local/include -L/usr/local/lib \
  -R/usr/local/lib -lpcre -o pcredemo

Replace "/usr/local/include" and "/usr/local/lib" with wherever the include and
library files for PCRE are installed on your system. Only some operating
systems (e.g. Solaris) use the -R option.

Building under Windows:

If you want to statically link this program against a non-dll .a file, you must
define PCRE_STATIC before including pcre.h, otherwise the pcre_malloc() and
pcre_free() exported functions will be declared __declspec(dllimport), with
unwanted results. So in this environment, uncomment the following line. */

/* #define PCRE_STATIC */

#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;pcre.h&gt;

#define OVECCOUNT 30    /* should be a multiple of 3 */


int main(int argc, char **argv)
{
pcre *re;
const char *error;
char *pattern;
char *subject;
unsigned char *name_table;
int erroffset;
int find_all;
int namecount;
int name_entry_size;
int ovector[OVECCOUNT];
int subject_length;
int rc, i;


/**************************************************************************
* First, sort out the command line. There is only one possible option at  *
* the moment, "-g" to request repeated matching to find all occurrences,  *
* like Perl's /g option. We set the variable find_all to a non-zero value *
* if the -g option is present. Apart from that, there must be exactly two *
* arguments.                                                              *
**************************************************************************/

find_all = 0;
for (i = 1; i &lt; argc; i++)
  {
  if (strcmp(argv[i], "-g") == 0) find_all = 1;
    else break;
  }

/* After the options, we require exactly two arguments, which are the pattern,
and the subject string. */

if (argc - i != 2)
  {
  printf("Two arguments required: a regex and a subject string\n");
  return 1;
  }

pattern = argv[i];
subject = argv[i+1];
subject_length = (int)strlen(subject);


/*************************************************************************
* Now we are going to compile the regular expression pattern, and handle *
* and errors that are detected.                                          *
*************************************************************************/

re = pcre_compile(
  pattern,              /* the pattern */
  0,                    /* default options */
  &amp;error,               /* for error message */
  &amp;erroffset,           /* for error offset */
  NULL);                /* use default character tables */

/* Compilation failed: print the error message and exit */

if (re == NULL)
  {
  printf("PCRE compilation failed at offset %d: %s\n", erroffset, error);
  return 1;
  }


/*************************************************************************
* If the compilation succeeded, we call PCRE again, in order to do a     *
* pattern match against the subject string. This does just ONE match. If *
* further matching is needed, it will be done below.                     *
*************************************************************************/

rc = pcre_exec(
  re,                   /* the compiled pattern */
  NULL,                 /* no extra data - we didn't study the pattern */
  subject,              /* the subject string */
  subject_length,       /* the length of the subject */
  0,                    /* start at offset 0 in the subject */
  0,                    /* default options */
  ovector,              /* output vector for substring information */
  OVECCOUNT);           /* number of elements in the output vector */

/* Matching failed: handle error cases */

if (rc &lt; 0)
  {
  switch(rc)
    {
    case PCRE_ERROR_NOMATCH: printf("No match\n"); break;
    /*
    Handle other special cases if you like
    */
    default: printf("Matching error %d\n", rc); break;
    }
  pcre_free(re);     /* Release memory used for the compiled pattern */
  return 1;
  }

/* Match succeded */

printf("\nMatch succeeded at offset %d\n", ovector[0]);


/*************************************************************************
* We have found the first match within the subject string. If the output *
* vector wasn't big enough, say so. Then output any substrings that were *
* captured.                                                              *
*************************************************************************/

/* The output vector wasn't big enough */

if (rc == 0)
  {
  rc = OVECCOUNT/3;
  printf("ovector only has room for %d captured substrings\n", rc - 1);
  }

/* Show substrings stored in the output vector by number. Obviously, in a real
application you might want to do things other than print them. */

for (i = 0; i &lt; rc; i++)
  {
  char *substring_start = subject + ovector[2*i];
  int substring_length = ovector[2*i+1] - ovector[2*i];
  printf("%2d: %.*s\n", i, substring_length, substring_start);
  }


/**************************************************************************
* That concludes the basic part of this demonstration program. We have    *
* compiled a pattern, and performed a single match. The code that follows *
* shows first how to access named substrings, and then how to code for    *
* repeated matches on the same subject.                                   *
**************************************************************************/

/* See if there are any named substrings, and if so, show them by name. First
we have to extract the count of named parentheses from the pattern. */

(void)pcre_fullinfo(
  re,                   /* the compiled pattern */
  NULL,                 /* no extra data - we didn't study the pattern */
  PCRE_INFO_NAMECOUNT,  /* number of named substrings */
  &amp;namecount);          /* where to put the answer */

if (namecount &lt;= 0) printf("No named substrings\n"); else
  {
  unsigned char *tabptr;
  printf("Named substrings\n");

  /* Before we can access the substrings, we must extract the table for
  translating names to numbers, and the size of each entry in the table. */

  (void)pcre_fullinfo(
    re,                       /* the compiled pattern */
    NULL,                     /* no extra data - we didn't study the pattern */
    PCRE_INFO_NAMETABLE,      /* address of the table */
    &amp;name_table);             /* where to put the answer */

  (void)pcre_fullinfo(
    re,                       /* the compiled pattern */
    NULL,                     /* no extra data - we didn't study the pattern */
    PCRE_INFO_NAMEENTRYSIZE,  /* size of each entry in the table */
    &amp;name_entry_size);        /* where to put the answer */

  /* Now we can scan the table and, for each entry, print the number, the name,
  and the substring itself. */

  tabptr = name_table;
  for (i = 0; i &lt; namecount; i++)
    {
    int n = (tabptr[0] &lt;&lt; 8) | tabptr[1];
    printf("(%d) %*s: %.*s\n", n, name_entry_size - 3, tabptr + 2,
      ovector[2*n+1] - ovector[2*n], subject + ovector[2*n]);
    tabptr += name_entry_size;
    }
  }


/*************************************************************************
* If the "-g" option was given on the command line, we want to continue  *
* to search for additional matches in the subject string, in a similar   *
* way to the /g option in Perl. This turns out to be trickier than you   *
* might think because of the possibility of matching an empty string.    *
* What happens is as follows:                                            *
*                                                                        *
* If the previous match was NOT for an empty string, we can just start   *
* the next match at the end of the previous one.                         *
*                                                                        *
* If the previous match WAS for an empty string, we can't do that, as it *
* would lead to an infinite loop. Instead, a special call of pcre_exec() *
* is made with the PCRE_NOTEMPTY_ATSTART and PCRE_ANCHORED flags set.    *
* The first of these tells PCRE that an empty string at the start of the *
* subject is not a valid match; other possibilities must be tried. The   *
* second flag restricts PCRE to one match attempt at the initial string  *
* position. If this match succeeds, an alternative to the empty string   *
* match has been found, and we can proceed round the loop.               *
*************************************************************************/

if (!find_all)
  {
  pcre_free(re);   /* Release the memory used for the compiled pattern */
  return 0;        /* Finish unless -g was given */
  }

/* Loop for second and subsequent matches */

for (;;)
  {
  int options = 0;                 /* Normally no options */
  int start_offset = ovector[1];   /* Start at end of previous match */

  /* If the previous match was for an empty string, we are finished if we are
  at the end of the subject. Otherwise, arrange to run another match at the
  same point to see if a non-empty match can be found. */

  if (ovector[0] == ovector[1])
    {
    if (ovector[0] == subject_length) break;
    options = PCRE_NOTEMPTY_ATSTART | PCRE_ANCHORED;
    }

  /* Run the next matching operation */

  rc = pcre_exec(
    re,                   /* the compiled pattern */
    NULL,                 /* no extra data - we didn't study the pattern */
    subject,              /* the subject string */
    subject_length,       /* the length of the subject */
    start_offset,         /* starting offset in the subject */
    options,              /* options */
    ovector,              /* output vector for substring information */
    OVECCOUNT);           /* number of elements in the output vector */

  /* This time, a result of NOMATCH isn't an error. If the value in "options"
  is zero, it just means we have found all possible matches, so the loop ends.
  Otherwise, it means we have failed to find a non-empty-string match at a
  point where there was a previous empty-string match. In this case, we do what
  Perl does: advance the matching position by one, and continue. We do this by
  setting the "end of previous match" offset, because that is picked up at the
  top of the loop as the point at which to start again. */

  if (rc == PCRE_ERROR_NOMATCH)
    {
    if (options == 0) break;
    ovector[1] = start_offset + 1;
    continue;    /* Go round the loop again */
    }

  /* Other matching errors are not recoverable. */

  if (rc &lt; 0)
    {
    printf("Matching error %d\n", rc);
    pcre_free(re);    /* Release memory used for the compiled pattern */
    return 1;
    }

  /* Match succeded */

  printf("\nMatch succeeded again at offset %d\n", ovector[0]);

  /* The match succeeded, but the output vector wasn't big enough. */

  if (rc == 0)
    {
    rc = OVECCOUNT/3;
    printf("ovector only has room for %d captured substrings\n", rc - 1);
    }

  /* As before, show substrings stored in the output vector by number, and then
  also any named substrings. */

  for (i = 0; i &lt; rc; i++)
    {
    char *substring_start = subject + ovector[2*i];
    int substring_length = ovector[2*i+1] - ovector[2*i];
    printf("%2d: %.*s\n", i, substring_length, substring_start);
    }

  if (namecount &lt;= 0) printf("No named substrings\n"); else
    {
    unsigned char *tabptr = name_table;
    printf("Named substrings\n");
    for (i = 0; i &lt; namecount; i++)
      {
      int n = (tabptr[0] &lt;&lt; 8) | tabptr[1];
      printf("(%d) %*s: %.*s\n", n, name_entry_size - 3, tabptr + 2,
        ovector[2*n+1] - ovector[2*n], subject + ovector[2*n]);
      tabptr += name_entry_size;
      }
    }
  }      /* End of loop to find second and subsequent matches */

printf("\n");
pcre_free(re);       /* Release memory used for the compiled pattern */
return 0;
}

/* End of pcredemo.c */
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcresyntax.html000064400000033235150405535540015517 0ustar00<html>
<head>
<title>pcresyntax specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcresyntax man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE REGULAR EXPRESSION SYNTAX SUMMARY</a>
<li><a name="TOC2" href="#SEC2">QUOTING</a>
<li><a name="TOC3" href="#SEC3">CHARACTERS</a>
<li><a name="TOC4" href="#SEC4">CHARACTER TYPES</a>
<li><a name="TOC5" href="#SEC5">GENERAL CATEGORY PROPERTY CODES FOR \p and \P</a>
<li><a name="TOC6" href="#SEC6">SCRIPT NAMES FOR \p AND \P</a>
<li><a name="TOC7" href="#SEC7">CHARACTER CLASSES</a>
<li><a name="TOC8" href="#SEC8">QUANTIFIERS</a>
<li><a name="TOC9" href="#SEC9">ANCHORS AND SIMPLE ASSERTIONS</a>
<li><a name="TOC10" href="#SEC10">MATCH POINT RESET</a>
<li><a name="TOC11" href="#SEC11">ALTERNATION</a>
<li><a name="TOC12" href="#SEC12">CAPTURING</a>
<li><a name="TOC13" href="#SEC13">ATOMIC GROUPS</a>
<li><a name="TOC14" href="#SEC14">COMMENT</a>
<li><a name="TOC15" href="#SEC15">OPTION SETTING</a>
<li><a name="TOC16" href="#SEC16">LOOKAHEAD AND LOOKBEHIND ASSERTIONS</a>
<li><a name="TOC17" href="#SEC17">BACKREFERENCES</a>
<li><a name="TOC18" href="#SEC18">SUBROUTINE REFERENCES (POSSIBLY RECURSIVE)</a>
<li><a name="TOC19" href="#SEC19">CONDITIONAL PATTERNS</a>
<li><a name="TOC20" href="#SEC20">BACKTRACKING CONTROL</a>
<li><a name="TOC21" href="#SEC21">NEWLINE CONVENTIONS</a>
<li><a name="TOC22" href="#SEC22">WHAT \R MATCHES</a>
<li><a name="TOC23" href="#SEC23">CALLOUTS</a>
<li><a name="TOC24" href="#SEC24">SEE ALSO</a>
<li><a name="TOC25" href="#SEC25">AUTHOR</a>
<li><a name="TOC26" href="#SEC26">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE REGULAR EXPRESSION SYNTAX SUMMARY</a><br>
<P>
The full syntax and semantics of the regular expressions that are supported by
PCRE are described in the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation. This document contains just a quick-reference summary of the
syntax.
</P>
<br><a name="SEC2" href="#TOC1">QUOTING</a><br>
<P>
<pre>
  \x         where x is non-alphanumeric is a literal x
  \Q...\E    treat enclosed characters as literal
</PRE>
</P>
<br><a name="SEC3" href="#TOC1">CHARACTERS</a><br>
<P>
<pre>
  \a         alarm, that is, the BEL character (hex 07)
  \cx        "control-x", where x is any character
  \e         escape (hex 1B)
  \f         formfeed (hex 0C)
  \n         newline (hex 0A)
  \r         carriage return (hex 0D)
  \t         tab (hex 09)
  \ddd       character with octal code ddd, or backreference
  \xhh       character with hex code hh
  \x{hhh..}  character with hex code hhh..
</PRE>
</P>
<br><a name="SEC4" href="#TOC1">CHARACTER TYPES</a><br>
<P>
<pre>
  .          any character except newline;
               in dotall mode, any character whatsoever
  \C         one byte, even in UTF-8 mode (best avoided)
  \d         a decimal digit
  \D         a character that is not a decimal digit
  \h         a horizontal whitespace character
  \H         a character that is not a horizontal whitespace character
  \p{<i>xx</i>}     a character with the <i>xx</i> property
  \P{<i>xx</i>}     a character without the <i>xx</i> property
  \R         a newline sequence
  \s         a whitespace character
  \S         a character that is not a whitespace character
  \v         a vertical whitespace character
  \V         a character that is not a vertical whitespace character
  \w         a "word" character
  \W         a "non-word" character
  \X         an extended Unicode sequence
</pre>
In PCRE, \d, \D, \s, \S, \w, and \W recognize only ASCII characters.
</P>
<br><a name="SEC5" href="#TOC1">GENERAL CATEGORY PROPERTY CODES FOR \p and \P</a><br>
<P>
<pre>
  C          Other
  Cc         Control
  Cf         Format
  Cn         Unassigned
  Co         Private use
  Cs         Surrogate

  L          Letter
  Ll         Lower case letter
  Lm         Modifier letter
  Lo         Other letter
  Lt         Title case letter
  Lu         Upper case letter
  L&         Ll, Lu, or Lt

  M          Mark
  Mc         Spacing mark
  Me         Enclosing mark
  Mn         Non-spacing mark

  N          Number
  Nd         Decimal number
  Nl         Letter number
  No         Other number

  P          Punctuation
  Pc         Connector punctuation
  Pd         Dash punctuation
  Pe         Close punctuation
  Pf         Final punctuation
  Pi         Initial punctuation
  Po         Other punctuation
  Ps         Open punctuation

  S          Symbol
  Sc         Currency symbol
  Sk         Modifier symbol
  Sm         Mathematical symbol
  So         Other symbol

  Z          Separator
  Zl         Line separator
  Zp         Paragraph separator
  Zs         Space separator
</PRE>
</P>
<br><a name="SEC6" href="#TOC1">SCRIPT NAMES FOR \p AND \P</a><br>
<P>
Arabic,
Armenian,
Avestan,
Balinese,
Bamum,
Bengali,
Bopomofo,
Braille,
Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
Cham,
Cherokee,
Common,
Coptic,
Cuneiform,
Cypriot,
Cyrillic,
Deseret,
Devanagari,
Egyptian_Hieroglyphs,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
Greek,
Gujarati,
Gurmukhi,
Han,
Hangul,
Hanunoo,
Hebrew,
Hiragana,
Imperial_Aramaic,
Inherited,
Inscriptional_Pahlavi,
Inscriptional_Parthian,
Javanese,
Kaithi,
Kannada,
Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
Lao,
Latin,
Lepcha,
Limbu,
Linear_B,
Lisu,
Lycian,
Lydian,
Malayalam,
Meetei_Mayek,
Mongolian,
Myanmar,
New_Tai_Lue,
Nko,
Ogham,
Old_Italic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
Ol_Chiki,
Oriya,
Osmanya,
Phags_Pa,
Phoenician,
Rejang,
Runic,
Samaritan,
Saurashtra,
Shavian,
Sinhala,
Sundanese,
Syloti_Nagri,
Syriac,
Tagalog,
Tagbanwa,
Tai_Le,
Tai_Tham,
Tai_Viet,
Tamil,
Telugu,
Thaana,
Thai,
Tibetan,
Tifinagh,
Ugaritic,
Vai,
Yi.
</P>
<br><a name="SEC7" href="#TOC1">CHARACTER CLASSES</a><br>
<P>
<pre>
  [...]       positive character class
  [^...]      negative character class
  [x-y]       range (can be used for hex characters)
  [[:xxx:]]   positive POSIX named set
  [[:^xxx:]]  negative POSIX named set

  alnum       alphanumeric
  alpha       alphabetic
  ascii       0-127
  blank       space or tab
  cntrl       control character
  digit       decimal digit
  graph       printing, excluding space
  lower       lower case letter
  print       printing, including space
  punct       printing, excluding alphanumeric
  space       whitespace
  upper       upper case letter
  word        same as \w
  xdigit      hexadecimal digit
</pre>
In PCRE, POSIX character set names recognize only ASCII characters. You can use
\Q...\E inside a character class.
</P>
<br><a name="SEC8" href="#TOC1">QUANTIFIERS</a><br>
<P>
<pre>
  ?           0 or 1, greedy
  ?+          0 or 1, possessive
  ??          0 or 1, lazy
  *           0 or more, greedy
  *+          0 or more, possessive
  *?          0 or more, lazy
  +           1 or more, greedy
  ++          1 or more, possessive
  +?          1 or more, lazy
  {n}         exactly n
  {n,m}       at least n, no more than m, greedy
  {n,m}+      at least n, no more than m, possessive
  {n,m}?      at least n, no more than m, lazy
  {n,}        n or more, greedy
  {n,}+       n or more, possessive
  {n,}?       n or more, lazy
</PRE>
</P>
<br><a name="SEC9" href="#TOC1">ANCHORS AND SIMPLE ASSERTIONS</a><br>
<P>
<pre>
  \b          word boundary (only ASCII letters recognized)
  \B          not a word boundary
  ^           start of subject
               also after internal newline in multiline mode
  \A          start of subject
  $           end of subject
               also before newline at end of subject
               also before internal newline in multiline mode
  \Z          end of subject
               also before newline at end of subject
  \z          end of subject
  \G          first matching position in subject
</PRE>
</P>
<br><a name="SEC10" href="#TOC1">MATCH POINT RESET</a><br>
<P>
<pre>
  \K          reset start of match
</PRE>
</P>
<br><a name="SEC11" href="#TOC1">ALTERNATION</a><br>
<P>
<pre>
  expr|expr|expr...
</PRE>
</P>
<br><a name="SEC12" href="#TOC1">CAPTURING</a><br>
<P>
<pre>
  (...)           capturing group
  (?&#60;name&#62;...)    named capturing group (Perl)
  (?'name'...)    named capturing group (Perl)
  (?P&#60;name&#62;...)   named capturing group (Python)
  (?:...)         non-capturing group
  (?|...)         non-capturing group; reset group numbers for
                   capturing groups in each alternative
</PRE>
</P>
<br><a name="SEC13" href="#TOC1">ATOMIC GROUPS</a><br>
<P>
<pre>
  (?&#62;...)         atomic, non-capturing group
</PRE>
</P>
<br><a name="SEC14" href="#TOC1">COMMENT</a><br>
<P>
<pre>
  (?#....)        comment (not nestable)
</PRE>
</P>
<br><a name="SEC15" href="#TOC1">OPTION SETTING</a><br>
<P>
<pre>
  (?i)            caseless
  (?J)            allow duplicate names
  (?m)            multiline
  (?s)            single line (dotall)
  (?U)            default ungreedy (lazy)
  (?x)            extended (ignore white space)
  (?-...)         unset option(s)
</pre>
The following is recognized only at the start of a pattern or after one of the
newline-setting options with similar syntax:
<pre>
  (*UTF8)         set UTF-8 mode
</PRE>
</P>
<br><a name="SEC16" href="#TOC1">LOOKAHEAD AND LOOKBEHIND ASSERTIONS</a><br>
<P>
<pre>
  (?=...)         positive look ahead
  (?!...)         negative look ahead
  (?&#60;=...)        positive look behind
  (?&#60;!...)        negative look behind
</pre>
Each top-level branch of a look behind must be of a fixed length.
</P>
<br><a name="SEC17" href="#TOC1">BACKREFERENCES</a><br>
<P>
<pre>
  \n              reference by number (can be ambiguous)
  \gn             reference by number
  \g{n}           reference by number
  \g{-n}          relative reference by number
  \k&#60;name&#62;        reference by name (Perl)
  \k'name'        reference by name (Perl)
  \g{name}        reference by name (Perl)
  \k{name}        reference by name (.NET)
  (?P=name)       reference by name (Python)
</PRE>
</P>
<br><a name="SEC18" href="#TOC1">SUBROUTINE REFERENCES (POSSIBLY RECURSIVE)</a><br>
<P>
<pre>
  (?R)            recurse whole pattern
  (?n)            call subpattern by absolute number
  (?+n)           call subpattern by relative number
  (?-n)           call subpattern by relative number
  (?&name)        call subpattern by name (Perl)
  (?P&#62;name)       call subpattern by name (Python)
  \g&#60;name&#62;        call subpattern by name (Oniguruma)
  \g'name'        call subpattern by name (Oniguruma)
  \g&#60;n&#62;           call subpattern by absolute number (Oniguruma)
  \g'n'           call subpattern by absolute number (Oniguruma)
  \g&#60;+n&#62;          call subpattern by relative number (PCRE extension)
  \g'+n'          call subpattern by relative number (PCRE extension)
  \g&#60;-n&#62;          call subpattern by relative number (PCRE extension)
  \g'-n'          call subpattern by relative number (PCRE extension)
</PRE>
</P>
<br><a name="SEC19" href="#TOC1">CONDITIONAL PATTERNS</a><br>
<P>
<pre>
  (?(condition)yes-pattern)
  (?(condition)yes-pattern|no-pattern)

  (?(n)...        absolute reference condition
  (?(+n)...       relative reference condition
  (?(-n)...       relative reference condition
  (?(&#60;name&#62;)...   named reference condition (Perl)
  (?('name')...   named reference condition (Perl)
  (?(name)...     named reference condition (PCRE)
  (?(R)...        overall recursion condition
  (?(Rn)...       specific group recursion condition
  (?(R&name)...   specific recursion condition
  (?(DEFINE)...   define subpattern for reference
  (?(assert)...   assertion condition
</PRE>
</P>
<br><a name="SEC20" href="#TOC1">BACKTRACKING CONTROL</a><br>
<P>
The following act immediately they are reached:
<pre>
  (*ACCEPT)       force successful match
  (*FAIL)         force backtrack; synonym (*F)
</pre>
The following act only when a subsequent match failure causes a backtrack to
reach them. They all force a match failure, but they differ in what happens
afterwards. Those that advance the start-of-match point do so only if the
pattern is not anchored.
<pre>
  (*COMMIT)       overall failure, no advance of starting point
  (*PRUNE)        advance to next starting character
  (*SKIP)         advance start to current matching position
  (*THEN)         local failure, backtrack to next alternation
</PRE>
</P>
<br><a name="SEC21" href="#TOC1">NEWLINE CONVENTIONS</a><br>
<P>
These are recognized only at the very start of the pattern or after a
(*BSR_...) or (*UTF8) option.
<pre>
  (*CR)           carriage return only
  (*LF)           linefeed only
  (*CRLF)         carriage return followed by linefeed
  (*ANYCRLF)      all three of the above
  (*ANY)          any Unicode newline sequence
</PRE>
</P>
<br><a name="SEC22" href="#TOC1">WHAT \R MATCHES</a><br>
<P>
These are recognized only at the very start of the pattern or after a
(*...) option that sets the newline convention or UTF-8 mode.
<pre>
  (*BSR_ANYCRLF)  CR, LF, or CRLF
  (*BSR_UNICODE)  any Unicode newline sequence
</PRE>
</P>
<br><a name="SEC23" href="#TOC1">CALLOUTS</a><br>
<P>
<pre>
  (?C)      callout
  (?Cn)     callout with data n
</PRE>
</P>
<br><a name="SEC24" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcrepattern</b>(3), <b>pcreapi</b>(3), <b>pcrecallout</b>(3),
<b>pcrematching</b>(3), <b>pcre</b>(3).
</P>
<br><a name="SEC25" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC26" href="#TOC1">REVISION</a><br>
<P>
Last updated: 01 March 2010
<br>
Copyright &copy; 1997-2010 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_fullinfo.html000064400000005352150405535540016145 0ustar00<html>
<head>
<title>pcre_fullinfo specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_fullinfo man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_fullinfo(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
<b>int <i>what</i>, void *<i>where</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function returns information about a compiled pattern. Its arguments are:
<pre>
  <i>code</i>                      Compiled regular expression
  <i>extra</i>                     Result of <b>pcre_study()</b> or NULL
  <i>what</i>                      What information is required
  <i>where</i>                     Where to put the information
</pre>
The following information is available:
<pre>
  PCRE_INFO_BACKREFMAX      Number of highest back reference
  PCRE_INFO_CAPTURECOUNT    Number of capturing subpatterns
  PCRE_INFO_DEFAULT_TABLES  Pointer to default tables
  PCRE_INFO_FIRSTBYTE       Fixed first byte for a match, or
                              -1 for start of string
                                 or after newline, or
                              -2 otherwise
  PCRE_INFO_FIRSTTABLE      Table of first bytes (after studying)
  PCRE_INFO_JCHANGED        Return 1 if (?J) or (?-J) was used
  PCRE_INFO_LASTLITERAL     Literal last byte required
  PCRE_INFO_MINLENGTH       Lower bound length of matching strings
  PCRE_INFO_NAMECOUNT       Number of named subpatterns
  PCRE_INFO_NAMEENTRYSIZE   Size of name table entry
  PCRE_INFO_NAMETABLE       Pointer to name table
  PCRE_INFO_OKPARTIAL       Return 1 if partial matching can be tried
                              (always returns 1 after release 8.00)
  PCRE_INFO_OPTIONS         Option bits used for compilation
  PCRE_INFO_SIZE            Size of compiled pattern
  PCRE_INFO_STUDYSIZE       Size of study data
</pre>
The yield of the function is zero on success or:
<pre>
  PCRE_ERROR_NULL           the argument <i>code</i> was NULL
                            the argument <i>where</i> was NULL
  PCRE_ERROR_BADMAGIC       the "magic number" was not found
  PCRE_ERROR_BADOPTION      the value of <i>what</i> was invalid
</PRE>
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_get_named_substring.html000064400000003603150405535540020347 0ustar00<html>
<head>
<title>pcre_get_named_substring specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_get_named_substring man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_get_named_substring(const pcre *<i>code</i>,</b>
<b>const char *<i>subject</i>, int *<i>ovector</i>,</b>
<b>int <i>stringcount</i>, const char *<i>stringname</i>,</b>
<b>const char **<i>stringptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for extracting a captured substring by name. The
arguments are:
<pre>
  <i>code</i>          Compiled pattern
  <i>subject</i>       Subject that has been successfully matched
  <i>ovector</i>       Offset vector that <b>pcre_exec()</b> used
  <i>stringcount</i>   Value returned by <b>pcre_exec()</b>
  <i>stringname</i>    Name of the required substring
  <i>stringptr</i>     Where to put the string pointer
</pre>
The memory in which the substring is placed is obtained by calling
<b>pcre_malloc()</b>. The convenience function <b>pcre_free_substring()</b> can
be used to free it when it is no longer needed. The yield of the function is
the length of the extracted substring, PCRE_ERROR_NOMEMORY if sufficient memory
could not be obtained, or PCRE_ERROR_NOSUBSTRING if the string name is invalid.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrepartial.html000064400000043321150405535540015622 0ustar00<html>
<head>
<title>pcrepartial specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrepartial man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PARTIAL MATCHING IN PCRE</a>
<li><a name="TOC2" href="#SEC2">PARTIAL MATCHING USING pcre_exec()</a>
<li><a name="TOC3" href="#SEC3">PARTIAL MATCHING USING pcre_dfa_exec()</a>
<li><a name="TOC4" href="#SEC4">PARTIAL MATCHING AND WORD BOUNDARIES</a>
<li><a name="TOC5" href="#SEC5">FORMERLY RESTRICTED PATTERNS</a>
<li><a name="TOC6" href="#SEC6">EXAMPLE OF PARTIAL MATCHING USING PCRETEST</a>
<li><a name="TOC7" href="#SEC7">MULTI-SEGMENT MATCHING WITH pcre_dfa_exec()</a>
<li><a name="TOC8" href="#SEC8">MULTI-SEGMENT MATCHING WITH pcre_exec()</a>
<li><a name="TOC9" href="#SEC9">ISSUES WITH MULTI-SEGMENT MATCHING</a>
<li><a name="TOC10" href="#SEC10">AUTHOR</a>
<li><a name="TOC11" href="#SEC11">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PARTIAL MATCHING IN PCRE</a><br>
<P>
In normal use of PCRE, if the subject string that is passed to
<b>pcre_exec()</b> or <b>pcre_dfa_exec()</b> matches as far as it goes, but is
too short to match the entire pattern, PCRE_ERROR_NOMATCH is returned. There
are circumstances where it might be helpful to distinguish this case from other
cases in which there is no match.
</P>
<P>
Consider, for example, an application where a human is required to type in data
for a field with specific formatting requirements. An example might be a date
in the form <i>ddmmmyy</i>, defined by this pattern:
<pre>
  ^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$
</pre>
If the application sees the user's keystrokes one by one, and can check that
what has been typed so far is potentially valid, it is able to raise an error
as soon as a mistake is made, by beeping and not reflecting the character that
has been typed, for example. This immediate feedback is likely to be a better
user interface than a check that is delayed until the entire string has been
entered. Partial matching can also sometimes be useful when the subject string
is very long and is not all available at once.
</P>
<P>
PCRE supports partial matching by means of the PCRE_PARTIAL_SOFT and
PCRE_PARTIAL_HARD options, which can be set when calling <b>pcre_exec()</b> or
<b>pcre_dfa_exec()</b>. For backwards compatibility, PCRE_PARTIAL is a synonym
for PCRE_PARTIAL_SOFT. The essential difference between the two options is
whether or not a partial match is preferred to an alternative complete match,
though the details differ between the two matching functions. If both options
are set, PCRE_PARTIAL_HARD takes precedence.
</P>
<P>
Setting a partial matching option disables two of PCRE's optimizations. PCRE
remembers the last literal byte in a pattern, and abandons matching immediately
if such a byte is not present in the subject string. This optimization cannot
be used for a subject string that might match only partially. If the pattern
was studied, PCRE knows the minimum length of a matching string, and does not
bother to run the matching function on shorter strings. This optimization is
also disabled for partial matching.
</P>
<br><a name="SEC2" href="#TOC1">PARTIAL MATCHING USING pcre_exec()</a><br>
<P>
A partial match occurs during a call to <b>pcre_exec()</b> whenever the end of
the subject string is reached successfully, but matching cannot continue
because more characters are needed. However, at least one character must have
been matched. (In other words, a partial match can never be an empty string.)
</P>
<P>
If PCRE_PARTIAL_SOFT is set, the partial match is remembered, but matching
continues as normal, and other alternatives in the pattern are tried. If no
complete match can be found, <b>pcre_exec()</b> returns PCRE_ERROR_PARTIAL
instead of PCRE_ERROR_NOMATCH. If there are at least two slots in the offsets
vector, the first of them is set to the offset of the earliest character that
was inspected when the partial match was found. For convenience, the second
offset points to the end of the string so that a substring can easily be
identified.
</P>
<P>
For the majority of patterns, the first offset identifies the start of the
partially matched string. However, for patterns that contain lookbehind
assertions, or \K, or begin with \b or \B, earlier characters have been
inspected while carrying out the match. For example:
<pre>
  /(?&#60;=abc)123/
</pre>
This pattern matches "123", but only if it is preceded by "abc". If the subject
string is "xyzabc12", the offsets after a partial match are for the substring
"abc12", because all these characters are needed if another match is tried
with extra characters added.
</P>
<P>
If there is more than one partial match, the first one that was found provides
the data that is returned. Consider this pattern:
<pre>
  /123\w+X|dogY/
</pre>
If this is matched against the subject string "abc123dog", both
alternatives fail to match, but the end of the subject is reached during
matching, so PCRE_ERROR_PARTIAL is returned instead of PCRE_ERROR_NOMATCH. The
offsets are set to 3 and 9, identifying "123dog" as the first partial match
that was found. (In this example, there are two partial matches, because "dog"
on its own partially matches the second alternative.)
</P>
<P>
If PCRE_PARTIAL_HARD is set for <b>pcre_exec()</b>, it returns
PCRE_ERROR_PARTIAL as soon as a partial match is found, without continuing to
search for possible complete matches. The difference between the two options
can be illustrated by a pattern such as:
<pre>
  /dog(sbody)?/
</pre>
This matches either "dog" or "dogsbody", greedily (that is, it prefers the
longer string if possible). If it is matched against the string "dog" with
PCRE_PARTIAL_SOFT, it yields a complete match for "dog". However, if
PCRE_PARTIAL_HARD is set, the result is PCRE_ERROR_PARTIAL. On the other hand,
if the pattern is made ungreedy the result is different:
<pre>
  /dog(sbody)??/
</pre>
In this case the result is always a complete match because <b>pcre_exec()</b>
finds that first, and it never continues after finding a match. It might be
easier to follow this explanation by thinking of the two patterns like this:
<pre>
  /dog(sbody)?/    is the same as  /dogsbody|dog/
  /dog(sbody)??/   is the same as  /dog|dogsbody/
</pre>
The second pattern will never match "dogsbody" when <b>pcre_exec()</b> is
used, because it will always find the shorter match first.
</P>
<br><a name="SEC3" href="#TOC1">PARTIAL MATCHING USING pcre_dfa_exec()</a><br>
<P>
The <b>pcre_dfa_exec()</b> function moves along the subject string character by
character, without backtracking, searching for all possible matches
simultaneously. If the end of the subject is reached before the end of the
pattern, there is the possibility of a partial match, again provided that at
least one character has matched.
</P>
<P>
When PCRE_PARTIAL_SOFT is set, PCRE_ERROR_PARTIAL is returned only if there
have been no complete matches. Otherwise, the complete matches are returned.
However, if PCRE_PARTIAL_HARD is set, a partial match takes precedence over any
complete matches. The portion of the string that was inspected when the longest
partial match was found is set as the first matching string, provided there are
at least two slots in the offsets vector.
</P>
<P>
Because <b>pcre_dfa_exec()</b> always searches for all possible matches, and
there is no difference between greedy and ungreedy repetition, its behaviour is
different from <b>pcre_exec</b> when PCRE_PARTIAL_HARD is set. Consider the
string "dog" matched against the ungreedy pattern shown above:
<pre>
  /dog(sbody)??/
</pre>
Whereas <b>pcre_exec()</b> stops as soon as it finds the complete match for
"dog", <b>pcre_dfa_exec()</b> also finds the partial match for "dogsbody", and
so returns that when PCRE_PARTIAL_HARD is set.
</P>
<br><a name="SEC4" href="#TOC1">PARTIAL MATCHING AND WORD BOUNDARIES</a><br>
<P>
If a pattern ends with one of sequences \b or \B, which test for word
boundaries, partial matching with PCRE_PARTIAL_SOFT can give counter-intuitive
results. Consider this pattern:
<pre>
  /\bcat\b/
</pre>
This matches "cat", provided there is a word boundary at either end. If the
subject string is "the cat", the comparison of the final "t" with a following
character cannot take place, so a partial match is found. However,
<b>pcre_exec()</b> carries on with normal matching, which matches \b at the end
of the subject when the last character is a letter, thus finding a complete
match. The result, therefore, is <i>not</i> PCRE_ERROR_PARTIAL. The same thing
happens with <b>pcre_dfa_exec()</b>, because it also finds the complete match.
</P>
<P>
Using PCRE_PARTIAL_HARD in this case does yield PCRE_ERROR_PARTIAL, because
then the partial match takes precedence.
</P>
<br><a name="SEC5" href="#TOC1">FORMERLY RESTRICTED PATTERNS</a><br>
<P>
For releases of PCRE prior to 8.00, because of the way certain internal
optimizations were implemented in the <b>pcre_exec()</b> function, the
PCRE_PARTIAL option (predecessor of PCRE_PARTIAL_SOFT) could not be used with
all patterns. From release 8.00 onwards, the restrictions no longer apply, and
partial matching with <b>pcre_exec()</b> can be requested for any pattern.
</P>
<P>
Items that were formerly restricted were repeated single characters and
repeated metasequences. If PCRE_PARTIAL was set for a pattern that did not
conform to the restrictions, <b>pcre_exec()</b> returned the error code
PCRE_ERROR_BADPARTIAL (-13). This error code is no longer in use. The
PCRE_INFO_OKPARTIAL call to <b>pcre_fullinfo()</b> to find out if a compiled
pattern can be used for partial matching now always returns 1.
</P>
<br><a name="SEC6" href="#TOC1">EXAMPLE OF PARTIAL MATCHING USING PCRETEST</a><br>
<P>
If the escape sequence \P is present in a <b>pcretest</b> data line, the
PCRE_PARTIAL_SOFT option is used for the match. Here is a run of <b>pcretest</b>
that uses the date example quoted above:
<pre>
    re&#62; /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
  data&#62; 25jun04\P
   0: 25jun04
   1: jun
  data&#62; 25dec3\P
  Partial match: 23dec3
  data&#62; 3ju\P
  Partial match: 3ju
  data&#62; 3juj\P
  No match
  data&#62; j\P
  No match
</pre>
The first data string is matched completely, so <b>pcretest</b> shows the
matched substrings. The remaining four strings do not match the complete
pattern, but the first two are partial matches. Similar output is obtained
when <b>pcre_dfa_exec()</b> is used.
</P>
<P>
If the escape sequence \P is present more than once in a <b>pcretest</b> data
line, the PCRE_PARTIAL_HARD option is set for the match.
</P>
<br><a name="SEC7" href="#TOC1">MULTI-SEGMENT MATCHING WITH pcre_dfa_exec()</a><br>
<P>
When a partial match has been found using <b>pcre_dfa_exec()</b>, it is possible
to continue the match by providing additional subject data and calling
<b>pcre_dfa_exec()</b> again with the same compiled regular expression, this
time setting the PCRE_DFA_RESTART option. You must pass the same working
space as before, because this is where details of the previous partial match
are stored. Here is an example using <b>pcretest</b>, using the \R escape
sequence to set the PCRE_DFA_RESTART option (\D specifies the use of
<b>pcre_dfa_exec()</b>):
<pre>
    re&#62; /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
  data&#62; 23ja\P\D
  Partial match: 23ja
  data&#62; n05\R\D
   0: n05
</pre>
The first call has "23ja" as the subject, and requests partial matching; the
second call has "n05" as the subject for the continued (restarted) match.
Notice that when the match is complete, only the last part is shown; PCRE does
not retain the previously partially-matched string. It is up to the calling
program to do that if it needs to.
</P>
<P>
You can set the PCRE_PARTIAL_SOFT or PCRE_PARTIAL_HARD options with
PCRE_DFA_RESTART to continue partial matching over multiple segments. This
facility can be used to pass very long subject strings to
<b>pcre_dfa_exec()</b>.
</P>
<br><a name="SEC8" href="#TOC1">MULTI-SEGMENT MATCHING WITH pcre_exec()</a><br>
<P>
From release 8.00, <b>pcre_exec()</b> can also be used to do multi-segment
matching. Unlike <b>pcre_dfa_exec()</b>, it is not possible to restart the
previous match with a new segment of data. Instead, new data must be added to
the previous subject string, and the entire match re-run, starting from the
point where the partial match occurred. Earlier data can be discarded.
Consider an unanchored pattern that matches dates:
<pre>
    re&#62; /\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d/
  data&#62; The date is 23ja\P
  Partial match: 23ja
</pre>
At this stage, an application could discard the text preceding "23ja", add on
text from the next segment, and call <b>pcre_exec()</b> again. Unlike
<b>pcre_dfa_exec()</b>, the entire matching string must always be available, and
the complete matching process occurs for each call, so more memory and more
processing time is needed.
</P>
<P>
<b>Note:</b> If the pattern contains lookbehind assertions, or \K, or starts
with \b or \B, the string that is returned for a partial match will include
characters that precede the partially matched string itself, because these must
be retained when adding on more characters for a subsequent matching attempt.
</P>
<br><a name="SEC9" href="#TOC1">ISSUES WITH MULTI-SEGMENT MATCHING</a><br>
<P>
Certain types of pattern may give problems with multi-segment matching,
whichever matching function is used.
</P>
<P>
1. If the pattern contains tests for the beginning or end of a line, you need
to pass the PCRE_NOTBOL or PCRE_NOTEOL options, as appropriate, when the
subject string for any call does not contain the beginning or end of a line.
</P>
<P>
2. Lookbehind assertions at the start of a pattern are catered for in the
offsets that are returned for a partial match. However, in theory, a lookbehind
assertion later in the pattern could require even earlier characters to be
inspected, and it might not have been reached when a partial match occurs. This
is probably an extremely unlikely case; you could guard against it to a certain
extent by always including extra characters at the start.
</P>
<P>
3. Matching a subject string that is split into multiple segments may not
always produce exactly the same result as matching over one single long string,
especially when PCRE_PARTIAL_SOFT is used. The section "Partial Matching and
Word Boundaries" above describes an issue that arises if the pattern ends with
\b or \B. Another kind of difference may occur when there are multiple
matching possibilities, because a partial match result is given only when there
are no completed matches. This means that as soon as the shortest match has
been found, continuation to a new subject segment is no longer possible.
Consider again this <b>pcretest</b> example:
<pre>
    re&#62; /dog(sbody)?/
  data&#62; dogsb\P
   0: dog
  data&#62; do\P\D
  Partial match: do
  data&#62; gsb\R\P\D
   0: g
  data&#62; dogsbody\D
   0: dogsbody
   1: dog
</pre>
The first data line passes the string "dogsb" to <b>pcre_exec()</b>, setting the
PCRE_PARTIAL_SOFT option. Although the string is a partial match for
"dogsbody", the result is not PCRE_ERROR_PARTIAL, because the shorter string
"dog" is a complete match. Similarly, when the subject is presented to
<b>pcre_dfa_exec()</b> in several parts ("do" and "gsb" being the first two) the
match stops when "dog" has been found, and it is not possible to continue. On
the other hand, if "dogsbody" is presented as a single string,
<b>pcre_dfa_exec()</b> finds both matches.
</P>
<P>
Because of these problems, it is probably best to use PCRE_PARTIAL_HARD when
matching multi-segment data. The example above then behaves differently:
<pre>
    re&#62; /dog(sbody)?/
  data&#62; dogsb\P\P
  Partial match: dogsb
  data&#62; do\P\D
  Partial match: do
  data&#62; gsb\R\P\P\D
  Partial match: gsb

</PRE>
</P>
<P>
4. Patterns that contain alternatives at the top level which do not all
start with the same pattern item may not work as expected when
PCRE_DFA_RESTART is used with <b>pcre_dfa_exec()</b>. For example, consider this
pattern:
<pre>
  1234|3789
</pre>
If the first part of the subject is "ABC123", a partial match of the first
alternative is found at offset 3. There is no partial match for the second
alternative, because such a match does not start at the same point in the
subject string. Attempting to continue with the string "7890" does not yield a
match because only those alternatives that match at one point in the subject
are remembered. The problem arises because the start of the second alternative
matches within the first alternative. There is no problem with anchored
patterns or patterns such as:
<pre>
  1234|ABCD
</pre>
where no string can be a partial match for both alternatives. This is not a
problem if <b>pcre_exec()</b> is used, because the entire match has to be rerun
each time:
<pre>
    re&#62; /1234|3789/
  data&#62; ABC123\P
  Partial match: 123
  data&#62; 1237890
   0: 3789
</pre>
Of course, instead of using PCRE_DFA_PARTIAL, the same technique of re-running
the entire match can also be used with <b>pcre_dfa_exec()</b>. Another
possibility is to work with two buffers. If a partial match at offset <i>n</i>
in the first buffer is followed by "no match" when PCRE_DFA_RESTART is used on
the second buffer, you can then try a new match starting at offset <i>n+1</i> in
the first buffer.
</P>
<br><a name="SEC10" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC11" href="#TOC1">REVISION</a><br>
<P>
Last updated: 19 October 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_study.html000064400000003223150405535540015472 0ustar00<html>
<head>
<title>pcre_study specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_study man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>pcre_extra *pcre_study(const pcre *<i>code</i>, int <i>options</i>,</b>
<b>const char **<i>errptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function studies a compiled pattern, to see if additional information can
be extracted that might speed up matching. Its arguments are:
<pre>
  <i>code</i>       A compiled regular expression
  <i>options</i>    Options for <b>pcre_study()</b>
  <i>errptr</i>     Where to put an error message
</pre>
If the function succeeds, it returns a value that can be passed to
<b>pcre_exec()</b> via its <i>extra</i> argument.
</P>
<P>
If the function returns NULL, either it could not find any additional
information, or there was an error. You can tell the difference by looking at
the error value. It is NULL in first case.
</P>
<P>
There are currently no options defined; the value of the second argument should
always be zero.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_maketables.html000064400000002353150405535540016435 0ustar00<html>
<head>
<title>pcre_maketables specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_maketables man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>const unsigned char *pcre_maketables(void);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function builds a set of character tables for character values less than
256. These can be passed to <b>pcre_compile()</b> to override PCRE's internal,
built-in tables (which were made by <b>pcre_maketables()</b> when PCRE was
compiled). You might want to do this if you are using a non-standard locale.
The function yields a pointer to the tables.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_get_stringtable_entries.html000064400000003246150405535540021235 0ustar00<html>
<head>
<title>pcre_get_stringtable_entries specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_get_stringtable_entries man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_get_stringtable_entries(const pcre *<i>code</i>,</b>
<b>const char *<i>name</i>, char **<i>first</i>, char **<i>last</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This convenience function finds, for a compiled pattern, the first and last
entries for a given name in the table that translates capturing parenthesis
names into numbers. When names are required to be unique (PCRE_DUPNAMES is
<i>not</i> set), it is usually easier to use <b>pcre_get_stringnumber()</b>
instead.
<pre>
  <i>code</i>    Compiled regular expression
  <i>name</i>    Name whose entries required
  <i>first</i>   Where to return a pointer to the first entry
  <i>last</i>    Where to return a pointer to the last entry
</pre>
The yield of the function is the length of each entry, or
PCRE_ERROR_NOSUBSTRING if none are found.
</P>
<P>
There is a complete description of the PCRE native API, including the format of
the table entries, in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page, and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_config.html000064400000005012150405535540015565 0ustar00<html>
<head>
<title>pcre_config specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_config man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_config(int <i>what</i>, void *<i>where</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function makes it possible for a client program to find out which optional
features are available in the version of the PCRE library it is using. Its
arguments are as follows:
<pre>
  <i>what</i>     A code specifying what information is required
  <i>where</i>    Points to where to put the data
</pre>
The available codes are:
<pre>
  PCRE_CONFIG_LINK_SIZE     Internal link size: 2, 3, or 4
  PCRE_CONFIG_MATCH_LIMIT   Internal resource limit
  PCRE_CONFIG_MATCH_LIMIT_RECURSION
                            Internal recursion depth limit
  PCRE_CONFIG_NEWLINE       Value of the default newline sequence:
                                13 (0x000d)    for CR
                                10 (0x000a)    for LF
                              3338 (0x0d0a)    for CRLF
                                -2             for ANYCRLF
                                -1             for ANY
  PCRE_CONFIG_BSR           Indicates what \R matches by default:
                                 0             all Unicode line endings
                                 1             CR, LF, or CRLF only
  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD
                            Threshold of return slots, above
                              which <b>malloc()</b> is used by
                              the POSIX API
  PCRE_CONFIG_STACKRECURSE  Recursion implementation (1=stack 0=heap)
  PCRE_CONFIG_UTF8          Availability of UTF-8 support (1=yes 0=no)
  PCRE_CONFIG_UNICODE_PROPERTIES
                            Availability of Unicode property support
                              (1=yes 0=no)
</pre>
The function yields 0 on success or PCRE_ERROR_BADOPTION otherwise.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcrecallout.html000064400000021204150405535540015625 0ustar00<html>
<head>
<title>pcrecallout specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcrecallout man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE CALLOUTS</a>
<li><a name="TOC2" href="#SEC2">MISSING CALLOUTS</a>
<li><a name="TOC3" href="#SEC3">THE CALLOUT INTERFACE</a>
<li><a name="TOC4" href="#SEC4">RETURN VALUES</a>
<li><a name="TOC5" href="#SEC5">AUTHOR</a>
<li><a name="TOC6" href="#SEC6">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">PCRE CALLOUTS</a><br>
<P>
<b>int (*pcre_callout)(pcre_callout_block *);</b>
</P>
<P>
PCRE provides a feature called "callout", which is a means of temporarily
passing control to the caller of PCRE in the middle of pattern matching. The
caller of PCRE provides an external function by putting its entry point in the
global variable <i>pcre_callout</i>. By default, this variable contains NULL,
which disables all calling out.
</P>
<P>
Within a regular expression, (?C) indicates the points at which the external
function is to be called. Different callout points can be identified by putting
a number less than 256 after the letter C. The default value is zero.
For example, this pattern has two callout points:
<pre>
  (?C1)abc(?C2)def
</pre>
If the PCRE_AUTO_CALLOUT option bit is set when <b>pcre_compile()</b> or
<b>pcre_compile2()</b> is called, PCRE automatically inserts callouts, all with
number 255, before each item in the pattern. For example, if PCRE_AUTO_CALLOUT
is used with the pattern
<pre>
  A(\d{2}|--)
</pre>
it is processed as if it were
<br>
<br>
(?C255)A(?C255)((?C255)\d{2}(?C255)|(?C255)-(?C255)-(?C255))(?C255)
<br>
<br>
Notice that there is a callout before and after each parenthesis and
alternation bar. Automatic callouts can be used for tracking the progress of
pattern matching. The
<a href="pcretest.html"><b>pcretest</b></a>
command has an option that sets automatic callouts; when it is used, the output
indicates how the pattern is matched. This is useful information when you are
trying to optimize the performance of a particular pattern.
</P>
<br><a name="SEC2" href="#TOC1">MISSING CALLOUTS</a><br>
<P>
You should be aware that, because of optimizations in the way PCRE matches
patterns by default, callouts sometimes do not happen. For example, if the
pattern is
<pre>
  ab(?C4)cd
</pre>
PCRE knows that any matching string must contain the letter "d". If the subject
string is "abyz", the lack of "d" means that matching doesn't ever start, and
the callout is never reached. However, with "abyd", though the result is still
no match, the callout is obeyed.
</P>
<P>
If the pattern is studied, PCRE knows the minimum length of a matching string,
and will immediately give a "no match" return without actually running a match
if the subject is not long enough, or, for unanchored patterns, if it has
been scanned far enough.
</P>
<P>
You can disable these optimizations by passing the PCRE_NO_START_OPTIMIZE
option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>. This slows down the
matching process, but does ensure that callouts such as the example above are
obeyed.
</P>
<br><a name="SEC3" href="#TOC1">THE CALLOUT INTERFACE</a><br>
<P>
During matching, when PCRE reaches a callout point, the external function
defined by <i>pcre_callout</i> is called (if it is set). This applies to both
the <b>pcre_exec()</b> and the <b>pcre_dfa_exec()</b> matching functions. The
only argument to the callout function is a pointer to a <b>pcre_callout</b>
block. This structure contains the following fields:
<pre>
  int          <i>version</i>;
  int          <i>callout_number</i>;
  int         *<i>offset_vector</i>;
  const char  *<i>subject</i>;
  int          <i>subject_length</i>;
  int          <i>start_match</i>;
  int          <i>current_position</i>;
  int          <i>capture_top</i>;
  int          <i>capture_last</i>;
  void        *<i>callout_data</i>;
  int          <i>pattern_position</i>;
  int          <i>next_item_length</i>;
</pre>
The <i>version</i> field is an integer containing the version number of the
block format. The initial version was 0; the current version is 1. The version
number will change again in future if additional fields are added, but the
intention is never to remove any of the existing fields.
</P>
<P>
The <i>callout_number</i> field contains the number of the callout, as compiled
into the pattern (that is, the number after ?C for manual callouts, and 255 for
automatically generated callouts).
</P>
<P>
The <i>offset_vector</i> field is a pointer to the vector of offsets that was
passed by the caller to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>. When
<b>pcre_exec()</b> is used, the contents can be inspected in order to extract
substrings that have been matched so far, in the same way as for extracting
substrings after a match has completed. For <b>pcre_dfa_exec()</b> this field is
not useful.
</P>
<P>
The <i>subject</i> and <i>subject_length</i> fields contain copies of the values
that were passed to <b>pcre_exec()</b>.
</P>
<P>
The <i>start_match</i> field normally contains the offset within the subject at
which the current match attempt started. However, if the escape sequence \K
has been encountered, this value is changed to reflect the modified starting
point. If the pattern is not anchored, the callout function may be called
several times from the same point in the pattern for different starting points
in the subject.
</P>
<P>
The <i>current_position</i> field contains the offset within the subject of the
current match pointer.
</P>
<P>
When the <b>pcre_exec()</b> function is used, the <i>capture_top</i> field
contains one more than the number of the highest numbered captured substring so
far. If no substrings have been captured, the value of <i>capture_top</i> is
one. This is always the case when <b>pcre_dfa_exec()</b> is used, because it
does not support captured substrings.
</P>
<P>
The <i>capture_last</i> field contains the number of the most recently captured
substring. If no substrings have been captured, its value is -1. This is always
the case when <b>pcre_dfa_exec()</b> is used.
</P>
<P>
The <i>callout_data</i> field contains a value that is passed to
<b>pcre_exec()</b> or <b>pcre_dfa_exec()</b> specifically so that it can be
passed back in callouts. It is passed in the <i>pcre_callout</i> field of the
<b>pcre_extra</b> data structure. If no such data was passed, the value of
<i>callout_data</i> in a <b>pcre_callout</b> block is NULL. There is a
description of the <b>pcre_extra</b> structure in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<P>
The <i>pattern_position</i> field is present from version 1 of the
<i>pcre_callout</i> structure. It contains the offset to the next item to be
matched in the pattern string.
</P>
<P>
The <i>next_item_length</i> field is present from version 1 of the
<i>pcre_callout</i> structure. It contains the length of the next item to be
matched in the pattern string. When the callout immediately precedes an
alternation bar, a closing parenthesis, or the end of the pattern, the length
is zero. When the callout precedes an opening parenthesis, the length is that
of the entire subpattern.
</P>
<P>
The <i>pattern_position</i> and <i>next_item_length</i> fields are intended to
help in distinguishing between different automatic callouts, which all have the
same callout number. However, they are set for all callouts.
</P>
<br><a name="SEC4" href="#TOC1">RETURN VALUES</a><br>
<P>
The external callout function returns an integer to PCRE. If the value is zero,
matching proceeds as normal. If the value is greater than zero, matching fails
at the current point, but the testing of other matching possibilities goes
ahead, just as if a lookahead assertion had failed. If the value is less than
zero, the match is abandoned, and <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
returns the negative value.
</P>
<P>
Negative values should normally be chosen from the set of PCRE_ERROR_xxx
values. In particular, PCRE_ERROR_NOMATCH forces a standard "no match" failure.
The error number PCRE_ERROR_CALLOUT is reserved for use by callout functions;
it will never be used by PCRE itself.
</P>
<br><a name="SEC5" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC6" href="#TOC1">REVISION</a><br>
<P>
Last updated: 29 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_compile2.html000064400000007051150405535550016040 0ustar00<html>
<head>
<title>pcre_compile2 specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_compile2 man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>pcre *pcre_compile2(const char *<i>pattern</i>, int <i>options</i>,</b>
<b>int *<i>errorcodeptr</i>,</b>
<b>const char **<i>errptr</i>, int *<i>erroffset</i>,</b>
<b>const unsigned char *<i>tableptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function compiles a regular expression into an internal form. It is the
same as <b>pcre_compile()</b>, except for the addition of the <i>errorcodeptr</i>
argument. The arguments are:
</P>
<P>
<pre>
  <i>pattern</i>       A zero-terminated string containing the
                  regular expression to be compiled
  <i>options</i>       Zero or more option bits
  <i>errorcodeptr</i>  Where to put an error code
  <i>errptr</i>        Where to put an error message
  <i>erroffset</i>     Offset in pattern where error was found
  <i>tableptr</i>      Pointer to character tables, or NULL to
                  use the built-in default
</pre>
The option bits are:
<pre>
  PCRE_ANCHORED           Force pattern anchoring
  PCRE_AUTO_CALLOUT       Compile automatic callouts
  PCRE_BSR_ANYCRLF        \R matches only CR, LF, or CRLF
  PCRE_BSR_UNICODE        \R matches all Unicode line endings
  PCRE_CASELESS           Do caseless matching
  PCRE_DOLLAR_ENDONLY     $ not to match newline at end
  PCRE_DOTALL             . matches anything including NL
  PCRE_DUPNAMES           Allow duplicate names for subpatterns
  PCRE_EXTENDED           Ignore whitespace and # comments
  PCRE_EXTRA              PCRE extra features
                            (not much use currently)
  PCRE_FIRSTLINE          Force matching to be before newline
  PCRE_JAVASCRIPT_COMPAT  JavaScript compatibility
  PCRE_MULTILINE          ^ and $ match newlines within data
  PCRE_NEWLINE_ANY        Recognize any Unicode newline sequence
  PCRE_NEWLINE_ANYCRLF    Recognize CR, LF, and CRLF as newline
                            sequences
  PCRE_NEWLINE_CR         Set CR as the newline sequence
  PCRE_NEWLINE_CRLF       Set CRLF as the newline sequence
  PCRE_NEWLINE_LF         Set LF as the newline sequence
  PCRE_NO_AUTO_CAPTURE    Disable numbered capturing paren-
                            theses (named ones available)
  PCRE_NO_UTF8_CHECK      Do not check the pattern for UTF-8
                            validity (only relevant if
                            PCRE_UTF8 is set)
  PCRE_UNGREEDY           Invert greediness of quantifiers
  PCRE_UTF8               Run in UTF-8 mode
</pre>
PCRE must be built with UTF-8 support in order to use PCRE_UTF8 and
PCRE_NO_UTF8_CHECK.
</P>
<P>
The yield of the function is a pointer to a private data structure that
contains the compiled pattern, or NULL if an error was detected. Note that
compiling regular expressions with one version of PCRE for use with a different
version is not guaranteed to work and may cause crashes.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_info.html000064400000001775150405535550015270 0ustar00<html>
<head>
<title>pcre_info specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_info man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_info(const pcre *<i>code</i>, int *<i>optptr</i>, int</b>
<b>*<i>firstcharptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function is obsolete. You should be using <b>pcre_fullinfo()</b> instead.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcretest.html000064400000074474150405535550015163 0ustar00<html>
<head>
<title>pcretest specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcretest man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS</a>
<li><a name="TOC2" href="#SEC2">OPTIONS</a>
<li><a name="TOC3" href="#SEC3">DESCRIPTION</a>
<li><a name="TOC4" href="#SEC4">PATTERN MODIFIERS</a>
<li><a name="TOC5" href="#SEC5">DATA LINES</a>
<li><a name="TOC6" href="#SEC6">THE ALTERNATIVE MATCHING FUNCTION</a>
<li><a name="TOC7" href="#SEC7">DEFAULT OUTPUT FROM PCRETEST</a>
<li><a name="TOC8" href="#SEC8">OUTPUT FROM THE ALTERNATIVE MATCHING FUNCTION</a>
<li><a name="TOC9" href="#SEC9">RESTARTING AFTER A PARTIAL MATCH</a>
<li><a name="TOC10" href="#SEC10">CALLOUTS</a>
<li><a name="TOC11" href="#SEC11">NON-PRINTING CHARACTERS</a>
<li><a name="TOC12" href="#SEC12">SAVING AND RELOADING COMPILED PATTERNS</a>
<li><a name="TOC13" href="#SEC13">SEE ALSO</a>
<li><a name="TOC14" href="#SEC14">AUTHOR</a>
<li><a name="TOC15" href="#SEC15">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SYNOPSIS</a><br>
<P>
<b>pcretest [options] [source] [destination]</b>
<br>
<br>
<b>pcretest</b> was written as a test program for the PCRE regular expression
library itself, but it can also be used for experimenting with regular
expressions. This document describes the features of the test program; for
details of the regular expressions themselves, see the
<a href="pcrepattern.html"><b>pcrepattern</b></a>
documentation. For details of the PCRE library function calls and their
options, see the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<br><a name="SEC2" href="#TOC1">OPTIONS</a><br>
<P>
<b>-b</b>
Behave as if each regex has the <b>/B</b> (show bytecode) modifier; the internal
form is output after compilation.
</P>
<P>
<b>-C</b>
Output the version number of the PCRE library, and all available information
about the optional features that are included, and then exit.
</P>
<P>
<b>-d</b>
Behave as if each regex has the <b>/D</b> (debug) modifier; the internal
form and information about the compiled pattern is output after compilation;
<b>-d</b> is equivalent to <b>-b -i</b>.
</P>
<P>
<b>-dfa</b>
Behave as if each data line contains the \D escape sequence; this causes the
alternative matching function, <b>pcre_dfa_exec()</b>, to be used instead of the
standard <b>pcre_exec()</b> function (more detail is given below).
</P>
<P>
<b>-help</b>
Output a brief summary these options and then exit.
</P>
<P>
<b>-i</b>
Behave as if each regex has the <b>/I</b> modifier; information about the
compiled pattern is given after compilation.
</P>
<P>
<b>-M</b>
Behave as if each data line contains the \M escape sequence; this causes
PCRE to discover the minimum MATCH_LIMIT and MATCH_LIMIT_RECURSION settings by
calling <b>pcre_exec()</b> repeatedly with different limits.
</P>
<P>
<b>-m</b>
Output the size of each compiled pattern after it has been compiled. This is
equivalent to adding <b>/M</b> to each regular expression. For compatibility
with earlier versions of pcretest, <b>-s</b> is a synonym for <b>-m</b>.
</P>
<P>
<b>-o</b> <i>osize</i>
Set the number of elements in the output vector that is used when calling
<b>pcre_exec()</b> or <b>pcre_dfa_exec()</b> to be <i>osize</i>. The default value
is 45, which is enough for 14 capturing subexpressions for <b>pcre_exec()</b> or
22 different matches for <b>pcre_dfa_exec()</b>. The vector size can be
changed for individual matching calls by including \O in the data line (see
below).
</P>
<P>
<b>-p</b>
Behave as if each regex has the <b>/P</b> modifier; the POSIX wrapper API is
used to call PCRE. None of the other options has any effect when <b>-p</b> is
set.
</P>
<P>
<b>-q</b>
Do not output the version number of <b>pcretest</b> at the start of execution.
</P>
<P>
<b>-S</b> <i>size</i>
On Unix-like systems, set the size of the runtime stack to <i>size</i>
megabytes.
</P>
<P>
<b>-t</b>
Run each compile, study, and match many times with a timer, and output
resulting time per compile or match (in milliseconds). Do not set <b>-m</b> with
<b>-t</b>, because you will then get the size output a zillion times, and the
timing will be distorted. You can control the number of iterations that are
used for timing by following <b>-t</b> with a number (as a separate item on the
command line). For example, "-t 1000" would iterate 1000 times. The default is
to iterate 500000 times.
</P>
<P>
<b>-tm</b>
This is like <b>-t</b> except that it times only the matching phase, not the
compile or study phases.
</P>
<br><a name="SEC3" href="#TOC1">DESCRIPTION</a><br>
<P>
If <b>pcretest</b> is given two filename arguments, it reads from the first and
writes to the second. If it is given only one filename argument, it reads from
that file and writes to stdout. Otherwise, it reads from stdin and writes to
stdout, and prompts for each line of input, using "re&#62;" to prompt for regular
expressions, and "data&#62;" to prompt for data lines.
</P>
<P>
When <b>pcretest</b> is built, a configuration option can specify that it should
be linked with the <b>libreadline</b> library. When this is done, if the input
is from a terminal, it is read using the <b>readline()</b> function. This
provides line-editing and history facilities. The output from the <b>-help</b>
option states whether or not <b>readline()</b> will be used.
</P>
<P>
The program handles any number of sets of input on a single input file. Each
set starts with a regular expression, and continues with any number of data
lines to be matched against the pattern.
</P>
<P>
Each data line is matched separately and independently. If you want to do
multi-line matches, you have to use the \n escape sequence (or \r or \r\n,
etc., depending on the newline setting) in a single line of input to encode the
newline sequences. There is no limit on the length of data lines; the input
buffer is automatically extended if it is too small.
</P>
<P>
An empty line signals the end of the data lines, at which point a new regular
expression is read. The regular expressions are given enclosed in any
non-alphanumeric delimiters other than backslash, for example:
<pre>
  /(a|bc)x+yz/
</pre>
White space before the initial delimiter is ignored. A regular expression may
be continued over several input lines, in which case the newline characters are
included within it. It is possible to include the delimiter within the pattern
by escaping it, for example
<pre>
  /abc\/def/
</pre>
If you do so, the escape and the delimiter form part of the pattern, but since
delimiters are always non-alphanumeric, this does not affect its interpretation.
If the terminating delimiter is immediately followed by a backslash, for
example,
<pre>
  /abc/\
</pre>
then a backslash is added to the end of the pattern. This is done to provide a
way of testing the error condition that arises if a pattern finishes with a
backslash, because
<pre>
  /abc\/
</pre>
is interpreted as the first line of a pattern that starts with "abc/", causing
pcretest to read the next line as a continuation of the regular expression.
</P>
<br><a name="SEC4" href="#TOC1">PATTERN MODIFIERS</a><br>
<P>
A pattern may be followed by any number of modifiers, which are mostly single
characters. Following Perl usage, these are referred to below as, for example,
"the <b>/i</b> modifier", even though the delimiter of the pattern need not
always be a slash, and no slash is used when writing modifiers. Whitespace may
appear between the final pattern delimiter and the first modifier, and between
the modifiers themselves.
</P>
<P>
The <b>/i</b>, <b>/m</b>, <b>/s</b>, and <b>/x</b> modifiers set the PCRE_CASELESS,
PCRE_MULTILINE, PCRE_DOTALL, or PCRE_EXTENDED options, respectively, when
<b>pcre_compile()</b> is called. These four modifier letters have the same
effect as they do in Perl. For example:
<pre>
  /caseless/i
</pre>
The following table shows additional modifiers for setting PCRE options that do
not correspond to anything in Perl:
<pre>
  <b>/A</b>              PCRE_ANCHORED
  <b>/C</b>              PCRE_AUTO_CALLOUT
  <b>/E</b>              PCRE_DOLLAR_ENDONLY
  <b>/f</b>              PCRE_FIRSTLINE
  <b>/J</b>              PCRE_DUPNAMES
  <b>/N</b>              PCRE_NO_AUTO_CAPTURE
  <b>/U</b>              PCRE_UNGREEDY
  <b>/X</b>              PCRE_EXTRA
  <b>/&#60;JS&#62;</b>           PCRE_JAVASCRIPT_COMPAT
  <b>/&#60;cr&#62;</b>           PCRE_NEWLINE_CR
  <b>/&#60;lf&#62;</b>           PCRE_NEWLINE_LF
  <b>/&#60;crlf&#62;</b>         PCRE_NEWLINE_CRLF
  <b>/&#60;anycrlf&#62;</b>      PCRE_NEWLINE_ANYCRLF
  <b>/&#60;any&#62;</b>          PCRE_NEWLINE_ANY
  <b>/&#60;bsr_anycrlf&#62;</b>  PCRE_BSR_ANYCRLF
  <b>/&#60;bsr_unicode&#62;</b>  PCRE_BSR_UNICODE
</pre>
Those specifying line ending sequences are literal strings as shown, but the
letters can be in either case. This example sets multiline matching with CRLF
as the line ending sequence:
<pre>
  /^abc/m&#60;crlf&#62;
</pre>
Details of the meanings of these PCRE options are given in the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation.
</P>
<br><b>
Finding all matches in a string
</b><br>
<P>
Searching for all possible matches within each subject string can be requested
by the <b>/g</b> or <b>/G</b> modifier. After finding a match, PCRE is called
again to search the remainder of the subject string. The difference between
<b>/g</b> and <b>/G</b> is that the former uses the <i>startoffset</i> argument to
<b>pcre_exec()</b> to start searching at a new point within the entire string
(which is in effect what Perl does), whereas the latter passes over a shortened
substring. This makes a difference to the matching process if the pattern
begins with a lookbehind assertion (including \b or \B).
</P>
<P>
If any call to <b>pcre_exec()</b> in a <b>/g</b> or <b>/G</b> sequence matches an
empty string, the next call is done with the PCRE_NOTEMPTY_ATSTART and
PCRE_ANCHORED flags set in order to search for another, non-empty, match at the
same point. If this second match fails, the start offset is advanced by one
character, and the normal match is retried. This imitates the way Perl handles
such cases when using the <b>/g</b> modifier or the <b>split()</b> function.
</P>
<br><b>
Other modifiers
</b><br>
<P>
There are yet more modifiers for controlling the way <b>pcretest</b>
operates.
</P>
<P>
The <b>/+</b> modifier requests that as well as outputting the substring that
matched the entire pattern, pcretest should in addition output the remainder of
the subject string. This is useful for tests where the subject contains
multiple copies of the same substring.
</P>
<P>
The <b>/B</b> modifier is a debugging feature. It requests that <b>pcretest</b>
output a representation of the compiled byte code after compilation. Normally
this information contains length and offset values; however, if <b>/Z</b> is
also present, this data is replaced by spaces. This is a special feature for
use in the automatic test scripts; it ensures that the same output is generated
for different internal link sizes.
</P>
<P>
The <b>/L</b> modifier must be followed directly by the name of a locale, for
example,
<pre>
  /pattern/Lfr_FR
</pre>
For this reason, it must be the last modifier. The given locale is set,
<b>pcre_maketables()</b> is called to build a set of character tables for the
locale, and this is then passed to <b>pcre_compile()</b> when compiling the
regular expression. Without an <b>/L</b> modifier, NULL is passed as the tables
pointer; that is, <b>/L</b> applies only to the expression on which it appears.
</P>
<P>
The <b>/I</b> modifier requests that <b>pcretest</b> output information about the
compiled pattern (whether it is anchored, has a fixed first character, and
so on). It does this by calling <b>pcre_fullinfo()</b> after compiling a
pattern. If the pattern is studied, the results of that are also output.
</P>
<P>
The <b>/D</b> modifier is a PCRE debugging feature, and is equivalent to
<b>/BI</b>, that is, both the <b>/B</b> and the <b>/I</b> modifiers.
</P>
<P>
The <b>/F</b> modifier causes <b>pcretest</b> to flip the byte order of the
fields in the compiled pattern that contain 2-byte and 4-byte numbers. This
facility is for testing the feature in PCRE that allows it to execute patterns
that were compiled on a host with a different endianness. This feature is not
available when the POSIX interface to PCRE is being used, that is, when the
<b>/P</b> pattern modifier is specified. See also the section about saving and
reloading compiled patterns below.
</P>
<P>
The <b>/S</b> modifier causes <b>pcre_study()</b> to be called after the
expression has been compiled, and the results used when the expression is
matched.
</P>
<P>
The <b>/M</b> modifier causes the size of memory block used to hold the compiled
pattern to be output.
</P>
<P>
The <b>/P</b> modifier causes <b>pcretest</b> to call PCRE via the POSIX wrapper
API rather than its native API. When this is done, all other modifiers except
<b>/i</b>, <b>/m</b>, and <b>/+</b> are ignored. REG_ICASE is set if <b>/i</b> is
present, and REG_NEWLINE is set if <b>/m</b> is present. The wrapper functions
force PCRE_DOLLAR_ENDONLY always, and PCRE_DOTALL unless REG_NEWLINE is set.
</P>
<P>
The <b>/8</b> modifier causes <b>pcretest</b> to call PCRE with the PCRE_UTF8
option set. This turns on support for UTF-8 character handling in PCRE,
provided that it was compiled with this support enabled. This modifier also
causes any non-printing characters in output strings to be printed using the
\x{hh...} notation if they are valid UTF-8 sequences.
</P>
<P>
If the <b>/?</b> modifier is used with <b>/8</b>, it causes <b>pcretest</b> to
call <b>pcre_compile()</b> with the PCRE_NO_UTF8_CHECK option, to suppress the
checking of the string for UTF-8 validity.
</P>
<br><a name="SEC5" href="#TOC1">DATA LINES</a><br>
<P>
Before each data line is passed to <b>pcre_exec()</b>, leading and trailing
whitespace is removed, and it is then scanned for \ escapes. Some of these are
pretty esoteric features, intended for checking out some of the more
complicated features of PCRE. If you are just testing "ordinary" regular
expressions, you probably don't need any of these. The following escapes are
recognized:
<pre>
  \a         alarm (BEL, \x07)
  \b         backspace (\x08)
  \e         escape (\x27)
  \f         formfeed (\x0c)
  \n         newline (\x0a)
  \qdd       set the PCRE_MATCH_LIMIT limit to dd (any number of digits)
  \r         carriage return (\x0d)
  \t         tab (\x09)
  \v         vertical tab (\x0b)
  \nnn       octal character (up to 3 octal digits)
  \xhh       hexadecimal character (up to 2 hex digits)
  \x{hh...}  hexadecimal character, any number of digits in UTF-8 mode
  \A         pass the PCRE_ANCHORED option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \B         pass the PCRE_NOTBOL option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \Cdd       call pcre_copy_substring() for substring dd after a successful match (number less than 32)
  \Cname     call pcre_copy_named_substring() for substring "name" after a successful match (name termin-
               ated by next non alphanumeric character)
  \C+        show the current captured substrings at callout time
  \C-        do not supply a callout function
  \C!n       return 1 instead of 0 when callout number n is reached
  \C!n!m     return 1 instead of 0 when callout number n is reached for the nth time
  \C*n       pass the number n (may be negative) as callout data; this is used as the callout return value
  \D         use the <b>pcre_dfa_exec()</b> match function
  \F         only shortest match for <b>pcre_dfa_exec()</b>
  \Gdd       call pcre_get_substring() for substring dd after a successful match (number less than 32)
  \Gname     call pcre_get_named_substring() for substring "name" after a successful match (name termin-
               ated by next non-alphanumeric character)
  \L         call pcre_get_substringlist() after a successful match
  \M         discover the minimum MATCH_LIMIT and MATCH_LIMIT_RECURSION settings
  \N         pass the PCRE_NOTEMPTY option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>; if used twice, pass the
               PCRE_NOTEMPTY_ATSTART option
  \Odd       set the size of the output vector passed to <b>pcre_exec()</b> to dd (any number of digits)
  \P         pass the PCRE_PARTIAL_SOFT option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>; if used twice, pass the
               PCRE_PARTIAL_HARD option
  \Qdd       set the PCRE_MATCH_LIMIT_RECURSION limit to dd (any number of digits)
  \R         pass the PCRE_DFA_RESTART option to <b>pcre_dfa_exec()</b>
  \S         output details of memory get/free calls during matching
  \Y         pass the PCRE_NO_START_OPTIMIZE option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \Z         pass the PCRE_NOTEOL option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \?         pass the PCRE_NO_UTF8_CHECK option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#62;dd       start the match at offset dd (any number of digits);
               this sets the <i>startoffset</i> argument for <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#60;cr&#62;      pass the PCRE_NEWLINE_CR option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#60;lf&#62;      pass the PCRE_NEWLINE_LF option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#60;crlf&#62;    pass the PCRE_NEWLINE_CRLF option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#60;anycrlf&#62; pass the PCRE_NEWLINE_ANYCRLF option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
  \&#60;any&#62;     pass the PCRE_NEWLINE_ANY option to <b>pcre_exec()</b> or <b>pcre_dfa_exec()</b>
</pre>
The escapes that specify line ending sequences are literal strings, exactly as
shown. No more than one newline setting should be present in any data line.
</P>
<P>
A backslash followed by anything else just escapes the anything else. If
the very last character is a backslash, it is ignored. This gives a way of
passing an empty line as data, since a real empty line terminates the data
input.
</P>
<P>
If \M is present, <b>pcretest</b> calls <b>pcre_exec()</b> several times, with
different values in the <i>match_limit</i> and <i>match_limit_recursion</i>
fields of the <b>pcre_extra</b> data structure, until it finds the minimum
numbers for each parameter that allow <b>pcre_exec()</b> to complete. The
<i>match_limit</i> number is a measure of the amount of backtracking that takes
place, and checking it out can be instructive. For most simple matches, the
number is quite small, but for patterns with very large numbers of matching
possibilities, it can become large very quickly with increasing length of
subject string. The <i>match_limit_recursion</i> number is a measure of how much
stack (or, if PCRE is compiled with NO_RECURSE, how much heap) memory is needed
to complete the match attempt.
</P>
<P>
When \O is used, the value specified may be higher or lower than the size set
by the <b>-O</b> command line option (or defaulted to 45); \O applies only to
the call of <b>pcre_exec()</b> for the line in which it appears.
</P>
<P>
If the <b>/P</b> modifier was present on the pattern, causing the POSIX wrapper
API to be used, the only option-setting sequences that have any effect are \B
and \Z, causing REG_NOTBOL and REG_NOTEOL, respectively, to be passed to
<b>regexec()</b>.
</P>
<P>
The use of \x{hh...} to represent UTF-8 characters is not dependent on the use
of the <b>/8</b> modifier on the pattern. It is recognized always. There may be
any number of hexadecimal digits inside the braces. The result is from one to
six bytes, encoded according to the original UTF-8 rules of RFC 2279. This
allows for values in the range 0 to 0x7FFFFFFF. Note that not all of those are
valid Unicode code points, or indeed valid UTF-8 characters according to the
later rules in RFC 3629.
</P>
<br><a name="SEC6" href="#TOC1">THE ALTERNATIVE MATCHING FUNCTION</a><br>
<P>
By default, <b>pcretest</b> uses the standard PCRE matching function,
<b>pcre_exec()</b> to match each data line. From release 6.0, PCRE supports an
alternative matching function, <b>pcre_dfa_test()</b>, which operates in a
different way, and has some restrictions. The differences between the two
functions are described in the
<a href="pcrematching.html"><b>pcrematching</b></a>
documentation.
</P>
<P>
If a data line contains the \D escape sequence, or if the command line
contains the <b>-dfa</b> option, the alternative matching function is called.
This function finds all possible matches at a given point. If, however, the \F
escape sequence is present in the data line, it stops after the first match is
found. This is always the shortest possible match.
</P>
<br><a name="SEC7" href="#TOC1">DEFAULT OUTPUT FROM PCRETEST</a><br>
<P>
This section describes the output when the normal matching function,
<b>pcre_exec()</b>, is being used.
</P>
<P>
When a match succeeds, pcretest outputs the list of captured substrings that
<b>pcre_exec()</b> returns, starting with number 0 for the string that matched
the whole pattern. Otherwise, it outputs "No match" when the return is
PCRE_ERROR_NOMATCH, and "Partial match:" followed by the partially matching
substring when <b>pcre_exec()</b> returns PCRE_ERROR_PARTIAL. For any other
returns, it outputs the PCRE negative error number. Here is an example of an
interactive <b>pcretest</b> run.
<pre>
  $ pcretest
  PCRE version 7.0 30-Nov-2006

    re&#62; /^abc(\d+)/
  data&#62; abc123
   0: abc123
   1: 123
  data&#62; xyz
  No match
</pre>
Note that unset capturing substrings that are not followed by one that is set
are not returned by <b>pcre_exec()</b>, and are not shown by <b>pcretest</b>. In
the following example, there are two capturing substrings, but when the first
data line is matched, the second, unset substring is not shown. An "internal"
unset substring is shown as "&#60;unset&#62;", as for the second data line.
<pre>
    re&#62; /(a)|(b)/
  data&#62; a
   0: a
   1: a
  data&#62; b
   0: b
   1: &#60;unset&#62;
   2: b
</pre>
If the strings contain any non-printing characters, they are output as \0x
escapes, or as \x{...} escapes if the <b>/8</b> modifier was present on the
pattern. See below for the definition of non-printing characters. If the
pattern has the <b>/+</b> modifier, the output for substring 0 is followed by
the the rest of the subject string, identified by "0+" like this:
<pre>
    re&#62; /cat/+
  data&#62; cataract
   0: cat
   0+ aract
</pre>
If the pattern has the <b>/g</b> or <b>/G</b> modifier, the results of successive
matching attempts are output in sequence, like this:
<pre>
    re&#62; /\Bi(\w\w)/g
  data&#62; Mississippi
   0: iss
   1: ss
   0: iss
   1: ss
   0: ipp
   1: pp
</pre>
"No match" is output only if the first match attempt fails.
</P>
<P>
If any of the sequences <b>\C</b>, <b>\G</b>, or <b>\L</b> are present in a
data line that is successfully matched, the substrings extracted by the
convenience functions are output with C, G, or L after the string number
instead of a colon. This is in addition to the normal full list. The string
length (that is, the return from the extraction function) is given in
parentheses after each string for <b>\C</b> and <b>\G</b>.
</P>
<P>
Note that whereas patterns can be continued over several lines (a plain "&#62;"
prompt is used for continuations), data lines may not. However newlines can be
included in data by means of the \n escape (or \r, \r\n, etc., depending on
the newline sequence setting).
</P>
<br><a name="SEC8" href="#TOC1">OUTPUT FROM THE ALTERNATIVE MATCHING FUNCTION</a><br>
<P>
When the alternative matching function, <b>pcre_dfa_exec()</b>, is used (by
means of the \D escape sequence or the <b>-dfa</b> command line option), the
output consists of a list of all the matches that start at the first point in
the subject where there is at least one match. For example:
<pre>
    re&#62; /(tang|tangerine|tan)/
  data&#62; yellow tangerine\D
   0: tangerine
   1: tang
   2: tan
</pre>
(Using the normal matching function on this data finds only "tang".) The
longest matching string is always given first (and numbered zero). After a
PCRE_ERROR_PARTIAL return, the output is "Partial match:", followed by the
partially matching substring.
</P>
<P>
If <b>/g</b> is present on the pattern, the search for further matches resumes
at the end of the longest match. For example:
<pre>
    re&#62; /(tang|tangerine|tan)/g
  data&#62; yellow tangerine and tangy sultana\D
   0: tangerine
   1: tang
   2: tan
   0: tang
   1: tan
   0: tan
</pre>
Since the matching function does not support substring capture, the escape
sequences that are concerned with captured substrings are not relevant.
</P>
<br><a name="SEC9" href="#TOC1">RESTARTING AFTER A PARTIAL MATCH</a><br>
<P>
When the alternative matching function has given the PCRE_ERROR_PARTIAL return,
indicating that the subject partially matched the pattern, you can restart the
match with additional subject data by means of the \R escape sequence. For
example:
<pre>
    re&#62; /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
  data&#62; 23ja\P\D
  Partial match: 23ja
  data&#62; n05\R\D
   0: n05
</pre>
For further information about partial matching, see the
<a href="pcrepartial.html"><b>pcrepartial</b></a>
documentation.
</P>
<br><a name="SEC10" href="#TOC1">CALLOUTS</a><br>
<P>
If the pattern contains any callout requests, <b>pcretest</b>'s callout function
is called during matching. This works with both matching functions. By default,
the called function displays the callout number, the start and current
positions in the text at the callout time, and the next pattern item to be
tested. For example, the output
<pre>
  ---&#62;pqrabcdef
    0    ^  ^     \d
</pre>
indicates that callout number 0 occurred for a match attempt starting at the
fourth character of the subject string, when the pointer was at the seventh
character of the data, and when the next pattern item was \d. Just one
circumflex is output if the start and current positions are the same.
</P>
<P>
Callouts numbered 255 are assumed to be automatic callouts, inserted as a
result of the <b>/C</b> pattern modifier. In this case, instead of showing the
callout number, the offset in the pattern, preceded by a plus, is output. For
example:
<pre>
    re&#62; /\d?[A-E]\*/C
  data&#62; E*
  ---&#62;E*
   +0 ^      \d?
   +3 ^      [A-E]
   +8 ^^     \*
  +10 ^ ^
   0: E*
</pre>
The callout function in <b>pcretest</b> returns zero (carry on matching) by
default, but you can use a \C item in a data line (as described above) to
change this.
</P>
<P>
Inserting callouts can be helpful when using <b>pcretest</b> to check
complicated regular expressions. For further information about callouts, see
the
<a href="pcrecallout.html"><b>pcrecallout</b></a>
documentation.
</P>
<br><a name="SEC11" href="#TOC1">NON-PRINTING CHARACTERS</a><br>
<P>
When <b>pcretest</b> is outputting text in the compiled version of a pattern,
bytes other than 32-126 are always treated as non-printing characters are are
therefore shown as hex escapes.
</P>
<P>
When <b>pcretest</b> is outputting text that is a matched part of a subject
string, it behaves in the same way, unless a different locale has been set for
the pattern (using the <b>/L</b> modifier). In this case, the <b>isprint()</b>
function to distinguish printing and non-printing characters.
</P>
<br><a name="SEC12" href="#TOC1">SAVING AND RELOADING COMPILED PATTERNS</a><br>
<P>
The facilities described in this section are not available when the POSIX
inteface to PCRE is being used, that is, when the <b>/P</b> pattern modifier is
specified.
</P>
<P>
When the POSIX interface is not in use, you can cause <b>pcretest</b> to write a
compiled pattern to a file, by following the modifiers with &#62; and a file name.
For example:
<pre>
  /pattern/im &#62;/some/file
</pre>
See the
<a href="pcreprecompile.html"><b>pcreprecompile</b></a>
documentation for a discussion about saving and re-using compiled patterns.
</P>
<P>
The data that is written is binary. The first eight bytes are the length of the
compiled pattern data followed by the length of the optional study data, each
written as four bytes in big-endian order (most significant byte first). If
there is no study data (either the pattern was not studied, or studying did not
return any data), the second length is zero. The lengths are followed by an
exact copy of the compiled pattern. If there is additional study data, this
follows immediately after the compiled pattern. After writing the file,
<b>pcretest</b> expects to read a new pattern.
</P>
<P>
A saved pattern can be reloaded into <b>pcretest</b> by specifing &#60; and a file
name instead of a pattern. The name of the file must not contain a &#60; character,
as otherwise <b>pcretest</b> will interpret the line as a pattern delimited by &#60;
characters.
For example:
<pre>
   re&#62; &#60;/some/file
  Compiled regex loaded from /some/file
  No study data
</pre>
When the pattern has been loaded, <b>pcretest</b> proceeds to read data lines in
the usual way.
</P>
<P>
You can copy a file written by <b>pcretest</b> to a different host and reload it
there, even if the new host has opposite endianness to the one on which the
pattern was compiled. For example, you can compile on an i86 machine and run on
a SPARC machine.
</P>
<P>
File names for saving and reloading can be absolute or relative, but note that
the shell facility of expanding a file name that starts with a tilde (~) is not
available.
</P>
<P>
The ability to save and reload files in <b>pcretest</b> is intended for testing
and experimentation. It is not intended for production use because only a
single pattern can be written to a file. Furthermore, there is no facility for
supplying custom character tables for use with a reloaded pattern. If the
original pattern was compiled with custom tables, an attempt to match a subject
string using a reloaded pattern is likely to cause <b>pcretest</b> to crash.
Finally, if you attempt to load a file that is not in the correct format, the
result is undefined.
</P>
<br><a name="SEC13" href="#TOC1">SEE ALSO</a><br>
<P>
<b>pcre</b>(3), <b>pcreapi</b>(3), <b>pcrecallout</b>(3), <b>pcrematching</b>(3),
<b>pcrepartial</b>(d), <b>pcrepattern</b>(3), <b>pcreprecompile</b>(3).
</P>
<br><a name="SEC14" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC15" href="#TOC1">REVISION</a><br>
<P>
Last updated: 26 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_free_substring.html000064400000002141150405535550017342 0ustar00<html>
<head>
<title>pcre_free_substring specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_free_substring man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>void pcre_free_substring(const char *<i>stringptr</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This is a convenience function for freeing the store obtained by a previous
call to <b>pcre_get_substring()</b> or <b>pcre_get_named_substring()</b>. Its
only argument is a pointer to the string.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcreposix.html000064400000027017150405535550015335 0ustar00<html>
<head>
<title>pcreposix specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcreposix man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS OF POSIX API</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
<li><a name="TOC3" href="#SEC3">COMPILING A PATTERN</a>
<li><a name="TOC4" href="#SEC4">MATCHING NEWLINE CHARACTERS</a>
<li><a name="TOC5" href="#SEC5">MATCHING A PATTERN</a>
<li><a name="TOC6" href="#SEC6">ERROR MESSAGES</a>
<li><a name="TOC7" href="#SEC7">MEMORY USAGE</a>
<li><a name="TOC8" href="#SEC8">AUTHOR</a>
<li><a name="TOC9" href="#SEC9">REVISION</a>
</ul>
<br><a name="SEC1" href="#TOC1">SYNOPSIS OF POSIX API</a><br>
<P>
<b>#include &#60;pcreposix.h&#62;</b>
</P>
<P>
<b>int regcomp(regex_t *<i>preg</i>, const char *<i>pattern</i>,</b>
<b>int <i>cflags</i>);</b>
</P>
<P>
<b>int regexec(regex_t *<i>preg</i>, const char *<i>string</i>,</b>
<b>size_t <i>nmatch</i>, regmatch_t <i>pmatch</i>[], int <i>eflags</i>);</b>
</P>
<P>
<b>size_t regerror(int <i>errcode</i>, const regex_t *<i>preg</i>,</b>
<b>char *<i>errbuf</i>, size_t <i>errbuf_size</i>);</b>
</P>
<P>
<b>void regfree(regex_t *<i>preg</i>);</b>
</P>
<br><a name="SEC2" href="#TOC1">DESCRIPTION</a><br>
<P>
This set of functions provides a POSIX-style API to the PCRE regular expression
package. See the
<a href="pcreapi.html"><b>pcreapi</b></a>
documentation for a description of PCRE's native API, which contains much
additional functionality.
</P>
<P>
The functions described here are just wrapper functions that ultimately call
the PCRE native API. Their prototypes are defined in the <b>pcreposix.h</b>
header file, and on Unix systems the library itself is called
<b>pcreposix.a</b>, so can be accessed by adding <b>-lpcreposix</b> to the
command for linking an application that uses them. Because the POSIX functions
call the native ones, it is also necessary to add <b>-lpcre</b>.
</P>
<P>
I have implemented only those POSIX option bits that can be reasonably mapped
to PCRE native options. In addition, the option REG_EXTENDED is defined with
the value zero. This has no effect, but since programs that are written to the
POSIX interface often use it, this makes it easier to slot in PCRE as a
replacement library. Other POSIX options are not even defined.
</P>
<P>
There are also some other options that are not defined by POSIX. These have
been added at the request of users who want to make use of certain
PCRE-specific features via the POSIX calling interface.
</P>
<P>
When PCRE is called via these functions, it is only the API that is POSIX-like
in style. The syntax and semantics of the regular expressions themselves are
still those of Perl, subject to the setting of various PCRE options, as
described below. "POSIX-like in style" means that the API approximates to the
POSIX definition; it is not fully POSIX-compatible, and in multi-byte encoding
domains it is probably even less compatible.
</P>
<P>
The header for these functions is supplied as <b>pcreposix.h</b> to avoid any
potential clash with other POSIX libraries. It can, of course, be renamed or
aliased as <b>regex.h</b>, which is the "correct" name. It provides two
structure types, <i>regex_t</i> for compiled internal forms, and
<i>regmatch_t</i> for returning captured substrings. It also defines some
constants whose names start with "REG_"; these are used for setting options and
identifying error codes.
</P>
<P>
</P>
<br><a name="SEC3" href="#TOC1">COMPILING A PATTERN</a><br>
<P>
The function <b>regcomp()</b> is called to compile a pattern into an
internal form. The pattern is a C string terminated by a binary zero, and
is passed in the argument <i>pattern</i>. The <i>preg</i> argument is a pointer
to a <b>regex_t</b> structure that is used as a base for storing information
about the compiled regular expression.
</P>
<P>
The argument <i>cflags</i> is either zero, or contains one or more of the bits
defined by the following macros:
<pre>
  REG_DOTALL
</pre>
The PCRE_DOTALL option is set when the regular expression is passed for
compilation to the native function. Note that REG_DOTALL is not part of the
POSIX standard.
<pre>
  REG_ICASE
</pre>
The PCRE_CASELESS option is set when the regular expression is passed for
compilation to the native function.
<pre>
  REG_NEWLINE
</pre>
The PCRE_MULTILINE option is set when the regular expression is passed for
compilation to the native function. Note that this does <i>not</i> mimic the
defined POSIX behaviour for REG_NEWLINE (see the following section).
<pre>
  REG_NOSUB
</pre>
The PCRE_NO_AUTO_CAPTURE option is set when the regular expression is passed
for compilation to the native function. In addition, when a pattern that is
compiled with this flag is passed to <b>regexec()</b> for matching, the
<i>nmatch</i> and <i>pmatch</i> arguments are ignored, and no captured strings
are returned.
<pre>
  REG_UNGREEDY
</pre>
The PCRE_UNGREEDY option is set when the regular expression is passed for
compilation to the native function. Note that REG_UNGREEDY is not part of the
POSIX standard.
<pre>
  REG_UTF8
</pre>
The PCRE_UTF8 option is set when the regular expression is passed for
compilation to the native function. This causes the pattern itself and all data
strings used for matching it to be treated as UTF-8 strings. Note that REG_UTF8
is not part of the POSIX standard.
</P>
<P>
In the absence of these flags, no options are passed to the native function.
This means the the regex is compiled with PCRE default semantics. In
particular, the way it handles newline characters in the subject string is the
Perl way, not the POSIX way. Note that setting PCRE_MULTILINE has only
<i>some</i> of the effects specified for REG_NEWLINE. It does not affect the way
newlines are matched by . (they are not) or by a negative class such as [^a]
(they are).
</P>
<P>
The yield of <b>regcomp()</b> is zero on success, and non-zero otherwise. The
<i>preg</i> structure is filled in on success, and one member of the structure
is public: <i>re_nsub</i> contains the number of capturing subpatterns in
the regular expression. Various error codes are defined in the header file.
</P>
<P>
NOTE: If the yield of <b>regcomp()</b> is non-zero, you must not attempt to
use the contents of the <i>preg</i> structure. If, for example, you pass it to
<b>regexec()</b>, the result is undefined and your program is likely to crash.
</P>
<br><a name="SEC4" href="#TOC1">MATCHING NEWLINE CHARACTERS</a><br>
<P>
This area is not simple, because POSIX and Perl take different views of things.
It is not possible to get PCRE to obey POSIX semantics, but then PCRE was never
intended to be a POSIX engine. The following table lists the different
possibilities for matching newline characters in PCRE:
<pre>
                          Default   Change with

  . matches newline          no     PCRE_DOTALL
  newline matches [^a]       yes    not changeable
  $ matches \n at end        yes    PCRE_DOLLARENDONLY
  $ matches \n in middle     no     PCRE_MULTILINE
  ^ matches \n in middle     no     PCRE_MULTILINE
</pre>
This is the equivalent table for POSIX:
<pre>
                          Default   Change with

  . matches newline          yes    REG_NEWLINE
  newline matches [^a]       yes    REG_NEWLINE
  $ matches \n at end        no     REG_NEWLINE
  $ matches \n in middle     no     REG_NEWLINE
  ^ matches \n in middle     no     REG_NEWLINE
</pre>
PCRE's behaviour is the same as Perl's, except that there is no equivalent for
PCRE_DOLLAR_ENDONLY in Perl. In both PCRE and Perl, there is no way to stop
newline from matching [^a].
</P>
<P>
The default POSIX newline handling can be obtained by setting PCRE_DOTALL and
PCRE_DOLLAR_ENDONLY, but there is no way to make PCRE behave exactly as for the
REG_NEWLINE action.
</P>
<br><a name="SEC5" href="#TOC1">MATCHING A PATTERN</a><br>
<P>
The function <b>regexec()</b> is called to match a compiled pattern <i>preg</i>
against a given <i>string</i>, which is by default terminated by a zero byte
(but see REG_STARTEND below), subject to the options in <i>eflags</i>. These can
be:
<pre>
  REG_NOTBOL
</pre>
The PCRE_NOTBOL option is set when calling the underlying PCRE matching
function.
<pre>
  REG_NOTEMPTY
</pre>
The PCRE_NOTEMPTY option is set when calling the underlying PCRE matching
function. Note that REG_NOTEMPTY is not part of the POSIX standard. However,
setting this option can give more POSIX-like behaviour in some situations.
<pre>
  REG_NOTEOL
</pre>
The PCRE_NOTEOL option is set when calling the underlying PCRE matching
function.
<pre>
  REG_STARTEND
</pre>
The string is considered to start at <i>string</i> + <i>pmatch[0].rm_so</i> and
to have a terminating NUL located at <i>string</i> + <i>pmatch[0].rm_eo</i>
(there need not actually be a NUL at that location), regardless of the value of
<i>nmatch</i>. This is a BSD extension, compatible with but not specified by
IEEE Standard 1003.2 (POSIX.2), and should be used with caution in software
intended to be portable to other systems. Note that a non-zero <i>rm_so</i> does
not imply REG_NOTBOL; REG_STARTEND affects only the location of the string, not
how it is matched.
</P>
<P>
If the pattern was compiled with the REG_NOSUB flag, no data about any matched
strings is returned. The <i>nmatch</i> and <i>pmatch</i> arguments of
<b>regexec()</b> are ignored.
</P>
<P>
If the value of <i>nmatch</i> is zero, or if the value <i>pmatch</i> is NULL,
no data about any matched strings is returned.
</P>
<P>
Otherwise,the portion of the string that was matched, and also any captured
substrings, are returned via the <i>pmatch</i> argument, which points to an
array of <i>nmatch</i> structures of type <i>regmatch_t</i>, containing the
members <i>rm_so</i> and <i>rm_eo</i>. These contain the offset to the first
character of each substring and the offset to the first character after the end
of each substring, respectively. The 0th element of the vector relates to the
entire portion of <i>string</i> that was matched; subsequent elements relate to
the capturing subpatterns of the regular expression. Unused entries in the
array have both structure members set to -1.
</P>
<P>
A successful match yields a zero return; various error codes are defined in the
header file, of which REG_NOMATCH is the "expected" failure code.
</P>
<br><a name="SEC6" href="#TOC1">ERROR MESSAGES</a><br>
<P>
The <b>regerror()</b> function maps a non-zero errorcode from either
<b>regcomp()</b> or <b>regexec()</b> to a printable message. If <i>preg</i> is not
NULL, the error should have arisen from the use of that structure. A message
terminated by a binary zero is placed in <i>errbuf</i>. The length of the
message, including the zero, is limited to <i>errbuf_size</i>. The yield of the
function is the size of buffer needed to hold the whole message.
</P>
<br><a name="SEC7" href="#TOC1">MEMORY USAGE</a><br>
<P>
Compiling a regular expression causes memory to be allocated and associated
with the <i>preg</i> structure. The function <b>regfree()</b> frees all such
memory, after which <i>preg</i> may no longer be used as a compiled expression.
</P>
<br><a name="SEC8" href="#TOC1">AUTHOR</a><br>
<P>
Philip Hazel
<br>
University Computing Service
<br>
Cambridge CB2 3QH, England.
<br>
</P>
<br><a name="SEC9" href="#TOC1">REVISION</a><br>
<P>
Last updated: 02 September 2009
<br>
Copyright &copy; 1997-2009 University of Cambridge.
<br>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/html/pcre_refcount.html000064400000002410150405535550016145 0ustar00<html>
<head>
<title>pcre_refcount specification</title>
</head>
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
<h1>pcre_refcount man page</h1>
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
<br>
<br><b>
SYNOPSIS
</b><br>
<P>
<b>#include &#60;pcre.h&#62;</b>
</P>
<P>
<b>int pcre_refcount(pcre *<i>code</i>, int <i>adjust</i>);</b>
</P>
<br><b>
DESCRIPTION
</b><br>
<P>
This function is used to maintain a reference count inside a data block that
contains a compiled pattern. Its arguments are:
<pre>
  <i>code</i>                      Compiled regular expression
  <i>adjust</i>                    Adjustment to reference value
</pre>
The yield of the function is the adjusted reference value, which is constrained
to lie between 0 and 65535.
</P>
<P>
There is a complete description of the PCRE native API in the
<a href="pcreapi.html"><b>pcreapi</b></a>
page and a description of the POSIX API in the
<a href="pcreposix.html"><b>pcreposix</b></a>
page.
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
share/doc/alt-pcre802-devel/HACKING000064400000043522150405535550012455 0ustar00Technical Notes about PCRE
--------------------------

These are very rough technical notes that record potentially useful information 
about PCRE internals.

Historical note 1
-----------------

Many years ago I implemented some regular expression functions to an algorithm
suggested by Martin Richards. These were not Unix-like in form, and were quite
restricted in what they could do by comparison with Perl. The interesting part
about the algorithm was that the amount of space required to hold the compiled
form of an expression was known in advance. The code to apply an expression did
not operate by backtracking, as the original Henry Spencer code and current
Perl code does, but instead checked all possibilities simultaneously by keeping
a list of current states and checking all of them as it advanced through the
subject string. In the terminology of Jeffrey Friedl's book, it was a "DFA
algorithm", though it was not a traditional Finite State Machine (FSM). When
the pattern was all used up, all remaining states were possible matches, and
the one matching the longest subset of the subject string was chosen. This did
not necessarily maximize the individual wild portions of the pattern, as is
expected in Unix and Perl-style regular expressions.

Historical note 2
-----------------

By contrast, the code originally written by Henry Spencer (which was
subsequently heavily modified for Perl) compiles the expression twice: once in
a dummy mode in order to find out how much store will be needed, and then for
real. (The Perl version probably doesn't do this any more; I'm talking about
the original library.) The execution function operates by backtracking and
maximizing (or, optionally, minimizing in Perl) the amount of the subject that
matches individual wild portions of the pattern. This is an "NFA algorithm" in
Friedl's terminology.

OK, here's the real stuff
-------------------------

For the set of functions that form the "basic" PCRE library (which are
unrelated to those mentioned above), I tried at first to invent an algorithm
that used an amount of store bounded by a multiple of the number of characters
in the pattern, to save on compiling time. However, because of the greater
complexity in Perl regular expressions, I couldn't do this. In any case, a
first pass through the pattern is helpful for other reasons. 

Computing the memory requirement: how it was
--------------------------------------------

Up to and including release 6.7, PCRE worked by running a very degenerate first
pass to calculate a maximum store size, and then a second pass to do the real
compile - which might use a bit less than the predicted amount of memory. The
idea was that this would turn out faster than the Henry Spencer code because
the first pass is degenerate and the second pass can just store stuff straight
into the vector, which it knows is big enough.

Computing the memory requirement: how it is
-------------------------------------------

By the time I was working on a potential 6.8 release, the degenerate first pass
had become very complicated and hard to maintain. Indeed one of the early
things I did for 6.8 was to fix Yet Another Bug in the memory computation. Then
I had a flash of inspiration as to how I could run the real compile function in
a "fake" mode that enables it to compute how much memory it would need, while
actually only ever using a few hundred bytes of working memory, and without too
many tests of the mode that might slow it down. So I re-factored the compiling
functions to work this way. This got rid of about 600 lines of source. It
should make future maintenance and development easier. As this was such a major 
change, I never released 6.8, instead upping the number to 7.0 (other quite 
major changes were also present in the 7.0 release).

A side effect of this work was that the previous limit of 200 on the nesting
depth of parentheses was removed. However, there is a downside: pcre_compile()
runs more slowly than before (30% or more, depending on the pattern) because it
is doing a full analysis of the pattern. My hope was that this would not be a
big issue, and in the event, nobody has commented on it.

Traditional matching function
-----------------------------

The "traditional", and original, matching function is called pcre_exec(), and 
it implements an NFA algorithm, similar to the original Henry Spencer algorithm 
and the way that Perl works. This is not surprising, since it is intended to be
as compatible with Perl as possible. This is the function most users of PCRE
will use most of the time.

Supplementary matching function
-------------------------------

From PCRE 6.0, there is also a supplementary matching function called 
pcre_dfa_exec(). This implements a DFA matching algorithm that searches 
simultaneously for all possible matches that start at one point in the subject 
string. (Going back to my roots: see Historical Note 1 above.) This function 
intreprets the same compiled pattern data as pcre_exec(); however, not all the 
facilities are available, and those that are do not always work in quite the 
same way. See the user documentation for details.

The algorithm that is used for pcre_dfa_exec() is not a traditional FSM, 
because it may have a number of states active at one time. More work would be 
needed at compile time to produce a traditional FSM where only one state is 
ever active at once. I believe some other regex matchers work this way.


Format of compiled patterns
---------------------------

The compiled form of a pattern is a vector of bytes, containing items of
variable length. The first byte in an item is an opcode, and the length of the
item is either implicit in the opcode or contained in the data bytes that
follow it. 

In many cases below LINK_SIZE data values are specified for offsets within the 
compiled pattern. The default value for LINK_SIZE is 2, but PCRE can be
compiled to use 3-byte or 4-byte values for these offsets (impairing the
performance). This is necessary only when patterns whose compiled length is
greater than 64K are going to be processed. In this description, we assume the
"normal" compilation options. Data values that are counts (e.g. for
quantifiers) are always just two bytes long.

A list of the opcodes follows:


Opcodes with no following data
------------------------------

These items are all just one byte long

  OP_END                 end of pattern
  OP_ANY                 match any one character other than newline
  OP_ALLANY              match any one character, including newline
  OP_ANYBYTE             match any single byte, even in UTF-8 mode
  OP_SOD                 match start of data: \A
  OP_SOM,                start of match (subject + offset): \G
  OP_SET_SOM,            set start of match (\K) 
  OP_CIRC                ^ (start of data, or after \n in multiline)
  OP_NOT_WORD_BOUNDARY   \W
  OP_WORD_BOUNDARY       \w
  OP_NOT_DIGIT           \D
  OP_DIGIT               \d
  OP_NOT_HSPACE          \H
  OP_HSPACE              \h  
  OP_NOT_WHITESPACE      \S
  OP_WHITESPACE          \s
  OP_NOT_VSPACE          \V
  OP_VSPACE              \v  
  OP_NOT_WORDCHAR        \W
  OP_WORDCHAR            \w
  OP_EODN                match end of data or \n at end: \Z
  OP_EOD                 match end of data: \z
  OP_DOLL                $ (end of data, or before \n in multiline)
  OP_EXTUNI              match an extended Unicode character 
  OP_ANYNL               match any Unicode newline sequence 
  
  OP_ACCEPT              ) These are Perl 5.10's "backtracking    
  OP_COMMIT              ) control verbs". If OP_ACCEPT is inside
  OP_FAIL                ) capturing parentheses, it may be preceded 
  OP_PRUNE               ) by one or more OP_CLOSE, followed by a 2-byte 
  OP_SKIP                ) number, indicating which parentheses must be
  OP_THEN                ) closed.
  

Repeating single characters
---------------------------

The common repeats (*, +, ?) when applied to a single character use the
following opcodes:

  OP_STAR
  OP_MINSTAR
  OP_POSSTAR 
  OP_PLUS
  OP_MINPLUS
  OP_POSPLUS 
  OP_QUERY
  OP_MINQUERY
  OP_POSQUERY 

In ASCII mode, these are two-byte items; in UTF-8 mode, the length is variable.
Those with "MIN" in their name are the minimizing versions. Those with "POS" in 
their names are possessive versions. Each is followed by the character that is
to be repeated. Other repeats make use of

  OP_UPTO
  OP_MINUPTO
  OP_POSUPTO 
  OP_EXACT

which are followed by a two-byte count (most significant first) and the
repeated character. OP_UPTO matches from 0 to the given number. A repeat with a
non-zero minimum and a fixed maximum is coded as an OP_EXACT followed by an
OP_UPTO (or OP_MINUPTO or OPT_POSUPTO).


Repeating character types
-------------------------

Repeats of things like \d are done exactly as for single characters, except
that instead of a character, the opcode for the type is stored in the data
byte. The opcodes are:

  OP_TYPESTAR
  OP_TYPEMINSTAR
  OP_TYPEPOSSTAR 
  OP_TYPEPLUS
  OP_TYPEMINPLUS
  OP_TYPEPOSPLUS 
  OP_TYPEQUERY
  OP_TYPEMINQUERY
  OP_TYPEPOSQUERY 
  OP_TYPEUPTO
  OP_TYPEMINUPTO
  OP_TYPEPOSUPTO 
  OP_TYPEEXACT


Match by Unicode property
-------------------------

OP_PROP and OP_NOTPROP are used for positive and negative matches of a 
character by testing its Unicode property (the \p and \P escape sequences).
Each is followed by two bytes that encode the desired property as a type and a 
value.

Repeats of these items use the OP_TYPESTAR etc. set of opcodes, followed by 
three bytes: OP_PROP or OP_NOTPROP and then the desired property type and 
value.


Matching literal characters
---------------------------

The OP_CHAR opcode is followed by a single character that is to be matched 
casefully. For caseless matching, OP_CHARNC is used. In UTF-8 mode, the 
character may be more than one byte long. (Earlier versions of PCRE used 
multi-character strings, but this was changed to allow some new features to be 
added.)


Character classes
-----------------

If there is only one character, OP_CHAR or OP_CHARNC is used for a positive
class, and OP_NOT for a negative one (that is, for something like [^a]).
However, in UTF-8 mode, the use of OP_NOT applies only to characters with
values < 128, because OP_NOT is confined to single bytes.

Another set of repeating opcodes (OP_NOTSTAR etc.) are used for a repeated,
negated, single-character class. The normal ones (OP_STAR etc.) are used for a
repeated positive single-character class.

When there's more than one character in a class and all the characters are less
than 256, OP_CLASS is used for a positive class, and OP_NCLASS for a negative
one. In either case, the opcode is followed by a 32-byte bit map containing a 1
bit for every character that is acceptable. The bits are counted from the least
significant end of each byte.

The reason for having both OP_CLASS and OP_NCLASS is so that, in UTF-8 mode,
subject characters with values greater than 256 can be handled correctly. For
OP_CLASS they don't match, whereas for OP_NCLASS they do.

For classes containing characters with values > 255, OP_XCLASS is used. It
optionally uses a bit map (if any characters lie within it), followed by a list
of pairs and single characters. There is a flag character than indicates
whether it's a positive or a negative class.


Back references
---------------

OP_REF is followed by two bytes containing the reference number.


Repeating character classes and back references
-----------------------------------------------

Single-character classes are handled specially (see above). This section
applies to OP_CLASS and OP_REF. In both cases, the repeat information follows
the base item. The matching code looks at the following opcode to see if it is
one of

  OP_CRSTAR
  OP_CRMINSTAR
  OP_CRPLUS
  OP_CRMINPLUS
  OP_CRQUERY
  OP_CRMINQUERY
  OP_CRRANGE
  OP_CRMINRANGE

All but the last two are just single-byte items. The others are followed by
four bytes of data, comprising the minimum and maximum repeat counts. There are 
no special possessive opcodes for these repeats; a possessive repeat is 
compiled into an atomic group.


Brackets and alternation
------------------------

A pair of non-capturing (round) brackets is wrapped round each expression at
compile time, so alternation always happens in the context of brackets.

[Note for North Americans: "bracket" to some English speakers, including
myself, can be round, square, curly, or pointy. Hence this usage.]

Non-capturing brackets use the opcode OP_BRA. Originally PCRE was limited to 99
capturing brackets and it used a different opcode for each one. From release
3.5, the limit was removed by putting the bracket number into the data for
higher-numbered brackets. From release 7.0 all capturing brackets are handled
this way, using the single opcode OP_CBRA.

A bracket opcode is followed by LINK_SIZE bytes which give the offset to the
next alternative OP_ALT or, if there aren't any branches, to the matching
OP_KET opcode. Each OP_ALT is followed by LINK_SIZE bytes giving the offset to
the next one, or to the OP_KET opcode. For capturing brackets, the bracket 
number immediately follows the offset, always as a 2-byte item.

OP_KET is used for subpatterns that do not repeat indefinitely, while
OP_KETRMIN and OP_KETRMAX are used for indefinite repetitions, minimally or
maximally respectively. All three are followed by LINK_SIZE bytes giving (as a
positive number) the offset back to the matching bracket opcode.

If a subpattern is quantified such that it is permitted to match zero times, it
is preceded by one of OP_BRAZERO, OP_BRAMINZERO, or OP_SKIPZERO. These are
single-byte opcodes that tell the matcher that skipping the following
subpattern entirely is a valid branch. In the case of the first two, not 
skipping the pattern is also valid (greedy and non-greedy). The third is used 
when a pattern has the quantifier {0,0}. It cannot be entirely discarded, 
because it may be called as a subroutine from elsewhere in the regex.

A subpattern with an indefinite maximum repetition is replicated in the
compiled data its minimum number of times (or once with OP_BRAZERO if the
minimum is zero), with the final copy terminating with OP_KETRMIN or OP_KETRMAX
as appropriate.

A subpattern with a bounded maximum repetition is replicated in a nested
fashion up to the maximum number of times, with OP_BRAZERO or OP_BRAMINZERO
before each replication after the minimum, so that, for example, (abc){2,5} is
compiled as (abc)(abc)((abc)((abc)(abc)?)?)?, except that each bracketed group 
has the same number.

When a repeated subpattern has an unbounded upper limit, it is checked to see 
whether it could match an empty string. If this is the case, the opcode in the 
final replication is changed to OP_SBRA or OP_SCBRA. This tells the matcher
that it needs to check for matching an empty string when it hits OP_KETRMIN or
OP_KETRMAX, and if so, to break the loop.


Assertions
----------

Forward assertions are just like other subpatterns, but starting with one of
the opcodes OP_ASSERT or OP_ASSERT_NOT. Backward assertions use the opcodes
OP_ASSERTBACK and OP_ASSERTBACK_NOT, and the first opcode inside the assertion
is OP_REVERSE, followed by a two byte count of the number of characters to move
back the pointer in the subject string. When operating in UTF-8 mode, the count
is a character count rather than a byte count. A separate count is present in
each alternative of a lookbehind assertion, allowing them to have different
fixed lengths.


Once-only (atomic) subpatterns
------------------------------

These are also just like other subpatterns, but they start with the opcode
OP_ONCE. The check for matching an empty string in an unbounded repeat is 
handled entirely at runtime, so there is just this one opcode.


Conditional subpatterns
-----------------------

These are like other subpatterns, but they start with the opcode OP_COND, or
OP_SCOND for one that might match an empty string in an unbounded repeat. If
the condition is a back reference, this is stored at the start of the
subpattern using the opcode OP_CREF followed by two bytes containing the
reference number. OP_NCREF is used instead if the reference was generated by 
name (so that the runtime code knows to check for duplicate names).

If the condition is "in recursion" (coded as "(?(R)"), or "in recursion of
group x" (coded as "(?(Rx)"), the group number is stored at the start of the
subpattern using the opcode OP_RREF or OP_NRREF (cf OP_NCREF), and a value of
zero for "the whole pattern". For a DEFINE condition, just the single byte
OP_DEF is used (it has no associated data). Otherwise, a conditional subpattern
always starts with one of the assertions.


Recursion
---------

Recursion either matches the current regex, or some subexpression. The opcode
OP_RECURSE is followed by an value which is the offset to the starting bracket
from the start of the whole pattern. From release 6.5, OP_RECURSE is 
automatically wrapped inside OP_ONCE brackets (because otherwise some patterns 
broke it). OP_RECURSE is also used for "subroutine" calls, even though they 
are not strictly a recursion.


Callout
-------

OP_CALLOUT is followed by one byte of data that holds a callout number in the
range 0 to 254 for manual callouts, or 255 for an automatic callout. In both 
cases there follows a two-byte value giving the offset in the pattern to the
start of the following item, and another two-byte item giving the length of the
next item.


Changing options
----------------

If any of the /i, /m, or /s options are changed within a pattern, an OP_OPT
opcode is compiled, followed by one byte containing the new settings of these
flags. If there are several alternatives, there is an occurrence of OP_OPT at
the start of all those following the first options change, to set appropriate
options for the start of the alternative. Immediately after the end of the
group there is another such item to reset the flags to their previous values. A
change of flag right at the very start of the pattern can be handled entirely
at compile time, and so does not cause anything to be put into the compiled
data.

Philip Hazel
October 2009
share/doc/alt-pcre802-devel/pcre.txt000064400001225521150405535550013162 0ustar00-----------------------------------------------------------------------------
This file contains a concatenation of the PCRE man pages, converted to plain
text format for ease of searching with a text editor, or for use on systems
that do not have a man page processor. The small individual files that give
synopses of each function in the library have not been included. Neither has
the pcredemo program. There are separate text files for the pcregrep and
pcretest commands.
-----------------------------------------------------------------------------


PCRE(3)                                                                PCRE(3)


NAME
       PCRE - Perl-compatible regular expressions


INTRODUCTION

       The  PCRE  library is a set of functions that implement regular expres-
       sion pattern matching using the same syntax and semantics as Perl, with
       just  a few differences. Some features that appeared in Python and PCRE
       before they appeared in Perl are also available using the  Python  syn-
       tax,  there  is  some  support for one or two .NET and Oniguruma syntax
       items, and there is an option for requesting some  minor  changes  that
       give better JavaScript compatibility.

       The  current implementation of PCRE corresponds approximately with Perl
       5.10, including support for UTF-8 encoded strings and  Unicode  general
       category  properties.  However,  UTF-8  and  Unicode  support has to be
       explicitly enabled; it is not the default. The  Unicode  tables  corre-
       spond to Unicode release 5.2.0.

       In  addition to the Perl-compatible matching function, PCRE contains an
       alternative function that matches the same compiled patterns in a  dif-
       ferent way. In certain circumstances, the alternative function has some
       advantages.  For a discussion of the two matching algorithms,  see  the
       pcrematching page.

       PCRE  is  written  in C and released as a C library. A number of people
       have written wrappers and interfaces of various kinds.  In  particular,
       Google  Inc.   have  provided  a comprehensive C++ wrapper. This is now
       included as part of the PCRE distribution. The pcrecpp page has details
       of  this  interface.  Other  people's contributions can be found in the
       Contrib directory at the primary FTP site, which is:

       ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre

       Details of exactly which Perl regular expression features are  and  are
       not supported by PCRE are given in separate documents. See the pcrepat-
       tern and pcrecompat pages. There is a syntax summary in the  pcresyntax
       page.

       Some  features  of  PCRE can be included, excluded, or changed when the
       library is built. The pcre_config() function makes it  possible  for  a
       client  to  discover  which  features are available. The features them-
       selves are described in the pcrebuild page. Documentation about  build-
       ing  PCRE  for various operating systems can be found in the README and
       NON-UNIX-USE files in the source distribution.

       The library contains a number of undocumented  internal  functions  and
       data  tables  that  are  used by more than one of the exported external
       functions, but which are not intended  for  use  by  external  callers.
       Their  names  all begin with "_pcre_", which hopefully will not provoke
       any name clashes. In some environments, it is possible to control which
       external  symbols  are  exported when a shared library is built, and in
       these cases the undocumented symbols are not exported.


USER DOCUMENTATION

       The user documentation for PCRE comprises a number  of  different  sec-
       tions.  In the "man" format, each of these is a separate "man page". In
       the HTML format, each is a separate page, linked from the  index  page.
       In  the  plain  text format, all the sections, except the pcredemo sec-
       tion, are concatenated, for ease of searching. The sections are as fol-
       lows:

         pcre              this document
         pcre-config       show PCRE installation configuration information
         pcreapi           details of PCRE's native C API
         pcrebuild         options for building PCRE
         pcrecallout       details of the callout feature
         pcrecompat        discussion of Perl compatibility
         pcrecpp           details of the C++ wrapper
         pcredemo          a demonstration C program that uses PCRE
         pcregrep          description of the pcregrep command
         pcrematching      discussion of the two matching algorithms
         pcrepartial       details of the partial matching facility
         pcrepattern       syntax and semantics of supported
                             regular expressions
         pcreperform       discussion of performance issues
         pcreposix         the POSIX-compatible C API
         pcreprecompile    details of saving and re-using precompiled patterns
         pcresample        discussion of the pcredemo program
         pcrestack         discussion of stack usage
         pcresyntax        quick syntax reference
         pcretest          description of the pcretest testing command

       In  addition,  in the "man" and HTML formats, there is a short page for
       each C library function, listing its arguments and results.


LIMITATIONS

       There are some size limitations in PCRE but it is hoped that they  will
       never in practice be relevant.

       The  maximum  length of a compiled pattern is 65539 (sic) bytes if PCRE
       is compiled with the default internal linkage size of 2. If you want to
       process  regular  expressions  that are truly enormous, you can compile
       PCRE with an internal linkage size of 3 or 4 (see the  README  file  in
       the  source  distribution and the pcrebuild documentation for details).
       In these cases the limit is substantially larger.  However,  the  speed
       of execution is slower.

       All values in repeating quantifiers must be less than 65536.

       There is no limit to the number of parenthesized subpatterns, but there
       can be no more than 65535 capturing subpatterns.

       The maximum length of name for a named subpattern is 32 characters, and
       the maximum number of named subpatterns is 10000.

       The  maximum  length of a subject string is the largest positive number
       that an integer variable can hold. However, when using the  traditional
       matching function, PCRE uses recursion to handle subpatterns and indef-
       inite repetition.  This means that the available stack space may  limit
       the size of a subject string that can be processed by certain patterns.
       For a discussion of stack issues, see the pcrestack documentation.


UTF-8 AND UNICODE PROPERTY SUPPORT

       From release 3.3, PCRE has  had  some  support  for  character  strings
       encoded  in the UTF-8 format. For release 4.0 this was greatly extended
       to cover most common requirements, and in release 5.0  additional  sup-
       port for Unicode general category properties was added.

       In  order  process  UTF-8 strings, you must build PCRE to include UTF-8
       support in the code, and, in addition,  you  must  call  pcre_compile()
       with  the  PCRE_UTF8  option  flag,  or the pattern must start with the
       sequence (*UTF8). When either of these is the case,  both  the  pattern
       and  any  subject  strings  that  are matched against it are treated as
       UTF-8 strings instead of strings of 1-byte characters.

       If you compile PCRE with UTF-8 support, but do not use it at run  time,
       the  library will be a bit bigger, but the additional run time overhead
       is limited to testing the PCRE_UTF8 flag occasionally, so should not be
       very big.

       If PCRE is built with Unicode character property support (which implies
       UTF-8 support), the escape sequences \p{..}, \P{..}, and  \X  are  sup-
       ported.  The available properties that can be tested are limited to the
       general category properties such as Lu for an upper case letter  or  Nd
       for  a  decimal number, the Unicode script names such as Arabic or Han,
       and the derived properties Any and L&. A full  list  is  given  in  the
       pcrepattern documentation. Only the short names for properties are sup-
       ported. For example, \p{L} matches a letter. Its Perl synonym,  \p{Let-
       ter},  is  not  supported.   Furthermore,  in Perl, many properties may
       optionally be prefixed by "Is", for compatibility with Perl  5.6.  PCRE
       does not support this.

   Validity of UTF-8 strings

       When  you  set  the  PCRE_UTF8 flag, the strings passed as patterns and
       subjects are (by default) checked for validity on entry to the relevant
       functions.  From  release 7.3 of PCRE, the check is according the rules
       of RFC 3629, which are themselves derived from the  Unicode  specifica-
       tion.  Earlier  releases  of PCRE followed the rules of RFC 2279, which
       allows the full range of 31-bit values (0 to 0x7FFFFFFF).  The  current
       check allows only values in the range U+0 to U+10FFFF, excluding U+D800
       to U+DFFF.

       The excluded code points are the "Low Surrogate Area"  of  Unicode,  of
       which  the Unicode Standard says this: "The Low Surrogate Area does not
       contain any  character  assignments,  consequently  no  character  code
       charts or namelists are provided for this area. Surrogates are reserved
       for use with UTF-16 and then must be used in pairs."  The  code  points
       that  are  encoded  by  UTF-16  pairs are available as independent code
       points in the UTF-8 encoding. (In  other  words,  the  whole  surrogate
       thing is a fudge for UTF-16 which unfortunately messes up UTF-8.)

       If  an  invalid  UTF-8  string  is  passed  to  PCRE,  an  error return
       (PCRE_ERROR_BADUTF8) is given. In some situations, you may already know
       that your strings are valid, and therefore want to skip these checks in
       order to improve performance. If you set the PCRE_NO_UTF8_CHECK flag at
       compile  time  or at run time, PCRE assumes that the pattern or subject
       it is given (respectively) contains only valid  UTF-8  codes.  In  this
       case, it does not diagnose an invalid UTF-8 string.

       If  you  pass  an  invalid UTF-8 string when PCRE_NO_UTF8_CHECK is set,
       what happens depends on why the string is invalid. If the  string  con-
       forms to the "old" definition of UTF-8 (RFC 2279), it is processed as a
       string of characters in the range 0  to  0x7FFFFFFF.  In  other  words,
       apart from the initial validity test, PCRE (when in UTF-8 mode) handles
       strings according to the more liberal rules of RFC  2279.  However,  if
       the  string does not even conform to RFC 2279, the result is undefined.
       Your program may crash.

       If you want to process strings  of  values  in  the  full  range  0  to
       0x7FFFFFFF,  encoded in a UTF-8-like manner as per the old RFC, you can
       set PCRE_NO_UTF8_CHECK to bypass the more restrictive test. However, in
       this situation, you will have to apply your own validity check.

   General comments about UTF-8 mode

       1.  An  unbraced  hexadecimal  escape sequence (such as \xb3) matches a
       two-byte UTF-8 character if the value is greater than 127.

       2. Octal numbers up to \777 are recognized, and  match  two-byte  UTF-8
       characters for values greater than \177.

       3.  Repeat quantifiers apply to complete UTF-8 characters, not to indi-
       vidual bytes, for example: \x{100}{3}.

       4. The dot metacharacter matches one UTF-8 character instead of a  sin-
       gle byte.

       5.  The  escape sequence \C can be used to match a single byte in UTF-8
       mode, but its use can lead to some strange effects.  This  facility  is
       not available in the alternative matching function, pcre_dfa_exec().

       6.  The  character escapes \b, \B, \d, \D, \s, \S, \w, and \W correctly
       test characters of any code value, but the characters that PCRE  recog-
       nizes  as  digits,  spaces,  or  word characters remain the same set as
       before, all with values less than 256. This remains true even when PCRE
       includes  Unicode  property support, because to do otherwise would slow
       down PCRE in many common cases. If you really want to test for a  wider
       sense  of,  say,  "digit",  you must use Unicode property tests such as
       \p{Nd}. Note that this also applies to \b, because  it  is  defined  in
       terms of \w and \W.

       7.  Similarly,  characters that match the POSIX named character classes
       are all low-valued characters.

       8. However, the Perl 5.10 horizontal and vertical  whitespace  matching
       escapes (\h, \H, \v, and \V) do match all the appropriate Unicode char-
       acters.

       9. Case-insensitive matching applies only to  characters  whose  values
       are  less than 128, unless PCRE is built with Unicode property support.
       Even when Unicode property support is available, PCRE  still  uses  its
       own  character  tables when checking the case of low-valued characters,
       so as not to degrade performance.  The Unicode property information  is
       used only for characters with higher values. Even when Unicode property
       support is available, PCRE supports case-insensitive matching only when
       there  is  a  one-to-one  mapping between a letter's cases. There are a
       small number of many-to-one mappings in Unicode;  these  are  not  sup-
       ported by PCRE.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.

       Putting  an actual email address here seems to have been a spam magnet,
       so I've taken it away. If you want to email me, use  my  two  initials,
       followed by the two digits 10, at the domain cam.ac.uk.


REVISION

       Last updated: 01 March 2010
       Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------


PCREBUILD(3)                                                      PCREBUILD(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE BUILD-TIME OPTIONS

       This  document  describes  the  optional  features  of PCRE that can be
       selected when the library is compiled. It assumes use of the  configure
       script,  where the optional features are selected or deselected by pro-
       viding options to configure before running the make  command.  However,
       the  same  options  can be selected in both Unix-like and non-Unix-like
       environments using the GUI facility of cmake-gui if you are using CMake
       instead of configure to build PCRE.

       There  is  a  lot more information about building PCRE in non-Unix-like
       environments in the file called NON_UNIX_USE, which is part of the PCRE
       distribution.  You  should consult this file as well as the README file
       if you are building in a non-Unix-like environment.

       The complete list of options for configure (which includes the standard
       ones  such  as  the  selection  of  the  installation directory) can be
       obtained by running

         ./configure --help

       The following sections include  descriptions  of  options  whose  names
       begin with --enable or --disable. These settings specify changes to the
       defaults for the configure command. Because of the way  that  configure
       works,  --enable  and --disable always come in pairs, so the complemen-
       tary option always exists as well, but as it specifies the default,  it
       is not described.


C++ SUPPORT

       By default, the configure script will search for a C++ compiler and C++
       header files. If it finds them, it automatically builds the C++ wrapper
       library for PCRE. You can disable this by adding

         --disable-cpp

       to the configure command.


UTF-8 SUPPORT

       To build PCRE with support for UTF-8 Unicode character strings, add

         --enable-utf8

       to  the  configure  command.  Of  itself, this does not make PCRE treat
       strings as UTF-8. As well as compiling PCRE with this option, you  also
       have  have to set the PCRE_UTF8 option when you call the pcre_compile()
       or pcre_compile2() functions.

       If you set --enable-utf8 when compiling in an EBCDIC environment,  PCRE
       expects its input to be either ASCII or UTF-8 (depending on the runtime
       option). It is not possible to support both EBCDIC and UTF-8  codes  in
       the  same  version  of  the  library.  Consequently,  --enable-utf8 and
       --enable-ebcdic are mutually exclusive.


UNICODE CHARACTER PROPERTY SUPPORT

       UTF-8 support allows PCRE to process character values greater than  255
       in  the  strings that it handles. On its own, however, it does not pro-
       vide any facilities for accessing the properties of such characters. If
       you  want  to  be able to use the pattern escapes \P, \p, and \X, which
       refer to Unicode character properties, you must add

         --enable-unicode-properties

       to the configure command. This implies UTF-8 support, even if you  have
       not explicitly requested it.

       Including  Unicode  property  support  adds around 30K of tables to the
       PCRE library. Only the general category properties such as  Lu  and  Nd
       are supported. Details are given in the pcrepattern documentation.


CODE VALUE OF NEWLINE

       By  default,  PCRE interprets the linefeed (LF) character as indicating
       the end of a line. This is the normal newline  character  on  Unix-like
       systems.  You  can compile PCRE to use carriage return (CR) instead, by
       adding

         --enable-newline-is-cr

       to the  configure  command.  There  is  also  a  --enable-newline-is-lf
       option, which explicitly specifies linefeed as the newline character.

       Alternatively, you can specify that line endings are to be indicated by
       the two character sequence CRLF. If you want this, add

         --enable-newline-is-crlf

       to the configure command. There is a fourth option, specified by

         --enable-newline-is-anycrlf

       which causes PCRE to recognize any of the three sequences  CR,  LF,  or
       CRLF as indicating a line ending. Finally, a fifth option, specified by

         --enable-newline-is-any

       causes PCRE to recognize any Unicode newline sequence.

       Whatever  line  ending convention is selected when PCRE is built can be
       overridden when the library functions are called. At build time  it  is
       conventional to use the standard for your operating system.


WHAT \R MATCHES

       By  default,  the  sequence \R in a pattern matches any Unicode newline
       sequence, whatever has been selected as the line  ending  sequence.  If
       you specify

         --enable-bsr-anycrlf

       the  default  is changed so that \R matches only CR, LF, or CRLF. What-
       ever is selected when PCRE is built can be overridden when the  library
       functions are called.


BUILDING SHARED AND STATIC LIBRARIES

       The  PCRE building process uses libtool to build both shared and static
       Unix libraries by default. You can suppress one of these by adding  one
       of

         --disable-shared
         --disable-static

       to the configure command, as required.


POSIX MALLOC USAGE

       When PCRE is called through the POSIX interface (see the pcreposix doc-
       umentation), additional working storage is  required  for  holding  the
       pointers  to capturing substrings, because PCRE requires three integers
       per substring, whereas the POSIX interface provides only  two.  If  the
       number of expected substrings is small, the wrapper function uses space
       on the stack, because this is faster than using malloc() for each call.
       The default threshold above which the stack is no longer used is 10; it
       can be changed by adding a setting such as

         --with-posix-malloc-threshold=20

       to the configure command.


HANDLING VERY LARGE PATTERNS

       Within a compiled pattern, offset values are used  to  point  from  one
       part  to another (for example, from an opening parenthesis to an alter-
       nation metacharacter). By default, two-byte values are used  for  these
       offsets,  leading  to  a  maximum size for a compiled pattern of around
       64K. This is sufficient to handle all but the most  gigantic  patterns.
       Nevertheless,  some  people do want to process truyl enormous patterns,
       so it is possible to compile PCRE to use three-byte or  four-byte  off-
       sets by adding a setting such as

         --with-link-size=3

       to  the  configure  command.  The value given must be 2, 3, or 4. Using
       longer offsets slows down the operation of PCRE because it has to  load
       additional bytes when handling them.


AVOIDING EXCESSIVE STACK USAGE

       When matching with the pcre_exec() function, PCRE implements backtrack-
       ing by making recursive calls to an internal function  called  match().
       In  environments  where  the size of the stack is limited, this can se-
       verely limit PCRE's operation. (The Unix environment does  not  usually
       suffer from this problem, but it may sometimes be necessary to increase
       the maximum stack size.  There is a discussion in the  pcrestack  docu-
       mentation.)  An alternative approach to recursion that uses memory from
       the heap to remember data, instead of using recursive  function  calls,
       has  been  implemented to work round the problem of limited stack size.
       If you want to build a version of PCRE that works this way, add

         --disable-stack-for-recursion

       to the configure command. With this configuration, PCRE  will  use  the
       pcre_stack_malloc  and pcre_stack_free variables to call memory manage-
       ment functions. By default these point to malloc() and free(), but  you
       can replace the pointers so that your own functions are used instead.

       Separate  functions  are  provided  rather  than  using pcre_malloc and
       pcre_free because the  usage  is  very  predictable:  the  block  sizes
       requested  are  always  the  same,  and  the blocks are always freed in
       reverse order. A calling program might be able to  implement  optimized
       functions  that  perform  better  than  malloc()  and free(). PCRE runs
       noticeably more slowly when built in this way. This option affects only
       the pcre_exec() function; it is not relevant for pcre_dfa_exec().


LIMITING PCRE RESOURCE USAGE

       Internally,  PCRE has a function called match(), which it calls repeat-
       edly  (sometimes  recursively)  when  matching  a  pattern   with   the
       pcre_exec()  function.  By controlling the maximum number of times this
       function may be called during a single matching operation, a limit  can
       be  placed  on  the resources used by a single call to pcre_exec(). The
       limit can be changed at run time, as described in the pcreapi  documen-
       tation.  The default is 10 million, but this can be changed by adding a
       setting such as

         --with-match-limit=500000

       to  the  configure  command.  This  setting  has  no  effect   on   the
       pcre_dfa_exec() matching function.

       In  some  environments  it is desirable to limit the depth of recursive
       calls of match() more strictly than the total number of calls, in order
       to  restrict  the maximum amount of stack (or heap, if --disable-stack-
       for-recursion is specified) that is used. A second limit controls this;
       it  defaults  to  the  value  that is set for --with-match-limit, which
       imposes no additional constraints. However, you can set a  lower  limit
       by adding, for example,

         --with-match-limit-recursion=10000

       to  the  configure  command.  This  value can also be overridden at run
       time.


CREATING CHARACTER TABLES AT BUILD TIME

       PCRE uses fixed tables for processing characters whose code values  are
       less  than 256. By default, PCRE is built with a set of tables that are
       distributed in the file pcre_chartables.c.dist. These  tables  are  for
       ASCII codes only. If you add

         --enable-rebuild-chartables

       to  the  configure  command, the distributed tables are no longer used.
       Instead, a program called dftables is compiled and  run.  This  outputs
       the source for new set of tables, created in the default locale of your
       C runtime system. (This method of replacing the tables does not work if
       you  are cross compiling, because dftables is run on the local host. If
       you need to create alternative tables when cross  compiling,  you  will
       have to do so "by hand".)


USING EBCDIC CODE

       PCRE  assumes  by  default that it will run in an environment where the
       character code is ASCII (or Unicode, which is  a  superset  of  ASCII).
       This  is  the  case for most computer operating systems. PCRE can, how-
       ever, be compiled to run in an EBCDIC environment by adding

         --enable-ebcdic

       to the configure command. This setting implies --enable-rebuild-charta-
       bles.  You  should  only  use  it if you know that you are in an EBCDIC
       environment (for example,  an  IBM  mainframe  operating  system).  The
       --enable-ebcdic option is incompatible with --enable-utf8.


PCREGREP OPTIONS FOR COMPRESSED FILE SUPPORT

       By default, pcregrep reads all files as plain text. You can build it so
       that it recognizes files whose names end in .gz or .bz2, and reads them
       with libz or libbz2, respectively, by adding one or both of

         --enable-pcregrep-libz
         --enable-pcregrep-libbz2

       to the configure command. These options naturally require that the rel-
       evant libraries are installed on your system. Configuration  will  fail
       if they are not.


PCRETEST OPTION FOR LIBREADLINE SUPPORT

       If you add

         --enable-pcretest-libreadline

       to  the  configure  command,  pcretest  is  linked with the libreadline
       library, and when its input is from a terminal, it reads it  using  the
       readline() function. This provides line-editing and history facilities.
       Note that libreadline is GPL-licensed, so if you distribute a binary of
       pcretest linked in this way, there may be licensing issues.

       Setting  this  option  causes  the -lreadline option to be added to the
       pcretest build. In many operating environments with  a  sytem-installed
       libreadline this is sufficient. However, in some environments (e.g.  if
       an unmodified distribution version of readline is in use),  some  extra
       configuration  may  be necessary. The INSTALL file for libreadline says
       this:

         "Readline uses the termcap functions, but does not link with the
         termcap or curses library itself, allowing applications which link
         with readline the to choose an appropriate library."

       If your environment has not been set up so that an appropriate  library
       is automatically included, you may need to add something like

         LIBS="-ncurses"

       immediately before the configure command.


SEE ALSO

       pcreapi(3), pcre_config(3).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 29 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCREMATCHING(3)                                                PCREMATCHING(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE MATCHING ALGORITHMS

       This document describes the two different algorithms that are available
       in PCRE for matching a compiled regular expression against a given sub-
       ject  string.  The  "standard"  algorithm  is  the  one provided by the
       pcre_exec() function.  This works in the same was  as  Perl's  matching
       function, and provides a Perl-compatible matching operation.

       An  alternative  algorithm is provided by the pcre_dfa_exec() function;
       this operates in a different way, and is not  Perl-compatible.  It  has
       advantages  and disadvantages compared with the standard algorithm, and
       these are described below.

       When there is only one possible way in which a given subject string can
       match  a pattern, the two algorithms give the same answer. A difference
       arises, however, when there are multiple possibilities. For example, if
       the pattern

         ^<.*>

       is matched against the string

         <something> <something else> <something further>

       there are three possible answers. The standard algorithm finds only one
       of them, whereas the alternative algorithm finds all three.


REGULAR EXPRESSIONS AS TREES

       The set of strings that are matched by a regular expression can be rep-
       resented  as  a  tree structure. An unlimited repetition in the pattern
       makes the tree of infinite size, but it is still a tree.  Matching  the
       pattern  to a given subject string (from a given starting point) can be
       thought of as a search of the tree.  There are two  ways  to  search  a
       tree:  depth-first  and  breadth-first, and these correspond to the two
       matching algorithms provided by PCRE.


THE STANDARD MATCHING ALGORITHM

       In the terminology of Jeffrey Friedl's book "Mastering Regular  Expres-
       sions",  the  standard  algorithm  is an "NFA algorithm". It conducts a
       depth-first search of the pattern tree. That is, it  proceeds  along  a
       single path through the tree, checking that the subject matches what is
       required. When there is a mismatch, the algorithm  tries  any  alterna-
       tives  at  the  current point, and if they all fail, it backs up to the
       previous branch point in the  tree,  and  tries  the  next  alternative
       branch  at  that  level.  This often involves backing up (moving to the
       left) in the subject string as well.  The  order  in  which  repetition
       branches  are  tried  is controlled by the greedy or ungreedy nature of
       the quantifier.

       If a leaf node is reached, a matching string has  been  found,  and  at
       that  point the algorithm stops. Thus, if there is more than one possi-
       ble match, this algorithm returns the first one that it finds.  Whether
       this  is the shortest, the longest, or some intermediate length depends
       on the way the greedy and ungreedy repetition quantifiers are specified
       in the pattern.

       Because  it  ends  up  with a single path through the tree, it is rela-
       tively straightforward for this algorithm to keep  track  of  the  sub-
       strings  that  are  matched  by portions of the pattern in parentheses.
       This provides support for capturing parentheses and back references.


THE ALTERNATIVE MATCHING ALGORITHM

       This algorithm conducts a breadth-first search of  the  tree.  Starting
       from  the  first  matching  point  in the subject, it scans the subject
       string from left to right, once, character by character, and as it does
       this,  it remembers all the paths through the tree that represent valid
       matches. In Friedl's terminology, this is a kind  of  "DFA  algorithm",
       though  it is not implemented as a traditional finite state machine (it
       keeps multiple states active simultaneously).

       Although the general principle of this matching algorithm  is  that  it
       scans  the subject string only once, without backtracking, there is one
       exception: when a lookaround assertion is encountered,  the  characters
       following  or  preceding  the  current  point  have to be independently
       inspected.

       The scan continues until either the end of the subject is  reached,  or
       there  are  no more unterminated paths. At this point, terminated paths
       represent the different matching possibilities (if there are none,  the
       match  has  failed).   Thus,  if there is more than one possible match,
       this algorithm finds all of them, and in particular, it finds the long-
       est.  There  is  an  option to stop the algorithm after the first match
       (which is necessarily the shortest) is found.

       Note that all the matches that are found start at the same point in the
       subject. If the pattern

         cat(er(pillar)?)

       is  matched  against the string "the caterpillar catchment", the result
       will be the three strings "cat", "cater", and "caterpillar" that  start
       at the fourth character of the subject. The algorithm does not automat-
       ically move on to find matches that start at later positions.

       There are a number of features of PCRE regular expressions that are not
       supported by the alternative matching algorithm. They are as follows:

       1.  Because  the  algorithm  finds  all possible matches, the greedy or
       ungreedy nature of repetition quantifiers is not relevant.  Greedy  and
       ungreedy quantifiers are treated in exactly the same way. However, pos-
       sessive quantifiers can make a difference when what follows could  also
       match what is quantified, for example in a pattern like this:

         ^a++\w!

       This  pattern matches "aaab!" but not "aaa!", which would be matched by
       a non-possessive quantifier. Similarly, if an atomic group is  present,
       it  is matched as if it were a standalone pattern at the current point,
       and the longest match is then "locked in" for the rest of  the  overall
       pattern.

       2. When dealing with multiple paths through the tree simultaneously, it
       is not straightforward to keep track of  captured  substrings  for  the
       different  matching  possibilities,  and  PCRE's implementation of this
       algorithm does not attempt to do this. This means that no captured sub-
       strings are available.

       3.  Because no substrings are captured, back references within the pat-
       tern are not supported, and cause errors if encountered.

       4. For the same reason, conditional expressions that use  a  backrefer-
       ence  as  the  condition or test for a specific group recursion are not
       supported.

       5. Because many paths through the tree may be  active,  the  \K  escape
       sequence, which resets the start of the match when encountered (but may
       be on some paths and not on others), is not  supported.  It  causes  an
       error if encountered.

       6.  Callouts  are  supported, but the value of the capture_top field is
       always 1, and the value of the capture_last field is always -1.

       7. The \C escape sequence, which (in the standard algorithm) matches  a
       single  byte, even in UTF-8 mode, is not supported because the alterna-
       tive algorithm moves through the subject  string  one  character  at  a
       time, for all active paths through the tree.

       8.  Except for (*FAIL), the backtracking control verbs such as (*PRUNE)
       are not supported. (*FAIL) is supported, and  behaves  like  a  failing
       negative assertion.


ADVANTAGES OF THE ALTERNATIVE ALGORITHM

       Using  the alternative matching algorithm provides the following advan-
       tages:

       1. All possible matches (at a single point in the subject) are automat-
       ically  found,  and  in particular, the longest match is found. To find
       more than one match using the standard algorithm, you have to do kludgy
       things with callouts.

       2.  Because  the  alternative  algorithm  scans the subject string just
       once, and never needs to backtrack, it is possible to  pass  very  long
       subject  strings  to  the matching function in several pieces, checking
       for partial matching each time.  The  pcrepartial  documentation  gives
       details of partial matching.


DISADVANTAGES OF THE ALTERNATIVE ALGORITHM

       The alternative algorithm suffers from a number of disadvantages:

       1.  It  is  substantially  slower  than the standard algorithm. This is
       partly because it has to search for all possible matches, but  is  also
       because it is less susceptible to optimization.

       2. Capturing parentheses and back references are not supported.

       3. Although atomic groups are supported, their use does not provide the
       performance advantage that it does for the standard algorithm.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 29 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCREAPI(3)                                                          PCREAPI(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE NATIVE API

       #include <pcre.h>

       pcre *pcre_compile(const char *pattern, int options,
            const char **errptr, int *erroffset,
            const unsigned char *tableptr);

       pcre *pcre_compile2(const char *pattern, int options,
            int *errorcodeptr,
            const char **errptr, int *erroffset,
            const unsigned char *tableptr);

       pcre_extra *pcre_study(const pcre *code, int options,
            const char **errptr);

       int pcre_exec(const pcre *code, const pcre_extra *extra,
            const char *subject, int length, int startoffset,
            int options, int *ovector, int ovecsize);

       int pcre_dfa_exec(const pcre *code, const pcre_extra *extra,
            const char *subject, int length, int startoffset,
            int options, int *ovector, int ovecsize,
            int *workspace, int wscount);

       int pcre_copy_named_substring(const pcre *code,
            const char *subject, int *ovector,
            int stringcount, const char *stringname,
            char *buffer, int buffersize);

       int pcre_copy_substring(const char *subject, int *ovector,
            int stringcount, int stringnumber, char *buffer,
            int buffersize);

       int pcre_get_named_substring(const pcre *code,
            const char *subject, int *ovector,
            int stringcount, const char *stringname,
            const char **stringptr);

       int pcre_get_stringnumber(const pcre *code,
            const char *name);

       int pcre_get_stringtable_entries(const pcre *code,
            const char *name, char **first, char **last);

       int pcre_get_substring(const char *subject, int *ovector,
            int stringcount, int stringnumber,
            const char **stringptr);

       int pcre_get_substring_list(const char *subject,
            int *ovector, int stringcount, const char ***listptr);

       void pcre_free_substring(const char *stringptr);

       void pcre_free_substring_list(const char **stringptr);

       const unsigned char *pcre_maketables(void);

       int pcre_fullinfo(const pcre *code, const pcre_extra *extra,
            int what, void *where);

       int pcre_info(const pcre *code, int *optptr, int *firstcharptr);

       int pcre_refcount(pcre *code, int adjust);

       int pcre_config(int what, void *where);

       char *pcre_version(void);

       void *(*pcre_malloc)(size_t);

       void (*pcre_free)(void *);

       void *(*pcre_stack_malloc)(size_t);

       void (*pcre_stack_free)(void *);

       int (*pcre_callout)(pcre_callout_block *);


PCRE API OVERVIEW

       PCRE has its own native API, which is described in this document. There
       are also some wrapper functions that correspond to  the  POSIX  regular
       expression  API.  These  are  described in the pcreposix documentation.
       Both of these APIs define a set of C function calls. A C++  wrapper  is
       distributed with PCRE. It is documented in the pcrecpp page.

       The  native  API  C  function prototypes are defined in the header file
       pcre.h, and on Unix systems the library itself is called  libpcre.   It
       can normally be accessed by adding -lpcre to the command for linking an
       application  that  uses  PCRE.  The  header  file  defines  the  macros
       PCRE_MAJOR  and  PCRE_MINOR to contain the major and minor release num-
       bers for the library.  Applications can use these  to  include  support
       for different releases of PCRE.

       The   functions   pcre_compile(),  pcre_compile2(),  pcre_study(),  and
       pcre_exec() are used for compiling and matching regular expressions  in
       a  Perl-compatible  manner. A sample program that demonstrates the sim-
       plest way of using them is provided in the file  called  pcredemo.c  in
       the PCRE source distribution. A listing of this program is given in the
       pcredemo documentation, and the pcresample documentation describes  how
       to compile and run it.

       A second matching function, pcre_dfa_exec(), which is not Perl-compati-
       ble, is also provided. This uses a different algorithm for  the  match-
       ing.  The  alternative algorithm finds all possible matches (at a given
       point in the subject), and scans the subject just  once  (unless  there
       are  lookbehind  assertions).  However,  this algorithm does not return
       captured substrings. A description of the two matching  algorithms  and
       their  advantages  and disadvantages is given in the pcrematching docu-
       mentation.

       In addition to the main compiling and  matching  functions,  there  are
       convenience functions for extracting captured substrings from a subject
       string that is matched by pcre_exec(). They are:

         pcre_copy_substring()
         pcre_copy_named_substring()
         pcre_get_substring()
         pcre_get_named_substring()
         pcre_get_substring_list()
         pcre_get_stringnumber()
         pcre_get_stringtable_entries()

       pcre_free_substring() and pcre_free_substring_list() are also provided,
       to free the memory used for extracted strings.

       The  function  pcre_maketables()  is  used  to build a set of character
       tables  in  the  current  locale   for   passing   to   pcre_compile(),
       pcre_exec(),  or  pcre_dfa_exec(). This is an optional facility that is
       provided for specialist use.  Most  commonly,  no  special  tables  are
       passed,  in  which case internal tables that are generated when PCRE is
       built are used.

       The function pcre_fullinfo() is used to find out  information  about  a
       compiled  pattern; pcre_info() is an obsolete version that returns only
       some of the available information, but is retained for  backwards  com-
       patibility.   The function pcre_version() returns a pointer to a string
       containing the version of PCRE and its date of release.

       The function pcre_refcount() maintains a  reference  count  in  a  data
       block  containing  a compiled pattern. This is provided for the benefit
       of object-oriented applications.

       The global variables pcre_malloc and pcre_free  initially  contain  the
       entry  points  of  the  standard malloc() and free() functions, respec-
       tively. PCRE calls the memory management functions via these variables,
       so  a  calling  program  can replace them if it wishes to intercept the
       calls. This should be done before calling any PCRE functions.

       The global variables pcre_stack_malloc  and  pcre_stack_free  are  also
       indirections  to  memory  management functions. These special functions
       are used only when PCRE is compiled to use  the  heap  for  remembering
       data, instead of recursive function calls, when running the pcre_exec()
       function. See the pcrebuild documentation for  details  of  how  to  do
       this.  It  is  a non-standard way of building PCRE, for use in environ-
       ments that have limited stacks. Because of the greater  use  of  memory
       management,  it  runs  more  slowly. Separate functions are provided so
       that special-purpose external code can be  used  for  this  case.  When
       used,  these  functions  are always called in a stack-like manner (last
       obtained, first freed), and always for memory blocks of the same  size.
       There  is  a discussion about PCRE's stack usage in the pcrestack docu-
       mentation.

       The global variable pcre_callout initially contains NULL. It can be set
       by  the  caller  to  a "callout" function, which PCRE will then call at
       specified points during a matching operation. Details are given in  the
       pcrecallout documentation.


NEWLINES

       PCRE  supports five different conventions for indicating line breaks in
       strings: a single CR (carriage return) character, a  single  LF  (line-
       feed) character, the two-character sequence CRLF, any of the three pre-
       ceding, or any Unicode newline sequence. The Unicode newline  sequences
       are  the  three just mentioned, plus the single characters VT (vertical
       tab, U+000B), FF (formfeed, U+000C), NEL (next line, U+0085), LS  (line
       separator, U+2028), and PS (paragraph separator, U+2029).

       Each  of  the first three conventions is used by at least one operating
       system as its standard newline sequence. When PCRE is built, a  default
       can  be  specified.  The default default is LF, which is the Unix stan-
       dard. When PCRE is run, the default can be overridden,  either  when  a
       pattern is compiled, or when it is matched.

       At compile time, the newline convention can be specified by the options
       argument of pcre_compile(), or it can be specified by special  text  at
       the start of the pattern itself; this overrides any other settings. See
       the pcrepattern page for details of the special character sequences.

       In the PCRE documentation the word "newline" is used to mean "the char-
       acter  or pair of characters that indicate a line break". The choice of
       newline convention affects the handling of  the  dot,  circumflex,  and
       dollar metacharacters, the handling of #-comments in /x mode, and, when
       CRLF is a recognized line ending sequence, the match position  advance-
       ment for a non-anchored pattern. There is more detail about this in the
       section on pcre_exec() options below.

       The choice of newline convention does not affect the interpretation  of
       the  \n  or  \r  escape  sequences, nor does it affect what \R matches,
       which is controlled in a similar way, but by separate options.


MULTITHREADING

       The PCRE functions can be used in  multi-threading  applications,  with
       the  proviso  that  the  memory  management  functions  pointed  to  by
       pcre_malloc, pcre_free, pcre_stack_malloc, and pcre_stack_free, and the
       callout function pointed to by pcre_callout, are shared by all threads.

       The  compiled form of a regular expression is not altered during match-
       ing, so the same compiled pattern can safely be used by several threads
       at once.


SAVING PRECOMPILED PATTERNS FOR LATER USE

       The compiled form of a regular expression can be saved and re-used at a
       later time, possibly by a different program, and even on a  host  other
       than  the  one  on  which  it  was  compiled.  Details are given in the
       pcreprecompile documentation. However, compiling a  regular  expression
       with  one version of PCRE for use with a different version is not guar-
       anteed to work and may cause crashes.


CHECKING BUILD-TIME OPTIONS

       int pcre_config(int what, void *where);

       The function pcre_config() makes it possible for a PCRE client to  dis-
       cover which optional features have been compiled into the PCRE library.
       The pcrebuild documentation has more details about these optional  fea-
       tures.

       The  first  argument  for pcre_config() is an integer, specifying which
       information is required; the second argument is a pointer to a variable
       into  which  the  information  is  placed. The following information is
       available:

         PCRE_CONFIG_UTF8

       The output is an integer that is set to one if UTF-8 support is  avail-
       able; otherwise it is set to zero.

         PCRE_CONFIG_UNICODE_PROPERTIES

       The  output  is  an  integer  that is set to one if support for Unicode
       character properties is available; otherwise it is set to zero.

         PCRE_CONFIG_NEWLINE

       The output is an integer whose value specifies  the  default  character
       sequence  that is recognized as meaning "newline". The four values that
       are supported are: 10 for LF, 13 for CR, 3338 for CRLF, -2 for ANYCRLF,
       and  -1  for  ANY.  Though they are derived from ASCII, the same values
       are returned in EBCDIC environments. The default should normally corre-
       spond to the standard sequence for your operating system.

         PCRE_CONFIG_BSR

       The output is an integer whose value indicates what character sequences
       the \R escape sequence matches by default. A value of 0 means  that  \R
       matches  any  Unicode  line ending sequence; a value of 1 means that \R
       matches only CR, LF, or CRLF. The default can be overridden when a pat-
       tern is compiled or matched.

         PCRE_CONFIG_LINK_SIZE

       The  output  is  an  integer that contains the number of bytes used for
       internal linkage in compiled regular expressions. The value is 2, 3, or
       4.  Larger  values  allow larger regular expressions to be compiled, at
       the expense of slower matching. The default value of  2  is  sufficient
       for  all  but  the  most massive patterns, since it allows the compiled
       pattern to be up to 64K in size.

         PCRE_CONFIG_POSIX_MALLOC_THRESHOLD

       The output is an integer that contains the threshold  above  which  the
       POSIX  interface  uses malloc() for output vectors. Further details are
       given in the pcreposix documentation.

         PCRE_CONFIG_MATCH_LIMIT

       The output is a long integer that gives the default limit for the  num-
       ber  of  internal  matching  function calls in a pcre_exec() execution.
       Further details are given with pcre_exec() below.

         PCRE_CONFIG_MATCH_LIMIT_RECURSION

       The output is a long integer that gives the default limit for the depth
       of   recursion  when  calling  the  internal  matching  function  in  a
       pcre_exec() execution.  Further  details  are  given  with  pcre_exec()
       below.

         PCRE_CONFIG_STACKRECURSE

       The  output is an integer that is set to one if internal recursion when
       running pcre_exec() is implemented by recursive function calls that use
       the  stack  to remember their state. This is the usual way that PCRE is
       compiled. The output is zero if PCRE was compiled to use blocks of data
       on  the  heap  instead  of  recursive  function  calls.  In  this case,
       pcre_stack_malloc and  pcre_stack_free  are  called  to  manage  memory
       blocks on the heap, thus avoiding the use of the stack.


COMPILING A PATTERN

       pcre *pcre_compile(const char *pattern, int options,
            const char **errptr, int *erroffset,
            const unsigned char *tableptr);

       pcre *pcre_compile2(const char *pattern, int options,
            int *errorcodeptr,
            const char **errptr, int *erroffset,
            const unsigned char *tableptr);

       Either of the functions pcre_compile() or pcre_compile2() can be called
       to compile a pattern into an internal form. The only difference between
       the  two interfaces is that pcre_compile2() has an additional argument,
       errorcodeptr, via which a numerical error  code  can  be  returned.  To
       avoid  too  much repetition, we refer just to pcre_compile() below, but
       the information applies equally to pcre_compile2().

       The pattern is a C string terminated by a binary zero, and is passed in
       the  pattern  argument.  A  pointer to a single block of memory that is
       obtained via pcre_malloc is returned. This contains the  compiled  code
       and related data. The pcre type is defined for the returned block; this
       is a typedef for a structure whose contents are not externally defined.
       It is up to the caller to free the memory (via pcre_free) when it is no
       longer required.

       Although the compiled code of a PCRE regex is relocatable, that is,  it
       does not depend on memory location, the complete pcre data block is not
       fully relocatable, because it may contain a copy of the tableptr  argu-
       ment, which is an address (see below).

       The options argument contains various bit settings that affect the com-
       pilation. It should be zero if no options are required.  The  available
       options  are  described  below. Some of them (in particular, those that
       are compatible with Perl, but some others as well) can also be set  and
       unset  from  within  the  pattern  (see the detailed description in the
       pcrepattern documentation). For those options that can be different  in
       different  parts  of  the pattern, the contents of the options argument
       specifies their settings at the start of compilation and execution. The
       PCRE_ANCHORED, PCRE_BSR_xxx, and PCRE_NEWLINE_xxx options can be set at
       the time of matching as well as at compile time.

       If errptr is NULL, pcre_compile() returns NULL immediately.  Otherwise,
       if  compilation  of  a  pattern fails, pcre_compile() returns NULL, and
       sets the variable pointed to by errptr to point to a textual error mes-
       sage. This is a static string that is part of the library. You must not
       try to free it. The byte offset from the start of the  pattern  to  the
       character  that  was  being  processed when the error was discovered is
       placed in the variable pointed to by erroffset, which must not be NULL.
       If  it  is,  an  immediate error is given. Some errors are not detected
       until checks are carried out when the whole pattern has  been  scanned;
       in this case the offset is set to the end of the pattern.

       If  pcre_compile2()  is  used instead of pcre_compile(), and the error-
       codeptr argument is not NULL, a non-zero error code number is  returned
       via  this argument in the event of an error. This is in addition to the
       textual error message. Error codes and messages are listed below.

       If the final argument, tableptr, is NULL, PCRE uses a  default  set  of
       character  tables  that  are  built  when  PCRE  is compiled, using the
       default C locale. Otherwise, tableptr must be an address  that  is  the
       result  of  a  call to pcre_maketables(). This value is stored with the
       compiled pattern, and used again by pcre_exec(), unless  another  table
       pointer is passed to it. For more discussion, see the section on locale
       support below.

       This code fragment shows a typical straightforward  call  to  pcre_com-
       pile():

         pcre *re;
         const char *error;
         int erroffset;
         re = pcre_compile(
           "^A.*Z",          /* the pattern */
           0,                /* default options */
           &error,           /* for error message */
           &erroffset,       /* for error offset */
           NULL);            /* use default character tables */

       The  following  names  for option bits are defined in the pcre.h header
       file:

         PCRE_ANCHORED

       If this bit is set, the pattern is forced to be "anchored", that is, it
       is  constrained to match only at the first matching point in the string
       that is being searched (the "subject string"). This effect can also  be
       achieved  by appropriate constructs in the pattern itself, which is the
       only way to do it in Perl.

         PCRE_AUTO_CALLOUT

       If this bit is set, pcre_compile() automatically inserts callout items,
       all  with  number  255, before each pattern item. For discussion of the
       callout facility, see the pcrecallout documentation.

         PCRE_BSR_ANYCRLF
         PCRE_BSR_UNICODE

       These options (which are mutually exclusive) control what the \R escape
       sequence  matches.  The choice is either to match only CR, LF, or CRLF,
       or to match any Unicode newline sequence. The default is specified when
       PCRE is built. It can be overridden from within the pattern, or by set-
       ting an option when a compiled pattern is matched.

         PCRE_CASELESS

       If this bit is set, letters in the pattern match both upper  and  lower
       case  letters.  It  is  equivalent  to  Perl's /i option, and it can be
       changed within a pattern by a (?i) option setting. In UTF-8 mode,  PCRE
       always  understands the concept of case for characters whose values are
       less than 128, so caseless matching is always possible. For  characters
       with  higher  values,  the concept of case is supported if PCRE is com-
       piled with Unicode property support, but not otherwise. If you want  to
       use  caseless  matching  for  characters 128 and above, you must ensure
       that PCRE is compiled with Unicode property support  as  well  as  with
       UTF-8 support.

         PCRE_DOLLAR_ENDONLY

       If  this bit is set, a dollar metacharacter in the pattern matches only
       at the end of the subject string. Without this option,  a  dollar  also
       matches  immediately before a newline at the end of the string (but not
       before any other newlines). The PCRE_DOLLAR_ENDONLY option  is  ignored
       if  PCRE_MULTILINE  is  set.   There is no equivalent to this option in
       Perl, and no way to set it within a pattern.

         PCRE_DOTALL

       If this bit is set, a dot metacharater in the pattern matches all char-
       acters,  including  those that indicate newline. Without it, a dot does
       not match when the current position is at a  newline.  This  option  is
       equivalent  to Perl's /s option, and it can be changed within a pattern
       by a (?s) option setting. A negative class such as [^a] always  matches
       newline characters, independent of the setting of this option.

         PCRE_DUPNAMES

       If  this  bit is set, names used to identify capturing subpatterns need
       not be unique. This can be helpful for certain types of pattern when it
       is  known  that  only  one instance of the named subpattern can ever be
       matched. There are more details of named subpatterns  below;  see  also
       the pcrepattern documentation.

         PCRE_EXTENDED

       If  this  bit  is  set,  whitespace  data characters in the pattern are
       totally ignored except when escaped or inside a character class. White-
       space does not include the VT character (code 11). In addition, charac-
       ters between an unescaped # outside a character class and the next new-
       line,  inclusive,  are  also  ignored.  This is equivalent to Perl's /x
       option, and it can be changed within a pattern by a  (?x)  option  set-
       ting.

       This  option  makes  it possible to include comments inside complicated
       patterns.  Note, however, that this applies only  to  data  characters.
       Whitespace   characters  may  never  appear  within  special  character
       sequences in a pattern, for  example  within  the  sequence  (?(  which
       introduces a conditional subpattern.

         PCRE_EXTRA

       This  option  was invented in order to turn on additional functionality
       of PCRE that is incompatible with Perl, but it  is  currently  of  very
       little  use. When set, any backslash in a pattern that is followed by a
       letter that has no special meaning  causes  an  error,  thus  reserving
       these  combinations  for  future  expansion.  By default, as in Perl, a
       backslash followed by a letter with no special meaning is treated as  a
       literal.  (Perl can, however, be persuaded to give a warning for this.)
       There are at present no other features controlled by  this  option.  It
       can also be set by a (?X) option setting within a pattern.

         PCRE_FIRSTLINE

       If  this  option  is  set,  an  unanchored pattern is required to match
       before or at the first  newline  in  the  subject  string,  though  the
       matched text may continue over the newline.

         PCRE_JAVASCRIPT_COMPAT

       If this option is set, PCRE's behaviour is changed in some ways so that
       it is compatible with JavaScript rather than Perl. The changes  are  as
       follows:

       (1)  A  lone  closing square bracket in a pattern causes a compile-time
       error, because this is illegal in JavaScript (by default it is  treated
       as a data character). Thus, the pattern AB]CD becomes illegal when this
       option is set.

       (2) At run time, a back reference to an unset subpattern group  matches
       an  empty  string (by default this causes the current matching alterna-
       tive to fail). A pattern such as (\1)(a) succeeds when this  option  is
       set  (assuming  it can find an "a" in the subject), whereas it fails by
       default, for Perl compatibility.

         PCRE_MULTILINE

       By default, PCRE treats the subject string as consisting  of  a  single
       line  of characters (even if it actually contains newlines). The "start
       of line" metacharacter (^) matches only at the  start  of  the  string,
       while  the  "end  of line" metacharacter ($) matches only at the end of
       the string, or before a terminating newline (unless PCRE_DOLLAR_ENDONLY
       is set). This is the same as Perl.

       When  PCRE_MULTILINE  it  is set, the "start of line" and "end of line"
       constructs match immediately following or immediately  before  internal
       newlines  in  the  subject string, respectively, as well as at the very
       start and end. This is equivalent to Perl's /m option, and  it  can  be
       changed within a pattern by a (?m) option setting. If there are no new-
       lines in a subject string, or no occurrences of ^ or $  in  a  pattern,
       setting PCRE_MULTILINE has no effect.

         PCRE_NEWLINE_CR
         PCRE_NEWLINE_LF
         PCRE_NEWLINE_CRLF
         PCRE_NEWLINE_ANYCRLF
         PCRE_NEWLINE_ANY

       These  options  override the default newline definition that was chosen
       when PCRE was built. Setting the first or the second specifies  that  a
       newline  is  indicated  by a single character (CR or LF, respectively).
       Setting PCRE_NEWLINE_CRLF specifies that a newline is indicated by  the
       two-character  CRLF  sequence.  Setting  PCRE_NEWLINE_ANYCRLF specifies
       that any of the three preceding sequences should be recognized. Setting
       PCRE_NEWLINE_ANY  specifies that any Unicode newline sequence should be
       recognized. The Unicode newline sequences are the three just mentioned,
       plus  the  single  characters  VT (vertical tab, U+000B), FF (formfeed,
       U+000C), NEL (next line, U+0085), LS (line separator, U+2028),  and  PS
       (paragraph  separator,  U+2029).  The  last  two are recognized only in
       UTF-8 mode.

       The newline setting in the  options  word  uses  three  bits  that  are
       treated as a number, giving eight possibilities. Currently only six are
       used (default plus the five values above). This means that if  you  set
       more  than one newline option, the combination may or may not be sensi-
       ble. For example, PCRE_NEWLINE_CR with PCRE_NEWLINE_LF is equivalent to
       PCRE_NEWLINE_CRLF,  but other combinations may yield unused numbers and
       cause an error.

       The only time that a line break is specially recognized when  compiling
       a  pattern  is  if  PCRE_EXTENDED  is set, and an unescaped # outside a
       character class is encountered. This indicates  a  comment  that  lasts
       until  after the next line break sequence. In other circumstances, line
       break  sequences  are  treated  as  literal  data,   except   that   in
       PCRE_EXTENDED mode, both CR and LF are treated as whitespace characters
       and are therefore ignored.

       The newline option that is set at compile time becomes the default that
       is used for pcre_exec() and pcre_dfa_exec(), but it can be overridden.

         PCRE_NO_AUTO_CAPTURE

       If this option is set, it disables the use of numbered capturing paren-
       theses in the pattern. Any opening parenthesis that is not followed  by
       ?  behaves as if it were followed by ?: but named parentheses can still
       be used for capturing (and they acquire  numbers  in  the  usual  way).
       There is no equivalent of this option in Perl.

         PCRE_UNGREEDY

       This  option  inverts  the "greediness" of the quantifiers so that they
       are not greedy by default, but become greedy if followed by "?". It  is
       not  compatible  with Perl. It can also be set by a (?U) option setting
       within the pattern.

         PCRE_UTF8

       This option causes PCRE to regard both the pattern and the  subject  as
       strings  of  UTF-8 characters instead of single-byte character strings.
       However, it is available only when PCRE is built to include UTF-8  sup-
       port.  If not, the use of this option provokes an error. Details of how
       this option changes the behaviour of PCRE are given in the  section  on
       UTF-8 support in the main pcre page.

         PCRE_NO_UTF8_CHECK

       When PCRE_UTF8 is set, the validity of the pattern as a UTF-8 string is
       automatically checked. There is a  discussion  about  the  validity  of
       UTF-8  strings  in  the main pcre page. If an invalid UTF-8 sequence of
       bytes is found, pcre_compile() returns an error. If  you  already  know
       that your pattern is valid, and you want to skip this check for perfor-
       mance reasons, you can set the PCRE_NO_UTF8_CHECK option.  When  it  is
       set,  the  effect  of  passing  an invalid UTF-8 string as a pattern is
       undefined. It may cause your program to crash. Note  that  this  option
       can  also be passed to pcre_exec() and pcre_dfa_exec(), to suppress the
       UTF-8 validity checking of subject strings.


COMPILATION ERROR CODES

       The following table lists the error  codes  than  may  be  returned  by
       pcre_compile2(),  along with the error messages that may be returned by
       both compiling functions. As PCRE has developed, some error codes  have
       fallen out of use. To avoid confusion, they have not been re-used.

          0  no error
          1  \ at end of pattern
          2  \c at end of pattern
          3  unrecognized character follows \
          4  numbers out of order in {} quantifier
          5  number too big in {} quantifier
          6  missing terminating ] for character class
          7  invalid escape sequence in character class
          8  range out of order in character class
          9  nothing to repeat
         10  [this code is not in use]
         11  internal error: unexpected repeat
         12  unrecognized character after (? or (?-
         13  POSIX named classes are supported only within a class
         14  missing )
         15  reference to non-existent subpattern
         16  erroffset passed as NULL
         17  unknown option bit(s) set
         18  missing ) after comment
         19  [this code is not in use]
         20  regular expression is too large
         21  failed to get memory
         22  unmatched parentheses
         23  internal error: code overflow
         24  unrecognized character after (?<
         25  lookbehind assertion is not fixed length
         26  malformed number or name after (?(
         27  conditional group contains more than two branches
         28  assertion expected after (?(
         29  (?R or (?[+-]digits must be followed by )
         30  unknown POSIX class name
         31  POSIX collating elements are not supported
         32  this version of PCRE is not compiled with PCRE_UTF8 support
         33  [this code is not in use]
         34  character value in \x{...} sequence is too large
         35  invalid condition (?(0)
         36  \C not allowed in lookbehind assertion
         37  PCRE does not support \L, \l, \N, \U, or \u
         38  number after (?C is > 255
         39  closing ) for (?C expected
         40  recursive call could loop indefinitely
         41  unrecognized character after (?P
         42  syntax error in subpattern name (missing terminator)
         43  two named subpatterns have the same name
         44  invalid UTF-8 string
         45  support for \P, \p, and \X has not been compiled
         46  malformed \P or \p sequence
         47  unknown property name after \P or \p
         48  subpattern name is too long (maximum 32 characters)
         49  too many named subpatterns (maximum 10000)
         50  [this code is not in use]
         51  octal value is greater than \377 (not in UTF-8 mode)
         52  internal error: overran compiling workspace
         53   internal  error:  previously-checked  referenced  subpattern not
       found
         54  DEFINE group contains more than one branch
         55  repeating a DEFINE group is not allowed
         56  inconsistent NEWLINE options
         57  \g is not followed by a braced, angle-bracketed, or quoted
               name/number or by a plain number
         58  a numbered reference must not be zero
         59  (*VERB) with an argument is not supported
         60  (*VERB) not recognized
         61  number is too big
         62  subpattern name expected
         63  digit expected after (?+
         64  ] is an invalid data character in JavaScript compatibility mode

       The numbers 32 and 10000 in errors 48 and 49  are  defaults;  different
       values may be used if the limits were changed when PCRE was built.


STUDYING A PATTERN

       pcre_extra *pcre_study(const pcre *code, int options
            const char **errptr);

       If  a  compiled  pattern is going to be used several times, it is worth
       spending more time analyzing it in order to speed up the time taken for
       matching.  The function pcre_study() takes a pointer to a compiled pat-
       tern as its first argument. If studying the pattern produces additional
       information  that  will  help speed up matching, pcre_study() returns a
       pointer to a pcre_extra block, in which the study_data field points  to
       the results of the study.

       The  returned  value  from  pcre_study()  can  be  passed  directly  to
       pcre_exec() or pcre_dfa_exec(). However, a pcre_extra block  also  con-
       tains  other  fields  that can be set by the caller before the block is
       passed; these are described below in the section on matching a pattern.

       If studying the  pattern  does  not  produce  any  useful  information,
       pcre_study() returns NULL. In that circumstance, if the calling program
       wants  to  pass  any  of   the   other   fields   to   pcre_exec()   or
       pcre_dfa_exec(), it must set up its own pcre_extra block.

       The  second  argument of pcre_study() contains option bits. At present,
       no options are defined, and this argument should always be zero.

       The third argument for pcre_study() is a pointer for an error  message.
       If  studying  succeeds  (even  if no data is returned), the variable it
       points to is set to NULL. Otherwise it is set to  point  to  a  textual
       error message. This is a static string that is part of the library. You
       must not try to free it. You should test the  error  pointer  for  NULL
       after calling pcre_study(), to be sure that it has run successfully.

       This is a typical call to pcre_study():

         pcre_extra *pe;
         pe = pcre_study(
           re,             /* result of pcre_compile() */
           0,              /* no options exist */
           &error);        /* set to NULL or points to a message */

       Studying a pattern does two things: first, a lower bound for the length
       of subject string that is needed to match the pattern is computed. This
       does not mean that there are any strings of that length that match, but
       it does guarantee that no shorter strings match. The value is  used  by
       pcre_exec()  and  pcre_dfa_exec()  to  avoid  wasting time by trying to
       match strings that are shorter than the lower bound. You can  find  out
       the value in a calling program via the pcre_fullinfo() function.

       Studying a pattern is also useful for non-anchored patterns that do not
       have a single fixed starting character. A bitmap of  possible  starting
       bytes  is  created. This speeds up finding a position in the subject at
       which to start matching.


LOCALE SUPPORT

       PCRE handles caseless matching, and determines whether  characters  are
       letters,  digits, or whatever, by reference to a set of tables, indexed
       by character value. When running in UTF-8 mode, this  applies  only  to
       characters  with  codes  less than 128. Higher-valued codes never match
       escapes such as \w or \d, but can be tested with \p if  PCRE  is  built
       with  Unicode  character property support. The use of locales with Uni-
       code is discouraged. If you are handling characters with codes  greater
       than  128, you should either use UTF-8 and Unicode, or use locales, but
       not try to mix the two.

       PCRE contains an internal set of tables that are used  when  the  final
       argument  of  pcre_compile()  is  NULL.  These  are sufficient for many
       applications.  Normally, the internal tables recognize only ASCII char-
       acters. However, when PCRE is built, it is possible to cause the inter-
       nal tables to be rebuilt in the default "C" locale of the local system,
       which may cause them to be different.

       The  internal tables can always be overridden by tables supplied by the
       application that calls PCRE. These may be created in a different locale
       from  the  default.  As more and more applications change to using Uni-
       code, the need for this locale support is expected to die away.

       External tables are built by calling  the  pcre_maketables()  function,
       which  has no arguments, in the relevant locale. The result can then be
       passed to pcre_compile() or pcre_exec()  as  often  as  necessary.  For
       example,  to  build  and use tables that are appropriate for the French
       locale (where accented characters with  values  greater  than  128  are
       treated as letters), the following code could be used:

         setlocale(LC_CTYPE, "fr_FR");
         tables = pcre_maketables();
         re = pcre_compile(..., tables);

       The  locale  name "fr_FR" is used on Linux and other Unix-like systems;
       if you are using Windows, the name for the French locale is "french".

       When pcre_maketables() runs, the tables are built  in  memory  that  is
       obtained  via  pcre_malloc. It is the caller's responsibility to ensure
       that the memory containing the tables remains available for as long  as
       it is needed.

       The pointer that is passed to pcre_compile() is saved with the compiled
       pattern, and the same tables are used via this pointer by  pcre_study()
       and normally also by pcre_exec(). Thus, by default, for any single pat-
       tern, compilation, studying and matching all happen in the same locale,
       but different patterns can be compiled in different locales.

       It  is  possible to pass a table pointer or NULL (indicating the use of
       the internal tables) to pcre_exec(). Although  not  intended  for  this
       purpose,  this facility could be used to match a pattern in a different
       locale from the one in which it was compiled. Passing table pointers at
       run time is discussed below in the section on matching a pattern.


INFORMATION ABOUT A PATTERN

       int pcre_fullinfo(const pcre *code, const pcre_extra *extra,
            int what, void *where);

       The  pcre_fullinfo() function returns information about a compiled pat-
       tern. It replaces the obsolete pcre_info() function, which is neverthe-
       less retained for backwards compability (and is documented below).

       The  first  argument  for  pcre_fullinfo() is a pointer to the compiled
       pattern. The second argument is the result of pcre_study(), or NULL  if
       the  pattern  was not studied. The third argument specifies which piece
       of information is required, and the fourth argument is a pointer  to  a
       variable  to  receive  the  data. The yield of the function is zero for
       success, or one of the following negative numbers:

         PCRE_ERROR_NULL       the argument code was NULL
                               the argument where was NULL
         PCRE_ERROR_BADMAGIC   the "magic number" was not found
         PCRE_ERROR_BADOPTION  the value of what was invalid

       The "magic number" is placed at the start of each compiled  pattern  as
       an  simple check against passing an arbitrary memory pointer. Here is a
       typical call of pcre_fullinfo(), to obtain the length of  the  compiled
       pattern:

         int rc;
         size_t length;
         rc = pcre_fullinfo(
           re,               /* result of pcre_compile() */
           pe,               /* result of pcre_study(), or NULL */
           PCRE_INFO_SIZE,   /* what is required */
           &length);         /* where to put the data */

       The  possible  values for the third argument are defined in pcre.h, and
       are as follows:

         PCRE_INFO_BACKREFMAX

       Return the number of the highest back reference  in  the  pattern.  The
       fourth  argument  should  point to an int variable. Zero is returned if
       there are no back references.

         PCRE_INFO_CAPTURECOUNT

       Return the number of capturing subpatterns in the pattern.  The  fourth
       argument should point to an int variable.

         PCRE_INFO_DEFAULT_TABLES

       Return  a pointer to the internal default character tables within PCRE.
       The fourth argument should point to an unsigned char *  variable.  This
       information call is provided for internal use by the pcre_study() func-
       tion. External callers can cause PCRE to use  its  internal  tables  by
       passing a NULL table pointer.

         PCRE_INFO_FIRSTBYTE

       Return  information  about  the first byte of any matched string, for a
       non-anchored pattern. The fourth argument should point to an int  vari-
       able.  (This option used to be called PCRE_INFO_FIRSTCHAR; the old name
       is still recognized for backwards compatibility.)

       If there is a fixed first byte, for example, from  a  pattern  such  as
       (cat|cow|coyote), its value is returned. Otherwise, if either

       (a)  the pattern was compiled with the PCRE_MULTILINE option, and every
       branch starts with "^", or

       (b) every branch of the pattern starts with ".*" and PCRE_DOTALL is not
       set (if it were set, the pattern would be anchored),

       -1  is  returned, indicating that the pattern matches only at the start
       of a subject string or after any newline within the  string.  Otherwise
       -2 is returned. For anchored patterns, -2 is returned.

         PCRE_INFO_FIRSTTABLE

       If  the pattern was studied, and this resulted in the construction of a
       256-bit table indicating a fixed set of bytes for the first byte in any
       matching  string, a pointer to the table is returned. Otherwise NULL is
       returned. The fourth argument should point to an unsigned char *  vari-
       able.

         PCRE_INFO_HASCRORLF

       Return  1  if  the  pattern  contains any explicit matches for CR or LF
       characters, otherwise 0. The fourth argument should  point  to  an  int
       variable.  An explicit match is either a literal CR or LF character, or
       \r or \n.

         PCRE_INFO_JCHANGED

       Return 1 if the (?J) or (?-J) option setting is used  in  the  pattern,
       otherwise  0. The fourth argument should point to an int variable. (?J)
       and (?-J) set and unset the local PCRE_DUPNAMES option, respectively.

         PCRE_INFO_LASTLITERAL

       Return the value of the rightmost literal byte that must exist  in  any
       matched  string,  other  than  at  its  start,  if such a byte has been
       recorded. The fourth argument should point to an int variable. If there
       is  no such byte, -1 is returned. For anchored patterns, a last literal
       byte is recorded only if it follows something of variable  length.  For
       example, for the pattern /^a\d+z\d+/ the returned value is "z", but for
       /^a\dz\d/ the returned value is -1.

         PCRE_INFO_MINLENGTH

       If the pattern was studied and a minimum length  for  matching  subject
       strings  was  computed,  its  value is returned. Otherwise the returned
       value is -1. The value is a number of characters, not bytes  (this  may
       be  relevant in UTF-8 mode). The fourth argument should point to an int
       variable. A non-negative value is a lower bound to the  length  of  any
       matching  string.  There  may not be any strings of that length that do
       actually match, but every string that does match is at least that long.

         PCRE_INFO_NAMECOUNT
         PCRE_INFO_NAMEENTRYSIZE
         PCRE_INFO_NAMETABLE

       PCRE supports the use of named as well as numbered capturing  parenthe-
       ses.  The names are just an additional way of identifying the parenthe-
       ses, which still acquire numbers. Several convenience functions such as
       pcre_get_named_substring()  are  provided  for extracting captured sub-
       strings by name. It is also possible to extract the data  directly,  by
       first  converting  the  name to a number in order to access the correct
       pointers in the output vector (described with pcre_exec() below). To do
       the  conversion,  you  need  to  use  the  name-to-number map, which is
       described by these three values.

       The map consists of a number of fixed-size entries. PCRE_INFO_NAMECOUNT
       gives the number of entries, and PCRE_INFO_NAMEENTRYSIZE gives the size
       of each entry; both of these  return  an  int  value.  The  entry  size
       depends  on the length of the longest name. PCRE_INFO_NAMETABLE returns
       a pointer to the first entry of the table  (a  pointer  to  char).  The
       first two bytes of each entry are the number of the capturing parenthe-
       sis, most significant byte first. The rest of the entry is  the  corre-
       sponding name, zero terminated.

       The  names are in alphabetical order. Duplicate names may appear if (?|
       is used to create multiple groups with the same number, as described in
       the  section  on  duplicate subpattern numbers in the pcrepattern page.
       Duplicate names for subpatterns with different  numbers  are  permitted
       only  if  PCRE_DUPNAMES  is  set. In all cases of duplicate names, they
       appear in the table in the order in which they were found in  the  pat-
       tern.  In  the  absence  of (?| this is the order of increasing number;
       when (?| is used this is not necessarily the case because later subpat-
       terns may have lower numbers.

       As  a  simple  example of the name/number table, consider the following
       pattern (assume PCRE_EXTENDED is set, so white space -  including  new-
       lines - is ignored):

         (?<date> (?<year>(\d\d)?\d\d) -
         (?<month>\d\d) - (?<day>\d\d) )

       There  are  four  named subpatterns, so the table has four entries, and
       each entry in the table is eight bytes long. The table is  as  follows,
       with non-printing bytes shows in hexadecimal, and undefined bytes shown
       as ??:

         00 01 d  a  t  e  00 ??
         00 05 d  a  y  00 ?? ??
         00 04 m  o  n  t  h  00
         00 02 y  e  a  r  00 ??

       When writing code to extract data  from  named  subpatterns  using  the
       name-to-number  map,  remember that the length of the entries is likely
       to be different for each compiled pattern.

         PCRE_INFO_OKPARTIAL

       Return 1  if  the  pattern  can  be  used  for  partial  matching  with
       pcre_exec(),  otherwise  0.  The fourth argument should point to an int
       variable. From  release  8.00,  this  always  returns  1,  because  the
       restrictions  that  previously  applied  to  partial matching have been
       lifted. The pcrepartial documentation gives details of  partial  match-
       ing.

         PCRE_INFO_OPTIONS

       Return  a  copy of the options with which the pattern was compiled. The
       fourth argument should point to an unsigned long  int  variable.  These
       option bits are those specified in the call to pcre_compile(), modified
       by any top-level option settings at the start of the pattern itself. In
       other  words,  they are the options that will be in force when matching
       starts. For example, if the pattern /(?im)abc(?-i)d/ is  compiled  with
       the  PCRE_EXTENDED option, the result is PCRE_CASELESS, PCRE_MULTILINE,
       and PCRE_EXTENDED.

       A pattern is automatically anchored by PCRE if  all  of  its  top-level
       alternatives begin with one of the following:

         ^     unless PCRE_MULTILINE is set
         \A    always
         \G    always
         .*    if PCRE_DOTALL is set and there are no back
                 references to the subpattern in which .* appears

       For such patterns, the PCRE_ANCHORED bit is set in the options returned
       by pcre_fullinfo().

         PCRE_INFO_SIZE

       Return the size of the compiled pattern, that is, the  value  that  was
       passed as the argument to pcre_malloc() when PCRE was getting memory in
       which to place the compiled data. The fourth argument should point to a
       size_t variable.

         PCRE_INFO_STUDYSIZE

       Return the size of the data block pointed to by the study_data field in
       a pcre_extra block. That is,  it  is  the  value  that  was  passed  to
       pcre_malloc() when PCRE was getting memory into which to place the data
       created by pcre_study(). If pcre_extra is NULL, or there  is  no  study
       data,  zero  is  returned. The fourth argument should point to a size_t
       variable.


OBSOLETE INFO FUNCTION

       int pcre_info(const pcre *code, int *optptr, int *firstcharptr);

       The pcre_info() function is now obsolete because its interface  is  too
       restrictive  to return all the available data about a compiled pattern.
       New  programs  should  use  pcre_fullinfo()  instead.  The   yield   of
       pcre_info()  is the number of capturing subpatterns, or one of the fol-
       lowing negative numbers:

         PCRE_ERROR_NULL       the argument code was NULL
         PCRE_ERROR_BADMAGIC   the "magic number" was not found

       If the optptr argument is not NULL, a copy of the  options  with  which
       the  pattern  was  compiled  is placed in the integer it points to (see
       PCRE_INFO_OPTIONS above).

       If the pattern is not anchored and the  firstcharptr  argument  is  not
       NULL,  it is used to pass back information about the first character of
       any matched string (see PCRE_INFO_FIRSTBYTE above).


REFERENCE COUNTS

       int pcre_refcount(pcre *code, int adjust);

       The pcre_refcount() function is used to maintain a reference  count  in
       the data block that contains a compiled pattern. It is provided for the
       benefit of applications that  operate  in  an  object-oriented  manner,
       where different parts of the application may be using the same compiled
       pattern, but you want to free the block when they are all done.

       When a pattern is compiled, the reference count field is initialized to
       zero.   It is changed only by calling this function, whose action is to
       add the adjust value (which may be positive or  negative)  to  it.  The
       yield of the function is the new value. However, the value of the count
       is constrained to lie between 0 and 65535, inclusive. If the new  value
       is outside these limits, it is forced to the appropriate limit value.

       Except  when it is zero, the reference count is not correctly preserved
       if a pattern is compiled on one host and then  transferred  to  a  host
       whose byte-order is different. (This seems a highly unlikely scenario.)


MATCHING A PATTERN: THE TRADITIONAL FUNCTION

       int pcre_exec(const pcre *code, const pcre_extra *extra,
            const char *subject, int length, int startoffset,
            int options, int *ovector, int ovecsize);

       The  function pcre_exec() is called to match a subject string against a
       compiled pattern, which is passed in the code argument. If the  pattern
       was  studied,  the  result  of  the study should be passed in the extra
       argument. This function is the main matching facility of  the  library,
       and it operates in a Perl-like manner. For specialist use there is also
       an alternative matching function, which is described below in the  sec-
       tion about the pcre_dfa_exec() function.

       In  most applications, the pattern will have been compiled (and option-
       ally studied) in the same process that calls pcre_exec().  However,  it
       is possible to save compiled patterns and study data, and then use them
       later in different processes, possibly even on different hosts.  For  a
       discussion about this, see the pcreprecompile documentation.

       Here is an example of a simple call to pcre_exec():

         int rc;
         int ovector[30];
         rc = pcre_exec(
           re,             /* result of pcre_compile() */
           NULL,           /* we didn't study the pattern */
           "some string",  /* the subject string */
           11,             /* the length of the subject string */
           0,              /* start at offset 0 in the subject */
           0,              /* default options */
           ovector,        /* vector of integers for substring information */
           30);            /* number of elements (NOT size in bytes) */

   Extra data for pcre_exec()

       If  the  extra argument is not NULL, it must point to a pcre_extra data
       block. The pcre_study() function returns such a block (when it  doesn't
       return  NULL), but you can also create one for yourself, and pass addi-
       tional information in it. The pcre_extra block contains  the  following
       fields (not necessarily in this order):

         unsigned long int flags;
         void *study_data;
         unsigned long int match_limit;
         unsigned long int match_limit_recursion;
         void *callout_data;
         const unsigned char *tables;

       The  flags  field  is a bitmap that specifies which of the other fields
       are set. The flag bits are:

         PCRE_EXTRA_STUDY_DATA
         PCRE_EXTRA_MATCH_LIMIT
         PCRE_EXTRA_MATCH_LIMIT_RECURSION
         PCRE_EXTRA_CALLOUT_DATA
         PCRE_EXTRA_TABLES

       Other flag bits should be set to zero. The study_data field is  set  in
       the  pcre_extra  block  that is returned by pcre_study(), together with
       the appropriate flag bit. You should not set this yourself, but you may
       add  to  the  block by setting the other fields and their corresponding
       flag bits.

       The match_limit field provides a means of preventing PCRE from using up
       a  vast amount of resources when running patterns that are not going to
       match, but which have a very large number  of  possibilities  in  their
       search  trees. The classic example is a pattern that uses nested unlim-
       ited repeats.

       Internally, PCRE uses a function called match() which it calls  repeat-
       edly  (sometimes  recursively). The limit set by match_limit is imposed
       on the number of times this function is called during  a  match,  which
       has  the  effect  of  limiting the amount of backtracking that can take
       place. For patterns that are not anchored, the count restarts from zero
       for each position in the subject string.

       The  default  value  for  the  limit can be set when PCRE is built; the
       default default is 10 million, which handles all but the  most  extreme
       cases.  You  can  override  the  default by suppling pcre_exec() with a
       pcre_extra    block    in    which    match_limit    is    set,     and
       PCRE_EXTRA_MATCH_LIMIT  is  set  in  the  flags  field. If the limit is
       exceeded, pcre_exec() returns PCRE_ERROR_MATCHLIMIT.

       The match_limit_recursion field is similar to match_limit, but  instead
       of limiting the total number of times that match() is called, it limits
       the depth of recursion. The recursion depth is a  smaller  number  than
       the  total number of calls, because not all calls to match() are recur-
       sive.  This limit is of use only if it is set smaller than match_limit.

       Limiting the recursion depth limits the amount of  stack  that  can  be
       used, or, when PCRE has been compiled to use memory on the heap instead
       of the stack, the amount of heap memory that can be used.

       The default value for match_limit_recursion can be  set  when  PCRE  is
       built;  the  default  default  is  the  same  value  as the default for
       match_limit. You can override the default by suppling pcre_exec()  with
       a   pcre_extra   block  in  which  match_limit_recursion  is  set,  and
       PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in  the  flags  field.  If  the
       limit is exceeded, pcre_exec() returns PCRE_ERROR_RECURSIONLIMIT.

       The  callout_data  field is used in conjunction with the "callout" fea-
       ture, and is described in the pcrecallout documentation.

       The tables field  is  used  to  pass  a  character  tables  pointer  to
       pcre_exec();  this overrides the value that is stored with the compiled
       pattern. A non-NULL value is stored with the compiled pattern  only  if
       custom  tables  were  supplied to pcre_compile() via its tableptr argu-
       ment.  If NULL is passed to pcre_exec() using this mechanism, it forces
       PCRE's  internal  tables  to be used. This facility is helpful when re-
       using patterns that have been saved after compiling  with  an  external
       set  of  tables,  because  the  external tables might be at a different
       address when pcre_exec() is called. See the  pcreprecompile  documenta-
       tion for a discussion of saving compiled patterns for later use.

   Option bits for pcre_exec()

       The  unused  bits of the options argument for pcre_exec() must be zero.
       The only bits that may  be  set  are  PCRE_ANCHORED,  PCRE_NEWLINE_xxx,
       PCRE_NOTBOL,    PCRE_NOTEOL,    PCRE_NOTEMPTY,   PCRE_NOTEMPTY_ATSTART,
       PCRE_NO_START_OPTIMIZE,  PCRE_NO_UTF8_CHECK,   PCRE_PARTIAL_SOFT,   and
       PCRE_PARTIAL_HARD.

         PCRE_ANCHORED

       The  PCRE_ANCHORED  option  limits pcre_exec() to matching at the first
       matching position. If a pattern was  compiled  with  PCRE_ANCHORED,  or
       turned  out to be anchored by virtue of its contents, it cannot be made
       unachored at matching time.

         PCRE_BSR_ANYCRLF
         PCRE_BSR_UNICODE

       These options (which are mutually exclusive) control what the \R escape
       sequence  matches.  The choice is either to match only CR, LF, or CRLF,
       or to match any Unicode newline sequence. These  options  override  the
       choice that was made or defaulted when the pattern was compiled.

         PCRE_NEWLINE_CR
         PCRE_NEWLINE_LF
         PCRE_NEWLINE_CRLF
         PCRE_NEWLINE_ANYCRLF
         PCRE_NEWLINE_ANY

       These  options  override  the  newline  definition  that  was chosen or
       defaulted when the pattern was compiled. For details, see the  descrip-
       tion  of  pcre_compile()  above.  During  matching,  the newline choice
       affects the behaviour of the dot, circumflex,  and  dollar  metacharac-
       ters.  It may also alter the way the match position is advanced after a
       match failure for an unanchored pattern.

       When PCRE_NEWLINE_CRLF, PCRE_NEWLINE_ANYCRLF,  or  PCRE_NEWLINE_ANY  is
       set,  and a match attempt for an unanchored pattern fails when the cur-
       rent position is at a  CRLF  sequence,  and  the  pattern  contains  no
       explicit  matches  for  CR  or  LF  characters,  the  match position is
       advanced by two characters instead of one, in other words, to after the
       CRLF.

       The above rule is a compromise that makes the most common cases work as
       expected. For example, if the  pattern  is  .+A  (and  the  PCRE_DOTALL
       option is not set), it does not match the string "\r\nA" because, after
       failing at the start, it skips both the CR and the LF before  retrying.
       However,  the  pattern  [\r\n]A does match that string, because it con-
       tains an explicit CR or LF reference, and so advances only by one char-
       acter after the first failure.

       An explicit match for CR of LF is either a literal appearance of one of
       those characters, or one of the \r or  \n  escape  sequences.  Implicit
       matches  such  as [^X] do not count, nor does \s (which includes CR and
       LF in the characters that it matches).

       Notwithstanding the above, anomalous effects may still occur when  CRLF
       is a valid newline sequence and explicit \r or \n escapes appear in the
       pattern.

         PCRE_NOTBOL

       This option specifies that first character of the subject string is not
       the  beginning  of  a  line, so the circumflex metacharacter should not
       match before it. Setting this without PCRE_MULTILINE (at compile  time)
       causes  circumflex  never to match. This option affects only the behav-
       iour of the circumflex metacharacter. It does not affect \A.

         PCRE_NOTEOL

       This option specifies that the end of the subject string is not the end
       of  a line, so the dollar metacharacter should not match it nor (except
       in multiline mode) a newline immediately before it. Setting this  with-
       out PCRE_MULTILINE (at compile time) causes dollar never to match. This
       option affects only the behaviour of the dollar metacharacter. It  does
       not affect \Z or \z.

         PCRE_NOTEMPTY

       An empty string is not considered to be a valid match if this option is
       set. If there are alternatives in the pattern, they are tried.  If  all
       the  alternatives  match  the empty string, the entire match fails. For
       example, if the pattern

         a?b?

       is applied to a string not beginning with "a" or  "b",  it  matches  an
       empty  string at the start of the subject. With PCRE_NOTEMPTY set, this
       match is not valid, so PCRE searches further into the string for occur-
       rences of "a" or "b".

         PCRE_NOTEMPTY_ATSTART

       This  is  like PCRE_NOTEMPTY, except that an empty string match that is
       not at the start of  the  subject  is  permitted.  If  the  pattern  is
       anchored, such a match can occur only if the pattern contains \K.

       Perl     has    no    direct    equivalent    of    PCRE_NOTEMPTY    or
       PCRE_NOTEMPTY_ATSTART, but it does make a special  case  of  a  pattern
       match  of  the empty string within its split() function, and when using
       the /g modifier. It is  possible  to  emulate  Perl's  behaviour  after
       matching a null string by first trying the match again at the same off-
       set with PCRE_NOTEMPTY_ATSTART and  PCRE_ANCHORED,  and  then  if  that
       fails, by advancing the starting offset (see below) and trying an ordi-
       nary match again. There is some code that demonstrates how to  do  this
       in the pcredemo sample program.

         PCRE_NO_START_OPTIMIZE

       There  are a number of optimizations that pcre_exec() uses at the start
       of a match, in order to speed up the process. For  example,  if  it  is
       known  that  a  match must start with a specific character, it searches
       the subject for that character, and fails immediately if it cannot find
       it,  without actually running the main matching function. When callouts
       are in use, these optimizations can cause  them  to  be  skipped.  This
       option  disables  the  "start-up" optimizations, causing performance to
       suffer, but ensuring that the callouts do occur.

         PCRE_NO_UTF8_CHECK

       When PCRE_UTF8 is set at compile time, the validity of the subject as a
       UTF-8  string is automatically checked when pcre_exec() is subsequently
       called.  The value of startoffset is also checked  to  ensure  that  it
       points  to  the start of a UTF-8 character. There is a discussion about
       the validity of UTF-8 strings in the section on UTF-8  support  in  the
       main  pcre  page.  If  an  invalid  UTF-8  sequence  of bytes is found,
       pcre_exec() returns the error PCRE_ERROR_BADUTF8. If  startoffset  con-
       tains an invalid value, PCRE_ERROR_BADUTF8_OFFSET is returned.

       If  you  already  know that your subject is valid, and you want to skip
       these   checks   for   performance   reasons,   you   can    set    the
       PCRE_NO_UTF8_CHECK  option  when calling pcre_exec(). You might want to
       do this for the second and subsequent calls to pcre_exec() if  you  are
       making  repeated  calls  to  find  all  the matches in a single subject
       string. However, you should be  sure  that  the  value  of  startoffset
       points  to  the  start of a UTF-8 character. When PCRE_NO_UTF8_CHECK is
       set, the effect of passing an invalid UTF-8 string as a subject,  or  a
       value  of startoffset that does not point to the start of a UTF-8 char-
       acter, is undefined. Your program may crash.

         PCRE_PARTIAL_HARD
         PCRE_PARTIAL_SOFT

       These options turn on the partial matching feature. For backwards  com-
       patibility,  PCRE_PARTIAL is a synonym for PCRE_PARTIAL_SOFT. A partial
       match occurs if the end of the subject string is reached  successfully,
       but  there  are not enough subject characters to complete the match. If
       this happens when PCRE_PARTIAL_HARD  is  set,  pcre_exec()  immediately
       returns  PCRE_ERROR_PARTIAL.  Otherwise,  if  PCRE_PARTIAL_SOFT is set,
       matching continues by testing any other alternatives. Only if they  all
       fail  is  PCRE_ERROR_PARTIAL  returned (instead of PCRE_ERROR_NOMATCH).
       The portion of the string that was inspected when the partial match was
       found  is  set  as  the first matching string. There is a more detailed
       discussion in the pcrepartial documentation.

   The string to be matched by pcre_exec()

       The subject string is passed to pcre_exec() as a pointer in subject,  a
       length (in bytes) in length, and a starting byte offset in startoffset.
       In UTF-8 mode, the byte offset must point to the start of a UTF-8 char-
       acter.  Unlike  the pattern string, the subject may contain binary zero
       bytes. When the starting offset is zero, the search for a match  starts
       at  the  beginning  of  the subject, and this is by far the most common
       case.

       A non-zero starting offset is useful when searching for  another  match
       in  the same subject by calling pcre_exec() again after a previous suc-
       cess.  Setting startoffset differs from just passing over  a  shortened
       string  and  setting  PCRE_NOTBOL  in the case of a pattern that begins
       with any kind of lookbehind. For example, consider the pattern

         \Biss\B

       which finds occurrences of "iss" in the middle of  words.  (\B  matches
       only  if  the  current position in the subject is not a word boundary.)
       When applied to the string "Mississipi" the first call  to  pcre_exec()
       finds  the  first  occurrence. If pcre_exec() is called again with just
       the remainder of the subject,  namely  "issipi",  it  does  not  match,
       because \B is always false at the start of the subject, which is deemed
       to be a word boundary. However, if pcre_exec()  is  passed  the  entire
       string again, but with startoffset set to 4, it finds the second occur-
       rence of "iss" because it is able to look behind the starting point  to
       discover that it is preceded by a letter.

       If  a  non-zero starting offset is passed when the pattern is anchored,
       one attempt to match at the given offset is made. This can only succeed
       if  the  pattern  does  not require the match to be at the start of the
       subject.

   How pcre_exec() returns captured substrings

       In general, a pattern matches a certain portion of the subject, and  in
       addition,  further  substrings  from  the  subject may be picked out by
       parts of the pattern. Following the usage  in  Jeffrey  Friedl's  book,
       this  is  called "capturing" in what follows, and the phrase "capturing
       subpattern" is used for a fragment of a pattern that picks out  a  sub-
       string.  PCRE  supports several other kinds of parenthesized subpattern
       that do not cause substrings to be captured.

       Captured substrings are returned to the caller via a vector of integers
       whose  address is passed in ovector. The number of elements in the vec-
       tor is passed in ovecsize, which must be a non-negative  number.  Note:
       this argument is NOT the size of ovector in bytes.

       The  first  two-thirds of the vector is used to pass back captured sub-
       strings, each substring using a pair of integers. The  remaining  third
       of  the  vector is used as workspace by pcre_exec() while matching cap-
       turing subpatterns, and is not available for passing back  information.
       The  number passed in ovecsize should always be a multiple of three. If
       it is not, it is rounded down.

       When a match is successful, information about  captured  substrings  is
       returned  in  pairs  of integers, starting at the beginning of ovector,
       and continuing up to two-thirds of its length at the  most.  The  first
       element  of  each pair is set to the byte offset of the first character
       in a substring, and the second is set to the byte offset of  the  first
       character  after  the end of a substring. Note: these values are always
       byte offsets, even in UTF-8 mode. They are not character counts.

       The first pair of integers, ovector[0]  and  ovector[1],  identify  the
       portion  of  the subject string matched by the entire pattern. The next
       pair is used for the first capturing subpattern, and so on.  The  value
       returned by pcre_exec() is one more than the highest numbered pair that
       has been set.  For example, if two substrings have been  captured,  the
       returned  value is 3. If there are no capturing subpatterns, the return
       value from a successful match is 1, indicating that just the first pair
       of offsets has been set.

       If a capturing subpattern is matched repeatedly, it is the last portion
       of the string that it matched that is returned.

       If the vector is too small to hold all the captured substring  offsets,
       it is used as far as possible (up to two-thirds of its length), and the
       function returns a value of zero. If the substring offsets are  not  of
       interest,  pcre_exec()  may  be  called with ovector passed as NULL and
       ovecsize as zero. However, if the pattern contains back references  and
       the  ovector is not big enough to remember the related substrings, PCRE
       has to get additional memory for use during matching. Thus it  is  usu-
       ally advisable to supply an ovector.

       The pcre_fullinfo() function can be used to find out how many capturing
       subpatterns there are in a compiled  pattern.  The  smallest  size  for
       ovector  that  will allow for n captured substrings, in addition to the
       offsets of the substring matched by the whole pattern, is (n+1)*3.

       It is possible for capturing subpattern number n+1 to match  some  part
       of the subject when subpattern n has not been used at all. For example,
       if the string "abc" is matched  against  the  pattern  (a|(z))(bc)  the
       return from the function is 4, and subpatterns 1 and 3 are matched, but
       2 is not. When this happens, both values in  the  offset  pairs  corre-
       sponding to unused subpatterns are set to -1.

       Offset  values  that correspond to unused subpatterns at the end of the
       expression are also set to -1. For example,  if  the  string  "abc"  is
       matched  against the pattern (abc)(x(yz)?)? subpatterns 2 and 3 are not
       matched. The return from the function is 2, because  the  highest  used
       capturing subpattern number is 1. However, you can refer to the offsets
       for the second and third capturing subpatterns if  you  wish  (assuming
       the vector is large enough, of course).

       Some  convenience  functions  are  provided for extracting the captured
       substrings as separate strings. These are described below.

   Error return values from pcre_exec()

       If pcre_exec() fails, it returns a negative number. The  following  are
       defined in the header file:

         PCRE_ERROR_NOMATCH        (-1)

       The subject string did not match the pattern.

         PCRE_ERROR_NULL           (-2)

       Either  code  or  subject  was  passed as NULL, or ovector was NULL and
       ovecsize was not zero.

         PCRE_ERROR_BADOPTION      (-3)

       An unrecognized bit was set in the options argument.

         PCRE_ERROR_BADMAGIC       (-4)

       PCRE stores a 4-byte "magic number" at the start of the compiled  code,
       to catch the case when it is passed a junk pointer and to detect when a
       pattern that was compiled in an environment of one endianness is run in
       an  environment  with the other endianness. This is the error that PCRE
       gives when the magic number is not present.

         PCRE_ERROR_UNKNOWN_OPCODE (-5)

       While running the pattern match, an unknown item was encountered in the
       compiled  pattern.  This  error  could be caused by a bug in PCRE or by
       overwriting of the compiled pattern.

         PCRE_ERROR_NOMEMORY       (-6)

       If a pattern contains back references, but the ovector that  is  passed
       to pcre_exec() is not big enough to remember the referenced substrings,
       PCRE gets a block of memory at the start of matching to  use  for  this
       purpose.  If the call via pcre_malloc() fails, this error is given. The
       memory is automatically freed at the end of matching.

         PCRE_ERROR_NOSUBSTRING    (-7)

       This error is used by the pcre_copy_substring(),  pcre_get_substring(),
       and  pcre_get_substring_list()  functions  (see  below).  It  is  never
       returned by pcre_exec().

         PCRE_ERROR_MATCHLIMIT     (-8)

       The backtracking limit, as specified by  the  match_limit  field  in  a
       pcre_extra  structure  (or  defaulted) was reached. See the description
       above.

         PCRE_ERROR_CALLOUT        (-9)

       This error is never generated by pcre_exec() itself. It is provided for
       use  by  callout functions that want to yield a distinctive error code.
       See the pcrecallout documentation for details.

         PCRE_ERROR_BADUTF8        (-10)

       A string that contains an invalid UTF-8 byte sequence was passed  as  a
       subject.

         PCRE_ERROR_BADUTF8_OFFSET (-11)

       The UTF-8 byte sequence that was passed as a subject was valid, but the
       value of startoffset did not point to the beginning of a UTF-8  charac-
       ter.

         PCRE_ERROR_PARTIAL        (-12)

       The  subject  string did not match, but it did match partially. See the
       pcrepartial documentation for details of partial matching.

         PCRE_ERROR_BADPARTIAL     (-13)

       This code is no longer in  use.  It  was  formerly  returned  when  the
       PCRE_PARTIAL  option  was used with a compiled pattern containing items
       that were  not  supported  for  partial  matching.  From  release  8.00
       onwards, there are no restrictions on partial matching.

         PCRE_ERROR_INTERNAL       (-14)

       An  unexpected  internal error has occurred. This error could be caused
       by a bug in PCRE or by overwriting of the compiled pattern.

         PCRE_ERROR_BADCOUNT       (-15)

       This error is given if the value of the ovecsize argument is negative.

         PCRE_ERROR_RECURSIONLIMIT (-21)

       The internal recursion limit, as specified by the match_limit_recursion
       field  in  a  pcre_extra  structure (or defaulted) was reached. See the
       description above.

         PCRE_ERROR_BADNEWLINE     (-23)

       An invalid combination of PCRE_NEWLINE_xxx options was given.

       Error numbers -16 to -20 and -22 are not used by pcre_exec().


EXTRACTING CAPTURED SUBSTRINGS BY NUMBER

       int pcre_copy_substring(const char *subject, int *ovector,
            int stringcount, int stringnumber, char *buffer,
            int buffersize);

       int pcre_get_substring(const char *subject, int *ovector,
            int stringcount, int stringnumber,
            const char **stringptr);

       int pcre_get_substring_list(const char *subject,
            int *ovector, int stringcount, const char ***listptr);

       Captured substrings can be  accessed  directly  by  using  the  offsets
       returned  by  pcre_exec()  in  ovector.  For convenience, the functions
       pcre_copy_substring(),    pcre_get_substring(),    and    pcre_get_sub-
       string_list()  are  provided for extracting captured substrings as new,
       separate, zero-terminated strings. These functions identify  substrings
       by  number.  The  next section describes functions for extracting named
       substrings.

       A substring that contains a binary zero is correctly extracted and  has
       a  further zero added on the end, but the result is not, of course, a C
       string.  However, you can process such a string  by  referring  to  the
       length  that  is  returned  by  pcre_copy_substring() and pcre_get_sub-
       string().  Unfortunately, the interface to pcre_get_substring_list() is
       not  adequate for handling strings containing binary zeros, because the
       end of the final string is not independently indicated.

       The first three arguments are the same for all  three  of  these  func-
       tions:  subject  is  the subject string that has just been successfully
       matched, ovector is a pointer to the vector of integer offsets that was
       passed to pcre_exec(), and stringcount is the number of substrings that
       were captured by the match, including the substring  that  matched  the
       entire regular expression. This is the value returned by pcre_exec() if
       it is greater than zero. If pcre_exec() returned zero, indicating  that
       it  ran out of space in ovector, the value passed as stringcount should
       be the number of elements in the vector divided by three.

       The functions pcre_copy_substring() and pcre_get_substring() extract  a
       single  substring,  whose  number  is given as stringnumber. A value of
       zero extracts the substring that matched the  entire  pattern,  whereas
       higher  values  extract  the  captured  substrings.  For pcre_copy_sub-
       string(), the string is placed in buffer,  whose  length  is  given  by
       buffersize,  while  for  pcre_get_substring()  a new block of memory is
       obtained via pcre_malloc, and its address is  returned  via  stringptr.
       The  yield  of  the function is the length of the string, not including
       the terminating zero, or one of these error codes:

         PCRE_ERROR_NOMEMORY       (-6)

       The buffer was too small for pcre_copy_substring(), or the  attempt  to
       get memory failed for pcre_get_substring().

         PCRE_ERROR_NOSUBSTRING    (-7)

       There is no substring whose number is stringnumber.

       The  pcre_get_substring_list()  function  extracts  all  available sub-
       strings and builds a list of pointers to them. All this is  done  in  a
       single block of memory that is obtained via pcre_malloc. The address of
       the memory block is returned via listptr, which is also  the  start  of
       the  list  of  string pointers. The end of the list is marked by a NULL
       pointer. The yield of the function is zero if all  went  well,  or  the
       error code

         PCRE_ERROR_NOMEMORY       (-6)

       if the attempt to get the memory block failed.

       When  any of these functions encounter a substring that is unset, which
       can happen when capturing subpattern number n+1 matches  some  part  of
       the  subject, but subpattern n has not been used at all, they return an
       empty string. This can be distinguished from a genuine zero-length sub-
       string  by inspecting the appropriate offset in ovector, which is nega-
       tive for unset substrings.

       The two convenience functions pcre_free_substring() and  pcre_free_sub-
       string_list()  can  be  used  to free the memory returned by a previous
       call  of  pcre_get_substring()  or  pcre_get_substring_list(),  respec-
       tively.  They  do  nothing  more  than  call the function pointed to by
       pcre_free, which of course could be called directly from a  C  program.
       However,  PCRE is used in some situations where it is linked via a spe-
       cial  interface  to  another  programming  language  that  cannot   use
       pcre_free  directly;  it is for these cases that the functions are pro-
       vided.


EXTRACTING CAPTURED SUBSTRINGS BY NAME

       int pcre_get_stringnumber(const pcre *code,
            const char *name);

       int pcre_copy_named_substring(const pcre *code,
            const char *subject, int *ovector,
            int stringcount, const char *stringname,
            char *buffer, int buffersize);

       int pcre_get_named_substring(const pcre *code,
            const char *subject, int *ovector,
            int stringcount, const char *stringname,
            const char **stringptr);

       To extract a substring by name, you first have to find associated  num-
       ber.  For example, for this pattern

         (a+)b(?<xxx>\d+)...

       the number of the subpattern called "xxx" is 2. If the name is known to
       be unique (PCRE_DUPNAMES was not set), you can find the number from the
       name by calling pcre_get_stringnumber(). The first argument is the com-
       piled pattern, and the second is the name. The yield of the function is
       the  subpattern  number,  or PCRE_ERROR_NOSUBSTRING (-7) if there is no
       subpattern of that name.

       Given the number, you can extract the substring directly, or use one of
       the functions described in the previous section. For convenience, there
       are also two functions that do the whole job.

       Most   of   the   arguments    of    pcre_copy_named_substring()    and
       pcre_get_named_substring()  are  the  same  as  those for the similarly
       named functions that extract by number. As these are described  in  the
       previous  section,  they  are not re-described here. There are just two
       differences:

       First, instead of a substring number, a substring name is  given.  Sec-
       ond, there is an extra argument, given at the start, which is a pointer
       to the compiled pattern. This is needed in order to gain access to  the
       name-to-number translation table.

       These  functions call pcre_get_stringnumber(), and if it succeeds, they
       then call pcre_copy_substring() or pcre_get_substring(),  as  appropri-
       ate.  NOTE:  If PCRE_DUPNAMES is set and there are duplicate names, the
       behaviour may not be what you want (see the next section).

       Warning: If the pattern uses the (?| feature to set up multiple subpat-
       terns  with  the  same number, as described in the section on duplicate
       subpattern numbers in the pcrepattern page, you  cannot  use  names  to
       distinguish  the  different subpatterns, because names are not included
       in the compiled code. The matching process uses only numbers. For  this
       reason,  the  use of different names for subpatterns of the same number
       causes an error at compile time.


DUPLICATE SUBPATTERN NAMES

       int pcre_get_stringtable_entries(const pcre *code,
            const char *name, char **first, char **last);

       When a pattern is compiled with the  PCRE_DUPNAMES  option,  names  for
       subpatterns  are not required to be unique. (Duplicate names are always
       allowed for subpatterns with the same number, created by using the  (?|
       feature.  Indeed,  if  such subpatterns are named, they are required to
       use the same names.)

       Normally, patterns with duplicate names are such that in any one match,
       only  one of the named subpatterns participates. An example is shown in
       the pcrepattern documentation.

       When   duplicates   are   present,   pcre_copy_named_substring()    and
       pcre_get_named_substring()  return the first substring corresponding to
       the given name that is set. If  none  are  set,  PCRE_ERROR_NOSUBSTRING
       (-7)  is  returned;  no  data  is returned. The pcre_get_stringnumber()
       function returns one of the numbers that are associated with the  name,
       but it is not defined which it is.

       If  you want to get full details of all captured substrings for a given
       name, you must use  the  pcre_get_stringtable_entries()  function.  The
       first argument is the compiled pattern, and the second is the name. The
       third and fourth are pointers to variables which  are  updated  by  the
       function. After it has run, they point to the first and last entries in
       the name-to-number table  for  the  given  name.  The  function  itself
       returns  the  length  of  each entry, or PCRE_ERROR_NOSUBSTRING (-7) if
       there are none. The format of the table is described above in the  sec-
       tion  entitled  Information  about  a  pattern.  Given all the relevant
       entries for the name, you can extract each of their numbers, and  hence
       the captured data, if any.


FINDING ALL POSSIBLE MATCHES

       The  traditional  matching  function  uses a similar algorithm to Perl,
       which stops when it finds the first match, starting at a given point in
       the  subject.  If you want to find all possible matches, or the longest
       possible match, consider using the alternative matching  function  (see
       below)  instead.  If you cannot use the alternative function, but still
       need to find all possible matches, you can kludge it up by  making  use
       of the callout facility, which is described in the pcrecallout documen-
       tation.

       What you have to do is to insert a callout right at the end of the pat-
       tern.   When your callout function is called, extract and save the cur-
       rent matched substring. Then return  1,  which  forces  pcre_exec()  to
       backtrack  and  try other alternatives. Ultimately, when it runs out of
       matches, pcre_exec() will yield PCRE_ERROR_NOMATCH.


MATCHING A PATTERN: THE ALTERNATIVE FUNCTION

       int pcre_dfa_exec(const pcre *code, const pcre_extra *extra,
            const char *subject, int length, int startoffset,
            int options, int *ovector, int ovecsize,
            int *workspace, int wscount);

       The function pcre_dfa_exec()  is  called  to  match  a  subject  string
       against  a  compiled pattern, using a matching algorithm that scans the
       subject string just once, and does not backtrack.  This  has  different
       characteristics  to  the  normal  algorithm, and is not compatible with
       Perl. Some of the features of PCRE patterns are not  supported.  Never-
       theless,  there are times when this kind of matching can be useful. For
       a discussion of the two matching algorithms, and  a  list  of  features
       that  pcre_dfa_exec() does not support, see the pcrematching documenta-
       tion.

       The arguments for the pcre_dfa_exec() function  are  the  same  as  for
       pcre_exec(), plus two extras. The ovector argument is used in a differ-
       ent way, and this is described below. The other  common  arguments  are
       used  in  the  same way as for pcre_exec(), so their description is not
       repeated here.

       The two additional arguments provide workspace for  the  function.  The
       workspace  vector  should  contain at least 20 elements. It is used for
       keeping  track  of  multiple  paths  through  the  pattern  tree.  More
       workspace  will  be  needed for patterns and subjects where there are a
       lot of potential matches.

       Here is an example of a simple call to pcre_dfa_exec():

         int rc;
         int ovector[10];
         int wspace[20];
         rc = pcre_dfa_exec(
           re,             /* result of pcre_compile() */
           NULL,           /* we didn't study the pattern */
           "some string",  /* the subject string */
           11,             /* the length of the subject string */
           0,              /* start at offset 0 in the subject */
           0,              /* default options */
           ovector,        /* vector of integers for substring information */
           10,             /* number of elements (NOT size in bytes) */
           wspace,         /* working space vector */
           20);            /* number of elements (NOT size in bytes) */

   Option bits for pcre_dfa_exec()

       The unused bits of the options argument  for  pcre_dfa_exec()  must  be
       zero.  The  only  bits  that  may  be  set are PCRE_ANCHORED, PCRE_NEW-
       LINE_xxx,        PCRE_NOTBOL,        PCRE_NOTEOL,        PCRE_NOTEMPTY,
       PCRE_NOTEMPTY_ATSTART, PCRE_NO_UTF8_CHECK, PCRE_PARTIAL_HARD, PCRE_PAR-
       TIAL_SOFT, PCRE_DFA_SHORTEST, and PCRE_DFA_RESTART. All  but  the  last
       four  of  these  are  exactly  the  same  as  for pcre_exec(), so their
       description is not repeated here.

         PCRE_PARTIAL_HARD
         PCRE_PARTIAL_SOFT

       These have the same general effect as they do for pcre_exec(), but  the
       details  are  slightly  different.  When  PCRE_PARTIAL_HARD  is set for
       pcre_dfa_exec(), it returns PCRE_ERROR_PARTIAL if the end of  the  sub-
       ject  is  reached  and there is still at least one matching possibility
       that requires additional characters. This happens even if some complete
       matches have also been found. When PCRE_PARTIAL_SOFT is set, the return
       code PCRE_ERROR_NOMATCH is converted into PCRE_ERROR_PARTIAL if the end
       of  the  subject  is  reached, there have been no complete matches, but
       there is still at least one matching possibility. The  portion  of  the
       string  that  was inspected when the longest partial match was found is
       set as the first matching string in both cases.

         PCRE_DFA_SHORTEST

       Setting the PCRE_DFA_SHORTEST option causes the matching  algorithm  to
       stop as soon as it has found one match. Because of the way the alterna-
       tive algorithm works, this is necessarily the shortest  possible  match
       at the first possible matching point in the subject string.

         PCRE_DFA_RESTART

       When pcre_dfa_exec() returns a partial match, it is possible to call it
       again, with additional subject characters, and have  it  continue  with
       the  same match. The PCRE_DFA_RESTART option requests this action; when
       it is set, the workspace and wscount options must  reference  the  same
       vector  as  before  because data about the match so far is left in them
       after a partial match. There is more discussion of this facility in the
       pcrepartial documentation.

   Successful returns from pcre_dfa_exec()

       When  pcre_dfa_exec()  succeeds, it may have matched more than one sub-
       string in the subject. Note, however, that all the matches from one run
       of  the  function  start  at the same point in the subject. The shorter
       matches are all initial substrings of the longer matches. For  example,
       if the pattern

         <.*>

       is matched against the string

         This is <something> <something else> <something further> no more

       the three matched strings are

         <something>
         <something> <something else>
         <something> <something else> <something further>

       On  success,  the  yield of the function is a number greater than zero,
       which is the number of matched substrings.  The  substrings  themselves
       are  returned  in  ovector. Each string uses two elements; the first is
       the offset to the start, and the second is the offset to  the  end.  In
       fact,  all  the  strings  have the same start offset. (Space could have
       been saved by giving this only once, but it was decided to retain  some
       compatibility  with  the  way pcre_exec() returns data, even though the
       meaning of the strings is different.)

       The strings are returned in reverse order of length; that is, the long-
       est  matching  string is given first. If there were too many matches to
       fit into ovector, the yield of the function is zero, and the vector  is
       filled with the longest matches.

   Error returns from pcre_dfa_exec()

       The  pcre_dfa_exec()  function returns a negative number when it fails.
       Many of the errors are the same  as  for  pcre_exec(),  and  these  are
       described  above.   There are in addition the following errors that are
       specific to pcre_dfa_exec():

         PCRE_ERROR_DFA_UITEM      (-16)

       This return is given if pcre_dfa_exec() encounters an item in the  pat-
       tern  that  it  does not support, for instance, the use of \C or a back
       reference.

         PCRE_ERROR_DFA_UCOND      (-17)

       This return is given if pcre_dfa_exec()  encounters  a  condition  item
       that  uses  a back reference for the condition, or a test for recursion
       in a specific group. These are not supported.

         PCRE_ERROR_DFA_UMLIMIT    (-18)

       This return is given if pcre_dfa_exec() is called with an  extra  block
       that contains a setting of the match_limit field. This is not supported
       (it is meaningless).

         PCRE_ERROR_DFA_WSSIZE     (-19)

       This return is given if  pcre_dfa_exec()  runs  out  of  space  in  the
       workspace vector.

         PCRE_ERROR_DFA_RECURSE    (-20)

       When  a  recursive subpattern is processed, the matching function calls
       itself recursively, using private vectors for  ovector  and  workspace.
       This  error  is  given  if  the output vector is not large enough. This
       should be extremely rare, as a vector of size 1000 is used.


SEE ALSO

       pcrebuild(3), pcrecallout(3), pcrecpp(3)(3), pcrematching(3),  pcrepar-
       tial(3), pcreposix(3), pcreprecompile(3), pcresample(3), pcrestack(3).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 03 October 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCRECALLOUT(3)                                                  PCRECALLOUT(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE CALLOUTS

       int (*pcre_callout)(pcre_callout_block *);

       PCRE provides a feature called "callout", which is a means of temporar-
       ily passing control to the caller of PCRE  in  the  middle  of  pattern
       matching.  The  caller of PCRE provides an external function by putting
       its entry point in the global variable pcre_callout. By  default,  this
       variable contains NULL, which disables all calling out.

       Within  a  regular  expression,  (?C) indicates the points at which the
       external function is to be called.  Different  callout  points  can  be
       identified  by  putting  a number less than 256 after the letter C. The
       default value is zero.  For  example,  this  pattern  has  two  callout
       points:

         (?C1)abc(?C2)def

       If  the  PCRE_AUTO_CALLOUT  option  bit  is  set when pcre_compile() or
       pcre_compile2() is called, PCRE  automatically  inserts  callouts,  all
       with  number  255,  before  each  item  in the pattern. For example, if
       PCRE_AUTO_CALLOUT is used with the pattern

         A(\d{2}|--)

       it is processed as if it were

       (?C255)A(?C255)((?C255)\d{2}(?C255)|(?C255)-(?C255)-(?C255))(?C255)

       Notice that there is a callout before and after  each  parenthesis  and
       alternation  bar.  Automatic  callouts  can  be  used  for tracking the
       progress of pattern matching. The pcretest command has an  option  that
       sets  automatic callouts; when it is used, the output indicates how the
       pattern is matched. This is useful information when you are  trying  to
       optimize the performance of a particular pattern.


MISSING CALLOUTS

       You  should  be  aware  that,  because of optimizations in the way PCRE
       matches patterns by default, callouts  sometimes  do  not  happen.  For
       example, if the pattern is

         ab(?C4)cd

       PCRE knows that any matching string must contain the letter "d". If the
       subject string is "abyz", the lack of "d" means that  matching  doesn't
       ever  start,  and  the  callout is never reached. However, with "abyd",
       though the result is still no match, the callout is obeyed.

       If the pattern is studied, PCRE knows the minimum length of a  matching
       string,  and will immediately give a "no match" return without actually
       running a match if the subject is not long enough, or,  for  unanchored
       patterns, if it has been scanned far enough.

       You  can disable these optimizations by passing the PCRE_NO_START_OPTI-
       MIZE option to pcre_exec() or  pcre_dfa_exec().  This  slows  down  the
       matching  process,  but  does  ensure that callouts such as the example
       above are obeyed.


THE CALLOUT INTERFACE

       During matching, when PCRE reaches a callout point, the external  func-
       tion  defined by pcre_callout is called (if it is set). This applies to
       both the pcre_exec() and the pcre_dfa_exec()  matching  functions.  The
       only  argument  to  the callout function is a pointer to a pcre_callout
       block. This structure contains the following fields:

         int          version;
         int          callout_number;
         int         *offset_vector;
         const char  *subject;
         int          subject_length;
         int          start_match;
         int          current_position;
         int          capture_top;
         int          capture_last;
         void        *callout_data;
         int          pattern_position;
         int          next_item_length;

       The version field is an integer containing the version  number  of  the
       block  format. The initial version was 0; the current version is 1. The
       version number will change again in future  if  additional  fields  are
       added, but the intention is never to remove any of the existing fields.

       The  callout_number  field  contains the number of the callout, as com-
       piled into the pattern (that is, the number after ?C for  manual  call-
       outs, and 255 for automatically generated callouts).

       The  offset_vector field is a pointer to the vector of offsets that was
       passed  by  the  caller  to  pcre_exec()   or   pcre_dfa_exec().   When
       pcre_exec()  is used, the contents can be inspected in order to extract
       substrings that have been matched so  far,  in  the  same  way  as  for
       extracting  substrings after a match has completed. For pcre_dfa_exec()
       this field is not useful.

       The subject and subject_length fields contain copies of the values that
       were passed to pcre_exec().

       The  start_match  field normally contains the offset within the subject
       at which the current match attempt  started.  However,  if  the  escape
       sequence  \K has been encountered, this value is changed to reflect the
       modified starting point. If the pattern is not  anchored,  the  callout
       function may be called several times from the same point in the pattern
       for different starting points in the subject.

       The current_position field contains the offset within  the  subject  of
       the current match pointer.

       When  the  pcre_exec() function is used, the capture_top field contains
       one more than the number of the highest numbered captured substring  so
       far.  If  no substrings have been captured, the value of capture_top is
       one. This is always the case when pcre_dfa_exec() is used,  because  it
       does not support captured substrings.

       The  capture_last  field  contains the number of the most recently cap-
       tured substring. If no substrings have been captured, its value is  -1.
       This is always the case when pcre_dfa_exec() is used.

       The  callout_data  field contains a value that is passed to pcre_exec()
       or pcre_dfa_exec() specifically so that it can be passed back in  call-
       outs.  It  is  passed  in the pcre_callout field of the pcre_extra data
       structure. If no such data was passed, the value of callout_data  in  a
       pcre_callout  block  is  NULL. There is a description of the pcre_extra
       structure in the pcreapi documentation.

       The pattern_position field is present from version 1 of the  pcre_call-
       out structure. It contains the offset to the next item to be matched in
       the pattern string.

       The next_item_length field is present from version 1 of the  pcre_call-
       out structure. It contains the length of the next item to be matched in
       the pattern string. When the callout immediately precedes  an  alterna-
       tion  bar, a closing parenthesis, or the end of the pattern, the length
       is zero. When the callout precedes an opening parenthesis,  the  length
       is that of the entire subpattern.

       The  pattern_position  and next_item_length fields are intended to help
       in distinguishing between different automatic callouts, which all  have
       the same callout number. However, they are set for all callouts.


RETURN VALUES

       The  external callout function returns an integer to PCRE. If the value
       is zero, matching proceeds as normal. If  the  value  is  greater  than
       zero,  matching  fails  at  the current point, but the testing of other
       matching possibilities goes ahead, just as if a lookahead assertion had
       failed.  If  the  value  is less than zero, the match is abandoned, and
       pcre_exec() or pcre_dfa_exec() returns the negative value.

       Negative  values  should  normally  be   chosen   from   the   set   of
       PCRE_ERROR_xxx values. In particular, PCRE_ERROR_NOMATCH forces a stan-
       dard "no  match"  failure.   The  error  number  PCRE_ERROR_CALLOUT  is
       reserved  for  use  by callout functions; it will never be used by PCRE
       itself.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 29 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCRECOMPAT(3)                                                    PCRECOMPAT(3)


NAME
       PCRE - Perl-compatible regular expressions


DIFFERENCES BETWEEN PCRE AND PERL

       This  document describes the differences in the ways that PCRE and Perl
       handle regular expressions. The differences  described  here  are  with
       respect to Perl 5.10.

       1.  PCRE has only a subset of Perl's UTF-8 and Unicode support. Details
       of what it does have are given in the section on UTF-8 support  in  the
       main pcre page.

       2. PCRE does not allow repeat quantifiers on lookahead assertions. Perl
       permits them, but they do not mean what you might think.  For  example,
       (?!a){3} does not assert that the next three characters are not "a". It
       just asserts that the next character is not "a" three times.

       3. Capturing subpatterns that occur inside  negative  lookahead  asser-
       tions  are  counted,  but their entries in the offsets vector are never
       set. Perl sets its numerical variables from any such patterns that  are
       matched before the assertion fails to match something (thereby succeed-
       ing), but only if the negative lookahead assertion  contains  just  one
       branch.

       4.  Though  binary zero characters are supported in the subject string,
       they are not allowed in a pattern string because it is passed as a nor-
       mal C string, terminated by zero. The escape sequence \0 can be used in
       the pattern to represent a binary zero.

       5. The following Perl escape sequences are not supported: \l,  \u,  \L,
       \U, and \N. In fact these are implemented by Perl's general string-han-
       dling and are not part of its pattern matching engine. If any of  these
       are encountered by PCRE, an error is generated.

       6.  The Perl escape sequences \p, \P, and \X are supported only if PCRE
       is built with Unicode character property support. The  properties  that
       can  be tested with \p and \P are limited to the general category prop-
       erties such as Lu and Nd, script names such as Greek or  Han,  and  the
       derived  properties  Any  and  L&. PCRE does support the Cs (surrogate)
       property, which Perl does not; the  Perl  documentation  says  "Because
       Perl hides the need for the user to understand the internal representa-
       tion of Unicode characters, there is no need to implement the  somewhat
       messy concept of surrogates."

       7. PCRE does support the \Q...\E escape for quoting substrings. Charac-
       ters in between are treated as literals.  This  is  slightly  different
       from  Perl  in  that  $  and  @ are also handled as literals inside the
       quotes. In Perl, they cause variable interpolation (but of course  PCRE
       does not have variables). Note the following examples:

           Pattern            PCRE matches      Perl matches

           \Qabc$xyz\E        abc$xyz           abc followed by the
                                                  contents of $xyz
           \Qabc\$xyz\E       abc\$xyz          abc\$xyz
           \Qabc\E\$\Qxyz\E   abc$xyz           abc$xyz

       The  \Q...\E  sequence  is recognized both inside and outside character
       classes.

       8. Fairly obviously, PCRE does not support the (?{code}) and (??{code})
       constructions.  However,  there is support for recursive patterns. This
       is not available in Perl 5.8, but it is in Perl 5.10.  Also,  the  PCRE
       "callout"  feature allows an external function to be called during pat-
       tern matching. See the pcrecallout documentation for details.

       9. Subpatterns that are called  recursively  or  as  "subroutines"  are
       always  treated  as  atomic  groups  in  PCRE. This is like Python, but
       unlike Perl. There is a discussion of an example that explains this  in
       more  detail  in  the section on recursion differences from Perl in the
       pcrepattern page.

       10. There are some differences that are concerned with the settings  of
       captured  strings  when  part  of  a  pattern is repeated. For example,
       matching "aba" against the  pattern  /^(a(b)?)+$/  in  Perl  leaves  $2
       unset, but in PCRE it is set to "b".

       11.  PCRE  does  support  Perl  5.10's  backtracking  verbs  (*ACCEPT),
       (*FAIL), (*F), (*COMMIT), (*PRUNE), (*SKIP), and (*THEN), but  only  in
       the forms without an argument. PCRE does not support (*MARK).

       12.  PCRE's handling of duplicate subpattern numbers and duplicate sub-
       pattern names is not as general as Perl's. This is a consequence of the
       fact the PCRE works internally just with numbers, using an external ta-
       ble to translate between numbers and names. In  particular,  a  pattern
       such  as  (?|(?<a>A)|(?<b)B),  where the two capturing parentheses have
       the same number but different names, is not supported,  and  causes  an
       error  at compile time. If it were allowed, it would not be possible to
       distinguish which parentheses matched, because both names map  to  cap-
       turing subpattern number 1. To avoid this confusing situation, an error
       is given at compile time.

       13. PCRE provides some extensions to the Perl regular expression facil-
       ities.   Perl  5.10  includes new features that are not in earlier ver-
       sions of Perl, some of which (such as named parentheses) have  been  in
       PCRE for some time. This list is with respect to Perl 5.10:

       (a)  Although  lookbehind  assertions  in  PCRE must match fixed length
       strings, each alternative branch of a lookbehind assertion can match  a
       different  length  of  string.  Perl requires them all to have the same
       length.

       (b) If PCRE_DOLLAR_ENDONLY is set and PCRE_MULTILINE is not set, the  $
       meta-character matches only at the very end of the string.

       (c) If PCRE_EXTRA is set, a backslash followed by a letter with no spe-
       cial meaning is faulted. Otherwise, like Perl, the backslash is quietly
       ignored.  (Perl can be made to issue a warning.)

       (d)  If  PCRE_UNGREEDY is set, the greediness of the repetition quanti-
       fiers is inverted, that is, by default they are not greedy, but if fol-
       lowed by a question mark they are.

       (e) PCRE_ANCHORED can be used at matching time to force a pattern to be
       tried only at the first matching position in the subject string.

       (f) The PCRE_NOTBOL, PCRE_NOTEOL, PCRE_NOTEMPTY, PCRE_NOTEMPTY_ATSTART,
       and  PCRE_NO_AUTO_CAPTURE  options for pcre_exec() have no Perl equiva-
       lents.

       (g) The \R escape sequence can be restricted to match only CR,  LF,  or
       CRLF by the PCRE_BSR_ANYCRLF option.

       (h) The callout facility is PCRE-specific.

       (i) The partial matching facility is PCRE-specific.

       (j) Patterns compiled by PCRE can be saved and re-used at a later time,
       even on different hosts that have the other endianness.

       (k) The alternative matching function (pcre_dfa_exec())  matches  in  a
       different way and is not Perl-compatible.

       (l)  PCRE  recognizes some special sequences such as (*CR) at the start
       of a pattern that set overall options that cannot be changed within the
       pattern.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 04 October 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCREPATTERN(3)                                                  PCREPATTERN(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE REGULAR EXPRESSION DETAILS

       The  syntax and semantics of the regular expressions that are supported
       by PCRE are described in detail below. There is a quick-reference  syn-
       tax summary in the pcresyntax page. PCRE tries to match Perl syntax and
       semantics as closely as it can. PCRE  also  supports  some  alternative
       regular  expression  syntax (which does not conflict with the Perl syn-
       tax) in order to provide some compatibility with regular expressions in
       Python, .NET, and Oniguruma.

       Perl's  regular expressions are described in its own documentation, and
       regular expressions in general are covered in a number of  books,  some
       of  which  have  copious  examples. Jeffrey Friedl's "Mastering Regular
       Expressions", published by  O'Reilly,  covers  regular  expressions  in
       great  detail.  This  description  of  PCRE's  regular  expressions  is
       intended as reference material.

       The original operation of PCRE was on strings of  one-byte  characters.
       However,  there is now also support for UTF-8 character strings. To use
       this, PCRE must be built to include UTF-8 support, and  you  must  call
       pcre_compile()  or  pcre_compile2() with the PCRE_UTF8 option. There is
       also a special sequence that can be given at the start of a pattern:

         (*UTF8)

       Starting a pattern with this sequence  is  equivalent  to  setting  the
       PCRE_UTF8  option.  This  feature  is  not Perl-compatible. How setting
       UTF-8 mode affects pattern matching  is  mentioned  in  several  places
       below.  There  is  also  a  summary of UTF-8 features in the section on
       UTF-8 support in the main pcre page.

       The remainder of this document discusses the  patterns  that  are  sup-
       ported  by  PCRE when its main matching function, pcre_exec(), is used.
       From  release  6.0,   PCRE   offers   a   second   matching   function,
       pcre_dfa_exec(),  which matches using a different algorithm that is not
       Perl-compatible. Some of the features discussed below are not available
       when  pcre_dfa_exec()  is used. The advantages and disadvantages of the
       alternative function, and how it differs from the normal function,  are
       discussed in the pcrematching page.


NEWLINE CONVENTIONS

       PCRE  supports five different conventions for indicating line breaks in
       strings: a single CR (carriage return) character, a  single  LF  (line-
       feed) character, the two-character sequence CRLF, any of the three pre-
       ceding, or any Unicode newline sequence. The pcreapi page  has  further
       discussion  about newlines, and shows how to set the newline convention
       in the options arguments for the compiling and matching functions.

       It is also possible to specify a newline convention by starting a  pat-
       tern string with one of the following five sequences:

         (*CR)        carriage return
         (*LF)        linefeed
         (*CRLF)      carriage return, followed by linefeed
         (*ANYCRLF)   any of the three above
         (*ANY)       all Unicode newline sequences

       These  override  the default and the options given to pcre_compile() or
       pcre_compile2(). For example, on a Unix system where LF is the  default
       newline sequence, the pattern

         (*CR)a.b

       changes the convention to CR. That pattern matches "a\nb" because LF is
       no longer a newline. Note that these special settings,  which  are  not
       Perl-compatible,  are  recognized  only at the very start of a pattern,
       and that they must be in upper case.  If  more  than  one  of  them  is
       present, the last one is used.

       The  newline  convention  does  not  affect what the \R escape sequence
       matches. By default, this is any Unicode  newline  sequence,  for  Perl
       compatibility.  However, this can be changed; see the description of \R
       in the section entitled "Newline sequences" below. A change of \R  set-
       ting can be combined with a change of newline convention.


CHARACTERS AND METACHARACTERS

       A  regular  expression  is  a pattern that is matched against a subject
       string from left to right. Most characters stand for  themselves  in  a
       pattern,  and  match  the corresponding characters in the subject. As a
       trivial example, the pattern

         The quick brown fox

       matches a portion of a subject string that is identical to itself. When
       caseless  matching is specified (the PCRE_CASELESS option), letters are
       matched independently of case. In UTF-8 mode, PCRE  always  understands
       the  concept  of case for characters whose values are less than 128, so
       caseless matching is always possible. For characters with  higher  val-
       ues,  the concept of case is supported if PCRE is compiled with Unicode
       property support, but not otherwise.   If  you  want  to  use  caseless
       matching  for  characters  128  and above, you must ensure that PCRE is
       compiled with Unicode property support as well as with UTF-8 support.

       The power of regular expressions comes  from  the  ability  to  include
       alternatives  and  repetitions in the pattern. These are encoded in the
       pattern by the use of metacharacters, which do not stand for themselves
       but instead are interpreted in some special way.

       There  are  two different sets of metacharacters: those that are recog-
       nized anywhere in the pattern except within square brackets, and  those
       that  are  recognized  within square brackets. Outside square brackets,
       the metacharacters are as follows:

         \      general escape character with several uses
         ^      assert start of string (or line, in multiline mode)
         $      assert end of string (or line, in multiline mode)
         .      match any character except newline (by default)
         [      start character class definition
         |      start of alternative branch
         (      start subpattern
         )      end subpattern
         ?      extends the meaning of (
                also 0 or 1 quantifier
                also quantifier minimizer
         *      0 or more quantifier
         +      1 or more quantifier
                also "possessive quantifier"
         {      start min/max quantifier

       Part of a pattern that is in square brackets  is  called  a  "character
       class". In a character class the only metacharacters are:

         \      general escape character
         ^      negate the class, but only if the first character
         -      indicates character range
         [      POSIX character class (only if followed by POSIX
                  syntax)
         ]      terminates the character class

       The following sections describe the use of each of the metacharacters.


BACKSLASH

       The backslash character has several uses. Firstly, if it is followed by
       a non-alphanumeric character, it takes away any  special  meaning  that
       character  may  have.  This  use  of  backslash  as an escape character
       applies both inside and outside character classes.

       For example, if you want to match a * character, you write  \*  in  the
       pattern.   This  escaping  action  applies whether or not the following
       character would otherwise be interpreted as a metacharacter, so  it  is
       always  safe  to  precede  a non-alphanumeric with backslash to specify
       that it stands for itself. In particular, if you want to match a  back-
       slash, you write \\.

       If  a  pattern is compiled with the PCRE_EXTENDED option, whitespace in
       the pattern (other than in a character class) and characters between  a
       # outside a character class and the next newline are ignored. An escap-
       ing backslash can be used to include a whitespace  or  #  character  as
       part of the pattern.

       If  you  want  to remove the special meaning from a sequence of charac-
       ters, you can do so by putting them between \Q and \E. This is  differ-
       ent  from  Perl  in  that  $  and  @ are handled as literals in \Q...\E
       sequences in PCRE, whereas in Perl, $ and @ cause  variable  interpola-
       tion. Note the following examples:

         Pattern            PCRE matches   Perl matches

         \Qabc$xyz\E        abc$xyz        abc followed by the
                                             contents of $xyz
         \Qabc\$xyz\E       abc\$xyz       abc\$xyz
         \Qabc\E\$\Qxyz\E   abc$xyz        abc$xyz

       The  \Q...\E  sequence  is recognized both inside and outside character
       classes.

   Non-printing characters

       A second use of backslash provides a way of encoding non-printing char-
       acters  in patterns in a visible manner. There is no restriction on the
       appearance of non-printing characters, apart from the binary zero  that
       terminates  a  pattern,  but  when  a pattern is being prepared by text
       editing, it is  often  easier  to  use  one  of  the  following  escape
       sequences than the binary character it represents:

         \a        alarm, that is, the BEL character (hex 07)
         \cx       "control-x", where x is any character
         \e        escape (hex 1B)
         \f        formfeed (hex 0C)
         \n        linefeed (hex 0A)
         \r        carriage return (hex 0D)
         \t        tab (hex 09)
         \ddd      character with octal code ddd, or back reference
         \xhh      character with hex code hh
         \x{hhh..} character with hex code hhh..

       The  precise  effect of \cx is as follows: if x is a lower case letter,
       it is converted to upper case. Then bit 6 of the character (hex 40)  is
       inverted.   Thus  \cz becomes hex 1A, but \c{ becomes hex 3B, while \c;
       becomes hex 7B.

       After \x, from zero to two hexadecimal digits are read (letters can  be
       in  upper  or  lower case). Any number of hexadecimal digits may appear
       between \x{ and }, but the value of the character  code  must  be  less
       than 256 in non-UTF-8 mode, and less than 2**31 in UTF-8 mode. That is,
       the maximum value in hexadecimal is 7FFFFFFF. Note that this is  bigger
       than the largest Unicode code point, which is 10FFFF.

       If  characters  other than hexadecimal digits appear between \x{ and },
       or if there is no terminating }, this form of escape is not recognized.
       Instead,  the  initial  \x  will  be interpreted as a basic hexadecimal
       escape, with no following digits, giving a  character  whose  value  is
       zero.

       Characters whose value is less than 256 can be defined by either of the
       two syntaxes for \x. There is no difference in the way  they  are  han-
       dled. For example, \xdc is exactly the same as \x{dc}.

       After  \0  up  to two further octal digits are read. If there are fewer
       than two digits, just  those  that  are  present  are  used.  Thus  the
       sequence \0\x\07 specifies two binary zeros followed by a BEL character
       (code value 7). Make sure you supply two digits after the initial  zero
       if the pattern character that follows is itself an octal digit.

       The handling of a backslash followed by a digit other than 0 is compli-
       cated.  Outside a character class, PCRE reads it and any following dig-
       its  as  a  decimal  number. If the number is less than 10, or if there
       have been at least that many previous capturing left parentheses in the
       expression,  the  entire  sequence  is  taken  as  a  back reference. A
       description of how this works is given later, following the  discussion
       of parenthesized subpatterns.

       Inside  a  character  class, or if the decimal number is greater than 9
       and there have not been that many capturing subpatterns, PCRE  re-reads
       up to three octal digits following the backslash, and uses them to gen-
       erate a data character. Any subsequent digits stand for themselves.  In
       non-UTF-8  mode,  the  value  of a character specified in octal must be
       less than \400. In UTF-8 mode, values up to  \777  are  permitted.  For
       example:

         \040   is another way of writing a space
         \40    is the same, provided there are fewer than 40
                   previous capturing subpatterns
         \7     is always a back reference
         \11    might be a back reference, or another way of
                   writing a tab
         \011   is always a tab
         \0113  is a tab followed by the character "3"
         \113   might be a back reference, otherwise the
                   character with octal code 113
         \377   might be a back reference, otherwise
                   the byte consisting entirely of 1 bits
         \81    is either a back reference, or a binary zero
                   followed by the two characters "8" and "1"

       Note  that  octal  values of 100 or greater must not be introduced by a
       leading zero, because no more than three octal digits are ever read.

       All the sequences that define a single character value can be used both
       inside  and  outside character classes. In addition, inside a character
       class, the sequence \b is interpreted as the backspace  character  (hex
       08),  and the sequences \R and \X are interpreted as the characters "R"
       and "X", respectively. Outside a character class, these sequences  have
       different meanings (see below).

   Absolute and relative back references

       The  sequence  \g followed by an unsigned or a negative number, option-
       ally enclosed in braces, is an absolute or relative back  reference.  A
       named back reference can be coded as \g{name}. Back references are dis-
       cussed later, following the discussion of parenthesized subpatterns.

   Absolute and relative subroutine calls

       For compatibility with Oniguruma, the non-Perl syntax \g followed by  a
       name or a number enclosed either in angle brackets or single quotes, is
       an alternative syntax for referencing a subpattern as  a  "subroutine".
       Details  are  discussed  later.   Note  that  \g{...} (Perl syntax) and
       \g<...> (Oniguruma syntax) are not synonymous. The  former  is  a  back
       reference; the latter is a subroutine call.

   Generic character types

       Another use of backslash is for specifying generic character types. The
       following are always recognized:

         \d     any decimal digit
         \D     any character that is not a decimal digit
         \h     any horizontal whitespace character
         \H     any character that is not a horizontal whitespace character
         \s     any whitespace character
         \S     any character that is not a whitespace character
         \v     any vertical whitespace character
         \V     any character that is not a vertical whitespace character
         \w     any "word" character
         \W     any "non-word" character

       Each pair of escape sequences partitions the complete set of characters
       into  two disjoint sets. Any given character matches one, and only one,
       of each pair.

       These character type sequences can appear both inside and outside char-
       acter  classes.  They each match one character of the appropriate type.
       If the current matching point is at the end of the subject string,  all
       of them fail, since there is no character to match.

       For  compatibility  with Perl, \s does not match the VT character (code
       11).  This makes it different from the the POSIX "space" class. The  \s
       characters  are  HT  (9), LF (10), FF (12), CR (13), and space (32). If
       "use locale;" is included in a Perl script, \s may match the VT charac-
       ter. In PCRE, it never does.

       In  UTF-8 mode, characters with values greater than 128 never match \d,
       \s, or \w, and always match \D, \S, and \W. This is true even when Uni-
       code  character  property  support is available. These sequences retain
       their original meanings from before UTF-8 support was available, mainly
       for  efficiency  reasons. Note that this also affects \b, because it is
       defined in terms of \w and \W.

       The sequences \h, \H, \v, and \V are Perl 5.10 features. In contrast to
       the  other  sequences, these do match certain high-valued codepoints in
       UTF-8 mode.  The horizontal space characters are:

         U+0009     Horizontal tab
         U+0020     Space
         U+00A0     Non-break space
         U+1680     Ogham space mark
         U+180E     Mongolian vowel separator
         U+2000     En quad
         U+2001     Em quad
         U+2002     En space
         U+2003     Em space
         U+2004     Three-per-em space
         U+2005     Four-per-em space
         U+2006     Six-per-em space
         U+2007     Figure space
         U+2008     Punctuation space
         U+2009     Thin space
         U+200A     Hair space
         U+202F     Narrow no-break space
         U+205F     Medium mathematical space
         U+3000     Ideographic space

       The vertical space characters are:

         U+000A     Linefeed
         U+000B     Vertical tab
         U+000C     Formfeed
         U+000D     Carriage return
         U+0085     Next line
         U+2028     Line separator
         U+2029     Paragraph separator

       A "word" character is an underscore or any character less than 256 that
       is  a  letter  or  digit.  The definition of letters and digits is con-
       trolled by PCRE's low-valued character tables, and may vary if  locale-
       specific  matching is taking place (see "Locale support" in the pcreapi
       page). For example, in a French locale such  as  "fr_FR"  in  Unix-like
       systems,  or "french" in Windows, some character codes greater than 128
       are used for accented letters, and these are matched by \w. The use  of
       locales with Unicode is discouraged.

   Newline sequences

       Outside  a  character class, by default, the escape sequence \R matches
       any Unicode newline sequence. This is a Perl 5.10 feature. In non-UTF-8
       mode \R is equivalent to the following:

         (?>\r\n|\n|\x0b|\f|\r|\x85)

       This  is  an  example  of an "atomic group", details of which are given
       below.  This particular group matches either the two-character sequence
       CR  followed  by  LF,  or  one  of  the single characters LF (linefeed,
       U+000A), VT (vertical tab, U+000B), FF (formfeed, U+000C), CR (carriage
       return, U+000D), or NEL (next line, U+0085). The two-character sequence
       is treated as a single unit that cannot be split.

       In UTF-8 mode, two additional characters whose codepoints  are  greater
       than 255 are added: LS (line separator, U+2028) and PS (paragraph sepa-
       rator, U+2029).  Unicode character property support is not  needed  for
       these characters to be recognized.

       It is possible to restrict \R to match only CR, LF, or CRLF (instead of
       the complete set  of  Unicode  line  endings)  by  setting  the  option
       PCRE_BSR_ANYCRLF either at compile time or when the pattern is matched.
       (BSR is an abbrevation for "backslash R".) This can be made the default
       when  PCRE  is  built;  if this is the case, the other behaviour can be
       requested via the PCRE_BSR_UNICODE option.   It  is  also  possible  to
       specify  these  settings  by  starting a pattern string with one of the
       following sequences:

         (*BSR_ANYCRLF)   CR, LF, or CRLF only
         (*BSR_UNICODE)   any Unicode newline sequence

       These override the default and the options given to  pcre_compile()  or
       pcre_compile2(),  but  they  can  be  overridden  by  options  given to
       pcre_exec() or pcre_dfa_exec(). Note that these special settings, which
       are  not  Perl-compatible,  are  recognized only at the very start of a
       pattern, and that they must be in upper case. If more than one of  them
       is present, the last one is used. They can be combined with a change of
       newline convention, for example, a pattern can start with:

         (*ANY)(*BSR_ANYCRLF)

       Inside a character class, \R matches the letter "R".

   Unicode character properties

       When PCRE is built with Unicode character property support, three addi-
       tional  escape sequences that match characters with specific properties
       are available.  When not in UTF-8 mode, these sequences are  of  course
       limited  to  testing characters whose codepoints are less than 256, but
       they do work in this mode.  The extra escape sequences are:

         \p{xx}   a character with the xx property
         \P{xx}   a character without the xx property
         \X       an extended Unicode sequence

       The property names represented by xx above are limited to  the  Unicode
       script names, the general category properties, and "Any", which matches
       any character (including newline). Other properties such as "InMusical-
       Symbols"  are  not  currently supported by PCRE. Note that \P{Any} does
       not match any characters, so always causes a match failure.

       Sets of Unicode characters are defined as belonging to certain scripts.
       A  character from one of these sets can be matched using a script name.
       For example:

         \p{Greek}
         \P{Han}

       Those that are not part of an identified script are lumped together  as
       "Common". The current list of scripts is:

       Arabic, Armenian, Avestan, Balinese, Bamum, Bengali, Bopomofo, Braille,
       Buginese, Buhid, Canadian_Aboriginal, Carian, Cham,  Cherokee,  Common,
       Coptic,   Cuneiform,  Cypriot,  Cyrillic,  Deseret,  Devanagari,  Egyp-
       tian_Hieroglyphs,  Ethiopic,  Georgian,  Glagolitic,   Gothic,   Greek,
       Gujarati,  Gurmukhi,  Han,  Hangul,  Hanunoo,  Hebrew,  Hiragana, Impe-
       rial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian,
       Javanese,  Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khmer, Lao,
       Latin,  Lepcha,  Limbu,  Linear_B,  Lisu,  Lycian,  Lydian,  Malayalam,
       Meetei_Mayek,  Mongolian, Myanmar, New_Tai_Lue, Nko, Ogham, Old_Italic,
       Old_Persian, Old_South_Arabian, Old_Turkic, Ol_Chiki,  Oriya,  Osmanya,
       Phags_Pa,  Phoenician,  Rejang,  Runic, Samaritan, Saurashtra, Shavian,
       Sinhala, Sundanese, Syloti_Nagri, Syriac,  Tagalog,  Tagbanwa,  Tai_Le,
       Tai_Tham,  Tai_Viet,  Tamil,  Telugu,  Thaana, Thai, Tibetan, Tifinagh,
       Ugaritic, Vai, Yi.

       Each character has exactly one general category property, specified  by
       a two-letter abbreviation. For compatibility with Perl, negation can be
       specified by including a circumflex between the opening brace  and  the
       property name. For example, \p{^Lu} is the same as \P{Lu}.

       If only one letter is specified with \p or \P, it includes all the gen-
       eral category properties that start with that letter. In this case,  in
       the  absence of negation, the curly brackets in the escape sequence are
       optional; these two examples have the same effect:

         \p{L}
         \pL

       The following general category property codes are supported:

         C     Other
         Cc    Control
         Cf    Format
         Cn    Unassigned
         Co    Private use
         Cs    Surrogate

         L     Letter
         Ll    Lower case letter
         Lm    Modifier letter
         Lo    Other letter
         Lt    Title case letter
         Lu    Upper case letter

         M     Mark
         Mc    Spacing mark
         Me    Enclosing mark
         Mn    Non-spacing mark

         N     Number
         Nd    Decimal number
         Nl    Letter number
         No    Other number

         P     Punctuation
         Pc    Connector punctuation
         Pd    Dash punctuation
         Pe    Close punctuation
         Pf    Final punctuation
         Pi    Initial punctuation
         Po    Other punctuation
         Ps    Open punctuation

         S     Symbol
         Sc    Currency symbol
         Sk    Modifier symbol
         Sm    Mathematical symbol
         So    Other symbol

         Z     Separator
         Zl    Line separator
         Zp    Paragraph separator
         Zs    Space separator

       The special property L& is also supported: it matches a character  that
       has  the  Lu,  Ll, or Lt property, in other words, a letter that is not
       classified as a modifier or "other".

       The Cs (Surrogate) property applies only to  characters  in  the  range
       U+D800  to  U+DFFF. Such characters are not valid in UTF-8 strings (see
       RFC 3629) and so cannot be tested by PCRE, unless UTF-8 validity check-
       ing  has  been  turned off (see the discussion of PCRE_NO_UTF8_CHECK in
       the pcreapi page). Perl does not support the Cs property.

       The long synonyms for  property  names  that  Perl  supports  (such  as
       \p{Letter})  are  not  supported by PCRE, nor is it permitted to prefix
       any of these properties with "Is".

       No character that is in the Unicode table has the Cn (unassigned) prop-
       erty.  Instead, this property is assumed for any code point that is not
       in the Unicode table.

       Specifying caseless matching does not affect  these  escape  sequences.
       For example, \p{Lu} always matches only upper case letters.

       The  \X  escape  matches  any number of Unicode characters that form an
       extended Unicode sequence. \X is equivalent to

         (?>\PM\pM*)

       That is, it matches a character without the "mark"  property,  followed
       by  zero  or  more  characters with the "mark" property, and treats the
       sequence as an atomic group (see below).  Characters  with  the  "mark"
       property  are  typically  accents  that affect the preceding character.
       None of them have codepoints less than 256, so  in  non-UTF-8  mode  \X
       matches any one character.

       Matching  characters  by Unicode property is not fast, because PCRE has
       to search a structure that contains  data  for  over  fifteen  thousand
       characters. That is why the traditional escape sequences such as \d and
       \w do not use Unicode properties in PCRE.

   Resetting the match start

       The escape sequence \K, which is a Perl 5.10 feature, causes any previ-
       ously  matched  characters  not  to  be  included  in the final matched
       sequence. For example, the pattern:

         foo\Kbar

       matches "foobar", but reports that it has matched "bar".  This  feature
       is  similar  to  a lookbehind assertion (described below).  However, in
       this case, the part of the subject before the real match does not  have
       to  be of fixed length, as lookbehind assertions do. The use of \K does
       not interfere with the setting of captured  substrings.   For  example,
       when the pattern

         (foo)\Kbar

       matches "foobar", the first substring is still set to "foo".

       Perl  documents  that  the  use  of  \K  within assertions is "not well
       defined". In PCRE, \K is acted upon  when  it  occurs  inside  positive
       assertions, but is ignored in negative assertions.

   Simple assertions

       The  final use of backslash is for certain simple assertions. An asser-
       tion specifies a condition that has to be met at a particular point  in
       a  match, without consuming any characters from the subject string. The
       use of subpatterns for more complicated assertions is described  below.
       The backslashed assertions are:

         \b     matches at a word boundary
         \B     matches when not at a word boundary
         \A     matches at the start of the subject
         \Z     matches at the end of the subject
                 also matches before a newline at the end of the subject
         \z     matches only at the end of the subject
         \G     matches at the first matching position in the subject

       These  assertions may not appear in character classes (but note that \b
       has a different meaning, namely the backspace character, inside a char-
       acter class).

       A  word  boundary is a position in the subject string where the current
       character and the previous character do not both match \w or  \W  (i.e.
       one  matches  \w  and the other matches \W), or the start or end of the
       string if the first or last character matches \w, respectively. Neither
       PCRE  nor  Perl  has a separte "start of word" or "end of word" metase-
       quence. However, whatever follows \b normally determines which  it  is.
       For example, the fragment \ba matches "a" at the start of a word.

       The  \A,  \Z,  and \z assertions differ from the traditional circumflex
       and dollar (described in the next section) in that they only ever match
       at  the  very start and end of the subject string, whatever options are
       set. Thus, they are independent of multiline mode. These  three  asser-
       tions are not affected by the PCRE_NOTBOL or PCRE_NOTEOL options, which
       affect only the behaviour of the circumflex and dollar  metacharacters.
       However,  if the startoffset argument of pcre_exec() is non-zero, indi-
       cating that matching is to start at a point other than the beginning of
       the  subject,  \A  can never match. The difference between \Z and \z is
       that \Z matches before a newline at the end of the string as well as at
       the very end, whereas \z matches only at the end.

       The  \G assertion is true only when the current matching position is at
       the start point of the match, as specified by the startoffset  argument
       of  pcre_exec().  It  differs  from \A when the value of startoffset is
       non-zero. By calling pcre_exec() multiple times with appropriate  argu-
       ments, you can mimic Perl's /g option, and it is in this kind of imple-
       mentation where \G can be useful.

       Note, however, that PCRE's interpretation of \G, as the  start  of  the
       current match, is subtly different from Perl's, which defines it as the
       end of the previous match. In Perl, these can  be  different  when  the
       previously  matched  string was empty. Because PCRE does just one match
       at a time, it cannot reproduce this behaviour.

       If all the alternatives of a pattern begin with \G, the  expression  is
       anchored to the starting match position, and the "anchored" flag is set
       in the compiled regular expression.


CIRCUMFLEX AND DOLLAR

       Outside a character class, in the default matching mode, the circumflex
       character  is  an  assertion  that is true only if the current matching
       point is at the start of the subject string. If the  startoffset  argu-
       ment  of  pcre_exec()  is  non-zero,  circumflex can never match if the
       PCRE_MULTILINE option is unset. Inside a  character  class,  circumflex
       has an entirely different meaning (see below).

       Circumflex  need  not be the first character of the pattern if a number
       of alternatives are involved, but it should be the first thing in  each
       alternative  in  which  it appears if the pattern is ever to match that
       branch. If all possible alternatives start with a circumflex, that  is,
       if  the  pattern  is constrained to match only at the start of the sub-
       ject, it is said to be an "anchored" pattern.  (There  are  also  other
       constructs that can cause a pattern to be anchored.)

       A  dollar  character  is  an assertion that is true only if the current
       matching point is at the end of  the  subject  string,  or  immediately
       before a newline at the end of the string (by default). Dollar need not
       be the last character of the pattern if a number  of  alternatives  are
       involved,  but  it  should  be  the last item in any branch in which it
       appears. Dollar has no special meaning in a character class.

       The meaning of dollar can be changed so that it  matches  only  at  the
       very  end  of  the string, by setting the PCRE_DOLLAR_ENDONLY option at
       compile time. This does not affect the \Z assertion.

       The meanings of the circumflex and dollar characters are changed if the
       PCRE_MULTILINE  option  is  set.  When  this  is the case, a circumflex
       matches immediately after internal newlines as well as at the start  of
       the  subject  string.  It  does not match after a newline that ends the
       string. A dollar matches before any newlines in the string, as well  as
       at  the very end, when PCRE_MULTILINE is set. When newline is specified
       as the two-character sequence CRLF, isolated CR and  LF  characters  do
       not indicate newlines.

       For  example, the pattern /^abc$/ matches the subject string "def\nabc"
       (where \n represents a newline) in multiline mode, but  not  otherwise.
       Consequently,  patterns  that  are anchored in single line mode because
       all branches start with ^ are not anchored in  multiline  mode,  and  a
       match  for  circumflex  is  possible  when  the startoffset argument of
       pcre_exec() is non-zero. The PCRE_DOLLAR_ENDONLY option is  ignored  if
       PCRE_MULTILINE is set.

       Note  that  the sequences \A, \Z, and \z can be used to match the start
       and end of the subject in both modes, and if all branches of a  pattern
       start  with  \A it is always anchored, whether or not PCRE_MULTILINE is
       set.


FULL STOP (PERIOD, DOT)

       Outside a character class, a dot in the pattern matches any one charac-
       ter  in  the subject string except (by default) a character that signi-
       fies the end of a line. In UTF-8 mode, the  matched  character  may  be
       more than one byte long.

       When  a line ending is defined as a single character, dot never matches
       that character; when the two-character sequence CRLF is used, dot  does
       not  match  CR  if  it  is immediately followed by LF, but otherwise it
       matches all characters (including isolated CRs and LFs). When any  Uni-
       code  line endings are being recognized, dot does not match CR or LF or
       any of the other line ending characters.

       The behaviour of dot with regard to newlines can  be  changed.  If  the
       PCRE_DOTALL  option  is  set,  a dot matches any one character, without
       exception. If the two-character sequence CRLF is present in the subject
       string, it takes two dots to match it.

       The  handling of dot is entirely independent of the handling of circum-
       flex and dollar, the only relationship being  that  they  both  involve
       newlines. Dot has no special meaning in a character class.


MATCHING A SINGLE BYTE

       Outside a character class, the escape sequence \C matches any one byte,
       both in and out of UTF-8 mode. Unlike a  dot,  it  always  matches  any
       line-ending  characters.  The  feature  is provided in Perl in order to
       match individual bytes in UTF-8 mode. Because it breaks up UTF-8  char-
       acters  into individual bytes, what remains in the string may be a mal-
       formed UTF-8 string. For this reason, the \C escape  sequence  is  best
       avoided.

       PCRE  does  not  allow \C to appear in lookbehind assertions (described
       below), because in UTF-8 mode this would make it impossible  to  calcu-
       late the length of the lookbehind.


SQUARE BRACKETS AND CHARACTER CLASSES

       An opening square bracket introduces a character class, terminated by a
       closing square bracket. A closing square bracket on its own is not spe-
       cial by default.  However, if the PCRE_JAVASCRIPT_COMPAT option is set,
       a lone closing square bracket causes a compile-time error. If a closing
       square  bracket  is required as a member of the class, it should be the
       first data character in the class  (after  an  initial  circumflex,  if
       present) or escaped with a backslash.

       A  character  class matches a single character in the subject. In UTF-8
       mode, the character may be more than one byte long. A matched character
       must be in the set of characters defined by the class, unless the first
       character in the class definition is a circumflex, in  which  case  the
       subject  character  must  not  be in the set defined by the class. If a
       circumflex is actually required as a member of the class, ensure it  is
       not the first character, or escape it with a backslash.

       For  example, the character class [aeiou] matches any lower case vowel,
       while [^aeiou] matches any character that is not a  lower  case  vowel.
       Note that a circumflex is just a convenient notation for specifying the
       characters that are in the class by enumerating those that are  not.  A
       class  that starts with a circumflex is not an assertion; it still con-
       sumes a character from the subject string, and therefore  it  fails  if
       the current pointer is at the end of the string.

       In  UTF-8 mode, characters with values greater than 255 can be included
       in a class as a literal string of bytes, or by using the  \x{  escaping
       mechanism.

       When  caseless  matching  is set, any letters in a class represent both
       their upper case and lower case versions, so for  example,  a  caseless
       [aeiou]  matches  "A"  as well as "a", and a caseless [^aeiou] does not
       match "A", whereas a caseful version would. In UTF-8 mode, PCRE  always
       understands  the  concept  of case for characters whose values are less
       than 128, so caseless matching is always possible. For characters  with
       higher  values,  the  concept  of case is supported if PCRE is compiled
       with Unicode property support, but not otherwise.  If you want  to  use
       caseless  matching  in UTF8-mode for characters 128 and above, you must
       ensure that PCRE is compiled with Unicode property support as  well  as
       with UTF-8 support.

       Characters  that  might  indicate  line breaks are never treated in any
       special way  when  matching  character  classes,  whatever  line-ending
       sequence  is  in  use,  and  whatever  setting  of  the PCRE_DOTALL and
       PCRE_MULTILINE options is used. A class such as [^a] always matches one
       of these characters.

       The  minus (hyphen) character can be used to specify a range of charac-
       ters in a character  class.  For  example,  [d-m]  matches  any  letter
       between  d  and  m,  inclusive.  If  a minus character is required in a
       class, it must be escaped with a backslash  or  appear  in  a  position
       where  it cannot be interpreted as indicating a range, typically as the
       first or last character in the class.

       It is not possible to have the literal character "]" as the end charac-
       ter  of a range. A pattern such as [W-]46] is interpreted as a class of
       two characters ("W" and "-") followed by a literal string "46]", so  it
       would  match  "W46]"  or  "-46]". However, if the "]" is escaped with a
       backslash it is interpreted as the end of range, so [W-\]46] is  inter-
       preted  as a class containing a range followed by two other characters.
       The octal or hexadecimal representation of "]" can also be used to  end
       a range.

       Ranges  operate in the collating sequence of character values. They can
       also  be  used  for  characters  specified  numerically,  for   example
       [\000-\037].  In UTF-8 mode, ranges can include characters whose values
       are greater than 255, for example [\x{100}-\x{2ff}].

       If a range that includes letters is used when caseless matching is set,
       it matches the letters in either case. For example, [W-c] is equivalent
       to [][\\^_`wxyzabc], matched caselessly,  and  in  non-UTF-8  mode,  if
       character  tables  for  a French locale are in use, [\xc8-\xcb] matches
       accented E characters in both cases. In UTF-8 mode, PCRE  supports  the
       concept  of  case for characters with values greater than 128 only when
       it is compiled with Unicode property support.

       The character types \d, \D, \p, \P, \s, \S, \w, and \W may also  appear
       in  a  character  class,  and add the characters that they match to the
       class. For example, [\dABCDEF] matches any hexadecimal digit. A circum-
       flex  can  conveniently  be used with the upper case character types to
       specify a more restricted set of characters  than  the  matching  lower
       case  type.  For example, the class [^\W_] matches any letter or digit,
       but not underscore.

       The only metacharacters that are recognized in  character  classes  are
       backslash,  hyphen  (only  where  it can be interpreted as specifying a
       range), circumflex (only at the start), opening  square  bracket  (only
       when  it can be interpreted as introducing a POSIX class name - see the
       next section), and the terminating  closing  square  bracket.  However,
       escaping other non-alphanumeric characters does no harm.


POSIX CHARACTER CLASSES

       Perl supports the POSIX notation for character classes. This uses names
       enclosed by [: and :] within the enclosing square brackets.  PCRE  also
       supports this notation. For example,

         [01[:alpha:]%]

       matches "0", "1", any alphabetic character, or "%". The supported class
       names are

         alnum    letters and digits
         alpha    letters
         ascii    character codes 0 - 127
         blank    space or tab only
         cntrl    control characters
         digit    decimal digits (same as \d)
         graph    printing characters, excluding space
         lower    lower case letters
         print    printing characters, including space
         punct    printing characters, excluding letters and digits
         space    white space (not quite the same as \s)
         upper    upper case letters
         word     "word" characters (same as \w)
         xdigit   hexadecimal digits

       The "space" characters are HT (9), LF (10), VT (11), FF (12), CR  (13),
       and  space  (32). Notice that this list includes the VT character (code
       11). This makes "space" different to \s, which does not include VT (for
       Perl compatibility).

       The  name  "word"  is  a Perl extension, and "blank" is a GNU extension
       from Perl 5.8. Another Perl extension is negation, which  is  indicated
       by a ^ character after the colon. For example,

         [12[:^digit:]]

       matches  "1", "2", or any non-digit. PCRE (and Perl) also recognize the
       POSIX syntax [.ch.] and [=ch=] where "ch" is a "collating element", but
       these are not supported, and an error is given if they are encountered.

       In UTF-8 mode, characters with values greater than 128 do not match any
       of the POSIX character classes.


VERTICAL BAR

       Vertical bar characters are used to separate alternative patterns.  For
       example, the pattern

         gilbert|sullivan

       matches  either "gilbert" or "sullivan". Any number of alternatives may
       appear, and an empty  alternative  is  permitted  (matching  the  empty
       string). The matching process tries each alternative in turn, from left
       to right, and the first one that succeeds is used. If the  alternatives
       are  within a subpattern (defined below), "succeeds" means matching the
       rest of the main pattern as well as the alternative in the subpattern.


INTERNAL OPTION SETTING

       The settings of the  PCRE_CASELESS,  PCRE_MULTILINE,  PCRE_DOTALL,  and
       PCRE_EXTENDED  options  (which are Perl-compatible) can be changed from
       within the pattern by  a  sequence  of  Perl  option  letters  enclosed
       between "(?" and ")".  The option letters are

         i  for PCRE_CASELESS
         m  for PCRE_MULTILINE
         s  for PCRE_DOTALL
         x  for PCRE_EXTENDED

       For example, (?im) sets caseless, multiline matching. It is also possi-
       ble to unset these options by preceding the letter with a hyphen, and a
       combined  setting and unsetting such as (?im-sx), which sets PCRE_CASE-
       LESS and PCRE_MULTILINE while unsetting PCRE_DOTALL and  PCRE_EXTENDED,
       is  also  permitted.  If  a  letter  appears  both before and after the
       hyphen, the option is unset.

       The PCRE-specific options PCRE_DUPNAMES, PCRE_UNGREEDY, and  PCRE_EXTRA
       can  be changed in the same way as the Perl-compatible options by using
       the characters J, U and X respectively.

       When one of these option changes occurs at  top  level  (that  is,  not
       inside  subpattern parentheses), the change applies to the remainder of
       the pattern that follows. If the change is placed right at the start of
       a pattern, PCRE extracts it into the global options (and it will there-
       fore show up in data extracted by the pcre_fullinfo() function).

       An option change within a subpattern (see below for  a  description  of
       subpatterns) affects only that part of the current pattern that follows
       it, so

         (a(?i)b)c

       matches abc and aBc and no other strings (assuming PCRE_CASELESS is not
       used).   By  this means, options can be made to have different settings
       in different parts of the pattern. Any changes made in one  alternative
       do  carry  on  into subsequent branches within the same subpattern. For
       example,

         (a(?i)b|c)

       matches "ab", "aB", "c", and "C", even though  when  matching  "C"  the
       first  branch  is  abandoned before the option setting. This is because
       the effects of option settings happen at compile time. There  would  be
       some very weird behaviour otherwise.

       Note:  There  are  other  PCRE-specific  options that can be set by the
       application when the compile or match functions  are  called.  In  some
       cases the pattern can contain special leading sequences such as (*CRLF)
       to override what the application has set or what  has  been  defaulted.
       Details  are  given  in the section entitled "Newline sequences" above.
       There is also the (*UTF8) leading sequence that  can  be  used  to  set
       UTF-8 mode; this is equivalent to setting the PCRE_UTF8 option.


SUBPATTERNS

       Subpatterns are delimited by parentheses (round brackets), which can be
       nested.  Turning part of a pattern into a subpattern does two things:

       1. It localizes a set of alternatives. For example, the pattern

         cat(aract|erpillar|)

       matches one of the words "cat", "cataract", or  "caterpillar".  Without
       the  parentheses,  it  would  match  "cataract", "erpillar" or an empty
       string.

       2. It sets up the subpattern as  a  capturing  subpattern.  This  means
       that,  when  the  whole  pattern  matches,  that portion of the subject
       string that matched the subpattern is passed back to the caller via the
       ovector  argument  of pcre_exec(). Opening parentheses are counted from
       left to right (starting from 1) to obtain  numbers  for  the  capturing
       subpatterns.

       For  example,  if the string "the red king" is matched against the pat-
       tern

         the ((red|white) (king|queen))

       the captured substrings are "red king", "red", and "king", and are num-
       bered 1, 2, and 3, respectively.

       The  fact  that  plain  parentheses  fulfil two functions is not always
       helpful.  There are often times when a grouping subpattern is  required
       without  a capturing requirement. If an opening parenthesis is followed
       by a question mark and a colon, the subpattern does not do any  captur-
       ing,  and  is  not  counted when computing the number of any subsequent
       capturing subpatterns. For example, if the string "the white queen"  is
       matched against the pattern

         the ((?:red|white) (king|queen))

       the captured substrings are "white queen" and "queen", and are numbered
       1 and 2. The maximum number of capturing subpatterns is 65535.

       As a convenient shorthand, if any option settings are required  at  the
       start  of  a  non-capturing  subpattern,  the option letters may appear
       between the "?" and the ":". Thus the two patterns

         (?i:saturday|sunday)
         (?:(?i)saturday|sunday)

       match exactly the same set of strings. Because alternative branches are
       tried  from  left  to right, and options are not reset until the end of
       the subpattern is reached, an option setting in one branch does  affect
       subsequent  branches,  so  the above patterns match "SUNDAY" as well as
       "Saturday".


DUPLICATE SUBPATTERN NUMBERS

       Perl 5.10 introduced a feature whereby each alternative in a subpattern
       uses  the same numbers for its capturing parentheses. Such a subpattern
       starts with (?| and is itself a non-capturing subpattern. For  example,
       consider this pattern:

         (?|(Sat)ur|(Sun))day

       Because  the two alternatives are inside a (?| group, both sets of cap-
       turing parentheses are numbered one. Thus, when  the  pattern  matches,
       you  can  look  at captured substring number one, whichever alternative
       matched. This construct is useful when you want to  capture  part,  but
       not all, of one of a number of alternatives. Inside a (?| group, paren-
       theses are numbered as usual, but the number is reset at the  start  of
       each  branch. The numbers of any capturing buffers that follow the sub-
       pattern start after the highest number used in any branch. The  follow-
       ing  example  is taken from the Perl documentation.  The numbers under-
       neath show in which buffer the captured content will be stored.

         # before  ---------------branch-reset----------- after
         / ( a )  (?| x ( y ) z | (p (q) r) | (t) u (v) ) ( z ) /x
         # 1            2         2  3        2     3     4

       A back reference to a numbered subpattern uses the  most  recent  value
       that  is  set  for that number by any subpattern. The following pattern
       matches "abcabc" or "defdef":

         /(?|(abc)|(def))\1/

       In contrast, a recursive or "subroutine" call to a numbered  subpattern
       always  refers  to  the first one in the pattern with the given number.
       The following pattern matches "abcabc" or "defabc":

         /(?|(abc)|(def))(?1)/

       If a condition test for a subpattern's having matched refers to a  non-
       unique  number, the test is true if any of the subpatterns of that num-
       ber have matched.

       An alternative approach to using this "branch reset" feature is to  use
       duplicate named subpatterns, as described in the next section.


NAMED SUBPATTERNS

       Identifying  capturing  parentheses  by number is simple, but it can be
       very hard to keep track of the numbers in complicated  regular  expres-
       sions.  Furthermore,  if  an  expression  is  modified, the numbers may
       change. To help with this difficulty, PCRE supports the naming of  sub-
       patterns. This feature was not added to Perl until release 5.10. Python
       had the feature earlier, and PCRE introduced it at release  4.0,  using
       the  Python syntax. PCRE now supports both the Perl and the Python syn-
       tax. Perl allows identically numbered  subpatterns  to  have  different
       names, but PCRE does not.

       In  PCRE,  a subpattern can be named in one of three ways: (?<name>...)
       or (?'name'...) as in Perl, or (?P<name>...) as in  Python.  References
       to  capturing parentheses from other parts of the pattern, such as back
       references, recursion, and conditions, can be made by name as  well  as
       by number.

       Names  consist  of  up  to  32 alphanumeric characters and underscores.
       Named capturing parentheses are still  allocated  numbers  as  well  as
       names,  exactly as if the names were not present. The PCRE API provides
       function calls for extracting the name-to-number translation table from
       a compiled pattern. There is also a convenience function for extracting
       a captured substring by name.

       By default, a name must be unique within a pattern, but it is  possible
       to relax this constraint by setting the PCRE_DUPNAMES option at compile
       time. (Duplicate names are also always permitted for  subpatterns  with
       the  same  number, set up as described in the previous section.) Dupli-
       cate names can be useful for patterns where only one  instance  of  the
       named  parentheses  can  match. Suppose you want to match the name of a
       weekday, either as a 3-letter abbreviation or as the full name, and  in
       both cases you want to extract the abbreviation. This pattern (ignoring
       the line breaks) does the job:

         (?<DN>Mon|Fri|Sun)(?:day)?|
         (?<DN>Tue)(?:sday)?|
         (?<DN>Wed)(?:nesday)?|
         (?<DN>Thu)(?:rsday)?|
         (?<DN>Sat)(?:urday)?

       There are five capturing substrings, but only one is ever set  after  a
       match.  (An alternative way of solving this problem is to use a "branch
       reset" subpattern, as described in the previous section.)

       The convenience function for extracting the data by  name  returns  the
       substring  for  the first (and in this example, the only) subpattern of
       that name that matched. This saves searching  to  find  which  numbered
       subpattern it was.

       If  you  make  a  back  reference to a non-unique named subpattern from
       elsewhere in the pattern, the one that corresponds to the first  occur-
       rence of the name is used. In the absence of duplicate numbers (see the
       previous section) this is the one with the lowest number. If you use  a
       named  reference  in a condition test (see the section about conditions
       below), either to check whether a subpattern has matched, or  to  check
       for  recursion,  all  subpatterns with the same name are tested. If the
       condition is true for any one of them, the overall condition  is  true.
       This is the same behaviour as testing by number. For further details of
       the interfaces for handling named subpatterns, see the pcreapi documen-
       tation.

       Warning: You cannot use different names to distinguish between two sub-
       patterns with the same number because PCRE uses only the  numbers  when
       matching. For this reason, an error is given at compile time if differ-
       ent names are given to subpatterns with the same number.  However,  you
       can  give  the same name to subpatterns with the same number, even when
       PCRE_DUPNAMES is not set.


REPETITION

       Repetition is specified by quantifiers, which can  follow  any  of  the
       following items:

         a literal data character
         the dot metacharacter
         the \C escape sequence
         the \X escape sequence (in UTF-8 mode with Unicode properties)
         the \R escape sequence
         an escape such as \d that matches a single character
         a character class
         a back reference (see next section)
         a parenthesized subpattern (unless it is an assertion)
         a recursive or "subroutine" call to a subpattern

       The  general repetition quantifier specifies a minimum and maximum num-
       ber of permitted matches, by giving the two numbers in  curly  brackets
       (braces),  separated  by  a comma. The numbers must be less than 65536,
       and the first must be less than or equal to the second. For example:

         z{2,4}

       matches "zz", "zzz", or "zzzz". A closing brace on its  own  is  not  a
       special  character.  If  the second number is omitted, but the comma is
       present, there is no upper limit; if the second number  and  the  comma
       are  both omitted, the quantifier specifies an exact number of required
       matches. Thus

         [aeiou]{3,}

       matches at least 3 successive vowels, but may match many more, while

         \d{8}

       matches exactly 8 digits. An opening curly bracket that  appears  in  a
       position  where a quantifier is not allowed, or one that does not match
       the syntax of a quantifier, is taken as a literal character. For  exam-
       ple, {,6} is not a quantifier, but a literal string of four characters.

       In  UTF-8  mode,  quantifiers  apply to UTF-8 characters rather than to
       individual bytes. Thus, for example, \x{100}{2} matches two UTF-8 char-
       acters, each of which is represented by a two-byte sequence. Similarly,
       when Unicode property support is available, \X{3} matches three Unicode
       extended  sequences,  each of which may be several bytes long (and they
       may be of different lengths).

       The quantifier {0} is permitted, causing the expression to behave as if
       the previous item and the quantifier were not present. This may be use-
       ful for subpatterns that are referenced as subroutines  from  elsewhere
       in the pattern. Items other than subpatterns that have a {0} quantifier
       are omitted from the compiled pattern.

       For convenience, the three most common quantifiers have  single-charac-
       ter abbreviations:

         *    is equivalent to {0,}
         +    is equivalent to {1,}
         ?    is equivalent to {0,1}

       It  is  possible  to construct infinite loops by following a subpattern
       that can match no characters with a quantifier that has no upper limit,
       for example:

         (a?)*

       Earlier versions of Perl and PCRE used to give an error at compile time
       for such patterns. However, because there are cases where this  can  be
       useful,  such  patterns  are now accepted, but if any repetition of the
       subpattern does in fact match no characters, the loop is forcibly  bro-
       ken.

       By  default,  the quantifiers are "greedy", that is, they match as much
       as possible (up to the maximum  number  of  permitted  times),  without
       causing  the  rest of the pattern to fail. The classic example of where
       this gives problems is in trying to match comments in C programs. These
       appear  between  /*  and  */ and within the comment, individual * and /
       characters may appear. An attempt to match C comments by  applying  the
       pattern

         /\*.*\*/

       to the string

         /* first comment */  not comment  /* second comment */

       fails,  because it matches the entire string owing to the greediness of
       the .*  item.

       However, if a quantifier is followed by a question mark, it  ceases  to
       be greedy, and instead matches the minimum number of times possible, so
       the pattern

         /\*.*?\*/

       does the right thing with the C comments. The meaning  of  the  various
       quantifiers  is  not  otherwise  changed,  just the preferred number of
       matches.  Do not confuse this use of question mark with its  use  as  a
       quantifier  in its own right. Because it has two uses, it can sometimes
       appear doubled, as in

         \d??\d

       which matches one digit by preference, but can match two if that is the
       only way the rest of the pattern matches.

       If  the PCRE_UNGREEDY option is set (an option that is not available in
       Perl), the quantifiers are not greedy by default, but  individual  ones
       can  be  made  greedy  by following them with a question mark. In other
       words, it inverts the default behaviour.

       When a parenthesized subpattern is quantified  with  a  minimum  repeat
       count  that is greater than 1 or with a limited maximum, more memory is
       required for the compiled pattern, in proportion to  the  size  of  the
       minimum or maximum.

       If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equiv-
       alent to Perl's /s) is set, thus allowing the dot  to  match  newlines,
       the  pattern  is  implicitly anchored, because whatever follows will be
       tried against every character position in the subject string, so  there
       is  no  point  in  retrying the overall match at any position after the
       first. PCRE normally treats such a pattern as though it  were  preceded
       by \A.

       In  cases  where  it  is known that the subject string contains no new-
       lines, it is worth setting PCRE_DOTALL in order to  obtain  this  opti-
       mization, or alternatively using ^ to indicate anchoring explicitly.

       However,  there is one situation where the optimization cannot be used.
       When .*  is inside capturing parentheses that are the subject of a back
       reference elsewhere in the pattern, a match at the start may fail where
       a later one succeeds. Consider, for example:

         (.*)abc\1

       If the subject is "xyz123abc123" the match point is the fourth  charac-
       ter. For this reason, such a pattern is not implicitly anchored.

       When a capturing subpattern is repeated, the value captured is the sub-
       string that matched the final iteration. For example, after

         (tweedle[dume]{3}\s*)+

       has matched "tweedledum tweedledee" the value of the captured substring
       is  "tweedledee".  However,  if there are nested capturing subpatterns,
       the corresponding captured values may have been set in previous  itera-
       tions. For example, after

         /(a|(b))+/

       matches "aba" the value of the second captured substring is "b".


ATOMIC GROUPING AND POSSESSIVE QUANTIFIERS

       With  both  maximizing ("greedy") and minimizing ("ungreedy" or "lazy")
       repetition, failure of what follows normally causes the  repeated  item
       to  be  re-evaluated to see if a different number of repeats allows the
       rest of the pattern to match. Sometimes it is useful to  prevent  this,
       either  to  change the nature of the match, or to cause it fail earlier
       than it otherwise might, when the author of the pattern knows there  is
       no point in carrying on.

       Consider,  for  example, the pattern \d+foo when applied to the subject
       line

         123456bar

       After matching all 6 digits and then failing to match "foo", the normal
       action  of  the matcher is to try again with only 5 digits matching the
       \d+ item, and then with  4,  and  so  on,  before  ultimately  failing.
       "Atomic  grouping"  (a  term taken from Jeffrey Friedl's book) provides
       the means for specifying that once a subpattern has matched, it is  not
       to be re-evaluated in this way.

       If  we  use atomic grouping for the previous example, the matcher gives
       up immediately on failing to match "foo" the first time.  The  notation
       is a kind of special parenthesis, starting with (?> as in this example:

         (?>\d+)foo

       This  kind  of  parenthesis "locks up" the  part of the pattern it con-
       tains once it has matched, and a failure further into  the  pattern  is
       prevented  from  backtracking into it. Backtracking past it to previous
       items, however, works as normal.

       An alternative description is that a subpattern of  this  type  matches
       the  string  of  characters  that an identical standalone pattern would
       match, if anchored at the current point in the subject string.

       Atomic grouping subpatterns are not capturing subpatterns. Simple cases
       such as the above example can be thought of as a maximizing repeat that
       must swallow everything it can. So, while both \d+ and  \d+?  are  pre-
       pared  to  adjust  the number of digits they match in order to make the
       rest of the pattern match, (?>\d+) can only match an entire sequence of
       digits.

       Atomic  groups in general can of course contain arbitrarily complicated
       subpatterns, and can be nested. However, when  the  subpattern  for  an
       atomic group is just a single repeated item, as in the example above, a
       simpler notation, called a "possessive quantifier" can  be  used.  This
       consists  of  an  additional  + character following a quantifier. Using
       this notation, the previous example can be rewritten as

         \d++foo

       Note that a possessive quantifier can be used with an entire group, for
       example:

         (abc|xyz){2,3}+

       Possessive   quantifiers   are   always  greedy;  the  setting  of  the
       PCRE_UNGREEDY option is ignored. They are a convenient notation for the
       simpler  forms  of atomic group. However, there is no difference in the
       meaning of a possessive quantifier and  the  equivalent  atomic  group,
       though  there  may  be a performance difference; possessive quantifiers
       should be slightly faster.

       The possessive quantifier syntax is an extension to the Perl  5.8  syn-
       tax.   Jeffrey  Friedl  originated the idea (and the name) in the first
       edition of his book. Mike McCloskey liked it, so implemented it when he
       built  Sun's Java package, and PCRE copied it from there. It ultimately
       found its way into Perl at release 5.10.

       PCRE has an optimization that automatically "possessifies" certain sim-
       ple  pattern  constructs.  For  example, the sequence A+B is treated as
       A++B because there is no point in backtracking into a sequence  of  A's
       when B must follow.

       When  a  pattern  contains an unlimited repeat inside a subpattern that
       can itself be repeated an unlimited number of  times,  the  use  of  an
       atomic  group  is  the  only way to avoid some failing matches taking a
       very long time indeed. The pattern

         (\D+|<\d+>)*[!?]

       matches an unlimited number of substrings that either consist  of  non-
       digits,  or  digits  enclosed in <>, followed by either ! or ?. When it
       matches, it runs quickly. However, if it is applied to

         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

       it takes a long time before reporting  failure.  This  is  because  the
       string  can be divided between the internal \D+ repeat and the external
       * repeat in a large number of ways, and all  have  to  be  tried.  (The
       example  uses  [!?]  rather than a single character at the end, because
       both PCRE and Perl have an optimization that allows  for  fast  failure
       when  a single character is used. They remember the last single charac-
       ter that is required for a match, and fail early if it is  not  present
       in  the  string.)  If  the pattern is changed so that it uses an atomic
       group, like this:

         ((?>\D+)|<\d+>)*[!?]

       sequences of non-digits cannot be broken, and failure happens quickly.


BACK REFERENCES

       Outside a character class, a backslash followed by a digit greater than
       0 (and possibly further digits) is a back reference to a capturing sub-
       pattern earlier (that is, to its left) in the pattern,  provided  there
       have been that many previous capturing left parentheses.

       However, if the decimal number following the backslash is less than 10,
       it is always taken as a back reference, and causes  an  error  only  if
       there  are  not that many capturing left parentheses in the entire pat-
       tern. In other words, the parentheses that are referenced need  not  be
       to  the left of the reference for numbers less than 10. A "forward back
       reference" of this type can make sense when a  repetition  is  involved
       and  the  subpattern to the right has participated in an earlier itera-
       tion.

       It is not possible to have a numerical "forward back  reference"  to  a
       subpattern  whose  number  is  10  or  more using this syntax because a
       sequence such as \50 is interpreted as a character  defined  in  octal.
       See the subsection entitled "Non-printing characters" above for further
       details of the handling of digits following a backslash.  There  is  no
       such  problem  when named parentheses are used. A back reference to any
       subpattern is possible using named parentheses (see below).

       Another way of avoiding the ambiguity inherent in  the  use  of  digits
       following a backslash is to use the \g escape sequence, which is a fea-
       ture introduced in Perl 5.10.  This  escape  must  be  followed  by  an
       unsigned  number  or  a negative number, optionally enclosed in braces.
       These examples are all identical:

         (ring), \1
         (ring), \g1
         (ring), \g{1}

       An unsigned number specifies an absolute reference without the  ambigu-
       ity that is present in the older syntax. It is also useful when literal
       digits follow the reference. A negative number is a relative reference.
       Consider this example:

         (abc(def)ghi)\g{-1}

       The sequence \g{-1} is a reference to the most recently started captur-
       ing subpattern before \g, that is, is it equivalent to  \2.  Similarly,
       \g{-2} would be equivalent to \1. The use of relative references can be
       helpful in long patterns, and also in  patterns  that  are  created  by
       joining together fragments that contain references within themselves.

       A  back  reference matches whatever actually matched the capturing sub-
       pattern in the current subject string, rather  than  anything  matching
       the subpattern itself (see "Subpatterns as subroutines" below for a way
       of doing that). So the pattern

         (sens|respons)e and \1ibility

       matches "sense and sensibility" and "response and responsibility",  but
       not  "sense and responsibility". If caseful matching is in force at the
       time of the back reference, the case of letters is relevant. For  exam-
       ple,

         ((?i)rah)\s+\1

       matches  "rah  rah"  and  "RAH RAH", but not "RAH rah", even though the
       original capturing subpattern is matched caselessly.

       There are several different ways of writing back  references  to  named
       subpatterns.  The  .NET syntax \k{name} and the Perl syntax \k<name> or
       \k'name' are supported, as is the Python syntax (?P=name). Perl  5.10's
       unified back reference syntax, in which \g can be used for both numeric
       and named references, is also supported. We  could  rewrite  the  above
       example in any of the following ways:

         (?<p1>(?i)rah)\s+\k<p1>
         (?'p1'(?i)rah)\s+\k{p1}
         (?P<p1>(?i)rah)\s+(?P=p1)
         (?<p1>(?i)rah)\s+\g{p1}

       A  subpattern  that  is  referenced  by  name may appear in the pattern
       before or after the reference.

       There may be more than one back reference to the same subpattern. If  a
       subpattern  has  not actually been used in a particular match, any back
       references to it always fail by default. For example, the pattern

         (a|(bc))\2

       always fails if it starts to match "a" rather than  "bc".  However,  if
       the PCRE_JAVASCRIPT_COMPAT option is set at compile time, a back refer-
       ence to an unset value matches an empty string.

       Because there may be many capturing parentheses in a pattern, all  dig-
       its  following a backslash are taken as part of a potential back refer-
       ence number.  If the pattern continues with  a  digit  character,  some
       delimiter  must  be  used  to  terminate  the  back  reference.  If the
       PCRE_EXTENDED option is set, this can be whitespace. Otherwise, the \g{
       syntax or an empty comment (see "Comments" below) can be used.

   Recursive back references

       A  back reference that occurs inside the parentheses to which it refers
       fails when the subpattern is first used, so, for example,  (a\1)  never
       matches.   However,  such references can be useful inside repeated sub-
       patterns. For example, the pattern

         (a|b\1)+

       matches any number of "a"s and also "aba", "ababbaa" etc. At each iter-
       ation  of  the  subpattern,  the  back  reference matches the character
       string corresponding to the previous iteration. In order  for  this  to
       work,  the  pattern must be such that the first iteration does not need
       to match the back reference. This can be done using alternation, as  in
       the example above, or by a quantifier with a minimum of zero.

       Back  references of this type cause the group that they reference to be
       treated as an atomic group.  Once the whole group has been  matched,  a
       subsequent  matching  failure cannot cause backtracking into the middle
       of the group.


ASSERTIONS

       An assertion is a test on the characters  following  or  preceding  the
       current  matching  point that does not actually consume any characters.
       The simple assertions coded as \b, \B, \A, \G, \Z,  \z,  ^  and  $  are
       described above.

       More  complicated  assertions  are  coded as subpatterns. There are two
       kinds: those that look ahead of the current  position  in  the  subject
       string,  and  those  that  look  behind  it. An assertion subpattern is
       matched in the normal way, except that it does not  cause  the  current
       matching position to be changed.

       Assertion  subpatterns  are  not  capturing subpatterns, and may not be
       repeated, because it makes no sense to assert the  same  thing  several
       times.  If  any kind of assertion contains capturing subpatterns within
       it, these are counted for the purposes of numbering the capturing  sub-
       patterns in the whole pattern.  However, substring capturing is carried
       out only for positive assertions, because it does not  make  sense  for
       negative assertions.

   Lookahead assertions

       Lookahead assertions start with (?= for positive assertions and (?! for
       negative assertions. For example,

         \w+(?=;)

       matches a word followed by a semicolon, but does not include the  semi-
       colon in the match, and

         foo(?!bar)

       matches  any  occurrence  of  "foo" that is not followed by "bar". Note
       that the apparently similar pattern

         (?!foo)bar

       does not find an occurrence of "bar"  that  is  preceded  by  something
       other  than "foo"; it finds any occurrence of "bar" whatsoever, because
       the assertion (?!foo) is always true when the next three characters are
       "bar". A lookbehind assertion is needed to achieve the other effect.

       If you want to force a matching failure at some point in a pattern, the
       most convenient way to do it is  with  (?!)  because  an  empty  string
       always  matches, so an assertion that requires there not to be an empty
       string must always fail.   The  Perl  5.10  backtracking  control  verb
       (*FAIL) or (*F) is essentially a synonym for (?!).

   Lookbehind assertions

       Lookbehind  assertions start with (?<= for positive assertions and (?<!
       for negative assertions. For example,

         (?<!foo)bar

       does find an occurrence of "bar" that is not  preceded  by  "foo".  The
       contents  of  a  lookbehind  assertion are restricted such that all the
       strings it matches must have a fixed length. However, if there are sev-
       eral  top-level  alternatives,  they  do  not all have to have the same
       fixed length. Thus

         (?<=bullock|donkey)

       is permitted, but

         (?<!dogs?|cats?)

       causes an error at compile time. Branches that match  different  length
       strings  are permitted only at the top level of a lookbehind assertion.
       This is an extension compared with Perl (5.8 and 5.10), which  requires
       all branches to match the same length of string. An assertion such as

         (?<=ab(c|de))

       is  not  permitted,  because  its single top-level branch can match two
       different lengths, but it is acceptable to PCRE if rewritten to use two
       top-level branches:

         (?<=abc|abde)

       In some cases, the Perl 5.10 escape sequence \K (see above) can be used
       instead of  a  lookbehind  assertion  to  get  round  the  fixed-length
       restriction.

       The  implementation  of lookbehind assertions is, for each alternative,
       to temporarily move the current position back by the fixed  length  and
       then try to match. If there are insufficient characters before the cur-
       rent position, the assertion fails.

       PCRE does not allow the \C escape (which matches a single byte in UTF-8
       mode)  to appear in lookbehind assertions, because it makes it impossi-
       ble to calculate the length of the lookbehind. The \X and  \R  escapes,
       which can match different numbers of bytes, are also not permitted.

       "Subroutine"  calls  (see below) such as (?2) or (?&X) are permitted in
       lookbehinds, as long as the subpattern matches a  fixed-length  string.
       Recursion, however, is not supported.

       Possessive  quantifiers  can  be  used  in  conjunction with lookbehind
       assertions to specify efficient matching of fixed-length strings at the
       end of subject strings. Consider a simple pattern such as

         abcd$

       when  applied  to  a  long string that does not match. Because matching
       proceeds from left to right, PCRE will look for each "a" in the subject
       and  then  see  if what follows matches the rest of the pattern. If the
       pattern is specified as

         ^.*abcd$

       the initial .* matches the entire string at first, but when this  fails
       (because there is no following "a"), it backtracks to match all but the
       last character, then all but the last two characters, and so  on.  Once
       again  the search for "a" covers the entire string, from right to left,
       so we are no better off. However, if the pattern is written as

         ^.*+(?<=abcd)

       there can be no backtracking for the .*+ item; it can  match  only  the
       entire  string.  The subsequent lookbehind assertion does a single test
       on the last four characters. If it fails, the match fails  immediately.
       For  long  strings, this approach makes a significant difference to the
       processing time.

   Using multiple assertions

       Several assertions (of any sort) may occur in succession. For example,

         (?<=\d{3})(?<!999)foo

       matches "foo" preceded by three digits that are not "999". Notice  that
       each  of  the  assertions is applied independently at the same point in
       the subject string. First there is a  check  that  the  previous  three
       characters  are  all  digits,  and  then there is a check that the same
       three characters are not "999".  This pattern does not match "foo" pre-
       ceded  by  six  characters,  the first of which are digits and the last
       three of which are not "999". For example, it  doesn't  match  "123abc-
       foo". A pattern to do that is

         (?<=\d{3}...)(?<!999)foo

       This  time  the  first assertion looks at the preceding six characters,
       checking that the first three are digits, and then the second assertion
       checks that the preceding three characters are not "999".

       Assertions can be nested in any combination. For example,

         (?<=(?<!foo)bar)baz

       matches  an occurrence of "baz" that is preceded by "bar" which in turn
       is not preceded by "foo", while

         (?<=\d{3}(?!999)...)foo

       is another pattern that matches "foo" preceded by three digits and  any
       three characters that are not "999".


CONDITIONAL SUBPATTERNS

       It  is possible to cause the matching process to obey a subpattern con-
       ditionally or to choose between two alternative subpatterns,  depending
       on  the result of an assertion, or whether a specific capturing subpat-
       tern has already been matched. The two possible  forms  of  conditional
       subpattern are:

         (?(condition)yes-pattern)
         (?(condition)yes-pattern|no-pattern)

       If  the  condition is satisfied, the yes-pattern is used; otherwise the
       no-pattern (if present) is used. If there are more  than  two  alterna-
       tives in the subpattern, a compile-time error occurs.

       There  are  four  kinds of condition: references to subpatterns, refer-
       ences to recursion, a pseudo-condition called DEFINE, and assertions.

   Checking for a used subpattern by number

       If the text between the parentheses consists of a sequence  of  digits,
       the condition is true if a capturing subpattern of that number has pre-
       viously matched. If there is more than one  capturing  subpattern  with
       the  same  number  (see  the earlier section about duplicate subpattern
       numbers), the condition is true if any of them have been set. An alter-
       native  notation is to precede the digits with a plus or minus sign. In
       this case, the subpattern number is relative rather than absolute.  The
       most  recently opened parentheses can be referenced by (?(-1), the next
       most recent by (?(-2), and so on. In looping  constructs  it  can  also
       make  sense  to  refer  to  subsequent  groups  with constructs such as
       (?(+2).

       Consider the following pattern, which  contains  non-significant  white
       space to make it more readable (assume the PCRE_EXTENDED option) and to
       divide it into three parts for ease of discussion:

         ( \( )?    [^()]+    (?(1) \) )

       The first part matches an optional opening  parenthesis,  and  if  that
       character is present, sets it as the first captured substring. The sec-
       ond part matches one or more characters that are not  parentheses.  The
       third part is a conditional subpattern that tests whether the first set
       of parentheses matched or not. If they did, that is, if subject started
       with an opening parenthesis, the condition is true, and so the yes-pat-
       tern is executed and a  closing  parenthesis  is  required.  Otherwise,
       since  no-pattern  is  not  present, the subpattern matches nothing. In
       other words,  this  pattern  matches  a  sequence  of  non-parentheses,
       optionally enclosed in parentheses.

       If  you  were  embedding  this pattern in a larger one, you could use a
       relative reference:

         ...other stuff... ( \( )?    [^()]+    (?(-1) \) ) ...

       This makes the fragment independent of the parentheses  in  the  larger
       pattern.

   Checking for a used subpattern by name

       Perl  uses  the  syntax  (?(<name>)...) or (?('name')...) to test for a
       used subpattern by name. For compatibility  with  earlier  versions  of
       PCRE,  which  had this facility before Perl, the syntax (?(name)...) is
       also recognized. However, there is a possible ambiguity with this  syn-
       tax,  because  subpattern  names  may  consist entirely of digits. PCRE
       looks first for a named subpattern; if it cannot find one and the  name
       consists  entirely  of digits, PCRE looks for a subpattern of that num-
       ber, which must be greater than zero. Using subpattern names that  con-
       sist entirely of digits is not recommended.

       Rewriting the above example to use a named subpattern gives this:

         (?<OPEN> \( )?    [^()]+    (?(<OPEN>) \) )

       If  the  name used in a condition of this kind is a duplicate, the test
       is applied to all subpatterns of the same name, and is true if any  one
       of them has matched.

   Checking for pattern recursion

       If the condition is the string (R), and there is no subpattern with the
       name R, the condition is true if a recursive call to the whole  pattern
       or any subpattern has been made. If digits or a name preceded by amper-
       sand follow the letter R, for example:

         (?(R3)...) or (?(R&name)...)

       the condition is true if the most recent recursion is into a subpattern
       whose number or name is given. This condition does not check the entire
       recursion stack. If the name used in a condition  of  this  kind  is  a
       duplicate, the test is applied to all subpatterns of the same name, and
       is true if any one of them is the most recent recursion.

       At "top level", all these recursion test  conditions  are  false.   The
       syntax for recursive patterns is described below.

   Defining subpatterns for use by reference only

       If  the  condition  is  the string (DEFINE), and there is no subpattern
       with the name DEFINE, the condition is  always  false.  In  this  case,
       there  may  be  only  one  alternative  in the subpattern. It is always
       skipped if control reaches this point  in  the  pattern;  the  idea  of
       DEFINE  is that it can be used to define "subroutines" that can be ref-
       erenced from elsewhere. (The use of "subroutines" is described  below.)
       For  example,  a pattern to match an IPv4 address could be written like
       this (ignore whitespace and line breaks):

         (?(DEFINE) (?<byte> 2[0-4]\d | 25[0-5] | 1\d\d | [1-9]?\d) )
         \b (?&byte) (\.(?&byte)){3} \b

       The first part of the pattern is a DEFINE group inside which a  another
       group  named "byte" is defined. This matches an individual component of
       an IPv4 address (a number less than 256). When  matching  takes  place,
       this  part  of  the pattern is skipped because DEFINE acts like a false
       condition. The rest of the pattern uses references to the  named  group
       to  match the four dot-separated components of an IPv4 address, insist-
       ing on a word boundary at each end.

   Assertion conditions

       If the condition is not in any of the above  formats,  it  must  be  an
       assertion.   This may be a positive or negative lookahead or lookbehind
       assertion. Consider  this  pattern,  again  containing  non-significant
       white space, and with the two alternatives on the second line:

         (?(?=[^a-z]*[a-z])
         \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

       The  condition  is  a  positive  lookahead  assertion  that  matches an
       optional sequence of non-letters followed by a letter. In other  words,
       it  tests  for the presence of at least one letter in the subject. If a
       letter is found, the subject is matched against the first  alternative;
       otherwise  it  is  matched  against  the  second.  This pattern matches
       strings in one of the two forms dd-aaa-dd or dd-dd-dd,  where  aaa  are
       letters and dd are digits.


COMMENTS

       The  sequence (?# marks the start of a comment that continues up to the
       next closing parenthesis. Nested parentheses  are  not  permitted.  The
       characters  that make up a comment play no part in the pattern matching
       at all.

       If the PCRE_EXTENDED option is set, an unescaped # character outside  a
       character  class  introduces  a  comment  that continues to immediately
       after the next newline in the pattern.


RECURSIVE PATTERNS

       Consider the problem of matching a string in parentheses, allowing  for
       unlimited  nested  parentheses.  Without the use of recursion, the best
       that can be done is to use a pattern that  matches  up  to  some  fixed
       depth  of  nesting.  It  is not possible to handle an arbitrary nesting
       depth.

       For some time, Perl has provided a facility that allows regular expres-
       sions  to recurse (amongst other things). It does this by interpolating
       Perl code in the expression at run time, and the code can refer to  the
       expression itself. A Perl pattern using code interpolation to solve the
       parentheses problem can be created like this:

         $re = qr{\( (?: (?>[^()]+) | (?p{$re}) )* \)}x;

       The (?p{...}) item interpolates Perl code at run time, and in this case
       refers recursively to the pattern in which it appears.

       Obviously, PCRE cannot support the interpolation of Perl code. Instead,
       it supports special syntax for recursion of  the  entire  pattern,  and
       also  for  individual  subpattern  recursion. After its introduction in
       PCRE and Python, this kind of  recursion  was  subsequently  introduced
       into Perl at release 5.10.

       A  special  item  that consists of (? followed by a number greater than
       zero and a closing parenthesis is a recursive call of the subpattern of
       the  given  number, provided that it occurs inside that subpattern. (If
       not, it is a "subroutine" call, which is described  in  the  next  sec-
       tion.)  The special item (?R) or (?0) is a recursive call of the entire
       regular expression.

       This PCRE pattern solves the nested  parentheses  problem  (assume  the
       PCRE_EXTENDED option is set so that white space is ignored):

         \( ( [^()]++ | (?R) )* \)

       First  it matches an opening parenthesis. Then it matches any number of
       substrings which can either be a  sequence  of  non-parentheses,  or  a
       recursive  match  of the pattern itself (that is, a correctly parenthe-
       sized substring).  Finally there is a closing parenthesis. Note the use
       of a possessive quantifier to avoid backtracking into sequences of non-
       parentheses.

       If this were part of a larger pattern, you would not  want  to  recurse
       the entire pattern, so instead you could use this:

         ( \( ( [^()]++ | (?1) )* \) )

       We  have  put the pattern into parentheses, and caused the recursion to
       refer to them instead of the whole pattern.

       In a larger pattern,  keeping  track  of  parenthesis  numbers  can  be
       tricky.  This  is made easier by the use of relative references (a Perl
       5.10 feature).  Instead of (?1) in the  pattern  above  you  can  write
       (?-2) to refer to the second most recently opened parentheses preceding
       the recursion. In other  words,  a  negative  number  counts  capturing
       parentheses leftwards from the point at which it is encountered.

       It  is  also  possible  to refer to subsequently opened parentheses, by
       writing references such as (?+2). However, these  cannot  be  recursive
       because  the  reference  is  not inside the parentheses that are refer-
       enced. They are always "subroutine" calls, as  described  in  the  next
       section.

       An  alternative  approach is to use named parentheses instead. The Perl
       syntax for this is (?&name); PCRE's earlier syntax  (?P>name)  is  also
       supported. We could rewrite the above example as follows:

         (?<pn> \( ( [^()]++ | (?&pn) )* \) )

       If  there  is more than one subpattern with the same name, the earliest
       one is used.

       This particular example pattern that we have been looking  at  contains
       nested unlimited repeats, and so the use of a possessive quantifier for
       matching strings of non-parentheses is important when applying the pat-
       tern  to  strings  that do not match. For example, when this pattern is
       applied to

         (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()

       it yields "no match" quickly. However, if a  possessive  quantifier  is
       not  used, the match runs for a very long time indeed because there are
       so many different ways the + and * repeats can carve  up  the  subject,
       and all have to be tested before failure can be reported.

       At  the  end  of a match, the values of capturing parentheses are those
       from the outermost level. If you want to obtain intermediate values,  a
       callout  function can be used (see below and the pcrecallout documenta-
       tion). If the pattern above is matched against

         (ab(cd)ef)

       the value for the inner capturing parentheses  (numbered  2)  is  "ef",
       which  is the last value taken on at the top level. If a capturing sub-
       pattern is not matched at the top level, its final value is unset, even
       if it is (temporarily) set at a deeper level.

       If  there are more than 15 capturing parentheses in a pattern, PCRE has
       to obtain extra memory to store data during a recursion, which it  does
       by using pcre_malloc, freeing it via pcre_free afterwards. If no memory
       can be obtained, the match fails with the PCRE_ERROR_NOMEMORY error.

       Do not confuse the (?R) item with the condition (R),  which  tests  for
       recursion.   Consider  this pattern, which matches text in angle brack-
       ets, allowing for arbitrary nesting. Only digits are allowed in  nested
       brackets  (that is, when recursing), whereas any characters are permit-
       ted at the outer level.

         < (?: (?(R) \d++  | [^<>]*+) | (?R)) * >

       In this pattern, (?(R) is the start of a conditional  subpattern,  with
       two  different  alternatives for the recursive and non-recursive cases.
       The (?R) item is the actual recursive call.

   Recursion difference from Perl

       In PCRE (like Python, but unlike Perl), a recursive subpattern call  is
       always treated as an atomic group. That is, once it has matched some of
       the subject string, it is never re-entered, even if it contains untried
       alternatives  and  there  is a subsequent matching failure. This can be
       illustrated by the following pattern, which purports to match a  palin-
       dromic  string  that contains an odd number of characters (for example,
       "a", "aba", "abcba", "abcdcba"):

         ^(.|(.)(?1)\2)$

       The idea is that it either matches a single character, or two identical
       characters  surrounding  a sub-palindrome. In Perl, this pattern works;
       in PCRE it does not if the pattern is  longer  than  three  characters.
       Consider the subject string "abcba":

       At  the  top level, the first character is matched, but as it is not at
       the end of the string, the first alternative fails; the second alterna-
       tive is taken and the recursion kicks in. The recursive call to subpat-
       tern 1 successfully matches the next character ("b").  (Note  that  the
       beginning and end of line tests are not part of the recursion).

       Back  at  the top level, the next character ("c") is compared with what
       subpattern 2 matched, which was "a". This fails. Because the  recursion
       is  treated  as  an atomic group, there are now no backtracking points,
       and so the entire match fails. (Perl is able, at  this  point,  to  re-
       enter  the  recursion  and try the second alternative.) However, if the
       pattern is written with the alternatives in the other order, things are
       different:

         ^((.)(?1)\2|.)$

       This  time,  the recursing alternative is tried first, and continues to
       recurse until it runs out of characters, at which point  the  recursion
       fails.  But  this  time  we  do  have another alternative to try at the
       higher level. That is the big difference:  in  the  previous  case  the
       remaining alternative is at a deeper recursion level, which PCRE cannot
       use.

       To change the pattern so that matches all palindromic strings, not just
       those  with  an  odd number of characters, it is tempting to change the
       pattern to this:

         ^((.)(?1)\2|.?)$

       Again, this works in Perl, but not in PCRE, and for  the  same  reason.
       When  a  deeper  recursion has matched a single character, it cannot be
       entered again in order to match an empty string.  The  solution  is  to
       separate  the two cases, and write out the odd and even cases as alter-
       natives at the higher level:

         ^(?:((.)(?1)\2|)|((.)(?3)\4|.))

       If you want to match typical palindromic phrases, the  pattern  has  to
       ignore all non-word characters, which can be done like this:

         ^\W*+(?:((.)\W*+(?1)\W*+\2|)|((.)\W*+(?3)\W*+\4|\W*+.\W*+))\W*+$

       If run with the PCRE_CASELESS option, this pattern matches phrases such
       as "A man, a plan, a canal: Panama!" and it works well in both PCRE and
       Perl.  Note the use of the possessive quantifier *+ to avoid backtrack-
       ing into sequences of non-word characters. Without this, PCRE  takes  a
       great  deal  longer  (ten  times or more) to match typical phrases, and
       Perl takes so long that you think it has gone into a loop.

       WARNING: The palindrome-matching patterns above work only if  the  sub-
       ject  string  does not start with a palindrome that is shorter than the
       entire string.  For example, although "abcba" is correctly matched,  if
       the  subject  is "ababa", PCRE finds the palindrome "aba" at the start,
       then fails at top level because the end of the string does not  follow.
       Once  again, it cannot jump back into the recursion to try other alter-
       natives, so the entire match fails.


SUBPATTERNS AS SUBROUTINES

       If the syntax for a recursive subpattern reference (either by number or
       by  name)  is used outside the parentheses to which it refers, it oper-
       ates like a subroutine in a programming language. The "called"  subpat-
       tern may be defined before or after the reference. A numbered reference
       can be absolute or relative, as in these examples:

         (...(absolute)...)...(?2)...
         (...(relative)...)...(?-1)...
         (...(?+1)...(relative)...

       An earlier example pointed out that the pattern

         (sens|respons)e and \1ibility

       matches "sense and sensibility" and "response and responsibility",  but
       not "sense and responsibility". If instead the pattern

         (sens|respons)e and (?1)ibility

       is  used, it does match "sense and responsibility" as well as the other
       two strings. Another example is  given  in  the  discussion  of  DEFINE
       above.

       Like  recursive  subpatterns, a subroutine call is always treated as an
       atomic group. That is, once it has matched some of the subject  string,
       it  is  never  re-entered, even if it contains untried alternatives and
       there is a subsequent matching failure. Any capturing parentheses  that
       are  set  during  the  subroutine  call revert to their previous values
       afterwards.

       When a subpattern is used as a subroutine, processing options  such  as
       case-independence are fixed when the subpattern is defined. They cannot
       be changed for different calls. For example, consider this pattern:

         (abc)(?i:(?-1))

       It matches "abcabc". It does not match "abcABC" because the  change  of
       processing option does not affect the called subpattern.


ONIGURUMA SUBROUTINE SYNTAX

       For  compatibility with Oniguruma, the non-Perl syntax \g followed by a
       name or a number enclosed either in angle brackets or single quotes, is
       an  alternative  syntax  for  referencing a subpattern as a subroutine,
       possibly recursively. Here are two of the examples used above,  rewrit-
       ten using this syntax:

         (?<pn> \( ( (?>[^()]+) | \g<pn> )* \) )
         (sens|respons)e and \g'1'ibility

       PCRE  supports  an extension to Oniguruma: if a number is preceded by a
       plus or a minus sign it is taken as a relative reference. For example:

         (abc)(?i:\g<-1>)

       Note that \g{...} (Perl syntax) and \g<...> (Oniguruma syntax) are  not
       synonymous.  The former is a back reference; the latter is a subroutine
       call.


CALLOUTS

       Perl has a feature whereby using the sequence (?{...}) causes arbitrary
       Perl  code to be obeyed in the middle of matching a regular expression.
       This makes it possible, amongst other things, to extract different sub-
       strings that match the same pair of parentheses when there is a repeti-
       tion.

       PCRE provides a similar feature, but of course it cannot obey arbitrary
       Perl code. The feature is called "callout". The caller of PCRE provides
       an external function by putting its entry point in the global  variable
       pcre_callout.   By default, this variable contains NULL, which disables
       all calling out.

       Within a regular expression, (?C) indicates the  points  at  which  the
       external  function  is  to be called. If you want to identify different
       callout points, you can put a number less than 256 after the letter  C.
       The  default  value is zero.  For example, this pattern has two callout
       points:

         (?C1)abc(?C2)def

       If the PCRE_AUTO_CALLOUT flag is passed to pcre_compile(), callouts are
       automatically  installed  before each item in the pattern. They are all
       numbered 255.

       During matching, when PCRE reaches a callout point (and pcre_callout is
       set),  the  external function is called. It is provided with the number
       of the callout, the position in the pattern, and, optionally, one  item
       of  data  originally supplied by the caller of pcre_exec(). The callout
       function may cause matching to proceed, to backtrack, or to fail  alto-
       gether. A complete description of the interface to the callout function
       is given in the pcrecallout documentation.


BACKTRACKING CONTROL

       Perl 5.10 introduced a number of "Special Backtracking Control  Verbs",
       which are described in the Perl documentation as "experimental and sub-
       ject to change or removal in a future version of Perl". It goes  on  to
       say:  "Their usage in production code should be noted to avoid problems
       during upgrades." The same remarks apply to the PCRE features described
       in this section.

       Since  these  verbs  are  specifically related to backtracking, most of
       them can be  used  only  when  the  pattern  is  to  be  matched  using
       pcre_exec(), which uses a backtracking algorithm. With the exception of
       (*FAIL), which behaves like a failing negative assertion, they cause an
       error if encountered by pcre_dfa_exec().

       If any of these verbs are used in an assertion or subroutine subpattern
       (including recursive subpatterns), their effect  is  confined  to  that
       subpattern;  it  does  not extend to the surrounding pattern. Note that
       such subpatterns are processed as anchored at the point where they  are
       tested.

       The  new verbs make use of what was previously invalid syntax: an open-
       ing parenthesis followed by an asterisk. In Perl, they are generally of
       the form (*VERB:ARG) but PCRE does not support the use of arguments, so
       its general form is just (*VERB). Any number of these verbs  may  occur
       in a pattern. There are two kinds:

   Verbs that act immediately

       The following verbs act as soon as they are encountered:

          (*ACCEPT)

       This  verb causes the match to end successfully, skipping the remainder
       of the pattern. When inside a recursion, only the innermost pattern  is
       ended  immediately.  If  (*ACCEPT) is inside capturing parentheses, the
       data so far is captured. (This feature was added  to  PCRE  at  release
       8.00.) For example:

         A((?:A|B(*ACCEPT)|C)D)

       This  matches  "AB", "AAD", or "ACD"; when it matches "AB", "B" is cap-
       tured by the outer parentheses.

         (*FAIL) or (*F)

       This verb causes the match to fail, forcing backtracking to  occur.  It
       is  equivalent to (?!) but easier to read. The Perl documentation notes
       that it is probably useful only when combined  with  (?{})  or  (??{}).
       Those  are,  of course, Perl features that are not present in PCRE. The
       nearest equivalent is the callout feature, as for example in this  pat-
       tern:

         a+(?C)(*FAIL)

       A  match  with the string "aaaa" always fails, but the callout is taken
       before each backtrack happens (in this example, 10 times).

   Verbs that act after backtracking

       The following verbs do nothing when they are encountered. Matching con-
       tinues  with what follows, but if there is no subsequent match, a fail-
       ure is forced.  The verbs  differ  in  exactly  what  kind  of  failure
       occurs.

         (*COMMIT)

       This  verb  causes  the whole match to fail outright if the rest of the
       pattern does not match. Even if the pattern is unanchored,  no  further
       attempts  to  find  a match by advancing the starting point take place.
       Once (*COMMIT) has been passed, pcre_exec() is committed to  finding  a
       match at the current starting point, or not at all. For example:

         a+(*COMMIT)b

       This  matches  "xxaab" but not "aacaab". It can be thought of as a kind
       of dynamic anchor, or "I've started, so I must finish."

         (*PRUNE)

       This verb causes the match to fail at the current position if the  rest
       of the pattern does not match. If the pattern is unanchored, the normal
       "bumpalong" advance to the next starting character then happens.  Back-
       tracking  can  occur as usual to the left of (*PRUNE), or when matching
       to the right of (*PRUNE), but if there is no match to the right,  back-
       tracking  cannot  cross (*PRUNE).  In simple cases, the use of (*PRUNE)
       is just an alternative to an atomic group or possessive quantifier, but
       there  are  some uses of (*PRUNE) that cannot be expressed in any other
       way.

         (*SKIP)

       This verb is like (*PRUNE), except that if the pattern  is  unanchored,
       the  "bumpalong" advance is not to the next character, but to the posi-
       tion in the subject where (*SKIP) was  encountered.  (*SKIP)  signifies
       that  whatever  text  was  matched leading up to it cannot be part of a
       successful match. Consider:

         a+(*SKIP)b

       If the subject is "aaaac...",  after  the  first  match  attempt  fails
       (starting  at  the  first  character in the string), the starting point
       skips on to start the next attempt at "c". Note that a possessive quan-
       tifer  does not have the same effect as this example; although it would
       suppress backtracking  during  the  first  match  attempt,  the  second
       attempt  would  start at the second character instead of skipping on to
       "c".

         (*THEN)

       This verb causes a skip to the next alternation if the rest of the pat-
       tern does not match. That is, it cancels pending backtracking, but only
       within the current alternation. Its name  comes  from  the  observation
       that it can be used for a pattern-based if-then-else block:

         ( COND1 (*THEN) FOO | COND2 (*THEN) BAR | COND3 (*THEN) BAZ ) ...

       If  the COND1 pattern matches, FOO is tried (and possibly further items
       after the end of the group if FOO succeeds);  on  failure  the  matcher
       skips  to  the second alternative and tries COND2, without backtracking
       into COND1. If (*THEN) is used outside  of  any  alternation,  it  acts
       exactly like (*PRUNE).


SEE ALSO

       pcreapi(3), pcrecallout(3), pcrematching(3), pcresyntax(3), pcre(3).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 06 March 2010
       Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------


PCRESYNTAX(3)                                                    PCRESYNTAX(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE REGULAR EXPRESSION SYNTAX SUMMARY

       The  full syntax and semantics of the regular expressions that are sup-
       ported by PCRE are described in  the  pcrepattern  documentation.  This
       document contains just a quick-reference summary of the syntax.


QUOTING

         \x         where x is non-alphanumeric is a literal x
         \Q...\E    treat enclosed characters as literal


CHARACTERS

         \a         alarm, that is, the BEL character (hex 07)
         \cx        "control-x", where x is any character
         \e         escape (hex 1B)
         \f         formfeed (hex 0C)
         \n         newline (hex 0A)
         \r         carriage return (hex 0D)
         \t         tab (hex 09)
         \ddd       character with octal code ddd, or backreference
         \xhh       character with hex code hh
         \x{hhh..}  character with hex code hhh..


CHARACTER TYPES

         .          any character except newline;
                      in dotall mode, any character whatsoever
         \C         one byte, even in UTF-8 mode (best avoided)
         \d         a decimal digit
         \D         a character that is not a decimal digit
         \h         a horizontal whitespace character
         \H         a character that is not a horizontal whitespace character
         \p{xx}     a character with the xx property
         \P{xx}     a character without the xx property
         \R         a newline sequence
         \s         a whitespace character
         \S         a character that is not a whitespace character
         \v         a vertical whitespace character
         \V         a character that is not a vertical whitespace character
         \w         a "word" character
         \W         a "non-word" character
         \X         an extended Unicode sequence

       In PCRE, \d, \D, \s, \S, \w, and \W recognize only ASCII characters.


GENERAL CATEGORY PROPERTY CODES FOR \p and \P

         C          Other
         Cc         Control
         Cf         Format
         Cn         Unassigned
         Co         Private use
         Cs         Surrogate

         L          Letter
         Ll         Lower case letter
         Lm         Modifier letter
         Lo         Other letter
         Lt         Title case letter
         Lu         Upper case letter
         L&         Ll, Lu, or Lt

         M          Mark
         Mc         Spacing mark
         Me         Enclosing mark
         Mn         Non-spacing mark

         N          Number
         Nd         Decimal number
         Nl         Letter number
         No         Other number

         P          Punctuation
         Pc         Connector punctuation
         Pd         Dash punctuation
         Pe         Close punctuation
         Pf         Final punctuation
         Pi         Initial punctuation
         Po         Other punctuation
         Ps         Open punctuation

         S          Symbol
         Sc         Currency symbol
         Sk         Modifier symbol
         Sm         Mathematical symbol
         So         Other symbol

         Z          Separator
         Zl         Line separator
         Zp         Paragraph separator
         Zs         Space separator


SCRIPT NAMES FOR \p AND \P

       Arabic, Armenian, Avestan, Balinese, Bamum, Bengali, Bopomofo, Braille,
       Buginese, Buhid, Canadian_Aboriginal, Carian, Cham,  Cherokee,  Common,
       Coptic,   Cuneiform,  Cypriot,  Cyrillic,  Deseret,  Devanagari,  Egyp-
       tian_Hieroglyphs,  Ethiopic,  Georgian,  Glagolitic,   Gothic,   Greek,
       Gujarati,  Gurmukhi,  Han,  Hangul,  Hanunoo,  Hebrew,  Hiragana, Impe-
       rial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian,
       Javanese,  Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khmer, Lao,
       Latin,  Lepcha,  Limbu,  Linear_B,  Lisu,  Lycian,  Lydian,  Malayalam,
       Meetei_Mayek,  Mongolian, Myanmar, New_Tai_Lue, Nko, Ogham, Old_Italic,
       Old_Persian, Old_South_Arabian, Old_Turkic, Ol_Chiki,  Oriya,  Osmanya,
       Phags_Pa,  Phoenician,  Rejang,  Runic, Samaritan, Saurashtra, Shavian,
       Sinhala, Sundanese, Syloti_Nagri, Syriac,  Tagalog,  Tagbanwa,  Tai_Le,
       Tai_Tham,  Tai_Viet,  Tamil,  Telugu,  Thaana, Thai, Tibetan, Tifinagh,
       Ugaritic, Vai, Yi.


CHARACTER CLASSES

         [...]       positive character class
         [^...]      negative character class
         [x-y]       range (can be used for hex characters)
         [[:xxx:]]   positive POSIX named set
         [[:^xxx:]]  negative POSIX named set

         alnum       alphanumeric
         alpha       alphabetic
         ascii       0-127
         blank       space or tab
         cntrl       control character
         digit       decimal digit
         graph       printing, excluding space
         lower       lower case letter
         print       printing, including space
         punct       printing, excluding alphanumeric
         space       whitespace
         upper       upper case letter
         word        same as \w
         xdigit      hexadecimal digit

       In PCRE, POSIX character set names recognize only ASCII characters. You
       can use \Q...\E inside a character class.


QUANTIFIERS

         ?           0 or 1, greedy
         ?+          0 or 1, possessive
         ??          0 or 1, lazy
         *           0 or more, greedy
         *+          0 or more, possessive
         *?          0 or more, lazy
         +           1 or more, greedy
         ++          1 or more, possessive
         +?          1 or more, lazy
         {n}         exactly n
         {n,m}       at least n, no more than m, greedy
         {n,m}+      at least n, no more than m, possessive
         {n,m}?      at least n, no more than m, lazy
         {n,}        n or more, greedy
         {n,}+       n or more, possessive
         {n,}?       n or more, lazy


ANCHORS AND SIMPLE ASSERTIONS

         \b          word boundary (only ASCII letters recognized)
         \B          not a word boundary
         ^           start of subject
                      also after internal newline in multiline mode
         \A          start of subject
         $           end of subject
                      also before newline at end of subject
                      also before internal newline in multiline mode
         \Z          end of subject
                      also before newline at end of subject
         \z          end of subject
         \G          first matching position in subject


MATCH POINT RESET

         \K          reset start of match


ALTERNATION

         expr|expr|expr...


CAPTURING

         (...)           capturing group
         (?<name>...)    named capturing group (Perl)
         (?'name'...)    named capturing group (Perl)
         (?P<name>...)   named capturing group (Python)
         (?:...)         non-capturing group
         (?|...)         non-capturing group; reset group numbers for
                          capturing groups in each alternative


ATOMIC GROUPS

         (?>...)         atomic, non-capturing group


COMMENT

         (?#....)        comment (not nestable)


OPTION SETTING

         (?i)            caseless
         (?J)            allow duplicate names
         (?m)            multiline
         (?s)            single line (dotall)
         (?U)            default ungreedy (lazy)
         (?x)            extended (ignore white space)
         (?-...)         unset option(s)

       The following is recognized only at the start of a pattern or after one
       of the newline-setting options with similar syntax:

         (*UTF8)         set UTF-8 mode


LOOKAHEAD AND LOOKBEHIND ASSERTIONS

         (?=...)         positive look ahead
         (?!...)         negative look ahead
         (?<=...)        positive look behind
         (?<!...)        negative look behind

       Each top-level branch of a look behind must be of a fixed length.


BACKREFERENCES

         \n              reference by number (can be ambiguous)
         \gn             reference by number
         \g{n}           reference by number
         \g{-n}          relative reference by number
         \k<name>        reference by name (Perl)
         \k'name'        reference by name (Perl)
         \g{name}        reference by name (Perl)
         \k{name}        reference by name (.NET)
         (?P=name)       reference by name (Python)


SUBROUTINE REFERENCES (POSSIBLY RECURSIVE)

         (?R)            recurse whole pattern
         (?n)            call subpattern by absolute number
         (?+n)           call subpattern by relative number
         (?-n)           call subpattern by relative number
         (?&name)        call subpattern by name (Perl)
         (?P>name)       call subpattern by name (Python)
         \g<name>        call subpattern by name (Oniguruma)
         \g'name'        call subpattern by name (Oniguruma)
         \g<n>           call subpattern by absolute number (Oniguruma)
         \g'n'           call subpattern by absolute number (Oniguruma)
         \g<+n>          call subpattern by relative number (PCRE extension)
         \g'+n'          call subpattern by relative number (PCRE extension)
         \g<-n>          call subpattern by relative number (PCRE extension)
         \g'-n'          call subpattern by relative number (PCRE extension)


CONDITIONAL PATTERNS

         (?(condition)yes-pattern)
         (?(condition)yes-pattern|no-pattern)

         (?(n)...        absolute reference condition
         (?(+n)...       relative reference condition
         (?(-n)...       relative reference condition
         (?(<name>)...   named reference condition (Perl)
         (?('name')...   named reference condition (Perl)
         (?(name)...     named reference condition (PCRE)
         (?(R)...        overall recursion condition
         (?(Rn)...       specific group recursion condition
         (?(R&name)...   specific recursion condition
         (?(DEFINE)...   define subpattern for reference
         (?(assert)...   assertion condition


BACKTRACKING CONTROL

       The following act immediately they are reached:

         (*ACCEPT)       force successful match
         (*FAIL)         force backtrack; synonym (*F)

       The following act only when a subsequent match failure causes  a  back-
       track to reach them. They all force a match failure, but they differ in
       what happens afterwards. Those that advance the start-of-match point do
       so only if the pattern is not anchored.

         (*COMMIT)       overall failure, no advance of starting point
         (*PRUNE)        advance to next starting character
         (*SKIP)         advance start to current matching position
         (*THEN)         local failure, backtrack to next alternation


NEWLINE CONVENTIONS

       These  are  recognized only at the very start of the pattern or after a
       (*BSR_...) or (*UTF8) option.

         (*CR)           carriage return only
         (*LF)           linefeed only
         (*CRLF)         carriage return followed by linefeed
         (*ANYCRLF)      all three of the above
         (*ANY)          any Unicode newline sequence


WHAT \R MATCHES

       These are recognized only at the very start of the pattern or  after  a
       (*...) option that sets the newline convention or UTF-8 mode.

         (*BSR_ANYCRLF)  CR, LF, or CRLF
         (*BSR_UNICODE)  any Unicode newline sequence


CALLOUTS

         (?C)      callout
         (?Cn)     callout with data n


SEE ALSO

       pcrepattern(3), pcreapi(3), pcrecallout(3), pcrematching(3), pcre(3).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 01 March 2010
       Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------


PCREPARTIAL(3)                                                  PCREPARTIAL(3)


NAME
       PCRE - Perl-compatible regular expressions


PARTIAL MATCHING IN PCRE

       In  normal  use  of  PCRE,  if  the  subject  string  that is passed to
       pcre_exec() or pcre_dfa_exec() matches as far as it goes,  but  is  too
       short  to  match  the  entire  pattern, PCRE_ERROR_NOMATCH is returned.
       There are circumstances where it might be helpful to  distinguish  this
       case from other cases in which there is no match.

       Consider, for example, an application where a human is required to type
       in data for a field with specific formatting requirements.  An  example
       might be a date in the form ddmmmyy, defined by this pattern:

         ^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$

       If the application sees the user's keystrokes one by one, and can check
       that what has been typed so far is potentially valid,  it  is  able  to
       raise  an  error  as  soon  as  a  mistake  is made, by beeping and not
       reflecting the character that has been typed, for example. This immedi-
       ate  feedback is likely to be a better user interface than a check that
       is delayed until the entire string has been entered.  Partial  matching
       can  also  sometimes be useful when the subject string is very long and
       is not all available at once.

       PCRE supports partial matching by means of  the  PCRE_PARTIAL_SOFT  and
       PCRE_PARTIAL_HARD options, which can be set when calling pcre_exec() or
       pcre_dfa_exec(). For backwards compatibility, PCRE_PARTIAL is a synonym
       for PCRE_PARTIAL_SOFT. The essential difference between the two options
       is whether or not a partial match is preferred to an  alternative  com-
       plete  match,  though the details differ between the two matching func-
       tions. If both options are set, PCRE_PARTIAL_HARD takes precedence.

       Setting a partial matching option disables two of PCRE's optimizations.
       PCRE  remembers the last literal byte in a pattern, and abandons match-
       ing immediately if such a byte is not present in  the  subject  string.
       This  optimization cannot be used for a subject string that might match
       only partially. If the pattern was  studied,  PCRE  knows  the  minimum
       length  of  a  matching string, and does not bother to run the matching
       function on shorter strings. This optimization  is  also  disabled  for
       partial matching.


PARTIAL MATCHING USING pcre_exec()

       A partial match occurs during a call to pcre_exec() whenever the end of
       the subject string is reached successfully, but  matching  cannot  con-
       tinue because more characters are needed. However, at least one charac-
       ter must have been matched. (In other words, a partial match can  never
       be an empty string.)

       If  PCRE_PARTIAL_SOFT  is  set,  the  partial  match is remembered, but
       matching continues as normal, and other alternatives in the pattern are
       tried.   If  no  complete  match  can  be  found,  pcre_exec()  returns
       PCRE_ERROR_PARTIAL instead of PCRE_ERROR_NOMATCH. If there are at least
       two slots in the offsets vector, the first of them is set to the offset
       of the earliest character that was inspected when the partial match was
       found.  For  convenience,  the  second  offset points to the end of the
       string so that a substring can easily be identified.

       For the majority of patterns, the first offset identifies the start  of
       the  partially matched string. However, for patterns that contain look-
       behind assertions, or \K, or begin with \b or  \B,  earlier  characters
       have been inspected while carrying out the match. For example:

         /(?<=abc)123/

       This pattern matches "123", but only if it is preceded by "abc". If the
       subject string is "xyzabc12", the offsets after a partial match are for
       the  substring  "abc12",  because  all  these  characters are needed if
       another match is tried with extra characters added.

       If there is more than one partial match, the first one that  was  found
       provides the data that is returned. Consider this pattern:

         /123\w+X|dogY/

       If  this is matched against the subject string "abc123dog", both alter-
       natives fail to match, but the end of the  subject  is  reached  during
       matching,    so    PCRE_ERROR_PARTIAL    is    returned    instead   of
       PCRE_ERROR_NOMATCH. The  offsets  are  set  to  3  and  9,  identifying
       "123dog"  as  the first partial match that was found. (In this example,
       there are two partial matches,  because  "dog"  on  its  own  partially
       matches the second alternative.)

       If PCRE_PARTIAL_HARD is set for pcre_exec(), it returns PCRE_ERROR_PAR-
       TIAL as soon as a partial match is found, without continuing to  search
       for  possible  complete matches. The difference between the two options
       can be illustrated by a pattern such as:

         /dog(sbody)?/

       This matches either "dog" or "dogsbody", greedily (that is, it  prefers
       the  longer  string  if  possible). If it is matched against the string
       "dog" with PCRE_PARTIAL_SOFT, it yields a  complete  match  for  "dog".
       However, if PCRE_PARTIAL_HARD is set, the result is PCRE_ERROR_PARTIAL.
       On the other hand, if the pattern is made ungreedy the result  is  dif-
       ferent:

         /dog(sbody)??/

       In  this case the result is always a complete match because pcre_exec()
       finds that first, and it never continues  after  finding  a  match.  It
       might  be easier to follow this explanation by thinking of the two pat-
       terns like this:

         /dog(sbody)?/    is the same as  /dogsbody|dog/
         /dog(sbody)??/   is the same as  /dog|dogsbody/

       The second pattern will never  match  "dogsbody"  when  pcre_exec()  is
       used, because it will always find the shorter match first.


PARTIAL MATCHING USING pcre_dfa_exec()

       The  pcre_dfa_exec()  function moves along the subject string character
       by character, without backtracking, searching for all possible  matches
       simultaneously.  If the end of the subject is reached before the end of
       the pattern, there is the possibility of a partial  match,  again  pro-
       vided that at least one character has matched.

       When  PCRE_PARTIAL_SOFT  is set, PCRE_ERROR_PARTIAL is returned only if
       there have been no complete matches. Otherwise,  the  complete  matches
       are  returned.   However,  if PCRE_PARTIAL_HARD is set, a partial match
       takes precedence over any complete matches. The portion of  the  string
       that  was  inspected when the longest partial match was found is set as
       the first matching string, provided there are at least two slots in the
       offsets vector.

       Because  pcre_dfa_exec()  always searches for all possible matches, and
       there is no difference between greedy and ungreedy repetition, its  be-
       haviour is different from pcre_exec when PCRE_PARTIAL_HARD is set. Con-
       sider the string "dog"  matched  against  the  ungreedy  pattern  shown
       above:

         /dog(sbody)??/

       Whereas  pcre_exec()  stops  as soon as it finds the complete match for
       "dog", pcre_dfa_exec() also finds the partial match for "dogsbody", and
       so returns that when PCRE_PARTIAL_HARD is set.


PARTIAL MATCHING AND WORD BOUNDARIES

       If  a  pattern ends with one of sequences \b or \B, which test for word
       boundaries, partial matching with PCRE_PARTIAL_SOFT can  give  counter-
       intuitive results. Consider this pattern:

         /\bcat\b/

       This matches "cat", provided there is a word boundary at either end. If
       the subject string is "the cat", the comparison of the final "t" with a
       following  character  cannot  take  place, so a partial match is found.
       However, pcre_exec() carries on with normal matching, which matches  \b
       at  the  end  of  the subject when the last character is a letter, thus
       finding a complete match. The result, therefore, is not PCRE_ERROR_PAR-
       TIAL.  The  same  thing  happens  with pcre_dfa_exec(), because it also
       finds the complete match.

       Using PCRE_PARTIAL_HARD in this  case  does  yield  PCRE_ERROR_PARTIAL,
       because then the partial match takes precedence.


FORMERLY RESTRICTED PATTERNS

       For releases of PCRE prior to 8.00, because of the way certain internal
       optimizations  were  implemented  in  the  pcre_exec()  function,   the
       PCRE_PARTIAL  option  (predecessor  of  PCRE_PARTIAL_SOFT) could not be
       used with all patterns. From release 8.00 onwards, the restrictions  no
       longer  apply,  and  partial matching with pcre_exec() can be requested
       for any pattern.

       Items that were formerly restricted were repeated single characters and
       repeated  metasequences. If PCRE_PARTIAL was set for a pattern that did
       not conform to the restrictions, pcre_exec() returned  the  error  code
       PCRE_ERROR_BADPARTIAL  (-13).  This error code is no longer in use. The
       PCRE_INFO_OKPARTIAL call to pcre_fullinfo() to find out if  a  compiled
       pattern can be used for partial matching now always returns 1.


EXAMPLE OF PARTIAL MATCHING USING PCRETEST

       If  the  escape  sequence  \P  is  present in a pcretest data line, the
       PCRE_PARTIAL_SOFT option is used for  the  match.  Here  is  a  run  of
       pcretest that uses the date example quoted above:

           re> /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
         data> 25jun04\P
          0: 25jun04
          1: jun
         data> 25dec3\P
         Partial match: 23dec3
         data> 3ju\P
         Partial match: 3ju
         data> 3juj\P
         No match
         data> j\P
         No match

       The  first  data  string  is  matched completely, so pcretest shows the
       matched substrings. The remaining four strings do not  match  the  com-
       plete pattern, but the first two are partial matches. Similar output is
       obtained when pcre_dfa_exec() is used.

       If the escape sequence \P is present more than once in a pcretest  data
       line, the PCRE_PARTIAL_HARD option is set for the match.


MULTI-SEGMENT MATCHING WITH pcre_dfa_exec()

       When a partial match has been found using pcre_dfa_exec(), it is possi-
       ble to continue the match by  providing  additional  subject  data  and
       calling  pcre_dfa_exec()  again  with the same compiled regular expres-
       sion, this time setting the PCRE_DFA_RESTART option. You must pass  the
       same working space as before, because this is where details of the pre-
       vious partial match are stored. Here  is  an  example  using  pcretest,
       using  the  \R  escape  sequence to set the PCRE_DFA_RESTART option (\D
       specifies the use of pcre_dfa_exec()):

           re> /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
         data> 23ja\P\D
         Partial match: 23ja
         data> n05\R\D
          0: n05

       The first call has "23ja" as the subject, and requests  partial  match-
       ing;  the  second  call  has  "n05"  as  the  subject for the continued
       (restarted) match.  Notice that when the match is  complete,  only  the
       last  part  is  shown;  PCRE  does not retain the previously partially-
       matched string. It is up to the calling program to do that if it  needs
       to.

       You  can  set  the  PCRE_PARTIAL_SOFT or PCRE_PARTIAL_HARD options with
       PCRE_DFA_RESTART to continue partial matching over  multiple  segments.
       This  facility  can  be  used  to  pass  very  long  subject strings to
       pcre_dfa_exec().


MULTI-SEGMENT MATCHING WITH pcre_exec()

       From release 8.00, pcre_exec() can also be  used  to  do  multi-segment
       matching.  Unlike  pcre_dfa_exec(),  it  is not possible to restart the
       previous match with a new segment of data. Instead, new  data  must  be
       added  to  the  previous  subject  string, and the entire match re-run,
       starting from the point where the partial match occurred. Earlier  data
       can be discarded.  Consider an unanchored pattern that matches dates:

           re> /\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d/
         data> The date is 23ja\P
         Partial match: 23ja

       At  this stage, an application could discard the text preceding "23ja",
       add on text from the next segment, and call pcre_exec()  again.  Unlike
       pcre_dfa_exec(),  the  entire matching string must always be available,
       and the complete matching process occurs for each call, so more  memory
       and more processing time is needed.

       Note:  If  the pattern contains lookbehind assertions, or \K, or starts
       with \b or \B, the string that is returned for  a  partial  match  will
       include  characters  that  precede the partially matched string itself,
       because these must be retained when adding on  more  characters  for  a
       subsequent matching attempt.


ISSUES WITH MULTI-SEGMENT MATCHING

       Certain types of pattern may give problems with multi-segment matching,
       whichever matching function is used.

       1. If the pattern contains tests for the beginning or end  of  a  line,
       you  need  to pass the PCRE_NOTBOL or PCRE_NOTEOL options, as appropri-
       ate, when the subject string for any call does not contain  the  begin-
       ning or end of a line.

       2.  Lookbehind  assertions at the start of a pattern are catered for in
       the offsets that are returned for a partial match. However, in  theory,
       a  lookbehind assertion later in the pattern could require even earlier
       characters to be inspected, and it might not have been reached  when  a
       partial  match occurs. This is probably an extremely unlikely case; you
       could guard against it to a certain extent by  always  including  extra
       characters at the start.

       3.  Matching  a subject string that is split into multiple segments may
       not always produce exactly the same result as matching over one  single
       long  string,  especially  when  PCRE_PARTIAL_SOFT is used. The section
       "Partial Matching and Word Boundaries" above describes  an  issue  that
       arises  if  the  pattern ends with \b or \B. Another kind of difference
       may occur when there are multiple  matching  possibilities,  because  a
       partial match result is given only when there are no completed matches.
       This means that as soon as the shortest match has been found, continua-
       tion  to  a  new subject segment is no longer possible.  Consider again
       this pcretest example:

           re> /dog(sbody)?/
         data> dogsb\P
          0: dog
         data> do\P\D
         Partial match: do
         data> gsb\R\P\D
          0: g
         data> dogsbody\D
          0: dogsbody
          1: dog

       The first data line passes the string "dogsb" to  pcre_exec(),  setting
       the  PCRE_PARTIAL_SOFT  option.  Although the string is a partial match
       for "dogsbody", the  result  is  not  PCRE_ERROR_PARTIAL,  because  the
       shorter  string  "dog" is a complete match. Similarly, when the subject
       is presented to pcre_dfa_exec() in several parts ("do" and "gsb"  being
       the first two) the match stops when "dog" has been found, and it is not
       possible to continue. On the other hand, if "dogsbody" is presented  as
       a single string, pcre_dfa_exec() finds both matches.

       Because of these problems, it is probably best to use PCRE_PARTIAL_HARD
       when matching multi-segment data. The example above then  behaves  dif-
       ferently:

           re> /dog(sbody)?/
         data> dogsb\P\P
         Partial match: dogsb
         data> do\P\D
         Partial match: do
         data> gsb\R\P\P\D
         Partial match: gsb


       4. Patterns that contain alternatives at the top level which do not all
       start with the  same  pattern  item  may  not  work  as  expected  when
       PCRE_DFA_RESTART  is  used  with pcre_dfa_exec(). For example, consider
       this pattern:

         1234|3789

       If the first part of the subject is "ABC123", a partial  match  of  the
       first  alternative  is found at offset 3. There is no partial match for
       the second alternative, because such a match does not start at the same
       point  in  the  subject  string. Attempting to continue with the string
       "7890" does not yield a match  because  only  those  alternatives  that
       match  at  one  point in the subject are remembered. The problem arises
       because the start of the second alternative matches  within  the  first
       alternative.  There  is  no  problem with anchored patterns or patterns
       such as:

         1234|ABCD

       where no string can be a partial match for both alternatives.  This  is
       not  a  problem if pcre_exec() is used, because the entire match has to
       be rerun each time:

           re> /1234|3789/
         data> ABC123\P
         Partial match: 123
         data> 1237890
          0: 3789

       Of course, instead of using PCRE_DFA_PARTIAL, the same technique of re-
       running the entire match can also be used with pcre_dfa_exec(). Another
       possibility is to work with two buffers. If a partial match at offset n
       in  the first buffer is followed by "no match" when PCRE_DFA_RESTART is
       used on the second buffer, you can then try a  new  match  starting  at
       offset n+1 in the first buffer.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 19 October 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCREPRECOMPILE(3)                                            PCREPRECOMPILE(3)


NAME
       PCRE - Perl-compatible regular expressions


SAVING AND RE-USING PRECOMPILED PCRE PATTERNS

       If  you  are running an application that uses a large number of regular
       expression patterns, it may be useful to store them  in  a  precompiled
       form  instead  of  having to compile them every time the application is
       run.  If you are not  using  any  private  character  tables  (see  the
       pcre_maketables()  documentation),  this is relatively straightforward.
       If you are using private tables, it is a little bit more complicated.

       If you save compiled patterns to a file, you can copy them to a differ-
       ent  host  and  run them there. This works even if the new host has the
       opposite endianness to the one on which  the  patterns  were  compiled.
       There  may  be a small performance penalty, but it should be insignifi-
       cant. However, compiling regular expressions with one version  of  PCRE
       for  use  with  a  different  version is not guaranteed to work and may
       cause crashes.


SAVING A COMPILED PATTERN
       The value returned by pcre_compile() points to a single block of memory
       that  holds  the compiled pattern and associated data. You can find the
       length of this block in bytes by calling pcre_fullinfo() with an  argu-
       ment  of  PCRE_INFO_SIZE. You can then save the data in any appropriate
       manner. Here is sample code that compiles a pattern and writes it to  a
       file. It assumes that the variable fd refers to a file that is open for
       output:

         int erroroffset, rc, size;
         char *error;
         pcre *re;

         re = pcre_compile("my pattern", 0, &error, &erroroffset, NULL);
         if (re == NULL) { ... handle errors ... }
         rc = pcre_fullinfo(re, NULL, PCRE_INFO_SIZE, &size);
         if (rc < 0) { ... handle errors ... }
         rc = fwrite(re, 1, size, fd);
         if (rc != size) { ... handle errors ... }

       In this example, the bytes  that  comprise  the  compiled  pattern  are
       copied  exactly.  Note that this is binary data that may contain any of
       the 256 possible byte  values.  On  systems  that  make  a  distinction
       between binary and non-binary data, be sure that the file is opened for
       binary output.

       If you want to write more than one pattern to a file, you will have  to
       devise  a  way of separating them. For binary data, preceding each pat-
       tern with its length is probably  the  most  straightforward  approach.
       Another  possibility is to write out the data in hexadecimal instead of
       binary, one pattern to a line.

       Saving compiled patterns in a file is only one possible way of  storing
       them  for later use. They could equally well be saved in a database, or
       in the memory of some daemon process that passes them  via  sockets  to
       the processes that want them.

       If  the pattern has been studied, it is also possible to save the study
       data in a similar way to the compiled  pattern  itself.  When  studying
       generates  additional  information, pcre_study() returns a pointer to a
       pcre_extra data block. Its format is defined in the section on matching
       a  pattern in the pcreapi documentation. The study_data field points to
       the binary study data,  and  this  is  what  you  must  save  (not  the
       pcre_extra  block itself). The length of the study data can be obtained
       by calling pcre_fullinfo() with  an  argument  of  PCRE_INFO_STUDYSIZE.
       Remember  to check that pcre_study() did return a non-NULL value before
       trying to save the study data.


RE-USING A PRECOMPILED PATTERN

       Re-using a precompiled pattern is straightforward. Having  reloaded  it
       into   main   memory,   you   pass   its   pointer  to  pcre_exec()  or
       pcre_dfa_exec() in the usual way. This  should  work  even  on  another
       host,  and  even  if  that  host has the opposite endianness to the one
       where the pattern was compiled.

       However, if you passed a pointer to custom character  tables  when  the
       pattern  was  compiled  (the  tableptr argument of pcre_compile()), you
       must now pass a similar  pointer  to  pcre_exec()  or  pcre_dfa_exec(),
       because  the  value  saved  with the compiled pattern will obviously be
       nonsense. A field in a pcre_extra() block is used to pass this data, as
       described  in the section on matching a pattern in the pcreapi documen-
       tation.

       If you did not provide custom character tables  when  the  pattern  was
       compiled,  the  pointer  in  the compiled pattern is NULL, which causes
       pcre_exec() to use PCRE's internal tables. Thus, you  do  not  need  to
       take any special action at run time in this case.

       If  you  saved study data with the compiled pattern, you need to create
       your own pcre_extra data block and set the study_data field to point to
       the  reloaded  study  data. You must also set the PCRE_EXTRA_STUDY_DATA
       bit in the flags field to indicate that study  data  is  present.  Then
       pass  the  pcre_extra  block  to  pcre_exec() or pcre_dfa_exec() in the
       usual way.


COMPATIBILITY WITH DIFFERENT PCRE RELEASES

       In general, it is safest to  recompile  all  saved  patterns  when  you
       update  to  a new PCRE release, though not all updates actually require
       this. Recompiling is definitely needed for release 7.2.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 13 June 2007
       Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------


PCREPERFORM(3)                                                  PCREPERFORM(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE PERFORMANCE

       Two  aspects  of performance are discussed below: memory usage and pro-
       cessing time. The way you express your pattern as a regular  expression
       can affect both of them.


COMPILED PATTERN MEMORY USAGE

       Patterns are compiled by PCRE into a reasonably efficient byte code, so
       that most simple patterns do not use much memory. However, there is one
       case  where  the memory usage of a compiled pattern can be unexpectedly
       large. If a parenthesized subpattern has a quantifier  with  a  minimum
       greater  than  1  and/or  a  limited  maximum,  the whole subpattern is
       repeated in the compiled code. For example, the pattern

         (abc|def){2,4}

       is compiled as if it were

         (abc|def)(abc|def)((abc|def)(abc|def)?)?

       (Technical aside: It is done this way so that backtrack  points  within
       each of the repetitions can be independently maintained.)

       For  regular expressions whose quantifiers use only small numbers, this
       is not usually a problem. However, if the numbers are large,  and  par-
       ticularly  if  such repetitions are nested, the memory usage can become
       an embarrassment. For example, the very simple pattern

         ((ab){1,1000}c){1,3}

       uses 51K bytes when compiled. When PCRE is compiled  with  its  default
       internal  pointer  size of two bytes, the size limit on a compiled pat-
       tern is 64K, and this is reached with the above pattern  if  the  outer
       repetition is increased from 3 to 4. PCRE can be compiled to use larger
       internal pointers and thus handle larger compiled patterns, but  it  is
       better to try to rewrite your pattern to use less memory if you can.

       One  way  of reducing the memory usage for such patterns is to make use
       of PCRE's "subroutine" facility. Re-writing the above pattern as

         ((ab)(?2){0,999}c)(?1){0,2}

       reduces the memory requirements to 18K, and indeed it remains under 20K
       even  with the outer repetition increased to 100. However, this pattern
       is not exactly equivalent, because the "subroutine" calls  are  treated
       as  atomic groups into which there can be no backtracking if there is a
       subsequent matching failure. Therefore, PCRE cannot  do  this  kind  of
       rewriting  automatically.   Furthermore,  there is a noticeable loss of
       speed when executing the modified pattern. Nevertheless, if the  atomic
       grouping  is  not  a  problem and the loss of speed is acceptable, this
       kind of rewriting will allow you to process patterns that  PCRE  cannot
       otherwise handle.


STACK USAGE AT RUN TIME

       When  pcre_exec()  is  used  for matching, certain kinds of pattern can
       cause it to use large amounts of the process stack.  In  some  environ-
       ments  the default process stack is quite small, and if it runs out the
       result is often SIGSEGV.  This issue is probably  the  most  frequently
       raised  problem  with  PCRE. Rewriting your pattern can often help. The
       pcrestack documentation discusses this issue in detail.


PROCESSING TIME

       Certain items in regular expression patterns are processed  more  effi-
       ciently than others. It is more efficient to use a character class like
       [aeiou]  than  a  set  of   single-character   alternatives   such   as
       (a|e|i|o|u).  In  general,  the simplest construction that provides the
       required behaviour is usually the most efficient. Jeffrey Friedl's book
       contains  a  lot  of useful general discussion about optimizing regular
       expressions for efficient performance. This  document  contains  a  few
       observations about PCRE.

       Using  Unicode  character  properties  (the  \p, \P, and \X escapes) is
       slow, because PCRE has to scan a structure that contains data for  over
       fifteen  thousand  characters whenever it needs a character's property.
       If you can find an alternative pattern  that  does  not  use  character
       properties, it will probably be faster.

       When  a  pattern  begins  with .* not in parentheses, or in parentheses
       that are not the subject of a backreference, and the PCRE_DOTALL option
       is  set, the pattern is implicitly anchored by PCRE, since it can match
       only at the start of a subject string. However, if PCRE_DOTALL  is  not
       set,  PCRE  cannot  make this optimization, because the . metacharacter
       does not then match a newline, and if the subject string contains  new-
       lines,  the  pattern may match from the character immediately following
       one of them instead of from the very start. For example, the pattern

         .*second

       matches the subject "first\nand second" (where \n stands for a  newline
       character),  with the match starting at the seventh character. In order
       to do this, PCRE has to retry the match starting after every newline in
       the subject.

       If  you  are using such a pattern with subject strings that do not con-
       tain newlines, the best performance is obtained by setting PCRE_DOTALL,
       or  starting  the pattern with ^.* or ^.*? to indicate explicit anchor-
       ing. That saves PCRE from having to scan along the subject looking  for
       a newline to restart at.

       Beware  of  patterns  that contain nested indefinite repeats. These can
       take a long time to run when applied to a string that does  not  match.
       Consider the pattern fragment

         ^(a+)*

       This  can  match "aaaa" in 16 different ways, and this number increases
       very rapidly as the string gets longer. (The * repeat can match  0,  1,
       2,  3, or 4 times, and for each of those cases other than 0 or 4, the +
       repeats can match different numbers of times.) When  the  remainder  of
       the pattern is such that the entire match is going to fail, PCRE has in
       principle to try  every  possible  variation,  and  this  can  take  an
       extremely long time, even for relatively short strings.

       An optimization catches some of the more simple cases such as

         (a+)*b

       where  a  literal  character  follows. Before embarking on the standard
       matching procedure, PCRE checks that there is a "b" later in  the  sub-
       ject  string, and if there is not, it fails the match immediately. How-
       ever, when there is no following literal this  optimization  cannot  be
       used. You can see the difference by comparing the behaviour of

         (a+)*\d

       with  the  pattern  above.  The former gives a failure almost instantly
       when applied to a whole line of  "a"  characters,  whereas  the  latter
       takes an appreciable time with strings longer than about 20 characters.

       In many cases, the solution to this kind of performance issue is to use
       an atomic group or a possessive quantifier.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 07 March 2010
       Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------


PCREPOSIX(3)                                                      PCREPOSIX(3)


NAME
       PCRE - Perl-compatible regular expressions.


SYNOPSIS OF POSIX API

       #include <pcreposix.h>

       int regcomp(regex_t *preg, const char *pattern,
            int cflags);

       int regexec(regex_t *preg, const char *string,
            size_t nmatch, regmatch_t pmatch[], int eflags);

       size_t regerror(int errcode, const regex_t *preg,
            char *errbuf, size_t errbuf_size);

       void regfree(regex_t *preg);


DESCRIPTION

       This  set  of  functions provides a POSIX-style API to the PCRE regular
       expression package. See the pcreapi documentation for a description  of
       PCRE's native API, which contains much additional functionality.

       The functions described here are just wrapper functions that ultimately
       call  the  PCRE  native  API.  Their  prototypes  are  defined  in  the
       pcreposix.h  header  file,  and  on  Unix systems the library itself is
       called pcreposix.a, so can be accessed by  adding  -lpcreposix  to  the
       command  for  linking  an application that uses them. Because the POSIX
       functions call the native ones, it is also necessary to add -lpcre.

       I have implemented only those POSIX option bits that can be  reasonably
       mapped  to PCRE native options. In addition, the option REG_EXTENDED is
       defined with the value zero. This has no  effect,  but  since  programs
       that  are  written  to  the POSIX interface often use it, this makes it
       easier to slot in PCRE as a replacement library.  Other  POSIX  options
       are not even defined.

       There  are also some other options that are not defined by POSIX. These
       have been added at the request of users who want to make use of certain
       PCRE-specific features via the POSIX calling interface.

       When  PCRE  is  called  via these functions, it is only the API that is
       POSIX-like in style. The syntax and semantics of  the  regular  expres-
       sions  themselves  are  still  those of Perl, subject to the setting of
       various PCRE options, as described below. "POSIX-like in  style"  means
       that  the  API  approximates  to  the POSIX definition; it is not fully
       POSIX-compatible, and in multi-byte encoding  domains  it  is  probably
       even less compatible.

       The  header for these functions is supplied as pcreposix.h to avoid any
       potential clash with other POSIX  libraries.  It  can,  of  course,  be
       renamed or aliased as regex.h, which is the "correct" name. It provides
       two structure types, regex_t for  compiled  internal  forms,  and  reg-
       match_t  for  returning  captured substrings. It also defines some con-
       stants whose names start  with  "REG_";  these  are  used  for  setting
       options and identifying error codes.


COMPILING A PATTERN

       The  function regcomp() is called to compile a pattern into an internal
       form. The pattern is a C string terminated by a  binary  zero,  and  is
       passed  in  the  argument  pattern. The preg argument is a pointer to a
       regex_t structure that is used as a base for storing information  about
       the compiled regular expression.

       The argument cflags is either zero, or contains one or more of the bits
       defined by the following macros:

         REG_DOTALL

       The PCRE_DOTALL option is set when the regular expression is passed for
       compilation to the native function. Note that REG_DOTALL is not part of
       the POSIX standard.

         REG_ICASE

       The PCRE_CASELESS option is set when the regular expression  is  passed
       for compilation to the native function.

         REG_NEWLINE

       The  PCRE_MULTILINE option is set when the regular expression is passed
       for compilation to the native function. Note that this does  not  mimic
       the  defined  POSIX  behaviour  for REG_NEWLINE (see the following sec-
       tion).

         REG_NOSUB

       The PCRE_NO_AUTO_CAPTURE option is set when the regular  expression  is
       passed for compilation to the native function. In addition, when a pat-
       tern that is compiled with this flag is passed to regexec() for  match-
       ing,  the  nmatch  and  pmatch  arguments  are ignored, and no captured
       strings are returned.

         REG_UNGREEDY

       The PCRE_UNGREEDY option is set when the regular expression  is  passed
       for  compilation  to the native function. Note that REG_UNGREEDY is not
       part of the POSIX standard.

         REG_UTF8

       The PCRE_UTF8 option is set when the regular expression is  passed  for
       compilation  to the native function. This causes the pattern itself and
       all data strings used for matching it to be treated as  UTF-8  strings.
       Note that REG_UTF8 is not part of the POSIX standard.

       In  the  absence  of  these  flags, no options are passed to the native
       function.  This means the the  regex  is  compiled  with  PCRE  default
       semantics.  In particular, the way it handles newline characters in the
       subject string is the Perl way, not the POSIX way.  Note  that  setting
       PCRE_MULTILINE  has only some of the effects specified for REG_NEWLINE.
       It does not affect the way newlines are matched by . (they are not)  or
       by a negative class such as [^a] (they are).

       The  yield of regcomp() is zero on success, and non-zero otherwise. The
       preg structure is filled in on success, and one member of the structure
       is  public: re_nsub contains the number of capturing subpatterns in the
       regular expression. Various error codes are defined in the header file.

       NOTE: If the yield of regcomp() is non-zero, you must  not  attempt  to
       use the contents of the preg structure. If, for example, you pass it to
       regexec(), the result is undefined and your program is likely to crash.


MATCHING NEWLINE CHARACTERS

       This area is not simple, because POSIX and Perl take different views of
       things.   It  is  not possible to get PCRE to obey POSIX semantics, but
       then PCRE was never intended to be a POSIX engine. The following  table
       lists  the  different  possibilities for matching newline characters in
       PCRE:

                                 Default   Change with

         . matches newline          no     PCRE_DOTALL
         newline matches [^a]       yes    not changeable
         $ matches \n at end        yes    PCRE_DOLLARENDONLY
         $ matches \n in middle     no     PCRE_MULTILINE
         ^ matches \n in middle     no     PCRE_MULTILINE

       This is the equivalent table for POSIX:

                                 Default   Change with

         . matches newline          yes    REG_NEWLINE
         newline matches [^a]       yes    REG_NEWLINE
         $ matches \n at end        no     REG_NEWLINE
         $ matches \n in middle     no     REG_NEWLINE
         ^ matches \n in middle     no     REG_NEWLINE

       PCRE's behaviour is the same as Perl's, except that there is no equiva-
       lent  for  PCRE_DOLLAR_ENDONLY in Perl. In both PCRE and Perl, there is
       no way to stop newline from matching [^a].

       The  default  POSIX  newline  handling  can  be  obtained  by   setting
       PCRE_DOTALL  and  PCRE_DOLLAR_ENDONLY, but there is no way to make PCRE
       behave exactly as for the REG_NEWLINE action.


MATCHING A PATTERN

       The function regexec() is called  to  match  a  compiled  pattern  preg
       against  a  given string, which is by default terminated by a zero byte
       (but see REG_STARTEND below), subject to the options in  eflags.  These
       can be:

         REG_NOTBOL

       The PCRE_NOTBOL option is set when calling the underlying PCRE matching
       function.

         REG_NOTEMPTY

       The PCRE_NOTEMPTY option is set when calling the underlying PCRE match-
       ing function. Note that REG_NOTEMPTY is not part of the POSIX standard.
       However, setting this option can give more POSIX-like behaviour in some
       situations.

         REG_NOTEOL

       The PCRE_NOTEOL option is set when calling the underlying PCRE matching
       function.

         REG_STARTEND

       The string is considered to start at string +  pmatch[0].rm_so  and  to
       have  a terminating NUL located at string + pmatch[0].rm_eo (there need
       not actually be a NUL at that location), regardless  of  the  value  of
       nmatch.  This  is a BSD extension, compatible with but not specified by
       IEEE Standard 1003.2 (POSIX.2), and should  be  used  with  caution  in
       software intended to be portable to other systems. Note that a non-zero
       rm_so does not imply REG_NOTBOL; REG_STARTEND affects only the location
       of the string, not how it is matched.

       If  the pattern was compiled with the REG_NOSUB flag, no data about any
       matched strings  is  returned.  The  nmatch  and  pmatch  arguments  of
       regexec() are ignored.

       If the value of nmatch is zero, or if the value pmatch is NULL, no data
       about any matched strings is returned.

       Otherwise,the portion of the string that was matched, and also any cap-
       tured substrings, are returned via the pmatch argument, which points to
       an array of nmatch structures of type regmatch_t, containing  the  mem-
       bers  rm_so  and rm_eo. These contain the offset to the first character
       of each substring and the offset to the first character after  the  end
       of  each substring, respectively. The 0th element of the vector relates
       to the entire portion of string that was matched;  subsequent  elements
       relate  to  the capturing subpatterns of the regular expression. Unused
       entries in the array have both structure members set to -1.

       A successful match yields  a  zero  return;  various  error  codes  are
       defined  in  the  header  file,  of which REG_NOMATCH is the "expected"
       failure code.


ERROR MESSAGES

       The regerror() function maps a non-zero errorcode from either regcomp()
       or  regexec()  to  a  printable message. If preg is not NULL, the error
       should have arisen from the use of that structure. A message terminated
       by  a  binary  zero  is  placed  in  errbuf. The length of the message,
       including the zero, is limited to errbuf_size. The yield of  the  func-
       tion is the size of buffer needed to hold the whole message.


MEMORY USAGE

       Compiling  a regular expression causes memory to be allocated and asso-
       ciated with the preg structure. The function regfree() frees  all  such
       memory,  after  which  preg may no longer be used as a compiled expres-
       sion.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 02 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------


PCRECPP(3)                                                          PCRECPP(3)


NAME
       PCRE - Perl-compatible regular expressions.


SYNOPSIS OF C++ WRAPPER

       #include <pcrecpp.h>


DESCRIPTION

       The  C++  wrapper  for PCRE was provided by Google Inc. Some additional
       functionality was added by Giuseppe Maxia. This brief man page was con-
       structed  from  the  notes  in the pcrecpp.h file, which should be con-
       sulted for further details.


MATCHING INTERFACE

       The "FullMatch" operation checks that supplied text matches a  supplied
       pattern  exactly.  If pointer arguments are supplied, it copies matched
       sub-strings that match sub-patterns into them.

         Example: successful match
            pcrecpp::RE re("h.*o");
            re.FullMatch("hello");

         Example: unsuccessful match (requires full match):
            pcrecpp::RE re("e");
            !re.FullMatch("hello");

         Example: creating a temporary RE object:
            pcrecpp::RE("h.*o").FullMatch("hello");

       You can pass in a "const char*" or a "string" for "text". The  examples
       below  tend to use a const char*. You can, as in the different examples
       above, store the RE object explicitly in a variable or use a  temporary
       RE  object.  The  examples below use one mode or the other arbitrarily.
       Either could correctly be used for any of these examples.

       You must supply extra pointer arguments to extract matched subpieces.

         Example: extracts "ruby" into "s" and 1234 into "i"
            int i;
            string s;
            pcrecpp::RE re("(\\w+):(\\d+)");
            re.FullMatch("ruby:1234", &s, &i);

         Example: does not try to extract any extra sub-patterns
            re.FullMatch("ruby:1234", &s);

         Example: does not try to extract into NULL
            re.FullMatch("ruby:1234", NULL, &i);

         Example: integer overflow causes failure
            !re.FullMatch("ruby:1234567891234", NULL, &i);

         Example: fails because there aren't enough sub-patterns:
            !pcrecpp::RE("\\w+:\\d+").FullMatch("ruby:1234", &s);

         Example: fails because string cannot be stored in integer
            !pcrecpp::RE("(.*)").FullMatch("ruby", &i);

       The provided pointer arguments can be pointers to  any  scalar  numeric
       type, or one of:

          string        (matched piece is copied to string)
          StringPiece   (StringPiece is mutated to point to matched piece)
          T             (where "bool T::ParseFrom(const char*, int)" exists)
          NULL          (the corresponding matched sub-pattern is not copied)

       The  function returns true iff all of the following conditions are sat-
       isfied:

         a. "text" matches "pattern" exactly;

         b. The number of matched sub-patterns is >= number of supplied
            pointers;

         c. The "i"th argument has a suitable type for holding the
            string captured as the "i"th sub-pattern. If you pass in
            void * NULL for the "i"th argument, or a non-void * NULL
            of the correct type, or pass fewer arguments than the
            number of sub-patterns, "i"th captured sub-pattern is
            ignored.

       CAVEAT: An optional sub-pattern that does  not  exist  in  the  matched
       string  is  assigned  the  empty  string. Therefore, the following will
       return false (because the empty string is not a valid number):

          int number;
          pcrecpp::RE::FullMatch("abc", "[a-z]+(\\d+)?", &number);

       The matching interface supports at most 16 arguments per call.  If  you
       need    more,    consider    using    the    more   general   interface
       pcrecpp::RE::DoMatch. See pcrecpp.h for the signature for DoMatch.

       NOTE: Do not use no_arg, which is used internally to mark the end of  a
       list  of optional arguments, as a placeholder for missing arguments, as
       this can lead to segfaults.


QUOTING METACHARACTERS

       You can use the "QuoteMeta" operation to insert backslashes before  all
       potentially  meaningful  characters  in  a string. The returned string,
       used as a regular expression, will exactly match the original string.

         Example:
            string quoted = RE::QuoteMeta(unquoted);

       Note that it's legal to escape a character even if it  has  no  special
       meaning  in  a  regular expression -- so this function does that. (This
       also makes it identical to the perl function  of  the  same  name;  see
       "perldoc    -f    quotemeta".)    For   example,   "1.5-2.0?"   becomes
       "1\.5\-2\.0\?".


PARTIAL MATCHES

       You can use the "PartialMatch" operation when you want the  pattern  to
       match any substring of the text.

         Example: simple search for a string:
            pcrecpp::RE("ell").PartialMatch("hello");

         Example: find first number in a string:
            int number;
            pcrecpp::RE re("(\\d+)");
            re.PartialMatch("x*100 + 20", &number);
            assert(number == 100);


UTF-8 AND THE MATCHING INTERFACE

       By  default,  pattern  and text are plain text, one byte per character.
       The UTF8 flag, passed to  the  constructor,  causes  both  pattern  and
       string to be treated as UTF-8 text, still a byte stream but potentially
       multiple bytes per character. In practice, the text is likelier  to  be
       UTF-8  than  the pattern, but the match returned may depend on the UTF8
       flag, so always use it when matching UTF8 text. For example,  "."  will
       match  one  byte normally but with UTF8 set may match up to three bytes
       of a multi-byte character.

         Example:
            pcrecpp::RE_Options options;
            options.set_utf8();
            pcrecpp::RE re(utf8_pattern, options);
            re.FullMatch(utf8_string);

         Example: using the convenience function UTF8():
            pcrecpp::RE re(utf8_pattern, pcrecpp::UTF8());
            re.FullMatch(utf8_string);

       NOTE: The UTF8 flag is ignored if pcre was not configured with the
             --enable-utf8 flag.


PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE

       PCRE defines some modifiers to  change  the  behavior  of  the  regular
       expression   engine.  The  C++  wrapper  defines  an  auxiliary  class,
       RE_Options, as a vehicle to pass such modifiers to  a  RE  class.  Cur-
       rently, the following modifiers are supported:

          modifier              description               Perl corresponding

          PCRE_CASELESS         case insensitive match      /i
          PCRE_MULTILINE        multiple lines match        /m
          PCRE_DOTALL           dot matches newlines        /s
          PCRE_DOLLAR_ENDONLY   $ matches only at end       N/A
          PCRE_EXTRA            strict escape parsing       N/A
          PCRE_EXTENDED         ignore whitespaces          /x
          PCRE_UTF8             handles UTF8 chars          built-in
          PCRE_UNGREEDY         reverses * and *?           N/A
          PCRE_NO_AUTO_CAPTURE  disables capturing parens   N/A (*)

       (*)  Both Perl and PCRE allow non capturing parentheses by means of the
       "?:" modifier within the pattern itself. e.g. (?:ab|cd) does  not  cap-
       ture, while (ab|cd) does.

       For  a  full  account on how each modifier works, please check the PCRE
       API reference page.

       For each modifier, there are two member functions whose  name  is  made
       out  of  the  modifier  in  lowercase,  without the "PCRE_" prefix. For
       instance, PCRE_CASELESS is handled by

         bool caseless()

       which returns true if the modifier is set, and

         RE_Options & set_caseless(bool)

       which sets or unsets the modifier. Moreover, PCRE_EXTRA_MATCH_LIMIT can
       be  accessed  through  the  set_match_limit()  and match_limit() member
       functions. Setting match_limit to a non-zero value will limit the  exe-
       cution  of pcre to keep it from doing bad things like blowing the stack
       or taking an eternity to return a result.  A  value  of  5000  is  good
       enough  to stop stack blowup in a 2MB thread stack. Setting match_limit
       to  zero  disables  match  limiting.  Alternatively,   you   can   call
       match_limit_recursion()  which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to
       limit how much  PCRE  recurses.  match_limit()  limits  the  number  of
       matches PCRE does; match_limit_recursion() limits the depth of internal
       recursion, and therefore the amount of stack that is used.

       Normally, to pass one or more modifiers to a RE class,  you  declare  a
       RE_Options object, set the appropriate options, and pass this object to
       a RE constructor. Example:

          RE_options opt;
          opt.set_caseless(true);
          if (RE("HELLO", opt).PartialMatch("hello world")) ...

       RE_options has two constructors. The default constructor takes no argu-
       ments  and creates a set of flags that are off by default. The optional
       parameter option_flags is to facilitate transfer of legacy code from  C
       programs.  This lets you do

          RE(pattern,
            RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);

       However, new code is better off doing

          RE(pattern,
            RE_Options().set_caseless(true).set_multiline(true))
              .PartialMatch(str);

       If you are going to pass one of the most used modifiers, there are some
       convenience functions that return a RE_Options class with the appropri-
       ate  modifier  already  set: CASELESS(), UTF8(), MULTILINE(), DOTALL(),
       and EXTENDED().

       If you need to set several options at once, and you don't  want  to  go
       through  the pains of declaring a RE_Options object and setting several
       options, there is a parallel method that give you such ability  on  the
       fly.  You  can  concatenate several set_xxxxx() member functions, since
       each of them returns a reference to its class object. For  example,  to
       pass  PCRE_CASELESS, PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one
       statement, you may write:

          RE(" ^ xyz \\s+ .* blah$",
            RE_Options()
              .set_caseless(true)
              .set_extended(true)
              .set_multiline(true)).PartialMatch(sometext);


SCANNING TEXT INCREMENTALLY

       The "Consume" operation may be useful if you want to  repeatedly  match
       regular expressions at the front of a string and skip over them as they
       match. This requires use of the "StringPiece" type, which represents  a
       sub-range  of  a  real  string.  Like RE, StringPiece is defined in the
       pcrecpp namespace.

         Example: read lines of the form "var = value" from a string.
            string contents = ...;                 // Fill string somehow
            pcrecpp::StringPiece input(contents);  // Wrap in a StringPiece

            string var;
            int value;
            pcrecpp::RE re("(\\w+) = (\\d+)\n");
            while (re.Consume(&input, &var, &value)) {
              ...;
            }

       Each successful call  to  "Consume"  will  set  "var/value",  and  also
       advance "input" so it points past the matched text.

       The  "FindAndConsume"  operation  is  similar to "Consume" but does not
       anchor your match at the beginning of  the  string.  For  example,  you
       could extract all words from a string by repeatedly calling

         pcrecpp::RE("(\\w+)").FindAndConsume(&input, &word)


PARSING HEX/OCTAL/C-RADIX NUMBERS

       By default, if you pass a pointer to a numeric value, the corresponding
       text is interpreted as a base-10  number.  You  can  instead  wrap  the
       pointer with a call to one of the operators Hex(), Octal(), or CRadix()
       to interpret the text in another base. The CRadix  operator  interprets
       C-style  "0"  (base-8)  and  "0x"  (base-16)  prefixes, but defaults to
       base-10.

         Example:
           int a, b, c, d;
           pcrecpp::RE re("(.*) (.*) (.*) (.*)");
           re.FullMatch("100 40 0100 0x40",
                        pcrecpp::Octal(&a), pcrecpp::Hex(&b),
                        pcrecpp::CRadix(&c), pcrecpp::CRadix(&d));

       will leave 64 in a, b, c, and d.


REPLACING PARTS OF STRINGS

       You can replace the first match of "pattern" in "str"  with  "rewrite".
       Within  "rewrite",  backslash-escaped  digits (\1 to \9) can be used to
       insert text matching corresponding parenthesized group  from  the  pat-
       tern. \0 in "rewrite" refers to the entire matching text. For example:

         string s = "yabba dabba doo";
         pcrecpp::RE("b+").Replace("d", &s);

       will  leave  "s" containing "yada dabba doo". The result is true if the
       pattern matches and a replacement occurs, false otherwise.

       GlobalReplace is like Replace except that it replaces  all  occurrences
       of  the  pattern  in  the string with the rewrite. Replacements are not
       subject to re-matching. For example:

         string s = "yabba dabba doo";
         pcrecpp::RE("b+").GlobalReplace("d", &s);

       will leave "s" containing "yada dada doo". It  returns  the  number  of
       replacements made.

       Extract  is like Replace, except that if the pattern matches, "rewrite"
       is copied into "out" (an additional argument) with substitutions.   The
       non-matching  portions  of "text" are ignored. Returns true iff a match
       occurred and the extraction happened successfully;  if no match occurs,
       the string is left unaffected.


AUTHOR

       The C++ wrapper was contributed by Google Inc.
       Copyright (c) 2007 Google Inc.


REVISION

       Last updated: 17 March 2009
------------------------------------------------------------------------------


PCRESAMPLE(3)                                                    PCRESAMPLE(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE SAMPLE PROGRAM

       A simple, complete demonstration program, to get you started with using
       PCRE, is supplied in the file pcredemo.c in the  PCRE  distribution.  A
       listing  of this program is given in the pcredemo documentation. If you
       do not have a copy of the PCRE distribution, you can save this  listing
       to re-create pcredemo.c.

       The program compiles the regular expression that is its first argument,
       and matches it against the subject string in its  second  argument.  No
       PCRE  options are set, and default character tables are used. If match-
       ing succeeds, the program outputs  the  portion  of  the  subject  that
       matched, together with the contents of any captured substrings.

       If the -g option is given on the command line, the program then goes on
       to check for further matches of the same regular expression in the same
       subject  string. The logic is a little bit tricky because of the possi-
       bility of matching an empty string. Comments in the code  explain  what
       is going on.

       If  PCRE  is  installed in the standard include and library directories
       for your operating system, you should be able to compile the demonstra-
       tion program using this command:

         gcc -o pcredemo pcredemo.c -lpcre

       If  PCRE is installed elsewhere, you may need to add additional options
       to the command line. For example, on a Unix-like system that  has  PCRE
       installed  in  /usr/local,  you  can  compile the demonstration program
       using a command like this:

         gcc -o pcredemo -I/usr/local/include pcredemo.c \
             -L/usr/local/lib -lpcre

       Once you have compiled the demonstration program, you  can  run  simple
       tests like this:

         ./pcredemo 'cat|dog' 'the cat sat on the mat'
         ./pcredemo -g 'cat|dog' 'the dog sat on the cat'

       Note  that  there  is  a  much  more comprehensive test program, called
       pcretest, which supports  many  more  facilities  for  testing  regular
       expressions and the PCRE library. The pcredemo program is provided as a
       simple coding example.

       When you try to run pcredemo when PCRE is not installed in the standard
       library  directory,  you  may  get an error like this on some operating
       systems (e.g. Solaris):

         ld.so.1: a.out: fatal: libpcre.so.0: open failed:  No  such  file  or
       directory

       This  is  caused  by the way shared library support works on those sys-
       tems. You need to add

         -R/usr/local/lib

       (for example) to the compile command to get round this problem.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 30 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
------------------------------------------------------------------------------
PCRESTACK(3)                                                      PCRESTACK(3)


NAME
       PCRE - Perl-compatible regular expressions


PCRE DISCUSSION OF STACK USAGE

       When  you call pcre_exec(), it makes use of an internal function called
       match(). This calls itself recursively at branch points in the pattern,
       in  order to remember the state of the match so that it can back up and
       try a different alternative if the first one fails.  As  matching  pro-
       ceeds  deeper  and deeper into the tree of possibilities, the recursion
       depth increases.

       Not all calls of match() increase the recursion depth; for an item such
       as  a* it may be called several times at the same level, after matching
       different numbers of a's. Furthermore, in a number of cases  where  the
       result  of  the  recursive call would immediately be passed back as the
       result of the current call (a "tail recursion"), the function  is  just
       restarted instead.

       The pcre_dfa_exec() function operates in an entirely different way, and
       uses recursion only when there is a  regular  expression  recursion  or
       subroutine  call in the pattern. This includes the processing of asser-
       tion and "once-only" subpatterns, which  are  handled  like  subroutine
       calls.  Normally,  these are never very deep, and the limit on the com-
       plexity of pcre_dfa_exec() is controlled by the amount of workspace  it
       is  given. However, it is possible to write patterns with runaway infi-
       nite recursions; such patterns will cause pcre_dfa_exec() to run out of
       stack. At present, there is no protection against this.

       The comments that follow do NOT apply to pcre_dfa_exec(); they are rel-
       evant only for pcre_exec().

   Reducing pcre_exec()'s stack usage

       Each time that match() is actually called recursively, it  uses  memory
       from  the  process  stack.  For certain kinds of pattern and data, very
       large amounts of stack may be needed, despite the recognition of  "tail
       recursion".   You  can often reduce the amount of recursion, and there-
       fore the amount of stack used, by modifying the pattern that  is  being
       matched. Consider, for example, this pattern:

         ([^<]|<(?!inet))+

       It  matches  from wherever it starts until it encounters "<inet" or the
       end of the data, and is the kind of pattern that  might  be  used  when
       processing an XML file. Each iteration of the outer parentheses matches
       either one character that is not "<" or a "<" that is not  followed  by
       "inet".  However,  each  time  a  parenthesis is processed, a recursion
       occurs, so this formulation uses a stack frame for each matched charac-
       ter.  For  a long string, a lot of stack is required. Consider now this
       rewritten pattern, which matches exactly the same strings:

         ([^<]++|<(?!inet))+

       This uses very much less stack, because runs of characters that do  not
       contain  "<" are "swallowed" in one item inside the parentheses. Recur-
       sion happens only when a "<" character that is not followed  by  "inet"
       is  encountered  (and  we assume this is relatively rare). A possessive
       quantifier is used to stop any backtracking into the  runs  of  non-"<"
       characters, but that is not related to stack usage.

       This  example shows that one way of avoiding stack problems when match-
       ing long subject strings is to write repeated parenthesized subpatterns
       to match more than one character whenever possible.

   Compiling PCRE to use heap instead of stack for pcre_exec()

       In  environments  where  stack memory is constrained, you might want to
       compile PCRE to use heap memory instead of stack for remembering  back-
       up  points  when  pcre_exec()  is running. This makes it run a lot more
       slowly, however.  Details of how to do this are given in the  pcrebuild
       documentation. When built in this way, instead of using the stack, PCRE
       obtains and frees memory by calling the functions that are  pointed  to
       by  the  pcre_stack_malloc  and  pcre_stack_free variables. By default,
       these point to malloc() and free(), but you can replace the pointers to
       cause  PCRE to use your own functions. Since the block sizes are always
       the same, and are always freed in reverse order, it may be possible  to
       implement  customized  memory handlers that are more efficient than the
       standard functions.

   Limiting pcre_exec()'s stack usage

       You can set limits on the number of times that match() is called,  both
       in  total  and recursively. If a limit is exceeded, pcre_exec() returns
       an error code. Setting suitable limits should prevent it  from  running
       out  of  stack.  The  default  values of the limits are very large, and
       unlikely ever to operate. They can be changed when PCRE is  built,  and
       they  can  also be set when pcre_exec() is called. For details of these
       interfaces, see the pcrebuild documentation and the  section  on  extra
       data for pcre_exec() in the pcreapi documentation.

       As a very rough rule of thumb, you should reckon on about 500 bytes per
       recursion. Thus, if you want to limit your  stack  usage  to  8Mb,  you
       should  set  the  limit at 16000 recursions. A 64Mb stack, on the other
       hand, can support around 128000 recursions.

       In Unix-like environments, the pcretest test program has a command line
       option (-S) that can be used to increase the size of its stack. As long
       as the stack is large enough, another option (-M) can be used  to  find
       the  smallest  limits  that allow a particular pattern to match a given
       subject string. This is done by  calling  pcre_exec()  repeatedly  with
       different limits.

   Changing stack size in Unix-like systems

       In  Unix-like environments, there is not often a problem with the stack
       unless very long strings are involved,  though  the  default  limit  on
       stack  size  varies  from system to system. Values from 8Mb to 64Mb are
       common. You can find your default limit by running the command:

         ulimit -s

       Unfortunately, the effect of running out of  stack  is  often  SIGSEGV,
       though  sometimes  a more explicit error message is given. You can nor-
       mally increase the limit on stack size by code such as this:

         struct rlimit rlim;
         getrlimit(RLIMIT_STACK, &rlim);
         rlim.rlim_cur = 100*1024*1024;
         setrlimit(RLIMIT_STACK, &rlim);

       This reads the current limits (soft and hard) using  getrlimit(),  then
       attempts  to  increase  the  soft limit to 100Mb using setrlimit(). You
       must do this before calling pcre_exec().

   Changing stack size in Mac OS X

       Using setrlimit(), as described above, should also work on Mac OS X. It
       is also possible to set a stack size when linking a program. There is a
       discussion  about  stack  sizes  in  Mac  OS  X  at  this   web   site:
       http://developer.apple.com/qa/qa2005/qa1419.html.


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 03 January 2010
       Copyright (c) 1997-2010 University of Cambridge.
------------------------------------------------------------------------------


share/doc/alt-pcre802-devel/pcretest.txt000064400000075365150405535550014072 0ustar00PCRETEST(1)                                                        PCRETEST(1)


NAME
       pcretest - a program for testing Perl-compatible regular expressions.


SYNOPSIS

       pcretest [options] [source] [destination]

       pcretest  was written as a test program for the PCRE regular expression
       library itself, but it can also be used for experimenting with  regular
       expressions.  This document describes the features of the test program;
       for details of the regular expressions themselves, see the  pcrepattern
       documentation. For details of the PCRE library function calls and their
       options, see the pcreapi documentation.


OPTIONS

       -b        Behave as if each regex has the /B (show bytecode)  modifier;
                 the internal form is output after compilation.

       -C        Output the version number of the PCRE library, and all avail-
                 able  information  about  the  optional  features  that   are
                 included, and then exit.

       -d        Behave  as  if  each  regex  has the /D (debug) modifier; the
                 internal form and information about the compiled  pattern  is
                 output after compilation; -d is equivalent to -b -i.

       -dfa      Behave  as if each data line contains the \D escape sequence;
                 this    causes    the    alternative    matching    function,
                 pcre_dfa_exec(),   to   be   used  instead  of  the  standard
                 pcre_exec() function (more detail is given below).

       -help     Output a brief summary these options and then exit.

       -i        Behave as if each regex  has  the  /I  modifier;  information
                 about the compiled pattern is given after compilation.

       -M        Behave  as if each data line contains the \M escape sequence;
                 this causes PCRE to  discover  the  minimum  MATCH_LIMIT  and
                 MATCH_LIMIT_RECURSION settings by calling pcre_exec() repeat-
                 edly with different limits.

       -m        Output the size of each compiled pattern after  it  has  been
                 compiled.  This  is  equivalent  to adding /M to each regular
                 expression.  For  compatibility  with  earlier  versions   of
                 pcretest, -s is a synonym for -m.

       -o osize  Set  the number of elements in the output vector that is used
                 when calling pcre_exec() or pcre_dfa_exec() to be osize.  The
                 default  value is 45, which is enough for 14 capturing subex-
                 pressions  for  pcre_exec()  or  22  different  matches   for
                 pcre_dfa_exec().  The vector size can be changed for individ-
                 ual matching calls by including \O  in  the  data  line  (see
                 below).

       -p        Behave  as if each regex has the /P modifier; the POSIX wrap-
                 per API is used to call PCRE. None of the other  options  has
                 any effect when -p is set.

       -q        Do  not output the version number of pcretest at the start of
                 execution.

       -S size   On Unix-like systems, set the size of the  runtime  stack  to
                 size megabytes.

       -t        Run  each  compile, study, and match many times with a timer,
                 and output resulting time per compile or match (in  millisec-
                 onds).  Do  not set -m with -t, because you will then get the
                 size output a zillion times, and  the  timing  will  be  dis-
                 torted.  You  can  control  the number of iterations that are
                 used for timing by following -t with a number (as a  separate
                 item on the command line). For example, "-t 1000" would iter-
                 ate 1000 times. The default is to iterate 500000 times.

       -tm       This is like -t except that it times only the matching phase,
                 not the compile or study phases.


DESCRIPTION

       If  pcretest  is  given two filename arguments, it reads from the first
       and writes to the second. If it is given only one filename argument, it
       reads  from  that  file  and writes to stdout. Otherwise, it reads from
       stdin and writes to stdout, and prompts for each line of  input,  using
       "re>" to prompt for regular expressions, and "data>" to prompt for data
       lines.

       When pcretest is built, a configuration  option  can  specify  that  it
       should  be  linked  with the libreadline library. When this is done, if
       the input is from a terminal, it is read using the readline() function.
       This  provides line-editing and history facilities. The output from the
       -help option states whether or not readline() will be used.

       The program handles any number of sets of input on a single input file.
       Each  set starts with a regular expression, and continues with any num-
       ber of data lines to be matched against the pattern.

       Each data line is matched separately and independently. If you want  to
       do multi-line matches, you have to use the \n escape sequence (or \r or
       \r\n, etc., depending on the newline setting) in a single line of input
       to  encode  the  newline  sequences. There is no limit on the length of
       data lines; the input buffer is automatically extended  if  it  is  too
       small.

       An  empty  line signals the end of the data lines, at which point a new
       regular expression is read. The regular expressions are given  enclosed
       in any non-alphanumeric delimiters other than backslash, for example:

         /(a|bc)x+yz/

       White  space before the initial delimiter is ignored. A regular expres-
       sion may be continued over several input lines, in which case the  new-
       line  characters  are included within it. It is possible to include the
       delimiter within the pattern by escaping it, for example

         /abc\/def/

       If you do so, the escape and the delimiter form part  of  the  pattern,
       but  since delimiters are always non-alphanumeric, this does not affect
       its interpretation.  If the terminating delimiter is  immediately  fol-
       lowed by a backslash, for example,

         /abc/\

       then  a  backslash  is added to the end of the pattern. This is done to
       provide a way of testing the error condition that arises if  a  pattern
       finishes with a backslash, because

         /abc\/

       is  interpreted as the first line of a pattern that starts with "abc/",
       causing pcretest to read the next line as a continuation of the regular
       expression.


PATTERN MODIFIERS

       A  pattern may be followed by any number of modifiers, which are mostly
       single characters. Following Perl usage, these are  referred  to  below
       as,  for  example,  "the /i modifier", even though the delimiter of the
       pattern need not always be a slash, and no slash is used  when  writing
       modifiers.  Whitespace  may  appear between the final pattern delimiter
       and the first modifier, and between the modifiers themselves.

       The /i, /m, /s, and /x modifiers set the PCRE_CASELESS, PCRE_MULTILINE,
       PCRE_DOTALL,  or  PCRE_EXTENDED  options,  respectively, when pcre_com-
       pile() is called. These four modifier letters have the same  effect  as
       they do in Perl. For example:

         /caseless/i

       The following table shows additional modifiers for setting PCRE options
       that do not correspond to anything in Perl:

         /A              PCRE_ANCHORED
         /C              PCRE_AUTO_CALLOUT
         /E              PCRE_DOLLAR_ENDONLY
         /f              PCRE_FIRSTLINE
         /J              PCRE_DUPNAMES
         /N              PCRE_NO_AUTO_CAPTURE
         /U              PCRE_UNGREEDY
         /X              PCRE_EXTRA
         /<JS>           PCRE_JAVASCRIPT_COMPAT
         /<cr>           PCRE_NEWLINE_CR
         /<lf>           PCRE_NEWLINE_LF
         /<crlf>         PCRE_NEWLINE_CRLF
         /<anycrlf>      PCRE_NEWLINE_ANYCRLF
         /<any>          PCRE_NEWLINE_ANY
         /<bsr_anycrlf>  PCRE_BSR_ANYCRLF
         /<bsr_unicode>  PCRE_BSR_UNICODE

       Those specifying line ending sequences are literal  strings  as  shown,
       but  the  letters  can  be  in either case. This example sets multiline
       matching with CRLF as the line ending sequence:

         /^abc/m<crlf>

       Details of the meanings of these PCRE options are given in the  pcreapi
       documentation.

   Finding all matches in a string

       Searching  for  all  possible matches within each subject string can be
       requested by the /g or /G modifier. After  finding  a  match,  PCRE  is
       called again to search the remainder of the subject string. The differ-
       ence between /g and /G is that the former uses the startoffset argument
       to  pcre_exec()  to  start  searching  at a new point within the entire
       string (which is in effect what Perl does), whereas the  latter  passes
       over  a  shortened  substring.  This makes a difference to the matching
       process if the pattern begins with a lookbehind assertion (including \b
       or \B).

       If  any  call  to  pcre_exec()  in a /g or /G sequence matches an empty
       string, the next  call  is  done  with  the  PCRE_NOTEMPTY_ATSTART  and
       PCRE_ANCHORED  flags  set  in  order  to search for another, non-empty,
       match at the same point. If this second match fails, the  start  offset
       is  advanced  by  one  character, and the normal match is retried. This
       imitates the way Perl handles such cases when using the /g modifier  or
       the split() function.

   Other modifiers

       There are yet more modifiers for controlling the way pcretest operates.

       The  /+ modifier requests that as well as outputting the substring that
       matched the entire pattern, pcretest  should  in  addition  output  the
       remainder  of  the  subject  string. This is useful for tests where the
       subject contains multiple copies of the same substring.

       The /B modifier is a debugging feature. It requests that pcretest  out-
       put  a representation of the compiled byte code after compilation. Nor-
       mally this information contains length and offset values;  however,  if
       /Z  is also present, this data is replaced by spaces. This is a special
       feature for use in the automatic test scripts; it ensures that the same
       output is generated for different internal link sizes.

       The  /L modifier must be followed directly by the name of a locale, for
       example,

         /pattern/Lfr_FR

       For this reason, it must be the last modifier. The given locale is set,
       pcre_maketables()  is called to build a set of character tables for the
       locale, and this is then passed to pcre_compile()  when  compiling  the
       regular  expression.  Without  an  /L  modifier,  NULL is passed as the
       tables pointer; that is, /L applies only to the expression on which  it
       appears.

       The  /I  modifier  requests  that pcretest output information about the
       compiled pattern (whether it is anchored, has a fixed first  character,
       and  so  on). It does this by calling pcre_fullinfo() after compiling a
       pattern. If the pattern is studied, the results of that are  also  out-
       put.

       The  /D modifier is a PCRE debugging feature, and is equivalent to /BI,
       that is, both the /B and the /I modifiers.

       The /F modifier causes pcretest to flip the byte order of the fields in
       the  compiled  pattern  that  contain  2-byte  and 4-byte numbers. This
       facility is for testing the feature in PCRE that allows it  to  execute
       patterns that were compiled on a host with a different endianness. This
       feature is not available when the POSIX  interface  to  PCRE  is  being
       used,  that is, when the /P pattern modifier is specified. See also the
       section about saving and reloading compiled patterns below.

       The /S modifier causes pcre_study() to be called after  the  expression
       has been compiled, and the results used when the expression is matched.

       The  /M  modifier causes the size of memory block used to hold the com-
       piled pattern to be output.

       The /P modifier causes pcretest to call PCRE via the POSIX wrapper  API
       rather  than  its  native  API.  When this is done, all other modifiers
       except /i, /m, and /+ are ignored. REG_ICASE is set if /i  is  present,
       and  REG_NEWLINE  is  set if /m is present. The wrapper functions force
       PCRE_DOLLAR_ENDONLY always, and PCRE_DOTALL unless REG_NEWLINE is set.

       The /8 modifier causes pcretest to call PCRE with the PCRE_UTF8  option
       set.  This  turns on support for UTF-8 character handling in PCRE, pro-
       vided that it was compiled with this  support  enabled.  This  modifier
       also causes any non-printing characters in output strings to be printed
       using the \x{hh...} notation if they are valid UTF-8 sequences.

       If the /? modifier  is  used  with  /8,  it  causes  pcretest  to  call
       pcre_compile()  with  the  PCRE_NO_UTF8_CHECK  option,  to suppress the
       checking of the string for UTF-8 validity.


DATA LINES

       Before each data line is passed to pcre_exec(),  leading  and  trailing
       whitespace  is  removed,  and it is then scanned for \ escapes. Some of
       these are pretty esoteric features, intended for checking out  some  of
       the  more  complicated features of PCRE. If you are just testing "ordi-
       nary" regular expressions, you probably don't need any  of  these.  The
       following escapes are recognized:

         \a         alarm (BEL, \x07)
         \b         backspace (\x08)
         \e         escape (\x27)
         \f         formfeed (\x0c)
         \n         newline (\x0a)
         \qdd       set the PCRE_MATCH_LIMIT limit to dd
                      (any number of digits)
         \r         carriage return (\x0d)
         \t         tab (\x09)
         \v         vertical tab (\x0b)
         \nnn       octal character (up to 3 octal digits)
         \xhh       hexadecimal character (up to 2 hex digits)
         \x{hh...}  hexadecimal character, any number of digits
                      in UTF-8 mode
         \A         pass the PCRE_ANCHORED option to pcre_exec()
                      or pcre_dfa_exec()
         \B         pass the PCRE_NOTBOL option to pcre_exec()
                      or pcre_dfa_exec()
         \Cdd       call pcre_copy_substring() for substring dd
                      after a successful match (number less than 32)
         \Cname     call pcre_copy_named_substring() for substring
                      "name" after a successful match (name termin-
                      ated by next non alphanumeric character)
         \C+        show the current captured substrings at callout
                      time
         \C-        do not supply a callout function
         \C!n       return 1 instead of 0 when callout number n is
                      reached
         \C!n!m     return 1 instead of 0 when callout number n is
                      reached for the nth time
         \C*n       pass the number n (may be negative) as callout
                      data; this is used as the callout return value
         \D         use the pcre_dfa_exec() match function
         \F         only shortest match for pcre_dfa_exec()
         \Gdd       call pcre_get_substring() for substring dd
                      after a successful match (number less than 32)
         \Gname     call pcre_get_named_substring() for substring
                      "name" after a successful match (name termin-
                      ated by next non-alphanumeric character)
         \L         call pcre_get_substringlist() after a
                      successful match
         \M         discover the minimum MATCH_LIMIT and
                      MATCH_LIMIT_RECURSION settings
         \N         pass the PCRE_NOTEMPTY option to pcre_exec()
                      or pcre_dfa_exec(); if used twice, pass the
                      PCRE_NOTEMPTY_ATSTART option
         \Odd       set the size of the output vector passed to
                      pcre_exec() to dd (any number of digits)
         \P         pass the PCRE_PARTIAL_SOFT option to pcre_exec()
                      or pcre_dfa_exec(); if used twice, pass the
                      PCRE_PARTIAL_HARD option
         \Qdd       set the PCRE_MATCH_LIMIT_RECURSION limit to dd
                      (any number of digits)
         \R         pass the PCRE_DFA_RESTART option to pcre_dfa_exec()
         \S         output details of memory get/free calls during matching
         \Y         pass the PCRE_NO_START_OPTIMIZE option to pcre_exec()
                      or pcre_dfa_exec()
         \Z         pass the PCRE_NOTEOL option to pcre_exec()
                      or pcre_dfa_exec()
         \?         pass the PCRE_NO_UTF8_CHECK option to
                      pcre_exec() or pcre_dfa_exec()
         \>dd       start the match at offset dd (any number of digits);
                      this sets the startoffset argument for pcre_exec()
                      or pcre_dfa_exec()
         \<cr>      pass the PCRE_NEWLINE_CR option to pcre_exec()
                      or pcre_dfa_exec()
         \<lf>      pass the PCRE_NEWLINE_LF option to pcre_exec()
                      or pcre_dfa_exec()
         \<crlf>    pass the PCRE_NEWLINE_CRLF option to pcre_exec()
                      or pcre_dfa_exec()
         \<anycrlf> pass the PCRE_NEWLINE_ANYCRLF option to pcre_exec()
                      or pcre_dfa_exec()
         \<any>     pass the PCRE_NEWLINE_ANY option to pcre_exec()
                      or pcre_dfa_exec()

       The  escapes  that  specify  line ending sequences are literal strings,
       exactly as shown. No more than one newline setting should be present in
       any data line.

       A  backslash  followed by anything else just escapes the anything else.
       If the very last character is a backslash, it is ignored. This gives  a
       way  of  passing  an empty line as data, since a real empty line termi-
       nates the data input.

       If \M is present, pcretest calls pcre_exec() several times,  with  dif-
       ferent  values  in  the match_limit and match_limit_recursion fields of
       the pcre_extra data structure, until it finds the minimum  numbers  for
       each parameter that allow pcre_exec() to complete. The match_limit num-
       ber is a measure of the amount of backtracking that  takes  place,  and
       checking it out can be instructive. For most simple matches, the number
       is quite small, but for patterns with very large  numbers  of  matching
       possibilities,  it can become large very quickly with increasing length
       of subject string. The match_limit_recursion number is a measure of how
       much  stack  (or,  if  PCRE is compiled with NO_RECURSE, how much heap)
       memory is needed to complete the match attempt.

       When \O is used, the value specified may be higher or  lower  than  the
       size set by the -O command line option (or defaulted to 45); \O applies
       only to the call of pcre_exec() for the line in which it appears.

       If the /P modifier was present on the pattern, causing the POSIX  wrap-
       per  API  to  be  used, the only option-setting sequences that have any
       effect are \B and \Z, causing REG_NOTBOL and REG_NOTEOL,  respectively,
       to be passed to regexec().

       The  use of \x{hh...} to represent UTF-8 characters is not dependent on
       the use of the /8 modifier on the pattern.  It  is  recognized  always.
       There  may  be  any number of hexadecimal digits inside the braces. The
       result is from one to six bytes,  encoded  according  to  the  original
       UTF-8  rules  of  RFC  2279.  This  allows for values in the range 0 to
       0x7FFFFFFF. Note that not all of those are valid Unicode  code  points,
       or  indeed  valid  UTF-8 characters according to the later rules in RFC
       3629.


THE ALTERNATIVE MATCHING FUNCTION

       By  default,  pcretest  uses  the  standard  PCRE  matching   function,
       pcre_exec() to match each data line. From release 6.0, PCRE supports an
       alternative matching function, pcre_dfa_test(),  which  operates  in  a
       different  way,  and has some restrictions. The differences between the
       two functions are described in the pcrematching documentation.

       If a data line contains the \D escape sequence, or if the command  line
       contains  the -dfa option, the alternative matching function is called.
       This function finds all possible matches at a given point. If, however,
       the  \F escape sequence is present in the data line, it stops after the
       first match is found. This is always the shortest possible match.


DEFAULT OUTPUT FROM PCRETEST

       This section describes the output when the  normal  matching  function,
       pcre_exec(), is being used.

       When a match succeeds, pcretest outputs the list of captured substrings
       that pcre_exec() returns, starting with number 0 for  the  string  that
       matched  the  whole  pattern. Otherwise, it outputs "No match" when the
       return is PCRE_ERROR_NOMATCH, and "Partial match:" followed by the par-
       tially  matching substring when pcre_exec() returns PCRE_ERROR_PARTIAL.
       For any other returns, it outputs the PCRE negative error number.  Here
       is an example of an interactive pcretest run.

         $ pcretest
         PCRE version 7.0 30-Nov-2006

           re> /^abc(\d+)/
         data> abc123
          0: abc123
          1: 123
         data> xyz
         No match

       Note  that unset capturing substrings that are not followed by one that
       is set are not returned by pcre_exec(), and are not shown by  pcretest.
       In  the following example, there are two capturing substrings, but when
       the first data line is matched, the  second,  unset  substring  is  not
       shown.  An "internal" unset substring is shown as "<unset>", as for the
       second data line.

           re> /(a)|(b)/
         data> a
          0: a
          1: a
         data> b
          0: b
          1: <unset>
          2: b

       If the strings contain any non-printing characters, they are output  as
       \0x  escapes,  or  as \x{...} escapes if the /8 modifier was present on
       the pattern. See below for the definition of  non-printing  characters.
       If  the pattern has the /+ modifier, the output for substring 0 is fol-
       lowed by the the rest of the subject string, identified  by  "0+"  like
       this:

           re> /cat/+
         data> cataract
          0: cat
          0+ aract

       If  the  pattern  has  the /g or /G modifier, the results of successive
       matching attempts are output in sequence, like this:

           re> /\Bi(\w\w)/g
         data> Mississippi
          0: iss
          1: ss
          0: iss
          1: ss
          0: ipp
          1: pp

       "No match" is output only if the first match attempt fails.

       If any of the sequences \C, \G, or \L are present in a data  line  that
       is  successfully  matched,  the substrings extracted by the convenience
       functions are output with C, G, or L after the string number instead of
       a colon. This is in addition to the normal full list. The string length
       (that is, the return from the extraction function) is given  in  paren-
       theses after each string for \C and \G.

       Note that whereas patterns can be continued over several lines (a plain
       ">" prompt is used for continuations), data lines may not. However new-
       lines  can  be included in data by means of the \n escape (or \r, \r\n,
       etc., depending on the newline sequence setting).


OUTPUT FROM THE ALTERNATIVE MATCHING FUNCTION

       When the alternative matching function, pcre_dfa_exec(),  is  used  (by
       means  of  the \D escape sequence or the -dfa command line option), the
       output consists of a list of all the matches that start  at  the  first
       point in the subject where there is at least one match. For example:

           re> /(tang|tangerine|tan)/
         data> yellow tangerine\D
          0: tangerine
          1: tang
          2: tan

       (Using  the  normal  matching function on this data finds only "tang".)
       The longest matching string is always given first (and numbered  zero).
       After a PCRE_ERROR_PARTIAL return, the output is "Partial match:", fol-
       lowed by the partially matching substring.

       If /g is present on the pattern, the search for further matches resumes
       at the end of the longest match. For example:

           re> /(tang|tangerine|tan)/g
         data> yellow tangerine and tangy sultana\D
          0: tangerine
          1: tang
          2: tan
          0: tang
          1: tan
          0: tan

       Since  the  matching  function  does not support substring capture, the
       escape sequences that are concerned with captured  substrings  are  not
       relevant.


RESTARTING AFTER A PARTIAL MATCH

       When the alternative matching function has given the PCRE_ERROR_PARTIAL
       return, indicating that the subject partially matched the pattern,  you
       can  restart  the match with additional subject data by means of the \R
       escape sequence. For example:

           re> /^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$/
         data> 23ja\P\D
         Partial match: 23ja
         data> n05\R\D
          0: n05

       For further information about partial  matching,  see  the  pcrepartial
       documentation.


CALLOUTS

       If  the pattern contains any callout requests, pcretest's callout func-
       tion is called during matching. This works  with  both  matching  func-
       tions. By default, the called function displays the callout number, the
       start and current positions in the text at the callout  time,  and  the
       next pattern item to be tested. For example, the output

         --->pqrabcdef
           0    ^  ^     \d

       indicates  that  callout number 0 occurred for a match attempt starting
       at the fourth character of the subject string, when the pointer was  at
       the  seventh  character of the data, and when the next pattern item was
       \d. Just one circumflex is output if the start  and  current  positions
       are the same.

       Callouts numbered 255 are assumed to be automatic callouts, inserted as
       a result of the /C pattern modifier. In this case, instead  of  showing
       the  callout  number, the offset in the pattern, preceded by a plus, is
       output. For example:

           re> /\d?[A-E]\*/C
         data> E*
         --->E*
          +0 ^      \d?
          +3 ^      [A-E]
          +8 ^^     \*
         +10 ^ ^
          0: E*

       The callout function in pcretest returns zero (carry  on  matching)  by
       default,  but you can use a \C item in a data line (as described above)
       to change this.

       Inserting callouts can be helpful when using pcretest to check  compli-
       cated  regular expressions. For further information about callouts, see
       the pcrecallout documentation.


NON-PRINTING CHARACTERS

       When pcretest is outputting text in the compiled version of a  pattern,
       bytes  other  than 32-126 are always treated as non-printing characters
       are are therefore shown as hex escapes.

       When pcretest is outputting text that is a matched part  of  a  subject
       string,  it behaves in the same way, unless a different locale has been
       set for the  pattern  (using  the  /L  modifier).  In  this  case,  the
       isprint() function to distinguish printing and non-printing characters.


SAVING AND RELOADING COMPILED PATTERNS

       The  facilities  described  in  this section are not available when the
       POSIX inteface to PCRE is being used, that is, when the /P pattern mod-
       ifier is specified.

       When the POSIX interface is not in use, you can cause pcretest to write
       a compiled pattern to a file, by following the modifiers with >  and  a
       file name.  For example:

         /pattern/im >/some/file

       See  the pcreprecompile documentation for a discussion about saving and
       re-using compiled patterns.

       The data that is written is binary.  The  first  eight  bytes  are  the
       length  of  the  compiled  pattern  data  followed by the length of the
       optional study data, each written as four  bytes  in  big-endian  order
       (most  significant  byte  first). If there is no study data (either the
       pattern was not studied, or studying did not return any data), the sec-
       ond  length  is  zero. The lengths are followed by an exact copy of the
       compiled pattern. If there is additional study data, this follows imme-
       diately  after  the  compiled pattern. After writing the file, pcretest
       expects to read a new pattern.

       A saved pattern can be reloaded into pcretest by specifing < and a file
       name  instead  of  a pattern. The name of the file must not contain a <
       character, as otherwise pcretest will interpret the line as  a  pattern
       delimited by < characters.  For example:

          re> </some/file
         Compiled regex loaded from /some/file
         No study data

       When  the pattern has been loaded, pcretest proceeds to read data lines
       in the usual way.

       You can copy a file written by pcretest to a different host and  reload
       it  there,  even  if the new host has opposite endianness to the one on
       which the pattern was compiled. For example, you can compile on an  i86
       machine and run on a SPARC machine.

       File  names  for  saving and reloading can be absolute or relative, but
       note that the shell facility of expanding a file name that starts  with
       a tilde (~) is not available.

       The  ability to save and reload files in pcretest is intended for test-
       ing and experimentation. It is not intended for production use  because
       only  a  single pattern can be written to a file. Furthermore, there is
       no facility for supplying  custom  character  tables  for  use  with  a
       reloaded  pattern.  If  the  original  pattern was compiled with custom
       tables, an attempt to match a subject string using a  reloaded  pattern
       is  likely to cause pcretest to crash.  Finally, if you attempt to load
       a file that is not in the correct format, the result is undefined.


SEE ALSO

       pcre(3), pcreapi(3), pcrecallout(3),  pcrematching(3),  pcrepartial(d),
       pcrepattern(3), pcreprecompile(3).


AUTHOR

       Philip Hazel
       University Computing Service
       Cambridge CB2 3QH, England.


REVISION

       Last updated: 26 September 2009
       Copyright (c) 1997-2009 University of Cambridge.
share/doc/alt-pcre802-devel/perltest.txt000064400000003104150405535550014061 0ustar00The perltest program
--------------------

The perltest.pl script tests Perl's regular expressions; it has the same
specification as pcretest, and so can be given identical input, except that
input patterns can be followed only by Perl's lower case modifiers and /+ (as
used by pcretest), which is recognized and handled by the program.

The data lines are processed as Perl double-quoted strings, so if they contain
" $ or @ characters, these have to be escaped. For this reason, all such
characters in testinput1, testinput4, testinput6, and testinput11 are escaped
so that they can be used for perltest as well as for pcretest. The special
upper case pattern modifiers such as /A that pcretest recognizes, and its
special data line escapes, are not used in these files. The output should be
identical, apart from the initial identifying banner.

The perltest.pl script can also test UTF-8 features. It recognizes the special
modifier /8 that pcretest uses to invoke UTF-8 functionality. The testinput4
and testinput6 files can be fed to perltest to run compatible UTF-8 tests.
However, it is necessary to add "use utf8;" to the script to make this work
correctly.

The testinput11 file contains tests that use features of Perl 5.10, so does not
work with Perl 5.8.

The other testinput files are not suitable for feeding to perltest.pl, since
they make use of the special upper case modifiers and escapes that pcretest
uses to test some features of PCRE. Some of these files also contains malformed
regular expressions, in order to check that PCRE diagnoses them correctly.

Philip Hazel
October 2009
bin/net-snmp-create-v3-user000075500000006030150405542510011546 0ustar00#!/bin/sh
#
# $Id$
#
# this shell script is designed to add new SNMPv3 users
# to Net-SNMP config file.

if /usr/bin/ps -e | egrep ' snmpd *$' > /dev/null 2>&1 ; then
    echo "Apparently at least one snmpd demon is already running."
    echo "You must stop them in order to use this command."
    exit 1
fi

Aalgorithm="MD5"
Xalgorithm="DES"
token=rwuser

while test "x$done" = "x" -a "x$1" != "x" -a "x$usage" != "xyes"; do
case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
esac

unset shifted
case $1 in
    --version|--ver*)
      echo 5.8
      ;;
    --help)
      usage="yes"
      ;;

    -A|-a)
	shift
	if test "x$1" = "x" ; then
	    echo "You must specify an authentication algorithm or pass phrase"
	    exit 1
	fi
        case $1 in
            MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224)
	    Aalgorithm=$1
	    shift
	    ;;
            md5|sha)
	    Aalgorithm=`echo $1 | tr a-z A-Z`
	    shift
	    ;;
            *)
	    apassphrase=$1
	    shift
	    ;;
        esac
        ;;
    -X|-x)
	shift
	if test "x$1" = "x" ; then
	    echo "You must specify an encryption algorithm or pass phrase"
	    exit 1
	fi
        case $1 in
            DES|AES|AES128)
	    Xalgorithm=$1
	    shift
	    ;;
            des|aes|aes128)
	    Xalgorithm=`echo $1 | tr a-z A-Z`
	    shift
	    ;;
            *)
	    xpassphrase=$1
	    shift
	    ;;
	esac
	;;
    -ro)
        token="rouser"
	shift
	;;
    -*)
	echo "unknown suboption to $0: $1"
	usage=yes
	done=1
	;;
    *)
        done=1
        ;;
    esac
done

if test "x$usage" = "xyes"; then
    echo ""
    echo "Usage:"
    echo "  net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass]"
    echo "                          [-a MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224] [-x DES|AES] [username]"
    echo ""
    exit
fi

if test "x$1" = "x" ; then
    prompt=yes
    echo "Enter a SNMPv3 user name to create: "
    read user
else
    user=$1
    shift
fi
if test "x$user" = "x" ; then
    echo "You must specify a user name"
    exit 1
fi
if test "x$apassphrase" = "x" ; then
    prompt=yes
    echo "Enter authentication pass-phrase: "
    read apassphrase
fi
if test "x$apassphrase" = "x" ; then
    echo "You must specify an authentication pass-phrase"
    exit 1
fi
    if test "x$prompt" = "xyes" -a "x$xpassphrase" = "x" ; then
    echo "Enter encryption pass-phrase: "
    echo "  [press return to reuse the authentication pass-phrase]"
    read xpassphrase
fi
outdir="/var/lib/net-snmp"
outfile="$outdir/snmpd.conf"
line="createUser $user $Aalgorithm \"$apassphrase\" $Xalgorithm \"$xpassphrase\""
echo "adding the following line to $outfile:"
echo "  " $line
# in case it hasn't ever been started yet, start it.
if test ! -d $outdir ; then
    mkdir $outdir
fi
if test ! -d $outfile ; then
    touch $outfile
fi
echo $line >> $outfile
prefix="/opt/alt/net-snmp11/usr"
datarootdir="${prefix}/share"
outfile="/etc/snmp/snmpd.conf"
line="$token $user"
echo "adding the following line to $outfile:"
echo "  " $line
if test ! -d $outfile ; then
    touch $outfile
fi
echo $line >> $outfile
bin/net-snmp-config000075500000100473150405542510010254 0ustar00#!/bin/sh
#
# $Id$
#
# this shell script is designed to merely dump the configuration
# information about how the net-snmp package was compiled.  The
# information is particularly useful for applications that need to
# link against the net-snmp libraries and hence must know about any
# other libraries that must be linked in as well.

check_build_dir()
{
      build_dir=$1

      if test "x$build_dir" = "x" ; then
         echo "You must specify a build directory."
         exit 1
      fi
      # is it the src dir?
      if test -f $build_dir/net-snmp-config.in ; then
         return
      fi
      # make sure we can find build dir
      if test ! -d $build_dir/snmplib/.libs ; then
         echo "$build_dir does not appear to be a build directory."
         exit 1
      fi
}

# usage: index n arguments
# effect: returns the (n+1)th argument
index()
{
    eval echo \$`expr $1 + 1`
}

# usage: count arguments
# effect: returns the number of arguments
count()
{
    echo $#
}

prefix=/opt/alt/net-snmp11/usr
exec_prefix=/opt/alt/net-snmp11/usr
includedir=/opt/alt/net-snmp11/usr/include
libdir=/opt/alt/net-snmp11/usr/lib64
datarootdir=${prefix}/share
NSC_LDFLAGS="-Wl,-z,relro -Wl,-z,now -lm  -L/opt/alt/openssl11/lib64 -L/opt/alt/libssh211/usr/lib64 -Wl,-rpath=/opt/alt/openssl11/lib64,-rpath=/opt/alt/libssh211/usr/lib64"

NSC_LIBS=""
NSC_LNETSNMPLIBS="  -lssl  -lssl -lcrypto"
NSC_LAGENTLIBS=" "
NSC_LMIBLIBS="-lsensors -ldl -lrpm -lrpmio  "

NSC_INCLUDEDIR=${includedir}
NSC_LIBDIR=-L${libdir}

NSC_SNMPLIBS="-lnetsnmp ${NSC_LNETSNMPLIBS}"
NSC_SUBAGENTLIBS="-lnetsnmpagent ${NSC_LAGENTLIBS} ${NSC_SNMPLIBS}"
NSC_AGENTLIBS="-lnetsnmpmibs ${NSC_LMIBLIBS} ${NSC_SUBAGENTLIBS}"

NSC_PREFIX=$prefix
NSC_EXEC_PREFIX=$exec_prefix
NSC_SRCDIR=.
NSC_INCDIR=${NSC_PREFIX}/include

NSC_BASE_SNMP_LIBS="-lnetsnmp"
NSC_BASE_SUBAGENT_LIBS="-lnetsnmpagent ${NSC_BASE_SNMP_LIBS}"
NSC_BASE_AGENT_LIBS="-lnetsnmpmibs ${NSC_BASE_SUBAGENT_LIBS}"

NSC_SRC_LIBDIRS="agent/.libs snmplib/.libs"
NSC_SRC_LIBDEPS="agent/.libs/libnetsnmpmibs.a agent/.libs/libnetsnmpagent.a snmplib/.libs/libnetsnmp.a"

if test "x$NSC_SRCDIR" = "x." ; then
   NSC_SRCDIR="NET-SNMP-SOURCE-DIR"
elif test "x$NSC_SRCDIR" = "x" ; then
   NSC_SRCDIR="NET-SNMP-SOURCE-DIR"
fi

if test "x$1" = "x"; then
  usage="yes"
else
  while test "x$done" = "x" -a "x$1" != "x" -a "x$usage" != "xyes"; do
  case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
  esac

  unset shifted
  case $1 in
    --prefix=*)
      prefix=$optarg
      NSC_PREFIX=${prefix}
      NSC_INCLUDEDIR=${prefix}/include
      NSC_LIBDIR=-L${prefix}/lib
      ;;

    --exec-prefix=*)
      exec_prefix=$optarg
      NSC_EXEC_PREFIX=${exec_prefix}
      NSC_LIBDIR=-L${exec_prefix}/lib
      ;;

    --debug-tokens|--deb*|--dbg*)
      echo "find $NSC_SRCDIR -name \"*.c\" -print | xargs grep DEBUGMSGT | grep \\\" | cut -f 2 -d\\\" | sort -u"
      if test "x$NSC_SRCDIR" != "xNET-SNMP-SOURCE-DIR" ; then
        /usr/bin/find $NSC_SRCDIR -name "*.c" -print | xargs grep DEBUGMSGT | grep \" | cut -f 2 -d\" | sort -u
      fi
      ;;
    --indent-options|--in*)
      echo "indent -orig -nbc -bap -nut -nfca `(cd $NSC_INCDIR/net-snmp; perl -n -e 'print "-T $1 " if (/}\s*(netsnmp_\w+)\s*;/);' */*.h)`"
      ;;
    --configure-options|--con*)
      echo " '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--exec-prefix=/opt/alt/net-snmp11/usr' '--bindir=/opt/alt/net-snmp11/usr/bin' '--sbindir=/opt/alt/net-snmp11/usr/sbin' '--datadir=/opt/alt/net-snmp11/usr/share' '--includedir=/opt/alt/net-snmp11/usr/include' '--libdir=/opt/alt/net-snmp11/usr/lib64' '--libexecdir=/opt/alt/net-snmp11/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/opt/alt/net-snmp11/usr/share/man' '--infodir=/opt/alt/net-snmp11/usr/share/info' '--disable-agent' '--disable-applications' '--disable-debugging' '--disable-embedded-perl' '--disable-manuals' '--disable-scripts' '--disable-static' '--enable-as-needed' '--enable-blumenthal-aes' '--enable-ipv6' '--enable-local-smux' '--enable-mfd-rewrites' '--enable-shared' '--enable-ucd-snmp-compatibility' '--prefix=/opt/alt/net-snmp11/usr' '--sysconfdir=/etc' '--with-cflags=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include' '--with-defaults' '--with-install-prefix=/opt/alt/net-snmp11/usr' '--with-ldflags=-Wl,-z,relro -Wl,-z,now -lm  -L/opt/alt/openssl11/lib64 -L/opt/alt/libssh211/usr/lib64 -Wl,-rpath=/opt/alt/openssl11/lib64,-rpath=/opt/alt/libssh211/usr/lib64' '--with-logfile=/var/log/snmpd.log' '--with-mib-modules=host agentx smux       ucd-snmp/diskio tcp-mib udp-mib mibII/mta_sendmail       ip-mib/ipv4InterfaceTable ip-mib/ipv6InterfaceTable       ip-mib/ipAddressPrefixTable/ipAddressPrefixTable       ip-mib/ipDefaultRouterTable/ipDefaultRouterTable       ip-mib/ipv6ScopeZoneIndexTable ip-mib/ipIfStatsTable       sctp-mib rmon-mib etherlike-mib ucd-snmp/lmsensorsMib' '--with-openssl=/opt/alt/opnessl11' '--with-perl-modules=INSTALLDIRS=vendor' '--with-persistent-directory=/var/lib/net-snmp' '--with-pic' '--with-security-modules=tsm' '--with-sys-contact=Unknown' '--with-sys-location=Unknown' '--with-systemd' '--with-temp-file-pattern=/run/net-snmp/snmp-tmp-XXXXXX' '--with-transports=DTLSUDP TLSTCP' '--without-perl-modules' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include' 'LDFLAGS= -L/opt/alt/openssl11/lib64 -L/opt/alt/libssh211/usr/lib64 -Wl,-rpath=/opt/alt/openssl11/lib64,-rpath=/opt/alt/libssh211/usr/lib64' 'CPPFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include' 'PKG_CONFIG_PATH=:/opt/alt/net-snmp11/usr/lib64/pkgconfig:/opt/alt/net-snmp11/usr/share/pkgconfig'"
      ;;
    --snmpd-module-list|--mod*)
echo  ip-mib/ipAddressPrefixTable/ipAddressPrefixTable ip-mib/ipDefaultRouterTable/ipDefaultRouterTable mibII/mta_sendmail ucd-snmp/diskio ucd-snmp/lmsensorsMib agentx/master agentx/subagent host/hrh_storage host/hrh_filesys host/hrSWInstalledTable host/hrSWRunTable host/hr_system host/hr_device host/hr_other host/hr_proc host/hr_network host/hr_print host/hr_disk host/hr_partition ip-mib/ipAddressTable/ipAddressTable ip-mib/ipAddressPrefixTable/ipAddressPrefixTable_interface ip-mib/ipAddressPrefixTable/ipAddressPrefixTable_data_access ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_interface ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_data_access ip-mib/ipDefaultRouterTable/ipDefaultRouterTable_data_get ip-mib/ipIfStatsTable/ipIfStatsTable ip-mib/ipIfStatsTable/ipIfStatsTable_interface ip-mib/ipIfStatsTable/ipIfStatsTable_data_access ip-mib/ipv4InterfaceTable/ipv4InterfaceTable ip-mib/ipv6InterfaceTable/ipv6InterfaceTable ip-mib/ipv6ScopeZoneIndexTable/ipv6ScopeZoneIndexTable sctp-mib/sctpScalars smux/smux util_funcs/header_simple_table agentx/protocol agentx/master_admin agentx/agentx_config agentx/client etherlike-mib/dot3StatsTable/dot3StatsTable etherlike-mib/dot3StatsTable/dot3StatsTable_data_get etherlike-mib/dot3StatsTable/dot3StatsTable_data_set etherlike-mib/dot3StatsTable/dot3StatsTable_data_access etherlike-mib/dot3StatsTable/dot3StatsTable_interface host/data_access/swinst host/data_access/swrun host/hrSWRunPerfTable util_funcs if-mib/data_access/interface ip-mib/ipAddressTable/ipAddressTable_interface ip-mib/ipAddressTable/ipAddressTable_data_access ip-mib/data_access/defaultrouter_common ip-mib/data_access/defaultrouter_linux ip-mib/data_access/systemstats_common ip-mib/data_access/systemstats_linux ip-mib/ipIfStatsTable/ipIfStatsTable_data_get if-mib/ifTable/ifTable_interface if-mib/ifTable/ifTable_data_access if-mib/ifTable/ifTable ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_data_access ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_interface ip-mib/ipv6InterfaceTable/ipv6InterfaceTable_data_access ip-mib/ipv6ScopeZoneIndexTable/ipv6ScopeZoneIndexTable_interface ip-mib/ipv6ScopeZoneIndexTable/ipv6ScopeZoneIndexTable_data_access rmon-mib/etherStatsTable/etherStatsTable rmon-mib/etherStatsTable/etherStatsTable_data_get rmon-mib/etherStatsTable/etherStatsTable_data_set rmon-mib/etherStatsTable/etherStatsTable_data_access rmon-mib/etherStatsTable/etherStatsTable_interface sctp-mib/sctpScalars_common sctp-mib/sctpScalars_linux sctp-mib/sctpTables_common sctp-mib/sctpAssocRemAddrTable sctp-mib/sctpAssocLocalAddrTable sctp-mib/sctpLookupLocalPortTable sctp-mib/sctpLookupRemPortTable sctp-mib/sctpLookupRemHostNameTable sctp-mib/sctpLookupRemPrimIPAddrTable sctp-mib/sctpLookupRemIPAddrTable sctp-mib/sctpAssocTable sctp-mib/sctpTables_linux util_funcs/get_pid_from_inode tcp-mib/tcpConnectionTable/tcpConnectionTable tcp-mib/tcpListenerTable/tcpListenerTable hardware/sensors/hw_sensors hardware/sensors/lmsensors_v3 udp-mib/udpEndpointTable/udpEndpointTable etherlike-mib/data_access/dot3stats_linux hardware/memory/hw_mem hardware/memory/memory_linux hardware/fsys/hw_fsys hardware/fsys/fsys_mntent host/data_access/swinst_rpm host/data_access/swrun_procfs_status hardware/cpu/cpu hardware/cpu/cpu_linux util_funcs/header_generic if-mib/data_access/interface_linux if-mib/data_access/interface_ioctl ip-mib/data_access/ipaddress_common ip-mib/data_access/ipaddress_linux ip-mib/data_access/ipv6scopezone_common ip-mib/data_access/ipv6scopezone_linux rmon-mib/data_access/etherstats_linux tcp-mib/data_access/tcpConn_common tcp-mib/data_access/tcpConn_linux tcp-mib/tcpConnectionTable/tcpConnectionTable_interface tcp-mib/tcpConnectionTable/tcpConnectionTable_data_access tcp-mib/tcpListenerTable/tcpListenerTable_interface tcp-mib/tcpListenerTable/tcpListenerTable_data_access udp-mib/udpEndpointTable/udpEndpointTable_interface udp-mib/udpEndpointTable/udpEndpointTable_data_access ip-mib/data_access/ipaddress_ioctl udp-mib/data_access/udp_endpoint_common udp-mib/data_access/udp_endpoint_linux
      ;;
    --default-mibs|--mibs|--MIBS)
      echo :EtherLike-MIB:HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES:MTA-MIB:NETWORK-SERVICES-MIB:RMON-MIB:SCTP-MIB:TCP-MIB:UCD-DISKIO-MIB:LM-SENSORS-MIB:UDP-MIB
      ;;
    --default-mibdirs|--mibdirs|--MIBDIRS)
      echo $HOME/.snmp/mibs:/opt/alt/net-snmp11/usr/share/snmp/mibs
      ;;
    --env-separator)
      echo ":"
      ;;
    --exeext)
      echo ""
      ;;
    --snmpconfpath|--SNMPCONFPATH)
      echo "/etc/snmp:/opt/alt/net-snmp11/usr/share/snmp:/opt/alt/net-snmp11/usr/lib64/snmp:$HOME/.snmp:/var/lib/net-snmp"
      ;;
    --persistent-directory|--persistent-dir)
      echo /var/lib/net-snmp
      ;;
    --perlprog|--perl)
      echo /usr/bin/perl
      ;;
    #################################################### compile
    --base-cflags)
      echo -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -O2 -g -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -Ulinux -Dlinux=linux -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -I${NSC_INCLUDEDIR}
      ;;
    --cflags|--cf*)
      echo -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -O2 -g -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -Ulinux -Dlinux=linux  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -I. -I${NSC_INCLUDEDIR}
      ;;
    --srcdir)
      echo $NSC_SRCDIR
      ;;
    #################################################### linking
    --libdir|--lib-dir)
      echo $NSC_LIBDIR
      ;;
    --ldflags|--ld*)
      echo $NSC_LDFLAGS
      ;;
    --build-lib-dirs)
      shift
      build_dir=$1
      check_build_dir $build_dir
      for dir in $NSC_SRC_LIBDIRS; do
          result="$result -L$build_dir/$dir"
      done
      echo $result
      ;;
    --build-lib-deps)
      shift
      build_dir=$1
      check_build_dir $build_dir
      for dir in $NSC_SRC_LIBDEPS; do
          result="$result $build_dir/$dir"
      done
      echo $result
      ;;
    --build-includes)
      shift
      build_dir=$1
      check_build_dir $build_dir
      result="-I$build_dir/include"
      if test "$build_dir" != "$NSC_SRCDIR" -a "$NSC_SRCDIR" != "NET-SNMP-SOURCE-DIR"
      then
          result="$result -I$NSC_SRCDIR/include"
      fi
      echo $result
      ;;
    --build-command)
      echo "gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -O2 -g -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -Ulinux -Dlinux=linux  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include"
      ;;
    #################################################### client lib
    --libs)
      # use this one == --netsnmp-libs + --external-libs
      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS
      ;;
    --netsnmp-libs)
      echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS
      ;;
    --external-libs)
      echo $NSC_LDFLAGS $NSC_LNETSNMPLIBS $NSC_LIBS 
      ;;
    #################################################### agent lib
    --base-agent-libs)
      echo $NSC_BASE_AGENT_LIBS
      ;;
    --base-subagent-libs)
      echo $NSC_BASE_SUBAGENT_LIBS
      ;;
    --agent-libs)
      # use this one == --netsnmp-agent-libs + --external-libs
      echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS
      ;;
    --netsnmp-agent-libs)
      echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS
      ;;
    --external-agent-libs)
      echo $NSC_LDFLAGS $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS
      ;;
    ####################################################
    --version|--ver*)
      echo 5.8
      ;;
    --help)
      usage="yes"
      ;;
    --prefix|--pre*)
      echo $NSC_PREFIX
      ;;
    --exec-prefix)
      echo $NSC_EXEC_PREFIX
      ;;
    ####################################################
    --create-snmpv3-user)
      done=1
      shift
      net-snmp-create-v3-user $*
      exit $?
      ;;

    ####################################################
    --compile-subagent)
      shift
      shifted=1
      while test "x$done" = "x" -a "x$1" != "x" ; do
	case $1 in
            --norm)
	        norm=1
	        shift
		;;
            --cflags)
	        shift
	        if test "x$1" = "x" ; then
	            echo "You must specify the extra cflags"
	            exit 1
	        fi
	        cflags="$1"
	        echo "setting extra cflags: $cflags"
	        shift
		;;
            --ldflags)
	        shift
	        if test "x$1" = "x" ; then
	            echo "You must specify the extra ldflags"
	            exit 1
	        fi
	        ldflags="$1"
	        echo "setting extra ldflags: $ldflags"
	        shift
		;;
 	    --*)
		echo "unknown suboption to --compile-subagent: $1"
		exit 1
		;;
	    *)
                if test "x$outname" = "x"; then
                  outname=$1
                  shift
                else
	          done=1
                fi
		;;
	esac
      done
      tmpfile=netsnmptmp.$$.c
      if test -f $tmpfile; then
	echo "Ack.  Can't create $tmpfile: already exists"
	exit 1
      fi
      echo "generating the temporary code file: $tmpfile"
      rm -f $tmpfile
      cat > $tmpfile <<EOF
/* generated from net-snmp-config */
#include <net-snmp/net-snmp-config.h>
#ifdef HAVE_SIGNAL
#include <signal.h>
#endif /* HAVE_SIGNAL */
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif /*  HAVE_SYS_STAT_H */
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
EOF

    # If we were only given a single filename
    # (and no explicit output name)
    # then use that as the base of the output name
    #
    # If we weren't even given that, then bomb out
    if test "x$1" = "x"; then
      if test "x$outname" = "x"; then
        echo "No MIB module codefile specified"
        rm -f $tmpfile
        exit 1
      else
        cfiles=$outname
        outname=`basename $cfiles | sed 's/\.[co]$//'`
        if test -f $outname.h; then
          if grep "init_$outname" $outname.h; then
            echo "  #include \"$outname.h\"" >> $tmpfile
          fi
        fi
      fi
    fi

    # add include files
    while test "$1" != ""; do
      cfiles="$cfiles $1"
      name=`basename $1 | sed 's/\.[co]$//'`
      if test -f $name.h; then
        if grep "init_$name" $name.h; then
          echo "  #include \"$name.h\"" >> $tmpfile
        fi
      fi
      shift
    done

      cat >> $tmpfile <<EOF
const char *app_name = "$outname";
static int reconfig = 0;

extern int netsnmp_running;

RETSIGTYPE
stop_server(int a) {
    netsnmp_running = 0;
}

#ifdef SIGHUP
RETSIGTYPE
hup_handler(int sig)
{
    reconfig = 1;
    signal(SIGHUP, hup_handler);
}
#endif

static void
usage(const char *prog)
{
    fprintf(stderr,
            "USAGE: %s [OPTIONS]\n"
            "\n"
            "OPTIONS:\n", prog);

    fprintf(stderr,
            "  -c FILE[,...]\t\tread FILE(s) as configuration file(s)\n"
            "  -C\t\t\tdo not read the default configuration files\n"
            "  -d\t\t\tdump all traffic\n"
            "  -D TOKEN[,...]\tturn on debugging output for the specified "
            "TOKENs\n"
            "\t\t\t   (ALL gives extremely verbose debugging output)\n"
            "  -f\t\t\tDo not fork() from the calling shell.\n"
            "  -h\t\t\tdisplay this help message\n"
            "  -H\t\t\tdisplay a list of configuration file directives\n"
            "  -L LOGOPTS\t\tToggle various defaults controlling logging:\n");
    snmp_log_options_usage("\t\t\t  ", stderr);
#ifndef DISABLE_MIB_LOADING
    fprintf(stderr,
            "  -m MIB[" ENV_SEPARATOR "...]\t\tload given list of MIBs (ALL loads "
            "everything)\n"
            "  -M DIR[" ENV_SEPARATOR "...]\t\tlook in given list of directories for MIBs\n");
#endif /* DISABLE_MIB_LOADING */
    fprintf(stderr,
            "  -p FILE\t\tstore process id in FILE\n");
#ifndef DISABLE_MIB_LOADING
    fprintf(stderr,
            "  -P MIBOPTS\t\tToggle various defaults controlling mib "
            "parsing:\n");
    snmp_mib_toggle_options_usage("\t\t\t  ", stderr);
#endif /* DISABLE_MIB_LOADING */
    fprintf(stderr,
            "  -v\t\t\tdisplay package version number\n"
            "  -x TRANSPORT\tconnect to master agent using TRANSPORT\n");
    exit(1);
}

static void
version(void)
{
    fprintf(stderr, "NET-SNMP version: %s\n", netsnmp_get_version());
    exit(0);
}

int
main (int argc, char **argv)
{
  int arg;
  char* cp = NULL;
  int dont_fork = 0, do_help = 0;
  char* pid_file = NULL;

  while ((arg = getopt(argc, argv, "c:CdD:fhHL:"
#ifndef DISABLE_MIB_LOADING
                       "m:M:"
#endif /* DISABLE_MIB_LOADING */
                       "n:p:"
#ifndef DISABLE_MIB_LOADING
                       "P:"
#endif /* DISABLE_MIB_LOADING */
                       "vx:")) != EOF) {
    switch (arg) {
      case 'c':
        if (optarg != NULL) {
          netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID,
                                NETSNMP_DS_LIB_OPTIONALCONFIG, optarg);
        } else {
          usage(argv[0]);
        }
        break;

      case 'C':
        netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,
                               NETSNMP_DS_LIB_DONT_READ_CONFIGS, 1);
        break;

    case 'd':
      netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,
                             NETSNMP_DS_LIB_DUMP_PACKET, 1);
      break;

    case 'D':
      debug_register_tokens(optarg);
      snmp_set_do_debugging(1);
      break;

    case 'f':
      dont_fork = 1;
      break;

    case 'h':
      usage(argv[0]);
      break;

    case 'H':
      do_help = 1;
      break;

    case 'L':
      if (snmp_log_options(optarg, argc, argv) < 0) {
        exit(1);
      }
      break;

#ifndef DISABLE_MIB_LOADING
    case 'm':
      if (optarg != NULL) {
        setenv("MIBS", optarg, 1);
      } else {
        usage(argv[0]);
      }
      break;

    case 'M':
      if (optarg != NULL) {
        setenv("MIBDIRS", optarg, 1);
      } else {
        usage(argv[0]);
      }
      break;
#endif /* DISABLE_MIB_LOADING */

    case 'n':
      if (optarg != NULL) {
        app_name = optarg;
        netsnmp_ds_set_string(NETSNMP_DS_LIBRARY_ID,
                              NETSNMP_DS_LIB_APPTYPE, app_name);
      } else {
        usage(argv[0]);
      }
      break;

    case 'p':
      if (optarg != NULL) {
        pid_file = optarg;
      } else {
        usage(argv[0]);
      }
      break;

#ifndef DISABLE_MIB_LOADING
    case 'P':
      cp = snmp_mib_toggle_options(optarg);
      if (cp != NULL) {
        fprintf(stderr, "Unknown parser option to -P: %c.\n", *cp);
        usage(argv[0]);
      }
      break;
#endif /* DISABLE_MIB_LOADING */

    case 'v':
      version();
      break;

    case 'x':
      if (optarg != NULL) {
        netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID,
                              NETSNMP_DS_AGENT_X_SOCKET, optarg);
      } else {
        usage(argv[0]);
      }
      break;

    default:
      fprintf(stderr, "invalid option: -%c\n", arg);
      usage(argv[0]);
      break;
    }
  }

  if (do_help) {
    netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID,
                           NETSNMP_DS_AGENT_NO_ROOT_ACCESS, 1);
  } else {
    /* we are a subagent */
    netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID,
                           NETSNMP_DS_AGENT_ROLE, 1);

    if (!dont_fork) {
      if (netsnmp_daemonize(1, snmp_stderrlog_status()) != 0)
        exit(1);
    }

#if HAVE_GETPID
    if (pid_file != NULL) {
      /*
       * unlink the pid_file, if it exists, prior to open.  Without
       * doing this the open will fail if the user specified pid_file
       * already exists.
       */
      int fd;
      unlink(pid_file);
      fd = open(pid_file, O_CREAT | O_EXCL | O_WRONLY, 0600);
      if (fd == -1) {
        snmp_log_perror(pid_file);
        if (!netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID,
                                    NETSNMP_DS_AGENT_NO_ROOT_ACCESS)) {
          exit(1);
        }
      } else {
        char buf[3 + sizeof(long) * 3];
        int len = snprintf(buf, sizeof(buf), "%ld\n", (long int)getpid());
        write(fd, buf, len);
        close(fd);
      }
    }
#endif

    /* initialize tcpip, if necessary */
    SOCK_STARTUP;
  }

  /* initialize the agent library */
  init_agent(app_name);

  /* initialize your mib code here */
EOF

    # add init routines
    for i in $cfiles ; do
      name=`basename $i | sed 's/\.[co]$//'`
      echo checking for init_$name in $i
      if grep "init_$name" $i ; then
        echo "  init_${name}();" >> $tmpfile
      fi
    done

    # handle the main loop
    cat >> $tmpfile <<EOF

  /* $outname will be used to read $outname.conf files. */
  init_snmp("$outname");

  if (do_help) {
    fprintf(stderr, "Configuration directives understood:\n");
    read_config_print_usage("  ");
    exit(0);
  }

  /* In case we received a request to stop (kill -TERM or kill -INT) */
  netsnmp_running = 1;
#ifdef SIGTERM
  signal(SIGTERM, stop_server);
#endif
#ifdef SIGINT
  signal(SIGINT, stop_server);
#endif
#ifdef SIGHUP
  signal(SIGHUP, hup_handler);
#endif

  /* main loop here... */
  while(netsnmp_running) {
    if (reconfig) {
      free_config();
      read_configs();
      reconfig = 0;
    }
    agent_check_and_process(1);
  }

  /* at shutdown time */
  snmp_shutdown(app_name);

  /* deinitialize your mib code here */
EOF

    # add shutdown routines

    i=`count $cfiles`
    while [ $i -gt 0 ] ; do
      fullname=`index $i $cfiles`
      name=`basename $fullname | sed 's/\.[co]$//'`
      echo checking for shutdown_$name in $fullname
      if grep "shutdown_$name" $fullname ; then
        echo "  shutdown_${name}();" >> $tmpfile
      fi
      i=`expr $i - 1`
    done

    # finish file
    cat >> $tmpfile <<EOF

  /* shutdown the agent library */
  shutdown_agent();

  if (pid_file != NULL) {
    unlink(pid_file);
  }

  SOCK_CLEANUP;
  exit(0);
}
EOF
      if test "$?" != 0 -o ! -f "$tmpfile" ; then
        echo "Ack.  Can't create $tmpfile."
	exit 1
      fi
      cmd="gcc $cflags -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -O2 -g -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/opt/alt/openssl11/include -Ulinux -Dlinux=linux  -I. -I${NSC_INCLUDEDIR} -o $outname $tmpfile $cfiles $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS $ldflags"
      echo "running: $cmd"
      `$cmd`
      result=$?
      if test "x$norm" != "x1" ; then
        echo "removing the temporary code file: $tmpfile"
        rm -f $tmpfile
      else
        echo "leaving the temporary code file: $tmpfile"
      fi
      if test "$result" = "0" -a -f "$outname" ; then
        echo "subagent program $outname created"
      fi
      exit $result
      ;;

    *)
      echo "unknown option $1"
      usage="yes"
      ;;
  esac
  if [ "x$shifted" = "x" ] ; then
      shift
  fi
  done
fi

if test "x$usage" = "xyes"; then
  echo ""
  echo "Usage:"
  echo "  net-snmp-config [--cflags] [--agent-libs] [--libs] [--version]"
  echo "                  ... [see below for complete flag list]"
  echo ""
  echo "    --version         displays the net-snmp version number"
  echo "    --indent-options  displays the indent options from the Coding Style"
  echo "    --debug-tokens    displays a example command line to search to source"
  echo "                      code for a list of available debug tokens"
  echo ""
  echo "  SNMP Setup commands:"
  echo ""
  echo "    --create-snmpv3-user creates a SNMPv3 user in Net-SNMP config file."
  echo "                         See net-snmp-create-v3-user --help for list of"
  echo "                         accepted options."
  echo ""
  echo "  These options produce the various compilation flags needed when"
  echo "  building external SNMP applications:"
  echo ""
  echo "    --base-cflags     lists additional compilation flags needed"
  echo "    --cflags          lists additional compilation flags needed"
  echo "                      (includes -I. and extra developer warning flags)"
  echo ""
  echo "  These options produce the various link flags needed when"
  echo "  building external SNMP applications:"
  echo ""
  echo "    --libs            lists libraries needed for building applications"
  echo "    --agent-libs      lists libraries needed for building subagents"
  echo ""
  echo "  These options produce various link flags broken down into parts."
  echo "  (Most of the time the simple options above should be used.)"
  echo ""
  echo "    --libdir              path to netsnmp libraries"
  echo ""
  echo "    --base-agent-libs     netsnmp specific agent libraries"
  echo ""
  echo "    --netsnmp-libs        netsnmp specific libraries (with path)"
  echo "    --netsnmp-agent-libs  netsnmp specific agent libraries (with path)"
  echo ""
  echo "    --ldflags             link flags for external libraries"
  echo "    --external-libs       external libraries needed by netsnmp libs"
  echo "    --external-agent-libs external libraries needed by netsnmp agent libs"
  echo ""
  echo "  These options produce various link flags used when linking an"
  echo "  external application against an uninstalled build directory."
  echo ""
  echo "    --build-includes      include path to build/source includes"
  echo "    --build-lib-dirs      link path to libraries"
  echo "    --build-lib-deps      path to libraries for dependency target"
  echo "    --build-command       command to compile \$3... to \$2"
  echo ""
  echo "  Automated subagent building (produces an OUTPUTNAME binary file):"
  echo "  [this feature has not been tested very well yet.  use at your risk.]"
  echo ""
  echo "    --compile-subagent OUTPUTNAME [--norm] [--cflags flags]"
  echo "                                  [--ldflags flags] mibmodule1.c [...]]"
  echo ""
  echo "         --norm           leave the generated .c file around to read."
  echo "         --cflags flags   extra cflags to use (e.g. -I...)."
  echo "         --ldflags flags  extra ld flags to use (e.g. -L... -l...)."
  echo ""
  echo "  Details on how the net-snmp package was compiled:"
  echo ""
  echo "    --configure-options   display original configure arguments"
  echo "    --prefix              display the installation prefix"
  echo "    --snmpd-module-list   display the modules compiled into the agent"
  echo "    --default-mibs        display default list of MIBs"
  echo "    --default-mibdirs     display default list of MIB directories"
  echo "    --snmpconfpath        display default SNMPCONFPATH"
  echo "    --persistent-directory display default persistent directory"
  echo "    --perlprog            display path to perl for the perl modules"
  echo ""
  exit
fi  
lib64/libnetsnmp.so.35.0.0000075500002453640150405542510010746 0ustar00ELF>0?@`P
@8	@�	�	 �	�)�)�N�� p�	p�)p�)00888$$��	��	��	  S�td��	��	��	  P�td̕̕̕�,�,Q�tdR�td�	�)�)�(�(GNU܃-;c��������}B��M�
 �L�L�d�@�OA����$A���R�T�
���A@"��@	 �l�X�
@&��Q�B��D
�k%�	��3���j����Ha��4nQl1F �p1$�`�(@1�8�&�A�Q�4�@!��$ H���!!�0D�AD��P@Q��
 �%
�@����WD�@%�� ��0 ":`�`5@@�,�Q�tZ�R0�( X���I1"R�"�!�"��J�*�W2(�,
�en(����	��B���(N��D� @B&�E�D"0
@������C+

I��`A-��P&����%"�8`���ё����L(Bf*
�4UFp"�i3	H@-	 h
��pZG�4�@aE��VH(!hV���\ (�B�p��p!�M�$sB���J  �
��c��Y� ��� �-���dH�y
 `��*��DB��&�֔���h
4�0Aq��@D
�`@���"@�� (�X"@�0 � ˠ`P$Q���
�@H�,Є p #B!` �@AB! �@X��#)4F�")�L�2�Ń��*E,�؉
	
�,@ B60C� �h� (
 �n6&��+R�Q" i$"���Ag4��� �Q"B�@b@�T% ��p  �
!D�%��e0@��d 1N��@� � #�@
�d�<$Bm
A� @DE@��)
!�	�Y��&�`A(��2(+)3}����`h�`�� �@����"@(�B��Q@��@
��

 !"#$'(*,./012458:>@AEFHLMPRSXYZ[]^aefgikopqrtvwxz{}~����������������������������������������������������������������������������� !"#&()*,-.1358:<@BCDEFGHIKLNOQTUVWY[^acdeikopqrstuvw{|}~�����������������������������������������������������������������������
 !#$&'(*+,-0147;<?@ACEFHLNOPRTWXZ[]^begijknqruxyz{~���������������������������������������������������������������������������	

!"$%()*,01235678:;=@ACDEGHJLNOPRTWYZ[\_aceghilnpqrsuvwy{|}~����������������������������������������������������������������������������
!"#$'(+,-./0123578:<=?ACDGJMNOQRTUXYZ[\^abcegkmnqrtuvyz|~��������������������������������������������������������������������U���	�2/���]�Bs#CN3x�c����17�5��x
�wL����p�
uSyԓ�L��8��Ь�q����7����7��\88P#�9�]=�C2��C��9:���˂}Do9��%�.��p��{�A�8%�J�'�5�W��Od7�[K�0�M�{{4uX�I���:��ED/�z��"I�v�h{ة�t��L��I?��k9	?~>�U��6m��z믃�?@�ŷ7av�C�0���1��O��Qs��ճ]����홥^�l���.��]@�>��mLq�?'����{��(�Gh,���s�x_�;�=1�A��.Ӣ~��@_s�M��J���ς�:�pQ�Nl�vT(F�����|�}�5w�s��:��œ�Ό��]�Ѝ�s�a�J���*Ypd���ņ?�@Y�I�{󟤂�Ǥ�.�Wr��p�]�l.)
f>v'�����k�R8�\��.�q�i;�cz�%
xG>?1�!L�b��(M!`CE���}�#RG4K�����Ej"�e�C/�T<7��-��m!W�L���q��OfI���f�t=Q*�^���M
f>W�|�����2��	O��[n���#��|	��
ä�����%�����{�NKp���{����*"�a�o�Nߎ�.�%�k,�06)���
˞=5�R�3��?�|;)��7z-���M��jo�7�<C ��� (TU�֡Y��z��wE��tJy��dRQ�/��ƺ�?�
����>�;oa��Hڂ԰��/ߪ��񉜸ν��"� 	t�>�=nQ�<2S�f�@����!�$�S�?Vl�
�l)	5q�[}$�P?��g���Zi	�Џ�m~��
�R-s�WP��("t��M�RƵ��g�������ީ�њ���?�%
�X\�kkO�(ѵ����k018��&�E�ȳM7ſ�����.1]�ܣD���-�Dآu����3���u�d~�9��P89Г�-V�SS��<Y����|�~���px�K�G?�9x��@����#�8Kb�]��OjZ3���W�?��01~���8@�]pB�T3k�$$���RYqY����>�m)�����~��\��
�G�S�?���7�w��(�o�5����̛���|As\r,����j�
��+��P���	`X	�>l��sar,�,'&��>Y�\�v9�X���޼���r��6�P��x���G�)+���p�t9��ǕKЛK0�!=�f@�[<��jKi�Ht[�G��P��<�0ۗ�T�~؜
:A!YH,(��)eD���3f� �G�O��	�CJ�غ\��J�jSe��c;����tY�t��&��[j�7Y�q�t��^���S-*-ì=ӳjd5�����J�A�е�*�@'G��_ ��q���ӥ_�(�$��{pc$s4���]y^��2B1>�7���jȇ#����H��DI歒�sv���Ȏfp1��(L�;���3���X�Ykj���z������C��z���
�z�=�MA�P^4*!i�:�i�� ٗ���*��yG�}���C���I�CM�0S����]^�+g���ܕ��0�Sa>�б���v(��LI7�%���x4��qX��x�q~���dAU-0F1�G��&�k\����~6GΙ�$.kV�"�mHjarw}�JR�c	^j3!?�u�+���P���[�F�Hϛ�����(y�	��|;`SI8�T��q����=���[�|=�Y�gqS�Yk'U]��f2�lJ!MIXM��֤j�/B]�u\o��	f.`��Q���.�y<�x�R�R�]x�)������^fYڦ��ȏ<!��S=>�ϓ�|��U��ҸC"�d�Ӷ����G�Ʌ��{[Ra�lSD�c��k���Y�m��k��H���3��!���>�en櫊���Pq����)NR�I�i]ٷ�\gK��c���ƒ��iy�f{RQ�Jw�u_�$y�;
/{��wz�~� ̆���|��S`�$Z㸎[G�Ht�V�#��3\S��700{h ��>>3F>�1:�U��
���i�&��c{�Gs�Ӭ��WwZ�gk˂V�d(�O{��8�H�O�M�1Y��˓
���,j�F-��`��	]6��	�0�1�*����;Kl���WXDq�z�
�*̜|��.�A�pd?�׬*Yt���MA׏����ە|��|��Mx��b�
�])��B-!�P\�h3z?�t���p�W��8�z�
��Z}���D����R}��h{I�-��WE�"
�����Áꡦ6���FT|�`p/�X�c$����7�D[OuQ�+
��%�k*�w>-Ҿ�H�v�z� ��WNI>�uu��{ό3��5��FG�b�j�m����f�<4$���p�.s��JE�������������F�d>v���=��g
�Je�є���;E�R��L��0���/ļs%?Ɩ��RU~�_��>�{���h�Y����
����oy�#5��뉢y�B��g�!	�1�ζ[�zP�e�.�X\���¶��S�����ޖ���Qo�s���\����u%5�gJH{���Њ�U
�59%[7�����	nͮp��dx
g�z}pNjpd.�����C(ٗ��9��Vo �B�.��4E��Gx@@��Q`ybe����l�*_F�Sp�7C�2�g�s����7:�.`�SZ�ͱo4���x�qH|���k��mUf�L5TQ��*�����G4J�	 O����f:��@��fR�e����g4��ջ��@xhq2��m�P0踰T��	E�~�O@;���.t�#�w���Q��4�(|�/bo���
�e�X��@����k��+	fC����H%ۖ�V�〧%ؓh�N�?mi��֕�����G?�%�"��'5VH�����z8��̇��`�r�l(<�rBDv�|�X��q�3�G��x��l	�&�u�SY�\����#���ԛ�lsH���;�+�ēY**qF��x>��f�֒�N}��V��~���o �����i#�%�j�~G�x��G3*�_4;�P][�s��>H3��VF`��m�d��]���F�69!H���$�K]z��~_���N��J�C%
���!�fN`#��orͻ�U[Sy+�c�U�y_Ȟ�[��W���˽�������t�ɻ��~�8��x�))m�%��R�Жy��R�mrۙ͜Q9��ˑ]"���
�O��]�IS4c$�\p�d���Y(:��v���@�ˆ�k�U�" �v�>Nub�ZV�S�u��T��ޚ1����+)Me4��W�J�ٮ�v��x���+'�Ax�}�:M}�q��3�	��"Z�LՍ��
4%G�0������B:�.]iミPB3Yc�["�,��5���q-�F�i#�b����)����\�?+�#��J[�(�|9����=�#���s"OkbU�c�j"lhWy�/y���wSu��C=�b�|�������&t~�?
�!A
�?i�iݙ��tv���4��3��6‡���qL�Xm���<��ҡj���R�~ȿ�j�K?���i���$z��\�kCɹƜ^Y~�fJY&��*��B\�S��s�}�'�u޹��S��>�w+M�(�	7Y���C�6�"ȯhۺ(�耝��6CJ��kO����;~>�q
��j��+;��'ejw֐����=�'��{T�]qr��b/��
e����.b�H�)Ng���y���Ju��
�r����|�~�J˯b륷��BX^��'B���pT�+Ƞ�bc���7��zҴ�	�HU�{��g��|$*rɽo�NEC�N�#-��+B�%m�K8RySA��ya'#�������s������o�ub��H@r�i��*y2A#9".�XIZ<���m�|�&�խ&,)���ԃ<���2~lZ؆�V�3�/�ȱ��>*�`3��B�p�:���cRU��J��6�]"�50B`h����[g�aI�J,�.�P��C4���զ������:k�(���)]�xS�v�; ST��%o����k�c���y]~)1�j��:�����I�|�x���Y��QF=���A���o���ؠ��&@#
@�y���Bp.�Bul��?���I{9y��F�%���^��c�ĩ���La�
���t�����K�n�&�*4e�#S�*�Q�����l���l`��v���_�Jԟ
g@hո��(Y{�VU	?��jI��Qs��F����d* ��~��gT�dc���‘��玒s�vR�dvÄ�~}���k�Ǵ=�"��BW��ZEqmb���x��Q31�P�m�_T��OZ���[[�����8�Έ��J�sN[��ߓ�k�{����6V�"5w��&���&:��}f����������CS�"xC���!��r/m���EN񇶯�y����e�O���j��jX@��1%\R��X��˟��t/&:�.3F��`�RUpK�R�����)Nm
)A�ݼ���|�cל�~
W9�|NQ��er��4>��UZ��V��Zdס#�;J�Q��0�\SG�.p�|F��Y��:
8}��g).����B���u�n95���k�u��.���!��!,"A�8 ۇny�Dq�jKxk�g�����U=�ݻ��yY�Hq��.Iy-.\*���A$M�X����m8��QY ��`�{W[�/��~�fҮ�|�Zd�
"���Aς�Қk�)^�b\}�P�A�S��V�9c�� `�U,�s"��1%��y���c@�"��U���Oc:�3��:�I��eeEK9/��
��h�C�#�tL�/�l��a�8��\�������=®y��9�r	4�֍ٽ:EH�Cu2?�2@Ct>=�Z�^�Z%<>,]�^�?!`9]��UuYY�"��[�6)=0$�Y>%N]��_Y]U7E	�^Rr�%]�\B]F"�|$y�X&?
%�D,V���?�0�f�?�")Y\�XE@v9^�/?�+1>�?I0�P��>�5D20\�Z#�UF�%Z�V��?]�6�d8^�^�+�E2>D^�601|�YG$��7�%b�=�=3�c�6�\L �$�+�5�qE��=5$p7"2f-.E���VNW�ra�$�%�Dw�"��HZ7]<$6"W��p$`%�]B8r	C�$X0~7F?=U�"8Xf�$�=�q08(vU��_��W$�^�]�qA$�U�\�H�^\?iY]qA��1 F�WF��o@ZW�E'6���O]U.�U]�@Ew=Q?�E��^�E�\HC
W�E�9	= 8%M�=8C|E�zWXE�W>J]:0=5�U;?gWc^2F�7�>�EYcX �Y, k�V�9�hr�6�>�XlX�>'CS,�@��
��M�@G/84�Cx�0�*f{kPO$1p2&p`�m�~R��oJH�O@2UF�*P�.&�	p�Oi(���8вu@!	0�	�	P��>�s>j�3���w*��_]�*� ���>0$|Ux*�$�MES0Z�rZЋb<p�Qx�H��j�4rp��c �A)p�>O�r6�
�|q"~$0�*��P�:��[���� ���b��%�i`3>u
W@D�F *H�n�-f�h�\`�hi�E:S@����F#�n�>Q
���d��5@�R�1`6	! ?Q!���I��9�W>�qq_P��P�[/`&�p���107�5�@�9�3�@:*��]E��I������;�F`!*P	0�. �*nл\�p_U��)b w�� ���Q�F+j�22]$���;��!b��e�J��A@�m�f0kq!�Y��\ �@w��b
_��{�&���VPl��ЇTd@=O��R�:W n_�9�'�105��o���ls��X80y#�Km6.	 ���_�DFX�v�]M�(6JH0��V�l$��6*
p�W<P���0 |6P]��0+�aP�{���6���CF� *P�Jp�@�`) �6��t&*Q`F�~P�8#X�#'�#|j`����P�9��
1dL aF3�?:o5PR
�.E�h�'��H�	�Gp�fy<�U:��K�r@�!T" ��7����`!l�u��?��Z$�Yg/�&
0���M0)6�CP���'�	�H��O�0�Yp0��Р	�S [% }����b�s���
p�3�pOAi8��h+V�0
#��IzP�	�'0��)N��* J)�Wr��F@#*P]�w4#��$/p&�Q-i�/j�8����+� g?���_�A�8@�0�P���`�8P}�/�&3 ?�U�r6��	�2�Q@��k 6.�5`�k�^�o�xf��7��v�� |lP*LKL�p6�Mp)62T@`N`I lb�&"�;�;@���;�M*^�r6�k�O��X�D@�'{B��\-'��[Q�r6-N�*F�@�b�8Ъ�ЗA:.�$�H�	*��'*W
��7" ��zl`p�
�P'�m���m*@H�qE0� ���W��7� 
���hc����%��wh$@��'q@�2�9�"а�#�[?}A�,NO�5�{c��$"r`�	hF�*Hrm�y�J�)�R@x*��hvPL�#`���O>]��'&pQ>r�HL$��� a�R`�x�nЊIP_�s��` �	P
�n��#Lk6�aP08Q�8@����F�fp� ���1��tm�t*��p��/2:�S @u�*�����7Z4@D� I�9�;��E�D�39@�>qd*H�C�?	,@�"��/�2�=XC����OQ�[�N;`��$�^_0 (	�@��9h0%�xH���f���Y��}\1�3O�q���B��Snr���/�&F%����Pkt�)P��m��5kF-�9p���C��Ss\ ��O�03�s`�uv62*�M0*6Cg� �Ea����M	c`dLD��'�B��S�G��36Jp��Q N2��-��9`�{Vl�d�Q�s�N5`Kh�O�1PcS�Z�2=n-<�/�&�-����~
T@]mq`f�Fn� #3@?9�	 �fj�3U�p!V�!P`��O�3��! ��*��e�
��q���(P��o��o�'��P/�{
������"�=,D`���G�$D@�K5`z�(��9_Z��	`�D&���g�#��l�~	��N3O0^��f@0@-
��IPK�P�8��N%G�{�N/�&
jN�+f�G@�	*P�4�P9,�Y0�3t:`�F�3�AT�0!|D�3�c�U.p!�p&�"kI�
�<�#Hp ��k_��4�EyZ3�?A�� }5@Z�� �T�/�&�O�2�L�"�R=p��^�c*�j 4�QR���+0��
0�/;��@u1�4C�/ 'h�$�t&*fR��kT`*��'*^o��i[`���pn��&���RnE#�	�%�+K�|�!pi:Xu*PJ.�7�#�	�V�k��c�*P�
��{T�	�
p��@|,�?���*0�F�S0[L;���i�U{�-`!	%s��/�&�fP*�-`O�N�+f�D�5B��i	hf*M (&�a0�n� �&��
���S���X�I9���0xXwO�0&�PH�0�1�X�}k��f*o.�j6bn����hP'��1�5EGl0d�@��&`�Gn#�K�9	�0�H��`,0dF�	�p�����`�|��3=���{��q+��ZЌG� �	�Ђ]fp���`��I!GP
~�0�0<D�� �0���r���%�
0�bA��������6*c:@���� �L�$=�#�[�,p
�@	�Fi�ET�.&�2�=8+S�Yst�r6�L aY@B�A`��`&���P�Ld
����@j�%0�w�
po`Shqp��>��� �bZP���r���b	�	%X v\�h.��,�
P�$|"%��L;\p�T2c��\�c�/�.@&0P�P 4�kpU%�d��l�_>'��Le�s�*��kRn�GGqb��	��Ws<��#� ��T�*�K�b*y0Fow]#�Q�N3p�$�R>1P3920�'	�G��P�#z����B�� zn��)@�$@'��R�P�uo �� Z�d�2 =t1�4C5-
	�&��M h�NT�`��@F~�q7�Wt�AE@�=�P�bC)P �]�g104Q�A ���)p�o�0'|�I�bz�2zS[)���e
��!@t��Dp�e+��T�R`���1@8
	�,�#* ��`���I�Z�T*8x@&*��&|�e���i�`'�,�
d0 P& k�=���l�YЅw�#`�?N*����B�"*P�l�{��jPd9XKgH�0p�CM�(&�I�����O�.�%�] ��Zd0G<[�hk@O\h�%-@��4�F�~`�
�6p1P���)�ap�\f F�S�[_=fp�X
���;��a]0%|
��O�`XP0(	[0t�j {S��|�'*�\`��j�j����wpD��u3@:	�	_2<�,"P��4p!`^��)0�	�T�*8jp@�,)��b��`ksV�j
�L[�W}�j-U0b��`P��0@'.s���KA�;�A}9���7p�C$9����"��Mc�_A��N�(`�s5 T* 1�2_\��}�rp��)��lI< �L%`��65�J��I]�QTEP�4��He	o �:+
P�ls���#�"*P�g0#��F`*X�@���m�%� �7PG@���1p6��EP��v pz�"`��!���i�\� �sf`l�	��_>qP��Q`N�:��F�5аp�k�O�{
@�91Y�D�<��M� +`�0"|�30Ab|0�)�$P�9��U��4@F&M���Ko6��p�l`%*(Ru�h`+�C7�s��T=0��ZHPaz&@��x���_7�ty�����x�i' �5L�q6�@yMP7��%��/�)��00sCq�a�*��U��v�g�!�.O�r6V#����I!f L�N`,VFp�	b6�2�<�C��Z�	L�b*�-�S*:B�	~F�*X����������LJ�\IN +V�c���:`�'�d0��R_�<���	�T�*8�? ������o00(�0|�
�P@4-A��$��=oH(@���"н��m���!|�Y0���%�4��4pF&�pp�(7�srK�b*�4pG�(:@��Pp�)����@����<�j6vL�a�@����'*
:�-�. &�J�t�K�o6�"�	3a��%�lP~�p�vJZ��F���I���3P@A�h�&g�O�2%�J K�A�KRY����	AK ��$��a�G����G �G�T�*9p��lp~�(���AP36b���`'

��|�b�x|	 *p��@Q�/0'ya��\�p�F�0-�Rq`��/'�0�+$��O`2�C0�5e�}K��]y�6�5����(�RA0�$�f �=Q`I��] *�N�=N�b��A��m��e�
I-`	{.�%Vb��1(���q ���'*4
��4�7��5m�~Y�C����J\���7�M3�*��H���`D�[ ���*��� Ѓ��@�h`E'lO�.X.�%!9C�Bp��I
�|�Zl;p�".`"rp��fpoP�8)n	��1 �	�iPQ7�'@�K>"�������:@�0*�A���Ug�!�+`��:�#�D��'�"���`0�\\a�*H�)p�1`4<d ���6S SRI@
x�6@na��
�PW��f6�( �&$@ *P�p�
��b��q����f�4O6`��0&|-@��`���Is��Ho��.0Yq�n ��{R����Kn6�q��	(`�g�bJ���
3P +�"`�i�\�?
- 	�!�^��4@Ey���)p'u�P@9��
`��`�d��L�!�U�*8�B��B��� 
���f�Q�	 ���M�)6c@*H�=��k�QLdl�fA0(	!��yep
=o�%|D`P���L�a@�_\� [9��
�GP�	�p��b0�{l>��hW��;_���B��!�F!*P"5�Q��"K��3$-p��'���� �L	���
PE�R�Q|>�6 0] H������+SG@��d�	%��-*@�ftjpf-=R��� _��y�#�l;
 �6�1@6	
`��N>&�G@�6�W�p��	��{C� /���I�pG>�[���N _H�-��H��-@�q��}�0QV�o�#`
�+0��[P�I|i�lrI�
�!@����N�e�r6O0>3�C@���p�"�g�"��T�\{�
�s4 E �6p�m	�"|���#�Z���:0� ��.l�cYq,�	�&0��
+��T?�Tc����`��_J&@��3G "*PM�_�biP=X2o����'|�Z�	kQ`J�-a ���0�C+P�M+�C-S'��'�#`l;-<��T�o�pПv)@�\p���/'�P(���F4H�W �F�`�	pJ�3�@M�T8*f�m�7��0`*p�
0��0#|jG��u� ��e`j�R��^B�m�!�j�dm�'*vPu�yX`w&�dp��Cp���0�,WjP2b2K ��RpR��K�l6�bLp �*д#[�'�I��H@�w]�*8�Q�m�0��;`D4�j6@�$p�1�1�tM�(6�o�4k�=-Vg9Np*V��
��_@��
�p`K�a�&�����2������'0!PV@jL� ��� ��!�] �t�A��������'*#+�a�<P�Y[O@.A�X�{9�X�x���Z	��.�)����@��6/�&
�K�k6-MP(&��~� X�mB���0�	'e

Sm�"�(g���@��(��No`��^0�Y�M��Ep�M�)6�hp*�g
����j05��>`�^�@�g� ��[�,
i�i3>?:�A3
P���	���PyXN2 ;�'��'��# @�36�aAL-�Ep�+_D`��B����<�EeC�!�QPM��a��_�f���Ef[r �=���{�Jpw����!${��[9��>l%��
�L�#.g0@�5Z��	?�JZ5PJr?e 
=
`P�������@P�K.P6	4�B��]@*8�b��L�m����L�&.�(��V�_�*HG>���J��S0\�Rj�3[1�3O7!��\[e`

)i0NT�k�\;tL !�E,�U��A7I�QOB`���T@*8H���	�E�� ��Li���G�!*Prg�!�-P-i0�b0P(��^�^�
+��09&�����X�3B�(��O��5�['�0�)X�.�Kk�N�2,�=A3__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizesnmp_free_varbindsnmp_pdu_createsnmp_get_next_reqidsnmp_get_next_msgidsnmp_add_null_varsnmp_pdu_add_variablesnmp_clone_memmemcpyfind_sec_modusm_clone_usmStateReferencesnmp_free_pdusnmp_reset_var_bufferssnmp_varbind_lensnmp_set_var_objidmemmovesnmp_clone_varsnmp_clone_varbindsnmp_split_pdusnmp_fix_pdusnmp_clone_pdusnmp_errnosnmp_pdu_type__snprintf_chksnmp_set_detailsnmpv3_get_report_type__stack_chk_failcount_varbindscount_varbinds_of_typefind_varbind_of_typefind_varbind_in_listsnmp_oid_comparesnmp_set_var_valuesnmp_logsnmp_set_var_typed_valuesnmp_set_var_typed_integersnmp_replace_var_typessnmp_reset_var_typessnmp_synch_response_cbnetsnmp_large_fd_set_initsnmp_sendsnmp_timeoutmemsetsnmp_sess_select_info2_flagsnetsnmp_large_fd_set_selectsnmp_read2__errno_locationnetsnmp_large_fd_set_cleanupsnmp_synch_responsesnmp_sess_synch_responsesnmp_sess_sessionsnmp_sess_sendsnmp_sess_timeoutsnmp_sess_read2snmp_errstringsnmp_free_var_internalsnetsnmp_query_set_default_sessionnetsnmp_query_get_default_session_uncheckednetsnmp_query_get_default_sessionnetsnmp_ds_get_stringnetsnmp_query_getnetsnmp_query_getnextnetsnmp_query_setsnmp_varlist_add_variablesnmp_free_varnetsnmp_query_walksnmp_oidtree_comparenetsnmp_state_machine_runnetsnmp_row_create__sprintf_chksnmp_strcat__fprintf_chkfputcfwriteread_mibstrlenstrtolnetsnmp_ds_get_booleanstrtok_rstrcasecmpnetsnmp_ds_set_int_sprint_hexstring_line__ctype_b_locsprint_realloc_hexstringnetsnmp_ds_get_intsprint_realloc_asciistringsprint_realloc_hinted_integersprint_realloc_badtypemake_printf_format_stringstrcpyget_tree_headsnmp_out_optionsnetsnmp_ds_set_booleannetsnmp_ds_toggle_booleannetsnmp_ds_set_stringoptindsnmp_out_toggle_optionssnmp_out_toggle_options_usagesnmp_in_optionssnmp_in_toggle_optionssnmp_in_toggle_options_usageregister_mib_handlersregister_prenetsnmp_mib_handlernetsnmp_ds_register_premibnetsnmp_set_mib_directorynetsnmp_get_mib_directorynetsnmp_getenvnetsnmp_fixup_mib_directorystrstrnetsnmp_mibindex_lookup_mibindexesstrcmpget_persistent_directory_mibindex_addnetsnmp_mibindex_loadopendirreaddirfopenfgetsfcloseclosedirmkdirhiernetsnmp_init_mibMibnetsnmp_init_mib_internalsadd_mibdiradd_mibfilestrchrread_all_mibsnetsnmp_read_moduleadopt_orphansmib_prefixesnetsnmp_mibindex_newshutdown_mibunload_all_mibsprint_mibprint_subtreeprint_ascii_dumpprint_ascii_dump_treeset_functionsprint_realloc_gaugesprint_realloc_integersprint_realloc_networkaddresssprint_realloc_opaquesprint_realloc_nullsprint_realloc_counter64sprint_realloc_bitstringsprint_realloc_timetickssprint_realloc_ipaddresssprint_realloc_countersprint_realloc_nsapaddresssprint_realloc_uintegersprint_realloc_object_identifiersprint_realloc_octet_stringsprint_realloc_by_typenetsnmp_sprint_realloc_objidbuild_oid_segmentbuild_oid_noallocbuild_oidparse_one_oid_index__memcpy_chkparse_oid_indexesdump_realloc_oid_to_inetaddressdump_realloc_oid_to_stringfind_tree_nodeget_tc_descriptornetsnmp_sprint_realloc_objid_treememcmpmodule_namesprint_realloc_doublesprint_realloc_floatmemchrprintU64printI64snprint_objidfprint_objidstdoutsprint_realloc_variablesnprint_variablefprint_variableget_treesprint_realloc_valuesnprint_valuefprint_valuesprint_realloc_descriptionstrlcpyfprint_descriptionsnprint_descriptionclear_tree_flagsprint_oid_reportprint_oid_report_enable_labeledoidprint_oid_report_enable_oidprint_oid_report_enable_suffixprint_oid_report_enable_symbolicprint_oid_report_enable_mibchildoiduptime_string_nuptime_stringparse_octet_hintstrtoulsnprintfget_module_nodewhich_moduleget_wild_nodefind_best_tree_nodestrlcatsnmp_parse_oidmib_to_asn_typenetsnmp_str2oidnetsnmp_oid2charsnetsnmp_oid2strsnprint_by_typesnprint_hexstringsnprint_asciistringsnprint_octet_stringsnprint_opaquesnprint_object_identifiersnprint_timetickssnprint_hinted_integersnprint_integersnprint_uintegersnprint_gaugesnprint_countersnprint_networkaddresssnprint_ipaddresssnprint_nullsnprint_bitstringsnprint_nsapaddresssnprint_counter64snprint_badtypesnprint_floatsnprint_doubleFilemibLinetclistfputs__strcat_chk__ctype_tolower_locsscanf__uflowungetcgMibErrorsnmp_mib_toggle_options_usagesnmp_mib_toggle_optionsget_mib_parse_error_countobjgroupsregcompregfreeregexecget_tc_descriptionadd_module_replacementgMibNamesgLoop__strncat_chkstrncmpobjectsnotifssnmp_get_do_debuggingflockfilefunlockfilesnmp_log_perrorunload_module_by_IDnetsnmp_unload_modulesnmp_get_token__xstatfscanf__asprintf_chkfind_nodefind_node2find_moduleprint_mib_treenetsnmp_callback_clear_client_argnetsnmp_max_send_msg_sizesnmp_get_next_sessidsnmp_get_next_transidsnmp_api_errstringsnmp_perrorsnmp_errorsnmp_sess_errornetsnmp_sess_log_errorsnmp_sess_perrornetsnmp_randomnetsnmp_srandomnetsnmp_tdomain_initgettimeofdaynetsnmp_register_default_domainnetsnmp_register_default_targetsnmp_sess_initsnmp_store_neededsnmp_storesnmp_save_persistentsnmp_call_callbackssnmp_clean_persistentsnmp_store_if_neededsnmp_session_insertSessionssnmpv3_engineID_probenetsnmp_sess_config_transportnetsnmp_sess_config_and_open_transportusm_create_user_from_sessionsnmpv3_header_realloc_rbuildasn_realloc_rbuild_intasn_realloc_rbuild_stringasn_realloc_rbuild_sequencesnmpv3_scopedPDU_header_realloc_rbuildsnmp_pdu_realloc_rbuildsnmp_realloc_rbuild_var_opasn_realloc_rbuild_unsigned_intasn_realloc_rbuild_objidsnmpv3_packet_realloc_rbuildasn_reallocsnmpv3_scopedPDU_parseasn_parse_sequenceasn_parse_stringasn_parse_headersnmp_pdu_buildasn_build_sequenceasn_build_intsnmp_build_var_opasn_build_objidasn_build_stringasn_build_unsigned_intsnmpv3_packet_buildsnmp_buildsnmpv3_clone_engineIDse_find_value_in_slistnetsnmp_build_packet_build_initial_pdu_packetnetsnmp_transport_sendnetsnmp_get_monotonic_clocksnmp_sess_closenetsnmp_transport_freesnmp_sess_add_exnetsnmp_strdup_and_nullsnmp_addsnmp_add_fullsnmp_sess_addsnmp_sess_opennetsnmp_tdomain_transport_fullsetsockoptsnmp_opensnmp_open_exsnmp_closesnmp_close_sessionssnmp_shutdownshutdown_snmp_loggingsnmp_alarm_unregister_allnetsnmp_certs_shutdownnetsnmp_transport_filter_cleanupunregister_all_config_handlersnetsnmp_container_free_listclear_sec_modclear_snmp_enumnetsnmp_clear_tdomain_listclear_callbacknetsnmp_ds_shutdownnetsnmp_clear_default_targetnetsnmp_clear_default_domainshutdown_secmodshutdown_snmp_transportshutdown_data_listsnmp_debug_shutdownsnmp_sess_async_sendsnmp_create_sess_pdunetsnmp_large_fd_setfdnetsnmp_get_next_alarm_timesnmp_sess_select_info_flagsnetsnmp_copy_fd_set_to_large_fd_setnetsnmp_copy_large_fd_set_to_fd_setsnmp_sess_select_infosnmp_select_infosnmp_sess_select_info2snmp_select_info2snmp_oid_ncomparesnmpv3_probe_contextEngineID_rfc5343netsnmp_memdupnetsnmp_oid_compare_llsnmp_oidsubtree_comparenetsnmp_oid_equalsnetsnmp_oid_is_subtreenetsnmp_oid_find_prefixsnmp_add_varread64inet_addrsnmp_decimal_to_binarysnmp_sess_pointersnmp_async_sendsnmp_sess_session_lookupsnmp_sess_lookup_by_namesnmp_sess_transportsnmp_sess_transport_setsnmp_duplicate_objidsnmp_increment_statisticsnmp_pdu_parseasn_parse_objidasn_parse_intasn_parse_unsigned_intsnmp_parse_var_opasn_parse_signed_int64asn_parse_doubleasn_parse_floatasn_parse_unsigned_int64asn_parse_bitstringsnmpv3_parse__memset_chksnmpv3_get_engineIDsnmp_comstr_parsedebug_indent_resetnetsnmp_transport_peer_stringnetsnmp_transport_filter_checkxdumpnetsnmp_large_fd_is_setnetsnmp_transport_recvnetsnmp_transport_copyasn_check_packetnetsnmp_large_fd_clrsnmp_readsnmp_sess_readsnmp_increment_statistic_bysnmp_get_statisticsnmpv3_make_reportsnmpv3_generate_engineIDsnmp_init_statisticsinit_snmpsetlocalesnmp_debug_initnetsnmp_container_init_listinit_callbacksinit_snmp_loggingnetsnmp_ds_register_confignetsnmp_register_service_handlersinit_snmp_transportinit_snmpv3init_snmp_alarminit_snmp_enuminit_vacmnetsnmp_certs_initread_premib_configsread_configsnetsnmp_get_debug_log_levelstpcpyasn_build_nullasn_build_bitstringasn_build_unsigned_int64asn_build_floatasn_build_doubleasn_build_signed_int64asn_realloc_rbuild_nullasn_realloc_rbuild_bitstringasn_realloc_rbuild_unsigned_int64asn_realloc_rbuild_floatasn_realloc_rbuild_doubleasn_realloc_rbuild_signed_int64snmp_comstr_buildasn_parse_lengthasn_parse_nlengthasn_build_lengthasn_build_headerasn_parse_nullasn_realloc_rbuild_lengthasn_realloc_rbuild_headerMDbeginMDreverseMDupdateMDgetMDchecksumMDsignsnmp_parse_args_usagesnmp_parse_args_descriptionsnetsnmp_get_versionsnmp_log_options_usagefflushhandle_long_optnetsnmp_confignetsnmp_parse_argsgetoptoptargsnmpv3_parse_argsstderrnetsnmp_config_remembernetsnmp_transport_create_configCONTAINER_INSERTsnmpv3_parse_argread_config_print_usagesnmp_log_optionsstrtodgenerate_Kunetsnmp_container_findnetsnmp_transport_config_compareget_default_authtypeusmHMACMD5AuthProtocolget_default_privtypeusmDESPrivProtocolnetsnmp_daemonizeforksetsidexitchdirdup2get_myaddrioctlget_uptimenetsnmp_getaddrinfoinet_ntoanetsnmp_gethostbyname_v4freeaddrinfonetsnmp_gethostbynamenetsnmp_gethostbyaddrinet_ntopcalculate_time_diffcalculate_sectime_diffmkdirnetsnmp_mktempget_temp_file_patternumaskmkstempnetsnmp_os_prematchunamestrncasecmpnetsnmp_os_kernel_widthnetsnmp_str_to_uidgetpwnamendpwentnetsnmp_str_to_gidgetgrnamendgrentse_add_pair_to_slistvacm_save_viewread_config_save_octet_stringread_config_save_objidread_config_storevacm_save_accessvacm_save_auth_accessvacm_save_groupvacm_savenetsnmp_view_getnetsnmp_view_existsnetsnmp_view_subtree_checkvacm_scanViewInitvacm_scanViewNextnetsnmp_view_createnetsnmp_view_destroynetsnmp_view_clearvacm_getGroupEntryvacm_scanGroupInitvacm_scanGroupNextvacm_createGroupEntryvacm_parse_config_groupskip_token_constread_config_read_octet_stringvacm_destroyGroupEntryvacm_destroyAllGroupEntries_vacm_choose_bestvacm_getAccessEntryvacm_scanAccessInitvacm_scanAccessNextvacm_createAccessEntry_vacm_parse_config_access_commonvacm_parse_config_accessvacm_parse_config_auth_accessvacm_destroyAccessEntryvacm_destroyAllAccessEntriesstore_vacmvacm_is_configuredvacm_getViewEntryvacm_checkSubtreevacm_createViewEntryvacm_parse_config_viewread_config_read_objid_constvacm_destroyViewEntryvacm_destroyAllViewEntriesnetsnmp_vacm_simple_usm_addnetsnmp_vacm_simple_usm_deldivBy10multBy10incrByU32incrByU16u64Subtractu64Incru64UpdateCounteru64CopyzeroU64isZeroU64netsnmp_c64_check_for_32bit_wrapnetsnmp_c64_check32_and_updatesnmp_vlogregister_app_prenetsnmp_mib_handlerregister_const_config_handlerunregister_config_handlerunregister_app_config_handlerread_config_get_handlersread_config_find_handlernetsnmp_config_remember_in_listnetsnmp_config_remember_free_listfree_configset_configuration_directoryget_configuration_directoryset_persistent_directoryfilenofsyncset_temp_file_patternread_app_config_storerenameunlinknetsnmp_config_errornetsnmp_config_warnrun_config_handlerconfig_perrorconfig_pwarnskip_white_constskip_whitesnmp_config_whennetsnmp_config_process_memory_listnetsnmp_config_process_memoriesnetsnmp_config_process_memories_whenskip_not_white_constskip_not_whiteskip_tokencopy_nword_constcopy_nwordread_configread_config_files_of_typestrrchrread_config_with_type_whenread_config_with_typeread_configs_optionalread_config_filescopy_wordread_config_read_octet_string_constread_config_read_objidread_config_read_dataread_config_read_memoryread_config_store_data_prefixread_config_store_datapkcs_unuseddebug_config_register_tokensdebug_config_turn_on_debuggingdebug_indent_getdebug_indentdebug_indent_addnetsnmp_set_debug_log_leveldebug_register_tokensdebug_print_registered_tokensdebug_enable_token_logsdebug_disable_token_logsdebug_is_token_registereddebugmsgdebugmsg_oiddebugmsg_suboiddebugmsg_vardebugmsg_oidrangedebugmsg_hexdebugmsg_hextlidebugmsgtokendebug_combo_ncsnmp_set_do_debuggingfacilitynamesprioritynamesnetsnmp_strdupnetsnmp_callocnetsnmp_mallocnetsnmp_reallocnetsnmp_freefree_zeromalloc_randomsc_randomnetsnmp_memdup_ntnetsnmp_check_definednessnetsnmp_binary_to_hexhex_to_binary2netsnmp_hex_to_binarydump_chunkatime_newMarkeratime_setMarkerclock_gettimenetsnmp_set_monotonic_markeruatime_diffuatime_hdiffuatime_readynetsnmp_ready_monotonicmarker_ttickstimeval_tticksnetsnmp_setenvnetsnmp_addrstr_htonnetsnmp_string_time_to_secslog_handler_nulllog_handler_syslogopenlog__syslog_chklog_handler_callbacklocaltimelog_handler_filelog_handler_stdouterr__printf_chknetsnmp_disable_this_loghandlernetsnmp_enable_this_loghandlerparse_config_logOptionnetsnmp_set_line_bufferingsetvbufsnmp_log_syslognamesnmp_get_do_loggingsnmp_disable_syslog_entrycloselogsnmp_disable_syslogsnmp_disable_filelog_entrysnmp_disable_filelogsnmp_stderrlog_statussnmp_disable_stderrlogsnmp_disable_calllogsnmp_disable_lognetsnmp_find_loghandlernetsnmp_add_loghandlerlogh_prioritiesnetsnmp_register_loghandlernetsnmp_register_stdio_loghandlersnmp_enable_syslog_identsnmp_enable_syslogsnmp_enable_stderrlogsnmp_enable_calllognetsnmp_enable_loghandlernetsnmp_disable_loghandlernetsnmp_remove_loghandlersnmp_log_string__vasprintf_chknetsnmp_enable_filelognetsnmp_logging_restartnetsnmp_register_filelog_handlerget_logh_headnetsnmp_file_text_parsenetsnmp_file_openfdopenCONTAINER_FREEnetsnmp_text_token_container_from_filenetsnmp_file_fillnetsnmp_file_releasenetsnmp_large_fd_set_resize__fdelt_chk_netsnmp_release_trustcertsCONTAINER_FREE_ALLse_add_pair_to_listse_find_free_value_in_listse_find_value_in_listSUBCONTAINER_FINDBIO_s_fileBIO_newBIO_ctrlPEM_read_bio_PrivateKeyBIO_vfree_setup_trusted_certsnetsnmp_container_add_indexnetsnmp_cert_map_containernetsnmp_cert_freeX509_freenetsnmp_key_freeEVP_PKEY_freed2i_X509_bioX509_check_caPEM_read_bio_X509_AUXnetsnmp_openssl_cert_get_commonNamenetsnmp_openssl_cert_get_hash_typenetsnmp_openssl_cert_get_fingerprintX509_get_issuer_nameX509_NAME_onelineX509_get_subject_namenetsnmp_okey_getnetsnmp_directory_container_read_somenetsnmp_directory_container_freenetsnmp_certs_loadnetsnmp_init_opensslnetsnmp_cert_load_x509netsnmp_openssl_cert_issued_bynetsnmp_cert_dump_allnetsnmp_fp_lowercase_and_strip_colonnetsnmp_cert_findnetsnmp_cert_check_vb_fingerprintnetsnmp_tls_fingerprint_parsenetsnmp_tls_fingerprint_buildnetsnmp_cert_trustSSL_CTX_get_cert_storeX509_STORE_add_certnetsnmp_cert_trust_canetsnmp_cert_get_trustlistnetsnmp_cert_map_allocnetsnmp_cert_map_freeCONTAINER_DUPCONTAINER_REMOVEnetsnmp_cert_map_addnetsnmp_cert_map_removenetsnmp_cert_map_findnetsnmp_cert_map_container_createnetsnmp_certs_agent_initnetsnmp_cert_parse_hash_typenetsnmp_cert_map_container_freenetsnmp_certToTSN_parse_commonnetsnmp_cert_get_secname_mapsnetsnmp_tlstmParams_containernetsnmp_tlstmParams_createnetsnmp_tlstmParams_freenetsnmp_tlstmParams_restore_commonnetsnmp_tlstmParams_addnetsnmp_tlstmParams_removenetsnmp_tlstmParams_findnetsnmp_tlstmAddr_containernetsnmp_tlstmAddr_createnetsnmp_tlstmAddr_freenetsnmp_tlstmAddr_restore_commonnetsnmp_tlstmAddr_addnetsnmp_tlstmAddr_removenetsnmp_tlstmAddr_get_serverIdnetsnmp_feature_unused_cert_utilASN1_STRING_to_UTF8CRYPTO_freeERR_load_BIO_stringsOPENSSL_init_cryptonetsnmp_openssl_cert_get_subjectNameX509_NAME_get_text_by_NIDnetsnmp_openssl_cert_dump_namesX509_NAME_entry_countX509_NAME_get_entryX509_NAME_ENTRY_get_dataX509_NAME_ENTRY_get_objectOBJ_obj2nidASN1_STRING_get0_dataOBJ_nid2lnOBJ_nid2snnetsnmp_openssl_cert_dump_extensions_cert_get_extension_atX509_get_ext_cert_get_extension_idX509_get_ext_by_NIDnetsnmp_openssl_cert_get_subjectAltNamesBIO_s_memX509V3_EXT_print_nid2ht_ht2nidX509_get_signature_nidEVP_sha1X509_digestEVP_sha224EVP_sha256EVP_sha384EVP_sha512netsnmp_openssl_get_cert_chainSSL_get_peer_certificateSSL_get_peer_cert_chainOPENSSL_sk_numOPENSSL_sk_value_cert_get_san_typeX509_get_ext_d2inetsnmp_openssl_extract_secnameX509_check_issuednetsnmp_openssl_err_logERR_get_errornetsnmp_openssl_null_checksSSL_get_current_cipherSSL_CIPHER_descriptionengineBoots_confversion_confoldengineID_confengineIDNic_confengineIDType_confparse_secLevel_confsnmpv3_secLevel_confusm_lookup_priv_typesc_get_priv_oidusm_lookup_auth_typesc_get_auth_oidsetup_engineIDgethostnameinit_snmpv3_post_premib_configfree_engineIDset_exact_engineIDexactEngineID_confinit_snmpv3_post_configsnmpv3_storeinit_secmodsnmpv3_local_snmpEngineBootssnmpv3_local_snmpEngineTimeget_enginetime_alarmset_enginetimefree_etimelisthash_engineIDsc_hashusmHMACSHA1AuthProtocolfree_enginetimesearch_enginetime_listget_enginetimeget_enginetime_exsc_get_authtypesc_get_openssl_hashfnEVP_MD_CTX_newEVP_DigestInitEVP_DigestUpdateEVP_DigestFinalEVP_MD_CTX_freegenerate_kulsc_get_proper_auth_length_bytypenetsnmp_extend_kulsc_hash_typeencode_keychangedecode_keychangesc_get_priv_alg_byoidsc_get_priv_alg_bytypesc_find_auth_alg_byoidsc_get_auth_alg_byindexsc_find_auth_alg_bytypesc_get_privtypesc_get_auth_maclensc_get_auth_namesc_get_properlengthsc_get_proper_priv_lengthsc_get_priv_alg_byindexsc_get_proper_priv_length_bytypesc_initRAND_bytesEVP_md5sc_get_openssl_privfnEVP_aes_192_cfb128EVP_aes_128_cfb128EVP_aes_256_cfb128sc_generate_keyed_hashHMACsc_check_keyed_hashsc_encryptDES_key_schedDES_ncbc_encryptEVP_CIPHER_CTX_newEVP_EncryptInitEVP_EncryptUpdateEVP_EncryptFinalEVP_CIPHER_CTX_freesc_decryptDES_cbc_encryptEVP_DecryptInitEVP_DecryptUpdateEVP_DecryptFinalusmNoPrivProtocolusmAESPrivProtocolusmAES192PrivProtocolusmAES192CiscoPrivProtocolusmAES256PrivProtocolusmAES256CiscoPrivProtocolusmNoAuthProtocolusmHMAC128SHA224AuthProtocolusmHMAC192SHA256AuthProtocolusmHMAC256SHA384AuthProtocolusmHMAC384SHA512AuthProtocolnetsnmp_register_callbacksnmp_count_callbackssnmp_callback_availablesnmp_unregister_callbacksnmp_callback_listnetsnmp_ds_set_voidnetsnmp_ds_get_voidnetsnmp_ds_parse_booleannetsnmp_ds_handle_configinit_alarm_post_configsnmp_alarm_unregistersa_update_entrysa_find_nextsa_find_specificrun_alarmsget_next_alarm_delay_timeset_an_alarmalarm_handlersignalsetitimersnmp_alarm_register_hrsnmp_alarm_registersnmp_alarm_resetnetsnmp_read_data_callbacknetsnmp_free_list_datanetsnmp_free_all_list_datanetsnmp_create_data_listnetsnmp_data_list_add_nodenetsnmp_add_list_datanetsnmp_data_list_add_datanetsnmp_get_list_datanetsnmp_get_list_nodenetsnmp_remove_list_nodenetsnmp_register_save_listnetsnmp_save_all_data_callbacknetsnmp_save_all_datanetsnmp_oid_stash_create_sized_nodenetsnmp_oid_stash_create_nodenetsnmp_oid_stash_add_datanetsnmp_oid_stash_get_nodenetsnmp_oid_stash_getnext_nodenetsnmp_oid_stash_get_datanetsnmp_oid_stash_storenetsnmp_oid_stash_store_alloid_stash_dumpnetsnmp_oid_stash_freenetsnmp_oid_stash_no_freeexternal_readfdlenexternal_readfdexternal_readfdfuncexternal_readfd_dataexternal_writefdlenexternal_writefdexternal_writefdfuncexternal_writefd_dataexternal_exceptfdlenexternal_exceptfdexternal_exceptfdfuncexternal_exceptfd_dataunregister_readfdunregister_writefdunregister_exceptfdnetsnmp_external_event_info2netsnmp_external_event_infonetsnmp_dispatch_external_events2netsnmp_dispatch_external_eventsnetsnmp_check_vb_typenetsnmp_check_vb_sizenetsnmp_check_vb_max_sizenetsnmp_check_vb_rangenetsnmp_check_vb_size_rangenetsnmp_check_vb_type_and_sizenetsnmp_check_vb_type_and_max_sizenetsnmp_check_vb_oidnetsnmp_check_vb_intnetsnmp_check_vb_uintnetsnmp_check_vb_int_rangenetsnmp_check_vb_truthvaluenetsnmp_check_vb_rowstatus_valuenetsnmp_check_vb_rowstatuscheck_rowstatus_transitionnetsnmp_check_vb_rowstatus_with_storagetypecheck_rowstatus_with_storagetype_transitionnetsnmp_check_vb_storagetypecheck_storage_transitioncurrent_maj_numcurrent_min_numse_read_confse_store_in_listse_store_enum_listse_find_listse_store_listse_find_casevalue_in_listse_find_valuese_find_free_valuese_find_label_in_listse_find_labelse_add_pairse_find_slistse_find_label_in_slistse_find_casevalue_in_slistse_find_free_value_in_slistse_clear_listse_store_slistse_store_slist_callbackse_clear_slistse_clear_all_listsnetsnmp_dateandtime_set_buf_from_varsdate_n_timectime_to_timetmktimenetsnmp_lookup_default_domainsnetsnmp_lookup_default_domainnetsnmp_lookup_default_targetsnprintf_unusednetsnmp_transport_parse_filterTypeCONTAINER_CLEARnetsnmp_transport_parse_filternetsnmp_transport_filter_addnetsnmp_transport_filter_removenetsnmp_sockaddr_sizenetsnmp_tdomain_supportnetsnmp_tlsbase_ctornetsnmp_tlstcp_ctornetsnmp_dtlsudp_ctornetsnmp_udpipv6_ctornetsnmp_tcpipv6_ctornetsnmp_udp_ctornetsnmp_tcp_ctornetsnmp_alias_ctornetsnmp_unix_ctornetsnmp_tdomain_registernetsnmp_tdomain_unregisternetsnmp_tdomain_transport_tspecnetsnmp_tdomain_transportnetsnmp_tdomain_transport_oidnetsnmp_transport_opennetsnmp_transport_open_servernetsnmp_transport_open_clientnetsnmp_transport_add_to_listnetsnmp_transport_remove_from_list_tc_find_tc_find_transportnetsnmp_transport_cache_removenetsnmp_transport_cache_getnetsnmp_transport_cache_savenetsnmpIPXDomain_lennetsnmpIPXDomainnetsnmpDDPDomain_lennetsnmpDDPDomainnetsnmpCONSDomain_lennetsnmpCONSDomainnetsnmpCLNSDomain_lennetsnmpCLNSDomainnetsnmpUDPDomain_lennetsnmpUDPDomainverify_callbackX509_STORE_CTX_get_current_certX509_STORE_CTX_get_errorX509_STORE_CTX_get_error_depthSSL_get_ex_data_X509_STORE_CTX_idxX509_STORE_CTX_get_ex_dataopenssl_local_indexSSL_get_ex_dataX509_verify_cert_error_stringCRYPTO_get_ex_new_indexnetsnmp_tlsbase_verify_server_certnetsnmp_tlsbase_verify_client_certnetsnmp_tlsbase_extract_security_name_trust_this_cert_load_trusted_certs_sslctx_common_setupX509_LOOKUP_fileX509_STORE_add_lookupX509_load_crl_fileX509_STORE_set_flagsSSL_CTX_set_cipher_listsslctx_client_setupSSL_CTX_newSSL_CTX_ctrlSSL_CTX_set_verifySSL_CTX_use_certificateSSL_CTX_use_PrivateKeySSL_CTX_check_private_keysslctx_server_setupnetsnmp_tlsbase_confignetsnmp_tlsbase_session_inittls_get_verify_info_indexnetsnmp_tlsbase_allocate_tlsdatanetsnmp_tlsbase_free_tlsdataSSL_freeSSL_CTX_freenetsnmp_tlsbase_wrapup_recv_x509_get_error_openssl_log_errorSSL_get_errorERR_reason_error_stringERR_get_error_line_datanetsnmp_ipv6_fmtaddrif_indextonamenetsnmp_ipv6_get_taddrnetsnmp_ipv6_ostring_to_sockaddrnetsnmp_sockaddr_in6_2in6addr_anyif_nametoindexinet_ptonnetsnmp_sockaddr_in6_netsnmp_udp_sockopt_setnetsnmp_sock_buffer_setnetsnmp_udpbase_recvfromrecvmsggetsocknamenetsnmp_udpbase_sendtosendmsgnetsnmp_udpbase_recvnetsnmp_udp_recvfromnetsnmp_udpbase_sendnetsnmp_udp_sendtonetsnmp_udp_base_ctornetsnmp_udpipv4_recvfromnetsnmp_udpipv4_sendtonetsnmp_udpipv4base_transport_initnetsnmp_udpipv4base_transport_socketnetsnmp_udpipv4base_transport_bindnetsnmp_socketbase_closenetsnmp_udpipv4base_transport_get_bound_addrnetsnmp_udpipv4base_transport_with_sourcenetsnmp_sd_find_inet_socketnetsnmp_udpipv4base_transportnetsnmp_sockaddr_in2netsnmp_udpipv4base_tspec_transportnetsnmp_tcpbase_recvnetsnmp_tcpbase_sendgetsockoptnetsnmp_set_non_blocking_modefcntlnetsnmp_sockaddr_innetsnmp_ipv4_fmtaddrnetsnmp_ipv4_get_taddrnetsnmp_ipv4_ostring_to_sockaddrnetsnmp_tlstcp_openBIO_new_connectSSL_newSSL_set_bioSSL_ctrlSSL_set_ex_dataSSL_connectBIO_new_acceptSSL_shutdownBIO_freeBIO_popSSL_acceptSSL_writenetsnmpTLSTCPDomain_lennetsnmpTLSTCPDomainSSL_readnetsnmp_tlstcp_transportnetsnmp_tlstcp_create_tstringnetsnmp_tlstcp_create_ostringnetsnmpDTLSUDPDomainnetsnmpDTLSUDPDomain_lencookie_initializedcookie_secretDTLS_methodSSL_CTX_set_cookie_generate_cbSSL_CTX_set_cookie_verify_cbSSL_set_optionsSSL_set_accept_stateSSL_set_connect_stateBIO_ctrl_pendingBIO_readBIO_writeSSL_get_shutdownnetsnmp_dtlsudp_transportnetsnmp_udp_transportnetsnmp_dtlsudp6_transportnetsnmp_udp6_transportnetsnmp_dtlsudp_create_tstringnetsnmp_dtlsudp_create_ostringnetsnmp_udp6_com2Sec6List_freenetsnmp_udp6_parse_securitygai_strerrornetsnmp_udp6_transport_initnetsnmp_UDPIPv6Domainnetsnmp_udp6_transport_bindnetsnmp_udp6_transport_socketnetsnmp_udp6_transport_get_bound_addrnetsnmp_udp6_transport_with_sourcenetsnmp_udpipv6base_tspec_transportnetsnmp_udp6_create_tspecnetsnmp_udp6_create_tstringnetsnmp_udp6_create_ostringnetsnmp_udp6_agent_config_tokens_registernetsnmp_udp6_getSecNamenetsnmp_tcp6_transportnetsnmp_TCPIPv6Domainlistennetsnmp_tcp6_create_tstringnetsnmp_tcp6_create_ostringnetsnmp_udp_fmtaddrnetsnmp_udp_create_tspecnetsnmp_udp_create_tstringnetsnmp_udp_create_ostringnetsnmp_udp_transport_with_sourcenetsnmp_udp_com2SecEntry_createnetsnmp_udp_parse_securitynetsnmp_udp_com2Sec_freenetsnmp_udp_com2SecList_freenetsnmp_udp_com2SecList_removenetsnmp_udp_agent_config_tokens_registernetsnmp_udp_getSecNamenetsnmp_tcp_transportnetsnmp_snmpTCPDomainnetsnmp_tcp_create_tstringnetsnmp_tcp_create_ostringparse_alias_configfree_alias_confignetsnmp_alias_create_ostringnetsnmp_alias_create_tstringnetsnmp_snmpALIASDomainnetsnmp_unix_com2SecList_freenetsnmp_unix_parse_securitynetsnmp_unix_create_path_with_modenetsnmp_unix_dont_create_pathnetsnmp_unix_transportnetsnmp_UnixDomain__strcpy_chknetsnmp_sd_find_unix_socketnetsnmp_unix_create_tstringnetsnmp_unix_create_ostringnetsnmp_unix_getSecNamenetsnmp_unix_agent_config_tokens_registernetsnmp_callback_acceptnetsnmp_callback_hook_parsenetsnmp_callback_check_packetnetsnmp_callback_closenetsnmp_callback_hook_buildnetsnmp_callback_fmtaddrnetsnmp_callback_recvcallback_push_queuethequeuenetsnmp_callback_sendcallback_pop_queuenetsnmp_callback_create_pdunetsnmp_callback_transportpipenetsnmp_callback_opennetsnmp_clear_callback_listinit_tsminit_usmshutdown_tsmshutdown_usmunregister_sec_modtsm_rgenerate_out_msgtsm_process_in_msgstrncpynext_sess_idfree_enginetime_on_shutdownusm_free_usmStateReferenceusm_handle_reportusm_malloc_usmStateReferenceusm_get_userListusm_set_usmStateReference_nameusm_set_usmStateReference_engine_idusm_set_usmStateReference_auth_protocolusm_set_usmStateReference_auth_keyusm_set_usmStateReference_priv_protocolusm_set_usmStateReference_priv_keyusm_set_usmStateReference_sec_levelasn_predict_int_lengthasn_predict_lengthusm_calc_offsetsusm_set_saltusm_set_aes_ivusm_parse_security_parametersusm_check_and_update_timelinessusm_extend_user_kulusm_secmod_rgenerate_out_msgusm_secmod_generate_out_msgusm_secmod_process_in_msgusm_session_initusm_discover_engineidusm_create_user_from_session_hookdeinit_usm_post_configsnmpv3_authtype_confsnmpv3_privtype_confusm_set_passwordusm_lookup_alg_typeusm_lookup_alg_strusm_lookup_auth_strusm_lookup_priv_strinit_usm_confusm_parse_config_usmUserusm_parse_create_usmUserusm_store_usersusm_check_secLevelusm_check_secLevel_vs_protocolsusm_get_user_from_listusm_process_in_msgusm_get_userusm_generate_out_msgusm_rgenerate_out_msgusm_remove_usmUser_from_listusm_remove_usmUserusm_remove_user_from_listusm_remove_userusm_free_userclear_user_listusm_add_user_to_listusm_add_userusm_cloneFrom_userusm_create_userusm_create_initial_userusm_save_userusm_save_users_from_listusm_save_usersusm_read_userusm_set_user_passwordusm_create_usmUser_from_stringusm_create_usmUserusmAES128PrivProtocolnetsnmp_container_simple_freenetsnmp_compare_cstringnetsnmp_compare_direct_cstringnetsnmp_compare_netsnmp_indexnetsnmp_container_get_factorynetsnmp_container_find_factorynetsnmp_container_getCONTAINER_INSERT_HELPERnetsnmp_container_register_with_comparenetsnmp_container_registernetsnmp_container_get_binary_arraynetsnmp_container_binary_array_initnetsnmp_container_ssll_initnetsnmp_container_null_initCONTAINER_INSERT_BEFORECONTAINER_REMOVE_ATCONTAINER_GET_ATnetsnmp_init_containernetsnmp_container_data_dupnetsnmp_ncompare_netsnmp_indexnetsnmp_ncompare_cstringnetsnmp_compare_memnetsnmp_compare_longnetsnmp_compare_ulongnetsnmp_compare_int32netsnmp_compare_uint32netsnmp_binary_array_remove_atnetsnmp_binary_array_releasenetsnmp_binary_array_options_setnetsnmp_binary_array_removenetsnmp_binary_array_get_subsetnetsnmp_container_get_binary_array_factorysnmp_get_errnosnmp_synch_resetsnmp_synch_setupsnmp_set_dump_packetsnmp_get_dump_packetsnmp_set_quick_printsnmp_get_quick_printsnmp_set_suffix_onlysnmp_get_suffix_onlysnmp_set_full_objidsnmp_get_full_objidsnmp_set_random_accesssnmp_get_random_accesssnmp_set_mib_errorssnmp_set_mib_warningssnmp_set_save_descriptionssnmp_set_mib_comment_termsnmp_set_mib_parse_label__fxstatnetsnmp_sd_listen_fdsgetpidunsetenvnetsnmp_sd_notifynetsnmp_file_newnetsnmp_file_compare_namenetsnmp_file_container_freenetsnmp_file_create__open_2netsnmp_file_closenetsnmp_container_get_nullnetsnmp_container_get_null_factorynetsnmp_container_get_ssllnetsnmp_container_get_usllnetsnmp_container_get_ssll_factorynetsnmp_container_get_singly_linked_listnetsnmp_container_get_fifonetsnmp_container_get_usll_factorynetsnmp_container_get_fifo_factorynetsnmp_container_iterator_getnetsnmp_container_iterator_set_data_cblibm.so.6libssl.so.1.1libcrypto.so.1.1libc.so.6_edata__bss_start_endlibnetsnmp.so.35OPENSSL_1_1_0GLIBC_2.15GLIBC_2.8GLIBC_2.4GLIBC_2.17GLIBC_2.14GLIBC_2.7GLIBC_2.3GLIBC_2.2.5GLIBC_2.3.4/opt/alt/openssl11/lib64:/opt/alt/libssh211/usr/lib64	

�s m1t�s m1t	�s���?tii
Jtii

Tt���	^t���itii
ttii
~tui	�tti	�t�)�?�)�? �) �)@�)_H�)hP�)vX�)�`�)�h�)�p�)�x�)�
��)�
��)���)���)�
��)���)��)��)3��)�
��)N��)d��)|��)���)���)���)��)��)��)�)� �)@(�)0�)h8�)�@�)6H�)HP�)ZX�)�`�)uh�)�p�)�x�)���)���)���)���)��)@��)���)���)��)��)*��)A��)V��)j��)}��)���)��)��)��)��)� �)�(�)0�)�8�)'@�)>H�)MP�)`X�)
`�)X
 **0*�@*0�P*��`*X�p*���**�*'��*��*3��*?��*?��*K�*K� *�@*�H*�h*�p*�x*W��*��*]��*h��*��*l��*s��*��*v��*}�*�*v�*��0*�8*��@*X*�`*��h*�*��*��*���*��*]��*�4�*���*���*��*� *�(*�0*�H*�P*��p*�x*��*#��*/��*=��*I��*Q��*� *h�@*��`*_��*:��*~��*���*A�*U� *Z�@*f�`*j��*$��*��*���*��*�� *s�@*�`*���*���*���*���*.�*|� *^�@*n�`*���*���*���*���*��*� *I�@*��`*���*���*���*���*��	*�� 	*��@	*��`	*���	*���	*��	*r��	*��
*� 
*q�@
*R�`
*���
*���
*U��
*|��
*��*u� *��@**�`*��*��*��*��*3�*� *��@*�`*��*A��*���*#��*+�
*� 
*4�@
*��`
*>��
*N��
*V��
*���
*d�*� *o�@*|�`*���*��*���*���*��*�� *�@*�`*��*���*�`*�Vp*�=�*�=�*�=�*�=�*�=�*�=�*�=�*�=�*�=*�=*�= *�=0*�=@*�=P*�=`*>p*	>�*>�*>�*>�*%>�*,>�*2>*7>*=> *@0*p@*C>P*(4`*H>p*O>�*U>�*Z>0*@�*�^�*_�*_*(_H*>_x*Y_�*o_*�_0*�_X*�_�*�_�*�_�*`�*"` *V��#*J��#*#��#*Q��#*U��#*]��#*d�$*l�$*s� $*{�0$*��@$*��P$*��`$*���$*���$*���$*���$*���$*���$*���$*Ȋ�$*ϊ%*׊%*ފ %*�0%*�@%*��p%*�f�%*e"�%*���%*��%*��(�)i0�)L8�)
@�)gH�)�P�)HX�)^`�)ch�)p�)x�)_��)-��)
��)!��)"��)���)���)��)��)Z�)��)��)5�)!�)��)g��)��)��)��)$�), �)�`*�(�)P0�)�8�)�@�)�H�)qP�)3X�)r`�)^h�)�p�)x�)���)*��):��)R��)��)=��)N��)���)��)��)	�)��)�)��)��) ��)��)T�)D�)��)� �)�(�)�0�)g8�)b@�)�H�)�*�P�)X�)`�)�h�)sp�)ex�)���)h��)C��)���)Y��)y��)���)���)���)�)�)�)�)��)P�)���)p8*p�)��)��)��)�8*� �)�(�){0�)�8�)�@�)�H�)%P�)�X�))`�),h�)�p�)��*�x�)��)���)4��)���)���)���)���)4��)(��)B�)�)k�)F�)e�)��)t��)��)��)��)(�)Q �)�(�)�0�)�8�)�@�)IH�)BP�)2X�)�`�)�h�)�p�)x�)M��)6��)���)���)���)a��)��)1��)K��)��)��)��)z�)��)��)���)��)��)W�)��)� �)�(�)�0�)�8�)��*�@�)�H�)P�)�X�)�`�)�h�)p�)�x�)���)���)���)��)h��)���)���)���)���)��)��)��)��)?�)&�*`%* *P*�*7�*��*��*T�*�*#x%*��%*;�%*��%*��%*��)2��)��)��)0��)��)��)���)���)��)F�)��)�) �)�(�)a0�)?8�)�@�):H�)~P�)X�)�`�)h�)	p�)�x�)���)��)��)��)
��)���)���)���)���)u��),��)��)n��)r��)��)��)��)�)w�)�)� �)(�)0�)(8�)a@�)XH�)mP�)X�)`�)$h�)�p�)�x�)T��)b��)���)���)q��)���)���)���)(��)���)-��)��)���)#��)l��)���)��)�)��)�) �)�(�)Y0�)=8�)@�)�H�)P�)X�)�`�)h�)�p�)x�)���)��)��)���)i��)���)���)H��)���)8��)���)��)@��)r��)#��)��)I�)��)*�)��)\ �)
(�)40�)�8�)2@�)�H�)�P�)X�)<`�)�h�)p�)�x�)���) ��)G��)
��)W��),��)e��)��)��)���)r��)���)!��)���)"��)u��)x�)�)��)��)> �)#(�)0�)�8�)�@�)$H�)MP�)�X�)%`�)&h�)'p�)�x�)���).��)(��)���)���)���)��)��))��)*��)���)���)���)���)���)��)p�)p�)S�)�)� �)�(�)70�)�8�)+@�),H�)�P�)-X�).`�)fh�)/p�)x�)0��)1��)=��)2��)���)K��)3��)4��)n��)���)5��)6��)���)7��)���)���)8�)��)(�)/�)� �)(�)Y0�)�8�)i@�)�H�)�P�)9X�)�`�)�h�)�p�)�x�)���)1��)���):��)���)A��)?��)���)-��)$��);��)��)2��)7��)~��)r��)'�)��)<�)x�)X �)�(�)0�)�8�)�@�)>H�)cP�)X�)5`�)�h�)�p�)�x�)��)\��)��){��)\��)`��)M��)���)?��)
��) ��)��)@��)O��)g��)���)q�)w�)G�)P�) �)](�)0�)A8�)�@�)BH�)�P�)1X�)`�)�h�)�p�)�x�)+��)C��)D��);��)E��)F��)���)���)	��)G��)���)���)���)���)���)s��){�)H�)��)��)I �)b(�)�0�)J8�)D@�)�H�)�P�)=X�)�`�)h�)p�)kx�)���)���)J��)K��)L��)���)>��)��)M��)���)��)���)���)N��)���)b��)C�)n�)��)j�)O �)P(�)[0�)H8�)�@�)�H�)�P�)iX�)`�)gh�)Qp�)�x�)���)���)���)���)y��)v��)R��)h��)��)���)��)\��)S��)T��)���)U��)��)��)��)��)� �)}(�)V0�)W8�)X@�)tH�)�P�)�X�)Y`�)sh�)Zp�)xx�)A��)G��)l��)��)6��)���)���)[��)��)���)v��)���)d��)���)���)\��)��)]�)^�)��)Y �)
(�)+0�)_8�)U@�)*H�)`P�)�X�)�`�)h�)�p�)ax�)���)���)���)���)���)b��)��)d��)���)c��);��)���)d��)���)���)I��)o�)e�)f�)�)| �)^(�)y0�)�8�)g@�)H�)�P�)hX�)�`�)ih�)�p�)�x�)���)j��)M��)���)���)k��)l��)
��)���)4��)m��)���)���)w��)���)���)��)_�)k�).�)] �)�(�)�0�)8�)j@�)�H�)nP�)oX�)`�)ph�)�p�)qx�)���)���)+��)���)r��)s��)V��)t��)q��)���)��)u��)v��)���)[��)���)��)��),�)�)� �)w(�)�0�)�8�)�@�)�H�)xP�)�X�)�`�)yh�)zp�)Zx�)���){��)E��)���)���)���)���)���)���){��)���)|��)���)t��)}��)~��)�)�)f�)��)� �)�(�)�0�)f8�)�@�)�H�)�P�)�X�)5`�)�h�)�p�)�x�)���)���)���)���)���)���)u��)���)���)���)k��)���)���)-��)0��)���)��)��)�)��)� �)�(�)0�)8�)�@�)�H�)%P�)�X�)s`�)oh�)�p�)�x�)���)���)���)���)���)���)���)z��)���)���)���)P��)���)���)���)���)�)��)��)��)� �)�(�)�0�)U8�)�@�)�H�)yP�)hX�)x`�)�h�)p�)�x�))��)���).��)���)���)���)z��)X��)���),��)���)/��)��)Q��)t��)x��)|�)��)�)<�)� �)�(�)(0�)�8�)#@�)lH�)�P�)KX�)6`�)Bh�)�p�)�x�)���)���)���)8��)���)���)l��)���)��)���)���)a��)���)���)A��)t��)��)�)��)��)� �)l(�)N0�)�8�)�@�)�H�)�P�)�X�)�`�)>h�)p�)�x�)���)��)��)��)���)u��)Q��)���)���)���)���)���)��)|��)���)���)�)��)��)��)� �)�(�)"0�)�8�)�@�):H�)NP�)�X�)&`�)�h�)Bp�)7x�)���)���)���)���)��)%��)���)@��)���)���)���)���)X��)���)'��)C��)~�)��)��)F�)� �)�(�)�0�)�8�)�@�)�H�)]P�)�X�)�`�)|h�)pp�)�x�)���)
��)���)���)���)H��)���)���))��)���)���)_��)���)���)���)m��)��)�)��)��)� �)�(�)�0�)18�)�@�)�H�)`P�)UX�)Q`�)Rh�)�p�)jx�)���)/��)���)���):��)���)���))��)���)���)���)���)M��){��)���)���) �)��)��)��)� �)e(�);0�)Y8�)�@�)�H�)RP�)�X�)�`�)h�)}p�)Ox�)���)���)���) ��)u��)���)���)��)D��)5��)���)���)���)���);��)p��)"�)��)��)��)� �)z(�)�0�)�8�)�@�)�H�)�P�)�X�)�`�)6h�)_p�)�x�)L��)W��)���)���)���)��)���)���)���)V�)��)�)Z�)��)��)I��)��)��)��) �)� �)�(�)0�)�8�)�@�)�H�)�P�)�X�)N`�)�h�)�p�)mx�)&��)D��)���)��)��)��)���)���)���)��)��)B�)��)��)��)���)��)��)9�)��)K �)�(�)S0�)�8�)�@�)�H�)�P�)�X�)�`�)�h�)dp�)�x�)���)���)���)��)���)���)���)���)~��)��)��)b�)��)	�)V�)���)��)m�)��)��)J �)�(�)�0�)8�)�@�)VH�)�P�)�X�)f`�)�h�)'p�)x�)���)9��)���)���)��)���)���)n��)���)��)��)�)��)`�)��)���)��)G�)��)Z�)� �)�(�)�0�)	8�)�@�)[H�)}P�)UX�)�`�)�h�)�p�)
x�)���)���)���)���)��)���)��)���)���)?�)��)^�)�)W�)�)��)�)��)z�)�)� �)��H��H�i:(H��t��H����5B(�%C(��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h���������%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%�'D���%�'D���%�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%�'D���%�'D���%�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݿ'D���%տ'D���%Ϳ'D���%ſ'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݾ'D���%վ'D���%;'D���%ž'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݽ'D���%ս'D���%ͽ'D���%Ž'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݼ'D���%ռ'D���%ͼ'D���%ż'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݻ'D���%ջ'D���%ͻ'D���%Ż'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'DH�=��'H���'H9�tH���'H��t	�����H�=��'H�5��'H)�H��H��H��?H�H�tH�M�'H��t��fD�����=u�'u+UH�=b�'H��tH�=^�'����d����M�']������w������SH��t"H��tH�W(1�H��tH�zH��t�����[û���ff.�f���U����SH������H��H��tWH������kH�H�C0H�C8�CPH�Ch�CpHǃHǃ�H�C@�S�H�C��H�CH��H��[]�ff.����E1�E1���<��ff.����H�1�H��t>ATI��UH��S�Ӎ{�:�H��H�E�H��tH��L��H������1�[]A\��ff.�@USH��H����H������H��H����H�ǹ#H���H�H�@hH���H���Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�������������H������H����������H������H����c�������H������H����B�������H������H����!�����u}H�����H���������u`�UpH�uhH�{h����uLH��H��t	�}�t'�{P�o��H��t4H�@ H��t+H��H����!�H��������t�H������1�H��H��[]�ff.����H��tgUSH��H��fDH�{H�k0H9�tH��t�!�H�kH�CH�{ H��0H9�tH��t��H�k H�C(H�H��u�H��[]��ff.�@��1�H��t!H���H��tf�H�H��H��u����AVAUI��ATL�$�UH��SH��H�L�s0H��t
L9�t�l�I��w+L�sM��tH�{L��L����H�k1�[]A\A]A^�@L����H�CH��uȸ����ATUSH����H����H��H��H���pH���`�H�H��H�CH�C HǃXHǃ`ǃhH�UH�u�)�A�ą�uZH�E H��tyH��0H9�t]H�}(H��(w#H��0H�{ H�U(H�u ���D��[]A\��;�H��H�C H��u��A�D��[]A\�f.�H��0H�C ��H�C H�C(��ff.�AWAVAUATUSH���t$H����A�օ���H��1�E1�E1��AD�p��H��H��I���`����uLM��MD�M��tM�'H�mM��H��tA9�t��;\$u�H�mH��u�H��L��[]A\A]A^A_��M��tL���S�L��E1�������E1��ǐ���'1��0�����AUA��ATA��UH��SH����H��H��t=H���H��t A�D$�E���@�����tH�?H��u�D��1�����H���H��H��[]A\A]Ð��ATUS����H�0��H�����A��H��H�o8�s��H�H9�tH�{8~mH���M���H��H��t]H�s8H����'�P���H���H��t4D�e����H�E�"��H�EH�����H�E0H�E8H��[]A\��H����1�[H��]A\�ff.���UH��SH�����H��H��tH����'1�����H���H��H��[]�f���SH��PdH�%(H�D$H1�A9Pt1H�����y�tH�\$HdH3%(��H��P[�DA���u[H��tV�A=��A=�ujH��L�D$H�4$���L�D$H�4$I�@�A�@�Fl�fDA�������t{���2��Y����A�@H�9�'H�\$�Fl�����y�������L�P}�2H��I����21����H�����1����DA�@I�@���z���H�͵'A�@�Fl����������Y���H���'I�@A�@�����Fl�����f.�H��L�D$H�4$���H�4$L�D$���uA�H�K�'I�@A�@��Fl��5���@H�!�'I�@A�@�����Fl�������
��ff.�f���1�H��tDH�?��H��u��@�ff.�@��1�H��tD1�@8wH�?���H��u��@����H����H��t@:wu�f.�8PtH�H��u��f���H��tNATI��UH��SH����H�H��t(H�sH�{H��L��蕾����u�H��[]A\�f�[1�]A\�1��fD��AUI��ATUH��SH��H��H� H��tH��0H9�t�O��M��H�C H�C(��H��t��upA�H��(v4H��tB��u>�KH�k(�����H�5߁��Hc�H�>��fDH��0E1�H�S H��u�H�C E1��H��D��[]A\A]�DH�5s��1�A���H��D��[]A\A]�f�E����H�C(H�C A�U���E����H�C(H�C �AoE�E���GH�C(H�C I�UH��f�E����H�{ H���H��L��E1��|��`����H�C(E1�H�C �A����H��'�6H�{ H����H��L��E1��+�H�S H�C(�����f.�H��tzH��� H����H����A�u��H�S H��HE�H�H�C(E1����DH�5�y�1�A���H�=�y�{������fDIcu��H�S ��HD�H��f.���H�5?y�1��;��?���fD��H�5�x�1�������fD��H�5�~�1������fDH�}�w��H��H�C ���H���`��H��H�C �Q���@H�C I�UH�H�S �����H9���H�5$x�1���H�C �����H!�����H�5~�1�A��_��c���f.�H�5�}�1�A��7��;���A�u��H�S H��HE�H��a�����H�5�w�1���A����fD��@�wH��H��H���Z���f.���H��@�wH�T$H�t$��0���H���ff.���H��tGATD��U��SH����H�H��t@8ku�H��1�1�D���c��H�H��u�[]A\�fD�ff.�@��H��t7U@��SH��H��f.�H��1�1҉����H�H��u�H��[]��ff.�@��AWf�AVAUATI��UH��SH��H�_XH�T$dH�%(H��$�1�H�D$@H�\$H�_`H�OXH�G`H�\$H�\$`H��)D$@H�D$P�Z��L��H���/������I�D$�D$@�D$H�L�t$,L�d$0I�L�l$(�,fD����������j���Et����D$@�����D$`�D$(��=v-H��?H��H�ŀH�|$h1��y���1�M��L��H��L��A��D$,H�D$8H�D$0膵���|$,�|$(H��A�ME�1�1��'������?���H������H���f��D$跱���8�@���H�
o�'�T$��8����H���2��L�|$@�����H�D$PH�L$H��H�H�D$H�EXH�D$H�E`����D$DH��$�dH3%(u+H��[]A\A]A^A_�L�����D$D�D$@�f�������f���H�
�����p�����AWAVAUATI��UH��SH��H�T$dH�%(H��$�1��X�I�ǸM���rI�OXH�D$@H�\$`f�H��)D$@H�L$I�O`I�G`H�L$H�
���I�OXH�D$P����H��L���2�����BH�E�D$@�D$H�L�t$,H�l$0L�l$(�����D$`�D$(��=v-H��?H��H�ŀH�|$h1��E���M��H��H��L��L��A��D$,H�D$8H�D$0�Q����|$,�|$(H��A�LE�1�1����������������L�����D$@���G���DH�D$PH�L$H��H�H�D$I�GXH�D$I�G`�y���D$DH��$�dH3%(��H��[]A\A]A^A_�@H�����D$D�D$@����H��L������D$@���@�D$�׮���T$�8t.H�
��'��8�>���H���V��H�H�D$@�2���f��D$@�a����r��f���H��dH�%(H��$�1�H��wH�$H�HrH�D$H�trH�D$H��rH�D$H��rH�D$ H�(sH�D$(H��wH�D$0H�8sH�D$8H�|sH�D$@H��wH�D$HH��sH�D$PH��sH�D$XH�DtH�D$`H��tH�D$hH�hwH�D$pH�iwH�D$xH��tH��$�H��tH��$�H��tH��$�H��v��wHc�H��H��$�dH3%(uH�Ĩ��3��AWAVAUATUSH��dH�%(H�D$1�H�$H���AI����A��I���a�H��H���EL��I������H���H��us�ff�H��L��L���b���H�$�Ņ�uwH�{0H�����v��H�$H�{8�k0tYA���tPH��D���T���H�<$H���x�H�$H��t,M��u�H�=��'H����H��L�����H�$�Ņ�t���H���7�H�L$dH3%(����H��[]A\A]A^A_�f�L���M��u��f�I��H��twI�L�����L��L������I�M�$$M��u�H�$�H�5�s���j���~���DH�5uu�1���H���\���H�߽���J���H�$��4���H�5Ls���
��H���U������;��ff.���H�=e�'�@��H�U�'�@��H�=D�'t
���D�*�'��u�H�����{��H��t&H�5's�1�������'H���@���H�5�r��_����ff.�f���H���O���ff.�@��H���/���ff.�@��H������ff.�@��USH��H����H����H�_(H����H�{����H��H��t~�CH����~&f���H�����H��t��u�H��tG��uCH�B H�8tH�H�3H�����H����ø��D��ҭ��H����[]�f�H��踭�������H����[]�f.���USH��H����H����H�_(H���H�{���H��H��tn�S��~$���H�����H��t��u�H��t?��u;H�@ H�8tH�H�3H���?��H����ø��D��
���H����[]ÐH����������H����[]�f.���SH�� dH�%(H�D$1��D$H�D$H����H����H�_(H�����SH�C����H��u�@��H�����H��t��u�H��to��uk�HH�PH�|$A�H�pL�D$�r��H�D$H��t@H�3H���M��H�|$�Ã�����D�����H�t$dH34%(��uH�� [�fD����������ff.����USH��H����H����H�o(H����H�}�^��H��H�����EH�߅���@��H�?����H��t��u�H������uH9�tjH�H��tH9�u
�BH9�tCH��H�H��u��c��H�uH���W��H�߃���Ÿ��D��"���H����[]�H��fDH�H���H�H��@H����������H����[]�f.���H����H����AUATUSH��L�o(M����I�]A�UH��������H�����H�m����H��t��u�H��tf��ub�����DL�#H9�tH�I�uH���]��L�#���t��uL��M��u�H��[]A\A]�fDH�����[]A\A]��H�������[]A\A]ø�������H��t�H���x���������@��SH�� dH�%(H�D$1��D$H�D$H����H����H�_(H�����SH�C����H��u�@��H�����H��t��u�H��to��uk�HH�PH�|$A�H�pL�D$�b��H�D$H��t@H�3H���=��H�|$�Ã�����D�����H�t$dH34%(��uH�� [�fD����������ff.����AWAVI��AUI��ATUSH���c��L��H��H���0����Ņ���E1�E1��(fD�3��I�$I��L��H������Ņ�u@H�KH�SI�uI�}�A���Ņ�u#�C���<vH��M��u�����I��I���1�M��t!L��L�����I�L��I�EI�����H�����H����[]A\A]A^A_����H����ATUSL�gM����H��L���f.�H�C H��t4H��H�CH��tSH��H��ЉCH�] �E�C��tу��t	H�C(H��u�H�EH��tH�@H��tH��H���H�] �C[]A\�DA�D$�CH�] �Ǹ����������ff.�f���H��(H�
fkf�dH�%(H��$1�H��lH��$H�
���H�D$PH����H�D$`H��lH��$�H���H��$�H��lH��$�H����H��$�H��$�H��$ H��$�H��$�H��$0�D$X�D$hH�D$pH�D$xDŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�HDŽ$�DŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�DŽ$HDŽ$DŽ$DŽ$(H��$8H�
jH��$�H��$PH��$�H�9jH��$�H��H��$PH�
s���H��$�H��$�H��$`H��$H��$�H�kH��$pH�
�iH�D$ H��$�H��$�H�
Y���D$(H�D$0H�D$PD$8DŽ$@HDŽ$HDŽ$XDŽ$hHDŽ$xDŽ$�HDŽ$�DŽ$�H��$�DŽ$�DŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�DŽ$HDŽ$H�D$HH�D$8H���HH��tCH�<$H��H�|$ H�t$�T$H�D$H�\���1�H��$dH3%(uH��(����������|���f.�f�AWI��AVI��AUI��ATM��USH��hH�$H��$�D�L$dH�%(H�D$X1�H�H��tI��|�.t�U����H�\$I��I���tVI��M�F��@H��H�
Wl�1��S����E��űL$H�4$I��L��L�������u�I���EI���u��I�EH��tI�$�D�I�,$H�D$XdH3%(uFH��h[]A\A]A^A_�f.�H�4$D��L��L��L�:�臮�����7����E�+����>���ff.�H��tCUH��SH��H��H�vH��t���H�K L�C(H��H��[H�gk�1�]�-��D��H��t;UH��SH��H��H�vH��t���H�K(H��H��[H��m1�]������ff.�@AUATUSH��8dH�%(H��$(1�H�5�'H����H�VI��H�����H���	fDH��H�N(��H��H�L�H�JH��H��u�H���'H�J(Hc�L�-cmH���&�L��L��1��.��H�����t-H��9�u�H��L��1�H���������u�fDH��$(dH3%(uH��8[]A\A]�H��1��r���舽���H��t;UH��SH��H��H�vH��t���H�K H��H��[H��i1�]�����ff.�@H����AWAVL�5�AUI��ATD�bUH��SH��I�EH����1���H�P(H9S(HG�H�@H��tD���E��u�H��u�H��H�@H��u�H��tcǃ��=U�'��ue�5G�'��u}�
9�'�����'�'������'���D��H��H���3���I�EH���[���H��[]A\A]A^A_��H��H������H��
�����5ʿ'��t�H��H���3���H��
����
��'���k���H��H���m���H��
�����z�'���S���H�K H�AhH��1�����H���H�=�m�O��H��H������H���H�=h�+����'�������E��~&E1�DH���L�����A��E9�u�H�K D�KD�H��L�C(H�R�1��`���K@���uXH�KxH��tH��g�H��1��9��H���H��tH�yg�H��1����H��
躿���T���DH�<g�H��1�����H�KxH��u���ff.���H�����@��AUATUSH��H��H�- �'H����D�.A�Eը�usH���ۣ��H��I���У��I�|���I��H��tmL�CA��+��H���5ֽ'A�:H�����H�
�fL��1���c���H�-��'XZH��t�H���(��I��H��tH���8���L�%y�'H��[]A\A]�fDH�����I��H��u���fDH��A�:API���t���@��AUATUSH��H��H�-(�'H����D�.A�Eը�usH���ۢ��H��I���Т��I�|���I��H��tmL�CA��+��H��A�:UH�����H�
�eL��1���h���H�-��'XZH��t"��H���(��I��H��tH���8���L�%��'H��[]A\A]�fDH�����I��H��u���fDH��A�:API���o���@U��SH��H���W$H�G;W |�� �W Hc�H��t+H�����H�CH��t+HcS$�J�K$@�,H���[]�H���x���H�CH��u�H��1�[]�fDAWAVI��AUI��ATUSH��(L�>dH�%(H�D$1��G$��D$����H�D$1�H�$A�E��d�o����o�8���x��H�4$L�����L�d$H��M9�tIA�M����E1���A�MA��D9�����H��L��D)���H��@��������u�1�H�T$dH3%(�H��([]A\A]A^A_���auFA�u��~>A�71�@��u�1fD��A9]~"A�7@��tL��I���Z�����u��@M��A�E����tA���tR9��r���I��A�E��tA�9�tuA�U��t6A�?�����HcT$I�E@�,�D�����fDA�E��u�M�>������
���fD1�L��������W������A�MI����u������fDAWAVI��1�AUATUH��SH��H��������MH��(\��(L��L��H��J�rE.�I���������H��H��H��H��H�Q��&%��H��H��H��H��H)�L��H��H��H�|$1�H��I��H��H��H��o^M<+	H��HiɀQH)�I��H��
I��L��H��H��Hi�I��H)�H��I��I��I��L��H��L)�H��H)�I�������u2E�����D$A����PE��L��aAUAWAT���D$E��L�vaPAUAWATH�����H��H��1��貤��H�� H��H��[]A\A]A^A_�@M��L���H��H��H������1��u�����PA�L�aAUAWAT�f.�H��E��L�a�D$PAUAW�i���@��SH��H�5aH��dH�%(H�D$1�H���U��H��tAH�5�`H��H��農����tH�5�`H��諲����t�;1uf���1�菛��H�D$dH3%(uH��[�褳��@��AWAVO�4IAUA��ATI��UH��SH��H��(L�D$L�$�E���L��H��輷�����H�J�T0I;$s�H�$H���=H�Q�L�|$L�d$H��M�t��HEH�
=fH������H��A�GI��PA�G�PA�G�PA�G�PA�G�PA�G�PE�O�1�E�G��=���L�#H�}H��0L��J���L�H�M9�u�H�$L�d$��H����I�H�L�d$M��H�L$I��I��HEE�D$�H�
f_H��H������1��š��L�;H�}L��֛��L�H�M9�u�L�d$1���ʿ�����	L�4$� @E����L��H���d�������H�J�T0I;$s�HE�  [L�#H�}L��e���L�t$I�H�D$L�#I9����w���L�-džI��H��L��I���-f�L��H������1����H�I��L�`L�#L9t$t6A�I�?H�EI��L�f�P`u��.f���f�H��(1�[]A\A]A^A_�L��Le�]fA�$L�#H�}L�诚��I�L�#H��(�[]A\A]A^A_�L�t$����H�$L�t$�J���ff.�f���AWAVM��AUATI��1�UL��SH��H��H�4$��L$�n�����~jA��9�}cMc��.fDH�I�$L)�M�H�HH��
I�$H��A9�}0�L$H�4$M��M��H��L�������u�H��1�[]A\A]A^A_�f��L$H�4$I��M��H��L��������t�H�I�$�H���[]A\A]A^A_�@��AWI��AVI��AUATUH��SH���L$E����M��L�D$苮��L�D$I��A�D$�I�XM�d�V@��\��@��"��H9�r�L$����L��L�������tH�EH�HI�H��H�M�K��I9�tO�{�I�uH�EI�f�~`u�H9�r�T$��t<L��L��莳����t-H�EI�H�HH��H�M�.I9�u�H�EI;rk�D$��uPH��1�[]A\A]A^A_�@H9�r�t$��t�L��L���0�����t�H�EI�H�HH�M�\H�EI�����L��L��������t�H�EI��H���[]A\A]A^A_�ff.�@��AWA��AVI��AUI��ATI��USH��8dH�%(H��$(1�H��$p1�H�D$%l@f�D$�<d���D$E1�1�<b��H�\$ ��H��H�s �I����H��H��0�J�H9�u��D$@����H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)؉�9����UH��u�Hc�H��H�|$H)��D H�H�+f��0��~��H��H9�u��D$ .E��tkH�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)�H��z�f�H���0H��H)�@�49H�H�H9�u��D$ -L��I��D��L��L�����H��$(dH3<%(��H��8[]A\A]A^A_�D�PH�L$H��}�Hc�H)��D H�H���B�H���BH9�u�)�Hc��D .������{-tJD�L$M��x0E1�1�H�\$ H�L$1�D�$��H��艛��D�$�=���1�I��A���H�{�
1�D�L$L�$���D�L$L�$Hc��D�L$E1�M�������������H��(fo�ndH�%(H�D$1�I��e�D$ typ)$f�D$貚��H�T$dH3%(uH��(��h������AT�#USH��1����H����H��H���Ŕ��I��H��躔��I�|�p���I��H��tKH���H���G�H��<%t���u��EH�U��tfDH��H���G��B���u�H��轤��L��[]A\�DE1�H�-o\�������H�Ղ'H�Ð��ATUH�-ReSH�����tQ���0L�g��H���HcT�H�>��f���1�迺���
1��s���L�����u�[1�]A\����1������D�1��4�����f���1�近���D�1������f.���1�菑���z���f.�A�<$�EL��#1����[1�]A\����1��G����2���f���1��/�������f.��1��t��������
1��\���������1��ߐ������f.��1��$��������1����������1����������1��w����b���f��1��Ķ���O�����!1�謶���7����[H��]A\��H���'Hc�H�
L�$�������1�1������UH��H��H�v[SH��1��H��H���G���H��H�߾H��[1��.���H��H�߾H��[1�����H��H�߾H��[1����H��H�߾H��[1����H��H�߾H��[1��ʷ��H��H�߾H�yT1�豷��H��H�߾H��[1�蘷��H��H�߾H��[1�����H��H�߾H�
\1��f���H��H�߾H�\1��M���H��H�߾H�3\1��4���H��H�߾H�J\1�����H��H�߾H�i\1�����H��H�߾H��\1����H��H�߾H��S1��ж��H��H�߾H��\1�跶��H��H�߾H��\1�螶��H��H��H��H��S[�1�]����ff.�@������9ATL�%�aUH��SH����R��#����Ic�L�>����1�����H�����u�1��!D�{H�S���1�����1�[]A\���1��̳���f.��1�贳���f��1�褳���f��{H�St6�
1�躅��1�[]A\��1��t����[����H��[]A\�H�a'�
1�Hc�H�
H�T��p���1��@H�9'Hc�H�
H�T��-����1��D��1�1�����UH��H��H�&[SH��1��H��H�����H��H�߾H�5[1��δ��H��H�߾H�D[1�赴��H��H�߾H�c[1�蜴��H��H�߾H�r[1�胴��H��H�߾H��[1��j���H��H��H��H��[[�1�]�K���ff.���H��1�L��[H�h�H�56QH�=j��5���1�L�)QH�E�H�54QH�=G�����1�L�$QH��H�5&QH�=$�菈��E1�1ɿH�QH�5��R���1�A�H�QH�5���2���1�A�H��PH�5̳�����1�A�H��PH�5�����E1�1ɿH��PH�5���ՙ��1�A�H��PH�5o��赙��1�A�H��PH�5O��蕙��1�L��PH�u�H�5�PH�='���1�A�H��PH�5���R���1�A�
H��PH�5���2���1�A�
H��PH�5̲�����A�1�H��PH�5�����A�1�H�sPH�5����Ҙ��A�1�H�cPH�5l��貘��A�1�H�RPH�5L��蒘��A�1�H�@PH�5,���r���A�1�H�-PH�5���R���A�1�H�PH�5���2���1ɿH��A�H�PH�5ñ����ff.���H����AU�ATUSH��1�H��蚡��H��H��t*D�#A�D$ը�t-H��H���1�[]A\A]�,���@�;+u�H�S��DH���@���H��I���5���I�|���I��H��t[L�CA��+tiH��A�:UL��H�
MH�����1���я��X1�Z�L��谀��H��L��[]A\A]鮢��fDH��[]A\A]�D��H��A�:API���ff.�@��S1��菠��H��t
[��H�=�N����H��H��t<���+��u"H�=�W薇��H��莇���1�[�A����H���x�����fDH�=I�'H��t$���+��u�H�=�W�N���H�='�'�B����H�=iW�4����f���AWH�=$NAVAUATUSH���b���I���z���M����H��E1�L�5�MH��ux�f.�H��興��L��I���}���I�|��3���I��H��tWH���H��H��SH�����M��I��H�
4��1�����XZM��tL���
���M��L��L��H��蜁��H��H��u�H���\���M��tH��L��[]A\A]A^A_�Ѡ���H��[]A\A]A^A_Ð�����'����AUI��ATD�`�US1�H��H�x'H�*�
�H��H�|�H��tL�������tH�CL9�u�H��1�[]A\A]�f��[���H���L��LSI���,�,H�=&�'1�词��XZ�A�'H��H��'[]A\A]�1�Ð��AWH��AVAUATUS��H��Hc-"�'D�5�'���uA�FD��
�'A��L�-?w'M�}9�}7H��菳��Hc�I��D9�|	�C�ޠ'H����[]A\A]A^A_�f�D�c
L��H�L$Ic�D�%��'A)�H������Ic�1�H��H�<�I�E�H���M�}H�L$�ff.�f���AWAVAUATUSH��dH�%(H��$x1�H�l$����H��,L�wKI���1��,�k���H��Ƅ$;諨��H����L��$@H��I�D$H�D$DH��蠩��I��H���$�ߚ��A�UH��DPt�I�}�
1�����I��A���u���H���,H��AVI��L��J1���,�̋��Ƅ$KH�5�qXH��Z��I��H���o���L��H�¾,觩��L��I���\���M���K����L��H�={J������-���L��
H����������!�%����t�H�|$�����D�H�JHDщ�@�D��H��L)�Ƅ?�}��H���}���I��H�������H���X���H��$xdH3%(u&H�Ĉ[]A\A]A^A_�1Ҿ�H��������躚��f.���AVAUATUSH��L�%�u'dH�%(H�D$1�H�$I�<$t*H�D$dH3%(�wH��[]A\A]A^�f��ۧ���&���葜��H��艰��I��H��t��l���H��L��H�5�IH��H��I�`���H��tH��谘��1�H��H���C���H��u�L���V���H�=�H�
���H��tK�8+�TH��H�5WIH���
���H�HIH��t$fD1�1�H������1�H��H���߮��H��u�����H�=sl詁��H��H����踯��I��M����A��Cը��H��H�5�HL��苮��H��H���L�-H��9fDH�߾/賀��H��H��tc�fw��H��H�5�H1��E���H��H��tML��H��貗����u��y������H�=��'H���S���H�=	Q����I���G���@�S���뛐�{w��M��tL�����H�=�G貀��H��tg��QՁ��+H�x貮��I��M��tDH��H�5�GL��蘭��H��GH��t@H���v��1�H��H���s���H��u�L��膚��H�=$G�:���H��H��H�
t'HD�H��聁��H�xH���5���H�~t'H����H�UH��H������H��H�D(��8.u�H�7r'H�@H��H���,����C�H�H��u�H��o'���H�(I�,$蔈��H��H�2�'H�����H�=vF襭��H�+H�C ����f�H��舭��I������L���H����������!�%����t������D�H�WHD����H��L)�H�Ǖ�:���I��H����M�F��+tAH��H�OA�:PH�
YCH�����L��1������XL��Z����M���G���H��A�:APL��N��H�xH��H�5�E赫�����H��H�5�E1�蟫��H��H�������u�����f�H��p'H�����t���}���H�D$dH3%(uH��L��[]A\A]A^�_������f.����7������ATUH��SH��@dH�%(H��$81��֙��H��H��tVH�5���җ��H��H��tH��H��1�H��D豥��H��$8dH3%(H��ufH��@[]A\�������H��H���(w��A��谞��H��H�ߺATI��L��C1��,�,����Ƅ$;H��XZ�W�������ATUS���H���'H��t!H�{ H��t�9���H���1���H�~�'H��l'H�-�n'H�H��o'H�H�EH��te�8�'��~7��1�L�$�H�<H��t�Җ��H�EH�H�EH��L9�u�H��豖��H�E��'�՗'H�=�p'H��t!H�"p'H9�t�x���H��p'�H��tH��p'H�=��'H��t�G���H���'H�=��'H��t�+���H�p�'[]A\�ff.���H��k'1�H�0�ۦ��ff.���SH��H����H�=�B����H��k'H��1�H�0����H��[��H�=|B������HLJ��D���GDH��OHc�H�>��H��j'H���ÐH�Il'H���ÐH��j'H���ÐH��n'H���ÐH��n'H���ÐH�Ik'H���ÐH�Qk'H���ÐH�Am'H���ÐH��l'H���ÐH�Ii'H���ÐH��l'H���ÐH�)n'H���ÐH�l'H���ÐH��l'H���ÐH��j'H���Ð��AWI��AVI���AUI���ATM��UL��S��H��8dH�%(H�D$(1��D$H�D$H�D$ �Ԃ��H�D$H�����.H�D$ H�L$H�T$L��A��H��H�D$PH��$�L�D$0���Y^�|$��t<�UH�|$��thH��t输��H�D$(dH3%(��H��8[]A\A]A^A_��1��ܟ��E1���wL�D$�E��t@H�|$멐�D$�Y���I����L��L��L���
����EH�|$�t���@��L��L��L��������u��E�覐��fD��USH��H��H�H��tH�C0H9�t
���H�C�C<Cwl<A��<��vz<�
<@ubH�C0H�CH�CH�C �����׉��H�{0������H�{8��H�{@H�CH1�H��[]��<��(<���<Dt4H�������[]�<u�H�C0H�CH�CH�C H�H�C01��DH�k(H�}H�{H�����H�C0H�CH�(�K(�1���~#fDH�s H�K�4H��H�4H��9C(�1�H�{������@����H�k(H��H�}H�{H����{H�C0H�CH�(H�K1�1҃�~'H�K ��H�H��H�1H�KH�4H�K�q�9��1�H�����������f�H�k(H�kH�����H�C0H�C1����f�H�K H�S�H��H��9C(�1�H�{������d���H�{(H��H��H�kH��whH�C0H�C����1�fDH�S H��H�SH��H�SH��9��1�H������������H���W���H�CH���c����	���DH���7���H�CH��u����f�H�<�����H�CH�����������H�����H�CH���w������D1�H��������n���ff.�f���AVAUI��ATI��UH��SL��H���M��L9�rgJ��H��臂��L�u�;�H��訅����uDH�SH�EH�L9�w3H�sI�|�H���Q���H�CHEH�H��u�[1�]A\A]A^�fD[�����]A\A]A^�f�H������AUM��I��I��ATH��I��H��U�SH��dH�%(H��$1�H��H���ʣ����u>I�$H��L��������H��$dH34%(��uH��[]A\A]����������,���ff.����AWAVAUATUSH��HH�dH�%(H��$81��D$,H����L�&I��I��H��M�����B<C�[<A�/<�c�<��<@����u
I����1�I9��dH��H=�wl��H���ٍ�H��D$,�D$,H��u�A����J��E1�M�&H�t$,�H��ȉD$,�lj��@I�]1��<��p<���<Dt����H��$8dH3<%(��H��H[]A\A]A^A_�fD��t��B<Cw�<A�D<t��2<�
���H��L��H����i���D$,I)H���l���@<u�H��L�c�H���i��L��I�.�D���@<���<��<D�D���H�I��H�sM�&�ЉT$,��I9�s���!���H�������=�����A�čp�L�e(�#{��H�E H�����I�I9��ZH����1�1��H�E H��H�s�@�4I�6�QH��H9�r�D$,��9�sH�E �у���D$,9�w�I��'�<�t����L��H���h���C���H�� I������H�E(H����D$,��I�؁���*���M���L�$�L9���N��L�|$0L�ƹL��L��L�D$L�T$L�L$���L�T$L�L$1�L)�K�<H���Av��L��L��H���h��I�L�D$I�I�����H�U(H��uGD��D�d$,�h���f�1��@H�E H��H�s��у�@�4�D$,9�w�I)H�U ��3����ЉT$,�#���DD��D�d$,I������L���v�����D$,���1��d�������H�I��L�CL�&�‰D$,��I9�����������������ff.�@��ATUSH��H��H�|$H�4$H��tKH��tFI��H�l$�@H�<$H�t.H��t)1�H��L��H�������t�H�������[]A\��H��u�H�<$u�H��1�[]A\Ð��AWAVAUATUSH��L�D$D��$�L�L$dH�%(H��$�1�H���5A��H��I��H��t/H�>��"��H��H�|���H9�u�D�l$@A��t�A���A����A��u
H����A��u
H����H�D$@E1�D�d$$H�l$AH�D$H��$�M��H�D$(I���J�H��H��H������PL�
�5L��51��/v��Y^H�H�L9�sSA����I��L��J��H)�M��u�H���H��H�����PL�
�7L�E51���u��H�H�XZL9�r���H��$�dH3%(��H�Ę[]A\A]A^A_�f�A��u�A��uH��u�A��uH��u�L�|$@H�l$AH��1�L�|$ H��?L��4�s��?I��@�s�sL��?u��H�� H�H�L9��]���A��tYL�D$H�UD�mI�@@H9��=����EH��H9��,�����$�H�T$L��H�t$�t������fD�����H�C L��H��H)�L�4H������D$8H�C(�D$9H�C0�D$:H�C8�D$;L�L$81�A�E��L�L$8�{t��H�H�L9��F�������D�d$$A���*���H���H��L��3H�������D$8H����D$9H����D$:H���H�\$(�D$;L�L$81�H��H)�A�E��L�L$8��s��H�H�H9�������
����Ճ��D��AWAVAUATUSH��(�D$`�D$�D$�H����E��M��H��H��H�|$�����F�E1�H�D$H�D$N�4�I������%���H�B�Dp@�.LD�M��u"�@E����H��H��蔇������I�$H�PH;s�H�UD�4I�GI�$L9|$��I���{���I�H�U��H��([]A\A]A^A_�@A�.M��u�1���a�����tyI�$H�PH;r!E��t;H��H��������t,I�$H�PH;s�H�U�\I�$H��I�$�9f�H��(1�[]A\A]A^A_��E��t�H��H��訆����t�I�$H�PH;s�H�U�L$�I�$H��I�$��1��讏����u�TE��t�H��H���X�����t�I�$H�PH;s�H�U�\I�$H��I�$�!�E���W���H��H���������D���I�$H�PH;s�H�U�L$�I�$H��I�$���f.�AWAVM��AUATUH��SH��1�H��H�$L��$�H�T$L��$�L�D$L��$�dH�4%(H�t$x1���Ď��1���D$�ԏ��H����H�<$A������KH�T$H����
H�I��H9J(u�@I9J(��M�RM��u�M����M��tI�I�H���� �A���%H����H��M��H��H��AUD��$�H�L$H�T$����X1�ZH�\$xdH3%(��
H�Ĉ[]A\A]A^A_�f.�H9H(uI��I�BH��u�M�Z`M����M�B �
H�=z/L�������A��������A�E��uBL�T$L�\$��$�H�t$L��H�<$�n��L�\$L�T$����A�EfDH����AWH�u�H�{M��ASAU��$�PH�L$ L�D$(I�L�T$ ���H�� L�$H��ID����f.�M�B(L�d$01��@H�
j�L��L�\$L�T$�n��A�EL�T$L�\$���d���L�T$M��L�\$����L�T$0L�1��@L�׾D�L$ H�
?+L�T$�=n��E�ML�T$E��D�L$ u1H�t$H�<$M��L��$�D�L$��m��D�L$��uA�EH��H��D��A���„�����H������M��D�t$fD1��
������TI�|$�������x��I��H���9E����H�$H�H��tI��|�.H�J�uI�E�EE����A�yD��A�ADH�5�:Hc�H�>��fDL�E����H�|$0H�
�}�@1��H�|$�m��A�U���NH��H��A��E���t���tD�\$L�K���$�H�t$L��H�<$�l��D�\$���BA�E�5f.�H���6L�T$0�s1��@�sL�׾H�� L�K�H�
H,L�C�L�T$ �_l��E�UH��AXA��AYE��L�T$��E����A�U�>����L�H�E�H�|$0�@H�D$H�
)1��M��H�|$L�L$ ��k��A�}L�L$ ���I����	H�|$��	�s �@�1��sH�
�+H�|$ L�KL�C�k��A�UY^���2H��(H��A��E����������M�$$M��tE�������M���N����I�APH���L�D��D9P�H�H��u�L�L$0�DA�|$��H�L�PL9�r�L)�A��E����A�U���J���U����xD�n����@DH�=P8Hc�H�>��f.���$�H�t$L��L��*H�<$L�L$�Lj��L�L$������A�E����f�D�\$L�������L���p���A�|$��A�UH��H�D$����E1�1�H\$���@E����A�U����I��E1�1�����fDI�yxt�A�|$��I�AXH��t
H�8�9H�H9��^���H��H��H9��M���H)�H�l$A��H��I��xD�\$ H��H��AQM��AUH�T$D��$�H�L$�QH��A�UH�D$ ^_H�l$D�\$ �(���fDH�t$0�@L��H�t$�������@L�L�L$0�@L��1��H�
�yL�L$�i��A�UL�L$�����M���4�L�D$��$�L��H�t$H�<$�h��L�L$ ������A�E����f�H�t$H�<$M��L����$�D�\$�@h��D�\$���hA�E�$���DL�D$��$�L��H�t$H�<$�h�����:A�E����f�1��9���f�A�U�������L�@�KfDI�zhH��t,�����D�L$L�T$�r��L�T$D�L$H��t	L�X`�2���M���*���L�D$��$�H�t$L��H�<$�[g����tA�U���fDA�E��p���fDI�AXH��t
H�8�eL�I�BH9����H����A�UH�4�H)�H�t$A�Å������I�QH�CH�D$H��tQA�y@���tH�z@�H�T$t=D�\$/L�T$ 莑���L�T$ H�=�&H��D�\$/H�T$������oD�\$H��M��L��j"D��$�H�{H�L$H�T$蔀��_AX��D�\$��A�U�T���H������E�eE���U�����$�H�t$L��L���H�<$L�T$L�\$�e��L�\$L�T$������A�E�
���H�D$E1��l���A�U�{���A�U�f���Hcp;p�����H9������A�UH��H)�H�D$A�Å������D�\$H��M��H��j'D��$�H�L$H�T$����f.�M����M���W������H�D$E1�D�\$1�H��M��jH��jAU��$�PL�D$(H�L$ �S�H�� I��A�UH�l$D�\$�D���H�l$L���H��I��M��L��U��$�H�t$H�|$���Y^H����I��A�UE1�1����D�\$H��L��L�KL�T$M��P��$�H�t$H�|$���A[ZH��L�T$D�\$�(A�U���H��M��H��H��j'D��$�H�L$H�T$�i~��ZY����A�UE1�1��+����z@D�\$ L�T$�ߎ���L�T$H�=B$H��D�\$ ������V���j"��$�M��L��H�sPL�D$H�L$�{�L�T$(�k~��AYAZ��L�T$D�\$ �������H���A�EH\$�D���1���݁������A�E����1��轁����t<A�U���iH�D$H��A���A���L�\$M��A�E1�L��C�A�UH��A�Å����$�H�t$L��L��%H�<$D�\$��b��D�\$����H�D$A�U������$�H�t$L��L��"H�<$�b����t4E�]E���,�����$�H�t$L��L�e%H�<$�fb��������A�E����P;P�����Hc�H9���������@A�E��z���I��E1ۺ1�A�E�`���M��H��H�l$�)�H�D$���A�EH�������$�H�t$L��L�"H�<$�a���������A�E��^����fr��fD��AWI��AVI���AUATM��UL��S��H��xH�|$�dH�%(H��$h1�H�DJ'H�D$HH�D$PL�(�D$<H�D$X�	c��H�D$@H�����.H�D$PH�D$XH�L$@L��L��PjH�D$LPSH��$�L�L$pL�D$h��H�� �t$<I�ą�tO�MH�|$@���7H��u2H��$hdH3%(L���	H��x[]A\A]A^A_�fD�s���ǐ1��������t0���/H�5`.��Hc�H�>��@�D$<�4����H�L$@�9I��tfDI��A�9u�H�D$XH����L�L�I9��bA�9.u�W�I��I�A�H9�wA�y�.u�L9�s	@�����EH�υ��9���H�|$M�ȉ�L��L���_����u�EH�|$@H����������fDI��H�|$��L��L���c_��H�|$@�EH�����������f�H�L$ @�t$L�L$�n��L�L$�t$H�H�L$ ��I��A��DB����I�A�H9�v��#���H�L$@H��H�L$H�L$�9Y��H�L$L�L$L� J'I��I�0H��u����I��I�0H�����McPM9�v�L��H��L�D$(L�L$ L�T$H�L$�(Y��H�L$L�T$��L�L$ L�D$(u�N�L���fDL�L$@�E������������@������@�EE1���1�H�|$`� L�L$�H�H�t$`A�|$0�
h���U���a����|$`#L�L$�1���H�|$I����L��L����]�����-���H�|$��L��L��L��]���������EL�L$�O����I������Rn��f���AWAVA��AUI��ATI��UH��SL��H��XdH�%(H�D$H1�A�xL��$��D$��1���{����uTA�: D��L��L��fo-1L�D$H���D$:H�NTIFIER)fD�L$8)D$fo1H�D$0)D$ ��\����tjI��H��E1�jD��L��L���f��_AXH�T$HdH3%(��H��X[]A\A]A^A_��1��
��z����u,� L�D$D��L��f�t$H��L���D$OID:�P\����t�H�C(H��L�K D��L��L��H��H��PL�D$�ew��XZ�L$��u*�M���[���L��oD��L��L��H���[����u1��8���f.�M��D��L��L��H����[���������
����l��f.���A�x{SL�\$H�\$��A�@L��)Ic�L�>��H�\$L�\$[�@z��H�\$L�\$[��m��H�\$L�\$[�d��H�\$L�\$[�w��H�\$L�\$[�Є��H�\$L�\$[�0q��H�\$L�\$[�u��H�\$L�\$[�Q��H�\$L�\$[� Y��H�\$L�\$[�x��H�\$L�\$[����H�\$L�\$[�@b��H�\$L�\$[�`���H�\$L�\$[�J��H�\$L�\$[� W����AWI��AVI��AUA��ATI��USH��H��$�L�D$L�L$(H�D$H��$�H�D$ dH�%(H��$�1�A�x�H�|$��H�1��
H�D$`�}x������H�D$H�h H�@(H�H�D$H9���H�D$�D$[H���D$TH�D$0H�D$p�D$Z�D$Yd�D$8H�D$HH�D$0��D$P����OH9\$@���=@���4�L$Y��a�€�t��!‹D$8�T$?���D$\�A��D$X��H�D$@E1��|$?���|$X�EH�D$@H�5A)Hc�H�>���1���|w������A� D��L��L��fo
-L�D$pL��DŽ$�NG):fD��$�)D$pfo-)�$��X����u3H��$�dH3<%(��H�Ĩ[]A\A]A^A_��jE1�D��L��jL�D$L��L���b��AYAZ�D1����w�����4H�\$H�k(���+���9H���8L��D��L��L��L���X���S����|$[��I���K�|$8�@�|$[u�|$Z�.H�D$0�8� H�
 �@H�
H�l$H� �1�H����W��I��D��L��L��L���|W������H;\$@�ŀ|$Zt	@�����l$Pt	@��������|$Tt	@����H;\$�|���H�|$ ��I�$I;r E���jL��L���7l�����WI�$I����:���f.�E���/L��L���k�����I�$H�PI;s�I��|$Z@�<I�$H�PI�$I��D�7���f�H�
������@H�l$HcD$8H)�H9�HO�Hc��#�E����L��L���|k������I�$H�D)I;w�1�H��H��H�L$h��f��H�L$hH���I��I��D��L��L��L���_�����tSH�����H�D$`D��L��L��L�KL��I�$��U����t#L�D$D��L��L��L���U������D1����H�
H�|$H� �1���U��L�D$H���f��D$\H�T�H���C�I��I�H9�u������L��D��L��L��L���(U��������1��i���f�H�D$H�h(H�D$H�X �������d���H�8�E�H�t1���f�W`D�H��H9�u�H������������
1��s��L�&��tL��D��L��L��L���T��������H�D$D��L��L��L��L�H(L�@ �]d���������1��
�r������H�|$ ������L��gD��L��L��L���T�����h���L�D$ D��L��L��L���S���������=���D1��
�Lr����u L�\D��L��L��L���S��������L��D��L��L��L���S������H�D$D��L��L��L��L�H(L�@ ��}��������L�aD��L��L��L���ZS��������1����H�|$0H�O�@�|$Y<*u0H�|$0�H�L$0H�W����D$P�D$Y@��H��H��@�|$Y�P��D$8��	�1�L�L$0�|$Y�D��I�э�I�QD�RD�GЍLH�@��A��	v�I��@�|$YD�׉L$8D�T$TL�L$0A��9�����GH�BH�D$0�D$T�D$Z�B�D$TfD�D$T���#<*��ǃ�0<	�D�D$8E����H�D$0f.��|$8��������D$8����H���|$TH�����D$Z끐H���5�������f�L��D��L��L��L����Q��������jD��L��L��jL�L$8L��L�D$����ZY���f.�E������L��L���f��������I�$H�PI;s�I��t$T@�4I�$H�PI�$I��D����f��D$T����fD�!1�L�D$h�o��L�D$h�D$[����I�?H��H��H�� W��I�$H�I�$I������T$Y�׀�9w}H���|$YA��L����@�|$T�D$YH�L$0����D$8��d@���Y����H���J���H;\$�D$T�D$8�7���@������)���@�T$Y�D$Y�T$TH�T$0H�L$0�G�<w1�H��s&�G��D$Z<	�y����D$T����D$8��������D$8�t����|$YH�T$0�D$Y@�|$T���`��f.�ATI��L��I��UH�͹�E��SH��dH�%(H��$x1�I��H��$�L��$�L���H�H��$pM��t 1�H��$pfDH�ƈH��L9�u�3�D$H�|$ L�T$(��t#H��$xdH3%(u4H�Ā[]A\�@jD��H��L��A�1E1��zk��ZY��u�����_�����AWAVM��AUA��ATI��UH��SH��H��HdH�%(H�D$81�A�xxL��$���1��� m����uM�: L�D$D��H��fo�"f�t$,L��H��H�ld be Fl�D$(oat))D$H�D$ �D$.�cN����tjD��H��E1�jM��H��L���X��ZYH�T$8dH3%(�EH��H[]A\A]A^A_��1��
�|l����u$��E���H��L���c������H�EH�H;s�H�=r�E��I��H����I�F f�M�ȺH�������H�}I<$�Z�L�L$�VN��L�L$L���`��L�uI�<$L���G��IƸL�uM������L��`D��H��H��L���<M����tHM��D��H��H��L���$M�������������L��
D��H��H��L���L��������1�����]��@��AWAVM��AUA��ATI��UH��SH��H��HdH�%(H�D$81�A�xyL��$���1���k����u4L�D$D��H��H��fo� L��)D$fo� )D$ �\L����tjD��H��E1�jM��H��L���}V��ZYH�T$8dH3%(�>H��H[]A\A]A^A_��1��
�tj����u$��E����H��L���a������H�EH�H;s�H�=j�C��I��H����I�F M�ȺH�}H�������I<$L�L$���RL��L�L$L���^��L�uI�<$L���E��IƸL�uM������L��^D��H��H��L���8K����tDM��D��H��H��L��� K������������L��D��H��H��L���J��������1�����[��@��AWM��AVAUA��ATI��UH��SH��H��8dH�%(H�D$(1�A�@L�t$x��F<5v~1���i����uD�: I��D��L��fo�f�t$ H��H���D$")$fo�)D$�RJ������jD��L��E1�jM��H��H���oT��ZY��H�1H���n���1��
�ph����u'A�F��L��
D��L��H��H����I����teA�GI�w <zt`I��L���o��M��D��L��H��H���I����t5�M����H�L$(dH3%(��H��8[]A\A]A^A_�@1���@I��L���i���L��	D��L��H��H���@I����t�A�G<v�>���v<ztqL��	<{�0���I�w �I����<Fu������L��\D��L��H��H����H�����p���M��D��L��H��H����H���������(����L�b	�����wY�����AWAVA��AUI��ATI��UH��SL��H��8dH�%(H�D$(1�A�@H�L$pL�|$x��D<7��1���f����u1I��D��L��L��foQH��)$fo�)D$�H����t$jE1�I��D��jL��L��H���9R��AZA[DH�t$(dH34%(�=H��8[]A\A]A^A_�DH��H���_���H�%��Hc�H�>��1��
�f����u/I��D��L��L��H�OPAQUE: H���D$H�$�iG�����q���L�K(L�C D��L��L��H���HW����t*�M���F���L��ZD��L��L��H���G����uZ1��#���AWL��QD����e��ZY����AWL��QD���J6��^_��AWL��QD���RN��AXAY����f�M��D��L��L��H���F������������jW��f.���AWAVA��AUI��ATI��UH��SL��H��HdH�%(H�D$81�A�xCL��$���1���d����uF�: L�D$L��L��foDf�L$0H��D���D$2)D$fo�)D$ �E��A����t jE1�L��I��jD��L��H���P��A��XZH�L$8dH3%(D���wH��H[]A\A]A^A_�1���d�����|1��
�$�c��D�$����H�D$H�$H�C H�$�(D�L$H�8H������I��D��L��L��H���GE��D�L$���d���M����A��P���fDH�C H�\$� H�
V�H��L�1��9E��I��D��L��L��H����D��E1Ʌ�A�������H�C H�|$� H�
��D�L$L�1�H�<$��D��L�$D��L��L��H���D��D�L$���	������@L�
XD��L��L��H��D�$�\D��D�$���z���M���R����U����AWM��AVAUA��ATI��UH��SH��H��HH��$�L��$�H�$dH�%(H�D$81�A�x��M��t0I�@ H�IcAH9�u�FfDIcAH9��3M�	M��u�1��
�b������I�G L�M����4$D��L��A�dAVH��H����`��ZY��teH�<$A�u8�H�\$8dH3%(D���SH��H[]A\A]A^A_�f.�L��VD��L��H��H���C������E1��1���la����u@L�D$D��L��H��foH���D$0)D$fo])D$ ��B��A�ƅ��X���jH��H��E1�jM��D��L����L��^_A���3���I�A1��
H�D$��`������H�|$�����1����`����������
1��`��A�ƅ��I�G L�|$� H�
�L��L�1��UB��L�D$D��L��H��H���A���������M��D��L��H��H����A�����f����v���fDL��D��L��H��H���A�������������L�xD��L��H��H���A���������s���L�t$H�
n�� 1�L����A��M��D��L��H��H���LA��A�ƅ���������L�D$D��L��H��H���&A����������	���L�$D��L��H��H��E1��A����A������Q�����AWM��AVAUA��ATI��UH��SH��H��XdH�%(H�D$H1�A�xGH��$�L��$��I�@ L�M��ux�H����AVD��A�uH��RH��L���]��ZY���sA�M���DH�\$HdH3%(D���0H��X[]A\A]A^A_�fDM�	M��t�IcAL9�u�I�AH�D$H���u���1��H�T$�d^�����I�G H�T$L�H���P���L�|$ H�
�P� 1��L���?��M��D��L��H��H���?��A�����5����?���1����]����uCL�D$ D��L��H��fo�H���D$@): )D$ fo�)D$0�H?��A�������jE1�H��H��jM��D��L���bI��^_A�������L��RD��L��H��H���>������E1�����1��
�D]����u~�D$I�G L�T$ H�
?L�׺ �L�T$L�1���>��L�D$D��L��H��H���>��D�L$���)���L�T$D��L��H��H��M���d>��D�L$�������L�D$D��L��H��H���<>���������?���M��D��L��H��H���>��E1Ʌ�A�������N�����AWAVA��AUI��ATI��UH��SL��H��XdH�%(H�D$H1�A�xBL��$�L��$���1���\����u\A�: D��L��L��fo�L�D$H���D$>H� Unsigne�D$8d32))D$foH�D$0)D$ fD�L$<�L=����tjI��H��E1�jD��L��L���mG��_AXH�T$HdH3%(�GH��X[]A\A]A^A_��1��
L�L$�_[��L�L$��tfH�C L�M����AWD��L��L��AQH��A�u�Z��ZY��t*�M��t�L�@PD��L��L��H���<������1��Z���@� L�D$D��L��H�Gauge32:f�t$H��L��H�D$�Q<��L�L$���^��������H�\$H�
��� 1��H���X<��I��D��L��L��H���<�����G���1�����DM��D��L��L��H����;������������L��f.���AWAVA��AUI��ATI��UH��SL��H��HdH�%(H�D$81�A�xAL��$���1����Y����uC�: L�D$D��L��fotf�t$0H��L���D$2)D$fo�)D$ �-;����tjD��L��E1�jI��L��H���NE��ZYH�T$8dH3%(�H��H[]A\A]A^A_�f��
1��DY��L�L$��t{H�C L�Ϻ H�
���L�L$D�1���:��L�L$D��L��L��H��M���:����t*�M���m���L�ND��L��L��H���a:����u]1��J���fDL�L$D��L��L��H�Counter3M��H��L�L$H�D$�D$2: �:��L�L$���C������f�M��D��L��L��H����9�������������J��f.���AVA��AUI��ATM��UH��SH��H��0dH�%(H�D$(1�A�x@��1���W����u@I��D��H��H��fo�
L��H�ress): H�D$ )$fo$)D$�J9����tjD��H��E1�jM��H��L���kC��ZYH�L$(dH3%(�H��0[]A\A]A^��1��
�dW����u$�E����H��L���N������I�D$(H�;H�@H�TH;Us�E1�H�-�FH��u	�^@H�;I�D$ H��I}�H�����F�01��8��H�H�BH�I�D$(H�H�L9�vI�E�D:H�I�D$(I��I9�r������@1������� I��D��H��fo�H��L��f�D$)$�8�����2���������H��@��AWAVA��AUI��ATI��UL��SH��H��8dH�%(H�D$(1�A�x@��1���V����u@�: I��D��L��fo�f�|$ H��L���D$")$fob)D$�h7����tjD��H��E1�jI��L��L���A��Y^H�T$(dH3%(��H��8[]A\A]A^A_�@1��
M�x �U����u ��E��t{H��L��� L����tlI�,$H�EH;s�I�}H�M��t<A�GE�H�����H�
��E�O�PA�GP1���6��I�,$I�}XZH���0��HŸI�,$�:����1��2���f�I��D��L��H��H�IpAddresL���D$s: H�$�F6�����R������G��@��AVA��AUI��ATI��UH��SH��@dH�%(H�D$81�A�x�D$NULL�D$��1��L���MT����uH� L�D$D��L��fo�	f�t$,H��H�ld be NUL��H�D$ )D$�D$(LL):�5����tjD��L��E1�jI��L��H���?��ZYH�T$8dH3%(u H��@[]A\A]A^��L�D$�F5�����F��ff.�@��AWAVM��AUATUSH��xH�|$ H�t$H�T$�L$dH�%(H�D$h1�A�@��<��I��I��1��H��A���@S����uMA� D��H��L��fo�L�D$@L��H�ld be BIfD�T$\)D$@H�D$P�D$XTS):�4��A�…�t)jE1�M��j�L$,H�T$ H�t$H�|$0�>��AXAYA��H�t$hdH34%(D����H��x[]A\A]A^A_�1��
L���R�������"f�|$@�L$H�T$L�D$@H�t$H�|$ L�D$(��3��A�…�t�M�N(M�F �L$H�T$H�t$H�|$ ��C��A�…��e���1��
�R������A�V(M�~ 1�A������L�t$0A���B�,�E1�D�t$8�fDA����A����D��D��A����t�H��u
�*H�H��t"9ku�L�sM��t1���Q������L�t$(A�� 1�H�
�S�L���33���L$H�T$M��H�t$H�|$ ��2��A�…��w���A����A���e���D�t$8H�D$0I��A��D;p(� ���A��?���D�: �D$@BITSf�t$D�D$F�e���@H�|$(�D$<A��1�H�
N�� ��2��M��L�t$ �L$H�T$H�t$L���.2��D�T$<������L�D$(�L$L��H�T$H�t$�2��D�T$<�����������"L�D$(H�T$H�t$H�|$ f�L$@�L$��1��A�…��DE��d����B��D��AVA��AUI��ATI��UH��SL��H��0dH�%(H�D$(1�A�xE��1����O����u>I��D��L��L��forH���D$$�D$ s): )$fo6)D$�,1����tjD��L��E1�jI��L��H���M;��ZYH�T$(dH3%(uyH��0[]A\A]A^�fD1��
�LO����u8I��D��L��L��H�NsapAddrH���D$ess:H�$� f�D$�0����t�L�K(L�C D��L��L��H���@���w����MA��ff.�f���H�� dH�%(H�D$1��D$AQM��L�D$�K��XZ�L$����H�T$dH3%(u��H�����@��f���H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�O����t �D$H�L$dH3%(uH��(����������l@��ff.����ATI��UH���SH���H��0dH�%(H�D$(1��D$H�D$H�D$ �21��H�D$H����H�T$ H�t$�I��H�|$H��ATL�D$�MJ��XZ�t$H�L$��u>H�CB�H��1��O��H�|$H��t�B��H�D$(dH3%(uDH��0[]A\�H����H��1��O����H�ٺ�H�=���Y����P?����H��'H��H��H�8�GF�����AWAVAUA��ATI��UH��SH��H��0dH�%(H�D$ 1�L�|$h�D$AQM��L�D$$�VI��AXAYD�T$E��t(1�H�\$dH3%(�nH��([]A\A]A^A_�1��I���AL������H�A�GL�n�<���<���L���<���M�����1���K��1Ʌ�uI���1��H�L$��K��1�H�L$��t1I���M�NPH����QL��H��M��RD��H���^_�%���I�Vx��f�1���K����u�
1��tK��L��@��uL���D��H��L��H����,������������@L���D��H��L��H���,�����jE1�jD��H��M��L��H����6��ZY���fDQR���O=��ff.�@��H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���cB��ZY��t�D$H�L$dH3%(uH��(�@���������<��@��AUI��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�-��H�$H����H�T$H�t$H��M��H���I��AU�A��ZYH�$��uCH�]��H��1��eL��H�<$H��t�>��H�D$dH3%(uBH��([]A\A]�@H�m>�H��1��"L���H�ٺ�H�=���wU����;����H��'H��H��H��H�8�G��@��SH��tH�H;J(u�H9J(tH�RH��u�1�H��[�f�H���H9H(uH��H�CH��u�H��v�H�H��H�����H��HE�H��[�@��AWAVAUATUSH��L�|$@A�G<���<���<���I��H�"'H��H��L��L��A��H���J��I��H��tS�1��gH��1Ʌ�tqI���I�VxM�NPH����QH��H��M��RD��L���^_H��[]A\A]A^A_�DjE1�jD��L��M��H��H����3��ZYH��[]A\A]A^A_�@I�����L���H��[]A\A]A^A_�V)��fDL�����L�)����QR�ff.����H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���c��ZY��t�D$H�L$dH3%(uH��(�@��������t9��@��AUI��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�E*��H�$H����H�T$H�t$H��M��H���I��AU���ZYH�$��uCH�
��H��1��I��H�<$H��t�7;��H�D$dH3%(uBH��([]A\A]�@H�;�H��1���H���H�ٺ�H�=���'R����p8����H��'H��H��H��H�8�D>��@��UH��AWAVA��AUATM��SH��XL�-['H������L��H������L��H������I�UL������dH�%(H�E�1���G��H��tqD�@DM�}H��L�-�
A��~4A�@��gH�H�Hc�H�>��fDL�-
�f�L�C H������D��H������H�������&����u+1�H�}�dH3<%(�!
H�e�[A\A]A^A_]��M��L������H������D��H������L���]&����t�H������H������D��L��L����9&����t�H��@����{0H��H�������,0��H������D��L��H������L�w��%�����I���L������H������D��H������H������M����%��������H������H��A�UI����������!�%����t��H�������K0�����D�I�ULD��@�I��L+������{4A�E���H������H�C8E1ɉ�����L������L������L������H�������fDH������H������D��L���H�������%�����Q���Dž����H������H������M��D��H��������$��������D�����H�C8D������B��M��A�W9S4�;M�yB�<�9�t�L���.��������L��Nj
H����������!�%����t������������D�H�JHDщ�@�H��L)�A�ՍD9E����H������H������D��L��H�������$�����`����������������������L�-�����@L�-����@L�-����@L�-�����@L�-�����@L�-�����@L������H�
����1��L���#�����H������L������L������H������H������H������D��L���H�������)#�����v����{@���L������H������D��L���H������L����"�����=����{@�M��H������D��L��H������I����"��������H������H������D��L��L�a��"��������{D���CDH���Hc�H�>��L�-:�H������H������D��L���H�������K"���������H������H������M��D��H�������#"�����p���H�CXH����L������I��H������H������D��L���H��������!�����-���H�������H������H������H���������tQE�MA�U��L�"�H�r�H�
;�LD�A9��.PH�
+�RH���������1��!��AZA[L������H������D��H������H�������5!���������M�m1�M�����KD��w��H��„��P���E�MA�U��L�z�H���LD�A9���H�
��PR�Z���L�-���T���L�-���H���L�-n��<���L�-]��0���L�-G��$���L�-6�����L�-#�����L�-
�����L�-����L�-�����L�-������L�-������L�-������L�-�����L�-g����L�SPM���H������H������D��L��H������L����������L���������)���1�L��H���H������H��H��D�hD��L������L������H������H���H��������L�P���L�H�@P1��@ ��H�������E�H������H�Ƌ
H����������!�%����t�AXAYH�����������D�H�JHDщ�@�H��H+������������D9E1H������H������D��L���H�������������.����L������H������D��H������H�����������������������\H������H�H������H��tUH������H������D��L�H�������d������������H�
�H���������1��x������H������H������D��L���H������H������L������������N���H������H������D��L���H�������������"���H�{xt|L������H������D��L���H������L����������L�CxH������D��L��H�������z��������H������H������D��L��L����R���������H���tL������H������D��L��H������L��������f���L���H������D��L��H�������������>���H������H������D��L��L������������D�CHA��C��
H�h�D��Hc�H�>��HDž����L�kXM�������L�SPM���l�������@-��H������H������L�Q�D��H������H������H�������>���������L�SPM��uH�������R����!���L����������L�-�H������H������D��L���H�������������0���M��L������H������D��H������L�����������H������H������D��L��L�U���������D�CLA��9�N	H�?�D��Hc�H�>��L�-M��S���L�-7��G���L�-��H������H������D��L�I�H�������#�����p�M��L������H������D��H������L��������E�H������H������D��L��L�����������H�{ht|L������H������D��L���H������L����������L�ChH������D��L��H�������u�������H������H������D��L��L����M�������L�k`M����H������H������D��L�V�H������������a�Dž����H������A�}H������H�L�QL�
i�A�u����LE�H�ߺ1�L�;����E�H��1�H��^�_H��H��H�X��������D9E6H������H������D��L�I�H�������j�������Dž����L������H������D��H������H�������4������������M�m�D������M��t1H������H������D��L��H����������������7�H������H������D��L���H������H�������������L�kpM���e�{DL���tL���H������H������D��H�������q�������Dž����H������H������I�u��H��� ��1�H��H���H��H��H�X��������D9E6H������H������D��L���H������������E�Dž����L������H������D��H������H�������������������M�m�D������M��t1H������H������D��L�4H�������}�����������H������H������D��L���H������H�������E�������H���tL������H������D��L�y�H������L��������Y�L���H������D��L��H�������������1�H������H������D��L��L��������	�H���t~L������H������D��L��H������L����������L���H������D��L��H������H���X�������H������D��H��L��L�k��4�������H������H������D��L���H������������U�H�������L������H����D������@M�$M���cH������M;G(u�f�M9G(�M�M��u�D������H�������)DH������H������I��D�M�$H������L��1�H�
N&���L��
H����������!�%����t������D�H�JHDщ�@�H��L)�A�׍D;E|1H������H������D��L�s�H�������������+��H������H������M��D��H������������!�����@H���L9@(uI��I�GH��u�M�O H�������
H�=��M�G(L���������H�����1�AP��L���L�����ƅ?���XZH������L��H�Ƌ
H����������!�%����t�H�����������D�H�JHDщ�@�H��L)�A�֍D;E|4������H������L�G�H������H���������������������H������M��H������H�������{�������H������D�I��M�?H������H���x���D������M�$���1�H�
��L���j��L��
H����������!�%����t������D�H�JHDщ�@�H��L)�D;E|,H������H������D��L�W�H��������������H������H������M��D��H������������������D���L��1�H�
r#����>���D���������L�-���	���L�-~����L�-����L�-y����L������H�
.���1��L���J�����L�-���L�-�����L�-�����L������H�
����1��L��������f.���AUA��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�U��H�$H����H�T$H�t$H��M��H���I��AU�54��ZYH�$��tCH�p$�H��1��%2��H�<$H��t�G$��H�D$dH3%(uBH��([]A\A]�@H����H����1���f�H�ٺ�H�=���7;����!����H���&��H��H��H�8����D��H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���C3��ZY��t�D$H�L$dH3%(uH��(�@��������� ��@��H��t'SH��ǃ�H�;H��t����H�[H��u�[Ð�ff.�@��UH��SH��H���&H�;�)��H�H��t@H��1�H���;c��H�[H��u�H��[]�ff.�����#'Ð����#'Ð����#'Ð����#'Ð����#'Ð��SH����i��H��[�ff.����(�2��f���AWAVAUATUSH��x�H�T$H�L$dH�%(H�D$h1�H�t$8�H�D$@H�D$H�D$PH�D$XH�D$`���5I��H�|$8I��A�H�<$��� ��*�G�����I��H��DP���T$@��A�MM�e���TSЉT$@H�T$8H�ք����:�/H�\$@L��A�	@�����y�@����I�����ɉL$H�M���N�:����*����Dp���ɉL$L�M���3�:��L�m��*����DP��H�4$H���;f���MH�T$8H�D$DH�D$LA���E��0�D$@�����:H����E����I�L�����Dx�����t$@��L�e�4��Lq�H�։L$@�M���Y�:����H�|$X�f�H�\$@H�4$��H�߉L$P�e���]H�T$8H�D$@A���D$PH�D$H����:I���>������fDH�|$XH��t
���H�T$8H�D$H��H�H�D$�H�|$hdH3<%(H����H��x[]A\A]A^A_�@A�MM�eH�T$8�D$D���z�:H�T$(�L$'H�T$�����~��H�T$�L$'I��H�t$(H����@H�4$H���d��H�D$DH�D$LA���E��0�D$@�ML�mH�T$8���E����:t:E������H�l$8H�\$@�
D�����H��H���d��H�T$8A�ǀ:u�H�|$XE�������D$dH�\$1�H�;H�|$������H�4$H����c���D$PH�D$HA��H�H�D$@�H���@H�4$H���c���MH�T$8H�D$HA���D$PH�H�D$@���^��������:�������D�:�����2���f�L���&����:����w���f.�������1�1��������f.�AWI��1�AVAUATI��USH��H��xH�T$L�$dH�%(H��$h1��n(���1��D$�^(���D$0H����M����M�/M���
�W��I��H�D$PH�D$L��M��I��.H��1����H��t�H�h�I��DP��@I� H���$$�����|M�M��u�M��L�d$`H��M�O L���S��L��1���
��ZYL��Ƅ$_�!��1�H��$hdH3%(�H��x[]A\A]A^A_�DI�G(I�4$H;4$�{���M�oM����I;E(t��fDH9B(uI��I�UH��u�H�L$H��I�$H���UM�}H��M������M��I��M�M���3	I�G`H�D$(H���e	D�T$L�|$P�D$4@BH�D$ L�t$E��L�|$L�|$(�D$;H����M���� ��U	I�������n��H�D$ H�����PD���nH�
����Hc�H�>��H�t$1�H�����H�T$P�:�`���I9G(����M�M��u�M��I�$H;$�<���H�L$L�|$ H��H��I�$I�?�Y	E1�H��H���-	L�|$(H�\$PL�t$L�,$H�$H���+@��'�u�i��0@��	��.H��E1����H��t�L�xH�4$1�H������H�T$P�:��I�$L9���I��I�$M����L���M���!���E1�I�����I�$H��H;$�8L�|$(1�M���>fDD�D$I�E��u
I�<�waH��H��L��I�M����H�����.H��E1�����H��t�L�hI�H�t$1�H��M�$����I�$H�D$P�8t�L�d$`H��I��H�D$0L����p����.H��1��i���H��t�H�XH�t$1�H�����H�T$P�:�VI�$H�JH;$�DI��H��I�$H������H����L�|$(E1�L�<$�?I�$H�rL9�sfH=�v�|$;uWI��A��H��I�$H����A�����.H��1����H��t�H�hH�t$1�H�����H�T$P�:t�H������.H��1��w���H��t�H�X����UH��DP�H�t$1�H�����H�T$P�:uQD�L$E���YH�L$ H�QXH���G�ID���b���Y�JH9�w�JH9��H�H��u�L�|$(�H���H�D$ ���D$(����H�PXH��t
H�:��A��M��!�"����'�����T�D$(��������L�|$(A��M���;D�t$I���uI�<������H��H��I�A����H�����.H��1��+���H��t�H�XI�H�t$1�H��M�$��Y���I�$H�D$P�8t��^���I�OI��H�58�1��E1�������I�$H;$����I��H��I�$M�?�v���M��H��L�|$ 1����M���JH�D$ �����H�|$(H������H�|$ �L�d$`H�پ1�H�AuL����"�����@��"u�L�{@��"��H�C@8�tC��t?I�$I9�w�f.�@8�t%L9��y���I��I�$I��H�PI�$I���u�A�G���)<.�H���I���|���L�m������"�B�E�������8���H�UL���!�B��CH��H�s�������H��H��8�tz<\u��C���{����B��CH��H�s��u��d���H�D$ L�hPM���R���@I�}H���l����tM�mM��u��0���IcE����M��L��L�|$(�G���L��L��D$0�����H�D$ H�xxH����H�L$LH�T$XL���'��H�����T$L����I�$L�$L9�������r�H�|$X�H���
H��L9�������L�I��I�$��H��I�$H9�u׉L$<�-���L$<�C����<.�[���H���|$�����|$(��9L$(���1���H�U1Ʉ�t�I�$H�4$H9�����1��	H9�����I��I�$I����H��I�$I�U��u��q����B�D$(9B�A�D$(���������9J	9J����H�H��u����M��L�|$(H������1��8���I�$L9�H�T$�����"L���Z���H�T$L)�H�I��I�$�����.H��E1��2���H��t�L�hH�t$1�H���g���H�T$P�D$(�:����I�$H�H�LH;$����I��L��I�$M�����C�����'�*I�$H;$�����D$4H��I�$���H�D$ �����|$(�H������A�����HcD$4Hc�I��������@�����I�GhH�D$ H��t%�����H���B
��H�D$ H��tH�@`H�D$(�h���E1�H���F���H���6���H�D$ 1�H�@XH��t��u9H
�9H}�H�1�H��u������A�H���*����U���L�|$(����L������H�|$X1�H���d����R���������H�=�����1�����M�L�|$ M�������I��H���������H�=�����1����1����L�|$ �}�H�����D��AWAVAUI��H�=��ATI�̹UH��SH��H���������H��E1����H���$��A�ǃ����L���$���.H��I������H��H��t�H��D��L�����I��H��tnH��tiM�$1�Ic�D��H�t�L��D9�~H�P(H��H�H�@��H��u�Hc�I�$A9�|)WA�H��tL��H��H��L����A���	fDE1�L�����H��D��[]A\A]A^A_�A������-���DH��H��L�D$�?��L�D$����AWAVAUI��ATI��UH��SH�����t7��H��f��PЀ�	v�ƒ�߃�A��v<-ugH�����u܀�.t7L��L��H�5�H������u
H���&����H��[]A\A]A^A_�f�H�}L��L��H�5�������<:u�I��I)�I�����I��H��tTH��I��1�E��H�
u�H�����������{:H�{tH�{L��L��L���V�L���D$����D$�O���������V������UH��1�SH��H��H�7�&H�0���H��tH�x H��H��H��[]�5��DH��1�[]����AVAUI��ATI��UH��SH��
�?H�r'dH�%(H��$
1�@������L��f��p�@��	v�ƃ�߃�A@��v<-�aH�����u�@��.�|I��H����L���!��M�EL��H��I�EH��H��I��Mc�������M��tL���j
��H��$
dH3%(����H��
[]A\A]A^Ð1���d�����t���H�5U�&�>.tmI��
L������
H�5rL���|�L��
L���l�M��H���1���H���&H�H������H�>�&����I�E�I���I��H���
L���?����D����D�H��&1ۉM���
����
����<:�����L��H��L���:���������	��ff.���AWAVAUI��ATUSH��1�H��H�H�4$�H�D$�@
���
1�I���1
��H��M����E�<$E����L����A��.I��A��H����H�����I�H�����H�5�'M�tI9���H�=�'E��H�I��H�����H�ʺL��HD�H��1�ATR�S��H�C'H�� 1���{����u�:H���j�H��tmH�4$L��H���������H�=�
'���H��1�[]A\A]A^A_ÐH��t��}t�M����H��A�L�%%���I�������1��������u8H�4$L��H�������uKH�D$H�4$L��H��I�E�m����u/H�D$I�EH�9�&H�8���H�4$L��H�������<���H�=;
'�N
��H�$H��[]A\A]A^A_�H�-z��l���@E�<$L���;�E��I����A��.��	�A���6����L��L�5�	'����L��H��H��	'�C���ff.�@�����������wH�x��8���H�H�N��tF��t;��L�DH���fDL9�t#H��H�H��H���u�H)�H�1�����1���fD��H�9�=��t3H�JH���w,�p�1��DH��H�L�H���w�H9�u�1����f���;2��f�UH��SH��H�������uH��DH��[]�@H���[]�ff.����H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���e���ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�����t �D$H�L$dH3%(uH��(����������L��ff.����H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�����t �D$H�L$dH3%(uH��(�������������ff.����H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���e��ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(A�dH�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$API��H��Q1�����ZY��t�D$H�T$dH3%(uH��(�@��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���U��ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���U�ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���%�ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���5	��ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���%�ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���	��ZY��t�D$H�T$dH3%(uH��(�fD�����������@U�����SH�����H��H��t/�@(�����hH���&H�8����H���H���&����H��H��[]��H��'AVAUI��ATA��USH��t;pu�o�D9`tbH�@ H��u�H���&1�L���/�H�sL��������uD9ctA���tH��0��L9�t���uҽ����[��]A\A]A^�f�H�X�@��~��h�H��H��H��DH��H9��z���H�;L���x����u�D�c�b���ff.�SH��H�H��t9H�H��t{H9�u	�t@H��H�BH��@��H9���@��u�H��t*H�@H�BH�c�&H9t[�@H�SH�[��H�O H�S H�5I�1�1����H�)�&H9u���f�H��t�H�CH�H�
�&H9u��fDH��tKUSH��H�H��t.H�fDH�{H�+H��t����H��H������H��u�H��[]���ff.�@H��t3H��H�?H��t(SH��H����H��H��u�[�fD��H��tKUSH��H�H��t.H�fDH�{H�+H��t�o���H��H���d���H��u�H��[]���ff.�@H��tKUSH��H�H��t.H�fDH�{H�+H��t����H��H������H��u�H��[]���ff.�@AVAUI��ATL�%�'UH��SM��t>L���
�H�[ H��t/H�;H�������u�H�{L�������ux[]A\A]A^���(�D�5''�"�H��H��t�H���B��L��H��7��D�sA��H�CH�C�C����L�c D�5�'H�"'[]A\A]A^Ð1�1��g����uH�{�
���L����
��H�C[]A\A]A^�H�KM��H��H�5ϻ1��(����fDUH��AWAVAUATSH��H�5Y�&I��H����`���H��dH�%(H�E�1��
H����������!�%����t�H��h��������D�H�JHDщ�@�H��H)�M�d�A�$A�$+��d����CD��t,��'�sH�V�1��H�
��Hc�H�>���L�K(L�C �1�L��h���H���H�
��&L�����L�k`H�y�&M����L���
H����������!�%����t�H��h��������D�H�JHD�H�
3�&��@Ƌ�`����H��D�x���d���L)�E1�A)�H��A�$1��)��L��X���H��P���I�]H���_��D�`E�E9���H��h���H������M�mM��tH��h�����H�=j��:���L��X���H��P���H��h����
�Y�����d����H�5��H�=_�&A�$���KD1�L�+���‰/�&M����H��h���L��1�fDH�@��H��u�Hc����h���I����I��H����M�M(��h���H��1�M��L�iM�mD�CL�	M����M�M(L��M;v1����L9	s�xH��9�u�D���1��Ic�D��H��L��o@��H��@9��D����L��X���L������C�&A�D$H�E�dH3%(�`H�e�[A\A]A^A_]����M��A�L��X�����d���E��D��M�uL��h�����tA�FD��u!H��h���H�
�&H�I�1�����A9�t<��`���L��A��I��H��h����?���D9�d����2������&M�u��u��f�A�D$ �L������H�@�Hc�H�>��L�ʾ��L�о��L�¾��L�����L����L�ݥ�H��h����
E��H�����H�߾1�H�
�&H�(��,��I�]�$���DžL���L�
a�f��s(L��h���1�H�
�&�s H����L��������d���A�$HcC@A[A]��x0H�@H�
��&�L��H��H��&H��L�@1����L�{PM���2H��h���H�T�&H�Nj
H����������!�%����t�H��h��������D�H�JHD�H�
�&��@Ƌ�`����H��E1�L)��L��p���)�H�4���X���1��
��L��P���M��D��X����&f.�H��h���L����M�$$M���\L9cPtH��h�����H�=Q��!��A�D$H��M�L$L����P�PPL�E�1��B�H��h����E�L��H�Nj
H����������!�%����t�AYAZH��h��������D�H�JHDщ�@�H��L)�D�BE�E9��.���H�
��&H�=��1�D��X������D��X���E�����DžL���L�
������DžL���L�
�����DžL���L�
x����DžL���L�
N����DžL���L�
.��p���DžL���L�
��Z���DžL���L�
���D���DžL���L�
ػ�.���DžL���L�
������DžL���L�
������DžL���L�
�����DžL���L�
b�����DžL���L�
B����H�{PL�
��H� �DžL���LD����DžL���L�
����DžL���L�
���n���fDH��h����
L��P�����L�sXM���������L���H�
�&����H��h���H�q��1��$���H��h���L�-�I���9��t)A�NE�FD9���H����L��1����f�M�6M��t`L9sXtL����L���-���KD��wոH�੄�t�A�NE�FD9�t1H�G��L��1����M�6M��u�L��h������@H���L��1��R����m���DH��h���H����1��.�������H����L��1������.������f�USH�����t3H���;��H�1�fDH����]��u�H��[]�f.�H��1�[]��USH��H��H�o H��t^H�������H���&H�H��H��tiH9�u�bf.�H��H�AH��@��H9�@��@��u�H��tH�@H�AH��[]�f�1��@H��H��H�5��1�[1�]����H��t�H�KH��H��[]�@AT��1�UH�-�&SH��H���H�H��u'�>fD������H�H�T�H�H�\�L��M��tH�{ L�#H��u�1���f�[]A\�ff.�ATI��1�U��SH��1��I�&������tHH�1�&L��H�5�L�H�-�&���tH��t�;u%L��H�5��[�]1�A\���[]A\�M��H�5��A��1�H�ٿ[]A\���SH��H�� dH�%(H�D$1�H���H����������!ʁ ��t����€�D�H�HHD���@�H��H)�Hc��T���߀�Z��������
��H�L$H�T$H��H��H�D$H�5e�P1�L�L$ L�D$�&��ZY�����D$�������D$�������|$��|$;v-�$H��H�=o��u�����$H��H�=a��\���H�D$dH3%(��H�� [�f��$H��H�=���,�����f.�H�L$H�T$H��H��H�D$H�5�P1�L�L$ L�D$�Q���D$l^_���#����$H��H�=m������i���D�$H��H�=d�����D$���������$H��H�=W�����|$����$H��H�=M��i���������ff.�@UH��SH���9�&��ueH���&H��tH��H���V��t:�����H��H�=5�����H�o�&H��uH�����H�[�&H��[]�@H������fD�s�H�5ٶ�H��1�������&�q���ff.�U��SH��H��PH����H�{X�c�H�{`��H�{p�����uH�{ H��t
��H�C H�{xH��t
�	�H�CxH���H��t���Hǃ�H���H��t���Hǃ�H���H��t��Hǃ�H�{hH��t
��H�ChH���H��t��Hǃ�H��[]�@SH�����H��1����H�{8H�C0H9�t�K�H��[�B�f�SH��H��8���H�{@�J�H�{H��H�{X���H�{H��t�
�H�{`H��t��H�{hH��t���H�{pH��t���H�{xH��t���H���H��t��H�{ H��t��H�{PH��t��H���H��t��H��[��ff.�AWAVAUATI��UH��SH��(H�
�&H�4$�H�T$L�D$�D$H��tL@L�mM��t_H�]M���fDM�6M��tHI�~H�����u�H����H��L����M��u�H���&�L$�H��([]A\A]A^A_�@H�$L�8H�D$��D$��~*H�]E1���A��I��D;t$tI�?H�����u��tH�]뀋EH�6�&H�|$�H�u�$������H����AVAUI��ATL�%P�UH��SI�]E1�H��u��H�CI��H����H��H�C(H9E(u�H�U �
L��H��������(L�C �
L��L��������L��H���L�����1�1����t�H��I�U L�K I��H�I�&L�E H�5��H�M(�01����XH�CZH���U���DH�EL�mI�UH�UI�mH��H������[]A\A]A^��H�H�MH��uWH�H�EH��t�H�XH�@H��u�H�EH�]H��H�����H�������[]A\A]A^�f.�H��H�BH��u�H�J��H�}H���a����H�;H���T���H�CM��t8I�FH���?���I�UH�EH�UI�m�L�mH�mH��u�H���w���I�E��ff.�f�S����Hc�H��Pu��-t1���_t[�fD�[Ð1���d�[�������f.�AWI��AVL�5ƼAUATUSH��H��(�$�M�I�WI��I�G�!I�E�Dh ��A�����I�GI�WH9�sjH�PI�WD� Ic�A��
u�H�V�&�I�E�Dh uɾ
H�C�
�
f�3H�D$�������:�H��([]A\A]A^A_�@L�����A���H�CD�#H�D$A�D$�C��~�-Ic�L�>��I�GI;G��	H�PI�W�I��E1�1��&DA�EI��I�GI;G��H�PI�W���
t�
����"�V��9,$�A��I�GI;G��H�PI�W�8�E��.����L���Y�������I�GI;G��H�PI�W�8��:u�I�GI;G��	H�PI�W�8���=����맸<����_����`��������D�������� �����!�u����"�k���I�GI;G�3H�PI�W���-�b1���������I�GI;G�x	H�PI�W�(� ��H�PI�W���Ń���X��
�OI�GI�W��-u	��-�z���H9�r�L���l����f.�H�PI�W�(���
�����I�GI;Gr�L���-�����������I�GI;G��L�KE1�fDH�PI�W�����L�����'�\�$L��H)ڍi�Hc�E����A����I�}Hc�Dw�WH9���A�M�qI�GI9G�<M��A��L��L�L$���L�L$���������'��I�GI9G�T���L��L�L$�O������������'L�L$��L��H)�f�H9��0I�GA�I9G�������L���������U�����'��L��M��H)��pЃ��I�}Hc�DwtnH9��;A�A�I�GI��I;G�����L��L�L$�����������'L�L$��L��H)����H��&��q���f�H9��-I�GA�I9G�;���L��L�L$�6������������'L�L$������f.���f�1�H��([]A\A]A^A_�A�M�qI�GI9G��M��A�����H9��$I�GI;G�����L��H�T$L�L$�������������'L�L$H�T$�����I�GI;G��H�PI�W���H�h�P����V�����Bu	E���5�'fA�	���L���:������"���1��$���A�M�qI�GI;G�3���L��L�L$�������W�����'��L��L�L$H)�H9��oM��I�GA�I9G�������fDI�GI;G��A����A�M�aI�GI;G�����M�����I�GA�I9G�n���L��H�T$L�L$�d������������'L�L$H�T$�����������/���I�GI�W��
�'���H�5��&�������b�������h�����A�������E1�L9L$u�@I��M�D�L9L$��H�D$H�D$H�P��J�H�Ѓ�	vэJ����xI��M�D���A�EE�����$�����L��� ����-�����������Y���H�D�$��$H�l$�D$���D$I�GI;G��H�PI�WD�0D���������L��D��購���T$�E���cD��H�
��&��L�4�M��u���M�vM����E;fu�I�>H������u�A�F���t$�
���H�PI�W�Hc�H�<A�DV t.��
tqM�uI�GI;Gr�L���{��Hc�H�<A�DV u�@H�$����S���I�u�>tA���L�u�E��w�'���H�$H���A�L������f�H���&��@�<-tI�U�DB�R���f.��C��t5I�U�DBu�0�����DB����H�D$H�D$���u�����f������H��H�=������L������lj$�����4$���e���A��=wf.��;���Ic�H��4�A�HcD$H��H)�H9�}D�uH������f��D$����L���������Z�����'��L��M��H)����L���������F���L�����������L����������L���������p���1����1�1����������k2�C2�$H��H�=Ħ��@�k2����L��E1��f��L�K�`���L���U������������'�6L��M��H)��l�����A���J���I��M�D��<���E1�L9L$tH�D$H�L$H�A�N�D@�L9�u�H�
zH�����H��1�������-���L��H�T$L�L$�������
�����'L�L$H�T$����A�����L�����������L��L�$�|���L�$���A�AA�I�GI��I;G�O������L���J��������M��A����D������}�A��$�=��������M���c���A������M���f���DAVAUI��ATUH��H��SH��dH�%(H��$�1�L�t$H�\$H�D$�=�����t;��tn��'ti��H��H���9��u�1�H��H�=�E1�����L�d$M�eH��$�dH3%(L����H�Ġ[]A\A]A^�D�����I��I�H��t�H������H��H��I�D$��� uG��H��H�����uK1��
H���0�I�H��H��B���j��!u:M�6������H��H�=�E1����5�����H��H�=�E1���������H��H�=�E1��w��������ff.�f�AWAVI��H��AUATUSH���H�t$H�l$0H�\$(dH�%(H��$�1�H�D$(�����H��L�����D$��(���
1�H���)�����H��L��I���v�E��A�ǃ�EtK���,��H�H����D�`H�D�hH�A��Dut��H��L���,��f.���H��L�����۳��1��
H���I��蓺��A�?"A������H��L�����A���c���fD�D$��tA��!ubD��H��L����A��A��!tD��H��H�=z����H�L$H�D$(H�H��$�dH3%(��H���[]A\A]A^A_�D��H��H�=a����@1�1�H�D$��H�L$���?���H�֪&H��H�5ǘL�H�ͪ&D�1��k������fD��H��L������D$�� �������H��H�=�����D$�u����\��ff.��AWAVI��AUATI��H��USH��dH�%(H��$�1�H�\$H�D$������H��L���P�1҃�����H��L���5���������H�l$E1��5f.���K�DD躀H��L������������„�tE��t��t̾����I��H�EH��t�H����I�GH�ED�hE1�H�m�@H�T$I�H��$�dH3%(H��uH�Ĩ[]A\A]A^A_�1�������AVI��AUATI��H��USH��dH�%(H��$�1�H�l$H�D$�����H��L����1҃�����H��L������������L�l$���t��t+�����H��I�EH��tH����H�CM�m��H��L�����������„�u�H�T$I�H��$�dH3%(H��uH�Ġ[]A\A]A^��1������ff.�@AVAUATUSH��H�$H��dH�%(H��$�1�H���=��&I������I��H����H�庀H��H�����������L��$��J���guI�t$XH���N���I�D$XH������H��H�����������„�����2��~:��>u���H��H���]���������H���C�I�D$ �@��#u��L��H���#���$��1���^�����f���L����I�D$p�T���@�L��H�������$��L�����I�D$x�%���DH�ߺ�H����L������I�D$���!�
1�H���)����=W�&I�D$�i��I�$H����I�T$ H���cH�P I�|$ 萸��H�x�G��I�D$ H����I�$H��H�r ����I�\$ H���\����#f�I�|$ I�$��H�CH��$�dH3%(L���2H�Đ[]A\A]A^����H��H��������H������H��H��I�D$ �����I�<$H��t�g�L��E1��\��v�����H��H�=ڜ���L��E1��;��U�����L��H�=x���L��E1����4�����L��H�=g���L��E1��������gH��H�=a��`��t���H�����L��E1����H��&�������H��H�=��%�L��E1�������`��AWAVI��AUATUSH��H��L�-Z�&�=`�&dH�%(H��$�1�E�}�`��I��H��tsH��D��H��H���P���t��u�uzf���H��H���0������u�@u\@��H��H������;t��u�;u:1�1��i����u=H��$�dH3%(L��uFH�Ę[]A\A]A^A_�DL��E1�����E�ED��L��H�5��1������D��@AWAVI��AUI��ATU1�SH���=E�&dH�%(H��$�1��I��H��te��L��L��I��I���>���L��L����,��Ł��t+`����������t���� �L�����H��$�dH3%(���{H�Ę[]A\A]A^A_�@��������}����t�|����t*��L��H�=�����L���a�����u������� �g���I�t$@L���Q���I�D$@��L��L���<����>���D����L�����,������t��p����������v��`���f.���L��L������Ń�(u��L��L������Ń� t9��L��H�=7����L�������@I�t$8L�����I�D$8�=���I�t$@L���|��L��L��I�D$@�g��Ń�!u��������fDAW��AVAUATUH��SH��H�t$H��$ H��dH�%(H��$�1�����tZ��H��H�=���Y�������1�H�=̘E1��C��H��$�dH3%(L���H�ĸ[]A\A]A^A_�@��H��H��E1���H�L$ L��$ H�L$I���CfD����
1�H������A�E��H��H���T�I��A��M9�����&I�EA�E����A�U������u�H�������H��H��I�E���� u���H��H��������1��
H���r�����H��H��A�E����!�Q�����H��H�=����������H��H�=`��������f�E���~���L�l$(M����A���/A�F�H�$E1�1�D$H�D$H�XA�F��D$�@�{���I��H����M��L��LD��
��I�G 9l$�7M����L������HcI�G����>I�WH�$H����L�8L�<$��H��;l$}LL�k�M��t�L�sM���s����;�t؋{���I��H���n���M��tL��f�H��X��H��H��u�E1�l$H�\$H��H��H�f�H�{H��t�b��H��H9�u��T���@L�<$�a��������I��H�CH�������D�
/�&L�v�L��H�
yx�A�A�
�&1�������fDH�|$���I�GH���,���Hc�������DI�wH�=��������A����H�W�&L�(M�������D$ A;E(t�M�mM����A;E(u�I�} �D��I��H�D$(������|$$���I��H���;���HcD$ H�|$I�D$���M�l$ I�D$������H��H�=���G�����H�t$�[H�=ȔE1��)�������H��H�=a��������Y��f�AUI��H��H��ATUSH���8���I��H��tpH�H����H���
�H��H��H�H��u�H�CI�EH�CI�E�CA�EH�C I�E H���H��t�J��H���B��L�mH��L��[]A\A]�M��t�L������H��L��[]A\A]�DH�@I�EI�D$I�EA�D$A�EI�D$ I�E I��$�H��t����L��M�������L��M���������ff.�AWAVAUATUSH��H�$H��H��H�4$L�d$0H��L��dH�%(H��$81��G����6�=�&�#��H��H������L��H����A�ǃ�[������D�},L��$���H��L������A�����A����[A������qA��������fD��1����.��L��H���~���P�1�RH�@H���>�E0��L��H���K�������L��H���2����9��H���H�����E4��L��H�������������H�MHL��$0H�L$L��$0��H݃���H�5��Hc�H�>��A�������A���(D��L��H�=�����H��1��]��DH��$8dH3%(H����H��H[]A\A]A^A_�@A����������fDA�����A����v���A������� �`�����L��H��������(�w��L��H�������� �^H�u@H�������L��H��H�E@�����!�5��L��H�������A���t���A��������������h�� �����H�u@H���S���L��H��H�E@�?�����f.������A����}���A����w����fD��L��H�=�1��U���x�����L��H��������u1A�D��L��H�����������>��uں3L��H�=Z����H��1��l��������L��H���p����$��L���_��H�Ex��L��H���H���������„��e�������H�$H��H���}���H�����D��L��H��������WƄ$0A��@��������A���L��L���[����H�5+�L���G�����L��H�������u�A��u�L��
H����������!�%����t�L������D�H�JHDщ��H��L)�Ƅ/�B��H�������fDH�}P�\H�t$H���x�H�EHH��������%L��H�=���W��H��1������p�����L��H��������$��1��������[���L�����H�Ep�J���f�H�}H�fH�t$H�����H�EHH����H�x�r��H�|$H�EP�����������L��H���H����\���E,�L��$���H��L��� ���{�����L��H�=܃�g��H��1�����������$����L��H�5���s���L��L���c����H�5s�L���O������f.�A���������L��H�=�����H��1��U�����A��������	������L��H�=�����H��1��%�������5�&L������D$����uH�}8���HcD$H�
0�&H�D$(H�D$H�@H��L�lM��tYL�t$(�6f�I�}H�D$����H�t$H�FI�A�u�pM�mM�6M��t���t���I�H��u�L�l$(L�m8H�}@����H�D$H�
��&H�D$(H�@H��L�t M��tFL�l$(�"@A�v�pI�EA�v�pM�6M�mM��t�����I�EH��u�L�t$(H�}`L�u@H��t�+���H�D$H�
�&H�@H��H�DH��tH������H�E`H�D$H�
��&H�@H�����tA�NjD$�E(���fD1�1������~�L��H�=�������@L��$0�H��L���p����$��L���_����L��H��H�Eh�K�����fD��L��H�=�����H��1���������L��H�=r��o��H��1��������H�u8H���T���L��H��H�E8�����;���L��H�ߺ�������L��H�����������L��H�=����H��1��u��������L��H�=������H��1��U�����D��L��H�=����H��1��4��������L��H�=����H��1��������.L��H�=��{��H��1����������L��H�=.��[��H��1������t����.L��H�=v��8��H��1�����Q����%�f�1�L��H�=_����H��1�����(������މ�L��H�=·����H��1��a�������'����AVAUATUSH��H�$H��dH�%(H��$�1�H���=
�&I���!���H��H����I�亀H��L��������)���!L��$��3���#����L��H�������������„�����2to��Qu�H�uXH���N�H�EXH��u��QL��H�=v�����H��1��g���H��$�dH3%(H����H�Đ[]A\A]A^�fD�L��H���@����$uqL���3��H�Ex�C���f.��L��H�������$ua1���O��������L������H�Ep���fDH��L��H���2�H���J�����L��H�=�����H��1�����*�����L��H�=̅���H��1��o���
����5���DAWAVAUATUSH��H�$H��dH�%(H��$�1�H���=�&I���/���I��H����I�纀H��L��� ��A�ă�5����L��H�����A�ă�$����L��H�=��G��A��t*H��$�E��u�f���t�H��H�������u�L��L��H���	�I��H��$�dH3%(L���(H�Ę[]A\A]A^A_�f.���L��H�=U�����s���f.�L���8����L��H���8��A�ă�6u0��L��H��� ��A�ă�$t.��L��H�=F��g������f���L��H�=��O��������L��H������A�ă�7u6H��$��H��H�����A�ă�$t,��H��H�=���������L��H�=ۅ���������L��H���v��A�ă�#���H��H���Z��A�ă�$��1�������tb��f���L��H��� ��A�ă�$��L�������L��H�����A�ă�#uT�H��H������A�ă�$uS��L��H������A�ă�Ot���������L��H�=C��
�����DD��L��H�=��������D��H��H�=���������H���j��I�Ep�������L��H�=ڄ����b���f�AWAVAUATUSH��H�$H��H���=�&I��A��dH�%(H��$�1�I�����I��H��tkH�\$��H��H������D9��s��t~��H��H�=���D$����D$���H��H�������t��u�L��L��H�����I��H��$�dH3%(L����H�Ĩ[]A\A]A^A_�f.���H��H���@���ƒ�߃�t	��'����H��H�������#uxL��$��H��L�������$�[1���;���������H��H��������2�����*�����H��H�=I��D$����D$������H��H�=��D$�����D$���f���H��H�=_��D$�����D$����f���H��H���P����t^�fD��6���I��H����H��&H�ߋA�G�����H��H��I�I�EM�}I�G�����"����H��H��������t���H��H�=o��D$�#���D$������H��H�=J��D$����D$�����L��H�=�����L��E1��`������H��H�=����������tg��H��H�=��D$����D$���L���7��I�D$p�J����L��H�������$u7L�������H��H��I�D$x����,����H��H������������L��H�=�0��L��E1�����:����k���ff.�AWAVAUATUSH��H�$H��H�l$ I��I�պ�dH�%(H��$�1�H��H��I���b�������ƒ�]�������_����F�CH�D$E1���[�9���{L�.�&L��1�����H��0=@�:�1��u�€��H��H�=�u�0��H�D$H��tH���ޱ��M��t]L��1��ϱ���Mf.�E1�D��H��H����������t+��u�A��uغ�L��H���`��A�E1��DA���f.���H��H���0����t��`u�`����H��H�����A�ƃ�a�b��L��H������A�E�� u�A�����A����s���1�L��H�����A�E��u*@��L��H�����A�E��E����D�_��L��H�=��������H��1�H�=U|1����H��$�dH3%(H���H�ĸ[]A\A]A^A_ÐH�޿{����L��H�����H��H��t���L��H�����A�E�f.�H��$�E1�H�D$H�$�H�4$�H�����������������GtO��#u�1�������t�H�4$�H�������$�v��H��H�=�~�D$�����L$�D��H��H���H����$����H��H�=Z~�D$����L$�d������H��H������ƒ�[�����H��H�������\��������H�L��L�$H�@���&�T$H��I�,H�L$�E����T$L�}L��H�EH�D$H�߉U��H�E(���L�$H�L$�� A�E��������I�tH������H�E�����L��H���I��A�E��(����L��H�߽�'��A�E�� �M�����L��H�=z1��g������H�|$�D$����H�<$����L$H�D$� �����L��H������A�E��t��L��H�=�|������L��H�����A�E�����5h�&H��$�ٯ��L���&�$����h���H�H�@H��A��U���L���D$�w���H���O����L$I�����H���H�=3|1�萾��������!����L��H�����A�E���������!�������L��H�=�p1��J��������H��H��������\���H���H�=�y1������W���H��H�=|����������H��H�����A�����I�t H���{��H�E ������L��H�=Jx1�追�������L��H�=W{1�觽�������H��H�=ey葽���\����ש���AWAVAUATUH��SH��H��(H�t$�DH�U(H9P(uH��H�CH��u�L�E M���;L��L�$���L�$��H�L�=�&M�4�H�$M���`1�H�\$E1�L��E1�L��I���4�M����I�$M����I�]H�I��H��tH�} H��H�s ���H���t�I��H��u�H�\$L�t$M��tI�EH�D$H����H�l$I��I�FH����H�+I��H����H;E(u�d�I9D$(�]L��L�eM��u��蚙��I��H���nL�hA�F1�L��A�G4A�G0I�G0I�G8�X���I�FH�M�&L��I�G I�F8I�FI�GPI�F@I�F8I�GXI�FHI�F@I�G`I�FPI�FHI�GhI�FXI�FPI�GpI�F`I�FXI�GxI�FhI�F`I���I�FpI�FhI���I�FxI�FpI���I���I�FxI���Idž�I�FI�G(A�F(A�G@IcF,��A�GDA�F0A�GHA�F4A�GL����H���#H�EI�GL�}I� H���#�e�����H�H���&H�t$L��H��L�<�I�O�0���M��t[I�w �
H�=TV�������I�t$ �
H�=4V�A��A��M��E����1�1��k�������M�6M������H�|$�
D賾��H��H�H��u�H��([]A\A]A^A_镾��DH�I��I���2���f�H�$I������I��1�fDI�T$ M�~H��L��H�$����H�$��tp�
L��H�=rU������q����
H��H�=TU������S���1�1�蓴������E1��:���H�C(H��I�FL�k���@A�D$4D�hMc�I��L�����H��H����I�t$8I�U�H���Ú��IcD$4A�V�T�I�|$8I�D$0H9�t�§��A�D$41��I�l$8�۲������H�t$L���V�������I�EI�GM�}I� H������1�����H��([]A\A]A^A_ÐI�?L�����L���]���L���ռ���0���I�<$L���ľ��L���L���1�L���»��I�G L��I�D$ I�I�$A�G0A�D$0A�G@A�D$@A�GDA�D$DI�GPI�D$PI�G`I�D$`I�GhI�D$hI�GpI�D$pI�GXI�D$XI�GxI�D$xI���I��$�I���I��$�I���I��$�I���I��$�I�GI�D$�ą��I�$H��tL�aH�IH��u�I�|$ H��t������Lc�H�5?�&L��J��I�D$N�$��J���L���2���L����������H��z&I�W H�5#j�I�L$ L�1��?�������1�L��耺��I�FH�u�&L��I�D$ I�F8I�FI�D$PI�F@I�F8I�D$XI�FHI�F@I�D$`I�FPI�FHI�D$hI�FXI�FPI�D$pI�F`I�FXI�D$xI�FhI�F`I��$�I�FpI�FhI��$�I�FxI�FpI��$�I���I�FxI��$�Idž�I�FI�D$(A�F(A�D$@IcF,��A�D$DA�F0A�D$HA�F4A�D$L�$���H�t$L��������1�����H�D$M�D$ H��E1�M�NI�N�H�5gH�P H�#y&�01��Ҭ��XZ���ff.���AUL�-�sATL�%�SUH��1�SH��H���r���M��H��H�߅�H��h�ME�1���1���D���M��H��H�߅�H��h�ME�1��±��1������H��H�߾��L�1sH��hMD�1�萱��H��H�߾H��h1��w���H��H�߾H��h1��^���H��H�߾H��h1��E���H��H��H��H�i[�]1�A\A]�"���f���USH��H��tL�H����tBH�-$|��R<%w6��HcD�H�>���1�1��j���f.�H�����u�1�H��H��[]�f�1������1Ҿ����1������1�1��o����D�1��\����f.��1��D����f��1�1��҇���m���D�1������W��������&�D��AVAUATUSH�H��tbD�jI��H��L�5�gH�K L�K(L��M�D$ H��1��ɯ��H�[H��u�I�$H��tH�;tD��H��H�����H�[H��u�[]A\A]A^Ð��ATUS1�H��tv�?tq��I���r���H���&��H��H��u�RDH�[H��tDH�{ H��t�L���ި����u��t*�S4H�C8��~�;(t��H�T�fDH��H9�t�;(u�H��[]A\�ATUH��S���uL����H��1�H��t/L�%ay&H��I�$H�C�ٴ��I�$H�H��u&��C�[]A\�@��[]H��A\�����D��AWAVAUATUSH��H�T$dH�%(H�D$x1��D$$���H���u�?H���iI��H����H�D$(A����1�L�d$0H�D$L�l$$�@M�^ M��L�\$���H��L���&���L�\$����L���љ�������D$$Adž�A9�vA��L����tnI�6H��tL��H�������T$$D9�sA��H�Ņ�tHM�vM��t?A������h����D$$�f.�苁��I��H���"���1�A�����H�D$H��tD�8H�L$xdH3%(H��uTH�Ĉ[]A\A]A^A_�fDH�L$E1��L��L���Р��L��D$����D$��u�D$(����1��藜��������ff.�f������?wHc�H�H��H�v&H�@�D1��D�����?wHc�H�H��H�v&H�@(�D1��D��U�����SH��H�r�&H��t H���	H�[ H��tH�;H���̥����u�CH��[]�fDH�������[]�ff.����AVAUATUSH��s&H�;t[]A\A]A^�fDL�%�&� 1�L��H�-�{&�H�H�=�{&H��t*�諭���E��I��H��tH�UI�,�H�� H�}H��u�H�x&H��Hf�H�@�H��(H9�u�H��w&H���&��1�H��&H��1�H�-k�&�H���H���H�H�=Qu&H��z&�A���1�H�=؟&H�
�v�Bԉ�=�w5DHc�H�>��fD�J�&fDH���Bԉ�=�v������u�H�=Al�5���A�ƃ���X����j���I��H�������H�=1l肰��E�t$0L��I�D$ I�D$0A�D$4I�D$8I�D$(A�D$@�����{��M�l$ M���L���%�����H�L��H�T�L�d�I�T$�������D�5�&H��&�̊��I��H�������L�`H�=�k���E�u0L��I�E I�E0A�E4I�E8I�E(A�E@����� {��M�e M����L��苫����H�L��H�T�L�l�I�U耯�����D�5g�&H�X�&�3���I��H���`���L�hH�=k�G���E�t$0L��I�D$ I�D$0A�D$4I�D$8I�D$(A�D$@�����z��M�l$ M����L�������H�L��H�T�L�d�I�T$�ޮ��D�5ߡ&H�С&L�#�������&������F�&������&������&
�����ڟ&�����Z�&
�����F�&	�q�����2�&�a������&�Q�����
�&�A�������&�1������&�!�����Ξ&��������&��������&����.�&�����֝&��������&�����J�&������&������&�����ڜ&�����Ɯ&�q���H�=�h�Ť��A�ƃ�������H�=�h譤��A���|���1����1�����1��������G������H�
�&SH��H��t;xu�=D9xt3H�@ H��u�A���H��1�H�
|hH������҅��H��[�DH�0H���=���H��[����AWAVAUATA��USH��H��8H�t$dH�%(H��$(1���~&1�L�-˘H�ٺ�L��蛯����A9�u�L�|$�H��1�H��gA��L�-��I�O M�G(���I�/H�D$ H�D$H���!�E1�E��~H�ٺ�L���+���A��E9�u�H�E8H�t$L�E D�uD�8L�}(L�D$葎��H��M��H��AVL�D$H��H�^g�1��j����M@XZ���tH��A�H��1��J���H�MxH��tH��A�H��1��+���H���H��tH�kA�H��1��	����}4sH�޿
覙��H�mH������H�D$H�(H��tH�}tD��H��H���G���H�mH��u�H��$(dH3%(��H��8[]A\A]A^A_�DH�ٺ	�H�=wf����}4�j���D�d$I��H�l$A�A�@I�D$8H��A��B�<8I���7���H�|��H��H��1�����E9t$4�L��D�d$�����œ��DAWAVAUL�-#�&ATUSH��8dH�%(H��$(1�H�l$L�5��&E1�L����H��L9���H�H��t�H�D$�@H�D$H�H�D$H��t�H�x ������Ѝ��H��t�H��H���`�H�H��t0H�T$H��H9�tH�H��u�H�L$H��A��A��H��A�L9��r���E���L���H�D$ H�D$�
I��M9���I�H��t�H�=�&��H�D$H�I�fDL�c H�kH��d�{H�t$M��L�{LD�H��H��dHD�裋��M��M��H��H��H�5�Z1�����H�\$H�H��u�I��M9��g���H��$(dH3%(uH��8[]A\A]A^A_�H�^�&�T�����@��AVI���AUI���(ATI��UHc�S���H��tAL��H���	���L��H����H�CM��tL�����H�CH�
�&H�kH���&H�C []A\A]A^�f.���H�=Ś&H��t H��藤��H���&H������ff.�@��SH�����t��t:H�Ci&[H��fDH�����u�H���T���H�i&[H���H�ai&L��k&�H�Ug&L����
H����������!�%����t�L������D�H�JHDѹ��@�L��H�5E�H��H)�H����F{��I��H�‹
H����������!�%����t�L������D�H�JHDѹ��@�L��H��H��H)�H�����z��H�7h&[H��f���駞���USH��H�[�&H��tNH���f�H�[ H��t7H�;H��蜙����u�1�1��o�����u+H�{�R���H���[]�fDH��1�[]��H��f&H�SH��H�5X�L�1������f.�AWAVAUATUSH��H�$H����E1�1�dH�%(H��$�1�H��$ I��H���S���H�L$ H�L$H�L$8H�L$�D��HtS��H��L���#�����<��������uՁ��!H��D�cH����H�D Ic�����H��L���Ъ��D9�t�H���C���D9��Ic�H�L$I��I��J�T!�K���H�L$D)�I��I�I��L�@�H��H9�u�H���A�ƅ��zA���/���f�D9�~:�S�Ic�H�L$ D)�H��H�H��H��H�DH�TD�����H��H9�u�H�-2�&�=�&H��t;}u�X�9}tKH�m H��u�H��$��Ն��H�����H��$�dH3%(�5H�ĸ[]A\A]A^A_�@��t�H�}H��t>H�|�&H9�t2�E��~&E1�DL��I��H��H�<蔏��D9eH�}�腏��Hc���(~��H�EH���n�����~K�s�H�L$ H�����H��H�T$(H)�L�D1�	DH�EH�r�H�H��H�4�r�H�E�tI9�u܉]����@H�D$�\$I�N�|8�H���&H��u+��H��tCI�4$�B�����t6H�[ H����H�;H���&�����u�H�SH�{H��t�I�4$��v����u�1�1��ߚ����u[H�{�š��H�{�ٙ��A�D$�I��A�M9��g���Hc\$A��E�������H���6�������H��������fDH�KI�$I��H��b&H�5zTL�1��X����x����H��H�=�]�,���@��H��L��踧����<������u�����H���>���c����c����<���ff.��AWAVAUA�ATUSH��H�|$H�=%�&dH�%(H��$x1��D$TH��t
�X���D�l$TE1�A�1�H��&L��E��H�D$@I��H�D$8H�D$0E�������tH�\$`H�|$��H���̦���D$TA��A�����A����A��;��~_A��A��H�\$`L�d$A��BuV��H��L���u����D$T��<t��u��D��A��E���i���M���\f�1�E��t�A����H�\$`L��$���H��L����w��H�|$��H�������D$T��J��D��H�5m\L���A����D$TD��A���x���f�A�����A���}#A����~���A���~
A����h���H�\$`L��$���H��L���:w��H�|$��H���h����D$TA��u	������j�|
H�
�g��Hc�H�>��f�H�|$L���s���H����
H�����D$TD��A�����H�|$H�T$TH��L���>��H���q�D$TA�����D��A���v���A�������������$���A����H�
��&H�L$ H��t(�k�&H�T$ 9Au
�9Bt	H�R H��u�H�T$ H�D$ L�5�b&L��ZL��H�hH�XI�H��H�����H��H��L��L�%�a&L�{ZI�$�ɠ��H��H��L��H��a&L�lZH�誠��H�D$0H�L$@L�|$XI�H�D$8I�$H��a&H��p������H��&H��tH�@ H��u�H�D$ �x��uH�
��&�@H�HH�|$X1�H�l$X耚��H�D$ H��$pH�L$�pL�x��~gL�t$ D�,$����I��A;^}CM�'E�oL��D��葋�����u�D��L���q���H����H��H�ǃ�I�����A;^|�D�,$H�|$X�dH��^&H�\$XH�(H��t$@H��H�����H�mH��u�H�|$X�,L�=я&D�l$LL�|$�H�ɓ&M��H�D$(I��H��M�}M����L�,$M��@I�H�����^�����Lc�E1�J�,�H�l$X�f.�H�T$XI��H��H��thH�u I��Ï��H�U��u�M���bI�$H�l$XL�mL�l$X1�J��L�-�&H�T$X�@H�|$�N����D$TD��A������M�?M���L���M��L�,$I��H�ږ&I9�����L;d$�&�$M��M��L�d$@I�~H�����n�����Lc�1�N�,�L�l$X�H�T$XL��I��M��tHI�u I�~�ێ��I�U��u�H��tfH�UL�l$XM�}L�|$XE1�J���$L�='�&H�T$X�M�6L;t$�r���L�d$�$L�d$���=���D�l$LH�l$(M���hfDJ���f�1��^���f�J������1��.���f�D�,$�D$TD��1�A�E1�A���(���f�D�l$LH�l$(L�d$XM��tI�$H��tH�D$XH�H��u�D�,$L�5IVI��L�%dVH�GMH�l$ �I��H�E�&I9�t�M�}M��t�H�=�&��H�D$XL�8I�Ef�M�G I�OH�޿H�UH��UM�OM��LD�H��ID�H��ID�1��%���I�W H��UA���M���H�5�L�H��HD�1���L�|$XM�?M��u��@���L�=y�&�c���@1�1�觐�������H�Z&A�H�t$L� �'|��I��H�5LH��M��1�苍�����fD�;1�H�=�KE1��Z���H�+[&�H��$xdH3%(L���ZH�Ĉ[]A\A]A^A_ÐH�,$H�l$���H��H��蠞���D$T��t��u�H�,$���MH�|$��H���u����D$T����H�|$L������H����fDH����H�E��H��H�H��u��U,�D$T������D��E,A�����H�|$L���H��u��T$T1�H�=�KE1��Q���H�"Z&����H�|$L���K��H���r����T$T1�H�=�TE1��
���H��Y&����A����L������H��[&�M�&H�
H�H��Z&H�L$0H�
H�H�[&H�L$8H�
H�H�L$@�����L�d$��H��L��� ����D$T�����u�D��A�A�����H�|$L��路��H��������T$T1�H�=�SE1��9���H�
Y&������H�|$L���s
H���Z����T$T1�H�=eJE1����H��X&����H�
)Z&H�|$�RL���'��H�������T$T1�H�=�IE1�詓��H�zX&��J����H�|$��H�������D$T��\�#H�|$��H������D$T����H�|$L��蕵��H��������T$T1�H�=�IE1��'���H��W&�����DH�
9Y&H�|$�QL���W��H���>����T$T1�H�=�RE1��ْ��H��W&��z����H�|$L���ú��H��������T$T1�H�=�QE1�蕒��H�fW&��6���H�
�X&H�|$�QL������H��������T$T1�H�=�QE1��I���H�W&�������H��H�=�QE1�����H��V&����f.�H��I��H��X����T$T1�H�=�P���H��V&D����D$TA���
�H�U&L��H�0蒅��L���ʋ��L�d$��&�
���1�H��H�=LE1�膑��H�WV&��'�����H��H�=�NE1��`���H�1V&�������H��H�=ME1��:���H�V&������:1�H�=QPE1�����H��U&�����T$T1�H�=GE1����H��U&�����$}��A������ff.�AWAVAUATUSH��H��芊��L�%[�&M��u�	f�M�d$ M����I�<$H��覆���Ņ�u�A�|$���H��S&I�|$H�5�RD�-��&L�8H��S&D�0��~��H��H����H�ǽ�/c��H�
pS&I�D$H��A�D$H�H�eS&�A�D$�`�&��H��H�D$�q��H����w��H�#S&H�T$D�-3�&L�8H�S&D�0H��uH�~T&�(���E��	�1�H����[]A\A]A^A_�D���I�|$��h����DAWAVAUATUSH��H�$H��(dH�%(H��$1�H���=��&I�����I��H��tqL�d$��H��L��袗��A�ǃ�����L��H�=eL���A��t(H��$E��tf��H��H���`�����t��u�L��L��H��詵��I��H��$dH3%(L����H��([]A\A]A^A_�f.���L��H������A�ǃ�߃�tA��'uo��L��H���ߖ��A�ǃ�#u7H��$�H��H��迖��A�ǃ�$tW��H��H�=�H���������D��L��H�=K�������f�D��L��H�=�I�΍�����f�1��複��������L��H���<���A�ǃ�2��A��S�W��L��H�������D$����A�ǃ���A��Y���L��H�����A�ǃ�t$�_��L��H���ȕ��A�ǃ�"���L��H��謕��A�ǃ����t$L�������u��L��H�=�L�܌���f.��k���A�ǃ��^�t$L���C��������L��H���;���A�ǃ��/A��V�
A��T��A��#�q�����L��H������A�ǃ�$����L��H�����A��A�G����%��L��H��A��Z�P���軔��A�ǃ����t$L�����������L��H��苔��A���h����L��H�=�K�̋���������L��H���P���A�Ǎ@�1wH�@H��r�D��L��H�=�K胋�����fDL��H���}���A�����DL��H���e���A�����D�L��H�=BK�4����4���D��L��H�=�J�����3���H��谍��I�Ep�[�����H��H��藓��A�ǃ�$����H��H�=�E�ڊ������L��H�=�E�Ċ�������=-�&H��$��<p��L��H���р��������L������������L��蝄����L��H�߉D$�	���A�������L��H�=lJ�P����f���H�������L��H��I�Ex�ϒ��A�����D��L��H�=J�����+���A��S�������������������L��H�=|D�������,v����L��H�=E�ˉ������L��H�=�I貉������ff.�f�AWAVAUATUSH��H�$H��dH�%(H��$�1�H���=�~&I����y��I��H����L�l$��H��L���ޑ��A�ǃ�U����L��H���‘��A�ǃ�$����L��H�=�?����A��t(H��$�E��u���t�H��H���|�����u�L��L��H���ɯ��I��H��$�dH3%(L���.H�Ĩ[]A\A]A^A_�f.���L��H�=�H�����u���f.���L��H������A�ǃ��t��L��H�������A�ǃ�߃�����L��H���Ð��A�ǃ�#�MH��$���H��H��蟐��A�ǃ�$�V1���ׁ��������L��H���o���A�ǃ�2��A��L����L��H���I���A�ǃ��fL������������L��衁����L��H�߉D$�
���A�ǃ�M�a��L��H����A�ǃ�t%�@��L��H���Џ��A�ǃ�"����L��H��贏��A�ǃ����t$L����m��H��u��L��H�=�G���롐��L��H�=OD�φ������D��L��H�=�C踆�������L��H�=w=袆�����D��H��H�=^A苆�������tO�@A��V��A����A��W��A��&�IA��#u���H��H���ڎ��A�ǃ�$u���L��H���Ž��A�ǃ�N�S�����L��H��覎���D$���K�t$L����l��H������L��H���t���A�ǃ��P���L��H���ͥ��A���=�����L��H���E����P�A�ǃ�>wTH�@@H��sD��L��H������A������L��H���w���A�����L��H�=#F�K����b���D��L��H�='F�4����*�����L��H�=�E��������H��豇��I�D$p�(�����L��H��藍��A�ǃ�����L��H���{�����t&��t(��u�1�L��H�=�E輄�������D$뾃l$u���L��H���2���A���:�����L��H������A�ǃ�t"��D��L��H�����A�ǃ�"u\��L��H�����A�ǃ�tЉ�L��H�=%E�'���������H��H��貌��A�ǃ�$t7��H��H�=�>������������L��H���{���A���y���H���k����$L��H��I�D$x�V���A�������L��H�=�CA��蚃�����D��L��H�=�>胃���y�����o����L��H�="D�h����^�����L��H�=hD�R����H�����L��H�=�@�<����2�����L��H�=C�&�������A���@���D��L��H�=>@���������L��H�=iC�������L��H�=?C�ւ��������H���ATU��SH��D�C4E��aH�3L�cH��t5�������S4��uH�;t(�H�����L��M��u�[]A\���C4��u�H���1t��H��詆�����H�K8A�@�1�H�|�H��fD�9�t	���H��H��H9�u�D9��f����s4��t0���V���H�{8L�c0I9��E�����C0�p��L�c8�2���H�C8L�c0�����H�{8I9�u�����@�ff.�@��USH��H�Ww&H��tRH���DH�[ H��t?H�;H���w����u�{���tH��E&H�0��i���C�����H��[]�fDH��1�[]�ff.�@���gc�����AWAVAUATL�%
J&USH��H��&L9�tJH��u�C@L9�t:H�k H�{H�-�&H��t�o��H�;�o��H�{�o��H��H���vo��H��u�L�5bv&M����L�-v&L�%E&�:�I�4$A�~�i��I�^ I�>H�-v&�0o��I�~�'o��L��I���o��H��toM�~M��t�A�V��t,1�@��H��L�H�;H��t��n��H���A9nw�A�FM9�t
L����n���p���f�A)E�b���L�%kD&I�4$������jh��L�%�F&I�\$I��$fD�C�t6H���1r��H�{�r��H�{��_n��H�{�H��t�Qn��H�{H��t�Cn��H��0H9�u��L��1��+Y��H�$}&1�� H��H�y&H��t&�H�H�׹�H�k0�H�H��t&��H���H�H�;H��t��m��H�H��H9�u�H�=lt&�jt&�dt&H��}&H��t�m��H�8t&H��[]A\A]A^A_Ð���W������AWI��H�5�@AVI��AUATI��USH��dH�%(H��$1��m��H����H��H��A&I�庀L��H���H��A&L� �݆���Ń�uNH��$���H�������:t\H���4f��H��$dH3%(��uzH��[]A\A]A^A_�DH�߽�e����f�L���3W��뭐L��L���q��M��tM��L��H��>L���1��$z��H��1��e���q�����i����AWAVAUATI��USH��dH�%(H��$�1�H��@&H�H�$��m��H��t H��$�H�ƿI���e�����=L���u��H��H���UL��E1��^e��I��H��$@H�D$fDH���v��I��H����I�_H���R����~�A�O��#tҀ�.t̓�H�A�D<~t�<#t�H���1�M��SL�|$�,L��=�,L����X��Ƅ${L��XZ�u��H����H���x��H���
v��I��H���j���fDH��?&H�4$H��H�0��w��M��tL���5d��H��$�dH3%(D���tH�ĸ[]A\A]A^A_�f�H�T$ L���>d��A�Ņ������H��$H9D$x�����H�5�=L���1j��H��H���x���H��$@H�¾,H��L��$p��u��H�D$H�D$H�D$H�$�W�|$ ���|$
��H��M��L��<1�S�,��,L��A���nW��Ƅ$�L��Y^L����n��L�L$H�$1�I��L��H�5I<H���9�����t�H���b�������H�|$L��H���u����A������A��������E��H�
�;L��1�H�5�1��q�����f��f���ATH�5�<UH��SH��dH�%(H��$�1���h��H��H����H��=&I�亀H��L���H�y=&H�(蹂����uLH���,b��H��L����m��L���t��H�r>&H�H��$�dH3%(H��uCH�Đ[]A\�DH��H�5(;�1���p��H��1���a���fDH���S�����e�����SH�<o&H��u�-DH�[ H��t�{�u�H�;�at��H�[ H��u���{D��H�$<&�8tH��=&H��w&H�H���[�DH�=�w&���g��H�
g@&1�H�>0�H�=�w&H��w&�2k����y�H�5g0�1���o���f���������_��f���H��t'SH��H���r�����tH�߉�[�k_��1�[�@1��ff.�f���H�n&H��t;xu�f�9xt	H�@ H��u������~h&� f��h&�m�����t+�����@�����w�kH��s�
�fD���ff.�UH��SH��H���?�]R��H��t H�@0H��t?H�;��H�H��[]�@�UH�5�D�1��n��H�H��[]�@�UH�5fD�1��zn��H�H��[]�ff.��H���?SH��H�@H��t
�e��H�C@H�{0H��t
��e��H�C0H�{xH��t
��e��H�CxH���H��t�e��Hǃ�H���H��t�e��Hǃ�H���H��t�xe��Hǃ�H���H��t�\e��Hǃ�H���H��t�@e��Hǃ�H��PH��t�$e��HǃPH���H��t�e��Hǃ�H���H��t��d��Hǃ�H��1�1��_��H��[��d��@����H��1���p����t=�w!��H��������H���fD������H�H��Ð����`�������H�fSHc�H�>��@H�XK�H�TK��H�XK��H�DK��H�,K��H�1K��H�(K��H�K��H��A��L�K1����H�=�~&�5Q��H��~&H���f���SH���&��H��HD�1�H���&�n��H�ځ������H��HD�H��t[�D�[H�g�&�ff.���SH�D�&��H��HD�1�H�)�&�$n��H�ځ������H��HD�H��t[�D�[H��&�ff.���SH��&��H��HD�1�H��&�m��H�ځ������H��HD�H��t[�D�[H�w&�ff.���SH�T&��H��HD�1�H�9&�Dm��H�ځ������H��HD�H��t[�D�[H��~&�ff.���H��t'H��H����H�=~&�OM����}&H����ff.�@AVI���AUI��1�ATI��UH��S�l�����HM���?I�UX�H���21�A��Hcr�JH��I9�|Hc�I9��9ȉ�H�AE��H��u�A�$���H��Hc�� H��H�|��e��I��H����I��H�
4HL��1�H������L����M���H����������!�%����t��I�mX�����D�H�SHDډ�@�H��H��twL�-�G�1H�
�GH�����H��1���cM��H���{G��H�mH�H��t=D�ED�ME9�u�L��H�����H��1���)M������[]A\A]A^��C�}L���C��Re��L���_��1���1���f���H���������H��&��H�L��M�����
|&��u#�
L��H�=�p&�GK��H��p&H���H��H��{&��
PL���
1�H�=�p&�L��XZ��z&��{&H��p&H���f�A���
�1�L��F�
H�=^p&�L���Qz&H��H�Gp&�fD��u��
B{&L�
8���,����J���f���H�M7&SH���8�:`��H�ڿ[H��H�5�l1��g����ATUH��SH��H��
dH�%(H��$
1�H��t�Gh�H��t�El�H��t8D�Ml�$A���sQI��E���M�}h����L��Ƅ$�	�r��H�H��$
dH3%(�EH��
[]A\�@A�ً
Sz&H��&I��Mc�N�ȅ���H���L��
H�6z&L�:�
P1��RK���}hƄ$
��y&XZ���Y�����A��L��I��H��H��LDȋH����������!ʁ ��t�о
L��
H��������€�D�H�GHD���кH��1�L)�H)�L��J��������
L��L���H������
�L��1�L�rD�
�xJ��Ƅ$�	����fZ��fD��H��tH�H��t�im��f��ff.�@��UH��1�S��H��1�H��dH�%(H�D$1�H���"m��H�$��H��H�5Kj1��d��H�<$H��t�M\��H�D$dH3%(uH��[]��Y�����H��H����<<��ff.�����E������=���SH�� dH�%(H�D$1��x&H�y&��f���/b��1�H����h��H�|$3<$�i���8��H���7���H��H�5CHD�H��H�=�iHD�H��x&H��x&�'a��H�5�BH�=�B�a��H��BH�5�BH�=_i�I��H��BH�5�BH�=Ei�I��H��BH�5�BH�=+i�fI��H��BH�5CH�=i�LI��H��BH�5�BH�=�h�2I��H�sBH�5{BH�=�h�I��H�oBH�5oBH�=�h�H��H�`BH�5CBH�=#B��H��H�FBH�50BH�=	B��H��H�,BH�5�AH�=�A�H��H�BH�5`BH�=�A�H��H��AH�5�AH�=�A�|H��H��AH�5�AH�=�A�bH��H��AH�5�AH�=�A�HH��1����7?��1����&?��1�1���g��1����g��H�D$dH3%(uH�� [��W��ff.�����=�u&SH��u�z���H�{H��1�Hǃ�H��H)�������H�H�����Hǃ��H�C�CH�����=��H�KH�H���[�f����2v&Ð��SH���#a��1�1Ҿ�O��H��[�<;��ff.������u&��uÐH���1���V��H����g����u&H���f���H��tH��0&H�H�H�8�fD��H����AUATUSH��H�oH��thH�����I���C��H�}I��t-M��tXI�D$`H��tNL��H��Ѕ���H��[��]A\A]��Eu�H��tH�@XH��tL��H��Ѕ�t�H��1�[]A\A]�H���[]A\A]��1��ff.�f���1�H��tuH���tsUSH��H���WxH��H��tXH��P H��u�:f.��U8H��t(H��H�PH�0���H��t�U�������H��U1�H��[]Ðø���������f���ATU1�S�F0 t��[]A\�f�I��H���H���_���Ņ�uPH�CpH��t
H���H��H��tOH�CHI9�$�vI��$�H�CHI;�$�sI��$��K0 ��[]A\�A�D$l��A�D$h[]A\�A�D$l����������3��I�|$0�A�D$h�[���J���f.����w<�����AWAVI�ιAUI��ATI��UL��SH��H��0L�:dH�%(H�D$ 1�Ic@PA�H�D$jL�L$ �@��ZY��u&1�H�L$dH3%(�H��([]A\A]A^A_ÐL�L$�u�}TL����H��H��L��jA��L���3��AZA[��t���9���L��L��I���H�A�H9�HB�H��H��H�D$jL�L$�X@��AXAY���V���H��L��L��A�jL�M�H���)@��^_���)���L�A�0H��L��L��M)��U��������H���H��I��jA�L��L����?��ZY�����:R��f.���AWAVM��A�AUI��ATI��UH��SH��H��L�:���L�����2��^_��uH��1�[]A\A]A^A_��H�����H��L��L����A�L���V2��ZY��t�LuH��H��L��M��[L��]M)�A\A�0A]�A^A_�T��ff.�@��AWAVAUI��ATI��UH��SH���H�L$dH�%(H��$�1�H�H�D$I��H���H���S�x��I�D$�1�!fD�Ӄ�Lc�J�D� H�H��t,�x�t&��y�1�0�D$Lc�J�D� H�H��u�L�|$ M���DI��A��2tfK��H���L��L��L�@�p(L�H�p �PRH���8\��H�� ��u�1�H��$�dH3<%(�H���[]A\A]A^A_�DD�\$E��tf����E1��f�I��D9��SK��H���L��L��L�@�p(L�H�p �PRH���[��H�� ��u��h����L�ML+L$�H��L��A�0L����R��H�\$�{��cH��L�K8�H��jA�L��L���<��AYAZ�������H��A�L��H��jL�K0�L����<��_AX������H���L��H��jL�KA�L���<��Y^�������H��$�dH3%(��H�D$L�MH��L��L+L$L��D�@H���[]A\A]A^A_��Q��@�C�H�H�L� H�D$H���H9�����H������1��1�!��Ӄ�Lc�J�D� H�H��t'H9�t"��y�1�t$�0Lc�J�D� H�H��uىt$���H��$��H��H��A�CL��jH�\$ �L��L�K@�.��A_Z�������H��A�H��L��jL����L���`;��A[A^���d���H��A�H��L��jL����L���.;��AYAZ���2���VA�@L��jL���H��L���.��_AX������P�H��A����L���L��L���B��ZY���1��������)M��f���AWI��AVM��AUM��ATUH��SH��H��H�L$L��$0dH�%(H��$�1�H�H�D$8H�D$@3H�D$HH��H�D$M��u�<@L��H���md������H�I�H)�L9�r�L�L��H�I�?H)�L��H}�A��L�L��L+D$H��L��H����1������H�|$@L�3�S��H�D$8H����H�L$H�T$HH�t$@M��H�|$8�E�����ZH�D$8H�}H�t$HL�d$@H�D$I�H�|$ A�}PH�t$H�D$(�:��A�UPH���tH�x8�1�T$lI���H�|$PA�MXL+d$�D$h�H�T$pI����L$PH�L$HH�T$xI���H�L$`H�L$H��$�I��Ld$L��$�H��$�A�UTL�d$X��$�H�T$(H��$�L)�HT$ L��$�H��$�I��H��$�H��$�H��$�L��$��P8H�|$8H��t
�D$�OM���D$H��$�dH3%(��H��[]A\A]A^A_�H�|$8H��t�M��������f�H�5�+�1��=U��������fDL��H���,�������H�5Q+�1��U��������I����6J��fD��H����H���H����H�JH��������H��
��H�BH�
c6&H�T6&H3HH3H	�upH�
Y6&H�J6&H3HH3PH	�uUH�
N6&H�?6&H3H(H3P H	�u:H�
C6&H�46&H3H8H3P0H	�uH�@@H��H�������)�f��������f�SH�ZH�=d6&�HH���'3����u#H�SH����H��H��w
H��?��[�@�HH��H�=�5&��2���¸�����u�H�SHH��H��w�H��?[������AWL�3�0AVAUATI��UH��SH��H��dH�%(H��$�1��GL�l$H�L�t$(L��H��L��H�D$(��,��H���?H��M��$�H��H��H)�H)I��$�L���\,��H��H���L�|$0L�D$ L��H��H�D$ L��H���,,��H��H���H�L$ H����H�=���F^��IDŽ$�I��$�H����H�L��L��H��H�D$(�B��H�����D$A�D$H��$�dH34%(H����H��[]A\A]A^A_�@H��H�L$��N��H�L$L��I��$�H��H���<��H�L$I��$��m���fDH�=�(��N��1��}���DH�=�(��N���g����H�=�(��N���O����F��f.���H����SH��H�H�C0H9�tH��t
�8I��H�CH�{ H��0H9�tH��t
�I��H�C H��XH��tH��`H��t��HǃX[����H��HǃX[�fD����SH���c@��H��[�H��f.���H��tSfDH��xP��H��H��u�[�fD����AW1�AVAUATI��H��USH��H��HH�t$H��dH�%(H�D$81�H�A�T$H�D$0��'��H�D$H���*A�|$���H�|$I�L$�H��A��.M��H����I�L$0�H��H��A��
M��H����I�L$8�H��H��A���L��H�D$H����H�|$1ɺ0H���$'��H�D$ H��H����M��$�M���
A�O�����E1��)�I�?H�����OH��M�������I��H��L�3M�O I�WM�G(I�wSH����J��ZYH��u�M���A�D$J��L�3L��I��M��I�H��@H�H��u�L�D$(�'��L�D$(L��H+L$ H�\$0H�|$�0L�D$ H���5&��L�D$ H�|$H��A�T$L��H+L$L�D$�&��L�D$�|f�I��$�M��$��H��H�|$�^I��H��tII��$�A�H��H�Ǻ@�K:��H��t&I��$�A�H��H�Ǻ�8K��H��u3E1�H�\$8dH3%(L����H��H[]A\A]A^A_��I��$�A�H��H�Ǻ��J��H��t�I�L$@�CH��H��A��BJ��H�D$H�������f�H��I��H+L$ ���I���z���L�D$ 1������B�����AWI�׺0AVAUATUH��1�SH��H��H���H�|$L��L�D$L�L$dH�%(H��$�1��$��H���hA�H��H��H�ǺI���	J��I��H���@1ɺ0H��H���K$��H���%H�KA�H��H�ǺH�D$0��I��I��H������(��H�t$A�L��H�H���H�t$XH�t$(H��H��H9�HBºH�D$X�uI��I��H����L�d$P�s�{TL���6��L��H��A�L���-8��H���wHcSPH�|$`A�H��H��H�|$8H��H�T$`��I��H��H���?H+L$0�0H��L��H�D$ �B#��H���H�L$ �0H��L��L)��!#��H����H�E1ɺ0L��L��$H�D$P�L��H�D$H��"��I��H����H���L���L��H�Ǻ�R7��H����H���L���L��H�Ǻ�+7��H���uH�t$H�D$XH����H�T$H���5��H�L$HL$XH�L$XL)�0L��L��H�D$P��G"��H���!H�E��{PL�d$XH�D$X�P.���SPH���LH�x@��H�|$ �KX�T$|M)�H���H�t$L�|$h�L$`H��H��$�H���L)�H��$�H�|$(H��$�H���H��$�H�|$8H��$�H��H�L$pH��$��ST�D$x���$�H��L��$�H��$�H�T$HL��$�H��$�H��$�H��$�H��$��P@�H�5	!�1���I�������H��$�dH3%(uWH���[]A\A]A^A_�L��H��H���2��H��H�D$XH���n�����H�5��1��eI���������>��f���AWAVI��AUI��ATI��UH��SL��H��8L�:dH�%(H�D$(1�I�H����H����H����I�EhH�CH����̀H�CHH�H�����K��`�������H�5�/Hc�H�>��fDH���H�{0�uH�C0H�{8�uH�C8H�EH�D$ H���nH���uz���trI���H���H����H��t��?��Hǃ�I���H���D��H���H����I���I�uxH��H��H�L$�M��H�L$H����CI���H��L��H��L���/�����_H�����H��L��L���A��L�����^_���+H�H���L��A�H��L��H�D$ jL�L$(�7*��ZY����M�$A�0L��H��L��M)��?������1�H�|$(dH3<%(��H��8[]A\A]A^A_�I�>1ɺ0H���N��I��H����H�H�L$�H��A�L��H�D$�C��H���^H���L���H��H�Ǻ�2��H���7H��H��H���/��I��H���H�;wH��I�>H�t$ �0L)����M+&1�L�e�&���f�1��+�$I����u@H�H���-���1��,�I����u#H�H������1��-��H��������f�A�El�����fD1���H���������H�CH���H���2H���H�C��H�cH����H�EH�D$ �%���H���H�{8�H�{0��A�El����������7f�H���f����=��Hǃ�I����J���A�El�����H�L&����������I�Eh�C��`�����w¸H�������R� t�H�{8�UH�{0�T���H���uI���H����H���u9I���H����H���H��tH���H���H����%��H����j�{P�� H��uH����hD�STE��uA��������CT�CI���H��E1�I��L��jL��H��L���$��AXAY�����A�El������������H�L$�R@���L$H��H����Efo�(&fo
�(&Hǃ�	fo�(&fo)&H�)&HP X0H�P@���@H�{0�t9H�{8������H�C8�|����I�E1�E1�H��H��L���)���2���@H�C0�fDI���H���H����6$������I���H���H����$���&����A���tI�����I���H�����3N��H���H���eI���H���H���A�El����������C���fDA�El���1���H�5"�1��IB��A�El��������������A����CP�������1��
��7��H�=�!H����!�����N‰CP���I���H�����kM��H���H����I���H����^���H�=���<M��H�=��H����)M��I����U���A�El����������P���A�El����������>���A�El��������,���A�El����������6��A�El���������A�El��������A�El��������ff.����AUH��M��H��ATH��M��USH��H��dH�%(H�L$1�H�l$@H�$H��tnL�H0M��t=H��I��L��A��H�I�UH�$H�UH�\$dH3%(��H��[]A\A]�H�x(t!H�H��I�UI�H�UH��P(���FI�u2H��H��I��H��L���F+��I�$H�$H)�HI�UH�M�fDH�I��H��H��H��H��I�EI�$H�E�+���V����+5��ff.���AWAVAUATUSH��XdH�%(H�D$H1�H�D$(H�D$0H�D$8H�D$@H���aL�gH�oA��I��H�_M����H������;H���2I��H���\H�}`H��t
�6��H�E`I�D$hI�I�$H�����H���t	H9��H����H����H����A�FI�VH=��5�!=��$|-������I�>I�VH�I�~`�*H�D$8����';��H�D$(H���|H�L$0H�t$81�H�L$H�L$(L�l$@H�t$H�L$�3f�I�F`H�T$@H9�s|E���I�NH�H�D$8���H�D$(H�D$0H��L��L��H�D$HH��AUL�L$ L�D$(H�L$���ZY�����t�I����(��I�F`H�T$@H9�r�A�|$l�H�L$8����t	�������I�>I�VH���A�FI���I��$�����A�D$����L��L���P4����������H����oH��I�H���9���1��+�@����u>I�H���&���1��,�?����u!I�H������1��-��?���������A�D$l�������Cf�A�|$l�H�L$8H�T$@������H�D$(H�MhH�UxH�E`H�D$0H�Ep1�H�t$HdH34%(��H��X[]A\A]A^A_����H�I�F`H�SHH9�vI�V`H��I��$�H9������I�V`���A�D$l����H�|$(H��t��3����������fDI����4&��������A�D$l��������T���A�D$l���������A���A�D$l����1����1��f�AUATUSH��HH�oL�gdH�%(H�D$81�L�oH�$H�D$H��H�D$��M��H�D$����+M���"�H����7��H�$H����C(H�D$��.��H�S`H��H��H�CH��L��H�BH�D$ H�S`PL�L$L�D$ ����ZY����H�C`�T$L��H�t$H�HhL�@p��*��H�<$A��H��t�2��H�$H�D$E����H�|$ �!��H�L$(H�t$ H��4�ׂ�CH�K@HK0H��H�s8H��H��H��?H��H)�H�CH�Hi�@BH�sHH)�H�KPH��tH�K`L�C H��H�Q��1�H�t$8dH34%(udH��H[]A\A]�H�<$H��t��1����������El��j���8�}h����H���6��H�CH��t�H�K`L�C H��H�Q�и������
/��ff.�f���H����SH���P�'��H��tH�@H��tH���H������H���H��t�'1��Hǃ�H���H��t�1��Hǃ�H���H��t��0��Hǃ�H���H��t��0��Hǃ�H���H��t�0��Hǃ�H���H��t�0��Hǃ�H�{hH��t�0��H��[�y0��f��ff.�@��H���+AUATUH��SH��H�GH��t������H��tH�@H��tH�}��L�mH�EM��tlI�}HH��t
�/��I�EHI�]H��tEfDH�CL�#H�{`H��tH�WH��H�u�L�C ��H�{`�YE��H��L���/��M��u�L���/��H�]H�EH��tH��ShH���?��L�eH�EM��t"I�|$ H��t�H�_(�G��H��H��u�L���7��H���?/��H���[]A\A]��1��D��AWM��AVAUATUH��SH��H��8�=FK&H�T$H�L$L�D$u���H����H����H������H������H��H���	.������H���H��tH��H��Ѕ��hH�Ch� ����I��I��H���'H�@������H������I�E�3��I��I�EH����H�S0�=H��H���H�H�@@H�@0H�@xHǀ�Hǀ�Hǀ�Hǀ�Hǀ�HǀPH��t*H��H�T$ ����H�T$ H��H���+��I�F0H���FH���H���v1���+��H���H��H�D$(�t��H��I���H�D$ � 2��H����H�T$ H�t$(H���:��H��f�A���I�Nx���5H���H���-H���H����H���H���
�@��I���H���`H���I���H���H���Z�@��I���H���-A�~���I�~����: ��L��1�I�Fp�#��A����+��H��H��t8H�@H��tH�T$ L��H���H�T$ ����H�H��t
L���Ѕ���A�����uAdž�I�EH�L$I�mH�\$H�T$pH�HI�EH�L$H�XI�EH�H I�EL�x(I�EH�P0H�T$xI�EH�P8H��$�I�EH�P@I�uH�EHH9��vH���I�uH�EHH9��vH���I�uH�>�zH�f�����NH�=���4?��H��H���(����L�������Cl�������H��&�H��UhH���E;��E1�H��8L��[]A\A]A^A_�H��H�T$ ��/��H�T$ H��t�H�sxH���M8��H�����DH��H�L$ �/��H�L$ H���u���H���H��H��H�L$ H�t$(�	8��H���H�L$ I���H��uQH��H�L$ �T/��H�L$ H���&���H�t$(H��H��H�L$ �7��H�L$ I���I����L���f�H��H�T$ �/��H�T$ H������H���H���v7��I����
���f.�L���)������I�u�m����1����'��H���{H���=��H���BI���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�I������f.�1�1��w'��H�������H���=��H����I���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�I����H���D�1��5��A������1���5�����H�A�F�����1����4����~H�Hi�@BI�F���fDI�F@B���L�������Cl���)����Cl�������������@H�=���<���|���L������
���f���SI��E1�1�H��jjj�T5��H�� H��H��tH�����H�[H��[����SH���t$(�t$(�t$(�5��H�� H��H��tH���b��H�[H��[�f���H��I��E1�1�jjj��4��H��(���ATUSH��H��dH�%(H�D$1��=�C&H�Ghu�[��H�k@H��t/�1��f%��H��H��tH���;��H��H�S@�1�����SHH�s0E1��C���H�
H�=5�k��I��H�{@tH��1�����H����&��M����L��H���&�������Cu81�1�L��H���	#��H����H�L$dH3%(��H��[]A\�A�|$,H�L$A����D$�8����t��Cl����������Ch������H���%�1��H�
4H�=*4���I������D�Cl���Cl�������H�{0��Ch�&+���Cl��\#��ff.����S���H��H��tH���V��H�[H��[�ff.�f���AWI��AVI��AUI��ATM��UL��SH���:��H��H��tAH�@H�T$@H��L�xH�CL�pH�CL�h H�CL�`(H�CH�h0H�CH�P8����H�[H��H��[]A\A]A^A_�ff.�@��H�e�%H�
H��t=H�H9yuH�H��H���f��fDH��H��H��tH�H9xu�H�H���A���1��ff.�f���SH��%H�;H��t@H�H��
��H�;H��u�[�ff.���H���3��1Ҿ1�����8���[���69�������)���G7��������$���H*���c
���7�������7�������J.���E������;���v���'@&�@&H�����AWAVAUATUSH��8H�$dH�%(H�D$(1�H���iL�H��M���!H�oH���L�gM���I��H�upI��H�����UxL��I�MhM�Ep���H�}`A��H��t
�@#��H�E`H�EpH�ExE����I�EHM�e%M���9A�Wl���H���DL���8����f�1�L��������u
H�upH���a���M����A�GlI�U�H1�����H��������L��L�$L��A��L�{@H��%A�Wl�1�H�|$(dH3<%(��H��8[]A\A]A^A_�fDH���%�����1����A�Gl������A�GhM��t-I�UL��L�$L��A��L�{�y���f�H��u1L�{�b���f�H��u!L��D�$$�_7���$���S�����f�A��h��K��H����H�|$H�D$����H�L$I�EH�AI�EL�i`H�AH�$L�qH�A �A(A�EI��Iiu@@BH�q0Ht$H��4�ׂ�CH��foD$H��H��H��?A8H��H)�HT$Hi�@BH)�H�t$foL$IHH�EH��tDH�H�H�EH�H�MD������A�Gl����L�{�O����I�w�k����H�EH�H�MH�M�L��L�$L��A��L�{����������1�1��0����ATI��UH��SH�������H��tH�L�`h�hpH�PxHcSH���[]A\�ff.�f���AWAVAUI��ATUH��SH��hH�t$H�T$H�L$ L�D$D�L$,dH�%(H�D$X1�H����E1�E1��D$(1��@��H����M��M����I�UM�eH��t�z,���t{H�D$;8|���8I�U�z,H�t$��#��I�EH��t�H�H��t��D$(�@}L�xPI��H�H��t�L��H�PHL	�t�H��uH�xPt�L9�u�H�pPL9�}�I����@H����L��M�����M���S���H�l$0H���;��1���)����t�D$,�-�T$(����M��L+D$8L��H+L$0I��@BH=?B~}H����H�D$���tQH�D$ H�L�@H�D$���H�\$XdH3%(�%H��h[]A\A]A^A_�DI�}�������f�H�D$ H9��~��fDH��I��H���|���H�D$E1�1ɋ���s�����f�H�Y�%L�(M������H�l$0H���0
���1���(���Å�ufDH�D$��>����D$,1ۃ��D$(u�E1�E1�H��H�|$@�f)���t$(	�tƅ�����L��H�D$@L	�tI9�t"�����L�|$HI�����L9@��������H�T$HL9������I�������f.���AWM��AVI��AUI���ATI��UH��SH��D�L$H�\$H��dH�%(H��$�1��%��H��H���W��D�L$L��L��M��L��H�����H��H��A���0����x4H���t��D��H��$�dH3%(u+H�ĸ[]A\A]A^A_�@H�5!��1��$�������ff.���E1��T���@��I��H��H��H��1��0��f���E1��D���@��I��H��H��H��1��Y4��f���AWAVAUATUSH��(L�gL�wdH�%(H�D$1�M����M����I��H��1��
��I�H����H�$H�CHH9���uH�D$H9CP����u"H�H����H��H��H�CHH9���t҄�t�H�C`�xP�
��H��tH�@(H��tH�{`��A�D$9C(��H�CH����L�C H�K`L��H�Q��H�H����H�EI9^toH�{`�v0��L�;M��tH��L�������6���H�����H�D$dH3%(unH��([]A\A]A^A_��H��L������u�H�H��t�H�$����I�n�f.�I��s����I�D$XM�D$`H���H����1���������H���%SH�H��t@H���@/��H�H��u�[�fD��L9�SL��HF�H9�HGޅ�~5L�L�
M9�uKD�[�1�I����L�TH��L�M9�u&L9�u�1�I9�t1�H9�����B�[��M9�[����fD��H9�sGD�V���~XL�L�
M9�uD1��L�D�H��L��M9�u.E��A)�E������H9�r1�H9����D�Q������fDM9����ø����Ð��ATI����UH��SH��dH�%(H�D$1�H�$��,��H����H�H���H��H��tP�,��H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H���CT����H�=�&�CP�\(��H���H���L�H�5p&H��Hǃ����H��H��L��H�M����H�$H��t^��uZH���H��t&H�xH��tH�p�H�&�����tL@1�H�L$dH3%(�H��[]A\�f�H�5��1�������fDH�$H����xu�H�x H��t�H�p(H��t��h'��H���H��tH�$H���H�p(H�x �D'��H���H��tvH�$H���H�@(H���H����v���9������0���fDH�5���/��H���w,�������H�5&���������H�5S������������"��f���H9�sOA��F���~yL�L9t�ND��L�L9uEH��H��D�H����E)�Mc�M�H9�r=1�H9����fDA�ʍA����I���A��f�E)ʸMc�M�H�
H9s������I���ff.���H9�HF�Hc�H������f.���H9�HG�Hc����ff.�f����H9�u?1�H��t8H��t.H��t)1��DH��H��H;L�u��)����1��fD��f���H9�w'I��H��H��J���������H�������f.���H��t[H��tVH��tQH��tL1�L�L9uAH9�HG��~4D�F��I���f�H�4�H��H;t�uA��I9�u���D��ø�����fD��AWAVAUATUSH��H����I��H���p�M��M��A��H�T$�"��H��H��trD�pL��L��H���(��uTM��tH�T$L��H�������u;H�UH��u
H�]�@H��H�H��u�H�H��H��[]A\A]A^A_��H������1���@����H�Lj��$��ff.�f���AWI���AVA��AUATI��UL��SH����L$H�<$1�dH�%(H��$�1��D$8����1��D$���H�D$`H�D$hA��H�D$p�=���L��L��H���� ��H��H��tgD�@DE��tA��~x1�E1�H�{xt
E1�E��A��A��=uA��wH�=SD��Hc�H�>��f�A�F�<E�T
H�u��Hc�H�>��A�F�<E�4
H�m��Hc�H�>��L$1���@���y��������A�����D$8���H�-��bf����HA���>�D$8���H�-E��:f.����pA���f�D$8���H�-&��
f.�����A�����D$8���H�-6���f.���tD�������H�t$P�
H���;����}H��$���H�D$P�8��A�L��$��B�H�<$L��L���!���H�|$`�7�����A�����D$8���H�-|��*f.��D$��tA���H�{P����H�D$x���I��H�D$`H���H�D$h�|$t:H�SPH��t11��	@H�t$x�J�ɍAI���9�|
��H�H�D$xH�H��u�H���w$��H�D$H���j	L�l$HH�|$H�5�L���P#��H��H�D$PH���yH�L$`L�|$ L�t$hL�d$(I��I��H�\$�H��H�hHI�H��9l$x�UHc�H�T$x9l$hL��L���������H��$�H�Hc�Hl$`1�H��=H�5<�H�����H)�L���E�"��H��H����1�L��H���+�H�T$PH��$��:�]����|$��H�D$H�XPH��u���H�H����H�{H��������u�HcCH��$��������PA���FA���<�D$8���H�-;�DA����H�
�D��Hc�H�>��f�����A�����D$8���H�-Y��D����H�D$`H����H�T$xH��H��H�D$x��W��H����L�L$xL�D$`�I�����fDH�t$P�
H�����}H��$���H�D$P�8��A�L��$��A���fDH�t$P�
H����}H��$�tHH�D$P�8u>A�L��$��C�^���fDH��$�H��H���������DH���D$8���������D$8H��%�H��$�dH3%(�)H���[]A\A]A^A_�fDH���@���D$@���u�H�=��H�������u�A�L�D$@�@����H�t$P�
H����}H��$��D���H�D$P�8�6���A�L��$��G�V���fD�D$s��t*A��t$A��t�D$8���H�-ź����E1ɀ|$s��E����H�{xH�L$<H�T$XH���c��H���aH����H�D$pH��H�T$8H�
��H��趪�����6H�|$`f�H��������"���y���D�D$8���H�-����@A�I�عF�m���D�����>���fD�|$d�-�|$x�R�|$s�M���H�t$p1��Q���H�\$D1�H�5��H��H���/���������A�I�عx��H��$�H��H����������A�I�عz����f�H��$�1�H�5��H��H���������c���A�I�عy����H��$�H��H������-���A�I�ع{�R���f�E1�E1���@����D$���fDE1�}����
H�t$PH���!��H�T$PH��$��:tHE����L�kPM��u��M�mM����I�uH�������u�IcEH��$�H�T$8H��H��H��蔨��������A�L��$�����@�D$8���H�-������@A��0���DL�
ط�H��$�H���1�UH��L������3���Ƅ$�H���D$H���XZ�������@L�
����L�
����L�
����L�
���t���@L�
v��d���@L�
W��T���@L�
���D���@L�
:��4���@L�
w��$���@L�
b�����@L�
H�����@L�
����@L�
����@L�
������@L�
$�����@���D$8����)���H�D$`H������H��E�ƺ1�H�
����L���H�|$`�
�����DH��$�H�
��� 1��H������I���=���DL�L$pI���v���fDL�|$ L�d$(H�|$����L�L$xL�D$`��H����H�1�%H�|$`��D$8�y���f�H�T$pH�t$hI��H�|$`�D����t0H�l$`H�t$p�����H�T$pH�t$hI��H�|$`�4����u�H���D$8������H�|$`����L�|$ L�d$(�D$8����9���L�����H�D$`�Q���Hct$<H�T$8H�
��H���`�����urH�|$XH��t����H�|$`H�|$X���fDH���D$8������H�|$`�~���fDH���D$8�������H�|$`H��t���H�|$�������LcL$<L�D$XL��L��H�<$����k�������f���H���%H�H��tH;xu
�#DH9xtH�H��u�H���%�����1����ATI��UH��SH���Z��L��H��H��H��[]A\�5��D��1�1������H��tH�G�f�1��ff.�f���H��%H�H��tH9�u
�fDH9�tH�H��u��Ð��H���%ATUSH�H��t-I��fDH�kH���H��tL�������tH�H��u�H��[]A\�@H��H��[]A\�D��H��tH�G�f�1��ff.�f���H��tH�w�f���H��tGH��tBUH��SH��H��H���	��H��H��tH��H��H�����H��H��H��[]�fD1�H���f.���1���8v�@H��&Hc��������ff.����AWAVI��H��AUATUSH��H��H��XdH�%(H��$H1�H�T$'���H���Y�|$'I������T$'I�FH��`�����A�VI�FH�����H��H��@����K���8���~L�l$@H�l$&H��L��M���L��H��Idž�����I��H����I���L�$�L���O��I���H����L��L��H���1���L�D$8H��H��I���L��H�D$8���H��tiI���H��H��H��A����H��tII���H��H��H��A���H��t)I�N@A�H��H��H�����H����������H��$HdH3%(��H��X[]A\A]A^A_�f���I�FHH�l$&I�NH��L��A�H���<�H��t�I�N0A�H��H��H����H��t�I�N8A�H��H��H����H���i���H��L���H��H�ǹ0���H��H����H�D$(L�t$E1�H�D$H�D$@H�$H�D$0H�D$fD������p��o�I��H���SH��L�p(L�`H��H�@�H�PL��M��SL�L$H�t$���ZYH��H����I�WH�4$L����������H�D$0���A�W�����H�5J���Hc�H�>��M��L�4$H�t$L��I�G(�H�|$(L�����H����I�G(L�$�M�g(L������I�G H���aL��L��H����M��tM�}M������H�D$L�����f.�I��0I�G(H�t$A�I�O H�|$(L���
��H��u���I��0I�G(H�t$A�I�O H�|$(L�����H���d�����I��0I�G(H�t$A�I�O H�|$(L���-�H���$����r�I��0I�G(H�t$A�I�O H�|$(L�����H������2�I��0I�G(H�t$A�I�O H�|$(L���M��H����������I�(��I��0I�O H�t$H�|$(M��L�����H���d�����I�(H��'v����H��I�G H��u���I�(����I�G H��tqH�t$H�|$(M��H��L���F��H��������NI��0I�G(H�t$A�I�O H�|$(L���m�H�������f�H�5��1�����1����L���^�����f�1��������������1����H�5r��1��~����D
��������_������D��AWAVAUATUH��SH��H��H��H�t$L�|$GH��H�L$8�0L�$L�-�dH�%(H��$�1�H�L��H�D$h�H�D$���H����H�L$HL��H��H��A��R��H����H�T$HH�t$x�0H��L��H�D$pH�H�UH�T$xL���'��H����H��H+T$pH)UH��H�KA�L��H������H���y�|$G�nH�SH�������H�K`A�L��H��H�����H���d�|$G�YH�S`H�����H�������H�4$H���H9��'L�D$`L��H��H��H��$H�D$`����H�����|$G�wH�|$`�kH�SHA�H��H��D��$H��H��H��A��HE�H�L$PH�SHL������H�D$H�����|$G��H�|$PH�G�H=�������I��H���0H�D$PH�D$ �CPD���<��A�A���LD�CT� �D�D$,�D��@�Hǃ� H���I��� ���Hǃ�@H���I����HǃH��I��H�����M������3M���*D�D$,H�T$hA��uH;T$�_L��$�1���L�L$0L��D�D$,���I�~HL�|$p�vL�L$0D�D$,E1��CXL��$�L�l$hH��$�D��$��$�H�C`D��$�H��$�H�D$L��$�H��$��D$ L��$���$�H�D$H��$�H��$�H�D$H��$�H���H��$�H��H��$�H�D$pH��$�H�D$XH��$�H��H��$�H�$H��$�A�VHA�ą���H�t$pH��t#L��H���u���H�D$pH��tL��H��H����M��tL�����H��$�dH34%(D���H�Ĩ[]A\A]A^A_�@H�K`�����E1�A��A��A�����@H�D$hH�t$pH��H��H�E����H����H�t$8H����H�H�UH��H��H�T$`H����A��H�D$`H�EE���<���H�T$PH�5-��1��!��H�=�����������M��tL�����A�������H�t$�L�L$0�<�H�t$I�~HI��H�D$pD�D$,H�t$hL�L$0�����H��tH���X���H�T$ H�5l��1�A�����������DH��H��H���"�A���(���f.�H�=��A����N��������O����H�=��A����&���������'���H�5h��1�����A�����������H�=Q�A����������������H�==�A��������t������H��H��L����LH�H�
'7H���A���HH�H�5g�1��X��������Y���f�A�����E���H�5^�����H�=o���������H�=��A����������������H�T$PH�5���1�A�������1��������H�T$PH�5���������f�AWAVAUI��ATI��UH��SH��H��HL�D$dH�%(H��$81�H�FhH�D$����H�C H�EH����cH�H��jH���aH����'H�=���+���������El�A�����H��$8dH3%(D����H��H[]A\A]A^A_��H����1��-�������1�L��H��I��H�T$���A�ĉ�����E���R1��&�n�����r����C=��d���H���H���T���H����F����:��=����z�3����z�)����z�����z����H���H����H�:��=����{���H����H�=4�%H�HH�P�w������H�����H���H���8���C�H�5��%H�=�&Hǃ�H�C0H�C8����I��H���%H���(L�Y&��H��H�5��%A��������H��L���o���#���H���	��H�5X��1����������H�=�����������H�;������������j1��,�����u�L�t$0L�l$L��I��H�L$L��L�����I��H�������H�EH�H���t	H9��g���1�H��H����CT�����CPH��t��Hǃ�L�|$Hǃ�M���^H�EPH��tL��L��L��L���I��H����L��L��H�����A�ą�������������L�L$H�D$L�|$ I���L��L�*�L��L��0L�$H�D$ L�t$(�B��L�$H��t-H�L$(L��L��H��A����H�����|$��HcD$(����f�1��+�D������L���H�;������s���D�{P���I��M����H�������H�@PH��tI�uI��D��H��L���H��H���f���I�F0H���Y�����Hǃ�G����L���L���a���H���H��tBL��L��H���G��t���f�D�elH��H��u�����L�3�\����El���A���o����El���A���_�����H�JH�R�H�=��%������I����y���H�5���1�A������/�������H�5���1�A������������ff.��AWAVAUM��ATI��UH��SD��H��8H�$H�|$ ����1�����1��A�����A��D��D	��H�$H�@H��t��L��L��H��Ѕ���H�$Hc�L��L��H�@@H������I��M���*A�D$0�L�4$HcL$xI�FH���H�T$pL��H��Љ�I�F H��t��L��H��Ѕ��(��� I��L�l$ M��H�D$A�GI�+�I���BM�gPH�t$L�����H�$H�H���'E1�L�l$E1�M��L�t$�Q@I�GH9Cu5L�sM����L�c M��L��A�WH��A�փ���A�H�I��H��tVH��I�?u�I�GH9Cu�L�s`M��t:A��t�I�GH9Cu&I;Fu I�>uE�GPE9FPD�D$,���I��L�l$L�t$tA���,E��u�E������L�����1�H��8[]A\A]A^A_�@L�uXL�e`M������A��M���5H�M���;I�H�$H9X�!H�{`���H����I��t�A���{���I��I�P�H����f���A�F0@u� f.�I�EA�N,9H,t3M�mM��u�����L���H��H��8�����[]A\A]A^A_�@I�UI�mI��H�$A�GI����H�EXH��t5L�E`L��A�WH�����C���H�$H�H���������I�������A�������H�t$I�P�n����x����}l����E9C(��M��tL�\$M��L��A�WH��A��L�\$H��������I���H���s���L�\$��L�\$H��H�����M���I���H��L�\$L���T��H���L�\$L�������I����.�L�\$H��H�����M���I���H��L�\$L�����L���L�\$����f.�L�X����H�4$H����I�OH@����A�GTA9FT����I���I9������I���I�����������I���I9������I���I��������������D�D$,A����I��I9������I���I������������w����L��L�l$�+�L�\$��������E9C(����H�|$ H���t�������I��H�|$ H�L$pL��H���w�Å����El��u�El���H�+�%�H�$H�@ H������I��tI��I�P���L�����H��8�����[]A\A]A^A_�H�t$I�P較�������L��L���Z���T$x�H�5��H�D$H��1��{�E����E��taH�|$�[�>��H���L�p�]L���$��H��t�L���$�A���u��u,����A��u��uH�|$���^���H�|$�R�����M��tL����H�|$������������H��I���c���M�������L���o��������Hct$xH�|$pH�������(���I�������A�������H�t$L��聂�����H�$H�@ H���K���1�L��H��Ѕ��9����T��������1�H�5���'�M���W����K���I���I9�������I���I���������7�������H�5���������ff.�@��AWAVAUATUSH��XdH�%(H�D$H1�H���%L�I��H�o�D$H�D$L�wM���
H���M����A�~,���^H��H�����
������I�GhA�F0�����IH�}HH���lH�EPH�MXL����H�4)�L9���H�L$L�D$L������������A�F0���I�GXH��tM�G`1�1�L�����L��A�VhH�}HH��t�D�H�EH@H�|$H�����%�������fDA�~,H�މ$�)���$H�T$HdH3%(����H��X[]A\A]A^A_ÐM�l$I�\$I�l$M���(H���H����E0�H��UxA�ą���H�����H���|�`0�H��H��L��D�`,L�K(L�C H�KH�S�s@�s8�s0��H�� H��H��t&H�����H�CM�E`1�1ҿH��PX�1�������D$H�D$H�5q��1��L���������f��v���Hc�1�HuPL�mHH�uP���fDHc|$����H�t$H��H�4$���\$���L$H����HcT$H�4$H�ljL$�T$�Z��D�L$�L$I��fDQH��L��L��AUL�����XZ��tA�Gl��t	H���%�H�uPI�H)�H�uP�H�E8�$L��H��tH�Ћ$Hc�H�UPH�������H9��fH���]��H9�����t E1�E1��m���D�[����$Hc��L�D$H�D$M��t�D�L$�;�����H�5��1����1��~���@I�D$I�|$f���)D$ M�l$H��H�$��)D$0��%���M������A�E0�������H�D$ H�������H�L$0L�D$8H��L���W��H�H�D$(H�����A�},H�����H�D$(H���DA�U0H�|$ ���7���A�U0H��t��H�D$ H�|$0H���z�����1����fDH�|$L9mH��H��t�$�t�H�UP�$H�D$H�������H�}HH��tLL��$��H�uPH�}H��$H���$���H�EHH�EPH�EX����f�H�|$H��u�H�}HH��t�$��H�EH�$H�EXH�EP����DL����H�������H�uPH�EHH��H�H�UX������H�|$ PL��L��H��WD�L$HL��L�D$@���H�|$0^��AXH���]����$�[��$�M�����&�H��H�EHH������H�EX�H�EP���@H�5���1��U�I�GXH��tM�G`1�1�L�����L��A�Vh���fD���A�F0����A�El���o����A�Uh�8����H����f.���������H�����1����A�N,H�5c��1���L��A�Vh���Z���H�$�Cl�������8�{h�v��H����H�|$ H��t�/�H�D$ H�|$0H������s������A�El����=������SH�����tH�S�Rl��t	H�
U�%�[�f���USH��H�/�%H�H��tH��@H��H���5���H�H��u�H��[]�fD��U�H��SH��dH�%(H��$�1�H��H����H��H������H������H���"��H��$�dH3%(u
H�Ĩ[]������ATI��UH��SH��dH�%(H��$�1�H��H����L��H���m��H��H���b���H�߉����H��$�dH3%(uH�Ġ��[]A\��2��f���1���8v�@H��%Hc������ff.�f���1���8v�@Hc�H���%���f���AUATUSH��dH�%(H�D$1��F2���H�7�H����Hc�H�>��A�L�%��%H����Ŀ��H���Hǃ�H��t����Hǃ�H������H���H���H��t���Hǃ�H�������H����C�H���H�C0H�C8H��t�c��H�=���7�H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H��H���tH��H�{P�Rw��1����D�������CT�ܿ��I��AL��A��H��H�$�h��1�H�L$dH3%(��H��[]A\A]��A�L�%C�%�~���fDA�L�%��%�f���fDA�L�%S�%�N���fDA�L�%��%�6���fDA�L�%��%����fD������X������f���H�U�%�1�H���H��Ð����%����SH����%H��t1������H�����=�%��1�H�5ً�K���V��聿�����������������1�A�H���H�5w������1�A�H���H�5W�����1�A�H���H�57������1�A�-H���H�5�����1�A�+H���H�5������1�A�,H���H�5����}���1�A�H�x�H�5����]���1�A�H�e�H�5�������1�A�H�U�H�5w������1�A�H�B�H�5W�����1�A�H�0�H�57���ݿ��A�1�H� �H�5��轿��1�A�H��H�5���蝿��1�A�H���H�5������1�A�*H���H�5������1�A�H���H�5����=���1�A�H���H�5w������1�A�	H���H�5W�����1�A�
H���H�57���ݾ��1�A�H���H�5��轾��1�A�#H���H�5���蝾��1�A�$H�q�H�5����}���1�A�&H�b�H�5����]���1�A�H�]�H�5����=���1�A�H�E�H�5w������A�#1�H�-�H�5W������x�賵��H��������H�����I�����������[�t�@�|���M���fD��H�ھ1�蹶������@��AWAVI��AUATUH��SH��H��(H�T$�;��H�߉D$诿��H�xP�f��H����I�ǍE��l$1ۉD$����DH�t$L��Lc�M��
��A�ؾH�
��H��H�����1��-��L��;\$�0�H����������!�%����t��E�$H�
��A������D�H�WHD�H�������@ƾH��1������l$�\$)�H���
fDI��D��L���H����������!�%����t������D�H�WHD���@�H��L9��XI���G�,�1���H�
ӁH������<����u�L���
H����������!�%����t�� �����D�H�JHDщ�@�H��f�:�B���f��H����������!�%����t������D�H�WHD���@�H��1��M���L���H����������!�%����t������D�H�WHD���@�H��L)���t]L����   ����u�L���
H����������!�%����t������D�H�JHDщ�@ƾ H��f�2�e���DL��  f��G;\$���B����D�L$�L��.Hc�f.�A�t���A�Dp@H��D�A�T;��A9���H��H��H��uθM�LA�
�|$L��H�5�4A�1�����;\$�����|$H�5�1����H��(L��[]A\A]A^A_�C���\$�  �Gf��4����B<Hc�H�H��<H�������݋\$��������ø
�|$L��H�5	4fA�G<1��0���p���H��(H�5���1�[]A\A]A^A_�
��f.���AWAVI��AUI��ATI��USH��HH�L$H��$�L�|$/H�\$0L�D$�0L��H��L�L$L���dH�%(H�D$81�H�EH�D$0�$���H��t_M��L��L��H��H���;�H��tn�|$/u?H�t$H�T$H��H�H�����H��tbH�T$0H�\$H�H�H��L)�Hc�H)U�1�H�L$8dH3%(uFH��H[]A\A]A^A_��H�=#�H�D$���H�D$��H�=�H�D$����H�D$������AWAVAUATUS1�H��xL�L$H��$�dH�%(H�D$h1�H�EH����H��M��I��A��H�EL�D��H�H��H��H�D$�0��L�L$H��H���A��A�����H�
*�Jc�H�>��H��H�����H��f�H��t!H��H�t$�0L��L)�H��H�L$�J���H�|$hdH3<%(H����H��x[]A\A]A^A_�@H��M��L�ɺH�����H���DH��M��L�ɺH�����H���r���f�H��M��L��H���_��H���W����H�ߺH��� ���H���8����I��H��L�ɺM��H�����H������fDH��M��L��H�����H������H��M��L��H���ײ��H�������H��M��L�ɺxH������H�����f.�H��M��L�ɺyH�����H�����f�H��M��L�ɺzH���z��H���b���f�H�\$ A�ѹ@1�H�ߺ�@L���蘾��H��1��N���O���f�H�=���4���5����j��f.���AWI��AVM��AUM��ATUH��SH��H��hH�2��$�L��$�dH�<%(H�|$X1�H�t$D��<��LA����H�
��Hc�H�>��DA�D��L��H��H�����f���tJH��A�6D��L��M��A�H��H���+��ZY���!M�A�0D��L��L+L$H��H�����H�\$XdH3%(�H��h[]A\A]A^A_��H��H��H��A���$�D��L���ƺ��^_�_����H��D��L��A���$�H��H������ZY�/����H��D��L��H��$�H��茭��AXAY����H��H��H��A�H��$�D��L��H��P�(��^_�����H��D��L��H��$�H������ZY���DH��D��L��H��$�H���\��AZA[���H��A�xD��L����$�H��H����AZA[�U���DH��A�yD��L����$�H��H���~���AXAY�%���DH��H��H��A�z��$�D��L���.��^_����H�\$E���@1�L�*���@H��蘻��H���P��1�����f�H�=���D$�0���D$����b��f���AWM��L��AVI��AUATI��UH��SH��8H��0dH�%(H�D$(1�L�l$L���f���H��tQL��H�L$ L��H��A��8���H�T$ I�H��tKI��L��L��L��H�����H��tRH��H9]HF]A�H�t$(dH34%(uHH��8[]A\A]A^A_ÐH�=��H�D$�O��H�D$���H�=N�H�D$�/��H�D$��c����AWI��1�AVI�ֺ0AUM��ATI��USH��H��(dH�%(H�D$1�I�H�D$H�H�D$�#���H����H�L$�H��H��A�H�����H��t_E�H��L��H���p���H��H��tH��H�t$�0L��H)�L�轫��H�T$dH3%(H��uH��([]A\A]A^A_�1������f.�DSI��L�Q���H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(u	H�Đ[����ff.��SI��L������H��dH�%(H��$�1�H��H��VH�߾�謸��Ƅ$�H��XZ�Z��H��$�dH3%(u	H�Đ[��y��f�SI��L�����H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(u	H�Đ[����ff.��SI��L�E���H��dH�%(H��$�1�H��R�VH�߾�请��Ƅ$�H��XZ�]��H��$�dH3%(u	H�Đ[��|��ff.��SI����L���H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(uH�Đ�[�����SI��L��������H��dH�%(H��$�1�H��H��jH��諶��Ƅ$�H��XZ�Y��H��$�dH3%(uH�Đ�[��s��SH��H�dH�%(H��$�1�H9�rH��$�dH3%(uIH�Đ[ÐH��RI��L���Q�����H���
���Ƅ$�H��XZ���������ff.����SH��dH�%(H��$�1�H�H��v8H��f��H�H�G��G�f�OH��$�dH3%(uQH�Đ[�H��H�����PL�
����H��L���1��Q���Ƅ$�H��XZ���1���6��fD��SH��dH�%(H��$�1�H����H�������yp���������L�O��L��1�L�Df�H��H��H��x�H	�H�I9�u�I�D	H��xLH��$�dH3%(��H�Đ[�@H�H�G���H�=���,��1���H��H��L�
��RL������H��1����1���Ƅ$�H��XZ����1��l����H�㹀�1�L�
[�L�����H�����H���D$���1��&���f���H��jL�
"�RL����j������ff.�@��H����H����H��t}AUATI��UH��SH��H��H����x$�H�H�I9�r<H��H�;[]A\A]�D��D�hA9�}H��蜷��H��tH�EIc�H�I9�s�H��1�[]A\A]�1��D��ATUSH�� dH�%(H�D$1�H����H��H����H����I��H����I���H�6H���;�7H��@�2@����H�H�T$H�H�p�軨��H���"H�t$H����H����H��H�~�I��H)�H�H)H�H�|$H��?f.�I��E�H�H��H��H�|$L	�H���u�H�H�����e��H��H���HL�I�$��H�=m����1�H�L$dH3%(��H�� []A\�DH�=U����1�������@�L��H�=-�����1�릺H�=�����1���H�=����1��v���H�3H�T$H�D$H�=�H������H�D$�O����$���@��ATUSH��dH�%(H�D$1�H���H��H����H����H��H����I���H�6H���;I��H�A�4$�F�@�2<v
@��G�H�EH��H�p��Ӧ��I��H���H�4$H��	��H����H��	��H�N�L��L��1�H�$L)�H�H)EI�1�H��I���r�H��I)�M�H	�L�$H9�u߹������H9�HG�H�;H�\$dH3%(��H��[]A\ÐH�=�����1��Ҁ8�q�����H�=������1���L��H�=p��4���1��H�=`����1�����D�H�=C�����1��b���H�uH�$H�=(�H�����1��C����L���ff.����AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H����M�������M��M����H�6H����I��H�A�u@��@�2��@��@����t�F�<��H�EH��H�p��ݤ��H��H����I�L�$$L9�ruL)�L��H��L��I���Q��M;&s	C�'L�$$M�&H�EL�L)�L)�H�EH�|$dH3<%(H����H��[]A\A]A^A_�f�H�=�1������L��H�=�1������DH�=޺1������H�=��1��]����y����H�uH�$H�=��H���8����T���螽��ff.���ATUH��SH�� dH�%(H�D$1�H��H�D$��H�������H����H��H�6H������ƒ������EH�L�d$H��L��H�p��O���H����H�T$Hc�H��w(H�3H�L$dH3%(��H�� []A\���}DuҀ8�u��x�O���w��H���=t�@�}L��H�xH�3H���բ��H����Hct$�DH�=s��4��1��x���DH�=�����1��`���D�H�=Y����1��C����H�3H�T$H�D$H�=1�H����H�D$����H�3H�T$H�D$H�=.�H���|�H�D$����ݻ��ff.�f���ATM��U��SH��H��dH�%(H��$�1�葶��H��t�@8�u$H��$�dH3%(uSH�Đ[]A\�D@��H��M�ṀUL�����H��R1���D���Ƅ$�H��XZ����1���)���f���SH��dH�%(H�D$1�H��va�?0H��ua�W�B��y.����9�}DH��H��H���H��t3�CH�$$�DDH�|$dH3<%(uH��[�f.�1���@�������茺��ff.����SH��dH�%(H��$�1�H�H��w8H��t{�H�G�H)H��$�dH3%(��H�Đ[�DH���wH�����WH�G����@H��vbf����H�Gf�W��@H��R���jL�
,���H��L�*�譩��Ƅ$�H��XZ�[���1��O���@H��RL�
�L�0�P���H��1�����H��L�
��RL��P���F���fD��SH��dH�%(H��$�1�H�>t3�H��H��H�.�Y��H��$�dH3%(uMH�Đ[�DH��H��E1ɺQL�ٹ��H�߾�迨��Ƅ$�H��XZ�m���1��褸��@��AUATUL��SH��I���H�I��H���������H���fDH��H��H��H!�H9�tH��uH��u���H��L������I��H����I�uH9���H)�I�,I�uH��I��H��H��8A�T$�I9�u�H��[]A\A]�@H���|/H���H��H!�H9��V���H���M����v����H�����H��H��H!�H9��"���H������1��@���f�H��1�[]A\A]��L��H�=0����H��1�[]A\A]��H��H�=
������u�I�u����ff.����AUATM��USH��I����H������I��H9ˉ�H���HG�H��I��H��H!�H9�tH��uI��u���L��L��苯��H��H��tCI�uL9�rrL)�J�D%I�ufDH��H��H��H��8�U�H9�u�H��[]A\A]�fDH��1�[]A\A]��L��H�=*����H��1�[]A\A]��L��H�=�����u�I�u�r���ff.����AU��I��L��ATI��USL��H��辮��H��tLI�4$H��H9�r-H��tH��M��t@L��H�����I)$H��H�D[]A\A]ÐH��H�=���1���t�H��1�[]A\A]�1�H������@��AVAUATUSH�� dH�%(H�D$1�H����I��H����H���I��H���sH�6H�����I�I��L�ň<��I�EH�T$H�H�p��=���H����H�t$H��I�L$L)�Hc�H�I)UH��u~I�D$I�$H�mI�T$H��+�H��'�I�$L)�H��Hc�H�U���H�=����1�DH�\$dH3%(�eH�� []A\A]A^�H�UH�z��OH��A�����H�UH��t\fD1��
@H�����8H��H��H��I��A��L�@��x�L9�wbH��H�Q�H���,���H�UH�z�H�}H��u�H�=��莻��H�]1��K���H�=���w���1��8���I�$I�D$���H�=ű�N���1�����H��OwDH��(I�$I�T$����H�=x�����1������H�=T����1�����H��PI�$I�T$���I�uH�T$H�D$H�=�H����H�D$������H�}�������AWI��AVI��AUATUSL��H��dH�%(H��$�1�M��tBH�H����I���cH�IH��t
H��(��H�����1��I��A�H�عL�d$E1�A�������A�I��H��A9�~.I�D���L9�HG�H��v�H=�?wrA�H��I��A9����L��L��D�L$�ͪ��H��H���o���I�7D�L$L9����H�
�@A�<��A�Hc�H�>��fDH=��wA�I���S���f.�H=����4A�I���/���fDH��H��H���ʀ�U�H��H���ʀ�U�H��H���ʀ�U�H�ڃ�H���]��ʀ�U�H��A9�~IA���P���H��H��H��H���ʀ�U�H��H���ʀ�U�H�ڃ�H���]��ʀ�U�A9��fDM)/H��$�dH3<%(H���H�Ĩ[]A\A]A^A_ÐH��H��H���ʀ�U�H�ڃ�H���]��ʀ�U��U�����]H���B���@H�ڃ�H��H���]��ʀ�U��"���@A�I�����f�H��L�QA�H�����f�L��H�=`�D�L$��D�L$������1�����H�=9�1�誷������H�=N�1�藷�����H��A��M�VH���O���蹯��f���USH��(dH�%(H�D$1�H����H�����u^H��H��tVH��H�6H��vb�H��H�H�T$H�p�蘕��H��tsH�|$uSH��H)�H)H�|$dH3<%(uyH��([]�H�=w��ܶ��1�����H�=s���1��H�=��謶��1���H�3H�T$H�D$H�=;�H���S�H�D$�w���贮��@����1��r���f���AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H����M�������M��M����H�6H�����7I��@�2@����H�EH��H�H�p��R���H��H����I�UL�4$L9���M��tpL��H��L���½��H��Ic�L�L)�I�UH�H)EH�|$dH3<%(H����H��[]A\A]A^A_�DH�=�1��R�����H�=!�1����H�=�����upL�4$�w�����H�=�1�����}����L��H�=Ϋ1��?��_���f.�H�uH�$H�=��H�����8���1��.�����@��AUATI��UH��SL��H��M��tlI����L��薥��H��H��tI�4$H9���M��uH�=e��`���1�H��[]A\A]�H��L��H���b���I)$H��H�D[]A\A]�fDH�=	��T$�h��T$��u�H����1�L������H��H��u�1��@H��H�=Ϊ�����y���M���d����{���ff.���AVAUATUSH��dH�%(H�D$1�I���FI��H���H��H���I��H���H��H����H�6H����A�4$H���@�2��<D��H�EI��L��H�p�譑��I��H����A�>DH�4$��Hcƃ�	�9�)L��L)�H�H)EH�F�H�$H���SI�1L��1�1��H��H��A��H��H��H��L	�A���Q�L	�I��I��I�M�L�$H9�u�H�SH�;H�\$dH3%(�H��[]A\A]A^�H�=n��d���1���H�=Q���1�뿺L��H�=9���1���H��vzH���
����8������@<vt<{��A�I�yL��H�uH���p���I��H����H�4$����A�9�����	H�=���
�1��%���fD�H�=���o�1������1�1�L�����H�uH�$H�=m�H���<�1�����蠩��H�uH�$H�=q�H����1�������AWAVAUATUSH��I���,H������L�iI����H9�HG�D��I9�LG�����A�	A���v����{�`��L��L���ڡ��H��H����I�6L9���L)�I�6A���I��J�D%f�H��H��L��H��H����H���M�L��A��H��H	�H9�u�H��[]A\A]A^A_�@H��A�%��t
���H9�u9����L��H��I��H����I��H	�E��H��%��H9�tH��uI��u�E1���v����I�l$�DL��H�����H��H����I�6H9�����vD�aH�if�I�H�p�L)�I�6A�������H�E�EI���(���I��H������I�l$�DL��H���s���H��H��tKI�6H9�����{D�aH�if�I�H�p����H��H�=j�H�D$����H�L$���N���f�1�H��[]A\A]A^A_���L��H�=����H��1�[]A\A]A^A_�L��H�=�������u�I�6����H��H�=��H�D$�q��H�L$���E���1����AVAUATUSH��dH�%(H��$�1�I����I��H����H��H����I��H����H��H����H�6H�����L�t$H��H�EL��H�p�腌��H����H�t$H���mA�U��x��D��H���������@��z��A�EzH�xL��H�uH���"���H����H�t$Hcփ�	�A�2H��E1�L)�H�H)UH��t^�L�N�L�0H��L�L$A���A��A���f���H��A��L���H)���A	��O�H�H�t$	�L9�uԉ�H��H�sL��LfDH�\$ WL�
W�1�QL����H��V��R�����Ƅ$�H��H�� 輬��1�H��$�dH3%(��H�İ[]A\A]A^�H�=��脬��1��ƺH�=أ�?��1���L��H�=���$��1�떀8�����	H�=�����1��u����H�uH�T$H�D$H�=w�H������H�D$�F���H�uH�T$H�D$H�=u�H�����H�D$����������AWAVAUATUSH��I���tH�I��H�iH��������H��H���HLغ������H9�HG�H��H��%��H9�t	H���S�����H��H��L�b�H����H��H	É�H��%��t	H9��L��I��u�A�L��DL������I��H����I�6L9��|��zE�gK�t'fA�I�>I�GH�W�L)�I�H��fDH��H��H��H���ۈJ�H��H��H����H	�H9�u�H��L�[]A\A]A^A_�D�����f�L��H�=��1�����m���H��1�[]A\A]A^A_���L��H�=Ρ���H��1�[]A\A]A^A_�L�j���A�A����ff.���AVAUATUSH�� dH�%(H�D$1�I����H��H����H��H����I��H����I��H����H�6H�����L�l$H��H�L��H�p����H���+A�$H�t$��DuH��t~��xu~H����H��H)�H��H)��A�H�L$dH3%(�H�� []A\A]A^�f.�H�=����1��źL��H�=�����1����8�t[��H�=j����1����H�=M��o��1��m�����H�=f��O��1��M�����xxu�H�H�xL���҆��H��tAA�$xH�t$���fDH�3H�T$H�D$H�=͟H������H�D$����L���H�3H�T$H�D$H�=ǟH�����H�D$���D��ATUSI��ubI�̺D�H���͘��H��H��tzH�uH��v[��x�Cf�H�EH�P�H��H�UA�$H�EH�CʉS[]A\�f��L��H�=S��,��[1�]A\�D�H�=6������t�[1�]A\�@��AVAUATUSH�� dH�%(H�D$1�I���H��H����H��H����I��H����I��H����H�6H�����L�t$H��H�L��H�p��,���H���CA�$H�t$��Dtt��yu{H����H��H)�H��H)H���H�� ��H�� ��H	�I�UH�|$dH3<%(�H�� []A\A]A^�DH�=<��,���1����H��v:H��tt��H�=��U��1�룐�L��H�=����1����H�=ҝ���1��j�����H�=����1��J�����8�u��xyu�H�H�xL��	���H��tDA�$yH�t$����f�H�3H�T$H�D$H�=J�H�����H�D$�����t���H�3H�T$H�D$H�=F�H������H�D$���ff.�f���ATUSH��dH�%(H�D$1�I����I�̺D�H���Օ��H��H����H�uH��
v��y�Cf�H�EH�P�H��H�UI�$H�EH�C��H�� ��H�� ��H	�H�SH�t$dH34%(uTH��[]A\���L��H�=�����1�����H�=o��������h����1���G������H��tH��u
1���ATUH��SH��L�&�v�����u
1�[]A\�H�3L��H��L)�H}�ӫ��H�UH�;� L)��O���������AWM��AVI��AUI��ATI��U��SH��H�dH�%(H��$�1�H�I���H��I�����H9�t4DH��I�UH)�I�D�<I��I�$I�I�����H9�uх�tL��L������I���I�$u�H)�H��AWP���H��1�L�
s�L�������Ƅ$�H��XZ襢��1��fD���L��L��蕲������I�$I�H��H)�H��v�I�UH��H)�I�D�<I�I�$I�uH�H)؃ȀH)�I���� @H9�tCI�UH��H)�I�D�<�H��$�dH3%(��H�Ę[]A\A]A^A_���t���I���I�$u�H)�H��AWL�
p�PL����H����1����Ƅ$�H��Y^蒡��1��w���I�$I+H��AWR���豙�����AWA��AVM��AUI��ATE��M��UH��SH��H��dH�%(H��$�1��.�����trL�MH�I9���E��tH��L������L�M��H�uoH��H��I)���AVL�O��1���H������Ƅ$�H��XZ���1��H��$�dH3%(u.H�Ę[]A\A]A^A_�H��I�UI)�H��F�$
�貘��f���AWI��AVAUATUSH��(H�t$`D�D$H����M�!I��H�Ӊ�I�������D��H��I���LL�L��H��?H�D$H�H��H�D$I�H��H9�t|I�6H��Lcl$H)�H�D�$I��M9�u'��I�6H��H)�H�D�$I��M9�t~I�H�H9�uۅ�t/L��L��謯����t I�H��E���D$�n�������H��(1�[]A\A]A^A_���H�=c����H��(1�[]A\A]A^A_�fDI�L�I�H��L)��3T$��tL9���I���|$L)�L�@�<L�L�l$D�D$��H��L��L��M)��,}�����\���H�L)�I�>�L���L��H�=ɔ�������H��([��]A\A]A^A_�fDL��L��蝮�����
���I�H��~����������L��L���w��������I�I�L��A������AWM��AVI��AUA��ATI��UH��SH��D�D$H�\$P�E����L��L���������|H�UI�H)�H9�r�H�L��H�UI�>H)�H��I<$�i���I��D��H��D�D$L��L���|����t3I�<$t,H��L��H�=˓�r������H��[��]A\A]A^A_�H��1�[]A\A]A^A_����AWAVI��AUATUSH��H�t$PD�D$H���7��I�	H�Ӻ����L�#I����H9�HG�I�L��L9���H��I�7H)�H��H��I�����I�L�I�H��L)ɀ<
yL9��I��L)�L��L�D�D$M)��H��L��L���{������H�L)�I�?txL��H�=���]������H��[��]A\A]A^A_�fD��tHL��L���q�����t9I�H�H��I�7H)�H�D�,I���D���I�H�H9�u�����u<H��1�[]A\A]A^A_��H�=�����H��1�[]A\A]A^A_�fDL��H�L$�����t�I�H�H�L$�����t�L��L���ȫ����t�I�I�L�����fD��E����y����AWI��AVI��AUATU��SH��H��(L�*H�|$`D�D$L�L$��L���#D����L��L���M�������H�I�H��H)�H��v�I�H��H)�H��H�I�I�H��H)�H��L�D�D$��H��L��L��M)��/y����t;H�L)�I�?t/L��H�=O�����������H�=_�誚��f.�1�H��([]A\A]A^A_��H�D$H�H���&H�|$`��H�|$`L���UH�|$H�t$`H�L���������H9�HG�I�H9���H��I�7H)�H��ȃ�H���I��u �Rf�H��I�7H)�H�D��ȀI���t4I�H�H9�uم��A���L��L��������.���I�H��fDH�l$`H�|$`��H��K���fDH�L$����L��L��蘩�������I�H�H�L$�>���H�L��L9�t2I�7H��H)�H���U���H�=ђ�D���H��(1�[]A\A]A^A_Å�������6������~���H�D$H�H�I��H�D$H�H�D$H�@H��(v
H���7���H��L�$�I�H�H9�txH��I�H)�H�D���I���u.���f�H��I�H)�H�D��ȀI��������I�H�H9�uՅ�����L��L��肨��������I�H�벅������L��L���_����������I�H��b���ff.����H��E1�E���lv������H�����ff.�@��AWM��AVI��AUA��ATI��UH��SH��D�D$H�\$P�E����L��L���̧�����|H�UI�H)�H9�r�H�L��H�UI�>H)�H��I<$����I��D��H��D�D$L��L���u����t3I�<$t,H��L��H�=?��"������H��[��]A\A]A^A_�H��1�[]A\A]A^A_����AWAVI��AUATUSH��(H�t$`D�D$H����I��I������I�Y��I��H9‰�HF�H9�I�EH��H�D$I�H�L$��HG�H��H9�tmH��I�7H)�I�M�H���mA��f�H��I�7H)�I�E�H��tyI�I�EA��H9�uم�t%L��L���j�����tI�I�E�D���P1�H��([]A\A]A^A_���H�=P�����H��(1�[]A\A]A^A_�fDH�|$thA��~*�=DI�7H��A��H)�I�E�A���I�I�EH9�uԅ��t���L��L��蹥�����a���I�I�E��I�I�EI�7H��H)ǀ<>��H��H+\$�|$vtv�|${��D�D$I�ى�L��L��L���s���������I�?��H��L��H�=X���������������f�������L��L���
����������I�EI�H��H)�H��v�I�7H��H)�I�E�I�EI�I�7H��H)�I�E�v�^fD���h���L��L��譤�����U���I�EI�H��H)�H��v�I�7H��H)�I�E�I�EI�I�7H��H)�I�E�{I�EI�H��L��I�7I��A�DL��H��H)�I�E����L���rr��������I�?����H��L��H�=D���������������L��L������������I�I�M����H9���H��H)�I�E�I�E�:���I�I�EH9���H��I�7H�\$H)�I�E�H��u'����H��I�7H)�I�E�H������I�I�EH9�uم��	���L��L���N����������I�I�E�H�|$�����A��N���������L��L�������������I�I�E�O����������L��L������������I�7I�I�E���D��AWAVAUATUSH��H��(H�t$`H���I�I��I��A��I�iH�D$H�H��H�D$H�H��H9����T$I�?H����H)�I�6��@�,��T$�T$��A��9��e;T$��@H�I�.I�7H��H)��D1�A��A��t#H9����T$H��H)�I�.�ڈI�.H�H���(fDE���H��L���ԡ�����H�I�H��H)�H��v�I�7H��H+l$L��H)�I�A�DL��@�,I�H��H�I�7I��H��H)�I��zI�H�I�7H��H)�I���D��H���o������I�?��H��H��H�=j������������lf.��L$E��tWH��L��������tHH�3I��L$I�?H��H)�I��7��A9�tf��aH�3I���H9�u�뱐�����1�H��([]A\A]A^A_���H�=���W���H��(1�[]A\A]A^A_�fDD;l$�=������|�T$���I�7H����H)�I����tXH�I�H9�u݈T$E���p���H��L���%������]���H�I��T$�H���������@���H�I�6�x���DH�I�H9�tqH��I�7H)�I�H�D$�ň��A9�u#����I�7H��H)�I�@�,��A9��k���H�I�H9�u�E������H��L��脟���������H�I��E�������H��L���`����������H�I��h���E�������H��L���9������q���I�7H�I�.������AVAUATUSH�|$0��I��H��H��A��M���#�E����H��L���ܞ������H�UH�H)�H��v�H��A�A�H��H�UH�A�DL���H)�I�$�H�EH�I�$H��H)�H�E�H�EH�I�$H��H)�H�E�xH�EH�I�$H��H)�H�E��D��H���l�����'I�<$t �H��H�=��ܿ���������f�1�[]A\A]A^�D��AVAUATUSH��dH�%(H�D$1�H�|$@�I��H��H��A��M���E����H��L��謝������H�UH�H)�H��
v�I�H��A�H��H�UA�DL��H�� ��H�� ��H	�H�H)�H��I�$H�H�EH�I�$H��H)�H�E�H�EH�I�$H��H)�H�E�yH�EH�I�$H��H)�H�E��D��H���:k�����*I�<$t#�H��H�=��藾���������D1�H�L$dH3%(u
H��[]A\A]A^��Ԅ��@�D�GAWD3GD#GAVD3G�WAUAT3WUSD�6�_D�~A��x�j�D�^D�VA��F�nD�|$�A��DGD�\$�D$�V���_D!�3WE��D�T$�D1����؋_D�A���p $!�3G�^�A1ыO���\$�Ѝ��ν��l$�^(A!�D�nE1�G���|�D�^<Aɉ�A��
1�A�D!�1�A��*ƇGD�A����E1�D�A!�A��A1���F0��n0A�D��A��1�A�D!�E1�D1�G��
�F��D��E���D�!�A1�1�E��D�f$D�D�N ��
D�d$��A��	ؘ�iD�L$�D�N,A!�E1�G����D�Aʉ�A��1�A�D!�1э��[��D�A����E1�D�A!�A1�A����\�A�D��A��1�A�D!�E��D1�F��"�k‰��
D1�D�!�A1�1�E��D�f8D�D�V4���A��
�q��A!lj�E1�G���Cy�Aω�A��1�A�D!�D1�1�A��!�ID���D�!�A��1�֋T$��
΍�b%�A1��E!�A1�A��D$�A��A�B��8@�@�D�|$�D1�!�A��	QZ^&1��D����	D�1�!�A��6�Ƕ�D1�ȉ���1�D!�G��]/�D�|$�1�����1�!֍�SD1�D�A����A1�A!�A�����A1�AЉ�A��	A�D1�!�A�����D�|$�1��D����D�1�!�A��7���!D�|$�D1�ȉ���1�D!�G���7�1�����1�!�A���
��D�|$�1�D�A���	�A1�A!�A���ZED�|$�A1�AЉ�A��A�D1�!�A��
��1��D����D�1�!�A��7���D1�ȉ���1�D!�G���og1����	�1�!֍��L*�1�D�A����A1�E��A��E!�A1�AЋT$�A��A�B9����E1�D1�ANjD$�A��EǍ���q�D��D1�D1��A��1"a�mD����D�1�1����C��8�D�D$��G��8D꾤D�|$�1���A�����KD�|$��	1��1�D�A��A��
`K����A1��A1�AЉ�p���A��1�A�D1�ʉ�A��2�~�(��D1�D�1��D��G���'���	1��1�Ɖ�A���0��D�|$��1��1�D�A��A���D�|$���A1��A1�AЉ�A��79���D�|$�A��1�A�D1�щ�����	D1�D�1��D��G���|����1�1�Ɖ�A��eV���1��1�A���A��D")�D�t$�A��1�A�D1����A��5��*C��	��D�	�D1��D��G���#��D�d$����	�1���A��9�����
���	�1�D�A�����Y[e�l$��A���A	�A1�Aȉ�A�����A����A�D	�1����3}��\$���D�	�D1��D��F���]���\$�
���	�1��΍�O~�o�����	�1�D�A��A����,�D�\$��A���A	�A1�Aȉэ�C�A����A�D	�1����A��2�N��
��D�	�D1��D��G���~S������	�1�։�A��	5�:������	�1�D�A��A�����*D�|$���A��[]�A\A]A	�A^A1�D�A��
A���A	�A1�A��A���Aȉ��A��7�ӆ�A_��D	�1�ЋW��D��DGO�GD�G�O�ff.�@��H�#Eg����H�GH�H��ܺ�vT2H�G�GÐ���ȉ�GȉG�GȉG�GȉG�GȉG�GȉG�GȉG�GȉG�G ȉG �G$ȉG$�G(ȉG(�G,ȉG,�G0ȉG0�G4ȉG4�G8ȉG8�G<ȉG<�ff.�f���AUATUSH��H��X�OdH�%(H�D$H1���ux��uRf�I��)$�$�)D$)D$ )D$01�I�L$8��T�H��H��u�L��H���K����C1�H�t$HdH34%(�H��X[]A\A]�����H�K��f��9H����A���u�����A�Ճ�I��@A���Ճ�L��D��f��)$Hc�)D$)D$ )D$0�N�����)�H��D���	��!ЈA��7����L��H���z���L��I�T$8f��H��H9�u�1�I�L$8D�T�H��H��u�����H���8���1�����������������������z�����E1�D9�~.M��1�B���B���tI����D9��@I��I��u��D��AVI��AUI��ATUH��SH��H��@dH�%(H�D$81�L�d$L���gv��H��?w�O�H��@H��@H��?v:�H��L���u����t�H�L$8dH3%(uHH��@[]A\A]A^�f���H��L���nu����u���L��L��L��D$�]���D$���y��f���AWAVAUATUSH��HdH�%(H��$81�I����M����I��H����H��H���~I��H���rI��H���fH�D$p�Aof�L�|$0H�D$L��H��$�H��)�$�L��$�)�$�)�$�)�$���H��H��H����6�G��B���\�A�L9�u�H�l$H����t���L��H���?t������E1�����I��?w�I��@H��@I��?���H��H���s����t�f��D$()�$�)�$)�$)�$ )D$0)D$@)D$P)D$`)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�)D$H�D$ M��tL���D$�^z���D$H��$8dH34%(��H��H[]A\A]A^A_�H��L���6���H��I����B��H��H���s��������H��$�f�@H��H��)�$�)�$)�$)�$ �Z��H���Ls��H�t$�H���r�����������H��H���r���������L��L��H��D$�8Z���D$�u��������������v����H����H�=8y郐����SH����q��H�߾H�$yH��1����H�ٺ%�H�=�y�A���H�ٺ<�H�=z�(���H�ٺ(�H�=,z����H�ٺ8�H�=Cz���H�ٺ+�H�=jz�ݏ��H�ٺ0�H�=�z�ď��H�ٺ�H�=�z諏��H�ٺ)�H�=�z蒏��H�ٺ�H�=Nx�y���H�ٺU�H�=�z�`���H�ٺ9�H�=�z�G���H�ٺA�H�={�.���H�ٺ@�H�=:{����H�ٺB�H�=i{���H�ٺ.�H�=�{���H�ٺ.�H�=�{�ʎ��H�ٺ>�H�=�{豎��H�ٺ2�H�=�{蘎��H�ٺ3�H�=|����H�ٺ�H�=+|�f���H�ٺ(�H�=2|�M���H�ٺ3�H�=I|�4���H�ٺ
�H�=	w����H�ٺ0�H�=O|����H�ٺy�H�=n|���H�ٺ�H�=�v�Ѝ��H�ٺ?�H�=�|跍��H�ٺ;�H�=�|融���9v��H�߾H��vH��1�����H�ٺ?�H�=�|�g���H��H�=uv�8c��H�ٺB�H�=}�?���H��H�=Mv���H�ٺ@�H�=$}����H��H�=%v�hv��H�ٺ;�H�=D}���H��H�=�u�o��H��[�Gu�����ATI��US�\��H�xH���Tz��H��tgH��L��H�UH���=h���=H���Z��H��t� H���p_��H��[]A\�4u��@� H���SZ��H��u�Hݸ 1f�E�E��@[]A\���AWI��AVAUA��H��ATI��UD��SH��H��h
L�D$ L�t$PdH�%(H��$X
1�D��H�D$@H�D$H���D$�[w��fo��H�T:-:3:L:A�s:H��$�)D$Pfon�fD��$�)D$`foh�Ƅ$�)D$pH��t.H���^[��H�P:H�����	H�PI�~:�H���x���H��K%H��~H�D$�H�D$HH�D$L��L��D���T������*H�
I%�P�L���K��Hc�H�>��f.�H�T$@H��L��L��UH�L$M��E����y��^_��y�f.������H��$X
dH34%(����	H��h
[]A\A]A^A_�D��k��������H��sH��H��J%H�81�����@L���o������D�D$E����H�D$H��tH����r��H�!H%L�L��L�\$(豆��H�D$H����L�\$(L����Y��L�\$(1�H��L���]��������1�臀�����f��[r��H��G%H�8��W���v����L��D��L���s��H���X����H�gzH��I%������H�81���������L����S��H�������H�}z�L���Ѕ���=H��H�D$(�W��H����H�pI����H�t$0��H��$PH�t$(�H��H�L$8�<]��H�t$0�L��$PL��L�D$0�]��L�D$0H�L$8L��H���(q��I���H���v��H�|$(�Oq���Y���f.��L��H�=�A�,{���6����L��H�5tqL�\$(�lm��L�\$(������L��H�5�YL�\$(�Km��L�\$(�������L���P������H�	F%I������H�=QYH�H�������uH��E%I�H�H��H�5aZH�T$(��l��H�T$(���kH��E%I�H�5VDH�8�l�����]���I��Q���f�H�L$@UL��E��ATL�D$L�މ��cj��ZY���(������@�H��G%�H�=yp�����H��+����n���fDH�=Rp������oa���%H�kG%�H�=�wH����H�=p��U���&���fDL��D��L���:d��H��������H��w�3���f�L��D��L����n�����i�������DH��F%�'�H�=xH��p���H��%�H�=$x������R������D�
1�L���v��A�G��x �<k��H�5%D%H�H���DP����)H�mF%�H�=yx�����H�����/����L���x���I�G@����1�L����_���YVz�H,�I�GH���s����*H�F%�H�=�w�����H���������f.���L��D��H�D$ ���+���@L�\$����fDH�5�AH��H�T$(�Tj���������I�?�H�T$(���H�~E%H�ѾH�wv�����H�81��{���;���1��#�D$��k��D�T$H�����#1�D�T$�k��H���Y���H�=�mH���
_��H��D�T$tH�ھ#1��AK��H���Im��D�T$I�?���H�\$@H��tnI���ILJ8@��H��D�T$�*T��I���H��A���M��8M���H����T��D�T$����H�|$@D�T$��l��D�T$H�\$HH��tnI��PILJ�@��H��D�T$�S��I���H��A���M���M��`H���[T��D�T$���H�|$HD�T$�Ol��D�T$H�D%HcD9���H�5�C%�X�I��I�?I�G0�����H�|$��H�D$I�GxH���S��I����x�����N��H�=~l�j��I���H��t)H�4B%H�������H�=2l�T]��D�T$�f����;H�FC%�H�=�t�����H��ł��H�|$(�{k�����fD1��D�T$�w��D�T$H�H����I��	���I���D�T$�Rm��I���H���a��D�T$H��I����mH�=�?%�
D�T$��`��H�\$@D�T$ILJ�
I������I��XD�T$�&X��I��XH���`��D�T$H��I��P��H�=sC%�
D�T$�l`��H�\$HD�T$ILJX
I��P����H=��HD�I�����H�5r�1�������r�����1��D�T$�Vh��D�T$H��tlH��A%�����H��A%�H�=&s�����H��)���H�|$(��i���b����#H�vA%�H�=�s�����H�����8���1��"D�T$��t��D�T$����I�GxILJ��^����g���H�A%�H�=jD�T$H�萀��D�T$D������I�<$������5c���DH��@%�H�=�sH��U������I�<$������c���KH��@%�H�=sH��"����e���H�\$H�4����H�o@%�H�=�iD�T$H�����D�T$D���)���H�\$@������E1��m��@��ATA��U��S�I����t�Ã������u;��[]A\�@�Ke����I���Å�t0���u��D��H�5�t��1��qp���1��	i��f�H�=�t�p��E��u��H�=�t1���W��1����S����I����?�����l���1����^������^������^��������?����ED��H�5�s��1���o��� ���ff.���AW1Ҿ�AVAUATUS1�H��(dH�%(H�D$1��{H������A�ŻE1�I���!�$A��D9���H��H��E���g���(H���U��H��H��tE��L���D���H�l$�$1��mn����y��tC���8uE��u
E1��DH���f��D��1��~��H�L$dH3%(����H��([]A\A]A^A_�f�H�L$Ic�H�H��H9�r�Hc�H��(H�H9�s�f�{u�1�H�ھ�D��D�c��m����x�C�ƒ�Af��At�$H�L$���u�A��t�1�H�ھ�D���m����x�H��[��e��D���B}���/����Xc�����UH�5J9H�=qr1�SH��(dH�%(H�D$1��ae��H��t+H��H�L$H�T$H��H�5Fr1��{����t)H���^��H�t$dH34%(H��u&H��([]��H�D$H��H��H�D$H�,���b����UH��SH��XdH�%(H�D$H1�H�D$H��tu�o
�oR�oZ )L$)T$ )\$0H�L$H�T$1��wg����H�D$H�E��uH��tH�@H��t
�x��K��f�H�t$HdH34%(��u2H��X[]��H�f�)D$)D$ )D$0H�D$���a�����UH��SH��H��hdH�%(H�D$X1��R%�����t`�H�=qH������������H�=�pH������������H�=�pH���������f�1�H�T$ H��H�H�L$)D$ H�D$)D$0)D$@H�D$$��O����uKH�|$H��tH�W�D$�R�U�ng���D$H�T$XdH3%(uSH��h[]��E����������f�H�=�o�d��H��������P%�����E��`��f���H��t�ba��f�1��ff.�f���AT�@A��H��U��SH����H��PdH�%(H�D$H1�H���]����D��H���h��H�L$HdH3%(u	H��P[]A\��_��ff.�@��H�GH+FH�H+H��H��@BH=?BH��H��k�dH��H��?H�KY�8��m4H��H��H)����H�WH+VH��@BH�H+H��?BH��H��H������������AWAVAUATU��SH��H����t$dH�%(H��$�1��zu��H�D$I��H���lH���H��H�x�Tf��I��H���OH�\$H�5nL��H���1t��A�I��H������H�l$ A���@�D$9@�M����L���
H����������!�%����t������D�H�JHDщ�@�L��H��L)�A�/I�|�OX��H��H�5}m1��s��I��H��uE��uQH��L����QZ�����i����t$L���]H�����t*1�L���H�5�m��h��M���M���f�1�L���D$�R`��L���J`���D$H��$�dH3%(u$H���[]A\A]A^A_Ð�����뻸����E1���]��f.���USH���v���H�=E}%H���}K��������q��H�=,}%����B�������q����x���!w��H��H�}%[]�H��|%H�5"l�1���g��H��1�[]�ff.�f���ATI��UH��SH��dH�%(H��$�1�H��H����<����xi�M%��uOL��H���[����uPH���8F��H���H��H���b��H��$�dH3%(u*H�Đ[]A\����L%�@��������T\��@��������fD��AT�
1�USH���)f����t��[]A\�@H���P��H��t;D�`�"]��E��uH��H�5�k�1��f����[]A\�D��[��]A\�fD��\����f���AT�
1�USH���e���Ņ�t��[]A\�@H����U��H��t;D�`�C��E��uH��H�5:k�1��'f����[]A\�D��[��]A\�fD�KC����f���H��H�=��|q��1�H�=kH���+n��H�=7�_q���H�=�jH���n��H�=F�?q���H�=�jH����m��H�=�t�q���H�=�jH����m��H�=�j�p���H�=�jH���m��H�=�j��p���H�=fjH��H���m�����UH��AVATSH��H�$H���L�@jdH�%(H�E�1�L����H��I��L��I�־��H���hL��P��lP��pPH��iP1���I���E�L��H����������!�%����t��H�s�����D�H�WHD�H����H��H�� � Y��H�s0� H��0H�xH�Q��]��H��8� H��`H�x��X��L��L���S��H�E�dH3%(uH�e�[A\A^]��AY�����UH��AWAVAUATSH��H�$H���L� idH�%(H�E�1�L����H��I��L��I�׾��H��CLL��P�CHP�CDP��`P��dPH��hP1��H���E�L��H����������!�%����t��H�sL�sP�����D�H�WHD�����H����H��0Hc���W��H�s#� �S"H�x��Hc���W��L��� I����A��L��I�}L�srH�PH�Ô�W��L��� I���A��I�}L��H�P�}W��H��� I���A��I�}H��H�P�_W��L��L���$R��H�E�dH3%(uH�e�[A\A]A^A_]��W�����UH��AVAUATSH��H�$H�� L��gdH�%(H�E�1�I��Lc�H�����H����I��I��H�������H�A�FLH�߹PA�FHPA�FDPA��`PA��dPH�<gP1��G���E�H�ߋH����������!�%����t��I�v�����D�H�WHD�A����H����H��0Hc��@V��I�v#� A�V"H�x��Hc��%V��E��L��fH��H����H�����H��H)�H��1��qF���;t
@H���;u�L��� H��I�O�lnPL����?��H�{L��H�P�U��H����L���vP��H�E�dH3%(u
H�e�[A\A]A^]��V��D��UH��AVAUATSH��H�$H���L��edH�%(H�E�1�L����H��I��L��I�־��H��L��P�CHP�CLPH��eP1��E���E�L��H����������!�%����t��H�s�����D�H�WHD��S���H����H�� H��&Hc��T��H��� I���>��I�}H��H�P�T��L��L���UO��H�E�dH3%(u
H�e�[A\A]A^]���T��@��AVAUI��ATI��USH���%H��u�0H���H��t$��lu�H��L��L���a��H���H��uݐH�q�%H��u�rf�H��xH��td��`��u�{Pu
�{r��L��L��H����\��L���A�>ufD��I��"��t�A�>t��L��L��H���d����@H��%H��u
�(f�H�[`H��t�{Hu�H��L��L���SB��H�[`H��u�[]A\A]A^Ð����x����e���ff.���AWI��AVI��H��AUI��ATUD��SH��HH�$dH�%(H�D$81��=���� �}L�d$�!L��H��I�|$�D$�_A��M���V�����D$�D$Hc�E1��M���M����H��L��L����<����u�M��0I�r�H;4$w�E1�1ҹ�1�f�H9�v3����twD��I;�`sgA��>8��u^�������H9�w̓D$M�����|$��M;�0���T���I�W0I�~0H����7����MO��9������t�M�D���I�|�(��tK�I9��`���M���M�������|$~�|$u2H�\$8dH3%(L��uGH��H[]A\A]A^A_�A�����DE1���A����������M�������Q����AUATUH��SH��H��H��8dH�%(H�D$(1��$;���� v1�H�L$(dH3%(��u]H��8[]A\A]�I��H�P�!H��I�}I�Ĉ$�"c��H��t�A��1�Mc�@H��L��L���;��H�������H��u���Q��f���AWI��AVI��AUATUH��SH��H��H��HdH�%(H�D$81��j:���� ��L�l$�!L��I��I�}�D$��>��H���kH�D$A��E1�Mc��L��H��L���b:������L��0E1�1Ҹ�I�r�L9�vJ���;8��A�Ã��E��t��H�|�(H9|�@��@����� �������H9��D��H;�`r���A������38��@�ǃ��@��t��H�t�(H9t�@��@���������t*��L9���D��H;�`r���@���H�\$H���H�����H�D$H������hM���A9�h��1���u��H�L$8dH3%(��H��H[]A\A]A^A_��A�����L���f�A��������f�M��t	M;�0vRI��H���H���?����R���f.�H�|$�$���H�D$��h9�h������X�������I�V0H�{0H����3����LO����M���&���A��h1�������������������?N��ff.�@��H�~%H�~%�ff.�f���H��}%H��tH���H��}%Ð��AWAVI��AUI��ATUSH��H��H�|$H���X7���� �/H����"���I���>��H��H�������>��H���H����D�eH�}�!L���p;��H�](H�}0L��H���`H���_��H�D$H��0H�H����A��L�u(E1�Mc���E��LH���I��H��ttH��L��H��H����6��H��0L��H�{(H��0A���.2��E���…�����t�H���M��tCI���H��H��[]A\A]A^A_�H���O��f�1���@HDž���HDž�H�D$H�(�fD��AWAVAUATUSH��H�H����H��H�{I��H�$I��N�<��V��������E1��)DH���H����H�}L��I��H����U������u�L9�0u�H�4$H�{(L���5����u�M��tvH���I���H���H��t�N��H��H��[]A\A]A^A_�N���L9�0�i���H�4$H�{(L���D$�O5���L$���I���H���H�E�fDH��[]A\A]A^A_Ð��USH��H�H��t3H��H���H�EH���H��t�|M��H���tM��H�]H��u�H��[]�@��AUATA��H��USH��H��8dH�%(H�D$(1��T4���� wVI��H�޺!H��I�}�$�8��H�vz%H��t0��Hc��D9�t��uH�{H��L���V4����tH�[`H��u�1�H�L$(dH3%(H��uH��8[]A\A]��DJ��@��H�
z%H��y%�ff.�f���H��y%H��tH�P`H��y%�@��AWAVAUATU��H��SH��H���q3���� ���h�I����:��I��H�����h���:��I�FXH����A�.H��I�~�!E�f�7��H�Wy%H�����9���A��E1�M�nMc��@H�S`H��tW�
I��9�NH��9�u�H�{L��L���3����~�I�^`M��uEL�5�x%�
L���K��f�E1�H��L��[]A\A]A^A_�I�V`L�s`��I�F`�I�^`�L����f���AT�
UH��1�SH��H��dH�%(H��$�1�H�\$$H�\$�R��H��D$l�*��1��
H��H���tR��H��D$h��)��1��
H��H���VR��H��H�l$�D$ ��)��H�t$H��H�D$"H���|/���|$ H��I���
0��H��t0�T$lH��&H�t$L��H�D$"�P&�T$h�P"H��H�D$�8/��H��$�dH3%(uH�Đ[]A\���G��@��AVAUATUSH��w%H�����+I��A��9�t`E1��H�C`H��to�(I��H��D9�u�H�{L���NQ����u�M��tMH�C`I�F`H�{XH��t�I��H��[]A\A]A^�I���H�{�Q����u�H�C`H��v%�fD[]A\A]A^�ff.�@��USH��H��v%H��t3f.�H�k`H�{XH�-�v%H��t�7I��H��H���,I��H��u�H��[]���H��H��t�OD��u�VD��u�Lt�PH9WHHM��D�xLt��H"8O"|�PH9WHHM���D��AWI��AVI��AUA��ATA��USH��dH�%(H�D$x1��/���� �QL��H��L�t$�/��H�Ń� �5L�t$ L���!�\$ I�~�3��H�t$H�D$PH�|$Q�!@�l$PH�D$��3��L�=�u%M����H�D$�E��H�Hc�H�D$�A�GD��tD9�u+E9gH%H��L��L���W/����uA�GL������tA�M��xM��u�H�L$xdH3%(H�D$��H�Ĉ[]A\A]A^A_�f�I�G"H��9��H�D$I�#H�p��.����u�H�|$L����[��M��xH�D$M���D����f.�H�D$�n���f�A�G"9��S���H�T$H�t$I�"�.����t��7����D��f���H�mt%H�^t%�ff.�f���H�Et%H��tH��xH�2t%Ð��AWA��AVI��AUI��ATUSH���L$�-���� �#L��H���-��I�ă� �����5��H��H��������5��H��pH�����D$D�{DH�{L��@�+�!�CH��1��D�c"L��H�{#�!�1��L�5s%M������A��H�C"E1�Hc�Mc�H�$�@@u(H�4$I�~"L���>-����8uE9~D0|
�D$A9FH$I��xM��H��tgI��H��H��L���-����~�L��xM��t6I��x�H���uE��D1�H��H��[]A\A]A^A_�Hǃx�H��r%���HǃxI��x�ff.����AUI���
1�ATUSH��L��H��dH�%(H��$�1�H�l$ L�d$BL�d$H�l$�cL��L�$���#���
1�I��H���BL��L�$��#���
1�I��H���!L��L��D$d�#���
1�I��H���L��L��D$h�w#���
1�I��H����K��L��L�l$�D$l�T#��L��H�t$H�D$"H���)��L��H�t$H�D$"H����(���L$h�T$dL��H��I���\>��H�H��td��$���d��$�H���`�T$dH��PDH��T$h�PHH��T$l�PLH��$�dH3%(L��u3H�ĸ[]A\A]�D�L$h�T$dL��H���4��H�H��u�E1���@��ff.���SH��0dH�%(H�D$(1�H����)��H��tzH�$H�\$ H�t$H��H�D$ "H�QPH�T$H����'��H�$H�t$H�D$ "H��H�QrH�T$H����'��H�$H�t$H�D$ "H��H���H�T$H���'��H�D$(dH3%(uH��0[��5@��D��USH��(dH�%(H�D$1�H���)��H��tS�
1�H��H���I��H��H���l!��Hc�H�t$H�D$"H��H��H��H�H�$H�TQPH�T$H�T$�'��H�D$dH3%(uH��([]��?��f.���AWAVAUATUSH��H�_o%H�����kDA��A��H�t$I��9���E1��H��xH�����hDI��H��D9�u�D9sHu�H�{L���I����u�H�t$H�{#��H����u�M��t}H��xI��xH��pH��t�VA��H��H��[]A\A]A^A_�@A��9KH�r���H�{L���H�����^���H�t$H�{#�H�����H���H��xH�wn%�DH��[]A\A]A^A_�f���USH��H�Gn%H��t9f.�H��xH��pH�-#n%H��t�@��H��H���@��H��u�H��[]�f.���H��H��tH��H�=,N�3��1�H���D�1��|>��H�������H�=�m%�t�@1�H�=�m%���f.���A��H��H��H��H�=�m%�$O��@��H��H��H��H�=dm%��8�����H��H��H��H�=Dm%�G#�����ATI��
1�UL��SH��dH�%(H��$�1�H�\$ H�l$HH�$H�l$�F��L�牄$��j��1��
I��H����F��L�牄$��I��1��
I��H���F��L�牄$��(��H�T$H��H�D$"H����#��H��0H�t$HDŽ$P�H���?L��H��$PH��H��I������H��tR��$�H�t$L�牐p��$���l��$�Hǀ`"��hH��8H�T$H��`�R#��H��$�dH3%(uH��[]A\���;��ff.���H��H��H��H�=�k%�'-�����H�=�k%�&����AWAVAUATUSH��X�t$L��$�dH�%(H�D$H1�H�����B�A�փ���H��H��M��M��H���EH�=6k%H���$������M	���H��E1��#��I��H���I�G&�I��"H�$H�Ǿ 1�L�&K��*��A�W&�҈T$t(�9��H�$�T$H�0�Vu�_H�����u�H�I�XI�GHH��t
�<��I�GXM����L��A��#��H��H�A�|�*��H�<$L��D����-��I��H����H��H�xP�"�<(���D$I�|$r�"��H�MJHD�H���(��I��$��"H���(��I��$pE�|$LH�I��$`1�H��tI�$�6<���$IDŽ$p�0DH���3K��M��tI��0I�u(I�}�
3�������H�\$HdH3%(��H��X[]A\A]A^A_�f�M��t�M��t�L��L��H�����I��H��t�H���H��t�;��IDž�H���!��I��H�������h���fDM��t	M���h���H�(I���fD�D$ A�L�d$ �n���L�D$ L��"H�L$L��L�D$A��&��H�L$L�D$�A�M��H��D �*����8��f���AVI��AUA��ATI��USL��H��pdH�%(H�D$h1�H����M������t	M����L��H�l$@�I��1�M��"L�[H�� H���(��H����H���!��I��H��|�*��D��H��H���"��1�H�L$hdH3%(��H��p[]A\A]A^��H��H�=�G�L��������L���H�=xg%L��L�D$�C ��L�D$���*���L��H��L����0������f��D$H�\$�\����L�t$A��H�޺"L��Mc�L���1%��B�D$�1����7�����I���������I��I����I��E��L��I��H��H��H��H�I)�I��L�I��H��I��H��L��H��H	�H��H�I�H)�H��I��H����H����L�H��I��H��H��H�H)�H��H�H��H��H��I��H��H��H	�H�I�qH)lj9������H��H����H�H�4�H����H��H�pH��H����H��H	�H�B��H��H����H�FH�4�H����H��H�pH����H	�H��@��H�G���H�WH9�s���H�Ð����3�����L�GH�ND��)�H�BH�+I9ȃ�H��ff.����H�H�H�v�3��ff.���UH��H��H��SH��(dH�%(H�D$1�H��H���r!��H��H���WO��H�D$dH3%(uH��([]��5��ff.����o�@��H�GH��ff.����1�H�u	1�H�?���f���H��tWH��tRH�L�H�GH9Fs"L9�t-A�@�@H9������D���1�L9�u���� ��t��H�ø�����f.���AVI��AUI��ATI��USH��H��t�)��t=�H��L���I���Ņ�xzL��H��L����K���� u$1�H�[��]A\A]A^��K��[��]A\A]A^Ã�@u3H�CI9Fu-H�I9u%1�M��t�[��]A�$A\A]A^��1�빽����벽�����fD��AWAVAUATUS�H��x�oH�|$H�T$;L�t$,L�l$@L�d$0dH�%(H�D$h1�H�D$P)L$0�D$eI��)�H�D$H�T$�@I��L;|$tmH�|$0H�t$8L��L��B�,;��7���D$,foD$@L��0)D$0A�G�e9����t�Hc�H�|$Ht$�,��H�D$hdH3%(uH��x[]A\A]A^A_�H��������2��f���USH��H��(dH�%(H�D$1�H���tI��H��H�$H�FH����H�D$�h0���-H�{H���YG��H�D$dH3%(uH��([]�f��;G�����2��@��AWAVI��AUATUH��SH��8dH�%(H�D$(1��3��A���-�������D$�0��E1�L�d$I���>@H�}H�uL��I��A��0��foD$��H���0E�nB��A���tI�M��DQu��D$��uHH�L$(dH3%(D��u[H��8[]A\A]A^A_�fDA�^�D$I��E1����V���@�E�H���H�E�E��H�E��A���E1����0��f.�AWI��AVAUATI��USH��8H�$L�D$D�L$dH�%(H��$(1�H�����?H�����:H���&��I��H����H�-�%L�uM��u�MDI�nM�vM���7I�>H���$:����u�H�EH�hH�XH��u �Rf.�H�]H�mH���7H�}L����9����u�H�H�$L�xH�H�HL�+H��$(dH3%(L���IH��8[]A\A]A^A_�fD�1��L0��H������@H�l$ �H��H������:H�����H��t9�D�L$L��L��L�D$H�$H��H�X�v���I��H���`���H���DD�L$L�D$L��L��H�$H���D���I���2���@���) ��H��H�EH������H��H�T$�<E��H�T$H������0�����H�H�������L$L��H H�+�D��H�|$H�EH�������H�+��D��H�E(����.��f�AVL��>AUI�͹ATA��UH��SH��H��L�
r^%dH�%(H��$1��a^%I��H��RL���V�P1����H�� =�8L��L��D���B��H��$dH3%(��H��[]A\A]A^���Hc��5��UD�
�]%H�
>SL��]%H��I��H������1��
��XL��ZD��L���A��H��$dH3%(uH��L��[]A\A]A^��/���^-��ff.���A��a������I��H��H��H��1��6��f���E1��4���@��E1��$���@��I��H��H��H��1�����f���AWAVAUATI��USH��dH�%(H��$1�H���\�?H���P�:H���3��H���RL�-�%I�]H��u�DL�kH�[H����H�;H���46����u�L�sM����M�>L��L���6��I�n���IH����H���f.�I�^I��L��M���}H�}L����5��L�m��u�H�EH��t��H�H�@H�8H��t�:.��H�H�@H�H�H�@H�x(H����.��H�H�@H�@(H�H�BH����L�jH��$dH3%(�-H��[]A\A]A^A_���1���+��H�����@H��H��H��H���2���:H�����H��t �H�XL��H������H���u���H����L��H�������`���I�FH��t��H�CL�8M��uqH�x(H��tP�+-��H�CH�@(H�CH��u6I�EH�h����f�H���,��H�H�@H���DH����,��H�C�fDL���,��H�CH�H�C�s����7*�����H��1����f���ATL�%�%USI�$H��u�?fDH�0H�;����H�CH��u�H�;H��t�O,��H�kH���C,��H��I�,$H��u�[]A\�f���UH��SH��H�$%H�H��u
�f�H�[H��tH�;H���l3����u�H�[H��H��[]�f.���H��tHUH��SH��H���f�H�[H��tH�3H���(����u�H��H��[]�fDH��1�[]�1��ff.����H��tWATI��USH�H��H��u�H��H�BH��u�H�Z������H��H�H��tM��tL���	?��H�E[]A\��ff.�@��USH��H�H��t4H��H�;H��t��*��H�EH�H�}H�_��*��H�]H��u�H��[]���H�5]X%�`8����USH��H���$H�(H��t4�H�]H��t�H�CH��t��H�[H��u�H�mH��u�H��[]�ff.����H���	1��-��ff.�f���S1��	H��
dH�%(H��$
1��5(��H��t01��	�$(��H��$
dH3%(��H��
[�@H�=:����H��toH�
�7H���H��H���
QH��L�
�7L��7PH�k9�
R�PH��9j:P1�j:���Ƅ$?
H��H��@�8;���S���H���H��H�����&��ff.����H���1��
��ff.�f���H��1���,'��H��t�1�H���'���H�=�6���H��6H��HD�H����!���1�H����&��ff.�AVI��AUATI��H�=�6USH��dH�%(H��$1��,��H��H����?�f:�����H��A���!?������H�5�H���'��H��H��uR�H�5�(L���������D���:��H��$dH3%(��H��[]A\A]A^�DH��L���%��H��
�8*��H���`'��H����"�������H��� ����H��H�5�7�1���/���<���DH��H�5�7�1��/���Q���D�[.��H��H���ATI��L��5H�߹�1����Ƅ$XZ����$��ff.���H���1�����ff.�f���H��1���$��H��t�1�H����$���H�=5����1�H����$��@��AUATUH��SH��H���$H��L� H���HD�M��tfL�-�4I�$H��H�5�61��I���.��I�\$H��t+�L�K(M��tL�H��H��L��1��_.��H�[H��u�M�d$M��u�H��[]A\A]Ð��UH��� SH��1�H���1����tH��[]�f�1��#��0����u�H��H��H��[]���ff.�@��S�H��1��#��H��[H���P����AW� AVAUATUH��1�SH��dH�%(H��$�1��i0����t-H��$�dH3%(��H�Ĩ[]A\A]A^A_�@1��$�,0����u��,����L��$�H��I��L�!31�U�L���S��L�l$L���L��Ƅ$��V��^_��L��$���uZL�53��+��S�
M��UI����
L��1�����L��L��Ƅ$����ZY��ud����u�H��L��H�66�
P��
H�_6UL�
�4L�x5UUP1����Ƅ$�L��H��0H���������f�L��L�������t��1�L��L��H�5P2�,��L���������k���L��H�5H2�1���+���P����!�����AV� AUATI��1�USH��dH�%(H��$�1��{.����t'H��$�dH3%(�H�Ġ[]A\A]A^�1��$�D.����u��*����H��$�H��I��L�911�AT�H���j��L�l$H��L��Ƅ$��m��^_�Å��j���L�5/1�������M����)��S�M��ATI����H��1����L��H��Ƅ$����ZY��u�H���W
�����u�H��H�5�0�1��|*������D��H���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��H��H�D$H�5��H�D$ �H�D$�$�D$0��)O%H�D$dH3%(uH����������H���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��H��H�D$H�5�/H�D$ �H�D$�$�D$0��H�D$dH3%(uH����������AUATI��UH��S��H��dH�%(H�D$1��
��H����I��t,�@ 9�t$1�H�T$dH3%(��H��[]A\A]�H����H���'��H�\�H9�s'�H���fDH���CH9�t
�3H��Dq u�H��L��A�U�f.����{���1����*�����g���L��H�=^.�T�����R���@�D$H�l$�j������@��H��1�H�=}~�[��ff.���H��1�H�=]~�
��ff.���H��tXUSH��H���/@��t>�a��H��@H���+@��t$@��DB u�@��#�HE�H��[]�DH��1�[]�1��ff.����������AWAVAUATUSH��(dH�%(H��$1�H���$H�H���`L�|$�I��A��L�d$H��L���	��L��H�5#-L���#1��H��H���8�8[��H����DH�{H����
��H�[I��H��tH��t�M����H�����H��L)�H�|L��o ��D��H��L��H���n��H��$dH3%(�	H��([]A\A]A^A_�DH�����H�D�H���8]uZ�H�����H��H����L��H�5A,1��B0��H��H��H���
��I��M���N���1���l(����uTE1��6���1�H��H�=,���������G���H�=60���������1���1�L��H�=�+������������1�H��H�=�+�����������1�H��H�=0������������9��f���SH���3��1���'����u1�[��H��1�[����ff.�f���H��t_AUA��ATI��U��SH��H�H��tDH�;�����H�[H��u�E��uH��[]A\A]�DH��L��[]A\A]���fD������H�=�I%�V
��fD����H�=iI%�<
��ff.����H��tXUSH��H���/@��t>����H��@H���+@��t$@��DB t�@��#�HE�H��[]�DH��1�[]�1��ff.�����'�����H�����H�����H��H���o��ff.�@���������H���sAUI��ATUSH��H���M�/H��A��@��"t
@��'��H���@8�t2��t6<\��H��E��~�I�UA����A�E�I��@8�u�@��H��E��~A�EH��H��[]A\A]���f�H��E��~I�EA��tMA�mI���+@��t��y��@��H��DP u�@��\u��C��t�E��~I�UA��unA�EI��H���A�EI���fD�S���8���E��~I�EA��u%A�EI��H������@A�EI����A�UH��I�����A�EH��I���J���H��1�[]A\A]�1��ff.�f����������AWAVAUATUSH��H�$H��x�
�F%H�<$H�t$�T$ dH�%(H��$h1�H��F%H�D$��F%�D$$��u
�}F%H�<$H�5p����I��H����[F%�����MF%������H�$L�l$`���/F%I�E1�1��9F%H�
*F%�F%H�D$E1��=f.�N�|5��L��D)�L����#��H��tFL���^���I�J�D5��8
��I�FH9�r�H��H��H����%��H���yH���@A�L���T��H���E%�u��H��tXE1�L��H���M�I���D$`<[��L�t$<i��M����L$ L��L��L���5
��M������@H������D$$�-E%�'E%H�D$H�E%1���@�H��E%����H�������[����L��
H����������!�%����t������D�H�JHDщ��H��L)�H���|`]��H�|$�D`��I��H����M���%L���L���3�I��M������L��H�=�*1��������H�=�%���H���|��L�����������H��$hdH3%(��H��x[]A\A]A^A_�H�t$H�='%1��3������H�5b%L���*����unH�5O%L���g�����/H�5@%L���P����uXM����L�����I��H�����|$ �/���L��H�=
%1��
������fDL�t$���H�D$���H�5�$L����������H�5%L��������u�M���WL���y���H�L$L�|$@H�D$PH�L$H���2H��H�=�#M�t�L�������uA��|$ H�t$@�U��A�>uA�.���^����|$ �S���L��H�=�(1���	���=���f��|$ �0���1������������L��H�=O(�b������M����A�?/L��$`��gH�4$L������/L������H���h�@�L��L������D�|$ H�t$L��D������������A�������L��H�=�#1��	���u����|$ �j���L��H�=�'�����V���H�t$H�=7'1������>���H��$`H�D$(L�����H��H�����z.t�L�BH�T$8L��L�D$0�����~˃�H�T$8�H�=
"H�L�D$0H�t�����u�H��M����APH�|$8L��������XZ�T$ H�t$H�|$(�����]���L��� �����L��L���������|$ H�t$@�H�����Ƅ$`����H�=�!1�����L���+��������R����H�=5&���^����t1��
tH�<$�I��������� �������
���������������������@��U��SH��H��H���y�H��tH����H��H��[]����H�������[]�@����(��f���AWAVA���AUATUSH��1�H���dH�%(H��$�1�H�D$���H����I��H����H���%��H�D$H��H����H�l$H�5;!�����H���f$��I��H��t^L�d$ �(�L������H��H�5!1��7$��I��H��t/L��L�����
����u�D��L��L����'�����D�빐H�|$���H��$�dH3%(��uH���[]A\A]A^A_û�������s��AWAVAUATUSH���T$H�L$L�D$dH�%(H��$�1�H����I��H�����t$��A�����H��$�H�D$(H��H�D$0H�D$@���teI��<:tf�I��A���t<:u��$��tA��$H�T$H�޿��	����u�D$HH�T$%�=@tO�$I�_��t�H�D$(H��tH������H��$�dH3<%(D����H��[]A\A]A^A_�fD�
H����������!�%����t������D�H�JHDщ�@�H�D$H��H��H)�H�����A�ƅ���L�t$M��t!L���{���L��H��H�����A�ƅ���H��A�4$I�ٹ,��,H��1�L�jA����Ƅ$�I�t$H��ZY�T$�
��I�ٹ,H����,ED�H��A�4$1�L�t�U���Ƅ$�^I�t$_H��T$�:
��D�$��ED�E�������I�_����fDL�|$ L�|$fDAVI��L��H��A�4$�,�1��,����L��H��Ƅ$�����AYAZ��u&I�t$�T$H��������DD�A��A��u�L�|$ ���A������������ff.�@��AWAVAUA��1�ATUSH�� H����������1����������H������H�=�I���C�H�=7I���4�I���|��H���D!��M��D��H��H��H��M��t0L��1��f��������H���7
��H����[]A\A]A^A_�fDL���8���H��A���

�����H���� ��H��M��D��H��H��H���	�����t�1�E�������������f���AUATA��USH��H���$�Z:%H���t^H��tj�����E1�f�H��D������H�[��AD�H��u�:%��tH�5� �1����H����[]A\A]�@�S��������H��u����������S1���?
��1�1��H�����H��tT�;-tD1��M�1�H���#���1��W���1�����1�1�1�[�j��f.�H�{1�����1����ff.����S1���	��1�1��H�����H��tW�;-tD����H�����1������1��0��1Ҿ1�[�����H�{��R����h��fD��UH��SH��H����8%��tH��H��H�ߺ
[]�P�H�5)�1��
���S8%�ː��H����H����AWAVAUI��ATUH��SH��H������H�1���H��H��H���H9�v{�4f�ru�@�� tٸ0xA�EI��L�<+fA�E�L�5�M���D�L��L��H�����1�H��I�����I9�u�H��I�Dm[]A\A]A^A_�f�H9�u�A�E"I�MH��H��H������"H�f�MH��H�E[]A\A]A^A_�H�GH��u
�""�Gf��f�0x�G�D��AWAVAUATUSH��H�$H��8dH�%(H��$(1�H��H����H�������I��H����I���H�5��(����t|I�uH���'�UL���|��H�}I����fDH��$(dH3%(L���H��8[]A\A]A^A_�@H�5A�1����DE1��I�^H���|�H���+H)بu�M�eH��H�D$M���GH�UH;T$�XH�D$H����M�lFL�|$L�5	�!��D$I��H��A�D$�L9���1�L��L��H�������t��\���@I�}��H�E���fDH�\$ L���H���K��H��I�ċH����������!�%����t������D�H�WHD����H��H)�H�}H���a��I�EH������H�UH��H��H���A����t���@H���p�����I���H�D$A�$L��H�E��I���:���f�H�x���I��I�EH��������b���f�H�L$H�5��1��8��H�EH�����H���0�I������S�����g����AUATUSH��H��H��tZ��~G�B�H��L�%]L�l�@L�EH��L��H�����1�H���_�H���w�H�L9�u�H��H��[]A\A]Ð�[�H�H�\�NULLH���BH��[]A\A]�f.���AUATUH��SH��
dH�%(H��$
1�H����H�������I��H����H�>H�����H�=�H�������u2H�EH����H��$
dH3%(uoH��
[]A\A]ÐI��
H��L������I�4$H��L�������u�H�Ef�1��@H�E��
��I�$H��t�H�E��T������ff.����W�����H����H������C��U��H��SH��H��H��Hc�H�>��f�H���������u7�H�=��H�������tH��1�[]�fD1�1�H������H��H��[]�<��@�
1�H���������H��H��H��H��[]��@H��H��H��H��[]���@1��ff.�f���AUATUSH��(
H�T$dH�%(H��$
1�H���/H��H���#I��H�Ճ�@�C����F�t~b���������H��H�t$L�����I�$$H��f�H��$
dH3%(H���oH��(
[]A\A]����C��H�9��L�l$H�ߺ
L�����1�1�L��H�����EI�$�@��K��}^��uJH�9vDL�l$H�ߺ
L���N���
1�L��H���L
���EI�$�<���@������1��(����H��H�t$L���`�H�������H�9v�L�l$H�ߺ
L������L��H���*����E���t:I�$����DH�9v�H�H�����H����H������H�=6�L�������t�1��w����r���f���H��t/H��t*��Cw%U����SH��H��H��Hc�H�>���1��DD�	D��H�
kH������H��1��|�H����H�H��[]�f.�D�	D��H�
&�@�;H�1H��H�{L��[]�H����@�;H�1H��H�{L��[]�(����9�Y�D��H��H�
*�I��H������1����H����H��H�[]�1��X���f���E1�H��tL�H��H�� ��f.�D���ff.����ff.����ff.���1��f���H����@���ff.����ff.����ff.���1��f����ff.����ff.���������fD��������fD��������fD���ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.���1��f����ff.���H��H�!�$1�L��H�5�H�=����H���$1�L��H�5�H�=����L��1�H����H�5�H�=�H���k��f.�����G�����������'�����������H��t�"���f��ff.�@��H����ATUSH�H��H=�w-H��H�?I��H��tIH�����H��tIH�E�I�$[]A\�H�����H��H�?H�H H���I��HG�H��u�H���n��H��u�[1�]A\�f�1��ff.�f���H��A��H����A���H����AWAVA��AUM��ATI��UH��SH��H��M��u��v@E��tkH��L��������t\L�}L��� �I�TH;s�I�<$H��t=L�L��H�P��H�]I�<$H����HøH�]H��[]A\A]A^A_�1�H��[]A\A]A^A_��1��D��H��t���f��ff.�@��UH��SH��H�7���H��H��tH��H�������xH�H�EH��H��[]��H�uH��1��
�������1�H��t=UH��SH��H��H������H��H��tH��H��H����H��H��H��[]�fDH���@��H��tWATI��UH��H�~SH�����H��t,H��H��H���n�H���M��tI�$[H��]A\�fD1�[]H��A\�fD1�H���f.����ff.���UH���SH��H��H��t�|5�H�F�H�~t/��H��H��tH��H��H������H��H��H��[]�H��H������AWAVAUATUSH��H��A��H����A�u0H��t+L�7G�|H��I��H��M��M��t.L9>sGL�D$����E1�H��D��[]A\A]A^A_��L���L�D$��M�<$L�D$I��Ic�H��~zH��M��@���<
Ƀ�ٍDWA����<
�I��H����ٍDWA�@�H��H)�H9�|�A�L9utL�uM�<$�d���DL�>����L�D$��t��F���f�M����ff.���H��H��I��H��dH�%(H�D$1�H�H��H�$�c���H�T$dH3%(uH������f���AWH��I��AVH��AUATI���U���S��H��H���E�H�T$�����H�I��H����A����L��I��M�L9���;���H�0�UfD�P���KA�U�<NH��f��tdI����f��t�H������HɃ��H��A�U�L9�����<FH��f��t �����f��t���A��v��P���뇐��L���F��H�������[]A\A]A^A_�f���A�4$H�H���4pf��tʼnЃ�f��t
�B�<wR�BɃ�M�nA�I�\$����H�H�����A�U�L9��N���H�D$L�0H����[]A\A]A^A_�fD�B�M�n��I�\$A����f���AWAVAUATUSH���L$H���I��H����I��H����L��M����A�(I��fD@������I��H��I��B�� ��@��.�������
1�H�����H��=�I�$I;r�D$��tnL��L��������t_I�$I�U@�,I�$H�I�H��DB�i���f�H��H�H��DBu�@���N���H���[]A\A]A^A_ÐH��1�[]A\A]A^A_���kH������ff.���AWAVAUATUSH��(�L$dH�%(H�D$1��D$H����I��H���}H��H��tuM��M��tmE�8I��L��A��0��H�D$H�D$E��tB�%�I��H��DPtI�V�DPuSH��t&A��H������H��tI��E�>E��u����1�H�L$dH3%(��H��([]A\A]A^A_�H�T$1�H�5*L�������t�H�EI;Er�D$��t�L��L���!�����t�H�EI�$�L$�H�EA�~t�I���h���f�A�@���<X����E�xI������m�ff.�f���L�
!��p����SH��H�$H�� dH�%(H��$1�H�\$Hc�H��I��H�T$�H�L����H�|$��~LH������@��~9H��H�J@��@~��o�oJ��@�oR �oZ0)K)S )[0)�D$P�ȐH��t��H��$dH3%(u	H�� [���D��S����1�H��H������H��[�f.���H��t1������ff.�@��SH���H�� dH�%(H�D$1�H������xCH�$H�L$H��S㥛� H�H��H��?H��H��H)�H�SH�D$dH3%(uH�� [�f�1�H���F������ff.�@��H�H��tH���\�@SH�������H�H��u[�H��[�7����H�H�vH+wH+H��@BH=?BH��H��Hi��H��H��?H��S㥛� H��H��H)�H�Ð��H�H�vH+wH+H��@BH=?BH��H��Hi��H��H��?H��S㥛� H��H��H)�H�Ð��H�NH+OH��@BH�H+H��?BH��H��H�KY�8��m4H��H�4�H��H��?H��H��H)�H���ff.�@��H��t7ATUH��S���y��H��I��H���K���L��H����Hc�1�[H9�]A\���1��ff.�f���H��t7ATUH��S���)��H��I��H������L��H���P��1�[H9�]A\��Ð1��ff.�f���USH��(dH�%(H�D$1�H��tNH��H����d�H�t$H+uH��@BH�$H+MH=?B~<�غ�Mb������)�Hc�H9�t1����H�L$dH3%(u7H��([]�@H��H����i��1�)�Hc�Hi��H9���������USH��H�����H��H��H�����H��H���E�غgfff����H������)�[]�ff.����g�����������������SH��H��dH�%(H�D$1�H��t^H�� �������H�{����H�{����H�{����1�H�L$dH3%(uEH��[���G�OH��H�� H���GH	��H	�H��0H	�H�1��f����������@��AUATUSH��H��t]�?tX�
1�H�����I�ĉ��O�H��I�����I�U�L�H��DJu&��D<3��H�C��Hc�H�>��f������H����[]A\A]�fDAi�:	H��[��]A\A]�@Ai�QH��[��]A\A]�@Ai�H��[��]A\A]�@Ak�<H��[��]A\A]��H�ڿ1������H�5r�}���H����[]A\A]�����fDUSH��H�H�����H��Q߀�V��H�5-��Hc�H�>����H�PH�H��t
�x-��H����[]�f����f���f���f���f���f�1��@��v���fDH���$H�n�H�81���������H����[]�DH��1�H��������t�9��9����+���0���f���AUATI��U��SH���G ��u$H��H�L�k(H��tFD���	��C L���1��H��K���H���[]A\A]�f.����H��뫐��ATA��UH��SH�� dH�%(H�D$1���D�$$H�l$��u4H��1����H�L$dH3%(�u1H�� []A\��1������1�H�����������b�f�USH��H��dH�%(H�D$1�H��H����H������H�ߋ0�H�PV�pD�IH�
�	D��lH�����V�pV�@�P1��g��H�� H�T$dH3%(u
H��H��[]����@��AT�I��UH��1�SH��0dH�%(H�D$(1��B�����t�E �����$H�](H��t^H��M��H���H�߾1����H����L������A�|�
�����E �H�T$(dH3%(uJH��0[]A\�DH�}H�5��X�H��H��t H�E(�f.�H������d���1��������AT�I��1�USH��H��0dH�%(H�D$(1��R�����t�x�$�����$H��
H���\�1�H��t	1Ҁx��A�D$ �A�$��t=H��H��H�5�1������H�L$(dH3%(�uGH��0[]A\�fDH�A�$I��H��H����H�81��M����H��H������_��������H��t���t
�-%����H��t���u
��%����H��A�1ɿH�aH�5��h��H�1�$1�L�b�H�5KH�=��H�������� �1�����ff.���H��t'H��H���@H�=�$�/��H��$H���H���$����UH��H��H��SH��1��H��H������H��H�߾H��1����H��H�߾H��1����H��H�߾H��1�����H��H�߾H�1����H��H�߾H�E1����H��H�߾L�;H�	1��z���H��H�߾L�6H�)1��Z���H��H�߾L��H�I1��:���H��H��H��L��[H�Y]�1�����@���%1������ff.���H��t���t�t�f.�SH���7��C H��[������H�u�$SH�H��t@���t�{tH�[0H��u�[ÐH�������fD��H��t7�u1SH�w(H��H��t�
��H�{(����H�C(H��[�@��ff.�@��H��$SH�H��t@���t�{tH�[0H��u�[ÐH�������fD��H���$H�H��t+D���t�H�Q���vH�@0H��u��D��1��ff.�@��H�U�$SH�H��u�5f.�H�[0H��t"���t�C����w�H���^�H�[0H��u�[���H��$SH�H��t@���t�{tH�[0H��u�[ÐH������fD��H�Ż$SH�H��u"�Jf.���t)H�����H�[0H��t*�C��u�H�������C��u�H��������[�ff.���USH��H��tAH�J�$H��H�H��t%�H�sH��tH������t	H�[0H��u�H��H��[]�1���ff.����H����H�5�$H�H�����WH��;Q
�+9P}#H�@0H��u��H��H�A0H��u�H�y0�fDH�P8H��tGH�z0H�G0H�x8�O��x)H�5�$1�H��H��t9J|H�<ƋOH��9�}��DH�>�1��H�>����ATA��@U���S�4��H��H��tPA����kDO���H��Hc�H�>��f�H�A�$H�CDD�cH����H�����H��[]A\�@H�ѹ$�C H�C��@H���$H�C�H�9�$�C H�C�@H�ٸ$H�C�H�A�$H�C�H��1���H��[]A\�ff.���AUA���ATA��UH��SH�����H��H��t)E��u2H��$H�8�c�D�cH��tH���2���H�CH��H��[]A\A]�H��$H�8�1��C �����ATI��U1�S����L�������ھH���U��H���$H�H��u�T@H�[0H��t7�{u�H�C(��C ��u�H���/�H�[0H��u�fD��t[]A\�������H��H��t�H�@(L���I����C H�C���u�H��[]A\���ff.����H��1��!���H��H���p����H���$S1�H�H��u�8�H�[0H��t!�C����w�H���d�H�[0�H��u߅�t[þ�����H��H��t�H�=i���H�C[����H�5�$SH�1�H��u�8�H�[0H��t�{u�H�����H�[0�H��u�t[�D���q��H��H��t�H�=^�
�H�C[����H����H��1�H��t
��H���f.���H���S�H��1�H��t
���H���f.���H����SH�W8H�G0H��tmH�B0H�G0H��tH�W8H�P8�G��x11�H���$�fDH��9G|H9<�u�H�O0H��H��9G}�H��H��L��H���D���[�DH�ѵ$H��@1��D��S��H���$H�;H��t���H�;H��u�[Ð����%��%ATI��U��S��ts��uG���O�H���$Hc�H��H��t ����t;k|L���H��SH�[0H��u�[]A\�@H����H�=5�$�3%����@��t[L��H�=�$��]A\�w���H��$��%H�8�'���D��SH�щ�H��H��dH�%(H�D$1�H��H�$���x,H�4$������H�<$����1�H�L$dH3%(uH��[�H�5q�������������-��ff.�f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�L$dH3%(uH�����k��ff.���USH��H���n����8H�����H��tOH��t"H��H��H�ڿ[H�5|�1�]����MH��H�ڿ[H�5L�1�]��f�H��t#H��H�¿1�[H�5Q�]����UH��H�5	�1�[�]�l�ff.����H��tWSH�(H��tH��[�s���H���H�5��H�HD����H��t&H�C(H������H��[�9�f���H�{[�N��ff.���USH��H��$H�H��tE1��H�[0H��t5���t�C��t1��u��u�H���(��H�߾���H�[0H��u�H��[]�H�߽����H�{�s(�_����ff.�f���AUA��ATI���U��SH�����H��H��tD�hL����H�C���t��H�����H��H��[]A\A]��%1�����������AVAUI��ATA��UH�oSH�� H�|$L�t$dH�%(H�D$1��D$H��H�l$�?�D$etI���X��=u
H�hH�l$�X��tU�p��H�H�E��H�D$H���X���t/�DY u�1�A��A�<.�H�����Hc�H�>��M��tH���$�HcI�D�H�D$�A��P���.��H�
���Hc�H�>��H�t$H�|$�m��ƃ����M����H�D$�8�pH�
�$����D9��YHc�I�D�H�D$�i���H���$H�;H��tf��+�H�;H��u���'��H��t�T$�P1�H�t$dH34%(�H�� []A\A]A^�1�H�t$H�|$���ƃ����H�L$��� uH��H�L$H���Q��� t����M����H�6�$����H�I�|�H�|$���T$�H�
<����1��L���H�t$H�|$���Ń���]�����H�ԯ$�����H�t$H�|$����ƃ���,��t
H���$��T$�H�D$���t
H���$�H���������H��H�������H�D$H���\��A�<E�1H�����Hc�H�>��H�|$���t
H��$�H���h�T$������=�1��M����T$�H�
��1���1��/���H�t$H�|$���ƃ��tD��t
H���$��T$������1���������H�|�$H�5��H�81������������H�|$�H���1Ҿ�Q���1Ҿ�e���H�t$H�|$�s��ƃ��u��f.�H�|$��
���H�t$H�|$�B��Ń�������DH�t$H�|$�!��ƃ���J����c����H�D$��V���A�����D$1��C���H�����L�c(1�H�C�ѹ����H���'���1����A�����A���A�����A���A�����A�����y���A�����i���A�����Y���A�����I���H��$H�i��H�81���H���J�����9���H�t$H�|$�����"���H���$��H�=�H��+������H���$��H�=��H����������F��fD��H��1�1��0����U��SH��H��tH�����H��tZH����H��[]����f�H�	�$H�H��u�)�H�[0H��t�{u�H�߉����H�[0H��u�H��[]��H����H��1�[�]�����H���$H�ÐAU��I��ATI��U��SH��dH�%(H��$1�H���)��t
H���T��H��tH����H��tzH��L�����L��H���7��H��tmH�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)�H���<
�w�����n���fDH�5���1��u��H��$dH3%(uH��[]A\A]����ff.�@AWI��AVAUI��ATUSH��H��HdH�%(H��$81�����H�*��H��HD�H��H�l$�I���H��H�D$H���>H�$E1�I��f.�L������H����H�l$H�$H��H�l$ �f����SH��H�D$��uHŀ}
u�E�SD���7H�{M��u	H�����C��J��2H�|$ ����H��L��L��H�D$(�S�����C���H�l$��GH�|$L���E1��E��H���?���M��t`H��$8dH3%(��H��HL��[]A\A]A^A_�g��������I��H���E���H�5���1����H��$8dH3%(�dH��H[]A\A]A^A_�fD����C��H�l$H�|$�v���fDH�|$ �f��H�D$ H���������fDH�|$H�|$ �����H�|$ ��H��H�D$ H�������1�H�5������M������=���@H������H��H�D$H������E1�����f.�L��L������C�i���DH�|$ ���H�l$H�|$����H�|$0�H�D$H�|$�c�������C�����H�5�1�����M���*�������G���AW��AVI��AUI��ATA��U1�SH��dH�%(H��$1�H���rf�E��t
H������H��tW�����I��H����H�hH����I�H����H��胯��I�GH��t�I�GL��L���g��L��H�����H��tuH��H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)�H���<
�3�����*���f.�H�5��1�����H��$dH3%(uWH��[]A\A]A^A_��H�5������H��$dH3%(uH��L��[]A\A]A^A_������ff.���AUI��ATUH��SH��H��H� �@���H�����H�x�[��I��H����I�U ����~`������������A�$H��DP�6H�5xL���������H�50�L�������uYH�E�.f���u{1�1�H��述��H�EI������8"u
I�����H�{ ��H�EH�H�EH��1�[]A\A]�H�5���1��@��H���[]A\A]�H����H�E�f�H�5���1��
���1�1�H���<��H�EI���P����8"�s���H��������I�I����\���H�5*��1�����D����H�E�/���1�1�L���į��H�E����H�5���1��x�������AWAVAUATUSH��H����M��A�Ή�I��H��I��H��twH���W��������{H�5k�� ��I��H�������������t}H�D$��H�5��1������L�D$L�������C�����9D��u�H�=l��7��I��H��tH���Ǿ�����p���L���Ƕ��E1�H��L��[]A\A]A^A_�f�D��L��H��H�D$����L�D$���M���y���D��L��L��H��H�D$����L�D$�Y����D��L��H��H�D$����L�D$�5����CtM���j���M9��a����T����{����fD��ATUSH��@dH�%(H�D$81�H����H��H��I��E1�1�1�1����H��H��ttf�H�A���L�D$H�D$ )D$H�D$(H�D$L�d$0H��tFH��1ɺH���$��H��H��詿��H�t$8dH34%(H��uxH��@[]A\�D1���@H�=��L�D$���L�D$H��I��t$1ɺH��H�����H��H��u�L�������H�5��1�����H���#����u������f���9>v��H�v�����H��H��H!��ff.�f���1�9>vH�V������H��H������AT�US�9�tdA��H����_���#H�}H�}�����پA9�~%���L�EH��H�����H��I!�A9�u�D�e�[]A\�@�����H�H��?H���4ŀ��v!H��(��H�EH����]�fDH���(��H�EH�����oE�oM �oU0�o]@�oeP�om`�oup�o��HP X0`@hPp`xp����@A��u����H��D�e�-���fDH��oE�oOM �oW U0�o_0]@�og@eP�ooPm`�ow`up�op���m���]���D1����f��E1����f���U��SH��H���9�|�tH���l����9�~�H�s�����H��H	�H��[]�����H�G�)���f���AVM��AUA��ATI��UH��SH��H��t9>rdH��tnD9mrAM��tE;,$��M�d$H�mH��tH�[M��L��H��H��D��[]A\A]A^�t���@D��H��襰��M��u��fD��H��莰��H��u�M��t4E;,$wM�d$��D��L���e�����D��L���U����n���L���o������S1�H���1����H�C[Ð��UH��SH��H������H�E�o�oKH�oS P �o[0X0�oc@`@�okPhP�os`p`�o{pxpH��[]�D���>��AUATUSH��H�F�o�oHO�oP W �oX0_0�o`@g@�ohPoP�op`w`�oxpp����FI��Lc��L��I���4������������?)�H��H��H��I!ā�u�H��1�[]A\A]�1����H�������f.�@���ff.���H�==�$H��t0H��1����H�=&�$�ɯ��H��$H���f��ff.�@��H�v@H�@���ff.�@��UH��SH��H�^H������H�}H��H��H��[]����f���UH��SH��H�^8H���ת��H�}8H��H��H��[]���f���UH��SH��H�^H��觪��H�}H��H��H��[]鲫��f�UH��S��H���@��H�ƃ��t ��H�=/�$�����u3H����[]�DH�=�$H�D$���H�t$�Ã���D�뻉�H��H�5w�1��������F���@H��t;H���.�=���H��t H�pH�=��������tH���fD1�H��Ð1��ff.�f�USH��H�$H��dH�%(H��$1�H��H�=Q�$�<������tgH����m��H��H��SI���L�.��1��ů��H��Ƅ$���ZYH��$dH3%(uH��[]�fD1���臿���ATUSH��H�$H��dH�%(H��$�1�H����I��H����H��$�I��H��1�H����H��VL�������H�T$H�޿����ZY�����D$���(����H��H����H�����L��H��	��H�C�f�CH��$�dH3%(H����H�Ġ[]A\�fDH�5���1�1��+���f�H��H�5n��1��
��1��fDH��H�5���1�����1��w���L��H��H�5c�1�������V������ff.�f�AWAVAUATUSH��H�$H��8dH�%(H��$(1�H����H�����L�|$ I���L��L�|$�D$衫���/L���T���H�����A�I����������!�%����t������D�I�WLD����I�I��E1�L+|$E1�H�D$L;d$sCI�nJ��L�TI�L�$H��t&H�0H�|$L��謧��L�$��uDA��Mc�L;d$r�Lcd$L;d$tM�&H��$(dH3%(uqH��8[]A\A]A^A_�f��D$�x�A9�}9����D)�L�H���
I�nH��H�DH�SH�DH9�u�I�VHc�L��I�I��|$H�D$�#����N���ff.���H��t/H��t*H�W1�H��t!H�NX�H9JX}1�H;Jh���fD1��DUH��H�=��SH���+���H��H��t3H���+��H���H�]H�CPH����H���H��H��[]ÐH��H�5&��1��Z�������UH��SH��H��H�vH��S����uH�uH�;H��[]�=��DH��[]Ð��UH��SH��H��H�HH�vHH��tSH��H��lHD������u,H�uH�;������uH�uH�{H��[]����f�H��[]�f�H�=�lH��u��f���UH��SH��H��H�vH������u
�9E|
����H��[]ø������@���9|&H�vH��W�����f.�������f.���U1�SH��H���̣����~.�.H�����H��tH�pH�=l�1�賤������@��H����[]�AWAVAUATUH��H�5��SH��H��(H�=V�$dH�%(H�D$1�����f�H��H�D$)$H��H�\$�PpI��H��t2L�8I��wYI�<$v"H��tH��L�����I�<$���H�|$dH3<%(L���6H��([]A\A]A^A_�f.�H��t�H��E1�Ic�轢��1�Lc��I�D$H��H��tpH�RB�<2.���s�D9�����Ic�D)�H��H�H���
DI�D$H��L�DH�yL�H9�u�I�D$Hc�H��Hc�M�<$L9�r�L9�tuI�$H�������I�|$���L��E1��������fDJ�t2H�=���������u�s�I�D$D9��O���Ic�Ic��fDA��Ic���L�������ff.�ATUSH��H�$H�����L��dH�%(H��$1�I��H���wL�H��L��軧��XZ褰��H���|���H����L���lH��H���ۭ����~g1�1�1�H���	���I��H��t1H�EH�����H��$dH3%(L��urH��[]A\�H�UH�5��1������H�UH�5��1�E1�����H������@H�5���1�E1�����x����ض������ff.���UH��SH��H��H�8H�v8H��tSH��H�RhHD��p�����u,H�uH�;�`�����uH�uH�{H��[]�I���f�H��[]�f�H�=hH��u��f���H��H�=��$H��t1��Ŵ��H�=��$�	���H�v�$H�=�$H��t1�蛴��H�=l�$�ߣ��H�\�$H�=M�$H��t1��q���H�=:�$赣��H�*�$H���������SH�=t��߶��H���$H��t+H�=o�H������H���H�ޏ$H���[�DH�5Y��1�����[�_���ff.�@��UH��SH��H�t�$H��tH���o��H��H��H��[]�޼��fD����H�D�$H��u�H��[]���UL��H�����SH�5��H�=^�H��H�
Ӌ$辙��H�=�����H�#�$H���UH�=���ֵ��H��H����H�=������H�CPH�=��$H��H���H����H����Ҷ��H�=��膵��H��H���ZH�=��~��H�CPH�=��$H��H���H�N���H���H���H����t���H�=B��(���H��H���<H�=��H�->������H�CPH�=2�$H��H���H��H���H�������H�=���ʴ��H��H���$H����H�=�����H���H���H�vH�CP�]���H�=������H�=��H���=��H�=���q���H�=g�H�����H�=���Q���H�=G�H�����H�=��1���H�='�H������H�=�����H�=�H�����H�=������H�=��H�����H�=�e�����H�=��H���}��H�=
�����H�=�H���]��H�=�����H�=��H���=��H�=���q���H�=��H�����H�=���Q���H�=��H�����H�=���1���H�=��H������H�=������H�=a�H�����H�=�������H�=o�H�����H�=������H�=O�H���}��H�=N�����H�=/�H���]��H�=5�����H�=�H���=��H�=��q���H�=��H�����H�=u��Q��H���H�=��[H��]����H�5Q��1�荻���ظ���v���H�5��1��m���踸���V���H�5A��1��M���蘸���6���H�5Q��1��-����x���������H���$�@��H����SH��H�?H��t袲��H�H�{H��t
荲��H�CH�{8H��t
�w���H�C8H�{0H��t
�a���H�C0H�{@H��t
�K���H�C@H�{HH��t
�5���H�CHH�{H��t����H�C H��tH9X tH��[�����H�@ H��[���������7������H��toSH��H�?H��t趱��H�H�{H��t
衱��H�CH�{�Ю��H�C H��tH9X tH��[�x����H�@ H��[�_������������AVAUATUSH��H�$H��dH�%(H��$1�H��荧��H���e���H����H��H���sL�I�Ĺ�H��1�L�c��\���XH��Z�l�L��蕤�������K�ф�u;H�{�.��H��H����H�pH�=_�記��������C���Ѐ�������1�L���k���H��H����L������H�kH���k����u�KH�{8��H�{0��H�{@�YH�{H�6H��$dH3%(H���H��[]A\A]A^�@�C1�H�KH�5W��1����L��1��Q��H�S�1�H�5���ڷ����1�1ҾL���O����1�1�1�L������H��H��t��{t|H�{ ����1�1ҾL������1�1�1�L���B���I��H������H�sH�;��I��H�������L�hH�=��$H���K�������I�^ L�s �K�����C�{����1�1�H������H�CH���H������H��CP���r���H�C@���f�H���X���1�1�H�����H�{8H�C0H��I���ɵ�����E���L���I���H�=�����H�C0�(���@H��蘱��1�1�H��謴��H�C8���H�5U��1�1��K�������fDH��H�5��1��*���L��1��������L���c��������I���f�USH��H��tEH�oH��tH��H��[]�f��H��uH����C��tH��H��[]�)���f�1��@H�K1ҿH�5��葵���ff.�@��H��tH�GH��t�D��1��ff.�f�AWAVAUATUSH��H�$H��H�$H��8dH�%(H��$(&1�H�P�L��$ HDŽ$�H��$�H�0�H��$�H�8]HDŽ$�H��$�HDŽ$��v���L���L���I���1���ә��L��Ƅ$&����H���H��$ I��L�5�H�EH�$L������H��H���
�G����SH��DPt�H�{�
1��i���H��A���޲��H���L��SI��L�����1��6���Ƅ$/&L��AYL��AZ�_���H��H���s���H�¾,H������H��tcH��
H����������!�%����t�� H������D�H�JHDщ��H��H)�Ƅ����H��t�H�<$D����H���c���L�����H��H����L���׷��H�=��蛐��H��H����	�1���H��H��H��$�萾��H��H��$�H���\	H��$�H�5�WH��H�D$h�`���H�D$XH����H��L��$����Ѓ�H��ԠH�D$pH��$ H�L$xH�$H�D$pH��ĠH���H�L$xL��$�L��$ H�L$ H��$�H�L$`H��$`H�L$PH��L����L��PL�L$h��1��\���H�T$p�L���j���_AX������$�%�=@�oL�����I��H���	H�T$PH�ƿ�"����Ņ��(H��$�H9�$(�H�L$P1�A�0L��H������H����H�5�|L�����I��H���L�����L��L��H�D$蕴��� L���H���H����1�H�x�
�_������~H��$�H�D$H��$H�D$HH��$`H�D$�L���L���(���H������$ <ctC<k��H�4$I�|$���؄��H����L��H�5���1�艰����H�4$I�|$��蝄��H���\H�t$�H��肄��H���AH�\$H�H��H���d���H���#H�t$��H���I���H���H��$�AH��H��H�L$8�#���H����H��$ �H��H��H�L$@���H����H�|$�
1���H�ߺ
1�H�D$(�߮���X�H�D$0���H��H���L������H�<$H�����CH�|$H�C�D$(�C�D$0�CP�ٺ��H�|$8H�C@�˺��H�|$@H�CH轺��H�|$H��H�C8�,�����t7H��� ����#���H�4$L����H��H��t$H�=��$H�������u����f�H����������L��H�5���1�誮�����DL�d$H�D$H��PH�|$覶��H��tH��艟��H�D$ H�D$ H�H������H�T$hH�5+S1��߸��H�D$XH�������H��$(&dH3%(�H��$�H��8&[]A\A]A^A_鼥��@L��H�5���1���L�����L��蒥��H�\$1�H��賡��H�����L�����H��H���C�H�5�H���!���H��H��tA�L��1�H���H�����L9�tH������A�
1�L��1�H�I�贻��H�D$H�������H�D$H��PxH�D$H�������H��P H��H�������L�|$L�d$��@�X��Y���I��H����L���u���H��I�$�i���A�D$L��I�D$E�l$���H���HI�D$H�=d�$L��贩������+H��t<H��A�t$8H��H��A�t$HH����1�A�t$@E�L$PE�D$�ޱ��H�� L��A�W8H��H�������H����H��M��SH�|$A��L�ev��1��R���XZA�������H��L����I��H��t�H���ۅ��H����I�EH�=��$L���ߨ�������H���c���H��H�=�H��1���$����E����L��蠜��L���8���L����H��H�����������L������Ã��������H���L��SI��L�����1�L���l���Ƅ$/&L��Y^H�5c�蓢��H��H���n���A�
1�L��1�H����N���H�D$H��������b���L�����L���x�����tDH�D$H��PxH��H���}H��P H��tf�H�=Q�$H��衧��H��S8H��u�H��SH�|$覍������L���x���	���H�$L��H�5*�1���F����)����L��舨������H�5���1������6����H��L��H�5��1��������f�1�H��H�D$���H�D$H������L���|�������A�
1�L��1�H�������H�D$H��� ���1��L���f�H��$(&dH3%(uVH��8&[]A\A]A^A_�膁��H���?���1Ҿ�L���߷������L��H�5���1��4���L���ܠ���\����b���f���AUATUSH��dH�%(H��$1�H���$H����H��PH��t)H��$dH3%(�OH��[]A\A]�@�c����^�H�W�$H��PxH��H����H��I��P H��H��t@H�{ tH��U8H��H��u�H��U�H�K��L��1�H��覬���.L���I���H��t��H�3L���f�I��H��t�H�8H�xt4迟��L��跟���DH�5�������	���f.�H�H�P H��t#H9�t�H�P�H�5��1�踧��I�|$�H�C H�X �HI�|$�fDH�5I��1�腧���Ф�����趜��fD��AWAVAUATUH��SH��xdH�%(H�D$h1�H��D$��H�} H��tH���L�%T�L�l$�fDH�{��H��L�u0M�����L��L���������H�](H��u�H�=��$H�5P������L��L��I��H���H�L�t$HL��A�PpI��H����E1�I�~M9>��J��H�{H����H�u�&�����tbI�~�	���L������H�](H�{�=���H���:�H��t]H�](H���#���H�T$hdH3%(�D$��H��x[]A\A]A^A_ÐI��I�~M9>�o���蚝��L��蒝��f�H�E(�D$�����fDH����H��t�H�{�C���f���E1�H��A��A��D�t$�\������H�������ED$�D$�U���贚��@��H��H��$1�H�5���H����H�=��$1�H�5��H���H����f���H����ATUH��S���tC��:tH����I���fD��:t3I�$��DBt�{��H����]H���]��u�[]A\�D�]L�e��t;@��:t%讘����H��DPt�l{��H����]H��I��A�$��u��E[]A\���ff.�@SH��0dH�%(H��$(1�H��t`H�\$`H����H���{���H������H��1��H���H�H���$H�\$@H��PXH��$(dH3%(uH��0[�D1����������ATI��U��SH��0dH�%(H�D$(1���u[��������1���m���H���tH�¾�����H��H�L$(dH3%(H���H��0[]A\�f����t��������?������u.1�H���T��I��H��tH�8H�x�n詚��L��衚���1��w���f�1��贘��H���G���1�E��@��1���蘘��H���+����1�胘����H�����H������f����H��t�H�$H���$H��H��PXH���e���H�xH���X������H��H���G����C���;���H��胫����������1����1�����H���w���1����@��usH����H�$H�w�$�k���f�����H��H��u�L��������H���g����H���8���H���P���H��8���L���0����;���H�5y��1�1��c������fDH�5���1�1��C��������y���f���H��t/H�W(1�H��t)���tH�G ��8�
F��D��f���SH��H��D��H��dH�%(H�L$1�H��A��H����A��tdM��t_D�F��C�t9�rP�7D�V�A��wCA�1Mc�H��H�$H�OH������H�$���������H�T$dH3%(uH��[�@�������茕��ff.����AVAUATUSH�� dH�%(H�D$1�H�H�D$H����I��H����A��H��H��H��E���~����tsA�E���wzH�T$H�t$I��D��L�
�DL��H�D$����H�T$H�U��uDH�D$H�EI�$D�(1�H�L$dH3%(u)H�� []A\A]A^�DH�E��fD�������蜔��ff.����H��tnH�>thH�~taUSH��H������H��H��tDH����H��H��t4�����H��藞��H��tH��誖��H��H��菭��1�H��[]�fD���������D��H��u
�DH��H�F(H��u��/���������f���H��$H��t��H���ϕ��H��$H�����ATI��0UH���S賄��H��H��tsH��tH���}��H=�w.H��辩��H�CM��tL���=��L�c(�C H��[]A\�fDH���1�H�5z����H��1�蓕��H��[]A\�H�51��1��ŝ�����H��t7SH��H�H��t
�U���H�CH�{H��t�?���H��[�6���fD�ff.�@��AUATUSH�����H��tI��H��PH��uH��[]A\A]��1�1�L���<���I��H����H��PxH��H����H��P H��H��u�FfDH��U8H��H��t2�C!t�H��L���I�����u�H���my��H��U8H��H��u��H��UH��L��[]A\A]����H��H�5E��1�[]A\A]郜��H�5Q��1��m����ff.����x�����SH��t5H��H�=�$�G����Å�u	��[�DH�5!��1�������[û������f.���SH��t5H��H�=��$�W����Å�u	��[�DH�5���1��ś����[û������f.���H��H��tH�=E�$�gXf.�1��ff.�f���U��H�=�SH�����H��H����H�=����H���H���H�CPH����H�����uH��H��[]�f�H�=ξ蔑��H��H��tlH�=Ҿ萦��H��H��H���H�\��H���H����H���蒒��H��H��[]��H�5	��1�譚���|����H�5��1�荚��H��1��}���R���ff.���S��1|��L��1�H�
��H��H�5�H��$�wt��H�=�諐��H�Ŀ$H����H�=�H��蜥��H���L�V�1�H��1�H�5��'t��H�=��[���H��H�i�$H��t\H�=��P���H���L�z�1�1�[H��H�5ͽ��s��f.�H�5���1��}����s����H�5���1��]����ff.���H��H��H�=*��y������D�H���f���H��tS1�H�����H��[�3|���ff.�@��AVAUATUSH�� dH�%(H��$1�H���yH��H�?H���jH�S�$H���bL�t$I��L�d$H�D$L��L��L�$$�
u��H�$H�EH�D$��g���H�$H���DP�B1�1��i���H��H�����H!1��
L���j���L��L��H�}H�D$L�$$�t��H�$H�EH�D$��|$-���C L����
r��H����H�x������S���H�CH�}H����L��L��L�$$H�D$�*t��H�$H�EH�D$��|$-u�|$-��H�uH�=�1������C���zH��$dH3%(H����H�� []A\A]A^À|$-�5���I�|$�K����C ����H�}L��L��L�$$H�D$�s��H�$H�EH�D$���fDL���w��L���X���H�C�����I�T$�H�=V�H���������H�}H���HL��L��L�$$H�D$�s��L��H�E��H�CH�����C��1������=��$����H�5<�����$�������fDH�=E�1�1�谂�����H�=X�1�蚂�����DH��1��vr���w�����H�=7�H�������t&�H�=w`H�������u4�C�6����C�*���@H�=��1��"�������D�H�=��H�������u7�C���f�H�=͹��������H�=v��́������H�=:�H�������u�C����H�=�H�������u�C�q���L��H�=s�1��j����P�������SH��H�|$H�t$��k��H��tH��H���{����uH��[�fDH���q��H�=ɴ1�����H��[�ff.����AWAVAUATUSH��hdH�%(H�D$X1�H����I���WH���vL��A�U1�1�L������H�D$H���}H�D$H��PxH�D$H���!H�D$H��P I��H����H�D$ H�D$I�\$�Q���H����H����H�5e�H����H����H�L$f�H��)H��)A)A H�\$(�PpH��H���yH�@H��A�$�PA�T$�P A�T$ H�xH��t轞��I�D$H����H�}����aDA�A�A�FA�GA�F A�G I�~H��t�s���I�GH���@I�D$(L��L��I�G(�ҏ������H��H9]��H�EL�4�I�v(I�~跛��I��H��u�H�5���1��|���H�}�#���H������H�D$H��PH�|$�u�������H�T$XdH3%(��H��h[]A\A]A^A_�fDH�}�ω��H���lj��H�D$H��P8I��H���E���H�D$H��PH�|$�u��L��A�U1��L��L���E�����t��a���@L���`n���?����H�5w�誑��H�|$��t��������E���H�5V��腑��L���n�����H�5	���g������������H�5���L�������肆��f���H�ն$�@��AUA���ATI���UH��SH���jw��H��H��t%M��tL��腜��H�D�kH��tH���q���H�CH��H��[]A\A]�ff.�@��H��t7SH��H�?H��t�V���H�H�{H��t�A���H��[�8�����ff.�@��AVAUATUSH�� dH�%(H��$1�H����H�?H���|1�1�1�1����H��H���cL�t$I��H�;L�d$L��L��L�$$H�D$�l��H�$H�H�D$�H�|$�H�;L��L��L�$$H�D$�Ll��H�$H�H�D$��|$-���EL���p��L������L��H�E�
H����������!�%����t������D�H�JHDщ�@�H��L)�UH��$dH34%(H����H�� []A\A]A^Ð�|$-�t���I�|$�;���L��L��L�$$�EH�;H�D$�}k��H�$H�H�D$��;����L���X���H�E����1��f������ff.����H��t>SH��H��H�=)�$蔋����u[�H�H�5���1��h���H��� ��������[ø�������H��H�|$H�t$�9q��H��t�@H������H�����H��t6SH��H��H�=��$�t�����u[�H�H�5ز�1���������[ø�����ff.���H��H��tH�=]�$�gXf.�1��ff.�f���H�-�$�@��USH��H��t1H��� ���s��H��H��tH�����H�EH��H��[]Ð1�H��H��[]�@��H��tGSH��H�?H��t�ք��H�H�{H��t
���H�CH�{H��t諄��H��[预��f��ff.�@��AWAVAUATUSH��(H�l$`L�t$hH�t$H�L$L�L$L�}H���HM���?H���6H��H�?H�t$M��I���i��H�H���I�EH�T$L�l$L���H�;H����h��H�H����H�EH�T$�H�|$�?-tqA��m��H�|$��j��L��H�t$H�EH�;�h��H�T$H�I�$�A���<��1�H�}uI�$H��tcH��tSH��([]A\A]A^A_�@�-u�H�����H��L��A�L�}H�;�,h��H�T$H�H�E�H�|$�U���f�H�T$�:*u�H�=׬�*t����������������H�=Q��
t��������m���H�=y���s��������W���f.���H��t>SH��H��H�=��$������u[�H�H�5��1����H����������[ø�������ATUSH��@H�t$H�T$H�\$0L��$0H��$0H��H�|$H��M��dH�%(H��$81�H�D$H�D$H�D$ H�D$(PH�D$0PL�D$0�p���ZY��xHH�|$tH�=f��vm��H���^���H��H��t$�H�D$H�|$(�CuBH�|$ u*H����u��H��$8dH3%(u5H��@[]A\�H���h���H�C��f�L���X���H�|$ H�Ct����~��D��H��t6SH��H��H�=1�$������u[�H�H�5ˮ�1��x��������[ø�����ff.���H��8dH�%(H�D$(1�H��t3H�Ԯ$H�<$H��H��PXH��tH�@H�T$(dH3%(u
H��8Ð1����G~���USH��hdH�%(H�D$X1�H�D$H�������~z������ulL�GA������Ѓ��uBH�|$1�H��I�@�<
�H��H����ٍD0W�B��B�:A9������H���@�=!�$��1�H��H�\$XdH3%(��H��h[]��H�wH�|$�"���H�l$H��t�H��蠓��H�ú�H�5�H��蹓����I�@H�\$�H�
2-H���PD�HD�R�@�<P1��il��H���A���H�l$H��XZH��u��G���DH�5��1�1��A�$�|���H�l$���|�����=&�$t�f�H����$�`��1��H���\����USH��H��tQH����H����8�uAH��H���6���H��t1H��t<H�3�UH���>���H��H����e���EH��H��[]�fD1�H��H��[]�@1�1�H������H��H��u�H��H��[]�f���AUATUSH��H��t}H����H����8�umH��H��袁��I��H��tZ1�1Ҿ
H��������tDD�`H��tKH�H��tCD;e-D��H�ھ
L���ʌ���EH��H��[]A\A]�f�1�H��H��[]A\A]�Ic��cl��H��H��t�D��H�¾
L���x���H��t�말��H����AUATUSH�����H��H��t\1�����H��赏��9�}A��H����y��H��I���Lv���xI��u�L��苃��H���#s��A�Ņ�uL���Đ���f�H��[]A\A]�D���j��D���Z����������ff.���ATUSH��t3H����H����1�8�uA��H���Vl��H��H��tH��[]A\�fD1���@D��H�5���1��„��H����Y�������H��tgH��A��H����A8�uUAUE��ATI��UH�պ����SH��H��腔����x!H��E��L��H��H�߉�[]A\A]�4e��@H��1�[]A\A]�1��ff.�f���AVAUATUSH��dH�%(H�D$1�H����I��H��I����M����8���������UH�����A�ƅ�����H���&k��H��H����5���H���\��H��H���$H��1�1�H���Ґ��H�5���u]H��1ҾH���o��I��M����I�,$H��tA;E)Lc�H�4$H��L����m��B�D%E�uH��蕒���%H�5���1�����H���u���D1�H�L$dH3%(H����H��[]A\A]A^�f.�A�v�Hc��/i��H��H��t�Mc�H�4$H��L���Em��B�D%M���i����`����D��H�5���1�节��H���W���o���H�5���1�1��h����U����w��ff.�����t7��At8���t6���t4���t2�����D��fD�øøøø�f���1���w
Hc�H�{�������H��tH���~U��H�����Cu��1��ff.�f���AUATUSH��hdH�%(H�D$X1�H�D$H����H�����&U����A����t�����uE��u"��w,H�
ƨ��Hc�H�>��f.�D���t���Ã�vԉ�H�5���1�����1��r�H�5ɧ�1�����8`��I��D���mt��9�tD���at��H�\$H�L$L��H��H���f����tE�t$H�T$H����d��H�D$H����H�t$XdH34%(��H��h[]A\A]��H�5i��1��]���H�D$�fD苌��I���^����}��I���N����ۆ��I���>����k���I���.���H�5���1����1��`���fD1��S���f�H�5�������H�D$�/����u����AWAVAUATUSH��H���]H���}j��I��H���Q�����H�����H��H���0L��1�莈��I��H���BH�XL���v`��1�A�D$ �a��H��H���.L��H���C|��H���;U��I��H��tH��E1��He������H��SH��SH����H��H��[]A\A]A^A_�f�D��L���a���H��I���U~��H��H�D$tF1�L���ч��H�T$H��H����H�PL��A���_��H��H�߈E �{��L���d��A9�|�L���d��A9��T���1�H���:r���E���DH���xa��1��F����H�5��1�1��+~���+���fDH��1���u�������L���Z������H���u���~�����AW1�1�AVAUA���UATUSH���^��H��� H��H����c���Ņ��E�e�E1�E�u�H�D$A��� D�������A��A9�tTD��H���_�����u�E��u�H���V�H�D$H��H��t(H�]��t��x�T��H����EH��H�]��u�H�D$H��[]A\A]A^A_�DA�������H��H��[]A\A]A^A_����A��t
A���R���H�����@H��H�D$�Y��H���/���H�h�V���H�D$�u���fD��SH��tP�W��.��}q��uLH����H��H��t-H���+[��H�� weH��[Ã�u#H�(1�1��N���H��H��u�1�H��[��1�H�5?��1��|��H��[�fDH�~(���x��H��H��u�1�뽐H��1��s���@��H����O������H�����fD��ATUH��S�@`��H��tlH��H�=��H��HD�L�%��H��H��L��1��{{��H�ى�A��H����A��1���H�5����L{����_��H��H��u�[]A\�f.���ATUH��SH��H��dH�%(H��$�1�H��t�����H��t�E����H�����c~��H����I�亀H��L��觀��H��t6H�5ѠL���S��H��t"H�p�H�=������������EH��t5H�5��L����R��H��t!H�p�H�=~�����������H��$�dH3%(uH�Đ[]A\��no��f.�@��H��H���
1��Iy����H�H��b$H������U�H�=*ZSH��H����������H�=4[H�����1���H�5([H���m����teH�5[H���m����tRH�5#EH���m����tH�5�ZH���pm����ul��1��[V��H���1�[]�9}��f���1���*V�������1���
V���M���D��u�H��H�=��[]�a��f.���H��H���$H�5��$�FU��fD�����$��tÐUSH��H��H�=��$H��t�6p��H���NW��H�hH���u��H�s�$H��tH��H��H��H��[]��b��f�H��[]�f�AUATUSH��8dH�%(H�D$(1�H����H��H����I��1Ҿ���P���Ņ�x|I��f�L��L��)$)D$H�D$ �[����L��'�1��
w����A�Ņ�u4�φ���D$�A�D$f�CH�L$(dH3%(D��uH��8[]A\A]Ð蛆��A��������l��ff.���H��H���
1��v����_$����wH���fDH�=����_����_$H���D��U�SH��H�5՞H��H���j�������H�=&WH���������H�5��H����j������H�5��H�߽�j����ty�H�=9AH�������t_H�5a�H���j����tLH�5]�H�߽�ij����t4�H�=�AH�������tH�5�H���<j��������H����[]����SH���w����x�1����S���1�[��y��@H��H�=֝1��b���1�[��y��f���AVAUATUSH��0dH�%(H�D$(1��\$h�G�L�l$`����7��H��H�z�I��Hc�H�>��H����v������H��X��1��0Z��H��Pf�H�L$(dH3%(����H��0[]A\A]A^�DH��H�L$蛀��H�L$H�H���5����1��fDH�D$ � H�D$�\q��H�D$ H����H�T$H�t$M��H�|$ �2j�����tH�D$H�P�H���2H�T$ H���1�H����-���DH�D$ � H�D$��p��H�D$ H����H�T$H�t$M��H�|$ �i�����HH�D$ 1�H���H�D$H������1�H�t$H�|$ M��H��`H���H�D$@H�D$ �Xi��������H�C$����H�=��H�荂���X����H��L�D$���L�D$I�H���x����XH�.���D�L$L�t$�G���
L��L���H���hN���������MH�D$D�L$L9��:�8,��L�%}B$Ic$D9���I�|��
L���N��������uIc$H�t$I9t�����H�B$�(���H�=��H�蓁���^���fDH���g������H�����1��H���H����,���@H�D$ � H�D$��n��H�D$ H���TH�T$H�t$M��H�|$ �g������H�D$H�P�H����H�T$ H���1�H������DH�D$ � H�D$�\n��H�D$ H���RH�T$H�t$M��H�|$ �2g������H�D$ 1�H��@H�D$H��H�;���H�5K�L���ye�������H�=�QL���������H�5W�L���De������H�5�L���-e������H�5��L���e�����H�5�L���d�������H�=�;L���������H�5��L����d������H�5��L���d����t=H�5@<L���o����t*H�5�L���d����tH�5$�L���zd������Dž�1������1�H�t$H�|$ M��H���H��8H�D$@H�D$ �e�����&���H�i?$����H�=�H���~�����H���H��1��N��H������H���H��1��N��H����s�����H�g�H��>$�H�81��u��������G����Dž�1��/����L���0N��1�L��H���R������fDH�xH�t$ �
H�|$�`J��������uH�D$ H9D$����H�e>$�*���H�=��H���}�����Dž�1����H�,>$�(���H�=X�H��}���s���L��H�9�H��=$���H�81��t���K���L��H�љ���c��H��=$�$�H�=ښH��J}������H��=$�'�H�=-�H��%}��H�|$ ��e�����H�w=$�$�H�=֘H��|��H�|$ H��u��f���H�H=$�$�H�=�H���|���A���H�#=$��H�=Z�H��|��H�|$ H���t�������H��<$��H�=ߙH��o|��H�|$ H���A�������H��<$�$�H�=��H��<|�����H��<$�'�H�=��H��|��H�|$ ���H�n<$�$�H�=U�H���{��H�|$ H��������Y���H�;<$�$�H�=��H��{���4����AH����
���L��H�—���D��AWI��AVI��AUI��ATI��UH�oSH���_��=u�_H�o��tiL�L$D�D$�Z`��D�D$L�L$H��H���]��t<�DX u�D$PA�?L��L��H��PAQE��M���^��ZYH��[]A\A]A^A_�DH�q;$HcD9�}�H�
I�,��H�7;$A��H���H�81��Eq��������ff.���AVAUI��ATUH��SH���AT$dH�%(H��$1��t�$�B���v|H����	T$H���!J���L�`I��L���Q��H��H���yH�=L�������M��H��$dH3%(���PH��[]A\A]A^��H��H���`l��H����q��I��H��t
�x
�6H���Z����	��Q��H��H���q������C��M��tA�|$�\�C�	A�	M����I�]�@����������tO���H�5_��1��3j���	��P��H��H��������@���f�H�=�$�R�-��$�����H�=�$H��t�a��H��$L�%я$���@��H��H�xL���D���@�)T���"���@H���$�������O��H��H���;�����H�{����CI�D$IcT$A�H�0��S������f����O��H��H�����H�=�$L�s���CL����H������A����g���1�A�fA�F�T���fDH�5��1�������h�����L�5��$M����L�%y�$�L����N��H��H���?�����L��H��D���H�G�$��R��M������u���@H�=q�����C����I�D$IcT$H�{�	A�	H�0�R��������SN��H��H��������C��A�������;��1��C�`V��H�C	�E�����\��f���1��En��D�����$��t
1���H��1�1��n��1�H���@��H��H�=y�$H��t�_��H�d�$H�=M�$H��t��^��H�8�$H�=!�$H��t��^��H��$�
�$1�H�����H����H��t~H�� whATUH��H�~SH���ec��I��H��tcH�=ތ$H��t�l^��H��H��L���>Q��A�1�L�%��$H���$���$�5O$[]A\ø�����f.�������H�5���1��Wf�����������SH��H��H��@dH�%(H�D$81�H��H�D$H�T$H�$H�D$"�B��H�t$H�� w'H�<$�H��H�D$8dH3%(u4H��@[��H�޺ H�=q�1�H�D$ �qR��H�t$��Z��D��SH��H�=��$�L��H��H��H�k2$HD�1�1�1��]��H�e1$1�1���w]��H����p��H��5$1��H���Y]����=��H�e2$1�H��L�[XH�5�J��c��E1�1�H��H�3$H�5t��c��E1�1�H��H�1$H�5e��c��H�1$1�H��L�4�H�5T��pc��H�)3$1�H��L��WH�5B��Qc��E1�1�H��H�2$H�53���>��E1�1ɿH�)�H�5Nj�@��1�A�H��H�53j���@��A�1�H�	�H�5j��@��A�1�H���H�5�i��@��A�1�H��H�5�i��y@��A�1�H�یH�5�i��Y@��A�1�H�̌H�5�i��9@��A�1�H���H�5si��@��A�1�H���H�5Si��?��H�0$1�L���H�5��H�=+i�=��H��1$1�[L��H�5��H�=i�r=��f���H��K$�@��SH��t&H��$H9�wH�5�$H��tH���M��H��[Ð1�H��[�f���AT��USH��H��L�uK$dH�%(H��$1�H��H�F�H��HD�H��H�
�1��8G��L��$H��H���R���L����`����u$1�H��$dH3%(uFH��[]A\�H�}L��Hc��D$H�oldEngin�D$eID H�$��V��H��H���Q����DW��@��H����H��t~AUI��ATI��UH��SH��H��H�?H��t
�{Y��H�EI�$H��t6M��t1H���9^��H�EH��t H��L��H���"L��I�$H����[]A\A]ÐH��1�[]A\A]�1��ff.�f���ATI��UH�-_�$SH����]��H��H��tH��H���_��I�$H��t
H��[]A\�f�H��1���X����@��SH�� dH�%(H�D$1�H��H���G��H�5ņ$H���=c��%���9��$vH��I$���$H�T$dH3%(uH�� [���U������gF�����USH��(dH�%(H�D$1�H�|$�\M��H�T$H��H����H����H;;�$tYH��H$�	F��H���<���t$��H��A����Kk��H����W��1�H�L$dH3%(uTH��([]�f.�H�=�$H��t�H���>����t��fD�����H��t�H�߉D$�jW���D$룸�������T�����AUATL�%��$UM��$�SH��I�$H��t(�H�;H�k(H��t�W��H��H���W��H��u�I�$I��M9�u�H��[]A\A]���AUATUSH��H�$H��(dH�%(H��$1�H�D$H������t}��I��L�l$H��H�\$M��H��
H�=9+$I���Y�����t|��uHHct$H��~CH��1�f��H���H��H)�H9�|����Ⱥ�B�����k�)����������H��$dH3<%(u:H��([]A\A]�f.�H�=�,$M��I��H��L��
�#Y���b����YS��f���ATUS�B����x=L�%(�$Hc�I��H��t*@H�C(I��H�;H��t�U��H���{U��I��H��u�[]A\�ff.�f���AUATUSH��H��t]��tY��I���/B����xKH�H���$H��H��t9A���
@H�[(H��t'9ku�H�;L��L���t<����u�H��H��[]A\A]�f���H��1�H��[]A\A]�ff.����H����H������H��������AUI��ATUD��SH��H���X��I��H���|��t	�@ 1���tA�D$A�EA�D$��wB��A+D$��A�U����)�9�}1�����A�E�1������w���H��[]A\A]�fD�A�E1�H��[]A\A]ø��������f���H��A��M����A���H������A�H��������AVI��AUATE��UL��SH���W��I��H��txE��t	�@ 1���tA�EA��EA�E��A��A+E��A�����)�9�}1�����A��1������w���[]A\A]A^�f��A�1�[]A\A]A^ø��������D��H��tO��tKAWI��AVA��AUA��ATE��U��SH����V��H��H��tJE��u%�C ��t1�H��[]A\A]A^A_�D1��DD�c D�sD�k�@��H�C��f���L���f?�����D$xY�0��A��HcT$�H��H�ˀ$H��H�Љ�H��H�T$H�K(��@��H�T$L��H�H���D���k�K���������O���f.����AWAVAUATUSH��L�D$L�L$dH�%(H�D$x1�H���TI��H���HH�|$�<H�D$H���.H�8�$I��H���D�9���Ã����H�D$H�8?�P���5V��H��H�����4U��H��H��H����-������L�l$0�D)�D��M�e@�D$��@L��D�D51�H��I��A��F�L9�u�@L��H�߃�@�i��;l$u�L�t$H�t$H�T$,H��I��D$,�Gc���D$,f�A)EI�A)EA)E A)E0H����H��1��a���$�H�5��1���X��H�=����U�������H�L$xdH3%(����H�Ĉ[]A\A]A^A_úH�5k��1��X��H�=��������nU��뭺@H�5���1��TX��H�=݇������CU���H�5��1��.X��H�=��"U���^����XM��1��R������AWAVAUATUSH��H�$H��8H��$pL��$x�t$H�T$H�$dH�%(H��$(1�H���)H��� M��M���H�<$�	M��H����H�������M��M����I�<$���t$I���6����������g���Ń����Lc�M9$��M9���L�l$ �L��L��L��L�D$�!^��H�t$��H��L��A��L�D$�<+L��H��L�L���vA���t$L�$M��LL��L����Q������������H��$(dH3%(u"H��8[]A\A]A^A_�f����������K��@��AWAVAUATI��USH���H��$ �$L�D$H�D$H��$(H�D$ L�(dH�%(H��$�1�I9��D��1�A��|��A��~;A��t2H��$�dH3%(��H���[]A\A]A^A_�f�;�$0��A��t�����A��u�H�D$L�0M����������H�|$�!���M���;�$0��4$L��D�L$�4��D�L$�������D�L$0D)��e��H�H�D$H����H�D$@H��$�H�D$(H�D$PH�D$HcD$0H�D$0H�D$HH�D$8�e�H�D$H@D��L��t$8UL�L$PL�D$ H�L$@H�T$�J��ZY��uZHc�H9L$HK�<.H��HFL$HI��H���-?��D)�M���~SD�<$L�L$(L��L��L�D$L��H�D$@@D���4�����s���H�D$H�(I9�tL���K��������B���@H�D$ H�\$L�(H�;L9�t��K��L�31�����f��D�L$(�L$�]:���L$D�L$(H��I��t�H�D$L��L��D�L$(�L$H�(H���]>��A���L$D�L$(t
A���S�����$0���f�M���4������,���;�$0�����4$L���2���D$�������|$D)��c��f���C��[����8��*��^�f(�fT�f.����,��D$(������H�D$HH�D$H��$�H�$�EfDHc�H9L$HH�4$K�<.HFL$HLc�I��L��D)�M��^=�����������9l$(�y���L�D$H�$L��L��H�D$H@�|$�@����t��,�����H,�f��f(��%s�fU�f(��H*����fT��X�fV��*����G��ff.���AWA��AVAUATI��USH��XH��$�H��$�H�|$H�L$H�D$(dH�4%(H��$H1�H���%I��H���L��M���
H���M9�H��H�L����M�������H����K�	H9���D����0������a�������L�t$1�L��L�d$0L���4��H�t$0L���4�����aL9d$0�VL�t$@L��L��L��E���<X��D��Ic�E1�H�D$H�D$8L�H�D$ H��$@H�$H��L��I��@H�t$H���{;��A�L-L�L$ L�$H�t$H�|$Hc�L��H�D$8�K���Ņ���L�l$8H�4$�L��L���W��L9���I�U�L��H�T$8M����H��$@�@H��H���tf�C2<H��B�>I��L9�u�A��H�\$0H�|$L��H���:��H�D$(N�;L�H��$HdH3%(D��u_H��X[]A\A]A^A_�f�H�T$8H�l$0���H�D$(H�H�|$1�A������2���A��H��$@�z���H�|$u�A��������D����AWAVAUATUSH��H�$H��XL��$�L��$�H�|$L�D$dH�%(H��$H1�H�D$8H����H��H����M����M����H��H��M����M������yM���pI�}�eA���?.�����X_������MH�H�|-H�D$8I9m�7L9��.I�m�WK��I��H���H��H��H��I���:9��D��1�H�D$ H�D$8H�D$(H�D$@H�D$@H�t$K�|%H���9��L�L$(L�D$J�L%H�t$ H�|$L��H�D$8�LI��A�Dž���L�d$8I9�vH�l$8I��H�t$L��L���8��M��t:H9�v5H�L$�1�)�H�<)��L9�sA�D2�A�H����H9�w�H9��O���L���E��H��$HdH3%(D��uCH��X[]A\A]A^A_�M��t1�H��1�L���C0��A������H��1�L��A������(0����B�����H��������AWAVAUL�-6$ATUSH���=6$�t]Lc�I��L��1�M���DH��0���;�t<D;cu�H�{D��L��L���'����u�Hc�H��H�Dm[]H��A\L�A]A^A_�f�H��1�[]A\A]A^A_��1��D����5$H�
5$���t:H��9�u�f�H��1��r0�����t H��09�u�H�H�@H��H��f.�1��ff.�f���H��������AWAVAUL�-�6$ATUSH���=6$�t]Lc�I��L��1�M���DH��(���;�t<D;cu�H�{D��L��L���&����u�Hc�H��H�D�[]I�D�A\A]A^A_�@H��1�[]A\A]A^A_��1��D����w'��H��5$H��H�к�8�HD��f�1��ff.�f�����5$H�
�5$���t2H��9�u�f�H��1��r(�����tH��(9�u�H�H��H���D1��D��H����1��H��t�H��ø��������H���CT��H��t�H��ø��������H����F��H��t�@ H���fD1�H���f���H���F��H��t�@H��ø������ff.�@��SH���F��H��tH��tHcPH�H�@[�ff.����H���SF��H��tH�@H���D��SH���C2��H��tH��tHcPH�H�@[�ff.����H���3)��H�����HZ�����H���#S��H��t�@H���fD1�H���f�����w'��H�H��H��H�c2$Hк�8�HD��1��ff.�f���H���1��H��t�@H���fD1�H���f���1��f���H��H�6�(��1�H���f�����wGH� y��Hc�H�>��@�;J���?���+(���U���E���sO��1��ff.�f�������t��t��t1�Ð��N���S<���=��ff.���AWAVAUATUSH��8dH�%(H��$(1�L��$pL��$x�D$H��t[H��H��tSL��M��tKM��tFM��A���…����u4E��E��t,I�<$t%�0'���ljD$��K�����tD��H�H9�s6fD����H��$(dH3%(�|H��8[]A\A]A^A_�f��L$���D��H��t�L�T$ H��H��H��H�T$$M��E��H��RD��L�T$�UR���D$,I�$Y^H9�L�T$sI�$H��L��L����1��1��m����s<����AWAVAUATUSH��dH�%(H�D$1�H����I��H����I��H����L��M����A��H���6W�����~H�H9rwD���?C��I��H��tg�BB��L��H��I��������t`L��H��L����V��H�T$L��L���P���D$L��H��N��1�H�L$dH3%(u(H��[]A\A]A^A_�f��������f��������t;��@��H��tOAUM��ATM��UH��SH��H���L%����x H��M��L��H��H�މ�[]A\A]�4��H�������[]A\A]Ã��@��AWAVAUATUSH��8dH�%(H��$(1�L��$pH�D$H��tBH��H��t:M��L�$t1M��t,��A��E����E�����uD��$xE��u:f.�����H��$(dH3%(��H��8[]A\A]A^A_�f�H��I���U$����x{����H����t�;�$xu�H�D$D��H��E��PL��H��L�T$(ARL�D$L�T$�!��ZY���x���D;�$x�j���L�T$��$xL��L����#�����P����F���������A�����9�����AWAVAUATUSH��L�D$L��$0H��$@H��$HdH�%(H��$�1�H����I��H����H�|$��M����H����H����A�A�E�΃���ɉL$�s��$8���dH�H���XD��$8L9��G�M��I��H���6�L$9H�)D9p �D�X$H��$`1��H�|$�H�A�:@�ǃ�t@��E1�����H��$�dH3%(D����H��[]A\A]A^A_�@��$81�E��D��A��$8A)�D)�)��D$ H�E9�����$8D�\$0D�H9��oHcD$ D��E��D�D$4H�T$(H�D$��Lc�I�4L�T$8H��$�H��L����H�|$(�I��HcT$4H�L$(��J�<9L�|$P�,%��I�EL��H��$�H��$���L��H�t$H�|$D���YI��L�D$L��H��H�T$A�L����H��H�D$H�|$(L��HcT$0L�D$A�E1�H�t�H���D$ D�\$0L�T$8D�H�H�A�:@�ǃ�������C��H��H�D$�UH�t$H�|$D���H���H��I��H���-L�D$H�L$L��H��L���UJ������L�l$LL��H��L��D��$8L����N������Hct$LL��L��I��H��-������Dd$LL����D��D��H�����fDI9���HcD$ H�D$D��H�D$(L�|$PI�EL�T$ H��$�L��H��$��GK��H�T$(H�t$��H�|$��G��L��L�|$L��L�D$A�H��L���]G��L�T$ L�;A�:@���!���f�L���(D���A�����
����5����AWAVAUATUSH��XH��$�H��$�H��$�H�$dH�%(H��$H1�H���3I��H���'M�ƉL$M���H���H�<$��H���������$�����H�H������$�H�T$H9���E����H��I��H�����L$9H��D9` ��L��$�1��L���H�A�?@�ǃ�t<��E1�����H��$HdH3%(D���dH��X[]A\A]A^A_�L�\$0I�EL�T$H��$�L��L�\$H��$��eI��L�T$D��L����L����E��L�\$E1�H��H�<$H�T$I��H�D$L���(��H�D$L�T$H�A�?E1�@�ǃ��M���L�T$��?��H��H�D$��L�T$D�⹀L��L���yE���E��I��H��t|L�T$L�D$L��H��L��L����@����uQL�l$,H�$H��L��D��$�L���
@����u-Hct$,L��L��H���J��L��u(�A��H�D$H����L���A��A��������A�����	3��f����F)$��uÐH�9e$1��"�()$H��H�~d$�H��H���H��ff.�@��AWAVLc�AUATUSH��d$H��HH�L$Hc�H�T$dH�%(H�D$81�L��H�$H��L�H�L�<Ã��}���t��($E�Ņ��/L��L�%�c$H�D$ H�D$(�H��L�H,$A����~>H�D$ L�|$�cI���
@����M��1�1�1�1��_,��A�����L�|$L��H��L�H$A��� ���"��H����H�\$L��H�t$D�hH��H�@H�XL�H��c$H$H��H�0H��u��L�zH�RH��t
D9j~�H�PI�L��H��I�L4$1�C�,�H�|$8dH3<%(ufH��H[]A\A]A^A_�f���-������fDH�HmH�5�m�1�L�|$�;������������L��H��L�H$A�,��������0��fD��E1�����@��AWAVAUATUSH��HH�T$dH�%(H�D$81����ZA�����N��&$A�����3Ic�Ic�L�%�a$H�D$ H��H�D$H��H�t$H�D$(�H�H�A����~6�cL�l$ �f�����M��1�1�1�1��g*��A�����H�|$��H��H��H�HT$A��H�t$H�b$H��H��H�HD$H��H��t"H�H��tH�KH�T$D��D����H�[H��u�H�|$H��H��H�HD$A�,�1�H�T$8dH3%(uDH��H[]A\A]A^A_�@H��kH�5�k�1���9���]�����+�������������
/��f.�����f��aU��S��H���2%$��uFHc�Hc�H�!a$H��H��H�H�H��1�H��tf�H�R��H��u�H��[]�D�s+��본�����ff.�����W��RU��S��H����$$��u.Hc�Hc�H��`$H��H��H�H�H�<���H����[]����+����f�������f.���AWAVAUATUSH��XH�L$D�D$dH�%(H�D$H1���������Lc�Hc�I��L��H�`$H�L$H��L�H�L�4�H��H�D$ ��#$���5L��L�%;_$H�D$0H�D$8�H��L�Hl$A����~;H�D$0L�t$(�cI���
����M��1�1�1�1��'��A�����L�t$(�PL��H��L�HD$A��1�M��tpL��L��M��H��L�H\$D�l$H��H�\$ �f�H�_H�H��t3L9?u�E��tH�L$H9Ouރ�tiH���A��H��u�fDM��L��B�H��I�H�t$L�A��H�L$HdH3%(��utH��X[]A\A]A^A_��;)�����fDH�WH�D$H��.��H�;H�D$�DH��hH�5�h�1�L�t$(��6��A����������z����+��f���1���s��cHc�Lc�H��H��H�H�
^$L��DK��H��t0�H�:tH�JH��tH9�uH�B���H�RH��u�I��A��~���1҃�u��Ð��AWAVAUATUSH��HdH�%(H�D$81���!$���SH��\$�D$L�l$ H�D$H�p]$H�D$H�l$L�d$E1�fDH�D$ A�$H�D$(���~/�c������M��1�1�1�1��G%��A�$��߃�A�$�DfDH�CH�EH�;t(L�{M��tH�C�t$L��D���'��L����,��H����,��H�]H��u�A��A�,$H��I��A���F���H�D$DH�D$��|$t,�D$����H��fH�5�f�1���4���H�D$8dH3%(uH��H[]A\A]A^A_���&�������)��ff.���U��S��H��� $��u(Hc�Hc�H��H��H�H�H��[$H��H��[]��k&����f�����wg��/wb��Hc���H�<Hc�H��e$H�xH��8��~������	�@�81��f.��ֺ�����!�@�81��f.�������f.�����wg��/wb��Hc���H�Hc�H�Le$H�J��Hƒ�������u���	�@�:���)ȉ����!�1�@�:��������f.�����w7��/w2��Hc�H��d$H���H�JH����������f.�������f.�����w'��/w"Hc�Hc�H�4H��H�H��d$��1��@������f.�����w'��/w"Hc�Hc�H�4H��H�H�Zd$���fD������f.���������/��AVL�5�_$AULc�ATUSHc�H�,[H��L�I�<�H9�taI��H��t
��)��I��M��t'L���=��H�4[[]H��A\L�A]I��1�A^�DH�4[1�[]H��A\L�A]I��A^�f�[1�]A\A]A^�D������f.�����w'��/w"Hc�Hc�H�4H��H�H��^$H���D1��ff.�f�����w'��/w"Hc�Hc�H�4H��H�H��Y$H��1��������f.�����w'��/w"Hc�Hc�H�4H��H�H��Y$H���D1��ff.�f���UH�5�S�H��(dH�%(H�D$1�H�T$�P;��H�5��H��H���$����tBH�5��H���$����t/H�5�bH���$����tH�5�HH���$����u%DH�L$dH3%(��uDH��([]���
H�t$H���v/��H�T$�À:u��v�H�=nb�����������M%��ff.�f���ATUSH��H�$H�� H��c$dH�%(H��$1�H��I��H��u�>fDH�[ H���+H�sH���#����u����tK������t}��H�5�a�1��p/��H��$dH3%(��H�� []A\�DH�T$H�5j�L����9��H��
H���d.��H�$�9t[H�=?a�����DL����8�����t��s�{���4���y���f�A�<$"t+�s�{L���k���V���fD�s�{�������>���H�l$L��H�������s�{H���+������fDH��H�5a�1��j.������#����AWAVAUATUSH�����'H���A��/�H�;b$E��H��I���L$A��H��u	���H��H�C H��u�(��U��I��H�C H����E�'L���j9��H��I�G�^9��E�oI�G�D$A�GA��t(A��tb1�A��t:H����[]A\A]A^A_�f�L��_H��#1�H��L��1�����ǐH��#1�H��L��L�������L�s ���(����I��H�7a$H���9���������j���@��AWAVAUATUSH�����'H���A��/�H��`$E��H��I���L$A��H��u	���H��H�C H��u�(����I��H�C H����E�'L���8��H��I�G�8��E�oI�G�D$A�GA��t(A��tb1�A��t:H����[]A\A]A^A_�f�L�v^H���#1�H��L��1���*���ǐH���#1�H��L��L�S��*���L�#���(��A��I��H��_$H���9���������j���@��ATUSH��_$H��t\@H�k H�{H�sH�-�_$H��t#H��t���H�{H�-�_$H��t�!#��H�sH��tH���#��H��H���#��H��u�H�-�Y$L���H������H�;H��t��"��H�H��H9�u�H���L9�u�[]A\�f.���H���#1�1�1���^$��"����H��^$H��t!;zu�4f�9xtH��H�BHH��u��fDH��HH�HHH��H�
�E"��H��H��^$��f���H�GH��uH� tDH�(u5H�0u.�GthH�H�WH��H	�tYH�HW H�G(H��?BmH�W0���SH��H��+��H�H�CHSHC H�S(H=?B H�C0[�f.���7���H-@BH��H�C0H�S([�@H��@BH��H�W0H�G(�@��H�=�]$H��t0S�H�_H�?!��H��H��u�H��]$[�f.�H��]$�@��H�u]$1�H��u�L@H�H(H9J(t.HL�H�RHH��t�Bu�H��u�H��H�RHH��u��f�H�p0H9r0HL���f��ff.�@��H�]$H��t;xu�f�9xt	H�@HH��u�����ATUSH�� dH�%(H�D$1�I���K�L�����H�S(H�$H9���uH�D$H9C0����u)�k�KH�s8��S@���	��H��u,��$��H��H��u�H�D$dH3%(u6H�� []A\�fD�`�fo$H��H�@0H�@(@�S
����<��ff.����UH��SH��H���{$��H��1�H��t H�J(H�H9�@��t1@��u�oM�BH��[]�f.��oB(E��DH�CH9B0@��@��t���ff.�f���UH��SH��8dH�%(H�D$(1�H��H���X��H�|$H����*����t3H�T$H+$H�J�H�MH�L$H+L$H��@BH��?B~$H�MH�UH�T$(dH3%(uH��8[]�DH�u�����ff.�f���H��HdH�%(H�D$81�H���0����uH�D$8dH3%(uYH��H��1���d)����u�fo$H�5��#�H�D$H�D$)D$ ����H�t$1�1���&����~��ff.���H���6Z$� ��1�H���f���H������H�����f.���AWAVA��AUI��ATI��UL��SH��H��H�5�Y$H��u�fDH��H�FHH��u�L�~H�P����H��I�1�H��tTL�*L�bI�D�pI�H�h8I�H�X@��$�P��$I��BI�H�@HI�?����ZY$��uI��@H��[]A\A]A^A_�f������f�L�=)Y$�\���@��A��1���HD�@��I��H��@��D��H�����fD��SH�� dH�%(H�D$1��b��H��tmH��H�����H�$H�D$H�SHH�C HCH�S(H=?BH�C01�H�L$dH3%(u/H�� [�f�H-@BH��H�C01�H�S(��f.��������t��@��AVAUATUSH�� H�AX$dH�%(H�D$1�H�D$H��t(H��I��H��tH�{H��tH���"����tCH�H��u�H�5�V�1��#��H�D$dH3%(��H�� []A\A]A^��H�[H��t�H�L$H�T$L�����H��H��t�H�|$t�H���0��H��H��S I��H����L�l$L�s(M���y���� ��	��H��H���^���L���.��I��H�EH����L�eL�uL�#M���2���I�$H����H�sH���!����teH�;tEL�-�U�fDH�H�;t-L�eH�sL����!����u�L��L���"��H�H�;u�H�+����f�H�|$�&������L��H�5�U��\"��I�$�~���I�,$����H�D$dH3%(uH�� H��[]A\A]A^�����W�����H��t/SH�GH��H��tH���H�{H��t
���H�C[�@����H��tGUSH��H���@H��H�CH��tH�{��H�{H��t�H��H�+H���=��H��u�H��[]�ff.�@��AUATUSH��H��tUI��H��� �I�����H��H��t5H����,��H�CH��tL�kH��L�cH��[]A\A]�fDH�����H��1�H��[]A\A]����H����H����AUATUSH��H�H����L�nI��H�sH��L��������tbH�;tCL�-�S�H�H�;t.I�l$H�sH�������u�H��L���j ��H�H�;u�L�#H��[]A\A]���L��H�5fS��4 ��H�]H�;u����H�7H��[]A\A]�f���H����H����AUATUSH��H�H����L�nH��H�sI��L��������tbH�;tBL�-�R�H�H�;t-L�eH�sL�������u�L��L�����H�H�;u�H�+H��[]A\A]�@��L��H�5�R��T��I�$H�;u����H�7H��[]A\A]�f���AWAVAUATUSH��H����I��H���� I��I���Z��H��H����H���v*��I��H�CH����L�{L�sM��tgI�,$H��tpH�uH��������tpH�}tCL�-�Q�H�mH�}t/L�cH�uL�������u�L��L���q��H�mH�}u�H�]H��H��[]A\A]A^A_�I�$��f.�L��H�5^Q��,��I�,$�s���H�5R�1�1�����f�H������H�5IQ�1�1������t���fD��USH��H��tOH��H��H��t#fDH�{H��tH�������tH�H��u�H��H��[]�f�H�[H��H��[]�1���ff.���USH��H��t8H��H��H��t#fDH�{H��tH���O����tH�H��u�H��H��[]�1���D��H����AUATUSH��H�H��t4I��I��1��
�H��H�{H��tL��������t H�H��H��u�H���[]A\A]�DH�H��t`H�UH�SH��t�D$H�{�ҋD$H�{H��t
�D$�#���D$H�߉D$����D$H��[]A\A]�@��f.�I�U�f.���H��L	�u�AWI���AVM��AUI��ATI��UH���0SH��L�L$�O��H��H���KL�8L�`H�hH���L�kM��tH���#H�پ1����L�s M����M����� �����I��H����L���'��I��I�FH��tpL�-�O$I�^I�FM����I�uH���c����u��f.�M�mI�}teM�~I�uL���5����u�L��H�5/N������L�����H��#E1�1�L��H������H�D$H�C(H��[]A\A]A^A_ÐM�u��f.��1����H�C����H��H�5N�1�[]A\A]A^A_�w���L��H�5�M��\��L�-}N$�$���L�5qN$�T���@��AWAVAUATUSH��H�$H��(H�t$dH�%(H��$1�H���I��I��H�\$H���
�M�?M����I�t�M��L��MH��1����I�����A�I����������!�%����t��M�o�����D�I�VL��LD��I���F���I)�L��J�<3H���$��H��� �1H����������!� ��t����€�D�H�qHDΉ�@�H��I�WH��H)�H��H�x�Յ�����H�|$H�����M�?M�������1�H��$dH3%(uH��([]A\A]A^A_��
��ff.����H��H��H��t H�PH�pH�H�IH�8�Y��1�H���f�H�59L��o��1�H������USH��H�wL$H��u
�8�H��H�CH��tH�{��H�{H��t����H�+H������H��u�H��[]�f���U�8H���SH���D���H��H��t�H���/���H�CH��tH�kH��H��[]��H��1��V����@����2��f���H��A��H����A��-H���$AWAVAUI��ATI��UH��SH��H�H�L$H����E1�1�M�|�1�I�?H��H�sH�CH��H�*H��H��t|@H;8��H�@H��u����1�H��I�H�Y(H�H�iH�M I�H�sH�CH��H��A�FI��L9�r�H�{0umH�D$H�C01�H��[]A\A]A^A_��H�$�2��H�$H�I�H�X(H��H��@H��룿�	��H��H�EH�����������f������뗃��D��I��H��teH��t`L�1�L��H�wH�G1�H��H��t@L9tH�IH��u�H���fD�GH��I9�v�L��1�L��H�qH�AH��H��u�H���1�H���f���H���YUSH��L�WH���L�1�L��I��H�GH��H���.1�H��DL9��H�IH��u�L�WD�XL9���B�,޾@M��tcH�_E1�1�1�M�J�A��H��H��t3�H���tI9�sH��tH9vI9���H��H�@H��u�A�CI��L9�r���H��udH�G(�/H��tp�L�PH���|���@�PL�QD�XI��H9�sKL��1�H��L��I��H�AH��H���/���D������1�1��4���H��f�H�x0u1��[]�H�����1��A����ff.����H������H��tH�@0H���D��AWAVAUATUSH��H�$H��XH�t$I��H��1�L�D$�I��I��M��dH�%(H��$H1��	��H�D$ H��tBM��t=M��t8M��t3I�V��~+K�D�L�l$81�H�l$@H�D$I�FL�,�M��u6H��9��H��$HdH3%(�VH��X[]A\A]A^A_�DH�D$H�\$(L��L�t$0L�l$8L�t$L�xH�H�L$H�H�{0��H��M��L�G1�����7���H��H����������!�%����t��L������D�H�WHD�L�����H���u��� H��f��1H����������!� ��t����€�D�H�qHDΉ�@�H��H�S0H��H)�H��H��H�xA�ԅ�u4H��M��L��L��L��� ���H�[H������L�t$0H�\$(I�V���H�|$ H�������L��ff.����H��dH�4%(H��$1�H��tH��E1�H��H�xH�PH�0H�?���1�H��$dH34%(uH�������ff.�@��AWAVI��H��AUATI��USH��dH�%(H��$1�H���'�@H��H��H�        �H���I�~Hc��t&E1�1�L�=2EI�VH��H��u5A�EI��I;Fr�H��$dH3%(uWH��[]A\A]A^A_�H�{0H�E��L��L�
ķH�5�D�ME�1��d�H��H������H�[H��u������f���AVAUATUSH��dH�%(H�D$1�H��tOH�I��H��tD1�1�H�xI��I��tH�HH��H��uJ�UH��H;Pr�H�x����I�}����I�EH�D$dH3%(u[H��[]A\A]A^��H�$H�{0H��tM��t.A��H�$L��L��H�X�@���H�$H��u�I�E�|���fD�c��������ff.�����f.����L���#A���-L�
��#Hcȃ�A�1�A�<�H�=h�#H�4�H�5
�#H���H��H�5mC�1��9�������H���ff.�@��L���#A���-L�
V�#Hcȃ�A�1�A�<�H�=0�#H�4�H�5��#H���H��H�5-C�1����������H���ff.�@��L�=�#A���-L�
V�#Hcȃ�A�1�A�<�H�=H�#H�4�H�5��#H���H��H�5�B�1��Y�������H���ff.�@��L�
��#�����E�E��~6H�
Y�#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=��#H�5��#Hc���T���H��L�L:H�T2L��H��H��A9����A$1���L�
%�#�����E�E��~6H�
��#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=i�#H�5"�#Hc���T���H��L�L:H�T2L��H��H��A9��� A$1���L�
m�#�����E�E��~6H�
��#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=A�#H�5��#Hc���T���H��L�L:H�T2L��H��H��A9���p@$1���AWAVAUI��ATUH��SH��L�5q�#�C@$H�L$A���~7L�%,�#I��1��A�<�L�����A��;E|���EH��A9�L�5]�#A���~2L�=��#1�DA�<�L�����A��;E|���EH��A9�L�-�#A�E��~4L�5.�#1�@A�<�H�t$�z��A��;E|���EH��A9]�H��[]A\A]A^A_�f���AWI��AVI��AUI���ATUSH���H�|$H�\$H��$�H��L��$0dH�%(H��$�1��
���H���
���L���
��L��H�����L��H�����L��L�����H�|$H��L��H����H��L�������xH��L�������yTH�5?�1��Y
��H�����H�����L�����H��$�dH3%(u'H���[]A\A]A^A_�@L��L���M����y���B���f�������.AWAVI��AUI��ATUSH��H��H�4�#H�L$D�E����D��=$E����A�H�-��#�&@���trH���#D98~~D��=$I��E��unN�$�L��A�|,��9���t�H�5�#L�_�#J��A�|,�H�t0�B�T�A�|,�L����������u�H��[]A\A]A^A_�f�L�%��#A�$����D�
2=$E��uɽL�55�#����t�A9,$~d�5
=$H����u�L�<�L��C�|7�����t�H�
��#H��C�|7�H�t�H�
��#�T�C�|7�L���������L�5�#A����6����=�<$���(����L�-�#�'f��������A9.�����
c<$H������L�<�H�t$C�|/������t�H�1�#H��C�|/�H�t�H���#�T�C�|/�H�t$�M���������AWI��AVI��AUI���ATUSH���H�|$H�\$H��$�H��L��$0dH�%(H��$�1��H���H���;���L���.��L��H����L��H���x�L��L���m�H�|$H��L��H����H��L���O�����xH��L���@�����yTH�5�;�1�����H���q�H���i�L���a�H��$�dH3%(u'H���[]A\A]A^A_�@L��L��������y������f���H��t�G�9�E����f.���H��t1�H9w(�����f.���f.���H��t1�H9w(�����f.���f.���H��t'H�G H�H9�w1�H9�r��
�f.���f.���H��t'H�O(H9�w1�H9�r�fD��f.���f.���H��t'�O�9�t
�f�1�H;W(�������f.���H��t'�O�9�t
�f�1�H;W(�������f.���H��t'��t�1�H�(��������f.���H��t'��t�1�H�(�����f.���f.���H��t'�B�t�1�H�(�����f.���f.���H��tG��t�H�(�u�H�G Hc�H��
H9�|�Hc�H9ѺN��f���f.���H��t7��t�H�(�u�H�G H�H��H����Ѓ�
�D��f.���H��t7��t�H�(�u�H�G H�H��tH����Ѓ�
���f.��
�f.���H��tW��t�H�(�u�H�G H�H��tH��wH���������H�����@�
�f.���f.���H��tW��t�H�(�u�H�G H�H��tH��wH����������H�����@�
�f.���f.���H��tG��t�H�(�u�H�G H��
H��w�H���������H�����D��f.�USH��H��tSH�6$H��H��t#fDH�;H��tH��������tH�[H��u�H��H��[]�f�H��H��H��[]�1���ff.�H��t;USH��H��f�H�{H�+H��t����H��H������H��u�H��[]���ff.�@��1�H�=j5$t��AT�(UH���S�b�H�C5$H��tmH�_�#H��L�`(�H�;t<H��L9�u�H�|�#H��E1�1�H�u�#H�5
6� ��[1�]A\�@�����H�H��u�[�]A\�ff.�@��H�
��#�91r,H�
�#9r!H��4$����H��H��1�H�:H�:����ff.�@��UI��L�m5�H��AWI��AVI���AUI�պATSH������H��H��(
dH�%(H�E�1���M���H������A�H�������)f�H�������H�����M�?M���@E�OH��A�w1����H������L��4��H�ڋ
H����������!�%����t������D�H�JHD�H��������@�D��H��H)�)�HcЋ1H����������!�%����t������D�H�qHDΉ�@�X^H��H+�����9�� ���H��L���E��M��H��L��3��1����H�ڋ
H����������!�%����t������D�H�JHDщ�@�D��H��H)�)�Hc����f.�H��L�����H�E�dH3%(uH�e�[A\A]A^A_]��R�f���H�u�#98r!H���#90rH�72$����H��H���f�1��ff.�f���AUA��� I��ATL�!3A��U��SH��8dH�%(H�D$(1�H��H��VH�߾ ��XD��Z����L��H��H����H�D$(dH3%(uH��8[]A\A]������H��tAUH��SH��H��H�{H���<�����tH�H��u�H�������[]�@�CH��[]ø�������H��tAUH��SH��H��H�{H������tH�H��u�H�������[]�@�CH��[]ø�������H��t1�D�WH�?9�L�H��u�ø�����fD��SH����H��[H���������H����H��H���g
������f.�;wtH�?H��u�1��H�G�ff.���S���4���[H���i��f���H����AUI��ATI��U��SH��H�H��ti;Su�Jf�H��9ht@H�H��u�����H�H��tNL�h�hH�1�H��[]A\A]�fDL����H���[]A\A]þ���I�$�L�����본�����fD��AVA��AUI��ATA��U��SH��dH�%(H�D$1��0�L��H��D��H��H�$���A��H��t#H�L$dH3%(D��u H��[]A\A]A^�H�<$D����������ff.���H�����H��tH�H���fD��S���T����[H������f���SH���3��H��[H��������SH�����H��[H���w�����H������H��H���'�����AUA��ATI��UH��SH��dH�%(H�D$1����L��H��D��H��H�$��A��H��t'H�L$dH3%(D��udH��[]A\A]�f�������L�,$H��H��t%H��-$H��H�C����L�kH�H��-$�f�L��A������k�ff.���AWAVAUATUSL��$���H��H�$L9�u�H��(dH�%(H��$@1�H��t�>H��u-H��$@dH3%(�OH��(@[]A\A]A^A_�@L�d$� L�����H�����H��H��t��8t�H�L$H�T$L��1�H�5�-H��$ ���L�l$L�5�-��tiDH�ߺ H���h�L��L��H��H��1��u�����G���H��f�H����:u�D�|$���L��D��H���>��H��u�����L�%N-DH�ߺ H����L��L��H��H��1����������H��f�H����:u�D�t$����t$�|$D��H���i��H��u������f.���AUATUSH��H��+$H��t0fDH�{H�k���H�;H��t���H��H�����H��u�L�-W+$H�D+$L��M�e(M��t%H�EH��u/H��I9�u�L����H�+$H��[]A\A]��1�fDH�<H��t	�*���H�EH��H��u�H��t�H���<�H�E�f���H��tGATI��USH�H��t)�H�{H�+H��t��H��H�����H��u�I�$[]A\�f��ff.�@��UH��SH��H�����H��H��H��H��[]�����S�1�H����H��H���q���1�[�ff.�f���H�����H��H��������SH��)$H��t�H�{�_��H�[H��u�[�@��AUf��L�ATUS�D$@�l$(�\$0D�\$8D�l$HD�d$P��tHI��
vZ��D�o	��D�g
��+�GH�f�1��OD�GD�O@�o�_D�_[]A\A]�DI��vH���f�������f���H��t
H�H��H��wH��($H��($H��SH������p��l�pf��f��($�V��($�P��($�P��($�P��($���($��($�ų��H�H�H(�م����D+��($���1���)lj�����ʈh($�����i�������H�G($����)ʈA($H�[�ff.���USH��H��HdH�%(H�D$81��~��1�H����H�k�H�=)H����������D$H�{�
1���H�{�
1��D$��H�{�
1��D$��H�{�
1��D$�l�
H�{1��$�Y�H��-l�D$���H��H�L$8dH3%(H����H��H[]���H�=M(H�������t.�H�=7(H�������u$�D$�'�����D$�����H�=�'H�������t.�H�=�'H�������u$�D$������D$����H�=�'H�������u�D$���f��H�=�'H�������u
�D$�a����H�=^'H�������u
�D$�:����H�=;'H�������u
�D$�����H�='H�������u
�D$	����H�5�&H���@����u�D$
�����z��H�5�&H�������u
�D$���1��	���ff.�����w?H��&��Hc�H�>��@����Ѓ��D������Ѓ��f�1��D�
�f�����u����v�j���f.��
�f.�����x(��~����N��f���������@1��f.���ATUSH��$$H��tcE1���I��H��H��tLH�{H��t
��H�CH�{H�k u�M��t/I�l$ H�;��H�{��H��H���~�H��u�[]A\�@H�-$$���AVAUI��ATUH��SH�Ӊ�H�����H��I������I��M��t"H�uL��H��L�����L�4�[]A\A]A^�H��H�����H�D�L�4�[]A\A]A^�f.�ATI��US����H�XH����H��L��1�H��H���U���H��H����H��[]A\�f���AWH��I��AVAUATUSH��H�1#$���L�`L���P�L��H���E�L��I���:�D��H��L��I������H���`D��L��H�����H���aD��L��H�����H��tH�=Q%���E1�H��u
�TDH��H�;H���Z���x��H�{L���D����|H�C I��H��uȾ(��a��H��I�����L��I��{���I�GI�GH�C I�G L�{ L���[���I�GL���o�L���g�H��H��[]A\A]A^A_�Q��tN�(�����H��I������L��I��	���I�GI�GM��ugH��!$L�=�!$I�G �~����H�{I���o���H�=s#����j����H��H�=�"�����U���@L��H��H�=#����:���L�������(��J��H��I���o���L��I��d���I�GI�G�[���UH��SH��H�?H��tH��@�S�H��H�;H��u�H��H��[]�9�f���ATUSH�� $H��tZE1���I��H��H��tCH�{H��t
���H�CH�{H�ku�M��t'I�l$H�;���H��H�����H��u�[]A\�DH�-i $��ff.�@��AVH��AUI��ATUSH�? $���L�`L���V�D��L��H��H�����H����H��E1��q���I��H��u�@H�CI��H��t4H��H�;H������x�u`H�{��L�k[H��]A\A]A^���� ����H��I������I�FL��I�I�D$H�CI�\$��� ��a��H��H�����H�CH�M��u�H�G$H�@$H�C�j����H��H�=F!�i��[H��]A\A]A^�Y�f�H�=Q!�T��M���*���L����������� �����H��H����H�CH��n���@��AWAVAUI��ATI��U1�SH��L�5�$L��M��u�$f�H�CH��H����H��H�;L���"�A�Dž�x�uAH�{H��t�+���H�CA�M��uaH�{��H��D��[]A\A]A^A_�� ��	��L��H���.���H�CH�H��uSL�sE1�H��$M����L���?���H�C�f�� ����L��H�����H�CH�H�EE1�H�CH�]�J����L�sH��tCL�uH�;��H�����1���� ��O��L��H���t�H�CH��F���L�55$�ff.���USH��H�$H��tIf.�H�kH�;H�-�$�=�H�{H��t���H�{H��t���H��H����H��u�H��[]�f.���USH��H��tYH��$H��H��u�:H�[H��t1H�;H���<���x�u.H�CH��t5H��H�;tH�ؐH��H�8u�H��H��[]�@1�H��H��[]�@H�[H��u���ff.�f���H����H��tH�H���fD��AWI��AVAUI��ATI��U1�SH��L�5�$L��M��u�o�H��H�;L���z���x��H�{L���d��…�yvH�C H��H��uʾ(����L��I����L��L��I���I�FI�FH�E 1�H�C H�] M��umH�{��H����[]A\A]A^A_��tf�(����L��H���<�L��H��1�H�CH�CH��u�L�s 1�H��$M��tuL���T$��T$H�C��H�{H���c������H�C��L���L�s H��t*L�u H�{�T$����H�;����H�������T$�)���L�5b$�Ѿ(��Q��L��H���v�L��H��k�H�CH�C�:���f.���USH��H�$H��tHf.�H�k H�;H�-�$�=��H�{�4��H�{�+��H�{�"��H��H�����H��u�H��[]�ff.���ATUSH��tUH��tPH��$I��H��H��t.@H�;H���=���xu)H�{L���+���yH�[ H��u�H��[]A\�fDt1�H��[]A\�@H�CH��tH��H��[]A\�@H�[H��[]A\�ff.����H��L��H�
���H�����H�5�H�=����L��H��H�
.�H�w���H�5�H�=|锾��@���
H�=�I�������tb�
H�=�L�������t0�H�=��L����€��҅�uB�1����fD������1�������1������L��H�=1��W�����H�=$H��t0H��H�wP1��1�H�=�$���H��$H���D�ff.�@ATL�%�$UH��SM��t6I�\$H�;H��H��u�2f.�H��H�{�H��tH�������u�L��[]A\��M�d$(M��u���ff.�����W;V���y�N9O��kUSH���^9_|MP��t^1���
uDH��H��H�v�H������u(�Cf9Er�w�K9Mr
w
�C,9E,s,�����H��[]�@���^9_r�w��Ff9Gr�������@������f���H��A�(1ɿH�[H�5���x���H�5��#1�H�
RH�=d���H���#H�56�#H��H�
��H�=P�������w����H��t'H���H��t��f�H�=!��@1��ff.�f���USH��H��H�=�$t)H�����H��tLH�=�$H��H��[]�7���H�=����H��H��$H��t2H�=���H����H�5����������H��[]À=D$tH��H�5p�1����������H�5�1��$���ǐ��SH��H�������u[�f.�H��H�=n1�[���ff.���H��H�=�$H��t��������f���H��$H��t H��H��H��PXH����H�����D1��ff.�f���H��t'��f��tf��
��E���1��ff.�f���H����H�`��AWAVA��AUI���ATM��UH��SH��1�H���O�H�=IA�����������D	�t01�M��tA�$1�H��tH�uH�����E��u0H��tH������H�C`H��M��H��D��L��H��[]A\A]A^A_��Mc�H��H�D$�L��H�5�1�����L�D$M��tL���}��H���L��L���+����f�������f.���AUATUSH��H��tcH�GXH��H��tWI��M��ЉŅ�~<H�=v�����u,M��tA�EM��tM�$$��L��H������H��tH������H����[]A\A]ý��������AVAUATUSH��$H��t`I��H��I��I���f.�H�[(H��t?H�KH�H��L�������u�M��t4M��t/H�I�EH�CI��[]A\A]A^�[1�]A\A]A^�D[�]A\A]A^�f.���H���S���������D���������u��������H��$H��t�H�@(H��u�H���f.���USH��H��$H��t,f.�H�{H�k(H��t
���H�CH��H��u�H�c$H��[]�ff.����H��tgUH��SH��H�7$H��u�SH�C(H��t'H��H�KH�uH�H�}�0����u�H��1�[]�H��(H�E(�H�+H��[]�D1��H��$��@��H����ATUSH��H��$H��toH��L�%�$�L�c(H�[(H��tSH�KH�uH�H�}�����u�H�E(I�$H�}�H��t�D$�|��H�E�D$H��[]A\��H��1�[]A\�D1��ff.�f���AW�(AVAUATUH��SH��L�gL�odH�%(H��$x1�H�H�D$�G���D$H�G 1�H�D$ ������&M�����:L�����H��H���\L�pL)�L��L)����H��L��I��H���y��A�L�����L��H�D$���H�L$H���H�D$(M��E1�M��1�E1�D�t$I��H�\$ L�|$ M��I���LI�T$H����t$L����H�����D$M����I�>H�������I��M��I��M��t�H���VI�t$8H��H��t�H�E0�o]H�|$0�oe�om H�D$`)\$0)d$@)l$PL9|$8tL�|$8��H���v���L�|$ M���(H�|$(H�D$�y��L���q��H�D$I���y@A�<$/��M���L��,�o���L��H��H����H�D$0��1�H�D$(�f�<,�����I��A�E��u���L�l$0Hc�L�5��荿��H�|$(L��H�5v�H����L�{H��L��L��1�I����I�G�H��u�H��M��I���3���I�D$H�|$H�0���I�t$8H���0����oE�oMH�|$0�oU H�U0)D$0)L$@)T$PH�T$`H�������H�D$P����H�‹t$L��A�T$0��@D�t$L�|$ E���eM��tH�|$(���L��E1�����H��$xdH3%(L����H�Ĉ[]A\A]A^A_��M���Z���A�$��t3M����.t������H�f�Pu	��-�����I��A���uӋ1$�����1����I��H���]H��H�\$p� �H�=Y�I���a���M��H��I��L���1���蛼��H�t$0�H�\$0L�|$8H�D$@�9��1���
��H��t�H��H��I���e���1�L��覬��M������L���������H�5�1��������H�=4���{�M��E1�H�D$(H������@I���m���H�=x-M��E1�1��D�H�D$(H������H�|$�f��H��H��t�H�H��tfDH��H�H��u�H�D$(M��E1����H�=	�H�\$p����M��H��I��L�=�1����I���H�t$0�H�\$0L�|$8H�D$@����1�����H�������1Ҿ1��d������A�1�H��
�H�5t��
$������������ff.���H��Hf�dH�%(H�D$81�H��)D$H�<$)@ H�@0H�t$��t�D$H��H�L$L�D$ ���H�T$8dH3%(uH��H��O��ff.�@��H��Hf�H�
��dH�%(H�D$81�H��)D$H�$)@ H�@0H�|$��t�D$H��H�T$�g���H�T$8dH3%(uH��H�����ff.�f���AWAVAUATUSH��H��$H�T$H��tvI��H��I��E��H�CA�H�8u�O�H�CJ�(I��H��t7H�KH�H��L��������u�H�C H�|$H��D��[L��]A\A]A^A_��f�H�[(H��u�H�58
�1�����H��1�[]A\A]A^A_���E1�1����f���E1�1ɺ�͵��ff.�f���E1�1�1�鰵����UH���SH���H�����H��tH�H�(H�H�PH��1�[]�fDH���[]�@��H�H��t(H�AH;1u�@f�H�PH90tH��H��H��u��fDH�QH��H�����1�H���H�H������H�6H�?�������ATI���UH���S����L��H���(��H��H����H�CH��[]A\Ð��H��HdH�%(H�D$81�H��$H��tPH�D$0f�I��)$)D$)D$ �|$�t$�T$H��t�o	H�q�IL$I�p$A�H,L��H��PXH�|$8dH3<%(uH��H��2��f���ATUSH�i$H��t=I��H��SxH��H��t?H��P H��H��u�+H��U8H��H��tL9#u�H��UH��[]A\��1���H�5
�1�1��w����D��H��tGS�Q��H��H��t0�@0�P���S0�� u-H�=�$H��tH�����H���y1�[�D1��DH�5�
�1�������H��toSH���^�����tYH�{H��t
���H�CH�{ H��t
�u��H�C H�{8H��t
�_��H�C8H�{P�~��H��[�E��D[�fD����USH��H���uH�����軶��H��H���WH�H���[H�E�C�EH�{H����Hcs����H�EH����CH�{ �EH����Hcs(���H�E H�����C(�E(H�{8H��tHcs@���H�E8�E@H�CHH�{PH�EHH�CxH�ExH�CXH�EXH�C`H�E`H�ChH�EhH���H���H���H���H���H���H�C,H�E,���H�EPH���H��tH��H���H��H��[]�fDH�{ H�E�EH������H�E �E(�!����H������1�H��H��[]�@H�E�E���@���H�E8H��t‹C@�E@���SH��H�?���H��[�K��ff.���H��t��D�ff.�@��ATA��U��S������H��tH��H��B0[]A\��E���ڿH�5
1��&��1���f���M���[AWA��AVA��AUA��ATM��UH��SH��H�=v$���8��9���H��H���5D�hD�xD�pL� H��tH�U�oEH�P$�U@�P,D����u'H�=$H���������H��[]A\A]A^A_Ð�=�$u�D��H�5��1���$�J����H�=e���H��H��$H��t5H�=c���H���H�{���H�CPH� �H�������@1�H�5������H�=]$���H���[]A\A]A^A_���f�H����������fDH�5��1�������AWAVAUATA��H��USH��H��dH�%(H��$1����H��I���o��H�߉����L��A���J���H��H���Z��L��������I�����H�߉��{���H�l�#H�Nj2�j��H��tUE��tPE��~�Hc�����M��tL���s��H��$dH3%(D����H��[]A\A]A^A_��E��u�Lc���w;�,H��s0�L��薥��L��H��tN�i��A�M��u��@L���P��H��H��A��PH�5�E��1ҿ1����Y^�F���fD���H��1�A��PE��H��H�5|�1�����XZM����������������H��(fo�dH�%(H�D$1��J�#�D$info)$�D$��u,�+�#膣��H��E1�E1�1�1�1��B���H��#�1�H�L$dH3%(uH��(�荿��ff.�f�AUI�������ATA��UH��SH�����H���JH�}H��H��t6���H�}H�����A�ą���H�����H��D��[]A\A]�@I�UE��A��H���������H����H�x������.��H�EH��H��u1E��t,1�1��诣��H����H�x��������H�EH��H���J���H��A����H��D��[]A\A]�@E��t�뤐H�5)�1�A����H�MH��1�H�5����H�����H��D��[]A\A]��H�}�@����H�5��1�A��������f�H�}�F����SH��H�$H���dH�%(H��$1�H��H��蜜��1�H�ھ���H��$dH3%(u	H��[��|���ff.����SH�=tH���\����;"tH�ھ1�[駝���H��[�W������SH�=�H�������;"tH�ھ1�[�g����H��[�������AWAVAUATUSH��h
dH�%(H��$X
1�H��t=H��t8I���V���H�D$ H��H����I�T$XI�t$P�������t
��t6�����H��$X
dH3%(����H��h
[]A\A]A^A_�fDI�t$`H���i�>H���]�H�=�H�t$(������6H�|$ 1�1ҾU蓧��H�D$H����H�|$1��٬���D$����H�D$H1�H�D$0H�D$PH�D$8H�D$OH�D$���;\$�#H�|$��蟨���8u�H�pH�|$0�L��L�l$HE�uE����A���I��I��
�kE��x���I��H�T$H���B�:K�D=H�D$HG�t=Ic�E��u�H�|$8�DPH�|$HH����t�.誢��H�pH�t$HH�|$(�������7����1��`����H��H�|$ 1ɾUH�T$(1��T���H�D$H��tH�|$蠫���D$������@H�|$ 1�1��b��H�D$H�H�|$ 1�1��J��H�D$H��t%H��tq�.H�����H�D$HH��t#H��H�D$HH��tH�|$(H��������J���I�T$`H�5��1�������������H�|$ 1�1�����H�D$H�H�D$H뚸�	���1����������X���H�5��1����������;���跹�����SH���C���H��t31�H�SXH�sPH��������t��[�������f.��[ø����[�@��H����H����AUATUSH��H�����I��H����H����������L��A�UH����I���H��t1ҾL���L��A�UxH��H��thH��P H�{0I��u3H��t.�L��H�����H��H�C0�U8H�{0��H���„�u�H��UL���#��1�H�{0����H��[]A\A]�H�5���1��)��L������������Ӄ��fD��UH��H���SH��H������H��t!H��H���n�����uMH����[]�@H�ھ����H��u�H�b�H�5_�����H��1҉�[]�fDH�i�H�56��1��n��H��1҉�[]���AUATI��USH��芻��H��PxH��toH��H��P H��H��tIL�-7��DH��U8H��H��t-H��L���׮����u�H��L����H��U8H��H��u�H�EH��H��[]A\A]��f�H��[]A\A]�D��ATUH��S����1��脷��H��tYH��I�����H��H��������H��H���ض��H�����L��H������H�k��uZ�H������1�H������I��H��t&H��H���T�����uL��H�5D�1��	���H��[]A\ÐH���1�H�5���1����H��[]A\�@H��H�5���1�����@H�	�H�5f��1�����ff.����ATI��US��H����1ɺ�)H��H�����H�9�#�H�����I�T$HH�������_���H��H����H�E H����H�x��H�uH��������H�E H��H�p������GH���G����tcI�T$PH���������H��tH��H���6�����NI�t$hH��tH���\�����t0L��H��[]A\�٨��f�H���H�5���X���[1�]A\Ð1�1���r���H������f.�H��H�5޶�1�����[1�]A\��1�1���*����?���DH��H�5���1��־���y����1�H�5�1�軾��H�	H�5i�1��衾���D���@H���H�5F��1��~����!���f�H�1�H�5��1��V�������H��H�5���1��6����������USH��葳��H���1�1��H���7���H��H���;H�@ H����H�x��H�uH���������H�E H��H�p��������H��������t;H��1ɺ�)�7���H�p�#H�߾����H��H��1�[]�Ӧ��H���H�5���X���H��1�[]��H��H�5���1��.���H��1�[]�DH�	�H�5δ�1������@H�NH�5���1�����@H��H�5���1��Ƽ���i����H�!�H�5n��1�覼���I������H����ATUSH�_8H�����
H�=H��I��������qH�{HH��t
����H�CHL������H�CH�	H�=�H��������H�{PH��t
�ó��H�CPL�����H�CP�
H�=�H���������H�{`H��t
胳��H�C`L���S��H�C`�H�=�H�������u-H�{hH��t
�G���H�ChL�����H�Ch1�[]A\�@�
H�=��H����€�1���u�H�{hH��u��H�=&H��������s���H�{`H���M����U����H�=�H�����������H�{PH����������
H�=�H������������H�{HH���m����u���������5������������G0uVS���H��tO��uZH���txH�;tH�H�5T��1��h��������
ǃ�1�[�1��Ddž��@dž��H�5��1������f�H�=���H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H����,���@��H��#��f���H���C���A�1�H���H�5M����A�1�H�z�H�5-���ӕ��A�1�H�f�H�5
��賕��E1�1�H�7�H�5P�H�=��T���E1�1�H���H�5<�H�=ʾ�5���A�1�H���H�5����U���1ɿH���H�5��A��5���1�H���1��H��鬰��ff.����H��t7U���pSH���H���͞��H��t ��u�H��[]�f.�1��DH��H�D$���H�D$��@��H����SH��H�H��t���H�{H��t���H�{0H��t
襯��H�C0H�{8H��t
華��H�C8H�{HH��t
�y���H�CHH�{PH��t
�c���H�CPH�{XH��t
�M���H�CXH�{`H��t
�7���H�C`H�{hH��t�!���H��[������ff.�@��AVAUATUSH��dH�%(H�D$1�H����H��H��I��H��H�}H�T$I���Z����<$��1��|$������H�u0H��t\L���L��� ���L��蘕��H��H��1�I�]A�$hH�L$dH3%(umH��[]A\A]A^��H�}H���<���H�u0H��u��5�9����1�/���H�������������1�H�5h���6���H��u����j���f.�����2��H����Hc�H�>��H��H���#ÐH��H�z�#ÐH���H�j�#ÐH�q�H�Z�#ÐH�b�H�J�#ÐH�!�H�:�#ÐH��H�*�#ÐH���H��#ÐH��H�
�#ÐH�Y�H���#ÐH�)�H���#ÐH��H���#ÐH���H���#ÐH���H���#ÐH�Q�H���#ÐH�z�H���#ÐH�	�H���#ÐH�A�H�z�#ÐH��H�j�#ÐH��H�Z�#ÐH���H�J�#ÐH���H�:�#ÐH���H�*�#ÐH�Y�H��#ÐH��H�
�#ÐH��H���#ÐH���H���#ÐH�i�H���#ÐH��H���#ÐH��H���#ÐH���H���#ÐH���H���#ÐH�Y�H���#ÐH���H�z�#ÐH���H�j�#ÐH�T�H�Z�#ÐH�&�H�J�#ÐH���H�:�#ÐH���H�*�#ÐH�i�H��#ÐH�)�H�
�#ÐH���H���#ÐH���H���#ÐH���H���#ÐH��H���#ÐH�*�H���#Ð��AVAUATI��U���SH��H�5��H�� dH�%(H�D$1����H��tm��H��踖��A�����*H�
����Hc�H�>��L�
�f�L��H�5���1��蘲���#���H���k��H�5P��H��1��u���I��L�d$H�l$H�\$L�5�@L��L��H��H���w���H��tbD�D$H�L$H��L���1��&���H�T$H��t�$t�1�H�5�������$t�H�|$��H�5��觽���DH�5����ϱ��H�D$dH3%(��H�� []A\A]A^�L�
K���L�
A���L�
�����L�
�������م���8H���O���A���L��P��L�
�H�5n�P1��F���XZ�ϕ��H������H�5���H��1��!����M���L�
q��`���L�
P��T���L�
0��H���L�
��<����'������AVf�AUATUH��SH��H��pdH�%(H�D$h1�)D$�D$ H��tH��uH�^8�N@H��t
��tQ��<tLH�|$H��1�H�v�豫��1҅�xH�T$H�\$hdH3%(H����H��p[]A\A]A^�f�L�sH��t
�F0����{L�l$��uaL�d$0�.L���
L���Ǣ���CH��M��H�|$H��M��f��H����P1�����Z1�Y���_����_���DI�u�W���H��t��D$%��
�L��薫��H��H���$���H�8����H������赤��D��UH��SH��H�_ H���ޫ��H�EH��t�oC�Sf�PH��[]�ff.���1�H��t�1�f�
H�GGf�Gf��oO�Ff�G��ff.����AWAVAUATUSH��dH�%(H��$�1�H�D$H���6H�w~#I��H��H���
�f�H�G�oGO1��\������$f��fA�D$H����H���ɹ��I��H����1�8:�
@��1�H�H���R����]I�Ƅ������H��f�H���]�����DXu�I�l$A�}[�Q�:L���̢��H��H��tV�I�}�%L�s����H�����H�xH�$超��1��
L���D$賬��H�$��I�����%�:H��L��
�N��������:L���G���I��H��t4�1�H�x�
�\������,�P������
f��fA�D$A�}��f�1�H�L$L��H�
H�T$ )D$ )D$0)D$@H�D$$�ʐ������H�|$H��tH�G�oPAT$�T���@H�T$P�.H��
�9���L�������L������f�1�H��$�dH3%(���4H�Ę[]A\A]A^A_�H������1�H��L���J�������DI�l$E���.���fA��fE�t$�b���f��
1�L���!���I�Dž��u���H��L��
�ƹ�����]����D$�
1�L�����A�G�=���.���E���D$fA��fE�D$A�D$���@�]L���K���H��H��������M�u�%L���+����$I��H��t�H�x�`����$�{:��H��L���
������u0M��tA�%�]�5���fDL��蠢�����A�:���A�D$f��f����f��fA�D$�$A�D$�%���H��L��
H�$衸��H�$���1�������1�H�{�
������i���H��L���
H�D$�c������L���L�D$A�@�=�������$fA��fE�D$A�D$���1���#������O��������I����L���ff.����AUA��H�
�I��AT�I��U�պSH��(dH�%(H�D$1�H�\$
H���i�����L��HE�L������H�L$dH3%(uH��([]A\A]��Þ����U��H�5��S��H�=��H��dH�%(H�D$1�������t;1ɉ���諤��1ɉ���蛤��H�D$dH3%(u1H��[]�@H�L$A���߾�D$�ܲ����%���D��AWf�Hc�I��AVAUA��ATUL��SH��dH�%(H�D$x1�H�4$A�H�t$D$L��$�L��$��D$H��H�F,�F4H�T$�@H�D$ H�D$PH�L$H�D$(H�D$0H�D$8 �O���H�Ã��tA��.���L��H��D����H�|$8v`H�t$0I��H��tSI�M9utkI�EH��H�ڃ�H��H��v,H�L$8H�L)�H9�wH)�H9�wH��H��I�u����H�\$xdH3%(u8H�Ĉ[]A\A]A^A_�@A�E�EA�EA�$A�}�x���H�t$0�s���詜��f���AWf�Mc�AVAUATU��SH��dH�%(H��$�1�H�D$D$,L�d$ D$<H�D$L�D$TL�D$L�L$H�L$ �D$(H�D$0H�D$8H��t�H��L�d$ ��uB�@@L����Ӑ����H��$�dH3%(���H�Ę[]A\A]A^A_�fD�>A��L�t$聅��H�D$`f��H�D$@��@@L��H�D$�D$H�D$D$hH�D$xH�D$H H�D$`�D$l�D$H�D$p�+����Å��P����lz���8I���?���I�F�@@L���D�l$H�D$H�D$p�D$�D$x����Å�����A�?�����H�D$@H�D$H�������f���AWAVAUATUSH��HH�|$H�L$ L�D$(dH�%(H�L$81��D$0H����D�W,E��D�T$��H����<A��藋��D�T$H��H����L�x8L�pD��H�D$0L�l$4H�D$@H��D��M��H���D$4AWAUL�D$������XY��x>H�D$ H�H�D$(�<H�t$8dH34%(��uxH��H[]A\A]A^A_�f.��T$�x���T$�8��uH�D$�x,�w�����T$�O����T$닺�����H�D$ �����H�H�D$(��v����|���ff.����AWI��AVAUA��ATI��USH��H����H�H��tDM��t?A���<������H��u.��H�5��1�������ˣ���Sf�M����I�_8H����A�@<��A�,��xsL�s �S8E��M��H��L���y���Ņ�xH����[]A\A]A^A_�D�w���8u�A�,�H��tNH�_8H��tE�W@��<t��R���D�����M��u�뮽�����H�9t$M��tA����%���H�9tM��u��������A�W@����f.����f.������������x�����ATUSH��tcf�?u]A��H��������H��H��t@�@,�����H���,���H��tE��t2H�EH���E[]A\��H����1�H��[]A\�fDH�E �<��E(�v���H�E8H��t�o�E@<H��[]A\��H��1��Ʃ���@��U��1ҾS���H���z����x��lj��Q���H����[]���������f���ATI��UH��S��H���,dH�%(H�D$1��D$��t1�H�L$A���5������t8�},�L���w���Å�u:H�L$dH3%(��uCH��[]A\���cu���8��|����f.��Ku����8�|��H�������������H��dH�%(H�D$1��D$H��tH�t,H�5���1�葠��H�D$dH3%(u+H���@H�w8H��t˃@vŋ,H��H�T$�(�����葕�����AUI��ATI��U��SH���Ő��H��H��t2��uA�@,E1��tg����M��tD��L��H���s�����u��t[H��H��[]A\A]�DA�M������M��A�f���������C,���u�D����u���C,�f.�H��舝��H��H��[]A\A]�f.�H��1��V���H��H��[]A\A]����AWAVAUATUH��S��H��(dH�%(H�D$1������1�����I��H����1��*����:L��A����{��H��A��A����E����L���}��H�xI���_���I��H��tSL��L��H��M��F����:0A�FL��fA�I��1�L����~��A��M9�tL���8���E��uX1҉�H���t���H�L$dH3%(uHH��([]A\A]A^A_�DI��1�L��L���~����t�E��tE��t1�f�D$L��1�H��������W������ATUSH��0dH�%(H�D$(1�H��tw�oH�W I��H��H�wL����#~����tWH�s(H��t6H�\$1�H���~����1���u?H�L$(dH3%(uMH��0[]A\�fD�Cu*��L���`�����fD1���@H�ډ�L���c���벐1҉�L���T����荒��f.���AWAVAUATUSH��H����I���,����M��I��H��Hc�E1�E1�1�H��H���e���A�Dž�x>M��tM��tA�D$@��KI�EA�H��D��[]A\A]A^A_�f.��q���8��uA�|$,�D�sx��룐Hc�����I�EH��t�IcT$@I�t$8H��H�����A��A������ff.�f���AUATUSH��H��tMI���,��xCH��Hc�DE1�E1�1�H��H���q��A�ą�xH��D��[]A\A]��[p���8u�A�},��A��������AWA�����AVAUATA��U��S�Ӊ�H��8dH�%(H�D$(1�L�t$ L�l$�D$M��L���D$ �����u�|$ t.H�L$(dH3%(D����H��8[]A\A]A^A_��D�|$A9�}�H�D$$H�D$@��D)�=~@A�H�L$����A����D����D$$����u5D�|$$��D)�=�M��L��D�����7���D�|$�O���D�\$$����ff.�f���SH���,��x輩���C,����[������[�f���U��S��H��(�L$dH�%(H�D$1��D$�D$��tzH�L$L�D$�ډ�蒂���D$��~JH�L$A��ډ�������uU�D$��9D$|MH�t$dH34%(��H��([]�fD�D$��f.���tC�ȃ�t$�D$�q����T$�މ��������u��D$럅�t<�1�萝����fD��t�1��x����fD�	1��d����f��
1��T����荎��ff.�f���U1҉�1�S���H����|����x(�€�߾����D�H��1�[]�|���H�������[]�f.�f���AUATUSH��dH�%(H�D$1�H������H��H���H�GI��H�1�蔜����t@f��f�CH��t�}uE�{�uw���H�L$dH3%(�EH��[]A\A]ÐM��t�1�L��H���x���@H�����H��H��th�:H���t��I��H����I���I��t�xueH��:tL�H�=�wH�������t+H�sH���x����y"H���p���1��I���f��C����H���Q�������@�
H��L���Ȗ��H�$I9�t��:u�H=��w�I��f��f�CM��t�L���`���f.��}t��
H��H���z���H�$H9��3����:�'���H=��v������R���f���AUA��H�
�I��AT�I��U�պSH��(dH�%(H�D$1�H�\$
H���y{����L��HE�L���w��H�L$dH3%(uH��([]A\A]��Ӌ����AVAUATUH��SH��H��@dH�%(H�D$81�H��tH��uH�^8�N@H��t������<tNH�|$H��1�H�0��k���1҅�xH�T$H�|$8dH3<%(H���/H��@[]A\A]A^�@L�cH��t
�F0����SH�s ��A��H�T$ 膈��fA��H�T$L���I���[�c���A��H�|$H��Rf��I��H��AVD�˾1�趐��Z1�Y���E����E���DD�cH�T$ H�s������fA��H�|$H��I��E�̾1�H����\���1҅�������D��L�����H��H������H�8�r���H���������D��UH��SH��H�_ H���>���H�EH��t
�S��Sf�PH��[]��1�H��t�1��H�G�G
f�Gf���G�Ff�G����AVAUATUSH����H�_8H���.�@p��H����(�/�ޗ���9y��H��H������I��H�CH���nH�{8�u���H�E H�{8�r�����E(H�{8�Y���I��H����1�1ҾeH���<��I�ƅ���L���Iq��I��H�CH����H��L��L���k���1ɺL��!�G������y��I��H����臢��L��L�����p��L���"�������H��L���������w1�1ҾiL���~��H��E,H��[]A\A]A^�@H�{8�G���H�{8H�C �j���H�EH�{8�q�����EH�{ H���Z1�1Ҿe�<~��H������w��H���m��H�{ 1�1�H�C�iH���
~���M0�E,H��[]A\A]A^�f.�1�H��[]A\A]A^�f��1����H�5���1�1��1���L���g��L���h������@H�sH���1�1����H�5]��1������@�1讕��H�S8�1�H�5\�1��ő��H���1�D��蔊��L���h�������6�f���H�5���K���f.�H�5��1�1��k����f���fDH�5���1�1��K����F���fD�1����H�5��1�1��!���L���g������@�11��Ԕ��H�5���1���H���1�1��������@�1螔��H�5��D��SH��Hcw(H�2H� �h���H�[���USH��H�_8H�n8H�C(H�CH�EH�{8H��t	���H�E8H�{0H��t	���H�E0H�{HH��t	�ԛ��H�EHH�{PH��t	�›��H�EPH�{XH��t	谛��H�EXH�{`H��t	螛��H�E`H�{hH��t	茛��H�EhH�{@H��t�<襗��H�E@H��1�[]����H��dH�%(H�D$1�H��tH��uH�w8�W@H��tV��<��~G��ptr��h��H��$�<H��H�=f��v��H�L$dH3%(��H���f���u|H�D$dH3%(��H�=9�H��鸚���H�N8H��H��1���F�����1���x�H�$��H��<H��H�=���yu���i���@��H��H���1�������1���y��@������fD��AT1�1ҾeUSH�_8H�{ �z������H�{ �m��I��H�C(H���H�{�l��H��H�CH���L��L��H���*���H��貙��A�ą���H��H���Lv����u(�2�ޑ��H�{(1�1Ҿi�y��[]A\���H�5��1��ݍ���5裑��H�{�*c��H�{�q���H�C(�����H�C�H��H�5���1�蔍��H���1����d���������H�5���1��j���H���H��D���8����H�5���1��C���������=���H�5
��1��&���L���c��H�C(���������ff.����H��tcH�8t\USH��H���G0uA�3觐��H�k8H�}H��t�%b��H���}x��H�C8H��H��[]�ד����0�f���뽸�����ff.���USH��H����H�H����A�8h��H�_8H����H�kH�����uH�������xAH��[]�f�H�{0u�H��t�H���T$H�4$苗���T$H�4$H�C0�DH�s��H�L��$賄���$H��[]�f�H�5���1�譋���8�s���������p���H�5b��1�膋��������S���H�5��1��i���������6���ff.�@��AWAVAUATUSH��H�$L�D$H���$�G,���H�_8H���H�{�LH����hA���Tq��I��H���
H��Z#H�5�V#�hL��L�0J���ґ��Aƅ!M��A�����DH�{D��H��詅��A�Dž�tz���t=��~�H�L$H�$H��L���y���������DE�H��D��[]A\A]A^A_��H�{D���$n������v�H�sD��H����	���L���с����L��A�����躁���H�5	��1�A���������J^���8��e���t���H�$A�����H�H�D$��S���H�5���1�A�����褉���5���ff.�@��AUA����ATI���USH��
dH�%(H��$
1��o��H���vD��H��H���w��H��H���\E����L��賔��H�E8H�(U#�K0H�k8H�H��X#�C@pH�H�CH��CH�����H�CXH�_���H�C`H��W#H�CpH����H�ChH����H�CxH����H���H��U#H���H�T#H���H�����H���H�����H���H��$
dH3%(H����H��
[]A\A]�@�K0L���̓���:L��H�E8�;}��H��tVL)�I��M��
H=
I����	L��LC�H�
>0�1��l��L���x���H�E`����1��]����I��
L��L���
k�����|��fD��AUI��ATA��USH��
dH�%(H��$
1�H��t
�H����u7I�mD��H�����H��$
dH3%(��H��
[]A\A]��:�d��H��u��,{��H�H���@H�����tE�DZu�H��H��I��AUL����
1���	H��H���l��XZ�e����H��I��L�G�1��
�H��H�ݾ�	��k���/�����{��ff.�f���USH��
dH�%(H��$
1�H���	w)I��H��չ
H��H��L���\������H�����H��$
dH3%(u
H��
[]��\{��ff.����H��H�R#��H���#H��U#H�H���#�:l��H�:eH�
��H���#H�z�#H�=c�#H�H�HH�R#H�~�#H�/R#H�`�#H������AUATUSH��H��H����H�o8A��H����H�G8D�g@�	���H�k8H�CPD�c@A��<��H�<V#H�Cx�C0H�H�U#H��CH�fH�CXH��
H�C`H� H�ChH�R#H���H�WP#H���H��H���H�cU#H���H��H��[]A\A]�fD�[���H�{8H�CP�Y���D�c@�F���D��H����r��H�S8H�P@H�C8�C@p�*���ff.�f�H��H��dH�%(H�L$1�H��tH��uH�w8�W@H��tW��<��~H��pts��h��H��$�<H��H�=q�A��H�L$dH3%(��H���D��u|H�D$dH3%(��H�=E�H���8����H�N8H��H��1����~����1���x�H�$��H��<H��H���i���j������H��H���1���x~����1���y��=����fx��fD��L�mP#H�
�����f���L��N#H�
�����f�H�ѷ#H��tM�L�GDf9Pu2f��t<f��
u/�Of9Hu�w9p(uH�HH�p I3I3pH	�t	H�@0H��u��fD�w9pu��Of9Hu��ff.�f���AVI��AUI��ATI��USH��`H�-�R#dH�%(H�D$X1��M��u"H�=�N#��a�����V�E�5��#L���y���H��H���M�Pf����f��
t9H�5b��1�1��ā��H�L$XdH3%(���&H��`[]A\A]A^Ð��&~��H��H�����Cf�E�oC�E�`��L�t$I��H��H��H�5�M#M��H��H�T$R��3���XH�5��ZH�������T$L��L��H���k��A�]��I���D��}��H��H��t�Cf�E�C��E�j���fDH�5���1�1��À�����fDH�5���1�襀������H�5��1�荀��������u��H�q�#SH��H��t!H9�u�Kf�H9�t3H��H�B0H��u�H�{@H��t
��w��H�C@H�{P[��k���H�C0H�B0��H�G0H��#�AWAVA��AUATI��H��UH��SH������H��H��tH��H��[]A\A]A^A_��E����A�D$,�����X��f��I��H����D��L����m��I��H���lI�T$8I�EPH��tA�|$@p��H�\�#L�-U�#I�E0�Ef���sf��
�1H�U�oEI�U �UAEA�U(裎��H���+X��I�EH���j艎��H���X��I�EH���jI�}1ɾ�H������mj��I�}1ɾ�H������Vj��E������j��H����Y��H��H����H��H�5:����ul��H�5�H������H���.\��I�GH���1ɺ�!H���=p��I�UI�L��I�u�9���I�� �{���I��5%�#L����[��I�� S���2����/�ށ���B���f��+j��L��H������H���[��I�GH����1ɺ�!H���o��I�UI�L��I�u装��I��*}�����DH�zHH��tH�T$����H�T$I�GHH�zPH��tH�T$����H�T$I�GPH�zXH��tH�T$���H�T$I�GXH�zhH��tH�T$�Ɉ��H�T$I�GhH�z`H�������讈��I�G`���DH���H�5�t�1��|��H�5���1���|�����fD�oMAM���f�H���H�5nt�1��|���H���H�5Rt��|���I�}��R��H���H�5/t1��I�E�_|���d���I�}�R��I�}�R��H���H�5�s1��I�EI�E�|���#���L���s������I�}�sR��I�}�jR��H���H�5�s1��I�EI�E��{������ff.���AWAVAUATUSH��hdH�%(H�D$X1�H�7L#���u)H�L$XdH3%(���mH��h[]A\A]A^A_�@I���5S�#A����{��H��H���#�Pf��t!f��
��H�5��1�1��"{��돿�w��H��H�����EA�f��E�C�BZ��L�t$H��M��H��H�5\G#M��H��H�T$R�超��XH��ZH�5z��+1��n���D;d$����D��L��L���Y����������M,�������v��H��H��t�EA�f��oEC�T���H�5a��1�1��3z�����fDH�5���1�1��z���}����Io��f�AVAUI��ATI��UH��SH�?H��H��tH�6H��u,L��L��葁��H�EH��tLL�#1�[]A\A]A^�f.�L�4L�����H��t#H�EHL��L��H���d��L�31�[]A\A]A^ø�����DAVI��AUI��ATUSH�� H�~dH�%(H�D$1��5V��Hc�H��A����u��H�Ņ�~H��u3H����p��D��H�L$dH3%(��H�� []A\A]A^��I�~��H���N��A��M��tI�E8H��tA�U@��<ta��ptSI��L�t$L���m��H�L$D��H��D$I�EPL�D$L��P`����h���H�5���1��x���P���H�@@H��t�H��I���Dm��L�t$�D$��m��@AVAUATUSH�F@H����H�VHE1�H��u[D��]A\A]A^�H�nPI��H��H��H�}��}��A�ƃ���~A���1f�H��L���u�������H�s@H�}�SH�}�����uHH�}D���[������v�H�uH��������p��[D��]A\A]A^�E1�[]D��A\A]A^Ð��~�C8H��L�������~1H�{@H��t
�o��H�C@E1�H�CH[D��]A\A]A^�@A�����[]D��A\A]A^�fD��AWAVAUATUSH��8dH�%(H�D$(1�H�����G,H������I��A��I��M��t)H��t$A�8hH�uH��t��!�6fDH�u8H��t
�E@��<tS��ptJ�8A������Zz��H�5+��1��wv��H�L$(dH3%(D����H��8[]A\A]A^A_ÐH�v@H��t�M��t%M�?M���vM���mA�8h�LE��H������I��H���>H�XPH����H�KH����H�{0u	M���*I�|$@tL��H���w���A�ǃ����H�KD��L��H���i{������0A���.L��H���������-H�{D��L���6{�������H�{D���AY������v�H�sH���������$n��I�|$E1��'R��H�Å������Hc��q��I��H����I�|$��H��I����J��L�����i��H��L�d$ �ډD$H�EPH�L$ L��L�D$�P`L��A���~l���R���f�E1�����I������I��H�L$�!���H�L$H�C0���H��$I���D�������$���A�D$8����DIc�I�t$HI�|$@L���C����������A���������8A�������w��H�5���1��
t������4A�������w��H�5���1���s���i���Ic�I�t$HI�|$@L�������O����1A������w���:�����h��ff.����AWAVAUATUSH��XH�L$ L�D$(dH�%(H�D$H1�H�����G,H������I���hA���Y��H�D$H����L�|$�hL�l$<H�C#H�5-D#H�(L��H���z��I��$H�D$@I��H�T$AƇ!H�D$DH�CPM��H�L$D��H�D$@L��H��PXA�Dž��4�L$<��<�o��<�<H�l$@H�|$C�H��HcѹD�y��H���*j��H�D$@E����H�t$1�H���I�I��H���WI�mPH�}� I�}D��L���s��H�}D��L���0m��A�ǃ��t/�L��H�������~CH�}D��L���m�������H�}������U������v�H�uH�C�������j��H�|$�di��H�}������U�����CI�}@�L��H���7�����f�H�l$@H����E��������E���8���y����4M��H�|$A�������h����A�<H�+�H�54�1���q���L$<�h����A��E����A�M,�E���E��~A�E8I�}��M��H����I�}@tL��H���n���H�L$(H�T$ H��H�|$��_�����H�\$HdH3%(D����H��X[]A\A]A^A_�f�H�}�\�����A�M,�E��m���H�}H��t|�?{����t|�����H�5c��1�A������p���6��s���7��s���1��s��H�|$�g���M���@L��H���m���I�}@�	�������D��W����u�ME�������������t�H�5�1��o���5�[s��H�|$�1g��A���������A�M,L�����H�|$�g�����H�uH�ʺ������%h�����H�D$ A�����H�H�D$(�����H�5��1�A������o��H�|$�f���W����2A������r��H�|$�f���8����d��f���AWAVAUATUSH��H�$H��H�$H���dH�%(H��$� 1�H���0�Sr��H�C8H���'�{@p�H�x@H����z�H��H����H�xH��H�D$�D$L�d$0A�H�D$L�t$ L�|$H�D$H��H�����H�}H�}1��L���H�Hc{,�q���{,M��L��H�D$ H�D$(P������������?)ѺH��1�H	T�01��b]������H�EHA����H���p���H�EPH��t H�xH��t��B��H�}�PJ��H����H�����H���wt��H��$� dH34%(��H��� []A\A]A^A_�fDH�L$H��M��� H��$��D$�S���H�|$H���K����d��H�D$�8���f�H���G���H�}@H��t
�id��H�E@H�EH�$���@H��H���%��9�����a��ff.���ATI��U��S�^U��H��H��t��H�������tH��[]A\Ë{,�L���@W����y�H�5:��1��)l�������ATI��U��S�nB��H��H��t*��H���|���t(H���H���H�:#H���H��[]A\�@�{,�L���V����y�H�5���1��k������AUATA��H��UH��SH��H��H
dH�%(H��$8
1�I��L���K������D��L����y��H��E��unH��tiL�e8H��t`M��t[�:H���:`��H����H)�L�l$0I�ٺ
H=
I����	L��LC�H�
7�1��O��L���qv��I�D$`H��$8
dH3%(H��u]H��H
[]A\A]��L�l$H��H��1�L���F����t�D��L���<J��H���5���@L�l$0�
H��L���M����_��@��AUA��H��ATUH��H��SH��H��HdH�%(H�D$81�I��L���n����uDL�d$H��H��L���U����1���tD��L���I��H�L$8dH3%(uH��H[]A\A]�D��L���Ux�����_��ff.���H�����#����H��:#��H���#H�{9#H�H���#��O��H��HH�
��H���#H�H�5|�H�~�H�k�#H�HH�pH�PH��6#H�q�#H��4#H�S�#��#��tAH�="�#H���ip��f�E1�E1�1�1�H�ϻ1��H����#�3���D1�E1�E1�1�H���1��H��H�=ɝ#���#H���
p��f.���H�=�#SH��t�H�_�/`��H��H��u�H���#[H���#�ff.�@����H��H��H�=R��A�����AVAUI��ATUSH��tL�!M��tA�8t^A�����M��t^M�e8M��tUA�E@��߃�uIA�},��x;H��Hc�A�M��1�H��H���<��A�ƅ�y�<���8uA�},��H��u�A�����[D��]A\A]A^�f���AWAVAUATUSH��(H�$L�D$dH�%(H�D$1��D$H����D�,I��E����I���Hc��M��H��H����L�l$fDD��M��I��1�H��L���rO��A�Dž�x;H�$H�(H�D$�H�T$dH3%(D��u[H��([]A\A]A^A_���;���8��uE�~,�fD�B���A������H�$A�����H�H�D$���[��fD��AWH���"AVAUATUSH���dH�%(H��$�1�H��$�H���`:���H�=B�H����€����AH���HH��$��"H��H��� :��H�ً1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H��!��H���pH�Y�"H��H��H�\$�9��H��H����������!ʁ ��t����€�D�H�KHDى�@�H��H)���H��!�H���!L��$��-H��L���I9����$��C�H�=��L����€����<H����H��$��H�|$H��I��H����8����$��EA�$I����������!�%����t������D�I�T$LD��@�I��L+d$I����I�D$H�D$H��
�?�H�=V�L��������D$,�����$�!�D�D$,�/L����@��H��tI���I��t
�x��H�D$`fv�H�D$H)�$�L��$�f�L���
I�U)D$`H�D$X)D$p)�$��q�����EL�t$X��$�M����M�nA�ML�CH�|$E1�E1�H��$PL�d$ M��L��$�H�D$0H�D$H�\$@H��J�D<L�D$H�H�D$8H��L��I��f.�I�u	I�GI��f���H��H���҅��xH9�u�H�T$0�.L���
L�L$L�D$�U��I�u�.H��$ �
�wU��H�|$8�=_��L�D$L�L$H��H�P<������������tA��H<����H�A���+A����E��tA�	�
A����H�|$H���HT$@H�P�|$,fo�$��AoMH�@�x8HP(H����H�EM�v(M���<M�n��$�H��A�M���H�D$�;���f�H�=!��tJ��@H��$�dH3%(��H���[]A\A]A^A_��H�=��L�d$ �/J��L��M��t�H�_�Y��H��H��u�H�|$XH;|$Ht��\���@I�	L�RM��I��H�
D��I�t	�H�t
�H��L)�I)�D��������H�D$��1�����I�;I�:9�r�H�D$���DI�H�xDH��H�H<��I�t�H�t
�H��L��H)�H)����H��4���@H�=��TI�������H�t$L�H��$��������!���,����7@�2�������t�f�t
�����fDH�=����H���w����H�D$ ����fDH�=����H���O����H�=2�L�d$ �H���s���f�H�=���H�������H�=U��|H�������H�=1��dH������H��$�L�ZI��H�
L�T$D��H�t�H�t
�H��L)�H)�Dу���+���H�D$��1�A���J�K�9�r�H�D$����DH�=a���G���o����H�D$`f�1�1�H�D$HL��$�HDŽ$�)�$�)D$`)D$p�$�L�t$H�D$pL�l$xHDŽ$�L�t$X�2���H���#L�d$ H���SL�bH��#�<���H�=j��<G�������H�=8��$G������H�T$H1�H�L$XL��H�
H�D$d�EB������������\��H����F���i���f�H�D$`�
L��H��H�D$H�6]��I��H�D$`�8�pI�����M�������I��L��$�L��L���$\��I������A�����1�D)�Ic�����K�T'D)��T�������������|���f�D��p���fDL�%��#H���#���DH�=ܰ��E���o����H�COMMUNITH9�$������f��$�Y�����H�=���E���0����D$,I������A��H<��A�t��t
��B���f�A�	�
D��A�t	��t
��V�����A�t�f�t
�����D��A�t	�f�t
��1���L��$�L��
L���]j�����v���H�=p��E������7�2�t��t
�����H�=>���D���q�����H�H�D
�H�JH��H)�Ѓ��������1҉׃�H�499�r������Q����D������$����f.���ATUSH����f�?
��A��H�������A��H��H�����@,�����H��� c��H��t{A�����CH�CH���H�CH�H�CXH���H�C`H�y+#H�CxH�ChH���H���H� )#�C	H���H�3*#H�H��[]A\�H���R���1�H��[]A\�fDH�C �<��C(�A��H�C8H��t%H�U�oE�C@<H�P�U�P�5���H��1��Nb���ff.����UH��SH��H���,dH�%(H�D$1���u(�H���{0����uUH�L$dH3%(u`H��[]�H�L$A���)�D$��c����u
�{,�D�;.���8�5�����-.���8�5��H����`����������N��f���U��1ҾS���
H���2����x��lj��!U��H����[]���������f���H��dH�%(H�D$1��D$H��tH�t,H�5u��1��!Y��H�D$dH3%(u+H���@H�w8H��t˃@vŋ,H��H�T$�G�����!N�����AUI��ATI��U��SH���EN��H��H��t2��uA�@,E1��tg����M��tD��L��H���3H����u��t[H��H��[]A\A]�DA�M������M��
A�f�����S���C,���u�D���f���C,�f.�H���=��H��H��[]A\A]�f.�H��1���_��H��H��[]A\A]����ATUH��S��H��0dH�%(H�D$(1���u%1���M��H��tI��1�H��L���
4����t&1҉�H����=��H�L$(dH3%(uH��0[]A\ÐL��1�H����=�����L��ff.����ATUSH��PdH�%(H�D$H1�H��tw�oH�W I��H��H�wL����3����tWH�s(H��t6H�\$ 1�H���g3����1���u?H�L$HdH3%(uMH��P[]A\�fD�Cu*��L���0-����fD1���@H�ډ�L���=��벐1҉�L����<�����K��ff.�f����G=�����U��H��SH��8dH�%(H�D$(1�H��H���2��1҅�t
��H���,��H��H�L$(dH3%(H��uH��8[]��dK��@��U��H��H��SH��8dH�%(H�D$(1�H��H���A��1҅�t
��H���C,��H��H�L$(dH3%(H��uH��8[]��K�����H�%#H�5.##H�
��H�=��kN��ff.���AWAVM��AUATU��SH��H���H�T$L�L$ dH�%(H��$�1�M��tI�L�=��#M����H��t��uf�;
t2�H��$�dH3%(�eH���[]A\A]A^A_�@�}Hc��}Q��H�D$(I��H��tLc�H�t$H��L���]?��C�D%H�T$0H�s�.�
�oG��H�D$`L��$�H�D$Hc�H�D$�M�M����I�w(�.M�g<L��
�)G��H�T$�
I�w�.�G��L���3��9�u�H�T$H�|$L���S3����u��f.�A�L�TA"T'��@��8�@��H��@��u�8��b���A�G8��uM��tI�H�\$ I�I�GH�H�|$(H��������mK������1������H��@��H��H��"#��H��#	H��#H�F$#H��#H���#H�"#H���#H�'#H�Ј#�9��H�y2H�
n�H�H�5z�H�y�H�HH�=��#H�pH�PH���#H���YZ��f�����H��H��H�=��,�����ATUSH���H��dH�%(H�D$1��D$�/O��H����I��H�����{,����H�T$H���r-���Ņ�xlH�{8H��t�J���D$L�c81���C@��/��1ɺ���M��1ɺ���M��H�L$dH3%(��uHH��[]A\�f��[&���8��-��L���I����f.�L������I��뭽������G��D��ATUSH��dH�%(H�D$1�H���{f�?
H���nA������7��H��H���P�<�M��H�C8H���)H�U�oE�C@<�C	H�P�U�PH�f#H�E���*�M���
f�����cL���C,�����C0A�H�L$A���Ǿ)�$�D$�Z�������K0�H���C�`X��H�CH��t_�{,H���A��lZ���{,E���H�H���&����u'�{,���-���{,��E������DH���`W��H���X���1�H�L$dH3%(H���0H��[]A\�fD1Ҿ�
��(���C,��x��C0�H���C(�W��H�C H��t��{,�H���:�����l����{,1�1Ҿ�K���{,1�1Ҿ��J��H��#H�CH���H�CXH�@#H�C`H��#H�ChH�����H�CxH�W���H���H�Y#H�������D��,���@1Ҿ�
�'���C,�������C0E1�����D�C#���8�*�������D��f���U��H��SH��8dH�%(H�D$(1�H��H���+��1҅�t
��H���Z��H��H�L$(dH3%(H��uH��8[]��C��@��U��H��H��SH��8dH�%(H�D$(1�H��H����9��1҅�t
��H���Z��H��H�L$(dH3%(H��uH��8[]��QC�����H��H�9#��H���#	H���#H�#H���#H���#H�#H���#�4��H��-H�
�H�5�H�H�=J�#H�HH�pH�K�#H����T��f�����H��H��H�=��4�����H����O��H��tdH�w#H�@H�H�@xH�H�#H��PH��#H�PXH��#H�P`H�b#H�PhH��#H���H��#H���H���D���J������g$�����H���F��H��tdH��#H�@H�H�@xH�H�u#H��PH�X#H�PXH�E#H�P`H��#H�PhH��#H���H��#H���H���D��U��H��SH��(dH�%(H�D$1�H��H���f,��1҅�t
��H���4��H��H�L$dH3%(H��uH��([]��$A��@��U��H��H��SH��(dH�%(H�D$1�H��H���#P��1҅�t
��H���4��H��H�L$dH3%(H��uH��([]��@�����H���s;��H��tdH��#H�@H�H�@xH�H�5#H��PH�#H�PXH�#H�P`H��#H�PhH��#H���H��#H���H���D��AWM��AVM��AUI��ATI��UH��SH��8H�L$dH�%(H�D$(1�H��tH�H���5M���,M���SA�M���wA���!Ѕ���H���P)��H��=�L���:)��I���� ��H�|$H���8H�D$�)���ƒ� ��L�L$B�|'��T$�L�L$Hc��y0��I��H����Hc�H�@$L�L$HcT$H���j���)H��t�MA�H$����Mc�H�DI����A���M��tA�$�A����I�����L�I�@A�I�@A�@A�A�@�D$pA�@ H�Z#H���1L�@L�F#1�M��tM�EH�t$(dH34%(��H��8[]A\A]A^A_���D$$L�|$$�~���fDI�$H�xH��H�K�L�J�L�H��H)�I)�L�H��H���4���H��1�H��M�L�H��H9�r�I�������J�LH�t$L�D$H���)3��L�D$I�@���H�MI�x,H��H��I�H$H�L�H�L�H��H)�H)�H�H���H�����D$ M��t;L�t$ ���f�L�!~#L�~#����D1�1�������D$$L�|$$�f�C�L�fB�L��>�����L�f�L����f��MA�H$�L��L�����@A�$�C�L�B�L���������;���fD������+���fD���������fD���������������������������}<��ff.�f���AWH���"AVAUATUSH��dH�%(H��$�1�H�\$ H���#���H�=�H����€�����H���#H�t$P�"H������H�����"H��H�������|$ �UH���$H��$��H��H�������$���H�=�H����€����H���fL��$��H��L���V����$�L���U�
H����������!�%����t������D�H�JHDщ�@�H��L)�H��	���H�=ҙH���A��A��E��E�����D$L�t$�D$H�L$PH��H��M��ATL��1�L�L$$�M��ZY������H�C�Hc�H�>��f��|$ �D$P�����H�=����-����E1䀼$�!u
A�H���/H����!��I��H���HA�L�t$H�@H��L��H�D$��R������H�|$tA���D$��������fDH�=	��\-��@H��$�dH3%(�_H�ĸ[]A\A]A^A_��H�=ܗ�-����f.�H�=ݗ�-���f�H�=����,���f�H�COMMUNITH9�$��E���f��$�Y�6���H�=���,���`����H�=!��,���G����H�=���,���/����H�=���t,�������H�|$�
H�t$��B��H�T$�:�H�P�H����� )�H�����H��ȉD$�ЅD$�����DH�=u��,������H�=���+������H�=}���+���w����H�=#��+���_����L��H���$��������H�=&��+���4���@H�=1��|+�������L�t$H��L���P��������L��H���#���������H��u5�D$���������H�t$H�T$��SP����t�D$�����H�=P��*�����H�=O���*������]7��ff.�f����9�����H�=�w#SH��t�H�_���H��H��u�H��w#[H��w#�ff.�@��H��w#H��t!H9�u�Ef�H9�tH��H�BH��u��f�H�GH�B1�H9=Ow#H�Gt�H�B1�H�?w#��DH�)w#����H��#H�5�#H�
��H�=V���9��ff.���AWAVI��AUATUSH��H��XH�T$L�D$L�L$dH�%(H�L$H1�M��tI�L�=�v#M����fA�>u��<t1�H�\$HdH3%(��H��X[]A\A]A^A_�f�L�d$0H�l$ �
@M�M��t�I�w�M�o$L���2���I�wH����2��L������H9�u�H�|$H��L���*����u�A�FA#GA;Gu�A�G ���K���H�\$H���=���I�H�H�\$I�GH��&����1�������4��@��H��H��#��H��u#H�q#H�H��u#��%��H��H��u#H�=qu#H�zu#H�H� #H��u#H�*#H��u#H��#H�]u#H���F��@����H��H��H�=��%�����AT�USH���<H��dH�%(H�D$1��2%��H����I���D$H�����{,����H�T$H������Ņ�xgH�{8H��t�96��L�c81����C@<���1ɺ����9��1ɺ���9��H�L$dH3%(��uCH��[]A\�@����8���L����5����f.�L������5��벽������53��D��ATUSH��dH�%(H�D$1�H����f�?H����A�����$��H��H������<��#��H�����oEH�C8�C@<H��#�C	H�E����1Ҿ��:���C,���g�C0�H���C(��D��H�C H���7�{,�H���(������{,1�1Ҿ�^8���{,1�1Ҿ�M8��H��#H�CH���H�CXH��	#H�C`H�
#H�ChH�����H�CxH�����H���H�<
#H�����1Ҿ��_���C,�����C0�H���C�D$�D��H�CH��tX�{,��H�L$A��F���{,�H���[����u'�{,��z���{,��1��������DH���C��H���C��1�H�T$dH3%(H����H��[]A\�fD�M���f������6���C,��������C0�H���C�D$�C��H�CH���n����{,H�L$A����!E���{,�����B����Z0��f.���U��H��SH��(dH�%(H�D$1�H��H���6��1҅�t
��H���>��H��H�L$dH3%(H��uH��([]���/��@��U��H��H��SH��(dH�%(H�D$1�H��H����>��1҅�t
��H���>��H��H�L$dH3%(H��uH��([]��/�����H��H��#��H��p#	H�up#� ��H��H�vp#H�=Wp#H�`p#H�H�6#H�op#H��	#H�Qp#H���8A�����USH��H�$H���
dH�%(H��$1�H��H��H��$
H���
���
H��H���
��H��tH�=e��("��H����D��H�)#H��H���n6��H�=�o#H���/'��H��$dH3%(u
H��[]��].��ff.�f���H��H�=�o#�B��H��o#H���ff.����H��H�)#�
�H�=ЎH��G��1�H��Ð��ATI��U��H��SH��H�=&o#�1%��H��t[L���H��]A\�/��H��H�5���1��b8��[1�]A\�ff.���S�H��#�H�h�H��n#
H��n#�|��H�=�n#H��n#H�H��n#H�#H��n#H�#H��n#�??��H�
�#H��[H�M#L��H�=�=���f.���SH��Hcw(H�2H� �X?��H�[���H�=}n#SH��t�H�_�/��H��H��u�H�Ln#[H�Hn#�ff.�@��AT�USH���nH��dH�%(H�D$1��D$n�j��H����I��H�����{,����H�T$H�������Ņ�x_H�{8H��t�y.��L�c81ɺ��C@n���2��1ɺ���2��H�L$dH3%(��u<H��[]A\�D��
���8�L��L���.����f�L������.��빽������+��D��AWAVAUATUSH��(L�D$dH�%(H�D$1��D$nH����D�w,H��E����I��n�Hc�I���@��I��H����H�T$H��D���$����uw�{,E1�E1��@H��L�����A�ƅ�x0H�D$M�/�nH�L$dH3%(D��uXH��([]A\A]A^A_���	���8��uH�D$M�/�n�@�+���L����,��H�D$I��A�������b*��f���ATUSH��H�o8�,��xb�%D���C,����A��H��t
�E��t�}u)D��[]A\Ð�}tt�H�}t���D��[]A\�f�H�}�w��D��[]A\��A��������AWH���#AVAUATUSH��dH�%(H��$�1�H�l$ H������H�=u�H����€�����H���+H�\$P�#H��H���V��H�ً1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�L�aI��#�H�����#H��H�������E1�H��H����������!ʁ ��t����€�D�H�KHDى�@�H��H)�L�sI����I��#�hH���L��$��mH��L���w����$�L���FD�H��A������A��D! ��t����€�D�H�qHDΉ�@�H��L)�L�iI��m�*H����L��$��H��L��L�D$����L�D$��$�L����
H����������!�%����t������D�H�JHDщ�@�H��L)�L�JI�����I��
�{H�=_��L���K�|4"������L�L�D$H�T$L�L$�.��L�L$H�T$H��L�P"L�D$��A���sH��$�H�x*H��I�
D��I�t�I�t
�L��L��H)�H)�D���H�L�M�H�1�f�P L�HA���qA���	E��t�UA�A���"M����I�L�HH�bh#H�@H����H�BH�Fh#�@H�=�����@H��$�dH3%(�?H��[]A\A]A^A_��H�=q�������f�H�=]�����f�H�=Y�����f�H�=(�����f�H�=�����f�H�=B��t���o����L�L�D$L�L�L$�#-��L�L$L�D$H���0H�P"A���bA���)E��tA��
A���BI�L�A���sA���E��tA�A�A���%A�M�M�f�H �\���H�=A���������H�=���������H�COMMUNITH9�$��m���f��$�Y�^���H�=j��m���h����H�=h��T���O����A����E�������A�A�
A�������D��A�t�fA�t
����H�=���������H�T$ I�yH��I�D��H�L�I�L�L��H)�H)�D����z�����1ɉ΃�L�D5L�79�r��^����H�=‚�������M�H�t$PD��L�HA��sKA���U���(����A�	���������T�fA�T	�����H�qe#H�be#�-���DH�T$PM�AI��I�D��H�L�I�L�M)�C�L)΃���������1ɉσ�L�>M�89�r����f.�H��$�H�x*H��H�H"D��I�t�H�t
�H��L��H)�H)�D���H����DH��$�I�yL��H��I�D��I�L�I�L�L��H)�H)�D���H��s����UA�D��L�A�L����A�A�
D��A�t�A�t
����D���L�fA�L������A�	�ыT�A�T	�����A��
D��A�t��t
�����A�A�D��A�L�A�L����D��A�t�f�t
����D��A�L�fA�L������%"��D��H��dH�%(H�D$1�H��tc�~t=H�NH�t�H��1����'��1҅�xH�$H�L$dH3%(H��u^H��ÐH�D$dH3%(uHH�=�H����7��H��tH�w8H��t
H���@H�D$dH3%(uH�=̂H���7���c!����AUATUSH��H��tMI���,��xCH��Hc�DE1�E1�1�H��H������A�ą�xH��D��[]A\A]��+���8u�A�},��A������������b#�=�b#�ff.�����b#Ð��AVAUATUSH���f�?��A��H��������H��H����H���"����C	H����I��H�C8H�����C@�E����1Ҿ�����A�ĉC,���q�C0L�uL���	��L���C(�S6��H�C H���F�nH��D���������I�}�lL��fA�M����{,1�1ҾA�E��%���{,1�1Ҿ��%��H��H�CH���H�CXH����H�C`H����H�ChH���H�CxH�>���H���H�`�H���H��[]A\A]A^�D1Ҿ������C,��xp�C0L�����L��C�V5��H�CH��tM�C0L���n	��L���v���{,H��P�����������8I�ƃ����X��H���P�H���H1��1�H��[]A\A]A^�f.�L�e��L���2���C,���7����C0L������L��CH���4��H�CH��t��H�UI�}L���C0�lfA�E��/��A�E�}���fD�I�}L��fA�U�l�����{,�A�E�P�����?������8����@�5�_#��������5t_#�L���6�������L���'���{,H��P������q���A�>���f���ATU��SH�ĀdH�%(H�D$x1�H��t�?H��u$H��t�:u1��w�1�H��ti�:tdH��H�����H��kwsI��H�޺lM�D$I�|$f�$1�H�D$L��I�D$fH)���l���H�L����
����L���
��H�t$xdH34%(u'H��[]A\��H�59~�1��M'��1������@��USH��dH�%(H�D$x1�H�F�H��ivA1�H��u"H�T$xdH3%(H����H�Ĉ[]ÐH�5�}�1���&����H��I�����L�MH�}f�$1�L��L�ƺlH�D$H)�H�Ef��l���H�L����	����H�����H���i������fD��H��H���"��H�d]#	H�U]#���H�}H�V]#H�=7]#H�@]#H�H�N�"H�O]#H��"H�1]#H���X-�����AWAVAUATUSH��M��tI�H��\#H�����H������n��f�?��L�L$M��H��I��L�g�DH�[H��tL�{"L���C��H9�u�H��L��L�������u�L���$���S H9�tf��u�H�3L���[����u��M��tH�SH�L$I�UH�SH�H��[]A\A]A^A_�f.�H���[]A\A]A^A_�@H��1�[]A\A]A^A_����H���"H�5��"H�
�{H�=�{�{��f.����������fD���FH�VH=�t=�H�������uH�FH1��DH�Ѐ�H�FH1������fD��ATUH��SL�g8A�|$�G3��A�|$ ���;3��H��H�=i[#	��z��	�[]A\���AVAUI��ATI��UH���SH���9
��H�¸����H����H�KhH�ZH�ShH�
�SH�K8����������uxH���H�{0�dH�H��x<H����H��u,H�����{P���CT����f�A�E�I�$[]A\A]A^�D���t(H�{0�taH���u�H�C8�z���fD���u�H�cH����H�{0�u��/�H���u�H���H�����El��������H�C0H��������@����CT�J���f.�H������H���H����L���H���H��L���k'��L����������CP����f.��El�������@�El��������@���H���H��t'L���H�uxH��L���&��L������D�El��������������H��dH�%(H�D$1�H��tKH�G8H��tB�HD�@H��x1�H�����1҅�xH�$H�t$dH34%(H��u(H���H�D$dH3%(uH�=jxH���,���c����AWAVI��AUM��ATI��USH��H�_8dH�%(H�D$1�H�l$@�{�H��� ��A�Dž�xA��t
Hc�1�L���p�����t:H�L$dH3%(D��uCH��[]A\A]A^A_�����8t����uƾ�����I�A�E����ff.�@��U���SH�� H�����H��t1H��"�(H�XH�
H��u�&fDH��H�QH��u�H�AH�HH��[]�DH�H��[]�fD��AVAUATI��USL�o8H�9H�H�_H��k�������H���JH��H�����H�EH�xhH��t�6��H�EH�@hH�EH�PH����E�uE����A�E�EH��V#A�MH��u��H�@H����H�H�Z8;Ku�L�5,�{ �L�������x4A�}H��E1��M��I�<$H��t
���I�$[D��]A\A]A^��3�8t��@��H�PHE�uE���X���I�<$D�/�X��I�$H��U#H��t*H�H�Z8D9ku�=DH�H�Z8D;kt+H�@H��u�H�}�+��H���	��A������g���fDL�%M��{ �L�������xH��D���q��[D��]A\A]A^�D�k�8t���@��H���"H�H��t;8u
��98tH�@H��u��ÐSH�pH�HH��t*H�NH�HH��tH�PH�QH�XH���Q��H��[�@H�
����ATI��UH��SH�G8�x��H��t)H�XH�khD�cpH��t��UH�����H��[]A\�1���@��AT��A���US���H��H�����(��k��H��H����D� �FT#H�}H�k8��H�E�-T#�E�u����ua�EH�CH���H��H�=T#�C,H�*�"H�CXH���"H�C`H���"H�ChH�!�"H�CxH�n�"H����*���H��[]A\�f�H��1��F$��H��[]A\�fDH��1������ff.����AWI��AVI��AUI��ATU��SH��dH�%(H��$�1�H���U��H��I���j��L�|$X��uƄ$��D$H��M��L��H�D$���L��H��L�
��"H�D$����H�
��"�5c�"�5-�"j�^��H�� H��tI�T$8�Rf�PHH��$�dH3%(uH��[]A\A]A^A_����ff.�@��H��R#H��tPATL�%�R#USDH�H�hH��tH��ShL��H�����H����"��H��H��u�H�PR#[]A\�H�=R#�@��ATUSH��ti������t1ۉ�[]A\���
1�H�����I��H��t)H��H�=7��r������t*1ۉ����[]A\�fDDž�1�뤻�����L��H�5�q�1��M��Dž��x���ff.���H��1�H�?���1���#��A�
1�H�eqH�5���s�������H�����D��H���3��H���Z���f.���AUATUSH��H�-Q#H��t'H��;}u�f�98��H�@H��u�I���I������H����L�hL��H�hH��P#��$��H������H��H�=��|!����uTH��[]A\A]É�H�=���_��L��H��H���!����tH��L��H�5�p1������H�������[]A\A]Ã�t&��t�H�5�p�1���������눸����H�5p�1����������d���ff.����H��O#�����H��tUSH�Z;:u�>H�C9;tH��H��H��u����[�fDH�BH�{H��t����H������1�[�H�{O#H�����D��USH��H�_O#H��t,f.�H�{H�kH��t���H��H�����H��u�H�#O#H��[]�ff.����H�O#H��t;8u�f.�98tH�@H��u��f�H�@�f.����H�O1�Ð���ff.���H��tHLJ1��@��AUE1�ATUSH��H��H��t?I����a���H��H��t3H�E�hH�H�}���H�H��tI��$H��D��[]A\A]�A�������H�5o�A��������H���O����ff.�f���AWAVAUATUSH��H��(H�GXL�gpH���L�xH����L�(M����A��AƅA��H�XH��t
��
��H�CXI��E1�H��L��A��L��AƄ�K���E1��fDL��L����"������H�UI�H�KH)�H9�r�H�H�UI�?H�sH)�H�SI<$�4��L�MH��L��A�0�L���
������H���H�EhL9�tCH��t>�H�5n1��W��H���H�}hH��t����H���H�@hH����hL������H�EhE����H���H�xh�,�@ph1�H��([]A\A]A^A_��E����H��(�����[]A\A]A^A_��h�����I��H�����C@Aƅ1��'A���g�����DH���L�5�l�L��H�P0H�������t!L�5�l�H��L��������H�C0�:H��H�$��H���(L�����H�K8L�@I9�H�L$L�D$�L��L�4$H��H�D$L��������L�L$L�D$H�L$C�<:��H�4$L�q�M)�L�I���`L�����E1ɹH��M��A�L��L��CƄ5����t"A�����L������9���L����
���d���L�s8H�s0�L�5�k�H��L������������-����L���
�������fD�.���L���
�����������H�52k�1���������������ATUSH��H��@H�52#dH�%(H�D$81�H�l$H�����H�#H���
H�S8H�H9���H�{0H�����H�CxH�hhH�����xph��H�@h����1��'��������H�CHH�{@H��H���H�{@L�cH��I�$��9C��L�chI�$H���JI�$H�(H�Cx�@I@uH�Cp�@�YH�{H�K(H�T$H�t$L�jH��H+C H)�H�L$���H���<H�SPH�H�K(H+C H�SXH)�H�
H�C`H�SH�1�H�t$8dH34%(� H��@[]A\�DH�	�"H��H��H�=�"H�0���H��H��H�=��"��H���"H�0uQ�����tQL�
�_H��H�CHH�{@H��RL�;i�H�����H�01����XZ���f��;����ueL�
�_�fD������H�����������������+������������,�����������������-��������������I��f���H���h��I���H����H���"H�
b���H�5����H�H�=q���H�
Z���H�P8H��"H�H0H�PHH��"H�p H�50hH�x�H�PXH�����1ɿH��A�'H�hH�51���@H�51h�H���C�����f.����S� H��0dH�%(H�D$(1�H��H���
��H��u"1�H�T$(dH3%(uH��0[�f.�H��H���5�������ff.���H����SH��H�?H��t�R��H�H�{H��t
�=��H�CH�{ H��t
�'��H�C H�{@H��t
���H�C@H�{0H��t!H�S81���H�{0H��t
����H�C0H�{PH��tH�SX1����H�{PH��t���H��[���@�ff.�@��AVAUI��ATI��U��SI��L���]��M2Hǃ�����H���u6���I�D$XE�t$lA�l$lH��tM�D$`H�ًSL����E�t$l�S��`�����w^�kH��saL�cHL��H��Mc��H�CH�b����L�`HI��H��L�cH�m���L��L���R����u$[L��]A\A]A^�^��fD��u
L�cHA��u�[]A\A]A^Ð���h��=�ff.�f���H�-D#�@��H����ATI��UH��SH��H�?H��tH�S1��C�H�;H��t�6��H�H�CH��t2M��t-H�����H�H��t$H��L��H������H�k1�[]A\�@1�[]A\ø��������ff.���H����ATI��UH��SH��H�H��t!H�S1���H�{H��t
���H�CH�CH��t/M��t*H���R��H�CH��t H��L��H���;���H�k1�[]A\�1�[]A\ø��������ff.���H����AUATI��UH��SH��H��H� H��t!H�S(1���H�{ H��t
����H�C H�C(H��tAM��t<L�,�L�����H�C H��t0L��L��H�����H�k(H��1�[]A\A]�@1�H��[]A\A]ø����������H����ATI��UH��SH��H�0H��t!H�S81��R�H�{0H��t
�D��H�C0H�C8H��t/M��t*H�����H�C0H��t H��L��H�����H�k81�[]A\�1�[]A\ø��������ff.���H����AUATI��UH��SH��H��H�@H��t!H�SH1���H�{@H��t
���H�C@H�CHH��tAM��t<L�,�L���T��H�C@H��t0L��L��H���=�H�kHH��1�[]A\A]�@1�H��[]A\A]ø����������H����ATI��UH��SH��H�PH��t!H�SX1���H�{PH��t
����H�CPH�CXH��t/M��t*H�����H�CPH��t H��L��H����H�kX1�[]A\�1�[]A\ø��������ff.���H��t�w`1�ø�����ff.���H����H����ATI��USH����I�$H�SH��H��H�3�����}H�SH�sH���}���uiH�S(H�s H���i���uUH�S8H�s0H�������uAH�SHH�s@H���Q�����u-H�SXH�sPH��������u�s`H��������u
[]A\�DI�<$��I�$�����[]A\�D������f.���H��uWH���H��H!�H9�tH��u7H���f�H��H��H��H!�H9�tH��uH��u��@��øø�����f���USH��H��dH�%(H�D$1��B@��u!��@��u2�CH��v1�H������DH�L$dH3%(u2H��[]�f�H�����H�4$H�ډ����Hc؍CH��w������f���AW�F�M��AVI��AUATUSH��H��(�t$L�L$���H��$�H�1�H��$�1��H����Hc���H�t$������Lc�A������H�t$`����Lc�A�����L��1�����A�ƃ����H��$�1��H��x���D$�����H��$��H�1��T������{B�T%H��$���D$D�D�T$�Hc�H�1��������CHc�H��$�1��H�������� H��$�L��$�Hc�H��$�H�H��I+2H��H��$�H+H�L�L�Mc�Lct$L�Lcl$L�H�H�T$pH�H�H+I�H�T$xL�|$H�t|H��$�L��L�8H��$�H�H�H�H��$�L)�H�H��$�HH�D$hHH�1�H��([]A\A]A^A_��H��$�H�1�����H����I��1��I��L���������tHc�H��$�H��c����������f���H��A��H����A�ukH��tfH�>u`H��vZATM��UH��SH���W���;#ȉу�ɉr;#�K�M��tH�I�$1���L0H��H��u�[1�]A\ø�����f���H��tGH��tB�;#A��5;#�OA����ΉwAD�A�D�O��:#H�G�I�1��D������f.���AWAVAUM��L�V\ATUSH��H��$�H�T$H�\$OH�L$H�ڹL��$�H�D$ H��$�L�L$L��$�H�D$(H��$�L��$�H�D$0H��$�H�D$8dH�%(H�D$x1�H�t$PH�t$P�:��H����H�T$PH�t$X�0H��L��[H�T$XH�����H����H�T$XH�l$`L�D$H��H�L$H��H�T$`H�����H���r�|$O�gH�L$hH��H��H��A����H���E�|$O�:H�T$hH�L$pH��H��A�A�UH���h��H����|$O�H�T$pH�|$�A�M��������M��L��H��H��H��M�,$����H����I�$E��H�JL9���H�� ���|$OA���H�L$ M��H��H��H�����I��H��tw�|$OupI�H��uXL�D$0H�L$(H��H��L���p��H�\$8H�H��tJ1��|$O���D�H�\$xdH3%(u3H�Ĉ[]A\A]A^A_�H��1�H)���뙐������ĸ��������ff.�f���AWM��AVA��AUI��ATUH���S��H��HdH�%(H��$81�L�d$0L�����H��H��H=��:H�T$���H�D$��H�T$H�D$H9��~L��L���C��A�ą�ulH�L$��)ω�)ډ�9�B�A�������D;t$�����=���A�H��$8dH34%(D����H��H[]A\A]A^A_�H�L$(H�T$$��L��A�L�D$,�1��A�ą�uo�D$(�ډ�)�)�9؋D$$G�=���tD9�wu/9\$,v)����r���DA����A������b���fDA���D���L���S
�����8���A����A������-����A���������A���������(����H��t]U��SH��H��H�h�sp���H��t:H��H���H�S@H�s8�xUQH���QD�KL�C�����H�� H��[]ø��������fD��USH������h���H����H��H�O�"H�5oW�H��H�C8H�=�"H�C@H���"H�CHH���"H�C0H���"H�CH���"H�CPH���"H�CXH���"H�C`�������BH���"1�1������H���"1�1�����H�)�"1�1�����H���"1�L��YH�5�VH�=E���H�i�"1�L��YH�5�VH�="���H�v�"1�1���H���1����H�-�"E1�1�H��H�5iVH��H���K��E1�1�H��H��H�5\V�4��E1�1�H��H��H�5UV���E1�1�H��H��H�5MV���H��H��E1�1�H�5EV����H��H��H��E1�[1�]H�5<V����f�H���8�H���1�[H�5�X]�o����H��[]Ð��ATI��USH�����H�;H�Ÿ����H��t+Hc���H��H�;H��tH��L��������u�C[]A\�D[�����]A\�ff.���H�H��t%;~t H���f�H��9~�tH�H��u��ff.���H�5u�"� �����SH����Å�x��H�53#�O��[H�3#�fDH�="U�$���f���H�5E�"������SH������Å�x��H�5�2#��[H��2#�fDH�=�T�����f���H�5��"�����H�5��"�����SH�|�"E1�1�H�5�TH�����H�y�"H��1�H�5�TL�nW����H�R�"1�1��[��ff.���USH�������uH����t#����v81�H����[]û����H����[]�f�H�vpH�}h�
H���"�����t�H�u@H�}8�
1�H���"�������H����[]�f.���UH��S��H����t����v11�H��[]�H��H���"D�ƹ
H���n��¸��t�H�D�"��H��
�M�����H����[]�ff.���AVAUE��ATUH��SH��dH�%(H�D$1�H�D$H���D$HD�H����I��I��H���DH���H��tdH�{H��t�H���3�����u�L9cu�H�{H��t`M��t�L��L�������u�H��f�H�L$dH3%(u;H��[]A\A]A^�1�E��tـ}u�H�0#��f.�M���g���������AWI��AVAUATUSH���H��$HH�t$ D�$H��$ H�D$H��$PL�L$H��$`H�D$H��$XL��$(H��$0H�D$(��$pL��$8L��$@�D$<L��$hdH�%(H��$�1��A�H�D$h0H�D$p)�H)�H�t$`H��t(H�;L�T$0�H�����L�T$0H��H���H�t$`H��H��L��L��H��$�PH��$�PH��$�H�D$XPH��$�PH��$�H�D$XPAWAUL��$�L��$����H��@����<$�*H�D$xH�|$H��$ H�H�|$H�D$HH+D$H)�H�H��tCI�H�;L����������H�UH�;L������������4$H�;��������H�uM���A���<��<��E1�1�1�L���������E1�A���A��H�
�-#H�uL��L�����I��H���[����.�<$H�����A���"���6�$D�p�A����H���eI�W@I�w8H�;�������I�WPI�wHH�;�L��������I�WpI�whH�;��������I���I���H�;�T������A�����L$X�T$TL�D$\L��H�u����������<$��I�hA�wp���H�|$xH�T$SH��$ ��H�t$`L�SOH��H+D$H)�H�L$`����I��H���h@��L�t$`�������/I���A�L��$�I���I�wpI�h�t$H�D$�0AVAT���H�� ���SH�D$HH+D$�C�H�u�L$XE1�L��T$T���H�D$xH�\$H��$ H�L$H�H+D$H)�H�H�L$ H)�H��H�L$(H�H��$�dH3%(D����H���[]A\A]A^A_�D������A���������DH�|$p��H�D$H���fD�D$<�B���A�H�
t+#H�i+#L��������5����A�����q����K���@�D$<��A�H�
,+#H�!+#L������u�E1����D�A����� ������H�D$hI�OPI�WHI�w@I�8P�t$8D��$0L�D$��ZY���7H�������s���@E1�1�1�L���!������|���A�������fDD�l$\�}���fD�T$T�D$XL��$�H��$�H�t$@�L�$ʉ�$�H�T$pȉ�$����I���A�L�$���L�����I���H����H�t$@L��$���2LA�H��H��u�L�d$HA��8���f.�A��������A������������A�����������A�������I�W�1�H�5�K���^�������A�����j���H�;�"��H��5����A�����F���H�;���H�����f���H��tIH������OH�WH�wP�wp�wh�w`�wX�wP�wH�w@�w8�w0�w(L�O D�G�?���H��hø��������H�
](#A��Z�f.���AWAVAUATUSH��H��H��$HH�T$L��$pL��$@H�$H��$`H�D$@H��$�H�D$0H��$�H�D$8dH�%(H��$�1�M���$I�E�wE�oHH�$I�G��MEODE�I�G L�L$H�D$ A�G(�D$,I�G0H�D$PA�G8�D$\I�G@H�D$I�GPH�D$HA�GX�D$XA�G`��$XH�L$�T$,E��H�t$ ��$X�m������H�|$H�L$lD��E1�H�T$hE�������D$hH��L��H��$�I���D$tH��$�H��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$RL��PL��$���$�H�|$h�N��H��`����aH�D$0H��$�H�H�D$8H9(�C��$XH�(H��$���H��$hH�t$@H�L��$��M��H�t$H�L$pH��H)�H�<3L��H��$����H�L$xH��L��H+�$��0H�����H�L$H��M��H+�$��L��H��1��H��L��H+�$�H��$�A�H���H��L��H+�$�H��$�A�H����H�$H��M��H+�$��L��H����H��L��H+�$�H��$�H�������$X�����H��$�H��$�L��H��$�H��H)�H)�H�H��$��H��{���0L��H��H��$�H��$�H�����L������1�H��$�dH3%(�H��[]A\A]A^A_�@H)�D��H�|$HDŽ$�H��$��,��������H��$���uEH�D$HH����t$XL��$�H��$�H�PH��N�I�H��$�������D��L��$�I��AUH�$�S��$xP�t$XD��$��L$xH�T$hH�|$8�.�H�� ��uCH�D$0H��$�H�H�D$8H�(H��H+�$�H;�$�uH��$�H9�$��F���L�������������H�|$Ht8�L$lL��$�H��$�H��$��T$hH��I����y�������"���L���8�������a���fDH��$�H��1�H+�$�H��+��H��$�H��$�L��H��$�H��H)�H)�H�H��$��H��O��H��$�H��$�H��H)���$XH��$�u&H)�H��$��L��H�H+�$�H����H��$��0L��H��H��$�H�����H��$�H��$��H�I��H�������H��$��t$,A��I��PAT�L$lH�T$`H�|$0�D��ZY����H��$�H9�$���H�$�L��H������L�������@H�$L��L��L�L$����L�L$H��tzH�p8D�hpL�L$D��$PH�t$ �p@�t$,H�pHH�t$P�pP�t$\H�phH�t$H������H�t$H�D$X����DL���p�L���H�������q���fD��$XulH�W�"L�L$A�
D��$P�D$XH�D$H��"H�D$HH�D$P�D$,
H�D$ �D$\�J���L�������������1������������\��ff.����H��tEH���OH�WH�w�wx�wp�wh�w`�wX�wP�wH�G@P�w8�w0�w(L�O D�G�?���H��hø�����ff.����AWI��AVAUATUSH��H��$HH�t$@L��$pD��$XH�D$H��$`L��$xH��$�H�D$HH��$�dH�%(H��$�1�HDŽ$�M���I�EE�u`H�D$A�E�D$4I�E����I�E D�$@MEMH�D$(A�E(�L$ �D$0I�E0L�L$H�D$PA�E8�D$\I�E@H�D$A�EH�D$$I�EPH�D$8A�EX�D$XD�D$$H�L$D���T$0H�t$(�'��������t$ H�|$H�L$|E1�H�T$x����D$xH��$��D$|H��$�A���aH�EH���H��A�H��L��H�D$ jL��$�����AXAY���A�F�E1��D$$����H��H��L��A�AV�H��L��$��ʼ��^_����H�EH���H��A�H��L��H�D$@�D$<PL�L$萼��ZY����H��A�H��H��j�L��L��$��?��AZA[���cH��A�H��H��j�L��L��$����AXAY���0H��H��L��A��D$(�H��PL�L$ ���^_����L�MA�0H��H��L+L$�L���M������L�MA�H��H��L+L$�L��������u"�f.�H��L�������H�UH�H)�L9�r�L�H�t$@H�UH�;H)�L��I<$����L�MH��H��A�0�L�������t?�|$$��L�����1�H��$�dH3%(��H��[]A\A]A^A_ÐL�����������ǐH��$h�t$$H�|$H��@H��$����H��$�A���N�H�D$`H����E��A����A���fH�|$8HDŽ$����D$XL��$�H��$�L��$�L���H�H�D$8H�P��������H�D$hH��$��t$$M��P�t$h��$xP�t$`D��$��L$xH�T$XH�|$8����H�� ����H��H��A�H��H�E�L��$�L�L$p趹��A^Z����H�|$`�a��H�EH��H��A��H��L��H�D$ �t$pL��$��o���AZA[���s����D$$�t$0H�|$(f�)�$�)�$�)�$��������Lc��1���H�D$hL��$�����@H�T$H��$@L��L�L$���L�L$H������$PL�L$�L$4��$@�L$ H�H8H�L$(�H@�L$0H�HHH�L$P�HP�L$\H�HhH�L$�Hp�L$$H������H�L$8�D$X����f.�L��L��$����L�ML�I��M)�M$H����H��$��t$0PAW�L$lH�T$`H�|$8��ZY��uL9�$��)L������L�������������fDL�����H�|$`����������@H�|$8HDŽ$�t5�L$|�T$xL��$�H��$�L��$�L�����`����P���L�����H�|$`�5�������Q����D$$����A������$PL�L$H�D$8�D$4��$@H�D$P�D$ H��"�D$$
H�D$H���"�D$X�D$0
H�D$(�D$\�E���H�;L��L��H��H+|$8I<$�l��L��������L���W���������L���E���������L���3�������o���1��"�������^���������H��tEH���OH�WH�w����wx�wp�wX�wP�wH�G@P�w8�w0�w(L�O D�G�?���H��Xø�����ff.����H��H�z#HD�H�H��t-H9�txH���H��u�H��H���H9�tH��H��u�����H��t;H���H���H��tH���H9t1��f�H���H�1��H��u���H���H��1�H��u���fD��H�5�#�p����SH���c����uH��t
H�[�D1�[�ff.����H�5�#�����H����SH��H�H��t
���H�CH�{H��t
���H�CH�{ H��t
���H�C H�{(H��t
�o��H�C(H���H��t�V��Hǃ�H�{8H��t
�=��H�C8H�{hH��t
�'��H�ChH�{HH��t!H�SP1�����H�{HH��t
���H�CHH���H��t*H���1�����H���H��t����Hǃ�H�{XH��t!H�S`1����H�{XH��t
���H�CXH�{xH��t$H���1��~���H�{xH��t
�p��H�CxH���H���H��tH���H���H��tH���H���H���,��1�[��1��ff.�f���H��H�=�#謾��H��uH��#H�����������f���H�=}#H��t0S�H����\���H��H��u�H�Q#[��H�=#�@��H���S��H�����f.���AWI��AVAUATUSH��(H����H�FH�_I��H9���H�oE1��1DH9���M���M����I�EM��H9��5M��M�nH��u�M���H9�u�I�FH��H�D$���I��I�GH��H�D$�غ��L9���H�|$I���º��H�|$H�D$賺��H9D$�q���H�t$H�|$��������H��L	��	DH��H��L���º�����3���M�nL���^���I�wH�D$H��H�t$�H���H9D$H�t$����L���������I���M��tI��$�I���H����L���M���L��Idž�Idž��h���M���M���M����M����f�M���p���H��H��L���������H��H��L���ӹ����tH��L	��	������fDI�FH��H�D$�W���I�OH�D$H��H�L$�A���H9D$wRH��H��L���|����������H�|$����H�|$H�D$����H9D$�X���H��L	��t�������M��M��M���M���M���M���L��M��tM���L���f�H��H���H��u�H��([]A\A]A^A_�f�M���ILJ��L�l$H�t$�5���HLJ�H��HLJ��I��E1��e���Idž�L��Idž�蹺��M���ILJ��Q���f���H��H�5�#�L���H��tH��#H���ff.���AUATI����UH��SH��dH�%(H�D$1�H�$��H���H�H�=�H���K�H���H��H�Ƌ>H����������!��က��t�������D�H�FHD���H�H��H�CP1�H)�H��1�����H����H�MH��H��L��訶��H�$H��u��tC��t>���������}l�-��I�D$H���u,H�e������9��El��I�D$H���t��El1�����H�����H�L$dH3%(���H��[]A\A]�D�El�����El��H�z0����fD���蹽��I��H����H������I�EH�����H�=¤"�
I�E@
I�E ���H�=ͥ"�
I�Ep
I�E8���L��I�Eh�[�����fD������A�H���H��������������H�߻����������D��AUATUSH��dH�%(H�D$1�H�G��u���H��t%1�H�L$dH3%(�1H��[]A\A]�@H�?u�H���t�H���t���E1�H�G����H���H���E1�H���H���_��H��H���H�}8��H�}h�uH�}H��H���t(E���R���H�H��H�������4����H���H��tH���H���H�����@�跻��HDž�@H���H��tHL���H�MH�UH�u@H�}8APL��`PL������ZY��u�@H�������@���H���P���������H��@H��tH��HH����H��8���@�����H�EP@H�EHH��t�L�EPH�u@H�}8H�MH�UAPL���PL��8�\��^_��������e���DH��PH���{���H��X����H�EhH���7���H��XH�Ep�R����H���H���0���H������H�E8H�������H���H�E@�������L����)���H��H����M��t-L���@��L��H�EI���1��H�E H�������M�������H���H����8��H���H�Et	H���i���H���A�H�E�h����1����H��H���&����@H�$@���HDž�H���H������1�H���H��I��H����{�����������fD�1����I��H�������H�$@H�EH�@H��tH���R��H�<$�)��H�EPH�EHH�������1�H�UPH��M��H�}H�����������j���f����H���H���S���H���H����0�������H�EHH���.���H��HH�EP�T����Q�������f���H�����@��UH��SH��H���H�~8�H��t
�~��H�C8H�u@H�}8�I���1�H�C8H��tH�U@H�{HH�S@H��t
�H��H�CHH�}PH���H�CHH�CPH�{XH��t
���H�CXH�}`H���pH�CXH�C`H�{hH��t
����H�ChH�upH�}h譾��1�H�ChH��tH�UpH���H�SpH��t���Hǃ�H���H����Hǃ�Hǃ�H�{xH��t
�j��H�CxH���H��uVH�CxH��Hǃ�H��[]�f����H�CHH�����H�UPH��H�SPH�uH������D����H�CxH��t�H���H��H���H�ux踺��H��H��[]�fD���H���H���%���H���H��H���H����v���������k��H�CXH���~���H�U`H��H�S`H�uX�J����u���D��S������H��H��tUH�=%�"�
����H�C8H��tJH�=3�"�
H�C@
��H�ChH��t(H�H�Cp
H���H��[�f.�H��[釰�����AWI��AVI��AUI��ATM��UH��SH���z��H��H����H���v��H�CH����H���a��H�C H����H�{諻��H�CH������4��H�C(H����H�H�C(H�@H�{hH�C0H��t
���H�ChL��L�����H�ChH��tZH�{8L�cpH��t
����H�C8L��L��轻��H�C8H��t,H�L�k@H���H��H��[]A\A]A^A_�DH��H��[]A\A]A^A_�B���f���SH�=T#H��dH�%(H�D$1�H��H�$H���
�������H��H�=#H�$�������H��H�=�#H�$�ϰ����ukH�
�"A�
H�5Ǚ"�
H�=Dt�f���H��H��#H��tH�xH��t
����H�CH�C1�H�T$dH3%(uIH��[Ð1�虻���k#���fD1�聻���W#�P���fD1��i����C#�������f���UH��AVAUATSH��H�$H��(�dH�%(H�E�1�H��H����I��H����L����I�ԾD�����H����L��H�
e&P1����L���H����������!�%����t��H�s�����D�H�WHD����XZH�SH�����1�� L�kL�pM��tL��裪��H��L��L�����1�� L�k L�pM��tL���{���H��L��L���]���� H�S0H�xH�s(�I��� H�S@H�xH�s8�5��� H�SPH�xH�sH�!���� H�SpH�xH�sh�
��� H���H�xH������ H���H�xH����ٿ��H����L��蚺��H�E�dH3%(u
H�e�[A\A]A^]��)���f���H��tOATI��UH��SH����H���H��t#���u�H��H��L���ݲ��H���H��u�[]A\�@����H��H��H�=�#�*���f.���H��H��tH��H�=3$�İ��1�H���D�1�����H�������ATUH��SH��dH�%(H�D$1��|��H��H�����
1�H���!��H��蓠���
1�H��H�����H��H�剃��p���H�SH�sH������H�{�sE1�1�I�ĺ���H��H�sL������H��H�s H�����H�{(H��H��t
����H�C(H�C0H��H�S0H�s(�H��H�{8H��H��t
����H�C8H�C@H��H�S@H�s8���H�SPH�sHH���W���H�{hH��H��t
���H�ChH�CpH��H�SpH�sh����H���H���H���@���H�{h�spI������lj�������H�H�HD�H9��w2H���H���L�����H�L$dH3%(H��uH��[]A\�H�����肽��f���H��H���P���H��tH��H������H�����AWAVAUATUSH��8H�_L�dH�%(H��$(1�H�D$H�$H�\$ H�\$H���HI���H��I��H�=� ��€����S�H�=� H����€����LI���I���M���H��t!I�U1�����H�}H��t
���H�EM��� L������I�~8A�v@I��L�L$H��L��赦�����
L�d$A�tI9����I9^H����q��L��M��I��H�EI�EI�~8AU�uH�T$A�v@襼��ZY���{�@1�H���H�I���H9�uI�uL��������NfDH��$(dH3%(�iH��8[]A\A]A^A_��I�nHM�nPI�~H������H�=�H����€���uuI�~HI�nHM�nPH����I�U1�襨��H�}�D$H���}苽���|$H�EtiL��H��L���N���H������H�=	 �i����,���@�H�=H����€�����I���I���M���H���c���L��H�T$H�t$���L�d$H���X���H�=�������f�H�=�"�������H�=E�̭������H�=1"购���w�����H�=mH����€���teH�ƹH�=c������7���I���I���M���H������I�U1��6���H�}H��������D$���@I�~HI�nHM�nPH��u����f�L��H�����L�d$I�FXM�f`�H���H�=�!�������L��H������L�d$I�FxM����
����3�����AUATUSH��H�$H��(�dH�%(H��$1�H�l$I��H��H��H�$H�D$�ʗ��H����8*t|H�T$H��H������H��H����H�t$H�<$H������H����H��H��L���ص��H�<$H��t���H��$dH3%(��H��([]A\A]�DH��蘷��H�i�"I��H��u��H���H��t�H�{ H��t�H������u�L��L��H���Q������H�=>�l���H�<$H���`����`���f.�H�=��D����E����H�=! �,���H�<$H��� ���� ���蕷��D��H��"H��tH��t
H��"H��H���"H���"
H���"��D��H���"H��tH��t
H�|�"H��H�q�"H�f�"
H�g�"��D��ATUH��SH��H�� H���dH�%(H�D$1�H����H����"���H���H����H��XH��uvH���~���H��t(L�$$1��n���H��L�����H��PH�$H��XH��8��H���tY1�H�L$dH3%(��H�� []A\�f.�H��P脮��H��PH��u��El��������f.�1��褶��H��t_H�t$H�|$I��1�H�D$@H��`Hǃ�H�T$H���������1����Q���H�=��l�����;���f�H����)����1��&���H��H����Hǃ�@H�����H���H��H���L���L��`H��蠟��������H�=a�������f�H��訹��H���M���L�$$1�蔹��H��L���I���H���H�$H���H��XH���!������f�1���d���H��t_1�H�t$H�|$I��H�D$@H���Hǃ8H�T$H��8�Դ�����	���H�=�0�������fDH��8�����1����I��H��t^Hǃ8@L��軝��H���L�⋳�L��8L���H���e����������H�=�豻��������1��t���I��H��u��T�����1��T���H��H���.����:���螳��ff.���AWAVAUI��ATI��USH��xdH�%(H��$h1�H�|$8H�D$0�߷��H�|$@I������H�D$M����H�D$(M��LD�I�$�[���H��H���oH��$`L��H������H�=SH���I���������H�=5H���������L�t$XL���[���H�CH�D$XH���qH�CH������H��H�C ����H�CM����H�C8L��H��H��I����H�=H��I�������M��������H�{8H��t
莴��H�C8H�t$8L���Y���H�C8H���H�T$8H�S@H�8��H��L���ɐ���H��H�=[�I���������H�=WH���������H�{8�s@莛��������D$���;Lcl$L��辸��L�kPH��L�KPH�CH�H�=���€����L���H��L�L$����L�L$1�H�{HI��H�CPI��L��L��H�D$XH�CP�Q�������L;kP�M���6H�ChH��L���H�軏���H��H�=��I�������JH�|$�>H�{hH��t
����H�ChH�t$@H�|$�ɨ��H�ChH���|H�t$@H��H�sp�k��H��H����H�ChH�8I�$�]H��uH�I�$DH��1��>���H��$hdH3%(H���(H��x[]A\A]A^A_�f�H�D$H � H�D$P�$���H�D$XH���FL��L�t$XH��衎��H�T$PI��L��H�t$H�I���������H�D$XL��H��H�CH�D$PH�C�Z���I������f�H��蘮������H�s@������I��H����H�{8H��t
蛱��H�C8H�s@L���g���H�C8H�������D�L��H���ݍ��I������DH�������D�z�:C�?DD�M����L��H��蟍���H��H�=1�I�������+�H��H�=*��������D$A9lj�AM�Hc�H��H�T$裵��H�T$H��H���H�=�L���H�����€����
�H��L��L�L$���L�L$1�I��H���H���L��L��H�D$XHǃ��"�������Ic�H9����H���H���ط�����H�I�$�h���H�|$XH�LI�$H���O�������E���DH�II�$�0����1��+���f�H�s@H�{8H�KH�SAQPL�L$@L�D$p�έ��^_���%���H��I�$����@L���L�l$`H���ۋ��1�H�T$0I��H�|$PL��I��L�l$PH�D$XH�D$0�
������������H�t$0L������H�CXH�D$0H�C`��f.�H�I�$�H���H��I�$�8���H��舸���������)���H��H����H�{hH��tH�D$蚮��H�ChH�T$HcrH�T$H�spH�z�W���H�T$H��H�Ch�����DH�WI�$���H�mI�$���H�D$0H��H����������!�%����t��L�l$`H�{8�s@�����L�L$0M��D�H�QHDʉ��H��H��H)��ѕ���������H��I�$�1���f�H�C8�4����H��I�$����H��I�$���H�!I�$���H�KH�SH�s@H�{8AQPL�L$@L�D$p螫��ZY������H�UI�$���@H�sPH�{HIc��@���H���H�CPH������H9����E������H��I�$�[���H�?I�$�K���H�I�$�;���L��H���C���L�L$`1�I��H�T$0H�|$PL��I��L�L$PL�L$H�D$XH�D$0�h���L�L$�����������H�t$0L���u���H�CxH�D$0H����p���D��H�����H�H�D$XH����H�������H�D$0H��H����������!�%����t��H�{8�s@L�L$0�����D�H�QHDʉ��H�D$`H��H��I��H�D$H)�赓����ue�����H�t$0H�|$蹻��H�CxH�D$0H������H�s`H�{X藻��H�CxH�C`H���H����W���H��I�$����H�I�$����ר�����H��H��dH�%(H�D$1�H��H�$襙��H�<$H��t����H�D$dH3%(uH����}���ff.�f���AWI��AVI��AUM��ATA��USH��8
H��$p
D�L$H�\$ H��$x
H�D$dH�%(H��$(
1�H��H�D$�D$ HD��H�E��M��t8�
H�5�
H���Ҏ���
L��H������
H�5��H��讎���
L��H��螎��E��uI=�	�.H��H��蓘��I��H��$(
dH3%(L����H��8
[]A\A]A^A_�@D��訏��I��H���,M����
H�5�H�������
L��H�������
H�5ߩH������
L��H������T$���F����|$�&���I��H����H�|$���
H�5��H��認���
L��H��蚍���
H�5j�H��膍��H�t$�
H���t���=�	����f�H��E1�H�E����D�
H�5DH���4����D����H�BE1�H�E���DH�H�E���H�1E1�H�E�m���DH��H�E�X��������H��@��H��tSH��H�?H��t�&���H��[����D����H��t����f��ff.�@��H�6H�?�Q�������G������H��H�VH�H�H�0馊��fD��H��(dH�%(H�D$1�H���"H��t,H�<$H��H��PXH��tH�@H�T$dH3%(u
H��(Ð1���������ATUSH�� dH�%(H�D$1�H�D$H�������I��H��t}H�\$H�5.TH��H���޹��H��tYH�-T�1�H��H���ù��H��t>H������H��t�L��H�D$�Ħ��H�D$H�L$dH3%(uH�� []A\�fD1���@1�������ff.�@��SH�� dH�%(H�D$1�H�`�"H��t1H�<$H��H��PXH��H��t6H�@�PH��t*H�SH��tH���H�L$dH3%(uH�� [�@1���藣�����AUATUSH��8dH�%(H�D$(1�H�D$H��tt诹��H��H��tgL�d$H�5�RH��L��萸��H��tCL�l$fDH���"H��tH�D$L��H��RXH��H��u>1�L��H�5�R�M���H��u�H���`���1�H�L$(dH3%(uQH��8[]A\A]�H���8���H�E�PH��t�H�UH��tH����f.�H���u�H��z"��舢�����H��t'H��u� H��H���H��u�H���H����f�H�5��1����ff.�f���ATUSH���H���H��H��H��u�(H���H��t\H���H��t
H��H��Ѓ�t�H��H��S A�ą�tCH���D��H�{SH�5k�H��HD�1��h���D��[]A\�E1�[]D��A\�DH���H���Q���A�ą�t�H��H��S8��ff.�@���
f.�H��H���H��u��L���ff.����AUATUSH��(dH�%(H�D$1�H�{�"H����H��H��H�<$I��H��H��PXH��t'H�h1�H�L$dH3%(uVH��([]A\A]�fD���ё��I��H��t'H����H�=
�"L��I�mI�EM�e�V���1�롸������v���fD��1��Փ��D��H�=��"tÐUSH��蕺��H�&z"H�=xH��H���"H����q���H����՗�����軸��H�=��蟀��H�=HH��萄��H�=�脀��H�=�H���u���H�=q�i���H�="H���Z���H�=���N���H��x"H�=�H������H�=���,���H��H�=l�H�����H�=k�����H��H��H�=�[H��]�ƒ��fD��ATUSH��t{H�G(H��H��t@I��ЉŅ�y.H���H��PA��L��H�5�H��HD�1�辩����[]A\�H���H��PH��HD�H�5��1�菩���������H�zP��ff.�@��AVAUATI��USH���@H��H���H��u�E1�L�58P�DH���H��tKL��H��S8�Ņ�t�H���u�H������A��H�5sH��ID�1����H���H��u�[D��]A\A]A^�D��AUATUSH��H����H�G@H��H����H��I���A�Ņ�xZM��t@I�<$t9H���f�H��H���H��u�H9�t
I�4$H��S8H���H��u�H��D��[]A\A]��H���H�+OE��H��H�5�
�H��HD�1�����H��D��[]A\A]�H���H��NH��HD�H�5�
�1��ܧ��A������|���H��N�����ATUSH��t{H�GhH��H��t@I��ЉŅ�y.H���H��NA��L��H�5�
�H��HD�1��n�����[]A\�H���H�RNH��HD�H�5K
�1��?����������H�*N��ff.�@��H���H��t��fDH��H���H��MH�5G
�H��HD�1��ܦ��1�H���D��AVH��AUATUSH��u��H��H���H��u�E1�L�-�M�H���L���H��Hǀ��P�Ņ�t"H��L���HE�H�5�	1�A���I���H��tH�����L��M��u�[D��]A\A]A^��E1�[]D��A\A]A^Ð��H���"H��t8H��H��H�5b���1���H�=��"����H���"H���fD����ATI��UH��SH���DH��H���H��u�H���t&�1�H��H���H���H���u�H���H��L��H��[]A\����H��H�wP����H��taUH��SH��H��H��u	�8@H��H���H��u�H���H��tH��������tH���H��u�H��1�[]�H��H��[]�1����H��t4H�D$H�wH�WH�G8H�D$H�OH�GXH�zs"L���L�O H�GP�f���H����H����UH��SH��H��H���H��t���H���H���H���H���H���H�CHH�EHH���H���H�CPH�EPH���H���������H��1�[]�f�������f.���H��H�H�VH�H�0I��������UH��SH��H�H���x���H�}H��H��H��[]郃����UH��H��H��SH��H��H9�HF�Hc�苂����u
H9�t���H��[]�fD�������H�H9|�������������H�H9r��������������9|�����f.���������9r�����f.�AWI��AVAUI��ATU��SH���T$D�t$�l$A�.�����H�M�$�f.��L$9L$~HcD$L��I�<�A�Յ���A9�~'Ic��DD�s�H��9�}A��I�4�L��A�Յ�x�T$D9�}ZHcƒ�I��IcƉT$A��I��H�1H�8H�9H�0D9t$�z���A9�5�l$9l$�A���H��[]A\A]A^A_��u�A���D$A9�~�L��D���L�����fD�D$����ff.�1����uEU�SH��H�/�U��t!H�UH��H��w+�E�H���H��[]����H���H�}��1��c���뾐��H�H�AH��@��H9���@�uH��tH�AH��H�1�ø�����f.���H�1�H��tH�B�ff.�f���AVI��AUATUSH�/H��t1H�}t*I��I��1�f.�H�EL��H�<�H��A��H;]r�H�E�E[I���]A\A]A^����H��t7H�H��t1H�H��t'H�JH�wH9��uH��tH�BH�D���1��ff.�f��������H��tBH�H��t:H�
H��t2S�AH����uH���H�CHH�C1�[�H���(���H����ff.�@��H���S���1�H���ff.����USH��H�H��tfH�H�xtaH�HH��H�
H�PH��1�H�PH9�t,H�HH)�H��H��H��H�4H�|��N���H���H����[]�DH�PH��u�����������H��H��t,H�?H��t$H�?tH�pHH�@H�V�H�PH1�龙��fD������f�AWAVAUATUSH��(L�>I�oH���H�L$I��I���T$�����A�w���jH�D$���H��H��t;H�D$H��L��H��L�4I�GJ�<�A��$���y�H��I�NH)�H�L$H��u�I�WH;T$��H�T$I9�tI�GL��H�<�A��$����+�T$���H�T$H��t���H�L$H�
H��(�����[]A\A]A^A_Ð���"1��@H��I;_s�I�GL��H�<�A��$���u�I9_v���H��([]A\A]A^A_���D$H��([]A\A]A^A_�DI�WI9���H�L$H��t1�D$t*I�FH�H��(D��[]A\A]A^A_ÐL���h�������L$D����z���I�^I9_�j���H�|$����H�D$H�������N���DL�t$�{���I�GH�L$H�������)���H������H����������H����1�H�5!�l�����������H�D$H��������D$�����H����������ff.����AVAUATUSH�/H�}���EI��H������M���|1�1�H��L���-���A�ƃ��tuLc�H�EJ���tXL��H������uqA��Mc�L;mu�Bf�A��I��L9mt2H�EL��J�<����t�H�EMc�J���H�EH�[]A\A]A^�[1�]A\A]A^�D����Q���fDH�EJ����fD��USH��H���}H���P��{���H��H��tXH�(H�iH��H�C H��H�C8H��H�C(H�����H�C0H����H�C@H�����H�CH����H�C���H��H��[]Ð1�H��H��[]�@��S������H��H����� ��р��H��tH�H�@�@H�@H�H�$E1�1�PH�H��H��PL�
%H�
.���虁��H���H�C`H��	H�CpH�����H�CxH�qH���H����H���H�H���H�gH���H�����H�ChH��h"H�C@H�sH�C(XZH��[��H�5��1��}�����ff.�H���'H�GL�HI9��AWAVE��AUI��ATI��UH��SH��H��H�7H�OH9�rUH����H�ϾPA�
聞��H��H����H�L��1�H�L$H)�H�<�H���{��H�L$H�CL�;H�KH�<�H)�H�49H��H�|9�ם��H�CL�$�H�CE��t�CI�EH��1�[]A\A]A^A_��H��L�<6H�����H��H���_���H�5=��1��Q���H�CH�K�l���@������f.���H��H���H�?H��A�H�����ff.���AUATUSH��L�'dH�%(H�D$1�H���D���H��I��I�l$�uQH�������A�H���L��H��L���%���H�T$dH3%(��H��[]A\A]�fD�u�H��t]H��H��L�����H�,$��~I;l$r DL�#E1���H��I;l$smI�D$L��H�<��A����t���L�#�H�$1�E1��D���fDH��H��L��������?���tI�l$L�#����L�#�������tH�,$L�#E1���I�l$�&�����������Ë����AUI��ATI��USH��H��C��u:H�{t#1�f�H�CL��H�<�H��A��H;kr�H��[]A\A]�D��뿐��ATUSL�'I�|$t]A�D$H��H����u>H��t11ɺH��H���'������t2H�H��I�T$[]A\H��fD1���@���f�[1�]A\�f���H��t7H�H��t1H�H��t'H���1�H;OuH�ztH�BH��f�1��ff.�f���H��t?H�H��t9H�H��t/H���1�H;Ou"H�OHH�BH9�sH��tH�BH���D1��D��H��tGH�GHH�H��H�GHH��t3H�
H��t+H�wH9��uH�QH9�sH��tH�QH����1��ff.�f���USH��H��H�/H�}H��t�2���H���*���H��H��[]����ff.����AUATUSH������H���ң��H��H����H��H���v����upL�mL�#I�UI�$I�EH�,�H��I�D$A�EA�D$膐��I�D$H��t$I�uH��H���m~��H��H��[]A\A]��H�5)��跓��H��1��z��H��H��[]A\A]��H�5���1�1�胓��H��H��[]A\A]�DH�5���1��]����{������H���y��1�H���ff.����S��t7����������t
��[�fD����t��t(�؉��[�fD���1�!�9��É�[�DH�����@�#�말���}�����H�H��tH�H�xtVATI��UH��S�@H����u21ɺH��L������t.H��H��Hc�[]A\�I���f�����f�1��[]A\����1��E���D��H����H�������H����AWAVAUATUSH��(L�7I�nH���AH����3H�T$A�VI��M��H�t$���1��L��H��t>I��I�GH�t$I��I�LH�<�H�L$A��$���y�H�L$H��L)�H�YH��u�I9_��I�GH�t$H�<�A��$�����A�݃�����SHc�I;nr ���:���H��I9nvI�FH�t$H�<�A��$���t�D)��Hc�H��L�|$A��h���H��H��tIcI�FIc�H��H��H�4��F{��H��H��(H��[]A\A]A^A_Ð1���@���M�<$I�oH��t�A�G������L��������D1�H���f���SH�� dH�%(H�D$1�H�T$�mn��H��t@��H���v��H��t1HcT$H�XH�H�L$dH3%(u)H�� [��1���@H��H�D$蓇��H�D$���������H���"�@��H���ce��H�=��H��H���i����1��f����ff.����ff.������1�����ff.����1�� ��������
1��ޔ��ff.����
1��������1��l��ff.����1��������1���k��ff.���H��1��謒������H�����ff.������1��.���ff.����1��@�������1�1����������1�1��Qk��������1��ޓ��ff.������1�龓��ff.������1�鞓��ff.���釓�����駐������'�������j�����闑������'c������W��������������Gq�����@����i����@���Sy�����g����ATUSH��dH�%(H��$�1����*����A�ԉ�H�T$����������T$(1�������t&H��$�dH3%(��H�İ[]A\���u|�E��x�H�L$L�D$����D$�D$��t����x+�|$���u��D$����E����8������u����`������d���f.�H�L$L�D$����D$�D$�Ut����x��|$�������1�;\$�����4�����������������AVAUATA��H�=T�USH��dH�%(H�D$1�H�$�9���H��t[H��I����_��H�ߺ
L���H���f���]I�Ņ��H�$H���%�8�M����n���D9�t11�E����H�L$dH3%(����H��[]A\A]A^�H�=��蜃��H��t��E�
L��H���f���]��uyH�$H�����:��D�h��A��~�A��0��u���D����1�� n����x A��E9��H���1��D���n����yċ]f���E���'���H�=���i���H�=���]����
�����������Q�����AVAUATA��USH���dH�%(H��$�1�H��t&H�=��H��胂��H��H���o�<@t`</t\���E��uBH��$�dH3%(���dH���[]A\A]A^�f���]�����E��t�f�H�='�蔇���f��{t�1Ҿ��9b��A�Ņ�x�L�t$P1��lH��M�FI�~H�D$RL��I�FxH)���~���H��L��f�D$P�j���|$R@u�D$RH��H�,$H�l$H�D$�g��f�H��L�t$D$�D$(D$8H�D$�yg���nH��D��H�D$(����nGº@�D$H��H�D$ �r��H��x1E��uD��脗������1�����H�=��t�����f��\��������p}����AWAVA��AUA��ATUSH���|$1��$dH�%(H��$�1�褈���$���9�h�D$f�L$A�H�\$ �����A�ă�
��A!�H�D$H�$��f��f�D$�wf.��T$��vW�D$ ����f��uG�t$��~��9�u8f�|$��f������v�D$f9D$"������if�A��D9���E��u�D��D��D��������~�1��H��H�$�H�H��D���D$���u�����P����K[����؅�~�H��$�dH3%(D��u8H�ĸ[]A\A]A^A_��A�����������:����R�����{��ff.�f���AWAVAUA��ATA��1�USH���H�T$dH�%(H��$�1�������H�\$0�hA�H�CL�t$,H�D$f�D��D��D��������1��H��L���H�H��D���D$,��t�������L$,���L$��f�|$0�H�D$H��t@H���d���L$H����H�|$�?tqH�PH9�rMH�t$H�P�d����u;fDH��$�dH3%(D��ulH���[]A\A]A^A_��Y����؅��A��A9�����A������fDH�PH9�u�H�t$H�|$H���-d����u���1�������1z�����SH�����?��H�H����8tSH��H9�u�H��H)�H)�tMD�H��E��t'H��tD�H��H��H��D�E��u�H)�H�H���[�@H��H��H)�H)�u�H���2c��H�H��[�1���H��1��f.�D��AUI��H��ATI��UH��SH����b��H��H��t"H9�H�E�L��L��HB�H��H���n��A�D-H��H��[]A\A]�f���S1�H���w��H��[�f�����AWAVAUATUSH��H�T$H�L$(dH�%(H��$1�D�������I��I��D��H���
H�����H��H���YL�l$H�D$���bH�D$pH�|$A�LE�H�D$0�H+D$H�D$ H�D$@L��$H�D$8�H��訅��I��H���TA�G��t�<.uA�t�fA�.t�H�D$M�gH�T$ L��I�|�f��H�|$t�� ��H�t$(L��H�D$�Ѕ�t���tA��A����L��1�1�1��i��I��H���u�� ������h��I�D$H���gM���fAofAoNfAoV fAo^0fAof@fAonPfAov`fAo~pHfAo��P X0`@hPp`xp��H�|$L����~����������L���o��H���[���I��H��������H����-���H�D$H��P	���H�|$萉��H�D$�nDA����H�=���w��H��H�D$H��t=H��M"H���H��Q"H�AP�H��跅��H�D$I9�t
H���%���DH�D$H��$dH3%(H�D$�(H��[]A\A]A^A_�f�H�T$0L���r������H�D$0H�t$(L�l$@H�|$8H�D$XH�D$������L������I��H���kH�|$H���o}������V���L���w���I���f�H�|$A��1�1�L���l����'����I�4$H�¿�oq�����6���H�5���1�����L���Lm���O����L���^��H��$�L��I���c��I�FH=�����BƄ4/I�FH�D$BƄ4�N���H�=���v��H�D$H���v���L�����L�t$I�����u(I���H��t��L���Ѓ��tA���L��轀��H��H���������L��H�5���1�����i���H�5��1���~���Q���H�5c��1���~���9���H�5����~��L���l��������s��f.�@��S�(���d��H��H��t�@����H��[��H�5!��1��]~��H��[����AUA��ATE��U��SH��H��H��t2H��tH��赉��H�D�kH��D�c�kH��[]A\A]�f�H�t$�S��H�t$H��H��u�1���D��USH��H��tZH���1�~�Ct?H�;H��t�bu��H�{ H��t複��H�{H��t�Fu��H���>u��H����[]�D蛌����븽��������H��tCH�H��t;�G���uS�WH���wH�υ�u�AZ���C[�@��1���d���C[ø�����ff.���ATE1�I��U�͉щ�SH��1���t��H��H��t@��u��u<H��[]A\������!c��H�CH��t�H��L���n����t�H���g��H��[]A\���H��t.SH�?H��u�1����t莋����x�C����[Ð�����[ø��������i�����H�6H�?�Q{�����1��f���1��f���1��f���1��f����ff.���1��f���H���ss��1�H���ff.����S����a��H��H����H�H�����H�CH�g���H�CH�����H�CH�A���H�C H��H�C8H����H�CXH�pH�C`H�U���H�CpH�:���H���H�<H�CxH���H��[��H�5���1���z����ff.����ff.���1��f���1��f���H��q"�@��H����~��H�=AnH��H���`T��AUATUSH��H���H��tZA��I��H��H��tL@L��H�;�����t(~
�����t1H�[H��u�H��1�[]A\A]�fDA��uH�[fDH��t�H�H��[]A\A]�ff.�f���H��tH��t��X����1��ff.�f���H��t1��0���1��ff.�f���H��tH�����1��D��H��t7ATI��UH��SH���H��t�H�;L���H�[H��u�[]A\�f.��ff.�@��H��t'H�H��t!H���1�H;WuH�GHH��t	H��1��ff.�f���H��t'H�H��t!H�WH9��uH���H��tH��f�1��ff.�f���H��t7H�H��t/H�WH9��u"H�GHH��tH�@H�GHH��tH���1��ff.�f���H��t_H�1�H��tH�OH9��u	H�GPH��t�fDH�GHH��uH���H��u�f.�H��H�PH��u�H�GPH��@1��D��H��t&H�H��tH�GPH���H�WHH���H�G1��ff.���H����S�XH�����]��H��tcH�����H�
����H�H�PH���H�5����H�H H�
-���H�PHH���H�p8H�5��H�H(H�
�H�p0H�HH�@PH�P[�fD1��ff.�f���H���	AVAUATI��UH��SH�����?]��I��H����L� H���H���H��tXE1탽�u
�=DH��L��H�;�����]H�CI��H��u�I�F1�L�s[]A\A]A^�fD���tH�XL���1�[]A\A]A^ÐH��H�CH��u�L�s�fDM��u#H���L���[]I�FA\1�A]A^�fDI�EL���{���������{������fD��H��twAVI��AUI��ATUH��SH���H��t3f.�L�cH��tH�CL��H�;��H��L���Lm��M��u�IDž�IDž�I���[]A\A]A^��ff.�@��H���m��1�H���ff.����H����AUATUSH��H���H����I��H��H��teH�;�����tQL���I�]H��u$��~
�����tlH�CI��H��t`H��L��H�;�����u�H�CI�E�H���H�CH���H���Fl��H���1�H���H��[]A\A]�f�H�������[]A\A]ø����ø��������H��tH����k��1�H����1��ff.�f���S����lZ��H��H��ttH�
���E1�1�H��PH�����H�����PL�
���H�
7����R[��H����H�CpH�C`H����H�CxH�-���H���H�����H���XZH��[ÐH�5��1��}s����ff.���H���3L��H��t
ǀ�H���ff.�@��H�uj"�@��S���^��H��t���[�������g��f���H�j"�@��H��i"�@��H���#f��H�=��H���L����R��H�=��H���L����R��H�=��H���|L���V��H�=�jH��H���dL��@��H��tH�� H��t	H��@������ff.����H��tH��(H��t	H��@������ff.����H��tH��H��t	H��@������ff.����AUATUH�����SH��(dH�%(H�D$1�H�D$H�D$H��tH��0H��H��@H��t.��Hc�H�L$dH3%(H����H��([]A\A]��H��L�d$H��tL���H��@L�l$L��1�L���H�|$t'�H��H��@L��L���H�|$u�H��H���h���H��@L����W����+f��ff.���AVAUATUSH�� dH�%(H�D$1�H�D$H�D$H����H��H��I��I��H��@H�l$H��tH���H��@L�d$H��L���H�|$H��t(DL��A��H��@L��H���H�|$H��u�H��H��tH��@H���H�D$dH3%(u
H�� []A\A]A^��;e��ff.���H�5=��1���o��f���AVAUATUSH��0dH�%(H�D$(1�H����H��H��I��H�D$H�D$H��@H�l$ H�D$H�D$ H��tH���H��@L�l$H��L��������M���bH�L$H����@����L�t$�_@L��H�������LH�t$H�|$H��t]�����xNH��@L��H���H�L$����H���}���uM��u�H�|$H9��BH������~�H�|$H���H�|$H��@t��L��H��H��@�=��„��"H���H��t#H�|$tH�T$H�t$H��@�Ѕ��H�T$H��H��t!H;T$ tH��t&H�t$H��@��H��H��tH��@H���H�D$H�L$(dH3%(��H��0[]A\A]A^��H��@������8�������L��H������>H�D$H���H�D$�H���H�T$H��@�H�����f.�=���	ʄ�������H�5&��1��m��H�D$�����H�5���1���l��H�D$����D1�����f�H���tH�T$H��@�H��H�D$��8H�D$��tH�D$�:���f.�H��H��@L�����@���0���f�H�5���1��Ml�������=������D������la��=���	�����ff.�f���AVAUATUSH�� dH�%(H�D$1�H���'I��H���H��H��H�$H�l$H�D$H��@H�D$H��tH���H��@L�l$H��L�������H�|$I��H��uI�yf�H�D$H��@H�$H���H��tL��H���H��@L��H���H�|$��u7H��t2L�����t�~
��8��uH��@��f�=�uAH��H��tH��@H���H�$H�L$dH3%(u,H�� []A\A]A^�1���@��H�5���1��j�����_��ff.����H��t'SH��H��@H��t	H�����H��[�b��D�ff.�@��AWI��I��AVI��AUI��ATM��UL��SH��M��t	M����H�L�T$�jP��L�T$H��H���	H�b���L���H�CH��H�CH�U���H�C H�z���H�C8H�����H�CHH�����H�CXH����H�C`H�����H���H�����H���H�D$PH�CH��H�D$XH�CpH��H�D$`H�CxH����D$hL���L���H���L����8L��@H��H��[]A\A]A^A_�fDH�5���1�1���h���ѐH�5w��1���h���ff.���H��tH�� H��(H��0���H��H���Expected RESPONSE-PDU but got %s-PDUtruncating integer value > 32 bits
bad size for integer-like type (%d)
bad size for opaque float (%d)
bad size for opaque double (%d)
Internal error in type switching
(tooBig) Response message would have been too large.(noSuchName) There is no such variable name in this MIB.(badValue) The value given has the wrong type or length.(readOnly) The two parties used do not have access to use the specified SNMP PDU.(genError) A general failure occuredwrongType (The set datatype does not match the data type the agent expects)wrongLength (The set value has an illegal length from what the agent expects)wrongValue (The set value is illegal or unsupported in some way)noCreation (That table does not support row creation or that object can not ever be created)inconsistentValue (The set value is illegal or unsupported in some way)resourceUnavailable (This is likely a out-of-memory failure within the agent)authorizationError (access denied to that object)notWritable (That object does not support modification)inconsistentName (That object can not currently be created)empty variable list in _query
could not clone variable list
iquerySecName has not been configured - internal queries will fail
default session is not available - internal queries will fail
row_create_multiple_values_colsrow_create_single_value_createAndWaitrow_create_all_values_createAndWaitrow_create_all_values_createAndGobad size for NULL value
no storage for OID
no storage for string
bad size for counter 64 (%d)
Unknown Error(noError) No ErrornoAccesswrongEncodingcommitFailedundoFailedcould not allocate pdu
row_create_cleanuprow_create_activaterow_create_single_value_colsrow_create_machine���������D��D��$���~�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������D�����������D��D���~������������������������������������������������������������������������������������������������������������������������������������������������������~���~���~���~��������������$��$��$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~���~��D������~��%lu..%s(%lu).%s"%s"	"
 tc=%d hint=%s units=%s%s%c%s%d:%d:%02d:%02d.%02d%d day, %d:%02d:%02d.%02d%d days, %d:%02d:%02d.%02d 	
yestrue%02X %sn:  print OIDs numerically
%sU:  don't print units
%sX:  extended index format
mibdirs[mib-tokens|+mib-tokens]mibsmibfile-to-readmibfileshowMibErrorscommentToEOLstrictCommentTermmibAllowUnderlinemibWarningLevelmibReplaceWithLatestprintNumericEnums(1|yes|true|0|no|false)printNumericOidsescapeQuotesdontBreakdownOidsquickPrintingnumericTimeticksoidOutputFormatsuffixPrintingextendedIndexprintHexTextprintValueOnlydontPrintUnitshexOutputLengthMIBDIRS$HOME%s/mib_indexes/%d%s/mib_indexesDIR MIBFILESPREFIX(top)DIR %s
dump DEFINITIONS ::= BEGIN
END
%lu.%lu.%lu.%lu%%%lu%s%02lxanonymous#[\InetAddressInetAddressType::0%lx%lo(Bad hint ignored: ""Hex-STRING: Opaque: Float: %fOpaque: UInt64: Counter64: Timeticks: (%lu) INTEGER: (%ld)%d.%d.%d.%d(%d) %s [TRUNCATED]
 =  NOTIFICATION-TYPE AGENT-CAPABILITIES MODULE-COMPLIANCEOBJECT IDENTIFIEROCTET STRINGINTEGERNetworkAddressIpAddressCounter32Gauge32TimeTicksOpaqueNULLCounter64BITSNsapAddressUInteger32Unsigned32 | read-onlyread-writewrite-onlynot-accessibleaccessible-for-notifyread-createmandatoryoptionalobsoletedeprecatedcurrentIMPLIED  type_%d  -- FROM	,
  --		  -- TEXTUAL CONVENTION   SYNTAX	 (%s%d%s%d..%d%s%u%s%u..%u%s(%d)
		  }   DISPLAY-HINT	"  UNITS		"access_%d  MAX-ACCESS	status_%d  STATUS	  AUGMENTS	{  }
  INDEX		{   VARIABLES	{   OBJECTS	{   DESCRIPTION	"  DEFVAL	{ ::= { %s(%lu)
      %lu }Index out of range: %s (%s)Sub-id not found: %s -> %sANY%.*s.iso.org.dod.internet.private%02X %02X %02X %02X %02X %02X %02X %02X %s0:  print leading 0 for single-digit hex characters
%sa:  print all strings in ascii format
%sb:  do not break OID indexes down
%se:  print enums numerically
%sE:  escape quotes in string indices
%sf:  print full OIDs on output
%sp PRECISION:  display floating point values with specified PRECISION (printf format string)
%sq:  quick print for easier parsing
%sQ:  quick print with equal-signs
%ss:  print only last symbolic element of OID
%sS:  print MIB module-id plus last element
%st:  print timeticks unparsed as numeric integers
%sT:  print human-readable text along with hex strings
%su:  print OIDs using UCD-style prefix suppression
%sv:  print values only (not OID = value)
%sx:  print all strings in hex format
%sb:  do best/regex matching to find a MIB node
%sh:  don't apply DISPLAY-HINTs
%sr:  do not check values for range/type legality
%sR:  do random access to OID labels
%su:  top-level OIDs must have '.' prefix (UCD-style)
%ss SUFFIX:  Append all textual OIDs with SUFFIX before parsing
%sS PREFIX:  Prepend all textual OIDs with PREFIX before parsing
[mib-dirs|+mib-dirs|-mib-dirs]$HOME/.snmp/mibs:/opt/alt/net-snmp11/usr/share/snmp/mibs:EtherLike-MIB:HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES:MTA-MIB:NETWORK-SERVICES-MIB:RMON-MIB:SCTP-MIB:TCP-MIB:UCD-DISKIO-MIB:LM-SENSORS-MIB:UDP-MIBNo Such Object available on this agent at this OIDNo Such Instance currently exists at this OIDNo more variables left in this MIB View (It is past the end of the MIB tree)'-quote is for fixed length strings"-quote is for variable length stringsUnexpected index type: %d %s %s
.iso.org.dod.internet.mgmt.mib-2.iso.org.dod.internet.experimental.iso.org.dod.internet.snmpParties.iso.org.dod.internet.snmpSecrets����М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М������М��М��М��М��М��М��М��М��М��М��М����М������p���X���М��М��@���М��М��М��М��М��М��М��М�� ������М��М���Л��М��М��М��М��М��М��М������М�������М��p���X���@���0���М�����̞����������������������������������������������������������������������t���L�����,���l���L���\�����������������������������̰��ܰ����,���<�����������X��������h�������X��h��x��X��X��X��X��X��h��h��h����\��$��$��L�������$��4������������$��$��$�������������������8��8��h��x�����������8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8�����������������8������8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8����8��(��X������h��������X��������������������������������8��������������h����������������D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D���D���x������
���
�������
���
������
�����a��U��I��=��1��%����
�����
���
���
���
���
���
�������c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��������K��?��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��W��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��c��6��l��������������������������������������������������������������������������������������������������������������������������(��}%���'��6'��D&���%���(���(��6'���(���(���(���(���(��6'��6'��6'��@@ABCDFEBBVariable has badWrong Type (should be OBJECT IDEld be OCTET STRIld be Double): ld be Counter64)ld be Opaque): ld be Timeticks)ld be INTEGER): ld be UInteger32ld be Gauge32 orld be Counter32)ld be NetworkAddNetwork Address:ld be IpAddress)ld be NsapAddresCan't find %s in %s's children
Warning: Module %s was in %s now is %s
%s        Textual Convention: %s
Bad timestamp format (11 or 13 characters)Warning: %s.%ld is both %s and %s (%s)
Warning: Upper bound not handled correctly (%s != %d): At line %d in %s
%s MACRO (lines %d..%d parsed and ignored).
Expected a closing parenthesisWarning: This entry is pretty sillyWarning: No known translation for typeCannot have both INDEX and AUGMENTSBad format of optional clausesExpected ")" to terminate SIZETextual convention doesn't map to real typeWarning: expected anonymous node (either %s or %s) in %s
%su:  %sallow the use of underlines in MIB symbols
%sc:  %sallow the use of "--" to terminate comments
%sd:  %ssave the DESCRIPTIONs of the MIB objects
%se:  disable errors when MIB symbols conflict
%sw:  enable warnings when MIB symbols conflict
%sW:  enable detailed warnings when MIB symbols conflict
%sR:  replace MIB symbols from latest module
%s OBJECT IDENTIFIER ::= { %s %ld }
Cannot adopt OID in %s: %s ::= { %s %ld }
Loading replacement module %s for %s (%s)
Importing %s from replacement module %s instead of %s (%s)
Error, END before start of MIBDid not find '%s' in module %s (%s)
Unlinked OID in %s: %s ::= { %s %ld }
Undefined identifier: %s near line %d of %s
Bad parse of NOTIFICATION-GROUPBad parse of NOTIFICATION-TYPEBad parse of MODULE-COMPLIANCEBad parse of AGENT-CAPABILITIESBad parse of OBJECT IDENTIFIERExpected STRING after PRODUCT-RELEASESTATUS should be current or obsoleteadd_mibdir: strings scanned in from %s/%s are too large.  count = %d
 Error in parsing MIB module(s): %s ! Unable to load corresponding MIB(s)failed to allocated memory for gpMibErrorString
-----R----W--RW----NCR--ObjID    String   INTEGER  NetAddr  IpAddr   Counter  Gauge    Opaque   Null     BitStringNsapAddr Unsigned UInteger EnumVal  %s--%s(%ld)
%s  |  Index: %s  |         %s-- %s %s %s(%ld)
%s        Values: 
%s                %s        Size: %s        Range:   |Can't find %s in tbuckets
%s (EOF): At line %d in %s
%s (%s): At line %d in %s
%s: At line %d in %s
Timestamp should end with Z%2d%2d%2d%2d%2dZ%4d%2d%2d%2d%2dZBad timestamp formatBad month in timestampBad day in timestampBad hour in timestampBad minute in timestampMIB search path: %s
Cannot find moduleWarning: string too longWarning: token too longExpected "("Expected integerExpected ")"Expected "}"Expected "(" after SIZEExpected ")" after SIZEBad DESCRIPTIONBad REFERENCEBad Trap FormatBad VARIABLES listExpected a NumberBad SIZE syntaxBad syntaxExpected "{"Expected a numberExpected label or numberToo long OIDBad object identifierAttempt to define a root oidBad format for OBJECT-TYPEExpected IDENTIFIERBad UNITSShould be ACCESSBad ACCESS typeShould be STATUSBad STATUSBad INDEX listBad AUGMENTS listBad DEFAULTVALUE\"Bad Object IdentifierBad formatBad OBJECTS listExpected LAST-UPDATEDNeed STRING for LAST-UPDATEDExpected ORGANIZATIONBad ORGANIZATIONExpected CONTACT-INFOBad CONTACT-INFOExpected DESCRIPTIONBad REVISIONExpected "::="Bad identifierResource failureExpected "}" after listExpected STATUSBad STATUS valueExpected "]"Expected SIZEExpected NUMBERDISPLAY-HINT must be stringDESCRIPTION must be stringToo many textual conventionsdisdo not SNMPv2-SMIRFC1155-SMIRFC1213-MIBjoint-iso-ccittiso#%dChildren of %s(%ld):
%s:%s(%ld) type=%d modules:<no parent><no label>Too many imported symbols<no module>Undefined OBJECT-GROUPUndefined OBJECTUndefined NOTIFICATIONBad parse of MACROis a reserved wordError, nested MIBSBad parse of OBJECT-TYPEBad parse of OBJECT-GROUPBad parse of TRAP-TYPEBad parse of MODULE-IDENTITYBad parse of OBJECT-IDENTITYBad operatorExpected MODULEUnknown moduleBad group nameUnknown groupBad object nameBad MIN-ACCESS specExpected PRODUCT-RELEASEBad module nameModule not foundExpected INCLUDESExpected group nameGroup not found in moduleExpected "}" after group listObject not found in moduleBad ACCESSBad object name in listExpected "{" after DEFVALMissing "}" after DEFVAL%s %s
.index%s/%s%127s%c%299[^
]%cFailed to parse MIB file %s
RFC1065-SMIRFC1066-MIBRFC1156-MIBRFC1158-MIBmib-2SNMPv2-MIBsysIF-MIBifIP-MIBipicmpTCP-MIBUDP-MIBtransmissionRFC1231-MIBTOKENRING-MIBRFC1271-MIBRMON-MIBRFC1286-MIBSOURCE-ROUTING-MIBdot1dSrBRIDGE-MIBRFC1315-MIBFRAME-RELAY-DTE-MIBRFC1316-MIBCHARACTER-MIBRFC1406-MIBDS1-MIBRFC-1213DEFINITIONSENDAUGMENTSNUM-ENTRIESBITSTRINGBITGaugeOCTETSTRINGOCTETOFSEQUENCECounterINDEXMAX-ACCESSENTERPRISEBEGINIMPORTSEXPORTSTEXTUAL-CONVENTIONNOTIFICATION-GROUPDISPLAY-HINTFROMIMPLIEDSUPPORTSVARIATIONnot-implementedOBJECTSNOTIFICATIONSMIN-ACCESSWRITE-SYNTAXCREATION-REQUIRESMANDATORY-GROUPSCHOICEIMPLICITObjectSyntaxSimpleSyntaxApplicationSyntaxObjectNameNotificationNameVARIABLES(none)�4���4���4��p4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���4���7��=4���7���7��z7��d7��N7��87��"7��7���6���6���6���6���6���6��r6��tH��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��$D��GO��GO��GO��GO��YF��PE��ZE��GO��GO��dE��nE���D��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO���D��E��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��E��GO��(E��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��GO��2E��<E��FE��Pf��g��f�� e��g��g��g��g��g��g��g���f��g��g��g���d��@d�������������������������������������������������������|���d���T������������������������������������������������,��������������Ԍ������������������Č������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������t���d���T���D���4���$������������������������������������������������������������������������������������������������������������������������ԋ��ċ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������d������������������������������������������������������������������������������������������������������������������Y���������������������������������������������������������������<��������D�������������������������������������������ğ����������X���������������������������������������������������,�������������������������������������������������������ܠ����������,���������������������������������������������������������������Security Model %d can't free state references
Can't find security model to free ptr: %d
no such security service available: %d
security service %d doesn't support reverse encoding.
error parsing contextEngineID from scopedPduerror parsing contextName from scopedPduerror copying contextName from scopedPdusecurity service %d doesn't support forward out encoding.
Use snmp_sess_select_info2() for processing large file descriptors
failed to clone memory for rfc5343 probe
failed rfc5343 contextEngineID probing
failed rfc5343 contextEngineID probing: memory allocation failed
failed rfc5343 securityEngineID probing: memory allocation failed
Value does not match DISPLAY-HINTType of attribute is %s, not %sBad PDU type received: 0x%.2x
Received bad msgID (%ld %s %s).
Received bad msgMaxSize (%lu < 484).
Received bad msgMaxSize (%lu > 2^31 - 1).
error parsing msgSecurityModelinvalid message, illegal msgFlagssecurity service %ld can't decode packets
security service %ld error parsing ScopedPDU
sending a response to the context engineID probe failed
failed to get our own engineID!
received an odd context engineID probe
error parsing snmp message versionunsupported snmp message version
Received %d byte packet from %s
transport->sock got negative fd value %d
Received broken packet. Closing session.
too large packet_len = %lu, dropping connection %d
Cannot send V2 PDU on V1 sessionCannot send V1 PDU on V2 sessionError building ASN.1 representationBad destination party specifiedUnable to determine contextEngineIDUnable to determine securityLevelUnknown security model in messageInvalid message (e.g. msgFlags)Authentication failure (incorrect password, community or key)SCAPI sub-system not configuredUSM unknown security name (no such user exists)USM unsupported security level (this user has not been configured for that level of security)USM authentication failure (incorrect password or key)Bad sub-id in object identifierOut of memory (malloc failure)Configuration data found but the transport can't be configuredTransport configuration failedGETGETNEXTGETBULKSETRESPONSEINFORMTRAP2REPORT?0x%2X?%s :: {(%d..%d), (%d), Unknown error: %dUnknown Error %dudp udp6snmptrap:161:10161dtlsudptlstcp/36879ipx:162:10162/36880plaintext scopedPDUsnmp_secmodssnmp_build: unknown failure
tcp,tcp6udp,udp6NullUInteger255.255.255.255Bad string length ,	%lf"%c"TYPE_%dvarbindsbad type returned (%x)
<2^31 - 1bad parse of versionmsgGlobalDataerror parsing msgIDerror parsing msgMaxSizeerror parsing msgFlagsunknown security model: %ld
error parsing PDUpdu failed to be created
malloc failed handling pdu
bad parameters to _sess_read
dumpPacketreverseEncodeBERdefaultPortdisableSNMPv3disableSNMPv1disableSNMPv2cdefCommunitynoTokenWarningsnoRangeCheckpersistentDirtempFilePatternnoDisplayHint16bitIDsclientaddrclientaddrUsesPortserverSendBufserverRecvBufclientSendBufclientRecvBufsendMessageMaxSizenoPersistentLoadnoPersistentSavenoContextEngineIDDiscoverytimeoutretriesoutputPrecisionNo errorGeneric errorInvalid local portUnknown hostUnknown sessionToo longNo socketBad value for non-repeatersBad value for max-repetitionsFailure in sendtoBad parse of ASN.1 typeBad version specifiedBad source party specifiedBad context specifiedBad community specifiedCannot send noAuth/PrivBad ACL definitionBad Party definitionSession abort failureUnknown PDU typeTimeoutFailure in recvfromNo securityName specifiedASN.1 parse error in messageUnknown engine IDUnknown user nameUnsupported security levelNot in time windowDecryption errorSCAPI general failureKey tools not availableUnknown Report messageUSM generic errorUSM encryption errorUSM parse errorUSM unknown engineIDUSM not in time windowUSM decryption errorMIB not initializedValue out of rangeSub-id out of rangeObject identifier too longBad value nameBad value notationUnknown Object IdentifierNo PDU in snmp_sendMissing variables in PDUBad variable typeKerberos related errorProtocol errorOID not increasingContext probe�������������� ������������}��}��}��}��T�����t��t������l������l������L����������<��������������|�������������l��x��������������������������������������������������(��������������������������������������������������h��������������������������������������8���X������������������(�����������������(��������������������������������0�����������������������������������������������x����������������������������������������������������P��������������������������������������������������������������������������������������������0�����������������`����������������������x��h��X��H��8��(�������d��d��,��������$
�����d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�����L��L��L����������L��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d����d���
���
��T
����d��d��d��d��$
��$
��$
���.���.���,���.��X.���.��p.���.������������������������%.4d: var_opNo OID for variableNo header for valueCan't build OID for variablexdump: malloc failed. packet-dump skipped
wrong type in snmp_build_var_op: %dwrong type in snmp_realloc_rbuild_var_op: %d�9���9��@8��`8���8���8���8���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���8���8���8���8���8���8��9���8���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9���9��9���9��(9��P9��p9��9���9���9���9���9���7���7���7���:���:���8��9��L9��T8��t9���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:��L9���9���9���9��L9��L9���9���9���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���:���9���:���9��$:��T:���9���:���:���:���:��Z8��Z8��Z8��auth messagebad parse of community%s size %lu: s/b %lu%s type %d%s: length %d too smallbuild seq%s: length %d < 4: PUNTparse length: NULL pointerparse length%s: negative data length %ld
parse int: NULL pointerparse intparse uint: NULL pointerparse uintparse string: NULL pointerparse stringparse header: NULL pointerparse headercan't process ID >= 30parse opaque header%s header type %02X: s/b %02Xbuild length%s: bad length < 1 :%lu, %lu%s: bad length < 2 :%lu, %lu%s: bad length < 3 :%lu, %lubuild intbuild uintbuild stringparse objid: NULL pointerparse objidsubidentifier syntax errorsubidentifier too largebuild objidparse null: NULL pointerparse nullparse bitstring: NULL pointerparse bitstringbuild bitstringparse uint64parse uint64: NULL pointerparse opaque uint64build uint64build counter u64build opaque u64parse int64parse int64: NULL pointerparse opaque int64build int64parse floatparse float: NULL pointerparse opaque floatparse seq floatbuild floatparse doubleparse double: NULL pointerparse opaque doubleparse seq doublebuild double%s: bad length < 1 :%ld, %lu%s length %lu too short: need %lu%s length %lu too large: exceeds %lu%s: bad header, length too short: %lu < %lu%s: indefinite length not supported%s: data length %d > %lu not supportedbad header length < 1 :%lu, %luOID length exceeds buffer sizebuild objid: bad first subidentifierbuild objid: bad second subidentifierparse null: malformed ASN.1 nullno string passed into asn_build_bitstring
%s: wrong type: %d, len %d, buf bytes (%02X,%02X)bad header length < 1 :%ld, %lu�L��8M��HM��M���L��HL��[OPTIONS] AGENT  Version:  %s
SNMP Version 3 specific
Debugging
General options
    (default: %s)
			  helpNET-SNMP version: %s
snmpappDebug not configured in
transport_configuration:fifoNo hostname specified.
No community name specified.
  Web:      http://www.net-snmp.org/
  Email:    net-snmp-coders@lists.sourceforge.net

OPTIONS:
  -h, --help		display this help message
  -H			display configuration file directives understood
  -v 1|2c|3		specifies SNMP version to use
  -V, --version		display package version number
SNMP Version 1 or 2c specific
  -c COMMUNITY		set the community string
  -a PROTOCOL		set authentication protocol (MD5|SHA|SHA-224|SHA-256|SHA-384|SHA-512)
  -A PASSPHRASE		set authentication protocol pass phrase
  -e ENGINE-ID		set security engine ID (e.g. 800000020109840301)
  -E ENGINE-ID		set context engine ID (e.g. 800000020109840301)
  -l LEVEL		set security level (noAuthNoPriv|authNoPriv|authPriv)
  -n CONTEXT		set context name (e.g. bridge1)
  -u USER-NAME		set security name (e.g. bert)
  -x PROTOCOL		set privacy protocol (DES|AES|AES-192|AES-256)
  -X PASSPHRASE		set privacy protocol pass phrase
  -Z BOOTS,TIME		set destination engine boots/time
General communication options
  -r RETRIES		set the number of retries
  -t TIMEOUT		set the request timeout (in seconds)
  -d			dump input/output packets in hexadecimal
  -D[TOKEN[,...]]	turn on debugging output for the specified TOKENs
			   (ALL gives extremely verbose debugging output)
  -m MIB[:...]		load given list of MIBs (ALL loads everything)
  -M DIR[:...]		look in given list of directories for MIBs
  -P MIBOPTS		Toggle various defaults controlling MIB parsing:
  -O OUTOPTS		Toggle various defaults controlling output display:
  -I INOPTS		Toggle various defaults controlling input parsing:
  -L LOGOPTS		Toggle various defaults controlling logging:
Too many localOpts in snmp_parse_args()
Configuration directives understood:
Unknown output option passed to -O: %c.
Unknown input option passed to -I: %c.
Unknown parsing option passed to -P: %c.
Invalid version specified after -v flag: %s
Warning: -p option is no longer used - specify the remote host as HOST:PORT
-T expects a NAME=VALUE pair.
failed to initialize the transport configuration container
Invalid timeout in seconds after -t flag.
Invalid number of retries after -r flag.
malloc failure processing -c flag.
Error generating a key (Ku) from the supplied authentication pass phrase. 
Error generating a key (Ku) from the supplied privacy pass phrase. 
0��� ��� ��� ��� ��� ������� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���Ё�� ������ ��� ���@������ ��� ���p������� ��� �����Ђ�� ����8��� ��� ��� ���X��� ������ ������8������ ��� ��� ��� ��� ��� ������ ���H���������� ��� ���Ё�� ��� ��� ������������ ������ ���H�������Ȇ��������� ��������.AY:VhHm:M:O:I:P:D:dv:r:t:c:Z:e:E:n:u:l:x:X:a:A:p:first fork failed (errno %d) in netsnmp_daemonize()
second fork failed (errno %d) in netsnmp_daemonize()
netsnmp_mktemp: error creating file %s
//dev/null/proc/uptime%ld.%ldNETSNMP_DNS_WORKAROUNDonea.net-snmp.orgtwoa.net-snmp.orgno.such.address.Created directory: %s
Can't identify user (%s).
Can't identify group (%s).
vacmviewsexecutenet%s%s %d %d %d View%s%s %d %d %d %d %d AuthAccessGroupvacmnone_all_grp%.28s%s: line %d: %s: %s
/.snmp/etc/snmp%s%c%s%c%s%s%s%s/var/lib/net-snmpSNMP_PERSISTENT_DIRSNMP_PERSISTENT_FILE%s/%s.conf/run/net-snmp/snmp-tmp-XXXXXX%s%s%-24s %s
%s/%s.%d.confCannot rename %s to %s
Cannot unlink %s
WarningUnknown token: %s. 	=Wrong format: %sno matching ']' for type %s.nested include depth > %d
Failed to allocate memory
includeincludedirCan't open include dir '%s'.includefileIncluded file '%s' not found.includesearch,%s/%s.local.confSNMPCONFPATH%02x0x%2x%c%d%c%u/opt/alt/net-snmp11/usr/lib64/snmp/opt/alt/net-snmp11/usr/share/snmpFailed to create the persistent directory for %s
read_config_store open failure on %s
%sIn %s.conf and %s.local.conf:
#
# net-snmp (or ucd-snmp) persistent data file.
#
############################################################################
# STOP STOP STOP STOP STOP STOP STOP STOP STOP 
%s%s# Please save normal configuration tokens for %s in SNMPCONFPATH/%s.conf.
# Only "createUser" tokens should be placed here by %s administrators.
%s# (Did I mention: do not edit this file?)
#














#
#          **** DO NOT EDIT THIS FILE ****
#
# STOP STOP STOP STOP STOP STOP STOP STOP STOP 
############################################################################
#
# DO NOT STORE CONFIGURATION ENTRIES HERE.
snmp_config() called with a null string.No handlers regestered for type %s.maximum conf file count (%d) exceeded
Ambiguous token '%s' - use 'includeSearch' (or 'includeFile') instead.Blank line following %s token.Included config '%s' not found.net-snmp: %d error(s) in config file(s)
copy_word() called.  Use copy_nword() instead.
invalid hex string: wrong length
buffer too small to read octet string (%lu < %lu)
��������������������������������������������������������������������������������������������������������������������������������d�������4�4�������4���4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4���4�d�d�(1|0)doDebuggingtoken[,token...]debugTokensdebugLogLevelauthprivcrondaemonftpkernlprmailmarknewssecuritysysloguseruucplocal0local1local2local3local4local5local6local7alertcritdebugemerginfonoticepanicwarnwarning(emerg|alert|crit|err|warning|notice|info|debug)time string %s contains an invalid suffix letter
����D���D���D������D���D���D���D���,���D���D���D���D���D������D���D���D�����D���D���D���D���D���D���D���D���D���D���D���D�������D���D���D������D���D���D���D���,���D���D���D���D���D������D���D���D�����invalid priority: %c
a+logTimestamplogOption
%s(variants)
 for level 'pri' and above for levels 'p1' to 'p2'stderrCould not format log-string
%s: Error %d out-of-range
stdoutMissing log file
Missing syslog facility
invalid syslog facility: %c
h�����������������������������������������������������������h���p��������(���8���H���X���������������������������������������p���������X������������������H�������������������8�����������������������������������(���������������������������������������p���������X������������������H�������������������8�����������������������������������(������<��T��d��|�������<��z��e
��e
��e
��e
��e
��e
��e
����(
��e
��e
��e
���
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��e
��

�����e
��e
��e
��e
��e
��e
��e
�������e
��e
��e
��m��D
���
�����������������������#
��������������b��������������������������������������������������������
�����������������������R
��������������d
��i
��Y
��I
��9
��,
��������
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��y
��
��%.4d-%.2d-%.2d %.2d:%.2d:%.2d %se:           log to standard error
%so:           log to standard output
%sn:           don't log at all
%sf file:      log to the specified file
%ss facility:  log to syslog (via the specified facility)
%s[EON] pri:   log to standard error, output or /dev/null%s
%s[EON] p1-p2: log to standard error, output or /dev/null%s
%s[FS] pri token:    log to file/syslog%s
%s[FS] p1-p2 token:  log to file/syslog%s
Log handling defined - disabling stderr
Unknown logging option passed to -L: %c.
malloc failed
value overflow
value over/under-flow
falsebad value for boolean
unsupported value type %d
text_parse:binary_arrayunknown parse mode %d
string:binary_arrayunknown rc %d from text processor
adding certindex dirname failed; %d (%s) not added
refusing to read world readable or writable key %s
could not allocate memory for key at %s/%s
could not create container for %s
error reading certificate %s into BIO
error parsing certificate file %s
could not create container for trusted certs
trustCert FINGERPRINT|FILENAMEcould not create CN container for certificates
could not create SN container for certificates
could not create FN container for certificates
could not create container for certificate keys
unknown certificate type %d for %s
cert:index:parse can't open index for %s
_cert_read_index: error parsing line: %s
could not allocate memory for certificate at %s/%s
_cert_read_index: error parsing line %s
unknown line in cert index for %s
could not get iterator for found certs
cant load certs without container
could not get iterator for keys
%s matching cert already has partner
only identity is valid for target params
only peer is valid for target addr
could not allocate netsnmp_cert_map
fingerprint %s exceeds max length %d
could not duplicate maps for reconfig
could not get iterator for reconfig
could not insert new certificate mapcould not remove certificate mapcould not allocate container for cert_map
error creating sub-container for tlstmCertToTSNTable
certSecName PRIORITY FINGERPRINT [--shaNN|md5] <--sn SECNAME | --rfc822 | --dns | --ip | --cn | --any>error creating sub-container for tlstmParamsTable
snmpTlstmParams targetParamsName hashType:fingerPrinterror creating sub-container for tlstmAddrTable
snmpTlstmAddr targetAddrName hashType:fingerprint serverIdentityno container for certificate mappings
could not allocate cert map structcertSecName: duplicate priority for certificate mapcould not duplicate maps for secname mapping
could not get iterator for secname mappings
could not allocate new cert map entry
error inserting tlstmParams %sinvalid algorithm for fingerprintmust specify fingerprint for '*' identitycert_types%s/cert_indexes/%dbad parameters to _new_key
could  not stat %s
certs:binary_arraycerts_fnerror creating BIO
trusted_certs:fifotrusted certificatestrustCertnetsnmp certificatescerts_cn:binary_arraycerts_cncerts_sn:binary_arraycerts_sncerts_fn:binary_arraycert_keys:binary_arraynetsnmp certificate keyspemcrtcersha1cert_hash_algmd5sha224sha256sha384sha512cert_map_typerfc822dnsanyself-signedca-certs%s/cert_indexes%s/tls/%sDIR %s %d
c:%s %d %d %s '%s' '%s'
k:%s
cert_map:stack:binary_arraycert_mapcert2sn_fp:binary_arraycert2sn_fpcertSecNametlstmParams:stringtlstmParamssnmpTlstmParamstlstmAddr:stringtlstmAddrsnmpTlstmAddrcould not parse priorityinvalid hash typemust specify map typeunexpected fromat: %s
must specify secName for --snunknown argument %s
secname map data dup failed
error removing tlstmParams %sincomplete linecould not insert addr %signore extra tokens on linecould not remove addr %sunexpected ip addr length %d
snmp_openssl.ccould not print extension!
unknown hash algorithm %d
failed to hexify fingerprint
SSL peer has no certificate
openssl error%s: %ld
Enc=NoneAu=extension number %d not found!
could not get bio for extension
not enough space or error in allocation for extenstion
hash type md5 not yet supported
hash type none not supported. using SHA1
failed to compute fingerprint
cant extract secname for unknown map type %d
library=%d, function=%d, reason=%d
�W��pX���W��0X��@X��PX��`X��A����Unknown version specificationnoAuthNoPrivnanpauthNoPrivauthPrivUnknown security level: %snoauthsetup_engineID malloceth0malloc failed for engineID
__snmpapp__oldEngineIDexactEngineIDengineIDTypeengineIDNicengineBootsdefSecurityNamedefContextdefPassphrasedefAuthPassphrasedefPrivPassphrasedefAuthMasterKeydefPrivMasterKeydefAuthLocalizedKeydefPrivLocalizedKey1|2c|3defVersiondefSecurityLevelengineBoots %ldUnsupported enginedIDType, forcing IPv4Need engine boots value after -3Z flag.
Need engine time after "-3Z engineBoot,".
Need engine time after "-Z engineBoot".
malloc failure processing -3e flag.
Bad engine ID value after -3e flag.
Invalid engine ID value after -e flag.
malloc failure processing -3E flag.
Bad engine ID value after -3E flag.
Invalid engine ID value after -E flag.
Invalid security level specified after -3l flag: %s
Invalid authentication protocol specified after -3a flag: %s
Invalid privacy protocol specified after -3x flag: %s
malloc failure processing -%c flag.
Bad key value after -3m flag.
Bad key value after -3M flag.
malloc failure processing -3k flag.
Bad key value after -3k flag.
malloc failure processing -3K flag.
Bad key value after -3K flag.
Unknown SNMPv3 option passed to -3: %c.
Missing argument after SNMPv3 '-3%c' option.
Unknown EngineID type requested for setup (%d).  Using IPv4.
Can't set up engineID of type text from an empty string.
exactEngineID '%s' too long; truncating to %d bytesnoAuthNoPriv|authNoPriv|authPriv�\��Tb��Tb��Tb��]��Tb��Tb��Tb��Tb��Tb���]��Tb��^��Tb��Tb��Tb��Tb��Tb��Tb��Tb��Tb��Tb��Tb��t^��Tb���^��Tb��Tb��Tb��Tb��Tb��Tb��l_��Tb��Tb��Tb���_��Tb��Tb��Tb��Tb��Tb��`���`���a��b��Tb��Tb��Tb��Tb��Tb��Tb��4b��Tb��Tb���\��Error: passphrase chosen is below the length requirements of the USM (min=%d).
The supplied password length is too short.Internal Error: ku buffer too small (min=%d).
Internal Error: ku buffer too small.Error: unknown authtypeError: no hashfn for authtypep@0C�?������� ��� ��������������������usmNoPrivProtocolusmDESPrivProtocolusmAESPrivProtocolusmAES192PrivProtocolusmAES192CiscoPrivProtocolusmAES256PrivProtocolusmAES256CiscoPrivProtocolusmNoAuthProtocolusmHMACSHA1AuthProtocolusmHMACMD5AuthProtocolusmHMAC128SHA224AuthProtocolusmHMAC192SHA256AuthProtocolusmHMAC256SHA384AuthProtocolusmHMAC384SHA512AuthProtocolnetsnmp_register_callbacksnmp_call_callbackssnmp_unregister_callbackclear_callbacklock in _callback_lock sleeps more than 100 milliseconds in %s
noBad integer valueintegerValueShould be yes|no|true|false|0|1netsnmp_ds_handle_config: type %d (0x%02x)
netsnmp_ds_handle_config: no registration for %s
netsnmp_read_data_callback called without previously registered subparserWARNING: adding duplicate key '%s' to data list
could not allocate memory for node.couldn't malloc a netsnmp_data_list_saveinfo typedefnetsnmp_save_all_data_callback called with no passed datano name provided.%s DATA%s%ld@%d: %s
register_readfd: too many file descriptors
register_writefd: too many file descriptors
register_exceptfd: too many file descriptors
Use netsnmp_external_event_info2() for processing large file descriptors
Use netsnmp_dispatch_external_events2() for processing large file descriptors
enumenum %s %d:%s%d:%d%d:JanFebMarAprMayJunJulAugSepOctNovDec������������x��x�����No domain and target in registration of defTarget "%s"No target in registration of defTarget "%s" "%s"Default target already registered for this application-domain combinationNo domain(s) in registration of defDomain "%s"Default transport already registered for this applicationTrailing junk foundapplication domaindefDomainsnmp:application domain targetdefTargetwhitelistdontLoadHostConfignone|whitelist|blacklistsourceFilterTypesourceFilterAddress<UNKNOWN>transport_filter:cstringtransport_filter listtransport:send
Sending %lu bytes to %s
transport:recvtransporthosts/%strans_cache:binary_arraytrans_cacheunknown source filter type: %scouldn't allocate container for transport_filter list
netsnmp_transport_filter_add %s failed
netsnmp_transport_filter_add strdup failed
cannot create source filter: %sNo support for any checked transport domain
No support for requested transport domain
could not get iterator for transport cache
transport cache get/close mismatch
could not get new transport for %d/%d/%d
failed to allocate trans_cache container
failed to allocate trans_cache
transport cache not tested for af %d
tls verification failure: ok=%d ctx=%p depth=%d err=%i:%s
failed to get fingerprint of remote certificate
The fingerprint from the remote side's certificate didn't match the expected
serverCert is deprecated. Clients should use peerCert, servers should use localCert.clientCert is deprecated. Clients should use localCert, servers should use peerCertNo matching names in the certificate to match the expected %s
Can not verify a remote server identity without configuration
could not get iterator for secname fingerprints
failed to find requested certificate to trustfailed to load trust certificatefailed to load trust cert: %s
failed to find certificate storefailed to create a lookup function for the CRL filefailed to set the cipher list to the requested valueerror finding client identity keysfailed to set the certificate to usefailed to set the private key to usepublic and private keys incompatibleerror finding server identity keysA security model other than TSM is being used with (D)TLS; using TSM anyways
A SNMP version other than 3 was requested with (D)TLS; using 3 anyways
tls connection with NULL authentication
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERTX509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATUREX509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATUREX509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEYX509_V_ERR_CERT_SIGNATURE_FAILUREX509_V_ERR_CRL_SIGNATURE_FAILUREX509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELDX509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELDX509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELDX509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELDX509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERTX509_V_ERR_SELF_SIGNED_CERT_IN_CHAINX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLYX509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATUREX509_V_ERR_CERT_CHAIN_TOO_LONGX509_V_ERR_PATH_LENGTH_EXCEEDEDX509_V_ERR_SUBJECT_ISSUER_MISMATCHX509_V_ERR_AKID_ISSUER_SERIAL_MISMATCHX509_V_ERR_KEYUSAGE_NO_CERTSIGNX509_V_ERR_UNABLE_TO_GET_CRL_ISSUERX509_V_ERR_UNHANDLED_CRITICAL_EXTENSIONX509_V_ERR_KEYUSAGE_NO_CRL_SIGNX509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSIONX509_V_ERR_PROXY_PATH_LENGTH_EXCEEDEDX509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATUREX509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWEDX509_V_ERR_INVALID_POLICY_EXTENSIONX509_V_ERR_APPLICATION_VERIFICATION---- OpenSSL Related Errors: ----
TLS error: %s: rc=%d, sslerror = %d (%s): system_error=%d (%s)
 TLS error: %s: rc=%d, sslerror = %d (%s)
 error: #%lu (file %s, line %d)
transports/snmpTLSBaseDomain.c---- End of OpenSSL Errors ----
  got %s, expected %s
*.failed to load the CRL fileset SSL cipher list to '%s'
ack: %p
can't create a new contextfailed to load private keyfailed to set verify pathslocalCertour_identitypeerCerttheir_identitypeerHostnametheir_hostnametrust_cert__BOGUS__extraX509SubDirx509CRLFiletlsAlgorithmsclientCertserverCertX509_V_OKX509_V_ERR_UNABLE_TO_GET_CRLX509_V_ERR_CERT_NOT_YET_VALIDX509_V_ERR_CERT_HAS_EXPIREDX509_V_ERR_CRL_NOT_YET_VALIDX509_V_ERR_CRL_HAS_EXPIREDX509_V_ERR_OUT_OF_MEMX509_V_ERR_CERT_REVOKEDX509_V_ERR_INVALID_CAX509_V_ERR_INVALID_PURPOSEX509_V_ERR_CERT_UNTRUSTEDX509_V_ERR_CERT_REJECTEDX509_V_ERR_AKID_SKID_MISMATCHX509_V_ERR_INVALID_NON_CAX509_V_ERR_INVALID_EXTENSIONX509_V_ERR_NO_EXPLICIT_POLICYX509_V_ERR_UNNESTED_RESOURCEunknown failure codeSSL_ERROR_NONESSL_ERROR_SSLSSL_ERROR_WANT_READSSL_ERROR_WANT_WRITESSL_ERROR_WANT_X509_LOOKUPSSL_ERROR_ZERO_RETURNSSL_ERROR_WANT_CONNECTSSL_ERROR_WANT_ACCEPTSSL_ERROR_SYSCALL TLS Error: %s
  Textual Error: %s
������������������|��l��\��L��<��,������������������������������|��l��\��L��<��,������������������������������|��l��\��L��<��,������������������������H��<��0��$��������������_netsnmp_verify_%s: unknown%s: [%s%s]:%hu:%u2.4Linuxunknown addr type of size %d
bad parameters for get bound addr
%s: [%s]:%hu%s: [%s]:%hu->[%s]:%hufailed to create TLS context
tlstcp: failed to create bio
BIO creationBIO_do_connectBIO_do__acceptTLSTCPTLSTCP: %sTLSTCP: unknownTLSTCP: len %dBIO_do_accept failed
BIO_do_acceptTLSTCP: Failed SSL_accept
SSL_acceptSSL_writeSSL_read0.0.0.0:%stlstcp: failed to connect to %s
tlstcp: failed to create a SSL connection
tlstcp: failed to ssl_connect
tlstcp: failed to verify ssl certificate
TLSTCP: Falied to create a accept BIO
TLSTCP: Falied to do first accept on the TLS accept BIO
Failed to pop an accepted bio off the bio stack
TLSTCP: Failed to create a SSL BIO
TLSTCP: Falied checking client certificate
TLSTCP was called with an invalid state; possibly the wrong security model is in use.  It should be 'tsm'.
netsnmp_tlstcp_send received no incoming data
tlstcp_send was called without a SSL connection.
tlstcp received an invalid invocation with missing data
tlstcp received an invalid invocation without ssl data
DTLSUDPDTLSUDP: %sDTLSUDP: unknownDTLSUDP: len %dDTLSUDP6dtls: out of memory
unknown address familyDTLSUDP: missing tlsdata!
dtls: failed to connect
dtlsdtlsudp6dtls6dtls: error setting random cookie secret
dtls: failed to get the peer address
dtls generating cookie: unknown family: %d
transports/snmpDTLSUDPDomain.cno socket passed in to start_new_cached_connection
failed to create the openssl read_biofailed to create the openssl write_biofailed to create the SSL session structurefailed to create the SSL Contextfailed to open a new dtls connection
dtls: unknown address family %d generating a cookie
dtls: unknown address family generating a cookie
failed to send a DTLS specific packet
invalid netsnmp_dtlsudp_send usage
dtlsudp_send: can't get address to send to
bad tls data or ssl ptr in netsnmp_dtlsudp_send
%s: from address length %d > %d
DTLSUDP: failed to verify ssl certificate (of the server)
DTLSUDP: failed to verify ssl certificate (of the client)
_netsnmp_addr_info_netsnmp_addr_info6netsnmp_dtlsudp_recvUDP/IPv6-Cncontext name too longmissing NAME parameterempty NAME parametersecurity name too longmissing SOURCE parameterempty SOURCE parameterNETWORKmissing COMMUNITY parameterempty COMMUNITY parametercommunity name too longCOMMUNITYdefaultbad mask lengthbad masksource/mask mismatchmemory errorcom2sec6udpv6udpipv6missing CONTEXT_NAME parameterexample config NETWORK not properly configuredexample config COMMUNITY not properly configured[-Cn CONTEXT] secName IPv6-network-address[/netmask] communityTCP/IPv6tcpv6tcpipv6com2seccannot resolve source hostnameunexpected error; could not create com2SecEntry[-Cn CONTEXT] secName IPv4-network-address[/netmask] community�f��g��g���f��Xg���e��more data than expectedmake ostring
No alias found for %s
aliasNAME TRANSPORT_DEFINITIONmissing SOCKPATH parameterempty SOCKPATH parametersockpath too longLocal IPC: unknownLocal IPC: abstractLocal IPC: %scom2secunixPath too long for Unix domain transport
[-Cn CONTEXT] secName sockpath communitycallback: unknowncallback: %d on fd %ddefSecurityModelsnmp_secmod: no memory
unknown security model name: %s.  Forcing USM instead.
snmp_secmod: two security modules %s and %s registered with the same security number
snmp_secmod: unknown error trying to register a new security module
tsm: malloc failure
ssh:dtls:%s:%stsm first octettsmtsmUseTransportPrefixtsm: needed to free transport data
Unable to malloc snmp_secmod struct, not registering TSM
usm first octetusm sequenceusmdefAuthTypedefPrivTypeuserSetAuthPassuserSetPrivPassuserSetAuthKeyuserSetPrivKeyuserSetAuthLocalKeyuserSetPrivLocalKeyUnknown authentication typeUnknown privacy typeusmUsercreateUserAuthentication failed for %s
encrypted sPDU%s %d %d missing user passwordinvalid user keyinvalid localized user keyinvalid name specifierinvalid engineID specifier-M-emalloc failedunknown authProtocol-mimproper key length to -lunknown privProtocolpriv protocol lookup failedUnknown privacy protocol-M -e unknown authTypemissing authpassphrasemissing privpassphraseline exceeded buffer spaceNOPRIVAESAES-128AES128AES-192AES192AES-256AES256AES-192-CAES192CAES-256-CAES256CNOAUTHSHASHA-1SHA1MD5SHA-224SHA224SHA-256SHA256SHA-384SHA384SHA-512SHA512could not register usm sec mod
MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224DES|AES|AES-128|AES-192|AES-256username [-e ENGINEID] (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224|default) authpassphrase [(DES|AES|default) [privpassphrase]]setting key failed (in sc_genKu())setting key failed (in generate_kul())error extending localized user keynot a valid user/engineID pairerror parsing authentication master keyError generating a key (Ku) from the supplied authentication pass phrase.error parsing encryption master keyError generating a key (Ku) from the supplied privacy pass phrase.malloc failure creating new usermalloc failure processing -e flaginvalid EngineID argument to -eUnknown authentication protocolinvalid key value argument to -mcould not generate the authentication key from the supplied pass phrase.Could not get proper authentication protocol key lengthinvalid key value argument to -lcould not generate localized authentication key (Kul) from the master key (Ku).could not generate the privacy key from the supplied pass phrase.could not generate localized privacy key (Kul) from the master key (Ku).could not extend localized privacy key to required length.privKey length is less than required by privProtocol5.8container listtable_containerssll_containerstring_binary_arrayadd index called with null pointer
error on subcontainer '%s' insert (%d)
container '%s' does not support insert_before
error on container '%s' insert_before %ld (%d)
error on subcontainer '%s' remove (%d)
container '%s' does not support REMOVE_AT
error on container '%s' remove_at %ld (%d)
container '%s' does not support GET_AT
error on container '%s' get_at %ld (%d)
container '%s' does not support duplicate
error on subcontainer '%s' cfree (%d)
non-exact search on unsorted container %s?!?
malloc failed in _ba_resize_check
binary arry duplicate does not supprt flags yet
 no memory for binary array duplicate
no memory for binary array duplicate
couldn't allocate memory
LISTEN_PIDLISTEN_FDSNOTIFY_SOCKETnsfile_directory_container:binary_arrayerror creating stats for ns_file
strdup failed while building directory container
directory_container:cstringcould not stat %s
error creating ns_file
stat() failed for ns_file
failed to malloc netsnmp_file structure
unsorted_singly_linked_listlifounsorted_singly_linked_list-fifounsorted_singly_linked_list-lifoclear is meaningless for iterator container.
illegal reuse of data context in container_iterator
save_pos required with get_data
bad rc %d from get_data
bad rc %d from get_next
;�,��/���,�l��-$���$-d���@-�h-���|-t����-D����-ĭ��.�.t���X.�����.T����.d����.԰��,/����d/���/$����/T����/�����/�����/���(0�x0����0D����0�����0�14���P1D���d1�����1��1� 2��42��H2���d2���x2����2����2����2���3���,3���`3����3����3���44D��h4����4����4D��5���05���l5����5����5���6���T6����6���6��$7����7����7D��L8$���8���9d�`9��|9t��9���9��:��:��H:D��:T��:$��:��:$�x;���;��<��d<d�<t�=D����=T����=4����=����>����>�4>���H>�����>����>d��(?��d?T���?����?T
��t@����@����A���XB�!���B�"��8Ct-���CT.���Ct0��HDt2���D�4��E�6���E9���Ed<��LFT?���F�A��(G�C���GdE���G$G��<H$H���H�K���H�L��8IDM��\I�M��xI�N���I�N���I�P��DJdQ��lJdR���J�R���J�R���J4T���K�T���K�U���K�U��L�k��8L�l���L�l���LDm���L�m���L�m��M�m��M�m��(Mn��<Mn��PM$n��dMDn���MTn���Ms���M���PNԀ���N����NT���OT���`OĆ���O���OD����O����P��DPd���lP���Pd����P���Pd����P��Qd���DQ��lQd����Q���Qd����Q��Rd���4R��\Rd����R���Rd����R���Rd���$S��LSd���tSĒ���S�����ST���T����,T�HTT���tT�����TĖ��Ud���4U����hUd����Uԡ���Ud���V����TV4����V$����VT����V����V$���,W$����Wt����WԶ��0Xt���tXԺ���X���Y4���XY����Y���Y$��<Z����Z����Z��,[���t[4���[���\T�h\$��\D�]D�@]T�T]���]d��]���]��D^��X^�l^d�^d����^t����^��_d���p_4����_�����_�`$���<`4���P`����`����`��,at��xa4���a��b$ ��Lb� ���b� ���b#���b$#���bT$��@cT'���cD(���c)��d$)��dd)��<d�)��Pd�)��dd�)��xd�*���d�+���d$,���d-��et-��0e�-��PeT.��pe�.���e/���e�0���e�1��f�1��8f�3��|f�3���fd4���f�4���f�4���f�4���f7��g�7��8g�7��Lg�7��hg8���g48���g�8���g�9��0hT:��xhd:���h�;��i�<���iA���j�C���jDE��k4G��Tk�G��xk�G���k$H���kTK��l�O��`l�W���lY��m]��tm$_���m4`���mta��nth��hn�h���n�h���ni���n�j��ok��(o�k��po�k���o4l���o�l���o$p��p4p��p�p��Dpts���pTt���pdt���p�t��q�t��q�t��0qdv��|q�v���qw���q�w���qz��r�z��r�z��(r�z��<r4{��Prt{��hr�{��|r�|���r�|���rD���<s����Ps����|sĊ���s���s����st����s����t����t���Dt4���Xt�����t4���u��Tu$����u����\vį��xv����vt����v�w$���wD���(w����dw����xwԷ���w��x���TxĿ���x����y����y���$z4��Xz����z4���z����z4��({���\{D���{����{���|$��T|���|����|���}T��<}���}����}����}���$~���~���~���04��tt���t�������4�P�$������T�`������8��|����������8�T�d�t�܃t���8�������t����D�����T������������$������$������L������T	��̇������$����8�D��t������T��̈4���T��0���L������(���(���$)��8��*����t+����D,��܊�-����-���4.��P��.��d��.��x��0��ȋ$1�����1��0��1��D�d2�����2��̌�3����4���t6��@�$8��l�D9����t:��؍d<��(�=��d��?����@��Ȏ4@��܎�A��(��B����4C�����C���D���$D���TE��d�dF����$G���tG����G�� ��I��p��I�����I����tK���4M��$��M��H��N��t��O��ؒP���TP����P��0��P��D��P��X��P��l�TR����tR�����R��̓�U���W��d��W��x�DX����dX����tX�����X��Ȕ�X��ܔ$Y���4Y���TY��0�tY��D��Y��X��Z�����[���\��4�D]�����_��Ԗ�`��P��`��d�a��x�a����$a����Da�����c���d���dd��D��d��l�e�����e��Ԙ�e�����e���Df��8�df��L�dg�����g�����g��ș�i�� ��i��4�j��T��j����k����$k��ܚm��d�tn��țDo���p���$q��<�Dq��P�dq��d��q�����q�����s����4t����t��l��t�����t����Tu��̝du����u�����u���4w��`�Dw��t�4~��؞t~����~�� ����l������ԃ��8�t���t������������������H�ԉ������������������4�����H�����������آԏ��8����L����`�$���t�4�����D�����T�����d���ģt���أ�������������������(�Đ��<�Ԑ��P���d��x�����������$�����4���ȤD���ܤT����d����t��������,�����@�����T�$���l�4�����D�����T�����d���������Х$�������t�$�����������Ԕ���D����T���0�����\�Ԗ����4���ħ�(�D�����ě��بԛ��������Ԝ��0��D�����h�ĝ���������d�����Ğ��ĩ����d���$�$���P�t���x�������������������d���تt���l�������������4����Ĥ��(�T���d�D�����4���̬T����t����ħ����� �$���8�T���`�t���t����������D���ȭ�����Ԫ����$����d���0�ԫ��L�4���x�����Įt����T���8�t���P��p�t�����������԰����t���������t���<����`�ij��|�����Ȱ�������� ����\����������������������H���������t��h�����4���d�������T��D����l��������������ܴ4�����D�$��X�t��p��������������Ե$�������(����H������4��ж���$�$��8����d������T��з���������$��8�����T��̸d�������t��0����P�4������������Ĺ���������D�� �T��4�����d�ĺ��غ����t��t�0���H�������������ܼ�����������X������D�����t�����$����t��������l�����������4���Ⱦd���ܾt��������4����L��h�4�������ؿ���(����<�$��t�t����D
����
�����
�����8�D��L�T��`�����������
������ �4��h�����������t��������4��D���������������4������l���������������D����$��0����|�T�������$�� ����L����������� ����4 ����� �� ��!��\��!��|��"����$#����D,���4-��`�41����D1����t1�����1�����2�� �43��D��5��`��5��t�6�����6�����7����7��D�D8��h�T8��|�D9�����9�����:��$�4;��P��;�����<�����=��H��>�����@����dB��P��F����4I���tK��T�$L�����L����4M��8�tM��L��M��`��M��|�N����4N����dN�����N�����N����N��$�O��<�4O��\�tO��p��O�����O�����O����4P����tP�����Q��@��R����S����dT��<��X����$[����t[����t]��@��]��T�$_�����_����`���4b��T��b��h�Td�����d����$e�����e����e�� �4f��4�tf��H�4g����tg�����g�����g�����h����j��L��k����$m�����m���n��(�dn��<�4o��d��o�����o����$p�����p����tq���r��4��r��P��r��h��r�����s����t�����t����v��`�w��|�tw�����w�����x��L��y����{�����{��(��{��T��|�����~���4���p�����������D�����T���������T�$���h�������Ą�������T��� �T���l�D�����T�����ĉ����4����������T��� ����4�����H�����������$���4�T���������������������$�����d��������������$���$�d���8�����L����`�T���t�������$��������������d��������8�t���p�Ę����Ԛ���������������H�D�����t��������������������������ĝ��L�T�����t�����������������Ԟ������ğ��P�������d�����Ģ����<�$���X�D���p�t������������������4��� �d���4�����L�4���|����������$���@�d���h����������$���4�����\�$�����D�����$��������� �4���p�������D����������������Ķ���4���4�D���H�����\�T��������������������4�����D���P�ĺ����d�����Ļ���$���,�����l�T�����d�������d��8�$����4����T����d���������� �$��4�d��`����|�t���������d����4��0�T��L�t��`������d�����t������D�����������<�4��\�t����������������T�$����T�������$�D��h�4����4����D����T�����$���@�����������t�D���l�������d���8����D����0����|������$�����4���������T���0����d���������������,�����d�����������4���8�d���X����������������T��4�����T��������$��(�D��D�	��l�D
���������d����
��,�T��x�4����T������0�d��L�����������������������d��@���`$������t��X� ����!�� D%��l*���d,���,��@D-��l�.���$/���D0���0�� �0��4T1��pt2���4=���>��H4?��t�?���@����@���A��PTB���dB����B���$C���TC��DE��P�E��lF���$G���J���tJ���J��@dK��\�K��pL���L���$L����L���M���dM�� 	�M��8	�Q���	�V���	�V���	4W��
�W��(
�W��<
4Y���
�Y���
�Y���
�Z���
�]�� 4^��L�^��x_����_���`���4`����`��,4a��LTa��h�a����b����c��
Dd��H
l���
�l���
4m���
Tm��dm��$�p��x�q���tr����r���t��hDt��|Tt����t����t����t���4w��$�w��H�x���y����z��T{��4�{��`�|����}���~��,�~��d��|$���d����Ԁ��4���4t���L����`����t�����T����4���(��l����������$�������0���D$���XČ���d�������,����ld�������$������P����d���������4������� 4���p����t��������@�x4����D��������������ԝ������T���0��pd����T����������������ԯ��x4����d����ĸ���t������������(Ĺ��<����\Ļ��x����4���������Կ��T��L��������4������ ��t 4��� ��� d��� ���!���$!���X!���x!����!���"���,"��@"���t"T��"��#D�T#T�l#���#���#���#���#���#D��#�($��L$���$���$���$���$��(%��<%��h%t��%��%$�$&��T&�l&��&$��&��&��'�H'T�\'����'$����'T����'�����'����(���(�((���<(D����(�����(��(����(���� )���4)4���T)T���l)���)$����)����@*�����*D����*t����*���H+���\+d���+����+D��,��� ,���4,D��H,���p,����,����,$��-4��$-���l-����-����-	���-$	��.D	��,.T	��@.d	��T.t	��h.�	��|.�	���.�	���.�	���.�	���.
���.$
���.T
��/t
�� /�
��4/�
��H/�
��\/�
��p/�
���/���/���/$���/4���/D���/T���/d��0t��$0���80���L0���`0���t0����0$
���0���1���H1d���1����1���2��L2$��h2D���2����2��3t��D3���l3T���3����3����3����3���4���4���04���D4��X4��l44���4���4���4$���44���4D���4d��5���X5$��l5D���5d���5����5����54 ���5� ��6� ��64!��(6�!��D6�"���6�#���6�#��7�$��d7�$��|7t%���7�%���7�%���7�%���7�%��8�%��8&��,8d&��D8�&��X8�&��l8�&���8(���8�(��9)��9�,��X9T.���9�.���90��:zRx�$����<FJw�?:*3$"Dp?���<\�|��3E�f
A$x}���E�M�D hDA��}��,��}��QT�D�D �pABA���(��}���A�A�D �DA(d��qJ�A�G [AAA��<���-<P����F�B�E �I(�D0�B
(A BBBE8����F�A�A ��
ABDb
ABKH������B�B�B �B(�A0�A8�DP|
8D0A(B BBBIl���4,h���oF�E�D �D(�D0N(D ABB4d�����F�A�A ��
ABHKDB$�8���>E�D�D kDA �P���3E�D`@
AF�l���!�����)����.8$����ZK�D�D �p
ABJACBA���L`���F�E�A �D(�G0�
(D ABBF]
(D ABBJ�t��������%H \,�����QK�E�C �sABG���(Ȉ��AJ�E�G dAAD��L8��>F�F�B �B(�I0�D8�G��
8A0A(B BBBA�܊��L�؊��nF�B�B �B(�D0�D8�G��
8A0A(B BBBE�����=K�,
AH����B�B�B �B(�A0�A8�DP
8A0A(B BBBCX̏��lȏ���ď��sfu
E�(����4����@���0�L����E�A�D �
CAJQCA0���E�A�D �
CABQCA @t����E�D0�
AG0dP���E�A�D �
CAAzCAd�,����X�B�A �A(�D0�
(A ABBGD
(F ABBID
(F ABBAV���� ��E�D0�
AGD$�����F�B�E �E(�A0�A8�D@�8C0A(B BBB0lH����O�A�A �~
ABFU��� �ԕ��dK�E
HH� ���2B�E�E �E(�D0�A8�D��
8A0A(B BBBK(���IF�D�G ZD�O�(<8���AF�D�G VI�J�8h\���B�B�A �A(�G��
(A ABBA(�0���AF�D�G VI�J�T�T����K�B�I �E(�E0�D8�D@�
8A0A(B BBBH�������(	����L<	�����F�B�A �A(�G0S8F@k8A0m
(A ABBG\8H@L�	H����F�B�A �A(�G0S8G@e8A0r
(A ABBG\8H@0�	����jA�C�G }
FAAUCAH
4����B�B�E �E(�A0�A8�D`�
8A0A(B BBBD�\
���B�B�G �B(�A0�D8�LP�
XL`BhBpJOXB`BhBp]PD
8D0A(B BBBEi
XO`BhBpLDXO`BhBp �
D����E�N r
AA|�����F�B�F �E(�D0�D8�G`�hFpFxF�F�F�\`v
8C0A(B BBBAj
8F0A(B BBBA\���F�B�E �B(�F0�D8�GPq
8C0A(B BBBCl8F0A(B BBB`�p����F�E�E �B(�A0�D8�DP�
8C0A(B BBBEY8F0A(B BBBLH�����F�E�E �E(�D0�A8�G��
8A0A(B BBBF�����XH0J
A,�@����F�F�A ��
ABF�����D�����XF�A�H �\
CBH�
CBH
DBI@
ԫ��
(T
���E�N�Q �NHL�
����KQ�H�D �`
ABHQ
ABD\
ABAH����
����
$�
�����E�N�Q �NHH����H��(���O�G�A �A(�I0a
(H� A�B�B�IC8G@^8C0Q
(D� A�B�B�KD(A ABBF����H0����D8H@ ������E�R
Iz
Fh�0����F�I�B �B(�A0�A8�D@`HKPaHA@w
8D0A(B BBBFD8A0A(B BBBX@ij���T�E�E �A(�F0y
(C ABBJI8M@\8A0K(H ABBA����H�(����F�E�B �B(�A0�A8�FPS
8C0A(B BBBJ\�����F�B�B �B(�A0�A8�G���J�k�D��
8A0A(B BBBDlH\����F�B�B �A(�A0�D@~
0A(A BBBJHNP^HD@Q
HHPPy
0D(A BBBE�����	@������F�A�D �G�j
 AABH\�J�g�A�(T���EF�A�A �9AB<x���P����OE�tl����T�Ľ��jF�E�J �J(�D0�D8�Fp]xF�SxApv
8A0A(B BBBD4�ܾ��#E�A�G �
AAIX
FAAL����F�B�E �D(�D0�k
(C BBBGA
(F BBBC8`4���F�K�J �F(�G�R
(A ABBHL����AF�B�B �B(�A0�A8�G�	"
8A0A(B BBBG<����F�A�A �G0H
 FABHP CAB|,���{F�B�B �B(�A0�A8�G���P�V�A�k�P�[�A�i
8A0A(B BBBCl�Y�Q�C�L�`����FF�B�B �B(�A0�A8�D`�
8A0A(B BBBEl
8C0A(B BBBH���B�B�E �B(�A0�D8�L���K�X�C�[
8A0A(B BBBK��M�B�H�[�L�J�o�F���O�^�A�
�E�i�A���H�\�B��
�H�ao�E�B�H�S�e�J�W�A�c�P�X�A�a�K�X�A�S�R�Y�B�`,���F�E�J �B(�D0�D8�I�z�B�F�A�[�A
8A0A(B BBBGl�t���F�B�E �E(�D0�D8�G���K�O�B�X
8A0A(B BBBHD�U�K�A�l��� J�q
EK
EK
EK
EK
EK
EK
EK
EK
EK
EK
EK
EK
EK
EKlp����
F�E�E �E(�D0�A8�G��
8A0A(B BBBHB�K�R�B���K�S�A�@����B�J�L �G��
 AABEB�L�I�A�X$`�F�B�E �E(�D0�D8�G���K�O�A�X
8A0A(B BBBHX�$��F�B�E �E(�D0�D8�G�i�K�O�A�X
8A0A(B BBBIX���9F�E�B �E(�D0�D8�GpwxK�OxAp�
8A0A(B BBBE|8��F�B�E �E(�D0�D8�GpmxK�PxBp]
8A0A(B BBBF�xD�IxApJxD�IxApJxD�JxBpX�<�MF�B�E �E(�D0�D8�G�{�K�R�A�[
8A0A(B BBBAl0�OF�E�B �E(�D0�D8�G���N�L�A�t
8A0A(B BBBKz�K�O�A�l�����F�E�B �E(�D0�D8�G�J�M�L�A�r
8A0A(B BBBG��K�O�A�h�����6F�B�E �E(�D0�D8�G���K�O�B�X
8A0A(B BBBHl�K�O�A�X`d����F�B�E �E(�D0�D8�G�x�K�O�A�X
8A0A(B BBBJL������F�E�E �D(�D0�G`mhKpOhA`X
0A(A BBBId�����F�B�E �E(�D0�D8�GpmxK�OxApX
8A0A(B BBBEoxF�PxApLt���F�E�E �D(�D0�Dp�xK�OxApT
0A(A BBBHX�����{F�B�E �B(�A0�A8�D���H�Z�B�^
8A0A(B BBBAL ���3F�E�E �D(�D0�G`khKpOhA`T
0A(A BBBG p���WH(Z0N(A `
A����tH0X
H<�D��F�D�I �LPXXB`KXAPF
 AABA���t ���F�B�B �E(�D0�D8�Gh_pOhB`d
8A0A(B BBBD�hJpIhA`�hEpUhA`L
hApB$|���|H0o8K@L8A0\
ED����F�E�D �I(�LPHXJ`FXAP@
(A ABBE�������lE�h
C{� ��4F�B�B �B(�A0�A8�D@vHJPIHA@D
8A0A(B BBBFBHEPUHA@D
8A0A(B BBBE[
8A0A(B BBBKaHAP$����|H0o8K@L8A0\
ED�	��F�E�D �I(�LPHXJ`FXAP@
(A ABBE,�	��,@�	���E�C
D��G��K��
HDpd��F�E�D �I(�LPHXJ`FXAP@
(A ABBE� ��$�( ��|H0o8K@L8A0\
E�� ��1J�dB�$ � ��EE�D�D uAA8 � ��L � ��` � ��t � ��� � ��� � ��E�L� � ��L� � ���F�B�B �B(�A0�A8�D��
8A0A(B BBBEh!(%��kB�G�B �B(�D0�A8�O���L�Z�A�p
8A0A(B BBBF�
�R�EH�!,1��HF�B�B �L(�I0�D8�GP�
8D0A(B BBBDH�!02��)F�B�B �E(�D0�D8�DPh
8A0A(B BBBC0 "3��IE�F�G \
GAJDCA@T"03���F�B�E �D(�D0�G��
0A(A BBBBp�"�4��aF�B�B �E(�A0�A8�IP�XD`AhFpPPI
8C0A(B BBBB�
8A0A(B BBBD#�6�� #�6��Z4#@7��N0H#|7��DQ�D�G U
AAEDFA$|#�7��|H0q8G@L8A0\
G�#�7��tH0X
H�#T8��tH0X
H$�#�8��|H0q8G@L8A0\
G$$9��|H0q8G@L8A0\
G$,$h9��|H0q8G@L8A0\
G$T$�9��|H0q8G@L8A0\
G$|$:��|H0w8G@H8A0\
E$�$p:��|H0q8G@L8A0\
G$�$�:��|H0q8G@L8A0\
G$�$ ;��|H0q8G@L8A0\
G$%x;��|H0q8G@L8A0\
G$D%�;��|H0q8G@L8A0\
G$l%(<��|H0q8G@L8A0\
G$�%�<��|H0q8G@L8A0\
G$�%�<��|H0q8G@L8A0\
G$�%0=��|H0q8G@L8A0\
G$&�=��|H0q8G@L8A0\
G$4&�=��|H0q8G@L8A0\
G$\&8>��|H0q8G@L8A0\
G$�&�>��|H0q8G@L8A0\
G$�&�>��XA�M�D @DA<�& ?���I�B�E �D(�A0�o
(C BBBC '�?���A�R
EH
H(8'L@��QF�A�D zAAI��d'�@��9Q�`G�(�'�@��QF�A�D zAAI��(�'�@��QF�A�D zAAI��`�'A��
B�B�E �H(�D0�t
(A BBBH_
(A BBBBc
(A BBBA,<(�A���	A�C
I�����3
H0l((K��IA�A�D m
AAKDCA<�(DK���A�A�G b
AACL
MCLQAA(�(�K��eB�H�H �OAB@)�K���B�F�C �K
FDHA
ABDXAB8P)DL��A�G0�8P@R8A0�
ACn8P@Z8A0(�)(N���A�D�D X
AAE$�)�N���A�C�K �AA�)tO��.A�h�)�O���A��H*,P��	B�B�B �B(�D0�D8�D`}
8A0A(B BBBEpd*�P���K�B�E �H(�D0��8h@H8E0o
(A BBBHN
(A BBBKR�����A0�����$�*|R��FA�`
GF
BMd+�R��[B�E�I �B(�A0�A8�G`�
8A0A(B BBBE�
8A0A(B BBBA@h+�^���B�B�E �A(�G0�G��
0A(A BBBFL�+�_��TB�B�H �B(�A0�A8�G��
8A0A(B BBBDL�+b��9B�B�E �B(�G0�A8�G�
8A0A(B BBBA@L,�b��B�E�B �G(�A0�G��
0A(A BBBHH�,�c���B�B�B �A(�A0�G� L�!E
0A(A BBBHH�,g��B�B�E �B(�A0�A8�J��
8A0A(B BBBFH(-�g��:B�B�E �E(�A0�C8�G��
8A0A(B BBBEHt-�i���B�G�B �B(�A0�D8�G�x
8A0A(B BBBEL�-Dn��B�K�A �A(�D0s
(D ABBAQ
(D ABBFP.o��B�B�B �B(�A0�A8�G� L�'
8A0A(B BBBEDd.�y���B�B�B �A(�A0�G� L�!�
0A(A BBBGL�.x{��7B�B�B �B(�A0�A8�G� L�!�
8A0A(B BBBKL�.h~���B�B�B �B(�A0�A8�G� L�!�
8A0A(B BBBKPL/�����B�B�B �B(�A0�A8�G� L�!W
8A0A(B BBBBp�/���B�B�B �B(�A0�D8�G`H
8A0A(B BBBJd
8A0A(B BBBB�hdpHhA`40@���F�I�H �F(�L0�(N FDB(L0(����E�A�D W
DAJx0����8�0����F�B�B �A(�A0�k(A BBB(�0<����F�A�A ��AB4�0����kB�A�D �I
ABEFAEL,1ؑ���F�B�B �B(�A0�A8�G�R
8A0A(B BBBG|1X���+�1t���+0�1����TE�F�D p
AAGDFA8�1����F�B�B �A(�A0�N
(A BBBG2����	(2|���hL�F
FO\H2̘��{F�B�B �B(�D0�A8�J���H�_�A��
8A0A(B BBBFL�2���B�B�B �I(�A0�A8�G��
8A0A(B BBBA8�2l���vF�J�J �D(�D0�L(A BBB43����1TT$L3؜��.E�Y
J\
L�t3��	4�3ܝ���A�A�D L
FAGD
CAHP�3D���B�B�B �B(�A0�A8�G� L�#�
8A0A(B BBBEL4���B�B�B �H(�A0�A8�G��
8A0A(B BBBBHd4��[B�B�B �B(�A0�A8�GP%
8C0A(B BBBFL�4��B�B�B �B(�A0�A8�G� L�"�
8A0A(B BBBKL5d����B�B�B �B(�A0�A8�G� L�!�
8A0A(B BBBK0P5��O�A�C �B
ABH����0�5�qE�A�D U
AAGDCA�5���	H�5���_F�B�B �B(�H0�A8�D@;8A0A(B BBB6,���	H,6(���0F�L�E �B(�D0�A8�G��
8A0A(B BBBFlx6����F�B�B �B(�D0�A8�G���K�j�A�t
8A0A(B BBBJ��M�g�A�0�6����F�H�D �G��
 AABF7X���E�e
F<7�� P7��3J�V
�HCE�t7 ��0�7<���7H��5<�7t���A�D�G e
AAEa
AAEaAA�7���IJ�5� 8���OH`
HI
GN08$����rH8���bE�E
FFh8<��bE�E
FF�8���bE�E
FF�8���bE�E
FF�8,��1Mb<�8T���B�J�G �D(�D0�[
(A BBBA0 9���HL
DDR [A\
Jr
NT9���0L�S@p9����F�A�D �J��
 AABEf�a�]�A��9@��!(�9\��oE�F�K0Q
AAA�9���:���	:���	 0:���dA�D0X
AAT:���wL�jp:T���:P��$E�Z�:d��7Tb�:���`�:����O�B�A �A(�D0D
(A DBBDd
(C ABBDD(F ABBI����40;����V�A�G ^AAB��A ��G��Dh;L���F�A�C �I
ABJa
ABDQ
ABA�;���	��;����F�B�J �E(�D0�D8�GhdpKhA`^
8A0A(B BBBBWhHpUhB`nhJpLhB`LhNpRhA`shMpRhA`pH<����F�B�K �E(�D0�D8�GHIPRHA@H
8C0A(B BBBIDHFPaHA@L8J0D(E HGB�<8��7F�B�B �E(�D0�D8�G���R�G�E�L�d
8A0A(B BBBFu�R�G�E�L�I�N�S�B�L�N�R�B�L�M�S�A�G
8A0A(B BBBI��N�X�A�L�N�V�B�L�N�V�B�I�P�S�B�I�T�S�A�L�=h���F�E�E �E(�A0�D8�J�?
8A0A(B BBBA>��I��z
EuL<>8���F�N�B �B(�D0�D8�J�'
8A0A(B BBBE �>����N�j
HQG��>T��E�L�>X��)J�WG�\�>l��)F�D�B �B(�G0�A8�G�1�T�I�A�2
8A0A(B BBBHLH?<��7F�J�B �B(�A0�F8�M��
8A0A(B BBBDt�?,�DF�B�E �E(�D0�D8�GplxF�axApOx[�KxApJ
8A0A(B BBBAxK�PxBp8@�F�K�G �A(�G@^
(A ABBD\L@��F�B�B �B(�A0�A8�D���T�U�A�n
8A0A(B BBBDH�@��B�B�A �A(�Dp�xX�PxAp�
(A ABBA�@\�N���<AP�;O�B�A �D(�D0(F ABBH����HTAP�F�E�B �B(�A0�D8�Gp�
8D0A(B BBBA$�A���9E�LB B(B0IX$�A���7E�DD D(D0IX�A4��� HJ B(B0I0B4����F�A�A �G0�
 AABDDB����#E�]D`B����F�E�E �E(�D0�D8�D@R8D0A(B BBB�B���S�Bh���2E�l�B�����H�H�B���YF�B�B �B(�A0�A8�Dpu
8A0A(B BBBG<C��
(PC��CF�I�D �lABL|C8���F�B�B �E(�A0�D8�D��
8A0A(B BBBFH�C����F�E�E �J(�D0�D8�G��
8A0A(B BBBEDl��,Dh��@Dt��TDp��HhD|���F�B�B �B(�A0�A8�D`,
8A0A(B BBBH�D���*L�]�D���zH�_
ID�DT��o0E���~F�I�D �D0K
 AABJ8E����LE���`E���tE���N�E���6PY�E	��jH�E`	���F�B�B �B(�A0�A8�DP�
8D0A(B BBBIF�	��\F�	��~
F�J�E �B(�D0�D8�G�1
8A0A(B BBBG��H�m�A�tF��?(�F,��+F�D�D �UAB�F0��
�F,���F8��/4�FT��[M�A�A �y
ABEGAB(G|��<G���(PG���VO�D�O bDAG��|G���$\�G���KF�B�H �B(�A0�A8�M�	�
8A0A(B BBBC��	^�	P�	A�	L�G����F�B�B �B(�A0�D8�M�s
8A0A(B BBBEH@H$%���B�B�B �E(�D0�D8�J��
8A0A(B BBBI|�H�*��1B�B�B �E(�D0�D8�Gp'
8A0A(B BBBE�
8F0A(B BBBE
8F0A(B BBBA�IH2��oF�B�B �B(�A0�A8�D�r
8A0A(B BBBB^�]�C�C�I���K�K�A���J�X�D��I09��'E�a$�ID9��:E�A�D mAA(�I\9��pE�I�G�S
AAA0J�9��~F�I�D �G�X
 CABA8J�9��#LJ:��8`J:��GF�B�A �A(�D@�
(A ABBH�J(<��(�J4<��S��
�IP�H�`�J(@��F�B�E �B(�A0�D8�G`P
8D0A(B BBBHi8O0A(B BBBH@K�C��-F�B�E �E(�D0�A8�D��
8A0A(B BBBHH�K�D���F�B�B �B(�A0�A8�F��
8A0A(B BBBE��KG���F�E�E �E(�A0�D8�G�w�C�[�A�
8A0A(B BBBHD�S�L�A�P�S�L�A�P�P�J�B�L�_�F�A�J�P�I�A�N�P�J�B�L�S�M�B�N�S�M�B�N�S�L�A�H�L0I���F�L�E �B(�D0�D8�Dp�
8A0A(B BBBBHM�I���F�G�J �E(�D0�A8�G`�
8A0A(B BBBD0\M�J��tA�V�W�F�Y�A�_
AA0�M�J��wA�[�Z�A�Y�A�_
AA0�M K��tA�V�W�F�Y�A�_
AA0�MlK��tA�V�W�F�Y�A�_
AA0,N�K��yA�V�W�F�Y�A�_
FA0`NL��}A�`�Z�B�T�A�_
FA0�NPL���A�G�u
ABD�K�c�A�0�N�L���E�G�O
ADG�K�i�A�<�N(M���E�G��
AEo�H�l�A�\
�H�LL<OxN���]�B�D �D(�G0b
(E ABBFl(C ABBD����0�O�N���F�A�A �D@2
 AABF0�OtP���F�A�A �D0
 AABBH�O R���F�B�B �B(�A0�A8�DP�
8A0A(B BBBJ0@P�S���F�A�D �D@�
 AABI@tPU���F�D�C �J�
 AABFP�P�X�A� �P|U���E�D k
AKH�P�U��:E�G�M
AFL�L�g�A�T�O�]�K
�H�B0(Q�V���E�G�E
AFG�I�e�A�\\QXW��tF�B�A �D(�D0�
(A ABBEl
(C ABBDX
(C ABBH\�QxX��F�B�D �A(�D0�
(A ABBGD
(C ABBDX
(C ABBHHR(Y���F�K�D �A(�G0v
(F ABBBW
(C ABBA@hRlY���F�B�B �A(�A0�DP
0A(A BBBAL�R�[��7F�E�E �B(�A0�A8�J�
8A0A(B BBBB(�R�^���E�A�D@x
AAD(S|_��H<Sx_���F�B�B �B(�A0�A8�DP�
8A0A(B BBBFH�S�`���F�B�D �D(�G@
(A ABBDV
(F ABBG@�S�a��F�B�B �A(�A0�D@7
0A(A BBBA|T�c���F�B�B �B(�A0�A8�DP�
8A0A(B BBBEF
8A0A(B BBBHX
8C0A(B BBBDX�T�e���F�B�B �A(�A0�G���J�P�F�Y�e
0A(A BBBDx�TPh���F�B�B �B(�A0�A8�D@+
8D0A(B BBBFk
8C0A(B BBBIX
8C0A(B BBBD@pU�i��F�B�B �A(�A0�DP�
0A(A BBBK@�U�k���F�A�A �[
ABJU
CBFVCB@�U�k��#F�B�B �A(�A0�DP�
0A(A BBBF0<V�m���F�A�A �D0�
 AABH(pV�n��hZ�A�D �R
ABDt�V�n��F�E�E �E(�D0�C8�G���A�s�A��
8A0A(B BBBD\�H�l�A�[
�A�EXW�p���F�E�E �E(�G0�D8�J�N�J�g�A�h
8A0A(B BBBDxpW4q��F�E�B �B(�A0�A8�D`�
8C0A(B BBBHU
8C0A(B BBBG�
8A0D(B BBBG\�W�r���F�E�E �E(�D0�D8�DP�
8A0D(B BBBDD8C0A(B BBBxLXXs���F�B�E �B(�A0�A8�DP�
8A0D(B BBBGP
8C0A(B BBBDU
8C0A(B BBBG�X�t��
d�X�t��TF�E�E �B(�A0�C8�G`�
8A0A(B BBBHH
8C0A(B BBBADY�w��!HU\\Y�w���F�E�E �E(�D0�D8�DP�
8A0D(B BBBDD8C0A(B BBB`�Y8x��[F�B�E �B(�A0�A8�D`�
8A0A(B BBBHU
8C0A(B BBBG` Z4|���F�B�B �B(�A0�A8�G`
8A0A(B BBBHU
8C0A(B BBBG8�Z���F�B�B �A(�A0�(A BBB@�Zd���\F�B�B �A(�A0�D@>
0A(A BBBA@[����qH�J�I �B(�D0�A8��0A(D BEsH[����/\[؈���8p[T����F�B�A �A(�G��
(A ABBD�[Ȋ��;@�[��F�E�E �A(�D0�Gpb
0A(A BBBJL\�����F�B�B �B(�A0�A8�G��
8A0A(B BBBAT\���h\����E��4�\�����F�D�A �I
ABIiABl�\���iF�E�B �H(�D0�D8�J�2�G�Q�A�v
8A0A(B BBBF�H�P�A�,]���(D]���F�D�C �[
ABEHp]���F�N�B �B(�A0�A8�F`�
8A0A(B BBBJ(�]H����E�Q�D@\
AAH(�]�����E�D�Dp�
AAH(^`���^E�D�G��
AAD@^����0T^����aF�L�C �Ipy
 AABA�^ܢ��M�^���9L�^D����F�B�B �B(�A0�C8�J��
8A0A(B BBBB0_Ĥ���E�A�D I
HAD^CA04_ ����F�D�D �G�o
 AABHh_����
@|_����wF�H�A �Q
ABEt
ABAD
CBG@�_ԥ��wF�H�A �Q
ABEt
ABAD
CBG`����H�(`Ȧ��/E�C
U���
A,H`̧���E�C
Y�����h
A(x`,����E�C
W�����
A(�`����E�C
W�����
A<�`����"F�B�E �D(�A0��
(A BBBBLa�����F�E�H �E(�A0�D8�D��
8A0A(B BBBA8`a4����F�B�A �D(�J`r
(A ABBAL�a�����F�E�E �B(�A0�D8�J��
8A0A(B BBBI�a8���bD���HbP����F�B�E �E(�A0�A8�GP-
8D0A(B BBBA``b����F�B�B �B(�A0�A8�DP�
8D0A(B BBBFD8A0A(B BBB$�bP���LE�A�D AA8�bx����F�B�G �A(�G`�
(A ABBA(c��<c����HPc���'F�B�B �B(�A0�F8�G@�
8D0A(B BBBD0�c��F�F�F �J��
 AABAH�cĵ���F�B�B �A(�A0�i
(A BBBLa(A BBB$d8���PE�A�D CAADd`���KLXd�����F�E�E �E(�D0�A8�G�
8A0A(B BBBJ�d����d(���H�d4����F�E�E �E(�A0�A8�DP;
8D0A(B BBBA<e�����F�L�A �A(�M�c
(A ABBF \e����E�D@�
AA(�e�����E�A�D@�
AAA`�e���F�B�B �B(�A0�A8�DP�
8D0A(B BBBEL8A0A(B BBB$fԼ��VE�A�D IAA8f���9HZ
FTf0���&hfL���|fX����fd���4�fp���bF�K�D �G�	<
 AABA�f�����f����Lg����F�B�B �B(�A0�A8�D�!
8A0A(B BBBCDTg����oF�E�E �D(�A0�G��
0A(A BBBH�g�����gT��l�g����g���	�g���$h���(h���UE�J�D@z
AAA@h��Th��hh��|h(��f`�h����F�E�E �D(�A0�A
(C BBBAF
(C BBBA_
(C JBBHH�h����F�B�B �B(�A0�A8�I��
8A0A(B BBBA(@i���|E�A�G@^
AACLli���#F�B�E �B(�A0�D8�Dp�
8A0A(B BBBGL�i���^B�E�B �B(�D0�A8�G�
8A0A(B BBBGxj���"B�I�J �D(�D0�J�g�A�I�F�K�s
0A(A BBBDL�O�a�D�e
0D(A BBBE�j|���jx���j����j����j|��L�j����F�B�B �B(�D0�A8�G�f
8A0A(B BBBH<k���(Pk���^F�H�A �KAB$|k��FE�D�D sDA4�k@��TJ�D�G g
DAGDCAA��,�kh��aK�D�A �LABA���$l���ME�A�D @AA4l���$Hl���TE�A�D GAApl��D�l���E�N�G
AEf�F�R�M�F�I�A�D�T��l����l���bH\
LmTm$���B�E�B �K(�A0�G��
0A(A BBBF��G�g�A�Xml��lmx��LH\
LW4�m����F�B�A �D(�D0�(A ABB0�m��QE�I�I M
AAJTGA�m<�� E�S�n@���F�G�B �B(�A0�F8�G�z
8A0A(B BBBEk�M�k�A�b�I�p�A�P�P�R�O�A�A�V�`�n���[F�G�B �F(�A0�G�z
0A(A BBBAk�N�k�A�m�J�p�A�o����K��
AoX���K��
A88o��F�B�D �D(�F@H
(A ABBDto����o���4�o���dJ�A�G ~
AAFDCAA���o0��	H�o,��F�B�B �B(�A0�A8�G��
8A0A(B BBBF4p���3E�[
HFLTp��iK�E�D �C(�D0i
(A ABBFD(D� A�B�B��p0���p<��4�pH��dJ�A�G ~
AAFDCAA��q���	q|��!HQ0q���	PDq����O�E�A �A(�D0v
(D� A�B�B�G�(C ABBD�����q���	`�q����F�B�B �B(�A0�A8�G� L�)�
8A0A(B BBBA��)O�)W�)A�)0rT��<E�C�J N
IAFDFADr`��HXr\��-F�B�J �B(�A0�A8�L��
8A0A(B BBBA|�r@��B�B�B �B(�A0�A8�G��
8A0A(B BBBG��D�z�A�h�D�W�F�@�Q�p�B�H$s��F�B�B �G(�A0�A8�L@�
8C0A(B BBBG8ps���F�B�D �A(�D0j
(C ABBE�s���E�\
O�sh��E�e
F(�s��OE�D�G N
LAEdt��+X�B�B �E(�A0�D8�G@�
8F0A(B BBBCl8E0A(B BBBA������L�t���F�B�B �B(�A0�A8�G� I� �
8A0A(B BBBE�t4�	H�t0��F�B�A �A(�G0T
(D ABBB_(A ABB80u��F�B�A �D(�G��
(A ABBBluX�	P�uT��`�F�N y
CAGR
D�A�I\
J�A�IDJ�A�8�u��F�B�A �A(�G��
(A ABBI\v��T�E�N Q��H ��s
AAKZ
H�A�MJ
H�A�Mw
DADpv��!�v���v���v���v���v���v���v��w��$w��8w��Lw��`w��
tw��
�w|�
�wx��wt��wp��wl��wh�xd�x`�(x\�<xX�PxT�dxP�xxL��xH�uHh�x��	�x��	�x��	�x��	�x��8y���O�A�A �{
ABAxCBC���dDy��e�B�E �E(�D0�D8�G@r
8A0A(B BBBDF8A0A(B BBBH�������y��(�y��XE�D�D n
DAH(�y��LL�D�J bDAG��8z��fK�D�H �l
DBGCAEG���Tz �(hz�`E�I�G z
DADH�zP�F�B�B �B(�A0�A8�DPI
8D0A(B BBBH�z$�WH I
A`�zh��F�H�E �B(�I0�H8�JP�
8F0A(B BBBCm
8C0A(B BBBG``{��EF�B�B �B(�A0�A8�DP�
8F0A(B BBBBD
8C0A(B BBBHH�{��sF�B�B �B(�A0�A8�D`�
8A0A(B BBBD|��$$|���E�G� I� �
AAL|��&E�`h|�� ||��E�L0[
AC�|�9Y�V
AD��|4�O�|p�O�|��Q,�|��CK�A�D �fDBD���,,}���CK�A�D �eDBE���(\}8����E�A�D@w
AAE$�}���EE�A�G nHA�}�	�}�	�}��	 �}���E�G j
AI�~����F�B�A �A(�D0k
(C ABBGK
(A CBBEK
(A CBBEK
(A CBBEH
(A CBBH_(C ABB�~���
4�~����.A�A�D \
CAJ�
CAF8�~�F�B�D �C(�D0G
(F ABBK0,8����F�D�D �D@J
 AABH8`�����A�A�G0o8]@DHIPK0T
DAA0����F�I�F �DP�
 AABF0������F�K�A �GP�
 AABG�`����l���,�x���OHBD�����X�����8M_$p���,E�N�Q �NH����������9a�S�Ȁ���:L�b
B�@���AP�k��t���:L�b
B�����A0����ML�@L����:L�b
Bh�,���bL�U(������TE�A�D @
DAA�������4ā`����F�I�H �a
ABEnAB8��(���xF�J�D �D(�D0z
(D ABBA48�l����F�D�C �x
ABH|ABp��� HP����yL�C
Ah��|��yL�~
FhȂ���&H]����&H] �����N�t
FP�����/E�i88�����R�D�C �G
ABEm
MBL t�0���E�Q N
AA������K��
AH��@���E�A�G ]
LJHG
IJNI
KHLGJF(����rJ�N
�Hr�V�E�(,����E�A�D X
AAD8X�l��hF�E�I �C(�D0p
(D ABBD@������F�B�E �D(�E0�DP�
0A(A BBBA؄<
��<�8
���E�C�D V
FAG~
AAHDHF,��
��8D��
��B�H�D �C(�G��
(A ABBAd��T��9B�E�B �E(�A0�A8�J�	]
8D0A(B BBBLG
8A0A(B BBBGd�,���B�E�E �E(�D0�C8�G�.
8A0A(B BBBIk
8D0A(B BBBELP�t���F�E�A �D(�G0�
(C ABBAW
(F ABBAH�����F�B�B �B(�A0�A8�DP�
8D0A(B BBBC4�H��'F�A�A �D`�
 AABF$�@��#8�\�� ,L�h���F�F�A �k
ABE$|���HE�C�G vAA��0��<��<���F�E�E �D(�D0�H
(A BBBI�����E�Y$����kE�D�L SAA<<�(���R�B�A �A(�D0�(C ABBA����|���������ATb�����$����.E�D�D TGA$���.E�D�D TGA$���.E�D�D TGA(4� ��|A�D�F0c
CAF`�t��CIh
GF<������A�A�G� I� u� I� l� A� Z
AAGD�����B�A�A �G� L�!|�!N�!d�!A�!o
 AABGP�\���B�B�B �B(�A0�A8�G� I� 
8A0A(B BBBC\����;(p����hA�K�D y
DAB0��(��?E�D�G \
AAJDAA4Њ4��~E�D�G @
AAND
AAJ(�|��<E�D�G b
AAA4����6$H����PE�C�G |CAHp�����B�B�B �B(�A0�K8�G`�
8A0A(B BBBKD�����8B�A�A �G� I� p� C� O� A� q
 AABD����4�|��~E�D�G @
AAND
AAJP�����H�h�<��aE�}
FT0�����PE�D�D X
GAKUAA(������E�O�R �
MDL�$�� ��$���N��
�LL� ��$��	 4��$��yJ�I
�ML�X�%��	Tl�%���B�B�B �A(�A0�G� I� s� C� g� D� �
0A(A BBBE4čP(��qA�A�D R
DAC]
DAN���(��#���(��.B�B�B �B(�A0�A8�G� L�@L�L
�LI�Mh�LE�L��LP�Mi�LB�L�
8A0A(B BBBIv�LE�MK�MS�MU�L_�LI�Ma�LA�L��LI�Mj�LA�L�
8A0A(B BBBA8܎4���F�B�A �A(�G�L
(A ABBEL��5���F�B�B �B(�A0�D8�D�O
8A0A(B BBBBh�<7��>Ht8��d7���O�A�D �K
ABFLABI��� ���7���A�G�q
AF0�d8���F�D�C �DPh
 AABC��:��> (��:���E�M �
AE@L��;���F�B�B �A(�A0�DP�
0A(A BBBF,��4<��{W�A�G H
AAGG�����<��'Ԑ�<��-\P8��<���F�I�I �F
ABGi
ABD(�,=��AJ�k�\D�`=��F�B�A �A(�D0\
(A ABBH�
(D ABBED
(O ABBH��>��	 ��>��FE�]
FV
A ܑ8>��FE�]
FV
A�d>��#4��>��E�J�D E
DACR
DAIL�X?��E��
]l�X@��'H^��p@��!J�N�D���@��@F�B�B �A(�A0�G��
0A(A BBBA$�|D��TE�D g
AGZAL��D��F�B�B �B(�A0�A8�D�
8A0A(B BBBG`�tG��4t�pG��aF�J�I �D(�D0v(D ABB���G��AJ�i�Dȓ�G���F�B�B �A(�A0�G�3
0A(A BBBB �dI��MJ�W
AdA�4��I��-H d L��I��EJ�W
A\A�p��I��#���I��0���I��LE�A�D o
DABFDA̔J��QJ��H�LJ���F�B�B �B(�A0�A8�D`�
8A0A(B BBBE 4��K��MJ�W
AdA�DX��K��F�A�A �G�a�F�K�A�f
 AABD ���L��EJ�W
A\A�ĕ�L��YH@F
B<�0M���A�A�D��
AAIf�J�X�A�$��N��0TW<<��N���E�A�D J
DAGF
DAEXDAL|��N���F�B�A �A(�D0o
(D ABBJF
(D ABBA@̖hO���O�B�A �A(�D0m
(A ABBFX������O��($��O��hF�A�A �n
ABGPP�P��s]�E�D �I(�G0M
(O� A�B�B�ID(C ABBD����@��@P���F�B�B �A(�A0�D@-
0A(A BBBK��Q��^��(R���4R��#MI<(�LR���F�B�A �A(�D�
(A ABBHHh��S���F�B�B �B(�A0�A8�DP�
8D0A(B BBBJ`��pU��ZF�F�B �J(�A0�A8�DP�
8A0A(B BBBFN
8D0A(B BBBM$�lV���E�z
A`
HY
G@��V��HN(X��V���F�A�D �wAB4��`W��F�A�D �J��
 AABA��8X��(H_4ԙPX��E�M�G �
HANHHA�8Y��4 �DY��gQ�A�G u
J�A�GDAA8X�|Y���B�B�A �A(�D`�
(A ABBB�� Z��KK^
GZ$��PZ���E�F�Q �CAܚ([��NE�b
IY@��X[��	F�B�B �A(�A0�D`�
0A(A BBBFT@�4d���F�E�E �E(�D0�E8�DP[XB`LXAPD
8A0A(B BBBF@���d���F�B�E �A(�D0�G��
0A(A BBBHܛ�h����h��,\O��h��mHd4 ��h���Z�A�H �YABA���V ��� X�li���E�JPW
AI|��i��~E�_��Ll����Hl��7E�i
BF0̜hl���F�K�A �J�|
 AABDL�m���T�E�D �D(�G0N
(C ABBBD(C ABBD����(P�dm��LF�D�H �h
ABC |��m��iE�D0Y
AA���m��	,���m���E�A�D@�
AAK4��n��mF�B�H �I(�D0I(A ABB<��n��F�B�A �A(�G� I� �
(A ABBK(\��o��SF�A�A �GABH���o���F�B�A �A(�D0V
(D ABBCH(F ABBPԞ p���u�E�A �D(�G0m
(A ABBGL
(A ABBAG����T(��p���I�E�B �D(�D0�g
(A BBBJH
(A BBBAG�����`��Dq���O�E�E �E(�D0�C8�DP_8A0A(B BBBF������HP������L��q��?F�B�B �B(�A0�A8�G��
8A0A(B BBBAP4��s���F�B�B �B(�A0�A8�G� I� N
8A0A(B BBBJ\��u��5F�B�B �B(�F0�A8�G��
8A0A(B BBBJ��A�Z�A�L��x���F�E�B �B(�D0�A8�G�

8A0A(B BBBCP8�,{��?F�B�B �B(�A0�A8�G� I�!�
8A0A(B BBBAd��}���W�B�B �I(�A0�A8�D@M
8F0A(F EBBCD8C0A(B BBBH�������`}��Sd��}���W�B�B �I(�A0�A8�D@M
8F0A(G BBBED8C0A(B BBBH������p��}��3�� ~��K��\~�� HP
A��`~�� HP
AТd~��'HQ
GF�t~��!HQ
A��~��$E�^(��~��HR@��~��$E�^\��~��HIt��~��'HQ
GF���~��3���~��'HQ
GFȣ��ܣ��HN���S�\��5X����=F�B�B �B(�A0�A8�G��
8A0A(B BBBCY�U�V�A�Hx�l����F�B�B �B(�A0�A8�DP�
8A0A(B BBBCPĤ ���\K�E�D �D(�G0M
(O� A�B�B�HD(F ABBA����X�,���IF�B�B �B(�A0�A8�G��
8A0A(B BBBCr�M�P�A�Lt� ��� F�B�B �B(�A0�A8�G�4
8A0A(B BBBELĥ��F�B�B �B(�A0�A8�G� 
8A0A(B BBBA�@���AL(�|����F�B�E �B(�A0�A8�K�w
8A0A(B BBBCx�,���L��(����F�B�B �B(�A0�A8�D�?
8A0A(B BBBE,ܦx���uO�C�F H
AAFG��,�ȋ��fO�C�F p
DACP��L<����F�B�B �B(�A0�A8�D��
8A0A(B BBBD��؍��L��D����F�B�B �B(�A0�A8�D�f
8A0A(B BBBA(�����GE�C�F l
AAD�����v0�$���vD�����FX�̐��6l�����6`��$����X�I�E �A(�A0�~
(A FEHFG
(A FEJCA(C BBBF����������3������6�ؑ��3( �����E�H�I@�
AAH4L�Ȓ���F�A�A �G� I� �
 AABFH��0���LF�B�B �B(�A0�A8�DP�
8C0A(B BBBJHЩ4���LF�B�B �B(�A0�A8�DP�
8C0A(B BBBJ,�8����F�A�A ��ABL�Ȗ�� `�Ԗ��W$t� ����Y�lK�P�SE���ȗ��LQ�dK�������a̪X���00�t����F�A�A �D@�
 AABG(����sE�D�G s
AAK(@�d����E�D�DPs
AAFl�ؙ���HPp
H��\���HU��d���HIH��l����F�B�E �E(�D0�D8�G@�
8A0A(B BBBJ����* �,����E�D0c
ACX<�����F�B�B �A(�A0�DPx
0A(A BBBHl
0D(A BBBE��l���9J�iE�(������QJ�A�G zAAB��H�ĝ��xF�B�A �A(�D0E
(A ABBGL(F ABBT,������X�B�A �A(�D0v(A ABBD����H0����o(A ABBT�������X�B�A �A(�D0u(A ABBE����H0����o(A ABBHܭ���ZF�B�B �B(�A0�A8�D@�
8D0A(B BBBA4(����bE�A�D w
DAJH
DAA(`�T���KE�A�D w
DAAX��x����O�B�A �A(�D@@
(F ABBFM(A ABBE����P@����h������R�J�E �E(�D0�I8�DP-
8A0A(B BBBBl
8O�0A�(B� B�B�B�LPT������F�B�B �B(�A0�A8�G� I� V
8A0A(B BBBA������HHe
CW(ȯ��WE�A�D JAA(� ���\E�N�D k
DAI �T���T4�P���Ke�B�B �E(�D0�D8�DP�
8A0A(B BBBDW��������H���w0������tN�A�M
AAH��C��԰���HRL����F�B�B �B(�A0�A8�G� I�!�
8A0A(B BBBF<�ب��aK�P
AHX�,����F�B�H �B(�D0�A8�G��
8A0A(B BBBD@�����F�B�B �A(�A0�D@x
0A(A BBBH�����������aD\���aD\,�8���aD\D������X�,����l�Ȭ���D��d����F�B�B �E(�A0�D8�DP�8A0A(B BBBHȲ���.F�E�E �J(�A0�A8�G��
8A0A(B BBBET����=P�B�E �E(�A0�A8�GP�
8A0A(B BBBJL������Ll���.F�E�E �J(�A0�A8�G��
8A0A(B BBBE��ȱ��&г��&����&�����6�H���6 �t���64�����6H�̲��6\�����6p�$���6��P���V������F��س��V��$���f{Mش|���f{M�Դ��VzM4����bA�A�D {
DAJH
DAA(D�P���AF�A�G gAAI��4p�t����Z�F�I �]
CBEXFB������A,��8���E�R
B�E�J�K���
A����3D�D����F�M�P �C(�D`WhApNhD`i
(A ABBA4H�����PJ�D�G _
FAEGAAA��4������PJ�D�G _
FAEGAAA��������*̶ظ��E�L�ܸ��HI���%����E�JP0�����O�E�D �C(�D0L
(A ABBGL
(F ABBAd����@��p����F�E�E �D(�C0�D@I
0A(A BBBDȷ����HQ�Ĺ��E�J��ȹ��E�L�̹��E�L4�й��HI8L�ع���F�E�D �D(�D@I
(A ABBJT��l����F�B�B �B(�A0�A8�H��Q
D�~
8A0A(B BBBE8�Ի���F�B�A �A(�D0�
(A ABBI,�x���QK�D�A �zABC���$L�����)E�D�G IJAt�����#E�]��ļ��HI��̼��,E�f4Ĺ���F�I�A �A(�\
 ABBF��H����q��(�,����E�A�G`�
AAHD����NX����&l�(���3,��P����F�A�A �p
ABEH������vB�B�E �A(�D0�w
(A BBBD^(A BBB(���>B�D�A �sABH,�����-F�H�B �B(�A0�A8�D@%
8D0A(B BBBF$x����7A�D�D dDA,������F�A�A �g
ABFLлT���F�E�E �A(�A0�~
(D BBBF�
(D BBBNH �����F�B�B �E(�D0�C8�D@m
8D0A(B BBBD$l����fE�A�D YAA4��0���E�A�D T
DAEF
DAE̼���HQH�����F�E�B �E(�D0�C8�DP�
8C0A(B BBBH$0�$��eE�A�D XAALX�l���F�A�A �N
ABGH
ABEP
ABEHAB�����\HsĽ���ؽ���ATf(����dB�H�D �
ABH4����f�A�D ^AAE��H ��`��T����iHNl����	�����34�� ���E�A�G b
DALJ
AAA̾���2E�P
KM��������3TS���3X,�8��Z�B�E �J(�D0�D8�IPY
8P�0A�(B� B�B�B�BP������8�����}F�B�A �A(�D0_
(C ABBA\Ŀ0���F�B�B �A(�A0�a
(A BBBDA
(C BBBFA(F BBB$�p��VHM$<����TE�A�D GAA<d����|J�D�D v
CADXAAF��C ��@��0���O�A�A �D0o
 AABHD CABF���L����F�G�B �B(�A0�D8�G�	Y
8A0A(B BBBH8�\��qHPc
AT����sHPe
A\p�$���F�B�B �B(�A0�A8�DPj
8D0D(B BBBD`8C0A(B BBB�������������0����LE�I�L [
CAGDFA@����_HNX����(l����?F�I�I �cAB������HP�
A,��p��{F�A�A �M
ABH �����mJ�@F�H� ���yJ�\
�JAG�8,�h���E�A�D 2
DAGF
DAEh����A�O����(����NF�D�C �W
ABIt��0���O�E�E �E(�D0�D8�D@z
8A0A(B BBBB�8F0A(B BBBD������H@������l<�X���F�B�B �B(�G0�A8�J��
8A0A(B BBBHT�G�Y�A�T�F�Z�A�������H0u
A`�����B�J�D �D(�D0B
(D ABBE�
(D ABBEG
(D ABBH$,�H��dA�G� I� L
AAT����9E�_
LDt����9E�_
LDH�����9F�B�B �B(�A0�A8�G�z
8A0A(B BBBG$����LE�g
TD
AF@���
X�B�A �A(�G0�
(A ABBAb����<L����E�L�L b
CAEs
EAG^EAH��(��F�B�D �A(�D0r
(D ABBDD(A ABB8��|�$F�A�D ��
ABB`
ABED�p�_F�D�A �
ABNY
CBB{
CBH@\����E�A�D �
FAH\
CAH^
CAF4�����O�A�A �
ABE���� �����K�TA�H���h��d�H�0(�\�\J�H�L0UAAK��H0��\����N���@x�L�&F�B�B �A(�A0�D@�
0A(A BBBH��8��P��$�9F�B�B �D(�H0�NPE
0A(A BBBAKXV`HXAPT$��kF�F�B �A(�D0�G�{
0A(A BBBCL�W�H�C�$|�(�BE�D�D rAA��P�DL�����F�B�B �B(�A0�A8�G�}
8A0A(B BBBD8����}F�O�I �H(�DPG
(A ABBA(D�P����E�J�M0M
AAELp����wF�L�B �E(�A0�D8�G�
8A0A(B BBBEH����F�I�B �B(�A0�C8�G��
8A0A(B BBBGX�h���dF�B�B �B(�A0�A8�D���B�M�A�m
8A0A(B BBBKHh�|���FF�E�B �E(�D0�A8�D@�
8C0A(B BBBF��������x���	��t���	D��p����F�A�A �U
ABHN
ABGu
ABH(<�����GE�K�K X
CAI0h�����F�D�D �F0h
 AABH������H K
E\������F�E�D �C(�D0C
(D ABBFT
(D ABBKN(D ABBH�����IF�B�B �B(�A0�D8�F`�
8A0A(B BBBF4d�����F�A�A �DPi
 AABGH��8���F�B�B �B(�A0�A8�D@f
8D0A(B BBBK8�����hF�B�A �A(�D0x
(D ABBAH$���#B�H�B �B(�D0�C8�Mp[
8A0A(B BBBIp����'E�W
DF(����3E�C�F@�
AAG4����TE�G�K a
CALDFA8��@���F�B�A �A(�D@z
(A ABBB80����}F�O�I �H(�DPG
(A ABBAPl����F�B�B �A(�D0�Gpu
0A(A BBBEbxP�QxCp$�����?E�D�D oAA�����@`������F�B�B �A(�A0�H
(A BBBE~
(A BBBKF
(A BBBC`��
��E�W$|��
���E�A�D �CA �����*H u
Cc
M,������F�J�A ��
ABH0����rQ�A�G y
A�A�LL��4,�h��!E�A�D0Q
AACT
AAJHd�`���F�B�B �B(�A0�A8�DP�
8D0A(B BBBI<������F�J�I �A(�G�
(A ABBEH��t��F�E�D �A(�G�O
(A ABBDy�J�_�A�(<�H��tE�A�G�_
AAAh�����H|8����#B�B�A �A(�G0�
(D ABBG ����*D v
Fc
M���������(��sT �����F�E�E �D(�A0�D��
0A(A BBBB@�S�K�H�x���oH�D
LH��l��EB�B�E �B(�G0�D8�DPQ
8D0A(B BBBHX��p���F�B�B �B(�A0�A8�D�w
8A0A(B BBBE��S�K�D�L@�����B�B�E �D(�D0�m
(A BBBKl
(A BBBA@����B�E�E �A(�A0�DPV
0A(A BBBH������*B�B�B �A(�A0�Z
(D BBBD�
(D BBBDD
(A EBBBy
(D BBBEG(A EBBHX����tF�B�B �B(�A0�A8�Dp�
8A0A(B BBBBL���"���F�B�B �B(�A0�A8�D�

8A0A(B BBBJT��P'��EF�B�B �B(�A0�A8�G� L�@L�Bz
8A0A(B BBBG(L�H)��YF�D�C �_
ABA(x�|)��yF�D�C �{
ABE8���)��<F�B�G �D(�J��
(A ABBI8���*���F�H�A �G(�GpY
(A ABBD�8+��H�
NQ<�8,��AL�iX�l,��8l�x,���F�B�E �A(�A0�}(D BBBH���,��F�B�B �B(�A0�A8�D`�
8A0A(B BBBHL���-���
F�J�B �B(�A0�A8�G��
8A0A(B BBBH8D� 8��DF�A�A ��
ABAV
ABG(��49���E�D�G0}
AAA(���9��GE�K�K X
CAI���9��H K
E\��@:���F�E�D �C(�D0C
(D ABBFT
(D ABBKN(D ABB0T��:���F�A�D �FPY
 AABB0��,;���F�A�A �Dpi
 AABG���;��	(���;��\E�F�DPE
AAA(���;��_E�I�DPE
AAA(�,<��%H<�H<���F�B�E �B(�A0�C8�J�l
8A0A(B BBBE���=���H����>��0���>��F�A�A �L0�
 AABJ0��h?���F�A�A �D0�
 AABG( �$B��\E�F�DPE
AAA(L�XB��_E�I�DPE
AAAx��B���H���C����C��{Hr��tC��	��pC��	��lC��{Hr(��C��\E�F�D@E
AAA(,�D��_E�I�D@E
AAAX�<D��{HrHp��D���F�E�E �E(�D0�D8�Dp�
8A0A(B BBBI\��(H��F�J�B �B(�A0�A8�G���H�P�A��
8A0A(B BBBH��L��	0��L��AL�iL�M��x`��M��%Ht��M��LF�B�E �B(�A0�A8�G�d
8A0A(B BBBJ���N���H��O��0��$O��F�F�A �L0�
 AABE0$�P���F�A�A �D01
 AABG(X��R��\E�F�D@E
AAA(���R��_E�I�D@E
AAA��S��xHk,��xS���E�A�G� L�(�
AAA��T��$H[� T��/Hf4,�8T��UF�D�F �U
IBHWCBd�`T���E�w���T��E�W���T��AL�i0��U���F�F�A �L0�
 AABFH���U��F�B�B �B(�A0�A8�D`�
8A0A(B BBBA@<��V���F�A�A �s
ABBS
ABJM
ABHL���V���F�J�B �B(�A0�A8�G�a
8A0A(B BBBH$��d^���H V
B[
Es
E8���^��hF�B�A �A(�D0x
(D ABBA4�0_��H�<_��P\�8_��GF�B�B �A(�A0�o
(A BBBF�
(A BBBK0��4b���F�A�C �D��
 AABH(���b���E�A�G�
AAB��c��xHkt(��c��F�B�B �B(�A0�A8�DP�
8A0A(B BBBKD
8F0A(B BBBED8C0A(B BBB���d��%���d��
���d��=���d��
(���d��=F�A�D �nAB<��d��IF�B�E �D(�I0��
(A BBBF \�g���H \
D[
EH��tg���F�B�E �E(�D0�A8�DPb
8A0A(B BBBI0���g��jE�H�L 
AAFGAAL�4h���F�B�B �D(�A0��
(D BBBD�
(D BBBFP��i��mq�r
E(l�j��LF�D�D �s
ABD8��<j���F�N�A ��
ABCN
ABG\��k���F�E�E �E(�A0�C8�G�C�r�F�B�I�k
8A0A(B BBBA,4��k��lR�H�A �~ABD���4d��k���F�A�A �U
ABHv
ABG��Hl��KH~���l��HIL���l��4F�B�A �A(�D0�
(A ABBA}
(F ABBA$�xm��kV�c
G]
AL�$D��m��TE�A�D GAAl��m��5�� n����n����n��8��$n���F�E�A �A(�D0O
(D ABBA`���n���F�B�B �B(�A0�A8�G`�
8A0A(B BBBIM
8F0A(B BBBD@`�r���F�A�A �G`w
 AABFShPp^hA`��pt���H�
]P��u�� ��u��bE�I@v
AK�Tu���N���H�v���F�B�E �D(�C0��
(D BBBKO(A BBBh��v��|��v��<���v���O�D�D �a
ABEC
ABAG���<��$w���O�D�D �e
ABAC
ABAG���P��w���O�B�D �D(�G0k
(C ABBEF
(A ABBAG����<d��w���O�D�D �e
ABAC
ABAG���P��@x���O�B�D �D(�G0k
(C ABBEF
(A ABBAG����<���x���O�D�D �e
ABAC
ABAG���8��x��8L�y���X�D�A ��
ABFWABF������y��g(��z���E�A�G0N
AACH��|z���F�H�E �B(�A0�A8�G`�
8A0A(B BBBI,��|���i�D�D �JCBA���D� }��VLX�l}���F�B�B �L(�A0�A8�G�C
8A0A(B BBBDH������F�E�E �E(�A0�I8�I�	�
8A0A(B BBBA<��@���jJ�C�G U(S0A8H@S D
AAAG��@4�p���E�A�D �
JCNL
HHLDAA4x�<���bF�D�A �D
ABFAFB��t���2������������>E�]
N�����������>E�]
N$���8�܃��L�؃��UE�K<h�����E�A�D a
CAAI
CACACA0��l���rE�D�F S
AADDDA@�������F�B�E �A(�D0�D@�
0A(A BBBD� �d���.F�E�B �B(�A0�A8�G���R�I�N�I�N�B�B�Y�m�G�B�B�I��
8A0A(B BBBF��D�S�A�4������XMS C(C0C8C@CHCPCXC`ChCpS��$�����0����F�B�B �B(�A0�A8�J��c�I�I�I�I�I�I�I�I�I�D�]��
8A0A(B BBBE��I�H�D�_���B�T�A�4��T���TMN C(C0C8C@CHCPDXC`ChCpS���|���-F�E�B �B(�A0�A8�G�O�[�O�B�`�N�V�A�P�^�K�A�L�N�W�B�L�N�W�B�L�Y�K�A��
8A0A(B BBBB��D�H�D�_�L�c�L�A�Z�]�O�B�2�B�T�A�4������TMQC C(C0C8C@DHCPCXC`S�ܚ���,�x���@�t���$E�U
FC`�����t������N��I��� ���7H`
H��D���LQ�gH���x���HIH������nF�E�B �B(�A0�A8�D`�
8A0A(B BBBC0�����%H\8H�����{F�B�I �D(�D@[
(A ABBFT������F�B�A �A(�D@
(A ABBEHHPMHA@�HHPMHA@��8���8��4���;E�D�G T
AAJ\
DAG,�8����E�p
KD\L�����>F�E�E �E(�D0�D8�D@�
8D0A(B BBBFD8D0A(B BBB ������'E�K �
AB(�������E�C
W�����
A,��8���YK�D�D �}ABE���,�h���@�t���9HZ
F0\������F�A�D �D0�
 AABA��D���-HT
LD\��T���F�B�B �B(�A0�A8�G�5�C�O�A�Y
8A0A(B BBBH<�����F�B�A �A(�G� I� �
(A ABBFP�t���;d�����;0x�̴��rF�A�D �G@�
 AABKp������
F�B�B �E(�D0�A8�G�
x
8A0A(B BBBC��
A�
P�
A�
�
A�
P�
A�
 �d��SH E
AL<�����F�E�E �E(�D0�A8�G��
8A0A(B BBBE����������)J�T�������������	��������YH0F
B0,�H���F�A�A �D@�
 AABG `����yE�D0a
AE8��@��F�B�A �A(�D`�
(A ABBD����C8�P���F�A�A ��
ABAD
AEF����$8$����F�B�A �A(�DPU
(A ABBG`����(t����
Q�A�D �K�D�,��d���F�A�A �M
ABA8�����F�B�B �D(�A0��(D BBBL�8��F�B�A �A(�D0q
(D ABBHr
(D ABBA,\�����F�A�A �M
ABA��h��K\nH������F�E�B �A(�A0��
(D BBBID(A EBB���ITm(�L��mF�D�D �ZAB4����4H����mJ�D�G C
CADDDAA�������>(������W�D�G pCAJ����t��$����-E�D�D SGA$�����:E�J�G aAA$����8����L����`����Ht����"B�E�B �E(�A0�C8�DP�
8A0A(B BBBI0�����oL�F�D oAAI��H ������6���8�(��hF�E�B �A(�A0�I(I BBBX�\��Cl����Q_�`
AP������HK(������E�A�D d
CAF�D��>��p���B�B�B �B(�A0�A8�D`�
8F0A(B BBBB}
8A0A(B BBBIH
8A0A(B BBBFi
8D0A(B BBBBLx�l���F�B�B �A(�A0��
(A BBBAA
(C BBBF0����E�A�D 
DABFDA(��x��%E�]R �AD
IT(�|��6\�B�E �E(�D0�D8�GP�
8C0A(B BBBI@��������d��"8�����}F�B�A �A(�D@u
(A ABBG8����_F�E�D �A(�D0x
(A ABBF4����wF�A�A �B
ABKYCBD�0��CX�l��Kl����S$�����4E�A�G ]DA\����F�B�A �A(�D0y
(D ABBH_
(D ABBHY
(D ABBF���HK$ ���oE�T
GY
GR
FH��	D\��x\�D�D �k
�A�B�NP���C ���AAB�@��T�<���c�B�B �B(�A0�A8�D`B
8D0A(B BBBBx������ ����E�D0V
AH4��H�� HPd��x�������������������� ����,(��"HVD@��XL��lH���D���@���L���X���d��	�`��	�\��	X��	 T��	4P��	HL��	\H��	pD��	�@��
�<��
�8��	0�0��_B�A�A �G�m
 AABD@�\���F�B�B �K(�A0�D@�
0A(A BBBD@<����F�B�B �D(�A0�G�h
0A(A BBBJL�d���F�B�E �E(�A0�A8�G�R
8A0A(B BBBIP����F�B�B �E(�F0�A8�G�
8A0A(B BBBA$$��E�n
E]
A4L��WF�H�D �D(�D0s(D ABB���E�NP���F�B�B �B(�A0�A8�G�
�
8A0A(B BBBJ���HE�b
IW8��kF�E�D �C(�G@g
(A ABBJ(P��pE�A�D L
CAF$|(�RZ�YE�H�KA�4�`�}F�G�G �a
ABHyAB ���=J�d
BFA���	��,��@��T��h��|��������HK����E��
I�X��T�P�L�,H� HPHDP��B�B�A �A(�D0G
(C ABBG\(A ABB���#������,���AK�D�D �_ABK������3	�3$	@�C8	|�kL	��2`	��N�{G�h|	��O�B�B �I(�D0�r
(A BBBGW
(A BBBBl
(A FDBGV�����<�	<��K�E�E �A(�D0�^(A BBBA�����(
��HKX@
���O�B�A �A(�D0�
(A ABBJD(F ABBA����F0�����
(�#MK(�
@��E�gO NAD
B�
��!HX�
����E�S(��<��P��d��\HL|�$�4�$�P�$8�l�F�B�A �H(�DP]
(A ABBH@�@��F�B�B �A(�A0�DP�
0A(A BBBA8��@L���F�B�B �A(�A0�D`�
0A(A BBBI@�t�tF�B�B �A(�A0�DP7
0A(A BBBA���1J�\�H���uF�H�E �E(�D0�D8�DP
8D0A(B BBBG<
���GNU��?�? �)_hv�����
�
���
�3�
Nd|�������@h�6HZ�u������@��*AVj}��������'>M`
X
�s�s�s�s t�t@�
��)�)���o`H�(*
�t��)P[�i�90	���o���o�8���o�o-���o3p�)p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p�������������� 0@P`p�������� 0@P`p�������� 0@.1.3.6.1.2.1*�0���X���*'��3�?�?�K�K������W��]�h��l�s��v�}��v��������������]��4���������������#�/�=�I�Q��h����_�:�5~�6��7A�4U�/Z�:f�;j�.$��
�����1��	2s�3�	������������	���	�.�-|�,^�jn�
\��[�����������
��
I�0������������������	���
������	������	��	r�#��%�&q�
'R�(��
��U�	|�9��u���*�	=�
>�@�A�B3�C�F��X�G�HA�I��J#�K+�L�M4�	N��O>�PN�QV�
R��Sd�
T�Uo�V|�W��Y�Z��]��a���������
�����	g�

������V �=P�=H�=�=X�=�=0�=�=��=8�= �=(�=�=@�=��=�>�	>�>�>�>�%>�����,>2>7>=>@pC>(4H>O>U>Z>����net-snmp@��^
_
_
(_	>_Y_	 o_ �����_
�_
�_
�_
�_
 `
0 "`
@0����V�	ddd�d
 		�9�9









J�#�Q�U�]�d�l�s�{�������������������������Ȋϊ׊ފ���������fe"�����GA$3a1@�
�GA$3p1113�?��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113�c,�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�?T�GA+GLIBCXX_ASSERTIONSlibnetsnmp.so.35.0.0-5.8-3.el8.x86_64.debug ����7zXZ�ִF!t/��$�]?�E�h=��ڊ�2N��M,�s�w*�~l-Mvx;�J13Q)A��,�_no�r��%@S�P�.��-�(=�+;�uP��<�[J
��
v�
b��W.�Z?R��A�@��Rr��Mj4�T�%��Y��Q�޼��1��@L�bt���q���Q�k���r�=ȁ���,�]���c?Ƒ��C�ϔ�����AӢ^�#wP���d�;-�8��zR@�BNcR׿�h]�@!F_hї�_!�.13���s_�s1���sW"❪��.����R��-"�9�߼�ۤoO�F��ڞ���؍�r�WCN�9ۈ%�̉ ���!�*3O�@�}�QqZ)U�f7��'����h��:M�$&,C�nՊ:7��N��y�r�yLo������\�%�v����ǵ��6���Dq���w����Ko��R��2����i���¹��Z��M�\j�a�>2&��ٔ�<y�+9�<�ά:�5u6J>e��7���I���n�Sc�2����*��
x�$f߈ˠ���<<e�T�����:��(�%���gzp�\���,FP��!=�j}2l"�b�b�b0UY#69�y�e^�b� �-��)���ۨq'ol0���eY^\
�#aLSI��A�"�3��B�Br�AVx����no��]u��]�P}.��h�	���ѕ�@N�z��n����!`pdu=�u��:E�Fn%��SG/�yf�5�zQ�Rኇ7Uo�k&q�]��cؖ���<#=���}꼘��5�*��F�
sGZVm��g��D�N_a5 ��7�-n=��Ҙ�R�@�0.-���v�ʱG*JE����z6�`WD�bs�Ѫ�{@vr�͑[x�eD{�(�I����1��{�d�"yP֭S̨�p����%�%@T�Vm�h�tY�D0���Rrf��]k�Q�R�t�@<n� ��M�T3ݼ�rb�u��J�6�w��1��)<n�`TJ�8����q�r��qi��	��v<�dU��I�6~_uAF�~o\9�l�y�{p�zvr�a&�����f�a.k�:�+=:�Xf4-J��+��&��	�04~"�$LK$���ȯ4a?t���ac	9�a�Y���l5���O��ohm
^�k�,��%�,Z�V̦�ʖ+��R�Կ���}��2��2�v���X�|�d�Њ��횭Qr�d1@��*���
5�bԒ-�x���<��.x�`z@����xD(h?�XL����3��Z��ͮ�÷H7��.i:f����&V|�aF/�h��$��-�t�&���{p�J�(�e���A�����B?,p.�\�q�I�h^u�ڇm�^��SV�]�Z��—�$O�
�\H:E,�z��\�����EL*��Fx_6�qx��=z�s�s����#ec��0�%�0{4��`w�E�GT�}3��goZI=�{Y��0�ot��cP:1T�����Z@5�Z����s�8Г�)���V!��C5�����q7۩�G���+ci�������@�!�-
0Y�$P��:�h(�I��W�z��.���b�-���Vs��{s;>�6��1?�f0T}���W��Ϟ}��7�Pg��,ܴҳ�@�*�e�ᴊ����V��f'�E\<���ϯF�W�j������B� �n�]��l�N���W�P�؃�ҋ�9f���0����|�V��֘�2�Z"�@����C��^3�U<���ڸ;�jjN,Sf��R�4���鞧�W���5*���� �'l��q?�Mm�46-�T�VtrZ� �����O�<7���� �w�B ���p
K�(랟�FSg6����bG՜?���7�0DZ|�/��U9��7�t�1Aص|?�O��@Q	�k���@�L�S��<[&���;���1G"�1������%����6�<�:��Z'��B5�;U��gV���>Ө�+�����d'M��p��]G�G��=�8��b�%s����n���3�=ټ�bmp
H����]�K����
��^P���]bz���F;�,16k���ӑ��^�����z��d�4�OiD�Q2'�u��(��X^8`<Q���cQ)�z���#q
Ì�{���qia��5�԰����'�9�E�j�B�e>�l%~��@w�~�3����-Y+V�����Š�)���e�Yf#�-��
��H���$A��:3�ϴe{��T�U��b������_���<�a	�[X�"�b�l��2j�"c����~5�s�&�G\�l��J �ei�Ẳ9h�c���i�n��k{�/� ?�Ht�J��A��+�\k�Tͯg���(p��\?PD�Rc�֪2L�Dn5n��}P��k�L6��4v��(%Ř��*�!�Gu�$��+�<��CL�I�[~���z�B�I��󑟲N���Q�O����1W�Q��Z�G_�^�[6��j�����e:���Ù�+�X�X��ۿ��"�-�D[ϑ��ss�C�8-��.��E�Z�5�$>b{ݯ�{0���68�yFG��^�x�&�p�<�*d��_(�ӽw�f�7$FͯVʹ���r���*n@���j/�ƾ��ͱ����I��M今��Yv��e��=�e �y�~����P��DB��}�<Z�L~'�|�I���k���0�'�:xRp	A���jʁ]�K*�Į��fw_�I-B.ȗ�01L�\�
=
�h�Ŗ�]p���%�wgKۢG�Qe�^�����"�����F�朄�����Rć�s�~�	�6��)���u=2ReM�q�>2{�7!5�J��c�h�g����D-��mR��;'߶O��0jz�@�Q>C��\��䙉ͣ%~ɸGR(�^��U���A����9>v=���ޝ>�o�Ÿ�`�J�C����kTH��t���*�}tJnnO�Q/�� ��In���)�����Ɗ.���m�(��<xZ���������3S\f���&��``���	�‡]P���YK��ںO���*%��10�3".&-m�#��O����[j�}�P$�b���:��S&f�~܍Tu ��Ӻ����zt�a� �t`�����%9[��@��]��i�*knB��@/@���M����Ts�uq�;��*g'�K(��_�=�1[�_]r^~=0˪TI��Z���=�O��j��3<A����KK(��M����r�eq$YF��qhβÝol���3�{��qZ=���T��]�<#e��y��k���{�E�^&�i@�ۍN����5q�}����굳��\;.�j�_�_1)�GXq�֧eN����U4_O�⦔b��
w��@f��o�����H��ɾr8�8��f�$��Yɘ-{XS߹��誾�Z�8���E$x��+��M�*z��}P�g*��9�-wQ�\~�m�:j����M�^���=��+����:��N��	Ѹ���rJ�a8���N�(��Ev�=~Q�5�㜠w�yШ���7ġ&���BIy�Qr�%���چ�f�|���@�ݢ�d����^Z6����:@����T�î�3��p���[
������j����u��V�<Y���MZ(�51:���r�!��H.�m��k�d��Q���ݑ��W/�Nj
�2h���ܟ�3ñF����=ǟ(!|��u���{L+�#|CC��f�3;��ݝ��^��Ԭ�I�G��%�e��4sBl�':�(-��H��P@��dp�6��^��a�C$gP�E���B��C����:�h�rP�ْSSMܣ�Q��N�����*��5^�����n>����L-u�'4)v��H�?)����U6�j� P��B�0a$y?wq�p�f3�
U"�P�&�%��x��ۢn��tЗ�d/�6�=ߞ?P0]���]�]�s�p׀�J���#6cPFұ���Enې�t�t�X^'�ԧ�x7Vlo��E(!g�lW��cM�%)dRVO�|��by{B���͐K�B�i����#E�
݉�[��BK��F�C��{���
����1� ;�efB=�m�x��w*(�ʛ���y���ixnG��3H�v�6ɳ�
�N�*���˅͌g�H�>�{F�����L�5�Me~��z��CJ��_[�!�Kar��wx3��=r�%lh�zr$ݙ����M=�K��f5��xK��`�z�8��[�+a�!A¾����Q��Z(�*{?#ape���G����J��Q���:�U�P���6;��X���s-�FЪ=��Y���|J�9�q��>�o=T��kL����9EE��X�cQ�[0?� �}_�ݮ+���Ŏ�-t�av��P�\bi�X��!W��ܪ�%��#n��,�N�}
�Km�ا#��ky�sE!)o(G�*��3���0�0
e�ȫո�/�0Ă�:_��F~O�Qc�Y���\}����i��ND�}��Fk�]f�� Z�S�
�����9���ߤ�ŕ�ȴb���#�'�/Fu(<����r[NWP��J�[����;���D��k['�(�Q�Ӥoh��T�!t��(A��	�m��	B-�p�P74��e���m��C��e���ۇ�!�/MO~��^�<%���ˏ
Y9'A�<��5vz�S����T�W%8������0{�{��3?�<�Aǖq�Z�t	|<�Z��Qa��(>m:����,b�]~`ZQ�ﲧ7t�`p��JI�)@����c��&Av,�P�o*v�wO��hz-U ϩ�D%�U�`�]�3��i,�CfsM$Ӳ2����Qu��O^=���ku.��}!���aP"^�`5B}�k%�rI�kdV��{�@��pí��R�#ug'������9X�ֿd9��������o76�ŝ#�U�&�����ѬP�
 R�l2��2�Lp����fo��)�b3�`�$�y�+�T�)CzJWK�	��]܅TL�4���j�ъ5�
N��}$ ����Y�~H&���S��Z|��aT���S�DN�
&�*�C�����H
_�$�l8����&�u���1\���?��3�櫶 ��H�:�'c�=Bx��ǯ���X/T�p���br�R,�.~�R��C���3�~I��$N��˾�ҝ0�e�k?�֣���l�#������
����x�̡�j/p"Ag~�@�³�5��Sl�j!���`L�_[M�fZ�j��N0��5CӮ�Q�'��ř�n�� �>��@[�;�r��"77�p����/!�b#n�oy1�����c�C]�
y��P���x+H�N�1[��a��Lʏ�J����"$L��m���� G���y~���4j��k7<����H��(�|�&WX�Y�
���k0��t�|��Ϫ����l�8��Ѫ�0�)J�ɓ%3R��az���i�엩�f�Nm��B�_tV)��N���C���
f�t��ċy�+�f�1��<y�mA~�|����w�[���B��E�N=�$)�����,���aN��Vr6�kӹԩ��D���nLN�(h}&t����kb�9t�}\�>u�K�'GDw��C4�NG�3f���+�W�y�@��$,A��ia�q�=�4ĭ�>7;�_��$v�M���r[φ|��	
�)
%̚�T/3���	���t7,9��f>Jz��D�j~�ٜg
+��?��u�m��H�LՌ��߼���D�nw h!>+�D	
�Ј&^P�u�G�H�Q��9l(K��`)�t��X� }��L<��wŭ2R�{�<��%<�`y�m�[�y�`�y�P��ǣow_8	�_�u��T�h4^�Dej��X'�%�z-aDI��R\l�h��<P�U7������ի3Ec��3<^g{�����Ǹ��h��N�k��ڋ�
��)f�����"�7e��F���@9v����Q�{F��������`1���iL'���`�E�2��c��+F2N(Q�DO�
���`����-�
�lzl�?�D=s�hDӽ��K�ہV�8�o(р:7���d�h�
heӌk����,s~D|�0?��A�4���c��Iā&'�$~w�|��	�H
���A:|6�q=��wk7vىoy��:�?���T���:��zʎ@��Uc��z7�����U&ݴ�T��s�y��}_[l�yy��W5#�%��y��$vj��{+�q!E��ejs��o���ý���?���`O�!en���Q�lە[�i�1��
6_+uYK��?CV4�an���XpB$T^�����p?���Nw%R�S���A���/�%V�j��xI #�V]�5U8^�D���I�ؘ��zc�n�ۤ�+���ki��A?��x���	r�	H,�1Lg�ӺĆ�L�VS������:�y=Q��cO�Y,�A�`]ʧ�[����~�h�������:?�N��l8f�E�V\B��J�I+�ZC�o��Ǫ�USn;�Iq��˽�@���D��{�:/�翅[��/��(��,=��_�L"�O0����5ü�5����W}d@4#����IY��t������{
�,p��y|a�	�=�I�u����3.�ިo�d���\�T>��)�:�f�����O0P��M?�����-lݙ�;{������D<�|� �����	s���0�I����B��osq�R	��|d�o�;� ����I6��1L�&�=���
��z8�7Ń�fSe��}	T-!�˱�'��̧��/H�b��#2�&a�N0s��iJ���H�u��
��Ej��<E�L1T��[��z̬��jc
�U���^�(���J��g�j��G
�2�-�Yj/2<!��xX
c��uA�K���*�I;���a�<&�6�WP1�ϯ�כ\�)0N;�xC|�$�X�ā���Ǒm@���8�F��ݺ����]�}$��-T7�Zl�FQ��1�Lc��L@I��p�\�`/[��S1����}��ۗ��k�(�k$�J;����iP����6Z�O�(�yb~0q�7
�D��g.�f���M��v�db�<>�=~����YW'�E�/�*������ӂ�=؊G�͵g4�$���fg[���)�vk��>���YS���0�,ډ	� ͥ�����?�����ֱ�.\y����W��k������X/Jt��8�/��ӏdUrI�eJ�o!_�D���wJ��9�+�7����QX��l�g��CF��sHm�:}�X9�³�ˁP�6�=PJ'w�]����…��?����t�^̊b;A��;�ͦ��rFY\ל�g��l���9�j�j�QT����k�_4բ�(�H�!
�&��
�V.c��!��w	8H��7tg�	W��* �����q�iE�{H��P��/I���T<
�R�<�Dt��^�r���9
$�{��?l�?[_�2 ����5,d�:��2g̏b�����w	Pwr��t��6-K��J)K�E��~�g2�J~~�.�ԡP"A=����+ϚAs
1��n�Kl}\�E�D�,����+9���s�!����n�*��E{�3�'�8�b��.��OϽ�u�L:!^Dh��e��0���T�'�e�O%c��Sb��'������:q]׳PSP��߷�|��3򓃔
���e浶G&Յd�.3C��	t	�
I�0B����Ѷ��@,�*��>��5���t�#,H��G��o{2�b���;��Mu�0�޳�fc�{<�/裵N?�wC+y1f<R�IoX�d��_��SA���!�â`��W�+�T���]<�"\���w^*�y��j~�8�mfG��������mt�+��PE?`A2�وA�l��N�V	��D��Fi?(�����|��	1��7OE0�˰���]��M�2%��N�](�'���R�<�?k��]͓n#B��H����a
�T���rw�.�����rȧ�Ag�1�iz�>��dy
�,��ċ#�^�#�l�q3{ŤĶ\B�+O^)�=���:�g^��3��J�3�	,Fz�lLm��:ЅTy�����NC E�N�4C!	4��q;O�h��cHI�?���^룜wpAɭѝ�kJ;P�Q�N%v
����[h����KѱH�,���b衿0Nk�z	�>��neC��&>>B����D��{B�Û1�H��!b�t2o@�9)�8[�8Z�if�<h����h�i=��.��r��W^\��˳�ߞ´��+�ߢ}�?��w%�����\7�XVS���+y�H1����U%� Zװ/)h(��T���D���82laM��=vG��*q���=�2�BSerӢ���*�w.�CD���%��>Qf��Iz�B�WT��3���*v����!�1J��3��b��н�CQ`=�c��Gې��S���EH=IT��U�ͬim�@
c�p鱟M޶���h�=0��"��	�6C���v|̌�o��+���߼�n��_#�(z��0aJL��/�Bc�%i"Q9��1��	��?�$�C$�O*�Y�Ѻw��"gPbP�4�̩��ύg5���b��[��KlfՏ�2>�›9�Ա[a�*�������6?e">�e7Lfp[�(-L��N�(�r�-ND�;� ��+q��2��haQ~�z�i��ʕ&���u4��N&�l�r����C�ut\Έ$�T�q�,2nK
"[�m��xxnD��������(,��%�j��B|«�ȳmH�ܳ;��J�ԅ!�R�q��OR��!��X�MN��A�{^��t��C�3�B���ҝ	��(��]�x2�"�-Z�%}�k��ea�:����U���3�b�}���sj���N�۽�@��R���8egS����?_���&��cZ�Ȳ�)�J0�O��_�h�isMpZV�m��x��,��)l|{���KC�S0T�"�Ia ��u����(��:���8u5���C��v9���\��a�c�Mu֌�Wޜ�ߑ��j�<�����{�'���]įv����9�E�ފ�/1��.���6����A����|�=��	�&ߙ8Uٰ?�)��,���ޅ�QyѼk�|�ۣ�}�x��0����o�Ԝij�5��ؗ��
���28��Ж���I���]��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�'((*(* �0H�H��t8���o--�E���o�8�8�T�9�90^B�i�iP[h@�@�c`�`��<nPP�<w0?0?φ}��
������̕̕�,�����P
���	��	 ��)�	��)�	� �) �	P �p�)p�	0���)��	P$�*
& � &*&
�L ��rv&

$*
0T*
�$4O
(lib64/libnetsnmpagent.so.35.0.0000075500001104500150405542510011750 0ustar00ELF>�R@�@8	@0Q0Q HWHW$HW$(- `W`W$`W$@@888$$QQQ  S�tdQQQ  P�td���$$Q�tdR�tdHWHW$HW$��GNU��<
����՘[ZR�,�ۚ��	�@`����	���q�'6������0�OH$2@"# � �4DF��AK����)��0�3f1€ �	q�@�*�p��)�� �2�)b�4�!�OL	2`X�@��
 �9%"�Q�l��%��0I�T��	�(a��GPTHx>BE@D�D�0��*��HȨ@J��C�0@1B	�� 	� .��	!
���� ) �A
L`c�DD�� `��@@X -X9�r0�5a3�DE� ���P��X1@=M�U``0
J�$!(	��PR@PRV�H��X6�@@P((�" �0�E��,²P�� �KP
P�!@"�R�$@ܰ(�2#H�(R%ZB$ ���IA��  G� @
@GĦ 
�D������H�� �`L2� ,!�P�%����������
 #'(*+-.0345689<>?ABEFHJKLMPRTUVY[\^_`acefhikmnrtuxz}~�����������������������������������������������������������������������������	

 "#$%'*+.13478:<=?ADEHJKLNRWX]_cfhklopqtvxz|�����������������������������������������������������������������������	
"#%&')*-/012469:;=>@BCFHJKMNPQRTUWXYZ[^`abcdfghilmnqstvyz{~�����ߨNJ�ugŦ;i<5n^�Y^T��E�g���ت�$ Q�}�}p�/��GT����Q~������E���ǔ���i�oJ�>�"A����,�<�r��)\��b�x�!w�k�ƾ�+p�Ĺ��C3�c�e$������0լ�}��Py7�;ӡ��]!���2��;}�E6�_�����wlR&P�e��L��ޢ��?������$v?�5]a��v{��iw��Vc��s*����@b��,�T��*i8�hW�,�U��f�����/#�J`e�Ɔv���$7
�9H�偙e��X#{����=RWno*BP�)Rf^�H>�.��:̷Z@�= ���5
4�#*�1;�����Ғm[+�vt��/O�7*�������3����H,�1>U���[�j7;�?X�cd	�2�X,S�c���9]��ajQ���U�Ц���g��i�ڗD垎!i}e��	��X�(�m���Wa7��:L�3ԁ�y�EJJꆀ)]�1 �AZ'	����e½�NuW�giFp-~FׅmM��on�A�]x��WQ�`������:�Lq�9h��שG�	󫥯����@�NӃgN���@q����#krvy� �;wY�s�?sp6�F���܄ӱ �G+t9�4B��'p5]�j�ۿ�8jv��UjCE��1�G�
)�Y�M�*��>kW��6���v;S����"j�͈l�CIH��o���n�X+�Q �=���u�N�	5�ٵs��־�3Ї,κ��� ���d���7(��f�$|`D�[���Va�_��i*h�{�P�#!>u�(@�y�ka��(h���z��fӬ(�T���Q��se��9ui=70D4���n�;WJ�)G-q��K��A�d$��4,g�_#b.�Ӗ��%��e�v�9O� >�^��=�rӣb�X�x[E��]P�?�eF��s���O������d	�!X:=���z�,z��(�|����gu��ѱ��0T�":
=Hk!Y
�a�r{�i!�oS&o�F�bUW�������n��Jc��׳��
u�؀��;^)6����}-�U�
�3��R�X��.���(�~��I]�)�Sd��`ven6�:M�Qk�nHrl��u���m�a)[�Zc��	�-���?Յ)��n}/�D�pPo �t��.�LV���An?�C��x3��!�� �����<����_��-^�vs�_�]ZfB�EXT�,r����0AEO���*�@�EM�C����v-�z�Kݒ��ߘT�E���j
䁭�]#�O�dH�*Yܭ@��u�)��g�E��:OISe)SD��n��kt�.y8�נ釯�Q_\���s����$=���m`:��̸V�'x�L��ppਜ��1:����mc�%{XsB�s�W nW7�.'}�<]�*ћ�y0i{p����y��I�k��/C9Ѕ�j�k�4r��t�U6���CS]< 8���1nY��&1�Gp�\�R���5nC�96��ke�(��,�A1q_�x͂_r�M3c�݈���*e
�w2]�JY�~1�����>�A���-�PcK��(�Y��x�������	�'���c�����~�$
����W����>�P�F�@��\i��N�vC 
;B�lFve/J3� ~��L^j-tx*��0u#Nʢk���!��$��+ u����`�l+5I=脦p�/�B��;�A2NCi�+�X�
�j-�����_7,i��0�ғN�C|y�$:�vY<Q��F9�HU��&H�$=	;^����ƭ�L�S#ۥ?����;6�Ѳ0 j_�N���DB�n됹1����	�l7>���cks�֠gѪ���N_H�N��zD��)�YtdsL�(�_V�����_O��(�2dZPv��
sYo�~r a����`'�9U��<rYV�m�~(tۢ´�����c�i�rql�C�a 7�"pK#��T3��	�`.����� p��J\�4����Y��
�G�N-5B��FA����çe�a}��
�x�,�u��抷��}1��w�B�G�����6���/H�p�'�#XGٕ0"-F��J�R#?-��j��o�#C��/����K�p#>I�:c��@�t�w�}���v��	?��/ɉ�"k����ܭ�[\��)	r	WF{޺�A���m)'�L�ߙ�b��r� ���&6p>]����z��N��Ч����y��EC�������Xf�����y�>��|)U�9Dru�u�y?�6��4i�x��TnE�SR&'�d�Ҝ!@!~y�ҹ��N�iR��N��L>�{[�p�摻��>V�ͷds.SI5j���ɭG��2P�d�G�Ų����Qw���}�{����,<V�2�eJ��It�)\�q�hm������_��A�G�L��_;�U�N���ڤ����16Z�BZһ���qX�ȸ�o����6��04U5_���,x5v�*/qC�gaք�
x[�D��j�_:�h���M�����Fk�9�p%+��zP��l�Ṓ%V� �N$��u��4_��B^+0["Ec/mL�;t0z�O�Q�L|I�:�A � 3Q�L�L�"r�9�.�C�".��G�M�0|"�7YBBi1�"4�0�0�I�Q�8G�;�<F")�M�!gG\D�?^:�D�H�/Ei7�D�
|;�D(H{�"�0�8oRbR]27UI�GrE�ARH0GBRvI�O>�<�M�M�.�D2��0nDW��G,>/wP
�E�H�"f"�.�K�9?,
�Iw2�E}M=P�0�L�KFM�QO�Aj?�8J9�!G�7�A,7�;�)��D�MC"^0�0�(��2�;p7c%P6�3/�M�F�Iy2�NR7�I6#6�8�?�7�L�0�;tLY�"RcIGB#�7�,0;�I�4BDC�>&2�>�<�<&0�K�A[97�K��4�<FM�D?O�"�NR�5�<	?�|
M��I/Q��Lw:  �LE�M��@�8�F'
7:8bLh�F`��7j , 
	AO9v`�3�+'"I�Z�� ���E���"@�!�/ D�N8ЎjQ@n0fC@p$�M05\C��L�=ж4�OT]������q�H{$�Ќ����ou��0�Pf��.`Tt@`�>@5�vw=��<(�Y@IpN��5|Q0��#GJpuu�2�Rs8`���C����Js��:�@b
 ����";�/0Hq,�g	�1@�N�61K 	l�;���C`��.80����$
OF��#p�&�	�M�0N&@�P0W� �7�$P	cP�a4�!�{eN�B7;�u$�)@ s�N CH%�.�GHp$�,�,�2�R	Y��2u�?E���NQn,LP{��,�m�	@��e*@"�0���@�AjM |$24`\)�@�u$1+�%�M<��AF��\!��I9�!)P�Y���oT/p=��.�9�*�"S+�&"�%0�[%�.�6\�(`}L&��3�S$�5���}9>`���0���
�V$P��/PH��EP���@P���E�z$����P�	�`�1_��G(F���/px��p�V��G`��"7��v�/ F�#""%�U�4`a���n�$ ��=���}PZO�	0o\K�|� gl�	Pp	Y(�}�!��$-6�y$��Y�p6P�C��z'G-05Z2B ��kH Z�,�1	-5�g0�6P�T^<h�?p���:���? �1\03/�� :P������������|G�K�q�Hp�6+p%)L�U��Pa"E6��v`_7r<l�� ��@4�\i�0�O��
�o-M@�$�I�B
p��$p��'�)@��PccW=��)�Rdp$oA�u$�/�I��`"��N�P�)���
5�t�P���3Wh32�R	=@ �9 ��vC0�@+5�v�/�H��� O>��'��+��a`�-�5
7��>�N�:У1`б`�p	60~�L��6�O�L�*D0��Oy�:��P�-�6�&�G\G0�7�+p'"�70��	n\��\ZYE����`7'�%N3pTn�Pi�u$���*�$)w9`�X�PPhj�H�w$�>���
�rn��v&�6Є�PPV����jJ�bb4`6�	`pn/1��"00J��8�u$����9��Pg5�v��=p�l �l��@lo,A@�m�o�	�o\�-�5�"0����9-�1�{&p&mz}G�w$E*�!w�NCv/�u$�7 �b&@#�H�b24�Y�(`�`F����2�S7o,�j�*3TS�-��SN�6x���80�L�,�'"� �3�Fp�P|06&	*� &��\�A��
0�}�:�V+@bO�Pw��O�U�6P���5z�(C�����fD���PxG���d$:���@�F(�Y�< ��
;���B��J�0�N��?�2_8�fv#�9ps	�'P	�!�j���	
P)��L@|$U`S/;$��
sn�&�#���1�% �P�hG*J�`�,0h�1 �P�=`�)�=�E�?����
�qn�`VN��K�]��'`#p���6���Qpo@��61�5p|���	�`��@�X����`�Q�2@y$�\pY)W6�	�'��	�o\�@��a'� �6) z]�u\�Kp��zQi9��HOPpa1� ���(��*�$b�`1lSG�w$Q��[YJ�s� 0�+�*@%)�J�w$�E`�	�,�)����o@�&'���J��X��?@�?u'@	f��LK��(0�g���K,�(��P�	���"	�6��q�@�o_��7Z `����V*B5hcO`IdFИ/�3pX� ��69P��%��*��N4]���d�:�sl��f�E0���c��)�)g��	g ����#*@!w��vV:!@�79.�7$/K��k>v$�90�p�.
�pn���B3&PL�5{�:�xS�4�fq� �A �~�n�.�R	D`�)��	�J�<B��V�4aA@%���10��Q;���#O�GG6��bPm\R�oм�2<x��0�"�>��� (}�6%V
@qnRC��R_@�u$�
�&�C���9 �P�1 �7NP7r,I@a0��m\h4�`h-p^��Bp�9�;M/�vy�]�����P0d��B@�)�:��P�OT�������=	�V�E�+!90�2PR'{Pvmi3�Tl<� <p���Z-7M`�$)�1�+@'"�`�Y' ?��<�J
�� `�i�%�9&�u�?�.��KP!@��cW2�R	�N0E3�t$;��-�p�#D�d%��Z�aR�9 �H�@���A��PfKp
��,�/�/CG:8p$�)3��)� l=	pn\�6T��Q�(�}�/@H%pd;�'�d��6P�BJpy��@c�?�.Iy���QG�w$F0`M�sB�*�Q�o!�&?A��B�>�0�/�EQ�<��f;=@���Ij�./�t$��f	�?`���`�	�1`��p�=�3�XM����
 rn�5�x3��j]H1 �ey>0�a��\����u3PUi9L�kx.�8W)��:Qm	�!��wu%�"�0 N��@�|u�2a�3�Ul�6���F��
 ��0���5P}RG_A�?����:p�� ��6��1�P�f�?'���%GO�HvF��5v(p#&-`4��@��#��6@7�4Phl!K�	c=�&{�����<��(@
����%iJpz����}�O0Td�N@E��pz�30V�����j�f=�P�!�6���Rp�$�4pgX�>��XN�@�z �@G����$��T.�7��NpD��P�i!'�""L��Ep���p��1�%�0���H�z$yHDp$�1Qf	�n\y)@��9�X�)@��) #��DK��	�P�g��`�O3p�n�J�<.P�I�<���q+�&"�M`p$X5�v=��"p�Q�& �X#PX�F��P@�,��)�`��@���G�oA��`}g�3�5�}w_M0|$�B@�Rk�'\�Rdp$MLPf�C����#@s>�0Q�l�+�&"rM`�$?�7�дZf-�5+�1�u$U9p��<C@���9P��=3�t$rP��T��Cp�D ���(@1��	�LFN�:�F`�R?p�mWA��
~O�I�c=0E�__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizenetsnmp_init_helpersnetsnmp_init_debug_helpernetsnmp_init_serializenetsnmp_init_read_only_helpernetsnmp_init_bulk_to_next_helpernetsnmp_init_table_datasetnetsnmp_init_row_mergenetsnmp_init_stash_cache_helperse_find_label_in_slistsnmp_lognetsnmp_baby_steps_handler_getnetsnmp_create_handlercallocnetsnmp_handler_freenetsnmp_baby_steps_handler_initnetsnmp_register_handler_by_namenetsnmp_baby_steps_access_multiplexer_getnetsnmp_baby_step_mode2flagnetsnmp_call_next_handlernetsnmp_check_requests_errornetsnmp_get_bulk_to_next_handlernetsnmp_bulk_to_next_helpernetsnmp_bulk_to_next_fix_requestssnmp_oid_comparesnmp_set_var_objidnetsnmp_set_monotonic_markerrelease_cached_resourcessnmp_alarm_registerstrlenmalloc__sprintf_chknetsnmp_inject_handlernetsnmp_register_handlernetsnmp_handler_registration_freenetsnmp_cache_get_headnetsnmp_cache_find_by_oidnetsnmp_oid_equalsnetsnmp_cache_createsnmp_duplicate_objidnetsnmp_ds_get_intnetsnmp_cache_removenetsnmp_cache_timer_startnetsnmp_cache_timer_stopsnmp_alarm_unregisternetsnmp_cache_free__stack_chk_failnetsnmp_cache_handler_getnetsnmp_cache_helper_handlernetsnmp_cache_handler_owns_cachenetsnmp_get_cache_handlernetsnmp_cache_handler_registernetsnmp_register_cache_handlernetsnmp_cache_reqinfo_insertnetsnmp_agent_get_list_datanetsnmp_create_data_listnetsnmp_agent_add_list_datanetsnmp_cache_reqinfo_extractnetsnmp_extract_cache_infonetsnmp_cache_check_expirednetsnmp_ready_monotonicnetsnmp_cache_check_and_reloadnetsnmp_cache_is_validnetsnmp_ds_get_boolean__snprintf_chknetsnmp_request_set_error_allnetsnmp_is_cache_validnetsnmp_debug_helpernetsnmp_get_debug_handlernetsnmp_instance_num_file_handlerfopenfscanffclosesnmp_set_var_typed_valuenetsnmp_request_get_list_data__fprintf_chknetsnmp_set_request_errorrewindnetsnmp_memdupnetsnmp_request_add_list_datanetsnmp_instance_helper_handlernetsnmp_get_instance_handlernetsnmp_register_instancenetsnmp_register_serializenetsnmp_register_read_only_instancenetsnmp_get_read_only_handlernetsnmp_register_read_only_ulong_instancenetsnmp_create_watcher_infonetsnmp_create_handler_registrationnetsnmp_register_watched_instance2netsnmp_register_ulong_instancenetsnmp_register_read_only_counter32_instancenetsnmp_register_read_only_long_instancenetsnmp_register_long_instancenetsnmp_register_read_only_uint_instancenetsnmp_register_uint_instancenetsnmp_register_read_only_int_instancenetsnmp_register_read_only_ulong_instance_contextstrdupnetsnmp_register_ulong_instance_contextnetsnmp_register_read_only_counter32_instance_contextnetsnmp_register_read_only_long_instance_contextnetsnmp_register_long_instance_contextnetsnmp_register_int_instance_contextnetsnmp_register_read_only_int_instance_contextnetsnmp_register_num_file_instancenetsnmp_register_int_instancenetsnmp_mode_end_call_helpernetsnmp_call_handlernetsnmp_get_mode_end_call_handlernetsnmp_mode_end_call_add_mode_callbacknetsnmp_multiplexer_helper_handlernetsnmp_get_multiplexer_handlernetsnmp_null_handlernetsnmp_register_null_contextnetsnmp_register_nullnetsnmp_duplicate_variableget_old_api_handlernetsnmp_old_api_helpernetsnmp_register_old_apimemcpynetsnmp_register_mib_table_rownetsnmp_register_handler_nocallbacksnmp_call_callbacksnetsnmp_get_current_agent_sessionset_current_agent_session__memcpy_chkmemsetnetsnmp_read_only_helpernetsnmp_get_row_merge_handlernetsnmp_row_merge_helper_handlernetsnmp_register_row_mergenetsnmp_row_merge_status_getnetsnmp_row_merge_status_firstnetsnmp_row_merge_status_lastnetsnmp_scalar_helper_handlernetsnmp_get_scalar_handlernetsnmp_register_scalarnetsnmp_register_read_only_scalarnetsnmp_scalar_group_helper_handlernetsnmp_get_scalar_group_handlernetsnmp_register_scalar_groupnetsnmp_serialize_helper_handlernetsnmp_get_serialize_handlersnmp_get_statisticnetsnmp_register_statistic_handlernetsnmp_stash_cache_helpernetsnmp_oid_stash_getnext_nodenetsnmp_oid_stash_get_data_netsnmp_stash_cache_freesnmp_free_varnetsnmp_oid_stash_freenetsnmp_get_new_stash_cache_netsnmp_stash_cache_loadnetsnmp_get_timed_bare_stash_cache_handlernetsnmp_get_bare_stash_cache_handlernetsnmp_get_stash_cache_handlernetsnmp_get_stash_to_next_handlernetsnmp_get_timed_stash_cache_handlernetsnmp_extract_stash_cachenetsnmp_stash_to_next_helpersnmp_clone_varbindnetsnmp_oid_stash_add_datanetsnmp_free_all_list_datanetsnmp_free_request_data_setsnetsnmp_table_registration_info_freesnmp_free_varbindnetsnmp_table_registration_info_clonenetsnmp_get_table_handlertable_helper_handlercount_varbindsnetsnmp_handler_owns_table_infonetsnmp_registration_owns_table_infonetsnmp_register_tablenetsnmp_unregister_tablenetsnmp_unregister_handlernetsnmp_extract_table_infonetsnmp_find_table_registration_infonetsnmp_find_handler_data_by_namenetsnmp_sparse_table_handler_getnetsnmp_sparse_table_registernetsnmp_table_build_oidnetsnmp_table_build_resultnetsnmp_table_build_oid_from_indexnetsnmp_update_variable_list_from_indexsnmp_reset_var_buffersparse_oid_indexesnetsnmp_update_indexes_from_variable_listbuild_oid_noallocnetsnmp_check_getnext_replynetsnmp_closest_columnnetsnmp_table_helper_add_indexessnmp_varlist_add_variablenetsnmp_table_get_or_create_row_stashnetsnmp_table_next_columnnetsnmp_free_agent_data_setsparse_one_oid_indexCONTAINER_INSERTCONTAINER_REMOVECONTAINER_FREEnetsnmp_table_container_registernetsnmp_ncompare_netsnmp_indexnetsnmp_compare_netsnmp_indexnetsnmp_container_findnetsnmp_table_array_registernetsnmp_table_array_helper_handlernetsnmp_find_table_array_handlernetsnmp_extract_array_contextnetsnmp_table_array_check_row_statusbuild_new_oidprocess_get_requestsnetsnmp_table_index_find_next_rowgroup_requestsprocess_set_requestsnetsnmp_tcontainer_create_tablenetsnmp_tcontainer_delete_tablenetsnmp_tcontainer_add_rownetsnmp_tcontainer_remove_rownetsnmp_tcontainer_replace_rownetsnmp_container_table_handler_getnetsnmp_container_table_registernetsnmp_container_table_unregisternetsnmp_container_table_container_extractnetsnmp_container_table_row_insertnetsnmp_container_table_row_removenetsnmp_request_remove_list_datanetsnmp_table_data_generate_index_oidnetsnmp_create_table_datanetsnmp_create_table_data_rownetsnmp_table_data_clone_rownetsnmp_table_data_delete_rownetsnmp_table_data_add_rownetsnmp_table_data_remove_rownetsnmp_table_data_replace_rownetsnmp_table_data_remove_and_delete_rownetsnmp_table_data_create_tablenetsnmp_table_data_delete_tablenetsnmp_table_data_create_rownetsnmp_table_data_copy_rownetsnmp_table_data_remove_delete_rownetsnmp_get_table_data_handlernetsnmp_table_data_helper_handlernetsnmp_register_table_datanetsnmp_register_read_only_table_datanetsnmp_unregister_table_datanetsnmp_extract_tablenetsnmp_extract_table_rownetsnmp_extract_table_row_datanetsnmp_insert_table_rownetsnmp_table_data_build_resultnetsnmp_table_data_get_first_rownetsnmp_table_data_get_next_rownetsnmp_table_data_get_from_oidnetsnmp_table_data_getnetsnmp_table_data_num_rowsnetsnmp_table_data_row_firstnetsnmp_table_data_row_getnetsnmp_table_data_row_nextnetsnmp_table_data_row_get_byoidnetsnmp_table_data_row_next_byoidnetsnmp_table_data_row_get_byidxnetsnmp_table_data_row_next_byidxnetsnmp_table_data_row_countnetsnmp_table_data_entry_firstnetsnmp_table_data_entry_getnetsnmp_table_data_entry_nextnetsnmp_table_data_entry_get_byidxnetsnmp_table_data_entry_next_byidxnetsnmp_table_data_entry_get_byoidnetsnmp_table_data_entry_next_byoidnetsnmp_config_parse_table_setnetsnmp_config_parse_add_rownetsnmp_table_dataset_delete_all_datanetsnmp_table_dataset_delete_rownetsnmp_table_dataset_add_rownetsnmp_table_dataset_replace_rownetsnmp_table_dataset_remove_rownetsnmp_table_dataset_remove_and_delete_rownetsnmp_create_table_data_setnetsnmp_delete_table_data_setnetsnmp_table_data_set_clone_rownetsnmp_get_table_data_set_handlernetsnmp_table_data_set_helper_handlernetsnmp_register_table_data_setnetsnmp_extract_table_data_setnetsnmp_register_auto_data_tablenetsnmp_add_list_datanetsnmp_unregister_auto_data_tablenetsnmp_remove_list_nodenetsnmp_table_dataset_get_or_create_stashsnprint_objidnetsnmp_table_dataset_get_newrownetsnmp_table_data_set_get_first_rownetsnmp_table_data_set_get_next_rownetsnmp_table_set_num_rowsnetsnmp_table_data_set_find_columnnetsnmp_table_set_add_default_rownetsnmp_table_set_multi_add_default_rownetsnmp_extract_table_data_set_columnnetsnmp_mark_row_column_writablenetsnmp_set_row_columnmemcmpnetsnmp_table_data_set_create_row_from_defaultsnetsnmp_table_data_set_create_newrowstashnetsnmp_strdup_and_nullcopy_nwordnetsnmp_get_list_dataread_config_read_memoryconfig_pwarnnetsnmp_table_dataset_add_indexsnmp_parse_oidget_tree_headget_treemib_to_asn_typestrchrnetsnmp_table_set_add_indexesnetsnmp_table_iterator_helper_handlernetsnmp_get_list_nodenetsnmp_iterator_create_tablenetsnmp_iterator_delete_tablenetsnmp_handler_owns_iterator_infonetsnmp_get_table_iterator_handlernetsnmp_register_table_iteratornetsnmp_extract_iterator_contextnetsnmp_insert_iterator_contextnetsnmp_iterator_row_firstnetsnmp_iterator_row_get_byoidnetsnmp_iterator_row_get_byidxnetsnmp_iterator_row_getnetsnmp_iterator_row_next_byoidnetsnmp_iterator_row_next_byidxnetsnmp_iterator_row_nextnetsnmp_iterator_row_countnetsnmp_table_row_handler_getnetsnmp_table_row_registernetsnmp_table_row_extract_netsnmp_tdata_helper_handler_netsnmp_tdata_generate_index_oidnetsnmp_tdata_create_tablenetsnmp_tdata_delete_tablenetsnmp_tdata_create_rownetsnmp_tdata_clone_rownetsnmp_tdata_copy_rownetsnmp_tdata_delete_rownetsnmp_tdata_add_rownetsnmp_tdata_remove_rownetsnmp_tdata_replace_rownetsnmp_tdata_remove_and_delete_rownetsnmp_get_tdata_handlernetsnmp_tdata_registernetsnmp_tdata_unregisternetsnmp_tdata_extract_tablenetsnmp_tdata_extract_containernetsnmp_tdata_extract_rownetsnmp_tdata_extract_entrynetsnmp_insert_tdata_rownetsnmp_remove_tdata_rownetsnmp_tdata_row_entrynetsnmp_tdata_row_firstnetsnmp_tdata_row_getnetsnmp_tdata_row_nextnetsnmp_tdata_row_get_byoidnetsnmp_tdata_row_get_byidxnetsnmp_tdata_row_next_byoidnetsnmp_tdata_row_next_byidxnetsnmp_tdata_row_countnetsnmp_tdata_compare_oidnetsnmp_tdata_compare_idxnetsnmp_tdata_compare_subtree_oidsnmp_oidtree_comparenetsnmp_tdata_compare_subtree_idxnetsnmp_clone_watcher_infonetsnmp_watched_spinlock_handlernetsnmp_watched_timestamp_handlernetsnmp_marker_uptimenetsnmp_watcher_helper_handlermemchrnetsnmp_get_watcher_handlernetsnmp_init_watcher_info6netsnmp_create_watcher_info6netsnmp_init_watcher_infonetsnmp_register_watched_instancenetsnmp_register_watched_scalarnetsnmp_owns_watcher_infonetsnmp_register_watched_scalar2netsnmp_get_watched_timestamp_handlernetsnmp_watched_timestamp_registernetsnmp_register_watched_timestampnetsnmp_get_watched_spinlock_handlernetsnmp_register_watched_spinlocknetsnmp_register_ulong_scalarnetsnmp_register_read_only_ulong_scalarnetsnmp_register_long_scalarnetsnmp_register_read_only_long_scalarnetsnmp_register_int_scalarnetsnmp_register_read_only_int_scalarnetsnmp_register_read_only_counter32_scalarnetsnmp_handler_registration_createunregister_mib_contextnetsnmp_register_mibnetsnmp_inject_handler_beforestrcmpnetsnmp_call_handlersnetsnmp_call_next_handler_one_requesthandler_free_callbacknetsnmp_handler_dupnetsnmp_handler_registration_dupnetsnmp_create_delegated_cachenetsnmp_handler_check_cachenetsnmp_check_transaction_idnetsnmp_free_delegated_cachenetsnmp_handler_mark_requests_as_delegatednetsnmp_free_request_data_setnetsnmp_free_list_datanetsnmp_find_handler_by_namenetsnmp_clear_handler_listnetsnmp_inject_handler_into_subtreeparse_injectHandler_confget_top_context_cacheconfig_perrornetsnmp_config_errornetsnmp_init_handler_confsnmpd_register_config_handlersnmp_register_callbackse_add_pair_to_slistsnmp_index_headsnmp_clone_varagentx_register_indexsnmp_set_var_valuemain_sessionunregister_index_by_sessionagentx_unregister_indexrelease_indexremove_indexunregister_string_indexunregister_int_indexunregister_oid_indexdump_idx_registryputs__printf_chkcount_indexessnmpd_set_agent_addressnetsnmp_ds_get_stringnetsnmp_ds_set_stringstrlcpysnmpd_set_agent_usergetpwnamnetsnmp_ds_set_intendpwentstrtoulsnmpd_set_agent_groupgetgrnamendgrentinit_agent_read_configsnmpd_parse_config_authtrapsnmpd_free_trapcommunitysnmpd_parse_config_trapcommunitynetsnmp_ds_register_configsnmpd_free_trapsinkssnmpd_parse_config_trapsinksnmpd_parse_config_trap2sinksnmpd_parse_config_informsinksnmpd_parse_config_trapsessupdate_configfree_configread_configssnmpd_register_const_config_handlersnmpd_unregister_config_handlerunregister_app_config_handlersnmpd_store_configread_app_config_storeagent_SIGCHLD_handlerexternal_signal_schedulednetsnmp_set_lookup_cache_sizenetsnmp_get_lookup_cache_sizeclear_lookup_cachecontext_subtreesnetsnmp_subtree_find_firstadd_subtreenetsnmp_remove_subtreenetsnmp_subtree_replace_firstnetsnmp_subtree_freenetsnmp_subtree_deepcopynetsnmp_subtree_comparenetsnmp_subtree_joinnetsnmp_oid_compare_llnetsnmp_subtree_splitclear_subtreeclear_contextnetsnmp_subtree_find_prevnetsnmp_subtree_find_nextnetsnmp_subtree_findnetsnmp_subtree_loadnetsnmp_sprint_realloc_objidregister_mib_reattachregister_mib_detachnetsnmp_subtree_unloadnetsnmp_unregister_mib_table_rowunregister_mib_rangeunregister_mib_priorityunregister_mibunregister_mibs_by_sessionin_a_viewcheck_accessnetsnmp_acm_check_subtreeget_session_for_oidsetup_treenetsnmp_ds_set_booleanremove_tree_entryshutdown_treedump_registrysigemptysetsigactionexternal_signal_handlerunregister_signalnetsnmp_get_agent_uptimenetsnmp_sysORTable_foreachunregister_sysORTable_sessunregister_sysORTableunregister_sysORTable_by_sessioninit_agent_sysORTableshutdown_agent_sysORTablehandle_trap_callbackhandle_inform_responsesnmp_increment_statisticsnmpv3_get_report_typeoptargsnmp_clone_pdusnmp_get_next_reqidsnmp_get_next_msgidsnmp_async_sendsnmp_sess_perrorsnmp_free_pdusnmpv3_get_engineIDinit_trapsnetsnmp_add_notification_sessionsnmp_callback_availablenetsnmp_unregister_notificationadd_trap_sessionremove_trap_sessionnetsnmp_create_v1v2_notification_sessionsnmp_sess_initnetsnmp_tdomain_transport_tspecsnmp_addsnmp_trapcommunitystrtok_rnetsnmp_config_warncreate_trap_session_with_srccreate_trap_session2create_trap_sessionsnmp_closeconvert_v2pdu_to_v1sysuptime_oidsnmptrap_oidtrap_prefixagentaddr_oidfind_varbind_in_listsnmptrapenterprise_oidnetsnmp_build_trap_oidcold_start_oidconvert_v1pdu_to_v2community_oidsend_trap_to_sessnetsnmp_send_trapssnmp_pdu_createsnmp_enableauthentrapsnetsnmp_gethostbyname_v4snmp_clone_memget_myaddrsend_enterprise_trap_varssend_trap_varstrap_version_idobjid_enterprisetrapsend_trap_vars_with_contextsend_easy_trapsend_v2trapsend_v3trapsend_trap_pdustrtolsnmp_enableauthentrapssetnetsnmp_create_v3user_notification_sessionusm_get_usernetsnmp_sess_config_and_open_transportsnmp_sess_closeskip_tokennetsnmp_parse_argsnetsnmp_transport_open_clientcommunity_oid_lenagentaddr_oid_lensysuptime_oid_lensnmptrapenterprise_oid_lensnmptrap_oid_lentrap_version_id_lenenterprisetrap_lennetsnmp_close_fdsopendirreaddirsscanfclosedirgetdtablesize_pdu_stats_comparenetsnmp_agent_check_parsesnmp_get_do_loggingnetsnmp_get_pdu_statsnetsnmp_agent_remove_list_datanetsnmp_free_agent_data_setnetsnmp_free_agent_request_infonetsnmp_allocate_globalcacheidnetsnmp_get_local_cachidnetsnmp_get_or_add_local_cachidnetsnmp_free_cachemapsave_set_cacheget_set_cachenetsnmp_addrcache_initialisenetsnmp_addrcache_destroynetsnmp_addrcache_addnetsnmp_get_monotonic_clocklog_addressesnetsnmp_agent_check_packetnetsnmp_addrcache_agenetsnmp_register_agent_nsaphandle_snmp_packetnetsnmp_sess_config_transportsnmp_sess_pointersnmp_sess_sessionnetsnmp_deregister_agent_nsapsnmp_sess_session_lookupnetsnmp_agent_listen_onnetsnmp_transport_open_serverinit_master_agentstrncasecmpshould_initreal_init_smuxreal_init_masterclear_nsap_listshutdown_master_agentCONTAINER_GET_ATinit_agent_snmp_sessionnetsnmp_check_for_delegatednetsnmp_check_delegated_chain_foragent_delegated_listnetsnmp_check_for_delegated_and_addnetsnmp_remove_from_delegatednetsnmp_add_queuednetsnmp_agent_queued_listnetsnmp_pdu_stats_processuatime_diffCONTAINER_REMOVE_ATdump_sess_listnetsnmp_remove_and_free_agent_snmp_sessionnetsnmp_wrap_up_requestnetsnmp_processing_set_build_initial_pdu_packetsnmp_increment_statistic_bysnmp_sendsnmp_perrornetsnmp_free_agent_snmp_session_by_sessionnetsnmp_add_varbind_to_cachenetsnmp_oid_find_prefixcheck_acmnetsnmp_create_subtree_cachenetsnmp_max_send_msg_sizenetsnmp_reassign_requestsnetsnmp_delete_request_infosnetsnmp_delete_subtree_cachenetsnmp_check_all_requests_errornetsnmp_check_requests_statusnetsnmp_check_all_requests_statushandle_var_requestscheck_getnext_resultshandle_getnext_loopnetsnmp_runninghandle_sethandle_set_loopcheck_delayed_requestnetsnmp_check_delegated_requestshandle_pdusnmp_replace_var_typesnetsnmp_handle_requestnetsnmp_check_outstanding_agent_requestsagent_check_and_processnetsnmp_large_fd_set_initsnmp_select_info2netsnmp_external_event_info2netsnmp_large_fd_set_selectsnmp_timeoutsnmp_store_if_neededrun_alarmsnetsnmp_large_fd_set_cleanupnetsnmp_dispatch_external_events2snmp_read2__errno_locationsnmp_log_perrornetsnmp_request_set_errornetsnmp_remove_delegated_requests_for_sessionnetsnmp_request_set_error_idxnetsnmp_get_agent_starttimeuatime_hdiffnetsnmp_timeval_uptimenetsnmp_get_agent_runtimenetsnmp_set_agent_starttimegettimeofdaynetsnmp_set_agent_uptimenetsnmp_set_mode_request_errornetsnmp_set_all_requests_errorversion_sysoid_lenversion_sysoidshutdown_agentnetsnmp_clear_callback_listnetsnmp_clear_tdomain_listnetsnmp_container_free_listclear_sec_modclear_snmp_enumclear_callbackshutdown_secmodadd_to_init_listnoinitlistinit_agentnetsnmp_callback_opencallback_master_sesscallback_master_numnetsnmp_container_init_listagentx_config_initnetsnmp_udp_agent_config_tokens_registernetsnmp_udp6_agent_config_tokens_registernetsnmp_unix_agent_config_tokens_registernetsnmp_certs_agent_initsubagent_initnullOidLennullOidreturn_buflong_returnagentx_got_responseclose_agentx_sessionsnmp_sess_transportnetsnmp_unix_create_path_with_modehandle_master_agentx_packetagentx_parseagentx_check_packetagentx_realloc_buildsnmp_add_fullnetsnmp_UnixDomainchownnetsnmp_sess_log_errornetsnmp_transport_freenetsnmp_unix_dont_create_pathchmodexitagentx_master_handlersnmp_get_next_transidsnmp_pdu_add_variableagentx_add_agentcapsagentx_registration_callbackagentx_unregisteragentx_registeragentx_remove_agentcapsagentx_close_sessionagentx_check_sessionhandle_subagent_responseagentx_callback_sesssubagent_startupnetsnmp_enable_subagentsave_set_varsrestore_set_varsfree_set_varshandle_subagent_set_responseagentx_register_callbacksagentx_unregister_callbackssnmp_unregister_callbackhandle_agentx_packetsnmp_alarm_resetsnmp_errnosubagent_open_master_sessionagentx_open_sessionnetsnmp_get_versionagentx_send_pingsmux_parse_smux_socketsmux_free_peer_authsmux_parse_peer_authread_objidsendtoasn_build_intsnmp_build_var_opasn_build_sequenceasn_parse_objidsmux_strasn_parse_stringasn_parse_intasn_parse_unsigned_intasn_parse_headersnmp_parse_var_opasn_parse_bitstringsmux_longsmux_counter64asn_parse_unsigned_int64smux_ulongsmux_sasmux_objidsnmp_get_do_debuggingsmux_listen_sdnetsnmp_sockaddr_insetsockoptlistensmux_acceptinet_ntoarecvfromsmux_process__recvfrom_chksmux_snmp_select_list_addsmux_snmp_select_list_delvar_smux_writesmux_snmp_processvar_smux_getsmux_snmp_select_list_get_lengthsmux_snmp_select_list_get_SD_from_Listagentx_cmdagentx_realloc_build_intsnmp_reallocagentx_build_intagentx_realloc_build_shortagentx_realloc_build_oidagentx_realloc_build_stringmemmoveagentx_realloc_build_doubleagentx_realloc_build_floatagentx_realloc_build_varbindagentx_realloc_build_headeragentx_parse_intagentx_parse_shortagentx_parse_oidagentx_parse_stringagentx_parse_opaqueagentx_parse_varbindagentx_parse_headersnmp_add_null_varfind_agentx_sessionopen_agentx_sessionsnmp_get_next_sessidunregister_agentx_listallocate_idx_listrelease_idx_listadd_agent_caps_listremove_agent_caps_listagentx_notifyagentx_ping_responsesnmp_erroragentx_parse_agentx_socketagentx_parse_masteragentx_parse_agentx_retriesagentx_parse_agentx_permsnetsnmp_str_to_uidnetsnmp_str_to_gidagentx_parse_agentx_timeoutnetsnmp_string_time_to_secsagentx_register_config_handleragentx_unregister_config_handlernetsnmp_register_default_domainnetsnmp_register_default_targetsnmp_add_varsnmp_synch_response_cblibnetsnmp.so.35libssl.so.1.1libcrypto.so.1.1libm.so.6libc.so.6_edata__bss_start_endlibnetsnmpagent.so.35GLIBC_2.14GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/net-snmp11/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/libssh211/usr/lib64�R����Rii
Sui	
Sti	SHW$PSPW$SXW$XW$l$�l$�l$Vl$� l$z(l$>0l$�8l$.@l$dHl$mPl$JXl$C`l$_hl$[pl$xl$�l$��l$U�l$�l$��l$U�l$��l$��l$�l$��l$6�l$/�l$��l$��l$v�l$��l$m$m$jm$;m$ m$D(m$B0m$�8m$�@m$QHm$Pm${Xm$�`m$nhm$�pm$xm$��m$O�m$��m$��m$\�m$�m$J�m$��m$��m$��m$?�m$I�m$g�m$�m$�m$��m$�n$�n$�n$�n$� n$�(n$�0n$�8n$8@n$Hn$�Pn$�Xn$
`n$�hn$|pn$�xn$E�n$P�n$0�n$��n$��n$l�n$��n$��n$b�n$r�n$7�n$��n$[�n$@�n$��n$��n$�o$	o$po$1o$ o$e(o$-0o$h8o$�@o$
Ho$%Po$tXo$�`o$Bho$po$rxo$��o$��o$n�o$#�o$��o$��o$��o$��o$6�o$��o${�o$��o$��o$@�o$��o$�o$C�Y$�Y$��Y$��Y$��Y$��Y$�Y$�Y$=�Y$�Z$Z$�Z$Z$ Z$}(Z$0Z$�8Z$@Z$2HZ$4PZ$	XZ$�`Z$hZ$pZ$�xZ$��Z$
�Z$_�Z$�Z$#�Z$�Z$��Z$H�Z$�Z$^�Z$
�Z$�Z$��Z$�Z$��Z$9�Z$[$[$�[$t[$ [$([$0[$8[$S@[$fH[$�P[$�X[$`[$@h[$:p[$x[$*�[$�[$�[$��[$��[${�[$"�[$��[$��[$�[$�[$�[$�[$�[$�[$z�[$\$T\$ \$�\$< \$c(\$'0\$!8\$z@\$�H\$"P\$#X\$`\$ih\$$p\$+x\$%�\$V�\$T�\$��\$&�\$'�\$(�\$-�\$)�\$�\$K�\$*�\$'�\$+�\$,�\$��\$?]$-]$�]$]$. ]$/(]$f0]$08]$@]$sH]$	P]$1X]$2`]$h]$3p]$�x]$a�]$4�]$i�]$��]$�]$�]$��]$��]$E�]$�]$��]$�]$��]$5�]$u�]$6�]$�^$7^$^$�^$� ^$�(^$80^$98^$:@^$cH^$<P^$	X^$=`^$>h^$�p^$�x^$*�^$�^$?�^$@�^$A�^$��^$B�^$M�^$C�^$N�^$D�^$E�^$E�^$F�^$��^$G�^$�_$H_$I_$w_$J _$1(_$K0_$L8_$�@_$MH_$NP_$OX_$�`_$Ph_$Yp_$Qx_$B�_$R�_$H�_$<�_$��_$S�_$)�_$��_$'�_$0�_$+�_$f�_$I�_$X�_$T�_$U�_$8`$V`$W`$W`$� `$F(`$t0`$q8`$X@`$hH`$�P`$X`$Y``$�h`$1p`$x`$Z�`$L�`$[�`$a�`$]�`$^�`$_�`$g�`$��`$]�`$�`$`�`$a�`$��`$b�`$c�`$da$ea$fa$`a$� a$�(a$g0a$;8a$�@a$�Ha$�Pa$�Xa$h`a$�ha$ipa$jxa$_�a$k�a$x�a$��a$��a$l�a$��a$��a$m�a$n�a$o�a$��a$p�a$K�a$q�a$�a$rb$~b$sb$tb$= b$y(b$�0b$�8b$:@b$uHb$}Pb$�Xb$v`b$�hb$�pb$�xb$��b$w�b$l�b$x�b$%�b$4�b$y�b$G�b$��b$z�b$��b${�b$�b$6�b$|�b$+�b$c$}c$~c$c$o c$(c$u0c$�8c$�@c$aHc$�Pc$�Xc$`c$�hc$�pc$xc$��c$��c$��c$��c$��c$��c$��c$��c$�c$��c$,�c$��c$��c$��c$��c$��c$�d$�d$�d$�d$� d$�(d$�0d$�8d$�@d$�Hd$�Pd$�Xd$�`d$�hd$�pd$�xd$��d$��d$l�d$e�d$��d$��d$��d$��d$��d$p�d$��d$q�d$ �d$F�d$��d$��d$�e$e$|e$�e$� e$A(e$J0e$�8e$�@e$�He$�Pe$PXe$�`e$�he$�pe$�xe$��e$��e$��e$
�e$��e$�e$��e$��e$(�e$=�e$�e$�e$��e$��e$!�e$Q�e$Zf$�f$�f$�f$` f$�(f$�0f$y8f$
@f$�Hf$�Pf$.Xf$,`f$�hf$�pf$cxf$b�f$;�f$��f$��f$H�f$��f$v�f$�f$��f$��f$��f$��f$��f$��f$��f$�f$�g$�g$�g$�g$ g$�(g$<0g$8g$�@g$�Hg$�Pg$�Xg$�`g$�hg$!pg$^xg$y�g$�g$��g$?�g$Z�g$�g$�g$��g$��g$��g$�g$)�g$��g$��g$��g$��g$�h$�h$h$Ih$� h$�(h$�0h$�8h$�@h$�Hh$Ph$uXh$j`h$5hh$oph$�xh$��h$S�h$N�h$�h$��h$��h$��h$��h$�h$��h$��h$2�h$��h$��h$��h$��h$"i$�i$�i$�i$� i$�(i$�0i$U8i$p@i$�Hi$Pi$]Xi$�`i$}hi$mpi$�xi$��i$��i$w�i$��i$2�i$d�i$[�i$��i$��i$��i$��i$��i$��i$��i$��i$��i$j$�j$�j$�j$� j$�(j$�0j$/8j$�@j$�Hj$�Pj$�Xj$&`j$hj$Qpj$`xj$��j$��j$�j$��j$G�j$��j$��j$\�j$��j$��j$��j$��j$�j$��j$��j$9�j$�k$�k$k$�k$~ k$�(k$x0k$�8k$�@k$7Hk$8Pk$�Xk$�`k$bhk$�pk$"xk$e�k$��k$�k$(�k$/�k$�k$L�k$��k$��k$s�k$��k$��k$&�k$��k$C�k$O�k$���H��H�qf#H��t��H����52P#�%3P#��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a������%�+#D���%�+#D���%�+#D���%�+#D���%}+#D���%u+#D���%m+#D���%e+#D���%]+#D���%U+#D���%M+#D���%E+#D���%=+#D���%5+#D���%-+#D���%%+#D���%+#D���%+#D���%
+#D���%+#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%�*#D���%}*#D���%u*#D���%m*#D���%e*#D���%]*#D���%U*#D���%M*#D���%E*#D���%=*#D���%5*#D���%-*#D���%%*#D���%*#D���%*#D���%
*#D���%*#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%�)#D���%})#D���%u)#D���%m)#D���%e)#D���%])#D���%U)#D���%M)#D���%E)#D���%=)#D���%5)#D���%-)#D���%%)#D���%)#D���%)#D���%
)#D���%)#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%�(#D���%}(#D���%u(#D���%m(#D���%e(#D���%](#D���%U(#D���%M(#D���%E(#D���%=(#D���%5(#D���%-(#D���%%(#D���%(#D���%(#D���%
(#D���%(#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%�'#D���%}'#D���%u'#D���%m'#D���%e'#D���%]'#D���%U'#D���%M'#D���%E'#D���%='#D���%5'#D���%-'#D���%%'#D���%'#D���%'#D���%
'#D���%'#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%�&#D���%}&#D���%u&#D���%m&#D���%e&#D���%]&#D���%U&#D���%M&#D���%E&#D���%=&#D���%5&#D���%-&#D���%%&#D���%&#D���%&#D���%
&#D���%&#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%�%#D���%}%#D���%u%#D���%m%#D���%e%#D���%]%#D���%U%#D���%M%#D���%E%#D���%=%#D���%5%#D���%-%#D���%%%#D���%%#D���%%#D���%
%#D���%%#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%�$#D���%}$#D���%u$#D���%m$#D���%e$#D���%]$#D���%U$#D���%M$#D���%E$#D���%=$#D���%5$#D���%-$#D���%%$#D���%$#D���%$#D���%
$#D���%$#D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%�##D���%}##D���%u##D���%m##D���%e##D���%]##D���%U##D���%M##D���%E##D���%=##D���%5##D���%-##D���%%##D���%##D���%##D���%
##D���%##D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%�"#D���%}"#D���%u"#D���%m"#D���%e"#D���%]"#D���%U"#D���%M"#D���%E"#D���%="#D���%5"#D���%-"#D���%%"#D���%"#D���%"#D���%
"#D���%"#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%�!#D���%}!#D���%u!#D���%m!#D���%e!#D���%]!#D���%U!#D���%M!#D���%E!#D���%=!#D���%5!#D���%-!#D���%%!#D���%!#D���%!#D���%
!#D���%!#D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%� #D���%} #D���%u #D���%m #D���%e #D���%] #D���%U #D���%M #D���%E #D���%= #D���%5 #D���%- #D���%% #D���% #D���% #D���%
 #D���% #D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#D���%U#D���%M#D���%E#D���%=#D���%5#D���%-#D���%%#D���%#D���%#D���%
#D���%#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%�#D���%}#D���%u#D���%m#D���%e#D���%]#DH�=�#H��#H9�tH��#H��t	�����H�=�#H�5�#H)�H��H��H��?H�H�tH��#H��t��fD�����=e#u+UH�=�#H��tH�=&#���d����=#]������w������H���s����9������o�������H������H����D�����t��f����ff.���AVI��AUI��H�=K(ATI��UH��S�2��I�]H����A��B�=��tH�
5)Hc�H�>��H�CH��t8�H�SpL��H��L��I�UL���I�][]A\A]A^�DH�CH��u�H�58(�1���[�]A\A]A^�fDH�C H��u���DH�C(H��u��DH�C0H���{���몐H�C8H���k���뚐H�CHH���[���느H�C@H���K����w���fDH�CXH���3����_���fDH�C`H�������G���fDH�CPH�������/���fDH�H����������H�CH���������fDH�ChH����������fDH�5�&�1������H�5�&�1��x��������ff.���UH�5H��H�=i&SH���`�H��H��tC�����H��t<H������H��H�
}���H�S(�����HD�H�CH�K �hH��H��[]�H�5�&����H��1��
���ff.���H���������H��tH��H�=�%H����fD1�����1�H��H�5o&�r�f���SH�5���H��H�=�%�u�H��t�HH�X[�fD������q��H��(Hc�H�>�����f�� �f.���f.���f.�� �f.��@�f.����f.���f.���f.���f.���f.���f.���f.�1��ff.�f���AWAVI��H�=g$AUI��ATUH��SH��H�t$�2�b��]M�f���3�
���Hc�H��#L��I�@M��H�$A�7f����H�=�#��A�f�����������u
f�����EA�?��A�D$t@A	D$H�t$L��H��L���q���u4���������u��L�����uI��L9<$�`���1��]H��[]A\A]A^A_���]�f���r���A�D$	�f����A�D$ �X����f�A�D$L��#�]���A�D$�]����f.�D��H��H�5�#H�=�'��H��t�HH������H����SH����C<��~1H�;�G<t&<�t"H�wH�K H�SH��]����xf�H�[PH��u�[�DH�H�8t�k<H�PH�pH�8�C�H�H�H��@ǃ{0u��C0���ff.�@���:�t1�ÐATI��UH��SH��H���������L��D$�����M�D$H��[]A\Ð��H������H��tH��H�=�&H���{�H�����H����DUSH��H���W��t�GtzH�C(H����H�s8H��ЉŅ����l#�C�C��tH�{����H����[]��Cu�H�s#1�1��<�����##��f�H�G0H���y���H�w8��H�C(�CH���l���f�������CH����[]�ff.����FH������UH��SH���"��H�x���H��H��t'H��I��1�H�����L�T%H�
X%����H��H��[]�UH��SH��H��H��tOH��tJ�U�����uH��H��[]��H�5q%�1���H����H���=���H�������[]Ð1�H�5?%���H��t���fD��H��#�@��ATI��UHc�SH��#H��u�4@H�[HH��t'Hcs`H�{XH��L�������u�H��[]A\��1�H��[]A\�fD��AWI���hAVI��AUE��ATI��U���SH�����H��H��ty�hL�x(L�p0�@��tKM��t.Ic�L���s�D�k`H�CXH�#H�CHH��tH�XPH�#H��H��[]A\A]A^A_�fD�
����C�@H�5)$�1��M��ff.���H��t8H�
�#H��t,H9�tVH�QH�����H��tH9�u��H9�tH��H�BHH��u�����H��H��H�HHH�JHH�PHH��t'H�@PH�BP1��@H�AHH�5#H��tH�@P1��D��H��tWSH� H��uT�G t.�H�,���H�پ�����H�S H��tD�c�[�fDH�5Y#�1��U�1�[Ð1��DH�5�"�1��5��C [�H�5�"�1���1�[�f���H��t7H�G H��tSH�����c�K [�DH�5c"������ff.�@��SH�� dH�%(H�D$1�H����H�#H��H��u�f.�H�@HH��tH9�u�LcH`L�@X�H��H�t$H�|$H�$H�D$H�D$��H�T$H�5]"1���!�H�|$���H�L$dH3%(utH�� [�@H�{ uY�C��tH�C0H��tH�s8H����CH�{H��t�C�H�{XH��t�5�H���-�1��f�1��@H���@������f����/t�fDSH���w�H��[�>��ff.���UH��H�=� SH��H�5�#�P��H��H��t�HH�hH��t�E�t�U��t-� uH��H��[]��H�����H��H��[]�fDH������E����H�G�H�n���H�G H�3���H�G(�ff.���AWE��AVI��AUI��ATI��U��1�SH������H��H��t��E��L��L��L���N��H��H�C�b��H��H��[]A\A]A^A_���SH��H��t#H��tH�����H��[H������f.�H�5q �1���H���������[�ff.���SH��H��t!��D�CH��H��H�K�.��H��[H�����H�5 �1���1��(������[Ð��ATI��H��UH��S�*���H��H��H���<��H��tH��tH��[]A\���fD[]A\�L��H��1��;�H��H�������ff.���UH��H��SH�����H��H��H������H��H��tH���m�H��H��[]���H�5������H��tW��u�G��u�G����H�GH��t�w���t�Si��H��H������C��[�D1��ff.�f���SH��#��#H��u�]H�[HH��tG�S��t�Cu�H���B����t>�Cu�H�C0H��t�H�s8H����CH�[HH��u�fD�R#��u[�@�>#�@H�i
#1�1��<[����f.���H��t/S�GH����t	�����tH��[�J���f.�1�[�@1��D��H�����1�H��t
�@1҅��‰�H���ff.���AWI���AVAUI��ATI��UH��SH��XH�_�dH�%(H�D$H1��������H�����K����H�{(��L�t$ �I��1�L�� � � L�����H��H�,$H�C@A�$L�|$L�d$L�l$��=��}_������RtAH�5
�1��f��L��������Df����|ρ��~���u�L��L���
���ti�C�@tH�{���f�1�H�L$HdH3%(u\H��X[]A\A]A^A_���S�C��t��u�H�s8H��S0�C�C�@H����L��L��H���Z���C�|�������ff.�f���H�5��`����w�����H�5�#H�=�y��f���H���C��H��tH��H�=�H���K��H�5��H������H����D��AWAVI��AUI��ATI��UH��SH��(H�_dH�%(H�D$1����w���^���]�����7H��K8H���H�U01�H��tH�z�JH�L$dH3%(��H��([]A\A]A^A_������=���H�{H�5��|��H�CH���'�{H�L�|$H��H�5�HE�L��1��'�H�{�D$�����|$H�C���sI�}�L������-���DH��H�5����{H�{H���H�}�HE�1�H�L$�,���y�L��L���(��H�{H�������N��H�C1�H�U0H����������f�L��L��L��H��������f.��L��L�����k�����L��L����1��g����H�H�{H�@ H�H�D$����{H��H��HE�H�{H�L$1���M�������D�L��L���@�1����f�H�5��1��]����H�{H�5=���H�CH�����{H�H�5H��HE�H�\$1�H���C���u>�H�����H��t,H�5#H��H�=�����L��H������F���fD�
L��L����1��?���f��L��L���`�1���������@��AUI��ATI��UH��SH��H��H�H�VH�NH�xH�p�~��A�$�����4���������H��L�����1�H��[]A\A]�fD�������x�u؋E0��t�A�$�H�SH�sH�}�!��L��H��H��L������A�$��U(��u�H�M�Y�S���w��A���uTH��H��L��H��L��[]A\A]���f�H�5��1��m��H��L����H��1�[]A\A]�H��L�纁��H��1�[]A\A]����/t�fDSH��H����H��[���f.���H�5�#H�=��	��f���UH��SH���>��H��H��t&�HH��H���'���uH��H��[]���DH�5��1����H������H���
�H�������[]Ð��H����ATUSH������H���o��I��H��t9H��t4H��H������u%L��H������uH��[]A\����1�H�5��1����H���3��L���+��H���s�[�����]A\ø�������AVI�ֺBAUI���ATM��UH��H�ϹS���L��H��L��L��A�H���'��H��[]H��A\A]A^�d�@��AVI�ֺBAUI���ATM��UH��H�ϹS���L��H��L��L��A�H������H��[]H��A\A]A^��@��AVI�ֺAAUI���ATM��UH��H�ϹS�Q��L��H��L��L��A�H���g��H��[]H��A\A]A^��@��AVI�ֺAUI���ATM��UH��H�ϹS����L��H��L��L��A�H�����H��[]H��A\A]A^�D�@��AVI�ֺAUI���ATM��UH��H�ϹS���L��H��L��L��A�H�����H��[]H��A\A]A^���@��AVI�ֺBAUI���ATM��UH��H�ϹS�1��L��H��L��L��A�H���G��H��[]H��A\A]A^��@��AVI�ֺBAUI���ATM��UH��H�ϹS����L��H��L��L��A�H������H��[]H��A\A]A^�$�@��AVI�ֺAUI���ATM��UH��H�ϹS�q��L��H��L��L��A�H�����H��[]H��A\A]A^����@���g�����ATH��L��A�UH��H��H��SM���;��H��H��tM��u.H����B����H��[]H��A\�X���L������H�C��f���ATH��L��A�UH��H��H��SM������H��H��tM��u.H����B�w��H��[]H��A\�����L���h��H�C��f���ATH��L��A�UH��H��H��SM���[��H��H��tM��u.H����A���H��[]H��A\�x���L�����H�C��f���ATH��L��A�UH��H��H��SM������H��H��tM��u.H�������H��[]H��A\����L�����H�C��f���ATH��L��A�UH��H��H��SM���{��H��H��tM��u.H�����'��H��[]H��A\����L�����H�C��f���ATH��L��A�UH��H��H��SM�����H��H��tM��u.H�������H��[]H��A\�(���L�����H�C��f���ATH��L��A�UH��H��H��SM�����H��H��tM��u.H�����G��H��[]H��A\����L���8��H�C��f���������AWAVAUATUSH��(H��L�t$`L�|$hH�T$��H��D�D$�����I��H����H���� E��H�L$���H��H����H�L$H�����H�CH�����E��H�L$H��M����L��L�����H��H���H�5�"H�=����I��H����H�XH���L��H��I�D$ H�}���I�D$(�������M��tL�����H�EH�����D$�CA��tcH��(H��[]A\A]A^A_���DH�59�"L������H��H��tYH�@ H�5&�H�XH�E H�p H�E H�5��H�p(M��u��@H��(H��[]A\A]A^A_难��f.�H���x����P���������t*H��([]A\A]A^A_�f�L�����H���@����H�{�D$�!��H������D$�H�5I�1��}��������H�5g�1��c��H������������y���H�5B�1��>��������\���@��AVI�ֺAUI���ATM��UH��H�ϹS�q���L��H��L��L��A�H�����H��[]H��A\A]A^����@��AUI��ATI��UH��SH��H�����H�[1�H��u�6@H�H��t*�S�����t;Uu�H�{L��H��L���F��H�H��u�H��[]A\A]���SH�5�"H��H�=a
�e��H��tH�X[�f.���ATA��UH��SH�������H��t,D�`H�hH�H��tH���f�H��H�H��u�H�H��[]A\�f.���H��L�GM�����=�t[~(=�tI=���I�xH��t5H���\��@��wsI�xH��u�H������1��Kf�I�xH��u�I�8H��u�H�Ͼ�H�T$���H�T$H�5�1����#���H���f���H�5��1�����H��ÐH�5�1�������fD��SH��t&H�5��"H��H�=�����H��tH�X[�DH�5I�1����1�[�f����=�tC=�t<H��=�t�H������1�H���D��H�����1�H���@1��ff.�f���AUI���ATI��UH���PSH�����H����H�= DH���b��H�kH�5?�"H�=�H�L�k���H��H�C M��t8L���0��H�;�C(
H�Ct1H��t,H��t'H��H��[]A\A]���H�;�C(
tH��u�H�5W�1��[��H�����������H��[]A\A]�H�5T�1��0���������f���1����D��1�H��tEATUS�GH��D�$�L���z��H��tJ�T#�A�L$�H��H���J�T ��H�[]A\�D�ff.�@��H�5��"H�=�
鹿��f���AWAVAUATUSH��8H����L�L$N�$�1�1�L�D$ H�L$(H�T$H�t$H�<$����t�S�I�^H��"I�G H�P H�\�"I�G H�P(�D$pA�G,�D$xA�G0H��$�I�G8��$�A�G@1�H��$�t
H��$��S��I�G1�f�{L�����DA�G(�������-�]H��H;\$(��P��M���I��H����H�\$H�D$H�<���H�����H�<$I��I�G ����I��{I��H|$I�H������I�GM��tPH��tKM��tFH�t$ L��H���6����KH�sJ� H����������ʃ�H�|���H�|�H���H����L�����H���P��I�?H��t�C��I�I�H��t�.��L����!��H��8��[]A\A]A^A_�1���@����H�5��1��k����f���AWAVAUATUSH��H��$�H�|$H�t$0H�T$8H�L$(L�D$L�L$H�$dH�%(H��$�1�H���OD9�$��AN�,�H��E1�H�D$ ����t��H�����H���"H�<$H�EI�G H�P H���"I�G H�P(�jH�<$���I�W I�GH�z�nH���e��$�L��A�G0I�G8A�G,��$�A�G(A�G@�_�������C��t��H�t$ H�H�D�H9�HC�H�D$ A�\$I��H;\$(�TH�\$8H\$0�P�觻��I��H������H�|$H��I�G �E��L��I��I�H�D$I�G�>��H����M��I��I�G�����M��t~H�t$L��L��螽����$�I���CH��)�Hc�H��H�sI�����{����ʃ�H�|���H�|�H���H��g���fDI�G I�GH�x�����f�L����������H��$�dH3%(����H�Ę[]A\A]A^A_��H�59�1����������H�D$ H�D$H�T$@��H�D$@H�D$H�D$H��$��D$P��$��D$d��$��D$TH�D$ H�D$X��$��D$`H�$H�D$h�F������<������H�5��1��#�������Y��f���H�}�"�@��H�=m�"�@��AWAVAUI�͹ATUSH��H��H�nL�wdH�%(H��$x1�H�vH��$`H��$xH��H�D$ H�D$H���@��$pA�F�D$��$aA���$`A�Ff��$bI�FH��$h�=�t=������D$H�D$`H�D$M���#H�D$HL��$`L�t$H�D$(H�D$PH�D$0H�D$XH�D$8�hL�4��L��L�t$XI�EL��H�p�3��I�E�1�L)�H�@I�<��ص��I�EL���L$H�T$8H�|$ H�@L�L$(L�D$0H�D$XH�D$�PH�T$XI�}L��I�����M�����3����������H����H�T$HL�0H��H�=`H�D$HH�PH�S�"���L��H���C���H�55L������I��H���@H�x�5�x��H�{H�����I�EH���PL�HH�H(H�p �pM�$�;A�T$H��A��XZ蹸��E����M�mPM����I�EH�|$�H�hH�pL�$�L���������t�N���-����@���H�L$I�EH�yH�p�C���H�xH�T$H��E1��׽��������������M�mPM���u���1��\@D��L��H������M���DI�EH�p�fD��$aH�L$PL��I�}����D�L��H���X��H��$xdH3%(uIH�Ĉ[]A\A]A^A_�I�EH�t$L��H�x�{���I�EH�h�?����
L��H�������w������H������.���}N��w+�H���t����H���f.�1����t�H���I����H����1�H��Ð��H��H�5�"H�==�ŵ��H��t�HH������H�����H��tH��H�=H��鋹��H�5�H���S����SH��H�H��t躾��H�{H��t謾��H��[飾����SH�5�"Hc�H�=��%���H��tH�X[�f.���H��tnUSH��H���G�x���H��H��t#H��H���0����uH��H��[]����fDH�5o�1����H���;��H�����H�������[]ø�������AUI��A�չ@ATL�BI��U�@SH��XdH�%(H�D$H1�H��H�������?�H��L�����H��H��uE��u'H�L$HdH3%(H����H��X[]A\A]�D��葳��H��H��tIH�r���H��H�����H��tRH��L���w����DH�5���1�1��������fDH�5���1��m���a����H��1��ּ���J���茻��ff.����AWH��AVAUATUSH��H��XL�hH�|$0H��H�t$8H��H�T$@��U��H�D$ H����H��E1��H�@PA��H��u�A���1L�t$ A�����A��Hc��w���L�d$ Ic��H��I�D$�]���I�D$I��H���U���S,�����A�T�Hc�H�\�H��H�CXH�[PH��u�H�D�H�E����Ic�E1�D�|$L��H�D$H�D$ �A�G�M��M�݉D$LH�D$(L��I��H����L9|$(��L�|$I�wB�|=D��E��H�t$uل�u	H�L$ �AK��I�O��H�L$H��H�BPB�D=9D$��L��I��L��Mc�I��f�A�<ueI��H�|$H�K��H�rH�H�JH�H��H�pH)�H)�H�xH��r�����u*K��I��Lc�H�H�QPH�BPI��H�H�BXA�H��9\$�I��L��M��H�D$ �L9|$(�	���H��D�|$L��I�Ƅ��XH�D$ D�8�@D�|$LM��H�l$1�L��O�d=I��I��L��L�d$ �DI��I��I9�t[A�>u�A�D$H�T$@I�MH�t$8H�|$0������tˉ‰D$�1�H�5���b����L$��D�I��I��I9�u�@H�l$1��
�H��H�T�H�L�H�JPH��tH�T�H�L�H�JXH�PL9�u�H��X��[]A\A]A^A_�f.�I�nA9���H��tH���V���I�FH�D$ H�xH��t�;���H�D$ 1�f����@H�D$ ��s,��t1��DH�D$ �@���H�T$@H�t$8H��H�|$0H��X[]A\A]A^A_�]���H�D$ L�p���E1��n���H�D$ 1��@�,���H�����ff.�@��H��1��a���H��tH�¸�:t	1��z��H��Ð1�H���f���H��1��!���H��t$H�¸�:t
�B8B����H���D1�H��Ð��H����������H�=K�H��H��雲��f.����AUI��ATI��UH��SH��H��H�H�NH�VH9HH��HFpH�xHc��S���A�$�����1���w��t0�L��L������1�H����[]A\A]�@����u�H�CH�SH��H��H�HH�KL��H��L��躭��H�kH����[]��A\A]�fD��t�L��L�纀�L���H��1�[��]A\A]�ff.�f���H�5%�"H�=���y���f���ATUSH�GH��H�H�4��п��H�SH�CH��苲��H���ò��I��H��t5H��t0H��H���k����u!L��H���\����uH��[]A\�L���@1�H�5*��1��û��H�����L����H���;��[�����]A\Ð��AUATUSH��H��H�GH�H�4�����H�SH�CH���ձ��H���
���I���u���H����M��I������tOM��tJH��H�������u;L��H�������u*L��H�������uH��H��[]A\A]�n���fDE1�1�H�5d��1����H������L������L������H���P��H�������[]A\A]���S�H����Y���H��tH�H�H�SH�P[�@��AWI��AVAUI��ATI��USH��H��(H�H�VdH�%(H��$1�H�H�NL�$H�|$H9HH��HFpH�xHc��<���H�kL�sL�L$L�ϹA��H��L���d���H�UL�$H�D�I��A�E=�����=��(E���WI�$H�AH9��FH�IH9�����H�H�L$L�I9���L�T�H��L��L��H�kH��L��L�KL�$�^���L�$A��A�D$(��uJI�<$H�S�G�H���v<u6H�sH��L�$�e���I�$L�$H�SH�@I��L�T��I�$�@�H�SH��L�sH�S�`f���wS=����E����I�$H;h��H�@H�|$H��H9w
H9G��L��L���]����	A�H��$dH3%(D����H��([]A\A]A^A_�fDH�D$L�H�D$E1�L9P�����@L��L��E1���랺��K���fDH�D�H��L��L��H�kH��L��L�K���L�sA��H�k�[����(���I�����ATI��H�=j�UH��H�5��"S�ߨ��H��H��t5���h���H��t3L� H�hH�CH���"H�C(H����H�C H��[]A\�f.�H��1�覲����@��AUI��ATI��USH��H��购��L��L��H���f���I��H��t@H��t;H��H�������u,L��H��������uH��H��[]A\A]�i���f�1�H�5���1��۶��H������L������H���S���H�������[]A\A]���H��tbAVI��AUI��ATI��USH���	�H��H��t8H�kPH��L��L��H�CPL���k���H�kP��t�[]A\A]A^�f.�[1�]A\A]A^�1��f���H�5��"H�=���I���f���UH��SH���޽��H��H��t&H��H���k�����uH��H��[]����f�H�5���1��͵��H������H���M���H�������[]Ð��H���s���H��tH��H�=d�H��髪��H�5a��H���s�����SH��dH�%(H�D$1��:��tH�\$dH3%(uNH��[�@H�H��H�NH�RH�T��HWH��H��9w����H�;H�T$��A�D$�@���1���'������AWA��AVA��AUA)�ATI��H�=��UH��H�5F���S��H���ʥ��I��H��tB�HMc�H��L��L�p�����u(D)�H��H��L��Hc�[H�]A\A]A^A_�F���fDH�5q��1��M���L��腯��L���ͼ��H�������[]A\A]A^A_�f���AVI��AUATI��H��UH��SH�6H������H���4L�h8�=���=�ulH��H��tU@H�EI�}H�PH�p�;���H��t.L�`0M��t%I�T$ H��tI�|$tI�|$���H�[PH��u�[1�]A\A]A^�@H��H��L��L��A�E[]A\A]A^�O����H��t�H���fDH�[PH��t�H�EI�}H�PH�p���H��t�H�P H��t�H�H(H��t��pH�;�G����DA�t$H�;I�L$(�-���I�T$I�t$H�;�����>���fD[�]A\A]A^�f���H�~H�5Q�"�ܬ��ff.����H��� ��9���H��t�@H������AVAUATUSH��H�G@L� H�hH�XL�hH��tPD�3��1�H��H�=^�����H��H�����I�|$0L��H��H�����D�3H��[]A\A]A^��H�|$�΢��H�|$H��H�G8���UH��A��SH��H�Q�"H�5J�"蝚��H��tHH��H���
���H��H��tEH�5v�"H�=��袢��H�C0H��t9H�kH���}���H��H��[]�1�H��H��[]�@H���ȫ����fDH��1��v���H��讫���ff.����1�1��鮠��ff.���USH���1���H��H��tH�h0H��t	苙��H�E0H��H��[]�ff.�f���USH���Q���H��H��tH�h0H��t	�K���H�E0H��H��[]�ff.�f���H�5���@�����H��裬��H�=��H��H���p�����AWE1�AVAUATUSH���:�tH��D��[]A\A]A^A_Ð�F( u�I��H��I��H��虦���h�H�D$赠���p�I��裠��H�UH�u�@H��H��I�$����A�E��OfD�C<t}<�tyH���ĩ��H�SH�sH�|$H��蟸��I�|$�u����CI�D$A�D$,L��L��H��L���^���H�uH9sH�SH�}A��H��HFKHc��[������{���A�E�A�N������H��H�5��"H�=R��%���H��t�HH����SH��觳��H���/���H��tH�C[���H��tSH��H�?H��t�֕��H��[�-���D����UH��� SH������H��H��t"�oE�oMH�}H臨��H�H��tH��H��[]�DH��1��ƨ����@��S1�H���q���H��[騨�����H��tSH��H��*���H��[遨����ff.�@��USH��H��tAH�5"�"H��H�=m����H��H��tH�XH�;臠���CH��H��[]�f.�H�5���1�1�苭����f���H�=�"H�G H���"H�G(�D��H��tH� 鞝��fD����UH��H��SH�����H��H��t#H��H��舶����uH��H��[]�6���fDH�5y��1����H���%���H���m���H�������[]Ð��������H�5R�鰯����H�5B�����H�5�H�=��驝��f���ATI��H�5�USH��H�=������H��tkL��H������I��H��t/H��H��謵����u2L��H��蝵����uAH��[]A\�M���DH���P����[]A\�H���>���L���6���������������L��� ����������f���ATUH��SH��dH�%(H��$1�H����H�������H���~H�_I��I��H�w�L��H���ۯ��I�<$L�EH�KI���EH��H�wL��H��H�D�������������H��$dH3%(uH��[]A\���������D���@��AWAVAUATUSH��H��tyH��ttL�>H��I��M��M�ĉ�H��I�I�W0H9�tH�D$�9���H�D$I�GH��L��H������Å�u(@��L��L��L���֛��H����[]A\A]A^A_�D�������f���AWAVAUATUSH��H��dH�%(H��$1�H����H�������H����L�oL�&H��H�wH��Mc�N�<�L���_����A�EJ�|=J��H�H�sL��H��J���ޜ��C�T5H��L��Hc����1�H��$dH3%(uH��[]A\A]A^A_�@�������财��@��H��t"SH��H�誔��H�SH��H�{[���������ff.�@��H��H��tL�HH��E1�1�H��������������AVI��I��AUI��H��ATM��USH��I��H�� dH�%(H��$1�H�l$H�T$H��辯��I�$H��tUH�HH�PH�<�H�t$H�H)�H�H)�蟑����x+1�H��$dH3%(ucH�� []A\A]A^�fDI�H�t$H��H�HH�P�X�����~�I�<$H��t�F���L���>���H�T$H��I�$H���J������>���ff.���1�H��t}D�>t+�V9�sd��t9�s��f.�H�vH��u��fDH�V�
9�r%L�FB;|��w�9�vH��f�H���J�9�w�9�t��t9�s����D;~w��������SH��H��PH�t$(H�T$0H�L$8L�D$@L�L$HdH�%(H�D$1�H�D$`�$H�D$H�D$ H�D$�.fD��HT$���
�$��t1��E1�E1�1�1�H�������$��/v�H�T$�
H�BH�D$��u�H�D$dH3%(uH��P[����f���ATI��UH��S�]���H��H��t
H��[]A\�D���)���H��H��t�L��H����H���O���H��H������H��[]A\�ff.����H��t/H���?H�rH��u
1�9zw�D������G�@1��DAVAUATUSH��dH�%(H��$1�H��tyI��H��H���fDH�[PH��t_H��B<t�K(��u�<�u�B�H��@��<�u�H�5�H���x���H��I���m���A�E��u=H��@H�[PH��u�DH��$dH3%(u`H��[]A\A]A^�DM�t$I�t$�H��J���y���J��A�EI�VH��J�D�H�;�)���H��@��%����������AVI��AUI��ATUH��SH�GH;��"tBH�W0H��H��t6L�%���L9�t^H�H���H�5 �H��HD�1��r���L9ct$�}�uL��L���h���[1�]A\A]A^�D�K�����G��y���ff.�@��AWAVAUATUSH��H�|$0H�L$(dH�%(H�\$x1�H����H����L�gM���rI�<$�gH�D$0I��H�^H��I��H�@0H�0�y���H��tA�����=���L���U���A�����=����t����H�|$(���C��L�t$�D$\H�H�D$HH��H�D$PH�D$pH�\$8H��H�D$H�D$hH�\$@H�\$(�D$XH�D$ ��f�H�D$�=��nI�H��tI�G0H9�t
�W���I�GI�UI�uL�����H�5U�H��谥��H��H����H�t$8I9w��I�GH�|$@A�T$H�8H9��H�D$�=���I�wA�D$�EI�t$H����I�GL�t$@J�<0�����E�����H�[PH�����C,�D$��u�H�D$L�;�8��I�uI�WI9wI�}H��IFO����������I�EI9G����I�WH��H�H�������H�D$�H��u0=�u)H�I�EI�G����DH�D$�f�����=����C,H�[PH���6���f��D$XL�t$����H�L$(H�|$0L��L���*���A�>��D$��H�\$xdH3%(�D$��H�Ĉ[]A\A]A^A_��A������H��H��荥������H�D$��ƒ����x=�����e���H�|$�H�����N���fDA�T$H9������EI�t$H������I�W9T$\��H+T$HH�MH�t$PH��H��H��Iw�F���H�D$hH��H����A�T$L�u�����D$L��E1�M��I��@H�t$H�|$ �L��H�D$p�|������$�T$H�D$p��u�EH���
f.�A�VA��M�$$D9��H��t��L$��t�M��H�D$hH�D$����ts���B����6H�|$��H���L������HDžA�D$�EA�T$H�������u�H�|$����t9Uu�H���u��D$X���fD� �葏��H��H���mL��I�<$�՘���EH��H���H�EH�=6�蔜��H��H���ɐ�����@H�|$��H���~��9���f�H�5A��1��M���H�D$0M�$H�5M��H�HH�1��*����D$����DL�t$H�|$(�Y����H��L���	�����@H�L$(H�|$0L��L���ێ���D$���f�H�|$(H�5a�迠��H���w���fD�D$����D$H��������@M���s���I�W��J;2�����D$\I�GHDž�;���H�|$�H���V�����H�L$(H�|$0L��L���\��������D$���������U���D��UH��SH��H��H��8���H�C�Hc�H�>��H�FH�@H�PxH��t
��H�EH�@�{(H�@P��H��tH�{ ��H�C H��[]�DH�FH�@H���H��t
��H�EH�@�{(H�{�LH�s �H�EH�{ H�@�PP�DH�F�(H�@u(H�@HH���eH���H�C H���yH�EH�@H�@XH���i���H��H��[]��f�H�FH�@H�@hH���G���H��H��[]��(�G)��<�
H�EH�@H�@pH��tH���H�{ H��tH�EH�@�PPH�C f�{(���H�EH�{H�@�PPH�C����H�FH�@H�@`H�������H��H��[]��H�5���1��=����H�C0H�}H�0H��[]���f��PPH�CH��[]�fD���6���H�wH�������!�����@H��t�H�{���H�G �
뉐H�wH��s��������뾺
�g���ff.�@��SH��1�H�5���H��[� �����H��t7SH��H�0H��t f.�H�GH�C0�Ô��H�{0H��u�H��[鱔����ff.�@AWI�ϹAVAUI��ATI��USH��H�_H�wdH�%(H��$1�H��L�4�H��L���@���A�$M�eJ�|5I�uH��J��H�D��Ō��I�?J�T#H���Ֆ��H��$dH3%(uH��[]A\A]A^A_�諒��ff.���AVI���AUI��� ATI��UH��S���H����H��L�(M����A��$�uFH����H���H�ktH���teI�F L�cL��L��H�X[]A\A]A^鶏��fDI�|$HtI�|$PtI�<$u�H�5r��1�覘��H�����������[]A\A]A^�H���"H����H��"H����n����������H�=���:���H�5S�H�C�H�5���@��AWE��AVI��AUI��ATI��USH��H��H�5�"H�?�0���H��H��t8H��H���m�����u)H��E��L��L��L��H��[]A\A]A^A_�����H�5���1�轗��H�����H���=���H���[]A\A]A^A_�f���H��t/H�G H��t(H�w�"H9Pu��H9PtH�@0H��u��1���@��H�5���@�����H���[H���RAVAUATI��UH��SL�nH��L�v M����H�H��tOH��tIM��t
H�9��H����H�EH����H��L��L���Ѕ���I�$�,fDH�EH��tH��L��L���Ѕ��|I�$1�[]A\A]A^ÐH�G8H��tH��L��1��Ѕ�tQ[1�]A\A]A^�fDH�O(H���a���H��L��L��х�t$I�$�I���I�$1�[]A\A]A^�D[�]A\A]A^�f.�H�E8H��tH��L��L���Ѕ�t��C)1��S���D������f���H��tH��tH��t
H��t����ff.�@��AWAVAUATUSH��8H�|$dH�%(H�D$(1�H����I��H��H��E1�L�t$�LDI�GL��H�D$I��H�D$H�EH��PXH����H�ML��H��H��QA��H�[PH��tY�C,��u�H���‹��I��A�E��=�u�H�}L���ś��H��thH�|$H��H��L��H�$��z��H�$�E1�DH�T$(dH3%(D��uBH��8[]A\A]A^A_�fD��H��L���@����a�����H��L���(����I���融��ff.���AWAVAUATUSH��8H�|$dH�%(H�D$(1�H���H��I��L�l$I���8�����H����H�H�hI�O0H�HI�G0H�[PH�����C,��u�H��艊��L��L��H��H�@H�D$H��H�D$A�T$XI��H��u��H��O�����I���=���I��H���#M���I�G0I�FL��I�I�GH��I�hL�$�PXI�GH��tWH�PL��L��I�WH�I����H�[PH���A���f�H�D$(dH3%(�H��8[]A\A]A^A_�DI�FL�$H�@@H��t'L�$L���I�GH����A�G(�x����H�D$L�$���~:=�t3H�|$��H���G���L�$L�$L�����L�$L��������H�|$�H������L�$��M��tL�����M���(���H�D$(dH3%(u-H��8L��[]A\A]A^A_钌��H�|$�H������|����6���fD��AVI��H��AUI��ATI��UH��SH�� dH�%(H�D$1�茉��H��H��tLH�,$H��H�5��H��L�d$�D$����D$H�L$dH3%(urH�� []A\A]A^��H�=���<���H����L��H��H���"H��H���H�O�"H����+���H��H����L��H��L��H������V����E���D��AUI��ATI��UH��SH��H���EH�W��~:=�t3H��H��L��L����}��H�{0t0H��L��H��L��H��[]A\A]頁��H�L��H���Bz��H�{0u�H��[]A\A]���H����D�����t��f��ۊ��ff.�ATUSH�� dH�%(H�D$1�H��tcH��H��t[H��tQ�NH��H�G`��t3H��t^H���I��M��tqH�L$dH3%(L��u|H�� []A\�D1���I�����H�5c��1�E1�躏����H�VH�T$H��H��H�$��I���f�H��舋����t��1�H��U`I���q���譈��ff.�f���AWAVAUATI��USH��XH�|$H�=x�H�t$�2H�L$dH�%(H�D$H1��n���E�,$A����A�������u1�E����L�|$M����H�D$1�H�XH�D$0H�D$ �A�W,����L���|���I��A�$��=��C��<�k1�<uI�VH�{L���5���I��H�����C<��<��<tH�|$L��L��L�L$(謃��L�L$(I��x���A�,��M�PM���U���A����1�H�L$HdH3%(��H��X[]A\A]A^A_�<��1�<uI�vH�CH��PXI��H��u�A�$��uH�D$�@(t��L��L���i���I��x�u$�a���L��H�=D�1�臋��L��H�����H�s1�H�=9��j���L��H������ ���f.�I�FH�t$ H�D$8I��H�D$0�S����I�FH�T$ H�D$8I��H�D$0����H�|$H�0����O������A�$�H�L$L��H�t$��}��A�$����D���
���fDI�I�~L�L$(I��I�qH�����L������CL�L$(����f�L��L�L$(��r���CL�L$(����D1��4���蔅��@��AT�I��USH�� ��|��H��H��t1H��tnH�XD����M��DˆEH���tH���t&H��[]A\�f�H�a�"H���H�]H���u�H��"H���H��[]A\�fDH�=;�茅��H��H�EH���z���H��1��������H��tSH��H�H��t�%z��H��[���@����H��t'H�H��tH��tH������1�H���f�������f.���H��t'H�H��tH��tH�����1�H���f�1��ff.�f���H��t7H�t0H��t+H��t&UH��SH��H�����H��H���
���H��1�[]Ð������f.���AWAVAUATUSH��H���5I��I��� A��A���{��H�5�H�=��H���d{��H��H����H����E����EDD�L�}D�mM����L�eI��$�t<I��$�tKH�j����KH�C H�k���H�kH�C(H��H��[]A\A]A^A_ÐI��$�H�(�"I��$�u�H���"I��$��DH��tH������H��tH�����H�5���1�1��a�����H�=���,���I���9���@H�5!��1�1��+����S���fD��ATUSH��H��H����H� ��H��H����H��H��t9��H���.���I��H��t>H��H���;�����u/H��H��H��[]A\���@H�?�L$脂���L$H���H�5���1�腈��L��轃��H�����������H��[]A\��H�5A��1��M���H���Ր���������ff.���H��t<UH�5��SH��H���b���H��H��tH�x�v��H�EH��H��[]��z��������D��H�5���Њ����AWAVAUATUSH��8dH�%(H��$(1�H�D$H�D$H����I��L�d$H�l$ I���8~��H��L�ᾀL�HA�H���k����f�I��I�GXH��u�L�l$H��$ �DM�PM��toA�G,��u�L����}��L��L�꾀L�HH��A��
���H�L$H��H��H�4$�p����u�1�L��H�=���ф��L��H���y��M�PM��u�DH��$(dH3%(uH��8[]A\A]A^A_�����ff.���AWAVAUATUSH��8dH�%(H��$(1�H�D$H�D$H����H��L�l$L�d$ ��|��H��L�龀L�HA�L�������@H��H�CXH��u�L�t$H��$ L�=���fDH�[PH��t_�C,��u�H���|��L��L��L�HH��A�軌��H�L$H��L��H�4$�n����u�H��L����~��H�[PH��u��H��$(dH3%(uH��8[]A\A]A^A_��~��ff.���1����D��H��H�w1�1�L�H���{��D��U�(H���SH���u��H��H��tH��uH��H��[]�DH���P���H�CH��H��[]�f����0��mu��ff.�f���USH��H��tb�0H���d���H��H��tMH�;tH�8�~��H�EH��t.H�{H��tH�s�y��H�EH��t
H��H��[]�H�}�~��H���~��1�H��H��[]���USH��H��t9H��H�?H��t�!k��H�{H��t�s~��H��H�k�g~��H��H��[]�D1���@��H���[H���RAUI��ATUH��SH��H�>tH���<q��A�E���H�UH���!I�] H��t<H�MH�sH�{�l����u%H�5��1��R���H�������[]A\A]�f�~EI�]H����E1��@H��H�{H��tH�MH�UH�s�+l����?t�H�C I��H��u�H�E H�](H�k H�}(t/1�H�} t3H��[]A\A]�fDH�] L�e(H�k(H�](H��u�I�m1�H�} u�I�m H��[]A\A]��H�}�i��H�E���H�E H�E(뵸�����I�UH�5���1��K���������h������H��tOH��tJH�F(H�V H��tH�P H�F H�V(H��tH�P(H���@H�WH�F H�V(H��u�H�W H����1��D��UH��SH��H���w��H��H��H��[]�m��f.���H��tH��tSH����v��H��[�w��1��ff.�f����{�����H��tgUH��SH��H�?�vh��H�}H�EH��tDH�_ H�G �?w��H��H��u�H�}H�EH��t�{��H��H��[]�{���ff.�@��S�0H����q��H��tH�X[�ff.���ATUSH��t[H��tV�oH��H���oON�oW V H�?H��t	�z��H�EH�{E1�H��t
H�s�)u��H�ED��[]A\�DA����������v�����SH��t&H�5�"H��H�=���@q��H��t�HH�X[ÐH�5	��1����1�[�f���AUI��ATI��H��UH��SH���i��H��H��t)H��t$H��L���)�����uH��L��L��[]A\A]�v��H�5��1����H����z��L���
���H�������[]A\A]�ff.�f���AUI��ATI��UH��SH���d��H��H��t,H��H��衈����uH��L��L��H��[]A\A]�l��DH�5a��1��~��H���5z��H���}���H�������[]A\A]�ff.�f�����q�����H�5G�鰁����H�5,�頁����H������H��tH�@H���D��AWAVAUATUSH��8dH�%(H��$(1�H�D$H�D$H����I��L�d$H�l$ I����t��H��L�ᾀL�HA�H�������f�I��I�GXH��u�L�l$H��$ �DM�PM��tbL���t��L��L�꾀L�HH��A��„��H�L$H��H��H�4$�f����u�1�L��H�=��{��L��H���o��M�PM��u�H��$(dH3%(uH��8[]A\A]A^A_��v��ff.���AWAVAUATUSH��H��(dH�%(H��$1�H��H��$`��H�������H�������=�tDH��$hH�;A��H���n��1�H��$dH3%(��H��([]A\A]A^A_�f�L�wH�wL�l$I��L��D�L$N�<�D�$L���߀��I�L$Lc$K�|=J�D�I�t$H��N�D�H�$�]o��H�$H�;L��I�T�iy��D�L$�;����������C����Iu��f���H��tH�G�f�1��ff.�f���H��tH�F �f�1��ff.�f���ATUSH��t8H�_I��H��H��t)@H�SH��tH�KL��H���d����tH�[ H��u�1�H��[]A\Ð��AWAVAUI��ATM��E1�UH��SH��H��(H�GH�|$H��H�$���H�D$M����@A�,����L����q��I��H��t|����Rx��`������A�������XuNI�H�EA�H�����H�<$H)�HQH�IH�t�����H��tH��H�=)�1��x��L��H����l��M�PM���[���E��tD�#D���=���H��(1�[]A\A]A^A_�f�=���=���=�u�I��xu�H�MH�PH�qH9���H�����H�@H�<$H)�H�H�t��V���H����1�H��H�=h�A���w��L��H���l��M�PM��������6���f�H�4$1�H�=5��w��L��H����k������@M�PA�M���M������I��x����H�MH�UH�pH�x�nb��H�MH�U�D$I�H��H9HH�xHFp�Jb�����
H�$L�X�L$��Q�UDI�H�EH�����L�\$I�sI�{H)�HJH�RH�T��a��L�\$�����!M�[ M��u�A�H�t$��A�;FwH�$L�XM����A�G,M�PM���[������fDL�t$L��H��H����L���\i��D�#A�NH��([]A\A]A^A_�DL����H����|��M�PM����������fDI�H�<$H�EH�QL�_H9�����t$��~<H�pH9�tH�pH9�����H�QH�<�t&�
���H�QH�<�������H�D$�@A�M�����L��1�L�\$A�H�=��u��L��H���i��jL��A�jL�\$H��H��E�L����u��M�PXZM���#�������M�[ ���UI��E1�1�SH����H��(dH�%(H��$1�H�\$H�T$H�D$�H���~��H�T$H��H���E���H��$dH3%(u
H��([]��p����H��tH�W1�H��t@H�R ��H��u��1��D�ff.�@����a�����H��tH��tH�VH�v���D1��ff.�f�����a�����������ATUSH��tCH��t>H�_I��H��H��u�-DH�[ H��tH�sH�{L��H���^����~�H��[]A\�1�H��[]A\�fD���7x�����USH��(dH�%(H��$1�H�D$�H��tZH��tUH�l$H��H�T$I��H�タE1�1��k|��H�T$H��H���+^��H��$dH3%(uH��([]�fD1����_n��ff.�@���gu�����H���c`��H��tH�@H���D��H��tH�F�f�1��ff.�f���H���c��H��tH�@H���D��H���g��H��tH�@H���D��H���3p��H��tH�@H���D��H���#f��H��tH�@H���D��H���]��H��tH�@H���D��H��H�5��"1�H�
��H�=���\o��H�5}�"1�H�
�H�=��H���<o��ff.����H��t?USH��H��fDH�{ H�k0H��t�&n��H��H���n��H��u�H��[]������H��tGUSH���|i��H��H��t&@H�{ H�k0H��t��m��H��H����m��H��u�H��[]���ff.�@��H��tH�?�^�������H��tH�?��Z�������H��tH�?�i�������H��tGUSH��H�?�h��H��H��t#�H�{ H�k0H��t�m��H��H���m��H��u�H��[]���ff.�@��U�H���SH���c��H��H��tH���dl��H�H��H��[]����AUATUH��SH��H�H��tfDH�_0�wl��H��H��u�H�}H�EH�wH��tPf.�L�f �h��H��H��t)�H�{ L�k0H��t�&l��H��L���l��M��u�H�}L��M��u�H�GH�}�i��H��H��[]A\A]��k�����AUATUSH��H����H���h��I��H����H�[H��tWL�`��8H����u��H��I�$H����H�{ H��tH�s(��u��H�E I�,$H�} t"H�[0L�e0H��u�H��L��[]A\A]��L����f��H��H��t"H�{ H�k0H��t�k��H��H���k��H��u�E1�H��L��[]A\A]�DL���f��H��H��t��H�{ H�k0H��t��j��H��H����j��H��u�E1��f���SH��t&H�5_�"H��H�=ɲ�0a��H��t�HH�X[ÐH�5I��1���o��1�[�f���AUATI��UH��SH��H��H���I�<$��A�T$����H�KH��t61��������H�I09�G�9�B�H��u��uA�|$A�D$��tyH����U��I��H����H��H���x������H�3L��H����\����uH�U H��tH�z0�D$�j_���D$H��[]A\A]�A�L$��u��R���f.�A�t$�f�H�H�8H��������h��I�$����� ��q_��I��H�������H�5��1��n��L����i��H���w��������[������H�5��`q����UH���SH��H���_��H��tDH�(H��t,H�m�"H��H���"l��H��H�=��"[H��]�s��DH�UH�Z��fDH��[]Ð��H��tH�=`�"�U��H�H�=N�"H�p�U��D��AUL�~�I�չAT�I��UH��SH��dH�%(H��$1�H�H��H��L�H1��9]��=�wRH��I��I�UH)�H�<�T�����tOH��L���Dj��H��$dH3%(uPH��[]A\A]�H�EH�5��H�P1��l��1�뽐H�EH�5��H�P1���l��1���f��ff.����UI��Hc�SH��L�L��I�AM�IH�l��BL��L��H�H��H)��Z��H��t"H�8H��H���Do��H��tH�H��[]�DH��1�[]����H�?�W��@��H�?��W��@��H��tH�?�l���1��D��H��H��t;7u�fD90t	H�@0H��u��f.���H���&AWA��AVM��AUM��ATA��U��SH��H��H��l��H��H��t3�@9����R1�D9���H��[]A\A]A^A_�f��8�H�$�\��I��H��t}M��@�hH�$D�`D�8t%L��L��H�T$H�$�
p��L�$H�T$I�@ M�p(H�CH��u�I�H��D;8rH�H0H��H��u�L�@01��i����I�@0H��t/L�B01��T���@������F���fDL�C�7����L�C1��%������f���UH��S�H��XH�t$(H�T$0H�L$8L�D$@L�L$HdH�%(H�D$1�H�D$p�$H�D$H�D$ H�D$�s�H�D$�ٍS�$�4������/���K��$��/��D�C�D�$A��/���{ N��<$��/wv��(H��$L�H���Ej����/v�H�T$�2H�BH�D$��t$�L�@A�I�xL�H�GH�xH�|$�DH�D$dH3%(uH��X[]�H�D$����b��H�D$����H�|$D���L�D$������S����R��H��t��H��[�4j��@1�[�ff.����H��tTATA��U��SH��H��j��H��t
D�`1�[]A\�f��8��Y��H��tH�S�(D�`H�P0H�C1�[]A\ø�����H�5n���h�������D��H���fAWI��AVA��AUI��ATA��UL��SH��H��mi��H��H�����@��D9�te<�t
A�����H�{ M��tsH����k��H�C M��tH��tH����H��L��H���.[��D�c1�H�k(H��[]A\A]A^A_�DH9k(u�M��tmH�{ H��L���T����t�H�{ �@1��ak��H�C ��8��iX��H��H��tWI�WD�0D��D�cH�S0I�_�)���������x���@1��m����C�H�5��H�C(�Tg�������F���H�5���1��7g�������)������f���USH��H���N��H��H��u
�D@H�[0H��t7H�K �SH��L�C(�3�f���{tۋ3�H���,Q����f.�H��H��[]�fD��ATI��UH���S�SW��H��H��t$�@H�}�;S��I�|$H���`��H�EH�+H��[]A\�ff.�@��H���	H����AWI��AVE1�AUATU1�SH��H��HH�L$(H�t$ H�|$0H�D$H�D$8D�c,E���KH�D$0H�L$ I�����H��H�@H�QH�$H�D$(I)�H�H�HLhL�l$H�t�H�t$�h��H��I���a\��I��A����r=��gM���6I�l$M���H���$A�uH���[f��H��A����,����������n����H�D$�xtr�P�@���NH�D$�@��tTH�$H����H�8L���4[��I��H�����I�|$ M�t$0H��t�<_��L��M���1_��M��u�@H�[PH�������H��H1�[]A\A]A^A_�f.����0H�����}�H��u@8pt��H��L���i���fD=���=�������H�D$�x�j����H�@H�$����H��tH�8L��L����K��M���8���L����Y��I��H����@I�|$ M�t$0H��t�4^��L��M���)^��M��u�����=��EH��tD�MA����	f�H�޺�L��� h��H�[PH���S������fDM��t�A�������=������f.�H�4$L��L���Q��H�D$8H���kH�D$8H�T$H�t$H�8�e��H�D$H����H�D$L�0A�?MF��B���f�H�T$�z�Bt-�B���kH�<$tH�$L��H�8�}N��H�D$�@������1�L��H�=���l`��H��H���T��H�[PH���T�������H�5!��1��5b��H��H�[]A\A]A^A_ÐH�D$H���j����x�`����@M���P���L���X��I��H����@I�|$ M�t$0H��t�L\��L��M���A\��M��u�H�[PH�����������f.�H�����}�-H�$A�u9p��H�} H��t
��[��H�E H�H�p(H�x ��Z��H�E H����H�H�@(H�E(H�$A�u9p�����H�H�@ H�H����H����H���]���H�E H��M���DM�������Q��H�D$H��t6L���vY��I��H�D$L�0H�L$H�T$H�t$H�|$8�i������DH�޺L���He��H�[PH���{�������fD�u(H��L��L���u H�|$0E�E��^��H�[PAXAYH���B������DH�$H�������H�8L��L���
H��H�D$�@���H����H�8L���LV��I��H����I�|$ M�t$0H��t�\Z��L��M���QZ��M��u������H�$A�u9p����H�H�@ H�H��H�����H�<$L����P��H�T$H�t$H�|$8H��L�0H�D$�|h������H�޺L���d��H�[PH���C������fDH�$D�XE����H�$D�PE����L�d$�Q���@H�[PE1�H��������X���H�$A�u9p��H�H�@ H�8�H�H�54�Hc�H�>��M��t<L���T��H��t/H�\$H��H�{ L�k0H��t�Y��H��L���Y��M��u�H�\$L�l$(�f�M�mPM���[���L����`��I9�u�L��H�5Ӡ�W��L��1�H�= �6\��L��H���kP���L��H���^O��H�D$L�0�V���H�D$H��t8�x��u1H���{����H��L��1��b���8���H�D$H��t�p��uϺH��L���b�������
H��L���jb�����H�t$(�
L���Sb���E���1��H�H�@ H�8w�H�H�5�Hc�H�>��H��L���b�����H�D$�@���H�E H����������ff.���AWH���AVAUATUSH��(dH�%(H��$1�H��$H��� B��H�=Y�"H��H���Q��H����I���C��I��I�H�H�H����L�t$L�d$�B@�{H��L��L��H�D$��E���KL�L$1�M��1�L��H���a��H�H��tJH��u�H�=b��K��M��tL���V��H��$dH3%(�6H��([]A\A]A^A_�I�H�XH���H����L�t$L�d$�H�[0H��t[H�����{H��L��L��H�D$�+E���S�3L��L�D$L��H���R[���{t��3�L����E��H�[0H��u�I�H�8L���fG����udH���-���H�=��-J��H��1�H�5���G[������f�H�=y��J���1�H�5������[��M����������H�=2���I���H�=���I������*T��f.���H��tH�?@��E1�E1�1�1���_����ff.�@AWAVAUATUSH��(dH�%(H��$1�H�D$�H���
I��H��L�t$E1�H�l$�.D�{t����L���[��E����H�H����H�{L��H���XN��H������A��H�t$H��H���]��I��H�����xD�B��<���A�Du�I�WXH���z���H�:�p����J;J�d�����A��L�����[��E���g���f.�I�EH��
�H��H�H��u�Ic�H�B(H�H���;���f�H��$dH3%(uKH��([]A\A]A^A_�H�=��H��H�S�1�H�5��%Y���H�=����G����MR��ff.�f���AVAUATUSH�� H��H�� dH�%(H��$1�H�$��C��H��t)H��H�=9��~G��H��1�H�5A��X���EH�=
�"H����L��H��t8H�=.��DG��H��$dH3%(�^H�� []A\A]A^�DL�l$H��H��L���eL��H�����?��H�4$L��H���[��H����H�(H���KH�}�@H���>��H�}hI��H��tQL��$H�T$H�D$�L���K��H���u�?��H�t$L��H���8[��H����H�p`L�����H�u`L������L�uM��tjH�-��A�~D�g@��<���A�vH�N�1w{HcT�H�>���A�D$�A�v(��E1�E1�L���W��M�vM��u�H�$A�L��1�H���X��L��1�H����N��1�L���W���m����1��@H�=��E��M�vM���O����DH�=Q��|E���3����H�=���dE�������H�=���LE��M�������L����P����fDH�=���$E�������H�=9��E��H�UhH�5�1���%V��M��u����H�=1���D��H�UhH�5����:O��f.���SH��H��PH�t$(H�T$0H�L$8L�D$@L�L$HdH�%(H�D$1�H�D$`�$H�D$H�D$ H�D$H��u3�Mf���HT$���
�$��t1H�;��E1�E1�1�1��Z���$��/v�H�T$�
H�BH�D$��u�H�D$dH3%(uH��P[��qN�����H����D��H��tGSH��H��H��tH��H��t	H����H�� H��t�<��H��[�XO����ff.�@AWI��AVI��H�5�AUI��ATI��UL��SH��L�D$�W��H��H����H��H��tH��H��tH���H�EM��uH��u;L��H�E(L��H��H��M��u&H��H��[]A\A]A^A_�@H��H�|$��I��붐J��L��H���G�����(��D��H��H��t�H�����H��H�=@���Q��L��H���F���5���ff.���AWAVI��H��AUATUSH���H�$H�|$H�L$0dH�%(H��$�1�M��H�OHDŽ$�HDŽ$���H����H�L$(���H����L�|$(I�^�I�vI�GHH��H�D$`H��$�H��H�D$@�nW��HDŽܰI���I���H�$�=���=��PH�D$0E1�L�d$`H�-�I��H��u-�
�A�EH��L���U��H��tWM�PM����E�G,E��u�L���&I��I��H�����A�D$��9�r�A;T$v�A�G,�H��L���2U��H��u��(���B��H��tsH��H��H���P��L��H���<D��M�PM���x����H�D$H�$HDŽ$�H�D$8���H�|$ ��8��L���&L���H��$�dH3%(��
H���[]A\A]A^A_����`�����v����H�|$0A�HDŽ$�A�H�D$H�D$8�%H�D$01҃x,H�@P��H��u�T$|H�C�D$xH�D$HH��$�H�D$hH��$�H�D$pH��$�H�D$PH�D$ H�D$XL��M��I��H�|$ ��L�d$ �|$x��tH�D$(�@@tL��$�H�D$(H�T$ H�t$hH�|$pH���PH�D$ H���H�|$0��H�\$0�/f�=���H�5n��1��2P��f�H�[PH�����s,��u�H����F��I��H���@I�EA�H�5j�H��H��ĸ��R��H��H�$�����=���=��r���H�L$ H�T$HH��L�� H�t$@�W�����dH�� H�pH�PH����H�����H�l$(L��$�H��H��$�I�����H�����E@�D$�����T$|������H�,$H���E��L��H�D$8��V���h�H�D$��?��I��H���Q���H�|$0H�G`I�G`�E��1�H�=y�H��I����L��L��H���A��I�EH��$��E����=�����{���-����m���E1�1�H�=����A��H�L$0H�$L��H�|$�m?��M������@L��$�u5���$���D��������t���������DH�L$@H�T$X��H�=�u"L�L$ L�D$H�U��H�H��$�H�=�u"H�HH�P�7������H��$�H�����L�L$(L��$�H��H�5Pu"H��$����H�����l$|�`���L�L$ L�D$H��H�=u"H�L$@H�T$X�{T��H�$��M��tI�H�5ʕ��K��H�D$PH�|$PH��$��H�D$PH�pH�D$ H�
�t"I�FH�D$Lc`L��D9`�	H��$�H��L�t$�/f�H��$�H�|$8L��H����U��H�D$��I��9h��I�E�p�H�
Nt"L�d�H�D$�(�]=��I��I�H�������@H��$�H��H���I��H�$L��L��H�|$�c=��A�~I�A�G,�Y���L���L���d���@H�t$(H�F(H�������H��$�H�����������fDH��$�L�t$H�$�����@H�5i��1���K����*���H�|$ ��2��L���>��M������������H�|$ �2�������L$|H��$�����L�d$(H�t$hH�T$ H�|$pL��A�T$L��H��I�D$ H��tH��tH9�$�tH���H���3H�l$ ����f�1�H�=���I��L��H���G=�������D$|���H�D$0H��tsH���fDH�[PH��tdH���A��H��t�I��I�~��D��H�D$ H������I�UH�5����J��L����<��M��tL���E��1������M��u�I�UH�50��1��H��$�H��tH�t$(H�F0H��tH���HDŽ$�H�$�0����gL��M��I�ƍ�`�����v����H�|$0��L�l$0H�-]����t|M�mPM����A�E,��u�H��L����L��L��H���y@��I��H��t�H�$�=�t<=�u�H��H����I�}H���F��I��0��H�� �C��I�GH��H���t���1�H�=ȑ�JG��L��H���;���V���f.�H�$�0���t��=��1����M��H�$��H�=4|���@<��H�L$0H��L��H�|$��9�����p���L����D��I�V��H�rH���H��u#H�D$`�@�D$��H���A�E,�I�VH�t$@I�}H���E��A�E,���L��M��I��H�$�0��`������X������P�����������L���:��M��tL���B��H��$�1�I�EH�$����H�=A{�S;��H�L$0H�$L��H�|$��8�����HDŽ$�I��H�D$H�D$8�D$|���H�D$0H�������H��1��DH�mPH��tt�U,��u�H�5��H���J��H�� u�H���/>��H��I���dC����tA���D$x�A�I�EH�t$@��H��ĸH�}H�P�jD���E,��������H�|$ �g���L�d$ �L���DL�d$ H��$�H�D$ ���L�d$ ����@��fD��AVI���AUI���`ATI��UH��S�i7��H��H��tH��tH���@��H�CXL�sL�kL�cPH��[]A\A]A^����H��t/SH��H�XH��t
�u-��H�CXH�{H��C��H��[�@�������/t�fD��B��ff.���H�G�H���H�G H����H�G(�ff.���H��tgSH��H�=E�H��H�5�h"��6��H��t7H�X�C@u
H��[��H��H�D$�s8��H�D$H��[��H��1�[��1��ff.�f���ATUH��SH��H���zG��H����H��I�����u7M��t2L��H���N����u#�K( H�}XH�uHtDH��[]A\��;���H�5Y��1���D��L���%@��H���mM��[�]A\�H��t�H�>H��t���>��H�uHH�EX�@��H�5��G����AWAVAUATUSH��8dH�%(H��$(1�H�D$H�D$H����I��L�d$H�l$ I���;��H��L�ᾀL�HA�H���;K���f�I��I�GXH��u�L�l$H��$ �DM�PM��tbL���:��L��L�꾀L�HH��A���J��H�L$H��H��H�4$��,����u�1�L��H�='��A��L��H����5��M�PM��u�H��$(dH3%(uH��8[]A\A]A^A_��<��ff.���USH��(dH�%(H�D$1�H��taH��H�X�U=��H�t$H�|$H��H��H��SH��t*H���2*��H�D$H�T$dH3%(u!H��([]�fDH�D$��D1����<�����AWAVAUATUSH��xdH�%(H��$h1�H�D$PH�D$XH���'H�H���H��H��H���I��H����H�XL�|$@�n<��H�t$HH��L��H�D$(H��H�t$ �SI��H����H�D$PL�l$`H�D$H�D$8H�D$H�D$pH�D$L��M��I���*f�~�C@uxL��H��H�t$ L���SI��H��t_H�L$H�T$L��M�龀A�H�D$8��H��H�D$8L��H��H�T$H�H��*����u�H�|$(�(��H�D$H��H�|$(�(��1�H��$hdH3%(uH��x[]A\A]A^A_��z:��f.���USH��8dH�%(H��$(1�H�D$H�D$H�D$�H��t`H��t[H�\$ H��H�T$I��H�߾�H�L$A���G��H�D$H�sH��H�P��N2��H��$(dH3%(uH��8[]Ð1�����9�����ATUSH�� dH�%(H�D$1�H��tH��H��twH�PH��tmH�X�d:��H�l$H�t$H��I��H�l$H�|$H��SPH�D$H��tH��H����4��H�D$L���'��H�D$H�T$dH3%(u
H�� []A\�1����9�����AWAVAUATUSH��xdH�%(H��$h1�H�D$PH�D$XH����H�H����H��vH�XI��I��H�\$@�9��H�t$HH��H��H�D$(H��H�t$H�\$�UI��M���dM���[H���H�D$PE1�H�\$`H�$H�D$8H�D$H��$`H�D$ �G�H��$`��H���H��E@��I��L��H��H�t$H�|$�UI��H����H�$H�T$H��M����A�H�D$8��E��H�D$8L��L��H�SH�H��'����~�H�D$8M���o���H�|$ H��H��L���l'�����t�����H�|$ H��L�d$8�H��E@�U���DH�|$(�6%��H�D$H��H�|$(�%��1�H��$hdH3%(u*H��x[]A\A]A^A_��H�|$(��$��M��u���6��f.���USH��8dH�%(H��$(1�H�D$H�D$H�D$�H��t`H��t[H�\$ H��H�T$I��H�߾�H�L$A��SD��H�D$H�sH��H�P��N>��H��$(dH3%(uH��8[]Ð1����G6�����ATUSH�� dH�%(H�D$1�H��tH��H��twH�PH��tmH�X��6��H�l$H�t$H��I��H�l$H�|$H��SPH�D$H��tH��H���KB��H�D$L���#��H�D$H�T$dH3%(u
H�� []A\�1����5�����AVAUATUSH�� dH�%(H�D$1�H����1�H�H��tZH�tSH�XL�l$L�d$�!6��H��L��L��I��H��SH��t!f.���H��H��L��L��SH��u�L����"��H�T$dH3%(��uH�� []A\A]A^�f�1�����4�����AWI��AVI��H�=�nAUI��ATUSH��H�t$�2�.��I�nM��t2L��L�%؄�1�H��L���;9��H��H���p-��H�[PH��u�H�t$H��L��L��[L��]A\A]A^A_�,��fD��ATH��I��USH���B��H��tKH���H�޺�L���?��H�[PH��t-H���1���;Es�;Ev�H�޺�L���c?��H�[PH��u�[1�]A\���UH�5�H��H�=�SH���+��H��H��t�HH�hH��H��[]�fDH�5��1��=:����ff.���AWAVAUATUSH��H��8H�$H�L$dH�%(H��$(1�H���sH� �hI��H���\L���1�H��$ �L�l$ H��L�D��|)��D�C(H�KH��H�SH�5�����1;��L��H���f0��L�{H�sL��N�4�I�oL����=��A�D$E1�1�L�L$��H�T$K�|5J�D�(A�D$H)�J�D� H�C8�E��C0�/@��H�{Hl$�3��H��L����-��H�kH�<$H�C�*��H��H��t=H��H���RB����u.H���9��H��$(dH3%(ueH��8[]A\A]A^A_ÐH�5���1��8��H����3��H���A����fDH�5I��1��m8��H���@���������1��f���H�5΁�@;����AWI��AVAUATI��USH��H�����t=�tH��1�[]A\A]A^A_��1�=�@��H����I�GL�-�xH�D$�Pf.�H�t$1�H�=����5��H��H����)��L��H�=ہ1��5��H��H����)��H�[PH��tZ�C,��u�H���;.��H��t&L��H���k:��I��H��u�A�<$�u�f�H�޺L���<��H�[PH��u��������A�O����ff.���H��1�H�1�L�F��-�����ATI�� UH���S�'��H��H��tD�`H��tH���:=��H�CA��tH��[]A\��H���x0��I��H�CH��t,M��t�H��t�H���<��I��$�H��[]A\�f.�H�=�v�40��I��H�C�ff.���H��t/SH��H�H��t�0��H�{H��t��$��H��[�0��fD����� ��&��ff.�f���USH��H��to� H���:��H��H��tZH�{tH�x��/��H�EH��t9H�{H��tH�3�R*��H�EH��tH��H��[]��H�}H��t���H����/��1�H��H��[]�fD��H��thH��tcUH��SH��H���o�oNOH�~H��t�8/��H�EH��t)H�{1�H��tH�3�)��H��H�E������H��[]ø��������ff.���USH��H��t9H��H�H��t����H�{H��t�"/��H��H�k�/��H��H��[]�@1���@��H��tgH��tbUH��SH��H��H�~tH���G+��H�{tF�Eu"H�}H���2����������H��[]�DH�{�?��H�C��D������H�UH�5u�1���3��������ff.����H��tH��tSH�H���;��H��[�1��ff.�f���UH��SH��H��� ��H��H��H��[]�/��f.���H��tH��tSH���y ��H��[�!��1��ff.�f���SH��t&H�5Y"H��H�=k}�P$��H��t�HH�X[ÐH�5a}�1��
3��1�[�f���AUI��ATUH��SH��H��H�����I��H��tAH��t<M��t7H��t2H��H���/<����u#H�UH��L��H�߹[]A\A]��3��DH�5}�1��2��L���-��H���;��H���[]A\A]�D���g#�����H�5i|�@5����H��H�5U|�,5��H��tH�@H���ff.���H�5�r�5����H���C��H��tH�@H���D����������������H��tH�G�f�1��ff.�f���H�1�H�G`����H��gXD��H��g`D��H��(dH�%(H�D$1�H��t3H�GH�t$H��H�$H��PXH�L$dH3%(uH��(��1����W*�����UI��E1�1�SH����H��(dH�%(H��$1�H�\$H�T$H�D$�H����7��H�T$H��H���0��H��$dH3%(u
H��([]���)����H��(dH�%(H�D$1�H��t3H�GH�t$H��H�$H��P`H�L$dH3%(uH��(��1����w)�����UI��E1�1�SH����H��(dH�%(H��$1�H�\$H�T$H�D$�H���6��H�T$H��H���(��H��$dH3%(u
H��([]���(����H��tH��H�GH��PH���@1��ff.�f���H��H��H�H��H�0������UI��E1�1�SH����H��(dH�%(H��$1�H�\$H�T$H�D$�H���%6��H�T$H��H���5��H��$dH3%(u
H��([]��#(����H��H��H�H��H�0�(�����UI��E1�1�SH����H��(dH�%(H��$1�H�\$H�T$H�D$�H���5��H�T$H��H���%��H��$dH3%(u
H��([]��'����SH���(�+��H��tH�S �o�oKH�P H[�ff.�@���L�_��t��uA�1��fDH��t,I���A�p,��uM�M�Q McM9
uM�@PM��u���fDSH��H��H�κ
H���Q2���K�
[�fD��UH��SH��H��H���dH�%(H�D$1���tO���u*�CH�{��yTH�H�$H�}H���C�w��1�H�t$dH34%(u0H��[]�fD�H���1���K����{��H�$�� &����AWAVAUI��ATUSH���L�gL�9��m���tI��I�Ѓ��u������A�D$A8G��A�D$���I�L$I9O(���L��L���1��A�N�D@��������+A�D$I�$�t6H�����H��A�t$H��L��1��`��H����[]A\A]A^A_����@I�L$H���HE���H��L���0��A�N뱐�ƒ�����toI�W(I� 1�L�D$�$��H��t�L�D$�
L��L���A0��A�N�g������I�T$ H�H���HE�H9�����f�1��)���f�A�D$M�<$��/L��H�T$����L�D$H��H�{L�D$�(��L�D$H��H���{H�H��H�xL��1����H�P"H��H�=Vu�(��L��H���������I�o(I�<$I�w H�����A�\$��urH��H����HE��tNI�D$ 1�H�(�`���H��H�5�t�a-��I�<$H�(H�pH���n��A�D$��u"H��H���HE�uqI�l$�����I�$1��(�������H�5�t�1��)��������uI�\$H���HE�����@I�T$ H���fDI�D$ H�(���I�T$ H�
���I�o(���$���I�<$L�D$�f��L�D$H9�H���
��������
L��L��1��.��A�N�D���I�T$���f.���H��H�5�M"H�=�s�E��H��t�HH������H�WH�T$H��H�7L�O�OD�GH�W �ff.�f���AWM��AVA��AUI���(ATI���U��SH��L�L$�l��H��H��t%H��L��@��E��L�L$L��H��AQM�����XZH��H��[]A\A]A^A_�ff.�f���H���E����jDD�I���O��H���f.���AVA��AUI���(ATI���U��S����H��H��t@��E��L��L��H����.��H��[]A\A]A^��ATUH��SH��t8I��H��t0��0��H��H��t#L�`H��H���1����u[H��]A\�,
��@1�H�5�r�1��'��H���"��H���0��[�����]A\�f���ATUH��SH��t8I��H��t0�C0��H��H��t#L�`H��H���0����u[H��]A\��'��@1�H�57r�1��'��H���;"��H���/��[�����]A\�f���H�eK"H�G H�
L"H�G(�D��ATUH��SH��t@I��H��t8�/��H��H��t+L�`H���%��H��H����/����u[H��]A\���@1�H�5�q�1��[&��H���!��H����.��[�����]A\Ð��ATUH��SH��t@I��H��t8�#/��H��H��t+L�`H���$��H��H���t/����u[H��]A\�&��@1�H�5oq�1���%��H���!��H���[.��[�����]A\ÐAWAVAUATUSH��H��A��H��L�d$PD�l$X��A���H����H��H�|$I��H��A�ѹL��H������I��H�����V.��H��H��tVL�xH����#��H�|$H��E��L��L����&��H��H��t4H��H���.����u%H��H��[]A\A]A^A_�%���1�fDH�5�p�1���$��H��� ��L���M��H���U-�������H��[]A\A]A^A_Ð�������H�5Zp�1�1��$��1������ff.���H��H�5�H"H�=o���H��t�HH������H��SH����H������t(H��t#H�WH��H���-����uH��[��$���H�5�o�1��#��H���,�������[�ff.���UH��SH��H���)��H��H��H��H��[]�g"�����H��H�5aJ"H�=Dn���H��t�HH������ATUH��SH����I��H�������H��H��t{L�`L�������I��H��tpH��H���,����u[L��H��]A\����f��H�5o1��"��L���u��H���-��H���u+��[�����]A\�H�5�n�1�1���"���̐H�5�n�1��"���ff.���H��A�BjAPA�����H���ff.���H��A�BjAPA����H���ff.���H��A�jAPA��c���H���ff.���H��A�jAPA��3���H���ff.���H��A�jAPA�����H���ff.���H��A�jAPA�����H���ff.���H��A�AjAPA����H���f.�@����L"1��ff.�@��ATI��@UH���S����H��H��tL�`H��tH���z'��H�H��tH��[]A\�f.�H��1��V����@H��t#SH��H�wH�?����H��t�S�P[�fD1��D��AWI���PAVI��AUI���ATI��UD��SH���0��H��H��t;��	L�{ D��C,�k(M��tL����&��H�L��L�����L�cH�CH��H��[]A\A]A^A_�ff.���H��H��t$�O0�W,H�wL�HH�L�@8�
��f�1��ff.�f���H��H��t[�G(��tDH��H�G 1�1�jWj�W@R�wj�w8�W0R�W,RL�O1�L�GH�8����H��PH���@�G(	��H�5�k�1��U�����ff.���AWAVAUATUSH��H���5I��I��I��I��H��u��I��I�_0H��u�I�F H�D$M����H��H��u
�DH��H�}L��������tuH�E0H��H��u�I�UL��H�5Sk1��H�-�m���H�5�m�1����I�^ H��t@H�H��1��f��H�[0H��u��fDH��t#L�k0I�o0I�]8L�}8H��[]A\A]A^A_�@H�D$I�G0H�D$L�x8M�n H��1�[]A\A]A^A_ÐH�D$I�G0H��t���H�5aj�1�����H���[]A\A]A^A_�H�5�l������s���ff.���1����D��AWAVAUATUSH��H����I��H����I��H����H��I��L�=�PH��u;�yf�A�4$L�����L��L��L��H��ՋS��t9��uyH�[0H��t+H�kH��u�1�H�{0tH�H�5�i������H��[]A\A]A^A_�fDH�5�i�1����H���[]A\A]A^A_�f���SH��[]A\A]A^A_�ff.���AWAVAUATI��USH��H����M������OI��H���CH� ���H��=���=�������L��G(����@,H�@PH��u�I�^ L�=&OH��u<��uL���%��H��L��L��H��A�ՋS��t]����H�[0H��tKL�kM��u�H�{0��H��1�[]A\A]A^A_��=�tIH�5�h�1��f���H��[]A\A]A^A_�f�L��H��� ��M�d$PM��u��@L��A�F(t��@,H�@PH���
�������DH�59h�1����H���[]A\A]A^A_ÐH�5�g�����H���[]A\A]A^A_���S�L���H�H�5�g�1������,���DH�5�i�1��u����
���ff.���AWAVAUATUSH��H����I��H����H��H����I��H����H�_0L�5OMH��uaH�5�f�1�����H��[]A\A]A^A_�f.��uL���%
��H��L��L��H��A�׋S��t��uiH�[0H��t�L�{M��u�1�H�{0t�H�H�5�f������H�5g�1��m��H���[]A\A]A^A_�f���S�L���D��AWAVAUATUSH��H����L�qPH�APH��H�_0H����I��H����I��H��u:�{A�4$H�=L�0��L��H��L��H��A�׋S��t9��ulH�[0H��t+L�{M��u�1�H�{0tH�H�5�e�����L�uPH��[]A\A]A^A_�DH�5Ie�1��e�����fD��S�H�5f�1��=��H���[]A\A]A^A_�f���H��tGSH��H�0H��t
���H�C0H�{H��tH�C(H��t��H�;H��t�\��H��[�S���ff.�@��AVE��AUI��ATI��UH��SH�����H��1�H��tE��L��L��H��H�����H��tH��[]A\A]A^��H��H�D$���H�D$��@��������USH��H����H���U���H��H����H�{ ��H�{(��8�u]H�{H��tsH�C H��tj��H�EH��tjH�C H�E H�C(H�E(H�{0H��t���H�E0H��tCH�h8H�E8H��H��[]�H��H�5�d1����H�{H��u�H�}�1�H��1����H��H��[]�f.���H��tWSH��H� ���H�;H��t���H�H�{H��t
���H�CH�{H��t���H��[���f��ff.�@��USH��H�����G(H����tk���H�C 1�H��t��@H�@0E�H��u�H��1�1�jSR�C@1�P�sj�s8�C0P�C,PL�KL�CH�;����H��PH��[]��G(	H��	H�5�c��H���C(��r������H��H��tZH��H��������R����H�5�c1��
��H���B��H�������H�5$c�1�������d���H�5wc�1�����뿐��ATUSH����H���P��]��H��H�����C0H�S(L�cH�;�E0�C@H�U(�E@H�C8L�eH�E8H��t����H�EH��tOH�{H��t����H�EH��t8H�{H��tL������H�EH��tH�{ ���H�E H��tH��[]A\�@H�����1�[H��]A\�fD��AVI���AUI���0ATI��UL��SH�����H��t"H�SH�RH�R L�pL�h�H�XL�` H�h([]A\A]A^�fD��H��tSH���?�����uH��[�1�[�@1��D��H��t��
��f��ff.�@���f.��w(H�PH��u����H��tH�tH������H�w�ff.���H��tH�tH���������f.���H��tH����fD1��D��H��tH����fD����H��t'H�GH��tSH��H���R��H�C[���ff.�@��USH��H��tAH��t<H�_ H��H��u�fDH�[0H��tH�;H���$����u�H��H��[]�fD1�H��H��[]�@��H���c��H��tH�@H���D��H��H��5"���H�=M="H��H�����f���H��H�=)="�l��H�="H���ff.����H����AVI��AUI��ATI��UH��S�H�}@L���L����thH���H��tAH�;H��tL���,����tHH�[ H��t$�H�;H��tL�������t$H�[0H��u�H�mXH��u�[]A\A]A^�f�L�����H���L��H�����H�mXH���a������fD��AUATUSH��dH�%(H��$1��<"��t*H��$dH3%(��H��[]A\A]�DH��H���H���e���H�=�;"H��I���c��H��H��tsM��tVL��$L��L���.���I�����H��H���x���f.�H�{L��H��L�����H�[H��u��N���H�=y^�����=����H��H�=
_1������ ������ff.�f���H��H�516"1�H�
X^H�=�^���1�1�H���1���	��H�=�^�����H�=[BH�����H�=�_�����H�=;BH�����H�=�^�n����H�=BH������H�=�^�N�������H�=�AH�����H�=o^�.��1�H�=�AH�����H�=_^����H�=�AH���}��H�=L^�����H�=�AH���]��H�=7^�����H�=~AH���=��H�="^����H�=^AH�����H�=^����H�=>AH�����H�=�]�q����H�=�@H������H�=�]�Q����H�=�@H�����H�=�]�1���H�=�@H�����H�=�]����H�=�@H���}��H�=�]�����H�=e@H���]��H�=�]�����H�=E@H���=��H�=z]����H�=%@H�����H�=l]����H�=@H�����H�=n]�q���H�=�?H������H�=5]�Q���H�=�?H�����H�=!]�1���H�=�?H�����H�=]����H�=�?H���}��H�=]������H�=e?H���]��H�=�\�������H�=E?H���=��H�=�\����H�=�\H�����H�=�\����H�=�\H�����H�=�[�q���H�=�\H������H�=�\�Q���H�=s\H��H�����f���AWAVAUA���ATUH���SH��H�$�e
������H��/"H�H���E1��@H�CI��H���H��H�H�uH�}H�HH�P�U�����H��E:BuI��A����E1�<t;<��<u_I�H�E H�R H�+����I�W(H��t}�EM��I��<u�I�H�} H�A(H9E(HFE(H�q Hc�����L���&��fD1�H��[]A\A]A^A_��A�W���6I�G(H��tI��A��t�I�G(H��u��D$�f.�I��1��D$E1��0���I��H��t��MH�UH��H�uL�M(L�E �@��H����H�$�}A�FI�>I�Fu	E���yA����M��tFH��I�?�+����������E<��<��<�I�>�_	��L�����1���H��0H�G �E<�<tV<u�I�H�@ H�I�H�@(I�>�p��H��t�M����I�W(I�V(I�WI�VM�w(H��[]A\A]A^A_�I�M����H�MH��H��(����~!1�H�MH�R H��H��H�MH��I�9��H�B H��H�UI�H��H�P(I�>����H��������|$�I�F(I�^M����M�t$M�d$(M��u�����H�W H�G(�I�>�����2A�G�������I�?�^��H�������H�<$A�GI����I�H�u(H�} H�H(H�P H��H��� �����H�<$H��D��H��[]A\A]A^A_���I��B(���Ƅ
0a����I�Hc���
0@��ztۃ�@��
0I�.H��0�q�H�E(I�>�0���I�^(H�SI�V���I�H�H(H�B H����Hc�H�4��f�H�t�Hc�H��H�H���u~H�I�H�@ ��u�H�0H��u�H�I�H�P(H�@ H����Hc�H��I�H�@(I�H�@ H�4��I�H�Q(Hc�Ѓ�Ƅ10aI�Hc�Ƅ0���H��H�0I�>����H���`������DI�H�@ H��%���H�=�*"L�7����L��H�$����H�$����I�ǀ0aaaaƀ4���H�B( �I�H�R H�H��H���u��g���M��������ATI����UH��H��L��SH��dH�%(H��$x1�H��H���H�H���D$���H����H����H��H��H���(�H�i+"1�H��H��t�H��1�H��t5L�e(I�|$���H��H��tH�u L��H�����H�E(�H������H��$xdH3%(H��u.H�Ā[]A\�H��*"�H��H���H������L���ff.����UI����Hc�SH��L��H��dH�%(H��$x1�H��H���H�H���D$���H��0H�D$ ���tXH�i*"1�H��H�D$(H��$0H��c�H��tNH�P H�Nj��H��$xdH3%(��u2H�Ĉ[]ÐH�*"�H��H������������d���@��ATI��I��H��UH�͹�L��SH��dH�%(H��$x1�H��H���H�H���D$���M��tOH��L��H���<�H�})"1�H��H���H��$xdH3%(u.H�Ā[]A\�f�H�A)"�H��H��I�����f���H�m'"H�H��t=DH���H�@(H��tH9xu��@H�@H�@(H��u�H�RH��u��ff.�@��AWA���AVI��AUATUH���SH��������]H��&"E1�H�H��u��fDH�CI��H����H��H�H�uH�}H�HH�P�������H��E:BuE1�<tK<tl<t�����H��[]A\A]A^A_�@H�H�E H�R H�+��~xH�S(H��t[�EI��H��<u�H�H�} H�P(H9U(HFU(H�p Hc��-���H�H�u(H�} H�H(H�P H��H�����fDH�������[]A\A]A^A_�u�S��t�L9s��E��uMH�C(M��tXI�E(H�;�O��H������H��1�[]A\A]A^A_�fDH��H��L��[]A\A]A^A_���CH�C���M��tH��t.f�I�D$M�d$(M��u��H��tH�
+%"H��t���H�C�ո�������H�C��D��1Ҿ����H��1���f���UI����H��SH��L��H��dH�%(H��$x1�H��H���H�H���D$����H���a�H��H��H�����H�4&"1�H��H��/�H��$xdH3%(u
H�Ĉ[]��}���ff.�f���UI����Hc�SH��L��H��dH�%(H��$x1�H��H���H�H���D$�)���H��01�H��H�D$ H��%"H�D$(H�H��$0��H��$xdH3%(u
H�Ĉ[]�����fD��ATI��I��H��UH�͹�L��SH��dH�%(H��$x1�H��H���H�H���D$���H��L��H����H��$"1�H��H����H��$xdH3%(uH�Ā[]A\��9���f���AWAVAUATUSH��hH��""dH�%(H�D$X1�H�D$(H�D$0H�;H�D$8H�D$@H�D$HH�D$P�rH�=MO���H�H���<H�D$@L�5�OH�D$H�D$8L�l$PH�D$H�D$(L�d$HH�D$H�T$H�t$�H�D$@H�H�|$L�HL�@����H�T$(����H�5�N�1����I��H�l$0�0f������H�5�N�1���M�(M��tyI��P������uĹL��L��H��H�D$PI�L�H(L�@ I���Y��I�OE�GH�T$0����H�5�N�1��A�M�(M��u��H�[H����H�|$(H��t���H�|$0H��t���H�D$XdH3%(��H��h[]A\A]A^A_�f�H�P I�OL���E�G1��������H�@ I�OH�5�M�E�GH�1������f�H�59N�1��}������H�5gM�1��]��u��������H�m "AVAUATUSH�(H��tpA��I��I��1���H�mH��tFH�EL��L��H�HH�P����u�H��f��HH�@(D	�H��H��u�H�mH��u�H��[]A\A]A^�1�H��[]A\A]A^����U�H���SH��
dH�%(H��$
1�H���+���H��tfH��I���H��UL�>M�
1��
�.�Ƅ$
XZH�ھ���H��$
dH3%(u!H��
[]�D�
H��H������I�f���H��H��dH�%(H�D$1��>#t@��H��tf�P���t���H�D$dH3%(ubH���f.�H��H��
���H�$�9t&H�=TL����H�=qM���f��¾���������H��H��dH�%(H�D$1��>#t@��H��tf�P������H�D$dH3%(ubH���f.�H��H��
��H�$�9t&H�=�K�����H�=�L����f��¾��?��������USH��H���}H��H���1��+��H�-�"1�H�
�LH�=%KH����1�1�H��H�=K����������H��"H�5"H�
KH�=K�Q�A�H�޹H�	K����H�5�"1�H�
�JH�=�J��H�5�"1�H�
�JH�=�J��H�5k"1�H�
�JH�=�J���H��A��H��J���H��A��H��J��`�H��A��H��J��A�H��A�
�H��J��"�H��A��H��J���H��A��H��J����H��A��H��J����H��A��H��J���H��[]��H�-�"H�5�"H�
�JH�=LIH����H�5�"H��H�
�JH�=5I��H�5�"H��H�
�JH�="I�z�H�5;"H��H�
�JH�=FQ�]������1���H�����ff.����H��1Ҿ	����B�H�����f��������������������W����H�m"�@D�SH��PdH�%(H�D$H1�H��t�GH��<v	�OP��t"H�D$HdH3%(��H��P[��H�D$�GQH��H�D$$H�7�D$�Gp�B,�D$H�GxH�4$H�D$�GT�L$$�D$ H�GHH�D$0H���H�D$8H��tH�@H��tH�D$(�����KP�\�����f���H��"��x!���8�f�� �f���f���H��"��f���USH��H��!"H��t+f.�H�;H�kH��t�o�H��H���d�H��u�H�T!"H��[]�ff.�f���H�}"H�Ð��UH��hH��SH��H��HD�H�V"H�H��t#fDH�;H��tH�����tH�[H��u�H��H��[]�f�H�[H��H��[]�f���AUATI���UH���SH�����H��H��H�FhHD�H��t%L�-�"L�cH��I�EH�C�l���I�]H�L��H��H��[]A\A]�@��H�G`H�WXH��t'H�PXH�WXH��tH�G`H�B`�f���H�Y"H�H��t�H;xtH�@H��t�H9xu�H�PH�WX����ATH��gH��I��UH��HD�H�"SH�H��t"DH�;H��tH���@��tH�[H��u�[H��L��]A\�t�@L�cL��[]A\�@��H����SH��H�?H�{0t.�KH�S�s����uH�{0H��t
�2�H�C0H�;H��t��H�H�{�CH��t
��H�CH�{ �CH��t
���H�C H�{@�C(H��t
���H�C@H�������H��[���ff.�@��AU��ATUH���SH����H��H����oE�oM�oU �o]0�oe@�omP�ou`�o}pH�o��P �uX0H�}`@hPp`xp��H���H����C��uH�}H��3��u(H�} H�C�"�H�}@H�C I������H�;H�C@txM����H�����uhH�{taL�m0M��t+D�e8D�e<Mc�L����H�C0H��t;L��L��H����H���H��t��H���H��tH��H��[]A\A]�f�H��1��v���H��H��[]A\A]����H���N�wH�H�?���fD��AUATUH��SH��H��� fDL�eXM���
H���I9�$��fDH�} M�l$XH��t
��H�E I�D$ H��H�E A�D$(�E(I�D$ �I�D$XH�CXH��t�HH�PL����sH�{�N��H�[hH��u�L��f�H�k`�KL���H�S�uH�}� ��H�[hH��u�I�|$hH��tDH�_h�?���H��H��u�L���/���M��tM��I���H9������H�mXH�����H��[]A\A]�L��������AWAVI��AUATLc�UL��SH��H���O(H�W L���2�����
H������H��H����L��L����I��H����L��L��M����I��H����H�{ H��t�7�L�k D�{(H�}H��t�!�L�eD�}�C8L�c0�C8�D$��-�fD�C8��yHcE<�m8HE0HcC<Iăl$te�SD��M�D$A�t$L��L�$)�I��Hc��O���SD��L�$A�|$A��)�H��9�@��Hc�L��HO�I��H�����E���y����C8��~H�C0�x���H�{hH��tD��L�����H�EhL���I��f.�I�l$XA�t$M��I�|$�MH�U���M�d$hM��u�I���	�M��$�I�\$`A�L$M��I�T$�sH�{����M�d$hM��u�H�]XH��tGDH�k`�KL���H�S�uH�}���H�[hH��u��DH������1�H��H��[]A\A]A^A_�@�E8H�C0H�E0���H��1��z���L���B�����H��tSfDH�_h�W���H��H��u�[�D����ATUS���H��t@H��H�}L�eH��tH�_X��H��H��u�H�}���H��L�����M��u�H��"H�[]A\�����AWAVAUI��ATI��UH��SH��8H�L$dH�%(H�D$(1�H�D$ H����H�D$1�A�1�M��L�l$ ��H�t$ L��I��I���A�OI�WH9�@��H����@�uH��uM��L��H��������x4I�GXH��u�H�\$(dH3%(L����H��8[]A\A]A^A_�DH��"�(H�D$��t.H���.E��t H�D$H����L�8I��H�X�fDI���H�i"�0H�D$����H�c"H��L�5_LE�H��u�H�[H���H�;L�������u�S���,H�D$L�SA�E1����D�@�HL��H��L�T$���L�T$��xA��M��A��D;{}cH�D$I��D;8}UI�BH�PH��u�A���H�|$1�A��>�H�D$I��M������H�t$ �7���E1�����M��tI�EI�]H��tL�l$H�t$ I������1�H�|$���L�l$I���L�����H��t4���Z��L��H��H�
"H�C��H��"H�����1�A��H�L$H��]L�%�"H��HE�H�D$M��u�nDM�d$M��t_H�t$I�<$�H���u�A�D$9�}��A�D$IcD$H��H��L�L�xH�X �B9�}
A�D$I���u���A�D$I���d���H�|$���H����������u��H�|$I��H�&"I�D$��L�%"I�$H�D$�(�a�������ATI��UH��SH����H��t%DH�@XH��t8H�x0t�P8��t�[]A\�@H��tH�S�KL��H���H����H�؅�x�[1�]A\����ATI��UH��S�M�H��tH�P H��H��t�H(L��H�������x1�H��[]A\�ff.�@��ATUSH��PdH�%(H�D$H1�H����H��H��I����H�����uH�}L��1��b�H��H�����HH�P�uH�}������H�S �K(�u(H�} �T���…�t$����1�����,�U(H�u H���:��U1��f�H��8S��H�ChH��H��u�E1�H�khL�ehH�C`H�E`H��t�MH�UL����pH�x�$��H�CXH�EXH�����HH�PL����uH�}���1���uH�}L��1����H��H���b�HH�P�u(H�} �m����~�SH�sH���i��H�C`H�E`H��t�MH�UL����pH�x���H�k`�KL���H�S�uH�}�`��1�H�L$HdH3%(��H��P[]A\Ð�5B"���>���H�|$0�H�D$0H�D$8H�D$@�"�N��L��H�����H�|$8��/��L��H�����H�|$@����L��H������"�����UH�uH���P��H��H���������������f.��uH�}L��1��>�H�E`H����H����MH�U�pH�xI���2��H�E`H���U�pH�xH�hXI���MH�U�	��H�EX1����f.��S(H�s H�����L��H��H���������D$��H���.�H�����D$�O���D���EQ:CQw��@L��L�chM���(���A:T$� ���A8D$Qr��������������H�t$ H�|$(H�D$�H�D$ H�T$H�D$(�D$P�EPL�ML�D$$�1�ZYH��WL�D$(�|$L�
r7H�5�7LD�H�M@I�T$@�M��LD�1��`�H�|$(�������`���fDH���H�]hH�C`H�E`H��t�MH�UL����pH�x���H�CXH�EXH��tN�HH�PL����uH�}�Y��H�]XH��t)H�k`�KL���H�S�uH�}�0��H�[hH��u�H�]`L���H��������sH�{H�kXM���MH�U����H�[hH��u����fDL��H������r���L��H���E������������I���E���I��H���M���f���H��"ATUSL� M��tUf�I�l$H��t8fDH����H�]hH��t�H����H�[hH��u�H�mXH��u�M�d$M��u�[]A\�ff.�@��H�m"H�H��tDDH�QH��t-�H�Bh�bP�H��t�`P�H�@hH��u�H�RXH��u�H�IH��u�����������H��H�gUjj�P�t$H�t$H�D$HP�D$HP��H��H���H��jjj�D$(P���H��(���H��j���H���ff.����H����AUI��ATI��USH��H�GhH����H�_`H���)H��u�4f�I�EhH�CXH��t�HH�PL����sH�{����H�[hH��u�I�]XH��t7DI�EhH�C`H��t�KH�SL����pH�x���H�[hH��u�I�}`��H��"M��H�8TLD�H��u�,@H�[H���H�;L�������u�H�CH��[]A\A]ÐH�9"H�FhH��H��SLD�H��u��DH�[H����H�;L�������u��f.�H�oXH����H�kXH��t�MH�UL����sH�{���H�[hI�mXH��u�I�]`H��t7DH�]`H��t�MH�UL����sH�{�k��H�mhI�]`H��u�H������I�mXL��H������������L�����H��������h��L��H��H�"H�C��H�H�"���I�}hL���d���\���H���F����@��AWAVA��AUATI��UH��S��H���L$DL�D$8L�L$dH�%(H��$�1��j�1��D$@�o��Hc��D$����I�|�H�|$(��~	H9��#HcD$H�D$HHD$8H�D$0H�\$H�����H��H��L��H�����I��H��t<1��
�I��A�uI�}H��L���Q����u
A�UQD9�tAI�EhL��H��u��D$����H��$�dH3%(�D$��H�Ĩ[]A\A]A^A_�H�T$L��H��L�l$ �D$���M�}XM��M��t>DM�}X1��I��A�uI�}H��L�������u
A�EQD9�tKI�EhL��H��uσ|$�tcH�L$(H�H�D$H��H�H;D$0���H��H�L$HL�l$ H��7�H�T$L��H���`��L��M���5�M���d����|$�u�L�l$ �D$Df�H�\$H�T$P)D$p���D$dH�D$8)B0H�\$xL�d$PH�l$XD�t$`H�D$h�$��L������|$@�s��H��H�?PHE�H�~"H�D$H��t5H���	H�[H��t'H�;H�������u�H�C�[�����D$����H�|$���H���=������]��H�|$H��H�"H�C��H��"H�����@��AWI��AVAUI��ATI��USL��H��H��$�H��$�L�$H�L$L��$�L�D$H�D$ dH�%(H�D$x1��_��D$(M���[H���R������H��H���7I�NH����H��tH��H��H�L$����H�L$��tH��H�5a/�1����H�4$H�|$L����H��H�4$H�|$H��7��H�4$H�|$H�C�%��L��H�C H�D$���H�;H�C@�IH�T$H����H������0H�{�%H�$�C�C�C(H�D�M��t7L�l$M��L�����H�C0H����L��L��H������D$D�c<�C8��$�1��CQ��$��CT��$��CpH��$�H�CxH�D$ H�CH��$����CPA�FD�������H��H�������$���A��A�Dž���D ��D$/�SHc�$�H�T$H��L�|�L�`���$�A���D$A9��yMc�E)�D�|$M��M���{fDH�N�$8I�EN�$8I�E N�$8�$9�$�uI�E L�H�A�MPA�FDH��L��A���I���H�@N�$8�@������D$I��D�;D$��H���k��I��H���w���L��$���$�I�鋔$�H�4$H�|$����|$(���H��"H��H�tLHD�H��u��H�[H����H�;H���8����u�H�CA�������A����F��������tH���!H�8���$��t	E�����|$(���H�."H��H��KHD�H��u�fDH�[H���{H�;H�������u�H�CH�T$xdH3%(D����H�Ĉ[]A\A]A^A_�H����������f�H�D$H�T$0��D$T�H�l$XH�D$0H�$L�t$hH�D$8��$��D$@��$��D$DH��$�H�D$H��$��D$P��$��D$TH�D$ H�D$`�����fDD�|$/E1����f.�H�4$H�|$I��M��L��$���$�A�ŋ�$����L���;��L������|$(���H��"H��H�oJHD�H��u�&fDH�[H��tH�;H���4����u����H��� ��H������������H��H��H�["H�C�R��H�H�H"�O����cP������|$(����L�% "H��H��IHD�M��u��M�d$M����I�<$H�������u�I�D$H��������@H��A������Z��H������������H��H��H��"H�C���H��"H����H��A���������~���H�����H��t������H��I��H�A"I�D$�7��L�%0"I�$�E���L��A������)���(�������ff.�@��AWHc�AVA��AUATI��UH��SH���D$,H�D�L�D$L�$dH�%(H�T$x1�H�D$H�H�D$ L9����H�$E1�H���1��H��L��H��H������H��H��u�>fDH���sH�;L��H�������u
�CQD9���H�ChI��H��u�fDH�L$H�H�D$H��H�H;D$�y���H�T$ H�D$f�)D$P�H��D$,H�T$0H�l$0�D$DH�D$)B0H�D$HH�$L�d$8D�t$@H�D$X�A��1�H�T$xdH3%(��H�Ĉ[]A\A]A^A_�H�$L��H���ڻ��L�{XM��tTH�\$L��f�L�{XE1��
�H���sH�;L��H�������u	�CQD9�tH�ChI��H��u�H�\$H���U�����H�$H��L���a���H��L���6��M��u������f.���L�
�F������E1�1�����f��������f���AWAVAUATUH��SH��hdH�%(H�D$X1�����H���tI��L�d$DI�^H���EH�CXE1�H�D$�f�H��tH9h t+I��L��M���L�{hH�CHH���E�E t�H9�u�f�A)$A)D$A)D$ A)D$0H�H�D$�CH�H�D$�CQ�D$ �Cp�D$$H�CxH�D$(�CT�D$0�CP�D$4H���H��t1H�PH��tH�T$8H�@ H�@H������Hǃ�I�L��H���չ��H������L������H�|$H�������X��L��H�D$M�������H�\$H������I�^H�����M�vM�������H�D$XdH3%(u'H��h[]A\A]A^A_�f.�H�������������ff.�f���H��HL�BHdH�%(H�D$81�A��u<H�H��u	��F��H�T$H�|$H��tL�L�D$ H�D$,H��v$�H�|$8dH3<%(��H��H�fD���H���t�H��t,H��tnH��tPH�T$1������D$,�f�1��+H�T$�_����u�H�T$H�뵐��w���fD1��-�4����t��W���1��,H�T$������;���H�T$H��l����]��ff.�f���SH��0dH�%(H�D$(1�H�<$H�D$H�D$H�D$�GIuH�H��H��v&�H�t$(dH34%(��H��0[���H��t�H��t'H��tQH��t3H����q���D$�1��+�<����u�H���1��-�$����t��u���1��,������^���H���Z��f.���SH��0dH�%(H�D$(1�H�<$H�H�D$1�H�t$H�T$�GIuH�H��H��v&�H�|$(dH3<%(��H��0[���H��t�H��t'H��tQH��t3H����q���D$�1��+�<����u�H���1��-�$����t��u���1��,������^���H���Z��f.���ATI��UH��H��SH�����H��L��H��H���6��H��u��H�@XH��tH�x0t�H�@H[]A\�ff.�@��S��H�� dH�%(H�D$1�H�$H�D$H�D$�N��1Ҿ������H�������H���Q���H�|$����H���5���H�|$������H�������ھ����H�D$dH3%(uH�� [����ff.�f���U1�H�
�?H��SH��H�����H��t#�Hp�PQH��H��L�@xH��L�
�?[]�:���H�������[]�ff.���H��(�dH�%(H�D$1�H�|$H�$H�D$H�D$���H�|$����H�����H�D$dH3%(uH��(��9��f���AW��AVAUATUSH��xdH�%(H�D$h1�H�D$(H�D$0H�D$8H�D$@H�D$HH�D$PH�D$XH�D$`�7���H�D$ H�����H������H�D$(H���������H�D$0H����H���!H�H�D$H����@H�\$H�5�1�H����H�[H���9H�D$PH�$H�D$8H�D$H�D$ H�D$D�KL�C�H�D$`H�$H�t$H�D$XH�D$PH�|$�l������D�K(L�C H�T$XH�t$@H�|$(��B������H�{0L�D$(H�L$ �SP��H�5|�1�����I��H�-�L�%DI�U@H��tJ�:tE�H��H�=4M����������I�H��H��H��HD�1�赭��M�mhM��u�H�[XH�����H�D$H�@H�D$H�������H�\$ H��tH�����H�D$ H�|$(H��t����H�D$(H�|$0H��t����H�D$0�H���H�D$hdH3%(�H��x[]A\A]A^A_�DI�@ H�$�H�t$H�|$H�@D�HL�@�������*���M���I�U@H�51�L�L$ I�H��ID�1�責�����DH�5��1�蕬���C8H�k0��~lE1�L�|$`L�t$HL�l$0�/fDH�T$0�1�A��H�5��T���HcC<H�D9c8~)D�ML�EL��L���L��H�D$`�����u�H�=�������X������S��u^H���!H�=��!H��H���!���1ҿH�5��!�9�!���H���!H���H���!�@D1�[�@��H�5��1���������[�ff.����H��1����1�H���f.�SH���G���H�ھ�H�C �A���H�{���H�;���H�C(H9�t7H�S0H9��!H�P0H�C(H�B(tH��[���DH��[H�}�!�p���H�m�!H��[�\���ff.����ATI��H�=H�!USH��t'H���	@H9�tH�_(H��A��H�"�!H��H��u�[]A\�ff.�f���AWAVI���AUI��ATI��8UH��SH������H����H��H�����H��H�H����N�<�L�����H�CH��tL��L��H���)���H���!L�cL�kH��tEH�C(H�P0H�S0H�Z(H�X0�̺��H�ھ�H�C �ƹ��1�H��[]A\A]A^A_�DH�[0H�[(H�)�!뾸������H������H�����������뽐��H�JH�rH�zH��������1�����D��H�
��!H����AWI��AVE1�AUI��ATI��USH��H���DH��H9�tJH��tEH�k(L9{u�H�KH�SL��L������H�
o�!��u�H��A�H���r���H�
S�!H9�u�H��A�F�[]A\A]A^A_ø�����ff.�f���H��H�RH�pH�x������1��կ��D��H���!H��t`UH��H��SH���f�H��tH9j t H��H��t,H9�t'H�_(H�W�E t�H9�u����H���!H��H��u�H��[]�f.��ff.�@��H��H��耶��1�H���f���H��1ɾ
�H�5����`���1ɾH������H���1ɾH��H�������,���ff.����H�=��!H��t H��@��H�=��!H��u�H���f��f.�D��ATUSH��tsH��t;���u'L����M��t���I�D$8H���H�@0��[]A\�L����M��t�躷��I�D$H���H�@��[]A\�f�1�[��]A\����H���K���Z��H��ATI��UH��SH��Hc�H�>��f.��El������t�[]A\�fDH���H��t�����H�C8H���H�@0�����	�f��A�|$�t�H���H��t�H�@ H����ζ��H�E(���fDH���H���p���H�@@H���蟶��H�CH��V����H���H���@����{���H�CH���H�@��&����H���H�������K���H�C�����D1��DL�����������f.�H����t'��t"��t.��H�5A�1�H�����D�-��!x7H���f��-��!y�H�5��1��Ŀ���n�!���H�5��1�蝿���C�!몐����Ct�fDUH�-�SH��H�\�!H��8tH�PH��8iu ���!�H�Ѐ8u�H��[]��H���`���H���ff.�AUATUH��SH��H��
�VdH�%(H��$
1�H�H��u/���t/H��$
dH3%(��H��
[]A\A]�f����t�H�EH��輸��I��H����H�CpI�D$(�R���I�D$�ض��I�D$H������E=�������H�;��H���!1�L��H���Ч����uH��H�=��ݺ��L�������9����%�v����
�l���H���H���������H�EH���H�����P�葮��H���H���L���H���H�&�H�5H��HD�1�虽������@H���!1�L��H�������7����A�|$��
���H��������I��
L������L��Hc�H�����I��$�I��$�����H�5i�1��
����!����C������ff.���AWAVI��AUM��ATM��US��H��h�t$H��$��T$dH�%(H�D$X1�������j��u1��-�q������
���:��A�Dž����D$L�t$L�l$ �D$1�M��tL���.����D$(1�L�d$0M��tL�������D$81�H�l$@H��tH�����H�T$���D$H�����D$L��u>��������������H�5�1��ϻ��A�f�H�L$XdH3%(D����H��h[]A\A]A^A_�f.�1��+�d�������E1�������H��t�L$H���!L�0�X�HH�
H�H�H�@���fD1��,������������f����!A��N���fD���!A��6����1������UH���S��H��XdH�%(H�D$H1������tF�=_�!tH�D$HdH3%(uMH��X[]�fDH�5)�1��+�!�~�����@��H���H�l$�\$�Z����蓳����H��E1�E1�j苩��H���fD��H�u�!H�H��tPSH�ZH;:u�<�H�CH9;tH��H��H��u�1�[��H�BH�?����H���\����[�H�H����1��f.���AWI��AVAUI��ATE��UH��SD��H��hH��$�H�<$H�D$H��$�H�D$H��$�H�D$dH�%(H��$X1�E����A����A��u1��-��������L�t$`L��脵��Hc�H�D$`M��tL��L��$����H��$�A���uH�����H�D$p�D$hH�D$Pf�)D$ )D$0)D$@H���qH�pH�l$HH��$�H�D$ M����H��$PH����	1�AUL�L$H��
L�����<���H�l$8^_H�|$ L�l$@H�D$8�m���H����1�1�H��L��赯��H��H����1�A�����D����H��H��t$ L�L$ L�D$�N���ZY���HD�H��$XdH3%(H����H��h[]A\A]A^A_�DH�$H�D$(�M���f�1��+脹�����k���H�=+1�辩���@1��,�\������C�����f�L��H�=.1������i���f.��1����H��H���w���H��H�<$�
H�������t*H�<$�
H�5������HD��7����H���'����#���AWAVAUATUSH��HH�|$ �t$(�T$,dH�%(H�D$81�H���!H�8�<H�\$0H�|$ H�5YA�H��蕼��H�D$H�D$�8-I��H�D$��L�%Q
L�-H�-f��H��L����€����5�H��L����€����2�	H��H�=���€����K�H��H�=���€����H��H��1��ϻ��H�D$f.�1�H��H��賻���8-�Z���I��H��H�5S1�薻��H��H����H��H�561��y���H��H��tH�=R�%���H��H��H��L���t$ �t$AVD�L$LD�D$HH�L$0誣��H�� H����H�D$8dH3%(��H��H[]A\A]A^A_�f.�H��H��1���I���+���H��H��1��ۺ��H�D$�����H��H�=�1�迣�����f.�H��H��1�裺��H�D$����f�H�a�!1�H�(�����H�= �ܺ��H�=�!H����DH�t$ H�=5藨�������m���ff.�f���H��jjj荢��H����H��(���ff.�@��E��A��1�����ff.�@��AUE��A��ATI��UH��S1�H��(dH�%(H�D$1�f��uOH��1�L��E��jH��H��jj����H�� H����H�T$dH3%(��uYH��([]A\A]�f.�H�\$D�D$�D��H�
F
�H��詢��H�5R�1�����D�L$�m����G������USH��H�-?�!H�]H��t/fDH�C�{H�E��H�;�X���H���@���H�]H��u�H��[]���AUATUSH��譬��H��H���XH����@�H����H�uH�}�	H�f�!聛������H�E H�H�C@L�eM����I�t$I�|$�H���!�F�������I�$H��u
�CH�H��t8�xFu�H�5�1����H��1�腹��H��H��[]A\A]��I�|$ �	�	H���!�՚������I�D$(H��H��H���vHǃ�I�L$ H��L�j�H�D�H���I�|$ J�|�uL�j�H���H��tH���Ϋ��Hǃ�I�|$ L�����L���H���H�5�!�
L���D���H��tH�@ ����I�$H��H���I�$����H��H��[]A\A]�f.�H�5�����@I�D$ H�5d�!�L��H�@HHǃ�H��H���轘��H��t4H�p(H��H���H�x �0���H����<���@H�5I�Y���Hǃ�Hǃ�����H�5��1��&����<���H�5r�1�����H��1�褷������ff.�@��H����H�������H����H���H�tZH��	��H���!fofoHfoP foX0fo`@Nf@V ^0H���H��H�FH1�H�
�DL���I�HH9�rhUH��H��J��SH��H��H���H���R���H��H���H�PH�UH��H�EH���H�pH�uH��H��1�[]�������f.�������f.���AUATUH��SH��(dH�%(H��$1�质��H��H���x�@�L�d$H�T$H��L��H�$H�D$�諲�����#L�L$I��M��H�5�!�L��I���k���H����H�$L�E@�CL��H���H�5�!A�H�H�$�	H�$H�������H����H���H�$H�5��!H�H�<$�
H������H�$H����H���H�5p�!�
�ƕ��H�$H��tmH���H�5/�!�襕��H�$H����H��$dH3%(H���nH��([]A\A]�H�5�	�1��-���H��1��ô��빐L���M��t�L�����
H�5��!H���� ���H���Z���H�58
��֬���D�������������A�H�5��!H���L����@�
�ȱ��H�����H�5�	��~�������f�L���L���H����H�5��!�I���q���H������H�5�	��'������f�H�5��1��
�������H�5�����H��1�腳���x�������ff.���H����H����UH��SH��H��H�H��t&H��t`H��t:H��H��H��[]�i�f�1��+�T�����u H�H��u��%D1��-�4�����t�H��[]�f�1��,������u�H������AWLc�AVM��AUM��ATM��UHc�SH��8�t$H�$dH�%(H�D$(1�M����L�����I��H����������W���I��H����H���!I�v�	I�~H��诓�����M��$�I�H���#H�pH�x�H��!�z������I�~ �	�	H��!�X�����u'I��$�H�5��!��K���H�D$H���hL������H��H����H���uH���!H�8�����o���H���H���H����������M����M����L������L��I��$��e���I��$�H���!H�(H��u0�f�H��t1��+�/������7H�mH��t)�u��t�M��t�EL��A�D$H�}辭��H�mH��u�H��t�
��!���rM��t���!��tL������H���y���L���q���1�H�L$(dH3%(�FH��8[]A\A]A^A_�@���>���H��H����H���HcD$H����j���H�4$B��H���H�C@辭�����(H�KHH��L���L����X���I��H���3���H�5��1���������@H�}H��褬������H�A�!H�(H���������������/���H�5��1��ħ�������D�Î���������V�!�������f.�H�ھ��~����w���f��[���H�|$A�L�D$ �C�	H��H�D$ H�D$�k���H�D$H����I��$�L�0L�����f.�1�H�5�����M��t8L���p���L��I��$����I��$�H�!�!H�(H�����������H�	�!H�(H���o���L�����L�$H�5J�!I��$�N����諫��H���e���H�5#��a���L����������f�H�5��1��=���L���խ�����_���H�5�1�����L���3���H��諭��������2���H�5"�1����L������������
���H�5��1��ɥ��L����������H�5{�1�觥�����������H�5�茥��L���$���L��蜌�������谞����H��E1�j�N���H���f���I�Ѓ�tH�m�!�
鳝��H�Q�!�韝��ff.�@��H��I��I�Ƀ�t%H��H�"�!�
j�֧��XZH����H��H���!�j豧��Y^H���f.���1����D�������H�����͚��ff.�f���H��I����I��jH���!�
���H���H�����H�����������y���f���AT�
I��USH��1�H���C�����ug�H�=�H�����������H�=��L��H���!�����uA����H���!���H�([]A\�DHc����v�[H�=��]A\齕��D��D�����H�?�!H�([]A\���H�=q�H�������u���X���@H�5��1��-���������D[H�5�]�A\����ff.���H����1��
�ff.�f���H��������f.���H��������f.���AWAVM��AUI��ATI��1�U��SH��-H��xH��$�D�D$H�D$H��$�H�D$H��$�H�D$ H��$�H�D$(dH�%(H��$h1��������
M����H�����E�����M����H��$�H��L���#���I��H����L�t$pL���*���H��H�D$pL��$�H��$H艍��H��$PM��tL��L��$(�l���H��$0��$,I�8H��t)I�w@�+���H��H��$XI�G@H��$`H�����E�����I�hH��t)I�wp���H��H��$�I�GpH��$�H��������I�I�w�ץ��H�|$0f�H��$I�G)D$@H��$H���H�D$0H��$�H�G0H�D$8H�D$)G H�D$X���H��H��tH��L��莚����tz1�H��$XH��t���HDŽ$XH��$�H��t�ؚ��H��$hdH3%(H���CH��x[]A\A]A^A_�@H��$XH��u�1��@H��1�1�L��聗��H��H���k����t$1�H�H�ǁ����H���t$0L�L$0L�D$(����ZY���6���H���6����'����A��g���I�W`I�wX��I������I�G`H��$��=���@A��j���I���I�wx��I��`�£��I���H��$�:���fDL��$`�
L�����H��$�� ���fDH�=�1�1��`�������6���fD��AWAVAUATUSH��H�$H��(
E1�H�-��L�%��L�=��dH�%(H��$1�I���C�!�H��$H�D$H�$�c@�L��L��������.�L��L��������DL�������
H��H���l���H��I��衤��I��M��tB�L��H�������u�L���ۖ���
H��H���+���H��I���`���H�$M��u�H�=�A�H��$�=���H��$DL�d$ A�H��D��L���H�
�L���)���H�D$ H���H���(H���GH�\$`H��t0�1���H��H��tH�����H��H�T$`�1����H�t$PH�=��̂��H�|$`I��tH�ھ1��҂��M���iL��L������D$���"��$�Ic�DŽ$�H��L��H�l�A�G�H��I)ĐH�}H���#���L9�u�H��tH������H�$H��tH������H�D$H��tH�����M����H��$dH3%(�?H��(L��[]A\A]A^A_鵖��DL�������
H��H���X���H��I��荢��H�D$���H�=7�A�H��$�f���H��$fD�
L��H��E������H��I���:���M����A��J�D���I����u����H��$dH3%(�rH��([]A\A]A^A_��1��+�<�����uLH�D$ H������1��,������u-H�D$ H������f.�1��-���������H�=E��0���Ic�H��H�\�H��A�G�H��H)ŐH�;H���T���H9�u��9���f.�1�L��1�L���1���Ic�H��H�D$L�t�H��A�W�H��H)�DI�>I�����I9�u�H�|$�<H�D$H�H��tCH�����5��!1�������D$H��M��t$L�D$�T$,H�|$ �q���XZ�|����5��!�����H���u�L��$�
L��詘��L��H��H��軞��H�T$H���H�
H����c����+1�蔛���D$��ucH�D$���D�!�H��Q���H�=��贋��Ic�H��L��H�l�A�G�H��I)�DH�}H���ӓ��L9�u����H�D$H�����D$��H�=���S���L��H�=	��ĕ���q����J���f.���ATL�%۽!UH��SI�<$H��t�`���H��踄��H�x�_���H��I�$H��t#H��蛄��H��H��[�P]A\��}��f�[]A\�ff.���SH�l�!H�;H��t���H�[�f.�@��AUATUS�����H��dH�%(H�D$1���L�l$H���H�=?�����I��H����f�L���x���H��t0H�xL��H�5�1��n�����uًD$L��9�L��H���H��u�L���ۚ���f���虠���D$�X��\$9��H�D$dH3%(uH��[]A\A]���S����X���蹐��f���H��t?H��t:�����H�H9w%�r�����H�NH9O��������H��H�5E��1�����1�H���f.���AVAUATUSH�� dH�%(H�D$1���t$H�L$dH3%(�PH�� []A\A]A^�H���`�����u���D1���t�����t�S������#���������������eH�5���1��B���f�H���H��t�L�l$I��H�l$L�5j��2fDH�5D������H�|$H��t�x���H�H���@����H�$H�D$�a���H�D$H��t�L�KL�CL��L��H��茘��H�T$��t�L���1�蔕���f����w�Q�����H�5W��1��b�������D�����*�������H�5<��1��%���������th|F����H�5d��1�������H�5��1��ߔ�����f.�H�5��1�轔���x����H�5���1�蝔���X����H�5���1��}����8����H�5���1��]��������H�K8H�S0�1�H�5���5�����H�5��1����������H�5��1��������H�5���1��ݓ����3���1���@H�5n��1�赓���p���H�59��1�蝓���X����H�5Q��1��}����8���賌����H��!�@��H��tH�tH���ǘ���H�w�ff.���H��tH�tH���Wz�����f.���H��tH��>���fD1��D��H��tH���{��fD����H��tH�鞘��fD����H��tSH��H�H��t�u���H��[���@�����n�!���e�!�ff.���������H��t;7u
�@97tH�H��u����D�G�ff.����ATA��U��SH���豂��H��tH�H��tH�HH�D� �h[]A\�f�H���ff.���H��tSfDH�_�'���H��H��u�[�D����H����ATUSH�o@H����L�gM����H���H�����H��tzI�T$ �H�SH�PH�SPH�PH�S`H�PH�UH�P8H�SHH�P(I��$�H�CPH�P0�Sp�P H�EH�SHǂ�H��!H�CHH�P@H�Խ![]A\��[1�]A\Ð1��ff.�f���AUATUSH��H���!H���2H�O1��f.�H�C@H��H���H��H9Ku�H�GHc3H;p u�H�C@H����H�B@H�CH��H�GP�C�G`�C�GdH�HH��t0�Ep��~$E1�E1�@L�A��I��h�X���D9epH�}H��y���H�C0H��t*H�UH���H��t
�v��H�UH�C0H����C �EpH�C(H�EHH�E@H�hH�E@H�S8H�PH�EHH�U@H9Pu�f.�H�U@H�PH�@PH��u�H�����H��1�[]A\A]�f.�H���[]A\A]�H�I�!���@��H�U�!H��@fDH�H�� �@�H9�u����USH�+�!H��@H���fDH�� H9�t�;u�H�{�H�� �U����C�H9�u�H��[]�f���AWA�����AVE1�AUE��ATI��USH���!H��8dH�%(H�D$(1�H�|$����H�D$H�����H�D$H�D$�;fDH�;H��t�ӈ��H��CA���ED�A��H�� A��
���s��t�M��tH�;L���4�������H�CH9�@��u
H�L$H;K@��@��u�A�����Mc�H���!I��I�I�pH9�@��uI�@H9C@��@��EE�A��H�� A��
�u���M��tkA�����L���	���Ic�H���!foD$H��L�4
I�H���!A�F�A)F������.f�E�����������1�������tL��H�5���1�����H�L$(dH3%(����H��8[]A\A]A^A_�1��贎��McŅ�uHI��H��!N�4I�>�6���L���.���foL$I�H��!A)N����?�����Z���L���L�D$H���!H��H�5��H�1��[���L�D$�@Ic�H�f�!foT$H��L�4H�D$A)VH9���uH�D$I;F��H�[�!�ڋ����������������4���@��SH��H��tCH���H��t7H�։�п	H���#���H��t(H���Fv��H���.����[���	����[�ff.�@��1��v��D��H����AUATI��� USH���܈��H��H������ƈ��H��H���aH��I������{���1��L�+H���!H�CPH�CX詍��H���L��ƃ�H�H�C�m������I�D$pH��tL���I��H����A�L$0 H�
�!L��H��H�8�!����H����H��蚊��H����L�eL�%>�!H�EI�<$tkH�
|�!H��tm�1��~�tfD��~9�|H����H�AH��u����t`H����H�EH�߉uH�)蘄���EH��[]A\A]�f.�H�����I�$�1��H�
��!�H�ȾH�
�!�H���I���H���A��������륃��fD��H���!H����USH���9���9�}H��H�XH��u�H��[]��H��9�u�H�SH�H�{�@~��H��t'H�{�B���H�-�!H9EtH�{�,���H��贀��H��H��[]閃��H�{�
���H��蕀��H���}���H��!H��t2H�x���H���!H�x�،��H�E�Y���H��H�ݵ!�\����H�E�<���f���H��tCSH��H��H�=������H��t1H��������x[�H��H�5��1��k��������[ø�����H��H�54���J��������[���AU�����ATUSH���s���������tE1�H��D��[]A\A]�@��A��莁��H��H���BH���Z���I��H����L���'f�H���Xt������'H��t;�;t6H�ݾ,H��1���q��H��t�H�X�H�5��H������u�M��tL��������3�������H�=���.�������H�=��!������!�����!�������H�=m����H�u�!H����H�E�!��H�@pH����������/�!�j���H�H��c��H��!���f�H�=�����I�����@A�M���g���L�����Z���@�c����(���fD�cy�������(�!�-���H�ڿ1�A�H�5p��#�������H�{�!d���ff.���H�
�!H��t H��@�8��H��!H��u�H����ff.�@��US1�H��dH�%(H�D$1�H���L��H�
�!H��u@�`fDH�=��!H��H���r��H�$H��tH�x����H�<$����H�̳!H��H��PH9�w�H�=��!��s��H���!H�D$dH3%(uH��[]��R~��f���ATI���UH���xS�u��H��H��toL�`H����~��H��H�C��~����H�C8H�CH�H�C H������H�C(�C0H�C`�Gu���CtH�C@H��[]A\�@��H�OPH��tS�Gt��uK�d��x+H��1�H�H��u�$@H�RPH��tD�B(E��t�����H��9�~��@1��ff.�f���H�-�!H�H��t#H9�u
�fDH9�tH�@8H��u�Ð��1�����SH����v����u[�DH���І���¸��u�H�Ʃ!H�
H�H�K8[�f���H���!H�H��tMH9�t8H�P8H��tH9�tH��H�P8H��u�1��H�W8H�P8��f.�H�@8H����ff.�@��H����ATUSH���x��H�{H��t艊��H�{H��t�{���H�k@H��tH�}H��t贈��H���<}��H�{PH��t
�.}��H�CPH�{XH��t
�}��H�CXH�{HH��t9�Cp��~%E1�1�L��I��h�t��;kpH�{H|�H��t
��|��H�CHH�{hH��t�p���H��[]A\�|��@�ff.�@��H�է!H�H��u�#H��H9�t
H�P8H��u�H�x8��DH�:��ff.�@��ATUSH��0dH�%(H�D$(1�H�D$H�$H�D$H���	H��H�|$�lo��H�C@H����H�xH�5���u��H����H�t$H���Y���H��1�H9-��!��H9-��!������q��I��H��t{H�(H�x�gv��H�{�{��H�=�!L��I�D$��~��H�k�!H��PHc5V�!H9�rqH�R�!H��PHc=�!H��H9���H��!��$�H�5��1�蕀��D�����H�L$(dH3%(uuH��0[]A\�f�H�=�!H��豈��H�$H���s���H�x���H�<$��z���\���D��H�=��!H��Hc��cm��H�$�H��t�H�H�k�!�{����Ay�����H��!H��t	H�@8H��u��fD��H��!H��t!H9�u�Jf�H9�tH��H�B8H��u�H��t*�n��DH��8H�H8H��H�
H�@8��m��D�H��H���!����AWAVA��AUATUSH��H��HD���!dH�%(H�D$81�E��~�|��H���!H9�'H�SH��H���.E����B=�����H��wH���zy��H�S�BH�
=��]H��uZH���H��tN�A�H���H��F��<wM��I��I��t�C(A��s,H���H��u�E����A����H�
�E��Jc�H�>���=��Z����kp���BH�B0Hc�H9��2)ʼnl$���$H�B8D�t$1�E1�I��H�D$�D$�D$���D$��L$��~x�T$Hc�H��L�T1�N�4��A��tH��L��I9�tEI�UXL�<I�u�H����H�PH�pL��H���z��1�1Ҿ�L���n��L��I9�u�A��l$D9d$�m���D�\$L��D�t$A��txH�D$D�L$1�E1�D�T$D�`�I��fDA��A�<	E��~AHc�I�4H)�H��H��H��f�H�SXH�,
H�H�lH��H�UH9�u�Hc�E9�u��|$~@H�t$D�ލF�H�<��Ic�H��H�SXH�4
H�H��H�t0�H�H9�u�T$����H�D$H�SX�t$��H�L��
H��H9��sL�"A�|$�u�t��@A�|$�uЃ�M�$$9�u�I�<$�<c��I�$H�S�B�%�����{(�����D�s(�B=�����sp����H�CH���L���H����M��u"��H�mM�$$H����M�����}�u�I�T$I�t$H���x����@H��������K(������H��@�(������������C(�z���H�:��H���A�H���D����H�SH�H��H������A����H���E��Jc�H�>��H�{��z��H�SH���B�H�SHcK(H�J0H�SHcK,H�J8H�SH�s�z������j����tKH�C�xl����C(� �|��H�{��H�{H�CH�{H�����<�H�CH�����l��H�S1��Ɓz�@�ǃ��{��H�{H��t��G�H�CHcS(H�P0H�CHcS,H�P8H�sH�{�`r����uH�C�@l�����
�|���$�	|��H�CH���m��H�t$8dH34%(��
H��H[]A\A]A^A_��C(�z�t!H�:uH���A�H�������D��{��H�{����D�C(�z�t H�:uH���A�H���8���@��N{��H�{���D�C(��/{��H�{�n���fDH�=M���o��H�{H���H����L�t$(L�l$ L�d$0L�=���5�H�5����ox��H�|$0H��t��r��H�mH����H�D$ �H�D$(��u��H�D$0H��t�L�ML�EL��L��L����z��H�T$0��t�L���1��w����H�
�����H�S�BH�
=�������N���fDH�{�W�����f�I�EH���E��~H��tD���H���H��t���H������������p��H������fD��ATUSH��H�=^�!H��t4H�-R�!�H�o8H��H��tH�G8H9_u�H�EL�g8�}e��L��H��u�[]A\���AVAUI��ATUSH�G�@H���{��I��A��H��=��:Ic�H�@H��I�D$HH�lИD�u8H�}H�E(�E4H�]`I�D$@H�EtH����h��I�D$�@��~=�tA�}�u�E0A�E������!I�|$hH���#�>u������H�H�@H��I�D$�@��=��EH�C H�E�C(H�E I�D$PH�DH��tH�hPH�EPI�D$PH�DH�EXI�D$PH�lL�mHL�m[H��]A\A]A^�fDH�sI�|$Hc��Ga��������H�[XH��t'D�K(H�S �sH�{�_�����H�[XH��u�I�D$�@=�����=���=���1�[H��]A\A]A^ÐHc��E�t$dI�|$P��x	D9���A��E�t$dD��A�D$`9���Ic�H�@H��H�I�D$PH�lD������@H�EH�E ���=��n���A�E�1������A�E�1�����@H�@H��H9�l����N���f���A�D$`H�H�4@H���	x��I�D$PH������Icֹ0H�RH��H�41�H���H�I�|$P�7���DA�D$dI�|$hD�pE�t$d���D����]��A�T$dI�|$P�����AW@��AVAUATUSH��(�Od�D$���eH�D$H��E1�D$�H�D$H�UPH�@H��H�XH����f�D�{<L�sHE����M����E1�A�N��tv���tqH�UI�~I�v� u����t\A���C<;C@}/���C<E��uL�3M�.M��tA�E<t
L��D��<�uA��t$1�1�L���ad���|$�u
�C0M�6A��M��t	E���k���H�[PH���>���H�D$H�D$9Ed�
���H��(D��[]A\A]A^A_��H��t�I��H��L��T$H�$�e���T$H�$��L�)L��I�E���}��O���E1�말��H���;H�OH���.AWI��AVAUATUSH��(H�y`�I�P�-A�Gd�����y����D$H���H���E1��D$�D$H��um��=�u�KH�{H�s�s����� �t$L��H��L���^c��H��tI�W�z�u
�t$�p@�p<H��H���PI�OH��y�H�+u�|$��~k���|$H���H�s1�H�{�D$�9m��I�WI�ŋB=��T����KH�{H�s��r�����[���1�1Ҿ�H���Zb���s���DH�Q8�r��t$H����I�GXMc�E�t$J��I�GI��H�x8~[E1��f�I�̾p��na��I�EH��tI�OXIc��@A��H�@I��H��I�GI�L$I�T$H9P8�I�mE��I�O���H�(H��H�H�D$�iW��A�opH�D$H�������H��(1�[]A\A]A^A_�D�Y��I�WH�H�B`I�PI�O����A�G`������A�Gp��?������Hc�A�G`�H�L$�`��H�L$H��I�GP�����H��(�[]A\A]A^A_���D$A�G,H��(�[]A\A]A^A_�@H����Db��I�OH�y0yH�A0I�OH�y8yH�A8I�OL�a0Hc�I9���D)�D�d$�Ņ����
���q����Lc��q�������q������������������������I�OD�Hc�H�A`H�H��H9�L؉ؙ��Hc�E��~D9�IO�H�Q8H9�~H�Y8I�OH�Q8Hc�Ic�H�L$H��H�H���l��H�L$H��I�GX�P������D��I�GX�D$�7������Z����d�d�S�����Hc��B���f.���AU�ATUSH��H��L�oPHc`�^��H�CPH����H�{h�Cd����H��t
�v��H�Ch�Cp��~t1�E1��D����A��H��hD9cp~QH�CHH�H�H��t��J��u�H�H`�p8H��H�IX�_��H��u�M��tL����g��E1�A��H��hD9cp�1�M��tL���g��H����[]A\A]�@�BH�CHH��H�H�H`�p8H��^��H���[���M��u��H�����[]A\A]�fD��H��tSH��H���_��H�[PH��u�[�D�����Gd��x-SH���H�SPH�H�@H��H�x�YY���Cd���Cdy�[�@�����Gp��~<��H�OHH�<@H��H�Q4H����f.����t��t9�tH��hH9�u�1��fD��H��t*�G4��t�$fD�W4��uH�PH��u������1���f���H��t2��F4��t��u%�O,�F8��t9�~	�G,�F4�G(H�vPH��uՋG(Ð9�u�F8�G,�F4�G(��ff.���ATUH��S�Od��x2A��1�f�H�UPH�[H��H��H��D��H�p�s��9]d}܋E([]A\�@��AVAUATUSH�G@H�xH�G@���Gd����H��1�E1��,�1�H���^s����DE�E��uE��EE�H��9kd|~L�lmH�CPA�I��L�H�H�pH���H��tH��H�s@�m��A��H�CPJ�t(���t��u��H����r�����H����r���p���fDE1�[D��]A\A]A^�f���H�m�!H������H��t:H�BHc�H9x u�)f�H�BH9x tH�R8H��u������1��ff.�f���AWAVAUATE1�USH���?�H�WPHcGdu�O0A�����HH�@I��L�r1�L�|� fDI�H��u%��I�E@�8��H�[PH����H�;E��t+�S0�����G�P�����<���H�wH�K H�SH��;R����x(H�S H�s�C0H�;�@f��H�;1�1Ҿ�?Z��H��B<�u�BH��C0�@<t<��F�����H�[PH���S���I��M9�����H����[]A\A]A^A_��1�1Ҿ���Y��H�;�J���f.��C<����������1��ff.����H���?H�GH���2AUE1�ATUH��SH��H�����Z��L�%�!A�$�����H���8[���Å���H����e��H���yO����t}H�uH���H�N`H��u'�@���tH�P�Hc�H9�'I��H�H��tZ�P��u�H�PH��t��Hc�H9�~�H�NH��@�M��tI�EH�EH�H`H9�~ A�$��t81�H��[]A\A]�Hc�H9��H���@b��H���n����u�A�$������H���[]A\A]�1��Ǹ�ff.���SH�GH���7�@I u�F��wH�%�Hc�H�>���F���w(�C([��G(������f.�H�=™��Y��H���n����t��S(��u�C([�@�
�G([�D�H�v߉�[�@�G(1҅��ƒ�	�[���W(��tQ���@�O(��u����q������Vh���C 1���C(�K������8������� �����SH���$fDH���h[��H����X����uH�C�@I u
���	��w؋C([�1�[�ff.����S�H����t#~O=���=�t}��u��>d��H�C�@I tB@H���XX���¸����[�����|ۃ�~Ⱦ�c��H�C�@I u�H���Z�����	��v�H����P��1�[�@1�H����c���Ctu�H����X��H����W�����x���H�CH�x �J�����c���H���g�����S���H���!H�H�H�S8�=���DH��1�[�`��ff.�f���AUATUSH��L�-c�!I�]H��tUE1��5DH�C8M��tOI�D$8H��1�H�C8�c��H���R��H��H��tH��H�k8�W����t�I��H��H��u�H��[]A\A]�f�H�C81�H��I�E�b��H���bR��I9]LD�����ATUH��SH��H�W�B=���=��L�������#e��A�ą���H�U�B�E=��K~y=��v��=�u9E����E�E�H��E0�j����t�E(H��H��[]A\�W��=��%��+e�������H��[]A\�D=��U�����w�H�JH H��H��[]A\�GX���=�taH���E1�H���7U���Ep��u H����G��������H��[]A\��Hc��h��R��H��H�EH�G����������DH���E1�H��u��H�A��H��t�{�t�H��1�1Ҿ�-S��H�H��u�H�EH���H���T���Ep���W����r���f���d��1���������c���p���f���H���S_�������E�����������c��H�タ�!_��H����h�����k���H�U��D$H������I���D$�D���f.�H���h���������%�����>c��1����������ff.�f���USH��H��dH�%(H�D$1��
�!��~&H�G@H����H�xH�5���T��H�$H��t{H���c����u)H�؃!H�H9�tH����H�C�x���H���vJ��H�߉��<L�������k(�H�L$dH3%(��H��[]ÐH�$H����M��H�)�!H�4$H�=`���]��H����H�{@H���P���H�t\H��H���0e���8���H�م!H�H�8�V���@H���\����b���fD��H����[���M���f�H�G����H�<$��Y��H�5��1��4_������jX��f.�������UH��SH���A��Z�������=���H�9L����H�����k(H�{�+Q����������1���W��H�CH�8��H�@0H�C�
�@���`��H�sH�{�W������H�CH���NR���H��[]�f���f.��A���`��H���[]��zl��6���1���jV����H����H��[]�pY��H����Q��1��@H��H��1��#F��H������*�`��H���Q��1��V����H�{�?e���,���f.���USH���qV��H�-�!H�}tH���!H�8tH��[]��H��!�7�H�G�x�u
H�l�!H�8u.H�G8�w(H��X��H�}u�H�;H��u�H��[]�f�H�}H��[]�D��AW�A��AVAUATUSH���dH�%(H��$�1�H�\$ H��������L��$�H��H�D$H��$@H�D$�D$�D$�k\���L���^\���H���Q\���D$ ��=v-H��?H��H�ŀH�|$(1��`J����$���=v-H��?H��H�ŀH��$�1��)J����$@��=v-H��?H��H�ŀH��$H1�L�l$L�t$��I��H�L$L��H��L���%H��E�����D$A���ME�H��L��H��L���;N���|$M��H��L��H����H���D$��������������T���^����I���UI��H���M��L���M��H���M���D$H��$�dH3%(��H���[]A\A]A^A_�H�D$H�D$�M���f�H�|$H��L��H����H��H���J���l����?���8tH�=A��H���D$�����X���D��H�5(��1��sZ�����S��ff.����H����H�GH����H��V��H�O(��w=�'=�}'��u4�G4�@��x4�w41��fD=�uH�@�p1����G41��fDS��H���H�5���1��Y���C41�[�������f���AWI��AVE1�AUATUSH��H��!L�(M����DA�EdE1�1�xeI�UPK�dH��H�XH��u�5f�H�[PH��t#H�C`L9xHu�H�߾���]P��H�[PH��u�I��E9ed}���tA�MtA�M�m8M��u�E��t��Q��H��D��[]A\A]A^A_�f���H����SH�OH��H������~-H�_P����H��t@���H�[PH��t_��9�u�H��V��H�{(��v��xO�s41�[�D=�=�}*��u�C4[�=�t�C41�[�����[ÐH�@�p1�[É�H�5Ǻ1���W���C41�[ø����f.���H����AVAUATUSH�GH��H����A��(D�v�I��*fD���H���}H��uT�C4H�[PH��tL�k(A��v�E��xED�c4H�[PH��u�1�[]A\A]A^�D���uH�D�`���C4���D��1�H�5ҹ�
W���C4�|�������ø����@��H��|!�@��SH����Q��H��[H���WJ������GG�����H��(dH�%(H�D$1�H����G��H�L$H�$H+
x�!H+i�!H��@BH��?BH��H��H�KY�8��m4H��H�4�H��H��?H��H��H)�H��H�t$dH34%(uH��(��aO�����SH��0dH�%(H�D$(1�H����H��{!�o1�H���&Y��H�|$�<G��H�H�sH+$H+t$H�Q�H��@BH���!H=?B~H��H��HT$HD$H���!H=?B#H���!H�D$(dH3%(uHH��0[�fDH-@BH��H�W�!H�H�!��fDH�={!1��X��H�=+�!�F����oN��ff.�@���g������S1�H��H��0dH�%(H�D$(1�H���*X��H�|$�@F��H��H�5�z!H��(\��(H��H��H��H��k�d)�H�$Hi�'H)�H�H�H�H�L$H)�H��@BH��?BLH�~H�D$H)�H�P�H�e�!H�T$H)�H��@BH��?B-H�
N�!H�D$(dH3%(u&H��0[�H�NH���H�!�!H��!���[M��ff.���US��H��H��t9H��t4H��R��H��H�N(��w?=� =�}A��u�F4H����[]�D=�t!�E4�����x�^4H����[]�H�E�X�����H�52�1���fS���E4�ff.�f���US��H��H��t4H�H��H�F(�B���w&���.���}.��uB�F4H����[]�f���x<�U4H����[]Á��uH�E�XH����[]���E4H����[]ùH�5t��1��R���E4H����[]����AVAUATU��SH��tfH�FH��H��tZD� D�r�I��-fDA���GA���}VE��uB�C4H�[PH��tL�k(A��vυ�xC�k4H�[PH��u�[��]A\A]A^�@A���t�C4�fDH�@�h�����H�5��1����Q���C4�f.���AT1��US�<K����H���jS��H�۾-��H�I�HD�1��NS���,1�A���?S���+1���u�/S��[1�]A\���S����t�E��t�
H�=��H���������u-��u9����R����u�H�5�����P�����t�[1�]A\�DH��H�5���1���P���n���ff.�f���H���O���@���W���V����9���G���eK���N���;���H���@���LQ���
!H�����AVAUATUSH��dH�%(H�D$1�H��ty�<-��<!��L�%Qs!I��H�5��L���V��H��H��tEL�5����@��H��H���fV��L��L��1�H�I�$I�$H�C��U��H��H��u�H�D$dH3%(u"H��[]A\A]A^�DH��L�%et!�o�����H��ff.���UH��SH��H��r!H�H��t,@H�;H���uN����tIH�[H��u�1�H��[]��H�t!H��H��t�@H�;H���5N����t�H�[H��u�H���[]�ff.������}!S�P��}!����H��1��6����1��wR���bS��H����W��H�;r!H�
�q!1�H�5;r!��:��H��s!H�H��t
�PHH�dt!�1�1�H�����1��I���8���S���7���4���K�����P����ts�^A����=����<���?>������O����tH�=c���J����u+1�[����H�5��1���M��1�[�fD��U��1�[���7���f���AWAVI��AUI��ATM��U��L��SH���k?��H����H��L�` ����p����I�e�I�F0H���MH�C���`�������=�u�@A�D$(M�d$PM��u�H���5V��H���[]A\A]A^A_Ð��t��uF�����L����G��1�L���4��H�{�L���Q��H����U��1�H��[]A\A]A^A_�D��H�5׳�1��L��H���U��H��1�[]A\A]A^A_�f�L���L��1�L��H���3��H�{�L���Q��H��t#H���@�������L��H���-G��H��tH��UhH�{(1��WM��H���?U��H��1�[]A\A]A^A_�fDH������A�L��A�H��DC�1�M��u#�>fD�E(H�mPI��H���M9n8u�H�{D��H���kP�����@�M������L��D$�T���D$���DI���M����H�����tm����M��fD1���$M���u@���t"H�U I�}H�M(�y<��H�UH�uI�}�XH��A�E(M�mPH�mM����H���„�tx��u���t$H�5I��1���J��H�{�L���O��H�C�8������L���8�������������H�{�L���OO���m���f.���t��f.���AW��AVAUATUSH��(dH�%(H��$1��L����t-H��$dH3%(�nH��([]A\A]A^A_�@���C��H�������C��H���YP��H�D$L�d$ L���'F����H�L$8�H�D$ ��VL����H�H�D$0�@L�����D$(�-L������D‰��<7��L�l$M���d�.��1�L�5 m!I��H��$H�D$�NfDH��H�
5n!E1�1�jE1�L��L��5�l!�5In!�8��H�� H��H���|H����I�ݾ,L��L�l$P1��,3��H��t�H�XA���L��H�=�f�D$hL�t$x�?��I��H����H�(n!I9E�V���I�}�K������$K�����D$�K���	����K��IcUI�u�oH�|$�D$�L��D�L$IcED�D$E��Ƅ����D	���������������H�|$E�E��AE��k8�����fD���I������H�|$L�L$P�1��L�����r7��H�t$L���P.��H��������L���hL��H���|�����sC��H��$dH3%(��H�|$H��([]A\A]A^A_�A���H�|$D���3<��D�D$����f�H�=?��M��H�D$�&����C�����L�L$P��H��$L�j��H���6��H��L���jC����B����?��ff.���AWAVAUATI��USH��(L�o�H�|$H�t$H�L$M�������\=�����=�t=������L��H��H���[H�E��^E��H�\$H�EI�D$H�@H�@ H�E I�E H�@pH�E(H�{H��t!�jL��H���H�{�1��H�MHH���I�E �@��H�D$H��H��uq�nfDH�C`L��L���HH�P�.������H�C L�CL���C0������L��L��H���+0��1��}���C(H�[PH���A�$H���L�pL�x���t��HL�H(L��L��L�@ H����/���@���?��t<�L���\��K��H��H�������fDH�t$�L���~I��H��(1�[]A\A]A^A_�DH�C`L�CD�pL�x�C0H�C L����L��L��H���A/���C0�
���D�����
��J��H������D1ۃ}uPH��j!H��H��L���-�����]���H���K��H���L���H���"M���?���DH�MH�.���fDH�L$H�t$M��L��H�|$�^8��H���f���VJ��H���z���fD�	�>J��H���b���fDH�5���1��}C��������J��H���*���f.�@��H��H�WH�wH�H���>��fD��H��H��H�9L�Z(L�JD�B�JL�H�R��tH��L��AS�K��ZYH���f�H��AS�p$V�@ L��P�Y5��H�� H�����H��H�9H�RL�@��t	L���!1���H�L���>��D��USH��H�H��tNH�߾�D��H�-Bh!H�}H��t
�/��H�EH����9����q!H��[]�fDH�h!H�H��1�[]�f�U�SH���H���D����t.��H��t=������u*H�ke!H�پ����1�����H��1�[]�D�3I���ϐ1�H��
����1��H��1�[]�f�H��H��g!1�1�H�5�e!�8��-��H��e!H�H���@ATI��H��UHc�S�n;��H���@I�$H�k0H���H�H�C8�U(��H��L��Hǃ��9����t[]A\�fDH��[]A\�H��@����o!�P1���o!��u&SH�>e!H�;t H��d!1�1�1��v;��1�[�f�������H�;uո����[�fD������HD�����ATI���0UH��S�=��H��H��tAH�E L�c�C��:6��H���H�C�Z:��H�C H��t!H��n!H��n!H�C(H��[]A\��H��1��:����@��USH��H��n!H��u�H�H�[(H��t7H9{u�HcH;F u�H�{ H��tH����9��H���H��tH��H��[]Ð1�H��H��[]�@��SH�Dn!H��tG1��H�C(H��H��t4H��H9{u�HcH;F u�H�C(H��tH�B(H�{ �d&��H��[�9��[�H��m!��ff.�f���M����AWAVAUATI��UL��S��H��I�x�?��H��t��tz��u`L����8��I�ŋ@�����;�}H�]�}H��tH����%��A�EH�EL��H�I�EH�}�!7����t=H���9��H���[]A\A]A^A_ÐH�}H��t��%���Ӹ�f.�L����E���fDM���H���s���M���j���L�=xc!L�5�b!� �H�M�$$H����M���IcH�s(L��H�{ H��H���&����t�H�K(H�S I�t$I�|$H����&����x�H�SH�sL����:��1�1Ҿ�L����.���fDH�}L���4$������H�]���ff.�@����u_M��tZATH��USL���S7��L�cH��H�@0�C�C��u>H�}0to�EI�$H��L��H�E�5����t[�]A\����f�����v H����#��HDž���H��L���m#����H�a!�EH��H���CH�>c!H�8�&����u�H���"D��[�]A\����U�SH��H�|$H�|$�2A��H��H�D$H���H��tyH��H������1���6��H�-�b!H�پ�H���6��H��H����6��H�پH������6��H�پH�������u6��H��[]�ff.���UA��H�����SH��H��H���1��0��A��H�-�a!H����H����/��H���A�H����/��A��H���H�U�����/���H���A�H�2�����x/��H���H��t�g5��Hǃ�H��[]�D��AUATI��USH�����^��uyH��H��H�IH������t�O=���k�E���vd����
��H�ѤHc�H�>���H�5���1��M:���H��L������D�H����[]A\A]�fD����*��I��H��tщ(L�`H�@�������y�C�H����3��H�-'^!I�EH����3��L��H��H��H���Hǃ�H��H���H���Hǃ�H���H��]!H�8�#�����3���H���A���&���fD��L�D$��;��L�D$��M��t+H�I�@I�H��^!A�D$l�����A��$����t�k@��L�����-��L���q5��L���%���;��H��^!H���t2��1�H����(����H�5�1��1��8���^����H�5	��1��}8���E����H��L���U��I��H��������CH�-�^!�@�w����H��L�����I��H��������P�������<�CH�-�^!�@�*���f�H��L���/��I��H�����CH�-s^!�@����H��L�����I��H���A����xu>�CH�-5^!A�E���1��F���f��C�H�-�[!���A�UH�5
��1��F7������CH�-�]!�@�^���fD�C�H����-1��H�-^[!I�E�5���H�5��1���6��H�޺
L���j�������H�5���1��6��������AVAUATUSH��H�^\!dH�%(H��$�1�H�;�YI��H�����L����2���H��Y!�H�$��D$����H�l$H�L$�H�D$XH�D$P��/��H�=l�H��I������I��H���(H��H�
[!E1�1�jE1�H��L��5�Y!�5[!�k%��H�� H�H����H������H�;�����������}2��H�;��t^�A6��H��
��*���+��H�5��H��1��d5��1�H��$�dH3%(�1H��[]A\A]A^���,��H������H�5���5�������릾���6������L����9��������}������6���‰���b���M��H���LD�H��$�1��H��L���M���[$�����\6����uNL��H�޿�(���z���H��$�M���H��L�����
$��L��H����0���9���L��H����0���1����U-��D��S���t$����u0��u<�3��H��Y!H�=��H�3�2��H�;[�����t[�f.����);����H�qY![H�8����H����U��H��SH��H����$����tH��[]�DH�5A���_3��H����/���H���Z5�����:��H�ھ��1(���l5��H�-�X!H�}tVH���6 ��H�}�*��H�fW!H�;H��t�*��H��M�H�EH��1�1�[]����fD��u�1��Q*��H�E�8���@�:��ff.���H�����95����~1�1��l���1�H���D��"��1�H���@��H������f.�����a!��~RU�P�SH��a!H�CH�,�H��f.�H�;H���,��H�C�H9�u��qa!H��[]�fD�Za!�D��AU�ATI��USH���p"��H���'�=$a!
H����� L������H��H��H��tc�H��L��L�hǃ����Hǃ��$8������M��t�}uaHc�`!�P��`!H��`!H��H��[]A\A]�ǃ����H��L��Hǃ���7����u�H�=���#���fDH���L������f.�H�=u���"���c����H�=J���"��H��H��[]A\A]�
+��f.�H��H�=�[]A\A]�Z��f.�AVAUATUSH�A`!H����H��I��A����E1�f�H��H��L��H����)����u'��)�M��t:D9�|5uA��9�LL�f�H��H��u�[L��]A\A]A^��I��H��A��H��u���@E1�[]L��A\A]A^�f�H����dH�%(H�D$1�H�t$�Cf�D$L�FH�F��H�������H�L9�u�E1�E1�1ɺ����H�|$dH3<%(uH����s(��AWM��AVAUI�պATUSH��H�|$L��$�H�\$ H�t$L��$�H��H�L$H�L$D�D$I�|$A�dH�%(H�D$81�I�H�D$(H�D$0H��H�D$ �i,��H���H�L$(�H��H��A��E,��H����H�L$0�H��H��A��!,��H��H����H�l$ �|$�H�x��HDŽ$��H��L��M��SL��$�H�T$��*��I��XZM��txM���T$H��L��M)�I)�I�O�L�|$ ���I�M�H��H��0L�l$ �m��M�>1�H�t$8dH34%(u/H��H[]A\A]A^A_�f��L$�g���fD��������&��@AUI��ATE1�UH��SH��H�H��u/���9�����H��I��H��tIH��H��H��H��H���=����t�y�H��M����I��$H��1�[]A\A]�f�H��HDžH��[]A\A]�I�u1�HdžH��[]A\A]�@H�������[]A\A]�H��M��tI��$H��[]A\A]�I�m1��f�AWAVAUATU��SH��dH�%(H��$�1��%5��H�=.\!H��u�}@H��H��tqH��9�u�H�\!H��tIH9���H��H��t4H9��WH���f.�H9��?H��H��H��u��?&��H��H��u�H��[!L�-�#H��u�g�L��M���TL��9�u�H�n[!H��tEH9��@H��H��t0H9���H���fDH9���H��H��H��u�H��H��t�K��HǃH��H�����I��H����H��Z!H��tEH��I9���H��t0L9��[H���fDI9��GH��H��H��u�I��A�L��L��H�=��%,��I��H���aH���*�����M��L��H�=PZ!����H��L����$��M����������Y!�-�Y!1�I��L�%�Y!���Qf�H��9�Y!~<I��9�u�H����L��H��ǂ�����F��9TY!�fDH��$�dH3%(��H�Ę[]A\A]A^A_��H���$�������L���H���@H��H�����DH�5i��1��E)�����H�)Y!�#���p����L�%Y!��@H�5���1��)���h���H��X!�P����/"��ff.�@UH��SH��H��H��X!H��tDH��H9���H��t/H9���H���DH9���H��H��H��u�H��H��t���HDžH�QX!H��tHH��H9��H��t3H9���H���f�H9���H��H��H��u�H��H�=X!���H���}"��H��H��A�H�5& H�=>��z)��H��H��tRH���'����unH��H��[]��H��H������DH��H���q���DH�5a��1��m'��HǃH��[]�H�5i��1��E'��HǃH��[]�H�W!����@H�W!���@AWAVAUATUSH��H����H����I��I��M��E1��fDH��H��tP9�u�H��L��L��H��������u�Hc�L9�t?I���u�M��t,A;�$LL�H��H��u�H��L��[]A\A]A^A_�f�I���I����E1���ff.�AWAVAUATUSH��H��dH�%(H��$�1�L��$�H�l$GH�D$h�L�D$hL��H���S+��H����H�
CI!H��H��H��H�D$HL�D$H�
��H�����|$G@��H�L$xH��H��H��H�D$HA��a
��H���XA�H��H��H��H��$�H�D$H�3
��H���*A�H��H��H��H��$�H�D$H��*��H�����|$GC��H��H��H���#��I��H�����|$G0��H�;�|H�D$pH�L$`H�D$H�D$(H�D$XL�-��H�D$H�D$PH�D$H�L$0H�D$ H��$�L�t$8I�ƐH��L��H��L��H�D$X�SL�L$8L�D$(H�T$0��'��I��XZM��t+H�D$`��T$G���wX��IcD�L�>��f.�H�|$�f��fDE1�H��$�dH3%(L����H�Ĩ[]A\A]A^A_ÐH�5܎�1��#��H�D$p�p����I��H��t�H�|$�AH�D$L�8�D$GH�T$PL��L��I�A�G�� ��H�T$XH�t$pL���	��H�;L�|$����L�t$8H�\$�|$xL��L$h��$�I������H���|
�������L�D$H�
�F!H��H�D$XH�t$0H�|$p��
��H�rF!H�D$p�$����L�D$H�
TF!H��H�D$XH�t$0H�|$p�i'��H�2F!H�D$p����L�=QF!H�t$0A�H��H�D$XH�|$pL���e
��L�|$p���L�=I!H�t$0A�H��H�D$XH�|$pL������L�|$p�o���L�=yE!H�t$0A�H��H�D$XH�|$pL����'��L�|$p�7���H�t$0H�|$pH��H�D$X�
��H�D$pH�������L�=E!H�T$X�H��I��R&��I�GH�D$p���@L�=	F!L�D$H��H�D$X�H�t$0H�|$pL���&��H�d$XL�|$p���fDH�D$���H�D$������S��H��dH�%(H�D$1��A@�t$f�D$���E1�E1�1�H�t$�������H��xH�D$dH3%(uH��[ÐH�=��������=��ff.�f�AVA��H��AUATUSH��H��H��0dH�%(H��$(1�H�l$L�d$ H�D$�L�D$L��H����%��H�L$H��H��A�H���F��H���=H�L$H��H��H��A��$��I��H���H�D$H���JH��H����H�\$H������ ���H��H����H�t$����D��H���N�1�����H��I��H�T�H�PH9�u�H��O!H��u$�Gf.�H��H��� H�t$H��H��L�������u�H�D$H9��#L�%lO!�6fD��H��L�������t��2H�=V��8
��������D��E1���H��$(dH3<%(L���H��0[]A\A]A^�fDL�D$H�L$L��D��H�=�N!����H��H����H��H�Nj��C	��H��H���T�H����H��H�������D�����a������H������
H��A�H�5�H��H�=�����H�5<�H��H���GH���p�����0H��H��H�=N!���D���t������L�D$H�L$L��D��H�=�M!����H����H�
�M!��H��tEH��H9���H��t0H9��HH���fDH9��4H��H��H��u�H�������D������E���DDž������������!L�%4M!9�}H��H���U���������H��L�牅�����t����@H�5��1�E1����������D���E�H���]������H��L!H��t<H9�tDH��H��t+H9�tVH���f�H9�tCH��H��H��u�H���������H��H�eL!��H��H������H��H�������D��������H�L!���H�L!������H��H�߉�����u������8���AWAVAUI��1�ATN�4.I��US��H��8dH�%(H�D$(1�L�|$H��H�l$ ���H��tzL9��H��L��H��H��L)�H)�L��H�L$ ���H�����T$��Dtqve��b�����to��`t\H�D$�����������������H�D$��t�@H�\$(dH3%(����H��8[]A\A]A^A_���AtC��Cu�H�D$��f�H��H����1��'���fDH��H�Ɖ�����1��
���@���I����B�1���������fD1��i�������@��H��H��=!H�5�@!H�
��H�=���7��H�5?!1�H�
��H�=��H��������AT��USH��0dH�%(H�D$(1��D$�������H�l$1�H�D$H�U=!f�E����E
f�T$H��I!������X��H�]sH��H��HDº�H���Z��1Ҿ��	�������L�d$A����L���0�������;�H���i��������;A�L��	���������;������Ń����H�D$(dH3%(��H��0[]A\�H�I<!�������f�H�=)�����f�H�=3�����;�!��������DH�=ل����7����H�=��l���;�U!��������b���f.�H�=��D���;�-!���+�>���������AWAVAUATUSH��H�$H��
dH�%(H��$x1����D$LH�D$pH�D$x�;���H��$�H�T$L���H�����������$��������=1G!	��L��$�E1�E1�1ɺ�L����y	�����u$�E��t܃�t׉߻�����K ���fD��~�H�l$PH�H�T$JL��H��H�$H�D$P�<
��H���5�|$J`��L�l$KH�L$XH��H��A�L������H����L�D$`L��H��H��L��$�H�D$`�L���*��H��H�D$�uH��$�H�L$`L��H��H�D$0L�|$h�������L�L$M��L��H��$�H��H�D$hH��L��H�D$(�!���H��H�D$�����H�D$hM��L��H�|$H��H�D$hƄ�H��$�H��H�D$8����H�D$H�������H�D$hL�|$`Ƅ��k�����Y�qE!���qH��$�L�d$ 1�L�-oE!H�D$L�d$8�\$�2�I�|�L��L��H�������t=H��9-E!��
����t�I�T�H�|$�H����������
��I�\�L��H���g����u������u�H�ڋ\$H�L$pA��A��L�d$ ���ߺ������x[H�t$H�$�߃qD!H��L)�H)�H�T$P�����AH�H��$xdH3%(����H�Ĉ[]A\A]A^A_�DH�=������H��$�L��L�������D�\$H�L$(H�T$0H�5;�1���W���������������H�=����������Q����ڹ
H�5��1������߻���������&������2
��f���AUATU��SH��dH�%(H��$�1�H�\$DE1�E1����H�މ�������u9������tՃ�t�H�=Q�t��@���	������������Lc�H�T$H�t$H��L�l$�F	��H����H)�HD$I��I9�H�D$MF�fDH����L��jH��E1�E1������Y^HcЃ��u�C������t̃�t��b���f����X���H�މ�����H��$�dH3%(u"H��[]A\A]��'�������f������������@��HceA!1���~�D�B�OA!H�hA!�<���ff.�@��D�%A!E��~TE�H�H�5A!1�1�M���'@��t�A9�~�r�2H�qH��L9�tH��9:u����f���u1��f�D��@!����AWAVAUATUSH��HL�5�A!H�4$H�L$dH�%(H��$81�L�L$ H�D$0�M����A��A��M��L���M��M����I��L��H��L������Å�u�E��txxFA�G���w=A���DH�t$P��D$RE1�E1�1�f�D$PA�����H��xO���H��$8dH3%(�|H��H[]A\A]A^A_�DA��t*v A�E�<v ���f�A�E�<w�H�L$ H��E��L��L�|$8H�5|@!��AWH�l$`U�t$ L�L$ �1�H�� ��x�A��E1�E1�1�H�T$0H������H��x�H�D$(L�l$H�$f.�A��E1�E1�H��������H�D$0H����H�4$L��H��H�D$(����H���&���H)�HD$(H9D$0H�D$(I��LFd$0L�d$0H��L��E1�A��j��E1�H��� ��H�D$@ZYH���uC�����t���t��|$P�L��L��H��uI�]��H�������L��H�����$���@H��u�A�����A������!������H���[����|$��P���H�L$8L��L��H��A����H���.����|$�#���H�L$@L��L��H��A��z���H�������|$�����H�T$@H��t�����H�L$HL��L��H��A��<���H�������|$�p���������ff.���AWAVAUATUSH��H�$H��`H�t$ I��L�l$0D��H�L$L��L�D$dH�%(H��$P1���H�D$0�������҉�E1�E1��҃�_�T$-H��H�5�=!AUH��$�SA�6���H�� ����H�T$(E1�E1�1�H�މ��7�H���fH�D$0L��$`
H�$L�|$%E1�E1����L����N���H�D$(H��dH���u����tʃ�t�H�=�z�!������������1�H��$HdH3%(��H��X[]A\A]A^A_��H�4$L��L��H�D$0����H����H�\$(L)�HD$0H�D$0H9�HB�Hc��H�\$(H��L���jE1�E1���H������H�D$8^_H���u �����tă�t�H�=�y�-���H��~쀼$`
�ubL��L��L���C��H��tHL��H��������fDH�=qy��������H�51y�1����1�����1�����H�\$&H�l$8L��H�D$8�H��H������H��tӀ|$&�u�H�L$@H��H��H��A��i�H��t�H�L$HH��H��H��A��K�H��t�H�L$PH��H��H��A��-�H���n���H�|$H�b���H�T$8H�\$'H�l$xH��H��H�T$xH���6���T$'H������0��H�T$XL��$�H��H�D$`�UL�|$ L��H��L��L�L$xL�D$p�7��H�D$hH�|$(L��I�H�����A�HDŽ$��ZY<���H�
�z��Hc�H�>��H�5Ex�1��
��1��a������H�D$H��0!H��A�H�T$H�|$hH�H������H���&���H�D$H�[-!H��A�H�T$H�|$hH�H�����H����L�|$H�|$hH��H��I����H�D$hH������H��,!I��H��H�{�<��H�C���H��-!H�T$L�D$pH��H�D$p�H�|$hH������H�D$pH�L$H��H�H���_���H��,!H�T$L�D$pH��H�D$pH�|$hH����H�D$pH�L$H�H��� ���H��,!H�T$L�D$pH��H�D$pH�|$hH���
��H�D$pH�L$H�H�����H�D$H�~,!H��A�H�T$H�|$hH�H����H�������H�5�s�1����1����ff.�@��AWAVAUATUSH��L�=8!L�L$M����H��H��I��I��E����M��M����I��L��H��H��������E��t
I��I9$rUE��L��L��D��L�D$PH�L$���H��H��t.I��I�4$L��L�������uH��H��[]A\A]A^A_�f�1���ff.����AWI��AVAUATUH��SH��H��(dH�%(H�D$1�H�BH�PH�@H�RH9�.!H�@p�$H�l7!H��.!H��.!�;E1��t
E1��A��L�t$L�l$M��u�M�PM�����;M�I�@��t
x?��`�����w4H��H�uH�}I�HAUH��M��E������ZYH��t�;M���uaI�@I�H(A�PI�p M�HI�������t�L����H���k��M�PM���{���1�H�\$dH3%(uNH��([]A\A]A^A_�D�t$H�L$H��L������;���)���M��x����H9y-!��������y���f����5!�D��1���~�@Hc�H�5!���f���@��@���.H��xHc�H�>��DH��w�H��w��H��w��H��w��H��w��H��w��H��w��H��w��H��w��H�~w��H�ww��H�sw��H�jw��H�_w��H�^w��H�_w��H�^w��H�`w��H�Yw����AWI��AVA��AUE��ATE��UH��SH��H���f.�E��tKL��H�������t<H�H�PI;s�HEE��t?A�D� �H�H��[]A\A]A^A_�f�H��1�[]A\A]A^A_��D� �H�H��[]A\A]A^A_�ff.�f�������E�7���AWI��AVA��AUE��ATE��UH��SH��H���f.�E��tKL��H���@�����t<H�H�PI;s�HEE��t?fA��fD� �H�H��[]A\A]A^A_�fDH��1�[]A\A]A^A_��fD� �H�H��[]A\A]A^A_�ff.����AWM��AVAUA��ATI��UH��SH��H��H�|$PD�D$��H�|$Pv
I�9�4H�D$P�D$L�4�H�EJ�T0H;��DI�$�L$PE1��H�E�L$H�PH�UI�$�LH�E�L$H�PH�UI�$�LH�EH�PH�UI�$�DH�EH�|$Pu��I��L;t$PtuD�L$XG��D��H��H��L��������u�H��1�[]A\A]A^A_�fDE1��D$�D$�E��t�H��L���x�����t�H�EJ�T0H;s������H���[]A\A]A^A_�@I�y�����I�y�����I�y�����I�A H�P�H���������D$I��(H�l$PH�D$PL�4��~���f���AWI��AVM��AUA��ATI��UH��SI�YH��H��L�D$�E��t[L��L�������tLH�EH�H��I;s�D�L$PE��D��H��L��L�������tM��u2H���[]A\A]A^A_�fDH��1�[]A\A]A^A_��H�t$H�}L��I<$���H�EL�H�EA��t��1�L)��I�$H���H�EH��H�EH9�u��t���ff.���H��0fA~�dH�%(H�D$ 1���yA�I�� f�D$fH~�H�� �D$ȉ�L	�A�H�D$APL�D$��ZYH�T$dH3%(uH��(��
���f.���H�� f~�A��xdL�%(L�T$E1��fD�L$	A��D$�D$APL�D$��AZA[H�T$dH3%(uH������ff.����AWE��AVM��AUA��ATI��UH��SH��H��E�@A�@�<�cA��v�YA�@><�=D��H��H��L�������u$�E����H��L���t�������H�EH�PH;s�I�$E1�D��H��L���H�EH�PH�UI�$�DH��H�EM�NAWA�v����AXAY����A�V��G�����@���0���x�����tY��uRI�F(AWD��H��M�N A�H��L��H��P�|��ZY�������"���r����v��>��v�f�1�H��[]A\A]A^A_��A����DE��A�D���f.���{w���z����x���I�F E��D��H��H��L����g��������|������q���I�F E��D�D��H��H��L�������������K���f���DtLrȀ�F�0���I�F E��tfD�E��D��H��H��L�����������I�F E��D�@���v���H��M�N(M�F H��AWL��D��H����^_����������D�@E1�D��H��H��L���Y����������I�F E1��+���I�F E��D��H��H��L����Y��������n���ff.����AWAVM��AUA��ATI��UH��SH��H��M�xH�%f�E����H��L���������H�EH�PH;s�I�$A���H�EH�PH�UI�$A�N�LH�EH�PH�UI�$I�NH�LH�EH�PH�UI�$�DH�EA�~�g��E�F(E��D��H��H��L���?�����u1�H��[]A\A]A^A_��E�F E��D��H��H��L��������t�E�FE��D��H��H��L�������t�E1�E��D��H��H��L��������t��A�FHt�H��D��H��H��AWM���L��M������ZY�������W���ff.�f���H���}AWAVAUATUSH��H��H����M����H�������H����I�L�vHH�Gh�NH�$����I��H���L��I��I��H��tH�����M���H��H��L���������I�OHA��H�Ȁ�A�I�GH�DA�GH��lHc�H�>���H��L���e�����tyH�EH�PH;s�I�$I�O@�H�E�H��H�EI�$�H�EH��H�E��u�I���E1�H��H�޹L��L�HAV�p����AXAY����DA�El����A�El������H��L�����t�H�EH�PH;s�I$A����H�EE1�H��L��H�PH�UI�$A���LH�EH�PH�UI�$A���LH�E�H�PH�UI�$�DH��H�EM���M�KAVA�sL�\$���^_��L�\$�'���Ic���t,I�S E��H��L��D�D�H�������������DH�EI�<$+$D��p�H���>��1�H��[]A\A]A^A_�DH��L����������H�EH�PH;s�I�$I�O0�H�E�H��H�EI�$�H�EH��H�E��u��z���fD�H���H���H�fH��>���E�G0E��H��H��L���M�������E�G8E��H��H��L���*��������M���M��uC����M�O AVE1��I�G(H��H��L��H��P�{���AZA[�������M�?M�������A��M�OAV�A�wA��H��H��E��L���9���ZY��u��v���fD��E�G@E��H��I�OHH�޹L���g������G���E�G0E��H��H��L���T����$���E�G8E��H��H��L���1�������f�M���M��u����M�?M�����E��M���H��H��L���S�����u����f.���I�OHH�E���I���H��E1�H�޹L��L�HAV�p�*���ZY���x����c���A�El��������z���fD����I�OHI���I���I����E���@I���H��L��H��H���L�H(L�@ AV�P��^_����������I�W@��,������f���������E�������f������E��f.���AWAVAUATUSH��(H�L�D$H����D���D�OI��A��D��H��t	�G�I�H��A�L�wI���D�cE��H�t$DD�D��H�T$H9����H9��}E�����tK��I�����L��H�D$L�l��H�߉�H��I���n���A�D$�A�D$�I�/L9�u�H�D$M�t�H�D$H�L$H�H��(L��[]A\A]A^A_�fDE1���H�D$f�H���f��A$H��(A�A��A��A��A��A�D�I��0���ff.����H�>��AWI��AVAUI��ATI��D��UH��SH������Í@I9$rUI�A��H��I9�wFL��H�uL������CC�D5��M�7I�$��H9�rH)�H�I�$H��[]A\A]A^A_�H��1�[]A\A]A^A_��1��D��ATI��UL��E��SH��H��H��H��dH�%(H�D$1��=���H��tH�UH��v�;�t!H�L$dH3%(�}H��[]A\�@�K��xt?��yu�H��uˀ{u�H�SH�EH���H�� H�� ɉ�H	�H�A�$y또H��u��{u��SH�EʉA�$x�o����3���AWAVAUATUSH��8dH�%(H�D$(1�H�>L�d$p�l$x�+H���I��I��M��L�D$H�$���L�D$H�$1�A�I�A��H��H�+��I��H����A���C~j=���=�����F���G�r��D��H�D$(dH3%(��H��8A��M��L��L��H��L��[]A\A]A^A_�����A�'���N~L������@uNH�D$(dH3%(�aH��8A��L��L��H��L��[]A\A]A^A_�H��������t�f�E1�H�T$(dH3%(L���
H��8[]A\A]A^A_��-���w�L��A��M��L��1�H���p�I�$$I���fDH�;v�f�M�w)D$����1�L���K���1�L��H�H�D$�:���H�H�D$foL$I��AMI�$H�+�F���H�;�6���L����I�����A�EI�$H�+����I�$������L��������L��H�H�D$���H�H�D$�v�����@��H�:��ATI��UH��S�H�����H��F�G�~�	����sHuHH�{H�uH���Q����uHH�{H�H�E(���<����uHH�{H�H�E ���'���H�uHH�{H�H�E������I�$H�H�Q�I�$H9�uH�C[]A\�D[1�]A\�f�1��ff.�f���AWAVAUATUSL��$��H��H�$L9�u�H��XH�L$I��dH�%(H��$H1�H�D$(H�D$0�H�D$8�H��twH�%�H=��#H�\$H��L��H�����I��H����I�FHI��I����I��M�FH�uWA�N����H�5a��Hc�H�>���1ۉ�H��$HdH3%(��H��X[]A\A]A^A_�L�|$(L��A��H��L��$@L��L����I��H���H�T$(I���L��I�����I���H��tI����
H�D$(�8����H�D$H����A�UE�NHH��H��H�l$@I�}H�D$I�V@A��1�L�D$0H�����H���uE�FHH�L$(H��H��L��$@A��L���8�H���IL�L$(H�T$0M��H��L��1��@�����H�|$�A�E1�I�F0���@H�D$H��������A�UE�NHH��H��H�l$@I�}A��A�UA��H��L�D$0H�D$A��1���H����Ic�H�T$0����H9���H�|$�tA�vHH�ǃ����L�l$0�H��L��$@Lc�H�l$J��L��H��H�\$8���I�ٹ�H��I��A��L��1ۍP�Hc�L���@L��������H�D$H�������H�D$0H�l$@H�D$H�D$$L�|$8H�D$L��$@�8f.���H��L�����H�D$0�H�|$H�D$8��"���E�NHL�D$H��H��H�T$L��A�����H���cE�NHM��L��1�H��H��A����I��H���<H�D$8�L$$M��H�T$0L��L�L$8���\�����H��L������W����H�|$��A�vHL������A�vHI�}I��H�I�F0�����H�I�F8H�D$H��H�D$���f�H�D$H���2���H�D$0L�|$(H�D$H�D$$H�l$@L��$@H�D$�Ef.��L$$L�L$(M��H��H�T$0L���c��H�|$H�D$0�H�D$(����A�FHL��M��H��H�ރ�PAWL�D$ H�T$���I��XZM��u�������@E�NHH�l$@1�L�D$0H��H��L��A���F�H���R�����E�NHH�l$@1�L�D$0H��H��L��A����H��t�H�T$0H��L��1��_������f.�I�vHH��H�|$I�vH�_���L������A�vHI�}H�l$H�I�F@�����A�vHI�}I��H�I�F0������H�I�F8H�D$H��H�D$�`���������fDA�UI�V@���f.�H��L������b���I�����I���I�����������8����!����H��w1��H���wH����@����H�������H�G H��t"Hc�H9ppu��H9ppt	H�@(H��u���ff.�@��ATI��UH����S���H���H�ǹ=H��H���H����H�CxH�CpI�$H�C0H�I�D$@Hǃ�H�CI��$�Hǃ�Hǃ�HǃPH�pH�x���H���I��$�H�PH���H�x �1�H�������H�k H��(\��(H�P2H��H��H��I�D$H��H��������H�SH���H	�H�� H�CH�E H�] H�C(�Cp[]A\��El�������ff.����ATUSH��t9H�����tCH�G H��t(Hc�H9ppu�@H9sp��H��H�X(H��u�A�D��[]A\�@H�����A�ą�u�H�] H��tH�������u�H�[(H��u�H�����H�����H���3��H���H��t���D��HDž�[]A\��H�h(H���L��H���4��H����H������H�C(H�EH���H��t���H���H��t���H��E1����D��[]A\�H�� H���ff.���AWAVAUATI��USH��H���v(dH�%(H��$�1����H���QL�t$H��L�@pI��PH�
)X��M��L��1�E1����Hc�XH���Y����H�PH�HA�L��H�5�!�kH�����H��I��$�H�����H�J L�a�BDH���H��tH�T$��H�T$H�BH���H���H��1�1�@��L�HL�@jH�C@R1�UP��WL��AUAWP��P���H��P���tB���E�H��$�dH34%(uuH�Ĩ[]A\A]A^A_�H�H L�|�����f���f���f��H�T$���I��$����I��$�H�T$����[��ff.���SH��v(����H��tkH�����L�����H�pH�x��u%E1�1��{�����t,���[E��f.�H�@ Lc�N�D��������uԸ[��[�f���AWI��AVAUI��ATUSH���v(�P��H����I�GHI���I��I��A����DE�H��u'��H��H���}��H�����L�#L��M��tZL��D��H��L�#����H��H��u�I���H9�tDH��L���5��H�mH9�u�H���[]A\A]A^A_��H��1�[]A\A]A^A_��H���[]A\A]A^A_�@��ATI��UH��S�v(�Z��H����H���H��u
�cH�H��tXL��H�������t�H���H9�t&�H��L��1�����H�����H�mH9�u�[�]A\��[1�]A\�f�[�]A\�fD��ATUSH��v(���H��tHH��H���H�p(H�x �1��H��I��H���L��H�pH�x��L�����[1�]A\�D[�]A\�fD��SH��v(�@��H��t+H���H�rH�zH�����[��%	�f.��[�f���UH��SH���v(����H����H���H��tvH�g!H�sH�{H��!H�������uH�H��tLH��!H�sH�{H�^!H�����Å�u(H��������H�����H��t�Y��H����[]ûH����[]�f����H����[]�f��H����[]�f���H��H�v(���H���H��%�ff.�@��ATUH��SH��0dH�%(H�D$(1�������t#H�T$(dH3%(���H��0[]A\ÐL��M�����yw�AH�hRHc�H�>��f.��C(
L�c�p��I�D$@H�C�@H�CHcS(H�P0H�sH�{������t3H�CH������[���fD�����H������C���fDH�{H�L$ H�T$H�D$ H�t$��H�{��H�|$ �l���f.�H��H��H�L$� ��H�L$H������H��H����L�c�C(�$���f�H��H���5��L�c�C(����f�H��H������L�c�C(���f�H�sH��H�L$���H�L$���C(�����H�{H�L$���H�L$H���4��I��H�C����H��H�����L�c�C(�t���f�H��H�����L�c�C(�T���f�H��H���%�L�c�C(�4���f�H��H�����H�SH�H�B(L�cI�|$(������El�C(���H�q(H���d��L�c�C(����H��H�����L�c�C(�������@��H������f.���S�H�=]PH�������t�H�=H�������u/H�5�P�1��������[�����H�=�OH�������t��H�=_H�������t��H�=�OH����€��҅�t��H�=qOH����€��҅��u���1��
H���e����vH��H�=AO1�[�~�����H������H��H���
1��)����H�������@��AUH��H�5OATUSH��dH�%(H�D$1�H��H����H��H�5�N1�I����H��H�5�N1�I����H��H�5�N1�H����H��M��t �1�L������������M��t �1�L���e����������H��tH�������uKH��tH�������u"H�D$dH3%(u=H��[]A\A]���¾	������D�¾��g���������H��H���@�����ti�@B��H���2��f�H�=�MH�������I��H��H��H��H�=�M���@��H��H�=�M���ff.�f���S�����H�5jMH�=\M�����H�^MH�5jMH�=@M�M��H�\MH�59MH�=&M�3��H�5L� 1�H�
GMH�=TM�'�����tS��t[�@�1��<���A�H�MH�ƹ�����[�����H�5y� H�
�M1�H�=�L���H�5� 1�H�
�MH�=�L蘾��H�5� 1�H�
�LH�=�L�|���H�5m� 1�[H�
�LH�=�L�_���f.�D��M��t'A9Pu!A���t=��t��t��D�K���I�@�A�@�Fl����yu�ATH��I��UH��SL���}���CH�CA�D$lH�}@���[�]A\�fD��USH��(dH�%(H�D$1�H��tH�H��%�H=�t1�H�t$dH34%(��H��([]Ð����H��H��tо����H�5� H��H��4�ׂ�CHc�L�iLH��H��H�|� �sH��H�U@Hc����H�T$H��H��H�
����������b���H�|$H���T���H�0uH�G(H�Cp������8���@�D$�����D$�"����i��f���USH��(dH�%(H�D$1�H��tH�H��%�H=�t1�H�L$dH3%(uhH��([]�D�Hc��c��H��t�H�@@H�
���H��H��H�h0H�SpH�P(H�T$����¸��u�H�|$�D$����D$����ff.�@��AWAVI��AUATUSH��(dH�%(H�D$1��t$hL�l$pH��tH�H��%�H=�t*1�H�|$dH3<%(���DH��([]A\A]A^A_��Mc�M�ωt$�L$H�$�t��H��H��t�HcD$`�L$M��H�$�t$H�E@��H�CpD��H�E(t/H�MHL��t$���L��H����]����t$H�$H�����tH�MHE��uOL��H������H��H�T$H�
e���H���]���Å�����H�|$H�W0H��uE�������fDM��L��H��L���ž��H���H�@ N�|��H�5�I�1�����H�|$�c��������f���AWAVAUATUSH��(dH�%(H�D$1�L�l$`H��tH�H��%�H=�t)1�H�t$dH34%(�H��([]A\A]A^A_�@�I��Mc�M�ωL$H�$����H��H��t��L$H�@@M��H�$��H�CpD��H�E(t'H�MHL���n��L��H���迾��H�$H���E��uOL��H���T��H�T$H�
���H��H���������4���H�|$H�0uI�4�������f.�M��L��H��L���5���H���H�@ N�|���$�����$�����{��ff.���AUATUSH��(dH�%(H�D$1�H����H�H��%�H=����pI��A���r��H��H����H��L���+������H�} ����N��H����H�@@H�SpH�P(A����A��uH�HHH���H�T$H��H��H�
���������u>H�|$H�0urH���HLJ�H�D$����H�D$��H���@���1�H�L$dH3%(uRH��([]A\A]�H�HH�v���fDH��0H�E �(����{��1���H��H�D$���H�D$�������ATUSH��dH�%(H�D$1�H����H�H��%�H=����pI�����H��H����H��L�������ul�����H��t]H�@@H�SpH��H��H���H�
=���H�P(H���1�����u;H�<$H�0u7���H�L$dH3%(��u,H��[]A\�H��������������d���������������ATUSH�� dH�%(H�D$1�H��tH�H��%�H=�t$1�H�L$dH3%(��H�� []A\�D�I��H�T$H�4$����H��H��t�H�T$H�4$H��M��H�@@H�Cp�sH�E(�Q���H�T$H��H��H�
����������v���H�|$H�0u�����]�����$�h���$�F������ff.���USH��(dH�%(H�D$1�H��tH�H��%�H=�t1�H�L$dH3%(��H��([]�H�T$H�4$����H��H��t�H�@@H�CpH��H�T$H�4$H�E(���H�T$H��H��H�
2����-�����u�H�|$H�0u�����r���fD�$����$�\��������SH�� dH�%(H�D$1�H��tH�H��%�H=�t1�H�L$dH3%(uwH�� [���
���H��t�H�@@H�SpH��H��H�
x���H�P(H�T$�j�����u�H�|$H�0u������fD�D$����D$�y����Q����H��H���babystep_modeunknown mode %d
baby_stepsbaby_steps_muxagent_modebaby_steps_access_multiplexer has no methods
baby steps multiplexer handler called for a mode with no handler
malloc failed in netsnmp_baby_steps_handler_get
could not create baby steps handler
��@��P��`��p�����������������8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8������� ��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8���������������������������������,��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��L��<��������bulk_to_nextcache_info%s:%scache has existing timer id.
could not register alarm
cache has no timer id.
cache_handlercould not register cache handler
malloc error in netsnmp_cache_create
cache_timer_start called but auto_reload not set.
not freeing cache with root OID %s (still in list)
bad param in netsnmp_cache_handler_register
cache_handler: Unrecognised mode (%d)
debugcould not create debug handler
%ld%luw+instancefailed to register instance
file_num_handlernetsnmp_instance_num_file_handler: illegal mode
netsnmp_instance_helper_handler: illegal mode
failed to register read only instance
bad parameter to netsnmp_register_num_file_instance
could not not allocate memory
mode_end_callimproperly registered multiplexer found
No handler enabled for mode %d in multiplexer
unsupported mode for multiplexer: %d
netsnmp_get_multiplexer_handler(NULL) called
multiplexernullnull context allocation failure(s)
null context allocation failure
old_apiold_api handler registration failed
mib table row registration failed
read_onlycould not create read_only handler
row_mergefailed to register row_merge
row_merge:%perror creating key
error allocating memory
bad rc (%d) from next handler in row_merge
scalarregister scalar failed
register read only scalar failed
scalar_groupregister read only scalar group failed
serializecould not create serialize handler
get_statisticcould not create statistic handler
stash_cachestash_to_nextnetsnmp_get_table_handler(NULL) called
could not create table handler
handler (%s) registered after sparse table hander will not be called
improperly registered table found
name: %s, table info: %p, indexes: %p
sparse_tableunknown mode processing SET for netsnmp_table_array_helper_handler
table_array registration with no callbacks
table_array registration with incomplete callback structure.
table_array couldn't allocate container
could not create table array handler
X#��8$���#���#���"��#��table_arrayrequest_group:table_container_find_next_row param error
table_container:rowtable_container:containerbad param in netsnmp_container_table_register
malloc failure in netsnmp_container_table_register
could not create container table handler
illegal data attempted to be added to table %s (no index)
duplicate table data attempted to be entered. row exists
netsnmp_get_table_data_handler(NULL) called
could not create table data handler
could not create read only table data handler
table_datatable_data_tabletableoidadd_rownetsnmp_table_data_setdataset_row_stash:%s:%s handler name too long
%s oid or name too long
missing an index valueerror adding table row  extra data '%s'
  index %s not found in tree
unknown index typeignoring extra tokens on line  ignoring '%s'
duplicate table definition  can't parse %s
  table %s not found in tree
unknown column typeunknown column access typetable_name indexes... values...netsnmp_get_table_data_set_handler(NULL) called
could not create table data set handler
no memory in netsnmp_set_row_columntable_dataset: unknown mode passed into the handler
Unknown table trying to add a rowmissing a data value. All columns must be specified.  can't find value for column %d
extra data value. Too many columns specified.can't instatiate table since I don't know anything about one indexcan't instatiate table since I can't parse the table namecan't instatiate table since I can't find mib information about itcan't instatiate table since it doesn't appear to be a proper table (no children)I can't parse the augment table namecan't instatiate table since I can't find mib information about augment table�Z��Z��Z���Z���Z���Z���Z���Z��cZ��cZ���Z���Z���Z���V��xa��!a��!a��;a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a��a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a���a��;a��ti_cachetable_iteratortable_iterator helper called without data accessor functions
no valid requests for iterator table %s
invalid index list or failed malloc for table %s
table_iterator called with unsupported mode
could not create iterator table handler
table_row%s_tablemalloc failure in netsnmp_table_row_register
bad param in netsnmp_table_row_register
could not create table row handler
table_tdata_tabletable_tdatanetsnmp_get_tdata_handler(NULL) called
could not create tdata handler
watcherwatcher-timestampwatcher-spinlockwatcher handler called with an unknown mode: %d
could not create watched instance handler
could not create watched scalar handler
could not create watched instance2 handler
could not create watched scalar2 handler
failed to register scalar watcher
could not create watched timestamp handler
could not create watched spinlock handler
netsnmp_register_handler_nocallback() called illegally
netsnmp_inject_handler() called illegally
Cannot inject '%s' before '%s': not found
netsnmp_call_handler() called illegally
no access method specified in handler %s.netsnmp_call_handlers() called illegally
unknown mode in netsnmp_call_handlers! bug!
netsnmp_call_next_handler() called illegally
netsnmp_call_next_handler_ONE_REQUEST() called illegally
data_clone / data_free inconsistent (%s)
netsnmp_register_handler() called illegally
no registration modes specified for %s. Defaulting to 0x%x
could not inject bulk to next handler
no INTONAME specified.  Can't do insertion.injectHandler NAME INTONAME [BEFORE_OTHER_NAME]no handler to inject before
  %s
The handlers are:
no handler specified.no "%s" handler registered.injectHandlerGETGETBULKSET_BEGINSET_RESERVE1SET_RESERVE2SET_ACTIONSET_COMMITSET_FREESET_UNDOpre-requestobject_lookupcheck_valuerow_createundo_setupset_valuecheck_consistencyundo_setundo_commitirreversible_commitundo_cleanuppost_requestoriginalGET/GETNEXThandler_can_modeSETBABY_STEP
Index Allocations:%s indexes:
%s [TRUNCATED] indexes:
unsupported type (%d/0x%02x)
    %ld for session %8p, allocated %d
    "%s" for session %8p, allocated %d
    %s for session %8p, allocated %d
    %s [TRUNCATED] for sess %8p, allocated %d
%s,%sBad numberpauthtrapenabletrapsinktrap2sinkinformsinkcommunity-stringtrapcommunityv1trapaddressuseridagentusergroupidagentgroupSNMP bind addressagentaddressquitleave_pidfiledontLogTCPWrappersConnectsmaxGetbulkRepeatsmaxGetbulkResponsesavgBulkVarbindSizepduStatsMaxpduStatsThresholdUser not found in passwd databaseGroup not found in group database1 | 2		(1 = enable, 2 = disable)[-profile p] [-name n] [-tag t] host [community] [port][-profile p] [-name n] [-tag t] [snmpcmdargs] host [TRUNCATED]no-nameno-handler-nameSubtrees for Context: %s
%02x ( %s - %s ) [%s, %02x   %s - %s  
	%s[%s] %p var %s
	%s %s %p
duplicate registration: MIB modules %s and %s (oid %s%s).
context passed during registration does not equal the reginfo contextName! ('%s' != '%s')
register_signal: signal %d cannot be handled
P������P�P�0�`�

	
�
�v1 session count < 0! fixed.
v2 session count < 0! fixed.
unknown snmp version %d
unknown argument passed to -CUNKNOWNsnmpd: send_traplocalhostSNMP version disabled127.0.0.1snmptrappublic 	
-tag-profile-signoring unknown argument: %scannot create sink: %s:%hudisableauthtrapenable must be 1 or 2C:snmpd-trapsesssend_trap: failed to clone PDU
malloc for %s trap stats failed
netsnmp_unregister_notification not supported
snmpd: netsnmp_create_notification_sessionThe separate port argument for sinks is deprecatedUsing a separate port number is deprecated, please correct the sink specification insteadsend_trap: failed to copy v1 template PDU
send_trap: no v2 sysUptime varbind to set from
send_trap: no v2 trapOID varbind to set from
send_trap: v1 traps can't carry Counter64 varbinds
send_trap: v2 trapOID too short (%d)
send_trap: failed to copy v2 template PDU
send_trap: failed to insert copied snmpTrapOID varbind
send_trap: failed to insert copied sysUptime varbind
send_trap: failed to append snmpTrapAddr varbind
send_trap: failed to append snmpTrapCommunity varbind
send_trap: failed to append snmpEnterprise varbind
send_trap: failed to clone varbind list
send_trap: called with NULL v2 information
send_trap: failed to construct v2 template PDU
send_trap: no v2 trapOID varbind provided
send_trap: failed to insert sysUptime varbind
send_trap: failed to add snmpEnterprise to v2 trap
send_trap: failed to convert v2->v1 template PDU
send_trap: failed to construct v1 template PDU
send_trap: failed to set v1 enterprise OID
send_trap: failed to convert v1->v2 template PDU
ignoring attempted override of read-only snmpEnableAuthenTraps.0
SNMPv3 disabled, cannot create notification sessionsnmpd: protocol version disabled at runtimesnmpd: failed to parse this line.snmpd: failed to parse this line or the remote trap receiver is down.  Possible cause:snmpd: snmpd_parse_config_trapsess()/proc/self/fd%dWARNING: results undefined for compares with NULL
  GETBULK message, non-rep=%ld, max_rep=%ld
Purging address from address cache: %sReceived SNMP packet(s) from %s
Error opening specified endpoint "%s"
Error registering specified transport "%s" as an agent NSAP
Error processing transport "%s"
malloc failed for pdu stats entry
error creating data list for stats
Illegal error_value %d translated to %d
  GET message
  GETNEXT message
  RESPONSE message
  SET message
  TRAP message
  INFORM message
  TRAP2 message
  REPORT message
  INTERNAL RESERVE1 message
  INTERNAL RESERVE2 message
  INTERNAL ACTION message
  INTERNAL COMMIT message
  INTERNAL FREE message
  INTERNAL UNDO message
  UNKNOWN message, type=%02X
    -- %s [TRUNCATED]
    -- %s
snmpnonesmuxnetsnmp_pdustats:binary_arraynetsnmp_pdu_statssend responseselectselect returned %d
�#��g"��H"��"���#��� ��H"��"��"��"��"��H"��"��� ��� ��� ��H"��H"��H"��� ��"���!���!��� ��� ���!���!���!���!���!���!���!��� ��� ��� ���!���!���!���4���4��x4���3��`4��@4��@4��
�
snmpdsnmptrapd, :Warning: all protocol versions are runtime disabled.
  It's unlikely this agent can serve any useful purpose in this state.
  Check %s.conf file(s) for this agent.
Warning: all protocol versions are runtime disabled.
This receiver will *NOT* accept any incoming notifications.
ignoring extra call to init_agent (%d)
Unknown operation %d in agentx_got_response
response to agentx request illegal.  bailing out.
Error: Couldn't open a master agentx socket to listen on (%s)Warning: Couldn't open a master agentx socket to listen on (%s)unsupported mode for agentx/master called
AgentX master disconnected us, reconnecting in %d
AgentX master disconnected us, not reconnecting
dropping bad AgentX request (wrong mode %d)
AgentX session to master agent attempted to be re-opened.
Warning: Failed to connect to the agentx master agent (%s)Error: Failed to create the agentx master agent session (%s)NET-SNMP version %s AgentX subagent connected
AgentX master agent failed to respond to ping.  Attempting to re-register.
save_set_vars() failed
restore_set_vars() failed
[NIL]�]���]��0]��h]�� ^�� ^�� ^�� ^�� ^�� ^��h[��smux_parse_peer_auth: mallocToo many smuxpeersError parsing smux oidbad type returned (%x)
[smux_snmp_close] send failed[smux_rreq_process] mallocOID-IDENTITY PASSWORDsmuxpeerSMUX bind addresssmuxsocket[init_smux] socket failed[init_smux] bind failed[init_smux] listen failed[smux_accept] accept failed[smux_process] peek failedSMUX: cannot create new smux peer registration
SMUX: cannot register new smux peer
[init_smux] setsockopt(SO_REUSEADDR) failed[init_smux] setsockopt(SO_KEEPALIVE) failed[smux_accept] denied peer on fd %d, limit %d reachedrefused smux peer: oid %s, descr %s
smux_accept: setsockopt SO_RCVTIMEO[smux_snmp_process]: smux_build failed
[smux_snmp_process] send failed[smux_snmp_process] peek failed[smux_snmp_process] recv failed[smux_parse_var] Panic: type %d
n��n��\o��o���n��/n��\p��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��p���o���o���o���n��n���o���o��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��n��/n��/n��/n��T���T������߆������*���]���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T������م��م��م��]���]�������م��T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���*���*���*���OpenCloseRegisterUnregisterGetGet NextGet BulkTest SetCommit SetUndo SetCleanup SetNotifyPingIndex AllocateIndex DeallocateAdd Agent CapsRemove Agent CapsResponseUnknown������������������������ȇ��؇��������������(���8���H���X���h���x�������d���K��������ʕ��ʕ������̖��Ԕ��Ԕ�����̖��Ԕ��̖��̖������,���T���x�������X���x���x���������������Т�����������Т�����Т��Т�������������AgentX subagent %ld, session %8p, subsession %8p������������ܯ��|���������������������������������������ܮ��,���L���l�������yesnooffmaster '%s' unrecognised 	Invalid timeout value:agentxunix tcp/var/agentx/masterunixlocalhost:705AgentX bind addressagentxsocketagentxpermsAgentX RetriesagentxRetriesAgentX Timeout (seconds)agentxTimeoutagentxPingIntervalTurning on AgentX master support.
specify 'agentx' for AgentX supportAgentX socket permissions: socket_perms [directory_perms [username|userid [groupname|groupid]]]Net-SNMP AgentX sub-agentregistering pdu failed: %ld!
;$�`J��@o��hP�����������������������P���<����\��x���`���������@�������D����h��|������������������(����<���t���`�������P��� ����D����`@����p�������0�������4�l0����@���������`���������� ����p���������������������������0�������0��������@���@����|����`��������0 ���l��������@��� P���4����`0����������������� �< `���h p���| ��� @���8!����p!���!@����!@����!����"� "�p"����"`����"�����"����#���h#���|# ����#����#P��$���,$���P$���l$ ���$����$����$���d%0���%p���%����%���&���0&p��h&`���&����&0��$'���T'`���'����'���(`��<(���`(0���(����(`��H)���\)���t)@���)����)��*P��,*���T*���h*����*����* ���*@��+p�� +���L+���h+ ���+����+����+����+@��,P�� ,`��4,p��H,���\,@���,���,���-��d-���-��- ��-���-p�.��H. �\.@��.���.�0/���/���/���/�� 0��p0���0���0��0@�t1p�1�����1 ���<2����2�����2�����2�����2����,3����|3�����3�����3��30���4����04���|4����40���4@��5���P5����5����5���5P��6p��6���H6@��t6����60���6`��$7���@7���T7 	���7P	���7�	���7�	���7 
��8�
��L8@���8P���8`���8p���8����8���<9���90���9P���9����9���P:P��|:����:����:����:����:����:P��;`��,;��X;��l;0���;P���;p���;����;����;����;���<@��(<���T<����<���<0���<P���<����<���=���H=����=0���=����=���> ��<>P��P>P���>����>����>����>���>0��?p��d?� ���?� ���?p!���?�"��L@`#��t@�#���@�,��@A0/���A`/���A1���A 4��4B�4��XB�4��lBP5���B`6���B@C��$C�C��`C�C��|CD���C0D���C�D���C`E��DpE��(D�F��xD@G���D�H���D�I�� E@J��TE`L���EM���E�M��F�N��HFO���F�O���F�O���F�Q��8G�Q��PGS���G S���G�S���GT��H0T��H�T��LH@U��|H�U���H0V���H`V���H�V��$I�V��@IW��`I�W���I�W���I�W���IX���IX��J0X��J@X��,JPX��@JpX��TJ�X��hJ�X��|J�X���JY���J�Y���J�Y���J`Z�� K�Z��8K�Z��LK0[��xKP[���K�[���K\���K�\���K0]��L�`��hLa���L0a���L�a���L�a��M0b��@M�b��xM0c���MPc���M�c���MPd��4N�e���N�e���N0f���N`f���N�f��Opg��LO�g��lO�g���Oh���O0h���O`h���O�h��P�h��0P�h��DP@i��pPpi���Pj���P@j���P�j��$Qpl���Q�l���Q�m��,R�o���R�p��$S�q���SPr���S�r���S�r���S�s��,T t��HTPu���T v���T�v��U�v��,U�v��@U�v��TU w��hUPw��|Upw���U�w���U�w���U0x���UPx��V�x��$V�x��<V�y���V�z���V`~���V���`W����W��W�����W���X ����X0����X@����X���X����Y ���PY�����YP����Y���,ZЏ��HZ����dZ@����Zp����Z�����Z�����Z�����Z�����Z����[����0[��D[�X[P����[`����[Е���[@���\����\ ���L\�h\`����\�����\К��]P���P]����l]��]�����]���^P���H^���^`����^�����^Ш���^���_ ���0_@���L_�����_�����_����8`�����`�����`�����`з���`����a���0a���Ta���xa`����a@����a�����a ���b��hb����b����b@���b����b���@c���Tc���hcp���c����c����c ��d@��$d���<d���Xdp���d����d���e���,e��he ��|e ���e����e���fP��<f0���f���g ��0g@��Dg���g`���g ��h@��4h@��th����h��i��i�0i`�hip�|i���i���i���i�j0�$jP�8jp�Lj ��j�(k��`k��k��k��k����l����0l��Dl���Xl0���llP����lp����l�����l�����l����lP���m���� m`���\m����m����mP����m ���4n����Tn����hn`���n`���n��� o��\oP��to���o����o���oP���o���p��(p���Xp@��lp
���p0
���p�
���p���q��Dq���q����q��|r0���r`���r���s���s0��(s���<s���hs����s0 ���s�!��t #��Xt`$���t�$���t�%���t�&��uP)��tu�*���u�,���u -��,v�/��|vp0���v@1���v02��w 3��pw03���wP3���w`3���w�3���w�4���w5��x6��,x�6��dx�7���x`8��y`9��<y�9��Ty�:���y ;���y`<���y�?���zpC��{�F��X{�F��l{@G���{pG���{�G���{pH�� |�H��8|I��p|pI���|�I���|J���|�J��}�J��0}�L���}�M���}`N��~@O��(~`S��d~V���~pV���~pW��,�W��P�W��d@X����Y���pZ��<��Z��X��\�����]��<�0a����c��ԁ�c�� ��h���� i���� n����o��8��o��P��q���� v��؃�w��(��w��<�@x��P��{��Ąp���L�P��������������`���,� �����0������0�������Љ����P��������@�Ѝ����`����������ĉ ���؉����$�@����� ���������<�����x�0����`�����������D� �������������<�������@���������0����P�Ъ���������Э��������� �0���8�`���t�����������������0����в����@�����l�`��������`���@�`���t�`�����@���ԑzRx�$5���$FJw�?:*3$"D�Y���$\�~��/Hbt�~����~��L��~���F�E�L �D(�D0�d
(A BBBF]
(F BBBG(������E�R�D T
DAD���NH]
KR8<���*E�dTP����Hh<����F�B�L �E(�A0�D8�DP�
8A0A(B BBBH�����)H` ������N�L
F@�,�$���OR�D�D �G0i AAB  D���-HX
HDDP���4XL����A�A�G O
CADpCA��$��PA�D�D ADA4����zA�D�G W
DAHg
FAB`���4\���ZF�D�D �v
ABIFABHP�����F�J�E �E(�D0�H8�D@Z
8D0A(B BBBG�����,������J�w
GVB�H�W
AV��AS�OF� �(���7E�D0�
AE D���"Q�L�4<X���}E�K�D w
DAHL
DAGt����"D�����`F�E�E �E(�D0�E8�D@p8D0A(B BBB�Ԉ��RE�Y
Ra����OE�a
H`4D���bF�G�D �a
ABKA
ABD$H|���=E�G�D gDAp���������cB�XF�����E�v
Ea �t���;J�W
�OCE������%H\L������F�J�B �E(�D0�D8�D�#
8A0A(B BBBHL���d���	x��������=HX
HP�(���H�$���lF�B�E �E(�D0�D8�D`�
8A0A(B BBBHlH���]F�E�D �D(�G0Q
(A ABBGx
(M ABBNg
(C ABBAT(C ABB|8���&Q�P��L���0�X���oE�D�D d
DAJgFA8������O�A�A �
�A�B�MnFBA���8����\F�J�J �D(�L0�c(A EBB8X���\F�J�J �D(�L0�c(A EBB8�@���\F�J�J �D(�L0�c(A EBB8�d���\F�J�J �D(�L0�c(A EBB8	����\F�J�J �D(�L0�c(A EBB8H	����\F�J�J �D(�L0�c(A EBB8�	Б��\F�J�J �D(�L0�c(A EBB8�	�\F�J�J �D(�L0�c(A EBB�	���	(
���nF�M�J �p
AEM(<
X���nF�M�J �p
AEM(h
����nF�M�J �p
AEM(�
��nF�M�J �p
AEM(�
$���nF�M�J �p
AEM(�
h���nF�M�J �p
AEM(����nF�M�J �p
AEMD�	|X��lF�B�B �B(�A0�A8�D`
8D0A(B BBBJL
8D0A(B BBBO\
8A0A(B BBBJ8�ܕ��\F�J�J �D(�L0�c(A EBB4���mF�E�D �D(�G0L(A ABBL8���&E�`(hL���VF�I�D �AB$������H w
In
J^
B�X���GE�e
FV�����SXZ
FSL�ȗ���F�J�D �I(�D0n
(D ABBHv
(A ABBAL
x���,d
p���QM�A�A �xABF����
����H�
����'F�B�B �B(�A0�A8�Dp�
8C0A(B BBBAL�
����GF�B�B �B(�A0�A8�G�h
8A0A(B BBBID����X����\l�����F�B�B �J(�A0�A8�J��S�R�A� 
8A0A(B BBBD ���oHm
K`
HF�4���)H` L���=HX
HP,h���-E�cH|���&E�`4d����}J�A�G f
D�A�KgFAA��8�ء��$F�M�P �F(�D�W
(A ABBFd�̢��F�E�B �B(�A0�A8�G�!
8C0A(B BBBK�
8A0A(B BBBE@����7Hf
BF`����?Hj
FF�Ħ��%HUX�ئ���F�E�D �D(�G0Y
(C ABBE
(C ADBGX(C CBB�|���4�����F�A�A �d
ABInFBLD����F�B�A �A(�G0�
(D ABBK|(F ABB�����,E�fL������F�E�B �E(�D0�A8�J��
8A0A(B BBBG,���|F�K�K �F
ABKH0T����F�E�D �A(�G0B
(D ABBNq(F ABBP|����nK�E�E �D(�A0�t
(A BBBKA(C BBBA������ԫ��0���oE�D�D `
DANgFA ���=HX
HP <8����E�D q
AE``�����F�E�E �E(�K0�K8�F@n
8J0D(B BBBKg8F0A(B BBB\����nF�E�B �G(�D0��
(C BBBEU
(A BBBL�(F BBB$���8���(H_@P4����F�B�B �A(�A0�D@X
0A(A BBBH4������E�G�D W
DADF
DAE�����$����3E�A�D cDA$���3E�A�D cDA04���D0��� HPH\8���/F�E�B �B(�A0�A8�DPL
8D0A(B BBBB����)H`�0��� A�^�4���)J�T�(�H���\E�I�D s
DAF(|���E�ND����!J�P�(`����gE�A�D v
DAK�ذ�����0��oE�G�D `
DAKgFA�,���	�(���$���$ ���88,����F�K�A �I
ABJN
ABA0t�����F�A�D �G��
 AABDH�<����F�B�B �B(�A0�A8�DPl
8C0A(B BBBFH������F�B�B �B(�A0�A8�J��
8A0A(B BBBE@4���1J�\�\X���0@pt���F�H�M �D(�A0�M�t
0A(A BBBG�@���� ������E�G`�
AA4�X���dF�D�D �Q
ABFxAB$����;@8����B�B�B �A(�A0�G��
0A(A BBBF<|�����F�E�E �A(�D0�d
(C BBBFL����F�B�B �B(�A0�A8�G�
8A0A(B BBBHhȽ��qE�D�G `
AAF�
DADY
DAB�
DABg
AAGO
AAGxܿ�� E�V���AJ�p�H�����B�J�B �E(�D0�A8�G��
8A0A(B BBBAL�����F�J�J �D(�D0�\
(A BBBKx
(A BBBA\LX����F�E�E �E(�D0�A8�G@j
8P0A(B BBBLg8F0A(B BBB�����<����x����nX�B�B �D(�D0��
(A BBBBX
(C BBBGs
(A BBBFA
(F BBBKh�����P���!Hd���BF�B�B �B(�A0�A8�Dp�
8A0A(B BBBGd����ZF�B�B �B(�A0�A8�DpF
8A0A(B BBBF�
8D0A(B BBBE@����F�H�E �D(�D0�DPY
0A(A BBBHL\����F�E�D �D(�G0o
(M ABBEY(A ABB��������0�����B�A�A �D@^
 AABFL|��F�B�B �B(�D0�A8�D�M
8A0A(B BBBD8X<���F�I�A �J
ABCn
ABG����)J�U�����6[K����3[K(�$��F[�D�G TCAB��HH��jF�B�B �B(�A0�A8�D@�
8D0A(B BBBB@Xl���F�A�A �G0N
 GABID
 AABH(���KJ�H�G bD�A��<��L�8��BF�B�B �B(�A0�A8�G�
8A0A(B BBBAL, 8��2F�B�B �B(�A0�A8�G�

8A0A(B BBBA| (���  ��0� ,��NE�N�D V
DAFPDA� H��0� T��}E�A�D P
DAAWDA($!���LE�A�D s
DAFpP!����X�E�A �D(�D0\
(F ABBCk
(A ABBGj
(A ABBHh����F0�����!���[$�!,��&E�D�G IGA"4��#O�L�"H��	(0"D��qJ�D�D QD�A�\"���"E�\,x"���pF�A�A �W
ABF�"���	�"���GE�i
BVH�"���F�E�G �D(�D0e
(G ABBEg(F ABBH(#\���F�E�D �D(�D0`
(J ABBJg(F ABBt#���	�#����#����#���HRL�#���5F�B�B �B(�A0�A8�G�
8A0A(B BBBAH$���7F�B�B �B(�A0�A8�J�{
8A0A(B BBBCd$���x$���(�$���OF�A�A �CABp�$���0F�B�B �E(�G0�D8�G`�
8C0A(B BBBJ
8A0A(B BBBF�hKp[hA`(,%x��}E�I�O�X
AAAX%���1l%���	�%���#�%��	�%��	4�%��ZF�A�A �D
ABAFAB�%0��	(&,���E�A�G�r
AAG4&���	H&���HR`&���t&���HR�&���HR�&���HR�&���HR�&���HR�&���DHw('��IJ�A�G lAAH��(0'4��QJ�A�D wAAH��\'h��p't���'���(�'���QJ�A�D wAAH��$�'���9E�N�D \DA4�'����F�B�A �D(�D0�(D ABBL$(`��'F�B�A �A(�D0�
(D ABBHy
(D ABBFt(@��GE�i
BV8�(p��oF�B�D �D(�G@�
(A ABBD�(���0�(���oE�I�L h
HDJTAA)���+8,)����F�Q�I �D(�G�{
(A ABBD0h)���iE�G�D H
AAFDCA�)����)����)����)���&P�)��7O�E�E �E(�D0�C8�GPp
8A0A(B BBBJ�������(@*�IE�D�Ip

AAAl*(�$E�R
IC@�*8�{K�D�C �X
ABCiABA���F ���T�*t�wO�E�E �E(�D0�D8�D@v
8A0A(B BBBF�������$(+��jE�A�G WDA(P+��QF�I�I �uAB�|+�"	X�E�E �B(�A0�C8�G��
8C0A(B BBBKO
8F0A(B BBBB��L�T�B��������C�������W������H,��6F�J�B �B(�A0�A8�G��
8A0A(B BBBDh,��!L|,���B�B�B �B(�A0�A8�G�I
8A0A(B BBBD@�,�F�B�B �A(�A0�R��
0A(A BBBF -��E�G`�
AA4-��H-|�QJ�y�Hd-��B�E�L �E(�D0�D8�DPj
8D0A(B BBBEL�-���F�B�H �B(�A0�A8�G�

8A0A(B BBBI8.��XF�J�J �D(�D0�n(A BBB<.8��9J�f�X.\��l.h��"0�.���sJ�N _
AHV
AIDCI�8�.����F�A�D �E
ABMd
FBD�.D��L/@��5F�B�B �B(�A0�A8�G�
8A0A(B BBBA(T/0���E�A�D@]
AAGL�/����F�B�B �B(�A0�A8�G�	q
8A0A(B BBBA(�/����E�A�G��
AAB0�/h���F�A�A �D@�
 AABAL00���F�B�B �B(�A0�A8�G��
8A0A(B BBBH(�0����E�A�G��
AAB0�08���F�A�A �D@�
 AABA@�0����F�B�B �A(�A0�DP�
0A(A BBBCD$10���F�E�L �E(�A0�A8�DPP8G0D(B BBB(l1x��mF�G�A �YCB(�1���UE�R�D Y
DAGL�1����F�B�B �B(�A0�A8�J�\
8A0A(B BBBB2�
��H,2x
��"F�E�B �B(�D0�A8�GPQ
8C0A(B BBBHx2\��4�2h���F�I�I �l
ABIr
ABK�2���9J�c��2��0�2���E�A�D Q
DAH\DA,(3l��uO�D�G M
AAAG��(X3���LE�A�D t
DAE4�3����O�D�G v
AAFX��F ���3H
��#O�PA�$�3\
��&E�D�G IGA4d
��#O�L�4x
��GE�i
BVH<4�
���F�E�A �D(�J0s
(L ABBJg(F ABB�4�
��	�4�
���4�
��"HY�4���4��HR�4��	5��	5��05��D5��X5��l5��YH0
I(�5L��}E�I�O�X
AAA�5���YH0
I(�5���}E�I�O�X
AAA�58��#MN6P��((6\��}E�I�O�X
AAAT6���(h6���}E�I�O�X
AAA�6��1E�k�64��zY�`(�6����E�D�J0\
AAGH�6���F�B�B �E(�A0�A8�DP�
8C0A(B BBBHD7`��)H`\7x��#Pp7���sF�E�E �J(�I0�C8�DPVXW`IXAPD8D0A(B BBB�7���&HM P8�7���OF�E�J �I(�C0�f(A BBB48���wF�A�D �n
DBIfFB4T80��wF�A�D �n
DBIfFB�8x��4�8���F�A�D �v
DBIfFB4�8���F�A�D �v
DBIfFB`9��5B�B�B �B(�A0�A8�DP�
8D0A(B BBBL|
8A0A(B BBBBt9���)H`�9��bH�l
La$�9X��)E�D�G IJA�9`��)H`8�9x���F�A�D �U
GBGl
FBD(:��"HHB OH:,��"HHB Oh:<��"HHB O�:L��"HHB O�:\��"HHB O�:l��"HHB O �:|��"HHB O;���( ;���\F�I�I �j
ABKL;���+F�[G�Dh;����F�J�E �J(�D0�D8�D@L8D0A(B BBB�;$��38�;P���HPJ A(B0D8C@BHCPDXD`VD
Ex<����F�B�B �B(�A0�A8�DP�
8A0A(B BBBEZ
8C0A(B BBBBg
8F0A(B BBBA|<���t�<���F�B�B �B(�A0�A8�D@�
8A0A(B BBBGW
8F0A(B BBBJJ8A0A(B BBB�=\��F�B�B �B(�D0�A8�D@�
8C0A(B BBBHc
8A0A(B BBBC_
8F0A(B BBBBU
8F0A(B BBBD`�=���F�B�B �B(�A0�A8�D@Y
8A0A(B BBBKw
8F0A(B BBBJ\>���F�B�B �B(�A0�A8�D@�
8A0A(B BBBF8F0A(B BBB`>d��QJ�~�@|>���lF�E�E �D(�D0�D@l
0A(A BBBH�>���	0�>����E�A�D �
DADxDA?|��aJ�H�H$?���/E�A�D B(F0A8A@FHCPBXC`DhDpT D
AAD4p?� ���F�A�A ��
ABEKDB8�?L!��ZF�J�J �D(�D0�p(A BBB �?p!��+J�R
DCE�@|!��@�!��0@�!��%D@�!��&X@�!��l@�!���@�!��1S�TI�0�@"��\E�A�D z
DAGFDA�@4"��HR�@<"��'HWAT"��$H[DAl"���O�E�E �D(�D0�n
(A BBBJi�����8`A�"��F�B�A �A(�G�{
(A ABBF�A�#���H�|�Ax'���F�B�B �J(�A0�I8�DP�
8A0A(B BBBH^
8A0A(B BBBA/
8G0A(B BBBE0<B�,��F�I�J �G�	�
 AABD(pBt-���E�L�M�	�
AAB0�B(.���F�J�L �G�	o
 AABJ�B�.��Q��B/��F�J�E �B(�A0�I8�D@�
8A0A(B BBBE|
8F0A(B BBBAy
8C0A(B BBBGD
8G0A(B BBBExC|0���Cx0��(�Ct0���E�L�M�	m
AAA(�C�0���E�L�M�	t
AAA0�C\1���F�J�L �G�	j
 AABAL,D�1���F�B�B �B(�A0�A8�D��
8A0A(B BBBCL|D4���M�B�B �A(�A0�p
(A BBBAF(A BBB8�DX4���E�N�G�d�L�a�A�l
AAFE�4���H M
K$E�5���H M
K(@E$6���E�A�D �
AAHlE�8��'HZ�E�8��	�E�8��	�E�8��	�E�8��	�E�8�� �E�8���A�D`A
AIFh9��7 F�9��$4F�9��SE�A�D FAA\F�9��0pF�9��nE�K�D }
DAJHDA4�F:��lF�B�I �I(�D0D(D ABB�F8:��i4�F�:��lF�N�O �k
GBIHAB(G�:���N���HDG�;��hF�G�A �I(�D0)
(D ABBCN(D ABB�G�<��8�G�<��MF�B�A �D(�D0-
(A ABBAH�G�=���F�B�E �B(�D0�D8�GP(
8D0A(B BBBE,H�?��)J�XF�(HH@��iF�A�A �YABHtHP@���F�B�B �E(�D0�D8�Dp�
8A0A(B BBBF4�H�C��hF�D�D �j
ABEbCB(�H�C��AF�D�D �oAB@$ID���F�A�A �Dp�
 AABBxE�OxAp(hILI��qM�A�A �^AB�I�I��X�I�I��	(�I�I��0HI B(A0D8D@EHEPI �I�I��HBB B(E0IJ�I��HB IL(J�I��lO�E�D �A(�D0�
(A ABBB�����H0����HxJL���F�B�E �B(�D0�D8�I��
8A0A(B BBBAL�J�N���F�E�B �E(�D0�A8�J�
8A0A(B BBBDLKPU��F�E�E �B(�D0�D8�G�;
8A0A(B BBBAdKW��xKW���KW��L�KW���F�B�B �B(�A0�D8�D��
8A0A(B BBBK�K�X��3HPq
G L�Y���E�D@^
AH 0L�Z���E�D@^
AH(TL�[��QF�D�G �|AB �L�[���E�N0�
AA0�Lp\��RE�M�G _
HAEDFA�L�\��wH0i
AL�L]���F�L�B �B(�A0�A8�D��
8A0A(B BBBFDM�`���E�^
E[dMa��HM$|Ma���A�U
JD
LO(�Mpa��CF�K�A �mABH�M�a���F�B�J �E(�I0�D8�D@�
8A0A(B BBBFNHb��0NTb��LDNPb���V�E�E �E(�D0�A8�G@]8E0A(B BBBA�������N�b���N�b��(�N�b��qQ�G�D GAAK���Nc��HNOc��TH{O\c��1TY@4O�c���F�A�A �A
ABDj
ABCCCB@xO�c��va�D�D �m
ABG����H ���P����Oe���Db
JM
C(�Oxe��eQ�H�D q
AAH8P�e��B�B�A �D(�J�D
(A ABBCDP�g��LXP�g���F�B�E �E(�D0�A8�F�.
8A0A(B BBBK(�PLi���E�I�Kpv
AAG�P�i��HH I$�P�i��fT�c
IZ
AH�lQj���F�E�B �E(�D0�D8�J�	�I�d�A�Q�G�P�A�l
8A0A(B BBBF`�Q|l���B�B�B �B(�A0�A8�D���M�D�B�X�a
8A0A(B BBBK�Q�n��!HB B(B0OR�n��H R�n���F�H�D �D(�FPYXJ`HhBpIP]
(A ABBK$lRxo��PE�A�D CAAL�R�o���F�B�A �A(�D0�
(D ABBH�
(D ABBK(�Rr����O�G DCAI��<Ss���F�B�A �D(�G�u
(A ABBA<PS�u���W�D�G X
G�A�Nt
AAJX��H�S4v���F�E�E �E(�D0�D8�DpH
8A0A(B BBBE�S�{��HE I�S�{��14T�{��VHON FAD
HDN FADDT�{��XT�{��lT�{��-HM W�T|��L�T|��%F�I�A �o
ABFL
HBJU
ABHIHG�T�|��U}��U}��\(U}���F�B�E �E(�F0�C8�O�?
8A0A(B BBBEL�D�P�A�x�Ul����F�B�B �B(�A0�A8�G� L�4�
8D0A(B BBBJ�
8A0A(B BBBH-�4G�4T�4A�44V��eF�H�D �z
DBNAAB<V���"E�\<\V(����F�B�A �A(�I@�
(A ABBH�V؆��fLY@�V0����F�B�B �A(�A0�DPl
0A(A BBBD�V|���Wx���% W����&4W����HW����\WȊ��pWԊ��)J�U��W���W�4(�W ���EF�I�C �h
ABC�WD���)J�XF�8�WX����O�A�A ��
ABHACBB���L8X����lF�B�A �A(�D0/
(C ABBKD
(F ABBA�X���0$�X8���NE�A�R sAAH�X`����F�H�E �E(�D0�A8�Kp�
8A0A(B BBBAY��aE�C
HP0Y4���@DY0����O�B�I �A(�D0@
(A ABBKF����D�Y�����U�A�D d
AAHH
D�A�EV��A ��(�Yd���mJ�d
A\A�F�Z8�Y����2F�G�A �A(�D0_
(D ABBE8Z����1T[(PZԔ���E�A�F0�
AAA(|ZX����F�I�I ��AB�Z̕��c�Z(���9�ZT���>E�M
Fe�Zt���a,[Ж���O�A�A ���A�B�4[����A0H[̗���F�A�A �DPM
 AABC|[h����[t���mL�[��
F�B�E �B(�A0�A8�G��
8A0A(B BBBA(�[����PF�A�A �DABP \����F�B�E �A(�A0�(
(D BBBG|
(D BBBBHt\p����F�F�B �B(�A0�A8�D`$
8D0A(B BBBI��\����V\�E�B �B(�A0�A8�D`
8C0A(B BBBFi
8F0A(B BBBHL
8F0A(B BBBEX������F`������HX]|���*F�G�A �A(�G0�
(C ABBEt(H ABB�]`���)J�XF��]t���9L�gE��]����J�]Ԫ��7^���R(^L���LF�A�D �}AB8D^p����F�B�B �A(�A0��(D BBB�^$���SH�^p����F�B�B �B(�D0�A8�D@&
8C0A(B BBBIP�^����R\�E�A �D(�D0�
(A ABBDl
(F ABBAD����44_����@E�w
DC
EJ
FK
EP
Hl_ȯ��DE�w
DC$�_����E�S
H{
En8�_��F�B�A �A(�D0i
(A ABBC\�_d����F�A�D �D0�
 DABE^
 AABFe
 DABLt
 AABH(P`Գ���E�A�G0�
AABH|`H����N�D�D �AAC��P ��U
FADd
F�A�E<�`�����E�A�D d
AAHL
AAJHAALa���F�J�B �B(�A0�A8�G��
8A0A(B BBBAXa,������gH�Dta��F�E�E �B(�A0�A8�D@�8D0A(B BBB8�aX����N�d
FZ
AQ
DF
BJ
AdA�P�a����O�B�B �A(�A0�n
(A BBBFO�����F0�����Lb����`b����E�L|b����	�b�����H0�
A �b����E�D@�
AG�b�	 �b��E�I@�
AA4c̽���E�A�F B
CAFc
CAAT@cT����E�A�F }
CACK
CAAS
CAIK
CAAcCA@�c�����F�B�B �A(�C0�l
(C BBBE8�cX����F�H�A �S
CBI]
CBFd���PHG@0dT����F�B�B �A(�A0�D@�
0A(A BBBF0td��E�D�D q
AAHtFA(�dL���7L��
HY
GH
H��d`��6F�B�E �E(�D0�F8�DP
8F0A(B BBBB@
8A0A(B BBBFa
8C0A(B BBBCe
8C0A(B BBBGxle���F�L�B �B(�A0�A8�G�z
8A0A(B BBBE��N�O�F�
I��
8A0A(B BBBFH�e\��BF�B�B �B(�D0�A8�D`�
8C0A(B BBBF4f`��4Hfl��`KbE FAD
CDB E(G0ID�f���+0�f���wE�A�D M
AAGRCA0�f���~A�F�L {
CAFaCA�fH��,Dg4g`��lB�G�D �I
ABGDAB Lg���Z[�bC�H�Qpg���,�g���|F�I�D �R
ABH0�g0��lE�A�D O
DABFDA �gl��cE�K
HA
A`h����O�B�B �B(�D0�D8�F@|
8F0A(B BBBBP������P@������@ph���P�D�A �CFBH���H ���oFB$�h����E�F�D0�AA$�hX���E�S�G �AA8i��F�B�D �A(�D@�
(C ABBGX@i����F�B�B �A(�A0�G���N�O�F�I��
0A(A BBBD$�i8��pE�n
ME
KX@�i����N�F�G M
AAF�E�A�S ��X�� j<��<Hb
FK,jX��(@jd��kO�D�S qAAG��\lj���fF�G�I �A(�D0�
(A ABBD�
(D ABBOD(H ABBH�j����B�B�B �A(�A0�u
(D BBBI\(A EBBk,��mD c
A\4k����B�E�B �J(�A0�A8�D���G�V�A�Y
8A0A(B BBBJ��k���B�E�D �D(�D0r
(C ABBCV
(A ABBDU
(A ABBED
(F ABBAX
(A ABBALl\���B�B�B �B(�A0�C8�G��
8A0A(B BBBHDhl����A�D�G 
AAIR
AADb
AADH�l$��B�B�B �B(�A0�A8�D@�
8D0A(B BBBC\�l���B�B�B �B(�A0�A8�J���S�X�A�d
8A0A(B BBBB \m�sA�F V
ABD�mt��B�H�B �A(�A0�M��
0A(A BBBGH�m,�\B�B�B �G(�H0�A8�Fp�
8A0A(B BBBDn@�IH|0,nx��F�K�A �DP:
 AABDP`nD�NF�B�B �B(�A0�A8�G� L�5g
8A0A(B BBBFL�n@�\F�B�A �C(�G���J�Q�A�L
(A ABBAoP�1o|�xp,o��rF�B�B �B(�A0�A8�G�
�
8A0A(B BBBFy�
Z�
F�
D�
N�
��
O�
V�
A�
��o��F�B�B �B(�A0�A8�G� I�!g�!I�!C�!I�!�
8A0A(B BBBII�!G�!Y�!A�!x�!J�!K�!A�!H(p����F�B�B �B(�A0�A8�DP�
8D0A(B BBBCTtp�����F�E�B �B(�A0�D8�G`�hNpOhA`_
8A0A(B BBBF�p���p���p�Htq,����F�E�E �E(�D0�D8�G@H
8A0A(B BBBJD
8C0A(B BBBHP8A0A(B BBB�qt���t�qp����F�E�E �E(�D0�D8�G@K
8A0A(B BBBGD
8C0A(B BBBHQ8A0A(B BBB`r�����F�E�B �E(�D0�D8�GP�
8C0A(B BBBGD
8F0A(B BBBE`pr$��F�E�E �E(�D0�D8�LPQ
8F0A(B BBBGD
8C0A(B BBBH �r���vH8H@K8A0T
A �r,��dH(t0L(B T
Apsx��F�E�E �E(�D0�D8�G@�HDPGHB@OH[PFHA@p
8A0A(B BBBH�HMPOHA@T�s���F�B�E �E(�D0�D8�G@�
8A0A(B BBBHcHKPWHA@��sL���O�B�B �B(�A0�A8�GP1XC`GXBP�XD`KXAPd
8A0A(B BBBF�XZ`GXBP_XI`WXAPXC`FXAPdXO`FXAPX�������t8���t4��H�t@��dF�B�B �B(�A0�A8�D`�
8D0A(B BBBGdud���P�E�B �E(�G0�D8�D@W
8A0A(B BBBDD8C0A(B BBBH������0hu����F�D�G �M0A
 AABEx�uX
���F�B�B �B(�A0�A8�Dp�
8S0A(B BBBEz
8P0A(B BBBMn
8A0A(B BBBH8vl���P�D�D ��
ABFACBJ���hTv���F�B�B �B(�A0�A8�H��Q
G���
8A0A(B BBBD��B��S��A���vD��0TX�vX��1,�v���4F�D�I �
ABAD w���2F�A�A �H
ABEe
ABH]
ABA�hw����F�B�B �B(�D0�A8�J�m�H�i�H�~�R�E�C�A�G�E�B�A�G�I�i
8A0A(B BBBD$�w����E�M
N\
DFtxL���F�E�B �E(�A0�A8�D@�
8F0A(B BBBID
8C0A(B BBBHD8F0A(B BBB@�x����F�D�D �q
FBIA
CBJAFB4�x@��jF�A�A �M
CBFAFByx��GE�h
SFH,y����E�D�D �
CAAI
CACI
CACICAxy,��!HS0�yD���F�A�D �DP{
 AABB�y��� �y���	E�W
L�
E�y���,KZ8z���0F�L�A �A(�D@�
(A ABBHPz� ��@Ha
GKpz!���z!��(�z!��AE�~
Ev
R^(�z@"���`�G�D �fFB(�z�"��E�A�D@B
AAB({�#���E�A�D@~
AAFHH{<$���F�B�E �B(�A0�A8�D`M
8A0A(B BBBDH�{�%��uF�B�B �B(�A0�A8�D`G
8A0A(B BBBE8�{�&��yF�B�A �A(�DP
(A ABBD0|(���F�A�A �D0�
 AABA0P|�(���F�A�A �D@B
 AABF(�|�)���E�A�D@B
AAB �|d*���E�D0~
AHGNU�PSSXW$�R�R�R�R�R�R%SP	
|HW$PW$���o`Xk�
yS�Y$�6x�0�H	���o���o�����o�oҾ���o`W$�	�	�	�	�	�	�	�	

 
0
@
P
`
p
�
�
�
�
�
�
�
�
 0@P`p�������� 0@P`p��������

 
0
@
P
`
p
�
�
�
�
�
�
�
�
 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p�������� 0@P`p��������    0 @ P ` p � � � � � � � � !! !0!@!P!`!p!�!�!�!�!�!�!�!�!"" "0"@"P"`"p"�"�"�"�"�"�"�"�"## #0#@#P#`#p#�#�#�#�#�#�#�#�#$$ $0$@$P$`$p$�$�$�$�$�$�$�$�$%% %0%@%P%`%p%�%�%�%�%�%�%�%�%&& &0&@&P&`&p&�&�&�&�&�&�&�&�&'' '0'@'P'`'p'�'�'�'�'�'�'�'�'(( (0(@(P(`(p(�(�(�(�(�(�(�(�()) )0)@)P)`)p)�)�)�)�)�)�)�)�)** *0*@*P*`*p*�*�*�*�*�*�*�*�*++ +0+@+P+`+p+�+�+�+�+�+�+�+�+,, ,0,@,P,`,p,�,�,�,�,�,�,�,�,-- -0-@-P-`-p-�-�-�-�-�-�-�-�-.����������������������������������GA$3a1P	|GA$3p1113`S1qGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113�S|GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�S�qGA+GLIBCXX_ASSERTIONS
GA*FORTIFY�Z|GA+GLIBCXX_ASSERTIONSlibnetsnmpagent.so.35.0.0-5.8-3.el8.x86_64.debug�h\M�7zXZ�ִF!t/��?_�]?�E�h=��ڊ�2N�I�"�UOt�_&15��+^G��Uw�F"vL��b�Lj�!���I�6���:�6�bHRE�XHQ���&%�`�#z<�_T��߂m�3�z�M�&!Vx��+����Yβ�n2A��<��iG\���^���W��6-�/��f �W����C5c�c�1U'9����bG�»�a)ןyV�c\~	���*k���A0ke���wŠ^�k{��f,~�DH�vk�/ 'Ǎ�ؙQ�����O5�}���J(9�T]K��WX|b��Z��%�<���Ajz�*Az<#�M":x��
��1lRH�ڷ:��{�I��T�I�v1b:�����!�k������v�=DO2��<+Ub�
R�Bo��Dv�߲u���T�2,��fS�]�}�#��2 ��)����j؝���a�{,�x�S�a
�SD�%��EqP}`nY��P���]4S+�+?�����)|��	�/��œrq�'o�ȎQQ�4‹�p�Mz_wl��h?n��=�Thh�\)
����^-�E${؋9oe�|w�cp��X�<d��U9R��Yzϙ�d`���>-��w�NP��L+�xm[}����`쭫���ӝ�Z���t�X�-�Ad�؍��<j���}�G=Co��#������I�/�7�������	�~֮��@��Ȕ����L��\s���h5H3�1��+'l��	�3?�IVM�]'��F�14�k���x� ���?���6�dCU|��76��{/~�-s~�W-D8.@�)iZ;j�Ƀ�j��P��V���)y<�ދohĕ�℩�B]���[	�T�W-b�Y���|��<�v�*�nl���
PEle,C����xS'[9�t��EI���eRD�U'$������b�t'�P���>g����O�ھt�:�M�]��]'��qwmX$v�Bc@ �?���f.��)�ȼ��@��Y��
�ɟ�ب��ئ��F�Y���@T��NW�D�r���>�4S���D�\���X�Qm�OB86�!�2��M�>�1{��vA4�@\��G�
u��� O2|�P>&H��aΐ��do�9�v6�V#'�.pG���_�X�&�ڼ��C�E�(�at'"h�,R����~\�N������ϨT��=Tۊ�<u#E&i6W��cy�rr��~z�}�u�w��a��qVs7���p�='��#�K6�0wؐBѻ�L;��X���+"��#�_X�	`��紋LĆY�0G��5C�}I�Ķ�p��/�]l>�Ԃ��qo\%M,��vn�Lz�
a�^W��&Z/y�gU@�Ӹ����ҋ9
���#
'�z8|p]��S�y��ٛ���4�y�c^ݫ�I�˰�w"g"��(txj�zӋ��&��w����D��

�d��ﱻf�&��7�����B"Q�ڟ�Tom�"����!�����(gQ�dP�R�X�_��� )`��]1*��Nn�,#
MI���?���ٴ?d�
�,���WI�KzG����t�:l�ҩl�L�:{f��Q��m�
�6+��/��t~x"�����)��XU��xz���
�`k���C�o��"����{��"�V~^��R��c	/~����_\w��D\�Otk]ĭ�q9�4���*�m�VBS����ţU�C��X�K��{�n���d0���Y�.(;�L�n��YAd��Ka����h���z1�0�
��Ȩ4o�2.�z*4�<�BlS��?��Ũ0�	��ؼauQ�
$�N��R�N��P��-'���%�S����Ȕ��#%(�J땱�s�}�E�r�^�S�-��q�G��<}�}�S�d��E�k�x��E9,��0�D(3���j|��X�|A���+.��`S��]�޳3���^��l
B����<�eS�F�gP��>v1Y�,U��)�R#|���:0��Rd�j{�/���֎�@�o��"o�j$,#��l�t�]�l�+v��, _S��z����&p�]|�`/)����ۺ���[~~~�B�t���3��
AE�?1f����6��Ս�������6�~ҷ�?��I��6P�d�wI<�q@Ki1����+���a�G$���@R��K��9Ь/��2t�g�W �����j�ȳ88�!*���n��=����q�X��o�|�w�Uk^��C�2����Æ�����6)�n'�Գ�+��m��z&��@����I��m�\ŏ��?Ly�$ˆ-)�R�n��3���8>��SDh���}f�EH�����*-z�U$8*�x��z�cL�w��`����r�+�t-��'�/��HNo��Or�������(����P�+w{��)�܅��������g���"I3�rt��N_{�q��Qnp#�x�_'M&�'0�Ӵj�ա<�?�s�ۥ�[�Rv����j:�h��F�yO��tŕB��u��~�Ѩ#����;����Llč�G?O8�u��)J
b!d��'n���;E��� ���R*��昸��k��e��T���[�g��<���Hx�/F��s���W���i(%S��i�|2��OV�����V�������Nl����0�
���ve�,���]�ַ�e�u�/'��nz����tU������Q�<�5QzL����n�~^���6�ٌ��Ӑfn(G��̪��긷�f�PEwG���"֩�͉�A����M��ǡ얱��!ٯB���NC٥p��|P����au���5�Ӂ��uP-�a�+^��-�2�20�o-�@�	NR���&o:u�3K��%��p���������-�	γK�m��nA1�	�xl)a��ꪣ����L�`^TK*�^m��<�yO��~pTб�g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``|(��xT0XkXkyS8���oҾҾ
E���o����PT0�0�H^Bx�x��6hP	P	cp	p	�$n..�$w�R�Ro)}||
� | |�B ���$�8�8��|�QQ �HW$HW�PW$PW�XW$XW�`W$`W@��Y$�Y`�p$pd ��p$dp� �p�ddpl
�t8u�Ԁ(lib64/libnetsnmphelpers.so.35.0.0000075500000015520150405542510012316 0ustar00ELF>p@�@8@�� �
�
 �
 hp �
�
 �
 $$���  S�td���  Q�tdR�td�
�
 �
 hhGNU9�<^�GY?-~&d@An��k�H BE���|�X6��qX  , F"� � U@t� __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizenetsnmp_helpers_dummy_textlibm.so.6libc.so.6_edata__bss_start_endlibnetsnmphelpers.so.35GLIBC_2.2.5/opt/alt/openssl11/lib64:/opt/alt/libssh211/usr/lib64zui	��
  �
 ��
 �
 � � � � � ��H��H��
 H��t��H����5�
 �%�
 ��h��������%m
 DH�=�
 H��
 H9�tH�V
 H��t	�����H�=Y
 H�5R
 H)�H��H��H��?H�H�tH�%
 H��t��fD�����=
 u+UH�=
 H��tH�=� �Y����d�����	 ]������w�����H��H���dummy symbol to make sure that linking netsnmphelpers does not fail on systems that do not support empty libraries.GNU� ��
 pz�� 
,�
 �
 ���o(8`
�� `�	���o���o@���o�o.���o�
 PGA$3a1 )GA$3a1,9libnetsnmphelpers.so.35.0.0-5.8-3.el8.x86_64.debug�c��7zXZ�ִF!t/����]?�E�h=��ڊ�2N�$����
�o��.X�7�����l�>l�l8�,�&�<:�W"�d�ԁv�d@�N&�!��6�M�l1��rh.�ۘo�`�%��꽚�]��}��E�kե���;3��E�:rd�ג�6)?3C�Z�BY�
��G.�%��*�>=nk�&aN���qYX�-�9^��?
:��?��kT��9��Q�V��ql߳�wl��`���=VH~�����N ��f:�ی2-uM)�h�&=t�J��P���-3B�h���Z�mG�n*�A�S}��=�
k˯ew����{�`�i����+��=��	��v�Z.�|C+}�FQ�<�뜾_ʫ��3�����>9�|1$��b��r
\{�c�^�q�Ŵy�mշsԛ8#>f��O����ynK�x�01�u�$?ٌ��'\g/0�Ij�����@���P�=�D.�B����qu�L�AL_�Y6	�I�rsu�������'�:�B]�]0�*�Bo��1�C޾�{D�݊7A�P��݋kaH}�z�ׂE��M�By�ES�L�27Ђj_������񩌙h�i�ZU�B���o��*�8�t���qjr^�eaʃyx-!7��2B�����鑄;Á��\�h�{ܸ�_��f��*���/��g@�Xe*��*cW蜖�IQӳs�?�8�F���t��
��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o((4(``�088�8���o..E���o@@ T``�^Bh  c@@ n``wpp�},,
�@@t ������ ��
 �
��
 �
��
 �
��
 �
�� �@� �`H�H8��xlib64/libnetsnmpmibs.so.35.0.0000075500001654750150405542510011625 0ustar00ELF>PF@�R@8	@(�(� ��&�&�A(m
 ��&�&��888$$���  S�td���  P�td�
�
�
�(�(Q�tdR�td��&�&))GNUDhI����	�DƑ�4K��
	  H�D�
 ��(�@� @8��C�HFAJ�)��X �a��@@"iH���H,@��@@`BH�D�zA)X!&�X0h��(��8U$J��0H�G�1�
���Q	�"A �
]�C!�@����(A@Fpِ3�`Z'@���A� �FBF"�  d8(�RH�	� �ZBi@k �!
2B`ё!2� ���H�H�I�	y5�0���@
@�A1 0,p2!@�Pk���!�%D@�H�$P�Q�J�W��@ E�
�!��B�d�#@L!D��F�`6��0@$BH@`0A3��p�
�DH E πL���#@L�B��A�b��@$�ж
أ�R���g�	��d0-�m��A��	FKx�D���60�0 �@@b 1 H�&�  �������1j�+�l/�!R�@ ��"A�	"(��(9Б*QK��+$��#\1HD�J,JN##�� P �)p�`,�P@�D�!bL
��+4 ��R�H@�+ �@
@  B@
Dˁ!�� ����! � 
�h��@P")A  b�<� 8h(��0����@��@�@0� C0*P�P2P� 
@T q �	V,)@
p@f�
@��P�2�2:O����P��@`�	Z�6!�IHQ2�����1D`�	*���PХ$p%��"&%��B
	@�B ��  0�
iD��B�"�!`��B@������������
!"#%)*./269:;<>?@ACEGHIKOPQSVWX[]^abdfijknorstuvyz{|~��������������������������������������������������������������������������������
!"$&'(-.0123579:;=ACDEFGHJKLNOQSTVYZ[\]^adefhklmnptuvw{|~�������������������������������������������������������������������������	

 !"#%&'()+./123456789:<>ACEFGIKLNPRSTUVW]_acefhjlmnoqtvy|}~�����������������������������������������������������������������������������	

 !"%'(*-.14579:;<=?ACDEGIJKMNOPRVX[]^`abcdfhijklmnpqrstvwz{|}����������������������������������������������������������������������������	"%&'*+,-/1346789;=@ACDGHIKLMNPQUVWYZ]^abce�,,a��3��)�ykE�%�G(:șzQK@STR5�hZ5�#m���6u�+?��+iB�����9�����{�Ձ�O�JM�{��S�m�O��/��1/ʽ�K2J|��λ�R�Ź|v?�Bch�a1��磿M?藴�JǰC�Ցrf�.~�cQ42�)���4E�e~8�k��b/XI%M�¥��c
a�v��h�&�H�6�*��V���!���Nh�F6���De��Jn�a�>���Z��O۝�w�^b!՜%�ӫ]��8s4dz	�� }ٓ�Ct��0��5e�����o)����0�4ŭ��<w͕fB��w�c�AF�pr�W�G�t��_��H2/ԥ��/�T�?[>	�5�8�>.,��D}�K��]Ɨ�-���j��/ʐsNG0�G��\r�����Jw�5v����lj�ܺӄ��ov�n�"�`;	���Пg��i#���u��Q�w��`�����e�
���k����A�k[�S��S�ܺȖ���@N���BE��ʿ����:��E���w՟��G#�s�]��>J�˜yڠ=w@+�B�ǒ	�����S�k�M�s�Hs��PѰ�ڮϷH��Ѭ���/��\\�Ϸ�;��yG���_I�3wKބ*�t�?�(km
��
��.�K�'VG�m�7j2�g�j=�/�[�
��p]�;v?�W�~s�us�d~6QLkJ��s���_��x��y	�?%3�I�iy��l�	OB��Ӕ�fLG��m1c�7ȼ?@��G���-v�]�e~��S���79Z��إIDZ%_���cёP�%�u4Q�����C��	�xL}`�
n�<xV���5�&,7
�؜�C�_���(t�ILEt���E�s���]���y���-�9ź���Ι�k�IUӤ���O0��$CR���ol��c���T�u�Z��3���o�oh'`���3J6�3��dsF�,��Zw�[�PIh��:��:��;��4���i��7��N	ۏՆ�tE���S�++薩2	�$(�.�O��⠬���}2t��qu_������V���v�RЁ�8���M�Ur��8�ͩ���B�/'�g�P��x�z���k�8:g�1�o�����+Eo�1�"����A�{Rd�M�گ�w�p+�:�.=���6��C�l���T/w�����^b����!�w�f^��$o\Y.�fOP��;*��m�Pt��A�h���H>`�qr�Z���ƄS��X��-�G���Ua��M��;�#����g)��sI�	��-�ǹ��/N��!_�J�H?��9N�l���2�,�$�S����fp��˒�u��m�|�����om��$%�����Rk'{6�j�()������
y�yuim��Zh�g�}��
��>i�QE�U�,س�qX#�����Z�tӆ)La�_b�ծ��.a�c�
}[�����'cӶ��<n�|����1��1���]�\ԃ�O�v��I��B�zͶ��'m8l���p���K?����d݈B���K����l�ىTv�%��Zf��h�3��J�%���!z��
e+���$ꇁ0Z|;n*8���0��s�5J<�O�M�r�+��T*i�_;_���07�>�3��p�	QJ�}Z�נ��\��ɡ��=a�=(H�8U]W�S���p�q������"�
��G!ބ��\ȗ}ƓƬ���gu�ܔ���d�߀Lڅ�V��f�>�9EO��ᴌb�$����|y���f9.%�3W�Ê�|m��7��`�AO�f�n�'���gù^�f�D�~�o?���Vv��3c�*�Hǟ~cw�w9H���ow�z^!��+�I���h횐BB4Q��y�fP>w��kiMxx�{/$�
�w�j�<�E�M
H��+���		't%]J��6����W�}EßJ��A2��lu�;�"��T�X��k���t��1�׬P�)�<�_�!�-ŏ#���c�ÞƱ���y���,8��?��{��*�T�)m����.rZf�Σu��5��"ñ�鑺}�;dᏅ����A�}���tU�L{�J�sMJ��W����;DE��A�n}_���}������b_#m��|�&��d�4h�g)>�`���
��;�Jw���o%3�]r��T�A��<��iI�[�߄Î����
�w��'�&"'K�P�?;�]�]19H%:2�D��Y��C۲�/~
�M�4;�PI�מ}��}��m<0���X�]����>U�Zr
Z��Sn0t�~/�w̐b>]��%B�=�~&1� �X�@���1�����&�Sk�="ӤrȚ��ef^�>�Ґ~�ou��|@Ev�$�Jew�4�Z��O�{ߋ���!ac��:~}vG[kx�^(,�}хĹI�tv��zW�/wlH�J�e�E�홂�y�I���Is?���p|�0�)��o�||/�-�W��0DL���o�q��a�~��KMf*�÷�M�*{�U���.t�&��<�ԘPL���D��9/��*�ߋ&��1�H��W^����'�*䚰�x���|'Q3�=�U���;w��Ώg<��Mۀ��@�/*�
H�
K/���l7���BT<@(�]�T�_�K�H��>��Ձ��YI�7�b*�)����z�ɈE#rHЧ�naa����_�tx�UR��{K�[L)�����1�\>˭�Js#Ba$�6;�����3�$��*���bg�s�s�ÓJ�N�a�]t5�,�7	�r�6$�/Ͻ���JY�Jש�p6^\F�/1Cb�^o�N�(^Ip�n�.$��&L�����s������-����o\^�X�"���k�������J�	3�;���;�S����
ت�\�܄E|_7ޙ8������X�&7��ZV7p?�%߸�xB�H#+/<�,�%{�jÊ��藠옞�hw���/%�$�l�lV�B^�Bdx?�RpC�`6��T;#/n���F?j���-�ލ�G|ղ@+]���8����uL�Y`�.mĸ�4�f�R�5�$N^	EQv��-�g����G(`$���O�	Ps8������97�ͻg�>��$$�/;��m$I|h���t���N�	���u��:X�����KE����^96aB�����!%,%&f��ӠU.���}�}���L��M�ߙQb���G��Ä���ա/G��p���@l��N8$ܮUc�����f@���� z{:�o��g+¿C�� 
ַ!�f���=\R<9���Y3��Z矚�$#���B*)�����=l1ݧWF��e��"�[���,�ZK���Y�{�C��ń�b4��?���������y�����}�H�l��6�%�>���ϰ�+�L��p�;��s��mPP�:�Q6��f����!����f�B��U�*D���#��Rrq�q�C�	�b�7&Y�CT������x+����B�GWM$t9@��Х7�呧J����g�~��f�V�ۊU_�R���^�1[��Y7ɝ�\��MX{NV�[��|6�k]����d��\\�̾�X��<��MD\�Z�h�JGp��y�Miάܡg���c�=�	�8�L�-{4��~	]Q��*i��,�\jL�d]���b�����n;c�DǭF�7��V.�W�O�)�q<�U�I���>J;�4����;�\���9�̦c��3ed0+0����L�τ)a��sAR����6V�g��
UI) ����N3�gl'�!2W���ʙ4؅��0��Ʌ_�s�	�1�0�2]P(�s{#�$6דc��i�N���bl�[�QP{{�����fτ�as��J0���IoJ��@{My3w<�'��,g�/�=�\Bw�U���
�lUH9X�bܸb��MD�<�q��f@��hvb�Z�@�R�C�%�&����.z?�h;թIZ�
����RZ�j�K���@ӹ�_=l	e���A�k�3��F�ǘ�������9۩�5�ܽf��)�L=�e��߅����$�0Ex�+[�f�2���x8_�k^����a�{�3���()_r���Ё��g�=b)M��ɏ���V����]�ϱO'-��
U���)��>��-�=!p��5��Gr.۽UE#$�CN��Z��(�;^߃��Ȉ榮�4�.���8F¬TX�֦��s@�\�8�n���������H�v�0��	�dH{UD1�<^Ҷ�����-
��ZK?r�{����
`�=/��#w� /*����d�(����I��T����6Pl��Z����!��Y#`.Z���1<`�#;]9+����v�tA��O���+� aȬ�ya���=�&�ʿ���U�}�qH��i�!��
{Eq�/1k%����_+���
/��s�<��ԳX��=c4��n��yu:����%`�/%��Ir�r�}�	�ԅx���Z��o*E-Ȏ�G�8}Q.={��ӵ���e_�}eC
��Kr�68yMj�}/N!T�G��J~�T�y�y=D�{g~T��U>~�Ce{��
�YD�M���uN?~[F"]GL�CYG��{y��{�*�H�My�DW1ay$�E�}��9���~�L�NW|&T�	D�C�MY	Ib�\��9$�8�DcnHh���T/�~��~D��{sD�t	
Z�jP
��`q�~�CRr�Eg��I���2��}�-�xI���}U	D�+39E
�C9r~�	t
d�Ev�{m{�}�C�	iyS��}�\~�
�(+M�T
�Un��}R�1~0r3�~�V	�)t{������
<	pG�{�S �mIq~�L2�~�	k[�CI���~�" �{r�D, K�3R�{�[%M�
��X��)tPo@�2
~(Ш$�`�X��Da�o�.�lb��/
x�0��}�`=':P'��|��u�q�\��5�u}`����Z�v�0 %' �$@T���Up�>�#�%p�-S@�OQw�r!B�2C����	M �0IO`�N�@:�`�R�F�J	e(��3,	�trA.C���n�bbV�F`X4X���(W7��S���L:�)3�
�=�jt�o��zz}��	�dPX,pT0�)�s0)G[)NL@u�zF������$�^`e@H0�,'P��G0~V���I�sψp0q!�8 R�@�tpp\)q[��k�=0�N��.@�,��O<��.��)��Q��#aY��EI�P���l0E	�U��#�)0�3k�h$�y�=)���j���GE E_�m`IG-Mp��'0�$�@)'H{`4 �0�LD?�\0`
�|�T4t@���#0��0,�1��	�s �|���]U G->j4��`&'H X4 !m@E�_�
x;�
XZ���4�P:=��IX�%�qa0�T4p�4YP�*H}�#��`�cP'	f ��s �����=v�@����� L�ypX	�}���H�&�$���8'�2@
����O�dC0�%�-�:p1?�,�ze�R,37��J�jWI1���.{|@��o�TDQ9@'}E�E�kU���O��f0bU��*�������r��Z\.��	 ��ZW0w�r!v��WC�7	n4��@\g�=$8��K+��w��$`B� �e;`3'H2( �3nW�D�<iUB`�}���?����I!��#K��W�0�O�G`�@2
��*�t��
u��-'p�b�p�� �1! ����t*�z�y0jh0O�7�QK0tQe��,\�j :,c@t`�O��(p�3������4)<P�3p�&'P�$�R�Y4���05y�u$O_���P6G�PG)��+'H� Ho�CP9�D-�HVu@qkNXP�B�Y��K�u�qtk�=	"@]4��8P��?� Q����~��MO ����(@�$A������)j@j)8`�y�3��V����pMf����n�N�]����I]0~ ���q�ba<0���'�$��P0RP���w.�\4��A00Tv r
c���8`�@�
��r�_4�S �L�0�
H�{���S6@�0�-@-]n`M	�`�K��p�{�%@�!�]��:`a���O��&1gc�!yei ) �$�[p.3Ktt0��'`����hm0H	�I�cpQ�b�_�,���1~>@�L�E�H%;�T4X��,��� ��b`

�$'�^P��p=�hZ��]4�ZP�S:�X4�9d�+��0�
-��*yk�G�vpr�\�1n@K�mJD�xw4�O���{�#C��Q�P���	 ��Q"��8<i�?7> DZN�DI0W�7*�j�z@''z�@$"�6'}@�g�=P�#cR��)m@Z4��]��O���	��$�����@``6{��e�<����0����Gl�@��h��a�>;$$�*'`-��G�b��k�?<&`�!6�[�����Wu	@+'P�@ -y�0�U �d@q^��_0@�H�T� 5�$�@
k�)�\>P���Q0�Gց��T���\�y�%',80�P�� )'\8�^4 A����#@���8 _4���8'4�g�u��N`�C�0-$O����mAP/Z)��$��0.��+�G�@9��/����B��SE"� M~:0*$�t�p�l0DGs�$$"-0��u�q�K�l�C�8�Xp�I�X0�� K�����>���ypy)-6�8b�0Mu30=C�7	#[�$�Q��qPJ! J�ci<���zDP@f+ ���FKrtC�7
���It(/`	�e�M��P���$0��O��l7��| �{�ws@uqH%��H3R �	�r`n)��`0�Q���gS��N@X4-]T?�+(;��G#^d X0�q�bp_�@��J\`����x�sL���
& k�6 
�$��1\j6��=+��$�Z@I% ^4 �m`J	`P��)D�=�B`4��|�r}��	W@�%a�0%���(d41;�^4 $��0(@�
�"�v}P3�B4=�10�	�j@:Di:D@k@�J�h�DPA2<0�YP���(��$M�G)_[4�M �ag�9G*3����A�@����R���F Ju
���J��;�T�
��&�?p @V��
,0�@Jc�	jZC��HR0�>WMP���,���,p�5�9�2'H�H?��o)0`�aD�?{�C�84t"@�y�& �$c�c����w'��3v���V��%��!�R@�}�m�I���.�v@r)�0���T`����@��Ke@#'g��q�"��L'�33��N�=�Wk�p0ZD�G O<8o��9`'#�y@y-�@G4���	�+0��/0
����vv�_4� +'�@I N<p�Z��)r^4 �r!���I0�4 0E0��@L5P)YT�0+k�:���Fy� I ���,�60L���&��-pI�VF�k�?D�@.'HZ\�
`:�0l@	�"�w�T*��N��bp��`�{�[4�[%�� ���,���e
 ���# �-=@�jo�R	ka �p�
�H�VP�
��~��ق`J!L@JLp�k�R`�#���J��h�T�!`�G�J�k��hpb�fzz�. 	�8@�,�P9SX
��1�oTG�[`���)�s o.�20
�n�O	�d@C�&l@�2�&�V���(�3�} `4b�.'H~x��@0�@��
��Es�n�J�i��:P����P�)q�Z	WJ@s�H+0O������'X�\�@U4�Op�]�j@>'P�3��I#k|�T4D`=oaE�E@�0�N�F`�rYQ��Sƃ��l
�#'P	0�s�w`s��<�~f0w�Xp�[�R���'�@-S�M�'# vk�^�z�z0A,�	�u9_4K7��;�L{p{� ���^�׉P7�:�-�p�YG��`C("�	�E�IS���)�0`�G�`�r��Z�`@��U���PGKv&��0<o�PD8@�
`��,��S��)'@�?'4S��9��)|�T4���12}��#�A�/.��8���'��&-\ 4'/P	uw�r�g?Ğ��so�80hCQ����I)�/@
�c0"	N(`�$	��J@`*3_�$P�+�g0a��*�k�:	�9�']�f]P#`P�_pP{��@:��F,@�N���,�	���c(|�T4?�j�'`�$`P�7P��U��#�_�BC
 $'H&WP�+-p���`��4p���qlC	�N@�}# �o2���f`8$<.�.�4�-*bp
%�^p�BP5�wB�3r|0�&�<��xpu	�[@.P�x@/'p�A�11f/w("`��E�Cl�@�#��0�4*Z��y�2 
��.'8�1S�}��a�
P�jU�0j�~�ah�2f� �����P�{��Adx����Z
	0@^4 �W���0���0�@Myd$ED�nPOD�&��$`[@O���G0MYnpJ��`I �4��C@71Q��,#"2�&epH�_2�6F0��f�0�Pe�R0���(���pu�qn,��L�7&0�!�i O�S��6�I�p�k�&��$m5��C�9�%U��>|��B���epM0�aP
�����w�H��Z4;��v�3$MP���Z��-X`��O���@�)3G@L�Jt�o	�%У!BH`O��;e��.SA@/	�l�D�@�-	VP�y�^0#��I�qc	�t%��,�,@0'�O��'�/'H���ZZO@��`�"hI'���
[�0;��r6Y�#�i�I�i�T�Q`�$S#@w_�D�B��)�$�A@0q�<��u�a@
^�@�%P��G@�����~p�����)�3�x�tNj�E#Ό�V�z z�D�</o�O��A0�,���uJ�q#b/�	�����g�aG�N ��YP�Gt _� AOp�U�\���j 8	�R������rP��9�M;@3'&�!�ws�r�n�q�`	�*P���EM�p�@�j080mO ���$�K`oy!,�y8f�/wrpj 0'�q`�]f�9��P�5�g�1��.@	C��	�.	^0�10.�7_�p�\�{0Nk�* �Ʉ�M�/�	7N��y.@�	�ur(�$�`�4X4  Lv`#'Py6	D��a~�R���C9Hk=/�@,S@mF�6���[PH/p	c�G�Nq�+���|p�	�������M��r24`^4 ^}�#��-3L��9#.p U��A�k/�@p�IS��y�M@��b��-�F\@4'H�;�,Q��>@��.J)v�I-�)��A023�
�V}n�NG�!@��?�&���P��NЂc
Lz�y)����R��%!0�K�LpxJ���	Q��)s�n)s)��3Ҁ`�U��G�@�-	Ch�I�Y����4�)~R��=7r�m�C07	6g@1��)p� 2D�=�T���M0�H��{@8B�2��D�@�n��9\bi�D�ur�3`
`.�IU�����$H ��+p�	hs�n![r@n�`�EtX`��.n���7�4�HL�o`T�`1'i+@��T�^4 G�K�V���^�����3@�����5p��h 3��Ir9�;p*�v?�>�W��yd�+�1`��08yk@ +��$ ��P���7��K`���x�v'��.)P���x�t�=�KQ=p��{���^$��)&|p�4HW��#�B@4a^p\F�JIJ�c�! ���T4pU	<)P�3�t�p�����&'�*
�����+�'��$6u0q�=0���=�1'H:O������@��6P��]p$9�2'H�`�F7A/5�`-'H�5��P��]��G�w�r)\�^4 R4���p�x��W�U@�p���p�Y����`#�]�����D`C9���+=P=0Pp��kK�tj�wPs	o1 	Zp��F��&P�$� �1ƅ�Lq�	�|p�@�/x4p9@"��#P�8�LP~�`�'�h��
`���'��$Mx@tv$���fP?�[0@^P�@����-@��Kkp;�a9&+p#�>����z{d�c (<��kzL`~;�l�DD�=p�W��~\�LY&��$>J�qh�Du q@2������$'@�: )�d�_-�`xh��Jc����Kt�P�t%�!Y'��$@P��0��	� d40�L�
 �(
�u�<��HPT5__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeinitialize_table_ipAddressPrefixTablenetsnmp_create_data_list_ipAddressPrefixTable_initialize_interfaceinit_ipAddressPrefixTableshould_initshutdown_table_ipAddressPrefixTable_ipAddressPrefixTable_shutdown_interfacenetsnmp_free_all_list_datashutdown_ipAddressPrefixTableipAddressPrefixTable_rowreq_ctx_initipAddressPrefixTable_rowreq_ctx_cleanupipAddressPrefixTable_pre_requestipAddressPrefixTable_post_requestipAddressPrefixTable_indexes_set_tbl_idxmemcpysnmp_logipAddressPrefixTable_indexes_setipAddressPrefixTable_index_to_oidipAddressPrefixOrigin_getipAddressPrefixOnLinkFlag_getipAddressPrefixAutonomousFlag_getipAddressPrefixAdvPreferredLifetime_getipAddressPrefixAdvValidLifetime_getipAddressPrefixTable_user_contextipAddressPrefixTable_oid_sizeipAddressPrefixTable_oidinitialize_table_ipDefaultRouterTable_ipDefaultRouterTable_initialize_interfaceinit_ipDefaultRouterTableshutdown_table_ipDefaultRouterTable_ipDefaultRouterTable_shutdown_interfaceshutdown_ipDefaultRouterTableipDefaultRouterTable_rowreq_ctx_initipDefaultRouterTable_rowreq_ctx_cleanupnetsnmp_access_defaultrouter_entry_freeipDefaultRouterTable_pre_requestipDefaultRouterTable_post_requestipDefaultRouterTable_user_contextipDefaultRouterTable_oid_sizeipDefaultRouterTable_oidstrlenmallocstrdup__asprintf_chkopendirclosedirstrlcpyreaddirstrncmpcalloc__stack_chk_failgetcwdchdir__xstatsnmp_oid_comparelseek__read_chk__vsnprintf_chkconfig_perror__errno_locationreadfopenfgetsstrncasecmp__ctype_b_locstrcmpfcloseabortstrcasecmpcopy_nwordstrtolnetsnmp_config_errorinit_mta_sendmailregister_mibsnmpd_register_config_handlernetsnmp_ds_get_booleannetsnmp_ds_set_boolean__strncat_chkstrrchr__snprintf_chkreallocmemsetis_excludedsscanffscanffeofsnmp_log_perrordevla_getstatssnmp_set_detailinit_diskiovar_diskiosnmp_alarm_registernetsnmp_ds_get_stringnetsnmp_ds_register_configsnmp_register_callbackheader_simple_tableget_sensor_containersensorContainernetsnmp_container_findnetsnmp_container_add_indexlmSensorsTables_handlernetsnmp_create_handler_registrationnetsnmp_table_helper_add_indexesnetsnmp_container_table_registerget_sensor_cachenetsnmp_cache_handler_getnetsnmp_inject_handler_beforeinit_hw_sensorsnetsnmp_set_request_errornetsnmp_request_get_list_datanetsnmp_extract_table_infosnmp_set_var_typed_integersnmp_set_var_typed_valueinit_lmsensorsMiblmSensorsTables_oid_lenstrtok_rhandle_memsizenetsnmp_memory_loadnetsnmp_memory_get_byIdxinit_hrh_storagehrMemorySize_oidnetsnmp_register_scalarhrStorageTable_oidhrstore_variablesInit_HR_StoreInit_HR_FileSysGet_Next_HR_StoreCheck_HR_FileSys_NFSGet_Next_HR_FileSysheader_hrstoreEntry__memcpy_chknetsnmp_memory_get_firstnetsnmp_memory_get_next_byIdxvar_hrstoreHRFS_entrylong_returnstorage_type_lenstorage_type_idhrstore_variables_oidstrchrdate_n_timectime_to_timetinit_hrh_filesyshrfsys_variables_oidhrfsys_variablesnetsnmp_fsys_get_cachenetsnmp_cache_check_and_reloadnetsnmp_fsys_get_nextnetsnmp_fsys_get_firstheader_hrhfilesysvar_hrhfilesysfsys_type_lenfsys_type_idcook_devicestrlcatGet_FSIndexnetsnmp_fsys_by_deviceGet_FSSizenetsnmp_fsys_sizenetsnmp_swinst_container_free_itemsnetsnmp_swinst_container_loadhrSWInstalledTable_handlernullOidLennullOidshutdown_hrSWInstalledTablenetsnmp_table_registration_info_freeinitialize_table_hrSWInstalledTablenetsnmp_container_table_handler_getnetsnmp_inject_handlernetsnmp_cache_createnetsnmp_register_tableCONTAINER_FREEnetsnmp_handler_registration_freenetsnmp_handler_freenetsnmp_cache_freeinit_hrSWInstalledTablehrSWRunTable_handlershutdown_hrSWRunTableinitialize_table_hrSWRunTablehrSWRunTable_oid_lenhrSWRunTable_oidnetsnmp_swrun_containernetsnmp_swrun_cacheinit_hrSWRunTablens_set_timemktimestimeinit_hr_systemsnmpd_register_const_config_handlerhrsystem_variables_oidhrsystem_variablesheader_hrsysvar_hrsysget_uptimesetutxentgetutxentkillendutxentswrun_count_processesinit_hr_deviceinit_devicenext_devicesave_devicedev_idx_incdevice_descrdevice_prodiddevice_statusdevice_errorshrdevice_variables_oidhrdevice_variablesInit_Devicecurrent_typeGet_Next_Deviceheader_hrdevicevar_hrdevicedevice_type_lendevice_type_idInit_HR_CoProcGet_Next_HR_CoProcdescribe_coprocinit_hr_otherdescribe_procnetsnmp_cpu_get_byIdxproc_statusInit_HR_Procnetsnmp_cpu_get_firstHRP_cpuGet_Next_HR_Procnetsnmp_cpu_get_nextinit_hr_prochrproc_variables_oidhrproc_variablesheader_hrprocvar_hrprocnetwork_statusnetwork_errorsInit_HR_NetworkInterface_Scan_InitGet_Next_HR_NetworkInterface_Scan_NextIntSave_HR_Network_Infodescribe_networkIFinit_hr_networkhrnet_variables_oidhrnet_variablesheader_hrnetvar_hrnetGet_Next_HR_Printdescribe_printerprinter_statusprinter_errorsInit_HR_Printinit_hr_printhrprint_variables_oidhrprint_variablesheader_hrprintprinter_detail_statusvar_hrprintInit_HR_DiskGet_Next_HR_Diskioctlsnprintfregcompregexecregfreeregerrorinit_hr_diskhrdisk_variableshrdisk_variables_oidshutdown_hr_diskheader_hrdiskvar_hrdiskGet_Next_HR_Disk_Partitioninit_hr_partitionhrpartition_variables_oidhrpartition_variablesheader_hrpartitionvar_hrpartition__sprintf_chkinitialize_table_ipAddressTable_ipAddressTable_initialize_interfaceinit_ipAddressTableshutdown_table_ipAddressTable_ipAddressTable_shutdown_interfaceshutdown_ipAddressTableipAddressTable_rowreq_ctx_initipAddressTable_pre_requestipAddressTable_post_requestipAddressTable_dirty_getipAddressTable_dirty_setipAddressTable_allocate_datanetsnmp_access_ipaddress_entry_createipAddressTable_release_datanetsnmp_access_ipaddress_entry_freeipAddressTable_rowreq_ctx_cleanupipAddressAddrType_mapipAddressTable_indexes_set_tbl_idxipAddressTable_indexes_setipAddressTable_index_to_oidipAddressIfIndex_getipAddressType_getipAddressPrefix_getnetsnmp_ipaddress_prefix_copyipAddressOrigin_getipAddressStatus_getipAddressCreated_getipAddressLastChanged_getipAddressRowStatus_getipAddressStorageType_getipAddressTable_undo_setupnetsnmp_access_ipaddress_entry_copyipAddressTable_undoipAddressTable_undo_cleanupipAddressTable_commitnetsnmp_access_ipaddress_entry_setnetsnmp_get_agent_uptimeipAddressTable_undo_commitipAddressIfIndex_check_valuenetsnmp_access_interface_name_findipAddressIfIndex_undo_setupipAddressIfIndex_setipAddressIfIndex_undoipAddressType_check_valueipAddressType_undo_setupipAddressType_setipAddressType_undoipAddressStatus_check_valueipAddressStatus_undo_setupipAddressStatus_setipAddressStatus_undoipAddressRowStatus_check_valuecheck_rowstatus_transitionipAddressRowStatus_undo_setupipAddressRowStatus_setipAddressRowStatus_undoipAddressStorageType_check_valuecheck_storage_transitionipAddressStorageType_undo_setupipAddressStorageType_setipAddressStorageType_undoipAddressTable_check_dependenciesipAddressTable_user_contextipAddressTable_oid_sizeipAddressTable_oidnetsnmp_request_set_erroripAddressPrefixTable_row_prepnetsnmp_request_set_error_allnetsnmp_row_merge_status_firstipAddressPrefixTable_container_freeCONTAINER_CLEARipAddressPrefixTable_container_loadipAddressPrefixTable_container_getipAddressPrefixTable_registration_getipAddressPrefixTable_registration_setipAddressPrefixTable_container_sizeipAddressPrefixTable_init_dataipAddressPrefixTable_container_initnetsnmp_baby_steps_access_multiplexer_getnetsnmp_handler_registration_createnetsnmp_baby_steps_handler_getnetsnmp_get_row_merge_handleripAddressPrefixTable_container_shutdownipAddressPrefixTable_valid_columns_setsnmp_set_var_valuebuild_oid_noallocsnmp_reset_var_buffersipAddressPrefixTable_index_from_oidparse_oid_indexesipAddressPrefixTable_release_rowreq_ctxnetsnmp_row_merge_status_lastnetsnmp_check_all_requests_erroripAddressPrefixTable_allocate_rowreq_ctxipAddressPrefixTable_row_find_by_mib_indexipAddressTable_container_getnetsnmp_ipaddress_flags_copynetsnmp_ipaddress_prefix_origin_copyCONTAINER_INSERTipDefaultRouterPreference_getipDefaultRouterLifetime_getipDefaultRouterTable_row_prepipDefaultRouterTable_container_freeipDefaultRouterTable_container_loadipDefaultRouterTable_container_getipDefaultRouterTable_registration_getipDefaultRouterTable_registration_setipDefaultRouterTable_container_sizeipDefaultRouterTable_init_dataipDefaultRouterTable_container_initipDefaultRouterTable_container_shutdownipDefaultRouterTable_valid_columns_setipDefaultRouterTable_index_to_oidipDefaultRouterTable_index_from_oidipDefaultRouterTable_release_rowreq_ctxipDefaultRouterTable_release_dataipDefaultRouterTable_allocate_rowreq_ctxipDefaultRouterTable_allocate_dataipDefaultRouterTable_row_find_by_mib_indexipDefaultRouterTable_indexes_setnetsnmp_access_defaultrouter_entry_updateCONTAINER_REMOVEnetsnmp_access_defaultrouter_container_loadnetsnmp_access_defaultrouter_container_freenetsnmp_access_defaultrouter_entry_createipDefaultRouterTable_indexes_set_tbl_idxinitialize_table_ipIfStatsTable_ipIfStatsTable_initialize_interfaceinit_ipIfStatsTableipIfStatsTable_lastChange_setshutdown_table_ipIfStatsTable_ipIfStatsTable_shutdown_interfaceshutdown_ipIfStatsTableipIfStatsTable_rowreq_ctx_initipIfStatsTable_rowreq_ctx_cleanupnetsnmp_access_systemstats_entry_freeipIfStatsTable_pre_requestipIfStatsTable_post_requestipIfStatsTable_user_contextipIfStatsTable_oid_sizeipIfStatsTable_oidipIfStatsRefreshRate_getipIfStatsInReceives_getipIfStatsHCInReceives_getipIfStatsInOctets_getipIfStatsHCInOctets_getipIfStatsInHdrErrors_getipIfStatsInNoRoutes_getipIfStatsInAddrErrors_getipIfStatsInUnknownProtos_getipIfStatsInTruncatedPkts_getipIfStatsInForwDatagrams_getipIfStatsHCInForwDatagrams_getipIfStatsReasmReqds_getipIfStatsReasmOKs_getipIfStatsReasmFails_getipIfStatsInDiscards_getipIfStatsInDelivers_getipIfStatsHCInDelivers_getipIfStatsOutRequests_getipIfStatsHCOutRequests_getipIfStatsOutForwDatagrams_getipIfStatsHCOutForwDatagrams_getipIfStatsOutDiscards_getipIfStatsOutFragReqds_getipIfStatsOutFragOKs_getipIfStatsOutFragFails_getipIfStatsOutFragCreates_getipIfStatsOutTransmits_getipIfStatsHCOutTransmits_getipIfStatsOutOctets_getipIfStatsHCOutOctets_getipIfStatsInMcastPkts_getipIfStatsHCInMcastPkts_getipIfStatsInMcastOctets_getipIfStatsHCInMcastOctets_getipIfStatsOutMcastPkts_getipIfStatsHCOutMcastPkts_getipIfStatsOutMcastOctets_getipIfStatsHCOutMcastOctets_getipIfStatsInBcastPkts_getipIfStatsHCInBcastPkts_getipIfStatsOutBcastPkts_getipIfStatsHCOutBcastPkts_getipIfStatsDiscontinuityTime_getipIfStatsTable_row_prepipIfStatsTable_container_freeipIfStatsTable_container_loadipIfStatsTable_container_getipIfStatsTable_registration_getipIfStatsTable_registration_setipIfStatsTable_container_sizeipIfStatsTable_init_dataipIfStatsTable_container_initnetsnmp_create_watcher_infonetsnmp_register_watched_scalar2ipIfStatsTable_container_shutdownipIfStatsTable_valid_columns_setipIfStatsTable_index_to_oidipIfStatsTable_index_from_oidipIfStatsTable_release_rowreq_ctxipIfStatsTable_release_dataipIfStatsTable_allocate_rowreq_ctxipIfStatsTable_allocate_dataipIfStatsTable_row_find_by_mib_indexnetsnmp_access_systemstats_entry_updateipIfStatsTable_indexes_setnetsnmp_access_systemstats_initnetsnmp_access_systemstats_container_loadnetsnmp_access_systemstats_container_freeinit_ipv4InterfaceTableinit_ifTableipv4InterfaceTable_lastChange_setshutdown_ipv4InterfaceTable_ipv4InterfaceTable_shutdown_interfaceinitialize_table_ipv4InterfaceTable_ipv4InterfaceTable_initialize_interfaceipv4InterfaceTable_rowreq_ctx_initipv4InterfaceTable_rowreq_ctx_cleanupipv4InterfaceTable_pre_requestipv4InterfaceTable_post_requestipv4InterfaceTable_dirty_getipv4InterfaceTable_dirty_setipv4InterfaceReasmMaxSize_getipv4InterfaceEnableStatus_getipv4InterfaceRetransmitTime_getipv4InterfaceTable_undo_setupipv4InterfaceTable_undoipv4InterfaceTable_undo_cleanupipv4InterfaceTable_commitipv4InterfaceTable_undo_commitipv4InterfaceEnableStatus_check_valueipv4InterfaceEnableStatus_undo_setupipv4InterfaceEnableStatus_setipv4InterfaceEnableStatus_undoipv4InterfaceTable_user_contextipv4InterfaceTable_oid_sizeipv4InterfaceTable_oidinit_ipv6InterfaceTableipv6InterfaceTable_lastChange_setshutdown_ipv6InterfaceTable_ipv6InterfaceTable_shutdown_interfaceinitialize_table_ipv6InterfaceTable_ipv6InterfaceTable_initialize_interfaceipv6InterfaceTable_rowreq_ctx_initipv6InterfaceTable_rowreq_ctx_cleanupipv6InterfaceTable_pre_requestipv6InterfaceTable_post_requestipv6InterfaceTable_dirty_getipv6InterfaceTable_dirty_setipv6InterfaceReasmMaxSize_getipv6InterfaceIdentifier_getipv6InterfaceEnableStatus_getipv6InterfaceReachableTime_getipv6InterfaceRetransmitTime_getipv6InterfaceForwarding_getipv6InterfaceTable_undo_setupipv6InterfaceTable_undoipv6InterfaceTable_undo_cleanupipv6InterfaceTable_commitipv6InterfaceTable_undo_commitipv6InterfaceEnableStatus_check_valueipv6InterfaceEnableStatus_undo_setupipv6InterfaceEnableStatus_setipv6InterfaceEnableStatus_undoipv6InterfaceForwarding_check_valueipv6InterfaceForwarding_undo_setupipv6InterfaceForwarding_setipv6InterfaceForwarding_undoipv6InterfaceTable_user_contextipv6InterfaceTable_oid_sizeipv6InterfaceTable_oidinitialize_table_ipv6ScopeZoneIndexTable_ipv6ScopeZoneIndexTable_initialize_interfaceinit_ipv6ScopeZoneIndexTableshutdown_table_ipv6ScopeZoneIndexTable_ipv6ScopeZoneIndexTable_shutdown_interfaceshutdown_ipv6ScopeZoneIndexTableipv6ScopeZoneIndexTable_rowreq_ctx_initipv6ScopeZoneIndexTable_rowreq_ctx_cleanupnetsnmp_access_scopezone_entry_freeipv6ScopeZoneIndexTable_pre_requestipv6ScopeZoneIndexTable_post_requestipv6ScopeZoneIndexTable_allocate_datanetsnmp_access_scopezone_entry_createipv6ScopeZoneIndexTable_release_dataipv6ScopeZoneIndexTable_indexes_set_tbl_idxipv6ScopeZoneIndexTable_indexes_setipv6ScopeZoneIndexTable_index_to_oidipv6ScopeZoneIndexLinkLocal_getipv6ScopeZoneIndex3_getipv6ScopeZoneIndexAdminLocal_getipv6ScopeZoneIndexSiteLocal_getipv6ScopeZoneIndex6_getipv6ScopeZoneIndex7_getipv6ScopeZoneIndexOrganizationLocal_getipv6ScopeZoneIndex9_getipv6ScopeZoneIndexA_getipv6ScopeZoneIndexB_getipv6ScopeZoneIndexC_getipv6ScopeZoneIndexD_getipv6ScopeZoneIndexTable_user_contextipv6ScopeZoneIndexTable_oid_sizeipv6ScopeZoneIndexTable_oidsctp_stats_handlerse_find_label_in_slistsctp_statssctp_params_handlersctp_paramsinit_sctpScalarssctp_stats_oidnetsnmp_register_scalar_groupnetsnmp_access_sctp_stats_freenetsnmp_access_sctp_stats_loadnetsnmp_get_cache_handlersctp_params_oidnetsnmp_access_sctp_params_loadnetsnmp_access_sctp_params_free__memmove_chkinitialize_table_dot3StatsTable_dot3StatsTable_initialize_interfaceinit_dot3StatsTableshutdown_table_dot3StatsTable_dot3StatsTable_shutdown_interfaceshutdown_dot3StatsTabledot3StatsTable_rowreq_ctx_initdot3StatsTable_rowreq_ctx_cleanupdot3StatsTable_pre_requestdot3StatsTable_post_requestdot3StatsTable_user_contextdot3StatsTable_oid_sizedot3StatsTable_oiddot3StatsTable_indexes_set_tbl_idxdot3StatsTable_indexes_setdot3StatsTable_index_to_oiddot3StatsAlignmentErrors_getdot3StatsFCSErrors_getdot3StatsSingleCollisionFrames_getdot3StatsMultipleCollisionFrames_getdot3StatsSQETestErrors_getdot3StatsDeferredTransmissions_getdot3StatsLateCollisions_getdot3StatsExcessiveCollisions_getdot3StatsInternalMacTransmitErrors_getdot3StatsCarrierSenseErrors_getdot3StatsFrameTooLongs_getdot3StatsInternalMacReceiveErrors_getdot3StatsEtherChipSet_getdot3StatsSymbolErrors_getdot3StatsDuplexStatus_getdot3StatsRateControlAbility_getdot3StatsRateControlStatus_getdot3StatsTable_init_datadot3StatsTable_container_initdot3StatsTable_container_shutdowndot3StatsTable_container_loadsocketdot3stats_interface_name_list_getinterface_sysclassnet_dot3stats_getinterface_dot3stats_get_errorcountersinterface_ioctl_dot3stats_getinterface_ioctl_dot3stats_duplex_getdot3stats_interface_ioctl_ifindex_getdot3StatsTable_allocate_rowreq_ctxdot3StatsTable_release_rowreq_ctxdot3stats_interface_name_list_freedot3StatsTable_container_freedot3StatsTable_row_prepdot3StatsTable_container_getdot3StatsTable_registration_getdot3StatsTable_registration_setdot3StatsTable_container_sizedot3StatsTable_valid_columns_setdot3StatsTable_index_from_oiddot3StatsTable_row_find_by_mib_indexinit_swinstnetsnmp_swinst_arch_initshutdown_swinstnetsnmp_swinst_arch_shutdownnetsnmp_swinst_container_freenetsnmp_swinst_arch_loadnetsnmp_swinst_entry_createnetsnmp_swinst_entry_freenetsnmp_swinst_entry_removeshutdown_swrunswrun_max_processes_swrun_maxswrun_count_processes_by_nameinit_swrunnetsnmp_arch_swrun_initnetsnmp_swrun_container_free_itemsnetsnmp_swrun_container_freenetsnmp_swrun_container_loadnetsnmp_arch_swrun_container_loadnetsnmp_swrun_entry_get_by_indexnetsnmp_swrun_entry_createnetsnmp_swrun_entry_freehrSWRunPerfTable_handlerinitialize_table_hrSWRunPerfTableinit_hrSWRunPerfTableshutdown_table_hrSWRunPerfTableshutdown_hrSWRunPerfTablemake_tempfilenetsnmp_mktempshell_commandunlinkget_exten_instancewait_on_execget_exec_outputexec_commandfdopenget_exec_pipespipeforknetsnmp_close_fdsskip_whiteexecvexitclear_cachesprint_mib_oidcheckmibfind_fieldskip_not_whiteparse_miboidstrtoulstring_append_intstrcpyInitialise_Tablecheck_and_reload_tablenetsnmp_ready_monotonicnetsnmp_set_monotonic_markerqsortSearch_TableAdd_EntryRetrieve_Table_Datanet_snmp_create_prefix_infonet_snmp_search_update_prefix_infonet_snmp_find_prefix_infonet_snmp_update_prefix_infonet_snmp_delete_prefix_infoconfig_pwarnstrtoullinit_interfacenetsnmp_access_interface_container_initnetsnmp_access_interface_container_freenetsnmp_access_interface_container_loadnetsnmp_arch_interface_container_loadnetsnmp_access_interface_initnetsnmp_arch_interface_initnetsnmp_access_interface_index_findnetsnmp_arch_interface_index_findnetsnmp_access_interface_entry_get_by_indexnetsnmp_access_interface_entry_get_by_namenetsnmp_access_interface_entry_createse_find_value_in_slistse_add_pair_to_slistnetsnmp_access_interface_entry_freeifTable_oid_sizeifTable_oidnetsnmp_cache_find_by_oidInterface_Scan_Nextnetsnmp_access_interface_entry_set_admin_statusnetsnmp_arch_set_admin_statusnetsnmp_access_interface_entry_update_statsnetsnmp_c64_check32_and_updatenetsnmp_access_interface_entry_calculate_statsu64Subtractnetsnmp_access_interface_entry_copynetsnmp_access_interface_entry_guess_speednetsnmp_access_interface_entry_overrides_getnetsnmp_access_interface_entry_overridesnetsnmp_check_vb_typenetsnmp_check_vb_rowstatus_valueipAddressTable_container_freeipAddressTable_container_loadipAddressTable_registration_getipAddressTable_registration_setipAddressTable_container_sizeipAddressTable_init_dataipAddressTable_container_initipAddressTable_container_shutdownipAddressTable_valid_columns_setipAddressTable_index_from_oidipAddressTable_release_rowreq_ctxipAddressTable_allocate_rowreq_ctxipAddressTable_row_prepipAddressAddrType_check_indexipAddressAddr_check_indexipAddressTable_validate_indexnetsnmp_container_table_row_insertipAddressTable_row_find_by_mib_indexnetsnmp_access_ipaddress_entry_updatenetsnmp_access_ipaddress_container_loadnetsnmp_access_ipaddress_container_freememcmpnetsnmp_access_defaultrouter_container_initnetsnmp_arch_defaultrouter_container_loadnetsnmp_arch_defaultrouter_entry_initnetsnmp_access_defaultrouter_entry_copysysconfsetsockoptgetpidsendtorecvfromstrerroru64Incrnetsnmp_access_systemstats_container_initnetsnmp_access_systemstats_container_arch_loadnetsnmp_access_systemstats_arch_initnetsnmp_access_systemstats_entry_get_by_indexnetsnmp_access_systemstats_entry_createnetsnmp_access_systemstats_entry_update_statsstrtollipIfStatsTable_indexes_set_tbl_idxifTable_check_dependenciesnetsnmp_check_vb_type_and_sizeifAdminStatus_check_valueifSpecific_getifOutQLen_getifOutErrors_getifOutDiscards_getifOutNUcastPkts_getifOutUcastPkts_getifOutOctets_getifInUnknownProtos_getifInErrors_getifInDiscards_getifInNUcastPkts_getifInUcastPkts_getifInOctets_getifLastChange_getifOperStatus_getifAdminStatus_getifPhysAddress_getifSpeed_getifMtu_getifType_getifDescr_getifTable_row_prepifTable_container_freeifTable_container_loadifTable_undoifAdminStatus_undoifAdminStatus_setifTable_pre_requestifTable_container_getifTable_registration_getifTable_registration_setifTable_container_sizeifTable_dirty_getifTable_dirty_setifTable_undo_commitifTable_commitifTable_lastChange_setif_mib_container_initifTable_container_init_ifTable_initialize_interfaceifTable_init_data_ifTable_shutdown_interfaceifTable_container_shutdownifTable_valid_columns_setifTable_index_to_oidifTable_index_from_oidifTable_allocate_dataifTable_release_dataifTable_release_rowreq_ctxifTable_rowreq_ctx_cleanupifTable_post_requestifTable_allocate_rowreq_ctxifTable_rowreq_ctx_init_mfd_ifTable_undo_setup_allocateifTable_undo_setupifAdminStatus_undo_setup_mfd_ifTable_undo_setup_releaseifTable_undo_cleanupifTable_row_find_by_mib_indexipv4InterfaceTable_check_entry_for_updatesipv6InterfaceTable_check_entry_for_updatesifTable_indexes_setsend_linkUpDownNotificationssnmp_varlist_add_variablesend_v2trapsnmp_free_varbindnetsnmp_call_next_handlerinitialize_table_ifTableshutdown_table_ifTableshutdown_ifTablesnmp_store_neededifTable_indexes_set_tbl_idxifTable_user_contextipv4InterfaceTable_row_prepipv4InterfaceTable_container_getipv4InterfaceTable_registration_getipv4InterfaceTable_registration_setipv4InterfaceTable_container_sizeipv4InterfaceTable_init_dataipv4InterfaceTable_container_initipv4InterfaceTable_container_shutdownipv4InterfaceTable_container_freeipv4InterfaceTable_valid_columns_setipv4InterfaceTable_row_find_by_mib_indexipv4InterfaceTable_container_loadipv6InterfaceTable_row_prepipv6InterfaceTable_container_getipv6InterfaceTable_registration_getipv6InterfaceTable_registration_setipv6InterfaceTable_container_sizeipv6InterfaceTable_init_dataipv6InterfaceTable_container_initipv6InterfaceTable_container_shutdownipv6InterfaceTable_container_freeipv6InterfaceTable_valid_columns_setipv6InterfaceTable_row_find_by_mib_indexipv6InterfaceTable_container_loadipv6ScopeZoneIndexTable_container_freeipv6ScopeZoneIndexTable_container_loadipv6ScopeZoneIndexTable_container_getipv6ScopeZoneIndexTable_registration_getipv6ScopeZoneIndexTable_registration_setipv6ScopeZoneIndexTable_container_sizeipv6ScopeZoneIndexTable_init_dataipv6ScopeZoneIndexTable_container_initipv6ScopeZoneIndexTable_container_shutdownipv6ScopeZoneIndexTable_valid_columns_setipv6ScopeZoneIndexTable_index_from_oidipv6ScopeZoneIndexTable_release_rowreq_ctxipv6ScopeZoneIndexTable_allocate_rowreq_ctxipv6ScopeZoneIndexTable_row_prepipv6ScopeZoneIndexTable_row_find_by_mib_indexnetsnmp_access_scopezone_container_loadnetsnmp_access_scopezone_container_freeinitialize_table_etherStatsTable_etherStatsTable_initialize_interfaceinit_etherStatsTableshutdown_table_etherStatsTable_etherStatsTable_shutdown_interfaceshutdown_etherStatsTableetherStatsTable_rowreq_ctx_initetherStatsTable_rowreq_ctx_cleanupetherStatsTable_pre_requestetherStatsTable_post_requestetherStatsTable_dirty_getetherStatsTable_dirty_setetherStatsTable_user_contextetherStatsTable_oid_sizeetherStatsTable_oidetherStatsTable_indexes_set_tbl_idxetherStatsTable_indexes_setetherStatsTable_index_to_oidetherStatsDataSource_getetherStatsDropEvents_getetherStatsOctets_getetherStatsPkts_getetherStatsBroadcastPkts_getetherStatsMulticastPkts_getetherStatsCRCAlignErrors_getetherStatsUndersizePkts_getetherStatsOversizePkts_getetherStatsFragments_getetherStatsJabbers_getetherStatsCollisions_getetherStatsPkts64Octets_getetherStatsPkts65to127Octets_getetherStatsPkts128to255Octets_getetherStatsPkts256to511Octets_getetherStatsPkts512to1023Octets_getetherStatsPkts1024to1518Octets_getetherStatsOwner_getetherStatsStatus_getetherStatsTable_undo_setupetherStatsTable_undoetherStatsTable_undo_cleanupetherStatsTable_commitetherStatsTable_undo_commitetherStatsDataSource_check_valueetherStatsDataSource_undo_setupetherStatsDataSource_setetherStatsDataSource_undoetherStatsOwner_check_valueetherStatsOwner_undo_setupetherStatsOwner_setetherStatsOwner_undoetherStatsStatus_check_valueetherStatsStatus_undo_setupetherStatsStatus_setetherStatsStatus_undoetherStatsTable_init_dataetherStatsTable_container_initetherStatsTable_container_shutdownetherStatsTable_container_loadetherstats_interface_name_list_getinterface_ioctl_etherstats_getetherstats_interface_ioctl_ifindex_getetherStatsTable_allocate_rowreq_ctxetherStatsTable_release_rowreq_ctxetherstats_interface_name_list_freeetherStatsTable_container_freeetherStatsTable_row_prepetherStatsIndex_check_indexetherStatsTable_validate_indexnetsnmp_check_vb_type_and_max_sizeetherStatsTable_container_getetherStatsTable_registration_getetherStatsTable_registration_setetherStatsTable_container_sizeetherStatsTable_valid_columns_setetherStatsTable_index_from_oidetherStatsTable_allocate_dataetherStatsTable_release_dataetherStatsTable_row_find_by_mib_indexnetsnmp_access_sctp_stats_initnetsnmp_access_sctp_stats_arch_initnetsnmp_access_sctp_stats_arch_loadnetsnmp_access_sctp_params_initnetsnmp_access_sctp_params_arch_initnetsnmp_access_sctp_params_arch_loadsctpLookupRemIPAddrTable_entry_createsctpLookupRemIPAddrTable_entry_update_indexsctpLookupLocalPortTable_entry_createsctpLookupLocalPortTable_entry_update_indexsctpLookupRemPortTable_entry_createsctpLookupRemPortTable_entry_update_indexsctpLookupRemPrimIPAddrTable_entry_createsctpLookupRemPrimIPAddrTable_entry_update_indexsctpLookupRemHostNameTable_entry_createsctpLookupRemHostNameTable_entry_update_indexsctpAssocTable_delete_invalidsctpAssocTable_entry_freesctpAssocRemAddrTable_delete_invalidsctpAssocRemAddrTable_entry_freesctpAssocLocalAddrTable_delete_invalidsctpAssocLocalAddrTable_entry_freesctpAssocRemAddrTable_add_or_updatesctpAssocRemAddrTable_entry_update_indexsctpAssocRemAddrTable_entry_copysctpAssocLocalAddrTable_add_or_updatesctpAssocLocalAddrTable_entry_update_indexsctpAssocLocalAddrTable_entry_copysctpAssocTable_add_or_updatesctpAssocTable_entry_update_indexsctpAssocTable_entry_copysctpTables_fill_lookupsctpLookupLocalPortTable_container_clearsctpLookupRemPortTable_container_clearsctpLookupRemHostNameTable_container_clearsctpLookupRemPrimIPAddrTable_container_clearsctpLookupRemIPAddrTable_container_clearsctpTables_loadsctpAssocTable_get_containersctpAssocRemAddrTable_get_containersctpAssocLocalAddrTable_get_containersctpLookupLocalPortTable_get_containersctpLookupRemPortTable_get_containersctpLookupRemHostNameTable_get_containersctpLookupRemPrimIPAddrTable_get_containersctpLookupRemIPAddrTable_get_containersctpTables_arch_loadsctpAssocRemAddrTable_handlerinitialize_table_sctpAssocRemAddrTableinit_sctpAssocRemAddrTablesctpAssocRemAddrTable_entry_createsctpAssocRemAddrTable_container_clearshutdown_table_sctpAssocRemAddrTableshutdown_sctpAssocRemAddrTablesctpAssocLocalAddrTable_handlerinitialize_table_sctpAssocLocalAddrTableinit_sctpAssocLocalAddrTablesctpAssocLocalAddrTable_entry_createsctpAssocLocalAddrTable_container_clearshutdown_table_sctpAssocLocalAddrTableshutdown_sctpAssocLocalAddrTablesctpLookupLocalPortTable_handlerinitialize_table_sctpLookupLocalPortTableinit_sctpLookupLocalPortTablesctpLookupLocalPortTable_entry_copysctpLookupLocalPortTable_entry_freeshutdown_table_sctpLookupLocalPortTableshutdown_sctpLookupLocalPortTablesctpLookupRemPortTable_handlerinitialize_table_sctpLookupRemPortTableinit_sctpLookupRemPortTablesctpLookupRemPortTable_entry_copysctpLookupRemPortTable_entry_freeshutdown_table_sctpLookupRemPortTableshutdown_sctpLookupRemPortTablesctpLookupRemHostNameTable_handlerinitialize_table_sctpLookupRemHostNameTableinit_sctpLookupRemHostNameTablesctpLookupRemHostNameTable_entry_copysctpLookupRemHostNameTable_entry_freeshutdown_table_sctpLookupRemHostNameTableshutdown_sctpLookupRemHostNameTablesctpLookupRemPrimIPAddrTable_handlerinitialize_table_sctpLookupRemPrimIPAddrTableinit_sctpLookupRemPrimIPAddrTablesctpLookupRemPrimIPAddrTable_entry_copysctpLookupRemPrimIPAddrTable_entry_freeshutdown_table_sctpLookupRemPrimIPAddrTableshutdown_sctpLookupRemPrimIPAddrTablesctpLookupRemIPAddrTable_handlerinitialize_table_sctpLookupRemIPAddrTableinit_sctpLookupRemIPAddrTablesctpLookupRemIPAddrTable_entry_copysctpLookupRemIPAddrTable_entry_freeshutdown_table_sctpLookupRemIPAddrTableshutdown_sctpLookupRemIPAddrTablesctpAssocTable_handlerinitialize_table_sctpAssocTablenetsnmp_cache_handler_owns_cacheinit_sctpAssocTablesctpAssocTable_entry_createsctpAssocTable_container_clearshutdown_table_sctpAssocTableshutdown_sctpAssocTableinet_ptonnetsnmp_get_pid_from_inode_initstrtoknetsnmp_get_pid_from_inodereadlinkinitialize_table_tcpConnectionTabletcpConnectionTable_user_context_tcpConnectionTable_initialize_interfaceinit_tcpConnectionTableshutdown_table_tcpConnectionTable_tcpConnectionTable_shutdown_interfaceshutdown_tcpConnectionTabletcpConnectionTable_rowreq_ctx_inittcpConnectionTable_rowreq_ctx_cleanupnetsnmp_access_tcpconn_entry_freetcpConnectionTable_pre_requesttcpConnectionTable_post_requesttcpConnectionTable_dirty_gettcpConnectionTable_dirty_settcpConnectionTable_allocate_datatcpConnectionTable_release_datatcpConnectionTable_indexes_set_tbl_idxtcpConnectionTable_indexes_settcpConnectionTable_index_to_oidtcpConnectionState_gettcpConnectionProcess_gettcpConnectionTable_undo_setuptcpConnectionTable_undotcpConnectionTable_undo_cleanuptcpConnectionTable_committcpConnectionTable_undo_committcpConnectionState_check_valuetcpConnectionState_undo_setuptcpConnectionState_settcpConnectionState_undotcpConnectionTable_check_dependenciestcpConnectionTable_oid_sizetcpConnectionTable_oidinitialize_table_tcpListenerTabletcpListenerTable_user_context_tcpListenerTable_initialize_interfaceinit_tcpListenerTableshutdown_table_tcpListenerTable_tcpListenerTable_shutdown_interfaceshutdown_tcpListenerTabletcpListenerTable_rowreq_ctx_inittcpListenerTable_rowreq_ctx_cleanuptcpListenerTable_pre_requesttcpListenerTable_post_requesttcpListenerTable_allocate_datatcpListenerTable_release_datatcpListenerTable_indexes_set_tbl_idxtcpListenerTable_indexes_settcpListenerTable_index_to_oidtcpListenerProcess_gettcpListenerTable_oid_sizetcpListenerTable_oidnetsnmp_sensor_freenetsnmp_sensor_arch_loadnetsnmp_sensor_loadnetsnmp_sensor_arch_initshutdown_hw_sensorssensor_by_namesensors_initsensors_get_detected_chipssensors_get_featuressensors_get_all_subfeaturessensors_get_labelsensors_get_valuesensors_snprintf_chip_nameinitialize_table_udpEndpointTable_udpEndpointTable_initialize_interfaceinit_udpEndpointTableshutdown_table_udpEndpointTable_udpEndpointTable_shutdown_interfaceshutdown_udpEndpointTableudpEndpointTable_pre_requestudpEndpointTable_post_requestudpEndpointTable_indexes_set_tbl_idxudpEndpointTable_indexes_setudpEndpointTable_index_to_oidudpEndpointProcess_getudpEndpointTable_user_contextudpEndpointTable_oid_sizeudpEndpointTable_oidrecvmsgstderr__fprintf_chkfwritegetifaddrsfreeifaddrs_dot3Stats_netlink_get_errorcntrsgetsocknamesend_dot3Stats_ioctl_getstrstrinit_hw_memnetsnmp_mem_arch_load_mem_cache_mem_headnetsnmp_memory_get_nextnetsnmp_memory_get_cachenetsnmp_os_prematch_fsys_containernetsnmp_fsys_freenetsnmp_fsys_arch_loadnetsnmp_fsys_loadinit_hw_fsysnetsnmp_fsys_arch_init_fsys_cacheshutdown_hw_fsysnetsnmp_fsys_get_containernetsnmp_fsys_by_path_fsys_to_Knetsnmp_fsys_size_ullnetsnmp_fsys_used_ullnetsnmp_fsys_avail_ullnetsnmp_fsys_usednetsnmp_fsys_availnetsnmp_fsys_calculate32getmntenthasmntoptstatfsrpmReadConfigFilesrpmGetPathpkg_directoryrpmtdNewrpmtsCreaterpmtsSetVSFlagsrpmtsInitIteratorrpmtdFreeDataheaderFreerpmdbNextIteratorheaderLinkheaderGetrpmtdGetStringrpmtdGetNumberrpmdbFreeIteratorrpmtsFreerpmtdFreegetpagesizenetsnmp_cpu_arch_loadinit_cpushutdown_cpunetsnmp_cpu_get_byNamenetsnmp_cpu_get_cachenetsnmp_cpu_load_cpu_copy_statscpu_numinit_cpu_linux_cpu_load_swap_etcheader_genericnetsnmp_prefix_processrecvlist_infonetsnmp_access_interface_ioctl_ifindex_get_arch_interface_has_ipv6netsnmp_access_interface_ioctl_flags_setnetsnmp_linux_interface_get_if_speed_miinetsnmp_linux_interface_get_if_speednetsnmp_access_interface_ioctl_has_ipv4netsnmp_access_interface_ioctl_physaddr_getnetsnmp_access_interface_ioctl_flags_getnetsnmp_access_interface_ioctl_mtu_getnetsnmp_prefix_listenregister_readfdprefix_head_listnetsnmp_access_ipaddress_ioctl_get_interface_countnetsnmp_access_ipaddress_container_initnetsnmp_arch_ipaddress_entry_cleanupnetsnmp_arch_ipaddress_container_loadnetsnmp_arch_ipaddress_entry_initnetsnmp_arch_ipaddress_deletenetsnmp_arch_ipaddress_createnetsnmp_arch_ipaddress_entry_copynetsnmp_ipaddress_ipv4_prefix_lennetsnmp_ipaddress_ipv4_masknetsnmp_ipaddress_ipv6_prefix_lennetsnmp_ioctl_ipaddress_entry_initnetsnmp_ioctl_ipaddress_entry_cleanupnetsnmp_ioctl_ipaddress_entry_copy_netsnmp_ioctl_ipaddress_set_v6_netsnmp_ioctl_ipaddress_set_v4_netsnmp_ioctl_ipaddress_delete_v6_netsnmp_ioctl_ipaddress_delete_v4netsnmp_access_other_info_getnetsnmp_access_ipaddress_extra_prefix_info_load_v6netsnmp_hex_to_binarynetsnmp_ioctl_ipaddress_extras_get_netsnmp_ioctl_ipaddress_container_load_v4netsnmp_access_scopezone_container_initnetsnmp_access_scopezone_container_arch_load_etherStats_ioctl_getnetsnmp_access_tcpconn_container_initnetsnmp_access_tcpconn_container_freenetsnmp_access_tcpconn_container_loadnetsnmp_arch_tcpconn_container_loadnetsnmp_arch_tcpconn_entry_cleanupnetsnmp_access_tcpconn_entry_createnetsnmp_arch_tcpconn_entry_initnetsnmp_access_tcpconn_entry_updatenetsnmp_arch_tcpconn_entry_copysetvbufnetsnmp_addrstr_htontcpConnectionTable_row_preptcpConnectionTable_container_freetcpConnectionTable_container_loadtcpConnectionTable_container_gettcpConnectionTable_registration_gettcpConnectionTable_registration_settcpConnectionTable_container_sizetcpConnectionTable_init_datatcpConnectionTable_container_inittcpConnectionTable_container_shutdowntcpConnectionTable_valid_columns_settcpConnectionTable_index_from_oidtcpConnectionTable_release_rowreq_ctxtcpConnectionTable_allocate_rowreq_ctxtcpConnectionTable_row_find_by_mib_indextcpListenerTable_row_preptcpListenerTable_container_freetcpListenerTable_container_loadtcpListenerTable_container_gettcpListenerTable_registration_gettcpListenerTable_registration_settcpListenerTable_container_sizetcpListenerTable_init_datatcpListenerTable_container_inittcpListenerTable_container_shutdowntcpListenerTable_valid_columns_settcpListenerTable_index_from_oidtcpListenerTable_release_rowreq_ctxtcpListenerTable_allocate_rowreq_ctxtcpListenerTable_row_find_by_mib_indexudpEndpointTable_row_prepudpEndpointTable_container_freeudpEndpointTable_container_loadudpEndpointTable_container_getudpEndpointTable_registration_getudpEndpointTable_registration_setudpEndpointTable_container_sizeudpEndpointTable_init_dataudpEndpointTable_container_initudpEndpointTable_container_shutdownudpEndpointTable_valid_columns_setudpEndpointTable_index_from_oidudpEndpointTable_allocate_rowreq_ctxudpEndpointTable_release_rowreq_ctxudpEndpointTable_row_find_by_mib_indexnetsnmp_access_udp_endpoint_container_loadnetsnmp_access_udp_endpoint_container_freenetsnmp_get_list_datanetsnmp_data_list_add_nodenetsnmp_remove_list_node_netsnmp_ioctl_ipaddress_v6netsnmp_access_udp_endpoint_entry_freenetsnmp_access_udp_endpoint_container_initnetsnmp_arch_udp_endpoint_container_loadnetsnmp_access_udp_endpoint_entry_createnetsnmp_arch_udp_endpoint_entry_initnetsnmp_arch_udp_endpoint_entry_cleanupnetsnmp_arch_udp_endpoint_entry_copynetsnmp_arch_udp_endpoint_deletenetsnmp_file_fillnetsnmp_file_text_parsenetsnmp_file_releaseinit_mib_modulesauto_nlist_nooplibnetsnmpagent.so.35libnetsnmp.so.35libssl.so.1.1libcrypto.so.1.1libm.so.6libsensors.so.4libdl.so.2librpm.so.8librpmio.so.8libc.so.6__timezone_edata__bss_start_endlibnetsnmpmibs.so.35GLIBC_2.8GLIBC_2.4GLIBC_2.3GLIBC_2.14GLIBC_2.3.4GLIBC_2.2.5/opt/alt/net-snmp11/usr/lib64:/opt/alt/openssl11/lib64:/opt/alt/libssh211/usr/lib64�ii
,�ii
6�ii
@����J�ti	U�ui	a��&G�&�F�&�&h '�T� '�T� '�T� '�T(!'�TX!'�T�!'@O�!'@O�!'@O"'@OH"'@Ox"'@O�"'@O�"'@O#'@O�7'��7''��7'��7'#�8'&�8'+�(8'
88'7�H8'/�X8'2�h8'6�x8';��8'@��'��'��'��'�'=�'��'��'E�'��'��'K�'3�'�'-''�'# '�('�0'8'-@'TH'P'X'e`'h'Xp'
x'D�'	�')�'�'-�'H�'��'U�'��'��'�'L�'�':�'��'0�'U'�'D'�'� ''('S0']8'>@'�H'IP'�X'V`'_h'Zp'�x'b�'��'��'{�'��'��'Z�'s�'0�'J�'<�'!�'��'��'��'H�''o'�'�'+ '�('0'�8'�@'FH'�P'3X'�`'�h'�p'x'��'C�'��'��']�'i�'�']�'��'��'��'��'��'��'��'��''�'�''� '('�0'�8'h@'�H'�P'X'�`'�h'sp'�x'`�'W�'��'��'��'��'l�'��'�'��'��'�'��'�'��'Z�'}�$'��$'�%'�@%'�h%'��%'��%'��&'%''%8''%p''%�''%�''%('%P('%�('%*'�0*'�X*'��*'��*'��*'��*'�,'5@,'5x,'5�,'5�,'5 -'5�-'.'�.'H/'�/'(0'B`0'B�0'B�0'Bh1'J�1'J�1'J2'JH2'J��&�&��&��&/�&*�&C�&��&�&�&�&p�&` �&�(�&0�&�8�&�@�&H�&�P�&�X�&`�&�h�&Wp�&(x�&	��&G��&
��&o��&���&���&q��&��&���&
�&��&L�&��&	�&�&^��&a�&H�&E�&��&� �&�(�&0�&8�&�@�&�H�&�P�&+X�&|`�&ah�&Qp�&�x�&���&���&
��&V��&n��&��&��&���&���&P�&�&��&��&�&�&���&��&h�&��&��&� �&�(�&0�&=8�&�@�&6H�&�P�&X�&�`�&Yh�&wp�&x�&2��&��&���&��&��&��&4��&l��&��&��&V�&�&�&��&�&���&5�&�&��&X�& �&�(�&70�&?8�&y@�&H�&�P�&"X�&S`�&h�&^p�&%x�&q��&��&���&���&a��&��&b��&��&���&��&k�&:�&��&��&O�&=��&S�&5�&r�& �&% �&�(�&P0�&.8�&!@�&xH�&�P�&�X�&#`�&.h�&"p�&�x�&���&���&#��&���&���&$��&.��&!��&���&%�&��&U�&&�&�&n�&���&��&'�&��&w�&/ �&�(�&(0�&r8�&�@�&)H�&*P�&�X�&�`�&+h�&Ap�&x�&#��&���&���&���&��&
��&D��&���&	��&�&�&a�&��&�&,�&���&�''m'�'� 'b('�0'W8'�@'�H'�P'�X'�`'�h'(p'�x'-�'.�'A�'��'�'/�'�''�':�'��'��'"�'�'��';�'��'0'F'1'2'� '3('e0'48'5@'6H'TP'7X'�`'�h'?p'8x'��'a�'��'v�'?�'�'��'N�'��'t�'~�'h�'9�'��'4�'X�'7'�':'b'S ';('X0'8'J@'�H'�P'�X'<`'�h'=p'tx'��'��'>�'��'��'t�'^�'?�'@�'��'��'��'A�'A�'\�'��'�'B'C'3'D 'i('�0'E8'@'<H'�P'X'�`'�h'�p''x'A�'u�'��'��'��'F�'$�'��'G�'q�'m�'g�'�'@�'��'��'/'�'I'<'H 'e('&0'�8'�@'�H'2P'�X'(`'h'Pp'Ix'7�'�'��'z�'��'J�'K�'L�'p�'�'M�'c�'��'��'N�'��'O''='+' '�('+0'z8'�@'�H')P'PX'�`'dh'Qp'x'��'�'��'~�'��'R�'S�'��'v�'��'k�'��'��'&�'T�'Z�')'�'7'V'� '('[0'�8'�@'BH'LP'�X'W`'Qh'�p'�x'X�'�'�'��'��';�'p�'��'��'Y�'��'��'��'�'��'s�'Y''�'�'Y '�('Z0'�8'i@'	H'�P'[X'\`'�h'�p']x'^�'��'��'_�'��'��'&�'c�'`�'a�'��'��'�'�'2�'��'�'q'�'�' ':('b0'c8'd@'�H'>P'YX'�`'�h'�p'x'��'J�'s�'
�'�'e�'3�'��'��'f�'x�'_�'
�'(�'g�'��'h	'�	'�	'�	'B 	'i(	'0	'H8	'@	'jH	'bP	'kX	'l`	'yh	'mp	'�x	'�	'��	'A�	'��	'p�	')�	'm�	'/�	'��	'��	'B�	'��	'��	'��	'��	'��	'
'�
'n
'6
'& 
'o(
';0
'p8
'�@
'qH
'�P
'@X
'r`
'Ch
'�p
'�x
'��
'1�
't�
'u�
'l�
'v�
'��
'�
'K�
'{�
'��
'/�
'�
'w�
'��
'x�
'j'
'�'^'D '�('[0'�8'�@';H'�P'�X'y`'Oh'Hp'�x'z�'��'��'��'��'��'��'{�'|�'��'}�'��'��'��'~�'��''F'�','n '�('0'�8'�@'�H'�P'X'\`'*h'�p'|x'��'o�'��'v�'��'�'��'��'8�'��'#�'D�'�'�'j�'�'�
'�
'_
'�
'" 
'�(
'0
'�8
'�@
'�H
'1P
'�X
'�`
'�h
'Yp
'Lx
'��
'r�
'��
'��
'�
'W�
'��
'��
'��
'�
'��
'��
'��
'5�
'�
'��
'�'�'�'}'� '�('�0'R8'@'�H'�P'�X'0`'>h'�p'x'��'�'��'��'��'E�'$�'%�'-�'
�'~�'��'��'��'u�'��'�'�'�'�'� '
('�0'�8'�@'VH'4P'}X'.`'Qh''p'�x'��'X�'M�'��'�'N�'_�'��'��']�'��'��'��'��'��'��'''�'�'� '�('�0'18'�@'�H'�P'�X'�`'9h'9p'�x'w�'��'��'1�'�'��'�'��']�'��'��'��'�'��'��'��'�'�'N'�'� '2('�0'�8' @'�H'�P'�X'�`'xh'p' x'��'��'"�'��'>�'��'N�'��'��'��'��'M�'��'��'T�'��'�'-'4'Z'  '�('�0'�8'�@'�H'kP'�X'�`'�h'p'�x'*�'N�'��'�'��'I�'�'��'��'��'��'��'�'��'0�'��'�'v'�'�'O '�('C0'@8'�@'�H'�P'�X'?`'�h'�p'�x'�'��'��'��'��'Q�'�'��'��'��'x�'��'��'|�'�'��'�'�'�'�' ')('?0'[8'I@'�H',P'X'�`'�h'�p'�x'��'P�'�'��'~�'��'��'��'%�'k�'��'��'d�'-�'�'��'M'�'�'�'c '[('�0'�8'u@'�H'tP'X'f`'Gh'�p'}x'��'��'8�'��'g�'��'��'1�'��'��'��'��'9�'��'2�'\�'$'''c', '�('�0'�8'U@'�H'P'�X'�`'eh'op'�x'�'#�'9�'�']�'��'��'��'z�'\�'��'<�'s�'�'`�'L�'�'3'�''� '('f0'�8'y@'zH'P'�X'�`'6h'�p'�x'j�'h�'��'��'��'��'M�'g�'��'d�'��'��'��'�'��'��'''('�'� '`(',0'T8'�@' H'�P'X'$`'h'p'Ox'��'��':�'��'��'��'��'�'��'
�'5�'8�'��'��'��'0�'�'P''�'6 '�('�0'�8'E@'JH'UP'�X'R`'�h'mp'�x'��'R�'c�'��'��'K�'��'��'{�'��'��'��'��'��'!�';�'�'�'�'�'� '�('�0'�8'U@'�H'RP'KX'�`'�h'<p'x'F�'��'��'��'��'��'�'�'��'��'��'��'��'��'��'i�'�''�'�'B '�('0'O8'M@'�H'9P'!X'`'h'Gp'�x'��'\�'@�'���H��H��`%H��t��H����5�:%�%�:%��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h��ѿ�����h�������h�鱿�����h�顿�����h�鑿�����h�避�����h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��Ѿ�����h�������h�鱾�����h�顾�����h�鑾�����h�遾�����h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��ѽ�����h"�������h#�鱽�����h$�顽�����h%�鑽�����h&�遽�����h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��Ѽ�����h2�������h3�鱼�����h4�顼�����h5�鑼�����h6�遼�����h7��q������h8��a������h9��Q������h:��A�������%�$D���%
�$D���%�$D���%��$D���%��$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%�$D���%�$D���%�$D���%�$D���%�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D���%=�$D���%5�$D���%-�$D���%%�$D���%�$D���%�$D���%
�$D���%�$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%��$D���%}�$D���%u�$D���%m�$D���%e�$D���%]�$D���%U�$D���%M�$D���%E�$D�;��f.��H�=9�$H�2�$H9�tH���$H��t	�����H�=	�$H�5�$H)�H��H��H��?H�H�tH��$H��t��fD�����=��$u+UH�=R�$H��tH�=�$����d������$]������w������H��1�H�=/#1���1�H�g�$H��H��������H��H�=#����uH���H���W�����H��H�=�$�l���H�=
�$�0���H���$H�����H��H�=�"�<���uH���H���W������1��f����ff.���1��f���1��f���USH��H�7H�WHLJ�rI��rw.H��L��H��L��L���H���r��H���H��1�[]�f�H�5�!�1��M�H���[]��UH���SH��H��H������u H�vH��H�����u
H��[]�H���[]�@��H��XH�1��ff.�@��H���H��tH��`H�1��f���H����tH��hH�1����H��������tH��pH�1����H��������tH��xH�1����H��1�H�=o!1��(�1�H��$H��H���Ӽ����H��H�=A!�<���uH���H���W������H��H�=��$����H�=��$���H���$H�����H��H�=� �����uH���H���g������1��f���SH��H��P��HǃP[�ff.�@��1��f���1��f�AWAVAUATUSH��dH�%(H��$�1��=�$2�-I��H��H���A��H=��H�D��8*�7���H��I������I�D$I�$L��L�t$H�-\ �@H�|$�6��H�[H��tu1�H��L��H�D$H������x�H�|$�Q�I��H��t�H�;����H�D$L��H�H�D$����fDH�|$���M���h���D��$L���Z�H��$Hc˃�H����$H�H�H��$H�BH�L�bH��$�dH3%(�pH��[]A\A]A^A_�f��L�|$ ��H��L���8��L���
H����������!�%����t������D�H�JHDщ�@�H��H�Z�L9��q����;/H�C�H�T$u��H�C��x/tH��H9�u��G���f��L9��2���L��H�����H�D$H������E1��H�|$��H��H�������H��L�u���H��L��H��� ����ù}.tƾ��G��H��H��t/H��M��1�L��H�-�������xL�eI���fDH������s�����G����f��fDAWAVAUATI��1�USH��dH�%(H��$�1�����H��H�$H�4�$ID$H9�|*H��$�dH3%(�NH�ĸ[]A\A]A^A_ÐH��$��H��H�D$�F��H���I�D$I�\$H����I���I�dfI�qf�H�;�����uMH�=�#�H�H��H��t9H���h�H��t$H�PL!�L9�tGL9�u�A�D$H���D�H��u�H����H�[H��u�H�$H�|$I�D$�{����fDH�T$H�p��=����u�H�D$@H���H��S㥛� H��H��?H��H)�AT$�[���H�5������������AWM��AVA��AUM��ATI��UH��SH��H��H��OE�����H�pH9���H�WH��H��H��蚼������I�$H�=g�$H��H9|���H�T�H����Hc
K�$���$�H�H9���I�I�E��@�fI�$H�T�H��H9����+<.wIH�
� ��Hc�H�>��D<+u,H��H���$H�H�;�ֿ��I�EH����f�1�H��H��[]A\A]A^A_�@��L�GH���$H9���������H�SH�}H��H�U��I�t�H�t�H��L��H)��H)���H��SH�D��CH�D��CH��I�$I�I�E��@u]I�$Hc
�$H�t�H�>H�W�H9����xo@�����H��1�H��������{����S�U�o���@D�=��$A������1��(��I��H���tH���$HA�$L9�}b1�1�D��L�D$���L�D$H����
Hc��$��D��L�D$H�5�$�l�Hc��$L�D$H9���I���tL���$I�$Hc
�$H�t�H�H�P��E��������f�H)�<1������<��'<�����H��H�t�$H�H���9���HcCH�f�$H�_�$��f�H��L��H��L�D$譹���������KH�z�$L�D$�����I�<$L��J�tH9�vH9������7H��CH�D�����f�H���$H���$H��H���$�d���f�H�
��$H���P���H���$H���@���H��H�H���$H���$�'���DH�y�$H�z�$H��H�o�$����f�H�]�$����H�V�$���f�H�!�$H�:�$H��H�/�$����f�H��$H��$H��H��$���f�H��H��H��$H�H���F���I�EH���{����t���@H��j����H�RJ�DH9��~H�H��tv�
��$
��$Hc�H9��.���H��H����f�H�}�$����H�v�$����f�H��H�U�$H�H������HcCH�G�$H�@�$����H��E���@H�9�$�1�1�H�5�������H��$�1�1�H�5H�������ff.���AWAVM��AUM��ATI��UH��SH��H���G��H����]H�qH9��8H�WH����H��������H�H�=��$H9|��I�I�EA�$�@�����$�����1����H��H���tH�f�$H'�$H9�}L1�1�����H�����Hc��$��H�5
�$���c�Hc��$H9��H���tH�-��$A�$E1�E1����K<F����<���<��u<H�-H�56�1����1�� H���$H�5p�1��l��@1�H��[]A\A]A^A_��L�L���$H9�������0I�T$H�}L��H��H�U��I�L�H�L�H��H)�H)��������H�A�D$H��H�A�D$L�D��n���fD<C� <E�+���H���$1�H���$H���DHH��H���$H9�u�H��H�z�$[]A\A]A^A_���N�$�������H�S�$1�H�߃�H�� ����Ds�Dk�9-�$�A�$�t����H�r�H��L��聴���������L�R�$�,H�L9D��������f�H���$1�H���$H���DHH��H���$H9�u��#����H���$1�H���$H���DHH��H�r�$H9�u�����H�A�$1�H�L�$H���DHH��H�2�$H9�u�����Mc�L�-�$����Mc�H��$L�5��$���f.��������A�D$�E���f.�A�D$���DH���$H�5�1����1��I���ff.�@AVI��AUA��ATA��U��SH��0L��$���t@)�$�)�$�)�$�)�$�)�$�)�$)�$)�$ dH�%(H��$x1�H�\$ L�L$�XH��$`��XH��H�D$H��$��D$(�D$0H�D$�|��f��uOfE��t)H��$xdH3%(u@H��0[]A\A]A^�fDH��L��H�5WD��1������H��������f�S���=��$���u��+����8u�=��$�[����t�1�H�=M�$1��ƿ���|�$����'��H�5+�$������=�$ޱtxf�=�$0u=0���L�
��$1�1�L��H�
���,����f.�苨���8u�=��$�����t����$����[�f.����$�������(f�=��$���=���H���$[��$�H�5�$H�H� �$H�H��$H�H���$H�H���$H�H���$���L�
�$�[L��H�
��1��6���fDf�=��$�u=��9f.���L�
��$1�1�L��H�
l�������K����8�����=��$�w����t����$���������u�f�=b�$�u�=�u�H�Z�$[���$�H��$H�H���$H�H���$H�H���$H�H���$H�H���$�fDH���$[H���$H���$H�H���$H�H���$H�H�o�$H�T�$�B�$0�H���$[�/�$�H�X�$H�H�C�$H�H�.�$H�H��$H�H��$H�H���$�fDAWH�5/�AVAUA��ATUSH��8�|$,H�=*�$dH�%(H��$(1��"��H����H��H�\$0H�*includeA�e*H���$H�CA�*A�H�D$A�����$prog���$���$*filfD���$���$fD���$���$�D$(�D$��<M�XA��H���H�����H���H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)؃�H��|0
�.�D0�D$0<O�|<Q�t����D$1���E<,H�S�����4fDH�����t<,u��qH��H���$E��PL���t$H�
�1�1�����ZY�����D$1<Q��<S��< ���H�|$�
H�5��]��A�ƅ���T$<H�C�� �$��=������f�D�-1�$A�����t$L�
�$1�1�L�IH�
�������k���H��H���$E��1�P�t$�1�L��H�
����AXAYDH���H������H������H�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)ڀ|/
u������H�BE1�fD���tP�� ���H����� t������PtR��,t��t�H�����t��,u��t�H�����u�M���H�{L���l��O������=tH���PH�H��u�H�p��=�U�Q��,��H���u��fD��,tH�����u��I���-���D��Pt���,�R����a���DD�t$1A��,������Ic�H�=	�$H��H�t$L���I��f�E�t�H��D�4A��,t(H�0A�Ή�DN ��E����H��uɿH�t$Hc�H��L�4�H���$L��8E����E1�H�\$ L�5~�$D��I���fD��I��A9��'L��L�������u�A��H�\$ E9��H�|$H��H��H�=,�$�����H������5M�$��DHc�H��$H��H��Hк)�H�H��H��H�
��$H���H��H9�u�D$(���U�H��$(dH3<%(�DH��8[]A\A]A^A_�H�|$�Ȭ��H=���H��H���$E��PL�6����H�|$藬��H=�w�H�t$H�=*�����H�\$ A��D�-a�$�������h���H�|$�H�5��6����������T$@H�C����H����� t�=��H��H���$E��PL�e�=���H�t$��H�=��$�J����D$(�E���H��H���$E��PL�����H�S����H��I����S����|$,�������t$,1�L�
n�$L��H�
`
����1��o���H��H�?�$E��1�P�t$1��L�H�
 
�K�^_�3���E1�����x L�huI��A�} t�L������H=��G���E��t=H�|$�H�5�������uIL��H�=��U��8���Ic�1�H�D$������L��H�=r�$�
����D$(�����k���t$,L�=1�1�H�
d	������D��UH��H��SH��H���X���H=��H�5H��������uY���H���H����DB u��H�5��$H���V�����<�=�$���H��[]��H�5�H���a�������H�5�H���J�������H�5�H���3�����������H���H����DB u�
1�H�����H�\�$H���t���H�=��w���H�<�$�X����H��H�=�[]�N���fD蓿��H��
fDH����DB u�H��H��H�=�[]�u�D�[���H��
fDH����DB u�H�ߺ�H�5��$����H���[]�>���fDH�5�H���)�������H�5�H�������������H��H����DB u�
1�H���s��H�,�$H���T���H�=��W���H��$
�8����H��H�5��$H�=�1�[]�e���D�k���H��
fDH����DB u�
1�H������H���$H������H�=
�ײ��H���$���H��H�=�[]鵲��D��H��A���0L�q�$H�5��$H�=��.��1�H�
�H�5���H�=A����1�H�
�H�5���H�=����1�H�
�H�5����H�=�ڽ��1�H�
�H�5����H�=辽��1�H�
�H�5n���H�=袽��1�H�=*H�
^H�5K���膽��fo.�f1����$il.c)v�$f���$��f��t�=z�$�t2H����fo�1��O�$)8�$���=H�$�u�fo�1��
�$���$tics)��$�c�=�$�u�fo��t1����$il.sf���$)��$H���*�f.���H�����i��1Ҿ��8��1Ҿ��'��1Ҿ�������$�������$��~r���$���$���$��~T�J�H�f�$Hi�H��H��
H���ƀƀǀ����ǀ����H��H9�u�H����H�=�$�D�����$H���$�R���f.���H�����1�H���ff.����AWH���AVAUATUSH��dH�%(H��$�1�H��$�H������H�=H��������B�-d�$9-b�$����$�/Ƅ$�H��$��B���H��H���}����H�T$H������H�=������D$(H�=�%�=`��H��/H��$��<���H����H��H�D$H�D$@L����H��I��H��H��0�I�� 	ȁ�A���PA	�1��蔪��D�-y�$XL�5e�$ZE���SA�E�M��Hi�M���I��M9��(L��H�������u�H��$�dH3%(��H�ĸ[]A\A]A^A_����H�5�H���,������������t-L�%��$�5��$Hc�Hi�L�����H��t(Hc�1�H���$Hi�H�<�Ԧ���/����L��谼��H�e�$H�=fD�c���H��H�=�1�蒱������D���Y�,�$2�o���H��$H��������DIc���H��Hi�L��>���Hc=��$��H��Hi�H=��$H������H�t$��Hc=��$Hi�H=��$H��H�����H�D$8Hc��$H��H��H��Hi���Ho�$��H���5p�$H�� �����	�����H��0�	ȉ����������S�H��������t�H�=�H�������tc���|����t�H�=nH�������t6���O����t�H�=UH�����������[��[ÐAW1�AVAUATUSH��8dH�%(H��$(1��ձ��H��H�D$1�H9
��$��H�=g�$H����Hcc�$Hi�h�N�$1��o����%�$����H�5€H�=�޹��H�l$ H�D$H�����fDMi�hH�5�H��J� 1�L�kH��L�cL��L�� L���h���M��M��L��H��`L��@H��H��PH��XL��0PH��PH�5�PH��HPH��8ASL�\$0PH��(ARL�T$8PH��AWP1����H��P��t5H��M��M��L��L�\$H��H��1�H�5.ASL�T$ARAW軨��H�� L���?�������H�T$�H������H���LLc%��$D;%��$H���$����A�t$H�lj5��$Hc�Hi�h���H���$����H�5t1����H�|$軱���fDH��$(dH3%(��H��8[]A\A]A^A_��H�D$1�E1�L�l$ H�J�$�DMi�hH�5�$��H�N�0��H��I�xL�$A���A�@����L�$H��L��H�5�I��`M��@PI��XM��0PI��PM��PI��HM�� L��PI��8I��ASM��(M��L�\$8P1�ARL�T$@����H��@��t&L�\$L�$L��L��H�5�L��1�M��M������B�$H���b���A��H��D;%�$��H�=��$H�5�}H��Ķ��H��H��t�H�¾L������H��t�Lc5��$D;5��$H���$�����A�VH�lj��$Hc�Hi�h���H���$�t���@H�|$�Ư��H�D$H���$1��������$�m���@�r�$��������H��H�M�$����H�5�|H�=O����H�D$H���-L�d$H��L������H��L������H�-���fDHi�hH��H��L��H�H��`H�ZPH��XH�JI��PH��PL�BPH��HPH��@PH��8PH��0PH��(PH�� PH��PH��P1��E��H��`�������H��耦����tQL���D����������Hc=�$;;�$H�(�$�:����SH�lj"�$Hc�Hi�h����H��$�������$�H�=��ƞ���V����|���ff.����USH�����������-��$���$����9��L���4�
�H�u�$D�C��%Q�$�A�$I��H�f�$fD(�fD(���$H�r �D\��=��5��D\��\�I��-�H��X�f��H*��Y��DRfE(�H��h�DY��^��^��DY��EX�fE(��DY��Y��DR�DR�DY��EX��DR�DR�DY��AX��BH������H�H��I9�t1H�� H�H+�i���H�ǃ�f�H��H	��H*��X��T���H��[]�f�Hc�H�=6�$H���
��H�&�$9�}mHc�H�5(�$Hi�hH��H��H�H��X�s�)�H�t7H��H�fDH�BH�� H��hH�B�H�B�H������H�r�H9�u͉��$����f.�Hc�H���T���H���$��~T�s�H�=��$H��H��H��XH�DH�@H�� H��hH�@�H�@�H������H�H�H9�u�H����0�$H�	�$H���H���$H���H���$�t���H��H�=3�[]�>���ff.���S�<A��(H��PdH�%(H��$H1�H�|$`I��H�t$`�H�H���$�H�=��D$`H�D$hH��$�H��$�H��$�H��$H��$0H��$X�D$pH�D$xDŽ$�Ƅ$�HDŽ$�DŽ$�AƄ$�HDŽ$�DŽ$�AƄ$�HDŽ$�DŽ$AƄ$HDŽ$DŽ$(AƄ$8HDŽ$@DŽ$P	Ƅ$`HDŽ$h	DŽ$x
H��$�Ƅ$�HDŽ$�
DŽ$�H��$�Ƅ$�HDŽ$�DŽ$�FH��$�Ƅ$�HDŽ$�DŽ$�
FH��$�Ƅ$HDŽ$
DŽ$FH��$ Ƅ$(HDŽ$0H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0�H�D$8
H�D$@H�D$HH�D$P���1�1�足��H���$1ɾ����1��蒭��A��H���H��H�ƿ�@���A��H��H�n���!���A��H��H�c������H�
e�H���H�5��H�=��a���1ɾ	H�����y���H��$HdH3%(u	H��P[��(������AWM��AVA��AUI��ATI��UL��SH��H�����tz�T�$H��D��L��M��I��H��L��P�@���ZY��uRI�$L�D�A�@�;�$s=A�U��wH�=<���Hc�H�>���H�5���1��]���D1�H��H��[]A\A]A^A_�@Hi�hH��$H�EH�S�$Hi�X���H�� H�C�$H�4�$�f�Hi�hHr�$H�EH��@H��H��H��$H��	H���$��H���$�e���Hi�hH*�$H�EH�� �f�;�$��H��H��$�
���@f/�sH�H,�H���$H���$���fD;��$�lH��H��$�
Y��@f/�r��\��H,�H�N�$H�=E�$?�;r�$�$H��HY�$�
��@f/�s��k����Hi�hHB�$H���$H��@H��	��H���$�K����Hi�hH�$H���$H�� H��	��H���$�������Hi�hH��$H��H��褑��H�E���A��H�}�$L�v�$�����Hi�hH��$H�[�$��0H�N�$���f�Hi�hHr�$H�+�$��H��$���f�H��$�f�����1������ff.�@��1���
���ff.�@�������������f������B����������	����ff.�AWI��AVI��AUI��ATUSHc�H�����L�%:�$I�$H����H�=.��a���I�<$L���H��H��蛪���
L��L��H�5��$A��.���� �H�XHI���X���1ҾH��H��1�����1�H��H��H�L��H�C�6����a���H��t,H����H��L��H��-[H��]A\A]A^A_�4���@H��[]A\A]A^A_Ð苷���֝��I�$� ���ff.�f����:�t1�ÐAVAUATUSH��H����I��D�vHL�%2��&@������H��L���o���H�[PH��tYL��H�����H��H����H��������t@��u�f�H�;�B�A*��Y��,�Hc��6���H�[PH��u�[1�]A\A]A^�f���t_H��H��舎��H�;H��H�������a���H�EH�;�H��ܮ���H������H��L��蠺���,���H���f���H����H����H�5��H�=&�����H�
���H�5V�H�=��j�����H����H�5��H�=
��K����H��H����H�5T�H�=���(������H��H��H�5��dH�%(H�D$1�H��薼��H��tQ�
1�H��肯���P���w*�������۠$H�D$dH3%(u)H���fDH�=<��D�����f�H�=���4������ݤ��ff.�f���USH��H���dH�%(H�D$1����t9H�5���1��v����H�t$dH34%(��H��[]�fDH���x���1������H��tH�PH���t
H�HH���u��H��H���ø��1���H��H���H�}�HI��H��
��H�T$�D$�Ǖ��1��_������ff.���SH���$�	A�H�5�$H�=�����H���>���A�
�L��$H�5�$�(H�=��脹���1��(���A�
�H���H��H�ƿ�ֈ��H�޹H����A�跈��H�
8�1�[H�5����H�=������f.������$�M���ff.�f���H���"fD�
�衱����t%������t�}���I�$��yո����H����2�$H�����f.���AWL�AVI��AUATI��UH��L��S�˹H��8L�L$D�OL�l$ L�D$L��dH�%(H��$(1�H�J��L�L$H�$����L�L$L��H��H�4$L���J�����x
I�H���1��������1��C}��H���R�%���D�K��������Lc�A�D$I�6L��H��L�|$xH�H�����t���v��u…�y�A�D$H�T$ H�}L��L�|$xH��H��H�U��I�L�H�L�H)��(H)������H�A�D$H��I������fDH�t$H�|$H�H�H��$(dH3%(��H��8[]A\A]A^A_����t4H����L�}XA�����׵��1�D���}���H��u�����L�}XA������譵��1�D��胈�����fDHcH�L$ H�}H��H�T$xA�T$H�MH����I�t
�H�t
�H)�L��*H)������H�A�T$H��I����D1������������1�����
���f.���AWI��AVI��AUM��ATE1�U��SH��H��(L�L$L�L$M���L��H��L��萸��H���H�5`�$H�SXH�>Lc�t#��~A�>w`A�H�=��Hc�H�>��A�������w6H�5��Hc�H�>��DH�P(H����*I������`���H��(1�[]A\A]A^A_���
�D�D$H�T$�׭��H�T$LcD$���A�>w�A�H�=X�Hc�H�>��f.�H�ѓ$L�H��([]A\A]A^A_��I�ă��KM����I�T$H����L���H���$���H��f.�I�ă��M��teI�T$H���uȅ��t��������I�ă��M��t5I�|$H������L���I�EI�D$�H���I�����SM��u]E1���������f.��+����������A�>�����A�H�
V�H�T$LcD$Hc�H�>��f.�I��I�T$H����N���I�L$ H����?���H���$H)ʁ��H�����H�I�$��P�A�����|E���}H���$Hc�H��I�EPH��([]A\A]A^A_�f�H���$��P�H���$H�H��p�t
�
��$��uu�Hc�H�1�$tWH���DA��
�NH��$Hc�H���~�������_���H�5L�Hc�H�>��fDH���J���H���$Hc�H��
�0���������H��$��H�B�$H��/H�����H��V���H�ő$�H�=��$H�0H��草��H�5��$H��
H����������!�%����t������D�H�JHDщ��H�L�$H��H)�I�U������m���H�F�$��H���$H�twH�� ���H����H���$Hc�H���0���������H��$��H�B�$H�tBH��0���H��Z���H�!�$H��K���H��@H��<���H��8H��-���H��PH�����@AWAVI��AUATUSH��(dH�%(H��$1��?H�D$�WA���/H�l$H���B���H�5�cH�=d�I��H��LD�蕜��I��H��u"��� H������H��H��u[L��H���{���H��u�L��辕��H�|$L��行��H��$dH3%(��H��([]A\A]A^A_����/H��萙��L��H��HD�H��������{����a���H��H���H���H�{�DQ u�E��tZ��0�F����C�DA tfDH����DA u�荲��H9D$����H�D$�
����L��1��Ƌ��� ������0����C�DA t@H����DA u��5���H�D$��������fD��A�	�	�8L���$H�5�$H�=���Ү��f���H����x��H���+���H�d�$H�H������SH�D�$H�;H��tL觊��H�H��u�-DH��萊��H�H��t��pt�H�@[��������[�f�苀��H��fD��AWAVI��AUI��ATI��H�wUS�˹H��(�WL�$H�l$L�L$H��H��dH�%(H��$1�趫���!�����r��A�ǃ����H�I�6H��L��H�D$hA�EH�H��{����t��t��uŅ�y�A�EI�|$H��H��H��H�D$I�$��H�T�I�T�I)�D�L)���H�A�EH��I�H�D$H�H�$H�H��$dH3<%(D��uH��([]A\A]A^A_�����@��UL��SH��H����s�������;	���H�
��Hc�H�>��DH�i�$H��H�8H��[]H������H���$H�H�H��H��[]�f�H�=1�$��H��$H��$H�L�H�E�H�=��$H�1�H��虛����xH�=�$�Y~��H�EH�ֿ$H��[]��H�=��$脘��H���$H���p�H�=(�����H���$H��H��u�1��fDH�q�$H�
�$H��	Hc����HM�H���$��Hc�H��H�EP����H�)�$1�H���pH�n�$��H��H������H���$1�H���pH�>�$��H��H�����H�!�$��H�H�H�����f�H���$H��1�H�8H��[]H������f�H��1�[]��H��1�H����H�=l�$������xH�=\�$�����H�E�$1��]���fD��SH���	H�=k�H�޺�����u9H�5[�H�=��$�ց��H�s	�H�=�$�ay��H�ڹ$[��H��H�=ƹ$衁��H���$[����H��1���H��tH�@�H��ø������f.���H��1����H��tH���t���H�H���DH�������ff.�@��H�5�$H�H��pH����@��H��tH�8H��t�y���f�H�5���1�����ff.�f���SH��tH��H�8H��t1�裤��H�C81�[�H�5q��1��՞�������[�ff.����:�t1�ÐATUSH��H��tmL�%��D�C,��uQH��H�5���¢��H��H���׍��H��tBH��t=�8H�;w�Ic�L�>��f�1�1Ҿ��2���f�H�[PH��u�[1�]A\�H�5���1�����H�;1�1Ҿ���H�[PH���g�����D�MeH�UX��փ��H�[PH���A������Uc�蒚��H�[PH�������y���H�9�$H���$�Hc腃��H�[PH�����L����MdH�U��^���H�[PH�������%���@H�U�����H�[PH��������������H�=�$H��t H���'���H��$H�����ff.�@��AUA��	H�ȑ$ATH�=��USH��H�5ˆ$�-���H���|H�=��H������H��H����� ��:���H�c�$H����H��1Ҿ1��ْ��H�=B�$�H��H�H�G����I��H����H��H���p������(A�	H�
�$H�����H�5�����#t��I��H���gH�h8H���{y��I��H���oH��H��������upH�5��$H���Q������iH��[]A\A]�fDH�5I��1�蕛��DH�=i�$H��t菖��H����|��H��t�H��H��[]A\A]����H�5��1��M���L������L����l����H�54�1��%���H�=��$H���\���H��[]A\A]����fDH�5���1����L��赒���P����H�5D�1��͚��H�=��$H���K����ȕ���A���H�5Q��蟚���
���f.�H�5���1��}�������H�5���1��]��������H�5��1�1��;�����fD���|������:�t1�ÐATUSH��H��tmL�%��D�C,��uQH��H�5;��"���H��H���7���H��tBH��t=�8H�;w�Ic�L�>��f�1�1Ҿ����f�H�[PH��u�[1�]A\�H�5���1��}���H�;1�1Ҿ�\��H�[PH���g�����D��_�����H�[PH���B�������^����H�[PH�������v���D��]H������~��H�[PH������G���fD��\H�UY��~��H�[PH������������H�9�$H���$�Hc�~��H�[PH������������[H�U��[~��H�[PH���f�������f�H�U�����H�[PH���=��������H�=
�$H��t H���'���H��$H�����ff.�@��UA�H�=
�SH��H�Z�$H�;�$H�5D�$H��,���H���3�H(� �H���M|��H�~�$H����H��1Ҿ1����H�]�$H�H�H����H�=C�$�H������H��H��tVH��H���{�����u�R���H���t��H��H����H��H���S�����uwH�5�$H��萆������H��[]ÐH�5���1��ݖ��H�=��$H��t�ܑ��H��H��[]����fDH�5���1�襖��H���m����H�5���1�腖����H�5���1��m���H�=N�$H���e���H��[]�b���f�H�5q��1��=����[����H�5���1������ff.����gr�����H��H���
1��Y�����$H���ff.���H��XdH�%(H�D$H1�����~=��tp��uH�=��$�UD1�H�T$HdH3%(��H��X�D��uހ��KH��t�H��t�H�5X��1��D����
�DH��$�H�D$1�H�����F�N�D$�F�D$�F�D$�F���D$ ����������D$$�F�D$H��$H�����1�)�9���1����D$0�}���H�|$H���$�|y��H�D$H�����H�|$��������H�5��1��h����~�V	�F
i�k�<��5����H�=)�$�t���H��$���������H�5���1�������m���H�5e��1������M������fD��H��H�
��1�H�5����H�=W�謃��A��L�b}$H�5�}$�(H��H�=8�鞝��ff.���AWI��H�wAVAUI��ATM��U�͹SH��H��8L�D$L�t$ dH�%(H��$(1�H��WL���T$H��H�D$����H�t$L��L��H�D$hD�D$I�H�Hk����t������u�����CI�M��L��H��H��H�D$ I)�L)�I���D�I�T���I�T��H��CH��I�EH�D$I�$H�1�H��$(dH3%(uH��8[]A\A]A^A_�@��������\���ff.����ATM��UL��SH��H��dH�%(H�D$1�膖��������;���H���Hc�H�>��H�{$H�f�H�|$dH3<%(��H��[]A\��d��H��z$H�H����@H�i|$H��H��I�$�R��H��H���x���DH��z$H��H�5qNH�=�荇��H��H����H�¾�H�=B�$荔��H���Հ��H�5.�$H��
H����������!�%����t������D�H�JHDщ�@�H��$H��H)�H�U�����n��1�f�苀��H��t"f�8u�x1�規�����ta���i���H��u��e��H��y$Hc�H����D�=��$�c��H��y$H�H�H�����f�1��y���f��`���8u��q����L���f.�f���L��{$L��z$1�L�
=x$L��w$H�=Gx$H�5 y$H�
�x$H��y$f�I��I��I��A��H��H��H��H��H��H��u�A�	��8L�/y$H�5�x$H�=e�錙��ff.����H�=Mx$1�Hc�'fDH�
!{$H��H��u0H�������t/�ƒ�~�@��t�����@��t������D��SH��w$�f��;w�����H�
�y$Hc�H��H��t	�҃��u������~�������[Ð��AWI��AVI��AUI��ATA�̹UH�oSH��H��H�_H�T$H�|$0L�D$ H��L�L$(dH�%(H��$81�H�|$�6���H��L��H��H���f������I�>��H�=w$�������`v���\$@�Ӈ��A�ƃ���7���t��9��'A�GH�T$Ic�L��H��$�H�HH�D$H�0�f��E��t���!E��u���y��D$���tD9�~�H�{v$HcH��u$H��H��t��D��H�Du$D�t$��HcӋ����V���fDA�GH��$�I�}H��H��H�D$0I�EH�t$��H�T�I�T�I)�D�L)���H�A�GH�|$H��H�H�D$(H�H�D$ H�H��$8dH34%(�D$ulH��H[]A\A]A^A_ËD$���t�Hc��W����1��~����A�EZ�t����H�qu$D�t$HcH��t$H��H�������������q������AWI��AVI��AUI��ATM��U��SH�1�H��L�L$L�L$M���L��L��L���\�����tC����A�}w3A�UHc�H�>��@H�1t$Hc�H��H��t
���H������t�1��/H��u$Hc�H��H��t���f�H��t$H�H�H��H��[]A\A]A^A_�f�H�At$Hc�H��H��t����H��t$H�H�H��uą��,����fDH�qt$Hc�H��H��tMH��L���[]A\A]A^A_��H�Yv$H�Jt$Hcɋ��Hc�H��I�$PH��[]A\A]A^A_�@H�qu$HcI�$H��t$�=����H��H�=o�$�jl��H�5c�$H��
H����������!�%����t������D�H�JHDщ�@�H�(�$H��H)�I�$���������$Ð���=��$t��$��������f.���H�5��@��H��u$H��t$H�P`H��t$H�$t$H�P`H�1r$H��t$H�P`�D��H��1����{��H��H��HE�H���ff.���H����1��~{��1�H��t�� ��H���f.���H����j��H��q$H�H���@��SH��q$H�;�|���H�H��t	�[ø����[�@��H��t$H�Ns$A�	�L�r$H�5�p$H�=B�H�PH��s$H�$q$H�PH�!q$H��s$H�PH��q$H��s$H�PH��p$�8�@鼒��ff.����AWAVI��AUI��ATI��H�wUS�˹H��(�WL�$H�l$L�L$H��H��dH�%(H��$1��6����|����kb��A�ǃ����H�I�6H��L��H�D$hA�EH�H�a`����t��t��uŅ�y�A�EI�|$H��H��H��H�D$I�$��H�T�I�T�I)�D�L)���H�A�EH��I�H�D$H�H�$H�H��$dH3<%(D��uH��([]A\A]A^A_��{��@��UL��SH��H���h��������������uq1����y��H��tbH��� H��tVH�q H��tMH��` H9�tAH��  H+AH��1�H��H)�H��H��H��dH)�H��o$x>H�H��[]�@1�H��[]��H�9q$HcH�EH�{p$H��[]�@H�������I�$��f��������D���&�$�D���g_�����H��H�!�$1�dH�%(H�D$1�H�|$H�5�$�~z���������t�D$9�t)="��H�L$dH3%(��uH�����y������ff.�@��H���H�5��$H�=��$�Pg��H���$���f�`�$��(���J�$H���D��H����1�L�
5�$L�����H�=�$�h����$H��H���$�f.���H��p$H�>o$A�	�L�$o$H�5}p$H�=d�H�P H��o$H�4p$H�P H�	m$H��p$H�P H��l$H�Xo$�@H��l$H�P H�gm$H��l$H�P H��l$H��n$H�P �8阎�����AWAVAUI��ATI��H�wUS�˹H��8H�T$�WH�l$ L�D$H��L�L$H��dH�%(H��$(1������^x��fD�Æ��A�ǃ����Lc�A�EH��L��L�t$xH�HH�D$H�0�3\����t��t��u���y�A�EL�t$xI�|$H��H��H��H�D$ I�$��H�T�I�T�I)�D�L)���H�A�EH�|$H��H�H�D$H�H�D$H�H��$(dH3<%(D��uH��8[]A\A]A^A_��Kw��ff.���SH���s��1҃��t�;u
H�(l$��H�H��[�D����$;�$}�P��$��������f���Hcթ$H����tH���$H�D��ff.�f�����fD��1��f���AWAVAUATUSH��H�$H��H�$H��(L�%W�$dH�%(H��$ 1��B�$M��tU�+�$��~$��L��I�l��H�;H���x��H9�u����$L����$�sx��H��$H�5�>H�\$I�	H�=1���w��H��H���rf.�H�� H�����H���GH�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)��D�D$<#v~�\H����Z��H��t��:H����Z��H��t��|H����Z��H��t�D�-��$D;-�$t?Mc�L�=�$I��A��H��D�-ק$����K�7�%���DI�������s����A�E
�Hc��D$�;e��I��H��tSL���$Mc�I��M��t L��H��L��L�D$�]j��L�D$L����v���D$L�=]�$�O�$�i���f.�H����o��H��$ dH3%(uH��( []A\A]A^A_��t��ff.���H��k$H��i$A�	�L�Di$H�5�j$H�=R�H�P(H�sj$H��g$H�P(H��g$H��i$�@H��g$H�P(H�Ih$H��h$H�P(H�7k$H�hi$H�P(�8�z���f.���AWAVI��AUI��ATI��H�wUS�˹H��(�WL�$H�l$L�L$H��H��dH�%(H��$1������l����S��A�ǃ����H�I�6H��L��H�D$hA�EH�H�!W����t��t��uŅ�y�A�EI�|$H��H��H��H�D$I�$��H�T�I�T�I)�D�L)���H�A�EH��I�H�D$H�H�$H�H��$dH3<%(D��uH��([]A\A]A^A_��Dr��@����fD��SH����h��1҃��t�;u��� f��H�g$H�H�H��[�f.�D����,��,���������=թ,H�Ω,H�9�HE��f���AUATUSH��L�%k�$M��tHfDI�$M�l$H��t$f�H�{H�kH��t��s��H��H����s��H��u�L��M����s��M��u�H��$H��[]A\A]����AWH��H�5`�AVAUATUSH��(dH�%(H�D$1�H�T$H�D$�A���H�����H����w��H�D$H������w��I��H����H�D$1�E1�A�L�8D�eA��?��DA��*��A��[��H��E��u
�!f�A��[tH��D�"E��tA��?tA��*u��H��H�$�r���H�$H��H���(D�"H��A�I�G�}tB��!w��I�GH����D�eI��A��?�b���H��A�I�G�}u�H���$H�\$I�GH�CH���$�DA�H��I�G�w������ �`��I��H�����E<^��<!H�U@��E1�@������tE�<]t:�z-H�z��tX��‰�E������A��EL9�s��H����u�<]� E����A�H�jM�o����D�r@��]tH�z9�v��H���fD���H�|$�2q��H�=V��a��H�D$dH3%(�-H��([]A\A]A^A_�H�U�EA�����L��I�M f��H��H9�u��W���H�|$��p��L���p��M��tL���p��H���v���H���p���i���H�=���_a���d���H�|$�p��L���xp��M���=���L���gp���0���H�=;��&a��H�|$�Lp��L���Dp��L���<p��H���
���H�D$dH3%(u>H��(H��[]A\A]A^A_�
p��H�=1���`��H�|$�o��L����o��H��u�����`m�����(H�5v�$H�=Y�,��Z��@AVAUATUSH��H��t3H��A��E��t~-������uO�;tJH�mH��H��u�1��;���5��u+L�mL���U��L��H��H��I���V����tf.�1�[]A\A]A^�DH�mL������tى�H�u��D��������r����f.�H�m�H��t��;t�H��H��H��������t�[]A\A]A^Ð��AWAVAUATUSH��H�$H��8L�-�$dH�%(H��$(1��:�,H�|$D�xD�=*�,�e���#�,H�D$9��$H�D$�
Hc�H�5��$L�d$ H��H�D�p�@
A)�E9������D�Hc�I�D�H��~H�L$H)�H��;��Hc�H�E�$H��H�D�H�P
L�@fA�����H��D��L��R��1��Z��ZYI�|��Ƅ$ ���L��1��]��A�ǃ�����
:�,��������H�T$�Ǿ`1��L$�Fu���L$�����H�D$������$M��L�d���t����M�L$L�Y�H�=��$�(�1��'��Y��1�D�����$f�Q�$�L���I�D���H��$(dH34%(��H��8[]A\A]A^A_�@D�������H�D$I�D��8�,�6�,D�xD�='�,E9��@�����,��E1�;��$��,����,����������c���f9P��D��1���E��L����X��I�|��Ƅ$ �S���L�=;�$M��u�B����M�M���4���I�7L��������t�H���������*���D��H��$�
1��s��D���D$����|$�������A��D�=%�,�9����L��H�DzL��1����x�����f�H���������$M��L�������h��ff.�f�9�|qD�5�$A��dIc�L�E�$H��L��@H�� A��tCA�����f�p
fD�PD�VA9�H�8DO҃�H�HA��fD�@fD�PfD�H9�}�D�̛$����$�AV�	H�5��AUATUSH��dH�%(H��$1�H��H���i������H�=��L�-�$�t��I��H��u�1f�H�XE1�1�1�H��H���k����tFL���u��H��u�L���x��H����c��H��$dH3%(��H��[]A\A]A^�f���Vn��I��H��t�H��I��L�%�1������{V��1�E1�E1�L��1�L���v���Hc�$H��M�t������$���O����W���H�T$@��H����\P���N�����f��f���H��H�q^$H��Z$H�5C���A�A�H�
��H�P0H�%]$H�=��H�o\$H�P0H��Z$�lH�p0H�Z$�a�@���A�A�H�
Q��p�aH�=J����E1�E1��H�
?�1�H���v����E1�E1�H�
-�1�H���Z�������H�Z$H�=���,H��m$H�����H�x0H���$H����@H�H��H9�u��8H�5;\$L�Z$H�=��A�	�r{��H�
G&H��H���H�5)�H�=���Md��ff.�f����F�$��~RU�P�SH�V�$H�CH�,�H��f.�H�;H���g��H�C�H9�u����$H��[]�fD��$�D��AWAVAUI��ATI��H�wUS�˹H��8H�T$�WH�l$ L�D$H��L�L$H��dH�%(H��$(1��Sx���I��fD�Cc��A�ǃ����Lc�A�EH��L��L�t$xH�HH�D$H�0�sH����t��t��u���y����$L�t$xI�|$H��H����H�l$��$��,A�EH��H�D$ I�$��H�T�I�T�I)�D�L)���H�A�EH�|$H��H�H�D$H�H�D$H�H��$(dH3<%(D��uH��8[]A\A]A^A_��oc��ff.�@��SH����`�����tF�<tGv%<tQ<u5H�>X$H�Gk$H�[�f.�<uH�X$H�[�@1�[�@H�X$H�[�1�ך,�H��W$��H��H�[�@��Hc�,D���,H��H��H���$H��HD�@A)�A9�|lUH���SH��H�v�H��D�H
�xL�E�f���t5QAQD�ϺH��H�����1��Q��XZ�D�H��1�[]��H��Q��f�������f.�U1�SH��dH�%(H��$1��=O�,�t{�C�,H��P�7�,�2D1��H���AT�����ut�w=���
�,�8�Qt;��,�H���Q���Ń��u��z`���-�,�Ѓ��E‰ٝ,�`�����H��$dH3%(��u#H��[]�����A~�����,�P���Aa�����A�	��8L��U$H�5nX$H�=˹�w��f���AWI��AVI��AUATI��U�͹SH�_H��H��8L�D$L�l$ L�L$H�T$�WL��H��dH�%(H��$(1��t����E���_��A�vH����,�����Ѓ��E�H��L��М,�D����uKI�?vEA�\$X���,A�����9�~/��+_������B��D�=��,���,9��fD����A�Dž��$�f�,Ic�L��L��H��$�H�H�D$xA�FH�HH�D$H�0�D����t��t��u���y���,�H�=-�,�(O����,A���tzH��$�I�|$L��H�H��H�D$xA�FH��H�D$ I�$��I�T�I�T�I)�D�L)���H�A�FH�|$H��H�H�D$H�H�D$H�H��$(dH3<%(D��u0H��8[]A\A]A^A_�f.��N�,�D�,A��������^�����ATUL��SH��H��dH�%(H��$�1��3n��Lc�A���t:H��H�5�,���Z�����t!�;w�H�N�Hc�H�>���1�H��$�dH3<%(�-H�Ġ[]A\�H�=��,��I��H�=S$H�H�H���H�)S$L� �@H�5��,H��
H����������!�%����t������D�H�JHDщ��H�G�,H��H)�H�U�Y����D�D$(�1��H�
n�H�=�,�<L��H�5�,H��
H����������!�%����t������D�H�JHDщ��H���,H��H)�H�U����H�=��,�|?��H�=R$H�H������%]��D��H���,1�1���?�����H��H�=յ�b����uH���H���wB�����H��H�=1�,�`��H�=%�,�s��H��,H�����H��H�=u��b����uH���H���'R�����1��f���1��f���H���A����u1�H����1���x��1�H���f���S�VU��H��H��tH��[�f�H�5	��1���g��H��[������S�����H��HH��t SH��H���6��HǃH[���ff.�@��H��t>H��uH�1��fDSH��H��H�5���1��6g��H�1�[�H�1��ff.���ATI��UH��SH���jg��Hǃ�tH��tw!H���H�{H��L����P��[1�]A\�@H�5f��1��f��[�]A\�ff.���UH���SH��H��H���$_����u H�vH��H���J����u
H��[]�H���[]�@��H��HH�@0H�1��ff.���H��H�@:H�1��ff.���AV��I��AUATI��I���UH��SH�� dH�%(H��$1�I��H��$L���H�I��HH�$H��H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8 H�D$@H�D$HH�P0H�T$PI���H�T$X�P8H�T$`�H9�P8�F[��I��H�~8��1�I�Uh��H��H��H�J��N8H9�w��F9H�ZL)�H�H9]sH���`��I�$H��t@H�]I�<$H��L����N��1�H��$dH3<%(u0H�� []A\A]A^�f�I�Uh�H�5����d�����X��ff.�f���H��H�@<H�1��ff.���H��H�@;H�1��ff.�����`H�1������dH�1����H��H�H�z0tHc�lH�1��ff.����H��H�@=H�1��ff.���H��H�~=t��d��hH��P��i����
�f.���1��f�����h��d1��ff.�f���U1�SH����X��tKH��HH���B��YuDH��H�H H��H�Jk����uT�Q����\��dH����[]�fDH��H��\�B��x<��lt#
 �B�f��H����[]�f�
@�B�fD
��B�#Q����`�b������SH��PH���B��Yt��\��x3��ltR
 �BH��P�nj����u*��\����[�fD
@�BH��P�Dj����tָ[�f�
��B�fD��H��HH9p0t/��\�
��y"H��H����g��H��t1�H����1��D�����1��f���H��HH9p0tH�p01�����X�1��fD��H��PH��HH�R0H�P01����H���
�E��f.���1��f���H��H@�p:1��ff.���H��PH��H�R:�P:1��@��H���
�E��f.���1��f���H��H@�p;1��ff.���H��PH��H�R;�P;1��@��H��tH����l�l��H�������
�f���1��f�����l1������p��l1��ff.�f���H��t�
�H��H��H�x=�p��H�����@��1��f���H��H@�p=1��ff.���H��PH��H�R=�P=1��@����X��\��tK��l��x1���tJ�f���tH1���u�����u�LJl1��@������������u��� 1���\�@��AVH�5�H��AUATUSH����b��H����I��L�-3��H�H�h L��`H��0H���BH9��QH����M��H�����H��B����_IcD�H�A(L�>��@�ABH�q L���hi����t|=�����C‰�H���O��H��t'H�H��0H9�tH9h tH��M���A��H�[PH���3���[1�]A\A]A^��AH�q L���`=����u�@H�H�x u�H�5���1��]����s�����AH�q L���@3���C����ABH�q L���He���+����AH�q L���0i������H�P H�H�@((���@H�x((�����H�@((����H��@���@1�H�5����\��H�H�x �����,���f.��[S������fD��SH�5��H��H����`��H��tH���,h��1�[��H�߾�3H���[�ff.����SH��H��H����2����t1�[�@H�=��,��[����t��H��C‰���G��1�[��H��tSH���S��H��1�[H�5��`l��H�5Q��1���[��ff.�f���H��tH�8H��t�@H�5Y��1��[��D��H��tH�8H��t�k��f�H��H�5U��1��i[�������H���ff.�@��H���,�@��H���,�@��H��,H�=ޏ,�ff.�f���H��H���,H��PH���fD��ATE1�A�B�U��1�SH��H�=��,H�-m�,�(Q��H��H�n�,H�	H�q�,��F��H�!F$L�%bD$H�����H�5�����L��A���2��H��,H�����@H�5�,H���i��H��,H���H��,H��tH�B8H�m���H�=��,H���,H�8���H���,H�����H�ێ,H�<H�5�,� C��Hc�L��A�H��H�=Z��U`��H��H����1�H�=��,H�kH@���H�=��,t��H�=ߎ,t�� H�=��,t��@H�=��,t��H�=b�,t��H�=e�,t�� H�=��,t��H�=h�,t��H�=0�,t��H�=;�,t@�πH�=5�,t��H�==�,t��Hc��L��H��H���"k���C�x�_��H��H���k��H�5u�,�H�=��,�W��H��H����j��H�=Z�,H��t�(6��H��H����j��H��H�5K�,[]A\�
H��f.�H�5����_X��H�=�,H�5��&���[�]1�A\�:X��f.�H�=q��M��H�͌,H�����H�5}���X��뢐H�5�����H��H�=��,�W��H�=��,H�����ff.����H�=��,�@��AWAVAUATUSH��H�$H������dH�%(H��$�1�H��I��L��$pH��L��$�L��$P
H���H���L���D$�H���L��L�4$�H���L��Ƅ$��H�H��Ƅ$�Ƅ$h
BL��$pL��$���&��H�s�L����&��H���H�sL����&��H����L���&��I�I�7I��E1�1�L����c����u4H���1����H��$�dH3%(u.H���[]A\A]A^A_�D��H�5���1��SV����lJ��ff.����AUATUSH��H�$H�����dH�%(H��$�1�H��I��L��$pH��H��H��$�H��$P
�H�L�ǹ��D$�H�H����L�$�H�H�׹�H��$p�H�I�1I�yH��$�H��Ƅ$�Ƅ$�Ƅ$h
B�3H��A�ą�uAH�D$ L��$	H�H�EH��$�H�H�EI��rvKA�H��$p
H�H���H���S0��D��H��$�dH3%(u2H���[]A\A]��H��$	H�}L����>��L�����I��fD��SH���R��H�{H�CH9�t�aK��H��[�XK�����UH��H��H�5�SH��H����X��H��t	��� u#H��H���8,����t+H��1�[]�f.�H���XC��H��H���
,����u�H�{1��M'��H�=��,���OB��H��1�[]�fD��H��t�C��f��ff.�@��U��H���SH���8��H��H��tLHǃ�H�@H�C���@tH��H��[]�fDH��H���EP����t�H��1��B����DH�5٣�1��}S���ff.���SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�AY����u-H�և,H��H��PXH��$dH3%(uH�� [Ð1����G�����1��f���H��tH�H��t#�F<�H�5a��1��R��DH�5���1��R��D��H��t�fDH�5���1��mR��ff.�f���AVI��AUATUSH�� dH�%(H�D$1��%��H����H��PxI��H��P H��H���21�I���f.�H��HH���L���H9�P8��G��H��HH��hH��`H��xH��pL�@?L�HHAPL�@>APL�@@�N��H��HZH��H���YL��H�p0D�H9D�@8�-L������H��L��A�VXH��tFL��A�T$8H��H��ttH���M���1��8��H��H���:���H�5ɢ�1��'Q���
�HH��HH���H��X�P�p<�#��H��L��1���L��L��A�T$8H��H��u�L��A�T$1�H�L$dH3%(u9H�� []A\A]A^�H�5	��1��P��H��1��?���0����
��D��f.����ff.���1��f���AVH�5��H��AUATUSH���T��H���II��A��cfDH�5ѡ�1��P��H�H�x �7H��t*H�H��0H9�tH9h tH��M���1A��fDH�[PH����H�H�h L��`H��0H��tqH9���H���?��H��tËH���ti���`���H�@(H�p L���@� �����S���=��}��ACƉ�H���\@���@����H�P H�H�@((��H�@(H�p L���@B�P^���fDH�x((�U���H�@((�H���[1�]A\A]A^�DH��@�����@H�5ٜ�1��N����]����KE������fD��SH�5�H��H����R��H��tH���,G��1�[��H�߾�#:���[�ff.����SH��H��H����$����t1�[�@H�=��,�#����t��H��C‰���9��1�[��H��tSH����\��H��1�[H�5U�P^��H�5���1���M��ff.�f���H��tH�8H��t�@H�5ɟ�1��M��D��H��tH�8H��t�9H��f�H��H�5ş�1��YM�������H���ff.�@��H���,�@��H���,�@��H���,H�=��,�ff.�f���H��H�a�,H��PH���fD��ATE1���U�1�H�-.�,SH��H�=;�,�C��H��H�$�,H�H�'�,��Q��H�8$L�%x4$H�����H�5����L��A���$��H�с,H�����@H�5��,H���Z��H���,H����H���,H��tH�B8H�s���H�=��,H���,H�����H���,H�����H���,H��H��,�5��Hc�L��A�H��H�=��KR��H��H����1�H�=U�,H�kH@���H�=:�,t��H�=��,t�� H�=M�,t��@H�=p�,t��H�=�,t��H�=�,t�� H�=6�,t��H�=�,t��H�=�,t��H�=�,t@�πH�=�,t��H�=�,t��Hc��>��H��H���]���C�x�Q��H��H���]��H�5+�,�H�=7�,�zI��H��H����\��H�=�,H��t�(��H��H����\��H��H�5�,[]A\�:��H�5���_J��H�=�,H�5���0���[�]1�A\�:J��f.�H�=��?��H��,H�����H�5����J��뢐H�5q�����H��H�=Q,�%��H�=E,H������ff.����H�=U,�@��AV��I���AUATUSH��H��`
dH�%(H��$X
1�H��L��$pL��$�H���H���L���D$�H���L��L�,$�H�H��Ƅ$�Ƅ$�L��$p�"��H���H�sL�����H����L�����I�~I�6I��E1�1�L���V���Å�u.H���#����H��$X
dH3%(u(H��`
[]A\A]A^Ð��H�5Ϙ�1��H����<��@��AUI����ATI��USH��h
dH�%(H��$X
1�H��H��$pH��$�H���H�H����H�4$�H�H�׹�I�0�H�I�xH��$pH���D$Ƅ$�Ƅ$��:���Ņ�u2H�D$ L��$�H�I�$I��svJ�H��$	H�I��$�H����"����H��$X
dH3%(u4H��h
[]A\A]��H��$�I�|$L���1��M��$���;��@��SH���L��H��PH��t	��[@tH�{H�CH9�t��=��H��[��=���A����f���UH��H��H�5b�SH��H���AK��H��t	��[ u#H��H�������t+H��1�[]�f.�H����%��H��H���}����u�H�{1����H�=&|,���/��H��1�[]�fD��H��t�%��f��ff.�@��ATI��hUH���S�+��H��H����H��t2��X@H�@H��@H�CHǃ`H��[]A\�fD�;,��H��PH��tTHǃ`H�CH�C��[@u�L��H���X����t�H��1���$����H�5a��1��E���H��1��A<���~���ff.����SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�� ����u-H��z,H��H��PXH��$dH3%(uH�� [Ð1����79�����ATI��1�USH���6��H��t^H�K0�sH�SH��L�C8H���!����t'H�5���1���D��[H��]A\��#���H��L���u@����x�[]A\�@�H�5��1��D��H��[]A\�F��f���AVAUI��ATI��USH�.L�vH��PH��UXH��t5I��PH��H���*��H��H���R��H��[]A\A]A^�HF���M��t��]L��A\A]A^��?���H�=8��T9��I��I�D$H��u�[H�5G�]�A\1�A]A^�C��ff.����1��f���H��tH�H��t#�F<�H�5��1��mC��DH�5A��1��UC��D��H��t�fDH�5Q��1��-C��ff.�f���AT�I��1�USH�� dH�%(H�D$1��E<��H����H��H���H��L��H�D$H�5\���H�$A��$�H��L��H�5�������H�߾���H�\$H��u.�7@1�H��S`L��H��H����P��H���!��1�H����P��H��SH��u�L��A�T$1�H�L$dH3%(uH�� []A\�f.��
���D6��@���ff.���1��f���S�6��H��H��tH��[�f�H�51��1���A��H��[������C�����USH��H�7HLJ�sH��sw2H��H��L��H��H���H��H���s+��H���H��1�[]�H�5�w�1��MA��H���[]��UH���SH��H��H���4����u H�vH��H�������u
H��[]�H���[]�@��H��P�@@H�1��ff.����H��PH�@DH�1��f.���H��1�H�=3�1��<��1�H��v,H��H���S)����H��H�=��:����u1�H���:��D��*��1�H���:�����H��H�=Qv,��/��H�=Ev,� K��H�5v,H�����H��H�=���,:����uH���H��������1��f���SH��H�0�?��H�C0[�D��1��f���1��f���AVH�5׀H��AUATUSH���C��H����I��L�%���H�H�h L��`H��0H����H9���H���.��H�����H��r���,�/��Ic�L�>��H�@(H�p L���@B��������=��=���C‰�H����/��H��t$H�H��0H9�tH9h tH��M���A��H�[PH���*���[1�]A\A]A^��H�P H�H�@((�+���@H�x((����H�@((����H�@(H�p L���@A�xP���C���H�@(H�p L���@F�G���#���H�@(H�p L���@A��=������H�@(H�p L���@F�H�����H�@(H�p L���@A�9������H�@(H�p L���@A�4�����H�@(H�p L���@A�A�����H�@(H�p L���@A�XH���c���H�@(H�p L���@A�8 ���C���H�@(H�p L���@A��N���#���H�@(H�p L���@F�x&������H�@(H�p L���@A�H�����H�@(H�p L���@A�5������H�@(H�p L���@A�D�����H�@(H�p L���@A�M�����H�@(H�p L���@A�3���c���H�@(H�p L���@F�
���C���H�@(H�p L���@A�(?���#���H�@(H�p L���@F�-������H�@(H�p L���@A�8�����H�@(H�p L���@F�F������H�@(H�p L���@A�D�����H�@(H�p L���@A�������H�@(H�p L���@A�h6���c���H�@(H�p L���@A�x���C���H�@(H�p L���@A�hC���#���H�@(H�p L���@A�X2������H�@(H�p L���@F�(�����H�@(H�p L���@A�x������H�@(H�p L���@F� �����H�@(H�p L���@A�(�����H�@(H�p L���@F�
���c���H�@(H�p L���@A�89���C���H�@(H�p L���@F�hD���#���H�@(H�p L���@A�������H�@(H�p L���@F�!�����H�@(H�p L���@A�������H�@(H�p L���@F�h;�����H�@(H�p L���@A��>�����H�@(H�p L���@F�HJ���c���H�@(H�p L���@A�h���C���H�@(H�p L���@F�h���#���H�@(H�p L���@C����������,vNH�5��1���8���H�H�x �����H�5���1��8�������DH��@�����@�/��H�[PH���������f���SH�5�yH��H���<��H��tH����*��1�[��H�߾��#���[�ff.����SH��H��H�������t1�[�@H�=)n,�&����t��H��C‰��#��1�[��H��tSH���6��H��1�[H�5��H��H�5	��1��7��ff.�f���H��tH�8H��t�@H�5	��1��U7��D��H��tH�8H��t����f�H��H�5���1��7�������H���ff.�@��H�%m,�@��H�%m,�@��H�m,H�=m,�ff.�f���H��H��l,H��PH���fD��H�=um,�@��AT1ɺ�UH�-�l,SH��H�=�l,H��PdH�%(H�D$H1���,��H��H��l,H�/H��l,�"#��H�C$L�%<!$H�����H�5�����L��A���$��H�5l,H�����@H�5l,H���N��H�l,H����H��k,H��tH�B8H�W���H�=l,H�l,H����H�l,H�����H��k,H��H�Ol,���Hc�L��A�H��H�=����;��H��H���c1�H�=�k,H�kH@���H�=�k,t��H�=�k,t�� H�=�k,t��@H�=�k,t��H�=|k,t��H�=k,t�� H�=�k,t��H�=�k,t��H�=Jk,t��H�=Uk,t@�πH�=Ok,t��H�=Wk,t��Hc��G(��H��H���F���C�x�Q;��H��H���F��H�5�j,�H�=�j,�3��H��H���F��H�=tj,H��t����H��H���gF��H��H�5ej,�#����C�H�=�j,H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8H�D$@���1�H��A�H�=���	H���5��H��H���s,��H�D$HdH3%(��H��P[]A\�fDH�5a���O3��H�=wi,�����H�5Ҋ�1��.3���@H�=Y��(��H�Ei,H���>���H�5]���2���f�H�5���1���2���U�����&����H��H�=�h,��"��H�=�h,H�����ff.����H�=�h,�@��AU��I���ATI��USH��dH�%(H��$�1�H��H��$pH���H�H�﹎H�,$�H�H���D$Ƅ$��'��H��I�t$����I�}I�uI��E1�1�L���?���Ņ�u/H���
����H��$�dH3%(u)H��[]A\A]�@��H�5��1��1�����%��ff.����ATI����I��USH���I�0dH�%(H��$�1�H��H��$pH���H�H�׹�H�$�H�I�xH���D$Ƅ$���#���Ņ�uH�D$ H�I�$H��$�H�I�D$H���-����H��$�dH34%(uH���[]A\��%�����SH���s%��H�{0H��t�C;@t$H�{H�CH9�t�R'��H��[�I'��f�������f���UH��H��H�5�qSH��H���4��H��t�@; uH��H�������t&H��1�[]�DH���@6��H��H�������u�H�{1��5��H�=^f,���-��H��1�[]�ff.���H��t��5��f��ff.�@��ATI��PUH���S�s��H��H��tkH��t&�H8@H�@H�h H�CH�CHH��[]A\���=��H�C0H��tGH�CH�CHH�C�C;@u�L��H���1!����t�H��1��S5��붐H�5A��1��=/���H��1���%���ff.�@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�Q����u-H�e,H��H��PXH��$dH3%(uH�� [Ð1�����"�����ATI��USH��H�w0L��A�T$XH��t1H�{0H��H���2/���{<t,L��H����<��[H��]A\����D�C<[]A\���C<�����C@����H���(���D��ATI��1�UH��S�;��H��t6H�UH�uH��H���s+����t?�H�5�1���-��H��[]A\��3���H�5��1��-��[H��]A\�1����CD`�L��H���n)���9��[]H��A\��'��ff.�f���H���S
��1�H���ff.����H��t�fDH�5���1��=-��ff.�f���U�H��1�SH�����H��tJH��H��H�5e���H���H��H��H�5������H�߾�\��H��UH��1�[]�DH���
[]�ff.����H��tWATUH��H�=҃SH���"��I��H�EH��tH�=���8��I��$�H�}���H��t+�C<�K.[]A\�H�5��1��=,��D[H�5�]�1�A\�!,������ff.���1��f���H�����1�H���X������H��H�=ۅ�%����uH���H�=�b,����H�=�b,�6��H��b,H������H��1�H�=��1��h'��1�H�Wb,H��H���S����H�G �@P�1��ff.����ff.���1��f���H���#	����u1�H����1��9��1�H���f���H�W ���B�t	�BpH�1����H�G H�@tH�1��ff.�f���H�W ���B@t�BPH�1��@��1��f���1��f���1��f���S�_0�G0�؃�u�O4��u&[�DH�5Q��1����"*���������tډ�H�5x��1��*���[�ff.�f����g4����1��f���H�G �@%�����
����H�G(H�W H��Rt�Pt1�����H�G @�pt1���H�W(H�G H��Rt�Pt1�����H���S���1�H���"�����H��H�=1��l#����uH���H�=`,����H�=
`,�4��H��_,H������H��1�H�=߃1���$��1�H��_,H��H���'����1��f����ff.���1��f���H�������u1�H����1����1�H���f���H�W ���Bt	�BrH�1����H�O ���A��ATI��UH��SH�>H��H�yytH9:s�G#��H�EH����H�C H�xyI�<$H�S H�EH�JyH�rzH��s��uaH��uD1�[]A\�DH�RzH�xH��H�H�T�H�T�H)�H�H)�H���H���D���Rz���t��T�f�T�륐�Rz��T��T�땐H�5|t�1��]'����y�����H�G H�@tH�1��ff.�f���H�W ���Bt�BXH�1��@��H�W ���Bt�BTH�1��@��H�W ���Bt1��zx��H��H�1��f.���1��f���1��f���1��f���USH���_0�G0�݁���ug��u�O4��u/H����[]���1��������H�5���5&����tщ�H�5���1��&���H����[]�fD1�H�5�������%����u�����������g4����1��f���1��f���H�G(H�W H��Rt�Pt1�����H�G @�pt1�Ð��H�W(H�G H��Rt�Pt1�����1��f���H�G(H�W H��Rx�Px1�����H�G @�px1�Ð��H�W(H�G H��Rx�Px1�����H��1�H�=�1��� ��1�H��[,H��H�������H��H�=������uH���H��������H��H�=�[,�4��H�=�[,�/��H�}[,H�����H��H�=�������uH���H��������1��f���SH��H� �_��H�C [�D��1��f���1��f���S�& ��H��H��tH��[�f�H�5��1���#��H��[�����������H�71��fD��UH�oSH��H��H���g�����u#H�H��H���a����u
H��[]�fDH���[]�@��H�G Hc@(H�1��ff.���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���H�1��f���UH�=DH��SH��H���2�������u(H�}H�GH�PH����H�5���Hc�H�>��H�5�1��"��H��1�[]�@H�)$��CH��������ԐH�	$��FH�������봐H��
$��FH������딐H��
$��FH�������q���fDH��
$��FH����[���I���fDH�y
$��FH�Pp�6���$����H�Y
$��FH�P`��������H�9
$��FH�PP�������H�
$��FH�P@���������H��$��FH�P0�������H��$��FH�P �������H��$��AH�P�v���d����H��$��AH�P�V���D����H�y$��AH�P�6���$����H�Y$��AH�P��������H�9$��AH�P�������H�$��AH�P���������H��$��B������DH�5�|�1����������UH�=d|H��SH��H���2��	������u(H�}H�GH�PH���H�58}��Hc�H�>��H�5�|�1��=��H��1�[]�@H��
$��BH�P�����@H��
$��������H��
$��BH�P�����@H�a
$��BH�P����t����H�A
$��BH�P����T����H�!
$��H�P�f���4����H�
$��BH�P�F�������H�5�{�1��=��������UA��	H�=�zSH��H�-�$H�5
$H���n ��H��t��H��H��������tH��[]�f�H��	$H�5B$H��A�	��?��H��H����/��A��	H�-�$H�5�$H�=izH������H��H��t���H���b�����z���H�5�$H�$H��A�	����H��H��H��[]�h/�����AWI��M��AVI��AUA��ATUSH��H��(D�gL�$L��dH�%(H��$1�E���dI�6A�����~�E�\$�fDI�L�H9�tMrk�����M��tI�f.�H��$dH3%(�,H��([]A\A]A^A_��L9���H�HH9���H���D�����A��t����E�D$A��L�\$1���Ic�L���H�H�E�H�D$A9��E����D9�I�.�H��H��L��L�d��E���I��I�$�����H�BH9�HG�H�U�H�D���$`��xH�E�H�D�9�$`���H������H�D$H��H�{L��H��H���I�T�H�T�H)��H)�����H�H�$H��tH�1�M�������I����A�l$���s���L�\$1���Hc�L���H�H�E�H�D$L��H��I�r�����Mc�I�.J�D�I��H�D$H�D���$`���$����,���A�D$A��uD9������E1��v����1��\�����{��I��E�������I�$H�U�H�D�롃�u
I�6�A���E1�A�I�6�$����h�����H��1�H�=+x1����1�H�Q,H��H���s����H��H�=�w�,����uH���H��������H��H�=�P,�|�H�=�P,�$��H��P,H�����H��H�=�w������uH���H���w����1��f����ff.���1��f���1��f���H�71��fD��UH��SH��H��H���4����u H��H��H��������u
H��[]�H���[]�@��H��H�1��ff.�@��H��H�1��ff.�@��H�� H�1��ff.�@��H��(H�1��ff.�@��H��0H�1��ff.�@��H��8H�1��ff.�@��H��@H�1��ff.�@��H��HH�1��ff.�@��H��PH�1��ff.�@��H��XH�1��ff.�@��H��`H�1��ff.�@��H��hH�1��ff.�@��ATI��UH��SH��pH��H�>H�<�tH9:s�`��H�EH��t?H��pH�<�I�<$H�}H��pH��pH�����1�[]A\�fDH�5�c�1��������ff.���H��xH�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��H���H�1��f.�D��1��f���H��tH�H��t#�F<�H�5t�1����DH�59t�1�����D��H��t�fDH�5It�1����ff.�f���AW1ҾAVAUATUSH��(H�|$�dH�%(H�D$1��D$������H�t$1�A�����I��H��H�����wDI��D��ILJH��ILJ�H��)����1����H�L���Q�H��L�����H��D��L��������H��D��L���R������H�|$L���������H�mH��t^H�]�����H���+��1�Lc��
��I��H����L��H���������2���H�5�s�1��_��L������H�mH��u�D���V%��L��������1�����H�T$dH3%(��H��([]A\A]A^A_��L���p���F���H�5�r�1�����L���}��D����$���
�H�5r�1����D����$����w���H�5s������\���H�56s�1��{��������?������ff.�����ff.���1��f���AVH�5�TH��AUATUSH���b��H����I��L�%�t�H�H�h L��`H��0H����H9���H���9��H��t{�H�3������Ic�L�>��f.��FH�F H�F(I��H�fDH�H�x ��H��t$H�H��0H9�tH9h tH��M����A��H�[PH���D���[1�]A\A]A^ÐH�P H�H�@((�K���@H�x((�<���H�@((�/���A����BH�F(L���FH�v �:����DA����H�F(L���FH�v ������DA�����H�F(L���FH�v �:���DA�����H�F(L���FAH�v �j��eDA������FH�V(L��H�� �	���9f�A�����RH�F(L���FAH�v ���DA����"H�F(L���FAH�v �����DA�����H�F(L���FAH�v �z"���DA�����H�F(L���FAH�v �Z��uDA�����H�F(L���FAH�v �����EDA�����bH�F(L���FAH�v �����DA���@�2H�F(L���FAH�v ������DA��� �H�F(L���FAH�v �����DA�����H�F(L���FAH�v ����DA�����H�F(L���FAH�v ����X�A���tvH�F(L���FAH�v ���,@A���tNH�F(L���FAH�v �v��fD���X���=������C��@�B���wh��F��5����H�5�\�1��������H������������H�[PH���f�������f�H�5!n�1��M�����H�3���SH�5�OH��H���i��H��tH�����1�[��H�߾�����[�ff.����SH��H��H���m���t1�[�@H�=�D,�����t��H��C‰��k���1�[��H��tSH����H��1�[H�5%����H�5ym�1��m
��ff.�f���H��tH�8H��t�@H�5ym�1��5
��D��H��tH�8H��t���f�H��H�5mm�1���������H���ff.�@��H��C,�@��H��C,�@��H��C,H�=�C,�ff.�f���H��H��C,H��PH���fD��AT1Ҿ1�UL�%yC,SH��H�=�C,����H��H�oC,H�H�rC,�9���H�-�#H�s�#H����H�5���D�EH���,�H�C,H�����@H�5C,L����H��B,H����H��B,H��tH�B8H����H�=C,H�C,H�j���H��B,H�����H��B,H��H�7C,���HcMH��A�H��H�=gi���H��H����1�H�=�B,L�cH@���H�=�B,t��@H�=�B,t��H�=�B,t��H�=[B,t��H�=�B,t�� H�=fB,t�� H�=�B,t��H�=iB,t��H�=1B,t��H�=<B,t@�πH�=6B,t��H�=>B,t��Hc��N���H��H�������C�x�X��H��H�����H�5vA,�H�=�A,�%	��H��H�����H�=[A,H��t���H��H���n��H��H�5LA,[]A\���H�5�j��
��H�=A,H�5 k�,���[�]1�A\��	��f�H�=�j�D���H��@,H�����H�5�j��	��몐H�5	k����H��H�=�@,�|��H�=�@,H������ff.����H�=�@,�@��U��H���SH��dH�%(H��$x1�H��H���H�H���D$���H�}H�uH��I��E1�1��%���Ņ�u/H������H��$xdH3%(u)H�Ĉ[]����H�5�X�1���������@��ATI����I��USH��I�0dH�%(H��$x1�H��H��H���H�I�x�D$�����Ņ�uH�D$ H�I�$H���l���H��$xdH3%(uH�Ā[]A\��F���fD��SH�����H�{H�CH9�t���H��[������UH��H��H�52ISH��H�����H��t	��� u#H��H���x����t+H��1�[]�f.�H�����H��H���M����u�H�{1����H�=�>,�����H��1�[]�fD��H��t����f��ff.�@��U��H���SH�����H��H��tLHǃ�H�@H�C���@tH��H��[]�fDH��H�������t�H��1��G�����DH�5Qh�1�����ff.���SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�Q�����u-H�v=,H��H��PXH��$dH3%(uH�� [Ð1����W��������������������w�����H��t1�H�5�����Y��f�H�5�g�1�����ff.�f���H��t'��SH��tH��[��D����H��[���f�H�5�g�1��}��ff.�f���ATA��UH��SH��H��tJH���t`D��H�������tA��uH��[]A\�H���h��H9�t�D��H���X���fDH�=�g�t���H��H��t�H���u�f�H�=�g�4��H����ff.���S�hHc߿�i�H��tH�PH�XH�H�P�@c[�ff.����'������H��t����f��f.�D��H��t��f��ff.�@���ff.���US��H��H�=�;,���H��;,H��t\H�Dž�u=�Px1�H�����^�����H��S8H��u�H��SH����[]���PH����[��]�f.�1�H����[]�D��H�M�#��f���ATI��H�=P;,US�	��H�:;,H��tEM��t@H��1�PxH���H�xL���������H��S8H��u�H��S��[]A\�fD1�[��]A\�ff.�@��H��XdH�%(H�D$H1�H��:,H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8H�D$@H��tH�T$HdH3%(uBH��X��H��A�	H��H�5����H�(:,H��t��@��e���D��SH��9,H��tH��[�f.�H�=�d���H��H��9,H��t�H�=�d�I��H���H��[�ff.�f����=�9,t#H����9,�`	���K��H�����f��ff.�@��H��t1�H�5.������f�H�5ad�1��m��ff.�f���H�=9,�	����H��t'��SH��tH��[��D�[	��H��[�r�f�H�5Ad�1��
��ff.�f���ATU��SH��H��t.������t��uH��[]A\��H�����H��[]A\��[��I��H��t��H�������uL���H�5�c�1�����1�L���n��ff.����H��H�=)8,1�����1�H�����H��8H��H�t$dH�%(H�L$(1�H��t3H�T$H�t$H�D$H�T$�WXH�L$(dH3%(uH��8�H�5yc����1�����ff.���S�pHc߿�i�H��t�H�Xf��^H�PH�H�P[���H��t�"���f��f.�D���:�t1�ÐATUSH��H��t}L�%�@�$1�1Ҿ��*�f.�H�[PH��tP�C,��u�H��L���U��H��H���j�H��tMH��tH�H�;��t&��u�Hc�h����H�[PH��u�[1�]A\�Hc�d�����DH�5�b�1����H�;1�1Ҿ���_���ff.�@��UA��	H�Y�#SH�=!bH��H�5��#���H���8� �H�����H�6,H����H��1Ҿ1���H��5,H�H�H���H�=�5,�H�����H��H��t_H��H������������H���O��H��H����H��H��������u|H�5}5,H���%�����H��[]�fDH�5�a�1��m���H�=F5,H��t�l���H��H��[]�
��fDH�5�a�1��5���H�����H�51b�1�������H�5!a�1����H�=�4,H���`���H��[]��f�H�5�a�1������[����H�5b�1�����ff.��������H�=e4,H��t H�����H�L4,H�����ff.�@���������g�����ATUH��SH��dH�%(H�D$1�H�$����H����H��H��I��H��1�H�`a��X�����ydH�5�H����I��H��t!H��H�¾�	���H��tTL���L�H��������H�T$dH3%(uVH��[]A\�DH�<$�'�H�<$�ĉ����|���ƅ��ƅ�Dž��C���H��H��t'��t ��fDH��t��H��9�u��ff.�����ff.����=�2,LJ����t	������H��H�5e`�1��2,��������H������USH��H��������u!ƃ1�ǃH��[]��H�5Y����:�H���H��H�����H��tH�����H���>���H��[]Ðƃ�����AWAVI��AUI��ATI��UH��SH��8dH�%(H��$(1�H�\$H�������uH�{���Å�t<H�=_1�����H��$(dH3%(���YH��8[]A\A]A^A_�����E��ud�|$�[
���|$�R
��1��K
���|$������u|�|$�3
����)
���|$���A�ă�tpH�=�^�\���i�����|$�	���|$��	���E���c�D$�A�E�D$A�$�+���f�H�=4^1��������D�|$�	�����������A����4H��$ L���H�t$I���DA�M��H��H�x�@��t3M�o< u�A��:�H�����I��A�W�������fD�}Hc�H��1�fA��#�I��H���Y���H�t$H�@I�7I��A�UA9�tI����u�L�(A��H����I��A�}u�H�H�\$ �L��H���2��L��H����H������U�D�|$�w���|$�n��H�=�\�������}M��Hc�H���=���H��$ ��H�D$I�������7����1���u�@H��H�5�\�����H��Ð����~`AU�B�ATL�l�L�%t\UH��SH��H��f�L�H��L��H������1�H���P��H�H�L9�u�H��[]A\A]�����ATH��I��UH�<FSH����H��t8H��H��L��H������H��1�H�5�[�)���[H��]A\��D[H�5\]�1�A\�������H���D$P�~������H����Ð��ATH��I��US���t��H��H�B�x�u��j�H�Z��f�H�@��uOfD�f% f��L��H��L9�HC��0�Dr ��@����[]A\�I9�wH���+@��t��Dj u����u��I9�w�H�����t��Bf% t��@���!�H��tC�8t>��t��k�1��%H����H��t"�8tH�SH9��q���H��H�����H��u�[1�]A\�f���H����AVAUATI��USD�/H��A��.u	D�oH���M�E1�H�H��D��B�Dithf��
1�H��������K���H�MH��DQtf�H���H��DQu�<.��I����H�D��D�+B�Diu�[]A\A]A^�1��D��USH��H��(dH�%(H�D$1���	&��0�G@�7H�D$dH3%(u:H��([]�DH��A��H�
��1�H����W��H��H�������D��AUA��ATI��UH��S���8H����H��t3H��@H�D�hH�@L�`H�h �X(H�@0H��[]A\A]�f.���SH��H�H��tis��c����tCH�{����CH��S��x5H�K �CH��t�CHcS(H�{0�p�Hc�H�����[�DH�{�7�H�C1�[�ff.���AUI��ATA��UH��SH���t��tkI�U I�u0A�E(H����A�MA9M����H�H��H�H��҅�y�FfDA�u(Hc�I]0H��H��A�U ��~>A�E�pA�uA;uuո����H��[]A\A]�DA�}tiA�EIc](�E��t��u�A	�uSA�E�XA�]A;]t�IcU(��Hc�I]0H��H�����H��1�[]A\A]�A�E�9���E���r���IcU(�ƐHc�H���U��1��^���ff.���AWAVAUATUSH��H��D�?�oH�4$D�g(A9���E���
E�DD�D��A��Hc��&�I��H��ttL�C0M��t+E��L��H��L�D$Ic�����L�D$L���a��kD�c(L�s0D�+A��H�4$Ic�Hc�I�<.����C1�H��[]A\A]A^A_��L�w0�Ǹ��������UH��SH��H���k��t�C���EH�C0H��[]�H��1�[]����ATI���UH���@SH�����H��t;H��t(H�K �oL�`�oKH�H�hH�H8@H([]A\�f�H���h�1���@������H����AUATI��USH��H���uNL�nH��u$���H�{L���������H��H�+H��u�L�#H���[]A\A]�fDH��tKH�n�
DH�H��t8H�{H���t���u�H�CI�D$H�CI�D$�H��[]A\A]�fDH��1�[]A\A]�I�D$H�CI�D$H�CH���[]A\A]�fDH�7�뭸�������f�BB B0H�?t<H���oH�кH�oVP(H�N H��H�H8�������H������ø����Ð��H��1��q������H�������f���H��twH��trAUATUSH��H�H��tPH��I��E1��DI��H��t8H��H�{H���9�H���u�M��t=I�$H���q�H���[]A\A]ÐH��1�[]A\A]�������f.�I�U�f.���USH��H��%,H��t&f.�H�;H�k��H��H����H��u�H�Y%,H��[]�f���H�v H� ��ff.�@��AVH��H�5p0AUATUSH�� dH�%(H�D$1�H�\$H���Y���H���hH��H�5601�H���<���I��H����H��H�501�����I��H���{H��$,H��u�)DH�[H��tH�;H�������u�H�=!S����� ��
��H��H����L�t$1�L��L����H�CH�D$�8��1�L��L����H�T$�C�:uc��x_H���W���H�H����H�$,H��#,H�CH�D$dH3%(��H�� []A\A]A^��H�=�7�$����f�H�=�Q���H�D$dH3%(��H�� H��[]A\A]A^��@H�=%7�����f.�H�=�Q����H�D$dH3%(t��Kf�H�=HQ����F����H�=GQ����.���H�=�6�{��H�D$dH3%(�g������f���H�
<QH�N���H�5����H�=7Q����ff.���U��H�=�QSH����H��t{H�=
QH�������H���uH��H��[]�fDH�=qQ����H��H��t<H�=�P���H��H��H���H����H�����H��H��[]�fD1�H��H��[]�ff.����H��t7��SH��tH��[�E��D1�H�5��R���H��[�)��f�H�5	Q�1���ff.�f���SH��H��H��tH���'�����uCH��H��[�f.����t$���t$H��H��u�H�5�P�1��V��@H��1�1����H��H��[�ff.����=-!,t;H���!,����1�1���H��t1�H��H���d��@H��������Ǻ�����H��8H��H�t$dH�%(H�L$(1�H��t3H�T$H�t$H�D$H�T$�WXH�L$(dH3%(uH��8�H�5!P��g�1����~��ff.���SH��PdH�%(H��$H1�H��t<H���H��tHH�t$ H��H��SXH��H��$HdH3%(H��u6H��P[�H�5�O�1������H�5P�1���������ff.�����H�=AN����ff.���ATI��HUH���S�#��H��H��tbH��tH����H�C M��tUL�cH��t0H��H�=�M������tPH�L9�t	�=,t`H���p�H�C(H�C�CwH�H�CH��[]A\ÐH�����I��H�C��H���0�D��H�=tMH���.��@H�5IO�1���,���ff.����H��tOSH��H��@H��t�"��H�{ H��t���H�{(H��t���H�{@H��t���H��[����������ǵ�����H���#H�=�#S�0趸��H��tYH��H����H�[8H��,H��t#H��tH��PH��,H��SxH��,H��t
H��P H��,[��H��,��ff.�@��H��,H��tXUSH��H�h H��tH�E�H��H��H��t	H�u �g��H��tH�+H�X,H��P8H�C,H���[]��1��D��SH��dH�%(H�D$1��D$H��t:�H��H�|$�D$�f���T$��f�H�\$dH3%(uH��[�DH�|$�6��������ff.�@��H��t-�F���wU��SH��H�������u@�ktH��[]ø����ø�����@��AVAUATUSH����H����H�o H����L�f M����H��H��I���z���L��H��H��������|�-F�#����H��@H���H����M���H�
�#L��M���H������A�E H��@��H�P H�
��#L��H���s��H��@H��H�
��#L��H�P �V��H��@I���H���H�
��#H�P0�1��H��@I���H���H�
}�#H�P@���H��@I���H���H�
X�#H�P`����H��@I���H���H�
3�#H�Pp����H��@I��H��H�
�#H������H��@I��H��H�
��#H����r��A����-��#���A������A������A������A��(��(A��,��,A��0��0A��4��4A��8��8��uSH��@H��t���Hǃ@[��]A\A]A^�@H�PI���H���H�
�#����2���DH��@1��Ao���AoL$H�AoT$ P �Ao\$0X0�Aod$@`@�Aol$PhP�Aot$`p`�Ao|$pxp�Ao�$����Ao�$����Ao�$���I��$�H�����[]A\A]A^Ð������H��H��@H���pH����o���og�oo �ow0�o@�o��`�o_P�og`h �oopp0�o��x@�o��XP``hp������H���H����~���D�Ao�������Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao���Ao���Ao�(�(I��8H��8[]A\A]A^����������������}���@���G u1��H��H���H���H�ǘ貾��1�H���ff.���AUATUSH��H����H����L�o M����H�n H����H��H��I���H���L��H��H���Z���A�Ņ���L��H���$���H�����A�D$H�k(�CH��t&I�t$(H��tH�������t,H���=��H�C(I�|$(H��t���H�C(H���A�D$0�C0A�D$4�C4A�D$8�C8A�D$T�CTA�D$P�CPA�D$X�CXA�D$L�CLI�D$`H�C`I�D$hH�ChA�D$pf�CpA�D$rf�CrA�D$t�CtA�D$u�CuA�D$v�CvA�D$w�CwA�D$x�CxA��$����A�l$H9kHt^H�{@H��t�h��H�C@A�l$HI�|$@t%������H�C@H��tFA�T$HI�t$@H��H������kHH��D��[]A\A]�D��t�H�{@I�t$@���d��A�l$H��A�������DA����������G0��t��t��	t*1��G4�G8�D�
�G4����G8����G4	=�G8���USH��H��t3H��,H��H��u�H�[H��tH�;H�������u�H��H��[]�1���f.���H��tUSH��H��H�o(H��tH���͸��H=�wMH�{ �l�H��t2H��4�ׂ�C�P�S0�����H9PHFP�S4H�PH��H��H���S8H��[]�fDƅ�������SH��H�5UH���9�H��葿����t���H��C‰����1�[�@��H��H�5H�������\�� t+��y1�H���H�=�,H����1�H���f.���X��t
ǀX��y����H�=�,H�Ɖ�\���1�H���fD��SH�5�H���l��H��t'H��H��蜮��H��PH��t����HǃP1�[�ff.����AUH�57H��I��ATUSH��H���
��H���5���H��PH���EDžXH��裾����u7L�%�GH��t@H������H��tq��B�����Ic�L�>�����H��C‰����H��1�[]A\A]�fD��XH�������t���H��L��C‰����H�[PH���u���H��1�[]A\A]����XH������@��XH���y�������X@H����������XH���Y���f���@H�5�B�1��}���f����H�߾
�#��H��1�[]A\A]�fD��AUH�5�H��ATUSH��H���p��H��tJI��H�-�F�H���x��H���7�L�+������HcD�H�>��@���H������H��1�[]A\A]�@�L������������Q��L���@����u�I�E L��H�0�m�������
��������@�L������u�I�E H�0H�F�H=�����L��������P��
�G��t���H�5QA�1��
��������L���#����0���I�E H�0H�F�H���L�����������
�����A�����H�5�A�1��������D�L�����������I�E H�0H�F�H����L�������tz��
tu��������H�5�@�1��7����B���DH�5QA�1������ ���I�E H�0H�F�H��vH��u9L���I�����t��
u8������H�[PH�������H��1�[]A\A]�fD�
����fD���������H�5.@�1����������H�5?@�1��k����v�����������i���@��AVH�5�H��AUATUSH���r��H����I��L�-�C�H�H�h L��`H��0H����H9��	H���I��H�����H�3�B����IcD�L�>��@H�F(L���FH�v �������=������C‰�H�����H��t+H�H��0H9�tH9h tH��M����A���H�[PH���#���[1�]A\A]A^�H�F(L���FH�v ������x���H�H�x u�H�5#�1�������g���f�H�F(L���FH�v ����#���H�F(L���FH�v �������H�F(L���FCH�v �8������H�F(L���FH�v �Ȼ������H�F(L���FH�v �x������FH�V(L��H�� �������H�F(L���FCH�v �8��c���H�P H�H�@((���@H�x((���H�@((����H��@��L���@1�H�5>����H�H�x �'������f.��+���>���fD��ATH��H�5�USH�����H��I�����H��tOH�-#A�H�����H��t+��B���wqHcD�H�>��fDL������H�[PH��u�[1�]A\�L��蘱����fDL�������fDL�������fDL���x���fDH�5Y=�1�����ff.���AUH�5�H��I��ATUSH��H�����ǀXH��tdH��L�%\@@H�����H��t@�H��B�����Ic�L�>�����XH�A H��H�0�����u;H�[PH��u�H��1�[]A\A]�D��XH�A H��H�0�b�����t�fD���C��s��X@H�A H��H�0�"��뙃�XH�A H��H�0�����~���D��XH�A H��H�0臩���[���f�H�5A<�1��]�����H��L������3���fD��SH��H��H��轧����t1�[�@H�=Y	,�����t��H��C‰�軼��1�[��H��tSH����H��1�[H�5��@�H�5�;�1����ff.�f���H��tH�8H��t�@H�5�;�1����D��H��tH�8H��t�i���f�H��H�5�;�1��I�������H���ff.�@��H�U,�@��H�U,�@��H�E,H�=>,�ff.�f���H��H�,H��PH���fD����,�D���=�,�D��SH�5�H������H���_uH��蘻����_u1�[��c�����tߍx��7���DH�5;�1��M��1���\����[�ff.�@��UH��H�5uH��SH���T��H��H���)�����t���H��C‰�谺����_uH��1�[]�fD�ç���x���H��1�[]�f���AT1ɺ�U1�H�-�,SH��H�=�,���H��H��,H�H��,���H�E�#L�%V�#H�����H�5�����L��A���f���H�w,H���f�@H�5`,H��蠭��H�I,H����H�A,H��tH�B8H��H�=Z,H�[,H�����H�U,H�����H�7,H��H��,H�j�H�3,H���H�5,H�^�H�O,H��H�!,H����H�+,H�D���H�,H�����H�,H���H�,H�:�H��,�~���Hc�L��A�H��H�=,���H��H����1�H�=},H�kH@���H�=b,t��H�=�,t�� H�=u,t��@H�=�,t��H�=@,t��H�=C,t�� H�=^,t��H�=F,t��H�=,t��H�=,t@�πH�=,t��H�=,t��Hc�����H��H������C�x���H��H���j��H�5S,�H�=_,����H��H���G��H�=8,H��t膩��H��H���+��H��H�5),[]A\�h����H�5�7����H�=�,H�5(8�����[�]1�A\���f.�H�=�7��H��,H���d���H�5�7��c��뢐H�5	8����H��H�=q,���H�=e,H���<���ff.����H�=u,�@��AU��I���ATUH��SH��dH�%(H��$�1�H��L��$pH���H���L���D$�H�H��L�$$Ƅ$�觚��H���H�uL��蔚��I�}I�uI��E1�1�L������Ņ��2H��芥����H��$�dH3%(u,H��[]A\A]����H�5_�1��+����D���@��AUI����ATI��USH��I�0dH�%(H��$�1�H��H��$pH���H�H�׹�H�$�H�I�xH���D$Ƅ$��e����Ņ�uH�D$ L��$�H�I�$I��tv5�H��訤����H��$�dH34%(u2H��[]A\A]�DH��$�I�|$L���K���M��$���\���ff.����SH���s��H��HH��t	��_@t.H��PH��t���H�{H�CH9�t苿��H��[邿��f��ۗ����f���UH��H��H�5
SH��H������H��t	��_ u#H��H���X�����t+H��1�[]�f.�H���X��H��H���-�����u�H�{1��m����Å�uH�=�,���i���H��1�[]��+�����t�H�55�1��$����f���H��t����f��ff.�@��ATI��UH���S蓬��H��H����H��t2��\@H�@H��8H�CHǃxH��[]A\�fD����H��HH��tTHǃxH�CH�C��_@u�L��H�������t�H��1��:����H�5i4�1��=���H��1��ѽ���~���ff.����AUH�5gH��ATI��USH��dH�%(H��$�1��*��H��H��t2H��1�����H��$�dH3%(���FH�Ĩ[]A\A]ÐL������H����H�PH��L�l$�L��L��H�T$H�$H���H�H�������Ņ��C1�1��j���H��H����fAoEfAoMH��fAoU fAo]0fAoe@fAomP��fAou`I�U��fAo}pI���������� �0H��@H��t+H��v%����
L��
�n�������f�苸������H��@�H�����*�������H�=��+H��蓧���Ņ�u3H�$H�{H�H�t$H���D���H��L�灋\������H���H�����f���L���ְ����~��/������H�����������L��虰�����@H�5�-���������DH�߽����L���V��������L���>������蔸��@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�q�����u-H�V�+H��H��PXH��$dH3%(uH�� [Ð1����������HLJ`���ATUSH�FH��L�&H��tH��H��PXH��t[]A\�fD1�H��趺��H��H��tn�s8H�SH��H���{�����t'H�5�1�1��t��[H��]A\�H���H��L���%�����x����Džl��`��d[]A\Ð�H�5�11����H��[]A\�A������AVAUATUH��SH�H��L�vL�nH��HH��PXH��tIH��HH��I���ϩ����M��tF[L��]L��A\A]A^郾���K�����dM��u��fDM��t;[H��L��]A\A]A^�P���H�=1���I��H�CH��tHǀ��@H�=�輷��H�5�I��H�CH��u�[�]1�A\A]A^�%��DH�5�0�����1��f���H��t�fDH�5�0�1�����ff.�f���AT�I��1�USH�� dH�%(H�D$1�H���R���H��H�5����L��H�D$H��H���H�D$H�$A��$�H��H��H�5����L�$$���H�߾�I���H�\$H��u/�@D1�H��S`L��H��H�����H�����1�H�����H��SH��u�H���M���H�\$H��u!�2�1�H��S`H��H��H���J��H������H��SH��u�H������L��A�T$1�H�L$dH3%(u	H�� []A\�跴�����H��toATUH��SH��H�=�,���H�H��t>ǀ�H�=\
L�#���I��$�H�;�@���H�1�H�5D���H����H��t&�M/[]A\�DH�59/�1�����D[H�5X/]�1�A\���f����ff.���1��f���H���H��H����Ѓ��D��H���H��t/H��u1�H��@��������f.�1�H��@�����ff.�@��SH��@H��H��tH��u5H��HH���H�x����H��HH��@�P81�[�f�H�5�.�1��ݾ���[�fD��H�W0H;V0r"wH��H���C�����f.�������f.���U��H�=Z.SH�����H��H��txH�=x/�����H���uH��H��[]�fDH�=q.謳��H��H��tTH�]���H�=>/H����j��H��H��H����ȴ��H��H��[]�fDH�5�-�1�����H�5A.�1��ͽ��H��1������f���ff.���H��tOUH��S��H��@��t��t$H��[]�f.�1�H�5�������u�H��H��[]鯞���H�5�-�1��E���D��SH��H��H��tH���w�����uKH��H��[�f.����t$�����_����t$H��H��u�H�5�-�1�����fDH��1�1��<���H��H��[���H��t�R���f��ff.�@���Ǿ�����S�H��,���H��H��t&H�H�@H��H�C�C@���CD袓����uH��[�f�H��1��f���H��[Ð��AWAVAUATI��U1�SH��H���F8Gt�G�M�l$0M�|$L�sL9k0uYL��L��L���s�����u_I�D$8H9C8tH�C8��A�D$@9C@t�C@��A�D$D8CDt�CD��H����[]A\A]A^A_�L�k0L��L��L����胥��뢐L��L��L�����o����ff.�f���UH��H�vSH��H�H���F��G�H�VH�W�4���H�E8H�C8�E@�C@�ED�CDH��1�[]�fDAWAVAUATUSL��$���H��H�$L9�u�H��H�|$H�dH�%(H��$��1��D$\��\���1Ҿ�H�D$趐���D$(���r�|$(H�L$\A����<�����x1�H�\$p�@�f�D$nH��1�L�|$d�H��f�T$df�L$tL�|$8H�D$f菺����|$(1�f�t$vM���H��A��D$|�D$x�D$pƄ$���M������H��$p�D$,L��$p�H�D$ H�D$`H�D$0H�\$ 1���H���Z���L�L$0�|$(1�L�D$8��H���D$`襠�����%��~���$p��v�A��9�w���$tf�������L��L�l$ E��I���JA�E����A)�I�A���nA�m���aA9��XA�Ef���Q���A�}u�A�E<��<
u���M�e��~�H�D$�D$A�$f���x�����9��m���E1�M���D$����A��L���B�f�����C��A)�I�A����A�$f������D9���A�D$f��t!f��u�A�EtdIcD$H�H�|$H�D$룐D��A�@f�L��I�k�A)I�t$�H�����I���p���fDA�D$�D$�\���f.�I����H���IcD$���;������|$�H�|$I��M����H����!�H���������H���H�D$��L�\$@譌��H��H���2�D$,HcD$,H��L�\$@H�|$H�CDfo�$p�H�C�D$L�[0K�CHcD$H�C8�D$�C@���������H���4����������M�e�D$H�D$�����������DH���������������C���f.�M�����H�5A(�1������萶���|$(���H��$��dH3%(����H�Ę�[]A\A]A^A_�1����#���������8�G���H�5�'�H��1��1���럻�������������8����H�50'�H��1������u����Dž��������8���H�5'�H��1��յ���|$(�����@���蒅��������8趎��H�5�&�H��1�蠵���|$(�������譩��ff.�f���1��f���SH��H���O�����xH��[�DH�߾�D$诅���D$H��[�DATUSH��H��@dH�%(H�D$81������u������U����uD��E����D��E��uD���E��u#H�D$8dH3%(�FH��@[]A\�fD�����tӋ���tɋ����t�����t������t��o��H��L�d$H���H��)$�#��H��H��(���H��L��H�l$ H���荓��H���H��L���{���H��8H���H���e���ǃ�+���fDD��E��������o�H��H��������ǃ�����D���E��������oGPH���H�x�P��ǃ��t���茧��ff.����H�=%�����H��t7��SH��tH��[酔��D1�H�5���H��[�i���f�H�5�$�1����ff.�f���SH��H��H��tH���G�����uCH��H��[�f.����t$襧��H��H��t5H�=^)���t$H����@H��1�1�����H��H��[�H�5�$�1��e������H��賫��1�1��ڋ��H��t1�H��H��鷤���H���ff.���H��8H��H�t$dH�%(H�L$(1�H��t3H�T$H�t$H�D$H�T$�WXH�L$(dH3%(uH��8�H�5$�跱��1����Υ��ff.���ATI��UHc�SHc޾H�0���H��tH�PH�H�PH�hH�XL��8[]A\����H��t'SH��H��@H��t�ҧ��H��[�ɧ��f��ff.�@��釉�����H���C	H���:	H�FH9G�,	H�FH9G�	UH��SH��H�����#����H��@H���D�o�����o�����o�����o�����o�����o���o���o�(�(H�FHH�GHH�F`H�G`H�FhH�GhH�FpH�GpH���H���H���H���H���H���H���H���������FD���E���vD���E����D��E����D��E���!�����Z��������������������������(������X�������������������D��E���9D��E���rD��E����D�� E������$�����(���V��,�����Ԯ#����
H��tH���#���HDž@H���@���1�H��[]��������H��H��@H����
H�s(H�}0H�C(H��H�M(H�u(H��0H)�H��0H��H)΁����H�H�H�zH��H�
H��H��H)�H)Ѝ�H����H��U���DH�€H���H���H�
�#�w�����t
�=��+��	H��@���f.�H��(H�vPH�PH�
��#�8�����t
�=Y�+�G	D���H��@E�������H� H���H���H�
`�#�����t
�=�+��D���H��@E���Q���H��H���H���H�
�#覗����t
�=��+�UD��H��@E������H���H���H���H�
ά#�]�����t
�={�+��D��H��@E������H���H��H��H�
��#������t
�=1�+�c��H��@�������H���H��H��H�
>�#�͖����t
�=��+����H��@���m���H��H��(H��(H�
��#膖����t
�=��+�u���H��@���4���H�s(H�}(H�
��#�L�����t
�=f�+����H��@������H��H�s8H�}8H�
�#������t
�='�+�����H��@������H��PH�sxH�}xH�
A�#�����t
�=��+�/���H��@�������H��H���H���H�
��#茕����t
�=��+�����H��@���r���H�H���H���H�
��#�E�����t
�=[�+�D���H��@���9���H�°H���H���H�
o�#�����t
�=�+����H��@������H��H��8H��8H�
(�#跔����t
�=��+�VD��H��@E������H�� H��HH��HH�
ߩ#�n�����t
�=��+��D��H��@E�������H��0H��XH��XH�
��#�%�����t
�=7�+�dD��H��@E���U���H��@H��hH��hH�
M�#�ܓ����t
�=��+��D�� H��@E������H��PH��xH��xH�
�#蓓����t
�=��+�r��$H��@�����H��`H���H���H�
��#�L�����t
�=[�+����(H��@�������H��pH���H���H�
v�#������t
�=�+����,H��@���q����B���f.��D$H�S(H�O(H�0H�v(H�W�H��0H��H��H)�H)΁����H�H����D$H��[]Ð������f.�H��8H�5��1��m�+�����V���f.�H��8H�5��1��>�+�O�������f.�H��8H�5"�1���+�����h���f.�H��8H�5��1����+������f.�H��8H�5Z�1����+迦���v���f.�H��8H�5��1����+菦�����f.�H��8H�5��1��S�+�_������f.�H��8H�52�1��$�+�/����
���f.�H��8H�5��1����+������f.�H��8H�5r�1����+�ϥ������f.�H��8H�5
�1����+蟥�����f.�H��8H�5��1��h�+�o����=���f.�H��8H�5J�1��9�+�?�������f.�H��8H�5��1��
�+�����e���f.�H��8H�5��1����+�ߤ�����f.�H��8H�5"�1����+诤���w���f.�H��8H�5��1��}�+�������f.�H��8H�5b�1��N�+�O������f.�H��8H�5�1���+��������f.�H��8H�5��1����+������f.�H��8H�5Z�1����+迣���$���f.�H�C(���������/���ff.�f���H��t?H��t:H�FH9Gu0H�FH9Gu&UH��SH��H��荆���E �C H��1�[]�fD������f�AVA�����AUE1�ATI��UH��SH��dH�%(H��$1�H��@H��H���X���H���H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)؃�H��<
���<$Iu��|$6u�� H���Y���H�����
1�H����t���T$��I����O�R��R��A���F�:����T$��C�0��O�a��F������H�� E1�ADŽ$I��$ I��$�����D����H�I��$0D��H��$dH3<%(��H��[]A\A]A^�@�T$��Atn��D����H�j��M�0��N����R����T��T$E1�oA�ŀ�r�@�����E1�ADŽ$�I�D$p�$���@I�D$`E1�ADŽ$�������T$��D�*��F����M���N�t��R�dA���O�������H�� E1�ADŽ$I��$PI��$H���DH��H�5^�脠���w�����T$��Ft8��O��E1�TA�ŀ�R�J���I��$�E1�ADŽ$��.���I��$�E1�ADŽ$�����I�D$HE1�ADŽ$������H�� E1�ADŽ$�I��$�I��$��������H�� E1�ADŽ$�I��$�I��$����fD�T$��e��A���i�{���I��$�E1�ADŽ$��_���I��$�E1�ADŽ$��C����T$
��P��A���O�&�����H�� E1�ADŽ$I��$pI��$h�����H�� E1�ADŽ$I��$0I��$(�����T$��P��E����O�������H�� E1�ADŽ$$I��$�I��$������H�� E1�ADŽ$�I�T$0I�D$(�j�����H�� E1�ADŽ$�I��$�I��$��@�����H�� E1�ADŽ$I��$`I��$X������H�� E1�ADŽ$ I��$�I��$x�����H�� E1�ADŽ$�I��$�I��$�������H�� E1�ADŽ$I��$I��$����|$RA��������H�� E1�ADŽ$�I�T$XI�D$P�c�����H�� E1�ADŽ$�I��$�I��$��9�����UuI�D$hE1�ADŽ$�������Ou)��H�� E1�ADŽ$�I�T$@I�D$8������A����f.�AWAVAUATUSH���H�<$H�=dH�%(H��$�1�蜝��H���{I��H�D$PL�d$H�D$L��$�f�L��蘞��I��H����A�.t�H��I�o�@L��U�L�
�1�L����@���ZY��@��H�5;YL���[���H��H���/�ʎ��I�WH��DP��1�1�H���K���H���ƿ�H���H��H����H��H�����H�<$H��腗��H���]���L���ŝ��I��H���-���L���1���1�H��$�dH3%(�WH���[]A\A]A^A_�fDH��H�5V�1��J�������D�H��L��萞��H��H�����H�=������ue� L���Ў��H��t{1�1�H���O������f.�H�|$M�Ṁ1�L�,����;~��L���{���.���fDL��H�5��1�蒚��H���:�������DL��H�5��l���H�����������L��H�5��@H����L���؞����������fD1�����<���ff.��AWAVAUATUSH��(	dH�%(H��$	1���t/1�H��$	dH3<%(�0H��(	[]A\A]A^A_�@I��H�5�VH�=l���I��H����H��$H�¾H��H���ۜ���H����������!�%����t������D�H�SHDډ�@�H��H)�H�����H��L��膜��L��H���ˈ��H���+���H��
H����������!�%����t������D�H�JHDщ�@�H��H)��HcҀ�
u�Jf�H���< t������:H���p���H�����x H�X�uf.�H���; t�H�D1���Ԝ��I��H����H�T$p1��H��H��L�JL�B�H�H���H�JH��PH���H�5�PH���PH�BxPH�BpPH�BhPH�B`PH�BXPH�BPPH�BHPH�B@PH�B8PH�B0PH�B(PH�B P1���}��H�쀃���H��$�H�5�TH�=���H�� I�W0I�G(H��$�I�GHH��$�I�G`H��$���H�� I���H��$�I���I�GhH��$�I���H��$���H�� I���I���H��$���H�� I���I���H��$���H�� I���H��$�I�����H�� I���I���H��$�I���H��$�I���H��$�I���H��$�ALJ�ALJ���H�� I��I��H��$�ALJ�ALJ��H�� I�� I��H��$��H�� I��(H�I��0I���I���I���I���I���I��I��0�4���H��H���9L�d$H��$I�D$L�-�H�D$���L��H�������tBH��H�����H��u�H���=���L��L���R����������L����m�����DH��H��踘��H��t��L��H�������u�1��L��L���H�I�D$XI�L$H��PI�D$PM�D$PI�D$HH�5�
PI�D$@PI�D$8PI�D$0PI�D$(PI�D$ PL�L$H1��z��H��@����H�H�T$ALJ�ALJ���H�� ALJI�OXI�WPH�T$ALJ I�WpH�T$ I��(��H�� I��XH�T$(I��`��H�� I��xH�T$0I�����H�� I���H�T$8I�����H�� I���I������`���ALJ�H�D$@ALJALJ��H�� I�W@I�G8H�D$HALJ$��H�� I��HH�D$PI��P��H�� I��hH�D$XI��p��H�� I���I�������Ƅ���L��������H�5�
1���N���������_������H�5V1���*���L���k��������3������H�5�1������d���H��H�5�	�1�����������H�=
�-s�����������1�L���9������������H�=�s������蹆��f����ff.���AVAUATUSH����A��H���P���A����uxH�V1��赖��I��H��twH�5NOH�=LE1��g���I��H��t%H��L�����L��A��蹁��L��H���΍����x*D9�D��N�[]A\A]A^��H����A����L���Hj����A�������H�5�
�1�諑��������@��S�H��<v��H��H��tH��[��H�5��1��e���H��[���������H�71�H�W�f���UH�o SH��H��H���u����u#H�H��H���|����u
H��[]�fDH���[]�@��H�W0�������t	H�B0H�1��ff.�@��H�W0�������tH�B0H�FH�G0H�@(H�1����H�W0�������t	H�B@H�1��ff.�@��H�W0�������tH�B@H�FH�G0H�@8H�1����H�W0�������t	H�BHH�1��ff.�@��H�W0�������t	H�BXH�1��ff.�@��H�W0�������t	H�B`H�1��ff.�@��H�W0�������t	H�BhH�1��ff.�@��H�W0�������t	H�BpH�1��ff.�@��H�W0�������tH���H�1��ff.����H�W0�������tH���H�FH�G0H�@xH�1����H�W0�������tH���H�1��ff.����H�W0�������tH���H�1��ff.����H�W0�������tH���H�1��ff.����H�W0�������tH���H�1��ff.����H�W0�������tH���H�1��ff.����H�W0�������tH���H�FH�G0H���H�1��ff.�f���H�W0�������tH���H�1��ff.����H�W0�������tH���H�FH�G0H���H�1��ff.�f���H�W0�������tH���H�1��ff.����H�W0�������tH���H�FH�G0H���H�1��ff.�f���H�W0�������tH���H�1��ff.����H�W0������tH��H�1��ff.����H�W0������tH��H�1��ff.����H�W0������tH�� H�1��ff.����H�W0������tH��0H�1��ff.����H�W0������tH��@H�1��ff.����H�W0������tH��@H�FH�G0H��8H�1��ff.�f���H�W0������tH��PH�1��ff.����H�W0������tH��PH�FH�G0H��HH�1��ff.�f���H�W0������tH��`H�1��ff.����H�W0������tH��`H�FH�G0H��XH�1��ff.�f���H�W0������tH��pH�1��ff.����H�W0������tH��pH�FH�G0H��hH�1��ff.�f���H�W0���� ��tH���H�1��ff.����H�W0���� ��tH���H�FH�G0H��xH�1��ff.�f���H�W0����$��tH���H�1��ff.����H�W0����$��tH���H�FH�G0H���H�1��ff.�f���H�W0����(��tH���H�1��ff.����H�W0����(��tH���H�FH�G0H���H�1��ff.�f���H�W0����,��tH���H�1��ff.����H�W0����,��tH���H�FH�G0H���H�1��ff.�f���H�W0����0��t�G@H�1����H�W0����4��t�GDH�1����SH��H�5e�H���I���H���}����t���H��C‰��s��1�[�@��H��H�5%�H���	����@7 u�P0��t�@01�H���fDH�=�+H���	���1�H���f���AUH�5��H��ATUSH��H��谋��H����I�Ľ�H���v��H��tp�����H��H��~�����tkL�+��L���`����t��vg��`fDI�E H�0H�F�H����L�������u_��u�H�[PH���v���H��1�[]A\A]Ð��H�5��1�諆���H�߉��w��H��1�[]A\A]����ې��
t���tЉ�H�5-�1��a�����f.��
�f���AVH�5��H��AUATUSH���b���H����I��L�%��H�H�h L��`H��0H����H9���H���9u��H�����H�3������Ic�L�>��fD�FH�V(L��H�� ��Y��@���@=��}���C‰�H���v��H��t$H�H��0H9�tH9h tH��M���RA��H�[PH���2���[1�]A\A]A^��H�P H�H�@((�3���@H�x((�$���H�@((�����H�F(L���FBH�v �Hv���;���H�F(L���FAH�v �x������H�F(L���FAH�v �[�����H�F(L���FAH�v ��b������H�F(L���FAH�v ������H�F(L���FAH�v �������H�F(L���FAH�v 訏���{���H�F(L���FAH�v ��|���[���H�F(L���FAH�v �Hp���;���H�F(L���FAH�v �Xi������H�F(L���FAH�v �������H�F(L���FAH�v �(z������H�F(L���FCH�v �p�����H�F(L���FH�v �������H�F(L���FH�v �HS���{����FH�V(L��H�� ��s���_����H�F(L���FBH�v �x����;���H�F(L���FH�v �e������H�F(L���FH�v �(u������FH�V(L��H�� �ln��������FH�F H�F(I�VH�f�H�H�x ����H�5K��1��/�������DH�59��1��
����H��@����@�x��H�[PH������������SH�5(�H��H���	���H��tH���a��1�[��H�߾�cm���[�ff.��H��tSH���B^��H��1�[H�5
���H�5���1��]���ff.�f���H��tH�8H��t�@H�5���1��%���D��H��tH�8H��t�yi��f�H��H�5���1���������H���ff.�@��ATH��H�5�USH�����H��I����Q��H��tKH�-o��DH��1�艀��H�[PH��t%H����o��H��t���u�L���4e��H�[PH��u�[1�]A\�@��ATH�5��H��I��USH���s����@0H��tlH���'f�H��M0@H��H�@ H�0�:R���…�uTH�[PH��t@H���So��H��t���t�H�5��1������H��L���t���H�[PH��u�[1�]A\�@��vܺ��@��SH��H��H���V����t1�[�@H�=��+�^����t��H��C‰��k��1�[����H�u�+�@��H�u�+�@��H�e�+H�=^�+�ff.�f���H��H�1�+H��PH���fD���Ƹ+�D���=��+�D��SH�5�H�����H��@7uH��蛀���C7u$1�[Ð�[�����t�x��/f��H���w����C7t�H�5���1��n~���c4����1�[���UH��H�5��H��SH��脂��H��H���ɂ����t���H��C‰���i���C7u
H��1�[]Ð�ˍ���x�e���C7t�踍���x�e��H��1�[]����H�=��+�@���ֶ+��tÐH�!g#SH�a���H�5����H�
�f#����+D��U��H���+H��tP�@H�5��+H�=��+�Vb��H���+H��tBH�=�螉��H���H�x�+H��tH�X8[�DH�5���[�}��fDH�=w��|r��H��H�2�+H��u�H�5���1�[��|��f���SH��H��PdH�%(H�D$H1��T��H�=�+�1ҾH�=�+1��s��H��H�ҵ+H�H�յ+�}��H�����H�=ֵ+H�׵+H� ���H�ѵ+H�����H���+H�H�
�+H���H���+H��H���+H��H�˵+H�����H���+H�.���H���+H�����H���+H����H���+H���H���+H���H�_�+�d��H�e#A�H�=6�H��Hc
H��d#�$���H��H����1�H�=�+H���+@��H�CH��H�=̴+t��H�='�+t�� H�=ߴ+t��@H�=�+t��H�=��+t��H�=��+t�� H�=ȴ+t��H�=��+t��H�=x�+t��H�=��+t@�πH�=}�+t��H�=��+t��Hc��un��H��H������C�x����H��H���Ԍ��H�5��+�H�=ɳ+�Ly��H��H��豌��H�=��+H��t��W��H��H��蕌��H��H�5��+��i����C�H�=�+H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8H�D$@��X��1�H��A�H�=a��	H���,|��H��H���r��H�D$HdH3%(uH��P[�H�5Y��1��y�����m��ff.���H��H�=��+�N��H�=��+H�����ff.����H�=��+�@��U��H���SH��dH�%(H��$x1�H��H���H�H���D$��H��H�}H�uH��I��E1�1�����Ņ�u/H����S����H��$xdH3%(u)H�Ĉ[]����H�5���1��x����l��@��ATI����I��USH��I�0dH�%(H��$x1�H��H��H���H�I�x�D$��j���Ņ�uH�D$ H�I�$H���<S����H��$xdH3%(uH�Ā[]A\��l��fD��S���\��H��H��tH��[��H�5���1��w��H��[����Gn�����SH���s{��H�{(H��t
�n��H�C(H�{H�CH9�t�n��H��[�n��f���H��t�y��f��ff.�@��UH��H��H�5��SH��H���a{��H��t�@7 uH��H����N����t&H��1�[]�DH���@y��H��H���N����u�H�{1���I����uH�=�+�����H��1�[]���k�����t�H�5���1��v����f���U�HH���SH���$[��H��H��tDH�@H�C@H�C�C7@tH��H��[]�@H��H���l����t�H��1��x����DH�5���1��v�����ATUSH��tc1�H�(H��t�C9��[]A\�@�N���
I��H�C(H��t�H�C H�x H�p�av��I�$H�C(H�8H��t!H�s 1��fU���@�[��]A\�@H���l��H�C(�ff.���AUH��H�5��ATI��USH��H���y��H��H���G������H���k����unA�H��u�v�H�5���1��
u��H�[PH��tYH���\d��H��t���uЃM0@H����I���…�tу�H��L��AC��|}���f.����C‰�H���k`��H��1�[]A\A]�ff.���S�G9H��H�5(��P�1��W9�ҿ�ht���{9t[�H�C(H�8��C��H�{(�{k��H�C([Ð��SH�5��H���lx��H��tH��H���o��H���u��1�[���SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�L����u-H���+H��H��PXH��$dH3%(uH�� [Ð1����g�����H��H���
1���q����s#H���ff.���SH��H��H��轁��H��[�u��@��AWAVI��AUATUSH��H��H�G L�&H��L�h`L��A�T$XH��H��H���4N��H��H���	L��H��td�{8H�{ t�C8E1��Et=H���R��H��L���:���H���RB��H�k E��uQMc�L�m`H��[]A\A]A^A_��Eu8GuA����{8u:H�C �C8�@tH�C �@u�{8��H�k �a��H�E`H��[]A\A]A^A_���`��H�k Hc
�r#H��(\��(H+E`H��H��H��H9��e���E1�I�~H��tH����m��H�k �C���H�="��eg��H��I�FH��u�H�5���1���q��H�k ����D�c`��H�k Hc
�q#H��(\��(H+E`H��H��H��H��H��H9��(���A��j���D���H�=��H����������H�=7"H����������H�=|�H����������H�=��H�������tx�H�=��H�������tN�H�=sH�������t4�H�=�H�������t�H�==�H�������u ���+�D�v�+�DH�5i��1��mp��ff.�f���AWAVI��AUATUH��SH���T��H����H�uH��H���+C����uO��+����H��L����k���Lp#����H��H���%K��H��H��H��[]A\A]A^A_��H��@�H�5��1���o��H��H��[]A\A]A^A_�q����H�5��1��o��H��H��[]A\A]A^A_�?���L�c �^��I�D$`H�C H�x`�M~���X����H�=q��d��I��H��t|L��A�VxI��H��P I��H��u�:f�L��A�U8I��H��t)I�D$ H�} H�p �Om����u�L��L���j����fDL��A�UL��L��H�5t���A���L���P�����H�5q��1��n��������H��H�
��1�H�5����H�=���a��H�
��1�H�5��H�=��a��1�H���f���H��tH�H��t+�F�N?��H�5���1��n��DH�5���1��m��ff.�f���SL��H���T$H�\$�L$�D�D$I��H��dH�%(H��$�1�HcºH�D$ H�D$(H�D$0H�D$8H�D$@H�D$HH�D$PH�D$XH�D$`H�D$hH�D$pHDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$�HDŽ$H��$�H��$0H��$�H�D$ HDŽ$H��HDŽ$HDŽ$HDŽ$ HDŽ$(HDŽ$@HDŽ$HHDŽ$PHDŽ$XHDŽ$`HDŽ$hHDŽ$pHDŽ$xHDŽ$�HDŽ$�H�D$�[u��H��$�A�L�D$��H���6u��H��$�A�L�D$��H���u��H��$@A�L�D$��H����t��H�|$��W��H�|$�H@��H��$�dH3%(u	H�Ġ[��'_�����H��t�fDH�5���1���j��ff.�f���S1�H��1�H�� dH�%(H�D$1��t��H�$H����H�D$H��H�5K���H����H�D$H��tH��H��H�5������H�|$�K��H�$H��H�5��H����H�<$��P��H��S�nj#��uH�L$dH3%(uH�� [��Jj#1���f��
���^��@���ff.���1��f���AUI��ATI��UH��SH��H��dH�%(H�D$1��:�tFH�S01�H��tH�zuH�L$dH3%(uGH��[]A\A]ÐL��H��L��H���N����D�J��I�<$H�T$���D$�'O����P]����H��X1�H�=��1�dH�%(H�D$H1��d��1�H��H���+�gq��H��A��H�5���H�=��H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8�j��H���7i��H�D$HdH3%(uH��X��\��ff.�f����N�+���E�+��t��H��H�=���`b����uH����H�=#��Db����u H�=���4b����u H���m�����r����f��[^����f���H��H�=��+�g��H�=��+�r��H���+H�����H��H�=!��a����uH���H���j�����H��tH�w 1��SH��1��g��H�C 1�[�ff.�f���H�G H��tSH��H���6��H�C [�D����1��f���S���v����t��t1��N��1�[Ð�1��[��H���l:��1��eN������H�71��fD��UH�oSH��H��H���9����u#H�H��H���a?����u
H��[]�fDH���[]�@��AUI��ATI��USH��H�G H�h(H����H���B��I�<$��tI9]sH���Ka��I�$H����I�]��I�$��s'��uz��t�E���u[1�H��[]A\A]�fDH�EH�zH��H��H���H�L�H�L�H)��H)���H��f�1�H�>u��p������L�f�L��f��E��ȋL��L���H�5t���We����d���ff.�f���H�G Hc@0H�1��ff.���H�G �@LH�1��ff.�@��H�G �@4H�1��ff.�@��H�G H�H@�9u�ytQATI��UH��SH�>H��PHtI9$sH����_��H�H��tMH�E �PHI�$H�E H�;H�p@�N��1�[]A\��yu��yu��yu��yu�H�1��fDH�5\��1��=d����fD��H�G H�@tH�1��ff.�f���H�G H�@uH�1��ff.�f���H�G H�@`H�1��ff.���H�G H���H�1��ff.���H�G H���H�1��ff.���H�G ���H�1��ff.����H�G ���H�1��ff.����H�G ���H�1��ff.����H�G ���H�1��ff.����H�G H���H�1��ff.���H�G H��H�1��ff.���H�G ��8H�1��ff.����H�G ��,H�1��ff.����H�G ��(H�1��ff.����H�G ��0H�1��ff.����H��H��L#HcH�
H�>HcH�5L#�)L��1�H���f���1��f���1��f���1��f���ATUS�o0H���G0@��@u�K4E1��u/D��[]A\��H� ���wt�B��A�ą�u1�K0@����A��1�H�5��}a��D��[]A\�DH�5���1��]a���ff.����g4����1��f���1�H�������ff.�@��H�G(H�W H��Rt�Pt1�����H�G @�pt1�Ð��H�W(H�G H��Rt�Pt1�����1��f���H��H�5�H����d���@7 u�P0��t�@01�H���fDH�=��+H����n��1�H���f���SH�5��H���d��H��tH��H���;��H���Da��1�[���AUH��H�5��ATI��USH��H���]d��H��H���b2������H���S����unA�H��u�v�H�5���1���_��H�[PH��tYH���,O��H��t���uЃM0H���TY���…�tу�H��L��AC��Lh���f.����C‰�H���;K��H��1�[]A\A]�ff.���ATH�5��H��USH���c��H��t6I��fDH���N��H��tP�����wV���tW��H���P��[1�]A\�@H�E H�0H�F�H����L���h����uo��uTH�[PH��u�[1�]A\����t�H�5��1��^����@H�+��H���k8����t������e�����[�����
t����M�����H�5���1��M^����.����
�!���fD��AVH�5w�H��AUATUSH���Rb��H���yI��A��H9���H���GM��H��tr�H����$��������H�5S��1��]��H�H�x �1H��t,H�H��0H9�tH9h tH��M���+A���H�[PH����H�H�h L��`H��0H���M���H�P H�H�@((�B����H�x((�6���H�@((�)����H�@(H�p L���@�i�����A���=�ti��ACƉ�H����M���2���H�@(H�p L���@B�c���fDH�@(H�p L���@�K���fD[1�]A\A]A^�DH��@�����@H�5y��1��]\����q�����R������fD��SH�5��H��H���i`��H��tH����[��1�[��H�߾��G���[�ff.����ATH��H�54�USH���`��H��I���J��H��tKH�-���DH��1��[��H�[PH��t%H���J��H��t���u�L���P��H�[PH��u�[1�]A\�@��ATH�5��H��I��USH���_���@0H��tlH���'f�H��M0H��H�@ H�0��g���…�uTH�[PH��t@H���sJ��H��t���t�H�5��1���Z���H��L���c��H�[PH��u�[1�]A\�@��vܺ��@��SH��H��H���=1����t1�[�@H�=��+�48����t��H��C‰��;F��1�[����H�u�+�@��H�m�+�@��H�]�+H�=V�+�ff.�f���H��H�1�+H��PH���fD����i�����SH��H��H���1����t1�[�@H�{1���,���Å�uH�=�+���`��1�[�D��7����t�H�5���1��Y����f.����'A�����SH�5ȚH���]��H��@7uH���O���C7u$1�[Ð�[7����t�x��g��H���gO���C7t�H�5���1��Y���c4����1�[���UH��H�5U�H��SH���4]��H��H���^����t���H��C‰��D���C7u
H��1�[]��6���x�sg��H��1�[]�f.���H�=M�+�@��S1�H���H�=��+H��PdH�%(H�D$H1���N��H��H�o�+H�H�r�+��4��H�=J�+�:��H�>�+H����H�=(��id��H���H����H�=D�+H�E�+H����H�?�+H�(���H�!�+H����H�{�+H�l���H��+H�~���H��+H�@���H�9�+H�2���H��+H�����H��+H�v���H���+H�����H�	�+H�����H��+�@��H��?#A�H�=T�H��Hc
H�eB#��]��H��H���$1�H�=j�+H�+�+@��H�CH��H�=H�+t��H�=��+t�� H�=[�+t��@H�=~�+t��H�=&�+t��H�=)�+t�� H�=D�+t��H�=,�+t��H�=�+t��H�=��+t@�πH�=��+t��H�=�+t��Hc��J��H��H���h���C�x�#]��H��H���xh��H�5A�+�H�=E�+��T��H��H���Uh��H��H�5+�+�E����C�H�=��+H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8�4��1�H��A�H�=b��H���W��H��H���jN��H�D$HdH3%(uzH��P[�@H�=)���J��H��H�Z�+H������1�H�50���.U��H�=6�+����H�5Q��1��
U���H�5q��1��T���v����I��ff.���H��H�=�+�J��H�=Վ+H��tH����[���H�5I��1�H���T��f���H�=��+�@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�!-����u-H�F�+H��H��PXH��$dH3%(uH�� [Ð1����'H�����1��f���H��t�fDH�5���1���S��ff.�f���ATI��UH��S�W��L��H��H��PXH��tLH��t�Eu!L��H���a���!B��[]H��A\��"��DI�D$ �PP9UPu��@pf9Epu�[]A\�@H��t�Et�L��H���
O������H��t�fDH�51��1��
S��ff.�f�����fD���ff.���1��f���H��H�5�H���V���@7 u�P0��t�@01�H���fDH�=a�+H���`��1�H���f���SH�5ȓH���V��H��tH��H���\3��H���TS��1�[���AUH��H�5��ATI��USH��H���mV��H��H���r$������H���/����unA�H��u�v�H�5a��1���Q��H�[PH��tYH���<A��H��t���tX��uˁM0�H����D����t˃�H��L��ACʼn��TZ���f����C‰�H���K=��H��1�[]A\A]�fD�M0H���L!���f.���AUH�5��H��ATUSH��H���U��H����I�Ľ�H���@��H��ty�����H��H�����L�+����� tr��L���*����t��vq��jI�E H�0H�F�H����L���#b����t	��
����u�H�[PH���m���H��1�[]A\A]����H�5���1��kP���H�߉��lA��H��1�[]A\A]����ې��L���*�����J���I�E H�0H�F�H��wEL���]E�����_�����
�V�����t���H�5���1���O����r�����
�`���fD���Q�����H�5V��1��O����2������AVH�5אH��AUATUSH���S��H����I��L�-���H�H�h L��`H��0H����H9���H���>��H��t|�H�3���N��IcD�L�>��f�H�F(L���FH�v �\����utH�H�x ��H��t)H�H��0H9�tH9h tH��M����A��DH�[PH���C���[1�]A\A]A^�H�F(L���FH�v �7����t�@=������C‰�H���`?���u����FH�V(L��H�� ��Z���G����H�F(L���FBH�v �I���#���H�F(L���FBH�v �U������H�F(L���FBH�v ��������B���wP�F�����H�P H�H�@((�k���@H�x((�\���H�@((�O���H�3�F����@1�H�5����]M��H�H�x �y����H�5Q��1��5M���������C���v���ff.���SH�5X�H��H���9Q��H��tH���^��1�[��H�߾�8���[�ff.����ATH��H�5�USH����P��H��H���!��H��tPL�%��DL��1��yL��H�[PH��t*H����;��H��t���t$��u�H���o-��H�[PH��u�[1�]A\��H�������ff.���ATH�5g�H��I��USH���CP���@0H����H���4fDH�5���1���K�����H��L���sT��H�[PH��tbH���;��H��t�H���t3��u��M0�H�@ H��H�0�H/����t���v�����M0H�@ H��H�0�?����[1�]A\Ð��SH��H��H����!����t1�[�@H�=�+�9����t��H��C‰���6��1�[����H�Ņ+�@��H���+�@��H���+H�=��+�ff.�f���H��H���+H��PH���fD���WZ�����SH��H��H���="����t1�[�@H�{1��u���Å�uH�=0�+���@��1�[�D�3.����t�H�50��1��,J����f.����1�����SH�5X�H���<N��H��@7uH���;Q���C7u$1�[Ð��-����t�x���;��H���Q���C7t�H�5��1��I���c4����1�[���UH��H�5�H��SH����M��H��H���2����t���H��C‰�� 5���C7u
H��1�[]Ð�;-���x�S;��H��1�[]�f.���H�=��+�@��S1�H���H�=�+H��PdH�%(H�D$H1��a?��H��H���+H�H�ƒ+�E��H�=��+�52��H���+H����H�=���T��H���H�����H�=��+H���+H�����H���+H�(���H�q�+H����H�˃+H�����H�m�+H�����H�o�+H�����H���+H����H�[�+H�d���H�e�+H�v���H�O�+H�����H�Y�+H�*���H�S�+�.1��H��3#A�H�=ʢH��Hc
H�2#�XN��H��H���$1�H�=��+H�{�+@��H�CH��H�=��+t��H�=�+t�� H�=��+t��@H�=΂+t��H�=v�+t��H�=y�+t�� H�=��+t��H�=|�+t��H�=D�+t��H�=O�+t@�πH�=I�+t��H�=Q�+t��Hc��:��H��H���Y���C�x�M��H��H���Y��H�5��+�H�=��+�E��H��H����X��H��H�5{�+�&6����C�H�=��+H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0H�D$8�4%��1�H��A�H�=o��H���H��H��H���>��H�D$HdH3%(uzH��P[�@H�=q��T;��H��H���+H������1�H�5x���E��H�=��+����H�5���1��E���H�5���1��E���v����9��ff.���H��H�=1�+�B��H�=%�+H��tH���3���H�5���1�H���)E��f���H�=
�+�@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�����u-H��+H��H��PXH��$dH3%(uH�� [Ð1����8�����1��f���H��tH���H�5��1��UD��D��AUATI��UH��SH����G��L��H��H��PXH����H��t
D�mA�� u(L��H���uR���2��H��[H��]A\A]�=��fDA����A��tI�D$ �@rf9Eru�A��t
I�D$ �@X9EXu�A��t$I�D$ H�Uy:Pyu�H�pzH�}z� �����{���A��tI�D$ �@x8Ex�`���H��[]A\A]�f.�H��t�E t�L��H���
?���0���DI�D$ �@T9ET�����?���f.���H��t�fDH�5���1���B��ff.�f���1��f����ff.���1��f���AVH�5��H��AUATUSH����F��H����I��L�%���H�H�h L��`H��0H����H9���H���1��H�����H���
�2��Ic�L�>��fDH�A(H�q L���AB�Q������=��5���C‰�H����2��H��t$H�H��0H9�tH9h tH��M���
A��H�[PH���*���[1�]A\A]A^��H�P H�H�@((�+���@H�x((����H�@((����H�A(H�q L���AB�(���C���H�A(H�q L���AB�-���#���H�A(H�q L���AB�(?������H�A(H�q L���AB�E�����H�A(H�q L���AB�.������H�A(H�q L���AB�hL�����H�A(H�q L���AB�h�����H�A(H�q L���AB�0���c���H�A(H�q L���AB�x ���C���H�A(H�q L���AB�h<���#���H�A(H�q L���AB�+������H�5)��1���?��DH�H�x ����H�5��1���?�������DH��@�����@�C6��H�[PH������������SH��H��H���
����t1�[�@H�=	{+�>����t��H��C‰��+��1�[��H��tSH���r2��H��1�[H�5��O��H�5���1��
?��ff.�f���H��tH�8H��t�@H�5���1���>��D��H��tH�8H��t�i��f�H��H�5���1��>�������H���ff.�@��H�z+�@��H�z+�@��H��y+H�=�y+�ff.�f���H��H��y+H��PH���fD��AU1Ҿ1�ATL�%�y+USH��H�=�y+H���c4��H��H��y+H�
H��y+�c��H��&#H�-�'#H�����H�5����H��A������H�6y+H�����@H�5y+L���_8��L�-y+M���H�y+H��tL�h8H��H�=y+H�y+H�����H�y+H�����H��x+H��H�Py+�[&��Hc�H��A�H��H�=��C��H��H����1�H�=�x+L�cH@���H�=�x+t��H�=�x+t�� H�=�x+t��@H�=�x+t��H�=}x+t��H�=�x+t�� H�=�x+t��H�=�x+t��H�=Kx+t��H�=Vx+t@�πH�=Px+t��H�=Xx+t��Hc���/��H��H���]N���C�x��B��H��H���GN��H�5�w+�H�=�w+�:��H��H���$N��H�=uw+H��t�c��H��H���N��H��H��H�5bw+[]A\A]�?+���H�5����;��H�=w+H�5��#���H���1�[]A\A]�l;��@H�=����0��I��H��v+H��t-H�=V��G��I�������DH�5����H�5	��1��
;���q������H��H�=�v+�6��H�=uv+H�����ff.����H�=�v+�@��U��H���SH��dH�%(H��$x1�H��H���H�H���D$�}
��H�}H�uH��I��E1�1��G���Ņ�u/H���w����H��$xdH3%(u)H�Ĉ[]����H�5O��1��:����4.��@��ATI����I��USH��I�0dH�%(H��$x1�H��H��H���H�I�x�D$�v,���Ņ�uH�D$ H�I�$H��������H��$xdH3%(uH�Ā[]A\��-��fD��SH���c-��H�{ H��t�C+@t$H�{H�CH9�t��/��H��[��/��f��4����f���UH��H��H�5rzSH��H���Q=��H��t�@+ uH��H�������t&H��1�[]�DH�����H��H�������u�H�{1�����H�=^t+������H��1�[]�ff.���H��t���f��ff.�@��ATI��8UH���S���H��H��tkH��t&�H(@H�@H�hH�CH�C0H��[]A\��A��H�C H��tGH�CH�C0H�C�C+@u�L��H���-����t�H��1����붐H�5!��1���7���H��1��q.���ff.�@��UH�5yH��H��SH��8dH�%(H�D$(1���;��H��H��t,H��1���7��H�T$(dH3%(���H��8[]�DH���&��H����H�PH��H�t$H�D$H�|$H�T$H�D$����Å�uT1�1����H��H����H�D$H�T$H�{H�H�t$H��H�C�� ���K(�H��H���"���A���D��H���~"����~��-�����۸H�����f�H�5i����z6����D�H���"�������t*��@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�����u-H��q+H��H��PXH��$dH3%(uH�� [Ð1����)�����ATI��1�UH��S�;��H��t6H��H�@ H��H�p �3?����t/�H�5K�1��5��H��[]A\���[H��]A\���@H��L��[]A\�11�����1��f���H��tH�H��t#�F<�H�5)��1��5��DH�5Q��1��5��D��H��t�fDH�5i��1���4��ff.�f���U1�H��1�SH���*4��H��t5H��H��H�5���H����H�߾�)��H��UH��1�[]�H���
[]�@���ff.���1��f���H��1�H�=��1��(0��1�H�op+H��H����B����H��H�=˿�<.����uH���H���=�����H��H�=!p+�,��H�=p+��>��H�p+H�����H��H�=k���-����uH���H���G"�����1��f����ff.���1��f���H�������u1�H����1����1�H���f���H�71��fD��UH�oSH��H��H���WD����u#H�H��H���2����u
H��[]�fDH���[]�@��ATI��UH��SH�� H��H�>H�<�tH9:s��-��H�EH��t7H�� H�<�I�<$H�� H�s H�}H���h��1�[]A\ÐH�5l�1��M2�����fD��H��(H�1��ff.�@��H��0H�1��ff.�@��H��8H�1��ff.�@��H��@H�1��ff.�@��H��HH�1��ff.�@��H��PH�1��ff.�@��H��XH�1��ff.�@��H��`H�1��ff.�@��H��hH�1��ff.�@��H��pH�1��ff.�@��H��xH�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��H���H�1��ff.�@��ATI��UH��SH�>H��H��0tI9$sH���$+��H�EH��t+H��0I�$H�}H�������1�[]A\�f�H�5�|�1��/�����fD��H��8H�1��f.�D��1��f���1��f���1��f���AUATUSH����PLJPA��A�������݁�E��u5������T��uEH����[]A\A]������D��1�H�5��������.����uZ�������t���H�5��1��.���H��[��]A\A]�A��1��H�5O�A���v.��E��u���D��t�H�5���1�����M.��������C�������T����1��ff.�@��1��f���SH��H��HH�� H�s H������H��HH�� H��1�[���UH��H� SH��H��H�����H�� H��1�[]���SH��HH��H� H��H���y��H��HH��H�� 1�[���1��f���SH��H��HH��0H���H����'��H��HH��0H��1�[�ff.���UH��SH��H���H������H��0H��1�[]�@��SH��HH��H���H��H������H��HH��H��01�[�ff.���1��f���H��HH��8H��1��@��H��81��f���H��HH��H��81��@��1��f���H��tH�H��t#�F<�H�5i��1���+��DH�5���1���+��D��H��t�fDH�5���1��+��ff.�f���AW1ҾAVAUI���ATUSH��(dH�%(H�D$1��j������H�t$1�A�����H�D$H��H��ue�=�I�(D��H��D��H��I�G ILJ8)���@1����H�L���4�������L��L���&������H�H��t]H�k�����H����
��1�Lc����I��H����L��H��������g���H�5��1��*��L�����H�H��u�D���|;��H�|$������1�����H�T$dH3%(��H��([]A\A]A^A_�L������J���H�5�{�1��
*��D���;��H�|$����
�H�5����)��D����:����{���H�5����)����`���H�5^��1��)��������C������@���ff.���1��f���1��f���H��H�5Q��1��E)���H���f.����H��H�5ujH���Y-����T�� t+��y1�H���H�=Ie+H���a7��1�H���f.���P��t	�@ǀP��y����H�=e+H�Ɖ�T�w$��1�H�����AUH�5�iH��ATUSH��H���,��H��tJI��H�-���H������H���w�L�+���!��HcD�H�>��@���H���A��H��1�[]A\A]�@��L�������������y¸�fD��L�������u�I�E H�0H�F�H���TL�����������
�������^���f���L���~�����p���I�U(I�u L����(����tr��
tm��t���H�5���1��C'������f�H�5��1��'�������I�U(H��w>I�u L��������t��
u9������H�[PH���k���H��1�[]A\A]�fD����fD���t�����H�5��1��&����U�����H�5/��1��{&����6����
�,������AVH�5�gH��AUATUSH���*��H����I��L�%��H�H�h L��`H��0H����H9���H���Y��H��t{�H�3������Ic�L�>��f.��FH�F H�F(I�VH�f�H�H�x �rH��t$H�H��0H9�tH9h tH��M����A��H�[PH���D���[1�]A\A]A^ÐH�P H�H�@((�K���@H�x((�<���H�@((�/���A��B�*H�F(L���FH�v ����DA��B���FH�V(L��H�� �	���af�A��B��H�F(L���FAH�v �"���-DA��B��H�F(L���FAH�v ����DA��B�jH�F(L���FAH�v �*����DA��A��:H�F(L���FAH�v ���DA��A@�
H�F(L���FAH�v ��3���mDA��A ��H�F(L���FAH�v ����=DA��A��H�F(L���FAH�v �
#���
DA��A�zH�F(L���FAH�v �
�����DA��A�JH�F(L���FAH�v �
���DA��A�H�F(L���FAH�v �
���}DA��A��H�F(L���FAH�v �j���MDA��@���H�F(L���FAH�v ����DA��@@��H�F(L���FAH�v �
����DA��@ �ZH�F(L���FAH�v �z���DA��@�*H�F(L���FAH�v ��'���DA��@��H�F(L���FAH�v ����`�A��@��H�F(L���FAH�v �Z���0�A��@���FH�V(L��H�� ��/��fD�������=�th���C��L@1�H�5_���E!��H�H�x ������H�59o�1��!������H������_���H�3fD�F��M�������H�[PH��������e������ATH��H�5bUSH���$��H��H������H��tUL�%��"D��tcL��1�� ��H�[PH��t*H������H��t���t'��u�H�����H�[PH��u�[1�]A\�f.�H���h���fDH����#���fD��ATH�5gaH��I��USH���C$��ǀPH����H���>����H�5X��1��������H��L���j(��H�[PH����H�����H��t�H���t6��u���PH�@ H��H�0�����t���v������PH�P(H��H�p �(����@��PH�P(H��H�p �����[1�]A\�f���SH��H��H�������t1�[�@H�=I[+�d����t��H��C‰��
��1�[��H��tSH���B��H��1�[H�5�	�/��H�5Q��1����ff.�f���H��tH�8H��t�@H�5Q��1��U��D��H��tH�8H��t�	
��f�H��H�5E��1���������H���ff.�@��H�EZ+�@��H�EZ+�@��H�5Z+H�=.Z+�ff.�f���H��H�Z+H��PH���fD����Z+�D���=�Z+�D��SH�5�^H���!��H���WuH�������Wu1�[�����tߍx������DH�5y��1����1���T����[�ff.�@��UH��H�5E^H��SH���$!��H��H���y�����t���H��C‰������WuH��1�[]�fD�S�x���H��1�[]�f���AT1Ҿ1�UL�%�X+SH��H�=�X+����H��H��X+H�H��X+��)��H�-2#H��#H�����H�5����D�EH���<�H�mX+H���T�@H�5VX+L�����H�?X+H���fH�7X+H��tH�B8H��H�=PX+H�QX+H�Z���H�KX+H�����H�-X+H�H��X+H���H�)X+H�H�+X+H�dH�EX+H�F���H�X+H�����H�!X+H�J���H�X+H�����H�X+H���H�X+�b��HcMH��A�H��H�=Ŧ�!��H��H����1�H�=�W+L�cH@���H�=�W+t��@H�=�W+t��H�=`W+t��H�=;W+t��H�=�W+t�� H�=FW+t�� H�=aW+t��H�=IW+t��H�=W+t��H�=W+t@�πH�=W+t��H�=W+t��Hc���
��H��H���c,���C�x� ��H��H���M,��H�5VV+�H�=bV+����H��H���*,��H�=;V+H��t�i���H��H���,��H��H�5,V+[]A\�K	��H�5A�����H�=�U+H�5�������[�]1�A\���f�H�=9�����H��U+H���~���H�5=���S��몐H�5������H��H�=�U+�<��H�=uU+H���\���ff.����H�=�U+�@��U��H���SH��dH�%(H��$x1�H��H���H�H���D$��H�}H�uH��I��E1�1���%���Ņ�u/H�����H��$xdH3%(u)H�Ĉ[]����H�5�h�1��[����t��@��ATI����I��USH��I�0dH�%(H��$x1�H��H��H���H�I�x�D$�
���Ņ�uH�D$ H�I�$H�����H��$xdH3%(uH�Ā[]A\�����fD��S� ��\���H��H��tH��[��H�5��1����H��[���AUH�5�XH��ATI��USH��H�����H�����H��HH����DžPH���������A�H��u1�����H�5Ȩ�1����@H�[PH��tdH���G��H��t���t{��u���PH��������tȃ�H��L��ACʼn��\���f.����H��C‰��K��H��1�[]A\A]�fD��PH���y������PH������@H�߾
���H��1�[]A\A]�ff.���������SH�5XWH���<��H��t'H��H������H��HH��t� ��HǃH1�[�ff.����SH���##��H��HH��t�� ��H�{H�CH9�t�0��H��[�'�����UH��H��H�5�VSH��H�����H��t	��W u#H��H������t+H��1�[]�f.�H�����H��H�������u�H�{1����Å�uH�=`Q+���I%��H��1�[]�����t�H�5��1�������f���H��t�B��f��ff.�@��U�`H���SH���D���H��H��tLHǃXH�@H�C��W@tH��H��[]�fDH��H���%����t�H��1�������DH�5���1��-���ff.���ATH�5gUH��I��USH��0dH�%(H�D$(1��2��H��H��t*H��1��0��H�T$(dH3%(����H��0[]A\ÐL�����H���H�PH��H�t$H�D$H�|$H�T$H�D$�����Å���1��Q���H��H����H�D$H��H�EH��H=����������H�=�O+H���M���Å�u5H�T$H�}H�UH�t$H������H��L�灍T��G�����H���j��f.���L�������~������۸H������H���#���L���V�������H�5i{���z�����D�L�������y���f������
L��
����T����O��ff.�@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�����u-H�&N+H��H��PXH��$dH3%(uH�� [Ð1����������������USH���dH�%(H��$�1�H��H���!�������#����H�h�"fo$foL$foT$ fo\$0H��$�Jfod$@fol$PR fot$`fo|$pfo�$�Z0fo�$�fo�$�H���fo�$�b@jPr`zp��������H��$�dH3%(��H���[]�f.�H�-��"H�$H�s H�
"#H��M+H�EH�D$H�} H�EH�D$H�E�D$�EH��$�H��������t*�=<M+u!H�5R��1��%M+����H�s0H�
�#H�NM+H�}0�����t)�=�L+u H�5A��1���L+���fDH�s@H�
e#H�M+H�}@�m�����t)�=�L+u H�51��1���L+�v��fDH�sPH�
#H��L+H�}P�%�����t)�=`L+u H�5!��1��IL+�.��fDH�s`H�
�#H��L+H�}`������t)�=L+u H�5��1��L+����fDH�spH�
�#H�nL+H�}p�����t)�=�K+u H�5��1���K+���fDH���H�
B#H�3L+H����G�����t#�=K+uH�5��1��hK+�P��H���H�
�#H��K+H��������t+�=6K+u"H�5ۢ�1��K+����H���H�
�#H��K+H��������t+�=�J+u"H�5â�1���J+�
���H���H�
Z#H�{K+H����_�����t+�=�J+u"H�5���1��}J+�h
���fo$$fol$fot$ fo|$0H��$�)%jJ+fo�$�)-jJ+fod$@fol$Pfo�$�)5^J+fo�$�)=^J+fot$`fo|$pfo�$�H��J+1�)%IJ+)-RJ+)5[J+)=dJ+)mJ+)
vJ+)J+)�J+������ff.����ff.����������H��H�=��"�������O�H���ff.�f����f.��UH��H�5=�SH���[��H��tBH��H��H��1�H�5e��_��H�߃�u���1�H��[]�f����������������ff.�f����ff.���AVH�5��AUATI��H��UL��SH��pdH�%(H�D$h1�H�G�HLJ�H��H)�������H�H�=�����H���!I��H��fDL��dH�����H�����	H�����H��H���6�����
H�{1��I���H��A����
�T$��Ct;��AtN��Pti��Su|�|$h�f��|$e�m���A�D$�c����|$Eu�A�$�P�����|$
E���|$bu�A�D$�,���@�|$Eu�A�D$�������O�&�|$	B���|$et��T$��C����O����U����S������H�� I��$�I��$����f�A�D$���fDL���x��������H�L$hdH3%(�yH��p[]A\A]A^�f�A�D$�^���fDA�D$�N���fD��H�� I�T$8I�D$0�3���IDŽ$�L������1�덉�H�� I�T$(I�D$ ������H�� I�T$HI�D$@���������V����L$��e�f�����It.��Fua�|$U�������H�� I��$�I��$������Ct[��Otn��Ut~��S�������H�� I��$�I��$��m���D��R�_�����H�� I��$�I��$��D���@��H�� I�T$XI�D$P�+�����H�� I�T$hI�D$`������H�� I�T$xI�D$p����Q�������ff.���SH�wH���H�=�������x]H�sH�=�������xIH�sH�=�������x5�C����H�sH�=�������xH�sH�=���{������O�[�f.�D�����H���tLJ��@H��H���5��D�����H���tLJ��@H��H�����D����`H���tLJ`�@H��H������D��ATI��UH��S���H��thH��H��0H��@H��8H��PH��8H��0H��PH��H��H���H��H��X���I�|$8H��[]A\�Q���[]A\�ff.���ATI��USH�����H��tBH��H��0H��H��8H��@H��0H���H��@�C��I�|$H�������!�H��H��t?H��0H��H��8H��HH��0H���H��@�g
��I�|$ H�����H��8ux��H��H����H��0H��XH��8H��PH��PH��0H��hH��H�r�H���H��H��X��I�|$0[H��]A\������H��H���w���H��0H���H��8H���	H��8H���	��H���H��H���	���I�|$(H��������H��H���%���[]A\�ff.�@��ATI��H�=�YUS����H�5���L��H��H��A��$��/�1�H��S`L��H��H������H���z�1�H������H��SH��u�H��[]A\��f���ATI��H�=YUS���H�5���L��H��H��A��$��/�1�H��S`L��H��H���b��H������1�H���P��H��SH��u�H��[]A\��f���ATI��H�=�XUS����H�5r���L��H��H��A��$��/�1�H��S`L��H��H������H�����1�H������H��SH��u�H��[]A\��f���ATI��H��USH��dž����H��L��A�T$XH��tHL���H��M��t!H��H���&��L���H������[1�]A\�H���u��q�I����@H���tH��L�����[1�]A\�@�C�H�����f.���ATI��H��USH��dž`� �H��L��A�T$XH��tHL��XH��M��t!H��H�����L��XH���W��[1�]A\�H��Xu���I����@H��XtH��L������[1�]A\�@��H��X��f.���ATI��H��USH��dž��P���H��L��A�T$XH��tPL���H��M��t!H��H���F�L���H����[1�]A\�H���u�H��x~���I���f�H���u
H��xH��L������[1�]A\�f.����H�����f���SH��H��?
��H�{ �F
��H�{(�-��H�{0��H�{8�{��H�H��H�5n���H����H�CH��H�5���H����1�[�f.���SH��pdH�%(H�D$h1�H�\$ H�D$�
��H�D$ ���H�D$(�0���H�D$0�v�H�D$8���H�D$@���H�D$H�	��H�D$P�^�H�t$H��H�D$X����D$uH�T$hdH3%(uDH��p[��H�|$ �D$�z�H�|$(���H�|$0���D$�D$t�H���C�����f.�f����:�t1�ÐAUATUSH��H��H��tgI��H�-x�@�C,��uIH��H�5�@���H��I�����M��tJH��tE�����wHcD�H�>�຀H��L������H�[PH��u�H��1�[]A\A]�f.�H�5Q��1��
���H�;1�1Ҿ���H�[PH���_����DH�;I��x�A���H�[PH���7����DH�;I��p�B�|���H�[PH�������c���f.�H�;I��h�B�L���H�[PH�������3���f.�H�;I��`�����H�[PH�����������f.�H�;I��X����H�[PH����������f.�H�;I����C���H�[PH���O������f.���ATA�H�5-�"�	UH���"H�=ɓS���H���2H�=S�H����H��H���G� �H�n;+��H�Z;+H���QH��E1����B1���H�=.;+�H��H�H�G���I��H����H��H���D����u H�5�:+H��������[]A\�@�H�54�1�����L����H�=�:+H��t!����H�����H��t�H��[]A\���H������H��[]A\����@H�5���1��m�����H�5ܒ1��U���H�=F:+H���\���[]A\�L���@�H�5�1��%���H�=:+H���n���� ����d���H�5!������-���f��H�5��1�1�����H�=�9+H������[H��]A\���ff.�@��������H������9�H��tH�PH�dH�PH�����AU���ATUSH��H��0H��h
dH�%(H��$X
1�H��L��$pL��$�H���H���L���D$B�H���L��L�,$�H�H��Ƅ$�Ƅ$�L��$p����H��8�L������H��PH��@L�����H�{H�3H��I��E1�1�����Å�u1H�������H��$X
dH3%(u+H��h
[]A\A]�fD��H�5�J�1��S�����l�ff.����H�H��H��H�H���H�~H��H���H��H)�H)ȁ��H��H�B���H�H�B�f���H��t��f��ff.�@��������H��7+�@��1�H�5����
��ff.���H�=}7+H��t(H����H�=p7+H�]7+H���L���@H�=Q7+�<���ff.������������:�t1�ÐAUATUSH��H��H��tpI��L�-X:�f���H��L�����H�[PH��tI�C,��u�H��L������H��H���*�H��t5H��t0�8u�H�;H��X�C�w���H�[PH��u�H��1�[]A\A]ÐH�5���1��}���H�;1�1Ҿ�\���w������ATA�H�5��"�	UH�p�"H�=5�S���H���2H�=ːH����H��H���G� �H�6+���H��5+H���QH��E1����B1��=�H�=�5+�H��H�H�G�{���I��H����H��H����	����u H�5�5+H��������[]A\�@�H�5��1��]���L���%�H�=V5+H��t!�T�H�����H��t�H��[]A\���H���p��H��[]A\�t��@H�5��1������H�5L�1����H�=�4+H���\���[]A\���@�H�5��1����H�=�4+H���n������d���H�5�������-���f��H�5�1�1��k���H�=l4+H������[H��]A\���ff.�@���w�����H���h�����H��tH�PH�dH�PH�����AU���ATUSH��H��0H��h
dH�%(H��$X
1�H��L��$pL��$�H���H���L���D$B�H���L��L�,$�H�H��Ƅ$�Ƅ$�L��$p�p��H��8�L���\��H��PH��@L���F��H�{H�3H��I��E1�1��O���Å�u1H���A����H��$X
dH3%(u+H��h
[]A\A]�fD��H�5E�1�������ff.����H�H��H��H�H��`H�~H��H��`H��H)�H)ȁ�hH��H�B���H�H�B�f���H��t��f��ff.�@���w�����H�U2+�@��1�H�5������ff.���H�=2+H��t(H����H�=2+H��1+H�����@H�=�1+���ff.������������:�t1�ÐAUATUSH��H��H��tpI��L�-�4�f���H��L���0���H�[PH��tI�C,��u�H��L�����H��H����H��t5H��t0�8u�H�;H��@�C��H�[PH��u�H��1�[]A\A]ÐH�5	��1��
�H�;1�1Ҿ�����w������ATA�H�5��"�	UH�`�"H�=��S�3���H���2H�=3�H����H��H���G� �H��0+�9��H��0+H���QH��1ɺB�B1����H�=t0+�H��H�H�G��I��H����H��H���j����u&H�570+H��������[]A\�f.��H�5$�1����L����H�=�/+H��t!���H�����H��t�H��[]A\���H�����H��[]A\���@H�5���1�����H�5��1��u�H�=�/+H���V���[]A\�l�@�H�5��1��E�H�=V/+H���n����@��d���H�5	�����-���f��H�5|�1�1���H�=/+H������[H��]A\�/��ff.�@�������H���P��Y��H��tH�PH�dH�PH�����AU���E1�ATUH��SH��0H��dH�%(H��$�1�H��L��$pH���H�H���D$BL�$$�3���L�蹎L���H�H��8�L��Ƅ$�B�	���H�}H�uH��I��E1�1������Ņ�u+H�������H��$�dH3%(u%H��[]A\A]É�H�5�?�1�������@��H�H��H��H�H��HH�~H��H��HH��H)�H)ȁ�PH��H�B���H�H�B�f���H��t���f��ff.�@��������H�5-+�@��1�H�5����n���ff.���H�=�,+H��t(H�����H�=�,+H��,+H�����@H�=�,+����ff.�����������:�t1�ÐAUATUSH��H��H��tpI��L�-�/�f���H��L������H�[PH��tI�C,��u�H��L���u�H��H�����H��t5H��t0�8u�H�;H��@�C���H�[PH��u�H��1�[]A\A]ÐH�5���1����H�;1�1Ҿ����w������ATA�H�5]�"�	UH���"H�=O�S��H���2H�=ۉH�����H��H���G� �H��++�	��H�z++H���QH��1ɺB�B1���H�=T++�H��H�H�G���I��H����H��H���:�����u&H�5++H���w������[]A\�f.��H�5��1���L����H�=�*+H��t!��H������H��t�H��[]A\���H������H��[]A\����@H�5!��1��]���H�5d�1��E�H�=f*+H���V���[]A\�<�@�H�5��1���H�=6*+H���n������d���H�5�������-���f��H�5�1�1����H�=�)+H������[H��]A\���ff.�@��������H���P��)��H��tH�PH�dH�PH�����AU���E1�ATUH��SH��0H��dH�%(H��$�1�H��L��$pH���H�H���D$BL�$$����L�蹎L���H�H��8�L��Ƅ$�B�ٺ��H�}H�uH��I��E1�1�����Ņ�u+H��������H��$�dH3%(u%H��[]A\A]É�H�5�:�1��{�����@��H�H��H��H�H��HH�~H��H��HH��H)�H)ȁ�PH��H�B���H�H�B�f���H��t��f��ff.�@���������H�(+�@��1�H�5����>���ff.���H�=�'+H��t(H����H�=�'+H��'+H������@H�=�'+���ff.������������:�t1�ÐAUATUSH��H��H��tpI��L�-�*�f���H��L�����H�[PH��tI�C,��u�H��L���E�H��H���Z��H��t5H��t0�8u�H�;H���	�C��H�[PH��u�H��1�[]A\A]ÐH�5Q��1���H�;1�1Ҿ����w������ATA�H�55�"�	UH���"H�=�S���H���2H�={�H�����H��H���G� �H�n&+����H�Z&+H���QH��1ɺB�1��s��H�=4&+�H��H�H�G��I��H����H��H���
�����u&H�5�%+H���G������[]A\�f.��H�5t�1���L���U��H�=�%+H��t!��H�����H��t�H��[]A\���H�����H��[]A\���@H�5х�1��-���H�5��1���H�=F%+H���V���[]A\��@�H�5D�1����H�=%+H���n�������d���H�5Y�����-���f��H�5̅1�1���H�=�$+H������[H��]A\����ff.�@�������H����	����H��tH�PH�H�PH�����AU��E1�ATUSH��H���H��H���	dH�%(H��$�1�H��L��$pH���H�H���D$L�$$�ѵ��L�蹎L���H�H���	�L��Ƅ$�B觵��H�{H�3H��I��E1�1���Å�u2H�������H��$�dH3%(u,H��[]A\A]����H�5w5�1��C���\��ff.����H�H��H��H�H���	H�~H��H���	H��H)�H)ȁ��	H��H�B���H�H�B�f���H��t�r��f��ff.�@��闺�����H��"+�@��1�H�5�����ff.���H�=�"+H��t(H���w��H�=�"+H��"+H���|�@H�=�"+�l�ff.�����'������:�t1�ÐAUATUSH��H��H��tpI��L�-H%�f���H��L����H�[PH��tI�C,��u�H��L����H��H�����H��t5H��t0�8u�H�;H��X�C�g�H�[PH��u�H��1�[]A\A]ÐH�5��1��m�H�;1�1Ҿ�L���w������ATA�H�5]�"�	UH���"H�=��S��H���2H�=+�H���{��H��H���G� �H�>!+���H�*!+H���QH��E1��B��1��-��H�=� +�H��H�H�G�k�I��H����H��H������u H�5� +H���������[]A\�@�H�5$�1��M�L�����H�=� +H��t!�D��H���|��H��t�H��[]A\�{�H���`��H��[]A\�d�@H�5���1������H�5��1����H�= +H���\���[]A\����@�H�5�1���H�=�+H���n�������d���H�5	���w��-���f��H�5��1�1��[�H�=�+H������[H��]A\���ff.�@���������H���h����H��tH�PH�dH�PH�����AV��E1��AUATUSH��H��0H��`
dH�%(H��$X
1�H��L��$pL��$�H���H�H���D$BL�,$艰��L��L���H�H��HH��8L��Ƅ$�L��$p�U���L��L���H�H��P�L��Ƅ$�B�+���H�{H�3H��I��E1�1��4��Å�u.H���&�����H��$X
dH3%(u(H��`
[]A\A]A^Ð��H�5�/�1����������@��H�H��H��H�H��`H�~H��H��`H��H)�H)ȁ�hH��H�B���H�H�B�f���H��t���f��ff.�@��������H��+�@��1�H�5�����ff.���H�=M+H��t(H�����H�=@+H�-+H���|��@H�=!+�l��ff.�����������:�t1�ÐAUATUSH��H��H��tpI��L�-��f���H��L��� �H�[PH��tI�C,��u�H��L����H��H�����H��t5H��t0�8u�H�;H��X�C���H�[PH��u�H��1�[]A\A]ÐH�5��1����H�;1�1Ҿ�����w������ATA�H�5
�"�	UH���"H�=S�#�H���2H�=�H�����H��H���G� �H��+�)��H��+H���QH��E1��B��1����H�=�+�H��H�H�G���I��H����H��H���T���u H�5a+H���������[]A\�@�H�5�1�����L�����H�=&+H��t!����H������H��t�H��[]A\��H����H��[]A\���@H�5�1��}����H�54~1��e��H�=�+H���\���[]A\�\��@�H�5|~1��5��H�=�+H���n����0���d���H�5�~�����-���f��H�5�~1�1�����H�=<+H������[H��]A\����ff.�@��������H���h��I���H��tH�PH�dH�PH�����AV��E1��AUATUSH��H��0H��`
dH�%(H��$X
1�H��L��$pL��$�H���H�H���D$BL�,$����L��L���H�H��HH��8L��Ƅ$�L��$p���L��L���H�H��P�L��Ƅ$�B軪��H�{H�3H��I��E1�1�����Å�u.H��趵����H��$X
dH3%(u(H��`
[]A\A]A^Ð��H�5�*�1��[����t��@��H�H��H��H�H��`H�~H��H��`H��H)�H)ȁ�hH��H�B���H�H�B�f���H��t���f��ff.�@���W�����H�%+�@��1�H�5�����ff.���H�=�+H��t(H�����H�=�+H��+H�����@H�=�+���ff.����������H��tH�8H��t1�H�5���H�5a|�1��
��ff.�f���H��tH�8t��H��H�5U|�1����������H������AUATUH��SH��H�����tq=�uoL�%d~H��tc�S,��uyH��H�5����H��I������M��tzH��tu�8w@�Ic�L�>��@�C,��u�H��H�����H�[PH��u�H��1�[]A\A]���H��H����H�[PH���s���H��1�[]A\A]�fDH�5�{�1�����H�;1�1Ҿ輽��H�[PH���/����DI���H�;�C�t���f�I��8H�;�I��8�u����p���I��@H�;�B�<���W����I��HH�;�B����7����I��PH�;���������I��hH�;�I��X�����I��pH�;�B��������I��xH�;��������I���H�;�B�|������I���H�;�B�\���w����I���H�;�B�<���W����I���H�;�B����7����I���H�;�A��������I���H�;�A��������I���H�;�A��������I���H�;�C���������AUA��	H��"ATH�=[{USH��H�5��"���H����H�=�yH������H��H����� �H��+����H��+H����H��1ҾB1����H�=�+�H��H�H�G����I��H����H��H���9����AA�	H�
T�"H������H�5������I��H�����@1H��H�h8�=���I��H����H���)��L��H�������uzH�5�+H��������sH��[]A\A]��H�5�x�1��M��DH�=�+H��t�G��H������H��t�H��H��[]A\A]�x���H�5Ty1����L������L��荥����H�5�w1�����H�=6+H���R���H��[]A\A]����fDH�5Qx�1����L���e���H����H�5�w1��}��H�=�+H���C����x���9���H�5�w��O������f.�H�5!x�1��-������H�51x�1��
�������H�5�x�1�1�������fD��������H������i���H��tH�PH�dH�PH�����U��H���SH��0H��dH�%(H��$x1�H��H���H�H���D$B�V���H�}H�uH��I��E1�1��^���Ņ�u(H���P�����H��$xdH3%(u"H�Ĉ[]Ð��H�5/"�1��������@��H�H��H��H�H���H�~H��H���H��H)�H)ȁ��H��H�B���H�H�B�f���H��t�2��f��ff.�@���������w������H��+�@��1�H�5�����ff.���H�=�+H��t8H���'��H�=�+H�m+H��tH��鷤���H���H�=Q+H��t闤����ff.�@���G���AUI��ATI��UH���:SH��H���`���H��t;I�E�
I�$H��H���k������H����[]��A\A]�DI�E�I�$��f�AWH�5?�AVI��H�=/vAUATUSH��dH�%(H��$1��6��H���
I��I���2��L��L���2��f�L��L��� ��H���7�R���H��H��t�H�5�L������1�H�5�����1�H�5{���1�H�5m���1�H�5_���H����1��
H�����1�H�59H��x�v��1�H�5$�h��H�����
1�H�����1�H�5�~H��0�;��1�H�5�~�-��1�H�5�~���1�H�5�~���H���81��
H�����H���1���1�H�5�~H�H�������H���1�H�Ǻ
����1�H�5p~H��@���H�����
1�H������H��H�k@A�<<tu<*����I�����H��H����H��0H��PL��H��8H��@H��0�I������QI�~H��襳����uQH�5�}1����I��H��u�A�H��}�@���	t��*��1�H������H��u�E��tKH��蘼�����L���(���1�H��$dH3%(��H��[]A\A]A^A_�D1�H�56}�z��H��t�1�H�Ǻ
���1�H�5}H��p�Q��H���x���1�H�Ǻ
�i��1�H�5�|H����$��H���K���1�H�Ǻ
�<��1�H�5�|H������H������1�H�Ǻ
���1�H�5�|H�������H����1�H�Ǻ
����1�H�5`|H������H������1�H�Ǻ
���1�H�53|H����p��H�������1��
H�����ƅ8H��H���HDž8HDž�I�>�I�������@��`���fDH��hH��PH��XH�x����A������f.�H�����H��蠺�����覿��fDAVH�5��I��H�=�qAUATUSH��dH�%(H��$1����H����I��H�¾I��L��H�-{���f�L��L���p��H���7蒦��H��H��t�H��L���/��H��PH��8H��@H���"�������1�H�����H����1�H�Ǻ
���1�H��H��0����H�����81H����1���H��H��`���H����1�H�Ǻ
����1�H��H��h���H��tb1�H�Ǻ
���1�H��H��p�b��H��t=1��
H���~��H��Hǃ�H��xHǃXI�~�������H��踠�����L���x���1�H��$dH3%(uH��[]A\A]A^����贽��@��H�SH���O�����t[�f�H��[������AWAVAUATUSH��H�$H��(1�H�=�+��dH�%(H��$1��ɩ��H�=f}���H����I��H��$f�L�����H���/H�hL�h@��t%茻��H�L��fD�Djt�H��H�(@��u�1��H��M���H���L��n��H�����H��Hc��`��I��H���t����H)�H�$L���p��H���wL�xL��苤��H�H=w�H�$L��H�<+L�|$�˩��1�� L���H���L��H���>���HcЅ�x��D�L��H�=>n������T�H�=,nL��������^���I�1�1��	��I��M���E���1�1�L��L�D$����L�D$�Y��I��L��H��L)�H��H��H��H1�H��H�4�H��H��H1�H��H��H�H��H��H1Ɖ�����H��t3��9�������L��+����i� N)�H��H��I�I9�u�H��H��+L��H�L�D�H���H�������f�L���h��L������H�������L���H��H��$dH3%(uOH��([]A\A]A^A_�I�1�1�����I�������=�+u�H�5�l�1���+�H����a������H��L��+A�Y��H��H)�H��H��H��H1�H��H��H��H��H1�H��H��H�H��H��H1Љƍ����H9�t)��9�t4��A����i� N)�H��H��I�H��u�H��A�D��1��f.���H�=]�"1�鎖��ff.���H��H�=�k茿����uH���H���Ǖ�����H�=
�"�P����H��H�=�k�L�����uH���H��������1��f���SH��H������Hǃ�[�ff.�@��1��f���H��������u1�H����1�虬��1�H���f���S�X�����H��H��tH��[��H�5�j�1��E��H��[����׺�����ATI��M��USH��H�l$(H��td1�H����H�H�H�{H��w\H�K H��L�����H�L�c(H�{8H�C0H��wgH�kPH�t$ H���ƭ��H�D$0H�CX[1�]A\�fDH�H�{H��v�H�C H�55��1����[�]A\�f.�H�CP��fD��UH��pSH��H��H���t$8�t$8�t$8����H�� ��u H�,H��H��螚����u
H��[]�H���[]�@��H����@DH�1��ff.����H����@HH�1��ff.����1��f���1��f���1��f���S���LJ��؃�@u�����u%[�@H�5)i�1����J���������tۉ�H�5��1��,���[�D���������1��ff.�@��1��f���1��f���1��f���1��f���1��f���H�=��"1��N���ff.���H��H�=�h謻����uH���H��釹�����H�==�"������H��H�=�h�l�����uH���H���7�����1��f���SH��H����,���Hǃ�[�ff.�@��1��f���1��f���S�X��\���H��H��tH��[��H�5h�1����H��[����������UI��L��SH��H��H��tG1�H����H�H�H�C H�{H��w6H�K H��L���'���H�k(H��1�[]�f.�H���H�5���1����H���[]Ð��UH���SH��H��H���t����u H�H��H��������u
H��[]�H���[]�@��H����@HH�1��f.�f�SH���"1�H�H��P`H��t!�H�H���H��H��R`H��u�[�D���f.���H�����1�1�H������fD��H��1�1����1�H������SH�d�"H�;t[�@H�=���,���H�H��t4诧��E1�1ɿH�֩"H�5G�"貖��H���"H�[�fDH�5�f�[�n���ff.���������H�է"H�Ð��H���"H�Ð��AUA��1�ATI��USH��H�-��"H�EH��P`H��tDH����H�EH��H��P`H��H��t#H�sL���'�����u�H��H��[]A\A]�D1�E��t� ��Z���H��H��tWL�����H=�wa�H�{L���1�����D��H������
�/H�C�Q��/Hc�H�H�}H������H��H��[]A\A]�L��H�5We�1�����H��1�豳���9���f.�f���H��H�=leH�5z�%���H��H�����f���AWAVAUATUSH��(dH�%(H��$1�H�D$<�D$<H�D$(H�D$@H�D$ H�D$HH�D$f�H�t$(1�����H��H����H�D$P�D$@L�l$DH�D$�H�t$ H��背��I��H��t�H��$��D$DH�D$fDL��L��H������H��H��t�H�D$H�E=����=uvA�L��H���%���I��H��tM�uH�T$H��荙����x9D��L��莓��H��t)H����umH��f�H���ZD$H��L�������S���=�E���A��z���f.���t��'����A�
�U���DH�|$H�ھ@�N�����x�H�����1�AVH�l$ L��c��L�L$(H���j���XD��ZH��轒��H���T���H���+���1�H��$dH3%(uH��([]A\A]A^A_�輮��f.�f���H��1�H�=c1��h���1�H�7�/H��H�������H��H�=�b�|�����uH���H���Nj�����H��H�=��/�<���H�=��/���H���/H�����H��H�=�b������uH���H��������1��f���1��f���AUATUSH��H��H�7H�l$8H��o�}H�KxH��M��M��H��H��H���q���L���H���L���H��owvH��H�t$0H���B���H�D$@H��H�D$HH��H�D$PH��H��1�[]A\A]ÐH�GxoH�5���1����H���[]A\A]�DHǃo����UH���SH��H��H���t$H�t$H�t$H�t$H�t$H��H��0��u H�vH��H���V�����u
H��[]�H���[]�ff.����H���H�1��f.�DATI���I��UL�;a�1�SH��dH�%(H��$1�H��H��VH�߾�t���XH�5�dZH���#���H��t(H��H��L��1�H�5�g1��%��H�߃�@���f���H��$dH3%(��uH��[]A\�谫����AUATUSH���dH�%(H��$�1�f�~�H��6�� �PH��:L�C 1�H���H����^�C f���09�}$�'�A���f����9���A�Pf��9wL�ԃ���)�I����L�d$���	M����L�l$8M��tv�x���I�|$�@tH�ŋC�E�����AoE�AoM�AoU$�Ao]4H�E�AoeDH�B�/H�-;�/�AomTEH�EM$U4]DeTmd1�H��$�dH3%(ufH���[]A\A]�fDL�d$H�5D_�1������1���������@����H�5_1��������t��K �����A��AWAVAUATUSL��$���H��H�$L9�u�H��f�H�t$H�\$L�d$pH��dH�%(H��$x@1�H�D$ D$<H�D$@H�D$0D$LH�D$\�D$dH�\$0�D$8H�D$HL�d$ H�$H�4$�}1�H�D$(@�}�������yw�҄��D�8A��t�A��t�D�����E���H�<^H��H���"H�81��8��������H��$x@dH3%(��H�Ĉ@[]A\A]A^A_���hH�D$H�8I���������D$p����A��9���M���Df�I�FH��tI�VL��H��Ѕ��s���A�����A)�I�D��A��~SA���vKA9�rF�T$��u��uA9wu��} A9u�A�Wf��txf��tCI�VL��H��A���y��
���DI�� I�>�B����D$` ul��������fD��#w1H�|�"��H�=u`H������������1�����5���A�WH�=]`�ډ聝����������H�(�"��H�=D`H�������H��"��H�=�_H����������8����D$` u�H�ҝ"H�`�H�81��D����說�����D��SH��tfDH��H���H��H��u�1�[�H�5\�1�色�������[�f���AVI��AUI��ATUSH��dH�%(H�D$1�H��H�$������EL�$$M���YDM����I�l$L���DH��H�s�H���t�����tDH�H��u�����H��H�H����f�H�}�H�EEI�t$�l���M�$$M��u�L�$$L��L���$���H�L$dH3%(H����H��[]A\A]A^þ��!���I��H��tI�t$H�x������H�5e[�1�1��?���H�<$趺��A������H�5>[�1�����L��貮��H�<$艺��A������Y���H�5�Z�1�1����A������8���L���(������ff.�@��AWf�1�AVAUI���ATUH���SH��dH�%(H��$�1��D$�)D$0)D$@�D$P�s����D$0����L�d$A����L��������I�|$0A��H�
j_��к������H�\$01���|$0H�CL�sf�CL��f�T$4��f��������|$0H�T$L���D$襝�������T$���z�D$4f���81��Z����|$01ɺI�D$��H�H�t$L��D$L�D$P�D$�D$ �{�������H�����H�t$`H��H�D$hH�D$`H�D$pH�D$xHDŽ$�HDŽ$�HDŽ$�HDŽ$��������7�|$0���t�ٿ��H���/�D$0����H���QE1�fDL�cL��L����������CDA�H������ƒ�����‹K0��D�����H��8�K\��D�����H��P�KX��D�����
D�H��X�sH��D���H��`�KL���H��hL�cL�3L��L�5��/舤��H��L���}���M���,���D����H��$�dH3%(�H�ĸ[]A\A]A^A_�DH�5yX�1�荭���|$0���t$菾�����H�5	X�������H�5[�1��C���H�5�W�1��0�����X���H�5�Z�1�������H�5nZ�1�����H�5cZ�1�����H�5:Z�1��Ԭ���H�5
Z�1�迬���w���H�5<Z�1�觬���_���轠��ff.�f���AWAVAUATI��UH��SH��HdH�%(H��$81��D$*t/deH�/proc/neH�D$"�vf�D$.������u0H��$8dH3%(��H��H[]A\A]A^A_��H�|$"H�5i�7���H�D$H���IL��L�t$0�,���I��H�T$�L���'���H���N�D$0L��< u
f�H���< t�<	t�L��L��H��������u�B�<;:u�N�l;L�t$A�H��Z��
L��L����H�L$L9���A�W���w)Hc�H�>��������H��X@A��I��������H�� ��D�����H��P��f�����@H��8�D����H���D�����H��`�w����������H��h�W����H�|$���������tK��@�j����/L�t$M������������M�����L�t$�@L�t$H�5�WL��L������9H�D$H�����������@u5L��H�5�WL������H�D$H��8�����@������|L��H�5mWL���B����H�D$H��P�����������&���L��H�5>WL������DH�D$H��X������������L��H�5WL�������&H�D$H��`���������Ā�����L��H�5�VL��������������H�D$H��h�m���D����¨uXM���{��������@tX���>������>���fD���'�����Ā����M������L�t$�b����@���M��uG����������������L�t$M����������������DL�t$����fD������D����^���D�������D�������踛�����ATUSH��dH�%(H�D$1�H����H��I��H�5,UH��L��H������tH�$���H��L��H�5UH�������tH�$���@H��8L��H�5�TH������t���H�$H��PL��H�5�TH������t���H�$H��XL��H�5�TH���j���t���H�$H��`L��H�5�TH���?���uH�D$dH3%(u"H��[]A\�f�����H�$H��h���d���@��AUATUSH��H����A����I��H�ͅ�x:H�κL��躇��Hc�1�L��D��芤���Å������H�H����[]A\A]Ð1Ҿ���{��A�Ņ�x`H��L���h���Hc�L��D��1��8���D���ø����H�褶��H����[]A\A]�1�H�5�P�1��r���������z���H��1������H�5jP�M����Z������SH��H��3�H��0dH�%(H�D$(1�H���d}���T$��xH�L$(dH3%(��u$H��0[�@H��H�5NP�1��ڤ��1��������AWf�AVI��AUATUH�պS��H��H�t$L�l$H��L��dH�%(H��$81�)D$)D$ H�D$0� ���1�H�|$H�H�D$DH�T$@�F�HDŽ$��H�H�T$ H��L����D$@�x|��������$����lA�߾A��I�謈��I��H���ZI��蒈��I��H���8�|$H��L��F�H�A�\$I�$L�d$ �{�����&A�_�|$H��L��A��F�L�|$ ��{�����1�C�M�o1�I�D�H��$H�D$��fDI�EA���I��(H�5�QH���x��H����A����I�EI��@H�5�QH����w��H����I�EA���I�� H�5�QH����w��H���,A���I�EI��H�	H��H�=�Q�����uI�EA���@I��8�� I��L9l$����H�ߺ I�t����H�5PH���Dw��H��tI�EA���I��H�5hPH���w��H��tI�EA���I��H�5NPH���v��H��������	H��H�=?P����������H�52PH���v��H���w���H�5.PH���v��H���_����m���f.�H�5�PH���v��H��������
H��H�=�P�������������D�H��H�=�O���������H�5�OH���#v��H����������D�H��H�=�O���������H�5�OH����u��H��������DL���x���L���p���1�H��$8dH3%(��H��H[]A\A]A^A_ø������L���6���H�5GL�1�胠��������H��H�5zL�1��f���L�����L����������끸�����w���H��H�5�L�1��/���L���ǖ��L��迖��������G����0�����SH����f�H��H��pdH�%(H�D$h1�H��H�D$0)D$H��F�D$4D$DH�D$T)$H�D$ �D$0H�D$��w����xMu(����T$>��t+������H�TH���H�L$hdH3%(uH��p[�Hǃ��ݸ�������g������H��XH�5��"1�A�	dH�%(H�D$H1�H��H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0�H�D$8H�D$@��v��H��"H�H�D$HdH3%(uH��X�踒�����H�]�"H�H��t;xu
�fD9xt	H�@0H��u�����H��t'H�G0H��t ;pu��9pt
H�@0H��u�Ð1���ff.����ATL�%�"USI�,$H��tH��9}u�AfD98t7H�@0H��u�tW���8�膂��H��tA�H��t9]~H�h0I�$[]A\��9H��H�U0H��u�H�P0H�E0[]A\�[1�]A\�f���H�M�"H�H��u�H�@0H��t	9pu�98~��D��H���"H�Ð��H���"H�8齙��f.���AU1�1�H�=cLATUSH��HdH�%(H�D$81�H�$H�D$H�D$H�D$H�D$ H�D$(H�D$0�D�������cHc��/��H�5��/���L�%�K�if.���H�=[�/Hc�軡��H�������H�;�/�=�/�X���1�1�L��1��ʂ���Ń����Hc�/H�5	�/��躛��I��Hc�/H��L9�t�������M����H�ټ/B�+H�5VKH����p��H����H��H��H�5CK1����H�5CKH���p��H���8H��H�T$H�5-K1�貁��H�5,KH�=)K蟀��H�`�/���pH�5KH���Qp��H���qH��H�T$H�5K1��b���H�5KH���#p��H����H��H�T$H�5�J1��4���H�5�JH���o��H����H��H�T$ H�5�J1�����H�5�JH����o��H����H��H�T$(H�5�J1��؀��H�5�JH���o��H����H��H�T$0H�5�J1�誀�����.�"�Q���H��H���;H�x� H�$H�CH�C(����H�CH�D$H�C ���
���H��H���KH�x��H�D$(H$H�CH�CH�D$0HD$H�C(����H�C ��蹋��H��H����H�x�^H�D$H�CH�C H�CH�C(�������r���H��H����H�x�H�D$ H�CH�C H�CH�C(������
�+���H��H���9H�x��H�D$(H�CH�C(����H�CH�D$0H�C �����H��H����H�x�IH�$H�CH�C(����H�CH+D$H�C 1��$�H�5H�诘����踩�������H�L$8dH3%(��H��H[]A\A]�@�f�/��蜓��H��H�J�/H���S������H�=�G�x��������DD��"E���^H�5�GH���m��H���`����q���H�5�GH����l��H����H��H�T$H�5�G1���}�����D�z�"���0���H�5�I�1�觗������f��5R�"����H�5SI�1�����H�`�/�_���D�
!�"E������H�5�H�1��M���������"����H�5CI�1�����H��/�[����
š"��t_H�5�H�1���H�Է/����D���"E����H�5�FH���k��H�������H�5�FH���k��H�������H�5�FH���k��H�������H�5�FH���pk��H���������H�=�E��v��H�G�/��k����=	�"���r���H�5�G�1��6���H��/���H�=\F�~v�����H�=G�mv��1��c���H�=�F�Zv�����H�=�F�Iv�����H�=pF�8v���2���H�=3F�'v������H�5�F�1�试��H���/���H�=�F���H�C���H�=�F�ҡ��H�C�E���H�=KF轡��H�C���H�=F訡��H�C���H�=�E蓡��H�C�'���H�=�E�~���H�C����H�5�F�1�����H��/����H�5aD�1�����������A������f.�DSH�(~"1�H�H��P`H��t!�H�H��p�H��H��R`H��u�[�D���f.���H�����H���w��f.���H���w��1�H���ff.��S�����x��H��H��t/H�����x���
�/H�C�Q��/Hc�H�H�R}"H��H�8跏��H��[�f���SH�4}"H�;t[�@H�=$F�,���H�H��t4菤��E1�1ɿH�^}"H�5}"�k��H��{"H�[�fDH�5�E�[�n���ff.���������H��|"H�Ð��H�M{"H�Ð��H��|"1�H�8H�G`��f.���H�e|"H��H�8�g`ff.����AUA��1�ATI��USH��H�-3|"H�EH��P`H��tDH����H�EH��H��P`H��H��t#H�sL�������u�H��H��[]A\A]�D1�E��t��4���H��H��t�L��H�x��t��H��H��[]A\A]�ff.�f���AUA��1�ATI��USH��H�-�{"H�EH��P`H��tDH����H�EH��H��P`H��H��t#H��L���4�����u�H��H��[]A\A]�f�1�E��t����H��H��t�L��H����Xs��H��H��[]A\A]�f.���1�H��t6H��H��t*H��t@H���w�1�H��1�H��H��H��H��H���H��
Hc�H��H���f�H��H���f���H��tH��0H���Dx��@1��ff.�f���H��tH��0H�� �x��@1��ff.�f���H��tH��0H��(��w��@1��ff.�f���H�����H���ff.���H���g��H���ff.���H��賉��H���ff.���H��1�H=���vH��H=���w�H��8H��0H��H��PH��(H��H��HH�� H��H��@�f.�D���ff.���AWH�5�LH�=EBAVAUL�-WBATL�%JBUSH��dH�%(H��$�1�H�D$螅��H��H����H���ʆ��I��H���"I�~��n��I��H��t�H�XI�v�H����p��I�6�I���p��I�VH���
�:��H��L����������H��L��������u�H��H�=pA������W�H��H�=WA������Y�H�=?AH��������;�H�='AH��������=�H�=�AH��������W�H�=�@H��������I�H�=�@H����������H�=�@H����������H�=�@H����������H�=�@H����������H�=w@H����������H�=]@H��������e�H�=D@H��������G�H�=+@H��������)�H�=@H���������H�=�?H����������H�=�?H��������U�H�=�?H��������A�H�=�?H���������H�=�?H����������H�=}?H����������H�=d?H����������H�=M?H����������H�=6?H��������y�H�=?H����������H�=?H��������e�H�=�>H��������=�H�=�>H���������H�=�>H���������H�=�>H���������H�5�>H��H�T$�m�������H�T$H�5m>H���Q�������H�T$H�5V>H���5�������H�T$H�5C>H���������sH�T$H�5->H��������WH�T$H�5>H��������;H�T$H�5>H���ň�����H�T$H�5�=H��詈�����H�T$H�5�=H��荈������H�T$H�5�=H���q�������H�T$H�5�=H���U�������ALJ0H�5�=L���X��H��I��p�H��fA�/I��puH��I��p�t�
�荌�����C���H�t$ H���k������H�D$(I��0H�D$0I��H+D$8I�� H�D$@I��(H�D$HL��I��XH�D$PI��`�i��H��言��I��H������H����x��H��$�dH3%(��H�Ĩ[]A\A]A^A_��A��I��p����H������1�H�|$H�پH�D$H�9<������x
H�|$��h��H�|$���H�D$(ILJILJ I��0ILJ(���f.���S���fD��C���fD��3���fD��#���fD������
�	���@�A��I��p���������fD�	����fD1�H�|$H�
C:�H�A:�	�����x
H�|$��g��H�|$�~���X����������u�����k�����a�����W����U{��D��U1�1�SH��dH�%(H��$�1��X��1�H�=�:1������H�-�o"H��I���1�L��:H���Jj��H��tH���]}��H��H���
w�����t H��$�dH3%(u&H�Ĩ[]�H�5y:�1��u����E���z��f.����ff.���AWAVAUATUSH��xH�|$0dH�%(H�D$h1��|��I���|��I���|��H�$�{��I����{��I������H��H��H�D$H�w��1�1�1�H���(\��H�D$ H����H�D$`�H�D$8H�D$XH�D$@�X�H�T$(H�5�9�1�萅���CeL��脈��L���|���H�<$�s���L���k���L���c���H���k_���\$H�|$ �mX��H��H�����C�߉D$����H��H��t�H�|$0H�����H���ƃ���L���H��H���Y���L��H�����Y��H�$�H�����Y���L��H���Y���L��H����Y��H�<$�0���L��H�D$�#���L��H�D$����H�L$H�{L�R8H�|$(I���@1�QH�T$�@R���g��L���CdXZ�D���L��H�D$X�ǎ���H��tH�58H���Y��H��҃����{d@�Scv�Cd@H�t$8H�|$@�j��H�T$`H��t
H���9����Se��H�KX��s2������5����0@�sX���%������D�f�D�����H�0H�sX��H�|0�H�|1�H�{`H��H)�H)��H����H�����H�|$ �p��H�|$H�d���L����g��L����g��H�<$��g��L����g��L���g��H�D$0H��P1�H�t$hdH34%(uZH��x[]A\A]A^A_���=��/�!���H�5�6���/�ӂ������fD�0�҉sX�D��D��(�����v��f.�D��H���Í���H�H���/� g��H���/H���@��AWAVAUATUSL��$���H��H�$L9�u�H��8H�|$H�=�6dH�%(H��$(@1�����H����I��L��$  H�l$ �L������H���gH�x�
1��O���I��A�Ņ�tՉ��~j��H��H��t�L�6E��L��1�� �� �#e��H�5�>L����w��I��H���]1��H��L���H���H��L�D$�Ƅ��L�D$H��L���%�q���|$ :H��tfDH���9:u�H�L$��s��H�L$H�DH��H��DB u�H��1�H�{�@�*����Ј�[��HcҀ|
u���D��[L�95E��L��1�� �� �3d��H�5�=L����v��I��H���m1��H��L��ƃ^���H�H��L�D$�σ��L�D$H�D$L���
p��H�T$H���11�ƃ^f��\E��L��4H��1�� �� �c��H�5-=H���Mv��I��H����H��H�¾��Q���L��H�����o��H��DH���x� u����tH��@��)HD�H���
��u�H�H�@<R��N<S��<T�Fƃ_��
f.�H���y H�Au�H����u�H�Ϻ
1�H�L$�}��H�L$I��fDH���9 u��
H��1�H�L$�}��1�H�L$I�K�D�H��H��H�5
�/�	��d�H���y H�Au�H����u�1�H�Ϻ
�;}��H�
ܟ/H�|$H��H��H���HI�H��
�Љ�h�lz��L��贀��H�������L��� ���H�D$H��P1�H��$(@dH3%(��H��8@[]A\A]A^A_�<D�����ƃ_���fD��m��H���^������H��H�%�H�{Y1����4�����\��H�D��P�D� ��H���P��u��u�A����\H���H�
32���L�L1��b`����]�X���ƃ_�
���ƃ_����q��H�5�1�1��g}����������f.���SH�|�/H����H��� Hc=j�/H���������W�H��L�J1�I���DH��� H���oDXH�JX�oLL�oT T �o\0\0�od@d@H�tPH�tPI9�u���Hc�H��H�GH��� H��H�H�� H�H�� H��� H�LH��  H��� H�LH�� H��� H�LH��` H��� H�L H��� H��� H�L(H��� H��� H�L0H��� H��� H�L8H��� H��� H�L@H��p H��� H�LHH��x H��� H�LPH��� H�������1�1��pt��H��/H��td@H�� H� H� H�  H�( H�0 H�8 H�@ H�H H�P H�X H��` H��� H��u�[�fD�X��_��H��� �Y���f�1����f���H��1ɾ�H������+�/�_��H�=�/t1�1�H�������H�����USH��H��/H��t9f.�H��� H��� H�-Û/H��t�!q��H��H���q��H��u�H���/H��[]�ff.�@��H�}�/�@��H��tH��� ��1��D��USH��H�-G�/H��tH��9}u�N98tJH��� H��u�t|���� ��^��H��tf�H��t9]~)H�=�/H��� H��/t5H��[]�9H��H��� H��u�H��� H��� H��� u�H���/��@H��1�[]����ATA��UH��SH���/H��u�,@H��� H��tH�{H���xw����u�H��[]A\�@E��t�� ��]��H��H��thH���DU��H=�w:H�{�H���Z��H��/H��tE�H���/�Q�H��� H��[]A\�H���Jo��H��1�H�5'-�x��1�H��[]A\��H���/H���/�M������H���/�@����fD��S�H��1��,j��H���H����H�� H�� H�� H�� H�� H�� H��h H��h H��  H��  H��( H��( H��0 H��0 H��8 H��8 H��@ H��@ H��H H��H H��P H��P H��X H��X H��� H��� H��� H��� H��� H��� H��� H��� H��p H��p H��x H��x [�f.�f���AW������AVAUATUSH��8dH�%(H��$(1���h��fo.H�5�3H�=+�@istiH��@�csf�E�E��l���D$H����I��H�\$ L�|$L�5e+L�-s+�L��H����y��H���71�L��L��H���w\�������	H��L�������uG�:H���O��H��t�H��H�p�H��H�$�W��H�$�
H����O��H��t��
H��H�=�*������S����:H���O��H���=���H��H�ƺH��H�$��N��H�$�
H���aO��H������������|$��D$�]g��D�D$�H�
B*H��H�x�ǀ 1��W�����f.�L����d��H��]"�T$�H��$(dH3%(u4H��8[]A\A]A^A_�fDH��)H�5�)�1���t�����h��ff.�@��AVAUATI��UH��SH��@�dx"dH�%(H�D$81����dH�5+L���mI��H���DH��H�L$H��1�H�5O*�{Z��H�$H��p H�D$H��x H�5Z*L���%I��H���\H��H�L$H�T$1�H�59*�1Z��H�D$H��� H�D$H��� H�58*L����H��H����H��H�L$(H�T$ 1�H�5*��Y��H�D$ H��� H�5"*L���H��H���BH��H�T$0H�5*1��Y��H�D$0H��� �2w"H�D$8dH3%(��H��@[]A\A]A^�D�w"���"H�5�)L���#H��H��u��@1�1�H�=:(�Y���Ã���%D�5V�/H�5G�/E����L�-(�ZD�� H�=#�/ Hc��/�x����H��/�ʃ��1�1�L��1��<Y���Ã����D�5�/H�5ۓ/Ic։��)r��9ӓ/Lc�t���臃��E����H���/D� v"B�3E������H�5�'H���3G��H����H��H��H�5v'1��FX��H�$H�H��p H�5|'H���F��H����H��H�T$H�5e'1��
X��H�D$H�H��x H�5l'H���F��H���cH��H�T$H�5T'1���W��H�D$H��� H�5\'H���F��H����H��H�T$H�5E'1��W��H�D$H��� �i���f��u"������H�I'H�5�'�1��8q������5�t"����HDžx HDžp ������+|��D�p�Hc�D�5=�/�l��H��H�&�/���f��
�t"���RHDž� HDž� �����=Vt"���rHDž� ���f�D�
5t"E��� HDžx ���D�t"E���PHDž� ���D��s"E��u|HDžp ����@H�&H�5m&�1��p���G����H�=
%�TP���y����H��$H�5�$�1���o����s"�3����H��$H�5�$�1��o��H�ߐ/�^���f�H��%H�5�%�1��vo���O����H�g%H�5�%�1��Vo������H�f$H�5�$�1��6o��H�w�/���f.�H�6$H�5�$�1��o���o����H�$H�5�$�1���n��H�'�/���H�=�#�.O���S�����b��@��AW1�1�H�=�$AVAUATUSH��xdH�%(H�D$h1�H�D$H�D$ H�D$(H�D$0H�D$8H�D$@H�D$HH�D$PH�D$XH�D$`��T������C���/��H�5t�/����L�%$�W�� H�=S�/ Hc�M�/�8s����H�7�/��~��1�1�L��1��\T���Ń������/H�5�/HcӉ��Jm��9�/Hc�t����~������H�-�/H�D$L�t$0H�D$L�l$(L�d$ �D�fD1�������D_��I��H���H�kH�D$`H�T$M��M��PL��H�5!$H��H�D$`PH�D$`PH�D$`PH�D$`PH�D$`P1��!S��H��0��
������������H�D$I�� H�D$ I�� H�D$(I�� H�D$0I��  H�5�#H���A��H��H�����{ �'���H�T$H�5a!H��1��R���|$��S^��I��H��u�fDH���; u�H�k���fDH�D$`I��X H�D$XI��P H�D$PI��H H�D$8I��( H�D$@I��8 H�D$HI��@ ����H�=�!�<L�������H�L$hdH3%(��H��x[]A\A]A^A_�H�=w"�L��H9-��/t}1�������]��H�=�/H���F��1��<o"�fD�v���X�Hc����/�f��H��H���/H���3���������f���DH�=�!�K��������K�����n"���u���H�!H�5�!�1��j���V���H�=�!�IK������������^��f.���AWAVAUI��ATA�̹UH��H�wSH��H��8L�D$L�|$ L�L$dH�%(H��$(1�H��WL��I��H��H�D$�ir��Ic�H�t$L��H�D� A��H��Ic��B��E��L�L$L�D$t����E��u�����CH�}I��L��H��H��H�D$ I)�L)�H�E��D�I�T���H�T��H��CH��I�E1�I�I�H��$(dH3%(uH��8[]A\A]A^A_���������]��@��AVAUATUSL��$���H��H�$L9�u�H��1ɺ@dH�%(H��$@1�I��L���B����������L�-� ����A�$�؃���9�����~�9�w׃�v�A�t$�F�f����f��4u9A�$��x��F�/A�D$�t
��l"�t�tl"@����)�I܃��u����
�/��������|@H��$@dH3%(��H��@[]A\A]A^Ð�8���8t�H�5�1��3h��빐�ڃ������A�|$�q���I�L$���c���A�D$f���S���9��K���fA�|$u*�
D�f���+���9��#���f�y������)�H���������=�/�#���Hc5\k"Hc=Yk"H��/�ae��H��H��t%H��H�S"1�H�8�W�����}���t�ˆ/���/��j"��j"����H�5��1��
g������H��R"H�5��/H�8��E���\�/�c����A�Q�yD�A
D�ID�Qf��f��D�Y�If��fA��fA��fA������f��E��E��E��fA����D��E��f��tHH���(1�Q�(ASARAVAPM��WH�=܇/R��I��A�t$H��@���/�A���H���(1�Q�(ASARAVAPM��WH�=��/R��yI��A�t$H��@�a�/�������H���x\��������Y��ff.���H��������]��ff.�@��H����AVAUI��ATI��UH��S�&���H��tWH��RxH��H��t0H��E1��P H����L9h0u!�x8t�M H��SE��uR[]A\A]A^�H��S8H��u����1���>��I��H��t�H��PxH��H��tH��A��P H��u�H��S[L��]1�A\A]A^��\��D��H�CH��[]A\A]A^�����1Ƀ��H�����������g��f���AWI�׺AVAUATA��USH���dH�%(H��$�1�H�l$ H�D$P���H�D$X���H��H�D$`�H�D$h�H�D$p���H�D$x��E��1�H��G�f�D$0D��1��b������D�t$01�L��$�f�H��H�D��1�f�\$2fD�t$0�Sb���D$6fA�D]H��H��u���$�f�������$�f��t����1�f��uu������$���@��f#�$��D$H�	H�$���H�H�D$����H��	@��rlH���B��u�L��H��$�dH3%(u^H���[]A\A]A^A_�f�� f��H�H%����H����t�f��f��H�H%����H�뢃�H�H�D�P떸���V�����AVf�I��AUA��ATUSH�ӺH��pdH�%(H�D$h1�H��)$L�d$0H��)D$H�D$ D$4D$DH�D$T�D$0��C��1�H��F�D��L�d$�`�����tM�T$<f��tC�D$L��	�=��t*���t%Hi�@BH�L$hdH3%(u&H��p[]A\A]A^Ð����@H��L��D���:V������U����AWH��AVAUATUSH��H�|$dH�<%(H��$�1�H����
A��H�=nH�5n�W��H�D$H����
1Ҿ��B7��A�ą��@
1�1�H��$���:��H�\$�H��H�D$H���\d��H�ھH���Ld���=��/���H�T$�H���&d��H����D$<H��
H����������!�%����t������D�H�JHDщ�@�H��H)�H�����
�h��$�H��< uf�H���< t����M�:H���T��I��H���4�=݁/
�GA�H��L�l$<�1��H�T$L��H���63��1�L��H��D���H��A��t�D$=�����A��t�D$= ���H��1��Z`��H��H�����D$<H��D��C�R���C0���a�����"��>������E����u��H����D��H��D����U��H��D���T��D�[4���E��u
�t	�࿉����t�Cv�K�H��E���Cp�����Ug��A�����D$<���^�� ��H�|$H���Z��������f���H�S@�KHH��tz��tu���L������H�s D��H��9H��?�‖��m�������H9�HFЉS4H��4�ׂ�CH��H��H���C8�	���f���	t���t������H�S@�KHH��u���A������Ky�
f�Kz�J�K|�Jf�K�R�sz���fD�k}�K�J���Ƅ����H��H�5��1���]�����DH��H)�H�������H��H�5��1��]�����D�Cy�K�/���L��$�H���s 1�L�H/A��L�����@��_H�5kAXL���S��I��H��t@H�¾L���`��H��t#�
1�L���[����`"�K@�ЉSPL���L���D$<�� ����L��$�H���s 1�L��~/A��L����?@��YL��^H�5���R��I��H��t@H�¾L���_��H��t#�
1�L����Z���K`"�K�ЉSTL���L��L�K L��L��1������?��H�5SL���sR��I��H��t6H�¾L���{_��H��t�
1�L���wZ���K�CxL���K��H���s L��}/1�A���L���H?��XH�5�ZL���Q��I��H������H�¾L���^��H��t-1�f�=N}/�
L������Y��i���CX�KL���K���w���@D�}/H�IA�WL��A��
LE�I�GL��|/�� uDH����� t�N��H�=�D�T$ H�D$`H�D$XH�D$PH�D$HH�D$@HDŽ$�HDŽ$�H�D$xH�D$pH�D$hI9���H�L$PH�T$@H��H��H��$�1�VL��L��$�L�D$x�@��AYAZD�T$ A9����D�ҿ1�H�5��;Z���;���fDH�5!^"H��tnH�C L�-	^"H�\$ H��H�l$(L��I���@H��H�]H����H���76��H��L��Hc��I7����u�I��H�\$ H�l$(A�E�C0I�}�%����C0�I���H�|$1��Q��H�|$�DI��D���j��1�H��$�dH3<%(��H�Ĩ[]A\A]A^A_�H�\$ H�l$(�C0����H��H�=f��€����!����,����H�58H���.��H������
��z/�"����eW���CX�}���H��$�H�L$@H�T$HVH��$�VH��$�VH��$�VH��$�VH��$�VH��H��1�L��$�L��$��>��H��0D�T$ A9��+���H�T$HL�\$p�CD�l$XA��E��H�� D��$���~I�� �;�CE1�E1�1�H�D$XE1�E1�H�D$H��HDŽ$�H�D$p��H�s H�=K���K��H�t$@H�L$h@��@��@��uH��tH��HD�
 H����C��H�� H���H�D$`L���H�‰���L���H�� H�����H�� H���H�T$P���H�� ���H�T$x�H����(H��$�H���L���H���D���D��,��4��8� ���H�|$1��O��H�|$1��s=��H�|$�F��D���h��������]���H�=p�;7��H�|$�F��������=���H�5���V��������"�����J���H�=���6�����������f.���S1Ҿ�H��@dH�%(H��$81��`,������1�H�t$����D$��f�V�f�L$�D$�(������H�t$1����H���H����D$ 
H�H�D$�f�D$$�4����xJH�5�>"1҉��Me����u`H��$8dH3%(uVH��@[�H�5�1��U���������H�5\�1��pU�����yf��������H�5��H�5Z���kI��ff.���AUA��PL�pAT��PUH�-YSH��HdH�%(H��$81�H��$�H��UH��L��$�L�l$�W8��A�L��1�L�
�P��PH�,$�-8���L��H���D��_AX����H��H�Tv/H��A�H��1�U�P��PL���7���PL��1�A�L�"��PH�,$�7��L��H�޿�D��ZY����H��H��u/�f��u/H��?"H��<"H��eD��H��$8dH3%(u}H��H[]A\A]�@L��L���D��������H��
H�eu/f�5^W"����f�L��L����C�����S���H�AH�"u/�Z����pG��AUATUSH��H����A��A��H��H�˅�x=H�κH����4��Ic�H��D��1��Q���Å�xwH����[]A\A]�f.�1Ҿ���(��A�ą���H�޺H���t4��Ic�H��D��1��DQ���Å�xND���c��H����[]A\A]�f���D��H�5!1��������sR��H����[]A\A]�fD��D��H�5�
1��������CR���H�5�
�1�������)R������H�5�
�1�������R���������ATA��USH��H��0H�~@dH�%(H�D$(1�H���V�~H�GH��1��D$D��H�jf�MH�K �'��CH�J�������H�S@�L$�
�Mf�J�T$f����f����f�� �;wIf���?f����f�����C0@H�t$(dH34%(�VH��0[]A\�f��r�f����f��u��C0�fDf����wf����f��u��C0*�f��
t$f��u�C0/�v���fDf���Z����C0��Y���f��G����K��H��H�C@�����H��������'�����C0%����@�C0����@�C0��@�C0����@�C0#����@�C0����@�C0���@H�C@1��f�P����������C�����SH��H��0H�N ��dH�%(H�D$(1�H���C�����xW�L$�K�ʉ����u&�f�Kt���CwH�t$(dH34%(u'H��0[��@�Ct�����Ku��fD�c�������JC��f.���AWAVAUATUSH��8dH�%(H�D$(1�H����I��H�v H��������A��A���������I��L���p0��1�L������?M�������D$�����	��!�E��D�1�L��f�\$�M������A���tD���x_���D$A��$�1�H�L$(dH3%(��H��8[]A\A]A^A_�fD1Ҿ��/$���Ņ�x{I�t$ A���<���H�5y	�1��M�������뙉��^��H�5�	�1���M�������ADŽ$��i���H�5n	�1��M�����^��������E���H�5	�1��M��������(����A��ff.����SH��H��0H�N �!�dH�%(H�D$(1�H����1҅�x�T$�SLH�t$(dH34%(uH��0[��;A��ff.���H��8H��3�dH�%(H�D$(1�H�����1҅�xHcT$H�t$(dH34%(H��uH��8���@����AWAVAUATUSH��(dH�%(H�D$1�H����A��H��A��I�υ�u	H����H��D���Q7������A�'��H�\$��tr��H�D�L�$��'�H��H���)����uf�{t:H��(I9�tlH��u׾:H����%��H��t�H��D����C��A9�u�f�{u�A�H�\$H���B��1�H�L$dH3%(u2H��([]A\A]A^A_�fDH�\$�ʸ������D���\���������?��fD���W8:V8r#wH��H���(��@��f.�������f.���U��H�=�SH���@��H��H����H�=.�pW����ǃ�H���u
H��H��[]�H�=�d@��H��H��t\H�U���H�=�H����"W��H��H��Dž�H����vA��H��H��[]�@H�5��1��J���H�5��1��}J��H��1���+���d���ff.���H��tOUH��S��H��@��t��t$H��[]�f.�1�H�5��Z����u�H��H��[]�_+���H�5i�1��I��D��H��tSH�PH��t�g(��H��[�n@��fD����AVAUATUH��S���H��H���H����9������I���uH��L��[]A\A]A^����v��H���I��H��SxL�cXI��H��P H��H��A��L��A�U H��H��t_E1��!@H��L��I����D��L��A�U8H��H��t9M��t�A�T$8:S8u�H�sI�|$�}%����u�H���5��L��A�U8H��H��u�H���*��L���b?��H��L��[]A\A]A^�f�H��1�E1��@��H��L��[]A\A]A^�1��ۉt$@������t$H��H������H�5�1�E1��YH������@���w4�����S��X��,��H�H��H��H�C�H��f�C:�C=�UL����u	H��[�@H��1��4��H��[�f���H��taSH��H�0��M��H��tH�{=uB�C��x� u4�@tH��[�a���H��[�W4���H�5a�1��}G�������[Ã��f���AWAVAUATI��USH��H����+��������I�D$0H9C0t	H�C0�A�D$=8C=t�C=��E�t$8M�|$L�kD8s8��L��L��L���#������A�D$:8C:t�C:��A�D$;8C;t�C;��A�D$<8C<t�C<��A�D$>8C>t�C>��A�D$?8C?t�C?��I�D$@H9C@tH�C@��I�D$HH9CHtH�CH��H����[]A\A]A^A_���D�s8A��rDI�D$H�{$L��H��H�CD��I�T�I�T�I)�C�.L)���H��0���D��A��s�A��u1E������A�D$�CA������D��A�D�fA�D
�����A�D$D��CA�D�A�D
�����H�5��1�������E���-���f���UH��SH��H���*������H�U0L�CH�uH�S0�U=�S=�M8�K8��s8��uc��t�U�S��uk�U:�S:�U;�S;�U<�S<H��[]��H�UH�S��H�|�I�|�H�{$H��I)�D�L)���H���U�S�ʋL�A�L��D���L�fA�L�놐H�5��1��D��������}�����H��A��H��A��E�u��u1��f�AWAVI��AUD�iATA��UH��S��H����DI�A��Mc�L���^.��E9�|A�ى�������)�t�)Ѻ���B"T=C�>H��[]A\A]A^A_��D��K�<>1�D)�Hc��$���f����|$�@���u'�|$�@���u0�|$�@���u,�|$�� @���u#�1�@��y�@��@�x�ø������f���H��dH�%(H�D$1��� ��U���D$��~z��H�D$H�T$������H��
f�H����H��H9�u����؍<Dž�tHc���H�L4�	����u��H�t$dH34%(�D$u
H���@1���7��ff.�@��H�|$�H�L$�1�H�t$�����u��H��=�u���y@���x���ff.�@��I�H�I�H�H�D$�H�H�D$�H�1�����@��H��t"@��t@��t
H�1�Å�uH�1��f�@��u�H�1����H���C��H����H����������;�������%�����H��t%�G8<t<u�F��fD��6�������ø�����ff.����H��t%�G8<t<u�V2��fD��B�������ø�����ff.����AWAVAUATUSL��$���H��H�$L9�u�H��h1�dH�%(H��$XD1���A����D$ H�D$������ H�t$0�Ź�1�H��A����H���D�d$@H�H�D$0�Eºf�D$H�������FL��$P1ɺ@��L���U�����
�7�ǃ��L��$P�փ��X9��P��@��9���	ƃ���@���E1�E1�E1�E1�E1��K@����)�Iԃ���A�$�Ѓ���9�������9�����2���)A9\$u�D�B�A��~�A�D$f��v�A9�|�I�L$�HfA��uD�IA�A������A)�H�A���^����f���Q���D9��H���D�yfA��u�D�IA�A���D@��tD�L$ E��tD�l$E��tD�t$f����)P��H�D$H�D$$�D$ �D$,H��$XDdH3%(�T$,H�D$$��H��hD[]A\A]A^A_�DH�=��$��H�D$H�D$$�D$ �D$,�@��tD�L$ E��tD�l$E��tD�t$H�5���1��>���Z���f.�H�=������?����H�=������'����H�5	��1��->�������@��tD�L$ E��tD�l$E��tD�t$H�5��1���=�������2��D��AWAVAUATUSL��$���H��H�$L9�u�H��H�t$A����H�T$ 1�H�L$dH�%(H��$�D1�����D$(����H�t$01����H���H��|$(�D$@
H�H�D$0�f�D$H�b������L��$��|$(1ɺ@L������������A�ă��=��$��߃��;9��39��ƒ������H��$PE1�H�D$��wV�fD����A)�I�A����A��؃���D9�������D9�����gA���]E9~u�D�k�A��~�A�Ff��v�A9�|��\$,I�nD���1�E����A)�H�A�����Ef����D9����Ef��t%f��u���t�H�D$ �M1�H�H�D$�MH�롐D�]�}�u�M�U
�EfA��f��f��f��D�M��f��f��D�E��E��������ASfA��fA��WE��E��V�QH�
��R�(PH�|$81����H��0H�t$H�|$�9����t�E�6���A�ڋ\$,�t���@f�}���������H�5��1���:�������H��$�DdH34%(��H�ĘD[]A\A]A^A_���|$(�K��1���H�5���1��:��������H�5��1��{:��������H�5���1��a:��������o���H�5s��1��D:��������R���H�5k��1��':��������5����8.�����AWAVAUATUSH��hH�|$(H�=#��t$$H�5��dH�%(H��$X1��0��H���\I��H�D$@1�H�D$H�D$<H��$H�D$H�D$8L��$�H�D$L��PH����<��H���WL��$�L��H�5��H��AWH�D$LPL�L$1�L�D$ H�L$(�d��AYAZ�Ã�t!��H��1�H�5��!9�����s&��I��H���w�@8�D$D1�H�T$XH�t$PH�|$HM��H�D$PA�EL�
A�I�EH�D$XH�D$H�?����t+L��H�5���1��8��L����$�������H�D$X�D$$L��A�E8HcD$$I�E�q,���T$DL��fo�$��H�&E���
I�E0���"��H�D$d�D$D�T$l��x����D�D$hA�E;E���ƒ�A�U:�T$<A�U9����A�E<A�E=A�}0I�UHI�u@L����<��H�=y "f�L��H�T$p)D$p)�$�)�$�)�$��&����x?H�D$xA�E>H��$�A�E?H�|$(L���]3���������L���#�������fA�}>��@�ƒ���A�E;�t$h�L$<����A�E:A�M9���…�tNA�E<�(���@L����&����I\$$H��$XdH3%(����H��h[]A\A]A^A_�fDA�E%��=������A�E<����f�� tD�t$h�L$<A�E;���g���A�E:A�M9�g���f�L��������3&���m���fD�@����A�M;����H�=�����������@����l*��ff.����UH��S���H����tA��u-1���H��������t��x@���O�H��[]��H��1�[]��1��!����x-��u����H��D$�-���D$�f��H��D$�-���ۋD$�n���끐��H�=����*����H��t7��SH��tH��[���D1�H�5��E��H��[���f�H�5���1��-5��ff.�f���SH��H��H��tH��������uCH��H��[�f.����t$��=��H��H��t5H�=���!A���t$H����@H��1�1��)��H��H��[�H�5i��1��4�����H���0��)��H��tH�PH�H�PH�����H��t��*��f��ff.�@���g�����AWAVAUATUSH���dH�%(H��$�1�H����I��H�5
�H�="��)*��I��H���\H�D$8A�����1�E1�H�D$H�D$4H�l$pH�D$H�D$0H�D$ H�D$@H�D$(L��E��I��@L��PH����6��H����H��H�5��H��H�D$DPL�L$ 1�L�D$(H�L$0H�T$8�p����XZ��uW�D$0�D$8 t��D$D9�t��^/��H����HcL$0A��H��L��Ic�H�PH�H �H(��.��D�t$�a���f�H���H�5$�1����2���;���L���x"���۸I�H��$�dH3%(��uGH���[]A\A]A^A_��L������3"���û�����H�5{��������d2����}&��f.���SH��tfDH���(��H��H��u�1�[�H�5���1��2�������[�f���AVI��AUI��ATUSH��dH�%(H�D$1�H��H�$�@�����UL�$$M���iDM����I�l$L���DH��H�s�H�������tDH�H��u��,��H��H�H����f�H�}�H�EEI�t$���M�$$M��u�L�$$L��L���:��A�H�L$dH3%(H����H��[]A\A]A^�f������I��H��tI�t$H�x�����H�5���1�1��0��H�<$�6:��A������H�5���1��0��L���"��H�<$�	:��A������P���H�5^��1�1��h0��A������/���L�������o$��ff.�@��AUATUSH��H����A����I��H�ͅ�x:H�κL�����Hc�1�L��D���.���Å������H�H����[]A\A]Ð1Ҿ�����A�Ņ�x`H��L���h��Hc�L��D��1��8.��D���ø����H��@��H����[]A\A]�1�H�5���1��r/��������z���H��1������H�5���M/���Z������SH��H��3�H��0dH�%(H�D$(1�H���T4���T$��xH�L$(dH3%(��u$H��0[�@H��H�5���1���.��1�����"�����AWf�A��AVAUI�պATL��UH��SH��HdH�%(H��$81�L�t$)D$L��)D$ H�D$0�#��1�H�|$H�H�D$DH�T$@�F�HDŽ$��H�H�T$ L��L��D���D$@�j3������D��$�E����D������H�zH�$���H�$H��H���iH�z����H�D$H���ED�cL��L��F�H�D��H�\$ H���2�����9H�D$L��L��F�D���D�`H�D$ �2�����FH�T$A�D$�E1�L��$L�-��H�D�L�zH�$f�D��L�� H�t�����L��H�=e������t9�L��H�=Z������t�
L��H�=N������uDI���@H�0�L��H�=(������tU�
L��L�������t?�
L��H�=������t%�H�=�L������������@L��L��M��
L�8��󦉅@�€����D�� L�@��@�
L��H�=�������t�
L��H�=�������uI���@@H��H�
L��H�=�������t�H�=c�L�������u��@�I�H�P�
L��H�=@������t�
H�=6�L�������u��@I�H�X�L��H�=������t�H�=�L�������u��@I�H�`�
L��H�=�������t�H�=��L�������u��@I�H�h�L��H�=�������t5�
H�=��L�������t�
H�=��L�������u���@I�H�p�L��H�=������t�
H�=X�L�������u��@I�H�x�
L��H�=4������t�
H�=*�L�������u��@ I�H���L��H�=������t�H�=��L�������u��@@I�H���L��H�=�������t�H�=��L�������u��@�I�H���L��H�=�������t�H�=��L�������u��@I�H���L��H�=�������t�H�=��L�������u��@I�H���L��H�=k������t:�H�=h�L�������t �H�=`�L�������ufD��@I�H��A�� I��L9<$���H�����H�|$���1�H��$8dH3%(�H��H[]A\A]A^A_�D�
L��H�=q�����������M���@���@�
L��H�=A������������θ�����x���H�����H�5���1��k'��������S���L��H�5���1��K'��H������H�|$����������!������������L��H�5���1��'��H�����H�|$��������������f.�@��SH�=���?��H��H��tH�=���3��H���H��[��H�5���1��&������H��tOUH��S��H��@��t��t$H��[]�f.�1�H�5���6����u�H��H��[]����H�5���1��%&��D��SH��H��H��tH���''����uCH��H��[�f.����t$�����t$H��H��u�H�5j��1���%���@H��1�1����H��H��[�ff.���H��tSH�PH��t�W��H��[���fD�����#�����S��X�	��H�H��H��H��H�C�3����uH��[�f�H���H#��H��[���S1ۋFD9GDt�GD��FH9GHt�GH�������u��[�H�5���1��������$����@UH��AWAVAUATSH��HH������������dH�%(H�E�1�H��$��H9�tH��H��$�H9�u�H��H�L$H�5u�H�=F����H�\$H���H������H���^H��H������1�E1�L�� ���H���U�H�ھ�L���e'��H����H������H�����H�����H�����H������H��������L���$'��H����H����H������H�����L������PH����H��L��PL�����H�5��1��	��Y^A�ă��=������������������t
�������l���A��	��I��H���������E�nDH����fA�F>����fA�F@�
��H��A�FH�
H����������!�%����t������D�H�JHDщ�@�H��H)�H���H����H����
������	I�FL���E1�1�H�����H�����I��L��H������H��HDž����H������H�������E)��A��H������A�F<<��H��������H���H����H������H���N
�����tqH������I�F,E1�1�H������I��L��HDž����H�������(��A��H������A�F=<u+H������H��SL��H��H��I�F�s������fDL��������H�=��D�,����������1���A���������������������I��H������H����������������<@L��H�5��1�E1��!���:���f�H���������E��AN�H�u�dH34%(u'H�e�[A\A]A^A_]�H�5����� �������������ff.�f�UH��AWAVAUATSH��HH�����������dH�%(H�E�1�H��$��H9�tH��H��$�H9�u�H��H�L$H�5e�H�=b����H�\$H���H������H����H�޹1�H��H��L��`���E1��I�H�ھhL���Y#��H�����H������H��0���H�����H�����H�������H�������hL���#��H����H����H������H�����L������PH�����H��L��PL�����H�5�1����Y^A�ă��}�����������������t
������l���A����I��H��� �����E�oDH����fA�G>�����fA�G@�w	��H��A�GH�
H����������!�%����t������D�H�JHDщ�@�H��H)�H����H�� �W� H����������AI�GL����E1�1�H������H������I��L��H���H��HDž�H������H�������5%��H�����A��H���A�G<��<���
H����������!�%����t������D�H�JHDщ�@�H��H+����H����H�� ��H������ H��������toH������I�G,E1�1�H������I��L��HDž�H�������{$��A��H���A�G=��<u&H������H��SL��H��H��I�G�&������L���x���{���H�H�=g�D�,�������������A������������F������I��H�����H���������������Bf.�L��H�5��1�E1��������f�H�������d��E��AN�H�}�dH3<%(uH�e�[A\A]A^A_]ø���������ff.���1��f����ff.���1��f���ATA��UH��S�}&��H��t@D��H���]����Å�uA��t��[]A\�f.�D��H���E������E؉�[]A\�H�5y��1�����������f.�@��SH��H�5]H������H�������t���H��C‰��H��1�[�@��H��H�5�\H�������� u �����t
ǀ�1�H���DH�=)=/H���)��1�H���f.���SH�5h\H���L��H��t'H��H���<
��H���H��t�+��Hǃ�1�[�ff.����AUH�5\H��ATI��USH��H������H�����H���H����Dž�H��������uoA�H��u �wf�H�5���1��]��H�[PH��tYH���	��H��t���uЃ��@H���q�…�t΃�H��L��AC���"�������H��C‰����H��1�[]A\A]�fDH�߾
���H��1�[]A\A]�ff.���ATH�5[H��USH������H��t6I��fDH������H��tU�����w^���t_��H���{
��[1�]A\�@H�E H�0H�F�H����L��������t��
uj��uRH�[PH��u�[1�]A\�fD���t�H�5���1������@H�+�H���#����t���~A��`���D���R�����H�5^��1������3����
�)������!����@��AVH�5�YH��AUATUSH�����H���II��A��cfDH�5Y��1��E��H�H�x �7H��t*H�H��0H9�tH9h tH��M���1A��fDH�[PH����H�H�h L��`H��0H��tqH9���H���0��H��tËH���ti���`���H�@(H�p L���@B������S���=��}��ACƉ�H������@����H�P H�H�@((��H�@(H�p L���@�`%���fDH�x((�U���H�@((�H���[1�]A\A]A^�DH��@�����@H�5	e�1�������]����{
������fD��SH�5XH��H�����H��tH�����1�[��H�߾�S���[�ff.����ATH��H�5�WUSH�����H��I����H��tKH�-���DH��1��9��H�[PH��t%H�����H��t���u�L����H�[PH��u�[1�]A\�@��ATH�5GWH��I��USH���#��ǀ�H��ttH���/�H����@H��H�@ H�0�����…�uYH�[PH��t@H�����H��t���t�H�5���1��y���H��L�����H�[PH��u�[1�]A\�f���v׺��@��SH��H��H������t1�[�@H�=7/�����t��H��C‰����1�[��H��tSH���B
��H��1�[H�5�
�@%��H�5y��1����ff.�f���H��tH�8H��t�@H�5y��1����D��H��tH�8H��t�y�f�H��H�5m��1��I�������H���ff.�@��H�6/�@��H�6/�@��H�6/H�=�5/�ff.�f���H��H��5/H��PH���fD���f6/�D���=V6/�D��SH�5�TH������H����uH�������u1�[��� ����tߍx��w�����DH�5���1��M��1��������[�ff.�@��UH��H�5uTH��SH���T��H��H���	 ����t���H��C‰�������uH��1�[]�fD�# ���x����H��1�[]�f���AUA�A�1�AT�B��UL�%�4/SH��H�=�4/H��jjB����H��H�q4/H�H�t4/XZ���H��!H�-��!H�����H�5������H��A���K�H�4/H���k�@H�54/L����L�-�3/M����H��3/H��tL�h8H����H�=�3/H�4/H�9���H��3/H�{���H��3/H��H�64/H����H��3/H�����H��3/H�c���H��3/H�u���H��3/H���H��3/H�)���H��3/H�����H��3/H�����H��3/H�o���H��3/�c���Hc�H��A�H��H�=�����H��H����1�H�="3/L�cH@���H�=3/t��H�=b3/t�� H�=3/t��@H�==3/t��H�=�2/t��H�=�2/t�� H�=3/t��H�=�2/t��H�=�2/t��H�=�2/t@�πH�=�2/t��H�=�2/t��Hc�����H��H���e"���C�x���H��H���O"��H�5�1/�H�=2/����H��H���,"��H�=�1/H��t�k�H��H���"��H��H��H�5�1/[]A\A]�G����H�59�����H�=�1/H�5x������H���1�[]A\A]�t��@H�=)�����I��H�J1/H��t-H�=ǵ���I����H���DH�5Q���H�5q��1�����q�����H��H�=�0/�,�H�=�0/H�����ff.����H�=�0/�@��AWAVAUATUSH��H�$H���
���dH�%(H��$�1�H�l$I��H��L��$�H��L��$�L��$`
L��$�L�$L��$@L�L$�H�L�Ϲ�L�L$�H�L�ǹ��D$(�H���L��L��$��H���L��Ƅ$��H���L��Ƅ$	B�H�H��Ƅ$x
Ƅ$�Ƅ$XBL��$�L��$`
L��$����L�L$H�S H�sL�����L�$H�s(�L�����H�s0�L�����H�SPH�s8L���t��H�sX�L���c��I�I�7I��E1�1�L���l����u6H���^���H��$�dH3%(u0H���[]A\A]A^A_����H�5/]�1��������@��AUATUSH��H�$H��
��dH�%(H��$�1�H��I��L��$pH��L��$�H��L��$P
H��$�H��$0�H�L�׹��D$�H�L�Ϲ�L�$�H�L�ǹ�Ƅ$��H�H����H��$P
�H�H�׹�I�3�H�I�{H��$�H��Ƅ$�BƄ$h
Ƅ$�Ƅ$HBL��$pL��$����A�ą�uaH�D$ L��$�H�H�EI��v|A�H��$	L��$�H�H�E(H��$p
H�H�E0I��vjA�H��$PH�H�EXH����D��H��$�dH3%(uQH�ĸ[]A\A]�f�H��$�H�}L���<���L�m �m���H��$�H�}8L������L�mP��1������SH�����H���H��t	���@t.H���H��t�
��H�{H�CH9�t�k��H��[�b��f������f���UH��H��H�5�KSH��H������H��t	��� u#H��H���8���t+H��1�[]�f.�H���X�H��H���
���u�H�{1��M����uH�=0,/�����H��1�[]��k����t�H�5���1��
����f���H��t���f��ff.�@��ATI���UH���S�s�H��H����H��t2���@H�@H���H�CHǃ�H��[]A\�fD���H���H��tTHǃ�H�CH�C���@u�L��H��������t�H��1��:���H�5	��1��	���H��1�����~���ff.����SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�A���u-H��*/H��H��PXH��$dH3%(uH�� [Ð1���������ATI��1�USH���;��H��t^H���C@H��D�K=�s<D�C>H��H�SPH�C,AQH��P�v�H�� �H�5����tB1����[H��]A\����H�5��1����H��[]A\���f�H��L�������t!�=r*/u��i*/H�5����[]A\�ff.���1��f���H��tH�H��t+�F<�N��H�5Q��1��U��DH�5y��1��=��ff.�f���H��t�fDH�5���1��
��ff.�f���U�H��1�SH�����H��t2H��H��H�5U���H����H�߾���H��UH��1�[]�H���
[]�@���ff.���1��f���AVH�5�GH��AUATUSH���
��H���)I��A��H9���H�����H��tZ�����H�5���1����H�H�x ��H��t)H�H��0H9�tH9h tH��M����A��DH�[PH����H�H�h L��`H��0H���e���H�P H�H�@((�Z���f�H�L��H�@(H�p �@B�����ƅ��W���=�tD��AC�H���e����J���H�x((����H�@((����[1�]A\A]A^�DH��@�����@H�5S�1������fD�������fD��SH�5(FH��H���		��H��tH���L
��1�[��H�߾�c�[�ff.����SH��H��H���
����t1�[�@H�=)'/������t��H��C‰���1�[��H��tSH���R��H��1�[H�5����H�5���1��
��ff.�f���H��tH�8H��t�@H�5���1�����D��H��tH�8H��t���f�H��H�5���1���������H���ff.�@��H�%&/�@��H�%&/�@��H�&/H�=&/�ff.�f���H��H��%/H��PH���fD��AUE1��B�AT�1�L�%�%/USH��H�=�%/H���X���H��H��%/H�H��%/�H	��H�I�!H�-��!H�����H�5�����H��A�����H�K%/H�����@H�54%/L�����L�-%/M���H�%/H��tL�h8H�m���H�=.%/H�/%/H�����H�)%/H�����H�%/H��H�e%/�P�Hc�H��A�H��H�=j����H��H����1�H�=�$/L�cH@���H�=�$/t��H�=%/t�� H�=�$/t��@H�=�$/t��H�=�$/t��H�=�$/t�� H�=�$/t��H�=�$/t��H�=`$/t��H�=k$/t@�πH�=e$/t��H�=m$/t��Hc����H��H���R���C�x����H��H���<��H�5�#/�H�=�#/���H��H�����H�=�#/H��t�X��H��H�����H��H��H�5w#/[]A\A]�4�@H�5	�����H�=7#/H�5H��&���H���1�[]A\A]�d��@H�=������I��H��"/H��t-H�=�����I�������DH�5!���H�5A��1�����q�����H��H�=�"/���H�=�"/H�����ff.����H�=�"/�@��AV��I���AUATUSH��H��`
dH�%(H��$X
1�H��L��$pL��$�H���H���L���D$�H���L��L�,$�H�H��Ƅ$�Ƅ$�BL��$p�2��H�S H�sL���"��H�s(�L�����I�~I�6I��E1�1�L������Å�u4H�������H��$X
dH3%(u.H��`
[]A\A]A^����H�5�N�1��������@��AUI����ATI��USH��h
dH�%(H��$X
1�H��H��$pH��$�H���H�H����H�4$�H�H�׹�I�0�H�I�xH��$pH���D$Ƅ$�Ƅ$�B���Ņ�u/H�D$ L��$�H�I�$I��vB�H��$	H�I�D$(H�������H��$X
dH3%(u,H��h
[]A\A]�f�H��$�I�|$L����M�l$ ���ff.�@��SH�����H���H��t	���@tH�{H�CH9�t���H��[����K���f���UH��H��H�5r>SH��H���Q��H��t	��� u#H��H�������t+H��1�[]�f.�H�����H��H�������u�H�{1�����H�=v/������H��1�[]�fD��H��t�R��f��ff.�@��ATI��UH���S��H��H����H��t2���@H�@H���H�CHǃH��[]A\�fD����H���H��tTHǃH�CH�C���@u�L��H��������t�H��1������H�59��1�����H��1��Q��~���ff.����SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�����u-H�/H��H��PXH��$dH3%(uH�� [Ð1����G����ATI��1�USH������H��tF�s<D�C>H�SH��H��H����
����tG�H�5��1�����[H��]A\�����H�5d�1����H��[]A\�����[H��L��]A\�a������1��f���H��tH�H��t+�F<�N��H�5���1��E���DH�5���1��-���ff.�f���H��t�fDH�5���1����ff.�f���U�H��1�SH����H��t2H��H��H�5����H����H�߾���H��UH��1�[]�H���
[]�@���ff.���1��f���AVH�5�:H��AUATUSH�����H���)I��A��H9���H����H��tZ�����H�5���1�����H�H�x ��H��t)H�H��0H9�tH9h tH��M����A��DH�[PH����H�H�h L��`H��0H���e���H�P H�H�@((�Z���f�H�L��H�@(H�p �@B�����ƅ��W���=�tD��AC�H���U��J���H�x((����H�@((����[1�]A\A]A^�DH��@�����@H�5	F�1������fD�{�����fD��SH�59H��H�����H��tH����1�[��H�߾�S��[�ff.����SH��H��H�������t1�[�@H�=�/�����t��H��C‰���1�[��H��tSH����H��1�[H�5�	���H�5��1����ff.�f���H��tH�8H��t�@H�5��1�����D��H��tH�8H��t���f�H��H�5
��1���������H���ff.�@��H��/�@��H��/�@��H��/H�=�/�ff.�f���H��H��/H��PH���fD��AUA�A�1�AT�B��UL�%S/SH��H�=`/H��jjBjB�9�H��H�� H�H�1/H�>/���H���!L�-��!H�����H�5�����L��A�����H��/H�����@H�5�/L������H�-�/H���H�=͝���H���H��/H��tH�h8H�G���H�=�/H��/H�����H��/H�t���H��/H�&H��/���Hc�L��A�H��H�=W��O���H��H����1�H�=Y/L�cH@���H�=>/t��H�=�/t�� H�=Q/t��@H�=t/t��H�=/t��H�=/t�� H�=:/t��H�="/t��H�=�/t��H�=�/t@�πH�=�/t��H�=�/t��Hc���H��H������C�x���H��H�����H�5//�H�=;/�~�H��H������H�=/H��t�"��H��H������H��H��H�5/[]A\A]��fDH�5	���W�H�=�/H�5���$���H���1�[]A\A]�,�@H�=����H��H��/H������H�5��1����@H�5a�����H��H�=A/���H�=5/H�����ff.����H�=E/�@��AWAVAUATUSH��H�$H��H���dH�%(H��$81�H�l$ I��H��L��$�H��L��$	L��$p
L��$�L�L$L��$PL��$�L�D$L�T$�H�L�׹�L�T$ �H�L�Ϲ��D$8�H�L�ǹ�L��$	�H���L��L��$��H���L��Ƅ$��H���L��Ƅ$	B�H�H��Ƅ$�
Ƅ$�Ƅ$hBƄ$�BL��$p
L��$�L��$P�f���L�T$H�SxH�sL���Q���L�L$�H���L���8���L�D$�H���L������H��H���L���	���H���L�����H���L�����I�I�7I��E1�1�L�������u4H��������H��$8dH3%(u.H��H[]A\A]A^A_�D��H�5�@�1��{����@��AUATUSH��H�$H��(��dH�%(H��$1�H��I��L��$pH��L��$�H��L��$P
L��$�H��$0H��$��H�L�߹��D$�H�L�׹�L�$�H�L�Ϲ�Ƅ$��H�L�ǹ�Ƅ$�B�H�H����H��$��H�H�׹�I�4$�H�I�|$H��$0H��Ƅ$h
Ƅ$�Ƅ$HBƄ$�BL��$pL��$�L��$P
��A���H�D$ L��$�H�H�EI��o��A�H��$	L��$�H�H���H��$p
H�H���I��ovwA�H��$PH�H��H��$�H�H��H������D��H��$dH3%(uRH��([]A\A]ÐH��$�H�}L���|��L�mx�Z���H��$�H���L���Y��L���l����h����S�������H��H��tHǃ�H�@H�CH��[�@H�5���1�������SH��H�H�CH9�t�v�H��[�m�ff.�f���UH��H��H�5/SH��H�����H��t	��� u#H��H���H����t+H��1�[]�f.�H�����H��H�������u�H�{1��]���H�=�/����H��1�[]�fD��H��t����f��ff.�@��SH��H�� dH�%(H��$1�H��H�D$H�$�H��H�D$�����u-H�6/H��H��PXH��$dH3%(uH�� [Ð1��������1��f���H��tH�H��t#�F<�H�5A��1��M�DH�5a��1��5�D��H��t�fDH�5q��1��
�ff.�f���AW1�AVAUI��1�ATUSH����H���iI��H��PxI��H���hH��P H��H����L�=;��0f�H��L���e�����L��A�T$8H��H������H��H�����K<1���t
1���@��H���C=E1Ʉ�t
E1�<A��I���{HH��D�C@H�SH��,W�{W�{WH��PS��H��0���e���L���1���H�����L��A�T$8H��H���a���L��A�T$1�L������L��A�U1�H��[]A\A]A^A_�H���H������H�5/<�1���H���
[]A\A]A^A_�f�H���
[]A\A]A^A_�1�L���r���
�ff.����ff.���1��f���H��tH�PH��tH�5Ѽ���f�1��ff.�f���USH��H��tYH�������H��H��t?H�(�!H��H�=����H��tH�{PH�����H��H��[]�fDH���(�1�H��H��[]�ff.����H��tH�PtH��PH�5��о���ff.�@��USH��H��tnH��tiH��H���!��H��H�����H��t!H��t<�oE�U1�PH����[]�H��t�H�����H����[]�f.�H�����H��u�������ff.����ATUSH��0dH�%(H�D$(1�H�������H��H����1Ҿ��y����Ņ�xzI��f�H�s�L��)$)D$H�D$ ����1���L��f�D$��1�������(�����x>1�H�L$(dH3%(uFH��0[]A\�f��������H�=
��=���������H�5���1�����������������ATUSH�� dH�%(H�D$1�H����H����1Ҿ�
腽��A�ą�xpI��H�C0�S8f�H�sL�ǹ)$�D$�D$@�>�D��Hc�H��1���D����4�����x51�H�L$dH3%(uPH�� []A\ø������H�=_��R���������趶������ݿ���ٿH�5o�H��1��������������f��������f����6����f���AUA��ATUH��SH��8dH�%(H�D$(1�H���#�E1��#f��ED9���A��H�}�����Hc��(����H�EH������H���D����E1�����y��ȵ�����uE��t��H�5ϸ1����H�}�����H��t�D$�b��H�E�D$fDH�L$(dH3%(��H��8[]A\A]Ð��H�5G���}��������fDH�D$H9�t9H���������Ic�H��H��H��H���f.�f�H�l$)D$����H�|$����D�d$��7�����AW1�AVAUATUSH��hH�|$��t$�dH�%(H�D$X1�����D$���G�|$H�t$0���A�Ņ��EL�t$8�1����I��(A9���fA�~u�����H��H�����D$H��D�`Ic�H�C�`���Ao�:L��I��@�AoN�C8A�F)L$@�C�D$���H��t
�K��|$L�����H�C0H����C������O��H�D$$�T$,���v�9��I��H���
H�C0�|$L����D$fod$@I�D$0HcD$A�D$8I�D$�D$,A�D$1�Af�����/A�~�W��foT$@�|$L��C9��A�D$91�AV������]A�F�L$(A�A�D$:�����f�C:�D$A�D$;��=�����C<A�D$<H�|$L���������OH�|$H��������:����=�/��H�������I��(A9��%���DL�t$8D�d$L���>���|$��H�L$XdH3%(D���(H��h[]A\A]A^A_��fo\$@�|$1�L���A^�����yn��H�5���1��1�H���Y��D�d$������AooA.H�C0�
���DH�51�����H�����D�d$�=���DA�~���fot$@�|$L��C9��1�Av�>�����A�F�t$(A���uV�D$A�fD�C:��=��tT�C<D�d$�����f�{:�4���f.��C<A�D$<�=�����D$�f�S:��=��u��C<D�d$�,���H�5���1��#/��H���&���,���D�d$��H�5c��1����H������*���f.�H�|$8A������P���|$���
���f�L������H��������D�d$����H�=j�A��������������|$A������k�����q��D�d$�������AWAVAUATUSH��xdH�%(H�D$h1�H����H���
��H��H����1Ҿ�����A�Ņ���f�L�t$@H�D$`)D$@)D$P�}��H�{0���H�D$H���6H�|$���1Ҿ�I��蚵���D$,���K�|$,H�t$0�P���D$���Hc|$H�����I��H����D$H�l$8������Ic�E1�H�D�H�L$H�D�H�D$ @H�T$H�t$H���v�����u9�:H���Ÿ��H��t'A�OH�x�
1��L$(Ic�M�<��A��A�D�|$(H��(H;l$ u�H�|$8��O���|$,��A�W�H��fDE����A;,$t"��
f�H��A9l��tH9�u�D9�����9l$}�L������l$��H����1�UL�L$ L�=�L�������D$_ZY�@H�u�L��跿���S8H�s�I�~�f�D$P���D��1�L����e��D����������1�H�L$hdH3%(��H��x[]A\A]A^A_�fDL���0���<���H��� ���|$,������D���z�f.�������H�=R�譽�������녋|$,������H����H�=d������肽������H�5'��1��
��������?������f.����H��t���f��ff.�@��H�=%��0����H��tOUH��S��H��@��t��t$H��[]�f.�H�5��!1������u�H��H��[]鿽���H�5��1��U��D��SH��H��H��tH�������uCH��H��[�f.�1��t$�e���t$H��H��u�H�5±�1�����@H��1�1����H��H��[�ff.���H���P��i���H��tH�PH�H�PH�����AWAVAUATI��UH��SH��HH� dH�%(H�D$81��/���H�D$H���H���i��H��H�D$H����H�E�:H��H�D$(H�D$ ���H����H)�H��H���R�������L�t$0L�l$(E1�1�H�\$ L�D$L��L��H�D$0H�����H�D$0H��t
H���dH�T$�E<L�|$L��H�|B�H�|$���H�|$f�E@����:H�D$(H��H�D$H�E,H��H�D$ H�T$�6���H����H�T$H)�H��H����������L�D$E1�1�L��H�D$0L��H����H�D$0H��t
H����H�T$�E=L���H�|B�H�|$�W��H�|$f�EB�����L��H��H�D$�4��H�|$�E>����H��H�D$�j���H��H�D$H��u�1�L�������EDH������EHI�D$ H�EH�EI�D$ H�E1�H�E���H�L$8dH3%(uH��H[]A\A]A^A_��W�����1��f����ff.���1��f���������fD��AUATUSH��H��8dH�%(H�D$(1���H���E1�1�1�1�H�5�����H��H����I��f�1ɺM��H��H��)$L�-���)D$H�D$ H�D$PL�l$�]��H���%��E1�1�1�1�H�5I��@��f�H��H��tg)$H��)D$H�D$ H�D$PL�l$�SH��M��1ɺH��H�D$ ����H��1����H�T$(dH3%(��u:H��8[]A\A]þH�߽���������Ͻ�����H������뻽���������f������.��u
1���H��H�=�
������XH�=�������]H�=E�p�����bH�=]�\�����gH�=�#�H�����lH�=
$�4�����qH�=�,� �����vH�=�0������{H�=�1�������H�=�2��������H�=�4��������H�=���������H�=���������H�=):�������H�=�P�������H�=�a�l������H�=Ml�X������H�=n�D������H�=�o�0������H�=�q�������H�=Ys�������H�=1u��������H�=w��������H�=]{��������H�=|�������H�=�|�������H�=���������H�=�}�|������H�=h��h������H�=
��T�������:�.1�H����C���H�=,�'�����������H�=������������A���H�=���������������H�=!�������������H�=�!��������������H�=*�����������}��H�=p.��������������H�==/�x������������H�=D0�_�����{����"���H�=2�F�����v������H�=��-�����q����`��H�=�������l������H�=�7������g�������H�=GN�������b����%��H�=X_�������]�����H�=�i������X������H�=hk������S������H�=(m�~�����N����a���H�=�n�e�����I�������H�=�p�L�����D�����H�=pr�3�����?�������H�=Qt������:������H�=�x������5������H�=6y�������0����;��H�=z�������+����2��H�=��������&����9��H�={������!���耼��H�=�����������跣��H�=!��k���������n����
���f���H���þ��H�=��7������H�=(	�#������H�=�
�������H�=��������H�=���������H�=���������H�=��������H�=��������H�=��������H�=�������H�==�o������H�=���[������H�=u�G������H�=��3������H�=��������H�=H�������H�=��������H�=���������H�=8&�������H�=�*������H�=l+������H�=x,������H�=��������H�=<.�k�����H�=?��W�����H�=2��C�����$H�=�3�/�����)H�=W6������.H�=lJ������3H�=�[�������8H�=�e�������=H�=�g�������BH�=ai������GH�=.k������LH�=�l������QH�=�n�{�����VH�=�p�g�����[H�=�t�S�����`H�=�u�?�����eH�=pv�+�����jH�=�������oH�=kw������tH�=1��������yH�=ۤ�������~H�=}���������H�=������������.���.����H���fD����H�=|�w�����T����:���H�=��^�����O����1��H�=��E�����J����(���H�=4��,�����E������H�=(�������@����֫��H�=�������;����m��H�=��������6�������H�=��������1����+��H�=>������,����R��H�=d������'����	��H�=���}�����"������H�=��d�����������H�=��K���������~���H�=��2�����������H�=V����������|��H�=�������	������H�=��������������H�=7"������������1���H�=�&�������������H�=a'�����������/��H�=h(��������F��H�=���j�������譵��H�="*�Q��������D���H�= ��8�����������H�=�����������B���H�=�/���������詼��H�=)2����������谶��H�=9F����������臚��H�=JW�������������H�=�a����������%��H�=Zc�������������H�=e�p�������������H�=�f�W����������:��H�=�h�>�����������H�=bj�%�������������H�=Cl����������诱��H�=�p������������֠��H�=(q��������������H�=r�������������H�=����������������H�=�r�����������b���H�=���v����������ɿ��H�=]��]����������0���H�=���D�����}����Ǡ��H�=t��+�����x����Τ���n���f�1�1�H�E����.�������V���H�52��1�H�����f���1����H��H���ipAddressPrefixTablenot enough space for value
 ipDefaultRouterTable%%s/%s%s/qf%s: %s
could not open file "%s"StatusFileQueueDirectorymqueueThis shouldn't happen.line too longsendmail_statscouldn't open file "%s"sendmail_configsendmail_queuesendmail_indexinvalid index numbersendmail_stats_tinvalid cache timesendmail_queue_tmibII/mta_sendmailfiledirectoryintegercachetime/secmibII/mta_sendmail.c:count_queuegroup: could not get current working directory
mibII/mta_sendmail.c:var_mtaGroupEntry: could not rewind to beginning of file "%s"
mibII/mta_sendmail.c:var_mtaGroupEntry: could not read statistics file "%s"
mibII/mta_sendmail.c:var_mtaEntry: could not rewind to the beginning of file "%s"
mibII/mta_sendmail.c:var_mtaEntry: could not read from statistics file "%s"
mibII/mta_sendmail.c:mtaEntry: unknown magic value
mibII/mta_sendmail.c:open_sendmailstcould not guess version of statistics file "%s"mibII/mta_sendmail.c:read_sendmailcfline %d in config file "%s is too long
found too many mailers in config file "%s"line %d in config file "%s" ist missing an '='line %d config file "%s" contains a filename that's too longline %d config file "%s" contains a weird queuegroupline %d config file "%s" contains a weird queuegroup: no directorymibII/mta_sendmail.c says: What should I do with that token? Did you ./configure the agent properly?����������������������������������������������������������������������������������������������������������������������h�(������������/etc/mail/sendma/etc/sendmail.cf/etc/mail/statisnone	ignoring:  %s/dev/diskio path does not exist.diskio path is not a device./sys/dev/block/%d:%d/stat/proc/diskstats%d %d%d %d %s %lu %lu %lu %lu
/proc/partitionscan't do diskio getstats()
diskiodiskio_exclude_fddiskio_exclude_loopdiskio_exclude_rampath | devicemalloc failed for new disko allocation.%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu
%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu%*[ 
	]%lu
%d %d %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu
%d %d %lu %255s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu
diskio.c: cannot find statistics in /proc/partitions
don't know how to handle %d request
���
���	���	��x	��H
��
��������H	��	��������H�����i��q�?Y�V �x�?���u���?�?Y@@@�@�CsensorTable:table_containertable_container:rowlmTempSensorsTablelmFanSensorsTablelmVoltSensorsTablelmMiscSensorsTable
�
�
�
�
 	storageUseNFS must be 1 or 2host/hrMemorySizehost/hr_storageskipNFSInHostResourcesrealStorageUnitsstorageUseNFSMissing FLAG parameter in storageUseNFSunknown mode (%d) in handle_memsize
1 | 2		(1 = enable, 2 = disable)��������t�����$��d��4��|��x��x�������������C�����p��T��T�����|��O����������L��0��0�����X��+����������(������t�������������6�����/etc/dumpdateshost/hr_filesys/dev/rdsk/dev/dsk��T��l�����$��l�����������,��invalid cache in hrSWInstalledTable_cache_free
invalid cache for hrSWInstalledTable_cache_load
could not extract table entry or info for hrSWInstalledTable
error creating handler registration for hrSWInstalledTable
hrSWInstalledTable:table_containererror creating container for hrSWInstalledTable
error allocating table registration for hrSWInstalledTable
error injecting container_table handler for hrSWInstalledTable
error creating cache for hrSWInstalledTable
error creating cache handler for hrSWInstalledTable
error injecting cache handler for hrSWInstalledTable
error registering table handler for hrSWInstalledTable
hrSWInstalledTable������l��<�������hrSWRunTablecould not extract table entry or info for hrSWRunTable
error creating handler registration for hrSWRunTable
error allocating table registration for hrSWRunTable
error injecting container_table handler for hrSWRunTable
error creating cache handler for hrSWRunTable
error injecting cache handler for hrSWRunTable
error registering table handler for hrSWRunTable
������������l��<�������write to ns_set_time not ASN_OCTET_STR
write to ns_set_time not a proper length
0|1    0 to exclude kernel threads from hrSystemProcesses.0Unable to convert time value
Unable to set time
count_kthreadshost/hr_system/proc/cmdline�$��|#���#���#���#��\$���$��L#��host/hr_device4)��\)���)��)���)��|)��<)��Guessing that there's a floating point co-processorhost/hr_procnetwork interface %shost/hr_network/etc/printcaphost/hr_printsome sort of diskMissing NAME parameterOut of memorySCSI disk (%s)LVM volume (%s)RAID disk (%s)/dev/mapper//dev/mapper/%s/dev/hd%c/dev/hd%c%d/dev/sd%c/dev/sd%c%d/dev/md%d/dev/fd%dhost/hr_diskignorediskSyntax error in NAME: invalid set specified[0-9a-zA-Z+_\.-]+-[0-9a-zA-Z+_\.-]+host/hr_partition0x%x�H��I��I��tI���I���H��ipAddressTablecould not allocate memory
unable to malloc memory for new ipAddressTable_data.
couldn't map value %ld for ipAddressAddrType
"NULL varbind data pointer!
unknown column %d in _ipAddressPrefixTable_get_column
invalid container in ipAddressPrefixTable_container_free
invalid cache in ipAddressPrefixTable_cache_free
invalid cache for ipAddressPrefixTable_cache_load
error creating cache for ipAddressPrefixTable
ipAddressPrefixTable:table_containererror creating container in ipAddressPrefixTable_container_init
could not initialize container for ipAddressPrefixTable
error registering table ipAddressPrefixTable
error %d converting index to oid
Couldn't allocate memory for a ipAddressPrefixTable_rowreq_ctx.
R���Q���Q��4Q��R��bad container param to ipAddressPrefixTable_container_init
bad cache param to ipAddressPrefixTable_container_init
bad params to ipAddressPrefixTable_container_shutdown
error setting index while loading ipAddressPrefixTable data.
memory allocation failed
unknown column %d in _ipDefaultRouterTable_get_column
invalid container in ipDefaultRouterTable_container_free
invalid cache in ipDefaultRouterTable_cache_free
invalid cache for ipDefaultRouterTable_cache_load
error creating cache for ipDefaultRouterTable
ipDefaultRouterTable:table_containererror creating container in ipDefaultRouterTable_container_init
could not initialize container for ipDefaultRouterTable
error registering table ipDefaultRouterTable
Couldn't allocate memory for a ipDefaultRouterTable_rowreq_ctx.
error setting index while loading ipDefaultRouterTable cache.
memory allocation failed while loading ipDefaultRouterTable cache.
couldn't create delete container
bad container param to ipDefaultRouterTable_container_init
bad cache param to ipDefaultRouterTable_container_init
bad params to ipDefaultRouterTable_container_shutdown
lifounable to malloc memory for new ipDefaultRouterTable_data.
ipIfStatsTable	ipIfStatsTableLastChangedunknown column %d in _ipIfStatsTable_get_column
invalid container in ipIfStatsTable_container_free
invalid cache in ipIfStatsTable_cache_free
invalid cache for ipIfStatsTable_cache_load
error creating cache for ipIfStatsTable
ipIfStatsTable:table_containererror creating container in ipIfStatsTable_container_init
could not initialize container for ipIfStatsTable
error registering table ipIfStatsTable
Couldn't allocate memory for a ipIfStatsTable_rowreq_ctx.
�i���i���i���i��j��,j��Lj��lj���j���j���j���j��k��,k��Lk��lk���k���k���k���n���k��l��,l��Ll��ll���l���l���l���l��m��,m��Lm��lm���m���m���m���m��n��,n��Ln��ln���n���n���n���h��memory allocation failed while loading ipIfStatsTable cache.
error setting index while loading ipIfStatsTable cache.
bad params to ipIfStatsTable_container_shutdown
bad container param to ipIfStatsTable_container_init
bad cache param to ipIfStatsTable_container_init
ipv4InterfaceTableipv4InterfaceTable column ipv4InterfaceEnableStatus commit failed
unhandled columns (0x%x) in commit
ipv6InterfaceTableipv6InterfaceTable column ipv6InterfaceEnableStatus commit failed
ipv6InterfaceTable column ipv6InterfaceForwarding commit failed
ipv6ScopeZoneIndexTableunable to malloc memory for new ipv6ScopeZoneIndexTable_data.
$agent_modesctpStatssctpParamssctp/stats: Unsupported mode (%d)
sctp/stats: Unsupported subid (%d)
sctp/params: Unsupported mode (%d)
sctp/params: Unsupported subid (%d)
��������p���P���0�������Ё����������p���P���0��������������������`���ԃ�����4���T���t������������dot3StatsTablebad container param to dot3StatsTable_container_init
bad cache param to dot3StatsTable_container_init
bad params to dot3StatsTable_container_shutdown
access:dot3StatsTable, error getting the interface names present in the system
memory allocation for dot3StatsTable failed
error setting index while loading dot3StatsTable data.
access:dot3StatsTable, error freeing the interface name list 
could not create socket
unknown column %d in _dot3StatsTable_get_column
invalid container in dot3StatsTable_container_free
invalid cache in dot3StatsTable_cache_free
invalid cache for dot3StatsTable_cache_load
error creating cache for dot3StatsTable
dot3StatsTable:table_containererror creating container in dot3StatsTable_container_init
could not initialize container for dot3StatsTable
error registering table dot3StatsTable
Couldn't allocate memory for a dot3StatsTable_rowreq_ctx.
l�������$�������̎������l���<������܍������|���l���L���l���l����������������\���,���invalid container for netsnmp_swinst_container_free_items
invalid container for netsnmp_swinst_container_free
swinst:table_containerswinst containerswrun:table_containerswrun containerinvalid container for netsnmp_swrun_container_free_items
invalid container for netsnmp_swrun_container_free
no container specified/found for swrun
invalid container for netsnmp_swrun_entry_get_by_index
hrSWRunPerfTablecould not extract table entry or info for hrSWRunPerfTable
error creating handler registration for hrSWRunPerfTable
error allocating table registration for hrSWRunPerfTable
error injecting container_table handler for hrSWRunPerfTable
error creating cache handler for hrSWRunPerfTable
error injecting cache handler for hrSWRunPerfTable
error registering table handler for hrSWRunPerfTable
%s > %spipedup 0dup 1forkWrong type != int
.%luMib: %s
support for run_exec_command not available
Malloc failed - out of memory?Missing TYPE parameterMissing SPEED parameterBad SPEED valueBad TYPEname type speedinterfaceinterface containerinterface name containerinterfacesDuplicate interface specificationaccess_interface:table_containeraccess_interface_by_name:access_interface:table_containerinvalid container for netsnmp_access_interface_free
no container specified/found for access_interface
invalid container for netsnmp_access_interface_entry_get_by_index
invalid container for netsnmp_access_interface_entry_get_by_name
secondary index missing for netsnmp_access_interface_entry_get_by_name
IfIndex of an interface changed. Such interfaces will appear multiple times in IF-MIB.
request had no table info
unknown column %d in _ipAddressTable_undo_setup_column
bad rc %d from ipAddressIfIndex_check_value
bad rc %d from ipAddressType_check_value
bad rc %d from ipAddressStatus_check_value
bad rc %d from ipAddressRowStatus_check_value
bad rc %d from ipAddressStorageType_check_value
unknown column %d in _ipAddressTable_check_column
unknown column %d in _ipAddressTable_get_column
unknown column %d in _ipAddressTable_undo_column
unknown column %d in _ipAddressTable_set_column
invalid container in ipAddressTable_container_free
invalid cache in ipAddressTable_cache_free
invalid cache for ipAddressTable_cache_load
ipAddressTable row dirty flag still set after undo_commit
error creating cache for ipAddressTable
ipAddressTable:table_containererror creating container in ipAddressTable_container_init
could not initialize container for ipAddressTable
error registering table ipAddressTable
ipAddressTable dirty flag set in post_request but status != SUCCESS.
Couldn't allocate memory for a ipAddressTable_rowreq_ctx.
̸������������������������d���X�����������������������������������ع������p��� �������н������0�����������,���L���l���l���<���l���l���\���������X�����������@�����������x���ؿ��error setting index while loading ipAddressTable cache.
memory allocation failed while loading ipAddressTable cache.
access_ipaddress:table_containercouldn't create ignore container
bad params to ipAddressTable_container_shutdown
bad container param to ipAddressTable_container_init
bad cache param to ipAddressTable_container_init
invalid index for a new row in the ipAddressTable table.
access_defaultrouter:table_containerdefaultrouter primary container is not found
defaultrouter_addr:access_defaultrouter:table_containerdefaultrouter secondary container not found
invalid container for netsnmp_access_defaultrouter_free
no container specified/found for access_defaultrouter
dr_indexdr_addrCould not open netlink socket : %s
unable to send netlink message to kernel : %s
unable to receive netlink messages: %s
kernel produced nlmsg err
access_systemstats:table_containerinvalid container for netsnmp_access_systemstats_free
no container specified/found for access_systemstats
invalid container for netsnmp_access_systemstats_entry_get_by_index
Error expanding HCInNoRoutes to 64bits in %s
Error expanding HCOutNoRoutes to 64bits in %s
Error expanding HCOutDiscards to 64bits in %s
Error expanding HCOutFragReqds to 64bits in %s
Error expanding HCOutFragOKs to 64bits in %s
Error expanding HCOutFragFails to 64bits in %s
Error expanding HCOutFragCreates to 64bits in %s
Error expanding HCInReceives to 64bits in %s
Error expanding HCInOctets to 64bits in %s
Error expanding HCInForwDatagrams to 64bits in %s
Error expanding HCInDelivers to 64bits in %s
Error expanding HCOutRequests to 64bits in %s
Error expanding HCOutForwDatagrams to 64bits in %s
Error expanding HCOutTransmits to 64bits in %s
Error expanding HCOutOctets to 64bits in %s
Error expanding HCInMcastPkts to 64bits in %s
Error expanding HCInMcastOctets to 64bits in %s
Error expanding HCOutMcastPkts to 64bits in %s
Error expanding HCOutMcastOctets to 64bits in %s
Error expanding HCInBcastPkts to 64bits in %s
Error expanding HCOutBcastPkts to 64bits in %s
systemstats_autocreatesystemstats data format error 1, line ==|%s|
Interface name %s is too long
%s doesn't include ifIndex linesystemstats_linux: cannot open /proc/net/snmpsystemstats_linux: unexpected header length in /proc/net/snmp. %d != 224
%llu %llu %llu %llu %llu %llu %llu %llu %llu %llu%llu %llu %llu %llu %llu %llu %llu %llu %lluerror scanning systemstats data (expected %d, got %d)
systemstats_linux: cannot open /proc/net/netstat%*s%llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu %lluerror scanning addtional systemstats data(minimum expected %d, got %d)
no container specified/found for access_systemstats_
/proc/net/dev_snmp6systemstats_linux: %s%s doesn't include any lines
ifIndex%s is wrong formatipIfStatsTable.ipv6/proc/net/snmpipSystemStatsTable.ipv4/proc/net/netstatIpExt:ipSystemStatsTable.ipv6/proc/net/snmp6unable to malloc memory for new ipIfStatsTable_data.
ifTable:table_containerifTable containerifTableifTableLastChangedundo_refcount at %d
bad rc %d from ifAdminStatus_check_value
unknown column %d in _ifTable_check_column
unknown column %d in _ifTable_get_column
invalid container in ifTable_container_free
invalid cache in ifTable_cache_free
invalid cache for ifTable_cache_load
unknown column %d in _ifTable_undo_column
unknown column %d in _ifTable_set_column
ifTable row dirty flag still set after undo_commit
error creating cache for ifTable
error creating container in ifTable_container_init
error registering table ifTable
unable to malloc memory for new ifTable_data.
ifTable dirty flag set in post_request but status != SUCCESS.
Couldn't allocate memory for a ifTable_rowreq_ctx.
unknown column %d in _ifTable_undo_setup_column
�������������d���D���$�������������������d���D���$�������������������d���D�������ifTable_deleted:linked_listyestruefalseinterface_fadeout secondsinterface_fadeoutinterface_replace_old yes|nointerface_replace_oldcouldn't create container for deleted interface
Invalid value of interface_replace_old parameter: '%s'
error setting index while loading ifTable cache.
memory allocation failed while loading ifTable cache.
bad container param to ifTable_container_init
bad cache param to ifTable_container_init
bad params to ifTable_container_shutdown
if numberifTable column ifAdminStatus commit failed
ipv4TableLastChangedunknown column %d in _ipv4InterfaceTable_undo_setup_column
bad rc %d from ipv4InterfaceEnableStatus_check_value
unknown column %d in _ipv4InterfaceTable_check_column
unknown column %d in _ipv4InterfaceTable_get_column
unknown column %d in _ipv4InterfaceTable_undo_column
unknown column %d in _ipv4InterfaceTable_set_column
ipv4InterfaceTable dirty flag set in post_request but status != SUCCESS.
ipv4InterfaceTable row dirty flag still set after undo_commit
ipv4InterfaceTable:table_containererror creating container in ipv4InterfaceTable_container_init
could not initialize container for ipv4InterfaceTable
error registering table ipv4InterfaceTable
invalid container in ipv4InterfaceTable_container_free
bad container param to ipv4InterfaceTable_container_init
bad params to ipv4InterfaceTable_container_shutdown
ipv6TableLastChangedunknown column %d in _ipv6InterfaceTable_undo_setup_column
bad rc %d from ipv6InterfaceEnableStatus_check_value
bad rc %d from ipv6InterfaceForwarding_check_value
unknown column %d in _ipv6InterfaceTable_check_column
unknown column %d in _ipv6InterfaceTable_get_column
unknown column %d in _ipv6InterfaceTable_undo_column
unknown column %d in _ipv6InterfaceTable_set_column
ipv6InterfaceTable dirty flag set in post_request but status != SUCCESS.
ipv6InterfaceTable row dirty flag still set after undo_commit
ipv6InterfaceTable:table_containererror creating container in ipv6InterfaceTable_container_init
could not initialize container for ipv6InterfaceTable
error registering table ipv6InterfaceTable
invalid container in ipv6InterfaceTable_container_free
�*���*��H*��(*���*���)���*��h*��p)��bad container param to ipv6InterfaceTable_container_init
bad params to ipv6InterfaceTable_container_shutdown
unknown column %d in _ipv6ScopeZoneIndexTable_get_column
invalid container in ipv6ScopeZoneIndexTable_container_free
invalid cache in ipScopeZoneIndexTable_cache_free
invalid cache for ipScopeZoneIndexTable_cache_load
error creating cache for ipScopeZoneIndexTable
ipv6ScopeZoneIndexTable:table_containercould not initialize container for ipv6ScopeZoneIndexTable
error registering table ipv6ScopeZoneIndexTable
error creating container in ipv6ScopeZoneIndexTable_container_init
Couldn't allocate memory for a ipv6ScopeZoneIndexTable_rowreq_ctx.
�5���5��d5��D5��$5��5���4���4���4��d4��D4���4��$4��d3��error setting index while loading ipv6ScopeZoneIndexTable cache.
bad container param to ipv6ScopeZoneIndexTable_container_init
bad cache param to ipv6ScopeZoneIndexTable_container_init
bad params to ipv6ScopeZoneIndexTable_container_shutdown
etherStatsTableetherStatsTable column etherStatsDataSource commit failed
etherStatsTable column etherStatsOwner commit failed
etherStatsTable column etherStatsStatus commit failed
bad container param to etherStatsTable_container_init
bad cache param to etherStatsTable_container_init
bad params to etherStatsTable_container_shutdown
access:etherStatsTable, error getting the interface names present in the system
error setting index while loading etherStatsTable data.
access:etherStatsTable, error freeing the interface name list 
invalid index for a new row in the etherStatsTable table.
bad rc %d from etherStatsDataSource_check_value
bad rc %d from etherStatsOwner_check_value
bad rc %d from etherStatsStatus_check_value
unknown column %d in _etherStatsTable_check_column
unknown column %d in _etherStatsTable_get_column.
unknown column %d in _etherStatsTable_undo_column
unknown column %d in _etherStatsTable_set_column
invalid container in etherStatsTable_container_free
invalid cache in etherStatsTable_cache_free
invalid cache for etherStatsTable_cache_load
etherStatsTable row dirty flag still set after undo_commit
error creating cache for etherStatsTable
etherStatsTable:table_containererror creating container in etherStatsTable_container_init
could not initialize container for etherStatsTable
error registering table etherStatsTable
unable to malloc memory for new etherStatsTable_data.
unknown column %d in _etherStatsTable_undo_setup_column
etherStatsTable dirty flag set in post_request but status != SUCCESS.
Couldn't allocate memory for a etherStatsTable_rowreq_ctx.
LF��<E���E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��<E��\E���E���K��TG���K��TK��$K���J���J���J��dJ��4J��J���I���I��tI��DI��I���H���H���H��TH��$H���G��SCTP: Error expanding sctpOutCtrlChunks to 64bits
SCTP: Error expanding sctpOutOrderChunks to 64bits
SCTP: Error expanding sctpOutUnorderChunks to 64bits
SCTP: Error expanding sctpInCtrlChunks to 64bits
SCTP: Error expanding sctpInOrderChunks to 64bits
SCTP: Error expanding sctpInUnorderChunks to 64bits
SCTP: Error expanding sctpFragUsrMsgs to 64bits
SCTP: Error expanding sctpReasmUsrMsgs to 64bits
SCTP: Error expanding sctpOutSCTPPacks to 64bits
SCTP: Error expanding sctpInSCTPPacks to 64bits
%u/proc/net/sctp/snmp/proc/sys/net/sctp/rto_min/proc/sys/net/sctp/rto_max/proc/sys/net/sctp/rto_initial/proc/sys/net/sctp/valid_cookie_life/proc/sys/net/sctp/max_init_retransmitssctpAssocRemAddrTablecould not extract table entry or info for sctpAssocRemAddrTable
error creating handler registration for sctpAssocRemAddrTable
sctpAssocRemAddrTable:table_containererror creating container for sctpAssocRemAddrTable
error allocating table registration for sctpAssocRemAddrTable
error injecting container_table handler for sctpAssocRemAddrTable
error registering table handler for sctpAssocRemAddrTable
�i���i���i��\i��4i��j��sctpAssocLocalAddrTablecould not extract table entry or info for sctpAssocLocalAddrTable
error creating handler registration for sctpAssocLocalAddrTable
sctpAssocLocalAddrTable:table_containererror creating container for sctpAssocLocalAddrTable
error allocating table registration for sctpAssocLocalAddrTable
error injecting container_table handler for sctpAssocLocalAddrTable
error registering table handler for sctpAssocLocalAddrTable
sctpLookupLocalPortTablecould not extract table entry or info for sctpLookupLocalPortTable
error creating handler registration for sctpLookupLocalPortTable
sctpLookupLocalPortTable:table_containererror creating container for sctpLookupLocalPortTable
error allocating table registration for sctpLookupLocalPortTable
error injecting container_table handler for sctpLookupLocalPortTable
error registering table handler for sctpLookupLocalPortTable
sctpLookupRemPortTablecould not extract table entry or info for sctpLookupRemPortTable
error creating handler registration for sctpLookupRemPortTable
sctpLookupRemPortTable:table_containererror creating container for sctpLookupRemPortTable
error allocating table registration for sctpLookupRemPortTable
error injecting container_table handler for sctpLookupRemPortTable
error registering table handler for sctpLookupRemPortTable
sctpLookupRemHostNameTablecould not extract table entry or info for sctpLookupRemHostNameTable
error creating handler registration for sctpLookupRemHostNameTable
sctpLookupRemHostNameTable:table_containererror creating container for sctpLookupRemHostNameTable
error allocating table registration for sctpLookupRemHostNameTable
error injecting container_table handler for sctpLookupRemHostNameTable
error registering table handler for sctpLookupRemHostNameTable
sctpLookupRemPrimIPAddrTablecould not extract table entry or info for sctpLookupRemPrimIPAddrTable
error creating handler registration for sctpLookupRemPrimIPAddrTable
sctpLookupRemPrimIPAddrTable:table_containererror creating container for sctpLookupRemPrimIPAddrTable
error allocating table registration for sctpLookupRemPrimIPAddrTable
error injecting container_table handler for sctpLookupRemPrimIPAddrTable
error registering table handler for sctpLookupRemPrimIPAddrTable
sctpLookupRemIPAddrTablecould not extract table entry or info for sctpLookupRemIPAddrTable
error creating handler registration for sctpLookupRemIPAddrTable
sctpLookupRemIPAddrTable:table_containererror creating container for sctpLookupRemIPAddrTable
error allocating table registration for sctpLookupRemIPAddrTable
error injecting container_table handler for sctpLookupRemIPAddrTable
error registering table handler for sctpLookupRemIPAddrTable
invalid cache in sctpAssocTable_cache_free
invalid cache for sctpAssocTable_cache_load
could not extract table entry or info for sctpAssocTable
error creating handler registration for sctpAssocTable
sctpAssocTable:table_containererror creating container for sctpAssocTable
error allocating table registration for sctpAssocTable
error injecting container_table handler for sctpAssocTable
error creating cache for sctpAssocTable
error creating cache handler for sctpAssocTable
error injecting cache handler for sctpAssocTable
error registering table handler for sctpAssocTable
sctpAssocTable��������������Ԃ������4���T���t�����������ԃ������4���T���|���/proc/net/sctp/assocs/proc/net/sctp/remaddrsnmpd: cannot open /proc
socket:[[0000]:/proc/%s/fd/tcpConnectionTableunable to malloc memory for new tcpConnectionTable_data.
tcpConnectionTable column tcpConnectionState commit failed
tcpListenerTableunable to malloc memory for new tcpListenerTable_data.
Sensor name is too large: %s
failed to create container for sensorTable/etc/sensors.conf%s:%sudpEndpointTable/sys/class/net/%s/statistics/%sparse_rtattr: !!!Deficit %d, rta_len=%d
netlink receive error %s (%d)
access:dot3StatsTable:interface_name_list_free: invalid pointer list_headaccess:dot3StatsTable,interface_name_list_get, getifaddrs failed
access:dot3StatsTable,interface_name_list_get, memory allocation failed
_dot3Stats_netlink_get_errorcntrs: rtnl_open() failed
_dot3Stats_netlink_get_errorcntrs: Cannot send dump request_dot3Stats_netlink_get_errorcntrs: Dump terminated
access:dot3StatsTable:ioctl, _dot3Stats_ioctl_get error on interface '%s'
access:dot3StatsTable:interface_ioctl_ifindex_get, error on interface '%s'
access:dot3StatsTable,interface_ioctl_dot3Stats_get, no memory available
access:dot3StatsTable,interface_ioctl_dot3Stats_get, cannot get stats strings information for interface |%s| 
access:dot3StatsTable,interface_ioctl_dot3Stats_get, cannot get stats information for interface |%s| 
rtEOF on netlink
ERROR truncated
RTNETLINK answersMessage truncated
!!!Remnant of size %d
Cannot open netlink socketSO_SNDBUFSO_RCVBUFCannot bind netlink socketCannot getsocknameWrong address length %d
Wrong address family %d
rx_errorstx_droppedtx_fifo_errorstx_carrier_errorsrx_frame_errorsrx_fifo_errorsrx_align_errorsin_fcs_errortx_multi_coll_okmultipletx_multi_collisionstx_mult_collisionstx_abort_late_colllatetx_late_collisionstx_single_coll_oksingletx_single_collisionstx_excess_collisionstx_excessive_collisionsexcessivedeferred���ĥ��T���4���ĥ��ĥ��ĥ��ĥ��ĥ�������ԥ������/proc/meminfomalloc failed
MemTotal: MemTotal: %luMemFree: MemFree: %lu2.4LinuxMemShared: MemShared: %luShmem: Shmem: %luBuffers: Buffers: %luCached: Cached: %luSwapTotal: SwapTotal: %luSwapFree: SwapFree: %luNo Physical Memory info entryPhysical memoryNo Virtual Memory info entryVirtual memoryNo Shared Memory info entryShared memoryNo Cached Memory info entryCached memoryNo Swap info entrySwap spaceNo Buffer, etc info entryMemory buffersNo MemTotal line in /proc/meminfo
No MemFree line in /proc/meminfo
No MemShared line in /proc/meminfo
No Shmem line in /proc/meminfo
No Buffers line in /proc/meminfo
No Cached line in /proc/meminfo
No SwapTotal line in /proc/meminfo
No SwapFree line in /proc/meminfo
fsysTable:table_containerfailed to create container for fsysTable/etc/mtabCannot open %sffsufssysvpcmsdoshfsntfsiso9660cd9660cdfshsfsnfsnfs3nfs4cifssmbfsmvfsncpfsafsext2ext3ext4ext2fsext3fsext4fsfat32vfattmpfsgfsgfs2jfsvxfsreiserfsocfs2cvfssimfsbtrfszfsnvmfsacfslofsroCannot statfs %s%{_dbpath}%s/PackagesrpmdbOpen() failed
%s-%s-%sSystem EnvironmentCan't find directory of RPM packagesBogus length from date_n_time for %sFailed to open /proc/proc/%d/status/proc/%d/cmdline%.*s/proc/%d/statName of CPU is too large: %s
/proc/cpuinfoCan't open procinfo file %s
processor : %dcpu%dvendor_idmodel namecannot open %s
cannot open /proc/vmstat/proc/vmstatread errorpgpgin pgpgin %lluNo pgpgin line in %s
pgpgout pgpgout %lluNo pgpgout line in %s
pswpin pswpin %lluNo pswpin line in %s
pswpout pswpout %lluNo pswpout line in %s
page %llu %llu/proc/statNo page line in %s
swap swap %llu %lluNo swap line in %s
intr intr %llu %lluNo intr line in %s
ctxt ctxt %lluNo ctxt line in %s
page /proc/statread errorNo (overall) CPU info entryMissing CPU info entrycpuNo cpu line in %s
%llu %llu %llu %llu %llu %llu %llu %llu %llu %lluOverall CPU statnetsnmp_prefix_listen: Receive failed.
netsnmp_prefix_listen: Error in length.
%04x%04x%04x%04x%04x%04x%04x%04x%lu %lu %lu %lu %*lu %*lu %*lu %lu %lu %lu %lu %lu %*lu %lu%lu %lu %*lu %*lu %*lu %lu %lu %*lu %*lu %luno container specified/found for interface
interface_linux: cannot open /proc/net/devinterface_linux: could not create socketinterface data format error 1, line ==|%s|
interface data format error 2 (%d < 6), line ==|%s|
/proc/sys/net/ipv6/conf/%s/forwardingerror scanning interface data (expected %d, got %d)
netsnmp_prefix_listen: Cannot create socket.
netsnmp_prefix_listen: Bind failed.
netsnmp_prefix_listen: send failed
netsnmp_prefix_listen: error registering netlink socket
/proc/sys/net/ipv%d/neigh/%s/retrans_time_ms/proc/sys/net/ipv%d/neigh/%s/retrans_time/proc/sys/net/ipv%d/neigh/%s/base_reachable_time_ms/proc/sys/net/ipv%d/neigh/%s/base_reachable_time/proc/net/devcompressedNo statistics availablelodefaultvmnettrfethgigslsitipppbondvadinvalid ifentry
couldn't create socket
ioctl %d returned %d
error getting flags
error setting flags
ipaddress primary container not found
ipaddress_addr:access_ipaddress:table_containeripaddress secondary container not found
invalid container for netsnmp_access_ipaddress_free
no container specified/found for access_ipaddress
netsnmp_access_ipaddress_entry_set with no mode
ia_indexia_addrarch ipaddress copy failed
ipaddress_linux: could not open netlink socketipadress_linux: could not send netlink requestipadress_linux: could not receive netlink requestipadress_linux: nothing to read
could not open netlink socket
could not send netlink request
could not recieve netlink request
ipaddress_linux: could not open /proc/net/if_inet6%39s %08x %08x %04x %02x %16s
/proc/net/if_inet6 data format error (%d!=6), line ==|%s|
invalid netlink message
invalid NLMSG message
nothing to read
/proc/net/if_inet6error parsing '%s', skipping
access_scopezone:table_containerinvalid container for netsnmp_access_scopezone_free
no container specified/found for access_scopezone
scopezoneno container specified/found for access_scopezone_
/proc/net/if_inet6 data format error (%d!=5), line ==|%s|
%39s %04x %02x %02x %02x
access:etherStatsTable:interface_name_list_free: invalid pointer list_headaccess:etherStatsTable,interface_name_list_get, getifaddrs failed
access:etherStatsTable,interface_name_list_get, memory allocation failed
access:etherStatsTable:ioctl, _etherStats_ioctl_get error on inerface '%s'
access:etherStatsTable:ioctl, ifindex_get error on inerface '%s'
access:etherStatsTable,interface_ioctl_etherstats_get, no memory available
access:etherStatsTable,interface_ioctl_etherstats_get, cannot get stats strings information for interface |%s| 
access:etherStatsTable,interface_ioctl_etherstats_get, cannot get stats information for interface |%s| 
in_good_octetsin_bad_octetsrx_octetsin_unicastin_broadcastin_multicastrx_packetsrx_broadcastrx_multicastrx_crc_errorsin_undersizerx_undersizein_oversizerx_oversizein_fragmentsrx_fragmentrx_jabbersrx_jabberin_jabbertx_collisionhist_64bytesrx_64bytehist_65_127bytesrx_65to127bytehist_128_255bytesrx_128to255bytehist_256_511bytesrx_256to511bytehist_512_1023bytesrx_512to1023bytehist_1024_max_bytesrx_1024to2047byterx_GTE2048byteaccess:tcpconn:table_containertcpconn primary container not found
invalid container for netsnmp_access_tcpconn_free
no container specified/found for access_tcpconn
tcpConnTablearch tcpconn copy failed
/proc/net/tcpcould not open /proc/net/tcp
/proc/net/tcp6%*d: %8[0-9A-Z]:%x %8[0-9A-Z]:%x %x %*x:%*x %*x:%*x %*x %*x %*x %llutcp:_load4: bad line in /proc/net/tcp: %s
%*d: %47[0-9A-Z]:%x %47[0-9A-Z]:%x %x %*x:%*x %*x:%*x %*x %*x %*x %llutcp:_load6: bad line in /proc/net/tcp6: %s
	
unknown column %d in _tcpConnectionTable_undo_setup_column
bad rc %d from tcpConnectionState_check_value
unknown column %d in _tcpConnectionTable_check_column
unknown column %d in _tcpConnectionTable_get_column
unknown column %d in _tcpConnectionTable_undo_column
unknown column %d in _tcpConnectionTable_set_column
invalid container in tcpConnectionTable_container_free
invalid cache in tcpConnectionTable_cache_free
invalid cache for tcpConnectionTable_cache_load
tcpConnectionTable row dirty flag still set after undo_commit
error creating cache for tcpConnectionTable
tcpConnectionTable:table_containercould not initialize container for tcpConnectionTable
error registering table tcpConnectionTable
error creating container in tcpConnectionTable_container_init
tcpConnectionTable dirty flag set in post_request but status != SUCCESS.
Couldn't allocate memory for a tcpConnectionTable_rowreq_ctx.
Error inserting entry to tcpConnectionTable, entry already exists.
error setting index while loading tcpConnectionTable cache.
memory allocation failed while loading tcpConnectionTable cache.
bad container param to tcpConnectionTable_container_init
bad cache param to tcpConnectionTable_container_init
bad params to tcpConnectionTable_container_shutdown
unknown column %d in _tcpListenerTable_get_column
invalid container in tcpListenerTable_container_free
invalid cache in tcpListenerTable_cache_free
invalid cache for tcpListenerTable_cache_load
error creating cache for tcpListenerTable
tcpListenerTable:table_containercould not initialize container for tcpListenerTable
error registering table tcpListenerTable
error creating container in tcpListenerTable_container_init
Couldn't allocate memory for a tcpListenerTable_rowreq_ctx.
memory allocation failed while loading tcpListenerTable cache.
error setting index while loading tcpListenerTable cache.
bad container param to tcpListenerTable_container_init
bad cache param to tcpListenerTable_container_init
bad params to tcpListenerTable_container_shutdown
unknown column %d in _udpEndpointTable_get_column
invalid container in udpEndpointTable_container_free
invalid cache in udpEndpointTable_cache_free
invalid cache for udpEndpointTable_cache_load
error creating cache for udpEndpointTable
udpEndpointTable:table_containererror creating container in udpEndpointTable_container_init
could not initialize container for udpEndpointTable
error registering table udpEndpointTable
Couldn't allocate memory for a udpEndpointTable_rowreq_ctx.
bad container param to udpEndpointTable_container_init
bad cache param to udpEndpointTable_container_init
bad params to udpEndpointTable_container_shutdown
error setting index while loading udpEndpointTable data.
ioctl_extraserror deleting address
bad rc from ioctl, errno %d%s:%derror setting address
_netsnmp_ioctl_ipaddress_delete_v4: couldn't create socket_netsnmp_ioctl_ipaddress_v6: couldn't create socketerror setting address: %s(%d)
could not allocate memory for %d interfaces
_netsnmp_ioctl_ipaddress_container_load_v4: could not create socketno ifindex found for interface
error getting netmask for interface %d
error getting if_flags for interface %d
Duplicate IPv4 address detected, some interfaces may not be visible in IP-MIB
_netsnmp_ioctl_ipaddress_set_v4: couldn't create socket_next_alias: could not create socketaccess_udp_endpoint:table_containerinvalid container for netsnmp_access_udp_endpoint_free
no container specified/found for access_udp_endpoint
/proc/net/udp/proc/net/udp6swinstswrunhw_sensorshw_fsyslmsensorsMibhrh_storagehrh_filesyshr_othersctpScalarshw_memcpu_linuxerror registering for SHUTDOWN callback for mib modules
;�(P����(����(�;��D��<���(�<��)�<��0) =��H)P=��h)`=��|)p=���)�=���)�=���)>���)P>�� *p>��4*�>��H*�>��\*�>��p*�>���* ?���*P?���*�?���*�?���*�?��+�?��(+@��<+@��P+C���+�D���+`J��8,�N���,�O���, S�� - [���-^��,.�_��P.�`��l.�`���.pd���.e��/�j���/�m��$0@q��L0�t���0�t���0�t���0�t���0u���00v��\1`w���1�w���1�x���1�y��2Pz��2pz��02�z��P2`}���2���� 3`���l3�����3�����30����3`���4��h4`����4�����4Љ���4��40����4����5���<5P���T5����5 ����5���6P���60���\6@���p6p����6p����6Е���6���7 ���@7��T7P���h7�����7��7��P8�d8 ���x80����8p����8�����8П���8��8 ���9����9��h9�����9���9��9����9����:У�� : ���8:Ф��L: ����:P����:�����:�����:�����:Ц��;P���`;�t; ����;0����;p����;����<����<0���P<����< ����< ���=д���=P����=�����= ����=���� >���p>�����>@����> ���?P���(?����x?@����?`����?�����?�����?�@���0@���D@@���d@�����@�����@����@0���@���A���<A��PA0��dA����A����A���A ���A0���A`��B���$B���8B���LB���`B����B`���B����B����B���C��C0��(C@��<C`��PC���dC���xC����C����C����C ���C0���C@���C`��D��� D���4D���HD���\Dp��pD����D����D0���Dp��E��� E���8E��LE��`E0��tEP���EP���E����E����E��HF`���F����F ���F@���F���GP��@G`��TG���hG���|G����G����G����G���8H���XH@��xH����H����H���H���H ���H@���H`��IP��PI���hI���|I���I���I �J��LJ��`J���J0��J���J��TK��hK��|K ��K ��K0��K@��K��L��$L�XLP��Lp��L���L���L��L0�M`�(Mp�<M��XM��lM���M��M0��M��N��N��0N@�HNP�\N`�pN��N��N��Np����N�����N����O����LO`����O�����O@����O`����O ���P����8P ���pP�����P���P����P����Q ���XQ0���lQ@����Q`����Q�����Q���Q����Q����Q ���RP���,Rp���@R����TR����hR����|R����R���RP����R`����R�����R����S����S���(S�@S@��`Sp��xS����S����S����S����S����S���$T��8T0��LTP��`T���tT����T����T����T`���Tp���T���U���$U���8U���LU���`U��tU���U0���U`���U����U����U���V��$V ��@V0��TV@��hV����V����V����V����V���V ��W0�� W@��4WP��HW`��\Wp��pW����W����W����W����W����W�	��X��0X ��hX���X0���X`���X���Y���(Y���<Y���PY���dY��xY���Y`���Y����Y����Y����Y���Z��$Z ��8Z@��LZ`��`Z���tZ����Z����Z����Z����Z����Z���[���[��0[��D[`��X[���l[����[����[���[�� \P��@\���`\���|\���\`���\p���\����\����\����\���8]���P]���d]� ���] !���]P!���]�!��^"��(^�"��T^#��x^ #���^0#���^@#���^�#���^�#���^p$��_�$��4_�$��H_�$��`_%��t_%���_�%���_�%���_0&��`'��0``'��P`�'��h`�'��|`�'���`@(���`�(���`�(��ap)�� a�)��<a�)��Pa�*���a�,���a�,���a�,���a-��b-��b .��Pb`.��dbp.��xb�.���bP/���b02��c`2��,c�2��hc@3���c`3���c�4���c@5��4d�5��`d06���d�6���d8��e�8��Te9���e�9���e�:��0f�:��Hf;��`f�;���f<���f <���fP>��Xg�>��lg0?���g�?���g@���g`@��hp@��0h�@��Lh�A��ph�A���h�B���hC���hC���h�C��iD��0i�D��Ti�D���i�I���iJ��jL��<jPL��Pj�L��|j0M���jpM���jN���jPN��k�O��lk�R���k�U���k�V��,lX��hlPX���l�X���l�X���lY���l Y���l0Y���lPY��mpY��$m�Y��8m�Y��LmZ��lm�Z���m�]���m ^���m0^��n _��Dn`���np`���n a���n@a���n b��o�d��ToPe��xo`e���o0f���o0g��@p@g��Tppg��hp�h���p`i���ppi���p�i��q�i��qj��0qpj��Pq�j��dq�k���ql���q�l��r�l��r�l��(rm��Hr�m���r0n���r�s��s�s��,st��Xs�u���s�u���sPv���s�v���s w��t�w��,t�w��Xt0x��tt@x���t�����t����t`���@u0����u����Xv����lv�����v���v��v����vP���,w����@w����Tw��hw���|w@����wp����w�����wЙ���w����w0����w`���x����x����0x�Dx ���XxP���lx�����x�����x����x0����xp����x�����xМ���x���y0��� y`���4y����HyН��\y���py@����yp����y�����y���y ����yP����y�����y����z���$z0���8zp���Lz����`z��tz����z ����z`����z�����z���,{`���l{�����{��{ ����{p����{�|����0|�P|���d|���x|0����|P����|`����|p����|���|`��� }p���4}`���\}Я���}����}����}�����}P���~����,~����@~��\~���p~�����~0����~г������H���h0��������������������@���T�����Ѐ��P�����@���$�p���8�P���\�`���p�p��������ā���p������������8���T�0��p�@��������������������$� ��8�@��L�`��`�����0����P����p��ԃ����������������$���8�0��L�P��`�p��t�������������������Ą ��܄0���@���P������P���d� ��x�@����P����p�������ȅ����������<���x�����P��؆�������4����T����h����|�����0����@������������0������H����\�`��������������@��؈P���������8�@��L�P��`�`��t�p������������ĉ�������P�0��������� �������@��,�P��@�`��T����h����������� ����0��̋����� � �4���X� �x�0���������Č��،0�(�`�<�p�P���d���x������؍@��p���� ���4���H��\� �t�@�Ďp�܎���0����P��l�������������p�0���t����@��p����������� ���(�P���H�����`�������������������������� ����p���(����X� ���l�@�����`���������������������В�������� ����@��� �`���4�����H�����\�����p���������� ���������ܓ�������������,����|� �����0�����p���������������@���4�p���\�����x�������������� ���ȕ0���ܕ��������������P�����d����x������������̖����p��\� 	����0
�����
��ؗ�
����
���@�� �P��4�`��H����\����t�����������@����������,�0��D�@��X��������������ؙ ��$�0��8����T����p�p��������� ��� ������@����T����������������������؛��������!��`� !��t��!�����!����"����@"��̜�"����$��<�%��h��%����&�����&����`'��8� (��t��(�����)����p+����-��P��-��d��-��|�/����P/��̟p/����/����/����/���0��4�0��H��0����3���3���@3���p4��H��4��\��4��p��4����5���� 5����p5��ġ�5��ءP6���p8��p��8�����8�����9��آ�9���:��� :���0:��(�P:��<��:��T��:��h��;�����=����=����=��,��>��h� ?��|�@?����P?����`?�����?��̤�?����?�����@��4��B�����B����C����D����`D����D�� ��D��4��D��H��D��\�E��t� E�����E��ĦH�� � H��4�PH��L��I�����I�����I����J��̧J���0J����J����J�� �`K��\��M�����M��̨�M����N��(�@O��<�`O��P�pO��d��O��x��O�����O����P����@P��̩�P����S��4�`V����pV�����V��ĪPW����W����W����W��,��W��@��W��T�X��h��X�����X����Y��ܫ�]��,��_��t��_����c����c����c���d��4�d��H�@d��h�Pd��|��d�����d�����d��̭e���e����e��<�@f��|�`f�����f�����f�����f��̮�f��� g���@g���Pg��(�`g��<�pg��P��g��d��g��x��g�����g�����g���� h���0h���`h���ph��$��h��8��h��X��h��l�`i�����i��԰�i���j��� j���@j��0�`j��H��j��p��j����k����k����@l���pl����n��x��n����o����@o��Ȳpo����o�����o���pp��`��p����q�����q����s��D��v�����v�����x����|��P����������е��� �p���D�0��������������Զ��� ���������@��T����h� �����p���������ܷ����������� �`���<���d��x�����������0�����P���ȸ��������`� ���t�P�����������������И��ȹ����������������$����x�������������Ц��0����0���������Ȼ������ ������L�а����������� ���ؼ����(�����l�p���ؽ����(����Ծ�������\����p���������������������8�@�������� ������<�0��`����|���������������P��L����h��������`����8���������@������`�X���l����� ���@���P���`����������`�X�0����4���p���� �������������������x�0�������������,�p���P�`��������� ������� ����<����P�0��p������������������������
��,��
��h��
���� ����p�����������H�p���������@�������P��$����@����T���l� ����0����P����p��������������������<�0����`����p����P���0��\����|�@����`����@ ����� ����!��h��!��|�"����@"�����"�����"�����"���`$��@��$��`�%����@%����p%�����%�����%�����%����&��� &���@)��l�p)�����)�����*�����+���,��4��,��h��,��|��-���� .�����.����.��(� /��<�P/��P��/�����/�����/����p1�����1���2��0�P2��L��2��`��2��x��2�����2����3����03����`6��(��6��@��6��T��8����;����P;����;��$�<��X�0<��l��<�����<����=����@=����?��`�?��t� ?����P?�����?����@�����@����A��P��B�����B�����B����0D����I��8�PL����pL�����L�����L����pM��$��M��@�P���� P����0P����@P����PP�����Q�� � W��<��_��`�zRx�$�����CFJw�?:*3$"D(���C\���-H`t���)HT
DD����0Hg����)HT
DD���������������0���oE�A�D 
CACWFA0P��LE�H�J c
AADDFA�(���4���@�� �L�� �X�� �`��-H`x��)HT
DD$���0Hg<���)HT
DD\���p���!E�[��������L�����B�B�B �B(�A0�A8�G�k
8A0A(B BBBJHX���B�B�B �B(�F0�A8�G�	N
8A0A(B BBBBHP����F�E�E �E(�D0�D8�GP
8D0A(B BBBEd� ��1F�B�E �E(�D0�D8�G@]
8A0A(B BBBH�
8H0A(B BBBH@�!��'B�E�E �D(�C0�G��
0A(A BBBG8H�"��JA��
Kz
VP
`�
YH
OH���%���B�I�B �E(�A0�A8�G���K�a�A���M�`�B��
8A0A(B BBBAZ
�K�L�
�K�Lg
�K�L\�M�_�A�d(T-���E�G�G r
AAI�
HAKb
KAJv
FAK�
QAJ]HA ��/���H
H��X1��H�
H�L2��HK\�T2���F�J�B �B(�A0�A8�G���E�W�H�b
8A0A(B BBBHH�5���E��
DF�h6���B�D�B �B(�A0�A8�G���O�	O�	H�	I�	F�	I�	F�	I�	A�	K�I�_�	G�	B�	I��
8A0A(B BBBHi�Y�	O�	O�	R�	P�	P�	D�	N���V�	O�	L�	H�	H�	H�	H�	H�	H�	H�	H�	K�4P�:���E�A�D j
AAJDHA$��=��hE�W�E
AAX��@��@F�E�E �E(�D0�D8�G@THSPFHA@\
8D0A(B BBBE�C�� �C��4�C��H�C��"`\D��B�E�E �E(�A0�A8�G@�
8K0D(B BBBID
8A0A(B BBBB<��D��.R�B�B �A(�A0��
(C BBBC	�E���Hf	0F���H a
G(8	�F���E�A�G0J
AAGd	xG���E���	,H���	8H��VH|
DJL�	xH���F�F�E �B(�D0�G8�N�j
8A0A(B BBBH|
�J��F�E�E �E(�D0�C8�G`�
8C0A(B BBBH^
8A0A(B BBBH�
8A0A(B BBBCH�
XO���B�B�E �B(�A0�A8�G��
8A0A(B BBBI�
�P��.�
Q��(H_ �
 Q��jE�A
JF
JH lQ��,F�B�E �E(�H0�A8�N��
8A0A(B BBBA\lPR��zE�D�G F
AAPS
AACf
AAH#
AAKD
CAH�pT��xE�R
IW��T��&HV
A�T��1HZ
F$U��<U��3P<U��BE�_
DY,plU���R�A�A �v
CBA��V��1TT`��V���F�T�H �A(�D0
(A ABBGz
(D ABBEO
(A ABBK
PY��	,4
HY���R�A�A �v
CBAd
[��1TT@|
0[���E�N�D �
AABh
DAK_
AAG�
�\��	�
�\��"HY�
�\���H`R
F�^��RH~H _��4F�I�B �E(�D0�H8�J��
8A0A(B BBBE4l`��F�D�D �G0c
 AABD��a�����b��k��b��OE�IL�c��OF�E�E �E(�I0�E8�J�	�
8A0A(B BBBAx8e���F�E�E �E(�D0�C8�KP�
8A0A(B BBBCO
8F0A(B BBBBi
8A0A(B BBBE��f����f��&��f����f��;�f��%H\�f��&H]4�f��HSLg��,E�Z
FFlg���H��g��,F�B�E �E(�H0�A8�N��
8A0A(B BBBAD�ph���E�D�G �
AAEF
AAHY
AAEi��(i��<i��	Pi��qH ^
Alpi��KHB��i��FHv��i���L�|j��EF�B�B �E(�H0�A8�N�
8A0A(B BBBA|k��+E�e�k��.0�k��#D�k��
X�k��Tl�k��rF�B�B �B(�A0�A8�G� L�@I�@8
8A0A(B BBBA��m���H�tn��,F�B�E �E(�H0�A8�N��
8A0A(B BBBA$Xo��
8To��1E�kTxo��h�o��4|�o��xF�B�A �A(�D0c(A ABBd��o���F�L�B �B(�A0�A8�D`�
8A0A(B BBBA�
8D0A(B BBBE@s��L0Ls���B�B�B �A(�A0�{
(A BBBFg(A BBB`��s���F�B�B �B(�A0�A8�G� I� �� L�!R� A� 
8A0A(B BBBE�Hw���@��w��NB�N�B �A(�A0�G��
0A(A BBBC<�x��sHQ(X$z��kO�D�S qAAG��L�hz��aF�B�B �E(�H0�A8�N�+
8A0A(B BBBA0��{���E�p
KS
EC
EO
A[@�{���u�F�K V(B0[(A I
CAID(A0K��(LP|���A�C�G��
AAHx}��.L� }��)F�E�E �B(�D0�H8�N��
8A0A(B BBBK4����F�A�D �J�{
 AABD����(����)HT
DDH����0Hg`����)HT
DD�̀���Ȁ���Ā��.HO
IM�Ԁ��8E�Q
JW��	��1Q�WH����Ra�cD�44X���eF�D�D �p
CBETFB0l����LE�H�J c
AADDFA����������D���F�J�B �K(�D0�G�=
0A(A BBBC���$(���84���L0���`,���$tH����T���6������|���4������E�C�D Y
CAGy
CAC �0����E�L
G^
J ����OdSQ<Є��P̄��*d��x������������������� �������(���4���.NO0L���DH���
XD���lP���,TT�h����d����p����|����<�����F�L�B �A(�A0��
(C BBBA؇��DE�b
IS4���IE�V
EhT8���3F�N�p\���+�x���Ad\��������������������HQ8������F�O�M �L
ABOg
FDO,����$HWD����PX����dF�B�B �B(�A0�A8�G� L�$
8A0A(B BBBF@�����ZF�B�A �A(�G� L�$

(A ABBH�̍��(E�^0���E�N�G g
CAKuCA@<���(TH����E�N�D m
DAG �����yE�J�^
AB��������K�@���#L�\����F�E�B �A(�A0�DP�XF`QXKP�
0A(A BBBD0��D��<\���F�L�B �A(�A0�[
(C BBBF�`���DE�b
IS�����IE�V
Eh�����3F�N����+ ���Ad\$ 8���8 4���L 0���` <���HQ8x D����F�N�O �E
ABEg
FDO� ����$HW� ���@� ���F�O�B �A(�A0�J��
0A(A BBBB8$!��F�J�D �A(�G��
(A ABBH`!̗��GE�s
H0|!����E�N�G g
CAKuCA�!\���(�!h����F�I�I �~
ABG �!���yE�J�^
AB@"x����F�F�A �@
DBMP
ABEWAB\X"ԙ���F�B�E �D(�A0�z
(A BBBMF
(D EBBMZ(H GDB�"4����"0���K�"l���#0�"�����F�K�A �D@�
 AABK(#T���<#P���T#H���8E�Q
JWt#h���	0�#d���oE�A�D ~
CADWFA0�#����LE�H�J c
AADDFA�#����$ț��$Л��-H`4$��8HV
JKT$���0Hgl$ ���)HT
DD�$0����$,���E�U�$0����$,���<�$(���'F�L�B �A(�A0��
(C BBBH$%���DE�b
ISD%H���IE�V
Ehd%x���3F�N��%����+�%����Ad\�%��%���%���%�HQ&����0&�����F�M�H �Np�
 AABGH&����$HW`&����8t&�����F�O�D �A(�G��
(A ABBE0�&L����F�L�A �G��
 AABA�&ب��GE�m
N0'����E�N�G d
CAFuCA4'h���(H't����F�I�I �q
ABD$t'���yE�J�^
AB4�'`���{F�D�A �u
DBJE
ABH@�'�����F�F�D �x
ABET
DBFXAE(���HK0(���#0D((���tE�K�D J
CAFDFA@x(t����K�A�K �BABD���X ���A�H�I��(�����(�����(����HK�(����HHT
Dg)�-H`4)���H)���\)���p)���.HO
IM�)����)(����)4����)@����)<����)8���*4���cE�]
Fz(*����<*����P*����d*����x*�����*����HK�*����HHT
Dg�*ج��-H`�*��*��+��+��.HO
IM8+�8L+����Y�D�D �V
ABFp���H ����+ĭ���+Э���+ܭ���+��&�+����+���,����4,�����E�A�D j
CAH}
CAGL,p���`,l���t,h����,t����,p����,|����,x����,�����,����-����-H`-����)HT
DD<-����0HgT-Ȯ��)HT
DDt-خ���-Ԯ��E�U�-خ���-Ԯ���-Ю��8E�Q
JW�-�	.��
0.��LE�E�J c
AAGDFAH.���\.���p.����.����.����.����.�����.�����.��.�/��$/��(</���E�K�G P
CAE(h/����hE�K�G P
CAE4�/ز��E�S�D x
AAJ�GAL�/�����F�H�E �E(�A0�A8�J��
8A0A(B BBBH0@���-H`40X���)HT
DDT0h���0Hgl0����)HT
DD�0�����0�����0�����0�����0����
0�0|���LE�H�J c
AADDFA$1����81����L1����`1����t1ȶ���1Զ���1���1���1�����1����1���2���,2(����F�D�D �`
ABGD2����X2����l2�����2�����2ȷ���2ķ��K�2���#H�2���DF�I�B �B(�A0�A8�D`}
8A0A(B BBBH3 ���03���<D3����F�L�B �A(�A0��
(C BBBB�3ؾ��DE�b
IS�3���IE�V
Eh�38���3F�N��3\���+�3x���Ad\4���� 4����44����H4����HQ8`4�����F�J�H �E
ABHg
FDG�4`��$HW�4x��(�4t���E�N�G�	k
AAI0�4����F�L�A �G�	f
 AABA(5T��(E�^0D5h���E�N�G g
CAKuCAx5���(�5����E�N�D m
DAG �54��yE�J�^
AB�5���	�5���	6���	6���3 ,6���CM�I
�JI�(P6����F�D�D �k
ABD|6P��5E�o�6t��	�6p���6x���6���<�6����E�A�F P
CAHG
CCKFCA,7���4@7���qF�K�A �L
ABGCCBx7���H`�
H�7���SE�P
Kr�7��1QX�70��3�7\�� �7X��CM�I
�JI�48����F�A�C �Z
ABIL
ABAP8���HTh8���rH@L
D�8H��=E�w�8l��,�8x���R�A�A ��
CBA@�88���E�S�K �
AAGh
DAK_
AAG(9���	<9���1TTT9���	l9���	0�9���
F�A�D �D0�
 AABF�9���4�9����9���Hdc4�9(���E�A�G a
AAHD
AABH,:����F�B�E �E(�D0�D8�G�a
8A0A(B BBBDx:��/TZ8�:,��iJ�E�M �D(�G0w(A ABBD����4�:`��oF�H�E �u
DBJAHI;���HE N4 ;���F�G�A �k
ABD�CB<X;����O�B�B �D(�A0��(A BBBA�����(�;��{E�A�G@s
AAF4�;X��fF�E�D �D(�K0A(A ABB�;����E�e
FTL<��2F�E�D �D(�D0}
(A ABBFT
(C ABBDHl<����F�B�B �B(�A0�A8�GP�
8A0A(B BBBH0�<t��9E�D�G Z
AADDCA(�<���lF�I�I �{
ABJx=���X�B�D �A(�D0C
(F ABBGC
(A ABBGD
(C ABBDV
(F ABBGJ�����=X��_ar�=���HP\�=����P�B�A �A(�D0K
(F ABBBD(C ABBD����P0����$$>���NE�A�D AAAL>��X`>��.F�L�B �A(�A0�DP5
0A(A BBBIt
0D(A BBBI�>���%<�>���E�J�D i
DAGD
DAGFDA ?|��SM�I
�JR�(4?���uE�G U
DK@D`?��IQf
ID�?<��	�?8��rH@L
D �?����E�G�R
AA�?��,�?$���F�I�I �s
ABB@���YJ�B�4@(��	H@$���S�]
H(h@���kQ�A�D CFAH�� �@���qE�D P
AF(�@4��<R�C�G QAAA��d�@H���F�B�B �A(�A0�^
(C BBBE�
(A BBBBy
(A BBBHLA���5T`8dA����F�B�A �A(�D0�
(D ABBF�A��P(�A��FE�A�D r
DAA0�A��J�A�G ]
AAGP��Bx�<E�v 0B���Hg
AU
KyTB�DE�~\pB<��F�O�A �A(�G0�
(C ABBG
(C ABBI�(C ABBL�B|��F�L�A �A(�G0X
(C ABBE	
(C ABBG< C,��F�L�B �A(�A0�
(C BBBA,`C���F�K�A �h
CBA8�Cl�ZF�O�A �A(�G0|
(C ABBF�C��IE�V
Eh�C��3F�N�D��+D�Ad\4D8�HD4�\D0�pD<�HQ�DD��D@��D<�qE�o
Dx0�D��nE�N�D v
CAGQCA8E��iF�M�J ��
ABMg
FDO@E�$HWXE$�8lE ��F�O�A �D(�G��
(A ABBH8�E���F�J�D �A(�G��
(A ABBF�E��WE�D
G4F��E�N�G g
CAK{
CAA<F@�(PFL��F�I�I �~
ABG8|F�F�L�D �A(�G�J
(A ABBB �Ft���yE�J�^
AB�F���L�F����F�A�A �^
ABG}
DBMk
ABBWAB`@GL����F�B�B �A(�D0�|
(D EBBH^
(G BBBEH
(F DBBJ�G���G��#0�G���9F�K�A �D@
 AABA@H����K�A�D �_ABF���X ���A�H�I�DHx���XHt���lHp����H|���Q�H���jE�A
JY�H���64�HD����E�J�D i
DAGD
DAG4I��kJ�D�F O
AAKWD�A�(8I$���}E�G U
DKHDdIx���xI����	�I����_E�A
JNH�I�����F�B�B �B(�D0�C8�G@n
8C0A(B BBBD(�ID���JE�H�K mCAT$Jh����B�B�B �B(�A0�A8�H��Q
GЅ
8A0A(B BBBA|J���(�J���;E�G M
AFYA0�J����B�A�A �G`r
 AABG�JL�� KH��SM�I
�JR�((K����E�G U
DK@
DDTK���5H\
LDtK��rH@L
D(�Kl��HF�D�I �qAB�K���1J�X��K���	@�K���c
s�D�G0X
AAH�AAB��P0��(0L���Nc�D�G OCAG��D\L��VB�H�E �D(�D0�G�u
0A(A BBBE\�L���B�B�B �B(�A0�A8�G�
n�
M�
`�
A�
�
8A0A(B BBBG�M���wB�B�B �B(�A0�A8�G�x
8A0A(B BBBEp�]�O�H�E�E�E�E�E�E�E�E�E�E�E�E�K���K�M�F�F�F�F�F�P��MP ��@�ML ���F�B�B �A(�A0��
(A BBBIN� ��@E�[
HW4N!��	HN!��0\N!��LE�E�J c
AAGDFA�N!��!�N8!��-�NT!��!�Np!��-�N�!��!�N�!��!O�!��!O�!��!0O�!��!DO"��$XO4"��0lOP"��$�Ol"��$�O�"��$�O�"��$�O�"��$�O�"��3�O#��$�O$#��3PP#��$ Pl#��34P�#��$HP�#��$\P�#��$pP�#��$�P$��$�P$$��$�P@$��3�Pl$��$�P�$��3�P�$��$�P�$��3Q�$��$$Q%��38QD%��$LQ`%��3`Q�%��$tQ�%��3�Q�%��$�Q�%��3�Q&��$�Q8&��3�Qd&�� �Qp&�� Rx&��<E�v R�&��NHi
GUL@R�&��GF�L�A �A(�G0�
(C ABBBh
(C ABBH<�R�'��_F�L�B �A(�A0��
(C BBBH�R�+��DE�b
IS�R,��3F�N�S@,��+ S\,��Ad\(8S�,��|F�K�A �dCB,dS�,���F�N�A ��
CBE�Sh-��IE�V
Eh�S�-���S�-���S�-���S�-��HQT�-��T�-��0T�-��mE�i
B|0PT�-��yE�N�D s
CABdCA�T8.��$�T4.���X��
FM
�Kj� �T�.��bE�G`7
AD�TH2��$HW�T`2��(U\2���E�N�G�	k
AAI0<U�2���F�L�A �G�	f
 AABApU<3��@E�[
HW�U\3��	�UX3��>E�t�U|3��4�U�3���E�N�G d
CAF{
CAI(V4��}E�N�D g
DAE88VT4���F�A�A �X
ABEN
CBE4tV�4���F�L�D �A(�G0�(C ABB�V`5��OE�j
A^�V�5��0E�j �V�5��yE�J�^
ABW6��"HY$W6��E�R`@W6���F�B�E �B(�A0�A8�G@z
8A0A(B BBBDE
8A0A(B BBBA�Wx7��x�W�8���F�B�E �B(�A0�D8�D@W
8G0A(B BBBIW
8D0A(B BBBLW
8D0A(B BBBL4X�9��GH~LX:��S$`XL:���E�O��
AA�X=��# �X0=���E�K0�
AA�X�=���X�=��8�X�=���F�E�D �D(�G@~
(A ABBB(YD>���H`�
ADY�>���dT
Hd
LdYh?��0Hg|Y�?��)HT
DD�Y�?��#Q�Q�Y�?��)N�TF��Y�?���Y�?��=E�Y
BZ�?��
0Z�?��LE�E�J c
AAGDFA8LZ�?��F�E�D �A(�D0g
(A ABBG�Z�@���Z�@���Z�@��4�Z�@���Y�D�D �@ABD���h ����ZpA��[|A��$[�A��8[�A��L[�A��`[�A��t[�A���[�A���[�A���[�A���[�A���[�A���[B��\B��\B��(\$B��.He@\<B��T\8B��h\4B��4|\0B���F�A�A �e
ABH
ABF�\�B���\�B���\�B���\�B��]�B��]�B��,]�B��NHi
GUL]�B��0E�j4h]�B���F�L�D �A(�G0�(C ABB8�]�C��*F�K�A �D
CBEo
CBD<�]�D���F�L�B �A(�A0��
(C BBBF^@F��DE�b
IS(<^pF��|F�K�A �dCB,h^�F���F�N�A ��
CBE�^DG��IE�V
Eh�^tG���^pG���^lG���^xG��HQ_�G��	  _|G��fE�V
Eb
FD_�G��	X_�G��mE�i
B|0x_H��fE�N�D s
CABQCA�_PH�� �_LH���E�U`
AE�_�K��GH\
LR`L�� `L��yE�J�^
AB<``L��P`\L��#4d`xL���F�D�D �r
AEJX
ABE�`�L��#�`�L��
�`�L���`�L���`�L��NHi
GUaM��0E�j8(a$M���F�L�D �A(�G0�
(C ABBGLda�M���F�L�A �A(�G0�
(C ABBIh
(C ABBH<�aXO��rF�L�B �A(�A0��
(C BBBA�a�Q��DE�b
IS,b�Q���F�K�A �i
CBH(Db8R���F�N�A ��CBpb�R��IE�V
Eh�bS���bS���bS���bS��HQ�bS��	 �bS��fE�V
Eb
Fc`S��	0c\S��mE�i
B|0Pc�S��fE�N�D s
CABQCA�c�S�� �c�S���E�U`
AE�cpW��GH\
LR�c�W�� �c�W��yE�J�^
ABd�W��(d�W��+L<dX��6F�B�D �D(�D0@
(A DBBK�
(A ABBK�dY��#�dY���dY���dY��<�dY��F�L�B �A(�A0��
(C BBBHe�[��IE�V
Eh<e \��3F�N�XeD\��+le`\��Ad\�e�\���e�\���e�\���e�\��HQL�e�\��F�K�H �A(�N04
(K ABBLj
(H ABBI(ft_��$HW@f�_��(Tf�_���E�N�G�	k
AAI0�f`���F�L�A �G�	f
 AABA�fh`��GE�m
N0�f�`���E�N�G d
CAFuCAg�`��(ga���F�I�I �q
ABD(Dg�a��lE�N�DPA
AAF pg�b��yE�J�^
AB@�g8c��oF�F�D �x
ABEA
DBIGAB�gdc���g`c��Kh�c��#0h�c��\E�H�D w
CADDFAHh�c��\h�c��th�c��-H`�h�c��)HT
DD�hd��0Hg�hd��)HT
DD�h(d���h$d��i d��  id��.HO
IMDi(d��
0Xi$d��LE�E�J c
AAGDFA,�i@d���F�D�D �]
ABB�i�d���i�d���i�d���i�d��j�d�� j�d��4j�d��Hj�d��\je��pje���je���j$e���j0e���j<e���jHe���jTe���j`e��,kle��zF�D�D �E
ABJ@k�e��Tk�e��hk�e��|k�e��L�k�e��
F�B�A �A(�D0J
(C ABBHO
(A CBBA�k|f���k�f��l�f��@E�z$$l�f��-E�H�K PCALl�f��@E�zhl�f��|l�f��BE�|$�lg��,E�D�N PCA�lg��BE�|�l@g���l<g��mHg��mDg��,mPg��@mLg��KTm�g��#Hhm�g���F�I�B �J(�A0�A8�D`1
8A0A(B BBBD�mXi���mTi���mPi���mLi��%H\ n`i���Hg
AU
KL0n�i��9F�L�A �A(�G0X
(C ABBEI
(C ABBG<�n�k���F�L�B �A(�A0��
(C BBBB,�nq���F�K�A �n
CBK(�n�q��F�N�A ��CBopr��IE�V
Eh<o�r��3F�N�Xo�r��+lo�r��Ad\�os���os���os���os��HQ�o$s���o s��ps��qE�o
Dx0 p|s��nE�N�D v
CAGQCA8Tp�s��IF�J�H ��
ABHg
FDG�p�v��$HW�p�v��(�p�v���E�N�G�	k
AAI0�pdw���F�L�A �G�	f
 AABAq�w��@E�[
HWH<q�w��RF�L�D �A(�G0�
(C ABBGA(C ABB�q�x��	�q�x��DE�~�q$y��9E�o4�qHy���E�N�G g
CAK{
CAAr�y��( r�y���E�N�D m
DAG0Lr0z���F�N�A �DPA
 AABB �r�{��yE�J�^
AB�rX|��	(�rT|���E�A�G��
AAK�r(����r$���	s ���#HZ$s8���(<s0���cA�K�D t
AAJhst���D|sp���F�I�B �H(�D0�D��
0A(A BBBC�s�����s�����E�{�s���+t4���+tP���+40tl����F�D�D �i
ABFAAB4ht��F�D�A �
DBHuAB(�t<���wF�K�A �]AB(�t����wF�K�A �]AB(�t��wF�K�A �]AB8$u8����F�G�A �L
CBAn
CBE8`u�����F�G�A �L
CBAn
CBE8�u ����F�G�A �L
CBA@
CBK�u����fE�`$�u�����E�D��
AH8v�����R�B�A �A(�G0p
(C ABBKXXvt���F�S�O ��
ABE}
ABHL
ABI|
ABInDB�v8���	�v4���0Hg8�vL���$F�L�A �A(�Q��
(A ABBGw@���G0w|���Dw����	Xw����lw�����w����DT[�w�	8�w�����R�B�A �A(�G0y
(C ABBBX�wT���F�S�O ��
ABE}
ABHL
ABI|
ABInDBDx���	Xx���0Hg8px,���$F�L�A �A(�Q��
(A ABBG�x ���G�x\����xh���	�xd����x`���yl���DT[(y����	8<y�����R�B�A �A(�G0y
(C ABBBXxy4���F�S�O ��
ABK}
ABHL
ABI|
ABInDB�y����	�y�0Hg8z����F�O�A �D(�N��
(A ABBA<z����GPz����dz���	xz����z����z���DT[�zD���	8�z@����R�B�A �A(�G0y
(C ABBBX{ԗ��F�S�O ��
ABK}
ABHL
ABI|
ABInDBd{����	x{����0Hg8�{�����F�O�A �D(�N��
(A ABBA�{`���G�{�����{����	|����|����0|����DT[H|��	8\|���R�B�A �A(�G0y
(C ABBBX�|t���F�S�O ��
ABK}
ABHL
ABI|
ABInDB�|8���	}4���0Hg8 }L����F�J�A �A(�Q��
(A ABBH\}���Gp}L����}X���	�}T����}P����}\���DT[�}����	8�}�����R�B�A �A(�G0y
(C ABBBX(~$���F�S�O ��
ABE}
ABHL
ABI|
ABInDB�~��	�~��0Hg@�~����,F�O�B �A(�A0�Q��
0A(A BBBB�~��G$���0���	0,���D(���X4���DT[pl���	8�h����R�B�A �A(�G0y
(C ABBBX�����F�S�O ��
ABE}
ABHL
ABI|
ABInDB�����	0�����0Hg@H�Ԥ��,F�O�B �A(�A0�Q��
0A(A BBBB������G�����������	Ȁ���܀�������DT[�D���	�@���30�l���9\\LH������F�B�A �D(�G0�
(C ABBDa
(C ABBG`��D����F�T�H �A(�D0*
(A ABBIz
(D ABBMO
(A ABBK������	�����0Hg((�ԫ���E�N�N�	k
AABT�X���Gh�����|�����	������	������������̂����aT`
LD��	8���wB�E�D �I(�G0s
(D AEBFL@�,����B�I�L �B(�A0�A8�G��
8A0A(B BBBFD�������B�S�B �A(�A0�G��
0A(A BBBD ؃4���)I�M
JDP��@���F�B�B �B(�A0�A8�G� L�"�
8A0A(B BBBDP�����d�����x�����)HT
DD����������)HT
DD̄ж���̶��!E�[�����ܶ��.HO
IM0���@E�[
HWP����	8d�����F�G�A �f
CBGm
FBK<������\E�H�J(D0D8D@I ^
AADDFA������ȷ���Է���з��0�̷��D�ȷ��kE�f
Ezd����x�$����� �������������Ȇ���܆�������)HT
DD�,���$�(���)HT
DDD�8���X�4���!E�[t�H�����D�����@���@E�[
HW��`���	0Ї\����E�G�G ~
CAKgFA0�����LE�H�J c
AADDFA8�Ը��L���;A�yh����|����HM�����HO$�����rE�N
EA
GMԈh���	�d�����`���P�\���$F�G�D �A(�D0K
(D ABBF�
(D ABBAd�8���'HW\|�P���4F�B�B �B(�A0�A8�G���N�_�D�y
8A0A(B BBBA܉0���-H`�H���)HT
DD�X���0Hg,�p���)HT
DDL�����`�|���Lt�x����F�B�A �A(�G0�
(C ABBB_
(F ABBFDĊ���dE�H�J(D0D8D@DHDPI ^
AADDFA�0���@$�8����B�L�O �G�Z�A�N�H�Q
 AABA<h������F�B�A �A(�G�R
(A ABBGT��4����B�B�B �B(�A0�A8�H��Q
G���
8A0A(B BBBH����>E�^
AY@ ������F�E�E �A(�A0�D@�
0A(A BBBALd�x��#F�H�B �J(�A0�I8�G��
8A0A(B BBBFH��X���F�B�B �B(�D0�D8�G�[
8A0A(B BBBH0���LF�A�A �D0
 AABCL4�(���F�B�A �A(�D0H
(C ABBBP
(C ABBA �����oE�O@v
AEL��$���F�F�E �B(�A0�I8�I��
8A0A(B BBBA ������E�P��
AA�@���H`�
A8����0L����4@`����F�H�A �U
ABIY
ABDACB��x��+�����̎���<����AF�M�A �A(�Dp|
(A ABBE$����;A�y@����T����HIl����HK�����^A�\$����rE�N
EA
GMȏt��	܏p���l���h���t��H,�����F�G�D �A(�D0K
(D ABBFi(D ABBHx�����F�G�D �A(�D0N
(D ABBCl(D ABBĐH��gؐ���#����#����#����HI,���HID���HI\���at�h��P��d��{F�P�B �I(�H0�A8�G��
8A0A(B BBBD(ܑ���E�E�G��
AAD�4�\�0��F�B�B �B(�A0�A8�D���K�Q�A�?
8A0A(B BBBH|���,HcT����F�B�B �B(�A0�A8�H��Q
D��
8A0A(B BBBA�`�7E�
G���MHt
LD$,���aE�A�D TAAT���h���0|��E�A�D h
AAD|CAD�����F�D�D �r
ABEb
ABAd
ABA��4��0�
 �,�$E�L<�@���QF�L�B �B(�A0�A8�G�
8A0A(B BBBG@��P����F�B�B �D(�D0�DpL
0A(A BBBFhД����F�M�B �B(�A0�A8�D�p�S�F�F�F�F�K�>
8A0A(B BBBAL<����<F�B�B �E(�I0�H8�J��
8A0A(B BBBD�������F�B�B �A(�A0�H��Q
D��

0A(A BBBB�ȀHЀG؀B�B�B�D��H��T��SȀHЀG؀B�B�B�D��H��T��8����pL�����O�B�E �D(�D0�J
(A BBBAJ�(D� D�B�B�R0�����H�(A� B�B�B���,��LԖ8���F�J�B �B(�D0�A8�G�}
8A0A(B BBBA@$�����F�I�E �A(�A0�L��
0A(A BBBB�h����F�E�B �B(�A0�A8�G��C�g�I�i�C�g�D���C�g�H�7�N�W�B��
8A0A(B BBBA��I�I�I�I�I�a� ���5E�S��
AA\<� ���F�T�K �H(�G�_�A�P�B�Z�L�V�A�R
(A ABBE\�����IB�B�A �A(�D0C
(C ABBKN
(C ABBJa
(C ABBG0�����?F�D�A �GP�
 AABD 0�����E�G@b
AAHT�(���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBG �����UE�G@B
AA��PH@B
AH����*F�B�B �B(�A0�A8�D`�
8A0A(B BBBG,����64@����E�J�D w
DAAN
DAE4x����kJ�D�F O
AAKWD�A������)J�S�l̚��lF�B�B �A(�D0�I@d
0D(A BBBI�
0D(A BBBCQ
0D(A BBBD<���	P���WE�~
EN(p�L��nJ�p
�FD
�LYA�H������F�B�B �B(�D0�A8�G@�
8C0A(B BBBD(����E�D�G ^
AAHH�����b�B�E �F(�D0�D8�F@I
8A0A(B BBBH`�< ��^t�� ���H �
EzRx� tv����!��AМ<!��)�X!��@���!��HO��!��	(��!��	<��!��4P��!��4Td��!��{F�B�B �B(�A0�A8�H��Q
G��R
8A0A(B BBBFx��%���F�B�B �B(�A0�A8�H��Q
GЉ3؉K�I�F�H��F��PЉ}
8A0A(B BBBH\8�T(���F�B�B �B(�A0�A8�G���F�X�B�O
8A0A(B BBBG8���+���E�D�I0l
AAHD
CAHԞ8,�� �4,��SM�I
�JR�(�p,���E�G U
DK@
DD8��,��0HgP��,��d��,��	\|��,���F�B�B �B(�A0�A8�G���P�^�A��
8A0A(B BBBHܟp.��>E�^
AY@���.���F�E�E �A(�A0�D@�
0A(A BBBJL@�0���F�B�A �A(�D0H
(C ABBBP
(C ABBA ���0��oE�O@v
AEL��1���F�I�B �J(�D0�D8�G��
8A0A(B BBBF��8��ME�k
H4 ��8��kJ�D�F O
AAKWD�A�(X�$9��uE�G U
DK@D��x9��)J�S����9��	���9��ME�q
JLԡ�9��LE�l
A,��9��A�C
P������
A,$��=��2A�C
P�����
AT��A��h��A��|��A��8���A��rF�D�D �d
ABKT
ABA̢B��<E�v�4B��VHr
FU�tB��DE�~H$��B��F�L�D �A(�G0�
(C ABBGQ(C ABB8p�lC��,F�K�A �D
CBEt
CBG<��`D���F�L�B �A(�A0�[
(C BBBF��E��DE�b
IS(�F��|F�K�A �dCB,8�dF���F�N�A ��
CBJh��F��IE�V
Eh��$G��3F�N���HG��+��dG��Ad\�G����G�����G����G��HQ$��G��8��G��L��G��qE�o
Dx0l�H��nE�N�D v
CAGQCAX��<H���F�P�P �H(�N0B8B@a8A0�
(K ABBLj
(H ABBI���K��$HW��K��P(��K���F�B�B �B(�A0�A8�G� L�6�
8A0A(B BBBH@|�0M���F�B�A �A(�G� L�5s
(A ABBJ���N��WE�D
G4�O���E�N�G g
CAK{
CAA��O��(,��O���F�I�I �~
ABG X�DP��yE�J�^
ABL|��P���F�F�A �X(V0F8D@I X
DBLW
ABNqAB̧0Q���,Q��S�xQ��#0��Q��\E�K�D w
CAADFA<��Q��P��Q��<d��Q���F�L�B �A(�A0�;
(C BBBF��S��DE�b
ISĨHS��IE�V
Eh�xS��3F�N���S��+��S��Ad\,��S��@��S��T��S��h��S��HQL���S�� F�O�O �A(�N04
(K ABBIj
(H ABBI�V��$HW��V��@���V��F�O�B �A(�A0�J��
0A(A BBBH8@��W��F�J�D �A(�G��
(A ABBC|��X��GE�s
H0���X���E�N�G g
CAKuCA̪0Y��(�<Y���F�I�I �~
ABG$��Y��yE�J�^
AB@4�HZ���F�F�A �@
DBMW
ABFAGBx��Z�����Z��S���Z��#0���Z��\E�K�D w
CAADFA�$[���� [��<�[���F�L�B �A(�A0�;
(C BBBFT�x\��DE�b
ISt��\��IE�V
Eh���\��3F�N����\��+Ĭ]��Ad\ܬP]���L]���H]���T]��HQX0�\]��)F�P�P �H(�N8B@BHBPL0?
(K ABBKj
(H ABBI��0`��$HW��H`��P��D`��,F�B�B �B(�A0�A8�G� L�?�
8A0A(B BBBF@� b��(F�B�A �A(�G� L�>�
(A ABBBP�d��ME�n
El�@d��#E�Y0��Td���E�N�G g
CAKuCA���d�� �d��yE�J�^
AB�e���e��K�Pe��#�0�le���F�D�B �G(�A0�A8�D@�HNPDXE`DhApI@R
8A0A(B BBBAg
8F0A(B BBBJD
8F0A(B BBBAį�f��د�f����f��#0��f��tE�A�D J
DAGNDA4��f��!4H�g���E�A�D ~
CADQ
CAK0��lg���F�A�A �DP�
 AABJ0��8h���F�A�A �D@�
 AABA�i����i��8��h��yF�E�A �D(�D`�
(A ABBBLL�@j���F�D�B �B(�A0�A8�D��
8A0A(B BBBH\���n��EF�B�B �B(�A0�A8�D���M�_�A�u
8A0A(B BBBG���q����q��4$��q��kJ�D�F O
AAKWD�A�(\��q��uE�G U
DK@D��Dr��0HgL��Xr��iF�B�B �B(�D0�D8�D�A
8A0A(B BBBA�xt���tt���pt��0�lt��
<D�ht��WF�B�A �A(�G`
(A ABBA���u��g\h
D ���z��~H�
G�ij8���GNU�G�F�&e�{���������ŎЎ܎��m���
8j�&�&���o`�x(
����&�e0YE(	���o���o�D���o�o�9���o�&��� �0�@�P�`�p�������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p������������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p���������������� �0�@�P�`�p�������������� 0@P`p�������� 0@P`p�������� 0@P`p��
����CA�T�B�TEA�TFA�T�B�THA�TSA@OTA@O�B@OVA@OWA@O�B@OYA@O+@O1@O
A
				CBB
cAhh	
��������,	hhhhhh	h
h�'��	#�>&�u+��
7�/��2�6�5;�5@�GA$3a1��EjGA$3p1113PF.jGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p1113�J7jGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY G�IGA+GLIBCXX_ASSERTIONS
GA*FORTIFY�J.jGA+GLIBCXX_ASSERTIONSlibnetsnmpmibs.so.35.0.0-5.8-3.el8.x86_64.debugMܜ��7zXZ�ִF!t/��{��]?�E�h=��ڊ�2N�c�7�hu�x��'�LM����4�h���~ә<�8�Yd�j�&��`�w�m�~�R���~Z����޲Ǫ(��!� J�U�������)�"�c^ړ�t����a��t�E ��:��lKt���S7�������*�o����s��	p#e�E��y��L���/�>�A�!��dn}��fw�tX~�V��赠S�&�����J�GXf=���^v,(�@� ��rTm�*�i�Kڼ�Z�U���9�����y���r�pO�����62xRe9%�=C���5�20΄T����8	�0{1��gDm�Q�$k���)ui��Jgz5�U�m�6C2z	��D�{�q���
�Y�rB	�)!R��]|���'̷_����/�7���|��7�M�SG�ڦ��hm�������5Y�df-4�F�R.�+K�ڪ?�Og�<YG?���=Yh���`"F�jТ�e6�B�
�l��`%Ć��z ��H�w��U�ݫ-Cg��RP4br�����6K(���o��mRcc��ח�H "CN'�@0�p�-������[���i{��+�~�f3bjw�6Q߰���N������w�A� �� EgkU"�1K�2���K'�Ļ�@�ξ�>���T�{���M%�Qk������^�c@��~�a_��W��vxn���	��A���\�]yy�5c*x��xh�ߦ�F'�LA�O�8����wn��)T;bs;�Q���x?���	@�	���12��z��͋#�mV��Guƍr�@���w�ݾM��g>�Q\pR˺Fx��K
䛻�O��IU�]
�u�?�Y%9C���z��B�}p��t�q�)���$� �U��i�Hh���rX3�ˆ�f�������"�Y��\\�
��%�mmN�}p���b���
$�=/�Vor�I'��1�K�{��� &2�R��@���J�N���f�H0	�T��C�f\���5�:,RS.�1�r]h<ϴs;�FgV�X���-cߕ�m;;�Oy|�7�R-z�~�B�� Lj�{إDH��{8N�'	���T�g'�i�V�S׌�J�]'�QP *��2=�Ea1Ȝ�u,���D�(�1��}������#�����n[�e�C��%���$JB�*�%JU�P���3:��3���ٺw�L^)a��Ǐ^ fˀ�����I6@�!�g�T��L<Q���_�#l�a�z�kp���\��.�+�t�(����������̷M���c�&��C�f����6٥{�'K��e��_�ܜX�:̘����]"��� 7�n�m�Y_<�I��?�ߵ���رZ��3)M^�̝@{�d��e?���H]��&�,nתu��Y|�$E�h��m+�:����z���ó��PX�0#�R���]��dz&�7��0�C�?���E���K�?">����D�;es�3�;D@c)j���ჶ�[���"�g�,��0�d�k:k*�K=��h|]$����[��-�k�~�-�a��V}E�����\k&�6~�I����)��`����!���� jRN|�Dq�廃��dY�wY�3ln��K��ғ?�
�� 	�[]�z}�M��!��ث�ܗ�����j����
�^~�[e�h�|��!=
m
M=Ӌ�����|�������Oz>_��F�������:��M�׷^�kXl�N�m�H���ݾL
���7��je��|�N���!:Hd���A���i�q�ddߜ�
�,�h�[LGB����_F�5>�6����6���	i�AX�E}�Ӊ��<�k���{O�׌�.`�i�φ�F%~`��./�Q�mh#�d0�
��/��ڻ>�j���߁L�b�+ e�״�C'�KWȔ�
:=��ߠ��X�R+nc+J}\�E� ��y������re<z�s�Ȥ�ݢ��L�{��:ʒS���=�`�,FJ��9�䰔���2���RɊ�,��EU'^5ۛ��<�2��$��yS�%�b�7�4��m�������:�!��U����<HqL'|-ϋ��#l�V�!]7nbskaP��2Z��C� 4�}z���U/�O}fN���:l\�nKδ9�i1���ସ��cj�Y�j�}y!�W/�7�>D͠"��\���4	م��F�'�� ���
.1+����0g�A-�q"��H/�n��e����j�8�'[��Y�X	��ɓ���%a[�����R�\Xˎ2n:^��A�����f�=�:�I�#
.���{��"U��|�5��0�}s��Y�}�� ����4d�y}����kò�6y�����e�
����rJC�BW���_��fp�{�AZ�3c�?r&ķ�R��*�B��/�y7d���xNh��J�%����tZZ�
�g�eC�e��:�������ç%r�-�E�H��gbq��@FJG�u�
W�5��a�n�Nbc�+����ÿo]ᕥ�;K����9���H�Gňo��@��W�{�c���!���,�. ͥ�j�WLM	�7m ���q`,6�.��g K���o�)���ׁđ�\�!�ö�r��v�����U	����;O*ş�9v��(=#t�J�28��T�X
w�W?<RH8?M4~K)��e���O1��oKkǖB�*B�9�O1��s��$$: 瑚}5=�l��.����J,��DY��j�E�)�
���_�4QX��P�	u�w�Bq��8�e�\Զ�xx��#�!ȱZJ���1�uq��ʨ^T���[x�s3��4�Ч0�eQ����L豿2�f z�?�O
�a��=������Қ�O���uH�Bh�z"���
����b[wďfM��0b����b��KnF�����q�{��������6�c��NQ0��G�˳W��YP�҈�gh���l�YW-x/ܰd�j���ASQ�?I�&�9�xٸ.���T��8{���O�j����Mwq���~���gjGh�J}@�}J�?�5���Du�� MB�)̟���E��j4�<~�lw�@�}�4��Qt����\_��cx�LX�Aa��~�+��>+"+Q*i�࿐!�f��(�5Ŧ���7����<�g�Y�a/e�A�P��g�"���?a�������VK��=�9S�Feɍ`�r�f�t�z�M�!thҴ|�y��ß�=*����A9�A���Ԩ:�Y�(	+�V�F?;ȦV�5jbR�SK{����_�a��;M�t~�#�,lq�anSM?~>�-����)�L��Dz9bn�b銽Ƴ+dJ�d��-s{���}S���'�h��M�ۜ�θ(k��4FPtP���>�ЇH��"#��oh%8��ҟĊ�:9ц[
N0�i�Zk�]x4X����$�h��H2*Q}'WU
��ζ�S�vkS�y�>%��
�y�W���p�@�]oh�senF�YΑii��$Պ�@)�:�+P���Tq,Q-F��ew)iK!;?=��\!��<sQ��ر�3�.Ȇ��s)�wybgd�"�-z������ﻎخ�&��LJ�5052L�8+�М���y�B�Ʃ.�n��tShOȝBȼZ�&��L�i'O�6��0|8�ϗY�vH��>?uW3])�[���R��.n!]�k��l��L�LO�_��Ŭw_�N
��.2:S�\�s|�l��K6C�?陠O+�?`��H��0�_Zߺm��Hc�
�`��lp�ҷ��j=r�l�.��l(A��47����+���H�k$WN��y����Kf�^;T˸���l�7��A�-�v}��.���l��K$_B��d���ZJ���m�g�G
�ȓ�yܚ-&��Y����x���?I����|ΣF^	�+��)M�pgE{��ڞfZ=�����s�η�$�`�>�
��~��P.�F��k�5�R�ah׆W&HЕ�_㉖���I&iW�ء��&��UHl��Y���а��ki��}%��,d�l���}�;r̅������wX�5V�[�b�<��+oj�Rjׄ��V�7�v�S\Hh!@��
��R���I�HB�Bӿbʉ��<=}�$@����8�4B��K�r�qQ�~S�T��+E#cCy���EZ�"B
�#�'/�+/G�m��oD��N<µi̹��:*[�f^�׎��C�k�K�g�OsT��z���n�uQ�0p�g���B+��O���pk�S����J���{�xB���c���#�H��|QT
��C2E�x�<.弜ېB{5��!e�o��r�TUQ�N�4
���L,)�c�n�{�+�T�h.��B��	�"{�3�x+'��E��HBeɼU!R�k�,��k�
*�3J�%ne�M��]sM���!҇<Ɖ�ZS��BBS�"��\���;T�ec<:�ktv�ZJIm�㾌��y。
w"81)D,��i%#�"\JD��g�w�7���֍
�6�`G��$�] �7���{�����sЮ����A{�'x����F�A�>C�ޥ��/��
���M���R��r݉;T!�Ȍ�2��ؤ�C�����ɟ�'�	��.,�j�o�_)d袋�㇟�H�[����3*O���<�r���?�*�b��UD���5��HH�\�{� pf}���a�弔6KV8F{8����W��!b��L��YU��.mA+e�
l�dқ%VDq��%—��gLc��&�b�N��mI6�RmT-�Ź0ů��*//I��ot�i�nn�ρP�6$�O��]���[*[����ͅ�E�%�a��!���m@���Pm0T���v�ʭ�υ&�g�� C���)s���\�:�3�T�=uÒ+Oՠf��EU���#n�nҁ
�J�y��ZL�$E�Ae�A W� 4�Uk��j.�����ϫ�+^"�����(Z��,�j��q��Vv��`�� �{��d���8��׌�EC�A++hZ>�U��4�b��<�=��ؿd����(��m��)��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``&(x(x(��0����8���o�9�9�
E���o�D�DpTEE(^B0Y0Y�eh����c���Cn���CwPFPF�#}8j8j
�`j`j0� ��
�
�(�0303س��� ��&���&���&���&�����&��X&� ' � ��8'�8�+
 �(dt�8l
=4@=@�Q(lib64/libsnmp.so.35.0.0000075500002453660150405542510010241 0ustar00ELF>0?@pP
@8	@�	�	 �	�)�)�N�� p�	p�)p�)00888$$��	��	��	  S�td��	��	��	  P�td̕̕̕�,�,Q�tdR�td�	�)�)�(�(GNU��}�촱��\�������
 �L�L�d�@�OA����$A���R�T�
���A@"��@	 �l�X�
@&��Q�B��D
�k%�	��3���j����Ha��4nQl1F �p1$�`�(@1�8�&�A�Q�4�@!��$ H���!!�0D�AD��P@Q��
 �%
�@����WD�@%�� ��0 ":`�`5@@�,�Q�tZ�R0�( X���I1"R�"�!�"��J�*�W2(�,
�en(����	��B���(N��D� @B&�E�D"0
@������C+

I��`A-��P&����%"�8`���ё����L(Bf*
�4UFp"�i3	H@-	 h
��pZG�4�@aE��VH(!hV���\ (�B�p��p!�M�$sB���J  �
��c��Y� ��� �-���dH�y
 `��*��DB��&�֔���h
4�0Aq��@D
�`@���"@�� (�X"@�0 � ˠ`P$Q���
�@H�,Є p #B!` �@AB! �@X��#)4F�")�L�2�Ń��*E,�؉
	
�,@ B60C� �h� (
 �n6&��+R�Q" i$"���Ag4��� �Q"B�@b@�T% ��p  �
!D�%��e0@��d 1N��@� � #�@
�d�<$Bm
A� @DE@��)
!�	�Y��&�`A(��2(+)3}����`h�`�� �@����"@(�B��Q@��@
��

 !"#$'(*,./012458:>@AEFHLMPRSXYZ[]^aefgikopqrtvwxz{}~����������������������������������������������������������������������������� !"#&()*,-.1358:<@BCDEFGHIKLNOQTUVWY[^acdeikopqrstuvw{|}~�����������������������������������������������������������������������
 !#$&'(*+,-0147;<?@ACEFHLNOPRTWXZ[]^begijknqruxyz{~���������������������������������������������������������������������������	

!"$%()*,01235678:;=@ACDEGHJLNOPRTWYZ[\_aceghilnpqrsuvwy{|}~����������������������������������������������������������������������������
!"#$'(+,-./0123578:<=?ACDGJMNOQRTUXYZ[\^abcegkmnqrtuvyz|~��������������������������������������������������������������������U���	�2/���]�Bs#CN3x�c����17�5��x
�wL����p�
uSyԓ�L��8��Ь�q����7����7��\88P#�9�]=�C2��C��9:���˂}Do9��%�.��p��{�A�8%�J�'�5�W��Od7�[K�0�M�{{4uX�I���:��ED/�z��"I�v�h{ة�t��L��I?��k9	?~>�U��6m��z믃�?@�ŷ7av�C�0���1��O��Qs��ճ]����홥^�l���.��]@�>��mLq�?'����{��(�Gh,���s�x_�;�=1�A��.Ӣ~��@_s�M��J���ς�:�pQ�Nl�vT(F�����|�}�5w�s��:��œ�Ό��]�Ѝ�s�a�J���*Ypd���ņ?�@Y�I�{󟤂�Ǥ�.�Wr��p�]�l.)
f>v'�����k�R8�\��.�q�i;�cz�%
xG>?1�!L�b��(M!`CE���}�#RG4K�����Ej"�e�C/�T<7��-��m!W�L���q��OfI���f�t=Q*�^���M
f>W�|�����2��	O��[n���#��|	��
ä�����%�����{�NKp���{����*"�a�o�Nߎ�.�%�k,�06)���
˞=5�R�3��?�|;)��7z-���M��jo�7�<C ��� (TU�֡Y��z��wE��tJy��dRQ�/��ƺ�?�
����>�;oa��Hڂ԰��/ߪ��񉜸ν��"� 	t�>�=nQ�<2S�f�@����!�$�S�?Vl�
�l)	5q�[}$�P?��g���Zi	�Џ�m~��
�R-s�WP��("t��M�RƵ��g�������ީ�њ���?�%
�X\�kkO�(ѵ����k018��&�E�ȳM7ſ�����.1]�ܣD���-�Dآu����3���u�d~�9��P89Г�-V�SS��<Y����|�~���px�K�G?�9x��@����#�8Kb�]��OjZ3���W�?��01~���8@�]pB�T3k�$$���RYqY����>�m)�����~��\��
�G�S�?���7�w��(�o�5����̛���|As\r,����j�
��+��P���	`X	�>l��sar,�,'&��>Y�\�v9�X���޼���r��6�P��x���G�)+���p�t9��ǕKЛK0�!=�f@�[<��jKi�Ht[�G��P��<�0ۗ�T�~؜
:A!YH,(��)eD���3f� �G�O��	�CJ�غ\��J�jSe��c;����tY�t��&��[j�7Y�q�t��^���S-*-ì=ӳjd5�����J�A�е�*�@'G��_ ��q���ӥ_�(�$��{pc$s4���]y^��2B1>�7���jȇ#����H��DI歒�sv���Ȏfp1��(L�;���3���X�Ykj���z������C��z���
�z�=�MA�P^4*!i�:�i�� ٗ���*��yG�}���C���I�CM�0S����]^�+g���ܕ��0�Sa>�б���v(��LI7�%���x4��qX��x�q~���dAU-0F1�G��&�k\����~6GΙ�$.kV�"�mHjarw}�JR�c	^j3!?�u�+���P���[�F�Hϛ�����(y�	��|;`SI8�T��q����=���[�|=�Y�gqS�Yk'U]��f2�lJ!MIXM��֤j�/B]�u\o��	f.`��Q���.�y<�x�R�R�]x�)������^fYڦ��ȏ<!��S=>�ϓ�|��U��ҸC"�d�Ӷ����G�Ʌ��{[Ra�lSD�c��k���Y�m��k��H���3��!���>�en櫊���Pq����)NR�I�i]ٷ�\gK��c���ƒ��iy�f{RQ�Jw�u_�$y�;
/{��wz�~� ̆���|��S`�$Z㸎[G�Ht�V�#��3\S��700{h ��>>3F>�1:�U��
���i�&��c{�Gs�Ӭ��WwZ�gk˂V�d(�O{��8�H�O�M�1Y��˓
���,j�F-��`��	]6��	�0�1�*����;Kl���WXDq�z�
�*̜|��.�A�pd?�׬*Yt���MA׏����ە|��|��Mx��b�
�])��B-!�P\�h3z?�t���p�W��8�z�
��Z}���D����R}��h{I�-��WE�"
�����Áꡦ6���FT|�`p/�X�c$����7�D[OuQ�+
��%�k*�w>-Ҿ�H�v�z� ��WNI>�uu��{ό3��5��FG�b�j�m����f�<4$���p�.s��JE�������������F�d>v���=��g
�Je�є���;E�R��L��0���/ļs%?Ɩ��RU~�_��>�{���h�Y����
����oy�#5��뉢y�B��g�!	�1�ζ[�zP�e�.�X\���¶��S�����ޖ���Qo�s���\����u%5�gJH{���Њ�U
�59%[7�����	nͮp��dx
g�z}pNjpd.�����C(ٗ��9��Vo �B�.��4E��Gx@@��Q`ybe����l�*_F�Sp�7C�2�g�s����7:�.`�SZ�ͱo4���x�qH|���k��mUf�L5TQ��*�����G4J�	 O����f:��@��fR�e����g4��ջ��@xhq2��m�P0踰T��	E�~�O@;���.t�#�w���Q��4�(|�/bo���
�e�X��@����k��+	fC����H%ۖ�V�〧%ؓh�N�?mi��֕�����G?�%�"��'5VH�����z8��̇��`�r�l(<�rBDv�|�X��q�3�G��x��l	�&�u�SY�\����#���ԛ�lsH���;�+�ēY**qF��x>��f�֒�N}��V��~���o �����i#�%�j�~G�x��G3*�_4;�P][�s��>H3��VF`��m�d��]���F�69!H���$�K]z��~_���N��J�C%
���!�fN`#��orͻ�U[Sy+�c�U�y_Ȟ�[��W���˽�������t�ɻ��~�8��x�))m�%��R�Жy��R�mrۙ͜Q9��ˑ]"���
�O��]�IS4c$�\p�d���Y(:��v���@�ˆ�k�U�" �v�>Nub�ZV�S�u��T��ޚ1����+)Me4��W�J�ٮ�v��x���+'�Ax�}�:M}�q��3�	��"Z�LՍ��
4%G�0������B:�.]iミPB3Yc�["�,��5���q-�F�i#�b����)����\�?+�#��J[�(�|9����=�#���s"OkbU�c�j"lhWy�/y���wSu��C=�b�|�������&t~�?
�!A
�?i�iݙ��tv���4��3��6‡���qL�Xm���<��ҡj���R�~ȿ�j�K?���i���$z��\�kCɹƜ^Y~�fJY&��*��B\�S��s�}�'�u޹��S��>�w+M�(�	7Y���C�6�"ȯhۺ(�耝��6CJ��kO����;~>�q
��j��+;��'ejw֐����=�'��{T�]qr��b/��
e����.b�H�)Ng���y���Ju��
�r����|�~�J˯b륷��BX^��'B���pT�+Ƞ�bc���7��zҴ�	�HU�{��g��|$*rɽo�NEC�N�#-��+B�%m�K8RySA��ya'#�������s������o�ub��H@r�i��*y2A#9".�XIZ<���m�|�&�խ&,)���ԃ<���2~lZ؆�V�3�/�ȱ��>*�`3��B�p�:���cRU��J��6�]"�50B`h����[g�aI�J,�.�P��C4���զ������:k�(���)]�xS�v�; ST��%o����k�c���y]~)1�j��:�����I�|�x���Y��QF=���A���o���ؠ��&@#
@�y���Bp.�Bul��?���I{9y��F�%���^��c�ĩ���La�
���t�����K�n�&�*4e�#S�*�Q�����l���l`��v���_�Jԟ
g@hո��(Y{�VU	?��jI��Qs��F����d* ��~��gT�dc���‘��玒s�vR�dvÄ�~}���k�Ǵ=�"��BW��ZEqmb���x��Q31�P�m�_T��OZ���[[�����8�Έ��J�sN[��ߓ�k�{����6V�"5w��&���&:��}f����������CS�"xC���!��r/m���EN񇶯�y����e�O���j��jX@��1%\R��X��˟��t/&:�.3F��`�RUpK�R�����)Nm
)A�ݼ���|�cל�~
W9�|NQ��er��4>��UZ��V��Zdס#�;J�Q��0�\SG�.p�|F��Y��:
8}��g).����B���u�n95���k�u��.���!��!,"A�8 ۇny�Dq�jKxk�g�����U=�ݻ��yY�Hq��.Iy-.\*���A$M�X����m8��QY ��`�{W[�/��~�fҮ�|�Zd�
"���Aς�Қk�)^�b\}�P�A�S��V�9c�� `�U,�s"��1%��y���c@�"��U���Oc:�3��:�I��eeEK9/��
��h�C�#�tL�/�l��a�8��\�������=®y��9�r	4�֍ٽ:EH�Cu2?�2@Ct>=�Z�^�Z%<>,]�^�?!`9]��UuYY�"��[�6)=0$�Y>%N]��_Y]U7E	�^Rr�%]�\B]F"�|$y�X&?
%�D,V���?�0�f�?�")Y\�XE@v9^�/?�+1>�?I0�P��>�5D20\�Z#�UF�%Z�V��?]�6�d8^�^�+�E2>D^�601|�YG$��7�%b�=�=3�c�6�\L �$�+�5�qE��=5$p7"2f-.E���VNW�ra�$�%�Dw�"��HZ7]<$6"W��p$`%�]B8r	C�$X0~7F?=U�"8Xf�$�=�q08(vU��_��W$�^�]�qA$�U�\�H�^\?iY]qA��1 F�WF��o@ZW�E'6���O]U.�U]�@Ew=Q?�E��^�E�\HC
W�E�9	= 8%M�=8C|E�zWXE�W>J]:0=5�U;?gWc^2F�7�>�EYcX �Y, k�V�9�hr�6�>�XlX�>'CS,�@��
��M�@G/84�Cx�0�*f{kPO$1p2&p`�m�~R��oJH�O@2UF�*P�.&�	p�Oi(���8вu@!	0�	�	P��>�s>j�3���w*��_]�*� ���>0$|Ux*�$�MES0Z�rZЋb<p�Qx�H��j�4rp��c �A)p�>O�r6�
�|q"~$0�*��P�:��[���� ���b��%�i`3>u
W@D�F *H�n�-f�h�\`�hi�E:S@����F#�n�>Q
���d��5@�R�1`6	! ?Q!���I��9�W>�qq_P��P�[/`&�p���107�5�@�9�3�@:*��]E��I������;�F`!*P	0�. �*nл\�p_U��)b w�� ���Q�F+j�22]$���;��!b��e�J��A@�m�f0kq!�Y��\ �@w��b
_��{�&���VPl��ЇTd@=O��R�:W n_�9�'�105��o���ls��X80y#�Km6.	 ���_�DFX�v�]M�(6JH0��V�l$��6*
p�W<P���0 |6P]��0+�aP�{���6���CF� *P�Jp�@�`) �6��t&*Q`F�~P�8#X�#'�#|j`����P�9��
1dL aF3�?:o5PR
�.E�h�'��H�	�Gp�fy<�U:��K�r@�!T" ��7����`!l�u��?��Z$�Yg/�&
0���M0)6�CP���'�	�H��O�0�Yp0��Р	�S [% }����b�s���
p�3�pOAi8��h+V�0
#��IzP�	�'0��)N��* J)�Wr��F@#*P]�w4#��$/p&�Q-i�/j�8����+� g?���_�A�8@�0�P���`�8P}�/�&3 ?�U�r6��	�2�Q@��k 6.�5`�k�^�o�xf��7��v�� |lP*LKL�p6�Mp)62T@`N`I lb�&"�;�;@���;�M*^�r6�k�O��X�D@�'{B��\-'��[Q�r6-N�*F�@�b�8Ъ�ЗA:.�$�H�	*��'*W
��7" ��zl`p�
�P'�m���m*@H�qE0� ���W��7� 
���hc����%��wh$@��'q@�2�9�"а�#�[?}A�,NO�5�{c��$"r`�	hF�*Hrm�y�J�)�R@x*��hvPL�#`���O>]��'&pQ>r�HL$��� a�R`�x�nЊIP_�s��` �	P
�n��#Lk6�aP08Q�8@����F�fp� ���1��tm�t*��p��/2:�S @u�*�����7Z4@D� I�9�;��E�D�39@�>qd*H�C�?	,@�"��/�2�=XC����OQ�[�N;`��$�^_0 (	�@��9h0%�xH���f���Y��}\1�3O�q���B��Snr���/�&F%����Pkt�)P��m��5kF-�9p���C��Ss\ ��O�03�s`�uv62*�M0*6Cg� �Ea����M	c`dLD��'�B��S�G��36Jp��Q N2��-��9`�{Vl�d�Q�s�N5`Kh�O�1PcS�Z�2=n-<�/�&�-����~
T@]mq`f�Fn� #3@?9�	 �fj�3U�p!V�!P`��O�3��! ��*��e�
��q���(P��o��o�'��P/�{
������"�=,D`���G�$D@�K5`z�(��9_Z��	`�D&���g�#��l�~	��N3O0^��f@0@-
��IPK�P�8��N%G�{�N/�&
jN�+f�G@�	*P�4�P9,�Y0�3t:`�F�3�AT�0!|D�3�c�U.p!�p&�"kI�
�<�#Hp ��k_��4�EyZ3�?A�� }5@Z�� �T�/�&�O�2�L�"�R=p��^�c*�j 4�QR���+0��
0�/;��@u1�4C�/ 'h�$�t&*fR��kT`*��'*^o��i[`���pn��&���RnE#�	�%�+K�|�!pi:Xu*PJ.�7�#�	�V�k��c�*P�
��{T�	�
p��@|,�?���*0�F�S0[L;���i�U{�-`!	%s��/�&�fP*�-`O�N�+f�D�5B��i	hf*M (&�a0�n� �&��
���S���X�I9���0xXwO�0&�PH�0�1�X�}k��f*o.�j6bn����hP'��1�5EGl0d�@��&`�Gn#�K�9	�0�H��`,0dF�	�p�����`�|��3=���{��q+��ZЌG� �	�Ђ]fp���`��I!GP
~�0�0<D�� �0���r���%�
0�bA��������6*c:@���� �L�$=�#�[�,p
�@	�Fi�ET�.&�2�=8+S�Yst�r6�L aY@B�A`��`&���P�Ld
����@j�%0�w�
po`Shqp��>��� �bZP���r���b	�	%X v\�h.��,�
P�$|"%��L;\p�T2c��\�c�/�.@&0P�P 4�kpU%�d��l�_>'��Le�s�*��kRn�GGqb��	��Ws<��#� ��T�*�K�b*y0Fow]#�Q�N3p�$�R>1P3920�'	�G��P�#z����B�� zn��)@�$@'��R�P�uo �� Z�d�2 =t1�4C5-
	�&��M h�NT�`��@F~�q7�Wt�AE@�=�P�bC)P �]�g104Q�A ���)p�o�0'|�I�bz�2zS[)���e
��!@t��Dp�e+��T�R`���1@8
	�,�#* ��`���I�Z�T*8x@&*��&|�e���i�`'�,�
d0 P& k�=���l�YЅw�#`�?N*����B�"*P�l�{��jPd9XKgH�0p�CM�(&�I�����O�.�%�] ��Zd0G<[�hk@O\h�%-@��4�F�~`�
�6p1P���)�ap�\f F�S�[_=fp�X
���;��a]0%|
��O�`XP0(	[0t�j {S��|�'*�\`��j�j����wpD��u3@:	�	_2<�,"P��4p!`^��)0�	�T�*8jp@�,)��b��`ksV�j
�L[�W}�j-U0b��`P��0@'.s���KA�;�A}9���7p�C$9����"��Mc�_A��N�(`�s5 T* 1�2_\��}�rp��)��lI< �L%`��65�J��I]�QTEP�4��He	o �:+
P�ls���#�"*P�g0#��F`*X�@���m�%� �7PG@���1p6��EP��v pz�"`��!���i�\� �sf`l�	��_>qP��Q`N�:��F�5аp�k�O�{
@�91Y�D�<��M� +`�0"|�30Ab|0�)�$P�9��U��4@F&M���Ko6��p�l`%*(Ru�h`+�C7�s��T=0��ZHPaz&@��x���_7�ty�����x�i' �5L�q6�@yMP7��%��/�)��00sCq�a�*��U��v�g�!�.O�r6V#����I!f L�N`,VFp�	b6�2�<�C��Z�	L�b*�-�S*:B�	~F�*X����������LJ�\IN +V�c���:`�'�d0��R_�<���	�T�*8�? ������o00(�0|�
�P@4-A��$��=oH(@���"н��m���!|�Y0���%�4��4pF&�pp�(7�srK�b*�4pG�(:@��Pp�)����@����<�j6vL�a�@����'*
:�-�. &�J�t�K�o6�"�	3a��%�lP~�p�vJZ��F���I���3P@A�h�&g�O�2%�J K�A�KRY����	AK ��$��a�G����G �G�T�*9p��lp~�(���AP36b���`'

��|�b�x|	 *p��@Q�/0'ya��\�p�F�0-�Rq`��/'�0�+$��O`2�C0�5e�}K��]y�6�5����(�RA0�$�f �=Q`I��] *�N�=N�b��A��m��e�
I-`	{.�%Vb��1(���q ���'*4
��4�7��5m�~Y�C����J\���7�M3�*��H���`D�[ ���*��� Ѓ��@�h`E'lO�.X.�%!9C�Bp��I
�|�Zl;p�".`"rp��fpoP�8)n	��1 �	�iPQ7�'@�K>"�������:@�0*�A���Ug�!�+`��:�#�D��'�"���`0�\\a�*H�)p�1`4<d ���6S SRI@
x�6@na��
�PW��f6�( �&$@ *P�p�
��b��q����f�4O6`��0&|-@��`���Is��Ho��.0Yq�n ��{R����Kn6�q��	(`�g�bJ���
3P +�"`�i�\�?
- 	�!�^��4@Ey���)p'u�P@9��
`��`�d��L�!�U�*8�B��B��� 
���f�Q�	 ���M�)6c@*H�=��k�QLdl�fA0(	!��yep
=o�%|D`P���L�a@�_\� [9��
�GP�	�p��b0�{l>��hW��;_���B��!�F!*P"5�Q��"K��3$-p��'���� �L	���
PE�R�Q|>�6 0] H������+SG@��d�	%��-*@�ftjpf-=R��� _��y�#�l;
 �6�1@6	
`��N>&�G@�6�W�p��	��{C� /���I�pG>�[���N _H�-��H��-@�q��}�0QV�o�#`
�+0��[P�I|i�lrI�
�!@����N�e�r6O0>3�C@���p�"�g�"��T�\{�
�s4 E �6p�m	�"|���#�Z���:0� ��.l�cYq,�	�&0��
+��T?�Tc����`��_J&@��3G "*PM�_�biP=X2o����'|�Z�	kQ`J�-a ���0�C+P�M+�C-S'��'�#`l;-<��T�o�pПv)@�\p���/'�P(���F4H�W �F�`�	pJ�3�@M�T8*f�m�7��0`*p�
0��0#|jG��u� ��e`j�R��^B�m�!�j�dm�'*vPu�yX`w&�dp��Cp���0�,WjP2b2K ��RpR��K�l6�bLp �*д#[�'�I��H@�w]�*8�Q�m�0��;`D4�j6@�$p�1�1�tM�(6�o�4k�=-Vg9Np*V��
��_@��
�p`K�a�&�����2������'0!PV@jL� ��� ��!�] �t�A��������'*#+�a�<P�Y[O@.A�X�{9�X�x���Z	��.�)����@��6/�&
�K�k6-MP(&��~� X�mB���0�	'e

Sm�"�(g���@��(��No`��^0�Y�M��Ep�M�)6�hp*�g
����j05��>`�^�@�g� ��[�,
i�i3>?:�A3
P���	���PyXN2 ;�'��'��# @�36�aAL-�Ep�+_D`��B����<�EeC�!�QPM��a��_�f���Ef[r �=���{�Jpw����!${��[9��>l%��
�L�#.g0@�5Z��	?�JZ5PJr?e 
=
`P�������@P�K.P6	4�B��]@*8�b��L�m����L�&.�(��V�_�*HG>���J��S0\�Rj�3[1�3O7!��\[e`

)i0NT�k�\;tL !�E,�U��A7I�QOB`���T@*8H���	�E�� ��Li���G�!*Prg�!�-P-i0�b0P(��^�^�
+��09&�����X�3B�(��O��5�['�0�)X�.�Kk�N�2,�=A3__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizesnmp_free_varbindsnmp_pdu_createsnmp_get_next_reqidsnmp_get_next_msgidsnmp_add_null_varsnmp_pdu_add_variablesnmp_clone_memmemcpyfind_sec_modusm_clone_usmStateReferencesnmp_free_pdusnmp_reset_var_bufferssnmp_varbind_lensnmp_set_var_objidmemmovesnmp_clone_varsnmp_clone_varbindsnmp_split_pdusnmp_fix_pdusnmp_clone_pdusnmp_errnosnmp_pdu_type__snprintf_chksnmp_set_detailsnmpv3_get_report_type__stack_chk_failcount_varbindscount_varbinds_of_typefind_varbind_of_typefind_varbind_in_listsnmp_oid_comparesnmp_set_var_valuesnmp_logsnmp_set_var_typed_valuesnmp_set_var_typed_integersnmp_replace_var_typessnmp_reset_var_typessnmp_synch_response_cbnetsnmp_large_fd_set_initsnmp_sendsnmp_timeoutmemsetsnmp_sess_select_info2_flagsnetsnmp_large_fd_set_selectsnmp_read2__errno_locationnetsnmp_large_fd_set_cleanupsnmp_synch_responsesnmp_sess_synch_responsesnmp_sess_sessionsnmp_sess_sendsnmp_sess_timeoutsnmp_sess_read2snmp_errstringsnmp_free_var_internalsnetsnmp_query_set_default_sessionnetsnmp_query_get_default_session_uncheckednetsnmp_query_get_default_sessionnetsnmp_ds_get_stringnetsnmp_query_getnetsnmp_query_getnextnetsnmp_query_setsnmp_varlist_add_variablesnmp_free_varnetsnmp_query_walksnmp_oidtree_comparenetsnmp_state_machine_runnetsnmp_row_create__sprintf_chksnmp_strcat__fprintf_chkfputcfwriteread_mibstrlenstrtolnetsnmp_ds_get_booleanstrtok_rstrcasecmpnetsnmp_ds_set_int_sprint_hexstring_line__ctype_b_locsprint_realloc_hexstringnetsnmp_ds_get_intsprint_realloc_asciistringsprint_realloc_hinted_integersprint_realloc_badtypemake_printf_format_stringstrcpyget_tree_headsnmp_out_optionsnetsnmp_ds_set_booleannetsnmp_ds_toggle_booleannetsnmp_ds_set_stringoptindsnmp_out_toggle_optionssnmp_out_toggle_options_usagesnmp_in_optionssnmp_in_toggle_optionssnmp_in_toggle_options_usageregister_mib_handlersregister_prenetsnmp_mib_handlernetsnmp_ds_register_premibnetsnmp_set_mib_directorynetsnmp_get_mib_directorynetsnmp_getenvnetsnmp_fixup_mib_directorystrstrnetsnmp_mibindex_lookup_mibindexesstrcmpget_persistent_directory_mibindex_addnetsnmp_mibindex_loadopendirreaddirfopenfgetsfcloseclosedirmkdirhiernetsnmp_init_mibMibnetsnmp_init_mib_internalsadd_mibdiradd_mibfilestrchrread_all_mibsnetsnmp_read_moduleadopt_orphansmib_prefixesnetsnmp_mibindex_newshutdown_mibunload_all_mibsprint_mibprint_subtreeprint_ascii_dumpprint_ascii_dump_treeset_functionsprint_realloc_gaugesprint_realloc_integersprint_realloc_networkaddresssprint_realloc_opaquesprint_realloc_nullsprint_realloc_counter64sprint_realloc_bitstringsprint_realloc_timetickssprint_realloc_ipaddresssprint_realloc_countersprint_realloc_nsapaddresssprint_realloc_uintegersprint_realloc_object_identifiersprint_realloc_octet_stringsprint_realloc_by_typenetsnmp_sprint_realloc_objidbuild_oid_segmentbuild_oid_noallocbuild_oidparse_one_oid_index__memcpy_chkparse_oid_indexesdump_realloc_oid_to_inetaddressdump_realloc_oid_to_stringfind_tree_nodeget_tc_descriptornetsnmp_sprint_realloc_objid_treememcmpmodule_namesprint_realloc_doublesprint_realloc_floatmemchrprintU64printI64snprint_objidfprint_objidstdoutsprint_realloc_variablesnprint_variablefprint_variableget_treesprint_realloc_valuesnprint_valuefprint_valuesprint_realloc_descriptionstrlcpyfprint_descriptionsnprint_descriptionclear_tree_flagsprint_oid_reportprint_oid_report_enable_labeledoidprint_oid_report_enable_oidprint_oid_report_enable_suffixprint_oid_report_enable_symbolicprint_oid_report_enable_mibchildoiduptime_string_nuptime_stringparse_octet_hintstrtoulsnprintfget_module_nodewhich_moduleget_wild_nodefind_best_tree_nodestrlcatsnmp_parse_oidmib_to_asn_typenetsnmp_str2oidnetsnmp_oid2charsnetsnmp_oid2strsnprint_by_typesnprint_hexstringsnprint_asciistringsnprint_octet_stringsnprint_opaquesnprint_object_identifiersnprint_timetickssnprint_hinted_integersnprint_integersnprint_uintegersnprint_gaugesnprint_countersnprint_networkaddresssnprint_ipaddresssnprint_nullsnprint_bitstringsnprint_nsapaddresssnprint_counter64snprint_badtypesnprint_floatsnprint_doubleFilemibLinetclistfputs__strcat_chk__ctype_tolower_locsscanf__uflowungetcgMibErrorsnmp_mib_toggle_options_usagesnmp_mib_toggle_optionsget_mib_parse_error_countobjgroupsregcompregfreeregexecget_tc_descriptionadd_module_replacementgMibNamesgLoop__strncat_chkstrncmpobjectsnotifssnmp_get_do_debuggingflockfilefunlockfilesnmp_log_perrorunload_module_by_IDnetsnmp_unload_modulesnmp_get_token__xstatfscanf__asprintf_chkfind_nodefind_node2find_moduleprint_mib_treenetsnmp_callback_clear_client_argnetsnmp_max_send_msg_sizesnmp_get_next_sessidsnmp_get_next_transidsnmp_api_errstringsnmp_perrorsnmp_errorsnmp_sess_errornetsnmp_sess_log_errorsnmp_sess_perrornetsnmp_randomnetsnmp_srandomnetsnmp_tdomain_initgettimeofdaynetsnmp_register_default_domainnetsnmp_register_default_targetsnmp_sess_initsnmp_store_neededsnmp_storesnmp_save_persistentsnmp_call_callbackssnmp_clean_persistentsnmp_store_if_neededsnmp_session_insertSessionssnmpv3_engineID_probenetsnmp_sess_config_transportnetsnmp_sess_config_and_open_transportusm_create_user_from_sessionsnmpv3_header_realloc_rbuildasn_realloc_rbuild_intasn_realloc_rbuild_stringasn_realloc_rbuild_sequencesnmpv3_scopedPDU_header_realloc_rbuildsnmp_pdu_realloc_rbuildsnmp_realloc_rbuild_var_opasn_realloc_rbuild_unsigned_intasn_realloc_rbuild_objidsnmpv3_packet_realloc_rbuildasn_reallocsnmpv3_scopedPDU_parseasn_parse_sequenceasn_parse_stringasn_parse_headersnmp_pdu_buildasn_build_sequenceasn_build_intsnmp_build_var_opasn_build_objidasn_build_stringasn_build_unsigned_intsnmpv3_packet_buildsnmp_buildsnmpv3_clone_engineIDse_find_value_in_slistnetsnmp_build_packet_build_initial_pdu_packetnetsnmp_transport_sendnetsnmp_get_monotonic_clocksnmp_sess_closenetsnmp_transport_freesnmp_sess_add_exnetsnmp_strdup_and_nullsnmp_addsnmp_add_fullsnmp_sess_addsnmp_sess_opennetsnmp_tdomain_transport_fullsetsockoptsnmp_opensnmp_open_exsnmp_closesnmp_close_sessionssnmp_shutdownshutdown_snmp_loggingsnmp_alarm_unregister_allnetsnmp_certs_shutdownnetsnmp_transport_filter_cleanupunregister_all_config_handlersnetsnmp_container_free_listclear_sec_modclear_snmp_enumnetsnmp_clear_tdomain_listclear_callbacknetsnmp_ds_shutdownnetsnmp_clear_default_targetnetsnmp_clear_default_domainshutdown_secmodshutdown_snmp_transportshutdown_data_listsnmp_debug_shutdownsnmp_sess_async_sendsnmp_create_sess_pdunetsnmp_large_fd_setfdnetsnmp_get_next_alarm_timesnmp_sess_select_info_flagsnetsnmp_copy_fd_set_to_large_fd_setnetsnmp_copy_large_fd_set_to_fd_setsnmp_sess_select_infosnmp_select_infosnmp_sess_select_info2snmp_select_info2snmp_oid_ncomparesnmpv3_probe_contextEngineID_rfc5343netsnmp_memdupnetsnmp_oid_compare_llsnmp_oidsubtree_comparenetsnmp_oid_equalsnetsnmp_oid_is_subtreenetsnmp_oid_find_prefixsnmp_add_varread64inet_addrsnmp_decimal_to_binarysnmp_sess_pointersnmp_async_sendsnmp_sess_session_lookupsnmp_sess_lookup_by_namesnmp_sess_transportsnmp_sess_transport_setsnmp_duplicate_objidsnmp_increment_statisticsnmp_pdu_parseasn_parse_objidasn_parse_intasn_parse_unsigned_intsnmp_parse_var_opasn_parse_signed_int64asn_parse_doubleasn_parse_floatasn_parse_unsigned_int64asn_parse_bitstringsnmpv3_parse__memset_chksnmpv3_get_engineIDsnmp_comstr_parsedebug_indent_resetnetsnmp_transport_peer_stringnetsnmp_transport_filter_checkxdumpnetsnmp_large_fd_is_setnetsnmp_transport_recvnetsnmp_transport_copyasn_check_packetnetsnmp_large_fd_clrsnmp_readsnmp_sess_readsnmp_increment_statistic_bysnmp_get_statisticsnmpv3_make_reportsnmpv3_generate_engineIDsnmp_init_statisticsinit_snmpsetlocalesnmp_debug_initnetsnmp_container_init_listinit_callbacksinit_snmp_loggingnetsnmp_ds_register_confignetsnmp_register_service_handlersinit_snmp_transportinit_snmpv3init_snmp_alarminit_snmp_enuminit_vacmnetsnmp_certs_initread_premib_configsread_configsnetsnmp_get_debug_log_levelstpcpyasn_build_nullasn_build_bitstringasn_build_unsigned_int64asn_build_floatasn_build_doubleasn_build_signed_int64asn_realloc_rbuild_nullasn_realloc_rbuild_bitstringasn_realloc_rbuild_unsigned_int64asn_realloc_rbuild_floatasn_realloc_rbuild_doubleasn_realloc_rbuild_signed_int64snmp_comstr_buildasn_parse_lengthasn_parse_nlengthasn_build_lengthasn_build_headerasn_parse_nullasn_realloc_rbuild_lengthasn_realloc_rbuild_headerMDbeginMDreverseMDupdateMDgetMDchecksumMDsignsnmp_parse_args_usagesnmp_parse_args_descriptionsnetsnmp_get_versionsnmp_log_options_usagefflushhandle_long_optnetsnmp_confignetsnmp_parse_argsgetoptoptargsnmpv3_parse_argsstderrnetsnmp_config_remembernetsnmp_transport_create_configCONTAINER_INSERTsnmpv3_parse_argread_config_print_usagesnmp_log_optionsstrtodgenerate_Kunetsnmp_container_findnetsnmp_transport_config_compareget_default_authtypeusmHMACMD5AuthProtocolget_default_privtypeusmDESPrivProtocolnetsnmp_daemonizeforksetsidexitchdirdup2get_myaddrioctlget_uptimenetsnmp_getaddrinfoinet_ntoanetsnmp_gethostbyname_v4freeaddrinfonetsnmp_gethostbynamenetsnmp_gethostbyaddrinet_ntopcalculate_time_diffcalculate_sectime_diffmkdirnetsnmp_mktempget_temp_file_patternumaskmkstempnetsnmp_os_prematchunamestrncasecmpnetsnmp_os_kernel_widthnetsnmp_str_to_uidgetpwnamendpwentnetsnmp_str_to_gidgetgrnamendgrentse_add_pair_to_slistvacm_save_viewread_config_save_octet_stringread_config_save_objidread_config_storevacm_save_accessvacm_save_auth_accessvacm_save_groupvacm_savenetsnmp_view_getnetsnmp_view_existsnetsnmp_view_subtree_checkvacm_scanViewInitvacm_scanViewNextnetsnmp_view_createnetsnmp_view_destroynetsnmp_view_clearvacm_getGroupEntryvacm_scanGroupInitvacm_scanGroupNextvacm_createGroupEntryvacm_parse_config_groupskip_token_constread_config_read_octet_stringvacm_destroyGroupEntryvacm_destroyAllGroupEntries_vacm_choose_bestvacm_getAccessEntryvacm_scanAccessInitvacm_scanAccessNextvacm_createAccessEntry_vacm_parse_config_access_commonvacm_parse_config_accessvacm_parse_config_auth_accessvacm_destroyAccessEntryvacm_destroyAllAccessEntriesstore_vacmvacm_is_configuredvacm_getViewEntryvacm_checkSubtreevacm_createViewEntryvacm_parse_config_viewread_config_read_objid_constvacm_destroyViewEntryvacm_destroyAllViewEntriesnetsnmp_vacm_simple_usm_addnetsnmp_vacm_simple_usm_deldivBy10multBy10incrByU32incrByU16u64Subtractu64Incru64UpdateCounteru64CopyzeroU64isZeroU64netsnmp_c64_check_for_32bit_wrapnetsnmp_c64_check32_and_updatesnmp_vlogregister_app_prenetsnmp_mib_handlerregister_const_config_handlerunregister_config_handlerunregister_app_config_handlerread_config_get_handlersread_config_find_handlernetsnmp_config_remember_in_listnetsnmp_config_remember_free_listfree_configset_configuration_directoryget_configuration_directoryset_persistent_directoryfilenofsyncset_temp_file_patternread_app_config_storerenameunlinknetsnmp_config_errornetsnmp_config_warnrun_config_handlerconfig_perrorconfig_pwarnskip_white_constskip_whitesnmp_config_whennetsnmp_config_process_memory_listnetsnmp_config_process_memoriesnetsnmp_config_process_memories_whenskip_not_white_constskip_not_whiteskip_tokencopy_nword_constcopy_nwordread_configread_config_files_of_typestrrchrread_config_with_type_whenread_config_with_typeread_configs_optionalread_config_filescopy_wordread_config_read_octet_string_constread_config_read_objidread_config_read_dataread_config_read_memoryread_config_store_data_prefixread_config_store_datapkcs_unuseddebug_config_register_tokensdebug_config_turn_on_debuggingdebug_indent_getdebug_indentdebug_indent_addnetsnmp_set_debug_log_leveldebug_register_tokensdebug_print_registered_tokensdebug_enable_token_logsdebug_disable_token_logsdebug_is_token_registereddebugmsgdebugmsg_oiddebugmsg_suboiddebugmsg_vardebugmsg_oidrangedebugmsg_hexdebugmsg_hextlidebugmsgtokendebug_combo_ncsnmp_set_do_debuggingfacilitynamesprioritynamesnetsnmp_strdupnetsnmp_callocnetsnmp_mallocnetsnmp_reallocnetsnmp_freefree_zeromalloc_randomsc_randomnetsnmp_memdup_ntnetsnmp_check_definednessnetsnmp_binary_to_hexhex_to_binary2netsnmp_hex_to_binarydump_chunkatime_newMarkeratime_setMarkerclock_gettimenetsnmp_set_monotonic_markeruatime_diffuatime_hdiffuatime_readynetsnmp_ready_monotonicmarker_ttickstimeval_tticksnetsnmp_setenvnetsnmp_addrstr_htonnetsnmp_string_time_to_secslog_handler_nulllog_handler_syslogopenlog__syslog_chklog_handler_callbacklocaltimelog_handler_filelog_handler_stdouterr__printf_chknetsnmp_disable_this_loghandlernetsnmp_enable_this_loghandlerparse_config_logOptionnetsnmp_set_line_bufferingsetvbufsnmp_log_syslognamesnmp_get_do_loggingsnmp_disable_syslog_entrycloselogsnmp_disable_syslogsnmp_disable_filelog_entrysnmp_disable_filelogsnmp_stderrlog_statussnmp_disable_stderrlogsnmp_disable_calllogsnmp_disable_lognetsnmp_find_loghandlernetsnmp_add_loghandlerlogh_prioritiesnetsnmp_register_loghandlernetsnmp_register_stdio_loghandlersnmp_enable_syslog_identsnmp_enable_syslogsnmp_enable_stderrlogsnmp_enable_calllognetsnmp_enable_loghandlernetsnmp_disable_loghandlernetsnmp_remove_loghandlersnmp_log_string__vasprintf_chknetsnmp_enable_filelognetsnmp_logging_restartnetsnmp_register_filelog_handlerget_logh_headnetsnmp_file_text_parsenetsnmp_file_openfdopenCONTAINER_FREEnetsnmp_text_token_container_from_filenetsnmp_file_fillnetsnmp_file_releasenetsnmp_large_fd_set_resize__fdelt_chk_netsnmp_release_trustcertsCONTAINER_FREE_ALLse_add_pair_to_listse_find_free_value_in_listse_find_value_in_listSUBCONTAINER_FINDBIO_s_fileBIO_newBIO_ctrlPEM_read_bio_PrivateKeyBIO_vfree_setup_trusted_certsnetsnmp_container_add_indexnetsnmp_cert_map_containernetsnmp_cert_freeX509_freenetsnmp_key_freeEVP_PKEY_freed2i_X509_bioX509_check_caPEM_read_bio_X509_AUXnetsnmp_openssl_cert_get_commonNamenetsnmp_openssl_cert_get_hash_typenetsnmp_openssl_cert_get_fingerprintX509_get_issuer_nameX509_NAME_onelineX509_get_subject_namenetsnmp_okey_getnetsnmp_directory_container_read_somenetsnmp_directory_container_freenetsnmp_certs_loadnetsnmp_init_opensslnetsnmp_cert_load_x509netsnmp_openssl_cert_issued_bynetsnmp_cert_dump_allnetsnmp_fp_lowercase_and_strip_colonnetsnmp_cert_findnetsnmp_cert_check_vb_fingerprintnetsnmp_tls_fingerprint_parsenetsnmp_tls_fingerprint_buildnetsnmp_cert_trustSSL_CTX_get_cert_storeX509_STORE_add_certnetsnmp_cert_trust_canetsnmp_cert_get_trustlistnetsnmp_cert_map_allocnetsnmp_cert_map_freeCONTAINER_DUPCONTAINER_REMOVEnetsnmp_cert_map_addnetsnmp_cert_map_removenetsnmp_cert_map_findnetsnmp_cert_map_container_createnetsnmp_certs_agent_initnetsnmp_cert_parse_hash_typenetsnmp_cert_map_container_freenetsnmp_certToTSN_parse_commonnetsnmp_cert_get_secname_mapsnetsnmp_tlstmParams_containernetsnmp_tlstmParams_createnetsnmp_tlstmParams_freenetsnmp_tlstmParams_restore_commonnetsnmp_tlstmParams_addnetsnmp_tlstmParams_removenetsnmp_tlstmParams_findnetsnmp_tlstmAddr_containernetsnmp_tlstmAddr_createnetsnmp_tlstmAddr_freenetsnmp_tlstmAddr_restore_commonnetsnmp_tlstmAddr_addnetsnmp_tlstmAddr_removenetsnmp_tlstmAddr_get_serverIdnetsnmp_feature_unused_cert_utilASN1_STRING_to_UTF8CRYPTO_freeERR_load_BIO_stringsOPENSSL_init_cryptonetsnmp_openssl_cert_get_subjectNameX509_NAME_get_text_by_NIDnetsnmp_openssl_cert_dump_namesX509_NAME_entry_countX509_NAME_get_entryX509_NAME_ENTRY_get_dataX509_NAME_ENTRY_get_objectOBJ_obj2nidASN1_STRING_get0_dataOBJ_nid2lnOBJ_nid2snnetsnmp_openssl_cert_dump_extensions_cert_get_extension_atX509_get_ext_cert_get_extension_idX509_get_ext_by_NIDnetsnmp_openssl_cert_get_subjectAltNamesBIO_s_memX509V3_EXT_print_nid2ht_ht2nidX509_get_signature_nidEVP_sha1X509_digestEVP_sha224EVP_sha256EVP_sha384EVP_sha512netsnmp_openssl_get_cert_chainSSL_get_peer_certificateSSL_get_peer_cert_chainOPENSSL_sk_numOPENSSL_sk_value_cert_get_san_typeX509_get_ext_d2inetsnmp_openssl_extract_secnameX509_check_issuednetsnmp_openssl_err_logERR_get_errornetsnmp_openssl_null_checksSSL_get_current_cipherSSL_CIPHER_descriptionengineBoots_confversion_confoldengineID_confengineIDNic_confengineIDType_confparse_secLevel_confsnmpv3_secLevel_confusm_lookup_priv_typesc_get_priv_oidusm_lookup_auth_typesc_get_auth_oidsetup_engineIDgethostnameinit_snmpv3_post_premib_configfree_engineIDset_exact_engineIDexactEngineID_confinit_snmpv3_post_configsnmpv3_storeinit_secmodsnmpv3_local_snmpEngineBootssnmpv3_local_snmpEngineTimeget_enginetime_alarmset_enginetimefree_etimelisthash_engineIDsc_hashusmHMACSHA1AuthProtocolfree_enginetimesearch_enginetime_listget_enginetimeget_enginetime_exsc_get_authtypesc_get_openssl_hashfnEVP_MD_CTX_newEVP_DigestInitEVP_DigestUpdateEVP_DigestFinalEVP_MD_CTX_freegenerate_kulsc_get_proper_auth_length_bytypenetsnmp_extend_kulsc_hash_typeencode_keychangedecode_keychangesc_get_priv_alg_byoidsc_get_priv_alg_bytypesc_find_auth_alg_byoidsc_get_auth_alg_byindexsc_find_auth_alg_bytypesc_get_privtypesc_get_auth_maclensc_get_auth_namesc_get_properlengthsc_get_proper_priv_lengthsc_get_priv_alg_byindexsc_get_proper_priv_length_bytypesc_initRAND_bytesEVP_md5sc_get_openssl_privfnEVP_aes_192_cfb128EVP_aes_128_cfb128EVP_aes_256_cfb128sc_generate_keyed_hashHMACsc_check_keyed_hashsc_encryptDES_key_schedDES_ncbc_encryptEVP_CIPHER_CTX_newEVP_EncryptInitEVP_EncryptUpdateEVP_EncryptFinalEVP_CIPHER_CTX_freesc_decryptDES_cbc_encryptEVP_DecryptInitEVP_DecryptUpdateEVP_DecryptFinalusmNoPrivProtocolusmAESPrivProtocolusmAES192PrivProtocolusmAES192CiscoPrivProtocolusmAES256PrivProtocolusmAES256CiscoPrivProtocolusmNoAuthProtocolusmHMAC128SHA224AuthProtocolusmHMAC192SHA256AuthProtocolusmHMAC256SHA384AuthProtocolusmHMAC384SHA512AuthProtocolnetsnmp_register_callbacksnmp_count_callbackssnmp_callback_availablesnmp_unregister_callbacksnmp_callback_listnetsnmp_ds_set_voidnetsnmp_ds_get_voidnetsnmp_ds_parse_booleannetsnmp_ds_handle_configinit_alarm_post_configsnmp_alarm_unregistersa_update_entrysa_find_nextsa_find_specificrun_alarmsget_next_alarm_delay_timeset_an_alarmalarm_handlersignalsetitimersnmp_alarm_register_hrsnmp_alarm_registersnmp_alarm_resetnetsnmp_read_data_callbacknetsnmp_free_list_datanetsnmp_free_all_list_datanetsnmp_create_data_listnetsnmp_data_list_add_nodenetsnmp_add_list_datanetsnmp_data_list_add_datanetsnmp_get_list_datanetsnmp_get_list_nodenetsnmp_remove_list_nodenetsnmp_register_save_listnetsnmp_save_all_data_callbacknetsnmp_save_all_datanetsnmp_oid_stash_create_sized_nodenetsnmp_oid_stash_create_nodenetsnmp_oid_stash_add_datanetsnmp_oid_stash_get_nodenetsnmp_oid_stash_getnext_nodenetsnmp_oid_stash_get_datanetsnmp_oid_stash_storenetsnmp_oid_stash_store_alloid_stash_dumpnetsnmp_oid_stash_freenetsnmp_oid_stash_no_freeexternal_readfdlenexternal_readfdexternal_readfdfuncexternal_readfd_dataexternal_writefdlenexternal_writefdexternal_writefdfuncexternal_writefd_dataexternal_exceptfdlenexternal_exceptfdexternal_exceptfdfuncexternal_exceptfd_dataunregister_readfdunregister_writefdunregister_exceptfdnetsnmp_external_event_info2netsnmp_external_event_infonetsnmp_dispatch_external_events2netsnmp_dispatch_external_eventsnetsnmp_check_vb_typenetsnmp_check_vb_sizenetsnmp_check_vb_max_sizenetsnmp_check_vb_rangenetsnmp_check_vb_size_rangenetsnmp_check_vb_type_and_sizenetsnmp_check_vb_type_and_max_sizenetsnmp_check_vb_oidnetsnmp_check_vb_intnetsnmp_check_vb_uintnetsnmp_check_vb_int_rangenetsnmp_check_vb_truthvaluenetsnmp_check_vb_rowstatus_valuenetsnmp_check_vb_rowstatuscheck_rowstatus_transitionnetsnmp_check_vb_rowstatus_with_storagetypecheck_rowstatus_with_storagetype_transitionnetsnmp_check_vb_storagetypecheck_storage_transitioncurrent_maj_numcurrent_min_numse_read_confse_store_in_listse_store_enum_listse_find_listse_store_listse_find_casevalue_in_listse_find_valuese_find_free_valuese_find_label_in_listse_find_labelse_add_pairse_find_slistse_find_label_in_slistse_find_casevalue_in_slistse_find_free_value_in_slistse_clear_listse_store_slistse_store_slist_callbackse_clear_slistse_clear_all_listsnetsnmp_dateandtime_set_buf_from_varsdate_n_timectime_to_timetmktimenetsnmp_lookup_default_domainsnetsnmp_lookup_default_domainnetsnmp_lookup_default_targetsnprintf_unusednetsnmp_transport_parse_filterTypeCONTAINER_CLEARnetsnmp_transport_parse_filternetsnmp_transport_filter_addnetsnmp_transport_filter_removenetsnmp_sockaddr_sizenetsnmp_tdomain_supportnetsnmp_tlsbase_ctornetsnmp_tlstcp_ctornetsnmp_dtlsudp_ctornetsnmp_udpipv6_ctornetsnmp_tcpipv6_ctornetsnmp_udp_ctornetsnmp_tcp_ctornetsnmp_alias_ctornetsnmp_unix_ctornetsnmp_tdomain_registernetsnmp_tdomain_unregisternetsnmp_tdomain_transport_tspecnetsnmp_tdomain_transportnetsnmp_tdomain_transport_oidnetsnmp_transport_opennetsnmp_transport_open_servernetsnmp_transport_open_clientnetsnmp_transport_add_to_listnetsnmp_transport_remove_from_list_tc_find_tc_find_transportnetsnmp_transport_cache_removenetsnmp_transport_cache_getnetsnmp_transport_cache_savenetsnmpIPXDomain_lennetsnmpIPXDomainnetsnmpDDPDomain_lennetsnmpDDPDomainnetsnmpCONSDomain_lennetsnmpCONSDomainnetsnmpCLNSDomain_lennetsnmpCLNSDomainnetsnmpUDPDomain_lennetsnmpUDPDomainverify_callbackX509_STORE_CTX_get_current_certX509_STORE_CTX_get_errorX509_STORE_CTX_get_error_depthSSL_get_ex_data_X509_STORE_CTX_idxX509_STORE_CTX_get_ex_dataopenssl_local_indexSSL_get_ex_dataX509_verify_cert_error_stringCRYPTO_get_ex_new_indexnetsnmp_tlsbase_verify_server_certnetsnmp_tlsbase_verify_client_certnetsnmp_tlsbase_extract_security_name_trust_this_cert_load_trusted_certs_sslctx_common_setupX509_LOOKUP_fileX509_STORE_add_lookupX509_load_crl_fileX509_STORE_set_flagsSSL_CTX_set_cipher_listsslctx_client_setupSSL_CTX_newSSL_CTX_ctrlSSL_CTX_set_verifySSL_CTX_use_certificateSSL_CTX_use_PrivateKeySSL_CTX_check_private_keysslctx_server_setupnetsnmp_tlsbase_confignetsnmp_tlsbase_session_inittls_get_verify_info_indexnetsnmp_tlsbase_allocate_tlsdatanetsnmp_tlsbase_free_tlsdataSSL_freeSSL_CTX_freenetsnmp_tlsbase_wrapup_recv_x509_get_error_openssl_log_errorSSL_get_errorERR_reason_error_stringERR_get_error_line_datanetsnmp_ipv6_fmtaddrif_indextonamenetsnmp_ipv6_get_taddrnetsnmp_ipv6_ostring_to_sockaddrnetsnmp_sockaddr_in6_2in6addr_anyif_nametoindexinet_ptonnetsnmp_sockaddr_in6_netsnmp_udp_sockopt_setnetsnmp_sock_buffer_setnetsnmp_udpbase_recvfromrecvmsggetsocknamenetsnmp_udpbase_sendtosendmsgnetsnmp_udpbase_recvnetsnmp_udp_recvfromnetsnmp_udpbase_sendnetsnmp_udp_sendtonetsnmp_udp_base_ctornetsnmp_udpipv4_recvfromnetsnmp_udpipv4_sendtonetsnmp_udpipv4base_transport_initnetsnmp_udpipv4base_transport_socketnetsnmp_udpipv4base_transport_bindnetsnmp_socketbase_closenetsnmp_udpipv4base_transport_get_bound_addrnetsnmp_udpipv4base_transport_with_sourcenetsnmp_sd_find_inet_socketnetsnmp_udpipv4base_transportnetsnmp_sockaddr_in2netsnmp_udpipv4base_tspec_transportnetsnmp_tcpbase_recvnetsnmp_tcpbase_sendgetsockoptnetsnmp_set_non_blocking_modefcntlnetsnmp_sockaddr_innetsnmp_ipv4_fmtaddrnetsnmp_ipv4_get_taddrnetsnmp_ipv4_ostring_to_sockaddrnetsnmp_tlstcp_openBIO_new_connectSSL_newSSL_set_bioSSL_ctrlSSL_set_ex_dataSSL_connectBIO_new_acceptSSL_shutdownBIO_freeBIO_popSSL_acceptSSL_writenetsnmpTLSTCPDomain_lennetsnmpTLSTCPDomainSSL_readnetsnmp_tlstcp_transportnetsnmp_tlstcp_create_tstringnetsnmp_tlstcp_create_ostringnetsnmpDTLSUDPDomainnetsnmpDTLSUDPDomain_lencookie_initializedcookie_secretDTLS_methodSSL_CTX_set_cookie_generate_cbSSL_CTX_set_cookie_verify_cbSSL_set_optionsSSL_set_accept_stateSSL_set_connect_stateBIO_ctrl_pendingBIO_readBIO_writeSSL_get_shutdownnetsnmp_dtlsudp_transportnetsnmp_udp_transportnetsnmp_dtlsudp6_transportnetsnmp_udp6_transportnetsnmp_dtlsudp_create_tstringnetsnmp_dtlsudp_create_ostringnetsnmp_udp6_com2Sec6List_freenetsnmp_udp6_parse_securitygai_strerrornetsnmp_udp6_transport_initnetsnmp_UDPIPv6Domainnetsnmp_udp6_transport_bindnetsnmp_udp6_transport_socketnetsnmp_udp6_transport_get_bound_addrnetsnmp_udp6_transport_with_sourcenetsnmp_udpipv6base_tspec_transportnetsnmp_udp6_create_tspecnetsnmp_udp6_create_tstringnetsnmp_udp6_create_ostringnetsnmp_udp6_agent_config_tokens_registernetsnmp_udp6_getSecNamenetsnmp_tcp6_transportnetsnmp_TCPIPv6Domainlistennetsnmp_tcp6_create_tstringnetsnmp_tcp6_create_ostringnetsnmp_udp_fmtaddrnetsnmp_udp_create_tspecnetsnmp_udp_create_tstringnetsnmp_udp_create_ostringnetsnmp_udp_transport_with_sourcenetsnmp_udp_com2SecEntry_createnetsnmp_udp_parse_securitynetsnmp_udp_com2Sec_freenetsnmp_udp_com2SecList_freenetsnmp_udp_com2SecList_removenetsnmp_udp_agent_config_tokens_registernetsnmp_udp_getSecNamenetsnmp_tcp_transportnetsnmp_snmpTCPDomainnetsnmp_tcp_create_tstringnetsnmp_tcp_create_ostringparse_alias_configfree_alias_confignetsnmp_alias_create_ostringnetsnmp_alias_create_tstringnetsnmp_snmpALIASDomainnetsnmp_unix_com2SecList_freenetsnmp_unix_parse_securitynetsnmp_unix_create_path_with_modenetsnmp_unix_dont_create_pathnetsnmp_unix_transportnetsnmp_UnixDomain__strcpy_chknetsnmp_sd_find_unix_socketnetsnmp_unix_create_tstringnetsnmp_unix_create_ostringnetsnmp_unix_getSecNamenetsnmp_unix_agent_config_tokens_registernetsnmp_callback_acceptnetsnmp_callback_hook_parsenetsnmp_callback_check_packetnetsnmp_callback_closenetsnmp_callback_hook_buildnetsnmp_callback_fmtaddrnetsnmp_callback_recvcallback_push_queuethequeuenetsnmp_callback_sendcallback_pop_queuenetsnmp_callback_create_pdunetsnmp_callback_transportpipenetsnmp_callback_opennetsnmp_clear_callback_listinit_tsminit_usmshutdown_tsmshutdown_usmunregister_sec_modtsm_rgenerate_out_msgtsm_process_in_msgstrncpynext_sess_idfree_enginetime_on_shutdownusm_free_usmStateReferenceusm_handle_reportusm_malloc_usmStateReferenceusm_get_userListusm_set_usmStateReference_nameusm_set_usmStateReference_engine_idusm_set_usmStateReference_auth_protocolusm_set_usmStateReference_auth_keyusm_set_usmStateReference_priv_protocolusm_set_usmStateReference_priv_keyusm_set_usmStateReference_sec_levelasn_predict_int_lengthasn_predict_lengthusm_calc_offsetsusm_set_saltusm_set_aes_ivusm_parse_security_parametersusm_check_and_update_timelinessusm_extend_user_kulusm_secmod_rgenerate_out_msgusm_secmod_generate_out_msgusm_secmod_process_in_msgusm_session_initusm_discover_engineidusm_create_user_from_session_hookdeinit_usm_post_configsnmpv3_authtype_confsnmpv3_privtype_confusm_set_passwordusm_lookup_alg_typeusm_lookup_alg_strusm_lookup_auth_strusm_lookup_priv_strinit_usm_confusm_parse_config_usmUserusm_parse_create_usmUserusm_store_usersusm_check_secLevelusm_check_secLevel_vs_protocolsusm_get_user_from_listusm_process_in_msgusm_get_userusm_generate_out_msgusm_rgenerate_out_msgusm_remove_usmUser_from_listusm_remove_usmUserusm_remove_user_from_listusm_remove_userusm_free_userclear_user_listusm_add_user_to_listusm_add_userusm_cloneFrom_userusm_create_userusm_create_initial_userusm_save_userusm_save_users_from_listusm_save_usersusm_read_userusm_set_user_passwordusm_create_usmUser_from_stringusm_create_usmUserusmAES128PrivProtocolnetsnmp_container_simple_freenetsnmp_compare_cstringnetsnmp_compare_direct_cstringnetsnmp_compare_netsnmp_indexnetsnmp_container_get_factorynetsnmp_container_find_factorynetsnmp_container_getCONTAINER_INSERT_HELPERnetsnmp_container_register_with_comparenetsnmp_container_registernetsnmp_container_get_binary_arraynetsnmp_container_binary_array_initnetsnmp_container_ssll_initnetsnmp_container_null_initCONTAINER_INSERT_BEFORECONTAINER_REMOVE_ATCONTAINER_GET_ATnetsnmp_init_containernetsnmp_container_data_dupnetsnmp_ncompare_netsnmp_indexnetsnmp_ncompare_cstringnetsnmp_compare_memnetsnmp_compare_longnetsnmp_compare_ulongnetsnmp_compare_int32netsnmp_compare_uint32netsnmp_binary_array_remove_atnetsnmp_binary_array_releasenetsnmp_binary_array_options_setnetsnmp_binary_array_removenetsnmp_binary_array_get_subsetnetsnmp_container_get_binary_array_factorysnmp_get_errnosnmp_synch_resetsnmp_synch_setupsnmp_set_dump_packetsnmp_get_dump_packetsnmp_set_quick_printsnmp_get_quick_printsnmp_set_suffix_onlysnmp_get_suffix_onlysnmp_set_full_objidsnmp_get_full_objidsnmp_set_random_accesssnmp_get_random_accesssnmp_set_mib_errorssnmp_set_mib_warningssnmp_set_save_descriptionssnmp_set_mib_comment_termsnmp_set_mib_parse_label__fxstatnetsnmp_sd_listen_fdsgetpidunsetenvnetsnmp_sd_notifynetsnmp_file_newnetsnmp_file_compare_namenetsnmp_file_container_freenetsnmp_file_create__open_2netsnmp_file_closenetsnmp_container_get_nullnetsnmp_container_get_null_factorynetsnmp_container_get_ssllnetsnmp_container_get_usllnetsnmp_container_get_ssll_factorynetsnmp_container_get_singly_linked_listnetsnmp_container_get_fifonetsnmp_container_get_usll_factorynetsnmp_container_get_fifo_factorynetsnmp_container_iterator_getnetsnmp_container_iterator_set_data_cblibm.so.6libssl.so.1.1libcrypto.so.1.1libc.so.6_edata__bss_start_endlibsnmp.so.35OPENSSL_1_1_0GLIBC_2.15GLIBC_2.8GLIBC_2.4GLIBC_2.17GLIBC_2.14GLIBC_2.7GLIBC_2.3GLIBC_2.2.5GLIBC_2.3.4/opt/alt/openssl11/lib64:/opt/alt/libssh211/usr/lib64	

�s m.t�s m.t	�s���<tii
Gtii

Qt���	[t���ftii
qtii
{tui	�tti	�t�)�?�)�? �) �)@�)_H�)hP�)vX�)�`�)�h�)�p�)�x�)�
��)�
��)���)���)�
��)���)��)��)3��)�
��)N��)d��)|��)���)���)���)��)��)��)�)� �)@(�)0�)h8�)�@�)6H�)HP�)ZX�)�`�)uh�)�p�)�x�)���)���)���)���)��)@��)���)���)��)��)*��)A��)V��)j��)}��)���)��)��)��)��)� �)�(�)0�)�8�)'@�)>H�)MP�)`X�)
`�)X
 **0*�@*0�P*��`*X�p*���**�*'��*��*3��*?��*?��*K�*K� *�@*�H*�h*�p*�x*W��*��*]��*h��*��*l��*s��*��*v��*}�*�*v�*��0*�8*��@*X*�`*��h*�*��*��*���*��*]��*�4�*���*���*��*� *�(*�0*�H*�P*��p*�x*��*#��*/��*=��*I��*Q��*� *h�@*��`*_��*:��*~��*���*A�*U� *Z�@*f�`*j��*$��*��*���*��*�� *s�@*�`*���*���*���*���*.�*|� *^�@*n�`*���*���*���*���*��*� *I�@*��`*���*���*���*���*��	*�� 	*��@	*��`	*���	*���	*��	*r��	*��
*� 
*q�@
*R�`
*���
*���
*U��
*|��
*��*u� *��@**�`*��*��*��*��*3�*� *��@*�`*��*A��*���*#��*+�
*� 
*4�@
*��`
*>��
*N��
*V��
*���
*d�*� *o�@*|�`*���*��*���*���*��*�� *�@*�`*��*���*�`*�Vp*�=�*�=�*�=�*�=�*�=�*�=�*�=�*�=�*�=*�=*�= *�=0*�=@*�=P*�=`*>p*	>�*>�*>�*>�*%>�*,>�*2>*7>*=> *@0*p@*C>P*(4`*H>p*O>�*U>�*Z>0*@�*�^�*_�*_*(_H*>_x*Y_�*o_*�_0*�_X*�_�*�_�*�_�*`�*"` *V��#*J��#*#��#*Q��#*U��#*]��#*d�$*l�$*s� $*{�0$*��@$*��P$*��`$*���$*���$*���$*���$*���$*���$*���$*Ȋ�$*ϊ%*׊%*ފ %*�0%*�@%*��p%*�f�%*e"�%*���%*��%*��(�)i0�)L8�)
@�)gH�)�P�)HX�)^`�)ch�)p�)x�)_��)-��)
��)!��)"��)���)���)��)��)Z�)��)��)5�)!�)��)g��)��)��)��)$�), �)�`*�(�)P0�)�8�)�@�)�H�)qP�)3X�)r`�)^h�)�p�)x�)���)*��):��)R��)��)=��)N��)���)��)��)	�)��)�)��)��) ��)��)T�)D�)��)� �)�(�)�0�)g8�)b@�)�H�)�*�P�)X�)`�)�h�)sp�)ex�)���)h��)C��)���)Y��)y��)���)���)���)�)�)�)�)��)P�)���)p8*p�)��)��)��)�8*� �)�(�){0�)�8�)�@�)�H�)%P�)�X�))`�),h�)�p�)��*�x�)��)���)4��)���)���)���)���)4��)(��)B�)�)k�)F�)e�)��)t��)��)��)��)(�)Q �)�(�)�0�)�8�)�@�)IH�)BP�)2X�)�`�)�h�)�p�)x�)M��)6��)���)���)���)a��)��)1��)K��)��)��)��)z�)��)��)���)��)��)W�)��)� �)�(�)�0�)�8�)��*�@�)�H�)P�)�X�)�`�)�h�)p�)�x�)���)���)���)��)h��)���)���)���)���)��)��)��)��)?�)&�*`%* *P*�*7�*��*��*T�*�*#x%*��%*;�%*��%*��%*��)2��)��)��)0��)��)��)���)���)��)F�)��)�) �)�(�)a0�)?8�)�@�):H�)~P�)X�)�`�)h�)	p�)�x�)���)��)��)��)
��)���)���)���)���)u��),��)��)n��)r��)��)��)��)�)w�)�)� �)(�)0�)(8�)a@�)XH�)mP�)X�)`�)$h�)�p�)�x�)T��)b��)���)���)q��)���)���)���)(��)���)-��)��)���)#��)l��)���)��)�)��)�) �)�(�)Y0�)=8�)@�)�H�)P�)X�)�`�)h�)�p�)x�)���)��)��)���)i��)���)���)H��)���)8��)���)��)@��)r��)#��)��)I�)��)*�)��)\ �)
(�)40�)�8�)2@�)�H�)�P�)X�)<`�)�h�)p�)�x�)���) ��)G��)
��)W��),��)e��)��)��)���)r��)���)!��)���)"��)u��)x�)�)��)��)> �)#(�)0�)�8�)�@�)$H�)MP�)�X�)%`�)&h�)'p�)�x�)���).��)(��)���)���)���)��)��))��)*��)���)���)���)���)���)��)p�)p�)S�)�)� �)�(�)70�)�8�)+@�),H�)�P�)-X�).`�)fh�)/p�)x�)0��)1��)=��)2��)���)K��)3��)4��)n��)���)5��)6��)���)7��)���)���)8�)��)(�)/�)� �)(�)Y0�)�8�)i@�)�H�)�P�)9X�)�`�)�h�)�p�)�x�)���)1��)���):��)���)A��)?��)���)-��)$��);��)��)2��)7��)~��)r��)'�)��)<�)x�)X �)�(�)0�)�8�)�@�)>H�)cP�)X�)5`�)�h�)�p�)�x�)��)\��)��){��)\��)`��)M��)���)?��)
��) ��)��)@��)O��)g��)���)q�)w�)G�)P�) �)](�)0�)A8�)�@�)BH�)�P�)1X�)`�)�h�)�p�)�x�)+��)C��)D��);��)E��)F��)���)���)	��)G��)���)���)���)���)���)s��){�)H�)��)��)I �)b(�)�0�)J8�)D@�)�H�)�P�)=X�)�`�)h�)p�)kx�)���)���)J��)K��)L��)���)>��)��)M��)���)��)���)���)N��)���)b��)C�)n�)��)j�)O �)P(�)[0�)H8�)�@�)�H�)�P�)iX�)`�)gh�)Qp�)�x�)���)���)���)���)y��)v��)R��)h��)��)���)��)\��)S��)T��)���)U��)��)��)��)��)� �)}(�)V0�)W8�)X@�)tH�)�P�)�X�)Y`�)sh�)Zp�)xx�)A��)G��)l��)��)6��)���)���)[��)��)���)v��)���)d��)���)���)\��)��)]�)^�)��)Y �)
(�)+0�)_8�)U@�)*H�)`P�)�X�)�`�)h�)�p�)ax�)���)���)���)���)���)b��)��)d��)���)c��);��)���)d��)���)���)I��)o�)e�)f�)�)| �)^(�)y0�)�8�)g@�)H�)�P�)hX�)�`�)ih�)�p�)�x�)���)j��)M��)���)���)k��)l��)
��)���)4��)m��)���)���)w��)���)���)��)_�)k�).�)] �)�(�)�0�)8�)j@�)�H�)nP�)oX�)`�)ph�)�p�)qx�)���)���)+��)���)r��)s��)V��)t��)q��)���)��)u��)v��)���)[��)���)��)��),�)�)� �)w(�)�0�)�8�)�@�)�H�)xP�)�X�)�`�)yh�)zp�)Zx�)���){��)E��)���)���)���)���)���)���){��)���)|��)���)t��)}��)~��)�)�)f�)��)� �)�(�)�0�)f8�)�@�)�H�)�P�)�X�)5`�)�h�)�p�)�x�)���)���)���)���)���)���)u��)���)���)���)k��)���)���)-��)0��)���)��)��)�)��)� �)�(�)0�)8�)�@�)�H�)%P�)�X�)s`�)oh�)�p�)�x�)���)���)���)���)���)���)���)z��)���)���)���)P��)���)���)���)���)�)��)��)��)� �)�(�)�0�)U8�)�@�)�H�)yP�)hX�)x`�)�h�)p�)�x�))��)���).��)���)���)���)z��)X��)���),��)���)/��)��)Q��)t��)x��)|�)��)�)<�)� �)�(�)(0�)�8�)#@�)lH�)�P�)KX�)6`�)Bh�)�p�)�x�)���)���)���)8��)���)���)l��)���)��)���)���)a��)���)���)A��)t��)��)�)��)��)� �)l(�)N0�)�8�)�@�)�H�)�P�)�X�)�`�)>h�)p�)�x�)���)��)��)��)���)u��)Q��)���)���)���)���)���)��)|��)���)���)�)��)��)��)� �)�(�)"0�)�8�)�@�):H�)NP�)�X�)&`�)�h�)Bp�)7x�)���)���)���)���)��)%��)���)@��)���)���)���)���)X��)���)'��)C��)~�)��)��)F�)� �)�(�)�0�)�8�)�@�)�H�)]P�)�X�)�`�)|h�)pp�)�x�)���)
��)���)���)���)H��)���)���))��)���)���)_��)���)���)���)m��)��)�)��)��)� �)�(�)�0�)18�)�@�)�H�)`P�)UX�)Q`�)Rh�)�p�)jx�)���)/��)���)���):��)���)���))��)���)���)���)���)M��){��)���)���) �)��)��)��)� �)e(�);0�)Y8�)�@�)�H�)RP�)�X�)�`�)h�)}p�)Ox�)���)���)���) ��)u��)���)���)��)D��)5��)���)���)���)���);��)p��)"�)��)��)��)� �)z(�)�0�)�8�)�@�)�H�)�P�)�X�)�`�)6h�)_p�)�x�)L��)W��)���)���)���)��)���)���)���)V�)��)�)Z�)��)��)I��)��)��)��) �)� �)�(�)0�)�8�)�@�)�H�)�P�)�X�)N`�)�h�)�p�)mx�)&��)D��)���)��)��)��)���)���)���)��)��)B�)��)��)��)���)��)��)9�)��)K �)�(�)S0�)�8�)�@�)�H�)�P�)�X�)�`�)�h�)dp�)�x�)���)���)���)��)���)���)���)���)~��)��)��)b�)��)	�)V�)���)��)m�)��)��)J �)�(�)�0�)8�)�@�)VH�)�P�)�X�)f`�)�h�)'p�)x�)���)9��)���)���)��)���)���)n��)���)��)��)�)��)`�)��)���)��)G�)��)Z�)� �)�(�)�0�)	8�)�@�)[H�)}P�)UX�)�`�)�h�)�p�)
x�)���)���)���)���)��)���)��)���)���)?�)��)^�)�)W�)�)��)�)��)z�)�)� �)��H��H�i:(H��t��H����5B(�%C(��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h���������%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%�'D���%�'D���%�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%�'D���%�'D���%�'D���%�'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݿ'D���%տ'D���%Ϳ'D���%ſ'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݾ'D���%վ'D���%;'D���%ž'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݽ'D���%ս'D���%ͽ'D���%Ž'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݼ'D���%ռ'D���%ͼ'D���%ż'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'D���%�'D���%�'D���%ݻ'D���%ջ'D���%ͻ'D���%Ż'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%��'D���%}�'D���%u�'D���%m�'D���%e�'D���%]�'D���%U�'D���%M�'D���%E�'D���%=�'D���%5�'D���%-�'D���%%�'D���%�'D���%�'D���%
�'D���%�'D���%��'D���%��'DH�=��'H���'H9�tH���'H��t	�����H�=��'H�5��'H)�H��H��H��?H�H�tH�M�'H��t��fD�����=u�'u+UH�=b�'H��tH�=^�'����d����M�']������w������SH��t"H��tH�W(1�H��tH�zH��t�����[û���ff.�f���U����SH������H��H��tWH������kH�H�C0H�C8�CPH�Ch�CpHǃHǃ�H�C@�S�H�C��H�CH��H��[]�ff.����E1�E1���<��ff.����H�1�H��t>ATI��UH��S�Ӎ{�:�H��H�E�H��tH��L��H������1�[]A\��ff.�@USH��H����H������H��H����H�ǹ#H���H�H�@hH���H���Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�Hǀ�������������H������H����������H������H����c�������H������H����B�������H������H����!�����u}H�����H���������u`�UpH�uhH�{h����uLH��H��t	�}�t'�{P�o��H��t4H�@ H��t+H��H����!�H��������t�H������1�H��H��[]�ff.����H��tgUSH��H��fDH�{H�k0H9�tH��t�!�H�kH�CH�{ H��0H9�tH��t��H�k H�C(H�H��u�H��[]��ff.�@��1�H��t!H���H��tf�H�H��H��u����AVAUI��ATL�$�UH��SH��H�L�s0H��t
L9�t�l�I��w+L�sM��tH�{L��L����H�k1�[]A\A]A^�@L����H�CH��uȸ����ATUSH����H����H��H��H���pH���`�H�H��H�CH�C HǃXHǃ`ǃhH�UH�u�)�A�ą�uZH�E H��tyH��0H9�t]H�}(H��(w#H��0H�{ H�U(H�u ���D��[]A\��;�H��H�C H��u��A�D��[]A\�f.�H��0H�C ��H�C H�C(��ff.�AWAVAUATUSH���t$H����A�օ���H��1�E1�E1��AD�p��H��H��I���`����uLM��MD�M��tM�'H�mM��H��tA9�t��;\$u�H�mH��u�H��L��[]A\A]A^A_��M��tL���S�L��E1�������E1��ǐ���'1��0�����AUA��ATA��UH��SH����H��H��t=H���H��t A�D$�E���@�����tH�?H��u�D��1�����H���H��H��[]A\A]Ð��ATUS����H�0��H�����A��H��H�o8�s��H�H9�tH�{8~mH���M���H��H��t]H�s8H����'�P���H���H��t4D�e����H�E�"��H�EH�����H�E0H�E8H��[]A\��H����1�[H��]A\�ff.���UH��SH�����H��H��tH����'1�����H���H��H��[]�f���SH��PdH�%(H�D$H1�A9Pt1H�����y�tH�\$HdH3%(��H��P[�DA���u[H��tV�A=��A=�ujH��L�D$H�4$���L�D$H�4$I�@�A�@�Fl�fDA�������t{���2��Y����A�@H�9�'H�\$�Fl�����y�������L�P}�2H��I����21����H�����1����DA�@I�@���z���H�͵'A�@�Fl����������Y���H���'I�@A�@�����Fl�����f.�H��L�D$H�4$���H�4$L�D$���uA�H�K�'I�@A�@��Fl��5���@H�!�'I�@A�@�����Fl�������
��ff.�f���1�H��tDH�?��H��u��@�ff.�@��1�H��tD1�@8wH�?���H��u��@����H����H��t@:wu�f.�8PtH�H��u��f���H��tNATI��UH��SH����H�H��t(H�sH�{H��L��蕾����u�H��[]A\�f�[1�]A\�1��fD��AUI��ATUH��SH��H��H� H��tH��0H9�t�O��M��H�C H�C(��H��t��upA�H��(v4H��tB��u>�KH�k(�����H�5߁��Hc�H�>��fDH��0E1�H�S H��u�H�C E1��H��D��[]A\A]�DH�5s��1�A���H��D��[]A\A]�f�E����H�C(H�C A�U���E����H�C(H�C �AoE�E���GH�C(H�C I�UH��f�E����H�{ H���H��L��E1��|��`����H�C(E1�H�C �A����H��'�6H�{ H����H��L��E1��+�H�S H�C(�����f.�H��tzH��� H����H����A�u��H�S H��HE�H�H�C(E1����DH�5�y�1�A���H�=�y�{������fDIcu��H�S ��HD�H��f.���H�5?y�1��;��?���fD��H�5�x�1�������fD��H�5�~�1������fDH�}�w��H��H�C ���H���`��H��H�C �Q���@H�C I�UH�H�S �����H9���H�5$x�1���H�C �����H!�����H�5~�1�A��_��c���f.�H�5�}�1�A��7��;���A�u��H�S H��HE�H��a�����H�5�w�1���A����fD��@�wH��H��H���Z���f.���H��@�wH�T$H�t$��0���H���ff.���H��tGATD��U��SH����H�H��t@8ku�H��1�1�D���c��H�H��u�[]A\�fD�ff.�@��H��t7U@��SH��H��f.�H��1�1҉����H�H��u�H��[]��ff.�@��AWf�AVAUATI��UH��SH��H�_XH�T$dH�%(H��$�1�H�D$@H�\$H�_`H�OXH�G`H�\$H�\$`H��)D$@H�D$P�Z��L��H���/������I�D$�D$@�D$H�L�t$,L�d$0I�L�l$(�,fD����������j���Et����D$@�����D$`�D$(��=v-H��?H��H�ŀH�|$h1��y���1�M��L��H��L��A��D$,H�D$8H�D$0膵���|$,�|$(H��A�ME�1�1��'������?���H������H���f��D$跱���8�@���H�
o�'�T$��8����H���2��L�|$@�����H�D$PH�L$H��H�H�D$H�EXH�D$H�E`����D$DH��$�dH3%(u+H��[]A\A]A^A_�L�����D$D�D$@�f�������f���H�
�����p�����AWAVAUATI��UH��SH��H�T$dH�%(H��$�1��X�I�ǸM���rI�OXH�D$@H�\$`f�H��)D$@H�L$I�O`I�G`H�L$H�
���I�OXH�D$P����H��L���2�����BH�E�D$@�D$H�L�t$,H�l$0L�l$(�����D$`�D$(��=v-H��?H��H�ŀH�|$h1��E���M��H��H��L��L��A��D$,H�D$8H�D$0�Q����|$,�|$(H��A�LE�1�1����������������L�����D$@���G���DH�D$PH�L$H��H�H�D$I�GXH�D$I�G`�y���D$DH��$�dH3%(��H��[]A\A]A^A_�@H�����D$D�D$@����H��L������D$@���@�D$�׮���T$�8t.H�
��'��8�>���H���V��H�H�D$@�2���f��D$@�a����r��f���H��dH�%(H��$�1�H��wH�$H�HrH�D$H�trH�D$H��rH�D$H��rH�D$ H�(sH�D$(H��wH�D$0H�8sH�D$8H�|sH�D$@H��wH�D$HH��sH�D$PH��sH�D$XH�DtH�D$`H��tH�D$hH�hwH�D$pH�iwH�D$xH��tH��$�H��tH��$�H��tH��$�H��v��wHc�H��H��$�dH3%(uH�Ĩ��3��AWAVAUATUSH��dH�%(H�D$1�H�$H���AI����A��I���a�H��H���EL��I������H���H��us�ff�H��L��L���b���H�$�Ņ�uwH�{0H�����v��H�$H�{8�k0tYA���tPH��D���T���H�<$H���x�H�$H��t,M��u�H�=��'H����H��L�����H�$�Ņ�t���H���7�H�L$dH3%(����H��[]A\A]A^A_�f�L���M��u��f�I��H��twI�L�����L��L������I�M�$$M��u�H�$�H�5�s���j���~���DH�5uu�1���H���\���H�߽���J���H�$��4���H�5Ls���
��H���U������;��ff.���H�=e�'�@��H�U�'�@��H�=D�'t
���D�*�'��u�H�����{��H��t&H�5's�1�������'H���@���H�5�r��_����ff.�f���H���O���ff.�@��H���/���ff.�@��H������ff.�@��USH��H����H����H�_(H����H�{����H��H��t~�CH����~&f���H�����H��t��u�H��tG��uCH�B H�8tH�H�3H�����H����ø��D��ҭ��H����[]�f�H��踭�������H����[]�f.���USH��H����H����H�_(H���H�{���H��H��tn�S��~$���H�����H��t��u�H��t?��u;H�@ H�8tH�H�3H���?��H����ø��D��
���H����[]ÐH����������H����[]�f.���SH�� dH�%(H�D$1��D$H�D$H����H����H�_(H�����SH�C����H��u�@��H�����H��t��u�H��to��uk�HH�PH�|$A�H�pL�D$�r��H�D$H��t@H�3H���M��H�|$�Ã�����D�����H�t$dH34%(��uH�� [�fD����������ff.����USH��H����H����H�o(H����H�}�^��H��H�����EH�߅���@��H�?����H��t��u�H������uH9�tjH�H��tH9�u
�BH9�tCH��H�H��u��c��H�uH���W��H�߃���Ÿ��D��"���H����[]�H��fDH�H���H�H��@H����������H����[]�f.���H����H����AUATUSH��L�o(M����I�]A�UH��������H�����H�m����H��t��u�H��tf��ub�����DL�#H9�tH�I�uH���]��L�#���t��uL��M��u�H��[]A\A]�fDH�����[]A\A]��H�������[]A\A]ø�������H��t�H���x���������@��SH�� dH�%(H�D$1��D$H�D$H����H����H�_(H�����SH�C����H��u�@��H�����H��t��u�H��to��uk�HH�PH�|$A�H�pL�D$�b��H�D$H��t@H�3H���=��H�|$�Ã�����D�����H�t$dH34%(��uH�� [�fD����������ff.����AWAVI��AUI��ATUSH���c��L��H��H���0����Ņ���E1�E1��(fD�3��I�$I��L��H������Ņ�u@H�KH�SI�uI�}�A���Ņ�u#�C���<vH��M��u�����I��I���1�M��t!L��L�����I�L��I�EI�����H�����H����[]A\A]A^A_����H����ATUSL�gM����H��L���f.�H�C H��t4H��H�CH��tSH��H��ЉCH�] �E�C��tу��t	H�C(H��u�H�EH��tH�@H��tH��H���H�] �C[]A\�DA�D$�CH�] �Ǹ����������ff.�f���H��(H�
fkf�dH�%(H��$1�H��lH��$H�
���H�D$PH����H�D$`H��lH��$�H���H��$�H��lH��$�H����H��$�H��$�H��$ H��$�H��$�H��$0�D$X�D$hH�D$pH�D$xDŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�HDŽ$�DŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�DŽ$HDŽ$DŽ$DŽ$(H��$8H�
jH��$�H��$PH��$�H�9jH��$�H��H��$PH�
s���H��$�H��$�H��$`H��$H��$�H�kH��$pH�
�iH�D$ H��$�H��$�H�
Y���D$(H�D$0H�D$PD$8DŽ$@HDŽ$HDŽ$XDŽ$hHDŽ$xDŽ$�HDŽ$�DŽ$�H��$�DŽ$�DŽ$�HDŽ$�DŽ$�DŽ$�HDŽ$�DŽ$HDŽ$H�D$HH�D$8H���HH��tCH�<$H��H�|$ H�t$�T$H�D$H�\���1�H��$dH3%(uH��(����������|���f.�f�AWI��AVI��AUI��ATM��USH��hH�$H��$�D�L$dH�%(H�D$X1�H�H��tI��|�.t�U����H�\$I��I���tVI��M�F��@H��H�
Wl�1��S����E��űL$H�4$I��L��L�������u�I���EI���u��I�EH��tI�$�D�I�,$H�D$XdH3%(uFH��h[]A\A]A^A_�f.�H�4$D��L��L��L�:�臮�����7����E�+����>���ff.�H��tCUH��SH��H��H�vH��t���H�K L�C(H��H��[H�gk�1�]�-��D��H��t;UH��SH��H��H�vH��t���H�K(H��H��[H��m1�]������ff.�@AUATUSH��8dH�%(H��$(1�H�5�'H����H�VI��H�����H���	fDH��H�N(��H��H�L�H�JH��H��u�H���'H�J(Hc�L�-cmH���&�L��L��1��.��H�����t-H��9�u�H��L��1�H���������u�fDH��$(dH3%(uH��8[]A\A]�H��1��r���舽���H��t;UH��SH��H��H�vH��t���H�K H��H��[H��i1�]�����ff.�@H����AWAVL�5�AUI��ATD�bUH��SH��I�EH����1���H�P(H9S(HG�H�@H��tD���E��u�H��u�H��H�@H��u�H��tcǃ��=U�'��ue�5G�'��u}�
9�'�����'�'������'���D��H��H���3���I�EH���[���H��[]A\A]A^A_��H��H������H��
�����5ʿ'��t�H��H���3���H��
����
��'���k���H��H���m���H��
�����z�'���S���H�K H�AhH��1�����H���H�=�m�O��H��H������H���H�=h�+����'�������E��~&E1�DH���L�����A��E9�u�H�K D�KD�H��L�C(H�R�1��`���K@���uXH�KxH��tH��g�H��1��9��H���H��tH�yg�H��1����H��
躿���T���DH�<g�H��1�����H�KxH��u���ff.���H�����@��AUATUSH��H��H�- �'H����D�.A�Eը�usH���ۣ��H��I���У��I�|���I��H��tmL�CA��+��H���5ֽ'A�:H�����H�
�fL��1���c���H�-��'XZH��t�H���(��I��H��tH���8���L�%y�'H��[]A\A]�fDH�����I��H��u���fDH��A�:API���t���@��AUATUSH��H��H�-(�'H����D�.A�Eը�usH���ۢ��H��I���Т��I�|���I��H��tmL�CA��+��H��A�:UH�����H�
�eL��1���h���H�-��'XZH��t"��H���(��I��H��tH���8���L�%��'H��[]A\A]�fDH�����I��H��u���fDH��A�:API���o���@U��SH��H���W$H�G;W |�� �W Hc�H��t+H�����H�CH��t+HcS$�J�K$@�,H���[]�H���x���H�CH��u�H��1�[]�fDAWAVI��AUI��ATUSH��(L�>dH�%(H�D$1��G$��D$����H�D$1�H�$A�E��d�o����o�8���x��H�4$L�����L�d$H��M9�tIA�M����E1���A�MA��D9�����H��L��D)���H��@��������u�1�H�T$dH3%(�H��([]A\A]A^A_���auFA�u��~>A�71�@��u�1fD��A9]~"A�7@��tL��I���Z�����u��@M��A�E����tA���tR9��r���I��A�E��tA�9�tuA�U��t6A�?�����HcT$I�E@�,�D�����fDA�E��u�M�>������
���fD1�L��������W������A�MI����u������fDAWAVI��1�AUATUH��SH��H��������MH��(\��(L��L��H��J�rE.�I���������H��H��H��H��H�Q��&%��H��H��H��H��H)�L��H��H��H�|$1�H��I��H��H��H��o^M<+	H��HiɀQH)�I��H��
I��L��H��H��Hi�I��H)�H��I��I��I��L��H��L)�H��H)�I�������u2E�����D$A����PE��L��aAUAWAT���D$E��L�vaPAUAWATH�����H��H��1��貤��H�� H��H��[]A\A]A^A_�@M��L���H��H��H������1��u�����PA�L�aAUAWAT�f.�H��E��L�a�D$PAUAW�i���@��SH��H�5aH��dH�%(H�D$1�H���U��H��tAH�5�`H��H��農����tH�5�`H��諲����t�;1uf���1�菛��H�D$dH3%(uH��[�褳��@��AWAVO�4IAUA��ATI��UH��SH��H��(L�D$L�$�E���L��H��輷�����H�J�T0I;$s�H�$H���=H�Q�L�|$L�d$H��M�t��HEH�
=fH������H��A�GI��PA�G�PA�G�PA�G�PA�G�PA�G�PE�O�1�E�G��=���L�#H�}H��0L��J���L�H�M9�u�H�$L�d$��H����I�H�L�d$M��H�L$I��I��HEE�D$�H�
f_H��H������1��š��L�;H�}L��֛��L�H�M9�u�L�d$1���ʿ�����	L�4$� @E����L��H���d�������H�J�T0I;$s�HE�  [L�#H�}L��e���L�t$I�H�D$L�#I9����w���L�-džI��H��L��I���-f�L��H������1����H�I��L�`L�#L9t$t6A�I�?H�EI��L�f�P`u��.f���f�H��(1�[]A\A]A^A_�L��Le�]fA�$L�#H�}L�诚��I�L�#H��(�[]A\A]A^A_�L�t$����H�$L�t$�J���ff.�f���AWAVM��AUATI��1�UL��SH��H��H�4$��L$�n�����~jA��9�}cMc��.fDH�I�$L)�M�H�HH��
I�$H��A9�}0�L$H�4$M��M��H��L�������u�H��1�[]A\A]A^A_�f��L$H�4$I��M��H��L��������t�H�I�$�H���[]A\A]A^A_�@��AWI��AVI��AUATUH��SH���L$E����M��L�D$苮��L�D$I��A�D$�I�XM�d�V@��\��@��"��H9�r�L$����L��L�������tH�EH�HI�H��H�M�K��I9�tO�{�I�uH�EI�f�~`u�H9�r�T$��t<L��L��莳����t-H�EI�H�HH��H�M�.I9�u�H�EI;rk�D$��uPH��1�[]A\A]A^A_�@H9�r�t$��t�L��L���0�����t�H�EI�H�HH�M�\H�EI�����L��L��������t�H�EI��H���[]A\A]A^A_�ff.�@��AWA��AVI��AUI��ATI��USH��8dH�%(H��$(1�H��$p1�H�D$%l@f�D$�<d���D$E1�1�<b��H�\$ ��H��H�s �I����H��H��0�J�H9�u��D$@����H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)؉�9����UH��u�Hc�H��H�|$H)��D H�H�+f��0��~��H��H9�u��D$ .E��tkH�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)�H��z�f�H���0H��H)�@�49H�H�H9�u��D$ -L��I��D��L��L�����H��$(dH3<%(��H��8[]A\A]A^A_�D�PH�L$H��}�Hc�H)��D H�H���B�H���BH9�u�)�Hc��D .������{-tJD�L$M��x0E1�1�H�\$ H�L$1�D�$��H��艛��D�$�=���1�I��A���H�{�
1�D�L$L�$���D�L$L�$Hc��D�L$E1�M�������������H��(fo�ndH�%(H�D$1�I��e�D$ typ)$f�D$貚��H�T$dH3%(uH��(��h������AT�#USH��1����H����H��H���Ŕ��I��H��躔��I�|�p���I��H��tKH���H���G�H��<%t���u��EH�U��tfDH��H���G��B���u�H��轤��L��[]A\�DE1�H�-o\�������H�Ղ'H�Ð��ATUH�-ReSH�����tQ���0L�g��H���HcT�H�>��f���1�迺���
1��s���L�����u�[1�]A\����1������D�1��4�����f���1�近���D�1������f.���1�菑���z���f.�A�<$�EL��#1����[1�]A\����1��G����2���f���1��/�������f.��1��t��������
1��\���������1��ߐ������f.��1��$��������1����������1����������1��w����b���f��1��Ķ���O�����!1�謶���7����[H��]A\��H���'Hc�H�
L�$�������1�1������UH��H��H�v[SH��1��H��H���G���H��H�߾H��[1��.���H��H�߾H��[1�����H��H�߾H��[1����H��H�߾H��[1����H��H�߾H��[1��ʷ��H��H�߾H�yT1�豷��H��H�߾H��[1�蘷��H��H�߾H��[1�����H��H�߾H�
\1��f���H��H�߾H�\1��M���H��H�߾H�3\1��4���H��H�߾H�J\1�����H��H�߾H�i\1�����H��H�߾H��\1����H��H�߾H��S1��ж��H��H�߾H��\1�跶��H��H�߾H��\1�螶��H��H��H��H��S[�1�]����ff.�@������9ATL�%�aUH��SH����R��#����Ic�L�>����1�����H�����u�1��!D�{H�S���1�����1�[]A\���1��̳���f.��1�贳���f��1�褳���f��{H�St6�
1�躅��1�[]A\��1��t����[����H��[]A\�H�a'�
1�Hc�H�
H�T��p���1��@H�9'Hc�H�
H�T��-����1��D��1�1�����UH��H��H�&[SH��1��H��H�����H��H�߾H�5[1��δ��H��H�߾H�D[1�赴��H��H�߾H�c[1�蜴��H��H�߾H�r[1�胴��H��H�߾H��[1��j���H��H��H��H��[[�1�]�K���ff.���H��1�L��[H�h�H�56QH�=j��5���1�L�)QH�E�H�54QH�=G�����1�L�$QH��H�5&QH�=$�菈��E1�1ɿH�QH�5��R���1�A�H�QH�5���2���1�A�H��PH�5̳�����1�A�H��PH�5�����E1�1ɿH��PH�5���ՙ��1�A�H��PH�5o��赙��1�A�H��PH�5O��蕙��1�L��PH�u�H�5�PH�='���1�A�H��PH�5���R���1�A�
H��PH�5���2���1�A�
H��PH�5̲�����A�1�H��PH�5�����A�1�H�sPH�5����Ҙ��A�1�H�cPH�5l��貘��A�1�H�RPH�5L��蒘��A�1�H�@PH�5,���r���A�1�H�-PH�5���R���A�1�H�PH�5���2���1ɿH��A�H�PH�5ñ����ff.���H����AU�ATUSH��1�H��蚡��H��H��t*D�#A�D$ը�t-H��H���1�[]A\A]�,���@�;+u�H�S��DH���@���H��I���5���I�|���I��H��t[L�CA��+tiH��A�:UL��H�
MH�����1���я��X1�Z�L��谀��H��L��[]A\A]鮢��fDH��[]A\A]�D��H��A�:API���ff.�@��S1��菠��H��t
[��H�=�N����H��H��t<���+��u"H�=�W薇��H��莇���1�[�A����H���x�����fDH�=I�'H��t$���+��u�H�=�W�N���H�='�'�B����H�=iW�4����f���AWH�=$NAVAUATUSH���b���I���z���M����H��E1�L�5�MH��ux�f.�H��興��L��I���}���I�|��3���I��H��tWH���H��H��SH�����M��I��H�
4��1�����XZM��tL���
���M��L��L��H��蜁��H��H��u�H���\���M��tH��L��[]A\A]A^A_�Ѡ���H��[]A\A]A^A_Ð�����'����AUI��ATD�`�US1�H��H�x'H�*�
�H��H�|�H��tL�������tH�CL9�u�H��1�[]A\A]�f��[���H���L��LSI���,�,H�=&�'1�词��XZ�A�'H��H��'[]A\A]�1�Ð��AWH��AVAUATUS��H��Hc-"�'D�5�'���uA�FD��
�'A��L�-?w'M�}9�}7H��菳��Hc�I��D9�|	�C�ޠ'H����[]A\A]A^A_�f�D�c
L��H�L$Ic�D�%��'A)�H������Ic�1�H��H�<�I�E�H���M�}H�L$�ff.�f���AWAVAUATUSH��dH�%(H��$x1�H�l$����H��,L�wKI���1��,�k���H��Ƅ$;諨��H����L��$@H��I�D$H�D$DH��蠩��I��H���$�ߚ��A�UH��DPt�I�}�
1�����I��A���u���H���,H��AVI��L��J1���,�̋��Ƅ$KH�5�qXH��Z��I��H���o���L��H�¾,觩��L��I���\���M���K����L��H�={J������-���L��
H����������!�%����t�H�|$�����D�H�JHDщ�@�D��H��L)�Ƅ?�}��H���}���I��H�������H���X���H��$xdH3%(u&H�Ĉ[]A\A]A^A_�1Ҿ�H��������躚��f.���AVAUATUSH��L�%�u'dH�%(H�D$1�H�$I�<$t*H�D$dH3%(�wH��[]A\A]A^�f��ۧ���&���葜��H��艰��I��H��t��l���H��L��H�5�IH��H��I�`���H��tH��谘��1�H��H���C���H��u�L���V���H�=�H�
���H��tK�8+�TH��H�5WIH���
���H�HIH��t$fD1�1�H������1�H��H���߮��H��u�����H�=sl詁��H��H����踯��I��M����A��Cը��H��H�5�HL��苮��H��H���L�-H��9fDH�߾/賀��H��H��tc�fw��H��H�5�H1��E���H��H��tML��H��貗����u��y������H�=��'H���S���H�=	Q����I���G���@�S���뛐�{w��M��tL�����H�=�G貀��H��tg��QՁ��+H�x貮��I��M��tDH��H�5�GL��蘭��H��GH��t@H���v��1�H��H���s���H��u�L��膚��H�=$G�:���H��H��H�
t'HD�H��聁��H�xH���5���H�~t'H����H�UH��H������H��H�D(��8.u�H�7r'H�@H��H���,����C�H�H��u�H��o'���H�(I�,$蔈��H��H�2�'H�����H�=vF襭��H�+H�C ����f�H��舭��I������L���H����������!�%����t������D�H�WHD����H��L)�H�Ǖ�:���I��H����M�F��+tAH��H�OA�:PH�
YCH�����L��1������XL��Z����M���G���H��A�:APL��N��H�xH��H�5�E赫�����H��H�5�E1�蟫��H��H�������u�����f�H��p'H�����t���}���H�D$dH3%(uH��L��[]A\A]A^�_������f.����7������ATUH��SH��@dH�%(H��$81��֙��H��H��tVH�5���җ��H��H��tH��H��1�H��D豥��H��$8dH3%(H��ufH��@[]A\�������H��H���(w��A��谞��H��H�ߺATI��L��C1��,�,����Ƅ$;H��XZ�W�������ATUS���H���'H��t!H�{ H��t�9���H���1���H�~�'H��l'H�-�n'H�H��o'H�H�EH��te�8�'��~7��1�L�$�H�<H��t�Җ��H�EH�H�EH��L9�u�H��豖��H�E��'�՗'H�=�p'H��t!H�"p'H9�t�x���H��p'�H��tH��p'H�=��'H��t�G���H���'H�=��'H��t�+���H�p�'[]A\�ff.���H��k'1�H�0�ۦ��ff.���SH��H����H�=�B����H��k'H��1�H�0����H��[��H�=|B������HLJ��D���GDH��OHc�H�>��H��j'H���ÐH�Il'H���ÐH��j'H���ÐH��n'H���ÐH��n'H���ÐH�Ik'H���ÐH�Qk'H���ÐH�Am'H���ÐH��l'H���ÐH�Ii'H���ÐH��l'H���ÐH�)n'H���ÐH�l'H���ÐH��l'H���ÐH��j'H���Ð��AWI��AVI���AUI���ATM��UL��S��H��8dH�%(H�D$(1��D$H�D$H�D$ �Ԃ��H�D$H�����.H�D$ H�L$H�T$L��A��H��H�D$PH��$�L�D$0���Y^�|$��t<�UH�|$��thH��t输��H�D$(dH3%(��H��8[]A\A]A^A_��1��ܟ��E1���wL�D$�E��t@H�|$멐�D$�Y���I����L��L��L���
����EH�|$�t���@��L��L��L��������u��E�覐��fD��USH��H��H�H��tH�C0H9�t
���H�C�C<Cwl<A��<��vz<�
<@ubH�C0H�CH�CH�C �����׉��H�{0������H�{8��H�{@H�CH1�H��[]��<��(<���<Dt4H�������[]�<u�H�C0H�CH�CH�C H�H�C01��DH�k(H�}H�{H�����H�C0H�CH�(�K(�1���~#fDH�s H�K�4H��H�4H��9C(�1�H�{������@����H�k(H��H�}H�{H����{H�C0H�CH�(H�K1�1҃�~'H�K ��H�H��H�1H�KH�4H�K�q�9��1�H�����������f�H�k(H�kH�����H�C0H�C1����f�H�K H�S�H��H��9C(�1�H�{������d���H�{(H��H��H�kH��whH�C0H�C����1�fDH�S H��H�SH��H�SH��9��1�H������������H���W���H�CH���c����	���DH���7���H�CH��u����f�H�<�����H�CH�����������H�����H�CH���w������D1�H��������n���ff.�f���AVAUI��ATI��UH��SL��H���M��L9�rgJ��H��臂��L�u�;�H��訅����uDH�SH�EH�L9�w3H�sI�|�H���Q���H�CHEH�H��u�[1�]A\A]A^�fD[�����]A\A]A^�f�H������AUM��I��I��ATH��I��H��U�SH��dH�%(H��$1�H��H���ʣ����u>I�$H��L��������H��$dH34%(��uH��[]A\A]����������,���ff.����AWAVAUATUSH��HH�dH�%(H��$81��D$,H����L�&I��I��H��M�����B<C�[<A�/<�c�<��<@����u
I����1�I9��dH��H=�wl��H���ٍ�H��D$,�D$,H��u�A����J��E1�M�&H�t$,�H��ȉD$,�lj��@I�]1��<��p<���<Dt����H��$8dH3<%(��H��H[]A\A]A^A_�fD��t��B<Cw�<A�D<t��2<�
���H��L��H����i���D$,I)H���l���@<u�H��L�c�H���i��L��I�.�D���@<���<��<D�D���H�I��H�sM�&�ЉT$,��I9�s���!���H�������=�����A�čp�L�e(�#{��H�E H�����I�I9��ZH����1�1��H�E H��H�s�@�4I�6�QH��H9�r�D$,��9�sH�E �у���D$,9�w�I��'�<�t����L��H���h���C���H�� I������H�E(H����D$,��I�؁���*���M���L�$�L9���N��L�|$0L�ƹL��L��L�D$L�T$L�L$���L�T$L�L$1�L)�K�<H���Av��L��L��H���h��I�L�D$I�I�����H�U(H��uGD��D�d$,�h���f�1��@H�E H��H�s��у�@�4�D$,9�w�I)H�U ��3����ЉT$,�#���DD��D�d$,I������L���v�����D$,���1��d�������H�I��L�CL�&�‰D$,��I9�����������������ff.�@��ATUSH��H��H�|$H�4$H��tKH��tFI��H�l$�@H�<$H�t.H��t)1�H��L��H�������t�H�������[]A\��H��u�H�<$u�H��1�[]A\Ð��AWAVAUATUSH��L�D$D��$�L�L$dH�%(H��$�1�H���5A��H��I��H��t/H�>��"��H��H�|���H9�u�D�l$@A��t�A���A����A��u
H����A��u
H����H�D$@E1�D�d$$H�l$AH�D$H��$�M��H�D$(I���J�H��H��H������PL�
�5L��51��/v��Y^H�H�L9�sSA����I��L��J��H)�M��u�H���H��H�����PL�
�7L�E51���u��H�H�XZL9�r���H��$�dH3%(��H�Ę[]A\A]A^A_�f�A��u�A��uH��u�A��uH��u�L�|$@H�l$AH��1�L�|$ H��?L��4�s��?I��@�s�sL��?u��H�� H�H�L9��]���A��tYL�D$H�UD�mI�@@H9��=����EH��H9��,�����$�H�T$L��H�t$�t������fD�����H�C L��H��H)�L�4H������D$8H�C(�D$9H�C0�D$:H�C8�D$;L�L$81�A�E��L�L$8�{t��H�H�L9��F�������D�d$$A���*���H���H��L��3H�������D$8H����D$9H����D$:H���H�\$(�D$;L�L$81�H��H)�A�E��L�L$8��s��H�H�H9�������
����Ճ��D��AWAVAUATUSH��(�D$`�D$�D$�H����E��M��H��H��H�|$�����F�E1�H�D$H�D$N�4�I������%���H�B�Dp@�.LD�M��u"�@E����H��H��蔇������I�$H�PH;s�H�UD�4I�GI�$L9|$��I���{���I�H�U��H��([]A\A]A^A_�@A�.M��u�1���a�����tyI�$H�PH;r!E��t;H��H��������t,I�$H�PH;s�H�U�\I�$H��I�$�9f�H��(1�[]A\A]A^A_��E��t�H��H��訆����t�I�$H�PH;s�H�U�L$�I�$H��I�$��1��讏����u�TE��t�H��H���X�����t�I�$H�PH;s�H�U�\I�$H��I�$�!�E���W���H��H���������D���I�$H�PH;s�H�U�L$�I�$H��I�$���f.�AWAVM��AUATUH��SH��1�H��H�$L��$�H�T$L��$�L�D$L��$�dH�4%(H�t$x1���Ď��1���D$�ԏ��H����H�<$A������KH�T$H����
H�I��H9J(u�@I9J(��M�RM��u�M����M��tI�I�H���� �A���%H����H��M��H��H��AUD��$�H�L$H�T$����X1�ZH�\$xdH3%(��
H�Ĉ[]A\A]A^A_�f.�H9H(uI��I�BH��u�M�Z`M����M�B �
H�=z/L�������A��������A�E��uBL�T$L�\$��$�H�t$L��H�<$�n��L�\$L�T$����A�EfDH����AWH�u�H�{M��ASAU��$�PH�L$ L�D$(I�L�T$ ���H�� L�$H��ID����f.�M�B(L�d$01��@H�
j�L��L�\$L�T$�n��A�EL�T$L�\$���d���L�T$M��L�\$����L�T$0L�1��@L�׾D�L$ H�
?+L�T$�=n��E�ML�T$E��D�L$ u1H�t$H�<$M��L��$�D�L$��m��D�L$��uA�EH��H��D��A���„�����H������M��D�t$fD1��
������TI�|$�������x��I��H���9E����H�$H�H��tI��|�.H�J�uI�E�EE����A�yD��A�ADH�5�:Hc�H�>��fDL�E����H�|$0H�
�}�@1��H�|$�m��A�U���NH��H��A��E���t���tD�\$L�K���$�H�t$L��H�<$�l��D�\$���BA�E�5f.�H���6L�T$0�s1��@�sL�׾H�� L�K�H�
H,L�C�L�T$ �_l��E�UH��AXA��AYE��L�T$��E����A�U�>����L�H�E�H�|$0�@H�D$H�
)1��M��H�|$L�L$ ��k��A�}L�L$ ���I����	H�|$��	�s �@�1��sH�
�+H�|$ L�KL�C�k��A�UY^���2H��(H��A��E����������M�$$M��tE�������M���N����I�APH���L�D��D9P�H�H��u�L�L$0�DA�|$��H�L�PL9�r�L)�A��E����A�U���J���U����xD�n����@DH�=P8Hc�H�>��f.���$�H�t$L��L��*H�<$L�L$�Lj��L�L$������A�E����f�D�\$L�������L���p���A�|$��A�UH��H�D$����E1�1�H\$���@E����A�U����I��E1�1�����fDI�yxt�A�|$��I�AXH��t
H�8�9H�H9��^���H��H��H9��M���H)�H�l$A��H��I��xD�\$ H��H��AQM��AUH�T$D��$�H�L$�QH��A�UH�D$ ^_H�l$D�\$ �(���fDH�t$0�@L��H�t$�������@L�L�L$0�@L��1��H�
�yL�L$�i��A�UL�L$�����M���4�L�D$��$�L��H�t$H�<$�h��L�L$ ������A�E����f�H�t$H�<$M��L����$�D�\$�@h��D�\$���hA�E�$���DL�D$��$�L��H�t$H�<$�h�����:A�E����f�1��9���f�A�U�������L�@�KfDI�zhH��t,�����D�L$L�T$�r��L�T$D�L$H��t	L�X`�2���M���*���L�D$��$�H�t$L��H�<$�[g����tA�U���fDA�E��p���fDI�AXH��t
H�8�eL�I�BH9����H����A�UH�4�H)�H�t$A�Å������I�QH�CH�D$H��tQA�y@���tH�z@�H�T$t=D�\$/L�T$ 莑���L�T$ H�=�&H��D�\$/H�T$������oD�\$H��M��L��j"D��$�H�{H�L$H�T$蔀��_AX��D�\$��A�U�T���H������E�eE���U�����$�H�t$L��L���H�<$L�T$L�\$�e��L�\$L�T$������A�E�
���H�D$E1��l���A�U�{���A�U�f���Hcp;p�����H9������A�UH��H)�H�D$A�Å������D�\$H��M��H��j'D��$�H�L$H�T$����f.�M����M���W������H�D$E1�D�\$1�H��M��jH��jAU��$�PL�D$(H�L$ �S�H�� I��A�UH�l$D�\$�D���H�l$L���H��I��M��L��U��$�H�t$H�|$���Y^H����I��A�UE1�1����D�\$H��L��L�KL�T$M��P��$�H�t$H�|$���A[ZH��L�T$D�\$�(A�U���H��M��H��H��j'D��$�H�L$H�T$�i~��ZY����A�UE1�1��+����z@D�\$ L�T$�ߎ���L�T$H�=B$H��D�\$ ������V���j"��$�M��L��H�sPL�D$H�L$�{�L�T$(�k~��AYAZ��L�T$D�\$ �������H���A�EH\$�D���1���݁������A�E����1��轁����t<A�U���iH�D$H��A���A���L�\$M��A�E1�L��C�A�UH��A�Å����$�H�t$L��L��%H�<$D�\$��b��D�\$����H�D$A�U������$�H�t$L��L��"H�<$�b����t4E�]E���,�����$�H�t$L��L�e%H�<$�fb��������A�E����P;P�����Hc�H9���������@A�E��z���I��E1ۺ1�A�E�`���M��H��H�l$�)�H�D$���A�EH�������$�H�t$L��L�"H�<$�a���������A�E��^����fr��fD��AWI��AVI���AUATM��UL��S��H��xH�|$�dH�%(H��$h1�H�DJ'H�D$HH�D$PL�(�D$<H�D$X�	c��H�D$@H�����.H�D$PH�D$XH�L$@L��L��PjH�D$LPSH��$�L�L$pL�D$h��H�� �t$<I�ą�tO�MH�|$@���7H��u2H��$hdH3%(L���	H��x[]A\A]A^A_�fD�s���ǐ1��������t0���/H�5`.��Hc�H�>��@�D$<�4����H�L$@�9I��tfDI��A�9u�H�D$XH����L�L�I9��bA�9.u�W�I��I�A�H9�wA�y�.u�L9�s	@�����EH�υ��9���H�|$M�ȉ�L��L���_����u�EH�|$@H����������fDI��H�|$��L��L���c_��H�|$@�EH�����������f�H�L$ @�t$L�L$�n��L�L$�t$H�H�L$ ��I��A��DB����I�A�H9�v��#���H�L$@H��H�L$H�L$�9Y��H�L$L�L$L� J'I��I�0H��u����I��I�0H�����McPM9�v�L��H��L�D$(L�L$ L�T$H�L$�(Y��H�L$L�T$��L�L$ L�D$(u�N�L���fDL�L$@�E������������@������@�EE1���1�H�|$`� L�L$�H�H�t$`A�|$0�
h���U���a����|$`#L�L$�1���H�|$I����L��L����]�����-���H�|$��L��L��L��]���������EL�L$�O����I������Rn��f���AWAVA��AUI��ATI��UH��SL��H��XdH�%(H�D$H1�A�xL��$��D$��1���{����uTA�: D��L��L��fo-1L�D$H���D$:H�NTIFIER)fD�L$8)D$fo1H�D$0)D$ ��\����tjI��H��E1�jD��L��L���f��_AXH�T$HdH3%(��H��X[]A\A]A^A_��1��
��z����u,� L�D$D��L��f�t$H��L���D$OID:�P\����t�H�C(H��L�K D��L��L��H��H��PL�D$�ew��XZ�L$��u*�M���[���L��oD��L��L��H���[����u1��8���f.�M��D��L��L��H����[���������
����l��f.���A�x{SL�\$H�\$��A�@L��)Ic�L�>��H�\$L�\$[�@z��H�\$L�\$[��m��H�\$L�\$[�d��H�\$L�\$[�w��H�\$L�\$[�Є��H�\$L�\$[�0q��H�\$L�\$[�u��H�\$L�\$[�Q��H�\$L�\$[� Y��H�\$L�\$[�x��H�\$L�\$[����H�\$L�\$[�@b��H�\$L�\$[�`���H�\$L�\$[�J��H�\$L�\$[� W����AWI��AVI��AUA��ATI��USH��H��$�L�D$L�L$(H�D$H��$�H�D$ dH�%(H��$�1�A�x�H�|$��H�1��
H�D$`�}x������H�D$H�h H�@(H�H�D$H9���H�D$�D$[H���D$TH�D$0H�D$p�D$Z�D$Yd�D$8H�D$HH�D$0��D$P����OH9\$@���=@���4�L$Y��a�€�t��!‹D$8�T$?���D$\�A��D$X��H�D$@E1��|$?���|$X�EH�D$@H�5A)Hc�H�>���1���|w������A� D��L��L��fo
-L�D$pL��DŽ$�NG):fD��$�)D$pfo-)�$��X����u3H��$�dH3<%(��H�Ĩ[]A\A]A^A_��jE1�D��L��jL�D$L��L���b��AYAZ�D1����w�����4H�\$H�k(���+���9H���8L��D��L��L��L���X���S����|$[��I���K�|$8�@�|$[u�|$Z�.H�D$0�8� H�
 �@H�
H�l$H� �1�H����W��I��D��L��L��L���|W������H;\$@�ŀ|$Zt	@�����l$Pt	@��������|$Tt	@����H;\$�|���H�|$ ��I�$I;r E���jL��L���7l�����WI�$I����:���f.�E���/L��L���k�����I�$H�PI;s�I��|$Z@�<I�$H�PI�$I��D�7���f�H�
������@H�l$HcD$8H)�H9�HO�Hc��#�E����L��L���|k������I�$H�D)I;w�1�H��H��H�L$h��f��H�L$hH���I��I��D��L��L��L���_�����tSH�����H�D$`D��L��L��L�KL��I�$��U����t#L�D$D��L��L��L���U������D1����H�
H�|$H� �1���U��L�D$H���f��D$\H�T�H���C�I��I�H9�u������L��D��L��L��L���(U��������1��i���f�H�D$H�h(H�D$H�X �������d���H�8�E�H�t1���f�W`D�H��H9�u�H������������
1��s��L�&��tL��D��L��L��L���T��������H�D$D��L��L��L��L�H(L�@ �]d���������1��
�r������H�|$ ������L��gD��L��L��L���T�����h���L�D$ D��L��L��L���S���������=���D1��
�Lr����u L�\D��L��L��L���S��������L��D��L��L��L���S������H�D$D��L��L��L��L�H(L�@ ��}��������L�aD��L��L��L���ZS��������1����H�|$0H�O�@�|$Y<*u0H�|$0�H�L$0H�W����D$P�D$Y@��H��H��@�|$Y�P��D$8��	�1�L�L$0�|$Y�D��I�э�I�QD�RD�GЍLH�@��A��	v�I��@�|$YD�׉L$8D�T$TL�L$0A��9�����GH�BH�D$0�D$T�D$Z�B�D$TfD�D$T���#<*��ǃ�0<	�D�D$8E����H�D$0f.��|$8��������D$8����H���|$TH�����D$Z끐H���5�������f�L��D��L��L��L����Q��������jD��L��L��jL�L$8L��L�D$����ZY���f.�E������L��L���f��������I�$H�PI;s�I��t$T@�4I�$H�PI�$I��D����f��D$T����fD�!1�L�D$h�o��L�D$h�D$[����I�?H��H��H�� W��I�$H�I�$I������T$Y�׀�9w}H���|$YA��L����@�|$T�D$YH�L$0����D$8��d@���Y����H���J���H;\$�D$T�D$8�7���@������)���@�T$Y�D$Y�T$TH�T$0H�L$0�G�<w1�H��s&�G��D$Z<	�y����D$T����D$8��������D$8�t����|$YH�T$0�D$Y@�|$T���`��f.�ATI��L��I��UH�͹�E��SH��dH�%(H��$x1�I��H��$�L��$�L���H�H��$pM��t 1�H��$pfDH�ƈH��L9�u�3�D$H�|$ L�T$(��t#H��$xdH3%(u4H�Ā[]A\�@jD��H��L��A�1E1��zk��ZY��u�����_�����AWAVM��AUA��ATI��UH��SH��H��HdH�%(H�D$81�A�xxL��$���1��� m����uM�: L�D$D��H��fo�"f�t$,L��H��H�ld be Fl�D$(oat))D$H�D$ �D$.�cN����tjD��H��E1�jM��H��L���X��ZYH�T$8dH3%(�EH��H[]A\A]A^A_��1��
�|l����u$��E���H��L���c������H�EH�H;s�H�=r�E��I��H����I�F f�M�ȺH�������H�}I<$�Z�L�L$�VN��L�L$L���`��L�uI�<$L���G��IƸL�uM������L��`D��H��H��L���<M����tHM��D��H��H��L���$M�������������L��
D��H��H��L���L��������1�����]��@��AWAVM��AUA��ATI��UH��SH��H��HdH�%(H�D$81�A�xyL��$���1���k����u4L�D$D��H��H��fo� L��)D$fo� )D$ �\L����tjD��H��E1�jM��H��L���}V��ZYH�T$8dH3%(�>H��H[]A\A]A^A_��1��
�tj����u$��E����H��L���a������H�EH�H;s�H�=j�C��I��H����I�F M�ȺH�}H�������I<$L�L$���RL��L�L$L���^��L�uI�<$L���E��IƸL�uM������L��^D��H��H��L���8K����tDM��D��H��H��L��� K������������L��D��H��H��L���J��������1�����[��@��AWM��AVAUA��ATI��UH��SH��H��8dH�%(H�D$(1�A�@L�t$x��F<5v~1���i����uD�: I��D��L��fo�f�t$ H��H���D$")$fo�)D$�RJ������jD��L��E1�jM��H��H���oT��ZY��H�1H���n���1��
�ph����u'A�F��L��
D��L��H��H����I����teA�GI�w <zt`I��L���o��M��D��L��H��H���I����t5�M����H�L$(dH3%(��H��8[]A\A]A^A_�@1���@I��L���i���L��	D��L��H��H���@I����t�A�G<v�>���v<ztqL��	<{�0���I�w �I����<Fu������L��\D��L��H��H����H�����p���M��D��L��H��H����H���������(����L�b	�����wY�����AWAVA��AUI��ATI��UH��SL��H��8dH�%(H�D$(1�A�@H�L$pL�|$x��D<7��1���f����u1I��D��L��L��foQH��)$fo�)D$�H����t$jE1�I��D��jL��L��H���9R��AZA[DH�t$(dH34%(�=H��8[]A\A]A^A_�DH��H���_���H�%��Hc�H�>��1��
�f����u/I��D��L��L��H�OPAQUE: H���D$H�$�iG�����q���L�K(L�C D��L��L��H���HW����t*�M���F���L��ZD��L��L��H���G����uZ1��#���AWL��QD����e��ZY����AWL��QD���J6��^_��AWL��QD���RN��AXAY����f�M��D��L��L��H���F������������jW��f.���AWAVA��AUI��ATI��UH��SL��H��HdH�%(H�D$81�A�xCL��$���1���d����uF�: L�D$L��L��foDf�L$0H��D���D$2)D$fo�)D$ �E��A����t jE1�L��I��jD��L��H���P��A��XZH�L$8dH3%(D���wH��H[]A\A]A^A_�1���d�����|1��
�$�c��D�$����H�D$H�$H�C H�$�(D�L$H�8H������I��D��L��L��H���GE��D�L$���d���M����A��P���fDH�C H�\$� H�
V�H��L�1��9E��I��D��L��L��H����D��E1Ʌ�A�������H�C H�|$� H�
��D�L$L�1�H�<$��D��L�$D��L��L��H���D��D�L$���	������@L�
XD��L��L��H��D�$�\D��D�$���z���M���R����U����AWM��AVAUA��ATI��UH��SH��H��HH��$�L��$�H�$dH�%(H�D$81�A�x��M��t0I�@ H�IcAH9�u�FfDIcAH9��3M�	M��u�1��
�b������I�G L�M����4$D��L��A�dAVH��H����`��ZY��teH�<$A�u8�H�\$8dH3%(D���SH��H[]A\A]A^A_�f.�L��VD��L��H��H���C������E1��1���la����u@L�D$D��L��H��foH���D$0)D$fo])D$ ��B��A�ƅ��X���jH��H��E1�jM��D��L����L��^_A���3���I�A1��
H�D$��`������H�|$�����1����`����������
1��`��A�ƅ��I�G L�|$� H�
�L��L�1��UB��L�D$D��L��H��H���A���������M��D��L��H��H����A�����f����v���fDL��D��L��H��H���A�������������L�xD��L��H��H���A���������s���L�t$H�
n�� 1�L����A��M��D��L��H��H���LA��A�ƅ���������L�D$D��L��H��H���&A����������	���L�$D��L��H��H��E1��A����A������Q�����AWM��AVAUA��ATI��UH��SH��H��XdH�%(H�D$H1�A�xGH��$�L��$��I�@ L�M��ux�H����AVD��A�uH��RH��L���]��ZY���sA�M���DH�\$HdH3%(D���0H��X[]A\A]A^A_�fDM�	M��t�IcAL9�u�I�AH�D$H���u���1��H�T$�d^�����I�G H�T$L�H���P���L�|$ H�
�P� 1��L���?��M��D��L��H��H���?��A�����5����?���1����]����uCL�D$ D��L��H��fo�H���D$@): )D$ fo�)D$0�H?��A�������jE1�H��H��jM��D��L���bI��^_A�������L��RD��L��H��H���>������E1�����1��
�D]����u~�D$I�G L�T$ H�
?L�׺ �L�T$L�1���>��L�D$D��L��H��H���>��D�L$���)���L�T$D��L��H��H��M���d>��D�L$�������L�D$D��L��H��H���<>���������?���M��D��L��H��H���>��E1Ʌ�A�������N�����AWAVA��AUI��ATI��UH��SL��H��XdH�%(H�D$H1�A�xBL��$�L��$���1���\����u\A�: D��L��L��fo�L�D$H���D$>H� Unsigne�D$8d32))D$foH�D$0)D$ fD�L$<�L=����tjI��H��E1�jD��L��L���mG��_AXH�T$HdH3%(�GH��X[]A\A]A^A_��1��
L�L$�_[��L�L$��tfH�C L�M����AWD��L��L��AQH��A�u�Z��ZY��t*�M��t�L�@PD��L��L��H���<������1��Z���@� L�D$D��L��H�Gauge32:f�t$H��L��H�D$�Q<��L�L$���^��������H�\$H�
��� 1��H���X<��I��D��L��L��H���<�����G���1�����DM��D��L��L��H����;������������L��f.���AWAVA��AUI��ATI��UH��SL��H��HdH�%(H�D$81�A�xAL��$���1����Y����uC�: L�D$D��L��fotf�t$0H��L���D$2)D$fo�)D$ �-;����tjD��L��E1�jI��L��H���NE��ZYH�T$8dH3%(�H��H[]A\A]A^A_�f��
1��DY��L�L$��t{H�C L�Ϻ H�
���L�L$D�1���:��L�L$D��L��L��H��M���:����t*�M���m���L�ND��L��L��H���a:����u]1��J���fDL�L$D��L��L��H�Counter3M��H��L�L$H�D$�D$2: �:��L�L$���C������f�M��D��L��L��H����9�������������J��f.���AVA��AUI��ATM��UH��SH��H��0dH�%(H�D$(1�A�x@��1���W����u@I��D��H��H��fo�
L��H�ress): H�D$ )$fo$)D$�J9����tjD��H��E1�jM��H��L���kC��ZYH�L$(dH3%(�H��0[]A\A]A^��1��
�dW����u$�E����H��L���N������I�D$(H�;H�@H�TH;Us�E1�H�-�FH��u	�^@H�;I�D$ H��I}�H�����F�01��8��H�H�BH�I�D$(H�H�L9�vI�E�D:H�I�D$(I��I9�r������@1������� I��D��H��fo�H��L��f�D$)$�8�����2���������H��@��AWAVA��AUI��ATI��UL��SH��H��8dH�%(H�D$(1�A�x@��1���V����u@�: I��D��L��fo�f�|$ H��L���D$")$fob)D$�h7����tjD��H��E1�jI��L��L���A��Y^H�T$(dH3%(��H��8[]A\A]A^A_�@1��
M�x �U����u ��E��t{H��L��� L����tlI�,$H�EH;s�I�}H�M��t<A�GE�H�����H�
��E�O�PA�GP1���6��I�,$I�}XZH���0��HŸI�,$�:����1��2���f�I��D��L��H��H�IpAddresL���D$s: H�$�F6�����R������G��@��AVA��AUI��ATI��UH��SH��@dH�%(H�D$81�A�x�D$NULL�D$��1��L���MT����uH� L�D$D��L��fo�	f�t$,H��H�ld be NUL��H�D$ )D$�D$(LL):�5����tjD��L��E1�jI��L��H���?��ZYH�T$8dH3%(u H��@[]A\A]A^��L�D$�F5�����F��ff.�@��AWAVM��AUATUSH��xH�|$ H�t$H�T$�L$dH�%(H�D$h1�A�@��<��I��I��1��H��A���@S����uMA� D��H��L��fo�L�D$@L��H�ld be BIfD�T$\)D$@H�D$P�D$XTS):�4��A�…�t)jE1�M��j�L$,H�T$ H�t$H�|$0�>��AXAYA��H�t$hdH34%(D����H��x[]A\A]A^A_�1��
L���R�������"f�|$@�L$H�T$L�D$@H�t$H�|$ L�D$(��3��A�…�t�M�N(M�F �L$H�T$H�t$H�|$ ��C��A�…��e���1��
�R������A�V(M�~ 1�A������L�t$0A���B�,�E1�D�t$8�fDA����A����D��D��A����t�H��u
�*H�H��t"9ku�L�sM��t1���Q������L�t$(A�� 1�H�
�S�L���33���L$H�T$M��H�t$H�|$ ��2��A�…��w���A����A���e���D�t$8H�D$0I��A��D;p(� ���A��?���D�: �D$@BITSf�t$D�D$F�e���@H�|$(�D$<A��1�H�
N�� ��2��M��L�t$ �L$H�T$H�t$L���.2��D�T$<������L�D$(�L$L��H�T$H�t$�2��D�T$<�����������"L�D$(H�T$H�t$H�|$ f�L$@�L$��1��A�…��DE��d����B��D��AVA��AUI��ATI��UH��SL��H��0dH�%(H�D$(1�A�xE��1����O����u>I��D��L��L��forH���D$$�D$ s): )$fo6)D$�,1����tjD��L��E1�jI��L��H���M;��ZYH�T$(dH3%(uyH��0[]A\A]A^�fD1��
�LO����u8I��D��L��L��H�NsapAddrH���D$ess:H�$� f�D$�0����t�L�K(L�C D��L��L��H���@���w����MA��ff.�f���H�� dH�%(H�D$1��D$AQM��L�D$�K��XZ�L$����H�T$dH3%(u��H�����@��f���H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�O����t �D$H�L$dH3%(uH��(����������l@��ff.����ATI��UH���SH���H��0dH�%(H�D$(1��D$H�D$H�D$ �21��H�D$H����H�T$ H�t$�I��H�|$H��ATL�D$�MJ��XZ�t$H�L$��u>H�CB�H��1��O��H�|$H��t�B��H�D$(dH3%(uDH��0[]A\�H����H��1��O����H�ٺ�H�=���Y����P?����H��'H��H��H�8�GF�����AWAVAUA��ATI��UH��SH��H��0dH�%(H�D$ 1�L�|$h�D$AQM��L�D$$�VI��AXAYD�T$E��t(1�H�\$dH3%(�nH��([]A\A]A^A_�1��I���AL������H�A�GL�n�<���<���L���<���M�����1���K��1Ʌ�uI���1��H�L$��K��1�H�L$��t1I���M�NPH����QL��H��M��RD��H���^_�%���I�Vx��f�1���K����u�
1��tK��L��@��uL���D��H��L��H����,������������@L���D��H��L��H���,�����jE1�jD��H��M��L��H����6��ZY���fDQR���O=��ff.�@��H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���cB��ZY��t�D$H�L$dH3%(uH��(�@���������<��@��AUI��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�-��H�$H����H�T$H�t$H��M��H���I��AU�A��ZYH�$��uCH�]��H��1��eL��H�<$H��t�>��H�D$dH3%(uBH��([]A\A]�@H�m>�H��1��"L���H�ٺ�H�=���wU����;����H��'H��H��H��H�8�G��@��SH��tH�H;J(u�H9J(tH�RH��u�1�H��[�f�H���H9H(uH��H�CH��u�H��v�H�H��H�����H��HE�H��[�@��AWAVAUATUSH��L�|$@A�G<���<���<���I��H�"'H��H��L��L��A��H���J��I��H��tS�1��gH��1Ʌ�tqI���I�VxM�NPH����QH��H��M��RD��L���^_H��[]A\A]A^A_�DjE1�jD��L��M��H��H����3��ZYH��[]A\A]A^A_�@I�����L���H��[]A\A]A^A_�V)��fDL�����L�)����QR�ff.����H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���c��ZY��t�D$H�L$dH3%(uH��(�@��������t9��@��AUI��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�E*��H�$H����H�T$H�t$H��M��H���I��AU���ZYH�$��uCH�
��H��1��I��H�<$H��t�7;��H�D$dH3%(uBH��([]A\A]�@H�;�H��1���H���H�ٺ�H�=���'R����p8����H��'H��H��H��H�8�D>��@��UH��AWAVA��AUATM��SH��XL�-['H������L��H������L��H������I�UL������dH�%(H�E�1���G��H��tqD�@DM�}H��L�-�
A��~4A�@��gH�H�Hc�H�>��fDL�-
�f�L�C H������D��H������H�������&����u+1�H�}�dH3<%(�!
H�e�[A\A]A^A_]��M��L������H������D��H������L���]&����t�H������H������D��L��L����9&����t�H��@����{0H��H�������,0��H������D��L��H������L�w��%�����I���L������H������D��H������H������M����%��������H������H��A�UI����������!�%����t��H�������K0�����D�I�ULD��@�I��L+������{4A�E���H������H�C8E1ɉ�����L������L������L������H�������fDH������H������D��L���H�������%�����Q���Dž����H������H������M��D��H��������$��������D�����H�C8D������B��M��A�W9S4�;M�yB�<�9�t�L���.��������L��Nj
H����������!�%����t������������D�H�JHDщ�@�H��L)�A�ՍD9E����H������H������D��L��H�������$�����`����������������������L�-�����@L�-����@L�-����@L�-�����@L�-�����@L�-�����@L������H�
����1��L���#�����H������L������L������H������H������H������D��L���H�������)#�����v����{@���L������H������D��L���H������L����"�����=����{@�M��H������D��L��H������I����"��������H������H������D��L��L�a��"��������{D���CDH���Hc�H�>��L�-:�H������H������D��L���H�������K"���������H������H������M��D��H�������#"�����p���H�CXH����L������I��H������H������D��L���H��������!�����-���H�������H������H������H���������tQE�MA�U��L�"�H�r�H�
;�LD�A9��.PH�
+�RH���������1��!��AZA[L������H������D��H������H�������5!���������M�m1�M�����KD��w��H��„��P���E�MA�U��L�z�H���LD�A9���H�
��PR�Z���L�-���T���L�-���H���L�-n��<���L�-]��0���L�-G��$���L�-6�����L�-#�����L�-
�����L�-����L�-�����L�-������L�-������L�-������L�-�����L�-g����L�SPM���H������H������D��L��H������L����������L���������)���1�L��H���H������H��H��D�hD��L������L������H������H���H��������L�P���L�H�@P1��@ ��H�������E�H������H�Ƌ
H����������!�%����t�AXAYH�����������D�H�JHDщ�@�H��H+������������D9E1H������H������D��L���H�������������.����L������H������D��H������H�����������������������\H������H�H������H��tUH������H������D��L�H�������d������������H�
�H���������1��x������H������H������D��L���H������H������L������������N���H������H������D��L���H�������������"���H�{xt|L������H������D��L���H������L����������L�CxH������D��L��H�������z��������H������H������D��L��L����R���������H���tL������H������D��L��H������L��������f���L���H������D��L��H�������������>���H������H������D��L��L������������D�CHA��C��
H�h�D��Hc�H�>��HDž����L�kXM�������L�SPM���l�������@-��H������H������L�Q�D��H������H������H�������>���������L�SPM��uH�������R����!���L����������L�-�H������H������D��L���H�������������0���M��L������H������D��H������L�����������H������H������D��L��L�U���������D�CLA��9�N	H�?�D��Hc�H�>��L�-M��S���L�-7��G���L�-��H������H������D��L�I�H�������#�����p�M��L������H������D��H������L��������E�H������H������D��L��L�����������H�{ht|L������H������D��L���H������L����������L�ChH������D��L��H�������u�������H������H������D��L��L����M�������L�k`M����H������H������D��L�V�H������������a�Dž����H������A�}H������H�L�QL�
i�A�u����LE�H�ߺ1�L�;����E�H��1�H��^�_H��H��H�X��������D9E6H������H������D��L�I�H�������j�������Dž����L������H������D��H������H�������4������������M�m�D������M��t1H������H������D��L��H����������������7�H������H������D��L���H������H�������������L�kpM���e�{DL���tL���H������H������D��H�������q�������Dž����H������H������I�u��H��� ��1�H��H���H��H��H�X��������D9E6H������H������D��L���H������������E�Dž����L������H������D��H������H�������������������M�m�D������M��t1H������H������D��L�4H�������}�����������H������H������D��L���H������H�������E�������H���tL������H������D��L�y�H������L��������Y�L���H������D��L��H�������������1�H������H������D��L��L��������	�H���t~L������H������D��L��H������L����������L���H������D��L��H������H���X�������H������D��H��L��L�k��4�������H������H������D��L���H������������U�H�������L������H����D������@M�$M���cH������M;G(u�f�M9G(�M�M��u�D������H�������)DH������H������I��D�M�$H������L��1�H�
N&���L��
H����������!�%����t������D�H�JHDщ�@�H��L)�A�׍D;E|1H������H������D��L�s�H�������������+��H������H������M��D��H������������!�����@H���L9@(uI��I�GH��u�M�O H�������
H�=��M�G(L���������H�����1�AP��L���L�����ƅ?���XZH������L��H�Ƌ
H����������!�%����t�H�����������D�H�JHDщ�@�H��L)�A�֍D;E|4������H������L�G�H������H���������������������H������M��H������H�������{�������H������D�I��M�?H������H���x���D������M�$���1�H�
��L���j��L��
H����������!�%����t������D�H�JHDщ�@�H��L)�D;E|,H������H������D��L�W�H��������������H������H������M��D��H������������������D���L��1�H�
r#����>���D���������L�-���	���L�-~����L�-����L�-y����L������H�
.���1��L���J�����L�-���L�-�����L�-�����L������H�
����1��L��������f.���AUA��ATI��UH���SH���H��(dH�%(H�D$1�H�D$H�D$�U��H�$H����H�T$H�t$H��M��H���I��AU�54��ZYH�$��tCH�p$�H��1��%2��H�<$H��t�G$��H�D$dH3%(uBH��([]A\A]�@H����H����1���f�H�ٺ�H�=���7;����!����H���&��H��H��H�8����D��H��(I��1�H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H��H�D$API��H���C3��ZY��t�D$H�L$dH3%(uH��(�@��������� ��@��H��t'SH��ǃ�H�;H��t����H�[H��u�[Ð�ff.�@��UH��SH��H���&H�;�)��H�H��t@H��1�H���;c��H�[H��u�H��[]�ff.�����#'Ð����#'Ð����#'Ð����#'Ð����#'Ð��SH����i��H��[�ff.����(�2��f���AWAVAUATUSH��x�H�T$H�L$dH�%(H�D$h1�H�t$8�H�D$@H�D$H�D$PH�D$XH�D$`���5I��H�|$8I��A�H�<$��� ��*�G�����I��H��DP���T$@��A�MM�e���TSЉT$@H�T$8H�ք����:�/H�\$@L��A�	@�����y�@����I�����ɉL$H�M���N�:����*����Dp���ɉL$L�M���3�:��L�m��*����DP��H�4$H���;f���MH�T$8H�D$DH�D$LA���E��0�D$@�����:H����E����I�L�����Dx�����t$@��L�e�4��Lq�H�։L$@�M���Y�:����H�|$X�f�H�\$@H�4$��H�߉L$P�e���]H�T$8H�D$@A���D$PH�D$H����:I���>������fDH�|$XH��t
���H�T$8H�D$H��H�H�D$�H�|$hdH3<%(H����H��x[]A\A]A^A_�@A�MM�eH�T$8�D$D���z�:H�T$(�L$'H�T$�����~��H�T$�L$'I��H�t$(H����@H�4$H���d��H�D$DH�D$LA���E��0�D$@�ML�mH�T$8���E����:t:E������H�l$8H�\$@�
D�����H��H���d��H�T$8A�ǀ:u�H�|$XE�������D$dH�\$1�H�;H�|$������H�4$H����c���D$PH�D$HA��H�H�D$@�H���@H�4$H���c���MH�T$8H�D$HA���D$PH�H�D$@���^��������:�������D�:�����2���f�L���&����:����w���f.�������1�1��������f.�AWI��1�AVAUATI��USH��H��xH�T$L�$dH�%(H��$h1��n(���1��D$�^(���D$0H����M����M�/M���
�W��I��H�D$PH�D$L��M��I��.H��1����H��t�H�h�I��DP��@I� H���$$�����|M�M��u�M��L�d$`H��M�O L���S��L��1���
��ZYL��Ƅ$_�!��1�H��$hdH3%(�H��x[]A\A]A^A_�DI�G(I�4$H;4$�{���M�oM����I;E(t��fDH9B(uI��I�UH��u�H�L$H��I�$H���UM�}H��M������M��I��M�M���3	I�G`H�D$(H���e	D�T$L�|$P�D$4@BH�D$ L�t$E��L�|$L�|$(�D$;H����M���� ��U	I�������n��H�D$ H�����PD���nH�
����Hc�H�>��H�t$1�H�����H�T$P�:�`���I9G(����M�M��u�M��I�$H;$�<���H�L$L�|$ H��H��I�$I�?�Y	E1�H��H���-	L�|$(H�\$PL�t$L�,$H�$H���+@��'�u�i��0@��	��.H��E1����H��t�L�xH�4$1�H������H�T$P�:��I�$L9���I��I�$M����L���M���!���E1�I�����I�$H��H;$�8L�|$(1�M���>fDD�D$I�E��u
I�<�waH��H��L��I�M����H�����.H��E1�����H��t�L�hI�H�t$1�H��M�$����I�$H�D$P�8t�L�d$`H��I��H�D$0L����p����.H��1��i���H��t�H�XH�t$1�H�����H�T$P�:�VI�$H�JH;$�DI��H��I�$H������H����L�|$(E1�L�<$�?I�$H�rL9�sfH=�v�|$;uWI��A��H��I�$H����A�����.H��1����H��t�H�hH�t$1�H�����H�T$P�:t�H������.H��1��w���H��t�H�X����UH��DP�H�t$1�H�����H�T$P�:uQD�L$E���YH�L$ H�QXH���G�ID���b���Y�JH9�w�JH9��H�H��u�L�|$(�H���H�D$ ���D$(����H�PXH��t
H�:��A��M��!�"����'�����T�D$(��������L�|$(A��M���;D�t$I���uI�<������H��H��I�A����H�����.H��1��+���H��t�H�XI�H�t$1�H��M�$��Y���I�$H�D$P�8t��^���I�OI��H�58�1��E1�������I�$H;$����I��H��I�$M�?�v���M��H��L�|$ 1����M���JH�D$ �����H�|$(H������H�|$ �L�d$`H�پ1�H�AuL����"�����@��"u�L�{@��"��H�C@8�tC��t?I�$I9�w�f.�@8�t%L9��y���I��I�$I��H�PI�$I���u�A�G���)<.�H���I���|���L�m������"�B�E�������8���H�UL���!�B��CH��H�s�������H��H��8�tz<\u��C���{����B��CH��H�s��u��d���H�D$ L�hPM���R���@I�}H���l����tM�mM��u��0���IcE����M��L��L�|$(�G���L��L��D$0�����H�D$ H�xxH����H�L$LH�T$XL���'��H�����T$L����I�$L�$L9�������r�H�|$X�H���
H��L9�������L�I��I�$��H��I�$H9�u׉L$<�-���L$<�C����<.�[���H���|$�����|$(��9L$(���1���H�U1Ʉ�t�I�$H�4$H9�����1��	H9�����I��I�$I����H��I�$I�U��u��q����B�D$(9B�A�D$(���������9J	9J����H�H��u����M��L�|$(H������1��8���I�$L9�H�T$�����"L���Z���H�T$L)�H�I��I�$�����.H��E1��2���H��t�L�hH�t$1�H���g���H�T$P�D$(�:����I�$H�H�LH;$����I��L��I�$M�����C�����'�*I�$H;$�����D$4H��I�$���H�D$ �����|$(�H������A�����HcD$4Hc�I��������@�����I�GhH�D$ H��t%�����H���B
��H�D$ H��tH�@`H�D$(�h���E1�H���F���H���6���H�D$ 1�H�@XH��t��u9H
�9H}�H�1�H��u������A�H���*����U���L�|$(����L������H�|$X1�H���d����R���������H�=�����1�����M�L�|$ M�������I��H���������H�=�����1����1����L�|$ �}�H�����D��AWAVAUI��H�=��ATI�̹UH��SH��H���������H��E1����H���$��A�ǃ����L���$���.H��I������H��H��t�H��D��L�����I��H��tnH��tiM�$1�Ic�D��H�t�L��D9�~H�P(H��H�H�@��H��u�Hc�I�$A9�|)WA�H��tL��H��H��L����A���	fDE1�L�����H��D��[]A\A]A^A_�A������-���DH��H��L�D$�?��L�D$����AWAVAUI��ATI��UH��SH�����t7��H��f��PЀ�	v�ƒ�߃�A��v<-ugH�����u܀�.t7L��L��H�5�H������u
H���&����H��[]A\A]A^A_�f�H�}L��L��H�5�������<:u�I��I)�I�����I��H��tTH��I��1�E��H�
u�H�����������{:H�{tH�{L��L��L���V�L���D$����D$�O���������V������UH��1�SH��H��H�7�&H�0���H��tH�x H��H��H��[]�5��DH��1�[]����AVAUI��ATI��UH��SH��
�?H�r'dH�%(H��$
1�@������L��f��p�@��	v�ƃ�߃�A@��v<-�aH�����u�@��.�|I��H����L���!��M�EL��H��I�EH��H��I��Mc�������M��tL���j
��H��$
dH3%(����H��
[]A\A]A^Ð1���d�����t���H�5U�&�>.tmI��
L������
H�5rL���|�L��
L���l�M��H���1���H���&H�H������H�>�&����I�E�I���I��H���
L���?����D����D�H��&1ۉM���
����
����<:�����L��H��L���:���������	��ff.���AWAVAUI��ATUSH��1�H��H�H�4$�H�D$�@
���
1�I���1
��H��M����E�<$E����L����A��.I��A��H����H�����I�H�����H�5�'M�tI9���H�=�'E��H�I��H�����H�ʺL��HD�H��1�ATR�S��H�C'H�� 1���{����u�:H���j�H��tmH�4$L��H���������H�=�
'���H��1�[]A\A]A^A_ÐH��t��}t�M����H��A�L�%%���I�������1��������u8H�4$L��H�������uKH�D$H�4$L��H��I�E�m����u/H�D$I�EH�9�&H�8���H�4$L��H�������<���H�=;
'�N
��H�$H��[]A\A]A^A_�H�-z��l���@E�<$L���;�E��I����A��.��	�A���6����L��L�5�	'����L��H��H��	'�C���ff.�@�����������wH�x��8���H�H�N��tF��t;��L�DH���fDL9�t#H��H�H��H���u�H)�H�1�����1���fD��H�9�=��t3H�JH���w,�p�1��DH��H�L�H���w�H9�u�1����f���;2��f�UH��SH��H�������uH��DH��[]�@H���[]�ff.����H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���e���ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�����t �D$H�L$dH3%(uH��(����������L��ff.����H��(I��I��1�H�|$H�T$H�|$H�4$H��dH�%(H�D$1�H�D$�����t �D$H�L$dH3%(uH��(�������������ff.����H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���e��ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(A�dH�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$API��H��Q1�����ZY��t�D$H�T$dH3%(uH��(�@��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���U��ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���U�ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���%�ZY��t�D$H�T$dH3%(uH��(�fD��������D��@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���5	��ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H������ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���%�ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H����ZY��t�D$H�T$dH3%(uH��(�fD�����������@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H�����ZY��t�D$H�T$dH3%(uH��(�fD��������D���@��H��(H�|$H�|$H�4$H��dH�%(H�D$1�H�D$H�D$AQI��1�API��H���	��ZY��t�D$H�T$dH3%(uH��(�fD�����������@U�����SH�����H��H��t/�@(�����hH���&H�8����H���H���&����H��H��[]��H��'AVAUI��ATA��USH��t;pu�o�D9`tbH�@ H��u�H���&1�L���/�H�sL��������uD9ctA���tH��0��L9�t���uҽ����[��]A\A]A^�f�H�X�@��~��h�H��H��H��DH��H9��z���H�;L���x����u�D�c�b���ff.�SH��H�H��t9H�H��t{H9�u	�t@H��H�BH��@��H9���@��u�H��t*H�@H�BH�c�&H9t[�@H�SH�[��H�O H�S H�5I�1�1����H�)�&H9u���f�H��t�H�CH�H�
�&H9u��fDH��tKUSH��H�H��t.H�fDH�{H�+H��t����H��H������H��u�H��[]���ff.�@H��t3H��H�?H��t(SH��H����H��H��u�[�fD��H��tKUSH��H�H��t.H�fDH�{H�+H��t�o���H��H���d���H��u�H��[]���ff.�@H��tKUSH��H�H��t.H�fDH�{H�+H��t����H��H������H��u�H��[]���ff.�@AVAUI��ATL�%�'UH��SM��t>L���
�H�[ H��t/H�;H�������u�H�{L�������ux[]A\A]A^���(�D�5''�"�H��H��t�H���B��L��H��7��D�sA��H�CH�C�C����L�c D�5�'H�"'[]A\A]A^Ð1�1��g����uH�{�
���L����
��H�C[]A\A]A^�H�KM��H��H�5ϻ1��(����fDUH��AWAVAUATSH��H�5Y�&I��H����`���H��dH�%(H�E�1��
H����������!�%����t�H��h��������D�H�JHDщ�@�H��H)�M�d�A�$A�$+��d����CD��t,��'�sH�V�1��H�
��Hc�H�>���L�K(L�C �1�L��h���H���H�
��&L�����L�k`H�y�&M����L���
H����������!�%����t�H��h��������D�H�JHD�H�
3�&��@Ƌ�`����H��D�x���d���L)�E1�A)�H��A�$1��)��L��X���H��P���I�]H���_��D�`E�E9���H��h���H������M�mM��tH��h�����H�=j��:���L��X���H��P���H��h����
�Y�����d����H�5��H�=_�&A�$���KD1�L�+���‰/�&M����H��h���L��1�fDH�@��H��u�Hc����h���I����I��H����M�M(��h���H��1�M��L�iM�mD�CL�	M����M�M(L��M;v1����L9	s�xH��9�u�D���1��Ic�D��H��L��o@��H��@9��D����L��X���L������C�&A�D$H�E�dH3%(�`H�e�[A\A]A^A_]����M��A�L��X�����d���E��D��M�uL��h�����tA�FD��u!H��h���H�
�&H�I�1�����A9�t<��`���L��A��I��H��h����?���D9�d����2������&M�u��u��f�A�D$ �L������H�@�Hc�H�>��L�ʾ��L�о��L�¾��L�����L����L�ݥ�H��h����
E��H�����H�߾1�H�
�&H�(��,��I�]�$���DžL���L�
a�f��s(L��h���1�H�
�&�s H����L��������d���A�$HcC@A[A]��x0H�@H�
��&�L��H��H��&H��L�@1����L�{PM���2H��h���H�T�&H�Nj
H����������!�%����t�H��h��������D�H�JHD�H�
�&��@Ƌ�`����H��E1�L)��L��p���)�H�4���X���1��
��L��P���M��D��X����&f.�H��h���L����M�$$M���\L9cPtH��h�����H�=Q��!��A�D$H��M�L$L����P�PPL�E�1��B�H��h����E�L��H�Nj
H����������!�%����t�AYAZH��h��������D�H�JHDщ�@�H��L)�D�BE�E9��.���H�
��&H�=��1�D��X������D��X���E�����DžL���L�
������DžL���L�
�����DžL���L�
x����DžL���L�
N����DžL���L�
.��p���DžL���L�
��Z���DžL���L�
���D���DžL���L�
ػ�.���DžL���L�
������DžL���L�
������DžL���L�
�����DžL���L�
b�����DžL���L�
B����H�{PL�
��H� �DžL���LD����DžL���L�
����DžL���L�
���n���fDH��h����
L��P�����L�sXM���������L���H�
�&����H��h���H�q��1��$���H��h���L�-�I���9��t)A�NE�FD9���H����L��1����f�M�6M��t`L9sXtL����L���-���KD��wոH�੄�t�A�NE�FD9�t1H�G��L��1����M�6M��u�L��h������@H���L��1��R����m���DH��h���H����1��.�������H����L��1������.������f�USH�����t3H���;��H�1�fDH����]��u�H��[]�f.�H��1�[]��USH��H��H�o H��t^H�������H���&H�H��H��tiH9�u�bf.�H��H�AH��@��H9�@��@��u�H��tH�@H�AH��[]�f�1��@H��H��H�5��1�[1�]����H��t�H�KH��H��[]�@AT��1�UH�-�&SH��H���H�H��u'�>fD������H�H�T�H�H�\�L��M��tH�{ L�#H��u�1���f�[]A\�ff.�ATI��1�U��SH��1��I�&������tHH�1�&L��H�5�L�H�-�&���tH��t�;u%L��H�5��[�]1�A\���[]A\�M��H�5��A��1�H�ٿ[]A\���SH��H�� dH�%(H�D$1�H���H����������!ʁ ��t����€�D�H�HHD���@�H��H)�Hc��T���߀�Z��������
��H�L$H�T$H��H��H�D$H�5e�P1�L�L$ L�D$�&��ZY�����D$�������D$�������|$��|$;v-�$H��H�=o��u�����$H��H�=a��\���H�D$dH3%(��H�� [�f��$H��H�=���,�����f.�H�L$H�T$H��H��H�D$H�5�P1�L�L$ L�D$�Q���D$l^_���#����$H��H�=m������i���D�$H��H�=d�����D$���������$H��H�=W�����|$����$H��H�=M��i���������ff.�@UH��SH���9�&��ueH���&H��tH��H���V��t:�����H��H�=5�����H�o�&H��uH�����H�[�&H��[]�@H������fD�s�H�5ٶ�H��1�������&�q���ff.�U��SH��H��PH����H�{X�c�H�{`��H�{p�����uH�{ H��t
��H�C H�{xH��t
�	�H�CxH���H��t���Hǃ�H���H��t���Hǃ�H���H��t��Hǃ�H�{hH��t
��H�ChH���H��t��Hǃ�H��[]�@SH�����H��1����H�{8H�C0H9�t�K�H��[�B�f�SH��H��8���H�{@�J�H�{H��H�{X���H�{H��t�
�H�{`H��t��H�{hH��t���H�{pH��t���H�{xH��t���H���H��t��H�{ H��t��H�{PH��t��H���H��t��H��[��ff.�AWAVAUATI��UH��SH��(H�
�&H�4$�H�T$L�D$�D$H��tL@L�mM��t_H�]M���fDM�6M��tHI�~H�����u�H����H��L����M��u�H���&�L$�H��([]A\A]A^A_�@H�$L�8H�D$��D$��~*H�]E1���A��I��D;t$tI�?H�����u��tH�]뀋EH�6�&H�|$�H�u�$������H����AVAUI��ATL�%P�UH��SI�]E1�H��u��H�CI��H����H��H�C(H9E(u�H�U �
L��H��������(L�C �
L��L��������L��H���L�����1�1����t�H��I�U L�K I��H�I�&L�E H�5��H�M(�01����XH�CZH���U���DH�EL�mI�UH�UI�mH��H������[]A\A]A^��H�H�MH��uWH�H�EH��t�H�XH�@H��u�H�EH�]H��H�����H�������[]A\A]A^�f.�H��H�BH��u�H�J��H�}H���a����H�;H���T���H�CM��t8I�FH���?���I�UH�EH�UI�m�L�mH�mH��u�H���w���I�E��ff.�f�S����Hc�H��Pu��-t1���_t[�fD�[Ð1���d�[�������f.�AWI��AVL�5ƼAUATUSH��H��(�$�M�I�WI��I�G�!I�E�Dh ��A�����I�GI�WH9�sjH�PI�WD� Ic�A��
u�H�V�&�I�E�Dh uɾ
H�C�
�
f�3H�D$�������:�H��([]A\A]A^A_�@L�����A���H�CD�#H�D$A�D$�C��~�-Ic�L�>��I�GI;G��	H�PI�W�I��E1�1��&DA�EI��I�GI;G��H�PI�W���
t�
����"�V��9,$�A��I�GI;G��H�PI�W�8�E��.����L���Y�������I�GI;G��H�PI�W�8��:u�I�GI;G��	H�PI�W�8���=����맸<����_����`��������D�������� �����!�u����"�k���I�GI;G�3H�PI�W���-�b1���������I�GI;G�x	H�PI�W�(� ��H�PI�W���Ń���X��
�OI�GI�W��-u	��-�z���H9�r�L���l����f.�H�PI�W�(���
�����I�GI;Gr�L���-�����������I�GI;G��L�KE1�fDH�PI�W�����L�����'�\�$L��H)ڍi�Hc�E����A����I�}Hc�Dw�WH9���A�M�qI�GI9G�<M��A��L��L�L$���L�L$���������'��I�GI9G�T���L��L�L$�O������������'L�L$��L��H)�f�H9��0I�GA�I9G�������L���������U�����'��L��M��H)��pЃ��I�}Hc�DwtnH9��;A�A�I�GI��I;G�����L��L�L$�����������'L�L$��L��H)����H��&��q���f�H9��-I�GA�I9G�;���L��L�L$�6������������'L�L$������f.���f�1�H��([]A\A]A^A_�A�M�qI�GI9G��M��A�����H9��$I�GI;G�����L��H�T$L�L$�������������'L�L$H�T$�����I�GI;G��H�PI�W���H�h�P����V�����Bu	E���5�'fA�	���L���:������"���1��$���A�M�qI�GI;G�3���L��L�L$�������W�����'��L��L�L$H)�H9��oM��I�GA�I9G�������fDI�GI;G��A����A�M�aI�GI;G�����M�����I�GA�I9G�n���L��H�T$L�L$�d������������'L�L$H�T$�����������/���I�GI�W��
�'���H�5��&�������b�������h�����A�������E1�L9L$u�@I��M�D�L9L$��H�D$H�D$H�P��J�H�Ѓ�	vэJ����xI��M�D���A�EE�����$�����L��� ����-�����������Y���H�D�$��$H�l$�D$���D$I�GI;G��H�PI�WD�0D���������L��D��購���T$�E���cD��H�
��&��L�4�M��u���M�vM����E;fu�I�>H������u�A�F���t$�
���H�PI�W�Hc�H�<A�DV t.��
tqM�uI�GI;Gr�L���{��Hc�H�<A�DV u�@H�$����S���I�u�>tA���L�u�E��w�'���H�$H���A�L������f�H���&��@�<-tI�U�DB�R���f.��C��t5I�U�DBu�0�����DB����H�D$H�D$���u�����f������H��H�=������L������lj$�����4$���e���A��=wf.��;���Ic�H��4�A�HcD$H��H)�H9�}D�uH������f��D$����L���������Z�����'��L��M��H)����L���������F���L�����������L����������L���������p���1����1�1����������k2�C2�$H��H�=Ħ��@�k2����L��E1��f��L�K�`���L���U������������'�6L��M��H)��l�����A���J���I��M�D��<���E1�L9L$tH�D$H�L$H�A�N�D@�L9�u�H�
zH�����H��1�������-���L��H�T$L�L$�������
�����'L�L$H�T$����A�����L�����������L��L�$�|���L�$���A�AA�I�GI��I;G�O������L���J��������M��A����D������}�A��$�=��������M���c���A������M���f���DAVAUI��ATUH��H��SH��dH�%(H��$�1�L�t$H�\$H�D$�=�����t;��tn��'ti��H��H���9��u�1�H��H�=�E1�����L�d$M�eH��$�dH3%(L����H�Ġ[]A\A]A^�D�����I��I�H��t�H������H��H��I�D$��� uG��H��H�����uK1��
H���0�I�H��H��B���j��!u:M�6������H��H�=�E1����5�����H��H�=�E1���������H��H�=�E1��w��������ff.�f�AWAVI��H��AUATUSH���H�t$H�l$0H�\$(dH�%(H��$�1�H�D$(�����H��L�����D$��(���
1�H���)�����H��L��I���v�E��A�ǃ�EtK���,��H�H����D�`H�D�hH�A��Dut��H��L���,��f.���H��L�����۳��1��
H���I��蓺��A�?"A������H��L�����A���c���fD�D$��tA��!ubD��H��L����A��A��!tD��H��H�=z����H�L$H�D$(H�H��$�dH3%(��H���[]A\A]A^A_�D��H��H�=a����@1�1�H�D$��H�L$���?���H�֪&H��H�5ǘL�H�ͪ&D�1��k������fD��H��L������D$�� �������H��H�=�����D$�u����\��ff.��AWAVI��AUATI��H��USH��dH�%(H��$�1�H�\$H�D$������H��L���P�1҃�����H��L���5���������H�l$E1��5f.���K�DD躀H��L������������„�tE��t��t̾����I��H�EH��t�H����I�GH�ED�hE1�H�m�@H�T$I�H��$�dH3%(H��uH�Ĩ[]A\A]A^A_�1�������AVI��AUATI��H��USH��dH�%(H��$�1�H�l$H�D$�����H��L����1҃�����H��L������������L�l$���t��t+�����H��I�EH��tH����H�CM�m��H��L�����������„�u�H�T$I�H��$�dH3%(H��uH�Ġ[]A\A]A^��1������ff.�@AVAUATUSH��H�$H��dH�%(H��$�1�H���=��&I������I��H����H�庀H��H�����������L��$��J���guI�t$XH���N���I�D$XH������H��H�����������„�����2��~:��>u���H��H���]���������H���C�I�D$ �@��#u��L��H���#���$��1���^�����f���L����I�D$p�T���@�L��H�������$��L�����I�D$x�%���DH�ߺ�H����L������I�D$���!�
1�H���)����=W�&I�D$�i��I�$H����I�T$ H���cH�P I�|$ 萸��H�x�G��I�D$ H����I�$H��H�r ����I�\$ H���\����#f�I�|$ I�$��H�CH��$�dH3%(L���2H�Đ[]A\A]A^����H��H��������H������H��H��I�D$ �����I�<$H��t�g�L��E1��\��v�����H��H�=ڜ���L��E1��;��U�����L��H�=x���L��E1����4�����L��H�=g���L��E1��������gH��H�=a��`��t���H�����L��E1����H��&�������H��H�=��%�L��E1�������`��AWAVI��AUATUSH��H��L�-Z�&�=`�&dH�%(H��$�1�E�}�`��I��H��tsH��D��H��H���P���t��u�uzf���H��H���0������u�@u\@��H��H������;t��u�;u:1�1��i����u=H��$�dH3%(L��uFH�Ę[]A\A]A^A_�DL��E1�����E�ED��L��H�5��1������D��@AWAVI��AUI��ATU1�SH���=E�&dH�%(H��$�1��I��H��te��L��L��I��I���>���L��L����,��Ł��t+`����������t���� �L�����H��$�dH3%(���{H�Ę[]A\A]A^A_�@��������}����t�|����t*��L��H�=�����L���a�����u������� �g���I�t$@L���Q���I�D$@��L��L���<����>���D����L�����,������t��p����������v��`���f.���L��L������Ń�(u��L��L������Ń� t9��L��H�=7����L�������@I�t$8L�����I�D$8�=���I�t$@L���|��L��L��I�D$@�g��Ń�!u��������fDAW��AVAUATUH��SH��H�t$H��$ H��dH�%(H��$�1�����tZ��H��H�=���Y�������1�H�=̘E1��C��H��$�dH3%(L���H�ĸ[]A\A]A^A_�@��H��H��E1���H�L$ L��$ H�L$I���CfD����
1�H������A�E��H��H���T�I��A��M9�����&I�EA�E����A�U������u�H�������H��H��I�E���� u���H��H��������1��
H���r�����H��H��A�E����!�Q�����H��H�=����������H��H�=`��������f�E���~���L�l$(M����A���/A�F�H�$E1�1�D$H�D$H�XA�F��D$�@�{���I��H����M��L��LD��
��I�G 9l$�7M����L������HcI�G����>I�WH�$H����L�8L�<$��H��;l$}LL�k�M��t�L�sM���s����;�t؋{���I��H���n���M��tL��f�H��X��H��H��u�E1�l$H�\$H��H��H�f�H�{H��t�b��H��H9�u��T���@L�<$�a��������I��H�CH�������D�
/�&L�v�L��H�
yx�A�A�
�&1�������fDH�|$���I�GH���,���Hc�������DI�wH�=��������A����H�W�&L�(M�������D$ A;E(t�M�mM����A;E(u�I�} �D��I��H�D$(������|$$���I��H���;���HcD$ H�|$I�D$���M�l$ I�D$������H��H�=���G�����H�t$�[H�=ȔE1��)�������H��H�=a��������Y��f�AUI��H��H��ATUSH���8���I��H��tpH�H����H���
�H��H��H�H��u�H�CI�EH�CI�E�CA�EH�C I�E H���H��t�J��H���B��L�mH��L��[]A\A]�M��t�L������H��L��[]A\A]�DH�@I�EI�D$I�EA�D$A�EI�D$ I�E I��$�H��t����L��M�������L��M���������ff.�AWAVAUATUSH��H�$H��H��H�4$L�d$0H��L��dH�%(H��$81��G����6�=�&�#��H��H������L��H����A�ǃ�[������D�},L��$���H��L������A�����A����[A������qA��������fD��1����.��L��H���~���P�1�RH�@H���>�E0��L��H���K�������L��H���2����9��H���H�����E4��L��H�������������H�MHL��$0H�L$L��$0��H݃���H�5��Hc�H�>��A�������A���(D��L��H�=�����H��1��]��DH��$8dH3%(H����H��H[]A\A]A^A_�@A����������fDA�����A����v���A������� �`�����L��H��������(�w��L��H�������� �^H�u@H�������L��H��H�E@�����!�5��L��H�������A���t���A��������������h�� �����H�u@H���S���L��H��H�E@�?�����f.������A����}���A����w����fD��L��H�=�1��U���x�����L��H��������u1A�D��L��H�����������>��uں3L��H�=Z����H��1��l��������L��H���p����$��L���_��H�Ex��L��H���H���������„��e�������H�$H��H���}���H�����D��L��H��������WƄ$0A��@��������A���L��L���[����H�5+�L���G�����L��H�������u�A��u�L��
H����������!�%����t�L������D�H�JHDщ��H��L)�Ƅ/�B��H�������fDH�}P�\H�t$H���x�H�EHH��������%L��H�=���W��H��1������p�����L��H��������$��1��������[���L�����H�Ep�J���f�H�}H�fH�t$H�����H�EHH����H�x�r��H�|$H�EP�����������L��H���H����\���E,�L��$���H��L��� ���{�����L��H�=܃�g��H��1�����������$����L��H�5���s���L��L���c����H�5s�L���O������f.�A���������L��H�=�����H��1��U�����A��������	������L��H�=�����H��1��%�������5�&L������D$����uH�}8���HcD$H�
0�&H�D$(H�D$H�@H��L�lM��tYL�t$(�6f�I�}H�D$����H�t$H�FI�A�u�pM�mM�6M��t���t���I�H��u�L�l$(L�m8H�}@����H�D$H�
��&H�D$(H�@H��L�t M��tFL�l$(�"@A�v�pI�EA�v�pM�6M�mM��t�����I�EH��u�L�t$(H�}`L�u@H��t�+���H�D$H�
�&H�@H��H�DH��tH������H�E`H�D$H�
��&H�@H�����tA�NjD$�E(���fD1�1������~�L��H�=�������@L��$0�H��L���p����$��L���_����L��H��H�Eh�K�����fD��L��H�=�����H��1���������L��H�=r��o��H��1��������H�u8H���T���L��H��H�E8�����;���L��H�ߺ�������L��H�����������L��H�=����H��1��u��������L��H�=������H��1��U�����D��L��H�=����H��1��4��������L��H�=����H��1��������.L��H�=��{��H��1����������L��H�=.��[��H��1������t����.L��H�=v��8��H��1�����Q����%�f�1�L��H�=_����H��1�����(������މ�L��H�=·����H��1��a�������'����AVAUATUSH��H�$H��dH�%(H��$�1�H���=
�&I���!���H��H����I�亀H��L��������)���!L��$��3���#����L��H�������������„�����2to��Qu�H�uXH���N�H�EXH��u��QL��H�=v�����H��1��g���H��$�dH3%(H����H�Đ[]A\A]A^�fD�L��H���@����$uqL���3��H�Ex�C���f.��L��H�������$ua1���O��������L������H�Ep���fDH��L��H���2�H���J�����L��H�=�����H��1�����*�����L��H�=̅���H��1��o���
����5���DAWAVAUATUSH��H�$H��dH�%(H��$�1�H���=�&I���/���I��H����I�纀H��L��� ��A�ă�5����L��H�����A�ă�$����L��H�=��G��A��t*H��$�E��u�f���t�H��H�������u�L��L��H���	�I��H��$�dH3%(L���(H�Ę[]A\A]A^A_�f.���L��H�=U�����s���f.�L���8����L��H���8��A�ă�6u0��L��H��� ��A�ă�$t.��L��H�=F��g������f���L��H�=��O��������L��H������A�ă�7u6H��$��H��H�����A�ă�$t,��H��H�=���������L��H�=ۅ���������L��H���v��A�ă�#���H��H���Z��A�ă�$��1�������tb��f���L��H��� ��A�ă�$��L�������L��H�����A�ă�#uT�H��H������A�ă�$uS��L��H������A�ă�Ot���������L��H�=C��
�����DD��L��H�=��������D��H��H�=���������H���j��I�Ep�������L��H�=ڄ����b���f�AWAVAUATUSH��H�$H��H���=�&I��A��dH�%(H��$�1�I�����I��H��tkH�\$��H��H������D9��s��t~��H��H�=���D$����D$���H��H�������t��u�L��L��H�����I��H��$�dH3%(L����H�Ĩ[]A\A]A^A_�f.���H��H���@���ƒ�߃�t	��'����H��H�������#uxL��$��H��L�������$�[1���;���������H��H��������2�����*�����H��H�=I��D$����D$������H��H�=��D$�����D$���f���H��H�=_��D$�����D$����f���H��H���P����t^�fD��6���I��H����H��&H�ߋA�G�����H��H��I�I�EM�}I�G�����"����H��H��������t���H��H�=o��D$�#���D$������H��H�=J��D$����D$�����L��H�=�����L��E1��`������H��H�=����������tg��H��H�=��D$����D$���L���7��I�D$p�J����L��H�������$u7L�������H��H��I�D$x����,����H��H������������L��H�=�0��L��E1�����:����k���ff.�AWAVAUATUSH��H�$H��H�l$ I��I�պ�dH�%(H��$�1�H��H��I���b�������ƒ�]�������_����F�CH�D$E1���[�9���{L�.�&L��1�����H��0=@�:�1��u�€��H��H�=�u�0��H�D$H��tH���ޱ��M��t]L��1��ϱ���Mf.�E1�D��H��H����������t+��u�A��uغ�L��H���`��A�E1��DA���f.���H��H���0����t��`u�`����H��H�����A�ƃ�a�b��L��H������A�E�� u�A�����A����s���1�L��H�����A�E��u*@��L��H�����A�E��E����D�_��L��H�=��������H��1�H�=U|1����H��$�dH3%(H���H�ĸ[]A\A]A^A_ÐH�޿{����L��H�����H��H��t���L��H�����A�E�f.�H��$�E1�H�D$H�$�H�4$�H�����������������GtO��#u�1�������t�H�4$�H�������$�v��H��H�=�~�D$�����L$�D��H��H���H����$����H��H�=Z~�D$����L$�d������H��H������ƒ�[�����H��H�������\��������H�L��L�$H�@���&�T$H��I�,H�L$�E����T$L�}L��H�EH�D$H�߉U��H�E(���L�$H�L$�� A�E��������I�tH������H�E�����L��H���I��A�E��(����L��H�߽�'��A�E�� �M�����L��H�=z1��g������H�|$�D$����H�<$����L$H�D$� �����L��H������A�E��t��L��H�=�|������L��H�����A�E�����5h�&H��$�ٯ��L���&�$����h���H�H�@H��A��U���L���D$�w���H���O����L$I�����H���H�=3|1�萾��������!����L��H�����A�E���������!�������L��H�=�p1��J��������H��H��������\���H���H�=�y1������W���H��H�=|����������H��H�����A�����I�t H���{��H�E ������L��H�=Jx1�追�������L��H�=W{1�觽�������H��H�=ey葽���\����ש���AWAVAUATUH��SH��H��(H�t$�DH�U(H9P(uH��H�CH��u�L�E M���;L��L�$���L�$��H�L�=�&M�4�H�$M���`1�H�\$E1�L��E1�L��I���4�M����I�$M����I�]H�I��H��tH�} H��H�s ���H���t�I��H��u�H�\$L�t$M��tI�EH�D$H����H�l$I��I�FH����H�+I��H����H;E(u�d�I9D$(�]L��L�eM��u��蚙��I��H���nL�hA�F1�L��A�G4A�G0I�G0I�G8�X���I�FH�M�&L��I�G I�F8I�FI�GPI�F@I�F8I�GXI�FHI�F@I�G`I�FPI�FHI�GhI�FXI�FPI�GpI�F`I�FXI�GxI�FhI�F`I���I�FpI�FhI���I�FxI�FpI���I���I�FxI���Idž�I�FI�G(A�F(A�G@IcF,��A�GDA�F0A�GHA�F4A�GL����H���#H�EI�GL�}I� H���#�e�����H�H���&H�t$L��H��L�<�I�O�0���M��t[I�w �
H�=TV�������I�t$ �
H�=4V�A��A��M��E����1�1��k�������M�6M������H�|$�
D賾��H��H�H��u�H��([]A\A]A^A_镾��DH�I��I���2���f�H�$I������I��1�fDI�T$ M�~H��L��H�$����H�$��tp�
L��H�=rU������q����
H��H�=TU������S���1�1�蓴������E1��:���H�C(H��I�FL�k���@A�D$4D�hMc�I��L�����H��H����I�t$8I�U�H���Ú��IcD$4A�V�T�I�|$8I�D$0H9�t�§��A�D$41��I�l$8�۲������H�t$L���V�������I�EI�GM�}I� H������1�����H��([]A\A]A^A_ÐI�?L�����L���]���L���ռ���0���I�<$L���ľ��L���L���1�L���»��I�G L��I�D$ I�I�$A�G0A�D$0A�G@A�D$@A�GDA�D$DI�GPI�D$PI�G`I�D$`I�GhI�D$hI�GpI�D$pI�GXI�D$XI�GxI�D$xI���I��$�I���I��$�I���I��$�I���I��$�I�GI�D$�ą��I�$H��tL�aH�IH��u�I�|$ H��t������Lc�H�5?�&L��J��I�D$N�$��J���L���2���L����������H��z&I�W H�5#j�I�L$ L�1��?�������1�L��耺��I�FH�u�&L��I�D$ I�F8I�FI�D$PI�F@I�F8I�D$XI�FHI�F@I�D$`I�FPI�FHI�D$hI�FXI�FPI�D$pI�F`I�FXI�D$xI�FhI�F`I��$�I�FpI�FhI��$�I�FxI�FpI��$�I���I�FxI��$�Idž�I�FI�D$(A�F(A�D$@IcF,��A�D$DA�F0A�D$HA�F4A�D$L�$���H�t$L��������1�����H�D$M�D$ H��E1�M�NI�N�H�5gH�P H�#y&�01��Ҭ��XZ���ff.���AUL�-�sATL�%�SUH��1�SH��H���r���M��H��H�߅�H��h�ME�1���1���D���M��H��H�߅�H��h�ME�1��±��1������H��H�߾��L�1sH��hMD�1�萱��H��H�߾H��h1��w���H��H�߾H��h1��^���H��H�߾H��h1��E���H��H��H��H�i[�]1�A\A]�"���f���USH��H��tL�H����tBH�-$|��R<%w6��HcD�H�>���1�1��j���f.�H�����u�1�H��H��[]�f�1������1Ҿ����1������1�1��o����D�1��\����f.��1��D����f��1�1��҇���m���D�1������W��������&�D��AVAUATUSH�H��tbD�jI��H��L�5�gH�K L�K(L��M�D$ H��1��ɯ��H�[H��u�I�$H��tH�;tD��H��H�����H�[H��u�[]A\A]A^Ð��ATUS1�H��tv�?tq��I���r���H���&��H��H��u�RDH�[H��tDH�{ H��t�L���ި����u��t*�S4H�C8��~�;(t��H�T�fDH��H9�t�;(u�H��[]A\�ATUH��S���uL����H��1�H��t/L�%ay&H��I�$H�C�ٴ��I�$H�H��u&��C�[]A\�@��[]H��A\�����D��AWAVAUATUSH��H�T$dH�%(H�D$x1��D$$���H���u�?H���iI��H����H�D$(A����1�L�d$0H�D$L�l$$�@M�^ M��L�\$���H��L���&���L�\$����L���љ�������D$$Adž�A9�vA��L����tnI�6H��tL��H�������T$$D9�sA��H�Ņ�tHM�vM��t?A������h����D$$�f.�苁��I��H���"���1�A�����H�D$H��tD�8H�L$xdH3%(H��uTH�Ĉ[]A\A]A^A_�fDH�L$E1��L��L���Р��L��D$����D$��u�D$(����1��藜��������ff.�f������?wHc�H�H��H�v&H�@�D1��D�����?wHc�H�H��H�v&H�@(�D1��D��U�����SH��H�r�&H��t H���	H�[ H��tH�;H���̥����u�CH��[]�fDH�������[]�ff.����AVAUATUSH��s&H�;t[]A\A]A^�fDL�%�&� 1�L��H�-�{&�H�H�=�{&H��t*�諭���E��I��H��tH�UI�,�H�� H�}H��u�H�x&H��Hf�H�@�H��(H9�u�H��w&H���&��1�H��&H��1�H�-k�&�H���H���H�H�=Qu&H��z&�A���1�H�=؟&H�
�v�Bԉ�=�w5DHc�H�>��fD�J�&fDH���Bԉ�=�v������u�H�=Al�5���A�ƃ���X����j���I��H�������H�=1l肰��E�t$0L��I�D$ I�D$0A�D$4I�D$8I�D$(A�D$@�����{��M�l$ M���L���%�����H�L��H�T�L�d�I�T$�������D�5�&H��&�̊��I��H�������L�`H�=�k���E�u0L��I�E I�E0A�E4I�E8I�E(A�E@����� {��M�e M����L��苫����H�L��H�T�L�l�I�U耯�����D�5g�&H�X�&�3���I��H���`���L�hH�=k�G���E�t$0L��I�D$ I�D$0A�D$4I�D$8I�D$(A�D$@�����z��M�l$ M����L�������H�L��H�T�L�d�I�T$�ޮ��D�5ߡ&H�С&L�#�������&������F�&������&������&
�����ڟ&�����Z�&
�����F�&	�q�����2�&�a������&�Q�����
�&�A�������&�1������&�!�����Ξ&��������&��������&����.�&�����֝&��������&�����J�&������&������&�����ڜ&�����Ɯ&�q���H�=�h�Ť��A�ƃ�������H�=�h譤��A���|���1����1�����1��������G������H�
�&SH��H��t;xu�=D9xt3H�@ H��u�A���H��1�H�
|hH������҅��H��[�DH�0H���=���H��[����AWAVAUATA��USH��H��8H�t$dH�%(H��$(1���~&1�L�-˘H�ٺ�L��蛯����A9�u�L�|$�H��1�H��gA��L�-��I�O M�G(���I�/H�D$ H�D$H���!�E1�E��~H�ٺ�L���+���A��E9�u�H�E8H�t$L�E D�uD�8L�}(L�D$葎��H��M��H��AVL�D$H��H�^g�1��j����M@XZ���tH��A�H��1��J���H�MxH��tH��A�H��1��+���H���H��tH�kA�H��1��	����}4sH�޿
覙��H�mH������H�D$H�(H��tH�}tD��H��H���G���H�mH��u�H��$(dH3%(��H��8[]A\A]A^A_�DH�ٺ	�H�=wf����}4�j���D�d$I��H�l$A�A�@I�D$8H��A��B�<8I���7���H�|��H��H��1�����E9t$4�L��D�d$�����œ��DAWAVAUL�-#�&ATUSH��8dH�%(H��$(1�H�l$L�5��&E1�L����H��L9���H�H��t�H�D$�@H�D$H�H�D$H��t�H�x ������Ѝ��H��t�H��H���`�H�H��t0H�T$H��H9�tH�H��u�H�L$H��A��A��H��A�L9��r���E���L���H�D$ H�D$�
I��M9���I�H��t�H�=�&��H�D$H�I�fDL�c H�kH��d�{H�t$M��L�{LD�H��H��dHD�裋��M��M��H��H��H�5�Z1�����H�\$H�H��u�I��M9��g���H��$(dH3%(uH��8[]A\A]A^A_�H�^�&�T�����@��AVI���AUI���(ATI��UHc�S���H��tAL��H���	���L��H����H�CM��tL�����H�CH�
�&H�kH���&H�C []A\A]A^�f.���H�=Ś&H��t H��藤��H���&H������ff.�@��SH�����t��t:H�Ci&[H��fDH�����u�H���T���H�i&[H���H�ai&L��k&�H�Ug&L����
H����������!�%����t�L������D�H�JHDѹ��@�L��H�5E�H��H)�H����F{��I��H�‹
H����������!�%����t�L������D�H�JHDѹ��@�L��H��H��H)�H�����z��H�7h&[H��f���駞���USH��H�[�&H��tNH���f�H�[ H��t7H�;H��蜙����u�1�1��o�����u+H�{�R���H���[]�fDH��1�[]��H��f&H�SH��H�5X�L�1������f.�AWAVAUATUSH��H�$H����E1�1�dH�%(H��$�1�H��$ I��H���S���H�L$ H�L$H�L$8H�L$�D��HtS��H��L���#�����<��������uՁ��!H��D�cH����H�D Ic�����H��L���Ъ��D9�t�H���C���D9��Ic�H�L$I��I��J�T!�K���H�L$D)�I��I�I��L�@�H��H9�u�H���A�ƅ��zA���/���f�D9�~:�S�Ic�H�L$ D)�H��H�H��H��H�DH�TD�����H��H9�u�H�-2�&�=�&H��t;}u�X�9}tKH�m H��u�H��$��Ն��H�����H��$�dH3%(�5H�ĸ[]A\A]A^A_�@��t�H�}H��t>H�|�&H9�t2�E��~&E1�DL��I��H��H�<蔏��D9eH�}�腏��Hc���(~��H�EH���n�����~K�s�H�L$ H�����H��H�T$(H)�L�D1�	DH�EH�r�H�H��H�4�r�H�E�tI9�u܉]����@H�D$�\$I�N�|8�H���&H��u+��H��tCI�4$�B�����t6H�[ H����H�;H���&�����u�H�SH�{H��t�I�4$��v����u�1�1��ߚ����u[H�{�š��H�{�ٙ��A�D$�I��A�M9��g���Hc\$A��E�������H���6�������H��������fDH�KI�$I��H��b&H�5zTL�1��X����x����H��H�=�]�,���@��H��L��踧����<������u�����H���>���c����c����<���ff.��AWAVAUA�ATUSH��H�|$H�=%�&dH�%(H��$x1��D$TH��t
�X���D�l$TE1�A�1�H��&L��E��H�D$@I��H�D$8H�D$0E�������tH�\$`H�|$��H���̦���D$TA��A�����A����A��;��~_A��A��H�\$`L�d$A��BuV��H��L���u����D$T��<t��u��D��A��E���i���M���\f�1�E��t�A����H�\$`L��$���H��L����w��H�|$��H�������D$T��J��D��H�5m\L���A����D$TD��A���x���f�A�����A���}#A����~���A���~
A����h���H�\$`L��$���H��L���:w��H�|$��H���h����D$TA��u	������j�|
H�
�g��Hc�H�>��f�H�|$L���s���H����
H�����D$TD��A�����H�|$H�T$TH��L���>��H���q�D$TA�����D��A���v���A�������������$���A����H�
��&H�L$ H��t(�k�&H�T$ 9Au
�9Bt	H�R H��u�H�T$ H�D$ L�5�b&L��ZL��H�hH�XI�H��H�����H��H��L��L�%�a&L�{ZI�$�ɠ��H��H��L��H��a&L�lZH�誠��H�D$0H�L$@L�|$XI�H�D$8I�$H��a&H��p������H��&H��tH�@ H��u�H�D$ �x��uH�
��&�@H�HH�|$X1�H�l$X耚��H�D$ H��$pH�L$�pL�x��~gL�t$ D�,$����I��A;^}CM�'E�oL��D��葋�����u�D��L���q���H����H��H�ǃ�I�����A;^|�D�,$H�|$X�dH��^&H�\$XH�(H��t$@H��H�����H�mH��u�H�|$X�,L�=я&D�l$LL�|$�H�ɓ&M��H�D$(I��H��M�}M����L�,$M��@I�H�����^�����Lc�E1�J�,�H�l$X�f.�H�T$XI��H��H��thH�u I��Ï��H�U��u�M���bI�$H�l$XL�mL�l$X1�J��L�-�&H�T$X�@H�|$�N����D$TD��A������M�?M���L���M��L�,$I��H�ږ&I9�����L;d$�&�$M��M��L�d$@I�~H�����n�����Lc�1�N�,�L�l$X�H�T$XL��I��M��tHI�u I�~�ێ��I�U��u�H��tfH�UL�l$XM�}L�|$XE1�J���$L�='�&H�T$X�M�6L;t$�r���L�d$�$L�d$���=���D�l$LH�l$(M���hfDJ���f�1��^���f�J������1��.���f�D�,$�D$TD��1�A�E1�A���(���f�D�l$LH�l$(L�d$XM��tI�$H��tH�D$XH�H��u�D�,$L�5IVI��L�%dVH�GMH�l$ �I��H�E�&I9�t�M�}M��t�H�=�&��H�D$XL�8I�Ef�M�G I�OH�޿H�UH��UM�OM��LD�H��ID�H��ID�1��%���I�W H��UA���M���H�5�L�H��HD�1���L�|$XM�?M��u��@���L�=y�&�c���@1�1�觐�������H�Z&A�H�t$L� �'|��I��H�5LH��M��1�苍�����fD�;1�H�=�KE1��Z���H�+[&�H��$xdH3%(L���ZH�Ĉ[]A\A]A^A_ÐH�,$H�l$���H��H��蠞���D$T��t��u�H�,$���MH�|$��H���u����D$T����H�|$L������H����fDH����H�E��H��H�H��u��U,�D$T������D��E,A�����H�|$L���H��u��T$T1�H�=�KE1��Q���H�"Z&����H�|$L���K��H���r����T$T1�H�=�TE1��
���H��Y&����A����L������H��[&�M�&H�
H�H��Z&H�L$0H�
H�H�[&H�L$8H�
H�H�L$@�����L�d$��H��L��� ����D$T�����u�D��A�A�����H�|$L��路��H��������T$T1�H�=�SE1��9���H�
Y&������H�|$L���s
H���Z����T$T1�H�=eJE1����H��X&����H�
)Z&H�|$�RL���'��H�������T$T1�H�=�IE1�詓��H�zX&��J����H�|$��H�������D$T��\�#H�|$��H������D$T����H�|$L��蕵��H��������T$T1�H�=�IE1��'���H��W&�����DH�
9Y&H�|$�QL���W��H���>����T$T1�H�=�RE1��ْ��H��W&��z����H�|$L���ú��H��������T$T1�H�=�QE1�蕒��H�fW&��6���H�
�X&H�|$�QL������H��������T$T1�H�=�QE1��I���H�W&�������H��H�=�QE1�����H��V&����f.�H��I��H��X����T$T1�H�=�P���H��V&D����D$TA���
�H�U&L��H�0蒅��L���ʋ��L�d$��&�
���1�H��H�=LE1�膑��H�WV&��'�����H��H�=�NE1��`���H�1V&�������H��H�=ME1��:���H�V&������:1�H�=QPE1�����H��U&�����T$T1�H�=GE1����H��U&�����$}��A������ff.�AWAVAUATUSH��H��芊��L�%[�&M��u�	f�M�d$ M����I�<$H��覆���Ņ�u�A�|$���H��S&I�|$H�5�RD�-��&L�8H��S&D�0��~��H��H����H�ǽ�/c��H�
pS&I�D$H��A�D$H�H�eS&�A�D$�`�&��H��H�D$�q��H����w��H�#S&H�T$D�-3�&L�8H�S&D�0H��uH�~T&�(���E��	�1�H����[]A\A]A^A_�D���I�|$��h����DAWAVAUATUSH��H�$H��(dH�%(H��$1�H���=��&I�����I��H��tqL�d$��H��L��袗��A�ǃ�����L��H�=eL���A��t(H��$E��tf��H��H���`�����t��u�L��L��H��詵��I��H��$dH3%(L����H��([]A\A]A^A_�f.���L��H������A�ǃ�߃�tA��'uo��L��H���ߖ��A�ǃ�#u7H��$�H��H��迖��A�ǃ�$tW��H��H�=�H���������D��L��H�=K�������f�D��L��H�=�I�΍�����f�1��複��������L��H���<���A�ǃ�2��A��S�W��L��H�������D$����A�ǃ���A��Y���L��H�����A�ǃ�t$�_��L��H���ȕ��A�ǃ�"���L��H��謕��A�ǃ����t$L�������u��L��H�=�L�܌���f.��k���A�ǃ��^�t$L���C��������L��H���;���A�ǃ��/A��V�
A��T��A��#�q�����L��H������A�ǃ�$����L��H�����A��A�G����%��L��H��A��Z�P���軔��A�ǃ����t$L�����������L��H��苔��A���h����L��H�=�K�̋���������L��H���P���A�Ǎ@�1wH�@H��r�D��L��H�=�K胋�����fDL��H���}���A�����DL��H���e���A�����D�L��H�=BK�4����4���D��L��H�=�J�����3���H��谍��I�Ep�[�����H��H��藓��A�ǃ�$����H��H�=�E�ڊ������L��H�=�E�Ċ�������=-�&H��$��<p��L��H���р��������L������������L��蝄����L��H�߉D$�	���A�������L��H�=lJ�P����f���H�������L��H��I�Ex�ϒ��A�����D��L��H�=J�����+���A��S�������������������L��H�=|D�������,v����L��H�=E�ˉ������L��H�=�I貉������ff.�f�AWAVAUATUSH��H�$H��dH�%(H��$�1�H���=�~&I����y��I��H����L�l$��H��L���ޑ��A�ǃ�U����L��H���‘��A�ǃ�$����L��H�=�?����A��t(H��$�E��u���t�H��H���|�����u�L��L��H���ɯ��I��H��$�dH3%(L���.H�Ĩ[]A\A]A^A_�f.���L��H�=�H�����u���f.���L��H������A�ǃ��t��L��H�������A�ǃ�߃�����L��H���Ð��A�ǃ�#�MH��$���H��H��蟐��A�ǃ�$�V1���ׁ��������L��H���o���A�ǃ�2��A��L����L��H���I���A�ǃ��fL������������L��衁����L��H�߉D$�
���A�ǃ�M�a��L��H����A�ǃ�t%�@��L��H���Џ��A�ǃ�"����L��H��贏��A�ǃ����t$L����m��H��u��L��H�=�G���롐��L��H�=OD�φ������D��L��H�=�C踆�������L��H�=w=袆�����D��H��H�=^A苆�������tO�@A��V��A����A��W��A��&�IA��#u���H��H���ڎ��A�ǃ�$u���L��H���Ž��A�ǃ�N�S�����L��H��覎���D$���K�t$L����l��H������L��H���t���A�ǃ��P���L��H���ͥ��A���=�����L��H���E����P�A�ǃ�>wTH�@@H��sD��L��H������A������L��H���w���A�����L��H�=#F�K����b���D��L��H�='F�4����*�����L��H�=�E��������H��豇��I�D$p�(�����L��H��藍��A�ǃ�����L��H���{�����t&��t(��u�1�L��H�=�E輄�������D$뾃l$u���L��H���2���A���:�����L��H������A�ǃ�t"��D��L��H�����A�ǃ�"u\��L��H�����A�ǃ�tЉ�L��H�=%E�'���������H��H��貌��A�ǃ�$t7��H��H�=�>������������L��H���{���A���y���H���k����$L��H��I�D$x�V���A�������L��H�=�CA��蚃�����D��L��H�=�>胃���y�����o����L��H�="D�h����^�����L��H�=hD�R����H�����L��H�=�@�<����2�����L��H�=C�&�������A���@���D��L��H�=>@���������L��H�=iC�������L��H�=?C�ւ��������H���ATU��SH��D�C4E��aH�3L�cH��t5�������S4��uH�;t(�H�����L��M��u�[]A\���C4��u�H���1t��H��詆�����H�K8A�@�1�H�|�H��fD�9�t	���H��H��H9�u�D9��f����s4��t0���V���H�{8L�c0I9��E�����C0�p��L�c8�2���H�C8L�c0�����H�{8I9�u�����@�ff.�@��USH��H�Ww&H��tRH���DH�[ H��t?H�;H���w����u�{���tH��E&H�0��i���C�����H��[]�fDH��1�[]�ff.�@���gc�����AWAVAUATL�%
J&USH��H��&L9�tJH��u�C@L9�t:H�k H�{H�-�&H��t�o��H�;�o��H�{�o��H��H���vo��H��u�L�5bv&M����L�-v&L�%E&�:�I�4$A�~�i��I�^ I�>H�-v&�0o��I�~�'o��L��I���o��H��toM�~M��t�A�V��t,1�@��H��L�H�;H��t��n��H���A9nw�A�FM9�t
L����n���p���f�A)E�b���L�%kD&I�4$������jh��L�%�F&I�\$I��$fD�C�t6H���1r��H�{�r��H�{��_n��H�{�H��t�Qn��H�{H��t�Cn��H��0H9�u��L��1��+Y��H�$}&1�� H��H�y&H��t&�H�H�׹�H�k0�H�H��t&��H���H�H�;H��t��m��H�H��H9�u�H�=lt&�jt&�dt&H��}&H��t�m��H�8t&H��[]A\A]A^A_Ð���W������AWI��H�5�@AVI��AUATI��USH��dH�%(H��$1��m��H����H��H��A&I�庀L��H���H��A&L� �݆���Ń�uNH��$���H�������:t\H���4f��H��$dH3%(��uzH��[]A\A]A^A_�DH�߽�e����f�L���3W��뭐L��L���q��M��tM��L��H��>L���1��$z��H��1��e���q�����i����AWAVAUATI��USH��dH�%(H��$�1�H��@&H�H�$��m��H��t H��$�H�ƿI���e�����=L���u��H��H���UL��E1��^e��I��H��$@H�D$fDH���v��I��H����I�_H���R����~�A�O��#tҀ�.t̓�H�A�D<~t�<#t�H���1�M��SL�|$�,L��=�,L����X��Ƅ${L��XZ�u��H����H���x��H���
v��I��H���j���fDH��?&H�4$H��H�0��w��M��tL���5d��H��$�dH3%(D���tH�ĸ[]A\A]A^A_�f�H�T$ L���>d��A�Ņ������H��$H9D$x�����H�5�=L���1j��H��H���x���H��$@H�¾,H��L��$p��u��H�D$H�D$H�D$H�$�W�|$ ���|$
��H��M��L��<1�S�,��,L��A���nW��Ƅ$�L��Y^L����n��L�L$H�$1�I��L��H�5I<H���9�����t�H���b�������H�|$L��H���u����A������A��������E��H�
�;L��1�H�5�1��q�����f��f���ATH�5�<UH��SH��dH�%(H��$�1���h��H��H����H��=&I�亀H��L���H�y=&H�(蹂����uLH���,b��H��L����m��L���t��H�r>&H�H��$�dH3%(H��uCH�Đ[]A\�DH��H�5(;�1���p��H��1���a���fDH���S�����e�����SH�<o&H��u�-DH�[ H��t�{�u�H�;�at��H�[ H��u���{D��H�$<&�8tH��=&H��w&H�H���[�DH�=�w&���g��H�
g@&1�H�>0�H�=�w&H��w&�2k����y�H�5g0�1���o���f���������_��f���H��t'SH��H���r�����tH�߉�[�k_��1�[�@1��ff.�f���H�n&H��t;xu�f�9xt	H�@ H��u������~h&� f��h&�m�����t+�����@�����w�kH��s�
�fD���ff.�UH��SH��H���?�]R��H��t H�@0H��t?H�;��H�H��[]�@�UH�5�D�1��n��H�H��[]�@�UH�5fD�1��zn��H�H��[]�ff.��H���?SH��H�@H��t
�e��H�C@H�{0H��t
��e��H�C0H�{xH��t
��e��H�CxH���H��t�e��Hǃ�H���H��t�e��Hǃ�H���H��t�xe��Hǃ�H���H��t�\e��Hǃ�H���H��t�@e��Hǃ�H��PH��t�$e��HǃPH���H��t�e��Hǃ�H���H��t��d��Hǃ�H��1�1��_��H��[��d��@����H��1���p����t=�w!��H��������H���fD������H�H��Ð����`�������H�fSHc�H�>��@H�XK�H�TK��H�XK��H�DK��H�,K��H�1K��H�(K��H�K��H��A��L�K1����H�=�~&�5Q��H��~&H���f���SH���&��H��HD�1�H���&�n��H�ځ������H��HD�H��t[�D�[H�g�&�ff.���SH�D�&��H��HD�1�H�)�&�$n��H�ځ������H��HD�H��t[�D�[H��&�ff.���SH��&��H��HD�1�H��&�m��H�ځ������H��HD�H��t[�D�[H�w&�ff.���SH�T&��H��HD�1�H�9&�Dm��H�ځ������H��HD�H��t[�D�[H��~&�ff.���H��t'H��H����H�=~&�OM����}&H����ff.�@AVI���AUI��1�ATI��UH��S�l�����HM���?I�UX�H���21�A��Hcr�JH��I9�|Hc�I9��9ȉ�H�AE��H��u�A�$���H��Hc�� H��H�|��e��I��H����I��H�
4HL��1�H������L����M���H����������!�%����t��I�mX�����D�H�SHDډ�@�H��H��twL�-�G�1H�
�GH�����H��1���cM��H���{G��H�mH�H��t=D�ED�ME9�u�L��H�����H��1���)M������[]A\A]A^��C�}L���C��Re��L���_��1���1���f���H���������H��&��H�L��M�����
|&��u#�
L��H�=�p&�GK��H��p&H���H��H��{&��
PL���
1�H�=�p&�L��XZ��z&��{&H��p&H���f�A���
�1�L��F�
H�=^p&�L���Qz&H��H�Gp&�fD��u��
B{&L�
8���,����J���f���H�M7&SH���8�:`��H�ڿ[H��H�5�l1��g����ATUH��SH��H��
dH�%(H��$
1�H��t�Gh�H��t�El�H��t8D�Ml�$A���sQI��E���M�}h����L��Ƅ$�	�r��H�H��$
dH3%(�EH��
[]A\�@A�ً
Sz&H��&I��Mc�N�ȅ���H���L��
H�6z&L�:�
P1��RK���}hƄ$
��y&XZ���Y�����A��L��I��H��H��LDȋH����������!ʁ ��t�о
L��
H��������€�D�H�GHD���кH��1�L)�H)�L��J��������
L��L���H������
�L��1�L�rD�
�xJ��Ƅ$�	����fZ��fD��H��tH�H��t�im��f��ff.�@��UH��1�S��H��1�H��dH�%(H�D$1�H���"m��H�$��H��H�5Kj1��d��H�<$H��t�M\��H�D$dH3%(uH��[]��Y�����H��H����<<��ff.�����E������=���SH�� dH�%(H�D$1��x&H�y&��f���/b��1�H����h��H�|$3<$�i���8��H���7���H��H�5CHD�H��H�=�iHD�H��x&H��x&�'a��H�5�BH�=�B�a��H��BH�5�BH�=_i�I��H��BH�5�BH�=Ei�I��H��BH�5�BH�=+i�fI��H��BH�5CH�=i�LI��H��BH�5�BH�=�h�2I��H�sBH�5{BH�=�h�I��H�oBH�5oBH�=�h�H��H�`BH�5CBH�=#B��H��H�FBH�50BH�=	B��H��H�,BH�5�AH�=�A�H��H�BH�5`BH�=�A�H��H��AH�5�AH�=�A�|H��H��AH�5�AH�=�A�bH��H��AH�5�AH�=�A�HH��1����7?��1����&?��1�1���g��1����g��H�D$dH3%(uH�� [��W��ff.�����=�u&SH��u�z���H�{H��1�Hǃ�H��H)�������H�H�����Hǃ��H�C�CH�����=��H�KH�H���[�f����2v&Ð��SH���#a��1�1Ҿ�O��H��[�<;��ff.������u&��uÐH���1���V��H����g����u&H���f���H��tH��0&H�H�H�8�fD��H����AUATUSH��H�oH��thH�����I���C��H�}I��t-M��tXI�D$`H��tNL��H��Ѕ���H��[��]A\A]��Eu�H��tH�@XH��tL��H��Ѕ�t�H��1�[]A\A]�H���[]A\A]��1��ff.�f���1�H��tuH���tsUSH��H���WxH��H��tXH��P H��u�:f.��U8H��t(H��H�PH�0���H��t�U�������H��U1�H��[]Ðø���������f���ATU1�S�F0 t��[]A\�f�I��H���H���_���Ņ�uPH�CpH��t
H���H��H��tOH�CHI9�$�vI��$�H�CHI;�$�sI��$��K0 ��[]A\�A�D$l��A�D$h[]A\�A�D$l����������3��I�|$0�A�D$h�[���J���f.����w<�����AWAVI�ιAUI��ATI��UL��SH��H��0L�:dH�%(H�D$ 1�Ic@PA�H�D$jL�L$ �@��ZY��u&1�H�L$dH3%(�H��([]A\A]A^A_ÐL�L$�u�}TL����H��H��L��jA��L���3��AZA[��t���9���L��L��I���H�A�H9�HB�H��H��H�D$jL�L$�X@��AXAY���V���H��L��L��A�jL�M�H���)@��^_���)���L�A�0H��L��L��M)��U��������H���H��I��jA�L��L����?��ZY�����:R��f.���AWAVM��A�AUI��ATI��UH��SH��H��L�:���L�����2��^_��uH��1�[]A\A]A^A_��H�����H��L��L����A�L���V2��ZY��t�LuH��H��L��M��[L��]M)�A\A�0A]�A^A_�T��ff.�@��AWAVAUI��ATI��UH��SH���H�L$dH�%(H��$�1�H�H�D$I��H���H���S�x��I�D$�1�!fD�Ӄ�Lc�J�D� H�H��t,�x�t&��y�1�0�D$Lc�J�D� H�H��u�L�|$ M���DI��A��2tfK��H���L��L��L�@�p(L�H�p �PRH���8\��H�� ��u�1�H��$�dH3<%(�H���[]A\A]A^A_�DD�\$E��tf����E1��f�I��D9��SK��H���L��L��L�@�p(L�H�p �PRH���[��H�� ��u��h����L�ML+L$�H��L��A�0L����R��H�\$�{��cH��L�K8�H��jA�L��L���<��AYAZ�������H��A�L��H��jL�K0�L����<��_AX������H���L��H��jL�KA�L���<��Y^�������H��$�dH3%(��H�D$L�MH��L��L+L$L��D�@H���[]A\A]A^A_��Q��@�C�H�H�L� H�D$H���H9�����H������1��1�!��Ӄ�Lc�J�D� H�H��t'H9�t"��y�1�t$�0Lc�J�D� H�H��uىt$���H��$��H��H��A�CL��jH�\$ �L��L�K@�.��A_Z�������H��A�H��L��jL����L���`;��A[A^���d���H��A�H��L��jL����L���.;��AYAZ���2���VA�@L��jL���H��L���.��_AX������P�H��A����L���L��L���B��ZY���1��������)M��f���AWI��AVM��AUM��ATUH��SH��H��H�L$L��$0dH�%(H��$�1�H�H�D$8H�D$@3H�D$HH��H�D$M��u�<@L��H���md������H�I�H)�L9�r�L�L��H�I�?H)�L��H}�A��L�L��L+D$H��L��H����1������H�|$@L�3�S��H�D$8H����H�L$H�T$HH�t$@M��H�|$8�E�����ZH�D$8H�}H�t$HL�d$@H�D$I�H�|$ A�}PH�t$H�D$(�:��A�UPH���tH�x8�1�T$lI���H�|$PA�MXL+d$�D$h�H�T$pI����L$PH�L$HH�T$xI���H�L$`H�L$H��$�I��Ld$L��$�H��$�A�UTL�d$X��$�H�T$(H��$�L)�HT$ L��$�H��$�I��H��$�H��$�H��$�L��$��P8H�|$8H��t
�D$�OM���D$H��$�dH3%(��H��[]A\A]A^A_�H�|$8H��t�M��������f�H�5�+�1��=U��������fDL��H���,�������H�5Q+�1��U��������I����6J��fD��H����H���H����H�JH��������H��
��H�BH�
c6&H�T6&H3HH3H	�upH�
Y6&H�J6&H3HH3PH	�uUH�
N6&H�?6&H3H(H3P H	�u:H�
C6&H�46&H3H8H3P0H	�uH�@@H��H�������)�f��������f�SH�ZH�=d6&�HH���'3����u#H�SH����H��H��w
H��?��[�@�HH��H�=�5&��2���¸�����u�H�SHH��H��w�H��?[������AWL�3�0AVAUATI��UH��SH��H��dH�%(H��$�1��GL�l$H�L�t$(L��H��L��H�D$(��,��H���?H��M��$�H��H��H)�H)I��$�L���\,��H��H���L�|$0L�D$ L��H��H�D$ L��H���,,��H��H���H�L$ H����H�=���F^��IDŽ$�I��$�H����H�L��L��H��H�D$(�B��H�����D$A�D$H��$�dH34%(H����H��[]A\A]A^A_�@H��H�L$��N��H�L$L��I��$�H��H���<��H�L$I��$��m���fDH�=�(��N��1��}���DH�=�(��N���g����H�=�(��N���O����F��f.���H����SH��H�H�C0H9�tH��t
�8I��H�CH�{ H��0H9�tH��t
�I��H�C H��XH��tH��`H��t��HǃX[����H��HǃX[�fD����SH���c@��H��[�H��f.���H��tSfDH��xP��H��H��u�[�fD����AW1�AVAUATI��H��USH��H��HH�t$H��dH�%(H�D$81�H�A�T$H�D$0��'��H�D$H���*A�|$���H�|$I�L$�H��A��.M��H����I�L$0�H��H��A��
M��H����I�L$8�H��H��A���L��H�D$H����H�|$1ɺ0H���$'��H�D$ H��H����M��$�M���
A�O�����E1��)�I�?H�����OH��M�������I��H��L�3M�O I�WM�G(I�wSH����J��ZYH��u�M���A�D$J��L�3L��I��M��I�H��@H�H��u�L�D$(�'��L�D$(L��H+L$ H�\$0H�|$�0L�D$ H���5&��L�D$ H�|$H��A�T$L��H+L$L�D$�&��L�D$�|f�I��$�M��$��H��H�|$�^I��H��tII��$�A�H��H�Ǻ@�K:��H��t&I��$�A�H��H�Ǻ�8K��H��u3E1�H�\$8dH3%(L����H��H[]A\A]A^A_��I��$�A�H��H�Ǻ��J��H��t�I�L$@�CH��H��A��BJ��H�D$H�������f�H��I��H+L$ ���I���z���L�D$ 1������B�����AWI�׺0AVAUATUH��1�SH��H��H���H�|$L��L�D$L�L$dH�%(H��$�1��$��H���hA�H��H��H�ǺI���	J��I��H���@1ɺ0H��H���K$��H���%H�KA�H��H�ǺH�D$0��I��I��H������(��H�t$A�L��H�H���H�t$XH�t$(H��H��H9�HBºH�D$X�uI��I��H����L�d$P�s�{TL���6��L��H��A�L���-8��H���wHcSPH�|$`A�H��H��H�|$8H��H�T$`��I��H��H���?H+L$0�0H��L��H�D$ �B#��H���H�L$ �0H��L��L)��!#��H����H�E1ɺ0L��L��$H�D$P�L��H�D$H��"��I��H����H���L���L��H�Ǻ�R7��H����H���L���L��H�Ǻ�+7��H���uH�t$H�D$XH����H�T$H���5��H�L$HL$XH�L$XL)�0L��L��H�D$P��G"��H���!H�E��{PL�d$XH�D$X�P.���SPH���LH�x@��H�|$ �KX�T$|M)�H���H�t$L�|$h�L$`H��H��$�H���L)�H��$�H�|$(H��$�H���H��$�H�|$8H��$�H��H�L$pH��$��ST�D$x���$�H��L��$�H��$�H�T$HL��$�H��$�H��$�H��$�H��$��P@�H�5	!�1���I�������H��$�dH3%(uWH���[]A\A]A^A_�L��H��H���2��H��H�D$XH���n�����H�5��1��eI���������>��f���AWAVI��AUI��ATI��UH��SL��H��8L�:dH�%(H�D$(1�I�H����H����H����I�EhH�CH����̀H�CHH�H�����K��`�������H�5�/Hc�H�>��fDH���H�{0�uH�C0H�{8�uH�C8H�EH�D$ H���nH���uz���trI���H���H����H��t��?��Hǃ�I���H���D��H���H����I���I�uxH��H��H�L$�M��H�L$H����CI���H��L��H��L���/�����_H�����H��L��L���A��L�����^_���+H�H���L��A�H��L��H�D$ jL�L$(�7*��ZY����M�$A�0L��H��L��M)��?������1�H�|$(dH3<%(��H��8[]A\A]A^A_�I�>1ɺ0H���N��I��H����H�H�L$�H��A�L��H�D$�C��H���^H���L���H��H�Ǻ�2��H���7H��H��H���/��I��H���H�;wH��I�>H�t$ �0L)����M+&1�L�e�&���f�1��+�$I����u@H�H���-���1��,�I����u#H�H������1��-��H��������f�A�El�����fD1���H���������H�CH���H���2H���H�C��H�cH����H�EH�D$ �%���H���H�{8�H�{0��A�El����������7f�H���f����=��Hǃ�I����J���A�El�����H�L&����������I�Eh�C��`�����w¸H�������R� t�H�{8�UH�{0�T���H���uI���H����H���u9I���H����H���H��tH���H���H����%��H����j�{P�� H��uH����hD�STE��uA��������CT�CI���H��E1�I��L��jL��H��L���$��AXAY�����A�El������������H�L$�R@���L$H��H����Efo�(&fo
�(&Hǃ�	fo�(&fo)&H�)&HP X0H�P@���@H�{0�t9H�{8������H�C8�|����I�E1�E1�H��H��L���)���2���@H�C0�fDI���H���H����6$������I���H���H����$���&����A���tI�����I���H�����3N��H���H���eI���H���H���A�El����������C���fDA�El���1���H�5"�1��IB��A�El��������������A����CP�������1��
��7��H�=�!H����!�����N‰CP���I���H�����kM��H���H����I���H����^���H�=���<M��H�=��H����)M��I����U���A�El����������P���A�El����������>���A�El��������,���A�El����������6��A�El���������A�El��������A�El��������ff.����AUH��M��H��ATH��M��USH��H��dH�%(H�L$1�H�l$@H�$H��tnL�H0M��t=H��I��L��A��H�I�UH�$H�UH�\$dH3%(��H��[]A\A]�H�x(t!H�H��I�UI�H�UH��P(���FI�u2H��H��I��H��L���F+��I�$H�$H)�HI�UH�M�fDH�I��H��H��H��H��I�EI�$H�E�+���V����+5��ff.���AWAVAUATUSH��XdH�%(H�D$H1�H�D$(H�D$0H�D$8H�D$@H���aL�gH�oA��I��H�_M����H������;H���2I��H���\H�}`H��t
�6��H�E`I�D$hI�I�$H�����H���t	H9��H����H����H����A�FI�VH=��5�!=��$|-������I�>I�VH�I�~`�*H�D$8����';��H�D$(H���|H�L$0H�t$81�H�L$H�L$(L�l$@H�t$H�L$�3f�I�F`H�T$@H9�s|E���I�NH�H�D$8���H�D$(H�D$0H��L��L��H�D$HH��AUL�L$ L�D$(H�L$���ZY�����t�I����(��I�F`H�T$@H9�r�A�|$l�H�L$8����t	�������I�>I�VH���A�FI���I��$�����A�D$����L��L���P4����������H����oH��I�H���9���1��+�@����u>I�H���&���1��,�?����u!I�H������1��-��?���������A�D$l�������Cf�A�|$l�H�L$8H�T$@������H�D$(H�MhH�UxH�E`H�D$0H�Ep1�H�t$HdH34%(��H��X[]A\A]A^A_����H�I�F`H�SHH9�vI�V`H��I��$�H9������I�V`���A�D$l����H�|$(H��t��3����������fDI����4&��������A�D$l��������T���A�D$l���������A���A�D$l����1����1��f�AUATUSH��HH�oL�gdH�%(H�D$81�L�oH�$H�D$H��H�D$��M��H�D$����+M���"�H����7��H�$H����C(H�D$��.��H�S`H��H��H�CH��L��H�BH�D$ H�S`PL�L$L�D$ ����ZY����H�C`�T$L��H�t$H�HhL�@p��*��H�<$A��H��t�2��H�$H�D$E����H�|$ �!��H�L$(H�t$ H��4�ׂ�CH�K@HK0H��H�s8H��H��H��?H��H)�H�CH�Hi�@BH�sHH)�H�KPH��tH�K`L�C H��H�Q��1�H�t$8dH34%(udH��H[]A\A]�H�<$H��t��1����������El��j���8�}h����H���6��H�CH��t�H�K`L�C H��H�Q�и������
/��ff.�f���H����SH���P�'��H��tH�@H��tH���H������H���H��t�'1��Hǃ�H���H��t�1��Hǃ�H���H��t��0��Hǃ�H���H��t��0��Hǃ�H���H��t�0��Hǃ�H���H��t�0��Hǃ�H�{hH��t�0��H��[�y0��f��ff.�@��H���+AUATUH��SH��H�GH��t������H��tH�@H��tH�}��L�mH�EM��tlI�}HH��t
�/��I�EHI�]H��tEfDH�CL�#H�{`H��tH�WH��H�u�L�C ��H�{`�YE��H��L���/��M��u�L���/��H�]H�EH��tH��ShH���?��L�eH�EM��t"I�|$ H��t�H�_(�G��H��H��u�L���7��H���?/��H���[]A\A]��1��D��AWM��AVAUATUH��SH��H��8�=FK&H�T$H�L$L�D$u���H����H����H������H������H��H���	.������H���H��tH��H��Ѕ��hH�Ch� ����I��I��H���'H�@������H������I�E�3��I��I�EH����H�S0�=H��H���H�H�@@H�@0H�@xHǀ�Hǀ�Hǀ�Hǀ�Hǀ�HǀPH��t*H��H�T$ ����H�T$ H��H���+��I�F0H���FH���H���v1���+��H���H��H�D$(�t��H��I���H�D$ � 2��H����H�T$ H�t$(H���:��H��f�A���I�Nx���5H���H���-H���H����H���H���
�@��I���H���`H���I���H���H���Z�@��I���H���-A�~���I�~����: ��L��1�I�Fp�#��A����+��H��H��t8H�@H��tH�T$ L��H���H�T$ ����H�H��t
L���Ѕ���A�����uAdž�I�EH�L$I�mH�\$H�T$pH�HI�EH�L$H�XI�EH�H I�EL�x(I�EH�P0H�T$xI�EH�P8H��$�I�EH�P@I�uH�EHH9��vH���I�uH�EHH9��vH���I�uH�>�zH�f�����NH�=���4?��H��H���(����L�������Cl�������H��&�H��UhH���E;��E1�H��8L��[]A\A]A^A_�H��H�T$ ��/��H�T$ H��t�H�sxH���M8��H�����DH��H�L$ �/��H�L$ H���u���H���H��H��H�L$ H�t$(�	8��H���H�L$ I���H��uQH��H�L$ �T/��H�L$ H���&���H�t$(H��H��H�L$ �7��H�L$ I���I����L���f�H��H�T$ �/��H�T$ H������H���H���v7��I����
���f.�L���)������I�u�m����1����'��H���{H���=��H���BI���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�I������f.�1�1��w'��H�������H���=��H����I���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�I����H���D�1��5��A������1���5�����H�A�F�����1����4����~H�Hi�@BI�F���fDI�F@B���L�������Cl���)����Cl�������������@H�=���<���|���L������
���f���SI��E1�1�H��jjj�T5��H�� H��H��tH�����H�[H��[����SH���t$(�t$(�t$(�5��H�� H��H��tH���b��H�[H��[�f���H��I��E1�1�jjj��4��H��(���ATUSH��H��dH�%(H�D$1��=�C&H�Ghu�[��H�k@H��t/�1��f%��H��H��tH���;��H��H�S@�1�����SHH�s0E1��C���H�
H�=5�k��I��H�{@tH��1�����H����&��M����L��H���&�������Cu81�1�L��H���	#��H����H�L$dH3%(��H��[]A\�A�|$,H�L$A����D$�8����t��Cl����������Ch������H���%�1��H�
4H�=*4���I������D�Cl���Cl�������H�{0��Ch�&+���Cl��\#��ff.����S���H��H��tH���V��H�[H��[�ff.�f���AWI��AVI��AUI��ATM��UL��SH���:��H��H��tAH�@H�T$@H��L�xH�CL�pH�CL�h H�CL�`(H�CH�h0H�CH�P8����H�[H��H��[]A\A]A^A_�ff.�@��H�e�%H�
H��t=H�H9yuH�H��H���f��fDH��H��H��tH�H9xu�H�H���A���1��ff.�f���SH��%H�;H��t@H�H��
��H�;H��u�[�ff.���H���3��1Ҿ1�����8���[���69�������)���G7��������$���H*���c
���7�������7�������J.���E������;���v���'@&�@&H�����AWAVAUATUSH��8H�$dH�%(H�D$(1�H���iL�H��M���!H�oH���L�gM���I��H�upI��H�����UxL��I�MhM�Ep���H�}`A��H��t
�@#��H�E`H�EpH�ExE����I�EHM�e%M���9A�Wl���H���DL���8����f�1�L��������u
H�upH���a���M����A�GlI�U�H1�����H��������L��L�$L��A��L�{@H��%A�Wl�1�H�|$(dH3<%(��H��8[]A\A]A^A_�fDH���%�����1����A�Gl������A�GhM��t-I�UL��L�$L��A��L�{�y���f�H��u1L�{�b���f�H��u!L��D�$$�_7���$���S�����f�A��h��K��H����H�|$H�D$����H�L$I�EH�AI�EL�i`H�AH�$L�qH�A �A(A�EI��Iiu@@BH�q0Ht$H��4�ׂ�CH��foD$H��H��H��?A8H��H)�HT$Hi�@BH)�H�t$foL$IHH�EH��tDH�H�H�EH�H�MD������A�Gl����L�{�O����I�w�k����H�EH�H�MH�M�L��L�$L��A��L�{����������1�1��0����ATI��UH��SH�������H��tH�L�`h�hpH�PxHcSH���[]A\�ff.�f���AWAVAUI��ATUH��SH��hH�t$H�T$H�L$ L�D$D�L$,dH�%(H�D$X1�H����E1�E1��D$(1��@��H����M��M����I�UM�eH��t�z,���t{H�D$;8|���8I�U�z,H�t$��#��I�EH��t�H�H��t��D$(�@}L�xPI��H�H��t�L��H�PHL	�t�H��uH�xPt�L9�u�H�pPL9�}�I����@H����L��M�����M���S���H�l$0H���;��1���)����t�D$,�-�T$(����M��L+D$8L��H+L$0I��@BH=?B~}H����H�D$���tQH�D$ H�L�@H�D$���H�\$XdH3%(�%H��h[]A\A]A^A_�DI�}�������f�H�D$ H9��~��fDH��I��H���|���H�D$E1�1ɋ���s�����f�H�Y�%L�(M������H�l$0H���0
���1���(���Å�ufDH�D$��>����D$,1ۃ��D$(u�E1�E1�H��H�|$@�f)���t$(	�tƅ�����L��H�D$@L	�tI9�t"�����L�|$HI�����L9@��������H�T$HL9������I�������f.���AWM��AVI��AUI���ATI��UH��SH��D�L$H�\$H��dH�%(H��$�1��%��H��H���W��D�L$L��L��M��L��H�����H��H��A���0����x4H���t��D��H��$�dH3%(u+H�ĸ[]A\A]A^A_�@H�5!��1��$�������ff.���E1��T���@��I��H��H��H��1��0��f���E1��D���@��I��H��H��H��1��Y4��f���AWAVAUATUSH��(L�gL�wdH�%(H�D$1�M����M����I��H��1��
��I�H����H�$H�CHH9���uH�D$H9CP����u"H�H����H��H��H�CHH9���t҄�t�H�C`�xP�
��H��tH�@(H��tH�{`��A�D$9C(��H�CH����L�C H�K`L��H�Q��H�H����H�EI9^toH�{`�v0��L�;M��tH��L�������6���H�����H�D$dH3%(unH��([]A\A]A^A_��H��L������u�H�H��t�H�$����I�n�f.�I��s����I�D$XM�D$`H���H����1���������H���%SH�H��t@H���@/��H�H��u�[�fD��L9�SL��HF�H9�HGޅ�~5L�L�
M9�uKD�[�1�I����L�TH��L�M9�u&L9�u�1�I9�t1�H9�����B�[��M9�[����fD��H9�sGD�V���~XL�L�
M9�uD1��L�D�H��L��M9�u.E��A)�E������H9�r1�H9����D�Q������fDM9����ø����Ð��ATI����UH��SH��dH�%(H�D$1�H�$��,��H����H�H���H��H��tP�,��H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H���CT����H�=�&�CP�\(��H���H���L�H�5p&H��Hǃ����H��H��L��H�M����H�$H��t^��uZH���H��t&H�xH��tH�p�H�&�����tL@1�H�L$dH3%(�H��[]A\�f�H�5��1�������fDH�$H����xu�H�x H��t�H�p(H��t��h'��H���H��tH�$H���H�p(H�x �D'��H���H��tvH�$H���H�@(H���H����v���9������0���fDH�5���/��H���w,�������H�5&���������H�5S������������"��f���H9�sOA��F���~yL�L9t�ND��L�L9uEH��H��D�H����E)�Mc�M�H9�r=1�H9����fDA�ʍA����I���A��f�E)ʸMc�M�H�
H9s������I���ff.���H9�HF�Hc�H������f.���H9�HG�Hc����ff.�f����H9�u?1�H��t8H��t.H��t)1��DH��H��H;L�u��)����1��fD��f���H9�w'I��H��H��J���������H�������f.���H��t[H��tVH��tQH��tL1�L�L9uAH9�HG��~4D�F��I���f�H�4�H��H;t�uA��I9�u���D��ø�����fD��AWAVAUATUSH��H����I��H���p�M��M��A��H�T$�"��H��H��trD�pL��L��H���(��uTM��tH�T$L��H�������u;H�UH��u
H�]�@H��H�H��u�H�H��H��[]A\A]A^A_��H������1���@����H�Lj��$��ff.�f���AWI���AVA��AUATI��UL��SH����L$H�<$1�dH�%(H��$�1��D$8����1��D$���H�D$`H�D$hA��H�D$p�=���L��L��H���� ��H��H��tgD�@DE��tA��~x1�E1�H�{xt
E1�E��A��A��=uA��wH�=SD��Hc�H�>��f�A�F�<E�T
H�u��Hc�H�>��A�F�<E�4
H�m��Hc�H�>��L$1���@���y��������A�����D$8���H�-��bf����HA���>�D$8���H�-E��:f.����pA���f�D$8���H�-&��
f.�����A�����D$8���H�-6���f.���tD�������H�t$P�
H���;����}H��$���H�D$P�8��A�L��$��B�H�<$L��L���!���H�|$`�7�����A�����D$8���H�-|��*f.��D$��tA���H�{P����H�D$x���I��H�D$`H���H�D$h�|$t:H�SPH��t11��	@H�t$x�J�ɍAI���9�|
��H�H�D$xH�H��u�H���w$��H�D$H���j	L�l$HH�|$H�5�L���P#��H��H�D$PH���yH�L$`L�|$ L�t$hL�d$(I��I��H�\$�H��H�hHI�H��9l$x�UHc�H�T$x9l$hL��L���������H��$�H�Hc�Hl$`1�H��=H�5<�H�����H)�L���E�"��H��H����1�L��H���+�H�T$PH��$��:�]����|$��H�D$H�XPH��u���H�H����H�{H��������u�HcCH��$��������PA���FA���<�D$8���H�-;�DA����H�
�D��Hc�H�>��f�����A�����D$8���H�-Y��D����H�D$`H����H�T$xH��H��H�D$x��W��H����L�L$xL�D$`�I�����fDH�t$P�
H�����}H��$���H�D$P�8��A�L��$��A���fDH�t$P�
H����}H��$�tHH�D$P�8u>A�L��$��C�^���fDH��$�H��H���������DH���D$8���������D$8H��%�H��$�dH3%(�)H���[]A\A]A^A_�fDH���@���D$@���u�H�=��H�������u�A�L�D$@�@����H�t$P�
H����}H��$��D���H�D$P�8�6���A�L��$��G�V���fD�D$s��t*A��t$A��t�D$8���H�-ź����E1ɀ|$s��E����H�{xH�L$<H�T$XH���c��H���aH����H�D$pH��H�T$8H�
��H��趪�����6H�|$`f�H��������"���y���D�D$8���H�-����@A�I�عF�m���D�����>���fD�|$d�-�|$x�R�|$s�M���H�t$p1��Q���H�\$D1�H�5��H��H���/���������A�I�عx��H��$�H��H����������A�I�عz����f�H��$�1�H�5��H��H���������c���A�I�عy����H��$�H��H������-���A�I�ع{�R���f�E1�E1���@����D$���fDE1�}����
H�t$PH���!��H�T$PH��$��:tHE����L�kPM��u��M�mM����I�uH�������u�IcEH��$�H�T$8H��H��H��蔨��������A�L��$�����@�D$8���H�-������@A��0���DL�
ط�H��$�H���1�UH��L������3���Ƅ$�H���D$H���XZ�������@L�
����L�
����L�
����L�
���t���@L�
v��d���@L�
W��T���@L�
���D���@L�
:��4���@L�
w��$���@L�
b�����@L�
H�����@L�
����@L�
����@L�
������@L�
$�����@���D$8����)���H�D$`H������H��E�ƺ1�H�
����L���H�|$`�
�����DH��$�H�
��� 1��H������I���=���DL�L$pI���v���fDL�|$ L�d$(H�|$����L�L$xL�D$`��H����H�1�%H�|$`��D$8�y���f�H�T$pH�t$hI��H�|$`�D����t0H�l$`H�t$p�����H�T$pH�t$hI��H�|$`�4����u�H���D$8������H�|$`����L�|$ L�d$(�D$8����9���L�����H�D$`�Q���Hct$<H�T$8H�
��H���`�����urH�|$XH��t����H�|$`H�|$X���fDH���D$8������H�|$`�~���fDH���D$8�������H�|$`H��t���H�|$�������LcL$<L�D$XL��L��H�<$����k�������f���H���%H�H��tH;xu
�#DH9xtH�H��u�H���%�����1����ATI��UH��SH���Z��L��H��H��H��[]A\�5��D��1�1������H��tH�G�f�1��ff.�f���H��%H�H��tH9�u
�fDH9�tH�H��u��Ð��H���%ATUSH�H��t-I��fDH�kH���H��tL�������tH�H��u�H��[]A\�@H��H��[]A\�D��H��tH�G�f�1��ff.�f���H��tH�w�f���H��tGH��tBUH��SH��H��H���	��H��H��tH��H��H�����H��H��H��[]�fD1�H���f.���1���8v�@H��&Hc��������ff.����AWAVI��H��AUATUSH��H��H��XdH�%(H��$H1�H�T$'���H���Y�|$'I������T$'I�FH��`�����A�VI�FH�����H��H��@����K���8���~L�l$@H�l$&H��L��M���L��H��Idž�����I��H����I���L�$�L���O��I���H����L��L��H���1���L�D$8H��H��I���L��H�D$8���H��tiI���H��H��H��A����H��tII���H��H��H��A���H��t)I�N@A�H��H��H�����H����������H��$HdH3%(��H��X[]A\A]A^A_�f���I�FHH�l$&I�NH��L��A�H���<�H��t�I�N0A�H��H��H����H��t�I�N8A�H��H��H����H���i���H��L���H��H�ǹ0���H��H����H�D$(L�t$E1�H�D$H�D$@H�$H�D$0H�D$fD������p��o�I��H���SH��L�p(L�`H��H�@�H�PL��M��SL�L$H�t$���ZYH��H����I�WH�4$L����������H�D$0���A�W�����H�5J���Hc�H�>��M��L�4$H�t$L��I�G(�H�|$(L�����H����I�G(L�$�M�g(L������I�G H���aL��L��H����M��tM�}M������H�D$L�����f.�I��0I�G(H�t$A�I�O H�|$(L���
��H��u���I��0I�G(H�t$A�I�O H�|$(L�����H���d�����I��0I�G(H�t$A�I�O H�|$(L���-�H���$����r�I��0I�G(H�t$A�I�O H�|$(L�����H������2�I��0I�G(H�t$A�I�O H�|$(L���M��H����������I�(��I��0I�O H�t$H�|$(M��L�����H���d�����I�(H��'v����H��I�G H��u���I�(����I�G H��tqH�t$H�|$(M��H��L���F��H��������NI��0I�G(H�t$A�I�O H�|$(L���m�H�������f�H�5��1�����1����L���^�����f�1��������������1����H�5r��1��~����D
��������_������D��AWAVAUATUH��SH��H��H��H�t$L�|$GH��H�L$8�0L�$L�-�dH�%(H��$�1�H�L��H�D$h�H�D$���H����H�L$HL��H��H��A��R��H����H�T$HH�t$x�0H��L��H�D$pH�H�UH�T$xL���'��H����H��H+T$pH)UH��H�KA�L��H������H���y�|$G�nH�SH�������H�K`A�L��H��H�����H���d�|$G�YH�S`H�����H�������H�4$H���H9��'L�D$`L��H��H��H��$H�D$`����H�����|$G�wH�|$`�kH�SHA�H��H��D��$H��H��H��A��HE�H�L$PH�SHL������H�D$H�����|$G��H�|$PH�G�H=�������I��H���0H�D$PH�D$ �CPD���<��A�A���LD�CT� �D�D$,�D��@�Hǃ� H���I��� ���Hǃ�@H���I����HǃH��I��H�����M������3M���*D�D$,H�T$hA��uH;T$�_L��$�1���L�L$0L��D�D$,���I�~HL�|$p�vL�L$0D�D$,E1��CXL��$�L�l$hH��$�D��$��$�H�C`D��$�H��$�H�D$L��$�H��$��D$ L��$���$�H�D$H��$�H��$�H�D$H��$�H���H��$�H��H��$�H�D$pH��$�H�D$XH��$�H��H��$�H�$H��$�A�VHA�ą���H�t$pH��t#L��H���u���H�D$pH��tL��H��H����M��tL�����H��$�dH34%(D���H�Ĩ[]A\A]A^A_�@H�K`�����E1�A��A��A�����@H�D$hH�t$pH��H��H�E����H����H�t$8H����H�H�UH��H��H�T$`H����A��H�D$`H�EE���<���H�T$PH�5-��1��!��H�=�����������M��tL�����A�������H�t$�L�L$0�<�H�t$I�~HI��H�D$pD�D$,H�t$hL�L$0�����H��tH���X���H�T$ H�5l��1�A�����������DH��H��H���"�A���(���f.�H�=��A����N��������O����H�=��A����&���������'���H�5h��1�����A�����������H�=Q�A����������������H�==�A��������t������H��H��L����LH�H�
'7H���A���HH�H�5g�1��X��������Y���f�A�����E���H�5^�����H�=o���������H�=��A����������������H�T$PH�5���1�A�������1��������H�T$PH�5���������f�AWAVAUI��ATI��UH��SH��H��HL�D$dH�%(H��$81�H�FhH�D$����H�C H�EH����cH�H��jH���aH����'H�=���+���������El�A�����H��$8dH3%(D����H��H[]A\A]A^A_��H����1��-�������1�L��H��I��H�T$���A�ĉ�����E���R1��&�n�����r����C=��d���H���H���T���H����F����:��=����z�3����z�)����z�����z����H���H����H�:��=����{���H����H�=4�%H�HH�P�w������H�����H���H���8���C�H�5��%H�=�&Hǃ�H�C0H�C8����I��H���%H���(L�Y&��H��H�5��%A��������H��L���o���#���H���	��H�5X��1����������H�=�����������H�;������������j1��,�����u�L�t$0L�l$L��I��H�L$L��L�����I��H�������H�EH�H���t	H9��g���1�H��H����CT�����CPH��t��Hǃ�L�|$Hǃ�M���^H�EPH��tL��L��L��L���I��H����L��L��H�����A�ą�������������L�L$H�D$L�|$ I���L��L�*�L��L��0L�$H�D$ L�t$(�B��L�$H��t-H�L$(L��L��H��A����H�����|$��HcD$(����f�1��+�D������L���H�;������s���D�{P���I��M����H�������H�@PH��tI�uI��D��H��L���H��H���f���I�F0H���Y�����Hǃ�G����L���L���a���H���H��tBL��L��H���G��t���f�D�elH��H��u�����L�3�\����El���A���o����El���A���_�����H�JH�R�H�=��%������I����y���H�5���1�A������/�������H�5���1�A������������ff.��AWAVAUM��ATI��UH��SD��H��8H�$H�|$ ����1�����1��A�����A��D��D	��H�$H�@H��t��L��L��H��Ѕ���H�$Hc�L��L��H�@@H������I��M���*A�D$0�L�4$HcL$xI�FH���H�T$pL��H��Љ�I�F H��t��L��H��Ѕ��(��� I��L�l$ M��H�D$A�GI�+�I���BM�gPH�t$L�����H�$H�H���'E1�L�l$E1�M��L�t$�Q@I�GH9Cu5L�sM����L�c M��L��A�WH��A�փ���A�H�I��H��tVH��I�?u�I�GH9Cu�L�s`M��t:A��t�I�GH9Cu&I;Fu I�>uE�GPE9FPD�D$,���I��L�l$L�t$tA���,E��u�E������L�����1�H��8[]A\A]A^A_�@L�uXL�e`M������A��M���5H�M���;I�H�$H9X�!H�{`���H����I��t�A���{���I��I�P�H����f���A�F0@u� f.�I�EA�N,9H,t3M�mM��u�����L���H��H��8�����[]A\A]A^A_�@I�UI�mI��H�$A�GI����H�EXH��t5L�E`L��A�WH�����C���H�$H�H���������I�������A�������H�t$I�P�n����x����}l����E9C(��M��tL�\$M��L��A�WH��A��L�\$H��������I���H���s���L�\$��L�\$H��H�����M���I���H��L�\$L���T��H���L�\$L�������I����.�L�\$H��H�����M���I���H��L�\$L�����L���L�\$����f.�L�X����H�4$H����I�OH@����A�GTA9FT����I���I9������I���I�����������I���I9������I���I��������������D�D$,A����I��I9������I���I������������w����L��L�l$�+�L�\$��������E9C(����H�|$ H���t�������I��H�|$ H�L$pL��H���w�Å����El��u�El���H�+�%�H�$H�@ H������I��tI��I�P���L�����H��8�����[]A\A]A^A_�H�t$I�P較�������L��L���Z���T$x�H�5��H�D$H��1��{�E����E��taH�|$�[�>��H���L�p�]L���$��H��t�L���$�A���u��u,����A��u��uH�|$���^���H�|$�R�����M��tL����H�|$������������H��I���c���M�������L���o��������Hct$xH�|$pH�������(���I�������A�������H�t$L��聂�����H�$H�@ H���K���1�L��H��Ѕ��9����T��������1�H�5���'�M���W����K���I���I9�������I���I���������7�������H�5���������ff.�@��AWAVAUATUSH��XdH�%(H�D$H1�H���%L�I��H�o�D$H�D$L�wM���
H���M����A�~,���^H��H�����
������I�GhA�F0�����IH�}HH���lH�EPH�MXL����H�4)�L9���H�L$L�D$L������������A�F0���I�GXH��tM�G`1�1�L�����L��A�VhH�}HH��t�D�H�EH@H�|$H�����%�������fDA�~,H�މ$�)���$H�T$HdH3%(����H��X[]A\A]A^A_ÐM�l$I�\$I�l$M���(H���H����E0�H��UxA�ą���H�����H���|�`0�H��H��L��D�`,L�K(L�C H�KH�S�s@�s8�s0��H�� H��H��t&H�����H�CM�E`1�1ҿH��PX�1�������D$H�D$H�5q��1��L���������f��v���Hc�1�HuPL�mHH�uP���fDHc|$����H�t$H��H�4$���\$���L$H����HcT$H�4$H�ljL$�T$�Z��D�L$�L$I��fDQH��L��L��AUL�����XZ��tA�Gl��t	H���%�H�uPI�H)�H�uP�H�E8�$L��H��tH�Ћ$Hc�H�UPH�������H9��fH���]��H9�����t E1�E1��m���D�[����$Hc��L�D$H�D$M��t�D�L$�;�����H�5��1����1��~���@I�D$I�|$f���)D$ M�l$H��H�$��)D$0��%���M������A�E0�������H�D$ H�������H�L$0L�D$8H��L���W��H�H�D$(H�����A�},H�����H�D$(H���DA�U0H�|$ ���7���A�U0H��t��H�D$ H�|$0H���z�����1����fDH�|$L9mH��H��t�$�t�H�UP�$H�D$H�������H�}HH��tLL��$��H�uPH�}H��$H���$���H�EHH�EPH�EX����f�H�|$H��u�H�}HH��t�$��H�EH�$H�EXH�EP����DL����H�������H�uPH�EHH��H�H�UX������H�|$ PL��L��H��WD�L$HL��L�D$@���H�|$0^��AXH���]����$�[��$�M�����&�H��H�EHH������H�EX�H�EP���@H�5���1��U�I�GXH��tM�G`1�1�L�����L��A�Vh���fD���A�F0����A�El���o����A�Uh�8����H����f.���������H�����1����A�N,H�5c��1���L��A�Vh���Z���H�$�Cl�������8�{h�v��H����H�|$ H��t�/�H�D$ H�|$0H������s������A�El����=������SH�����tH�S�Rl��t	H�
U�%�[�f���USH��H�/�%H�H��tH��@H��H���5���H�H��u�H��[]�fD��U�H��SH��dH�%(H��$�1�H��H����H��H������H������H���"��H��$�dH3%(u
H�Ĩ[]������ATI��UH��SH��dH�%(H��$�1�H��H����L��H���m��H��H���b���H�߉����H��$�dH3%(uH�Ġ��[]A\��2��f���1���8v�@H��%Hc������ff.�f���1���8v�@Hc�H���%���f���AUATUSH��dH�%(H�D$1��F2���H�7�H����Hc�H�>��A�L�%��%H����Ŀ��H���Hǃ�H��t����Hǃ�H������H���H���H��t���Hǃ�H�������H����C�H���H�C0H�C8H��t�c��H�=���7�H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H��H���tH��H�{P�Rw��1����D�������CT�ܿ��I��AL��A��H��H�$�h��1�H�L$dH3%(��H��[]A\A]��A�L�%C�%�~���fDA�L�%��%�f���fDA�L�%S�%�N���fDA�L�%��%�6���fDA�L�%��%����fD������X������f���H�U�%�1�H���H��Ð����%����SH����%H��t1������H�����=�%��1�H�5ً�K���V��聿�����������������1�A�H���H�5w������1�A�H���H�5W�����1�A�H���H�57������1�A�-H���H�5�����1�A�+H���H�5������1�A�,H���H�5����}���1�A�H�x�H�5����]���1�A�H�e�H�5�������1�A�H�U�H�5w������1�A�H�B�H�5W�����1�A�H�0�H�57���ݿ��A�1�H� �H�5��轿��1�A�H��H�5���蝿��1�A�H���H�5������1�A�*H���H�5������1�A�H���H�5����=���1�A�H���H�5w������1�A�	H���H�5W�����1�A�
H���H�57���ݾ��1�A�H���H�5��轾��1�A�#H���H�5���蝾��1�A�$H�q�H�5����}���1�A�&H�b�H�5����]���1�A�H�]�H�5����=���1�A�H�E�H�5w������A�#1�H�-�H�5W������x�賵��H��������H�����I�����������[�t�@�|���M���fD��H�ھ1�蹶������@��AWAVI��AUATUH��SH��H��(H�T$�;��H�߉D$诿��H�xP�f��H����I�ǍE��l$1ۉD$����DH�t$L��Lc�M��
��A�ؾH�
��H��H�����1��-��L��;\$�0�H����������!�%����t��E�$H�
��A������D�H�WHD�H�������@ƾH��1������l$�\$)�H���
fDI��D��L���H����������!�%����t������D�H�WHD���@�H��L9��XI���G�,�1���H�
ӁH������<����u�L���
H����������!�%����t�� �����D�H�JHDщ�@�H��f�:�B���f��H����������!�%����t������D�H�WHD���@�H��1��M���L���H����������!�%����t������D�H�WHD���@�H��L)���t]L����   ����u�L���
H����������!�%����t������D�H�JHDщ�@ƾ H��f�2�e���DL��  f��G;\$���B����D�L$�L��.Hc�f.�A�t���A�Dp@H��D�A�T;��A9���H��H��H��uθM�LA�
�|$L��H�5�4A�1�����;\$�����|$H�5�1����H��(L��[]A\A]A^A_�C���\$�  �Gf��4����B<Hc�H�H��<H�������݋\$��������ø
�|$L��H�5	4fA�G<1��0���p���H��(H�5���1�[]A\A]A^A_�
��f.���AWAVI��AUI��ATI��USH��HH�L$H��$�L�|$/H�\$0L�D$�0L��H��L�L$L���dH�%(H�D$81�H�EH�D$0�$���H��t_M��L��L��H��H���;�H��tn�|$/u?H�t$H�T$H��H�H�����H��tbH�T$0H�\$H�H�H��L)�Hc�H)U�1�H�L$8dH3%(uFH��H[]A\A]A^A_��H�=#�H�D$���H�D$��H�=�H�D$����H�D$������AWAVAUATUS1�H��xL�L$H��$�dH�%(H�D$h1�H�EH����H��M��I��A��H�EL�D��H�H��H��H�D$�0��L�L$H��H���A��A�����H�
*�Jc�H�>��H��H�����H��f�H��t!H��H�t$�0L��L)�H��H�L$�J���H�|$hdH3<%(H����H��x[]A\A]A^A_�@H��M��L�ɺH�����H���DH��M��L�ɺH�����H���r���f�H��M��L��H���_��H���W����H�ߺH��� ���H���8����I��H��L�ɺM��H�����H������fDH��M��L��H�����H������H��M��L��H���ײ��H�������H��M��L�ɺxH������H�����f.�H��M��L�ɺyH�����H�����f�H��M��L�ɺzH���z��H���b���f�H�\$ A�ѹ@1�H�ߺ�@L���蘾��H��1��N���O���f�H�=���4���5����j��f.���AWI��AVM��AUM��ATUH��SH��H��hH�2��$�L��$�dH�<%(H�|$X1�H�t$D��<��LA����H�
��Hc�H�>��DA�D��L��H��H�����f���tJH��A�6D��L��M��A�H��H���+��ZY���!M�A�0D��L��L+L$H��H�����H�\$XdH3%(�H��h[]A\A]A^A_��H��H��H��A���$�D��L���ƺ��^_�_����H��D��L��A���$�H��H������ZY�/����H��D��L��H��$�H��茭��AXAY����H��H��H��A�H��$�D��L��H��P�(��^_�����H��D��L��H��$�H������ZY���DH��D��L��H��$�H���\��AZA[���H��A�xD��L����$�H��H����AZA[�U���DH��A�yD��L����$�H��H���~���AXAY�%���DH��H��H��A�z��$�D��L���.��^_����H�\$E���@1�L�*���@H��蘻��H���P��1�����f�H�=���D$�0���D$����b��f���AWM��L��AVI��AUATI��UH��SH��8H��0dH�%(H�D$(1�L�l$L���f���H��tQL��H�L$ L��H��A��8���H�T$ I�H��tKI��L��L��L��H�����H��tRH��H9]HF]A�H�t$(dH34%(uHH��8[]A\A]A^A_ÐH�=��H�D$�O��H�D$���H�=N�H�D$�/��H�D$��c����AWI��1�AVI�ֺ0AUM��ATI��USH��H��(dH�%(H�D$1�I�H�D$H�H�D$�#���H����H�L$�H��H��A�H�����H��t_E�H��L��H���p���H��H��tH��H�t$�0L��H)�L�轫��H�T$dH3%(H��uH��([]A\A]A^A_�1������f.�DSI��L�Q���H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(u	H�Đ[����ff.��SI��L������H��dH�%(H��$�1�H��H��VH�߾�謸��Ƅ$�H��XZ�Z��H��$�dH3%(u	H�Đ[��y��f�SI��L�����H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(u	H�Đ[����ff.��SI��L�E���H��dH�%(H��$�1�H��R�VH�߾�请��Ƅ$�H��XZ�]��H��$�dH3%(u	H�Đ[��|��ff.��SI����L���H��dH�%(H��$�1�H��R�VH�߾��/���Ƅ$�H��XZ����H��$�dH3%(uH�Đ�[�����SI��L��������H��dH�%(H��$�1�H��H��jH��諶��Ƅ$�H��XZ�Y��H��$�dH3%(uH�Đ�[��s��SH��H�dH�%(H��$�1�H9�rH��$�dH3%(uIH�Đ[ÐH��RI��L���Q�����H���
���Ƅ$�H��XZ���������ff.����SH��dH�%(H��$�1�H�H��v8H��f��H�H�G��G�f�OH��$�dH3%(uQH�Đ[�H��H�����PL�
����H��L���1��Q���Ƅ$�H��XZ���1���6��fD��SH��dH�%(H��$�1�H����H�������yp���������L�O��L��1�L�Df�H��H��H��x�H	�H�I9�u�I�D	H��xLH��$�dH3%(��H�Đ[�@H�H�G���H�=���,��1���H��H��L�
��RL������H��1����1���Ƅ$�H��XZ����1��l����H�㹀�1�L�
[�L�����H�����H���D$���1��&���f���H��jL�
"�RL����j������ff.�@��H����H����H��t}AUATI��UH��SH��H��H����x$�H�H�I9�r<H��H�;[]A\A]�D��D�hA9�}H��蜷��H��tH�EIc�H�I9�s�H��1�[]A\A]�1��D��ATUSH�� dH�%(H�D$1�H����H��H����H����I��H����I���H�6H���;�7H��@�2@����H�H�T$H�H�p�軨��H���"H�t$H����H����H��H�~�I��H)�H�H)H�H�|$H��?f.�I��E�H�H��H��H�|$L	�H���u�H�H�����e��H��H���HL�I�$��H�=m����1�H�L$dH3%(��H�� []A\�DH�=U����1�������@�L��H�=-�����1�릺H�=�����1���H�=����1��v���H�3H�T$H�D$H�=�H������H�D$�O����$���@��ATUSH��dH�%(H�D$1�H���H��H����H����H��H����I���H�6H���;I��H�A�4$�F�@�2<v
@��G�H�EH��H�p��Ӧ��I��H���H�4$H��	��H����H��	��H�N�L��L��1�H�$L)�H�H)EI�1�H��I���r�H��I)�M�H	�L�$H9�u߹������H9�HG�H�;H�\$dH3%(��H��[]A\ÐH�=�����1��Ҁ8�q�����H�=������1���L��H�=p��4���1��H�=`����1�����D�H�=C�����1��b���H�uH�$H�=(�H�����1��C����L���ff.����AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H����M�������M��M����H�6H����I��H�A�u@��@�2��@��@����t�F�<��H�EH��H�p��ݤ��H��H����I�L�$$L9�ruL)�L��H��L��I���Q��M;&s	C�'L�$$M�&H�EL�L)�L)�H�EH�|$dH3<%(H����H��[]A\A]A^A_�f�H�=�1������L��H�=�1������DH�=޺1������H�=��1��]����y����H�uH�$H�=��H���8����T���螽��ff.���ATUH��SH�� dH�%(H�D$1�H��H�D$��H�������H����H��H�6H������ƒ������EH�L�d$H��L��H�p��O���H����H�T$Hc�H��w(H�3H�L$dH3%(��H�� []A\���}DuҀ8�u��x�O���w��H���=t�@�}L��H�xH�3H���բ��H����Hct$�DH�=s��4��1��x���DH�=�����1��`���D�H�=Y����1��C����H�3H�T$H�D$H�=1�H����H�D$����H�3H�T$H�D$H�=.�H���|�H�D$����ݻ��ff.�f���ATM��U��SH��H��dH�%(H��$�1�葶��H��t�@8�u$H��$�dH3%(uSH�Đ[]A\�D@��H��M�ṀUL�����H��R1���D���Ƅ$�H��XZ����1���)���f���SH��dH�%(H�D$1�H��va�?0H��ua�W�B��y.����9�}DH��H��H���H��t3�CH�$$�DDH�|$dH3<%(uH��[�f.�1���@�������茺��ff.����SH��dH�%(H��$�1�H�H��w8H��t{�H�G�H)H��$�dH3%(��H�Đ[�DH���wH�����WH�G����@H��vbf����H�Gf�W��@H��R���jL�
,���H��L�*�譩��Ƅ$�H��XZ�[���1��O���@H��RL�
�L�0�P���H��1�����H��L�
��RL��P���F���fD��SH��dH�%(H��$�1�H�>t3�H��H��H�.�Y��H��$�dH3%(uMH�Đ[�DH��H��E1ɺQL�ٹ��H�߾�迨��Ƅ$�H��XZ�m���1��褸��@��AUATUL��SH��I���H�I��H���������H���fDH��H��H��H!�H9�tH��uH��u���H��L������I��H����I�uH9���H)�I�,I�uH��I��H��H��8A�T$�I9�u�H��[]A\A]�@H���|/H���H��H!�H9��V���H���M����v����H�����H��H��H!�H9��"���H������1��@���f�H��1�[]A\A]��L��H�=0����H��1�[]A\A]��H��H�=
������u�I�u����ff.����AUATM��USH��I����H������I��H9ˉ�H���HG�H��I��H��H!�H9�tH��uI��u���L��L��苯��H��H��tCI�uL9�rrL)�J�D%I�ufDH��H��H��H��8�U�H9�u�H��[]A\A]�fDH��1�[]A\A]��L��H�=*����H��1�[]A\A]��L��H�=�����u�I�u�r���ff.����AU��I��L��ATI��USL��H��辮��H��tLI�4$H��H9�r-H��tH��M��t@L��H�����I)$H��H�D[]A\A]ÐH��H�=���1���t�H��1�[]A\A]�1�H������@��AVAUATUSH�� dH�%(H�D$1�H����I��H����H���I��H���sH�6H�����I�I��L�ň<��I�EH�T$H�H�p��=���H����H�t$H��I�L$L)�Hc�H�I)UH��u~I�D$I�$H�mI�T$H��+�H��'�I�$L)�H��Hc�H�U���H�=����1�DH�\$dH3%(�eH�� []A\A]A^�H�UH�z��OH��A�����H�UH��t\fD1��
@H�����8H��H��H��I��A��L�@��x�L9�wbH��H�Q�H���,���H�UH�z�H�}H��u�H�=��莻��H�]1��K���H�=���w���1��8���I�$I�D$���H�=ű�N���1�����H��OwDH��(I�$I�T$����H�=x�����1������H�=T����1�����H��PI�$I�T$���I�uH�T$H�D$H�=�H����H�D$������H�}�������AWI��AVI��AUATUSL��H��dH�%(H��$�1�M��tBH�H����I���cH�IH��t
H��(��H�����1��I��A�H�عL�d$E1�A�������A�I��H��A9�~.I�D���L9�HG�H��v�H=�?wrA�H��I��A9����L��L��D�L$�ͪ��H��H���o���I�7D�L$L9����H�
�@A�<��A�Hc�H�>��fDH=��wA�I���S���f.�H=����4A�I���/���fDH��H��H���ʀ�U�H��H���ʀ�U�H��H���ʀ�U�H�ڃ�H���]��ʀ�U�H��A9�~IA���P���H��H��H��H���ʀ�U�H��H���ʀ�U�H�ڃ�H���]��ʀ�U�A9��fDM)/H��$�dH3<%(H���H�Ĩ[]A\A]A^A_ÐH��H��H���ʀ�U�H�ڃ�H���]��ʀ�U��U�����]H���B���@H�ڃ�H��H���]��ʀ�U��"���@A�I�����f�H��L�QA�H�����f�L��H�=`�D�L$��D�L$������1�����H�=9�1�誷������H�=N�1�藷�����H��A��M�VH���O���蹯��f���USH��(dH�%(H�D$1�H����H�����u^H��H��tVH��H�6H��vb�H��H�H�T$H�p�蘕��H��tsH�|$uSH��H)�H)H�|$dH3<%(uyH��([]�H�=w��ܶ��1�����H�=s���1��H�=��謶��1���H�3H�T$H�D$H�=;�H���S�H�D$�w���贮��@����1��r���f���AWAVAUATUSH��dH�%(H�D$1�H����H��H����I��H����M�������M��M����H�6H�����7I��@�2@����H�EH��H�H�p��R���H��H����I�UL�4$L9���M��tpL��H��L���½��H��Ic�L�L)�I�UH�H)EH�|$dH3<%(H����H��[]A\A]A^A_�DH�=�1��R�����H�=!�1����H�=�����upL�4$�w�����H�=�1�����}����L��H�=Ϋ1��?��_���f.�H�uH�$H�=��H�����8���1��.�����@��AUATI��UH��SL��H��M��tlI����L��薥��H��H��tI�4$H9���M��uH�=e��`���1�H��[]A\A]�H��L��H���b���I)$H��H�D[]A\A]�fDH�=	��T$�h��T$��u�H����1�L������H��H��u�1��@H��H�=Ϊ�����y���M���d����{���ff.���AVAUATUSH��dH�%(H�D$1�I���FI��H���H��H���I��H���H��H����H�6H����A�4$H���@�2��<D��H�EI��L��H�p�譑��I��H����A�>DH�4$��Hcƃ�	�9�)L��L)�H�H)EH�F�H�$H���SI�1L��1�1��H��H��A��H��H��H��L	�A���Q�L	�I��I��I�M�L�$H9�u�H�SH�;H�\$dH3%(�H��[]A\A]A^�H�=n��d���1���H�=Q���1�뿺L��H�=9���1���H��vzH���
����8������@<vt<{��A�I�yL��H�uH���p���I��H����H�4$����A�9�����	H�=���
�1��%���fD�H�=���o�1������1�1�L�����H�uH�$H�=m�H���<�1�����蠩��H�uH�$H�=q�H����1�������AWAVAUATUSH��I���,H������L�iI����H9�HG�D��I9�LG�����A�	A���v����{�`��L��L���ڡ��H��H����I�6L9���L)�I�6A���I��J�D%f�H��H��L��H��H����H���M�L��A��H��H	�H9�u�H��[]A\A]A^A_�@H��A�%��t
���H9�u9����L��H��I��H����I��H	�E��H��%��H9�tH��uI��u�E1���v����I�l$�DL��H�����H��H����I�6H9�����vD�aH�if�I�H�p�L)�I�6A�������H�E�EI���(���I��H������I�l$�DL��H���s���H��H��tKI�6H9�����{D�aH�if�I�H�p����H��H�=j�H�D$����H�L$���N���f�1�H��[]A\A]A^A_���L��H�=����H��1�[]A\A]A^A_�L��H�=�������u�I�6����H��H�=��H�D$�q��H�L$���E���1����AVAUATUSH��dH�%(H��$�1�I����I��H����H��H����I��H����H��H����H�6H�����L�t$H��H�EL��H�p�腌��H����H�t$H���mA�U��x��D��H���������@��z��A�EzH�xL��H�uH���"���H����H�t$Hcփ�	�A�2H��E1�L)�H�H)UH��t^�L�N�L�0H��L�L$A���A��A���f���H��A��L���H)���A	��O�H�H�t$	�L9�uԉ�H��H�sL��LfDH�\$ WL�
W�1�QL����H��V��R�����Ƅ$�H��H�� 輬��1�H��$�dH3%(��H�İ[]A\A]A^�H�=��脬��1��ƺH�=أ�?��1���L��H�=���$��1�떀8�����	H�=�����1��u����H�uH�T$H�D$H�=w�H������H�D$�F���H�uH�T$H�D$H�=u�H�����H�D$����������AWAVAUATUSH��I���tH�I��H�iH��������H��H���HLغ������H9�HG�H��H��%��H9�t	H���S�����H��H��L�b�H����H��H	É�H��%��t	H9��L��I��u�A�L��DL������I��H����I�6L9��|��zE�gK�t'fA�I�>I�GH�W�L)�I�H��fDH��H��H��H���ۈJ�H��H��H����H	�H9�u�H��L�[]A\A]A^A_�D�����f�L��H�=��1�����m���H��1�[]A\A]A^A_���L��H�=Ρ���H��1�[]A\A]A^A_�L�j���A�A����ff.���AVAUATUSH�� dH�%(H�D$1�I����H��H����H��H����I��H����I��H����H�6H�����L�l$H��H�L��H�p����H���+A�$H�t$��DuH��t~��xu~H����H��H)�H��H)��A�H�L$dH3%(�H�� []A\A]A^�f.�H�=����1��źL��H�=�����1����8�t[��H�=j����1����H�=M��o��1��m�����H�=f��O��1��M�����xxu�H�H�xL���҆��H��tAA�$xH�t$���fDH�3H�T$H�D$H�=͟H������H�D$����L���H�3H�T$H�D$H�=ǟH�����H�D$���D��ATUSI��ubI�̺D�H���͘��H��H��tzH�uH��v[��x�Cf�H�EH�P�H��H�UA�$H�EH�CʉS[]A\�f��L��H�=S��,��[1�]A\�D�H�=6������t�[1�]A\�@��AVAUATUSH�� dH�%(H�D$1�I���H��H����H��H����I��H����I��H����H�6H�����L�t$H��H�L��H�p��,���H���CA�$H�t$��Dtt��yu{H����H��H)�H��H)H���H�� ��H�� ��H	�I�UH�|$dH3<%(�H�� []A\A]A^�DH�=<��,���1����H��v:H��tt��H�=��U��1�룐�L��H�=����1����H�=ҝ���1��j�����H�=����1��J�����8�u��xyu�H�H�xL��	���H��tDA�$yH�t$����f�H�3H�T$H�D$H�=J�H�����H�D$�����t���H�3H�T$H�D$H�=F�H������H�D$���ff.�f���ATUSH��dH�%(H�D$1�I����I�̺D�H���Օ��H��H����H�uH��
v��y�Cf�H�EH�P�H��H�UI�$H�EH�C��H�� ��H�� ��H	�H�SH�t$dH34%(uTH��[]A\���L��H�=�����1�����H�=o��������h����1���G������H��tH��u
1���ATUH��SH��L�&�v�����u
1�[]A\�H�3L��H��L)�H}�ӫ��H�UH�;� L)��O���������AWM��AVI��AUI��ATI��U��SH��H�dH�%(H��$�1�H�I���H��I�����H9�t4DH��I�UH)�I�D�<I��I�$I�I�����H9�uх�tL��L������I���I�$u�H)�H��AWP���H��1�L�
s�L�������Ƅ$�H��XZ襢��1��fD���L��L��蕲������I�$I�H��H)�H��v�I�UH��H)�I�D�<I�I�$I�uH�H)؃ȀH)�I���� @H9�tCI�UH��H)�I�D�<�H��$�dH3%(��H�Ę[]A\A]A^A_���t���I���I�$u�H)�H��AWL�
p�PL����H����1����Ƅ$�H��Y^蒡��1��w���I�$I+H��AWR���豙�����AWA��AVM��AUI��ATE��M��UH��SH��H��dH�%(H��$�1��.�����trL�MH�I9���E��tH��L������L�M��H�uoH��H��I)���AVL�O��1���H������Ƅ$�H��XZ���1��H��$�dH3%(u.H�Ę[]A\A]A^A_�H��I�UI)�H��F�$
�貘��f���AWI��AVAUATUSH��(H�t$`D�D$H����M�!I��H�Ӊ�I�������D��H��I���LL�L��H��?H�D$H�H��H�D$I�H��H9�t|I�6H��Lcl$H)�H�D�$I��M9�u'��I�6H��H)�H�D�$I��M9�t~I�H�H9�uۅ�t/L��L��謯����t I�H��E���D$�n�������H��(1�[]A\A]A^A_���H�=c����H��(1�[]A\A]A^A_�fDI�L�I�H��L)��3T$��tL9���I���|$L)�L�@�<L�L�l$D�D$��H��L��L��M)��,}�����\���H�L)�I�>�L���L��H�=ɔ�������H��([��]A\A]A^A_�fDL��L��蝮�����
���I�H��~����������L��L���w��������I�I�L��A������AWM��AVI��AUA��ATI��UH��SH��D�D$H�\$P�E����L��L���������|H�UI�H)�H9�r�H�L��H�UI�>H)�H��I<$�i���I��D��H��D�D$L��L���|����t3I�<$t,H��L��H�=˓�r������H��[��]A\A]A^A_�H��1�[]A\A]A^A_����AWAVI��AUATUSH��H�t$PD�D$H���7��I�	H�Ӻ����L�#I����H9�HG�I�L��L9���H��I�7H)�H��H��I�����I�L�I�H��L)ɀ<
yL9��I��L)�L��L�D�D$M)��H��L��L���{������H�L)�I�?txL��H�=���]������H��[��]A\A]A^A_�fD��tHL��L���q�����t9I�H�H��I�7H)�H�D�,I���D���I�H�H9�u�����u<H��1�[]A\A]A^A_��H�=�����H��1�[]A\A]A^A_�fDL��H�L$�����t�I�H�H�L$�����t�L��L���ȫ����t�I�I�L�����fD��E����y����AWI��AVI��AUATU��SH��H��(L�*H�|$`D�D$L�L$��L���#D����L��L���M�������H�I�H��H)�H��v�I�H��H)�H��H�I�I�H��H)�H��L�D�D$��H��L��L��M)��/y����t;H�L)�I�?t/L��H�=O�����������H�=_�誚��f.�1�H��([]A\A]A^A_��H�D$H�H���&H�|$`��H�|$`L���UH�|$H�t$`H�L���������H9�HG�I�H9���H��I�7H)�H��ȃ�H���I��u �Rf�H��I�7H)�H�D��ȀI���t4I�H�H9�uم��A���L��L��������.���I�H��fDH�l$`H�|$`��H��K���fDH�L$����L��L��蘩�������I�H�H�L$�>���H�L��L9�t2I�7H��H)�H���U���H�=ђ�D���H��(1�[]A\A]A^A_Å�������6������~���H�D$H�H�I��H�D$H�H�D$H�@H��(v
H���7���H��L�$�I�H�H9�txH��I�H)�H�D���I���u.���f�H��I�H)�H�D��ȀI��������I�H�H9�uՅ�����L��L��肨��������I�H�벅������L��L���_����������I�H��b���ff.����H��E1�E���lv������H�����ff.�@��AWM��AVI��AUA��ATI��UH��SH��D�D$H�\$P�E����L��L���̧�����|H�UI�H)�H9�r�H�L��H�UI�>H)�H��I<$����I��D��H��D�D$L��L���u����t3I�<$t,H��L��H�=?��"������H��[��]A\A]A^A_�H��1�[]A\A]A^A_����AWAVI��AUATUSH��(H�t$`D�D$H����I��I������I�Y��I��H9‰�HF�H9�I�EH��H�D$I�H�L$��HG�H��H9�tmH��I�7H)�I�M�H���mA��f�H��I�7H)�I�E�H��tyI�I�EA��H9�uم�t%L��L���j�����tI�I�E�D���P1�H��([]A\A]A^A_���H�=P�����H��(1�[]A\A]A^A_�fDH�|$thA��~*�=DI�7H��A��H)�I�E�A���I�I�EH9�uԅ��t���L��L��蹥�����a���I�I�E��I�I�EI�7H��H)ǀ<>��H��H+\$�|$vtv�|${��D�D$I�ى�L��L��L���s���������I�?��H��L��H�=X���������������f�������L��L���
����������I�EI�H��H)�H��v�I�7H��H)�I�E�I�EI�I�7H��H)�I�E�v�^fD���h���L��L��譤�����U���I�EI�H��H)�H��v�I�7H��H)�I�E�I�EI�I�7H��H)�I�E�{I�EI�H��L��I�7I��A�DL��H��H)�I�E����L���rr��������I�?����H��L��H�=D���������������L��L������������I�I�M����H9���H��H)�I�E�I�E�:���I�I�EH9���H��I�7H�\$H)�I�E�H��u'����H��I�7H)�I�E�H������I�I�EH9�uم��	���L��L���N����������I�I�E�H�|$�����A��N���������L��L�������������I�I�E�O����������L��L������������I�7I�I�E���D��AWAVAUATUSH��H��(H�t$`H���I�I��I��A��I�iH�D$H�H��H�D$H�H��H9����T$I�?H����H)�I�6��@�,��T$�T$��A��9��e;T$��@H�I�.I�7H��H)��D1�A��A��t#H9����T$H��H)�I�.�ڈI�.H�H���(fDE���H��L���ԡ�����H�I�H��H)�H��v�I�7H��H+l$L��H)�I�A�DL��@�,I�H��H�I�7I��H��H)�I��zI�H�I�7H��H)�I���D��H���o������I�?��H��H��H�=j������������lf.��L$E��tWH��L��������tHH�3I��L$I�?H��H)�I��7��A9�tf��aH�3I���H9�u�뱐�����1�H��([]A\A]A^A_���H�=���W���H��(1�[]A\A]A^A_�fDD;l$�=������|�T$���I�7H����H)�I����tXH�I�H9�u݈T$E���p���H��L���%������]���H�I��T$�H���������@���H�I�6�x���DH�I�H9�tqH��I�7H)�I�H�D$�ň��A9�u#����I�7H��H)�I�@�,��A9��k���H�I�H9�u�E������H��L��脟���������H�I��E�������H��L���`����������H�I��h���E�������H��L���9������q���I�7H�I�.������AVAUATUSH�|$0��I��H��H��A��M���#�E����H��L���ܞ������H�UH�H)�H��v�H��A�A�H��H�UH�A�DL���H)�I�$�H�EH�I�$H��H)�H�E�H�EH�I�$H��H)�H�E�xH�EH�I�$H��H)�H�E��D��H���l�����'I�<$t �H��H�=��ܿ���������f�1�[]A\A]A^�D��AVAUATUSH��dH�%(H�D$1�H�|$@�I��H��H��A��M���E����H��L��謝������H�UH�H)�H��
v�I�H��A�H��H�UA�DL��H�� ��H�� ��H	�H�H)�H��I�$H�H�EH�I�$H��H)�H�E�H�EH�I�$H��H)�H�E�yH�EH�I�$H��H)�H�E��D��H���:k�����*I�<$t#�H��H�=��藾���������D1�H�L$dH3%(u
H��[]A\A]A^��Ԅ��@�D�GAWD3GD#GAVD3G�WAUAT3WUSD�6�_D�~A��x�j�D�^D�VA��F�nD�|$�A��DGD�\$�D$�V���_D!�3WE��D�T$�D1����؋_D�A���p $!�3G�^�A1ыO���\$�Ѝ��ν��l$�^(A!�D�nE1�G���|�D�^<Aɉ�A��
1�A�D!�1�A��*ƇGD�A����E1�D�A!�A��A1���F0��n0A�D��A��1�A�D!�E1�D1�G��
�F��D��E���D�!�A1�1�E��D�f$D�D�N ��
D�d$��A��	ؘ�iD�L$�D�N,A!�E1�G����D�Aʉ�A��1�A�D!�1э��[��D�A����E1�D�A!�A1�A����\�A�D��A��1�A�D!�E��D1�F��"�k‰��
D1�D�!�A1�1�E��D�f8D�D�V4���A��
�q��A!lj�E1�G���Cy�Aω�A��1�A�D!�D1�1�A��!�ID���D�!�A��1�֋T$��
΍�b%�A1��E!�A1�A��D$�A��A�B��8@�@�D�|$�D1�!�A��	QZ^&1��D����	D�1�!�A��6�Ƕ�D1�ȉ���1�D!�G��]/�D�|$�1�����1�!֍�SD1�D�A����A1�A!�A�����A1�AЉ�A��	A�D1�!�A�����D�|$�1��D����D�1�!�A��7���!D�|$�D1�ȉ���1�D!�G���7�1�����1�!�A���
��D�|$�1�D�A���	�A1�A!�A���ZED�|$�A1�AЉ�A��A�D1�!�A��
��1��D����D�1�!�A��7���D1�ȉ���1�D!�G���og1����	�1�!֍��L*�1�D�A����A1�E��A��E!�A1�AЋT$�A��A�B9����E1�D1�ANjD$�A��EǍ���q�D��D1�D1��A��1"a�mD����D�1�1����C��8�D�D$��G��8D꾤D�|$�1���A�����KD�|$��	1��1�D�A��A��
`K����A1��A1�AЉ�p���A��1�A�D1�ʉ�A��2�~�(��D1�D�1��D��G���'���	1��1�Ɖ�A���0��D�|$��1��1�D�A��A���D�|$���A1��A1�AЉ�A��79���D�|$�A��1�A�D1�щ�����	D1�D�1��D��G���|����1�1�Ɖ�A��eV���1��1�A���A��D")�D�t$�A��1�A�D1����A��5��*C��	��D�	�D1��D��G���#��D�d$����	�1���A��9�����
���	�1�D�A�����Y[e�l$��A���A	�A1�Aȉ�A�����A����A�D	�1����3}��\$���D�	�D1��D��F���]���\$�
���	�1��΍�O~�o�����	�1�D�A��A����,�D�\$��A���A	�A1�Aȉэ�C�A����A�D	�1����A��2�N��
��D�	�D1��D��G���~S������	�1�։�A��	5�:������	�1�D�A��A�����*D�|$���A��[]�A\A]A	�A^A1�D�A��
A���A	�A1�A��A���Aȉ��A��7�ӆ�A_��D	�1�ЋW��D��DGO�GD�G�O�ff.�@��H�#Eg����H�GH�H��ܺ�vT2H�G�GÐ���ȉ�GȉG�GȉG�GȉG�GȉG�GȉG�GȉG�GȉG�G ȉG �G$ȉG$�G(ȉG(�G,ȉG,�G0ȉG0�G4ȉG4�G8ȉG8�G<ȉG<�ff.�f���AUATUSH��H��X�OdH�%(H�D$H1���ux��uRf�I��)$�$�)D$)D$ )D$01�I�L$8��T�H��H��u�L��H���K����C1�H�t$HdH34%(�H��X[]A\A]�����H�K��f��9H����A���u�����A�Ճ�I��@A���Ճ�L��D��f��)$Hc�)D$)D$ )D$0�N�����)�H��D���	��!ЈA��7����L��H���z���L��I�T$8f��H��H9�u�1�I�L$8D�T�H��H��u�����H���8���1�����������������������z�����E1�D9�~.M��1�B���B���tI����D9��@I��I��u��D��AVI��AUI��ATUH��SH��H��@dH�%(H�D$81�L�d$L���gv��H��?w�O�H��@H��@H��?v:�H��L���u����t�H�L$8dH3%(uHH��@[]A\A]A^�f���H��L���nu����u���L��L��L��D$�]���D$���y��f���AWAVAUATUSH��HdH�%(H��$81�I����M����I��H����H��H���~I��H���rI��H���fH�D$p�Aof�L�|$0H�D$L��H��$�H��)�$�L��$�)�$�)�$�)�$���H��H��H����6�G��B���\�A�L9�u�H�l$H����t���L��H���?t������E1�����I��?w�I��@H��@I��?���H��H���s����t�f��D$()�$�)�$)�$)�$ )D$0)D$@)D$P)D$`)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�)D$H�D$ M��tL���D$�^z���D$H��$8dH34%(��H��H[]A\A]A^A_�H��L���6���H��I����B��H��H���s��������H��$�f�@H��H��)�$�)�$)�$)�$ �Z��H���Ls��H�t$�H���r�����������H��H���r���������L��L��H��D$�8Z���D$�u��������������v����H����H�=8y郐����SH����q��H�߾H�$yH��1����H�ٺ%�H�=�y�A���H�ٺ<�H�=z�(���H�ٺ(�H�=,z����H�ٺ8�H�=Cz���H�ٺ+�H�=jz�ݏ��H�ٺ0�H�=�z�ď��H�ٺ�H�=�z諏��H�ٺ)�H�=�z蒏��H�ٺ�H�=Nx�y���H�ٺU�H�=�z�`���H�ٺ9�H�=�z�G���H�ٺA�H�={�.���H�ٺ@�H�=:{����H�ٺB�H�=i{���H�ٺ.�H�=�{���H�ٺ.�H�=�{�ʎ��H�ٺ>�H�=�{豎��H�ٺ2�H�=�{蘎��H�ٺ3�H�=|����H�ٺ�H�=+|�f���H�ٺ(�H�=2|�M���H�ٺ3�H�=I|�4���H�ٺ
�H�=	w����H�ٺ0�H�=O|����H�ٺy�H�=n|���H�ٺ�H�=�v�Ѝ��H�ٺ?�H�=�|跍��H�ٺ;�H�=�|融���9v��H�߾H��vH��1�����H�ٺ?�H�=�|�g���H��H�=uv�8c��H�ٺB�H�=}�?���H��H�=Mv���H�ٺ@�H�=$}����H��H�=%v�hv��H�ٺ;�H�=D}���H��H�=�u�o��H��[�Gu�����ATI��US�\��H�xH���Tz��H��tgH��L��H�UH���=h���=H���Z��H��t� H���p_��H��[]A\�4u��@� H���SZ��H��u�Hݸ 1f�E�E��@[]A\���AWI��AVAUA��H��ATI��UD��SH��H��h
L�D$ L�t$PdH�%(H��$X
1�D��H�D$@H�D$H���D$�[w��fo��H�T:-:3:L:A�s:H��$�)D$Pfon�fD��$�)D$`foh�Ƅ$�)D$pH��t.H���^[��H�P:H�����	H�PI�~:�H���x���H��K%H��~H�D$�H�D$HH�D$L��L��D���T������*H�
I%�P�L���K��Hc�H�>��f.�H�T$@H��L��L��UH�L$M��E����y��^_��y�f.������H��$X
dH34%(����	H��h
[]A\A]A^A_�D��k��������H��sH��H��J%H�81�����@L���o������D�D$E����H�D$H��tH����r��H�!H%L�L��L�\$(豆��H�D$H����L�\$(L����Y��L�\$(1�H��L���]��������1�臀�����f��[r��H��G%H�8��W���v����L��D��L���s��H���X����H�gzH��I%������H�81���������L����S��H�������H�}z�L���Ѕ���=H��H�D$(�W��H����H�pI����H�t$0��H��$PH�t$(�H��H�L$8�<]��H�t$0�L��$PL��L�D$0�]��L�D$0H�L$8L��H���(q��I���H���v��H�|$(�Oq���Y���f.��L��H�=�A�,{���6����L��H�5tqL�\$(�lm��L�\$(������L��H�5�YL�\$(�Km��L�\$(�������L���P������H�	F%I������H�=QYH�H�������uH��E%I�H�H��H�5aZH�T$(��l��H�T$(���kH��E%I�H�5VDH�8�l�����]���I��Q���f�H�L$@UL��E��ATL�D$L�މ��cj��ZY���(������@�H��G%�H�=yp�����H��+����n���fDH�=Rp������oa���%H�kG%�H�=�wH����H�=p��U���&���fDL��D��L���:d��H��������H��w�3���f�L��D��L����n�����i�������DH��F%�'�H�=xH��p���H��%�H�=$x������R������D�
1�L���v��A�G��x �<k��H�5%D%H�H���DP����)H�mF%�H�=yx�����H�����/����L���x���I�G@����1�L����_���YVz�H,�I�GH���s����*H�F%�H�=�w�����H���������f.���L��D��H�D$ ���+���@L�\$����fDH�5�AH��H�T$(�Tj���������I�?�H�T$(���H�~E%H�ѾH�wv�����H�81��{���;���1��#�D$��k��D�T$H�����#1�D�T$�k��H���Y���H�=�mH���
_��H��D�T$tH�ھ#1��AK��H���Im��D�T$I�?���H�\$@H��tnI���ILJ8@��H��D�T$�*T��I���H��A���M��8M���H����T��D�T$����H�|$@D�T$��l��D�T$H�\$HH��tnI��PILJ�@��H��D�T$�S��I���H��A���M���M��`H���[T��D�T$���H�|$HD�T$�Ol��D�T$H�D%HcD9���H�5�C%�X�I��I�?I�G0�����H�|$��H�D$I�GxH���S��I����x�����N��H�=~l�j��I���H��t)H�4B%H�������H�=2l�T]��D�T$�f����;H�FC%�H�=�t�����H��ł��H�|$(�{k�����fD1��D�T$�w��D�T$H�H����I��	���I���D�T$�Rm��I���H���a��D�T$H��I����mH�=�?%�
D�T$��`��H�\$@D�T$ILJ�
I������I��XD�T$�&X��I��XH���`��D�T$H��I��P��H�=sC%�
D�T$�l`��H�\$HD�T$ILJX
I��P����H=��HD�I�����H�5r�1�������r�����1��D�T$�Vh��D�T$H��tlH��A%�����H��A%�H�=&s�����H��)���H�|$(��i���b����#H�vA%�H�=�s�����H�����8���1��"D�T$��t��D�T$����I�GxILJ��^����g���H�A%�H�=jD�T$H�萀��D�T$D������I�<$������5c���DH��@%�H�=�sH��U������I�<$������c���KH��@%�H�=sH��"����e���H�\$H�4����H�o@%�H�=�iD�T$H�����D�T$D���)���H�\$@������E1��m��@��ATA��U��S�I����t�Ã������u;��[]A\�@�Ke����I���Å�t0���u��D��H�5�t��1��qp���1��	i��f�H�=�t�p��E��u��H�=�t1���W��1����S����I����?�����l���1����^������^������^��������?����ED��H�5�s��1���o��� ���ff.���AW1Ҿ�AVAUATUS1�H��(dH�%(H�D$1��{H������A�ŻE1�I���!�$A��D9���H��H��E���g���(H���U��H��H��tE��L���D���H�l$�$1��mn����y��tC���8uE��u
E1��DH���f��D��1��~��H�L$dH3%(����H��([]A\A]A^A_�f�H�L$Ic�H�H��H9�r�Hc�H��(H�H9�s�f�{u�1�H�ھ�D��D�c��m����x�C�ƒ�Af��At�$H�L$���u�A��t�1�H�ھ�D���m����x�H��[��e��D���B}���/����Xc�����UH�5J9H�=qr1�SH��(dH�%(H�D$1��ae��H��t+H��H�L$H�T$H��H�5Fr1��{����t)H���^��H�t$dH34%(H��u&H��([]��H�D$H��H��H�D$H�,���b����UH��SH��XdH�%(H�D$H1�H�D$H��tu�o
�oR�oZ )L$)T$ )\$0H�L$H�T$1��wg����H�D$H�E��uH��tH�@H��t
�x��K��f�H�t$HdH34%(��u2H��X[]��H�f�)D$)D$ )D$0H�D$���a�����UH��SH��H��hdH�%(H�D$X1��R%�����t`�H�=qH������������H�=�pH������������H�=�pH���������f�1�H�T$ H��H�H�L$)D$ H�D$)D$0)D$@H�D$$��O����uKH�|$H��tH�W�D$�R�U�ng���D$H�T$XdH3%(uSH��h[]��E����������f�H�=�o�d��H��������P%�����E��`��f���H��t�ba��f�1��ff.�f���AT�@A��H��U��SH����H��PdH�%(H�D$H1�H���]����D��H���h��H�L$HdH3%(u	H��P[]A\��_��ff.�@��H�GH+FH�H+H��H��@BH=?BH��H��k�dH��H��?H�KY�8��m4H��H��H)����H�WH+VH��@BH�H+H��?BH��H��H������������AWAVAUATU��SH��H����t$dH�%(H��$�1��zu��H�D$I��H���lH���H��H�x�Tf��I��H���OH�\$H�5nL��H���1t��A�I��H������H�l$ A���@�D$9@�M����L���
H����������!�%����t������D�H�JHDщ�@�L��H��L)�A�/I�|�OX��H��H�5}m1��s��I��H��uE��uQH��L����QZ�����i����t$L���]H�����t*1�L���H�5�m��h��M���M���f�1�L���D$�R`��L���J`���D$H��$�dH3%(u$H���[]A\A]A^A_Ð�����뻸����E1���]��f.���USH���v���H�=E}%H���}K��������q��H�=,}%����B�������q����x���!w��H��H�}%[]�H��|%H�5"l�1���g��H��1�[]�ff.�f���ATI��UH��SH��dH�%(H��$�1�H��H����<����xi�M%��uOL��H���[����uPH���8F��H���H��H���b��H��$�dH3%(u*H�Đ[]A\����L%�@��������T\��@��������fD��AT�
1�USH���)f����t��[]A\�@H���P��H��t;D�`�"]��E��uH��H�5�k�1��f����[]A\�D��[��]A\�fD��\����f���AT�
1�USH���e���Ņ�t��[]A\�@H����U��H��t;D�`�C��E��uH��H�5:k�1��'f����[]A\�D��[��]A\�fD�KC����f���H��H�=��|q��1�H�=kH���+n��H�=7�_q���H�=�jH���n��H�=F�?q���H�=�jH����m��H�=�t�q���H�=�jH����m��H�=�j�p���H�=�jH���m��H�=�j��p���H�=fjH��H���m�����UH��AVATSH��H�$H���L�@jdH�%(H�E�1�L����H��I��L��I�־��H���hL��P��lP��pPH��iP1���I���E�L��H����������!�%����t��H�s�����D�H�WHD�H����H��H�� � Y��H�s0� H��0H�xH�Q��]��H��8� H��`H�x��X��L��L���S��H�E�dH3%(uH�e�[A\A^]��AY�����UH��AWAVAUATSH��H�$H���L� idH�%(H�E�1�L����H��I��L��I�׾��H��CLL��P�CHP�CDP��`P��dPH��hP1��H���E�L��H����������!�%����t��H�sL�sP�����D�H�WHD�����H����H��0Hc���W��H�s#� �S"H�x��Hc���W��L��� I����A��L��I�}L�srH�PH�Ô�W��L��� I���A��I�}L��H�P�}W��H��� I���A��I�}H��H�P�_W��L��L���$R��H�E�dH3%(uH�e�[A\A]A^A_]��W�����UH��AVAUATSH��H�$H�� L��gdH�%(H�E�1�I��Lc�H�����H����I��I��H�������H�A�FLH�߹PA�FHPA�FDPA��`PA��dPH�<gP1��G���E�H�ߋH����������!�%����t��I�v�����D�H�WHD�A����H����H��0Hc��@V��I�v#� A�V"H�x��Hc��%V��E��L��fH��H����H�����H��H)�H��1��qF���;t
@H���;u�L��� H��I�O�lnPL����?��H�{L��H�P�U��H����L���vP��H�E�dH3%(u
H�e�[A\A]A^]��V��D��UH��AVAUATSH��H�$H���L��edH�%(H�E�1�L����H��I��L��I�־��H��L��P�CHP�CLPH��eP1��E���E�L��H����������!�%����t��H�s�����D�H�WHD��S���H����H�� H��&Hc��T��H��� I���>��I�}H��H�P�T��L��L���UO��H�E�dH3%(u
H�e�[A\A]A^]���T��@��AVAUI��ATI��USH���%H��u�0H���H��t$��lu�H��L��L���a��H���H��uݐH�q�%H��u�rf�H��xH��td��`��u�{Pu
�{r��L��L��H����\��L���A�>ufD��I��"��t�A�>t��L��L��H���d����@H��%H��u
�(f�H�[`H��t�{Hu�H��L��L���SB��H�[`H��u�[]A\A]A^Ð����x����e���ff.���AWI��AVI��H��AUI��ATUD��SH��HH�$dH�%(H�D$81��=���� �}L�d$�!L��H��I�|$�D$�_A��M���V�����D$�D$Hc�E1��M���M����H��L��L����<����u�M��0I�r�H;4$w�E1�1ҹ�1�f�H9�v3����twD��I;�`sgA��>8��u^�������H9�w̓D$M�����|$��M;�0���T���I�W0I�~0H����7����MO��9������t�M�D���I�|�(��tK�I9��`���M���M�������|$~�|$u2H�\$8dH3%(L��uGH��H[]A\A]A^A_�A�����DE1���A����������M�������Q����AUATUH��SH��H��H��8dH�%(H�D$(1��$;���� v1�H�L$(dH3%(��u]H��8[]A\A]�I��H�P�!H��I�}I�Ĉ$�"c��H��t�A��1�Mc�@H��L��L���;��H�������H��u���Q��f���AWI��AVI��AUATUH��SH��H��H��HdH�%(H�D$81��j:���� ��L�l$�!L��I��I�}�D$��>��H���kH�D$A��E1�Mc��L��H��L���b:������L��0E1�1Ҹ�I�r�L9�vJ���;8��A�Ã��E��t��H�|�(H9|�@��@����� �������H9��D��H;�`r���A������38��@�ǃ��@��t��H�t�(H9t�@��@���������t*��L9���D��H;�`r���@���H�\$H���H�����H�D$H������hM���A9�h��1���u��H�L$8dH3%(��H��H[]A\A]A^A_��A�����L���f�A��������f�M��t	M;�0vRI��H���H���?����R���f.�H�|$�$���H�D$��h9�h������X�������I�V0H�{0H����3����LO����M���&���A��h1�������������������?N��ff.�@��H�~%H�~%�ff.�f���H��}%H��tH���H��}%Ð��AWAVI��AUI��ATUSH��H��H�|$H���X7���� �/H����"���I���>��H��H�������>��H���H����D�eH�}�!L���p;��H�](H�}0L��H���`H���_��H�D$H��0H�H����A��L�u(E1�Mc���E��LH���I��H��ttH��L��H��H����6��H��0L��H�{(H��0A���.2��E���…�����t�H���M��tCI���H��H��[]A\A]A^A_�H���O��f�1���@HDž���HDž�H�D$H�(�fD��AWAVAUATUSH��H�H����H��H�{I��H�$I��N�<��V��������E1��)DH���H����H�}L��I��H����U������u�L9�0u�H�4$H�{(L���5����u�M��tvH���I���H���H��t�N��H��H��[]A\A]A^A_�N���L9�0�i���H�4$H�{(L���D$�O5���L$���I���H���H�E�fDH��[]A\A]A^A_Ð��USH��H�H��t3H��H���H�EH���H��t�|M��H���tM��H�]H��u�H��[]�@��AUATA��H��USH��H��8dH�%(H�D$(1��T4���� wVI��H�޺!H��I�}�$�8��H�vz%H��t0��Hc��D9�t��uH�{H��L���V4����tH�[`H��u�1�H�L$(dH3%(H��uH��8[]A\A]��DJ��@��H�
z%H��y%�ff.�f���H��y%H��tH�P`H��y%�@��AWAVAUATU��H��SH��H���q3���� ���h�I����:��I��H�����h���:��I�FXH����A�.H��I�~�!E�f�7��H�Wy%H�����9���A��E1�M�nMc��@H�S`H��tW�
I��9�NH��9�u�H�{L��L���3����~�I�^`M��uEL�5�x%�
L���K��f�E1�H��L��[]A\A]A^A_�I�V`L�s`��I�F`�I�^`�L����f���AT�
UH��1�SH��H��dH�%(H��$�1�H�\$$H�\$�R��H��D$l�*��1��
H��H���tR��H��D$h��)��1��
H��H���VR��H��H�l$�D$ ��)��H�t$H��H�D$"H���|/���|$ H��I���
0��H��t0�T$lH��&H�t$L��H�D$"�P&�T$h�P"H��H�D$�8/��H��$�dH3%(uH�Đ[]A\���G��@��AVAUATUSH��w%H�����+I��A��9�t`E1��H�C`H��to�(I��H��D9�u�H�{L���NQ����u�M��tMH�C`I�F`H�{XH��t�I��H��[]A\A]A^�I���H�{�Q����u�H�C`H��v%�fD[]A\A]A^�ff.�@��USH��H��v%H��t3f.�H�k`H�{XH�-�v%H��t�7I��H��H���,I��H��u�H��[]���H��H��t�OD��u�VD��u�Lt�PH9WHHM��D�xLt��H"8O"|�PH9WHHM���D��AWI��AVI��AUA��ATA��USH��dH�%(H�D$x1��/���� �QL��H��L�t$�/��H�Ń� �5L�t$ L���!�\$ I�~�3��H�t$H�D$PH�|$Q�!@�l$PH�D$��3��L�=�u%M����H�D$�E��H�Hc�H�D$�A�GD��tD9�u+E9gH%H��L��L���W/����uA�GL������tA�M��xM��u�H�L$xdH3%(H�D$��H�Ĉ[]A\A]A^A_�f�I�G"H��9��H�D$I�#H�p��.����u�H�|$L����[��M��xH�D$M���D����f.�H�D$�n���f�A�G"9��S���H�T$H�t$I�"�.����t��7����D��f���H�mt%H�^t%�ff.�f���H�Et%H��tH��xH�2t%Ð��AWA��AVI��AUI��ATUSH���L$�-���� �#L��H���-��I�ă� �����5��H��H��������5��H��pH�����D$D�{DH�{L��@�+�!�CH��1��D�c"L��H�{#�!�1��L�5s%M������A��H�C"E1�Hc�Mc�H�$�@@u(H�4$I�~"L���>-����8uE9~D0|
�D$A9FH$I��xM��H��tgI��H��H��L���-����~�L��xM��t6I��x�H���uE��D1�H��H��[]A\A]A^A_�Hǃx�H��r%���HǃxI��x�ff.����AUI���
1�ATUSH��L��H��dH�%(H��$�1�H�l$ L�d$BL�d$H�l$�cL��L�$���#���
1�I��H���BL��L�$��#���
1�I��H���!L��L��D$d�#���
1�I��H���L��L��D$h�w#���
1�I��H����K��L��L�l$�D$l�T#��L��H�t$H�D$"H���)��L��H�t$H�D$"H����(���L$h�T$dL��H��I���\>��H�H��td��$���d��$�H���`�T$dH��PDH��T$h�PHH��T$l�PLH��$�dH3%(L��u3H�ĸ[]A\A]�D�L$h�T$dL��H���4��H�H��u�E1���@��ff.���SH��0dH�%(H�D$(1�H����)��H��tzH�$H�\$ H�t$H��H�D$ "H�QPH�T$H����'��H�$H�t$H�D$ "H��H�QrH�T$H����'��H�$H�t$H�D$ "H��H���H�T$H���'��H�D$(dH3%(uH��0[��5@��D��USH��(dH�%(H�D$1�H���)��H��tS�
1�H��H���I��H��H���l!��Hc�H�t$H�D$"H��H��H��H�H�$H�TQPH�T$H�T$�'��H�D$dH3%(uH��([]��?��f.���AWAVAUATUSH��H�_o%H�����kDA��A��H�t$I��9���E1��H��xH�����hDI��H��D9�u�D9sHu�H�{L���I����u�H�t$H�{#��H����u�M��t}H��xI��xH��pH��t�VA��H��H��[]A\A]A^A_�@A��9KH�r���H�{L���H�����^���H�t$H�{#�H�����H���H��xH�wn%�DH��[]A\A]A^A_�f���USH��H�Gn%H��t9f.�H��xH��pH�-#n%H��t�@��H��H���@��H��u�H��[]�f.���H��H��tH��H�=,N�3��1�H���D�1��|>��H�������H�=�m%�t�@1�H�=�m%���f.���A��H��H��H��H�=�m%�$O��@��H��H��H��H�=dm%��8�����H��H��H��H�=Dm%�G#�����ATI��
1�UL��SH��dH�%(H��$�1�H�\$ H�l$HH�$H�l$�F��L�牄$��j��1��
I��H����F��L�牄$��I��1��
I��H���F��L�牄$��(��H�T$H��H�D$"H����#��H��0H�t$HDŽ$P�H���?L��H��$PH��H��I������H��tR��$�H�t$L�牐p��$���l��$�Hǀ`"��hH��8H�T$H��`�R#��H��$�dH3%(uH��[]A\���;��ff.���H��H��H��H�=�k%�'-�����H�=�k%�&����AWAVAUATUSH��X�t$L��$�dH�%(H�D$H1�H�����B�A�փ���H��H��M��M��H���EH�=6k%H���$������M	���H��E1��#��I��H���I�G&�I��"H�$H�Ǿ 1�L�&K��*��A�W&�҈T$t(�9��H�$�T$H�0�Vu�_H�����u�H�I�XI�GHH��t
�<��I�GXM����L��A��#��H��H�A�|�*��H�<$L��D����-��I��H����H��H�xP�"�<(���D$I�|$r�"��H�MJHD�H���(��I��$��"H���(��I��$pE�|$LH�I��$`1�H��tI�$�6<���$IDŽ$p�0DH���3K��M��tI��0I�u(I�}�
3�������H�\$HdH3%(��H��X[]A\A]A^A_�f�M��t�M��t�L��L��H�����I��H��t�H���H��t�;��IDž�H���!��I��H�������h���fDM��t	M���h���H�(I���fD�D$ A�L�d$ �n���L�D$ L��"H�L$L��L�D$A��&��H�L$L�D$�A�M��H��D �*����8��f���AVI��AUA��ATI��USL��H��pdH�%(H�D$h1�H����M������t	M����L��H�l$@�I��1�M��"L�[H�� H���(��H����H���!��I��H��|�*��D��H��H���"��1�H�L$hdH3%(��H��p[]A\A]A^��H��H�=�G�L��������L���H�=xg%L��L�D$�C ��L�D$���*���L��H��L����0������f��D$H�\$�\����L�t$A��H�޺"L��Mc�L���1%��B�D$�1����7�����I���������I��I����I��E��L��I��H��H��H��H�I)�I��L�I��H��I��H��L��H��H	�H��H�I�H)�H��I��H����H����L�H��I��H��H��H�H)�H��H�H��H��H��I��H��H��H	�H�I�qH)lj9������H��H����H�H�4�H����H��H�pH��H����H��H	�H�B��H��H����H�FH�4�H����H��H�pH����H	�H��@��H�G���H�WH9�s���H�Ð����3�����L�GH�ND��)�H�BH�+I9ȃ�H��ff.����H�H�H�v�3��ff.���UH��H��H��SH��(dH�%(H�D$1�H��H���r!��H��H���WO��H�D$dH3%(uH��([]��5��ff.����o�@��H�GH��ff.����1�H�u	1�H�?���f���H��tWH��tRH�L�H�GH9Fs"L9�t-A�@�@H9������D���1�L9�u���� ��t��H�ø�����f.���AVI��AUI��ATI��USH��H��t�)��t=�H��L���I���Ņ�xzL��H��L����K���� u$1�H�[��]A\A]A^��K��[��]A\A]A^Ã�@u3H�CI9Fu-H�I9u%1�M��t�[��]A�$A\A]A^��1�빽����벽�����fD��AWAVAUATUS�H��x�oH�|$H�T$;L�t$,L�l$@L�d$0dH�%(H�D$h1�H�D$P)L$0�D$eI��)�H�D$H�T$�@I��L;|$tmH�|$0H�t$8L��L��B�,;��7���D$,foD$@L��0)D$0A�G�e9����t�Hc�H�|$Ht$�,��H�D$hdH3%(uH��x[]A\A]A^A_�H��������2��f���USH��H��(dH�%(H�D$1�H���tI��H��H�$H�FH����H�D$�h0���-H�{H���YG��H�D$dH3%(uH��([]�f��;G�����2��@��AWAVI��AUATUH��SH��8dH�%(H�D$(1��3��A���-�������D$�0��E1�L�d$I���>@H�}H�uL��I��A��0��foD$��H���0E�nB��A���tI�M��DQu��D$��uHH�L$(dH3%(D��u[H��8[]A\A]A^A_�fDA�^�D$I��E1����V���@�E�H���H�E�E��H�E��A���E1����0��f.�AWI��AVAUATI��USH��8H�$L�D$D�L$dH�%(H��$(1�H�����?H�����:H���&��I��H����H�-�%L�uM��u�MDI�nM�vM���7I�>H���$:����u�H�EH�hH�XH��u �Rf.�H�]H�mH���7H�}L����9����u�H�H�$L�xH�H�HL�+H��$(dH3%(L���IH��8[]A\A]A^A_�fD�1��L0��H������@H�l$ �H��H������:H�����H��t9�D�L$L��L��L�D$H�$H��H�X�v���I��H���`���H���DD�L$L�D$L��L��H�$H���D���I���2���@���) ��H��H�EH������H��H�T$�<E��H�T$H������0�����H�H�������L$L��H H�+�D��H�|$H�EH�������H�+��D��H�E(����.��f�AVL��>AUI�͹ATA��UH��SH��H��L�
r^%dH�%(H��$1��a^%I��H��RL���V�P1����H�� =�8L��L��D���B��H��$dH3%(��H��[]A\A]A^���Hc��5��UD�
�]%H�
>SL��]%H��I��H������1��
��XL��ZD��L���A��H��$dH3%(uH��L��[]A\A]A^��/���^-��ff.���A��a������I��H��H��H��1��6��f���E1��4���@��E1��$���@��I��H��H��H��1�����f���AWAVAUATI��USH��dH�%(H��$1�H���\�?H���P�:H���3��H���RL�-�%I�]H��u�DL�kH�[H����H�;H���46����u�L�sM����M�>L��L���6��I�n���IH����H���f.�I�^I��L��M���}H�}L����5��L�m��u�H�EH��t��H�H�@H�8H��t�:.��H�H�@H�H�H�@H�x(H����.��H�H�@H�@(H�H�BH����L�jH��$dH3%(�-H��[]A\A]A^A_���1���+��H�����@H��H��H��H���2���:H�����H��t �H�XL��H������H���u���H����L��H�������`���I�FH��t��H�CL�8M��uqH�x(H��tP�+-��H�CH�@(H�CH��u6I�EH�h����f�H���,��H�H�@H���DH����,��H�C�fDL���,��H�CH�H�C�s����7*�����H��1����f���ATL�%�%USI�$H��u�?fDH�0H�;����H�CH��u�H�;H��t�O,��H�kH���C,��H��I�,$H��u�[]A\�f���UH��SH��H�$%H�H��u
�f�H�[H��tH�;H���l3����u�H�[H��H��[]�f.���H��tHUH��SH��H���f�H�[H��tH�3H���(����u�H��H��[]�fDH��1�[]�1��ff.����H��tWATI��USH�H��H��u�H��H�BH��u�H�Z������H��H�H��tM��tL���	?��H�E[]A\��ff.�@��USH��H�H��t4H��H�;H��t��*��H�EH�H�}H�_��*��H�]H��u�H��[]���H�5]X%�`8����USH��H���$H�(H��t4�H�]H��t�H�CH��t��H�[H��u�H�mH��u�H��[]�ff.����H���	1��-��ff.�f���S1��	H��
dH�%(H��$
1��5(��H��t01��	�$(��H��$
dH3%(��H��
[�@H�=:����H��toH�
�7H���H��H���
QH��L�
�7L��7PH�k9�
R�PH��9j:P1�j:���Ƅ$?
H��H��@�8;���S���H���H��H�����&��ff.����H���1��
��ff.�f���H��1���,'��H��t�1�H���'���H�=�6���H��6H��HD�H����!���1�H����&��ff.�AVI��AUATI��H�=�6USH��dH�%(H��$1��,��H��H����?�f:�����H��A���!?������H�5�H���'��H��H��uR�H�5�(L���������D���:��H��$dH3%(��H��[]A\A]A^�DH��L���%��H��
�8*��H���`'��H����"�������H��� ����H��H�5�7�1���/���<���DH��H�5�7�1��/���Q���D�[.��H��H���ATI��L��5H�߹�1����Ƅ$XZ����$��ff.���H���1�����ff.�f���H��1���$��H��t�1�H����$���H�=5����1�H����$��@��AUATUH��SH��H���$H��L� H���HD�M��tfL�-�4I�$H��H�5�61��I���.��I�\$H��t+�L�K(M��tL�H��H��L��1��_.��H�[H��u�M�d$M��u�H��[]A\A]Ð��UH��� SH��1�H���1����tH��[]�f�1��#��0����u�H��H��H��[]���ff.�@��S�H��1��#��H��[H���P����AW� AVAUATUH��1�SH��dH�%(H��$�1��i0����t-H��$�dH3%(��H�Ĩ[]A\A]A^A_�@1��$�,0����u��,����L��$�H��I��L�!31�U�L���S��L�l$L���L��Ƅ$��V��^_��L��$���uZL�53��+��S�
M��UI����
L��1�����L��L��Ƅ$����ZY��ud����u�H��L��H�66�
P��
H�_6UL�
�4L�x5UUP1����Ƅ$�L��H��0H���������f�L��L�������t��1�L��L��H�5P2�,��L���������k���L��H�5H2�1���+���P����!�����AV� AUATI��1�USH��dH�%(H��$�1��{.����t'H��$�dH3%(�H�Ġ[]A\A]A^�1��$�D.����u��*����H��$�H��I��L�911�AT�H���j��L�l$H��L��Ƅ$��m��^_�Å��j���L�5/1�������M����)��S�M��ATI����H��1����L��H��Ƅ$����ZY��u�H���W
�����u�H��H�5�0�1��|*������D��H���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��H��H�D$H�5��H�D$ �H�D$�$�D$0��)O%H�D$dH3%(uH����������H���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H��H��H�D$H�5�/H�D$ �H�D$�$�D$0��H�D$dH3%(uH����������AUATI��UH��S��H��dH�%(H�D$1��
��H����I��t,�@ 9�t$1�H�T$dH3%(��H��[]A\A]�H����H���'��H�\�H9�s'�H���fDH���CH9�t
�3H��Dq u�H��L��A�U�f.����{���1����*�����g���L��H�=^.�T�����R���@�D$H�l$�j������@��H��1�H�=}~�[��ff.���H��1�H�=]~�
��ff.���H��tXUSH��H���/@��t>�a��H��@H���+@��t$@��DB u�@��#�HE�H��[]�DH��1�[]�1��ff.����������AWAVAUATUSH��(dH�%(H��$1�H���$H�H���`L�|$�I��A��L�d$H��L���	��L��H�5#-L���#1��H��H���8�8[��H����DH�{H����
��H�[I��H��tH��t�M����H�����H��L)�H�|L��o ��D��H��L��H���n��H��$dH3%(�	H��([]A\A]A^A_�DH�����H�D�H���8]uZ�H�����H��H����L��H�5A,1��B0��H��H��H���
��I��M���N���1���l(����uTE1��6���1�H��H�=,���������G���H�=60���������1���1�L��H�=�+������������1�H��H�=�+�����������1�H��H�=0������������9��f���SH���3��1���'����u1�[��H��1�[����ff.�f���H��t_AUA��ATI��U��SH��H�H��tDH�;�����H�[H��u�E��uH��[]A\A]�DH��L��[]A\A]���fD������H�=�I%�V
��fD����H�=iI%�<
��ff.����H��tXUSH��H���/@��t>����H��@H���+@��t$@��DB t�@��#�HE�H��[]�DH��1�[]�1��ff.�����'�����H�����H�����H��H���o��ff.�@���������H���sAUI��ATUSH��H���M�/H��A��@��"t
@��'��H���@8�t2��t6<\��H��E��~�I�UA����A�E�I��@8�u�@��H��E��~A�EH��H��[]A\A]���f�H��E��~I�EA��tMA�mI���+@��t��y��@��H��DP u�@��\u��C��t�E��~I�UA��unA�EI��H���A�EI���fD�S���8���E��~I�EA��u%A�EI��H������@A�EI����A�UH��I�����A�EH��I���J���H��1�[]A\A]�1��ff.�f����������AWAVAUATUSH��H�$H��x�
�F%H�<$H�t$�T$ dH�%(H��$h1�H��F%H�D$��F%�D$$��u
�}F%H�<$H�5p����I��H����[F%�����MF%������H�$L�l$`���/F%I�E1�1��9F%H�
*F%�F%H�D$E1��=f.�N�|5��L��D)�L����#��H��tFL���^���I�J�D5��8
��I�FH9�r�H��H��H����%��H���yH���@A�L���T��H���E%�u��H��tXE1�L��H���M�I���D$`<[��L�t$<i��M����L$ L��L��L���5
��M������@H������D$$�-E%�'E%H�D$H�E%1���@�H��E%����H�������[����L��
H����������!�%����t������D�H�JHDщ��H��L)�H���|`]��H�|$�D`��I��H����M���%L���L���3�I��M������L��H�=�*1��������H�=�%���H���|��L�����������H��$hdH3%(��H��x[]A\A]A^A_�H�t$H�='%1��3������H�5b%L���*����unH�5O%L���g�����/H�5@%L���P����uXM����L�����I��H�����|$ �/���L��H�=
%1��
������fDL�t$���H�D$���H�5�$L����������H�5%L��������u�M���WL���y���H�L$L�|$@H�D$PH�L$H���2H��H�=�#M�t�L�������uA��|$ H�t$@�U��A�>uA�.���^����|$ �S���L��H�=�(1���	���=���f��|$ �0���1������������L��H�=O(�b������M����A�?/L��$`��gH�4$L������/L������H���h�@�L��L������D�|$ H�t$L��D������������A�������L��H�=�#1��	���u����|$ �j���L��H�=�'�����V���H�t$H�=7'1������>���H��$`H�D$(L�����H��H�����z.t�L�BH�T$8L��L�D$0�����~˃�H�T$8�H�=
"H�L�D$0H�t�����u�H��M����APH�|$8L��������XZ�T$ H�t$H�|$(�����]���L��� �����L��L���������|$ H�t$@�H�����Ƅ$`����H�=�!1�����L���+��������R����H�=5&���^����t1��
tH�<$�I��������� �������
���������������������@��U��SH��H��H���y�H��tH����H��H��[]����H�������[]�@����(��f���AWAVA���AUATUSH��1�H���dH�%(H��$�1�H�D$���H����I��H����H���%��H�D$H��H����H�l$H�5;!�����H���f$��I��H��t^L�d$ �(�L������H��H�5!1��7$��I��H��t/L��L�����
����u�D��L��L����'�����D�빐H�|$���H��$�dH3%(��uH���[]A\A]A^A_û�������s��AWAVAUATUSH���T$H�L$L�D$dH�%(H��$�1�H����I��H�����t$��A�����H��$�H�D$(H��H�D$0H�D$@���teI��<:tf�I��A���t<:u��$��tA��$H�T$H�޿��	����u�D$HH�T$%�=@tO�$I�_��t�H�D$(H��tH������H��$�dH3<%(D����H��[]A\A]A^A_�fD�
H����������!�%����t������D�H�JHDщ�@�H�D$H��H��H)�H�����A�ƅ���L�t$M��t!L���{���L��H��H�����A�ƅ���H��A�4$I�ٹ,��,H��1�L�jA����Ƅ$�I�t$H��ZY�T$�
��I�ٹ,H����,ED�H��A�4$1�L�t�U���Ƅ$�^I�t$_H��T$�:
��D�$��ED�E�������I�_����fDL�|$ L�|$fDAVI��L��H��A�4$�,�1��,����L��H��Ƅ$�����AYAZ��u&I�t$�T$H��������DD�A��A��u�L�|$ ���A������������ff.�@��AWAVAUA��1�ATUSH�� H����������1����������H������H�=�I���C�H�=7I���4�I���|��H���D!��M��D��H��H��H��M��t0L��1��f��������H���7
��H����[]A\A]A^A_�fDL���8���H��A���

�����H���� ��H��M��D��H��H��H���	�����t�1�E�������������f���AUATA��USH��H���$�Z:%H���t^H��tj�����E1�f�H��D������H�[��AD�H��u�:%��tH�5� �1����H����[]A\A]�@�S��������H��u����������S1���?
��1�1��H�����H��tT�;-tD1��M�1�H���#���1��W���1�����1�1�1�[�j��f.�H�{1�����1����ff.����S1���	��1�1��H�����H��tW�;-tD����H�����1������1��0��1Ҿ1�[�����H�{��R����h��fD��UH��SH��H����8%��tH��H��H�ߺ
[]�P�H�5)�1��
���S8%�ː��H����H����AWAVAUI��ATUH��SH��H������H�1���H��H��H���H9�v{�4f�ru�@�� tٸ0xA�EI��L�<+fA�E�L�5�M���D�L��L��H�����1�H��I�����I9�u�H��I�Dm[]A\A]A^A_�f�H9�u�A�E"I�MH��H��H������"H�f�MH��H�E[]A\A]A^A_�H�GH��u
�""�Gf��f�0x�G�D��AWAVAUATUSH��H�$H��8dH�%(H��$(1�H��H����H�������I��H����I���H�5��(����t|I�uH���'�UL���|��H�}I����fDH��$(dH3%(L���H��8[]A\A]A^A_�@H�5A�1����DE1��I�^H���|�H���+H)بu�M�eH��H�D$M���GH�UH;T$�XH�D$H����M�lFL�|$L�5	�!��D$I��H��A�D$�L9���1�L��L��H�������t��\���@I�}��H�E���fDH�\$ L���H���K��H��I�ċH����������!�%����t������D�H�WHD����H��H)�H�}H���a��I�EH������H�UH��H��H���A����t���@H���p�����I���H�D$A�$L��H�E��I���:���f�H�x���I��I�EH��������b���f�H�L$H�5��1��8��H�EH�����H���0�I������S�����g����AUATUSH��H��H��tZ��~G�B�H��L�%]L�l�@L�EH��L��H�����1�H���_�H���w�H�L9�u�H��H��[]A\A]Ð�[�H�H�\�NULLH���BH��[]A\A]�f.���AUATUH��SH��
dH�%(H��$
1�H����H�������I��H����H�>H�����H�=�H�������u2H�EH����H��$
dH3%(uoH��
[]A\A]ÐI��
H��L������I�4$H��L�������u�H�Ef�1��@H�E��
��I�$H��t�H�E��T������ff.����W�����H����H������C��U��H��SH��H��H��Hc�H�>��f�H���������u7�H�=��H�������tH��1�[]�fD1�1�H������H��H��[]�<��@�
1�H���������H��H��H��H��[]��@H��H��H��H��[]���@1��ff.�f���AUATUSH��(
H�T$dH�%(H��$
1�H���/H��H���#I��H�Ճ�@�C����F�t~b���������H��H�t$L�����I�$$H��f�H��$
dH3%(H���oH��(
[]A\A]����C��H�9��L�l$H�ߺ
L�����1�1�L��H�����EI�$�@��K��}^��uJH�9vDL�l$H�ߺ
L���N���
1�L��H���L
���EI�$�<���@������1��(����H��H�t$L���`�H�������H�9v�L�l$H�ߺ
L������L��H���*����E���t:I�$����DH�9v�H�H�����H����H������H�=6�L�������t�1��w����r���f���H��t/H��t*��Cw%U����SH��H��H��Hc�H�>���1��DD�	D��H�
kH������H��1��|�H����H�H��[]�f.�D�	D��H�
&�@�;H�1H��H�{L��[]�H����@�;H�1H��H�{L��[]�(����9�Y�D��H��H�
*�I��H������1����H����H��H�[]�1��X���f���E1�H��tL�H��H�� ��f.�D���ff.����ff.����ff.���1��f���H����@���ff.����ff.����ff.���1��f����ff.����ff.���������fD��������fD��������fD���ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.����ff.���1��f����ff.���H��H�!�$1�L��H�5�H�=����H���$1�L��H�5�H�=����L��1�H����H�5�H�=�H���k��f.�����G�����������'�����������H��t�"���f��ff.�@��H����ATUSH�H��H=�w-H��H�?I��H��tIH�����H��tIH�E�I�$[]A\�H�����H��H�?H�H H���I��HG�H��u�H���n��H��u�[1�]A\�f�1��ff.�f���H��A��H����A���H����AWAVA��AUM��ATI��UH��SH��H��M��u��v@E��tkH��L��������t\L�}L��� �I�TH;s�I�<$H��t=L�L��H�P��H�]I�<$H����HøH�]H��[]A\A]A^A_�1�H��[]A\A]A^A_��1��D��H��t���f��ff.�@��UH��SH��H�7���H��H��tH��H�������xH�H�EH��H��[]��H�uH��1��
�������1�H��t=UH��SH��H��H������H��H��tH��H��H����H��H��H��[]�fDH���@��H��tWATI��UH��H�~SH�����H��t,H��H��H���n�H���M��tI�$[H��]A\�fD1�[]H��A\�fD1�H���f.����ff.���UH���SH��H��H��t�|5�H�F�H�~t/��H��H��tH��H��H������H��H��H��[]�H��H������AWAVAUATUSH��H��A��H����A�u0H��t+L�7G�|H��I��H��M��M��t.L9>sGL�D$����E1�H��D��[]A\A]A^A_��L���L�D$��M�<$L�D$I��Ic�H��~zH��M��@���<
Ƀ�ٍDWA����<
�I��H����ٍDWA�@�H��H)�H9�|�A�L9utL�uM�<$�d���DL�>����L�D$��t��F���f�M����ff.���H��H��I��H��dH�%(H�D$1�H�H��H�$�c���H�T$dH3%(uH������f���AWH��I��AVH��AUATI���U���S��H��H���E�H�T$�����H�I��H����A����L��I��M�L9���;���H�0�UfD�P���KA�U�<NH��f��tdI����f��t�H������HɃ��H��A�U�L9�����<FH��f��t �����f��t���A��v��P���뇐��L���F��H�������[]A\A]A^A_�f���A�4$H�H���4pf��tʼnЃ�f��t
�B�<wR�BɃ�M�nA�I�\$����H�H�����A�U�L9��N���H�D$L�0H����[]A\A]A^A_�fD�B�M�n��I�\$A����f���AWAVAUATUSH���L$H���I��H����I��H����L��M����A�(I��fD@������I��H��I��B�� ��@��.�������
1�H�����H��=�I�$I;r�D$��tnL��L��������t_I�$I�U@�,I�$H�I�H��DB�i���f�H��H�H��DBu�@���N���H���[]A\A]A^A_ÐH��1�[]A\A]A^A_���kH������ff.���AWAVAUATUSH��(�L$dH�%(H�D$1��D$H����I��H���}H��H��tuM��M��tmE�8I��L��A��0��H�D$H�D$E��tB�%�I��H��DPtI�V�DPuSH��t&A��H������H��tI��E�>E��u����1�H�L$dH3%(��H��([]A\A]A^A_�H�T$1�H�5*L�������t�H�EI;Er�D$��t�L��L���!�����t�H�EI�$�L$�H�EA�~t�I���h���f�A�@���<X����E�xI������m�ff.�f���L�
!��p����SH��H�$H�� dH�%(H��$1�H�\$Hc�H��I��H�T$�H�L����H�|$��~LH������@��~9H��H�J@��@~��o�oJ��@�oR �oZ0)K)S )[0)�D$P�ȐH��t��H��$dH3%(u	H�� [���D��S����1�H��H������H��[�f.���H��t1������ff.�@��SH���H�� dH�%(H�D$1�H������xCH�$H�L$H��S㥛� H�H��H��?H��H��H)�H�SH�D$dH3%(uH�� [�f�1�H���F������ff.�@��H�H��tH���\�@SH�������H�H��u[�H��[�7����H�H�vH+wH+H��@BH=?BH��H��Hi��H��H��?H��S㥛� H��H��H)�H�Ð��H�H�vH+wH+H��@BH=?BH��H��Hi��H��H��?H��S㥛� H��H��H)�H�Ð��H�NH+OH��@BH�H+H��?BH��H��H�KY�8��m4H��H�4�H��H��?H��H��H)�H���ff.�@��H��t7ATUH��S���y��H��I��H���K���L��H����Hc�1�[H9�]A\���1��ff.�f���H��t7ATUH��S���)��H��I��H������L��H���P��1�[H9�]A\��Ð1��ff.�f���USH��(dH�%(H�D$1�H��tNH��H����d�H�t$H+uH��@BH�$H+MH=?B~<�غ�Mb������)�Hc�H9�t1����H�L$dH3%(u7H��([]�@H��H����i��1�)�Hc�Hi��H9���������USH��H�����H��H��H�����H��H���E�غgfff����H������)�[]�ff.����g�����������������SH��H��dH�%(H�D$1�H��t^H�� �������H�{����H�{����H�{����1�H�L$dH3%(uEH��[���G�OH��H�� H���GH	��H	�H��0H	�H�1��f����������@��AUATUSH��H��t]�?tX�
1�H�����I�ĉ��O�H��I�����I�U�L�H��DJu&��D<3��H�C��Hc�H�>��f������H����[]A\A]�fDAi�:	H��[��]A\A]�@Ai�QH��[��]A\A]�@Ai�H��[��]A\A]�@Ak�<H��[��]A\A]��H�ڿ1������H�5r�}���H����[]A\A]�����fDUSH��H�H�����H��Q߀�V��H�5-��Hc�H�>����H�PH�H��t
�x-��H����[]�f����f���f���f���f���f�1��@��v���fDH���$H�n�H�81���������H����[]�DH��1�H��������t�9��9����+���0���f���AUATI��U��SH���G ��u$H��H�L�k(H��tFD���	��C L���1��H��K���H���[]A\A]�f.����H��뫐��ATA��UH��SH�� dH�%(H�D$1���D�$$H�l$��u4H��1����H�L$dH3%(�u1H�� []A\��1������1�H�����������b�f�USH��H��dH�%(H�D$1�H��H����H������H�ߋ0�H�PV�pD�IH�
�	D��lH�����V�pV�@�P1��g��H�� H�T$dH3%(u
H��H��[]����@��AT�I��UH��1�SH��0dH�%(H�D$(1��B�����t�E �����$H�](H��t^H��M��H���H�߾1����H����L������A�|�
�����E �H�T$(dH3%(uJH��0[]A\�DH�}H�5��X�H��H��t H�E(�f.�H������d���1��������AT�I��1�USH��H��0dH�%(H�D$(1��R�����t�x�$�����$H��
H���\�1�H��t	1Ҁx��A�D$ �A�$��t=H��H��H�5�1������H�L$(dH3%(�uGH��0[]A\�fDH�A�$I��H��H����H�81��M����H��H������_��������H��t���t
�-%����H��t���u
��%����H��A�1ɿH�aH�5��h��H�1�$1�L�b�H�5KH�=��H�������� �1�����ff.���H��t'H��H���@H�=�$�/��H��$H���H���$����UH��H��H��SH��1��H��H������H��H�߾H��1����H��H�߾H��1����H��H�߾H��1�����H��H�߾H�1����H��H�߾H�E1����H��H�߾L�;H�	1��z���H��H�߾L�6H�)1��Z���H��H�߾L��H�I1��:���H��H��H��L��[H�Y]�1�����@���%1������ff.���H��t���t�t�f.�SH���7��C H��[������H�u�$SH�H��t@���t�{tH�[0H��u�[ÐH�������fD��H��t7�u1SH�w(H��H��t�
��H�{(����H�C(H��[�@��ff.�@��H��$SH�H��t@���t�{tH�[0H��u�[ÐH�������fD��H���$H�H��t+D���t�H�Q���vH�@0H��u��D��1��ff.�@��H�U�$SH�H��u�5f.�H�[0H��t"���t�C����w�H���^�H�[0H��u�[���H��$SH�H��t@���t�{tH�[0H��u�[ÐH������fD��H�Ż$SH�H��u"�Jf.���t)H�����H�[0H��t*�C��u�H�������C��u�H��������[�ff.���USH��H��tAH�J�$H��H�H��t%�H�sH��tH������t	H�[0H��u�H��H��[]�1���ff.����H����H�5�$H�H�����WH��;Q
�+9P}#H�@0H��u��H��H�A0H��u�H�y0�fDH�P8H��tGH�z0H�G0H�x8�O��x)H�5�$1�H��H��t9J|H�<ƋOH��9�}��DH�>�1��H�>����ATA��@U���S�4��H��H��tPA����kDO���H��Hc�H�>��f�H�A�$H�CDD�cH����H�����H��[]A\�@H�ѹ$�C H�C��@H���$H�C�H�9�$�C H�C�@H�ٸ$H�C�H�A�$H�C�H��1���H��[]A\�ff.���AUA���ATA��UH��SH�����H��H��t)E��u2H��$H�8�c�D�cH��tH���2���H�CH��H��[]A\A]�H��$H�8�1��C �����ATI��U1�S����L�������ھH���U��H���$H�H��u�T@H�[0H��t7�{u�H�C(��C ��u�H���/�H�[0H��u�fD��t[]A\�������H��H��t�H�@(L���I����C H�C���u�H��[]A\���ff.����H��1��!���H��H���p����H���$S1�H�H��u�8�H�[0H��t!�C����w�H���d�H�[0�H��u߅�t[þ�����H��H��t�H�=i���H�C[����H�5�$SH�1�H��u�8�H�[0H��t�{u�H�����H�[0�H��u�t[�D���q��H��H��t�H�=^�
�H�C[����H����H��1�H��t
��H���f.���H���S�H��1�H��t
���H���f.���H����SH�W8H�G0H��tmH�B0H�G0H��tH�W8H�P8�G��x11�H���$�fDH��9G|H9<�u�H�O0H��H��9G}�H��H��L��H���D���[�DH�ѵ$H��@1��D��S��H���$H�;H��t���H�;H��u�[Ð����%��%ATI��U��S��ts��uG���O�H���$Hc�H��H��t ����t;k|L���H��SH�[0H��u�[]A\�@H����H�=5�$�3%����@��t[L��H�=�$��]A\�w���H��$��%H�8�'���D��SH�щ�H��H��dH�%(H�D$1�H��H�$���x,H�4$������H�<$����1�H�L$dH3%(uH��[�H�5q�������������-��ff.�f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�L$dH3%(uH�����k��ff.���USH��H���n����8H�����H��tOH��t"H��H��H�ڿ[H�5|�1�]����MH��H�ڿ[H�5L�1�]��f�H��t#H��H�¿1�[H�5Q�]����UH��H�5	�1�[�]�l�ff.����H��tWSH�(H��tH��[�s���H���H�5��H�HD����H��t&H�C(H������H��[�9�f���H�{[�N��ff.���USH��H��$H�H��tE1��H�[0H��t5���t�C��t1��u��u�H���(��H�߾���H�[0H��u�H��[]�H�߽����H�{�s(�_����ff.�f���AUA��ATI���U��SH�����H��H��tD�hL����H�C���t��H�����H��H��[]A\A]��%1�����������AVAUI��ATA��UH�oSH�� H�|$L�t$dH�%(H�D$1��D$H��H�l$�?�D$etI���X��=u
H�hH�l$�X��tU�p��H�H�E��H�D$H���X���t/�DY u�1�A��A�<.�H�����Hc�H�>��M��tH���$�HcI�D�H�D$�A��P���.��H�
���Hc�H�>��H�t$H�|$�m��ƃ����M����H�D$�8�pH�
�$����D9��YHc�I�D�H�D$�i���H���$H�;H��tf��+�H�;H��u���'��H��t�T$�P1�H�t$dH34%(�H�� []A\A]A^�1�H�t$H�|$���ƃ����H�L$��� uH��H�L$H���Q��� t����M����H�6�$����H�I�|�H�|$���T$�H�
<����1��L���H�t$H�|$���Ń���]�����H�ԯ$�����H�t$H�|$����ƃ���,��t
H���$��T$�H�D$���t
H���$�H���������H��H�������H�D$H���\��A�<E�1H�����Hc�H�>��H�|$���t
H��$�H���h�T$������=�1��M����T$�H�
��1���1��/���H�t$H�|$���ƃ��tD��t
H���$��T$������1���������H�|�$H�5��H�81������������H�|$�H���1Ҿ�Q���1Ҿ�e���H�t$H�|$�s��ƃ��u��f.�H�|$��
���H�t$H�|$�B��Ń�������DH�t$H�|$�!��ƃ���J����c����H�D$��V���A�����D$1��C���H�����L�c(1�H�C�ѹ����H���'���1����A�����A���A�����A���A�����A�����y���A�����i���A�����Y���A�����I���H��$H�i��H�81���H���J�����9���H�t$H�|$�����"���H���$��H�=�H��+������H���$��H�=��H����������F��fD��H��1�1��0����U��SH��H��tH�����H��tZH����H��[]����f�H�	�$H�H��u�)�H�[0H��t�{u�H�߉����H�[0H��u�H��[]��H����H��1�[�]�����H���$H�ÐAU��I��ATI��U��SH��dH�%(H��$1�H���)��t
H���T��H��tH����H��tzH��L�����L��H���7��H��tmH�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)�H���<
�w�����n���fDH�5���1��u��H��$dH3%(uH��[]A\A]����ff.�@AWI��AVAUI��ATUSH��H��HdH�%(H��$81�����H�*��H��HD�H��H�l$�I���H��H�D$H���>H�$E1�I��f.�L������H����H�l$H�$H��H�l$ �f����SH��H�D$��uHŀ}
u�E�SD���7H�{M��u	H�����C��J��2H�|$ ����H��L��L��H�D$(�S�����C���H�l$��GH�|$L���E1��E��H���?���M��t`H��$8dH3%(��H��HL��[]A\A]A^A_�g��������I��H���E���H�5���1����H��$8dH3%(�dH��H[]A\A]A^A_�fD����C��H�l$H�|$�v���fDH�|$ �f��H�D$ H���������fDH�|$H�|$ �����H�|$ ��H��H�D$ H�������1�H�5������M������=���@H������H��H�D$H������E1�����f.�L��L������C�i���DH�|$ ���H�l$H�|$����H�|$0�H�D$H�|$�c�������C�����H�5�1�����M���*�������G���AW��AVI��AUI��ATA��U1�SH��dH�%(H��$1�H���rf�E��t
H������H��tW�����I��H����H�hH����I�H����H��胯��I�GH��t�I�GL��L���g��L��H�����H��tuH��H�؋H����������!ʁ ��t����€�D�H�HHD���@�H��H)�H���<
�3�����*���f.�H�5��1�����H��$dH3%(uWH��[]A\A]A^A_��H�5������H��$dH3%(uH��L��[]A\A]A^A_������ff.���AUI��ATUH��SH��H��H� �@���H�����H�x�[��I��H����I�U ����~`������������A�$H��DP�6H�5xL���������H�50�L�������uYH�E�.f���u{1�1�H��述��H�EI������8"u
I�����H�{ ��H�EH�H�EH��1�[]A\A]�H�5���1��@��H���[]A\A]�H����H�E�f�H�5���1��
���1�1�H���<��H�EI���P����8"�s���H��������I�I����\���H�5*��1�����D����H�E�/���1�1�L���į��H�E����H�5���1��x�������AWAVAUATUSH��H����M��A�Ή�I��H��I��H��twH���W��������{H�5k�� ��I��H�������������t}H�D$��H�5��1������L�D$L�������C�����9D��u�H�=l��7��I��H��tH���Ǿ�����p���L���Ƕ��E1�H��L��[]A\A]A^A_�f�D��L��H��H�D$����L�D$���M���y���D��L��L��H��H�D$����L�D$�Y����D��L��H��H�D$����L�D$�5����CtM���j���M9��a����T����{����fD��ATUSH��@dH�%(H�D$81�H����H��H��I��E1�1�1�1����H��H��ttf�H�A���L�D$H�D$ )D$H�D$(H�D$L�d$0H��tFH��1ɺH���$��H��H��詿��H�t$8dH34%(H��uxH��@[]A\�D1���@H�=��L�D$���L�D$H��I��t$1ɺH��H�����H��H��u�L�������H�5��1�����H���#����u������f���9>v��H�v�����H��H��H!��ff.�f���1�9>vH�V������H��H������AT�US�9�tdA��H����_���#H�}H�}�����پA9�~%���L�EH��H�����H��I!�A9�u�D�e�[]A\�@�����H�H��?H���4ŀ��v!H��(��H�EH����]�fDH���(��H�EH�����oE�oM �oU0�o]@�oeP�om`�oup�o��HP X0`@hPp`xp����@A��u����H��D�e�-���fDH��oE�oOM �oW U0�o_0]@�og@eP�ooPm`�ow`up�op���m���]���D1����f��E1����f���U��SH��H���9�|�tH���l����9�~�H�s�����H��H	�H��[]�����H�G�)���f���AVM��AUA��ATI��UH��SH��H��t9>rdH��tnD9mrAM��tE;,$��M�d$H�mH��tH�[M��L��H��H��D��[]A\A]A^�t���@D��H��襰��M��u��fD��H��莰��H��u�M��t4E;,$wM�d$��D��L���e�����D��L���U����n���L���o������S1�H���1����H�C[Ð��UH��SH��H������H�E�o�oKH�oS P �o[0X0�oc@`@�okPhP�os`p`�o{pxpH��[]�D���>��AUATUSH��H�F�o�oHO�oP W �oX0_0�o`@g@�ohPoP�op`w`�oxpp����FI��Lc��L��I���4������������?)�H��H��H��I!ā�u�H��1�[]A\A]�1����H�������f.�@���ff.���H�==�$H��t0H��1����H�=&�$�ɯ��H��$H���f��ff.�@��H�v@H�@���ff.�@��UH��SH��H�^H������H�}H��H��H��[]����f���UH��SH��H�^8H���ת��H�}8H��H��H��[]���f���UH��SH��H�^H��觪��H�}H��H��H��[]鲫��f�UH��S��H���@��H�ƃ��t ��H�=/�$�����u3H����[]�DH�=�$H�D$���H�t$�Ã���D�뻉�H��H�5w�1��������F���@H��t;H���.�=���H��t H�pH�=��������tH���fD1�H��Ð1��ff.�f�USH��H�$H��dH�%(H��$1�H��H�=Q�$�<������tgH����m��H��H��SI���L�.��1��ů��H��Ƅ$���ZYH��$dH3%(uH��[]�fD1���臿���ATUSH��H�$H��dH�%(H��$�1�H����I��H����H��$�I��H��1�H����H��VL�������H�T$H�޿����ZY�����D$���(����H��H����H�����L��H��	��H�C�f�CH��$�dH3%(H����H�Ġ[]A\�fDH�5���1�1��+���f�H��H�5n��1��
��1��fDH��H�5���1�����1��w���L��H��H�5c�1�������V������ff.�f�AWAVAUATUSH��H�$H��8dH�%(H��$(1�H����H�����L�|$ I���L��L�|$�D$衫���/L���T���H�����A�I����������!�%����t������D�I�WLD����I�I��E1�L+|$E1�H�D$L;d$sCI�nJ��L�TI�L�$H��t&H�0H�|$L��謧��L�$��uDA��Mc�L;d$r�Lcd$L;d$tM�&H��$(dH3%(uqH��8[]A\A]A^A_�f��D$�x�A9�}9����D)�L�H���
I�nH��H�DH�SH�DH9�u�I�VHc�L��I�I��|$H�D$�#����N���ff.���H��t/H��t*H�W1�H��t!H�NX�H9JX}1�H;Jh���fD1��DUH��H�=��SH���+���H��H��t3H���+��H���H�]H�CPH����H���H��H��[]ÐH��H�5&��1��Z�������UH��SH��H��H�vH��S����uH�uH�;H��[]�=��DH��[]Ð��UH��SH��H��H�HH�vHH��tSH��H��lHD������u,H�uH�;������uH�uH�{H��[]����f�H��[]�f�H�=�lH��u��f���UH��SH��H��H�vH������u
�9E|
����H��[]ø������@���9|&H�vH��W�����f.�������f.���U1�SH��H���̣����~.�.H�����H��tH�pH�=l�1�賤������@��H����[]�AWAVAUATUH��H�5��SH��H��(H�=V�$dH�%(H�D$1�����f�H��H�D$)$H��H�\$�PpI��H��t2L�8I��wYI�<$v"H��tH��L�����I�<$���H�|$dH3<%(L���6H��([]A\A]A^A_�f.�H��t�H��E1�Ic�轢��1�Lc��I�D$H��H��tpH�RB�<2.���s�D9�����Ic�D)�H��H�H���
DI�D$H��L�DH�yL�H9�u�I�D$Hc�H��Hc�M�<$L9�r�L9�tuI�$H�������I�|$���L��E1��������fDJ�t2H�=���������u�s�I�D$D9��O���Ic�Ic��fDA��Ic���L�������ff.�ATUSH��H�$H�����L��dH�%(H��$1�I��H���wL�H��L��軧��XZ褰��H���|���H����L���lH��H���ۭ����~g1�1�1�H���	���I��H��t1H�EH�����H��$dH3%(L��urH��[]A\�H�UH�5��1������H�UH�5��1�E1�����H������@H�5���1�E1�����x����ض������ff.���UH��SH��H��H�8H�v8H��tSH��H�RhHD��p�����u,H�uH�;�`�����uH�uH�{H��[]�I���f�H��[]�f�H�=hH��u��f���H��H�=��$H��t1��Ŵ��H�=��$�	���H�v�$H�=�$H��t1�蛴��H�=l�$�ߣ��H�\�$H�=M�$H��t1��q���H�=:�$赣��H�*�$H���������SH�=t��߶��H���$H��t+H�=o�H������H���H�ޏ$H���[�DH�5Y��1�����[�_���ff.�@��UH��SH��H�t�$H��tH���o��H��H��H��[]�޼��fD����H�D�$H��u�H��[]���UL��H�����SH�5��H�=^�H��H�
Ӌ$辙��H�=�����H�#�$H���UH�=���ֵ��H��H����H�=������H�CPH�=��$H��H���H����H����Ҷ��H�=��膵��H��H���ZH�=��~��H�CPH�=��$H��H���H�N���H���H���H����t���H�=B��(���H��H���<H�=��H�->������H�CPH�=2�$H��H���H��H���H�������H�=���ʴ��H��H���$H����H�=�����H���H���H�vH�CP�]���H�=������H�=��H���=��H�=���q���H�=g�H�����H�=���Q���H�=G�H�����H�=��1���H�='�H������H�=�����H�=�H�����H�=������H�=��H�����H�=�e�����H�=��H���}��H�=
�����H�=�H���]��H�=�����H�=��H���=��H�=���q���H�=��H�����H�=���Q���H�=��H�����H�=���1���H�=��H������H�=������H�=a�H�����H�=�������H�=o�H�����H�=������H�=O�H���}��H�=N�����H�=/�H���]��H�=5�����H�=�H���=��H�=��q���H�=��H�����H�=u��Q��H���H�=��[H��]����H�5Q��1�荻���ظ���v���H�5��1��m���踸���V���H�5A��1��M���蘸���6���H�5Q��1��-����x���������H���$�@��H����SH��H�?H��t袲��H�H�{H��t
荲��H�CH�{8H��t
�w���H�C8H�{0H��t
�a���H�C0H�{@H��t
�K���H�C@H�{HH��t
�5���H�CHH�{H��t����H�C H��tH9X tH��[�����H�@ H��[���������7������H��toSH��H�?H��t趱��H�H�{H��t
衱��H�CH�{�Ю��H�C H��tH9X tH��[�x����H�@ H��[�_������������AVAUATUSH��H�$H��dH�%(H��$1�H��荧��H���e���H����H��H���sL�I�Ĺ�H��1�L�c��\���XH��Z�l�L��蕤�������K�ф�u;H�{�.��H��H����H�pH�=_�記��������C���Ѐ�������1�L���k���H��H����L������H�kH���k����u�KH�{8��H�{0��H�{@�YH�{H�6H��$dH3%(H���H��[]A\A]A^�@�C1�H�KH�5W��1����L��1��Q��H�S�1�H�5���ڷ����1�1ҾL���O����1�1�1�L������H��H��t��{t|H�{ ����1�1ҾL������1�1�1�L���B���I��H������H�sH�;��I��H�������L�hH�=��$H���K�������I�^ L�s �K�����C�{����1�1�H������H�CH���H������H��CP���r���H�C@���f�H���X���1�1�H�����H�{8H�C0H��I���ɵ�����E���L���I���H�=�����H�C0�(���@H��蘱��1�1�H��謴��H�C8���H�5U��1�1��K�������fDH��H�5��1��*���L��1��������L���c��������I���f�USH��H��tEH�oH��tH��H��[]�f��H��uH����C��tH��H��[]�)���f�1��@H�K1ҿH�5��葵���ff.�@��H��tH�GH��t�D��1��ff.�f�AWAVAUATUSH��H�$H��H�$H��8dH�%(H��$(&1�H�P�L��$ HDŽ$�H��$�H�0�H��$�H�8]HDŽ$�H��$�HDŽ$��v���L���L���I���1���ә��L��Ƅ$&����H���H��$ I��L�5�H�EH�$L������H��H���
�G����SH��DPt�H�{�
1��i���H��A���޲��H���L��SI��L�����1��6���Ƅ$/&L��AYL��AZ�_���H��H���s���H�¾,H������H��tcH��
H����������!�%����t�� H������D�H�JHDщ��H��H)�Ƅ����H��t�H�<$D����H���c���L�����H��H����L���׷��H�=��蛐��H��H����	�1���H��H��H��$�萾��H��H��$�H���\	H��$�H�5�WH��H�D$h�`���H�D$XH����H��L��$����Ѓ�H��ԠH�D$pH��$ H�L$xH�$H�D$pH��ĠH���H�L$xL��$�L��$ H�L$ H��$�H�L$`H��$`H�L$PH��L����L��PL�L$h��1��\���H�T$p�L���j���_AX������$�%�=@�oL�����I��H���	H�T$PH�ƿ�"����Ņ��(H��$�H9�$(�H�L$P1�A�0L��H������H����H�5�|L�����I��H���L�����L��L��H�D$蕴��� L���H���H����1�H�x�
�_������~H��$�H�D$H��$H�D$HH��$`H�D$�L���L���(���H������$ <ctC<k��H�4$I�|$���؄��H����L��H�5���1�艰����H�4$I�|$��蝄��H���\H�t$�H��肄��H���AH�\$H�H��H���d���H���#H�t$��H���I���H���H��$�AH��H��H�L$8�#���H����H��$ �H��H��H�L$@���H����H�|$�
1���H�ߺ
1�H�D$(�߮���X�H�D$0���H��H���L������H�<$H�����CH�|$H�C�D$(�C�D$0�CP�ٺ��H�|$8H�C@�˺��H�|$@H�CH轺��H�|$H��H�C8�,�����t7H��� ����#���H�4$L����H��H��t$H�=��$H�������u����f�H����������L��H�5���1�誮�����DL�d$H�D$H��PH�|$覶��H��tH��艟��H�D$ H�D$ H�H������H�T$hH�5+S1��߸��H�D$XH�������H��$(&dH3%(�H��$�H��8&[]A\A]A^A_鼥��@L��H�5���1���L�����L��蒥��H�\$1�H��賡��H�����L�����H��H���C�H�5�H���!���H��H��tA�L��1�H���H�����L9�tH������A�
1�L��1�H�I�贻��H�D$H�������H�D$H��PxH�D$H�������H��P H��H�������L�|$L�d$��@�X��Y���I��H����L���u���H��I�$�i���A�D$L��I�D$E�l$���H���HI�D$H�=d�$L��贩������+H��t<H��A�t$8H��H��A�t$HH����1�A�t$@E�L$PE�D$�ޱ��H�� L��A�W8H��H�������H����H��M��SH�|$A��L�ev��1��R���XZA�������H��L����I��H��t�H���ۅ��H����I�EH�=��$L���ߨ�������H���c���H��H�=�H��1���$����E����L��蠜��L���8���L����H��H�����������L������Ã��������H���L��SI��L�����1�L���l���Ƅ$/&L��Y^H�5c�蓢��H��H���n���A�
1�L��1�H����N���H�D$H��������b���L�����L���x�����tDH�D$H��PxH��H���}H��P H��tf�H�=Q�$H��衧��H��S8H��u�H��SH�|$覍������L���x���	���H�$L��H�5*�1���F����)����L��舨������H�5���1������6����H��L��H�5��1��������f�1�H��H�D$���H�D$H������L���|�������A�
1�L��1�H�������H�D$H��� ���1��L���f�H��$(&dH3%(uVH��8&[]A\A]A^A_�膁��H���?���1Ҿ�L���߷������L��H�5���1��4���L���ܠ���\����b���f���AUATUSH��dH�%(H��$1�H���$H����H��PH��t)H��$dH3%(�OH��[]A\A]�@�c����^�H�W�$H��PxH��H����H��I��P H��H��t@H�{ tH��U8H��H��u�H��U�H�K��L��1�H��覬���.L���I���H��t��H�3L���f�I��H��t�H�8H�xt4迟��L��跟���DH�5�������	���f.�H�H�P H��t#H9�t�H�P�H�5��1�踧��I�|$�H�C H�X �HI�|$�fDH�5I��1�腧���Ф�����趜��fD��AWAVAUATUH��SH��xdH�%(H�D$h1�H��D$��H�} H��tH���L�%T�L�l$�fDH�{��H��L�u0M�����L��L���������H�](H��u�H�=��$H�5P������L��L��I��H���H�L�t$HL��A�PpI��H����E1�I�~M9>��J��H�{H����H�u�&�����tbI�~�	���L������H�](H�{�=���H���:�H��t]H�](H���#���H�T$hdH3%(�D$��H��x[]A\A]A^A_ÐI��I�~M9>�o���蚝��L��蒝��f�H�E(�D$�����fDH����H��t�H�{�C���f���E1�H��A��A��D�t$�\������H�������ED$�D$�U���贚��@��H��H��$1�H�5���H����H�=��$1�H�5��H���H����f���H����ATUH��S���tC��:tH����I���fD��:t3I�$��DBt�{��H����]H���]��u�[]A\�D�]L�e��t;@��:t%讘����H��DPt�l{��H����]H��I��A�$��u��E[]A\���ff.�@SH��0dH�%(H��$(1�H��t`H�\$`H����H���{���H������H��1��H���H�H���$H�\$@H��PXH��$(dH3%(uH��0[�D1����������ATI��U��SH��0dH�%(H�D$(1���u[��������1���m���H���tH�¾�����H��H�L$(dH3%(H���H��0[]A\�f����t��������?������u.1�H���T��I��H��tH�8H�x�n詚��L��衚���1��w���f�1��贘��H���G���1�E��@��1���蘘��H���+����1�胘����H�����H������f����H��t�H�$H���$H��H��PXH���e���H�xH���X������H��H���G����C���;���H��胫����������1����1�����H���w���1����@��usH����H�$H�w�$�k���f�����H��H��u�L��������H���g����H���8���H���P���H��8���L���0����;���H�5y��1�1��c������fDH�5���1�1��C��������y���f���H��t/H�W(1�H��t)���tH�G ��8�
F��D��f���SH��H��D��H��dH�%(H�L$1�H��A��H����A��tdM��t_D�F��C�t9�rP�7D�V�A��wCA�1Mc�H��H�$H�OH������H�$���������H�T$dH3%(uH��[�@�������茕��ff.����AVAUATUSH�� dH�%(H�D$1�H�H�D$H����I��H����A��H��H��H��E���~����tsA�E���wzH�T$H�t$I��D��L�
�DL��H�D$����H�T$H�U��uDH�D$H�EI�$D�(1�H�L$dH3%(u)H�� []A\A]A^�DH�E��fD�������蜔��ff.����H��tnH�>thH�~taUSH��H������H��H��tDH����H��H��t4�����H��藞��H��tH��誖��H��H��菭��1�H��[]�fD���������D��H��u
�DH��H�F(H��u��/���������f���H��$H��t��H���ϕ��H��$H�����ATI��0UH���S賄��H��H��tsH��tH���}��H=�w.H��辩��H�CM��tL���=��L�c(�C H��[]A\�fDH���1�H�5z����H��1�蓕��H��[]A\�H�51��1��ŝ�����H��t7SH��H�H��t
�U���H�CH�{H��t�?���H��[�6���fD�ff.�@��AUATUSH�����H��tI��H��PH��uH��[]A\A]��1�1�L���<���I��H����H��PxH��H����H��P H��H��u�FfDH��U8H��H��t2�C!t�H��L���I�����u�H���my��H��U8H��H��u��H��UH��L��[]A\A]����H��H�5E��1�[]A\A]郜��H�5Q��1��m����ff.����x�����SH��t5H��H�=�$�G����Å�u	��[�DH�5!��1�������[û������f.���SH��t5H��H�=��$�W����Å�u	��[�DH�5���1��ś����[û������f.���H��H��tH�=E�$�gXf.�1��ff.�f���U��H�=�SH�����H��H����H�=����H���H���H�CPH����H�����uH��H��[]�f�H�=ξ蔑��H��H��tlH�=Ҿ萦��H��H��H���H�\��H���H����H���蒒��H��H��[]��H�5	��1�譚���|����H�5��1�荚��H��1��}���R���ff.���S��1|��L��1�H�
��H��H�5�H��$�wt��H�=�諐��H�Ŀ$H����H�=�H��蜥��H���L�V�1�H��1�H�5��'t��H�=��[���H��H�i�$H��t\H�=��P���H���L�z�1�1�[H��H�5ͽ��s��f.�H�5���1��}����s����H�5���1��]����ff.���H��H��H�=*��y������D�H���f���H��tS1�H�����H��[�3|���ff.�@��AVAUATUSH�� dH�%(H��$1�H���yH��H�?H���jH�S�$H���bL�t$I��L�d$H�D$L��L��L�$$�
u��H�$H�EH�D$��g���H�$H���DP�B1�1��i���H��H�����H!1��
L���j���L��L��H�}H�D$L�$$�t��H�$H�EH�D$��|$-���C L����
r��H����H�x������S���H�CH�}H����L��L��L�$$H�D$�*t��H�$H�EH�D$��|$-u�|$-��H�uH�=�1������C���zH��$dH3%(H����H�� []A\A]A^À|$-�5���I�|$�K����C ����H�}L��L��L�$$H�D$�s��H�$H�EH�D$���fDL���w��L���X���H�C�����I�T$�H�=V�H���������H�}H���HL��L��L�$$H�D$�s��L��H�E��H�CH�����C��1������=��$����H�5<�����$�������fDH�=E�1�1�谂�����H�=X�1�蚂�����DH��1��vr���w�����H�=7�H�������t&�H�=w`H�������u4�C�6����C�*���@H�=��1��"�������D�H�=��H�������u7�C���f�H�=͹��������H�=v��́������H�=:�H�������u�C����H�=�H�������u�C�q���L��H�=s�1��j����P�������SH��H�|$H�t$��k��H��tH��H���{����uH��[�fDH���q��H�=ɴ1�����H��[�ff.����AWAVAUATUSH��hdH�%(H�D$X1�H����I���WH���vL��A�U1�1�L������H�D$H���}H�D$H��PxH�D$H���!H�D$H��P I��H����H�D$ H�D$I�\$�Q���H����H����H�5e�H����H����H�L$f�H��)H��)A)A H�\$(�PpH��H���yH�@H��A�$�PA�T$�P A�T$ H�xH��t轞��I�D$H����H�}����aDA�A�A�FA�GA�F A�G I�~H��t�s���I�GH���@I�D$(L��L��I�G(�ҏ������H��H9]��H�EL�4�I�v(I�~跛��I��H��u�H�5���1��|���H�}�#���H������H�D$H��PH�|$�u�������H�T$XdH3%(��H��h[]A\A]A^A_�fDH�}�ω��H���lj��H�D$H��P8I��H���E���H�D$H��PH�|$�u��L��A�U1��L��L���E�����t��a���@L���`n���?����H�5w�誑��H�|$��t��������E���H�5V��腑��L���n�����H�5	���g������������H�5���L�������肆��f���H�ն$�@��AUA���ATI���UH��SH���jw��H��H��t%M��tL��腜��H�D�kH��tH���q���H�CH��H��[]A\A]�ff.�@��H��t7SH��H�?H��t�V���H�H�{H��t�A���H��[�8�����ff.�@��AVAUATUSH�� dH�%(H��$1�H����H�?H���|1�1�1�1����H��H���cL�t$I��H�;L�d$L��L��L�$$H�D$�l��H�$H�H�D$�H�|$�H�;L��L��L�$$H�D$�Ll��H�$H�H�D$��|$-���EL���p��L������L��H�E�
H����������!�%����t������D�H�JHDщ�@�H��L)�UH��$dH34%(H����H�� []A\A]A^Ð�|$-�t���I�|$�;���L��L��L�$$�EH�;H�D$�}k��H�$H�H�D$��;����L���X���H�E����1��f������ff.����H��t>SH��H��H�=)�$蔋����u[�H�H�5���1��h���H��� ��������[ø�������H��H�|$H�t$�9q��H��t�@H������H�����H��t6SH��H��H�=��$�t�����u[�H�H�5ز�1���������[ø�����ff.���H��H��tH�=]�$�gXf.�1��ff.�f���H�-�$�@��USH��H��t1H��� ���s��H��H��tH�����H�EH��H��[]Ð1�H��H��[]�@��H��tGSH��H�?H��t�ք��H�H�{H��t
���H�CH�{H��t諄��H��[预��f��ff.�@��AWAVAUATUSH��(H�l$`L�t$hH�t$H�L$L�L$L�}H���HM���?H���6H��H�?H�t$M��I���i��H�H���I�EH�T$L�l$L���H�;H����h��H�H����H�EH�T$�H�|$�?-tqA��m��H�|$��j��L��H�t$H�EH�;�h��H�T$H�I�$�A���<��1�H�}uI�$H��tcH��tSH��([]A\A]A^A_�@�-u�H�����H��L��A�L�}H�;�,h��H�T$H�H�E�H�|$�U���f�H�T$�:*u�H�=׬�*t����������������H�=Q��
t��������m���H�=y���s��������W���f.���H��t>SH��H��H�=��$������u[�H�H�5��1����H����������[ø�������ATUSH��@H�t$H�T$H�\$0L��$0H��$0H��H�|$H��M��dH�%(H��$81�H�D$H�D$H�D$ H�D$(PH�D$0PL�D$0�p���ZY��xHH�|$tH�=f��vm��H���^���H��H��t$�H�D$H�|$(�CuBH�|$ u*H����u��H��$8dH3%(u5H��@[]A\�H���h���H�C��f�L���X���H�|$ H�Ct����~��D��H��t6SH��H��H�=1�$������u[�H�H�5ˮ�1��x��������[ø�����ff.���H��8dH�%(H�D$(1�H��t3H�Ԯ$H�<$H��H��PXH��tH�@H�T$(dH3%(u
H��8Ð1����G~���USH��hdH�%(H�D$X1�H�D$H�������~z������ulL�GA������Ѓ��uBH�|$1�H��I�@�<
�H��H����ٍD0W�B��B�:A9������H���@�=!�$��1�H��H�\$XdH3%(��H��h[]��H�wH�|$�"���H�l$H��t�H��蠓��H�ú�H�5�H��蹓����I�@H�\$�H�
2-H���PD�HD�R�@�<P1��il��H���A���H�l$H��XZH��u��G���DH�5��1�1��A�$�|���H�l$���|�����=&�$t�f�H����$�`��1��H���\����USH��H��tQH����H����8�uAH��H���6���H��t1H��t<H�3�UH���>���H��H����e���EH��H��[]�fD1�H��H��[]�@1�1�H������H��H��u�H��H��[]�f���AUATUSH��H��t}H����H����8�umH��H��袁��I��H��tZ1�1Ҿ
H��������tDD�`H��tKH�H��tCD;e-D��H�ھ
L���ʌ���EH��H��[]A\A]�f�1�H��H��[]A\A]�Ic��cl��H��H��t�D��H�¾
L���x���H��t�말��H����AUATUSH�����H��H��t\1�����H��赏��9�}A��H����y��H��I���Lv���xI��u�L��苃��H���#s��A�Ņ�uL���Đ���f�H��[]A\A]�D���j��D���Z����������ff.���ATUSH��t3H����H����1�8�uA��H���Vl��H��H��tH��[]A\�fD1���@D��H�5���1��„��H����Y�������H��tgH��A��H����A8�uUAUE��ATI��UH�պ����SH��H��腔����x!H��E��L��H��H�߉�[]A\A]�4e��@H��1�[]A\A]�1��ff.�f���AVAUATUSH��dH�%(H�D$1�H����I��H��I����M����8���������UH�����A�ƅ�����H���&k��H��H����5���H���\��H��H���$H��1�1�H���Ґ��H�5���u]H��1ҾH���o��I��M����I�,$H��tA;E)Lc�H�4$H��L����m��B�D%E�uH��蕒���%H�5���1�����H���u���D1�H�L$dH3%(H����H��[]A\A]A^�f.�A�v�Hc��/i��H��H��t�Mc�H�4$H��L���Em��B�D%M���i����`����D��H�5���1�节��H���W���o���H�5���1�1��h����U����w��ff.�����t7��At8���t6���t4���t2�����D��fD�øøøø�f���1���w
Hc�H�{�������H��tH���~U��H�����Cu��1��ff.�f���AUATUSH��hdH�%(H�D$X1�H�D$H����H�����&U����A����t�����uE��u"��w,H�
ƨ��Hc�H�>��f.�D���t���Ã�vԉ�H�5���1�����1��r�H�5ɧ�1�����8`��I��D���mt��9�tD���at��H�\$H�L$L��H��H���f����tE�t$H�T$H����d��H�D$H����H�t$XdH34%(��H��h[]A\A]��H�5i��1��]���H�D$�fD苌��I���^����}��I���N����ۆ��I���>����k���I���.���H�5���1����1��`���fD1��S���f�H�5�������H�D$�/����u����AWAVAUATUSH��H���]H���}j��I��H���Q�����H�����H��H���0L��1�莈��I��H���BH�XL���v`��1�A�D$ �a��H��H���.L��H���C|��H���;U��I��H��tH��E1��He������H��SH��SH����H��H��[]A\A]A^A_�f�D��L���a���H��I���U~��H��H�D$tF1�L���ч��H�T$H��H����H�PL��A���_��H��H�߈E �{��L���d��A9�|�L���d��A9��T���1�H���:r���E���DH���xa��1��F����H�5��1�1��+~���+���fDH��1���u�������L���Z������H���u���~�����AW1�1�AVAUA���UATUSH���^��H��� H��H����c���Ņ��E�e�E1�E�u�H�D$A��� D�������A��A9�tTD��H���_�����u�E��u�H���V�H�D$H��H��t(H�]��t��x�T��H����EH��H�]��u�H�D$H��[]A\A]A^A_�DA�������H��H��[]A\A]A^A_����A��t
A���R���H�����@H��H�D$�Y��H���/���H�h�V���H�D$�u���fD��SH��tP�W��.��}q��uLH����H��H��t-H���+[��H�� weH��[Ã�u#H�(1�1��N���H��H��u�1�H��[��1�H�5?��1��|��H��[�fDH�~(���x��H��H��u�1�뽐H��1��s���@��H����O������H�����fD��ATUH��S�@`��H��tlH��H�=��H��HD�L�%��H��H��L��1��{{��H�ى�A��H����A��1���H�5����L{����_��H��H��u�[]A\�f.���ATUH��SH��H��dH�%(H��$�1�H��t�����H��t�E����H�����c~��H����I�亀H��L��觀��H��t6H�5ѠL���S��H��t"H�p�H�=������������EH��t5H�5��L����R��H��t!H�p�H�=~�����������H��$�dH3%(uH�Đ[]A\��no��f.�@��H��H���
1��Iy����H�H��b$H������U�H�=*ZSH��H����������H�=4[H�����1���H�5([H���m����teH�5[H���m����tRH�5#EH���m����tH�5�ZH���pm����ul��1��[V��H���1�[]�9}��f���1���*V�������1���
V���M���D��u�H��H�=��[]�a��f.���H��H���$H�5��$�FU��fD�����$��tÐUSH��H��H�=��$H��t�6p��H���NW��H�hH���u��H�s�$H��tH��H��H��H��[]��b��f�H��[]�f�AUATUSH��8dH�%(H�D$(1�H����H��H����I��1Ҿ���P���Ņ�x|I��f�L��L��)$)D$H�D$ �[����L��'�1��
w����A�Ņ�u4�φ���D$�A�D$f�CH�L$(dH3%(D��uH��8[]A\A]Ð蛆��A��������l��ff.���H��H���
1��v����_$����wH���fDH�=����_����_$H���D��U�SH��H�5՞H��H���j�������H�=&WH���������H�5��H����j������H�5��H�߽�j����ty�H�=9AH�������t_H�5a�H���j����tLH�5]�H�߽�ij����t4�H�=�AH�������tH�5�H���<j��������H����[]����SH���w����x�1����S���1�[��y��@H��H�=֝1��b���1�[��y��f���AVAUATUSH��0dH�%(H�D$(1��\$h�G�L�l$`����7��H��H�z�I��Hc�H�>��H����v������H��X��1��0Z��H��Pf�H�L$(dH3%(����H��0[]A\A]A^�DH��H�L$蛀��H�L$H�H���5����1��fDH�D$ � H�D$�\q��H�D$ H����H�T$H�t$M��H�|$ �2j�����tH�D$H�P�H���2H�T$ H���1�H����-���DH�D$ � H�D$��p��H�D$ H����H�T$H�t$M��H�|$ �i�����HH�D$ 1�H���H�D$H������1�H�t$H�|$ M��H��`H���H�D$@H�D$ �Xi��������H�C$����H�=��H�荂���X����H��L�D$���L�D$I�H���x����XH�.���D�L$L�t$�G���
L��L���H���hN���������MH�D$D�L$L9��:�8,��L�%}B$Ic$D9���I�|��
L���N��������uIc$H�t$I9t�����H�B$�(���H�=��H�蓁���^���fDH���g������H�����1��H���H����,���@H�D$ � H�D$��n��H�D$ H���TH�T$H�t$M��H�|$ �g������H�D$H�P�H����H�T$ H���1�H������DH�D$ � H�D$�\n��H�D$ H���RH�T$H�t$M��H�|$ �2g������H�D$ 1�H��@H�D$H��H�;���H�5K�L���ye�������H�=�QL���������H�5W�L���De������H�5�L���-e������H�5��L���e�����H�5�L���d�������H�=�;L���������H�5��L����d������H�5��L���d����t=H�5@<L���o����t*H�5�L���d����tH�5$�L���zd������Dž�1������1�H�t$H�|$ M��H���H��8H�D$@H�D$ �e�����&���H�i?$����H�=�H���~�����H���H��1��N��H������H���H��1��N��H����s�����H�g�H��>$�H�81��u��������G����Dž�1��/����L���0N��1�L��H���R������fDH�xH�t$ �
H�|$�`J��������uH�D$ H9D$����H�e>$�*���H�=��H���}�����Dž�1����H�,>$�(���H�=X�H��}���s���L��H�9�H��=$���H�81��t���K���L��H�љ���c��H��=$�$�H�=ښH��J}������H��=$�'�H�=-�H��%}��H�|$ ��e�����H�w=$�$�H�=֘H��|��H�|$ H��u��f���H�H=$�$�H�=�H���|���A���H�#=$��H�=Z�H��|��H�|$ H���t�������H��<$��H�=ߙH��o|��H�|$ H���A�������H��<$�$�H�=��H��<|�����H��<$�'�H�=��H��|��H�|$ ���H�n<$�$�H�=U�H���{��H�|$ H��������Y���H�;<$�$�H�=��H��{���4����AH����
���L��H�—���D��AWI��AVI��AUI��ATI��UH�oSH���_��=u�_H�o��tiL�L$D�D$�Z`��D�D$L�L$H��H���]��t<�DX u�D$PA�?L��L��H��PAQE��M���^��ZYH��[]A\A]A^A_�DH�q;$HcD9�}�H�
I�,��H�7;$A��H���H�81��Eq��������ff.���AVAUI��ATUH��SH���AT$dH�%(H��$1��t�$�B���v|H����	T$H���!J���L�`I��L���Q��H��H���yH�=L�������M��H��$dH3%(���PH��[]A\A]A^��H��H���`l��H����q��I��H��t
�x
�6H���Z����	��Q��H��H���q������C��M��tA�|$�\�C�	A�	M����I�]�@����������tO���H�5_��1��3j���	��P��H��H��������@���f�H�=�$�R�-��$�����H�=�$H��t�a��H��$L�%я$���@��H��H�xL���D���@�)T���"���@H���$�������O��H��H���;�����H�{����CI�D$IcT$A�H�0��S������f����O��H��H�����H�=�$L�s���CL����H������A����g���1�A�fA�F�T���fDH�5��1�������h�����L�5��$M����L�%y�$�L����N��H��H���?�����L��H��D���H�G�$��R��M������u���@H�=q�����C����I�D$IcT$H�{�	A�	H�0�R��������SN��H��H��������C��A�������;��1��C�`V��H�C	�E�����\��f���1��En��D�����$��t
1���H��1�1��n��1�H���@��H��H�=y�$H��t�_��H�d�$H�=M�$H��t��^��H�8�$H�=!�$H��t��^��H��$�
�$1�H�����H����H��t~H�� whATUH��H�~SH���ec��I��H��tcH�=ތ$H��t�l^��H��H��L���>Q��A�1�L�%��$H���$���$�5O$[]A\ø�����f.�������H�5���1��Wf�����������SH��H��H��@dH�%(H�D$81�H��H�D$H�T$H�$H�D$"�B��H�t$H�� w'H�<$�H��H�D$8dH3%(u4H��@[��H�޺ H�=q�1�H�D$ �qR��H�t$��Z��D��SH��H�=��$�L��H��H��H�k2$HD�1�1�1��]��H�e1$1�1���w]��H����p��H��5$1��H���Y]����=��H�e2$1�H��L�[XH�5�J��c��E1�1�H��H�3$H�5t��c��E1�1�H��H�1$H�5e��c��H�1$1�H��L�4�H�5T��pc��H�)3$1�H��L��WH�5B��Qc��E1�1�H��H�2$H�53���>��E1�1ɿH�)�H�5Nj�@��1�A�H��H�53j���@��A�1�H�	�H�5j��@��A�1�H���H�5�i��@��A�1�H��H�5�i��y@��A�1�H�یH�5�i��Y@��A�1�H�̌H�5�i��9@��A�1�H���H�5si��@��A�1�H���H�5Si��?��H�0$1�L���H�5��H�=+i�=��H��1$1�[L��H�5��H�=i�r=��f���H��K$�@��SH��t&H��$H9�wH�5�$H��tH���M��H��[Ð1�H��[�f���AT��USH��H��L�uK$dH�%(H��$1�H��H�F�H��HD�H��H�
�1��8G��L��$H��H���R���L����`����u$1�H��$dH3%(uFH��[]A\�H�}L��Hc��D$H�oldEngin�D$eID H�$��V��H��H���Q����DW��@��H����H��t~AUI��ATI��UH��SH��H��H�?H��t
�{Y��H�EI�$H��t6M��t1H���9^��H�EH��t H��L��H���"L��I�$H����[]A\A]ÐH��1�[]A\A]�1��ff.�f���ATI��UH�-_�$SH����]��H��H��tH��H���_��I�$H��t
H��[]A\�f�H��1���X����@��SH�� dH�%(H�D$1�H��H���G��H�5ņ$H���=c��%���9��$vH��I$���$H�T$dH3%(uH�� [���U������gF�����USH��(dH�%(H�D$1�H�|$�\M��H�T$H��H����H����H;;�$tYH��H$�	F��H���<���t$��H��A����Kk��H����W��1�H�L$dH3%(uTH��([]�f.�H�=�$H��t�H���>����t��fD�����H��t�H�߉D$�jW���D$룸�������T�����AUATL�%��$UM��$�SH��I�$H��t(�H�;H�k(H��t�W��H��H���W��H��u�I�$I��M9�u�H��[]A\A]���AUATUSH��H�$H��(dH�%(H��$1�H�D$H������t}��I��L�l$H��H�\$M��H��
H�=9+$I���Y�����t|��uHHct$H��~CH��1�f��H���H��H)�H9�|����Ⱥ�B�����k�)����������H��$dH3<%(u:H��([]A\A]�f.�H�=�,$M��I��H��L��
�#Y���b����YS��f���ATUS�B����x=L�%(�$Hc�I��H��t*@H�C(I��H�;H��t�U��H���{U��I��H��u�[]A\�ff.�f���AUATUSH��H��t]��tY��I���/B����xKH�H���$H��H��t9A���
@H�[(H��t'9ku�H�;L��L���t<����u�H��H��[]A\A]�f���H��1�H��[]A\A]�ff.����H����H������H��������AUI��ATUD��SH��H���X��I��H���|��t	�@ 1���tA�D$A�EA�D$��wB��A+D$��A�U����)�9�}1�����A�E�1������w���H��[]A\A]�fD�A�E1�H��[]A\A]ø��������f���H��A��M����A���H������A�H��������AVI��AUATE��UL��SH���W��I��H��txE��t	�@ 1���tA�EA��EA�E��A��A+E��A�����)�9�}1�����A��1������w���[]A\A]A^�f��A�1�[]A\A]A^ø��������D��H��tO��tKAWI��AVA��AUA��ATE��U��SH����V��H��H��tJE��u%�C ��t1�H��[]A\A]A^A_�D1��DD�c D�sD�k�@��H�C��f���L���f?�����D$xY�0��A��HcT$�H��H�ˀ$H��H�Љ�H��H�T$H�K(��@��H�T$L��H�H���D���k�K���������O���f.����AWAVAUATUSH��L�D$L�L$dH�%(H�D$x1�H���TI��H���HH�|$�<H�D$H���.H�8�$I��H���D�9���Ã����H�D$H�8?�P���5V��H��H�����4U��H��H��H����-������L�l$0�D)�D��M�e@�D$��@L��D�D51�H��I��A��F�L9�u�@L��H�߃�@�i��;l$u�L�t$H�t$H�T$,H��I��D$,�Gc���D$,f�A)EI�A)EA)E A)E0H����H��1��a���$�H�5��1���X��H�=����U�������H�L$xdH3%(����H�Ĉ[]A\A]A^A_úH�5k��1��X��H�=��������nU��뭺@H�5���1��TX��H�=݇������CU���H�5��1��.X��H�=��"U���^����XM��1��R������AWAVAUATUSH��H�$H��8H��$pL��$x�t$H�T$H�$dH�%(H��$(1�H���)H��� M��M���H�<$�	M��H����H�������M��M����I�<$���t$I���6����������g���Ń����Lc�M9$��M9���L�l$ �L��L��L��L�D$�!^��H�t$��H��L��A��L�D$�<+L��H��L�L���vA���t$L�$M��LL��L����Q������������H��$(dH3%(u"H��8[]A\A]A^A_�f����������K��@��AWAVAUATI��USH���H��$ �$L�D$H�D$H��$(H�D$ L�(dH�%(H��$�1�I9��D��1�A��|��A��~;A��t2H��$�dH3%(��H���[]A\A]A^A_�f�;�$0��A��t�����A��u�H�D$L�0M����������H�|$�!���M���;�$0��4$L��D�L$�4��D�L$�������D�L$0D)��e��H�H�D$H����H�D$@H��$�H�D$(H�D$PH�D$HcD$0H�D$0H�D$HH�D$8�e�H�D$H@D��L��t$8UL�L$PL�D$ H�L$@H�T$�J��ZY��uZHc�H9L$HK�<.H��HFL$HI��H���-?��D)�M���~SD�<$L�L$(L��L��L�D$L��H�D$@@D���4�����s���H�D$H�(I9�tL���K��������B���@H�D$ H�\$L�(H�;L9�t��K��L�31�����f��D�L$(�L$�]:���L$D�L$(H��I��t�H�D$L��L��D�L$(�L$H�(H���]>��A���L$D�L$(t
A���S�����$0���f�M���4������,���;�$0�����4$L���2���D$�������|$D)��c��f���C��[����8��*��^�f(�fT�f.����,��D$(������H�D$HH�D$H��$�H�$�EfDHc�H9L$HH�4$K�<.HFL$HLc�I��L��D)�M��^=�����������9l$(�y���L�D$H�$L��L��H�D$H@�|$�@����t��,�����H,�f��f(��%s�fU�f(��H*����fT��X�fV��*����G��ff.���AWA��AVAUATI��USH��XH��$�H��$�H�|$H�L$H�D$(dH�4%(H��$H1�H���%I��H���L��M���
H���M9�H��H�L����M�������H����K�	H9���D����0������a�������L�t$1�L��L�d$0L���4��H�t$0L���4�����aL9d$0�VL�t$@L��L��L��E���<X��D��Ic�E1�H�D$H�D$8L�H�D$ H��$@H�$H��L��I��@H�t$H���{;��A�L-L�L$ L�$H�t$H�|$Hc�L��H�D$8�K���Ņ���L�l$8H�4$�L��L���W��L9���I�U�L��H�T$8M����H��$@�@H��H���tf�C2<H��B�>I��L9�u�A��H�\$0H�|$L��H���:��H�D$(N�;L�H��$HdH3%(D��u_H��X[]A\A]A^A_�f�H�T$8H�l$0���H�D$(H�H�|$1�A������2���A��H��$@�z���H�|$u�A��������D����AWAVAUATUSH��H�$H��XL��$�L��$�H�|$L�D$dH�%(H��$H1�H�D$8H����H��H����M����M����H��H��M����M������yM���pI�}�eA���?.�����X_������MH�H�|-H�D$8I9m�7L9��.I�m�WK��I��H���H��H��H��I���:9��D��1�H�D$ H�D$8H�D$(H�D$@H�D$@H�t$K�|%H���9��L�L$(L�D$J�L%H�t$ H�|$L��H�D$8�LI��A�Dž���L�d$8I9�vH�l$8I��H�t$L��L���8��M��t:H9�v5H�L$�1�)�H�<)��L9�sA�D2�A�H����H9�w�H9��O���L���E��H��$HdH3%(D��uCH��X[]A\A]A^A_�M��t1�H��1�L���C0��A������H��1�L��A������(0����B�����H��������AWAVAUL�-6$ATUSH���=6$�t]Lc�I��L��1�M���DH��0���;�t<D;cu�H�{D��L��L���'����u�Hc�H��H�Dm[]H��A\L�A]A^A_�f�H��1�[]A\A]A^A_��1��D����5$H�
5$���t:H��9�u�f�H��1��r0�����t H��09�u�H�H�@H��H��f.�1��ff.�f���H��������AWAVAUL�-�6$ATUSH���=6$�t]Lc�I��L��1�M���DH��(���;�t<D;cu�H�{D��L��L���&����u�Hc�H��H�D�[]I�D�A\A]A^A_�@H��1�[]A\A]A^A_��1��D����w'��H��5$H��H�к�8�HD��f�1��ff.�f�����5$H�
�5$���t2H��9�u�f�H��1��r(�����tH��(9�u�H�H��H���D1��D��H����1��H��t�H��ø��������H���CT��H��t�H��ø��������H����F��H��t�@ H���fD1�H���f���H���F��H��t�@H��ø������ff.�@��SH���F��H��tH��tHcPH�H�@[�ff.����H���SF��H��tH�@H���D��SH���C2��H��tH��tHcPH�H�@[�ff.����H���3)��H�����HZ�����H���#S��H��t�@H���fD1�H���f�����w'��H�H��H��H�c2$Hк�8�HD��1��ff.�f���H���1��H��t�@H���fD1�H���f���1��f���H��H�6�(��1�H���f�����wGH� y��Hc�H�>��@�;J���?���+(���U���E���sO��1��ff.�f�������t��t��t1�Ð��N���S<���=��ff.���AWAVAUATUSH��8dH�%(H��$(1�L��$pL��$x�D$H��t[H��H��tSL��M��tKM��tFM��A���…����u4E��E��t,I�<$t%�0'���ljD$��K�����tD��H�H9�s6fD����H��$(dH3%(�|H��8[]A\A]A^A_�f��L$���D��H��t�L�T$ H��H��H��H�T$$M��E��H��RD��L�T$�UR���D$,I�$Y^H9�L�T$sI�$H��L��L����1��1��m����s<����AWAVAUATUSH��dH�%(H�D$1�H����I��H����I��H����L��M����A��H���6W�����~H�H9rwD���?C��I��H��tg�BB��L��H��I��������t`L��H��L����V��H�T$L��L���P���D$L��H��N��1�H�L$dH3%(u(H��[]A\A]A^A_�f��������f��������t;��@��H��tOAUM��ATM��UH��SH��H���L%����x H��M��L��H��H�މ�[]A\A]�4��H�������[]A\A]Ã��@��AWAVAUATUSH��8dH�%(H��$(1�L��$pH�D$H��tBH��H��t:M��L�$t1M��t,��A��E����E�����uD��$xE��u:f.�����H��$(dH3%(��H��8[]A\A]A^A_�f�H��I���U$����x{����H����t�;�$xu�H�D$D��H��E��PL��H��L�T$(ARL�D$L�T$�!��ZY���x���D;�$x�j���L�T$��$xL��L����#�����P����F���������A�����9�����AWAVAUATUSH��L�D$L��$0H��$@H��$HdH�%(H��$�1�H����I��H����H�|$��M����H����H����A�A�E�΃���ɉL$�s��$8���dH�H���XD��$8L9��G�M��I��H���6�L$9H�)D9p �D�X$H��$`1��H�|$�H�A�:@�ǃ�t@��E1�����H��$�dH3%(D����H��[]A\A]A^A_�@��$81�E��D��A��$8A)�D)�)��D$ H�E9�����$8D�\$0D�H9��oHcD$ D��E��D�D$4H�T$(H�D$��Lc�I�4L�T$8H��$�H��L����H�|$(�I��HcT$4H�L$(��J�<9L�|$P�,%��I�EL��H��$�H��$���L��H�t$H�|$D���YI��L�D$L��H��H�T$A�L����H��H�D$H�|$(L��HcT$0L�D$A�E1�H�t�H���D$ D�\$0L�T$8D�H�H�A�:@�ǃ�������C��H��H�D$�UH�t$H�|$D���H���H��I��H���-L�D$H�L$L��H��L���UJ������L�l$LL��H��L��D��$8L����N������Hct$LL��L��I��H��-������Dd$LL����D��D��H�����fDI9���HcD$ H�D$D��H�D$(L�|$PI�EL�T$ H��$�L��H��$��GK��H�T$(H�t$��H�|$��G��L��L�|$L��L�D$A�H��L���]G��L�T$ L�;A�:@���!���f�L���(D���A�����
����5����AWAVAUATUSH��XH��$�H��$�H��$�H�$dH�%(H��$H1�H���3I��H���'M�ƉL$M���H���H�<$��H���������$�����H�H������$�H�T$H9���E����H��I��H�����L$9H��D9` ��L��$�1��L���H�A�?@�ǃ�t<��E1�����H��$HdH3%(D���dH��X[]A\A]A^A_�L�\$0I�EL�T$H��$�L��L�\$H��$��eI��L�T$D��L����L����E��L�\$E1�H��H�<$H�T$I��H�D$L���(��H�D$L�T$H�A�?E1�@�ǃ��M���L�T$��?��H��H�D$��L�T$D�⹀L��L���yE���E��I��H��t|L�T$L�D$L��H��L��L����@����uQL�l$,H�$H��L��D��$�L���
@����u-Hct$,L��L��H���J��L��u(�A��H�D$H����L���A��A��������A�����	3��f����F)$��uÐH�9e$1��"�()$H��H�~d$�H��H���H��ff.�@��AWAVLc�AUATUSH��d$H��HH�L$Hc�H�T$dH�%(H�D$81�L��H�$H��L�H�L�<Ã��}���t��($E�Ņ��/L��L�%�c$H�D$ H�D$(�H��L�H,$A����~>H�D$ L�|$�cI���
@����M��1�1�1�1��_,��A�����L�|$L��H��L�H$A��� ���"��H����H�\$L��H�t$D�hH��H�@H�XL�H��c$H$H��H�0H��u��L�zH�RH��t
D9j~�H�PI�L��H��I�L4$1�C�,�H�|$8dH3<%(ufH��H[]A\A]A^A_�f���-������fDH�HmH�5�m�1�L�|$�;������������L��H��L�H$A�,��������0��fD��E1�����@��AWAVAUATUSH��HH�T$dH�%(H�D$81����ZA�����N��&$A�����3Ic�Ic�L�%�a$H�D$ H��H�D$H��H�t$H�D$(�H�H�A����~6�cL�l$ �f�����M��1�1�1�1��g*��A�����H�|$��H��H��H�HT$A��H�t$H�b$H��H��H�HD$H��H��t"H�H��tH�KH�T$D��D����H�[H��u�H�|$H��H��H�HD$A�,�1�H�T$8dH3%(uDH��H[]A\A]A^A_�@H��kH�5�k�1���9���]�����+�������������
/��f.�����f��aU��S��H���2%$��uFHc�Hc�H�!a$H��H��H�H�H��1�H��tf�H�R��H��u�H��[]�D�s+��본�����ff.�����W��RU��S��H����$$��u.Hc�Hc�H��`$H��H��H�H�H�<���H����[]����+����f�������f.���AWAVAUATUSH��XH�L$D�D$dH�%(H�D$H1���������Lc�Hc�I��L��H�`$H�L$H��L�H�L�4�H��H�D$ ��#$���5L��L�%;_$H�D$0H�D$8�H��L�Hl$A����~;H�D$0L�t$(�cI���
����M��1�1�1�1��'��A�����L�t$(�PL��H��L�HD$A��1�M��tpL��L��M��H��L�H\$D�l$H��H�\$ �f�H�_H�H��t3L9?u�E��tH�L$H9Ouރ�tiH���A��H��u�fDM��L��B�H��I�H�t$L�A��H�L$HdH3%(��utH��X[]A\A]A^A_��;)�����fDH�WH�D$H��.��H�;H�D$�DH��hH�5�h�1�L�t$(��6��A����������z����+��f���1���s��cHc�Lc�H��H��H�H�
^$L��DK��H��t0�H�:tH�JH��tH9�uH�B���H�RH��u�I��A��~���1҃�u��Ð��AWAVAUATUSH��HdH�%(H�D$81���!$���SH��\$�D$L�l$ H�D$H�p]$H�D$H�l$L�d$E1�fDH�D$ A�$H�D$(���~/�c������M��1�1�1�1��G%��A�$��߃�A�$�DfDH�CH�EH�;t(L�{M��tH�C�t$L��D���'��L����,��H����,��H�]H��u�A��A�,$H��I��A���F���H�D$DH�D$��|$t,�D$����H��fH�5�f�1���4���H�D$8dH3%(uH��H[]A\A]A^A_���&�������)��ff.���U��S��H��� $��u(Hc�Hc�H��H��H�H�H��[$H��H��[]��k&����f�����wg��/wb��Hc���H�<Hc�H��e$H�xH��8��~������	�@�81��f.��ֺ�����!�@�81��f.�������f.�����wg��/wb��Hc���H�Hc�H�Le$H�J��Hƒ�������u���	�@�:���)ȉ����!�1�@�:��������f.�����w7��/w2��Hc�H��d$H���H�JH����������f.�������f.�����w'��/w"Hc�Hc�H�4H��H�H��d$��1��@������f.�����w'��/w"Hc�Hc�H�4H��H�H�Zd$���fD������f.���������/��AVL�5�_$AULc�ATUSHc�H�,[H��L�I�<�H9�taI��H��t
��)��I��M��t'L���=��H�4[[]H��A\L�A]I��1�A^�DH�4[1�[]H��A\L�A]I��A^�f�[1�]A\A]A^�D������f.�����w'��/w"Hc�Hc�H�4H��H�H��^$H���D1��ff.�f�����w'��/w"Hc�Hc�H�4H��H�H��Y$H��1��������f.�����w'��/w"Hc�Hc�H�4H��H�H��Y$H���D1��ff.�f���UH�5�S�H��(dH�%(H�D$1�H�T$�P;��H�5��H��H���$����tBH�5��H���$����t/H�5�bH���$����tH�5�HH���$����u%DH�L$dH3%(��uDH��([]���
H�t$H���v/��H�T$�À:u��v�H�=nb�����������M%��ff.�f���ATUSH��H�$H�� H��c$dH�%(H��$1�H��I��H��u�>fDH�[ H���+H�sH���#����u����tK������t}��H�5�a�1��p/��H��$dH3%(��H�� []A\�DH�T$H�5j�L����9��H��
H���d.��H�$�9t[H�=?a�����DL����8�����t��s�{���4���y���f�A�<$"t+�s�{L���k���V���fD�s�{�������>���H�l$L��H�������s�{H���+������fDH��H�5a�1��j.������#����AWAVAUATUSH�����'H���A��/�H�;b$E��H��I���L$A��H��u	���H��H�C H��u�(��U��I��H�C H����E�'L���j9��H��I�G�^9��E�oI�G�D$A�GA��t(A��tb1�A��t:H����[]A\A]A^A_�f�L��_H��#1�H��L��1�����ǐH��#1�H��L��L�������L�s ���(����I��H�7a$H���9���������j���@��AWAVAUATUSH�����'H���A��/�H��`$E��H��I���L$A��H��u	���H��H�C H��u�(����I��H�C H����E�'L���8��H��I�G�8��E�oI�G�D$A�GA��t(A��tb1�A��t:H����[]A\A]A^A_�f�L�v^H���#1�H��L��1���*���ǐH���#1�H��L��L�S��*���L�#���(��A��I��H��_$H���9���������j���@��ATUSH��_$H��t\@H�k H�{H�sH�-�_$H��t#H��t���H�{H�-�_$H��t�!#��H�sH��tH���#��H��H���#��H��u�H�-�Y$L���H������H�;H��t��"��H�H��H9�u�H���L9�u�[]A\�f.���H���#1�1�1���^$��"����H��^$H��t!;zu�4f�9xtH��H�BHH��u��fDH��HH�HHH��H�
�E"��H��H��^$��f���H�GH��uH� tDH�(u5H�0u.�GthH�H�WH��H	�tYH�HW H�G(H��?BmH�W0���SH��H��+��H�H�CHSHC H�S(H=?B H�C0[�f.���7���H-@BH��H�C0H�S([�@H��@BH��H�W0H�G(�@��H�=�]$H��t0S�H�_H�?!��H��H��u�H��]$[�f.�H��]$�@��H�u]$1�H��u�L@H�H(H9J(t.HL�H�RHH��t�Bu�H��u�H��H�RHH��u��f�H�p0H9r0HL���f��ff.�@��H�]$H��t;xu�f�9xt	H�@HH��u�����ATUSH�� dH�%(H�D$1�I���K�L�����H�S(H�$H9���uH�D$H9C0����u)�k�KH�s8��S@���	��H��u,��$��H��H��u�H�D$dH3%(u6H�� []A\�fD�`�fo$H��H�@0H�@(@�S
����<��ff.����UH��SH��H���{$��H��1�H��t H�J(H�H9�@��t1@��u�oM�BH��[]�f.��oB(E��DH�CH9B0@��@��t���ff.�f���UH��SH��8dH�%(H�D$(1�H��H���X��H�|$H����*����t3H�T$H+$H�J�H�MH�L$H+L$H��@BH��?B~$H�MH�UH�T$(dH3%(uH��8[]�DH�u�����ff.�f���H��HdH�%(H�D$81�H���0����uH�D$8dH3%(uYH��H��1���d)����u�fo$H�5��#�H�D$H�D$)D$ ����H�t$1�1���&����~��ff.���H���6Z$� ��1�H���f���H������H�����f.���AWAVA��AUI��ATI��UL��SH��H��H�5�Y$H��u�fDH��H�FHH��u�L�~H�P����H��I�1�H��tTL�*L�bI�D�pI�H�h8I�H�X@��$�P��$I��BI�H�@HI�?����ZY$��uI��@H��[]A\A]A^A_�f������f�L�=)Y$�\���@��A��1���HD�@��I��H��@��D��H�����fD��SH�� dH�%(H�D$1��b��H��tmH��H�����H�$H�D$H�SHH�C HCH�S(H=?BH�C01�H�L$dH3%(u/H�� [�f�H-@BH��H�C01�H�S(��f.��������t��@��AVAUATUSH�� H�AX$dH�%(H�D$1�H�D$H��t(H��I��H��tH�{H��tH���"����tCH�H��u�H�5�V�1��#��H�D$dH3%(��H�� []A\A]A^��H�[H��t�H�L$H�T$L�����H��H��t�H�|$t�H���0��H��H��S I��H����L�l$L�s(M���y���� ��	��H��H���^���L���.��I��H�EH����L�eL�uL�#M���2���I�$H����H�sH���!����teH�;tEL�-�U�fDH�H�;t-L�eH�sL����!����u�L��L���"��H�H�;u�H�+����f�H�|$�&������L��H�5�U��\"��I�$�~���I�,$����H�D$dH3%(uH�� H��[]A\A]A^�����W�����H��t/SH�GH��H��tH���H�{H��t
���H�C[�@����H��tGUSH��H���@H��H�CH��tH�{��H�{H��t�H��H�+H���=��H��u�H��[]�ff.�@��AUATUSH��H��tUI��H��� �I�����H��H��t5H����,��H�CH��tL�kH��L�cH��[]A\A]�fDH�����H��1�H��[]A\A]����H����H����AUATUSH��H�H����L�nI��H�sH��L��������tbH�;tCL�-�S�H�H�;t.I�l$H�sH�������u�H��L���j ��H�H�;u�L�#H��[]A\A]���L��H�5fS��4 ��H�]H�;u����H�7H��[]A\A]�f���H����H����AUATUSH��H�H����L�nH��H�sI��L��������tbH�;tBL�-�R�H�H�;t-L�eH�sL�������u�L��L�����H�H�;u�H�+H��[]A\A]�@��L��H�5�R��T��I�$H�;u����H�7H��[]A\A]�f���AWAVAUATUSH��H����I��H���� I��I���Z��H��H����H���v*��I��H�CH����L�{L�sM��tgI�,$H��tpH�uH��������tpH�}tCL�-�Q�H�mH�}t/L�cH�uL�������u�L��L���q��H�mH�}u�H�]H��H��[]A\A]A^A_�I�$��f.�L��H�5^Q��,��I�,$�s���H�5R�1�1�����f�H������H�5IQ�1�1������t���fD��USH��H��tOH��H��H��t#fDH�{H��tH�������tH�H��u�H��H��[]�f�H�[H��H��[]�1���ff.���USH��H��t8H��H��H��t#fDH�{H��tH���O����tH�H��u�H��H��[]�1���D��H����AUATUSH��H�H��t4I��I��1��
�H��H�{H��tL��������t H�H��H��u�H���[]A\A]�DH�H��t`H�UH�SH��t�D$H�{�ҋD$H�{H��t
�D$�#���D$H�߉D$����D$H��[]A\A]�@��f.�I�U�f.���H��L	�u�AWI���AVM��AUI��ATI��UH���0SH��L�L$�O��H��H���KL�8L�`H�hH���L�kM��tH���#H�پ1����L�s M����M����� �����I��H����L���'��I��I�FH��tpL�-�O$I�^I�FM����I�uH���c����u��f.�M�mI�}teM�~I�uL���5����u�L��H�5/N������L�����H��#E1�1�L��H������H�D$H�C(H��[]A\A]A^A_ÐM�u��f.��1����H�C����H��H�5N�1�[]A\A]A^A_�w���L��H�5�M��\��L�-}N$�$���L�5qN$�T���@��AWAVAUATUSH��H�$H��(H�t$dH�%(H��$1�H���I��I��H�\$H���
�M�?M����I�t�M��L��MH��1����I�����A�I����������!�%����t��M�o�����D�I�VL��LD��I���F���I)�L��J�<3H���$��H��� �1H����������!� ��t����€�D�H�qHDΉ�@�H��I�WH��H)�H��H�x�Յ�����H�|$H�����M�?M�������1�H��$dH3%(uH��([]A\A]A^A_��
��ff.����H��H��H��t H�PH�pH�H�IH�8�Y��1�H���f�H�59L��o��1�H������USH��H�wL$H��u
�8�H��H�CH��tH�{��H�{H��t����H�+H������H��u�H��[]�f���U�8H���SH���D���H��H��t�H���/���H�CH��tH�kH��H��[]��H��1��V����@����2��f���H��A��H����A��-H���$AWAVAUI��ATI��UH��SH��H�H�L$H����E1�1�M�|�1�I�?H��H�sH�CH��H�*H��H��t|@H;8��H�@H��u����1�H��I�H�Y(H�H�iH�M I�H�sH�CH��H��A�FI��L9�r�H�{0umH�D$H�C01�H��[]A\A]A^A_��H�$�2��H�$H�I�H�X(H��H��@H��룿�	��H��H�EH�����������f������뗃��D��I��H��teH��t`L�1�L��H�wH�G1�H��H��t@L9tH�IH��u�H���fD�GH��I9�v�L��1�L��H�qH�AH��H��u�H���1�H���f���H���YUSH��L�WH���L�1�L��I��H�GH��H���.1�H��DL9��H�IH��u�L�WD�XL9���B�,޾@M��tcH�_E1�1�1�M�J�A��H��H��t3�H���tI9�sH��tH9vI9���H��H�@H��u�A�CI��L9�r���H��udH�G(�/H��tp�L�PH���|���@�PL�QD�XI��H9�sKL��1�H��L��I��H�AH��H���/���D������1�1��4���H��f�H�x0u1��[]�H�����1��A����ff.����H������H��tH�@0H���D��AWAVAUATUSH��H�$H��XH�t$I��H��1�L�D$�I��I��M��dH�%(H��$H1��	��H�D$ H��tBM��t=M��t8M��t3I�V��~+K�D�L�l$81�H�l$@H�D$I�FL�,�M��u6H��9��H��$HdH3%(�VH��X[]A\A]A^A_�DH�D$H�\$(L��L�t$0L�l$8L�t$L�xH�H�L$H�H�{0��H��M��L�G1�����7���H��H����������!�%����t��L������D�H�WHD�L�����H���u��� H��f��1H����������!� ��t����€�D�H�qHDΉ�@�H��H�S0H��H)�H��H��H�xA�ԅ�u4H��M��L��L��L��� ���H�[H������L�t$0H�\$(I�V���H�|$ H�������L��ff.����H��dH�4%(H��$1�H��tH��E1�H��H�xH�PH�0H�?���1�H��$dH34%(uH�������ff.�@��AWAVI��H��AUATI��USH��dH�%(H��$1�H���'�@H��H��H�        �H���I�~Hc��t&E1�1�L�=2EI�VH��H��u5A�EI��I;Fr�H��$dH3%(uWH��[]A\A]A^A_�H�{0H�E��L��L�
ķH�5�D�ME�1��d�H��H������H�[H��u������f���AVAUATUSH��dH�%(H�D$1�H��tOH�I��H��tD1�1�H�xI��I��tH�HH��H��uJ�UH��H;Pr�H�x����I�}����I�EH�D$dH3%(u[H��[]A\A]A^��H�$H�{0H��tM��t.A��H�$L��L��H�X�@���H�$H��u�I�E�|���fD�c��������ff.�����f.����L���#A���-L�
��#Hcȃ�A�1�A�<�H�=h�#H�4�H�5
�#H���H��H�5mC�1��9�������H���ff.�@��L���#A���-L�
V�#Hcȃ�A�1�A�<�H�=0�#H�4�H�5��#H���H��H�5-C�1����������H���ff.�@��L�=�#A���-L�
V�#Hcȃ�A�1�A�<�H�=H�#H�4�H�5��#H���H��H�5�B�1��Y�������H���ff.�@��L�
��#�����E�E��~6H�
Y�#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=��#H�5��#Hc���T���H��L�L:H�T2L��H��H��A9����A$1���L�
%�#�����E�E��~6H�
��#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=i�#H�5"�#Hc���T���H��L�L:H�T2L��H��H��A9��� A$1���L�
m�#�����E�E��~6H�
��#;9t,A�p��I��H���
H��9|��t��H9�u�����1�A��E�A9�~BH�=A�#H�5��#Hc���T���H��L�L:H�T2L��H��H��A9���p@$1���AWAVAUI��ATUH��SH��L�5q�#�C@$H�L$A���~7L�%,�#I��1��A�<�L�����A��;E|���EH��A9�L�5]�#A���~2L�=��#1�DA�<�L�����A��;E|���EH��A9�L�-�#A�E��~4L�5.�#1�@A�<�H�t$�z��A��;E|���EH��A9]�H��[]A\A]A^A_�f���AWI��AVI��AUI���ATUSH���H�|$H�\$H��$�H��L��$0dH�%(H��$�1��
���H���
���L���
��L��H�����L��H�����L��L�����H�|$H��L��H����H��L�������xH��L�������yTH�5?�1��Y
��H�����H�����L�����H��$�dH3%(u'H���[]A\A]A^A_�@L��L���M����y���B���f�������.AWAVI��AUI��ATUSH��H��H�4�#H�L$D�E����D��=$E����A�H�-��#�&@���trH���#D98~~D��=$I��E��unN�$�L��A�|,��9���t�H�5�#L�_�#J��A�|,�H�t0�B�T�A�|,�L����������u�H��[]A\A]A^A_�f�L�%��#A�$����D�
2=$E��uɽL�55�#����t�A9,$~d�5
=$H����u�L�<�L��C�|7�����t�H�
��#H��C�|7�H�t�H�
��#�T�C�|7�L���������L�5�#A����6����=�<$���(����L�-�#�'f��������A9.�����
c<$H������L�<�H�t$C�|/������t�H�1�#H��C�|/�H�t�H���#�T�C�|/�H�t$�M���������AWI��AVI��AUI���ATUSH���H�|$H�\$H��$�H��L��$0dH�%(H��$�1��H���H���;���L���.��L��H����L��H���x�L��L���m�H�|$H��L��H����H��L���O�����xH��L���@�����yTH�5�;�1�����H���q�H���i�L���a�H��$�dH3%(u'H���[]A\A]A^A_�@L��L��������y������f���H��t�G�9�E����f.���H��t1�H9w(�����f.���f.���H��t1�H9w(�����f.���f.���H��t'H�G H�H9�w1�H9�r��
�f.���f.���H��t'H�O(H9�w1�H9�r�fD��f.���f.���H��t'�O�9�t
�f�1�H;W(�������f.���H��t'�O�9�t
�f�1�H;W(�������f.���H��t'��t�1�H�(��������f.���H��t'��t�1�H�(�����f.���f.���H��t'�B�t�1�H�(�����f.���f.���H��tG��t�H�(�u�H�G Hc�H��
H9�|�Hc�H9ѺN��f���f.���H��t7��t�H�(�u�H�G H�H��H����Ѓ�
�D��f.���H��t7��t�H�(�u�H�G H�H��tH����Ѓ�
���f.��
�f.���H��tW��t�H�(�u�H�G H�H��tH��wH���������H�����@�
�f.���f.���H��tW��t�H�(�u�H�G H�H��tH��wH����������H�����@�
�f.���f.���H��tG��t�H�(�u�H�G H��
H��w�H���������H�����D��f.�USH��H��tSH�6$H��H��t#fDH�;H��tH��������tH�[H��u�H��H��[]�f�H��H��H��[]�1���ff.�H��t;USH��H��f�H�{H�+H��t����H��H������H��u�H��[]���ff.�@��1�H�=j5$t��AT�(UH���S�b�H�C5$H��tmH�_�#H��L�`(�H�;t<H��L9�u�H�|�#H��E1�1�H�u�#H�5
6� ��[1�]A\�@�����H�H��u�[�]A\�ff.�@��H�
��#�91r,H�
�#9r!H��4$����H��H��1�H�:H�:����ff.�@��UI��L�m5�H��AWI��AVI���AUI�պATSH������H��H��(
dH�%(H�E�1���M���H������A�H�������)f�H�������H�����M�?M���@E�OH��A�w1����H������L��4��H�ڋ
H����������!�%����t������D�H�JHD�H��������@�D��H��H)�)�HcЋ1H����������!�%����t������D�H�qHDΉ�@�X^H��H+�����9�� ���H��L���E��M��H��L��3��1����H�ڋ
H����������!�%����t������D�H�JHDщ�@�D��H��H)�)�Hc����f.�H��L�����H�E�dH3%(uH�e�[A\A]A^A_]��R�f���H�u�#98r!H���#90rH�72$����H��H���f�1��ff.�f���AUA��� I��ATL�!3A��U��SH��8dH�%(H�D$(1�H��H��VH�߾ ��XD��Z����L��H��H����H�D$(dH3%(uH��8[]A\A]������H��tAUH��SH��H��H�{H���<�����tH�H��u�H�������[]�@�CH��[]ø�������H��tAUH��SH��H��H�{H������tH�H��u�H�������[]�@�CH��[]ø�������H��t1�D�WH�?9�L�H��u�ø�����fD��SH����H��[H���������H����H��H���g
������f.�;wtH�?H��u�1��H�G�ff.���S���4���[H���i��f���H����AUI��ATI��U��SH��H�H��ti;Su�Jf�H��9ht@H�H��u�����H�H��tNL�h�hH�1�H��[]A\A]�fDL����H���[]A\A]þ���I�$�L�����본�����fD��AVA��AUI��ATA��U��SH��dH�%(H�D$1��0�L��H��D��H��H�$���A��H��t#H�L$dH3%(D��u H��[]A\A]A^�H�<$D����������ff.���H�����H��tH�H���fD��S���T����[H������f���SH���3��H��[H��������SH�����H��[H���w�����H������H��H���'�����AUA��ATI��UH��SH��dH�%(H�D$1����L��H��D��H��H�$��A��H��t'H�L$dH3%(D��udH��[]A\A]�f�������L�,$H��H��t%H��-$H��H�C����L�kH�H��-$�f�L��A������k�ff.���AWAVAUATUSL��$���H��H�$L9�u�H��(dH�%(H��$@1�H��t�>H��u-H��$@dH3%(�OH��(@[]A\A]A^A_�@L�d$� L�����H�����H��H��t��8t�H�L$H�T$L��1�H�5�-H��$ ���L�l$L�5�-��tiDH�ߺ H���h�L��L��H��H��1��u�����G���H��f�H����:u�D�|$���L��D��H���>��H��u�����L�%N-DH�ߺ H����L��L��H��H��1����������H��f�H����:u�D�t$����t$�|$D��H���i��H��u������f.���AUATUSH��H��+$H��t0fDH�{H�k���H�;H��t���H��H�����H��u�L�-W+$H�D+$L��M�e(M��t%H�EH��u/H��I9�u�L����H�+$H��[]A\A]��1�fDH�<H��t	�*���H�EH��H��u�H��t�H���<�H�E�f���H��tGATI��USH�H��t)�H�{H�+H��t��H��H�����H��u�I�$[]A\�f��ff.�@��UH��SH��H�����H��H��H��H��[]�����S�1�H����H��H���q���1�[�ff.�f���H�����H��H��������SH��)$H��t�H�{�_��H�[H��u�[�@��AUf��L�ATUS�D$@�l$(�\$0D�\$8D�l$HD�d$P��tHI��
vZ��D�o	��D�g
��+�GH�f�1��OD�GD�O@�o�_D�_[]A\A]�DI��vH���f�������f���H��t
H�H��H��wH��($H��($H��SH������p��l�pf��f��($�V��($�P��($�P��($�P��($���($��($�ų��H�H�H(�م����D+��($���1���)lj�����ʈh($�����i�������H�G($����)ʈA($H�[�ff.���USH��H��HdH�%(H�D$81��~��1�H����H�k�H�=)H����������D$H�{�
1���H�{�
1��D$��H�{�
1��D$��H�{�
1��D$�l�
H�{1��$�Y�H��-l�D$���H��H�L$8dH3%(H����H��H[]���H�=M(H�������t.�H�=7(H�������u$�D$�'�����D$�����H�=�'H�������t.�H�=�'H�������u$�D$������D$����H�=�'H�������u�D$���f��H�=�'H�������u
�D$�a����H�=^'H�������u
�D$�:����H�=;'H�������u
�D$�����H�='H�������u
�D$	����H�5�&H���@����u�D$
�����z��H�5�&H�������u
�D$���1��	���ff.�����w?H��&��Hc�H�>��@����Ѓ��D������Ѓ��f�1��D�
�f�����u����v�j���f.��
�f.�����x(��~����N��f���������@1��f.���ATUSH��$$H��tcE1���I��H��H��tLH�{H��t
��H�CH�{H�k u�M��t/I�l$ H�;��H�{��H��H���~�H��u�[]A\�@H�-$$���AVAUI��ATUH��SH�Ӊ�H�����H��I������I��M��t"H�uL��H��L�����L�4�[]A\A]A^�H��H�����H�D�L�4�[]A\A]A^�f.�ATI��US����H�XH����H��L��1�H��H���U���H��H����H��[]A\�f���AWH��I��AVAUATUSH��H�1#$���L�`L���P�L��H���E�L��I���:�D��H��L��I������H���`D��L��H�����H���aD��L��H�����H��tH�=Q%���E1�H��u
�TDH��H�;H���Z���x��H�{L���D����|H�C I��H��uȾ(��a��H��I�����L��I��{���I�GI�GH�C I�G L�{ L���[���I�GL���o�L���g�H��H��[]A\A]A^A_�Q��tN�(�����H��I������L��I��	���I�GI�GM��ugH��!$L�=�!$I�G �~����H�{I���o���H�=s#����j����H��H�=�"�����U���@L��H��H�=#����:���L�������(��J��H��I���o���L��I��d���I�GI�G�[���UH��SH��H�?H��tH��@�S�H��H�;H��u�H��H��[]�9�f���ATUSH�� $H��tZE1���I��H��H��tCH�{H��t
���H�CH�{H�ku�M��t'I�l$H�;���H��H�����H��u�[]A\�DH�-i $��ff.�@��AVH��AUI��ATUSH�? $���L�`L���V�D��L��H��H�����H����H��E1��q���I��H��u�@H�CI��H��t4H��H�;H������x�u`H�{��L�k[H��]A\A]A^���� ����H��I������I�FL��I�I�D$H�CI�\$��� ��a��H��H�����H�CH�M��u�H�G$H�@$H�C�j����H��H�=F!�i��[H��]A\A]A^�Y�f�H�=Q!�T��M���*���L����������� �����H��H����H�CH��n���@��AWAVAUI��ATI��U1�SH��L�5�$L��M��u�$f�H�CH��H����H��H�;L���"�A�Dž�x�uAH�{H��t�+���H�CA�M��uaH�{��H��D��[]A\A]A^A_�� ��	��L��H���.���H�CH�H��uSL�sE1�H��$M����L���?���H�C�f�� ����L��H�����H�CH�H�EE1�H�CH�]�J����L�sH��tCL�uH�;��H�����1���� ��O��L��H���t�H�CH��F���L�55$�ff.���USH��H�$H��tIf.�H�kH�;H�-�$�=�H�{H��t���H�{H��t���H��H����H��u�H��[]�f.���USH��H��tYH��$H��H��u�:H�[H��t1H�;H���<���x�u.H�CH��t5H��H�;tH�ؐH��H�8u�H��H��[]�@1�H��H��[]�@H�[H��u���ff.�f���H����H��tH�H���fD��AWI��AVAUI��ATI��U1�SH��L�5�$L��M��u�o�H��H�;L���z���x��H�{L���d��…�yvH�C H��H��uʾ(����L��I����L��L��I���I�FI�FH�E 1�H�C H�] M��umH�{��H����[]A\A]A^A_��tf�(����L��H���<�L��H��1�H�CH�CH��u�L�s 1�H��$M��tuL���T$��T$H�C��H�{H���c������H�C��L���L�s H��t*L�u H�{�T$����H�;����H�������T$�)���L�5b$�Ѿ(��Q��L��H���v�L��H��k�H�CH�C�:���f.���USH��H�$H��tHf.�H�k H�;H�-�$�=��H�{�4��H�{�+��H�{�"��H��H�����H��u�H��[]�ff.���ATUSH��tUH��tPH��$I��H��H��t.@H�;H���=���xu)H�{L���+���yH�[ H��u�H��[]A\�fDt1�H��[]A\�@H�CH��tH��H��[]A\�@H�[H��[]A\�ff.����H��L��H�
���H�����H�5�H�=����L��H��H�
.�H�w���H�5�H�=|锾��@���
H�=�I�������tb�
H�=�L�������t0�H�=��L����€��҅�uB�1����fD������1�������1������L��H�=1��W�����H�=$H��t0H��H�wP1��1�H�=�$���H��$H���D�ff.�@ATL�%�$UH��SM��t6I�\$H�;H��H��u�2f.�H��H�{�H��tH�������u�L��[]A\��M�d$(M��u���ff.�����W;V���y�N9O��kUSH���^9_|MP��t^1���
uDH��H��H�v�H������u(�Cf9Er�w�K9Mr
w
�C,9E,s,�����H��[]�@���^9_r�w��Ff9Gr�������@������f���H��A�(1ɿH�[H�5���x���H�5��#1�H�
RH�=d���H���#H�56�#H��H�
��H�=P�������w����H��t'H���H��t��f�H�=!��@1��ff.�f���USH��H��H�=�$t)H�����H��tLH�=�$H��H��[]�7���H�=����H��H��$H��t2H�=���H����H�5����������H��[]À=D$tH��H�5p�1����������H�5�1��$���ǐ��SH��H�������u[�f.�H��H�=n1�[���ff.���H��H�=�$H��t��������f���H��$H��t H��H��H��PXH����H�����D1��ff.�f���H��t'��f��tf��
��E���1��ff.�f���H����H�`��AWAVA��AUI���ATM��UH��SH��1�H���O�H�=IA�����������D	�t01�M��tA�$1�H��tH�uH�����E��u0H��tH������H�C`H��M��H��D��L��H��[]A\A]A^A_��Mc�H��H�D$�L��H�5�1�����L�D$M��tL���}��H���L��L���+����f�������f.���AUATUSH��H��tcH�GXH��H��tWI��M��ЉŅ�~<H�=v�����u,M��tA�EM��tM�$$��L��H������H��tH������H����[]A\A]ý��������AVAUATUSH��$H��t`I��H��I��I���f.�H�[(H��t?H�KH�H��L�������u�M��t4M��t/H�I�EH�CI��[]A\A]A^�[1�]A\A]A^�D[�]A\A]A^�f.���H���S���������D���������u��������H��$H��t�H�@(H��u�H���f.���USH��H��$H��t,f.�H�{H�k(H��t
���H�CH��H��u�H�c$H��[]�ff.����H��tgUH��SH��H�7$H��u�SH�C(H��t'H��H�KH�uH�H�}�0����u�H��1�[]�H��(H�E(�H�+H��[]�D1��H��$��@��H����ATUSH��H��$H��toH��L�%�$�L�c(H�[(H��tSH�KH�uH�H�}�����u�H�E(I�$H�}�H��t�D$�|��H�E�D$H��[]A\��H��1�[]A\�D1��ff.�f���AW�(AVAUATUH��SH��L�gL�odH�%(H��$x1�H�H�D$�G���D$H�G 1�H�D$ ������&M�����:L�����H��H���\L�pL)�L��L)����H��L��I��H���y��A�L�����L��H�D$���H�L$H���H�D$(M��E1�M��1�E1�D�t$I��H�\$ L�|$ M��I���LI�T$H����t$L����H�����D$M����I�>H�������I��M��I��M��t�H���VI�t$8H��H��t�H�E0�o]H�|$0�oe�om H�D$`)\$0)d$@)l$PL9|$8tL�|$8��H���v���L�|$ M���(H�|$(H�D$�y��L���q��H�D$I���y@A�<$/��M���L��,�o���L��H��H����H�D$0��1�H�D$(�f�<,�����I��A�E��u���L�l$0Hc�L�5��荿��H�|$(L��H�5v�H����L�{H��L��L��1�I����I�G�H��u�H��M��I���3���I�D$H�|$H�0���I�t$8H���0����oE�oMH�|$0�oU H�U0)D$0)L$@)T$PH�T$`H�������H�D$P����H�‹t$L��A�T$0��@D�t$L�|$ E���eM��tH�|$(���L��E1�����H��$xdH3%(L����H�Ĉ[]A\A]A^A_��M���Z���A�$��t3M����.t������H�f�Pu	��-�����I��A���uӋ1$�����1����I��H���]H��H�\$p� �H�=Y�I���a���M��H��I��L���1���蛼��H�t$0�H�\$0L�|$8H�D$@�9��1���
��H��t�H��H��I���e���1�L��覬��M������L���������H�5�1��������H�=4���{�M��E1�H�D$(H������@I���m���H�=x-M��E1�1��D�H�D$(H������H�|$�f��H��H��t�H�H��tfDH��H�H��u�H�D$(M��E1����H�=	�H�\$p����M��H��I��L�=�1����I���H�t$0�H�\$0L�|$8H�D$@����1�����H�������1Ҿ1��d������A�1�H��
�H�5t��
$������������ff.���H��Hf�dH�%(H�D$81�H��)D$H�<$)@ H�@0H�t$��t�D$H��H�L$L�D$ ���H�T$8dH3%(uH��H��O��ff.�@��H��Hf�H�
��dH�%(H�D$81�H��)D$H�$)@ H�@0H�|$��t�D$H��H�T$�g���H�T$8dH3%(uH��H�����ff.�f���AWAVAUATUSH��H��$H�T$H��tvI��H��I��E��H�CA�H�8u�O�H�CJ�(I��H��t7H�KH�H��L��������u�H�C H�|$H��D��[L��]A\A]A^A_��f�H�[(H��u�H�58
�1�����H��1�[]A\A]A^A_���E1�1����f���E1�1ɺ�͵��ff.�f���E1�1�1�鰵����UH���SH���H�����H��tH�H�(H�H�PH��1�[]�fDH���[]�@��H�H��t(H�AH;1u�@f�H�PH90tH��H��H��u��fDH�QH��H�����1�H���H�H������H�6H�?�������ATI���UH���S����L��H���(��H��H����H�CH��[]A\Ð��H��HdH�%(H�D$81�H��$H��tPH�D$0f�I��)$)D$)D$ �|$�t$�T$H��t�o	H�q�IL$I�p$A�H,L��H��PXH�|$8dH3<%(uH��H��2��f���ATUSH�i$H��t=I��H��SxH��H��t?H��P H��H��u�+H��U8H��H��tL9#u�H��UH��[]A\��1���H�5
�1�1��w����D��H��tGS�Q��H��H��t0�@0�P���S0�� u-H�=�$H��tH�����H���y1�[�D1��DH�5�
�1�������H��toSH���^�����tYH�{H��t
���H�CH�{ H��t
�u��H�C H�{8H��t
�_��H�C8H�{P�~��H��[�E��D[�fD����USH��H���uH�����軶��H��H���WH�H���[H�E�C�EH�{H����Hcs����H�EH����CH�{ �EH����Hcs(���H�E H�����C(�E(H�{8H��tHcs@���H�E8�E@H�CHH�{PH�EHH�CxH�ExH�CXH�EXH�C`H�E`H�ChH�EhH���H���H���H���H���H���H�C,H�E,���H�EPH���H��tH��H���H��H��[]�fDH�{ H�E�EH������H�E �E(�!����H������1�H��H��[]�@H�E�E���@���H�E8H��t‹C@�E@���SH��H�?���H��[�K��ff.���H��t��D�ff.�@��ATA��U��S������H��tH��H��B0[]A\��E���ڿH�5
1��&��1���f���M���[AWA��AVA��AUA��ATM��UH��SH��H�=v$���8��9���H��H���5D�hD�xD�pL� H��tH�U�oEH�P$�U@�P,D����u'H�=$H���������H��[]A\A]A^A_Ð�=�$u�D��H�5��1���$�J����H�=e���H��H��$H��t5H�=c���H���H�{���H�CPH� �H�������@1�H�5������H�=]$���H���[]A\A]A^A_���f�H����������fDH�5��1�������AWAVAUATA��H��USH��H��dH�%(H��$1����H��I���o��H�߉����L��A���J���H��H���Z��L��������I�����H�߉��{���H�l�#H�Nj2�j��H��tUE��tPE��~�Hc�����M��tL���s��H��$dH3%(D����H��[]A\A]A^A_��E��u�Lc���w;�,H��s0�L��薥��L��H��tN�i��A�M��u��@L���P��H��H��A��PH�5�E��1ҿ1����Y^�F���fD���H��1�A��PE��H��H�5|�1�����XZM����������������H��(fo�dH�%(H�D$1��J�#�D$info)$�D$��u,�+�#膣��H��E1�E1�1�1�1��B���H��#�1�H�L$dH3%(uH��(�荿��ff.�f�AUI�������ATA��UH��SH�����H���JH�}H��H��t6���H�}H�����A�ą���H�����H��D��[]A\A]�@I�UE��A��H���������H����H�x������.��H�EH��H��u1E��t,1�1��诣��H����H�x��������H�EH��H���J���H��A����H��D��[]A\A]�@E��t�뤐H�5)�1�A����H�MH��1�H�5����H�����H��D��[]A\A]��H�}�@����H�5��1�A��������f�H�}�F����SH��H�$H���dH�%(H��$1�H��H��蜜��1�H�ھ���H��$dH3%(u	H��[��|���ff.����SH�=tH���\����;"tH�ھ1�[駝���H��[�W������SH�=�H�������;"tH�ھ1�[�g����H��[�������AWAVAUATUSH��h
dH�%(H��$X
1�H��t=H��t8I���V���H�D$ H��H����I�T$XI�t$P�������t
��t6�����H��$X
dH3%(����H��h
[]A\A]A^A_�fDI�t$`H���i�>H���]�H�=�H�t$(������6H�|$ 1�1ҾU蓧��H�D$H����H�|$1��٬���D$����H�D$H1�H�D$0H�D$PH�D$8H�D$OH�D$���;\$�#H�|$��蟨���8u�H�pH�|$0�L��L�l$HE�uE����A���I��I��
�kE��x���I��H�T$H���B�:K�D=H�D$HG�t=Ic�E��u�H�|$8�DPH�|$HH����t�.誢��H�pH�t$HH�|$(�������7����1��`����H��H�|$ 1ɾUH�T$(1��T���H�D$H��tH�|$蠫���D$������@H�|$ 1�1��b��H�D$H�H�|$ 1�1��J��H�D$H��t%H��tq�.H�����H�D$HH��t#H��H�D$HH��tH�|$(H��������J���I�T$`H�5��1�������������H�|$ 1�1�����H�D$H�H�D$H뚸�	���1����������X���H�5��1����������;���跹�����SH���C���H��t31�H�SXH�sPH��������t��[�������f.��[ø����[�@��H����H����AUATUSH��H�����I��H����H����������L��A�UH����I���H��t1ҾL���L��A�UxH��H��thH��P H�{0I��u3H��t.�L��H�����H��H�C0�U8H�{0��H���„�u�H��UL���#��1�H�{0����H��[]A\A]�H�5���1��)��L������������Ӄ��fD��UH��H���SH��H������H��t!H��H���n�����uMH����[]�@H�ھ����H��u�H�b�H�5_�����H��1҉�[]�fDH�i�H�56��1��n��H��1҉�[]���AUATI��USH��芻��H��PxH��toH��H��P H��H��tIL�-7��DH��U8H��H��t-H��L���׮����u�H��L����H��U8H��H��u�H�EH��H��[]A\A]��f�H��[]A\A]�D��ATUH��S����1��脷��H��tYH��I�����H��H��������H��H���ض��H�����L��H������H�k��uZ�H������1�H������I��H��t&H��H���T�����uL��H�5D�1��	���H��[]A\ÐH���1�H�5���1����H��[]A\�@H��H�5���1�����@H�	�H�5f��1�����ff.����ATI��US��H����1ɺ�)H��H�����H�9�#�H�����I�T$HH�������_���H��H����H�E H����H�x��H�uH��������H�E H��H�p������GH���G����tcI�T$PH���������H��tH��H���6�����NI�t$hH��tH���\�����t0L��H��[]A\�٨��f�H���H�5���X���[1�]A\Ð1�1���r���H������f.�H��H�5޶�1�����[1�]A\��1�1���*����?���DH��H�5���1��־���y����1�H�5�1�軾��H�	H�5i�1��衾���D���@H���H�5F��1��~����!���f�H�1�H�5��1��V�������H��H�5���1��6����������USH��葳��H���1�1��H���7���H��H���;H�@ H����H�x��H�uH���������H�E H��H�p��������H��������t;H��1ɺ�)�7���H�p�#H�߾����H��H��1�[]�Ӧ��H���H�5���X���H��1�[]��H��H�5���1��.���H��1�[]�DH�	�H�5δ�1������@H�NH�5���1�����@H��H�5���1��Ƽ���i����H�!�H�5n��1�覼���I������H����ATUSH�_8H�����
H�=H��I��������qH�{HH��t
����H�CHL������H�CH�	H�=�H��������H�{PH��t
�ó��H�CPL�����H�CP�
H�=�H���������H�{`H��t
胳��H�C`L���S��H�C`�H�=�H�������u-H�{hH��t
�G���H�ChL�����H�Ch1�[]A\�@�
H�=��H����€�1���u�H�{hH��u��H�=&H��������s���H�{`H���M����U����H�=�H�����������H�{PH����������
H�=�H������������H�{HH���m����u���������5������������G0uVS���H��tO��uZH���txH�;tH�H�5T��1��h��������
ǃ�1�[�1��Ddž��@dž��H�5��1������f�H�=���H���H���1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H����,���@��H��#��f���H���C���A�1�H���H�5M����A�1�H�z�H�5-���ӕ��A�1�H�f�H�5
��賕��E1�1�H�7�H�5P�H�=��T���E1�1�H���H�5<�H�=ʾ�5���A�1�H���H�5����U���1ɿH���H�5��A��5���1�H���1��H��鬰��ff.����H��t7U���pSH���H���͞��H��t ��u�H��[]�f.�1��DH��H�D$���H�D$��@��H����SH��H�H��t���H�{H��t���H�{0H��t
襯��H�C0H�{8H��t
華��H�C8H�{HH��t
�y���H�CHH�{PH��t
�c���H�CPH�{XH��t
�M���H�CXH�{`H��t
�7���H�C`H�{hH��t�!���H��[������ff.�@��AVAUATUSH��dH�%(H�D$1�H����H��H��I��H��H�}H�T$I���Z����<$��1��|$������H�u0H��t\L���L��� ���L��蘕��H��H��1�I�]A�$hH�L$dH3%(umH��[]A\A]A^��H�}H���<���H�u0H��u��5�9����1�/���H�������������1�H�5h���6���H��u����j���f.�����2��H����Hc�H�>��H��H���#ÐH��H�z�#ÐH���H�j�#ÐH�q�H�Z�#ÐH�b�H�J�#ÐH�!�H�:�#ÐH��H�*�#ÐH���H��#ÐH��H�
�#ÐH�Y�H���#ÐH�)�H���#ÐH��H���#ÐH���H���#ÐH���H���#ÐH�Q�H���#ÐH�z�H���#ÐH�	�H���#ÐH�A�H�z�#ÐH��H�j�#ÐH��H�Z�#ÐH���H�J�#ÐH���H�:�#ÐH���H�*�#ÐH�Y�H��#ÐH��H�
�#ÐH��H���#ÐH���H���#ÐH�i�H���#ÐH��H���#ÐH��H���#ÐH���H���#ÐH���H���#ÐH�Y�H���#ÐH���H�z�#ÐH���H�j�#ÐH�T�H�Z�#ÐH�&�H�J�#ÐH���H�:�#ÐH���H�*�#ÐH�i�H��#ÐH�)�H�
�#ÐH���H���#ÐH���H���#ÐH���H���#ÐH��H���#ÐH�*�H���#Ð��AVAUATI��U���SH��H�5��H�� dH�%(H�D$1����H��tm��H��踖��A�����*H�
����Hc�H�>��L�
�f�L��H�5���1��蘲���#���H���k��H�5P��H��1��u���I��L�d$H�l$H�\$L�5�@L��L��H��H���w���H��tbD�D$H�L$H��L���1��&���H�T$H��t�$t�1�H�5�������$t�H�|$��H�5��觽���DH�5����ϱ��H�D$dH3%(��H�� []A\A]A^�L�
K���L�
A���L�
�����L�
�������م���8H���O���A���L��P��L�
�H�5n�P1��F���XZ�ϕ��H������H�5���H��1��!����M���L�
q��`���L�
P��T���L�
0��H���L�
��<����'������AVf�AUATUH��SH��H��pdH�%(H�D$h1�)D$�D$ H��tH��uH�^8�N@H��t
��tQ��<tLH�|$H��1�H�v�豫��1҅�xH�T$H�\$hdH3%(H����H��p[]A\A]A^�f�L�sH��t
�F0����{L�l$��uaL�d$0�.L���
L���Ǣ���CH��M��H�|$H��M��f��H����P1�����Z1�Y���_����_���DI�u�W���H��t��D$%��
�L��薫��H��H���$���H�8����H������赤��D��UH��SH��H�_ H���ޫ��H�EH��t�oC�Sf�PH��[]�ff.���1�H��t�1�f�
H�GGf�Gf��oO�Ff�G��ff.����AWAVAUATUSH��dH�%(H��$�1�H�D$H���6H�w~#I��H��H���
�f�H�G�oGO1��\������$f��fA�D$H����H���ɹ��I��H����1�8:�
@��1�H�H���R����]I�Ƅ������H��f�H���]�����DXu�I�l$A�}[�Q�:L���̢��H��H��tV�I�}�%L�s����H�����H�xH�$超��1��
L���D$賬��H�$��I�����%�:H��L��
�N��������:L���G���I��H��t4�1�H�x�
�\������,�P������
f��fA�D$A�}��f�1�H�L$L��H�
H�T$ )D$ )D$0)D$@H�D$$�ʐ������H�|$H��tH�G�oPAT$�T���@H�T$P�.H��
�9���L�������L������f�1�H��$�dH3%(���4H�Ę[]A\A]A^A_�H������1�H��L���J�������DI�l$E���.���fA��fE�t$�b���f��
1�L���!���I�Dž��u���H��L��
�ƹ�����]����D$�
1�L�����A�G�=���.���E���D$fA��fE�D$A�D$���@�]L���K���H��H��������M�u�%L���+����$I��H��t�H�x�`����$�{:��H��L���
������u0M��tA�%�]�5���fDL��蠢�����A�:���A�D$f��f����f��fA�D$�$A�D$�%���H��L��
H�$衸��H�$���1�������1�H�{�
������i���H��L���
H�D$�c������L���L�D$A�@�=�������$fA��fE�D$A�D$���1���#������O��������I����L���ff.����AUA��H�
�I��AT�I��U�պSH��(dH�%(H�D$1�H�\$
H���i�����L��HE�L������H�L$dH3%(uH��([]A\A]��Þ����U��H�5��S��H�=��H��dH�%(H�D$1�������t;1ɉ���諤��1ɉ���蛤��H�D$dH3%(u1H��[]�@H�L$A���߾�D$�ܲ����%���D��AWf�Hc�I��AVAUA��ATUL��SH��dH�%(H�D$x1�H�4$A�H�t$D$L��$�L��$��D$H��H�F,�F4H�T$�@H�D$ H�D$PH�L$H�D$(H�D$0H�D$8 �O���H�Ã��tA��.���L��H��D����H�|$8v`H�t$0I��H��tSI�M9utkI�EH��H�ڃ�H��H��v,H�L$8H�L)�H9�wH)�H9�wH��H��I�u����H�\$xdH3%(u8H�Ĉ[]A\A]A^A_�@A�E�EA�EA�$A�}�x���H�t$0�s���詜��f���AWf�Mc�AVAUATU��SH��dH�%(H��$�1�H�D$D$,L�d$ D$<H�D$L�D$TL�D$L�L$H�L$ �D$(H�D$0H�D$8H��t�H��L�d$ ��uB�@@L����Ӑ����H��$�dH3%(���H�Ę[]A\A]A^A_�fD�>A��L�t$聅��H�D$`f��H�D$@��@@L��H�D$�D$H�D$D$hH�D$xH�D$H H�D$`�D$l�D$H�D$p�+����Å��P����lz���8I���?���I�F�@@L���D�l$H�D$H�D$p�D$�D$x����Å�����A�?�����H�D$@H�D$H�������f���AWAVAUATUSH��HH�|$H�L$ L�D$(dH�%(H�L$81��D$0H����D�W,E��D�T$��H����<A��藋��D�T$H��H����L�x8L�pD��H�D$0L�l$4H�D$@H��D��M��H���D$4AWAUL�D$������XY��x>H�D$ H�H�D$(�<H�t$8dH34%(��uxH��H[]A\A]A^A_�f.��T$�x���T$�8��uH�D$�x,�w�����T$�O����T$닺�����H�D$ �����H�H�D$(��v����|���ff.����AWI��AVAUA��ATI��USH��H����H�H��tDM��t?A���<������H��u.��H�5��1�������ˣ���Sf�M����I�_8H����A�@<��A�,��xsL�s �S8E��M��H��L���y���Ņ�xH����[]A\A]A^A_�D�w���8u�A�,�H��tNH�_8H��tE�W@��<t��R���D�����M��u�뮽�����H�9t$M��tA����%���H�9tM��u��������A�W@����f.����f.������������x�����ATUSH��tcf�?u]A��H��������H��H��t@�@,�����H���,���H��tE��t2H�EH���E[]A\��H����1�H��[]A\�fDH�E �<��E(�v���H�E8H��t�o�E@<H��[]A\��H��1��Ʃ���@��U��1ҾS���H���z����x��lj��Q���H����[]���������f���ATI��UH��S��H���,dH�%(H�D$1��D$��t1�H�L$A���5������t8�},�L���w���Å�u:H�L$dH3%(��uCH��[]A\���cu���8��|����f.��Ku����8�|��H�������������H��dH�%(H�D$1��D$H��tH�t,H�5���1�葠��H�D$dH3%(u+H���@H�w8H��t˃@vŋ,H��H�T$�(�����葕�����AUI��ATI��U��SH���Ő��H��H��t2��uA�@,E1��tg����M��tD��L��H���s�����u��t[H��H��[]A\A]�DA�M������M��A�f���������C,���u�D����u���C,�f.�H��舝��H��H��[]A\A]�f.�H��1��V���H��H��[]A\A]����AWAVAUATUH��S��H��(dH�%(H�D$1������1�����I��H����1��*����:L��A����{��H��A��A����E����L���}��H�xI���_���I��H��tSL��L��H��M��F����:0A�FL��fA�I��1�L����~��A��M9�tL���8���E��uX1҉�H���t���H�L$dH3%(uHH��([]A\A]A^A_�DI��1�L��L���~����t�E��tE��t1�f�D$L��1�H��������W������ATUSH��0dH�%(H�D$(1�H��tw�oH�W I��H��H�wL����#~����tWH�s(H��t6H�\$1�H���~����1���u?H�L$(dH3%(uMH��0[]A\�fD�Cu*��L���`�����fD1���@H�ډ�L���c���벐1҉�L���T����荒��f.���AWAVAUATUSH��H����I���,����M��I��H��Hc�E1�E1�1�H��H���e���A�Dž�x>M��tM��tA�D$@��KI�EA�H��D��[]A\A]A^A_�f.��q���8��uA�|$,�D�sx��룐Hc�����I�EH��t�IcT$@I�t$8H��H�����A��A������ff.�f���AUATUSH��H��tMI���,��xCH��Hc�DE1�E1�1�H��H���q��A�ą�xH��D��[]A\A]��[p���8u�A�},��A��������AWA�����AVAUATA��U��S�Ӊ�H��8dH�%(H�D$(1�L�t$ L�l$�D$M��L���D$ �����u�|$ t.H�L$(dH3%(D����H��8[]A\A]A^A_��D�|$A9�}�H�D$$H�D$@��D)�=~@A�H�L$����A����D����D$$����u5D�|$$��D)�=�M��L��D�����7���D�|$�O���D�\$$����ff.�f���SH���,��x輩���C,����[������[�f���U��S��H��(�L$dH�%(H�D$1��D$�D$��tzH�L$L�D$�ډ�蒂���D$��~JH�L$A��ډ�������uU�D$��9D$|MH�t$dH34%(��H��([]�fD�D$��f.���tC�ȃ�t$�D$�q����T$�މ��������u��D$럅�t<�1�萝����fD��t�1��x����fD�	1��d����f��
1��T����荎��ff.�f���U1҉�1�S���H����|����x(�€�߾����D�H��1�[]�|���H�������[]�f.�f���AUATUSH��dH�%(H�D$1�H������H��H���H�GI��H�1�蔜����t@f��f�CH��t�}uE�{�uw���H�L$dH3%(�EH��[]A\A]ÐM��t�1�L��H���x���@H�����H��H��th�:H���t��I��H����I���I��t�xueH��:tL�H�=�wH�������t+H�sH���x����y"H���p���1��I���f��C����H���Q�������@�
H��L���Ȗ��H�$I9�t��:u�H=��w�I��f��f�CM��t�L���`���f.��}t��
H��H���z���H�$H9��3����:�'���H=��v������R���f���AUA��H�
�I��AT�I��U�պSH��(dH�%(H�D$1�H�\$
H���y{����L��HE�L���w��H�L$dH3%(uH��([]A\A]��Ӌ����AVAUATUH��SH��H��@dH�%(H�D$81�H��tH��uH�^8�N@H��t������<tNH�|$H��1�H�0��k���1҅�xH�T$H�|$8dH3<%(H���/H��@[]A\A]A^�@L�cH��t
�F0����SH�s ��A��H�T$ 膈��fA��H�T$L���I���[�c���A��H�|$H��Rf��I��H��AVD�˾1�趐��Z1�Y���E����E���DD�cH�T$ H�s������fA��H�|$H��I��E�̾1�H����\���1҅�������D��L�����H��H������H�8�r���H���������D��UH��SH��H�_ H���>���H�EH��t
�S��Sf�PH��[]��1�H��t�1��H�G�G
f�Gf���G�Ff�G����AVAUATUSH����H�_8H���.�@p��H����(�/�ޗ���9y��H��H������I��H�CH���nH�{8�u���H�E H�{8�r�����E(H�{8�Y���I��H����1�1ҾeH���<��I�ƅ���L���Iq��I��H�CH����H��L��L���k���1ɺL��!�G������y��I��H����臢��L��L�����p��L���"�������H��L���������w1�1ҾiL���~��H��E,H��[]A\A]A^�@H�{8�G���H�{8H�C �j���H�EH�{8�q�����EH�{ H���Z1�1Ҿe�<~��H������w��H���m��H�{ 1�1�H�C�iH���
~���M0�E,H��[]A\A]A^�f.�1�H��[]A\A]A^�f��1����H�5���1�1��1���L���g��L���h������@H�sH���1�1����H�5]��1������@�1讕��H�S8�1�H�5\�1��ő��H���1�D��蔊��L���h�������6�f���H�5���K���f.�H�5��1�1��k����f���fDH�5���1�1��K����F���fD�1����H�5��1�1��!���L���g������@�11��Ԕ��H�5���1���H���1�1��������@�1螔��H�5��D��SH��Hcw(H�2H� �h���H�[���USH��H�_8H�n8H�C(H�CH�EH�{8H��t	���H�E8H�{0H��t	���H�E0H�{HH��t	�ԛ��H�EHH�{PH��t	�›��H�EPH�{XH��t	谛��H�EXH�{`H��t	螛��H�E`H�{hH��t	茛��H�EhH�{@H��t�<襗��H�E@H��1�[]����H��dH�%(H�D$1�H��tH��uH�w8�W@H��tV��<��~G��ptr��h��H��$�<H��H�=f��v��H�L$dH3%(��H���f���u|H�D$dH3%(��H�=9�H��鸚���H�N8H��H��1���F�����1���x�H�$��H��<H��H�=���yu���i���@��H��H���1�������1���y��@������fD��AT1�1ҾeUSH�_8H�{ �z������H�{ �m��I��H�C(H���H�{�l��H��H�CH���L��L��H���*���H��貙��A�ą���H��H���Lv����u(�2�ޑ��H�{(1�1Ҿi�y��[]A\���H�5��1��ݍ���5裑��H�{�*c��H�{�q���H�C(�����H�C�H��H�5���1�蔍��H���1����d���������H�5���1��j���H���H��D���8����H�5���1��C���������=���H�5
��1��&���L���c��H�C(���������ff.����H��tcH�8t\USH��H���G0uA�3觐��H�k8H�}H��t�%b��H���}x��H�C8H��H��[]�ד����0�f���뽸�����ff.���USH��H����H�H����A�8h��H�_8H����H�kH�����uH�������xAH��[]�f�H�{0u�H��t�H���T$H�4$苗���T$H�4$H�C0�DH�s��H�L��$賄���$H��[]�f�H�5���1�譋���8�s���������p���H�5b��1�膋��������S���H�5��1��i���������6���ff.�@��AWAVAUATUSH��H�$L�D$H���$�G,���H�_8H���H�{�LH����hA���Tq��I��H���
H��Z#H�5�V#�hL��L�0J���ґ��Aƅ!M��A�����DH�{D��H��詅��A�Dž�tz���t=��~�H�L$H�$H��L���y���������DE�H��D��[]A\A]A^A_��H�{D���$n������v�H�sD��H����	���L���с����L��A�����躁���H�5	��1�A���������J^���8��e���t���H�$A�����H�H�D$��S���H�5���1�A�����褉���5���ff.�@��AUA����ATI���USH��
dH�%(H��$
1��o��H���vD��H��H���w��H��H���\E����L��賔��H�E8H�(U#�K0H�k8H�H��X#�C@pH�H�CH��CH�����H�CXH�_���H�C`H��W#H�CpH����H�ChH����H�CxH����H���H��U#H���H�T#H���H�����H���H�����H���H��$
dH3%(H����H��
[]A\A]�@�K0L���̓���:L��H�E8�;}��H��tVL)�I��M��
H=
I����	L��LC�H�
>0�1��l��L���x���H�E`����1��]����I��
L��L���
k�����|��fD��AUI��ATA��USH��
dH�%(H��$
1�H��t
�H����u7I�mD��H�����H��$
dH3%(��H��
[]A\A]��:�d��H��u��,{��H�H���@H�����tE�DZu�H��H��I��AUL����
1���	H��H���l��XZ�e����H��I��L�G�1��
�H��H�ݾ�	��k���/�����{��ff.�f���USH��
dH�%(H��$
1�H���	w)I��H��չ
H��H��L���\������H�����H��$
dH3%(u
H��
[]��\{��ff.����H��H�R#��H���#H��U#H�H���#�:l��H�:eH�
��H���#H�z�#H�=c�#H�H�HH�R#H�~�#H�/R#H�`�#H������AUATUSH��H��H����H�o8A��H����H�G8D�g@�	���H�k8H�CPD�c@A��<��H�<V#H�Cx�C0H�H�U#H��CH�fH�CXH��
H�C`H� H�ChH�R#H���H�WP#H���H��H���H�cU#H���H��H��[]A\A]�fD�[���H�{8H�CP�Y���D�c@�F���D��H����r��H�S8H�P@H�C8�C@p�*���ff.�f�H��H��dH�%(H�L$1�H��tH��uH�w8�W@H��tW��<��~H��pts��h��H��$�<H��H�=q�A��H�L$dH3%(��H���D��u|H�D$dH3%(��H�=E�H���8����H�N8H��H��1����~����1���x�H�$��H��<H��H���i���j������H��H���1���x~����1���y��=����fx��fD��L�mP#H�
�����f���L��N#H�
�����f�H�ѷ#H��tM�L�GDf9Pu2f��t<f��
u/�Of9Hu�w9p(uH�HH�p I3I3pH	�t	H�@0H��u��fD�w9pu��Of9Hu��ff.�f���AVI��AUI��ATI��USH��`H�-�R#dH�%(H�D$X1��M��u"H�=�N#��a�����V�E�5��#L���y���H��H���M�Pf����f��
t9H�5b��1�1��ā��H�L$XdH3%(���&H��`[]A\A]A^Ð��&~��H��H�����Cf�E�oC�E�`��L�t$I��H��H��H�5�M#M��H��H�T$R��3���XH�5��ZH�������T$L��L��H���k��A�]��I���D��}��H��H��t�Cf�E�C��E�j���fDH�5���1�1��À�����fDH�5���1�襀������H�5��1�荀��������u��H�q�#SH��H��t!H9�u�Kf�H9�t3H��H�B0H��u�H�{@H��t
��w��H�C@H�{P[��k���H�C0H�B0��H�G0H��#�AWAVA��AUATI��H��UH��SH������H��H��tH��H��[]A\A]A^A_��E����A�D$,�����X��f��I��H����D��L����m��I��H���lI�T$8I�EPH��tA�|$@p��H�\�#L�-U�#I�E0�Ef���sf��
�1H�U�oEI�U �UAEA�U(裎��H���+X��I�EH���j艎��H���X��I�EH���jI�}1ɾ�H������mj��I�}1ɾ�H������Vj��E������j��H����Y��H��H����H��H�5:����ul��H�5�H������H���.\��I�GH���1ɺ�!H���=p��I�UI�L��I�u�9���I�� �{���I��5%�#L����[��I�� S���2����/�ށ���B���f��+j��L��H������H���[��I�GH����1ɺ�!H���o��I�UI�L��I�u装��I��*}�����DH�zHH��tH�T$����H�T$I�GHH�zPH��tH�T$����H�T$I�GPH�zXH��tH�T$���H�T$I�GXH�zhH��tH�T$�Ɉ��H�T$I�GhH�z`H�������讈��I�G`���DH���H�5�t�1��|��H�5���1���|�����fD�oMAM���f�H���H�5nt�1��|���H���H�5Rt��|���I�}��R��H���H�5/t1��I�E�_|���d���I�}�R��I�}�R��H���H�5�s1��I�EI�E�|���#���L���s������I�}�sR��I�}�jR��H���H�5�s1��I�EI�E��{������ff.���AWAVAUATUSH��hdH�%(H�D$X1�H�7L#���u)H�L$XdH3%(���mH��h[]A\A]A^A_�@I���5S�#A����{��H��H���#�Pf��t!f��
��H�5��1�1��"{��돿�w��H��H�����EA�f��E�C�BZ��L�t$H��M��H��H�5\G#M��H��H�T$R�超��XH��ZH�5z��+1��n���D;d$����D��L��L���Y����������M,�������v��H��H��t�EA�f��oEC�T���H�5a��1�1��3z�����fDH�5���1�1��z���}����Io��f�AVAUI��ATI��UH��SH�?H��H��tH�6H��u,L��L��葁��H�EH��tLL�#1�[]A\A]A^�f.�L�4L�����H��t#H�EHL��L��H���d��L�31�[]A\A]A^ø�����DAVI��AUI��ATUSH�� H�~dH�%(H�D$1��5V��Hc�H��A����u��H�Ņ�~H��u3H����p��D��H�L$dH3%(��H�� []A\A]A^��I�~��H���N��A��M��tI�E8H��tA�U@��<ta��ptSI��L�t$L���m��H�L$D��H��D$I�EPL�D$L��P`����h���H�5���1��x���P���H�@@H��t�H��I���Dm��L�t$�D$��m��@AVAUATUSH�F@H����H�VHE1�H��u[D��]A\A]A^�H�nPI��H��H��H�}��}��A�ƃ���~A���1f�H��L���u�������H�s@H�}�SH�}�����uHH�}D���[������v�H�uH��������p��[D��]A\A]A^�E1�[]D��A\A]A^Ð��~�C8H��L�������~1H�{@H��t
�o��H�C@E1�H�CH[D��]A\A]A^�@A�����[]D��A\A]A^�fD��AWAVAUATUSH��8dH�%(H�D$(1�H�����G,H������I��A��I��M��t)H��t$A�8hH�uH��t��!�6fDH�u8H��t
�E@��<tS��ptJ�8A������Zz��H�5+��1��wv��H�L$(dH3%(D����H��8[]A\A]A^A_ÐH�v@H��t�M��t%M�?M���vM���mA�8h�LE��H������I��H���>H�XPH����H�KH����H�{0u	M���*I�|$@tL��H���w���A�ǃ����H�KD��L��H���i{������0A���.L��H���������-H�{D��L���6{�������H�{D���AY������v�H�sH���������$n��I�|$E1��'R��H�Å������Hc��q��I��H����I�|$��H��I����J��L�����i��H��L�d$ �ډD$H�EPH�L$ L��L�D$�P`L��A���~l���R���f�E1�����I������I��H�L$�!���H�L$H�C0���H��$I���D�������$���A�D$8����DIc�I�t$HI�|$@L���C����������A���������8A�������w��H�5���1��
t������4A�������w��H�5���1���s���i���Ic�I�t$HI�|$@L�������O����1A������w���:�����h��ff.����AWAVAUATUSH��XH�L$ L�D$(dH�%(H�D$H1�H�����G,H������I���hA���Y��H�D$H����L�|$�hL�l$<H�C#H�5-D#H�(L��H���z��I��$H�D$@I��H�T$AƇ!H�D$DH�CPM��H�L$D��H�D$@L��H��PXA�Dž��4�L$<��<�o��<�<H�l$@H�|$C�H��HcѹD�y��H���*j��H�D$@E����H�t$1�H���I�I��H���WI�mPH�}� I�}D��L���s��H�}D��L���0m��A�ǃ��t/�L��H�������~CH�}D��L���m�������H�}������U������v�H�uH�C�������j��H�|$�di��H�}������U�����CI�}@�L��H���7�����f�H�l$@H����E��������E���8���y����4M��H�|$A�������h����A�<H�+�H�54�1���q���L$<�h����A��E����A�M,�E���E��~A�E8I�}��M��H����I�}@tL��H���n���H�L$(H�T$ H��H�|$��_�����H�\$HdH3%(D����H��X[]A\A]A^A_�f�H�}�\�����A�M,�E��m���H�}H��t|�?{����t|�����H�5c��1�A������p���6��s���7��s���1��s��H�|$�g���M���@L��H���m���I�}@�	�������D��W����u�ME�������������t�H�5�1��o���5�[s��H�|$�1g��A���������A�M,L�����H�|$�g�����H�uH�ʺ������%h�����H�D$ A�����H�H�D$(�����H�5��1�A������o��H�|$�f���W����2A������r��H�|$�f���8����d��f���AWAVAUATUSH��H�$H��H�$H���dH�%(H��$� 1�H���0�Sr��H�C8H���'�{@p�H�x@H����z�H��H����H�xH��H�D$�D$L�d$0A�H�D$L�t$ L�|$H�D$H��H�����H�}H�}1��L���H�Hc{,�q���{,M��L��H�D$ H�D$(P������������?)ѺH��1�H	T�01��b]������H�EHA����H���p���H�EPH��t H�xH��t��B��H�}�PJ��H����H�����H���wt��H��$� dH34%(��H��� []A\A]A^A_�fDH�L$H��M��� H��$��D$�S���H�|$H���K����d��H�D$�8���f�H���G���H�}@H��t
�id��H�E@H�EH�$���@H��H���%��9�����a��ff.���ATI��U��S�^U��H��H��t��H�������tH��[]A\Ë{,�L���@W����y�H�5:��1��)l�������ATI��U��S�nB��H��H��t*��H���|���t(H���H���H�:#H���H��[]A\�@�{,�L���V����y�H�5���1��k������AUATA��H��UH��SH��H��H
dH�%(H��$8
1�I��L���K������D��L����y��H��E��unH��tiL�e8H��t`M��t[�:H���:`��H����H)�L�l$0I�ٺ
H=
I����	L��LC�H�
7�1��O��L���qv��I�D$`H��$8
dH3%(H��u]H��H
[]A\A]��L�l$H��H��1�L���F����t�D��L���<J��H���5���@L�l$0�
H��L���M����_��@��AUA��H��ATUH��H��SH��H��HdH�%(H�D$81�I��L���n����uDL�d$H��H��L���U����1���tD��L���I��H�L$8dH3%(uH��H[]A\A]�D��L���Ux�����_��ff.���H�����#����H��:#��H���#H�{9#H�H���#��O��H��HH�
��H���#H�H�5|�H�~�H�k�#H�HH�pH�PH��6#H�q�#H��4#H�S�#��#��tAH�="�#H���ip��f�E1�E1�1�1�H�ϻ1��H����#�3���D1�E1�E1�1�H���1��H��H�=ɝ#���#H���
p��f.���H�=�#SH��t�H�_�/`��H��H��u�H���#[H���#�ff.�@����H��H��H�=R��A�����AVAUI��ATUSH��tL�!M��tA�8t^A�����M��t^M�e8M��tUA�E@��߃�uIA�},��x;H��Hc�A�M��1�H��H���<��A�ƅ�y�<���8uA�},��H��u�A�����[D��]A\A]A^�f���AWAVAUATUSH��(H�$L�D$dH�%(H�D$1��D$H����D�,I��E����I���Hc��M��H��H����L�l$fDD��M��I��1�H��L���rO��A�Dž�x;H�$H�(H�D$�H�T$dH3%(D��u[H��([]A\A]A^A_���;���8��uE�~,�fD�B���A������H�$A�����H�H�D$���[��fD��AWH���"AVAUATUSH���dH�%(H��$�1�H��$�H���`:���H�=B�H����€����AH���HH��$��"H��H��� :��H�ً1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�H��!��H���pH�Y�"H��H��H�\$�9��H��H����������!ʁ ��t����€�D�H�KHDى�@�H��H)���H��!�H���!L��$��-H��L���I9����$��C�H�=��L����€����<H����H��$��H�|$H��I��H����8����$��EA�$I����������!�%����t������D�I�T$LD��@�I��L+d$I����I�D$H�D$H��
�?�H�=V�L��������D$,�����$�!�D�D$,�/L����@��H��tI���I��t
�x��H�D$`fv�H�D$H)�$�L��$�f�L���
I�U)D$`H�D$X)D$p)�$��q�����EL�t$X��$�M����M�nA�ML�CH�|$E1�E1�H��$PL�d$ M��L��$�H�D$0H�D$H�\$@H��J�D<L�D$H�H�D$8H��L��I��f.�I�u	I�GI��f���H��H���҅��xH9�u�H�T$0�.L���
L�L$L�D$�U��I�u�.H��$ �
�wU��H�|$8�=_��L�D$L�L$H��H�P<������������tA��H<����H�A���+A����E��tA�	�
A����H�|$H���HT$@H�P�|$,fo�$��AoMH�@�x8HP(H����H�EM�v(M���<M�n��$�H��A�M���H�D$�;���f�H�=!��tJ��@H��$�dH3%(��H���[]A\A]A^A_��H�=��L�d$ �/J��L��M��t�H�_�Y��H��H��u�H�|$XH;|$Ht��\���@I�	L�RM��I��H�
D��I�t	�H�t
�H��L)�I)�D��������H�D$��1�����I�;I�:9�r�H�D$���DI�H�xDH��H�H<��I�t�H�t
�H��L��H)�H)����H��4���@H�=��TI�������H�t$L�H��$��������!���,����7@�2�������t�f�t
�����fDH�=����H���w����H�D$ ����fDH�=����H���O����H�=2�L�d$ �H���s���f�H�=���H�������H�=U��|H�������H�=1��dH������H��$�L�ZI��H�
L�T$D��H�t�H�t
�H��L)�H)�Dу���+���H�D$��1�A���J�K�9�r�H�D$����DH�=a���G���o����H�D$`f�1�1�H�D$HL��$�HDŽ$�)�$�)D$`)D$p�$�L�t$H�D$pL�l$xHDŽ$�L�t$X�2���H���#L�d$ H���SL�bH��#�<���H�=j��<G�������H�=8��$G������H�T$H1�H�L$XL��H�
H�D$d�EB������������\��H����F���i���f�H�D$`�
L��H��H�D$H�6]��I��H�D$`�8�pI�����M�������I��L��$�L��L���$\��I������A�����1�D)�Ic�����K�T'D)��T�������������|���f�D��p���fDL�%��#H���#���DH�=ܰ��E���o����H�COMMUNITH9�$������f��$�Y�����H�=���E���0����D$,I������A��H<��A�t��t
��B���f�A�	�
D��A�t	��t
��V�����A�t�f�t
�����D��A�t	�f�t
��1���L��$�L��
L���]j�����v���H�=p��E������7�2�t��t
�����H�=>���D���q�����H�H�D
�H�JH��H)�Ѓ��������1҉׃�H�499�r������Q����D������$����f.���ATUSH����f�?
��A��H�������A��H��H�����@,�����H��� c��H��t{A�����CH�CH���H�CH�H�CXH���H�C`H�y+#H�CxH�ChH���H���H� )#�C	H���H�3*#H�H��[]A\�H���R���1�H��[]A\�fDH�C �<��C(�A��H�C8H��t%H�U�oE�C@<H�P�U�P�5���H��1��Nb���ff.����UH��SH��H���,dH�%(H�D$1���u(�H���{0����uUH�L$dH3%(u`H��[]�H�L$A���)�D$��c����u
�{,�D�;.���8�5�����-.���8�5��H����`����������N��f���U��1ҾS���
H���2����x��lj��!U��H����[]���������f���H��dH�%(H�D$1��D$H��tH�t,H�5u��1��!Y��H�D$dH3%(u+H���@H�w8H��t˃@vŋ,H��H�T$�G�����!N�����AUI��ATI��U��SH���EN��H��H��t2��uA�@,E1��tg����M��tD��L��H���3H����u��t[H��H��[]A\A]�DA�M������M��
A�f�����S���C,���u�D���f���C,�f.�H���=��H��H��[]A\A]�f.�H��1���_��H��H��[]A\A]����ATUH��S��H��0dH�%(H�D$(1���u%1���M��H��tI��1�H��L���
4����t&1҉�H����=��H�L$(dH3%(uH��0[]A\ÐL��1�H����=�����L��ff.����ATUSH��PdH�%(H�D$H1�H��tw�oH�W I��H��H�wL����3����tWH�s(H��t6H�\$ 1�H���g3����1���u?H�L$HdH3%(uMH��P[]A\�fD�Cu*��L���0-����fD1���@H�ډ�L���=��벐1҉�L����<�����K��ff.�f����G=�����U��H��SH��8dH�%(H�D$(1�H��H���2��1҅�t
��H���,��H��H�L$(dH3%(H��uH��8[]��dK��@��U��H��H��SH��8dH�%(H�D$(1�H��H���A��1҅�t
��H���C,��H��H�L$(dH3%(H��uH��8[]��K�����H�%#H�5.##H�
��H�=��kN��ff.���AWAVM��AUATU��SH��H���H�T$L�L$ dH�%(H��$�1�M��tI�L�=��#M����H��t��uf�;
t2�H��$�dH3%(�eH���[]A\A]A^A_�@�}Hc��}Q��H�D$(I��H��tLc�H�t$H��L���]?��C�D%H�T$0H�s�.�
�oG��H�D$`L��$�H�D$Hc�H�D$�M�M����I�w(�.M�g<L��
�)G��H�T$�
I�w�.�G��L���3��9�u�H�T$H�|$L���S3����u��f.�A�L�TA"T'��@��8�@��H��@��u�8��b���A�G8��uM��tI�H�\$ I�I�GH�H�|$(H��������mK������1������H��@��H��H��"#��H��#	H��#H�F$#H��#H���#H�"#H���#H�'#H�Ј#�9��H�y2H�
n�H�H�5z�H�y�H�HH�=��#H�pH�PH���#H���YZ��f�����H��H��H�=��,�����ATUSH���H��dH�%(H�D$1��D$�/O��H����I��H�����{,����H�T$H���r-���Ņ�xlH�{8H��t�J���D$L�c81���C@��/��1ɺ���M��1ɺ���M��H�L$dH3%(��uHH��[]A\�f��[&���8��-��L���I����f.�L������I��뭽������G��D��ATUSH��dH�%(H�D$1�H���{f�?
H���nA������7��H��H���P�<�M��H�C8H���)H�U�oE�C@<�C	H�P�U�PH�f#H�E���*�M���
f�����cL���C,�����C0A�H�L$A���Ǿ)�$�D$�Z�������K0�H���C�`X��H�CH��t_�{,H���A��lZ���{,E���H�H���&����u'�{,���-���{,��E������DH���`W��H���X���1�H�L$dH3%(H���0H��[]A\�fD1Ҿ�
��(���C,��x��C0�H���C(�W��H�C H��t��{,�H���:�����l����{,1�1Ҿ�K���{,1�1Ҿ��J��H��#H�CH���H�CXH�@#H�C`H��#H�ChH�����H�CxH�W���H���H�Y#H�������D��,���@1Ҿ�
�'���C,�������C0E1�����D�C#���8�*�������D��f���U��H��SH��8dH�%(H�D$(1�H��H���+��1҅�t
��H���Z��H��H�L$(dH3%(H��uH��8[]��C��@��U��H��H��SH��8dH�%(H�D$(1�H��H����9��1҅�t
��H���Z��H��H�L$(dH3%(H��uH��8[]��QC�����H��H�9#��H���#	H���#H�#H���#H���#H�#H���#�4��H��-H�
�H�5�H�H�=J�#H�HH�pH�K�#H����T��f�����H��H��H�=��4�����H����O��H��tdH�w#H�@H�H�@xH�H�#H��PH��#H�PXH��#H�P`H�b#H�PhH��#H���H��#H���H���D���J������g$�����H���F��H��tdH��#H�@H�H�@xH�H�u#H��PH�X#H�PXH�E#H�P`H��#H�PhH��#H���H��#H���H���D��U��H��SH��(dH�%(H�D$1�H��H���f,��1҅�t
��H���4��H��H�L$dH3%(H��uH��([]��$A��@��U��H��H��SH��(dH�%(H�D$1�H��H���#P��1҅�t
��H���4��H��H�L$dH3%(H��uH��([]��@�����H���s;��H��tdH��#H�@H�H�@xH�H�5#H��PH�#H�PXH�#H�P`H��#H�PhH��#H���H��#H���H���D��AWM��AVM��AUI��ATI��UH��SH��8H�L$dH�%(H�D$(1�H��tH�H���5M���,M���SA�M���wA���!Ѕ���H���P)��H��=�L���:)��I���� ��H�|$H���8H�D$�)���ƒ� ��L�L$B�|'��T$�L�L$Hc��y0��I��H����Hc�H�@$L�L$HcT$H���j���)H��t�MA�H$����Mc�H�DI����A���M��tA�$�A����I�����L�I�@A�I�@A�@A�A�@�D$pA�@ H�Z#H���1L�@L�F#1�M��tM�EH�t$(dH34%(��H��8[]A\A]A^A_���D$$L�|$$�~���fDI�$H�xH��H�K�L�J�L�H��H)�I)�L�H��H���4���H��1�H��M�L�H��H9�r�I�������J�LH�t$L�D$H���)3��L�D$I�@���H�MI�x,H��H��I�H$H�L�H�L�H��H)�H)�H�H���H�����D$ M��t;L�t$ ���f�L�!~#L�~#����D1�1�������D$$L�|$$�f�C�L�fB�L��>�����L�f�L����f��MA�H$�L��L�����@A�$�C�L�B�L���������;���fD������+���fD���������fD���������������������������}<��ff.�f���AWH���"AVAUATUSH��dH�%(H��$�1�H�\$ H���#���H�=�H����€�����H���#H�t$P�"H������H�����"H��H�������|$ �UH���$H��$��H��H�������$���H�=�H����€����H���fL��$��H��L���V����$�L���U�
H����������!�%����t������D�H�JHDщ�@�H��L)�H��	���H�=ҙH���A��A��E��E�����D$L�t$�D$H�L$PH��H��M��ATL��1�L�L$$�M��ZY������H�C�Hc�H�>��f��|$ �D$P�����H�=����-����E1䀼$�!u
A�H���/H����!��I��H���HA�L�t$H�@H��L��H�D$��R������H�|$tA���D$��������fDH�=	��\-��@H��$�dH3%(�_H�ĸ[]A\A]A^A_��H�=ܗ�-����f.�H�=ݗ�-���f�H�=����,���f�H�COMMUNITH9�$��E���f��$�Y�6���H�=���,���`����H�=!��,���G����H�=���,���/����H�=���t,�������H�|$�
H�t$��B��H�T$�:�H�P�H����� )�H�����H��ȉD$�ЅD$�����DH�=u��,������H�=���+������H�=}���+���w����H�=#��+���_����L��H���$��������H�=&��+���4���@H�=1��|+�������L�t$H��L���P��������L��H���#���������H��u5�D$���������H�t$H�T$��SP����t�D$�����H�=P��*�����H�=O���*������]7��ff.�f����9�����H�=�w#SH��t�H�_���H��H��u�H��w#[H��w#�ff.�@��H��w#H��t!H9�u�Ef�H9�tH��H�BH��u��f�H�GH�B1�H9=Ow#H�Gt�H�B1�H�?w#��DH�)w#����H��#H�5�#H�
��H�=V���9��ff.���AWAVI��AUATUSH��H��XH�T$L�D$L�L$dH�%(H�L$H1�M��tI�L�=�v#M����fA�>u��<t1�H�\$HdH3%(��H��X[]A\A]A^A_�f�L�d$0H�l$ �
@M�M��t�I�w�M�o$L���2���I�wH����2��L������H9�u�H�|$H��L���*����u�A�FA#GA;Gu�A�G ���K���H�\$H���=���I�H�H�\$I�GH��&����1�������4��@��H��H��#��H��u#H�q#H�H��u#��%��H��H��u#H�=qu#H�zu#H�H� #H��u#H�*#H��u#H��#H�]u#H���F��@����H��H��H�=��%�����AT�USH���<H��dH�%(H�D$1��2%��H����I���D$H�����{,����H�T$H������Ņ�xgH�{8H��t�96��L�c81����C@<���1ɺ����9��1ɺ���9��H�L$dH3%(��uCH��[]A\�@����8���L����5����f.�L������5��벽������53��D��ATUSH��dH�%(H�D$1�H����f�?H����A�����$��H��H������<��#��H�����oEH�C8�C@<H��#�C	H�E����1Ҿ��:���C,���g�C0�H���C(��D��H�C H���7�{,�H���(������{,1�1Ҿ�^8���{,1�1Ҿ�M8��H��#H�CH���H�CXH��	#H�C`H�
#H�ChH�����H�CxH�����H���H�<
#H�����1Ҿ��_���C,�����C0�H���C�D$�D��H�CH��tX�{,��H�L$A��F���{,�H���[����u'�{,��z���{,��1��������DH���C��H���C��1�H�T$dH3%(H����H��[]A\�fD�M���f������6���C,��������C0�H���C�D$�C��H�CH���n����{,H�L$A����!E���{,�����B����Z0��f.���U��H��SH��(dH�%(H�D$1�H��H���6��1҅�t
��H���>��H��H�L$dH3%(H��uH��([]���/��@��U��H��H��SH��(dH�%(H�D$1�H��H����>��1҅�t
��H���>��H��H�L$dH3%(H��uH��([]��/�����H��H��#��H��p#	H�up#� ��H��H�vp#H�=Wp#H�`p#H�H�6#H�op#H��	#H�Qp#H���8A�����USH��H�$H���
dH�%(H��$1�H��H��H��$
H���
���
H��H���
��H��tH�=e��("��H����D��H�)#H��H���n6��H�=�o#H���/'��H��$dH3%(u
H��[]��].��ff.�f���H��H�=�o#�B��H��o#H���ff.����H��H�)#�
�H�=ЎH��G��1�H��Ð��ATI��U��H��SH��H�=&o#�1%��H��t[L���H��]A\�/��H��H�5���1��b8��[1�]A\�ff.���S�H��#�H�h�H��n#
H��n#�|��H�=�n#H��n#H�H��n#H�#H��n#H�#H��n#�??��H�
�#H��[H�M#L��H�=�=���f.���SH��Hcw(H�2H� �X?��H�[���H�=}n#SH��t�H�_�/��H��H��u�H�Ln#[H�Hn#�ff.�@��AT�USH���nH��dH�%(H�D$1��D$n�j��H����I��H�����{,����H�T$H�������Ņ�x_H�{8H��t�y.��L�c81ɺ��C@n���2��1ɺ���2��H�L$dH3%(��u<H��[]A\�D��
���8�L��L���.����f�L������.��빽������+��D��AWAVAUATUSH��(L�D$dH�%(H�D$1��D$nH����D�w,H��E����I��n�Hc�I���@��I��H����H�T$H��D���$����uw�{,E1�E1��@H��L�����A�ƅ�x0H�D$M�/�nH�L$dH3%(D��uXH��([]A\A]A^A_���	���8��uH�D$M�/�n�@�+���L����,��H�D$I��A�������b*��f���ATUSH��H�o8�,��xb�%D���C,����A��H��t
�E��t�}u)D��[]A\Ð�}tt�H�}t���D��[]A\�f�H�}�w��D��[]A\��A��������AWH���#AVAUATUSH��dH�%(H��$�1�H�l$ H������H�=u�H����€�����H���+H�\$P�#H��H���V��H�ً1H����������!� ��t����€�D�H�qHDΉ�@�H��H)�L�aI��#�H�����#H��H�������E1�H��H����������!ʁ ��t����€�D�H�KHDى�@�H��H)�L�sI����I��#�hH���L��$��mH��L���w����$�L���FD�H��A������A��D! ��t����€�D�H�qHDΉ�@�H��L)�L�iI��m�*H����L��$��H��L��L�D$����L�D$��$�L����
H����������!�%����t������D�H�JHDщ�@�H��L)�L�JI�����I��
�{H�=_��L���K�|4"������L�L�D$H�T$L�L$�.��L�L$H�T$H��L�P"L�D$��A���sH��$�H�x*H��I�
D��I�t�I�t
�L��L��H)�H)�D���H�L�M�H�1�f�P L�HA���qA���	E��t�UA�A���"M����I�L�HH�bh#H�@H����H�BH�Fh#�@H�=�����@H��$�dH3%(�?H��[]A\A]A^A_��H�=q�������f�H�=]�����f�H�=Y�����f�H�=(�����f�H�=�����f�H�=B��t���o����L�L�D$L�L�L$�#-��L�L$L�D$H���0H�P"A���bA���)E��tA��
A���BI�L�A���sA���E��tA�A�A���%A�M�M�f�H �\���H�=A���������H�=���������H�COMMUNITH9�$��m���f��$�Y�^���H�=j��m���h����H�=h��T���O����A����E�������A�A�
A�������D��A�t�fA�t
����H�=���������H�T$ I�yH��I�D��H�L�I�L�L��H)�H)�D����z�����1ɉ΃�L�D5L�79�r��^����H�=‚�������M�H�t$PD��L�HA��sKA���U���(����A�	���������T�fA�T	�����H�qe#H�be#�-���DH�T$PM�AI��I�D��H�L�I�L�M)�C�L)΃���������1ɉσ�L�>M�89�r����f.�H��$�H�x*H��H�H"D��I�t�H�t
�H��L��H)�H)�D���H����DH��$�I�yL��H��I�D��I�L�I�L�L��H)�H)�D���H��s����UA�D��L�A�L����A�A�
D��A�t�A�t
����D���L�fA�L������A�	�ыT�A�T	�����A��
D��A�t��t
�����A�A�D��A�L�A�L����D��A�t�f�t
����D��A�L�fA�L������%"��D��H��dH�%(H�D$1�H��tc�~t=H�NH�t�H��1����'��1҅�xH�$H�L$dH3%(H��u^H��ÐH�D$dH3%(uHH�=�H����7��H��tH�w8H��t
H���@H�D$dH3%(uH�=̂H���7���c!����AUATUSH��H��tMI���,��xCH��Hc�DE1�E1�1�H��H������A�ą�xH��D��[]A\A]��+���8u�A�},��A������������b#�=�b#�ff.�����b#Ð��AVAUATUSH���f�?��A��H��������H��H����H���"����C	H����I��H�C8H�����C@�E����1Ҿ�����A�ĉC,���q�C0L�uL���	��L���C(�S6��H�C H���F�nH��D���������I�}�lL��fA�M����{,1�1ҾA�E��%���{,1�1Ҿ��%��H��H�CH���H�CXH����H�C`H����H�ChH���H�CxH�>���H���H�`�H���H��[]A\A]A^�D1Ҿ������C,��xp�C0L�����L��C�V5��H�CH��tM�C0L���n	��L���v���{,H��P�����������8I�ƃ����X��H���P�H���H1��1�H��[]A\A]A^�f.�L�e��L���2���C,���7����C0L������L��CH���4��H�CH��t��H�UI�}L���C0�lfA�E��/��A�E�}���fD�I�}L��fA�U�l�����{,�A�E�P�����?������8����@�5�_#��������5t_#�L���6�������L���'���{,H��P������q���A�>���f���ATU��SH�ĀdH�%(H�D$x1�H��t�?H��u$H��t�:u1��w�1�H��ti�:tdH��H�����H��kwsI��H�޺lM�D$I�|$f�$1�H�D$L��I�D$fH)���l���H�L����
����L���
��H�t$xdH34%(u'H��[]A\��H�59~�1��M'��1������@��USH��dH�%(H�D$x1�H�F�H��ivA1�H��u"H�T$xdH3%(H����H�Ĉ[]ÐH�5�}�1���&����H��I�����L�MH�}f�$1�L��L�ƺlH�D$H)�H�Ef��l���H�L����	����H�����H���i������fD��H��H���"��H�d]#	H�U]#���H�}H�V]#H�=7]#H�@]#H�H�N�"H�O]#H��"H�1]#H���X-�����AWAVAUATUSH��M��tI�H��\#H�����H������n��f�?��L�L$M��H��I��L�g�DH�[H��tL�{"L���C��H9�u�H��L��L�������u�L���$���S H9�tf��u�H�3L���[����u��M��tH�SH�L$I�UH�SH�H��[]A\A]A^A_�f.�H���[]A\A]A^A_�@H��1�[]A\A]A^A_����H���"H�5��"H�
�{H�=�{�{��f.����������fD���FH�VH=�t=�H�������uH�FH1��DH�Ѐ�H�FH1������fD��ATUH��SL�g8A�|$�G3��A�|$ ���;3��H��H�=i[#	��z��	�[]A\���AVAUI��ATI��UH���SH���9
��H�¸����H����H�KhH�ZH�ShH�
�SH�K8����������uxH���H�{0�dH�H��x<H����H��u,H�����{P���CT����f�A�E�I�$[]A\A]A^�D���t(H�{0�taH���u�H�C8�z���fD���u�H�cH����H�{0�u��/�H���u�H���H�����El��������H�C0H��������@����CT�J���f.�H������H���H����L���H���H��L���k'��L����������CP����f.��El�������@�El��������@���H���H��t'L���H�uxH��L���&��L������D�El��������������H��dH�%(H�D$1�H��tKH�G8H��tB�HD�@H��x1�H�����1҅�xH�$H�t$dH34%(H��u(H���H�D$dH3%(uH�=jxH���,���c����AWAVI��AUM��ATI��USH��H�_8dH�%(H�D$1�H�l$@�{�H��� ��A�Dž�xA��t
Hc�1�L���p�����t:H�L$dH3%(D��uCH��[]A\A]A^A_�����8t����uƾ�����I�A�E����ff.�@��U���SH�� H�����H��t1H��"�(H�XH�
H��u�&fDH��H�QH��u�H�AH�HH��[]�DH�H��[]�fD��AVAUATI��USL�o8H�9H�H�_H��k�������H���JH��H�����H�EH�xhH��t�6��H�EH�@hH�EH�PH����E�uE����A�E�EH��V#A�MH��u��H�@H����H�H�Z8;Ku�L�5,�{ �L�������x4A�}H��E1��M��I�<$H��t
���I�$[D��]A\A]A^��3�8t��@��H�PHE�uE���X���I�<$D�/�X��I�$H��U#H��t*H�H�Z8D9ku�=DH�H�Z8D;kt+H�@H��u�H�}�+��H���	��A������g���fDL�%M��{ �L�������xH��D���q��[D��]A\A]A^�D�k�8t���@��H���"H�H��t;8u
��98tH�@H��u��ÐSH�pH�HH��t*H�NH�HH��tH�PH�QH�XH���Q��H��[�@H�
����ATI��UH��SH�G8�x��H��t)H�XH�khD�cpH��t��UH�����H��[]A\�1���@��AT��A���US���H��H�����(��k��H��H����D� �FT#H�}H�k8��H�E�-T#�E�u����ua�EH�CH���H��H�=T#�C,H�*�"H�CXH���"H�C`H���"H�ChH�!�"H�CxH�n�"H����*���H��[]A\�f�H��1��F$��H��[]A\�fDH��1������ff.����AWI��AVI��AUI��ATU��SH��dH�%(H��$�1�H���U��H��I���j��L�|$X��uƄ$��D$H��M��L��H�D$���L��H��L�
��"H�D$����H�
��"�5c�"�5-�"j�^��H�� H��tI�T$8�Rf�PHH��$�dH3%(uH��[]A\A]A^A_����ff.�@��H��R#H��tPATL�%�R#USDH�H�hH��tH��ShL��H�����H����"��H��H��u�H�PR#[]A\�H�=R#�@��ATUSH��ti������t1ۉ�[]A\���
1�H�����I��H��t)H��H�=7��r������t*1ۉ����[]A\�fDDž�1�뤻�����L��H�5�q�1��M��Dž��x���ff.���H��1�H�?���1���#��A�
1�H�eqH�5���s�������H�����D��H���3��H���Z���f.���AUATUSH��H�-Q#H��t'H��;}u�f�98��H�@H��u�I���I������H����L�hL��H�hH��P#��$��H������H��H�=��|!����uTH��[]A\A]É�H�=���_��L��H��H���!����tH��L��H�5�p1������H�������[]A\A]Ã�t&��t�H�5�p�1���������눸����H�5p�1����������d���ff.����H��O#�����H��tUSH�Z;:u�>H�C9;tH��H��H��u����[�fDH�BH�{H��t����H������1�[�H�{O#H�����D��USH��H�_O#H��t,f.�H�{H�kH��t���H��H�����H��u�H�#O#H��[]�ff.����H�O#H��t;8u�f.�98tH�@H��u��f�H�@�f.����H�O1�Ð���ff.���H��tHLJ1��@��AUE1�ATUSH��H��H��t?I����a���H��H��t3H�E�hH�H�}���H�H��tI��$H��D��[]A\A]�A�������H�5o�A��������H���O����ff.�f���AWAVAUATUSH��H��(H�GXL�gpH���L�xH����L�(M����A��AƅA��H�XH��t
��
��H�CXI��E1�H��L��A��L��AƄ�K���E1��fDL��L����"������H�UI�H�KH)�H9�r�H�H�UI�?H�sH)�H�SI<$�4��L�MH��L��A�0�L���
������H���H�EhL9�tCH��t>�H�5n1��W��H���H�}hH��t����H���H�@hH����hL������H�EhE����H���H�xh�,�@ph1�H��([]A\A]A^A_��E����H��(�����[]A\A]A^A_��h�����I��H�����C@Aƅ1��'A���g�����DH���L�5�l�L��H�P0H�������t!L�5�l�H��L��������H�C0�:H��H�$��H���(L�����H�K8L�@I9�H�L$L�D$�L��L�4$H��H�D$L��������L�L$L�D$H�L$C�<:��H�4$L�q�M)�L�I���`L�����E1ɹH��M��A�L��L��CƄ5����t"A�����L������9���L����
���d���L�s8H�s0�L�5�k�H��L������������-����L���
�������fD�.���L���
�����������H�52k�1���������������ATUSH��H��@H�52#dH�%(H�D$81�H�l$H�����H�#H���
H�S8H�H9���H�{0H�����H�CxH�hhH�����xph��H�@h����1��'��������H�CHH�{@H��H���H�{@L�cH��I�$��9C��L�chI�$H���JI�$H�(H�Cx�@I@uH�Cp�@�YH�{H�K(H�T$H�t$L�jH��H+C H)�H�L$���H���<H�SPH�H�K(H+C H�SXH)�H�
H�C`H�SH�1�H�t$8dH34%(� H��@[]A\�DH�	�"H��H��H�=�"H�0���H��H��H�=��"��H���"H�0uQ�����tQL�
�_H��H�CHH�{@H��RL�;i�H�����H�01����XZ���f��;����ueL�
�_�fD������H�����������������+������������,�����������������-��������������I��f���H���h��I���H����H���"H�
b���H�5����H�H�=q���H�
Z���H�P8H��"H�H0H�PHH��"H�p H�50hH�x�H�PXH�����1ɿH��A�'H�hH�51���@H�51h�H���C�����f.����S� H��0dH�%(H�D$(1�H��H���
��H��u"1�H�T$(dH3%(uH��0[�f.�H��H���5�������ff.���H����SH��H�?H��t�R��H�H�{H��t
�=��H�CH�{ H��t
�'��H�C H�{@H��t
���H�C@H�{0H��t!H�S81���H�{0H��t
����H�C0H�{PH��tH�SX1����H�{PH��t���H��[���@�ff.�@��AVAUI��ATI��U��SI��L���]��M2Hǃ�����H���u6���I�D$XE�t$lA�l$lH��tM�D$`H�ًSL����E�t$l�S��`�����w^�kH��saL�cHL��H��Mc��H�CH�b����L�`HI��H��L�cH�m���L��L���R����u$[L��]A\A]A^�^��fD��u
L�cHA��u�[]A\A]A^Ð���h��=�ff.�f���H�-D#�@��H����ATI��UH��SH��H�?H��tH�S1��C�H�;H��t�6��H�H�CH��t2M��t-H�����H�H��t$H��L��H������H�k1�[]A\�@1�[]A\ø��������ff.���H����ATI��UH��SH��H�H��t!H�S1���H�{H��t
���H�CH�CH��t/M��t*H���R��H�CH��t H��L��H���;���H�k1�[]A\�1�[]A\ø��������ff.���H����AUATI��UH��SH��H��H� H��t!H�S(1���H�{ H��t
����H�C H�C(H��tAM��t<L�,�L�����H�C H��t0L��L��H�����H�k(H��1�[]A\A]�@1�H��[]A\A]ø����������H����ATI��UH��SH��H�0H��t!H�S81��R�H�{0H��t
�D��H�C0H�C8H��t/M��t*H�����H�C0H��t H��L��H�����H�k81�[]A\�1�[]A\ø��������ff.���H����AUATI��UH��SH��H��H�@H��t!H�SH1���H�{@H��t
���H�C@H�CHH��tAM��t<L�,�L���T��H�C@H��t0L��L��H���=�H�kHH��1�[]A\A]�@1�H��[]A\A]ø����������H����ATI��UH��SH��H�PH��t!H�SX1���H�{PH��t
����H�CPH�CXH��t/M��t*H�����H�CPH��t H��L��H����H�kX1�[]A\�1�[]A\ø��������ff.���H��t�w`1�ø�����ff.���H����H����ATI��USH����I�$H�SH��H��H�3�����}H�SH�sH���}���uiH�S(H�s H���i���uUH�S8H�s0H�������uAH�SHH�s@H���Q�����u-H�SXH�sPH��������u�s`H��������u
[]A\�DI�<$��I�$�����[]A\�D������f.���H��uWH���H��H!�H9�tH��u7H���f�H��H��H��H!�H9�tH��uH��u��@��øø�����f���USH��H��dH�%(H�D$1��B@��u!��@��u2�CH��v1�H������DH�L$dH3%(u2H��[]�f�H�����H�4$H�ډ����Hc؍CH��w������f���AW�F�M��AVI��AUATUSH��H��(�t$L�L$���H��$�H�1�H��$�1��H����Hc���H�t$������Lc�A������H�t$`����Lc�A�����L��1�����A�ƃ����H��$�1��H��x���D$�����H��$��H�1��T������{B�T%H��$���D$D�D�T$�Hc�H�1��������CHc�H��$�1��H�������� H��$�L��$�Hc�H��$�H�H��I+2H��H��$�H+H�L�L�Mc�Lct$L�Lcl$L�H�H�T$pH�H�H+I�H�T$xL�|$H�t|H��$�L��L�8H��$�H�H�H�H��$�L)�H�H��$�HH�D$hHH�1�H��([]A\A]A^A_��H��$�H�1�����H����I��1��I��L���������tHc�H��$�H��c����������f���H��A��H����A�ukH��tfH�>u`H��vZATM��UH��SH���W���;#ȉу�ɉr;#�K�M��tH�I�$1���L0H��H��u�[1�]A\ø�����f���H��tGH��tB�;#A��5;#�OA����ΉwAD�A�D�O��:#H�G�I�1��D������f.���AWAVAUM��L�V\ATUSH��H��$�H�T$H�\$OH�L$H�ڹL��$�H�D$ H��$�L�L$L��$�H�D$(H��$�L��$�H�D$0H��$�H�D$8dH�%(H�D$x1�H�t$PH�t$P�:��H����H�T$PH�t$X�0H��L��[H�T$XH�����H����H�T$XH�l$`L�D$H��H�L$H��H�T$`H�����H���r�|$O�gH�L$hH��H��H��A����H���E�|$O�:H�T$hH�L$pH��H��A�A�UH���h��H����|$O�H�T$pH�|$�A�M��������M��L��H��H��H��M�,$����H����I�$E��H�JL9���H�� ���|$OA���H�L$ M��H��H��H�����I��H��tw�|$OupI�H��uXL�D$0H�L$(H��H��L���p��H�\$8H�H��tJ1��|$O���D�H�\$xdH3%(u3H�Ĉ[]A\A]A^A_�H��1�H)���뙐������ĸ��������ff.�f���AWM��AVA��AUI��ATUH���S��H��HdH�%(H��$81�L�d$0L�����H��H��H=��:H�T$���H�D$��H�T$H�D$H9��~L��L���C��A�ą�ulH�L$��)ω�)ډ�9�B�A�������D;t$�����=���A�H��$8dH34%(D����H��H[]A\A]A^A_�H�L$(H�T$$��L��A�L�D$,�1��A�ą�uo�D$(�ډ�)�)�9؋D$$G�=���tD9�wu/9\$,v)����r���DA����A������b���fDA���D���L���S
�����8���A����A������-����A���������A���������(����H��t]U��SH��H��H�h�sp���H��t:H��H���H�S@H�s8�xUQH���QD�KL�C�����H�� H��[]ø��������fD��USH������h���H����H��H�O�"H�5oW�H��H�C8H�=�"H�C@H���"H�CHH���"H�C0H���"H�CH���"H�CPH���"H�CXH���"H�C`�������BH���"1�1������H���"1�1�����H�)�"1�1�����H���"1�L��YH�5�VH�=E���H�i�"1�L��YH�5�VH�="���H�v�"1�1���H���1����H�-�"E1�1�H��H�5iVH��H���K��E1�1�H��H��H�5\V�4��E1�1�H��H��H�5UV���E1�1�H��H��H�5MV���H��H��E1�1�H�5EV����H��H��H��E1�[1�]H�5<V����f�H���8�H���1�[H�5�X]�o����H��[]Ð��ATI��USH�����H�;H�Ÿ����H��t+Hc���H��H�;H��tH��L��������u�C[]A\�D[�����]A\�ff.���H�H��t%;~t H���f�H��9~�tH�H��u��ff.���H�5u�"� �����SH����Å�x��H�53#�O��[H�3#�fDH�="U�$���f���H�5E�"������SH������Å�x��H�5�2#��[H��2#�fDH�=�T�����f���H�5��"�����H�5��"�����SH�|�"E1�1�H�5�TH�����H�y�"H��1�H�5�TL�nW����H�R�"1�1��[��ff.���USH�������uH����t#����v81�H����[]û����H����[]�f�H�vpH�}h�
H���"�����t�H�u@H�}8�
1�H���"�������H����[]�f.���UH��S��H����t����v11�H��[]�H��H���"D�ƹ
H���n��¸��t�H�D�"��H��
�M�����H����[]�ff.���AVAUE��ATUH��SH��dH�%(H�D$1�H�D$H���D$HD�H����I��I��H���DH���H��tdH�{H��t�H���3�����u�L9cu�H�{H��t`M��t�L��L�������u�H��f�H�L$dH3%(u;H��[]A\A]A^�1�E��tـ}u�H�0#��f.�M���g���������AWI��AVAUATUSH���H��$HH�t$ D�$H��$ H�D$H��$PL�L$H��$`H�D$H��$XL��$(H��$0H�D$(��$pL��$8L��$@�D$<L��$hdH�%(H��$�1��A�H�D$h0H�D$p)�H)�H�t$`H��t(H�;L�T$0�H�����L�T$0H��H���H�t$`H��H��L��L��H��$�PH��$�PH��$�H�D$XPH��$�PH��$�H�D$XPAWAUL��$�L��$����H��@����<$�*H�D$xH�|$H��$ H�H�|$H�D$HH+D$H)�H�H��tCI�H�;L����������H�UH�;L������������4$H�;��������H�uM���A���<��<��E1�1�1�L���������E1�A���A��H�
�-#H�uL��L�����I��H���[����.�<$H�����A���"���6�$D�p�A����H���eI�W@I�w8H�;�������I�WPI�wHH�;�L��������I�WpI�whH�;��������I���I���H�;�T������A�����L$X�T$TL�D$\L��H�u����������<$��I�hA�wp���H�|$xH�T$SH��$ ��H�t$`L�SOH��H+D$H)�H�L$`����I��H���h@��L�t$`�������/I���A�L��$�I���I�wpI�h�t$H�D$�0AVAT���H�� ���SH�D$HH+D$�C�H�u�L$XE1�L��T$T���H�D$xH�\$H��$ H�L$H�H+D$H)�H�H�L$ H)�H��H�L$(H�H��$�dH3%(D����H���[]A\A]A^A_�D������A���������DH�|$p��H�D$H���fD�D$<�B���A�H�
t+#H�i+#L��������5����A�����q����K���@�D$<��A�H�
,+#H�!+#L������u�E1����D�A����� ������H�D$hI�OPI�WHI�w@I�8P�t$8D��$0L�D$��ZY���7H�������s���@E1�1�1�L���!������|���A�������fDD�l$\�}���fD�T$T�D$XL��$�H��$�H�t$@�L�$ʉ�$�H�T$pȉ�$����I���A�L�$���L�����I���H����H�t$@L��$���2LA�H��H��u�L�d$HA��8���f.�A��������A������������A�����������A�������I�W�1�H�5�K���^�������A�����j���H�;�"��H��5����A�����F���H�;���H�����f���H��tIH������OH�WH�wP�wp�wh�w`�wX�wP�wH�w@�w8�w0�w(L�O D�G�?���H��hø��������H�
](#A��Z�f.���AWAVAUATUSH��H��H��$HH�T$L��$pL��$@H�$H��$`H�D$@H��$�H�D$0H��$�H�D$8dH�%(H��$�1�M���$I�E�wE�oHH�$I�G��MEODE�I�G L�L$H�D$ A�G(�D$,I�G0H�D$PA�G8�D$\I�G@H�D$I�GPH�D$HA�GX�D$XA�G`��$XH�L$�T$,E��H�t$ ��$X�m������H�|$H�L$lD��E1�H�T$hE�������D$hH��L��H��$�I���D$tH��$�H��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$�RH��$RL��PL��$���$�H�|$h�N��H��`����aH�D$0H��$�H�H�D$8H9(�C��$XH�(H��$���H��$hH�t$@H�L��$��M��H�t$H�L$pH��H)�H�<3L��H��$����H�L$xH��L��H+�$��0H�����H�L$H��M��H+�$��L��H��1��H��L��H+�$�H��$�A�H���H��L��H+�$�H��$�A�H����H�$H��M��H+�$��L��H����H��L��H+�$�H��$�H�������$X�����H��$�H��$�L��H��$�H��H)�H)�H�H��$��H��{���0L��H��H��$�H��$�H�����L������1�H��$�dH3%(�H��[]A\A]A^A_�@H)�D��H�|$HDŽ$�H��$��,��������H��$���uEH�D$HH����t$XL��$�H��$�H�PH��N�I�H��$�������D��L��$�I��AUH�$�S��$xP�t$XD��$��L$xH�T$hH�|$8�.�H�� ��uCH�D$0H��$�H�H�D$8H�(H��H+�$�H;�$�uH��$�H9�$��F���L�������������H�|$Ht8�L$lL��$�H��$�H��$��T$hH��I����y�������"���L���8�������a���fDH��$�H��1�H+�$�H��+��H��$�H��$�L��H��$�H��H)�H)�H�H��$��H��O��H��$�H��$�H��H)���$XH��$�u&H)�H��$��L��H�H+�$�H����H��$��0L��H��H��$�H�����H��$�H��$��H�I��H�������H��$��t$,A��I��PAT�L$lH�T$`H�|$0�D��ZY����H��$�H9�$���H�$�L��H������L�������@H�$L��L��L�L$����L�L$H��tzH�p8D�hpL�L$D��$PH�t$ �p@�t$,H�pHH�t$P�pP�t$\H�phH�t$H������H�t$H�D$X����DL���p�L���H�������q���fD��$XulH�W�"L�L$A�
D��$P�D$XH�D$H��"H�D$HH�D$P�D$,
H�D$ �D$\�J���L�������������1������������\��ff.����H��tEH���OH�WH�w�wx�wp�wh�w`�wX�wP�wH�G@P�w8�w0�w(L�O D�G�?���H��hø�����ff.����AWI��AVAUATUSH��H��$HH�t$@L��$pD��$XH�D$H��$`L��$xH��$�H�D$HH��$�dH�%(H��$�1�HDŽ$�M���I�EE�u`H�D$A�E�D$4I�E����I�E D�$@MEMH�D$(A�E(�L$ �D$0I�E0L�L$H�D$PA�E8�D$\I�E@H�D$A�EH�D$$I�EPH�D$8A�EX�D$XD�D$$H�L$D���T$0H�t$(�'��������t$ H�|$H�L$|E1�H�T$x����D$xH��$��D$|H��$�A���aH�EH���H��A�H��L��H�D$ jL��$�����AXAY���A�F�E1��D$$����H��H��L��A�AV�H��L��$��ʼ��^_����H�EH���H��A�H��L��H�D$@�D$<PL�L$萼��ZY����H��A�H��H��j�L��L��$��?��AZA[���cH��A�H��H��j�L��L��$����AXAY���0H��H��L��A��D$(�H��PL�L$ ���^_����L�MA�0H��H��L+L$�L���M������L�MA�H��H��L+L$�L��������u"�f.�H��L�������H�UH�H)�L9�r�L�H�t$@H�UH�;H)�L��I<$����L�MH��H��A�0�L�������t?�|$$��L�����1�H��$�dH3%(��H��[]A\A]A^A_ÐL�����������ǐH��$h�t$$H�|$H��@H��$����H��$�A���N�H�D$`H����E��A����A���fH�|$8HDŽ$����D$XL��$�H��$�L��$�L���H�H�D$8H�P��������H�D$hH��$��t$$M��P�t$h��$xP�t$`D��$��L$xH�T$XH�|$8����H�� ����H��H��A�H��H�E�L��$�L�L$p趹��A^Z����H�|$`�a��H�EH��H��A��H��L��H�D$ �t$pL��$��o���AZA[���s����D$$�t$0H�|$(f�)�$�)�$�)�$��������Lc��1���H�D$hL��$�����@H�T$H��$@L��L�L$���L�L$H������$PL�L$�L$4��$@�L$ H�H8H�L$(�H@�L$0H�HHH�L$P�HP�L$\H�HhH�L$�Hp�L$$H������H�L$8�D$X����f.�L��L��$����L�ML�I��M)�M$H����H��$��t$0PAW�L$lH�T$`H�|$8��ZY��uL9�$��)L������L�������������fDL�����H�|$`����������@H�|$8HDŽ$�t5�L$|�T$xL��$�H��$�L��$�L�����`����P���L�����H�|$`�5�������Q����D$$����A������$PL�L$H�D$8�D$4��$@H�D$P�D$ H��"�D$$
H�D$H���"�D$X�D$0
H�D$(�D$\�E���H�;L��L��H��H+|$8I<$�l��L��������L���W���������L���E���������L���3�������o���1��"�������^���������H��tEH���OH�WH�w����wx�wp�wX�wP�wH�G@P�w8�w0�w(L�O D�G�?���H��Xø�����ff.����H��H�z#HD�H�H��t-H9�txH���H��u�H��H���H9�tH��H��u�����H��t;H���H���H��tH���H9t1��f�H���H�1��H��u���H���H��1�H��u���fD��H�5�#�p����SH���c����uH��t
H�[�D1�[�ff.����H�5�#�����H����SH��H�H��t
���H�CH�{H��t
���H�CH�{ H��t
���H�C H�{(H��t
�o��H�C(H���H��t�V��Hǃ�H�{8H��t
�=��H�C8H�{hH��t
�'��H�ChH�{HH��t!H�SP1�����H�{HH��t
���H�CHH���H��t*H���1�����H���H��t����Hǃ�H�{XH��t!H�S`1����H�{XH��t
���H�CXH�{xH��t$H���1��~���H�{xH��t
�p��H�CxH���H���H��tH���H���H��tH���H���H���,��1�[��1��ff.�f���H��H�=�#謾��H��uH��#H�����������f���H�=}#H��t0S�H����\���H��H��u�H�Q#[��H�=#�@��H���S��H�����f.���AWI��AVAUATUSH��(H����H�FH�_I��H9���H�oE1��1DH9���M���M����I�EM��H9��5M��M�nH��u�M���H9�u�I�FH��H�D$���I��I�GH��H�D$�غ��L9���H�|$I���º��H�|$H�D$賺��H9D$�q���H�t$H�|$��������H��L	��	DH��H��L���º�����3���M�nL���^���I�wH�D$H��H�t$�H���H9D$H�t$����L���������I���M��tI��$�I���H����L���M���L��Idž�Idž��h���M���M���M����M����f�M���p���H��H��L���������H��H��L���ӹ����tH��L	��	������fDI�FH��H�D$�W���I�OH�D$H��H�L$�A���H9D$wRH��H��L���|����������H�|$����H�|$H�D$����H9D$�X���H��L	��t�������M��M��M���M���M���M���L��M��tM���L���f�H��H���H��u�H��([]A\A]A^A_�f�M���ILJ��L�l$H�t$�5���HLJ�H��HLJ��I��E1��e���Idž�L��Idž�蹺��M���ILJ��Q���f���H��H�5�#�L���H��tH��#H���ff.���AUATI����UH��SH��dH�%(H�D$1�H�$��H���H�H�=�H���K�H���H��H�Ƌ>H����������!��က��t�������D�H�FHD���H�H��H�CP1�H)�H��1�����H����H�MH��H��L��訶��H�$H��u��tC��t>���������}l�-��I�D$H���u,H�e������9��El��I�D$H���t��El1�����H�����H�L$dH3%(���H��[]A\A]�D�El�����El��H�z0����fD���蹽��I��H����H������I�EH�����H�=¤"�
I�E@
I�E ���H�=ͥ"�
I�Ep
I�E8���L��I�Eh�[�����fD������A�H���H��������������H�߻����������D��AUATUSH��dH�%(H�D$1�H�G��u���H��t%1�H�L$dH3%(�1H��[]A\A]�@H�?u�H���t�H���t���E1�H�G����H���H���E1�H���H���_��H��H���H�}8��H�}h�uH�}H��H���t(E���R���H�H��H�������4����H���H��tH���H���H�����@�跻��HDž�@H���H��tHL���H�MH�UH�u@H�}8APL��`PL������ZY��u�@H�������@���H���P���������H��@H��tH��HH����H��8���@�����H�EP@H�EHH��t�L�EPH�u@H�}8H�MH�UAPL���PL��8�\��^_��������e���DH��PH���{���H��X����H�EhH���7���H��XH�Ep�R����H���H���0���H������H�E8H�������H���H�E@�������L����)���H��H����M��t-L���@��L��H�EI���1��H�E H�������M�������H���H����8��H���H�Et	H���i���H���A�H�E�h����1����H��H���&����@H�$@���HDž�H���H������1�H���H��I��H����{�����������fD�1����I��H�������H�$@H�EH�@H��tH���R��H�<$�)��H�EPH�EHH�������1�H�UPH��M��H�}H�����������j���f����H���H���S���H���H����0�������H�EHH���.���H��HH�EP�T����Q�������f���H�����@��UH��SH��H���H�~8�H��t
�~��H�C8H�u@H�}8�I���1�H�C8H��tH�U@H�{HH�S@H��t
�H��H�CHH�}PH���H�CHH�CPH�{XH��t
���H�CXH�}`H���pH�CXH�C`H�{hH��t
����H�ChH�upH�}h譾��1�H�ChH��tH�UpH���H�SpH��t���Hǃ�H���H����Hǃ�Hǃ�H�{xH��t
�j��H�CxH���H��uVH�CxH��Hǃ�H��[]�f����H�CHH�����H�UPH��H�SPH�uH������D����H�CxH��t�H���H��H���H�ux踺��H��H��[]�fD���H���H���%���H���H��H���H����v���������k��H�CXH���~���H�U`H��H�S`H�uX�J����u���D��S������H��H��tUH�=%�"�
����H�C8H��tJH�=3�"�
H�C@
��H�ChH��t(H�H�Cp
H���H��[�f.�H��[釰�����AWI��AVI��AUI��ATM��UH��SH���z��H��H����H���v��H�CH����H���a��H�C H����H�{諻��H�CH������4��H�C(H����H�H�C(H�@H�{hH�C0H��t
���H�ChL��L�����H�ChH��tZH�{8L�cpH��t
����H�C8L��L��轻��H�C8H��t,H�L�k@H���H��H��[]A\A]A^A_�DH��H��[]A\A]A^A_�B���f���SH�=T#H��dH�%(H�D$1�H��H�$H���
�������H��H�=#H�$�������H��H�=�#H�$�ϰ����ukH�
�"A�
H�5Ǚ"�
H�=Dt�f���H��H��#H��tH�xH��t
����H�CH�C1�H�T$dH3%(uIH��[Ð1�虻���k#���fD1�聻���W#�P���fD1��i����C#�������f���UH��AVAUATSH��H�$H��(�dH�%(H�E�1�H��H����I��H����L����I�ԾD�����H����L��H�
e&P1����L���H����������!�%����t��H�s�����D�H�WHD����XZH�SH�����1�� L�kL�pM��tL��裪��H��L��L�����1�� L�k L�pM��tL���{���H��L��L���]���� H�S0H�xH�s(�I��� H�S@H�xH�s8�5��� H�SPH�xH�sH�!���� H�SpH�xH�sh�
��� H���H�xH������ H���H�xH����ٿ��H����L��蚺��H�E�dH3%(u
H�e�[A\A]A^]��)���f���H��tOATI��UH��SH����H���H��t#���u�H��H��L���ݲ��H���H��u�[]A\�@����H��H��H�=�#�*���f.���H��H��tH��H�=3$�İ��1�H���D�1�����H�������ATUH��SH��dH�%(H�D$1��|��H��H�����
1�H���!��H��蓠���
1�H��H�����H��H�剃��p���H�SH�sH������H�{�sE1�1�I�ĺ���H��H�sL������H��H�s H�����H�{(H��H��t
����H�C(H�C0H��H�S0H�s(�H��H�{8H��H��t
����H�C8H�C@H��H�S@H�s8���H�SPH�sHH���W���H�{hH��H��t
���H�ChH�CpH��H�SpH�sh����H���H���H���@���H�{h�spI������lj�������H�H�HD�H9��w2H���H���L�����H�L$dH3%(H��uH��[]A\�H�����肽��f���H��H���P���H��tH��H������H�����AWAVAUATUSH��8H�_L�dH�%(H��$(1�H�D$H�$H�\$ H�\$H���HI���H��I��H�=� ��€����S�H�=� H����€����LI���I���M���H��t!I�U1�����H�}H��t
���H�EM��� L������I�~8A�v@I��L�L$H��L��赦�����
L�d$A�tI9����I9^H����q��L��M��I��H�EI�EI�~8AU�uH�T$A�v@襼��ZY���{�@1�H���H�I���H9�uI�uL��������NfDH��$(dH3%(�iH��8[]A\A]A^A_��I�nHM�nPI�~H������H�=�H����€���uuI�~HI�nHM�nPH����I�U1�襨��H�}�D$H���}苽���|$H�EtiL��H��L���N���H������H�=	 �i����,���@�H�=H����€�����I���I���M���H���c���L��H�T$H�t$���L�d$H���X���H�=�������f�H�=�"�������H�=E�̭������H�=1"购���w�����H�=mH����€���teH�ƹH�=c������7���I���I���M���H������I�U1��6���H�}H��������D$���@I�~HI�nHM�nPH��u����f�L��H�����L�d$I�FXM�f`�H���H�=�!�������L��H������L�d$I�FxM����
����3�����AUATUSH��H�$H��(�dH�%(H��$1�H�l$I��H��H��H�$H�D$�ʗ��H����8*t|H�T$H��H������H��H����H�t$H�<$H������H����H��H��L���ص��H�<$H��t���H��$dH3%(��H��([]A\A]�DH��蘷��H�i�"I��H��u��H���H��t�H�{ H��t�H������u�L��L��H���Q������H�=>�l���H�<$H���`����`���f.�H�=��D����E����H�=! �,���H�<$H��� ���� ���蕷��D��H��"H��tH��t
H��"H��H���"H���"
H���"��D��H���"H��tH��t
H�|�"H��H�q�"H�f�"
H�g�"��D��ATUH��SH��H�� H���dH�%(H�D$1�H����H����"���H���H����H��XH��uvH���~���H��t(L�$$1��n���H��L�����H��PH�$H��XH��8��H���tY1�H�L$dH3%(��H�� []A\�f.�H��P脮��H��PH��u��El��������f.�1��褶��H��t_H�t$H�|$I��1�H�D$@H��`Hǃ�H�T$H���������1����Q���H�=��l�����;���f�H����)����1��&���H��H����Hǃ�@H�����H���H��H���L���L��`H��蠟��������H�=a�������f�H��訹��H���M���L�$$1�蔹��H��L���I���H���H�$H���H��XH���!������f�1���d���H��t_1�H�t$H�|$I��H�D$@H���Hǃ8H�T$H��8�Դ�����	���H�=�0�������fDH��8�����1����I��H��t^Hǃ8@L��軝��H���L�⋳�L��8L���H���e����������H�=�豻��������1��t���I��H��u��T�����1��T���H��H���.����:���螳��ff.���AWAVAUI��ATI��USH��xdH�%(H��$h1�H�|$8H�D$0�߷��H�|$@I������H�D$M����H�D$(M��LD�I�$�[���H��H���oH��$`L��H������H�=SH���I���������H�=5H���������L�t$XL���[���H�CH�D$XH���qH�CH������H��H�C ����H�CM����H�C8L��H��H��I����H�=H��I�������M��������H�{8H��t
莴��H�C8H�t$8L���Y���H�C8H���H�T$8H�S@H�8��H��L���ɐ���H��H�=[�I���������H�=WH���������H�{8�s@莛��������D$���;Lcl$L��辸��L�kPH��L�KPH�CH�H�=���€����L���H��L�L$����L�L$1�H�{HI��H�CPI��L��L��H�D$XH�CP�Q�������L;kP�M���6H�ChH��L���H�軏���H��H�=��I�������JH�|$�>H�{hH��t
����H�ChH�t$@H�|$�ɨ��H�ChH���|H�t$@H��H�sp�k��H��H����H�ChH�8I�$�]H��uH�I�$DH��1��>���H��$hdH3%(H���(H��x[]A\A]A^A_�f�H�D$H � H�D$P�$���H�D$XH���FL��L�t$XH��衎��H�T$PI��L��H�t$H�I���������H�D$XL��H��H�CH�D$PH�C�Z���I������f�H��蘮������H�s@������I��H����H�{8H��t
蛱��H�C8H�s@L���g���H�C8H�������D�L��H���ݍ��I������DH�������D�z�:C�?DD�M����L��H��蟍���H��H�=1�I�������+�H��H�=*��������D$A9lj�AM�Hc�H��H�T$裵��H�T$H��H���H�=�L���H�����€����
�H��L��L�L$���L�L$1�I��H���H���L��L��H�D$XHǃ��"�������Ic�H9����H���H���ط�����H�I�$�h���H�|$XH�LI�$H���O�������E���DH�II�$�0����1��+���f�H�s@H�{8H�KH�SAQPL�L$@L�D$p�έ��^_���%���H��I�$����@L���L�l$`H���ۋ��1�H�T$0I��H�|$PL��I��L�l$PH�D$XH�D$0�
������������H�t$0L������H�CXH�D$0H�C`��f.�H�I�$�H���H��I�$�8���H��舸���������)���H��H����H�{hH��tH�D$蚮��H�ChH�T$HcrH�T$H�spH�z�W���H�T$H��H�Ch�����DH�WI�$���H�mI�$���H�D$0H��H����������!�%����t��L�l$`H�{8�s@�����L�L$0M��D�H�QHDʉ��H��H��H)��ѕ���������H��I�$�1���f�H�C8�4����H��I�$����H��I�$���H�!I�$���H�KH�SH�s@H�{8AQPL�L$@L�D$p螫��ZY������H�UI�$���@H�sPH�{HIc��@���H���H�CPH������H9����E������H��I�$�[���H�?I�$�K���H�I�$�;���L��H���C���L�L$`1�I��H�T$0H�|$PL��I��L�L$PL�L$H�D$XH�D$0�h���L�L$�����������H�t$0L���u���H�CxH�D$0H����p���D��H�����H�H�D$XH����H�������H�D$0H��H����������!�%����t��H�{8�s@L�L$0�����D�H�QHDʉ��H�D$`H��H��I��H�D$H)�赓����ue�����H�t$0H�|$蹻��H�CxH�D$0H������H�s`H�{X藻��H�CxH�C`H���H����W���H��I�$����H�I�$����ר�����H��H��dH�%(H�D$1�H��H�$襙��H�<$H��t����H�D$dH3%(uH����}���ff.�f���AWI��AVI��AUM��ATA��USH��8
H��$p
D�L$H�\$ H��$x
H�D$dH�%(H��$(
1�H��H�D$�D$ HD��H�E��M��t8�
H�5�
H���Ҏ���
L��H������
H�5��H��讎���
L��H��螎��E��uI=�	�.H��H��蓘��I��H��$(
dH3%(L����H��8
[]A\A]A^A_�@D��訏��I��H���,M����
H�5�H�������
L��H�������
H�5ߩH������
L��H������T$���F����|$�&���I��H����H�|$���
H�5��H��認���
L��H��蚍���
H�5j�H��膍��H�t$�
H���t���=�	����f�H��E1�H�E����D�
H�5DH���4����D����H�BE1�H�E���DH�H�E���H�1E1�H�E�m���DH��H�E�X��������H��@��H��tSH��H�?H��t�&���H��[����D����H��t����f��ff.�@��H�6H�?�Q�������G������H��H�VH�H�H�0馊��fD��H��(dH�%(H�D$1�H���"H��t,H�<$H��H��PXH��tH�@H�T$dH3%(u
H��(Ð1���������ATUSH�� dH�%(H�D$1�H�D$H�������I��H��t}H�\$H�5.TH��H���޹��H��tYH�-T�1�H��H���ù��H��t>H������H��t�L��H�D$�Ħ��H�D$H�L$dH3%(uH�� []A\�fD1���@1�������ff.�@��SH�� dH�%(H�D$1�H�`�"H��t1H�<$H��H��PXH��H��t6H�@�PH��t*H�SH��tH���H�L$dH3%(uH�� [�@1���藣�����AUATUSH��8dH�%(H�D$(1�H�D$H��tt诹��H��H��tgL�d$H�5�RH��L��萸��H��tCL�l$fDH���"H��tH�D$L��H��RXH��H��u>1�L��H�5�R�M���H��u�H���`���1�H�L$(dH3%(uQH��8[]A\A]�H���8���H�E�PH��t�H�UH��tH����f.�H���u�H��z"��舢�����H��t'H��u� H��H���H��u�H���H����f�H�5��1����ff.�f���ATUSH���H���H��H��H��u�(H���H��t\H���H��t
H��H��Ѓ�t�H��H��S A�ą�tCH���D��H�{SH�5k�H��HD�1��h���D��[]A\�E1�[]D��A\�DH���H���Q���A�ą�t�H��H��S8��ff.�@���
f.�H��H���H��u��L���ff.����AUATUSH��(dH�%(H�D$1�H�{�"H����H��H��H�<$I��H��H��PXH��t'H�h1�H�L$dH3%(uVH��([]A\A]�fD���ё��I��H��t'H����H�=
�"L��I�mI�EM�e�V���1�롸������v���fD��1��Փ��D��H�=��"tÐUSH��蕺��H�&z"H�=xH��H���"H����q���H����՗�����軸��H�=��蟀��H�=HH��萄��H�=�脀��H�=�H���u���H�=q�i���H�="H���Z���H�=���N���H��x"H�=�H������H�=���,���H��H�=l�H�����H�=k�����H��H��H�=�[H��]�ƒ��fD��ATUSH��t{H�G(H��H��t@I��ЉŅ�y.H���H��PA��L��H�5�H��HD�1�辩����[]A\�H���H��PH��HD�H�5��1�菩���������H�zP��ff.�@��AVAUATI��USH���@H��H���H��u�E1�L�58P�DH���H��tKL��H��S8�Ņ�t�H���u�H������A��H�5sH��ID�1����H���H��u�[D��]A\A]A^�D��AUATUSH��H����H�G@H��H����H��I���A�Ņ�xZM��t@I�<$t9H���f�H��H���H��u�H9�t
I�4$H��S8H���H��u�H��D��[]A\A]��H���H�+OE��H��H�5�
�H��HD�1�����H��D��[]A\A]�H���H��NH��HD�H�5�
�1��ܧ��A������|���H��N�����ATUSH��t{H�GhH��H��t@I��ЉŅ�y.H���H��NA��L��H�5�
�H��HD�1��n�����[]A\�H���H�RNH��HD�H�5K
�1��?����������H�*N��ff.�@��H���H��t��fDH��H���H��MH�5G
�H��HD�1��ܦ��1�H���D��AVH��AUATUSH��u��H��H���H��u�E1�L�-�M�H���L���H��Hǀ��P�Ņ�t"H��L���HE�H�5�	1�A���I���H��tH�����L��M��u�[D��]A\A]A^��E1�[]D��A\A]A^Ð��H���"H��t8H��H��H�5b���1���H�=��"����H���"H���fD����ATI��UH��SH���DH��H���H��u�H���t&�1�H��H���H���H���u�H���H��L��H��[]A\����H��H�wP����H��taUH��SH��H��H��u	�8@H��H���H��u�H���H��tH��������tH���H��u�H��1�[]�H��H��[]�1����H��t4H�D$H�wH�WH�G8H�D$H�OH�GXH�zs"L���L�O H�GP�f���H����H����UH��SH��H��H���H��t���H���H���H���H���H���H�CHH�EHH���H���H�CPH�EPH���H���������H��1�[]�f�������f.���H��H�H�VH�H�0I��������UH��SH��H�H���x���H�}H��H��H��[]郃����UH��H��H��SH��H��H9�HF�Hc�苂����u
H9�t���H��[]�fD�������H�H9|�������������H�H9r��������������9|�����f.���������9r�����f.�AWI��AVAUI��ATU��SH���T$D�t$�l$A�.�����H�M�$�f.��L$9L$~HcD$L��I�<�A�Յ���A9�~'Ic��DD�s�H��9�}A��I�4�L��A�Յ�x�T$D9�}ZHcƒ�I��IcƉT$A��I��H�1H�8H�9H�0D9t$�z���A9�5�l$9l$�A���H��[]A\A]A^A_��u�A���D$A9�~�L��D���L�����fD�D$����ff.�1����uEU�SH��H�/�U��t!H�UH��H��w+�E�H���H��[]����H���H�}��1��c���뾐��H�H�AH��@��H9���@�uH��tH�AH��H�1�ø�����f.���H�1�H��tH�B�ff.�f���AVI��AUATUSH�/H��t1H�}t*I��I��1�f.�H�EL��H�<�H��A��H;]r�H�E�E[I���]A\A]A^����H��t7H�H��t1H�H��t'H�JH�wH9��uH��tH�BH�D���1��ff.�f��������H��tBH�H��t:H�
H��t2S�AH����uH���H�CHH�C1�[�H���(���H����ff.�@��H���S���1�H���ff.����USH��H�H��tfH�H�xtaH�HH��H�
H�PH��1�H�PH9�t,H�HH)�H��H��H��H�4H�|��N���H���H����[]�DH�PH��u�����������H��H��t,H�?H��t$H�?tH�pHH�@H�V�H�PH1�龙��fD������f�AWAVAUATUSH��(L�>I�oH���H�L$I��I���T$�����A�w���jH�D$���H��H��t;H�D$H��L��H��L�4I�GJ�<�A��$���y�H��I�NH)�H�L$H��u�I�WH;T$��H�T$I9�tI�GL��H�<�A��$����+�T$���H�T$H��t���H�L$H�
H��(�����[]A\A]A^A_Ð���"1��@H��I;_s�I�GL��H�<�A��$���u�I9_v���H��([]A\A]A^A_���D$H��([]A\A]A^A_�DI�WI9���H�L$H��t1�D$t*I�FH�H��(D��[]A\A]A^A_ÐL���h�������L$D����z���I�^I9_�j���H�|$����H�D$H�������N���DL�t$�{���I�GH�L$H�������)���H������H����������H����1�H�5!�l�����������H�D$H��������D$�����H����������ff.����AVAUATUSH�/H�}���EI��H������M���|1�1�H��L���-���A�ƃ��tuLc�H�EJ���tXL��H������uqA��Mc�L;mu�Bf�A��I��L9mt2H�EL��J�<����t�H�EMc�J���H�EH�[]A\A]A^�[1�]A\A]A^�D����Q���fDH�EJ����fD��USH��H���}H���P��{���H��H��tXH�(H�iH��H�C H��H�C8H��H�C(H�����H�C0H����H�C@H�����H�CH����H�C���H��H��[]Ð1�H��H��[]�@��S������H��H����� ��р��H��tH�H�@�@H�@H�H�$E1�1�PH�H��H��PL�
%H�
.���虁��H���H�C`H��	H�CpH�����H�CxH�qH���H����H���H�H���H�gH���H�����H�ChH��h"H�C@H�sH�C(XZH��[��H�5��1��}�����ff.�H���'H�GL�HI9��AWAVE��AUI��ATI��UH��SH��H��H�7H�OH9�rUH����H�ϾPA�
聞��H��H����H�L��1�H�L$H)�H�<�H���{��H�L$H�CL�;H�KH�<�H)�H�49H��H�|9�ם��H�CL�$�H�CE��t�CI�EH��1�[]A\A]A^A_��H��L�<6H�����H��H���_���H�5=��1��Q���H�CH�K�l���@������f.���H��H���H�?H��A�H�����ff.���AUATUSH��L�'dH�%(H�D$1�H���D���H��I��I�l$�uQH�������A�H���L��H��L���%���H�T$dH3%(��H��[]A\A]�fD�u�H��t]H��H��L�����H�,$��~I;l$r DL�#E1���H��I;l$smI�D$L��H�<��A����t���L�#�H�$1�E1��D���fDH��H��L��������?���tI�l$L�#����L�#�������tH�,$L�#E1���I�l$�&�����������Ë����AUI��ATI��USH��H��C��u:H�{t#1�f�H�CL��H�<�H��A��H;kr�H��[]A\A]�D��뿐��ATUSL�'I�|$t]A�D$H��H����u>H��t11ɺH��H���'������t2H�H��I�T$[]A\H��fD1���@���f�[1�]A\�f���H��t7H�H��t1H�H��t'H���1�H;OuH�ztH�BH��f�1��ff.�f���H��t?H�H��t9H�H��t/H���1�H;Ou"H�OHH�BH9�sH��tH�BH���D1��D��H��tGH�GHH�H��H�GHH��t3H�
H��t+H�wH9��uH�QH9�sH��tH�QH����1��ff.�f���USH��H��H�/H�}H��t�2���H���*���H��H��[]����ff.����AUATUSH������H���ң��H��H����H��H���v����upL�mL�#I�UI�$I�EH�,�H��I�D$A�EA�D$膐��I�D$H��t$I�uH��H���m~��H��H��[]A\A]��H�5)��跓��H��1��z��H��H��[]A\A]��H�5���1�1�胓��H��H��[]A\A]�DH�5���1��]����{������H���y��1�H���ff.����S��t7����������t
��[�fD����t��t(�؉��[�fD���1�!�9��É�[�DH�����@�#�말���}�����H�H��tH�H�xtVATI��UH��S�@H����u21ɺH��L������t.H��H��Hc�[]A\�I���f�����f�1��[]A\����1��E���D��H����H�������H����AWAVAUATUSH��(L�7I�nH���AH����3H�T$A�VI��M��H�t$���1��L��H��t>I��I�GH�t$I��I�LH�<�H�L$A��$���y�H�L$H��L)�H�YH��u�I9_��I�GH�t$H�<�A��$�����A�݃�����SHc�I;nr ���:���H��I9nvI�FH�t$H�<�A��$���t�D)��Hc�H��L�|$A��h���H��H��tIcI�FIc�H��H��H�4��F{��H��H��(H��[]A\A]A^A_Ð1���@���M�<$I�oH��t�A�G������L��������D1�H���f���SH�� dH�%(H�D$1�H�T$�mn��H��t@��H���v��H��t1HcT$H�XH�H�L$dH3%(u)H�� [��1���@H��H�D$蓇��H�D$���������H���"�@��H���ce��H�=��H��H���i����1��f����ff.����ff.������1�����ff.����1�� ��������
1��ޔ��ff.����
1��������1��l��ff.����1��������1���k��ff.���H��1��謒������H�����ff.������1��.���ff.����1��@�������1�1����������1�1��Qk��������1��ޓ��ff.������1�龓��ff.������1�鞓��ff.���釓�����駐������'�������j�����闑������'c������W��������������Gq�����@����i����@���Sy�����g����ATUSH��dH�%(H��$�1����*����A�ԉ�H�T$����������T$(1�������t&H��$�dH3%(��H�İ[]A\���u|�E��x�H�L$L�D$����D$�D$��t����x+�|$���u��D$����E����8������u����`������d���f.�H�L$L�D$����D$�D$�Ut����x��|$�������1�;\$�����4�����������������AVAUATA��H�=T�USH��dH�%(H�D$1�H�$�9���H��t[H��I����_��H�ߺ
L���H���f���]I�Ņ��H�$H���%�8�M����n���D9�t11�E����H�L$dH3%(����H��[]A\A]A^�H�=��蜃��H��t��E�
L��H���f���]��uyH�$H�����:��D�h��A��~�A��0��u���D����1�� n����x A��E9��H���1��D���n����yċ]f���E���'���H�=���i���H�=���]����
�����������Q�����AVAUATA��USH���dH�%(H��$�1�H��t&H�=��H��胂��H��H���o�<@t`</t\���E��uBH��$�dH3%(���dH���[]A\A]A^�f���]�����E��t�f�H�='�蔇���f��{t�1Ҿ��9b��A�Ņ�x�L�t$P1��lH��M�FI�~H�D$RL��I�FxH)���~���H��L��f�D$P�j���|$R@u�D$RH��H�,$H�l$H�D$�g��f�H��L�t$D$�D$(D$8H�D$�yg���nH��D��H�D$(����nGº@�D$H��H�D$ �r��H��x1E��uD��脗������1�����H�=��t�����f��\��������p}����AWAVA��AUA��ATUSH���|$1��$dH�%(H��$�1�褈���$���9�h�D$f�L$A�H�\$ �����A�ă�
��A!�H�D$H�$��f��f�D$�wf.��T$��vW�D$ ����f��uG�t$��~��9�u8f�|$��f������v�D$f9D$"������if�A��D9���E��u�D��D��D��������~�1��H��H�$�H�H��D���D$���u�����P����K[����؅�~�H��$�dH3%(D��u8H�ĸ[]A\A]A^A_��A�����������:����R�����{��ff.�f���AWAVAUA��ATA��1�USH���H�T$dH�%(H��$�1�������H�\$0�hA�H�CL�t$,H�D$f�D��D��D��������1��H��L���H�H��D���D$,��t�������L$,���L$��f�|$0�H�D$H��t@H���d���L$H����H�|$�?tqH�PH9�rMH�t$H�P�d����u;fDH��$�dH3%(D��ulH���[]A\A]A^A_��Y����؅��A��A9�����A������fDH�PH9�u�H�t$H�|$H���-d����u���1�������1z�����SH�����?��H�H����8tSH��H9�u�H��H)�H)�tMD�H��E��t'H��tD�H��H��H��D�E��u�H)�H�H���[�@H��H��H)�H)�u�H���2c��H�H��[�1���H��1��f.�D��AUI��H��ATI��UH��SH����b��H��H��t"H9�H�E�L��L��HB�H��H���n��A�D-H��H��[]A\A]�f���S1�H���w��H��[�f�����AWAVAUATUSH��H�T$H�L$(dH�%(H��$1�D�������I��I��D��H���
H�����H��H���YL�l$H�D$���bH�D$pH�|$A�LE�H�D$0�H+D$H�D$ H�D$@L��$H�D$8�H��訅��I��H���TA�G��t�<.uA�t�fA�.t�H�D$M�gH�T$ L��I�|�f��H�|$t�� ��H�t$(L��H�D$�Ѕ�t���tA��A����L��1�1�1��i��I��H���u�� ������h��I�D$H���gM���fAofAoNfAoV fAo^0fAof@fAonPfAov`fAo~pHfAo��P X0`@hPp`xp��H�|$L����~����������L���o��H���[���I��H��������H����-���H�D$H��P	���H�|$萉��H�D$�nDA����H�=���w��H��H�D$H��t=H��M"H���H��Q"H�AP�H��跅��H�D$I9�t
H���%���DH�D$H��$dH3%(H�D$�(H��[]A\A]A^A_�f�H�T$0L���r������H�D$0H�t$(L�l$@H�|$8H�D$XH�D$������L������I��H���kH�|$H���o}������V���L���w���I���f�H�|$A��1�1�L���l����'����I�4$H�¿�oq�����6���H�5���1�����L���Lm���O����L���^��H��$�L��I���c��I�FH=�����BƄ4/I�FH�D$BƄ4�N���H�=���v��H�D$H���v���L�����L�t$I�����u(I���H��t��L���Ѓ��tA���L��轀��H��H���������L��H�5���1�����i���H�5��1���~���Q���H�5c��1���~���9���H�5����~��L���l��������s��f.�@��S�(���d��H��H��t�@����H��[��H�5!��1��]~��H��[����AUA��ATE��U��SH��H��H��t2H��tH��赉��H�D�kH��D�c�kH��[]A\A]�f�H�t$�S��H�t$H��H��u�1���D��USH��H��tZH���1�~�Ct?H�;H��t�bu��H�{ H��t複��H�{H��t�Fu��H���>u��H����[]�D蛌����븽��������H��tCH�H��t;�G���uS�WH���wH�υ�u�AZ���C[�@��1���d���C[ø�����ff.���ATE1�I��U�͉щ�SH��1���t��H��H��t@��u��u<H��[]A\������!c��H�CH��t�H��L���n����t�H���g��H��[]A\���H��t.SH�?H��u�1����t莋����x�C����[Ð�����[ø��������i�����H�6H�?�Q{�����1��f���1��f���1��f���1��f����ff.���1��f���H���ss��1�H���ff.����S����a��H��H����H�H�����H�CH�g���H�CH�����H�CH�A���H�C H��H�C8H����H�CXH�pH�C`H�U���H�CpH�:���H���H�<H�CxH���H��[��H�5���1���z����ff.����ff.���1��f���1��f���H��q"�@��H����~��H�=AnH��H���`T��AUATUSH��H���H��tZA��I��H��H��tL@L��H�;�����t(~
�����t1H�[H��u�H��1�[]A\A]�fDA��uH�[fDH��t�H�H��[]A\A]�ff.�f���H��tH��t��X����1��ff.�f���H��t1��0���1��ff.�f���H��tH�����1��D��H��t7ATI��UH��SH���H��t�H�;L���H�[H��u�[]A\�f.��ff.�@��H��t'H�H��t!H���1�H;WuH�GHH��t	H��1��ff.�f���H��t'H�H��t!H�WH9��uH���H��tH��f�1��ff.�f���H��t7H�H��t/H�WH9��u"H�GHH��tH�@H�GHH��tH���1��ff.�f���H��t_H�1�H��tH�OH9��u	H�GPH��t�fDH�GHH��uH���H��u�f.�H��H�PH��u�H�GPH��@1��D��H��t&H�H��tH�GPH���H�WHH���H�G1��ff.���H����S�XH�����]��H��tcH�����H�
����H�H�PH���H�5����H�H H�
-���H�PHH���H�p8H�5��H�H(H�
�H�p0H�HH�@PH�P[�fD1��ff.�f���H���	AVAUATI��UH��SH�����?]��I��H����L� H���H���H��tXE1탽�u
�=DH��L��H�;�����]H�CI��H��u�I�F1�L�s[]A\A]A^�fD���tH�XL���1�[]A\A]A^ÐH��H�CH��u�L�s�fDM��u#H���L���[]I�FA\1�A]A^�fDI�EL���{���������{������fD��H��twAVI��AUI��ATUH��SH���H��t3f.�L�cH��tH�CL��H�;��H��L���Lm��M��u�IDž�IDž�I���[]A\A]A^��ff.�@��H���m��1�H���ff.����H����AUATUSH��H���H����I��H��H��teH�;�����tQL���I�]H��u$��~
�����tlH�CI��H��t`H��L��H�;�����u�H�CI�E�H���H�CH���H���Fl��H���1�H���H��[]A\A]�f�H�������[]A\A]ø����ø��������H��tH����k��1�H����1��ff.�f���S����lZ��H��H��ttH�
���E1�1�H��PH�����H�����PL�
���H�
7����R[��H����H�CpH�C`H����H�CxH�-���H���H�����H���XZH��[ÐH�5��1��}s����ff.���H���3L��H��t
ǀ�H���ff.�@��H�uj"�@��S���^��H��t���[�������g��f���H�j"�@��H��i"�@��H���#f��H�=��H���L����R��H�=��H���L����R��H�=��H���|L���V��H�=�jH��H���dL��@��H��tH�� H��t	H��@������ff.����H��tH��(H��t	H��@������ff.����H��tH��H��t	H��@������ff.����AUATUH�����SH��(dH�%(H�D$1�H�D$H�D$H��tH��0H��H��@H��t.��Hc�H�L$dH3%(H����H��([]A\A]��H��L�d$H��tL���H��@L�l$L��1�L���H�|$t'�H��H��@L��L���H�|$u�H��H���h���H��@L����W����+f��ff.���AVAUATUSH�� dH�%(H�D$1�H�D$H�D$H����H��H��I��I��H��@H�l$H��tH���H��@L�d$H��L���H�|$H��t(DL��A��H��@L��H���H�|$H��u�H��H��tH��@H���H�D$dH3%(u
H�� []A\A]A^��;e��ff.���H�5=��1���o��f���AVAUATUSH��0dH�%(H�D$(1�H����H��H��I��H�D$H�D$H��@H�l$ H�D$H�D$ H��tH���H��@L�l$H��L��������M���bH�L$H����@����L�t$�_@L��H�������LH�t$H�|$H��t]�����xNH��@L��H���H�L$����H���}���uM��u�H�|$H9��BH������~�H�|$H���H�|$H��@t��L��H��H��@�=��„��"H���H��t#H�|$tH�T$H�t$H��@�Ѕ��H�T$H��H��t!H;T$ tH��t&H�t$H��@��H��H��tH��@H���H�D$H�L$(dH3%(��H��0[]A\A]A^��H��@������8�������L��H������>H�D$H���H�D$�H���H�T$H��@�H�����f.�=���	ʄ�������H�5&��1��m��H�D$�����H�5���1���l��H�D$����D1�����f�H���tH�T$H��@�H��H�D$��8H�D$��tH�D$�:���f.�H��H��@L�����@���0���f�H�5���1��Ml�������=������D������la��=���	�����ff.�f���AVAUATUSH�� dH�%(H�D$1�H���'I��H���H��H��H�$H�l$H�D$H��@H�D$H��tH���H��@L�l$H��L�������H�|$I��H��uI�yf�H�D$H��@H�$H���H��tL��H���H��@L��H���H�|$��u7H��t2L�����t�~
��8��uH��@��f�=�uAH��H��tH��@H���H�$H�L$dH3%(u,H�� []A\A]A^�1���@��H�5���1��j�����_��ff.����H��t'SH��H��@H��t	H�����H��[�b��D�ff.�@��AWI��I��AVI��AUI��ATM��UL��SH��M��t	M����H�L�T$�jP��L�T$H��H���	H�b���L���H�CH��H�CH�U���H�C H�z���H�C8H�����H�CHH�����H�CXH����H�C`H�����H���H�����H���H�D$PH�CH��H�D$XH�CpH��H�D$`H�CxH����D$hL���L���H���L����8L��@H��H��[]A\A]A^A_�fDH�5���1�1���h���ѐH�5w��1���h���ff.���H��tH�� H��(H��0���H��H���Expected RESPONSE-PDU but got %s-PDUtruncating integer value > 32 bits
bad size for integer-like type (%d)
bad size for opaque float (%d)
bad size for opaque double (%d)
Internal error in type switching
(tooBig) Response message would have been too large.(noSuchName) There is no such variable name in this MIB.(badValue) The value given has the wrong type or length.(readOnly) The two parties used do not have access to use the specified SNMP PDU.(genError) A general failure occuredwrongType (The set datatype does not match the data type the agent expects)wrongLength (The set value has an illegal length from what the agent expects)wrongValue (The set value is illegal or unsupported in some way)noCreation (That table does not support row creation or that object can not ever be created)inconsistentValue (The set value is illegal or unsupported in some way)resourceUnavailable (This is likely a out-of-memory failure within the agent)authorizationError (access denied to that object)notWritable (That object does not support modification)inconsistentName (That object can not currently be created)empty variable list in _query
could not clone variable list
iquerySecName has not been configured - internal queries will fail
default session is not available - internal queries will fail
row_create_multiple_values_colsrow_create_single_value_createAndWaitrow_create_all_values_createAndWaitrow_create_all_values_createAndGobad size for NULL value
no storage for OID
no storage for string
bad size for counter 64 (%d)
Unknown Error(noError) No ErrornoAccesswrongEncodingcommitFailedundoFailedcould not allocate pdu
row_create_cleanuprow_create_activaterow_create_single_value_colsrow_create_machine���������D��D��$���~�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������D�����������D��D���~������������������������������������������������������������������������������������������������������������������������������������������������������~���~���~���~��������������$��$��$������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~���~��D������~��%lu..%s(%lu).%s"%s"	"
 tc=%d hint=%s units=%s%s%c%s%d:%d:%02d:%02d.%02d%d day, %d:%02d:%02d.%02d%d days, %d:%02d:%02d.%02d 	
yestrue%02X %sn:  print OIDs numerically
%sU:  don't print units
%sX:  extended index format
mibdirs[mib-tokens|+mib-tokens]mibsmibfile-to-readmibfileshowMibErrorscommentToEOLstrictCommentTermmibAllowUnderlinemibWarningLevelmibReplaceWithLatestprintNumericEnums(1|yes|true|0|no|false)printNumericOidsescapeQuotesdontBreakdownOidsquickPrintingnumericTimeticksoidOutputFormatsuffixPrintingextendedIndexprintHexTextprintValueOnlydontPrintUnitshexOutputLengthMIBDIRS$HOME%s/mib_indexes/%d%s/mib_indexesDIR MIBFILESPREFIX(top)DIR %s
dump DEFINITIONS ::= BEGIN
END
%lu.%lu.%lu.%lu%%%lu%s%02lxanonymous#[\InetAddressInetAddressType::0%lx%lo(Bad hint ignored: ""Hex-STRING: Opaque: Float: %fOpaque: UInt64: Counter64: Timeticks: (%lu) INTEGER: (%ld)%d.%d.%d.%d(%d) %s [TRUNCATED]
 =  NOTIFICATION-TYPE AGENT-CAPABILITIES MODULE-COMPLIANCEOBJECT IDENTIFIEROCTET STRINGINTEGERNetworkAddressIpAddressCounter32Gauge32TimeTicksOpaqueNULLCounter64BITSNsapAddressUInteger32Unsigned32 | read-onlyread-writewrite-onlynot-accessibleaccessible-for-notifyread-createmandatoryoptionalobsoletedeprecatedcurrentIMPLIED  type_%d  -- FROM	,
  --		  -- TEXTUAL CONVENTION   SYNTAX	 (%s%d%s%d..%d%s%u%s%u..%u%s(%d)
		  }   DISPLAY-HINT	"  UNITS		"access_%d  MAX-ACCESS	status_%d  STATUS	  AUGMENTS	{  }
  INDEX		{   VARIABLES	{   OBJECTS	{   DESCRIPTION	"  DEFVAL	{ ::= { %s(%lu)
      %lu }Index out of range: %s (%s)Sub-id not found: %s -> %sANY%.*s.iso.org.dod.internet.private%02X %02X %02X %02X %02X %02X %02X %02X %s0:  print leading 0 for single-digit hex characters
%sa:  print all strings in ascii format
%sb:  do not break OID indexes down
%se:  print enums numerically
%sE:  escape quotes in string indices
%sf:  print full OIDs on output
%sp PRECISION:  display floating point values with specified PRECISION (printf format string)
%sq:  quick print for easier parsing
%sQ:  quick print with equal-signs
%ss:  print only last symbolic element of OID
%sS:  print MIB module-id plus last element
%st:  print timeticks unparsed as numeric integers
%sT:  print human-readable text along with hex strings
%su:  print OIDs using UCD-style prefix suppression
%sv:  print values only (not OID = value)
%sx:  print all strings in hex format
%sb:  do best/regex matching to find a MIB node
%sh:  don't apply DISPLAY-HINTs
%sr:  do not check values for range/type legality
%sR:  do random access to OID labels
%su:  top-level OIDs must have '.' prefix (UCD-style)
%ss SUFFIX:  Append all textual OIDs with SUFFIX before parsing
%sS PREFIX:  Prepend all textual OIDs with PREFIX before parsing
[mib-dirs|+mib-dirs|-mib-dirs]$HOME/.snmp/mibs:/opt/alt/net-snmp11/usr/share/snmp/mibs:EtherLike-MIB:HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES:MTA-MIB:NETWORK-SERVICES-MIB:RMON-MIB:SCTP-MIB:TCP-MIB:UCD-DISKIO-MIB:LM-SENSORS-MIB:UDP-MIBNo Such Object available on this agent at this OIDNo Such Instance currently exists at this OIDNo more variables left in this MIB View (It is past the end of the MIB tree)'-quote is for fixed length strings"-quote is for variable length stringsUnexpected index type: %d %s %s
.iso.org.dod.internet.mgmt.mib-2.iso.org.dod.internet.experimental.iso.org.dod.internet.snmpParties.iso.org.dod.internet.snmpSecrets����М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М��М������М��М��М��М��М��М��М��М��М��М��М����М������p���X���М��М��@���М��М��М��М��М��М��М��М�� ������М��М���Л��М��М��М��М��М��М��М������М�������М��p���X���@���0���М�����̞����������������������������������������������������������������������t���L�����,���l���L���\�����������������������������̰��ܰ����,���<�����������X��������h�������X��h��x��X��X��X��X��X��h��h��h����\��$��$��L�������$��4������������$��$��$�������������������8��8��h��x�����������8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8�����������������8������8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8��8����8��(��X������h��������X��������������������������������8��������������h����������������D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�share/snmp/mibs/NET-SNMP-AGENT-MIB.txt000064400000037035150405542510012771 0ustar00share/snmp/mibs/UDP-MIB.txt000064400000050622150405542510011361 0ustar00share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt000064400000114441150405542510013413 0ustar00share/snmp/mibs/IPV6-FLOW-LABEL-MIB.txt000064400000003754150405542520013044 0ustar00share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt000064400000060045150405542520013077 0ustar00share/snmp/mibs/IPV6-TCP-MIB.txt000064400000021232150405542520012075 0ustar00share/snmp/mibs/DISMAN-SCRIPT-MIB.txt000064400000175467150405542520012726 0ustar00share/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt000064400000021710150405542520013343 0ustar00share/snmp/mibs/UCD-DLMOD-MIB.txt000064400000006017150405542520012201 0ustar00share/snmp/mibs/IANAifType-MIB.txt000064400000105070150405542520012621 0ustar00share/snmp/mibs/SNMPv2-CONF.txt000064400000020107150405542520012070 0ustar00share/snmp/mibs/TCP-MIB.txt000064400000067624150405542520011372 0ustar00share/snmp/mibs/SNMPv2-TM.txt000064400000013217150405542520011667 0ustar00share/snmp/mibs/IP-MIB.txt000064400000552503150405542520011247 0ustar00share/snmp/mibs/RFC1155-SMI.txt000064400000005773150405542520011710 0ustar00share/snmp/mibs/NETWORK-SERVICES-MIB.txt000064400000051016150405542520013302 0ustar00share/snmp/mibs/SNMP-MPD-MIB.txt000064400000012570150405542520012125 0ustar00share/snmp/mibs/SNMPv2-SMI.txt000064400000021334150405542520011776 0ustar00share/snmp/mibs/SNMP-TLS-TM-MIB.txt000064400000125627150405542520012475 0ustar00share/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt000064400000051155150405542520013533 0ustar00share/snmp/mibs/AGENTX-MIB.txt000064400000042057150405542520011723 0ustar00share/snmp/mibs/SNMP-PROXY-MIB.txt000064400000021622150405542520012424 0ustar00share/snmp/mibs/UCD-SNMP-MIB.txt000064400000147124150405542520012124 0ustar00share/snmp/mibs/HCNUM-TC.txt000064400000011064150405542520011500 0ustar00share/snmp/mibs/SNMP-USM-HMAC-SHA2-MIB.txt000064400000010460150405542520013346 0ustar00share/snmp/mibs/BRIDGE-MIB.txt000064400000143404150405542520011667 0ustar00share/snmp/mibs/NET-SNMP-TC.txt000064400000011316150405542520012027 0ustar00share/snmp/mibs/SNMPv2-TC.txt000064400000112222150405542520011651 0ustar00share/snmp/mibs/SNMP-TARGET-MIB.txt000064400000054361150405542520012477 0ustar00share/snmp/mibs/LM-SENSORS-MIB.txt000064400000013453150405542520012375 0ustar00share/snmp/mibs/IF-INVERTED-STACK-MIB.txt000064400000011712150405542520013306 0ustar00share/snmp/mibs/IANA-LANGUAGE-MIB.txt000064400000010443150405542520012620 0ustar00share/snmp/mibs/IANA-RTPROTO-MIB.txt000064400000010002150405542520012575 0ustar00share/snmp/mibs/NOTIFICATION-LOG-MIB.txt000064400000060166150405542520013243 0ustar00share/snmp/mibs/IPV6-UDP-MIB.txt000064400000013102150405542520012074 0ustar00share/snmp/mibs/UCD-IPFWACC-MIB.txt000064400000017666150405542520012432 0ustar00share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt000064400000053506150405542520013046 0ustar00share/snmp/mibs/RFC-1215.txt000064400000002226150405542520011322 0ustar00share/snmp/mibs/RFC1213-MIB.txt000064400000233463150405542520011661 0ustar00share/snmp/mibs/HOST-RESOURCES-TYPES.txt000064400000024527150405542520013361 0ustar00share/snmp/mibs/SNMP-COMMUNITY-MIB.txt000064400000036202150405542520013067 0ustar00share/snmp/mibs/UCD-DISKIO-MIB.txt000064400000011545150405542520012326 0ustar00share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt000064400000047056150405542520013402 0ustar00share/snmp/mibs/IP-FORWARD-MIB.txt000064400000132316150405542520012345 0ustar00share/snmp/mibs/SNMP-TSM-MIB.txt000064400000021320150405542520012141 0ustar00share/snmp/mibs/RMON-MIB.txt000064400000440556150405542520011516 0ustar00share/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt000064400000015071150405542520014614 0ustar00share/snmp/mibs/DISMAN-EVENT-MIB.txt000064400000205010150405542520012555 0ustar00share/snmp/mibs/HOST-RESOURCES-MIB.txt000064400000146500150405542520013060 0ustar00share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt000064400000022156150405542520013121 0ustar00share/snmp/mibs/UCD-DEMO-MIB.txt000064400000004163150405542520012066 0ustar00share/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt000064400000040042150405542520013404 0ustar00share/snmp/mibs/NET-SNMP-PASS-MIB.txt000064400000007222150405542520012675 0ustar00share/snmp/mibs/SCTP-MIB.txt000064400000130413150405542520011500 0ustar00share/snmp/mibs/IPV6-MIB.txt000064400000156217150405542520011465 0ustar00share/snmp/mibs/EtherLike-MIB.txt000064400000245014150405542520012607 0ustar00share/snmp/mibs/INET-ADDRESS-MIB.txt000064400000040616150405542520012556 0ustar00share/snmp/mibs/MTA-MIB.txt000064400000122607150405542520011356 0ustar00share/snmp/mibs/IF-MIB.txt000064400000214013150405542520011224 0ustar00share/snmp/mibs/IPV6-TC.txt000064400000006122150405542520011351 0ustar00share/snmp/mibs/SMUX-MIB.txt000064400000011051150405542520011517 0ustar00share/snmp/mibs/NET-SNMP-MIB.txt000064400000003764150405542520012140 0ustar00share/snmp/mibs/SNMP-USM-AES-MIB.txt000064400000004235150405542520012556 0ustar00share/snmp/mibs/TUNNEL-MIB.txt000064400000066262150405542520011746 0ustar00share/snmp/mibs/SNMPv2-MIB.txt000064400000071171150405542520011761 0ustar00share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt000064400000102562150405542520013472 0ustar00share/snmp/mibs/IPV6-ICMP-MIB.txt000064400000051101150405542520012175 0ustar00share/doc/alt-net-snmp11-libs/README.agentx000064400000004042150405542520014172 0ustar00share/doc/alt-net-snmp11-libs/README.snmpv3000064400000007751150405542520014144 0ustar00share/doc/alt-net-snmp11-libs/AGENT.txt000064400000156632150405542520013441 0ustar00share/doc/alt-net-snmp11-libs/README.tru64000064400000002731150405542520013673 0ustar00share/doc/alt-net-snmp11-libs/ChangeLog000064400026537455150405542520013632 0ustar00share/doc/alt-net-snmp11-libs/README.osX000064400000004474150405542520013466 0ustar00share/doc/alt-net-snmp11-libs/README.agent-mibs000064400000050337150405542520014742 0ustar00share/doc/alt-net-snmp11-libs/NEWS000064400000211525150405542520012532 0ustar00share/doc/alt-net-snmp11-libs/README.krb5000064400000014262150405542520013554 0ustar00share/doc/alt-net-snmp11-libs/README.win32000064400000162203150405542520013652 0ustar00share/doc/alt-net-snmp11-libs/README.irix000064400000003464150405542520013666 0ustar00share/doc/alt-net-snmp11-libs/INSTALL000064400000025614150405542520013066 0ustar00share/doc/alt-net-snmp11-libs/PORTING000064400000006760150405542520013103 0ustar00share/doc/alt-net-snmp11-libs/EXAMPLE.conf.def000064400000015521150405542520014530 0ustar00share/doc/alt-net-snmp11-libs/README.Panasonic_AM3X.txt000064400000007571150405542520016237 0ustar00share/doc/alt-net-snmp11-libs/README.solaris000064400000125402150405542520014364 0ustar00share/doc/alt-net-snmp11-libs/TODO000064400000002553150405542520012522 0ustar00share/doc/alt-net-snmp11-libs/COPYING000064400000053001150405542520013057 0ustar00share/doc/alt-net-snmp11-libs/README.thread000064400000032743150405542520014164 0ustar00share/doc/alt-net-snmp11-libs/README.aix000064400000005230150405542520013465 0ustar00share/doc/alt-net-snmp11-libs/README000064400000033002150405542520012703 0ustar00share/doc/alt-net-snmp11-libs/README.hpux11000064400000001764150405542520014042 0ustar00share/doc/alt-net-snmp11-libs/CodingStyle000064400000010162150405542520014174 0ustar00share/doc/alt-net-snmp11-libs/FAQ000064400000517105150405542520012370 0ustar00lib64/libpcreposix.so.0.0.5000075500000027170150414070470011205 0ustar00lib64/libpcrecpp.so.0.0.1000075500000136700150414070470010621 0ustar00lib64/libpcre.so.1.2.9000075500001633470150414070470010140 0ustar00share/doc/alt-pcre/ChangeLog000064400001075344150414070470011714 0ustar00share/doc/alt-pcre/NEWS000064400000070577150414070470010643 0ustar00share/doc/alt-pcre/AUTHORS000064400000001523150414070470011175 0ustar00share/doc/alt-pcre/COPYING000064400000000137150414070470011160 0ustar00share/doc/alt-pcre/LICENCE000064400000006156150414070470011121 0ustar00share/doc/alt-pcre/README000064400000130754150414070500011010 0ustar00bin/bsqlodbc000075500000060720150463555730007055 0ustar00bin/datacopy000075500000060740150463555730007072 0ustar00bin/fisql000075500000101350150463555730006375 0ustar00bin/defncopy000075500000071220150463555730007070 0ustar00bin/osql000075500000022750150463555730006243 0ustar00bin/tsql000075500001172150150463555730006251 0ustar00bin/tdspool000075500001233170150463555730006752 0ustar00bin/freebcp000075500000061240150463555730006670 0ustar00bin/bsqldb000075500000111230150463555740006525 0ustar00lib64/libct.so.4.0.0000075500001453770150463555740007624 0ustar00lib64/libsybdb.so.5.1.0000075500001716710150463555740010317 0ustar00lib64000075500000000000150463555740005416 0ustar00share/man/man1/datacopy.1000064400000004560150463555750011167 0ustar00share/man/man1/bsqldb.1000064400000006667150463555750010644 0ustar00share/man/man1/bsqlodbc.1000064400000004520150463555750011150 0ustar00share/man/man1/defncopy.1000064400000005074150463555750011173 0ustar00share/man/man1/freebcp.1000064400000014320150463555750010764 0ustar00share/man/man1/fisql.1000064400000010071150463555750010473 0ustar00share/man/man1/tsql.1000064400000006634150463555750010352 0ustar00share/man/man1/osql.1000064400000003740150463555750010340 0ustar00share/man/man5/freetds.conf.5000064400000014477150463555750011763 0ustar00share/doc/alt-freetds11/COPYING.txt000064400000043254150463555760012670 0ustar00share/doc/alt-freetds11/COPYING_LIB.txt000064400000061447150463555760013362 0ustar00share/doc/alt-freetds11/INSTALL.md000064400000001324150463555760012437 0ustar00share/doc/alt-freetds11/README.md000064400000006016150463555760012271 0ustar00share/doc/alt-freetds11/ChangeLog000064400000025743150463555760012574 0ustar00share/doc/alt-freetds11/NEWS.md000064400000075053150463555760012117 0ustar00share/doc/alt-freetds11/TODO.md000064400000013327150463555760012104 0ustar00share/doc/alt-freetds11/AUTHORS.md000064400000005324150463555760012462 0ustar00lib64/libzip.so.5.5000075500000412430150464101030007627 0ustar00share/doc/alt-libzip/LICENSE000064400000002656150464101030011472 0ustar00bin/curve_keygen000075500000022010150464101720007723 0ustar00lib64/libzmq.so.5.0.2000075500002036400150464101720007776 0ustar00share/licenses/alt-zeromq/COPYING.LESSER000064400000020470150464101720013600 0ustar00share/licenses/alt-zeromq/COPYING000064400000104515150464101730012610 0ustar00share/doc/alt-zeromq/ChangeLog000064400000320745150464101730012274 0ustar00share/doc/alt-zeromq/NEWS000064400000103666150464101730011222 0ustar00share/doc/alt-zeromq/AUTHORS000064400000004060150464101730011557 0ustar00bin/wcurl000075500000024576150464111420006412 0ustar00bin/curl000075500002437130150464111420006217 0ustar00lib64/libcurl.so.4.8.0000075500003436660150464111430010155 0ustar00share/man/man1/wcurl.1000064400000007432150464111430010500 0ustar00share/man/man1/curl.1000064400000763637150464111430010331 0ustar00share/doc/alt-curlssl11/FEATURES.md000064400000014023150464111440012562 0ustar00share/doc/alt-curlssl11/BUGS.md000064400000027246150464111440012117 0ustar00share/doc/alt-curlssl11/TODO000064400000141660150464111440011522 0ustar00share/doc/alt-curlssl11/TheArtOfHttpScripting.md000064400000067723150464111440015562 0ustar00share/doc/alt-curlssl11/COPYING000064400000002100150464111440012046 0ustar00share/doc/alt-curlssl11/CHANGES.md000064400000000666150464111440012424 0ustar00share/doc/alt-curlssl11/README000064400000003200150464111440011675 0ustar00share/doc/alt-curlssl11/FAQ000064400000204560150464111440011363 0ustar00bin/sqlite3000075500006120400150464112430006631 0ustar00lib64/libsqlite3.so.0.8.6000075500005123150150464112430010564 0ustar00share/man/man1/sqlite3.1000064400000010364150464112430010727 0ustar00share/doc/alt-sqlite/README.md000064400000041234150464112430011755 0ustar00include/unicode/localpointer.h000064400000047277150470307210012501 0ustar00include/unicode/stringpiece.h000064400000016604150470307210012310 0ustar00include/unicode/uenum.h000064400000017442150470307210011126 0ustar00include/unicode/ureldatefmt.h000064400000042406150470307210012307 0ustar00include/unicode/measure.h000064400000010507150470307210011431 0ustar00include/unicode/numberrangeformatter.h000064400000074221150470307210014224 0ustar00include/unicode/ucharstrie.h000064400000055120150470307210012141 0ustar00include/unicode/rep.h000064400000022577150470307210010570 0ustar00include/unicode/numfmt.h000064400000143471150470307210011305 0ustar00include/unicode/ulistformatter.h000064400000021527150470307210013060 0ustar00include/unicode/umachine.h000064400000035035150470307210011564 0ustar00include/unicode/unum.h000064400000153172150470307210010762 0ustar00include/unicode/filteredbrk.h000064400000012575150470307210012274 0ustar00include/unicode/umutablecptrie.h000064400000020363150470307210013016 0ustar00include/unicode/nounit.h000064400000005302150470307210011301 0ustar00include/unicode/gender.h000064400000006520150470307210011234 0ustar00include/unicode/stsearch.h000064400000052462150470307210011612 0ustar00include/unicode/ufieldpositer.h000064400000010555150470307210012651 0ustar00include/unicode/dtptngen.h000064400000062124150470307210011615 0ustar00include/unicode/ucat.h000064400000012554150470307210010730 0ustar00include/unicode/ustdio.h000064400000115055150470307210011303 0ustar00include/unicode/rbtz.h000064400000037153150470307210010757 0ustar00include/unicode/udata.h000064400000037072150470307210011074 0ustar00include/unicode/unumberformatter.h000064400000062564150470307210013403 0ustar00include/unicode/utf.h000064400000017556150470307210010601 0ustar00include/unicode/tznames.h000064400000041544150470307210011456 0ustar00include/unicode/timezone.h000064400000122025150470307210011621 0ustar00include/unicode/region.h000064400000022274150470307210011257 0ustar00include/unicode/curramt.h000064400000007413150470307210011447 0ustar00include/unicode/bytestriebuilder.h000064400000016120150470307210013346 0ustar00include/unicode/tblcoll.h000064400000111161150470307220011422 0ustar00include/unicode/dtrule.h000064400000021270150470307220011267 0ustar00include/unicode/unifunct.h000064400000010055150470307220011622 0ustar00include/unicode/parseerr.h000064400000006123150470307220011613 0ustar00include/unicode/std_string.h000064400000002064150470307220012150 0ustar00include/unicode/ucol.h000064400000172733150470307220010745 0ustar00include/unicode/platform.h000064400000070120150470307220011612 0ustar00include/unicode/measunit.h000064400000272502150470307220011623 0ustar00include/unicode/uscript.h000064400000065566150470307220011501 0ustar00include/unicode/ucnvsel.h000064400000014213150470307220011446 0ustar00include/unicode/unifilt.h000064400000007727150470307220011455 0ustar00include/unicode/uformattable.h000064400000025676150470307220012473 0ustar00include/unicode/uloc.h000064400000151055150470307220010737 0ustar00include/unicode/udatpg.h000064400000064017150470307220011262 0ustar00include/unicode/listformatter.h000064400000022745150470307220012677 0ustar00include/unicode/tmutamt.h000064400000011627150470307220011470 0ustar00include/unicode/numsys.h000064400000016304150470307220011330 0ustar00include/unicode/utf8.h000064400000075724150470307220010673 0ustar00include/unicode/ubidi.h000064400000263077150470307220011101 0ustar00include/unicode/selfmt.h000064400000034463150470307220011272 0ustar00include/unicode/uspoof.h000064400000203630150470307220011305 0ustar00include/unicode/fieldpos.h000064400000021303150470307220011572 0ustar00include/unicode/translit.h000064400000203510150470307220011627 0ustar00include/unicode/rbbi.h000064400000065122150470307220010712 0ustar00include/unicode/appendable.h000064400000020766150470307220012074 0ustar00include/unicode/localematcher.h000064400000055003150470307220012574 0ustar00include/unicode/basictz.h000064400000022225150470307220011430 0ustar00include/unicode/usetiter.h000064400000023065150470307220011640 0ustar00include/unicode/tzrule.h000064400000106567150470307220011332 0ustar00include/unicode/currpinf.h000064400000016461150470307220011626 0ustar00include/unicode/uregion.h000064400000023531150470307220011442 0ustar00include/unicode/scientificnumberformatter.h000064400000014631150470307220015250 0ustar00include/unicode/ucnv.h000064400000246135150470307230010755 0ustar00include/unicode/ucasemap.h000064400000036272150470307230011577 0ustar00include/unicode/unorm.h000064400000051027150470307230011134 0ustar00include/unicode/utext.h000064400000164207150470307230011152 0ustar00include/unicode/urename.h000064400000405735150470307230011441 0ustar00include/unicode/dbbi.h000064400000002307150470307230010671 0ustar00include/unicode/icudataver.h000064400000002033150470307230012114 0ustar00include/unicode/idna.h000064400000031310150470307230010700 0ustar00include/unicode/unistr.h000064400000524673150470307230011334 0ustar00include/unicode/umisc.h000064400000002525150470307230011113 0ustar00include/unicode/uidna.h000064400000102571150470307230011075 0ustar00include/unicode/utypes.h000064400000075371150470307230011335 0ustar00include/unicode/stringtriebuilder.h000064400000036522150470307230013540 0ustar00include/unicode/ures.h000064400000111047150470307240010752 0ustar00include/unicode/reldatefmt.h000064400000055167150470307240012135 0ustar00include/unicode/messagepattern.h000064400000103331150470307240013013 0ustar00include/unicode/utmscale.h000064400000033441150470307240011612 0ustar00include/unicode/simpleformatter.h000064400000031130150470307240013203 0ustar00include/unicode/uset.h000064400000117776150470307240010773 0ustar00include/unicode/utf16.h000064400000056506150470307240010751 0ustar00include/unicode/ustringtrie.h000064400000006230150470307240012350 0ustar00include/unicode/udisplaycontext.h000064400000013615150470307240013235 0ustar00include/unicode/resbund.h000064400000044107150470307240011440 0ustar00include/unicode/uregex.h000064400000220070150470307240011270 0ustar00include/unicode/ugender.h000064400000004004150470307240011417 0ustar00include/unicode/locid.h000064400000136630150470307240011073 0ustar00include/unicode/umsg.h000064400000060354150470307240010753 0ustar00include/unicode/casemap.h000064400000062515150470307240011412 0ustar00include/unicode/normalizer2.h000064400000104043150470307240012236 0ustar00include/unicode/putil.h000064400000014527150470307240011136 0ustar00include/unicode/normlzr.h000064400000075702150470307240011506 0ustar00include/unicode/uldnames.h000064400000024716150470307240011612 0ustar00include/unicode/ubiditransform.h000064400000031226150470307240013024 0ustar00include/unicode/choicfmt.h000064400000057642150470307240011602 0ustar00include/unicode/dtfmtsym.h000064400000113321150470307240011640 0ustar00include/unicode/tmutfmt.h000064400000017552150470307240011502 0ustar00include/unicode/utrace.h000064400000037360150470307240011264 0ustar00include/unicode/ubrk.h000064400000057743150470307240010753 0ustar00include/unicode/ulocdata.h000064400000026415150470307240011574 0ustar00include/unicode/utf32.h000064400000001373150470307240010737 0ustar00include/unicode/unimatch.h000064400000014144150470307240011604 0ustar00include/unicode/tzfmt.h000064400000125614150470307240011145 0ustar00include/unicode/edits.h000064400000051365150470307240011112 0ustar00include/unicode/uformattedvalue.h000064400000030217150470307240013202 0ustar00include/unicode/uvernum.h000064400000015260150470307240011475 0ustar00include/unicode/ucal.h000064400000161631150470307240010724 0ustar00include/unicode/udateintervalformat.h000064400000024040150470307240014050 0ustar00include/unicode/bytestream.h000064400000023145150470307240012154 0ustar00include/unicode/ucharstriebuilder.h000064400000016322150470307240013514 0ustar00include/unicode/tztrans.h000064400000014177150470307240011507 0ustar00include/unicode/localebuilder.h000064400000026424150470307240012606 0ustar00include/unicode/format.h000064400000031002150470307240011254 0ustar00include/unicode/rbnf.h000064400000141353150470307240010726 0ustar00include/unicode/ucsdet.h000064400000035252150470307240011266 0ustar00include/unicode/urep.h000064400000012603150470307240010745 0ustar00include/unicode/plurfmt.h000064400000062310150470307240011463 0ustar00include/unicode/symtable.h000064400000010426150470307240011613 0ustar00include/unicode/dcfmtsym.h000064400000050203150470307240011616 0ustar00include/unicode/uconfig.h000064400000030104150470307250011421 0ustar00include/unicode/locdspnm.h000064400000016174150470307250011621 0ustar00include/unicode/utrans.h000064400000063022150470307250011310 0ustar00include/unicode/uchar.h000064400000431100150470307250011072 0ustar00include/unicode/uobject.h000064400000025270150470307250011432 0ustar00include/unicode/udat.h000064400000171606150470307250010741 0ustar00include/unicode/stringoptions.h000064400000013446150470307250012723 0ustar00include/unicode/ushape.h000064400000044000150470307250011254 0ustar00include/unicode/dtitvinf.h000064400000045017150470307250011627 0ustar00include/unicode/currunit.h000064400000010065150470307250011646 0ustar00include/unicode/parsepos.h000064400000013074150470307260011633 0ustar00include/unicode/decimfmt.h000064400000256610150470307260011574 0ustar00include/unicode/ucnv_cb.h000064400000015134150470307260011415 0ustar00include/unicode/coleitr.h000064400000033416150470307260011442 0ustar00include/unicode/ucurr.h000064400000040173150470307260011137 0ustar00include/unicode/tmunit.h000064400000006605150470307260011321 0ustar00include/unicode/utf_old.h000064400000133521150470307260011433 0ustar00include/unicode/chariter.h000064400000060070150470307260011576 0ustar00include/unicode/ptypes.h000064400000006771150470307260011331 0ustar00include/unicode/uiter.h000064400000055427150470307260011137 0ustar00include/unicode/unorm2.h000064400000061246150470307260011225 0ustar00include/unicode/alphaindex.h000064400000064756150470307260012131 0ustar00include/unicode/uniset.h000064400000201633150470307260011306 0ustar00include/unicode/measfmt.h000064400000026523150470307260011436 0ustar00include/unicode/numberformatter.h000064400000254477150470307260013231 0ustar00include/unicode/datefmt.h000064400000121251150470307260011420 0ustar00include/unicode/simpletz.h000064400000132677150470307270011662 0ustar00include/unicode/search.h000064400000054345150470307270011253 0ustar00include/unicode/msgfmt.h000064400000130160150470307270011271 0ustar00include/unicode/schriter.h000064400000014513150470307270011622 0ustar00include/unicode/usprep.h000064400000020213150470307270011307 0ustar00include/unicode/plurrule.h000064400000044623150470307270011656 0ustar00include/unicode/brkiter.h000064400000067460150470307270011452 0ustar00include/unicode/formattedvalue.h000064400000024431150470307270013021 0ustar00include/unicode/compactdecimalformat.h000064400000015607150470307270014162 0ustar00include/unicode/ucnv_err.h000064400000051764150470307270011633 0ustar00include/unicode/enumset.h000064400000004122150470307270011452 0ustar00include/unicode/calendar.h000064400000323366150470307270011561 0ustar00include/unicode/ustring.h000064400000220743150470307270011476 0ustar00include/unicode/fmtable.h000064400000060657150470307270011423 0ustar00include/unicode/uversion.h000064400000014001150470307300011633 0ustar00include/unicode/ucpmap.h000064400000013037150470307300011256 0ustar00include/unicode/regex.h000064400000250556150470307300011114 0ustar00include/unicode/upluralrules.h000064400000017604150470307300012534 0ustar00include/unicode/usearch.h000064400000114177150470307300011432 0ustar00include/unicode/ucoleitr.h000064400000022724150470307300011622 0ustar00include/unicode/dtintrv.h000064400000007532150470307300011466 0ustar00include/unicode/bytestrie.h000064400000051422150470307300012003 0ustar00include/unicode/ucptrie.h000064400000054732150470307300011453 0ustar00include/unicode/docmain.h000064400000015746150470307300011414 0ustar00include/unicode/caniter.h000064400000016673150470307300011427 0ustar00include/unicode/gregocal.h000064400000077330150470307300011562 0ustar00include/unicode/unumsys.h000064400000016333150470307300011516 0ustar00include/unicode/strenum.h000064400000023656150470307300011476 0ustar00include/unicode/uchriter.h000064400000032321150470307310011614 0ustar00include/unicode/dtitvfmt.h000064400000135201150470307310011631 0ustar00include/unicode/smpdtfmt.h000064400000215736150470307310011642 0ustar00include/unicode/unirepl.h000064400000006610150470307310011447 0ustar00include/unicode/icuplug.h000064400000027606150470307310011451 0ustar00include/unicode/vtzone.h000064400000050460150470307310011320 0ustar00include/unicode/ustream.h000064400000003616150470307310011454 0ustar00include/unicode/uclean.h000064400000026322150470307310011242 0ustar00include/unicode/sortkey.h000064400000026264150470307310011500 0ustar00include/unicode/errorcode.h000064400000011534150470307310011756 0ustar00include/unicode/fpositer.h000064400000006045150470307320011627 0ustar00include/unicode/char16ptr.h000064400000016341150470307320011606 0ustar00include/unicode/coll.h000064400000160355150470307320010732 0ustar00bin/icu-config000075500000000311150470307320007261 0ustar00bin/icu-config-64000075500000053251150470307320007523 0ustar00bin/icuinfo000075500000032010150470307320006673 0ustar00lib64/libicutu.so.65.1000075500000654140150470307320010255 0ustar00lib64/libicudata.so.65.1000075500152575370150470307320010555 0ustar00lib64/libicui18n.so.65.1000075500014071360150470307330010407 0ustar00lib64/libicuuc.so.65.1000075500007466210150470307340010244 0ustar00lib64/pkgconfig/icu-i18n.pc000064400000002475150470307340011327 0ustar00lib64/pkgconfig/icu-io.pc000064400000002465150470307340011156 0ustar00lib64/pkgconfig/icu-uc.pc000064400000002525150470307340011153 0ustar00lib64/libicutest.so.65.1000075500000240300150470307340010573 0ustar00lib64/icu/65.1/Makefile.inc000064400000023253150470307340011055 0ustar00lib64/icu/65.1/pkgdata.inc000064400000002567150470307340010760 0ustar00lib64/icu/65.1000075500000000000150470307340006554 0ustar00lib64/libicuio.so.65.1000075500000174320150470307350010234 0ustar00share/man/man1/icu-config.1000064400000016435150470307370011401 0ustar00share/man/man1/icuinfo.1000064400000003353150470307370011005 0ustar00share/licenses/alt-libicu65-devel/LICENSE000064400000051011150470307370013761 0ustar00share/licenses/alt-libicu65/LICENSE000064400000051011150470307370012664 0ustar00COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)

Copyright © 1991-2019 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.

Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.

THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.

Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.

---------------------

Third-Party Software Licenses

This section contains third-party software notices and/or additional
terms for licensed third-party software components included within ICU
libraries.

1. ICU License - ICU 1.8.1 to ICU 57.1

COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1995-2016 International Business Machines Corporation and others
All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, provided that the above
copyright notice(s) and this permission notice appear in all copies of
the Software and that both the above copyright notice(s) and this
permission notice appear in supporting documentation.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in this Software without prior written authorization
of the copyright holder.

All trademarks and registered trademarks mentioned herein are the
property of their respective owners.

2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)

 #     The Google Chrome software developed by Google is licensed under
 # the BSD license. Other software included in this distribution is
 # provided under other licenses, as set forth below.
 #
 #  The BSD License
 #  http://opensource.org/licenses/bsd-license.php
 #  Copyright (C) 2006-2008, Google Inc.
 #
 #  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
 #
 #  Redistributions of source code must retain the above copyright notice,
 # this list of conditions and the following disclaimer.
 #  Redistributions in binary form must reproduce the above
 # copyright notice, this list of conditions and the following
 # disclaimer in the documentation and/or other materials provided with
 # the distribution.
 #  Neither the name of  Google Inc. nor the names of its
 # contributors may be used to endorse or promote products derived from
 # this software without specific prior written permission.
 #
 #
 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 #
 #  The word list in cjdict.txt are generated by combining three word lists
 # listed below with further processing for compound word breaking. The
 # frequency is generated with an iterative training against Google web
 # corpora.
 #
 #  * Libtabe (Chinese)
 #    - https://sourceforge.net/project/?group_id=1519
 #    - Its license terms and conditions are shown below.
 #
 #  * IPADIC (Japanese)
 #    - http://chasen.aist-nara.ac.jp/chasen/distribution.html
 #    - Its license terms and conditions are shown below.
 #
 #  ---------COPYING.libtabe ---- BEGIN--------------------
 #
 #  /*
 #   * Copyright (c) 1999 TaBE Project.
 #   * Copyright (c) 1999 Pai-Hsiang Hsiao.
 #   * All rights reserved.
 #   *
 #   * Redistribution and use in source and binary forms, with or without
 #   * modification, are permitted provided that the following conditions
 #   * are met:
 #   *
 #   * . Redistributions of source code must retain the above copyright
 #   *   notice, this list of conditions and the following disclaimer.
 #   * . Redistributions in binary form must reproduce the above copyright
 #   *   notice, this list of conditions and the following disclaimer in
 #   *   the documentation and/or other materials provided with the
 #   *   distribution.
 #   * . Neither the name of the TaBE Project nor the names of its
 #   *   contributors may be used to endorse or promote products derived
 #   *   from this software without specific prior written permission.
 #   *
 #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 #   * OF THE POSSIBILITY OF SUCH DAMAGE.
 #   */
 #
 #  /*
 #   * Copyright (c) 1999 Computer Systems and Communication Lab,
 #   *                    Institute of Information Science, Academia
 #       *                    Sinica. All rights reserved.
 #   *
 #   * Redistribution and use in source and binary forms, with or without
 #   * modification, are permitted provided that the following conditions
 #   * are met:
 #   *
 #   * . Redistributions of source code must retain the above copyright
 #   *   notice, this list of conditions and the following disclaimer.
 #   * . Redistributions in binary form must reproduce the above copyright
 #   *   notice, this list of conditions and the following disclaimer in
 #   *   the documentation and/or other materials provided with the
 #   *   distribution.
 #   * . Neither the name of the Computer Systems and Communication Lab
 #   *   nor the names of its contributors may be used to endorse or
 #   *   promote products derived from this software without specific
 #   *   prior written permission.
 #   *
 #   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 #   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 #   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 #   * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 #   * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 #   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 #   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 #   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 #   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 #   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 #   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 #   * OF THE POSSIBILITY OF SUCH DAMAGE.
 #   */
 #
 #  Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
 #      University of Illinois
 #  c-tsai4@uiuc.edu  http://casper.beckman.uiuc.edu/~c-tsai4
 #
 #  ---------------COPYING.libtabe-----END--------------------------------
 #
 #
 #  ---------------COPYING.ipadic-----BEGIN-------------------------------
 #
 #  Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
 #  and Technology.  All Rights Reserved.
 #
 #  Use, reproduction, and distribution of this software is permitted.
 #  Any copy of this software, whether in its original form or modified,
 #  must include both the above copyright notice and the following
 #  paragraphs.
 #
 #  Nara Institute of Science and Technology (NAIST),
 #  the copyright holders, disclaims all warranties with regard to this
 #  software, including all implied warranties of merchantability and
 #  fitness, in no event shall NAIST be liable for
 #  any special, indirect or consequential damages or any damages
 #  whatsoever resulting from loss of use, data or profits, whether in an
 #  action of contract, negligence or other tortuous action, arising out
 #  of or in connection with the use or performance of this software.
 #
 #  A large portion of the dictionary entries
 #  originate from ICOT Free Software.  The following conditions for ICOT
 #  Free Software applies to the current dictionary as well.
 #
 #  Each User may also freely distribute the Program, whether in its
 #  original form or modified, to any third party or parties, PROVIDED
 #  that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
 #  on, or be attached to, the Program, which is distributed substantially
 #  in the same form as set out herein and that such intended
 #  distribution, if actually made, will neither violate or otherwise
 #  contravene any of the laws and regulations of the countries having
 #  jurisdiction over the User or the intended distribution itself.
 #
 #  NO WARRANTY
 #
 #  The program was produced on an experimental basis in the course of the
 #  research and development conducted during the project and is provided
 #  to users as so produced on an experimental basis.  Accordingly, the
 #  program is provided without any warranty whatsoever, whether express,
 #  implied, statutory or otherwise.  The term "warranty" used herein
 #  includes, but is not limited to, any warranty of the quality,
 #  performance, merchantability and fitness for a particular purpose of
 #  the program and the nonexistence of any infringement or violation of
 #  any right of any third party.
 #
 #  Each user of the program will agree and understand, and be deemed to
 #  have agreed and understood, that there is no warranty whatsoever for
 #  the program and, accordingly, the entire risk arising from or
 #  otherwise connected with the program is assumed by the user.
 #
 #  Therefore, neither ICOT, the copyright holder, or any other
 #  organization that participated in or was otherwise related to the
 #  development of the program and their respective officials, directors,
 #  officers and other employees shall be held liable for any and all
 #  damages, including, without limitation, general, special, incidental
 #  and consequential damages, arising out of or otherwise in connection
 #  with the use or inability to use the program or any product, material
 #  or result produced or otherwise obtained by using the program,
 #  regardless of whether they have been advised of, or otherwise had
 #  knowledge of, the possibility of such damages at any time during the
 #  project or thereafter.  Each user will be deemed to have agreed to the
 #  foregoing by his or her commencement of use of the program.  The term
 #  "use" as used herein includes, but is not limited to, the use,
 #  modification, copying and distribution of the program and the
 #  production of secondary products from the program.
 #
 #  In the case where the program, whether in its original form or
 #  modified, was distributed or delivered to or received by a user from
 #  any person, organization or entity other than ICOT, unless it makes or
 #  grants independently of ICOT any specific warranty to the user in
 #  writing, such person, organization or entity, will also be exempted
 #  from and not be held liable to the user for any such damages as noted
 #  above as far as the program is concerned.
 #
 #  ---------------COPYING.ipadic-----END----------------------------------

3. Lao Word Break Dictionary Data (laodict.txt)

 #  Copyright (c) 2013 International Business Machines Corporation
 #  and others. All Rights Reserved.
 #
 # Project: http://code.google.com/p/lao-dictionary/
 # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
 # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
 #              (copied below)
 #
 #  This file is derived from the above dictionary, with slight
 #  modifications.
 #  ----------------------------------------------------------------------
 #  Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
 #  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification,
 #  are permitted provided that the following conditions are met:
 #
 #
 # Redistributions of source code must retain the above copyright notice, this
 #  list of conditions and the following disclaimer. Redistributions in
 #  binary form must reproduce the above copyright notice, this list of
 #  conditions and the following disclaimer in the documentation and/or
 #  other materials provided with the distribution.
 #
 #
 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 # OF THE POSSIBILITY OF SUCH DAMAGE.
 #  --------------------------------------------------------------------------

4. Burmese Word Break Dictionary Data (burmesedict.txt)

 #  Copyright (c) 2014 International Business Machines Corporation
 #  and others. All Rights Reserved.
 #
 #  This list is part of a project hosted at:
 #    github.com/kanyawtech/myanmar-karen-word-lists
 #
 #  --------------------------------------------------------------------------
 #  Copyright (c) 2013, LeRoy Benjamin Sharon
 #  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification, are permitted provided that the following conditions
 #  are met: Redistributions of source code must retain the above
 #  copyright notice, this list of conditions and the following
 #  disclaimer.  Redistributions in binary form must reproduce the
 #  above copyright notice, this list of conditions and the following
 #  disclaimer in the documentation and/or other materials provided
 #  with the distribution.
 #
 #    Neither the name Myanmar Karen Word Lists, nor the names of its
 #    contributors may be used to endorse or promote products derived
 #    from this software without specific prior written permission.
 #
 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 #  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
 #  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 #  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
 #  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 #  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 #  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 #  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
 #  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 #  SUCH DAMAGE.
 #  --------------------------------------------------------------------------

5. Time Zone Database

  ICU uses the public domain data and code derived from Time Zone
Database for its time zone support. The ownership of the TZ database
is explained in BCP 175: Procedure for Maintaining the Time Zone
Database section 7.

 # 7.  Database Ownership
 #
 #    The TZ database itself is not an IETF Contribution or an IETF
 #    document.  Rather it is a pre-existing and regularly updated work
 #    that is in the public domain, and is intended to remain in the
 #    public domain.  Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
 #    not apply to the TZ Database or contributions that individuals make
 #    to it.  Should any claims be made and substantiated against the TZ
 #    Database, the organization that is providing the IANA
 #    Considerations defined in this RFC, under the memorandum of
 #    understanding with the IETF, currently ICANN, may act in accordance
 #    with all competent court orders.  No ownership claims will be made
 #    by ICANN or the IETF Trust on the database or the code.  Any person
 #    making a contribution to the database or code waives all rights to
 #    future claims in that contribution or in the TZ Database.

6. Google double-conversion

Copyright 2006-2011, the V8 project authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of Google Inc. nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
share/icu/65.1/mkinstalldirs000075500000002041150470307370011630 0ustar00#! /bin/sh
# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
#  ********************************************************************
#  * COPYRIGHT:
#  * Copyright (c) 2002-2004, International Business Machines Corporation and
#  * others. All Rights Reserved.
#  ********************************************************************
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain

errstatus=0

for file
do
   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
   shift

   pathcomp=
   for d
   do
     pathcomp="$pathcomp$d"
     case "$pathcomp" in
       -* ) pathcomp=./$pathcomp ;;
     esac

     if test ! -d "$pathcomp"; then
        echo "mkdir $pathcomp"

        mkdir "$pathcomp" || lasterr=$?

        if test ! -d "$pathcomp"; then
  	  errstatus=$lasterr
        fi
     fi

     pathcomp="$pathcomp/"
   done
done

exit $errstatus

# mkinstalldirs ends here
share/icu/65.1/config/mh-linux000064400000004745150470307370011770 0ustar00## -*-makefile-*-
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html
## Linux-specific setup
## Copyright (c) 1999-2013, International Business Machines Corporation and
## others. All Rights Reserved.

## Commands to generate dependency files
GEN_DEPS.c=  $(CC) -E -MM $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)

## Flags for position independent code
SHAREDLIBCFLAGS = -fPIC
SHAREDLIBCXXFLAGS = -fPIC
SHAREDLIBCPPFLAGS = -DPIC

## Additional flags when building libraries and with threads
THREADSCPPFLAGS = -D_REENTRANT
LIBCPPFLAGS =

## Compiler switch to embed a runtime search path
LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN 
LD_RPATH_PRE = -Wl,-rpath,

## These are the library specific LDFLAGS
LDFLAGSICUDT=

## Compiler switch to embed a library name
# The initial tab in the next line is to prevent icu-config from reading it.
	LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
#SH# # We can't depend on MIDDLE_SO_TARGET being set.
#SH# LD_SONAME=

## Shared library options
LD_SOOPTIONS= -Wl,-Bsymbolic

## Shared object suffix
SO = so
## Non-shared intermediate object suffix
STATIC_O = ao

## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -o $@ $<)
%.o: $(srcdir)/%.c
	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS)) -o $@ $<)

%.$(STATIC_O): $(srcdir)/%.cpp
	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -o $@ $<)
%.o: $(srcdir)/%.cpp
	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS)) -o $@ $<)


## Dependency rules
%.d: $(srcdir)/%.c
	$(call ICU_MSG,(deps)) $<
	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

%.d: $(srcdir)/%.cpp
	$(call ICU_MSG,(deps)) $<
	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

## Versioned libraries rules

%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
	$(RM) $@ && ln -s ${<F} $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@

##  Bind internal references

# LDflags that pkgdata will use
BIR_LDFLAGS= -Wl,-Bsymbolic

# Dependencies [i.e. map files] for the final library
BIR_DEPS=

## Remove shared library 's'
STATIC_PREFIX_WHEN_USED = 
STATIC_PREFIX = 

## End Linux-specific setup

share/icu/65.1/install-sh000075500000012736150470307370011042 0ustar00#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission.  M.I.T. makes no representations about the
# suitability of this software for any purpose.  It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.  It can only install one file at a time, a restriction
# shared with many OS's install programs.


# set DOITPROG to echo to test this script

# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"


# put in absolute paths if you don't have them in your path; or use env. vars.

mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"

transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""

while [ x"$1" != x ]; do
    case $1 in
	-c) instcmd="$cpprog"
	    shift
	    continue;;

	-d) dir_arg=true
	    shift
	    continue;;

	-m) chmodcmd="$chmodprog $2"
	    shift
	    shift
	    continue;;

	-o) chowncmd="$chownprog $2"
	    shift
	    shift
	    continue;;

	-g) chgrpcmd="$chgrpprog $2"
	    shift
	    shift
	    continue;;

	-s) stripcmd="$stripprog"
	    shift
	    continue;;

	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
	    shift
	    continue;;

	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
	    shift
	    continue;;

	*)  if [ x"$src" = x ]
	    then
		src=$1
	    else
		# this colon is to work around a 386BSD /bin/sh bug
		:
		dst=$1
	    fi
	    shift
	    continue;;
    esac
done

if [ x"$src" = x ]
then
	echo "install:	no input file specified"
	exit 1
else
	true
fi

if [ x"$dir_arg" != x ]; then
	dst=$src
	src=""
	
	if [ -d $dst ]; then
		instcmd=:
		chmodcmd=""
	else
		instcmd=mkdir
	fi
else

# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad 
# if $src (and thus $dsttmp) contains '*'.

	if [ -f $src -o -d $src ]
	then
		true
	else
		echo "install:  $src does not exist"
		exit 1
	fi
	
	if [ x"$dst" = x ]
	then
		echo "install:	no destination specified"
		exit 1
	else
		true
	fi

# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic

	if [ -d $dst ]
	then
		dst="$dst"/`basename $src`
	else
		true
	fi
fi

## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`

# Make sure that the destination directory exists.
#  this part is taken from Noah Friedman's mkinstalldirs script

# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='	
'
IFS="${IFS-${defaultIFS}}"

oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"

pathcomp=''

while [ $# -ne 0 ] ; do
	pathcomp="${pathcomp}${1}"
	shift

	if [ ! -d "${pathcomp}" ] ;
        then
		$mkdirprog "${pathcomp}"
	else
		true
	fi

	pathcomp="${pathcomp}/"
done
fi

if [ x"$dir_arg" != x ]
then
	$doit $instcmd $dst &&

	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else

# If we're going to rename the final executable, determine the name now.

	if [ x"$transformarg" = x ] 
	then
		dstfile=`basename $dst`
	else
		dstfile=`basename $dst $transformbasename | 
			sed $transformarg`$transformbasename
	fi

# don't allow the sed command to completely eliminate the filename

	if [ x"$dstfile" = x ] 
	then
		dstfile=`basename $dst`
	else
		true
	fi

# Make a temp file name in the proper directory.

	dsttmp=$dstdir/#inst.$$#

# Move or copy the file name to the temp name

	$doit $instcmd $src $dsttmp &&

	trap "rm -f ${dsttmp}" 0 &&

# and set any options; do chmod last to preserve setuid bits

# If any of these fail, we abort the whole thing.  If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.

	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&

# Now rename the file to the real destination.

	$doit $rmcmd -f $dstdir/$dstfile &&
	$doit $mvcmd $dsttmp $dstdir/$dstfile 

fi &&


exit 0
share/doc/alt-libicu65-devel/samples/Makefile000064400000005755150470307370015036 0ustar00## Makefile.in for ICU samples
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Copyright (c) 1999-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Install directory information
srcdir = .
top_srcdir = ..

top_builddir = ..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples

## Platform-specific setup
include $(top_srcdir)/config/mh-linux

## Files to remove for 'make clean'
CLEANFILES = *~

SUBDIRS = date cal
ALLSUBDIRS = break case csdet datefmt msgfmt numfmt props translit ucnv udata ufortune uresb ustring citer uciter8 ugrep

## List of phony targets
.PHONY : all all-local all-recursive install install-local		\
install-recursive clean clean-local clean-recursive distclean		\
distclean-local distclean-recursive dist dist-recursive dist-local	\
check check-recursive check-local check-exhaustive

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-recursive all-local
install: install-recursive install-local
clean: clean-recursive clean-local
distclean : distclean-recursive distclean-local
dist: dist-recursive dist-local

all-samples: all-samples-recursive
clean-samples: clean-samples-recursive
check-samples: check-samples-recursive

# Note (srl 4/15/2002) do  NOT recursively check samples for 2.1, look into testing them in the future.
#check: all check-recursive check-local
check: all check-local

check-exhaustive: check

## Recursive targets
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive:
	@dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-local"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $$local_target) || exit; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) "$$target-local" || exit; \
	fi

all-samples-recursive check-samples-recursive clean-samples-recursive:
	@dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	subtarget=`echo $@ | sed s/-samples-recursive//`; \
	list='$(SUBDIRS) $(ALLSUBDIRS)'; for subdir in $$list; do \
	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$subtarget' in \`$$subdir'"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$subtarget-local"; \
	  else \
	    local_target="$$subtarget"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $$local_target) || exit; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) "$$subtarget-local" || exit; \
	fi


all-local:

install-local:

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)

check-local:

distclean-local: clean-local
	$(RMV) Makefile

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
share/doc/alt-libicu65-devel/samples/citer/Makefile000064400000001154150470307370016131 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2003-2005 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

# Name of your target
TARGET=citer

# All object files (C or C++)
OBJECTS=citer.o

# Load in standard makefile definitions
include ../defs.mk

LDFLAGS += $(LDFLAGS_USTDIO)

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/citer/citer.cpp000064400000012654150470307370016312 0ustar00/*
*******************************************************************************
*
*     © 2016 and later: Unicode, Inc. and others.
*     License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*     Copyright (C) 2002-2011, International Business Machines
*     Corporation and others.    All Rights Reserved.
*
*******************************************************************************
*/

#include "unicode/uchriter.h"
#include "unicode/schriter.h"
#include "unicode/ustring.h"
#include <stdio.h>
#include <unicode/brkiter.h>
#include <unicode/ustdio.h>
#include <stdlib.h>

static UFILE *out;

using icu::CharacterIterator;
using icu::StringCharacterIterator;
using icu::UCharCharacterIterator;
using icu::UnicodeString;

void printUnicodeString(const UnicodeString &s)
{
    u_fprintf(out, "%S", &s);
}

void printUChar(UChar32 ch)
{
    if(ch < 127) {
        u_fprintf(out, "%C", (UChar) ch);
    } else if (ch == CharacterIterator::DONE) {
        u_fprintf(out, "[CharacterIterator::DONE = 0xFFFF]");
    } else {
        u_fprintf(out, "[%X]", ch);
    }
}

class Test
{
public:
    void TestUChariter();
    void TestStringiter();
};

void Test::TestUChariter() {
    const char testChars[] = "Now is the time for all good men to come "
        "to the aid of their country.";

    UnicodeString testString(testChars,"");
    const UChar *testText = testString.getTerminatedBuffer();

    UCharCharacterIterator iter(testText, u_strlen(testText));
    UCharCharacterIterator* test2 = iter.clone();

    u_fprintf(out, "testText = %s", testChars);

    if (iter != *test2 ) {
        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
    }

    UnicodeString result1, result2;
    // getting and comparing the text within the iterators
    iter.getText(result1);
    test2->getText(result2);
    if (result1 != result2) {
        u_fprintf(out, "iter.getText() != clone.getText()\n");
    } 

    u_fprintf(out, "\n");

    // Demonstrates seeking forward using the iterator.
    u_fprintf(out, "Forward  = ");

    UChar c = iter.first();
    printUChar(c);    // The first char
    int32_t i = 0;

    if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
        u_fprintf(out, "startIndex() or endIndex() failed\n");
    }


    // Testing forward iteration...
    do {
        if (c == CharacterIterator::DONE && i != u_strlen(testText)) {
            u_fprintf(out, "Iterator reached end prematurely");
        }
        else if (c != testText[i]) {
            u_fprintf(out, "Character mismatch at position %d\n" + i);
        }
        if (iter.current() != c) {
            u_fprintf(out, "current() isn't working right");
        }
        if (iter.getIndex() != i) {
            u_fprintf(out, "getIndex() isn't working right\n");
        }
        if (c != CharacterIterator::DONE) {
            c = iter.next();
            i++;
        }

        u_fprintf(out, "|");
        printUChar(c);

    } while (c != CharacterIterator::DONE);        

    delete test2;
    u_fprintf(out, "\n");
}


void Test::TestStringiter() {
    const char testChars[] = "Now is the time for all good men to come "
        "to the aid of their country.";

    UnicodeString testString(testChars,"");
    const UChar *testText    = testString.getTerminatedBuffer();

    StringCharacterIterator iter(testText, u_strlen(testText));
    StringCharacterIterator* test2 = iter.clone();

    if (iter != *test2 ) {
        u_fprintf(out, "clone() or equals() failed: Two clones tested unequal\n");
    }

    UnicodeString result1, result2;
    // getting and comparing the text within the iterators
    iter.getText(result1);
    test2->getText(result2);
    if (result1 != result2) {
        u_fprintf(out, "getText() failed\n");
    }

    u_fprintf(out, "Backwards: ");

    UChar c = iter.last();
    int32_t i = iter.endIndex();

    printUChar(c);
    i--; // already printed out the last char 

    if (iter.startIndex() != 0 || iter.endIndex() != u_strlen(testText)) {
        u_fprintf(out, "startIndex() or endIndex() failed\n");
    }

    // Testing backward iteration over a range...
    do {
        if (c == CharacterIterator::DONE) {
            u_fprintf(out, "Iterator reached end prematurely\n");
        }
        else if (c != testText[i]) {
            u_fprintf(out, "Character mismatch at position %d\n", i);
        }
        if (iter.current() != c) {
            u_fprintf(out, "current() isn't working right\n");
        }
        if (iter.getIndex() != i) {
            u_fprintf(out, "getIndex() isn't working right [%d should be %d]\n", iter.getIndex(), i);
        }
        if (c != CharacterIterator::DONE) {
            c = iter.previous();
            i--;
        }

        u_fprintf(out, "|");
        printUChar(c);
    } while (c != CharacterIterator::DONE);

    u_fprintf(out, "\n");
    delete test2;
}

/* Creating and using text boundaries */
int main( void )
{
    UErrorCode status = U_ZERO_ERROR;

    out = u_finit(stdout, NULL, NULL);

    u_fprintf(out, "ICU Iteration Sample Program (C++)\n\n");

    Test t;

    u_fprintf(out, "\n");
    u_fprintf(out, "Test::TestUCharIter()\n");

    t.TestUChariter();

    u_fprintf(out, "-----\n");
    u_fprintf(out, "Test::TestStringchariter()\n");

    t.TestStringiter();

    u_fprintf(out, "-----\n");

    return 0;
}
share/doc/alt-libicu65-devel/samples/citer/citer.vcxproj.filters000064400000001604150470307370020663 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="citer.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/citer/citer.vcxproj000064400000017341150470307370017221 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{247E2681-6C84-408B-B40C-5DB50BC5E18F}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <MinimalRebuild>true</MinimalRebuild>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug\citer.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>$(OutDir)citer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <MinimalRebuild>true</MinimalRebuild>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug\citer.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>$(OutDir)citer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release\citer.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Console</SubSystem>
      <OptimizeReferences>true</OptimizeReferences>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release\citer.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Console</SubSystem>
      <OptimizeReferences>true</OptimizeReferences>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="citer.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/citer/readme.txt000064400000004256150470307370016475 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2003-2010, International Business Machines Corporation and others. All Rights Reserved.
citer: Character Iteration

This sample demonstrates
         Demonstrating ICU's CharacterIterator

         
Files:
    citer.cpp      Main source file in C++
    citer.sln      Windows MSVC workspace.  Double-click this to get started.
    citer.vcproj   Windows MSVC project file

To Build citer on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\citer\citer.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the citer directory, e.g.
            cd c:\icu\source\samples\citer\debug
            (note that it may be in a different relative directory than most of the other samples).
    4.  Run it
            citer

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/citer
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/citer
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           citer
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/defs.mk000064400000002250150470307370014633 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2002-2012 IBM, Inc. and others
# Sample code makefile definitions 

CLEANFILES=*~ $(TARGET).out
####################################################################
# Load ICU information. You can copy this to other makefiles #######
####################################################################
CC=$(shell icu-config --cc)
CXX=$(shell icu-config --cxx)
CPPFLAGS=$(shell icu-config --cppflags)
CFLAGS=$(shell icu-config --cflags)
CXXFLAGS=$(shell icu-config --cxxflags)
LDFLAGS =$^ $(shell icu-config --ldflags)
LDFLAGS_USTDIO =$(shell icu-config --ldflags-icuio)
INVOKE=$(shell icu-config --invoke)
GENRB=$(shell icu-config --invoke=genrb)
GENRBOPT=
PKGDATA=$(shell icu-config --invoke=pkgdata)
SO=$(shell icu-config --so)
PKGDATAOPTS=-r $(shell icu-config --version) -w -v -d .
# default - resources in same mode as ICU
RESMODE=$(shell icu-config --icudata-mode)

####################################################################
### Project independent things (common) 
### We depend on gmake for the bulk of the work 

RMV=rm -rf
share/doc/alt-libicu65-devel/samples/plurfmtsample/plurfmtsample.cpp000064400000010502150470307370021652 0ustar00/********************************************************************************
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html#License
********************************************************************************
********************************************************************************
* Copyright (C) 2008-2013, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************************
*/

//! [PluralFormatExample1]
#include <iostream>
#include "unicode/plurfmt.h"
#include "unicode/msgfmt.h"
#include "unicode/ustdio.h"
//! [PluralFormatExample1]

using namespace std;
using namespace icu;

static void PluralFormatExample() {
	  
	u_printf("=============================================================================\n");
	u_printf(" PluralFormatExample()\n");
    u_printf("\n");
    u_printf(" Use PluralFormat and Messageformat to get Plural Form for languages below:\n");
    u_printf(" English, Slovenian\n");
    u_printf("=============================================================================\n");
	
	//! [PluralFormatExample] 
	UErrorCode status =U_ZERO_ERROR; 
	Locale locEn = Locale("en");
    Locale locSl = Locale("sl");

    UnicodeString patEn = UnicodeString("one{dog} other{dogs}");                      // English 'dog'
    UnicodeString patSl = UnicodeString("one{pes} two{psa} few{psi} other{psov}");    // Slovenian translation of dog in Plural Form

    // Create a new PluralFormat for a given locale locale and pattern string
    PluralFormat plfmtEn = PluralFormat(locEn, patEn,status);
    PluralFormat plfmtSl = PluralFormat(locSl, patSl,status);
    // Constructs a MessageFormat for given pattern and locale.
    MessageFormat* msgfmtEn =  new MessageFormat("{0,number} {1}", locEn,status);
    MessageFormat* msgfmtSl =  new MessageFormat("{0,number} {1}", locSl,status);

	int numbers[] = {0, 1, 2, 3, 4, 5, 10, 100, 101, 102};
	u_printf("Output by using PluralFormat and MessageFormat API\n");
    u_printf("%-16s%-16s%-16s\n","Number", "English","Slovenian");
 
    // Use MessageFormat.format () to format the objects and append to the given StringBuffer
    for (int i=0;i<sizeof(numbers)/sizeof(int);i++) {
	      UnicodeString msgEn,msgSl;
		  FieldPosition fpos = 0;
		  Formattable argEn[]={Formattable(numbers[i]), Formattable(plfmtEn.format(numbers[i],status))};
		  Formattable argSl[]={Formattable(numbers[i]), Formattable(plfmtSl.format(numbers[i],status))};
		  msgfmtEn->format(argEn,2,msgEn,fpos,status);
		  msgfmtSl->format(argSl,2,msgSl,fpos,status);
  		  u_printf("%-16d%-16S%-16S\n", numbers[i], msgEn.getTerminatedBuffer(),msgSl.getTerminatedBuffer());
      }

     u_printf("\n");

      // Equivalent code with message format pattern
      UnicodeString msgPatEn = "{0,plural, one{# dog} other{# dogs}}";
      UnicodeString msgPatSl = "{0,plural, one{# pes} two{# psa} few{# psi} other{# psov}}";
 
	  MessageFormat* altMsgfmtEn = new MessageFormat(msgPatEn, locEn,status);
      MessageFormat* altMsgfmtSl = new MessageFormat(msgPatSl, locSl,status);
      u_printf("Same Output by using MessageFormat API only\n");
      u_printf("%-16s%-16s%-16s\n","Number", "English","Slovenian");
      for (int i=0;i<sizeof(numbers)/sizeof(int);i++) {
          UnicodeString msgEn,msgSl;
		  Formattable arg[] = {numbers[i]};
		  FieldPosition fPos =0;
		  altMsgfmtEn->format(arg, 1, msgEn, fPos, status);
          altMsgfmtSl->format(arg, 1, msgSl, fPos,status);
          u_printf("%-16d%-16S%-16S\n", numbers[i], msgEn.getTerminatedBuffer(), msgSl.getTerminatedBuffer());
      }

 	delete msgfmtEn;
	delete msgfmtSl;
	delete altMsgfmtEn;
	delete altMsgfmtSl;
	//! [PluralFormatExample]

	  /*  output of the sample code:
       ********************************************************************
        Number			English			Slovenian
        0				0 dogs			0 psov
        1				1 dog			1 pes
        2				2 dogs			2 psa
        3				3 dogs			3 psi
        4				4 dogs			4 psi
        5				5 dogs			5 psov
        10				10 dogs			10 psov
        100				100 dogs		100 psov
        101				101 dogs		101 pes
        102				102 dogs		102 psa

      *********************************************************************/
}
int main (int argc, char* argv[])
{
	PluralFormatExample();
	return 0;
}
share/doc/alt-libicu65-devel/samples/plurfmtsample/plurfmtsample.vcxproj.filters000064400000001655150470307370024243 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="plurfmtsample.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/plurfmtsample/plurfmtsample.vcxproj000064400000016306150470307370022573 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{B500B731-ED1A-4761-94ED-B22DFE25FF2B}</ProjectGuid>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>.\x64\Debug\</OutDir>
    <IntDir>.\x64\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>.\x64\Release\</OutDir>
    <IntDir>.\x64\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x86\Debug\plurfmtsample.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x64\Debug\plurfmtsample.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <OutputFile>.\x86\Release\plurfmtsample.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <OutputFile>.\x64\Release\plurfmtsample.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="plurfmtsample.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/datecal/Makefile000064400000001217150470307370016420 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2006 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=datecal

# All object files (C or C++)
OBJECTS=cal.o ccal.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

LDFLAGS += $(LDFLAGS_USTDIO)

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/datecal/cal.cpp000064400000003603150470307370016224 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2002-2012, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#include "unicode/calendar.h"
#include "unicode/gregocal.h"
#include <stdio.h>

extern "C" void c_main();

void cpp_main()
{
  UErrorCode status = U_ZERO_ERROR;
  puts("C++ sample");
  GregorianCalendar* gc = new GregorianCalendar(status);
  if (U_FAILURE(status)) {
    puts("Couldn't create GregorianCalendar");
    return;
  }
  /* set up the date */
  gc->set(2000, UCAL_FEBRUARY, 26);
  gc->set(UCAL_HOUR_OF_DAY, 23);
  gc->set(UCAL_MINUTE, 0);
  gc->set(UCAL_SECOND, 0);
  gc->set(UCAL_MILLISECOND, 0);
  /* Iterate through the days and print it out. */
  for (int32_t i = 0; i < 30; i++) {
    /* print out the date. */
    /* You should use the DateFormat to properly format it */
    printf("year: %d, month: %d (%d in the implementation), day: %d\n",
           gc->get(UCAL_YEAR, status),
           gc->get(UCAL_MONTH, status) + 1,
           gc->get(UCAL_MONTH, status),
           gc->get(UCAL_DATE, status));
    if (U_FAILURE(status))
      {
        puts("Calendar::get failed");
        return;
      }
    /* Add a day to the date */
    gc->add(UCAL_DATE, 1, status);
    if (U_FAILURE(status)) {
      puts("Calendar::add failed");
      return;
    }
  }
  delete gc;
}
                

/* Creating and using text boundaries */
int main( void )
{
  puts("Date-Calendar sample program");

  cpp_main();

  c_main();

  return 0;
}

share/doc/alt-libicu65-devel/samples/datecal/ccal.c000064400000003752150470307370016034 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2002-2003, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#include "unicode/ucal.h"
#include <stdio.h>

void c_main()
{
  puts("----");
  puts("C Sample");

UErrorCode status = U_ZERO_ERROR;
int32_t i;
UCalendar *cal = ucal_open(NULL, -1, NULL, UCAL_GREGORIAN, &status);
if (U_FAILURE(status)) {
      puts("Couldn't create GregorianCalendar");
      return;
      }
      /* set up the date */
      ucal_set(cal, UCAL_YEAR, 2000);
      ucal_set(cal, UCAL_MONTH, UCAL_FEBRUARY);   /* FEBRUARY */
      ucal_set(cal, UCAL_DATE, 26);
      ucal_set(cal, UCAL_HOUR_OF_DAY, 23);
      ucal_set(cal, UCAL_MINUTE, 0);
      ucal_set(cal, UCAL_SECOND, 0);
      ucal_set(cal, UCAL_MILLISECOND, 0);
      /* Iterate through the days and print it out. */
      for (i = 0; i < 30; i++) {
          /* print out the date. */
          /* You should use the udat_* API to properly format it */
          printf("year: %d, month: %d (%d in the implementation), day: %d\n",
              ucal_get(cal, UCAL_YEAR, &status),
              ucal_get(cal, UCAL_MONTH, &status) + 1,
              ucal_get(cal, UCAL_MONTH, &status),
              ucal_get(cal, UCAL_DATE, &status));
          if (U_FAILURE(status)) {
          puts("Calendar::get failed");
          return;
          }
          /* Add a day to the date */
          ucal_add(cal, UCAL_DATE, 1, &status);
          if (U_FAILURE(status))
          {
              puts("Calendar::add failed");
              return;
          }
      }
      ucal_close(cal);  
}
share/doc/alt-libicu65-devel/samples/coll/Makefile000064400000001150150470307400015742 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=coll

# All object files (C or C++)
OBJECTS=coll.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/coll/coll.sln000064400000002256150470307400015761 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coll", "coll.vcxproj", "{7664D0D2-0263-4BFB-AE19-9A1CAD231440}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.ActiveCfg = Debug|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.Build.0 = Debug|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.ActiveCfg = Release|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.Build.0 = Release|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/coll/coll.vcxproj.filters000064400000001557150470307400020332 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{cf7099c6-0d28-448a-bc7c-2e6dbaff530f}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{a5fd1af4-2570-4018-a6cf-c4e8b05cb316}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{719754c2-1947-46e6-9154-ba81ca673139}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="coll.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/coll/coll.vcxproj000064400000022656150470307400016666 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{7664D0D2-0263-4BFB-AE19-9A1CAD231440}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/coll.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/coll.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/coll.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/coll.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/coll.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/coll.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/coll.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/coll.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/coll.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/coll.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/coll.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/coll.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/coll.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/coll.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/coll.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/coll.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="coll.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/coll/coll.cpp000064400000020247150470307400015747 0ustar00/*************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (C) 2002-2006 IBM, Inc.   All Rights Reserved.
 *
 *************************************************************************/

/** 
 * This program demos string collation
 */

const char gHelpString[] =
    "usage: coll [options*] -source source_string -target target_string\n"
    "-help            Display this message.\n"
    "-locale name     ICU locale to use.  Default is en_US\n"
    "-rules rule      Collation rules file (overrides locale)\n"
    "-french          French accent ordering\n"
    "-norm            Normalizing mode on\n"
    "-shifted         Shifted mode\n"
    "-lower           Lower case first\n"
    "-upper           Upper case first\n"
    "-case            Enable separate case level\n"
    "-level n         Sort level, 1 to 5, for Primary, Secondary, Tertiary, Quaternary, Identical\n"
	"-source string   Source string for comparison\n"
	"-target string   Target string for comparison\n"
    "Example coll -rules \\u0026b\\u003ca -source a -target b\n"
	"The format \\uXXXX is supported for the rules and comparison strings\n"
	;

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <unicode/utypes.h>
#include <unicode/ucol.h>
#include <unicode/ustring.h>

/** 
 * Command line option variables
 *    These global variables are set according to the options specified
 *    on the command line by the user.
 */
char * opt_locale     = "en_US";
char * opt_rules      = 0;
UBool  opt_help       = FALSE;
UBool  opt_norm       = FALSE;
UBool  opt_french     = FALSE;
UBool  opt_shifted    = FALSE;
UBool  opt_lower      = FALSE;
UBool  opt_upper      = FALSE;
UBool  opt_case       = FALSE;
int    opt_level      = 0;
char * opt_source     = "abc";
char * opt_target     = "abd";
UCollator * collator  = 0;

/** 
 * Definitions for the command line options
 */
struct OptSpec {
    const char *name;
    enum {FLAG, NUM, STRING} type;
    void *pVar;
};

OptSpec opts[] = {
    {"-locale",      OptSpec::STRING, &opt_locale},
    {"-rules",       OptSpec::STRING, &opt_rules},
	{"-source",      OptSpec::STRING, &opt_source},
    {"-target",      OptSpec::STRING, &opt_target},
    {"-norm",        OptSpec::FLAG,   &opt_norm},
    {"-french",      OptSpec::FLAG,   &opt_french},
    {"-shifted",     OptSpec::FLAG,   &opt_shifted},
    {"-lower",       OptSpec::FLAG,   &opt_lower},
    {"-upper",       OptSpec::FLAG,   &opt_upper},
    {"-case",        OptSpec::FLAG,   &opt_case},
    {"-level",       OptSpec::NUM,    &opt_level},
    {"-help",        OptSpec::FLAG,   &opt_help},
    {"-?",           OptSpec::FLAG,   &opt_help},
    {0, OptSpec::FLAG, 0}
};

/**  
 * processOptions()  Function to read the command line options.
 */
UBool processOptions(int argc, const char **argv, OptSpec opts[])
{
    for (int argNum = 1; argNum < argc; argNum ++) {
        const char *pArgName = argv[argNum];
        OptSpec *pOpt;
        for (pOpt = opts;  pOpt->name != 0; pOpt ++) {
            if (strcmp(pOpt->name, pArgName) == 0) {
                switch (pOpt->type) {
                case OptSpec::FLAG:
                    *(UBool *)(pOpt->pVar) = TRUE;
                    break;
                case OptSpec::STRING:
                    argNum ++;
                    if (argNum >= argc) {
                        fprintf(stderr, "value expected for \"%s\" option.\n", 
							    pOpt->name);
                        return FALSE;
                    }
                    *(const char **)(pOpt->pVar) = argv[argNum];
                    break;
                case OptSpec::NUM:
                    argNum ++;
                    if (argNum >= argc) {
                        fprintf(stderr, "value expected for \"%s\" option.\n", 
							    pOpt->name);
                        return FALSE;
                    }
                    char *endp;
                    int i = strtol(argv[argNum], &endp, 0);
                    if (endp == argv[argNum]) {
                        fprintf(stderr, 
							    "integer value expected for \"%s\" option.\n", 
								pOpt->name);
                        return FALSE;
                    }
                    *(int *)(pOpt->pVar) = i;
                }
                break;
            }
        }
        if (pOpt->name == 0)
        {
            fprintf(stderr, "Unrecognized option \"%s\"\n", pArgName);
            return FALSE;
        }
    }
	return TRUE;
}

/**
 * ICU string comparison
 */
int strcmp() 
{
	UChar source[100];
	UChar target[100];
	u_unescape(opt_source, source, 100);
	u_unescape(opt_target, target, 100);
    UCollationResult result = ucol_strcoll(collator, source, -1, target, -1);
    if (result == UCOL_LESS) {
		return -1;
	}
    else if (result == UCOL_GREATER) {
		return 1;
	}
	return 0;
}

/**
 * Creates a collator
 */
UBool processCollator()
{
	// Set up an ICU collator
    UErrorCode status = U_ZERO_ERROR;
	UChar rules[100];

    if (opt_rules != 0) {
		u_unescape(opt_rules, rules, 100);
        collator = ucol_openRules(rules, -1, UCOL_OFF, UCOL_TERTIARY, 
			                  NULL, &status);
    }
    else {
        collator = ucol_open(opt_locale, &status);
    }
	if (U_FAILURE(status)) {
        fprintf(stderr, "Collator creation failed.: %d\n", status);
        return FALSE;
    }
    if (status == U_USING_DEFAULT_WARNING) {
        fprintf(stderr, "Warning, U_USING_DEFAULT_WARNING for %s\n", 
			    opt_locale);
    }
    if (status == U_USING_FALLBACK_WARNING) {
        fprintf(stderr, "Warning, U_USING_FALLBACK_ERROR for %s\n", 
			    opt_locale);
    }
    if (opt_norm) {
        ucol_setAttribute(collator, UCOL_NORMALIZATION_MODE, UCOL_ON, &status);
    }
    if (opt_french) {
        ucol_setAttribute(collator, UCOL_FRENCH_COLLATION, UCOL_ON, &status);
    }
    if (opt_lower) {
        ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_LOWER_FIRST, 
			              &status);
    }
    if (opt_upper) {
        ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_UPPER_FIRST, 
			              &status);
    }
    if (opt_case) {
        ucol_setAttribute(collator, UCOL_CASE_LEVEL, UCOL_ON, &status);
    }
    if (opt_shifted) {
        ucol_setAttribute(collator, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, 
			              &status);
    }
    if (opt_level != 0) {
        switch (opt_level) {
        case 1:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_PRIMARY, &status);
            break;
        case 2:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_SECONDARY, 
				              &status);
            break;
        case 3:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_TERTIARY, &status);
            break;
        case 4:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_QUATERNARY, 
				              &status);
            break;
        case 5:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_IDENTICAL, 
				              &status);
            break;
        default:
            fprintf(stderr, "-level param must be between 1 and 5\n");
            return FALSE;
        }
    }
    if (U_FAILURE(status)) {
        fprintf(stderr, "Collator attribute setting failed.: %d\n", status);
        return FALSE;
    }
	return TRUE;
}

/** 
 * Main   --  process command line, read in and pre-process the test file,
 *            call other functions to do the actual tests.
 */
int main(int argc, const char** argv) 
{
    if (processOptions(argc, argv, opts) != TRUE || opt_help) {
        printf(gHelpString);
        return -1;
    }

    if (processCollator() != TRUE) {
		fprintf(stderr, "Error creating collator for comparison\n");
		return -1;
	}

	fprintf(stdout, "Comparing source=%s and target=%s\n", opt_source,
			opt_target);
	int result = strcmp();
	if (result == 0) {
		fprintf(stdout, "source is equals to target\n"); 
	}
	else if (result < 0) {
		fprintf(stdout, "source is less than target\n"); 
	}
	else {
		fprintf(stdout, "source is greater than target\n"); 
	}
	
	ucol_close(collator);
	return 0;
}
share/doc/alt-libicu65-devel/samples/coll/readme.txt000064400000004244150470307400016307 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
coll: a sample program which compares 2 strings with a user-defined collator.

This sample demonstrates
         Creating a user-defined collator
         Comparing 2 string using the collator created
         
Files:
    coll.c                      Main source file
    coll.sln                    Windows MSVC workspace.  Double-click this to get started.
    coll.vcproj                 Windows MSVC project file

To Build coll on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\coll\coll.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the coll directory, e.g.
            cd c:\icu\source\samples\coll\debug
    4.  Run it
            coll [options*] -source source_string -target target_string

To Build on Unixes
    1.  Build ICU.  coll is built automatically by default unless samples are turned off.
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
 To Run on Unixes
           cd <icu directory>/source/samples/coll
           
           gmake check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           cal
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/translit/util.h000064400000001560150470307400016344 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg);

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source);

// Print the given string to stdout
void uprintf(const UnicodeString &str);
share/doc/alt-libicu65-devel/samples/translit/Makefile000064400000001176150470307400016661 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2003 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=translit

# All object files (C or C++)
OBJECTS=main.o unaccent.o util.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/translit/translit.vcxproj000064400000022175150470307400020500 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{D1BEC124-303A-4F44-BA70-55769B8FE96A}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/translit.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/translit.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/translit.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/translit.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/translit.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/translit.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/translit.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/translit.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/translit.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/translit.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/translit.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/translit.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/translit.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/translit.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/translit.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/translit.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp" />
    <ClCompile Include="unaccent.cpp" />
    <ClCompile Include="util.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="unaccent.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/translit/answers/main_3.cpp000064400000007020150470307400020547 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/rbt.h"
#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"
#include "unaccent.h"

// RuleBasedTransliterator rules to remove accents from characters
// so they can be displayed as ASCIIx
UnicodeString UNACCENT_RULES(
    "[\\u00C0-\\u00C5] > A;"
    "[\\u00C8-\\u00CB] > E;"
    "[\\u00CC-\\u00CF] > I;"
    "[\\u00E0-\\u00E5] > a;"
    "[\\u00E8-\\u00EB] > e;"
    "[\\u00EC-\\u00EF] > i;"
    );

int main(int argc, char **argv) {

    Calendar *cal;
    DateFormat *fmt;
    DateFormat *defFmt;
    Transliterator *greek_latin;
    Transliterator *rbtUnaccent;
    UErrorCode status = U_ZERO_ERROR;
    Locale greece("el", "GR");
    UnicodeString str, str2;

    // Create a calendar in the Greek locale
    cal = Calendar::createInstance(greece, status);
    check(status, "Calendar::createInstance");

    // Create a formatter
    fmt = DateFormat::createDateInstance(DateFormat::kFull, greece);
    fmt->setCalendar(*cal);

    // Create a default formatter
    defFmt = DateFormat::createDateInstance(DateFormat::kFull);
    defFmt->setCalendar(*cal);

    // Create a Greek-Latin Transliterator
    greek_latin = Transliterator::createInstance("Greek-Latin");
    if (greek_latin == 0) {
        printf("ERROR: Transliterator::createInstance() failed\n");
        exit(1);
    }

    // Create a custom Transliterator
    rbtUnaccent = new RuleBasedTransliterator("RBTUnaccent",
                                              UNACCENT_RULES,
                                              UTRANS_FORWARD,
                                              status);
    check(status, "RuleBasedTransliterator::ct");

    // Loop over various months
    for (int32_t month = Calendar::JANUARY;
         month <= Calendar::DECEMBER;
         ++month) {

        // Set the calendar to a date
        cal->clear();
        cal->set(1999, month, 4);
        
        // Format the date in default locale
        str.remove();
        defFmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Format the date for Greece
        str.remove();
        fmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Greek formatted date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        greek_latin->transliterate(str);
        printf("Transliterated via Greek-Latin: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        str2 = str;
        rbtUnaccent->transliterate(str);
        printf("Transliterated via RBT unaccent: ");
        uprintf(escape(str));
        printf("\n\n");
    }

    // Clean up
    delete fmt;
    delete cal;
    delete greek_latin;
    delete rbtUnaccent;

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/translit/answers/main_4.cpp000064400000007460150470307400020560 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/rbt.h"
#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"
#include "unaccent.h"

// RuleBasedTransliterator rules to remove accents from characters
// so they can be displayed as ASCIIx
UnicodeString UNACCENT_RULES(
    "[\\u00C0-\\u00C5] > A;"
    "[\\u00C8-\\u00CB] > E;"
    "[\\u00CC-\\u00CF] > I;"
    "[\\u00E0-\\u00E5] > a;"
    "[\\u00E8-\\u00EB] > e;"
    "[\\u00EC-\\u00EF] > i;"
    );

int main(int argc, char **argv) {

    Calendar *cal;
    DateFormat *fmt;
    DateFormat *defFmt;
    Transliterator *greek_latin;
    Transliterator *rbtUnaccent;
    Transliterator *unaccent;
    UErrorCode status = U_ZERO_ERROR;
    Locale greece("el", "GR");
    UnicodeString str, str2;

    // Create a calendar in the Greek locale
    cal = Calendar::createInstance(greece, status);
    check(status, "Calendar::createInstance");

    // Create a formatter
    fmt = DateFormat::createDateInstance(DateFormat::kFull, greece);
    fmt->setCalendar(*cal);

    // Create a default formatter
    defFmt = DateFormat::createDateInstance(DateFormat::kFull);
    defFmt->setCalendar(*cal);

    // Create a Greek-Latin Transliterator
    greek_latin = Transliterator::createInstance("Greek-Latin");
    if (greek_latin == 0) {
        printf("ERROR: Transliterator::createInstance() failed\n");
        exit(1);
    }

    // Create a custom Transliterator
    rbtUnaccent = new RuleBasedTransliterator("RBTUnaccent",
                                              UNACCENT_RULES,
                                              UTRANS_FORWARD,
                                              status);
    check(status, "RuleBasedTransliterator::ct");

    // Create a custom Transliterator
    unaccent = new UnaccentTransliterator();

    // Loop over various months
    for (int32_t month = Calendar::JANUARY;
         month <= Calendar::DECEMBER;
         ++month) {

        // Set the calendar to a date
        cal->clear();
        cal->set(1999, month, 4);
        
        // Format the date in default locale
        str.remove();
        defFmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Format the date for Greece
        str.remove();
        fmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Greek formatted date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        greek_latin->transliterate(str);
        printf("Transliterated via Greek-Latin: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        str2 = str;
        rbtUnaccent->transliterate(str);
        printf("Transliterated via RBT unaccent: ");
        uprintf(escape(str));
        printf("\n");

        unaccent->transliterate(str2);
        printf("Transliterated via normalizer unaccent: ");
        uprintf(escape(str2));
        printf("\n\n");
    }

    // Clean up
    delete fmt;
    delete cal;
    delete greek_latin;
    delete unaccent;
    delete rbtUnaccent;

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/translit/answers/main_2.cpp000064400000005202150470307400020546 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/rbt.h"
#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"
#include "unaccent.h"

int main(int argc, char **argv) {

    Calendar *cal;
    DateFormat *fmt;
    DateFormat *defFmt;
    Transliterator *greek_latin;
    UErrorCode status = U_ZERO_ERROR;
    Locale greece("el", "GR");
    UnicodeString str, str2;

    // Create a calendar in the Greek locale
    cal = Calendar::createInstance(greece, status);
    check(status, "Calendar::createInstance");

    // Create a formatter
    fmt = DateFormat::createDateInstance(DateFormat::kFull, greece);
    fmt->setCalendar(*cal);

    // Create a default formatter
    defFmt = DateFormat::createDateInstance(DateFormat::kFull);
    defFmt->setCalendar(*cal);

    // Create a Greek-Latin Transliterator
    greek_latin = Transliterator::createInstance("Greek-Latin");
    if (greek_latin == 0) {
        printf("ERROR: Transliterator::createInstance() failed\n");
        exit(1);
    }

    // Loop over various months
    for (int32_t month = Calendar::JANUARY;
         month <= Calendar::DECEMBER;
         ++month) {

        // Set the calendar to a date
        cal->clear();
        cal->set(1999, month, 4);
        
        // Format the date in default locale
        str.remove();
        defFmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Format the date for Greece
        str.remove();
        fmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Greek formatted date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        greek_latin->transliterate(str);
        printf("Transliterated via Greek-Latin: ");
        uprintf(escape(str));
        printf("\n\n");
    }

    // Clean up
    delete fmt;
    delete cal;
    delete greek_latin;

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/translit/answers/main_1.cpp000064400000004253150470307400020552 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/rbt.h"
#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"
#include "unaccent.h"

int main(int argc, char **argv) {

    Calendar *cal;
    DateFormat *fmt;
    DateFormat *defFmt;
    UErrorCode status = U_ZERO_ERROR;
    Locale greece("el", "GR");
    UnicodeString str, str2;

    // Create a calendar in the Greek locale
    cal = Calendar::createInstance(greece, status);
    check(status, "Calendar::createInstance");

    // Create a formatter
    fmt = DateFormat::createDateInstance(DateFormat::kFull, greece);
    fmt->setCalendar(*cal);

    // Create a default formatter
    defFmt = DateFormat::createDateInstance(DateFormat::kFull);
    defFmt->setCalendar(*cal);

    // Loop over various months
    for (int32_t month = Calendar::JANUARY;
         month <= Calendar::DECEMBER;
         ++month) {

        // Set the calendar to a date
        cal->clear();
        cal->set(1999, month, 4);
        
        // Format the date in default locale
        str.remove();
        defFmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Format the date for Greece
        str.remove();
        fmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Greek formatted date: ");
        uprintf(escape(str));
        printf("\n\n");
    }

    // Clean up
    delete fmt;
    delete cal;

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/translit/answers/unaccent.cpp000064400000003202150470307400021177 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unaccent.h"

/**
 * Constructor
 */
UnaccentTransliterator::UnaccentTransliterator() :
    normalizer("", Normalizer::DECOMP),
    Transliterator("Unaccent", 0) {
}

/**
 * Destructor
 */
UnaccentTransliterator::~UnaccentTransliterator() {
}

/**
 * Remove accents from a character using Normalizer.
 */
UChar UnaccentTransliterator::unaccent(UChar c) const {
    UnicodeString str(c);
    UErrorCode status = U_ZERO_ERROR;
    UnaccentTransliterator* t = (UnaccentTransliterator*)this;

    t->normalizer.setText(str, status);
    if (U_FAILURE(status)) {
        return c;
    }
    return (UChar) t->normalizer.next();
}

/**
 * Implement Transliterator API
 */
void UnaccentTransliterator::handleTransliterate(Replaceable& text,
                                                 UTransPosition& index,
                                                 UBool incremental) const {
    UnicodeString str("a");
    while (index.start < index.limit) {
        UChar c = text.charAt(index.start);
        UChar d = unaccent(c);
        if (c != d) {
            str.setCharAt(0, d);
            text.handleReplaceBetween(index.start, index.start+1, str);
        }
        index.start++;
    }
}
share/doc/alt-libicu65-devel/samples/translit/answers/unaccent.h000064400000002262150470307400020651 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/normlzr.h"

class UnaccentTransliterator : public Transliterator {
    
 public:
    
    /**
     * Constructor
     */
    UnaccentTransliterator();

    /**
     * Destructor
     */
    virtual ~UnaccentTransliterator();

 protected:

    /**
     * Implement Transliterator API
     */
    virtual void handleTransliterate(Replaceable& text,
                                     UTransPosition& index,
                                     UBool incremental) const;

 private:

    /**
     * Unaccent a single character using normalizer.
     */
    UChar unaccent(UChar c) const;

    Normalizer normalizer;
};
share/doc/alt-libicu65-devel/samples/translit/translit.sln000064400000002266150470307400017600 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translit", "translit.vcxproj", "{D1BEC124-303A-4F44-BA70-55769B8FE96A}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.ActiveCfg = Debug|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|Win32.Build.0 = Debug|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.ActiveCfg = Debug|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.Build.0 = Debug|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.ActiveCfg = Release|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|Win32.Build.0 = Release|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.ActiveCfg = Release|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/translit/README.TXT000064400000007523150470307400016561 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.


IMPORTANT:

This sample was originally intended as an exercise for the ICU Workshop (September 2000).
The code currently provided in the solution file is the answer to the exercises, each step can still be found in the 'answers' subdirectory.



  http://www.icu-project.org/docs/workshop_2000/agenda.html

  Day 2: September 12th 2000
  Pre-requisite:
  1. All the hardware and software requirements from Day 1.
  2. Attended or fully understand Day 1 material.
  3. Read through the ICU user's guide at
  http://www.icu-project.org/userguide/.

  #Transformation Support
  10:45am - 12:00pm
  Alan Liu

  Topics:
  1. What is the Unicode normalization?
  2. What kind of case mapping support is available in ICU?
  3. What is Transliteration and how do I use a Transliterator on a document?
  4. How do I add my own Transliterator?


INSTRUCTIONS
------------

This exercise was developed and tested on ICU release 1.6.0, Win32,
Microsoft Visual C++ 6.0.  It should work on other ICU releases and
other platforms as well.

 MSVC:
   Open the file "translit.sln" in Microsoft Visual C++.

 Unix:
   - Build and install ICU with a prefix, for example '--prefix=/home/srl/ICU'
   - Set the variable  ICU_PREFIX=/home/srl/ICU and use GNU make in 
        this directory.
   - You may use 'make check' to invoke this sample.


PROBLEMS
--------

Problem 0:

  To start with, the program prints out a series of dates formatted in
  Greek.  Set up the program, build it, and run it.

Problem 1: Basic Transliterator (Easy)

  The Greek text shows up almost entirely as Unicode escapes.  These
  are unreadable on a US machine.  Use an existing system
  transliterator to transliterate the Greek text to Latin so it can be
  phonetically read on a US machine.  If you don't know the names of
  the system transliterators, use Transliterator::getAvailableID() and
  Transliterator::countAvailableIDs(), or look directly in the index
  table icu/data/translit_index.txt.

Problem 2: RuleBasedTransliterator (Medium)

  Some of the text is still unreadable and shows up as Unicode escape
  sequences.  Create a RuleBasedTransliterator to change the
  unreadable characters to close ASCII equivalents.  For example, the
  rule "\u00C0 > A;" will change an 'A' with a grave accent to a plain
  'A'.

  To save typing, use UnicodeSets to handle ranges of characters.

  See the included file "U0080.pdf" for a table of the U+00C0 to U+00FF
  Unicode block.

Problem 3: Transliterator subclassing; Normalizer (Difficult)

  The rule-based approach is flexible and, in most cases, the best
  choice for creating a new transliterator.  Sometimes, however, a
  more elegant algorithmic solution is available.  Instead of typing
  in a list of rules, you can write C++ code to accomplish the desired
  transliteration.

  Use a Normalizer to remove accents from characters.  You will need
  to convert each character to a sequence of base and combining
  characters by applying a canonical denormalization transformation.
  Then discard the combining characters (the accents etc.) leaving the
  base character.  Wrap this all up in a subclass of the
  Transliterator class that overrides the pure virtual
  handleTransliterate() method.


ANSWERS
-------

The exercise includes answers.  These are in the "answers" directory,
and are numbered 1, 2, etc.  In some cases new files that the user
needs to create are included in the answers directory.

If you get stuck and you want to move to the next step, copy the
answers file into the main directory in order to proceed.  E.g.,
"main_1.cpp" contains the original "main.cpp" file.  "main_2.cpp"
contains the "main.cpp" file after problem 1.  Etc.


Have fun!
share/doc/alt-libicu65-devel/samples/translit/main.cpp000064400000007660150470307400016655 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
//#include "unicode/rbt.h"
#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"
#include "unaccent.h"

// RuleBasedTransliterator rules to remove accents from characters
// so they can be displayed as ASCIIx
UnicodeString UNACCENT_RULES(
    "[\\u00C0-\\u00C5] > A;"
    "[\\u00C8-\\u00CB] > E;"
    "[\\u00CC-\\u00CF] > I;"
    "[\\u00E0-\\u00E5] > a;"
    "[\\u00E8-\\u00EB] > e;"
    "[\\u00EC-\\u00EF] > i;"
    );

int main(int argc, char **argv) {

    Calendar *cal;
    DateFormat *fmt;
    DateFormat *defFmt;
    Transliterator *greek_latin;
    Transliterator *rbtUnaccent;
    Transliterator *unaccent;
    UParseError pError;
    UErrorCode status = U_ZERO_ERROR;
    Locale greece("el", "GR");
    UnicodeString str, str2;

    // Create a calendar in the Greek locale
    cal = Calendar::createInstance(greece, status);
    check(status, "Calendar::createInstance");

    // Create a formatter
    fmt = DateFormat::createDateInstance(DateFormat::kFull, greece);
    fmt->setCalendar(*cal);

    // Create a default formatter
    defFmt = DateFormat::createDateInstance(DateFormat::kFull);
    defFmt->setCalendar(*cal);

    // Create a Greek-Latin Transliterator
    greek_latin = Transliterator::createInstance("Greek-Latin", UTRANS_FORWARD, status);
    if (greek_latin == 0) {
        printf("ERROR: Transliterator::createInstance() failed\n");
        exit(1);
    }

    // Create a custom Transliterator
    rbtUnaccent = Transliterator::createFromRules("RBTUnaccent",
                                                  UNACCENT_RULES,
                                                  UTRANS_FORWARD,
                                                  pError,
                                                  status);
    check(status, "Transliterator::createFromRules");

    // Create a custom Transliterator
    unaccent = new UnaccentTransliterator();

    // Loop over various months
    for (int32_t month = Calendar::JANUARY;
         month <= Calendar::DECEMBER;
         ++month) {

        // Set the calendar to a date
        cal->clear();
        cal->set(1999, month, 4);
        
        // Format the date in default locale
        str.remove();
        defFmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Format the date for Greece
        str.remove();
        fmt->format(cal->getTime(status), str, status);
        check(status, "DateFormat::format");
        printf("Greek formatted date: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        greek_latin->transliterate(str);
        printf("Transliterated via Greek-Latin: ");
        uprintf(escape(str));
        printf("\n");
        
        // Transliterate result
        str2 = str;
        rbtUnaccent->transliterate(str);
        printf("Transliterated via RBT unaccent: ");
        uprintf(escape(str));
        printf("\n");

        unaccent->transliterate(str2);
        printf("Transliterated via normalizer unaccent: ");
        uprintf(escape(str2));
        printf("\n\n");
    }

    // Clean up
    delete fmt;
    delete cal;
    delete greek_latin;
    delete unaccent;
    delete rbtUnaccent;

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/translit/unaccent.cpp000064400000003361150470307400017523 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 **********************************************************************
 **********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 **********************************************************************/

#include "unaccent.h"

const char UnaccentTransliterator::fgClassID = 0;

/**
 * Constructor
 */
UnaccentTransliterator::UnaccentTransliterator() :
    normalizer("", UNORM_NFD),
    Transliterator("Unaccent", 0) {
}

/**
 * Destructor
 */
UnaccentTransliterator::~UnaccentTransliterator() {
}

/**
 * Remove accents from a character using Normalizer.
 */
UChar UnaccentTransliterator::unaccent(UChar c) const {
    UnicodeString str(c);
    UErrorCode status = U_ZERO_ERROR;
    UnaccentTransliterator* t = (UnaccentTransliterator*)this;

    t->normalizer.setText(str, status);
    if (U_FAILURE(status)) {
        return c;
    }
    return (UChar) t->normalizer.next();
}

/**
 * Implement Transliterator API
 */
void UnaccentTransliterator::handleTransliterate(Replaceable& text,
                                                 UTransPosition& index,
                                                 UBool incremental) const {
    UnicodeString str("a");
    while (index.start < index.limit) {
        UChar c = text.charAt(index.start);
        UChar d = unaccent(c);
        if (c != d) {
            str.setCharAt(0, d);
            text.handleReplaceBetween(index.start, index.start+1, str);
        }
        index.start++;
    }
}
share/doc/alt-libicu65-devel/samples/translit/util.cpp000064400000004372150470307400016703 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2010, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include <stdio.h>
#include <stdlib.h>

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg) {
    if (U_FAILURE(status)) {
        printf("ERROR: %s (%s)\n", u_errorName(status), msg);
        exit(1);
    }
    // printf("Ok: %s\n", msg);
}
                                                      
// Append a hex string to the target
static UnicodeString& appendHex(uint32_t number, 
                         int8_t digits, 
                         UnicodeString& target) {
    static const UnicodeString DIGIT_STRING("0123456789ABCDEF");
    while (digits > 0) {
        target += DIGIT_STRING[(number >> ((--digits) * 4)) & 0xF];
    }
    return target;
}

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source) {
    int32_t i;
    UnicodeString target;
    target += "\"";
    for (i=0; i<source.length(); ++i) {
        UChar ch = source[i];
        if (ch < 0x09 || (ch > 0x0A && ch < 0x20) || ch > 0x7E) {
            target += "\\u";
            appendHex(ch, 4, target);
        } else {
            target += ch;
        }
    }
    target += "\"";
    return target;
}

// Print the given string to stdout
void uprintf(const UnicodeString &str) {
    char *buf = 0;
    int32_t len = str.length();
    // int32_t bufLen = str.extract(0, len, buf); // Preflight
    /* Preflighting seems to be broken now, so assume 1-1 conversion,
       plus some slop. */
    int32_t bufLen = len + 16;
	int32_t actualLen;
    buf = new char[bufLen + 1];
    actualLen = str.extract(0, len, buf/*, bufLen*/); // Default codepage conversion
    buf[actualLen] = 0;
    printf("%s", buf);
    delete [] buf;
}
share/doc/alt-libicu65-devel/samples/translit/translit.vcxproj.filters000064400000002232150470307400022137 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{54b54bed-3b7b-4c0c-88b9-c7d168eb2b2f}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{1b482e95-f708-45c1-afa7-842defddd5ab}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{33d7c053-4ff7-4f22-974c-5c36cf13b8f6}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="unaccent.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="util.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="unaccent.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/translit/unaccent.h000064400000005626150470307400017176 0ustar00/***********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/translit.h"
#include "unicode/normlzr.h"

using namespace icu;

class UnaccentTransliterator : public Transliterator {
    
 public:
    
    /**
     * Constructor
     */
    UnaccentTransliterator();

    /**
     * Destructor
     */
    virtual ~UnaccentTransliterator();

 protected:

    /**
     * Implement Transliterator API
     */
    virtual void handleTransliterate(Replaceable& text,
                                     UTransPosition& index,
                                     UBool incremental) const;

 private:

    /**
     * Unaccent a single character using normalizer.
     */
    UChar unaccent(UChar c) const;

    Normalizer normalizer;

public:

    /**
     * Return the class ID for this class.  This is useful only for
     * comparing to a return value from getDynamicClassID().  For example:
     * <pre>
     * .      Base* polymorphic_pointer = createPolymorphicObject();
     * .      if (polymorphic_pointer->getDynamicClassID() ==
     * .          Derived::getStaticClassID()) ...
     * </pre>
     * @return          The class ID for all objects of this class.
     * @stable ICU 2.0
     */
    static inline UClassID getStaticClassID(void) { return (UClassID)&fgClassID; };

    /**
     * Returns a unique class ID <b>polymorphically</b>.  This method
     * is to implement a simple version of RTTI, since not all C++
     * compilers support genuine RTTI.  Polymorphic operator==() and
     * clone() methods call this method.
     * 
     * <p>Concrete subclasses of Transliterator that wish clients to
     * be able to identify them should implement getDynamicClassID()
     * and also a static method and data member:
     * 
     * <pre>
     * static UClassID getStaticClassID() { return (UClassID)&fgClassID; }
     * static char fgClassID;
     * </pre>
     *
     * Subclasses that do not implement this method will have a
     * dynamic class ID of Transliterator::getStatisClassID().
     *
     * @return The class ID for this object. All objects of a given
     * class have the same class ID.  Objects of other classes have
     * different class IDs.
     * @stable ICU 2.0
     */
    virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); };

private:

    /**
     * Class identifier for subclasses of Transliterator that do not
     * define their class (anonymous subclasses).
     */
    static const char fgClassID;
};
share/doc/alt-libicu65-devel/samples/case/case.sln000064400000002256150470307400015725 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "case", "case.vcxproj", "{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.ActiveCfg = Debug|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|Win32.Build.0 = Debug|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.ActiveCfg = Debug|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.Build.0 = Debug|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.ActiveCfg = Release|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|Win32.Build.0 = Release|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.ActiveCfg = Release|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/case/Makefile000064400000001211150470307400015722 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2003 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=case

# All object files (C or C++)
OBJECTS=case.o ucase.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

LDFLAGS += $(LDFLAGS_USTDIO)

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/case/case.cpp000064400000005466150470307400015721 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2003-2004, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#include <unicode/unistr.h>
#include <unicode/ustdio.h>
#include <unicode/brkiter.h>
#include <stdlib.h>

using namespace icu;

U_CFUNC int c_main(UFILE *out);

void printUnicodeString(UFILE *out, const UnicodeString &s) {
    UnicodeString other = s;
    u_fprintf(out, "\"%S\"", other.getTerminatedBuffer());
}


int main( void )
{
    UFILE *out;
    UErrorCode status  = U_ZERO_ERROR;
    out = u_finit(stdout, NULL, NULL);
    if(!out) {
        fprintf(stderr, "Could not initialize (finit()) over stdout! \n");
        return 1;
    }
    ucnv_setFromUCallBack(u_fgetConverter(out), UCNV_FROM_U_CALLBACK_ESCAPE,
        NULL, NULL, NULL, &status);
    if(U_FAILURE(status)) {
        u_fprintf(out, "Warning- couldn't set the substitute callback - err %s\n", u_errorName(status));
    }

    /* End Demo boilerplate */

    u_fprintf(out,"ICU Case Mapping Sample Program\n\n");
    u_fprintf(out, "C++ Case Mapping\n\n");

    UnicodeString string("This is a test");
    /* lowercase = "istanbul" */ 
    UChar lowercase[] = {0x69, 0x73, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x6c, 0};
    /* uppercase = "LATIN CAPITAL I WITH DOT ABOVE STANBUL" */  
    UChar uppercase[] = {0x0130, 0x53, 0x54, 0x41, 0x4e, 0x42, 0x55, 0x4C, 0};

    UnicodeString upper(uppercase);
    UnicodeString lower(lowercase);

    u_fprintf(out, "\nstring: ");
    printUnicodeString(out, string);
    string.toUpper(); /* string = "THIS IS A TEST" */
    u_fprintf(out, "\ntoUpper(): ");
    printUnicodeString(out, string);
    string.toLower(); /* string = "this is a test" */
    u_fprintf(out, "\ntoLower(): ");
    printUnicodeString(out, string);

    u_fprintf(out, "\n\nlowercase=%S, uppercase=%S\n", lowercase, uppercase);


    string = upper; 
    string.toLower(Locale("tr", "TR")); /* Turkish lower case map string =
                                        lowercase */
    u_fprintf(out, "\nupper.toLower: ");
    printUnicodeString(out, string);

    string = lower;
    string.toUpper(Locale("tr", "TR")); /* Turkish upper case map string =
                                        uppercase */
    u_fprintf(out, "\nlower.toUpper: ");
    printUnicodeString(out, string);


    u_fprintf(out, "\nEnd C++ sample\n\n");

    // Call the C version
    int rc = c_main(out);
    u_fclose(out);
    return rc;
}

share/doc/alt-libicu65-devel/samples/case/case.vcxproj.filters000064400000001706150470307400020272 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{43ee3899-8fc9-43ee-afb1-56fc646637b4}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{f8bfa07a-99cc-427e-900b-d224ca9d1a65}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4a483140-b33a-4ddb-a2b5-e481b417d590}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="case.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="ucase.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/case/readme.txt000064400000004245150470307400016272 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2003-2005, International Business Machines Corporation and others. All Rights Reserved.
case: case mapping

This sample demonstrates
         Using ICU to convert between different cases

         
Files:
    case.cpp      Main source file in C++
    ucase.c       Main source file in C
    case.sln      Windows MSVC workspace.  Double-click this to get started.
    case.vcproj   Windows MSVC project file

To Build case on Windows
    1.  Install and build ICU
    2.  In MSVC, open the solution file icu\samples\case\case.sln
        (or, use the workspace All, in icu\samples\all\all.sln )
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the case directory, e.g.
            cd c:\icu\source\samples\case\debug
    4.  Run it
            case

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/case
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/case
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           case
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/case/ucase.c000064400000006640150470307400015541 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2003-2004, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
****
*
*   Case folding examples, in C 
*
*******************************************************************************
*/

#include "unicode/uchar.h"
#include "unicode/ustring.h"
#include "unicode/utypes.h"
#include "unicode/ustdio.h"

/* Note: don't use 'k' or 'K' because we might be on EBCDIC */

int c_main(UFILE *out)
{
  UChar32 ch;
  UErrorCode errorCode = U_ZERO_ERROR;
  static const UChar upper[] = {0x61, 0x42, 0x49, 0}; /* upper = "aBI" */
  static const UChar lower[] = {0x61, 0x42, 0x69, 0}; /* lower = "abi" */
  /* unfold = "aB LATIN SMALL LETTER DOTLESS I" */
  static const UChar unfold[] = {0x61, 0x42, 0x131, 0} ;
  UChar buffer[32];
  const UChar char_k = 0x006b; /* 'k' */  
  const UChar char_K = 0x004b; /* 'K' */
  
  int length;

  printf("** C Case Mapping Sample\n");

  /* uchar.h APIs, single character case mapping */
  ch = u_toupper(char_k); /* ch = 'K' */
  u_fprintf(out, "toupper(%C) = %C\n", char_k, ch);
  ch = u_tolower(ch); /* ch = 'k' */
  u_fprintf(out, "tolower() = %C\n", ch);
  ch = u_totitle(char_k); /* ch = 'K' */
  u_fprintf(out, "totitle(%C) = %C\n", char_k, ch);
  ch = u_foldCase(char_K, U_FOLD_CASE_DEFAULT); /* ch = 'k' */
  u_fprintf(out, "u_foldCase(%C, U_FOLD_CASE_DEFAULT) = %C\n", char_K, (UChar) ch);

  /* ustring.h APIs, UChar * string case mapping with a Turkish locale */
  /* result buffer = "ab?" latin small letter a, latin small letter b, latin
     small letter dotless i */
  length = u_strToLower(buffer, sizeof(buffer)/sizeof(buffer[0]), upper, 
                        sizeof(upper)/sizeof(upper[0]), "tr", &errorCode);
  if(U_FAILURE(errorCode) || buffer[length]!=0) {
    u_fprintf(out, "error in u_strToLower(Turkish locale)=%ld error=%s\n", length, 
           u_errorName(errorCode));
  }
  
  u_fprintf(out, "u_strToLower(%S, turkish) -> %S\n", upper, buffer);


  /* ustring.h APIs, UChar * string case mapping with a English locale */
  /* result buffer = "ABI" latin CAPITAL letter A, latin capital letter B,
     latin capital letter I */
  length = u_strToUpper(buffer, sizeof(buffer)/sizeof(buffer[0]), upper, 
                        sizeof(upper)/sizeof(upper[0]), "en", &errorCode);
  if(U_FAILURE(errorCode) || buffer[length]!=0) {
    u_fprintf(out, "error in u_strToLower(English locale)=%ld error=%s\n", length, 
              u_errorName(errorCode));
  }
  u_fprintf(out, "u_strToUpper(%S, english) -> %S\n", lower, buffer);


  /* ustring.h APIs, UChar * string case folding */
  /* result buffer = "abi" */
  length = u_strFoldCase(buffer, sizeof(buffer)/sizeof(buffer[0]), unfold, 
                         sizeof(unfold)/sizeof(unfold[0]), U_FOLD_CASE_DEFAULT,
                         &errorCode);
  if(U_FAILURE(errorCode) || buffer[length]!=0) {
    u_fprintf(out, "error in u_strFoldCase()=%ld error=%s\n", length, 
           u_errorName(errorCode));
  }
  u_fprintf(out, "u_strFoldCase(%S, U_FOLD_CASE_DEFAULT) -> %S\n", unfold, buffer);
  u_fprintf(out, "\n** end of C sample\n");

  return 0;
}
share/doc/alt-libicu65-devel/samples/case/case.vcxproj000064400000022065150470307400016624 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
      <DisableLanguageExtensions>true</DisableLanguageExtensions>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/case.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/case.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/case.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Debug/case.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/case.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/case.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/case.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/case.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/case.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/case.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/case.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/case.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/case.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/case.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/case.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/case.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="case.cpp" />
    <ClCompile Include="ucase.c" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/ufortune/Makefile000064400000002237150470307400016667 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2001-2003 IBM, Inc. and others

#
# File
#    icu/source/samples/ufortune/Makefile
#
# Usage:
#  - configure and build ICU [see the docs] .. use "--prefix=" something
# 
#  - do 'make install' of icu 
#
#  - make sure the script 'icu-config' is executable in your PATH
#  
#  - do 'gmake' in this directory
#  - do 'gmake check' to run the sample.


# Load ICU information
include ../defs.mk

include fortunedefs.mk

# Name of your target
TARGET=ufortune

# All object files (C or C++)
OBJECTS=ufortune.o

# dir containing resources
RESDIR=resources

# hook variables to tell rules.mk we want subdirectory processing
ALL_SUBDIR=   all-$(RESDIR)
CLEAN_SUBDIR= clean-$(RESDIR)

# Need: ustdio, and to link with ufortune
XTRALIBS=$(RESLDFLAGS)
LDFLAGS += $(LDFLAGS_USTDIO)
CPPFLAGS += $(RESCPPFLAGS)

### Include standard rules
include ../rules.mk

# subdirectory processing
all-$(RESDIR):
	$(MAKE) -C $(RESDIR)

clean-$(RESDIR):
	-$(MAKE) -C $(RESDIR) clean


install-$(RESDIR):
	$(MAKE) -C $(RESDIR) install

install: install-$(RESDIR)
share/doc/alt-libicu65-devel/samples/ufortune/ufortune.vcxproj000064400000014717150470307400020521 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{25F534DF-93C9-4853-A88E-DB7D8CF74042}</ProjectGuid>
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/ufortune.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;resources\fortune_resources.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/ufortune.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;resources\fortune_resources.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="ufortune.c" />
  </ItemGroup>
  <ItemGroup>
    <None Include="resources\es.txt" />
    <None Include="resources\res-file-list.txt" />
    <None Include="resources\root.txt" />
    <CustomBuild Include="resources\fortune_resources.mak">
      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cd resources
nmake -f fortune_resources.mak CFG=x86\Debug
copy Fortune_Resources.DLL "$(TargetDir)"
</Command>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cd resources
nmake -f fortune_resources.mak CFG=x86\Release
copy Fortune_Resources.DLL "$(TargetDir)"
</Command>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources\fortune_resources.DLL;%(Outputs)</Outputs>
    </CustomBuild>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/ufortune/ufortune.sln000064400000002266150470307410017617 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ufortune", "ufortune.vcxproj", "{25F534DF-93C9-4853-A88E-DB7D8CF74042}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.ActiveCfg = Debug|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|Win32.Build.0 = Debug|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|x64
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.Build.0 = Debug|x64
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.ActiveCfg = Release|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|Win32.Build.0 = Release|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|x64
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/ufortune/ufortune.vcxproj.filters000064400000002657150470307410022171 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{6ab67213-fd7b-45cd-b44f-8deffb1990ac}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{b342f76f-065b-4c8c-9abc-4e524e21ab35}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{492bec7f-3152-419a-afa7-8735518021f6}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Makefile">
      <UniqueIdentifier>{aa083dae-ee83-4d36-bb4f-8a592bf805d1}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="ufortune.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="resources\es.txt">
      <Filter>Resource Files</Filter>
    </None>
    <None Include="resources\res-file-list.txt">
      <Filter>Resource Files</Filter>
    </None>
    <None Include="resources\root.txt">
      <Filter>Resource Files</Filter>
    </None>
  </ItemGroup>
  <ItemGroup>
    <CustomBuild Include="resources\fortune_resources.mak">
      <Filter>Makefile</Filter>
    </CustomBuild>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/ufortune/ufortune.c000064400000017614150470307410017250 0ustar00/*************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
**************************************************************************
**************************************************************************
*
*   Copyright (C) 2001-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
**************************************************************************
*
*   ufortune - An ICU resources sample program
*
*      Demonstrates
*         Defining resources for use by an application
*         Compiling and packaging them into a dll
*         Referencing the resource-containing dll from application code
*         Loading resource data using ICU's API
*
*      Created Nov. 7, 2001  by Andy Heninger
*
*      ufortune is a variant of the Unix "fortune" command, with
*               ICU resources that contain the fortune-cookie sayings.
*               Using resources allows  fortunes in different languages to
*               be selected based on locale.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

#include "unicode/udata.h"     /* ICU API for data handling.                 */
#include "unicode/ures.h"      /* ICU API for resource loading               */
#include "unicode/ustdio.h"    /* ICU API for reading & writing Unicode data */
                               /*   to files, possibly including character   */
                               /*   set conversions.                         */
#include "unicode/ustring.h"

#ifndef UFORTUNE_NOSETAPPDATA
/*
 *  Resource Data Reference.  The data is packaged as a dll (or .so or
 *           whatever, depending on the platform) that exports a data
 *           symbol.  The application (that's us) references that symbol,
 *           here, and will pass the data address to ICU, which will then
 *           be able to fetch resources from the data.
 */
extern  const void U_IMPORT *fortune_resources_dat;
#endif

void u_write(const UChar *what, int len);


/*
 *  main()   This one function is all of the application code.
 */
int main(int argc, char **argv)
{
    UBool              displayUsage  = FALSE;    /* Set true if command line err or help      */
                                                 /*   option was requested.                   */
    UBool              verbose       = FALSE;    /* Set true if -v command line option.       */
    char              *optionError   = NULL;     /* If command line contains an unrecognized  */
                                                 /*   option, this will point to it.          */
    char              *locale=NULL;              /* Locale name.  Null for system default,    */
                                                 /*   otherwise set from command line.        */
    const char *       programName   = argv[0];  /* Program invocation name.                  */


    UFILE             *u_stdout;                 /* Unicode stdout file.                      */
    UErrorCode         err           = U_ZERO_ERROR;   /* Error return, used for most ICU     */
                                                       /*   functions.                        */

    UResourceBundle   *myResources;              /* ICU Resource "handles"                    */
    UResourceBundle   *fortunes_r;

    int32_t            numFortunes;              /* Number of fortune strings available.      */
    int                i;

    const UChar       *resString;                /* Points to strings fetched from Resources. */
    int32_t            len;


    /*  Process command line options.
     *     -l  locale          specify a locale
     *     -v                  verbose mode.  Display extra messages.
     *     -? or --help        display a usage line
     */
    for (i=1; i<argc; i++) {
        if (strcmp(argv[i], "-l") ==0) {
            if (++i < argc) {
                locale = argv[i];
            }
            continue;
        }
        if (strcmp(argv[i], "-v") == 0) {
            verbose = TRUE;
            continue;}
        if (strcmp(argv[i], "-?") == 0 ||
            strcmp(argv[i], "--help") == 0) {
            displayUsage = TRUE;
            continue;}
        optionError = argv[i];
        displayUsage = TRUE;
        break;
    }

    /* ICU's icuio package provides a convenient way to write Unicode
     *    data to stdout.  The string data that we get from resources
     *    will be UChar * strings, which icuio can handle nicely.
     */
    u_stdout = u_finit(stdout, NULL /*locale*/,  NULL /*codepage */);
    if (verbose) {
        u_fprintf(u_stdout, "%s:  checking output via icuio.\n", programName);
    }

#ifndef UFORTUNE_NOSETAPPDATA
    /* Tell ICU where our resource data is located in memory.
     *   The data lives in the Fortune_Resources dll, and we just
     *   pass the address of an exported symbol from that library
     *   to ICU.
     */
    udata_setAppData("fortune_resources", &fortune_resources_dat, &err);
    if (U_FAILURE(err)) {
        fprintf(stderr, "%s: udata_setAppData failed with error \"%s\"\n", programName, u_errorName(err));
        exit(-1);
    }
#endif

    /* Open our resources.
    */
    myResources = ures_open("fortune_resources", locale, &err);
    if (U_FAILURE(err)) {
        fprintf(stderr, "%s: ures_open failed with error \"%s\"\n", programName, u_errorName(err));
        exit(-1);
    }
    if (verbose) {
        u_fprintf(u_stdout, "status from ures_open(\"fortune_resources\", %s) is %s\n",
            locale? locale: " ", u_errorName(err));
    }

    /*
     * Display any command line option usage errors and/or the
     *     usage help message.  These messages come from our resource bundle.
     */
    if (optionError != NULL) {
        const UChar *msg = ures_getStringByKey(myResources, "optionMessage", &len, &err);
        if (U_FAILURE(err)) {
            fprintf(stderr, "%s: ures_getStringByKey(\"optionMessage\") failed, %s\n",
                programName, u_errorName(err));
            exit(-1);
        }
        u_file_write(msg,  len, u_stdout);              /* msg is UChar *, from resource    */
        u_fprintf(u_stdout, " %s\n", optionError);      /* optionError is char *, from argv */
    }

    if (displayUsage) {
        const UChar *usage;
        int          returnValue=0;

        usage = ures_getStringByKey(myResources, "usage", &len, &err);
        if (U_FAILURE(err)) {
            fprintf(stderr, "%s: ures_getStringByKey(\"usage\") failed, %s\n", programName, u_errorName(err));
            exit(-1);
        }
        u_file_write(usage,  len, u_stdout);
        if (optionError != NULL) {returnValue = -1;}
        return returnValue;
    }

    /*
     * Open the "fortunes" resources from within the already open resources
     */
    fortunes_r = ures_getByKey(myResources, "fortunes", NULL, &err);
    if (U_FAILURE(err)) {
        fprintf(stderr, "%s: ures_getByKey(\"fortunes\") failed, %s\n", programName, u_errorName(err));
        exit(-1);
    }


    /*
     * Pick up and display a random fortune
     *
     */
    numFortunes = ures_countArrayItems(myResources, "fortunes", &err);
    if (U_FAILURE(err)) {
        fprintf(stderr, "%s: ures_countArrayItems(\"fortunes\") failed, %s\n", programName, u_errorName(err));
        exit(-1);
    }
    if (numFortunes <= 0) {
        fprintf(stderr, "%s: no fortunes found.\n", programName);
        exit(-1);
    }

    i = (int)time(NULL) % numFortunes;    /*  Use time to pick a somewhat-random fortune.  */
    resString = ures_getStringByIndex(fortunes_r, i, &len, &err);
    if (U_FAILURE(err)) {
        fprintf(stderr, "%s: ures_getStringByIndex(%d) failed, %s\n", programName, i, u_errorName(err));
        exit(-1);
    }

    u_file_write(resString, len, u_stdout);      /* Write out the message           */
	u_fputc(0x0a, u_stdout);                     /*   and a trailing newline	    */

    return 0;
}

share/doc/alt-libicu65-devel/samples/ufortune/fortunedefs.mk000064400000002265150470307410020106 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2001-2011 IBM, Inc. and others
# common makefile between ufortune and ufortune/resources

# mode of resource bundle -
# you can change this to:
#   dll    -  will create a dynamically linked library 
#                 (may require 'make install' in resources subdir for
#                  proper library installation)
#
#   static - will statically link data into ufortune
#
#   common - will create fortune_resources.dat in the resources subdir
#                (must be locatable by ICU_PATH - use 'make check')
#
#   files  - will use separate files, such as es.res, fi.res, etc.
#                (use 'make check')
#
RESMODE=static

# Resource shortname
RESNAME=fortune_resources

RESLDFLAGS=
# Don't call udata_setAppData unless we are linked with the data
RESCPPFLAGS=-DUFORTUNE_NOSETAPPDATA
CHECK_VARS= ICU_DATA=$(RESDIR)

# DLL and static modes are identical here
ifeq ($(RESMODE),dll)
RESLDFLAGS= -L$(RESDIR) -l$(RESNAME)
RESCPPFLAGS=
CHECK_VARS=
endif

ifeq ($(RESMODE),static)
RESLDFLAGS= -L$(RESDIR) -l$(RESNAME)
RESCPPFLAGS=
CHECK_VARS=
endif

share/doc/alt-libicu65-devel/samples/ufortune/readme.txt000064400000005370150470307410017227 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
ufortune: a sample program demonstrating the use of ICU resource files by an application.

This sample demonstrates
         Defining resources for use by an application
         Compiling and packaging them into a dll
         Referencing the resource-containing dll from application code
         Loading resource data using ICU's API
         
Files:
    ./ufortune.c                 source code for the sample
    ./ufortune.sln               Windows MSVC workspace.  Double-click this to get started.
    ./ufortune.vcproj            Windows MSVC project file.
    ./Makefile                   Makefile for Unixes.  Needs gmake.
    resources/root.txt           Default resources  (text for messages in English)
    resources/es.txt             Spanish language resources source file..
    resources/res-file-list.txt  List of resource source files to be built
    resources/Makefile           Makefile for compiling resources, for Unixes.
    

To Build ufortune on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\ufortune\ufortune.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the ufortune directory, e.g.
            cd c:\icu\source\samples\ufortune\debug
    4.  Run it
            ufortune
     

To Build on Unixes
    1.  Build ICU.  Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
    3.  Build the sample
           cd <icu directory>/source/samples/ufortune
           export ICU_PREFIX= <icu install directory>
           gmake
           
 To Run on Unixes
           cd <icu directory>/source/samples/ufortune
           
           gmake check
              or
           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           ufortune
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.
share/doc/alt-libicu65-devel/samples/ufortune/resources/Makefile000064400000003665150470307410020710 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2001-2011 IBM, Inc. and others
#
# File
#    icu/source/samples/ufortune/resources/Makefile
#
# Usage:
#    See the instructions in the parent Makefile,
#          icu/source/samples/ufortune/Makefile.
#          This subproject builds the ICU resource files for ufortune.
#          It is normally invoked from the parent directory,
#            although the resources can be built from here.
#
#    Two ICU tools are run from this makefile:
#      genrb    compiles a resource source file (.txt) into
#               a binary .res file.
#      pkgdata  combines all of the .res files into a single
#               shared library that can then be linked with the
#               main application.
#
#               pkgdata will recursively generate and run yet
#               another makefile, which in turn runs two more
#               icu tools.  gencmn combines the individual .res
#               files, and genccode emits the data as C source
#               code that can then be built into a .so
#

include ../../defs.mk

# No conventional target - this dir is resources only.
TARGET=
CLEANFILES += *.[co] *.lst $(RESNAME)_*.mak $(RESNAME).dat $(RESFILES) *.ao README*resources.txt $(RESNAME)_dat*

include ../fortunedefs.mk

# target file for resource bundle - this must be set, or 'make all' won't
# build any resources.
ifeq ($(RESMODE),dll)
RESTARGET=lib$(RESNAME)*.$(SO)*
endif
ifeq ($(RESMODE),static)
RESTARGET=lib$(RESNAME).a
endif

# Resource files.  Add new ones for additional locales here.
# keep in sync with the file RESLIST
RESFILES=root.res es.res

# list of resource bundles  - keep in sync with RESFILES
RESLIST=res-file-list.txt

## Include standard rules 
include ../../rules.mk

# for installing the library
install: res-install

es.res: es.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) $^

share/doc/alt-libicu65-devel/samples/ufortune/resources/fortune_resources.mak000064400000002725150470307410023512 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2001-2009 IBM, Inc. and others
#
#  fortune_resources.mak
#
#      Windows nmake makefile for compiling and packaging the resources
#      for the ICU sample program "ufortune".
#
#      This makefile is normally invoked by the pre-link step in the
#      MSVC project file for ufortune

#
#  List of resource files to be built.
#    When adding a resource source (.txt) file for a new locale, the corresponding
#    .res file must be added to this list, AND to the file res-file-list.txt
#
RESFILES= root.res es.res 

#
#  ICUDIR   the location of ICU, used to locate the tools for
#           compiling and packaging resources.
#
ICUDIR=..\..\..\..

#
#  The directory that contains the tools.
#
!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
BIN=bin64
!ELSE
BIN=bin
!ENDIF

#
#  File name extensions for inference rule matching.
#    clear out the built-in ones (for .c and the like), and add
#    the definition for .txt to .res.
#
.SUFFIXES : .txt

#
#  Inference rule, for compiling a .txt file into a .res file.
#  -t fools make into thinking there are files such as es.res, etc
#
.txt.res:
    $(ICUDIR)\$(BIN)\genrb -d . $*.txt

#
#  all - nmake starts here by default
#
all: fortune_resources.dll

fortune_resources.dll: $(RESFILES)
    $(ICUDIR)\$(BIN)\pkgdata --name fortune_resources -v --mode dll -d . res-file-list.txt

share/doc/alt-libicu65-devel/samples/ufortune/resources/res-file-list.txt000064400000000020150470307410022446 0ustar00root.res
es.res
share/doc/alt-libicu65-devel/samples/ufortune/resources/root.txt000064400000016454150470307410020774 0ustar00//   Copyright (C) 2016 and later: Unicode, Inc. and others.
//   License & terms of use: http://www.unicode.org/copyright.html#License
//
//   Copyright (C) 2001-2003, International Business Machines
//   Corporation and others.  All Rights Reserved.
//
//  root.txt
//
//     root resource file for ufortune.
//     This data will be used as a fall-back if no other resource bundle
//     matches the requested locale.
//

//   ufortune has three resources
//     usage         - the usage string to display if there's a command line error 
//                     or in response to -? or --help.
//     optionMessage - the error text to display in response to an unrecognized
//                     option on the command line.
//     fortunes      - An array of strings, the fortune messages.
//

root {

   usage           {"usage: ufortune [-v]  [-l locale]"}
   optionMessage   {"unrecognized command line option:"} 


//
//  These fortune messages are from BSD fortune data files.

   fortunes {


"186,282 miles per second:

It isn't just a good idea, it's the law!",

"2180, U.S. History question:
        What 20th Century U.S. President was almost impeached and what
office did he later hold?",

"$3,000,000",

"355/113 -- Not the famous irrational number PI, but an incredible
simulation!\"",

"3 syncs represent the trinity - init, the child and the eternal zombie
process.  In doing 3, you're paying homage to each and I think such
traditions are important in this shallow, mercurial business we find
ourselves in.
                -- Jordan K. Hubbard",

"43rd Law of Computing:
        Anything that can go wr
fortune: Segmentation violation -- Core dumped",

"7:30, Channel 5: The Bionic Dog (Action/Adventure)
        The Bionic Dog drinks too much and kicks over the National
        Redwood Forest.",

"7:30, Channel 5: The Bionic Dog (Action/Adventure)
        The Bionic Dog gets a hormonal short-circuit and violates the
        Mann Act with an interstate Greyhound bus.",

"99 blocks of crud on the disk,
99 blocks of crud!
You patch a bug, and dump it again:
100 blocks of crud on the disk!

100 blocks of crud on the disk,
100 blocks of crud!
You patch a bug, and dump it again:
101 blocks of crud on the disk! ...",

"A \"No\" uttered from deepest conviction is better and greater than a
\"Yes\" merely uttered to please, or what is worse, to avoid trouble.
                -- Mahatma Ghandi",

"A [golf] ball hitting a tree shall be deemed not to have hit the tree.
Hitting a tree is simply bad luck and has no place in a scientific
game.  The player should estimate the distance the ball would have
traveled if it had not hit the tree and play the ball from there,
preferably atop a nice firm tuft of grass.
                -- Donald A. Metz",

"A [golf] ball sliced or hooked into the rough shall be lifted and
placed in the fairway at a point equal to the distance it carried or
rolled into the rough.  Such veering right or left frequently results
from friction between the face of the club and the cover of the ball
and the player should not be penalized for the erratic behavior of the
ball resulting from such uncontrollable physical
phenomena.
                -- Donald A. Metz",

"A baby is an alimentary canal with a loud voice at one end and no
responsibility at the other.",

"A baby is God's opinion that the world should go on.
                -- Carl Sandburg",

"A bachelor is a selfish, undeserving guy who has cheated some woman out
of a divorce.
                -- Don Quinn",

"A banker is a fellow who lends you his umbrella when the sun is shining
and wants it back the minute it begins to rain.
                -- Mark Twain",

"A billion here, a couple of billion there -- first thing you know it
adds up to be real money.
                -- Senator Everett McKinley Dirksen",

"A bird in the bush usually has a friend in there with him.",

"A bird in the hand is worth what it will bring.",

"A bird in the hand makes it awfully hard to blow your nose.",

"... A booming voice says, \"Wrong, cretin!\", and you notice that you
have turned into a pile of dust.",

"A bore is someone who persists in holding his own views after we have
enlightened him with ours.",

"A budget is just a method of worrying before you spend money, as well
as afterward.",

"A candidate is a person who gets money from the rich and votes from the
poor to protect them from each other.",

"A celebrity is a person who is known for his well-knownness.",

"A child can go only so far in life without potty training.  It is not
mere coincidence that six of the last seven presidents were potty
trained, not to mention nearly half of the nation's state legislators.
                -- Dave Barry",

"A child of five could understand this!  Fetch me a child of five.",

"A chubby man with a white beard and a red suit will approach you soon.
Avoid him.  He's a Commie.",

"A citizen of America will cross the ocean to fight for democracy, but
won't cross the street to vote in a national election.
                -- Bill Vaughan",

"A city is a large community where people are lonesome together
                -- Herbert Prochnow",

"A classic is something that everybody wants to have read and nobody
wants to read.
                -- Mark Twain",

"A closed mouth gathers no foot.",

"A computer, to print out a fact,
Will divide, multiply, and subtract.
        But this output can be
        No more than debris,
If the input was short of exact.
                -- Gigo",

"A conclusion is simply the place where someone got tired of thinking.",

"A CONS is an object which cares.
                -- Bernie Greenberg.",

"A consultant is a person who borrows your watch, tells you what time it
is, pockets the watch, and sends you a bill for it.",

"A continuing flow of paper is sufficient to continue the flow of paper.
                -- Dyer",

"A copy of the universe is not what is required of art; one of the
damned things is ample.
                -- Rebecca West",

"A countryman between two lawyers is like a fish between two cats.
                -- Ben Franklin",

"A crusader's wife slipped from the garrison
And had an affair with a Saracen.
        She was not oversexed,
        Or jealous or vexed,
She just wanted to make a comparison.",

"A cynic is a person searching for an honest man, with a stolen
lantern.
                -- Edgar A. Shoaff",

"A day for firm decisions!!!!!  Or is it?",

"A day without sunshine is like night.",

"A diplomat is a man who can convince his wife she'd look stout in a fur
coat.",

"A diplomat is someone who can tell you to go to hell in such a way that
you will look forward to the trip.",

"        A disciple of another sect once came to Drescher as he was
eating his morning meal.  \"I would like to give you this personality
test\", said the outsider, \"because I want you to be happy.\"
        Drescher took the paper that was offered him and put it into
the toaster -- \"I wish the toaster to be happy too\".",

"A diva who specializes in risque arias is an off-coloratura soprano ...",

"        A doctor, an architect, and a computer scientist were arguing
about whose profession was the oldest.  In the course of their
arguments, they got all the way back to the Garden of Eden, whereupon
the doctor said, \"The medical profession is clearly the oldest, because
Eve was made from Adam's rib, as the story goes, and that was a simply
incredible surgical feat.\"  "
  }
}
share/doc/alt-libicu65-devel/samples/ufortune/resources/es.txt000064400000040247150470307410020415 0ustar00//   Copyright (C) 2016 and later: Unicode, Inc. and others.
//   License & terms of use: http://www.unicode.org/copyright.html#License
//
//   Copyright (C) 2001-2006, International Business Machines
//   Corporation and others.  All Rights Reserved.

//
//  es.txt
//
//     Spanish resource file for ufortune sample program for ICU.
//     

//   ufortune has three resources
//     usage         - the usage string to display if there's a command line error 
//                     or in response to -? or --help.
//     optionMessage - the error text to display in response to an unrecognized
//                     option on the command line.
//     fortunes      - An array of strings, the fortune messages.
//

es {

   usage           {"usage: ufortune [-v]  [-l locale]"}
   optionMessage   {"unrecognized command line option:"} 



   fortunes {


"Todo lo que no tiene solución no se soluciona, y lo que la tiene tampoco.
		-- Bill Gates. (1952?) Fundador de Microsoft. Del manual de Windows 95. ",

"El hombre todavía puede apagar el ordenador. Sin embargo, tendremos que esforzarnos mucho para conservar este privilegio.
		-- J. Weizembaum. Sociólogo norteamericano experto en ordenadores. ",

"El ordenador ha sido hasta ahora el producto más genial de la vagancia humana.
		-- Slogan de IBM. ",

"La página WEB es el soporte interactivo ideal para ofrecer un servicio, facilitar información, hacer negocio, etc de un modo más completo y directo que cualquier otro.
		-- Vinton Cerf. (1934) Padre de Internet. (Fundador de Internet Society). ",

"Todavía hay mucha gente que ofrece contenidos por el mero placer de saber que la información puede resultar útil a otras personas.
		-- Vinton Cerf. (1934) Padre de Internet. (Fundador de Internet Society). ",

"En no mucho tiempo contaremos con unas líneas inteligentes y que estarán totalmente integradas con la Red.
		-- Vinton Cerf. (1934) Padre de Internet. (Fundador de Internet Society). ",

"En el futuro no se usará MODEM para acceder a Internet.
		-- Vinton Cerf. (1934) Padre de Internet. (Fundador de Internet Society). ",

"En el año 2005 los chips serán tan baratos que los encontraremos en todas partes: la nevera, la lavadora y cualquier otro electrodoméstico.
		-- Vinton Cerf. (1934) Padre de Internet. (Fundador de Internet Society). ",

"Internet 2 será 100 veces más rápida.
		-- Irving Wladawsky-Berger. Director General de la División Internet de IBM. ",

"Windows 95 está colgando su sistema. Por favor espere...
		-- Nugar. Internauta y Webmaster panameño. ",

"No pensábamos en el negocio, sino en Internet como una forma de comunicación global.
		-- Jerry Yang. Uno de los creadores de Yahoo!. ",

"iusfbvksagsvkjsh bvkdns Maldita Gata!!! Bájate del tecladonlagnlbhl
		-- Stepi taglines. ",

"Sueter ke mis mesages pashan po el coretor otójraf
		-- Stepi taglines. ",

"User error: Replace user, hit any key to continue.
		-- Stepi taglines. ",

"SOFTWARE: Aquello que solamente puedes maldecir.
		-- Yo. ",

"HARDWARE: Lo que puedes partir con un hacha.
		-- Yo. ",

"¿Cuál es la patrona de los informáticos? - Santa Tecla.
		-- Yo. ",

"Eres más falso que Windows 95 a prueba de fallos.
		-- Yo. ",

"Gabardinas Windows 95 se cuelgan solas.
		-- Yo. ",

"El hijo de Bill Gates fue por causa de un 'ERROR DE PROTECCION GENERAL'.
		-- Yo. ",

"¿Alguien sabe qué es lo bueno de Windows 95?... Yo tampoco.
		-- Yo. ",

"Multitarea: Dos o más programas pueden fallar simultáneamente.
		-- Yo. ",

"...aquella masa de solidificada razón de dieciséis kilómetros de longitud, a la que los hombres llamaban Multivac, el más complejo ordenador jamás construido.
		-- Isaac Asimov. (1920-1992) Escritor y científico estadounidense. Fragmento del cuento 'El chistoso'. ",

"Press (Ctrl)(Alt)(Del) to continue...
		-- PC Users. La mejor revista de computación del mundo. ",

"Si debbuging es el proceso de eliminar errores, entonces la programación debe ser el proceso de ponerlos.
		-- PC Users. La mejor revista de computación del mundo. ",

"Hay dos formas de escribir programas sin errores. Sólo la tercera funciona.
		-- PC Users. La mejor revista de computación del mundo. ",

"No confíes en una PC que no puedas tirar por la ventana.
		-- Steve Wozniak. ",

"Si los arquitectos hiciesen edificios de la misma forma en que los programadores escriben programas, el primer pájaro carpintero que pasase por aquí destruiría la civilización.
		-- Gerald Weimberg. ",

"Las PCs no son inteligentes, sólo creen que lo son.
		-- PC Users. La mejor revista de computación del mundo. ",

"S pd lr sto, usd pd btnr n ben trbjo cm prgdor d P.
		-- PC Users. La mejor revista de computación del mundo. ",

"SHIFT TO LEFT! SHIFT TO THE RIGHT! POP UP, PUSH DOWN, BYTE, BYTE, BYTE!
		-- Universidad de Massachussets. Utilizado en la toga del equipo para las olimpiadas informáticas. ",

"Por cada error que se le atribuye a una PC siempre se encuentran al menos dos errores humanos: el de culpar a la PC y el de confiar en ella.
		-- PC Users. La mejor revista de computación del mundo. PC Users Nº 68. ",

"Todo programa hace algo perfectamente bien, aunque no sea exactamente lo que nosotros queremos que haga.
		-- R.S. Pressmann. PC Users Nº 68. ",

"El programa es totalmente perfecto, por lo tanto la PC es que debe andar mal.
		-- Cualquier programador. PC Users Nº 68. ",

"El veloz murciélago hindú comia feliz cardillo y kiwi, La cigueña tocaba el saxofón detrás del palenque de paja.
		-- Microsoft. Frase de ejemplo para probar los fonts de Windows. (¿De dónde la sacaron?). ",

"La red mundial de Internet nos permite a hombres y mujeres llegar a los rincones más desconocidos y comunicarnos, es como llegar con la luz del sol a los lugares donde todo parece noche.
		-- Hebe de Bonafini. Presidenta de Madres de Plaza de Mayo. ",

"En China hay 1200 millones de personas que podrían entrar a Internet, pero por ahora tiene otros asuntos prioritarios que atender, como muchos otros paises.
		-- Matt Stein. Representante internacional de Yahoo. ",

"Ahora ya no se pregunta si tenés email, te lo piden directamente.
		-- Matt Stein. Representante internacional de Yahoo. ",

"En Argentina veo que el mercado se está expandiendo rápido, casi todo el mundo habla de Internet y hay muchos expertos. La gente común conoce el tema.
		-- Matt Stein. Representante internacional de Yahoo. ",

"...pronto no se necesitará un computadora para acceder a la Red, estarán los asistentes personales, la TV, los relojes inteligentes y otros.
		-- Matt Stein. Representante internacional de Yahoo. ",

"Los programadores de verdad hacen 'copy con program.exe'
		-- PC Users. La mejor revista de computación del mundo. ",

"Las computadoras de Minardi usan Windows 95.
		-- Esteban Tuero. ",

"El casco del Titanic fue diseñado con Windows 95.
		-- Www.frases.com. ",

"Dinner not ready: (A)bort (R)etry (P)izza (M)cDonalds?
		-- Www.frases.com. ",

"Amante: Versión shareware de esposa.
		-- Www.frases.com. ",

"Las computadoras hacen lo que usted manda. No lo que usted quiere.
		-- Www.frases.com. ",

"No preciso comer ni dormir. ¡Compré un MODEM!
		-- Www.frases.com. ",

"Mi mujer me dijo: O el MODEM o yo. (A veces la extraño).
		-- Www.frases.com. ",

"¿Cuál es la diferencia entre un virus y Windows 95? - El virus funciona.
		-- Www.frases.com. ",

"¿Qué es 200 veces peor que OS/2?: AS-400.
		-- Www.frases.com. ",

"La piratería es un crimen. No ataque barcos.
		-- Www.frases.com. ",

"¿Usted tiene un micro? El mío es enorme...
		-- Www.frases.com. ",

"DoubleSpace: Compactando datos y Expandiendo Problemas.
		-- Www.frases.com. ",

"¿Usted le sonrió a su computador hoy? ¿Si? ¡Más que imbécil!
		-- Www.frases.com. ",

"Merdasemerompiólabarraespaciadora.
		-- Www.frases.com. ",

"Si no consigue encontrar el problema, seguro es el BIOS (Bichito Ignorante Operando Sistema).
		-- Www.frases.com. ",

"¿US Robotics? ¿Para qué? Mi Zoltrix vue$$@@!!‘œœ/!(*!3...
		-- Www.frases.com. ",

"¿Por qué uso drogas? Tengo una 286...
		-- Www.frases.com. ",

"El computador nació para resolver problemas que antes no existían.
		-- Www.frases.com. ",

"Amar es... borrar el Windows del disco de ella.
		-- Www.frases.com. ",

"HTML: Hoy Tá Más Lento.
		-- Www.frases.com. ",

"WWW: Wait, Wait, Wait...
		-- Www.frases.com. ",

"Nueva tecnología de periféricos: Plug-and-Crack!
		-- Www.frases.com. ",

"¿Sabe por qué Intel no llamó 586 al Pentium? Porque ellos sumaron 486+100 y les dió 585,99999976542
		-- Www.frases.com. ",

"¿De dónde venimos? ¿Para dónde vamos? - ¿La respuesta, estará en Internet?
		-- Www.frases.com. ",

"A mi me gustaría criar homepages, pero no sé que comen.
		-- Www.frases.com. ",

"Windows 95 es realmente un sistema multitarea. Es el único que consigue formatear un diskette y colgar el micro al mismo tiempo.
		-- Www.frases.com. ",

"Windows 95: La gracia para quien lo vé, la desgracia de quien lo usa.
		-- Www.frases.com. ",

"yO connsigg diggtr 400 caartrerrees prr minnuut
		-- Www.frases.com. ",

"Scan report: Windows found. Remove it? (Y/Y)
		-- Www.frases.com. ",

"Si Bill Gates es un dios, Windows debe ser una plaga divina.
		-- Www.frases.com. ",

"BBS e Internet: Métodos infalibles para duplicar su cuenta telefónica.
		-- Www.frases.com. ",

"No se te ocurra usar el teléfono para llamar a los bomberos. Estoy en lo mejor de un download!!!
		-- Www.frases.com. ",

"Si Internet se está tornando una enfermedad, mi destino ya esta trazado...
		-- Www.frases.com. ",

"Compre un MODEM, navegue en Internet: gane amigos y pierda a su mujer.
		-- Www.frases.com. ",

"Si Jesús salva, Norton hace Backup.
		-- Www.frases.com. ",

"Computador que es un carro, siempre tiene un burro adelante.
		-- Www.frases.com. ",

"Error: Preservativo agujereado. (A)bortar (I)gnorar (C)asar?
		-- Www.frases.com. ",

"Un gay se sienta ante una PC y escribe: ¡Oh máquina maravillosa ¿por qué no me hablas? Y la PC responde: Yo no hablo, COMPUTO!
		-- Www.frases.com. ",

"UNDELETE *.* /P/O/R/F/A/V/O/R
		-- Www.frases.com. ",

"RAM: Raramente Adecuada Memoria.
		-- Www.frases.com. ",

"Winchester: Chester for Windows???
		-- Www.frases.com. ",

"La más nueva tecnología de transferencia de datos entre computadores es DPA / DPA (Diskette Para Allá , Diskette Para Acá).
		-- Www.frases.com. ",

"Novia embarazada: (A)borta (R)econoce (H)uye?
		-- Www.frases.com. ",

"Deltree Windows, THE REAL DOUBLESPACE!!!!
		-- Www.frases.com. ",

"Chernobil usaba Windows 95 para monitorear sus reactores.
		-- Www.frases.com. ",

"Papá, ¿qué significa formatting drive C?
		-- Www.frases.com. ",

"El Universo por nosotros conocido es apenas una versión beta.
		-- Www.frases.com. ",

"Windows 95: Ahora para Mega Drive y Nintendo!
		-- Www.frases.com. ",

"Como transformar un 486 DX4 en XT: digite win
		-- Www.frases.com. ",

"Programador huérfano busca placa-madre.
		-- Www.frases.com. ",

"Teclado no instalado! Presione para continuar.
		-- Www.frases.com. ",

"Mouse no encontrado. ¿Usted tiene gato? (S/N)
		-- Www.frases.com. ",

"Windows 95. 95 veces tendrá que re-instalarlo.
		-- Www.frases.com. ",

"Si su Windows no le dá problemas. ¡Reclame a Microsoft!
		-- Www.frases.com. ",

"Error: Sector not found. ¿Busco atrás del sofá? (S/N)
		-- Www.frases.com. ",

"MACINTOSH: Machine Always Crashes; If Not, Then OS Hangs.
		-- Www.frases.com. ",

"Error al accesar la FAT. ¿Intento accesar a tu hermana? (S/N)
		-- Www.frases.com. ",

"Los gatos de Intel tienen 6,99995634563 vidas.
		-- Www.frases.com. ",

"Aquel que nunca perdió un archivo, que tire el primer diskette.
		-- Www.frases.com. ",

"Chip, imposible comer uno, es horrible!
		-- Www.frases.com. ",

"Multitarea: Destrozar muchas cosas al mismo tiempo.
		-- Www.frases.com. ",

"Bill Gates, 1981: 640K son suficientes para cualquiera.
		-- Www.frases.com. ",

"No confunda MODEM con MODESS... el slot es diferente.
		-- Www.frases.com. ",

"Chequeando virus... Todos los virus funcionan perfectamente.
		-- Www.frases.com. ",

"Donald usa teclado. Mickey, Mouse.
		-- Www.frases.com. ",

"Errar es Humano. Redondear es Pentium.
		-- Www.frases.com. ",

"Mi HD tiene 100K de bad-sector y 130M de bad-windows.
		-- Www.frases.com. ",

"Papá ¿porqué el imán no se pega en tus diskettes?
		-- Www.frases.com. ",

"Ya que la primera impresión es lo que vale, entonces use una impresora LASER.
		-- Www.frases.com. ",

"SeR²qu®lehace mAlelcaféalte‘lado?
		-- Www.frases.com. ",

"qUIEN mE sACO lA tECLA cAPSLOCK/
		-- Www.frases.com. ",

"Técnico por teléfono: Inserte el disco 3. Usuario: No cabe, ya metí dos, no entran más.
		-- Www.frases.com. ",

"¡Ah! Aquellos DLLs estaban ocupando mucho espacio.
		-- Www.frases.com. ",

"La mayoría de los virus son transmitidos por la orina del MOUSE.
		-- Www.frases.com. ",

"Archivo no encontrado... ¿Falsifico? (S/N)
		-- Www.frases.com. ",

"Email de Esteban Tuero: ultimo.lugar@grid.f1.com
		-- Www.frases.com. ",

"Preserve el planeta: use monitores CGA.
		-- Www.frases.com. ",

"Press any key to continue or other key to quit.
		-- Www.frases.com. ",

"¿Quién es ese General Failure? ¿Porque se mete con mi disco rígido?
		-- Www.frases.com. ",

"Chips de computadora, disponibles en dos sabores: batata y silicio.
		-- Www.frases.com. ",

"Backup no encontrado. (J)a! J(a)! Ja(!).
		-- Www.frases.com. ",

"Cuanto más inútil el programa, mejor el manual.
		-- Www.frases.com. ",

"Programa de computador: Extraña forma de vida que tiene la capacidad de transformar comandos en mensajes de error.
		-- Www.frases.com. ",

"OUT OF MEMORY. Please use MEMOROL x 10Mg.
		-- Www.frases.com. ",

"Cálmese. Son sólo 0s y 1s.
		-- Www.frases.com. ",

"Muestrame tus bookmarks, y te diré quien eres.
		-- Www.frases.com. ",

"System Error: Press F13 to continue.
		-- Www.frases.com. ",

"Yo gusto de Windows 95, es él que no gusta de mí.
		-- Www.frases.com. ",

"En la película Independence Day, no fue un virus lo que los americanos colocaron en el computador de la Nave Madre. ¡Instalaron Windows 95!
		-- Www.frases.com. ",

"/=*=\ ¡Cuidado! Si usted tuviese una TK-85 eso sería una nave enemiga.
		-- Www.frases.com. ",

"La Navidad de las personas viciadas por la computadora es diferente: El 25 de diciembre, Papá Noel baja por el MODEM y desde el puerto serie dice: ¡Feliz Navidad, ROM, ROM, ROM!
		-- Www.frases.com. ",

"Usuario: ¿Usuario?, ¿qué usuario???? El que te conectó atrás del armario.
		-- Www.frases.com. ",

"Bienaventurados los pesimistas, porque ellos harán backups.
		-- Www.frases.com. ",

"Existen dos tipos de personas en el mundo de la informática: Las que ya perdieron su HD y las que lo perderán algún dia.
		-- Www.frases.com. ",

"Internet es el florecimiento de los sitios eróticos familiares.
		-- Gerard Van der Leun. Jefe de redacción de la revista Penthouse. ",

"Toda la industria de valores se mudará a la Red.
		-- Louis Gerstner. Gerente General de IBM. ",

"La computadora converge con la televisión como lo hizo el automóvil con el caballo.
		-- George Gilder. ",

"Los nombres de dominio se han convertido en commodities.
		-- Jon Postel. Presidente de IANA. ",

"La idea de que las computadoras deberían hablar un lenguaje unificado fue robada de los tiempos en que los cavernícolas se comunicaban a través de sus pinturas rupestres.
		-- Scott McNeally. Sun Microsystems. ",

"Creo que para el año 2000, las network computers (NCs) superarán en ventas a las computadoras personales (PCs).
		-- Larry Ellison. Gerente General de Oracle. ",

"Cuando percibí que todos finalmente tendrían su propio home page, tuve la inspiración de regalar home pages y organizarlas en categorías.
		-- David Bohnett. Presidente de Geocities. (Idolo). ",

"Creo que hay un mercado mundial para alrededor de cinco computadoras.
		-- Tomas J. Watson. Fundador de IBM. ",

"No hay ninguna razón para que un individuo tenga una computadora en su casa.
		-- Kennet Olsen. Fundador de Digital Equipment Corporation. ",

"Los ordenadores son inútiles. Sólo pueden darte respuestas.
		-- Pablo Picasso. (1881-1973) Pintor español. ",

"El éxito de un sistema de computación depende en gran medida de los controles que se le efectuan.
		-- Ley de la programación de ordenadores. ",

"No se fíe de los ordenadores, pero menos aun de los seres humanos.
		-- Primera Ley de fiabilidad de Gilb. "
		
    }
}
  
share/doc/alt-libicu65-devel/samples/ucnv/data06.txt000064400000004447150470307410016161 0ustar00// *******************************************************************************
// *
// *   Copyright (C) 2016 and later: Unicode, Inc. and others.
// *   License & terms of use: http://www.unicode.org/copyright.html#License
// *
// *******************************************************************************
// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************



fa {

   Version { "x0.0" }


    DayAbbreviations { 
            "ی∔",
            "د∔",
            "س∔",
            "چ∔",
            "پ∔",
            "ج∔",
            "ش∔",
    }
    DayNames { 
            "یی‌شنبه",
            "دوشنبه",
            "سه‌شنبه",
            "چهارشنبه",
            "پنج‌شنبه",
            "جمعه",
            "شنبه",
    }
    MonthAbbreviations { 
            "ژان",
            "فور",
            "مار",
            "آور",
            "مـه",
            "ژون",
            "ژوی",
            "اوت",
            "سپت",
            "اكت",
            "نوا",
            "دسا",
            "",
    }
    MonthNames { 
            "ژانویه",
            "فورویه",
            "مارس",
            "آوریل",
            "مه",
            "ژوئن",
            "ژوئیه",
            "اوت",
            "سپتامبر",
            "اكتبر",
            "نوامبر",
            "دسامبر",
            "",
    }
    NumberElements { 
            "٫",
            "٬",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "‰",
            "∞",
            "�",
    }
    NumberPatterns { 
            "#,##0.###;-#,##0.###",
            "#,##0.#¤;#,##0.#- ¤",
            "#,##0%",
    }
    LocaleID{ "29"}
            // /**************** Info Below is needed ****************/
            // CollationElements{}
            // Countries{}
            // Eras{}
            // Languages{}
            // ShortLanguage { }
            // localPatternChars{}
            //
}
share/doc/alt-libicu65-devel/samples/ucnv/Makefile000064400000001246150470307410015773 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

# Name of your target
TARGET=convsamp

# All object files (C or C++)
OBJECTS=convsamp.o flagcb.o

# Load in standard makefile definitions
include ../defs.mk

# extra files to clean up
CLEANFILES += *.out data40.utf16 data41.utf16

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/ucnv/data01.txt000064400000001103150470307410016136 0ustar00-*- Coding: utf-8 ; -*- // for emacs
[some latin, devanagari, and cyrillic text]
raj  Rajasthani  राजेस्थानी
     Konkani     कोंकणी
     Haryanvi    हरियानवी
rm Rhaeto-Romance रहेय्टो-रोमान्स
rn Kirundi किरून्दी
ro Romanian रूमानीयन्
ru Russian रुसी футбол
том
атом
Нева
Fid-dinja hawn aktar imġienen minn nies f'sensiehom.
Il-mistoqsija oħt il-għerf. (Asking is the sister of knowing.)
aфутбол중앙일보-の“日本語”
share/doc/alt-libicu65-devel/samples/ucnv/data02.bin000064400000003376150470307410016106 0ustar00��������@�����@��@���|������K����K���@�@%@����zaa���K������K����K���a����a������a�%%ȉ�����@���@Ԩ�����@��@Ö����@㈉���@��@�K@�K@�����%Յ�@薙�z@Ӆ����@P@�����@™��Kk@�@Ȗ����@⣙���K%%ŕ�����@���������@��@���@���@��@Ö������@��@���@����@�k%¨@�K�K@㖦�����@P@ÖKk%��@���@Ó���}�@ֆ����@��@���@ĉ������@Ö���@���@���@▤�����@ĉ������@��@Յ�@薙�K@%%���������@ㅁk@Ö����k@���K������%%�ׁ��@��%%戁�@��@ㅁo@%%㈅@������@��@�@�����@�����@�������@��@È���@���@с���^@��@�����@���������@��@��@�@������K@ɣ@��@��@���������k@�����@��@���@������@��@����@����@��%���@����k@���@�����@������@�����@�������k@����������@����@�����K%%ɢ@�����@����@����@���@�������@��@���@ㅁ@ד���o@%%腢k@�������^@�����@����@����������@���@���@㈅�@�����@���@㈅�@�������^@��@���@��������@��������@����@�����@���@������@��������@���@�����@���%�����@����k@���@����@����@������@����@�������@�����@�����^@���@��@��@���@������@����@���@����������@������@��@���@����@��@�����������k@���@������%����@��@���@���@��@����@����@������@�����@�������@����������K%%Ȗ�@��@���@ㅁ@ד���@ä��������o%%ɕ@È���@�����@���@�����@�������@��@���`�����k@���������@��@�����@������k@��������@��@���@�����@�������k@���@��@���@�������@�����@��@���@�����k%�����@���@����@��@�����@���@����k@���@��^�@�������K@㈅@������@���@������@����@����k@���@���������@�������@��@������@�����@�����@������@�@����@��%������@��@������@����@����k@��@����@���������@��@������@�������@�����@������^@����@����@����k@����@������@�������k@���@������������@��@�����@�����%��@���@�����K@戅�@���@����@��@�����k@���@������@���@���������@������@��@����@���@��@���k@���@�����@���@�������@�����@��@����@����������@��@����%����k@���@�����@����@��@���@������@�����@��@���@����@�����^@�@����`�����@����k@����@�������k@����@�������@���@��@�����@������@��@���@��������K%share/doc/alt-libicu65-devel/samples/ucnv/ucnv.vcxproj000064400000022114150470307410016720 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{8C95060E-61F5-464E-BB42-95B788C0D7E4}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/ucnv.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/ucnv.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/ucnv.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/ucnv.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/ucnv.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/ucnv.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/ucnv.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/ucnv.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/ucnv.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/ucnv.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/ucnv.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/ucnv.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/ucnv.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/ucnv.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/ucnv.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/ucnv.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="convsamp.cpp" />
    <ClCompile Include="flagcb.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="flagcb.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/ucnv/ucnv.sln000064400000002256150470307410016026 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ucnv", "ucnv.vcxproj", "{8C95060E-61F5-464E-BB42-95B788C0D7E4}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.ActiveCfg = Debug|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|Win32.Build.0 = Debug|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.ActiveCfg = Debug|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.Build.0 = Debug|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.ActiveCfg = Release|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|Win32.Build.0 = Release|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.ActiveCfg = Release|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/ucnv/flagcb.h000064400000003235150470307410015722 0ustar00/* © 2016 and later: Unicode, Inc. and others.
   License & terms of use: http://www.unicode.org/copyright.html#License

   Copyright (c) 2000 IBM, Inc. and Others. 
   FLAGCB.H - interface to 'flagging' callback which 
   simply marks the fact that the callback was called. 
*/

#ifndef _FLAGCB
#define _FLAGCB

#include "unicode/utypes.h"
#include "unicode/ucnv.h"

/* The structure of a FromU Flag context. 
   (conceivably there could be a ToU Flag Context) */

typedef struct
{
  UConverterFromUCallback  subCallback;
  const void               *subContext;
  UBool                    flag;
} FromUFLAGContext;

/**
 * open the context 
 */

U_CAPI FromUFLAGContext* U_EXPORT2  flagCB_fromU_openContext();

/**
 * the actual callback 
 */
U_CAPI void U_EXPORT2 flagCB_fromU(
                  const void *context,
                  UConverterFromUnicodeArgs *fromUArgs,
                  const UChar* codeUnits,
                  int32_t length,
                  UChar32 codePoint,
                  UConverterCallbackReason reason,
				  UErrorCode * err);



typedef struct
{
    UConverterFromUCallback  subCallback;
    const void               *subContext;
    uint32_t       magic;      /* 0xC0FFEE to identify that the object is OK */
    uint32_t       serial;     /* minted from nextSerial */
} debugCBContext;

U_CAPI void debugCB_fromU(const void *context,
                   UConverterFromUnicodeArgs *fromUArgs,
                   const UChar* codeUnits,
                   int32_t length,
                   UChar32 codePoint,
                   UConverterCallbackReason reason,
                   UErrorCode * err);

U_CAPI debugCBContext *debugCB_openContext();

#endif
share/doc/alt-libicu65-devel/samples/ucnv/convsamp.cpp000064400000072257150470307420016700 0ustar00/*************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
**************************************************************************
**************************************************************************
*
*   Copyright (C) 2000-2016, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
***************************************************************************
*   file name:  convsamp.c
*   encoding:   ASCII (7-bit)
*
*   created on: 2000may30
*   created by: Steven R. Loomis
*
*   Sample code for the ICU conversion routines.
*
* Note: Nothing special is needed to build this sample. Link with
*       the icu UC and icu I18N libraries. 
* 
*       I use 'assert' for error checking, you probably will want
*       something more flexible.  '***BEGIN SAMPLE***' and 
*       '***END SAMPLE***' mark pieces suitable for stand alone
*       code snippets.
*
*
*  Each test can define it's own BUFFERSIZE 
*
*/

#define DEBUG_TMI 0  /* define to 1 to enable Too Much Information */

#include <stdio.h>
#include <ctype.h>            /* for isspace, etc.    */
#include <assert.h>
#include <string.h>
#include <stdlib.h>  /* malloc */

#include "unicode/utypes.h"   /* Basic ICU data types */
#include "unicode/ucnv.h"     /* C   Converter API    */
#include "unicode/ustring.h"  /* some more string fcns*/
#include "unicode/uchar.h"    /* char names           */
#include "unicode/uloc.h"
#include "unicode/unistr.h"

#include "flagcb.h"

/* Some utility functions */
#ifndef UPRV_LENGTHOF
#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
#endif

static const UChar kNone[] = { 0x0000 };

#define U_ASSERT(x)  { if(U_FAILURE(x)) {fflush(stdout);fflush(stderr); fprintf(stderr, #x " == %s\n", u_errorName(x)); assert(U_SUCCESS(x)); }}

/* Print a UChar if possible, in seven characters. */
void prettyPrintUChar(UChar c)
{
  if(  (c <= 0x007F) &&
       (isgraph(c))  ) {
    printf(" '%c'   ", (char)(0x00FF&c));
  } else if ( c > 0x007F ) {
    char buf[1000];
    UErrorCode status = U_ZERO_ERROR;
    int32_t o;

    o = u_charName(c, U_EXTENDED_CHAR_NAME, buf, 1000, &status);
    if(U_SUCCESS(status) && (o>0) ) {
      buf[6] = 0;
      printf("%7s", buf);
    } else {
      printf(" ??????");
    }
  } else {
    switch((char)(c & 0x007F)) {
    case ' ':
      printf(" ' '   ");
      break;
    case '\t':
      printf(" \\t    ");
      break;
    case '\n':
      printf(" \\n    ");
      break;
    default:
      printf("  _    ");
      break;
    }
  }
}


void printUChars(const char  *name = "?", 
                 const UChar *uch  = kNone,
                 int32_t     len   = -1 )
{
  int32_t i;

  if( (len == -1) && (uch) ) {
    len = u_strlen(uch);
  }

  printf("%5s: ", name);
  for( i = 0; i <len; i++) {
    printf("%-6d ", i);
  }
  printf("\n");

  printf("%5s: ", "uni");
  for( i = 0; i <len; i++) {
    printf("\\u%04X ", (int)uch[i]);
  }
  printf("\n");

  printf("%5s:", "ch");
  for( i = 0; i <len; i++) {
    prettyPrintUChar(uch[i]);
  }
  printf("\n");
}

void printBytes(const char  *name = "?", 
                 const char *uch  = "",
                 int32_t     len   = -1 )
{
  int32_t i;

  if( (len == -1) && (uch) ) {
    len = static_cast<int32_t>(strlen(uch));
  }

  printf("%5s: ", name);
  for( i = 0; i <len; i++) {
    printf("%-4d ", i);
  }
  printf("\n");

  printf("%5s: ", "uni");
  for( i = 0; i <len; i++) {
    printf("\\x%02X ", 0x00FF & (int)uch[i]);
  }
  printf("\n");

  printf("%5s:", "ch");
  for( i = 0; i <len; i++) {
    if(isgraph(0x00FF & (int)uch[i])) {
      printf(" '%c' ", (char)uch[i]);
    } else {
      printf("     ");
    }
  }
  printf("\n");
}

void printUChar(UChar32 ch32)
{
    if(ch32 > 0xFFFF) {
      printf("ch: U+%06X\n", ch32);
    }
    else {
      UChar ch = (UChar)ch32;
      printUChars("C", &ch, 1);
    }
}

/*******************************************************************
  Very simple C sample to convert the word 'Moscow' in Russian in Unicode,
  followed by an exclamation mark (!) into the KOI8-R Russian code page.

  This example first creates a UChar String out of the Unicode chars.

  targetSize must be set to the amount of space available in the target
  buffer. After fromUChars is called, 
  len will contain the number of bytes in target[] which were
  used in the resulting codepage.  In this case, there is a 1:1 mapping
  between the input and output characters. The exclamation mark has the
  same value in both KOI8-R and Unicode.

  src: 0      1      2      3      4      5      6     
  uni: \u041C \u043E \u0441 \u043A \u0432 \u0430 \u0021 
   ch: CYRILL CYRILL CYRILL CYRILL CYRILL CYRILL   '!'  

 targ:  0    1    2    3    4    5    6  
  uni: \xED \xCF \xD3 \xCB \xD7 \xC1 \x21 
   ch:                                '!' 


Converting FROM unicode 
  to koi8-r.
  You must call ucnv_close to clean up the memory used by the
  converter.

  'len' returns the number of OUTPUT bytes resulting from the 
  conversion.
 */

UErrorCode convsample_02()
{
  printf("\n\n==============================================\n"
         "Sample 02: C: simple Unicode -> koi8-r conversion\n");


  // **************************** START SAMPLE *******************
  // "cat<cat>OK"
  UChar source[] = { 0x041C, 0x043E, 0x0441, 0x043A, 0x0432,
                     0x0430, 0x0021, 0x0000 };
  char target[100];
  UErrorCode status = U_ZERO_ERROR;
  UConverter *conv;
  int32_t     len;

  // set up the converter
  //! [ucnv_open]
  conv = ucnv_open("koi8-r", &status);
  //! [ucnv_open]
  assert(U_SUCCESS(status));

  // convert to koi8-r
  len = ucnv_fromUChars(conv, target, 100, source, -1, &status);
  assert(U_SUCCESS(status));

  // close the converter
  ucnv_close(conv);

  // ***************************** END SAMPLE ********************
  
  // Print it out
  printUChars("src", source);
  printf("\n");
  printBytes("targ", target, len);

  return U_ZERO_ERROR;
}


UErrorCode convsample_03()
{
  printf("\n\n==============================================\n"
         "Sample 03: C: print out all converters\n");

  int32_t count;
  int32_t i;

  // **************************** START SAMPLE *******************
  count = ucnv_countAvailable();
  printf("Available converters: %d\n", count);
  
  for(i=0;i<count;i++) 
  {
    printf("%s ", ucnv_getAvailableName(i));
  }

  // ***************************** END SAMPLE ********************
  
  printf("\n");

  return U_ZERO_ERROR;
}



#define BUFFERSIZE 17 /* make it interesting :) */

/*
  Converting from a codepage to Unicode in bulk..
  What is the best way to determine the buffer size?

     The 'buffersize' is in bytes of input.
    For a given converter, divinding this by the minimum char size
    give you the maximum number of Unicode characters that could be
    expected for a given number of input bytes.
     see: ucnv_getMinCharSize()

     For example, a single byte codepage like 'Latin-3' has a 
    minimum char size of 1. (It takes at least 1 byte to represent
    each Unicode char.) So the unicode buffer has the same number of
    UChars as the input buffer has bytes.

     In a strictly double byte codepage such as cp1362 (Windows
    Korean), the minimum char size is 2. So, only half as many Unicode
    chars as bytes are needed.

     This work to calculate the buffer size is an optimization. Any
    size of input and output buffer can be used, as long as the
    program handles the following cases: If the input buffer is empty,
    the source pointer will be equal to sourceLimit.  If the output
    buffer has overflowed, U_BUFFER_OVERFLOW_ERROR will be returned. 
 */

UErrorCode convsample_05()
{
  printf("\n\n==============================================\n"
         "Sample 05: C: count the number of letters in a UTF-8 document\n");

  FILE *f;
  int32_t count;
  char inBuf[BUFFERSIZE];
  const char *source;
  const char *sourceLimit;
  UChar *uBuf;
  UChar *target;
  UChar *targetLimit;
  UChar *p;
  int32_t uBufSize = 0;
  UConverter *conv;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t letters=0, total=0;

  f = fopen("data01.txt", "r");
  if(!f)
  {
    fprintf(stderr, "Couldn't open file 'data01.txt' (UTF-8 data file).\n");
    return U_FILE_ACCESS_ERROR;
  }

  // **************************** START SAMPLE *******************
  conv = ucnv_open("utf-8", &status);
  assert(U_SUCCESS(status));

  uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
  printf("input bytes %d / min chars %d = %d UChars\n",
         BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);
  uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
  assert(uBuf!=NULL);

  // grab another buffer's worth
  while((!feof(f)) && 
        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
  {
    // Convert bytes to unicode
    source = inBuf;
    sourceLimit = inBuf + count;
    
    do
    {
        target = uBuf;
        targetLimit = uBuf + uBufSize;
        
        ucnv_toUnicode(conv, &target, targetLimit, 
                       &source, sourceLimit, NULL,
                       feof(f)?TRUE:FALSE,         /* pass 'flush' when eof */
                                   /* is true (when no more data will come) */
                       &status);
      
        if(status == U_BUFFER_OVERFLOW_ERROR)
        {
          // simply ran out of space - we'll reset the target ptr the next
          // time through the loop.
          status = U_ZERO_ERROR;
        }
        else
        {
          //  Check other errors here.
          assert(U_SUCCESS(status));
          // Break out of the loop (by force)
        }

        // Process the Unicode
        // Todo: handle UTF-16/surrogates

        for(p = uBuf; p<target; p++)
        {
          if(u_isalpha(*p))
            letters++;
          total++;
        }
    } while (source < sourceLimit); // while simply out of space
  }

  printf("%d letters out of %d total UChars.\n", letters, total);
  
  // ***************************** END SAMPLE ********************
  ucnv_close(conv);

  printf("\n");

  fclose(f);

  return U_ZERO_ERROR;
}
#undef BUFFERSIZE

#define BUFFERSIZE 1024
typedef struct
{
  UChar32  codepoint;
  uint32_t frequency;
} CharFreqInfo;

UErrorCode convsample_06()
{
  printf("\n\n==============================================\n"
         "Sample 06: C: frequency distribution of letters in a UTF-8 document\n");

  FILE *f;
  int32_t count;
  char inBuf[BUFFERSIZE];
  const char *source;
  const char *sourceLimit;
  int32_t uBufSize = 0;
  UConverter *conv;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t letters=0, total=0;

  CharFreqInfo   *info;
  UChar32   charCount = 0x10000;  /* increase this if you want to handle non bmp.. todo: automatically bump it.. */
  UChar32   p;

  uint32_t ie = 0;
  uint32_t gh = 0;
  UChar32 l = 0;

  f = fopen("data06.txt", "r");
  if(!f)
  {
    fprintf(stderr, "Couldn't open file 'data06.txt' (UTF-8 data file).\n");
    return U_FILE_ACCESS_ERROR;
  }

  info = (CharFreqInfo*)malloc(sizeof(CharFreqInfo) * charCount);
  if(!info)
  {
    fprintf(stderr, " Couldn't allocate %d bytes for freq counter\n", static_cast<int>(sizeof(CharFreqInfo)*charCount));
  }

  /* reset frequencies */
  for(p=0;p<charCount;p++)
  {
    info[p].codepoint = p;
    info[p].frequency = 0;
  }

  // **************************** START SAMPLE *******************
  conv = ucnv_open("utf-8", &status);
  assert(U_SUCCESS(status));

  uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
  printf("input bytes %d / min chars %d = %d UChars\n",
         BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);

  // grab another buffer's worth
  while((!feof(f)) && 
        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
  {
    // Convert bytes to unicode
    source = inBuf;
    sourceLimit = inBuf + count;
    
    while(source < sourceLimit)
    {
      p = ucnv_getNextUChar(conv, &source, sourceLimit, &status);
      if(U_FAILURE(status))
      {
        fprintf(stderr, "%s @ %d\n", u_errorName(status), total);
        status = U_ZERO_ERROR;
        continue;
      }
      U_ASSERT(status);
      total++;

      if(u_isalpha(p))
        letters++;

      if((u_tolower(l) == 'i') && (u_tolower(p) == 'e'))
        ie++;

      if((u_tolower(l) == 'g') && (u_tolower(p) == 0x0127))
        gh++;

      if(p>charCount)
      {
        fprintf(stderr, "U+%06X: oh.., we only handle BMP characters so far.. redesign!\n", p);
        free(info);
        fclose(f);
        ucnv_close(conv);
        return U_UNSUPPORTED_ERROR;
      }
      info[p].frequency++;
      l = p;
    }
  }

  fclose(f);
  ucnv_close(conv);

  printf("%d letters out of %d total UChars.\n", letters, total);
  printf("%d ie digraphs, %d gh digraphs.\n", ie, gh);

  // now, we could sort it..

  //  qsort(info, charCount, sizeof(info[0]), charfreq_compare);

  for(p=0;p<charCount;p++)
  {
    if(info[p].frequency)
    {
      printf("% 5d U+%06X ", info[p].frequency, p);
      if(p <= 0xFFFF)
      {
        prettyPrintUChar((UChar)p);
      }
      printf("\n");
    }
  }
  free(info);
  // ***************************** END SAMPLE ********************

  printf("\n");

  return U_ZERO_ERROR;
}
#undef BUFFERSIZE


/******************************************************
  You must call ucnv_close to clean up the memory used by the
  converter.

  'len' returns the number of OUTPUT bytes resulting from the 
  conversion.
 */

UErrorCode convsample_12()
{
  printf("\n\n==============================================\n"
         "Sample 12: C: simple sjis -> unicode conversion\n");


  // **************************** START SAMPLE *******************

  char source[] = { 0x63, 0x61, 0x74, (char)0x94, 0x4C, (char)0x82, 0x6E, (char)0x82, 0x6A, 0x00 };
  UChar target[100];
  UErrorCode status = U_ZERO_ERROR;
  UConverter *conv;
  int32_t     len;

  // set up the converter
  conv = ucnv_open("shift_jis", &status);
  assert(U_SUCCESS(status));

  // convert to Unicode
  // Note: we can use strlen, we know it's an 8 bit null terminated codepage
  target[6] = 0xFDCA;
  len = ucnv_toUChars(conv, target, 100, source, static_cast<int32_t>(strlen(source)), &status);
  U_ASSERT(status);
  // close the converter
  ucnv_close(conv);

  // ***************************** END SAMPLE ********************
  
  // Print it out
  printBytes("src", source, static_cast<int32_t>(strlen(source)) );
  printf("\n");
  printUChars("targ", target, len);

  return U_ZERO_ERROR;
}

/******************************************************************
   C: Convert from codepage to Unicode one at a time. 
*/
  
UErrorCode convsample_13()
{
  printf("\n\n==============================================\n"
         "Sample 13: C: simple Big5 -> unicode conversion, char at a time\n");


  const char sourceChars[] = { 0x7a, 0x68, 0x3d, (char)0xa4, (char)0xa4, (char)0xa4, (char)0xe5, (char)0x2e };
  //  const char sourceChars[] = { 0x7a, 0x68, 0x3d, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0x2e };
  const char *source, *sourceLimit;
  UChar32 target;
  UErrorCode status = U_ZERO_ERROR;
  UConverter *conv = NULL;
  int32_t srcCount=0;
  int32_t dstCount=0;
  
  srcCount = sizeof(sourceChars);

  conv = ucnv_open("Big5", &status);
  U_ASSERT(status);

  source = sourceChars;
  sourceLimit = sourceChars + sizeof(sourceChars);

  // **************************** START SAMPLE *******************


  printBytes("src", source, static_cast<int32_t>(sourceLimit - source));

  while(source < sourceLimit)
  {
    puts("");
    target = ucnv_getNextUChar (conv,
                                &source,
                                sourceLimit,
                                &status);
    
    //    printBytes("src",source,sourceLimit-source);
    U_ASSERT(status);
    printUChar(target);
    dstCount++;
  }
  
  
  // ************************** END SAMPLE *************************
  
  printf("src=%d bytes, dst=%d uchars\n", srcCount, dstCount);
  ucnv_close(conv);

  return U_ZERO_ERROR;
}




UBool convsample_20_didSubstitute(const char *source)
{
  UChar uchars[100];
  char bytes[100];
  UConverter *conv = NULL;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t len, len2;
  UBool  flagVal;
  
  FromUFLAGContext * context = NULL;

  printf("\n\n==============================================\n"
         "Sample 20: C: Test for substitution using callbacks\n");

  /* print out the original source */
  printBytes("src", source);
  printf("\n");

  /* First, convert from UTF8 to unicode */
  conv = ucnv_open("utf-8", &status);
  U_ASSERT(status);

  len = ucnv_toUChars(conv, uchars, 100, source, static_cast<int32_t>(strlen(source)), &status);
  U_ASSERT(status);
 
  printUChars("uch", uchars, len);
  printf("\n");

  /* Now, close the converter */
  ucnv_close(conv);

  /* Now, convert to windows-1252 */
  conv = ucnv_open("windows-1252", &status);
  U_ASSERT(status);

  /* Converter starts out with the SUBSTITUTE callback set. */

  /* initialize our callback */
  context = flagCB_fromU_openContext();

  /* Set our special callback */
  ucnv_setFromUCallBack(conv,
                        flagCB_fromU,
                        context,
                        &(context->subCallback),
                        &(context->subContext),
                        &status);

  U_ASSERT(status);

  len2 = ucnv_fromUChars(conv, bytes, 100, uchars, len, &status);
  U_ASSERT(status);

  flagVal = context->flag;  /* it's about to go away when we close the cnv */

  ucnv_close(conv);

  /* print out the original source */
  printBytes("bytes", bytes, len2);

  return flagVal; /* true if callback was called */
}

UErrorCode convsample_20()
{
  const char *sample1 = "abc\xdf\xbf";
  const char *sample2 = "abc_def";


  if(convsample_20_didSubstitute(sample1))
  {
    printf("DID substitute.\n******\n");
  }
  else
  {
    printf("Did NOT substitute.\n*****\n");
  }

  if(convsample_20_didSubstitute(sample2))
  {
    printf("DID substitute.\n******\n");
  }
  else
  {
    printf("Did NOT substitute.\n*****\n");
  }

  return U_ZERO_ERROR;
}

// 21  - C, callback, with clone and debug



UBool convsample_21_didSubstitute(const char *source)
{
  UChar uchars[100];
  char bytes[100];
  UConverter *conv = NULL, *cloneCnv = NULL;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t len, len2;
  UBool  flagVal = FALSE;
  UConverterFromUCallback junkCB;
  
  FromUFLAGContext *flagCtx = NULL, 
                   *cloneFlagCtx = NULL;

  debugCBContext   *debugCtx1 = NULL,
                   *debugCtx2 = NULL,
                   *cloneDebugCtx = NULL;

  printf("\n\n==============================================\n"
         "Sample 21: C: Test for substitution w/ callbacks & clones \n");

  /* print out the original source */
  printBytes("src", source);
  printf("\n");

  /* First, convert from UTF8 to unicode */
  conv = ucnv_open("utf-8", &status);
  U_ASSERT(status);

  len = ucnv_toUChars(conv, uchars, 100, source, static_cast<int32_t>(strlen(source)), &status);
  U_ASSERT(status);
 
  printUChars("uch", uchars, len);
  printf("\n");

  /* Now, close the converter */
  ucnv_close(conv);

  /* Now, convert to windows-1252 */
  conv = ucnv_open("windows-1252", &status);
  U_ASSERT(status);

  /* Converter starts out with the SUBSTITUTE callback set. */

  /* initialize our callback */
  /* from the 'bottom' innermost, out
   *   CNV ->  debugCtx1[debug]  ->  flagCtx[flag] -> debugCtx2[debug]  */

#if DEBUG_TMI
  printf("flagCB_fromU = %p\n", &flagCB_fromU);
  printf("debugCB_fromU = %p\n", &debugCB_fromU);
#endif

  debugCtx1 = debugCB_openContext();
   flagCtx  = flagCB_fromU_openContext();
  debugCtx2 = debugCB_openContext();

  debugCtx1->subCallback =  flagCB_fromU;  /* debug1 -> flag */
  debugCtx1->subContext  =  flagCtx;

  flagCtx->subCallback   =  debugCB_fromU; /*  flag -> debug2 */
  flagCtx->subContext    =  debugCtx2;

  debugCtx2->subCallback =  UCNV_FROM_U_CALLBACK_SUBSTITUTE;
  debugCtx2->subContext  = NULL;

  /* Set our special callback */

  ucnv_setFromUCallBack(conv,
                        debugCB_fromU,
                        debugCtx1,
                        &(debugCtx2->subCallback),
                        &(debugCtx2->subContext),
                        &status);

  U_ASSERT(status);

#if DEBUG_TMI
  printf("Callback chain now: Converter %p -> debug1:%p-> (%p:%p)==flag:%p -> debug2:%p -> cb %p\n",
         conv, debugCtx1, debugCtx1->subCallback,
         debugCtx1->subContext, flagCtx, debugCtx2, debugCtx2->subCallback);
#endif

  cloneCnv = ucnv_safeClone(conv, NULL, NULL, &status);

  U_ASSERT(status);

#if DEBUG_TMI
  printf("Cloned converter from %p -> %p.  Closing %p.\n", conv, cloneCnv, conv);
#endif
  
  ucnv_close(conv);

#if DEBUG_TMI
  printf("%p closed.\n", conv);
#endif 

  U_ASSERT(status);
  /* Now, we have to extract the context */
  cloneDebugCtx = NULL;
  cloneFlagCtx  = NULL;

  ucnv_getFromUCallBack(cloneCnv, &junkCB, (const void **)&cloneDebugCtx);
  if(cloneDebugCtx != NULL) {
      cloneFlagCtx = (FromUFLAGContext*) cloneDebugCtx -> subContext;
  }

  printf("Cloned converter chain: %p -> %p[debug1] -> %p[flag] -> %p[debug2] -> substitute\n",
         cloneCnv, cloneDebugCtx, cloneFlagCtx, cloneFlagCtx?cloneFlagCtx->subContext:NULL );

  len2 = ucnv_fromUChars(cloneCnv, bytes, 100, uchars, len, &status);
  U_ASSERT(status);

  if(cloneFlagCtx != NULL) {
      flagVal = cloneFlagCtx->flag;  /* it's about to go away when we close the cnv */
  } else {
      printf("** Warning, couldn't get the subcallback \n");
  }

  ucnv_close(cloneCnv);

  /* print out the original source */
  printBytes("bytes", bytes, len2);

  return flagVal; /* true if callback was called */
}

UErrorCode convsample_21()
{
  const char *sample1 = "abc\xdf\xbf";
  const char *sample2 = "abc_def";

  if(convsample_21_didSubstitute(sample1))
  {
    printf("DID substitute.\n******\n");
  }
  else
  {
    printf("Did NOT substitute.\n*****\n");
  }

  if(convsample_21_didSubstitute(sample2))
  {
    printf("DID substitute.\n******\n");
  }
  else
  {
    printf("Did NOT substitute.\n*****\n");
  }

  return U_ZERO_ERROR;
}


//  40-  C, cp37 -> UTF16 [data02.bin -> data40.utf16]

#define BUFFERSIZE 17 /* make it interesting :) */

UErrorCode convsample_40()
{
  printf("\n\n==============================================\n"
    "Sample 40: C: convert data02.bin from cp37 to UTF16 [data40.utf16]\n");

  FILE *f;
  FILE *out;
  int32_t count;
  char inBuf[BUFFERSIZE];
  const char *source;
  const char *sourceLimit;
  UChar *uBuf;
  UChar *target;
  UChar *targetLimit;
  int32_t uBufSize = 0;
  UConverter *conv = NULL;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t inbytes=0, total=0;

  f = fopen("data02.bin", "rb");
  if(!f)
  {
    fprintf(stderr, "Couldn't open file 'data02.bin' (cp37 data file).\n");
    return U_FILE_ACCESS_ERROR;
  }

  out = fopen("data40.utf16", "wb");
  if(!out)
  {
    fprintf(stderr, "Couldn't create file 'data40.utf16'.\n");
    fclose(f);
    return U_FILE_ACCESS_ERROR;
  }

  // **************************** START SAMPLE *******************
  conv = ucnv_openCCSID(37, UCNV_IBM, &status);
  assert(U_SUCCESS(status));

  uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
  printf("input bytes %d / min chars %d = %d UChars\n",
         BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);
  uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
  assert(uBuf!=NULL);

  // grab another buffer's worth
  while((!feof(f)) && 
        ((count=static_cast<int32_t>(fread(inBuf, 1, BUFFERSIZE , f))) > 0) )
  {
    inbytes += count;

    // Convert bytes to unicode
    source = inBuf;
    sourceLimit = inBuf + count;
    
    do
    {
        target = uBuf;
        targetLimit = uBuf + uBufSize;
        
        ucnv_toUnicode( conv, &target, targetLimit, 
                       &source, sourceLimit, NULL,
                       feof(f)?TRUE:FALSE,         /* pass 'flush' when eof */
                                   /* is true (when no more data will come) */
                         &status);
      
        if(status == U_BUFFER_OVERFLOW_ERROR)
        {
          // simply ran out of space - we'll reset the target ptr the next
          // time through the loop.
          status = U_ZERO_ERROR;
        }
        else
        {
          //  Check other errors here.
          assert(U_SUCCESS(status));
          // Break out of the loop (by force)
        }

        // Process the Unicode
        // Todo: handle UTF-16/surrogates
        assert(fwrite(uBuf, sizeof(uBuf[0]), (target-uBuf), out) == (size_t)(target-uBuf));
        total += static_cast<uint32_t>((target-uBuf));
    } while (source < sourceLimit); // while simply out of space
  }

  printf("%d bytes in,  %d UChars out.\n", inbytes, total);
  
  // ***************************** END SAMPLE ********************
  ucnv_close(conv);

  fclose(f);
  fclose(out);
  printf("\n");

  return U_ZERO_ERROR;
}
#undef BUFFERSIZE



//  46-  C, UTF16 -> latin2 [data40.utf16 -> data46.out]

#define BUFFERSIZE 24 /* make it interesting :) */

UErrorCode convsample_46()
{
  printf("\n\n==============================================\n"
    "Sample 46: C: convert data40.utf16 from UTF16 to latin2 [data46.out]\n");

  FILE *f;
  FILE *out;
  int32_t count;
  UChar inBuf[BUFFERSIZE];
  const UChar *source;
  const UChar *sourceLimit;
  char *buf;
  char *target;
  char *targetLimit;

  int32_t bufSize = 0;
  UConverter *conv = NULL;
  UErrorCode status = U_ZERO_ERROR;
  uint32_t inchars=0, total=0;

  f = fopen("data40.utf16", "rb");
  if(!f)
  {
    fprintf(stderr, "Couldn't open file 'data40.utf16' (did you run convsample_40() ?)\n");
    return U_FILE_ACCESS_ERROR;
  }

  out = fopen("data46.out", "wb");
  if(!out)
  {
    fprintf(stderr, "Couldn't create file 'data46.out'.\n");
    fclose(f);
    return U_FILE_ACCESS_ERROR;
  }

  // **************************** START SAMPLE *******************
  conv = ucnv_open( "iso-8859-2", &status);
  assert(U_SUCCESS(status));

  bufSize = (BUFFERSIZE*ucnv_getMaxCharSize(conv));
  printf("input UChars[16] %d * max charsize %d = %d bytes output buffer\n",
         BUFFERSIZE, ucnv_getMaxCharSize(conv), bufSize);
  buf = (char*)malloc(bufSize * sizeof(char));
  assert(buf!=NULL);

  // grab another buffer's worth
  while((!feof(f)) && 
        ((count=static_cast<int32_t>(fread(inBuf, sizeof(UChar), BUFFERSIZE , f))) > 0) )
  {
    inchars += count;

    // Convert bytes to unicode
    source = inBuf;
    sourceLimit = inBuf + count;
    
    do
    {
        target = buf;
        targetLimit = buf + bufSize;
        
        ucnv_fromUnicode( conv, &target, targetLimit, 
                       &source, sourceLimit, NULL,
                       feof(f)?TRUE:FALSE,         /* pass 'flush' when eof */
                                   /* is true (when no more data will come) */
                         &status);
      
        if(status == U_BUFFER_OVERFLOW_ERROR)
        {
          // simply ran out of space - we'll reset the target ptr the next
          // time through the loop.
          status = U_ZERO_ERROR;
        }
        else
        {
          //  Check other errors here.
          assert(U_SUCCESS(status));
          // Break out of the loop (by force)
        }

        // Process the Unicode
        assert(fwrite(buf, sizeof(buf[0]), (target-buf), out) == (size_t)(target-buf));
        total += static_cast<uint32_t>((target-buf));
    } while (source < sourceLimit); // while simply out of space
  }

  printf("%d Uchars (%d bytes) in, %d chars out.\n", inchars, static_cast<int>(inchars * sizeof(UChar)), total);
  
  // ***************************** END SAMPLE ********************
  ucnv_close(conv);

  fclose(f);
  fclose(out);
  printf("\n");

  return U_ZERO_ERROR;
}
#undef BUFFERSIZE

#define BUFFERSIZE 219

void convsample_50() {
  printf("\n\n==============================================\n"
         "Sample 50: C: ucnv_detectUnicodeSignature\n");

  //! [ucnv_detectUnicodeSignature]
  UErrorCode err = U_ZERO_ERROR;
  UBool discardSignature = TRUE; /* set to TRUE to throw away the initial U+FEFF */
  char input[] = { '\xEF','\xBB', '\xBF','\x41','\x42','\x43' };
  int32_t signatureLength = 0;
  const char *encoding = ucnv_detectUnicodeSignature(input,sizeof(input),&signatureLength,&err);
  UConverter *conv = NULL;
  UChar output[100];
  UChar *target = output, *out;
  const char *source = input;
  if(encoding!=NULL && U_SUCCESS(err)){
    // should signature be discarded ?
    conv = ucnv_open(encoding, &err);
    // do the conversion
    ucnv_toUnicode(conv,
                   &target, output + UPRV_LENGTHOF(output),
                   &source, input + sizeof(input),
                   NULL, TRUE, &err);
    out = output;
    if (discardSignature){
      ++out; // ignore initial U+FEFF
    }
    while(out != target) {
      printf("%04x ", *out++);
    }
    puts("");
  }
  //! [ucnv_detectUnicodeSignature]
  puts("");
}



/* main */

int main()
{

  printf("Default Converter=%s\n", ucnv_getDefaultName() );
  
  convsample_02();  // C  , u->koi8r, conv
  convsample_03();  // C,   iterate

  convsample_05();  // C,  utf8->u, getNextUChar
  convsample_06(); // C freq counter thingy

  convsample_12();  // C,  sjis->u, conv
  convsample_13();  // C,  big5->u, getNextU
  
  convsample_20();  // C, callback
  convsample_21();  // C, callback debug
  
  convsample_40();  // C,   cp37 -> UTF16 [data02.bin -> data40.utf16]
  
  convsample_46();  // C,  UTF16 -> latin3 [data41.utf16 -> data46.out]

  convsample_50();  // C, detect unicode signature
  
  printf("End of converter samples.\n");
  
  fflush(stdout);
  fflush(stderr);
  
  return 0;
}
share/doc/alt-libicu65-devel/samples/ucnv/flagcb.c000064400000021745150470307420015724 0ustar00/**************************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 **************************************************************************
 **************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2007, International Business Machines Corporation and
 * others. All Rights Reserved.
 **************************************************************************/

#include "unicode/utypes.h"
#include "unicode/ucnv.h"
#include "flagcb.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#define DEBUG_TMI 0  /* set to 1 for Too Much Information (TMI) */

U_CAPI FromUFLAGContext* U_EXPORT2  flagCB_fromU_openContext()
{
    FromUFLAGContext *ctx;

    ctx = (FromUFLAGContext*) malloc(sizeof(FromUFLAGContext));

    ctx->subCallback = NULL;
    ctx->subContext  = NULL;
    ctx->flag        = FALSE;

    return ctx;
}

U_CAPI void U_EXPORT2 flagCB_fromU(
                  const void *context,
                  UConverterFromUnicodeArgs *fromUArgs,
                  const UChar* codeUnits,
                  int32_t length,
                  UChar32 codePoint,
                  UConverterCallbackReason reason,
				  UErrorCode * err)
{
  /* First step - based on the reason code, take action */

  if(reason == UCNV_UNASSIGNED) { /* whatever set should be trapped here */
    ((FromUFLAGContext*)context)->flag = TRUE;
  }

  if(reason == UCNV_CLONE) {
      /* The following is the recommended way to implement UCNV_CLONE
         in a callback. */
      UConverterFromUCallback   saveCallback;
      const void *saveContext;
      FromUFLAGContext *old, *cloned;
      UErrorCode subErr = U_ZERO_ERROR;

#if DEBUG_TMI
      printf("*** FLAGCB: cloning %p ***\n", context);
#endif
      old = (FromUFLAGContext*)context;
      cloned = flagCB_fromU_openContext();
      
      memcpy(cloned, old, sizeof(FromUFLAGContext));

#if DEBUG_TMI
      printf("%p: my subcb=%p:%p\n", old, old->subCallback, 
             old->subContext);
      printf("%p: cloned subcb=%p:%p\n", cloned, cloned->subCallback, 
             cloned->subContext);
#endif

      /* We need to get the sub CB to handle cloning, 
       * so we have to set up the following, temporarily:
       *
       *   - Set the callback+context to the sub of this (flag) cb
       *   - preserve the current cb+context, it could be anything
       *
       *   Before:
       *      CNV  ->   FLAG ->  subcb -> ...
       *
       *   After:
       *      CNV  ->   subcb -> ...
       *
       *    The chain from 'something' on is saved, and will be restored
       *   at the end of this block.
       *
       */
      
      ucnv_setFromUCallBack(fromUArgs->converter,
                            cloned->subCallback,
                            cloned->subContext,
                            &saveCallback,
                            &saveContext,
                            &subErr);
      
      if( cloned->subCallback != NULL ) {
          /* Now, call the sub callback if present */
          cloned->subCallback(cloned->subContext, fromUArgs, codeUnits,
                              length, codePoint, reason, err);
      }
      
      ucnv_setFromUCallBack(fromUArgs->converter,
                            saveCallback,  /* Us */
                            cloned,        /* new context */
                            &cloned->subCallback,  /* IMPORTANT! Accept any change in CB or context */
                            &cloned->subContext,
                            &subErr);

      if(U_FAILURE(subErr)) {
          *err = subErr;
      }
  }

  /* process other reasons here if need be */

  /* Always call the subCallback if present */
  if(((FromUFLAGContext*)context)->subCallback != NULL &&
      reason != UCNV_CLONE) {
      ((FromUFLAGContext*)context)->subCallback(  ((FromUFLAGContext*)context)->subContext,
                                                  fromUArgs,
                                                  codeUnits,
                                                  length,
                                                  codePoint,
                                                  reason,
                                                  err);
  }

  /* cleanup - free the memory AFTER calling the sub CB */
  if(reason == UCNV_CLOSE) {
      free((void*)context);
  }
}

/* Debugging callback, just outputs what happens */

/* Test safe clone callback */

static uint32_t    debugCB_nextSerial()
{
    static uint32_t n = 1;
    
    return (n++);
}

static void debugCB_print_log(debugCBContext *q, const char *name)
{
    if(q==NULL) {
        printf("debugCBontext: %s is NULL!!\n", name);
    } else {
        if(q->magic != 0xC0FFEE) {
            fprintf(stderr, "debugCBContext: %p:%d's magic is %x, supposed to be 0xC0FFEE\n",
                    q,q->serial, q->magic);
        }
        printf("debugCBContext %p:%d=%s - magic %x\n",
                    q, q->serial, name, q->magic);
    }
}

static debugCBContext *debugCB_clone(debugCBContext *ctx)
{
    debugCBContext *newCtx;
    newCtx = malloc(sizeof(debugCBContext));
    
    newCtx->serial = debugCB_nextSerial();
    newCtx->magic = 0xC0FFEE;

    newCtx->subCallback = ctx->subCallback;
    newCtx->subContext = ctx->subContext;
    
#if DEBUG_TMI
    printf("debugCB_clone: %p:%d -> new context %p:%d\n", ctx, ctx->serial, newCtx, newCtx->serial);
#endif
    
    return newCtx;
}

void debugCB_fromU(const void *context,
                   UConverterFromUnicodeArgs *fromUArgs,
                   const UChar* codeUnits,
                   int32_t length,
                   UChar32 codePoint,
                   UConverterCallbackReason reason,
                   UErrorCode * err)
{
    debugCBContext *ctx = (debugCBContext*)context;
    /*UConverterFromUCallback junkFrom;*/
    
#if DEBUG_TMI
    printf("debugCB_fromU: Context %p:%d called, reason %d on cnv %p [err=%s]\n", ctx, ctx->serial, reason, fromUArgs->converter, u_errorName(*err));
#endif

    if(ctx->magic != 0xC0FFEE) {
        fprintf(stderr, "debugCB_fromU: Context %p:%d magic is 0x%x should be 0xC0FFEE.\n", ctx,ctx->serial, ctx->magic);
        return;
    }

    if(reason == UCNV_CLONE) {
        /* see comments in above flagCB clone code */

        UConverterFromUCallback   saveCallback;
        const void *saveContext;
        debugCBContext *cloned;
        UErrorCode subErr = U_ZERO_ERROR;

        /* "recreate" it */
#if DEBUG_TMI
        printf("debugCB_fromU: cloning..\n");
#endif
        cloned = debugCB_clone(ctx);

        if(cloned == NULL) {
            fprintf(stderr, "debugCB_fromU: internal clone failed on %p\n", ctx);
            *err = U_MEMORY_ALLOCATION_ERROR;
            return;
        }

        ucnv_setFromUCallBack(fromUArgs->converter,
                              cloned->subCallback,
                              cloned->subContext,
                              &saveCallback,
                              &saveContext,
                              &subErr);
        
        if( cloned->subCallback != NULL) {
#if DEBUG_TMI
            printf("debugCB_fromU:%p calling subCB %p\n", ctx, cloned->subCallback);
#endif
            /* call subCB if present */
            cloned->subCallback(cloned->subContext, fromUArgs, codeUnits,
                                length, codePoint, reason, err);
        } else {
            printf("debugCB_fromU:%p, NOT calling subCB, it's NULL\n", ctx);
        }

        /* set back callback */
        ucnv_setFromUCallBack(fromUArgs->converter,
                              saveCallback,  /* Us */
                              cloned,        /* new context */
                              &cloned->subCallback,  /* IMPORTANT! Accept any change in CB or context */
                              &cloned->subContext,
                              &subErr);
        
        if(U_FAILURE(subErr)) {
            *err = subErr;
        }
    }
    
    /* process other reasons here */

    /* always call subcb if present */
    if(ctx->subCallback != NULL && reason != UCNV_CLONE) {
        ctx->subCallback(ctx->subContext,
                         fromUArgs,
                         codeUnits,
                         length,
                         codePoint,
                         reason,
                         err);
    }

    if(reason == UCNV_CLOSE) {
#if DEBUG_TMI
        printf("debugCB_fromU: Context %p:%d closing\n", ctx, ctx->serial);
#endif
        free(ctx);
    }

#if DEBUG_TMI
    printf("debugCB_fromU: leaving cnv %p, ctx %p: err %s\n", fromUArgs->converter, ctx, u_errorName(*err));
#endif
}

debugCBContext *debugCB_openContext()
{
    debugCBContext *ctx;

    ctx = malloc(sizeof(debugCBContext));

    if(ctx != NULL) {
        ctx->magic = 0xC0FFEE;
        ctx->serial = debugCB_nextSerial();
        ctx->subCallback = NULL;
        ctx->subContext  = NULL;

#if DEBUG_TMI
        fprintf(stderr, "debugCB:openContext opened[%p] = serial #%d\n", ctx, ctx->serial);
#endif

    }


    return ctx;
}
share/doc/alt-libicu65-devel/samples/ucnv/readme.txt000064400000004705150470307420016335 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (C) 2002-2010, International Business Machines
Corporation and others.  All Rights Reserved.

convsamp: a sample program which demonstrates using ICU conversion

This sample demonstrates
         Opening and closing converters using the C api
         String manipulation in C 
         Writing a custom conversion callback function

         
Files:
    convsamp.c                 Main source file
    flagcb.h                   codepage output convenience header
    flagcb.c                   codepage output convenience implementation
    ucnv.sln                   Windows MSVC workspace.  Double-click this to get started.
    ucnv.vcproj                Windows MSVC project file

To Build ucnv on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\ucnv\ucnv.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the ufortune directory, e.g.
            cd c:\icu\source\samples\ucnv\debug
    4.  Run it
            ucnv
    WARNING: The .bin and .txt files must be in the same directory as the executable, which is not the case by default on some systems.

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install

    3.  Build 
           set the variable ICU_PREFIX=<icu install>
           gmake all
           
 To Run on Unixes
           cd <icu directory>/source/samples/ucnv
           
           gmake check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           convsamp
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/ucnv/ucnv.vcxproj.filters000064400000002100150470307420020361 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{a6fcae56-1378-4c39-8eba-41a0b2ce48cc}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{3f311d2a-87ba-4d72-a595-0996b7f3b3ee}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{1ac535db-fcad-45d6-87f2-3eb87a31a25f}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="convsamp.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="flagcb.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="flagcb.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/Makefile.in000064400000005771150470307420015435 0ustar00## Makefile.in for ICU samples
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Copyright (c) 1999-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Install directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@

top_builddir = ..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples

## Platform-specific setup
include @platform_make_fragment@

## Files to remove for 'make clean'
CLEANFILES = *~

SUBDIRS = date cal
ALLSUBDIRS = break case csdet datefmt msgfmt numfmt props translit ucnv udata ufortune uresb ustring citer uciter8 ugrep

## List of phony targets
.PHONY : all all-local all-recursive install install-local		\
install-recursive clean clean-local clean-recursive distclean		\
distclean-local distclean-recursive dist dist-recursive dist-local	\
check check-recursive check-local check-exhaustive

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-recursive all-local
install: install-recursive install-local
clean: clean-recursive clean-local
distclean : distclean-recursive distclean-local
dist: dist-recursive dist-local

all-samples: all-samples-recursive
clean-samples: clean-samples-recursive
check-samples: check-samples-recursive

# Note (srl 4/15/2002) do  NOT recursively check samples for 2.1, look into testing them in the future.
#check: all check-recursive check-local
check: all check-local

check-exhaustive: check

## Recursive targets
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive:
	@dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-local"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $$local_target) || exit; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) "$$target-local" || exit; \
	fi

all-samples-recursive check-samples-recursive clean-samples-recursive:
	@dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	subtarget=`echo $@ | sed s/-samples-recursive//`; \
	list='$(SUBDIRS) $(ALLSUBDIRS)'; for subdir in $$list; do \
	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$subtarget' in \`$$subdir'"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$subtarget-local"; \
	  else \
	    local_target="$$subtarget"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $$local_target) || exit; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) "$$subtarget-local" || exit; \
	fi


all-local:

install-local:

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)

check-local:

distclean-local: clean-local
	$(RMV) Makefile

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
share/doc/alt-libicu65-devel/samples/datefmt/util.h000064400000001567150470307420016141 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg);

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source);

// Print the given string to stdout
void uprintf(const UnicodeString &str);
share/doc/alt-libicu65-devel/samples/datefmt/Makefile000064400000001126150470307420016442 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

# Name of your target
TARGET=datefmt

# All object files (C or C++)
OBJECTS=main.o util.o

# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/datefmt/answers/main_3.cpp000064400000006034150470307420020341 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

/**
 * If the ID supplied to TimeZone is not a valid system ID,
 * TimeZone::createTimeZone() will return a GMT zone object.  In order
 * to detect this error, we check the ID of the returned zone against
 * the ID we requested.  If they don't match, we fail with an error.
 */
TimeZone* createZone(const UnicodeString& id) {
    UnicodeString str;
    TimeZone* zone = TimeZone::createTimeZone(id);
    if (zone->getID(str) != id) {
        delete zone;
        printf("Error: TimeZone::createTimeZone(");
        uprintf(id);
        printf(") returned zone with ID ");
        uprintf(str);
        printf("\n");
        exit(1);
    }
    return zone;
}

int main(int argc, char **argv) {

    Calendar *cal;
    TimeZone *zone;
    DateFormat *fmt;
    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    UDate date;

    // The languages in which we will display the date
    static char* LANGUAGE[] = {
        "en", "de", "fr"
    };
    static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]);

    // The time zones in which we will display the time
    static char* TIMEZONE[] = {
        "America/Los_Angeles",
        "America/New_York",
        "Europe/Paris",
        "Europe/Berlin"
    };
    static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]);

    // Create a calendar
    cal = Calendar::createInstance(status);
    check(status, "Calendar::createInstance");
    zone = createZone("GMT"); // Create a GMT zone
    cal->adoptTimeZone(zone);
    cal->clear();
    cal->set(1999, Calendar::JUNE, 4);
    date = cal->getTime(status);
    check(status, "Calendar::getTime");

    for (int32_t i=0; i<N_LANGUAGE; ++i) {
        Locale loc(LANGUAGE[i]);

        // Create a formatter for DATE and TIME
        fmt = DateFormat::createDateTimeInstance(
                                DateFormat::kFull, DateFormat::kFull, loc);

        for (int32_t j=0; j<N_TIMEZONE; ++j) {

            cal->adoptTimeZone(createZone(TIMEZONE[j]));
            fmt->setCalendar(*cal);

            // Format the date
            str.remove();
            fmt->format(date, str, status);
            
            // Display the formatted date string
            printf("Date (%s, %s): ", LANGUAGE[i], TIMEZONE[j]);
            uprintf(escape(str));
            printf("\n\n");
        }

        delete fmt;
    }

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/datefmt/answers/main_2.cpp000064400000005411150470307420020336 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

/**
 * If the ID supplied to TimeZone is not a valid system ID,
 * TimeZone::createTimeZone() will return a GMT zone object.  In order
 * to detect this error, we check the ID of the returned zone against
 * the ID we requested.  If they don't match, we fail with an error.
 */
TimeZone* createZone(const UnicodeString& id) {
    UnicodeString str;
    TimeZone* zone = TimeZone::createTimeZone(id);
    if (zone->getID(str) != id) {
        delete zone;
        printf("Error: TimeZone::createTimeZone(");
        uprintf(id);
        printf(") returned zone with ID ");
        uprintf(str);
        printf("\n");
        exit(1);
    }
    return zone;
}

int main(int argc, char **argv) {

    Calendar *cal;
    TimeZone *zone;
    DateFormat *fmt;
    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    UDate date;

    // The languages in which we will display the date
    static char* LANGUAGE[] = {
        "en", "de", "fr"
    };
    static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]);

    // The time zones in which we will display the time
    static char* TIMEZONE[] = {
        "America/Los_Angeles",
        "America/New_York",
        "Europe/Paris",
        "Europe/Berlin"
    };
    static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]);

    // Create a calendar
    cal = Calendar::createInstance(status);
    check(status, "Calendar::createInstance");
    zone = createZone("GMT"); // Create a GMT zone
    cal->adoptTimeZone(zone);
    cal->clear();
    cal->set(1999, Calendar::JUNE, 4);
    date = cal->getTime(status);
    check(status, "Calendar::getTime");

    for (int32_t i=0; i<N_LANGUAGE; ++i) {
        Locale loc(LANGUAGE[i]);

        // Create a formatter for DATE
        fmt = DateFormat::createDateInstance(DateFormat::kFull, loc);
            
        // Format the date
        str.remove();
        fmt->format(date, str, status);
        
        // Display the formatted date string
        printf("Date (%s): ", LANGUAGE[i]);
        uprintf(escape(str));
        printf("\n\n");
    }

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/datefmt/answers/main_1.cpp000064400000004143150470307420020336 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

/**
 * If the ID supplied to TimeZone is not a valid system ID,
 * TimeZone::createTimeZone() will return a GMT zone object.  In order
 * to detect this error, we check the ID of the returned zone against
 * the ID we requested.  If they don't match, we fail with an error.
 */
TimeZone* createZone(const UnicodeString& id) {
    UnicodeString str;
    TimeZone* zone = TimeZone::createTimeZone(id);
    if (zone->getID(str) != id) {
        delete zone;
        printf("Error: TimeZone::createTimeZone(");
        uprintf(id);
        printf(") returned zone with ID ");
        uprintf(str);
        printf("\n");
        exit(1);
    }
    return zone;
}

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;

    // The languages in which we will display the date
    static char* LANGUAGE[] = {
        "en", "de", "fr"
    };
    static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]);

    // The time zones in which we will display the time
    static char* TIMEZONE[] = {
        "America/Los_Angeles",
        "America/New_York",
        "Europe/Paris",
        "Europe/Berlin"
    };
    static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]);

    for (int32_t i=0; i<N_LANGUAGE; ++i) {
        Locale loc(LANGUAGE[i]);

        // Display the formatted date string
        printf("Date (%s)\n", LANGUAGE[i]);
    }

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/datefmt/answers/main_0.cpp000064400000004220150470307420020331 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include "unicode/uclean.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

/**
 * If the ID supplied to TimeZone is not a valid system ID,
 * TimeZone::createTimeZone() will return a GMT zone object.  In order
 * to detect this error, we check the ID of the returned zone against
 * the ID we requested.  If they don't match, we fail with an error.
 */
TimeZone* createZone(const UnicodeString& id) {
    UnicodeString str;
    TimeZone* zone = TimeZone::createTimeZone(id);
    if (zone->getID(str) != id) {
        delete zone;
        printf("Error: TimeZone::createTimeZone(");
        uprintf(id);
        printf(") returned zone with ID ");
        uprintf(str);
        printf("\n");
        exit(1);
    }
    return zone;
}

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;

    // The languages in which we will display the date
    static char* LANGUAGE[] = {
        "en", "de", "fr"
    };
    static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]);

    // The time zones in which we will display the time
    static char* TIMEZONE[] = {
        "America/Los_Angeles",
        "America/New_York",
        "Europe/Paris",
        "Europe/Berlin"
    };
    static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]);

    for (int32_t i=0; i<N_LANGUAGE; ++i) {
        Locale loc(LANGUAGE[i]);

        // Display the formatted date string
        printf("Date (%s)\n", LANGUAGE[i]);
    }

    printf("Exiting successfully\n");
    u_cleanup();
    return 0;
}
share/doc/alt-libicu65-devel/samples/datefmt/datefmt.sln000064400000002377150470307420017155 0ustar00Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "datefmt", "datefmt.vcxproj", "{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.ActiveCfg = Debug|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|Win32.Build.0 = Debug|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.ActiveCfg = Debug|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.Build.0 = Debug|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.ActiveCfg = Release|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|Win32.Build.0 = Release|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.ActiveCfg = Release|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/datefmt/datefmt.vcxproj.filters000064400000001707150470307420021517 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{a5cbb044-7694-4d1d-98c1-bb578ee7f1ea}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{aadf5a92-1812-45ce-90a0-e9db3945d7c5}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{9eff3ddc-6822-4225-81fc-a867b9e592c0}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="util.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/datefmt/datefmt.vcxproj000064400000022505150470307420020047 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/datefmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/datefmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/datefmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/datefmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/datefmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/datefmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/datefmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/datefmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/datefmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/datefmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/datefmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/datefmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/datefmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/datefmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/datefmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/datefmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp" />
    <ClCompile Include="util.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/datefmt/README.TXT000064400000007076150470307420016352 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.

IMPORTANT:

This sample was originally intended as an exercise for the ICU Workshop (September 2000).
The code currently provided in the solution file is the answer to the exercises, each step can still be found in the 'answers' subdirectory.



** Workshop homepage is:  
  http://www.icu-project.org/docs/workshop_2000/agenda.html

  #Date/Time/Number Formatting Support
  9:30am - 10:30am
  Alan Liu

  Topics:
  1. What is the date/time support in ICU?
  2. What is the timezone support in ICU?
  3. What kind of formatting and parsing support is available in ICU, i.e.
  NumberFormat, DateFormat, MessageFormat?


INSTRUCTIONS
------------

This exercise was first developed and tested on ICU release 1.6.0, Win32,
Microsoft Visual C++ 6.0.  It should work on other ICU releases and
other platforms as well.

 MSVC:
   Open the file "datefmt.sln" in Microsoft Visual C++.

 Unix:
   - Build and install ICU with a prefix, for example '--prefix=/home/srl/ICU'
   - Set the variable  ICU_PREFIX=/home/srl/ICU and use GNU make in 
        this directory.
   - You may use 'make check' to invoke this sample.

PROBLEMS
--------

Problem 0:

  Set up the program, build it, and run it.  To start with, the
  program prints out a list of languages.

Problem 1: Basic Date Formatting (Easy)

  Create a calendar, and use it to get the UDate for June 4, 1999,
  0:00 GMT (or any date of your choosing).  You will have to create a
  TimeZone (use the createZone() function already defined in main.cpp)
  and a Calendar object, and make the calendar use the time zone.

  Once you have the UDate, create a DateFormat object in each of the
  languages in the LANGUAGE array, and display the date in that
  language.  Use the DateFormat::createDateInstance() method to create
  the date formatter.

Problem 2: Date Formatting, Specific Time Zone (Medium)

  To really localize a time display, one can also specify the time
  zone in which the time should be displayed.  For each language,
  also create different time zones from the TIMEZONE list.

  To format a date with a specific calendar and zone, you must deal with
  three objects: a DateFormat, a Calendar, and a TimeZone.  Each object
  must be linked to another in correct sequence:  The Calendar must use
  the TimeZone, and the DateFormat must use the Calendar.

    DateFormat  =uses=>  Calendar  =uses=>  TimeZone

  Use either setFoo() or adoptFoo() methods, depending on where you
  want to have ownership.

  NOTE: It's not always desirable to change the time to a local time
  zone before display.  For instance, if some even occurs at 0:00 GMT
  on the first of the month, it's probably clearer to just state that.
  Stating that it occurs at 5:00 PM PDT on the day before in the
  summer, and 4:00 PM PST on the day before in the winter will just
  confuse the issue.


NOTES
-----

To see a list of system TimeZone IDs, use the TimeZone::create-
AvailableIDs() methods.  Alternatively, look at the file
icu/docs/tz.htm.  This has a hyperlinked list of current system zones.


ANSWERS
-------

The exercise includes answers.  These are in the "answers" directory,
and are numbered 1, 2, etc.

If you get stuck and you want to move to the next step, copy the
answers file into the main directory in order to proceed.  E.g.,
"main_1.cpp" contains the original "main.cpp" file.  "main_2.cpp"
contains the "main.cpp" file after problem 1.  Etc.


Have fun!
share/doc/alt-libicu65-devel/samples/datefmt/main.cpp000064400000006103150470307420016432 0ustar00/*************************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/calendar.h"
#include "unicode/datefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

using namespace icu;

/**
 * If the ID supplied to TimeZone is not a valid system ID,
 * TimeZone::createTimeZone() will return a GMT zone object.  In order
 * to detect this error, we check the ID of the returned zone against
 * the ID we requested.  If they don't match, we fail with an error.
 */
TimeZone* createZone(const UnicodeString& id) {
    UnicodeString str;
    TimeZone* zone = TimeZone::createTimeZone(id);
    if (zone->getID(str) != id) {
        delete zone;
        printf("Error: TimeZone::createTimeZone(");
        uprintf(id);
        printf(") returned zone with ID ");
        uprintf(str);
        printf("\n");
        exit(1);
    }
    return zone;
}

int main(int argc, char **argv) {

    Calendar *cal;
    TimeZone *zone;
    DateFormat *fmt;
    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    UDate date;

    // The languages in which we will display the date
    static const char* LANGUAGE[] = {
        "en", "de", "fr"
    };
    static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]);

    // The time zones in which we will display the time
    static const char* TIMEZONE[] = {
        "America/Los_Angeles",
        "America/New_York",
        "Europe/Paris",
        "Europe/Berlin"
    };
    static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]);

    // Create a calendar
    cal = Calendar::createInstance(status);
    check(status, "Calendar::createInstance");
    zone = createZone("GMT"); // Create a GMT zone
    cal->adoptTimeZone(zone);
    cal->clear();
    cal->set(1999, Calendar::JUNE, 4);
    date = cal->getTime(status);
    check(status, "Calendar::getTime");

    for (int32_t i=0; i<N_LANGUAGE; ++i) {
        Locale loc(LANGUAGE[i]);

        // Create a formatter for DATE and TIME
        fmt = DateFormat::createDateTimeInstance(
                                DateFormat::kFull, DateFormat::kFull, loc);

        for (int32_t j=0; j<N_TIMEZONE; ++j) {

            cal->adoptTimeZone(createZone(TIMEZONE[j]));
            fmt->setCalendar(*cal);

            // Format the date
            str.remove();
            fmt->format(date, str, status);
            
            // Display the formatted date string
            printf("Date (%s, %s): ", LANGUAGE[i], TIMEZONE[j]);
            uprintf(escape(str));
            printf("\n\n");
        }

        delete fmt;
    }

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/datefmt/util.cpp000064400000004400150470307420016461 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include <stdio.h>
#include <stdlib.h>

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg) {
    if (U_FAILURE(status)) {
        printf("ERROR: %s (%s)\n", u_errorName(status), msg);
        exit(1);
    }
    // printf("Ok: %s\n", msg);
}
                                                      
// Append a hex string to the target
static UnicodeString& appendHex(uint32_t number, 
                         int8_t digits, 
                         UnicodeString& target) {
    static const UnicodeString DIGIT_STRING("0123456789ABCDEF");
    while (digits > 0) {
        target += DIGIT_STRING[(number >> ((--digits) * 4)) & 0xF];
    }
    return target;
}

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source) {
    int32_t i;
    UnicodeString target;
    target += "\"";
    for (i=0; i<source.length(); ++i) {
        UChar ch = source[i];
        if (ch < 0x09 || (ch > 0x0A && ch < 0x20) || ch > 0x7E) {
            target += "\\u";
            appendHex(ch, 4, target);
        } else {
            target += ch;
        }
    }
    target += "\"";
    return target;
}

// Print the given string to stdout
void uprintf(const UnicodeString &str) {
    char *buf = 0;
    int32_t len = str.length();
    // int32_t bufLen = str.extract(0, len, buf); // Preflight
    /* Preflighting seems to be broken now, so assume 1-1 conversion,
       plus some slop. */
    int32_t bufLen = len + 16;
	int32_t actualLen;
    buf = new char[bufLen + 1];
    actualLen = str.extract(0, len, buf/*, bufLen*/); // Default codepage conversion
    buf[actualLen] = 0;
    printf("%s", buf);
    delete[] buf;
}
share/doc/alt-libicu65-devel/samples/all/samplecheck.bat000064400000017137150470307420017106 0ustar00@echo off
REM Copyright (C) 2016 and later: Unicode, Inc. and others.
REM License & terms of use: http://www.unicode.org/copyright.html
REM  ********************************************************************

REM Don't add additional global environment variables, keep the variables local to this script.
rem setlocal

set ICU_ARCH=%1
set ICU_DBRL=%2

if "%1" == "" (
 echo Usage: %0 "x86 or x64"  "Debug or Release"
 exit /b 1
)

if "%2" == "" (
 echo Usage: %0 %1 "Debug or Release"
 exit /b 1
)

set ICU_ICUDIR="%~dp0"\..\..\..
set ICU_SAMPLESDIR=%ICU_ICUDIR%\source\samples

if "%ICU_ARCH%" == "x64" (
 set ICU_BINDIR=%~dp0..\..\..\bin64
) else (
 set ICU_BINDIR=%~dp0..\..\..\bin
)

if not exist "%ICU_BINDIR%" (
 echo Error '%ICU_BINDIR%' does not exist!
 echo Have you built all of ICU yet ?
 goto :eof
)

echo Testing ICU samples in %ICU_ICUDIR%  arch=%ICU_ARCH% type=%ICU_DBRL%
set PATH=%ICU_BINDIR%;%PATH%
pushd %ICU_BINDIR%

set SAMPLE_BREAK=%ICU_SAMPLESDIR%\break\%ICU_ARCH%\%ICU_DBRL%\break.exe
set SAMPLE_CAL=%ICU_SAMPLESDIR%\cal\%ICU_ARCH%\%ICU_DBRL%\cal.exe
set SAMPLE_CASE=%ICU_SAMPLESDIR%\case\%ICU_ARCH%\%ICU_DBRL%\case.exe
set SAMPLE_CITER=%ICU_SAMPLESDIR%\citer\%ICU_ARCH%\%ICU_DBRL%\citer.exe
set SAMPLE_COLL=%ICU_SAMPLESDIR%\coll\%ICU_ARCH%\%ICU_DBRL%\coll.exe
set SAMPLE_CSDET=%ICU_SAMPLESDIR%\csdet\%ICU_ARCH%\%ICU_DBRL%\csdet.exe
set SAMPLE_DATE=%ICU_SAMPLESDIR%\date\%ICU_ARCH%\%ICU_DBRL%\date.exe
set SAMPLE_DATEFMT=%ICU_SAMPLESDIR%\datefmt\%ICU_ARCH%\%ICU_DBRL%\datefmt.exe
set SAMPLE_DTITVFMT=%ICU_SAMPLESDIR%\dtitvfmtsample\%ICU_ARCH%\%ICU_DBRL%\dtitvfmtsample.exe
set SAMPLE_DTPTNG=%ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL%\dtptngsample.exe
set SAMPLE_MSGFMT=%ICU_SAMPLESDIR%\msgfmt\%ICU_ARCH%\%ICU_DBRL%\msgfmt.exe
set SAMPLE_NUMFMT=%ICU_SAMPLESDIR%\numfmt\%ICU_ARCH%\%ICU_DBRL%\numfmt.exe
set SAMPLE_PLURFMTSAMPLE=%ICU_SAMPLESDIR%\plurfmtsample\%ICU_ARCH%\%ICU_DBRL%\plurfmtsample.exe
set SAMPLE_PROPS=%ICU_SAMPLESDIR%\props\%ICU_ARCH%\%ICU_DBRL%\props.exe
set SAMPLE_STRSRCH=%ICU_SAMPLESDIR%\strsrch\%ICU_ARCH%\%ICU_DBRL%\strsrch.exe
set SAMPLE_TRANSLIT=%ICU_SAMPLESDIR%\translit\%ICU_ARCH%\%ICU_DBRL%\translit.exe
set SAMPLE_UCITER8=%ICU_SAMPLESDIR%\uciter8\%ICU_ARCH%\%ICU_DBRL%\uciter8.exe
set SAMPLE_UCNV=%ICU_SAMPLESDIR%\ucnv\%ICU_ARCH%\%ICU_DBRL%\ucnv.exe
REM udata needs changes to the vcxproj to change the output locations for writer/reader.
rem set SAMPLE_UDATA_WRITER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\writer.exe
rem set SAMPLE_UDATA_READER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\reader.exe
set SAMPLE_UFORTUNE=%ICU_SAMPLESDIR%\ufortune\%ICU_ARCH%\%ICU_DBRL%\ufortune.exe
set SAMPLE_UGREP=%ICU_SAMPLESDIR%\ugrep\%ICU_ARCH%\%ICU_DBRL%\ugrep.exe
REM There is also the 'resources' project in VS.
set SAMPLE_URESB=%ICU_SAMPLESDIR%\uresb\%ICU_ARCH%\%ICU_DBRL%\uresb.exe
set SAMPLE_USTRING=%ICU_SAMPLESDIR%\ustring\%ICU_ARCH%\%ICU_DBRL%\ustring.exe


@set THT=break
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_BREAK%
if ERRORLEVEL 1 goto :SampleError

@set THT=cal
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_CAL%
if ERRORLEVEL 1 goto :SampleError

@set THT=case
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_CASE%
if ERRORLEVEL 1 goto :SampleError

@set THT=citer
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_CITER%
if ERRORLEVEL 1 goto :SampleError

@set THT=coll
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_COLL%
if ERRORLEVEL 1 goto :SampleError

@set THT=csdet
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_CSDET% %ICU_SAMPLESDIR%\csdet\readme.txt
if ERRORLEVEL 1 goto :SampleError

@set THT=date
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_DATE%
if ERRORLEVEL 1 goto :SampleError

@set THT=datefmt
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_DATEFMT%
if ERRORLEVEL 1 goto :SampleError

@set THT=dtitvfmtsample
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_DTITVFMT%
if ERRORLEVEL 1 goto :SampleError

@set THT=dtptngsample
@echo.
@echo ==== %THT% =========================================================================
pushd %ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL%
%SAMPLE_DTPTNG%
popd
if ERRORLEVEL 1 goto :SampleError

@set THT=msgfmt
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_MSGFMT% arg1 arg2
if ERRORLEVEL 1 goto :SampleError

@set THT=numfmt
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_NUMFMT%
if ERRORLEVEL 1 goto :SampleError

@set THT=plurfmtsample
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_PLURFMTSAMPLE%
if ERRORLEVEL 1 goto :SampleError

@set THT=props
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_PROPS%
if ERRORLEVEL 1 goto :SampleError

@set THT=strsrch
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_STRSRCH%
if ERRORLEVEL 1 goto :SampleError

@set THT=translit
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_TRANSLIT%
if ERRORLEVEL 1 goto :SampleError

@set THT=citer8
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_UCITER8%
if ERRORLEVEL 1 goto :SampleError

@set THT=ucnv
@echo.
@echo ==== %THT% =========================================================================
pushd %ICU_SAMPLESDIR%\ucnv
%SAMPLE_UCNV%
popd
if ERRORLEVEL 1 goto :SampleError

REM TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader.
@set THT=udata
@echo.
@echo ==== %THT% =========================================================================
pushd %ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%
@echo TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader.
@echo Skipping %THT%
rem %SAMPLE_UDATA_WRITER%
rem %SAMPLE_UDATA_READER%
popd
if ERRORLEVEL 1 goto :SampleError

@set THT=ufortune
@echo.
@echo ==== %THT% =========================================================================
if "%ICU_ARCH%" == "x64" (
    @echo The ufortune sample currently only runs on x86.
    @echo Skipping %THT%.
) else (
    %SAMPLE_UFORTUNE%
    if ERRORLEVEL 1 goto :SampleError
)

@set THT=ugrep
@echo.
@echo ==== %THT% =========================================================================
echo Looking for "ICU" in '%ICU_SAMPLESDIR%\ugrep\readme.txt' with ugrep.exe 
%SAMPLE_UGREP% ICU %ICU_SAMPLESDIR%\ugrep\readme.txt
if ERRORLEVEL 1 goto :SampleError

@set THT=uresb
@echo.
@echo ==== %THT% =========================================================================
pushd %ICU_SAMPLESDIR%\uresb
%SAMPLE_URESB% en
%SAMPLE_URESB% root
%SAMPLE_URESB% sr
popd
if ERRORLEVEL 1 goto :SampleError

@set THT=ustring
@echo.
@echo ==== %THT% =========================================================================
%SAMPLE_USTRING%
if ERRORLEVEL 1 goto :SampleError



rem All done
goto :QuitWithNoError

:SampleError
 echo.
 echo ERROR: Sample program %THT% did not exit cleanly. Stopping execution.
 echo.
 goto :QuitWithError

:QuitWithNoError
 echo.
 popd
 exit /b 0

:QuitWithError
 echo.
 popd
 rem Exit with non-zero error code.
 exit /b 1
share/doc/alt-libicu65-devel/samples/all/all.sln000064400000045341150470307420015423 0ustar00Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2036
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "break", "..\break\break.vcxproj", "{DEEADF02-9C14-4854-A395-E505D2904D65}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cal", "..\cal\cal.vcxproj", "{F7659D77-09CF-4FE9-ACEE-927287AA9509}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "case", "..\case\case.vcxproj", "{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "date", "..\date\date.vcxproj", "{38B5751A-C6F9-4409-950C-F4F9DA17275F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "datefmt", "..\datefmt\datefmt.vcxproj", "{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msgfmt", "..\msgfmt\msgfmt.vcxproj", "{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "numfmt", "..\numfmt\numfmt.vcxproj", "{721FBD47-E458-4C35-90DA-FF192907D5E2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "props", "..\props\props.vcxproj", "{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reader", "..\udata\reader.vcxproj", "{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resources", "..\uresb\resources.vcxproj", "{69437707-2FEF-4E2C-8C3F-6E6B3D241366}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strsrch", "..\strsrch\strsrch.vcxproj", "{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translit", "..\translit\translit.vcxproj", "{D1BEC124-303A-4F44-BA70-55769B8FE96A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uciter8", "..\uciter8\uciter8.vcxproj", "{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ucnv", "..\ucnv\ucnv.vcxproj", "{8C95060E-61F5-464E-BB42-95B788C0D7E4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ufortune", "..\ufortune\ufortune.vcxproj", "{25F534DF-93C9-4853-A88E-DB7D8CF74042}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ugrep", "..\ugrep\ugrep.vcxproj", "{63166CEB-02CC-472C-B3B7-E6C559939BDA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uresb", "..\uresb\uresb.vcxproj", "{92580BF4-F4DA-4024-B3F8-444F982BC72F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ustring", "..\ustring\ustring.vcxproj", "{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "writer", "..\udata\writer.vcxproj", "{40A90302-F173-4629-A003-F571D2D93D16}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "citer", "..\citer\citer.vcxproj", "{247E2681-6C84-408B-B40C-5DB50BC5E18F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coll", "..\coll\coll.vcxproj", "{7664D0D2-0263-4BFB-AE19-9A1CAD231440}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csdet", "..\csdet\csdet.vcxproj", "{683745AD-3BC2-4B89-898B-93490D7F2757}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dtitvfmtsample", "..\dtitvfmtsample\dtitvfmtsample.vcxproj", "{8945255B-473B-4C47-9425-E92384338CAA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plurfmtsample", "..\plurfmtsample\plurfmtsample.vcxproj", "{B500B731-ED1A-4761-94ED-B22DFE25FF2B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dtptngsample", "..\dtptngsample\dtptngsample.vcxproj", "{115886F0-7DFB-4B8B-BE79-83162EE8713B}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|x64 = Debug|x64
		Debug|x86 = Debug|x86
		Release|x64 = Release|x64
		Release|x86 = Release|x86
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.ActiveCfg = Debug|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.Build.0 = Debug|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x86.ActiveCfg = Debug|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x86.Build.0 = Debug|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.ActiveCfg = Release|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.Build.0 = Release|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x86.ActiveCfg = Release|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x86.Build.0 = Release|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.ActiveCfg = Debug|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.Build.0 = Debug|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x86.ActiveCfg = Debug|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x86.Build.0 = Debug|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.ActiveCfg = Release|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.Build.0 = Release|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x86.ActiveCfg = Release|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x86.Build.0 = Release|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.ActiveCfg = Debug|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x64.Build.0 = Debug|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x86.ActiveCfg = Debug|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Debug|x86.Build.0 = Debug|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.ActiveCfg = Release|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x64.Build.0 = Release|x64
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x86.ActiveCfg = Release|Win32
		{2316BE8C-189D-4C8B-B506-9D9EE25AC46D}.Release|x86.Build.0 = Release|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.ActiveCfg = Debug|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.Build.0 = Debug|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x86.ActiveCfg = Debug|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x86.Build.0 = Debug|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.ActiveCfg = Release|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.Build.0 = Release|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x86.ActiveCfg = Release|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x86.Build.0 = Release|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.ActiveCfg = Debug|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x64.Build.0 = Debug|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x86.ActiveCfg = Debug|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Debug|x86.Build.0 = Debug|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.ActiveCfg = Release|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x64.Build.0 = Release|x64
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x86.ActiveCfg = Release|Win32
		{6D592DB7-B9C8-4B1B-A1C1-F9A9EB4FD4E4}.Release|x86.Build.0 = Release|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.ActiveCfg = Debug|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.Build.0 = Debug|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x86.ActiveCfg = Debug|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x86.Build.0 = Debug|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.ActiveCfg = Release|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.Build.0 = Release|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x86.ActiveCfg = Release|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x86.Build.0 = Release|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.ActiveCfg = Debug|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.Build.0 = Debug|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x86.ActiveCfg = Debug|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x86.Build.0 = Debug|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.ActiveCfg = Release|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.Build.0 = Release|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x86.ActiveCfg = Release|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x86.Build.0 = Release|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.ActiveCfg = Debug|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.Build.0 = Debug|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x86.ActiveCfg = Debug|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x86.Build.0 = Debug|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.ActiveCfg = Release|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.Build.0 = Release|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x86.ActiveCfg = Release|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x86.Build.0 = Release|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.ActiveCfg = Debug|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.Build.0 = Debug|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x86.ActiveCfg = Debug|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x86.Build.0 = Debug|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.ActiveCfg = Release|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.Build.0 = Release|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x86.ActiveCfg = Release|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x86.Build.0 = Release|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.ActiveCfg = Debug|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.Build.0 = Debug|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x86.ActiveCfg = Debug|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x86.Build.0 = Debug|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.ActiveCfg = Release|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.Build.0 = Release|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x86.ActiveCfg = Release|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x86.Build.0 = Release|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.ActiveCfg = Debug|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.Build.0 = Debug|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x86.ActiveCfg = Debug|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x86.Build.0 = Debug|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.ActiveCfg = Release|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.Build.0 = Release|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x86.ActiveCfg = Release|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x86.Build.0 = Release|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.ActiveCfg = Debug|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x64.Build.0 = Debug|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x86.ActiveCfg = Debug|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Debug|x86.Build.0 = Debug|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.ActiveCfg = Release|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x64.Build.0 = Release|x64
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x86.ActiveCfg = Release|Win32
		{D1BEC124-303A-4F44-BA70-55769B8FE96A}.Release|x86.Build.0 = Release|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.ActiveCfg = Debug|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.Build.0 = Debug|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x86.ActiveCfg = Debug|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x86.Build.0 = Debug|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.ActiveCfg = Release|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.Build.0 = Release|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x86.ActiveCfg = Release|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x86.Build.0 = Release|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.ActiveCfg = Debug|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x64.Build.0 = Debug|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x86.ActiveCfg = Debug|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug|x86.Build.0 = Debug|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.ActiveCfg = Release|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x64.Build.0 = Release|x64
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x86.ActiveCfg = Release|Win32
		{8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release|x86.Build.0 = Release|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x64.ActiveCfg = Debug|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x86.ActiveCfg = Debug|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Debug|x86.Build.0 = Debug|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x64.ActiveCfg = Release|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x86.ActiveCfg = Release|Win32
		{25F534DF-93C9-4853-A88E-DB7D8CF74042}.Release|x86.Build.0 = Release|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.ActiveCfg = Debug|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.Build.0 = Debug|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x86.ActiveCfg = Debug|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x86.Build.0 = Debug|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.ActiveCfg = Release|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.Build.0 = Release|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x86.ActiveCfg = Release|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x86.Build.0 = Release|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.ActiveCfg = Debug|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.Build.0 = Debug|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x86.ActiveCfg = Debug|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x86.Build.0 = Debug|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.ActiveCfg = Release|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.Build.0 = Release|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x86.ActiveCfg = Release|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x86.Build.0 = Release|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.ActiveCfg = Debug|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.Build.0 = Debug|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x86.ActiveCfg = Debug|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x86.Build.0 = Debug|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.ActiveCfg = Release|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.Build.0 = Release|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x86.ActiveCfg = Release|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x86.Build.0 = Release|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.ActiveCfg = Debug|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.Build.0 = Debug|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x86.ActiveCfg = Debug|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x86.Build.0 = Debug|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.ActiveCfg = Release|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.Build.0 = Release|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x86.ActiveCfg = Release|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x86.Build.0 = Release|Win32
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x64.ActiveCfg = Debug|x64
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x64.Build.0 = Debug|x64
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x86.ActiveCfg = Debug|Win32
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Debug|x86.Build.0 = Debug|Win32
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x64.ActiveCfg = Release|x64
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x64.Build.0 = Release|x64
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x86.ActiveCfg = Release|Win32
		{247E2681-6C84-408B-B40C-5DB50BC5E18F}.Release|x86.Build.0 = Release|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x86.ActiveCfg = Debug|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x86.Build.0 = Debug|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|x64
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x86.ActiveCfg = Release|Win32
		{7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x86.Build.0 = Release|Win32
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x64.ActiveCfg = Debug|x64
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x64.Build.0 = Debug|x64
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x86.ActiveCfg = Debug|Win32
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Debug|x86.Build.0 = Debug|Win32
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x64.ActiveCfg = Release|x64
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x64.Build.0 = Release|x64
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x86.ActiveCfg = Release|Win32
		{683745AD-3BC2-4B89-898B-93490D7F2757}.Release|x86.Build.0 = Release|Win32
		{8945255B-473B-4C47-9425-E92384338CAA}.Debug|x64.ActiveCfg = Debug|x64
		{8945255B-473B-4C47-9425-E92384338CAA}.Debug|x64.Build.0 = Debug|x64
		{8945255B-473B-4C47-9425-E92384338CAA}.Debug|x86.ActiveCfg = Debug|Win32
		{8945255B-473B-4C47-9425-E92384338CAA}.Debug|x86.Build.0 = Debug|Win32
		{8945255B-473B-4C47-9425-E92384338CAA}.Release|x64.ActiveCfg = Release|x64
		{8945255B-473B-4C47-9425-E92384338CAA}.Release|x64.Build.0 = Release|x64
		{8945255B-473B-4C47-9425-E92384338CAA}.Release|x86.ActiveCfg = Release|Win32
		{8945255B-473B-4C47-9425-E92384338CAA}.Release|x86.Build.0 = Release|Win32
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x64.ActiveCfg = Debug|x64
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x64.Build.0 = Debug|x64
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x86.ActiveCfg = Debug|Win32
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Debug|x86.Build.0 = Debug|Win32
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x64.ActiveCfg = Release|x64
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x64.Build.0 = Release|x64
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x86.ActiveCfg = Release|Win32
		{B500B731-ED1A-4761-94ED-B22DFE25FF2B}.Release|x86.Build.0 = Release|Win32
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x64.ActiveCfg = Debug|x64
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x64.Build.0 = Debug|x64
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x86.ActiveCfg = Debug|Win32
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Debug|x86.Build.0 = Debug|Win32
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x64.ActiveCfg = Release|x64
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x64.Build.0 = Release|x64
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x86.ActiveCfg = Release|Win32
		{115886F0-7DFB-4B8B-BE79-83162EE8713B}.Release|x86.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		        SolutionGuid = {DB7CDCAF-F002-40F8-9E0E-F25F68EEC77B}
		SolutionGuid = {60B84F6E-86EE-46F7-9AF4-8A3ABB09A513}
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/legacy/Makefile000064400000004362150470307420016267 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2001-2004 IBM, Inc. and others
# conversion sample code


# Usage:
#  - configure and build ICU [see the docs] .. use "--prefix=" something
#     (I  used --prefix=/home/srl/III )
# 
#  - do 'make install' of icu 
#
#  - set the variable ICU_PREFIX to point at $(prefix)
#    (will look for $(prefix)/lib/icu/Makefile.inc )
# 
#  - set the variable ICU_LEGACY  (read the README)
#   ( Will look for ICU_LEGACY/include/unicode/ucol.h )
#  
#  - do 'make' in this directory

#ICU_PREFIX=/home/weiv/build/current
#ICU_LEGACY = /home/weiv/build/icu-1-8-1

LEGACY_INCLUDE = $(ICU_LEGACY)/include

ICU_INC=$(ICU_PREFIX)/lib/icu/Makefile.inc
ICUPATH=

-include $(ICU_INC)

# Name of your target
TARGET=legacy

# All object files (C or C++)
OBJECTS=legacy.o newcol.o oldcol.o

CLEANFILES=*~ $(TARGET).out

DEPS=$(OBJECTS:.o=.d)

# turn on super warnings
#CPPFLAGS += -Wall

all: $(TARGET) $(ICU_INC)

.PHONY: all clean distclean check report

oldcol.o : oldcol.cpp $(LEGACY_INCLUDE)/unicode/ucol.h
	$(CXX) -I$(LEGACY_INCLUDE) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c oldcol.cpp

distclean clean:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
	-$(RMV) $(OBJECTS) $(TARGET)
	-$(RMV) $(DEPS)

# Can change this to LINK.c if it is a C only program
# Can add more libraries here. 
$(TARGET): $(OBJECTS)
	$(LINK.cc) -o $@ $^ $(ICULIBS) $(ICU_PREFIX)/lib/libicuuc.so.18 $(ICU_PREFIX)/lib/libicui18n.so.18 

# Make check: simply runs the sample, logged to a file
check: $(TARGET)
	$(INVOKE) ./$(TARGET) | tee $(TARGET).out

# Make report: creates a 'report file' with both source and sample run
report: $(TARGET).report

$(TARGET).report: check $(TARGET).cpp
	more $(TARGET).cpp $(TARGET).out > $@

$(ICU_INC):
	@echo ICU_PREFIX variable is not set correctly
	@echo "Please read the directions at the top of this file (Makefile)"
	@echo "And the README"
	@echo "Can't open $(ICU_INC)"
	@false

$(LEGACY_INCLUDE)/unicode/ucol.h:
	@echo ICU_LEGACY variable is not set correctly.
	@echo "Please read the directions at the top of this file (Makefile)"
	@echo "And the README"
	@echo "Can't open $@"
	@false

ifneq ($(MAKECMDGOALS),distclean)
-include $(DEPS)
endif
share/doc/alt-libicu65-devel/samples/legacy/legacy.sln000064400000002375150470307420016613 0ustar00Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy", "legacy.vcxproj", "{57F56795-1802-4605-88A0-013AAE9998F6}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.ActiveCfg = Debug|Win32
		{57F56795-1802-4605-88A0-013AAE9998F6}.Debug|Win32.Build.0 = Debug|Win32
		{57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.ActiveCfg = Debug|x64
		{57F56795-1802-4605-88A0-013AAE9998F6}.Debug|x64.Build.0 = Debug|x64
		{57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.ActiveCfg = Release|Win32
		{57F56795-1802-4605-88A0-013AAE9998F6}.Release|Win32.Build.0 = Release|Win32
		{57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.ActiveCfg = Release|x64
		{57F56795-1802-4605-88A0-013AAE9998F6}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/legacy/legacy.vcxproj.filters000064400000002045150470307420021153 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{28feb3e5-286e-4bae-8a94-1831f7734250}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{82030ac6-467e-4020-a013-5b05ba72e3c8}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{f2650fcf-69b6-4d3c-b3ff-8eb4b63775c9}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="legacy.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="newcol.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="oldcol.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/legacy/oldcol.cpp000064400000006347150470307420016614 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 2001-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  oldcol.cpp
 *   encoding:   UTF-8
 *   tab size:   8 (not used)
 *   indentation:4
 *
 *   created on: 2001jul24
 *   created by: Vladimir Weinstein
 */

/******************************************************************************
 * This is the module that uses old collation
 ******************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <unicode/putil.h>
#include <unicode/ucol.h>

// Very simple example code - sticks a sortkey in the buffer
// Not much error checking
int32_t getSortKey_legacy(const char *locale, const UChar *string, int32_t sLen, uint8_t *buffer, int32_t bLen) {
  UErrorCode status = U_ZERO_ERROR;
  UCollator *coll = ucol_open(locale, &status);
  if(U_FAILURE(status)) {
    return -1;
  }
  int32_t result = ucol_getSortKey(coll, string, sLen, buffer, bLen);
  ucol_close(coll);
  return result;  
}

// This one can be used for passing to qsort function
// Not thread safe or anything
static UCollator *compareCollator = NULL;

int compare_legacy(const void *string1, const void *string2) {
  if(compareCollator != NULL) {
    UCollationResult res = ucol_strcoll(compareCollator, (UChar *) string1, -1, (UChar *) string2, -1);
    if(res == UCOL_LESS) {
      return -1;
    } else if(res == UCOL_GREATER) {
      return 1;
    } else {
      return 0;
    }
  } else {
    return 0;
  }
}

void initCollator_legacy(const char *locale) {
  UErrorCode status = U_ZERO_ERROR;
  compareCollator = ucol_open(locale, &status);
  
  if(U_FAILURE(status))
  {
    fprintf(stderr, "initCollator_legacy(%s): error opening collator, %s!\n", locale, u_errorName(status));
    fprintf(stderr, "Note: ICU data directory is %s\n", u_getDataDirectory());
    fprintf(stderr, "Read the README!\n");
    exit(0);
  }
}

void closeCollator_legacy(void) {
  if(compareCollator != NULL)
  {
    ucol_close(compareCollator);
  }
  else
  {
    fprintf(stderr, "closeCollator_legacy(): collator was already NULL!\n");
  }
  compareCollator = NULL;
}


extern "C" void test_legacy(UChar data[][5], uint32_t size, uint32_t maxlen, uint8_t keys[4][32]) {
  uint32_t i = 0;
  int32_t keySize = 0;

  UVersionInfo uvi;

  u_getVersion(uvi);
  fprintf(stderr, "Entered legacy, version: [%d.%d.%d.%d]\nMoving to sortkeys\n", uvi[0], uvi[1], uvi[2], uvi[3]);

  for(i = 0; i<size; i++) {
    keySize = getSortKey_legacy("ja", data[i], -1, keys[i], 32);
    fprintf(stderr, "For i=%d, size of sortkey is %d\n", i, keySize);
  }

  fprintf(stderr, "Done sortkeys, doing qsort test\n");

  initCollator_legacy("ja");
  qsort(data, size, maxlen*sizeof(UChar), compare_legacy);
  closeCollator_legacy();

  fprintf(stderr, "Done legacy!\n");
}


share/doc/alt-libicu65-devel/samples/legacy/newcol.cpp000064400000005453150470307420016624 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2001 - 2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  newcol.cpp
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2001jul24
*   created by: Vladimir Weinstein
*/

/******************************************************************************
 * This is the module that uses new collation
 ******************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include "unicode/ucol.h"

// Very simple example code - sticks a sortkey in the buffer
// Not much error checking
int32_t getSortKey_current(const char *locale, const UChar *string, int32_t sLen, uint8_t *buffer, int32_t bLen) {
  UErrorCode status = U_ZERO_ERROR;
  UCollator *coll = ucol_open(locale, &status);
  if(U_FAILURE(status)) {
    return -1;
  }
  int32_t result = ucol_getSortKey(coll, string, sLen, buffer, bLen);
  ucol_close(coll);
  return result;  
}

// This one can be used for passing to qsort function
// Not thread safe or anything
static UCollator *compareCollator = NULL;

int compare_current(const void *string1, const void *string2) {
  if(compareCollator != NULL) {
    UCollationResult res = ucol_strcoll(compareCollator, (UChar *) string1, -1, (UChar *) string2, -1);
    if(res == UCOL_LESS) {
      return -1;
    } else if(res == UCOL_GREATER) {
      return 1;
    } else {
      return 0;
    }
  } else {
    return 0;
  }
}

void initCollator_current(const char *locale) {
  UErrorCode status = U_ZERO_ERROR;
  compareCollator = ucol_open(locale, &status);
}

void closeCollator_current(void) {
  ucol_close(compareCollator);
  compareCollator = NULL;
}


extern "C" void test_current(UChar data[][5], uint32_t size, uint32_t maxlen, uint8_t keys[][32]) {
  uint32_t i = 0;
  int32_t keySize = 0;
  UVersionInfo uvi;

  u_getVersion(uvi);
  fprintf(stderr, "Entered current, version: [%d.%d.%d.%d]\nMoving to sortkeys\n", uvi[0], uvi[1], uvi[2], uvi[3]);

  for(i = 0; i<size; i++) {
    keySize = getSortKey_current("ja", data[i], -1, keys[i], 32);
    fprintf(stderr, "For i=%d, size of sortkey is %d\n", i, keySize);
  }

  fprintf(stderr, "Done sortkeys, doing qsort test\n");
  
  initCollator_current("ja");
  qsort(data, size, maxlen*sizeof(UChar), compare_current);
  closeCollator_current();

  fprintf(stderr, "Done current!\n");
}


share/doc/alt-libicu65-devel/samples/legacy/legacy.vcxproj000064400000034370150470307420017512 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{57F56795-1802-4605-88A0-013AAE9998F6}</ProjectGuid>
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/legacy.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/legacy.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;../../../../icu-1-8-1/lib/icuuc.lib;../../../../icu-1-8-1/lib/icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/legacy.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/legacy.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Release/legacy.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/legacy.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;../../../../icu-1-8-1/lib/icuuc.lib;../../../../icu-1-8-1/lib/icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/legacy.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/legacy.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/legacy.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/legacy.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;../../../../icu-1-8-1/lib/icuucd.lib;../../../../icu-1-8-1/lib/icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/legacy.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/legacy.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Debug/legacy.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/legacy.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;../../../../icu-1-8-1/lib/icuucd.lib;../../../../icu-1-8-1/lib/icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/legacy.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/legacy.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="legacy.cpp" />
    <ClCompile Include="newcol.cpp" />
    <ClCompile Include="oldcol.cpp">
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../include;../../../../icu-1-8-1/include</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../include;../../../../icu-1-8-1/include</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../include;../../../../icu-1-8-1/include</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../include;../../../../icu-1-8-1/include</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/legacy/README000064400000006711150470307420015507 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved.
This example demonstrates running an instance of  ICU 1.8.1. together with a current version of ICU. It only tests u_getVersion and several collation APIs. 

Generally, one should be able to simultaneously use one or more versions of ICU 2.0 or higher and one version of ICU 1.8.1 or lower. 

What is it all about: Let's say you have a 10 Tb database indexed using ICU 1.8.1. sortkeys. New ICU comes out, with neat new features you would like to use, but also with new sortkeys and you don't care to reindex your 10 Tb database. What to do then??? You can use ICU 1.8.1. in one of your compilation units and current version in all the others. So, you can use old collation until you decide to reindex. 

You cannot mix two versions of ICU in the same compilation unit. You cannot automatically use more than one legacy version of ICU.

In order to make the compilation unit use old version of ICU, you have to do a couple of things:
1) change it's include path so that it includes header files from the old versions
2) explicitly add old libraries to the linker.
3) make sure old data can be found (if legacy code needs data).

Building and running of the example:

Linux:
To make it work, you should build and install both the current ICU and ICU 1.8.1. Put both data libraries to wherever ICU_DATA points (usually it is $(prefix)/share/icu/$(icu_version)/). If data libraries are used, then check for $(prefix)/lib/icu/1.8.1 which should contain libicudata.so and libicudt18*.so
2. Copy libicuuc.so.18* and libicui18n.so.18* to $(prefix)/lib directory, together with current libraries). 
3. Should work on other Unixes.


Change $ICU_PREFIX to point to the current installation, and $ICU_LEGACY to point to 1.8.1 installation. $ICU_LEGACY is needed solely to access the 1.8.1 include directory through $LEGACY_INCLUDE variable, so if you want to move the 1.8.1. include directory, you can set $LEGACY_INCLUDE directly to that directory.

Run make check. You should get two different libraries running at the same time.

Win32:
Build both current ICU and ICU 1.8.1. Take icuuc18.dll, icuin18.dll and icudt18l.dll and put them somewhere in PATH (a sane place would be wherever current dlls go). 

Edit the include directory for oldcol.cpp so that it points to the include directory of ICU 1.8.1.
Edit the two library entries with path so that they point to .lib files for your version of ICU.

Hit F7, followed by ctrl-F5.

Troubleshooting (all platforms):
Sample won't compile: this is quite unlikely, but the most probable reason is that include files cannot be found. 
Sample won't link: The path for 1.8.1. libraries is broken. Edit it so that it  reflects the path to your libraries.
Linker says: "Undefined symbol u_getVersion()" (or something similar): path to 1.8.1. libraries is bad.
Linker says: "Undefined symbol u_getVersion()_X_Y" (or something similar): path to current libraries is bad.
Legacy crashes horribly: Sorry, didn't put any error checking. If legacy crashes that's most probably because it cannot find the data libraries. You can see which data library is not found by the part of the program that is running. Make sure program can find tha data library either by putting it where ever ICU_DATA points to OR by putting the DLL version of the data library somewhere on your PATH.

share/doc/alt-libicu65-devel/samples/legacy/legacy.cpp000064400000006045150470307420016577 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2001 - 2005, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  main.cpp
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2001jul24
*   created by: Vladimir Weinstein
*/

/******************************************************************************
 * main program demonstrating using two versions of ICU in the same project
 ******************************************************************************/

#include <stdio.h>
#include "unicode/utypes.h"
#include "unicode/ustring.h"

extern "C" void test_current(UChar data[][5], uint32_t size, uint32_t maxLen, uint8_t keys[][32]);
extern "C" void test_legacy(UChar data[][5], uint32_t size, uint32_t maxlen, uint8_t keys[][32]);

void printZTUChar(const UChar *str) {
  while(*str != 0) {
    if(*str > 0x1F && *str < 0x80) {
      fprintf(stdout, "%c", (*str) & 0xFF);
    } else {
      fprintf(stdout, "\\u%04X", *str);
    }
    str++;
  }
}

void printArray(const char* const comment, const UChar UArray[][5], int32_t arraySize) {
  fprintf (stdout, "%s\n", comment);
  int32_t i = 0;
  for(i = 0; i<arraySize; i++) {
    fprintf(stdout, "%d ", i);
    printZTUChar(UArray[i]);
    fprintf(stdout, "\n");
  }
}

void printKeys(const char *comment, uint8_t keys[][32], int32_t keySize) {
  int32_t i = 0;
  uint8_t *currentKey = NULL;
  fprintf(stdout, "%s\n", comment);
  for(i = 0; i<keySize; i++) {
    currentKey = keys[i];
    while(*currentKey != 0) {
      if(*currentKey == 1) {
        fprintf(stdout, "01 ");
      } else {
        fprintf(stdout, "%02X", *currentKey);
      }
      currentKey++;
    }
    fprintf(stdout, " 00\n");
  }
}

    
//int main(int argc, const char * const argv[]) {
int main(int, const char * const *) {
  static const char* test[4] = {
    "\\u304D\\u3085\\u3046\\u0000",
    "\\u30AD\\u30E6\\u30A6\\u0000",
    "\\u304D\\u3086\\u3046\\u0000",
    "\\u30AD\\u30E5\\u30A6\\u0000"
  };

#if 0
  static const char* test2[4] = {
    "dbc\\u0000",
      "cbc\\u0000",
      "bbc\\u0000",
      "abc\\u0000"
  };
#endif

  static UChar uTest[4][5];

  static uint8_t keys[4][32];

  uint32_t i = 0;

  for(i = 0; i<4; i++) {
    u_unescape(test[i], uTest[i], 5);
  }
  printArray("Before current", uTest, 4);
  test_current(uTest, 4, 5, keys);
  printArray("After current", uTest, 4);
  printKeys("Current keys", keys, 4);

  for(i = 0; i<4; i++) {
    u_unescape(test[i], uTest[i], 5);
  }
  printArray("Before legacy", uTest, 4);
  test_legacy(uTest, 4, 5, keys);
  printArray("After legacy", uTest, 4);
  printKeys("Legacy keys", keys, 4);


  return 0;
}
share/doc/alt-libicu65-devel/samples/uciter8/uit_len8.h000064400000002023150470307420016636 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2003, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uit_len8.h
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2003feb10
*   created by: Markus W. Scherer
*
*   This file contains the declaration for a "lenient UTF-8" UCharIterator
*   as used in the uciter8 sample code.
*/

#ifndef __UIT_LEN8_H__
#define __UIT_LEN8_H__

#include "unicode/utypes.h"
#include "unicode/uiter.h"

U_CAPI void U_EXPORT2
uiter_setLenient8(UCharIterator *iter, const char *s, int32_t length);

#endif
share/doc/alt-libicu65-devel/samples/uciter8/Makefile000064400000001130150470307420016374 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2003 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

# Name of your target
TARGET=uciter8

# All object files (C or C++)
OBJECTS=uciter8.o uit_len8.o

# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/uciter8/uit_len8.c000064400000043177150470307420016650 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2003-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uit_len8.c
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2003feb10
*   created by: Markus W. Scherer
*
*   This file contains the implementation of the "lenient UTF-8" UCharIterator
*   as used in the uciter8 sample code.
*   UTF-8-style macros are defined as well as the UCharIterator.
*   The macros are incomplete (do not assemble code points from pairs of
*   surrogates, see comment below)
*   but sufficient for the iterator.
*/

#include <string.h>
#include "unicode/utypes.h"
#include "unicode/uiter.h"

/* lenient UTF-8/CESU-8 macros ---------------------------------------------- */

/*
 * This code leniently reads 8-bit Unicode strings,
 * which could contain a mix of UTF-8 and CESU-8.
 * More precisely:
 * - supplementary code points may be encoded with dedicated 4-byte sequences
 *   (UTF-8 style)
 * - supplementary code points may be encoded with
 *   pairs of 3-byte sequences, one for each surrogate of the UTF-16 form
 *   (CESU-8 style)
 * - single surrogates are allowed, encoded with their "natural" 3-byte sequences
 *
 * Limitation:
 * Right now, the macros do not attempt to assemble code points from pairs of
 * separately encoded surrogates.
 * This would not be sufficient for processing based on these macros,
 * but it is sufficient for a UCharIterator that returns only UChars anyway.
 *
 * The code is copied and modified from utf_impl.c and utf8.h.
 *
 * Change 2006feb08: Much of the implementation code is replaced by calling
 * the utf_impl.c functions which accept a new "strict" parameter value
 * of -2 implementing exactly this leniency.
 */

#define L8_NEXT(s, i, length, c) { \
    (c)=(uint8_t)(s)[(i)++]; \
    if((c)>=0x80) { \
        if(U8_IS_LEAD(c)) { \
            (c)=utf8_nextCharSafeBody((const uint8_t *)s, &(i), (int32_t)(length), c, -2); \
        } else { \
            (c)=U_SENTINEL; \
        } \
    } \
}

#define L8_PREV(s, start, i, c) { \
    (c)=(uint8_t)(s)[--(i)]; \
    if((c)>=0x80) { \
        if((c)<=0xbf) { \
            (c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -2); \
        } else { \
            (c)=U_SENTINEL; \
        } \
    } \
}

/* lenient-8 UCharIterator -------------------------------------------------- */

/*
 * This is a copy of the UTF-8 UCharIterator in uiter.cpp,
 * except that it uses the lenient-8-bit-Unicode macros above.
 */

/*
 * Minimal implementation:
 * Maintain a single-UChar buffer for an additional surrogate.
 * The caller must not modify start and limit because they are used internally.
 *
 * Use UCharIterator fields as follows:
 *   context        pointer to UTF-8 string
 *   length         UTF-16 length of the string; -1 until lazy evaluation
 *   start          current UTF-8 index
 *   index          current UTF-16 index; may be -1="unknown" after setState()
 *   limit          UTF-8 length of the string
 *   reservedField  supplementary code point
 *
 * Since UCharIterator delivers 16-bit code units, the iteration can be
 * currently in the middle of the byte sequence for a supplementary code point.
 * In this case, reservedField will contain that code point and start will
 * point to after the corresponding byte sequence. The UTF-16 index will be
 * one less than what it would otherwise be corresponding to the UTF-8 index.
 * Otherwise, reservedField will be 0.
 */

/*
 * Possible optimization for NUL-terminated UTF-8 and UTF-16 strings:
 * Add implementations that do not call strlen() for iteration but check for NUL.
 */

static int32_t U_CALLCONV
lenient8IteratorGetIndex(UCharIterator *iter, UCharIteratorOrigin origin) {
    switch(origin) {
    case UITER_ZERO:
    case UITER_START:
        return 0;
    case UITER_CURRENT:
        if(iter->index<0) {
            /* the current UTF-16 index is unknown after setState(), count from the beginning */
            const uint8_t *s;
            UChar32 c;
            int32_t i, limit, index;

            s=(const uint8_t *)iter->context;
            i=index=0;
            limit=iter->start; /* count up to the UTF-8 index */
            while(i<limit) {
                L8_NEXT(s, i, limit, c);
                if(c<=0xffff) {
                    ++index;
                } else {
                    index+=2;
                }
            }

            iter->start=i; /* just in case setState() did not get us to a code point boundary */
            if(i==iter->limit) {
                iter->length=index; /* in case it was <0 or wrong */
            }
            if(iter->reservedField!=0) {
                --index; /* we are in the middle of a supplementary code point */
            }
            iter->index=index;
        }
        return iter->index;
    case UITER_LIMIT:
    case UITER_LENGTH:
        if(iter->length<0) {
            const uint8_t *s;
            UChar32 c;
            int32_t i, limit, length;

            s=(const uint8_t *)iter->context;
            if(iter->index<0) {
                /*
                 * the current UTF-16 index is unknown after setState(),
                 * we must first count from the beginning to here
                 */
                i=length=0;
                limit=iter->start;

                /* count from the beginning to the current index */
                while(i<limit) {
                    L8_NEXT(s, i, limit, c);
                    if(c<=0xffff) {
                        ++length;
                    } else {
                        length+=2;
                    }
                }

                /* assume i==limit==iter->start, set the UTF-16 index */
                iter->start=i; /* just in case setState() did not get us to a code point boundary */
                iter->index= iter->reservedField!=0 ? length-1 : length;
            } else {
                i=iter->start;
                length=iter->index;
                if(iter->reservedField!=0) {
                    ++length;
                }
            }

            /* count from the current index to the end */
            limit=iter->limit;
            while(i<limit) {
                L8_NEXT(s, i, limit, c);
                if(c<=0xffff) {
                    ++length;
                } else {
                    length+=2;
                }
            }
            iter->length=length;
        }
        return iter->length;
    default:
        /* not a valid origin */
        /* Should never get here! */
        return -1;
    }
}

static int32_t U_CALLCONV
lenient8IteratorMove(UCharIterator *iter, int32_t delta, UCharIteratorOrigin origin) {
    const uint8_t *s;
    UChar32 c;
    int32_t pos; /* requested UTF-16 index */
    int32_t i; /* UTF-8 index */
    UBool havePos;

    /* calculate the requested UTF-16 index */
    switch(origin) {
    case UITER_ZERO:
    case UITER_START:
        pos=delta;
        havePos=TRUE;
        /* iter->index<0 (unknown) is possible */
        break;
    case UITER_CURRENT:
        if(iter->index>=0) {
            pos=iter->index+delta;
            havePos=TRUE;
        } else {
            /* the current UTF-16 index is unknown after setState(), use only delta */
            pos=0;
            havePos=FALSE;
        }
        break;
    case UITER_LIMIT:
    case UITER_LENGTH:
        if(iter->length>=0) {
            pos=iter->length+delta;
            havePos=TRUE;
        } else {
            /* pin to the end, avoid counting the length */
            iter->index=-1;
            iter->start=iter->limit;
            iter->reservedField=0;
            if(delta>=0) {
                return UITER_UNKNOWN_INDEX;
            } else {
                /* the current UTF-16 index is unknown, use only delta */
                pos=0;
                havePos=FALSE;
            }
        }
        break;
    default:
        return -1;  /* Error */
    }

    if(havePos) {
        /* shortcuts: pinning to the edges of the string */
        if(pos<=0) {
            iter->index=iter->start=iter->reservedField=0;
            return 0;
        } else if(iter->length>=0 && pos>=iter->length) {
            iter->index=iter->length;
            iter->start=iter->limit;
            iter->reservedField=0;
            return iter->index;
        }

        /* minimize the number of L8_NEXT/PREV operations */
        if(iter->index<0 || pos<iter->index/2) {
            /* go forward from the start instead of backward from the current index */
            iter->index=iter->start=iter->reservedField=0;
        } else if(iter->length>=0 && (iter->length-pos)<(pos-iter->index)) {
            /*
             * if we have the UTF-16 index and length and the new position is
             * closer to the end than the current index,
             * then go backward from the end instead of forward from the current index
             */
            iter->index=iter->length;
            iter->start=iter->limit;
            iter->reservedField=0;
        }

        delta=pos-iter->index;
        if(delta==0) {
            return iter->index; /* nothing to do */
        }
    } else {
        /* move relative to unknown UTF-16 index */
        if(delta==0) {
            return UITER_UNKNOWN_INDEX; /* nothing to do */
        } else if(-delta>=iter->start) {
            /* moving backwards by more UChars than there are UTF-8 bytes, pin to 0 */
            iter->index=iter->start=iter->reservedField=0;
            return 0;
        } else if(delta>=(iter->limit-iter->start)) {
            /* moving forward by more UChars than the remaining UTF-8 bytes, pin to the end */
            iter->index=iter->length; /* may or may not be <0 (unknown) */
            iter->start=iter->limit;
            iter->reservedField=0;
            return iter->index>=0 ? iter->index : UITER_UNKNOWN_INDEX;
        }
    }

    /* delta!=0 */

    /* move towards the requested position, pin to the edges of the string */
    s=(const uint8_t *)iter->context;
    pos=iter->index; /* could be <0 (unknown) */
    i=iter->start;
    if(delta>0) {
        /* go forward */
        int32_t limit=iter->limit;
        if(iter->reservedField!=0) {
            iter->reservedField=0;
            ++pos;
            --delta;
        }
        while(delta>0 && i<limit) {
            L8_NEXT(s, i, limit, c);
            if(c<0xffff) {
                ++pos;
                --delta;
            } else if(delta>=2) {
                pos+=2;
                delta-=2;
            } else /* delta==1 */ {
                /* stop in the middle of a supplementary code point */
                iter->reservedField=c;
                ++pos;
                break; /* delta=0; */
            }
        }
        if(i==limit) {
            if(iter->length<0 && iter->index>=0) {
                iter->length= iter->reservedField==0 ? pos : pos+1;
            } else if(iter->index<0 && iter->length>=0) {
                iter->index= iter->reservedField==0 ? iter->length : iter->length-1;
            }
        }
    } else /* delta<0 */ {
        /* go backward */
        if(iter->reservedField!=0) {
            iter->reservedField=0;
            i-=4; /* we stayed behind the supplementary code point; go before it now */
            --pos;
            ++delta;
        }
        while(delta<0 && i>0) {
            L8_PREV(s, 0, i, c);
            if(c<0xffff) {
                --pos;
                ++delta;
            } else if(delta<=-2) {
                pos-=2;
                delta+=2;
            } else /* delta==-1 */ {
                /* stop in the middle of a supplementary code point */
                i+=4; /* back to behind this supplementary code point for consistent state */
                iter->reservedField=c;
                --pos;
                break; /* delta=0; */
            }
        }
    }

    iter->start=i;
    if(iter->index>=0) {
        return iter->index=pos;
    } else {
        /* we started with index<0 (unknown) so pos is bogus */
        if(i<=1) {
            return iter->index=i; /* reached the beginning */
        } else {
            /* we still don't know the UTF-16 index */
            return UITER_UNKNOWN_INDEX;
        }
    }
}

static UBool U_CALLCONV
lenient8IteratorHasNext(UCharIterator *iter) {
    return iter->reservedField!=0 || iter->start<iter->limit;
}

static UBool U_CALLCONV
lenient8IteratorHasPrevious(UCharIterator *iter) {
    return iter->start>0;
}

static UChar32 U_CALLCONV
lenient8IteratorCurrent(UCharIterator *iter) {
    if(iter->reservedField!=0) {
        return U16_TRAIL(iter->reservedField);
    } else if(iter->start<iter->limit) {
        const uint8_t *s=(const uint8_t *)iter->context;
        UChar32 c;
        int32_t i=iter->start;

        L8_NEXT(s, i, iter->limit, c);
        if(c<0) {
            return 0xfffd;
        } else if(c<=0xffff) {
            return c;
        } else {
            return U16_LEAD(c);
        }
    } else {
        return U_SENTINEL;
    }
}

static UChar32 U_CALLCONV
lenient8IteratorNext(UCharIterator *iter) {
    int32_t index;

    if(iter->reservedField!=0) {
        UChar trail=U16_TRAIL(iter->reservedField);
        iter->reservedField=0;
        if((index=iter->index)>=0) {
            iter->index=index+1;
        }
        return trail;
    } else if(iter->start<iter->limit) {
        const uint8_t *s=(const uint8_t *)iter->context;
        UChar32 c;

        L8_NEXT(s, iter->start, iter->limit, c);
        if((index=iter->index)>=0) {
            iter->index=++index;
            if(iter->length<0 && iter->start==iter->limit) {
                iter->length= c<=0xffff ? index : index+1;
            }
        } else if(iter->start==iter->limit && iter->length>=0) {
            iter->index= c<=0xffff ? iter->length : iter->length-1;
        }
        if(c<0) {
            return 0xfffd;
        } else if(c<=0xffff) {
            return c;
        } else {
            iter->reservedField=c;
            return U16_LEAD(c);
        }
    } else {
        return U_SENTINEL;
    }
}

static UChar32 U_CALLCONV
lenient8IteratorPrevious(UCharIterator *iter) {
    int32_t index;

    if(iter->reservedField!=0) {
        UChar lead=U16_LEAD(iter->reservedField);
        iter->reservedField=0;
        iter->start-=4; /* we stayed behind the supplementary code point; go before it now */
        if((index=iter->index)>0) {
            iter->index=index-1;
        }
        return lead;
    } else if(iter->start>0) {
        const uint8_t *s=(const uint8_t *)iter->context;
        UChar32 c;

        L8_PREV(s, 0, iter->start, c);
        if((index=iter->index)>0) {
            iter->index=index-1;
        } else if(iter->start<=1) {
            iter->index= c<=0xffff ? iter->start : iter->start+1;
        }
        if(c<0) {
            return 0xfffd;
        } else if(c<=0xffff) {
            return c;
        } else {
            iter->start+=4; /* back to behind this supplementary code point for consistent state */
            iter->reservedField=c;
            return U16_TRAIL(c);
        }
    } else {
        return U_SENTINEL;
    }
}

static uint32_t U_CALLCONV
lenient8IteratorGetState(const UCharIterator *iter) {
    uint32_t state=(uint32_t)(iter->start<<1);
    if(iter->reservedField!=0) {
        state|=1;
    }
    return state;
}

static void U_CALLCONV
lenient8IteratorSetState(UCharIterator *iter, uint32_t state, UErrorCode *pErrorCode) {
    if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) {
        /* do nothing */
    } else if(iter==NULL) {
        *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
    } else if(state==lenient8IteratorGetState(iter)) {
        /* setting to the current state: no-op */
    } else {
        int32_t index=(int32_t)(state>>1); /* UTF-8 index */
        state&=1; /* 1 if in surrogate pair, must be index>=4 */

        if((state==0 ? index<0 : index<4) || iter->limit<index) {
            *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
        } else {
            iter->start=index; /* restore UTF-8 byte index */
            if(index<=1) {
                iter->index=index;
            } else {
                iter->index=-1; /* unknown UTF-16 index */
            }
            if(state==0) {
                iter->reservedField=0;
            } else {
                /* verified index>=4 above */
                UChar32 c;
                L8_PREV((const uint8_t *)iter->context, 0, index, c);
                if(c<=0xffff) {
                    *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
                } else {
                    iter->reservedField=c;
                }
            }
        }
    }
}

static const UCharIterator lenient8Iterator={
    0, 0, 0, 0, 0, 0,
    lenient8IteratorGetIndex,
    lenient8IteratorMove,
    lenient8IteratorHasNext,
    lenient8IteratorHasPrevious,
    lenient8IteratorCurrent,
    lenient8IteratorNext,
    lenient8IteratorPrevious,
    NULL,
    lenient8IteratorGetState,
    lenient8IteratorSetState
};

U_CAPI void U_EXPORT2
uiter_setLenient8(UCharIterator *iter, const char *s, int32_t length) {
    if(iter!=0) {
        if(s!=0 && length>=-1) {
            *iter=lenient8Iterator;
            iter->context=s;
            if(length>=0) {
                iter->limit=length;
            } else {
                iter->limit=(int32_t)strlen(s);
            }
            iter->length= iter->limit<=1 ? iter->limit : -1;
        } else {
            /* set no-op iterator */
            uiter_setString(iter, NULL, 0);
        }
    }
}
share/doc/alt-libicu65-devel/samples/uciter8/uciter8.vcxproj.filters000064400000002101150470307420021402 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{539093c3-5b8d-4243-9153-abe14e9601b8}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{a04b6e49-ecbb-408f-a73c-9797cf0d45ae}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{b1a5a5b9-75a4-4bd6-8283-9eba59b3489d}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="uciter8.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="uit_len8.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uit_len8.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/uciter8/uciter8.sln000064400000002264150470307420017046 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uciter8", "uciter8.vcxproj", "{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.ActiveCfg = Debug|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|Win32.Build.0 = Debug|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.ActiveCfg = Debug|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Debug|x64.Build.0 = Debug|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.ActiveCfg = Release|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|Win32.Build.0 = Release|Win32
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.ActiveCfg = Release|x64
		{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/uciter8/uciter8.c000064400000025514150470307420016477 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2003-2014, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uciter8.c
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2003jan10
*   created by: Markus W. Scherer
*
*   This file contains sample code that illustrates reading
*   8-bit Unicode text leniently, accepting a mix of UTF-8 and CESU-8
*   and also accepting single surrogates.
*/

#include <stdio.h>
#include <string.h>
#include "unicode/utypes.h"
#include "unicode/uiter.h"
#include "uit_len8.h"

#ifndef UPRV_LENGTHOF
#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
#endif

#define log_err printf

/* UCharIterator test ------------------------------------------------------- */

/*
 * The following code is a copy of the UCharIterator test code in
 * source/test/cintltst/custrtst.c,
 * testing the lenient-8 iterator instead of the UTF-8 one.
 */

/*
 * Compare results from two iterators, should be same.
 * Assume that the text is not empty and that
 * iteration start==0 and iteration limit==length.
 */
static void
compareIterators(UCharIterator *iter1, const char *n1,
                 UCharIterator *iter2, const char *n2) {
    int32_t i, pos1, pos2, middle, length;
    UChar32 c1, c2;

    /* compare lengths */
    length=iter1->getIndex(iter1, UITER_LENGTH);
    pos2=iter2->getIndex(iter2, UITER_LENGTH);
    if(length!=pos2) {
        log_err("%s->getIndex(length)=%d != %d=%s->getIndex(length)\n", n1, length, pos2, n2);
        return;
    }

    /* set into the middle */
    middle=length/2;

    pos1=iter1->move(iter1, middle, UITER_ZERO);
    if(pos1!=middle) {
        log_err("%s->move(from 0 to middle %d)=%d does not move to the middle\n", n1, middle, pos1);
        return;
    }

    pos2=iter2->move(iter2, middle, UITER_ZERO);
    if(pos2!=middle) {
        log_err("%s->move(from 0 to middle %d)=%d does not move to the middle\n", n2, middle, pos2);
        return;
    }

    /* test current() */
    c1=iter1->current(iter1);
    c2=iter2->current(iter2);
    if(c1!=c2) {
        log_err("%s->current()=U+%04x != U+%04x=%s->current() at middle=%d\n", n1, c1, c2, n2, middle);
        return;
    }

    /* move forward 3 UChars */
    for(i=0; i<3; ++i) {
        c1=iter1->next(iter1);
        c2=iter2->next(iter2);
        if(c1!=c2) {
            log_err("%s->next()=U+%04x != U+%04x=%s->next() at %d (started in middle)\n", n1, c1, c2, n2, iter1->getIndex(iter1, UITER_CURRENT));
            return;
        }
    }

    /* move backward 5 UChars */
    for(i=0; i<5; ++i) {
        c1=iter1->previous(iter1);
        c2=iter2->previous(iter2);
        if(c1!=c2) {
            log_err("%s->previous()=U+%04x != U+%04x=%s->previous() at %d (started in middle)\n", n1, c1, c2, n2, iter1->getIndex(iter1, UITER_CURRENT));
            return;
        }
    }

    /* iterate forward from the beginning */
    pos1=iter1->move(iter1, 0, UITER_START);
    if(pos1<0) {
        log_err("%s->move(start) failed\n", n1);
        return;
    }
    if(!iter1->hasNext(iter1)) {
        log_err("%s->hasNext() at the start returns FALSE\n", n1);
        return;
    }

    pos2=iter2->move(iter2, 0, UITER_START);
    if(pos2<0) {
        log_err("%s->move(start) failed\n", n2);
        return;
    }
    if(!iter2->hasNext(iter2)) {
        log_err("%s->hasNext() at the start returns FALSE\n", n2);
        return;
    }

    do {
        c1=iter1->next(iter1);
        c2=iter2->next(iter2);
        if(c1!=c2) {
            log_err("%s->next()=U+%04x != U+%04x=%s->next() at %d\n", n1, c1, c2, n2, iter1->getIndex(iter1, UITER_CURRENT));
            return;
        }
    } while(c1>=0);

    if(iter1->hasNext(iter1)) {
        log_err("%s->hasNext() at the end returns TRUE\n", n1);
        return;
    }
    if(iter2->hasNext(iter2)) {
        log_err("%s->hasNext() at the end returns TRUE\n", n2);
        return;
    }

    /* back to the middle */
    pos1=iter1->move(iter1, middle, UITER_ZERO);
    if(pos1!=middle) {
        log_err("%s->move(from end to middle %d)=%d does not move to the middle\n", n1, middle, pos1);
        return;
    }

    pos2=iter2->move(iter2, middle, UITER_ZERO);
    if(pos2!=middle) {
        log_err("%s->move(from end to middle %d)=%d does not move to the middle\n", n2, middle, pos2);
        return;
    }

    /* move to index 1 */
    pos1=iter1->move(iter1, 1, UITER_ZERO);
    if(pos1!=1) {
        log_err("%s->move(from middle %d to 1)=%d does not move to 1\n", n1, middle, pos1);
        return;
    }

    pos2=iter2->move(iter2, 1, UITER_ZERO);
    if(pos2!=1) {
        log_err("%s->move(from middle %d to 1)=%d does not move to 1\n", n2, middle, pos2);
        return;
    }

    /* iterate backward from the end */
    pos1=iter1->move(iter1, 0, UITER_LIMIT);
    if(pos1<0) {
        log_err("%s->move(limit) failed\n", n1);
        return;
    }
    if(!iter1->hasPrevious(iter1)) {
        log_err("%s->hasPrevious() at the end returns FALSE\n", n1);
        return;
    }

    pos2=iter2->move(iter2, 0, UITER_LIMIT);
    if(pos2<0) {
        log_err("%s->move(limit) failed\n", n2);
        return;
    }
    if(!iter2->hasPrevious(iter2)) {
        log_err("%s->hasPrevious() at the end returns FALSE\n", n2);
        return;
    }

    do {
        c1=iter1->previous(iter1);
        c2=iter2->previous(iter2);
        if(c1!=c2) {
            log_err("%s->previous()=U+%04x != U+%04x=%s->previous() at %d\n", n1, c1, c2, n2, iter1->getIndex(iter1, UITER_CURRENT));
            return;
        }
    } while(c1>=0);

    if(iter1->hasPrevious(iter1)) {
        log_err("%s->hasPrevious() at the start returns TRUE\n", n1);
        return;
    }
    if(iter2->hasPrevious(iter2)) {
        log_err("%s->hasPrevious() at the start returns TRUE\n", n2);
        return;
    }
}

/*
 * Test the iterator's getState() and setState() functions.
 * iter1 and iter2 must be set up for the same iterator type and the same string
 * but may be physically different structs (different addresses).
 *
 * Assume that the text is not empty and that
 * iteration start==0 and iteration limit==length.
 * It must be 2<=middle<=length-2.
 */
static void
testIteratorState(UCharIterator *iter1, UCharIterator *iter2, const char *n, int32_t middle) {
    UChar32 u[4];

    UErrorCode errorCode;
    UChar32 c;
    uint32_t state;
    int32_t i, j;

    /* get four UChars from the middle of the string */
    iter1->move(iter1, middle-2, UITER_ZERO);
    for(i=0; i<4; ++i) {
        c=iter1->next(iter1);
        if(c<0) {
            /* the test violates the assumptions, see comment above */
            log_err("test error: %s[%d]=%d\n", n, middle-2+i, c);
            return;
        }
        u[i]=c;
    }

    /* move to the middle and get the state */
    iter1->move(iter1, -2, UITER_CURRENT);
    state=uiter_getState(iter1);

    /* set the state into the second iterator and compare the results */
    errorCode=U_ZERO_ERROR;
    uiter_setState(iter2, state, &errorCode);
    if(U_FAILURE(errorCode)) {
        log_err("%s->setState(0x%x) failed: %s\n", n, state, u_errorName(errorCode));
        return;
    }

    c=iter2->current(iter2);
    if(c!=u[2]) {
        log_err("%s->current(at %d)=U+%04x!=U+%04x\n", n, middle, c, u[2]);
    }

    c=iter2->previous(iter2);
    if(c!=u[1]) {
        log_err("%s->previous(at %d)=U+%04x!=U+%04x\n", n, middle-1, c, u[1]);
    }

    iter2->move(iter2, 2, UITER_CURRENT);
    c=iter2->next(iter2);
    if(c!=u[3]) {
        log_err("%s->next(at %d)=U+%04x!=U+%04x\n", n, middle+1, c, u[3]);
    }

    iter2->move(iter2, -3, UITER_CURRENT);
    c=iter2->previous(iter2);
    if(c!=u[0]) {
        log_err("%s->previous(at %d)=U+%04x!=U+%04x\n", n, middle-2, c, u[0]);
    }

    /* move the second iterator back to the middle */
    iter2->move(iter2, 1, UITER_CURRENT);
    iter2->next(iter2);

    /* check that both are in the middle */
    i=iter1->getIndex(iter1, UITER_CURRENT);
    j=iter2->getIndex(iter2, UITER_CURRENT);
    if(i!=middle) {
        log_err("%s->getIndex(current)=%d!=%d as expected\n", n, i, middle);
    }
    if(i!=j) {
        log_err("%s->getIndex(current)=%d!=%d after setState()\n", n, j, i);
    }

    /* compare lengths */
    i=iter1->getIndex(iter1, UITER_LENGTH);
    j=iter2->getIndex(iter2, UITER_LENGTH);
    if(i!=j) {
        log_err("%s->getIndex(length)=%d!=%d before/after setState()\n", n, i, j);
    }
}

static void
TestLenient8Iterator() {
    static const UChar text[]={
        0x61, 0x62, 0x63,
        /* dffd 107fd             d801    dffd - in UTF-16, U+107fd=<d801 dffd> */
        0xdffd, 0xd801, 0xdffd, 0xd801, 0xdffd, 
        0x78, 0x79, 0x7a, 0
    };
    static const uint8_t bytes[]={
        0x61, 0x62, 0x63,
        /* dffd            107fd                    d801               dffd - mixture */
        0xed, 0xbf, 0xbd,  0xf0, 0x90, 0x9f, 0xbd,  0xed, 0xa0, 0x81,  0xed, 0xbf, 0xbd,
        0x78, 0x79, 0x7a, 0
    };

    UCharIterator iter1, iter2;
    UChar32 c1, c2;
    int32_t length;

    puts("test a UCharIterator for lenient 8-bit Unicode (accept single surrogates)");

    /* compare the same string between UTF-16 and lenient-8 UCharIterators */
    uiter_setString(&iter1, text, -1);
    uiter_setLenient8(&iter2, (const char *)bytes, sizeof(bytes)-1);
    compareIterators(&iter1, "UTF16Iterator", &iter2, "Lenient8Iterator");

    /* try again with length=-1 */
    uiter_setLenient8(&iter2, (const char *)bytes, -1);
    compareIterators(&iter1, "UTF16Iterator", &iter2, "Lenient8Iterator_1");

    /* test get/set state */
    length=UPRV_LENGTHOF(text)-1;
    uiter_setLenient8(&iter1, (const char*)bytes, -1);
    testIteratorState(&iter1, &iter2, "Lenient8IteratorState", length/2);
    testIteratorState(&iter1, &iter2, "Lenient8IteratorStatePlus1", length/2+1);

    /* ---------------------------------------------------------------------- */

    puts("no output so far means that the lenient-8 iterator works fine");

    puts("iterate forward:\nUTF-16\tlenient-8");
    uiter_setString(&iter1, text, -1);
    iter1.move(&iter1, 0, UITER_START);
    iter2.move(&iter2, 0, UITER_START);
    for(;;) {
        c1=iter1.next(&iter1);
        c2=iter2.next(&iter2);
        if(c1<0 && c2<0) {
            break;
        }
        if(c1<0) {
            printf("\t%04x\n", c2);
        } else if(c2<0) {
            printf("%04x\n", c1);
        } else {
            printf("%04x\t%04x\n", c1, c2);
        }
    }
}

extern int
main(int argc, const char *argv[]) {
    TestLenient8Iterator();
    return 0;
}
share/doc/alt-libicu65-devel/samples/uciter8/readme.txt000064400000005545150470307420016750 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2003-2005, International Business Machines Corporation and others. All Rights Reserved.
uciter8: Lenient reading of 8-bit Unicode with a UCharIterator

This sample demonstrates reading
8-bit Unicode text leniently, accepting a mix of UTF-8 and CESU-8
and also accepting single surrogates.
UTF-8-style macros are defined as well as a UCharIterator.
The macros are incomplete (do not assemble code points from pairs of surrogates)
but sufficient for the iterator.

If you wish to use the lenient-UTF/CESU-8 UCharIterator in a context outside of
this sample, then copy the uit_len8.c file,
as well as either the uit_len8.h header or just the prototype that it contains.

*** Warning: ***
This UCharIterator reads an arbitrary mix of UTF-8 and CESU-8 text.
It does not conform to any one Unicode charset specification,
and its use may lead to security risks.


Files:
    uciter8.c        Main source file in C
    uit_len8.c       Lenient-UTF/CESU-8 UCharIterator implementation
    uit_len8.h       Header file with the prototoype for the lenient-UTF/CESU-8 UCharIterator
    uciter8.sln      Windows MSVC workspace.  Double-click this to get started.
    uciter8.vcproj   Windows MSVC project file

To Build uciter8 on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\uciter8\uciter8.sln
    3.  Choose a Debug or Release build.
    4.  Build.

To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the uciter8 directory, e.g.
            cd c:\icu\source\samples\uciter8\debug
    4.  Run it
            uciter8

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all

    2.  Install ICU, 
           gmake install

    3.  Compile
           cd <icu directory>/source/samples/uciter8
           gmake ICU_PREFIX=<icu install directory)

To Run on Unixes
           cd <icu directory>/source/samples/uciter8
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           uciter8


 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.
share/doc/alt-libicu65-devel/samples/uciter8/uciter8.vcxproj000064400000022035150470307430017744 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{94379DD9-E6CC-47AC-8E62-0A4ABD8EB121}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/uciter8.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/uciter8.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/uciter8.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/uciter8.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/uciter8.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/uciter8.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/uciter8.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/uciter8.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/uciter8.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/uciter8.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/uciter8.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/uciter8.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/uciter8.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/uciter8.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/uciter8.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/uciter8.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="uciter8.c" />
    <ClCompile Include="uit_len8.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uit_len8.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/break/break.sln000064400000002260150470307430016245 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "break", "break.vcxproj", "{DEEADF02-9C14-4854-A395-E505D2904D65}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.ActiveCfg = Debug|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|Win32.Build.0 = Debug|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.ActiveCfg = Debug|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Debug|x64.Build.0 = Debug|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.ActiveCfg = Release|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|Win32.Build.0 = Release|Win32
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.ActiveCfg = Release|x64
		{DEEADF02-9C14-4854-A395-E505D2904D65}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/break/Makefile000064400000001163150470307430016104 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=break

# All object files (C or C++)
OBJECTS=break.o ubreak.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/break/break.cpp000064400000010176150470307430016240 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2002-2003, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#include <stdio.h>
#include <unicode/brkiter.h>
#include <stdlib.h>

using namespace icu;

U_CFUNC int c_main(void);

void printUnicodeString(const UnicodeString &s) {
    char charBuf[1000];
    s.extract(0, s.length(), charBuf, sizeof(charBuf)-1, 0);   
    charBuf[sizeof(charBuf)-1] = 0;          
    printf("%s", charBuf);
}


void printTextRange( BreakIterator& iterator, 
                    int32_t start, int32_t end )
{
    CharacterIterator *strIter = iterator.getText().clone();
    UnicodeString  s;
    strIter->getText(s);

    printf(" %ld %ld\t", (long)start, (long)end);
    printUnicodeString(UnicodeString(s, 0, start));
    printf("|");
    printUnicodeString(UnicodeString(s, start, end-start));
    printf("|");
    printUnicodeString(UnicodeString(s, end));
    puts("");
    delete strIter;
}


/* Print each element in order: */
void printEachForward( BreakIterator& boundary)
{
    int32_t start = boundary.first();
    for (int32_t end = boundary.next();
         end != BreakIterator::DONE;
         start = end, end = boundary.next())
    {
        printTextRange( boundary, start, end );
    }
}

/* Print each element in reverse order: */
void printEachBackward( BreakIterator& boundary)
{
    int32_t end = boundary.last();
    for (int32_t start = boundary.previous();
         start != BreakIterator::DONE;
         end = start, start = boundary.previous())
    {
        printTextRange( boundary, start, end );
    }
}

/* Print the first element */
void printFirst(BreakIterator& boundary)
{
    int32_t start = boundary.first();
    int32_t end = boundary.next();
    printTextRange( boundary, start, end );
}

/* Print the last element */
void printLast(BreakIterator& boundary)
{
    int32_t end = boundary.last();
    int32_t start = boundary.previous();
    printTextRange( boundary, start, end );
}

/* Print the element at a specified position */
void printAt(BreakIterator &boundary, int32_t pos )
{
    int32_t end = boundary.following(pos);
    int32_t start = boundary.previous();
    printTextRange( boundary, start, end );
}

/* Creating and using text boundaries */
int main( void )
{
    puts("ICU Break Iterator Sample Program\n");
    puts("C++ Break Iteration\n");
    BreakIterator* boundary;
    UnicodeString stringToExamine("Aaa bbb ccc. Ddd eee fff.");
    printf("Examining: ");
    printUnicodeString(stringToExamine);
    puts("");

    //print each sentence in forward and reverse order
    UErrorCode status = U_ZERO_ERROR;
    boundary = BreakIterator::createSentenceInstance(
        Locale::getUS(), status );
    if (U_FAILURE(status)) {
        printf("failed to create sentence break iterator.  status = %s", 
            u_errorName(status));
        exit(1);
    }

    boundary->setText(stringToExamine);
    puts("\n Sentence Boundaries... ");
    puts("----- forward: -----------");
    printEachForward(*boundary);
    puts("----- backward: ----------");
    printEachBackward(*boundary);
    delete boundary;

    //print each word in order
    printf("\n Word Boundaries... \n");
    boundary = BreakIterator::createWordInstance(
        Locale::getUS(), status);
    boundary->setText(stringToExamine);
    puts("----- forward: -----------");
    printEachForward(*boundary);
    //print first element
    puts("----- first: -------------");
    printFirst(*boundary);
    //print last element
    puts("----- last: --------------");
    printLast(*boundary);
    //print word at charpos 10
    puts("----- at pos 10: ---------");
    printAt(*boundary, 10 );

    delete boundary;

    puts("\nEnd C++ Break Iteration");

    // Call the C version
    return c_main();
}
share/doc/alt-libicu65-devel/samples/break/ubreak.c000064400000007667150470307430016100 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2002, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/

#include <stdio.h>
#include <stdlib.h>
#include <unicode/ustring.h>
#include <unicode/ubrk.h>

U_CFUNC int c_main(void);

void printTextRange(UChar* str, int32_t start, int32_t end)
{
  char    charBuf[1000];
  UChar   savedEndChar;

  savedEndChar = str[end];
  str[end] = 0;
  u_austrncpy(charBuf, str+start, sizeof(charBuf)-1);
  charBuf[sizeof(charBuf)-1]=0;
  printf("string[%2d..%2d] \"%s\"\n", start, end-1, charBuf); 
  str[end] = savedEndChar;
}



/* Print each element in order: */
void printEachForward( UBreakIterator* boundary, UChar* str) {
  int32_t end;
  int32_t start = ubrk_first(boundary);
  for (end = ubrk_next(boundary); end != UBRK_DONE; start = end, end =
	 ubrk_next(boundary)) {
    printTextRange(str, start, end );
  }
}


/* Print each element in reverse order: */
void printEachBackward( UBreakIterator* boundary, UChar* str) {
  int32_t start;
  int32_t end = ubrk_last(boundary);
  for (start = ubrk_previous(boundary); start != UBRK_DONE;  end = start,
	 start =ubrk_previous(boundary)) {
    printTextRange( str, start, end );
  }
}

/* Print first element */
void printFirst(UBreakIterator* boundary, UChar* str) {
  int32_t end;
  int32_t start = ubrk_first(boundary);
  end = ubrk_next(boundary);
  printTextRange( str, start, end );
}

/* Print last element */
void printLast(UBreakIterator* boundary, UChar* str) {
  int32_t start;
  int32_t end = ubrk_last(boundary);
  start = ubrk_previous(boundary);
  printTextRange(str, start, end );
}

/* Print the element at a specified position */

void printAt(UBreakIterator* boundary, int32_t pos , UChar* str) {
  int32_t start;
  int32_t end = ubrk_following(boundary, pos);
  start = ubrk_previous(boundary);
  printTextRange(str, start, end );
}

/* Creating and using text boundaries*/

int c_main( void ) {
  UBreakIterator *boundary;
  char           cStringToExamine[] = "Aaa bbb ccc. Ddd eee fff.";
  UChar          stringToExamine[sizeof(cStringToExamine)+1]; 
  UErrorCode     status = U_ZERO_ERROR;

  printf("\n\n"
	 "C Boundary Analysis\n"
	 "-------------------\n\n");

  printf("Examining: %s\n", cStringToExamine);
  u_uastrcpy(stringToExamine, cStringToExamine);
        
  /*print each sentence in forward and reverse order*/
  boundary = ubrk_open(UBRK_SENTENCE, "en_us", stringToExamine,
		       -1, &status);
  if (U_FAILURE(status)) {
    printf("ubrk_open error: %s\n", u_errorName(status));
    exit(1);
  }

  printf("\n----- Sentence Boundaries, forward: -----------\n"); 
  printEachForward(boundary, stringToExamine);
  printf("\n----- Sentence Boundaries, backward: ----------\n");
  printEachBackward(boundary, stringToExamine);
  ubrk_close(boundary);
    
  /*print each word in order*/
  boundary = ubrk_open(UBRK_WORD, "en_us", stringToExamine,
		       u_strlen(stringToExamine), &status);
  printf("\n----- Word Boundaries, forward: -----------\n"); 
  printEachForward(boundary, stringToExamine);
  printf("\n----- Word Boundaries, backward: ----------\n");
  printEachBackward(boundary, stringToExamine);
  /*print first element*/
  printf("\n----- first: -------------\n");
  printFirst(boundary, stringToExamine);
  /*print last element*/
  printf("\n----- last: --------------\n");
  printLast(boundary, stringToExamine);
  /*print word at charpos 10 */
  printf("\n----- at pos 10: ---------\n");
  printAt(boundary, 10 , stringToExamine);
    
  ubrk_close(boundary);

  printf("\nEnd of C boundary analysis\n");
  return 0;
}
share/doc/alt-libicu65-devel/samples/break/break.vcxproj.filters000064400000001710150470307430020612 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{3cfd1084-1652-4648-bb97-9b38a2780005}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{34cb1edc-aa5a-4702-b867-a867ebe8496c}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{6aea4120-7995-4705-b3b7-7013af485c18}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="break.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="ubreak.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/break/readme.txt000064400000004322150470307430016442 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.
break: Boundary Analysis

This sample demonstrates
         Using ICU to determine the linguistic boundaries within text

         
Files:
    break.cpp      Main source file in C++
    ubreak.c       Main source file in C
    break.sln      Windows MSVC workspace.  Double-click this to get started.
    break.vcproj   Windows MSVC project file

To Build break on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\break\break.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the break directory, e.g.
            cd c:\icu\source\samples\break\debug
    4.  Run it (Warning: Be careful, 'break' is also a system command on many systems)
            .\break

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/break
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/break
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           break
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/break/break.vcxproj000064400000022125150470307430017146 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{DEEADF02-9C14-4854-A395-E505D2904D65}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/break.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/break.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/break.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/break.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/break.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/break.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/break.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/break.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/break.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/break.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/break.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/break.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/break.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/break.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/break.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/break.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="break.cpp" />
    <ClCompile Include="ubreak.c" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/csdet/Makefile000064400000001152150470307430016120 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2007 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=csdet

# All object files (C or C++)
OBJECTS=csdet.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/csdet/csdet.vcxproj000064400000017672150470307430017215 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{683745AD-3BC2-4B89-898B-93490D7F2757}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)csdet.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>$(OutDir)csdet.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)csdet.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>$(OutDir)csdet.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)csdet.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Console</SubSystem>
      <OptimizeReferences>true</OptimizeReferences>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)csdet.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <SubSystem>Console</SubSystem>
      <OptimizeReferences>true</OptimizeReferences>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="csdet.c" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/csdet/csdet.vcxproj.filters000064400000001602150470307430020646 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="csdet.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/csdet/csdet.c000064400000004140150470307430015726 0ustar00/*
********************************************************************************
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
********************************************************************************
********************************************************************************
 *   Copyright (C) 2005-2006, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *******************************************************************************
 */

#include "unicode/utypes.h"
#include "unicode/ucsdet.h"

#include <string.h>
#include <stdio.h>

#define BUFFER_SIZE 8192

int main(int argc, char *argv[])
{
    static char buffer[BUFFER_SIZE];
    int32_t arg;

    if( argc <= 1 ) {
        printf("Usage: %s [filename]...\n", argv[0]);
        return -1;
    }

    for(arg = 1; arg < argc; arg += 1) {
        FILE *file;
        char *filename = argv[arg];
        int32_t inputLength, match, matchCount = 0;
        UCharsetDetector* csd;
        const UCharsetMatch **csm;
        UErrorCode status = U_ZERO_ERROR;

        if (arg > 1) {
            printf("\n");
        }

        file = fopen(filename, "rb");

        if (file == NULL) {
            printf("Cannot open file \"%s\"\n\n", filename);
            continue;
        }

        printf("%s:\n", filename);

        inputLength = (int32_t) fread(buffer, 1, BUFFER_SIZE, file);

        fclose(file);

        csd = ucsdet_open(&status);
        ucsdet_setText(csd, buffer, inputLength, &status);

        csm = ucsdet_detectAll(csd, &matchCount, &status);

        for(match = 0; match < matchCount; match += 1) {
            const char *name = ucsdet_getName(csm[match], &status);
            const char *lang = ucsdet_getLanguage(csm[match], &status);
            int32_t confidence = ucsdet_getConfidence(csm[match], &status);

            if (lang == NULL || strlen(lang) == 0) {
                lang = "**";
            }

            printf("%s (%s) %d\n", name, lang, confidence);
        }

        ucsdet_close(csd);
    }
    
    return 0;
}

share/doc/alt-libicu65-devel/samples/csdet/readme.txt000064400000004301150470307430016455 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2001-2010 International Business Machines
Corporation and others. All Rights Reserved.
uresb: Resource Bundle

This sample demonstrates
        Using ICU's CharSet Detection API

         
Files:
    csdet.c        Main source file
    *.txt          Various sample .txt files

To Build uresb on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\uresb\uresb.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the uresb directory, e.g.
            cd c:\icu\source\samples\uresb\debug
    4.  Run it  (with a locale name, ex. english)
            csdet eucJP.txt
    WARNING: The .txt files must be in the same directory as the executable, which is not the case by default on some systems.

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/uresb
           gmake ICU_PREFIX=<icu install directory) ICU_PATH=<icu source directory>
           
 To Run on Unixes
           cd <icu directory>/source/samples/uresb
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           csdet eucJP.txt
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/date/Makefile000064400000003227150470307430015740 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/date
## Copyright (c) 1999-2012, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information

srcdir=.
top_srcdir=../..

top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples/date

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET = icudate$(EXEEXT)

CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)

OBJECTS = uprint.o date.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local

all-local: $(TARGET)

install-local: all-local

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(OBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local:
	-$(INVOKE) ./$(TARGET) $(ICUDATE_OPTS)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

$(TARGET) : $(OBJECTS)
	$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
	$(POST_BUILD_STEP)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/date/date.c000064400000023666150470307430015372 0ustar00/*
*************************************************************************
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*************************************************************************
***********************************************************************
*   Copyright (C) 1998-2012, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*
* File date.c
*
* Modification History:
*
*   Date        Name        Description
*   06/11/99    stephen     Creation.
*   06/16/99    stephen     Modified to use uprint.
*   08/11/11    srl         added Parse and milli/second in/out
*******************************************************************************
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "unicode/utypes.h"
#include "unicode/ustring.h"
#include "unicode/uclean.h"

#include "unicode/ucnv.h"
#include "unicode/udat.h"
#include "unicode/ucal.h"

#include "uprint.h"

int main(int argc, char **argv);

#if UCONFIG_NO_FORMATTING || UCONFIG_NO_CONVERSION

int main(int argc, char **argv)
{
  printf("%s: Sorry, UCONFIG_NO_FORMATTING or UCONFIG_NO_CONVERSION was turned on (see uconfig.h). No formatting can be done. \n", argv[0]);
  return 0;
}
#else


/* Protos */
static void usage(void);
static void version(void);
static void date(UDate when, const UChar *tz, UDateFormatStyle style, const char *format, const char *locale, UErrorCode *status);
static UDate getWhen(const char *millis, const char *seconds, const char *format, const char *locale, UDateFormatStyle style, const char *parse, const UChar *tz, UErrorCode *status);

UConverter *cnv = NULL;

/* The version of date */
#define DATE_VERSION "1.0"

/* "GMT" */
static const UChar GMT_ID [] = { 0x0047, 0x004d, 0x0054, 0x0000 };

#define FORMAT_MILLIS "%"
#define FORMAT_SECONDS "%%"

int
main(int argc,
     char **argv)
{
  int printUsage = 0;
  int printVersion = 0;
  int optInd = 1;
  char *arg;
  const UChar *tz = 0;
  UDateFormatStyle style = UDAT_DEFAULT;
  UErrorCode status = U_ZERO_ERROR;
  const char *format = NULL;
  const char *locale = NULL;
  char *parse = NULL;
  char *seconds = NULL;
  char *millis = NULL;
  UDate when;

  /* parse the options */
  for(optInd = 1; optInd < argc; ++optInd) {
    arg = argv[optInd];
    
    /* version info */
    if(strcmp(arg, "-v") == 0 || strcmp(arg, "--version") == 0) {
      printVersion = 1;
    }
    /* usage info */
    else if(strcmp(arg, "-h") == 0 || strcmp(arg, "--help") == 0) {
      printUsage = 1;
    }
    /* display date in gmt */
    else if(strcmp(arg, "-u") == 0 || strcmp(arg, "--gmt") == 0) {
      tz = GMT_ID;
    }
    /* display date in gmt */
    else if(strcmp(arg, "-f") == 0 || strcmp(arg, "--full") == 0) {
      style = UDAT_FULL;
    }
    /* display date in long format */
    else if(strcmp(arg, "-l") == 0 || strcmp(arg, "--long") == 0) {
      style = UDAT_LONG;
    }
    /* display date in medium format */
    else if(strcmp(arg, "-m") == 0 || strcmp(arg, "--medium") == 0) {
      style = UDAT_MEDIUM;
    }
    /* display date in short format */
    else if(strcmp(arg, "-s") == 0 || strcmp(arg, "--short") == 0) {
      style = UDAT_SHORT;
    }
    else if(strcmp(arg, "-F") == 0 || strcmp(arg, "--format") == 0) {
      if ( optInd + 1 < argc ) { 
         optInd++;
         format = argv[optInd];
      }
    } else if(strcmp(arg, "-r") == 0) {
      if ( optInd + 1 < argc ) { 
         optInd++;
         seconds = argv[optInd];
      }
    } else if(strcmp(arg, "-R") == 0) {
      if ( optInd + 1 < argc ) { 
         optInd++;
         millis = argv[optInd];
      }
    } else if(strcmp(arg, "-P") == 0) {
      if ( optInd + 1 < argc ) { 
         optInd++;
         parse = argv[optInd];
      }
    }
    else if (strcmp(arg, "-L") == 0) {
      if (optInd + 1 < argc) {
         optInd++;
         locale = argv[optInd];
      }
    }
    /* POSIX.1 says all arguments after -- are not options */
    else if(strcmp(arg, "--") == 0) {
      /* skip the -- */
      ++optInd;
      break;
    }
    /* unrecognized option */
    else if(strncmp(arg, "-", strlen("-")) == 0) {
      printf("icudate: invalid option -- %s\n", arg+1);
      printUsage = 1;
    }
    /* done with options, display date */
    else {
      break;
    }
  }

  /* print usage info */
  if(printUsage) {
    usage();
    return 0;
  }

  /* print version info */
  if(printVersion) {
    version();
    return 0;
  }

  /* get the 'when' (or now) */
  when = getWhen(millis, seconds, format, locale, style, parse, tz, &status);
  if(parse != NULL) {
    format = FORMAT_MILLIS; /* output in millis */
  }

  /* print the date */
  date(when, tz, style, format, locale, &status);

  ucnv_close(cnv);

  u_cleanup();
  return (U_FAILURE(status) ? 1 : 0);
}

/* Usage information */
static void
usage()
{  
  puts("Usage: icudate [OPTIONS]");
  puts("Options:");
  puts("  -h, --help        Print this message and exit.");
  puts("  -v, --version     Print the version number of date and exit.");
  puts("  -u, --gmt         Display the date in Greenwich Mean Time.");
  puts("  -f, --full        Use full display format.");
  puts("  -l, --long        Use long display format.");
  puts("  -m, --medium      Use medium display format.");
  puts("  -s, --short       Use short display format.");
  puts("  -F <format>, --format <format>       Use <format> as the display format.");
  puts("                    (Special formats: \"%\" alone is Millis since 1970, \"%%\" alone is Seconds since 1970)");
  puts("  -r <seconds>      Use <seconds> as the time (Epoch 1970) rather than now.");
  puts("  -R <millis>       Use <millis> as the time (Epoch 1970) rather than now.");
  puts("  -P <string>       Parse <string> as the time, output in millis format.");
  puts("  -L <string>       Use the locale <string> instead of the default ICU locale.");
}

/* Version information */
static void
version()
{
  UErrorCode status = U_ZERO_ERROR;
  const char *tzVer;
  int len = 256;
  UChar tzName[256];
  printf("icudate version %s, created by Stephen F. Booth.\n", 
	 DATE_VERSION);
  puts(U_COPYRIGHT_STRING);
  tzVer = ucal_getTZDataVersion(&status);
  if(U_FAILURE(status)) {  
      tzVer = u_errorName(status);  
  }
  printf("\n");
  printf("ICU Version:               %s\n", U_ICU_VERSION);
  printf("ICU Data (major+min):      %s\n", U_ICUDATA_NAME);
  printf("Default Locale:            %s\n", uloc_getDefault());
  printf("Time Zone Data Version:    %s\n", tzVer);
  printf("Default Time Zone:         ");
  status = U_ZERO_ERROR;
  u_init(&status);
  len = ucal_getDefaultTimeZone(tzName, len, &status);
  if(U_FAILURE(status)) {
    fprintf(stderr, " ** Error getting default zone: %s\n", u_errorName(status));
  }
  uprint(tzName, stdout, &status);
  printf("\n\n");
}

static int32_t charsToUCharsDefault(UChar *uchars, int32_t ucharsSize, const char*chars, int32_t charsSize, UErrorCode *status) {
  int32_t len=-1;
  if(U_FAILURE(*status)) return len;
  if(cnv==NULL) {
    cnv = ucnv_open(NULL, status);
  }
  if(cnv&&U_SUCCESS(*status)) {
    len = ucnv_toUChars(cnv, uchars, ucharsSize, chars,charsSize, status);
  }
  return len;
}

/* Format the date */
static void
date(UDate when,
     const UChar *tz,
     UDateFormatStyle style,
     const char *format,
     const char *locale,
     UErrorCode *status )
{
  UChar *s = 0;
  int32_t len = 0;
  UDateFormat *fmt;
  UChar uFormat[100];

  if(U_FAILURE(*status)) return;

  if( format != NULL ) {
    if(!strcmp(format,FORMAT_MILLIS)) {
      printf("%.0f\n", when);
      return;
    } else if(!strcmp(format, FORMAT_SECONDS)) {
      printf("%.3f\n", when/1000.0);
      return;
    }
  }

  fmt = udat_open(style, style, locale, tz, -1,NULL,0, status);
  if ( format != NULL ) {
    charsToUCharsDefault(uFormat,sizeof(uFormat)/sizeof(uFormat[0]),format,-1,status);
    udat_applyPattern(fmt,FALSE,uFormat,-1);
  }
  len = udat_format(fmt, when, 0, len, 0, status);
  if(*status == U_BUFFER_OVERFLOW_ERROR) {
    *status = U_ZERO_ERROR;
    s = (UChar*) malloc(sizeof(UChar) * (len+1));
    if(s == 0) goto finish;
    udat_format(fmt, when, s, len + 1, 0, status);
  }
  if(U_FAILURE(*status)) goto finish;

  /* print the date string */
  uprint(s, stdout, status);

  /* print a trailing newline */
  printf("\n");

 finish:
  if(U_FAILURE(*status)) {
    fprintf(stderr, "Error in Print: %s\n", u_errorName(*status));
  }
  udat_close(fmt);
  free(s);
}

static UDate getWhen(const char *millis, const char *seconds, const char *format, const char *locale,
                     UDateFormatStyle style, const char *parse, const UChar *tz, UErrorCode *status) {
  UDateFormat *fmt = NULL; 
  UChar uFormat[100];
  UChar uParse[256];
  UDate when=0;
  int32_t parsepos = 0;

  if(millis != NULL) {
    sscanf(millis, "%lf", &when);
    return when;
  } else if(seconds != NULL) {
    sscanf(seconds, "%lf", &when);
    return when*1000.0;
  }

  if(parse!=NULL) {
    if( format != NULL ) {
      if(!strcmp(format,FORMAT_MILLIS)) {
        sscanf(parse, "%lf", &when);
        return when;
      } else if(!strcmp(format, FORMAT_SECONDS)) {
        sscanf(parse, "%lf", &when);
        return when*1000.0;
      }
    }

    fmt = udat_open(style, style, locale, tz, -1,NULL,0, status);
    if ( format != NULL ) {
      charsToUCharsDefault(uFormat,sizeof(uFormat)/sizeof(uFormat[0]), format,-1,status);
      udat_applyPattern(fmt,FALSE,uFormat,-1);
    }
    
    charsToUCharsDefault(uParse,sizeof(uParse)/sizeof(uParse[0]), parse,-1,status);
    when = udat_parse(fmt, uParse, -1, &parsepos, status);
    if(U_FAILURE(*status)) {
      fprintf(stderr, "Error in Parse: %s\n", u_errorName(*status));
      if(parsepos > 0 && parsepos <= (int32_t)strlen(parse)) {
        fprintf(stderr, "ERR>\"%s\" @%d\n"
                        "ERR> %*s^\n",
                parse,parsepos,parsepos,"");
                
      }
    }

    udat_close(fmt);
    return when;
  } else {
    return ucal_getNow();
  }
}

#endif
share/doc/alt-libicu65-devel/samples/date/date.vcxproj000064400000022443150470307430016633 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{38B5751A-C6F9-4409-950C-F4F9DA17275F}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/date.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/date.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/date.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/date.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/date.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/date.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/date.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/date.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/date.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/date.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
      <PrecompiledHeaderFile />
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/date.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/date.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="date.c" />
    <ClCompile Include="uprint.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uprint.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/date/Makefile.in000064400000003245150470307430016345 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/date
## Copyright (c) 1999-2012, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information

srcdir=@srcdir@
top_srcdir=@top_srcdir@

top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples/date

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET = icudate$(EXEEXT)

CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)

OBJECTS = uprint.o date.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local

all-local: $(TARGET)

install-local: all-local

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(OBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local:
	-$(INVOKE) ./$(TARGET) $(ICUDATE_OPTS)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

$(TARGET) : $(OBJECTS)
	$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
	$(POST_BUILD_STEP)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/date/uprint.c000064400000003715150470307430015767 0ustar00/*
***********************************************************************
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html#License
***********************************************************************
**********************************************************************
* Copyright (C) 1998-2001, International Business Machines Corporation
* and others.  All Rights Reserved.
**********************************************************************
*
* File date.c
*
* Modification History:
*
*	Date		Name		Description
*	06/14/99	stephen 	Creation.
*******************************************************************************
*/

#include "uprint.h"

#include "unicode/ucnv.h"
#include "unicode/ustring.h"

#define BUF_SIZE 128

/* Print a ustring to the specified FILE* in the default codepage */
void
uprint(const UChar *s,
	   FILE *f,
	   UErrorCode *status)
{
  /* converter */
  UConverter *converter;
  char buf [BUF_SIZE];
  int32_t sourceLen;
  const UChar *mySource;
  const UChar *mySourceEnd;
  char *myTarget;
  int32_t arraySize;

  if(s == 0) return;

  /* set up the conversion parameters */
  sourceLen    = u_strlen(s);
  mySource	   = s;
  mySourceEnd  = mySource + sourceLen;
  myTarget	   = buf;
  arraySize    = BUF_SIZE;

  /* open a default converter */
  converter = ucnv_open(0, status);
  
  /* if we failed, clean up and exit */
  if(U_FAILURE(*status)) goto finish;
  
  /* perform the conversion */
  do {
	/* reset the error code */
	*status = U_ZERO_ERROR;

	/* perform the conversion */
	ucnv_fromUnicode(converter, &myTarget,	myTarget + arraySize,
			 &mySource, mySourceEnd, NULL,
			 TRUE, status);

	/* Write the converted data to the FILE* */
	fwrite(buf, sizeof(char), myTarget - buf, f);

	/* update the conversion parameters*/
	myTarget	 = buf;
	arraySize	 = BUF_SIZE;
  }
  while(*status == U_BUFFER_OVERFLOW_ERROR); 

 finish:
  
  /* close the converter */
  ucnv_close(converter);
}
share/doc/alt-libicu65-devel/samples/date/date.sln000064400000002256150470307430015734 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "date", "date.vcxproj", "{38B5751A-C6F9-4409-950C-F4F9DA17275F}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.ActiveCfg = Debug|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|Win32.Build.0 = Debug|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.ActiveCfg = Debug|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Debug|x64.Build.0 = Debug|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.ActiveCfg = Release|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|Win32.Build.0 = Release|Win32
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.ActiveCfg = Release|x64
		{38B5751A-C6F9-4409-950C-F4F9DA17275F}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/date/readme.txt000064400000004465150470307430016303 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.
icudate: a sample program which displays the current date

This sample demonstrates
         Formatting a date
         Outputting text in the default codepage to the console

         
Files:
    date.c                      Main source file
    uprint.h                    codepage output convenience header
    uprint.h                    codepage output convenience implementation
    date.sln                    Windows MSVC workspace.  Double-click this to get started.
    date.vcproj                 Windows MSVC project file

To Build icudate on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\date\date.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the icudate directory, e.g.
            cd c:\icu\source\samples\date\debug
    4.  Run it (Warning: Be careful, 'date' is also a system command on many systems)
            .\date

To Build on Unixes
    1.  Build ICU.  icudate is built automatically by default unless samples are turned off.
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
 To Run on Unixes
           cd <icu directory>/source/samples/date
           
           gmake check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           date
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/date/uprint.h000064400000001737150470307430015776 0ustar00/*
********************************************************************************
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
********************************************************************************
**********************************************************************
* Copyright (C) 1998-2004, International Business Machines Corporation
* and others.  All Rights Reserved.
**********************************************************************
*
* File uprint.h
*
* Modification History:
*
*   Date        Name        Description
*   06/14/99    stephen     Creation.
*******************************************************************************
*/

#ifndef UPRINT_H
#define UPRINT_H 1

#include <stdio.h>

#include "unicode/utypes.h"

/* Print a ustring to the specified FILE* in the default codepage */
U_CFUNC void uprint(const UChar *s, FILE *f, UErrorCode *status);

#endif /* ! UPRINT_H */
share/doc/alt-libicu65-devel/samples/date/date.vcxproj.filters000064400000002072150470307430020276 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{5d1a92f4-cd62-4008-981f-9b9ce42ff51d}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{384d6dc3-d172-42ad-b155-2995c3a6821a}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{b7a5bc57-56cb-42af-9127-0a3369186ee8}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="date.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="uprint.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uprint.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/uresb/resources.vcxproj.filters000064400000001544150470307430021601 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{6b52e0ef-641f-45e1-b497-f06105317781}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;txt</Extensions>
    </Filter>
    <Filter Include="Build Script">
      <UniqueIdentifier>{a4e32c14-ea1d-4778-b403-912d60e3ad79}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <None Include="en.txt">
      <Filter>Resource Files</Filter>
    </None>
    <None Include="root.txt">
      <Filter>Resource Files</Filter>
    </None>
    <None Include="sr.txt">
      <Filter>Resource Files</Filter>
    </None>
    <None Include="resources.mak">
      <Filter>Build Script</Filter>
    </None>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/uresb/Makefile000064400000003721150470307430016142 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2005 IBM, Inc. and others
# conversion sample code
# Usage:
#  - configure, build, install ICU
#  - ensure that 'icu-config' is in the PATH (PREFIX/bin/icu-config) 
#  - if ICU is not built relative to this directory,
#      set the variable ICU_PATH to the 'icu' directory
#       (i.e.  /foo/icu  )
#  - do 'make' in this directory

include ../defs.mk

ICU_DEFAULT_PATH=../../..

ifeq ($(strip $(ICU_PATH)),)
  ICU_PATH=$(ICU_DEFAULT_PATH)
endif

GENRBOPT = -s. -d.

# Name of your target
TARGET=uresb
PKG=$(TARGET)
RES_SRC=root.txt en.txt sr.txt
RESOURCES=$(RES_SRC:%.txt=%.res)

# All object files (C or C++)
OBJECTS=uresb.o

CLEANFILES=*~ $(TARGET).out

all: $(RESOURCES) $(TARGET) 

uresb.o:  $(ICU_PATH)/source/tools/toolutil/uoptions.h

$(ICU_PATH)/source/tools/toolutil/uoptions.h:
	@echo "Please read the directions at the top of this file (Makefile)"
	@echo "Can't open $@ - check ICU_PATH"
	@false

CPPFLAGS += -I$(ICU_PATH)/source/tools/toolutil
LDFLAGS += -L$(ICU_PATH)/source/tools/toolutil $(shell icu-config --ldflags-toolutil --ldflags-icuio)

.PHONY: all clean distclean check report

distclean clean:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
	-$(RMV) $(OBJECTS) $(TARGET) $(RESOURCES)


## resources
%.res: %.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) $^

## Special for a special codepage
sr.res : sr.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) -e cp1251 $?

# Can change this to LINK.c if it is a C only program
# Can add more libraries here. 
$(TARGET): $(OBJECTS)
	$(CC) -o $(TARGET) $(LDFLAGS)

# Make check: simply runs the sample, logged to a file
check: $(TARGET) $(RESOURCES)
	$(INVOKE) ./$(TARGET) en | tee $(TARGET).out

# Make report: creates a 'report file' with both source and sample run
report: $(TARGET).report

$(TARGET).report: check $(TARGET).cpp
	more $(TARGET).cpp $(TARGET).out > $@



share/doc/alt-libicu65-devel/samples/uresb/uresb.sln000064400000004062150470307430016337 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resources", "resources.vcxproj", "{69437707-2FEF-4E2C-8C3F-6E6B3D241366}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uresb", "uresb.vcxproj", "{92580BF4-F4DA-4024-B3F8-444F982BC72F}"
	ProjectSection(ProjectDependencies) = postProject
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366} = {69437707-2FEF-4E2C-8C3F-6E6B3D241366}
	EndProjectSection
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.ActiveCfg = Debug|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|Win32.Build.0 = Debug|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.ActiveCfg = Debug|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Debug|x64.Build.0 = Debug|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.ActiveCfg = Release|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|Win32.Build.0 = Release|Win32
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.ActiveCfg = Release|x64
		{69437707-2FEF-4E2C-8C3F-6E6B3D241366}.Release|x64.Build.0 = Release|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.ActiveCfg = Debug|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|Win32.Build.0 = Debug|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.ActiveCfg = Debug|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Debug|x64.Build.0 = Debug|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.ActiveCfg = Release|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|Win32.Build.0 = Release|Win32
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.ActiveCfg = Release|x64
		{92580BF4-F4DA-4024-B3F8-444F982BC72F}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/uresb/resources.vcxproj000064400000020666150470307430020140 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{69437707-2FEF-4E2C-8C3F-6E6B3D241366}</ProjectGuid>
    <Keyword>MakeFileProj</Keyword>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Makefile</ConfigurationType>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\resources_Win32_Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\resources_Win32_Debug\</IntDir>
    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f "resources.mak" CFG=x86\Debug</NMakeBuildCommandLine>
    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f "resources.mak" /a CFG=x86\Debug</NMakeReBuildCommandLine>
    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f "resources.mak" clean CFG=x86\Debug</NMakeCleanCommandLine>
    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">uresb_root.res</NMakeOutput>
    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f "resources.mak" CFG=x64\Debug</NMakeBuildCommandLine>
    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f "resources.mak" /a CFG=x64\Debug</NMakeReBuildCommandLine>
    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f "resources.mak" clean CFG=x64\Debug</NMakeCleanCommandLine>
    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">uresb_root.res</NMakeOutput>
    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\resources_Win32_Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\resources_Win32_Release\</IntDir>
    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f "resources.mak" CFG=x86\Release</NMakeBuildCommandLine>
    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f "resources.mak" /a CFG=x86\Release</NMakeReBuildCommandLine>
    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f "resources.mak" clean CFG=x86\Release</NMakeCleanCommandLine>
    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">uresb_root.res</NMakeOutput>
    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f "resources.mak" CFG=x64\Release</NMakeBuildCommandLine>
    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f "resources.mak" /a CFG=x64\Release</NMakeReBuildCommandLine>
    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f "resources.mak" clean CFG=x64\Release</NMakeCleanCommandLine>
    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">uresb_root.res</NMakeOutput>
    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
  </PropertyGroup>
  <ItemDefinitionGroup>
  </ItemDefinitionGroup>
  <ItemGroup>
    <None Include="en.txt" />
    <None Include="root.txt" />
    <None Include="sr.txt" />
    <None Include="resources.mak" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/uresb/resources.mak000064400000001272150470307430017205 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Copyright (c) 2001-2009 International Business Machines
## Corporation and others. All Rights Reserved.
PACKAGE_NAME = uresb
TARGETS = en.res root.res sr.res

!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
GENRB = ..\..\..\bin64\genrb.exe
!ELSE
GENRB = ..\..\..\bin\genrb.exe
!ENDIF

GENRBOPT = -s . -d .

all : $(TARGETS)
    @echo All targets are up to date

clean : 
    -erase $(TARGETS)

en.res : en.txt
    $(GENRB) $(GENRBOPT) $?

root.res : root.txt
    $(GENRB) $(GENRBOPT) $?

sr.res : sr.txt
    $(GENRB) $(GENRBOPT) --encoding cp1251 $?

share/doc/alt-libicu65-devel/samples/uresb/sr.txt000064400000003751150470307430015672 0ustar00// Copyright (C) 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
//
// Copyright (c) 2001-2003 International Business Machines
// Corporation and others. All Rights Reserved.
// Use --encoding cp1251 for genrb

sr {
     errorcodes {
                     "���� �����",
                     "�������� ��������",
                     "��������� ������",
                     "������ �� ��",
                     "����� � �������� �������",
                     "������� ����� � ��������",
                     "����� � �������� ��������",
                     "����� � �������� �������",
                     "����� � ������ �������",
                     "����� � �������� ��������",
                     "������� �� �� ������",
                     "������� �� �������� ������",
                     "������� �� �������� ������",
                     "�� ������ ������",
                     "��� �������� ������",
                     "����� �� ������",
                     "��������� �����",
                     "�� ��� �������",
                     "��� ����� �������",
                     "���������� ����� �������"
                     }
      helpTopics {
          udata           { "This is udata help topic" }
          resourcebundles { "This is resource bundle help topic" }
          collation       { "This is collation help topic" }
          breakit         { "This is break iterator help topic" }
          translit        { "This is transliteration help topic" }
          unicode         { "This is unicode help topic" }
          format          { "This is format help topic" }
      }

      helpKeywords {
          udata           { "udata" }
          resourcebundles { "resources" }
          collation       { "collation" }
          breakit         { "breakit" }
          translit        { "transliteration" }
          unicode         { "unicode" }
          format          { "format" }
      }
}
share/doc/alt-libicu65-devel/samples/uresb/root.txt000064400000003710150470307430016224 0ustar00// Copyright (C) 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
//
// Copyright (c) 2001-2003 International Business Machines
// Corporation and others. All Rights Reserved.
root {
     errorcodes {
                     "U_ZERO_ERROR",
                     "U_ILLEGAL_ARGUMENT_ERROR",
                     "U_MISSING_RESOURCE_ERROR",
                     "U_INVALID_FORMAT_ERROR",
                     "U_FILE_ACCESS_ERROR",
                     "U_INTERNAL_PROGRAM_ERROR",
                     "U_MESSAGE_PARSE_ERROR",
                     "U_MEMORY_ALLOCATION_ERROR",
                     "U_INDEX_OUTOFBOUNDS_ERROR",
                     "U_PARSE_ERROR",
                     "U_INVALID_CHAR_FOUND",
                     "U_TRUNCATED_CHAR_FOUND",
                     "U_ILLEGAL_CHAR_FOUND",
                     "U_INVALID_TABLE_FORMAT",
                     "U_INVALID_TABLE_FILE",
                     "U_BUFFER_OVERFLOW_ERROR",
                     "U_UNSUPPORTED_ERROR",
                     "U_RESOURCE_TYPE_MISMATCH",
                     "U_ILLEGAL_ESCAPE_SEQUENCE",
                     "U_UNSUPPORTED_ESCAPE_SEQUENCE"
                     }
      helpTopics {
          udata           { "ROOT udata help topic" }
          resourcebundles { "ROOT resource bundle help topic" }
          collation       { "ROOT collation help topic" }
          breakit         { "ROOT break iterator help topic" }
          translit        { "ROOT transliteration help topic" }
          unicode         { "ROOT unicode help topic" }
          format          { "ROOT format help topic" }
      }

      helpKeywords {
          udata           { "udata" }
          resourcebundles { "resources" }
          collation       { "collation" }
          breakit         { "breakit" }
          translit        { "transliteration" }
          unicode         { "unicode" }
          format          { "format" }
      }
}
      

share/doc/alt-libicu65-devel/samples/uresb/uresb.vcxproj000064400000023261150470307430017240 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{92580BF4-F4DA-4024-B3F8-444F982BC72F}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>../../../include;../../tools/toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/uresb.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/uresb.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0c1a</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuio.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/uresb.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/uresb.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/uresb.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/uresb.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0c1a</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuio.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/uresb.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/uresb.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/uresb.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/uresb.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0c1a</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/uresb.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/uresb.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/uresb.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/uresb.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0c1a</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuiod.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/uresb.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64/;../../tools/toolutil/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/uresb.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="uresb.c" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="resources.vcxproj">
      <Project>{69437707-2fef-4e2c-8c3f-6e6b3d241366}</Project>
      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/uresb/uresb.c000064400000025065150470307430015773 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 1999-2007, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  uresb.c
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2000sep6
*   created by: Vladimir Weinstein
*/

/******************************************************************************
 * This program prints out resource bundles - example for
 * ICU workshop
 * TODO: make a complete i18n layout for this program.
 ******************************************************************************/

#include "unicode/putil.h"
#include "unicode/ures.h"
#include "unicode/ustdio.h"
#include "unicode/uloc.h"
#include "unicode/ustring.h"
#include "uoptions.h"
#include "toolutil.h"

#include <string.h>
#include <stdlib.h>
#ifdef WIN32
#include <direct.h>
#else
#include <unistd.h>
#endif

#define URESB_DEFAULTTRUNC 40

static char *currdir = NULL;
/*--locale sr_YU and --encoding cp855
 * are interesting on Win32
 */

static const char *locale = NULL;
static const char *encoding = NULL;
static const char *resPath = NULL;
static const int32_t indentsize = 4;
static UFILE *outerr = NULL;
static int32_t truncsize = URESB_DEFAULTTRUNC;
static UBool trunc = FALSE;

const UChar baderror[] = { 0x0042, 0x0041, 0x0044, 0x0000 };

const UChar *getErrorName(UErrorCode errorNumber);
void reportError(UErrorCode *status);
static UChar *quotedString(const UChar *string);
void printOutBundle(UFILE *out, UResourceBundle *resource, int32_t indent, UErrorCode *status);
void printIndent(UFILE *out, int32_t indent);
void printHex(UFILE *out, const int8_t *what);

static UOption options[]={
    UOPTION_HELP_H,
    UOPTION_HELP_QUESTION_MARK,
    { "locale", NULL, NULL, NULL, 'l', UOPT_REQUIRES_ARG, 0 },
    UOPTION_ENCODING,
    { "path", NULL, NULL, NULL, 'p', UOPT_OPTIONAL_ARG, 0 },
    { "truncate", NULL, NULL, NULL, 't', UOPT_OPTIONAL_ARG, 0 },
    UOPTION_VERBOSE
};

static UBool VERBOSE = FALSE;

extern int
main(int argc, char* argv[]) {

    UResourceBundle *bundle = NULL;
    UErrorCode status = U_ZERO_ERROR;
    UFILE *out = NULL;
    int32_t i = 0;
    const char* arg;
    char resPathBuffer[1024];
#ifdef WIN32
    currdir = _getcwd(NULL, 0);
#else
    currdir = getcwd(NULL, 0);
#endif

    argc=u_parseArgs(argc, argv, sizeof(options)/sizeof(options[0]), options);

    /* error handling, printing usage message */
    if(argc<0) {
        fprintf(stderr,
            "error in command line argument \"%s\"\n",
            argv[-argc]);
    }
    if(argc<2 || options[0].doesOccur || options[1].doesOccur) {
        fprintf(stderr,
            "usage: %s [-options] locale(s)\n",
            argv[0]);
        return argc<0 ? U_ILLEGAL_ARGUMENT_ERROR : U_ZERO_ERROR;
    }

    if(options[2].doesOccur) {
        locale = options[2].value;
    } else {
        locale = 0;
    }

    if(options[3].doesOccur) {
        encoding = options[3].value;
    } else {
        encoding = NULL;
    }

    if(options[4].doesOccur) {
        if(options[4].value != NULL) {
            resPath = options[4].value; /* we'll use users resources */
        } else {
            resPath = NULL; /* we'll use ICU system resources for dumping */
        }
    } else {
        strcpy(resPathBuffer, currdir);
        /*strcat(resPathBuffer, U_FILE_SEP_STRING);
        strcat(resPathBuffer, "uresb");*/
        resPath = resPathBuffer; /* we'll just dump uresb samples resources */
    }

    if(options[5].doesOccur) {
        trunc = TRUE;
        if(options[5].value != NULL) {
            truncsize = atoi(options[5].value); /* user defined printable size */
        } else {
            truncsize = URESB_DEFAULTTRUNC; /* we'll use default omitting size */
        }
    } else {
        trunc = FALSE;
    }

    if(options[6].doesOccur) {
        VERBOSE = TRUE;
    }

    outerr = u_finit(stderr, locale, encoding);
    out = u_finit(stdout, locale, encoding); 

    for(i = 1; i < argc; ++i) {
        status = U_ZERO_ERROR;
        arg = getLongPathname(argv[i]);

        u_fprintf(out, "uresb: processing file \"%s\" in path \"%s\"\n", arg, resPath);
        bundle = ures_open(resPath, arg, &status);
        if(U_SUCCESS(status)) {
            u_fprintf(out, "%s\n", arg);
            printOutBundle(out, bundle, 0, &status);
        } else {
            reportError(&status);
        }

        ures_close(bundle);
    }



    u_fclose(out);
    u_fclose(outerr);
    return 0;
}

void printIndent(UFILE *out, int32_t indent) {
    char inchar[256];
    int32_t i = 0;
    for(i = 0; i<indent; i++) {
        inchar[i] = ' ';
    }
    inchar[indent] = '\0';
    u_fprintf(out, "%s", inchar);
}

void printHex(UFILE *out, const int8_t *what) {
  u_fprintf(out, "%02X", (uint8_t)*what);
}

static UChar *quotedString(const UChar *string) {
    int len = u_strlen(string);
    int alen = len;
    const UChar *sp;
    UChar *newstr, *np;

    for (sp = string; *sp; ++sp) {
        switch (*sp) {
            case '\n':
            case 0x0022:
                ++alen;
                break;
        }
    }

    newstr = (UChar *) malloc((1 + alen) * sizeof(*newstr));
    for (sp = string, np = newstr; *sp; ++sp) {
        switch (*sp) {
            case '\n':
                *np++ = 0x005C;
                *np++ = 0x006E;
                break;

            case 0x0022:
                *np++ = 0x005C;
                
            default:
                *np++ = *sp;
                break;
        }
    }
    *np = 0;

    return newstr;
}

void printOutBundle(UFILE *out, UResourceBundle *resource, int32_t indent, UErrorCode *status) {
    int32_t i = 0;
    const char *key = ures_getKey(resource);

    switch(ures_getType(resource)) {
    case URES_STRING :
        {
            int32_t len=0;
            const UChar*thestr = ures_getString(resource, &len, status);
            UChar *string = quotedString(thestr);

            /* TODO: String truncation */
            /*
            if(trunc && len > truncsize) {
                printIndent(out, indent);
                u_fprintf(out, "// WARNING: this string, size %d is truncated to %d\n", len, truncsize/2);
                len = truncsize/2;
            }
            */
            printIndent(out, indent);
            if(key != NULL) {
                u_fprintf(out, "%s { \"%S\" } ", key, string);
            } else {
                u_fprintf(out, "\"%S\",", string);
            }
            if(VERBOSE) {
                u_fprintf(out, " // STRING");
            }
            u_fprintf(out, "\n");
            free(string);
        }
        break;
    case URES_INT :
        printIndent(out, indent);
        if(key != NULL) {
            u_fprintf(out, "%s", key);
        }
        u_fprintf(out, ":int { %li } ", ures_getInt(resource, status));
        
        if(VERBOSE) {
            u_fprintf(out, " // INT");
        }
        u_fprintf(out, "\n");
        break;
    case URES_BINARY :
        {
            int32_t len = 0;
            const int8_t *data = (const int8_t *)ures_getBinary(resource, &len, status);
            if(trunc && len > truncsize) {
                printIndent(out, indent);
                u_fprintf(out, "// WARNING: this resource, size %li is truncated to %li\n", len, truncsize/2);
                len = truncsize/2;
            }
            if(U_SUCCESS(*status)) {
                printIndent(out, indent);
                if(key != NULL) {
                    u_fprintf(out, "%s", key);
                }
                u_fprintf(out, ":binary { ");
                for(i = 0; i<len; i++) {
                    printHex(out, data++);
                }
                u_fprintf(out, " }");
                if(VERBOSE) {
                    u_fprintf(out, " // BINARY");
                }
                u_fprintf(out, "\n");
                
            } else {
                reportError(status);
            }
        }
        break;
    case URES_INT_VECTOR :
      {
          int32_t len = 0;
          const int32_t *data = ures_getIntVector(resource, &len, status);
          if(U_SUCCESS(*status)) {
              printIndent(out, indent);
              if(key != NULL) {
                  u_fprintf(out, "%s", key);
              } 
              u_fprintf(out, ":intvector { ");
              for(i = 0; i<len-1; i++) {
                  u_fprintf(out, "%d, ", data[i]);
              }
              if(len > 0) {
                  u_fprintf(out, "%d ", data[len-1]);
              }
              u_fprintf(out, "}");
              if(VERBOSE) {
                  u_fprintf(out, " // INTVECTOR");
              }
              u_fprintf(out, "\n");
              
          } else {
              reportError(status);
          }
      }
      break;
    case URES_TABLE :
    case URES_ARRAY :
        {
            UResourceBundle *t = NULL;
            ures_resetIterator(resource);
            printIndent(out, indent);
            if(key != NULL) {
                u_fprintf(out, "%s ", key);
            }
            u_fprintf(out, "{");
            if(VERBOSE) {
                if(ures_getType(resource) == URES_TABLE) {
                    u_fprintf(out, " // TABLE");
                } else {
                    u_fprintf(out, " // ARRAY");
                }
            }
            u_fprintf(out, "\n");

            while(ures_hasNext(resource)) {
                t = ures_getNextResource(resource, t, status);
                printOutBundle(out, t, indent+indentsize, status);
            }

            printIndent(out, indent);
            u_fprintf(out, "}\n");
            ures_close(t);
        }
        break;
    default:
        break;
    }

}

void reportError(UErrorCode *status) {
    u_fprintf(outerr, "Error %d(%s) : %U happened!\n", *status, u_errorName(*status), getErrorName(*status));
}


const UChar *getErrorName(UErrorCode errorNumber) {
    UErrorCode status = U_ZERO_ERROR;
    int32_t len = 0;

    UResourceBundle *error = ures_open(currdir, locale, &status);

    UResourceBundle *errorcodes = ures_getByKey(error, "errorcodes", NULL, &status);

    const UChar *result = ures_getStringByIndex(errorcodes, errorNumber, &len, &status);

    ures_close(errorcodes);
    ures_close(error);

    if(U_SUCCESS(status)) {
        return result;
    } else {
        return baderror;
    }

}
share/doc/alt-libicu65-devel/samples/uresb/en.txt000064400000003656150470307430015654 0ustar00//   Copyright (C) 2016 and later: Unicode, Inc. and others.
//   License & terms of use: http://www.unicode.org/copyright.html#License
//
//   Copyright (C) 2000-2003, International Business Machines
//   Corporation and others.  All Rights Reserved.

en {
     errorcodes {
                     "No error",
                     "Illegal argument passed",
                     "Missing resource",
                     "Format is invalid",
                     "File access error",
                     "Internal program error",
                     "Message parse error",
                     "Memory allocation error",
                     "Index out of bounds error",
                     "Parse error",
                     "Invalid char found",
                     "Truncated char found",
                     "Illegal char found",
                     "Invalid table format",
                     "Invalid table file",
                     "Buffer overflow error",
                     "Unsupported error",
                     "Resource type mismatch",
                     "Illegal escape sequence",
                     "Unsupported escape sequence"
                     }
      helpTopics {
          udata           { "This is udata help topic" }
          resourcebundles { "This is resource bundle help topic" }
          collation       { "This is collation help topic" }
          breakit         { "This is break iterator help topic" }
          translit        { "This is transliteration help topic" }
          unicode         { "This is unicode help topic" }
          format          { "This is format help topic" }
      }

      helpKeywords {
          udata           { "udata" }
          resourcebundles { "resources" }
          collation       { "collation" }
          breakit         { "breakit" }
          translit        { "transliteration" }
          unicode         { "unicode" }
          format          { "format" }
      }
}
share/doc/alt-libicu65-devel/samples/uresb/readme.txt000064400000005036150470307430016501 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2001-2010 International Business Machines
Corporation and others. All Rights Reserved.
uresb: Resource Bundle

This sample demonstrates
         Building a resource bundle
         Using ICU to print data from a resource bundle

         
Files:
    uresb.c        Main source file in C
    uresb.sln      Windows MSVC workspace.  Double-click this to get started.
    uresb.vcproj   Windows MSVC project file
    resources.dsp  Windows project file for resources
    resources.mak  Windows makefile for resources

    root.txt       Root resource bundle
    en.txt         English translation
    sr.txt         Serbian translation (cp1251)

To Build uresb on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\uresb\uresb.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the uresb directory, e.g.
            cd c:\icu\source\samples\uresb\debug
    4.  Run it  (with a locale name, ex. english)
            uresb  en
    WARNING: The .txt files must be in the same directory as the executable, which is not the case by default on some systems.

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/uresb
           gmake ICU_PREFIX=<icu install directory) ICU_PATH=<icu source directory>
           
 To Run on Unixes
           cd <icu directory>/source/samples/uresb
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           uresb
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/uresb/uresb.vcxproj.filters000064400000001556150470307430020712 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{8ee7965d-1f49-4d43-822c-1769f483fb4d}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{360c4d2a-1def-4b5d-854c-d069c425e6bb}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{5ff61356-999a-4b96-8195-2cdac0185df9}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="uresb.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/msgfmt/util.h000064400000001557150470307430016012 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg);

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source);

// Print the given string to stdout
void uprintf(const UnicodeString &str);
share/doc/alt-libicu65-devel/samples/msgfmt/Makefile000064400000001161150470307430016313 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=msgfmt

# All object files (C or C++)
OBJECTS=main.o util.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/msgfmt/answers/main_3.cpp000064400000003043150470307430020210 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include "unicode/msgfmt.h"
#include "unicode/calendar.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

// The message format pattern.  It takes a single argument, an integer,
// and formats it as "no", "one", or a number, using a NumberFormat.
static UnicodeString PATTERN(
    "Received {0,choice,0#no arguments|1#one argument|2#{0,number,integer} arguments}"
    " on {1,date,long}."
);

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    FieldPosition pos;

    // Create a message format
    MessageFormat msg(PATTERN, status);
    check(status, "MessageFormat::ct");

    // Create the argument list
    Formattable msgArgs[2];
    msgArgs[0].setLong(argc-1);
    msgArgs[1].setDate(Calendar::getNow());

    // Format the arguments
    msg.format(msgArgs, 2, str, pos, status);
    check(status, "MessageFormat::format");

    printf("Message: ");
    uprintf(str);
    printf("\n");

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/msgfmt/answers/main_2.cpp000064400000003021150470307430020203 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include "unicode/msgfmt.h"
#include "unicode/calendar.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

// The message format pattern.  It takes a single argument, an integer,
// and formats it as "no", "one", or a number, using a NumberFormat.
static UnicodeString PATTERN(
    "Received {0,choice,0#no|1#one|1& {0,number,integer}} arguments"
    " on {1,date,long}."
);

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    FieldPosition pos;

    // Create a message format
    MessageFormat msg(PATTERN, status);
    check(status, "MessageFormat::ct");

    // Create the argument list
    Formattable msgArgs[2];
    msgArgs[0].setLong(argc-1);
    msgArgs[1].setDate(Calendar::getNow());

    // Format the arguments
    msg.format(msgArgs, 2, str, pos, status);
    check(status, "MessageFormat::format");

    printf("Message: ");
    uprintf(str);
    printf("\n");

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/msgfmt/answers/main_1.cpp000064400000001537150470307430020214 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include "unicode/msgfmt.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;

    printf("Message: ");
    uprintf(str);
    printf("\n");

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/msgfmt/answers/main_0.cpp000064400000001614150470307430020207 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include "unicode/msgfmt.h"
#include "unicode/uclean.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;

    printf("Message: ");
    uprintf(str);
    printf("\n");

    u_cleanup();
    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/msgfmt/msgfmt.vcxproj000064400000023023150470307430017566 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/msgfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/msgfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/msgfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/msgfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/msgfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/msgfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/msgfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/msgfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/msgfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/msgfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/msgfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/msgfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/msgfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/msgfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/msgfmt.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/msgfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp" />
    <ClCompile Include="util.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/msgfmt/README.TXT000064400000006110150470307430016210 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.


IMPORTANT:

This sample was originally intended as an exercise for the ICU Workshop (September 2000).
The code currently provided in the solution file is the answer to the exercises, each step can still be found in the 'answers' subdirectory.




  http://www.icu-project.org/docs/workshop_2000/agenda.html

  Day 2: September 12th 2000
  Pre-requisites:
  1. All the hardware and software requirements from Day 1.
  2. Attended or fully understand Day 1 material.
  3. Read through the ICU user's guide at
  http://www.icu-project.org/userguide/.

  #Date/Time/Number Formatting Support
  9:30am - 10:30am
  Alan Liu

  Topics:
  1. What is the date/time support in ICU?
  2. What is the timezone support in ICU?
  3. What kind of formatting and parsing support is available in ICU, i.e.
  NumberFormat, DateFormat, MessageFormat?


INSTRUCTIONS
------------


This exercise was first developed and tested on ICU release 1.6.0, Win32,
Microsoft Visual C++ 6.0.  It should work on other ICU releases and
other platforms as well.

 MSVC:
   Open the file "msgfmt.sln" in Microsoft Visual C++.

 Unix:
   - Build and install ICU with a prefix, for example '--prefix=/home/srl/ICU'
   - Set the variable  ICU_PREFIX=/home/srl/ICU and use GNU make in 
        this directory.
   - You may use 'make check' to invoke this sample.

PROBLEMS
--------

Problem 0:

  Set up the program, build it, and run it.  To start with, the
  program prints out the word "Message".

Problem 1: Basic Message Formatting (Easy)

  Use a MessageFormat to create a message that prints out "Received
  <n> argument(s) on <d>.", where n is the number of command line
  arguments (use argc-1), and d is the date (use Calendar::getNow()).

  HINT: Your message pattern should have a "number" element and a
  "date" element, and you will need to use Formattable.

Problem 2: ChoiceFormat (Medium)

  We can do better than "argument(s)".  Instead, we can display more
  idiomatic strings, such as "no arguments", "one argument", "two
  arguments", and for higher values, we can use a number format.
 
  This kind of value-based switching is done using a ChoiceFormat.
  However, you seldom needs to create a ChoiceFormat by itself.
  Instead, most of the time you will supply the ChoiceFormat pattern
  within a MessageFormat pattern.

  Use a ChoiceFormat pattern within the MessageFormat pattern, instead
  of the "number" element, to display more idiomatic strings.

  EXTRA: Embed a number element within the choice element to handle
  values greater than two.


ANSWERS
-------

The exercise includes answers.  These are in the "answers" directory,
and are numbered 1, 2, etc.

If you get stuck and you want to move to the next step, copy the
answers file into the main directory in order to proceed.  E.g.,
"main_1.cpp" contains the original "main.cpp" file.  "main_2.cpp"
contains the "main.cpp" file after problem 1.  Etc.


Have fun!
share/doc/alt-libicu65-devel/samples/msgfmt/msgfmt.sln000064400000002262150470307430016671 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msgfmt", "msgfmt.vcxproj", "{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.ActiveCfg = Debug|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|Win32.Build.0 = Debug|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.ActiveCfg = Debug|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Debug|x64.Build.0 = Debug|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.ActiveCfg = Release|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|Win32.Build.0 = Release|Win32
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.ActiveCfg = Release|x64
		{5FF1D1A2-1630-446C-B6EA-93EFD4F975C3}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/msgfmt/main.cpp000064400000003043150470307430016304 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2003, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include "unicode/msgfmt.h"
#include "unicode/calendar.h"
#include <stdio.h>
#include <stdlib.h>
#include "util.h"

// The message format pattern.  It takes a single argument, an integer,
// and formats it as "no", "one", or a number, using a NumberFormat.
static UnicodeString PATTERN(
    "Received {0,choice,0#no arguments|1#one argument|2#{0,number,integer} arguments}"
    " on {1,date,long}."
);

int main(int argc, char **argv) {

    UErrorCode status = U_ZERO_ERROR;
    UnicodeString str;
    FieldPosition pos;

    // Create a message format
    MessageFormat msg(PATTERN, status);
    check(status, "MessageFormat::ct");

    // Create the argument list
    Formattable msgArgs[2];
    msgArgs[0].setLong(argc-1);
    msgArgs[1].setDate(Calendar::getNow());

    // Format the arguments
    msg.format(msgArgs, 2, str, pos, status);
    check(status, "MessageFormat::format");

    printf("Message: ");
    uprintf(str);
    printf("\n");

    printf("Exiting successfully\n");
    return 0;
}
share/doc/alt-libicu65-devel/samples/msgfmt/util.cpp000064400000004371150470307430016342 0ustar00/**********************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 ***********************************************************************
 ***********************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2010, International Business Machines Corporation and
 * others. All Rights Reserved.
 ***********************************************************************/

#include "unicode/unistr.h"
#include <stdio.h>
#include <stdlib.h>

using namespace icu;

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg) {
    if (U_FAILURE(status)) {
        printf("ERROR: %s (%s)\n", u_errorName(status), msg);
        exit(1);
    }
    // printf("Ok: %s\n", msg);
}
                                                      
// Append a hex string to the target
static UnicodeString& appendHex(uint32_t number, 
                         int8_t digits, 
                         UnicodeString& target) {
    static const UnicodeString DIGIT_STRING("0123456789ABCDEF");
    while (digits > 0) {
        target += DIGIT_STRING[(number >> ((--digits) * 4)) & 0xF];
    }
    return target;
}

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source) {
    int32_t i;
    UnicodeString target;
    target += "\"";
    for (i=0; i<source.length(); ++i) {
        UChar ch = source[i];
        if (ch < 0x09 || (ch > 0x0A && ch < 0x20) || ch > 0x7E) {
            target += "\\u";
            appendHex(ch, 4, target);
        } else {
            target += ch;
        }
    }
    target += "\"";
    return target;
}

// Print the given string to stdout
void uprintf(const UnicodeString &str) {
    char *buf = 0;
    int32_t len = str.length();
    // int32_t bufLen = str.extract(0, len, buf); // Preflight
    /* Preflighting seems to be broken now, so assume 1-1 conversion,
       plus some slop. */
    int32_t bufLen = len + 16;
	int32_t actualLen;
    buf = new char[bufLen + 1];
    actualLen = str.extract(0, len, buf/*, bufLen*/); // Default codepage conversion
    buf[actualLen] = 0;
    printf("%s", buf);
    delete [] buf;
}
share/doc/alt-libicu65-devel/samples/msgfmt/msgfmt.vcxproj.filters000064400000001707150470307430021242 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{ee7c4dbe-02ac-43f8-89cf-260b2bebecc9}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{b140c5d1-fe3d-4fbc-9931-fd1a6a555dc7}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{66a2f758-b543-469a-a2c9-754e37e23a81}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="util.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/numfmt/util.h000064400000002145150470307430016015 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unistr.h"
#include "unicode/fmtable.h"

using namespace icu;

#ifndef UPRV_LENGTHOF 
#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0])) 
#endif 

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg);

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source);

// Print the given string to stdout
void uprintf(const UnicodeString &str);

// Create a display string for a formattable
UnicodeString formattableToString(const Formattable& f);
share/doc/alt-libicu65-devel/samples/numfmt/Makefile000064400000001170150470307430016324 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=numfmt

# All object files (C or C++)
OBJECTS=main.o util.o capi.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/numfmt/numfmt.vcxproj000064400000023157150470307430017620 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{721FBD47-E458-4C35-90DA-FF192907D5E2}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/numfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/numfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/numfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/numfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Debug/numfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/numfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/numfmt.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/numfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/numfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/numfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/numfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/numfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/numfmt.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/numfmt.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/numfmt.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/numfmt.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="capi.c" />
    <ClCompile Include="main.cpp" />
    <ClCompile Include="util.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="util.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/numfmt/numfmt.vcxproj.filters000064400000002220150470307430021253 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{88ce2f55-7fa8-4f41-8f4b-218bc68250c4}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{d646ea9a-5f23-4c6a-9db6-b028a0f18de5}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{1fc0ba57-7696-49f7-a631-29ca4759be0e}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="capi.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="util.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="util.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/numfmt/numfmt.sln000064400000002262150470307430016713 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "numfmt", "numfmt.vcxproj", "{721FBD47-E458-4C35-90DA-FF192907D5E2}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.ActiveCfg = Debug|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|Win32.Build.0 = Debug|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.ActiveCfg = Debug|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Debug|x64.Build.0 = Debug|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.ActiveCfg = Release|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|Win32.Build.0 = Release|Win32
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.ActiveCfg = Release|x64
		{721FBD47-E458-4C35-90DA-FF192907D5E2}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/numfmt/main.cpp000064400000022165150470307430016323 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2014, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/utypes.h"
#include "unicode/unistr.h"
#include "unicode/numfmt.h"
#include "unicode/dcfmtsym.h"
#include "unicode/decimfmt.h"
#include "unicode/locid.h"
#include "unicode/uclean.h"
#include "util.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

extern "C" void capi();
void cppapi();

static void
showCurrencyFormatting(UBool useICU26API);

int main(int argc, char **argv) {
    printf("%s output is in UTF-8\n", argv[0]);

    printf("C++ API\n");
    cppapi();

    printf("C API\n");
    capi();

    showCurrencyFormatting(FALSE);
    showCurrencyFormatting(TRUE);

    u_cleanup();    // Release any additional storage held by ICU.  

    printf("Exiting successfully\n");
    return 0;
}

/**
 * Sample code for the C++ API to NumberFormat.
 */
void cppapi() {
    Locale us("en", "US");
    UErrorCode status = U_ZERO_ERROR;
    
    // Create a number formatter for the US locale
    NumberFormat *fmt = NumberFormat::createInstance(us, status);
    check(status, "NumberFormat::createInstance");

    // Parse a string.  The string uses the digits '0' through '9'
    // and the decimal separator '.', standard in the US locale
    UnicodeString str("9876543210.123");
    Formattable result;
    fmt->parse(str, result, status);
    check(status, "NumberFormat::parse");

    printf("NumberFormat::parse(\""); // Display the result
    uprintf(str);
    printf("\") => ");
    uprintf(formattableToString(result));
    printf("\n");

    // Take the number parsed above, and use the formatter to
    // format it.
    str.remove(); // format() will APPEND to this string
    fmt->format(result, str, status);
    check(status, "NumberFormat::format");

    printf("NumberFormat::format("); // Display the result
    uprintf(formattableToString(result));
    printf(") => \"");
    uprintf(str);
    printf("\"\n");

    delete fmt; // Release the storage used by the formatter
    
}

// currency formatting ----------------------------------------------------- ***

/*
 * Set a currency on a NumberFormat with pre-ICU 2.6 APIs.
 * This is a "hack" that will not work properly for all cases because
 * only ICU 2.6 introduced a more complete framework and data for this.
 *
 * @param nf The NumberFormat on which to set the currency; takes effect on
 *           currency-formatting NumberFormat instances.
 *           This must actually be a DecimalFormat instance.
 *           The display style of the output is controlled by nf (its pattern,
 *           usually from the display locale ID used to create this instance)
 *           while the currency symbol and number of decimals are set for
 *           the currency.
 * @param currency The 3-letter ISO 4217 currency code, NUL-terminated.
 * @param errorCode ICU error code, must pass U_SUCCESS() on input.
 */
static void
setNumberFormatCurrency_2_4(NumberFormat &nf, const char *currency, UErrorCode &errorCode) {
    // argument checking
    if(U_FAILURE(errorCode)) {
        return;
    }
    if(currency==NULL || strlen(currency)!=3) {
        errorCode=U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }

    // check that the formatter is a DecimalFormat instance
    // necessary because we will cast to the DecimalFormat subclass to set
    // the currency symbol
    DecimalFormat *dnf=dynamic_cast<DecimalFormat *>(&nf);
    if(dnf==NULL) {
        errorCode=U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }

    // map the currency code to a locale ID
    // only the currencies in this array are supported
    // it would be possible to map to a locale ID, instantiate a currency
    // formatter for that and copy its values, but that would be slower,
    // and we have to hardcode something here anyway
    static const struct {
        // ISO currency ID
        const char *currency;

        // fractionDigits==minimumFractionDigits==maximumFractionDigits
        // for these currencies
        int32_t fractionDigits;

        /*
         * Set the rounding increment to 0 if it is implied with the number of
         * fraction digits. Setting an explicit rounding increment makes
         * number formatting slower.
         * In other words, set it to something other than 0 only for unusual
         * cases like "nickel rounding" (0.05) when the increment differs from
         * 10^(-maximumFractionDigits).
         */
        double roundingIncrement;

        // Unicode string with the desired currency display symbol or name
        UChar symbol[16];
    } currencyMap[]={
        { "USD", 2, 0.0, { 0x24, 0 } },
        { "GBP", 2, 0.0, { 0xa3, 0 } },
        { "EUR", 2, 0.0, { 0x20ac, 0 } },
        { "JPY", 0, 0.0, { 0xa5, 0 } }
    };

    int32_t i;

    for(i=0; i<UPRV_LENGTHOF(currencyMap); ++i) {
        if(strcmp(currency, currencyMap[i].currency)==0) {
            break;
        }
    }
    if(i==UPRV_LENGTHOF(currencyMap)) {
        // a more specific error code would be useful in a real application
        errorCode=U_UNSUPPORTED_ERROR;
        return;
    }

    // set the currency-related data into the caller's formatter

    nf.setMinimumFractionDigits(currencyMap[i].fractionDigits);
    nf.setMaximumFractionDigits(currencyMap[i].fractionDigits);

    dnf->setRoundingIncrement(currencyMap[i].roundingIncrement);

    DecimalFormatSymbols symbols(*dnf->getDecimalFormatSymbols());
    symbols.setSymbol(DecimalFormatSymbols::kCurrencySymbol, currencyMap[i].symbol);
    dnf->setDecimalFormatSymbols(symbols); // do not adopt symbols: Jitterbug 2889
}

/*
 * Set a currency on a NumberFormat with ICU 2.6 APIs.
 *
 * @param nf The NumberFormat on which to set the currency; takes effect on
 *           currency-formatting NumberFormat instances.
 *           The display style of the output is controlled by nf (its pattern,
 *           usually from the display locale ID used to create this instance)
 *           while the currency symbol and number of decimals are set for
 *           the currency.
 * @param currency The 3-letter ISO 4217 currency code, NUL-terminated.
 * @param errorCode ICU error code, must pass U_SUCCESS() on input.
 */
static void
setNumberFormatCurrency_2_6(NumberFormat &nf, const char *currency, UErrorCode &errorCode) {
    if(U_FAILURE(errorCode)) {
        return;
    }
    if(currency==NULL || strlen(currency)!=3) {
        errorCode=U_ILLEGAL_ARGUMENT_ERROR;
        return;
    }

    // invariant-character conversion to UChars (see utypes.h and putil.h)
    UChar uCurrency[4];
    u_charsToUChars(currency, uCurrency, 4);

    // set the currency
    // in ICU 3.0 this API (which was @draft ICU 2.6) gained a UErrorCode& argument
#if (U_ICU_VERSION_MAJOR_NUM < 3)
    nf.setCurrency(uCurrency);
#else
    nf.setCurrency(uCurrency, errorCode);
#endif
}

static const char *const
sampleLocaleIDs[]={
    // use locale IDs complete with country code to be sure to
    // pick up number/currency format patterns
    "en_US", "en_GB", "de_DE", "ja_JP", "fr_FR", "hi_IN"
};

static const char *const
sampleCurrencies[]={
    "USD", "GBP", "EUR", "JPY"
};

static void
showCurrencyFormatting(UBool useICU26API) {
    NumberFormat *nf;
    int32_t i, j;

    UnicodeString output;

    UErrorCode errorCode;

    // TODO: Using printf() here assumes that the runtime encoding is ASCII-friendly
    // and can therefore be mixed with UTF-8

    for(i=0; i<UPRV_LENGTHOF(sampleLocaleIDs); ++i) {
        printf("show currency formatting (method for %s) in the locale \"%s\"\n",
                useICU26API ? "ICU 2.6" : "before ICU 2.6",
                sampleLocaleIDs[i]);

        // get a currency formatter for this locale ID
        errorCode=U_ZERO_ERROR;
        nf=NumberFormat::createCurrencyInstance(sampleLocaleIDs[i], errorCode);
        if(U_FAILURE(errorCode)) {
            printf("NumberFormat::createCurrencyInstance(%s) failed - %s\n",
                    sampleLocaleIDs[i], u_errorName(errorCode));
            continue;
        }

        for(j=0; j<UPRV_LENGTHOF(sampleCurrencies); ++j) {
            printf("  - format currency \"%s\": ", sampleCurrencies[j]);

            // set the actual currency to be formatted
            if(useICU26API) {
                setNumberFormatCurrency_2_6(*nf, sampleCurrencies[j], errorCode);
            } else {
                setNumberFormatCurrency_2_4(*nf, sampleCurrencies[j], errorCode);
            }
            if(U_FAILURE(errorCode)) {
                printf("setNumberFormatCurrency(%s) failed - %s\n",
                        sampleCurrencies[j], u_errorName(errorCode));
                continue;
            }

            // output=formatted currency value
            output.remove();
            nf->format(12345678.93, output);
            output+=(UChar)0x0a; // '\n'
            uprintf(output);
        }
    }
}
share/doc/alt-libicu65-devel/samples/numfmt/capi.c000064400000005264150470307430015754 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2002, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#include "unicode/unum.h"
#include "unicode/ustring.h"
#include <stdio.h>
#include <stdlib.h>

static void uprintf(const UChar* str) {
    char buf[256];
    u_austrcpy(buf, str);
    printf("%s", buf);
}

void capi() {
    UNumberFormat *fmt;
    UErrorCode status = U_ZERO_ERROR;
    /* The string "987654321.123" as UChars */
    UChar str[] = { 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33,
                    0x32, 0x31, 0x30, 0x2E, 0x31, 0x32, 0x33, 0 };
    UChar buf[256];
    int32_t needed;
    double a;
    
    /* Create a formatter for the US locale */
    fmt = unum_open(
          UNUM_DECIMAL,      /* style         */
          0,                 /* pattern       */
          0,                 /* patternLength */
          "en_US",           /* locale        */
          0,                 /* parseErr      */
          &status);
    if (U_FAILURE(status)) {
        printf("FAIL: unum_open\n");
        exit(1);
    }

    /* Use the formatter to parse a number.  When using the C API,
       we have to specify whether we want a double or a long in advance.

       We pass in NULL for the position pointer in order to get the
       default behavior which is to parse from the start. */
    a = unum_parseDouble(fmt, str, u_strlen(str), NULL, &status);
    if (U_FAILURE(status)) {
        printf("FAIL: unum_parseDouble\n");
        exit(1);
    }

    /* Show the result */
    printf("unum_parseDouble(\"");
    uprintf(str);
    printf("\") => %g\n", a);

    /* Use the formatter to format the same number back into a string
       in the US locale.  The return value is the buffer size needed.
       We're pretty sure we have enough space, but in a production
       application one would check this value.

       We pass in NULL for the UFieldPosition pointer because we don't
       care to receive that data. */
    needed = unum_formatDouble(fmt, a, buf, 256, NULL, &status);
    if (U_FAILURE(status)) {
        printf("FAIL: format_parseDouble\n");
        exit(1);
    }

    /* Show the result */
    printf("unum_formatDouble(%g) => \"", a);
    uprintf(buf);
    printf("\"\n");

    /* Release the storage used by the formatter */
    unum_close(fmt);
}
share/doc/alt-libicu65-devel/samples/numfmt/util.cpp000064400000010024150470307430016343 0ustar00/********************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (c) 1999-2009, International Business Machines Corporation and
 * others. All Rights Reserved.
 *************************************************************************/

#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>

#include "unicode/unistr.h"
#include "unicode/fmtable.h"
#include <stdio.h>
#include <stdlib.h>

using namespace icu;

enum {
    U_SPACE=0x20,
    U_DQUOTE=0x22,
    U_COMMA=0x2c,
    U_LEFT_SQUARE_BRACKET=0x5b,
    U_BACKSLASH=0x5c,
    U_RIGHT_SQUARE_BRACKET=0x5d,
    U_SMALL_U=0x75
};

// Verify that a UErrorCode is successful; exit(1) if not
void check(UErrorCode& status, const char* msg) {
    if (U_FAILURE(status)) {
        printf("ERROR: %s (%s)\n", u_errorName(status), msg);
        exit(1);
    }
    // printf("Ok: %s\n", msg);
}
                                                      
// Append a hex string to the target
static UnicodeString& appendHex(uint32_t number, 
                         int8_t digits, 
                         UnicodeString& target) {
    uint32_t digit;
    while (digits > 0) {
        digit = (number >> ((--digits) * 4)) & 0xF;
        target += (UChar)(digit < 10 ? 0x30 + digit : 0x41 - 10 + digit);
    }
    return target;
}

// Replace nonprintable characters with unicode escapes
UnicodeString escape(const UnicodeString &source) {
    int32_t i;
    UnicodeString target;
    target += (UChar)U_DQUOTE;
    for (i=0; i<source.length(); ++i) {
        UChar ch = source[i];
        if (ch < 0x09 || (ch > 0x0D && ch < 0x20) || ch > 0x7E) {
            (target += (UChar)U_BACKSLASH) += (UChar)U_SMALL_U;
            appendHex(ch, 4, target);
        } else {
            target += ch;
        }
    }
    target += (UChar)U_DQUOTE;
    return target;
}

// Print the given string to stdout using the UTF-8 converter
void uprintf(const UnicodeString &str) {
    char stackBuffer[100];
    char *buf = 0;

    int32_t bufLen = str.extract(0, 0x7fffffff, stackBuffer, sizeof(stackBuffer), "UTF-8");
    if(bufLen < sizeof(stackBuffer)) {
        buf = stackBuffer;
    } else {
        buf = new char[bufLen + 1];
        bufLen = str.extract(0, 0x7fffffff, buf, bufLen + 1, "UTF-8");
    }
    printf("%s", buf);
    if(buf != stackBuffer) {
        delete[] buf;
    }
}

// Create a display string for a formattable
UnicodeString formattableToString(const Formattable& f) {
    switch (f.getType()) {
    case Formattable::kDate:
        // TODO: Finish implementing this
        return UNICODE_STRING_SIMPLE("Formattable_DATE_TBD");
    case Formattable::kDouble:
        {
            char buf[256];
            sprintf(buf, "%gD", f.getDouble());
            return UnicodeString(buf, "");
        }
    case Formattable::kLong:
        {
            char buf[256];
            sprintf(buf, "%" PRId32 "L", f.getLong());
            return UnicodeString(buf, "");
        }
    case Formattable::kInt64:
        {
            char buf[256];
            sprintf(buf, "%" PRId64 "L", f.getInt64());
            return UnicodeString(buf, "");
        }
    case Formattable::kString:
        return UnicodeString((UChar)U_DQUOTE).append(f.getString()).append((UChar)U_DQUOTE);
    case Formattable::kArray:
        {
            int32_t i, count;
            const Formattable* array = f.getArray(count);
            UnicodeString result((UChar)U_LEFT_SQUARE_BRACKET);
            for (i=0; i<count; ++i) {
                if (i > 0) {
                    (result += (UChar)U_COMMA) += (UChar)U_SPACE;
                }
                result += formattableToString(array[i]);
            }
            result += (UChar)U_RIGHT_SQUARE_BRACKET;
            return result;
        }
    default:
        return UNICODE_STRING_SIMPLE("INVALID_Formattable");
    }
}
share/doc/alt-libicu65-devel/samples/numfmt/readme.txt000064400000004565150470307430016675 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
numfmt: a sample program which displays number formatting in C and C++

This sample demonstrates
         Formatting a number
         Outputting text in the default codepage to the console
         
Files:
    main.cpp                   Main source file in C++
    capi.c                     C version 
    util.cpp                   formatted output convenience implementation
    util.h                     formatted output convenience header
    numfmt.sln                 Windows MSVC workspace.  Double-click this to get started.
    numfmt.vcproj              Windows MSVC project file

To Build on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\numfmt\numfmt.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the numfmt directory, e.g.
            cd c:\icu\source\samples\numfmt\debug
    4.  Run it
            numfmt

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/numfmt
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/numfmt
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           numfmt
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/udata/reader.vcxproj.filters000064400000001557150470307430021013 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{70f91413-5190-4f71-88a6-42eddfb11351}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{e31be275-f3ff-42ca-8017-1ddab3cbd23b}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{ce6ba23d-b7db-40f6-8e79-a1d386c0c707}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="reader.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/udata/Makefile000064400000003626150470307430016124 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2012 IBM, Inc. and others
# udata sample code
# Usage:
#  - configure, build, install ICU
#  - ensure that 'icu-config' is in the PATH (PREFIX/bin/icu-config) 
#  - if ICU is not built relative to this directory,
#      set the variable ICU_PATH to the 'icu' directory
#       (i.e.  /foo/icu  )
#  - do 'make' in this directory


# Include ICU standard definitions
include ../defs.mk

# look for the ICU_PATH variable, guess if not there
ICU_DEFAULT_PATH=../../..

ifeq ($(strip $(ICU_PATH)),)
  ICU_PATH=$(ICU_DEFAULT_PATH)
endif

# Name of your target
TARGET1=reader
TARGET2=writer

# All object files (C or C++)
OBJECTS1=reader.o
OBJECTS2=writer.o
OBJECTS=$(OBJECTS1) $(OBJECTS2)

CLEANFILES=*~ $(TARGET).out $(TARGET1).out $(TARGET2).out

all: $(TARGET1) $(TARGET2)

# The following lines are to make sure ICU_PATH is set properly.
writer.o: $(ICU_PATH)/source/tools/toolutil/uoptions.h

$(ICU_PATH)/source/tools/toolutil/uoptions.h:
	@echo
	@echo "*** Please read the directions at the top of this file (Makefile)"
	@echo "*** Can't open $@ - check ICU_PATH"
	@echo
	@false

# Only the writer needs these, actually.
CPPFLAGS += -I$(ICU_PATH)/source/tools/toolutil
LDFLAGS += -L$(ICU_PATH)/source/tools/toolutil $(shell icu-config --ldflags-toolutil)


.PHONY: all clean distclean check report

distclean clean:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
	-$(RMV) $(OBJECTS) $(TARGET1) $(TARGET2)

# Can change this to LINK.c if it is a C only program
# Can add more libraries here. 
$(TARGET1): $(OBJECTS1)
	$(CXX) -o $@ $(LDFLAGS)

$(TARGET2): $(OBJECTS2)
	$(CXX) -o $@ $(LDFLAGS) -licui18n -licuuc

# Make check: simply runs the sample, logged to a file
check: $(TARGET1) $(TARGET2)
	$(INVOKE) ./$(TARGET2) | tee $(TARGET2).out
	$(INVOKE) ./$(TARGET1) | tee $(TARGET1).out


share/doc/alt-libicu65-devel/samples/udata/writer.vcxproj000064400000022073150470307430017412 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{40A90302-F173-4629-A003-F571D2D93D16}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>.\x64\Debug\</OutDir>
    <IntDir>.\x64\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>.\x64\Release\</OutDir>
    <IntDir>.\x64\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/writer.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/writer.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/writer.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/writer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/writer.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/writer.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/writer.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/writer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/writer.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/writer.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/writer.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/writer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/writer.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/writer.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release\writer.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release\writer.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="writer.c" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/udata/reader.c000064400000006215150470307430016067 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2009, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  reader.c
 *   encoding:   UTF-8
 *   tab size:   8 (not used)
 *   indentation:4
 *
 *   created on: 2000sep5
 *   created by: Vladimir Weinstein
 */

/*******************************************************************************
 * Derived from Madhu Katragadda gentest
 *******************************************************************************/


#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#ifdef WIN32
#include <direct.h>
#else
#include <unistd.h>
#endif
#include "unicode/utypes.h"
#include "unicode/putil.h"
#include "unicode/udata.h"

#define DATA_NAME "mypkg_example"
#define DATA_TYPE "dat"

/* UDataInfo cf. udata.h */
static const UDataInfo dataInfo={
    sizeof(UDataInfo),
    0,

    U_IS_BIG_ENDIAN,
    U_CHARSET_FAMILY,
    sizeof(UChar),
    0,

    0x4D, 0x79, 0x44, 0x74,     /* dataFormat="MyDt" */
    1, 0, 0, 0,                 /* formatVersion */
    1, 0, 0, 0                  /* dataVersion */
};

static UBool
isAcceptable(void *context, 
             const char *type, const char *name,
             const UDataInfo *pInfo){

    if( pInfo->size>=20 &&
        pInfo->isBigEndian==U_IS_BIG_ENDIAN &&
        pInfo->charsetFamily==U_CHARSET_FAMILY &&
        pInfo->dataFormat[0]==0x4D &&   /* dataFormat="MyDt" */
        pInfo->dataFormat[1]==0x79 &&
        pInfo->dataFormat[2]==0x44 &&
        pInfo->dataFormat[3]==0x74 &&
        pInfo->formatVersion[0]==1 &&
        pInfo->dataVersion[0]==1   ) {
        return TRUE;
    } else {
        return FALSE;
    }


}

extern int
main(int argc, const char *argv[]) {
    UDataMemory *result = NULL;
    UErrorCode status=U_ZERO_ERROR;

    uint16_t intValue = 0;

    char *string = NULL;
    uint16_t *intPointer = NULL;

    const void *dataMemory = NULL;
    char curPathBuffer[1024];
 
#ifdef WIN32
    char *currdir = _getcwd(NULL, 0);
#else
    char *currdir = getcwd(NULL, 0);
#endif

    /* need to put  "current/dir" as path */
    strcpy(curPathBuffer, currdir);

    result=udata_openChoice(curPathBuffer, DATA_TYPE, DATA_NAME, isAcceptable, NULL, &status);

    if(currdir != NULL) {
        free(currdir);
    }

    if(U_FAILURE(status)){
        printf("Failed to open data file example.dat in %s with error number %d\n", curPathBuffer, status);
        return -1;
    }

    dataMemory = udata_getMemory(result);

    intPointer = (uint16_t *)dataMemory;

    printf("Read value %d from data file\n", *intPointer);

    string = (char *) (intPointer+1);

    printf("Read string %s from data file\n", string);

    if(U_SUCCESS(status)){
        udata_close(result);
    }

    return 0;
}







share/doc/alt-libicu65-devel/samples/udata/reader.vcxproj000064400000023130150470307430017333 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>.\x64\Debug\</OutDir>
    <IntDir>.\x64\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>.\x64\Release\</OutDir>
    <IntDir>.\x64\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\reader_Win32_Debug/reader.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\reader_Win32_Debug/reader.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\reader_Win32_Debug/</AssemblerListingLocation>
      <ObjectFileName>.\reader_Win32_Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\reader_Win32_Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\reader_Win32_Debug/reader.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\reader_Win32_Debug/reader.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\reader_x64_Debug/reader.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\reader_x64_Debug/reader.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\reader_x64_Debug/</AssemblerListingLocation>
      <ObjectFileName>.\reader_x64_Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\reader_x64_Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\reader_x64_Debug/reader.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\reader_x64_Debug/reader.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\reader_Win32_Release/reader.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\reader_Win32_Release/reader.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\reader_Win32_Release/</AssemblerListingLocation>
      <ObjectFileName>.\reader_Win32_Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\reader_Win32_Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\reader_Win32_Release/reader.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\reader_Win32_Release/reader.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\reader_x64_Release/reader.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\tools\toolutil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\reader_x64_Release/reader.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\reader_x64_Release/</AssemblerListingLocation>
      <ObjectFileName>.\reader_x64_Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\reader_x64_Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\reader_x64_Release/reader.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\reader_x64_Release/reader.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="reader.c">
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\include;..\..\tools\toolutil;..\..\icu\include</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\include;..\..\tools\toolutil;..\..\icu\include</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/udata/udata.sln000064400000003626150470307430016300 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reader", "reader.vcxproj", "{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "writer", "writer.vcxproj", "{40A90302-F173-4629-A003-F571D2D93D16}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.ActiveCfg = Debug|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|Win32.Build.0 = Debug|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.ActiveCfg = Debug|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Debug|x64.Build.0 = Debug|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.ActiveCfg = Release|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|Win32.Build.0 = Release|Win32
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.ActiveCfg = Release|x64
		{BFEFC070-C5A9-42E3-BAAE-A51FB2C4BA28}.Release|x64.Build.0 = Release|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.ActiveCfg = Debug|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|Win32.Build.0 = Debug|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.ActiveCfg = Debug|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Debug|x64.Build.0 = Debug|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.ActiveCfg = Release|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|Win32.Build.0 = Release|Win32
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.ActiveCfg = Release|x64
		{40A90302-F173-4629-A003-F571D2D93D16}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/udata/writer.vcxproj.filters000064400000001557150470307440021066 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{95d01528-6508-4b1e-8aae-1c97e5b51225}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{354349b6-2a7e-4803-8654-f1123e58d086}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{629cf2c5-7334-4b9c-9592-17e16293f7f0}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="writer.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/udata/writer.c000064400000006147150470307440016146 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 1999-2006, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  writer.c
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2000sep5
*   created by: Vladimir Weinstein
*/

/******************************************************************************
 * A program to write simple binary data readable by udata - example for
 * ICU workshop
 ******************************************************************************/


#include <stdio.h>
#include <stdlib.h>
#ifdef WIN32
#include <direct.h>
#else
#include <unistd.h>
#endif
#include "unicode/utypes.h"
#include "unicode/udata.h"

/* this is private - available only through toolutil */
#include "unewdata.h"

#define DATA_NAME "mypkg_example"
#define DATA_TYPE "dat"

/* UDataInfo cf. udata.h */
static const UDataInfo dataInfo={
    sizeof(UDataInfo),
    0,

    U_IS_BIG_ENDIAN,
    U_CHARSET_FAMILY,
    sizeof(UChar),
    0,

    0x4D, 0x79, 0x44, 0x74,     /* dataFormat="MyDt" */
    1, 0, 0, 0,                 /* formatVersion */
    1, 0, 0, 0                  /* dataVersion */
};


/* Excersise: add writing out other data types */
/* see icu/source/tools/toolutil/unewdata.h    */
/* for other possibilities                     */

extern int
main(int argc, const char *argv[]) {
    UNewDataMemory *pData;
    UErrorCode errorCode=U_ZERO_ERROR;
    char stringValue[]={'E', 'X', 'A', 'M', 'P', 'L', 'E', '\0'};
    uint16_t intValue=2000;
    
    long dataLength;
    size_t size;
#ifdef WIN32
    char *currdir = _getcwd(NULL, 0);
#else
    char *currdir = getcwd(NULL, 0);
#endif

    pData=udata_create(currdir, DATA_TYPE, DATA_NAME, &dataInfo,
                       U_COPYRIGHT_STRING, &errorCode);

    if(currdir != NULL) {
        free(currdir);
    }


    if(U_FAILURE(errorCode)) {
        fprintf(stderr, "Error: unable to create data memory, error %d\n", errorCode);
        exit(errorCode);
    }

    /* write the data to the file */
    /* a 16 bit value  and a String*/
    printf("Writing uint16_t value of %d\n", intValue);
    udata_write16(pData, intValue);
    printf("Writing string value of %s\n", stringValue);
    udata_writeString(pData, stringValue, sizeof(stringValue));

    /* finish up */
    dataLength=udata_finish(pData, &errorCode);
    if(U_FAILURE(errorCode)) {
        fprintf(stderr, "Error: error %d writing the output file\n", errorCode);
        exit(errorCode);
    }
    size=sizeof(stringValue) + sizeof(intValue);


    if(dataLength!=(long)size) {
        fprintf(stderr, "Error: data length %ld != calculated size %zu\n", dataLength, size);
        exit(U_INTERNAL_PROGRAM_ERROR);
    }
    return 0;
}
share/doc/alt-libicu65-devel/samples/udata/readme.txt000064400000005243150470307440016460 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved.
udata: Low level ICU data

This sample demonstrates
    Using the low level ICU data handling interfaces (udata) to create 
 and later access user data.
         
Files:
    writer.c       C source for Writer application, will generate data file to be read by Reader.
    reader.c       C source for Reader application, will read file created by Writer
    udata.sln      Windows MSVC workspace.  Double-click this to get started.
    udata.vcproj   Windows MSVC project file

To Build udata on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\udata\udata.sln
    3.  Choose a Debug or Release build.
    4.  Build.

To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the udata directory, e.g.
            cd c:\icu\source\samples\udata\debug
    4.  Run it
            writer
            reader
    IMPORTANT: On some systems, the reader and writer executables may not be in the same directory.  If this is the case, this will likely cause a problem with reader looking for the .dat file in the wrong directory).

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           You will need to set ICU_PATH to the location of your ICU source tree, for example ICU_PATH=/home/srl/icu   (containing source, etc.)
           cd <icu directory>/source/samples/udata
           gmake ICU_PATH=<icu source directory> ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/udata
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           writer
           reader
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/dtptngsample/dtptngsample.vcxproj.filters000064400000001654150470307440023656 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="dtptngsample.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/dtptngsample/dtptngsample.vcxproj000064400000016546150470307440022215 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{115886F0-7DFB-4B8B-BE79-83162EE8713B}</ProjectGuid>
    <RootNamespace>samples</RootNamespace>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>.\x64\Debug\</OutDir>
    <IntDir>.\x64\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>.\x64\Release\</OutDir>
    <IntDir>.\x64\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <AdditionalIncludeDirectories>..\..\common;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x86\debug/dtptngsample.exe</OutputFile>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <AdditionalIncludeDirectories>..\..\common;..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x64\debug/dtptngsample.exe</OutputFile>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="dtptngsample.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/dtptngsample/dtptngsample.cpp000064400000016331150470307440021274 0ustar00// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/********************************************************************
 * COPYRIGHT: 
 * Copyright (c) 2008-2014, International Business Machines Corporation and
 * others. All Rights Reserved.
 ********************************************************************/
//! [getBestPatternExample1]
#include <iostream>
#include "unicode/smpdtfmt.h"
#include "unicode/dtptngen.h"
#include "unicode/ustdio.h"
//! [getBestPatternExample1]

using namespace std;
using namespace icu;

static void getBestPatternExample() {
	    
		u_printf("========================================================================\n");
		u_printf(" getBestPatternExample()\n");
        u_printf("\n");
        u_printf(" Use DateTimePatternGenerator to create customized date/time pattern:\n");
        u_printf(" yQQQQ,yMMMM, MMMMd, hhmm, jjmm per locale\n");
        u_printf("========================================================================\n");
		//! [getBestPatternExample]
	UnicodeString skeletons [] = {
		UnicodeString("yQQQQ"), // year + full name of quarter, i.e., 4th quarter 1999
        UnicodeString("yMMMM"), // year + full name of month, i.e., October 1999
        UnicodeString("MMMMd"), // full name of month + day of the month, i.e., October 25
        UnicodeString("hhmm"),  // 12-hour-cycle format, i.e., 1:32 PM
        UnicodeString("jjmm"), // preferred hour format for the given locale, i.e., 24-hour-cycle format for fr_FR
		0,
	};

	Locale locales[] = {
		Locale ("en_US"),
		Locale ("fr_FR"),
		Locale ("zh_CN"),
	};
	
	const char* filename = "sample.txt";
	/* open a UTF-8 file for writing */
	UFILE* f = u_fopen(filename, "w", NULL,"UTF-8");
	UnicodeString dateReturned;
	UErrorCode status =U_ZERO_ERROR;
	Calendar *cal = Calendar::createInstance(status);
	cal->set (1999,9,13,23,58,59);
	UDate date = cal->getTime(status);
	u_fprintf(f, "%-20S%-20S%-20S%-20S\n", UnicodeString("Skeleton").getTerminatedBuffer(),UnicodeString("en_US").getTerminatedBuffer(),UnicodeString("fr_FR").getTerminatedBuffer(),UnicodeString("zh_CN").getTerminatedBuffer());
	for (int i=0;skeletons[i]!=NULL;i++) {
		u_fprintf(f, "%-20S",skeletons[i].getTerminatedBuffer());
		for (int j=0;j<sizeof(locales)/sizeof(locales[0]);j++) {
			// create a DateTimePatternGenerator instance for given locale
			DateTimePatternGenerator *dtfg= DateTimePatternGenerator::createInstance(locales[j],status);
			// use getBestPattern method to get the best pattern for the given skeleton
			UnicodeString pattern = dtfg->getBestPattern(skeletons[i],status);
			// Constructs a SimpleDateFormat with the best pattern generated above and the given locale
			SimpleDateFormat *sdf = new SimpleDateFormat(pattern,locales[j],status);
			dateReturned.remove();
			// Get the format of the given date
			sdf->format(date,dateReturned,status);
			/* write Unicode string to file */
			u_fprintf(f, "%-20S", dateReturned.getTerminatedBuffer());
			delete dtfg;
			delete sdf;
		} 
		u_fprintf(f,"\n");
	}
	/* close the file resource */
	u_fclose(f);
	delete cal;
	//! [getBestPatternExample]
}

static void addPatternExample() {
		
		u_printf("========================================================================\n");
        u_printf(" addPatternExample()\n");
		u_printf("\n");
        u_printf(" Use addPattern API to add new '. von' to existing pattern\n");
        u_printf("========================================================================\n");
		//! [addPatternExample]
		UErrorCode status =U_ZERO_ERROR;
		UnicodeString conflictingPattern,dateReturned, pattern;
		Locale locale=Locale::getFrance();
		Calendar *cal = Calendar::createInstance(status);
		cal->set (1999,9,13,23,58,59);
		UDate date = cal->getTime(status);
        // Create an DateTimePatternGenerator instance for the given locale
		DateTimePatternGenerator *dtfg= DateTimePatternGenerator::createInstance(locale,status);
		SimpleDateFormat *sdf = new SimpleDateFormat(dtfg->getBestPattern("MMMMddHmm",status),locale,status);
        // Add '. von' to the existing pattern
        dtfg->addPattern("dd'. von' MMMM", true, conflictingPattern,status);
        // Apply the new pattern
        sdf->applyPattern(dtfg->getBestPattern("MMMMddHmm",status));
		dateReturned = sdf->format(date, dateReturned, status);
		pattern =sdf->toPattern(pattern);
		u_printf("%s\n", "New Pattern for FRENCH: ");
      	u_printf("%S\n", pattern.getTerminatedBuffer());
		u_printf("%s\n", "Date Time in new Pattern: ");
		u_printf("%S\n", dateReturned.getTerminatedBuffer());
		delete dtfg;
		delete sdf;
		delete cal;

		//! [addPatternExample]
        /* output of the sample code:
        ************************************************************************************************
         New Pattern for FRENCH: dd. 'von' MMMM HH:mm
         Date Time in new Pattern: 13. von octobre 23:58
     
        *************************************************************************************************/
 	}

static void replaceFieldTypesExample() {
		// Use repalceFieldTypes API to replace zone 'zzzz' with 'vvvv'
       u_printf("========================================================================\n");
       u_printf(" replaceFieldTypeExample()\n");
       u_printf("\n");
       u_printf(" Use replaceFieldTypes API to replace zone 'zzzz' with 'vvvv'\n");
       u_printf("========================================================================\n");
	   //! [replaceFieldTypesExample]
		UFILE *out = u_finit(stdout, NULL, "UTF-8");
		UErrorCode status =U_ZERO_ERROR;
		UnicodeString pattern,dateReturned;
		Locale locale =Locale::getFrance();
		Calendar *cal = Calendar::createInstance(status);
		cal->set (1999,9,13,23,58,59);
		UDate date = cal->getTime(status);
		TimeZone *zone = TimeZone::createTimeZone(UnicodeString("Europe/Paris"));
		DateTimePatternGenerator *dtfg = DateTimePatternGenerator::createInstance(locale,status);
	    SimpleDateFormat *sdf = new SimpleDateFormat("EEEE d MMMM y HH:mm:ss zzzz",locale,status);
		sdf->setTimeZone(*zone);
		pattern = sdf->toPattern(pattern);
		u_fprintf(out, "%S\n", UnicodeString("Pattern before replacement:").getTerminatedBuffer());
      	u_fprintf(out, "%S\n", pattern.getTerminatedBuffer());
		dateReturned.remove();
		dateReturned = sdf->format(date, dateReturned, status);
		u_fprintf(out, "%S\n", UnicodeString("Date/Time format in fr_FR:").getTerminatedBuffer());
		u_fprintf(out, "%S\n", dateReturned.getTerminatedBuffer());
        // Replace zone "zzzz" in the pattern with "vvvv"
		UnicodeString newPattern = dtfg->replaceFieldTypes(pattern, "vvvv", status);
		// Apply the new pattern
		sdf->applyPattern(newPattern);
		dateReturned.remove();
		dateReturned = sdf->format(date, dateReturned, status);
		u_fprintf(out, "%S\n", UnicodeString("Pattern after replacement:").getTerminatedBuffer());
     	u_fprintf(out, "%S\n", newPattern.getTerminatedBuffer());
     	u_fprintf(out, "%S\n", UnicodeString("Date/Time format in fr_FR:").getTerminatedBuffer());
		u_fprintf(out, "%S\n", dateReturned.getTerminatedBuffer());
		delete sdf;
		delete dtfg;
		delete zone;
		delete cal;
		u_fclose(out);
	//! [replaceFieldTypesExample]
    }

int main (int argc, char* argv[])
{
	getBestPatternExample();
	addPatternExample();
	replaceFieldTypesExample();
	return 0;
}
share/doc/alt-libicu65-devel/samples/ugrep/ugrep.sln000064400000002260150470307440016342 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ugrep", "ugrep.vcxproj", "{63166CEB-02CC-472C-B3B7-E6C559939BDA}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.ActiveCfg = Debug|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|Win32.Build.0 = Debug|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.ActiveCfg = Debug|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Debug|x64.Build.0 = Debug|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.ActiveCfg = Release|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|Win32.Build.0 = Release|Win32
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.ActiveCfg = Release|x64
		{63166CEB-02CC-472C-B3B7-E6C559939BDA}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/ugrep/Makefile000064400000001205150470307440016140 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2010 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=ugrep

# All object files (C or C++)
OBJECTS=ugrep.o

CHECK_ARGS=BOM readme.txt

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/ugrep/ugrep.vcxproj000064400000023611150470307440017244 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{63166CEB-02CC-472C-B3B7-E6C559939BDA}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/ugrep.tlb</TypeLibraryName>
      <HeaderFileName>
      </HeaderFileName>
    </Midl>
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/ugrep.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/ugrep.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/ugrep.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/ugrep.tlb</TypeLibraryName>
      <HeaderFileName>
      </HeaderFileName>
    </Midl>
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/ugrep.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalOptions>/FIXED:NO %(AdditionalOptions)</AdditionalOptions>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/ugrep.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/ugrep.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/ugrep.tlb</TypeLibraryName>
      <HeaderFileName>
      </HeaderFileName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/ugrep.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/ugrep.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/ugrep.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/ugrep.tlb</TypeLibraryName>
      <HeaderFileName>
      </HeaderFileName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/ugrep.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/ugrep.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/ugrep.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="ugrep.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/ugrep/ugrep.vcxproj.filters000064400000001560150470307440020712 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{af0effd9-5d29-4822-a68e-133434a44d37}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{95b681c8-65fd-4e97-ba1e-6622b8d29661}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{e3f8ffc7-59ba-43ea-b607-7db8fa13080b}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="ugrep.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/ugrep/ugrep.cpp000064400000034631150470307440016337 0ustar00/*************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
**************************************************************************
**************************************************************************
*
*   Copyright (C) 2002-2010, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
***************************************************************************
*/

//
//   ugrep  - an ICU sample program illustrating the use of ICU Regular Expressions.
//
//            The use of the ICU Regex API all occurs within the main()
//            function.  The rest of the code deals with opening files,
//            encoding conversions, printing results, etc.
//
//            This is not a full-featured grep program.  The command line options
//            have been kept to a minimum to avoid complicating the sample code.
//



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "unicode/utypes.h"
#include "unicode/ustring.h"
#include "unicode/regex.h"
#include "unicode/ucnv.h"
#include "unicode/uclean.h"

using namespace icu;

//
//  The following variables contain parameters that may be set from the command line.
//
const char *pattern = NULL;     // The regular expression
int        firstFileNum;        //  argv index of the first file name
UBool      displayFileName = FALSE;
UBool      displayLineNum  = FALSE;


//
//  Info regarding the file currently being processed
//
const char *fileName;      
int         fileLen;              // Length, in UTF-16 Code Units.  

UChar      *ucharBuf = 0;         // Buffer, holds converted file.  (Simple minded program, always reads
                                  //   the whole file at once.

char       *charBuf = 0;          // Buffer, for original, unconverted file data.


//
//  Info regarding the line currently being processed
//
int      lineStart;     // Index of first char of the current line in the file buffer
int      lineEnd;       // Index of char following the new line sequence for the current line
int      lineNum;

//
//  Converter, used on output to convert Unicode data back to char *
//             so that it will display in non-Unicode terminal windows.
//
UConverter  *outConverter = 0;

//
//  Function forward declarations
//
void processOptions(int argc, const char **argv);
void nextLine(int start);
void printMatch();
void printUsage();
void readFile(const char *name);



//------------------------------------------------------------------------------------------
//
//   main          for ugrep
//
//           Structurally, all use of the ICU Regular Expression API is in main(),
//           and all of the supporting stuff necessary to make a running program, but
//           not directly related to regular expressions, is factored out into these other
//           functions.
//
//------------------------------------------------------------------------------------------
int main(int argc, const char** argv) {
    UBool     matchFound = FALSE;

    //
    //  Process the command line options.
    //
    processOptions(argc, argv);

    //
    // Create a RegexPattern object from the user supplied pattern string.
    //
    UErrorCode status = U_ZERO_ERROR;   // All ICU operations report success or failure
                                        //   in a status variable.

    UParseError    parseErr;            // In the event of a syntax error in the regex pattern,
                                        //   this struct will contain the position of the
                                        //   error.

    RegexPattern  *rePat = RegexPattern::compile(pattern, parseErr, status);
                                        // Note that C++ is doing an automatic conversion
                                        //  of the (char *) pattern to a temporary
                                        //  UnicodeString object.
    if (U_FAILURE(status)) {
        fprintf(stderr, "ugrep:  error in pattern: \"%s\" at position %d\n",
            u_errorName(status), parseErr.offset);
        exit(-1);
    }

    //
    // Create a RegexMatcher from the newly created pattern.
    //
    UnicodeString empty;
    RegexMatcher *matcher = rePat->matcher(empty, status);
    if (U_FAILURE(status)) {
        fprintf(stderr, "ugrep:  error in creating RegexMatcher: \"%s\"\n",
            u_errorName(status));
        exit(-1);
    }

    //
    // Loop, processing each of the input files.
    //
    for (int fileNum=firstFileNum; fileNum < argc; fileNum++) {
        readFile(argv[fileNum]);

        //
        //  Loop through the lines of a file, trying to match the regex pattern on each.
        //
        for (nextLine(0); lineStart<fileLen; nextLine(lineEnd)) {
            UnicodeString s(FALSE, ucharBuf+lineStart, lineEnd-lineStart);
            matcher->reset(s);
            if (matcher->find()) {
                matchFound = TRUE;
                printMatch();
            }
        }
    }

    //
    //  Clean up
    //
    delete matcher;
    delete rePat;
    free(ucharBuf);
    free(charBuf);
    ucnv_close(outConverter);
    
    u_cleanup();       // shut down ICU, release any cached data it owns.

    return matchFound? 0: 1;
}



//------------------------------------------------------------------------------------------
//
//   doOptions          Run through the command line options, and set
//                      the global variables accordingly.
//
//                      exit without returning if an error occurred and
//                      ugrep should not proceed further.
//
//------------------------------------------------------------------------------------------
void processOptions(int argc, const char **argv) {
    int            optInd;
    UBool          doUsage   = FALSE;
    UBool          doVersion = FALSE;
    const char    *arg;


    for(optInd = 1; optInd < argc; ++optInd) {
        arg = argv[optInd];
        
        /* version info */
        if(strcmp(arg, "-V") == 0 || strcmp(arg, "--version") == 0) {
            doVersion = TRUE;
        }
        /* usage info */
        else if(strcmp(arg, "--help") == 0) {
            doUsage = TRUE;
        }
        else if(strcmp(arg, "-n") == 0 || strcmp(arg, "--line-number") == 0) {
            displayLineNum = TRUE;
        }
        /* POSIX.1 says all arguments after -- are not options */
        else if(strcmp(arg, "--") == 0) {
            /* skip the -- */
            ++optInd;
            break;
        }
        /* unrecognized option */
        else if(strncmp(arg, "-", strlen("-")) == 0) {
            printf("ugrep: invalid option -- %s\n", arg+1);
            doUsage = TRUE;
        }
        /* done with options */
        else {
            break;
        }
    }

    if (doUsage) {
        printUsage();
        exit(0);
    }

    if (doVersion) {
        printf("ugrep version 0.01\n");
        if (optInd == argc) {
            exit(0);
        }
    }

    int  remainingArgs = argc-optInd;     // pattern file ...
    if (remainingArgs < 2) {
        fprintf(stderr, "ugrep:  files or pattern are missing.\n");
        printUsage();
        exit(1);
    }

    if (remainingArgs > 2) {
        // More than one file to be processed.   Display file names with match output.
        displayFileName = TRUE;
    }

    pattern      = argv[optInd];
    firstFileNum = optInd+1;
}

//------------------------------------------------------------------------------------------
//
//   printUsage
//
//------------------------------------------------------------------------------------------
void printUsage() {
    printf("ugrep [options] pattern file...\n"
        "     -V or --version     display version information\n"
        "     --help              display this help and exit\n"
        "     --                  stop further option processing\n"
        "-n,  --line-number       Prefix each line of output with the line number within its input file.\n"
        );
    exit(0);
}

//------------------------------------------------------------------------------------------
//
//    readFile          Read a file into memory, and convert it to Unicode.
//
//                      Since this is just a demo program, take the simple minded approach
//                      of always reading the whole file at once.  No intelligent buffering
//                      is done.
//
//------------------------------------------------------------------------------------------
void readFile(const char *name) {

    //
    //  Initialize global file variables
    //
    fileName = name;
    fileLen  = 0;      // zero length prevents processing in case of errors.


    //
    //  Open the file and determine its size.
    //
    FILE *file = fopen(name, "rb");
    if (file == 0 ) {
        fprintf(stderr, "ugrep: Could not open file \"%s\"\n", fileName);
        return;
    }
    fseek(file, 0, SEEK_END);
    int rawFileLen = ftell(file);
    fseek(file, 0, SEEK_SET);
    

    //
    //   Read in the file
    //
    charBuf    = (char *)realloc(charBuf, rawFileLen+1);   // Need error checking...
    int t = static_cast<int>(fread(charBuf, 1, rawFileLen, file));
    if (t != rawFileLen)  {
        fprintf(stderr, "Error reading file \"%s\"\n", fileName);
        fclose(file);
        return;
    }
    charBuf[rawFileLen]=0;
    fclose(file);

    //
    // Look for a Unicode Signature (BOM) in the data
    //
    int32_t        signatureLength;
    const char *   charDataStart = charBuf;
    UErrorCode     status        = U_ZERO_ERROR;
    const char*    encoding      = ucnv_detectUnicodeSignature(
                           charDataStart, rawFileLen, &signatureLength, &status);
    if (U_FAILURE(status)) {
        fprintf(stderr, "ugrep: ICU Error \"%s\" from ucnv_detectUnicodeSignature()\n",
            u_errorName(status));
        return;
    }
    if(encoding!=NULL ){
        charDataStart  += signatureLength;
        rawFileLen     -= signatureLength;
    }

    //
    // Open a converter to take the file to UTF-16
    //
    UConverter* conv;
    conv = ucnv_open(encoding, &status);
    if (U_FAILURE(status)) {
        fprintf(stderr, "ugrep: ICU Error \"%s\" from ucnv_open()\n", u_errorName(status));
        return;
    }

    //
    // Convert the file data to UChar.
    //  Preflight first to determine required buffer size.
    //
    uint32_t destCap = ucnv_toUChars(conv,
                       NULL,           //  dest,
                       0,              //  destCapacity,
                       charDataStart,
                       rawFileLen,
                       &status);
    if (status != U_BUFFER_OVERFLOW_ERROR) {
        fprintf(stderr, "ugrep: ucnv_toUChars: ICU Error \"%s\"\n", u_errorName(status));
        return;
    };
    
    status = U_ZERO_ERROR;
    ucharBuf = (UChar *)realloc(ucharBuf, (destCap+1) * sizeof(UChar));
    ucnv_toUChars(conv,
        ucharBuf,           //  dest,
        destCap+1,
        charDataStart,
        rawFileLen,
        &status);
    if (U_FAILURE(status)) {
        fprintf(stderr, "ugrep: ucnv_toUChars: ICU Error \"%s\"\n", u_errorName(status));
        return;
    };
    ucnv_close(conv);
    
    //
    //  Successful conversion.  Set the global size variables so that
    //     the rest of the processing will proceed for this file.
    //
    fileLen = destCap;
}
    
    
    


//------------------------------------------------------------------------------------------
//
//   nextLine           Advance the line index variables, starting at the
//                      specified position in the input file buffer, by
//                      scanning forward until the next end-of-line.
//
//                      Need to take into account all of the possible Unicode
//                      line ending sequences.
//
//------------------------------------------------------------------------------------------
void nextLine(int  startPos) {
    if (startPos == 0) {
        lineNum = 0;
    } else {
        lineNum++;
    }
    lineStart = lineEnd = startPos;

    for (;;) {
        if (lineEnd >= fileLen) {
            return;
        }
        UChar c = ucharBuf[lineEnd];
        lineEnd++;
        if (c == 0x0a   ||       // Line Feed
            c == 0x0c   ||       // Form Feed
            c == 0x0d   ||       // Carriage Return
            c == 0x85   ||       // Next Line
            c == 0x2028 ||       // Line Separator
            c == 0x2029)         // Paragraph separator
        { 
            break;
        }
    }

    // Check for CR/LF sequence, and advance over the LF if we're in the middle of one.
    if (lineEnd < fileLen           &&
        ucharBuf[lineEnd-1] == 0x0d &&
        ucharBuf[lineEnd]   == 0x0a) 
    {
        lineEnd++;
    }
}


//------------------------------------------------------------------------------------------
//
//   printMatch         Called when a matching line has been located.
//                      Print out the line from the file with the match, after
//                         converting it back to the default code page.
//
//------------------------------------------------------------------------------------------
void printMatch() {
    char                buf[2000];
    UErrorCode         status       = U_ZERO_ERROR;

    // If we haven't already created a converter for output, do it now.
    if (outConverter == 0) {
        outConverter = ucnv_open(NULL, &status);
        if (U_FAILURE(status)) {
            fprintf(stderr, "ugrep:  Error opening default converter: \"%s\"\n",
                u_errorName(status));
            exit(-1);
        }
    };

    // Convert the line to be printed back to the default 8 bit code page.
    //   If the line is too long for our buffer, just truncate it.
    ucnv_fromUChars(outConverter,
                    buf,                   // destination buffer for conversion
                    sizeof(buf),           // capacity of destination buffer
                    &ucharBuf[lineStart],   // Input to conversion
                    lineEnd-lineStart,     // number of UChars to convert
                    &status);
    buf[sizeof(buf)-1] = 0;                // Add null for use in case of too long lines.
                                           // The converter null-terminates its output unless
                                           //   the buffer completely fills.
   
    if (displayFileName) {
        printf("%s:", fileName);
    }
    if (displayLineNum) {
        printf("%d:", lineNum);
    }
    printf("%s", buf);
}
    
share/doc/alt-libicu65-devel/samples/ugrep/readme.txt000064400000005471150470307440016507 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
ugrep: a sample program demonstrating the use of ICU regular expression API.

usage:   ugrep [options] pattern [file ...]

   --help                 Output a brief help message
   -n,  --line-number     Prefix each line of output with the line number within its input file.
   -V,  --version         Output the program version number


The program searches for the specified regular expression in each of the
specified files, and outputs each matching line.

Input files are in the system default (locale dependent) encoding, unless they
begin with a BOM, in which case they are assumed to be in the UTF encoding
specified by the BOM.  Program output is always in the system's default
8 bit code page.

   
Files:
    ./ugrep.c                 source code for the sample
    ./ugrep.sln               Windows MSVC workspace.  Double-click this to get started.
    ./ugrep.vcproj            Windows MSVC project file.
    ./Makefile                Makefile for Unixes.  Needs gmake.
    

To Build ugrep on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\ugrep\ugrep.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the ugrep directory, e.g.
            cd c:\icu\source\samples\ugrep\debug
    4.  Run it
            ugrep ...
     

To Build on Unixes
    1.  Build ICU.  Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
    3.  Build the sample
           Put the install directory containing icu-config on the $PATH.  
               This will generally be <icu install directory>/bin
           cd <icu directory>/source/samples/ugrep
           gmake
           
 To Run on Unixes
           cd <icu directory>/source/samples/ugrep
           
           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           ugrep ...
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.
share/doc/alt-libicu65-devel/samples/rules.mk000064400000002426150470307440015047 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2002-2012 IBM, Inc. and others
# sample code rules for a single-target simple sample

# list of targets that aren't actually created
.PHONY: all clean distclean check report 

all: $(ALL_SUBDIR) $(RESTARGET) $(TARGET)  

$(TARGET): $(OBJECTS)
	$(LINK.cc) $(LOADLIBES) $(LDLIBS) -o $@ $(XTRALIBS) -licui18n -licuuc

$(RESTARGET): $(RESFILES)
	$(PKGDATA) --name $(RESNAME) --mode $(RESMODE) $(PKGDATAOPTS) $(RESLIST)

res-install: $(RESTARGET)
	$(PKGDATA) --name $(RESNAME) --mode $(RESMODE) $(PKGDATAOPTS) $(RESLIST) --install $(shell icu-config --libdir)

# clean out files
distclean clean: $(CLEAN_SUBDIR)
	-test -z "$(CLEANFILES)" || rm -rf $(CLEANFILES)
	-rm -rf $(OBJECTS) $(TARGET) $(RESTARGET) $(RESFILES)

# Make check: simply runs the sample, logged to a file
check: $(ALL_SUBDIR) $(RESTARGET) $(TARGET)
	$(INVOKE) $(CHECK_VARS) ./$(TARGET) $(CHECK_ARGS) | tee $(TARGET).out

## resources
%.res: %.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) $^

$(RESNAME)/%.res: %.txt
	@echo "generating $@"
	$(GENRB) $(GENRBOPT) $^

## Some platforms don't have .cpp as a default suffix, so add the rule here
%.o:	%.cpp
	$(COMPILE.cc) $< $(OUTPUT_OPTION)
share/doc/alt-libicu65-devel/samples/ustring/Makefile000064400000001115150470307440016511 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

# Name of your target
TARGET=ustring

# All object files (C or C++)
OBJECTS=ustring.o

# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/ustring/ustring.sln000064400000002264150470307440017270 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ustring", "ustring.vcxproj", "{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.ActiveCfg = Debug|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|Win32.Build.0 = Debug|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.ActiveCfg = Debug|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Debug|x64.Build.0 = Debug|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.ActiveCfg = Release|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|Win32.Build.0 = Release|Win32
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.ActiveCfg = Release|x64
		{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/ustring/ustring.vcxproj.filters000064400000001562150470307440021636 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{db876e6b-bc8f-42c4-87ea-ce2103aa8083}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{b2781636-f094-4ad5-ae54-d1d1cd35789d}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{cc4ad0cf-56aa-411d-a9fb-75442955c3a9}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="ustring.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/ustring/ustring.vcxproj000064400000022050150470307440020162 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{FF92E6C1-BACA-41AD-BB6D-ECA19C05573E}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/ustring.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/ustring.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/ustring.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/ustring.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/ustring.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/ustring.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/ustring.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/ustring.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/ustring.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/ustring.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/ustring.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/ustring.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/ustring.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/ustring.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/ustring.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/ustring.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="ustring.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/ustring/readme.txt000064400000004165150470307440017057 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
ustring: Unicode String Manipulation

This sample demonstrates
         Using ICU to manipulate UnicodeString objects

         
Files:
    ustring.cpp      Main source file in C++
    ustring.sln      Windows MSVC workspace.  Double-click this to get started.
    ustring.vcproj   Windows MSVC project file

To Build ustring on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\ustring\ustring.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the ustring directory, e.g.
            cd c:\icu\source\samples\ustring\debug
    4.  Run it
            ustring

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/ustring
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/ustring
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           ustring
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.


share/doc/alt-libicu65-devel/samples/ustring/ustring.cpp000064400000057325150470307440017266 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2000-2014, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  ustring.c
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2000aug15
*   created by: Markus W. Scherer
*
*   This file contains sample code that illustrates the use of Unicode strings
*   with ICU.
*/

#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>

#include <stdio.h>
#include "unicode/utypes.h"
#include "unicode/uchar.h"
#include "unicode/locid.h"
#include "unicode/ustring.h"
#include "unicode/ucnv.h"
#include "unicode/unistr.h"

using namespace icu;

#ifndef UPRV_LENGTHOF
#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
#endif

// helper functions -------------------------------------------------------- ***

// default converter for the platform encoding
static UConverter *cnv=NULL;

static void
printUString(const char *announce, const UChar *s, int32_t length) {
    static char out[200];
    UChar32 c;
    int32_t i;
    UErrorCode errorCode=U_ZERO_ERROR;

    /*
     * Convert to the "platform encoding". See notes in printUnicodeString().
     * ucnv_fromUChars(), like most ICU APIs understands length==-1
     * to mean that the string is NUL-terminated.
     */
    ucnv_fromUChars(cnv, out, sizeof(out), s, length, &errorCode);
    if(U_FAILURE(errorCode) || errorCode==U_STRING_NOT_TERMINATED_WARNING) {
        printf("%sproblem converting string from Unicode: %s\n", announce, u_errorName(errorCode));
        return;
    }

    printf("%s%s {", announce, out);

    /* output the code points (not code units) */
    if(length>=0) {
        /* s is not NUL-terminated */
        for(i=0; i<length; /* U16_NEXT post-increments */) {
            U16_NEXT(s, i, length, c);
            printf(" %04x", c);
        }
    } else {
        /* s is NUL-terminated */
        for(i=0; /* condition in loop body */; /* U16_NEXT post-increments */) {
            U16_NEXT(s, i, length, c);
            if(c==0) {
                break;
            }
            printf(" %04x", c);
        }
    }
    printf(" }\n");
}

static void
printUnicodeString(const char *announce, const UnicodeString &s) {
    static char out[200];
    int32_t i, length;

    // output the string, converted to the platform encoding

    // Note for Windows: The "platform encoding" defaults to the "ANSI codepage",
    // which is different from the "OEM codepage" in the console window.
    // However, if you pipe the output into a file and look at it with Notepad
    // or similar, then "ANSI" characters will show correctly.
    // Production code should be aware of what encoding is required,
    // and use a UConverter or at least a charset name explicitly.
    out[s.extract(0, 99, out)]=0;
    printf("%s%s {", announce, out);

    // output the code units (not code points)
    length=s.length();
    for(i=0; i<length; ++i) {
        printf(" %04x", s.charAt(i));
    }
    printf(" }\n");
}

// sample code for utf.h macros -------------------------------------------- ***

static void
demo_utf_h_macros() {
    static UChar input[]={ 0x0061, 0xd800, 0xdc00, 0xdbff, 0xdfff, 0x0062 };
    UChar32 c;
    int32_t i;
    UBool isError;

    printf("\n* demo_utf_h_macros() -------------- ***\n\n");

    printUString("iterate forward through: ", input, UPRV_LENGTHOF(input));
    for(i=0; i<UPRV_LENGTHOF(input); /* U16_NEXT post-increments */) {
        /* Iterating forwards 
           Codepoint at offset 0: U+0061
           Codepoint at offset 1: U+10000
           Codepoint at offset 3: U+10ffff
           Codepoint at offset 5: U+0062
        */
        printf("Codepoint at offset %d: U+", i);
        U16_NEXT(input, i, UPRV_LENGTHOF(input), c);
        printf("%04x\n", c); 
    }

    puts("");

    isError=FALSE;
    i=1; /* write position, gets post-incremented so needs to be in an l-value */
    U16_APPEND(input, i, UPRV_LENGTHOF(input), 0x0062, isError);

    printUString("iterate backward through: ", input, UPRV_LENGTHOF(input));
    for(i=UPRV_LENGTHOF(input); i>0; /* U16_PREV pre-decrements */) {
        U16_PREV(input, 0, i, c);
        /* Iterating backwards
           Codepoint at offset 5: U+0062
           Codepoint at offset 3: U+10ffff
           Codepoint at offset 2: U+dc00 -- unpaired surrogate because lead surr. overwritten
           Codepoint at offset 1: U+0062 -- by this BMP code point
           Codepoint at offset 0: U+0061
        */
        printf("Codepoint at offset %d: U+%04x\n", i, c);
    }
}

// sample code for Unicode strings in C ------------------------------------ ***

static void demo_C_Unicode_strings() {
    printf("\n* demo_C_Unicode_strings() --------- ***\n\n");

    static const UChar text[]={ 0x41, 0x42, 0x43, 0 };          /* "ABC" */
    static const UChar appendText[]={ 0x61, 0x62, 0x63, 0 };    /* "abc" */
    static const UChar cmpText[]={ 0x61, 0x53, 0x73, 0x43, 0 }; /* "aSsC" */
    UChar buffer[32];
    int32_t compare;
    int32_t length=u_strlen(text); /* length=3 */

    /* simple ANSI C-style functions */
    buffer[0]=0;                    /* empty, NUL-terminated string */
    u_strncat(buffer, text, 1);     /* append just n=1 character ('A') */
    u_strcat(buffer, appendText);   /* buffer=="Aabc" */
    length=u_strlen(buffer);        /* length=4 */
    printUString("should be \"Aabc\": ", buffer, -1);

    /* bitwise comparing buffer with text */
    compare=u_strcmp(buffer, text);
    if(compare<=0) {
        printf("String comparison error, expected \"Aabc\" > \"ABC\"\n");
    }

    /* Build "A<sharp s>C" in the buffer... */
    u_strcpy(buffer, text);
    buffer[1]=0xdf; /* sharp s, case-compares equal to "ss" */
    printUString("should be \"A<sharp s>C\": ", buffer, -1);

    /* Compare two strings case-insensitively using full case folding */
    compare=u_strcasecmp(buffer, cmpText, U_FOLD_CASE_DEFAULT);
    if(compare!=0) {
        printf("String case insensitive comparison error, expected \"AbC\" to be equal to \"ABC\"\n");
    }
}

// sample code for case mappings with C APIs -------------------------------- ***

static void demoCaseMapInC() {
    /*
     * input=
     *   "aB<capital sigma>"
     *   "iI<small dotless i><capital dotted I> "
     *   "<sharp s> <small lig. ffi>"
     *   "<small final sigma><small sigma><capital sigma>"
     */
    static const UChar input[]={
        0x61, 0x42, 0x3a3,
        0x69, 0x49, 0x131, 0x130, 0x20,
        0xdf, 0x20, 0xfb03,
        0x3c2, 0x3c3, 0x3a3, 0
    };
    UChar buffer[32];

    UErrorCode errorCode;
    UChar32 c;
    int32_t i, j, length;
    UBool isError;

    printf("\n* demoCaseMapInC() ----------------- ***\n\n");

    /*
     * First, use simple case mapping functions which provide
     * 1:1 code point mappings without context/locale ID.
     *
     * Note that some mappings will not be "right" because some "real"
     * case mappings require context, depend on the locale ID,
     * and/or result in a change in the number of code points.
     */
    printUString("input string: ", input, -1);

    /* uppercase */
    isError=FALSE;
    for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
        U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
        if(c==0) {
            break; /* stop at terminating NUL, no need to terminate buffer */
        }
        c=u_toupper(c);
        U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
    }
    printUString("simple-uppercased: ", buffer, j);
    /* lowercase */
    isError=FALSE;
    for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
        U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
        if(c==0) {
            break; /* stop at terminating NUL, no need to terminate buffer */
        }
        c=u_tolower(c);
        U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
    }
    printUString("simple-lowercased: ", buffer, j);
    /* titlecase */
    isError=FALSE;
    for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
        U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
        if(c==0) {
            break; /* stop at terminating NUL, no need to terminate buffer */
        }
        c=u_totitle(c);
        U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
    }
    printUString("simple-titlecased: ", buffer, j);
    /* case-fold/default */
    isError=FALSE;
    for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
        U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
        if(c==0) {
            break; /* stop at terminating NUL, no need to terminate buffer */
        }
        c=u_foldCase(c, U_FOLD_CASE_DEFAULT);
        U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
    }
    printUString("simple-case-folded/default: ", buffer, j);
    /* case-fold/Turkic */
    isError=FALSE;
    for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
        U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
        if(c==0) {
            break; /* stop at terminating NUL, no need to terminate buffer */
        }
        c=u_foldCase(c, U_FOLD_CASE_EXCLUDE_SPECIAL_I);
        U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
    }
    printUString("simple-case-folded/Turkic: ", buffer, j);

    /*
     * Second, use full case mapping functions which provide
     * 1:n code point mappings (n can be 0!) and are sensitive to context and locale ID.
     *
     * Note that lower/upper/titlecasing take a locale ID while case-folding
     * has bit flag options instead, by design of the Unicode SpecialCasing.txt UCD file.
     *
     * Also, string titlecasing requires a BreakIterator to find starts of words.
     * The sample code here passes in a NULL pointer; u_strToTitle() will open and close a default
     * titlecasing BreakIterator automatically.
     * For production code where many strings are titlecased it would be more efficient
     * to open a BreakIterator externally and pass it in.
     */
    printUString("\ninput string: ", input, -1);

    /* lowercase/English */
    errorCode=U_ZERO_ERROR;
    length=u_strToLower(buffer, UPRV_LENGTHOF(buffer), input, -1, "en", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-lowercased/en: ", buffer, length);
    } else {
        printf("error in u_strToLower(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* lowercase/Turkish */
    errorCode=U_ZERO_ERROR;
    length=u_strToLower(buffer, UPRV_LENGTHOF(buffer), input, -1, "tr", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-lowercased/tr: ", buffer, length);
    } else {
        printf("error in u_strToLower(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* uppercase/English */
    errorCode=U_ZERO_ERROR;
    length=u_strToUpper(buffer, UPRV_LENGTHOF(buffer), input, -1, "en", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-uppercased/en: ", buffer, length);
    } else {
        printf("error in u_strToUpper(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* uppercase/Turkish */
    errorCode=U_ZERO_ERROR;
    length=u_strToUpper(buffer, UPRV_LENGTHOF(buffer), input, -1, "tr", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-uppercased/tr: ", buffer, length);
    } else {
        printf("error in u_strToUpper(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* titlecase/English */
    errorCode=U_ZERO_ERROR;
    length=u_strToTitle(buffer, UPRV_LENGTHOF(buffer), input, -1, NULL, "en", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-titlecased/en: ", buffer, length);
    } else {
        printf("error in u_strToTitle(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* titlecase/Turkish */
    errorCode=U_ZERO_ERROR;
    length=u_strToTitle(buffer, UPRV_LENGTHOF(buffer), input, -1, NULL, "tr", &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-titlecased/tr: ", buffer, length);
    } else {
        printf("error in u_strToTitle(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* case-fold/default */
    errorCode=U_ZERO_ERROR;
    length=u_strFoldCase(buffer, UPRV_LENGTHOF(buffer), input, -1, U_FOLD_CASE_DEFAULT, &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-case-folded/default: ", buffer, length);
    } else {
        printf("error in u_strFoldCase(default)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
    /* case-fold/Turkic */
    errorCode=U_ZERO_ERROR;
    length=u_strFoldCase(buffer, UPRV_LENGTHOF(buffer), input, -1, U_FOLD_CASE_EXCLUDE_SPECIAL_I, &errorCode);
    if(U_SUCCESS(errorCode)) {
        printUString("full-case-folded/Turkic: ", buffer, length);
    } else {
        printf("error in u_strFoldCase(Turkic)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
    }
}

// sample code for case mappings with C++ APIs ------------------------------ ***

static void demoCaseMapInCPlusPlus() {
    /*
     * input=
     *   "aB<capital sigma>"
     *   "iI<small dotless i><capital dotted I> "
     *   "<sharp s> <small lig. ffi>"
     *   "<small final sigma><small sigma><capital sigma>"
     */
    static const UChar input[]={
        0x61, 0x42, 0x3a3,
        0x69, 0x49, 0x131, 0x130, 0x20,
        0xdf, 0x20, 0xfb03,
        0x3c2, 0x3c3, 0x3a3, 0
    };

    printf("\n* demoCaseMapInCPlusPlus() --------- ***\n\n");

    UnicodeString s(input), t;
    const Locale &en=Locale::getEnglish();
    Locale tr("tr");

    /*
     * Full case mappings as in demoCaseMapInC(), using UnicodeString functions.
     * These functions modify the string object itself.
     * Since we want to keep the input string around, we copy it each time
     * and case-map the copy.
     */
    printUnicodeString("input string: ", s);

    /* lowercase/English */
    printUnicodeString("full-lowercased/en: ", (t=s).toLower(en));
    /* lowercase/Turkish */
    printUnicodeString("full-lowercased/tr: ", (t=s).toLower(tr));
    /* uppercase/English */
    printUnicodeString("full-uppercased/en: ", (t=s).toUpper(en));
    /* uppercase/Turkish */
    printUnicodeString("full-uppercased/tr: ", (t=s).toUpper(tr));
    /* titlecase/English */
    printUnicodeString("full-titlecased/en: ", (t=s).toTitle(NULL, en));
    /* titlecase/Turkish */
    printUnicodeString("full-titlecased/tr: ", (t=s).toTitle(NULL, tr));
    /* case-folde/default */
    printUnicodeString("full-case-folded/default: ", (t=s).foldCase(U_FOLD_CASE_DEFAULT));
    /* case-folde/Turkic */
    printUnicodeString("full-case-folded/Turkic: ", (t=s).foldCase(U_FOLD_CASE_EXCLUDE_SPECIAL_I));
}

// sample code for UnicodeString storage models ----------------------------- ***

static const UChar readonly[]={
    0x61, 0x31, 0x20ac
};
static UChar writeable[]={
    0x62, 0x32, 0xdbc0, 0xdc01 // includes a surrogate pair for a supplementary code point
};
static char out[100];

static void
demoUnicodeStringStorage() {
    // These sample code lines illustrate how to use UnicodeString, and the
    // comments tell what happens internally. There are no APIs to observe
    // most of this programmatically, except for stepping into the code
    // with a debugger.
    // This is by design to hide such details from the user.
    int32_t i;

    printf("\n* demoUnicodeStringStorage() ------- ***\n\n");

    // * UnicodeString with internally stored contents
    // instantiate a UnicodeString from a single code point
    // the few (2) UChars will be stored in the object itself
    UnicodeString one((UChar32)0x24001);
    // this copies the few UChars into the "two" object
    UnicodeString two=one;
    printf("length of short string copy: %d\n", two.length());
    // set "one" to contain the 3 UChars from readonly
    // this setTo() variant copies the characters
    one.setTo(readonly, UPRV_LENGTHOF(readonly));

    // * UnicodeString with allocated contents
    // build a longer string that will not fit into the object's buffer
    one+=UnicodeString(writeable, UPRV_LENGTHOF(writeable));
    one+=one;
    one+=one;
    printf("length of longer string: %d\n", one.length());
    // copying will use the same allocated buffer and increment the reference
    // counter
    two=one;
    printf("length of longer string copy: %d\n", two.length());

    // * UnicodeString using readonly-alias to a const UChar array
    // construct a string that aliases a readonly buffer
    UnicodeString three(FALSE, readonly, UPRV_LENGTHOF(readonly));
    printUnicodeString("readonly-alias string: ", three);
    // copy-on-write: any modification to the string results in
    // a copy to either the internal buffer or to a newly allocated one
    three.setCharAt(1, 0x39);
    printUnicodeString("readonly-aliasing string after modification: ", three);
    // the aliased array is not modified
    for(i=0; i<three.length(); ++i) {
        printf("readonly buffer[%d] after modifying its string: 0x%" PRId32 "\n",
               i, readonly[i]);
    }
    // setTo() readonly alias
    one.setTo(FALSE, writeable, UPRV_LENGTHOF(writeable));
    // copying the readonly-alias object with fastCopyFrom() (new in ICU 2.4)
    // will readonly-alias the same buffer
    two.fastCopyFrom(one);
    printUnicodeString("fastCopyFrom(readonly alias of \"writeable\" array): ", two);
    printf("verify that a fastCopyFrom(readonly alias) uses the same buffer pointer: %d (should be 1)\n",
        one.getBuffer()==two.getBuffer());
    // a normal assignment will clone the contents (new in ICU 2.4)
    two=one;
    printf("verify that a regular copy of a readonly alias uses a different buffer pointer: %d (should be 0)\n",
        one.getBuffer()==two.getBuffer());

    // * UnicodeString using writeable-alias to a non-const UChar array
    UnicodeString four(writeable, UPRV_LENGTHOF(writeable), UPRV_LENGTHOF(writeable));
    printUnicodeString("writeable-alias string: ", four);
    // a modification writes through to the buffer
    four.setCharAt(1, 0x39);
    for(i=0; i<four.length(); ++i) {
        printf("writeable-alias backing buffer[%d]=0x%" PRId32 " "
               "after modification\n", i, writeable[i]);
    }
    // a copy will not alias any more;
    // instead, it will get a copy of the contents into allocated memory
    two=four;
    two.setCharAt(1, 0x21);
    for(i=0; i<two.length(); ++i) {
        printf("writeable-alias backing buffer[%d]=0x%" PRId32 " after "
               "modification of string copy\n", i, writeable[i]);
    }
    // setTo() writeable alias, capacity==length
    one.setTo(writeable, UPRV_LENGTHOF(writeable), UPRV_LENGTHOF(writeable));
    // grow the string - it will not fit into the backing buffer any more
    // and will get copied before modification
    one.append((UChar)0x40);
    // shrink it back so it would fit
    one.truncate(one.length()-1);
    // we still operate on the copy
    one.setCharAt(1, 0x25);
    printf("string after growing too much and then shrinking[1]=0x%" PRId32 "\n"
           "                          backing store for this[1]=0x%" PRId32 "\n",
           one.charAt(1), writeable[1]);
    // if we need it in the original buffer, then extract() to it
    // extract() does not do anything if the string aliases that same buffer
    // i=min(one.length(), length of array)
    if(one.length()<UPRV_LENGTHOF(writeable)) {
        i=one.length();
    } else {
        i=UPRV_LENGTHOF(writeable);
    }
    one.extract(0, i, writeable);
    for(i=0; i<UPRV_LENGTHOF(writeable); ++i) {
        printf("writeable-alias backing buffer[%d]=0x%" PRId32 " after re-extract\n",
               i, writeable[i]);
    }
}

// sample code for UnicodeString instantiations ----------------------------- ***

static void
demoUnicodeStringInit() {
    // *** Make sure to read about invariant characters in utypes.h! ***
    // Initialization of Unicode strings from C literals works _only_ for
    // invariant characters!

    printf("\n* demoUnicodeStringInit() ---------- ***\n\n");

    // the string literal is 32 chars long - this must be counted for the macro
    UnicodeString invariantOnly=UNICODE_STRING("such characters are safe 123 %-.", 32);

    /*
     * In C, we need two macros: one to declare the UChar[] array, and
     * one to populate it; the second one is a noop on platforms where
     * wchar_t is compatible with UChar and ASCII-based.
     * The length of the string literal must be counted for both macros.
     */
    /* declare the invString array for the string */
    U_STRING_DECL(invString, "such characters are safe 123 %-.", 32);
    /* populate it with the characters */
    U_STRING_INIT(invString, "such characters are safe 123 %-.", 32);

    // compare the C and C++ strings
    printf("C and C++ Unicode strings are equal: %d\n", invariantOnly==UnicodeString(TRUE, invString, 32));

    /*
     * convert between char * and UChar * strings that
     * contain only invariant characters
     */
    static const char *cs1="such characters are safe 123 %-.";
    static UChar us1[40];
    static char cs2[40];
    u_charsToUChars(cs1, us1, 33); /* include the terminating NUL */
    u_UCharsToChars(us1, cs2, 33);
    printf("char * -> UChar * -> char * with only "
           "invariant characters: \"%s\"\n",
           cs2);

    // initialize a UnicodeString from a string literal that contains
    // escape sequences written with invariant characters
    // do not forget to duplicate the backslashes for ICU to see them
    // then, count each double backslash only once!
    UnicodeString german=UNICODE_STRING(
        "Sch\\u00f6nes Auto: \\u20ac 11240.\\fPrivates Zeichen: \\U00102345\\n", 64).
        unescape();
    printUnicodeString("german UnicodeString from unescaping:\n    ", german);

    /*
     * C: convert and unescape a char * string with only invariant
     * characters to fill a UChar * string
     */
    UChar buffer[200];
    int32_t length;
    length=u_unescape(
        "Sch\\u00f6nes Auto: \\u20ac 11240.\\fPrivates Zeichen: \\U00102345\\n",
        buffer, UPRV_LENGTHOF(buffer));
    printf("german C Unicode string from char * unescaping: (length %d)\n    ", length);
    printUnicodeString("", UnicodeString(buffer));
}

extern int
main(int argc, const char *argv[]) {
    UErrorCode errorCode=U_ZERO_ERROR;

    // Note: Using a global variable for any object is not exactly thread-safe...

    // You can change this call to e.g. ucnv_open("UTF-8", &errorCode) if you pipe
    // the output to a file and look at it with a Unicode-capable editor.
    // This will currently affect only the printUString() function, see the code above.
    // printUnicodeString() could use this, too, by changing to an extract() overload
    // that takes a UConverter argument.
    cnv=ucnv_open(NULL, &errorCode);
    if(U_FAILURE(errorCode)) {
        fprintf(stderr, "error %s opening the default converter\n", u_errorName(errorCode));
        return errorCode;
    }

    ucnv_setFromUCallBack(cnv, UCNV_FROM_U_CALLBACK_ESCAPE, UCNV_ESCAPE_C, NULL, NULL, &errorCode);
    if(U_FAILURE(errorCode)) {
        fprintf(stderr, "error %s setting the escape callback in the default converter\n", u_errorName(errorCode));
        ucnv_close(cnv);
        return errorCode;
    }

    demo_utf_h_macros();
    demo_C_Unicode_strings();
    demoCaseMapInC();
    demoCaseMapInCPlusPlus();
    demoUnicodeStringStorage();
    demoUnicodeStringInit();

    ucnv_close(cnv);
    return 0;
}
share/doc/alt-libicu65-devel/samples/strsrch/Makefile000064400000001156150470307440016513 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=strsrch

# All object files (C or C++)
OBJECTS=strsrch.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/strsrch/strsrch.vcxproj000064400000023217150470307440020162 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/strsrch.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/strsrch.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/strsrch.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/strsrch.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/strsrch.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/strsrch.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/strsrch.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/strsrch.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/strsrch.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/strsrch.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/strsrch.exe</OutputFile>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/strsrch.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/strsrch.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/strsrch.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuin.lib;icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/strsrch.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/strsrch.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="strsrch.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/strsrch/strsrch.cpp000064400000022612150470307440017247 0ustar00/*************************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *************************************************************************
 *************************************************************************
 * COPYRIGHT:
 * Copyright (C) 2002-2006 IBM, Inc.   All Rights Reserved.
 *
 *************************************************************************/

/** 
 * This program demos string collation
 */

const char gHelpString[] =
    "usage: strsrch [options*] -source source_string -pattern pattern_string\n"
    "-help            Display this message.\n"
    "-locale name     ICU locale to use.  Default is en_US\n"
    "-rules rule      Collation rules file (overrides locale)\n"
    "-french          French accent ordering\n"
    "-norm            Normalizing mode on\n"
    "-shifted         Shifted mode\n"
    "-lower           Lower case first\n"
    "-upper           Upper case first\n"
    "-case            Enable separate case level\n"
    "-level n         Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical\n"
	"-source string   Source string\n"
	"-pattern string  Pattern string to look for in source\n"
	"-overlap         Enable searching to be done on overlapping patterns\n"
	"-canonical       Enable searching to be done matching canonical equivalent patterns"
    "Example strsrch -rules \\u0026b\\u003ca -source a\\u0020b\\u0020bc -pattern b\n"
	"The format \\uXXXX is supported for the rules and comparison strings\n"
	;

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <unicode/utypes.h>
#include <unicode/ucol.h>
#include <unicode/usearch.h>
#include <unicode/ustring.h>

/** 
 * Command line option variables
 *    These global variables are set according to the options specified
 *    on the command line by the user.
 */
char * opt_locale      = "en_US";
char * opt_rules       = 0;
UBool  opt_help        = FALSE;
UBool  opt_norm        = FALSE;
UBool  opt_french      = FALSE;
UBool  opt_shifted     = FALSE;
UBool  opt_lower       = FALSE;
UBool  opt_upper       = FALSE;
UBool  opt_case        = FALSE;
UBool  opt_overlap     = FALSE;
UBool  opt_canonical   = FALSE;
int    opt_level       = 0;
char * opt_source      = "International Components for Unicode";
char * opt_pattern     = "Unicode";
UCollator * collator   = 0;
UStringSearch * search = 0;
UChar rules[100];
UChar source[100];
UChar pattern[100];

/** 
 * Definitions for the command line options
 */
struct OptSpec {
    const char *name;
    enum {FLAG, NUM, STRING} type;
    void *pVar;
};

OptSpec opts[] = {
    {"-locale",      OptSpec::STRING, &opt_locale},
    {"-rules",       OptSpec::STRING, &opt_rules},
	{"-source",      OptSpec::STRING, &opt_source},
    {"-pattern",     OptSpec::STRING, &opt_pattern},
    {"-norm",        OptSpec::FLAG,   &opt_norm},
    {"-french",      OptSpec::FLAG,   &opt_french},
    {"-shifted",     OptSpec::FLAG,   &opt_shifted},
    {"-lower",       OptSpec::FLAG,   &opt_lower},
    {"-upper",       OptSpec::FLAG,   &opt_upper},
    {"-case",        OptSpec::FLAG,   &opt_case},
    {"-level",       OptSpec::NUM,    &opt_level},
	{"-overlap",     OptSpec::FLAG,   &opt_overlap},
	{"-canonical",   OptSpec::FLAG,   &opt_canonical},
    {"-help",        OptSpec::FLAG,   &opt_help},
    {"-?",           OptSpec::FLAG,   &opt_help},
    {0, OptSpec::FLAG, 0}
};

/**  
 * processOptions()  Function to read the command line options.
 */
UBool processOptions(int argc, const char **argv, OptSpec opts[])
{
    for (int argNum = 1; argNum < argc; argNum ++) {
        const char *pArgName = argv[argNum];
        OptSpec *pOpt;
        for (pOpt = opts;  pOpt->name != 0; pOpt ++) {
            if (strcmp(pOpt->name, pArgName) == 0) {
                switch (pOpt->type) {
                case OptSpec::FLAG:
                    *(UBool *)(pOpt->pVar) = TRUE;
                    break;
                case OptSpec::STRING:
                    argNum ++;
                    if (argNum >= argc) {
                        fprintf(stderr, "value expected for \"%s\" option.\n", 
							    pOpt->name);
                        return FALSE;
                    }
                    *(const char **)(pOpt->pVar) = argv[argNum];
                    break;
                case OptSpec::NUM:
                    argNum ++;
                    if (argNum >= argc) {
                        fprintf(stderr, "value expected for \"%s\" option.\n", 
							    pOpt->name);
                        return FALSE;
                    }
                    char *endp;
                    int i = strtol(argv[argNum], &endp, 0);
                    if (endp == argv[argNum]) {
                        fprintf(stderr, 
							    "integer value expected for \"%s\" option.\n", 
								pOpt->name);
                        return FALSE;
                    }
                    *(int *)(pOpt->pVar) = i;
                }
                break;
            }
        }
        if (pOpt->name == 0)
        {
            fprintf(stderr, "Unrecognized option \"%s\"\n", pArgName);
            return FALSE;
        }
    }
	return TRUE;
}

/**
 * Creates a collator
 */
UBool processCollator()
{
	// Set up an ICU collator
    UErrorCode status = U_ZERO_ERROR;

    if (opt_rules != 0) {
		u_unescape(opt_rules, rules, 100);
        collator = ucol_openRules(rules, -1, UCOL_OFF, UCOL_TERTIARY, 
			                  NULL, &status);
    }
    else {
        collator = ucol_open(opt_locale, &status);
    }
	if (U_FAILURE(status)) {
        fprintf(stderr, "Collator creation failed.: %d\n", status);
        return FALSE;
    }
    if (status == U_USING_DEFAULT_WARNING) {
        fprintf(stderr, "Warning, U_USING_DEFAULT_WARNING for %s\n", 
			    opt_locale);
    }
    if (status == U_USING_FALLBACK_WARNING) {
        fprintf(stderr, "Warning, U_USING_FALLBACK_ERROR for %s\n", 
			    opt_locale);
    }
    if (opt_norm) {
        ucol_setAttribute(collator, UCOL_NORMALIZATION_MODE, UCOL_ON, &status);
    }
    if (opt_french) {
        ucol_setAttribute(collator, UCOL_FRENCH_COLLATION, UCOL_ON, &status);
    }
    if (opt_lower) {
        ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_LOWER_FIRST, 
			              &status);
    }
    if (opt_upper) {
        ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_UPPER_FIRST, 
			              &status);
    }
    if (opt_case) {
        ucol_setAttribute(collator, UCOL_CASE_LEVEL, UCOL_ON, &status);
    }
    if (opt_shifted) {
        ucol_setAttribute(collator, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, 
			              &status);
    }
    if (opt_level != 0) {
        switch (opt_level) {
        case 1:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_PRIMARY, &status);
            break;
        case 2:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_SECONDARY, 
				              &status);
            break;
        case 3:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_TERTIARY, &status);
            break;
        case 4:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_QUATERNARY, 
				              &status);
            break;
        case 5:
            ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_IDENTICAL, 
				              &status);
            break;
        default:
            fprintf(stderr, "-level param must be between 1 and 5\n");
            return FALSE;
        }
    }
    if (U_FAILURE(status)) {
        fprintf(stderr, "Collator attribute setting failed.: %d\n", status);
        return FALSE;
    }
	return TRUE;
}

/**
 * Creates a string search
 */
UBool processStringSearch()
{
	u_unescape(opt_source, source, 100);
	u_unescape(opt_pattern, pattern, 100);
	UErrorCode status = U_ZERO_ERROR;
	search = usearch_openFromCollator(pattern, -1, source, -1, collator, NULL, 
		                              &status);
	if (U_FAILURE(status)) {
		return FALSE;
	}
	if (opt_overlap == TRUE) {
		usearch_setAttribute(search, USEARCH_OVERLAP, USEARCH_ON, &status);
	}
	if (opt_canonical == TRUE) {
		usearch_setAttribute(search, USEARCH_CANONICAL_MATCH, USEARCH_ON, 
			                 &status);
	}
	if (U_FAILURE(status)) {
		fprintf(stderr, "Error setting search attributes\n");
		return FALSE;
	}
	return TRUE;
}

UBool findPattern()
{
	UErrorCode status = U_ZERO_ERROR;
	int32_t offset = usearch_next(search, &status);
	if (offset == USEARCH_DONE) {
		fprintf(stdout, "Pattern not found in source\n");
	}
	while (offset != USEARCH_DONE) {
		fprintf(stdout, "Pattern found at offset %d size %d\n", offset,
				usearch_getMatchedLength(search));
		offset = usearch_next(search, &status);
	}
	if (U_FAILURE(status)) {
		fprintf(stderr, "Error in searching for pattern %d\n", status);
		return FALSE;
	}
	fprintf(stdout, "End of search\n");
	return TRUE;
}

/** 
 * Main   --  process command line, read in and pre-process the test file,
 *            call other functions to do the actual tests.
 */
int main(int argc, const char** argv) 
{
    if (processOptions(argc, argv, opts) != TRUE || opt_help) {
        printf(gHelpString);
        return -1;
    }

    if (processCollator() != TRUE) {
		fprintf(stderr, "Error creating collator\n");
		return -1;
	}

	if (processStringSearch() != TRUE) {
		fprintf(stderr, "Error creating string search\n");
		return -1;
	}

	fprintf(stdout, "Finding pattern %s in source %s\n", opt_pattern, 
		    opt_source);

	findPattern();
	ucol_close(collator);
	usearch_close(search);
	return 0;
}
share/doc/alt-libicu65-devel/samples/strsrch/strsrch.sln000064400000002264150470307440017262 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strsrch", "strsrch.vcxproj", "{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.ActiveCfg = Debug|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|Win32.Build.0 = Debug|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.ActiveCfg = Debug|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Debug|x64.Build.0 = Debug|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.ActiveCfg = Release|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|Win32.Build.0 = Release|Win32
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.ActiveCfg = Release|x64
		{E97790D1-7ABE-4C8E-9627-251ABEAA3EEC}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/strsrch/strsrch.vcxproj.filters000064400000001562150470307440021630 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{1729c67a-c387-461a-8ea5-4f4c55da17a0}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{18ae9e20-0bfa-47a4-9fe1-e379df6f8ad1}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{80c9cc6e-85a0-44a2-b79a-0f811bd64103}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="strsrch.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/strsrch/readme.txt000064400000004440150470307440017050 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
strsrch: a sample program which finds the occurrences of a pattern string in a source string, using user-defined collation rules.

This sample demonstrates
         Creating a user-defined string search mechanism.
         Finding all occurrences of a pattern string in a given source string.
         
Files:
    strsrch.c                     Main source file
    strsrch.sln                   Windows MSVC workspace.  Double-click this to get started.
    strsrch.vcproj                Windows MSVC project file

To Build strsrch on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\strsrch\strsrch.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the strsrch directory, e.g.
            cd c:\icu\source\samples\strsrch\debug
    4.  Run it
            strsrch [options*] -source source_string -pattern pattern_string

To Build on Unixes
    1.  Build ICU.  strsrch is built automatically by default unless samples are turned off.
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
 To Run on Unixes
           cd <icu directory>/source/samples/strsrch
           
           gmake check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           cal
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/readme.txt000064400000005433150470307440015363 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Copyright (c) 2002-2010, International Business Machines Corporation 
## and others. All Rights Reserved.

This directory contains sample code
Below is a short description of the contents of this directory.

break - demonstrates how to use BreakIterators in C and C++.

cal      - prints out a calendar. 

case    - demonstrates how to do Unicode case conversion in C and C++.

csdet   -  demonstrates using ICU's CharSet Detection API

date     - prints out the current date, localized. 

datefmt  - an exercise using the date formatting API

layout   - demonstrates the ICU LayoutEngine

legacy   - demonstrates using two versions of ICU in one application

msgfmt   - demonstrates the use of the Message Format

numfmt   - demonstrates the use of the number format

props    - demonstrates the use of Unicode properties

strsrch - demonstrates how to search for patterns in Unicode text using the usearch interface.

translit - demonstrates the use of ICU transliteration

uciter8.c - demonstrates how to leniently read 8-bit Unicode text.

ucnv     - demonstrates the use of ICU codepage conversion

udata    - demonstrates the use of ICU low level data routines (reader/writer in 'all' MSVC solution)

ufortune - demonstrates packaging and use of resources in an application

ugrep  - demonstrates ICU Regular Expressions. 

uresb    - demonstrates building and loading resource bundles

ustring  - demonstrates ICU string manipulation functions


==
* Where can I find more sample code?

 - The "uconv" utility is a full-featured command line application.
    It is normally built with ICU, and is located in icu/source/extra/uconv

 - The "icuapps" CVS module contains other applications and libraries not
    included with ICU.  You can check it out from the CVS command line
    by using for example,  "cvs co icuapps" instead of "cvs co icu",
   or through WebCVS at http://dev.icu-project.org/cgi-bin/viewcvs.cgi/icuapps/

==
* How do I build the samples?

 - See the Readme in each subdirectory

 To build all samples at once:

    Windows MSVC:   
            - build ICU
	    - open 'all' project file in 'all' subdirectory
            - build project
            - sample executables will be located in /x86/Debug folders of each sample subdirectory

    Unix:   - build and install (make install) ICU
            - be sure 'icu-config' is accessible from the PATH
            - type 'make all-samples' from this directory 
               (other targets:  clean-samples, check-samples)
           Note: 'make all-samples' won't work correctly in out of source builds.

            - legacy and layout are not included in these lists,
                   please see their individual readmes.
share/doc/alt-libicu65-devel/samples/cal/Makefile000064400000003247150470307440015565 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/cal
## Copyright (c) 1999-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information
srcdir = .
top_srcdir = ../..

## Install directory information
top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples/cal

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET = icucal$(EXEEXT)

CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)

OBJECTS = uprint.o cal.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local

all-local: $(TARGET)

install-local: all-local

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(OBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local:
	-$(INVOKE) ./$(TARGET)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

$(TARGET) : $(OBJECTS)
	$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
	$(POST_BUILD_STEP)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/cal/cal.c000064400000054637150470307440015041 0ustar00/*
***********************************************************************
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html#License
***********************************************************************
**********************************************************************
* Copyright (C) 1998-2012, International Business Machines Corporation
* and others.  All Rights Reserved.
**********************************************************************
*
* File date.c
*
* Modification History:
*
*   Date        Name        Description
*   06/16/99    stephen     Creation.
*******************************************************************************
*/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "unicode/uloc.h"
#include "unicode/udat.h"
#include "unicode/ucal.h"
#include "unicode/ustring.h"
#include "unicode/uclean.h"

#include "uprint.h"

#if UCONFIG_NO_FORMATTING

int main(int argc, char **argv)
{
  printf("%s: Sorry, UCONFIG_NO_FORMATTING was turned on (see uconfig.h). No formatting can be done. \n", argv[0]);
  return 0;
}
#else


/* Protos */
static void usage(void);

static void version(void);

static void cal(int32_t month, int32_t year,
                UBool useLongNames, UErrorCode *status);

static void get_symbols(const UDateFormat *fmt,
                        UDateFormatSymbolType type,
                        UChar *array[],
                        int32_t arrayLength,
                        int32_t lowestIndex,
                        int32_t firstIndex,
                        UErrorCode *status);

static void free_symbols(UChar *array[],
                         int32_t arrayLength);

static void get_days(const UDateFormat *fmt,
                     UChar *days [], UBool useLongNames, 
                     int32_t fdow, UErrorCode *status);

static void free_days(UChar *days[]);

static void get_months(const UDateFormat *fmt,
                       UChar *months [], UBool useLongNames,
                       UErrorCode *status);

static void free_months(UChar *months[]);

static void indent(int32_t count, FILE *f);

static void print_days(UChar *days [], FILE *f, UErrorCode *status);

static void  print_month(UCalendar *c, 
                         UChar *days [], 
                         UBool useLongNames, int32_t fdow, 
                         UErrorCode *status);

static void  print_year(UCalendar *c, 
                        UChar *days [], UChar *months [],
                        UBool useLongNames, int32_t fdow, 
                        UErrorCode *status);

/* The version of cal */
#define CAL_VERSION "1.0"

/* Number of days in a week */
#define DAY_COUNT 7

/* Number of months in a year (yes, 13) */
#define MONTH_COUNT 13

/* Separation between months in year view */
#define MARGIN_WIDTH 4

/* Size of stack buffers */
#define BUF_SIZE 64

/* Patterm string - "MMM yyyy" */
static const UChar sShortPat [] = { 0x004D, 0x004D, 0x004D, 0x0020, 
0x0079, 0x0079, 0x0079, 0x0079 };
/* Pattern string - "MMMM yyyy" */
static const UChar sLongPat [] = { 0x004D, 0x004D, 0x004D, 0x004D, 0x0020, 
0x0079, 0x0079, 0x0079, 0x0079 };


int
main(int argc,
     char **argv)
{
    int printUsage = 0;
    int printVersion = 0;
    UBool useLongNames = 0;
    int optInd = 1;
    char *arg;
    int32_t month = -1, year = -1;
    UErrorCode status = U_ZERO_ERROR;
    
    
    /* parse the options */
    for(optInd = 1; optInd < argc; ++optInd) {
        arg = argv[optInd];
        
        /* version info */
        if(strcmp(arg, "-v") == 0 || strcmp(arg, "--version") == 0) {
            printVersion = 1;
        }
        /* usage info */
        else if(strcmp(arg, "-h") == 0 || strcmp(arg, "--help") == 0) {
            printUsage = 1;
        }
        /* use long day names */
        else if(strcmp(arg, "-l") == 0 || strcmp(arg, "--long") == 0) {
            useLongNames = 1;
        }
        /* POSIX.1 says all arguments after -- are not options */
        else if(strcmp(arg, "--") == 0) {
            /* skip the -- */
            ++optInd;
            break;
        }
        /* unrecognized option */
        else if(strncmp(arg, "-", strlen("-")) == 0) {
            printf("cal: invalid option -- %s\n", arg+1);
            printUsage = 1;
        }
        /* done with options, display cal */
        else {
            break;
        }
    }
    
    /* Get the month and year to display, if specified */
    if(optInd != argc) {
        
        /* Month and year specified */
        if(argc - optInd == 2) {
            sscanf(argv[optInd], "%d", (int*)&month);
            sscanf(argv[optInd + 1], "%d", (int*)&year);
            
            /* Make sure the month value is legal */
            if(month < 0 || month > 12) {
                printf("icucal: Bad value for month -- %d\n", (int)month);
                
                /* Display usage */
                printUsage = 1;
            }
            
            /* Adjust because months are 0-based */
            --month;
        }
        /* Only year specified */
        else {
            sscanf(argv[optInd], "%d", (int*)&year);
        }
    }
    
    /* print usage info */
    if(printUsage) {
        usage();
        return 0;
    }
    
    /* print version info */
    if(printVersion) {
        version();
        return 0;
    }
    
    /* print the cal */
    cal(month, year, useLongNames, &status);
    
    /* ICU cleanup.  Deallocate any memory ICU may be holding.  */
    u_cleanup();

    return (U_FAILURE(status) ? 1 : 0);
}

/* Usage information */
static void
usage()
{  
    puts("Usage: icucal [OPTIONS] [[MONTH] YEAR]");
    puts("");
    puts("Options:");
    puts("  -h, --help        Print this message and exit.");
    puts("  -v, --version     Print the version number of cal and exit.");
    puts("  -l, --long        Use long names.");
    puts("");
    puts("Arguments (optional):");
    puts("  MONTH             An integer (1-12) indicating the month to display");
    puts("  YEAR              An integer indicating the year to display");
    puts("");
    puts("For an interesting calendar, look at October 1582");
}

/* Version information */
static void
version()
{
    printf("icucal version %s (ICU version %s), created by Stephen F. Booth.\n", 
        CAL_VERSION, U_ICU_VERSION); 
    puts(U_COPYRIGHT_STRING);
}

static void
cal(int32_t month,
    int32_t year,
    UBool useLongNames,
    UErrorCode *status)
{
    UCalendar *c;
    UChar *days [DAY_COUNT];
    UChar *months [MONTH_COUNT];
    int32_t fdow;
    
    if(U_FAILURE(*status)) return;
    
    /* Create a new calendar */
    c = ucal_open(0, -1, uloc_getDefault(), UCAL_TRADITIONAL, status);
    
    /* Determine if we are printing a calendar for one month or for a year */
    
    /* Print an entire year */
    if(month == -1 && year != -1) {
        
        /* Set the year */
        ucal_set(c, UCAL_YEAR, year);
        
        /* Determine the first day of the week */
        fdow = ucal_getAttribute(c, UCAL_FIRST_DAY_OF_WEEK);
        
        /* Print the calendar for the year */
        print_year(c, days, months, useLongNames, fdow, status);
    }
    
    /* Print only one month */
    else {
        
        /* Set the month and the year, if specified */
        if(month != -1)
            ucal_set(c, UCAL_MONTH, month);
        if(year != -1)
            ucal_set(c, UCAL_YEAR, year);
        
        /* Determine the first day of the week */
        fdow = ucal_getAttribute(c, UCAL_FIRST_DAY_OF_WEEK);
        
        /* Print the calendar for the month */
        print_month(c, days, useLongNames, fdow, status);
    }
    
    /* Clean up */
    ucal_close(c);
}
/*
 * Get a set of DateFormat symbols of a given type.
 *
 * lowestIndex is the index of the first symbol to fetch.
 * (e.g. it will be one to fetch day names, since Sunday is
 *  day 1 *not* day 0.)
 *
 * firstIndex is the index of the symbol to place first in
 * the output array. This is used when fetching day names
 * in locales where the week doesn't start on Sunday.
 */
static void get_symbols(const UDateFormat *fmt,
                        UDateFormatSymbolType type,
                        UChar *array[],
                        int32_t arrayLength,
                        int32_t lowestIndex,
                        int32_t firstIndex,
                        UErrorCode *status)
{
    int32_t count, i;
    
    if (U_FAILURE(*status)) {
        return;
    }

    count = udat_countSymbols(fmt, type);

    if(count != arrayLength + lowestIndex) {
        return;
    }

    for(i = 0; i < arrayLength; i++) {
        int32_t idx = (i + firstIndex) % arrayLength;
        int32_t size = 1 + udat_getSymbols(fmt, type, idx + lowestIndex, NULL, 0, status);
        
        array[idx] = (UChar *) malloc(sizeof(UChar) * size);

        *status = U_ZERO_ERROR;
        udat_getSymbols(fmt, type, idx + lowestIndex, array[idx], size, status);
    }
}

/* Free the symbols allocated by get_symbols(). */
static void free_symbols(UChar *array[],
                         int32_t arrayLength)
{
    int32_t i;

    for(i = 0; i < arrayLength; i++) {
        free(array[i]);
    }
}

/* Get the day names for the specified locale, in either long or short
form.  Also, reorder the days so that they are in the proper order
for the locale (not all locales begin weeks on Sunday; in France,
weeks start on Monday) */
static void
get_days(const UDateFormat *fmt,
         UChar *days [],
         UBool useLongNames,
         int32_t fdow,
         UErrorCode *status)
{
    UDateFormatSymbolType dayType = (useLongNames ? UDAT_WEEKDAYS : UDAT_SHORT_WEEKDAYS);
    
    if(U_FAILURE(*status))
        return;
    
    /* fdow is 1-based */
    --fdow;

    get_symbols(fmt, dayType, days, DAY_COUNT, 1, fdow, status);
}

static void free_days(UChar *days[])
{
    free_symbols(days, DAY_COUNT);
}

/* Get the month names for the specified locale, in either long or
short form. */
static void
get_months(const UDateFormat *fmt,
           UChar *months [],
           UBool useLongNames,
           UErrorCode *status)
{
    UDateFormatSymbolType monthType = (useLongNames ? UDAT_MONTHS : UDAT_SHORT_MONTHS);
    
    if(U_FAILURE(*status))
        return;
    
    get_symbols(fmt, monthType, months, MONTH_COUNT - 1, 0, 0, status); /* some locales have 13 months, no idea why */
}

static void free_months(UChar *months[])
{
    free_symbols(months, MONTH_COUNT - 1);
}

/* Indent a certain number of spaces */
static void
indent(int32_t count,
       FILE *f)
{
    char c [BUF_SIZE];

    if(count <= 0)
    {
        return;
    }
    
    if(count < BUF_SIZE) {
        memset(c, (int)' ', count);
        fwrite(c, sizeof(char), count, f);
    }
    else {
        int32_t i;
        for(i = 0; i < count; ++i)
            putc(' ', f);
    }
}

/* Print the days */
static void
print_days(UChar *days [],
           FILE *f,
           UErrorCode *status)
{
    int32_t i;
    
    if(U_FAILURE(*status)) return;
    
    /* Print the day names */
    for(i = 0; i < DAY_COUNT; ++i) {
        uprint(days[i], f, status);
        putc(' ', f);
    }
}

/* Print out a calendar for c's current month */
static void
print_month(UCalendar *c, 
            UChar *days [], 
            UBool useLongNames,
            int32_t fdow,
            UErrorCode *status)
{
    int32_t width, pad, i, day;
    int32_t lens [DAY_COUNT];
    int32_t firstday, current;
    UNumberFormat *nfmt;
    UDateFormat *dfmt;
    UChar s [BUF_SIZE];
    const UChar *pat = (useLongNames ? sLongPat : sShortPat);
    int32_t len = (useLongNames ? 9 : 8);
    
    if(U_FAILURE(*status)) return;
    
    
    /* ========== Generate the header containing the month and year */
    
    /* Open a formatter with a month and year only pattern */
    dfmt = udat_open(UDAT_PATTERN,UDAT_PATTERN,NULL,NULL,0,pat, len,status);
    
    /* Format the date */
    udat_format(dfmt, ucal_getMillis(c, status), s, BUF_SIZE, 0, status);
    
    
    /* ========== Get the day names */
    get_days(dfmt, days, useLongNames, fdow, status);

    /* ========== Print the header */
    
    /* Calculate widths for justification */
    width = 6; /* 6 spaces, 1 between each day name */
    for(i = 0; i < DAY_COUNT; ++i) {
        lens[i] = u_strlen(days[i]);
        width += lens[i];
    }
    
    /* Print the header, centered among the day names */
    pad = width - u_strlen(s);
    indent(pad / 2, stdout);
    uprint(s, stdout, status);
    putc('\n', stdout);
    
    
    /* ========== Print the day names */
    
    print_days(days, stdout, status);
    putc('\n', stdout);
    
    
    /* ========== Print the calendar */
    
    /* Get the first of the month */
    ucal_set(c, UCAL_DATE, 1);
    firstday = ucal_get(c, UCAL_DAY_OF_WEEK, status);
    
    /* The day of the week for the first day of the month is based on
    1-based days of the week, which were also reordered when placed
    in the days array.  Account for this here by offsetting by the
    first day of the week for the locale, which is also 1-based. */
    firstday -= fdow;
    
    /* Open the formatter */
    nfmt = unum_open(UNUM_DECIMAL, NULL,0,NULL,NULL, status);
    
    /* Indent the correct number of spaces for the first week */
    current = firstday;
    if(current < 0)
    {
       current += 7;
    }
    for(i = 0; i < current; ++i)
        indent(lens[i] + 1, stdout);
    
    /* Finally, print out the days */
    day = ucal_get(c, UCAL_DATE, status);
    do {
        
        /* Format the current day string */
        unum_format(nfmt, day, s, BUF_SIZE, 0, status);
        
        /* Calculate the justification and indent */
        pad = lens[current] - u_strlen(s);
        indent(pad, stdout);
        
        /* Print the day number out, followed by a space */
        uprint(s, stdout, status);
        putc(' ', stdout);
        
        /* Update the current day */
        ++current;
        current %= DAY_COUNT;
        
        /* If we're at day 0 (first day of the week), insert a newline */
        if(current == 0) {
            putc('\n', stdout);
        }
        
        /* Go to the next day */
        ucal_add(c, UCAL_DATE, 1, status);
        day = ucal_get(c, UCAL_DATE, status);
        
    } while(day != 1);
    
    /* Output a trailing newline */
    putc('\n', stdout);
    
    /* Clean up */
    free_days(days);
    unum_close(nfmt);
    udat_close(dfmt);
}

/* Print out a calendar for c's current year */
static void
print_year(UCalendar *c, 
           UChar *days [], 
           UChar *months [],
           UBool useLongNames, 
           int32_t fdow, 
           UErrorCode *status)
{
    int32_t width, pad, i, j;
    int32_t lens [DAY_COUNT];
    UNumberFormat *nfmt;
    UDateFormat *dfmt;
    UChar s [BUF_SIZE];
    const UChar pat [] = { 0x0079, 0x0079, 0x0079, 0x0079 };
    int32_t len = 4;
    UCalendar  *left_cal, *right_cal;
    int32_t left_day, right_day;
    int32_t left_firstday, right_firstday, left_current, right_current;
    int32_t left_month, right_month;
    
    if(U_FAILURE(*status)) return;
    
    /* Alias */
    left_cal = c;
    
    /* ========== Generate the header containing the year (only) */
    
    /* Open a formatter with a month and year only pattern */
    dfmt = udat_open(UDAT_PATTERN,UDAT_PATTERN,NULL,NULL,0,pat, len, status);
    
    /* Format the date */
    udat_format(dfmt, ucal_getMillis(left_cal, status), s, BUF_SIZE, 0, status);
    
    /* ========== Get the month and day names */
    get_days(dfmt, days, useLongNames, fdow, status);
    get_months(dfmt, months, useLongNames, status);

    /* ========== Print the header, centered */
    
    /* Calculate widths for justification */
    width = 6; /* 6 spaces, 1 between each day name */
    for(i = 0; i < DAY_COUNT; ++i) {
        lens[i] = u_strlen(days[i]);
        width += lens[i];
    }
    
    /* width is the width for 1 calendar; we are displaying in 2 cols
    with MARGIN_WIDTH spaces between months */
    
    /* Print the header, centered among the day names */
    pad = 2 * width + MARGIN_WIDTH - u_strlen(s);
    indent(pad / 2, stdout);
    uprint(s, stdout, status);
    putc('\n', stdout);
    putc('\n', stdout);
    
    /* Generate a copy of the calendar to use */
    right_cal = ucal_open(0, -1, uloc_getDefault(), UCAL_TRADITIONAL, status);
    ucal_setMillis(right_cal, ucal_getMillis(left_cal, status), status);
    
    /* Open the formatter */
    nfmt = unum_open(UNUM_DECIMAL,NULL, 0,NULL,NULL, status);
    
    /* ========== Calculate and display the months, two at a time */
    for(i = 0; i < MONTH_COUNT - 1; i += 2) {
        
        /* Print the month names for the two current months */
        pad = width - u_strlen(months[i]);
        indent(pad / 2, stdout);
        uprint(months[i], stdout, status);
        indent(pad / 2 + MARGIN_WIDTH, stdout);
        pad = width - u_strlen(months[i + 1]);
        indent(pad / 2, stdout);
        uprint(months[i + 1], stdout, status);
        putc('\n', stdout);
        
        /* Print the day names, twice  */
        print_days(days, stdout, status);
        indent(MARGIN_WIDTH, stdout);
        print_days(days, stdout, status);
        putc('\n', stdout);
        
        /* Setup the two calendars */
        ucal_set(left_cal, UCAL_MONTH, i);
        ucal_set(left_cal, UCAL_DATE, 1);
        ucal_set(right_cal, UCAL_MONTH, i + 1);
        ucal_set(right_cal, UCAL_DATE, 1);
        
        left_firstday = ucal_get(left_cal, UCAL_DAY_OF_WEEK, status);
        right_firstday = ucal_get(right_cal, UCAL_DAY_OF_WEEK, status);
        
        /* The day of the week for the first day of the month is based on
        1-based days of the week.  However, the days were reordered
        when placed in the days array.  Account for this here by
        offsetting by the first day of the week for the locale, which
        is also 1-based. */
        
        /* We need to mod by DAY_COUNT since fdow can be > firstday.  IE,
        if fdow = 2 = Monday (like in France) and the first day of the
        month is a 1 = Sunday, we want firstday to be 6, not -1 */
        left_firstday += (DAY_COUNT - fdow);
        left_firstday %= DAY_COUNT;
        
        right_firstday += (DAY_COUNT - fdow);
        right_firstday %= DAY_COUNT;
        
        left_current = left_firstday;
        right_current = right_firstday;
        
        left_day = ucal_get(left_cal, UCAL_DATE, status);
        right_day = ucal_get(right_cal, UCAL_DATE, status);
        
        left_month = ucal_get(left_cal, UCAL_MONTH, status);
        right_month = ucal_get(right_cal, UCAL_MONTH, status);
        
        /* Finally, print out the days */
        while(left_month == i || right_month == i + 1) {
            
        /* If the left month is finished printing, but the right month
        still has days to be printed, indent the width of the days
            strings and reset the left calendar's current day to 0 */
            if(left_month != i && right_month == i + 1) {
                indent(width + 1, stdout);
                left_current = 0;
            }
            
            while(left_month == i) {
                
            /* If the day is the first, indent the correct number of
                spaces for the first week */
                if(left_day == 1) {
                    for(j = 0; j < left_current; ++j)
                        indent(lens[j] + 1, stdout);
                }
                
                /* Format the current day string */
                unum_format(nfmt, left_day, s, BUF_SIZE, 0, status);
                
                /* Calculate the justification and indent */
                pad = lens[left_current] - u_strlen(s);
                indent(pad, stdout);
                
                /* Print the day number out, followed by a space */
                uprint(s, stdout, status);
                putc(' ', stdout);
                
                /* Update the current day */
                ++left_current;
                left_current %= DAY_COUNT;
                
                /* Go to the next day */
                ucal_add(left_cal, UCAL_DATE, 1, status);
                left_day = ucal_get(left_cal, UCAL_DATE, status);
                
                /* Determine the month */
                left_month = ucal_get(left_cal, UCAL_MONTH, status);
                
                /* If we're at day 0 (first day of the week), break and go to
                the next month */
                if(left_current == 0) {
                    break;
                }
            }
            
            /* If the current day isn't 0, indent to make up for missing
            days at the end of the month */
            if(left_current != 0) {
                for(j = left_current; j < DAY_COUNT; ++j)
                    indent(lens[j] + 1, stdout);
            }
            
            /* Indent between the two months */
            indent(MARGIN_WIDTH, stdout);
            
            while(right_month == i + 1) {
                
            /* If the day is the first, indent the correct number of
                spaces for the first week */
                if(right_day == 1) {
                    for(j = 0; j < right_current; ++j)
                        indent(lens[j] + 1, stdout);
                }
                
                /* Format the current day string */
                unum_format(nfmt, right_day, s, BUF_SIZE, 0, status);
                
                /* Calculate the justification and indent */
                pad = lens[right_current] - u_strlen(s);
                indent(pad, stdout);
                
                /* Print the day number out, followed by a space */
                uprint(s, stdout, status);
                putc(' ', stdout);
                
                /* Update the current day */
                ++right_current;
                right_current %= DAY_COUNT;
                
                /* Go to the next day */
                ucal_add(right_cal, UCAL_DATE, 1, status);
                right_day = ucal_get(right_cal, UCAL_DATE, status);
                
                /* Determine the month */
                right_month = ucal_get(right_cal, UCAL_MONTH, status);
                
                /* If we're at day 0 (first day of the week), break out */
                if(right_current == 0) {
                    break;
                }
                
            }
            
            /* Output a newline */
            putc('\n', stdout);
        }
        
        /* Output a trailing newline */
        putc('\n', stdout);
  }
  
  /* Clean up */
  free_months(months);
  free_days(days);
  udat_close(dfmt);
  unum_close(nfmt);
  ucal_close(right_cal);
}

#endif
share/doc/alt-libicu65-devel/samples/cal/cal.vcxproj000064400000022346150470307440016302 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{F7659D77-09CF-4FE9-ACEE-927287AA9509}</ProjectGuid>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <!-- Options that are common to *all* project configurations -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <WarningLevel>Level3</WarningLevel>
      <DisableLanguageExtensions>false</DisableLanguageExtensions>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/cal.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/cal.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/cal.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/cal.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Release/cal.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/cal.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/cal.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/cal.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/cal.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/cal.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/cal.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/cal.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TypeLibraryName>.\x64\Debug/cal.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/cal.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <BrowseInformation>true</BrowseInformation>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/cal.exe</OutputFile>
      <AdditionalLibraryDirectories>../../../lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/cal.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="cal.c" />
    <ClCompile Include="uprint.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uprint.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/cal/cal.vcxproj.filters000064400000002071150470307440017742 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{3e036a59-b898-49e5-9d06-4878387b4a02}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{ace55cd2-56c0-4c6d-965b-8866c5396b04}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{823558d3-c303-4670-9e92-d8f5c02e39e2}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="cal.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="uprint.c">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="uprint.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/cal/Makefile.in000064400000003265150470307440016172 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/cal
## Copyright (c) 1999-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@

## Install directory information
top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Build directory information
subdir = samples/cal

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET = icucal$(EXEEXT)

CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)

OBJECTS = uprint.o cal.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local

all-local: $(TARGET)

install-local: all-local

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(OBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local:
	-$(INVOKE) ./$(TARGET)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

$(TARGET) : $(OBJECTS)
	$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
	$(POST_BUILD_STEP)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/cal/uprint.c000064400000004034150470307440015605 0ustar00/*
***********************************************************************
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html#License
***********************************************************************
**********************************************************************
* Copyright (C) 1998-2001, International Business Machines Corporation
* and others.  All Rights Reserved.
**********************************************************************
*
* File date.c
*
* Modification History:
*
*   Date        Name        Description
*   06/14/99    stephen     Creation.
*******************************************************************************
*/

#include "uprint.h"
#include "unicode/ucnv.h"
#include "unicode/ustring.h"

#define BUF_SIZE 128

/* Print a ustring to the specified FILE* in the default codepage */
void
uprint(const UChar *s,
       FILE *f,
       UErrorCode *status)
{
  /* converter */
  UConverter *converter;
  char buf [BUF_SIZE];
  int32_t sourceLen;
  const UChar *mySource;
  const UChar *mySourceEnd;
  char *myTarget;
  int32_t arraySize;

  if(s == 0) return;

  /* set up the conversion parameters */
  sourceLen    = u_strlen(s);
  mySource     = s;
  mySourceEnd  = mySource + sourceLen;
  myTarget     = buf;
  arraySize    = BUF_SIZE;

  /* open a default converter */
  converter = ucnv_open(0, status);
  
  /* if we failed, clean up and exit */
  if(U_FAILURE(*status)) goto finish;
  
  /* perform the conversion */
  do {
    /* reset the error code */
    *status = U_ZERO_ERROR;

    /* perform the conversion */
    ucnv_fromUnicode(converter, &myTarget, myTarget + arraySize,
             &mySource, mySourceEnd, NULL,
             TRUE, status);

    /* Write the converted data to the FILE* */
    fwrite(buf, sizeof(char), myTarget - buf, f);

    /* update the conversion parameters*/
    myTarget     = buf;
    arraySize    = BUF_SIZE;
  }
  while(*status == U_BUFFER_OVERFLOW_ERROR); 

 finish:
  
  /* close the converter */
  ucnv_close(converter);
}
share/doc/alt-libicu65-devel/samples/cal/cal.sln000064400000002254150470307450015400 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cal", "cal.vcxproj", "{F7659D77-09CF-4FE9-ACEE-927287AA9509}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.ActiveCfg = Debug|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|Win32.Build.0 = Debug|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.ActiveCfg = Debug|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Debug|x64.Build.0 = Debug|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.ActiveCfg = Release|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|Win32.Build.0 = Release|Win32
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.ActiveCfg = Release|x64
		{F7659D77-09CF-4FE9-ACEE-927287AA9509}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/cal/readme.txt000064400000004333150470307450016121 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
icucal: a sample program which displays the calendar.

This sample demonstrates
         Formatting a calendar
         Outputting text in the default codepage to the console

         
Files:
    cal.c                      Main source file
    uprint.h                   codepage output convenience header
    uprint.h                   codepage output convenience implementation
    cal.sln                    Windows MSVC workspace.  Double-click this to get started.
    cal.vcproj                 Windows MSVC project file

To Build icucal on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\cal\cal.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the cal directory, e.g.
            cd c:\icu\source\samples\cal\debug
    4.  Run it
            cal

To Build on Unixes
    1.  Build ICU.  icucal is built automatically by default unless samples are turned off.
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
           
 To Run on Unixes
           cd <icu directory>/source/samples/cal
           
           gmake check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           cal
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/cal/uprint.h000064400000001711150470307450015612 0ustar00/*
***********************************************************************
* © 2016 and later: Unicode, Inc. and others.
* License & terms of use: http://www.unicode.org/copyright.html#License
***********************************************************************
**********************************************************************
* Copyright (C) 1998-2004, International Business Machines Corporation
* and others.  All Rights Reserved.
**********************************************************************
*
* File uprint.h
*
* Modification History:
*
*   Date        Name        Description
*   06/14/99    stephen     Creation.
*******************************************************************************
*/

#ifndef UPRINT_H
#define UPRINT_H 1

#include <stdio.h>

#include "unicode/utypes.h"

/* Print a ustring to the specified FILE* in the default codepage */
U_CFUNC void uprint(const UChar *s, FILE *f, UErrorCode *status);

#endif /* ! UPRINT_H */
share/doc/alt-libicu65-devel/samples/props/props.sln000064400000002260150470307450016405 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "props", "props.vcxproj", "{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.ActiveCfg = Debug|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|Win32.Build.0 = Debug|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.ActiveCfg = Debug|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Debug|x64.Build.0 = Debug|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.ActiveCfg = Release|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|Win32.Build.0 = Release|Win32
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.ActiveCfg = Release|x64
		{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/props/props.vcxproj.filters000064400000001560150470307450020755 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{2e5ed8fa-dbb6-411e-906e-128c69e6ab1f}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{07db40cb-b9b6-43df-b10e-240fb0d4747b}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4526d88f-8075-44ec-8845-dcb0bfbb23fa}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="props.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/props/Makefile000064400000001152150470307450016163 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (c) 2000-2002 IBM, Inc. and others
# sample code makefile

# Usage:
#  - configure, build, install ICU (make install)
#  - make sure "icu-config" (in the ICU installed bin directory) is on
#     the path
#  - do 'make' in this directory

#### definitions
# Name of your target
TARGET=props

# All object files (C or C++)
OBJECTS=props.o

#### rules
# Load in standard makefile definitions
include ../defs.mk

# the actual rules (this is a simple sample)
include ../rules.mk
share/doc/alt-libicu65-devel/samples/props/props.vcxproj000064400000024665150470307450017321 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{ABE4CD17-8ED8-4DE6-ABDE-CDEFC220CF60}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/props.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/props.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/props.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x86\Release/props.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Release/props.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/props.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuuc.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/props.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ProgramDatabaseFile>.\x64\Release/props.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/props.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/props.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/props.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/props.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Debug/props.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/props.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <Link>
      <AdditionalDependencies>icuucd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/props.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/props.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="props.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/props/readme.txt000064400000004151150470307450016523 0ustar00Copyright (C) 2016 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html#License

Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
props: Unicode Character Properties

This sample demonstrates
         Using ICU to determine the properties of Unicode characters

         
Files:
    props.cpp      Main source file in C++
    props.sln      Windows MSVC workspace.  Double-click this to get started.
    props.vcproj   Windows MSVC project file

To Build props on Windows
    1.  Install and build ICU
    2.  In MSVC, open the workspace file icu\samples\props\props.sln
    3.  Choose a Debug or Release build.
    4.  Build.
	
To Run on Windows
    1.  Start a command shell window
    2.  Add ICU's bin directory to the path, e.g.
            set PATH=c:\icu\bin;%PATH%
        (Use the path to where ever ICU is on your system.)
    3.  cd into the props directory, e.g.
            cd c:\icu\source\samples\props\debug
    4.  Run it
            props

To Build on Unixes
    1.  Build ICU.  
        Specify an ICU install directory when running configure,
        using the --prefix option.  The steps to build ICU will look something
        like this:
           cd <icu directory>/source
           runConfigureICU <platform-name> --prefix <icu install directory> [other options]
           gmake all
           
    2.  Install ICU, 
           gmake install
 
    3.  Compile
           cd <icu directory>/source/samples/props
           gmake ICU_PREFIX=<icu install directory)
           
 To Run on Unixes
           cd <icu directory>/source/samples/props
           
           gmake ICU_PREFIX=<icu install directory>  check
               -or- 

           export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
           props
           
           
 Note:  The name of the LD_LIBRARY_PATH variable is different on some systems.
        If in doubt, run the sample using "gmake check", and note the name of
        the variable that is used there.  LD_LIBRARY_PATH is the correct name
        for Linux and Solaris.

share/doc/alt-libicu65-devel/samples/props/props.cpp000064400000004422150470307450016375 0ustar00/*
*******************************************************************************
*
*   © 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2000, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  props.cpp
*   encoding:   UTF-8
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2000sep22
*   created by: Markus W. Scherer
*
*   This file contains sample code that illustrates the use of the ICU APIs
*   for Unicode character properties.
*/

#define __STDC_FORMAT_MACROS 1
#include <inttypes.h>

#include <stdio.h>
#include "unicode/utypes.h"
#include "unicode/uchar.h"
#include "unicode/uclean.h"

static void
printProps(UChar32 codePoint) {
    char buffer[100];
    UErrorCode errorCode;

    /* get the character name */
    errorCode=U_ZERO_ERROR;
    u_charName(codePoint, U_UNICODE_CHAR_NAME, buffer, sizeof(buffer), &errorCode);

    /* print the code point and the character name */
    printf("U+%04" PRId32 "\t%s\n", codePoint, buffer);

    /* print some properties */
    printf("  general category (numeric enum value): %u\n", u_charType(codePoint));

    /* note: these APIs do not provide the data from SpecialCasing.txt */
    printf("  is lowercase: %d  uppercase: U+%04" PRId32 "\n", u_islower(codePoint), u_toupper(codePoint));

    printf("  is digit: %d  decimal digit value: %d\n", u_isdigit(codePoint), u_charDigitValue(codePoint));

    printf("  BiDi directional category (numeric enum value): %u\n", u_charDirection(codePoint));
}

/* Note: In ICU 2.0, the Unicode class is deprecated - it is a pure wrapper around the C APIs above. */

extern int
main(int argc, const char *argv[]) {
    static const UChar32
    codePoints[]={
        0xd, 0x20, 0x2d, 0x35, 0x65, 0x284, 0x665, 0x5678, 0x23456, 0x10317, 0x1D01F, 0x10fffd
    };
    int i;

    for(i=0; i<sizeof(codePoints)/sizeof(codePoints[0]); ++i) {
        printProps(codePoints[i]);
        puts("");
    }

    u_cleanup();
    return 0;
}
share/doc/alt-libicu65-devel/samples/layout/LayoutSample.rc000064400000006572150470307450017655 0ustar00//Microsoft Developer Studio generated resource script.
//
// Copyright (C) 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
/*
*******************************************************************************
*
*   Copyright (C) 2016 and later: Unicode, Inc. and others.
*   License & terms of use: http://www.unicode.org/copyright.html#License
*
*******************************************************************************
*******************************************************************************
*
*   Copyright (C) 2002-2003, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*/
#include <winresrc.h>

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

LAYOUTSAMPLE MENU DISCARDABLE 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "&New Sample\tCtrl+N",         IDM_FILE_NEWSAMPLE
        MENUITEM "&Open...\tCtrl+O",            IDM_FILE_OPEN
        MENUITEM SEPARATOR
        MENUITEM "&Close\tCtrl+W",              IDM_FILE_CLOSE
        MENUITEM "E&xit\tCtrl+Q",               IDM_FILE_EXIT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About Layout Sample...",     IDM_HELP_ABOUTLAYOUTSAMPLE
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

LAYOUTSAMPLE ACCELERATORS DISCARDABLE 
BEGIN
    "N",            IDM_FILE_NEWSAMPLE,     VIRTKEY, CONTROL, NOINVERT
    "O",            IDM_FILE_OPEN,          VIRTKEY, CONTROL, NOINVERT
    "Q",            IDM_FILE_EXIT,          VIRTKEY, CONTROL, NOINVERT
    "W",            IDM_FILE_CLOSE,         VIRTKEY, CONTROL, NOINVERT
END


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "/*\r\n"
    "*******************************************************************************\r\n"
    "*\r\n"
    "*   Copyright (C) 2002-2003, International Business Machines\r\n"
    "*   Corporation and others.  All Rights Reserved.\r\n"
    "*\r\n"
    "*******************************************************************************\r\n"
    "*/\r\n"
    "#include <winresrc.h>\r\n"
    "\0"
END

3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

share/doc/alt-libicu65-devel/samples/layout/FontTableCache.h000064400000002101150470307450017643 0ustar00/*
 *************************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 **********************************************************************
 *   Copyright (C) 2003-2008, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 **********************************************************************
 */

#ifndef __FONTTABLECACHE_H

#define __FONTTABLECACHE_H

#include "layout/LETypes.h"

struct FontTableCacheEntry;

class FontTableCache
{
public:
    FontTableCache();

    virtual ~FontTableCache();

    const void *find(LETag tableTag) const;

protected:
    virtual const void *readFontTable(LETag tableTag) const = 0;
    virtual void freeFontTable(const void *table) const;

private:

    void add(LETag tableTag, const void *table);

    FontTableCacheEntry *fTableCache;
    le_int32 fTableCacheCurr;
    le_int32 fTableCacheSize;
};

#endif

share/doc/alt-libicu65-devel/samples/layout/Makefile000064400000005654150470307450016350 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/layout
## Copyright (c) 2001-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information
srcdir = .
top_srcdir = ../..

top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Platform-specific setup
include $(top_srcdir)/config/mh-linux

## Build directory information
subdir = samples/layout

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET  = gnomelayout
CTARGET = cgnomelayout

CPPFLAGS += -DLE_USE_CMEMORY `pkg-config --cflags libgnomeui-2.0 freetype2 cairo` -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/layoutex -I$(top_srcdir)/layout -I$(top_srcdir) -g

LIBS = $(LIBICULX) $(LIBICULE) $(LIBICUUC) $(LIBICUI18N) -lpthread -ldl -lm   `pkg-config --libs libgnomeui-2.0 freetype2 cairo`

COMMON=cmaps.o UnicodeReader.o GnomeGUISupport.o FontMap.o GnomeFontMap.o ScriptCompositeFontInstance.o GnomeFontInstance.o FontTableCache.o  paragraph.o

OBJECTS=gnomelayout.o

COBJECTS=gnomeglue.o pflow.o rsurface.o ucreader.o cgnomelayout.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local	\
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local
c-all: c-all-local
c-check: c-all c-check-local

all-local: $(TARGET)

c-all-local: $(CTARGET)

install-local:

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(COMMON) $(OBJECTS) $(COBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local: all-local
	$(INVOKE) ./$(TARGET)

c-check-local: c-all-local
	$(INVOKE) ./$(CTARGET)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

# The following two rules make it possible to
# compile scrptrun.cpp from the extra/scrptrun directory.
# they were copied from the default rules in mh-linux which
# is probably OK because this sample will only run on Linux...
scrptrun.d: $(top_srcdir)/extra/scrptrun/scrptrun.cpp
	$(SHELL) -ec '$(GEN_DEPS.cc) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

scrptrun.o: $(top_srcdir)/extra/scrptrun/scrptrun.cpp
	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<

$(TARGET) : $(COMMON) $(OBJECTS)
	$(LINK.cc) -o $@ $^ $(LIBS)

$(CTARGET) : $(COMMON) $(COBJECTS)
	$(LINK.cc) -o $@ $^ $(LIBS)

invoke:
	ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/layout/paragraph.cpp000064400000017125150470307450017355 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2015, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  Paragraph.cpp
 *
 *   created on: 09/06/2000
 *   created by: Eric R. Mader
 */

#include "unicode/utypes.h"
#include "unicode/uchar.h"
#include "unicode/ubidi.h"
#include "unicode/ustring.h"

#include "layout/ParagraphLayout.h"

#include "RenderingSurface.h"

#include "paragraph.h"
#include "UnicodeReader.h"

#define MARGIN 10
#define LINE_GROW 32
#define PARA_GROW 8

#define CH_LF 0x000A
#define CH_CR 0x000D
#define CH_LSEP 0x2028
#define CH_PSEP 0x2029

static LEUnicode *skipLineEnd(LEUnicode *ptr)
{
    if (ptr[0] == CH_CR && ptr[1] == CH_LF) {
        ptr += 1;
    }

    return ptr + 1;
}

static le_int32 findRun(const RunArray *runArray, le_int32 offset)
{
    le_int32 runCount = runArray->getCount();

    for (le_int32 run = 0; run < runCount; run += 1) {
        if (runArray->getLimit(run) > offset) {
            return run;
        }
    }

    return -1;
}

static void subsetFontRuns(const FontRuns *fontRuns, le_int32 start, le_int32 limit, FontRuns *sub)
{
    le_int32 startRun = findRun(fontRuns, start);
    le_int32 endRun   = findRun(fontRuns, limit - 1);

    sub->reset();

    for (le_int32 run = startRun; run <= endRun; run += 1) {
        const LEFontInstance *runFont = fontRuns->getFont(run);
        le_int32 runLimit = fontRuns->getLimit(run) - start;

        if (run == endRun) {
            runLimit = limit - start;
        }

        sub->add(runFont, runLimit);
    }
}

Paragraph::Paragraph(const LEUnicode chars[], int32_t charCount, const FontRuns *fontRuns, LEErrorCode &status)
  : fParagraphLayout(NULL), fParagraphCount(0), fParagraphMax(PARA_GROW), fParagraphGrow(PARA_GROW),
    fLineCount(0), fLinesMax(LINE_GROW), fLinesGrow(LINE_GROW), fLines(NULL), fChars(NULL),
    fLineHeight(-1), fAscent(-1), fWidth(-1), fHeight(-1), fParagraphLevel(UBIDI_DEFAULT_LTR)
{
    static const LEUnicode separators[] = {CH_LF, CH_CR, CH_LSEP, CH_PSEP, 0x0000};

	if (LE_FAILURE(status)) {
		return;
	}

    le_int32 ascent  = 0;
    le_int32 descent = 0;
    le_int32 leading = 0;

	LocaleRuns *locales = NULL;
    FontRuns fr(0);

    fLines = LE_NEW_ARRAY(const ParagraphLayout::Line *, fLinesMax);
    fParagraphLayout = LE_NEW_ARRAY(ParagraphLayout *, fParagraphMax);

    fChars = LE_NEW_ARRAY(LEUnicode, charCount + 1);
    LE_ARRAY_COPY(fChars, chars, charCount);
    fChars[charCount] = 0;

    LEUnicode *pStart = &fChars[0];

    while (*pStart != 0) {
        LEUnicode *pEnd = u_strpbrk(pStart, separators);
        le_int32 pAscent, pDescent, pLeading;
        ParagraphLayout *paragraphLayout = NULL;

        if (pEnd == NULL) {
            pEnd = &fChars[charCount];
        }

        if (pEnd != pStart) {
            subsetFontRuns(fontRuns, pStart - fChars, pEnd - fChars, &fr);

            paragraphLayout = new ParagraphLayout(pStart, pEnd - pStart, &fr, NULL, NULL, locales, fParagraphLevel, FALSE, status);

            if (LE_FAILURE(status)) {
                delete paragraphLayout;
                break; // return? something else?
            }

            if (fParagraphLevel == UBIDI_DEFAULT_LTR) {
                fParagraphLevel = paragraphLayout->getParagraphLevel();
            }

            pAscent  = paragraphLayout->getAscent();
            pDescent = paragraphLayout->getDescent();
            pLeading = paragraphLayout->getLeading();

            if (pAscent > ascent) {
                ascent = pAscent;
            }

            if (pDescent > descent) {
                descent = pDescent;
            }

            if (pLeading > leading) {
                leading = pLeading;
            }
        }

        if (fParagraphCount >= fParagraphMax) {
            fParagraphLayout = (ParagraphLayout **) LE_GROW_ARRAY(fParagraphLayout, fParagraphMax + fParagraphGrow);
            fParagraphMax += fParagraphGrow;
        }

        fParagraphLayout[fParagraphCount++] = paragraphLayout;

        if (*pEnd == 0) {
            break;
        }

        pStart = skipLineEnd(pEnd);
    }

    fLineHeight = ascent + descent + leading;
    fAscent     = ascent;
}

Paragraph::~Paragraph()
{
    for (le_int32 line = 0; line < fLineCount; line += 1) {
        delete /*(LineInfo *)*/ fLines[line];
    }

    for (le_int32 paragraph = 0; paragraph < fParagraphCount; paragraph += 1) {
        delete fParagraphLayout[paragraph];
    }

    LE_DELETE_ARRAY(fLines);
    LE_DELETE_ARRAY(fParagraphLayout);
    LE_DELETE_ARRAY(fChars);
}

void Paragraph::addLine(const ParagraphLayout::Line *line)
{
    if (fLineCount >= fLinesMax) {
        fLines = (const ParagraphLayout::Line **) LE_GROW_ARRAY(fLines, fLinesMax + fLinesGrow);
        fLinesMax += fLinesGrow;
    }

    fLines[fLineCount++] = line;
}

void Paragraph::breakLines(le_int32 width, le_int32 height)
{
    fHeight = height;

    // don't re-break if the width hasn't changed
    if (fWidth == width) {
        return;
    }

    fWidth  = width;

    float lineWidth = (float) (width - 2 * MARGIN);
    const ParagraphLayout::Line *line;

    // Free the old LineInfo's...
    for (le_int32 li = 0; li < fLineCount; li += 1) {
        delete fLines[li];
    }

    fLineCount = 0;

    for (le_int32 p = 0; p < fParagraphCount; p += 1) {
        ParagraphLayout *paragraphLayout = fParagraphLayout[p];

        if (paragraphLayout != NULL) {
            paragraphLayout->reflow();
            while ((line = paragraphLayout->nextLine(lineWidth)) != NULL) {
                addLine(line);
            }
        } else {
            addLine(NULL);
        }
    }
}

void Paragraph::draw(RenderingSurface *surface, le_int32 firstLine, le_int32 lastLine)
{
    le_int32 li, x, y;

    x = MARGIN;
    y = fAscent;

    for (li = firstLine; li <= lastLine; li += 1) {
        const ParagraphLayout::Line *line = fLines[li];

        if (line != NULL) {
            le_int32 runCount = line->countRuns();
            le_int32 run;

		    if (fParagraphLevel == UBIDI_RTL) {
			    le_int32 lastX = line->getWidth();

			    x = (fWidth - lastX - MARGIN);
		    }


            for (run = 0; run < runCount; run += 1) {
                const ParagraphLayout::VisualRun *visualRun = line->getVisualRun(run);
                le_int32 glyphCount = visualRun->getGlyphCount();
                const LEFontInstance *font = visualRun->getFont();
                const LEGlyphID *glyphs = visualRun->getGlyphs();
                const float *positions = visualRun->getPositions();

                surface->drawGlyphs(font, glyphs, glyphCount, positions, x, y, fWidth, fHeight);
            }
        }

        y += fLineHeight;
    }
}

Paragraph *Paragraph::paragraphFactory(const char *fileName, const LEFontInstance *font, GUISupport *guiSupport)
{
    LEErrorCode status  = LE_NO_ERROR;
    le_int32 charCount;
    const UChar *text = UnicodeReader::readFile(fileName, guiSupport, charCount);
    Paragraph *result = NULL;

    if (text == NULL) {
        return NULL;
    }

    FontRuns  fontRuns(0);

    fontRuns.add(font, charCount);

    result = new Paragraph(text, charCount, &fontRuns, status);

	if (LE_FAILURE(status)) {
		delete result;
		result = NULL;
	}

    LE_DELETE_ARRAY(text);

    return result;    
}

share/doc/alt-libicu65-devel/samples/layout/GDIFontMap.cpp000064400000002514150470307450017274 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2003, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#include <windows.h>

#include "layout/LEFontInstance.h"

#include "GDIFontInstance.h"

#include "GUISupport.h"
#include "FontMap.h"
#include "GDIFontMap.h"

GDIFontMap::GDIFontMap(GDISurface *surface, const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status)
    : FontMap(fileName, pointSize, guiSupport, status), fSurface(surface)
{
    // nothing to do?
}

GDIFontMap::~GDIFontMap()
{
    // anything?
}

const LEFontInstance *GDIFontMap::openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status)
{
	LEFontInstance *result = new GDIFontInstance(fSurface, fontName, pointSize, status);

	if (LE_FAILURE(status)) {
		delete result;
		result = NULL;
	}

    return result;
}
share/doc/alt-libicu65-devel/samples/layout/rsurface.cpp000064400000001310150470307450017207 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#include "loengine.h"
#include "rsurface.h"

#include "LETypes.h"
#include "LEFontInstance.h"
#include "RenderingSurface.h"

U_CDECL_BEGIN

void rs_drawGlyphs(rs_surface *surface, const le_font *font, const LEGlyphID *glyphs, le_int32 count,
                   const float *positions, le_int32 x, le_int32 y, le_int32 width, le_int32 height)
{
    RenderingSurface *rs = (RenderingSurface *) surface;

    rs->drawGlyphs((const LEFontInstance *) font, glyphs, count, positions, x, y, width, height);
}

U_CDECL_END
share/doc/alt-libicu65-devel/samples/layout/cgnomelayout.c000064400000020710150470307450017550 0ustar00
/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 ****************************************************************************** *
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ****************************************************************************** *
 */

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H

#include "pflow.h"

#include "gnomeglue.h"

#include "arraymem.h"

struct Context
{
    long width;
    long height;
    pf_flow *paragraph;
};

typedef struct Context Context;

static FT_Library engine;
static gs_guiSupport *guiSupport;
static fm_fontMap *fontMap;
static le_font *font;

static GSList *appList = NULL;

GtkWidget *newSample(const gchar *fileName);
void       closeSample(GtkWidget *sample);

static void showabout(GtkWidget *widget, gpointer data)
{
    GtkWidget *aboutBox;
    const gchar *documentedBy[] = {NULL};
    const gchar *writtenBy[] = {
        "Eric Mader",
        NULL
    };

    aboutBox = gnome_about_new("Gnome Layout Sample",
                               "0.1",
                               "Copyright (C) 1998-2006 By International Business Machines Corporation and others. All Rights Reserved.",
                               "A simple demo of the ICU LayoutEngine.",
                               writtenBy,
                               documentedBy,
                               "",
                               NULL);

    gtk_widget_show(aboutBox);
}

#if 0
static void notimpl(GtkObject *object, gpointer data)
{
    gnome_ok_dialog("Not implemented...");
}
#endif

static gchar *prettyTitle(const gchar *path)
{
  const gchar *name  = g_basename(path);
  gchar *title = g_strconcat("Gnome Layout Sample - ", name, NULL);

  return title;
}

static void openOK(GtkObject *object, gpointer data)
{
  GtkFileSelection *fileselection = GTK_FILE_SELECTION(data);
  GtkWidget *app = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(fileselection), "app"));
  Context *context = (Context *) gtk_object_get_data(GTK_OBJECT(app), "context");
  gchar *fileName  = g_strdup(gtk_file_selection_get_filename(fileselection));
  pf_flow *newPara;

  gtk_widget_destroy(GTK_WIDGET(fileselection));

  newPara = pf_factory(fileName, font, guiSupport);

  if (newPara != NULL) {
    gchar *title = prettyTitle(fileName);
    GtkWidget *area = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(app), "area"));

    if (context->paragraph != NULL) {
      pf_close(context->paragraph);
    }

    context->paragraph = newPara;
    gtk_window_set_title(GTK_WINDOW(app), title);

    gtk_widget_hide(area);
    pf_breakLines(context->paragraph, context->width, context->height);
    gtk_widget_show_all(area);

    g_free(title);
  }

  g_free(fileName);
}

static void openfile(GtkObject *object, gpointer data)
{
  GtkWidget *app = GTK_WIDGET(data);
  GtkWidget *fileselection;
  GtkWidget *okButton;
  GtkWidget *cancelButton;

  fileselection =
    gtk_file_selection_new("Open File");

  gtk_object_set_data(GTK_OBJECT(fileselection), "app", app);

  okButton =
    GTK_FILE_SELECTION(fileselection)->ok_button;

  cancelButton =
    GTK_FILE_SELECTION(fileselection)->cancel_button;

  gtk_signal_connect(GTK_OBJECT(fileselection), "destroy",
             GTK_SIGNAL_FUNC(gtk_main_quit), NULL);

  gtk_signal_connect(GTK_OBJECT(okButton), "clicked",
             GTK_SIGNAL_FUNC(openOK), fileselection);

  gtk_signal_connect_object(GTK_OBJECT(cancelButton), "clicked",
             GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(fileselection));

  gtk_window_set_modal(GTK_WINDOW(fileselection), TRUE);
  gtk_widget_show(fileselection);
  gtk_main();
}

static void newapp(GtkObject *object, gpointer data)
{
  GtkWidget *app = newSample("Sample.txt");

  gtk_widget_show_all(app);
}

static void closeapp(GtkWidget *widget, gpointer data)
{
  GtkWidget *app = GTK_WIDGET(data);

  closeSample(app);
}

static void shutdown(GtkObject *object, gpointer data)
{
    gtk_main_quit();
}

GnomeUIInfo fileMenu[] =
{
  GNOMEUIINFO_MENU_NEW_ITEM((gchar *) "_New Sample",
                (gchar *) "Create a new Gnome Layout Sample",
                newapp, NULL),

  GNOMEUIINFO_MENU_OPEN_ITEM(openfile, NULL),
  GNOMEUIINFO_SEPARATOR,
  GNOMEUIINFO_MENU_CLOSE_ITEM(closeapp, NULL),
  GNOMEUIINFO_MENU_EXIT_ITEM(shutdown, NULL),
  GNOMEUIINFO_END
};

GnomeUIInfo helpMenu[] =
{
    /* GNOMEUIINFO_HELP("gnomelayout"), */
    GNOMEUIINFO_MENU_ABOUT_ITEM(showabout, NULL),
    GNOMEUIINFO_END
};

GnomeUIInfo mainMenu[] =
{
    GNOMEUIINFO_SUBTREE(N_((gchar *) "File"), fileMenu),
    GNOMEUIINFO_SUBTREE(N_((gchar *) "Help"), helpMenu),
    GNOMEUIINFO_END
};

static gint eventDelete(GtkWidget *widget, GdkEvent *event, gpointer data)
{
  closeSample(widget);

  /* indicate that closeapp  already destroyed the window */
  return TRUE;
}

static gint eventConfigure(GtkWidget *widget, GdkEventConfigure *event, Context *context)
{
  if (context->paragraph != NULL) {
    context->width  = event->width;
    context->height = event->height;

    if (context->width > 0 && context->height > 0) {
        pf_breakLines(context->paragraph, context->width, context->height);
    }
  }

  return TRUE;
}

static gint eventExpose(GtkWidget *widget, GdkEvent *event, Context *context)
{
  if (context->paragraph != NULL) {
    gint maxLines = pf_getLineCount(context->paragraph) - 1;
    gint firstLine = 0, lastLine = context->height / pf_getLineHeight(context->paragraph);
    rs_surface *surface = rs_gnomeRenderingSurfaceOpen(widget);

    pf_draw(context->paragraph, surface, firstLine, (maxLines < lastLine)? maxLines : lastLine);
    
    rs_gnomeRenderingSurfaceClose(surface);
  }

  return TRUE;
}

GtkWidget *newSample(const gchar *fileName)
{
  Context *context = NEW_ARRAY(Context, 1);
  gchar *title;
  GtkWidget *app;
  GtkWidget *area;
  GtkStyle *style;
  int i;

  context->width  = 600;
  context->height = 400;
  context->paragraph = pf_factory(fileName, font, guiSupport);

  title = prettyTitle(fileName);
  app = gnome_app_new("gnomeLayout", title);

  gtk_object_set_data(GTK_OBJECT(app), "context", context);

  gtk_window_set_default_size(GTK_WINDOW(app), 600 - 24, 400);

  gnome_app_create_menus_with_data(GNOME_APP(app), mainMenu, app);

  gtk_signal_connect(GTK_OBJECT(app), "delete_event",
             GTK_SIGNAL_FUNC(eventDelete), NULL);

  area = gtk_drawing_area_new();
  gtk_object_set_data(GTK_OBJECT(app), "area", area);

  style = gtk_style_copy(gtk_widget_get_style(area));

  for (i = 0; i < 5; i += 1) {
    style->fg[i] = style->white;
  }
    
  gtk_widget_set_style(area, style);

  gnome_app_set_contents(GNOME_APP(app), area);

  gtk_signal_connect(GTK_OBJECT(area),
             "expose_event",
             GTK_SIGNAL_FUNC(eventExpose),
             context);

  gtk_signal_connect(GTK_OBJECT(area),
             "configure_event",
             GTK_SIGNAL_FUNC(eventConfigure),
             context);

  appList = g_slist_prepend(appList, app);

  g_free(title);

  return app;
}

void closeSample(GtkWidget *app)
{
  Context *context = (Context *) gtk_object_get_data(GTK_OBJECT(app), "context");

  if (context->paragraph != NULL) {
    pf_close(context->paragraph);
  }

  DELETE_ARRAY(context);

  appList = g_slist_remove(appList, app);

  gtk_widget_destroy(app);

  if (appList == NULL) {
    gtk_main_quit();
  }
}

int main (int argc, char *argv[])
{
    LEErrorCode   fontStatus = LE_NO_ERROR;
    poptContext   ptctx;
    GtkWidget    *app;
    const char   *defaultArgs[] = {"Sample.txt", NULL};
    const char  **args;
    int i;

    FT_Init_FreeType(&engine);

    gnome_init_with_popt_table("gnomelayout", "0.1", argc, argv, NULL, 0, &ptctx);

    guiSupport = gs_gnomeGuiSupportOpen();
    fontMap    = fm_gnomeFontMapOpen(engine, "FontMap.Gnome", 24, guiSupport, &fontStatus);
    font       = le_scriptCompositeFontOpen(fontMap);

    if (LE_FAILURE(fontStatus)) {
        FT_Done_FreeType(engine);
        return 1;
    }

    args = poptGetArgs(ptctx);
    
    if (args == NULL) {
        args = defaultArgs;
    }

    for (i = 0; args[i] != NULL; i += 1) {
       app = newSample(args[i]);
           
       gtk_widget_show_all(app);
    }
    
    poptFreeContext(ptctx);
    
    gtk_main();

    le_fontClose(font);
    gs_gnomeGuiSupportClose(guiSupport);

    FT_Done_FreeType(engine);

    exit(0);
}
share/doc/alt-libicu65-devel/samples/layout/gdiglue.cpp000064400000003253150470307450017025 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#include <windows.h>

#include "unicode/utypes.h"
#include "loengine.h"
#include "rsurface.h"
#include "gsupport.h"

#include "gdiglue.h"

#include "LETypes.h"
#include "LEFontInstance.h"
#include "GDIGUISupport.h"
#include "GDIFontMap.h"
#include "ScriptCompositeFontInstance.h"


U_CDECL_BEGIN

gs_guiSupport *gs_gdiGuiSupportOpen()
{
    return (gs_guiSupport *) new GDIGUISupport();
}

void gs_gdiGuiSupportClose(gs_guiSupport *guiSupport)
{
    GDIGUISupport *gs = (GDIGUISupport *) guiSupport;

    delete gs;
}

rs_surface *rs_gdiRenderingSurfaceOpen(HDC hdc)
{
    return (rs_surface *) new GDISurface(hdc);
}

void rs_gdiRenderingSurfaceSetHDC(rs_surface *surface, HDC hdc)
{
    GDISurface *rs = (GDISurface *) surface;

    rs->setHDC(hdc);
}

void rs_gdiRenderingSurfaceClose(rs_surface *surface)
{
    GDISurface *rs = (GDISurface *) surface;

    delete rs;
}

fm_fontMap *fm_gdiFontMapOpen(rs_surface *surface, const char *fileName, le_int16 pointSize, gs_guiSupport *guiSupport, LEErrorCode *status)
{
    return (fm_fontMap *) new GDIFontMap((GDISurface *) surface, fileName, pointSize, (GDIGUISupport *) guiSupport, *status);
}

void fm_fontMapClose(fm_fontMap *fontMap)
{
    GDIFontMap *fm = (GDIFontMap *) fontMap;

    delete fm;
}

le_font *le_scriptCompositeFontOpen(fm_fontMap *fontMap)
{
    return (le_font *) new ScriptCompositeFontInstance((FontMap *) fontMap);
}

void le_fontClose(le_font *font)
{
    LEFontInstance *fi = (LEFontInstance *) font;

    delete fi;
}

U_CDECL_END
share/doc/alt-libicu65-devel/samples/layout/GnomeGUISupport.cpp000064400000002062150470307450020411 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2001, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GnomeGUISupport.cpp
 *
 *   created on: 11/06/2001
 *   created by: Eric R. Mader
 */

#if 1
#include <gnome.h>
#else
#include <stdio.h>
#endif

#include "GnomeGUISupport.h"

void GnomeGUISupport::postErrorMessage(const char *message, const char *title)
{
#if 1
  gchar *s;
  GtkWidget *error;

  s = g_strconcat(title, ":\n", message, NULL);
  error = gnome_error_dialog(s);
  gtk_widget_show(error);
  g_free(s);
#else
   fprintf(stderr, "%s: %s\n", title, message);
#endif
}


share/doc/alt-libicu65-devel/samples/layout/cmaps.h000064400000004072150470307450016155 0ustar00/*
 ******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 ******************************************************************************
 ****************************************************************************** *
 *
 *   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ****************************************************************************** *
 *   file name:  cmaps.h
 *
 *   created on: ??/??/2001
 *   created by: Eric R. Mader
 */

#ifndef __CMAPS_H
#define __CMAPS_H

#include "layout/LETypes.h"
#include "sfnt.h"

class CMAPMapper
{
public:
    virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const = 0;

    virtual ~CMAPMapper();

    static CMAPMapper *createUnicodeMapper(const CMAPTable *cmap);

protected:
    CMAPMapper(const CMAPTable *cmap);

    CMAPMapper() {};

private:
    const CMAPTable *fcmap;
};

class CMAPFormat4Mapper : public CMAPMapper
{
public:
    CMAPFormat4Mapper(const CMAPTable *cmap, const CMAPFormat4Encoding *header);

    virtual ~CMAPFormat4Mapper();

    virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const;

protected:
    CMAPFormat4Mapper() {};

private:
    le_uint16        fEntrySelector;
    le_uint16        fRangeShift;
    const le_uint16 *fEndCodes;
    const le_uint16 *fStartCodes;
    const le_uint16 *fIdDelta;
    const le_uint16 *fIdRangeOffset;
};

class CMAPGroupMapper : public CMAPMapper
{
public:
    CMAPGroupMapper(const CMAPTable *cmap, const CMAPGroup *groups, le_uint32 nGroups);

    virtual ~CMAPGroupMapper();

    virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const;

protected:
    CMAPGroupMapper() {};

private:
    le_int32 fPower;
    le_int32 fRangeOffset;
    const CMAPGroup *fGroups;
};

inline CMAPMapper::CMAPMapper(const CMAPTable *cmap)
    : fcmap(cmap)
{
    // nothing else to do
}

inline CMAPMapper::~CMAPMapper()
{
    LE_DELETE_ARRAY(fcmap);
}

#endif

share/doc/alt-libicu65-devel/samples/layout/gsupport.h000064400000000562150470307450016735 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __GSUPPORT_H
#define __GSUPPORT_H

typedef void gs_guiSupport;

void gs_postErrorMessage(gs_guiSupport *guiSupport, const char *message, const char *title);

#endif
share/doc/alt-libicu65-devel/samples/layout/gnomelayout.cpp000064400000020775150470307450017760 0ustar00
/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 ****************************************************************************** *
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ****************************************************************************** *
 *   file name:  gnomelayout.cpp
 *
 *   created on: 09/04/2001
 *   created by: Eric R. Mader
 */

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H

#include "unicode/ustring.h"
#include "unicode/uscript.h"

#include "GnomeFontInstance.h"

#include "paragraph.h"

#include "GnomeGUISupport.h"
#include "GnomeFontMap.h"
#include "UnicodeReader.h"
#include "ScriptCompositeFontInstance.h"

#define ARRAY_LENGTH(array) (sizeof array / sizeof array[0])

struct Context
{
    long width;
    long height;
    Paragraph *paragraph;
};

static FT_Library engine;
static GnomeGUISupport *guiSupport;
static GnomeFontMap *fontMap;
static ScriptCompositeFontInstance *font;

static GSList *appList = NULL;

GtkWidget *newSample(const gchar *fileName);
void       closeSample(GtkWidget *sample);

void showabout(GtkWidget */*widget*/, gpointer /*data*/)
{
    GtkWidget *aboutBox;
    const gchar *documentedBy[] = {NULL};
    const gchar *writtenBy[] = {
        "Eric Mader",
        NULL
    };

    aboutBox = gnome_about_new("Gnome Layout Sample",
                               "0.1",
                               "Copyright (C) 1998-2006 By International Business Machines Corporation and others. All Rights Reserved.",
                               "A simple demo of the ICU LayoutEngine.",
                               writtenBy,
                               documentedBy,
                               "",
                               NULL);

    gtk_widget_show(aboutBox);
}

void notimpl(GtkObject */*object*/, gpointer /*data*/)
{
    gnome_ok_dialog("Not implemented...");
}

gchar *prettyTitle(const gchar *path)
{
  const gchar *name  = g_basename(path);
  gchar *title = g_strconcat("Gnome Layout Sample - ", name, NULL);

  return title;
}

void openOK(GtkObject */*object*/, gpointer data)
{
  GtkFileSelection *fileselection = GTK_FILE_SELECTION(data);
  GtkWidget *app = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(fileselection), "app"));
  Context *context = (Context *) gtk_object_get_data(GTK_OBJECT(app), "context");
  gchar *fileName  = g_strdup(gtk_file_selection_get_filename(fileselection));
  Paragraph *newPara;

  gtk_widget_destroy(GTK_WIDGET(fileselection));

  newPara = Paragraph::paragraphFactory(fileName, font, guiSupport);

  if (newPara != NULL) {
    gchar *title = prettyTitle(fileName);
    GtkWidget *area = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(app), "area"));

    if (context->paragraph != NULL) {
      delete context->paragraph;
    }

    context->paragraph = newPara;
    gtk_window_set_title(GTK_WINDOW(app), title);

    gtk_widget_hide(area);
    context->paragraph->breakLines(context->width, context->height);
    gtk_widget_show_all(area);

    g_free(title);
  }

  g_free(fileName);
}

void openfile(GtkObject */*object*/, gpointer data)
{
  GtkWidget *app = GTK_WIDGET(data);
  GtkWidget *fileselection;
  GtkWidget *okButton;
  GtkWidget *cancelButton;

  fileselection =
    gtk_file_selection_new("Open File");

  gtk_object_set_data(GTK_OBJECT(fileselection), "app", app);

  okButton =
    GTK_FILE_SELECTION(fileselection)->ok_button;

  cancelButton =
    GTK_FILE_SELECTION(fileselection)->cancel_button;

  gtk_signal_connect(GTK_OBJECT(fileselection), "destroy",
		     GTK_SIGNAL_FUNC(gtk_main_quit), NULL);

  gtk_signal_connect(GTK_OBJECT(okButton), "clicked",
		     GTK_SIGNAL_FUNC(openOK), fileselection);

  gtk_signal_connect_object(GTK_OBJECT(cancelButton), "clicked",
		     GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(fileselection));

  gtk_window_set_modal(GTK_WINDOW(fileselection), TRUE);
  gtk_widget_show(fileselection);
  gtk_main();
}

void newapp(GtkObject */*object*/, gpointer /*data*/)
{
  GtkWidget *app = newSample("Sample.txt");

  gtk_widget_show_all(app);
}

void closeapp(GtkWidget */*widget*/, gpointer data)
{
  GtkWidget *app = GTK_WIDGET(data);

  closeSample(app);
}

void shutdown(GtkObject */*object*/, gpointer /*data*/)
{
    gtk_main_quit();
}

GnomeUIInfo fileMenu[] =
{
  GNOMEUIINFO_MENU_NEW_ITEM((gchar *) "_New Sample",
			    (gchar *) "Create a new Gnome Layout Sample",
			    newapp, NULL),

  GNOMEUIINFO_MENU_OPEN_ITEM(openfile, NULL),
  GNOMEUIINFO_SEPARATOR,
  GNOMEUIINFO_MENU_CLOSE_ITEM(closeapp, NULL),
  GNOMEUIINFO_MENU_EXIT_ITEM(shutdown, NULL),
  GNOMEUIINFO_END
};

GnomeUIInfo helpMenu[] =
{
    // GNOMEUIINFO_HELP("gnomelayout"),
    GNOMEUIINFO_MENU_ABOUT_ITEM(showabout, NULL),
    GNOMEUIINFO_END
};

GnomeUIInfo mainMenu[] =
{
    GNOMEUIINFO_SUBTREE(N_((gchar *) "File"), fileMenu),
    GNOMEUIINFO_SUBTREE(N_((gchar *) "Help"), helpMenu),
    GNOMEUIINFO_END
};

gint eventDelete(GtkWidget *widget, GdkEvent */*event*/, gpointer /*data*/)
{
  closeSample(widget);

  // indicate that closeapp  already destroyed the window 
  return TRUE;
}

gint eventConfigure(GtkWidget */*widget*/, GdkEventConfigure *event, Context *context)
{
  if (context->paragraph != NULL) {
    context->width  = event->width;
    context->height = event->height;

    if (context->width > 0 && context->height > 0) {
        context->paragraph->breakLines(context->width, context->height);
    }
  }

  return TRUE;
}

gint eventExpose(GtkWidget *widget, GdkEvent */*event*/, Context *context)
{
  if (context->paragraph != NULL) {
    gint maxLines = context->paragraph->getLineCount() - 1;
    gint firstLine = 0, lastLine = context->height / context->paragraph->getLineHeight();
    GnomeSurface surface(widget);

    context->paragraph->draw(&surface, firstLine, (maxLines < lastLine)? maxLines : lastLine);
  }

  return TRUE;
}

GtkWidget *newSample(const gchar *fileName)
{
  Context   *context = new Context();

  context->width  = 600;
  context->height = 400;
  context->paragraph = Paragraph::paragraphFactory(fileName, font, guiSupport);

  gchar *title = prettyTitle(fileName);
  GtkWidget *app = gnome_app_new("gnomeLayout", title);

  gtk_object_set_data(GTK_OBJECT(app), "context", context);

  gtk_window_set_default_size(GTK_WINDOW(app), 600 - 24, 400);

  gnome_app_create_menus_with_data(GNOME_APP(app), mainMenu, app);

  gtk_signal_connect(GTK_OBJECT(app), "delete_event",
		     GTK_SIGNAL_FUNC(eventDelete), NULL);

  GtkWidget *area = gtk_drawing_area_new();
  gtk_object_set_data(GTK_OBJECT(app), "area", area);

  GtkStyle *style = gtk_style_copy(gtk_widget_get_style(area));

  for (int i = 0; i < 5; i += 1) {
    style->fg[i] = style->white;
  }
    
  gtk_widget_set_style(area, style);

  gnome_app_set_contents(GNOME_APP(app), area);

  gtk_signal_connect(GTK_OBJECT(area),
		     "expose_event",
		     GTK_SIGNAL_FUNC(eventExpose),
		     context);

  gtk_signal_connect(GTK_OBJECT(area),
		     "configure_event",
		     GTK_SIGNAL_FUNC(eventConfigure),
		     context);

  appList = g_slist_prepend(appList, app);

  g_free(title);

  return app;
}

void closeSample(GtkWidget *app)
{
  Context *context = (Context *) gtk_object_get_data(GTK_OBJECT(app), "context");

  if (context->paragraph != NULL) {
    delete context->paragraph;
  }

  delete context;

  appList = g_slist_remove(appList, app);

  gtk_widget_destroy(app);

  if (appList == NULL) {
    gtk_main_quit();
  }
}

int main (int argc, char *argv[])
{
    LEErrorCode   fontStatus = LE_NO_ERROR;
    poptContext   ptctx;
    GtkWidget    *app;

    FT_Init_FreeType(&engine);

    gnome_init_with_popt_table("gnomelayout", "0.1", argc, argv, NULL, 0, &ptctx);

    guiSupport = new GnomeGUISupport();
    fontMap    = new GnomeFontMap(engine, "FontMap.Gnome", 24, guiSupport, fontStatus);
    font       = new ScriptCompositeFontInstance(fontMap);

    if (LE_FAILURE(fontStatus)) {
        FT_Done_FreeType(engine);
        return 1;
    }

    const char  *defaultArgs[] = {"Sample.txt", NULL};
    const char **args = poptGetArgs(ptctx);
    
    if (args == NULL) {
        args = defaultArgs;
    }

    for (int i = 0; args[i] != NULL; i += 1) {
       app = newSample(args[i]);
           
       gtk_widget_show_all(app);
    }
    
    poptFreeContext(ptctx);
    
    gtk_main();

    delete font;
    delete guiSupport;

    FT_Done_FreeType(engine);

    exit(0);
}
share/doc/alt-libicu65-devel/samples/layout/arraymem.h000064400000001206150470307450016663 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __ARRAYMEM_H
#define __ARRAYMEM_H

#include <stdlib.h>

#define ARRAY_SIZE(array) (sizeof array / sizeof array[0])

#define ARRAY_COPY(dst, src, count) memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0])

#define NEW_ARRAY(type,count) (type *) malloc((count) * sizeof(type))

#define DELETE_ARRAY(array) free((void *) (array))

#define GROW_ARRAY(array,newSize) realloc((void *) (array), (newSize) * sizeof (array)[0])

#endif
share/doc/alt-libicu65-devel/samples/layout/GDIGUISupport.cpp000064400000001536150470307450017754 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2001, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GDIGUISupport.h
 *
 *   created on: 11/06/2001
 *   created by: Eric R. Mader
 */

#include <windows.h>

#include "GDIGUISupport.h"

void GDIGUISupport::postErrorMessage(const char *message, const char *title)
{
    MessageBoxA(NULL, message, title, MB_ICONERROR);
}

share/doc/alt-libicu65-devel/samples/layout/Makefile.in000064400000005657150470307450016760 0ustar00## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html#License
##
## Makefile.in for ICU - samples/layout
## Copyright (c) 2001-2011, International Business Machines Corporation and
## others. All Rights Reserved.

## Source directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@

top_builddir = ../..

include $(top_builddir)/icudefs.mk

## Platform-specific setup
include @platform_make_fragment@

## Build directory information
subdir = samples/layout

## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS)

## Target information
TARGET  = gnomelayout
CTARGET = cgnomelayout

CPPFLAGS += -DLE_USE_CMEMORY `pkg-config --cflags libgnomeui-2.0 freetype2 cairo` -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/layoutex -I$(top_srcdir)/layout -I$(top_srcdir) -g

LIBS = $(LIBICULX) $(LIBICULE) $(LIBICUUC) $(LIBICUI18N) @LIBS@ @LIB_M@ `pkg-config --libs libgnomeui-2.0 freetype2 cairo`

COMMON=cmaps.o UnicodeReader.o GnomeGUISupport.o FontMap.o GnomeFontMap.o ScriptCompositeFontInstance.o GnomeFontInstance.o FontTableCache.o  paragraph.o

OBJECTS=gnomelayout.o

COBJECTS=gnomeglue.o pflow.o rsurface.o ucreader.o cgnomelayout.o

DEPS = $(OBJECTS:.o=.d)

## List of phony targets
.PHONY : all all-local install install-local clean clean-local	\
distclean distclean-local dist dist-local check check-local

## Clear suffix list
.SUFFIXES :

## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local
c-all: c-all-local
c-check: c-all c-check-local

all-local: $(TARGET)

c-all-local: $(CTARGET)

install-local:

dist-local:

clean-local:
	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
	$(RMV) $(COMMON) $(OBJECTS) $(COBJECTS) $(TARGET)

distclean-local: clean-local
	$(RMV) Makefile

check-local: all-local
	$(INVOKE) ./$(TARGET)

c-check-local: c-all-local
	$(INVOKE) ./$(CTARGET)

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

# The following two rules make it possible to
# compile scrptrun.cpp from the extra/scrptrun directory.
# they were copied from the default rules in mh-linux which
# is probably OK because this sample will only run on Linux...
scrptrun.d: $(top_srcdir)/extra/scrptrun/scrptrun.cpp
	$(SHELL) -ec '$(GEN_DEPS.cc) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

scrptrun.o: $(top_srcdir)/extra/scrptrun/scrptrun.cpp
	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<

$(TARGET) : $(COMMON) $(OBJECTS)
	$(LINK.cc) -o $@ $^ $(LIBS)

$(CTARGET) : $(COMMON) $(COBJECTS)
	$(LINK.cc) -o $@ $^ $(LIBS)

invoke:
	ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
share/doc/alt-libicu65-devel/samples/layout/Sample.txt000064400000003241150470307450016660 0ustar00The LayoutEngine does all the work necessary to display Unicode text written in languages with complex writing systems such as Hindi (हिन्दी) Thai (ไทย) and Arabic (العربية). Here's a sample of some text written in Sanskrit: श्रीमद् भगवद्गीता अध्याय अर्जुन विषाद योग धृतराष्ट्र उवाच। धर्मक्षेत्रे कुरुक्षेत्रे समवेता युयुत्सवः मामकाः पाण्डवाश्चैव किमकुर्वत संजय Here's a sample of some text written in Arabic: أساسًا، تتعامل الحواسيب فقط مع الأرقام، وتقوم بتخزين الأحرف والمحارف الأخرى بعد أن تُعطي رقما معينا لكل واحد منها. وقبل اختراع "يونِكود"، كان هناك مئات الأنظمة للتشفير وتخصيص هذه الأرقام للمحارف، ولم يوجد نظام تشفير واحد يحتوي على جميع المحارف الضرورية and here's a sample of some text written in Thai: บทที่๑พายุไซโคลนโดโรธีอาศัยอยู่ท่ามกลางทุ่งใหญ่ในแคนซัสกับลุงเฮนรีชาวไร่และป้าเอ็มภรรยาชาวไร่บ้านของพวกเขาหลังเล็กเพราะไม้สร้างบ้านต้องขนมาด้วยเกวียนเป็นระยะทางหลายไมล์
share/doc/alt-libicu65-devel/samples/layout/GDIFontInstance.cpp000064400000023142150470307450020323 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2008, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GDIFontInstance.cpp
 *
 *   created on: 08/09/2000
 *   created by: Eric R. Mader
 */

#include <windows.h>

#include "layout/LETypes.h"
#include "layout/LESwaps.h"
#include "layout/LEFontInstance.h"

#include "GDIFontInstance.h"
#include "sfnt.h"
#include "cmaps.h"

GDISurface::GDISurface(HDC theHDC)
    : fHdc(theHDC), fCurrentFont(NULL)
{
    // nothing else to do
}

GDISurface::~GDISurface()
{
    // nothing to do
}

void GDISurface::setHDC(HDC theHDC)
{
    fHdc         = theHDC;
    fCurrentFont = NULL;
}

void GDISurface::setFont(const GDIFontInstance *font)
{
#if 0
    if (fCurrentFont != font) {
        fCurrentFont = font;
        SelectObject(fHdc, font->getFont());
    }
#else
    SelectObject(fHdc, font->getFont());
#endif
}

void GDISurface::drawGlyphs(const LEFontInstance *font, const LEGlyphID *glyphs, le_int32 count, const float *positions,
    le_int32 x, le_int32 y, le_int32 width, le_int32 height)
{
    TTGlyphID *ttGlyphs = LE_NEW_ARRAY(TTGlyphID, count);
    le_int32  *dx = LE_NEW_ARRAY(le_int32, count);
    float     *ps = LE_NEW_ARRAY(float, count * 2 + 2);
    le_int32   out = 0;
    RECT clip;

    clip.top    = 0;
    clip.left   = 0;
    clip.bottom = height;
    clip.right  = width;

    for (le_int32 g = 0; g < count; g += 1) {
        TTGlyphID ttGlyph = (TTGlyphID) LE_GET_GLYPH(glyphs[g]);

        if (ttGlyph < 0xFFFE) {
            ttGlyphs[out] = ttGlyph;
            dx[out] = (le_int32) (positions[g * 2 + 2] - positions[g * 2]);
            ps[out * 2] = positions[g * 2];
            ps[out * 2 + 1] = positions[g * 2 + 1];
            out += 1;
        }
    }

    le_int32 dyStart, dyEnd;

    setFont((GDIFontInstance *) font);

    dyStart = dyEnd = 0;

    while (dyEnd < out) {
        float yOffset = ps[dyStart * 2 + 1];
        float xOffset = ps[dyStart * 2];

        while (dyEnd < out && yOffset == ps[dyEnd * 2 + 1]) {
            dyEnd += 1;
        }

        ExtTextOut(fHdc, x + (le_int32) xOffset, y + (le_int32) yOffset - font->getAscent(), ETO_CLIPPED | ETO_GLYPH_INDEX, &clip,
            (LPCWSTR) &ttGlyphs[dyStart], dyEnd - dyStart, (INT *) &dx[dyStart]);

        dyStart = dyEnd;
    }

    LE_DELETE_ARRAY(ps);
    LE_DELETE_ARRAY(dx);
    LE_DELETE_ARRAY(ttGlyphs);
}

GDIFontInstance::GDIFontInstance(GDISurface *surface, TCHAR *faceName, le_int16 pointSize, LEErrorCode &status)
    : FontTableCache(), fSurface(surface), fFont(NULL),
      fPointSize(pointSize), fUnitsPerEM(0), fAscent(0), fDescent(0), fLeading(0),
      fDeviceScaleX(1), fDeviceScaleY(1), fMapper(NULL)
{
    LOGFONT lf;
    FLOAT dpiX, dpiY;
    POINT pt;
    OUTLINETEXTMETRIC otm;
    HDC hdc = surface->getHDC();

    if (LE_FAILURE(status)) {
        return;
    }

    SaveDC(hdc);

    SetGraphicsMode(hdc, GM_ADVANCED);
    ModifyWorldTransform(hdc, NULL, MWT_IDENTITY);
    SetViewportOrgEx(hdc, 0, 0, NULL);
    SetWindowOrgEx(hdc, 0, 0, NULL);

    dpiX = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSX);
    dpiY = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSY);

#if 1
    pt.x = (int) (pointSize * dpiX / 72);
    pt.y = (int) (pointSize * dpiY / 72);

    DPtoLP(hdc, &pt, 1);
#else
    pt.x = pt.y = pointSize;
#endif

    lf.lfHeight = - pt.y;
    lf.lfWidth = 0;
    lf.lfEscapement = 0;
    lf.lfOrientation = 0;
    lf.lfWeight = 0;
    lf.lfItalic = 0;
    lf.lfUnderline = 0;
    lf.lfStrikeOut = 0;
    lf.lfCharSet = DEFAULT_CHARSET;
    lf.lfOutPrecision = 0;
    lf.lfClipPrecision = 0;
    lf.lfQuality = 0;
    lf.lfPitchAndFamily = 0;

    lstrcpy(lf.lfFaceName, faceName);

    fFont = CreateFontIndirect(&lf);

    if (fFont == NULL) {
        status = LE_FONT_FILE_NOT_FOUND_ERROR;
        return;
    }

    SelectObject(hdc, fFont);

    UINT ret = GetOutlineTextMetrics(hdc, sizeof otm, &otm);

    if (ret == 0) {
        status = LE_MISSING_FONT_TABLE_ERROR;
        goto restore;
    }

    fUnitsPerEM = otm.otmEMSquare;
    fAscent  = otm.otmTextMetrics.tmAscent;
    fDescent = otm.otmTextMetrics.tmDescent;
    fLeading = otm.otmTextMetrics.tmExternalLeading;

    status = initMapper();

    if (LE_FAILURE(status)) {
        goto restore;
    }

#if 0
    status = initFontTableCache();
#endif

restore:
    RestoreDC(hdc, -1);
}

GDIFontInstance::GDIFontInstance(GDISurface *surface, const char *faceName, le_int16 pointSize, LEErrorCode &status)
    : FontTableCache(), fSurface(surface), fFont(NULL),
      fPointSize(pointSize), fUnitsPerEM(0), fAscent(0), fDescent(0), fLeading(0),
      fDeviceScaleX(1), fDeviceScaleY(1), fMapper(NULL)
{
    LOGFONTA lf;
    FLOAT dpiX, dpiY;
    POINT pt;
    OUTLINETEXTMETRIC otm;
    HDC hdc = surface->getHDC();

    if (LE_FAILURE(status)) {
        return;
    }

    SaveDC(hdc);

    SetGraphicsMode(hdc, GM_ADVANCED);
    ModifyWorldTransform(hdc, NULL, MWT_IDENTITY);
    SetViewportOrgEx(hdc, 0, 0, NULL);
    SetWindowOrgEx(hdc, 0, 0, NULL);

    dpiX = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSX);
    dpiY = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSY);

    fDeviceScaleX = dpiX / 72;
    fDeviceScaleY = dpiY / 72;

#if 1
    pt.x = (int) (pointSize * fDeviceScaleX);
    pt.y = (int) (pointSize * fDeviceScaleY);

    DPtoLP(hdc, &pt, 1);
#else
    pt.x = pt.y = pointSize;
#endif

    lf.lfHeight = - pt.y;
    lf.lfWidth = 0;
    lf.lfEscapement = 0;
    lf.lfOrientation = 0;
    lf.lfWeight = 0;
    lf.lfItalic = 0;
    lf.lfUnderline = 0;
    lf.lfStrikeOut = 0;
    lf.lfCharSet = DEFAULT_CHARSET;
    lf.lfOutPrecision = 0;
    lf.lfClipPrecision = 0;
    lf.lfQuality = 0;
    lf.lfPitchAndFamily = 0;

    strcpy(lf.lfFaceName, faceName);

    fFont = CreateFontIndirectA(&lf);

    if (fFont == NULL) {
        status = LE_FONT_FILE_NOT_FOUND_ERROR;
        return;
    }

    SelectObject(hdc, fFont);

    UINT ret = GetOutlineTextMetrics(hdc, sizeof otm, &otm);

    if (ret != 0) {
        fUnitsPerEM = otm.otmEMSquare;
        fAscent  = otm.otmTextMetrics.tmAscent;
        fDescent = otm.otmTextMetrics.tmDescent;
        fLeading = otm.otmTextMetrics.tmExternalLeading;
    } else {
        const HEADTable *headTable = NULL;
        const HHEATable *hheaTable = NULL;

        // read unitsPerEm from 'head' table
        headTable = (const HEADTable *) readFontTable(LE_HEAD_TABLE_TAG);

        if (headTable == NULL) {
            status = LE_MISSING_FONT_TABLE_ERROR;
            goto restore;
        }

        fUnitsPerEM   = SWAPW(headTable->unitsPerEm);
        freeFontTable((const void *)headTable);

        hheaTable = (HHEATable *) readFontTable(LE_HHEA_TABLE_TAG);

        if (hheaTable == NULL) {
            status = LE_MISSING_FONT_TABLE_ERROR;
            goto restore;
        }

        fAscent  = (le_int32) yUnitsToPoints((float) SWAPW(hheaTable->ascent));
        fDescent = (le_int32) yUnitsToPoints((float) SWAPW(hheaTable->descent));
        fLeading = (le_int32) yUnitsToPoints((float) SWAPW(hheaTable->lineGap));

        freeFontTable((const void *) hheaTable);
    }

    status = initMapper();

    if (LE_FAILURE(status)) {
        goto restore;
    }

#if 0
    status = initFontTableCache();
#endif

restore:
    RestoreDC(hdc, -1);
}

GDIFontInstance::~GDIFontInstance()
{
#if 0
    flushFontTableCache();
    delete[] fTableCache;
#endif

    if (fFont != NULL) {
        // FIXME: call RemoveObject first?
        DeleteObject(fFont);
    }

    delete fMapper;
    fMapper = NULL;
}

LEErrorCode GDIFontInstance::initMapper()
{
    LETag cmapTag = LE_CMAP_TABLE_TAG;
    const CMAPTable *cmap = (const CMAPTable *) readFontTable(cmapTag);

    if (cmap == NULL) {
        return LE_MISSING_FONT_TABLE_ERROR;
    }

    fMapper = CMAPMapper::createUnicodeMapper(cmap);

    if (fMapper == NULL) {
        return LE_MISSING_FONT_TABLE_ERROR;
    }

    return LE_NO_ERROR;
}

const void *GDIFontInstance::getFontTable(LETag tableTag) const
{
    return FontTableCache::find(tableTag);
}

const void *GDIFontInstance::readFontTable(LETag tableTag) const
{
    fSurface->setFont(this);

    HDC   hdc    = fSurface->getHDC();
    DWORD stag   = SWAPL(tableTag);
    DWORD len    = GetFontData(hdc, stag, 0, NULL, 0);
    void *result = NULL;

    if (len != GDI_ERROR) {
        result = LE_NEW_ARRAY(char, len);
        GetFontData(hdc, stag, 0, result, len);
    }

    return result;
}

void GDIFontInstance::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
{
    advance.fX = 0;
    advance.fY = 0;

    if (glyph == 0xFFFE || glyph == 0xFFFF) {
        return;
    }


    GLYPHMETRICS metrics;
    DWORD result;
    MAT2 identity = {{0, 1}, {0, 0}, {0, 0}, {0, 1}};
    HDC hdc = fSurface->getHDC();

    fSurface->setFont(this);

    result = GetGlyphOutline(hdc, glyph, GGO_GLYPH_INDEX | GGO_METRICS, &metrics, 0, NULL, &identity);

    if (result == GDI_ERROR) {
        return;
    }

    advance.fX = metrics.gmCellIncX;
    return;
}

le_bool GDIFontInstance::getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const
{
#if 0
    hsFixedPoint2 pt;
    le_bool result;

    result = fFontInstance->getGlyphPoint(glyph, pointNumber, pt);

    if (result) {
        point.fX = xUnitsToPoints(pt.fX);
        point.fY = yUnitsToPoints(pt.fY);
    }

    return result;
#else
    return FALSE;
#endif
}

share/doc/alt-libicu65-devel/samples/layout/UnicodeReader.h000064400000001747150470307450017571 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2001, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#ifndef __UNICODEREADER_H
#define __UNICODEREADER_H

#include "unicode/utypes.h"

#include "GUISupport.h"

class UnicodeReader
{
public:
    UnicodeReader()
    {
        // nothing...
    }

    ~UnicodeReader()
    {
        // nothing, too
    }

    static const UChar *readFile(const char *fileName, GUISupport *guiSupport, int32_t &charCount);
};

#endif

share/doc/alt-libicu65-devel/samples/layout/ucreader.cpp000064400000000775150470307450017205 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#include "unicode/utypes.h"

#include "ucreader.h"
#include "gsupport.h"
#include "UnicodeReader.h"

U_CDECL_BEGIN

const UChar *uc_readFile(const char *fileName, gs_guiSupport *guiSupport, int32_t *charCount)
{
    return UnicodeReader::readFile(fileName, (GUISupport *) guiSupport, *charCount);
}

U_CDECL_END
share/doc/alt-libicu65-devel/samples/layout/GnomeGUISupport.h000064400000001701150470307450020055 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GnomeGUISupport.h
 *
 *   created on: 11/06/2001
 *   created by: Eric R. Mader
 */

#ifndef __GNOMEGUISUPPORT_H
#define __GNOMEGUISUPPORT_H

#include "GUISupport.h"

class GnomeGUISupport : public GUISupport
{
public:
    GnomeGUISupport() {};
    virtual ~GnomeGUISupport() {};

    virtual void postErrorMessage(const char *message, const char *title);
};

#endif
share/doc/alt-libicu65-devel/samples/layout/RenderingSurface.h000064400000002137150470307460020301 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  RenderingFontInstance.h
 *
 *   created on: 02/20/2003
 *   created by: Eric R. Mader
 */

#ifndef __RENDERINGSURFACE_H
#define __RENDERINGSURFACE_H

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"

class RenderingSurface
{
public:
    RenderingSurface() {};
    virtual ~RenderingSurface() {};

    virtual void drawGlyphs(const LEFontInstance *font, const LEGlyphID *glyphs, le_int32 count,
                    const float *positions, le_int32 x, le_int32 y, le_int32 width, le_int32 height) = 0;
};

#endif
share/doc/alt-libicu65-devel/samples/layout/GUISupport.h000064400000001572150470307460017076 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GUISupport.h
 *
 *   created on: 11/06/2001
 *   created by: Eric R. Mader
 */

#ifndef __GUISUPPORT_H
#define __GUISUPPORT_H

class GUISupport
{
public:
    GUISupport() {};
    virtual ~GUISupport() {};

    virtual void postErrorMessage(const char *message, const char *title) = 0;
};

#endif
share/doc/alt-libicu65-devel/samples/layout/GDIGUISupport.h000064400000001665150470307460017425 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2005, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GDIGUISupport.h
 *
 *   created on: 11/06/2001
 *   created by: Eric R. Mader
 */

#ifndef __GDIGUISUPPORT_H
#define __GDIGUISUPPORT_H

#include "GUISupport.h"

class GDIGUISupport : public GUISupport
{
public:
    GDIGUISupport() {};
    virtual ~GDIGUISupport() {};

    virtual void postErrorMessage(const char *message, const char *title);
};

#endif
share/doc/alt-libicu65-devel/samples/layout/pflow.h000064400000001654150470307460016205 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __PFLOW_H
#define __PFLOW_H

#include "unicode/utypes.h"
#include "layout/LETypes.h"

#include "layout/plruns.h"
#include "layout/playout.h"

#include "gsupport.h"
#include "rsurface.h"

typedef void pf_flow;

pf_flow *pf_create(const LEUnicode chars[], le_int32 charCount, const pl_fontRuns *fontRuns, LEErrorCode *status);

void pf_close(pf_flow *flow);

le_int32 pf_getAscent(pf_flow *flow);
le_int32 pf_getLineHeight(pf_flow *flow);
le_int32 pf_getLineCount(pf_flow *flow);
void pf_breakLines(pf_flow *flow, le_int32 width, le_int32 height);
void pf_draw(pf_flow *flow, rs_surface *surface, le_int32 firstLine, le_int32 lastLine);

pf_flow *pf_factory(const char *fileName, const le_font *font, gs_guiSupport *guiSupport);

#endif
share/doc/alt-libicu65-devel/samples/layout/clayout.c000064400000023514150470307460016530 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  Layout.cpp
 *
 *   created on: 08/03/2000
 *   created by: Eric R. Mader
 */

#include <windows.h>
#include <stdio.h>

#include "playout.h"
#include "pflow.h"

#include "gdiglue.h"
#include "ucreader.h"

#include "arraymem.h"

#include "resource.h"

struct Context
{
    le_int32 width;
    le_int32 height;
    pf_flow *paragraph;
};

typedef struct Context Context;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

#define APP_NAME "LayoutSample"

TCHAR szAppName[] = TEXT(APP_NAME);

void PrettyTitle(HWND hwnd, char *fileName)
{
    char title[MAX_PATH + 64];

    sprintf(title, "%s - %s", APP_NAME, fileName);

    SetWindowTextA(hwnd, title);
}

void InitParagraph(HWND hwnd, Context *context)
{
    SCROLLINFO si;

    if (context->paragraph != NULL) {
        // FIXME: does it matter what we put in the ScrollInfo
        // if the window's been minimized?
        if (context->width > 0 && context->height > 0) {
            pf_breakLines(context->paragraph, context->width, context->height);
        }

        si.cbSize = sizeof si;
        si.fMask = SIF_RANGE | SIF_PAGE | SIF_DISABLENOSCROLL;
        si.nMin = 0;
        si.nMax = pf_getLineCount(context->paragraph) - 1;
        si.nPage = context->height / pf_getLineHeight(context->paragraph);
        SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    }
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    HWND hwnd;
    HACCEL hAccel;
    MSG msg;
    WNDCLASS wndclass;
    LEErrorCode status = LE_NO_ERROR;

    wndclass.style         = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc   = WndProc;
    wndclass.cbClsExtra    = 0;
    wndclass.cbWndExtra    = sizeof(LONG);
    wndclass.hInstance     = hInstance;
    wndclass.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName  = szAppName;
    wndclass.lpszClassName = szAppName;

    if (!RegisterClass(&wndclass)) {
        MessageBox(NULL, TEXT("This demo only runs on Windows 2000!"), szAppName, MB_ICONERROR);

        return 0;
    }

    hAccel = LoadAccelerators(hInstance, szAppName);

    hwnd = CreateWindow(szAppName, NULL,
                        WS_OVERLAPPEDWINDOW | WS_VSCROLL,
                        CW_USEDEFAULT, CW_USEDEFAULT,
                        600, 400,
                        NULL, NULL, hInstance, NULL);

    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);

    while (GetMessage(&msg, NULL, 0, 0)) {
        if (!TranslateAccelerator(hwnd, hAccel, &msg)) {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    UnregisterClass(szAppName, hInstance);
    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    Context *context;
    static le_int32 windowCount = 0;
    static fm_fontMap *fontMap = NULL;
    static rs_surface *surface = NULL;
    static gs_guiSupport *guiSupport = NULL;
    static le_font *font = NULL;

    switch (message) {
    case WM_CREATE:
    {
        LEErrorCode fontStatus = LE_NO_ERROR;

        hdc = GetDC(hwnd);
        guiSupport = gs_gdiGuiSupportOpen();
        surface = rs_gdiRenderingSurfaceOpen(hdc);

        fontMap = fm_gdiFontMapOpen(surface, "FontMap.GDI", 24, guiSupport, &fontStatus);
        font    = le_scriptCompositeFontOpen(fontMap);

        if (LE_FAILURE(fontStatus)) {
            ReleaseDC(hwnd, hdc);
            return -1;
        }

        context = NEW_ARRAY(Context, 1);

        context->width  = 600;
        context->height = 400;

        context->paragraph = pf_factory("Sample.txt", font, guiSupport);
        SetWindowLongPtr(hwnd, 0, (LONG_PTR) context);

        windowCount += 1;
        ReleaseDC(hwnd, hdc);

        PrettyTitle(hwnd, "Sample.txt");
        return 0;
    }

    case WM_SIZE:
    {
        context = (Context *) GetWindowLongPtr(hwnd, 0);
        context->width  = LOWORD(lParam);
        context->height = HIWORD(lParam);

        InitParagraph(hwnd, context);
        return 0;
    }

    case WM_VSCROLL:
    {
        SCROLLINFO si;
        le_int32 vertPos;

        si.cbSize = sizeof si;
        si.fMask = SIF_ALL;
        GetScrollInfo(hwnd, SB_VERT, &si);

        vertPos = si.nPos;

        switch (LOWORD(wParam))
        {
        case SB_TOP:
            si.nPos = si.nMin;
            break;

        case SB_BOTTOM:
            si.nPos = si.nMax;
            break;

        case SB_LINEUP:
            si.nPos -= 1;
            break;

        case SB_LINEDOWN:
            si.nPos += 1;
            break;

        case SB_PAGEUP:
            si.nPos -= si.nPage;
            break;

        case SB_PAGEDOWN:
            si.nPos += si.nPage;
            break;

        case SB_THUMBTRACK:
            si.nPos = si.nTrackPos;
            break;

        default:
            break;
        }

        si.fMask = SIF_POS;
        SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
        GetScrollInfo(hwnd, SB_VERT, &si);

        context = (Context *) GetWindowLongPtr(hwnd, 0);

        if (context->paragraph != NULL && si.nPos != vertPos) {
            ScrollWindow(hwnd, 0, pf_getLineHeight(context->paragraph) * (vertPos - si.nPos), NULL, NULL);
            UpdateWindow(hwnd);
        }

        return 0;
    }

    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        SCROLLINFO si;
        le_int32 firstLine, lastLine;

        hdc = BeginPaint(hwnd, &ps);
        SetBkMode(hdc, TRANSPARENT);

        si.cbSize = sizeof si;
        si.fMask = SIF_ALL;
        GetScrollInfo(hwnd, SB_VERT, &si);

        firstLine = si.nPos;

        context = (Context *) GetWindowLongPtr(hwnd, 0);

        if (context->paragraph != NULL) {
            rs_gdiRenderingSurfaceSetHDC(surface, hdc);

            // NOTE: si.nPos + si.nPage may include a partial line at the bottom
            // of the window. We need this because scrolling assumes that the
            // partial line has been painted.
            lastLine  = min (si.nPos + (le_int32) si.nPage, pf_getLineCount(context->paragraph) - 1);

            pf_draw(context->paragraph, surface, firstLine, lastLine);
        }

        EndPaint(hwnd, &ps);
        return 0;
    }

    case WM_COMMAND:
        switch (LOWORD(wParam)) {
        case IDM_FILE_OPEN:
        {
            OPENFILENAMEA ofn;
            char szFileName[MAX_PATH], szTitleName[MAX_PATH];
            static char szFilter[] = "Text Files (.txt)\0*.txt\0"
                                     "All Files (*.*)\0*.*\0\0";

            ofn.lStructSize       = sizeof (OPENFILENAMEA);
            ofn.hwndOwner         = hwnd;
            ofn.hInstance         = NULL;
            ofn.lpstrFilter       = szFilter;
            ofn.lpstrCustomFilter = NULL;
            ofn.nMaxCustFilter    = 0;
            ofn.nFilterIndex      = 0;
            ofn.lpstrFile         = szFileName;
            ofn.nMaxFile          = MAX_PATH;
            ofn.lpstrFileTitle    = szTitleName;
            ofn.nMaxFileTitle     = MAX_PATH;
            ofn.lpstrInitialDir   = NULL;
            ofn.lpstrTitle        = NULL;
            ofn.Flags             = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
            ofn.nFileOffset       = 0;
            ofn.nFileExtension    = 0;
            ofn.lpstrDefExt       = "txt";
            ofn.lCustData         = 0L;
            ofn.lpfnHook          = NULL;
            ofn.lpTemplateName    = NULL;

            szFileName[0] = '\0';

            if (GetOpenFileNameA(&ofn)) {
                pf_flow *newParagraph;

                hdc = GetDC(hwnd);
                rs_gdiRenderingSurfaceSetHDC(surface, hdc);

                newParagraph = pf_factory(szFileName, font, guiSupport);

                if (newParagraph != NULL) {
                    context = (Context *) GetWindowLongPtr(hwnd, 0);

                    if (context->paragraph != NULL) {
                        pf_close(context->paragraph);
                    }

                    context->paragraph = newParagraph;
                    InitParagraph(hwnd, context);
                    PrettyTitle(hwnd, szTitleName);
                    InvalidateRect(hwnd, NULL, TRUE);

                }
            }

            //ReleaseDC(hwnd, hdc);

            return 0;
        }

        case IDM_FILE_EXIT:
        case IDM_FILE_CLOSE:
            SendMessage(hwnd, WM_CLOSE, 0, 0);
            return 0;

        case IDM_HELP_ABOUTLAYOUTSAMPLE:
            MessageBox(hwnd, TEXT("Windows Layout Sample 0.1\n")
                             TEXT("Copyright (C) 1998-2005 By International Business Machines Corporation and others.\n")
                             TEXT("Author: Eric Mader"),
                       szAppName, MB_ICONINFORMATION | MB_OK);
            return 0;

        }
        break;


    case WM_DESTROY:
    {
        context = (Context *) GetWindowLongPtr(hwnd, 0);

        if (context != NULL && context->paragraph != NULL) {
            pf_close(context->paragraph);
        }

        DELETE_ARRAY(context);

        if (--windowCount <= 0) {
            le_fontClose(font);
            rs_gdiRenderingSurfaceClose(surface);
            gs_gdiGuiSupportClose(guiSupport);

            PostQuitMessage(0);
        }

        return 0;
    }

    default:
        return DefWindowProc(hwnd, message, wParam, lParam);
    }

    return 0;
}
share/doc/alt-libicu65-devel/samples/layout/FontMap.Gnome000064400000000610150470307460017227 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (C) 2001-2005, International Business Machines
# Corporation and others.  All Rights Reserved.
# This is a sample FontMap file for Linux.
# Fonts are specified by file names.

 DEVANAGARI: raghu.ttf
       THAI: angsd___.ttf
	DEFAULT: CODE2000.TTF
share/doc/alt-libicu65-devel/samples/layout/GnomeFontInstance.cpp000064400000012665150470307460020776 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GnomeFontInstance.cpp
 *
 *   created on: 08/30/2001
 *   created by: Eric R. Mader
 */

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
#include FT_RENDER_H
#include FT_TRUETYPE_TABLES_H
#include <cairo.h>
#include <cairo-ft.h>

#include "layout/LETypes.h"
#include "layout/LESwaps.h"

#include "GnomeFontInstance.h"
#include "sfnt.h"
#include "cmaps.h"

GnomeSurface::GnomeSurface(GtkWidget *theWidget)
    : fWidget(theWidget)
{
    fCairo = gdk_cairo_create(fWidget->window);
}

GnomeSurface::~GnomeSurface()
{
    cairo_destroy(fCairo);
}

void GnomeSurface::drawGlyphs(const LEFontInstance *font, const LEGlyphID *glyphs, le_int32 count,
                              const float *positions, le_int32 x, le_int32 y, le_int32 /*width*/, le_int32 /*height*/)
{
    GnomeFontInstance *gFont = (GnomeFontInstance *) font;
    
    gFont->rasterizeGlyphs(fCairo, glyphs, count, positions, x, y);
}

GnomeFontInstance::GnomeFontInstance(FT_Library engine, const char *fontPathName, le_int16 pointSize, LEErrorCode &status)
    : FontTableCache(), fPointSize(pointSize), fUnitsPerEM(0), fAscent(0), fDescent(0), fLeading(0),
      fDeviceScaleX(1), fDeviceScaleY(1), fMapper(NULL)
{
    FT_Error error;

    fFace      = NULL;
    fCairoFace = NULL;

    error = FT_New_Face(engine, fontPathName, 0, &fFace);

    if (error != 0) {
        printf("OOPS! Got error code %d\n", error);
        status = LE_FONT_FILE_NOT_FOUND_ERROR;
        return;
    }

    // FIXME: what about the display resolution?
    fDeviceScaleX = ((float) 96) / 72;
    fDeviceScaleY = ((float) 96) / 72;

    error = FT_Set_Char_Size(fFace, 0, pointSize << 6, 92, 92);
    
    fCairoFace = cairo_ft_font_face_create_for_ft_face(fFace, 0);

    fUnitsPerEM = fFace->units_per_EM;

    fAscent  = (le_int32) (yUnitsToPoints(fFace->ascender) * fDeviceScaleY);
    fDescent = (le_int32) -(yUnitsToPoints(fFace->descender) * fDeviceScaleY);
    fLeading = (le_int32) (yUnitsToPoints(fFace->height) * fDeviceScaleY) - fAscent - fDescent;

    // printf("Face = %s, unitsPerEM = %d, ascent = %d, descent = %d\n", fontPathName, fUnitsPerEM, fAscent, fDescent);

    if (error != 0) {
        status = LE_MEMORY_ALLOCATION_ERROR;
        return;
    }

    status = initMapper();
}

GnomeFontInstance::~GnomeFontInstance()
{
    cairo_font_face_destroy(fCairoFace);
    
    if (fFace != NULL) {
        FT_Done_Face(fFace);
    }
}

LEErrorCode GnomeFontInstance::initMapper()
{
    LETag cmapTag = LE_CMAP_TABLE_TAG;
    const CMAPTable *cmap = (const CMAPTable *) readFontTable(cmapTag);

    if (cmap == NULL) {
        return LE_MISSING_FONT_TABLE_ERROR;
    }

    fMapper = CMAPMapper::createUnicodeMapper(cmap);

    if (fMapper == NULL) {
        return LE_MISSING_FONT_TABLE_ERROR;
    }

    return LE_NO_ERROR;
}

const void *GnomeFontInstance::getFontTable(LETag tableTag) const
{
    return FontTableCache::find(tableTag);
}

const void *GnomeFontInstance::readFontTable(LETag tableTag) const
{
    FT_ULong len = 0;
    FT_Byte *result = NULL;

    FT_Load_Sfnt_Table(fFace, tableTag, 0, NULL, &len);

    if (len > 0) {
        result = LE_NEW_ARRAY(FT_Byte, len);
        FT_Load_Sfnt_Table(fFace, tableTag, 0, result, &len);
    }

    return result;
}

void GnomeFontInstance::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
{
    advance.fX = 0;
    advance.fY = 0;

    if (glyph >= 0xFFFE) {
        return;
    }

    FT_Error error;

    error = FT_Load_Glyph(fFace, glyph, FT_LOAD_DEFAULT);

    if (error != 0) {
        return;
    }

    advance.fX = fFace->glyph->metrics.horiAdvance >> 6;
    return;
}

le_bool GnomeFontInstance::getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const
{
    FT_Error error;

    error = FT_Load_Glyph(fFace, glyph, FT_LOAD_DEFAULT);

    if (error != 0) {
        return FALSE;
    }

    if (pointNumber >= fFace->glyph->outline.n_points) {
        return FALSE;
    }

    point.fX = fFace->glyph->outline.points[pointNumber].x >> 6;
    point.fY = fFace->glyph->outline.points[pointNumber].y >> 6;

    return TRUE;
}

void GnomeFontInstance::rasterizeGlyphs(cairo_t *cairo, const LEGlyphID *glyphs, le_int32 glyphCount, const float *positions,
                                        le_int32 x, le_int32 y) const
{
    cairo_glyph_t *glyph_t = LE_NEW_ARRAY(cairo_glyph_t, glyphCount);
    le_int32 in, out;
    
    for (in = 0, out = 0; in < glyphCount; in += 1) {
        TTGlyphID glyph = LE_GET_GLYPH(glyphs[in]);
        
        if (glyph < 0xFFFE) {
            glyph_t[out].index = glyph;
            glyph_t[out].x     = x + positions[in*2];
            glyph_t[out].y     = y + positions[in*2 + 1];
            
            out += 1;
        }
    }
    
    cairo_set_font_face(cairo, fCairoFace);
    cairo_set_font_size(cairo, getXPixelsPerEm() * getScaleFactorX());
    cairo_show_glyphs(cairo, glyph_t, out);
    
    LE_DELETE_ARRAY(glyph_t);
}
share/doc/alt-libicu65-devel/samples/layout/resource.h000064400000001613150470307460016700 0ustar00//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
// Corporation and others. All Rights Reserved.
// Copyright (c) 2001-2003 International Business Machines
// Corporation and others. All Rights Reserved.
// Used by LayoutSample.rc
//
#define IDM_FILE_NEWSAMPLE              40001
#define IDM_FILE_OPEN                   40002
#define IDM_FILE_CLOSE                  40003
#define IDM_FILE_EXIT                   40004
#define IDM_HELP_ABOUTLAYOUTSAMPLE      40005

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        104
#define _APS_NEXT_COMMAND_VALUE         40006
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif
share/doc/alt-libicu65-devel/samples/layout/GnomeFontInstance.h000064400000007450150470307460020437 0ustar00
/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2006, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GnomeFontInstance.h
 *
 *   created on: 08/30/2001
 *   created by: Eric R. Mader
 */

#ifndef __GNOMEFONTINSTANCE_H
#define __GNOMEFONTINSTANCE_H

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
#include <cairo.h>

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"

#include "RenderingSurface.h"
#include "FontTableCache.h"
#include "cmaps.h"

class GnomeSurface : public RenderingSurface
{
public:
    GnomeSurface(GtkWidget *theWidget);
    virtual ~GnomeSurface();

    virtual void drawGlyphs(const LEFontInstance *font, const LEGlyphID *glyphs, le_int32 count,
        const float *positions, le_int32 x, le_int32 y, le_int32 width, le_int32 height);

    GtkWidget *getWidget() const;
    void setWidget(GtkWidget *theWidget);

private:
    GtkWidget *fWidget;
    cairo_t   *fCairo;
};

class GnomeFontInstance : public LEFontInstance, protected FontTableCache
{
 protected:
    FT_Face fFace;
//  FT_Glyph fGlyph;
    
    cairo_font_face_t *fCairoFace;

    le_int32 fPointSize;
    le_int32 fUnitsPerEM;
    le_int32 fAscent;
    le_int32 fDescent;
    le_int32 fLeading;

    float fDeviceScaleX;
    float fDeviceScaleY;

    CMAPMapper *fMapper;

    virtual const void *readFontTable(LETag tableTag) const;

    virtual LEErrorCode initMapper();

 public:
    GnomeFontInstance(FT_Library engine, const char *fontPathName, le_int16 pointSize, LEErrorCode &status);

    virtual ~GnomeFontInstance();

    virtual const void *getFontTable(LETag tableTag) const;

    virtual le_int32 getUnitsPerEM() const;

    virtual le_int32 getAscent() const;

    virtual le_int32 getDescent() const;

    virtual le_int32 getLeading() const;

    virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const;

    virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const;

    virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const;

    float getXPixelsPerEm() const;

    float getYPixelsPerEm() const;

    float getScaleFactorX() const;

    float getScaleFactorY() const;

    void rasterizeGlyphs(cairo_t *cairo, const LEGlyphID *glyphs, le_int32 glyphCount, const float *positions,
				   le_int32 x, le_int32 y) const;
};

inline GtkWidget *GnomeSurface::getWidget() const
{
    return fWidget;
}

inline void GnomeSurface::setWidget(GtkWidget *theWidget)
{
    fWidget = theWidget;
}

/*
inline FT_Instance GnomeFontInstance::getFont() const
{
    return fInstance;
}
*/

inline le_int32 GnomeFontInstance::getUnitsPerEM() const
{
    return fUnitsPerEM;
}

inline le_int32 GnomeFontInstance::getAscent() const
{
    return fAscent;
}

inline le_int32 GnomeFontInstance::getDescent() const
{
    return fDescent;
}

inline le_int32 GnomeFontInstance::getLeading() const
{
    return fLeading;
}

inline LEGlyphID GnomeFontInstance::mapCharToGlyph(LEUnicode32 ch) const
{
    return fMapper->unicodeToGlyph(ch);
}

inline float GnomeFontInstance::getXPixelsPerEm() const
{
    return (float) fPointSize;
}

inline float GnomeFontInstance::getYPixelsPerEm() const
{
    return  (float) fPointSize;
}

inline float GnomeFontInstance::getScaleFactorX() const
{
    return fDeviceScaleX;
}

inline float GnomeFontInstance::getScaleFactorY() const
{
    return fDeviceScaleY;
}

#endif
share/doc/alt-libicu65-devel/samples/layout/UnicodeReader.cpp000064400000010152150470307460020113 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2005, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#include <errno.h>
#include <stdio.h>
#include <string.h>

#include "unicode/utypes.h"
#include "unicode/unistr.h"

#include "layout/LETypes.h"

#include "GUISupport.h"
#include "UnicodeReader.h"

#define BYTE(b) (((int) b) & 0xFF)

/*
 * Read the text from a file. The text must start with a Unicode Byte
 * Order Mark (BOM) so that we know what order to read the bytes in.
 */
const UChar *UnicodeReader::readFile(const char *fileName, GUISupport *guiSupport, int32_t &charCount)
{
    FILE *f;
    int32_t fileSize;
    
    UChar *charBuffer;
    char *byteBuffer;
    char startBytes[4] = {'\xA5', '\xA5', '\xA5', '\xA5'};
    char errorMessage[128];
    const char *cp = "";
    int32_t signatureLength = 0;
    
    f = fopen(fileName, "rb");
    
    if( f == NULL ) {
        sprintf(errorMessage,"Couldn't open %s: %s \n", fileName, strerror(errno));
        guiSupport->postErrorMessage(errorMessage, "Text File Error");
        return 0;
    }
    
    fseek(f, 0, SEEK_END);
    fileSize = ftell(f);

    fseek(f, 0, SEEK_SET);
    fread(startBytes, sizeof(char), 4, f);

    if (startBytes[0] == '\xFE' && startBytes[1] == '\xFF') {
        cp = "UTF-16BE";
        signatureLength = 2;
    } else if (startBytes[0] == '\xFF' && startBytes[1] == '\xFE') {
        if (startBytes[2] == '\x00' && startBytes[3] == '\x00') {
            cp = "UTF-32LE";
            signatureLength = 4;
        } else {
            cp = "UTF-16LE";
            signatureLength = 2;
        }
    } else if (startBytes[0] == '\xEF' && startBytes[1] == '\xBB' && startBytes[2] == '\xBF') {
        cp = "UTF-8";
        signatureLength = 3;
    } else if (startBytes[0] == '\x0E' && startBytes[1] == '\xFE' && startBytes[2] == '\xFF') {
        cp = "SCSU";
        signatureLength = 3;
    } else if (startBytes[0] == '\x00' && startBytes[1] == '\x00' &&
        startBytes[2] == '\xFE' && startBytes[3] == '\xFF') {
        cp = "UTF-32BE";
        signatureLength = 4;
    } else {
        sprintf(errorMessage, "Couldn't detect the encoding of %s: (%2.2X, %2.2X, %2.2X, %2.2X)\n", fileName,
                    BYTE(startBytes[0]), BYTE(startBytes[1]), BYTE(startBytes[2]), BYTE(startBytes[3]));
        guiSupport->postErrorMessage(errorMessage, "Text File Error");
        fclose(f);
        return 0;
    }
        
    fileSize -= signatureLength;
    fseek(f, signatureLength, SEEK_SET);
    byteBuffer = new char[fileSize];
    
    if(byteBuffer == 0) {
        sprintf(errorMessage,"Couldn't get memory for reading %s: %s \n", fileName, strerror(errno));
        guiSupport->postErrorMessage(errorMessage, "Text File Error");
        fclose(f);
        return 0;
    }
    
    fread(byteBuffer, sizeof(char), fileSize, f);
    if( ferror(f) ) {
        sprintf(errorMessage,"Couldn't read %s: %s \n", fileName, strerror(errno));
        guiSupport->postErrorMessage(errorMessage, "Text File Error");
        fclose(f);
        delete[] byteBuffer;
        return 0;
    }
    fclose(f);
    
    UnicodeString myText(byteBuffer, fileSize, cp);

    delete[] byteBuffer;
    
    charCount = myText.length();
    charBuffer = LE_NEW_ARRAY(UChar, charCount + 1);
    if(charBuffer == 0) {
        sprintf(errorMessage,"Couldn't get memory for reading %s: %s \n", fileName, strerror(errno));
        guiSupport->postErrorMessage(errorMessage, "Text File Error");
        return 0;
    }
    
    myText.extract(0, myText.length(), charBuffer);
    charBuffer[charCount] = 0;    // NULL terminate for easier reading in the debugger
    
    return charBuffer;
}

share/doc/alt-libicu65-devel/samples/layout/ScriptCompositeFontInstance.h000064400000014236150470307460022521 0ustar00/*
 * %W% %E%
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved
 *
 */

#ifndef __SCRIPTCOMPOSITEFONTINSTANCE_H
#define __SCRIPTCOMPOSITEFONTINSTANCE_H

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"

#include "FontMap.h"

// U_NAMESPACE_BEGIN

class ScriptCompositeFontInstance : public LEFontInstance
{
public:

    ScriptCompositeFontInstance(FontMap *fontMap);

    virtual ~ScriptCompositeFontInstance();

      /**
     * Get a physical font which can render the given text. For composite fonts,
     * if there is no single physical font which can render all of the text,
     * return a physical font which can render an initial substring of the text,
     * and set the <code>offset</code> parameter to the end of that substring.
     *
     * Internally, the LayoutEngine works with runs of text all in the same
     * font and script, so it is best to call this method with text which is
     * in a single script, passing the script code in as a hint. If you don't
     * know the script of the text, you can use zero, which is the script code
     * for characters used in more than one script.
     *
     * The default implementation of this method is intended for instances of
     * <code>LEFontInstance</code> which represent a physical font. It returns
     * <code>this</code> and indicates that the entire string can be rendered.
     *
     * This method will return a valid <code>LEFontInstance</code> unless you
     * have passed illegal parameters, or an internal error has been encountered. 
     * For composite fonts, it may return the warning <code>LE_NO_SUBFONT_WARNING</code>
     * to indicate that the returned font may not be able to render all of
     * the text. Whenever a valid font is returned, the <code>offset</code> parameter
     * will be advanced by at least one.
     *
     * Subclasses which implement composite fonts must override this method.
     * Where it makes sense, they should use the script code as a hint to render
     * characters from the COMMON script in the font which is used for the given
     * script. For example, if the input text is a series of Arabic words separated
     * by spaces, and the script code passed in is <code>arabScriptCode</code> you
     * should return the font used for Arabic characters for all of the input text,
     * including the spaces. If, on the other hand, the input text contains characters
     * which cannot be rendered by the font used for Arabic characters, but which can
     * be rendered by another font, you should return that font for those characters.
     *
     * @param chars   - the array of Unicode characters.
     * @param offset  - a pointer to the starting offset in the text. On exit this
     *                  will be set the the limit offset of the text which can be
     *                  rendered using the returned font.
     * @param limit   - the limit offset for the input text.
     * @param script  - the script hint.
     * @param success - set to an error code if the arguments are illegal, or no font
     *                  can be returned for some reason. May also be set to
     *                  <code>LE_NO_SUBFONT_WARNING</code> if the subfont which
     *                  was returned cannot render all of the text.
     *
     * @return an <code>LEFontInstance</code> for the sub font which can render the characters, or
     *         <code>NULL</code> if there is an error.
     *
     * @see LEScripts.h
     */
    virtual const LEFontInstance *getSubFont(const LEUnicode chars[], le_int32 *offset, le_int32 limit, le_int32 script, LEErrorCode &success) const;

    /**
     * This method maps a single character to a glyph index, using the
     * font's charcter to glyph map.
     *
     * @param ch - the character
     *
     * @return the glyph index
     */
    virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const;

    virtual const void *getFontTable(LETag tableTag) const;

    virtual le_int32 getUnitsPerEM() const;

    virtual le_int32 getAscent() const;

    virtual le_int32 getDescent() const;

    virtual le_int32 getLeading() const;

    virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const;

    virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const;

    float getXPixelsPerEm() const;

    float getYPixelsPerEm() const;

    float getScaleFactorX() const;

    float getScaleFactorY() const;

    /**
     * ICU "poor man's RTTI", returns a UClassID for the actual class.
     */
    virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); }

    /**
     * ICU "poor man's RTTI", returns a UClassID for this class.
     */
    static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; }

protected:
    FontMap *fFontMap;

private:

    /**
     * The address of this static class variable serves as this class's ID
     * for ICU "poor man's RTTI".
     */
    static const char fgClassID;
};

inline const void *ScriptCompositeFontInstance::getFontTable(LETag /*tableTag*/) const
{
    return NULL;
}

// Can't get units per EM without knowing which sub-font, so
// return a value that will make units == points
inline le_int32 ScriptCompositeFontInstance::getUnitsPerEM() const
{
    return 1;
}

inline le_int32 ScriptCompositeFontInstance::getAscent() const
{
    return fFontMap->getAscent();
}

inline le_int32 ScriptCompositeFontInstance::getDescent() const
{
    return fFontMap->getDescent();
}

inline le_int32 ScriptCompositeFontInstance::getLeading() const
{
    return fFontMap->getLeading();
}

inline float ScriptCompositeFontInstance::getXPixelsPerEm() const
{
    return fFontMap->getPointSize();
}

inline float ScriptCompositeFontInstance::getYPixelsPerEm() const
{
    return fFontMap->getPointSize();
}

// Can't get a scale factor without knowing the sub-font, so
// return 1.0.
inline float ScriptCompositeFontInstance::getScaleFactorX() const
{
    return 1.0;
}

// Can't get a scale factor without knowing the sub-font, so
// return 1.0
inline float ScriptCompositeFontInstance::getScaleFactorY() const
{
    return 1.0;
}

// U_NAMESPACE_END
#endif
share/doc/alt-libicu65-devel/samples/layout/layout.sln000064400000002262150470307460016734 0ustar00Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "layout", "layout.vcxproj", "{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|Win32.ActiveCfg = Debug|Win32
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|Win32.Build.0 = Debug|Win32
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|x64.ActiveCfg = Debug|x64
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Debug|x64.Build.0 = Debug|x64
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|Win32.ActiveCfg = Release|Win32
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|Win32.Build.0 = Release|Win32
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|x64.ActiveCfg = Release|x64
		{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}.Release|x64.Build.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
share/doc/alt-libicu65-devel/samples/layout/GnomeFontMap.cpp000064400000002623150470307460017740 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2006, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#include <stdio.h>

#include <ft2build.h>
#include FT_FREETYPE_H

#include "layout/LEFontInstance.h"
#include "GnomeFontInstance.h"

#include "GUISupport.h"
#include "FontMap.h"
#include "GnomeFontMap.h"

GnomeFontMap::GnomeFontMap(FT_Library engine, const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status)
    : FontMap(fileName, pointSize, guiSupport, status), fEngine(engine)
{
    // nothing to do?
}

GnomeFontMap::~GnomeFontMap()
{
    // anything?
}

const LEFontInstance *GnomeFontMap::openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status)
{
    LEFontInstance *result = new GnomeFontInstance(fEngine, fontName, pointSize, status);

    if (LE_FAILURE(status)) {
      delete result;
      result = NULL;
    }

    return result;
}
share/doc/alt-libicu65-devel/samples/layout/gdiglue.h000064400000001727150470307460016477 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __GDIGLUE_H
#define __GDIGLUE_H

#include <windows.h>

#include "unicode/utypes.h"

#include "LETypes.h"
#include "loengine.h"
#include "gsupport.h"
#include "rsurface.h"

typedef void fm_fontMap;

U_CDECL_BEGIN

gs_guiSupport *gs_gdiGuiSupportOpen();
void gs_gdiGuiSupportClose(gs_guiSupport *guiSupport);

rs_surface *rs_gdiRenderingSurfaceOpen(HDC hdc);
void rs_gdiRenderingSurfaceSetHDC(rs_surface *surface, HDC hdc);
void rs_gdiRenderingSurfaceClose(rs_surface *surface);

fm_fontMap *fm_gdiFontMapOpen(rs_surface *surface, const char *fileName, le_int16 pointSize, gs_guiSupport *guiSupport, LEErrorCode *status); 
void fm_fontMapClose(fm_fontMap *fontMap);

le_font *le_scriptCompositeFontOpen(fm_fontMap *fontMap);
void le_fontClose(le_font *font);

U_CDECL_END

#endif
share/doc/alt-libicu65-devel/samples/layout/rsurface.h000064400000001020150470307460016653 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __RSURFACE_H
#define __RSURFACE_H

#include "loengine.h"

typedef void rs_surface;

U_CDECL_BEGIN

void rs_drawGlyphs(rs_surface *surface, const le_font *font, const LEGlyphID *glyphs, le_int32 count,
                   const float *positions, le_int32 x, le_int32 y, le_int32 width, le_int32 height);

U_CDECL_END

#endif
share/doc/alt-libicu65-devel/samples/layout/layout.vcxproj.filters000064400000006074150470307460021307 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{d95d859b-6ae7-4ac2-953c-511411f74b77}</UniqueIdentifier>
      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{8e82936c-dd21-49c1-9174-d88411b4b9c7}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{d7b63b8f-73c9-48ca-b0cb-fa6a537901c4}</UniqueIdentifier>
      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="cmaps.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="FontMap.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="FontTableCache.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="GDIFontInstance.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="GDIFontMap.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="GDIGUISupport.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="layout.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="paragraph.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="ScriptCompositeFontInstance.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="UnicodeReader.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="LayoutSample.rc">
      <Filter>Source Files</Filter>
    </ResourceCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="cmaps.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="FontMap.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="FontTableCache.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="GDIFontInstance.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="GDIFontMap.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="GDIGUISupport.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="GUISupport.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="paragraph.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="RenderingSurface.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="resource.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="ScriptCompositeFontInstance.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="sfnt.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="UnicodeReader.h">
      <Filter>Header Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/layout/Surface.h000064400000001007150470307460016436 0ustar00/*
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *   Copyright (C) 2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 */
class Surface
{
public:
    Surface(/*what?*/);

    void setFont(RenderingFontInstance *font);

    void drawGlyphs(RenderingFontInstance *font, const LEGlyphID *glyphs, le_int32 count, const le_int32 *dx,
        le_int32 x, le_int32 y, le_int32 width, le_int32 height);
};
share/doc/alt-libicu65-devel/samples/layout/layout.vcxproj000064400000031662150470307460017641 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{497500ED-DE1D-4B20-B529-F41B5A0FBEEB}</ProjectGuid>
  </PropertyGroup>
  <PropertyGroup Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Release/layout.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;NDEBUG;_CONSOLE;WIN32;UNICODE;_CRT_SECURE_NO_DEPRECATE;LE_USE_CMEMORY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Release/layout.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>..\..\..\lib\iculx.lib;..\..\..\lib\icule.lib;..\..\..\lib\icuuc.lib;..\..\..\lib\icuin.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Release/layout.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <ProgramDatabaseFile>.\x86\Release/layout.pdb</ProgramDatabaseFile>
      <SubSystem>Windows</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Release/layout.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN64;WIN32;UNICODE;_CRT_SECURE_NO_DEPRECATE;LE_USE_CMEMORY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Release/layout.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>..\..\..\lib64\iculx.lib;..\..\..\lib64\icule.lib;..\..\..\lib64\icuuc.lib;..\..\..\lib64\icuin.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Release/layout.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <ProgramDatabaseFile>.\x64\Release/layout.pdb</ProgramDatabaseFile>
      <SubSystem>Windows</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Midl>
      <TypeLibraryName>.\x86\Debug/layout.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;_DEBUG;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x86\Debug/layout.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>..\..\..\lib\iculxd.lib;..\..\..\lib\iculed.lib;..\..\..\lib\icuucd.lib;..\..\..\lib\icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x86\Debug/layout.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x86\Debug/layout.pdb</ProgramDatabaseFile>
      <SubSystem>Windows</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
      <TypeLibraryName>.\x64\Debug/layout.tlb</TypeLibraryName>
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\layout;..\..\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>_DEBUG;WIN64;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <PrecompiledHeaderOutputFile>.\x64\Debug/layout.pch</PrecompiledHeaderOutputFile>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
      <WarningLevel>Level3</WarningLevel>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAs>Default</CompileAs>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <AdditionalDependencies>..\..\..\lib64\iculxd.lib;..\..\..\lib64\iculed.lib;..\..\..\lib64\icuucd.lib;..\..\..\lib64\icuind.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>.\x64\Debug/layout.exe</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\x64\Debug/layout.pdb</ProgramDatabaseFile>
      <SubSystem>Windows</SubSystem>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="cmaps.cpp" />
    <ClCompile Include="FontMap.cpp" />
    <ClCompile Include="FontTableCache.cpp" />
    <ClCompile Include="GDIFontInstance.cpp" />
    <ClCompile Include="GDIFontMap.cpp" />
    <ClCompile Include="GDIGUISupport.cpp" />
    <ClCompile Include="layout.cpp" />
    <ClCompile Include="paragraph.cpp" />
    <ClCompile Include="ScriptCompositeFontInstance.cpp" />
    <ClCompile Include="UnicodeReader.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="LayoutSample.rc" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="cmaps.h" />
    <ClInclude Include="FontMap.h" />
    <ClInclude Include="FontTableCache.h" />
    <ClInclude Include="GDIFontInstance.h" />
    <ClInclude Include="GDIFontMap.h" />
    <ClInclude Include="GDIGUISupport.h" />
    <ClInclude Include="GUISupport.h" />
    <ClInclude Include="paragraph.h" />
    <ClInclude Include="RenderingSurface.h" />
    <ClInclude Include="resource.h" />
    <ClInclude Include="ScriptCompositeFontInstance.h" />
    <ClInclude Include="sfnt.h" />
    <ClInclude Include="UnicodeReader.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/layout/FontMap.GDI000064400000000652150470307460016573 0ustar00# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html#License
#
# Copyright (C) 2001-2010, International Business Machines
# Corporation and others.  All Rights Reserved.
#
# This is a sample FontMap file for Windows.
# Fonts are specified by font name, as shown
# in the "Fonts" folder.

  DEVANAGARI: Raghindi
  THAI: Courier MonoThai
  DEFAULT: Code2000

share/doc/alt-libicu65-devel/samples/layout/paragraph.h000064400000004270150470307460017020 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  Paragraph.h
 *
 *   created on: 09/06/2000
 *   created by: Eric R. Mader
 */
#ifndef __PARAGRAPH_H
#define __PARAGRAPH_H

#include "unicode/utypes.h"
#include "unicode/ubidi.h"

#include "layout/LEFontInstance.h"
#include "layout/ParagraphLayout.h"

#include "GUISupport.h"
#include "RenderingSurface.h"

U_NAMESPACE_USE

#define MARGIN 10

#if 0
class LineInfo;
#endif

class Paragraph
{
public:
    Paragraph(const LEUnicode chars[], le_int32 charCount, const FontRuns *fontRuns, LEErrorCode &status);

    ~Paragraph();

    le_int32 getAscent();
    le_int32 getLineHeight();
    le_int32 getLineCount();
    void breakLines(le_int32 width, le_int32 height);
    void draw(RenderingSurface *surface, le_int32 firstLine, le_int32 lastLine);

    static Paragraph *paragraphFactory(const char *fileName, const LEFontInstance *font, GUISupport *guiSupport);

private:
    void addLine(const ParagraphLayout::Line *line);

    ParagraphLayout **fParagraphLayout;

    le_int32          fParagraphCount;
    le_int32          fParagraphMax;
    le_int32          fParagraphGrow;
    
    le_int32          fLineCount;
    le_int32          fLinesMax;
    le_int32          fLinesGrow;

    const ParagraphLayout::Line **fLines;
          LEUnicode *fChars;

    le_int32         fLineHeight;
    le_int32         fAscent;
    le_int32         fWidth;
    le_int32         fHeight;
    UBiDiLevel       fParagraphLevel;
};

inline le_int32 Paragraph::getLineHeight()
{
    return fLineHeight;
}

inline le_int32 Paragraph::getLineCount()
{
    return fLineCount;
}

inline le_int32 Paragraph::getAscent()
{
    return fAscent;
}

#endif


share/doc/alt-libicu65-devel/samples/layout/layout.cpp000064400000023460150470307460016725 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2007, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  Layout.cpp
 *
 *   created on: 08/03/2000
 *   created by: Eric R. Mader
 */

#include <windows.h>
#include <stdio.h>

#include "paragraph.h"

#include "GDIGUISupport.h"
#include "GDIFontMap.h"
#include "UnicodeReader.h"
#include "ScriptCompositeFontInstance.h"

#include "resource.h"

#define ARRAY_LENGTH(array) (sizeof array / sizeof array[0])

struct Context
{
    le_int32 width;
    le_int32 height;
    Paragraph *paragraph;
};

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

#define APP_NAME "LayoutSample"

TCHAR szAppName[] = TEXT(APP_NAME);

void PrettyTitle(HWND hwnd, char *fileName)
{
    char title[MAX_PATH + 64];

    sprintf(title, "%s - %s", APP_NAME, fileName);

    SetWindowTextA(hwnd, title);
}

void InitParagraph(HWND hwnd, Context *context)
{
    SCROLLINFO si;

    if (context->paragraph != NULL) {
        // FIXME: does it matter what we put in the ScrollInfo
        // if the window's been minimized?
        if (context->width > 0 && context->height > 0) {
            context->paragraph->breakLines(context->width, context->height);
        }

        si.cbSize = sizeof si;
        si.fMask = SIF_RANGE | SIF_PAGE | SIF_DISABLENOSCROLL;
        si.nMin = 0;
        si.nMax = context->paragraph->getLineCount() - 1;
        si.nPage = context->height / context->paragraph->getLineHeight();
        SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
    }
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    HWND hwnd;
    HACCEL hAccel;
    MSG msg;
    WNDCLASS wndclass;
    LEErrorCode status = LE_NO_ERROR;

    wndclass.style         = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc   = WndProc;
    wndclass.cbClsExtra    = 0;
    wndclass.cbWndExtra    = sizeof(LONG);
    wndclass.hInstance     = hInstance;
    wndclass.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName  = szAppName;
    wndclass.lpszClassName = szAppName;

    if (!RegisterClass(&wndclass)) {
        MessageBox(NULL, TEXT("This demo only runs on Windows 2000!"), szAppName, MB_ICONERROR);

        return 0;
    }

    hAccel = LoadAccelerators(hInstance, szAppName);

    hwnd = CreateWindow(szAppName, NULL,
                        WS_OVERLAPPEDWINDOW | WS_VSCROLL,
                        CW_USEDEFAULT, CW_USEDEFAULT,
                        600, 400,
                        NULL, NULL, hInstance, NULL);

    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);

    while (GetMessage(&msg, NULL, 0, 0)) {
        if (!TranslateAccelerator(hwnd, hAccel, &msg)) {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    UnregisterClass(szAppName, hInstance);
    return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC hdc;
    Context *context;
    static le_int32 windowCount = 0;
    static GDIFontMap *fontMap = NULL;
    static GDISurface *surface = NULL;
    static GDIGUISupport *guiSupport = new GDIGUISupport();
    static ScriptCompositeFontInstance *font = NULL;

    switch (message) {
    case WM_CREATE:
    {
        LEErrorCode fontStatus = LE_NO_ERROR;

        hdc = GetDC(hwnd);
        surface = new GDISurface(hdc);

        fontMap = new GDIFontMap(surface, "FontMap.GDI", 24, guiSupport, fontStatus);
        font    = new ScriptCompositeFontInstance(fontMap);

        if (LE_FAILURE(fontStatus)) {
            ReleaseDC(hwnd, hdc);
            return -1;
        }

        context = new Context();

        context->width  = 600;
        context->height = 400;

        context->paragraph = Paragraph::paragraphFactory("Sample.txt", font, guiSupport);
        SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR) context);

        windowCount += 1;
        ReleaseDC(hwnd, hdc);

        PrettyTitle(hwnd, "Sample.txt");
        return 0;
    }

    case WM_SIZE:
    {
        context = (Context *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
        context->width  = LOWORD(lParam);
        context->height = HIWORD(lParam);

        InitParagraph(hwnd, context);
        return 0;
    }

    case WM_VSCROLL:
    {
        SCROLLINFO si;
        le_int32 vertPos;

        si.cbSize = sizeof si;
        si.fMask = SIF_ALL;
        GetScrollInfo(hwnd, SB_VERT, &si);

        vertPos = si.nPos;

        switch (LOWORD(wParam))
        {
        case SB_TOP:
            si.nPos = si.nMin;
            break;

        case SB_BOTTOM:
            si.nPos = si.nMax;
            break;

        case SB_LINEUP:
            si.nPos -= 1;
            break;

        case SB_LINEDOWN:
            si.nPos += 1;
            break;

        case SB_PAGEUP:
            si.nPos -= si.nPage;
            break;

        case SB_PAGEDOWN:
            si.nPos += si.nPage;
            break;

        case SB_THUMBTRACK:
            si.nPos = si.nTrackPos;
            break;

        default:
            break;
        }

        si.fMask = SIF_POS;
        SetScrollInfo(hwnd, SB_VERT, &si, TRUE);
        GetScrollInfo(hwnd, SB_VERT, &si);

        context = (Context *) GetWindowLongPtr(hwnd, GWLP_USERDATA);

        if (context->paragraph != NULL && si.nPos != vertPos) {
            ScrollWindow(hwnd, 0, context->paragraph->getLineHeight() * (vertPos - si.nPos), NULL, NULL);
            UpdateWindow(hwnd);
        }

        return 0;
    }

    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        SCROLLINFO si;
        le_int32 firstLine, lastLine;

        hdc = BeginPaint(hwnd, &ps);
        SetBkMode(hdc, TRANSPARENT);

        si.cbSize = sizeof si;
        si.fMask = SIF_ALL;
        GetScrollInfo(hwnd, SB_VERT, &si);

        firstLine = si.nPos;

        context = (Context *) GetWindowLongPtr(hwnd, GWLP_USERDATA);

        if (context->paragraph != NULL) {
            surface->setHDC(hdc);

            // NOTE: si.nPos + si.nPage may include a partial line at the bottom
            // of the window. We need this because scrolling assumes that the
            // partial line has been painted.
            lastLine  = min (si.nPos + (le_int32) si.nPage, context->paragraph->getLineCount() - 1);

            context->paragraph->draw(surface, firstLine, lastLine);
        }

        EndPaint(hwnd, &ps);
        return 0;
    }

    case WM_COMMAND:
        switch (LOWORD(wParam)) {
        case IDM_FILE_OPEN:
        {
            OPENFILENAMEA ofn;
            char szFileName[MAX_PATH], szTitleName[MAX_PATH];
            static char szFilter[] = "Text Files (.txt)\0*.txt\0"
                                     "All Files (*.*)\0*.*\0\0";

            ofn.lStructSize       = sizeof (OPENFILENAMEA);
            ofn.hwndOwner         = hwnd;
            ofn.hInstance         = NULL;
            ofn.lpstrFilter       = szFilter;
            ofn.lpstrCustomFilter = NULL;
            ofn.nMaxCustFilter    = 0;
            ofn.nFilterIndex      = 0;
            ofn.lpstrFile         = szFileName;
            ofn.nMaxFile          = MAX_PATH;
            ofn.lpstrFileTitle    = szTitleName;
            ofn.nMaxFileTitle     = MAX_PATH;
            ofn.lpstrInitialDir   = NULL;
            ofn.lpstrTitle        = NULL;
            ofn.Flags             = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
            ofn.nFileOffset       = 0;
            ofn.nFileExtension    = 0;
            ofn.lpstrDefExt       = "txt";
            ofn.lCustData         = 0L;
            ofn.lpfnHook          = NULL;
            ofn.lpTemplateName    = NULL;

            szFileName[0] = '\0';

            if (GetOpenFileNameA(&ofn)) {
                hdc = GetDC(hwnd);
                surface->setHDC(hdc);

                Paragraph *newParagraph = Paragraph::paragraphFactory(szFileName, font, guiSupport);

                if (newParagraph != NULL) {
                    context = (Context *) GetWindowLongPtr(hwnd, GWLP_USERDATA);

                    if (context->paragraph != NULL) {
                        delete context->paragraph;
                    }

                    context->paragraph = newParagraph;
                    InitParagraph(hwnd, context);
                    PrettyTitle(hwnd, szTitleName);
                    InvalidateRect(hwnd, NULL, TRUE);

                }
            }

            //ReleaseDC(hwnd, hdc);

            return 0;
        }

        case IDM_FILE_EXIT:
        case IDM_FILE_CLOSE:
            SendMessage(hwnd, WM_CLOSE, 0, 0);
            return 0;

        case IDM_HELP_ABOUTLAYOUTSAMPLE:
            MessageBox(hwnd, TEXT("Windows Layout Sample 0.1\n")
                             TEXT("Copyright (C) 1998-2005 By International Business Machines Corporation and others.\n")
                             TEXT("Author: Eric Mader"),
                       szAppName, MB_ICONINFORMATION | MB_OK);
            return 0;

        }
        break;


    case WM_DESTROY:
    {
        context = (Context *) GetWindowLongPtr(hwnd, GWLP_USERDATA);

        if (context != NULL && context->paragraph != NULL) {
            delete context->paragraph;
        }

        delete context;

        if (--windowCount <= 0) {
            delete font;
            delete surface;

            PostQuitMessage(0);
        }

        return 0;
    }

    default:
        return DefWindowProc(hwnd, message, wParam, lParam);
    }

    return 0;
}
share/doc/alt-libicu65-devel/samples/layout/gnomeglue.cpp000064400000003222150470307460017364 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H

#include "unicode/utypes.h"
#include "loengine.h"
#include "rsurface.h"
#include "gsupport.h"

#include "gnomeglue.h"

#include "LETypes.h"
#include "LEFontInstance.h"
#include "GnomeGUISupport.h"
#include "GnomeFontMap.h"
#include "GnomeFontInstance.h"
#include "ScriptCompositeFontInstance.h"


U_CDECL_BEGIN

gs_guiSupport *gs_gnomeGuiSupportOpen()
{
    return (gs_guiSupport *) new GnomeGUISupport();
}

void gs_gnomeGuiSupportClose(gs_guiSupport *guiSupport)
{
    GnomeGUISupport *gs = (GnomeGUISupport *) guiSupport;

    delete gs;
}

rs_surface *rs_gnomeRenderingSurfaceOpen(GtkWidget *theWidget)
{
    return (rs_surface *) new GnomeSurface(theWidget);
}

void rs_gnomeRenderingSurfaceClose(rs_surface *surface)
{
    GnomeSurface *rs = (GnomeSurface *) surface;

    delete rs;
}

fm_fontMap *fm_gnomeFontMapOpen(FT_Library engine, const char *fileName, le_int16 pointSize, gs_guiSupport *guiSupport, LEErrorCode *status)
{
    return (fm_fontMap *) new GnomeFontMap(engine, fileName, pointSize, (GnomeGUISupport *) guiSupport, *status);
}

void fm_fontMapClose(fm_fontMap *fontMap)
{
    GnomeFontMap *fm = (GnomeFontMap *) fontMap;

    delete fm;
}

le_font *le_scriptCompositeFontOpen(fm_fontMap *fontMap)
{
    return (le_font *) new ScriptCompositeFontInstance((FontMap *) fontMap);
}

void le_fontClose(le_font *font)
{
    LEFontInstance *fi = (LEFontInstance *) font;

    delete fi;
}

U_CDECL_END
share/doc/alt-libicu65-devel/samples/layout/pflow.c000064400000022422150470307460016174 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#include "unicode/utypes.h"
#include "unicode/uchar.h"
#include "unicode/ubidi.h"
#include "unicode/ustring.h"

#include "layout/LETypes.h"

#include "layout/loengine.h"
#include "layout/playout.h"
#include "layout/plruns.h"

#include "pflow.h"

#include "arraymem.h"
#include "ucreader.h"

/*
 * Move the line below out of this comment
 * to add a locale run to the pl_paragraphs
 * that are created.
#define TEST_LOCALE "zh_TW"
 */

#define MARGIN 10
#define LINE_GROW 32
#define PARA_GROW 8

#define CH_LF 0x000A
#define CH_CR 0x000D
#define CH_LSEP 0x2028
#define CH_PSEP 0x2029

struct pf_object
{
    pl_paragraph    **fParagraphLayout;

    le_int32          fParagraphCount;
    le_int32          fParagraphMax;
    le_int32          fParagraphGrow;
    
    le_int32          fLineCount;
    le_int32          fLinesMax;
    le_int32          fLinesGrow;

    pl_line         **fLines;

   LEUnicode         *fChars;

    le_int32          fLineHeight;
    le_int32          fAscent;
    le_int32          fWidth;
    le_int32          fHeight;
    UBiDiLevel        fParagraphLevel;
};

typedef struct pf_object pf_object;


static LEUnicode *skipLineEnd(LEUnicode *ptr)
{
    if (ptr[0] == CH_CR && ptr[1] == CH_LF) {
        ptr += 1;
    }

    return ptr + 1;
}

static le_int32 findFontRun(const pl_fontRuns *fontRuns, le_int32 offset)
{
    le_int32 runCount = pl_getFontRunCount(fontRuns);
    le_int32 run;

    for (run = 0; run < runCount; run += 1) {
        if (pl_getFontRunLimit(fontRuns, run) > offset) {
            return run;
        }
    }

    return -1;
}

static void subsetFontRuns(const pl_fontRuns *fontRuns, le_int32 start, le_int32 limit, pl_fontRuns *sub)
{
    le_int32 startRun = findFontRun(fontRuns, start);
    le_int32 endRun   = findFontRun(fontRuns, limit - 1);
    le_int32 run;

    pl_resetFontRuns(sub);

    for (run = startRun; run <= endRun; run += 1) {
        const le_font *runFont = pl_getFontRunFont(fontRuns, run);
        le_int32 runLimit = pl_getFontRunLimit(fontRuns, run) - start;

        if (run == endRun) {
            runLimit = limit - start;
        }

        pl_addFontRun(sub, runFont, runLimit);
    }
}

pf_flow *pf_create(const LEUnicode chars[], le_int32 charCount, const pl_fontRuns *fontRuns, LEErrorCode *status)
{
    pf_object *flow;
    le_int32 ascent  = 0;
    le_int32 descent = 0;
    le_int32 leading = 0;
	pl_localeRuns *locales = NULL;
    pl_fontRuns *fr;
    LEUnicode *pStart;
    static const LEUnicode separators[] = {CH_LF, CH_CR, CH_LSEP, CH_PSEP, 0x0000};

	if (LE_FAILURE(*status)) {
		return NULL;
	}

    flow = NEW_ARRAY(pf_object, 1);

    flow->fParagraphLayout = NULL;
    flow->fParagraphCount  = 0;
    flow->fParagraphMax    = PARA_GROW;
    flow->fParagraphGrow   = PARA_GROW;
    flow->fLineCount       = 0;
    flow->fLinesMax        = LINE_GROW;
    flow->fLinesGrow       = LINE_GROW;
    flow->fLines           = NULL;
    flow->fChars           = NULL;
    flow->fLineHeight      = -1;
    flow->fAscent          = -1;
    flow->fWidth           = -1;
    flow->fHeight          = -1;
    flow->fParagraphLevel  = UBIDI_DEFAULT_LTR;

    fr = pl_openEmptyFontRuns(0);

#ifdef TEST_LOCALE
    locales = pl_openEmptyLocaleRuns(0);
#endif

    flow->fLines = NEW_ARRAY(pl_line *, flow->fLinesMax);
    flow->fParagraphLayout = NEW_ARRAY(pl_paragraph *, flow->fParagraphMax);

    flow->fChars = NEW_ARRAY(LEUnicode, charCount + 1);
    LE_ARRAY_COPY(flow->fChars, chars, charCount);
    flow->fChars[charCount] = 0;

    pStart = &flow->fChars[0];

    while (*pStart != 0) {
        LEUnicode *pEnd = u_strpbrk(pStart, separators);
        le_int32 pAscent, pDescent, pLeading;
        pl_paragraph *paragraphLayout = NULL;

        if (pEnd == NULL) {
            pEnd = &flow->fChars[charCount];
        }

        if (pEnd != pStart) {
            subsetFontRuns(fontRuns, pStart - flow->fChars, pEnd - flow->fChars, fr);

#ifdef TEST_LOCALE
            pl_resetLocaleRuns(locales);
            pl_addLocaleRun(locales, TEST_LOCALE, pEnd - pStart);
#endif

            paragraphLayout = pl_create(pStart, pEnd - pStart, fr, NULL, NULL, locales, flow->fParagraphLevel, FALSE, status);

            if (LE_FAILURE(*status)) {
                break; /* return? something else? */
            }

            if (flow->fParagraphLevel == UBIDI_DEFAULT_LTR) {
                flow->fParagraphLevel = pl_getParagraphLevel(paragraphLayout);
            }

            pAscent  = pl_getAscent(paragraphLayout);
            pDescent = pl_getDescent(paragraphLayout);
            pLeading = pl_getLeading(paragraphLayout);

            if (pAscent > ascent) {
                ascent = pAscent;
            }

            if (pDescent > descent) {
                descent = pDescent;
            }

            if (pLeading > leading) {
                leading = pLeading;
            }
        }

        if (flow->fParagraphCount >= flow->fParagraphMax) {
            flow->fParagraphLayout = (pl_paragraph **) GROW_ARRAY(flow->fParagraphLayout, flow->fParagraphMax + flow->fParagraphGrow);
            flow->fParagraphMax += flow->fParagraphGrow;
        }

        flow->fParagraphLayout[flow->fParagraphCount++] = paragraphLayout;

        if (*pEnd == 0) {
            break;
        }

        pStart = skipLineEnd(pEnd);
    }

    flow->fLineHeight = ascent + descent + leading;
    flow->fAscent     = ascent;

    pl_closeLocaleRuns(locales);
    pl_closeFontRuns(fr);

    return (pf_flow *) flow;
}

void pf_close(pf_flow *flow)
{
    pf_object *obj = (pf_object *) flow;
    le_int32 i;

    for (i = 0; i < obj->fLineCount; i += 1) {
        DELETE_ARRAY(obj->fLines[i]);
    }

    DELETE_ARRAY(obj->fLines);

    for (i = 0; i < obj->fParagraphCount; i += 1) {
        pl_close(obj->fParagraphLayout[i]);
    }

    DELETE_ARRAY(obj->fParagraphLayout);

    DELETE_ARRAY(obj->fChars);

    DELETE_ARRAY(obj);
}


le_int32 pf_getAscent(pf_flow *flow)
{
    pf_object *obj = (pf_object *) flow;

    return obj->fAscent;
}

le_int32 pf_getLineHeight(pf_flow *flow)
{
    pf_object *obj = (pf_object *) flow;

    return obj->fLineHeight;
}

le_int32 pf_getLineCount(pf_flow *flow)
{
    pf_object *obj = (pf_object *) flow;

    return obj->fLineCount;
}

static void addLine(pf_object *obj, pl_line *line)
{
    if (obj->fLineCount >= obj->fLinesMax) {
        obj->fLines = (pl_line **) GROW_ARRAY(obj->fLines, obj->fLinesMax + obj->fLinesGrow);
        obj->fLinesMax += obj->fLinesGrow;
    }

    obj->fLines[obj->fLineCount++] = line;
}

void pf_breakLines(pf_flow *flow, le_int32 width, le_int32 height)
{
    pf_object *obj = (pf_object *) flow;
    le_int32 li, p;
    float lineWidth;
    pl_line *line;

    obj->fHeight = height;

    /* don't re-break if the width hasn't changed */
    if (obj->fWidth == width) {
        return;
    }

    obj->fWidth  = width;

    lineWidth = (float) (width - 2 * MARGIN);

    /* Free the old Lines... */
    for (li = 0; li < obj->fLineCount; li += 1) {
        pl_closeLine(obj->fLines[li]);
    }

    obj->fLineCount = 0;

    for (p = 0; p < obj->fParagraphCount; p += 1) {
        pl_paragraph *paragraphLayout = obj->fParagraphLayout[p];

        if (paragraphLayout != NULL) {
            pl_reflow(paragraphLayout);
            while ((line = pl_nextLine(paragraphLayout, lineWidth)) != NULL) {
                addLine(obj, line);
            }
        } else {
            addLine(obj, NULL);
        }
    }
}

void pf_draw(pf_flow *flow, rs_surface *surface, le_int32 firstLine, le_int32 lastLine)
{
    pf_object *obj = (pf_object *) flow;
    le_int32 li, x, y;

    x = MARGIN;
    y = obj->fAscent;

    for (li = firstLine; li <= lastLine; li += 1) {
        const pl_line *line = obj->fLines[li];

        if (line != NULL) {
            le_int32 runCount = pl_countLineRuns(line);
            le_int32 run;

		    if (obj->fParagraphLevel == UBIDI_RTL) {
			    le_int32 lastX = pl_getLineWidth(line);

			    x = (obj->fWidth - lastX - MARGIN);
		    }


            for (run = 0; run < runCount; run += 1) {
                const pl_visualRun *visualRun = pl_getLineVisualRun(line, run);
                le_int32 glyphCount = pl_getVisualRunGlyphCount(visualRun);
                const le_font *font = pl_getVisualRunFont(visualRun);
                const LEGlyphID *glyphs = pl_getVisualRunGlyphs(visualRun);
                const float *positions = pl_getVisualRunPositions(visualRun);

                rs_drawGlyphs(surface, font, glyphs, glyphCount, positions, x, y, obj->fWidth, obj->fHeight);
            }
        }

        y += obj->fLineHeight;
    }
}

pf_flow *pf_factory(const char *fileName, const le_font *font, gs_guiSupport *guiSupport)
{
    LEErrorCode status  = LE_NO_ERROR;
    le_int32 charCount;
    const UChar *text = uc_readFile(fileName, guiSupport, &charCount);
    pl_fontRuns *fontRuns;
    pf_flow *result = NULL;

    if (text == NULL) {
        return NULL;
    }

    fontRuns = pl_openEmptyFontRuns(0);

    pl_addFontRun(fontRuns, font, charCount);

    result = pf_create(text, charCount, fontRuns, &status);

	if (LE_FAILURE(status)) {
		pf_close(result);
		result = NULL;
	}

    pl_closeFontRuns(fontRuns);

    DELETE_ARRAY(text);

    return result;    
}

share/doc/alt-libicu65-devel/samples/layout/GDIFontInstance.h000064400000007150150470307460017772 0ustar00
/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  GDIFontInstance.h
 *
 *   created on: 08/09/2000
 *   created by: Eric R. Mader
 */

#ifndef __GDIFONTINSTANCE_H
#define __GDIFONTINSTANCE_H

#include <windows.h>

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"
#include "RenderingSurface.h"
#include "FontTableCache.h"
#include "cmaps.h"

class GDIFontInstance;

class GDISurface : public RenderingSurface
{
public:
    GDISurface(HDC theHDC);
    virtual ~GDISurface();

    virtual void drawGlyphs(const LEFontInstance *font, const LEGlyphID *glyphs, le_int32 count,
        const float *positions, le_int32 x, le_int32 y, le_int32 width, le_int32 height);

    void setFont(const GDIFontInstance *font);
    HDC  getHDC() const;
    void setHDC(HDC theHDC);

private:
    HDC fHdc;
    const GDIFontInstance *fCurrentFont;
};

inline HDC GDISurface::getHDC() const
{
    return fHdc;
}

class GDIFontInstance : public LEFontInstance, protected FontTableCache
{
protected:
    GDISurface *fSurface;
    HFONT fFont;

    le_int32 fPointSize;
    le_int32 fUnitsPerEM;
    le_int32 fAscent;
    le_int32 fDescent;
    le_int32 fLeading;

    float fDeviceScaleX;
    float fDeviceScaleY;

    CMAPMapper *fMapper;

    virtual const void *readFontTable(LETag tableTag) const;

    virtual LEErrorCode initMapper();

public:
    GDIFontInstance(GDISurface *surface, TCHAR *faceName, le_int16 pointSize, LEErrorCode &status);
    GDIFontInstance(GDISurface *surface, const char *faceName, le_int16 pointSize, LEErrorCode &status);
    //GDIFontInstance(GDISurface *surface, le_int16 pointSize);

    virtual ~GDIFontInstance();

    HFONT getFont() const;

    virtual const void *getFontTable(LETag tableTag) const;

    virtual le_int32 getUnitsPerEM() const;

    virtual le_int32 getAscent() const;

    virtual le_int32 getDescent() const;

    virtual le_int32 getLeading() const;

    virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const;

    virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const;

    virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const;

    float getXPixelsPerEm() const;

    float getYPixelsPerEm() const;

    float getScaleFactorX() const;

    float getScaleFactorY() const;
};

inline HFONT GDIFontInstance::getFont() const
{
    return fFont;
}

inline le_int32 GDIFontInstance::getUnitsPerEM() const
{
    return fUnitsPerEM;
}

inline le_int32 GDIFontInstance::getAscent() const
{
    return fAscent;
}

inline le_int32 GDIFontInstance::getDescent() const
{
    return fDescent;
}

inline le_int32 GDIFontInstance::getLeading() const
{
    return fLeading;
}

inline LEGlyphID GDIFontInstance::mapCharToGlyph(LEUnicode32 ch) const
{
    return fMapper->unicodeToGlyph(ch);
}

inline float GDIFontInstance::getXPixelsPerEm() const
{
    return (float) fPointSize;
}

inline float GDIFontInstance::getYPixelsPerEm() const
{
    return  (float) fPointSize;
}

inline float GDIFontInstance::getScaleFactorX() const
{
    return fDeviceScaleX;
}

inline float GDIFontInstance::getScaleFactorY() const
{
    return fDeviceScaleY;
}

#endif
share/doc/alt-libicu65-devel/samples/layout/ScriptCompositeFontInstance.cpp000064400000006312150470307460023050 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 *******************************************************************************
 *
 *   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 *   file name:  ScriptCompositeFontInstance.cpp
 *
 *   created on: 02/05/2003
 *   created by: Eric R. Mader
 */

#include "layout/LETypes.h"

#include "unicode/uscript.h"

#include "FontMap.h"

#include "ScriptCompositeFontInstance.h"

const char ScriptCompositeFontInstance::fgClassID=0;

ScriptCompositeFontInstance::ScriptCompositeFontInstance(FontMap *fontMap)
    : fFontMap(fontMap)
{
    // nothing else to do
}

ScriptCompositeFontInstance::~ScriptCompositeFontInstance()
{
    delete fFontMap;
    fFontMap = NULL;
}

void ScriptCompositeFontInstance::getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
{
    LEErrorCode status = LE_NO_ERROR;
    le_int32 script = LE_GET_SUB_FONT(glyph);
    const LEFontInstance *font = fFontMap->getScriptFont(script, status);

    advance.fX = 0;
    advance.fY = 0;

    if (LE_SUCCESS(status)) {
        font->getGlyphAdvance(LE_GET_GLYPH(glyph), advance);
    }
}

le_bool ScriptCompositeFontInstance::getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const
{
    LEErrorCode status = LE_NO_ERROR;
    le_int32 script = LE_GET_SUB_FONT(glyph);
    const LEFontInstance *font = fFontMap->getScriptFont(script, status);

    if (LE_SUCCESS(status)) {
        return font->getGlyphPoint(LE_GET_GLYPH(glyph), pointNumber, point);
    }

    return FALSE;
}

const LEFontInstance *ScriptCompositeFontInstance::getSubFont(const LEUnicode chars[], le_int32 *offset, le_int32 limit, le_int32 script, LEErrorCode &success) const
{
    if (LE_FAILURE(success)) {
        return NULL;
    }

    if (chars == NULL || *offset < 0 || limit < 0 || *offset >= limit || script < 0 || script >= scriptCodeCount) {
        success = LE_ILLEGAL_ARGUMENT_ERROR;
        return NULL;
    }

    const LEFontInstance *result = fFontMap->getScriptFont(script, success);

    if (LE_FAILURE(success)) {
        return NULL;
    }

    *offset = limit;
    return result;
}

// This is the really stupid version that doesn't look in any other font for the character...
// It would be better to also look in the "DEFAULT:" font. Another thing to do would be to
// look in all the fonts in some order, script code order being the most obvious...
LEGlyphID ScriptCompositeFontInstance::mapCharToGlyph(LEUnicode32 ch) const
{
    UErrorCode  error  = U_ZERO_ERROR;
    LEErrorCode status = LE_NO_ERROR;
    le_int32 script = uscript_getScript(ch, &error);
    const LEFontInstance *scriptFont = fFontMap->getScriptFont(script, status);
    LEGlyphID subFont = LE_SET_SUB_FONT(0, script);

    if (LE_FAILURE(status)) {
        return subFont;
    }

    LEGlyphID glyph = scriptFont->mapCharToGlyph(ch);

    return LE_SET_GLYPH(subFont, glyph);
}

share/doc/alt-libicu65-devel/samples/layout/ucreader.h000064400000000646150470307460016650 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __UCREADER_H
#define __UCREADER_H

#include "unicode/utypes.h"
#include "gsupport.h"

U_CDECL_BEGIN

const UChar *uc_readFile(const char *fileName, gs_guiSupport *guiSupport, int32_t *charCount);

U_CDECL_END

#endif
share/doc/alt-libicu65-devel/samples/layout/GnomeFontMap.h000064400000002330150470307460017400 0ustar00/*
 *******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2006, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#ifndef __GNOMEFONTMAP_H
#define __GNOMEFONTMAP_H

#include <ft2build.h>
#include FT_FREETYPE_H

#include "unicode/uscript.h"

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"

#include "GUISupport.h"
#include "FontMap.h"

#define BUFFER_SIZE 128

class GnomeFontMap : public FontMap
{
 public:
    GnomeFontMap(FT_Library engine, const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status);

    virtual ~GnomeFontMap();

 protected:
    virtual const LEFontInstance *openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status);

 private:
    FT_Library fEngine;
};

#endif
share/doc/alt-libicu65-devel/samples/layout/sfnt.h000064400000011635150470307460016030 0ustar00/*
 ******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 ******************************************************************************
 ****************************************************************************** *
 *
 *   Copyright (C) 1999-2001, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ****************************************************************************** *
 *   file name:  sfnt.h
 *
 *   created on: ??/??/2001
 *   created by: Eric R. Mader
 */

#ifndef __SFNT_H
#define __SFNT_H

#include "LETypes.h"


#ifndef ANY_NUMBER
#define ANY_NUMBER 1
#endif

struct DirectoryEntry
{
    le_uint32   tag;
    le_uint32   checksum;
    le_uint32   offset;
    le_uint32   length;
};

struct SFNTDirectory
{
    le_uint32       scalerType;
    le_uint16       numTables;
    le_uint16       searchRange;
    le_uint16       entrySelector;
    le_uint16       rangeShift;
    DirectoryEntry  tableDirectory[ANY_NUMBER];
};


struct CMAPEncodingSubtableHeader
{
    le_uint16   platformID;
    le_uint16   platformSpecificID;
    le_uint32   encodingOffset;
};

struct CMAPTable
{
    le_uint16   version;
    le_uint16   numberSubtables;
    CMAPEncodingSubtableHeader encodingSubtableHeaders[ANY_NUMBER];
};

struct CMAPEncodingSubtable
{
    le_uint16   format;
    le_uint16   length;
    le_uint16   language;
};

struct CMAPFormat0Encoding : CMAPEncodingSubtable
{
    le_uint8    glyphIndexArray[256];
};

struct CMAPFormat2Subheader
{
    le_uint16   firstCode;
    le_uint16   entryCount;
    le_int16    idDelta;
    le_uint16   idRangeOffset;
};

struct CMAPFormat2Encoding : CMAPEncodingSubtable
{
    le_uint16  subHeadKeys[256];
    CMAPFormat2Subheader subheaders[ANY_NUMBER];
};

struct CMAPFormat4Encoding : CMAPEncodingSubtable
{
    le_uint16   segCountX2;
    le_uint16   searchRange;
    le_uint16   entrySelector;
    le_uint16   rangeShift;
    le_uint16   endCodes[ANY_NUMBER];
//  le_uint16   reservedPad;
//  le_uint16   startCodes[ANY_NUMBER];
//  le_uint16   idDelta[ANY_NUMBER];
//  le_uint16   idRangeOffset[ANY_NUMBER];
//  le_uint16   glyphIndexArray[ANY_NUMBER];
};

struct CMAPFormat6Encoding : CMAPEncodingSubtable
{
    le_uint16   firstCode;
    le_uint16   entryCount;
    le_uint16   glyphIndexArray[ANY_NUMBER];
};

struct CMAPEncodingSubtable32
{
    le_uint32   format;
    le_uint32   length;
    le_uint32   language;
};

struct CMAPGroup
{
    le_uint32   startCharCode;
    le_uint32   endCharCode;
    le_uint32   startGlyphCode;
};

struct CMAPFormat8Encoding : CMAPEncodingSubtable32
{
    le_uint32   is32[65536/32];
    le_uint32   nGroups;
    CMAPGroup   groups[ANY_NUMBER];
};

struct CMAPFormat10Encoding : CMAPEncodingSubtable32
{
    le_uint32   startCharCode;
    le_uint32   numCharCodes;
    le_uint16   glyphs[ANY_NUMBER];
};

struct CMAPFormat12Encoding : CMAPEncodingSubtable32
{
    le_uint32   nGroups;
    CMAPGroup   groups[ANY_NUMBER];
};

typedef le_int32 fixed;

struct BigDate
{
    le_uint32   bc;
    le_uint32   ad;
};

struct HEADTable
{
    fixed       version;
    fixed       fontRevision;
    le_uint32   checksumAdjustment;
    le_uint32   magicNumber;
    le_uint16   flags;
    le_uint16   unitsPerEm;
    BigDate     created;
    BigDate     modified;
    le_int16    xMin;
    le_int16    yMin;
    le_int16    xMax;
    le_int16    yMax;
    le_int16    lowestRecPPEM;
    le_int16    fontDirectionHint;
    le_int16    indexToLocFormat;
    le_int16    glyphDataFormat;
};

struct MAXPTable
{
    fixed       version;
    le_uint16   numGlyphs;
    le_uint16   maxPoints;
    le_uint16   maxContours;
    le_uint16   maxComponentPoints;
    le_uint16   maxComponentContours;
    le_uint16   maxZones;
    le_uint16   maxTwilightPoints;
    le_uint16   maxStorage;
    le_uint16   maxFunctionDefs;
    le_uint16   maxInstructionDefs;
    le_uint16   maxStackElements;
    le_uint16   maxSizeOfInstructions;
    le_uint16   maxComponentElements;
    le_uint16   maxComponentDepth;
};

struct HHEATable
{
    fixed       version;
    le_int16    ascent;
    le_int16    descent;
    le_int16    lineGap;
    le_uint16   advanceWidthMax;
    le_int16    minLeftSideBearing;
    le_int16    minRightSideBearing;
    le_int16    xMaxExtent;
    le_int16    caretSlopeRise;
    le_int16    caretSlopeRun;
    le_int16    caretOffset;
    le_int16    reserved1;
    le_int16    reserved2;
    le_int16    reserved3;
    le_int16    reserved4;
    le_int16    metricDataFormat;
    le_uint16   numOfLongHorMetrics;
};

struct LongHorMetric
{
    le_uint16   advanceWidth;
    le_int16    leftSideBearing;
};

struct HMTXTable
{
    LongHorMetric hMetrics[ANY_NUMBER];        // ANY_NUMBER = numOfLongHorMetrics from hhea table
//  le_int16      leftSideBearing[ANY_NUMBER]; // ANY_NUMBER = numGlyphs - numOfLongHorMetrics
};

#endif

share/doc/alt-libicu65-devel/samples/layout/FontMap.cpp000064400000016535150470307460016761 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2006, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#include <stdio.h>
#include <string.h>
#include <ctype.h>

#include "unicode/utypes.h"
#include "unicode/uscript.h"

#include "layout/LETypes.h"
#include "layout/LEScripts.h"
#include "layout/LEFontInstance.h"

#include "GUISupport.h"
#include "FontMap.h"

FontMap::FontMap(const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status)
    : fPointSize(pointSize), fFontCount(0), fAscent(0), fDescent(0), fLeading(0), fGUISupport(guiSupport)
{
    le_int32 defaultFont = -1, i, script;
    le_bool haveFonts = FALSE;

/**/
    for (i = 0; i < scriptCodeCount; i += 1) {
        fFontIndices[i] = -1;
        fFontNames[i] = NULL;
        fFontInstances[i] = NULL;
    }
 /**/

    if (LE_FAILURE(status)) {
        return;
    }

    char *c, *scriptName, *fontName, *line, buffer[BUFFER_SIZE];
    FILE *file;

    file = fopen(fileName, "r");

    if (file == NULL) {
        sprintf(errorMessage, "Could not open the font map file: %s.", fileName);
        fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
        status = LE_FONT_FILE_NOT_FOUND_ERROR;
        return;
    }

    while (fgets(buffer, BUFFER_SIZE, file) != NULL) {
        UScriptCode scriptCode;
        UErrorCode scriptStatus = U_ZERO_ERROR;

        line = strip(buffer);
        if (line[0] == '#' || line[0] == 0) {
            continue;
        }

        c = strchr(line, ':');
        c[0] = 0;

        fontName   = strip(&c[1]);
        scriptName = strip(line);

        if (strcmp(scriptName, "DEFAULT") == 0) {
            defaultFont = getFontIndex(fontName);
            haveFonts = TRUE;
            continue;
        }

        le_int32 fillCount = uscript_getCode(scriptName, &scriptCode, 1, &scriptStatus);

        if (U_FAILURE(scriptStatus) || fillCount <= 0 ||
            scriptStatus == U_USING_FALLBACK_WARNING || scriptStatus == U_USING_DEFAULT_WARNING) {
            sprintf(errorMessage, "The script name %s is invalid.", line);
            fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
            continue;
        }

        script = (le_int32) scriptCode;

        if (fFontIndices[script] >= 0) {
            // FIXME: complain that this is a duplicate entry and bail (?)
            fFontIndices[script] = -1;
        }

        fFontIndices[script] = getFontIndex(fontName);
        haveFonts = TRUE;
    }

    if (defaultFont >= 0) {
        for (script = 0; script < scriptCodeCount; script += 1) {
            if (fFontIndices[script] < 0) {
                fFontIndices[script] = defaultFont;
            }
        }
    }

    if (! haveFonts) {
        sprintf(errorMessage, "The font map file %s does not contain any valid scripts.", fileName);
        fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
        status = LE_ILLEGAL_ARGUMENT_ERROR;
    }

    fclose(file);
}

FontMap::~FontMap()
{
    le_int32 font;

    for (font = 0; font < fFontCount; font += 1) {
        if (fFontNames[font] != NULL) {
            delete[] (char *) fFontNames[font];
        }
    }

    for (font = 0; font < fFontCount; font += 1) {
        if (fFontInstances[font] != NULL) {
            delete fFontInstances[font];
        }
    }
}

le_int32 FontMap::getFontIndex(const char *fontName)
{
    le_int32 index;

    for (index = 0; index < fFontCount; index += 1) {
        if (strcmp(fontName, fFontNames[index]) == 0) {
            return index;
        }
    }

    if (fFontCount < (le_int32) scriptCodeCount) {
        index = fFontCount++;
    } else {
        // The font name table is full. Since there can
        // only be scriptCodeCount fonts in use at once,
        // there should be at least one that's not being
        // referenced; find it and resue it's index.

        for (index = 0; index < fFontCount; index += 1) {
            le_int32 script;

            for (script = 0; script < scriptCodeCount; script += 1) {
                if (fFontIndices[script] == index) {
                    break;
                }
            }

            if (script >= scriptCodeCount) {
                break;
            }
        }
    }

    if (index >= scriptCodeCount) {
        return -1;
    }

    le_int32 len = strlen(fontName);
    char *s = new char[len + 1];

    fFontNames[index] = strcpy(s, fontName);
    return index;
}

char *FontMap::strip(char *s)
{
    le_int32 start, end, len;

    start = 0;
    len = strlen(s);

    while (start < len && isspace(s[start])) {
        start += 1;
    }

    end = len - 1;

    while (end > start && isspace(s[end])) {
        end -= 1;
    }

    if (end < len) {
        s[end + 1] = '\0';
    }

    return &s[start];
}

const LEFontInstance *FontMap::getScriptFont(le_int32 scriptCode, LEErrorCode &status)
{
    if (LE_FAILURE(status)) {
        return NULL;
    }

    if (scriptCode <= -1 || scriptCode >= scriptCodeCount) {
        status = LE_ILLEGAL_ARGUMENT_ERROR;
        return NULL;
    }


    le_int32 fontIndex = fFontIndices[scriptCode];

    if (fontIndex < 0) {
        sprintf(errorMessage, "No font was set for script %s", uscript_getName((UScriptCode) scriptCode));
        fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
        status = LE_FONT_FILE_NOT_FOUND_ERROR;
        return NULL;
    }

    if (fFontInstances[fontIndex] == NULL) {
        fFontInstances[fontIndex] = openFont(fFontNames[fontIndex], fPointSize, status);

        if (LE_FAILURE(status)) {
            sprintf(errorMessage, "Could not open font file %s", fFontNames[fontIndex]);
            fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
            return NULL;
        }
    }

    return fFontInstances[fontIndex];
}

le_int32 FontMap::getAscent() const
{
    if (fAscent <= 0) {
        ((FontMap *) this)->getMaxMetrics();
    }

    return fAscent;
}

le_int32 FontMap::getDescent() const
{
    if (fDescent <= 0) {
        ((FontMap *) this)->getMaxMetrics();
    }

    return fDescent;
}

le_int32 FontMap::getLeading() const
{
    if (fLeading <= 0) {
        ((FontMap *) this)->getMaxMetrics();
    }

    return fLeading;
}

void FontMap::getMaxMetrics()
{
    for (le_int32 i = 0; i < fFontCount; i += 1) {
        LEErrorCode status = LE_NO_ERROR;
        le_int32 ascent, descent, leading;

        if (fFontInstances[i] == NULL) {
            fFontInstances[i] = openFont(fFontNames[i], fPointSize, status);

            if (LE_FAILURE(status)) {
                continue;
            }
        }

        ascent  = fFontInstances[i]->getAscent();
        descent = fFontInstances[i]->getDescent();
        leading = fFontInstances[i]->getLeading();

        if (ascent > fAscent) {
            fAscent = ascent;
        }

        if (descent > fDescent) {
            fDescent = descent;
        }

        if (leading > fLeading) {
            fLeading = leading;
        }
    }
}

share/doc/alt-libicu65-devel/samples/layout/FontTableCache.cpp000064400000004573150470307460020216 0ustar00/*
 *************************************************************************
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *************************************************************************
 *************************************************************************
 *   Copyright (C) 2003 - 2008, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *************************************************************************
 */

#include "layout/LETypes.h"

#include "FontTableCache.h"

#define TABLE_CACHE_INIT 5
#define TABLE_CACHE_GROW 5

struct FontTableCacheEntry
{
    LETag tag;
    const void *table;
};

FontTableCache::FontTableCache()
    : fTableCacheCurr(0), fTableCacheSize(TABLE_CACHE_INIT)
{
    fTableCache = LE_NEW_ARRAY(FontTableCacheEntry, fTableCacheSize);

    if (fTableCache == NULL) {
        fTableCacheSize = 0;
        return;
    }

    for (int i = 0; i < fTableCacheSize; i += 1) {
        fTableCache[i].tag   = 0;
        fTableCache[i].table = NULL;
    }
}

FontTableCache::~FontTableCache()
{
    for (int i = fTableCacheCurr - 1; i >= 0; i -= 1) {
        freeFontTable(fTableCache[i].table);

        fTableCache[i].tag   = 0;
        fTableCache[i].table = NULL;
    }

    fTableCacheCurr = 0;

    LE_DELETE_ARRAY(fTableCache);
    fTableCache = NULL;
}

void FontTableCache::freeFontTable(const void *table) const
{
    LE_DELETE_ARRAY(table);
}

const void *FontTableCache::find(LETag tableTag) const
{
    for (int i = 0; i < fTableCacheCurr; i += 1) {
        if (fTableCache[i].tag == tableTag) {
            return fTableCache[i].table;
        }
    }

    const void *table = readFontTable(tableTag);

    ((FontTableCache *) this)->add(tableTag, table);

    return table;
}

void FontTableCache::add(LETag tableTag, const void *table)
{
    if (fTableCacheCurr >= fTableCacheSize) {
        le_int32 newSize = fTableCacheSize + TABLE_CACHE_GROW;

        fTableCache = (FontTableCacheEntry *) LE_GROW_ARRAY(fTableCache, newSize);

        for (le_int32 i = fTableCacheSize; i < newSize; i += 1) {
            fTableCache[i].tag   = 0;
            fTableCache[i].table = NULL;
        }

        fTableCacheSize = newSize;
    }

    fTableCache[fTableCacheCurr].tag   = tableTag;
    fTableCache[fTableCacheCurr].table = table;

    fTableCacheCurr += 1;
}
share/doc/alt-libicu65-devel/samples/layout/cmaps.cpp000064400000012464150470307460016515 0ustar00/*
 *******************************************************************************
 *
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *******************************************************************************
 ****************************************************************************** *
 *
 *   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ****************************************************************************** *
 *   file name:  cmaps.cpp
 *
 *   created on: ??/??/2001
 *   created by: Eric R. Mader
 */

#include "layout/LETypes.h"
#include "layout/LESwaps.h"

#include "sfnt.h"
#include "cmaps.h"

#define SWAPU16(code) ((LEUnicode16) SWAPW(code))
#define SWAPU32(code) ((LEUnicode32) SWAPL(code))

//
// Finds the high bit by binary searching
// through the bits in value.
//
le_uint8 highBit(le_uint32 value)
{
    le_uint8 bit = 0;

    if (value >= 1 << 16) {
        value >>= 16;
        bit += 16;
    }

    if (value >= 1 << 8) {
        value >>= 8;
        bit += 8;
    }

    if (value >= 1 << 4) {
        value >>= 4;
        bit += 4;
    }

    if (value >= 1 << 2) {
        value >>= 2;
        bit += 2;
    }

    if (value >= 1 << 1) {
        value >>= 1;
        bit += 1;
    }

    return bit;
}

CMAPMapper *CMAPMapper::createUnicodeMapper(const CMAPTable *cmap)
{
    le_uint16 i;
    le_uint16 nSubtables = SWAPW(cmap->numberSubtables);
    const CMAPEncodingSubtable *subtable = NULL;
    le_uint32 offset1 = 0, offset10 = 0;

    for (i = 0; i < nSubtables; i += 1) {
        const CMAPEncodingSubtableHeader *esh = &cmap->encodingSubtableHeaders[i];

        if (SWAPW(esh->platformID) == 3) {
            switch (SWAPW(esh->platformSpecificID)) {
            case 1:
                offset1 = SWAPL(esh->encodingOffset);
                break;

            case 10:
                offset10 = SWAPL(esh->encodingOffset);
                break;
            }
        }
    }


    if (offset10 != 0)
    {
        subtable = (const CMAPEncodingSubtable *) ((const char *) cmap + offset10);
    } else if (offset1 != 0) {
        subtable = (const CMAPEncodingSubtable *) ((const char *) cmap + offset1);
    } else {
        return NULL;
    }

    switch (SWAPW(subtable->format)) {
    case 4:
        return new CMAPFormat4Mapper(cmap, (const CMAPFormat4Encoding *) subtable);

    case 12:
    {
        const CMAPFormat12Encoding *encoding = (const CMAPFormat12Encoding *) subtable;

        return new CMAPGroupMapper(cmap, encoding->groups, SWAPL(encoding->nGroups));
    }

    default:
        break;
    }

    return NULL;
}

CMAPFormat4Mapper::CMAPFormat4Mapper(const CMAPTable *cmap, const CMAPFormat4Encoding *header)
    : CMAPMapper(cmap)
{
    le_uint16 segCount = SWAPW(header->segCountX2) / 2;

    fEntrySelector = SWAPW(header->entrySelector);
    fRangeShift = SWAPW(header->rangeShift) / 2;
    fEndCodes = &header->endCodes[0];
    fStartCodes = &header->endCodes[segCount + 1]; // + 1 for reservedPad...
    fIdDelta = &fStartCodes[segCount];
    fIdRangeOffset = &fIdDelta[segCount];
}

LEGlyphID CMAPFormat4Mapper::unicodeToGlyph(LEUnicode32 unicode32) const
{
    if (unicode32 >= 0x10000) {
        return 0;
    }

    LEUnicode16 unicode = (LEUnicode16) unicode32;
    le_uint16 index = 0;
    le_uint16 probe = 1 << fEntrySelector;
    TTGlyphID result = 0;

    if (SWAPU16(fStartCodes[fRangeShift]) <= unicode) {
        index = fRangeShift;
    }

    while (probe > (1 << 0)) {
        probe >>= 1;

        if (SWAPU16(fStartCodes[index + probe]) <= unicode) {
            index += probe;
        }
    }

    if (unicode >= SWAPU16(fStartCodes[index]) && unicode <= SWAPU16(fEndCodes[index])) {
        if (fIdRangeOffset[index] == 0) {
            result = (TTGlyphID) unicode;
        } else {
            le_uint16 offset = unicode - SWAPU16(fStartCodes[index]);
            le_uint16 rangeOffset = SWAPW(fIdRangeOffset[index]);
            le_uint16 *glyphIndexTable = (le_uint16 *) ((char *) &fIdRangeOffset[index] + rangeOffset);

            result = SWAPW(glyphIndexTable[offset]);
        }

        result += SWAPW(fIdDelta[index]);
    } else {
        result = 0;
    }

    return LE_SET_GLYPH(0, result);
}

CMAPFormat4Mapper::~CMAPFormat4Mapper()
{
    // parent destructor does it all
}

CMAPGroupMapper::CMAPGroupMapper(const CMAPTable *cmap, const CMAPGroup *groups, le_uint32 nGroups)
    : CMAPMapper(cmap), fGroups(groups)
{
    le_uint8 bit = highBit(nGroups);
    fPower = 1 << bit;
    fRangeOffset = nGroups - fPower;
}

LEGlyphID CMAPGroupMapper::unicodeToGlyph(LEUnicode32 unicode32) const
{
    le_int32 probe = fPower;
    le_int32 range = 0;

    if (SWAPU32(fGroups[fRangeOffset].startCharCode) <= unicode32) {
        range = fRangeOffset;
    }

    while (probe > (1 << 0)) {
        probe >>= 1;

        if (SWAPU32(fGroups[range + probe].startCharCode) <= unicode32) {
            range += probe;
        }
    }

    if (SWAPU32(fGroups[range].startCharCode) <= unicode32 && SWAPU32(fGroups[range].endCharCode) >= unicode32) {
        return (LEGlyphID) (SWAPU32(fGroups[range].startGlyphCode) + unicode32 - SWAPU32(fGroups[range].startCharCode));
    }

    return 0;
}

CMAPGroupMapper::~CMAPGroupMapper()
{
    // parent destructor does it all
}

share/doc/alt-libicu65-devel/samples/layout/Surface.cpp000064400000001574150470307460017002 0ustar00/*
 *   © 2016 and later: Unicode, Inc. and others.
 *   License & terms of use: http://www.unicode.org/copyright.html#License
 *
 *   Copyright (C) 2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 */
void GDISurface::setFont(RenderingFontInstance *font)
{
    GDIFontInstance *gFont = (GDIFontInstance *) font;

    if (fCurrentFont != font) {
        fCurrentFont = font;
        SelectObject(fHdc, gFont->fFont);
    }
}

void GDISurface::drawGlyphs(RenderingFontInstance *font, const LEGlyphID *glyphs, le_int32 count, const le_int32 *dx,
    le_int32 x, le_int32 y, le_int32 width, le_int32 height)
{
    RECT clip;

    clip.top    = 0;
    clip.left   = 0;
    clip.bottom = height;
    clip.right  = width;

    setFont(font);

    ExtTextOut(fHdc, x, y - fAscent, ETO_CLIPPED | ETO_GLYPH_INDEX, &clip,
        glyphs, count, (INT *) dx);
}

share/doc/alt-libicu65-devel/samples/layout/readme.html000064400000016514150470307460017031 0ustar00<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <meta name="COPYRIGHT" content=
  "Copyright (C) 2016 and later: Unicode, Inc. and others.
   License &amp; terms of use: http://www.unicode.org/copyright.html#License

   Copyright (c) 2001-2010 IBM Corporation and others. All Rights Reserved." />
  <meta name="Author" content="Eric Mader" />

  <title>Readme file for the ICU LayoutEngine demo</title>
</head>

<body>
  <h2>What is the layout demo?</h2>

  <p>The layout demo displays a paragraph of text that is laid out using the
  LayoutEngine. There are two versions of this demo, "layout.exe" which runs on
  Windows 2000, and "gnomelayout" which runs on Linux. Both programs read a
  file containing the Unicode text to display, and a file that says which font
  to use to display each script.</p>

  <h2>How do I build the layout demo?</h2>First, you need to build ICU,
  including the LayoutEngine.

  <p>On Windows, the layout project should be listed as a dependency of all, so
  layout will build when you build all. If it doesn't for some reason, just
  select the layout project in the project toolbar and build it.</p>

  <p>On Linux systems, you need to add the "--enable-layout=yes" option when
  you invoke the runConfigureICU script. When you've done that, layout should
  build when you do "make all install"</p>

  <p>To build the demo on Windows, just open the layout project in
  &lt;icu&gt;\source\samples\layout and build it.</p>

  <p>On Linux systems, connect to &lt;top-build-dir&gt;/samples/layout and do
  "make all". To build the layout demo on Linux, you'll need the
  gnome-libs-devel and freetype-devel packages, which should be part of your
  Linux distribution. The demo uses the FreeType 1 library, and the make files
  assume that the FreeType header files are in /usr/include/freetype1, and that
  the freetype library is /usr/lib/libttf.so. This is how RedHat Linux 7.2
  installs FreeType 1. If your system is different, you may need to add sym
  links to where the files are stored on your system, or modify
  &lt;top-src-dir&gt;/samples/layout/Makefile.in to reference the files
  correctly for your system.</p>

  <h2>How do I run the demo?</h2>

  <p>Before you can run the demo, you'll need to get the fonts it uses. For
  legal reasons, we can't include these fonts with ICU, but you can download
  them from the web. To do this, you'll need access to a computer running
  Windows. Here's how to get the fonts:</p>

  <p>First, download the Thai font. Go to <a href=
  "http://www.freelang.net/fonts/index.php">freelang.net</a> and
  click on the link for the Courier Thai font. This will download a .ZIP file.
  Extract the Courpro.ttf font. On Windows, copy this font file to your
  Fonts folder (note the name of the font after it is installed), on Linux, copy this font file to the directory from which
  you'll run the layout demo.</p>

  <p>Next is the Hindi font. Download the font from <a href=
  "http://www.ffonts.net/Raghindi.font.download">Raghindi</a>. On Linux, you can download the font into the
  directory from which you'll run the layout demo. On Windows, you'll need to
  install it in your Fonts folder.</p>

  <p>There's still one more font to get, the Code2000 Unicode font. Go to James
  Kass' <a href="http://www.code2000.net/">Unicode Support In Your
  Browser</a> page and click on the link that says "Click Here to download
  Code2000 shareware demo Unicode font." This will download a .ZIP file which
  contains CODE2000.TTF and CODE2000.HTM. Expand this .ZIP file. If you're
  going to run the layout demo on Linux, put the CODE2000.TTF file in the
  directory from which you'll run the demo. On Windows, copy the font to your
  fonts folder.</p>

  <p><strong>Note:</strong> The Code2000 font is shareware. If you want to use
  it for longer than a trial period, you should send a shareware fee to James.
  Directions for how to do this are in CODE2000.HTM.</p>

  <p>Be sure that your FontMap.GDI (on Windows) or FontMap.Gnome file (on Linux) contains accurate
  font names for each script type.  For example, the following is a valid FontMap.GDI (assuming you have the correct fonts):
  <br><br>DEVANAGARI: Raghindi<br>THAI: Courier MonoThai<br>DEFAULT: Code2000<br><br>Note that only the Code2000 default font is strictly necessary,
  and that the other two can simply be commented out by a '#' if you do not wish to use them.</p>

  <p>Also note that the FontMap and the sample.txt files have to be in the same directory as the layout executable.</p>

  <p>That's it! Now all you have to do is run letest (CTRL+F5 in Visual C++, or
  "./gnomelayout" in Linux)</p>

  <h2>How can I customize the layout demo?</h2>

  <p>The text that the layout demo displays is read from the file "Sample.txt."
  You can change the text by editing this file using a Unicode-aware text
  editor. (it is in UTF8 format with a BOM as the first character; the demo can
  also read UTF16 and UTF32 format files) Remember that the text will be
  displayed in a single paragraph; you can include CR and LF characters in the
  text, but they will be ignored.</p>

  <p>If you add scripts to the text other than Arabic, Devanagari, Latin or
  Thai, you'll need to find a font which contains the characters in that
  script, and add an entry to the FontMap file ("FontMap.GDI" on Windows,
  "FontMap.Gnome" on Linux) This file contains a single entry per line. Each
  entry contains a script name followed by a colon, and then a font name.</p>

  <p>Here is the list of legal script names:</p>

  <blockquote>
    <tt>ARABIC</tt><br />
    <tt>ARMENIAN</tt><br />
    <tt>BENGALI</tt><br />
    <tt>BOPOMOFO</tt><br />
    <span style="font-family: monospace;">BUHID</span><br />
    <tt>CANADIAN_ABORIGINAL</tt><br />
    <tt>CHEROKEE</tt><br />
    <tt>CYRILLIC</tt><br />
    <tt>DESERET</tt><br />
    <tt>DEVANAGARI</tt><br />
    <tt>ETHIOPIC</tt><br />
    <tt>GEORGIAN</tt><br />
    <tt>GOTHIC</tt><br />
    <tt>GREEK</tt><br />
    <tt>GUJARATI</tt><br />
    <tt>GURMUKHI</tt><br />
    <tt>HAN</tt><br />
    <tt>HANGUL</tt><br />
    <span style="font-family: monospace;">HANUNOO</span><br />
    <tt>HEBREW</tt><br />
    <tt>HIRAGANA</tt><br />
    <tt>KANNADA</tt><br />
    <tt>KATAKANA</tt><br />
    <tt>KHMER</tt><br />
    <tt>LATIN</tt><br />
    <tt>MALAYALAM</tt><br />
    <tt>MONGOLIAN</tt><br />
    <tt>MYANMAR</tt><br />
    <tt>OGHAM</tt><br />
    <tt>OLD_ITALIC</tt><br />
    <tt>ORIYA</tt><br />
    <tt>RUNIC</tt><br />
    <tt>SINHALA</tt><br />
    <tt>SYRIAC</tt><br />
    <span style="font-family: monospace;">TAGALOG<br />
    TAGBANWA</span><br />
    <tt>TAMIL</tt><br />
    <tt>TELUGU</tt><br />
    <tt>THAANA</tt><br />
    <tt>THAI</tt><br />
    <tt>TIBETAN</tt><br />
    <tt>YI<br /></tt>
  </blockquote>

  <p>You can also use the script name "DEFAULT" to represent all scripts which
  you don't explicitly list in the FontMap file.</p>

  <p>On Windows use the full name of the font as it appears in the Windows
  Fonts folder (eg. "Times New Roman") On Linux, use the file name of the font
  file (e.g. "Times.TTF") If you're running on Windows, you'll need to install
  the new fonts in your Fonts folder. If you're running on Linux, put them in
  the directory from which you'll run the demo.</p><br />
</body>
</html>
share/doc/alt-libicu65-devel/samples/layout/gnomeglue.h000064400000001732150470307460017035 0ustar00/*
 *
 * © 2016 and later: Unicode, Inc. and others.
 * License & terms of use: http://www.unicode.org/copyright.html#License
 *
 * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
 *
 */

#ifndef __GNOMEGLUE_H
#define __GNOMEGLUE_H

#include <gnome.h>
#include <ft2build.h>
#include FT_FREETYPE_H

#include "unicode/utypes.h"

#include "LETypes.h"
#include "loengine.h"
#include "gsupport.h"
#include "rsurface.h"

typedef void fm_fontMap;

U_CDECL_BEGIN

gs_guiSupport *gs_gnomeGuiSupportOpen();
void gs_gnomeGuiSupportClose(gs_guiSupport *guiSupport);

rs_surface *rs_gnomeRenderingSurfaceOpen(GtkWidget *theWidget);
void rs_gnomeRenderingSurfaceClose(rs_surface *surface);

fm_fontMap *fm_gnomeFontMapOpen(FT_Library engine, const char *fileName, le_int16 pointSize, gs_guiSupport *guiSupport, LEErrorCode *status); 
void fm_fontMapClose(fm_fontMap *fontMap);

le_font *le_scriptCompositeFontOpen(fm_fontMap *fontMap);
void le_fontClose(le_font *font);

U_CDECL_END

#endif
share/doc/alt-libicu65-devel/samples/layout/FontMap.h000064400000003537150470307460016424 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2003, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#ifndef __FONTMAP_H
#define __FONTMAP_H

#include "layout/LETypes.h"
#include "layout/LEScripts.h"
#include "layout/LEFontInstance.h"

#include "GUISupport.h"

#define BUFFER_SIZE 128

class FontMap
{
public:
    FontMap(const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status);

    virtual ~FontMap();

    virtual const LEFontInstance *getScriptFont(le_int32 scriptCode, LEErrorCode &status);

    virtual le_int16 getPointSize() const;

    virtual le_int32 getAscent() const;

    virtual le_int32 getDescent() const;

    virtual le_int32 getLeading() const;

protected:
    virtual const LEFontInstance *openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status) = 0;

    char errorMessage[256];

private:
    static char *strip(char *s);
    le_int32 getFontIndex(const char *fontName);
    void getMaxMetrics();

    le_int16 fPointSize;
    le_int32 fFontCount;

    le_int32 fAscent;
    le_int32 fDescent;
    le_int32 fLeading;

    GUISupport *fGUISupport;

    const LEFontInstance *fFontInstances[scriptCodeCount];
    const char *fFontNames[scriptCodeCount];
    le_int32 fFontIndices[scriptCodeCount];
};

inline le_int16 FontMap::getPointSize() const
{
    return fPointSize;
}

#endif

share/doc/alt-libicu65-devel/samples/layout/GDIFontMap.h000064400000002356150470307460016746 0ustar00/*
 ******************************************************************************
 * © 2016 and later: Unicode, Inc. and others.                    *
 * License & terms of use: http://www.unicode.org/copyright.html#License      *
 ******************************************************************************
 ******************************************************************************
 * Copyright (C) 1998-2003, International Business Machines Corporation and   *
 * others. All Rights Reserved.                                               *
 ******************************************************************************
 */

#ifndef __GDIFONTMAP_H
#define __GDIFONTMAP_H

#include <windows.h>

#include "unicode/uscript.h"

#include "layout/LETypes.h"
#include "layout/LEFontInstance.h"

#include "FontMap.h"
#include "GUISupport.h"
#include "GDIFontInstance.h"

#define BUFFER_SIZE 128

class GDIFontMap : public FontMap
{
public:
    GDIFontMap(GDISurface *surface, const char *fileName, le_int16 pointSize, GUISupport *guiSupport, LEErrorCode &status);

    virtual ~GDIFontMap();

protected:
    virtual const LEFontInstance *openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status);

private:
    GDISurface *fSurface;
};

#endif
share/doc/alt-libicu65-devel/samples/dtitvfmtsample/dtitvfmtsample.vcxproj.filters000064400000001656150470307460024564 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="dtitvfmtsample.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>share/doc/alt-libicu65-devel/samples/dtitvfmtsample/dtitvfmtsample.vcxproj000064400000017302150470307470023111 0ustar00<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{8945255B-473B-4C47-9425-E92384338CAA}</ProjectGuid>
    <RootNamespace>samples</RootNamespace>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <!-- The following import will include the 'default' configuration options for VS projects. -->
  <Import Project="..\..\allinone\Build.Windows.ProjectConfiguration.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <OutDir>.\x86\Debug\</OutDir>
    <IntDir>.\x86\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <OutDir>.\x64\Debug\</OutDir>
    <IntDir>.\x64\Debug\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <OutDir>.\x86\Release\</OutDir>
    <IntDir>.\x86\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <OutDir>.\x64\Release\</OutDir>
    <IntDir>.\x64\Release\</IntDir>
    <TargetName>$(ProjectName)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x86\Debug/dtitvfmtsample.exe</OutputFile>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Debug/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OutputFile>.\x64\Debug/dtitvfmtsample.exe</OutputFile>
      <AdditionalDependencies>icuucd.lib;icuind.lib;icuiod.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x86\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
      <ObjectFileName>.\x64\Release/</ObjectFileName>
      <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
    </ClCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalDependencies>icuuc.lib;icuin.lib;icuio.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="dtitvfmtsample.cpp" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>share/doc/alt-libicu65-devel/samples/dtitvfmtsample/dtitvfmtsample.cpp000064400000013425150470307470022202 0ustar00// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/******************************************************************************
* Copyright (C) 2008-2014, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
//! [dtitvfmtPreDefined1]
#include <iostream>
#include "unicode/dtitvfmt.h"
#include "unicode/ustdio.h"
//! [dtitvfmtPreDefined1]

using namespace std;
using namespace icu;

static void dtitvfmtPreDefined() {
	  
	u_printf("===============================================================================\n");
	u_printf(" dtitvfmtPreDefined()\n");
    u_printf("\n");
    u_printf(" Use DateIntervalFormat to get date interval format for pre-defined skeletons:\n");
    u_printf(" yMMMd, MMMMd, jm per locale\n");
    u_printf("===============================================================================\n");
	
	//! [dtitvfmtPreDefined] 
	UFILE *out = u_finit(stdout, NULL, "UTF-8");
	UErrorCode status =U_ZERO_ERROR;
	// create 3 Date Intervals
	UnicodeString data[] = {
		UnicodeString("2007-10-10 10:10:10"),
		UnicodeString("2008-10-10 10:10:10"),
		UnicodeString("2008-11-10 10:10:10"),
		UnicodeString("2008-11-10 15:10:10")
		};
	Calendar *cal = Calendar::createInstance(status);
	cal->set(2007,10,10,10,10,10);
	UDate date1 = cal->getTime(status);
	cal->set(2008,10,10,10,10,10);
	UDate date2 = cal->getTime(status);
	cal->set(2008,11,10,10,10,10);
	UDate date3 = cal->getTime(status);
	cal->set(2008,11,10,15,10,10);
	UDate date4 = cal->getTime(status);
    DateInterval* dtitvsample[] = {
			new DateInterval(date1,date2),
            new DateInterval(date2,date3),
			new DateInterval(date3,date4),
        };
 	UnicodeString skeletons[] = {
            UnicodeString("yMMMd"),
            UnicodeString("MMMMd"),
            UnicodeString("jm"),
			0,
		};
    u_fprintf(out,"%-10s%-22s%-22s%-35s%-35s\n", "Skeleton","from","to","Date Interval in en_US","Date Interval in Ja");
	int i=0;
	UnicodeString formatEn,formatJa;
	FieldPosition pos=0;
    for (int j=0;skeletons[j]!=NULL ;j++) {
 		 u_fprintf(out,"%-10S%-22S%-22S",skeletons[j].getTerminatedBuffer(),data[i].getTerminatedBuffer(),data[i+1].getTerminatedBuffer());
         //create a DateIntervalFormat instance for given skeleton, locale
		 DateIntervalFormat* dtitvfmtEn = DateIntervalFormat::createInstance(skeletons[j], Locale::getEnglish(),status);
         DateIntervalFormat* dtitvfmtJa = DateIntervalFormat::createInstance(skeletons[j], Locale::getJapanese(),status);
		 formatEn.remove();
		 formatJa.remove();
		 //get the DateIntervalFormat
		 dtitvfmtEn->format(dtitvsample[i],formatEn,pos,status);
		 dtitvfmtJa->format(dtitvsample[i],formatJa,pos,status);
         u_fprintf(out,"%-35S%-35S\n", formatEn.getTerminatedBuffer(),formatJa.getTerminatedBuffer());     
		 delete dtitvfmtEn;
		 delete dtitvfmtJa;
         i++;
        }
	u_fclose(out);
	//! [dtitvfmtPreDefined]
}

static void dtitvfmtCustomized() {
	   
	u_printf("===============================================================================\n");
	u_printf("\n");
	u_printf(" dtitvfmtCustomized()\n");
	u_printf("\n");
    u_printf(" Use DateIntervalFormat to create customized date interval format for yMMMd, Hm");
	u_printf("\n");
    u_printf("================================================================================\n");
	//! [dtitvfmtCustomized]
	UFILE *out = u_finit(stdout, NULL, "UTF-8");
	UErrorCode status =U_ZERO_ERROR;
	UnicodeString data[] = {
		UnicodeString("2007-9-10 10:10:10"),
		UnicodeString("2007-10-10 10:10:10"),
		UnicodeString("2007-10-10 22:10:10")
		};
	// to create 2 Date Intervals
    Calendar *cal1 = Calendar::createInstance(status);
	cal1->set(2007,9,10,10,10,10);
	Calendar *cal2 = Calendar::createInstance(status);
	cal2->set(2007,10,10,10,10,10);
	Calendar *cal3 = Calendar::createInstance(status);
	cal3->set(2007,10,10,22,10,10);
	DateInterval* dtitvsample[] = {
			new DateInterval(cal1->getTime(status),cal2->getTime(status)),
            new DateInterval(cal2->getTime(status),cal3->getTime(status))
	      };
	UnicodeString skeletons[] = {
            UnicodeString("yMMMd"),
            UnicodeString("Hm"),
			0,
        };
		u_printf("%-10s%-22s%-22s%-45s%-35s\n", "Skeleton", "from","to", "Date Interval in en_US","Date Interval in Ja");
		// Create an empty DateIntervalInfo object
        DateIntervalInfo dtitvinf =  DateIntervalInfo(status);
		// Set Date Time internal pattern for MONTH, HOUR_OF_DAY
        dtitvinf.setIntervalPattern("yMMMd", UCAL_MONTH, "y 'Diff' MMM d --- MMM d",status);
        dtitvinf.setIntervalPattern("Hm", UCAL_HOUR_OF_DAY, "yyyy MMM d HH:mm ~ HH:mm",status);
		// Set fallback interval pattern
        dtitvinf.setFallbackIntervalPattern("{0} ~~~ {1}",status);
		// Get the DateIntervalFormat with the custom pattern
        UnicodeString formatEn,formatJa;
		FieldPosition pos=0;
		for (int i=0;i<2;i++){
            for (int j=0;skeletons[j]!=NULL;j++) {
			u_fprintf(out,"%-10S%-22S%-22S", skeletons[i].getTerminatedBuffer(),data[j].getTerminatedBuffer(), data[j+1].getTerminatedBuffer());
            DateIntervalFormat* dtitvfmtEn = DateIntervalFormat::createInstance(skeletons[i],Locale::getEnglish(),dtitvinf,status);
            DateIntervalFormat* dtitvfmtJa = DateIntervalFormat::createInstance(skeletons[i],Locale::getJapanese(),dtitvinf,status);
			formatEn.remove();
			formatJa.remove();
			dtitvfmtEn->format(dtitvsample[j],formatEn,pos,status);
			dtitvfmtJa->format(dtitvsample[j],formatJa,pos,status);
			u_fprintf(out,"%-45S%-35S\n", formatEn.getTerminatedBuffer(),formatJa.getTerminatedBuffer());    
            }
       }
	u_fclose(out);
	//! [dtitvfmtCustomized]
}

int main (int argc, char* argv[])
{
	dtitvfmtPreDefined();
	dtitvfmtCustomized();
	return 0;
}
share/doc/alt-libicu65/readme.html000064400000257535150470307470012766 0ustar00<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
  <head>
    <title>ReadMe for ICU 65.1</title>
    <meta name="COPYRIGHT" content=
    "Copyright (C) 2016 and later: Unicode, Inc. and others. License &amp; terms of use: http://www.unicode.org/copyright.html"/>
    <!-- meta name="COPYRIGHT" content=
    "Copyright (c) 1997-2016 IBM Corporation and others. All Rights Reserved." / -->
    <meta name="KEYWORDS" content=
    "ICU; International Components for Unicode; ICU4C; what's new; readme; read me; introduction; downloads; downloading; building; installation;" />
    <meta name="DESCRIPTION" content=
    "The introduction to the International Components for Unicode with instructions on building, installation, usage and other information about ICU." />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<link type="text/css" href="./icu4c.css" rel="stylesheet"/>
  </head>

<!--
    classes to use with the "body" -
        draft - if the release note is itself a draft (May be combined with the other two)
        rc  - if the release note is a release candidate
        milestone - if the release note is a milestone release
-->

  <body>
  <!-- <body class="rc"> -->
    <p class="only-draft"><b>Note:</b> This is a draft readme.</p>

    <h1>
      <span class="only-draft">DRAFT</span>
      International Components for Unicode<br/>
      <span class="only-rc">Release Candidate</span>
      <span class="only-milestone">(Milestone Release)</span>
      <abbr title="International Components for Unicode">ICU</abbr> 65.1 ReadMe
    </h1>

    <!-- Shouldn't need to comment/uncomment this paragraph, just change the body class -->
    <p class="note only-milestone">This is a development milestone release of ICU
      This milestone is intended for those wishing to get an early look at new features and API changes.
      It is not recommended for production use.</p>

    <!-- Shouldn't need to comment/uncomment this paragraph, just change the body class -->
    <p class="note only-rc">This is a release candidate version of ICU4C.
      It is not recommended for production use.</p>

    <p>Last updated: 2019-Sept-16<br/>
      Copyright &copy; 2016 and later: Unicode, Inc. and others. License &amp; terms of use:
      <a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a><br/>
      Copyright &copy; 1997-2016 International Business Machines Corporation and others.
      All Rights Reserved.</p>
    <!-- Remember that there is a copyright at the end too -->
    <hr/>

    <h2 class="TOC">Table of Contents</h2>

    <ul class="TOC">
      <li><a href="#Introduction">Introduction</a></li>

      <li><a href="#GettingStarted">Getting Started</a></li>

      <li><a href="#News">What Is New In This Release?</a></li>

      <li><a href="#Download">How To Download the Source Code</a></li>

      <li><a href="#SourceCode">ICU Source Code Organization</a></li>

      <li>
        <a href="#HowToBuild">How To Build And Install ICU</a>

        <ul >
          <li><a href="#RecBuild">Recommended Build Options</a></li>

          <li><a href="#UserConfig">User-Configurable Settings</a></li>

          <li><a href="#HowToBuildWindows">Windows</a></li>

          <li><a href="#HowToBuildCygwin">Cygwin</a></li>

          <li><a href="#HowToBuildUNIX">UNIX</a></li>

          <li><a href="#HowToBuildZOS">z/OS (os/390)</a></li>

          <li><a href="#HowToBuildOS400">IBM i family (IBM i, i5/OS, OS/400)</a></li>

		  <li><a href="#HowToCrossCompileICU">How to Cross Compile ICU</a></li>
        </ul>
      </li>


      <li><a href="#HowToPackage">How To Package ICU</a></li>

      <li>
        <a href="#ImportantNotes">Important Notes About Using ICU</a>

        <ul >
          <li><a href="#ImportantNotesMultithreaded">Using ICU in a Multithreaded
          Environment</a></li>

          <li><a href="#ImportantNotesWindows">Windows Platform</a></li>

          <li><a href="#ImportantNotesUNIX">UNIX Type Platforms</a></li>
        </ul>
      </li>

      <li>
        <a href="#PlatformDependencies">Platform Dependencies</a>

        <ul >
          <li><a href="#PlatformDependenciesNew">Porting To A New
          Platform</a></li>

          <li><a href="#PlatformDependenciesImpl">Platform Dependent
          Implementations</a></li>
        </ul>
      </li>
    </ul>
    <hr />

    <h2><a name="Introduction" href="#Introduction" id=
    "Introduction">Introduction</a></h2>

    <p>Today's software market is a global one in which it is desirable to
    develop and maintain one application (single source/single binary) that
    supports a wide variety of languages. The International Components for
    Unicode (ICU) libraries provide robust and full-featured Unicode services on
    a wide variety of platforms to help this design goal. The ICU libraries
    provide support for:</p>

    <ul>
      <li>The latest version of the Unicode standard</li>

      <li>Character set conversions with support for over 220 codepages</li>

      <li>Locale data for more than 300 locales</li>

      <li>Language sensitive text collation (sorting) and searching based on the
      Unicode Collation Algorithm (=ISO 14651)</li>

      <li>Regular expression matching and Unicode sets</li>

      <li>Transformations for normalization, upper/lowercase, script
      transliterations (50+ pairs)</li>

      <li>Resource bundles for storing and accessing localized information</li>

      <li>Date/Number/Message formatting and parsing of culture specific
      input/output formats</li>

      <li>Calendar specific date and time manipulation</li>

      <li>Text boundary analysis for finding characters, word and sentence
      boundaries</li>
    </ul>

    <p>ICU has a sister project ICU4J that extends the internationalization
    capabilities of Java to a level similar to ICU. The ICU C/C++ project is also
    called ICU4C when a distinction is necessary.</p>

    <h2><a name="GettingStarted" href="#GettingStarted" id=
    "GettingStarted">Getting started</a></h2>

    <p>This document describes how to build and install ICU on your machine. For
    other information about ICU please see the following table of links.<br />
     The ICU homepage also links to related information about writing
    internationalized software.</p>

    <table class="docTable" summary="These are some useful links regarding ICU and internationalization in general.">
      <caption>
        Here are some useful links regarding ICU and internationalization in
        general.
      </caption>

      <tr>
        <td>ICU, ICU4C &amp; ICU4J Homepage</td>

        <td><a href=
        "http://icu-project.org/">http://icu-project.org/</a></td>
      </tr>

      <tr>
        <td>FAQ - Frequently Asked Questions about ICU</td>

        <td><a href=
        "http://userguide.icu-project.org/icufaq">http://userguide.icu-project.org/icufaq</a></td>
      </tr>

      <tr>
        <td>ICU User's Guide</td>

        <td><a href=
        "http://userguide.icu-project.org/">http://userguide.icu-project.org/</a></td>
      </tr>

      <tr>
        <td>How To Use ICU</td>

        <td><a href="http://userguide.icu-project.org/howtouseicu">http://userguide.icu-project.org/howtouseicu</a></td>
      </tr>

      <tr>
        <td>Download ICU Releases</td>

        <td><a href=
        "http://site.icu-project.org/download">http://site.icu-project.org/download</a></td>
      </tr>

      <tr>
        <td>ICU4C API Documentation Online</td>

        <td><a href=
        "http://icu-project.org/apiref/icu4c/">http://icu-project.org/apiref/icu4c/</a></td>
      </tr>

      <tr>
        <td>Online ICU Demos</td>

        <td><a href=
        "http://demo.icu-project.org/icu-bin/icudemos">http://demo.icu-project.org/icu-bin/icudemos</a></td>
      </tr>

      <tr>
        <td>Contacts and Bug Reports/Feature Requests</td>

        <td><a href=
        "http://site.icu-project.org/contacts">http://site.icu-project.org/contacts</a></td>
      </tr>
    </table>

    <p><strong>Important:</strong> Please make sure you understand the <a href=
    "http://source.icu-project.org/repos/icu/trunk/icu4c/LICENSE">Copyright and License Information</a>.</p>


    <h2><a name="News" href="#News" id="News">What Is New In This Release?</a></h2>

    <p>See the <a href="http://site.icu-project.org/download/65">ICU 65 download page</a>
    for an overview of this release, important changes, new features, bug fixes, known issues,
    changes to supported platforms and build environments,
    and migration issues for existing applications migrating from previous ICU releases.</p>

    <p>See the <a href="APIChangeReport.html">API Change Report</a> for a complete list of
    APIs added, removed, or changed in this release.</p>

    <p><a name="RecentPreviousChanges" id="RecentPreviousChanges"></a>For
    changes in previous releases, see the
    main <a href="http://site.icu-project.org/download">ICU download page</a>
    with its version-specific subpages.</p>


    <h2><a name="Download" href="#Download" id="Download">How To Download the
    Source Code</a></h2>

    <p>There are two ways to download ICU releases:</p>

    <ul>
      <li><strong>Official Release Snapshot:</strong><br />
       If you want to use ICU (as opposed to developing it), you should download
      an official packaged version of the ICU source code. These versions are
      tested more thoroughly than day-to-day development builds of the system,
      and they are packaged in zip and tar files for convenient download. These
      packaged files can be found at <a href=
      "http://site.icu-project.org/download">http://site.icu-project.org/download</a>.<br />
       The packaged snapshots are named <strong>icu-nnnn.zip</strong> or
      <strong>icu-nnnn.tgz</strong>, where nnnn is the version number. The .zip
      file is used for Windows platforms, while the .tgz file is preferred on
      most other platforms.<br />
       Please unzip this file. </li>

      <li><strong>GitHub Source Repository:</strong><br />
       If you are interested in developing features, patches, or bug fixes for
      ICU, you should probably be working with the latest version of the ICU
      source code. You will need to clone and checkout the code from our GitHub repository to
      ensure that you have the most recent version of all of the files. See our
      <a href="http://site.icu-project.org/repository">source
      repository</a> for details.</li>
    </ul>

    <h2><a name="SourceCode" href="#SourceCode" id="SourceCode">ICU Source Code
    Organization</a></h2>

    <p>In the descriptions below, <strong><i>&lt;ICU&gt;</i></strong> is the full
    path name of the ICU directory (the top level directory from the distribution
    archives) in your file system. You can also view the <a href=
    "http://userguide.icu-project.org/design">ICU Architectural
    Design</a> section of the User's Guide to see which libraries you need for
    your software product. You need at least the data (<code>[lib]icudt</code>)
    and the common (<code>[lib]icuuc</code>) libraries in order to use ICU.</p>

    <table class="docTable" summary="The following files describe the code drop.">
      <caption>
        The following files describe the code drop.
      </caption>

      <tr>
        <th scope="col">File</th>

        <th scope="col">Description</th>
      </tr>

      <tr>
        <td>readme.html</td>

        <td>Describes the International Components for Unicode (this file)</td>
      </tr>

      <tr>
        <td>LICENSE</td>

        <td>Contains the text of the ICU license</td>
      </tr>
    </table>

    <p><br />
    </p>

    <table class="docTable" summary=
    "The following directories contain source code and data files.">
      <caption>
        The following directories contain source code and data files.
      </caption>

      <tr>
        <th scope="col">Directory</th>

        <th scope="col">Description</th>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>common</b>/</td>

        <td>The core Unicode and support functionality, such as resource bundles,
        character properties, locales, codepage conversion, normalization,
        Unicode properties, Locale, and UnicodeString.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>i18n</b>/</td>

        <td>Modules in i18n are generally the more data-driven, that is to say
        resource bundle driven, components. These deal with higher-level
        internationalization issues such as formatting, collation, text break
        analysis, and transliteration.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>layoutex</b>/</td>

        <td>Contains the ICU paragraph layout engine.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>io</b>/</td>

        <td>Contains the ICU I/O library.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>data</b>/</td>

        <td>
          <p>This directory contains the source data in text format, which is
          compiled into binary form during the ICU build process. It contains
          several subdirectories, in which the data files are grouped by
          function. Note that the build process must be run again after any
          changes are made to this directory.</p>

          <p>If some of the following directories are missing, it's probably
          because you got an official download. If you need the data source files
          for customization, then please download the complete ICU source code from <a
          href="http://site.icu-project.org/repository">the ICU repository</a>.</p>

          <ul>
            <li><b>in/</b> A directory that contains a pre-built data library for
            ICU. A standard source code package will contain this file without
            several of the following directories. This is to simplify the build
            process for the majority of users and to reduce platform porting
            issues.</li>

            <li><b>brkitr/</b> Data files for character, word, sentence, title
            casing and line boundary analysis.</li>

            <li><b>coll/</b> Data for collation tailorings. The makefile
            <b>colfiles.mk</b> contains the list of resource bundle files.</li>

            <li><b>locales/</b> These .txt files contain ICU language and
            culture-specific localization data. Two special bundles are
            <b>root</b>, which is the fallback data and parent of other bundles,
            and <b>index</b>, which contains a list of installed bundles. The
            makefile <b>resfiles.mk</b> contains the list of resource bundle
            files. Some of the locale data is split out into the type-specific
            directories curr, lang, region, unit, and zone, described below.</li>

            <li><b>curr/</b> Locale data for currency symbols and names (including
            plural forms), with its own makefile <b>resfiles.mk</b>.</li>

            <li><b>lang/</b> Locale data for names of languages, scripts, and locale
            key names and values, with its own makefile <b>resfiles.mk</b>.</li>

            <li><b>region/</b> Locale data for names of regions, with its own
            makefile <b>resfiles.mk</b>.</li>

            <li><b>unit/</b> Locale data for measurement unit patterns and names, 
            with its own makefile <b>resfiles.mk</b>.</li>

            <li><b>zone/</b> Locale data for time zone names, with its own
            makefile <b>resfiles.mk</b>.</li>

            <li><b>mappings/</b> Here are the code page converter tables. These
            .ucm files contain mappings to and from Unicode. These are compiled
            into .cnv files. <b>convrtrs.txt</b> is the alias mapping table from
            various converter name formats to ICU internal format and vice versa.
            It produces cnvalias.icu. The makefiles <b>ucmfiles.mk,
            ucmcore.mk,</b> and <b>ucmebcdic.mk</b> contain the list of
            converters to be built.</li>

            <li><b>translit/</b> This directory contains transliterator rules as
            resource bundles, a makefile <b>trnsfiles.mk</b> containing the list
            of installed system translitaration files, and as well the special
            bundle <b>translit_index</b> which lists the system transliterator
            aliases.</li>

            <li><b>unidata/</b> This directory contains the Unicode data files.
            Please see <a href=
            "http://www.unicode.org/">http://www.unicode.org/</a> for more
            information.</li>

            <li><b>misc/</b> The misc directory contains other data files which
            did not fit into the above categories, including time zone
            information, region-specific data, and other data derived from CLDR
            supplemental data.</li>

            <li><b>out/</b> This directory contains the assembled memory mapped
            files.</li>

            <li><b>out/build/</b> This directory contains intermediate (compiled)
            files, such as .cnv, .res, etc.</li>
          </ul>

          <p>If you are creating a special ICU build, you can set the ICU_DATA
          environment variable to the out/ or the out/build/ directories, but
          this is generally discouraged because most people set it incorrectly.
          You can view the <a href=
          "http://userguide.icu-project.org/icudata">ICU Data
          Management</a> section of the ICU User's Guide for details.</p>
        </td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/test/<b>intltest</b>/</td>

        <td>A test suite including all C++ APIs. For information about running
        the test suite, see the build instructions specific to your platform
        later in this document.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/test/<b>cintltst</b>/</td>

        <td>A test suite written in C, including all C APIs. For information
        about running the test suite, see the build instructions specific to your
        platform later in this document.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/test/<b>iotest</b>/</td>

        <td>A test suite written in C and C++ to test the icuio library. For
        information about running the test suite, see the build instructions
        specific to your platform later in this document.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/test/<b>testdata</b>/</td>

        <td>Source text files for data, which are read by the tests. It contains
        the subdirectories <b>out/build/</b> which is used for intermediate
        files, and <b>out/</b> which contains <b>testdata.dat.</b></td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>tools</b>/</td>

        <td>Tools for generating the data files. Data files are generated by
        invoking <i>&lt;ICU&gt;</i>/source/data/build/makedata.bat on Win32 or
        <i>&lt;ICU&gt;</i>/source/make on UNIX.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>samples</b>/</td>

        <td>Various sample programs that use ICU</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>extra</b>/</td>

        <td>Non-supported API additions. Currently, it contains the 'uconv' tool
        to perform codepage conversion on files.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/<b>packaging</b>/</td>

        <td>This directory contain scripts and tools for packaging the final
        ICU build for various release platforms.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>config</b>/</td>

        <td>Contains helper makefiles for platform specific build commands. Used
        by 'configure'.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/source/<b>allinone</b>/</td>

        <td>Contains top-level ICU workspace and project files, for instance to
        build all of ICU under one MSVC project.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/<b>include</b>/</td>

        <td>Contains the headers needed for developing software that uses ICU on
        Windows.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/<b>lib</b>/</td>

        <td>Contains the import libraries for linking ICU into your Windows
        application.</td>
      </tr>

      <tr>
        <td><i>&lt;ICU&gt;</i>/<b>bin</b>/</td>

        <td>Contains the libraries and executables for using ICU on Windows.</td>
      </tr>
    </table>
    <!-- end of ICU structure ==================================== -->

    <h2><a name="HowToBuild" href="#HowToBuild" id="HowToBuild">How To Build And
    Install ICU</a></h2>

    <h3><a name="RecBuild" href="#RecBuild" id=
    "RecBuild">Recommended Build Options</a></h3>

    <p>Depending on the platform and the type of installation,
    we recommend a small number of modifications and build options.
    Note that C99 compatibility is now required.</p>
    <ul>
      <li><b>Namespace (ICU 61 and later):</b>
        Since ICU 61, call sites need to qualify ICU types explicitly,
        for example <code>icu::UnicodeString</code>,
        or do <code>using icu::UnicodeString;</code> where appropriate.
        If your code relies on the "using namespace icu;" that used to be in unicode/uversion.h,
        then you need to update your code.<br />
        You could temporarily (until you have more time to update your code)
        revert to the default "using"
        via <code>-DU_USING_ICU_NAMESPACE=1</code>
        or by modifying unicode/uversion.h:
<pre>Index: icu4c/source/common/unicode/uversion.h
===================================================================
--- icu4c/source/common/unicode/uversion.h      (revision 40704)
+++ icu4c/source/common/unicode/uversion.h      (working copy)
@@ -127,7 +127,7 @@
                 defined(U_LAYOUTEX_IMPLEMENTATION) || defined(U_TOOLUTIL_IMPLEMENTATION)
 #           define U_USING_ICU_NAMESPACE 0
 #       else
-#           define U_USING_ICU_NAMESPACE 0
+#           define U_USING_ICU_NAMESPACE 1
 #       endif
 #   endif
 #   if U_USING_ICU_NAMESPACE
</pre>
      </li>
      <li><b>Namespace (ICU 60 and earlier):</b> By default, unicode/uversion.h has
        "using namespace icu;" which defeats much of the purpose of the namespace.
        (This is for historical reasons: Originally, ICU4C did not use namespaces,
        and some compilers did not support them. The default "using" statement
        preserves source code compatibility.)<br />
        You should turn this off
         via <code>-DU_USING_ICU_NAMESPACE=0</code>
        or by modifying unicode/uversion.h:
<pre>Index: source/common/unicode/uversion.h
===================================================================
--- source/common/unicode/uversion.h    (revision 26606)
+++ source/common/unicode/uversion.h    (working copy)
@@ -180,7 +180,8 @@
 #   define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::

 #   ifndef U_USING_ICU_NAMESPACE
-#       define U_USING_ICU_NAMESPACE 1
+        // Set to 0 to force namespace declarations in ICU usage.
+#       define U_USING_ICU_NAMESPACE 0
 #   endif
 #   if U_USING_ICU_NAMESPACE
         U_NAMESPACE_USE
</pre>
        ICU call sites then either qualify ICU types explicitly,
        for example <code>icu::UnicodeString</code>,
        or do <code>using icu::UnicodeString;</code> where appropriate.</li>
      <li><b>Hardcode the default charset to UTF-8:</b> On platforms where
        the default charset is always UTF-8,
        like MacOS X and some Linux distributions,
        we recommend hardcoding ICU's default charset to UTF-8.
        This means that some implementation code becomes simpler and faster,
        and statically linked ICU libraries become smaller.
        (See the <a href="http://icu-project.org/apiref/icu4c/platform_8h.html#a0a33e1edf3cd23d9e9c972b63c9f7943">U_CHARSET_IS_UTF8</a>
        API documentation for more details.)<br />
        You can <code>-DU_CHARSET_IS_UTF8=1</code> or
        modify unicode/utypes.h (in ICU 4.8 and below)
        or modify unicode/platform.h (in ICU 49 and higher):
<pre>Index: source/common/unicode/utypes.h
===================================================================
--- source/common/unicode/utypes.h      (revision 26606)
+++ source/common/unicode/utypes.h      (working copy)
@@ -160,7 +160,7 @@
  * @see UCONFIG_NO_CONVERSION
  */
 #ifndef U_CHARSET_IS_UTF8
-#   define U_CHARSET_IS_UTF8 0
+#   define U_CHARSET_IS_UTF8 1
 #endif

 /*===========================================================================*/
</pre></li>
      <li><b>UnicodeString constructors:</b> The UnicodeString class has
        several single-argument constructors that are not marked "explicit"
        for historical reasons.
        This can lead to inadvertent construction of a <code>UnicodeString</code>
        with a single character by using an integer,
        and it can lead to inadvertent dependency on the conversion framework
        by using a C string literal.<br />
        Beginning with ICU 49, you should do the following:
        <ul>
          <li>Consider marking the from-<code>UChar</code>
            and from-<code>UChar32</code> constructors explicit via
            <code>-DUNISTR_FROM_CHAR_EXPLICIT=explicit</code> or similar.</li>
          <li>Consider marking the from-<code>const char*</code> and
            from-<code>const UChar*</code> constructors explicit via
            <code>-DUNISTR_FROM_STRING_EXPLICIT=explicit</code> or similar.</li>
        </ul>
        Note: The ICU test suites cannot be compiled with these settings.
      </li>
      <li><b>utf.h, utf8.h, utf16.h, utf_old.h:</b>
        By default, utypes.h (and thus almost every public ICU header)
        includes all of these header files.
        Often, none of them are needed, or only one or two of them.
        All of utf_old.h is deprecated or obsolete.<br />
        Beginning with ICU 49,
        you should define <code>U_NO_DEFAULT_INCLUDE_UTF_HEADERS</code> to 1
        (via -D or uconfig.h, as above)
        and include those header files explicitly that you actually need.<br />
        Note: The ICU test suites cannot be compiled with this setting.</li>
      <li><b>utf_old.h:</b>
        All of utf_old.h is deprecated or obsolete.<br />
        Beginning with ICU 60,
        you should define <code>U_HIDE_OBSOLETE_UTF_OLD_H</code> to 1
        (via -D or uconfig.h, as above).
        Use of any of these macros should be replaced as noted
        in the comments for the obsolete macro.<br />
        Note: The ICU test suites <i>can</i> be compiled with this setting.</li>
      <li><b>.dat file:</b> By default, the ICU data is built into
        a shared library (DLL). This is convenient because it requires no
        install-time or runtime configuration,
        but the library is platform-specific and cannot be modified.
        A .dat package file makes the opposite trade-off:
        Platform-portable (except for endianness and charset family, which
        can be changed with the icupkg tool)
        and modifiable (also with the icupkg tool).
        If a path is set, then single data files (e.g., .res files)
        can be copied to that location to provide new locale data
        or conversion tables etc.<br />
        The only drawback with a .dat package file is that the application
        needs to provide ICU with the file system path to the package file
        (e.g., by calling <code>u_setDataDirectory()</code>)
        or with a pointer to the data (<code>udata_setCommonData()</code>)
        before other ICU API calls.
        This is usually easy if ICU is used from an application where
        <code>main()</code> takes care of such initialization.
        It may be hard if ICU is shipped with
        another shared library (such as the Xerces-C++ XML parser)
        which does not control <code>main()</code>.<br />
        See the <a href="http://userguide.icu-project.org/icudata">User Guide ICU Data</a>
        chapter for more details.<br />
        If possible, we recommend building the .dat package.
        Specify <code>--with-data-packaging=archive</code>
        on the configure command line, as in<br />
        <code>runConfigureICU Linux --with-data-packaging=archive</code><br />
        (Read the configure script's output for further instructions.
        On Windows, the Visual Studio build generates both the .dat package
        and the data DLL.)<br />
        Be sure to install and use the tiny stubdata library
        rather than the large data DLL.</li>
      <li><b>Static libraries:</b> It may make sense to build the ICU code
        into static libraries (.a) rather than shared libraries (.so/.dll).
        Static linking reduces the overall size of the binary by removing
        code that is never called.<br />
        Example configure command line:<br />
        <code>runConfigureICU Linux --enable-static --disable-shared</code></li>
      <li><b>Out-of-source build:</b> It is usually desirable to keep the ICU
        source file tree clean and have build output files written to
        a different location. This is called an "out-of-source build".
        Simply invoke the configure script from the target location:
<pre>~/icu$ git clone export https://github.com/unicode-org/icu.git
~/icu$ mkdir icu4c-build
~/icu$ cd icu4c-build
~/icu/icu4c-build$ ../icu/icu4c/source/runConfigureICU Linux
~/icu/icu4c-build$ make check</pre><br/>
        (Note: this example shows a relative path to
         <code>runConfigureICU</code>. If you experience difficulty,
         try using an absolute path to <code>runConfigureICU</code>
         instead.)
      </li>
    </ul>
    <h4>ICU as a System-Level Library</h4>
    <p>If ICU is installed as a system-level library, there are further
      opportunities and restrictions to consider.
      For details, see the <em>Using ICU as an Operating System Level Library</em>
      section of the <a href="http://userguide.icu-project.org/design">User Guide ICU Architectural Design</a> chapter.</p>
    <ul>
      <li><b>Data path:</b> For a system-level library, it is best to load
        ICU data from the .dat package file because the file system path
        to the .dat package file can be hardcoded. ICU will automatically set
        the path to the final install location using U_ICU_DATA_DEFAULT_DIR.
        Alternatively, you can set <code>-DICU_DATA_DIR=/path/to/icu/data</code>
        when building the ICU code. (Used by source/common/putil.c.)<br/>
        Consider also setting <code>-DICU_NO_USER_DATA_OVERRIDE</code>
        if you do not want the "ICU_DATA" environment variable to be used.
        (An application can still override the data path via
        <code>u_setDataDirectory()</code> or
        <code>udata_setCommonData()</code>.</li>
      <li><b>Hide draft API:</b> API marked with <code>@draft</code>
        is new and not yet stable. Applications must not rely on unstable
        APIs from a system-level library.
        Define <code>U_HIDE_DRAFT_API</code>, <code>U_HIDE_INTERNAL_API</code>
        and <code>U_HIDE_SYSTEM_API</code>
        by modifying unicode/utypes.h before installing it.</li>
      <li><b>Only C APIs:</b> Applications must not rely on C++ APIs from a
        system-level library because binary C++ compatibility
        across library and compiler versions is very hard to achieve.
        Most ICU C++ APIs are in header files that contain a comment with
        <code>\brief C++ API</code>.
        Consider not installing these header files, or define <code>U_SHOW_CPLUSPLUS_API</code>
        to be <code>0</code> by modifying unicode/utypes.h before installing it.</li>
      <li><b>Disable renaming:</b> By default, ICU library entry point names
        have an ICU version suffix. Turn this off for a system-level installation,
        to enable upgrading ICU without breaking applications. For example:<br />
        <code>runConfigureICU Linux --disable-renaming</code><br />
        The public header files from this configuration must be installed
        for applications to include and get the correct entry point names.</li>
    </ul>

    <h3><a name="UserConfig" href="#UserConfig" id="UserConfig">User-Configurable Settings</a></h3>
    <p>ICU4C can be customized via a number of user-configurable settings.
    Many of them are controlled by preprocessor macros which are
    defined in the <code>source/common/unicode/uconfig.h</code> header file.
    Some turn off parts of ICU, for example conversion or collation,
    trading off a smaller library for reduced functionality.
    Other settings are recommended (see previous section)
    but their default values are set for better source code compatibility.</p>

    <p>In order to change such user-configurable settings, you can
    either modify the <code>uconfig.h</code> header file by adding
    a specific <code>#define ...</code> for one or more of the macros
    before they are first tested,
    or set the compiler's preprocessor flags (<code>CPPFLAGS</code>) to include
    an equivalent <code>-D</code> macro definition.</p>

    <h3><a name="HowToBuildWindows" href="#HowToBuildWindows" id=
    "HowToBuildWindows">How To Build And Install On Windows</a></h3>

    <p>Building International Components for Unicode requires:</p>

    <ul>
      <li>Microsoft Windows</li>

      <li>Microsoft Visual C++ (part of <a href="https://www.visualstudio.com/">Visual Studio</a>) (from either Visual Studio 2015 or Visual Studio 2017)</li>
      
      <li><i><b>Optional:</b></i> A version of the <a href="https://developer.microsoft.com/windows/downloads">Windows 10 SDK</a> (if you want to build the UWP projects)</li>
    </ul>
        <p class="note"><a href="#HowToBuildCygwin">Cygwin</a> is required if using a version of MSVC other than the one
        compatible with the supplied project files or if other compilers are used to build ICU. (e.g. GCC)</p>

    <p>The steps are:</p>

    <ol>
      <li>Unzip the <tt>icu-XXXX.zip</tt> file into any convenient location.<br/>
        <ul class="no-left-margin">
          <li>You can use the built-in zip functionality of Windows Explorer to do this.
          Right-click on the .zip file and choose the "Extract All" option from the context menu.
          This will open a new window where you can choose the output location to put the files.</li>
          <li>Alternatively, you can use a 3<sup>rd</sup> party GUI tool like 7-Zip or WinZip to do this as well.</li>
        </ul>
      </li>

      <li>Be sure that the ICU binary directory, (ex: <i>&lt;ICU&gt;</i><tt>\bin\</tt>), is
      included in the <strong>PATH</strong> environment variable. The tests will
      not work without the location of the ICU DLL files in the path.
      Note that the binary directory name can depend on what architecture you select when you compile ICU.
      For x86 or 32-bit builds, the binary directory is "<tt>bin</tt>". Whereas for x64 or 64-bit builds
      the binary directory is "<tt>bin64</tt>".
      </li>

      <li>Open the "<i>&lt;ICU&gt;</i><tt>\source\allinone\allinone.sln</tt>" solution
      file in 'Visual Studio 2017'. (This solution includes all the
      International Components for Unicode libraries, necessary ICU building
      tools, and the test suite projects). Please see the 
      <a href="#HowToBuildWindowsCommandLine">command line note below</a> if you want to
      build from the command line instead.</li>

      <li>If you are building using 'Visual Studio 2015' instead, or if you are building the UWP projects and you have a different
      version of the Windows 10 SDK installed you will first need to modify the two "<tt>Build.Windows.*.props</tt>" files
      in the "<tt>allinone</tt>" directory before you can open the "allinone" solution file.
      Please see the notes below about <a href="#HowToUseOtherVSVersions">building with other versions of Visual Studio</a> and the 
      notes on <a href="#HowToRetargetTheWin10SDK">re-targeting the Windows 10 SDK for the UWP projects</a> for details. Alternatively,
      you can <a href="#HowToSkipBuildingUWP">skip building the UWP projects</a> entirely as well.
      </li>
      
      <li>Set the active platform to "Win32" or "x64" (See <a href="#HowToBuildWindowsPlatform">Windows platform note</a> below)
      and configuration to "Debug" or "Release" (See <a href="#HowToBuildWindowsConfig">Windows configuration note</a> below).</li>

      <li>Choose the "Build" menu and select "Rebuild Solution". If you want to
      build the Debug and Release at the same time, see the <a href=
      "#HowToBuildWindowsBatch">batch configuration note</a> below.</li>

      <li>Run the tests. They can be run from the command line or from within Visual Studio.

        <h4>Running the Tests from the Windows Command Line (cmd)</h4>
        <ul>
          <li>The general syntax is:<br />
              <div class="indent">
                <tt><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <i>Platform</i> <i>Configuration</i></tt>
              </div>
          </li>
          <li>So, for example for x86 (32-bit) and Debug, use the following:<br />
              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Debug</b></samp>
              For x86 (32-bit) and Release:
              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x86</b> <b>Release</b></samp>
              For x64 (64-bit) and Debug:
              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x64</b> <b>Debug</b></samp>
              For x64 (64-bit) and Release:
              <samp><i>&lt;ICU&gt;</i>\source\allinone\icucheck.bat  <b>x64</b> <b>Release</b></samp>
          </li>
        </ul>

        <h4>Running the Tests from within Visual Studio</h4>

        <ol>
          <li>Run the C++ test suite, "<tt>intltest</tt>". To do this: set the active startup
          project to "intltest", and press Ctrl+F5 to run it. Make sure that it
          passes without any errors.</li>

          <li>Run the C test suite, "<tt>cintltst</tt>". To do this: set the active startup
          project to "cintltst", and press Ctrl+F5 to run it. Make sure that it
          passes without any errors.</li>

          <li>Run the I/O test suite, "<tt>iotest</tt>". To do this: set the active startup
          project to "iotest", and press Ctrl+F5 to run it. Make sure that it passes
          without any errors.</li>
        </ol>
	    </li>

      <li>You are now able to develop applications with ICU by using the
      libraries and tools in <tt><i>&lt;ICU&gt;</i>\bin\</tt>. The headers are in
      <tt><i>&lt;ICU&gt;</i>\include\</tt> and the link libraries are in
      <tt><i>&lt;ICU&gt;</i>\lib\</tt>. To install the ICU runtime on a machine, or ship
      it with your application, copy the needed components from
      <tt><i>&lt;ICU&gt;</i>\bin\</tt> to a location on the system PATH or to your
      application directory.</li>
    </ol>

    <p><a name="HowToUseOtherVSVersions" id="HowToUseOtherVSVersions">
    <strong>Building with other versions of Visual Studio Note:</strong></a>
    The particular version of the MSVC compiler tool-set (and thus the corresponding version of Visual Studio) that
    is used to compile ICU is determined by the "<tt>PlatformToolset</tt>" property. This property is stored in two
    different shared files that are used to set common configuration settings amongst the various ICU "<tt>*.vcxproj</tt>" project files.
    
    For the non-UWP projects, this setting is in the shared file called "<tt>Build.Windows.ProjectConfiguration.props</tt>" located
    in the "allinone" directory.
    
    For the UWP projects, this setting is in the shared file called "<tt>Build.Windows.UWP.ProjectConfiguration.props</tt>", also 
    located in the "allinone" directory.
    <br/>
    The value of <tt>v140</tt> corresponds to the Visual Studio 2015 compiler tool set, whereas the value of
    <tt>v141</tt> corresponds to the Visual Studio 2017 compiler tool set.
    
    <br/>In order to build the non-UWP projects with Visual Studio 2015 you will need to modify the file
    called "<tt>Build.Windows.ProjectConfiguration.props</tt>" to change the value of the <tt>PlatformToolset</tt> property.
    
    Note however that Visual Studio 2017 is required for building the UWP projects.
    </p>
    
    <p>Please consider: Using older versions of the MSVC compiler is generally not recommended due to the improved support for the C++11 standard
    in newer versions of the compiler.</p>
    
    <p><a name="HowToRetargetTheWin10SDK" id="HowToRetargetTheWin10SDK">
    <strong>Re-targeting the Windows 10 SDK for the UWP projects Note:</strong></a>
    
      If the version of the Windows 10 SDK that you have installed does not match the version used by the UWP projects, then you 
      will need to "retarget" them to use the version of the SDK that you have installed instead.
      
      There are two ways to do this:
      <ul>
        <li>In Visual Studio you can right-click on the UWP projects in the 'Solution Explorer' and select the
            option 'Retarget Projects' from the context menu. This will open up a window where you can select the
            SDK version to target from a drop-down list of the various SDKs that are installed on the machine.</li>

        <li>Alternatively, you can manually edit the shared file called "<tt>Build.Windows.UWP.ProjectConfiguration.props</tt>"
            which is located in the "allinone" directory. You will need to change the of the
            "<tt>WindowsTargetPlatformVersion</tt>" property to the version of the SDK that you would like to use instead.</li>
      </ul>
    </p>
    
    <p><a name="HowToBuildWindowsCommandLine" id=
    "HowToBuildWindowsCommandLine"><strong>Using MSBUILD At The Command Line Note:</strong></a>
    You can build ICU from the command line instead of using the Visual Studio GUI.
    
    Assuming that you have properly installed Visual Studio to support command line building, you 
    should have a shortcut for the "Developer Command Prompt" listed in the Start Menu.
    (For Visual Studio 2017 you will need to install the "Desktop development with C++" option).</p>
    
    <ul>
      <li>Open the "Developer Command Prompt" shortcut from the Start Menu. (This will open up a new command line window).</li>
      <li>From within the "Developer Command Prompt" change directory (<tt>cd</tt>) to the ICU source directory.</li>
      <li>You can then use either '<tt>msbuild</tt>' directly, or you can use the '<tt>devenv.com</tt>' command to build ICU.</li>
      <li>Using <tt>MSBUILD</tt>:</li>
      <ul class="no-left-margin">
        <li>To build the 32-bit Debug version, use the following command line:<br/>
          <code>'msbuild source\allinone\allinone.sln /p:Configuration=Debug /p:Platform=Win32'</code>.</li>
        <li>To build the 64-bit Release version, use the following command line:<br/> 
          <code>'msbuild source\allinone\allinone.sln /p:Configuration=Release /p:Platform=x64'</code>.</li>
      </ul>
      <li>Using <tt>devenv.com</tt>:</li>
      <ul class="no-left-margin">
        <li>To build the 32-bit Debug version, use the following command line:<br/>
          <code>'devenv.com source\allinone\allinone.sln /build "Debug|Win32"'</code>.</li>
        <li>To build the 64-bit Release version, use the following command line:<br/>
          <code>'devenv.com source\allinone\allinone.sln /build "Release|x64"'</code>.</li>
      </ul>
    </ul>
    
    <p><a name="HowToSkipBuildingUWP" id=
      "HowToSkipBuildingUWP"><strong>Skipping the UWP Projects on the Command Line Note:</strong></a>
      You can skip (or omit) building the UWP projects on the command line by passing the argument
      '<code>SkipUWP=true</code>' to either MSBUILD or devenv.</p>
    
      <ul>
        <li>For example, using <tt>MSBUILD</tt>:</li>
        <ul class="no-left-margin">
          <li>To skip building the UWP projects with a 32-bit Debug build, use the following command line:<br/>
            <code>'msbuild source\allinone\allinone.sln /p:Configuration=Debug /p:Platform=Win32 /p:SkipUWP=true'</code>.</li>
          <li>To skip building the UWP projects with a 64-bit Release version, use the following command line:<br/> 
            <code>'msbuild source\allinone\allinone.sln /p:Configuration=Release /p:Platform=x64 /p:SkipUWP=true'</code>.</li>
        </ul>
      </ul>
    
    <p>You can also use Cygwin with the MSVC compiler to build ICU, and you can refer to the <a href=
    "#HowToBuildCygwin">How To Build And Install On Windows with Cygwin</a>
    section for more details.</p>

    <p><a name="HowToBuildWindowsPlatform" id=
    "HowToBuildWindowsPlatform"><strong>Setting Active Platform
    Note:</strong></a> Even though you are able to select "x64" as the active platform, if your operating system is
    not a 64 bit version of Windows, the build will fail. To set the active platform, two different possibilities are:</p>

    <ul>
      <li>Choose "Build" menu, select "Configuration Manager...", and select
      "Win32" or "x64" for the Active Platform Solution.</li>

      <li>Another way is to select the desired build configuration from "Solution
      Platforms" dropdown menu from the standard toolbar. It will say
      "Win32" or "x64" in the dropdown list.</li>
    </ul>

    <p><a name="HowToBuildWindowsConfig" id=
    "HowToBuildWindowsConfig"><strong>Setting Active Configuration
    Note:</strong></a> To set the active configuration, two different
    possibilities are:</p>

    <ul>
      <li>Choose "Build" menu, select "Configuration Manager...", and select
      "Release" or "Debug" for the Active Configuration Solution.</li>

      <li>Another way is to select the desired build configuration from "Solution
      Configurations" dropdown menu from the standard toolbar. It will say
      "Release" or "Debug" in the dropdown list.</li>
    </ul>

    <p><a name="HowToBuildWindowsBatch" id="HowToBuildWindowsBatch"><strong>Batch
    Configuration Note:</strong></a> If you want to build the Win32 and x64 platforms and
    Debug and Release configurations at the same time, choose "Build" menu, and select "Batch
    Build...". Click the "Select All" button, and then click the "Rebuild"
    button.</p>

    <h3><a name="HowToBuildCygwin" href="#HowToBuildCygwin" id=
    "HowToBuildCygwin">How To Build And Install On Windows with Cygwin</a></h3>

    <p>Building International Components for Unicode with this configuration
    requires:</p>

    <ul>
      <li>Microsoft Windows</li>

      <li>Microsoft Visual C++ (from Visual Studio 2015 or newer, when gcc isn't used).</li>

      <li>
        Cygwin with the following installed:

        <ul>
          <li>bash</li>

          <li>GNU make</li>

          <li>ar</li>

          <li>ranlib</li>

          <li>man (if you plan to look at the man pages)</li>
        </ul>
      </li>
    </ul>

    <p>There are two ways you can build ICU with Cygwin. You can build with gcc
    or Microsoft Visual C++. If you use gcc, the resulting libraries and tools
    will depend on the Cygwin environment. If you use Microsoft Visual C++, the
    resulting libraries and tools do not depend on Cygwin and can be more easily
    distributed to other Windows computers (the generated man pages and shell
    scripts still need Cygwin). To build with gcc, please follow the "<a href=
    "#HowToBuildUNIX">How To Build And Install On UNIX</a>" instructions, while
    you are inside a Cygwin bash shell. To build with Microsoft Visual C++,
    please use the following instructions:</p>

    <ol>
      <li>Start the Windows "Command Prompt" window. This is different from the
      gcc build, which requires the Cygwin Bash command prompt. The Microsoft
      Visual C++ compiler will not work with a bash command prompt.</li>

      <li>If the computer isn't set up to use Visual C++ from the command line,
      you need to run vcvars32.bat.<br />For example:<br />
      "<tt>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat</tt>"
      can be used for 32-bit builds <strong>or</strong> <br />
      "<tt>C:\Program Files (x86)\Microsoft Visual Studio 14\VC\bin\x86_amd64\vcvarsx86_amd64.bat</tt>"
      can be used for 64-bit builds on Windows x64.</li>

      <li>Unzip the icu-XXXX.zip file into any convenient location. Using command
      line zip, type "unzip -a icu-XXXX.zip -d drive:\directory", or just use
      WinZip.</li>

      <li>Change directory to "icu/source", which is where you unzipped ICU.</li>

      <li>Run "<tt>bash <a href="source/runConfigureICU">./runConfigureICU</a>
      Cygwin/MSVC</tt>" (See <a href="#HowToWindowsConfigureICU">Windows
      configuration note</a> and non-functional configure options below).</li>

      <li>Type <tt>"make"</tt> to compile the libraries and all the data files.
      This make command should be GNU make.</li>

      <li>Optionally, type <tt>"make check"</tt> to run the test suite, which
      checks for ICU's functionality integrity (See <a href=
      "#HowToTestWithoutGmake">testing note</a> below).</li>

      <li>Type <tt>"make install"</tt> to install ICU. If you used the --prefix=
      option on configure or runConfigureICU, ICU will be installed to the
      directory you specified. (See <a href="#HowToInstallICU">installation
      note</a> below).</li>
    </ol>

    <p><a name="HowToWindowsConfigureICU" id=
    "HowToWindowsConfigureICU"><strong>Configuring ICU on Windows
    NOTE:</strong></a> </p>
    <p>
    Ensure that the order of the PATH is MSVC, Cygwin, and then other PATHs. The configure
    script needs certain tools in Cygwin (e.g. grep).
    </p>
    <p>
    Also, you may need to run <tt>"dos2unix.exe"</tt> on all of the scripts (e.g. configure)
    in the top source directory of ICU. To avoid this issue, you can download
    the ICU source for Unix platforms (icu-xxx.tgz).
    </p>
    <p>In addition to the Unix <a href=
    "#HowToConfigureICU">configuration note</a> the following configure options
    currently do not work on Windows with Microsoft's compiler. Some options can
    work by manually editing <tt>icu/source/common/unicode/pwin32.h</tt>, but
    manually editing the files is not recommended.</p>

    <ul>
      <li><tt>--disable-renaming</tt></li>

      <li><tt>--enable-tracing</tt></li>

      <li><tt>--enable-rpath</tt></li>

      <li><tt>--enable-static</tt> (Requires that U_STATIC_IMPLEMENTATION be
      defined in user code that links against ICU's static libraries.)</li>

      <li><tt>--with-data-packaging=files</tt> (The pkgdata tool currently does
      not work in this mode. Manual packaging is required to use this mode.)</li>
    </ul>

    <h3><a name="HowToBuildUNIX" href="#HowToBuildUNIX" id="HowToBuildUNIX">How
    To Build And Install On UNIX</a></h3>

    <p>Building International Components for Unicode on UNIX requires:</p>

    <ul>
      <li>A C++ compiler installed on the target machine (for example: gcc, CC,
      xlC_r, aCC, cxx, etc...).</li>

      <li>An ANSI C compiler installed on the target machine (for example:
      cc).</li>

      <li>A recent version of GNU make (3.80+).</li>

      <li>For a list of z/OS tools please view the <a href="#HowToBuildZOS">z/OS
      build section</a> of this document for further details.</li>
    </ul>

    <p>Here are the steps to build ICU:</p>

    <ol>
      <li>Decompress the icu-<i>X</i>.<i>Y</i>.tgz (or
      icu-<i>X</i>.<i>Y</i>.tar.gz) file. For example, <samp>gunzip -d &lt; icu-<i>X</i>.<i>Y</i>.tgz | tar xvf -</samp></li>

      <li>Change directory to <code>icu/source</code>.
          <samp>cd icu/source</samp>
          </li>

      <li>Some files may have the wrong permissions.<samp>chmod +x runConfigureICU configure install-sh</samp></li>

      <li>Run the <span style='font-family: monospace;'><a href="source/runConfigureICU">runConfigureICU</a></span>
      script for your platform. (See <a href="#HowToConfigureICU">configuration
      note</a> below).</li>

      <li>Now build: <samp>gmake</samp> (or just <code>make</code> if GNU make is the default make on
      your platform) to compile the libraries and all the data files. The proper
      name of the GNU make command is printed at the end of the configuration
      run, as in <tt>"You must use gmake to compile ICU"</tt>.
      <br/>
      Note that the compilation command output may be simplified on your platform.  If this is the case, you will see just:
      <tt>gcc ... stubdata.c</tt>
      rather than
      <tt>gcc  -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -D_REENTRANT -I../common -DU_ATTRIBUTE_DEPRECATED= -O2 -Wall -std=c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o stubdata.o stubdata.c</tt>
      <br/>
      If you need to see the whole compilation line,  use <span style='font-family: monospace;'>"gmake VERBOSE=1"</span>. The full compilation line will print if an error occurs.
      </li>

      <li>Optionally,<samp>gmake check</samp> will run the test suite, which
      checks for ICU's functionality integrity (See <a href=
      "#HowToTestWithoutGmake">testing note</a> below).</li>

      <li>To install, <samp>gmake install</samp> to install ICU. If you used the --prefix=
      option on configure or runConfigureICU, ICU will be installed to the
      directory you specified. (See <a href="#HowToInstallICU">installation
      note</a> below).</li>
    </ol>

    <p><a name="HowToConfigureICU" id="HowToConfigureICU"><strong>Configuring ICU
    NOTE:</strong></a> Type <tt>"./runConfigureICU --help"</tt> for help on how
    to run it and a list of supported platforms. You may also want to type
    <tt>"./configure --help"</tt> to print the available configure options that
    you may want to give runConfigureICU. If you are not using the
    runConfigureICU script, or your platform is not supported by the script, you
    may need to set your CC, CXX, CFLAGS and CXXFLAGS environment variables, and
    type <tt>"./configure"</tt>.
    HP-UX users, please see this <a href="#ImportantNotesHPUX">note regarding
    HP-UX multithreaded build issues</a> with newer compilers. Solaris users,
    please see this <a href="#ImportantNotesSolaris">note regarding Solaris
    multithreaded build issues</a>.</p>

    <p>ICU is built with strict compiler warnings enabled by default.  If this
    causes excessive numbers of warnings on your platform, use the --disable-strict
    option to configure to reduce the warning level.</p>

    <p><a name="HowToTestWithoutGmake" id="HowToTestWithoutGmake"><strong>Running
    The Tests From The Command Line NOTE:</strong></a> You may have to set
    certain variables if you with to run test programs individually, that is
    apart from "gmake check". The environment variable <strong>ICU_DATA</strong>
    can be set to the full pathname of the data directory to indicate where the
    locale data files and conversion mapping tables are when you are not using
    the shared library (e.g. by using the .dat archive or the individual data
    files). The trailing "/" is required after the directory name (e.g.
    "$Root/source/data/out/" will work, but the value "$Root/source/data/out" is
    not acceptable). You do not need to set <strong>ICU_DATA</strong> if the
    complete shared data library is in your library path.</p>

    <p><a name="HowToInstallICU" id="HowToInstallICU"><strong>Installing ICU
    NOTE:</strong></a> Some platforms use package management tools to control the
    installation and uninstallation of files on the system, as well as the
    integrity of the system configuration. You may want to check if ICU can be
    packaged for your package management tools by looking into the "packaging"
    directory. (Please note that if you are using a snapshot of ICU from Git, it
    is probable that the packaging scripts or related files are not up to date
    with the contents of ICU at this time, so use them with caution).</p>

    <h3><a name="HowToBuildZOS" href="#HowToBuildZOS" id="HowToBuildZOS">How To
    Build And Install On z/OS (OS/390)</a></h3>

    <p>You can install ICU on z/OS or OS/390 (the previous name of z/OS), but IBM
    tests only the z/OS installation. You install ICU in a z/OS UNIX system
    services file system such as HFS or zFS. On this platform, it is important
    that you understand a few details:</p>

    <ul>
      <li>The makedep and GNU make tools are required for building ICU. If it
      is not already installed on your system, it is available at the <a href=
      "http://www-03.ibm.com/servers/eserver/zseries/zos/unix/bpxa1toy.html">z/OS UNIX -
      Tools and Toys</a> site. The PATH environment variable should be updated to
      contain the location of this executable prior to build. Failure to add these
      tools to your PATH will cause ICU build failures or cause pkgdata to fail
      to run.</li>

      <li>Since USS does not support using the mmap() function over NFS, it is
      recommended that you build ICU on a local filesystem. Once ICU has been
      built, you should not have this problem while using ICU when the data
      library has been built as a shared library, which is this is the default
      setting.</li>

      <li>Encoding considerations: The source code assumes that it is compiled
      with codepage ibm-1047 (to be exact, the UNIX System Services variant of
      it). The pax command converts all of the source code files from ASCII to
      codepage ibm-1047 (USS) EBCDIC. However, some files are binary files and
      must not be converted, or must be converted back to their original state.
      You can use the <a href="as_is/os390/unpax-icu.sh">unpax-icu.sh</a> script
      to do this for you automatically. It will unpackage the tar file and
      convert all the necessary files for you automatically.</li>

      <li>z/OS supports both native S/390 hexadecimal floating point and (with
      OS/390 2.6 and later) IEEE 754 binary floating point. This is a compile
      time option. Applications built with IEEE should use ICU DLLs that are
      built with IEEE (and vice versa). The environment variable IEEE390=0 will
      cause the z/OS version of ICU to be built without IEEE floating point
      support and use the native hexadecimal floating point. By default ICU is
      built with IEEE 754 support. Native floating point support is sufficient
      for codepage conversion, resource bundle and UnicodeString operations, but
      the Format APIs require IEEE binary floating point.</li>

      <li>z/OS introduced the concept of Extra Performance Linkage (XPLINK) to
      bring performance improvement opportunities to call-intensive C and C++
      applications such as ICU. XPLINK is enabled on a DLL-by-DLL basis, so if
      you are considering using XPLINK in your application that uses ICU, you
      should consider building the XPLINK-enabled version of ICU. You need to
      set ICU's environment variable <code>OS390_XPLINK=1</code> prior to
      invoking the make process to produce binaries that are enabled for
      XPLINK. The XPLINK option, which is available for z/OS 1.2 and later,
      requires the PTF PQ69418 to build XPLINK enabled binaries.</li>

      <li>ICU requires XPLINK for the icuio library. If you want to use the
      rest of ICU without XPLINK, then you must use the --disable-icuio
      configure option.</li>

      <li>The latest versions of z/OS use <a
      href="https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcux01/oebind6.htm">XPLINK
      version (C128) of the C++ standard library</a> by default. You may see <a
      href="https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcux01/oebind5.htm">an
      error</a> when running with XPLINK disabled. To avoid this error,
      set the following environment variable or similar:

<pre><samp>export _CXX_PSYSIX="CEE.SCEELIB(C128N)":"CBC.SCLBSID(IOSTREAM,COMPLEX)"</samp></pre>
      </li>

      <li>When building ICU data, the heap size may need to be increased with the following
      environment variable:

<pre><samp>export _CEE_RUNOPTS="HEAPPOOLS(ON),HEAP(4M,1M,ANY,FREE,0K,4080)"</samp></pre>
      </li>


      <li>The rest of the instructions for building and testing ICU on z/OS with
      UNIX System Services are the same as the <a href="#HowToBuildUNIX">How To
      Build And Install On UNIX</a> section.</li>
    </ul>

    <h4>z/OS (Batch/PDS) support outside the UNIX system services
    environment</h4>

    <p>By default, ICU builds its libraries into the UNIX file system (HFS). In
    addition, there is a z/OS specific environment variable (OS390BATCH) to build
    some libraries into the z/OS native file system. This is useful, for example,
    when your application is externalized via Job Control Language (JCL).</p>

    <p>The OS390BATCH environment variable enables non-UNIX support including the
    batch environment. When OS390BATCH is set, the libicui18n<i>XX</i>.dll,
    libicuuc<i>XX</i>.dll, and libicudt<i>XX</i>e.dll binaries are built into
    data sets (the native file system). Turning on OS390BATCH does not turn off
    the normal z/OS UNIX build. This means that the z/OS UNIX (HFS) DLLs will
    always be created.</p>

    <p>Two additional environment variables indicate the names of the z/OS data
    sets to use. The LOADMOD environment variable identifies the name of the data
    set that contains the dynamic link libraries (DLLs) and the LOADEXP
    environment variable identifies the name of the data set that contains the
    side decks, which are normally the files with the .x suffix in the UNIX file
    system.</p>

    <p>A data set is roughly equivalent to a UNIX or Windows file. For most kinds
    of data sets the operating system maintains record boundaries. UNIX and
    Windows files are byte streams. Two kinds of data sets are PDS and PDSE. Each
    data set of these two types contains a directory. It is like a UNIX
    directory. Each "file" is called a "member". Each member name is limited to
    eight bytes, normally EBCDIC.</p>

    <p>Here is an example of some environment variables that you can set prior to
    building ICU:</p>
<pre>
<samp>OS390BATCH=1
LOADMOD=<i>USER</i>.ICU.LOAD
LOADEXP=<i>USER</i>.ICU.EXP</samp>
</pre>

    <p>The PDS member names for the DLL file names are as follows:</p>
<pre>
<samp>IXMI<i>XX</i>IN --&gt; libicui18n<i>XX</i>.dll
IXMI<i>XX</i>UC --&gt; libicuuc<i>XX</i>.dll
IXMI<i>XX</i>DA --&gt; libicudt<i>XX</i>e.dll</samp>
</pre>

    <p>You should point the LOADMOD environment variable at a partitioned data
    set extended (PDSE) and point the LOADEXP environment variable at a
    partitioned data set (PDS). The PDSE can be allocated with the following
    attributes:</p>
<pre>
<samp>Data Set Name . . . : <i>USER</i>.ICU.LOAD
Management class. . : <i>**None**</i>
Storage class . . . : <i>BASE</i>
Volume serial . . . : <i>TSO007</i>
Device type . . . . : <i>3390</i>
Data class. . . . . : <i>LOAD</i>
Organization  . . . : PO
Record format . . . : U
Record length . . . : 0
Block size  . . . . : <i>32760</i>
1st extent cylinders: 1
Secondary cylinders : 5
Data set name type  : LIBRARY</samp>
</pre>

    <p>The PDS can be allocated with the following attributes:</p>
<pre>
<samp>Data Set Name . . . : <i>USER</i>.ICU.EXP
Management class. . : <i>**None**</i>
Storage class . . . : <i>BASE</i>
Volume serial . . . : <i>TSO007</i>
Device type . . . . : <i>3390</i>
Data class. . . . . : <i>**None**</i>
Organization  . . . : PO
Record format . . . : FB
Record length . . . : 80
Block size  . . . . : <i>3200</i>
1st extent cylinders: 3
Secondary cylinders : 3
Data set name type  : PDS</samp>
</pre>

    <h3><a name="HowToBuildOS400" href="#HowToBuildOS400" id=
    "HowToBuildOS400">How To Build And Install On The IBM i Family (IBM i, i5/OS OS/400)</a></h3>

    <p>Before you start building ICU, ICU requires the following:</p>

    <ul>
      <li>QSHELL interpreter installed (install base option 30, operating system)
      <!--li>QShell Utilities, PRPQ 5799-XEH (not required for V4R5)</li--></li>

      <li>ILE C/C++ Compiler installed on the system</li>

      <li>The latest IBM tools for Developers for IBM i &mdash;
        <a href='https://www-356.ibm.com/partnerworld/wps/servlet/ContentHandler/pw_com_porting_tools_index'>https://www-356.ibm.com/partnerworld/wps/servlet/ContentHandler/pw_com_porting_tools_index</a>
        <!-- formerly http://www.ibm.com/servers/enable/site/porting/tools/'>http://www.ibm.com/servers/enable/site/porting/tools/</a> -->
        <!-- formerly: http://www.ibm.com/servers/enable/site/porting/iseries/overview/gnu_utilities.html -->
      </li>
    </ul>

    <p>The following describes how to setup and build ICU. For background
    information, you should look at the <a href="#HowToBuildUNIX">UNIX build
    instructions</a>.</p>

    <ol>
      <li>
        Copy the ICU source .tgz to the IBM i environment, as binary.
        Also, copy the <a href='as_is/os400/unpax-icu.sh'>unpax-icu.sh</a> script into the same directory, as a text file.
      </li>

      <li>
        Create target library. This library will be the target for the
        resulting modules, programs and service programs. You will specify this
        library on the OUTPUTDIR environment variable.
<pre>
<samp>CRTLIB LIB(<i>libraryname</i>)
ADDENVVAR ENVVAR(OUTPUTDIR) VALUE('<i>libraryname</i>') REPLACE(*YES)   </samp></pre>
      </li>

      <li>
      Set up the following environment variables and job characteristics in your build process
<pre>
<samp>ADDENVVAR ENVVAR(MAKE) VALUE('gmake') REPLACE(*YES)
CHGJOB CCSID(37)</samp></pre></li>

      <li>Fire up the QSH <i>(all subsequent commands are run inside the qsh session.)</i>
        <pre><samp>qsh</samp></pre>
      </li>

      <li>Set up the PATH: <pre><samp>export PATH=/QIBM/ProdData/DeveloperTools/qsh/bin:$PATH:/QOpenSys/usr/bin</samp></pre>
      </li>

      <li>Unpack the ICU source code archive:
        <pre><samp>gzip -d icu-<i>X</i>.<i>Y</i>.tgz</samp></pre>
          </li>

      <li>Run unpax-icu.sh on the tar file generated from the previous step.
        <pre><samp>unpax-icu.sh icu.tar</samp></pre></li>

      <li>Build the program ICULD which ICU will use for linkage.
        <pre><samp>cd icu/as_is/os400
qsh bldiculd.sh
cd ../../..</samp></pre>
        </li>

      <li>Change into the 'source' directory, and configure ICU.  (See <a href="#HowToConfigureICU">configuration
      note</a> for details). Note that --with-data-packaging=archive and setting the --prefix are recommended, building in default (dll) mode is currently not supported.
        <pre><samp>cd icu/source
./runConfigureICU IBMi --prefix=<i>/path/to/somewhere</i> --with-data-packaging=archive</samp></pre>
</li>

      <li>Build ICU. <i>(Note: Do not use the -j option)</i> <pre><samp>gmake</samp></pre></li>

      <li>Test ICU. <pre><samp>gmake check</samp></pre>
        (The <tt> QIBM_MULTI_THREADED=Y</tt> flag will be automatically applied to intltest -
          you can look at the <a href=
      "https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzahw/rzahwceeco.htm">
      iSeries Information Center</a> for more details regarding the running of multiple threads
      on IBM i.)</li>
    </ol>

      <!-- cross -->
    <h3><a name="HowToCrossCompileICU" href="#HowToCrossCompileICU" id="HowToCrossCompileICU">How To Cross Compile ICU</a></h3>
		<p>This section will explain how to build ICU on one platform, but to produce binaries intended to run on another. This is commonly known as a cross compile.</p>
		<p>Normally, in the course of a build, ICU needs to run the tools that it builds in order to generate and package data and test-data.In a cross compilation setting, ICU is built on a different system from that which it eventually runs on. An example might be, if you are building for a small/headless system (such as an embedded device), or a system where you can't easily run the ICU command line tools (any non-UNIX-like system).</p>
		<p>To reduce confusion, we will here refer to the "A" and the "B" system.System "A" is the actual system we will be running on- the only requirements on it is are it is able to build ICU from the command line targetting itself (with configure or runConfigureICU), and secondly, that it also contain the correct toolchain for compiling and linking for the resultant platform, referred to as the "B" system.</p>
		<p>The autoconf docs use the term "build" for A, and "host" for B. More details at: <a href="http://www.gnu.org/software/autoconf/manual/html_node/Specifying-Names.html#Specifying-Names">http://www.gnu.org/software/autoconf/manual/html_node/Specifying-Names.html</a></p>
		<p>Three initially-empty directories will be used in this example:</p>
		<table summary="Three directories used in this example" class="docTable">
			<tr>
				<th align="left">/icu</th><td>a copy of the ICU source</td>
			</tr>
			<tr>
				<th align="left">/buildA</th><td>an empty directory, it will contain ICU built for A<br />(MacOSX in this case)</td>
			</tr>
			<tr>
				<th align="left">/buildB</th><td>an empty directory, it will contain ICU built for B<br />(HaikuOS in this case)</td>
			</tr>
		</table>

		<ol>
		<li>Check out or unpack the ICU source code into the /icu directory.You will have the directories /icu/source, etc.</li>
		<li>Build ICU in /buildA normally (using runConfigureICU or configure):
<pre class="samp">cd /buildA
sh /icu/source/runConfigureICU <strong>MacOSX</strong>
gnumake
</pre>
		</li>
		<li>Set PATH or other variables as needed, such as CPPFLAGS.</li>
		<li>Build ICU in /buildB<br />
			<p class="note">"<code>--with-cross-build</code>" takes an absolute path.</p>
<pre class="samp">cd /buildB
sh /icu/source/configure --host=<strong>i586-pc-haiku</strong> --with-cross-build=<strong>/buildA</strong>
gnumake</pre>
		</li>
		<li>Tests and testdata can be built with "gnumake tests".</li>
	</ol>
      <!-- end cross -->

    <!-- end build environment -->

    <h2><a name="HowToPackage" href="#HowToPackage" id="HowToPackage">How To
    Package ICU</a></h2>

    <p>There are many ways that a person can package ICU with their software
    products. Usually only the libraries need to be considered for packaging.</p>

    <p>On UNIX, you should use "<tt>gmake install</tt>" to make it easier to
    develop and package ICU. The bin, lib and include directories are needed to
    develop applications that use ICU. These directories will be created relative
    to the "<tt>--prefix=</tt><i>dir</i>" configure option (See the <a href=
    "#HowToBuildUNIX">UNIX build instructions</a>). When ICU is built on Windows,
    a similar directory structure is built.</p>

    <p>When changes have been made to the standard ICU distribution, it is
    recommended that at least one of the following guidelines be followed for
    special packaging.</p>

    <ol>
      <li>Add a suffix name to the library names. This can be done with the
      --with-library-suffix configure option.</li>

      <li>The installation script should install the ICU libraries into the
      application's directory.</li>
    </ol>

    <p>Following these guidelines prevents other applications that use a standard
    ICU distribution from conflicting with any libraries that you need. On
    operating systems that do not have a standard C++ ABI (name mangling) for
    compilers, it is recommended to do this special packaging anyway. More
    details on customizing ICU are available in the <a href=
    "http://userguide.icu-project.org/">User's Guide</a>. The <a href=
    "#SourceCode">ICU Source Code Organization</a> section of this readme.html
    gives a more complete description of the libraries.</p>

    <table class="docTable" summary=
    "ICU has several libraries for you to use.">
      <caption>
        Here is an example of libraries that are frequently packaged.
      </caption>

      <tr>
        <th scope="col">Library Name</th>

        <th scope="col">Windows Filename</th>

        <th scope="col">Linux Filename</th>

        <th scope="col">Comment</th>
      </tr>

      <tr>
        <td>Data Library</td>

        <td>icudt<i>XY</i>l.dll</td>

        <td>libicudata.so.<i>XY</i>.<i>Z</i></td>

        <td>Data required by the Common and I18n libraries. There are many ways
        to package and <a href=
        "http://userguide.icu-project.org/icudata">customize this
        data</a>, but by default this is all you need.</td>
      </tr>

      <tr>
        <td>Common Library</td>

        <td>icuuc<i>XY</i>.dll</td>

        <td>libicuuc.so.<i>XY</i>.<i>Z</i></td>

        <td>Base library required by all other ICU libraries.</td>
      </tr>

      <tr>
        <td>Internationalization (i18n) Library</td>

        <td>icuin<i>XY</i>.dll</td>

        <td>libicui18n.so.<i>XY</i>.<i>Z</i></td>

        <td>A library that contains many locale based internationalization (i18n)
        functions.</td>
      </tr>

      <tr>
        <td>Layout Extensions Engine</td>

        <td>iculx<i>XY</i>.dll</td>

        <td>libiculx.so.<i>XY</i>.<i>Z</i></td>

        <td>An optional engine for doing paragraph layout that uses
        parts of ICU.
        HarfBuzz is required.</td>
      </tr>

      <tr>
        <td>ICU I/O (Unicode stdio) Library</td>

        <td>icuio<i>XY</i>.dll</td>

        <td>libicuio.so.<i>XY</i>.<i>Z</i></td>

        <td>An optional library that provides a stdio like API with Unicode
        support.</td>
      </tr>

      <tr>
        <td>Tool Utility Library</td>

        <td>icutu<i>XY</i>.dll</td>

        <td>libicutu.so.<i>XY</i>.<i>Z</i></td>

        <td>An internal library that contains internal APIs that are only used by
        ICU's tools. If you do not use ICU's tools, you do not need this
        library.</td>
      </tr>
    </table>

    <p>Normally only the above ICU libraries need to be considered for packaging.
    The versionless symbolic links to these libraries are only needed for easier
    development. The <i>X</i>, <i>Y</i> and <i>Z</i> parts of the name are the
    version numbers of ICU. For example, ICU 2.0.2 would have the name
    libicuuc.so.20.2 for the common library. The exact format of the library
    names can vary between platforms due to how each platform can handles library
    versioning.</p>

    <h2><a name="ImportantNotes" href="#ImportantNotes" id=
    "ImportantNotes">Important Notes About Using ICU</a></h2>

    <h3><a name="ImportantNotesMultithreaded" href="#ImportantNotesMultithreaded"
    id="ImportantNotesMultithreaded">Using ICU in a Multithreaded
    Environment</a></h3>

    <p>Some versions of ICU require calling the <code>u_init()</code> function
    from <code>uclean.h</code> to ensure that ICU is initialized properly. In
    those ICU versions, <code>u_init()</code> must be called before ICU is used
    from multiple threads. There is no harm in calling <code>u_init()</code> in a
    single-threaded application, on a single-CPU machine, or in other cases where
    <code>u_init()</code> is not required.</p>

    <p>In addition to ensuring thread safety, <code>u_init()</code> also attempts
    to load at least one ICU data file. Assuming that all data files are packaged
    together (or are in the same folder in files mode), a failure code from
    <code>u_init()</code> usually means that the data cannot be found. In this
    case, the data may not be installed properly, or the application may have
    failed to call <code>udata_setCommonData()</code> or
    <code>u_setDataDirectory()</code> which specify to ICU where it can find its
    data.</p>

    <p>Since <code>u_init()</code> will load only one or two data files, it
    cannot guarantee that all of the data that an application needs is available.
    It cannot check for all data files because the set of files is customizable,
    and some ICU services work without loading any data at all. An application
    should always check for error codes when opening ICU service objects (using
    <code>ucnv_open()</code>, <code>ucol_open()</code>, C++ constructors,
    etc.).</p>

    <h4>ICU 3.4 and later</h4>

    <p>ICU 3.4 self-initializes properly for multi-threaded use. It achieves this
    without performance penalty by hardcoding the core Unicode properties data,
    at the cost of some flexibility. (For details see Jitterbug 4497.)</p>

    <p><code>u_init()</code> can be used to check for data loading. It tries to
    load the converter alias table (<code>cnvalias.icu</code>).</p>

    <h4>ICU 2.6..3.2</h4>

    <p>These ICU versions require a call to <code>u_init()</code> before
    multi-threaded use. The services that are directly affected are those that
    don't have a service object and need to be fast: normalization and character
    properties.</p>

    <p><code>u_init()</code> loads and initializes the data files for
    normalization and character properties (<code>unorm.icu</code> and
    <code>uprops.icu</code>) and can therefore also be used to check for data
    loading.</p>

    <h4>ICU 2.4 and earlier</h4>

    <p>ICU 2.4 and earlier versions were not prepared for multithreaded use on
    multi-CPU platforms where the CPUs implement weak memory coherency. These
    CPUs include: Power4, Power5, Alpha, Itanium. <code>u_init()</code> was not
    defined yet.</p>

    <h4><a name="ImportantNotesHPUX" href="#ImportantNotesHPUX" id=
    "ImportantNotesHPUX">Using ICU in a Multithreaded Environment on
    HP-UX</a></h4>

    <p>When ICU is built with aCC on HP-UX, the <a
    href="http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=eb08b3f1eee02110b3f1eee02110275d6e10RCRD">-AA</a>
    compiler flag is used. It is required in order to use the latest
    &lt;iostream&gt; API in a thread safe manner. This compiler flag affects the
    version of the C++ library being used. Your applications will also need to
    be compiled with -AA in order to use ICU.</p>

    <h4><a name="ImportantNotesSolaris" href="#ImportantNotesSolaris" id=
    "ImportantNotesSolaris">Using ICU in a Multithreaded Environment on
    Solaris</a></h4>

    <h5>Linking on Solaris</h5>

    <p>In order to avoid synchronization and threading issues, developers are
    <strong>suggested</strong> to strictly follow the compiling and linking
    guidelines for multithreaded applications, specified in the following
    SUn Solaris document available from Oracle. Most notably, pay strict attention to the
    following statements from Sun:</p>

    <blockquote>
      <p>To use libthread, specify -lthread before -lc on the ld command line, or
      last on the cc command line.</p>

      <p>To use libpthread, specify -lpthread before -lc on the ld command line,
      or last on the cc command line.</p>
    </blockquote>

    <p>Failure to do this may cause spurious lock conflicts, recursive mutex
    failure, and deadlock.</p>

    <p>Source: "<i>Multithreaded Programming Guide, Compiling and
    Debugging</i>", Sun Microsystems, 2002 <br />
     <a href=
    "https://docs.oracle.com/cd/E19683-01/806-6867/compile-74765/index.html">https://docs.oracle.com/cd/E19683-01/806-6867/compile-74765/index.html</a></p>

    <p>Note, a version of that chapter from a 2008 document update covering both Solaris 9
    and Solaris 10 is available here:<br />
     <a href=
    "http://docs.oracle.com/cd/E19253-01/816-5137/compile-94179/index.html">http://docs.oracle.com/cd/E19253-01/816-5137/compile-94179/index.html</a></p>

    <h3><a name="ImportantNotesWindows" href="#ImportantNotesWindows" id=
    "ImportantNotesWindows">Windows Platform</a></h3>

    <p>If you are building on the Windows platform, it is important that you
    understand a few of the following build details.</p>

    <h4>DLL directories and the PATH setting</h4>

    <p>As delivered, the International Components for Unicode build as several
    DLLs, which are placed in the "<i>&lt;ICU&gt;</i>\bin64" directory. You must
    add this directory to the PATH environment variable in your system, or any
    executables you build will not be able to access International Components for
    Unicode libraries. Alternatively, you can copy the DLL files into a directory
    already in your PATH, but we do not recommend this. You can wind up with
    multiple copies of the DLL and wind up using the wrong one.</p>

    <h4><a name="ImportantNotesWindowsPath" id=
    "ImportantNotesWindowsPath">Changing your PATH</a></h4>

    <p><strong>Windows 2000/XP and above</strong>: Use the System Icon in the Control
    Panel. Pick the "Advanced" tab. Select the "Environment Variables..."
    button. Select the variable PATH in the lower box, and select the lower
    "Edit..." button. In the "Variable Value" box, append the string
    ";<i>&lt;ICU&gt;</i>\bin64" to the end of the path string. If there is
    nothing there, just type in "<i>&lt;ICU&gt;</i>\bin64". Click the Set button,
    then the OK button.</p>

    <p>Note: When packaging a Windows application for distribution and
    installation on user systems, copies of the ICU DLLs should be included with
    the application, and installed for exclusive use by the application. This is
    the only way to insure that your application is running with the same version
    of ICU, built with exactly the same options, that you developed and tested
    with. Refer to Microsoft's guidelines on the usage of DLLs, or search for the
    phrase "DLL hell" on <a href=
    "http://msdn.microsoft.com/">msdn.microsoft.com</a>.</p>

    <h3><a name="ImportantNotesUNIX" href="#ImportantNotesUNIX" id=
    "ImportantNotesUNIX">UNIX Type Platform</a></h3>

    <p>If you are building on a UNIX platform, and if you are installing ICU in a
    non-standard location, you may need to add the location of your ICU libraries
    to your <strong>LD_LIBRARY_PATH</strong> or <strong>LIBPATH</strong>
    environment variable (or the equivalent runtime library path environment
    variable for your system). The ICU libraries may not link or load properly
    without doing this.</p>

    <p>Note that if you do not want to have to set this variable, you may instead
    use the --enable-rpath option at configuration time. This option will
    instruct the linker to always look for the libraries where they are
    installed. You will need to use the appropriate linker options when linking
    your own applications and libraries against ICU, too. Please refer to your
    system's linker manual for information about runtime paths. The use of rpath
    also means that when building a new version of ICU you should not have an
    older version installed in the same place as the new version's installation
    directory, as the older libraries will used during the build, instead of the
    new ones, likely leading to an incorrectly build ICU. This is the proper
    behavior of rpath.</p>

    <h2><a name="PlatformDependencies" href="#PlatformDependencies" id=
    "PlatformDependencies">Platform Dependencies</a></h2>

    <h3><a name="PlatformDependenciesNew" href="#PlatformDependenciesNew" id=
    "PlatformDependenciesNew">Porting To A New Platform</a></h3>

    <p>If you are using ICU's Makefiles to build ICU on a new platform, there are
    a few places where you will need to add or modify some files. If you need
    more help, you can always ask the <a href=
    "http://site.icu-project.org/contacts">icu-support mailing list</a>. Once
    you have finished porting ICU to a new platform, it is recommended that you
    contribute your changes back to ICU via the icu-support mailing list. This
    will make it easier for everyone to benefit from your work.</p>

    <h4>Data For a New Platform</h4>

    <p>For some people, it may not be necessary for completely build ICU. Most of
    the makefiles and build targets are for tools that are used for building
    ICU's data, and an application's data (when an application uses ICU resource
    bundles for its data).</p>

    <p>Data files can be built on a different platform when both platforms share
    the same endianness and the same charset family. This assertion does not
    include platform dependent DLLs/shared/static libraries. For details see the
    User Guide <a href="http://userguide.icu-project.org/icudata">ICU
    Data</a> chapter.</p>

    <p>ICU 3.6 removes the requirement that ICU be completely built in the native
    operating environment. It adds the icupkg tool which can be run on any
    platform to turn binary ICU data files from any one of the three formats into
    any one of the other data formats. This allows a application to use ICU data
    built anywhere to be used for any other target platform.</p>

    <p><strong>WARNING!</strong> Building ICU without running the tests is not
    recommended. The tests verify that ICU is safe to use. It is recommended that
    you try to completely port and test ICU before using the libraries for your
    own application.</p>

    <h4>Adapting Makefiles For a New Platform</h4>

    <p>Try to follow the build steps from the <a href="#HowToBuildUNIX">UNIX</a>
    build instructions. If the configure script fails, then you will need to
    modify some files. Here are the usual steps for porting to a new
    platform:<br />
    </p>

    <ol>
      <li>Create an mh file in icu/source/config/. You can use mh-linux or a
      similar mh file as your base configuration.</li>

      <li>Modify icu/source/aclocal.m4 to recognize your platform's mh file.</li>

      <li>Modify icu/source/configure.in to properly set your <b>platform</b> C
      Macro define.</li>

      <li>Run <a href="http://www.gnu.org/software/autoconf/">autoconf</a> in
      icu/source/ without any options. The autoconf tool is standard on most
      Linux systems.</li>

      <li>If you have any optimization options that you want to normally use, you
      can modify icu/source/runConfigureICU to specify those options for your
      platform.</li>

      <li>Build and test ICU on your platform. It is very important that you run
      the tests. If you don't run the tests, there is no guarentee that you have
      properly ported ICU.</li>
    </ol>

    <h3><a name="PlatformDependenciesImpl" href="#PlatformDependenciesImpl" id=
    "PlatformDependenciesImpl">Platform Dependent Implementations</a></h3>

    <p>The platform dependencies have been mostly isolated into the following
    files in the common library. This information can be useful if you are
    porting ICU to a new platform.</p>

    <ul>
      <li>
        <strong>unicode/platform.h.in</strong> (autoconf'ed platforms)<br />
         <strong>unicode/p<i>XXXX</i>.h</strong> (others: pwin32.h, ppalmos.h,
        ..): Platform-dependent typedefs and defines:<br />
        <br />


        <ul>
          <li>Generic types like UBool, int8_t, int16_t, int32_t, int64_t,
          uint64_t etc.</li>

          <li>U_EXPORT and U_IMPORT for specifying dynamic library import and
          export</li>

          <li>String handling support for the char16_t and wchar_t types.</li>
        </ul>
        <br />
      </li>

      <li>
        <strong>unicode/putil.h, putil.c</strong>: platform-dependent
        implementations of various functions that are platform dependent:<br />
        <br />


        <ul>
          <li>uprv_isNaN, uprv_isInfinite, uprv_getNaN and uprv_getInfinity for
          handling special floating point values.</li>

          <li>uprv_tzset, uprv_timezone, uprv_tzname and time for getting
          platform specific time and time zone information.</li>

          <li>u_getDataDirectory for getting the default data directory.</li>

          <li>uprv_getDefaultLocaleID for getting the default locale
          setting.</li>

          <li>uprv_getDefaultCodepage for getting the default codepage
          encoding.</li>
        </ul>
        <br />
      </li>

      <li>
        <strong>umutex.h, umutex.c</strong>: Code for doing synchronization in
        multithreaded applications. If you wish to use International Components
        for Unicode in a multithreaded application, you must provide a
        synchronization primitive that the classes can use to protect their
        global data against simultaneous modifications. We already supply working
        implementations for many platforms that ICU builds on.<br />
        <br />
      </li>

      <li><strong>umapfile.h, umapfile.c</strong>: functions for mapping or
      otherwise reading or loading files into memory. All access by ICU to data
      from files makes use of these functions.<br />
      <br />
      </li>

      <li>Using platform specific #ifdef macros are highly discouraged outside of
      the scope of these files. When the source code gets updated in the future,
      these #ifdef's can cause testing problems for your platform.</li>
    </ul>
    <hr />
    <p> Copyright &copy; 2016 and later: Unicode, Inc. and others. License &amp; terms of use:
    <a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a><br/>
    Copyright &copy; 1997-2016 International Business Machines Corporation and  others.
    All Rights Reserved.</p>
  </body>
</html>
include/libxml2/libxml/tree.h000064400000112375150505765300012156 0ustar00/*
 * Summary: interfaces for tree manipulation
 * Description: this module describes the structures found in an tree resulting
 *              from an XML or HTML parsing, as well as the API provided for
 *              various processing on that tree
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_TREE_H__
#define __XML_TREE_H__

#include <stdio.h>
#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Some of the basic types pointer to structures:
 */
/* xmlIO.h */
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;

typedef struct _xmlOutputBuffer xmlOutputBuffer;
typedef xmlOutputBuffer *xmlOutputBufferPtr;

/* parser.h */
typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;

typedef struct _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;

typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;

typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;

/* entities.h */
typedef struct _xmlEntity xmlEntity;
typedef xmlEntity *xmlEntityPtr;

/**
 * BASE_BUFFER_SIZE:
 *
 * default buffer size 4000.
 */
#define BASE_BUFFER_SIZE 4096

/**
 * LIBXML_NAMESPACE_DICT:
 *
 * Defines experimental behaviour:
 * 1) xmlNs gets an additional field @context (a xmlDoc)
 * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
 */
/* #define LIBXML_NAMESPACE_DICT */

/**
 * xmlBufferAllocationScheme:
 *
 * A buffer allocation scheme can be defined to either match exactly the
 * need or double it's allocated size each time it is found too small.
 */

typedef enum {
    XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
    XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
    XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
    XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
    XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
} xmlBufferAllocationScheme;

/**
 * xmlBuffer:
 *
 * A buffer structure, this old construct is limited to 2GB and
 * is being deprecated, use API with xmlBuf instead
 */
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
struct _xmlBuffer {
    xmlChar *content;		/* The buffer content UTF8 */
    unsigned int use;		/* The buffer size used */
    unsigned int size;		/* The buffer size */
    xmlBufferAllocationScheme alloc; /* The realloc method */
    xmlChar *contentIO;		/* in IO mode we may have a different base */
};

/**
 * xmlBuf:
 *
 * A buffer structure, new one, the actual structure internals are not public
 */

typedef struct _xmlBuf xmlBuf;

/**
 * xmlBufPtr:
 *
 * A pointer to a buffer structure, the actual structure internals are not
 * public
 */

typedef xmlBuf *xmlBufPtr;

/*
 * A few public routines for xmlBuf. As those are expected to be used
 * mostly internally the bulk of the routines are internal in buf.h
 */
XMLPUBFUN xmlChar* XMLCALL       xmlBufContent	(const xmlBuf* buf);
XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufShrink	(xmlBufPtr buf, size_t len);

/*
 * LIBXML2_NEW_BUFFER:
 *
 * Macro used to express that the API use the new buffers for
 * xmlParserInputBuffer and xmlOutputBuffer. The change was
 * introduced in 2.9.0.
 */
#define LIBXML2_NEW_BUFFER

/**
 * XML_XML_NAMESPACE:
 *
 * This is the namespace for the special xml: prefix predefined in the
 * XML Namespace specification.
 */
#define XML_XML_NAMESPACE \
    (const xmlChar *) "http://www.w3.org/XML/1998/namespace"

/**
 * XML_XML_ID:
 *
 * This is the name for the special xml:id attribute
 */
#define XML_XML_ID (const xmlChar *) "xml:id"

/*
 * The different element types carried by an XML tree.
 *
 * NOTE: This is synchronized with DOM Level1 values
 *       See http://www.w3.org/TR/REC-DOM-Level-1/
 *
 * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
 * be deprecated to use an XML_DTD_NODE.
 */
typedef enum {
    XML_ELEMENT_NODE=		1,
    XML_ATTRIBUTE_NODE=		2,
    XML_TEXT_NODE=		3,
    XML_CDATA_SECTION_NODE=	4,
    XML_ENTITY_REF_NODE=	5,
    XML_ENTITY_NODE=		6,
    XML_PI_NODE=		7,
    XML_COMMENT_NODE=		8,
    XML_DOCUMENT_NODE=		9,
    XML_DOCUMENT_TYPE_NODE=	10,
    XML_DOCUMENT_FRAG_NODE=	11,
    XML_NOTATION_NODE=		12,
    XML_HTML_DOCUMENT_NODE=	13,
    XML_DTD_NODE=		14,
    XML_ELEMENT_DECL=		15,
    XML_ATTRIBUTE_DECL=		16,
    XML_ENTITY_DECL=		17,
    XML_NAMESPACE_DECL=		18,
    XML_XINCLUDE_START=		19,
    XML_XINCLUDE_END=		20
    /* XML_DOCB_DOCUMENT_NODE=	21 */ /* removed */
} xmlElementType;

/* For backward compatibility */
#define XML_DOCB_DOCUMENT_NODE 21

/**
 * xmlNotation:
 *
 * A DTD Notation definition.
 */

typedef struct _xmlNotation xmlNotation;
typedef xmlNotation *xmlNotationPtr;
struct _xmlNotation {
    const xmlChar               *name;	        /* Notation name */
    const xmlChar               *PublicID;	/* Public identifier, if any */
    const xmlChar               *SystemID;	/* System identifier, if any */
};

/**
 * xmlAttributeType:
 *
 * A DTD Attribute type definition.
 */

typedef enum {
    XML_ATTRIBUTE_CDATA = 1,
    XML_ATTRIBUTE_ID,
    XML_ATTRIBUTE_IDREF	,
    XML_ATTRIBUTE_IDREFS,
    XML_ATTRIBUTE_ENTITY,
    XML_ATTRIBUTE_ENTITIES,
    XML_ATTRIBUTE_NMTOKEN,
    XML_ATTRIBUTE_NMTOKENS,
    XML_ATTRIBUTE_ENUMERATION,
    XML_ATTRIBUTE_NOTATION
} xmlAttributeType;

/**
 * xmlAttributeDefault:
 *
 * A DTD Attribute default definition.
 */

typedef enum {
    XML_ATTRIBUTE_NONE = 1,
    XML_ATTRIBUTE_REQUIRED,
    XML_ATTRIBUTE_IMPLIED,
    XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;

/**
 * xmlEnumeration:
 *
 * List structure used when there is an enumeration in DTDs.
 */

typedef struct _xmlEnumeration xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
struct _xmlEnumeration {
    struct _xmlEnumeration    *next;	/* next one */
    const xmlChar            *name;	/* Enumeration name */
};

/**
 * xmlAttribute:
 *
 * An Attribute declaration in a DTD.
 */

typedef struct _xmlAttribute xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
struct _xmlAttribute {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
    const xmlChar          *name;	/* Attribute name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    struct _xmlAttribute  *nexth;	/* next in hash table */
    xmlAttributeType       atype;	/* The attribute type */
    xmlAttributeDefault      def;	/* the default */
    const xmlChar  *defaultValue;	/* or the default value */
    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
    const xmlChar        *prefix;	/* the namespace prefix if any */
    const xmlChar          *elem;	/* Element holding the attribute */
};

/**
 * xmlElementContentType:
 *
 * Possible definitions of element content types.
 */
typedef enum {
    XML_ELEMENT_CONTENT_PCDATA = 1,
    XML_ELEMENT_CONTENT_ELEMENT,
    XML_ELEMENT_CONTENT_SEQ,
    XML_ELEMENT_CONTENT_OR
} xmlElementContentType;

/**
 * xmlElementContentOccur:
 *
 * Possible definitions of element content occurrences.
 */
typedef enum {
    XML_ELEMENT_CONTENT_ONCE = 1,
    XML_ELEMENT_CONTENT_OPT,
    XML_ELEMENT_CONTENT_MULT,
    XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;

/**
 * xmlElementContent:
 *
 * An XML Element content as stored after parsing an element definition
 * in a DTD.
 */

typedef struct _xmlElementContent xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent {
    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
    const xmlChar             *name;	/* Element name */
    struct _xmlElementContent *c1;	/* first child */
    struct _xmlElementContent *c2;	/* second child */
    struct _xmlElementContent *parent;	/* parent */
    const xmlChar             *prefix;	/* Namespace prefix */
};

/**
 * xmlElementTypeVal:
 *
 * The different possibilities for an element content type.
 */

typedef enum {
    XML_ELEMENT_TYPE_UNDEFINED = 0,
    XML_ELEMENT_TYPE_EMPTY = 1,
    XML_ELEMENT_TYPE_ANY,
    XML_ELEMENT_TYPE_MIXED,
    XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;

#ifdef __cplusplus
}
#endif
#include <libxml/xmlregexp.h>
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlElement:
 *
 * An XML Element declaration from a DTD.
 */

typedef struct _xmlElement xmlElement;
typedef xmlElement *xmlElementPtr;
struct _xmlElement {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
    const xmlChar          *name;	/* Element name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlElementTypeVal      etype;	/* The type */
    xmlElementContentPtr content;	/* the allowed element content */
    xmlAttributePtr   attributes;	/* List of the declared attributes */
    const xmlChar        *prefix;	/* the namespace prefix if any */
#ifdef LIBXML_REGEXP_ENABLED
    xmlRegexpPtr       contModel;	/* the validating regexp */
#else
    void	      *contModel;
#endif
};


/**
 * XML_LOCAL_NAMESPACE:
 *
 * A namespace declaration node.
 */
#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
typedef xmlElementType xmlNsType;

/**
 * xmlNs:
 *
 * An XML namespace.
 * Note that prefix == NULL is valid, it defines the default namespace
 * within the subtree (until overridden).
 *
 * xmlNsType is unified with xmlElementType.
 */

typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
    struct _xmlNs  *next;	/* next Ns link for this node  */
    xmlNsType      type;	/* global or local */
    const xmlChar *href;	/* URL for the namespace */
    const xmlChar *prefix;	/* prefix for the namespace */
    void           *_private;   /* application data */
    struct _xmlDoc *context;		/* normally an xmlDoc */
};

/**
 * xmlDtd:
 *
 * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
 * the internal subset and for the external subset.
 */
typedef struct _xmlDtd xmlDtd;
typedef xmlDtd *xmlDtdPtr;
struct _xmlDtd {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
    const xmlChar *name;	/* Name of the DTD */
    struct _xmlNode *children;	/* the value of the property link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlDoc  *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    void          *notations;   /* Hash table for notations if any */
    void          *elements;    /* Hash table for elements if any */
    void          *attributes;  /* Hash table for attributes if any */
    void          *entities;    /* Hash table for entities if any */
    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
    void          *pentities;   /* Hash table for param entities if any */
};

/**
 * xmlAttr:
 *
 * An attribute on an XML node.
 */
typedef struct _xmlAttr xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlAttr {
    void           *_private;	/* application data */
    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
    const xmlChar   *name;      /* the name of the property */
    struct _xmlNode *children;	/* the value of the property */
    struct _xmlNode *last;	/* NULL */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlAttr *next;	/* next sibling link  */
    struct _xmlAttr *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlAttributeType atype;     /* the attribute type if validating */
    void            *psvi;	/* for type/PSVI information */
};

/**
 * xmlID:
 *
 * An XML ID instance.
 */

typedef struct _xmlID xmlID;
typedef xmlID *xmlIDPtr;
struct _xmlID {
    struct _xmlID    *next;	/* next ID */
    const xmlChar    *value;	/* The ID name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
    struct _xmlDoc   *doc;	/* The document holding the ID */
};

/**
 * xmlRef:
 *
 * An XML IDREF instance.
 */

typedef struct _xmlRef xmlRef;
typedef xmlRef *xmlRefPtr;
struct _xmlRef {
    struct _xmlRef    *next;	/* next Ref */
    const xmlChar     *value;	/* The Ref name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
};

/**
 * xmlNode:
 *
 * A node in an XML tree.
 */
typedef struct _xmlNode xmlNode;
typedef xmlNode *xmlNodePtr;
struct _xmlNode {
    void           *_private;	/* application data */
    xmlElementType   type;	/* type number, must be second ! */
    const xmlChar   *name;      /* the name of the node, or the entity */
    struct _xmlNode *children;	/* parent->childs link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlChar         *content;   /* the content */
    struct _xmlAttr *properties;/* properties list */
    xmlNs           *nsDef;     /* namespace definitions on this node */
    void            *psvi;	/* for type/PSVI information */
    unsigned short   line;	/* line number */
    unsigned short   extra;	/* extra data for XPath/XSLT */
};

/**
 * XML_GET_CONTENT:
 *
 * Macro to extract the content pointer of a node.
 */
#define XML_GET_CONTENT(n)					\
    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)

/**
 * XML_GET_LINE:
 *
 * Macro to extract the line number of an element node.
 */
#define XML_GET_LINE(n)						\
    (xmlGetLineNo(n))

/**
 * xmlDocProperty
 *
 * Set of properties of the document as found by the parser
 * Some of them are linked to similarly named xmlParserOption
 */
typedef enum {
    XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
    XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
    XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
    XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
    XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
    XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
                                           and not by parsing an instance */
    XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
    XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
} xmlDocProperties;

/**
 * xmlDoc:
 *
 * An XML document.
 */
typedef struct _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
struct _xmlDoc {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
    char           *name;	/* name/filename/URI of the document */
    struct _xmlNode *children;	/* the document tree */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* autoreference to itself */

    /* End of common part */
    int             compression;/* level of zlib compression */
    int             standalone; /* standalone document (no external refs)
				     1 if standalone="yes"
				     0 if standalone="no"
				    -1 if there is no XML declaration
				    -2 if there is an XML declaration, but no
					standalone attribute was specified */
    struct _xmlDtd  *intSubset;	/* the document internal subset */
    struct _xmlDtd  *extSubset;	/* the document external subset */
    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
    const xmlChar  *version;	/* the XML version string */
    const xmlChar  *encoding;   /* external initial encoding, if any */
    void           *ids;        /* Hash table for ID attributes if any */
    void           *refs;       /* Hash table for IDREFs attributes if any */
    const xmlChar  *URL;	/* The URI for that document */
    int             charset;    /* Internal flag for charset handling,
				   actually an xmlCharEncoding */
    struct _xmlDict *dict;      /* dict used to allocate names or NULL */
    void           *psvi;	/* for type/PSVI information */
    int             parseFlags;	/* set of xmlParserOption used to parse the
				   document */
    int             properties;	/* set of xmlDocProperties for this document
				   set at the end of parsing */
};


typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;

/**
 * xmlDOMWrapAcquireNsFunction:
 * @ctxt:  a DOM wrapper context
 * @node:  the context node (element or attribute)
 * @nsName:  the requested namespace name
 * @nsPrefix:  the requested namespace prefix
 *
 * A function called to acquire namespaces (xmlNs) from the wrapper.
 *
 * Returns an xmlNsPtr or NULL in case of an error.
 */
typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
						 xmlNodePtr node,
						 const xmlChar *nsName,
						 const xmlChar *nsPrefix);

/**
 * xmlDOMWrapCtxt:
 *
 * Context for DOM wrapper-operations.
 */
struct _xmlDOMWrapCtxt {
    void * _private;
    /*
    * The type of this context, just in case we need specialized
    * contexts in the future.
    */
    int type;
    /*
    * Internal namespace map used for various operations.
    */
    void * namespaceMap;
    /*
    * Use this one to acquire an xmlNsPtr intended for node->ns.
    * (Note that this is not intended for elem->nsDef).
    */
    xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
};

/**
 * xmlChildrenNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children."
 */
#ifndef xmlChildrenNode
#define xmlChildrenNode children
#endif

/**
 * xmlRootNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children".
 */
#ifndef xmlRootNode
#define xmlRootNode children
#endif

/*
 * Variables.
 */

/*
 * Some helper functions
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
    defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
    defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
    defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNCName	(const xmlChar *value,
					 int space);
#endif

#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateQName	(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateName		(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateNMToken	(const xmlChar *value,
					 int space);
#endif

XMLPUBFUN xmlChar * XMLCALL
		xmlBuildQName		(const xmlChar *ncname,
					 const xmlChar *prefix,
					 xmlChar *memory,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlSplitQName2		(const xmlChar *name,
					 xmlChar **prefix);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSplitQName3		(const xmlChar *name,
					 int *len);

/*
 * Handling Buffers, the old ones see @xmlBuf for the new ones.
 */

XMLPUBFUN void XMLCALL
		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
		xmlGetBufferAllocationScheme(void);

XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreate		(void);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateSize	(size_t size);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateStatic	(void *mem,
					 size_t size);
XMLPUBFUN int XMLCALL
		xmlBufferResize		(xmlBufferPtr buf,
					 unsigned int size);
XMLPUBFUN void XMLCALL
		xmlBufferFree		(xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferDump		(FILE *file,
					 xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferAdd		(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferAddHead	(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferCat		(xmlBufferPtr buf,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlBufferCCat		(xmlBufferPtr buf,
					 const char *str);
XMLPUBFUN int XMLCALL
		xmlBufferShrink		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN int XMLCALL
		xmlBufferGrow		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN void XMLCALL
		xmlBufferEmpty		(xmlBufferPtr buf);
XMLPUBFUN const xmlChar* XMLCALL
		xmlBufferContent	(const xmlBuffer *buf);
XMLPUBFUN xmlChar* XMLCALL
		xmlBufferDetach         (xmlBufferPtr buf);
XMLPUBFUN void XMLCALL
		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
					 xmlBufferAllocationScheme scheme);
XMLPUBFUN int XMLCALL
		xmlBufferLength		(const xmlBuffer *buf);

/*
 * Creating/freeing new structures.
 */
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCreateIntSubset	(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlNewDtd		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlGetIntSubset		(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlFreeDtd		(xmlDtdPtr cur);
#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewGlobalNs		(xmlDocPtr doc,
					 const xmlChar *href,
					 const xmlChar *prefix);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewNs		(xmlNodePtr node,
					 const xmlChar *href,
					 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlFreeNs		(xmlNsPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNsList		(xmlNsPtr cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlNewDoc		(const xmlChar *version);
XMLPUBFUN void XMLCALL
		xmlFreeDoc		(xmlDocPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewDocProp		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *value);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
#endif
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsPropEatName	(xmlNodePtr node,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlFreePropList		(xmlAttrPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeProp		(xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyProp		(xmlNodePtr target,
					 xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyPropList		(xmlNodePtr target,
					 xmlAttrPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCopyDtd		(xmlDtdPtr dtd);
#endif /* LIBXML_TREE_ENABLED */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCopyDoc		(xmlDocPtr doc,
					 int recursive);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
/*
 * Creating new nodes.
 */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNode		(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNodeEatName	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNode		(xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNodeEatName	(xmlNsPtr ns,
					 xmlChar *name);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
#endif
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocText		(const xmlDoc *doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewText		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocPI		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewPI		(const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocTextLen	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextLen		(const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocComment	(xmlDocPtr doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewComment		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCDataBlock	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCharRef		(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewReference		(const xmlDoc *doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNode		(xmlNodePtr node,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNode		(xmlNodePtr node,
					 xmlDocPtr doc,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNodeList	(xmlDocPtr doc,
					 xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNodeList		(xmlNodePtr node);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocRawNode	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocFragment	(xmlDocPtr doc);
#endif /* LIBXML_TREE_ENABLED */

/*
 * Navigating.
 */
XMLPUBFUN long XMLCALL
		xmlGetLineNo		(const xmlNode *node);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNodePath		(const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocGetRootElement	(const xmlDoc *doc);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlGetLastChild		(const xmlNode *parent);
XMLPUBFUN int XMLCALL
		xmlNodeIsText		(const xmlNode *node);
XMLPUBFUN int XMLCALL
		xmlIsBlankNode		(const xmlNode *node);

/*
 * Changing the structure.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocSetRootElement	(xmlDocPtr doc,
					 xmlNodePtr root);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetName		(xmlNodePtr cur,
					 const xmlChar *name);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChild		(xmlNodePtr parent,
					 xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChildList		(xmlNodePtr parent,
					 xmlNodePtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlReplaceNode		(xmlNodePtr old,
					 xmlNodePtr cur);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddPrevSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddSibling		(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddNextSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN void XMLCALL
		xmlUnlinkNode		(xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlTextMerge		(xmlNodePtr first,
					 xmlNodePtr second);
XMLPUBFUN int XMLCALL
		xmlTextConcat		(xmlNodePtr node,
					 const xmlChar *content,
					 int len);
XMLPUBFUN void XMLCALL
		xmlFreeNodeList		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNode		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlSetTreeDoc		(xmlNodePtr tree,
					 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		xmlSetListDoc		(xmlNodePtr list,
					 xmlDocPtr doc);
/*
 * Namespaces.
 */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNs		(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNsByHref	(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *href);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNsPtr * XMLCALL
		xmlGetNsList		(const xmlDoc *doc,
					 const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */

XMLPUBFUN void XMLCALL
		xmlSetNs		(xmlNodePtr node,
					 xmlNsPtr ns);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespace	(xmlNsPtr cur);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespaceList	(xmlNsPtr cur);

/*
 * Changing the content.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
	  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNoNsProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringLenGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetString	(xmlDocPtr doc,
					 const xmlNode *list,
					 int inLine);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetRawString	(const xmlDoc *doc,
					 const xmlNode *list,
					 int inLine);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeSetContent	(xmlNodePtr cur,
					 const xmlChar *content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeAddContent	(xmlNodePtr cur,
					 const xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlNodeAddContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetContent	(const xmlNode *cur);

XMLPUBFUN int XMLCALL
		xmlNodeBufGetContent	(xmlBufferPtr buffer,
					 const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlBufGetNodeContent	(xmlBufPtr buf,
					 const xmlNode *cur);

XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetLang		(const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlNodeGetSpacePreserve	(const xmlNode *cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetLang		(xmlNodePtr cur,
					 const xmlChar *lang);
XMLPUBFUN void XMLCALL
		xmlNodeSetSpacePreserve (xmlNodePtr cur,
					 int val);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetBase		(const xmlDoc *doc,
					 const xmlNode *cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN void XMLCALL
		xmlNodeSetBase		(xmlNodePtr cur,
					 const xmlChar *uri);
#endif

/*
 * Removing content.
 */
XMLPUBFUN int XMLCALL
		xmlRemoveProp		(xmlAttrPtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlUnsetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN int XMLCALL
		xmlUnsetProp		(xmlNodePtr node,
					 const xmlChar *name);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */

/*
 * Internal, don't use.
 */
XMLPUBFUN void XMLCALL
		xmlBufferWriteCHAR	(xmlBufferPtr buf,
					 const xmlChar *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteChar	(xmlBufferPtr buf,
					 const char *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteQuotedString(xmlBufferPtr buf,
					 const xmlChar *string);

#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlAttrPtr attr,
					 const xmlChar *string);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef LIBXML_TREE_ENABLED
/*
 * Namespace handling.
 */
XMLPUBFUN int XMLCALL
		xmlReconciliateNs	(xmlDocPtr doc,
					 xmlNodePtr tree);
#endif

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Saving.
 */
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding);
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocFormatDump	(FILE *f,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN void XMLCALL
		xmlElemDump		(FILE *f,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFile	(const char *filename,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN size_t XMLCALL
		xmlBufNodeDump		(xmlBufPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);
XMLPUBFUN int XMLCALL
		xmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileTo		(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
				         const char *encoding,
				         int format);
XMLPUBFUN void XMLCALL
		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format,
					 const char *encoding);

XMLPUBFUN int XMLCALL
		xmlSaveFormatFileEnc    (const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * XHTML
 */
XMLPUBFUN int XMLCALL
		xmlIsXHTML		(const xmlChar *systemID,
					 const xmlChar *publicID);

/*
 * Compression.
 */
XMLPUBFUN int XMLCALL
		xmlGetDocCompressMode	(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlSetDocCompressMode	(xmlDocPtr doc,
					 int mode);
XMLPUBFUN int XMLCALL
		xmlGetCompressMode	(void);
XMLPUBFUN void XMLCALL
		xmlSetCompressMode	(int mode);

/*
* DOM-wrapper helper functions.
*/
XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
		xmlDOMWrapNewCtxt	(void);
XMLPUBFUN void XMLCALL
		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
					 xmlNodePtr elem,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr node,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlNodePtr *clonedNode,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int deep,
					 int options);

#ifdef LIBXML_TREE_ENABLED
/*
 * 5 interfaces from DOM ElementTraversal, but different in entities
 * traversal.
 */
XMLPUBFUN unsigned long XMLCALL
            xmlChildElementCount        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlNextElementSibling       (xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlFirstElementChild        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlLastElementChild         (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlPreviousElementSibling   (xmlNodePtr node);
#endif
#ifdef __cplusplus
}
#endif
#ifndef __XML_PARSER_H__
#include <libxml/xmlmemory.h>
#endif

#endif /* __XML_TREE_H__ */

include/libxml2/libxml/list.h000064400000006424150505765310012170 0ustar00/*
 * Summary: lists interfaces
 * Description: this module implement the list support used in
 * various place in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
 */

#ifndef __XML_LINK_INCLUDE__
#define __XML_LINK_INCLUDE__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlLink xmlLink;
typedef xmlLink *xmlLinkPtr;

typedef struct _xmlList xmlList;
typedef xmlList *xmlListPtr;

/**
 * xmlListDeallocator:
 * @lk:  the data to deallocate
 *
 * Callback function used to free data from a list.
 */
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
/**
 * xmlListDataCompare:
 * @data0: the first data
 * @data1: the second data
 *
 * Callback function used to compare 2 data.
 *
 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
 */
typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);
/**
 * xmlListWalker:
 * @data: the data found in the list
 * @user: extra user provided data to the walker
 *
 * Callback function used when walking a list with xmlListWalk().
 *
 * Returns 0 to stop walking the list, 1 otherwise.
 */
typedef int (*xmlListWalker) (const void *data, void *user);

/* Creation/Deletion */
XMLPUBFUN xmlListPtr XMLCALL
		xmlListCreate		(xmlListDeallocator deallocator,
	                                 xmlListDataCompare compare);
XMLPUBFUN void XMLCALL
		xmlListDelete		(xmlListPtr l);

/* Basic Operators */
XMLPUBFUN void * XMLCALL
		xmlListSearch		(xmlListPtr l,
					 void *data);
XMLPUBFUN void * XMLCALL
		xmlListReverseSearch	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListInsert		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListAppend		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListRemoveFirst	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveLast	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveAll	(xmlListPtr l,
					 void *data);
XMLPUBFUN void XMLCALL
		xmlListClear		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListEmpty		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListFront		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListEnd		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListSize		(xmlListPtr l);

XMLPUBFUN void XMLCALL
		xmlListPopFront		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListPopBack		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListPushFront	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListPushBack		(xmlListPtr l,
					 void *data);

/* Advanced Operators */
XMLPUBFUN void XMLCALL
		xmlListReverse		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListSort		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListWalk		(xmlListPtr l,
					 xmlListWalker walker,
					 void *user);
XMLPUBFUN void XMLCALL
		xmlListReverseWalk	(xmlListPtr l,
					 xmlListWalker walker,
					 void *user);
XMLPUBFUN void XMLCALL
		xmlListMerge		(xmlListPtr l1,
					 xmlListPtr l2);
XMLPUBFUN xmlListPtr XMLCALL
		xmlListDup		(const xmlListPtr old);
XMLPUBFUN int XMLCALL
		xmlListCopy		(xmlListPtr cur,
					 const xmlListPtr old);
/* Link operators */
XMLPUBFUN void * XMLCALL
		xmlLinkGetData          (xmlLinkPtr lk);

/* xmlListUnique() */
/* xmlListSwap */

#ifdef __cplusplus
}
#endif

#endif /* __XML_LINK_INCLUDE__ */
include/libxml2/libxml/xmlstring.h000064400000012607150505765310013244 0ustar00/*
 * Summary: set of routines to process strings
 * Description: type and interfaces needed for the internal string handling
 *              of the library, especially UTF8 processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_STRING_H__
#define __XML_STRING_H__

#include <stdarg.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlChar:
 *
 * This is a basic byte in an UTF-8 encoded string.
 * It's unsigned allowing to pinpoint case where char * are assigned
 * to xmlChar * (possibly making serialization back impossible).
 */
typedef unsigned char xmlChar;

/**
 * BAD_CAST:
 *
 * Macro to cast a string to an xmlChar * when one know its safe.
 */
#define BAD_CAST (xmlChar *)

/*
 * xmlChar handling
 */
XMLPUBFUN xmlChar * XMLCALL
                xmlStrdup                (const xmlChar *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrndup               (const xmlChar *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrndup           (const char *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrdup            (const char *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrsub                (const xmlChar *str,
                                         int start,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrchr                (const xmlChar *str,
                                         xmlChar val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrstr                (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrcasestr            (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN int XMLCALL
                xmlStrcmp                (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncmp               (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrcasecmp            (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncasecmp           (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrEqual              (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrQEqual             (const xmlChar *pref,
                                         const xmlChar *name,
                                         const xmlChar *str);
XMLPUBFUN int XMLCALL
                xmlStrlen                (const xmlChar *str);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrcat                (xmlChar *cur,
                                         const xmlChar *add);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncat               (xmlChar *cur,
                                         const xmlChar *add,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncatNew            (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrPrintf             (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         ...) LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
                xmlStrVPrintf                (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         va_list ap) LIBXML_ATTR_FORMAT(3,0);

XMLPUBFUN int XMLCALL
        xmlGetUTF8Char                   (const unsigned char *utf,
                                         int *len);
XMLPUBFUN int XMLCALL
        xmlCheckUTF8                     (const unsigned char *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Strsize                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strndup                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
        xmlUTF8Strpos                    (const xmlChar *utf,
                                         int pos);
XMLPUBFUN int XMLCALL
        xmlUTF8Strloc                    (const xmlChar *utf,
                                         const xmlChar *utfchar);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strsub                    (const xmlChar *utf,
                                         int start,
                                         int len);
XMLPUBFUN int XMLCALL
        xmlUTF8Strlen                    (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Size                      (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Charcmp                   (const xmlChar *utf1,
                                         const xmlChar *utf2);

#ifdef __cplusplus
}
#endif
#endif /* __XML_STRING_H__ */
include/libxml2/libxml/SAX2.h000064400000011206150505765320011725 0ustar00/*
 * Summary: SAX2 parser interface used to build the DOM tree
 * Description: those are the default SAX2 interfaces used by
 *              the library when building DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX2_H__
#define __XML_SAX2_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetPublicId		(void *ctx);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetSystemId		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2SetDocumentLocator	(void *ctx,
						 xmlSAXLocatorPtr loc);

XMLPUBFUN int XMLCALL
		xmlSAX2GetLineNumber		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2GetColumnNumber		(void *ctx);

XMLPUBFUN int XMLCALL
		xmlSAX2IsStandalone		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasInternalSubset	(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasExternalSubset	(void *ctx);

XMLPUBFUN void XMLCALL
		xmlSAX2InternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN void XMLCALL
		xmlSAX2ExternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetEntity		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetParameterEntity	(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlSAX2ResolveEntity		(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XMLPUBFUN void XMLCALL
		xmlSAX2EntityDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlSAX2AttributeDecl		(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XMLPUBFUN void XMLCALL
		xmlSAX2ElementDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlSAX2NotationDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XMLPUBFUN void XMLCALL
		xmlSAX2UnparsedEntityDecl	(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XMLPUBFUN void XMLCALL
		xmlSAX2StartDocument		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2EndDocument		(void *ctx);
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN void XMLCALL
		xmlSAX2StartElement		(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElement		(void *ctx,
						 const xmlChar *name);
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
XMLPUBFUN void XMLCALL
		xmlSAX2StartElementNs		(void *ctx,
						 const xmlChar *localname,
						 const xmlChar *prefix,
						 const xmlChar *URI,
						 int nb_namespaces,
						 const xmlChar **namespaces,
						 int nb_attributes,
						 int nb_defaulted,
						 const xmlChar **attributes);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElementNs		(void *ctx,
						 const xmlChar *localname,
						 const xmlChar *prefix,
						 const xmlChar *URI);
XMLPUBFUN void XMLCALL
		xmlSAX2Reference		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSAX2Characters		(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2IgnorableWhitespace	(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2ProcessingInstruction	(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XMLPUBFUN void XMLCALL
		xmlSAX2Comment			(void *ctx,
						 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlSAX2CDataBlock		(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXDefaultVersion		(int version);
#endif /* LIBXML_SAX1_ENABLED */

XMLPUBFUN int XMLCALL
		xmlSAXVersion			(xmlSAXHandler *hdlr,
						 int version);
XMLPUBFUN void XMLCALL
		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN void XMLCALL
		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		htmlDefaultSAXHandlerInit	(void);
#endif
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlDefaultSAXHandlerInit	(void);
#ifdef __cplusplus
}
#endif
#endif /* __XML_SAX2_H__ */
include/libxml2/libxml/xmlschemas.h000064400000015634150505765320013365 0ustar00/*
 * Summary: incomplete XML Schemas structure implementation
 * Description: interface to the XML Schemas handling and schema validity
 *              checking, it is incomplete right now.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_H__
#define __XML_SCHEMA_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * This error codes are obsolete; not used any more.
 */
typedef enum {
    XML_SCHEMAS_ERR_OK		= 0,
    XML_SCHEMAS_ERR_NOROOT	= 1,
    XML_SCHEMAS_ERR_UNDECLAREDELEM,
    XML_SCHEMAS_ERR_NOTTOPLEVEL,
    XML_SCHEMAS_ERR_MISSING,
    XML_SCHEMAS_ERR_WRONGELEM,
    XML_SCHEMAS_ERR_NOTYPE,
    XML_SCHEMAS_ERR_NOROLLBACK,
    XML_SCHEMAS_ERR_ISABSTRACT,
    XML_SCHEMAS_ERR_NOTEMPTY,
    XML_SCHEMAS_ERR_ELEMCONT,
    XML_SCHEMAS_ERR_HAVEDEFAULT,
    XML_SCHEMAS_ERR_NOTNILLABLE,
    XML_SCHEMAS_ERR_EXTRACONTENT,
    XML_SCHEMAS_ERR_INVALIDATTR,
    XML_SCHEMAS_ERR_INVALIDELEM,
    XML_SCHEMAS_ERR_NOTDETERMINIST,
    XML_SCHEMAS_ERR_CONSTRUCT,
    XML_SCHEMAS_ERR_INTERNAL,
    XML_SCHEMAS_ERR_NOTSIMPLE,
    XML_SCHEMAS_ERR_ATTRUNKNOWN,
    XML_SCHEMAS_ERR_ATTRINVALID,
    XML_SCHEMAS_ERR_VALUE,
    XML_SCHEMAS_ERR_FACET,
    XML_SCHEMAS_ERR_,
    XML_SCHEMAS_ERR_XXX
} xmlSchemaValidError;

/*
* ATTENTION: Change xmlSchemaSetValidOptions's check
* for invalid values, if adding to the validation
* options below.
*/
/**
 * xmlSchemaValidOption:
 *
 * This is the set of XML Schema validation options.
 */
typedef enum {
    XML_SCHEMA_VAL_VC_I_CREATE			= 1<<0
	/* Default/fixed: create an attribute node
	* or an element's text node on the instance.
	*/
} xmlSchemaValidOption;

/*
    XML_SCHEMA_VAL_XSI_ASSEMBLE			= 1<<1,
	* assemble schemata using
	* xsi:schemaLocation and
	* xsi:noNamespaceSchemaLocation
*/

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchema xmlSchema;
typedef xmlSchema *xmlSchemaPtr;

/**
 * xmlSchemaValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlSchemaValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;

typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;

/**
 * xmlSchemaValidityLocatorFunc:
 * @ctx: user provided context
 * @file: returned file information
 * @line: returned line information
 *
 * A schemas validation locator, a callback called by the validator.
 * This is used when file or node information are not available
 * to find out what file and line number are affected
 *
 * Returns: 0 in case of success and -1 in case of error
 */

typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
                           const char **file, unsigned long *line);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewMemParserCtxt	(const char *buffer,
					 int size);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewDocParserCtxt	(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
					xmlSchemaValidityErrorFunc * err,
					xmlSchemaValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaIsValid	(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaPtr XMLCALL
	    xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaFree		(xmlSchemaPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	    xmlSchemaDump		(FILE *output,
					 xmlSchemaPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc *err,
					 xmlSchemaValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
	                                 const char *filename);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
					 xmlDocPtr instance);
XMLPUBFUN int XMLCALL
            xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc,
					 xmlSAXHandlerPtr sax,
					 void *user_data);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateFile	(xmlSchemaValidCtxtPtr ctxt,
					 const char * filename,
					 int options);

XMLPUBFUN xmlParserCtxtPtr XMLCALL
	    xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);

/*
 * Interface to insert Schemas SAX validation in a SAX stream
 */
typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;

XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
            xmlSchemaSAXPlug		(xmlSchemaValidCtxtPtr ctxt,
					 xmlSAXHandlerPtr *sax,
					 void **user_data);
XMLPUBFUN int XMLCALL
            xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug);


XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetLocator	(xmlSchemaValidCtxtPtr vctxt,
					 xmlSchemaValidityLocatorFunc f,
					 void *ctxt);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_H__ */
include/libxml2/libxml/xmlmodule.h000064400000002222150505765320013214 0ustar00/*
 * Summary: dynamic module loading
 * Description: basic API for dynamic module loading, used by
 *              libexslt added in 2.6.17
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Joel W. Reed
 */

#ifndef __XML_MODULE_H__
#define __XML_MODULE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_MODULES_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlModulePtr:
 *
 * A handle to a dynamically loaded module
 */
typedef struct _xmlModule xmlModule;
typedef xmlModule *xmlModulePtr;

/**
 * xmlModuleOption:
 *
 * enumeration of options that can be passed down to xmlModuleOpen()
 */
typedef enum {
    XML_MODULE_LAZY = 1,	/* lazy binding */
    XML_MODULE_LOCAL= 2		/* local binding */
} xmlModuleOption;

XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen	(const char *filename,
						 int options);

XMLPUBFUN int XMLCALL xmlModuleSymbol		(xmlModulePtr module,
						 const char* name,
						 void **result);

XMLPUBFUN int XMLCALL xmlModuleClose		(xmlModulePtr module);

XMLPUBFUN int XMLCALL xmlModuleFree		(xmlModulePtr module);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_MODULES_ENABLED */

#endif /*__XML_MODULE_H__ */
include/libxml2/libxml/xmlsave.h000064400000004441150505765330012673 0ustar00/*
 * Summary: the XML document serializer
 * Description: API to save document or subtree of document
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLSAVE_H__
#define __XML_XMLSAVE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/encoding.h>
#include <libxml/xmlIO.h>

#ifdef LIBXML_OUTPUT_ENABLED
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlSaveOption:
 *
 * This is the set of XML save options that can be passed down
 * to the xmlSaveToFd() and similar calls.
 */
typedef enum {
    XML_SAVE_FORMAT     = 1<<0,	/* format save output */
    XML_SAVE_NO_DECL    = 1<<1,	/* drop the xml declaration */
    XML_SAVE_NO_EMPTY	= 1<<2, /* no empty tags */
    XML_SAVE_NO_XHTML	= 1<<3, /* disable XHTML1 specific rules */
    XML_SAVE_XHTML	= 1<<4, /* force XHTML1 specific rules */
    XML_SAVE_AS_XML     = 1<<5, /* force XML serialization on HTML doc */
    XML_SAVE_AS_HTML    = 1<<6, /* force HTML serialization on XML doc */
    XML_SAVE_WSNONSIG   = 1<<7  /* format with non-significant whitespace */
} xmlSaveOption;


typedef struct _xmlSaveCtxt xmlSaveCtxt;
typedef xmlSaveCtxt *xmlSaveCtxtPtr;

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFd		(int fd,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFilename	(const char *filename,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToBuffer		(xmlBufferPtr buffer,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
					 xmlOutputCloseCallback ioclose,
					 void *ioctx,
					 const char *encoding,
					 int options);

XMLPUBFUN long XMLCALL
		xmlSaveDoc		(xmlSaveCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN long XMLCALL
		xmlSaveTree		(xmlSaveCtxtPtr ctxt,
					 xmlNodePtr node);

XMLPUBFUN int XMLCALL
		xmlSaveFlush		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveClose		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveSetEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
XMLPUBFUN int XMLCALL
		xmlSaveSetAttrEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
#ifdef __cplusplus
}
#endif
#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* __XML_XMLSAVE_H__ */


include/libxml2/libxml/pattern.h000064400000005032150505765330012666 0ustar00/*
 * Summary: pattern expression handling
 * Description: allows to compile and test pattern expressions for nodes
 *              either in a tree or based on a parser state.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PATTERN_H__
#define __XML_PATTERN_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>

#ifdef LIBXML_PATTERN_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlPattern:
 *
 * A compiled (XPath based) pattern to select nodes
 */
typedef struct _xmlPattern xmlPattern;
typedef xmlPattern *xmlPatternPtr;

/**
 * xmlPatternFlags:
 *
 * This is the set of options affecting the behaviour of pattern
 * matching with this module
 *
 */
typedef enum {
    XML_PATTERN_DEFAULT		= 0,	/* simple pattern match */
    XML_PATTERN_XPATH		= 1<<0,	/* standard XPath pattern */
    XML_PATTERN_XSSEL		= 1<<1,	/* XPath subset for schema selector */
    XML_PATTERN_XSFIELD		= 1<<2	/* XPath subset for schema field */
} xmlPatternFlags;

XMLPUBFUN void XMLCALL
			xmlFreePattern		(xmlPatternPtr comp);

XMLPUBFUN void XMLCALL
			xmlFreePatternList	(xmlPatternPtr comp);

XMLPUBFUN xmlPatternPtr XMLCALL
			xmlPatterncompile	(const xmlChar *pattern,
						 xmlDict *dict,
						 int flags,
						 const xmlChar **namespaces);
XMLPUBFUN int XMLCALL
			xmlPatternMatch		(xmlPatternPtr comp,
						 xmlNodePtr node);

/* streaming interfaces */
typedef struct _xmlStreamCtxt xmlStreamCtxt;
typedef xmlStreamCtxt *xmlStreamCtxtPtr;

XMLPUBFUN int XMLCALL
			xmlPatternStreamable	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMaxDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMinDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternFromRoot	(xmlPatternPtr comp);
XMLPUBFUN xmlStreamCtxtPtr XMLCALL
			xmlPatternGetStreamCtxt	(xmlPatternPtr comp);
XMLPUBFUN void XMLCALL
			xmlFreeStreamCtxt	(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamPushNode	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns,
						 int nodeType);
XMLPUBFUN int XMLCALL
			xmlStreamPush		(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPushAttr	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPop		(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamWantsAnyNode	(xmlStreamCtxtPtr stream);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_PATTERN_ENABLED */

#endif /* __XML_PATTERN_H__ */
include/libxml2/libxml/xpathInternals.h000064400000045631150505765330014226 0ustar00/*
 * Summary: internal interfaces for XML Path Language implementation
 * Description: internal interfaces for XML Path Language implementation
 *              used to build new modules on top of XPath like XPointer and
 *              XSLT
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_INTERNALS_H__
#define __XML_XPATH_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/xpath.h>

#ifdef LIBXML_XPATH_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************
 *									*
 *			Helpers						*
 *									*
 ************************************************************************/

/*
 * Many of these macros may later turn into functions. They
 * shouldn't be used in #ifdef's preprocessor instructions.
 */
/**
 * xmlXPathSetError:
 * @ctxt:  an XPath parser context
 * @err:  an xmlXPathError code
 *
 * Raises an error.
 */
#define xmlXPathSetError(ctxt, err)					\
    { xmlXPatherror((ctxt), __FILE__, __LINE__, (err));			\
      if ((ctxt) != NULL) (ctxt)->error = (err); }

/**
 * xmlXPathSetArityError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_ARITY error.
 */
#define xmlXPathSetArityError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)

/**
 * xmlXPathSetTypeError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_TYPE error.
 */
#define xmlXPathSetTypeError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)

/**
 * xmlXPathGetError:
 * @ctxt:  an XPath parser context
 *
 * Get the error code of an XPath context.
 *
 * Returns the context error.
 */
#define xmlXPathGetError(ctxt)	  ((ctxt)->error)

/**
 * xmlXPathCheckError:
 * @ctxt:  an XPath parser context
 *
 * Check if an XPath error was raised.
 *
 * Returns true if an error has been raised, false otherwise.
 */
#define xmlXPathCheckError(ctxt)  ((ctxt)->error != XPATH_EXPRESSION_OK)

/**
 * xmlXPathGetDocument:
 * @ctxt:  an XPath parser context
 *
 * Get the document of an XPath context.
 *
 * Returns the context document.
 */
#define xmlXPathGetDocument(ctxt)	((ctxt)->context->doc)

/**
 * xmlXPathGetContextNode:
 * @ctxt: an XPath parser context
 *
 * Get the context node of an XPath context.
 *
 * Returns the context node.
 */
#define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)

XMLPUBFUN int XMLCALL
		xmlXPathPopBoolean	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN double XMLCALL
		xmlXPathPopNumber	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathPopString	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void * XMLCALL
		xmlXPathPopExternal	(xmlXPathParserContextPtr ctxt);

/**
 * xmlXPathReturnBoolean:
 * @ctxt:  an XPath parser context
 * @val:  a boolean
 *
 * Pushes the boolean @val on the context stack.
 */
#define xmlXPathReturnBoolean(ctxt, val)				\
    valuePush((ctxt), xmlXPathNewBoolean(val))

/**
 * xmlXPathReturnTrue:
 * @ctxt:  an XPath parser context
 *
 * Pushes true on the context stack.
 */
#define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)

/**
 * xmlXPathReturnFalse:
 * @ctxt:  an XPath parser context
 *
 * Pushes false on the context stack.
 */
#define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)

/**
 * xmlXPathReturnNumber:
 * @ctxt:  an XPath parser context
 * @val:  a double
 *
 * Pushes the double @val on the context stack.
 */
#define xmlXPathReturnNumber(ctxt, val)					\
    valuePush((ctxt), xmlXPathNewFloat(val))

/**
 * xmlXPathReturnString:
 * @ctxt:  an XPath parser context
 * @str:  a string
 *
 * Pushes the string @str on the context stack.
 */
#define xmlXPathReturnString(ctxt, str)					\
    valuePush((ctxt), xmlXPathWrapString(str))

/**
 * xmlXPathReturnEmptyString:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty string on the stack.
 */
#define xmlXPathReturnEmptyString(ctxt)					\
    valuePush((ctxt), xmlXPathNewCString(""))

/**
 * xmlXPathReturnNodeSet:
 * @ctxt:  an XPath parser context
 * @ns:  a node-set
 *
 * Pushes the node-set @ns on the context stack.
 */
#define xmlXPathReturnNodeSet(ctxt, ns)					\
    valuePush((ctxt), xmlXPathWrapNodeSet(ns))

/**
 * xmlXPathReturnEmptyNodeSet:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty node-set on the context stack.
 */
#define xmlXPathReturnEmptyNodeSet(ctxt)				\
    valuePush((ctxt), xmlXPathNewNodeSet(NULL))

/**
 * xmlXPathReturnExternal:
 * @ctxt:  an XPath parser context
 * @val:  user data
 *
 * Pushes user data on the context stack.
 */
#define xmlXPathReturnExternal(ctxt, val)				\
    valuePush((ctxt), xmlXPathWrapExternal(val))

/**
 * xmlXPathStackIsNodeSet:
 * @ctxt: an XPath parser context
 *
 * Check if the current value on the XPath stack is a node set or
 * an XSLT value tree.
 *
 * Returns true if the current object on the stack is a node-set.
 */
#define xmlXPathStackIsNodeSet(ctxt)					\
    (((ctxt)->value != NULL)						\
     && (((ctxt)->value->type == XPATH_NODESET)				\
         || ((ctxt)->value->type == XPATH_XSLT_TREE)))

/**
 * xmlXPathStackIsExternal:
 * @ctxt: an XPath parser context
 *
 * Checks if the current value on the XPath stack is an external
 * object.
 *
 * Returns true if the current object on the stack is an external
 * object.
 */
#define xmlXPathStackIsExternal(ctxt)					\
	((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))

/**
 * xmlXPathEmptyNodeSet:
 * @ns:  a node-set
 *
 * Empties a node-set.
 */
#define xmlXPathEmptyNodeSet(ns)					\
    { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; }

/**
 * CHECK_ERROR:
 *
 * Macro to return from the function if an XPath error was detected.
 */
#define CHECK_ERROR							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return

/**
 * CHECK_ERROR0:
 *
 * Macro to return 0 from the function if an XPath error was detected.
 */
#define CHECK_ERROR0							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return(0)

/**
 * XP_ERROR:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return.
 */
#define XP_ERROR(X)							\
    { xmlXPathErr(ctxt, X); return; }

/**
 * XP_ERROR0:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return 0.
 */
#define XP_ERROR0(X)							\
    { xmlXPathErr(ctxt, X); return(0); }

/**
 * CHECK_TYPE:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type.
 */
#define CHECK_TYPE(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR(XPATH_INVALID_TYPE)

/**
 * CHECK_TYPE0:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type. Return(0) in case of failure
 */
#define CHECK_TYPE0(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR0(XPATH_INVALID_TYPE)

/**
 * CHECK_ARITY:
 * @x:  the number of expected args
 *
 * Macro to check that the number of args passed to an XPath function matches.
 */
#define CHECK_ARITY(x)							\
    if (ctxt == NULL) return;						\
    if (nargs != (x))							\
        XP_ERROR(XPATH_INVALID_ARITY);					\
    if (ctxt->valueNr < ctxt->valueFrame + (x))				\
        XP_ERROR(XPATH_STACK_ERROR);

/**
 * CAST_TO_STRING:
 *
 * Macro to try to cast the value on the top of the XPath stack to a string.
 */
#define CAST_TO_STRING							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))	\
        xmlXPathStringFunction(ctxt, 1);

/**
 * CAST_TO_NUMBER:
 *
 * Macro to try to cast the value on the top of the XPath stack to a number.
 */
#define CAST_TO_NUMBER							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))	\
        xmlXPathNumberFunction(ctxt, 1);

/**
 * CAST_TO_BOOLEAN:
 *
 * Macro to try to cast the value on the top of the XPath stack to a boolean.
 */
#define CAST_TO_BOOLEAN							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))	\
        xmlXPathBooleanFunction(ctxt, 1);

/*
 * Variable Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathVariableLookupFunc f,
					 void *data);

/*
 * Function Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	    xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathFuncLookupFunc f,
					 void *funcCtxt);

/*
 * Error reporting.
 */
XMLPUBFUN void XMLCALL
		xmlXPatherror	(xmlXPathParserContextPtr ctxt,
				 const char *file,
				 int line,
				 int no);

XMLPUBFUN void XMLCALL
		xmlXPathErr	(xmlXPathParserContextPtr ctxt,
				 int error);

#ifdef LIBXML_DEBUG_ENABLED
XMLPUBFUN void XMLCALL
		xmlXPathDebugDumpObject	(FILE *output,
					 xmlXPathObjectPtr cur,
					 int depth);
XMLPUBFUN void XMLCALL
	    xmlXPathDebugDumpCompExpr(FILE *output,
					 xmlXPathCompExprPtr comp,
					 int depth);
#endif
/**
 * NodeSet handling.
 */
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetContains		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDifference		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathIntersection		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinctSorted		(xmlNodeSetPtr nodes);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinct		(xmlNodeSetPtr nodes);

XMLPUBFUN int XMLCALL
		xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeadingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeading		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeading			(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailing		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailing		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);


/**
 * Extending a context.
 */

XMLPUBFUN int XMLCALL
		xmlXPathRegisterNs		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix,
						 const xmlChar *ns_uri);
XMLPUBFUN const xmlChar * XMLCALL
		xmlXPathNsLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt);

XMLPUBFUN int XMLCALL
		xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathObjectPtr value);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathObjectPtr value);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);

/**
 * Utilities to extend XPath.
 */
XMLPUBFUN xmlXPathParserContextPtr XMLCALL
		  xmlXPathNewParserContext	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt);

/* TODO: remap to xmlXPathValuePop and Push. */
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		valuePop			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL
		valuePush			(xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr value);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewString		(const xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewCString		(const char *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapString		(xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapCString		(char * val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewFloat		(double val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewBoolean		(int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSet		(xmlNodePtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewValueTree		(xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAdd		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur,
						 xmlNodePtr node,
						 xmlNsPtr ns);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetSort		(xmlNodeSetPtr set);

XMLPUBFUN void XMLCALL
		xmlXPathRoot			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseName		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseNCName		(xmlXPathParserContextPtr ctxt);

/*
 * Existing functions.
 */
XMLPUBFUN double XMLCALL
		xmlXPathStringEvalNumber	(const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr res);
XMLPUBFUN void XMLCALL
		xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeSetMerge		(xmlNodeSetPtr val1,
						 xmlNodeSetPtr val2);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetDel		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetRemove		(xmlNodeSetPtr cur,
						 int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSetList		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapNodeSet		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapExternal		(void *val);

XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);

XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);

/*
 * Some of the axis navigation routines.
 */
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
/*
 * The official core of XPath functions.
 */
XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);

/**
 * Really internal functions
 */
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED */
#endif /* ! __XML_XPATH_INTERNALS_H__ */
include/libxml2/libxml/uri.h000064400000005150150505765330012011 0ustar00/**
 * Summary: library of generic URI related routines
 * Description: library of generic URI related routines
 *              Implements RFC 2396
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_URI_H__
#define __XML_URI_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlURI:
 *
 * A parsed URI reference. This is a struct containing the various fields
 * as described in RFC 2396 but separated for further processing.
 *
 * Note: query is a deprecated field which is incorrectly unescaped.
 * query_raw takes precedence over query if the former is set.
 * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
 */
typedef struct _xmlURI xmlURI;
typedef xmlURI *xmlURIPtr;
struct _xmlURI {
    char *scheme;	/* the URI scheme */
    char *opaque;	/* opaque part */
    char *authority;	/* the authority part */
    char *server;	/* the server part */
    char *user;		/* the user part */
    int port;		/* the port number */
    char *path;		/* the path string */
    char *query;	/* the query string (deprecated - use with caution) */
    char *fragment;	/* the fragment identifier */
    int  cleanup;	/* parsing potentially unclean URI */
    char *query_raw;	/* the query string (as it appears in the URI) */
};

/*
 * This function is in tree.h:
 * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
 *                               xmlNodePtr cur);
 */
XMLPUBFUN xmlURIPtr XMLCALL
		xmlCreateURI		(void);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildURI		(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildRelativeURI	(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURI		(const char *str);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURIRaw		(const char *str,
					 int raw);
XMLPUBFUN int XMLCALL
		xmlParseURIReference	(xmlURIPtr uri,
					 const char *str);
XMLPUBFUN xmlChar * XMLCALL
		xmlSaveUri		(xmlURIPtr uri);
XMLPUBFUN void XMLCALL
		xmlPrintURI		(FILE *stream,
					 xmlURIPtr uri);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscapeStr         (const xmlChar *str,
					 const xmlChar *list);
XMLPUBFUN char * XMLCALL
		xmlURIUnescapeString	(const char *str,
					 int len,
					 char *target);
XMLPUBFUN int XMLCALL
		xmlNormalizeURIPath	(char *path);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscape		(const xmlChar *str);
XMLPUBFUN void XMLCALL
		xmlFreeURI		(xmlURIPtr uri);
XMLPUBFUN xmlChar* XMLCALL
		xmlCanonicPath		(const xmlChar *path);
XMLPUBFUN xmlChar* XMLCALL
		xmlPathToURI		(const xmlChar *path);

#ifdef __cplusplus
}
#endif
#endif /* __XML_URI_H__ */
include/libxml2/libxml/xmlschemastypes.h000064400000011370150505765340014445 0ustar00/*
 * Summary: implementation of XML Schema Datatypes
 * Description: module providing the XML Schema Datatypes implementation
 *              both definition and validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_TYPES_H__
#define __XML_SCHEMA_TYPES_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/schemasInternals.h>
#include <libxml/xmlschemas.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
    XML_SCHEMA_WHITESPACE_PRESERVE = 1,
    XML_SCHEMA_WHITESPACE_REPLACE = 2,
    XML_SCHEMA_WHITESPACE_COLLAPSE = 3
} xmlSchemaWhitespaceValueType;

XMLPUBFUN void XMLCALL
		xmlSchemaInitTypes		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlSchemaCleanupTypes		(void);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetPredefinedType	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
						 xmlSchemaWhitespaceValueType fws,
						 xmlSchemaValType valType,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaFacetPtr XMLCALL
		xmlSchemaNewFacet		(void);
XMLPUBFUN int XMLCALL
		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
						 xmlSchemaTypePtr typeDecl,
						 xmlSchemaParserCtxtPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValues		(xmlSchemaValPtr x,
						 xmlSchemaValPtr y);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
    xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
XMLPUBFUN int XMLCALL
    xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 unsigned long actualLen,
						 unsigned long *expectedLen);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
XMLPUBFUN int XMLCALL
		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type,
						 int facetType);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaCollapseString		(const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
XMLPUBFUN unsigned long  XMLCALL
		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 unsigned long *length);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
						  xmlSchemaValType valType,
						  const xmlChar *value,
						  xmlSchemaValPtr val,
						  unsigned long *length,
						  xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
						 const xmlChar **retValue);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,
						 const xmlChar **retValue,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
						 xmlSchemaValPtr cur);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewStringValue		(xmlSchemaValType type,
						 const xmlChar *value);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
						 const xmlChar *localName);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
						 xmlSchemaWhitespaceValueType xws,
						 xmlSchemaValPtr y,
						 xmlSchemaWhitespaceValueType yws);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaCopyValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValType XMLCALL
		xmlSchemaGetValType		(xmlSchemaValPtr val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_TYPES_H__ */
include/libxml2/libxml/schematron.h000064400000010422150505765340013354 0ustar00/*
 * Summary: XML Schematron implementation
 * Description: interface to the XML Schematron validity checking.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMATRON_H__
#define __XML_SCHEMATRON_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMATRON_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
    XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
    XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
    XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
    XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
    XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
    XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
} xmlSchematronValidOptions;

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchematron xmlSchematron;
typedef xmlSchematron *xmlSchematronPtr;

/**
 * xmlSchematronValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);

/**
 * xmlSchematronValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);

/**
 * A schemas validation context
 */
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;

typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewMemParserCtxt(const char *buffer,
					 int size);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
/*****
XMLPUBFUN void XMLCALL
	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					xmlSchematronValidityErrorFunc * err,
					xmlSchematronValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
 *****/
XMLPUBFUN xmlSchematronPtr XMLCALL
	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchematronFree		(xmlSchematronPtr schema);
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidStructuredErrors(
	                                  xmlSchematronValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror,
					  void *ctx);
/******
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc *err,
					 xmlSchematronValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
            xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
 *******/

XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
					 int options);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
					 xmlDocPtr instance);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMATRON_ENABLED */
#endif /* __XML_SCHEMATRON_H__ */
include/libxml2/libxml/xmlautomata.h000064400000007564150505765340013562 0ustar00/*
 * Summary: API to build regexp automata
 * Description: the API to build regexp automata
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_AUTOMATA_H__
#define __XML_AUTOMATA_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_REGEXP_ENABLED
#ifdef LIBXML_AUTOMATA_ENABLED
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlAutomataPtr:
 *
 * A libxml automata description, It can be compiled into a regexp
 */
typedef struct _xmlAutomata xmlAutomata;
typedef xmlAutomata *xmlAutomataPtr;

/**
 * xmlAutomataStatePtr:
 *
 * A state int the automata description,
 */
typedef struct _xmlAutomataState xmlAutomataState;
typedef xmlAutomataState *xmlAutomataStatePtr;

/*
 * Building API
 */
XMLPUBFUN xmlAutomataPtr XMLCALL
		    xmlNewAutomata		(void);
XMLPUBFUN void XMLCALL
		    xmlFreeAutomata		(xmlAutomataPtr am);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataGetInitState	(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataSetFinalState	(xmlAutomataPtr am,
						 xmlAutomataStatePtr state);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewState		(xmlAutomataPtr am);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
                    xmlAutomataNewNegTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int lax);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewEpsilon	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountedTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCounterTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN int XMLCALL
		    xmlAutomataNewCounter	(xmlAutomataPtr am,
						 int min,
						 int max);

XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlAutomataCompile		(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataIsDeterminist	(xmlAutomataPtr am);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_AUTOMATA_ENABLED */
#endif /* LIBXML_REGEXP_ENABLED */

#endif /* __XML_AUTOMATA_H__ */
include/libxml2/libxml/encoding.h000064400000017556150505765350013017 0ustar00/*
 * Summary: interface for the encoding conversion functions
 * Description: interface for the encoding conversion functions needed for
 *              XML basic encoding and iconv() support.
 *
 * Related specs are
 * rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies
 * [ISO-10646]    UTF-8 and UTF-16 in Annexes
 * [ISO-8859-1]   ISO Latin-1 characters codes.
 * [UNICODE]      The Unicode Consortium, "The Unicode Standard --
 *                Worldwide Character Encoding -- Version 1.0", Addison-
 *                Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is
 *                described in Unicode Technical Report #4.
 * [US-ASCII]     Coded Character Set--7-bit American Standard Code for
 *                Information Interchange, ANSI X3.4-1986.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CHAR_ENCODING_H__
#define __XML_CHAR_ENCODING_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_ICONV_ENABLED
#include <iconv.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlCharEncoding:
 *
 * Predefined values for some standard encodings.
 * Libxml does not do beforehand translation on UTF8 and ISOLatinX.
 * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default.
 *
 * Anything else would have to be translated to UTF8 before being
 * given to the parser itself. The BOM for UTF16 and the encoding
 * declaration are looked at and a converter is looked for at that
 * point. If not found the parser stops here as asked by the XML REC. A
 * converter can be registered by the user using xmlRegisterCharEncodingHandler
 * but the current form doesn't allow stateful transcoding (a serious
 * problem agreed !). If iconv has been found it will be used
 * automatically and allow stateful transcoding, the simplest is then
 * to be sure to enable iconv and to provide iconv libs for the encoding
 * support needed.
 *
 * Note that the generic "UTF-16" is not a predefined value.  Instead, only
 * the specific UTF-16LE and UTF-16BE are present.
 */
typedef enum {
    XML_CHAR_ENCODING_ERROR=   -1, /* No char encoding detected */
    XML_CHAR_ENCODING_NONE=	0, /* No char encoding detected */
    XML_CHAR_ENCODING_UTF8=	1, /* UTF-8 */
    XML_CHAR_ENCODING_UTF16LE=	2, /* UTF-16 little endian */
    XML_CHAR_ENCODING_UTF16BE=	3, /* UTF-16 big endian */
    XML_CHAR_ENCODING_UCS4LE=	4, /* UCS-4 little endian */
    XML_CHAR_ENCODING_UCS4BE=	5, /* UCS-4 big endian */
    XML_CHAR_ENCODING_EBCDIC=	6, /* EBCDIC uh! */
    XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS2=	9, /* UCS-2 */
    XML_CHAR_ENCODING_8859_1=	10,/* ISO-8859-1 ISO Latin 1 */
    XML_CHAR_ENCODING_8859_2=	11,/* ISO-8859-2 ISO Latin 2 */
    XML_CHAR_ENCODING_8859_3=	12,/* ISO-8859-3 */
    XML_CHAR_ENCODING_8859_4=	13,/* ISO-8859-4 */
    XML_CHAR_ENCODING_8859_5=	14,/* ISO-8859-5 */
    XML_CHAR_ENCODING_8859_6=	15,/* ISO-8859-6 */
    XML_CHAR_ENCODING_8859_7=	16,/* ISO-8859-7 */
    XML_CHAR_ENCODING_8859_8=	17,/* ISO-8859-8 */
    XML_CHAR_ENCODING_8859_9=	18,/* ISO-8859-9 */
    XML_CHAR_ENCODING_2022_JP=  19,/* ISO-2022-JP */
    XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
    XML_CHAR_ENCODING_EUC_JP=   21,/* EUC-JP */
    XML_CHAR_ENCODING_ASCII=    22 /* pure ASCII */
} xmlCharEncoding;

/**
 * xmlCharEncodingInputFunc:
 * @out:  a pointer to an array of bytes to store the UTF-8 result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of chars in the original encoding
 * @inlen:  the length of @in
 *
 * Take a block of chars in the original encoding and try to convert
 * it to an UTF-8 block of chars out.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets consumed.
 */
typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
                                         const unsigned char *in, int *inlen);


/**
 * xmlCharEncodingOutputFunc:
 * @out:  a pointer to an array of bytes to store the result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of UTF-8 chars
 * @inlen:  the length of @in
 *
 * Take a block of UTF-8 chars in and try to convert it to another
 * encoding.
 * Note: a first call designed to produce heading info is called with
 * in = NULL. If stateful this should also initialize the encoder state.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets produced.
 */
typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
                                          const unsigned char *in, int *inlen);


/*
 * Block defining the handlers for non UTF-8 encodings.
 * If iconv is supported, there are two extra fields.
 */
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
    char                       *name;
    xmlCharEncodingInputFunc   input;
    xmlCharEncodingOutputFunc  output;
#ifdef LIBXML_ICONV_ENABLED
    iconv_t                    iconv_in;
    iconv_t                    iconv_out;
#endif /* LIBXML_ICONV_ENABLED */
#ifdef LIBXML_ICU_ENABLED
    struct _uconv_t            *uconv_in;
    struct _uconv_t            *uconv_out;
#endif /* LIBXML_ICU_ENABLED */
};

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * Interfaces for encoding handlers.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlInitCharEncodingHandlers	(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlCleanupCharEncodingHandlers	(void);
XMLPUBFUN void XMLCALL
	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlGetCharEncodingHandler	(xmlCharEncoding enc);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlFindCharEncodingHandler	(const char *name);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlNewCharEncodingHandler	(const char *name,
					 xmlCharEncodingInputFunc input,
					 xmlCharEncodingOutputFunc output);

/*
 * Interfaces for encoding names and aliases.
 */
XMLPUBFUN int XMLCALL
	xmlAddEncodingAlias		(const char *name,
					 const char *alias);
XMLPUBFUN int XMLCALL
	xmlDelEncodingAlias		(const char *alias);
XMLPUBFUN const char * XMLCALL
	xmlGetEncodingAlias		(const char *alias);
XMLPUBFUN void XMLCALL
	xmlCleanupEncodingAliases	(void);
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlParseCharEncoding		(const char *name);
XMLPUBFUN const char * XMLCALL
	xmlGetCharEncodingName		(xmlCharEncoding enc);

/*
 * Interfaces directly used by the parsers.
 */
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlDetectCharEncoding		(const unsigned char *in,
					 int len);

XMLPUBFUN int XMLCALL
	xmlCharEncOutFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);

XMLPUBFUN int XMLCALL
	xmlCharEncInFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncFirstLine		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncCloseFunc		(xmlCharEncodingHandler *handler);

/*
 * Export a few useful functions
 */
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	UTF8Toisolat1			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	isolat1ToUTF8			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#ifdef __cplusplus
}
#endif

#endif /* __XML_CHAR_ENCODING_H__ */
include/libxml2/libxml/xmlIO.h000064400000024644150505765350012255 0ustar00/*
 * Summary: interface for the I/O interfaces used by the parser
 * Description: interface for the I/O interfaces used by the parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_IO_H__
#define __XML_IO_H__

#include <stdio.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Those are the functions and datatypes for the parser input
 * I/O structures.
 */

/**
 * xmlInputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to detect if the current handler
 * can provide input functionality for this resource.
 *
 * Returns 1 if yes and 0 if another Input module should be used
 */
typedef int (XMLCALL *xmlInputMatchCallback) (char const *filename);
/**
 * xmlInputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to open the resource
 *
 * Returns an Input context or NULL in case or error
 */
typedef void * (XMLCALL *xmlInputOpenCallback) (char const *filename);
/**
 * xmlInputReadCallback:
 * @context:  an Input context
 * @buffer:  the buffer to store data read
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Input API to read the resource
 *
 * Returns the number of bytes read or -1 in case of error
 */
typedef int (XMLCALL *xmlInputReadCallback) (void * context, char * buffer, int len);
/**
 * xmlInputCloseCallback:
 * @context:  an Input context
 *
 * Callback used in the I/O Input API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlInputCloseCallback) (void * context);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Those are the functions and datatypes for the library output
 * I/O structures.
 */

/**
 * xmlOutputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to detect if the current handler
 * can provide output functionality for this resource.
 *
 * Returns 1 if yes and 0 if another Output module should be used
 */
typedef int (XMLCALL *xmlOutputMatchCallback) (char const *filename);
/**
 * xmlOutputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to open the resource
 *
 * Returns an Output context or NULL in case or error
 */
typedef void * (XMLCALL *xmlOutputOpenCallback) (char const *filename);
/**
 * xmlOutputWriteCallback:
 * @context:  an Output context
 * @buffer:  the buffer of data to write
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Output API to write to the resource
 *
 * Returns the number of bytes written or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputWriteCallback) (void * context, const char * buffer,
                                       int len);
/**
 * xmlOutputCloseCallback:
 * @context:  an Output context
 *
 * Callback used in the I/O Output API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputCloseCallback) (void * context);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef __cplusplus
}
#endif

#include <libxml/globals.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/encoding.h>

#ifdef __cplusplus
extern "C" {
#endif
struct _xmlParserInputBuffer {
    void*                  context;
    xmlInputReadCallback   readcallback;
    xmlInputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 */
    xmlBufPtr raw;       /* if encoder != NULL buffer for raw input */
    int	compressed;	    /* -1=unknown, 0=not compressed, 1=compressed */
    int error;
    unsigned long rawconsumed;/* amount consumed from raw */
};


#ifdef LIBXML_OUTPUT_ENABLED
struct _xmlOutputBuffer {
    void*                   context;
    xmlOutputWriteCallback  writecallback;
    xmlOutputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
    xmlBufPtr conv;      /* if encoder != NULL buffer for output */
    int written;            /* total number of byte written */
    int error;
};
#endif /* LIBXML_OUTPUT_ENABLED */

/*
 * Interfaces for input
 */
XMLPUBFUN void XMLCALL
	xmlCleanupInputCallbacks		(void);

XMLPUBFUN int XMLCALL
	xmlPopInputCallbacks			(void);

XMLPUBFUN void XMLCALL
	xmlRegisterDefaultInputCallbacks	(void);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlAllocParserInputBuffer		(xmlCharEncoding enc);

XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFilename	(const char *URI,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFile		(FILE *file,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFd		(int fd,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateMem		(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateStatic	(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,
						 xmlInputCloseCallback  ioclose,
						 void *ioctx,
	                                         xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferRead		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
						 int len,
						 const char *buf);
XMLPUBFUN void XMLCALL
	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
XMLPUBFUN char * XMLCALL
	xmlParserGetDirectory			(const char *filename);

XMLPUBFUN int XMLCALL
	xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,
						 xmlInputOpenCallback openFunc,
						 xmlInputReadCallback readFunc,
						 xmlInputCloseCallback closeFunc);

xmlParserInputBufferPtr
	__xmlParserInputBufferCreateFilename(const char *URI,
						xmlCharEncoding enc);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Interfaces for output
 */
XMLPUBFUN void XMLCALL
	xmlCleanupOutputCallbacks		(void);
XMLPUBFUN int XMLCALL
	xmlPopOutputCallbacks			(void);
XMLPUBFUN void XMLCALL
	xmlRegisterDefaultOutputCallbacks(void);
XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFilename	(const char *URI,
					 xmlCharEncodingHandlerPtr encoder,
					 int compression);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFile	(FILE *file,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFd		(int fd,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,
					 xmlOutputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncodingHandlerPtr encoder);

/* Couple of APIs to get the output without digging into the buffers */
XMLPUBFUN const xmlChar * XMLCALL
        xmlOutputBufferGetContent       (xmlOutputBufferPtr out);
XMLPUBFUN size_t XMLCALL
        xmlOutputBufferGetSize          (xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlOutputBufferWrite		(xmlOutputBufferPtr out,
					 int len,
					 const char *buf);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteString	(xmlOutputBufferPtr out,
					 const char *str);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out,
					 const xmlChar *str,
					 xmlCharEncodingOutputFunc escaping);

XMLPUBFUN int XMLCALL
	xmlOutputBufferFlush		(xmlOutputBufferPtr out);
XMLPUBFUN int XMLCALL
	xmlOutputBufferClose		(xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,
					 xmlOutputOpenCallback openFunc,
					 xmlOutputWriteCallback writeFunc,
					 xmlOutputCloseCallback closeFunc);

xmlOutputBufferPtr
	__xmlOutputBufferCreateFilename(const char *URI,
                              xmlCharEncodingHandlerPtr encoder,
                              int compression);

#ifdef LIBXML_HTTP_ENABLED
/*  This function only exists if HTTP support built into the library  */
XMLPUBFUN void XMLCALL
	xmlRegisterHTTPPostCallbacks	(void );
#endif /* LIBXML_HTTP_ENABLED */

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlCheckHTTPInput		(xmlParserCtxtPtr ctxt,
					 xmlParserInputPtr ret);

/*
 * A predefined entity loader disabling network accesses
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlNoNetExternalEntityLoader	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * xmlNormalizeWindowsPath is obsolete, don't use it.
 * Check xmlCanonicPath in uri.h for a better alternative.
 */
XMLPUBFUN xmlChar * XMLCALL
	xmlNormalizeWindowsPath		(const xmlChar *path);

XMLPUBFUN int XMLCALL
	xmlCheckFilename		(const char *path);
/**
 * Default 'file://' protocol callbacks
 */
XMLPUBFUN int XMLCALL
	xmlFileMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlFileOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlFileRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlFileClose			(void * context);

/**
 * Default 'http://' protocol callbacks
 */
#ifdef LIBXML_HTTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOHTTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpen			(const char *filename);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpenW			(const char * post_uri,
					 int   compression );
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	xmlIOHTTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOHTTPClose			(void * context);
#endif /* LIBXML_HTTP_ENABLED */

/**
 * Default 'ftp://' protocol callbacks
 */
#ifdef LIBXML_FTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOFTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOFTPOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlIOFTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOFTPClose			(void * context);
#endif /* LIBXML_FTP_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_IO_H__ */
include/libxml2/libxml/hash.h000064400000014711150505765360012143 0ustar00/*
 * Summary: Chained hash tables
 * Description: This module implements the hash table support used in
 *		various places in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Bjorn Reese <bjorn.reese@systematic.dk>
 */

#ifndef __XML_HASH_H__
#define __XML_HASH_H__

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The hash table.
 */
typedef struct _xmlHashTable xmlHashTable;
typedef xmlHashTable *xmlHashTablePtr;

#ifdef __cplusplus
}
#endif

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Recent version of gcc produce a warning when a function pointer is assigned
 * to an object pointer, or vice versa.  The following macro is a dirty hack
 * to allow suppression of the warning.  If your architecture has function
 * pointers which are a different size than a void pointer, there may be some
 * serious trouble within the library.
 */
/**
 * XML_CAST_FPTR:
 * @fptr:  pointer to a function
 *
 * Macro to do a casting from an object pointer to a
 * function pointer without encountering a warning from
 * gcc
 *
 * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
 * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
 * so it is disabled now
 */

#define XML_CAST_FPTR(fptr) fptr


/*
 * function types:
 */
/**
 * xmlHashDeallocator:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to free data from a hash.
 */
typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
/**
 * xmlHashCopier:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to copy data from a hash.
 *
 * Returns a copy of the data or NULL in case of error.
 */
typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
/**
 * xmlHashScanner:
 * @payload:  the data in the hash
 * @data:  extra scanner data
 * @name:  the name associated
 *
 * Callback when scanning data in a hash with the simple scanner.
 */
typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
/**
 * xmlHashScannerFull:
 * @payload:  the data in the hash
 * @data:  extra scanner data
 * @name:  the name associated
 * @name2:  the second name associated
 * @name3:  the third name associated
 *
 * Callback when scanning data in a hash with the full scanner.
 */
typedef void (*xmlHashScannerFull)(void *payload, void *data,
				   const xmlChar *name, const xmlChar *name2,
				   const xmlChar *name3);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreate	(int size);
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreateDict(int size,
					 xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlHashFree	(xmlHashTablePtr table,
					 xmlHashDeallocator f);
XMLPUBFUN void XMLCALL
			xmlHashDefaultDeallocator(void *entry,
					 const xmlChar *name);

/*
 * Add a new entry to the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashAddEntry	(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata,
					 xmlHashDeallocator f);

/*
 * Remove an entry from the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
                           xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, xmlHashDeallocator f);
XMLPUBFUN int  XMLCALL
			xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, const xmlChar *name3,
                            xmlHashDeallocator f);

/*
 * Retrieve the userdata.
 */
XMLPUBFUN void * XMLCALL
			xmlHashLookup	(xmlHashTablePtr table,
					 const xmlChar *name);
XMLPUBFUN void * XMLCALL
			xmlHashLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2);
XMLPUBFUN void * XMLCALL
			xmlHashLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2,
					 const xmlChar *name3,
					 const xmlChar *prefix3);

/*
 * Helpers.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCopy	(xmlHashTablePtr table,
					 xmlHashCopier f);
XMLPUBFUN int XMLCALL
			xmlHashSize	(xmlHashTablePtr table);
XMLPUBFUN void XMLCALL
			xmlHashScan	(xmlHashTablePtr table,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScan3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull	(xmlHashTablePtr table,
					 xmlHashScannerFull f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull3(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScannerFull f,
					 void *data);
#ifdef __cplusplus
}
#endif
#endif /* ! __XML_HASH_H__ */
include/libxml2/libxml/threads.h000064400000003704150505765360012652 0ustar00/**
 * Summary: interfaces for thread handling
 * Description: set of generic threading related routines
 *              should work with pthreads, Windows native or TLS threads
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_THREADS_H__
#define __XML_THREADS_H__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlMutex are a simple mutual exception locks.
 */
typedef struct _xmlMutex xmlMutex;
typedef xmlMutex *xmlMutexPtr;

/*
 * xmlRMutex are reentrant mutual exception locks.
 */
typedef struct _xmlRMutex xmlRMutex;
typedef xmlRMutex *xmlRMutexPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/globals.h>
#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN xmlMutexPtr XMLCALL
			xmlNewMutex	(void);
XMLPUBFUN void XMLCALL
			xmlMutexLock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlMutexUnlock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeMutex	(xmlMutexPtr tok);

XMLPUBFUN xmlRMutexPtr XMLCALL
			xmlNewRMutex	(void);
XMLPUBFUN void XMLCALL
			xmlRMutexLock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlRMutexUnlock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeRMutex	(xmlRMutexPtr tok);

/*
 * Library wide APIs.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlInitThreads	(void);
XMLPUBFUN void XMLCALL
			xmlLockLibrary	(void);
XMLPUBFUN void XMLCALL
			xmlUnlockLibrary(void);
XMLPUBFUN int XMLCALL
			xmlGetThreadId	(void);
XMLPUBFUN int XMLCALL
			xmlIsMainThread	(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlCleanupThreads(void);
XMLPUBFUN xmlGlobalStatePtr XMLCALL
			xmlGetGlobalState(void);

#ifdef HAVE_PTHREAD_H
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
#if defined(LIBXML_STATIC_FOR_DLL)
int XMLCALL
xmlDllMain(void *hinstDLL, unsigned long fdwReason,
           void *lpvReserved);
#endif
#endif

#ifdef __cplusplus
}
#endif


#endif /* __XML_THREADS_H__ */
include/libxml2/libxml/HTMLparser.h000064400000022302150505765370013175 0ustar00/*
 * Summary: interface for an HTML 4.0 non-verifying parser
 * Description: this module implements an HTML 4.0 non-verifying parser
 *              with API compatible with the XML parser ones. It should
 *              be able to parse "real world" HTML, even if severely
 *              broken from a specification point of view.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_PARSER_H__
#define __HTML_PARSER_H__
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Most of the back-end structures from XML and HTML are shared.
 */
typedef xmlParserCtxt htmlParserCtxt;
typedef xmlParserCtxtPtr htmlParserCtxtPtr;
typedef xmlParserNodeInfo htmlParserNodeInfo;
typedef xmlSAXHandler htmlSAXHandler;
typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
typedef xmlParserInput htmlParserInput;
typedef xmlParserInputPtr htmlParserInputPtr;
typedef xmlDocPtr htmlDocPtr;
typedef xmlNodePtr htmlNodePtr;

/*
 * Internal description of an HTML element, representing HTML 4.01
 * and XHTML 1.0 (which share the same structure).
 */
typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
    const char *name;	/* The tag name */
    char startTag;      /* Whether the start tag can be implied */
    char endTag;        /* Whether the end tag can be implied */
    char saveEndTag;    /* Whether the end tag should be saved */
    char empty;         /* Is this an empty element ? */
    char depr;          /* Is this a deprecated element ? */
    char dtd;           /* 1: only in Loose DTD, 2: only Frameset one */
    char isinline;      /* is this a block 0 or inline 1 element */
    const char *desc;   /* the description */

/* NRK Jan.2003
 * New fields encapsulating HTML structure
 *
 * Bugs:
 *	This is a very limited representation.  It fails to tell us when
 *	an element *requires* subelements (we only have whether they're
 *	allowed or not), and it doesn't tell us where CDATA and PCDATA
 *	are allowed.  Some element relationships are not fully represented:
 *	these are flagged with the word MODIFIER
 */
    const char** subelts;		/* allowed sub-elements of this element */
    const char* defaultsubelt;	/* subelement for suggested auto-repair
					   if necessary or NULL */
    const char** attrs_opt;		/* Optional Attributes */
    const char** attrs_depr;		/* Additional deprecated attributes */
    const char** attrs_req;		/* Required attributes */
};

/*
 * Internal description of an HTML entity.
 */
typedef struct _htmlEntityDesc htmlEntityDesc;
typedef htmlEntityDesc *htmlEntityDescPtr;
struct _htmlEntityDesc {
    unsigned int value;	/* the UNICODE value for the character */
    const char *name;	/* The entity name */
    const char *desc;   /* the description */
};

/*
 * There is only few public functions.
 */
XMLPUBFUN const htmlElemDesc * XMLCALL
			htmlTagLookup	(const xmlChar *tag);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityLookup(const xmlChar *name);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityValueLookup(unsigned int value);

XMLPUBFUN int XMLCALL
			htmlIsAutoClosed(htmlDocPtr doc,
					 htmlNodePtr elem);
XMLPUBFUN int XMLCALL
			htmlAutoCloseTag(htmlDocPtr doc,
					 const xmlChar *name,
					 htmlNodePtr elem);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlParseEntityRef(htmlParserCtxtPtr ctxt,
					 const xmlChar **str);
XMLPUBFUN int XMLCALL
			htmlParseCharRef(htmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			htmlParseElement(htmlParserCtxtPtr ctxt);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlNewParserCtxt(void);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreateMemoryParserCtxt(const char *buffer,
						   int size);

XMLPUBFUN int XMLCALL
			htmlParseDocument(htmlParserCtxtPtr ctxt);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseDoc	(const xmlChar *cur,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseDoc	(const xmlChar *cur,
					 const char *encoding);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseFile(const char *filename,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseFile	(const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
			UTF8ToHtml	(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
XMLPUBFUN int XMLCALL
			htmlEncodeEntities(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen, int quoteChar);
XMLPUBFUN int XMLCALL
			htmlIsScriptAttribute(const xmlChar *name);
XMLPUBFUN int XMLCALL
			htmlHandleOmittedElem(int val);

#ifdef LIBXML_PUSH_ENABLED
/**
 * Interfaces for the Push mode.
 */
XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
						 void *user_data,
						 const char *chunk,
						 int size,
						 const char *filename,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			htmlParseChunk		(htmlParserCtxtPtr ctxt,
						 const char *chunk,
						 int size,
						 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

XMLPUBFUN void XMLCALL
			htmlFreeParserCtxt	(htmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    HTML_PARSE_RECOVER  = 1<<0, /* Relaxed parsing */
    HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */
    HTML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    HTML_PARSE_NOWARNING= 1<<6,	/* suppress warning reports */
    HTML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    HTML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    HTML_PARSE_NONET	= 1<<11,/* Forbid network access */
    HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */
    HTML_PARSE_COMPACT  = 1<<16,/* compact small text nodes */
    HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
} htmlParserOption;

XMLPUBFUN void XMLCALL
		htmlCtxtReset		(htmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		htmlCtxtUseOptions	(htmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/* NRK/Jan2003: further knowledge of HTML structure
 */
typedef enum {
  HTML_NA = 0 ,		/* something we don't check at all */
  HTML_INVALID = 0x1 ,
  HTML_DEPRECATED = 0x2 ,
  HTML_VALID = 0x4 ,
  HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */
} htmlStatus ;

/* Using htmlElemDesc rather than name here, to emphasise the fact
   that otherwise there's a lookup overhead
*/
XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
/**
 * htmlDefaultSubelement:
 * @elt: HTML element
 *
 * Returns the default subelement for this element
 */
#define htmlDefaultSubelement(elt) elt->defaultsubelt
/**
 * htmlElementAllowedHereDesc:
 * @parent: HTML parent element
 * @elt: HTML element
 *
 * Checks whether an HTML element description may be a
 * direct child of the specified element.
 *
 * Returns 1 if allowed; 0 otherwise.
 */
#define htmlElementAllowedHereDesc(parent,elt) \
	htmlElementAllowedHere((parent), (elt)->name)
/**
 * htmlRequiredAttrs:
 * @elt: HTML element
 *
 * Returns the attributes required for the specified element.
 */
#define htmlRequiredAttrs(elt) (elt)->attrs_req


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */
#endif /* __HTML_PARSER_H__ */
include/libxml2/libxml/nanoftp.h000064400000010054150505765370012662 0ustar00/*
 * Summary: minimal FTP implementation
 * Description: minimal FTP implementation allowing to fetch resources
 *              like external subset. This module is DEPRECATED, do not
 *              use any of its functions.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_FTP_H__
#define __NANO_FTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_FTP_ENABLED

/* Needed for portability to Windows 64 bits */
#if defined(_WIN32)
#include <winsock2.h>
#else
/**
 * SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 */
#define SOCKET int
/**
 * INVALID_SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 * the value to be used when the socket is not valid
 */
#undef  INVALID_SOCKET
#define INVALID_SOCKET (-1)
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * ftpListCallback:
 * @userData:  user provided data for the callback
 * @filename:  the file name (including "->" when links are shown)
 * @attrib:  the attribute string
 * @owner:  the owner string
 * @group:  the group string
 * @size:  the file size
 * @links:  the link count
 * @year:  the year
 * @month:  the month
 * @day:  the day
 * @hour:  the hour
 * @minute:  the minute
 *
 * A callback for the xmlNanoFTPList command.
 * Note that only one of year and day:minute are specified.
 */
typedef void (*ftpListCallback) (void *userData,
	                         const char *filename, const char *attrib,
	                         const char *owner, const char *group,
				 unsigned long size, int links, int year,
				 const char *month, int day, int hour,
				 int minute);
/**
 * ftpDataCallback:
 * @userData: the user provided context
 * @data: the data received
 * @len: its size in bytes
 *
 * A callback for the xmlNanoFTPGet command.
 */
typedef void (*ftpDataCallback) (void *userData,
				 const char *data,
				 int len);

/*
 * Init
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPInit		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPCleanup	(void);

/*
 * Creating/freeing contexts.
 */
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPNewCtxt	(const char *URL);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPFreeCtxt	(void * ctx);
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPConnectTo	(const char *server,
				 int port);
/*
 * Opening/closing session connections.
 */
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPOpen		(const char *URL);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPConnect	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPClose		(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPQuit		(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPScanProxy	(const char *URL);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPProxy		(const char *host,
				 int port,
				 const char *user,
				 const char *passwd,
				 int type);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPUpdateURL	(void *ctx,
				 const char *URL);

/*
 * Rather internal commands.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPGetResponse	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCheckResponse	(void *ctx);

/*
 * CD/DIR/GET handlers.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCwd		(void *ctx,
				 const char *directory);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPDele		(void *ctx,
				 const char *file);

XML_DEPRECATED
XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetConnection	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCloseConnection(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPList		(void *ctx,
				 ftpListCallback callback,
				 void *userData,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetSocket	(void *ctx,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPGet		(void *ctx,
				 ftpDataCallback callback,
				 void *userData,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPRead		(void *ctx,
				 void *dest,
				 int len);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_FTP_ENABLED */
#endif /* __NANO_FTP_H__ */
include/libxml2/libxml/relaxng.h000064400000013573150505765370012666 0ustar00/*
 * Summary: implementation of the Relax-NG validation
 * Description: implementation of the Relax-NG validation
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_RELAX_NG__
#define __XML_RELAX_NG__

#include <libxml/xmlversion.h>
#include <libxml/hash.h>
#include <libxml/xmlstring.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlRelaxNG xmlRelaxNG;
typedef xmlRelaxNG *xmlRelaxNGPtr;


/**
 * xmlRelaxNGValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
						      const char *msg,
						      ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlRelaxNGValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
							const char *msg,
							...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;

typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;

/*
 * xmlRelaxNGValidErr:
 *
 * List of possible Relax NG validation errors
 */
typedef enum {
    XML_RELAXNG_OK = 0,
    XML_RELAXNG_ERR_MEMORY,
    XML_RELAXNG_ERR_TYPE,
    XML_RELAXNG_ERR_TYPEVAL,
    XML_RELAXNG_ERR_DUPID,
    XML_RELAXNG_ERR_TYPECMP,
    XML_RELAXNG_ERR_NOSTATE,
    XML_RELAXNG_ERR_NODEFINE,
    XML_RELAXNG_ERR_LISTEXTRA,
    XML_RELAXNG_ERR_LISTEMPTY,
    XML_RELAXNG_ERR_INTERNODATA,
    XML_RELAXNG_ERR_INTERSEQ,
    XML_RELAXNG_ERR_INTEREXTRA,
    XML_RELAXNG_ERR_ELEMNAME,
    XML_RELAXNG_ERR_ATTRNAME,
    XML_RELAXNG_ERR_ELEMNONS,
    XML_RELAXNG_ERR_ATTRNONS,
    XML_RELAXNG_ERR_ELEMWRONGNS,
    XML_RELAXNG_ERR_ATTRWRONGNS,
    XML_RELAXNG_ERR_ELEMEXTRANS,
    XML_RELAXNG_ERR_ATTREXTRANS,
    XML_RELAXNG_ERR_ELEMNOTEMPTY,
    XML_RELAXNG_ERR_NOELEM,
    XML_RELAXNG_ERR_NOTELEM,
    XML_RELAXNG_ERR_ATTRVALID,
    XML_RELAXNG_ERR_CONTENTVALID,
    XML_RELAXNG_ERR_EXTRACONTENT,
    XML_RELAXNG_ERR_INVALIDATTR,
    XML_RELAXNG_ERR_DATAELEM,
    XML_RELAXNG_ERR_VALELEM,
    XML_RELAXNG_ERR_LISTELEM,
    XML_RELAXNG_ERR_DATATYPE,
    XML_RELAXNG_ERR_VALUE,
    XML_RELAXNG_ERR_LIST,
    XML_RELAXNG_ERR_NOGRAMMAR,
    XML_RELAXNG_ERR_EXTRADATA,
    XML_RELAXNG_ERR_LACKDATA,
    XML_RELAXNG_ERR_INTERNAL,
    XML_RELAXNG_ERR_ELEMWRONG,
    XML_RELAXNG_ERR_TEXTWRONG
} xmlRelaxNGValidErr;

/*
 * xmlRelaxNGParserFlags:
 *
 * List of possible Relax NG Parser flags
 */
typedef enum {
    XML_RELAXNGP_NONE = 0,
    XML_RELAXNGP_FREE_DOC = 1,
    XML_RELAXNGP_CRNG = 2
} xmlRelaxNGParserFlag;

XMLPUBFUN int XMLCALL
		    xmlRelaxNGInitTypes		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlRelaxNGCleanupTypes	(void);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewParserCtxt	(const char *URL);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
						 int size);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);

XMLPUBFUN int XMLCALL
		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
						 int flag);

XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserStructuredErrors(
					 xmlRelaxNGParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN xmlRelaxNGPtr XMLCALL
		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDump		(FILE *output,
					 xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDumpTree	(FILE * output,
					 xmlRelaxNGPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror, void *ctx);
XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
						 xmlDocPtr doc);
/*
 * Interfaces for progressive validation when possible
 */
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */

#endif /* __XML_RELAX_NG__ */
include/libxml2/libxml/dict.h000064400000003464150505765400012141 0ustar00/*
 * Summary: string dictionary
 * Description: dictionary of reusable strings, just used to avoid allocation
 *         and freeing operations.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_DICT_H__
#define __XML_DICT_H__

#include <stddef.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The dictionary.
 */
typedef struct _xmlDict xmlDict;
typedef xmlDict *xmlDictPtr;

/*
 * Initializer
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL  xmlInitializeDict(void);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreate	(void);
XMLPUBFUN size_t XMLCALL
			xmlDictSetLimit	(xmlDictPtr dict,
                                         size_t limit);
XMLPUBFUN size_t XMLCALL
			xmlDictGetUsage (xmlDictPtr dict);
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN int XMLCALL
			xmlDictReference(xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlDictFree	(xmlDictPtr dict);

/*
 * Lookup of entry in the dictionary.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictLookup	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictExists	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictQLookup	(xmlDictPtr dict,
		                         const xmlChar *prefix,
		                         const xmlChar *name);
XMLPUBFUN int XMLCALL
			xmlDictOwns	(xmlDictPtr dict,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
			xmlDictSize	(xmlDictPtr dict);

/*
 * Cleanup function
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                        xmlDictCleanup  (void);

#ifdef __cplusplus
}
#endif
#endif /* ! __XML_DICT_H__ */
include/libxml2/libxml/valid.h000064400000032515150505765400012314 0ustar00/*
 * Summary: The DTD validation
 * Description: API for the DTD handling and the validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_VALID_H__
#define __XML_VALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/list.h>
#include <libxml/xmlautomata.h>
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Validation state added for non-determinist content model.
 */
typedef struct _xmlValidState xmlValidState;
typedef xmlValidState *xmlValidStatePtr;

/**
 * xmlValidityErrorFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity error is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
			     const char *msg,
			     ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlValidityWarningFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity warning is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
			       const char *msg,
			       ...) LIBXML_ATTR_FORMAT(2,3);

#ifdef IN_LIBXML
/**
 * XML_VCTXT_DTD_VALIDATED:
 *
 * Set after xmlValidateDtdFinal was called.
 */
#define XML_VCTXT_DTD_VALIDATED (1u << 0)
/**
 * XML_VCTXT_USE_PCTXT:
 *
 * Set if the validation context is part of a parser context.
 */
#define XML_VCTXT_USE_PCTXT (1u << 1)
#endif

/*
 * xmlValidCtxt:
 * An xmlValidCtxt is used for error reporting when validating.
 */
typedef struct _xmlValidCtxt xmlValidCtxt;
typedef xmlValidCtxt *xmlValidCtxtPtr;
struct _xmlValidCtxt {
    void *userData;			/* user specific data block */
    xmlValidityErrorFunc error;		/* the callback in case of errors */
    xmlValidityWarningFunc warning;	/* the callback in case of warning */

    /* Node analysis stack used when validating within entities */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    unsigned int         flags;       /* internal flags */
    xmlDocPtr              doc;       /* the document */
    int                  valid;       /* temporary validity check result */

    /* state state used for non-determinist content validation */
    xmlValidState     *vstate;        /* current state */
    int                vstateNr;      /* Depth of the validation stack */
    int                vstateMax;     /* Max depth of the validation stack */
    xmlValidState     *vstateTab;     /* array of validation states */

#ifdef LIBXML_REGEXP_ENABLED
    xmlAutomataPtr            am;     /* the automata */
    xmlAutomataStatePtr    state;     /* used to build the automata */
#else
    void                     *am;
    void                  *state;
#endif
};

/*
 * ALL notation declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;

/*
 * ALL element declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;

/*
 * ALL attribute declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;

/*
 * ALL IDs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;

/*
 * ALL Refs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;

/* Notation */
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *PublicID,
					 const xmlChar *SystemID);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNotationTablePtr XMLCALL
		xmlCopyNotationTable	(xmlNotationTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeNotationTable	(xmlNotationTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpNotationDecl	(xmlBufferPtr buf,
					 xmlNotationPtr nota);
XMLPUBFUN void XMLCALL
		xmlDumpNotationTable	(xmlBufferPtr buf,
					 xmlNotationTablePtr table);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Element Content */
/* the non Doc version are being deprecated */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewElementContent	(const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyElementContent	(xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeElementContent	(xmlElementContentPtr cur);
/* the new versions with doc argument */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewDocElementContent	(xmlDocPtr doc,
					 const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr cur);
XMLPUBFUN void XMLCALL
		xmlSnprintfElementContent(char *buf,
					 int size,
	                                 xmlElementContentPtr content,
					 int englob);
#ifdef LIBXML_OUTPUT_ENABLED
/* DEPRECATED */
XMLPUBFUN void XMLCALL
		xmlSprintfElementContent(char *buf,
	                                 xmlElementContentPtr content,
					 int englob);
#endif /* LIBXML_OUTPUT_ENABLED */
/* DEPRECATED */

/* Element */
XMLPUBFUN xmlElementPtr XMLCALL
		xmlAddElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 xmlElementTypeVal type,
					 xmlElementContentPtr content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlElementTablePtr XMLCALL
		xmlCopyElementTable	(xmlElementTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeElementTable	(xmlElementTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpElementTable	(xmlBufferPtr buf,
					 xmlElementTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpElementDecl	(xmlBufferPtr buf,
					 xmlElementPtr elem);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Enumeration */
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCreateEnumeration	(const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlFreeEnumeration	(xmlEnumerationPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCopyEnumeration	(xmlEnumerationPtr cur);
#endif /* LIBXML_TREE_ENABLED */

/* Attribute */
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *ns,
					 xmlAttributeType type,
					 xmlAttributeDefault def,
					 const xmlChar *defaultValue,
					 xmlEnumerationPtr tree);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlAttributeTablePtr XMLCALL
		xmlCopyAttributeTable  (xmlAttributeTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeAttributeTable  (xmlAttributeTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpAttributeTable  (xmlBufferPtr buf,
					xmlAttributeTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpAttributeDecl   (xmlBufferPtr buf,
					xmlAttributePtr attr);
#endif /* LIBXML_OUTPUT_ENABLED */

/* IDs */
XMLPUBFUN xmlIDPtr XMLCALL
		xmlAddID	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XMLPUBFUN void XMLCALL
		xmlFreeIDTable	       (xmlIDTablePtr table);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlGetID	       (xmlDocPtr doc,
					const xmlChar *ID);
XMLPUBFUN int XMLCALL
		xmlIsID		       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XMLPUBFUN int XMLCALL
		xmlRemoveID	       (xmlDocPtr doc,
					xmlAttrPtr attr);

/* IDREFs */
XML_DEPRECATED
XMLPUBFUN xmlRefPtr XMLCALL
		xmlAddRef	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlFreeRefTable	       (xmlRefTablePtr table);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlIsRef	       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlRemoveRef	       (xmlDocPtr doc,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN xmlListPtr XMLCALL
		xmlGetRefs	       (xmlDocPtr doc,
					const xmlChar *ID);

/**
 * The public function calls related to validity checking.
 */
#ifdef LIBXML_VALID_ENABLED
/* Allocate/Release Validation Contexts */
XMLPUBFUN xmlValidCtxtPtr XMLCALL
		xmlNewValidCtxt(void);
XMLPUBFUN void XMLCALL
		xmlFreeValidCtxt(xmlValidCtxtPtr);

XMLPUBFUN int XMLCALL
		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlElementPtr elem);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidNormalizeAttributeValue(xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlAttributePtr attr);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeValue(xmlAttributeType type,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNotationPtr nota);
XMLPUBFUN int XMLCALL
		xmlValidateDtd		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlDtdPtr dtd);
XMLPUBFUN int XMLCALL
		xmlValidateDtdFinal	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateDocument	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneAttribute	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr	elem,
					 xmlAttrPtr attr,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateOneNamespace	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *prefix,
					 xmlNsPtr ns,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
#endif /* LIBXML_VALID_ENABLED */

#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 const xmlChar *notationName);
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */

XMLPUBFUN int XMLCALL
		xmlIsMixedElement	(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdQAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlGetDtdNotationDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdQElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);

#ifdef LIBXML_VALID_ENABLED

XMLPUBFUN int XMLCALL
		xmlValidGetPotentialChildren(xmlElementContent *ctree,
					 const xmlChar **names,
					 int *len,
					 int max);

XMLPUBFUN int XMLCALL
		xmlValidGetValidElements(xmlNode *prev,
					 xmlNode *next,
					 const xmlChar **names,
					 int max);
XMLPUBFUN int XMLCALL
		xmlValidateNameValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNamesValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokenValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokensValue(const xmlChar *value);

#ifdef LIBXML_REGEXP_ENABLED
/*
 * Validation based on the regexp support
 */
XMLPUBFUN int XMLCALL
		xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
					 xmlElementPtr elem);

XMLPUBFUN int XMLCALL
		xmlValidatePushElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
XMLPUBFUN int XMLCALL
		xmlValidatePushCData	(xmlValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		xmlValidatePopElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
#endif /* LIBXML_REGEXP_ENABLED */
#endif /* LIBXML_VALID_ENABLED */
#ifdef __cplusplus
}
#endif
#endif /* __XML_VALID_H__ */
include/libxml2/libxml/xmlwriter.h000064400000051421150505765400013247 0ustar00/*
 * Summary: text writing API for XML
 * Description: text writing API for XML
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Alfred Mickautsch <alfred@mickautsch.de>
 */

#ifndef __XML_XMLWRITER_H__
#define __XML_XMLWRITER_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_WRITER_ENABLED

#include <stdarg.h>
#include <libxml/xmlIO.h>
#include <libxml/list.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

    typedef struct _xmlTextWriter xmlTextWriter;
    typedef xmlTextWriter *xmlTextWriterPtr;

/*
 * Constructors & Destructor
 */
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriter(xmlOutputBufferPtr out);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterFilename(const char *uri, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
                             int compression);
    XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);

/*
 * Functions
 */


/*
 * Document
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDocument(xmlTextWriterPtr writer,
                                   const char *version,
                                   const char *encoding,
                                   const char *standalone);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
                                                   writer);

/*
 * Comments
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
                                                    writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar *
                                                    content);

/*
 * Elements
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartElement(xmlTextWriterPtr writer,
                                  const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
                                                      writer);

/*
 * Elements conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                        const xmlChar * name,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
                                         const xmlChar * name,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * name,
                                                    const xmlChar *
                                                    content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                          const xmlChar * prefix,
                                          const xmlChar * name,
                                          const xmlChar * namespaceURI,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
                                           const xmlChar * prefix,
                                           const xmlChar * name,
                                           const xmlChar * namespaceURI,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI,
                                                      const xmlChar *
                                                      content);

/*
 * Text
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
                                 const xmlChar * content, int len);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
                              const xmlChar * content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
                                                         writer,
                                                         const char
                                                         *format, ...)
							 LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
                                                          writer,
                                                          const char
                                                          *format,
                                                          va_list argptr)
							  LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
                                                   const xmlChar *
                                                   content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);

/*
 * Attributes
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
                                    const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
                                                    writer);

/*
 * Attributes conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                          const xmlChar * name,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                            const xmlChar * prefix,
                                            const xmlChar * name,
                                            const xmlChar * namespaceURI,
                                            const char *format, ...)
					    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
                                             const xmlChar * prefix,
                                             const xmlChar * name,
                                             const xmlChar * namespaceURI,
                                             const char *format,
                                             va_list argptr)
					     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI,
                                                        const xmlChar *
                                                        content);

/*
 * PI's
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartPI(xmlTextWriterPtr writer,
                             const xmlChar * target);
    XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);

/*
 * PI conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
                                   const xmlChar * target,
                                   const char *format, ...)
				   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
                                    const xmlChar * target,
                                    const char *format, va_list argptr)
				    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWritePI(xmlTextWriterPtr writer,
                             const xmlChar * target,
                             const xmlChar * content);

/**
 * xmlTextWriterWriteProcessingInstruction:
 *
 * This macro maps to xmlTextWriterWritePI
 */
#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI

/*
 * CDATA
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);

/*
 * CDATA conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
                                      const char *format, ...)
				      LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
                                       const char *format, va_list argptr)
				       LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
                                const xmlChar * content);

/*
 * DTD
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);

/*
 * DTD conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                                    const xmlChar * name,
                                    const xmlChar * pubid,
                                    const xmlChar * sysid,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
                                     const xmlChar * name,
                                     const xmlChar * pubid,
                                     const xmlChar * sysid,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid,
                              const xmlChar * subset);

/**
 * xmlTextWriterWriteDocType:
 *
 * this macro maps to xmlTextWriterWriteDTD
 */
#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD

/*
 * DTD element definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
                                                     writer);

/*
 * DTD element definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD attribute list definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
                                                     writer);

/*
 * DTD attribute list definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD entity definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
                                    int pe, const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
                                                    writer);

/*
 * DTD entity definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                  int pe,
                                                  const xmlChar * name,
                                                  const char *format, ...)
						  LIBXML_ATTR_FORMAT(4,5);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                   int pe,
                                                   const xmlChar * name,
                                                   const char *format,
                                                   va_list argptr)
						   LIBXML_ATTR_FORMAT(4,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * pubid,
                                            const xmlChar * sysid,
                                            const xmlChar * ndataid);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * pubid,
                                                    const xmlChar * sysid,
                                                    const xmlChar *
                                                    ndataid);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
                                                      writer, int pe,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      pubid,
                                                      const xmlChar *
                                                      sysid,
                                                      const xmlChar *
                                                      ndataid,
                                                      const xmlChar *
                                                      content);

/*
 * DTD notation definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
                                      const xmlChar * name,
                                      const xmlChar * pubid,
                                      const xmlChar * sysid);

/*
 * Indentation
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
                                     const xmlChar * str);

    XMLPUBFUN int XMLCALL
        xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);


/*
 * misc
 */
    XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_WRITER_ENABLED */

#endif                          /* __XML_XMLWRITER_H__ */
include/libxml2/libxml/parserInternals.h000064400000042277150505765410014400 0ustar00/*
 * Summary: internals routines and limits exported by the parser.
 * Description: this module exports a number of internal parsing routines
 *              they are not really all intended for applications but
 *              can prove useful doing low level processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_INTERNALS_H__
#define __XML_PARSER_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/HTMLparser.h>
#include <libxml/chvalid.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserMaxDepth:
 *
 * arbitrary depth limit for the XML documents that we allow to
 * process. This is not a limitation of the parser but a safety
 * boundary feature, use XML_PARSE_HUGE option to override it.
 */
XMLPUBVAR unsigned int xmlParserMaxDepth;

/**
 * XML_MAX_TEXT_LENGTH:
 *
 * Maximum size allowed for a single text node when building a tree.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_TEXT_LENGTH 10000000

/**
 * XML_MAX_NAME_LENGTH:
 *
 * Maximum size allowed for a markup identifier.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Note that with the use of parsing dictionaries overriding the limit
 * may result in more runtime memory usage in face of "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_NAME_LENGTH 50000

/**
 * XML_MAX_DICTIONARY_LIMIT:
 *
 * Maximum size allowed by the parser for a dictionary by default
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_DICTIONARY_LIMIT 10000000

/**
 * XML_MAX_LOOKUP_LIMIT:
 *
 * Maximum size allowed by the parser for ahead lookup
 * This is an upper boundary enforced by the parser to avoid bad
 * behaviour on "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_LOOKUP_LIMIT 10000000

/**
 * XML_MAX_NAMELEN:
 *
 * Identifiers can be longer, but this will be more costly
 * at runtime.
 */
#define XML_MAX_NAMELEN 100

/**
 * INPUT_CHUNK:
 *
 * The parser tries to always have that amount of input ready.
 * One of the point is providing context when reporting errors.
 */
#define INPUT_CHUNK	250

/************************************************************************
 *									*
 * UNICODE version of the macros.					*
 *									*
 ************************************************************************/
/**
 * IS_BYTE_CHAR:
 * @c:  an byte value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20...]
 * any byte character in the accepted range
 */
#define IS_BYTE_CHAR(c)	 xmlIsChar_ch(c)

/**
 * IS_CHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
 *                  | [#x10000-#x10FFFF]
 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
 */
#define IS_CHAR(c)   xmlIsCharQ(c)

/**
 * IS_CHAR_CH:
 * @c: an xmlChar (usually an unsigned char)
 *
 * Behaves like IS_CHAR on single-byte value
 */
#define IS_CHAR_CH(c)  xmlIsChar_ch(c)

/**
 * IS_BLANK:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [3] S ::= (#x20 | #x9 | #xD | #xA)+
 */
#define IS_BLANK(c)  xmlIsBlankQ(c)

/**
 * IS_BLANK_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Behaviour same as IS_BLANK
 */
#define IS_BLANK_CH(c)  xmlIsBlank_ch(c)

/**
 * IS_BASECHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [85] BaseChar ::= ... long list see REC ...
 */
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)

/**
 * IS_DIGIT:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [88] Digit ::= ... long list see REC ...
 */
#define IS_DIGIT(c) xmlIsDigitQ(c)

/**
 * IS_DIGIT_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_DIGIT but with a single byte argument
 */
#define IS_DIGIT_CH(c)  xmlIsDigit_ch(c)

/**
 * IS_COMBINING:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [87] CombiningChar ::= ... long list see REC ...
 */
#define IS_COMBINING(c) xmlIsCombiningQ(c)

/**
 * IS_COMBINING_CH:
 * @c:  an xmlChar (usually an unsigned char)
 *
 * Always false (all combining chars > 0xff)
 */
#define IS_COMBINING_CH(c) 0

/**
 * IS_EXTENDER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
 *                   #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
 *                   [#x309D-#x309E] | [#x30FC-#x30FE]
 */
#define IS_EXTENDER(c) xmlIsExtenderQ(c)

/**
 * IS_EXTENDER_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_EXTENDER but with a single-byte argument
 */
#define IS_EXTENDER_CH(c)  xmlIsExtender_ch(c)

/**
 * IS_IDEOGRAPHIC:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
 */
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)

/**
 * IS_LETTER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [84] Letter ::= BaseChar | Ideographic
 */
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))

/**
 * IS_LETTER_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Macro behaves like IS_LETTER, but only check base chars
 *
 */
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)

/**
 * IS_ASCII_LETTER:
 * @c: an xmlChar value
 *
 * Macro to check [a-zA-Z]
 *
 */
#define IS_ASCII_LETTER(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)))

/**
 * IS_ASCII_DIGIT:
 * @c: an xmlChar value
 *
 * Macro to check [0-9]
 *
 */
#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))

/**
 * IS_PUBIDCHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
 */
#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)

/**
 * IS_PUBIDCHAR_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Same as IS_PUBIDCHAR but for single-byte value
 */
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)

/**
 * SKIP_EOL:
 * @p:  and UTF8 string pointer
 *
 * Skips the end of line chars.
 */
#define SKIP_EOL(p)							\
    if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }			\
    if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }

/**
 * MOVETO_ENDTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '>' char.
 */
#define MOVETO_ENDTAG(p)						\
    while ((*p) && (*(p) != '>')) (p)++

/**
 * MOVETO_STARTTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '<' char.
 */
#define MOVETO_STARTTAG(p)						\
    while ((*p) && (*(p) != '<')) (p)++

/**
 * Global variables used for predefined strings.
 */
XMLPUBVAR const xmlChar xmlStringText[];
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
XMLPUBVAR const xmlChar xmlStringComment[];

/*
 * Function to finish the work of the macros where needed.
 */
XMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);

/**
 * Parser context.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateFileParserCtxt	(const char *filename);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateURLParserCtxt	(const char *filename,
						 int options);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateMemoryParserCtxt(const char *buffer,
						 int size);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateEntityParserCtxt(const xmlChar *URL,
						 const xmlChar *ID,
						 const xmlChar *base);
XMLPUBFUN int XMLCALL
			xmlSwitchEncoding	(xmlParserCtxtPtr ctxt,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			xmlSwitchToEncoding	(xmlParserCtxtPtr ctxt,
					 xmlCharEncodingHandlerPtr handler);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
			xmlSwitchInputEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input,
					 xmlCharEncodingHandlerPtr handler);

#ifdef IN_LIBXML
/* internal error reporting */
XMLPUBFUN void XMLCALL
			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserErrors xmlerr,
						 const char *msg,
						 const xmlChar * str1,
						 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0);
#endif

/**
 * Input Streams.
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewStringInputStream	(xmlParserCtxtPtr ctxt,
						 const xmlChar *buffer);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);
XMLPUBFUN int XMLCALL
			xmlPushInput		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input);
XMLPUBFUN xmlChar XMLCALL
			xmlPopInput		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlFreeInputStream	(xmlParserInputPtr input);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputFromFile	(xmlParserCtxtPtr ctxt,
						 const char *filename);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputStream	(xmlParserCtxtPtr ctxt);

/**
 * Namespaces.
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlSplitQName		(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlChar **prefix);

/**
 * Generic production rules.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseNmtoken		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEntityValue	(xmlParserCtxtPtr ctxt,
						 xmlChar **orig);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseAttValue	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseCharData	(xmlParserCtxtPtr ctxt,
						 int cdata);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseExternalID	(xmlParserCtxtPtr ctxt,
						 xmlChar **publicID,
						 int strict);
XMLPUBFUN void XMLCALL
			xmlParseComment		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParsePITarget	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePI		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseNotationDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEntityDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseDefaultDecl	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseNotationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseEnumerationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseEnumeratedType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN int XMLCALL
			xmlParseAttributeType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN void XMLCALL
			xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementMixedContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementChildrenContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN int XMLCALL
			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlElementContentPtr *result);
XMLPUBFUN int XMLCALL
			xmlParseElementDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMarkupDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseCharRef		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlParseEntityRef	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePEReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseDocTypeDecl	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseAttribute	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseStartTag	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEndTag		(xmlParserCtxtPtr ctxt);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN void XMLCALL
			xmlParseCDSect		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseContent		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseElement		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionNum	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionInfo	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEncName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseSDDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseXMLDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseTextDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMisc		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
/**
 * XML_SUBSTITUTE_NONE:
 *
 * If no entities need to be substituted.
 */
#define XML_SUBSTITUTE_NONE	0
/**
 * XML_SUBSTITUTE_REF:
 *
 * Whether general entities need to be substituted.
 */
#define XML_SUBSTITUTE_REF	1
/**
 * XML_SUBSTITUTE_PEREF:
 *
 * Whether parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_PEREF	2
/**
 * XML_SUBSTITUTE_BOTH:
 *
 * Both general and parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_BOTH	3

XMLPUBFUN xmlChar * XMLCALL
		xmlStringDecodeEntities		(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XMLPUBFUN xmlChar * XMLCALL
		xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);

/*
 * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
 */
XMLPUBFUN int XMLCALL			nodePush		(xmlParserCtxtPtr ctxt,
						 xmlNodePtr value);
XMLPUBFUN xmlNodePtr XMLCALL		nodePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			inputPush		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr value);
XMLPUBFUN xmlParserInputPtr XMLCALL	inputPop		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL	namePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			namePush		(xmlParserCtxtPtr ctxt,
						 const xmlChar *value);

/*
 * other commodities shared between parser.c and parserInternals.
 */
XMLPUBFUN int XMLCALL			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
						 const xmlChar *cur,
						 int *len);
XMLPUBFUN void XMLCALL			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlCheckLanguageID	(const xmlChar *lang);

/*
 * Really core function shared with HTML parser.
 */
XMLPUBFUN int XMLCALL			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
						 int *len);
XMLPUBFUN int XMLCALL		xmlCopyCharMultiByte	(xmlChar *out,
						 int val);
XMLPUBFUN int XMLCALL			xmlCopyChar		(int len,
						 xmlChar *out,
						 int val);
XMLPUBFUN void XMLCALL			xmlNextChar		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL			xmlParserInputShrink	(xmlParserInputPtr in);

#ifdef LIBXML_HTML_ENABLED
/*
 * Actually comes from the HTML parser but launched from the init stuff.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL			htmlInitAutoClose	(void);
XMLPUBFUN htmlParserCtxtPtr XMLCALL	htmlCreateFileParserCtxt(const char *filename,
	                                         const char *encoding);
#endif

/*
 * Specific function to keep track of entities references
 * and used by the XSLT debugger.
 */
#ifdef LIBXML_LEGACY_ENABLED
/**
 * xmlEntityReferenceFunc:
 * @ent: the entity
 * @firstNode:  the fist node in the chunk
 * @lastNode:  the last nod in the chunk
 *
 * Callback function used when one needs to be able to track back the
 * provenance of a chunk of nodes inherited from an entity replacement.
 */
typedef	void	(*xmlEntityReferenceFunc)	(xmlEntityPtr ent,
						 xmlNodePtr firstNode,
						 xmlNodePtr lastNode);

XML_DEPRECATED
XMLPUBFUN void XMLCALL		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);

XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlParseQuotedString	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                        xmlParseNamespace       (xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlScanName		(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN void XMLCALL	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt,
						 xmlChar **prefix);
/**
 * Entities
 */
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
		xmlDecodeEntities		(xmlParserCtxtPtr ctxt,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlHandleEntity		(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);

#endif /* LIBXML_LEGACY_ENABLED */

#ifdef IN_LIBXML
/*
 * internal only
 */
XMLPUBFUN void XMLCALL
	xmlErrMemory		(xmlParserCtxtPtr ctxt,
				 const char *extra);
#endif

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_INTERNALS_H__ */
include/libxml2/libxml/xmlreader.h000064400000030477150505765410013206 0ustar00/*
 * Summary: the XMLReader implementation
 * Description: API of the XML streaming API based on C# interfaces.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLREADER_H__
#define __XML_XMLREADER_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/xmlIO.h>
#ifdef LIBXML_SCHEMAS_ENABLED
#include <libxml/relaxng.h>
#include <libxml/xmlschemas.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserSeverities:
 *
 * How severe an error callback is when the per-reader error callback API
 * is used.
 */
typedef enum {
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
    XML_PARSER_SEVERITY_WARNING = 3,
    XML_PARSER_SEVERITY_ERROR = 4
} xmlParserSeverities;

#ifdef LIBXML_READER_ENABLED

/**
 * xmlTextReaderMode:
 *
 * Internal state values for the reader.
 */
typedef enum {
    XML_TEXTREADER_MODE_INITIAL = 0,
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
    XML_TEXTREADER_MODE_ERROR = 2,
    XML_TEXTREADER_MODE_EOF =3,
    XML_TEXTREADER_MODE_CLOSED = 4,
    XML_TEXTREADER_MODE_READING = 5
} xmlTextReaderMode;

/**
 * xmlParserProperties:
 *
 * Some common options to use with xmlTextReaderSetParserProp, but it
 * is better to use xmlParserOption and the xmlReaderNewxxx and
 * xmlReaderForxxx APIs now.
 */
typedef enum {
    XML_PARSER_LOADDTD = 1,
    XML_PARSER_DEFAULTATTRS = 2,
    XML_PARSER_VALIDATE = 3,
    XML_PARSER_SUBST_ENTITIES = 4
} xmlParserProperties;

/**
 * xmlReaderTypes:
 *
 * Predefined constants for the different types of nodes.
 */
typedef enum {
    XML_READER_TYPE_NONE = 0,
    XML_READER_TYPE_ELEMENT = 1,
    XML_READER_TYPE_ATTRIBUTE = 2,
    XML_READER_TYPE_TEXT = 3,
    XML_READER_TYPE_CDATA = 4,
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
    XML_READER_TYPE_ENTITY = 6,
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
    XML_READER_TYPE_COMMENT = 8,
    XML_READER_TYPE_DOCUMENT = 9,
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
    XML_READER_TYPE_NOTATION = 12,
    XML_READER_TYPE_WHITESPACE = 13,
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
    XML_READER_TYPE_END_ELEMENT = 15,
    XML_READER_TYPE_END_ENTITY = 16,
    XML_READER_TYPE_XML_DECLARATION = 17
} xmlReaderTypes;

/**
 * xmlTextReader:
 *
 * Structure for an xmlReader context.
 */
typedef struct _xmlTextReader xmlTextReader;

/**
 * xmlTextReaderPtr:
 *
 * Pointer to an xmlReader context.
 */
typedef xmlTextReader *xmlTextReaderPtr;

/*
 * Constructors & Destructor
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReader	(xmlParserInputBufferPtr input,
	                                         const char *URI);
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReaderFilename(const char *URI);

XMLPUBFUN void XMLCALL
			xmlFreeTextReader	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderSetup(xmlTextReaderPtr reader,
                   xmlParserInputBufferPtr input, const char *URL,
                   const char *encoding, int options);

/*
 * Iterators
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderRead	(xmlTextReaderPtr reader);

#ifdef LIBXML_WRITER_ENABLED
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
#endif

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadString	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);

/*
 * Attributes of the node
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderDepth	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasValue(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadState	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);

XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
						 const xmlChar *str);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);

/*
 * use the Const version of the routine for
 * better performance and simpler code
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderValue	(xmlTextReaderPtr reader);

/*
 * Methods of the XmlTextReader
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderClose		(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
						 const xmlChar *prefix);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);

/*
 * Extensions
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
						 int prop,
						 int value);
XMLPUBFUN int XMLCALL
		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
						 int prop);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);

XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
#ifdef LIBXML_PATTERN_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
						 const xmlChar *pattern,
						 const xmlChar **namespaces);
#endif /* LIBXML_PATTERN_ENABLED */
XMLPUBFUN xmlDocPtr XMLCALL
		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNext		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
#ifdef LIBXML_SCHEMAS_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
						 const char *rng);
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
						 xmlRelaxNGValidCtxtPtr ctxt,
						 int options);

XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
						 xmlRelaxNGPtr schema);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
						 const char *xsd);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
						 xmlSchemaValidCtxtPtr ctxt,
						 int options);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
						 xmlSchemaPtr schema);
#endif
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);


/*
 * Index lookup
 */
XMLPUBFUN long XMLCALL
		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);

/*
 * New more complete APIs for simpler creation and reuse of readers
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderWalker		(xmlDocPtr doc);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForDoc		(const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFile	(const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForMemory	(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

XMLPUBFUN int XMLCALL
		xmlReaderNewWalker	(xmlTextReaderPtr reader,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlReaderNewDoc		(xmlTextReaderPtr reader,
					 const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFile	(xmlTextReaderPtr reader,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewMemory	(xmlTextReaderPtr reader,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFd		(xmlTextReaderPtr reader,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewIO		(xmlTextReaderPtr reader,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
/*
 * Error handling extensions
 */
typedef void *  xmlTextReaderLocatorPtr;

/**
 * xmlTextReaderErrorFunc:
 * @arg: the user argument
 * @msg: the message
 * @severity: the severity of the error
 * @locator: a locator indicating where the error occurred
 *
 * Signature of an error callback from a reader parser
 */
typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
					       const char *msg,
					       xmlParserSeverities severity,
					       xmlTextReaderLocatorPtr locator);
XMLPUBFUN int XMLCALL
	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
XMLPUBFUN xmlChar * XMLCALL
	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc f,
					 void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
						   xmlStructuredErrorFunc f,
						   void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc *f,
					 void **arg);

#endif /* LIBXML_READER_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_XMLREADER_H__ */

include/libxml2/libxml/xmlexports.h000064400000002473150505765420013444 0ustar00/*
 * Summary: macros for marking symbols as exportable/importable.
 * Description: macros for marking symbols as exportable/importable.
 *
 * Copy: See Copyright for the status of this software.
 */

#ifndef __XML_EXPORTS_H__
#define __XML_EXPORTS_H__

#if defined(_WIN32) || defined(__CYGWIN__)
/** DOC_DISABLE */

#ifdef LIBXML_STATIC
  #define XMLPUBLIC
#elif defined(IN_LIBXML)
  #define XMLPUBLIC __declspec(dllexport)
#else
  #define XMLPUBLIC __declspec(dllimport)
#endif

#if defined(LIBXML_FASTCALL)
  #define XMLCALL __fastcall
#else
  #define XMLCALL __cdecl
#endif
#define XMLCDECL __cdecl

/** DOC_ENABLE */
#else /* not Windows */

/**
 * XMLPUBLIC:
 *
 * Macro which declares a public symbol
 */
#define XMLPUBLIC

/**
 * XMLCALL:
 *
 * Macro which declares the calling convention for exported functions
 */
#define XMLCALL

/**
 * XMLCDECL:
 *
 * Macro which declares the calling convention for exported functions that
 * use '...'.
 */
#define XMLCDECL

#endif /* platform switch */

/*
 * XMLPUBFUN:
 *
 * Macro which declares an exportable function
 */
#define XMLPUBFUN XMLPUBLIC

/**
 * XMLPUBVAR:
 *
 * Macro which declares an exportable variable
 */
#define XMLPUBVAR XMLPUBLIC extern

/* Compatibility */
#if !defined(LIBXML_DLL_IMPORT)
#define LIBXML_DLL_IMPORT XMLPUBVAR
#endif

#endif /* __XML_EXPORTS_H__ */


include/libxml2/libxml/chvalid.h000064400000012047150505765420012627 0ustar00/*
 * Summary: Unicode character range checking
 * Description: this module exports interfaces for the character
 *               range validation APIs
 *
 * This file is automatically generated from the cvs source
 * definition files using the genChRanges.py Python script
 *
 * Generation date: Mon Mar 27 11:09:48 2006
 * Sources: chvalid.def
 * Author: William Brack <wbrack@mmm.com.hk>
 */

#ifndef __XML_CHVALID_H__
#define __XML_CHVALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Define our typedefs and structures
 *
 */
typedef struct _xmlChSRange xmlChSRange;
typedef xmlChSRange *xmlChSRangePtr;
struct _xmlChSRange {
    unsigned short	low;
    unsigned short	high;
};

typedef struct _xmlChLRange xmlChLRange;
typedef xmlChLRange *xmlChLRangePtr;
struct _xmlChLRange {
    unsigned int	low;
    unsigned int	high;
};

typedef struct _xmlChRangeGroup xmlChRangeGroup;
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
struct _xmlChRangeGroup {
    int			nbShortRange;
    int			nbLongRange;
    const xmlChSRange	*shortRange;	/* points to an array of ranges */
    const xmlChLRange	*longRange;
};

/**
 * Range checking routine
 */
XMLPUBFUN int XMLCALL
		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);


/**
 * xmlIsBaseChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
				  (0xf8 <= (c)))

/**
 * xmlIsBaseCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
				 xmlIsBaseChar_ch((c)) : \
				 xmlCharInRange((c), &xmlIsBaseCharGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;

/**
 * xmlIsBlank_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlank_ch(c)	(((c) == 0x20) || \
				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd))

/**
 * xmlIsBlankQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlankQ(c)		(((c) < 0x100) ? \
				 xmlIsBlank_ch((c)) : 0)


/**
 * xmlIsChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd) || \
				  (0x20 <= (c)))

/**
 * xmlIsCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCharQ(c)		(((c) < 0x100) ? \
				 xmlIsChar_ch((c)) :\
				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))

XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;

/**
 * xmlIsCombiningQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
				 0 : \
				 xmlCharInRange((c), &xmlIsCombiningGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;

/**
 * xmlIsDigit_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))

/**
 * xmlIsDigitQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigitQ(c)		(((c) < 0x100) ? \
				 xmlIsDigit_ch((c)) : \
				 xmlCharInRange((c), &xmlIsDigitGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;

/**
 * xmlIsExtender_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtender_ch(c)	(((c) == 0xb7))

/**
 * xmlIsExtenderQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
				 xmlIsExtender_ch((c)) : \
				 xmlCharInRange((c), &xmlIsExtenderGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;

/**
 * xmlIsIdeographicQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
				 0 :\
				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
				 ((c) == 0x3007) || \
				 ((0x3021 <= (c)) && ((c) <= 0x3029))))

XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];

/**
 * xmlIsPubidChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])

/**
 * xmlIsPubidCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
				 xmlIsPubidChar_ch((c)) : 0)

XMLPUBFUN int XMLCALL
		xmlIsBaseChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsBlank(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsCombining(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsDigit(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsExtender(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsIdeographic(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsPubidChar(unsigned int ch);

#ifdef __cplusplus
}
#endif
#endif /* __XML_CHVALID_H__ */
include/libxml2/libxml/nanohttp.h000064400000003725150505765430013054 0ustar00/*
 * Summary: minimal HTTP implementation
 * Description: minimal HTTP implementation allowing to fetch resources
 *              like external subset.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_HTTP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN void XMLCALL
	xmlNanoHTTPInit		(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPCleanup	(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPScanProxy	(const char *URL);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPFetch	(const char *URL,
				 const char *filename,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethod	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethodRedir	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 char **redir,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpen		(const char *URL,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpenRedir	(const char *URL,
				 char **contentType,
				 char **redir);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPReturnCode	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPAuthHeader	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPRedir	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPContentLength( void * ctx );
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPEncoding	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPMimeType	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPRead		(void *ctx,
				 void *dest,
				 int len);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	xmlNanoHTTPSave		(void *ctxt,
				 const char *filename);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
	xmlNanoHTTPClose	(void *ctx);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTTP_ENABLED */
#endif /* __NANO_HTTP_H__ */
include/libxml2/libxml/xinclude.h000064400000005627150505765430013037 0ustar00/*
 * Summary: implementation of XInclude
 * Description: API to handle XInclude processing,
 * implements the
 * World Wide Web Consortium Last Call Working Draft 10 November 2003
 * http://www.w3.org/TR/2003/WD-xinclude-20031110
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XINCLUDE_H__
#define __XML_XINCLUDE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XINCLUDE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XINCLUDE_NS:
 *
 * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
 */
#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
/**
 * XINCLUDE_OLD_NS:
 *
 * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude
 */
#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
/**
 * XINCLUDE_NODE:
 *
 * Macro defining "include"
 */
#define XINCLUDE_NODE (const xmlChar *) "include"
/**
 * XINCLUDE_FALLBACK:
 *
 * Macro defining "fallback"
 */
#define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
/**
 * XINCLUDE_HREF:
 *
 * Macro defining "href"
 */
#define XINCLUDE_HREF (const xmlChar *) "href"
/**
 * XINCLUDE_PARSE:
 *
 * Macro defining "parse"
 */
#define XINCLUDE_PARSE (const xmlChar *) "parse"
/**
 * XINCLUDE_PARSE_XML:
 *
 * Macro defining "xml"
 */
#define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
/**
 * XINCLUDE_PARSE_TEXT:
 *
 * Macro defining "text"
 */
#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
/**
 * XINCLUDE_PARSE_ENCODING:
 *
 * Macro defining "encoding"
 */
#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
/**
 * XINCLUDE_PARSE_XPOINTER:
 *
 * Macro defining "xpointer"
 */
#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"

typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;

/*
 * standalone processing
 */
XMLPUBFUN int XMLCALL
		xmlXIncludeProcess	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlags	(xmlDocPtr doc,
					 int flags);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlagsData(xmlDocPtr doc,
					 int flags,
					 void *data);
XMLPUBFUN int XMLCALL
                xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
                                         int flags,
                                         void *data);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTree	(xmlNodePtr tree);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
					 int flags);
/*
 * contextual processing
 */
XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
		xmlXIncludeNewContext	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeSetFlags	(xmlXIncludeCtxtPtr ctxt,
					 int flags);
XMLPUBFUN void XMLCALL
		xmlXIncludeFreeContext	(xmlXIncludeCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessNode	(xmlXIncludeCtxtPtr ctxt,
					 xmlNodePtr tree);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XINCLUDE_ENABLED */

#endif /* __XML_XINCLUDE_H__ */
include/libxml2/libxml/xlink.h000064400000011662150505765440012346 0ustar00/*
 * Summary: unfinished XLink detection module
 * Description: unfinished XLink detection module
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XLINK_H__
#define __XML_XLINK_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XPTR_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Various defines for the various Link properties.
 *
 * NOTE: the link detection layer will try to resolve QName expansion
 *       of namespaces. If "foo" is the prefix for "http://foo.com/"
 *       then the link detection layer will expand role="foo:myrole"
 *       to "http://foo.com/:myrole".
 * NOTE: the link detection layer will expand URI-References found on
 *       href attributes by using the base mechanism if found.
 */
typedef xmlChar *xlinkHRef;
typedef xmlChar *xlinkRole;
typedef xmlChar *xlinkTitle;

typedef enum {
    XLINK_TYPE_NONE = 0,
    XLINK_TYPE_SIMPLE,
    XLINK_TYPE_EXTENDED,
    XLINK_TYPE_EXTENDED_SET
} xlinkType;

typedef enum {
    XLINK_SHOW_NONE = 0,
    XLINK_SHOW_NEW,
    XLINK_SHOW_EMBED,
    XLINK_SHOW_REPLACE
} xlinkShow;

typedef enum {
    XLINK_ACTUATE_NONE = 0,
    XLINK_ACTUATE_AUTO,
    XLINK_ACTUATE_ONREQUEST
} xlinkActuate;

/**
 * xlinkNodeDetectFunc:
 * @ctx:  user data pointer
 * @node:  the node to check
 *
 * This is the prototype for the link detection routine.
 * It calls the default link detection callbacks upon link detection.
 */
typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);

/*
 * The link detection module interact with the upper layers using
 * a set of callback registered at parsing time.
 */

/**
 * xlinkSimpleLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @href:  the target of the link
 * @role:  the role string
 * @title:  the link title
 *
 * This is the prototype for a simple link detection callback.
 */
typedef void
(*xlinkSimpleLinkFunk)	(void *ctx,
			 xmlNodePtr node,
			 const xlinkHRef href,
			 const xlinkRole role,
			 const xlinkTitle title);

/**
 * xlinkExtendedLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbArcs: the number of arcs detected on the link
 * @from:  pointer to the array of source roles found on the arcs
 * @to:  pointer to the array of target roles found on the arcs
 * @show:  array of values for the show attributes found on the arcs
 * @actuate:  array of values for the actuate attributes found on the arcs
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link detection callback.
 */
typedef void
(*xlinkExtendedLinkFunk)(void *ctx,
			 xmlNodePtr node,
			 int nbLocators,
			 const xlinkHRef *hrefs,
			 const xlinkRole *roles,
			 int nbArcs,
			 const xlinkRole *from,
			 const xlinkRole *to,
			 xlinkShow *show,
			 xlinkActuate *actuate,
			 int nbTitles,
			 const xlinkTitle *titles,
			 const xmlChar **langs);

/**
 * xlinkExtendedLinkSetFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link set detection callback.
 */
typedef void
(*xlinkExtendedLinkSetFunk)	(void *ctx,
				 xmlNodePtr node,
				 int nbLocators,
				 const xlinkHRef *hrefs,
				 const xlinkRole *roles,
				 int nbTitles,
				 const xlinkTitle *titles,
				 const xmlChar **langs);

/**
 * This is the structure containing a set of Links detection callbacks.
 *
 * There is no default xlink callbacks, if one want to get link
 * recognition activated, those call backs must be provided before parsing.
 */
typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
    xlinkSimpleLinkFunk simple;
    xlinkExtendedLinkFunk extended;
    xlinkExtendedLinkSetFunk set;
};

/*
 * The default detection routine, can be overridden, they call the default
 * detection callbacks.
 */

XMLPUBFUN xlinkNodeDetectFunc XMLCALL
		xlinkGetDefaultDetect	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultDetect	(xlinkNodeDetectFunc func);

/*
 * Routines to set/get the default handlers.
 */
XMLPUBFUN xlinkHandlerPtr XMLCALL
		xlinkGetDefaultHandler	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultHandler	(xlinkHandlerPtr handler);

/*
 * Link detection module itself.
 */
XMLPUBFUN xlinkType XMLCALL
		xlinkIsLink		(xmlDocPtr doc,
					 xmlNodePtr node);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */

#endif /* __XML_XLINK_H__ */
include/libxml2/libxml/xmlregexp.h000064400000012522150505765440013230 0ustar00/*
 * Summary: regular expressions handling
 * Description: basic API for libxml regular expressions handling used
 *              for XML Schemas and validation.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_REGEXP_H__
#define __XML_REGEXP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_REGEXP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlRegexpPtr:
 *
 * A libxml regular expression, they can actually be far more complex
 * thank the POSIX regex expressions.
 */
typedef struct _xmlRegexp xmlRegexp;
typedef xmlRegexp *xmlRegexpPtr;

/**
 * xmlRegExecCtxtPtr:
 *
 * A libxml progressive regular expression evaluation context
 */
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#include <libxml/dict.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * The POSIX like API
 */
XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlRegexpCompile	(const xmlChar *regexp);
XMLPUBFUN void XMLCALL			 xmlRegFreeRegexp(xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpExec	(xmlRegexpPtr comp,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		    xmlRegexpPrint	(FILE *output,
					 xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpIsDeterminist(xmlRegexpPtr comp);

/**
 * xmlRegExecCallbacks:
 * @exec: the regular expression context
 * @token: the current token string
 * @transdata: transition data
 * @inputdata: input data
 *
 * Callback function when doing a transition in the automata
 */
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
	                             const xmlChar *token,
				     void *transdata,
				     void *inputdata);

/*
 * The progressive API
 */
XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
		    xmlRegNewExecCtxt	(xmlRegexpPtr comp,
					 xmlRegExecCallbacks callback,
					 void *data);
XMLPUBFUN void XMLCALL
		    xmlRegFreeExecCtxt	(xmlRegExecCtxtPtr exec);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 void *data);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 const xmlChar *value2,
					 void *data);

XMLPUBFUN int XMLCALL
		    xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
XMLPUBFUN int XMLCALL
		    xmlRegExecErrInfo	(xmlRegExecCtxtPtr exec,
					 const xmlChar **string,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
#ifdef LIBXML_EXPR_ENABLED
/*
 * Formal regular expression handling
 * Its goal is to do some formal work on content models
 */

/* expressions are used within a context */
typedef struct _xmlExpCtxt xmlExpCtxt;
typedef xmlExpCtxt *xmlExpCtxtPtr;

XMLPUBFUN void XMLCALL
			xmlExpFreeCtxt	(xmlExpCtxtPtr ctxt);
XMLPUBFUN xmlExpCtxtPtr XMLCALL
			xmlExpNewCtxt	(int maxNodes,
					 xmlDictPtr dict);

XMLPUBFUN int XMLCALL
			xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);

/* Expressions are trees but the tree is opaque */
typedef struct _xmlExpNode xmlExpNode;
typedef xmlExpNode *xmlExpNodePtr;

typedef enum {
    XML_EXP_EMPTY = 0,
    XML_EXP_FORBID = 1,
    XML_EXP_ATOM = 2,
    XML_EXP_SEQ = 3,
    XML_EXP_OR = 4,
    XML_EXP_COUNT = 5
} xmlExpNodeType;

/*
 * 2 core expressions shared by all for the empty language set
 * and for the set with just the empty token
 */
XMLPUBVAR xmlExpNodePtr forbiddenExp;
XMLPUBVAR xmlExpNodePtr emptyExp;

/*
 * Expressions are reference counted internally
 */
XMLPUBFUN void XMLCALL
			xmlExpFree	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr);
XMLPUBFUN void XMLCALL
			xmlExpRef	(xmlExpNodePtr expr);

/*
 * constructors can be either manual or from a string
 */
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpParse	(xmlExpCtxtPtr ctxt,
					 const char *expr);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewAtom	(xmlExpCtxtPtr ctxt,
					 const xmlChar *name,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewOr	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewSeq	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewRange	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr subset,
					 int min,
					 int max);
/*
 * The really interesting APIs
 */
XMLPUBFUN int XMLCALL
			xmlExpIsNillable(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpMaxToken	(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**langList,
					 int len);
XMLPUBFUN int XMLCALL
			xmlExpGetStart	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**tokList,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpStringDerive(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar *str,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN int XMLCALL
			xmlExpSubsume	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN void XMLCALL
			xmlExpDump	(xmlBufferPtr buf,
					 xmlExpNodePtr expr);
#endif /* LIBXML_EXPR_ENABLED */
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_REGEXP_ENABLED */

#endif /*__XML_REGEXP_H__ */
include/libxml2/libxml/catalog.h000064400000011452150505765450012631 0ustar00/**
 * Summary: interfaces to the Catalog handling system
 * Description: the catalog module implements the support for
 * XML Catalogs and SGML catalogs
 *
 * SGML Open Technical Resolution TR9401:1997.
 * http://www.jclark.com/sp/catalog.htm
 *
 * XML Catalogs Working Draft 06 August 2001
 * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CATALOG_H__
#define __XML_CATALOG_H__

#include <stdio.h>

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>
#include <libxml/tree.h>

#ifdef LIBXML_CATALOG_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_CATALOGS_NAMESPACE:
 *
 * The namespace for the XML Catalogs elements.
 */
#define XML_CATALOGS_NAMESPACE					\
    (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
/**
 * XML_CATALOG_PI:
 *
 * The specific XML Catalog Processing Instruction name.
 */
#define XML_CATALOG_PI						\
    (const xmlChar *) "oasis-xml-catalog"

/*
 * The API is voluntarily limited to general cataloging.
 */
typedef enum {
    XML_CATA_PREFER_NONE = 0,
    XML_CATA_PREFER_PUBLIC = 1,
    XML_CATA_PREFER_SYSTEM
} xmlCatalogPrefer;

typedef enum {
    XML_CATA_ALLOW_NONE = 0,
    XML_CATA_ALLOW_GLOBAL = 1,
    XML_CATA_ALLOW_DOCUMENT = 2,
    XML_CATA_ALLOW_ALL = 3
} xmlCatalogAllow;

typedef struct _xmlCatalog xmlCatalog;
typedef xmlCatalog *xmlCatalogPtr;

/*
 * Operations on a given catalog.
 */
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlNewCatalog		(int sgml);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadACatalog		(const char *filename);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadSGMLSuperCatalog	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlConvertSGMLCatalog	(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlACatalogAdd		(xmlCatalogPtr catal,
					 const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlACatalogRemove	(xmlCatalogPtr catal,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolve	(xmlCatalogPtr catal,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveSystem(xmlCatalogPtr catal,
					 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolvePublic(xmlCatalogPtr catal,
					 const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveURI	(xmlCatalogPtr catal,
					 const xmlChar *URI);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlACatalogDump		(xmlCatalogPtr catal,
					 FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeCatalog		(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlCatalogIsEmpty	(xmlCatalogPtr catal);

/*
 * Global operations.
 */
XMLPUBFUN void XMLCALL
		xmlInitializeCatalog	(void);
XMLPUBFUN int XMLCALL
		xmlLoadCatalog		(const char *filename);
XMLPUBFUN void XMLCALL
		xmlLoadCatalogs		(const char *paths);
XMLPUBFUN void XMLCALL
		xmlCatalogCleanup	(void);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlCatalogDump		(FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolve	(const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveSystem	(const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolvePublic	(const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveURI	(const xmlChar *URI);
XMLPUBFUN int XMLCALL
		xmlCatalogAdd		(const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlCatalogRemove	(const xmlChar *value);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseCatalogFile	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlCatalogConvert	(void);

/*
 * Strictly minimal interfaces for per-document catalogs used
 * by the parser.
 */
XMLPUBFUN void XMLCALL
		xmlCatalogFreeLocal	(void *catalogs);
XMLPUBFUN void * XMLCALL
		xmlCatalogAddLocal	(void *catalogs,
					 const xmlChar *URL);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolve	(void *catalogs,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolveURI(void *catalogs,
					 const xmlChar *URI);
/*
 * Preference settings.
 */
XMLPUBFUN int XMLCALL
		xmlCatalogSetDebug	(int level);
XMLPUBFUN xmlCatalogPrefer XMLCALL
		xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
XMLPUBFUN void XMLCALL
		xmlCatalogSetDefaults	(xmlCatalogAllow allow);
XMLPUBFUN xmlCatalogAllow XMLCALL
		xmlCatalogGetDefaults	(void);


/* DEPRECATED interfaces */
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetSystem	(const xmlChar *sysID);
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetPublic	(const xmlChar *pubID);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_CATALOG_ENABLED */
#endif /* __XML_CATALOG_H__ */
include/libxml2/libxml/HTMLtree.h000064400000007076150505765450012652 0ustar00/*
 * Summary: specific APIs to process HTML tree, especially serialization
 * Description: this module implements a few function needed to process
 *              tree in an HTML specific way.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_TREE_H__
#define __HTML_TREE_H__

#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/HTMLparser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif


/**
 * HTML_TEXT_NODE:
 *
 * Macro. A text node in a HTML document is really implemented
 * the same way as a text node in an XML document.
 */
#define HTML_TEXT_NODE		XML_TEXT_NODE
/**
 * HTML_ENTITY_REF_NODE:
 *
 * Macro. An entity reference in a HTML document is really implemented
 * the same way as an entity reference in an XML document.
 */
#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE
/**
 * HTML_COMMENT_NODE:
 *
 * Macro. A comment in a HTML document is really implemented
 * the same way as a comment in an XML document.
 */
#define HTML_COMMENT_NODE	XML_COMMENT_NODE
/**
 * HTML_PRESERVE_NODE:
 *
 * Macro. A preserved node in a HTML document is really implemented
 * the same way as a CDATA section in an XML document.
 */
#define HTML_PRESERVE_NODE	XML_CDATA_SECTION_NODE
/**
 * HTML_PI_NODE:
 *
 * Macro. A processing instruction in a HTML document is really implemented
 * the same way as a processing instruction in an XML document.
 */
#define HTML_PI_NODE		XML_PI_NODE

XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDoc		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDocNoDtD		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN const xmlChar * XMLCALL
		htmlGetMetaEncoding	(htmlDocPtr doc);
XMLPUBFUN int XMLCALL
		htmlSetMetaEncoding	(htmlDocPtr doc,
					 const xmlChar *encoding);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		htmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN int XMLCALL
		htmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		htmlNodeDumpFile	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDumpFileFormat	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN int XMLCALL
		htmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		htmlSaveFileFormat	(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN void XMLCALL
		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN int XMLCALL
		htmlIsBooleanAttr	(const xmlChar *name);


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */

#endif /* __HTML_TREE_H__ */

include/libxml2/libxml/debugXML.h000064400000012040150505765460012661 0ustar00/*
 * Summary: Tree debugging APIs
 * Description: Interfaces to a set of routines used for debugging the tree
 *              produced by the XML parser.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __DEBUG_XML__
#define __DEBUG_XML__
#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_DEBUG_ENABLED

#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The standard Dump routines.
 */
XMLPUBFUN void XMLCALL
	xmlDebugDumpString	(FILE *output,
				 const xmlChar *str);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttr	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttrList	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpOneNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNodeList	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocumentHead(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocument	(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDTD		(FILE *output,
				 xmlDtdPtr dtd);
XMLPUBFUN void XMLCALL
	xmlDebugDumpEntities	(FILE *output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			Checking routines			*
 *								*
 ****************************************************************/

XMLPUBFUN int XMLCALL
	xmlDebugCheckDocument	(FILE * output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			XML shell helpers			*
 *								*
 ****************************************************************/

XMLPUBFUN void XMLCALL
	xmlLsOneNode		(FILE *output, xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlLsCountNode		(xmlNodePtr node);

XMLPUBFUN const char * XMLCALL
	xmlBoolToText		(int boolval);

/****************************************************************
 *								*
 *	 The XML shell related structures and functions		*
 *								*
 ****************************************************************/

#ifdef LIBXML_XPATH_ENABLED
/**
 * xmlShellReadlineFunc:
 * @prompt:  a string prompt
 *
 * This is a generic signature for the XML shell input function.
 *
 * Returns a string which will be freed by the Shell.
 */
typedef char * (* xmlShellReadlineFunc)(char *prompt);

/**
 * xmlShellCtxt:
 *
 * A debugging shell context.
 * TODO: add the defined function tables.
 */
typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
    char *filename;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlXPathContextPtr pctxt;
    int loaded;
    FILE *output;
    xmlShellReadlineFunc input;
};

/**
 * xmlShellCmd:
 * @ctxt:  a shell context
 * @arg:  a string argument
 * @node:  a first node
 * @node2:  a second node
 *
 * This is a generic signature for the XML shell functions.
 *
 * Returns an int, negative returns indicating errors.
 */
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
                             char *arg,
			     xmlNodePtr node,
			     xmlNodePtr node2);

XMLPUBFUN void XMLCALL
	xmlShellPrintXPathError	(int errorType,
				 const char *arg);
XMLPUBFUN void XMLCALL
	xmlShellPrintXPathResult(xmlXPathObjectPtr list);
XMLPUBFUN int XMLCALL
	xmlShellList		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellBase		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellDir		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellLoad		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	xmlShellPrintNode	(xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlShellCat		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellWrite		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellSave		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN int XMLCALL
	xmlShellValidate	(xmlShellCtxtPtr ctxt,
				 char *dtd,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_VALID_ENABLED */
XMLPUBFUN int XMLCALL
	xmlShellDu		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr tree,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellPwd		(xmlShellCtxtPtr ctxt,
				 char *buffer,
				 xmlNodePtr node,
				 xmlNodePtr node2);

/*
 * The Shell interface.
 */
XMLPUBFUN void XMLCALL
	xmlShell		(xmlDocPtr doc,
				 char *filename,
				 xmlShellReadlineFunc input,
				 FILE *output);

#endif /* LIBXML_XPATH_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_DEBUG_ENABLED */
#endif /* __DEBUG_XML__ */
include/libxml2/libxml/xmlunicode.h000064400000023411150505765460013365 0ustar00/*
 * Summary: Unicode character APIs
 * Description: API for the Unicode character APIs
 *
 * This file is automatically generated from the
 * UCS description files of the Unicode Character Database
 * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html
 * using the genUnicode.py Python script.
 *
 * Generation date: Mon Mar 27 11:09:52 2006
 * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt
 * Author: Daniel Veillard
 */

#ifndef __XML_UNICODE_H__
#define __XML_UNICODE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_UNICODE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArmenian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBengali	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBlockElements	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBuhid	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCherokee	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsControlPictures	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDeseret	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDevanagari	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDingbats	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEthiopic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeorgian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGothic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreek	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGujarati	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHanunoo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHebrew	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHiragana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKanbun	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKannada	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmer	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLao	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLimbu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMalayalam	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMongolian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMyanmar	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsNumberForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOgham	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOldItalic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOriya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOsmanya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsRunic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsShavian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSinhala	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpecials	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSyriac	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagalog	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTags	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiLe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTamil	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTelugu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThaana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThai	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTibetan	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUgaritic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsBlock	(int code, const char *block);

XMLPUBFUN int XMLCALL xmlUCSIsCatC	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatL	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLt	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatM	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMn	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatN	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatP	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatS	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSk	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZ	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZp	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZs	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsCat	(int code, const char *cat);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_UNICODE_ENABLED */

#endif /* __XML_UNICODE_H__ */
include/libxml2/libxml/globals.h000064400000034133150505765470012645 0ustar00/*
 * Summary: interface for all global variables of the library
 * Description: all the global variables and thread handling for
 *              those variables is handled by this module.
 *
 * The bottom of this file is automatically generated by build_glob.py
 * based on the description file global.data
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
 */

#ifndef __XML_GLOBALS_H
#define __XML_GLOBALS_H

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/xmlerror.h>
#include <libxml/SAX2.h>
#include <libxml/xmlmemory.h>

#ifdef __cplusplus
extern "C" {
#endif

XML_DEPRECATED
XMLPUBFUN void XMLCALL xmlInitGlobals(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);

/**
 * xmlParserInputBufferCreateFilenameFunc:
 * @URI: the URI to read from
 * @enc: the requested source encoding
 *
 * Signature for the function doing the lookup for a suitable input method
 * corresponding to an URI.
 *
 * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
									   xmlCharEncoding enc);


/**
 * xmlOutputBufferCreateFilenameFunc:
 * @URI: the URI to write to
 * @enc: the requested target encoding
 *
 * Signature for the function doing the lookup for a suitable output method
 * corresponding to an URI.
 *
 * Returns the new xmlOutputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
								 xmlCharEncodingHandlerPtr encoder,
								 int compression);

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
XMLPUBFUN xmlOutputBufferCreateFilenameFunc
XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);

/*
 * Externally global symbols which need to be protected for backwards
 * compatibility support.
 */

#undef	htmlDefaultSAXHandler
#undef	oldXMLWDcompatibility
#undef	xmlBufferAllocScheme
#undef	xmlDefaultBufferSize
#undef	xmlDefaultSAXHandler
#undef	xmlDefaultSAXLocator
#undef	xmlDoValidityCheckingDefaultValue
#undef	xmlFree
#undef	xmlGenericError
#undef	xmlStructuredError
#undef	xmlGenericErrorContext
#undef	xmlStructuredErrorContext
#undef	xmlGetWarningsDefaultValue
#undef	xmlIndentTreeOutput
#undef  xmlTreeIndentString
#undef	xmlKeepBlanksDefaultValue
#undef	xmlLineNumbersDefaultValue
#undef	xmlLoadExtDtdDefaultValue
#undef	xmlMalloc
#undef	xmlMallocAtomic
#undef	xmlMemStrdup
#undef	xmlParserDebugEntities
#undef	xmlParserVersion
#undef	xmlPedanticParserDefaultValue
#undef	xmlRealloc
#undef	xmlSaveNoEmptyTags
#undef	xmlSubstituteEntitiesDefaultValue
#undef  xmlRegisterNodeDefaultValue
#undef  xmlDeregisterNodeDefaultValue
#undef  xmlLastError
#undef  xmlParserInputBufferCreateFilenameValue
#undef  xmlOutputBufferCreateFilenameValue

/**
 * xmlRegisterNodeFunc:
 * @node: the current node
 *
 * Signature for the registration callback of a created node
 */
typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
/**
 * xmlDeregisterNodeFunc:
 * @node: the current node
 *
 * Signature for the deregistration callback of a discarded node
 */
typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);

typedef struct _xmlGlobalState xmlGlobalState;
typedef xmlGlobalState *xmlGlobalStatePtr;
struct _xmlGlobalState
{
	const char *xmlParserVersion;

	xmlSAXLocator xmlDefaultSAXLocator;
	xmlSAXHandlerV1 xmlDefaultSAXHandler;
	xmlSAXHandlerV1 docbDefaultSAXHandler; /* unused */
	xmlSAXHandlerV1 htmlDefaultSAXHandler;

	xmlFreeFunc xmlFree;
	xmlMallocFunc xmlMalloc;
	xmlStrdupFunc xmlMemStrdup;
	xmlReallocFunc xmlRealloc;

	xmlGenericErrorFunc xmlGenericError;
	xmlStructuredErrorFunc xmlStructuredError;
	void *xmlGenericErrorContext;

	int oldXMLWDcompatibility;

	xmlBufferAllocationScheme xmlBufferAllocScheme;
	int xmlDefaultBufferSize;

	int xmlSubstituteEntitiesDefaultValue;
	int xmlDoValidityCheckingDefaultValue;
	int xmlGetWarningsDefaultValue;
	int xmlKeepBlanksDefaultValue;
	int xmlLineNumbersDefaultValue;
	int xmlLoadExtDtdDefaultValue;
	int xmlParserDebugEntities;
	int xmlPedanticParserDefaultValue;

	int xmlSaveNoEmptyTags;
	int xmlIndentTreeOutput;
	const char *xmlTreeIndentString;

	xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
	xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;

	xmlMallocFunc xmlMallocAtomic;
	xmlError xmlLastError;

	xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
	xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;

	void *xmlStructuredErrorContext;
};

#ifdef __cplusplus
}
#endif
#include <libxml/threads.h>
#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN void XMLCALL	xmlInitializeGlobalState(xmlGlobalStatePtr gs);

XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);

XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);

XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);

XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
	xmlThrDefParserInputBufferCreateFilenameDefault(
				xmlParserInputBufferCreateFilenameFunc func);

/** DOC_DISABLE */
/*
 * In general the memory allocation entry points are not kept
 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
 *    - xmlMalloc
 *    - xmlMallocAtomic
 *    - xmlRealloc
 *    - xmlMemStrdup
 *    - xmlFree
 */

#ifdef LIBXML_THREAD_ALLOC_ENABLED
#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
#define xmlMalloc \
(*(__xmlMalloc()))
#else
XMLPUBVAR xmlMallocFunc xmlMalloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
#define xmlMallocAtomic \
(*(__xmlMallocAtomic()))
#else
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
#define xmlRealloc \
(*(__xmlRealloc()))
#else
XMLPUBVAR xmlReallocFunc xmlRealloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
#define xmlFree \
(*(__xmlFree()))
#else
XMLPUBVAR xmlFreeFunc xmlFree;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
#define xmlMemStrdup \
(*(__xmlMemStrdup()))
#else
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif

#else /* !LIBXML_THREAD_ALLOC_ENABLED */
XMLPUBVAR xmlMallocFunc xmlMalloc;
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
XMLPUBVAR xmlReallocFunc xmlRealloc;
XMLPUBVAR xmlFreeFunc xmlFree;
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif /* LIBXML_THREAD_ALLOC_ENABLED */

#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define htmlDefaultSAXHandler \
(*(__htmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
#endif
#endif

XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLastError \
(*(__xmlLastError()))
#else
XMLPUBVAR xmlError xmlLastError;
#endif

/*
 * Everything starting from the line below is
 * Automatically generated by build_glob.py.
 * Do not modify the previous line.
 */


XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
#ifdef LIBXML_THREAD_ENABLED
#define oldXMLWDcompatibility \
(*(__oldXMLWDcompatibility()))
#else
XMLPUBVAR int oldXMLWDcompatibility;
#endif

XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlBufferAllocScheme \
(*(__xmlBufferAllocScheme()))
#else
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
#endif
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
	xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);

XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultBufferSize \
(*(__xmlDefaultBufferSize()))
#else
XMLPUBVAR int xmlDefaultBufferSize;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);

XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXHandler \
(*(__xmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
#endif

XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXLocator \
(*(__xmlDefaultSAXLocator()))
#else
XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
#endif

XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDoValidityCheckingDefaultValue \
(*(__xmlDoValidityCheckingDefaultValue()))
#else
XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);

XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericError \
(*(__xmlGenericError()))
#else
XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
#endif

XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredError \
(*(__xmlStructuredError()))
#else
XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
#endif

XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericErrorContext \
(*(__xmlGenericErrorContext()))
#else
XMLPUBVAR void * xmlGenericErrorContext;
#endif

XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredErrorContext \
(*(__xmlStructuredErrorContext()))
#else
XMLPUBVAR void * xmlStructuredErrorContext;
#endif

XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGetWarningsDefaultValue \
(*(__xmlGetWarningsDefaultValue()))
#else
XMLPUBVAR int xmlGetWarningsDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlIndentTreeOutput \
(*(__xmlIndentTreeOutput()))
#else
XMLPUBVAR int xmlIndentTreeOutput;
#endif
XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);

XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlTreeIndentString \
(*(__xmlTreeIndentString()))
#else
XMLPUBVAR const char * xmlTreeIndentString;
#endif
XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);

XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlKeepBlanksDefaultValue \
(*(__xmlKeepBlanksDefaultValue()))
#else
XMLPUBVAR int xmlKeepBlanksDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLineNumbersDefaultValue \
(*(__xmlLineNumbersDefaultValue()))
#else
XMLPUBVAR int xmlLineNumbersDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLoadExtDtdDefaultValue \
(*(__xmlLoadExtDtdDefaultValue()))
#else
XMLPUBVAR int xmlLoadExtDtdDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserDebugEntities \
(*(__xmlParserDebugEntities()))
#else
XMLPUBVAR int xmlParserDebugEntities;
#endif
XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);

XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserVersion \
(*(__xmlParserVersion()))
#else
XMLPUBVAR const char * xmlParserVersion;
#endif

XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlPedanticParserDefaultValue \
(*(__xmlPedanticParserDefaultValue()))
#else
XMLPUBVAR int xmlPedanticParserDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSaveNoEmptyTags \
(*(__xmlSaveNoEmptyTags()))
#else
XMLPUBVAR int xmlSaveNoEmptyTags;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);

XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSubstituteEntitiesDefaultValue \
(*(__xmlSubstituteEntitiesDefaultValue()))
#else
XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);

XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlRegisterNodeDefaultValue \
(*(__xmlRegisterNodeDefaultValue()))
#else
XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
#endif

XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDeregisterNodeDefaultValue \
(*(__xmlDeregisterNodeDefaultValue()))
#else
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
#endif

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
				__xmlParserInputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserInputBufferCreateFilenameValue \
(*(__xmlParserInputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
#endif

XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlOutputBufferCreateFilenameValue \
(*(__xmlOutputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
#endif

#ifdef __cplusplus
}
#endif

#endif /* __XML_GLOBALS_H */
include/libxml2/libxml/entities.h000064400000011206150505765470013042 0ustar00/*
 * Summary: interface for the XML entities handling
 * Description: this module provides some of the entity API needed
 *              for the parser and applications.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_ENTITIES_H__
#define __XML_ENTITIES_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The different valid entity types.
 */
typedef enum {
    XML_INTERNAL_GENERAL_ENTITY = 1,
    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
    XML_INTERNAL_PARAMETER_ENTITY = 4,
    XML_EXTERNAL_PARAMETER_ENTITY = 5,
    XML_INTERNAL_PREDEFINED_ENTITY = 6
} xmlEntityType;

/*
 * An unit of storage for an entity, contains the string, the value
 * and the linkind data needed for the linking in the hash table.
 */

struct _xmlEntity {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
    const xmlChar          *name;	/* Entity name */
    struct _xmlNode    *children;	/* First child link */
    struct _xmlNode        *last;	/* Last child link */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlChar                *orig;	/* content without ref substitution */
    xmlChar             *content;	/* content or ndata if unparsed */
    int                   length;	/* the content length */
    xmlEntityType          etype;	/* The entity type */
    const xmlChar    *ExternalID;	/* External identifier for PUBLIC */
    const xmlChar      *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */

    struct _xmlEntity     *nexte;	/* unused */
    const xmlChar           *URI;	/* the full URI as computed */
    int                    owner;	/* does the entity own the childrens */
    int			 checked;	/* was the entity content checked */
					/* this is also used to count entities
					 * references done from that entity
					 * and if it contains '<' */
};

/*
 * All entities are stored in an hash table.
 * There is 2 separate hash tables for global and parameter entities.
 */

typedef struct _xmlHashTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;

/*
 * External functions:
 */

#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlInitializePredefinedEntities	(void);
#endif /* LIBXML_LEGACY_ENABLED */

XMLPUBFUN xmlEntityPtr XMLCALL
			xmlNewEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDocEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetPredefinedEntity	(const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDocEntity		(const xmlDoc *doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetParameterEntity	(xmlDocPtr doc,
						 const xmlChar *name);
#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
			xmlEncodeEntities	(xmlDocPtr doc,
						 const xmlChar *input);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeEntitiesReentrant(xmlDocPtr doc,
						 const xmlChar *input);
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeSpecialChars	(const xmlDoc *doc,
						 const xmlChar *input);
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCreateEntitiesTable	(void);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCopyEntitiesTable	(xmlEntitiesTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
			xmlFreeEntitiesTable	(xmlEntitiesTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
			xmlDumpEntitiesTable	(xmlBufferPtr buf,
						 xmlEntitiesTablePtr table);
XMLPUBFUN void XMLCALL
			xmlDumpEntityDecl	(xmlBufferPtr buf,
						 xmlEntityPtr ent);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN void XMLCALL
			xmlCleanupPredefinedEntities(void);
#endif /* LIBXML_LEGACY_ENABLED */


#ifdef __cplusplus
}
#endif

# endif /* __XML_ENTITIES_H__ */
include/libxml2/libxml/parser.h000064400000115503150505765500012511 0ustar00/*
 * Summary: the core parser module
 * Description: Interfaces, constants and types related to the XML parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_H__
#define __XML_PARSER_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/hash.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_DEFAULT_VERSION:
 *
 * The default version of XML used: 1.0
 */
#define XML_DEFAULT_VERSION	"1.0"

/**
 * xmlParserInput:
 *
 * An xmlParserInput is an input flow for the XML processor.
 * Each entity parsed is associated an xmlParserInput (except the
 * few predefined ones). This is the case both for internal entities
 * - in which case the flow is already completely in memory - or
 * external entities - in which case we use the buf structure for
 * progressive reading and I18N conversions to the internal UTF-8 format.
 */

/**
 * xmlParserInputDeallocate:
 * @str:  the string to deallocate
 *
 * Callback for freeing some parser input allocations.
 */
typedef void (* xmlParserInputDeallocate)(xmlChar *str);

struct _xmlParserInput {
    /* Input buffer */
    xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */

    const char *filename;             /* The file analyzed, if any */
    const char *directory;            /* the directory/base of the file */
    const xmlChar *base;              /* Base of the array to parse */
    const xmlChar *cur;               /* Current char being parsed */
    const xmlChar *end;               /* end of the array to parse */
    int length;                       /* length if known */
    int line;                         /* Current line */
    int col;                          /* Current column */
    /*
     * NOTE: consumed is only tested for equality in the parser code,
     *       so even if there is an overflow this should not give troubles
     *       for parsing very large instances.
     */
    unsigned long consumed;           /* How many xmlChars already consumed */
    xmlParserInputDeallocate free;    /* function to deallocate the base */
    const xmlChar *encoding;          /* the encoding string for entity */
    const xmlChar *version;           /* the version string for entity */
    int standalone;                   /* Was that entity marked standalone */
    int id;                           /* an unique identifier for the entity */
};

/**
 * xmlParserNodeInfo:
 *
 * The parser can be asked to collect Node information, i.e. at what
 * place in the file they were detected.
 * NOTE: This is off by default and not very well tested.
 */
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;

struct _xmlParserNodeInfo {
  const struct _xmlNode* node;
  /* Position & line # that text that created the node begins & ends on */
  unsigned long begin_pos;
  unsigned long begin_line;
  unsigned long end_pos;
  unsigned long end_line;
};

typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
struct _xmlParserNodeInfoSeq {
  unsigned long maximum;
  unsigned long length;
  xmlParserNodeInfo* buffer;
};

/**
 * xmlParserInputState:
 *
 * The parser is now working also as a state based parser.
 * The recursive one use the state info for entities processing.
 */
typedef enum {
    XML_PARSER_EOF = -1,	/* nothing is to be parsed */
    XML_PARSER_START = 0,	/* nothing has been parsed */
    XML_PARSER_MISC,		/* Misc* before int subset */
    XML_PARSER_PI,		/* Within a processing instruction */
    XML_PARSER_DTD,		/* within some DTD content */
    XML_PARSER_PROLOG,		/* Misc* after internal subset */
    XML_PARSER_COMMENT,		/* within a comment */
    XML_PARSER_START_TAG,	/* within a start tag */
    XML_PARSER_CONTENT,		/* within the content */
    XML_PARSER_CDATA_SECTION,	/* within a CDATA section */
    XML_PARSER_END_TAG,		/* within a closing tag */
    XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
    XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
    XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
    XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
    XML_PARSER_EPILOG,		/* the Misc* after the last end tag */
    XML_PARSER_IGNORE,		/* within an IGNORED section */
    XML_PARSER_PUBLIC_LITERAL	/* within a PUBLIC value */
} xmlParserInputState;

/**
 * XML_DETECT_IDS:
 *
 * Bit in the loadsubset context field to tell to do ID/REFs lookups.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_DETECT_IDS		2

/**
 * XML_COMPLETE_ATTRS:
 *
 * Bit in the loadsubset context field to tell to do complete the
 * elements attributes lists with the ones defaulted from the DTDs.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_COMPLETE_ATTRS	4

/**
 * XML_SKIP_IDS:
 *
 * Bit in the loadsubset context field to tell to not do ID/REFs registration.
 * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
 */
#define XML_SKIP_IDS		8

/**
 * xmlParserMode:
 *
 * A parser can operate in various modes
 */
typedef enum {
    XML_PARSE_UNKNOWN = 0,
    XML_PARSE_DOM = 1,
    XML_PARSE_SAX = 2,
    XML_PARSE_PUSH_DOM = 3,
    XML_PARSE_PUSH_SAX = 4,
    XML_PARSE_READER = 5
} xmlParserMode;

typedef struct _xmlStartTag xmlStartTag;

/**
 * xmlParserCtxt:
 *
 * The parser context.
 * NOTE This doesn't completely define the parser state, the (current ?)
 *      design of the parser uses recursive function calls since this allow
 *      and easy mapping from the production rules of the specification
 *      to the actual code. The drawback is that the actual function call
 *      also reflect the parser state. However most of the parsing routines
 *      takes as the only argument the parser context pointer, so migrating
 *      to a state based parser for progressive parsing shouldn't be too hard.
 */
struct _xmlParserCtxt {
    struct _xmlSAXHandler *sax;       /* The SAX handler */
    void            *userData;        /* For SAX interface only, used by DOM build */
    xmlDocPtr           myDoc;        /* the document being built */
    int            wellFormed;        /* is the document well formed */
    int       replaceEntities;        /* shall we replace entities ? */
    const xmlChar    *version;        /* the XML version string */
    const xmlChar   *encoding;        /* the declared encoding, if any */
    int            standalone;        /* standalone document */
    int                  html;        /* an HTML(1) document
                                       * 3 is HTML after <head>
                                       * 10 is HTML after <body>
                                       */

    /* Input stream stack */
    xmlParserInputPtr  input;         /* Current input stream */
    int                inputNr;       /* Number of current input streams */
    int                inputMax;      /* Max number of input streams */
    xmlParserInputPtr *inputTab;      /* stack of inputs */

    /* Node analysis stack only used for DOM building */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    int record_info;                  /* Whether node info should be kept */
    xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */

    int errNo;                        /* error code */

    int     hasExternalSubset;        /* reference and external subset */
    int             hasPErefs;        /* the internal subset has PE refs */
    int              external;        /* are we parsing an external entity */

    int                 valid;        /* is the document valid */
    int              validate;        /* shall we try to validate ? */
    xmlValidCtxt        vctxt;        /* The validity context */

    xmlParserInputState instate;      /* current type of input */
    int                 token;        /* next char look-ahead */

    char           *directory;        /* the data directory */

    /* Node name stack */
    const xmlChar     *name;          /* Current parsed Node */
    int                nameNr;        /* Depth of the parsing stack */
    int                nameMax;       /* Max depth of the parsing stack */
    const xmlChar *   *nameTab;       /* array of nodes */

    long               nbChars;       /* unused */
    long            checkIndex;       /* used by progressive parsing lookup */
    int             keepBlanks;       /* ugly but ... */
    int             disableSAX;       /* SAX callbacks are disabled */
    int               inSubset;       /* Parsing is in int 1/ext 2 subset */
    const xmlChar *    intSubName;    /* name of subset */
    xmlChar *          extSubURI;     /* URI of external subset */
    xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */

    /* xml:space values */
    int *              space;         /* Should the parser preserve spaces */
    int                spaceNr;       /* Depth of the parsing stack */
    int                spaceMax;      /* Max depth of the parsing stack */
    int *              spaceTab;      /* array of space infos */

    int                depth;         /* to prevent entity substitution loops */
    xmlParserInputPtr  entity;        /* used to check entities boundaries */
    int                charset;       /* encoding of the in-memory content
				         actually an xmlCharEncoding */
    int                nodelen;       /* Those two fields are there to */
    int                nodemem;       /* Speed up large node parsing */
    int                pedantic;      /* signal pedantic warnings */
    void              *_private;      /* For user data, libxml won't touch it */

    int                loadsubset;    /* should the external subset be loaded */
    int                linenumbers;   /* set line number in element content */
    void              *catalogs;      /* document's own catalog */
    int                recovery;      /* run in recovery mode */
    int                progressive;   /* is this a progressive parsing */
    xmlDictPtr         dict;          /* dictionary for the parser */
    const xmlChar *   *atts;          /* array for the attributes callbacks */
    int                maxatts;       /* the size of the array */
    int                docdict;       /* use strings from dict to build tree */

    /*
     * pre-interned strings
     */
    const xmlChar *str_xml;
    const xmlChar *str_xmlns;
    const xmlChar *str_xml_ns;

    /*
     * Everything below is used only by the new SAX mode
     */
    int                sax2;          /* operating in the new SAX mode */
    int                nsNr;          /* the number of inherited namespaces */
    int                nsMax;         /* the size of the arrays */
    const xmlChar *   *nsTab;         /* the array of prefix/namespace name */
    int               *attallocs;     /* which attribute were allocated */
    xmlStartTag       *pushTab;       /* array of data for push */
    xmlHashTablePtr    attsDefault;   /* defaulted attributes if any */
    xmlHashTablePtr    attsSpecial;   /* non-CDATA attributes if any */
    int                nsWellFormed;  /* is the document XML Namespace okay */
    int                options;       /* Extra options */

    /*
     * Those fields are needed only for streaming parsing so far
     */
    int               dictNames;    /* Use dictionary names for the tree */
    int               freeElemsNr;  /* number of freed element nodes */
    xmlNodePtr        freeElems;    /* List of freed element nodes */
    int               freeAttrsNr;  /* number of freed attributes nodes */
    xmlAttrPtr        freeAttrs;    /* List of freed attributes nodes */

    /*
     * the complete error information for the last error.
     */
    xmlError          lastError;
    xmlParserMode     parseMode;    /* the parser mode */
    unsigned long    nbentities;    /* number of entities references */
    unsigned long  sizeentities;    /* size of parsed entities */

    /* for use by HTML non-recursive parser */
    xmlParserNodeInfo *nodeInfo;      /* Current NodeInfo */
    int                nodeInfoNr;    /* Depth of the parsing stack */
    int                nodeInfoMax;   /* Max depth of the parsing stack */
    xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */

    int                input_id;      /* we need to label inputs */
    unsigned long      sizeentcopy;   /* volume of entity copy */
};

/**
 * xmlSAXLocator:
 *
 * A SAX Locator.
 */
struct _xmlSAXLocator {
    const xmlChar *(*getPublicId)(void *ctx);
    const xmlChar *(*getSystemId)(void *ctx);
    int (*getLineNumber)(void *ctx);
    int (*getColumnNumber)(void *ctx);
};

/**
 * xmlSAXHandler:
 *
 * A SAX handler is bunch of callbacks called by the parser when processing
 * of the input generate data or structure information.
 */

/**
 * resolveEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 *
 * Callback:
 * The entity loader, to control the loading of external entities,
 * the application can either:
 *    - override this resolveEntity() callback in the SAX block
 *    - or better use the xmlSetExternalEntityLoader() function to
 *      set up it's own entity resolution routine
 *
 * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
 */
typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * internalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the root element name
 * @ExternalID:  the external ID
 * @SystemID:  the SYSTEM ID (e.g. filename or URL)
 *
 * Callback on internal subset declaration.
 */
typedef void (*internalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * externalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the root element name
 * @ExternalID:  the external ID
 * @SystemID:  the SYSTEM ID (e.g. filename or URL)
 *
 * Callback on external subset declaration.
 */
typedef void (*externalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * getEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get an entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * getParameterEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get a parameter entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * entityDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the entity name
 * @type:  the entity type
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 * @content: the entity value (without processing).
 *
 * An entity definition has been parsed.
 */
typedef void (*entityDeclSAXFunc) (void *ctx,
				const xmlChar *name,
				int type,
				const xmlChar *publicId,
				const xmlChar *systemId,
				xmlChar *content);
/**
 * notationDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The name of the notation
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 *
 * What to do when a notation declaration has been parsed.
 */
typedef void (*notationDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * attributeDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @elem:  the name of the element
 * @fullname:  the attribute name
 * @type:  the attribute type
 * @def:  the type of default value
 * @defaultValue: the attribute default value
 * @tree:  the tree of enumerated value set
 *
 * An attribute definition has been parsed.
 */
typedef void (*attributeDeclSAXFunc)(void *ctx,
				const xmlChar *elem,
				const xmlChar *fullname,
				int type,
				int def,
				const xmlChar *defaultValue,
				xmlEnumerationPtr tree);
/**
 * elementDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the element name
 * @type:  the element type
 * @content: the element value tree
 *
 * An element definition has been parsed.
 */
typedef void (*elementDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				int type,
				xmlElementContentPtr content);
/**
 * unparsedEntityDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The name of the entity
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 * @notationName: the name of the notation
 *
 * What to do when an unparsed entity declaration is parsed.
 */
typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId,
				const xmlChar *notationName);
/**
 * setDocumentLocatorSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @loc: A SAX Locator
 *
 * Receive the document locator at startup, actually xmlDefaultSAXLocator.
 * Everything is available on the context, so this is useless in our case.
 */
typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
				xmlSAXLocatorPtr loc);
/**
 * startDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document start being processed.
 */
typedef void (*startDocumentSAXFunc) (void *ctx);
/**
 * endDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document end has been detected.
 */
typedef void (*endDocumentSAXFunc) (void *ctx);
/**
 * startElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name, including namespace prefix
 * @atts:  An array of name/value attributes pairs, NULL terminated
 *
 * Called when an opening tag has been processed.
 */
typedef void (*startElementSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar **atts);
/**
 * endElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name
 *
 * Called when the end of an element has been detected.
 */
typedef void (*endElementSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * attributeSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The attribute name, including namespace prefix
 * @value:  The attribute value
 *
 * Handle an attribute that has been read by the parser.
 * The default handling is to convert the attribute into an
 * DOM subtree and past it in a new xmlAttr element added to
 * the element.
 */
typedef void (*attributeSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *value);
/**
 * referenceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The entity name
 *
 * Called when an entity reference is detected.
 */
typedef void (*referenceSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * charactersSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some chars from the parser.
 */
typedef void (*charactersSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * ignorableWhitespaceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some ignorable whitespaces from the parser.
 * UNUSED: by default the DOM building will use characters.
 */
typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * processingInstructionSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @target:  the target name
 * @data: the PI data's
 *
 * A processing instruction has been parsed.
 */
typedef void (*processingInstructionSAXFunc) (void *ctx,
				const xmlChar *target,
				const xmlChar *data);
/**
 * commentSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  the comment content
 *
 * A comment has been parsed.
 */
typedef void (*commentSAXFunc) (void *ctx,
				const xmlChar *value);
/**
 * cdataBlockSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  The pcdata content
 * @len:  the block length
 *
 * Called when a pcdata block has been parsed.
 */
typedef void (*cdataBlockSAXFunc) (
	                        void *ctx,
				const xmlChar *value,
				int len);
/**
 * warningSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format a warning messages, callback.
 */
typedef void (XMLCDECL *warningSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * errorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format an error messages, callback.
 */
typedef void (XMLCDECL *errorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * fatalErrorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format fatal error messages, callback.
 * Note: so far fatalError() SAX callbacks are not used, error()
 *       get all the callbacks for errors.
 */
typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * isStandaloneSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Is this document tagged standalone?
 *
 * Returns 1 if true
 */
typedef int (*isStandaloneSAXFunc) (void *ctx);
/**
 * hasInternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an internal subset.
 *
 * Returns 1 if true
 */
typedef int (*hasInternalSubsetSAXFunc) (void *ctx);

/**
 * hasExternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an external subset?
 *
 * Returns 1 if true
 */
typedef int (*hasExternalSubsetSAXFunc) (void *ctx);

/************************************************************************
 *									*
 *			The SAX version 2 API extensions		*
 *									*
 ************************************************************************/
/**
 * XML_SAX2_MAGIC:
 *
 * Special constant found in SAX2 blocks initialized fields
 */
#define XML_SAX2_MAGIC 0xDEEDBEAF

/**
 * startElementNsSAX2Func:
 * @ctx:  the user data (XML parser context)
 * @localname:  the local name of the element
 * @prefix:  the element namespace prefix if available
 * @URI:  the element namespace name if available
 * @nb_namespaces:  number of namespace definitions on that node
 * @namespaces:  pointer to the array of prefix/URI pairs namespace definitions
 * @nb_attributes:  the number of attributes on that node
 * @nb_defaulted:  the number of defaulted attributes. The defaulted
 *                  ones are at the end of the array
 * @attributes:  pointer to the array of (localname/prefix/URI/value/end)
 *               attribute values.
 *
 * SAX2 callback when an element start has been detected by the parser.
 * It provides the namespace information for the element, as well as
 * the new namespace declarations on the element.
 */

typedef void (*startElementNsSAX2Func) (void *ctx,
					const xmlChar *localname,
					const xmlChar *prefix,
					const xmlChar *URI,
					int nb_namespaces,
					const xmlChar **namespaces,
					int nb_attributes,
					int nb_defaulted,
					const xmlChar **attributes);

/**
 * endElementNsSAX2Func:
 * @ctx:  the user data (XML parser context)
 * @localname:  the local name of the element
 * @prefix:  the element namespace prefix if available
 * @URI:  the element namespace name if available
 *
 * SAX2 callback when an element end has been detected by the parser.
 * It provides the namespace information for the element.
 */

typedef void (*endElementNsSAX2Func)   (void *ctx,
					const xmlChar *localname,
					const xmlChar *prefix,
					const xmlChar *URI);


struct _xmlSAXHandler {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
    /* The following fields are extensions available only on version 2 */
    void *_private;
    startElementNsSAX2Func startElementNs;
    endElementNsSAX2Func endElementNs;
    xmlStructuredErrorFunc serror;
};

/*
 * SAX Version 1
 */
typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
struct _xmlSAXHandlerV1 {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
};


/**
 * xmlExternalEntityLoader:
 * @URL: The System ID of the resource requested
 * @ID: The Public ID of the resource requested
 * @context: the XML parser context
 *
 * External entity loaders types.
 *
 * Returns the entity input parser.
 */
typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr context);

#ifdef __cplusplus
}
#endif

#include <libxml/encoding.h>
#include <libxml/xmlIO.h>
#include <libxml/globals.h>

#ifdef __cplusplus
extern "C" {
#endif


/*
 * Init/Cleanup
 */
XMLPUBFUN void XMLCALL
		xmlInitParser		(void);
XMLPUBFUN void XMLCALL
		xmlCleanupParser	(void);

/*
 * Input functions
 */
XMLPUBFUN int XMLCALL
		xmlParserInputRead	(xmlParserInputPtr in,
					 int len);
XMLPUBFUN int XMLCALL
		xmlParserInputGrow	(xmlParserInputPtr in,
					 int len);

/*
 * Basic parsing Interfaces
 */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseFile		(const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseMemory		(const char *buffer,
					 int size);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlSubstituteEntitiesDefault(int val);
XMLPUBFUN int XMLCALL
		xmlKeepBlanksDefault	(int val);
XMLPUBFUN void XMLCALL
		xmlStopParser		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlPedanticParserDefault(int val);
XMLPUBFUN int XMLCALL
		xmlLineNumbersDefault	(int val);

#ifdef LIBXML_SAX1_ENABLED
/*
 * Recovery mode
 */
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverMemory	(const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverFile		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

/*
 * Less common routines and SAX interfaces
 */
XMLPUBFUN int XMLCALL
		xmlParseDocument	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
					 const xmlChar *cur,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
					 const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseEntity		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlParseDTD		(const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);
#endif /* LIBXML_VALID_ENABLE */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemory(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *string,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserErrors XMLCALL
		xmlParseInNodeContext	(xmlNodePtr node,
					 const char *data,
					 int datalen,
					 int options,
					 xmlNodePtr *lst);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
                     xmlSAXHandlerPtr sax,
                     void *user_data,
                     int depth,
                     const xmlChar *string,
                     xmlNodePtr *lst,
                     int recover);
XMLPUBFUN int XMLCALL
		xmlParseExternalEntity	(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);

/*
 * Parser contexts handling.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlNewParserCtxt	(void);
XMLPUBFUN int XMLCALL
		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN void XMLCALL
		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
					 const xmlChar* buffer,
					 const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateDocParserCtxt	(const xmlChar *cur);

#ifdef LIBXML_LEGACY_ENABLED
/*
 * Reading/setting optional parsing features.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlGetFeaturesList	(int *len,
					 const char **result);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlGetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *result);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlSetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *value);
#endif /* LIBXML_LEGACY_ENABLED */

#ifdef LIBXML_PUSH_ENABLED
/*
 * Interfaces for the Push mode.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *chunk,
					 int size,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlParseChunk		(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

/*
 * Special I/O mode.
 */

XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 xmlInputReadCallback   ioread,
					 xmlInputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncoding enc);

XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);

/*
 * Node infos.
 */
XMLPUBFUN const xmlParserNodeInfo* XMLCALL
		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
				         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN void XMLCALL
		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN unsigned long XMLCALL
		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
                                         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
					 const xmlParserNodeInfoPtr info);

/*
 * External entities handling actually implemented in xmlIO.
 */

XMLPUBFUN void XMLCALL
		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
XMLPUBFUN xmlExternalEntityLoader XMLCALL
		xmlGetExternalEntityLoader(void);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlLoadExternalEntity	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * Index lookup, actually implemented in the encoding module
 */
XMLPUBFUN long XMLCALL
		xmlByteConsumed		(xmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    XML_PARSE_RECOVER	= 1<<0,	/* recover on errors */
    XML_PARSE_NOENT	= 1<<1,	/* substitute entities */
    XML_PARSE_DTDLOAD	= 1<<2,	/* load the external subset */
    XML_PARSE_DTDATTR	= 1<<3,	/* default DTD attributes */
    XML_PARSE_DTDVALID	= 1<<4,	/* validate with the DTD */
    XML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    XML_PARSE_NOWARNING	= 1<<6,	/* suppress warning reports */
    XML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    XML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
    XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitution  */
    XML_PARSE_NONET	= 1<<11,/* Forbid network access */
    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionary */
    XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
    XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
    XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
    XML_PARSE_COMPACT   = 1<<16,/* compact small text nodes; no modification of
                                   the tree allowed afterwards (will possibly
				   crash if you try to modify the tree) */
    XML_PARSE_OLD10	= 1<<17,/* parse using XML-1.0 before update 5 */
    XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
    XML_PARSE_HUGE      = 1<<19,/* relax any hardcoded limit from the parser */
    XML_PARSE_OLDSAX    = 1<<20,/* parse using SAX2 interface before 2.7.0 */
    XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
    XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
} xmlParserOption;

XMLPUBFUN void XMLCALL
		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/*
 * Library wide options
 */
/**
 * xmlFeature:
 *
 * Used to examine the existence of features that can be enabled
 * or disabled at compile-time.
 * They used to be called XML_FEATURE_xxx but this clashed with Expat
 */
typedef enum {
    XML_WITH_THREAD = 1,
    XML_WITH_TREE = 2,
    XML_WITH_OUTPUT = 3,
    XML_WITH_PUSH = 4,
    XML_WITH_READER = 5,
    XML_WITH_PATTERN = 6,
    XML_WITH_WRITER = 7,
    XML_WITH_SAX1 = 8,
    XML_WITH_FTP = 9,
    XML_WITH_HTTP = 10,
    XML_WITH_VALID = 11,
    XML_WITH_HTML = 12,
    XML_WITH_LEGACY = 13,
    XML_WITH_C14N = 14,
    XML_WITH_CATALOG = 15,
    XML_WITH_XPATH = 16,
    XML_WITH_XPTR = 17,
    XML_WITH_XINCLUDE = 18,
    XML_WITH_ICONV = 19,
    XML_WITH_ISO8859X = 20,
    XML_WITH_UNICODE = 21,
    XML_WITH_REGEXP = 22,
    XML_WITH_AUTOMATA = 23,
    XML_WITH_EXPR = 24,
    XML_WITH_SCHEMAS = 25,
    XML_WITH_SCHEMATRON = 26,
    XML_WITH_MODULES = 27,
    XML_WITH_DEBUG = 28,
    XML_WITH_DEBUG_MEM = 29,
    XML_WITH_DEBUG_RUN = 30,
    XML_WITH_ZLIB = 31,
    XML_WITH_ICU = 32,
    XML_WITH_LZMA = 33,
    XML_WITH_NONE = 99999 /* just to be sure of allocation size */
} xmlFeature;

XMLPUBFUN int XMLCALL
		xmlHasFeature		(xmlFeature feature);

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_H__ */
include/libxml2/libxml/xmlmemory.h000064400000013527150505765500013251 0ustar00/*
 * Summary: interface for the memory allocator
 * Description: provides interfaces for the memory allocator,
 *              including debugging capabilities.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __DEBUG_MEMORY_ALLOC__
#define __DEBUG_MEMORY_ALLOC__

#include <stdio.h>
#include <libxml/xmlversion.h>

/**
 * DEBUG_MEMORY:
 *
 * DEBUG_MEMORY replaces the allocator with a collect and debug
 * shell to the libc allocator.
 * DEBUG_MEMORY should only be activated when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
/* #define DEBUG_MEMORY_FREED */
/* #define DEBUG_MEMORY_LOCATION */

#ifdef DEBUG
#ifndef DEBUG_MEMORY
#define DEBUG_MEMORY
#endif
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * DEBUG_MEMORY_LOCATION should be activated only when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
#ifdef DEBUG_MEMORY_LOCATION
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The XML memory wrapper support 4 basic overloadable functions.
 */
/**
 * xmlFreeFunc:
 * @mem: an already allocated block of memory
 *
 * Signature for a free() implementation.
 */
typedef void (XMLCALL *xmlFreeFunc)(void *mem);
/**
 * xmlMallocFunc:
 * @size:  the size requested in bytes
 *
 * Signature for a malloc() implementation.
 *
 * Returns a pointer to the newly allocated block or NULL in case of error.
 */
typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);

/**
 * xmlReallocFunc:
 * @mem: an already allocated block of memory
 * @size:  the new size requested in bytes
 *
 * Signature for a realloc() implementation.
 *
 * Returns a pointer to the newly reallocated block or NULL in case of error.
 */
typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);

/**
 * xmlStrdupFunc:
 * @str: a zero terminated string
 *
 * Signature for an strdup() implementation.
 *
 * Returns the copy of the string or NULL in case of error.
 */
typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);

/*
 * The 4 interfaces used for all memory handling within libxml.
LIBXML_DLL_IMPORT xmlFreeFunc xmlFree;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic;
LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc;
LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup;
 */

/*
 * The way to overload the existing functions.
 * The xmlGc function have an extra entry for atomic block
 * allocations useful for garbage collected memory allocators
 */
XMLPUBFUN int XMLCALL
	xmlMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlMallocFunc mallocAtomicFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlMallocFunc *mallocAtomicFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);

/*
 * Initialization of the memory layer.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlInitMemory	(void);

/*
 * Cleanup of the memory layer.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                xmlCleanupMemory        (void);
/*
 * These are specific to the XML debug memory wrapper.
 */
XMLPUBFUN int XMLCALL
	xmlMemUsed	(void);
XMLPUBFUN int XMLCALL
	xmlMemBlocks	(void);
XMLPUBFUN void XMLCALL
	xmlMemDisplay	(FILE *fp);
XMLPUBFUN void XMLCALL
	xmlMemDisplayLast(FILE *fp, long nbBytes);
XMLPUBFUN void XMLCALL
	xmlMemShow	(FILE *fp, int nr);
XMLPUBFUN void XMLCALL
	xmlMemoryDump	(void);
XMLPUBFUN void * XMLCALL
	xmlMemMalloc	(size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlMemRealloc	(void *ptr,size_t size);
XMLPUBFUN void XMLCALL
	xmlMemFree	(void *ptr);
XMLPUBFUN char * XMLCALL
	xmlMemoryStrdup	(const char *str);
XMLPUBFUN void * XMLCALL
	xmlMallocLoc	(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlReallocLoc	(void *ptr, size_t size, const char *file, int line);
XMLPUBFUN void * XMLCALL
	xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN char * XMLCALL
	xmlMemStrdupLoc	(const char *str, const char *file, int line);


#ifdef DEBUG_MEMORY_LOCATION
/**
 * xmlMalloc:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
/**
 * xmlMallocAtomic:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library for allocation
 * of block not containing pointers to other areas.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
/**
 * xmlRealloc:
 * @ptr:  pointer to the existing allocated area
 * @size:  number of bytes to allocate
 *
 * Wrapper for the realloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
/**
 * xmlMemStrdup:
 * @str:  pointer to the existing string
 *
 * Wrapper for the strdup() function, xmlStrdup() is usually preferred.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)

#endif /* DEBUG_MEMORY_LOCATION */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#ifndef __XML_GLOBALS_H
#ifndef __XML_THREADS_H__
#include <libxml/threads.h>
#include <libxml/globals.h>
#endif
#endif

#endif  /* __DEBUG_MEMORY_ALLOC__ */

include/libxml2/libxml/SAX.h000064400000011211150505765510011640 0ustar00/*
 * Summary: Old SAX version 1 handler, deprecated
 * Description: DEPRECATED set of SAX version 1 interfaces used to
 *              build the DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX_H__
#define __XML_SAX_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef LIBXML_LEGACY_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
		getPublicId			(void *ctx);
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
		getSystemId			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		setDocumentLocator		(void *ctx,
						 xmlSAXLocatorPtr loc);

XML_DEPRECATED
XMLPUBFUN int XMLCALL
		getLineNumber			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		getColumnNumber			(void *ctx);

XML_DEPRECATED
XMLPUBFUN int XMLCALL
		isStandalone			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		hasInternalSubset		(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		hasExternalSubset		(void *ctx);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		internalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		externalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XML_DEPRECATED
XMLPUBFUN xmlEntityPtr XMLCALL
		getEntity			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlEntityPtr XMLCALL
		getParameterEntity		(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlParserInputPtr XMLCALL
		resolveEntity			(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		entityDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		attributeDecl			(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		elementDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		notationDecl			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		unparsedEntityDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		startDocument			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		endDocument			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		attribute			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar *value);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		startElement			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		endElement			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		reference			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		characters			(void *ctx,
						 const xmlChar *ch,
						 int len);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		ignorableWhitespace		(void *ctx,
						 const xmlChar *ch,
						 int len);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		processingInstruction		(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		globalNamespace			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		setNamespace			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlNsPtr XMLCALL
		getNamespace			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		checkNamespace			(void *ctx,
						 xmlChar *nameSpace);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		namespaceDecl			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		comment				(void *ctx,
						 const xmlChar *value);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		cdataBlock			(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		initxmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
#endif
#endif /* LIBXML_SAX1_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_LEGACY_ENABLED */

#endif /* __XML_SAX_H__ */
include/libxml2/libxml/schemasInternals.h000064400000063160150505765520014523 0ustar00/*
 * Summary: internal interfaces for XML Schemas
 * Description: internal interfaces for the XML Schemas handling
 *              and schema validity checking
 *		The Schemas development is a Work In Progress.
 *              Some of those interfaces are not guaranteed to be API or ABI stable !
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_INTERNALS_H__
#define __XML_SCHEMA_INTERNALS_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/xmlregexp.h>
#include <libxml/hash.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMAS_UNKNOWN = 0,
    XML_SCHEMAS_STRING = 1,
    XML_SCHEMAS_NORMSTRING = 2,
    XML_SCHEMAS_DECIMAL = 3,
    XML_SCHEMAS_TIME = 4,
    XML_SCHEMAS_GDAY = 5,
    XML_SCHEMAS_GMONTH = 6,
    XML_SCHEMAS_GMONTHDAY = 7,
    XML_SCHEMAS_GYEAR = 8,
    XML_SCHEMAS_GYEARMONTH = 9,
    XML_SCHEMAS_DATE = 10,
    XML_SCHEMAS_DATETIME = 11,
    XML_SCHEMAS_DURATION = 12,
    XML_SCHEMAS_FLOAT = 13,
    XML_SCHEMAS_DOUBLE = 14,
    XML_SCHEMAS_BOOLEAN = 15,
    XML_SCHEMAS_TOKEN = 16,
    XML_SCHEMAS_LANGUAGE = 17,
    XML_SCHEMAS_NMTOKEN = 18,
    XML_SCHEMAS_NMTOKENS = 19,
    XML_SCHEMAS_NAME = 20,
    XML_SCHEMAS_QNAME = 21,
    XML_SCHEMAS_NCNAME = 22,
    XML_SCHEMAS_ID = 23,
    XML_SCHEMAS_IDREF = 24,
    XML_SCHEMAS_IDREFS = 25,
    XML_SCHEMAS_ENTITY = 26,
    XML_SCHEMAS_ENTITIES = 27,
    XML_SCHEMAS_NOTATION = 28,
    XML_SCHEMAS_ANYURI = 29,
    XML_SCHEMAS_INTEGER = 30,
    XML_SCHEMAS_NPINTEGER = 31,
    XML_SCHEMAS_NINTEGER = 32,
    XML_SCHEMAS_NNINTEGER = 33,
    XML_SCHEMAS_PINTEGER = 34,
    XML_SCHEMAS_INT = 35,
    XML_SCHEMAS_UINT = 36,
    XML_SCHEMAS_LONG = 37,
    XML_SCHEMAS_ULONG = 38,
    XML_SCHEMAS_SHORT = 39,
    XML_SCHEMAS_USHORT = 40,
    XML_SCHEMAS_BYTE = 41,
    XML_SCHEMAS_UBYTE = 42,
    XML_SCHEMAS_HEXBINARY = 43,
    XML_SCHEMAS_BASE64BINARY = 44,
    XML_SCHEMAS_ANYTYPE = 45,
    XML_SCHEMAS_ANYSIMPLETYPE = 46
} xmlSchemaValType;

/*
 * XML Schemas defines multiple type of types.
 */
typedef enum {
    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
    XML_SCHEMA_TYPE_ANY,
    XML_SCHEMA_TYPE_FACET,
    XML_SCHEMA_TYPE_SIMPLE,
    XML_SCHEMA_TYPE_COMPLEX,
    XML_SCHEMA_TYPE_SEQUENCE = 6,
    XML_SCHEMA_TYPE_CHOICE,
    XML_SCHEMA_TYPE_ALL,
    XML_SCHEMA_TYPE_SIMPLE_CONTENT,
    XML_SCHEMA_TYPE_COMPLEX_CONTENT,
    XML_SCHEMA_TYPE_UR,
    XML_SCHEMA_TYPE_RESTRICTION,
    XML_SCHEMA_TYPE_EXTENSION,
    XML_SCHEMA_TYPE_ELEMENT,
    XML_SCHEMA_TYPE_ATTRIBUTE,
    XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
    XML_SCHEMA_TYPE_GROUP,
    XML_SCHEMA_TYPE_NOTATION,
    XML_SCHEMA_TYPE_LIST,
    XML_SCHEMA_TYPE_UNION,
    XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
    XML_SCHEMA_TYPE_IDC_UNIQUE,
    XML_SCHEMA_TYPE_IDC_KEY,
    XML_SCHEMA_TYPE_IDC_KEYREF,
    XML_SCHEMA_TYPE_PARTICLE = 25,
    XML_SCHEMA_TYPE_ATTRIBUTE_USE,
    XML_SCHEMA_FACET_MININCLUSIVE = 1000,
    XML_SCHEMA_FACET_MINEXCLUSIVE,
    XML_SCHEMA_FACET_MAXINCLUSIVE,
    XML_SCHEMA_FACET_MAXEXCLUSIVE,
    XML_SCHEMA_FACET_TOTALDIGITS,
    XML_SCHEMA_FACET_FRACTIONDIGITS,
    XML_SCHEMA_FACET_PATTERN,
    XML_SCHEMA_FACET_ENUMERATION,
    XML_SCHEMA_FACET_WHITESPACE,
    XML_SCHEMA_FACET_LENGTH,
    XML_SCHEMA_FACET_MAXLENGTH,
    XML_SCHEMA_FACET_MINLENGTH,
    XML_SCHEMA_EXTRA_QNAMEREF = 2000,
    XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
} xmlSchemaTypeType;

typedef enum {
    XML_SCHEMA_CONTENT_UNKNOWN = 0,
    XML_SCHEMA_CONTENT_EMPTY = 1,
    XML_SCHEMA_CONTENT_ELEMENTS,
    XML_SCHEMA_CONTENT_MIXED,
    XML_SCHEMA_CONTENT_SIMPLE,
    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
    XML_SCHEMA_CONTENT_BASIC,
    XML_SCHEMA_CONTENT_ANY
} xmlSchemaContentType;

typedef struct _xmlSchemaVal xmlSchemaVal;
typedef xmlSchemaVal *xmlSchemaValPtr;

typedef struct _xmlSchemaType xmlSchemaType;
typedef xmlSchemaType *xmlSchemaTypePtr;

typedef struct _xmlSchemaFacet xmlSchemaFacet;
typedef xmlSchemaFacet *xmlSchemaFacetPtr;

/**
 * Annotation
 */
typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
struct _xmlSchemaAnnot {
    struct _xmlSchemaAnnot *next;
    xmlNodePtr content;         /* the annotation */
};

/**
 * XML_SCHEMAS_ANYATTR_SKIP:
 *
 * Skip unknown attribute from validation
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_SKIP        1
/**
 * XML_SCHEMAS_ANYATTR_LAX:
 *
 * Ignore validation non definition on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_LAX                2
/**
 * XML_SCHEMAS_ANYATTR_STRICT:
 *
 * Apply strict validation rules on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_STRICT        3
/**
 * XML_SCHEMAS_ANY_SKIP:
 *
 * Skip unknown attribute from validation
 */
#define XML_SCHEMAS_ANY_SKIP        1
/**
 * XML_SCHEMAS_ANY_LAX:
 *
 * Used by wildcards.
 * Validate if type found, don't worry if not found
 */
#define XML_SCHEMAS_ANY_LAX                2
/**
 * XML_SCHEMAS_ANY_STRICT:
 *
 * Used by wildcards.
 * Apply strict validation rules
 */
#define XML_SCHEMAS_ANY_STRICT        3
/**
 * XML_SCHEMAS_ATTR_USE_PROHIBITED:
 *
 * Used by wildcards.
 * The attribute is prohibited.
 */
#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
/**
 * XML_SCHEMAS_ATTR_USE_REQUIRED:
 *
 * The attribute is required.
 */
#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
/**
 * XML_SCHEMAS_ATTR_USE_OPTIONAL:
 *
 * The attribute is optional.
 */
#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
/**
 * XML_SCHEMAS_ATTR_GLOBAL:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
/**
 * XML_SCHEMAS_ATTR_NSDEFAULT:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
 *
 * this is set when the "type" and "ref" references
 * have been resolved.
 */
#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
/**
 * XML_SCHEMAS_ATTR_FIXED:
 *
 * the attribute has a fixed value
 */
#define XML_SCHEMAS_ATTR_FIXED        1 << 9

/**
 * xmlSchemaAttribute:
 * An attribute definition.
 */

typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
struct _xmlSchemaAttribute {
    xmlSchemaTypeType type;
    struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
    const xmlChar *name; /* the name of the declaration */
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    const xmlChar *typeName; /* the local name of the type definition */
    const xmlChar *typeNs; /* the ns URI of the type definition */
    xmlSchemaAnnotPtr annot;

    xmlSchemaTypePtr base; /* Deprecated; not used */
    int occurs; /* Deprecated; not used */
    const xmlChar *defValue; /* The initial value of the value constraint */
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlNodePtr node;
    const xmlChar *targetNamespace;
    int flags;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value constraint */
    xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
};

/**
 * xmlSchemaAttributeLink:
 * Used to build a list of attribute uses on complexType definitions.
 * WARNING: Deprecated; not used.
 */
typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
struct _xmlSchemaAttributeLink {
    struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
    struct _xmlSchemaAttribute *attr;/* the linked attribute */
};

/**
 * XML_SCHEMAS_WILDCARD_COMPLETE:
 *
 * If the wildcard is complete.
 */
#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0

/**
 * xmlSchemaCharValueLink:
 * Used to build a list of namespaces on wildcards.
 */
typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
struct _xmlSchemaWildcardNs {
    struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
    const xmlChar *value;/* the value */
};

/**
 * xmlSchemaWildcard.
 * A wildcard.
 */
typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
struct _xmlSchemaWildcard {
    xmlSchemaTypeType type;        /* The kind of type */
    const xmlChar *id; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */
    int processContents;
    int any; /* Indicates if the ns constraint is of ##any */
    xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
    xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
    int flags;
};

/**
 * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
 *
 * The attribute wildcard has been built.
 */
#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
/**
 * XML_SCHEMAS_ATTRGROUP_GLOBAL:
 *
 * The attribute group has been defined.
 */
#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
/**
 * XML_SCHEMAS_ATTRGROUP_MARKED:
 *
 * Marks the attr group as marked; used for circular checks.
 */
#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2

/**
 * XML_SCHEMAS_ATTRGROUP_REDEFINED:
 *
 * The attr group was redefined.
 */
#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
/**
 * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
 *
 * Whether this attr. group contains attr. group references.
 */
#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4

/**
 * An attribute group definition.
 *
 * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
 * must be kept similar
 */
typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
struct _xmlSchemaAttributeGroup {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
    const xmlChar *name;
    const xmlChar *id;
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;

    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int flags;
    xmlSchemaWildcardPtr attributeWildcard;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/**
 * xmlSchemaTypeLink:
 * Used to build a list of types (e.g. member types of
 * simpleType with variety "union").
 */
typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
struct _xmlSchemaTypeLink {
    struct _xmlSchemaTypeLink *next;/* the next type link ... */
    xmlSchemaTypePtr type;/* the linked type */
};

/**
 * xmlSchemaFacetLink:
 * Used to build a list of facets.
 */
typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
struct _xmlSchemaFacetLink {
    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
    xmlSchemaFacetPtr facet;/* the linked facet */
};

/**
 * XML_SCHEMAS_TYPE_MIXED:
 *
 * the element content type is mixed
 */
#define XML_SCHEMAS_TYPE_MIXED                1 << 0
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
 *
 * the simple or complex type has a derivation method of "extension".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION                1 << 1
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
 *
 * the simple or complex type has a derivation method of "restriction".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION                1 << 2
/**
 * XML_SCHEMAS_TYPE_GLOBAL:
 *
 * the type is global
 */
#define XML_SCHEMAS_TYPE_GLOBAL                1 << 3
/**
 * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
 *
 * the complexType owns an attribute wildcard, i.e.
 * it can be freed by the complexType
 */
#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4 /* Obsolete. */
/**
 * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
 *
 * the simpleType has a variety of "absent".
 * TODO: Actually not necessary :-/, since if
 * none of the variety flags occur then it's
 * automatically absent.
 */
#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
/**
 * XML_SCHEMAS_TYPE_VARIETY_LIST:
 *
 * the simpleType has a variety of "list".
 */
#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
/**
 * XML_SCHEMAS_TYPE_VARIETY_UNION:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
/**
 * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
/**
 * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
 *
 * the complexType has a final of "extension".
 */
#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
/**
 * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
 *
 * the simpleType/complexType has a final of "restriction".
 */
#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
/**
 * XML_SCHEMAS_TYPE_FINAL_LIST:
 *
 * the simpleType has a final of "list".
 */
#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
/**
 * XML_SCHEMAS_TYPE_FINAL_UNION:
 *
 * the simpleType has a final of "union".
 */
#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
/**
 * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
 *
 * the simpleType has a final of "default".
 */
#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
/**
 * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
 *
 * Marks the item as a builtin primitive.
 */
#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
/**
 * XML_SCHEMAS_TYPE_MARKED:
 *
 * Marks the item as marked; used for circular checks.
 */
#define XML_SCHEMAS_TYPE_MARKED        1 << 16
/**
 * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
 *
 * the complexType did not specify 'block' so use the default of the
 * <schema> item.
 */
#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
/**
 * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
 *
 * the complexType has a 'block' of "extension".
 */
#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
/**
 * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
 *
 * the complexType has a 'block' of "restriction".
 */
#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
/**
 * XML_SCHEMAS_TYPE_ABSTRACT:
 *
 * the simple/complexType is abstract.
 */
#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
/**
 * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
 *
 * indicates if the facets need a computed value
 */
#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE    1 << 21
/**
 * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
 *
 * indicates that the type was typefixed
 */
#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED    1 << 22
/**
 * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
 *
 * indicates that the type is invalid
 */
#define XML_SCHEMAS_TYPE_INTERNAL_INVALID    1 << 23
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
 *
 * a whitespace-facet value of "preserve"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE    1 << 24
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
 *
 * a whitespace-facet value of "replace"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE    1 << 25
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
 *
 * a whitespace-facet value of "collapse"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE    1 << 26
/**
 * XML_SCHEMAS_TYPE_HAS_FACETS:
 *
 * has facets
 */
#define XML_SCHEMAS_TYPE_HAS_FACETS    1 << 27
/**
 * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
 *
 * indicates if the facets (pattern) need a normalized value
 */
#define XML_SCHEMAS_TYPE_NORMVALUENEEDED    1 << 28

/**
 * XML_SCHEMAS_TYPE_FIXUP_1:
 *
 * First stage of fixup was done.
 */
#define XML_SCHEMAS_TYPE_FIXUP_1    1 << 29

/**
 * XML_SCHEMAS_TYPE_REDEFINED:
 *
 * The type was redefined.
 */
#define XML_SCHEMAS_TYPE_REDEFINED    1 << 30
/**
 * XML_SCHEMAS_TYPE_REDEFINING:
 *
 * The type redefines an other type.
 */
/* #define XML_SCHEMAS_TYPE_REDEFINING    1 << 31 */

/**
 * _xmlSchemaType:
 *
 * Schemas type definition.
 */
struct _xmlSchemaType {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* the next type if in a sequence ... */
    const xmlChar *name;
    const xmlChar *id ; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes;
    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    xmlSchemaContentType contentType;
    const xmlChar *base; /* Base type's local name */
    const xmlChar *baseNs; /* Base type's target namespace */
    xmlSchemaTypePtr baseType; /* The base type component */
    xmlSchemaFacetPtr facets; /* Local facets */
    struct _xmlSchemaType *redef; /* Deprecated; not used */
    int recurse; /* Obsolete */
    xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
    xmlSchemaWildcardPtr attributeWildcard;
    int builtInType; /* Type of built-in types. */
    xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
    xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
                                        Could we use @subtypes for this? */
    xmlRegexpPtr contModel; /* Holds the automaton of the content model */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/*
 * xmlSchemaElement:
 * An element definition.
 *
 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
 * structures must be kept similar
 */
/**
 * XML_SCHEMAS_ELEM_NILLABLE:
 *
 * the element is nillable
 */
#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
/**
 * XML_SCHEMAS_ELEM_GLOBAL:
 *
 * the element is global
 */
#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
/**
 * XML_SCHEMAS_ELEM_DEFAULT:
 *
 * the element has a default value
 */
#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
/**
 * XML_SCHEMAS_ELEM_FIXED:
 *
 * the element has a fixed value
 */
#define XML_SCHEMAS_ELEM_FIXED                1 << 3
/**
 * XML_SCHEMAS_ELEM_ABSTRACT:
 *
 * the element is abstract
 */
#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
/**
 * XML_SCHEMAS_ELEM_TOPLEVEL:
 *
 * the element is top level
 * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
 */
#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
/**
 * XML_SCHEMAS_ELEM_REF:
 *
 * the element is a reference to a type
 */
#define XML_SCHEMAS_ELEM_REF                1 << 6
/**
 * XML_SCHEMAS_ELEM_NSDEFAULT:
 *
 * allow elements in no namespace
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
 *
 * this is set when "type", "ref", "substitutionGroup"
 * references have been resolved.
 */
#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
 /**
 * XML_SCHEMAS_ELEM_CIRCULAR:
 *
 * a helper flag for the search of circular references.
 */
#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
/**
 * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
 *
 * the "block" attribute is absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
/**
 * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
 *
 * disallowed substitutions are absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
/**
 * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
 *
 * disallowed substitutions: "restriction"
 */
#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
/**
 * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
 *
 * disallowed substitutions: "substitution"
 */
#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
/**
 * XML_SCHEMAS_ELEM_FINAL_ABSENT:
 *
 * substitution group exclusions are absent
 */
#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
/**
 * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
 *
 * substitution group exclusions: "extension"
 */
#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
/**
 * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
 *
 * substitution group exclusions: "restriction"
 */
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
/**
 * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
 *
 * the declaration is a substitution group head
 */
#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD        1 << 17
/**
 * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
 *
 * this is set when the elem decl has been checked against
 * all constraints
 */
#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED        1 << 18

typedef struct _xmlSchemaElement xmlSchemaElement;
typedef xmlSchemaElement *xmlSchemaElementPtr;
struct _xmlSchemaElement {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* Not used? */
    const xmlChar *name;
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlSchemaAttributePtr attributes;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    const xmlChar *targetNamespace;
    const xmlChar *namedType;
    const xmlChar *namedTypeNs;
    const xmlChar *substGroup;
    const xmlChar *substGroupNs;
    const xmlChar *scope;
    const xmlChar *value; /* The original value of the value constraint. */
    struct _xmlSchemaElement *refDecl; /* This will now be used for the
                                          substitution group affiliation */
    xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
    xmlSchemaContentType contentType;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value constraint. */
    void *idcs; /* The identity-constraint defs */
};

/*
 * XML_SCHEMAS_FACET_UNKNOWN:
 *
 * unknown facet handling
 */
#define XML_SCHEMAS_FACET_UNKNOWN        0
/*
 * XML_SCHEMAS_FACET_PRESERVE:
 *
 * preserve the type of the facet
 */
#define XML_SCHEMAS_FACET_PRESERVE        1
/*
 * XML_SCHEMAS_FACET_REPLACE:
 *
 * replace the type of the facet
 */
#define XML_SCHEMAS_FACET_REPLACE        2
/*
 * XML_SCHEMAS_FACET_COLLAPSE:
 *
 * collapse the types of the facet
 */
#define XML_SCHEMAS_FACET_COLLAPSE        3
/**
 * A facet definition.
 */
struct _xmlSchemaFacet {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
    const xmlChar *value; /* The original value */
    const xmlChar *id; /* Obsolete */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
    int whitespace;
    xmlSchemaValPtr val; /* The compiled value */
    xmlRegexpPtr    regexp; /* The regex for patterns */
};

/**
 * A notation definition.
 */
typedef struct _xmlSchemaNotation xmlSchemaNotation;
typedef xmlSchemaNotation *xmlSchemaNotationPtr;
struct _xmlSchemaNotation {
    xmlSchemaTypeType type; /* The kind of type */
    const xmlChar *name;
    xmlSchemaAnnotPtr annot;
    const xmlChar *identifier;
    const xmlChar *targetNamespace;
};

/*
* TODO: Actually all those flags used for the schema should sit
* on the schema parser context, since they are used only
* during parsing an XML schema document, and not available
* on the component level as per spec.
*/
/**
 * XML_SCHEMAS_QUALIF_ELEM:
 *
 * Reflects elementFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
/**
 * XML_SCHEMAS_QUALIF_ATTR:
 *
 * Reflects attributeFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
/**
 * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
/**
 * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
/**
 * XML_SCHEMAS_FINAL_DEFAULT_LIST:
 *
 * the schema has "list" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
/**
 * XML_SCHEMAS_FINAL_DEFAULT_UNION:
 *
 * the schema has "union" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
 *
 * the schema has "substitution" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
/**
 * XML_SCHEMAS_INCLUDING_CONVERT_NS:
 *
 * the schema is currently including an other schema with
 * no target namespace.
 */
#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
/**
 * _xmlSchema:
 *
 * A Schemas definition
 */
struct _xmlSchema {
    const xmlChar *name; /* schema name */
    const xmlChar *targetNamespace; /* the target namespace */
    const xmlChar *version;
    const xmlChar *id; /* Obsolete */
    xmlDocPtr doc;
    xmlSchemaAnnotPtr annot;
    int flags;

    xmlHashTablePtr typeDecl;
    xmlHashTablePtr attrDecl;
    xmlHashTablePtr attrgrpDecl;
    xmlHashTablePtr elemDecl;
    xmlHashTablePtr notaDecl;

    xmlHashTablePtr schemasImports;

    void *_private;        /* unused by the library for users or bindings */
    xmlHashTablePtr groupDecl;
    xmlDictPtr      dict;
    void *includes;     /* the includes, this is opaque for now */
    int preserve;        /* whether to free the document */
    int counter; /* used to give anonymous components unique names */
    xmlHashTablePtr idcDef; /* All identity-constraint defs. */
    void *volatiles; /* Obsolete */
};

XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_INTERNALS_H__ */
include/libxml2/libxml/xpointer.h000064400000007310150505765520013063 0ustar00/*
 * Summary: API to handle XML Pointers
 * Description: API to handle XML Pointers
 * Base implementation was made accordingly to
 * W3C Candidate Recommendation 7 June 2000
 * http://www.w3.org/TR/2000/CR-xptr-20000607
 *
 * Added support for the element() scheme described in:
 * W3C Proposed Recommendation 13 November 2002
 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPTR_H__
#define __XML_XPTR_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPTR_ENABLED

#include <libxml/tree.h>
#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifdef LIBXML_XPTR_LOCS_ENABLED
/*
 * A Location Set
 */
typedef struct _xmlLocationSet xmlLocationSet;
typedef xmlLocationSet *xmlLocationSetPtr;
struct _xmlLocationSet {
    int locNr;		      /* number of locations in the set */
    int locMax;		      /* size of the array as allocated */
    xmlXPathObjectPtr *locTab;/* array of locations */
};

/*
 * Handling of location sets.
 */

XML_DEPRECATED
XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj);
XML_DEPRECATED
XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1,
						 xmlLocationSetPtr val2);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRange		(xmlNodePtr start,
						 int startindex,
						 xmlNodePtr end,
						 int endindex);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePoints	(xmlXPathObjectPtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodePoint	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodeObject	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewCollapsedRange	(xmlNodePtr start);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrWrapLocationSet	(xmlLocationSetPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetDel	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur,
						 int val);
#endif /* LIBXML_XPTR_LOCS_ENABLED */

/*
 * Functions.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPtrNewContext		(xmlDocPtr doc,
						 xmlNodePtr here,
						 xmlNodePtr origin);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrEval			(const xmlChar *str,
						 xmlXPathContextPtr ctx);
#ifdef LIBXML_XPTR_LOCS_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt,
						 int nargs);
XML_DEPRECATED
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt);
#endif /* LIBXML_XPTR_LOCS_ENABLED */
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */
#endif /* __XML_XPTR_H__ */
include/libxml2/libxml/xpath.h000064400000040573150505765520012347 0ustar00/*
 * Summary: XML Path Language implementation
 * Description: API for the XML Path Language implementation
 *
 * XML Path Language implementation
 * XPath is a language for addressing parts of an XML document,
 * designed to be used by both XSLT and XPointer
 *     http://www.w3.org/TR/xpath
 *
 * Implements
 * W3C Recommendation 16 November 1999
 *     http://www.w3.org/TR/1999/REC-xpath-19991116
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_H__
#define __XML_XPATH_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPATH_ENABLED

#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/hash.h>
#endif /* LIBXML_XPATH_ENABLED */

#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
#ifdef __cplusplus
extern "C" {
#endif
#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */

#ifdef LIBXML_XPATH_ENABLED

typedef struct _xmlXPathContext xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;

/**
 * The set of XPath error codes.
 */

typedef enum {
    XPATH_EXPRESSION_OK = 0,
    XPATH_NUMBER_ERROR,
    XPATH_UNFINISHED_LITERAL_ERROR,
    XPATH_START_LITERAL_ERROR,
    XPATH_VARIABLE_REF_ERROR,
    XPATH_UNDEF_VARIABLE_ERROR,
    XPATH_INVALID_PREDICATE_ERROR,
    XPATH_EXPR_ERROR,
    XPATH_UNCLOSED_ERROR,
    XPATH_UNKNOWN_FUNC_ERROR,
    XPATH_INVALID_OPERAND,
    XPATH_INVALID_TYPE,
    XPATH_INVALID_ARITY,
    XPATH_INVALID_CTXT_SIZE,
    XPATH_INVALID_CTXT_POSITION,
    XPATH_MEMORY_ERROR,
    XPTR_SYNTAX_ERROR,
    XPTR_RESOURCE_ERROR,
    XPTR_SUB_RESOURCE_ERROR,
    XPATH_UNDEF_PREFIX_ERROR,
    XPATH_ENCODING_ERROR,
    XPATH_INVALID_CHAR_ERROR,
    XPATH_INVALID_CTXT,
    XPATH_STACK_ERROR,
    XPATH_FORBID_VARIABLE_ERROR,
    XPATH_OP_LIMIT_EXCEEDED,
    XPATH_RECURSION_LIMIT_EXCEEDED
} xmlXPathError;

/*
 * A node-set (an unordered collection of nodes without duplicates).
 */
typedef struct _xmlNodeSet xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
struct _xmlNodeSet {
    int nodeNr;			/* number of nodes in the set */
    int nodeMax;		/* size of the array as allocated */
    xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
    /* @@ with_ns to check whether namespace nodes should be looked at @@ */
};

/*
 * An expression is evaluated to yield an object, which
 * has one of the following four basic types:
 *   - node-set
 *   - boolean
 *   - number
 *   - string
 *
 * @@ XPointer will add more types !
 */

typedef enum {
    XPATH_UNDEFINED = 0,
    XPATH_NODESET = 1,
    XPATH_BOOLEAN = 2,
    XPATH_NUMBER = 3,
    XPATH_STRING = 4,
#ifdef LIBXML_XPTR_LOCS_ENABLED
    XPATH_POINT = 5,
    XPATH_RANGE = 6,
    XPATH_LOCATIONSET = 7,
#endif
    XPATH_USERS = 8,
    XPATH_XSLT_TREE = 9  /* An XSLT value tree, non modifiable */
} xmlXPathObjectType;

#ifndef LIBXML_XPTR_LOCS_ENABLED
/** DOC_DISABLE */
#define XPATH_POINT 5
#define XPATH_RANGE 6
#define XPATH_LOCATIONSET 7
/** DOC_ENABLE */
#endif

typedef struct _xmlXPathObject xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
struct _xmlXPathObject {
    xmlXPathObjectType type;
    xmlNodeSetPtr nodesetval;
    int boolval;
    double floatval;
    xmlChar *stringval;
    void *user;
    int index;
    void *user2;
    int index2;
};

/**
 * xmlXPathConvertFunc:
 * @obj:  an XPath object
 * @type:  the number of the target type
 *
 * A conversion function is associated to a type and used to cast
 * the new type to primitive values.
 *
 * Returns -1 in case of error, 0 otherwise
 */
typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type);

/*
 * Extra type: a name and a conversion function.
 */

typedef struct _xmlXPathType xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
struct _xmlXPathType {
    const xmlChar         *name;		/* the type name */
    xmlXPathConvertFunc func;		/* the conversion function */
};

/*
 * Extra variable: a name and a value.
 */

typedef struct _xmlXPathVariable xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
struct _xmlXPathVariable {
    const xmlChar       *name;		/* the variable name */
    xmlXPathObjectPtr value;		/* the value */
};

/**
 * xmlXPathEvalFunc:
 * @ctxt: an XPath parser context
 * @nargs: the number of arguments passed to the function
 *
 * An XPath evaluation function, the parameters are on the XPath context stack.
 */

typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt,
	                         int nargs);

/*
 * Extra function: a name and a evaluation function.
 */

typedef struct _xmlXPathFunct xmlXPathFunct;
typedef xmlXPathFunct *xmlXPathFuncPtr;
struct _xmlXPathFunct {
    const xmlChar      *name;		/* the function name */
    xmlXPathEvalFunc func;		/* the evaluation function */
};

/**
 * xmlXPathAxisFunc:
 * @ctxt:  the XPath interpreter context
 * @cur:  the previous node being explored on that axis
 *
 * An axis traversal function. To traverse an axis, the engine calls
 * the first time with cur == NULL and repeat until the function returns
 * NULL indicating the end of the axis traversal.
 *
 * Returns the next node in that axis or NULL if at the end of the axis.
 */

typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt,
				 xmlXPathObjectPtr cur);

/*
 * Extra axis: a name and an axis function.
 */

typedef struct _xmlXPathAxis xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
struct _xmlXPathAxis {
    const xmlChar      *name;		/* the axis name */
    xmlXPathAxisFunc func;		/* the search function */
};

/**
 * xmlXPathFunction:
 * @ctxt:  the XPath interprestation context
 * @nargs:  the number of arguments
 *
 * An XPath function.
 * The arguments (if any) are popped out from the context stack
 * and the result is pushed on the stack.
 */

typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);

/*
 * Function and Variable Lookup.
 */

/**
 * xmlXPathVariableLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the variable
 * @ns_uri:  the namespace name hosting this variable
 *
 * Prototype for callbacks used to plug variable lookup in the XPath
 * engine.
 *
 * Returns the XPath object value or NULL if not found.
 */
typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
                                         const xmlChar *name,
                                         const xmlChar *ns_uri);

/**
 * xmlXPathFuncLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the function
 * @ns_uri:  the namespace name hosting this function
 *
 * Prototype for callbacks used to plug function lookup in the XPath
 * engine.
 *
 * Returns the XPath function or NULL if not found.
 */
typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
					 const xmlChar *name,
					 const xmlChar *ns_uri);

/**
 * xmlXPathFlags:
 * Flags for XPath engine compilation and runtime
 */
/**
 * XML_XPATH_CHECKNS:
 *
 * check namespaces at compilation
 */
#define XML_XPATH_CHECKNS (1<<0)
/**
 * XML_XPATH_NOVAR:
 *
 * forbid variables in expression
 */
#define XML_XPATH_NOVAR	  (1<<1)

/**
 * xmlXPathContext:
 *
 * Expression evaluation occurs with respect to a context.
 * he context consists of:
 *    - a node (the context node)
 *    - a node list (the context node list)
 *    - a set of variable bindings
 *    - a function library
 *    - the set of namespace declarations in scope for the expression
 * Following the switch to hash tables, this need to be trimmed up at
 * the next binary incompatible release.
 * The node may be modified when the context is passed to libxml2
 * for an XPath evaluation so you may need to initialize it again
 * before the next call.
 */

struct _xmlXPathContext {
    xmlDocPtr doc;			/* The current document */
    xmlNodePtr node;			/* The current node */

    int nb_variables_unused;		/* unused (hash table) */
    int max_variables_unused;		/* unused (hash table) */
    xmlHashTablePtr varHash;		/* Hash table of defined variables */

    int nb_types;			/* number of defined types */
    int max_types;			/* max number of types */
    xmlXPathTypePtr types;		/* Array of defined types */

    int nb_funcs_unused;		/* unused (hash table) */
    int max_funcs_unused;		/* unused (hash table) */
    xmlHashTablePtr funcHash;		/* Hash table of defined funcs */

    int nb_axis;			/* number of defined axis */
    int max_axis;			/* max number of axis */
    xmlXPathAxisPtr axis;		/* Array of defined axis */

    /* the namespace nodes of the context node */
    xmlNsPtr *namespaces;		/* Array of namespaces */
    int nsNr;				/* number of namespace in scope */
    void *user;				/* function to free */

    /* extra variables */
    int contextSize;			/* the context size */
    int proximityPosition;		/* the proximity position */

    /* extra stuff for XPointer */
    int xptr;				/* is this an XPointer context? */
    xmlNodePtr here;			/* for here() */
    xmlNodePtr origin;			/* for origin() */

    /* the set of namespace declarations in scope for the expression */
    xmlHashTablePtr nsHash;		/* The namespaces hash table */
    xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */
    void *varLookupData;		/* variable lookup data */

    /* Possibility to link in an extra item */
    void *extra;                        /* needed for XSLT */

    /* The function name and URI when calling a function */
    const xmlChar *function;
    const xmlChar *functionURI;

    /* function lookup function and data */
    xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */
    void *funcLookupData;		/* function lookup data */

    /* temporary namespace lists kept for walking the namespace axis */
    xmlNsPtr *tmpNsList;		/* Array of namespaces */
    int tmpNsNr;			/* number of namespaces in scope */

    /* error reporting mechanism */
    void *userData;                     /* user specific data block */
    xmlStructuredErrorFunc error;       /* the callback in case of errors */
    xmlError lastError;			/* the last error */
    xmlNodePtr debugNode;		/* the source node XSLT */

    /* dictionary */
    xmlDictPtr dict;			/* dictionary if any */

    int flags;				/* flags to control compilation */

    /* Cache for reusal of XPath objects */
    void *cache;

    /* Resource limits */
    unsigned long opLimit;
    unsigned long opCount;
    int depth;
};

/*
 * The structure of a compiled expression form is not public.
 */

typedef struct _xmlXPathCompExpr xmlXPathCompExpr;
typedef xmlXPathCompExpr *xmlXPathCompExprPtr;

/**
 * xmlXPathParserContext:
 *
 * An XPath parser context. It contains pure parsing information,
 * an xmlXPathContext, and the stack of objects.
 */
struct _xmlXPathParserContext {
    const xmlChar *cur;			/* the current char being parsed */
    const xmlChar *base;			/* the full expression */

    int error;				/* error code */

    xmlXPathContextPtr  context;	/* the evaluation context */
    xmlXPathObjectPtr     value;	/* the current value */
    int                 valueNr;	/* number of values stacked */
    int                valueMax;	/* max number of values stacked */
    xmlXPathObjectPtr *valueTab;	/* stack of values */

    xmlXPathCompExprPtr comp;		/* the precompiled expression */
    int xptr;				/* it this an XPointer expression */
    xmlNodePtr         ancestor;	/* used for walking preceding axis */

    int              valueFrame;        /* used to limit Pop on the stack */
};

/************************************************************************
 *									*
 *			Public API					*
 *									*
 ************************************************************************/

/**
 * Objects and Nodesets handling
 */

XMLPUBVAR double xmlXPathNAN;
XMLPUBVAR double xmlXPathPINF;
XMLPUBVAR double xmlXPathNINF;

/* These macros may later turn into functions */
/**
 * xmlXPathNodeSetGetLength:
 * @ns:  a node-set
 *
 * Implement a functionality similar to the DOM NodeList.length.
 *
 * Returns the number of nodes in the node-set.
 */
#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0)
/**
 * xmlXPathNodeSetItem:
 * @ns:  a node-set
 * @index:  index of a node in the set
 *
 * Implements a functionality similar to the DOM NodeList.item().
 *
 * Returns the xmlNodePtr at the given @index in @ns or NULL if
 *         @index is out of range (0 to length-1)
 */
#define xmlXPathNodeSetItem(ns, index)				\
		((((ns) != NULL) &&				\
		  ((index) >= 0) && ((index) < (ns)->nodeNr)) ?	\
		 (ns)->nodeTab[(index)]				\
		 : NULL)
/**
 * xmlXPathNodeSetIsEmpty:
 * @ns: a node-set
 *
 * Checks whether @ns is empty or not.
 *
 * Returns %TRUE if @ns is an empty node-set.
 */
#define xmlXPathNodeSetIsEmpty(ns)                                      \
    (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))


XMLPUBFUN void XMLCALL
		    xmlXPathFreeObject		(xmlXPathObjectPtr obj);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		    xmlXPathNodeSetCreate	(xmlNodePtr val);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSetList	(xmlXPathObjectPtr obj);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSet		(xmlNodeSetPtr obj);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathObjectCopy		(xmlXPathObjectPtr val);
XMLPUBFUN int XMLCALL
		    xmlXPathCmpNodes		(xmlNodePtr node1,
						 xmlNodePtr node2);
/**
 * Conversion functions to basic types.
 */
XMLPUBFUN int XMLCALL
		    xmlXPathCastNumberToBoolean	(double val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastStringToBoolean	(const xmlChar * val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
XMLPUBFUN int XMLCALL
		    xmlXPathCastToBoolean	(xmlXPathObjectPtr val);

XMLPUBFUN double XMLCALL
		    xmlXPathCastBooleanToNumber	(int val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastStringToNumber	(const xmlChar * val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeToNumber	(xmlNodePtr node);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns);
XMLPUBFUN double XMLCALL
		    xmlXPathCastToNumber	(xmlXPathObjectPtr val);

XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastBooleanToString	(int val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNumberToString	(double val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeToString	(xmlNodePtr node);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastToString	(xmlXPathObjectPtr val);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertBoolean	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertNumber	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertString	(xmlXPathObjectPtr val);

/**
 * Context handling.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPathNewContext		(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeContext		(xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
				            int active,
					    int value,
					    int options);
/**
 * Evaluation functions.
 */
XMLPUBFUN long XMLCALL
		    xmlXPathOrderDocElems	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		    xmlXPathSetContextNode	(xmlNodePtr node,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathNodeEval		(xmlNodePtr node,
						 const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEval		(const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEvalExpression	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathEvalPredicate	(xmlXPathContextPtr ctxt,
						 xmlXPathObjectPtr res);
/**
 * Separate compilation/evaluation entry points.
 */
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCompile		(const xmlChar *str);
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCtxtCompile		(xmlXPathContextPtr ctxt,
						 const xmlChar *str);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathCompiledEval	(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctx);
XMLPUBFUN int XMLCALL
		    xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeCompExpr	(xmlXPathCompExprPtr comp);
#endif /* LIBXML_XPATH_ENABLED */
#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPathInit		(void);
XMLPUBFUN int XMLCALL
		xmlXPathIsNaN	(double val);
XMLPUBFUN int XMLCALL
		xmlXPathIsInf	(double val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/
#endif /* ! __XML_XPATH_H__ */
include/libxml2/libxml/xmlversion.h000064400000020344150505765530013424 0ustar00/*
 * Summary: compile-time version information
 * Description: compile-time version information for the XML library
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_VERSION_H__
#define __XML_VERSION_H__

#include <libxml/xmlexports.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * use those to be sure nothing nasty will happen if
 * your library and includes mismatch
 */
#ifndef LIBXML2_COMPILING_MSCCDEF
XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif /* LIBXML2_COMPILING_MSCCDEF */

/**
 * LIBXML_DOTTED_VERSION:
 *
 * the version string like "1.2.3"
 */
#define LIBXML_DOTTED_VERSION "2.10.2"

/**
 * LIBXML_VERSION:
 *
 * the version number: 1.2.3 value is 10203
 */
#define LIBXML_VERSION 21002

/**
 * LIBXML_VERSION_STRING:
 *
 * the version number string, 1.2.3 value is "10203"
 */
#define LIBXML_VERSION_STRING "21002"

/**
 * LIBXML_VERSION_EXTRA:
 *
 * extra version information, used to show a git commit description
 */
#define LIBXML_VERSION_EXTRA ""

/**
 * LIBXML_TEST_VERSION:
 *
 * Macro to check that the libxml version in use is compatible with
 * the version the software has been compiled against
 */
#define LIBXML_TEST_VERSION xmlCheckVersion(21002);

#ifndef VMS
#if 0
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO
#else
/**
 * WITHOUT_TRIO:
 *
 * defined if the trio support should not be configured in
 */
#define WITHOUT_TRIO
#endif
#else /* VMS */
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO 1
#endif /* VMS */

/**
 * LIBXML_THREAD_ENABLED:
 *
 * Whether the thread support is configured in
 */
#if 1
#define LIBXML_THREAD_ENABLED
#endif

/**
 * LIBXML_THREAD_ALLOC_ENABLED:
 *
 * Whether the allocation hooks are per-thread
 */
#if 0
#define LIBXML_THREAD_ALLOC_ENABLED
#endif

/**
 * LIBXML_TREE_ENABLED:
 *
 * Whether the DOM like tree manipulation API support is configured in
 */
#if 1
#define LIBXML_TREE_ENABLED
#endif

/**
 * LIBXML_OUTPUT_ENABLED:
 *
 * Whether the serialization/saving support is configured in
 */
#if 1
#define LIBXML_OUTPUT_ENABLED
#endif

/**
 * LIBXML_PUSH_ENABLED:
 *
 * Whether the push parsing interfaces are configured in
 */
#if 1
#define LIBXML_PUSH_ENABLED
#endif

/**
 * LIBXML_READER_ENABLED:
 *
 * Whether the xmlReader parsing interface is configured in
 */
#if 1
#define LIBXML_READER_ENABLED
#endif

/**
 * LIBXML_PATTERN_ENABLED:
 *
 * Whether the xmlPattern node selection interface is configured in
 */
#if 1
#define LIBXML_PATTERN_ENABLED
#endif

/**
 * LIBXML_WRITER_ENABLED:
 *
 * Whether the xmlWriter saving interface is configured in
 */
#if 1
#define LIBXML_WRITER_ENABLED
#endif

/**
 * LIBXML_SAX1_ENABLED:
 *
 * Whether the older SAX1 interface is configured in
 */
#if 1
#define LIBXML_SAX1_ENABLED
#endif

/**
 * LIBXML_FTP_ENABLED:
 *
 * Whether the FTP support is configured in
 */
#if 1
#define LIBXML_FTP_ENABLED
#endif

/**
 * LIBXML_HTTP_ENABLED:
 *
 * Whether the HTTP support is configured in
 */
#if 1
#define LIBXML_HTTP_ENABLED
#endif

/**
 * LIBXML_VALID_ENABLED:
 *
 * Whether the DTD validation support is configured in
 */
#if 1
#define LIBXML_VALID_ENABLED
#endif

/**
 * LIBXML_HTML_ENABLED:
 *
 * Whether the HTML support is configured in
 */
#if 1
#define LIBXML_HTML_ENABLED
#endif

/**
 * LIBXML_LEGACY_ENABLED:
 *
 * Whether the deprecated APIs are compiled in for compatibility
 */
#if 0
#define LIBXML_LEGACY_ENABLED
#endif

/**
 * LIBXML_C14N_ENABLED:
 *
 * Whether the Canonicalization support is configured in
 */
#if 1
#define LIBXML_C14N_ENABLED
#endif

/**
 * LIBXML_CATALOG_ENABLED:
 *
 * Whether the Catalog support is configured in
 */
#if 1
#define LIBXML_CATALOG_ENABLED
#endif

/**
 * LIBXML_XPATH_ENABLED:
 *
 * Whether XPath is configured in
 */
#if 1
#define LIBXML_XPATH_ENABLED
#endif

/**
 * LIBXML_XPTR_ENABLED:
 *
 * Whether XPointer is configured in
 */
#if 1
#define LIBXML_XPTR_ENABLED
#endif

/**
 * LIBXML_XPTR_LOCS_ENABLED:
 *
 * Whether support for XPointer locations is configured in
 */
#if 0
#define LIBXML_XPTR_LOCS_ENABLED
#endif

/**
 * LIBXML_XINCLUDE_ENABLED:
 *
 * Whether XInclude is configured in
 */
#if 1
#define LIBXML_XINCLUDE_ENABLED
#endif

/**
 * LIBXML_ICONV_ENABLED:
 *
 * Whether iconv support is available
 */
#if 1
#define LIBXML_ICONV_ENABLED
#endif

/**
 * LIBXML_ICU_ENABLED:
 *
 * Whether icu support is available
 */
#if 0
#define LIBXML_ICU_ENABLED
#endif

/**
 * LIBXML_ISO8859X_ENABLED:
 *
 * Whether ISO-8859-* support is made available in case iconv is not
 */
#if 1
#define LIBXML_ISO8859X_ENABLED
#endif

/**
 * LIBXML_DEBUG_ENABLED:
 *
 * Whether Debugging module is configured in
 */
#if 1
#define LIBXML_DEBUG_ENABLED
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * Whether the memory debugging is configured in
 */
#if 0
#define DEBUG_MEMORY_LOCATION
#endif

/**
 * LIBXML_DEBUG_RUNTIME:
 *
 * Whether the runtime debugging is configured in
 */
#if 0
#define LIBXML_DEBUG_RUNTIME
#endif

/**
 * LIBXML_UNICODE_ENABLED:
 *
 * Whether the Unicode related interfaces are compiled in
 */
#if 1
#define LIBXML_UNICODE_ENABLED
#endif

/**
 * LIBXML_REGEXP_ENABLED:
 *
 * Whether the regular expressions interfaces are compiled in
 */
#if 1
#define LIBXML_REGEXP_ENABLED
#endif

/**
 * LIBXML_AUTOMATA_ENABLED:
 *
 * Whether the automata interfaces are compiled in
 */
#if 1
#define LIBXML_AUTOMATA_ENABLED
#endif

/**
 * LIBXML_EXPR_ENABLED:
 *
 * Whether the formal expressions interfaces are compiled in
 *
 * This code is unused and disabled unconditionally for now.
 */
#if 0
#define LIBXML_EXPR_ENABLED
#endif

/**
 * LIBXML_SCHEMAS_ENABLED:
 *
 * Whether the Schemas validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMAS_ENABLED
#endif

/**
 * LIBXML_SCHEMATRON_ENABLED:
 *
 * Whether the Schematron validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMATRON_ENABLED
#endif

/**
 * LIBXML_MODULES_ENABLED:
 *
 * Whether the module interfaces are compiled in
 */
#if 1
#define LIBXML_MODULES_ENABLED
/**
 * LIBXML_MODULE_EXTENSION:
 *
 * the string suffix used by dynamic modules (usually shared libraries)
 */
#define LIBXML_MODULE_EXTENSION ".so" 
#endif

/**
 * LIBXML_ZLIB_ENABLED:
 *
 * Whether the Zlib support is compiled in
 */
#if 1
#define LIBXML_ZLIB_ENABLED
#endif

/**
 * LIBXML_LZMA_ENABLED:
 *
 * Whether the Lzma support is compiled in
 */
#if 1
#define LIBXML_LZMA_ENABLED
#endif

#ifdef __GNUC__

/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */

#ifndef ATTRIBUTE_UNUSED
# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
#  define ATTRIBUTE_UNUSED __attribute__((unused))
# else
#  define ATTRIBUTE_UNUSED
# endif
#endif

/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */

#ifndef LIBXML_ATTR_ALLOC_SIZE
# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
#  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
# else
#  define LIBXML_ATTR_ALLOC_SIZE(x)
# endif
#else
# define LIBXML_ATTR_ALLOC_SIZE(x)
#endif

/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */

#ifndef LIBXML_ATTR_FORMAT
# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
#  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
# else
#  define LIBXML_ATTR_FORMAT(fmt,args)
# endif
#else
# define LIBXML_ATTR_FORMAT(fmt,args)
#endif

#ifndef XML_DEPRECATED
#  ifdef IN_LIBXML
#    define XML_DEPRECATED
#  else
/* Available since at least GCC 3.1 */
#    define XML_DEPRECATED __attribute__((deprecated))
#  endif
#endif

#else /* ! __GNUC__ */
/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */
#define ATTRIBUTE_UNUSED
/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */
#define LIBXML_ATTR_ALLOC_SIZE(x)
/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */
#define LIBXML_ATTR_FORMAT(fmt,args)
/**
 * XML_DEPRECATED:
 *
 * Macro used to indicate that a function, variable, type or struct member
 * is deprecated.
 */
#ifndef XML_DEPRECATED
#define XML_DEPRECATED
#endif
#endif /* __GNUC__ */

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif


include/libxml2/libxml/xmlerror.h000064400000110052150505765540013065 0ustar00/*
 * Summary: error handling
 * Description: the API used to report errors
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#include <libxml/parser.h>

#ifndef __XML_ERROR_H__
#define __XML_ERROR_H__

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlErrorLevel:
 *
 * Indicates the level of an error
 */
typedef enum {
    XML_ERR_NONE = 0,
    XML_ERR_WARNING = 1,	/* A simple warning */
    XML_ERR_ERROR = 2,		/* A recoverable error */
    XML_ERR_FATAL = 3		/* A fatal error */
} xmlErrorLevel;

/**
 * xmlErrorDomain:
 *
 * Indicates where an error may have come from
 */
typedef enum {
    XML_FROM_NONE = 0,
    XML_FROM_PARSER,	/* The XML parser */
    XML_FROM_TREE,	/* The tree module */
    XML_FROM_NAMESPACE,	/* The XML Namespace module */
    XML_FROM_DTD,	/* The XML DTD validation with parser context*/
    XML_FROM_HTML,	/* The HTML parser */
    XML_FROM_MEMORY,	/* The memory allocator */
    XML_FROM_OUTPUT,	/* The serialization code */
    XML_FROM_IO,	/* The Input/Output stack */
    XML_FROM_FTP,	/* The FTP module */
    XML_FROM_HTTP,	/* The HTTP module */
    XML_FROM_XINCLUDE,	/* The XInclude processing */
    XML_FROM_XPATH,	/* The XPath module */
    XML_FROM_XPOINTER,	/* The XPointer module */
    XML_FROM_REGEXP,	/* The regular expressions module */
    XML_FROM_DATATYPE,	/* The W3C XML Schemas Datatype module */
    XML_FROM_SCHEMASP,	/* The W3C XML Schemas parser module */
    XML_FROM_SCHEMASV,	/* The W3C XML Schemas validation module */
    XML_FROM_RELAXNGP,	/* The Relax-NG parser module */
    XML_FROM_RELAXNGV,	/* The Relax-NG validator module */
    XML_FROM_CATALOG,	/* The Catalog module */
    XML_FROM_C14N,	/* The Canonicalization module */
    XML_FROM_XSLT,	/* The XSLT engine from libxslt */
    XML_FROM_VALID,	/* The XML DTD validation with valid context */
    XML_FROM_CHECK,	/* The error checking module */
    XML_FROM_WRITER,	/* The xmlwriter module */
    XML_FROM_MODULE,	/* The dynamically loaded module module*/
    XML_FROM_I18N,	/* The module handling character conversion */
    XML_FROM_SCHEMATRONV,/* The Schematron validator module */
    XML_FROM_BUFFER,    /* The buffers module */
    XML_FROM_URI        /* The URI module */
} xmlErrorDomain;

/**
 * xmlError:
 *
 * An XML Error instance.
 */

typedef struct _xmlError xmlError;
typedef xmlError *xmlErrorPtr;
struct _xmlError {
    int		domain;	/* What part of the library raised this error */
    int		code;	/* The error code, e.g. an xmlParserError */
    char       *message;/* human-readable informative error message */
    xmlErrorLevel level;/* how consequent is the error */
    char       *file;	/* the filename */
    int		line;	/* the line number if available */
    char       *str1;	/* extra string information */
    char       *str2;	/* extra string information */
    char       *str3;	/* extra string information */
    int		int1;	/* extra number information */
    int		int2;	/* error column # or 0 if N/A (todo: rename field when we would brk ABI) */
    void       *ctxt;   /* the parser context if available */
    void       *node;   /* the node in the tree */
};

/**
 * xmlParserError:
 *
 * This is an error that the XML (or HTML) parser can generate
 */
typedef enum {
    XML_ERR_OK = 0,
    XML_ERR_INTERNAL_ERROR, /* 1 */
    XML_ERR_NO_MEMORY, /* 2 */
    XML_ERR_DOCUMENT_START, /* 3 */
    XML_ERR_DOCUMENT_EMPTY, /* 4 */
    XML_ERR_DOCUMENT_END, /* 5 */
    XML_ERR_INVALID_HEX_CHARREF, /* 6 */
    XML_ERR_INVALID_DEC_CHARREF, /* 7 */
    XML_ERR_INVALID_CHARREF, /* 8 */
    XML_ERR_INVALID_CHAR, /* 9 */
    XML_ERR_CHARREF_AT_EOF, /* 10 */
    XML_ERR_CHARREF_IN_PROLOG, /* 11 */
    XML_ERR_CHARREF_IN_EPILOG, /* 12 */
    XML_ERR_CHARREF_IN_DTD, /* 13 */
    XML_ERR_ENTITYREF_AT_EOF, /* 14 */
    XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */
    XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */
    XML_ERR_ENTITYREF_IN_DTD, /* 17 */
    XML_ERR_PEREF_AT_EOF, /* 18 */
    XML_ERR_PEREF_IN_PROLOG, /* 19 */
    XML_ERR_PEREF_IN_EPILOG, /* 20 */
    XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */
    XML_ERR_ENTITYREF_NO_NAME, /* 22 */
    XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */
    XML_ERR_PEREF_NO_NAME, /* 24 */
    XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */
    XML_ERR_UNDECLARED_ENTITY, /* 26 */
    XML_WAR_UNDECLARED_ENTITY, /* 27 */
    XML_ERR_UNPARSED_ENTITY, /* 28 */
    XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */
    XML_ERR_ENTITY_IS_PARAMETER, /* 30 */
    XML_ERR_UNKNOWN_ENCODING, /* 31 */
    XML_ERR_UNSUPPORTED_ENCODING, /* 32 */
    XML_ERR_STRING_NOT_STARTED, /* 33 */
    XML_ERR_STRING_NOT_CLOSED, /* 34 */
    XML_ERR_NS_DECL_ERROR, /* 35 */
    XML_ERR_ENTITY_NOT_STARTED, /* 36 */
    XML_ERR_ENTITY_NOT_FINISHED, /* 37 */
    XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
    XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */
    XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */
    XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */
    XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */
    XML_ERR_LITERAL_NOT_STARTED, /* 43 */
    XML_ERR_LITERAL_NOT_FINISHED, /* 44 */
    XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
    XML_ERR_PI_NOT_STARTED, /* 46 */
    XML_ERR_PI_NOT_FINISHED, /* 47 */
    XML_ERR_NOTATION_NOT_STARTED, /* 48 */
    XML_ERR_NOTATION_NOT_FINISHED, /* 49 */
    XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
    XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */
    XML_ERR_MIXED_NOT_STARTED, /* 52 */
    XML_ERR_MIXED_NOT_FINISHED, /* 53 */
    XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
    XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */
    XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
    XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */
    XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
    XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */
    XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
    XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
    XML_ERR_MISPLACED_CDATA_END, /* 62 */
    XML_ERR_CDATA_NOT_FINISHED, /* 63 */
    XML_ERR_RESERVED_XML_NAME, /* 64 */
    XML_ERR_SPACE_REQUIRED, /* 65 */
    XML_ERR_SEPARATOR_REQUIRED, /* 66 */
    XML_ERR_NMTOKEN_REQUIRED, /* 67 */
    XML_ERR_NAME_REQUIRED, /* 68 */
    XML_ERR_PCDATA_REQUIRED, /* 69 */
    XML_ERR_URI_REQUIRED, /* 70 */
    XML_ERR_PUBID_REQUIRED, /* 71 */
    XML_ERR_LT_REQUIRED, /* 72 */
    XML_ERR_GT_REQUIRED, /* 73 */
    XML_ERR_LTSLASH_REQUIRED, /* 74 */
    XML_ERR_EQUAL_REQUIRED, /* 75 */
    XML_ERR_TAG_NAME_MISMATCH, /* 76 */
    XML_ERR_TAG_NOT_FINISHED, /* 77 */
    XML_ERR_STANDALONE_VALUE, /* 78 */
    XML_ERR_ENCODING_NAME, /* 79 */
    XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
    XML_ERR_INVALID_ENCODING, /* 81 */
    XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
    XML_ERR_CONDSEC_INVALID, /* 83 */
    XML_ERR_VALUE_REQUIRED, /* 84 */
    XML_ERR_NOT_WELL_BALANCED, /* 85 */
    XML_ERR_EXTRA_CONTENT, /* 86 */
    XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
    XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
    XML_ERR_ENTITY_LOOP, /* 89 */
    XML_ERR_ENTITY_BOUNDARY, /* 90 */
    XML_ERR_INVALID_URI, /* 91 */
    XML_ERR_URI_FRAGMENT, /* 92 */
    XML_WAR_CATALOG_PI, /* 93 */
    XML_ERR_NO_DTD, /* 94 */
    XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */
    XML_ERR_VERSION_MISSING, /* 96 */
    XML_WAR_UNKNOWN_VERSION, /* 97 */
    XML_WAR_LANG_VALUE, /* 98 */
    XML_WAR_NS_URI, /* 99 */
    XML_WAR_NS_URI_RELATIVE, /* 100 */
    XML_ERR_MISSING_ENCODING, /* 101 */
    XML_WAR_SPACE_VALUE, /* 102 */
    XML_ERR_NOT_STANDALONE, /* 103 */
    XML_ERR_ENTITY_PROCESSING, /* 104 */
    XML_ERR_NOTATION_PROCESSING, /* 105 */
    XML_WAR_NS_COLUMN, /* 106 */
    XML_WAR_ENTITY_REDEFINED, /* 107 */
    XML_ERR_UNKNOWN_VERSION, /* 108 */
    XML_ERR_VERSION_MISMATCH, /* 109 */
    XML_ERR_NAME_TOO_LONG, /* 110 */
    XML_ERR_USER_STOP, /* 111 */
    XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */
    XML_NS_ERR_XML_NAMESPACE = 200,
    XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
    XML_NS_ERR_QNAME, /* 202 */
    XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */
    XML_NS_ERR_EMPTY, /* 204 */
    XML_NS_ERR_COLON, /* 205 */
    XML_DTD_ATTRIBUTE_DEFAULT = 500,
    XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */
    XML_DTD_ATTRIBUTE_VALUE, /* 502 */
    XML_DTD_CONTENT_ERROR, /* 503 */
    XML_DTD_CONTENT_MODEL, /* 504 */
    XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */
    XML_DTD_DIFFERENT_PREFIX, /* 506 */
    XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */
    XML_DTD_ELEM_NAMESPACE, /* 508 */
    XML_DTD_ELEM_REDEFINED, /* 509 */
    XML_DTD_EMPTY_NOTATION, /* 510 */
    XML_DTD_ENTITY_TYPE, /* 511 */
    XML_DTD_ID_FIXED, /* 512 */
    XML_DTD_ID_REDEFINED, /* 513 */
    XML_DTD_ID_SUBSET, /* 514 */
    XML_DTD_INVALID_CHILD, /* 515 */
    XML_DTD_INVALID_DEFAULT, /* 516 */
    XML_DTD_LOAD_ERROR, /* 517 */
    XML_DTD_MISSING_ATTRIBUTE, /* 518 */
    XML_DTD_MIXED_CORRUPT, /* 519 */
    XML_DTD_MULTIPLE_ID, /* 520 */
    XML_DTD_NO_DOC, /* 521 */
    XML_DTD_NO_DTD, /* 522 */
    XML_DTD_NO_ELEM_NAME, /* 523 */
    XML_DTD_NO_PREFIX, /* 524 */
    XML_DTD_NO_ROOT, /* 525 */
    XML_DTD_NOTATION_REDEFINED, /* 526 */
    XML_DTD_NOTATION_VALUE, /* 527 */
    XML_DTD_NOT_EMPTY, /* 528 */
    XML_DTD_NOT_PCDATA, /* 529 */
    XML_DTD_NOT_STANDALONE, /* 530 */
    XML_DTD_ROOT_NAME, /* 531 */
    XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */
    XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */
    XML_DTD_UNKNOWN_ELEM, /* 534 */
    XML_DTD_UNKNOWN_ENTITY, /* 535 */
    XML_DTD_UNKNOWN_ID, /* 536 */
    XML_DTD_UNKNOWN_NOTATION, /* 537 */
    XML_DTD_STANDALONE_DEFAULTED, /* 538 */
    XML_DTD_XMLID_VALUE, /* 539 */
    XML_DTD_XMLID_TYPE, /* 540 */
    XML_DTD_DUP_TOKEN, /* 541 */
    XML_HTML_STRUCURE_ERROR = 800,
    XML_HTML_UNKNOWN_TAG, /* 801 */
    XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */
    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
    XML_RNGP_ATTR_CONFLICT, /* 1001 */
    XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */
    XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */
    XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */
    XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */
    XML_RNGP_CHOICE_CONTENT, /* 1006 */
    XML_RNGP_CHOICE_EMPTY, /* 1007 */
    XML_RNGP_CREATE_FAILURE, /* 1008 */
    XML_RNGP_DATA_CONTENT, /* 1009 */
    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */
    XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */
    XML_RNGP_DEFINE_EMPTY, /* 1012 */
    XML_RNGP_DEFINE_MISSING, /* 1013 */
    XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */
    XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */
    XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */
    XML_RNGP_ELEMENT_EMPTY, /* 1017 */
    XML_RNGP_ELEMENT_CONTENT, /* 1018 */
    XML_RNGP_ELEMENT_NAME, /* 1019 */
    XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */
    XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */
    XML_RNGP_EMPTY, /* 1022 */
    XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */
    XML_RNGP_EMPTY_CONTENT, /* 1024 */
    XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */
    XML_RNGP_ERROR_TYPE_LIB, /* 1026 */
    XML_RNGP_EXCEPT_EMPTY, /* 1027 */
    XML_RNGP_EXCEPT_MISSING, /* 1028 */
    XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */
    XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */
    XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */
    XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */
    XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */
    XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */
    XML_RNGP_FOREIGN_ELEMENT, /* 1035 */
    XML_RNGP_GRAMMAR_CONTENT, /* 1036 */
    XML_RNGP_GRAMMAR_EMPTY, /* 1037 */
    XML_RNGP_GRAMMAR_MISSING, /* 1038 */
    XML_RNGP_GRAMMAR_NO_START, /* 1039 */
    XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */
    XML_RNGP_HREF_ERROR, /* 1041 */
    XML_RNGP_INCLUDE_EMPTY, /* 1042 */
    XML_RNGP_INCLUDE_FAILURE, /* 1043 */
    XML_RNGP_INCLUDE_RECURSE, /* 1044 */
    XML_RNGP_INTERLEAVE_ADD, /* 1045 */
    XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */
    XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */
    XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */
    XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */
    XML_RNGP_INVALID_URI, /* 1050 */
    XML_RNGP_INVALID_VALUE, /* 1051 */
    XML_RNGP_MISSING_HREF, /* 1052 */
    XML_RNGP_NAME_MISSING, /* 1053 */
    XML_RNGP_NEED_COMBINE, /* 1054 */
    XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */
    XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */
    XML_RNGP_NSNAME_NO_NS, /* 1057 */
    XML_RNGP_PARAM_FORBIDDEN, /* 1058 */
    XML_RNGP_PARAM_NAME_MISSING, /* 1059 */
    XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */
    XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */
    XML_RNGP_PARENTREF_NO_NAME, /* 1062 */
    XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */
    XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */
    XML_RNGP_PARSE_ERROR, /* 1065 */
    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */
    XML_RNGP_PAT_ATTR_ATTR, /* 1067 */
    XML_RNGP_PAT_ATTR_ELEM, /* 1068 */
    XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */
    XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */
    XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */
    XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */
    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */
    XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */
    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */
    XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */
    XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */
    XML_RNGP_PAT_LIST_ATTR, /* 1078 */
    XML_RNGP_PAT_LIST_ELEM, /* 1079 */
    XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */
    XML_RNGP_PAT_LIST_LIST, /* 1081 */
    XML_RNGP_PAT_LIST_REF, /* 1082 */
    XML_RNGP_PAT_LIST_TEXT, /* 1083 */
    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */
    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */
    XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */
    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */
    XML_RNGP_PAT_START_ATTR, /* 1088 */
    XML_RNGP_PAT_START_DATA, /* 1089 */
    XML_RNGP_PAT_START_EMPTY, /* 1090 */
    XML_RNGP_PAT_START_GROUP, /* 1091 */
    XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */
    XML_RNGP_PAT_START_LIST, /* 1093 */
    XML_RNGP_PAT_START_ONEMORE, /* 1094 */
    XML_RNGP_PAT_START_TEXT, /* 1095 */
    XML_RNGP_PAT_START_VALUE, /* 1096 */
    XML_RNGP_PREFIX_UNDEFINED, /* 1097 */
    XML_RNGP_REF_CREATE_FAILED, /* 1098 */
    XML_RNGP_REF_CYCLE, /* 1099 */
    XML_RNGP_REF_NAME_INVALID, /* 1100 */
    XML_RNGP_REF_NO_DEF, /* 1101 */
    XML_RNGP_REF_NO_NAME, /* 1102 */
    XML_RNGP_REF_NOT_EMPTY, /* 1103 */
    XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */
    XML_RNGP_START_CONTENT, /* 1105 */
    XML_RNGP_START_EMPTY, /* 1106 */
    XML_RNGP_START_MISSING, /* 1107 */
    XML_RNGP_TEXT_EXPECTED, /* 1108 */
    XML_RNGP_TEXT_HAS_CHILD, /* 1109 */
    XML_RNGP_TYPE_MISSING, /* 1110 */
    XML_RNGP_TYPE_NOT_FOUND, /* 1111 */
    XML_RNGP_TYPE_VALUE, /* 1112 */
    XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */
    XML_RNGP_UNKNOWN_COMBINE, /* 1114 */
    XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */
    XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */
    XML_RNGP_URI_FRAGMENT, /* 1117 */
    XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */
    XML_RNGP_VALUE_EMPTY, /* 1119 */
    XML_RNGP_VALUE_NO_CONTENT, /* 1120 */
    XML_RNGP_XMLNS_NAME, /* 1121 */
    XML_RNGP_XML_NS, /* 1122 */
    XML_XPATH_EXPRESSION_OK = 1200,
    XML_XPATH_NUMBER_ERROR, /* 1201 */
    XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */
    XML_XPATH_START_LITERAL_ERROR, /* 1203 */
    XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */
    XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */
    XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */
    XML_XPATH_EXPR_ERROR, /* 1207 */
    XML_XPATH_UNCLOSED_ERROR, /* 1208 */
    XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */
    XML_XPATH_INVALID_OPERAND, /* 1210 */
    XML_XPATH_INVALID_TYPE, /* 1211 */
    XML_XPATH_INVALID_ARITY, /* 1212 */
    XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */
    XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */
    XML_XPATH_MEMORY_ERROR, /* 1215 */
    XML_XPTR_SYNTAX_ERROR, /* 1216 */
    XML_XPTR_RESOURCE_ERROR, /* 1217 */
    XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */
    XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */
    XML_XPATH_ENCODING_ERROR, /* 1220 */
    XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */
    XML_TREE_INVALID_HEX = 1300,
    XML_TREE_INVALID_DEC, /* 1301 */
    XML_TREE_UNTERMINATED_ENTITY, /* 1302 */
    XML_TREE_NOT_UTF8, /* 1303 */
    XML_SAVE_NOT_UTF8 = 1400,
    XML_SAVE_CHAR_INVALID, /* 1401 */
    XML_SAVE_NO_DOCTYPE, /* 1402 */
    XML_SAVE_UNKNOWN_ENCODING, /* 1403 */
    XML_REGEXP_COMPILE_ERROR = 1450,
    XML_IO_UNKNOWN = 1500,
    XML_IO_EACCES, /* 1501 */
    XML_IO_EAGAIN, /* 1502 */
    XML_IO_EBADF, /* 1503 */
    XML_IO_EBADMSG, /* 1504 */
    XML_IO_EBUSY, /* 1505 */
    XML_IO_ECANCELED, /* 1506 */
    XML_IO_ECHILD, /* 1507 */
    XML_IO_EDEADLK, /* 1508 */
    XML_IO_EDOM, /* 1509 */
    XML_IO_EEXIST, /* 1510 */
    XML_IO_EFAULT, /* 1511 */
    XML_IO_EFBIG, /* 1512 */
    XML_IO_EINPROGRESS, /* 1513 */
    XML_IO_EINTR, /* 1514 */
    XML_IO_EINVAL, /* 1515 */
    XML_IO_EIO, /* 1516 */
    XML_IO_EISDIR, /* 1517 */
    XML_IO_EMFILE, /* 1518 */
    XML_IO_EMLINK, /* 1519 */
    XML_IO_EMSGSIZE, /* 1520 */
    XML_IO_ENAMETOOLONG, /* 1521 */
    XML_IO_ENFILE, /* 1522 */
    XML_IO_ENODEV, /* 1523 */
    XML_IO_ENOENT, /* 1524 */
    XML_IO_ENOEXEC, /* 1525 */
    XML_IO_ENOLCK, /* 1526 */
    XML_IO_ENOMEM, /* 1527 */
    XML_IO_ENOSPC, /* 1528 */
    XML_IO_ENOSYS, /* 1529 */
    XML_IO_ENOTDIR, /* 1530 */
    XML_IO_ENOTEMPTY, /* 1531 */
    XML_IO_ENOTSUP, /* 1532 */
    XML_IO_ENOTTY, /* 1533 */
    XML_IO_ENXIO, /* 1534 */
    XML_IO_EPERM, /* 1535 */
    XML_IO_EPIPE, /* 1536 */
    XML_IO_ERANGE, /* 1537 */
    XML_IO_EROFS, /* 1538 */
    XML_IO_ESPIPE, /* 1539 */
    XML_IO_ESRCH, /* 1540 */
    XML_IO_ETIMEDOUT, /* 1541 */
    XML_IO_EXDEV, /* 1542 */
    XML_IO_NETWORK_ATTEMPT, /* 1543 */
    XML_IO_ENCODER, /* 1544 */
    XML_IO_FLUSH, /* 1545 */
    XML_IO_WRITE, /* 1546 */
    XML_IO_NO_INPUT, /* 1547 */
    XML_IO_BUFFER_FULL, /* 1548 */
    XML_IO_LOAD_ERROR, /* 1549 */
    XML_IO_ENOTSOCK, /* 1550 */
    XML_IO_EISCONN, /* 1551 */
    XML_IO_ECONNREFUSED, /* 1552 */
    XML_IO_ENETUNREACH, /* 1553 */
    XML_IO_EADDRINUSE, /* 1554 */
    XML_IO_EALREADY, /* 1555 */
    XML_IO_EAFNOSUPPORT, /* 1556 */
    XML_XINCLUDE_RECURSION=1600,
    XML_XINCLUDE_PARSE_VALUE, /* 1601 */
    XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */
    XML_XINCLUDE_NO_HREF, /* 1603 */
    XML_XINCLUDE_NO_FALLBACK, /* 1604 */
    XML_XINCLUDE_HREF_URI, /* 1605 */
    XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */
    XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */
    XML_XINCLUDE_INVALID_CHAR, /* 1608 */
    XML_XINCLUDE_BUILD_FAILED, /* 1609 */
    XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */
    XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */
    XML_XINCLUDE_XPTR_FAILED, /* 1612 */
    XML_XINCLUDE_XPTR_RESULT, /* 1613 */
    XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */
    XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */
    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */
    XML_XINCLUDE_DEPRECATED_NS, /* 1617 */
    XML_XINCLUDE_FRAGMENT_ID, /* 1618 */
    XML_CATALOG_MISSING_ATTR = 1650,
    XML_CATALOG_ENTRY_BROKEN, /* 1651 */
    XML_CATALOG_PREFER_VALUE, /* 1652 */
    XML_CATALOG_NOT_CATALOG, /* 1653 */
    XML_CATALOG_RECURSION, /* 1654 */
    XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */
    XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */
    XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */
    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */
    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */
    XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */
    XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */
    XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */
    XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */
    XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */
    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */
    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */
    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */
    XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */
    XML_SCHEMAP_INVALID_ENUM, /* 1715 */
    XML_SCHEMAP_INVALID_FACET, /* 1716 */
    XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */
    XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */
    XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */
    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */
    XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */
    XML_SCHEMAP_NOATTR_NOREF, /* 1722 */
    XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */
    XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */
    XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */
    XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */
    XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */
    XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */
    XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */
    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */
    XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */
    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */
    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */
    XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */
    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */
    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */
    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */
    XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */
    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */
    XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */
    XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */
    XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */
    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */
    XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */
    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */
    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */
    XML_SCHEMAP_UNKNOWN_REF, /* 1747 */
    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */
    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */
    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */
    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */
    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */
    XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */
    XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
    XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
    XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
    XML_SCHEMAP_FAILED_LOAD, /* 1757 */
    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */
    XML_SCHEMAP_NOROOT, /* 1759 */
    XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */
    XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */
    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */
    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */
    XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */
    XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */
    XML_SCHEMAP_FAILED_PARSE, /* 1766 */
    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */
    XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */
    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */
    XML_SCHEMAP_NOT_SCHEMA, /* 1772 */
    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */
    XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */
    XML_SCHEMAP_RECURSIVE, /* 1775 */
    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */
    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */
    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */
    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */
    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */
    XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */
    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */
    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */
    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */
    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */
    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */
    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */
    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */
    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */
    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */
    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */
    XML_SCHEMAV_NOROOT = 1801,
    XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */
    XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */
    XML_SCHEMAV_MISSING, /* 1804 */
    XML_SCHEMAV_WRONGELEM, /* 1805 */
    XML_SCHEMAV_NOTYPE, /* 1806 */
    XML_SCHEMAV_NOROLLBACK, /* 1807 */
    XML_SCHEMAV_ISABSTRACT, /* 1808 */
    XML_SCHEMAV_NOTEMPTY, /* 1809 */
    XML_SCHEMAV_ELEMCONT, /* 1810 */
    XML_SCHEMAV_HAVEDEFAULT, /* 1811 */
    XML_SCHEMAV_NOTNILLABLE, /* 1812 */
    XML_SCHEMAV_EXTRACONTENT, /* 1813 */
    XML_SCHEMAV_INVALIDATTR, /* 1814 */
    XML_SCHEMAV_INVALIDELEM, /* 1815 */
    XML_SCHEMAV_NOTDETERMINIST, /* 1816 */
    XML_SCHEMAV_CONSTRUCT, /* 1817 */
    XML_SCHEMAV_INTERNAL, /* 1818 */
    XML_SCHEMAV_NOTSIMPLE, /* 1819 */
    XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */
    XML_SCHEMAV_ATTRINVALID, /* 1821 */
    XML_SCHEMAV_VALUE, /* 1822 */
    XML_SCHEMAV_FACET, /* 1823 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */
    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */
    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */
    XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */
    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */
    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */
    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */
    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */
    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */
    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */
    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */
    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */
    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */
    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */
    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */
    XML_SCHEMAV_CVC_ELT_1, /* 1845 */
    XML_SCHEMAV_CVC_ELT_2, /* 1846 */
    XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */
    XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */
    XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */
    XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */
    XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */
    XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
    XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
    XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
    XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */
    XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
    XML_SCHEMAV_CVC_ELT_6, /* 1859 */
    XML_SCHEMAV_CVC_ELT_7, /* 1860 */
    XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */
    XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */
    XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */
    XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */
    XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */
    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */
    XML_SCHEMAV_CVC_AU, /* 1874 */
    XML_SCHEMAV_CVC_TYPE_1, /* 1875 */
    XML_SCHEMAV_CVC_TYPE_2, /* 1876 */
    XML_SCHEMAV_CVC_IDC, /* 1877 */
    XML_SCHEMAV_CVC_WILDCARD, /* 1878 */
    XML_SCHEMAV_MISC, /* 1879 */
    XML_XPTR_UNKNOWN_SCHEME = 1900,
    XML_XPTR_CHILDSEQ_START, /* 1901 */
    XML_XPTR_EVAL_FAILED, /* 1902 */
    XML_XPTR_EXTRA_OBJECTS, /* 1903 */
    XML_C14N_CREATE_CTXT = 1950,
    XML_C14N_REQUIRES_UTF8, /* 1951 */
    XML_C14N_CREATE_STACK, /* 1952 */
    XML_C14N_INVALID_NODE, /* 1953 */
    XML_C14N_UNKNOW_NODE, /* 1954 */
    XML_C14N_RELATIVE_NAMESPACE, /* 1955 */
    XML_FTP_PASV_ANSWER = 2000,
    XML_FTP_EPSV_ANSWER, /* 2001 */
    XML_FTP_ACCNT, /* 2002 */
    XML_FTP_URL_SYNTAX, /* 2003 */
    XML_HTTP_URL_SYNTAX = 2020,
    XML_HTTP_USE_IP, /* 2021 */
    XML_HTTP_UNKNOWN_HOST, /* 2022 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
    XML_SCHEMAP_SRC_RESOLVE, /* 3004 */
    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */
    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */
    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */
    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */
    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */
    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
    XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */
    XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */
    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */
    XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */
    XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */
    XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */
    XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */
    XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */
    XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */
    XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */
    XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */
    XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */
    XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */
    XML_SCHEMAP_SRC_INCLUDE, /* 3050 */
    XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */
    XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */
    XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
    XML_SCHEMAP_NO_XMLNS, /* 3056 */
    XML_SCHEMAP_NO_XSI, /* 3057 */
    XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */
    XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */
    XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */
    XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */
    XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */
    XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */
    XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */
    XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */
    XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */
    XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */
    XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */
    XML_SCHEMAP_SRC_CT_1, /* 3076 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */
    XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */
    XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */
    XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */
    XML_SCHEMAP_SRC_REDEFINE, /* 3081 */
    XML_SCHEMAP_SRC_IMPORT, /* 3082 */
    XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */
    XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */
    XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */
    XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */
    XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */
    XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */
    XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */
    XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */
    XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */
    XML_SCHEMATRONV_REPORT,
    XML_MODULE_OPEN = 4900, /* 4900 */
    XML_MODULE_CLOSE, /* 4901 */
    XML_CHECK_FOUND_ELEMENT = 5000,
    XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */
    XML_CHECK_FOUND_TEXT, /* 5002 */
    XML_CHECK_FOUND_CDATA, /* 5003 */
    XML_CHECK_FOUND_ENTITYREF, /* 5004 */
    XML_CHECK_FOUND_ENTITY, /* 5005 */
    XML_CHECK_FOUND_PI, /* 5006 */
    XML_CHECK_FOUND_COMMENT, /* 5007 */
    XML_CHECK_FOUND_DOCTYPE, /* 5008 */
    XML_CHECK_FOUND_FRAGMENT, /* 5009 */
    XML_CHECK_FOUND_NOTATION, /* 5010 */
    XML_CHECK_UNKNOWN_NODE, /* 5011 */
    XML_CHECK_ENTITY_TYPE, /* 5012 */
    XML_CHECK_NO_PARENT, /* 5013 */
    XML_CHECK_NO_DOC, /* 5014 */
    XML_CHECK_NO_NAME, /* 5015 */
    XML_CHECK_NO_ELEM, /* 5016 */
    XML_CHECK_WRONG_DOC, /* 5017 */
    XML_CHECK_NO_PREV, /* 5018 */
    XML_CHECK_WRONG_PREV, /* 5019 */
    XML_CHECK_NO_NEXT, /* 5020 */
    XML_CHECK_WRONG_NEXT, /* 5021 */
    XML_CHECK_NOT_DTD, /* 5022 */
    XML_CHECK_NOT_ATTR, /* 5023 */
    XML_CHECK_NOT_ATTR_DECL, /* 5024 */
    XML_CHECK_NOT_ELEM_DECL, /* 5025 */
    XML_CHECK_NOT_ENTITY_DECL, /* 5026 */
    XML_CHECK_NOT_NS_DECL, /* 5027 */
    XML_CHECK_NO_HREF, /* 5028 */
    XML_CHECK_WRONG_PARENT,/* 5029 */
    XML_CHECK_NS_SCOPE, /* 5030 */
    XML_CHECK_NS_ANCESTOR, /* 5031 */
    XML_CHECK_NOT_UTF8, /* 5032 */
    XML_CHECK_NO_DICT, /* 5033 */
    XML_CHECK_NOT_NCNAME, /* 5034 */
    XML_CHECK_OUTSIDE_DICT, /* 5035 */
    XML_CHECK_WRONG_NAME, /* 5036 */
    XML_CHECK_NAME_NOT_NULL, /* 5037 */
    XML_I18N_NO_NAME = 6000,
    XML_I18N_NO_HANDLER, /* 6001 */
    XML_I18N_EXCESS_HANDLER, /* 6002 */
    XML_I18N_CONV_FAILED, /* 6003 */
    XML_I18N_NO_OUTPUT, /* 6004 */
    XML_BUF_OVERFLOW = 7000
} xmlParserErrors;

/**
 * xmlGenericErrorFunc:
 * @ctx:  a parsing context
 * @msg:  the message
 * @...:  the extra arguments of the varargs to format the message
 *
 * Signature of the function to use when there is an error and
 * no parsing or validity context available .
 */
typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * xmlStructuredErrorFunc:
 * @userData:  user provided data for the error callback
 * @error:  the error being raised.
 *
 * Signature of the function to use when there is an error and
 * the module handles the new error reporting mechanism.
 */
typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);

/*
 * Use the following function to reset the two global variables
 * xmlGenericError and xmlGenericErrorContext.
 */
XMLPUBFUN void XMLCALL
    xmlSetGenericErrorFunc	(void *ctx,
				 xmlGenericErrorFunc handler);
XMLPUBFUN void XMLCALL
    initGenericErrorDefaultFunc	(xmlGenericErrorFunc *handler);

XMLPUBFUN void XMLCALL
    xmlSetStructuredErrorFunc	(void *ctx,
				 xmlStructuredErrorFunc handler);
/*
 * Default message routines used by SAX and Valid context for error
 * and warning reporting.
 */
XMLPUBFUN void XMLCDECL
    xmlParserError		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserWarning		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityError	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityWarning	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileInfo	(xmlParserInputPtr input);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileContext	(xmlParserInputPtr input);

/*
 * Extended error information routines
 */
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlGetLastError		(void);
XMLPUBFUN void XMLCALL
    xmlResetLastError		(void);
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlCtxtGetLastError		(void *ctx);
XMLPUBFUN void XMLCALL
    xmlCtxtResetLastError	(void *ctx);
XMLPUBFUN void XMLCALL
    xmlResetError		(xmlErrorPtr err);
XMLPUBFUN int XMLCALL
    xmlCopyError		(xmlErrorPtr from,
				 xmlErrorPtr to);

#ifdef IN_LIBXML
/*
 * Internal callback reporting routine
 */
XMLPUBFUN void XMLCALL
    __xmlRaiseError		(xmlStructuredErrorFunc schannel,
				 xmlGenericErrorFunc channel,
				 void *data,
                                 void *ctx,
				 void *node,
				 int domain,
				 int code,
				 xmlErrorLevel level,
				 const char *file,
				 int line,
				 const char *str1,
				 const char *str2,
				 const char *str3,
				 int int1,
				 int col,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(16,17);
XMLPUBFUN void XMLCALL
    __xmlSimpleError		(int domain,
				 int code,
				 xmlNodePtr node,
				 const char *msg,
				 const char *extra) LIBXML_ATTR_FORMAT(4,0);
#endif
#ifdef __cplusplus
}
#endif
#endif /* __XML_ERROR_H__ */
include/libxml2/libxml/c14n.h000064400000006055150505765540011767 0ustar00/*
 * Summary: Provide Canonical XML and Exclusive XML Canonicalization
 * Description: the c14n modules provides a
 *
 * "Canonical XML" implementation
 * http://www.w3.org/TR/xml-c14n
 *
 * and an
 *
 * "Exclusive XML Canonicalization" implementation
 * http://www.w3.org/TR/xml-exc-c14n

 * Copy: See Copyright for the status of this software.
 *
 * Author: Aleksey Sanin <aleksey@aleksey.com>
 */
#ifndef __XML_C14N_H__
#define __XML_C14N_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_C14N_ENABLED
#ifdef LIBXML_OUTPUT_ENABLED

#include <libxml/tree.h>
#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*
 * XML Canonicalization
 * http://www.w3.org/TR/xml-c14n
 *
 * Exclusive XML Canonicalization
 * http://www.w3.org/TR/xml-exc-c14n
 *
 * Canonical form of an XML document could be created if and only if
 *  a) default attributes (if any) are added to all nodes
 *  b) all character and parsed entity references are resolved
 * In order to achieve this in libxml2 the document MUST be loaded with
 * following global settings:
 *
 *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    xmlSubstituteEntitiesDefault(1);
 *
 * or corresponding parser context setting:
 *    xmlParserCtxtPtr ctxt;
 *
 *    ...
 *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    ctxt->replaceEntities = 1;
 *    ...
 */

/*
 * xmlC14NMode:
 *
 * Predefined values for C14N modes
 *
 */
typedef enum {
    XML_C14N_1_0            = 0,    /* Original C14N 1.0 spec */
    XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
    XML_C14N_1_1            = 2     /* C14N 1.1 spec */
} xmlC14NMode;

XMLPUBFUN int XMLCALL
		xmlC14NDocSaveTo	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

XMLPUBFUN int XMLCALL
		xmlC14NDocDumpMemory	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlChar **doc_txt_ptr);

XMLPUBFUN int XMLCALL
		xmlC14NDocSave		(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 const char* filename,
					 int compression);


/**
 * This is the core C14N function
 */
/**
 * xmlC14NIsVisibleCallback:
 * @user_data: user data
 * @node: the current node
 * @parent: the parent node
 *
 * Signature for a C14N callback on visible nodes
 *
 * Returns 1 if the node should be included
 */
typedef int (*xmlC14NIsVisibleCallback)	(void* user_data,
					 xmlNodePtr node,
					 xmlNodePtr parent);

XMLPUBFUN int XMLCALL
		xmlC14NExecute		(xmlDocPtr doc,
					 xmlC14NIsVisibleCallback is_visible_callback,
					 void* user_data,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* LIBXML_C14N_ENABLED */
#endif /* __XML_C14N_H__ */

bin/xmlcatalog000075500000050600150505765550007413 0ustar00ELF>� @�I@8@@@@hh����3�3 x<x< x< � �<�< �< ���  ���DDS�td���  P�td222LLQ�tdR�tdx<x< x< ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�c����z��U>‡�z���)�A �K)-��|�BE��)�fUa�qX9�8z�S�* �I�4n���� �9 P"���k�g��p-;�a-_I���@ YH@ �@ &P@  @ �@ B@@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlLoadSGMLSuperCatalogxmlLoadCatalogxmlParseURIxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCheckVersionxmlACatalogRemovexmlCatalogResolveURIxmlCleanupParserxmlCatalogAddxmlCatalogDumpxmlCatalogIsEmptyxmlFreeURIxmlCatalogRemovexmlACatalogDumpxmlFreexmlACatalogAddxmlInitializeCatalogxmlCatalogConvertxmlNewCatalogxmlMemoryDumpxmlCatalogResolvexmlCatalogSetDebuglibc.so.6fflush__printf_chkputs__stack_chk_failstdinfgets__fprintf_chkstdoutfclosemallocremovestderrfwrite__cxa_finalizefopen64strcmp__libc_start_mainfree_edata__bss_start_endGLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64�@ii
�ui	�ti	��L�x< �!�< �!�< �< �? �? �? �? �?  @ -@@ /H@ *P@ ,�> �> �> �> �> �> �> �> 	�> 
? ? 
? ?  ? (? 0? 8? @? H? P? X? `? h? p? x? �? �? �?  �? !�? "�? #�? $�? %�? &�? '�? (��H��H��/ H��t��H����5b. �%c. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#��������%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%}+ D���%u+ D���%m+ D���%e+ D���%]+ D���%U+ D���%M+ D���%E+ D���%=+ D���%5+ D���%-+ D���%%+ D���%+ D���%+ D���%
+ D���%+ D��AWAVAUATUSH��H��(�������
RA��@���L�%,L�-+L�5 IcǹL��H��H����������:-���	H��L���������H��L����������
H��H�=���������H��H�=������t�H�=�H��������k��* f.�A��D9��+�����* A�L�5L�wL�
wL�oIcŹL��L�<�I�H����������V�H��L����������;�H��L���������t�H��L����������XA�E9����tA��A9���@D�hD9��`����=�) �+��) �) ���) �$����E�eMc��2H�����J�<�����I��H����L������L��,) I��D9���J�<��n���H��u�J�<���I��H��u�J��H�5Y�1�����$����( �x�=�( �,����W����1�����B�D(����H�
�( �*�H�=o��H�;�
�$�$H��([]A\A]A^A_����-��H�=m( u����H��H�Y( ������������=a( �����I�71�H�=�����~���H�5
H��H�$�������H�$H�5�H�����H�$���hH�5�H��H�$�|������KH�$H�5�H���a���H�$���,H�5�H��H�$�B������-H�$H�5�H���'���H�$���H�5wH��H�$�������yH�$H�5WH�����H�$���ZH�5GH��H�$�������KH�$H�5'H�����H�$���,H�5H��H�$������NH�$H�5�H���y���H�$���/H�5�H��H�$�Z�����tH�$H�5�H���C���H�$����A����& ������& ����$D��& A��McǹL��I��J�L�*L���������A�}-���L��L��������#�H�=%L��������H�5L��D�T$H�T$L�D$�w���L�D$H�T$��D�T$��H�5�L���Q���L�D$H�T$��D�T$u>E����H�5�L��D�T$L�D$����L�D$D�T$����f.�A��D9����=p% uD�\% R% T% B% t*�=I% tH�= % H��t	�?�sH�=�$ ���������\����d����E��u?J�TJ�tJ�|H��t	�:�QH��1��4������bA��D��$ �L���J�DL�D$H�8H�T$H�D$��H�T$H�5�I��H�H��H�T$����L�D$��t!H�T$H�5zH����L�D$���M���fJ�T1�H�5mL���H����=-$ H�D$���=+$ �L���������ZH�D$H�5@H�8�!���H���H��L��H�D$�h���H�D$H������=�# ��H�|$H����������H�5�H�=����I��H���VH�|$H������L���O����H�=�����$���M��tJ�tL�������y)H�D$H�=# �H�H�1�����$�=# �:�=# �gH�5�" L���z���A��D��" �j���E������N�lI�}������A��D��" �;���H�D$H�8���������" ����������^�������J��H�5��1�����J�<��Y���I��H�����J��H�5��1�����$����H�=X�n�H�D$H���H�D$H�|$1�H�5*H���������D��� ����L�D$����L�D$I���~���H�D$����������O�$�@���H�=�������M���L����H�D$���N���H�=���H��H�D$H���1���H�D$H�0��������H�=! H�
eH�1�����$���I�MH�=�  H�f1���c��$�,���H�D$H�=�  �H�H�1��5��$��  ���H�5����H��t;H���F��{�������H�D$�m�����  ���H�D$�N���H�
L  H�=%  �H�����$�C  ����H�=� H�
UH�b1���}��$�  �
����� �[����� �O���H�=� H�Ѿ1�H���2�H�;�*�$�����=� tA���� ����A����f.�D��1�I��^H��H���PTL��	H�
?	H�=��� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�u H��t��fD�����=� u+UH�=R H��tH�=� ����d����� ]������w����H��H��H�5�1����H�=w
H�����fDAWAVAUATUH�&S�H��dH�%(H��$�1�H��$�L��$�H�$)��H�
� ��H�=
�3�H�=� �7�H�� ��L�����H���LƄ$�M��A�I����������!�%����t������D�I�WLD����I��M)�E�oIc��+�I��H����A���A���E��tA�$A�A����A�6M��@�� u�I��A�0@�� t�@��	t�@�� wH���N@���EH�$�I��@�0�H��A�0@�� w�H��r@��u�Hcҹ21�Ƅ�H��$ H���H�@��	t@�� uf�I��A�0@�� t�@��	t�@��
w
�$1�H��r5�H��$A�$fD@�4A�4Hc�H��@��
w�I��s�H�t$Ƅ 1�E1��H���H�H�����t|<	t	< uDH���< t�<	t�H�WH��<'�R<"Ic���H�|������<	u�fD<	tH��H���H�Ѩ�u�H����A����u�H�4$�H�=�
�������H�4$�H�=�
������qH�4$�H�=h
������RH�4$�H�=M
�������A���H�=4
��L���'���f�H�T��G<"t��t�H�����t<"u�H��<"������A��H�����L��Ƅ$�������f�Ic�H�T��G��u�fDH�����t<'u�H��<'�J����A��H���:���D��A��L��L��I�D�D��I�D��H����H��H�����H�4$�H�=u	�����uA����H�=`	�����H�4$�H�=�
�����u}A��A���CH�T$ H�t$H�|$H�������������H�=S	�!����H�T$H��H�T$�J�H�T$H��I���=L�����L���@ �T���H�4$�H�=i
�������A���SH�=�������H�T$H��H�T$�w�H�T$H��I��u�H�5z�1������H��$�dH3%(��H�ĸL��[]A\A]A^A_���H�<$H�5��B�����A���BH�=������H�=���o���H��$�dH3%(�H�ĸ[]A\A]A^A_�A�$D��A�A�D�A�D����H�5q�1��������H�<$H�5 ����u`E����H�=�{����H��1��L��2���H�|$��������H�=��I����D��A�D�fA�D��l���H�<$H�5��0���tjH�<$H�5�������E�����=m ��~	���=` ���O���H�t$H�|$�?�I��H������H�=|���#���E��t"H�=N���
���H�=� ������� �x�=� �7����H�=0�f�����H�<$H�52�a�����H�=<�=�H�=�1�H�=J�%�H�=v��H�=��
�H�=��H�=���H�=����H�=����H�=����=������H�$H�5��1�����b���f.����AWI��AVI��AUA��ATL�% UH�- SL)�H����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Usage : %s [options] catalogfile entities...
	Parse the catalog file (void specification possibly expressed as ""
	appoints the default system one) and query it for the entities
	--sgml : handle SGML Super catalogs for --add and --del
	--shell : run a shell allowing interactive queries
	--create : create a new catalog
	--add 'type' 'orig' 'replace' : add an XML entry
	--add 'entry' : add an SGML entry
	--del 'values' : remove values
	--noout: avoid dumping the result on stdout
	         used with --add or --del, it saves the catalog changes
	         and with --sgml it automatically updates the super catalog
	--no-super-update: do not update the SGML super catalog
	-v --verbose : provide debug informationResolver failed to find an answer	public PublicID: make a PUBLIC identifier lookup	system SystemID: make a SYSTEM identifier lookup	resolve PublicID SystemID: do a full resolver lookup	add 'type' 'orig' 'replace' : add an entry	dump: print the current catalog state	debug: increase the verbosity level	quiet: decrease the verbosity levelNo catalog entry specified to remove from
Failed to remove entry from %s
> exitquitbyepublicpublic requires 1 argumentsNo entry for PUBLIC %s
systemsystem requires 1 argumentsNo entry for SYSTEM %s
add requires 2 or 3 argumentsadd command faileddel requires 1del command failedresolveresolve requires 2 argumentsdumpdump has no argumentsdebugdebug has no argumentsquietquiet has no argumentshelpUnrecognized command %s
Commands available:	del 'values' : remove values	exit:  quit the shell--v--verbose--noout--shell--sgml--create--convert--no-super-update--add--delUnknown option %s
CATALOG/etc/sgml/catalogwcould not open %s for saving
Failed to remove entry %s
No entry for URI %s
;L8��������@��h�����H���������zRx�x�/D$4���PFJw�?:*3$"\���@t�*Dad�(�5B�B�B �B(�A0�K8�L�	l
8D0A(B BBBEb
8A0A(B BBBAL���F�B�B �B(�A0�A8�G`�
8A0A(B BBBADD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����!�!�< �� 
�*x< �< ���o0�p
��> `�� 	���o���o@���o�o�
���o�< P`p�������� 0@P`p�������� 0@P`p�GA$3a1 !GA$3p1113�E*GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 !�*GA$3p1113P*�*GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�!E*GA+GLIBCXX_ASSERTIONS
GA*FORTIFYP*�*GA+GLIBCXX_ASSERTIONSxmlcatalog-2.10.2-5.el8.x86_64.debug�W��7zXZ�ִF!t/���]?�E�h=��ڊ�2N�	]����e:^��]����������>8�/���Sdb�|a�S�]!��2o�#��/�9u;�#�bs��rȧ,~9V&C�����y��;����2�����Ճpff��9x#=�ñ����+_�>���4�=dC5f��V��%Ҍ`�W���D,�1�F�[K=�yFTW�̎�X��}�!�f�9��ag|�����_��o�gL"̗$Uɭ�w�	����
�i��)/�[%��0���(T���S>�EJ�*�������L�]DP\��z�]��n
�1�r!��X�a�U���L�l�KCw~?UW��Z1�N1�{�3ޥ���ֺhM0�m�깊�J��>tW>*hdil��I��D9�"���@iwQ�@Z�����)��Ԙ�!�d K{CKG��.�'j��
U�4��]A�l'�w_j�'-*(��>#�?>�P�����X��n�tg�}��>�U�ܥ�����u55���\FGC`��7�!�P[⇲<�CO��}��K��˅�<F1+����τy�/MF�}��
"��5�F���jq�����Ne�
Ѵ� 
�L�u��������<+�[��%�?˃���"�rqB����+�B����SV�9��݇r�>V��:��u�7�jL�+��-Ę���p$��
�I1f
�#=�
XN����PU
GX��YG����S�նHDxN'G'�����?�[���
�;�Ar�9Qr��$�1'k���J�n)$Xp�vq>SĠ��0����PZ��_:� V����������7EL]7�_�s�W#�y�_lKH�5�sCK#��0�vQ5�,�Hut藺>����65���nZ�bF�?�7�9o�&t|S�c���ב��F��8K�DZ�g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata���� &�� 4$G���o00@Qpp�Y���a���o�
�
`n���o@@`}�� �B��`�  �@@P���@������*�*
��*�*/�22L�X2X2��x< x<��< �<��< �<��< �<��> �>`�@ @ @ @p 
�@`@� �D,/�D��H>bin/xmllint000075500000222560150505765550006755 0ustar00ELF>P{@�@8@@@@hh������� ��!�!��� ��!�!���  ���DDS�td���  P�td��������Q�tdR�td��!�!``/lib64/ld-linux-x86-64.so.2GNU�GNUGNU@4b���rǭ-�л�ԏ+��A �K����|�BE��)�fUa�qX9�S
C
_
��	�
�s9Q��	v^[
��
��* ��c^f�D	Q����.
��r
S{�t
�
�	a-
}�
�b���
�7����\?�� :�^
��E��
b9 y�
D"	��G
���	V
"�
�K��b	(1�f

q��}��8�o	���	I:	F�(
�Q5�r��
����	�z�	�m
h;
 �K],�	����	�)
�����;/�
0	q�e
x(	!
L�t"
���a	��J����
��
x�!��!�
`!��!�`!�
`!
�!libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablehtmlParseChunkxmlTextReaderHasValuehtmlCtxtUseOptionsxmlNoNetExternalEntityLoaderxmlParseDocumentxmlParseChunkxmlSchematronNewParserCtxtxmlParseFilexmlFreePatterninputPushxmlFreeStreamCtxtxmlXPathIsNaNxmlFreeTextReaderxmlFreeValidCtxtxmlRelaxNGValidateDocxmlC14NDocDumpMemoryxmlValidGetValidElementsxmlMemoryStrdupxmlAddEncodingAliasxmlMemMallocxmlSchemaParsexmlFreeParserInputBufferxmlCtxtReadIOxmlTextReaderConstNamespaceUrixmlTextReaderIsEmptyElementxmlXPathNewContextxmlRelaxNGSetParserErrors__xmlParserVersionhtmlDocDumpxmlTextReaderIsValidxmlStreamPopxmlSetCompressModexmlDocDumpFormatMemoryxmlSAXDefaultVersionxmlXPathIsInfxmlSchemaSetParserErrorsxmlPedanticParserDefault__xmlParserDebugEntitiesxmlOutputBufferCreateFilexmlDebugDumpDocumentxmlRelaxNGFreeParserCtxtxmlParseDTDxmlNodeSetContentxmlCheckVersionxmlFreeParserCtxtxmlNewIOInputStreamxmlValidateDocumentxmlTextReaderConstValuexmlReadFilexmlDebugDumpEntitieshtmlCreatePushParserCtxtxmlReaderWalkerxmlSchematronFree__xmlTreeIndentStringxmlMemSetupxmlXPathFreeObjecthtmlSaveFilexmlSetExternalEntityLoaderxmlCopyDocxmlNewDocxmlSchemaFreeValidCtxtxmlCleanupParserxmlSchemaSetValidErrors__xmlLoadExtDtdDefaultValuexmlNodeDumpOutputxmlStrdupxmlSchemaValidateStreamxmlStrndupxmlSchemaFreeParserCtxtxmlSaveToFilenamexmlFreeDocxmlValidateDtdxmlTextReaderNodeTypexmlSchemaValidateDoc__xmlGenericErrorContextxmlNewParserCtxtxmlCtxtReadMemoryxmlTextReaderSchemaValidatexmlSchematronFreeParserCtxtxmlTextReaderConstNamexmlPatternMatch__xmlGenericErrorxmlOutputBufferClosexmlHasFeaturexmlDocGetRootElementxmlEncodeEntitiesReentrantxmlCtxtUseOptionsxmlSchematronValidateDocxmlSchemaFreexmlCreatePushParserCtxtxmlRelaxNGNewValidCtxtxmlSaveClosexmlPatterncompilexmlTextReaderSetParserPropxmlOutputBufferWritexmlFreexmlSchemaValidateSetFilenamexmlRelaxNGParsexmlFreeDtdhtmlReadMemory__xmlDoValidityCheckingDefaultValuexmlSchematronFreeValidCtxtxmlTextReaderConstLocalNamexmlDeregisterNodeDefaultxmlDocDumpMemoryxmlTextReaderCurrentNodexmlGetIntSubsetxmlParserInputBufferCreateFilenamexmlTextReaderRelaxNGValidatexmlTextReaderReadxmlXPathFreeContextxmlGetExternalEntityLoaderxmlShellxmlXPathEvalxmlStreamPushxmlReadFdxmlStrcatxmlSubstituteEntitiesDefaultxmlMemReallocxmlFreeEnumerationhtmlFreeParserCtxtxmlSchemaNewValidCtxtxmlReaderForMemoryxmlMemoryDumpxmlSchemaNewParserCtxtxmlMemUsedxmlUnlinkNodexmlGetNodePathxmlReadIOxmlXIncludeProcessFlagsxmlLineNumbersDefaultxmlNewValidCtxtxmlSaveFilexmlTextReaderDepthxmlNewDocNodehtmlReadFilehtmlSaveFileFormatxmlDocSetRootElementxmlRelaxNGSetValidErrorsxmlRegisterNodeDefaultxmlMemFree__xmlGetWarningsDefaultValuexmlCtxtReadFilexmlRelaxNGFreeValidCtxtxmlReaderForFilexmlXPathOrderDocElemsxmlPatternGetStreamCtxtxmlKeepBlanksDefaultxmlSaveToFdxmlLoadCatalogsxmlSchematronParsexmlSchematronNewValidCtxtxmlRelaxNGFreexmlDocDumpFormatMemoryEncxmlReadMemoryxmlSaveDocxmlRelaxNGNewParserCtxtxmlDocDumpMemoryEnclibc.so.6fflush__printf_chkexit__isoc99_sscanfmmap64__stack_chk_failputcharstdin__assert_failstrtolfgets__fprintf_chkstdoutfputcfputsfclose__vsnprintf_chkmalloc__xstat64getenvstderrmunmap__snprintf_chkfwritefreadgettimeofday__fread_chk__vfprintf_chk__cxa_finalizefopen64strcmp__libc_start_mainsnprintffree_edata__bss_start_endGLIBC_2.4GLIBC_2.7GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.9.0LIBXML2_2.5.6LIBXML2_2.6.3LIBXML2_2.6.18LIBXML2_2.6.8LIBXML2_2.5.7LIBXML2_2.6.20LIBXML2_2.5.2LIBXML2_2.6.21LIBXML2_2.5.0LIBXML2_2.6.0LIBXML2_2.5.8LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64	









	


@Pii
�
ii
	�
ti	�
ui	�

����
����
����
ȫL���
���ЫL-���
<ѫLJ���Y���g���u�L��!0|�!�{�!�!@!@�H!0�P!��X!й`!�h!��p!@|x!���!���!P��!�|�!��! ��!`��!P��!���!���!0��!��!0��!0��!0�!�!��!�(!�0!��@!`!`!@�h!0�p!��x!й�!��!���!@|�!���!���!P��!�|�!��! ��!`��!���!p��!P��!���!���!0�!�!0�!0�!0� !�(!��0!��!�!/�!=�!E�!Q�!\`!��!��!��!��	!�	!�	!�	!
!
!
!
! 
!	(
!
0
!8
!@
!
H
!P
!X
!`
!h
!p
!x
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
! �
!!�
!"�
!#�
!$�
!%!&!'!(!) !*(!+0!,8!-@!.H!0P!1X!2`!3h!4p!5x!6�!7�!8�!9�!:�!;�!<�!>�!?�!@�!A�!B�!C�!D�!F�!G�!H!I!J!K!L !M(!N0!O8!P@!RH!SP!TX!U`!Vh!Wp!Xx!Y�!Z�![�!\�!]�!^�!_�!`�!a�!b�!c�!d�!e�!f�!g�!h�!i
!j
!k
!l
!m 
!n(
!o0
!p8
!q@
!rH
!sP
!tX
!u`
!vh
!wp
!xx
!y�
!z�
!{�
!|�
!}�
!~�
!�
!��
!��
!��
!��
!��
!��
!��
!��
!��
!�!�!�!�!� !�(!�0!�8!�@!�H!�P!�X!�`!�h!�p!�x!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!�!�!�!�!� !�(!�0!�8!�@!�H!�P!�X!�`!�h!�p!�x!��!��!��!��!��!��!��!��!��!��!���H��H��� H��t��H����5�� �%�� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h�������%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݼ D���%ռ D���%ͼ D���%ż D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݻ D���%ջ D���%ͻ D���%Ż D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݺ D���%պ D���%ͺ D���%ź D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݹ D���%չ D���%͹ D���%Ź D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݸ D���%ո D���%͸ D���%Ÿ D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݷ D���%շ D���%ͷ D���%ŷ D���%�� D��AWAVAUATUH��SH��������A�L�=��L�5$�!L�-�����!A��D9�~mIc�L��H�D��8-u�H��L����€���tH�ƹ	L�������u�A��D9�~�J�|
1�L��H�5M������u��DD���!E���
�
RA�L�%�����D$�Ic�L�t�L�,�A�>-��A�~t�L��L����������L��H�=���������H�=�L�������tH�5wL���>���������!���!DA��D9��S���D��!E��u
�=�!��	D�
�!E���&��0���D�y!E����H�=؂����I��H��t��L� ���H�=-H�}!�l���������=|!���{�5r!���`�
�!���|��!���^�l!��t
�=�!��	H�=s!���=�~!���=�~!�H�=k!��H�=�~!H��t
�=�~!��	�D$A�L�%��IcǹL��L�l�M�uL����������	L��H�=Ȁ��������L��H�=F��������L��H�=,������x�	L��H�=
������ZH�5WL���+������CH�5?L���������,H�5ՀL��������H�5��L���������H�5L����������H�5�~L���������H�58�L���������H�5 �L���������H�5�|L���s�������H�5�|L���\������tH�5�L���E������]H�5�L���.������FH�5�L���������/H�5�L���������H�5�L��������H�5{L����������H�5-L���������H�5L���������H�5lL���������H�5TL���v��������=K|!���=�|!��A�>-���=|!��{!�w	�=�{!�[	L���8�=�{!t�
�{!����D$�=�{!��5|!���H�=1��-�@�u|!�����
�������H�5�zL���������H�5�zL��������uH�5�zL���x�������H�5�zL���a������H�5�zL���J�������H�5�zL���3�������H�5vzL����������H�5^zL����������H�5PzL���������H�58zL����������H�5*zL���������H�5zL���������H�5zL���������H�5�yL���{�������H�5�yL���d������sH�5�yL���M������\H�5�yL���6������XH�5�yL���������AH�5�zL����������H�5�zL��������H�5�zL�������IH�5�zL�������2H�5xzL������H�5kzL�������H�5SzL���~����H�5GzL���g����H�5/zL���P����H�5"zL���9��tH�5zL���&���{�7y!����y!����q��
Z� ��=�x!�H�=y!��I��H���H����H��x!H���L���2����=�x!tH�=�r1��[*H�=�x!t
�=x!��L�%�x!M���g����=1x!�Z����=Dx!��L����I��H�����a�L�(�Y�1�L��H�0L���Y�L����H�Zx!H����L����=�w!���H�=r1��)����f�A��A��D9�������=�w!���=�w!t
�=>x!���T$�D$~w!	��H�=�w!H��t��H�=�w!H��t��H�=�w!H��t���H�=w!H��t���������.w!H��[]A\A]A^A_�H�=�c��H�=�c�+��F����������t���x����w�������2��u���H�
V'H��'H�5((H�=(�l�������v!	�V����=ev!��������
� ��=iv!��H�=�v!��I��H��t���L�(�~�1�L��H�0L����L�����H��v!H���L���^��=v!����� ���H�=y� �H���H����������H����H�5.yH�81����.����sv!�
,� ���1�1��>6���H�=r� L��1�H��x�L�H�uH�=Q� ����@�����L� �U�H�5F�H�81�A����L� �9�H�5j�H�81�A���e�L�mL� ��L��H�5w�H�81�A���B�L�mL� ��L��H�5��H�81�A�����1�1�1��4�H��t!H������L�-�t!L� ��L��H�5�nH�81�A����t!H�at!���1�H�=�q!�F��7���H�uH�=F� ���ct!������L�5�t!L�(�>�L��H�54�H�81�A���.t!H�t!�!����M�L�5~t!L�(��L��H�5,�H�81�A����s!H�Ot!���H�
�� �%�H�=�������1�H�='q!�r�����1�H�=q!�_��+����
� �{���L�5�s!L�(�g�L��H�55�H�81�A���Ws!H��s!���H�5�uL���L���tH�5�uL���9�����J�D-A��H�ys!��s!�
s� ����s!�
]�  ���
N�  ���
?� ��
0� @��1�L���A3���L���)����4s!��H�5�sL������tH�5psL������u��r!�Q�H�5[sL���b���tH�5GsL���O���u�Xr!�
�� ��H�5-sL���)�����H�5sL������tmH�5
sL������tH�5�rL�������uZ��q!��q!�
3� ��H�5�rL������tH�5�rL������uS�r!��q!�
� �n�H�5�rL������tH�5�rL���l���u���q!�
�� �5�H�5rrL���F���tH�5^rL���3���u#J�D-A���q!�
x� H�yq!���H�54rL������tH�5 rL�������u#J�D-A����p!�
/� H�(q!��H�5�qL������tH�5�qL������u�rp!�q�H�5�qL������tH�5�qL���o���u��p!�?�H�5�qL���P���tH�5�qL���=���u�p!�
�H�5~qL������tH�5jqL������u��o!���H�5UqL�������tH�5AqL�������u��o!��H�5*qL������tH�5qL������u��o!k�
�ҺdD‰�o!�e�H�5�pL���v���tH�5�pL���c���u�ho!�3�H�5�pL���D���tH�5�pL���1���u�6o!��� 
��H�5�pL������tH�5�pL������u��n!���H�5kpL�������tH�5WpL�������u��n!��H�5BpL������tH�5.pL������u�~n!�
ܥ �W�H�5pL���h���tH�5�oL���U���u�Bn!�
�� ���H�5�oL���,���tH�5�oL������u�n!�
d� ���H�5�oL�������tH�5�oL�������u�	�En!�����H�5�oL������tH�5yoL������u�(�1�����
� @�_�H�5UoL���p���tH�5AoL���]���u$���������
�� ���H�5oL���&���tH�5oL������u��m!�������H�5�nL�������tH�5�nL�������u��l!�
$� ��H�5�nL������tH�5�nL������u�^l!�
� �f�H�5�nL���w���tH�5nnL���d���u�!l!�
�� �-�H�5TnL���>���tH�5@nL���+���u��k!��H�5-nL������tH�5nL������u��k!���H�5nL�������tH�5�mL�������u(J�D-H�5�mH�=�mA��H��k!�p��{�H�5�mL������tH�5�mL���y���u1��l!����
�� �8�H�5rjL���I���tH�5^jL���6���u	A���	�H�5hmL������tH�5TmL������u1���k!�xk!�K����H�5.mL�������tH�5mL�������u@J�|-A��H�����1��
���$k!���s�1��k!����`�H�5�lL���q���tH�5�lL���^���u�j!�.�H�5�lL���?���tH�5�lL���,���u��i!��j!��H�5xlL������tH�5dlL���������J�D-A��H��i!��L�m�}�H�=�� �H�BiL�L��1��]����H�
\� H�=:i����������	��������	������^	������*	���������|�������j�������X����Z�	�F����&�
�4�������"�������������
�����V�������"�����������������������������R������� ��������n�������\�������J����N��8������&������������������~�������J����������������������������z�!����uZH�5�� �
����D$��H�5�iL������tH�5}iL������u5��f!�
M� ���H�
�� ��H�=�g���H�5=iL������tH�5)iL������u�(f!�w�H�5iL������tH�5�hL���u�����f!�A�H�5�hL���R���tH�5�hL���?���uJ�D-A����f!H�lf!��H�5�hL������tH�5�hL������uJ�D-A����f!H�f!��H�5�hL�������tH�5qhL������uH�=Л �
� �q���|�H�5LhL������tH�58hL���z���u�%̜ �����G�H�5#hL���X���tH�5hL���E���u��b!��H�5�gL���&���tH�5�gL������u[J�|-A��H�����D�-rb!�?���A��?�< t<:ujH����H�
�� �"�H�=F|�����H�5�gL�������tH�5pgL�������u1J�D-A���e!H�d!�R�I��A���tJ<:tFI����H�55gL���N����tH�5!gL���;�����z���c!�
�� ��L9�����L��H)��i��Ic�H�
a!H��Hcpa!H�<�I��t�P�]a!A��L�����H�
�� ��H�=kd����d���H�
m� �	�H�=?d����0���H�
K� �	�H�=d�����H�
)� ��H�=�c������H�
� ��H�=�c�a����H�
� ��H�=�c�?��`���H�
Ü ��H�=mc���,���H�
�� ��H�=Ec������H�
� �	�H�=c��������H�
]� ��H�=�b������H�
;� ��H�=�b����\���H�
� �	�H�=�b�s���(���H�
�� ��H�=pb�Q����H�
՛ ��H�=Gb�/�����H�
�� �	�H�=b�
�����H�
�� �	�H�=�a�����X���H�
o� ��H�=�a�����$���H�
M� ��H�=�a�����H�
+� ��H�=sa������H�
	� ��H�=Ia�c�����H�
� ��H�=!a�A���T���H�
Ś �	�H�=�`���� ���H�
�� ��H�=�`������H�
�� ��H�=�`�������H�
_� ��H�=}`������H�
=� ��H�=S`����P���H�
� �	�H�='`�u������H�
�� ��H�=�_�S�����H�
י ��H�=�_�1�����H�
�� ��H�=�_������H�
�� ��H�=�_�����L���H�
q� ��H�=X_��������H�5�XL��������5���1�H�=�\!���M�uA�>-���=_!��E1��D$��=�^!uiM��tZI�}L����D$�D$9C_!~R�=�^!t�I�}�W��H�=�� H�b�1������^!������I���I�}�i�M�����L���F����H�5XL�����������7�����^!�i��J�D-A��H��^!�T��@��1�I��^H��H���PTL�6WH�
�VH�=����Z� �H�=ٗ H�җ H9�tH�N� H��t	�����H�=�� H�5�� H)�H��H��H��?H�H�tH�� H��t��fD�����=�� u+UH�=� H��tH�=�� �y���d����u� ]������w������H�qVH��HD�M��LD�M��LDȋ�]!�3� ��t�fDH��H�=
� 1�AQI��H��APA��H�z`����H������H�VH��HD�H��HD�M��LD��z]!�Ö ��t�fDH��H�=�� I��1�APH��I�оH�4`�_��H���f.�SH��H��H�:`�1��6��H�ٺ:�H�=B`���H�ٺ9�H�=i`���H�ٺ7�H�=�`�k��H�ٺ"�H�=�`�R��H�ٺ9�H�=�`�9��H�ٺ8�H�=�`� ��H�ٺ>�H�=a���H�ٺ6�H�=3a����H�ٺ7�H�=Ra����H�ٺ=�H�=qa���H�ٺ(�H�=�a���H�ٺ6�H�=�a���H�ٺ<�H�=�a�q��H�ٺ9�H�=�a�X��H�ٺ2�H�=b�?��H�ٺ$�H�=;b�&��H�ٺ(�H�=Jb�
��H�ٺF�H�=ab����H�ٺ=�H�=�b����H�ٺA�H�=�b����H�ٺD�H�=�b���H�ٺ#�H�=c���H�ٺ�H�=$c�w��H�ٺ0�H�=+c�^��H�ٺ6�H�=Jc�E��H�ٺ-�H�=ic�,��H�ٺ1�H�=�c���H�ٺ�H�=�c���H�ٺ>�H�=�c����H�ٺ*�H�=�c����H�ٺ*�H�=�c���H�ٺE�H�=�c���H�ٺ�H�=*d�}��H�ٺ>�H�=1d�d��H�ٺ:�H�=Xd�K��H�ٺ.�H�=d�2��H�ٺ3�H�=�d���H�ٺ)�H�=�d���H�ٺ2�H�=�d����H�ٺ2�H�=�d����H�ٺ5�H�=
e���H�ٺ(�H�=)e���H�ٺ8�H�=@e���H�ٺC�H�=ge�j��H�ٺ<�H�=�e�Q��H�ٺ>�H�=�e�8��H�ٺE�H�=�e���H�ٺ5�H�=f���H�ٺ"�H�=2f����H�ٺ9�H�=Af����H�ٺ4�H�=hf���H�߾1�H�
}PH��f���H�ٺ'�H�=�f���H�ٺ*�H�=�f�l��H�ٺ%�H�=�f�S��H�ٺ<�H�=�f�:��H�ٺ2�H�=�f�!��H�ٺ �H�=
g���H�ٺD�H�=g����H�ٺD�H�=Kg����H�ٺ>�H�=zg���H�ٺ4�H�=�g���H�ٺ3�H�=�g���H�ٺ=�H�=�g�r��H�ٺ8�H�=h�Y��H�ٺ:�H�=-h�@��H�ٺ4�H�=Th�'��H�ٺ;�H�=sh���H�ٺ>�H�=�h���H�ٺ<�H�=�h����H��[�B�H�=�h����f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���U!��� ��uZH��$��H�
͎ �H�D$H�=NH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���T!��� ��uZH��$��H�
͍ �H�D$H�=MH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���S!��� ��uZH��$��
H�
͌ �H�D$H�=$LH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���AWAVAUI��ATI��UH��SH��(�
�O!H�|$��~0H��1�H��t&�H������fDH����/�HD��u�M���-I�$H��� H���Hǀ�H�T$H���Hǀ�H�`O!H�T$H���1�L�=YO!��~`DI�<��7��H�5KH���H��H��H���=��I��H��t$L��L��H��O!I��H���ZL���I� H��9�N!�H�|$tI�$H�L$H���H�|$t9I�$H�L$H�T$H���H����M��tL��H�5�dL��1�H�L$��E1�H��(L��[]A\A]A^A_��H�D$H�`N!H�D$H�������L��L��H�|$��I��H����H�L$H��tI�$H���H�L$H��tI�$H����
N!���t���H�L$M��H�zIH�=7� LD�L�T$H��IH��HE�M��H��1����L�T$�+���@�
�M!�S���DH�L$H��tI�$H���H�L$H��tI�$H����xM!��t5M��L��L�T$L��HH�=�� H�IME�1��|��L�T$L�T$L����� L�T$����H�59cL��1���E1��y���H�l$�R������S���H��H��t�)���
P!9�|H��[�f.�H�=	� H�c�1�����H��1��O!	�� �ff.�@��S����H��H��t����
�O!9�|H��[�f.�H�=�� H��b�1��v��H��1���N!	��������������S�f��H��H��t�I���
+O!9�|H��[�f.�H�=)� H�"b�1����H��1��3N!	�r���UH��SH���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�1�H�=K!�r��H�
K!�H+
K!H��H��J!H��S㥛� H+�J!H��H��?H��$�H�=>� Hi��H�D$H�D$ �$H���D$0H)�H��H�D$H�H������1�H�پH�=� H��F����H�D$dH3%(u
H���[]������AWAVAUATUSH��H�����H�߉�����
�M!A��uCH�={L!t'����H�=aL!H��t��u
�������H��[]A\A]A^A_�H������H��H��I��H��ELD�����H��I�����H��A�����H��E��M��AW�‰�H�5�E�1����XZM���L��H�5#H�1��u����=���H���H��H���0����+H�
�� �H��H�=�_���H���1H�����H�
�K!�H�=|� I��H�hE1��[���E������H�=CK!���������fD1�H�
?� ��H�=:E���H�=
K!����H��J!H�������H��H��[]A\A]A^A_�%�� f�H���h��H�=�J!H���9��A�ą��1�H�=�J!�\���H��膿��H��I��苾��H�=�J!L��H���9����xeD9���H�������H�
|� �+�H�=�^����H�
WJ!H�=X� 1�I��H�BD��2���E��uJ�/����H�
)� ��H�=�C���H�=�I!����H��I!E�����H�=�I!�g�����������f.��
�־���.����H���8��H��� ���H�
�I!�H�5^CH��H��1��0���H�=pI!�����k���ff.�f�AWAVAUATI��USH��dH�%(H��$�1���I!���[H��H��������1�L��1����A����H�t$0E1�A����1�� ���I��H�����D�|� �t$0H��1�L������H�=�H!H��H����1�1�1��-��H��H!H��tiH������H�zH!H����1�1�H����������H�
n� ��H�=:B����H�=9H!����H�)H!�W����L�=$H!H�(�D���L��H�5XBH�81����5H!H��G!fDH��G!H���G���H������H!���Q��G!����H�-TH!��G!H�����t�H!��u1�H�=6E!聼���H��H���%������}��G!���H�-�G!H��t3H��H��証�������-nG!��tD��G!E����fDH���ؽ���Ń�u-D�
H!E��u
H�=�F!t�H���C���H��諽���Ń�t�D�G!E��t(�=JG!��uH�=nG!�PH�=;A1�����f��
nG!���RH�=BG!��H���\�������H�=�� L��1�H�A�f�����F!H�����L��H�A���\H�=3F!H��t����H�F!�|F!��t1��e��H�t$0L���H��D���p���H��$�dH3%(��H�Ĩ[]A\A]A^A_���z} 1�E1�A������
���H�=�E!H��H����������f�1�H�=@�����E!H�-F!H��td���%���D�=�E!E������1�H�=C!�Z�������D��E!��t�H�-�E!H������ @1�H�=�?�2����PE!����D��E!E�����1�H�=�B!��������L��H��?H�=�~ �1��Ӹ���E!���@H�=PE!�V���H���z�����������D!���7���H�=�~ L��1�H�2?�v����������H��������f�H�������������誾��L�8�b���L��H�5�XH�81�A���RD!�o������H��螷���F���f��[���L�=�D!H�(����L��H�5:XH�81�����C!H�^D!�D��������L�=<D!H�(�̺��L��H�5"XH�81�����C!H�D!�1�����5.D!�������H�=�=1��d������D��跶��L��1�H�=F} H�c=�*����\C!�����6���fDAVAUL�-�y ATI���=�C!U�} S��u�5�B!L�-�z ����1�L���;���H��H����H�=HC!H�����z���H��H���~�	���L�0����1�H��H�0L���Q���L��H��膼��L��1�H��L�U=H��蟹���
�B!��u5����H�=V| L���MH��<�1��*����\B!H��[]A\A]A^�@���L�-�z �/���@[]A\A]A^������H��H����L� L�(H��<1�H�CH��H����H����H��H��荼��H������H�{t.H�
�{ ��H�=~<����H�{踷��H�CL�#H��[]A\A]A^�=���D��A!���*���H�=S{ L��H��;�/����
���f.��RA!	[H��]A\A]A^�V���fDH���H����fDH��U�1��ݴ���A!���ff.���H9=�z t����fD1��D��ATUSH��H�5�z dH�%(H��$�1�H��t譹��H�5�z H��H��蛾��H�Dz ��H��跶��H��tjƄ$�H��H����������!�%����t������D�H�SHDډ��H��H)�D�cIc��t���H��tA��s9A��usE��uNfDH��$�dH3%(uiH��[]A\�f�E���H��H��J�T%���J�T ��H���U�A��t�E��B�T%�fB�T ���UE��B�T%�B�T ���w������H��H��Hc�H����U���H���AWAVAUATUSH��H�$H��(D�@?!dH�%(H��$1�H��I��E��tD�
_?!E���&H�����=??!�)?!���������}-���}L�-�x ��M��tIL���1�L��$L��蚸�����BL9-[x �VL���ͺ��H���N@��>!H��$dH3%(��H��([]A\A]A^A_�D���p�}-�V�}L�-�w �EM��t�L���1�L��$L�������W���I��L��1�1��(���I��H����5Vu H��讲���@1ɉ�L��L��艹��L���L��蔷�����1�L��L���^���L��E�fI�^�.���D%7>!����H��1��w������f��5�=!������t 1�H��袷��H��H��������4=!��tD�=m=!E����D�5=!E���<
D�-=!E��tXD�%�<!E��tD�5=!E�����5^t H��薵����y
��<!D��<!E��tD�
�<!E����@L�%Q<!M���PH��� ���I��H����
H�XL��H���E���L��I���j���M���qA�<$��A�$H�sUHc�H�>��D�9<!E�������H�=7�T���1�H��61�H��H������H�5�6I��H���̳��L��H�������@1�H�=_9!誰������D�
�;!�����}-���}���
(s 1�1�1��}���H���V���DH�T$H�����������1�H��1�����A�ą����H�t$@1�E1�A�����S���D��I��H�����D��r �t$@1�H��H��軯��H�t$@L��H������D���C������fDH�5�5H�����I�������H�5�5H�����I�����f�H�5�5H�����H���(���D�
!r M���`H��I��H��L��AQH�����E1�H�5����蓱��H��XZ�*���f�I�|$ �f���fDL���H����
;!���:��:!��tE�.:!����	�H���u���I�ċ:!���d	H��L���	�����9!���3	�):!�����:!���wH�CH��t&fDH�x H���H�@0H��u�f.�D�I:!E���h�=V:!����5�9!��t�
�9!����
��9!��th��9!��u^��9!H�=�9!����H��H��2H��HD�蛳���)9!�����_9!����H�=�41�����@��8!������8!����D�=�8!E���dD�5�8!E�����^9!H�T$H�t$H�
�8!H�������xH������H�t$H����HcT$����H����U@H�|$�=r D�%R8!E����D��8!E��uH�=�31���L�%�8!M����D�
8!E��t�N8!����L��1�贴��I��D��7!E��tD�
&8!E����M���4�g���I��H���#
H����H�I�D$���D��7!H�I�D$E��t�=�7!���`L��H��L��������uAH�=�7!��蛱��L�=�7!L�0�L���L��H��H�5MH�81�A���97!�5+7!��t�
e7!����
L��轭��L���e���L�%N7!M������6!��t�-7!���5�=�7!D�=7!����E��t��L��跳��I��H����H��H���0�������D�5�6!E���@L���0���D�-}6!E���@D�%�6!E���L�%�6!M���L���Ȯ��I��H���,�w���L�(�o���1�L��H�0L������H��L���D������D�

6!E���<L��贯��D��5!E��t�=*6!������6!��t8D�-	6!E���pD�%�5!E��t�-�5!��u1�H�=!3!�l���@H��蠫��D��5!E���
���D��5!E�������H�=�11��B����DD�=15!E�������H����H���H�@`H����H�T$1�����H�HH�
H�x�NH�H�zH��A����@��H��A��u҃�H�=�4!Hc�Hc�H�D�H�D�H���_H���H�L$1�����H�}4!H����H�����H�]4!H��tH1�1�H��������y8H�
Yn ��H�=%.賱��H�=$4!���H�4!@H���`���I��H���$D�514!E���t@L��訪��A�ă�u.D��4!E��u
H�=�3!t�L����L���z���A�ă�t�D��3!E����L�����E����
H�=�3!H�������L���H�i3!���@H�=4!���ŭ��L�-4!L� �v���L��H�5{/H�81�A��L�%�3!�_3!M���U���L�%�3!M���D�73!E������D�k3!E������1�H�=�0!�ܧ������H���Ȭ��H�
�l H��H��H���O������f.�H������I��H�������H��蔥��H�CPL����������L�%3!M��������H�=�2!H���@D�m2!E��t
�
�2!��t1�����I���Z���H�=�/!1��
���H�=�2!�אL�%�2!M������L�%y2!M���&L��設��I��H�����7���L�(�/���1�L��H�0L������H��L��蔤�����\��1!����L��趥��D�=�1!E����������H�=yk H����H��+�1��M����1!���fDH�=2!L�%Jk H��tH�5�,�Y���I��M����H��L���B���H�=�1!�����L���\��������1!	H��������f�H�=�j H����H�J+�1�蝤����0!����fDH�=!,1������D1�H�=�+�r���0!�������1�H�=�-!�F����m����1�H�=�-!�2����;���DH�=�*1��*��)�DH�=<,1����X���D�Z0!�����@0!���\
��0!���&
M����
�
og L��1�H���¦��A��$�H�Å������/!�����L�-40!L� �1���@���L�-t/!L� 蔦��L��H�5�)H�81�A����/!H�E/!DH�1/!H���������H�=)i H�������|���@L�%�/!M��tB�5*/!�������
`/!������1�H�=�,!�ң�����DH�=/+1����D�5�/!E����������DH�qC�1�荢����.!�&���fD1�H�=,!�j������DH�
ih ��H�={)�ë���u.!	��@E1�I��L��1�1�蜩��I��H���p�5�e H���R����1ɉ�L��L���A���M���L��Hc
�e �E������L���1�L������L��I�^����<�fDD�
.!E�������H�=B)1�������DD�%�-!E�������1�H�=+!�b����m���DM����I�$H�T$H���H��"H���H�� I��$�H�I��$��
�d 1�H��L������H�����fD�AD$��������;	���
	H�=Q(������A�t$����H�=&(�����f�I�D$H��tD�E���BH�
�f ��H�=�'�����,!
�>�fDH�
af ��H�=HA軩���m,!
��@H�D$L�L$A�1ɺ1�H��賡������H�t$Hcп詩��H������H�
�e ��H�=�'�B�����D1�H�=_)!誠���k�DL9-�e ��+!	�C�L�����6�@L�t$�1�L����A�Ņ���H�=be ��H���&�H�=�@賨����fDH��?�1������G+!�:���fD��+!����轝��I��H����	�+!��t�I+!���+	I�$�,���H�I�D$����H��L��H�I�D$�ܥ��������*!��t��*!����L���T�������Ӥ��H�苡��H�5�@H�81���L���|*!	�˦�����fDH�=�&1��2������DH�=!d H��H��$������1�H�=�'!����)�DH�=�$1������M�DH�
�c ��H�=�$�#�����)!
�|�@H�=�c H��H�1$�u�����H�
9*!H�=rc H�'%1���O�����)!�H�H�=Ic H����H��#�1������O)!���fDH�=X%1��
����D1�H�=�&!�����DL�L$A�1�1�H�D$���H�
�b ��H�=�>������(!��@H�
�b � �H�=�=�����(!
�<�@��L�=�(!L�0�#�@H�
Ib ��H�= $裥���U(!���@L�%�(!M�������A���1�H�=�%!�����DH�
�a �+�H�=�=�C�����'!�#�@D��H�F=1�E1�L�=�#萛��K��H�=�a L��1��I���r���E9�����H��'!�+(!H���,����H��H�� H��HD�1�蹞���)�@H�=�"�T�������E1�H��H�5;�H��H�=�����H�����@��'!H�=�'!���<��'!��������D�D�-'!E��t�� H�5�&!H����譜��I��M���H��L�����H����L�������;�H�1;�1��M����&!��fDH�D$L�L$A�1ɺ������1��E�@�k���L� �#���H�5�;H�81�A���&!�e�DH�
�_ �%�H�=;�3����>�fDM���������%!����H���ٙ��H���r��H�T$H��������� �1�H��1��:���A�Ņ��	�H�t$@E1�A����1��s���I��H�����D�
�\ H�t$@M�����E1�H��H��L�����H��H�t$@L���.���D���V�������H�=�^ H��H���Ř���2��ۘ��I��H����H�H��1�H��
J\ L��H���H��H���H�+I��$�H�lI��$��o���H��L���4����@��H�=a^ 1�芚��I��H���|I�D$E1�L�=,�8��~Af�H�@E1�E1�1�1�L��J��I���"���L���L���b���I�D$D9(�L��������AD$�����txH�=@������H�=�ԗ���o�H��H�EH��HD��9����O�D���ܖ��H��1�H�=k] H���O�����#!���AD$��H�5��ӗ��������L�%.] H��tH�5��=���I��M���H��L��������y
�#!H�=�#!���L���2�������(���L�(���H��H�5^7H�81�A����"!������^H���ޕ����H�
�\ ��H�=q�ܟ����"!�(�H��H��H��HD��™���2��H���I��H��t`�
�Y H��1�H������A��$�H�Å�������,"!���A�H��蝙���}���Y 1�H���(���H������!!	�k�H�=1�����"���1�H�=E!萖������H��H�A�H��HD�1�����n���!!�5��ś��H�(�}���H�5�7H�81���H���n!!	�m�������H���������[��������I���p���E��1�H��H��誛��H�����H�
�!!H�=�Z H��1������� !��H�
�Z ��H�=������� !	�f�H�
O!!H��t.H�=�Z H���1��`����� !����l���H�
�����!!�_Z ��t1���H��H�
5Z ��H�=�����1�H�������� !�Z ��t1���H��H�
�Y ��H�=I�/���1�H�������v !��Y ��t1���H��H�
�Y ��H�=�ߜ��1�H����H�
iY ��H�=I鳜����� !�OY ��t�f.�U1�H��H��SH��H��H��H�=Y ���H��tJH�=�X 1�H��H����Œ��H��tJH�=�X H��H��1�[H�"�]青��DH�
�X ��H�=^���H��u�H��[]����ff.����6!�X ��t�f.�U1�H��H�SH��H��H��H�=<X ����H��tJH�=+X 1�H��H������H��tJH�=	X H��H��1�[H�R�]�͑��DH�
�W ��H�=��+���H��u�H��[]�K���ff.����f!��W ��t1���UH�=eH���SH�ӺH��H�
lW �ǚ��H�5`W H��t;H���s���H�=LW H��t=H��H���1�����H��1�[]��� ����H�=W H��u�H����H�=��Q���H��1�[]������!��V ��t1���H��H�=�V H��1�H�������1�H�������F!��V ��t1���H��H�=eV H��1�H�a��/���1�H��������!�?V ��t�f.�H�=V A��H��1�H�.��������!��U ��t�f.�H�=�U I��I��H��H��1�靏��ff.�f����f!��U ��t�f.�H�
�U ��H�=��Ә�����&!�oU ��t�f.�H�
IU ��H�=�铘������!�/U ��t�f.�H�
	U ��H�=��S�������!��T ��t�f.�UH��1��SH��H�\H��H�=�T 芎��H��tZH�H��tRH��H�-Hf�H�=�T H��1��Z���H�H��tH�=kT H���1��8���H��H�K�H��u�H�
DT H����[H�= ]鈗�������!�T ��t�f.�H�=�S H��H��1���Í����H��8Hc
�!dH�%(H�D$(1���S ��uR��~*�H�|$���L��Hc�H��9�~��~�H�=�S �A��1�H��H�?��D���H�D$(dH3%(uH��8��J���f.�����!�?S ��t�f.�H�=S H��H��1�������H��8Hc
�!dH�%(H�D$(1���R ��uR��~*�H�|$���L��Hc�H��9�~��~�H�=�R �A��1�H��H�/��d���H�D$(dH3%(uH��8��j���f.����!�_R ��u+H�=DR H��t'I��H��H��.1������fD��H��H��.�1����f�����!��Q ��t�f.�H�=�Q A��H��1�H���頋�����v!��Q ��t�f.�H�=�Q H��H��1���c�����AWAVAUATUSH���(!�qQ D�t$PD�|$XH�l$`��tH��[]A\A]A^A_��H�=1Q I��1�H��H�T$�E��L��H�6���L�D$M����H�=�P L���1�H�(�Š��H�=�P M����L��H��1�蜊��H�=�P 1�D��H�#�����H����E�E���|A��A��I��N�l#L�%�H�
iP ��L��跓��H�H��tH�=HP H���1�����H�K�1�H��H�=P H�z��I9�u�H�=P 1�E��D��H�E��Ή��H����G�$�E��~|1�L�-��D�H�1�1�蝉��H�L�D�D� 1�H�H�=�O �H��A)��r���A9�~-H�L�L�D�H�=|O H��u�L��L��1��E����H�
YO H����[H�=5]A\A]A^A_镒��DH�
)O ��H�=R�s���H�=O M���1���H����H�=)�J����)���D����!��N ��t�f.�U1�H��H�2SH��H��H��H�=�N �w���H��tJH�=�N H��1�H���U���H�=nN H��tJH��H��H��1�[�]�-���DH�
AN ��H�=j苑��H�=$N H��u�H��H����[H�=�]�`������=�!S��M H�\$��uEL��E��A��I��H��H�=�M H��t2PH��*�1�AR蔇��XH��Z[����f�[�fDH���H��*AR�a���YH��^[���fD��H��H�?H��t�Tcr�H9u0葊���-!H���H�
�,�H�5�H�=�薇��H�
o,� H�5�H�=d*�w������SH����N���H�H��t�Tcr���!H�[�H�
�L �(�H�=E*�����	���ff.�U1�H�5�L SH���!����H��t*H���Ō��H�(�}���H��H�5�H�81���H��KL �|L H��[]�DUSH��H��肌��H�(�:���H�5�H�81���H��t|H�5@L H��H���H����������!�%����t��L�K�����D�H�WHD���‹C4H��H)��P�H)�H�M��t,H���L�vH�����P1��}���XZH��[]��A��L�XH�����1���S���H��[]�����AVAUATI��US蠋��H��X���H�5%H�81���I�T$ I�l$H9����<
t<
t��@����H���
��
@�ƀ�
��	�H9�u�@��t�MH��I��E1���
w�$H����H��J �@����H�=�J �H����������!�%����t��D��L�pH����������D�H�WHD����@ƾP�H��I��1�A��H)�H)�H�� ���A�M���
w�$H��H�Ѓ�A��O�a���H�
BJ H��H�ʋ2H����������!�%����t������D�H�rHD־P����H��1�H)�H)�H�H��
輂��I�D$ ���
t��
uf.�H�����
t�
t�I��E1�H��I I��I�H9�u�kDI��I��Pt\H�=�I �H����������!�%����t�¾P������D�H�WHD�H�K���H��1�H)�H)�H�����M9�u�H�3I H��H�ы1H����������!�%����t������D�H�qHDξP����H��1�H)�H��
H)�H�譁��������H�諅��H�5�
H�8H��1�[]A\A]A^��f���
tD��
t?H������
tH�����)ƃ�Pt
H9�s��
u�
H��@�ƀ�
��	��N����
��
H��@�ƀ�
��	��4�����ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���G H�_8H�{�H���Q����܇��L� 蔄��H�5uH�81�A��H��$��$H�5�G H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H������I����D����/���H�(���H�5�H�81���H��tH���\�������H�D$dH3%(u*H���[]A\�HcG@����H�WHH�\������x������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��(F H�_8H�{�	H������,���L� ���H�5�
H�81�A��H�5�E H��H���H����������!�%����t��I��I���$������D$0D�H�WHD����H��$��H��H�D$H�D$ H)��P�H�D$H)�H�H�����虁���������H�(�7���H�52
H�81���H��tH������g����!H�D$dH3%(u(H���[]A\ÐHcG@�����H�WHH�\�����������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��xD H�_8H��tH�{�H������w���L� �/���H�5H	H�81�A��H��$��$H�5*D H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H��������������ʃ��H�(肀��H�5}H�81���H��tH��������H�D$dH3%(u-H���[]A\�fDHcG@�����H�WHH�\�����������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���B H�_8H��tH�{�H���<����ǂ��L� ���H�5�H�81�A��H��$��$H�5zB H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H������4~���/�������H�(��~��H�5�H�81���H��tH���G�������H�D$dH3%(u-H���[]A\�fDHcG@�����H�WHH�\������`�����AWI��AVI��AUA��ATL�%T5 UH�-T5 SL)�H���m��H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���(null)file:///etc/xml/catalogSAX.fatalError: SAX.error: SAX.warning: Loaded URL="%s" ID="%s"
/ took %ld ms
--%d %d %s %d %dNode %s matches pattern %s
xmlStreamPush() failure
  pattern %s node %s
xmlStreamPop() failure
mmap failure for file %s
Pattern %s failed to compile
Compiling the schemasParsing and validatingParsing%s fails to validate
%s validates
%s : failed to parse
Unable to open %s
user_dataSAX generated a doc !
1.0infoabcrbXinclude processingOut of memory for XPath
XPath evaluation failure
XPath set is empty
truefalse-InfinityNaN%0g
CopyingFreeing originalwalking through the docwbfailed to open %s
SavingCan't write data
Failed to canonicalize
Failed to save
failed save to %s
Parsing DTDCould not parse DTD %s
Validating against DTDValidatingFreeingSAX.isStandalone()
SAX.hasInternalSubset()
SAX.hasExternalSubset()
SAX.internalSubset(%s, , %s,SAX.externalSubset(%s,SAX.resolveEntity(, )
SAX.getEntity(%s)
SAX.getParameterEntity(%s)
SAX.elementDecl(%s, %d, ...)
SAX.notationDecl(%s, %s, %s)
SAX.setDocumentLocator()
SAX.startDocument()
SAX.endDocument()
SAX.startElement(%s, %s='SAX.endElement(%s)
SAX.characters(%s, %d)
SAX.reference(%s)
SAX.pcdata(%.20s, %d)
SAX.comment(%s)
SAX.startElementNs(%s, NULL, %s, '%s', %d, %d, xmlns:%s='%s', %s:%s='%.4s...', %dSAX.endElementNs(%s, NULL)
, '%s')
xmllint.cnode->_private != NULL<p>%s:%d: Entity: line %d: <pre>
%c^
</pre><b>validity warning</b>: </p>
<b>validity error</b>: <b>warning</b>: <b>error</b>: --maxmem--debug--shell--copy--recover--huge--noent--noenc--nsclean--nocdata--nodict--version%s: using libxml version %s
   compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ICU ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules MemDebug RunDebug Zlib Lzma --noout-o--output--htmlout--nowrap--html--xmlout--nodefdtd--loaddtd--dtdattr--valid--postvalid--dtdvalid--dtdvalidfpi--dropdtd--insert--quiet--timing--auto--repeat--push--pushsmall--memory--testIO--xinclude--noxincludenode--nofixup-base-uris--compress--nowarning--pedantic--debugent--c14n--c14n11--exc-c14n--catalogs--nocatalogs--encodeDVEncUTF-8--noblanks--format--pretty--stream--walker--pattern--sax1--sax--chkregister--relaxng--schema--schematron--nonet--nocompact--load-trace--path--xpath--oldxml10Unknown option %s
SGML_CATALOG_FILESXMLLINT_INDENTRegistration count off: %d
%d iterations</body></html>
SAX.entityDecl(%s, %d, %s, %s, %s)
SAX.unparsedEntityDecl(%s, %s, %s, %s)
Usage : %s [options] XMLfiles ...
	Parse the XML files and output the result of the parsing
	--version : display the version of the XML library used
	--debug : dump a debug tree of the in-memory document
	--shell : run a navigating shell
	--debugent : debug the entities defined in the document
	--copy : used to test the internal copy implementation
	--recover : output what was parsable on broken XML documents
	--huge : remove any internal arbitrary parser limits
	--noent : substitute entity references by their value
	--noenc : ignore any encoding specified inside the document
	--noout : don't output the result tree
	--path 'paths': provide a set of paths for resources
	--load-trace : print trace of all external entities loaded
	--nonet : refuse to fetch DTDs or entities over network
	--nocompact : do not generate compact text nodes
	--htmlout : output results as HTML
	--nowrap : do not put HTML doc wrapper
	--valid : validate the document in addition to std well-formed check
	--postvalid : do a posteriori validation, i.e after parsing
	--dtdvalid URL : do a posteriori validation against a given DTD
	--dtdvalidfpi FPI : same but name the DTD with a Public Identifier
	--quiet : be quiet when succeeded
	--timing : print some timings
	--output file or -o file: save to a given file
	--repeat : repeat 100 times, for timing or profiling
	--insert : ad-hoc test for valid insertions
	--compress : turn on gzip compression of output
	--html : use the HTML parser
	--xmlout : force to use the XML serializer when using --html
	--nodefdtd : do not default HTML doctype
	--push : use the push mode of the parser
	--pushsmall : use the push mode of the parser using tiny increments
	--memory : parse from memory
	--maxmem nbbytes : limits memory allocation to nbbytes bytes
	--nowarning : do not emit warnings from parser/validator
	--noblanks : drop (ignorable?) blanks spaces
	--nocdata : replace cdata section with text nodes
	--format : reformat/reindent the output
	--encode encoding : output in the given encoding
	--dropdtd : remove the DOCTYPE of the input docs
	--pretty STYLE : pretty-print in a particular style
	                 0 Do not pretty print
	                 1 Format the XML content, as --format
	                 2 Add whitespace inside tags, preserving content
	--c14n : save in W3C canonical format v1.0 (with comments)
	--c14n11 : save in W3C canonical format v1.1 (with comments)
	--exc-c14n : save in W3C exclusive canonical format (with comments)
	--nsclean : remove redundant namespace declarations
	--testIO : test user I/O support
	--catalogs : use SGML catalogs from $SGML_CATALOG_FILES
	             otherwise XML Catalogs starting from 
	         %s are activated by default
	--nocatalogs: deactivate all catalogs
	--auto : generate a small doc on the fly
	--xinclude : do XInclude processing
	--noxincludenode : same but do not generate XInclude nodes
	--nofixup-base-uris : do not fixup xml:base uris
	--loaddtd : fetch external DTD
	--dtdattr : loaddtd + populate the tree with inherited attributes 
	--stream : use the streaming interface to process very large files
	--walker : create a reader and walk though the resulting doc
	--pattern pattern_value : test the pattern support
	--chkregister : verify the node registration code
	--relaxng schema : do RelaxNG validation against the schema
	--schema schema : do validation against the WXS schema
	--schematron schema : do validation against a schematron
	--sax1: use the old SAX1 interfaces for processing
	--sax: do not build a tree but work just at the SAX level
	--oldxml10: use XML-1.0 parsing rules before the 5th edition
	--xpath expr: evaluate the XPath expression, imply --noout

Libxml project home page: https://gitlab.gnome.org/GNOME/libxml2
failed to load external entity "%s"
Ran out of memory needs > %d bytes
xmlPatternMatch and xmlStreamPush disagree
Relax-NG schema %s failed to compile
XSD schema %s failed to compile
Document %s does not validate
%s validation generated an internal error
XPath Object is uninitialized
XPath object of unexpected type
could not get valid list of elements
No element can be inserted under root
%d element types can be inserted under root:
Document does not have a root elementfailed to walk through the doc
Failed to crate a reader from the document
Couldn't allocate validation context
Document %s does not validate against %s
SAX.ignorableWhitespace(%s, %d)
SAX.processingInstruction(%s, %s)
SAX.processingInstruction(%s, NULL)
SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)
SAX.attributeDecl(%s, %s, %d, %d, %s, ...)
*(long*)node->_private == (long) 0x81726354Out of memory in xmllint:registerNode()
MAX_PATHS reached: too many paths
Variable $SGML_CATALOG_FILES not set
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
	"http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><title>%s output</title></head>
<body bgcolor="#ffffff"><h1 align="center">%s output</h1>
Schematron schema %s failed to compile
WXS schema %s failed to compile
P������������x���deregisterNode;�;PM��@Y��@ e���
`���P���X����x0����@����@����@����@���P���h����� ����0����������� ���pp��������8��L0����P����@���������,0��DP��X �������������`��,���@���T0��hp��|������������`������@�����0���D ��X��������0��4	���P	��l	`���	@���	���
0��L
����
����
@��@����zRx�X���/D$40K���FJw�?:*3$"\�V���t�h|KM S�@���f|N [�����A�� ������E�J��
AA �d����E�J��
AA @����E�J��
AAH8���F�B�B �E(�D0�D8�D``
8D0A(B BBBH���aE�`
K�4���`E�`
K�x���	�t���`E�`
K,�����8A�D�G�$
AAAlȕ��CB�B�B �B(�A0�A8�G@Q
8A0A(B BBBD{HHPXHA@�
8D0A(B BBBHL�����JB�B�B �B(�D0�A8�G�j
8A0A(B BBBHt�����BB�B�I �J(�K0��
(A BBBEQ
(A BBBH�
(A BBBJC
(D BBBKT����0h����IF�A�A �G��
 AABJ����� HW`������B�B�B �B(�A0�A8�G� L�0�
8A0A(B BBBF��0K�0Z�0A�0<���Hdc0t���HdcH����Hdc`��4t��a�M�O ~
F�M�JfA�A�4������a�M�O ~
F�M�JfA�A�0� ���a�P�L F
CAIsCA���Hdc0���HdcH,��@\X��Cp���=����=����=(����a�K�N vK�H�����=�����H@�
Al��=����H@�
A8��^Lh��@`���=`t����F�B�B �B(�A0�A8�DPd
8A0A(B BBBH�
8K0H(B BBBJ4�����a�M�O ~
M�F�JmN�H�<����K�lP FDA
NA
GDN FDAP���iHb
AlH��RE�e
A$����[A�J�D IAA<�����A�A�G (T0H(A D
AAEaAA<�d��@B�B�B �D(�A0��
(A BBBD40d���F�A�D �G�n
 AABD4h����F�A�D �G�x
 AABB4�T���F�A�D �G�s
 AABG4�����F�A�D �G�s
 AABGH	$Z��<#F�B�B �B(�A0�D8�DP]

8A0A(B BBBAD\	���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�	 ��0|�{�!@� @
���!�!���o0xp
��	!�P.�'`	���o���o�&���o�o&%���o:�!P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH`HpH�H�H�H�H�H�H�H�HII I0I@IPI`IpI�I�I�I�I�I�I�I�IJJ J0J@JPJ`JpJ�J�J�J�J�J�J�J�JKK K0K@KPK`KpK�K�K�K�K�K�K�K�KLL L����A@�0�����@|����P��|� �`�P�����0��0�0�0������������`!@�0�����@|����P��|� �`���p�P�����0��0�0�0�����GA$3a1 @{GA$3p1113X��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*X0�GA*GOW*�GA$3a1�{��GA*0���GA*GOW*
GA*FORTIFY@|��GA+GLIBCXX_ASSERTIONSxmllint-2.10.2-5.el8.x86_64.debug1��7zXZ�ִF!t/��O�]?�E�h=��ڊ�2N�b�mK�DD�b�<XwNꯏ��x�#��>�U���o��j����Ʒ��03�X�F+y6\���%K�,쳼}�����;�h"���,sd�m����X��zH�@U��3�(=X���y��D�a�D�������:�a�6�k�V4e�M�7\E%�rO�ݒ}��:7���M�?�0��"L�NV�{��t6j4��nG:��B�y�B��V�Ŕ�\����Ĥ7�V��TKF��7��a�>0?�!�WH���ʇ��h7��%P�Cйo:m���Q�����`50�/������I%�[]�D��pC���4]�9ǖ����}K?�;-EI���v|]fT�J�=n�W�d;�/���)�GH�a��ŝ�SzUP�XT|hv>����dZ8H���#�n�C�z��{Gg�>g�A�#�m��(P�Ͱ�
�A�}��0�S�ۀ��b4��G.}?N
�D������2�3���9ԃ���ث
����h��,�=lǔ�Y�A&��՟fZ�5q�7|(�yt�^�Կ����U'!:-�!����V�N(�tk�'SB@?�g�%��}�t9^mω��9�"��6��W+��~��ئZ�ȭ�y��r�a����PI�`8��v�O�	���tI������Rlt�5NJzS�~�Ip�h�t�7���dm����s���B|�7���soe�ۜ�U��Y�b7�B*ZtC6��[�T-)��zvgK���ZdS����=_�"Ng��&�w9��qV�>�Ҽ�Ք�&:�G��B�L��ʂ�u�bX�$}�J��rۂ������F�.�0���q��JV�
�ME]�сdE�8I7�uTar�J��{+����չ�*��{��u9׃HՏ�����N��#~ou��j��ʘK�s�-LU��Mӂºt�fzd11 ���8�!��6n�%P�f�o����;�nlC���x!�.��֕�<?N�4D�O��Zv��"��b�(,M$��ù˴���Z
5�������v�RL�w���_7I����&��k�g�R3jZ�?X��J��l�d[������ٟ���ڸ!��h�
��1=6^n�B8e�k\m,�
�}$�`���/ Dž 9�	ݽ9��r�;N� �r]*����(����Np7�Q���Y��te�|�l|b�ƌ�5�a5^IH���:6�����q���ve��
��K�Td�t	�[���hrM:�"�;L�HG���i��G�8V3zޣ_�Z�B[Y}�K\�tKY��\a���	�Ki~����;,^��r�k�6���T�Xe�3�����^L��CڃsE�	�t�Z��V�#[�~�X�b$�>�
Ԙ��G��d�aZnY�����\3%�Tb��1(��Ѹud�����X*�)�c.�?S#�0�>P@�Q�Yk��@/2~p��گ
b����{a�{9�UǬ���ۙ�%"���G&�=Ύ���0`�y���g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata���� &�� 4$G���o00@QppYxx�a���o&%&%�n���o�&�&0}�'�'`�BP.P.�� @ @�@@@@��0L0L��XX�z�����
�����7 ������������	��!���!���!���!���	!�	8�!` `!`� 
x�a`� (/@,l>bin/xml2-config000075500000003560150505765550007410 0ustar00#! /bin/sh

prefix=/opt/alt/libxml2/usr
exec_prefix=/opt/alt/libxml2/usr
includedir=/opt/alt/libxml2/usr/include
if [ "`ldd /bin/sh | grep lib64`" = "" ]
then
    libdir=${exec_prefix}/lib
else
    libdir=${exec_prefix}/lib64
fi
cflags=
libs=

usage()
{
    cat <<EOF
Usage: xml2-config [OPTION]

Known values for OPTION are:

  --prefix=DIR		change libxml prefix [default $prefix]
  --exec-prefix=DIR	change libxml exec prefix [default $exec_prefix]
  --libs		print library linking information
                        add --dynamic to print only shared libraries
  --cflags		print pre-processor and compiler flags
  --modules		module support enabled
  --help		display this help and exit
  --version		output version information
EOF

    exit $1
}

if test $# -eq 0; then
    usage 1
fi

while test $# -gt 0; do
    case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
    esac

    case "$1" in
    --prefix=*)
	prefix=$optarg
	includedir=$prefix/include
	libdir=$prefix/lib
	;;

    --prefix)
	echo $prefix
	;;

    --exec-prefix=*)
      exec_prefix=$optarg
      libdir=$exec_prefix/lib
      ;;

    --exec-prefix)
      echo $exec_prefix
      ;;

    --version)
	echo 2.10.2
	exit 0
	;;

    --help)
	usage 0
	;;

    --cflags)
        cflags="-I${includedir}/libxml2 "
       	;;

    --libtool-libs)
	if [ -r ${libdir}/libxml2.la ]
	then
	    echo ${libdir}/libxml2.la
	fi
        ;;

    --modules)
       	echo 1
       	;;

    --libs)
        if [ "$2" = "--dynamic" ]; then
            shift
            libs="-lxml2"
        else
            libs="-lxml2 -lz  -llzma     -lm  -ldl "
        fi

        if [ "-L${libdir}" != "-L/usr/lib" -a "-L${libdir}" != "-L/usr/lib64" ]; then
            libs="-L${libdir} $libs"
        fi
        ;;

    *)
	usage 1
	;;
    esac
    shift
done

if test -n "$cflags$libs"; then
    echo $cflags $libs
fi

exit 0
lib64/libxml2.so.2.10.2000075500005547660150505765560010167 0ustar00ELF>`�@0�@8	@p�p� h�h�5h�5P�P� �F�F6�F6PP888$$P�P�P�  S�tdP�P�P�  P�td�a�a�a�M�MQ�tdR�tdh�h�5h�5����GNU����ƣ���!���s���|� ��B
" d� K@ ��T�h8� �iX!`C �D��� ��` 2��@�h7I�@A�LP�DB����RTHH�@@P�H�@��� R�H p`�@@1� 0��D�H8"�)$�@A�A��
C6A"(� �$�h��@(!
A$d@��4��``A�"�	c 0 $!A  �A�R0�@�����D��Є�&�l��$�8�`   �	��hQH�
�!@���D`P � �)C-�6"Dr��0 ��`R�	@ pŕ$h�2B@@�@'���#(��CP"1@���� ���*�@@@��@� H2! 
�@T�� @  @ 
%$(@À���� BB	�0k�A8 �pP�� �H@n�
�,D@B��PH)%h ���(� �0�`�� ĠS4�b T  &��F�!�A�R!E�HB�i	�($��0� �F,P*1!@Pa+P(T  1 @����H�H ���6qtH�� ��,	� ��FJBT�@�B��  `3�"��@��$H@@#
E@#I
@��`
�eRB@��'� �
 @�!��P(���K�Ea�/��������਀`�	h!�s.@
�"n����&��
A�H��(S�� `� � (�(Z� 91D���! 0�)�@�A� �@�@ ���� @�r($�D�� ���IPt�� B 	B
@@�`���A1X��H�dÒR$��!�  D�  Q
�A�6�X��`��6�!�B=�P��NTA1	$��c��D�@B� $��$ ���(@(�`� � @�A q�6@�@ �,(n @! @�$ @!@  �� 2�pP��!0� �D�B� �fe���
( Oab)"�D����(`P
���
`���0@�H�� %�
 xP  P  �A�t )�� I�@X�0�����
@AR���/��2�(@��!(�A2 
@$�a"1@$`@���,0$ �!!�D�@��5� @ )|0�@� �0P `@�" @+&HB
��@�
$��(PB �p�C��P�;�� ���@!����P�!��"� `	@H� ��@0��0J����Ɛ���|}~������������������������������������������������������������	
 #%'(,./023578:<>@ABCEJKMORX\]_`bdefgjklmnqsuw|������������������������������������������������������������������
 "%()*-024789:<>?@CFLNQTUWY\]^`bdeiklnprsuw{}~������������������������������������������������������
"#$()*,-/03568:<>?BFHMPQVWZ\^_acdghjkmnrsuwz{}~���������������������������������������������������������������	
 !"#%(+,.23568;<>@ADGHJNPSUVY\^_bdfhijlpruwy|~����������������������������������������������������������������������	
!#$%&'()+,0123469:<@DGIKLOQSUVWZ[_`adeghiklnqstvxz|�������������������������������������������������������
 "$(*+-02567;<=?@BEGHKLNPRVWY[^`acfgknortuw{}~������������������������������������������������������������
)
���Q���%�G̺pɠ7.}4`wɛ �1�>G�n��>F8��sU7⇐l-�^c@CZ��>.�ZeR��>.��>.�	T>��>.�>ma�`���bp�Z�I��>.���7���*3���H�_�ۥ��zv=������D�r��+λ��jR�^�W’��>.u�Y|���^�D��؜�9'��a���a���>.�K����0�
no5�}j����i�~-Z��^+��f���w�&c�qoL��6T#XAV�Ǿ�>�(	C/���O@�}@L�&Nǹ�ɮN�Z?t�/d���F)__�J(=g�}�vYf�7��t|7t�Tg�8�N�w/���Y}��w�[��
cc�Pn���Ύ�\�8һ "�檔qu��aN�W�i�C�X0wX:|�C�`bД�\��>�-L����<�>��!b��?��F�O����"�7�8�KB{B�M�����ۡϤZy��
���D�,�1�$u��S�{���N��&_�0�_K�qWm]�K��*{�v��.��@Z�׷��"�]�y$�AC8��|P�襪4
�'�iX�6�Vy�}�EyG���锪�x��w8Ҕ-=�ӑ̏|1��;��?z��6��C�� 5G�Ў.��2Z�W�~z���͵X���4�]Q��������І�����,]M���Ud�`Wҿ;b����+;U�F�-�p��V�BE��5��*o����#UQu��P����$���>.	��v\��q���Ҩ7�ކ���jOM�݄�G0w
h�,,�ya�8�o��>.��>.mf)0vU]����>.�biЇ�~N���p(�.�Eh�NZZ����b�|�����Ѯ���ٝJ]�G���ZhPt��X3���Pn�ߧ����q�;F�J����f�1�j�H�(�f��R��dө������g��G�H��IG�Y�u�2;��*��tjLv]�hkT����߫��2�&M�S��C5����p�
��������JÄZ�|�a��L����p���
"��K�3��:ro��*��N ڂ$(b����y,�&1P���r�&��b���U���Qe���
�F��]7���
i�ݚb�#I&m�]�S�T>���]�m�ndEt
G2q�V���ѳ3��W���SS�I�
��K�'�=
�o�c{3��))� �Q��bN��=P�1Q<���p���B�����x�mn��5g��E�d�	1/7��9^T��*��K���+�?hJ!�R�� �]6��zָ͗/�i����2�J��6 {�^i�(�M�6�	4AY�C��Ŭ8^B�z�2'j�՜$���8(����<>��B��쐧�Ȍc����R�rI�����ųPJ���f��7���_j.|�I�'�
�V��L�S��_e9S��:�
d1n���_���IG/���S��+L��`}�PG��UD[�]����uXao��ub��xxr
>�q��(1�:~�ܼ���Y�MPM"�D�/�q2:��Ǹ?�&����Uu#&*��g��0�p���6��j�q6�io�g,�q6��ώ
X"�̏{.�!��q6�s��R�̠�q6�
+�}jg��q6�q6�q6�5��fݹ��8��q6��R�d�'ɊhQT��3U�AƄ�kV���OZ����\W����h��uk��T�+���Y�"�4A�o�O���
���%G3|�"����YN��U�6u��#�z]�y\�vB�i�يhV�bG�����j�c_ތi�]�19<�8�_N�6��?�L���'���0}��
)RL�m��WF^����9UK�:^v�Dş3�mJ�)`����xV�6:���Y��*��*
ȸK��.�W19����ܑQ9��==""�vsH�ۭC��W��4:�1h����}� R�um�j=��i4
3v6�2v6���5v6�P�Xt5v6�8��	��v^���a-�엓�7v6�8v6�!��9v6�:v6���8$E,x��-
�~`�zY�[��N�:��OU�g�ߤ��_�
�D6(b��Qw�7�>3���t���=����t_��<�lY��s��1��V�<��h4T�<��<�jn$4�W����<�r�������Z5;�<��l��u��܁�,A�<�K�`��<��$�	I�݉�<��qX�o����=Yx���z�Kyc�,�*@(z3۽�嬹��hk�̴�D�;I�Q���I�-:Vh=q~n�K8�d��^�l:[�4ٱ�;
Qcُ�?~�O�|0U�E&��U�� �
�>f�+8����"�d�B
�B���Ņ
E��>.5�'����B�IC:�Y�B�<��<���>.�<�I��B�<������>.s�1Prz6��<�������$�<���SAK]�����<��r	wz6�vz6��&��<��:,�<�=���E
P�- ��:E�L�����{V��߈��\��/���ӡ�υ�/4���7�ȳ6˓�X�S�+��khi&�I�B+8o9�(i��3-!���`�͊�����gU#�x���4����L��������=�>�ہ��7��4ĭ�r�ڭ|!FӾ�-�q�Z�ZqHJ'��z�AQ����"t�<Z�o�*?a�Ao���1�ቈ�7e���htz��-0Q�f�/�����F��VEc[W�]Ļ�|��s�3Q�G�2�PQ�w���a4q�.�#��S�ɏ<ڴ~6�k�Q��6v��z�o��$Rȸ�8GԳG_
�NZ�����H�d+�D��t���$@�L��H��p�3��R�E�qv�W.c�")
����@!/f�̓��ǭ/�6ܣ���am��*"s��amh6��N����⮫�gl����l�+�t����?��� 0�l���Q��.��Ú�򠁖�_KhV��<�}@Z�2�=����7 f*�}!D����)���$a�~W���	�d�V���%�C�'�C�2���a{��-�޾�<��q������w=�8Ï�����JA߅�*��	�]��*j���x.���C-Ԧ�hk�?���b:@6�k*��.&�N;��~��d�S}H����K9^j�T�h�.��0���>:��}��6�x�_[t��E�����6�!(	}S�W�x��M��6O�Ԓ����
�k�}@�K�v;��6Ϩ��K��_�����n�IYYs�~��@����7E�*���A4���nA���{e�,'V�>�ڌ�Sz%[���"�iԖ=��C%�|��iݚ���*f[����A��U'y��9��!P���$'��
ߎ�����R�=���e��v%Vf�<x��F�@ΥF�B�e�:r[$tTe%��~��I�Ö�Ĭ���\�X�5��I���m-�h�2.d/��<�&I߱M�T��ˈ2��-SH���G-��VO]��]G���@?��ɖb���#ޛ�	�m�/�&��J����X��u��<J�:�{:p@3*mo�<7ǘp<��d��t(T��V`��+W9�u5\h7��==fi�C�E��j�%�K��ƫ^X��a��-C��a��9���V�ҩ��2���OsyV��Y��<ēI"�vLD���!;���g�1�g�}$4�2������^BY/+lXT�[�l�c~[���
�+�G����Tkg��e��̏�W%��5�gL������G]z�}���mj��Ec[������SL��K��`��R���6激�A�@�M$M�ad0<M�8��"�"Z�XY��9ѬV��#́g����<�f_JJr�
t̶�L�U�H���u2�4�=s�#��΃�f]^=��o��'މ�-ݍD��xFԳC�	�!���Ag٥��r��w�e�J��,�M���|���i7����e���Ut�<�4���>�5d�S=� j�Z�J��s�|�ܫd�HwF‡�P���ِ,�~�����y�|��!V�y�9��փݛa ������>.
26�MH�4Qd�o;�h�n���>.�p8wT�u4W�Mjʎ��0	o�x&6�V����8�s{<��U@ۛ�c��>.�+V���G��1��ᤗN���l��>.�<HF���Wß�l����=� �
i���8��T�}�0����E4���v�Q��s���!;���a��+�vH���/ჹ=�}���.�UY2���q����iRϳR���A��n����Ѩ���V���U��45N�;�a{�wڬ�5�c����,h�Q�t먉�SO�l0U���;�P�;���
F�LT���3Ѥ���oY��}�0S
��[Xq~���-� J����vǠ|�4����p�3eĎ����	[������Ž���b��D�b �]�_0+�O�V��c&`i(a�{��C$�Mf��a���dp'��|�D�/YX+�]���w����i�l�@<�t�;W�3?�t��	P�N��a�ȏ$�����o'rA��Ub�[!tza-�v���
�(��������0�tV���?,���-���:d{�]���I����\���5-��ZV?�Q'T�{���*X�:F�~2�I����}}��!5�'�a/��`b���dz�m��/F�N��m�_C7��7�+؇/̑�<�ca�Ko�%�2}�$6!�" 2��|�ޏ�jV���a0W㴾����6V��VT�*�+��X���*g�N5���B9����x^�?	�K��<�6˪�&]��ڄ����x�|>�r)�7���;��&��S�@��N����h-	��2��T
��]�,����7�<�� #G>�b����br/�p�/Ml���ae.������Ê���DR��@||\+�\Z�dGDh�@�zN%����5VⅾF�����LmKH���ϣ@
d����*)`�ݨ�=��������-(�ȳ"�-��G6o�Ѥ��	5��L$Q����2ࡪ>7!���;u�����|�`�nO{5��m����q��y=���hk��
<�QJ���ՆXD��_ꢤ��P�wT��s�F.���5z[��i#�ϣ+ľB:6Zϥ�O\v����yH�.���Aʽ��Z�.�O�Qn
N�T��)�0 P�P���1�Q�0OLҨ��c�
��%�{�����{�S�O��b���՗L:����{�ƭ�Y�6�z�Jv�G{�'
S���@bN��LbS4U-��Hv�<R"X�|�{sJE�R߆�g�C \ƣw^�d{X:8U�'j2��h|g���>��Š!���6�1��Z�!y���Jv�O�$���_9��%�� F�a��/�M�f"&z�����S+2Ry!x�|���X�*���gF8�U6t�����3DB鱃������O�/���B*a$g����7�$z�q H �e5��乲����z#^�q��7]�s��Z�d�23R=~������OV8�I��hZJ��"�>��>���q�����F�FO��f�W��.�.P��+^H6oX�<�@[���(�[G^�zf�|*_N�Ӏj�(��G�ԓ*��d��jv�7;'����f��nMr�kԥ�b���0�`���9'{��(����4���G˭���ܻ�P��8�J��^D�x��&��Ν3�
Ģ?��*�`R�g G(F�g��Ǔ]>4���,����\��;uׂ	��=�=3�FI���jm�uzr�1^ۦX���v��
C�Wե�����%ߜE�n�DQ~�/{�OHg�z�(S;�UƇ���
�kW���މSx
��	����qm��.
��Y=�꤀�4��˜���{�0P�)2[򉩖�Ȇʈ�����	�8b�N�sEp*��{��r����-A45��| �����,���[j�>.��=՞��I��Ǡ�>.g��^�wr/�n���>.���$�k�#v?�v�z��PF�v��>.��_��zԎ9��>.��ۓ�a�A����7��T��Ńy�K9��{-'��a�$7p��Π[b����Z�{a�IڰB
����8e��յMj��*(��8qM</k�jA
"U+�$�>.F�����ލ�D��g2iiPJ�&�>.�q����?)� �U�e�rwXE�vXE����U�Q�f5*�1�>.�}��Ji�F[$�;�	H[$�넟a4�����88V]!�3oմH͞������A�S���&G~}?td..���T���q)E#�,R��79ˆĞ��~�9�˘`�/���G��ߥ�N�_qr��* `�9J�~(�$�"5�.��&�_F�>.&�~~�Ï�sYC"�N��3Y��O�>.ԁ��l ?̵K���D{�p��֏�S�>.e/�RDƍM�77,Eh[�Mq�a@s����w0d��k��^eD[������M���To�I�L�V��)^bх+4�P�1Z2y+f�E���C̛���H�VXN���	�0�	nNb�H��}@��
.���V!����羰�xg�)u[�Y?�K�	����H^�%�	��ŀ�k��Y��R�`m1���9��k�	k�NJE��T���)7��(�
��k"*�Tھ9�n��*�	a��G�g�s^��^+���x�:,���1sOa.�(��MdF.- �#Ԇ�.�M@Y/�(~(�(�(�#:M_( X"�(c)�0��RyMMSX ��W"�N`EYX/�,%%�H6-�ކ4J�9�((jy2X"�LgX�,MaE�(SEM9tW  �(O(�M�9�LMyX(�1�N�W"FX _���W"�.�(h.lOnX �'J��)�.��X �LgO)�L��X"�W"X"�M[O�b�0�>�L�#̆�, MÆv��W"F"�*�W"|��Ms���L9c
0��6
PQ�mB
�M	s�a
�g
`��d
 �4�6�
`#5
�-�!]
P3�%
 �X�s
@�C=A
�G	��}
�g�
�
/�7
�qrY'
��
0[
��fn
��"[
Ъ[
�f+
���Z
0�.� 
�MD�
��O�-
P
�&
P�w�Z
`�.�/
��<�
�m�
P�
0t
��
>�:
P��0�
��|
���[
��
�
p���
xu6�K
�
u�
�b�]
��h[
�/
@O'
 �Y�
�:�
P��
���
`� �E
�o	_�{
�x�[
���u6;
����b
0�+
��#�D
�a	��=
P�k�6
�i(�(
����
����o
�5!
V�<
�,P^
`.g
 ��B
`N	)_Y
9��
���=
�r
w
|
+6L
P?`3x
j�1
����4
@�tA/
� ��G
��	��\
��^�
�/�;P
��
��w
��O+
��#R
���u
�:->
0�	�
@x��a
�6�u
��{�

`>��
����q
�CpC
`R	rdH
 �	)$8
py�
0�n?�
�
kc
���<
�O	��@
@�Q�
���
���>
�	�?
�7	WD
@W	n�
��-\,
pJ�1
P�)\
�)8Q
��
�B
��q2
��)
@zC>�
�6u
��b�,
P�^c=
��B�0
�sL^
��
�i
���m
 �G"
`��d
���

�#�tx
@�9�>
	�E
 k	C~
Њg�=
��-�
�qn�o
 �K!y
�a�p
��F
���
\7
�kG�O
��
�0
�kAZ
P�y6
�^D�:
��gS$
���
���f
���y
C6�
���Z,
08�R
�[#c<
�b�&
0��;
��g:
����X
"F
Pq	2�\
0��o
��
 �o
p�$�4
p�_4]
P�4
��\
��?���6�~
��1{
@��
���[
��Gt
���U
��
0�3
P���V
PS�%
@���.
p�"
s�Ut
��d�
p��%$
���.
�i
���X
�!&'!
�SLb
`�
9,@
�?	v=&
p�c#�t6�..
rS��u6^�
�W�#
��
0,
 �9�I
�	q�
\s6d�`<6Z
 ��O
��
��k
��K
�
H&O
p�
${
0sG�V
�!t�3
�*�D
�b	)K
@�9�

p���>
�)	ot
`�#CI
��	��Y
0�Z
@��D
�`	�c
Е#N
Pl
�Y
P��
����;
���
���/
�B��
�%T"s
��w4/
@ ^�
���?
�;	�	
 :�I%
 �?��<68
0}Yl
�'mR
�[#�,
����+
��938
 z�pV
p"�%
0�J�
`�:
��!
P�
.Rg
@�|�
0�
E7
pkk"x
�e�B
@O	b!
�W�: 
9��5
�_SJ
�2�`a
�
;�:
����
p�

 �i�D
 ���
�ES
�&W2N
q
w0F
�r	d+0
Pnm
����z
0q�5,
�
0�x
���hn
 ��
pH�
�D�
�1��J
 �	7�
�l��
0��B6
J�%A
�G	T
����l
��U.
��
?Us
��p�
�C�!@�
}v
�-^
�S 
�8Y��
���f
`�O
D�6�
��

���P
��V
0�y
p�t�E
0l	4�%
���M
@�r
`�R
���`t6 �t
���
BL�h
��]%
`��v
�E6|
 ��k	
Ps!��
0��
8�l
�3��d
@�
@lm;
`
�|hu6,G
0~	zX
`0z�S
0�
�|8
�F�[n
��;
��E
�m	�.�
 �>P5
�}
 �4��
МWMU
�
*�}
�O$
�_�=
P�U�
��
0�k
P�2
0�
0�c
��k9
��Nw
 d�*
�
0�m
�<T
��
9q
���cw
�#�f
@�eQ
 �
=�@
 ��.I
�	��
�&`i�
�)�
��S�-
 �
�$
�+ф
�Y
�-8�2
��#�H
��	l.^
�23T
�%>h
��AR
P�
�g
��Xi
@�:
���i
��i
�Jv�y
 \&�v
�Xz#
|��
�0�
����^
�	 i
�f~
@���C
�T	R8z
h��u
��{.l
У�R
��
Q_
��aM
�Y
K�p
����>
�	12
�P��+
`7��
0Yw!
 Z�
��
0+q
@��y=
����s6pG
�	>tp
����9
�/�[*
��k�
 ��}Q
`�
=
0�
�x
���`
@Z
1B8
{��2
 ��0
�p��6&

`K#�
` ��2
����
���B
�N	�(
��:
����`
�Z
9�O
@�
R�
�Ap3
��� 
pM9�)
p�
�
�������`
�\
�4�����`
�Y
M

��
0Z 
�=�K
�$
!����q
@�5�-
�
���@0
`nwF
.����ȇ�և�+
@�c�J
P
M 
�^���[
���p
 ���
�({�b
�?

��~&
���c
"�D
0`	�G
p}	��f
���
`���p
����k
��D
�c	��
��U�
��
5'
���
 �8
|#
pxg[:
@��gE
�j	0<
��!B'
�L�
�K��
pFRP
`n��_
�N
!�?
�=	�Y
@(X~
����R
�[#F$
�&
`,
�{`U
@����
`32C
PP	��{
�}+�>hz6�
�Z�B
�W�J
0�	��^
�IF
t	g�B
N	[�(
P^/1H
��	�*\
����
��Q
�
�
@vg
��
�?�2
p�t
0/�
'd�9
����A
 L	4�;
0���	
�7#�
 ���@
��6�L
�K
K7
��S� 
�XM�V
�#�
���0
�s�~
�W�]
��
���z
�'������
������F
�0s���|
��W
@]
0�#G
�^x.
`�*��8���U�6F��T��9

P;��5
0��K
p
��
P���7
v�Y
0-F*
 �
%�A
�K	&�
0�;�b
�2Q�
��/
��N�
��S�
���� 
PL#d
��+
P,'�4
`��B
��b���
@H!�s
0�la>
	qq��O
�
r�������
��"@
0?	�gz
jS���
a
��
)�
��

�1S���i
���X
�@D
`X		�
��G���2
�Hˈ��P
`�
@J�
p��ڈ�Z��u6
���2
����9
p���
p"_J2
@�T~_
P9
�
�p*1
����M
pi
={&
���<�6�)
��
=(_
 a�
�$n
�#�1
��#
P~+�9
��
�'�%
`�3K
p�D/b

�K(�6�6
�d5�w
���
 <6*
����
@F� 
�*�
@���/
@���
H1@b
^�q
p�K�
 *�UI
@�	IL[
 �j
�J
p�9=
����[
��$�*
�]5���[
0�����V
 #��Gq
@��Z[
��c�
P;,p����q
���(
�`�%���
08dVK
P
)`
��4��=n
��~�������
�-�C���~
��OR���T
��
0I
��	L0U
��
9!T
�
9J
���'
��Np
���̀
���a
0>A
�F	hDV
�P�;
����r
��R
�
��_
`P
L�
P���
 H��
�(�
P\�"
Pp�
��6�s6�T
��
9G
�{	|ls6�<
�	��r
��c�
�7VO&
��I�U
��
9m
���_
�P
6�m
��^
p�
Ia���J
`�	qYy
�L~{
�wR�7
ts�
��C/
�ff^
�	Uc
p�9J
p�	��7
�v�?v
`�*
��<
@[	��g
���'
P[
U�k
ТQ�
��y)
 0�w9
��oa
�&��}
P�WM�6�
`��v-
��'
�\
�!
�p75
���
0* 
��s���6�w
p(	
@���
&�>G
�~	�-R
�
�C`
�Q
t{i
`�
 �f�%
 &��\
`�1����
���C
�R	r�

�	4
��
@)��
 ��~K
�
	�:
0�gC
`O	1�8
��9�
��Ui�
p�SA\
��-e-
�l
�
�T
p�sW
@���K
`
	�T
`�
9g(
����`
Z
1�
`�q�
`��'
�	 l
��=-
�l
cd
��?
p:	(�
P�~�i
Р�Q
p�
��P
`�
��i
��|
ЂIy
 �F
 x	j�
�
0�
@��h
`��
��V
�""�y
p$���
P �
�,�[
��(/
a+j
P�"(
p�
|�
p,#
�xy_
p$:�8
��!
 D�@
0k'hp
�s�
�$��Q
 �
Iob
�gaq
p���j
�;
�
��*�6j8
��Q�i
��q
P��j
0�k
P�_	
`,��
`�j� �6$
@��
1b
@���
@�C<>
�	!�!
�_EE4
���
���
@�&�%
 �3�&
��W1
��;�&
P�7z
 gs�
$kZ`
pT
��M
�Z
�+
`�i	Q
��
j�r
��)qy
�L/
@,GG 
@�+�
@�U@
�>	��)
�]�'
���g
�r
����
0��
 Y����T
��
9`
��4
������-
0l
�
�,�'K

�U
0 �
��
0'w
���"
rC$
`��
�Ev�h
��zh
�ĉ�i$
��(qr
0�&
P�}�}
P���F
�y	Q
�Tb
p�K
��
0�
�G|�
���9d
��]2
���%
���r(
@�W�p
p�$�.
�
H]
�.$�
Ш�#v
P[\
��d?h
���
P�ɂ
Ы&�O
�
oN��;6
�6��
��E�~
�2V
�?~�Q
��
v
��C@t
��#�.
��
1�y
`1!
O��/
�N�Ʌ
`/qP
�
��r
`�Q
V
�&p�c
И^u
���c
��3
�o�H
��	�z
 �
0
��

pI�|N
0t
�.
�q'�X
 �
U�u6�
�,�

P�
0��
��g+Z
@�$�
p;�o
��+
��9I
p�
0xn
@��
�%)mK
�
K�"
pvN�,
 ��=
0�#Jk
���Q
`�
G�P
�
j
Pu>
����g
 ��
��k�
 1	*
@�V�
��
.d
`�H
�	E�3
��i
�44.
@(Rj
��(D
pX	h2v6z
�Z~g
���h
@��l
 �8
`�R�8���
@�&,
��$
Љo�u
6"
���~
���:
��
`�Sz
�h`�K
&
?
@,	��G
@�	��?
06	�K
�
��
�F>�5
&@4
@���
���_
0=
Q�{
�z3 W
`T�]
oAzA
�I	��E
Po	��z
0l��
p��&
p�M�l
`�`U
P�
9�$
��1�j
СM'
`�a�H
��		�P
��
y�O
��
a�F
�1��y
 ^]�1
��d3<
��J{
`tO"
�j��U
�M��j
��l
��
<6�
+Y
�-;��
p�V�h
 �kj
���
���
`I�

S
f5
��#
 wCvY
�@`�
p�;
��) 
�5Re}
p�f�
P��~

��+
���2
��m&
��9kI
��	4�O
p�
W�
 �7�|
��p
P�R�'
�i
"TG
�	r/
`B	-:
���Vx
�m�)
p�
�|
�~�Z4
�9�
�#�>l
�-
�i
�6
��
0l
�3?�
`��k
p�')
��^"
�j�+
p�; �
��1u'
�'w�T
��
9�"
�s�:Y
01^�@
F	�O
�x
k
�X
�
�I
��	<�i
���A
�J	4�D
\	!
��h�B
0O	�H
��	��a
�7rL
�J
�N
u
�
��J
P�D
б
H^
��#�
p��#*
��V>
��

�9~�s
��S�Y
 �Lf
�3"
��g6
�M��C
`S	h�t
��6�Y
�8
ySC_
`�;�v
8�
0'z,
��LO�
E"DN
�q
��\
0�^=
��3?
���k
�*&
�c�
�&�Y
p�F/7
Pk�	
04��^
 3.cP
��
�|z
pk��n
`��V
�#9o
@�.��u6'

�:�&`
�Q
Q(
�
o�n
���&
�^W
PNt�C
PT	Z
��A
<
�)�
)�/�
P�N�
 �t�
[F	
@�F�7
�tt\
P�
�
PB'.4
��s
0�k�L
�K
�
�}��%
�!�m
��	
: �I
�	��A
�J	o�]
�P��
�WR9
ЏE
�f	$pk
���U
0�
9�]
Q�8E
�f	
]
��6-�
�g�
 �7
�j��M
�\
��p
p���,
��f'~
`�f�$
@���`�6X16
PB�Jd
��|P
0�
��
��
0wJ
0�	�u�
0EA�'
p��?
`5	�
��ex
P��"
pp
_
��&�
�
0,P
�
!�r
��mSP
p�
�*
�U
@�
9�;
p��>
��3R@
`�C�
���
��e�P
0�
(M=
���8
�i�R
�
<�
�.�n
��
��3�x
 �5@;
0��G
���z
o�m)
��]-k
p�s���8�6S
0#^/
P-��t
��#&
P��u
���r7
0l��]
�OS�~
@��$
��e
@� f
���e
`��5
 K�!
a7C}
����	
�7/9S
��
JH
`�	�	
�*�9
����
��
@�#�f
���@
�E	v�2
���\
��G�
 �
0�A
`J	&�M
0k
��@�6�W
�y>xz6y
��N�-
�6Q-
�l
F!
�V��S
��
Qn|
p�fi
 #�u
��#�l
�q
�R2
���2
p�C0?
�-	��.
0�"
`�9d
P�
�u
@�;�
�H�
�(��
�>�g
08�
`T=B
PM	]*
��@�G
 �	"J
��	�w
`	��
�_
�w0
���
p�&Sb
`	9
�F�,
0�`&
0�q`v
p�
���/
�D��X
 #�W
PU3�I
 �	��6
pi

 eiD
[	3Lu
`��J
`�Y;
P�	Yk#
�{fts
��#r`
PU
��-
�:r
`�E�9
0���g
�42
�)�k
0��W
�q�C
U	��
p�c�
K�-�
���
�/k?
p4	�Go
��
0�~�
@��Q1
�xu!7
@k
x
���
`�%�
8�;
�O�J
�	�#Q
`�
rn
`��$
�@�L
K
�s�
����]
 23_C
pQ	p�<
 
!�@
��&r
 B!�V
�M�
����
�+H�
���=
@/�v
@cV8
�}��
�b	�N
�w
�f

<��C
PV	h�#ts6�
��,o0
��G
�	rU

�K#�E
pl	Nj�
�kN
pl
�Q
��
G3
@��w
��
Py��9
���nu
 �S�t
`�#�n
��-a
�f7i
�4ds6�2
���
���2
p�#N
�
0A1
�p%
����|s6�x
����
�)��_
P
Jk
�1
0h�!
P
.�7
0m��[
�����
0�f�0
���T
��
=�S
 �
],%
0G�.
�S
`�
J�&
��w
�IQ
��
P�
���t
��tS
�|�`#
�z�Da
 .�)
@�	
p�ll
@�?@
��t�
��T6
�M	�
��
!�
��#U?
�0	aL;
���N�
���O
P�
�
p)�PD
�Z	s`
�P
��q
��{��
�n�
p�S#
 T�|]
2jh
��o
���r5
�x�5
@#�Y0
�p�SH�6V
��)'
��g� 
�H#�
p�
0�y
�ef�
�5��w
�zx 
H��
P��U_
��a�<
����{
}��G
�	#B
`L	o�>
	�Gi
 ��R
 �
�
�<�F
�1\z
�9jCO
��
J4O
��
5$
p�nG.
�j
0��Y
�eA
I	��)
�]|�z
�ocLn
�k_
�Qn
���_
�O
\ 
7K.
(CC
0Q	1�
P=R0=
��=PA
`H	��
�]1�
 ��P0�6^
�(�w
@K�a
���Z
��N
�u
��7
n��%
`�pZ
`�9Z
��t
���
P�Ur
��q�Z
��<.
�1�
I[�g
@�Ce
�R
|�v[
�@9
��Q
�,��K
0$
�5+
��#
P��T|
 �G�
��<�Z
`�ZL
�J

��Q�8
���K�
��V�*
��c�x
0���	
�9s"
�o?

�K#�7
�w��:
 z�	
�6��Y
pF	
0
�k`x
 ��pu6>*
@�Gx
pu�
@���
��LdT
�
9�1
j@
�T�;
�

6
p'�!
�oq�s
��A�
�URh
��
���F
�v	QaJ
@�	��)
��
?�c
��N
�v
:5
���.
V�4
����0
�&f'
�&�
���
��\�
@OU�u60p
@�� 
0��N
@@qcg
`�D#
`yFx
�Vf 
pC�WQ
��
A�z
0p�4y
`5f�
 �[�
 U�$
�)^o
 ��
p��=
�q
�0
�s#
�v^f�
��!z
�gkA
�,�
��X
���'
��?(
`�
_�#
`}�p:
�<�<
��%J
�	��
Y�l
�I"c
�N#5
��?3
�� }
`�Wvd
�\
�}
�
��
���#
�~~ae
��^
�1RM
�$�r
@ �7
�tGkY
�=�L
�I
��x
`�!.
p��9
�҉�p
 �0'3
`�<)
��^
�	B:
`���!
�c�J<
�{
 ~W�A
@K	��l
��S
@�
�
��1	
�+��Z
�%
����&
P�
�
!
��Z
 �P
p�
K/n
��ZR
�[}Z
0�3W
�Wl�
�|��[
��-
�@L
0d
�l
���Z
@�aV
�Q�,
p{�d
`��Z
P��e
���8
��`]
`�6&B
�L	~9j
p�e
��>L
�J
A]"
��#f
 �&
 T�I
0�	��
�*

�)t
��i
�|�H
��	�߁
��!
��
0�
�
@���(
@,��o
`��v
@�

�=�MW
@%fTZ
p�
ЇI~�
`�ERS
��
JRB
`M	�5
�fFZ
p�Fd{
�u�;s
 �T�
Цw
�P�'
@�&m
@�9m
`��
��V
 ��o
0!2V
pMbZ
���b
0PH�&
��W�
�y<
�Q8%
��
��*
��O�
 �Y
�I�y	
P0��
�s�*
P��zH
P�	1�w
�5J�~
�4��e
 �L
�?�"
PrC�#
�S�
���TN
`r
�?
-	qx@
��r

�KD�
@�� 
@ei�
@<6?
�+	q�c
0�1(
0�	ك
��U�a
`2�f
��s
����
���I
`�	��
�H��Y
���!
@b;�/
pBb8
@x��
`�7,�6Z
��TR)
�tgf
��M
j
%�6
0h=X3
��
=D
�X	�T�u6>[
��GQ
p�
��

��3
���
(<6
@'+�H
��	�<�
�2Y}1
����
�E(�<
p��qS
 �
Q=
�
�d
���N
�v
�

4;
��o��
���4
0�>V!
@W�/
�nk
 �R
P�
�>
�*	��I
��	�b
>�
`�
��
�	8�@
���
0�[�
 J/p
0>cA?
p0	}O
�
�hN
Ps
��
@%:�>pz6�#
�Vk1
��S�
P0Um
��H
`�	��$
0�V 6
�(�(9
0��
'
��Y�:
`��^
`��EK

�;
����m
@��e
���S
@�
0�"
�rSIY
�3��8
��e@
��F
0�}p4
@�
3
`��dF
pu	A�;
���tM
�Y
��s
 �l�
��5
0r';
 ��a
P��ă
P�E__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizexmlMallocxmlStrdup__xmlSimpleErrorxmlDictLookupxmlStrlenxmlStrndupxmlDictOwnsxmlFreexmlFreeNodeListxmlReallocxmlStrstrstrchr__snprintf_chk__stack_chk_failxmlStrchrxmlBufferCCatxmlBufferAddxmlBufferWriteQuotedStringxmlGetPredefinedEntityxmlStrEqualxmlHashAddEntryxmlHashCreateDictxmlStrcasecmp__xmlRaiseErrorxmlAddDtdEntityxmlAddDocEntityxmlNewEntityxmlGetParameterEntityxmlHashLookupxmlGetDtdEntityxmlGetDocEntityxmlEncodeAttributeEntitiesxmlEncodeEntitiesReentrantxmlEncodeSpecialCharsxmlCreateEntitiesTablexmlHashCreatexmlFreeEntitiesTablexmlHashFreexmlCopyEntitiesTablexmlHashCopyxmlDumpEntityDeclxmlBufferWriteCharxmlBufferWriteCHARxmlDumpEntitiesTablexmlHashScanisolat1ToUTF8UTF8Toisolat1memcpyiconv__errno_locationxmlDetectCharEncodingxmlCleanupEncodingAliasesxmlGetEncodingAlias__ctype_toupper_locstrcmpxmlAddEncodingAliasxmlMemStrdupxmlDelEncodingAliasmemmovexmlParseCharEncodingxmlGetCharEncodingNamexmlCleanupCharEncodingHandlersxmlRegisterCharEncodingHandlerxmlInitCharEncodingHandlersxmlNewCharEncodingHandlerUTF8ToHtmlxmlFindCharEncodingHandlericonv_openiconv_closexmlGetCharEncodingHandlerxmlCharEncFirstLineIntxmlBufferShrinkxmlBufferGrowxmlCharEncFirstLinexmlCharEncFirstLineInputxmlBufUsexmlBufAvailxmlBufContentxmlBufEndxmlBufShrinkxmlBufAddLenxmlBufGrowxmlCharEncInputxmlCharEncInFuncxmlCharEncOutputxmlGetUTF8CharxmlBufGetAllocationSchemexmlCharEncOutFuncxmlCharEncCloseFuncxmlByteConsumedxmlGenericErrorDefaultFunc__xmlGenericErrorContext__vfprintf_chkstderr__xmlGenericErrorinitGenericErrorDefaultFuncxmlSetGenericErrorFuncxmlSetStructuredErrorFunc__xmlStructuredErrorContext__xmlStructuredErrorxmlParserPrintFileInfoxmlParserPrintFileContextxmlParserError__vsnprintf_chkxmlParserWarningxmlParserValidityErrorxmlParserValidityWarningxmlGetLastError__xmlLastErrorxmlResetErrorxmlResetLastErrorxmlCtxtGetLastErrorxmlCtxtResetLastErrorxmlCopyError__xmlGetWarningsDefaultValuexmlGetPropfprintfxmlGetLineNoxmlBufIsEmptyxmlBufCreatexmlBufResetInputxmlCheckVersionxmlInitParser__fprintf_chkxmlErrMemory__xmlErrEncodingxmlIsLetterxmlIsBaseCharGroupxmlCharInRangexmlParserInputReadxmlParserInputGrowxmlParserInputBufferGrowxmlParserInputShrinkxmlParserInputBufferReadxmlNextCharxmlStopParserxmlCurrentCharxmlStringCurrentCharxmlCopyCharMultiBytexmlCopyCharxmlSwitchEncodingxmlSwitchInputEncodingxmlSwitchToEncodingxmlFreeInputStreamxmlFreeParserInputBufferxmlNewInputStreamxmlNewIOInputStream__xmlParserDebugEntitiesxmlNewEntityInputStreamxmlLoadExternalEntityxmlNewStringInputStreamxmlNewInputFromFilexmlCheckHTTPInputxmlParserGetDirectoryxmlCanonicPath__xmlLoaderErrxmlFreeParserCtxtinputPop__xmlDefaultSAXHandlerxmlDictFreexmlHashDefaultDeallocatorxmlCatalogFreeLocalxmlInitNodeInfoSeqxmlInitParserCtxtxmlDictSetLimitxmlSAXVersion__xmlLoadExtDtdDefaultValue__xmlDoValidityCheckingDefaultValue__xmlPedanticParserDefaultValue__xmlLineNumbersDefaultValue__xmlKeepBlanksDefaultValue__xmlSubstituteEntitiesDefaultValuexmlSAX2IgnorableWhitespacexmlDictCreatexmlNewParserCtxtxmlClearNodeInfoSeqxmlClearParserCtxtxmlCtxtResetxmlParserFindNodeInfoIndexxmlParserFindNodeInfoxmlParserAddNodeInfoxmlPedanticParserDefaultxmlLineNumbersDefaultxmlSubstituteEntitiesDefaultxmlKeepBlanksDefault__xmlIndentTreeOutputxmlSAX2StartElementxmlSAX2EndElementxmlIsDigitGroupxmlIsCombiningGroupxmlIsExtenderGroupxmlMallocAtomicxmlIsMixedElementxmlGetLastChildxmlNodeIsTextxmlHashScanFullxmlHashSizexmlHashRemoveEntry2xmlHasFeaturexmlCheckLanguageIDinputPushxmlStrcmpxmlBuildURIxmlInputReadCallbackNopnodePushxmlParserMaxDepthnodePopnamePushnamePopxmlPopInputxmlPushInputxmlParseCharRefxmlStringDecodeEntitiesxmlStringLenDecodeEntitiesxmlBufferCreatexmlBufferSetAllocationSchemexmlBufferFreexmlSAX2GetEntityxmlSplitQNamexmlParseNamexmlParseNmtokenxmlBuildQNamexmlParseEntityValuexmlParseSystemLiteralxmlParsePubidLiteralxmlIsPubidChar_tabxmlParseCharDataxmlParseCommentxmlParsePITargetxmlParseEntityRefxmlParseAttValuexmlParseCDSectxmlParseVersionNumxmlParseEncNamexmlParseEncodingDeclxmlSkipBlankCharsxmlParseTextDeclxmlParseVersionInfoxmlCharStrdupxmlParsePEReferencexmlParseExternalIDxmlParsePIxmlCatalogGetDefaultsxmlStrncmpxmlCatalogAddLocalxmlParseNotationDeclxmlParseEntityDeclxmlParseURIxmlFreeURIxmlSAX2EntityDeclxmlNewDtdxmlNewDocxmlParseDefaultDeclxmlParseNotationTypexmlCreateEnumerationxmlFreeEnumerationxmlParseEnumerationTypexmlParseEnumeratedTypexmlParseAttributeTypexmlParseAttributeListDeclxmlHashLookup2xmlHashAddEntry2xmlSplitQName3xmlHashUpdateEntry2xmlParseElementMixedContentDeclxmlFreeDocElementContentxmlNewDocElementContentxmlParseElementChildrenContentDeclxmlParseElementContentDeclxmlParseElementDeclxmlParseMarkupDeclxmlParseDocTypeDeclxmlParseAttributexmlParseStartTagxmlHashQLookup2strlenxmlValidateRootxmlParseEndTagxmlParserHandlePEReferencexmlParseExternalSubsetxmlCreateIntSubsetxmlParseSDDeclxmlParseXMLDeclxmlParseMiscxmlCreatePushParserCtxtxmlAllocParserInputBufferxmlBufGetInputBasexmlParserInputBufferPushxmlBufSetInputBaseCurxmlCreateIOParserCtxtxmlParserInputBufferCreateIOxmlIOParseDTDxmlFreeDocxmlSAXParseDTDxmlParseDTDxmlCreateEntityParserCtxtxmlCreateURLParserCtxtxmlCreateFileParserCtxtxmlSetupParserForBufferxmlCreateMemoryParserCtxtxmlParserInputBufferCreateMemxmlNewDocNodexmlAddChildxmlParseContentxmlFreeNodexmlDictReferencexmlValidateElementxmlParseReferencexmlDocCopyNodexmlAddChildListxmlSetTreeDocxmlParseCtxtExternalEntityxmlParseExternalEntityxmlParseExtParsedEnt__xmlDefaultSAXLocatorxmlSAXParseEntityxmlParseEntityxmlParseElementxmlParseChunkxmlStrcasestrmemchrxmlParseInNodeContexthtmlCreateMemoryParserCtxtxmlNewDocCommentxmlUnlinkNode__htmlParseContentxmlParseBalancedChunkMemoryRecoverxmlSearchNsByHrefxmlParseBalancedChunkMemoryxmlCreateDocParserCtxt__xmlGlobalInitMutexLock__xmlGlobalInitMutexUnlockxmlInitThreadsxmlInitGlobalsxmlInitMemoryxmlDefaultSAXHandlerInitxmlRegisterDefaultInputCallbacksxmlRegisterDefaultOutputCallbackshtmlInitAutoClosehtmlDefaultSAXHandlerInitxmlXPathInitxmlParseDocumentxmlSAXUserParseFilexmlSAXParseDocxmlRecoverDocxmlParseDocxmlSAXParseFileWithDataxmlSAXParseFilexmlParseFilexmlRecoverFilexmlSAXParseMemoryWithDataxmlSAXParseMemoryxmlParseMemoryxmlRecoverMemoryxmlSAXUserParseMemoryxmlCleanupParserxmlCatalogCleanupxmlDictCleanupxmlCleanupInputCallbacksxmlCleanupOutputCallbacksxmlSchemaCleanupTypesxmlRelaxNGCleanupTypesxmlCleanupGlobalsxmlCleanupThreadsxmlCleanupMemoryfreexmlCtxtResetPushxmlCtxtUseOptionsxmlReadDocxmlReadFilexmlReadMemoryxmlReadFdxmlParserInputBufferCreateFdxmlReadIOxmlCtxtReadFilexmlCtxtReadMemoryxmlCtxtReadDocxmlCtxtReadFdxmlCtxtReadIOxmlSplitQName2xmlValidateNCNamexmlValidateQNamexmlValidateNamexmlValidateNMTokenxmlSetBufferAllocationScheme__xmlBufferAllocSchemexmlGetBufferAllocationSchemexmlSetNsxmlFreeNsxmlNewNsxmlFreeNsList__xmlRegisterCallbacks__xmlRegisterNodeDefaultValuexmlGetIntSubsetxmlNodeListGetStringxmlStrcatxmlStrncatxmlNodeListGetRawStringxmlNewDocPIxmlNewPIxmlNewNodexmlNewNodeEatNamexmlNewDocFragmentxmlNewTextxmlStringTextxmlNewCharRefxmlNewReferencexmlNewDocTextxmlIsIDxmlAddIDxmlNewPropxmlNewNsPropxmlNewNsPropEatNamexmlNewTextLenxmlNewDocTextLenxmlNewCommentxmlStringCommentxmlNewCDataBlockxmlSetListDocxmlRemoveIDxmlChildElementCountxmlFirstElementChildxmlLastElementChildxmlPreviousElementSiblingxmlNextElementSiblingxmlHashRemoveEntryxmlFreeIDTablexmlFreeRefTablexmlFreeDtd__xmlDeregisterNodeDefaultValuexmlFreePropListxmlFreePropxmlRemovePropxmlFreeNotationTablexmlFreeElementTablexmlFreeAttributeTablexmlReplaceNodexmlCopyNamespacexmlCopyNamespaceListxmlGetNodePathsnprintfxmlDocGetRootElementxmlNodeSetNamexmlBufGetNodeContentxmlBufCatxmlNodeBufGetContentxmlBufFromBufferxmlBufBackToBufferxmlNodeGetContentxmlBufSetAllocationSchemexmlBufDetachxmlBufFreexmlBufCreateSizexmlGetNsListxmlGetDtdQAttrDescxmlSearchNsxmlReconciliateNsxmlHasPropxmlGetDtdAttrDescxmlHasNsPropxmlNodeAddContentxmlNodeAddContentLenxmlTextMergexmlStrncatNewxmlAddNextSiblingxmlNodeSetContentxmlStringGetNodeListxmlBufAddxmlNewDocPropxmlNewDocRawNodexmlNewTextChildxmlNewChildxmlNewDocNodeEatNamexmlStringLenGetNodeListxmlNodeSetContentLenxmlAddPrevSiblingxmlAddSiblingxmlDocSetRootElementxmlCopyDocxmlStringTextNoencxmlCopyPropListxmlCopyNodexmlCopyDtdxmlCopyNotationTablexmlCopyElementTablexmlCopyAttributeTablexmlGetDtdQElementDescxmlCopyPropxmlDocCopyNodeListxmlCopyNodeListxmlGetNoNsPropxmlGetNsPropxmlNodeGetLangxmlNodeGetSpacePreservexmlNodeGetBasexmlUnsetPropxmlUnsetNsPropxmlSetNsPropxmlNodeSetLangxmlNodeSetSpacePreservexmlNodeSetBasexmlPathToURIxmlSetPropxmlIsBlankNodexmlTextConcat__xmlDefaultBufferSizexmlBufferCreateSizexmlBufferDetachxmlBufferCreateStaticxmlBufferEmptyxmlBufferDumpfwritestdoutxmlBufferContentxmlBufferLengthxmlBufferResizexmlBufferAddHeadxmlBufferCatxmlGetDocCompressModexmlSetDocCompressModexmlGetCompressModexmlSetCompressModexmlDOMWrapNewCtxtxmlDOMWrapFreeCtxtxmlDOMWrapRemoveNodexmlDOMWrapReconcileNamespacesxmlDOMWrapCloneNodexmlDOMWrapAdoptNodememset__xmlRandomxmlHashAddEntry3xmlHashUpdateEntry3xmlHashUpdateEntryxmlHashLookup3xmlHashQLookup3xmlStrQEqualxmlHashQLookupxmlHashScanFull3xmlHashScan3xmlHashRemoveEntry3xmlListCreatexmlListSearchxmlListReverseSearchxmlListInsertxmlListAppendxmlListRemoveFirstxmlListRemoveLastxmlListRemoveAllxmlListClearxmlListDeletexmlListEmptyxmlListFrontxmlListEndxmlListSizexmlListPopFrontxmlListPopBackxmlListPushFrontxmlListPushBackxmlLinkGetDataxmlListReversexmlListWalkxmlListReverseWalkxmlListCopyxmlListMergexmlListDupxmlListSortxmlFileMatchxmlIOHTTPMatchxmlStrncasecmpxmlIOFTPMatchxmlIOHTTPOpenxmlNanoHTTPOpendeflateEndxmlIOHTTPReadxmlNanoHTTPReadxmlIOHTTPClosexmlNanoHTTPClosexmlIOFTPOpenxmlNanoFTPOpenxmlIOFTPReadxmlNanoFTPReadxmlIOFTPClosexmlNanoFTPClosegzopen64filenogzdopen__xmlIOErrxmlFileReadfreadxmlFileClosestdinfclosefflushdeflateInit2_crc32xmlStrPrintf__libxml2_xzclose__libxml2_xzreadgzclosegzreadferrorfopen64gzwritexmlNormalizeWindowsPathxmlPopInputCallbacksxmlPopOutputCallbacksxmlCheckFilename__xstat64xmlFileOpenxmlURIUnescapeString__libxml2_xzopen__libxml2_xzdopenxmlCatalogResolvexmlCatalogResolveURIxmlCatalogLocalResolvexmlCatalogLocalResolveURIxmlRegisterInputCallbacksxmlRegisterOutputCallbacksxmlRegisterHTTPPostCallbacks__xmlParserInputBufferCreateFilename__libxml2_xzcompressedgzdirectxmlAllocOutputBufferxmlAllocOutputBufferInternal__xmlParserInputBufferCreateFilenameValuexmlParserInputBufferCreateFilexmlOutputBufferCreateFilexmlOutputBufferGetContentxmlOutputBufferGetSizexmlParserInputBufferCreateStaticxmlBufCreateStaticxmlOutputBufferCreateFdxmlOutputBufferCreateIOxmlOutputBufferCreateBufferxmlParserInputBufferCreateFilenameDefaultxmlOutputBufferCreateFilenameDefault__xmlOutputBufferCreateFilenameValue__xmlOutputBufferCreateFilenamexmlOutputBufferWritedeflatexmlOutputBufferWriteEscapexmlOutputBufferWriteStringxmlOutputBufferFlushxmlOutputBufferClosexmlIOHTTPOpenWxmlNanoHTTPMethodxmlNanoHTTPReturnCodestrncpygetcwdxmlNanoHTTPMimeTypexmlNanoHTTPEncodingxmlNanoHTTPRedirxmlSetExternalEntityLoaderxmlGetExternalEntityLoaderxmlNoNetExternalEntityLoaderxmlMallocBreakpointxmlMemFreexmlMutexLockxmlMutexUnlockxmlMemUsedxmlMemBlocksxmlMemDisplayLastxmlMemDisplayxmlMemShowxmlMemoryDumpxmlNewMutexgetenv__isoc99_sscanfxmlMallocLocmallocxmlMemMallocxmlMallocAtomicLocxmlReallocLocreallocxmlMemReallocxmlMemStrdupLocstrcpyxmlMemoryStrdupxmlFreeMutexxmlMemSetupxmlMemGetxmlGcMemSetupxmlGcMemGetxmlCreateURIxmlSaveUrixmlPrintURIfputsxmlNormalizeURIPathxmlParseURIReferencexmlParseURIRawxmlURIEscapeStrxmlURIEscapexmlBuildRelativeURIxmlAutomataNewStatexmlAutomataNewEpsilonxmlAutomataNewTransitionxmlNewValidCtxtxmlFreeValidCtxtxmlNewElementContentxmlCopyDocElementContentxmlCopyElementContentxmlRegFreeRegexpxmlFreeElementContentxmlSprintfElementContentxmlSnprintfElementContentstpcpystrcatxmlNewAutomataxmlAutomataGetInitStatexmlAutomataSetFinalStatexmlAutomataCompilexmlRegexpIsDeterministxmlFreeAutomataxmlValidBuildContentModelxmlRegNewExecCtxtxmlRegExecPushStringxmlRegFreeExecCtxt__strcat_chk__stpcpy_chkxmlAddElementDeclxmlDumpElementDeclxmlDumpElementTablexmlCopyEnumerationxmlAddAttributeDeclxmlDumpAttributeDeclxmlDumpAttributeTablexmlAddNotationDeclxmlDumpNotationDeclxmlDumpNotationTablexmlGetIDxmlAddRefxmlRemoveRefxmlGetRefsxmlGetDtdElementDescxmlIsRefxmlGetDtdNotationDescxmlValidateNotationUsexmlValidateNameValuexmlValidateNamesValuexmlValidateNmtokenValuexmlValidateNmtokensValuexmlValidateNotationDeclxmlValidateAttributeValuexmlValidCtxtNormalizeAttributeValuexmlValidNormalizeAttributeValuexmlValidateAttributeDeclxmlValidateElementDeclxmlValidateOneAttributexmlValidateOneNamespacexmlValidatePushElementxmlValidatePushCDataxmlValidatePopElementxmlValidateOneElementxmlValidateDocumentFinalxmlValidateDtdxmlValidateDtdFinalxmlValidateDocumentxmlValidGetPotentialChildrenxmlValidGetValidElementsxlinkGetDefaultHandlerxlinkSetDefaultHandlerxlinkGetDefaultDetectxlinkSetDefaultDetectxlinkIsLinkhtmlTagLookuphtmlAutoCloseTaghtmlIsAutoClosedhtmlIsScriptAttributehtmlEntityLookuphtmlEntityValueLookuphtmlEncodeEntitieshtmlNewDocNoDtDhtmlNewDochtmlParseEntityRefhtmlParseCharRefhtmlParseElementhtmlParseDocumenthtmlFreeParserCtxthtmlNewParserCtxtxmlSAX2InitHtmlDefaultSAXHandlerhtmlParseChunkhtmlCreatePushParserCtxt__htmlDefaultSAXHandlerhtmlSAXParseDochtmlParseDochtmlCreateFileParserCtxthtmlSAXParseFilehtmlParseFilehtmlHandleOmittedElemhtmlElementAllowedHerehtmlElementStatusHerehtmlAttrAllowedhtmlNodeStatushtmlCtxtResethtmlCtxtUseOptionshtmlReadDochtmlReadFilehtmlReadMemoryhtmlReadFdhtmlReadIOhtmlCtxtReadFilehtmlCtxtReadMemoryhtmlCtxtReadDochtmlCtxtReadFdhtmlCtxtReadIOhtmlGetMetaEncodinghtmlSetMetaEncodinghtmlIsBooleanAttrxmlBufWriteQuotedStringhtmlNodeDumpFormatOutputxmlNsListDumpOutputhtmlNodeDumpFileFormathtmlNodeDumpFilehtmlNodeDumphtmlNodeDumpOutputhtmlDocContentDumpFormatOutputhtmlDocDumpMemoryFormathtmlDocDumpMemoryhtmlDocContentDumpOutputhtmlDocDumphtmlSaveFilehtmlSaveFileFormathtmlSaveFileEncfputcxmlCheckUTF8xmlDebugDumpStringxmlDebugDumpAttrxmlDebugDumpEntitiesxmlDebugDumpAttrListxmlDebugDumpOneNodexmlDebugDumpNodexmlDebugDumpNodeListxmlDebugDumpDocumentHeadxmlDebugDumpDocumentxmlDebugDumpDTDxmlDebugCheckDocumentxmlLsCountNodexmlLsOneNodexmlBoolToTextxmlShellPrintXPathErrorxmlShellPrintNodexmlElemDumpxmlDocDumpxmlShellPrintXPathResultxmlShellListxmlShellBasexmlShellDirxmlShellCatxmlShellLoadxmlXPathFreeContextxmlXPathNewContextxmlShellWritexmlSaveFilexmlShellSavexmlShellValidatexmlShellDuxmlShellPwdxmlShellxmlRelaxNGNewParserCtxtxmlRelaxNGSetParserErrorsxmlRelaxNGParsexmlRelaxNGFreeParserCtxtxmlRelaxNGNewValidCtxtxmlRelaxNGSetValidErrorsxmlRelaxNGValidateDocxmlRelaxNGFreeValidCtxtxmlRelaxNGFreexmlXPathEvalxmlXPathFreeObjectxmlXPathRegisterNsxmlXPathDebugDumpObjectxmlXPathNextSelfxmlXPathNextDescendantxmlXPathNextDescendantOrSelfxmlXPathNextFollowingSiblingxmlXPathNextFollowingxmlXPathNextAttributexmlXPathNextParentxmlXPathNextAncestorxmlXPathNextAncestorOrSelfxmlXPathNextNamespacexmlXPathNextChildxmlXPathNextPrecedingSiblingexitxmlPatterncompilexmlPatternStreamablexmlFreePatternlibxml_domnode_binary_insertion_sortlibxml_domnode_tim_sortxmlXPathNANxmlXPathPINFxmlXPathNINFxmlXPathIsNaNxmlXPathIsInfxmlXPathErrxmlXPatherrorxmlXPathDebugDumpCompExprxmlXPathContextSetCachevaluePopvaluePushxmlXPathOrderDocElemsxmlXPathCmpNodesxmlXPathNodeSetSortxmlXPathNodeSetFreeNsxmlXPathNodeSetCreatexmlXPathNodeSetContainsxmlXPathNodeSetAddNsxmlXPathNodeSetAddxmlXPathNodeSetAddUniquexmlXPathNodeSetMergexmlXPathNodeSetDelxmlXPathNodeSetRemovexmlXPathFreeNodeSetxmlXPathNewNodeSetxmlPatternMaxDepthxmlPatternMinDepthxmlPatternFromRootxmlPatternGetStreamCtxtxmlStreamWantsAnyNodexmlStreamPushxmlStreamPushNodexmlStreamPopxmlFreeStreamCtxtxmlXPathNewValueTreexmlXPathNewNodeSetListxmlXPathWrapNodeSetxmlXPathFreeNodeSetListxmlXPathDifferencexmlXPathIntersectionxmlXPathHasSameNodesxmlXPathNodeLeadingSortedxmlXPathNodeLeadingxmlXPathLeadingSortedxmlXPathLeadingxmlXPathNodeTrailingSortedxmlXPathNodeTrailingxmlXPathTrailingSortedxmlXPathTrailingxmlXPathRegisterFuncNSxmlXPathRegisterFuncxmlXPathRegisterFuncLookupxmlXPathFunctionLookupNSxmlXPathFunctionLookupxmlXPathRegisteredFuncsCleanupxmlXPathRegisterVariableNSxmlXPathRegisterVariablexmlXPathRegisterVariableLookupxmlXPathRegisteredVariablesCleanupxmlXPathNsLookupxmlXPathRegisteredNsCleanupxmlXPathNewFloatxmlXPathLastFunctionxmlXPathPositionFunctionxmlXPathNewBooleanxmlXPathTrueFunctionxmlXPathFalseFunctionxmlXPathNewStringxmlXPathWrapStringxmlXPathNewCStringxmlXPathWrapCStringxmlXPathWrapExternalxmlXPathObjectCopyxmlXPathVariableLookupNSxmlXPathVariableLookupxmlXPathFreeCompExprxmlFreePatternListxmlXPathPopNodeSetxmlXPathPopExternalxmlXPathCountFunctionxmlXPathLocalNameFunctionxmlXPathNamespaceURIFunctionxmlXPathCastBooleanToStringxmlXPathCastNumberToString__memmove_chklog10xmlXPathCastNodeToStringxmlXPathDistinctSortedxmlXPathDistinctxmlXPathCastNodeSetToStringxmlXPathIdFunctionxmlXPathStringFunctionxmlXPathStringLengthFunctionxmlUTF8StrlenxmlXPathConcatFunctionxmlXPathContainsFunctionxmlXPathStartsWithFunctionxmlXPathSubstringBeforeFunctionxmlXPathSubstringAfterFunctionxmlXPathNormalizeFunctionxmlXPathTranslateFunctionxmlUTF8StrlocxmlUTF8StrsizexmlUTF8StrposxmlXPathLangFunctionxmlXPathCastToStringxmlXPathPopStringxmlXPathConvertStringxmlXPathCastBooleanToNumberxmlXPathCastNumberToBooleanxmlXPathCastStringToBooleanxmlXPathCastNodeSetToBooleanxmlXPathCastToBooleanxmlXPathPopBooleanxmlXPathBooleanFunctionxmlXPathNotFunctionxmlXPathConvertBooleanxmlXPathNewParserContextxmlXPathFreeParserContextxmlXPathNextPrecedingxmlXPathRootxmlXPathParseNCNamexmlXPathParseNamexmlXPathStringEvalNumberpowxmlXPathCastStringToNumberxmlXPathCastNodeToNumberxmlXPathSumFunctionxmlXPathCastNodeSetToNumberxmlXPathCastToNumberxmlXPathPopNumberxmlXPathConvertNumberxmlXPathNumberFunctionxmlXPathEqualValuesxmlXPathNotEqualValuesxmlXPathCompareValuesxmlXPathValueFlipSignxmlXPathAddValuesxmlXPathSubValuesxmlXPathMultValuesxmlXPathDivValuesxmlXPathModValuesfmodxmlXPathSubstringFunctionxmlUTF8StrsubxmlXPathFloorFunctionxmlXPathCeilingFunctionxmlXPathRoundFunctionxmlXPathIsNodeTypexmlXPathEvalPredicatexmlXPathEvaluatePredicateResultxmlXPathCtxtCompilexmlXPathCompilexmlXPathCompiledEvalxmlXPathCompiledEvalToBooleanxmlXPathEvalExprxmlXPathSetContextNodexmlXPathNodeEvalxmlXPathEvalExpressionxmlXPathRegisterAllFunctionsxmlXPtrNewContextxmlXPtrEvalxmlXIncludeNewContextxmlXIncludeFreeContextxmlXIncludeSetFlagsxmlBufLengthxmlXIncludeProcessTreeFlagsDataxmlXIncludeProcessFlagsDataxmlXIncludeProcessFlagsxmlXIncludeProcessxmlXIncludeProcessTreeFlagsxmlXIncludeProcessTreexmlXIncludeProcessNodeinflateEndsocketfcntl64connectpollgetsockoptrecvgetaddrinfo__memcpy_chkfreeaddrinfogethostbyname__h_errno_locationsendxmlCharStrndupxmlNanoHTTPCleanupxmlNanoHTTPScanProxyxmlNanoHTTPInitinflatexmlNanoHTTPMethodRedirinflateInit2_strtolxmlNanoHTTPOpenRedirxmlNanoHTTPFetchxmlNanoHTTPSavexmlNanoHTTPAuthHeaderxmlNanoHTTPContentLengthxmlNanoFTPCleanupxmlNanoFTPProxyxmlNanoFTPUpdateURLxmlNanoFTPScanProxyxmlNanoFTPInitxmlNanoFTPNewCtxtxmlNanoFTPFreeCtxtxmlNanoFTPGetResponsexmlNanoFTPCheckResponse__fdelt_chkselectxmlNanoFTPQuitxmlNanoFTPConnectxmlNanoFTPConnectToxmlNanoFTPCwdxmlNanoFTPDelexmlNanoFTPGetConnectiongetsocknamebindlisteninet_ntopxmlNanoFTPCloseConnectionxmlNanoFTPListxmlNanoFTPGetSocketxmlNanoFTPGetxmlNewRMutexxmlFreeCatalogxmlConvertSGMLCatalogxmlParseCatalogFilexmlRMutexLockxmlRMutexUnlockxmlGetThreadIdxmlLoadSGMLSuperCatalogxmlLoadACatalogxmlACatalogResolveSystemxmlACatalogResolvePublicxmlACatalogResolvexmlACatalogResolveURIxmlACatalogDumpxmlSaveFormatFileToxmlACatalogAddxmlACatalogRemovexmlNewCatalogxmlCatalogIsEmptyxmlInitializeCatalogxmlLoadCatalogxmlLoadCatalogsxmlFreeRMutexxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCatalogDumpxmlCatalogAddxmlCatalogRemovexmlCatalogConvertxmlCatalogSetDefaultsxmlCatalogSetDefaultPreferxmlCatalogSetDebugxmlCatalogGetSystemxmlCatalogGetPublicxmlInitializeGlobalStatexmlSAX2GetPublicIdxmlSAX2GetSystemIdxmlSAX2GetLineNumberxmlSAX2GetColumnNumber__xmlGlobalInitMutexDestroyxmlThrDefSetGenericErrorFuncxmlThrDefSetStructuredErrorFuncxmlRegisterNodeDefaultxmlThrDefRegisterNodeDefaultxmlDeregisterNodeDefaultxmlThrDefDeregisterNodeDefaultxmlThrDefParserInputBufferCreateFilenameDefaultxmlThrDefOutputBufferCreateFilenameDefaultxmlIsMainThreadxmlGetGlobalState__oldXMLWDcompatibilityxmlThrDefBufferAllocSchemexmlThrDefDefaultBufferSizexmlThrDefDoValidityCheckingDefaultValuexmlThrDefGetWarningsDefaultValuexmlThrDefIndentTreeOutput__xmlTreeIndentStringxmlThrDefTreeIndentStringxmlThrDefKeepBlanksDefaultValuexmlThrDefLineNumbersDefaultValuexmlThrDefLoadExtDtdDefaultValuexmlThrDefParserDebugEntities__xmlParserVersionxmlThrDefPedanticParserDefaultValue__xmlSaveNoEmptyTagsxmlThrDefSaveNoEmptyTagsxmlThrDefSubstituteEntitiesDefaultValuexmlSAX2InternalSubsetxmlSAX2SetDocumentLocatorxmlSAX2StartDocumentxmlSAX2EndDocumentxmlSAX2CharactersxmlSAX2ProcessingInstructionxmlSAX2CommentxmlSAX2GetParameterEntityxmlSAX2CDataBlockxmlSAX2IsStandalonexmlSAX2HasInternalSubsetxmlSAX2HasExternalSubsetxmlSAX2ResolveEntityxmlSAX2NotationDeclxmlSAX2AttributeDeclxmlSAX2ElementDeclxmlSAX2UnparsedEntityDeclxmlSAX2ReferencexmlSAX2ExternalSubsetpthread_key_createpthread_self__xmlInitializeDictpthread_mutex_initpthread_mutex_destroypthread_mutex_lockpthread_mutex_unlockpthread_cond_initpthread_cond_destroypthread_cond_waitpthread_cond_signalpthread_oncepthread_getspecificcallocpthread_setspecificxmlLockLibraryxmlUnlockLibrarypthread_key_deletepthread_equalxmlC14NExecutexmlC14NDocSaveToxmlC14NDocDumpMemoryxmlC14NDocSavexmlStrsubxmlStrVPrintfxmlUTF8SizexmlUTF8CharcmpxmlUTF8StrndupxmlEscapeFormatStringxmlBufEmptyxmlBufDumpxmlBufResizexmlBufCCatxmlBufMergeBufferxmlUCSIsCatNdxmlUCSIsCatCoxmlUCSIsCatCfxmlUCSIsCatCcxmlUCSIsCatCxmlUCSIsCatSoxmlUCSIsCatSkxmlUCSIsCatScxmlUCSIsCatSmxmlUCSIsCatNlxmlUCSIsBlockxmlUCSIsCatNxmlUCSIsCatMexmlUCSIsCatMcxmlUCSIsCatMnxmlUCSIsCatMxmlUCSIsCatLoxmlUCSIsCatLmxmlUCSIsCatLtxmlUCSIsCatLlxmlUCSIsCatLuxmlUCSIsCatLxmlUCSIsCatPxmlUCSIsCatZxmlUCSIsCatPfxmlUCSIsCatPixmlUCSIsCatPexmlUCSIsCatPsxmlUCSIsCatPdxmlUCSIsCatPcxmlUCSIsCatNoxmlUCSIsCatZlxmlUCSIsCatZsxmlUCSIsCatPoxmlUCSIsCatSxmlUCSIsCatZpxmlRegExecPushString2xmlRegExecNextValuesxmlRegExecErrInfoxmlRegexpPrintxmlRegexpExecxmlRegexpCompilexmlAutomataSetFlagsxmlAutomataNewTransition2xmlAutomataNewNegTransxmlAutomataNewCountTrans2xmlAutomataNewCountTransxmlAutomataNewOnceTrans2xmlAutomataNewOnceTransxmlAutomataNewAllTransxmlAutomataNewCounterxmlAutomataNewCountedTransxmlAutomataNewCounterTransxmlAutomataIsDeterministxmlSchemaFreeValuexmlSchemaGetValTypexmlSchemaGetBuiltInTypexmlSchemaCompareValuesWhtspxmlSchemaValueGetNextxmlSchemaValueGetAsStringxmlSchemaGetCanonValuexmlSchemaCollapseStringxmlSchemaWhiteSpaceReplacexmlSchemaGetPredefinedTypexmlTextReaderLookupNamespacexmlSchemaNewNOTATIONValuexmlSchemaGetFacetValueAsULongxmlSchemaValidateLengthFacetWhtspxmlSchemaValidateFacetWhtspxmlSchemaValidateListSimpleTypeFacetxmlSchemaValPredefTypeNodeNoNormxmlSchemaValueAppendxmlSchemaNewQNameValuexmlStreamPushAttrxmlSchemaValPredefTypeNodexmlSchemaNewFacetxmlSchemaFreeWildcardxmlSchemaFreeFacetxmlSchemaFreeTypexmlSchemaFreexmlSchemaDumpxmlSchemaNewParserCtxtxmlSchemaNewMemParserCtxtxmlSchemaNewDocParserCtxtxmlSchemaGetParserErrorsxmlSchemaNewValidCtxtxmlSchemaValidateSetFilenamexmlSchemaFreeValidCtxtxmlSchemaFreeParserCtxtxmlSchemaCheckFacetxmlSchemaValidatePredefinedTypexmlSchemaIsValidxmlSchemaSetValidErrorsxmlSchemaSetParserErrorsxmlSchemaSetValidStructuredErrorsxmlSchemaSetParserStructuredErrorsxmlSchemaCompareValuesxmlSchemaIsBuiltInTypeFacetxmlSchemaParsexmlSchemaInitTypesxmlSchemaCopyValuexmlSchemaValueGetAsBooleanxmlSchemaGetValidErrorsxmlSchemaSetValidOptionsxmlSchemaValidCtxtGetOptionsxmlSchemaValidateOneElementxmlSchemaValidateDocxmlSchemaSAXPlugxmlSchemaSAXUnplugxmlSchemaValidateSetLocatorxmlSchemaValidateStreamxmlSchemaValidateFilexmlSchemaValidCtxtGetParserCtxtxmlSchemaNewStringValuefloorxmlSchemaGetBuiltInListSimpleTypeItemTypexmlSchemaValidateLengthFacetxmlSchemaValidateFacetxmlSchemaGetCanonValueWhtspxmlUCSIsAegeanNumbersxmlUCSIsAlphabeticPresentationFormsxmlUCSIsArabicxmlUCSIsArabicPresentationFormsAxmlUCSIsArabicPresentationFormsBxmlUCSIsArmenianxmlUCSIsArrowsxmlUCSIsBasicLatinxmlUCSIsBengalixmlUCSIsBlockElementsxmlUCSIsBopomofoxmlUCSIsBopomofoExtendedxmlUCSIsBoxDrawingxmlUCSIsBraillePatternsxmlUCSIsBuhidxmlUCSIsByzantineMusicalSymbolsxmlUCSIsCJKCompatibilityxmlUCSIsCJKCompatibilityFormsxmlUCSIsCJKCompatibilityIdeographsxmlUCSIsCJKCompatibilityIdeographsSupplementxmlUCSIsCJKRadicalsSupplementxmlUCSIsCJKSymbolsandPunctuationxmlUCSIsCJKUnifiedIdeographsxmlUCSIsCJKUnifiedIdeographsExtensionAxmlUCSIsCJKUnifiedIdeographsExtensionBxmlUCSIsCherokeexmlUCSIsCombiningDiacriticalMarksxmlUCSIsCombiningDiacriticalMarksforSymbolsxmlUCSIsCombiningHalfMarksxmlUCSIsControlPicturesxmlUCSIsCurrencySymbolsxmlUCSIsCypriotSyllabaryxmlUCSIsCyrillicxmlUCSIsCyrillicSupplementxmlUCSIsDeseretxmlUCSIsDevanagarixmlUCSIsDingbatsxmlUCSIsEnclosedAlphanumericsxmlUCSIsEnclosedCJKLettersandMonthsxmlUCSIsEthiopicxmlUCSIsGeneralPunctuationxmlUCSIsGeometricShapesxmlUCSIsGeorgianxmlUCSIsGothicxmlUCSIsGreekxmlUCSIsGreekExtendedxmlUCSIsGujaratixmlUCSIsGurmukhixmlUCSIsHalfwidthandFullwidthFormsxmlUCSIsHangulCompatibilityJamoxmlUCSIsHangulJamoxmlUCSIsHangulSyllablesxmlUCSIsHanunooxmlUCSIsHebrewxmlUCSIsHighPrivateUseSurrogatesxmlUCSIsHighSurrogatesxmlUCSIsHiraganaxmlUCSIsIPAExtensionsxmlUCSIsIdeographicDescriptionCharactersxmlUCSIsKanbunxmlUCSIsKangxiRadicalsxmlUCSIsKannadaxmlUCSIsKatakanaxmlUCSIsKatakanaPhoneticExtensionsxmlUCSIsKhmerxmlUCSIsKhmerSymbolsxmlUCSIsLaoxmlUCSIsLatin1SupplementxmlUCSIsLatinExtendedAxmlUCSIsLatinExtendedBxmlUCSIsLatinExtendedAdditionalxmlUCSIsLetterlikeSymbolsxmlUCSIsLimbuxmlUCSIsLinearBIdeogramsxmlUCSIsLinearBSyllabaryxmlUCSIsLowSurrogatesxmlUCSIsMalayalamxmlUCSIsMathematicalAlphanumericSymbolsxmlUCSIsMathematicalOperatorsxmlUCSIsMiscellaneousMathematicalSymbolsAxmlUCSIsMiscellaneousMathematicalSymbolsBxmlUCSIsMiscellaneousSymbolsxmlUCSIsMiscellaneousSymbolsandArrowsxmlUCSIsMiscellaneousTechnicalxmlUCSIsMongolianxmlUCSIsMusicalSymbolsxmlUCSIsMyanmarxmlUCSIsNumberFormsxmlUCSIsOghamxmlUCSIsOldItalicxmlUCSIsOpticalCharacterRecognitionxmlUCSIsOriyaxmlUCSIsOsmanyaxmlUCSIsPhoneticExtensionsxmlUCSIsPrivateUsexmlUCSIsPrivateUseAreaxmlUCSIsRunicxmlUCSIsShavianxmlUCSIsSinhalaxmlUCSIsSmallFormVariantsxmlUCSIsSpacingModifierLettersxmlUCSIsSpecialsxmlUCSIsSuperscriptsandSubscriptsxmlUCSIsSupplementalArrowsAxmlUCSIsSupplementalArrowsBxmlUCSIsSupplementalMathematicalOperatorsxmlUCSIsSupplementaryPrivateUseAreaAxmlUCSIsSupplementaryPrivateUseAreaBxmlUCSIsSyriacxmlUCSIsTagalogxmlUCSIsTagbanwaxmlUCSIsTagsxmlUCSIsTaiLexmlUCSIsTaiXuanJingSymbolsxmlUCSIsTamilxmlUCSIsTeluguxmlUCSIsThaanaxmlUCSIsThaixmlUCSIsTibetanxmlUCSIsUgariticxmlUCSIsUnifiedCanadianAboriginalSyllabicsxmlUCSIsVariationSelectorsxmlUCSIsVariationSelectorsSupplementxmlUCSIsYiRadicalsxmlUCSIsYiSyllablesxmlUCSIsYijingHexagramSymbolsxmlUCSIsCatCsxmlUCSIsGreekandCopticxmlUCSIsCombiningMarksforSymbolsxmlUCSIsCatxmlRelaxNGValidatePopElementxmlRelaxNGValidatePushCDataxmlRelaxNGSetValidStructuredErrorsxmlTextReaderReadStatexmlTextReaderExpandxmlRelaxNGValidatePushElementxmlRelaxNGValidateFullElementxmlTextReaderReadInnerXmlxmlNodeDumpxmlTextReaderReadOuterXmlxmlTextReaderReadStringxmlNewTextReaderxmlNewTextReaderFilenamexmlTextReaderClosexmlFreeTextReaderxmlTextReaderGetAttributeNoxmlTextReaderGetAttributexmlTextReaderGetAttributeNsxmlTextReaderGetRemainderxmlTextReaderMoveToAttributeNoxmlTextReaderMoveToAttributexmlTextReaderMoveToAttributeNsxmlTextReaderMoveToFirstAttributexmlTextReaderMoveToNextAttributexmlTextReaderMoveToElementxmlTextReaderReadAttributeValuexmlTextReaderConstEncodingxmlTextReaderAttributeCountxmlTextReaderNodeTypexmlTextReaderIsEmptyElementxmlTextReaderNamexmlTextReaderLocalNamexmlTextReaderConstNamexmlDictQLookupxmlTextReaderConstLocalNamexmlTextReaderPrefixxmlTextReaderConstPrefixxmlTextReaderNamespaceUrixmlTextReaderConstNamespaceUrixmlTextReaderBaseUrixmlTextReaderConstBaseUrixmlTextReaderDepthxmlTextReaderHasAttributesxmlTextReaderHasValuexmlTextReaderValuexmlTextReaderConstValuexmlTextReaderIsDefaultxmlTextReaderQuoteCharxmlTextReaderXmlLangxmlTextReaderConstXmlLangxmlTextReaderConstStringxmlTextReaderNormalizationxmlTextReaderSetParserPropxmlTextReaderGetParserPropxmlTextReaderGetParserLineNumberxmlTextReaderGetParserColumnNumberxmlTextReaderCurrentNodexmlTextReaderPreservexmlTextReaderReadxmlPatternMatchxmlTextReaderNextSiblingxmlTextReaderNextxmlTextReaderPreservePatternxmlTextReaderCurrentDocxmlTextReaderRelaxNGSetSchemaxmlTextReaderSetSchemaxmlTextReaderSchemaValidateCtxtxmlTextReaderSchemaValidatexmlTextReaderRelaxNGValidateCtxtxmlTextReaderRelaxNGValidatexmlTextReaderIsNamespaceDeclxmlTextReaderConstXmlVersionxmlTextReaderStandalonexmlTextReaderLocatorLineNumberxmlTextReaderLocatorBaseURIxmlTextReaderSetErrorHandlerxmlTextReaderSetStructuredErrorHandlerxmlTextReaderIsValidxmlTextReaderGetErrorHandlerxmlTextReaderSetupxmlTextReaderByteConsumedxmlReaderWalkerxmlReaderForFilexmlReaderForMemoryxmlReaderForDocxmlReaderForFdxmlReaderForIOxmlReaderNewWalkerxmlReaderNewFilexmlReaderNewMemoryxmlReaderNewDocxmlReaderNewFdxmlReaderNewIOxmlRelaxParserSetFlagxmlRelaxNGInitTypesxmlRelaxNGNewMemParserCtxtxmlRelaxNGNewDocParserCtxtxmlRelaxNGGetParserErrorsxmlRelaxNGSetParserStructuredErrorsxmlRelaxNGDumpxmlRelaxNGDumpTreexmlRelaxNGGetValidErrorstimerand_rxmlDictCreateSubmemcmpxmlDictExistsxmlDictSizexmlDictGetUsagexmlSAX2EndElementNsxmlSAX2StartElementNsxmlSAXDefaultVersionxmlSAX2InitDefaultSAXHandlerxmlNewTextWriterxmlNewTextWriterFilenamexmlNewTextWriterMemoryxmlNewTextWriterPushParserxmlNewTextWriterDocxmlNewTextWriterTreexmlFreeTextWriterxmlTextWriterStartDocumentxmlTextWriterEndCommentxmlTextWriterEndAttributexmlTextWriterStartAttributexmlTextWriterStartAttributeNSxmlTextWriterWriteAttributexmlTextWriterWriteStringxmlTextWriterStartCommentxmlTextWriterStartElementxmlTextWriterStartElementNSxmlTextWriterEndElementxmlTextWriterFullEndElementxmlTextWriterWriteRawLenxmlTextWriterWriteRawxmlTextWriterWriteVFormatRawxmlTextWriterWriteFormatRawxmlBufAttrSerializeTxtContentxmlTextWriterWriteCommentxmlTextWriterWriteVFormatCommentxmlTextWriterWriteFormatCommentxmlTextWriterWriteVFormatStringxmlTextWriterWriteFormatStringxmlTextWriterWriteBase64xmlTextWriterWriteBinHexxmlTextWriterWriteVFormatAttributexmlTextWriterWriteFormatAttributexmlTextWriterWriteAttributeNSxmlTextWriterWriteVFormatAttributeNSxmlTextWriterWriteFormatAttributeNSxmlTextWriterWriteElementxmlTextWriterWriteVFormatElementxmlTextWriterWriteFormatElementxmlTextWriterWriteElementNSxmlTextWriterWriteVFormatElementNSxmlTextWriterWriteFormatElementNSxmlTextWriterStartPIxmlTextWriterEndPIxmlTextWriterWritePIxmlTextWriterWriteVFormatPIxmlTextWriterWriteFormatPIxmlTextWriterStartCDATAxmlTextWriterEndCDATAxmlTextWriterWriteCDATAxmlTextWriterWriteVFormatCDATAxmlTextWriterWriteFormatCDATAxmlTextWriterStartDTDxmlTextWriterStartDTDElementxmlTextWriterEndDTDElementxmlTextWriterWriteDTDElementxmlTextWriterWriteVFormatDTDElementxmlTextWriterWriteFormatDTDElementxmlTextWriterStartDTDAttlistxmlTextWriterEndDTDAttlistxmlTextWriterWriteDTDAttlistxmlTextWriterWriteVFormatDTDAttlistxmlTextWriterWriteFormatDTDAttlistxmlTextWriterStartDTDEntityxmlTextWriterEndDTDEntityxmlTextWriterEndDTDxmlTextWriterWriteDTDxmlTextWriterWriteVFormatDTDxmlTextWriterWriteFormatDTDxmlTextWriterWriteDTDInternalEntityxmlTextWriterWriteVFormatDTDInternalEntityxmlTextWriterWriteFormatDTDInternalEntityxmlTextWriterWriteDTDExternalEntityContentsxmlTextWriterWriteDTDExternalEntityxmlTextWriterWriteDTDEntityxmlTextWriterWriteDTDNotationxmlTextWriterFlushxmlTextWriterEndDocumentxmlTextWriterSetIndentxmlTextWriterSetIndentStringxmlTextWriterSetQuoteCharxmlIsBaseCharxmlIsBlankxmlIsCharxmlIsCombiningxmlIsDigitxmlIsExtenderxmlIsIdeographicxmlIsPubidCharxmlIsIdeographicGroupxmlIsCharGroupxmlIsXHTMLxmlBufDumpNotationTablexmlBufDumpElementDeclxmlBufDumpAttributeDeclxmlBufDumpEntityDeclxmlSaveToFdxmlSaveToFilenamexmlSaveToBufferxmlSaveToIOxmlSaveFlushxmlSaveClosexmlSaveSetEscapexmlSaveSetAttrEscapexmlSaveDocxmlSaveTreexmlAttrSerializeTxtContentxmlNodeDumpOutputxmlBufNodeDumpxmlDocDumpFormatMemoryEncxmlDocDumpMemoryxmlDocDumpFormatMemoryxmlDocDumpMemoryEncxmlDocFormatDumpxmlSaveFileToxmlSaveFormatFileEncxmlSaveFileEncxmlSaveFormatFilexmlModuleOpendlopenxmlModuleSymboldlsymdlerrorxmlModuleFreexmlModuleClosedlclose__sprintf_chkxmlSchematronFreexmlSchematronFreeParserCtxtxmlSchematronNewParserCtxtxmlSchematronNewMemParserCtxtxmlSchematronNewDocParserCtxtxmlSchematronParsexmlSchematronSetValidStructuredErrorsxmlSchematronFreeValidCtxtxmlSchematronNewValidCtxtxmlSchematronValidateDocstrerrorlseek64lzma_codelzma_auto_decoderlzma_properties_decodeinflateResetlzma_endlibdl.so.2libz.so.1liblzma.so.5libm.so.6libc.so.6_edata__bss_startlibxml2.so.2LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.5.2LIBXML2_2.5.4LIBXML2_2.5.5LIBXML2_2.5.6LIBXML2_2.5.7LIBXML2_2.5.8LIBXML2_2.5.9LIBXML2_2.6.0LIBXML2_2.6.1LIBXML2_2.6.2LIBXML2_2.6.3LIBXML2_2.6.5LIBXML2_2.6.6LIBXML2_2.6.7LIBXML2_2.6.8LIBXML2_2.6.10LIBXML2_2.6.11LIBXML2_2.6.12LIBXML2_2.6.14LIBXML2_2.6.15LIBXML2_2.6.16LIBXML2_2.6.17LIBXML2_2.6.18LIBXML2_2.6.19LIBXML2_2.6.20LIBXML2_2.6.21LIBXML2_2.6.23LIBXML2_2.6.24LIBXML2_2.6.25LIBXML2_2.6.27LIBXML2_2.6.28LIBXML2_2.6.29LIBXML2_2.6.32LIBXML2_2.7.0LIBXML2_2.7.3LIBXML2_2.7.4LIBXML2_2.8.0LIBXML2_2.9.0LIBXML2_2.9.1LIBXML2_2.9.8LIBXML2_2.9.11GLIBC_2.2.5ZLIB_1.2.2.3ZLIB_1.2.3.3XZ_5.0GLIBC_2.28GLIBC_2.7GLIBC_2.14GLIBC_2.15GLIBC_2.4GLIBC_2.3.2GLIBC_2.3.4GLIBC_2.3-.//.//.///0////////1////2////3////4//04////1////4..//5/06//./170///8/.7/////9///1/4/////.//7//:/7///./		%)")	'			
			
	
	)


			(% *!&'"#		
		$(		(			
	)	*!+&	))*		
	+!	$)&
		
	(
&)						!))		

)%		&)
	'%,,!&	 ))"zf��Ls����$��s����$�������$�������$�������$�������$ȇ��	���$ևȇ
���$�և���$�����$��
���$�����$�����$*�����$8�*����$F�8����$T�F���L$b�T���L$q�b�«L$��q�īL$����ūL$����ƫL$����ǫL$����ȫL$ˈ��ɫL$ڈˈЫL$�ڈѫL$���ӫL$���ԫL$�� իL$%��!׫L$4�%�"ثL$C�4�#٫L$R�C�$�L$a�R�%���$p�a�&���$~�p�'���$��~�(���$����)���$����*���$����+���$ĉ��,��L҉ĉ� ui	7�(�03��:�3��5��?� ui	4�2� (�0�	I����9�ii
8����6#����3.�ii
29�ri	1C�ui	/�ti	.O�ii
-[�h�5`�p�5 �x�5����5��5��5���5����5���5���5���5 ���54���5@���5N���5a��5t��5���5���5�� �5��(�5ž0�5؞8�5�@�5�H�5�P�5%�X�59�`�5��h�5H�p�5Z�x�5x���5����5����5����5Ɵ��5ן��5���5���5���5,���5أ��5:���5T���5l���5x���5����5���5���5���5Р�58� �5b�(�5p�0�5|�8�5��@�5��H�5��P�5ޠX�5�`�5��h�5"�p�56�x�5���5����5���5����5����5����5����5̝��5����5����5����5p���5����5���5���5���5���5�t �5�m(�5��0�5�)8�5��@�5#vH�5��P�5��X�5�6`�5��h�5��p�5��x�5����5����5)���5����53.��5����5����5����5���5����5����5���5����5
���5���5��5��5��5���5��5"� �5)�(�5��0�5,�8�5��@�5/�h�5�ap�5���5���53���5�a��5L���5����5Y���5�a��5@���5w���5h���5|��5���5���5��(�5��0�5��@�5��H�5��X�5��`�5��p�5��x�5����5����5����5���5(���5���5���53���5X���58���5���5>��5B��5Z� �5��0�5^�8�5�H�5b�P�5X�`�5g�h�5k�x�5����5����5����5����5����5���5����5`���5����5����5����5���5���5�� �5�(�5�8�5��@�50�P�5��X�5h�h�5��p�5����5����5����5����58���5����5x���5����5����5����5���5���5X��5���5��(�5�0�5��@�5
�H�5�X�5�`�58�p�5�x�5����5���5����5"���5���5)���5H���50���5����56���5���5;��5���5B� �5(�0�5I�8�5`�H�5O�P�5��`�5T�h�5��x�5X���5���5_���58���5f���5p���5m���5����5s���5����5z���5��5���5P� �5�(�5x�8�5��@�5��P�5��X�5�h�5��p�58���5����5p���5����5����5����5����5����5���5����5H���5���5���5���5��(�5��0�5�@�5��H�50�X�5��`�5h�p�5��x�5����5����5���5����58���5����5h���5����5����5����5���5���5��5� �58�0�5�8�5h�H�5�P�5��`�5�h�5��x�5���5���5"���50���5)���5`���50���5����56���5����5=���5���5B��5I� �5f�(�50�8�5m�@�5��P�5t�X�5��h�5{�p�5����5����5���5����5P���5����5����5����5����5����5����5���5��5���5@�(�5��0�5x�@�5��H�5��X�5��`�5��p�5��x�5 ���5���5����5����5X���5����5����5����5����5����5���5���5��5�� �50�0�5��8�5X�H�5��P�5��`�5�h�5��x�5
���5���5���5���5���50���5���5P���5���5p���5 ���5���5(��5�� �5+�(�5�8�5/�@�5�P�55�X�5@�h�59�p�5h���5A���5����5E���5���5I���5���5M���5 ���5S���5P���5Y��5���5^��5��(�5d�0�5�@�5j�H�5�X�5r�`�58�p�5��x�5`���5w���5����5}���5����5����5���5����5���5����5@��5U��5h��5�� �5��0�5��8�5��H�5��P�5�`�5��h�5�x�5����50���5����5`���5����5����5����5����5����5���5����5��5���58� �5��(�5`�8�5��@�5��P�5��X�5��h�5��p�5���5����5����5����5���5���5#���5=���5���5B���5@���5F��5h��5J��5��(�5N�0�5T�@�5k�H�5q�X�5��`�5��p�5��x�5���5����5���5����5@���5����5p���5����5����5����5���5���5���5�� �5�0�5��8�5��H�5��P�50�`�5�h�5P�x�5���5x���5���5����5���5���5���5(��5 ���5&���5A���5F��5\��5X �5b�(�5�8�5i�@�5�P�5n�X�5h�5t�p�50��5|���5h��5����5����5����5���5����5���5����5���5���5��5���58(�5��0�5`@�5��H�5�X�5��`�5�p�5��x�5���5����5����5����5��5����5����5?���5(��5���5X�5��5��59� �5�0�5?�8�5�H�5B�P�5�`�5G�h�5x�5K���5Q���5l���5(��5s���5P��5y���5���5~���5����5!���5���5���5� �5B�(�5�8�5��@�5�P�5��X�5��h�5�ep�5����5����5����5���5��5���5X��5���5���5� ��5$���5��5A��5�5�(�5Ra0�5�@�5��H�5^�X�5x�`�5|�p�5��x�5��5����5(��5����5P��5����5x��5����5���5����5��5���5���5�� �50�5��8�5��H�5�P�5@`�5�h�5�x�5 ���5p��5/���5���54���58���5O���5���5V���5��5\���50�5c��5` �5�)0�5)�@�5��P�5�t`�5i�p�5o���5u���5{���5j���5p���5uX��5����5����5����5���5���5���5���5�� �5��(�5��0�5��8�5��@�5��H�5��P�5�X�5
�`�5�h�5�p�5uXx�5j���5���5���5���5$���5���5{���5���5)���5���5����5����5�t�5���5-��5���5�� �5��(�5��0�5��8�5�@�5��H�50�P�5̝X�5��`�5̝h�5��p�5̝x�5)���5̝��5����5����5����5����53���5����57���5����5o���5����5u���5����5i���5����5�t�53��53��53��57� �53�(�5o�0�53�8�5u�@�53�H�5i�P�53�X�5�t`�57�h�57�p�57�x�5o���57���5u���57���5i���57���5�t��5�t��5����5@���5�t��5@���5-���5@���5����5@���5���5@��50��5-��5�� �5-�(�5�0�5��8�5�t@�5��H�5-�P�5��X�5��`�5��h�5)�p�5��x�5����5����5����5�6��5$���5�6��5����5�6��5���5�6��5����5�6��5{���5����5$���5����5���5���5��5���5�� �5��(�5{�0�5��8�5$�@�5��H�5��P�5��X�5�`�5��h�5��p�5��x�5{���5����5$���5����5����5����5���5����5����5����5{���5����5$���5����5����5����5��5���5���5���5{� �5��(�5$�0�5��8�5��@�5��H�5�P�5��X�5��`�5��h�5{�p�5j�x�5���5j���5����5j���5����5j���5����5j���5̝��5j���5����5j���5����5j���5����5j���5p��5j��5���5j��5�� �5j�(�5��0�5j�8�5��@�5j�H�5�tP�5j�X�5��`�5j�h�5@�p�5j�x�5�)��5j���5-���5j���5����5j���5#v��5j���5$���5j���5����5j���5����5j���5����5j���5�6�5j��5���5j��5�� �5j�(�5��0�5j�8�5��@�5j�H�5��P�5j�X�5D�`�5j�h�5)�p�5j�x�5����5j���5G���5j���5����5j���5���5j���5K���5j���5)���5j���5S���5j���54���5j���5���5j��5
��5j��5� �5j�(�50�5j�8�5�@�5j�H�5�P�5j�X�5��`�5j�h�5�p�5j�x�5"���5j���5����5j���5x���5j���5{���5j���5,���5j���5����5j���50���5j���5/���5j���5X��5D��5���5)��5�� �5)�(�5��0�5)�8�5)�@�5)�H�5��P�5��X�5$�`�5�h�5�p�5ysx�5p���5ys��5����5K���5�t��5K���5-���5K���5����5K���5$���5K���5����5K���5���5K���5{��5K��50��5S��5�t �5S�(�5-�0�5S�8�5��@�5S�H�5��P�5S�X�50�`�54�h�5��p�54�x�50���5\���5c���5\���5\���5����5����5����5����5����5p���5����5����5����5����5����53��5���57��5���5�t �5��(�5@�0�5��8�5�)@�5��H�5-�P�5��X�5��`�5��h�5$�p�5��x�5����5����5����5����5�6��5����5����5����5����5����5����5����5����5����5����5����5j��5���5D��5���5� �5��(�5K�0�5��8�5S�@�5��H�54�P�5��X�5��`�5��h�5
�p�5��x�5{���5����5o���5����5)���5����5u���5����5����5����5����5����5�t��5����50���5����5X��5
��5�t�5
��5-� �5
�(�5��0�5
�8�5$�@�5
�H�5��P�5
�X�5�`�5
�h�5{�p�5
�x�50���5��5����5����5����5���5����5����5)���5����5����5���5����5����5p���5����5���5o��5o��5o��5u� �5)�(�5o�0�5)�8�5)�@�5)�H�5u�P�5)�X�5��`�5)�h�5�tp�5u�x�5o���5����5o���5����5)���5����5u���5����5����5����5�t��5i���5o���5i���5u���5����5p��5���5���5�t�5o� �5�t(�5u�0�5�t8�5�t@�5,�H�5��P�5��X�5��`�5��h�5)�p�5��x�5����50���5����50���5����50���5S���50���54���50���5
���5X���5�t��5X���5-���5X���5���5X��5$��5X��5�� �5X�(�5�0�5X�8�5{�@�5X�H�50�`�5�p�5l�x�546��5�16��5�16��5����5t���546��5�36��5����5� ��546�5�36 �5��0�5��8�506H�5�36`�5��p�5��x�5�-6��5`-6��5����5����5-6��5�16��5�16��5̝��5����546�5�36 �5��0�5��P�5�16X�5`16`�5��p�5����5�,6��5����5���546��5@36��5`	6��5����5���546�5�36 �5��0�5'�8�5@56H�5 ,6`�5p�p�57�x�5*6��5�)��5`)6��5 )6��5����5F��536�5P16�5���5Y���5@56�5`(6 �5��0�5f�8�546H�5�36`�5��p�5�x�5@56��5�36��5����5u���546�5�36�5���5~���546�5�36 �53�0�5��H�5�'6`�57�p�5��x�5�'6��53���5�'6��5�t��5����5@56�5�36�5�m�5����5@56�5'6 �5��0�5��8�546H�5�36`�5@�p�5��x�5�6��5���5`&6��5�)��5���5@56�5�36�5@6�5-��5���5@&6�5�t�5�36�50&6 �5��0�5�8�546H�5�36`�5#vp�5��x�546��5�36��5"���5(��56�5$��5A���5 $6�5�36 �5��0�5U�8�546P�5�#6`�5��p�5k�x�5�!6��5$���5!6��5�16��5p6��5����5���5� 6�5���5}���5 6�5���5  6 �5�60�5��8�546H�5�36P�5@6`�5��p�5��x�546��5�36��5@6��5����5����546�5�36�5@6�5���5����546�5�36�5@6 �5��0�5��8�546H�5�36P�5@6`�5��p�5��x�546��5�36��5@6��5j���5����5�6�5�6�5D��5���5�36�5@6 �5uX0�5��8�56H�5�26P�5 6`�5)�p�5��x�546��5�36��5����5����5@56�5�6�5G��5���5�6�5@6�5p16 �5!<0�5�H�5�6P�5@6`�53.p�5�x�5@56��5'6��5 ���5(��5�6�5���5���546�5�36 �5��0�5<�8�546H�56`�5��p�5S�x�546��5`6��5@6��5���5d���5@56�5�36�5ys�5o�6�66�16 6)�06��86�6H6�36X6�6`6S�p6��x6�6�6`&6�6���6���6`6�6@6�6���6��6 66p�6�36 6��060	86@56@6�)H6�36`6�p6(�x66�6�)�66�6�6�64��6j��6�	6�6��6�36�6�6�6c��6���6�66\�666 &6 6\�06��86`
H6`6`6��p6��x646�6�36�6@6�6���6���6 6�6�6�6
��6��6@66�3666 6�06�8646H6 ,6`6p67�x646�6�36�6��6p	�646�6�36�6���6Q��6`
666�6606 6�06d�86�6H66`6�p6u�x646�6�36�6���6�	�646�6�36�6��6���6466�36 6"�06��8646H6�36`6��p6��x6`
�6�
6�606�6���6���646�6�36�6x��6���6466�36 6{�06� 86�6@6�tH6
6P6�6`6o�p6��x6�6�6�t�6�6�6)��6���6@56�6�
6�6�6�6���6���6`
6�	66�16 6u�06	�86�6@6�tH6�6`6��p6�x6@56�6�
6�6�6�6i��6)��6�6�6�t�6�6�6���67��6`
6�26 6�t06G�86�	6@6)�H6�6P6�	6`6,�p6�	x646�6�36�6���6R��646�6�36�60��6h��6�	6	6�	6�36	6p	6 	6/�0	6�	8	646H	6�36`	6@�p	65jx	6x��	6��	6���	6���	6)��	6�@�	6D"�	6���	6��
6 �
6@�
6��
6�� 
6��(
6��0
6��8
6��@
6��H
6��P
6��X
6d�`
6��h
6��p
6��x
6���
6���
6���
6��
6��
6�@�
6D"�
6���
6���
6 ��
6@��
6���
6��6��6��6��6�� 6��(6��06��86��@6�KH6��P6��X6��`6��h6��p6��x6���6���6���6���64��6@��6�@�6D"�6���6��6 �6@�6��6�� 6��(6��06��86��@6��H6��P6��X6��`6��h6��p6���6�t�6���63��67��6i��6u��6o��6�t�6���6��
6�@
6D"
6��
6�� 
6 �(
6@�0
6��8
6��@
6��H
6��P
6��X
6��`
6��h
6��p
6��x
6���
64��
6���
6���
6���
6���
6��
6��
6 ��
6@��
6��
6��6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6d��6��6��6���6���6���6���6��6c��6\��6(�6��61�65�6;� 6A�@6#vH6"�P6��X6��`6�h6��p6/�x6���6���6���6,��6)��6̝�6���6�6��6��6���6���6)��6��6���6���6��64� 6�@(6w�06E�865j`6�@h6D"p6��x6���6 ��6@��6���6���6���6���6���6���6���6���6���6���6���6O��6w�6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6���6\��65j�6x��6X��6���6���6^��6e�6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6l��6t��6|��6���65j�6���6���6���6@��64��6���6d��6��6�66��6��6�� 6��(6��060�864�@6@�H6S�P6
�X6��`6-�h6�)p6��x6���6���6���6���6 ��6D��6{��6$��6���6,��6)��6̝�6���6�6��6���6�6#v6"�6��6�� 6�(6��06/�86��@6��H6��P6�X6G�`6��h6"�p6�x6���6���6���6���6)��6��6���6x��6���6���6���6!<�6��6���6���6���6�� 6p�(6�606��86��@6��H6��P6��X60�`64�h6@�p6S�x6
��6���6-��6�)�6���6���6���6���6���6 ��6D��6{��6$��6���6,��6)��6̝6��66�6�� 6�(6#v06"�86��@6��H6�P6��X6/�`6��h6��p6��x6��6G��6���6"��6��6���6���6���6���6)��6��6���6x��6���6���6���6!<6�6��6��6��065j@6+�`6 �h6@�p6�x6d��6���6���6�6�6���6���6���6���6���60��64��6@��6S��6
��6��6-�6�)6��6�� 6��(6��06��86 �@6D�H6{�P6$�X6��`6�p6���6d��6�6�6���6���6���6���6���60��64��6@��6S��6
��6��6-�6�)6��6�� 6��(6��06��86 �@6D�H6{�P6$�X6��`6���6�@�6D"�6���6���6 ��6@��6���6���6���6���6���6���6���6���6���6��6��6��65j6�� 6��(6�@6��`6�@h6D"p6��x6���6 ��6@��6���6���6���6���6���6���6���6���6���6��6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6A��6���6���6���6�@�6D"�6���6���6 ��6@��6���6�@�6D"�6���6��6 �6@�6��6�� 6��(6��06��86��@6��H6��P6��X65j`6d�h6w�p6��x6���6���6��6���61��6���6���6���6���6���6���6���6��6��6��6�@6D"6��6�� 6��(6��06��86��@6|�H6��P6@�X6��`6^�h6d�p6�x6	��6��61��65j�6��6e��64��6�@�6D"�6���6���6 ��6@��6���6��6��6��6��6�� 6��(6��06��86%�@6d�H6@�P64�X6��`6���6�@�6D"�6���6���6%��6d��61��6���6.��6:��6G��6���6@��64�6j�6p�6�� 6Q�@6��H6Y�P6�X64��6���6 ��6���6���6���6���6ys�6��6 ��6@��6a� 6�� 6�� 6��  6�@( 6D"0 6��8 6��@ 6�H 6i�P 6��X 6��� 6�@� 6D"� 6��� 6��� 6%�� 6d�� 61�� 6��� 6.�� 6:�� 6n�� 6G�!6�@!6D"!6��!6�� !6 �(!6@�0!6��8!6��@!6��H!6��P!6��X!6��`!6��h!6��p!6��x!6oa�!6w��!6���!6d��!6��!6
��!6��!6�6�!6���!6���!6���!6���!6���!60��!64�"6@�"6S�"6,�"6)� "6̝("6��0"68"6�@"6��H"6�P"6#vX"6"�`"6��h"6��p"6�x"6���"6/��"6���"6���"6���"6��"6G��"6���"6"��"6��"6���"6���"6���"6���"6)��"6��"6��#6x�#6��#6��#6�� #6!<(#6�0#6��8#6��@#6��H#6
�P#6��X#6�)`#6��h#6��p#6��x#6���#6 ��#6D��#6{��#6$��#6���#6�@�#6D"�#6���#6���#6 ��#6@��#6��#6��$6�� $6�6($6��0$6��8$6��@$6��H$6��P$60�X$64�`$6@�h$6S�p$6
�x$6���$6-��$6�)�$6���$6���$6���$6���$6���$6 ��$6D��$6{��$6$��$6���$6,��$6)��$6̝�$6��%6%6�%6��%6� %6#v(%6"�0%6��8%6��@%6�H%6��P%6/�X%6��`%6��h%6��p%6�x%6G��%6���%6"��%6��%6���%6���%6���%6���%6)��%6��%6���%6x��%6���%6���%6���%6!<�%6�&6��&6��&6��&6�� &6��0&6x�@&6��H&6�t`&6�@h&6D"p&6��x&6���&6 ��&6@��&6���&6���&6���&6���&6���&6���&6���&6���&6���&6x�'6�@'6D"'6��'6�� '6 �('6@�0'6��8'6��@'6��H'6��P'6��X'6��`'6��h'6��p'6��x'6���'6���'63��'6�@�'6D"�'6���'6���'6 ��'6@��'6���'6���'6���'6���'6���'6��(6��(6��(6��(6�� (64�((6��0(6��8(6��@(6��`(6�@h(6D"p(6��x(6���(6 ��(6@��(6���(6���(6���(6���(6���(6���(6���(6���(6���(6d��(6w��(65j�(6���(6��)6��)6��)6�� )6��()6��0)6�8)6ys@)6��H)6��`)6�@h)6D"p)6��x)6���)6 ��)6@��)6���)6���)6���)6���)6���)6���)6���)6���)6���)6���)6��*6�6*6��*6��*6�� *6��(*6��0*60�8*64�@*6@�H*6S�P*6
�X*6��`*6-�h*6�)p*6��x*6���*6���*6���*6���*6 ��*6D��*6{��*6$��*6���*6,��*6)��*6̝�*6���*6�*6��*6���*6�+6#v+6"�+6��+6�� +6�(+6��0+6/�8+6��@+6��H+6��P+6�X+6G�`+6��h+6"�p+6�x+6���+6���+6���+6���+6)��+6��+6���+6x��+6���+6���+6���+6!<�+6��+6���+6���+6���+63.,6�m ,6�@(,6D"0,6��8,6��@,6 �H,6@�P,6��X,6��`,6��h,6��p,6��x,6���,6���,6���,6���,6���,6�@�,6��,6���,6��-6��-6��-6��-6�� -6��(-6��0-6��8-6��`-6�@h-6D"p-6��x-6���-6|��-6���-6���-6d��-6@��-64��-6���-6^��-6e��-6�6�-6���-6���-6��.6��.6��.60�.64� .6@�(.6S�0.6
�8.6��@.6-�H.6�)P.6��X.6��`.6��h.6��p.6��x.6 ��.6D��.6{��.6$��.6���.6,��.6)��.6̝�.6���.6�.6��.6���.6��.6#v�.6"��.6���.6��/6�/6��/6/�/6�� /6��(/6��0/6�8/6G�@/6��H/6"�P/6�X/6��`/6��h/6��p/6��x/6)��/6��/6���/6x��/6���/6���/6���/6!<�/6��/6���/6���/6���/6��06,�06)�06̝06�� 06(06�006��806�@06#vH06"�P06��X06��`06�h06��p06/�x06���06���06���06��06G��06���06"��06��06���06���06���06���06)��06��06���06x��06��16��16��16!<16� 16��(16��016��816��P16��`16��p161�x16���16���16��16i��16���16�@�16D"�16���16��26 �26@�26��26�� 26��(26��026��826��@26��H26��P26��X26��`265jh26d�p26��x26���26���26���26���26���26���26���26���26���26 ��26@�36�@36D"36��36��@36�@H36D"P36��X36��`36 �h36@��36�@�36D"�36���36���36 ��36@��36���36���36���36���36���36���36���36���36��46,�46)�46̝46�� 46(46�046��846�@46#vH46"�P46��X46��`46�h46��p46/�x46���46���46���46��46G��46���46"��46��46���46���46���46���46)��46��46���46x��46��56��56��56!<56� 56��(56��056��@56�6H56��P56��X56��`56��h56��p560�x564��56@��56S��56
��56���56-��56�)�56���56���56���56���56���56 ��56D��56{��56$��56��66,�66)�66̝66�� 66(66�066��866�@66#vH66"�P66��X66��`66�h66��p66/�x66���66���66���66��66G��66���66"��66��66���66���66���66���66)��66��66���66x��66��76��76��76!<76� 76��(76��076��@76��H76x�P76l�X765�`76��h76��p76�x76���76n��76Y��76���76���76O��76���76�.�76�.�76/�7685�76/�76'/�76:/86N/86k/86�/86�/ 86�/(86�/086�/886�/@860H860P86%0X8690`86U0h86e0p86`5x86|0�86�0�86�0�86�0�86�0�86�<6�86�>6�86���86@��86��96@�96��(96�H96`�h96@�p96���96`��96���96p��96���96��:6��:6��(:6@�0:60�H:6��P:6��h:6@�p:6��:6@��:6��:6��:6���:6 ��:6���:6��:6�;6 �(;6�0;6`�H;6`h;6�p;6��;6�	�;6��;6�;6�
�;6��;6@�;6P<6 P(<6`PH<6�Ph<6(Rp<6 R�<6@R�<6.e�<6��<6��<6��<6��<6�G=6�=6� =6�0=6�@=6�P=6�N`=6�p=6��=6��=6��=6��=6��=6��=6e�=6��=6�>6�>6� >6(�0>6@>6P>6��`>6p>6
�>6
�>6�>6Ya�>6�>6�>6�>6�>6*?6F?6M ?6g0?6�@?6�P?6�`?6�p?6��?6��?6��?6��?6��?6��?6��?6��?6@6%@6� @6@0@6V@@6oP@6�`@6p@6��@6��@60�@6��@6��@6��@6��@6��@6A6
A6  A6(0A63@A6<PA6R`A6npA6w�A6��A6��A6��A6��A6��A6��A6��A6�B6�B6� B60B6@B6-PB65`B6<pB6U�B6d�B6m�B6X�B6{�B6��B6��B6��B6�C6�C6� C6�0C6�@C6�PC6�`C6pC6�C60�C66�C6G�C6X�C6f�C6��C6p�C6�D6�D6� D6�0D6�@D6�PD6�`D6�pD6��D6��D6��D6��D6�D6 �D6��D6(�D63E6BE6H E6P0E6X@E6jPE6�`E6�pE6��E6��E6��E6��E6��E6
�E6�E6�E6"F6'F6- F6@0F6F@F6MPF6T`F6YpF6a�F6�F6j�F6}�F6��F6��F6�p6�aHp6
mPp6
m�p6�a�p6�
�p6�
Pq6��q6�a�q6�a�q6�a(r6�)0r6�)�r6���r6�)�r6�)s6p0s6u8s61��u6�N�u6�N�u6MJ�u6�
�<6��<6~�<6��<6��<6��<6�=6h=6m(=6q8=6xH=6|X=6�h=6�x=6��=6��=6��=6��=6��=6��=6��=6��=6�>6�>6�(>6�8>6�H>6�X>6�h>6<x>6J�>6K�>6O�>6��>6��>6��>6��>6�>6�?6�?6�(?6�8?6H?6�X?6h?6�x?6��?6��?6��?6U�?6K�?6��?6��?6{�?6�@6�@6�(@6�8@6PH@6�X@6�h@6�x@6�@6}�@6��@6�@65�@6��@6��@6��@6�A6
A6(A6.8A6�HA6ZXA6�hA6gxA6+�A6�A6��A6�A6��A6C�A6M�A6��A6�B6�B6�(B6�8B6HB6�XB6�hB6;xB6�B6a�B6��B6��B6��B6��B6}�B6��B6�C66C6-(C6l8C6�HC6XXC6[hC6zxC6��C6i�C6��C6�C6<�C6)�C6v�C65�C6|D6}D6�(D6�8D6�HD6!XD61hD6�xD6E�D6��D6_�D6>�D6S�D6��D6Z�D6]�D6�E6&E6w(E6d8E6�HE66XE6hE6xE6��E6��E6�E6
�E6�E6��E6��E6��E6F6XF6�(F6o8F6�HF6�XF6�hF6~xF6��F6��F6��F6{�F6��F6�F6��j6��j6��j6��j6�u6k6k6N�s6N�t6Nk6��s6��t6�k6� k6(k6
0k68k6
@k6�Hk6Pk6w0t6w8t6w0u6w8u6wXk6r�t6r`k6lhk6�pk6�xk6�k63�k6�k6:�k6��k6��k6m�k6�k6��k6��k6��k6��k6��k6��k6M�k6xt6�k6%�t6%l6"l6$l6p`t6pl6aHt6aHu6a l6h�t6h(l6�0l6�8l6@l6�Hl6��s6��t6�Pl6St6SXl6|`l6Rhl6xpl6xl6�l6b@t6b@u6b�l6y t6y u6y�l6��l6B�t6B�l6��s6��t6��l6��l6Dpt6D�l6�l65�l6x�l6��l6�u6��l6��l6"�l6�l6�m6m6�t6�u6�m6m62 m6>(m60m6?8m6@@m6<Hm6Pm6Xm6�`m6Ihm6�pm6^xm6H�m6��m6+`u6+hu6+�m6K�m6L�m6��m6O�m6Pxu6P�u6P�m6R�m6��m6��m6��m65�t65�m6T�m6�m6w�m6�n6�n6�n6n6��s6��t6� n6�(n6�0n6Ypu6Y8n6�Pu6�@n6#Hn6dPn6[Xn6c�s6c�t6c`n6?hn6
pn67xn6��n6��n6��t6��n6�n6a�n6b�n6��n6��n6��n6c�n6��n6��n6��n6(t6(u6�n64�s64�t64�n6��n6E�t6Eo6�o6�o6�o6� o6'(o6[0o6�8o6'@o6Ho6Po6�Xo6n`o6Lho6po6�t6�u6�u6�xo6
�o6��t6��o6��o6��o6D�o6r�o6s�o6��o6^ht6^�o6�t6�o6u�o6C�o6~�o6��o6y�o6��o6�HI6$PI6�XI6�`I6�hI6�pI6[xI6�I6�I6�I6�I6��I6��I6��I6��I6�I6��I6��I6��I6H�I6��I6L�I6G�I6�J6�J6�J6J6 J6�(J60J68J6�@J6RHJ6�PJ6dXJ6N`J6�hJ6pJ6IxJ6��J6A�J62�J6|�J6��J6��J60�J6e�J6:�J6��J6L�J6��J6��J6�J6��J6	�J6*K6gK6�K6nK6( K6
(K6�0K68K6�@K60HK6PK6�XK6`K6BhK6�pK6bxK6��K6��K6G�K6,�K6�K6��K6k�K6��K6L�K6I�K6�K6�K6��K6��K6��K6��K6�L6L6CL6=L6� L6(L6�0L6�8L63@L6DHL6�PL6iXL6�`L6$hL6�pL6xL6N�L6~�L6�L6��L66�L6��L6��L6��L6��L62�L6��L6��L6��L6�L6��L6r�L6�M6�M6M6M6� M6�(M6[0M6-8M6�@M6�HM6BPM6�XM6�`M6hM6�pM6�xM6X�M6��M6��M6��M6��M6��M6J�M6�M6��M6g�M6�M6��M6��M6k�M6g�M6��M6N6ON6@N6�N6K N6u(N6�0N6�8N6�@N6<HN61PN6�XN6`N6�hN6hpN6
xN6V�N6��N6��N6��N6;�N6��N6��N6��N6R�N6��N6��N6�N6��N6��N6�N6x�N6-O6�O6nO6O6� O6(O60O6q8O6�@O6dHO6�PO6�XO6�`O6(hO6�pO6~xO6��O6e�O6	�O6/�O6��O6�O6��O6S�O6m�O6��O6�O6��O6��O6k�O6��O6��O6fP6�P6ZP6�P6 P6@(P6a0P6�8P6@P64HP6PP6\XP6\`P6�hP6CpP6_xP6S�P6�P6#�P6��P6��P6��P6J�P6��P6V�P6��P6V�P6��P6�P6��P6��P6&�P6�Q6Q6Q6PQ6^ Q6?(Q6�0Q6�8Q6q@Q6HQ6PQ6�XQ6�`Q6�hQ6�pQ6 xQ6��Q6�Q6o�Q61�Q6��Q6��Q6��Q6�Q6U�Q6��Q6�Q6#�Q65�Q6��Q6F�Q6��Q6QR6�R6QR6'R6 R6!(R6z0R6"8R6�@R6#HR6�PR6�XR6�`R6�hR6�pR6YxR6��R6?�R6W�R6d�R6�R6P�R6��R6��R6��R6 �R6��R6$�R6��R6c�R6|�R6%�R6WS6�S6YS6�S6& S6�(S6�0S678S6�@S6HS6�PS6EXS6�`S6�hS6'pS6oxS6��S6��S6��S6(�S6��S6��S6��S6��S6��S6��S6
�S6��S6F�S6p�S6��S6�S6)T6�T6T6�T6� T6�(T6�0T6�8T6�@T6�HT6�PT6�XT6�`T6�hT6*pT6�xT6.�T6��T6w�T6��T6��T6T�T6��T6�T6|�T6��T6<�T6~�T6��T6�T6+�T6��T6�U6GU6,U6sU6� U6+(U6f0U6�8U64@U6�HU6-PU6�XU69`U6OhU6�pU6.xU6O�U6.�U6-�U6��U6��U6��U6��U6�U6/�U6��U6��U6��U6��U6�U6��U6�U60V6V6%V6�V6 V6[(V6�0V6>8V61@V6�HV6PV6�XV62`V6hV6pV63xV6D�V64�V6}�V6]�V6��V6�V6 �V6��V6��V65�V6��V6E�V6��V6��V65�V66�V6�W6$W6�W6�W6E W6;(W6�0W6 8W6"@W6�HW67PW6^XW6�`W6�hW6�pW6/xW68�W6��W6��W6��W6��W6�W6&�W6��W6��W6�W6�W6��W6�W6��W6!�W6Q�W6�X6�X6VX6�X6� X6�(X6�0X698X6/@X6:HX6�PX6!XX6	`X6;hX6pX6�xX60�X6E�X6�X6<�X6=�X6H�X6K�X6?�X6��X6��X6��X6*�X6_�X6��X6��X6��X6�Y6AY6FY6!Y6� Y6�(Y6�0Y6�8Y6B@Y6�HY6CPY6�XY6�`Y6�hY6lpY60xY6��Y62�Y6D�Y6i�Y6��Y6��Y6��Y6��Y6E�Y6��Y6��Y6��Y6��Y6��Y6��Y63�Y6�Z6Z6Z6JZ6" Z6�(Z6Q0Z6�8Z6F@Z6nHZ6�PZ6)XZ6�`Z6WhZ6�pZ6�xZ6�Z67�Z6�Z6k�Z6+�Z6��Z6Q�Z68�Z6�Z6G�Z6m�Z6H�Z6��Z6��Z6Z�Z6I�Z6[6=[6[6�[6 [6T([6�0[6J8[6�@[6�H[6�P[6lX[6x`[6�h[6�p[6tx[6K�[6n�[6��[6��[6l�[6%�[6L�[6��[6��[68�[6��[6��[6��[6��[6M�[6,�[6�\6y\60\6\6� \6N(\6�0\6�8\6@\6OH\6>P\6X\6~`\6h\6�p\6�x\6��\6�\6��\6��\6��\6&�\6Y�\6P�\6Q�\6�\6��\6��\6x�\6��\6��\6a�\6�]6�]6�]6�]6� ]6(]6�0]6�8]6R@]6H]6KP]6�X]6�`]6h]6�p]6�x]6��]6��]6"�]6G�]6��]6��]6�]6��]6��]6��]6S�]6I�]6��]6T�]6��]6��]6�^6�^6�^6�^6 ^6�(^6�0^6j8^6�@^6�H^6qP^6X^6�`^6Ph^6�p^6=x^6��^6��^6��^6�^6��^6�^6��^6|�^6��^6m�^6��^6��^6�^6o�^6��^6U�^6�_6q_6_6\_6. _6�(_6�0_6�8_6V@_6�H_6"P_6�X_6n`_67h_6{p_6Wx_6d�_6��_6X�_6��_6��_6V�_6k�_6��_6�_6��_6��_6��_6	�_6Y�_6��_6_�_6�`6`6?`6:`6s `6&(`6�0`6�8`6F@`6�H`6�P`6!X`6�``6h`6p`6�x`6��`6��`6��`69�`6Z�`6��`6)�`6R�`6[�`6%�`6W�`6��`6�`6��`6\�`6��`6]a6wa6<a6�a6S a6u(a60a6�8a6^@a6�Ha6�Pa6OXa6 `a6�ha6�pa6_xa6e�a6i�a6��a6`�a6��a6p�a6`�a6��a6g�a6(�a6��a6��a6��a6��a6��a6��a68b6�b6�b6bb6 b6�(b6V0b6�8b6�@b6�Hb61Pb6�Xb6�`b6;hb6_pb6�xb6�b6��b6a�b6��b6t�b6z�b6�b6��b6��b6c�b6m�b6!�b6��b6��b6i�b6��b6Sc6�c6c6�c6t c6�(c6�0c6�8c6�@c6�Hc6�Pc6dXc6A`c6�hc6pc6�xc6��c6v�c6]�c6i�c6��c6&�c6��c6>�c6��c63�c6��c6��c6��c6��c6��c6N�c6�d6�d6d6Fd6T d6�(d6z0d6�8d6@d6jHd6Pd6
Xd6``d6
hd6+pd6vxd6(�d6e�d6��d6��d6R�d6��d6��d6��d6��d6x�d6f�d6/�d6�d6��d6Q�d6b�d6Ee6je6�e6�e6� e6�(e6�0e6�8e6�@e6He6�Pe6Xe6�`e6ghe6�pe6'xe6h�e6q�e6�e6�e6��e6��e6��e6��e6��e6<�e6��e6��e6�e6��e6��e6T�e6uf6of6�f6�f6� f6�(f6�0f6�8f6�@f6_Hf6JPf6�Xf6�`f6hf6�pf6vxf6N�f6i�f6��f6/�f6j�f6��f6k�f6��f6��f6q�f6��f6c�f6l�f6e�f6m�f6��f6Bg6�g6cg6�g6K g6�(g6�0g6�8g6�@g6�Hg6�Pg6*Xg6�`g6�hg6�pg6�xg6��g6b�g6,�g6b�g6K�g6L�g6[�g6��g6$�g6��g6��g6��g6�g6o�g6��g6��g6�h6�h6th6�h6� h6L(h6�0h6+8h6�@h6Hh6-Ph6pXh6q`h6�hh6Mph6�xh6=�h6
�h6$�h6��h6��h6\�h6��h6{�h6��h6�h6��h6
�h6��h6c�h6��h6�h6^i6Di6�i6 i6� i6)(i6r0i6?8i6�@i6yHi6JPi6sXi6�`i6�hi6!pi6�xi6#�i6�i6�i6.�i6Z�i6��i6P�i6��i6t�i6��i6��i6*�i6�i6��i6u�i6	�i6�j6�j6Fj6�j6 j6�(j6�0j6v8j6@j6fHj6�Pj6GXj6�`j6hj6�pj6wxj6x�j6�j6X�j6z�j6�j6{�j6D�j6��j6��j6?�j6��j6��j6��H��H�a@3H��t��H����5B3�%C3��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h��ѿ�����h�������h�鱿�����h�顿�����h�鑿�����h�避�����h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��Ѿ�����h�������h�鱾�����h�顾�����h�鑾�����h�遾�����h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��ѽ�����h"�������h#�鱽�����h$�顽�����h%�鑽�����h&�遽�����h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��Ѽ�����h2��������%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%�2D���%�2D���%�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%�2D���%�2D���%�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݿ2D���%տ2D���%Ϳ2D���%ſ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݾ2D���%վ2D���%;2D���%ž2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݽ2D���%ս2D���%ͽ2D���%Ž2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݼ2D���%ռ2D���%ͼ2D���%ż2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݻ2D���%ջ2D���%ͻ2D���%Ż2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݺ2D���%պ2D���%ͺ2D���%ź2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݹ2D���%չ2D���%͹2D���%Ź2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݸ2D���%ո2D���%͸2D���%Ÿ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݷ2D���%շ2D���%ͷ2D���%ŷ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2DH�%�%��%�H�%0f.���H�U�2H�V�2H9t����H�=�2H���2H9�tH�f�2H��t	�����H�=�2H�5�2H)�H��H��H��?H�H�tH�M�2H��t��fD�����=��2u+UH�=r�2H��tH�=>2����d����m�2]������w������UH����SH��H�G�2�H��H����H�xH��H�Hǀ�H��1�H)�������H��C�E\H�}�C\H��t	�0��H�CH�}`H��t	���H�C`H�}hH��t	���H�ChH�}PH��t	���H�CPH�}HH��t	����H�CHH�}xH��t	����H�CxH��H��[]��L��
1�1Ҿ��&����@AWI��AVI��AUM��ATM��UH����SH��H�7�2�T$��T$H��H���aH�xH��H�H��H�@|1�H)�������H��Cǃ��S\H���������L��H���Y��H�CM��t�����L��H���@��H�C`M��t�����L��H���'��H�ChM����L���R���CX������L��謽��H�CPH�CxH�CHǃ�H��H��[]A\A]A^A_�@L���p��H�CM��tL���_��H�C`M��tL���N��H�ChM��u�CXH�CP�@L������CX�j�����L��H���c���H�CP�b���f.�L���
1�1Ҿ��f���S����H����ATUSH�G@H��H�H����L���H��t
�����H�sM����H��tL��蜽�����|H�-]�2H�s`H��tL���|������LH�shH��tL���c������#H�sxH��tL���J�������H�sPH��tL���1�������H�sHH��tL����������H�EH��[]A\��H��t���uH;_(��H�sH�-��2H�EH��t	H����H�EH�{`H��t��H�EH�{hH��t��H�EH�{xH��t��H�EH�{PH��t��H�EH�{HH���n������c���H�{H�UH�EH��[]A\��@H�{P�U�#���@H�{x�U���@H�{h�U����@H�{`�U���@H�-�2H�{�U�x���DH9_(�@�������6���@��������fD��H��t����f��ff.�@AWAVAUATUSH��HH�|$�T$dH�%(H�D$81�H���GH��E1�H��tE1�
A��H��2���A��I��H��H�D$-H�D$M��ue�@A��>��A��&�A�E�<_��A�E�<��A��
u	E����E����A��
��f.�H��D�mE���I��M)�I�FdL9�v<K�I9��H���2H��H�$L���H����H�$D�mJ�0I��I��A��<�A���D�d$t�}!tt�&lt;H���H�D$H����H�xp���D�+H���T���@�&gt;H���A����D�d$t
�}{���&ampH���C�;����@�}-u��}-u�H�5#�
H��L�$�9�L�$H��I���]���H9�tTH���U�H�C�H��L)�H�SdL9���O�,M9���H�o�2L��L���H����H�M��I��I9�u��EH��H���C��E��C��E��C��r���fD�}H��L�$�7��L�$H������H�CD�+L�uH��L)�H�SdL9�v`O�,M9��cH�ܰ2L��L���H���KM��E�.H�I��A��}u5H���}H��D�mE�������9E�.H��A��}t�L���q���E���O���D���<����E�ƒ�����D������wD������G��?A����E��A�A��A��A	�A����A����A��
����t
A�A����6L�t$1��L�$L�@�
��L��苴���D$-�D$7L�$��tL��fDH��H���C����u�L�����fDL��
1�1Ҿ����H�O�2L��E1��H�L$8dH3%(L����H��H[]A\A]A^A_ÐL�t$1��L�$A�
��L�v�
L���ѳ���D$-�D$7L�$���+���L���H��H���C����u��	����U�����y���E1�1�H�
ͣ
L�$����*���L�t$L�$M��tH�=�
萾��L�$I�FpL�t$D�M1�L�$���L���
L�������D$-�D$7L�$���t���L��H��H���C����u��Y���E1����D��D�MA�����A��?	��A	�����H�����A�����=�����A�� ��=�����A����=������E1�1�H�
�
L�$�	�����L�t$L�$M��tH�=ܡ
腽��L�$I�FpL�t$D�M1�L�$���L���
L�������D$-�D$7L�$���i���L��fDH��H���C����u��I���L���
1�1Ҿ��������D�MD�ʃ�������D���������D���?A��?A�����	�����E��?	��A	�����������AUATI��%USH��L��H��詯��H����H�5JH��H�-Р
����L���D<%tDL�����tbL�j<"u�I9�tL)�L��H���g��H�5��
H��M���P���fDI9�tL)�L��H���5��H��H��M���"��I9�tL)�L��H���
�H��H��H�5dI[]A\A]�t���@��H��L��H��[]A\A]�����H����S�H��<g��vR<lt&<qu:H�5�
����t*H��2[H���fDH�5�l�H���2��u�1�H��[�f�<au�H�5�@�H�9�2��u�H�5y�
H���&�H�߭2��u��f�H�5Q�
��H���2��t�H��[�@1�H���f.�AWAVAUATUSH��(dH�%(H�D$1�H����I��H����L�o@H����I��M��tM���E1��~������~0H�L$dH3%(L���fH��([]A\A]A^A_�f.�L�UxM����L����L��L��L�$�_�I��H��t'H�E@L�$L��L��I�D$@L�������t�L�����E1��x����L��L�L$L�$���L�$L�L$H�������M���H�@P�A���8��v<&��A�y#��A�yxL�D$�D$00;������̉�L�$�������������)Ɖ�H�t$��0�D$��I�y�)���0�L$�4�L�$L�D$��twL�U`M������L��1�L�L$L�$跳��L�$L�L$I��H�E`�f�����I�yL�$H�0�
Hc�H�t$���L$�D$���L�$L�D$��t��H��
jE1�1�AVA�1�1�P1�1�E1�jjjjAVjjjjh���H��`���fDL��1�L�L$L�$����L�L$L�$H�ExI��M���<������A�y������>�l���H��@H������S������ff.���SH��tvH�_XH��tEH�����H��t!H�S@H�X(H�P@H�S H��tH�B0H�P8H�C [�DH�C H�C[�fDE1�1Ҿ
�H�
B�
�ͳ��1�[�f�E1�1Ҿ	�H�
�
襳��1�[Ð��SH��tvH�_PH��tEH���U���H��t!H�S@H�X(H�P@H�S H��tH�B0H�P8H�C [�DH�C H�C[�fDE1�1Ҿ
�H�
�
�-���1�[�f�E1�1Ҿ	�H�
��
����1�[��H��t/H�Pu H���SH��H����H��tH�X@[�f��[�1���@��H��t_UH��SH��H��H�GPH��tH�xxH��t
�$���H��u)H�CXH��tH�xxH��tH��H��[]����1�H��[]��1��D��H��tH�XH��tH�`H��t���1��ff.�f���UH��SH��H��tSH�GPH��H��t"H�x`H��t脶��H��tH��[]���{LtH�CXH��tH�x`H��t
H���P���H��u�H��H��[]���ff.�f�����r�f���1��e�D��AUATUSH��H���xH���2H����H��H���c�I�Թ������@<>��<&��<"��<
���H��f.�H���;tXH��L)�H�E
H9�v/L�,	L9���H�D�2L��L��H����H�(L��I���<<u�H���&lt;H���;u��H��L��[]A\A]�fD�&gt;H���y���f��&ampH���B�;�]���D�t;�&quoH��f�B��@����&#13H���B�;�-���DL�Q�
1�1Ҿ�����H�g�2L��E1�H��L��[]A\A]�E1��M���L��
1�1Ҿ�E1��̯���+������1��e��D��H�5e�頹����H�5u������H��t7H��t2USH���~\���F\H���
H��H��Hc�H�>�����H�5{�
H���ɨ��H�uH���m��H�}`H�5J�
t"H�58�
H��蠨��H�u`H�����H�5�H��腨��H�uhH����H��H��H�5S�
[]�d���@H�5ߖ
H���Q���H�uH�����H�5��H���6���H�uHH��u�H�uPH���q�����H�5��
�;���@H�5��
���H�uH�����H�}`H�5}�
t"H�5k�
H���ӧ��H�u`H����H�5:�H��踧��H�uhH�����H�}P�(���H�5<�
H��蒧��H�uHH��tIH���1������@H�5�
����@H��E1�H�
"�
1�[��]鷭���H�uP�f.���H��H��H�����ff.���H��H��H�5���麭��f.���UHc.SHcH��H�L�L9�s~��~yL�ZD�H9�slE��xoH�H���(fDLcM�JM9�})M�KE�A�H9�tE��x)M��H��D�@�I��I)�H9�u�A)�D�[D�]��DA)�D������[D�]�E1�E1���E1�E1������H��A��H����A���H����H���iAULc.ATUI�SHcH�H9��pH��I��D�EL�MA����A����A�����A��A�A�H��L)�L9���L9�vR�EL�MA��A��A���t �;E��t)I��A�A�A��A��A���uA����?A��A	�L9�w�A����M9�v-I��E�D$�I9���L��D�EL�MA���C���L9�y�A)�)�D�&[�)]�A\A]�A���wA��A�A��4���f.�A���wA��A�A�����I)�H)�[�����D�&�)]A\A]��1���D��A)�)��v���������1�E1��f���ff.�@��H���.H���%H���H���AUATUHc.SHcH�H�H9���L�e�L9���I��I��H���E�E��y%A��I��H��A��D�H�E�H�A��?A�ɀD�H�M��I��I)�M)�O�M9�MO�M9�s0M��E�M)�I�E��y
�f�E�E��xH��I��D�H�I9�u�L9�v:L9��x���L9�v,H9�v'E�E��xD�I��H��[)�A)�]A\�A]D���)�A)�[]�A\A]D���I��H���E1�1�������ff.�@��H��A��H����A���H����H���yAULc.ATUI�SHcH�H9��zH��I��D�EL�MA����A�����A�����A��A�A�H��L)�L9���L9�vY�EL�MA��A��A���t(��E��t)I��A�A�A��A��A���ueA����?A��A	�L9�w�A���wIM9�v-I��E�D$�I9���L��D�EL�MA���<���L9�y�A)�)�D�&[�)]�A\A]�@I)�H)�[�����D�&�)]A\A]�f�A���v'A���w�A��A�A�����f�A��A�A�����1���D��A)�)��m���1�E1��c���������ff.�@��HcAVAUATUH��S�����	L�A��A��B���D)����������H�BH9����>��I��I��E1��C@M9��dM�hA���E�I��M��M��I)�I9���HcI�MH9���E�I�KE��fA���fA���u�H9��A�C����������M9���A��
%�I��I��A����D	�D��D������A�@�M9�r�_�������P���D��I�������?�ȀA�@�M9�w�M��I)�I9��5���E��A)�[D�D�]]�A\A]A^�fDA���wD��I��1����A�M���D��I�˹�����A�M���d������M�t����[]A\A]A^�A)�A)��I)�D�.�����D�]��E1�E1��o������H��A��H����A���H����H����D�LcAVAUD��I�AT��UD�S�H�H�,GL9���H��I��A�EM�U����=��e=����A�A�M��M)�M9���M9���E�EM�UE��A��A���t&�fDM9�v&I��E�B�E��A��A���u��A��?D	�A��u�=��v~=��wdL�CL9�v[-L�KM��A��f%�A��
f
�fA���f�CfD�L��M9�������)���D��)�[]�>A\A]�A^���M9�y��)���D��)���fDH9�v�L�Cf�M��L���@=�w��A�A����D=�w#��A�A������1���L��H)�H)Љ[�]�����A\A]A^ø�����1�1��F���@��HcAUATUH��S�����	L�A��A��B���D)����������H�BH9����>��D�%��2I��I��E1��F�M9���I�@A���)E�I��I��M��I)�I9���HcI�MH9���A�I�KA��fA��E��E��DD�D��%�=�u�H9��(E����A�Cf�������������
M9���A��
%�I��I��A����D	�D��D������A�@�M9�r�>���fD���0���D��I�������?�ȀA�@�M9�w�M��I)�I9�����E��A)�[D�D�]]�A\A]�A�C�M���fDA���wE��A��A��E�I��I��1��t���E��A��A���E�I��I����V������M�;����[]A\A]�A)�A)��{���I)�D�.�����D�]��E1�E1��_���ff.�@��H��A��H����A��9H���0H����D�LcAVAUD��I�AT��UD�S�H�H�,GL9��D�%z�2H��I��@A�EM�U���=���=��(��A�A�M��M)�M9���M9���E�EM�UE��A��A���t&��fDM9�v&I��E�B�E��A��A���u��A��?D	�A��u�=����=��wpL�CL9�vg-L�KA��f%�A��
f
�fA���E����fA��f��M��fD�f�CL��M9�������)���D��)�[]�>A\A]�A^�ÐM9�y��)���D��)���fDH9�v�L�CE��t2f��M��f�L���=�wI��A�A�����Df�M��L���v���f.�fD�M��f�CL���Y���D=�w#��A�A��|����1���H��[]H)�A\H��L��A]H)�A^������ø�����1�1�����ff.�H��A�E1�1�R1�V1�jjjjR1�jjjW1�貮��H��h�ff.�f���H��ATA��H��UH��@��SA�uRH��tMH��t0�9]N]��x;I��H��Hc�����]A�$��[]A\��1��E���[]A\�f��������f�USH��H��8dH�%(H�D$(1�H�L$H�t$ H����H��tIcL��H�L$ H�t$L�D$H�D$HcH�T$H�D$裛��H�T$H�L$)U)H���t1�H��t�������Tt8�������D�H�\$(dH3%(u"H��8[]���������ո�������������H��t���f��>�1���@�����f�����ff.�I��I��L��H��t"H��H��L��L��L��к��O�H��ÐH�>H��tH��M��L��L�����������A��@I��I��L��H��t"H��H��L��L��L��к��O�H��ÐH�>H��tH��M��L��L���7���������A��@��H��tz��~2���u{�W��uK�u
�<�`1��<�'�fD��1���u��<���1������@�1���<uʀ�����1��f.�<<u$�W�����u:��u/�fD<Lu[1��o�q������g������D�Ð1��?�M���1�������<��{���1��������<��1���1�������1������1���?������x���1��m���f������fD��������1��?���@ø�ff.�f���H���2H����AT��2UH�-�2SH�M��~I1ېI��I��J�"H�8H��t��H���2H�MJ�"H�xH��t
��H�MH���2H��9��2����2H���s�2��[]H�l�2A\Ð�ff.�@��ATUSH��pdH�%(H�D$h1�H��tH�0�2H��tsI��H���Ȑ��H�01���H��H��ctvI�Hcȋ��T��u��2���~5��H��L�d��H��I9�tH�{H���k�����u�H��f�1�H�L$hdH3%(uH��p[]A\�D�c��ԟ��@UH��SH��dH�%(H��$�1�����H��H��HD����I��H�01��H��H=���H�Hcȋ�A���u��1��<$�m�H�=Y�
L�Ƹ��€����I�H�=;�
L����€����*�H�=!�
L�Ƹ��€�����H�=�
L����€������H�=�
L�Ƹ	��€������H�=т
L����€������H�=��
L����€������H�=��
L�Ƹ��€����a�H�=��
L����€����B�H�=k�
L����€����#�H�=9
L�Ƹ
��€������H�=-�
L����€������H�=�
L����€������H�=�
L�Ƹ��€������H�=�
L����€����~�H�=ہ
L����€����_�H�=ȁ
L�Ƹ��€����;�H�=��
L�Ƹ
��€�����H�=��
L�Ƹ��€������H�=}�
L�Ƹ��€������H�=d�
L�Ƹ��€������H�=K�
L�Ƹ��€������H�=2�
L�Ƹ��€���tg�H�=�
L�Ƹ��€���tG�
H�=	�
L�Ƹ��€���t'�H�=�
L��������������H��$�dH3<%(uH��[]����Y���������AWAVAUATUSH��H��H�<$dH�4%(H�t$x1�H����H�����݋��L�d$H�01���H��H��c��H�Hcȋ�A���u�H�-�2�DH���"Lc=�2�ݐ2A9���E��~gE�o�1�I��I����H��I9�tGH�|L��L�t�M�����u�D$H���2I�>�H�ʆ2H��2H�<$��L$H��C@L�-��2H�<$I��I�A�UHcO�2L��I�H��HB�2A�U�3�21�H�CH�t$xdH34%(����H�Ĉ[]A\A]A^A_Ð�H����2Hc�H��2H���H��2H��Lc=؏2����H���2�@���2���2�H��H���2H��u�������d���D�c�����ə��f���H����AWAVAUATUSH��H�-V�2H�����C�2���������I��D�x�1���H�CH��L9���H��H�}I��L��I��詥����u�L�-��2H�}�D$A�UH��2J�| A�U�Ў2H�=͎2H�sH����H�47L���2)�Hc�H�������L$H����[]A\A]A^A_�f.�������޹������Ð��H��t���f�1��ff.�f������#H�~
��Hc�H�>��H��|
��H�||
��H�+}
��H��|
��H�ky
��H�I|
��H��|
��H��|
��H��|
��H��|
��H�|
��H�d|
��H�I|
��H�.|
��H��|
��H�x|
��H��{
��1��ff.�f���S����H�
��2H��tcH��2Hc܌21����x�H���H��H��u;���@��t���2H��H���2���2H��2[�D�=z�2H�:H�H��t��H�H�
k�2Hc\�2H�<��H�
W�2�g���f.���USH��H��H�=3�2t9H�*�2H����Hc�2��1m�HH�‰
�2H��[]�f����H��tfH��2H��u�1�H�5�|
�q��H�-�2H�;H�EH��t��H�EH��H��[]��H��z
H�5"|
�r�X��fDH��1ҿq[H�5E|
]�7����AUI��ATUH��SH��H��dH�%(H��$�1����I��H�����݅��H��H�01��H��H=���I�Hcȋ����u�H�?�2��I��H����H�΂2�(�I��H��tiH�hH��H�XL�(H�@H�@ �L���H��$�dH3%(L����H��[]A\A]�@M��t=M���A������h���H�o�2L��L�s{
1�1Ҿ����1�H�5-{
�pE1�����w���L�<{
1�1Ҿ�E1�趍���U����L���ff.����H�=܉2tÐH��H�Ł2�����2H���2H����H���H�=�w
H���n���H���H�5��H�=�x
�T���H���H�5��H�=�x
H���2�3���H���H�5U�H�=�w
H�W�2����H���2H�5$�2H�=�t
���H�!�H�5j��H�=�x
�ދ��H��H�5P��H�=qx
�ċ��H�E21�H�=ex
H��髋��L�!z
1�1Ҿ�H���j���f.���AWAVAUATI��USH��xdH�%(H�D$h1�H�={�2�]M��tA�<$u1L�5R�2H�|$hdH3<%(L���AH��x[]A\A]A^A_�@L��I�����H��H��ID��ւ��H�01���H��H��c��H�THcȋ�A�T��u�H��2�H��t4�χ2��~*��L�|�L�3L��I�6�r������P���H��I9�u�H��H�=�u
�B��H�5�u
H��H���0��I��H����}H�����H�b2�(�I��H���8f�H�@ H��@H��}2�I�FI�I�FI�^M�~ ����������fD�c����L��H�=Tu
���H��I���taH����k���H��H�5Zx
���L��踯���L��������t���̽��H��H��tH��H���I�����u^E1��#���H�5�t
L�����I��H!�H���t
I������H���t�H��H�5�w
���H����t���H���,����w���H���o���I�����H������L����������]���ff.�f���H��H�=�2����w5H�v
��Hc�H�>��f�H�=Nt
����H����H���fD1���@H�=@u
�܇��H��u�H�=�t
�ˇ��H��u�H�=(u
H��鶇��fDH�=jt
H��頇��H�q�2��H�Y�2��H�=$t
H���p���H�=t
H���`���H�=;t
H���P���H�= t
H���@���H�=Bt
�4���H���0���H�=jt
����H������H�=\t
�
���H������H�=Qt
H�����H�=�s
H�����H�=�s
H���І��H�=�r
���H�������H�=�r
识��H�������H�=�r
H��閆��fDH�=�o
H��逆��H�=�r
H���p���H�=�r
H���`���H�=�r
H���P����|$�����|$����fDH�=�r
�,���H���(���H�=qr
H��������ATI��USH��dH�%(H�D$1�H����M�������H��H�����VH����FA�t$�$�t$����9�|�9���H�}M�$H�uH��HL�L$����t$L���訮��H��$C�C�������D�$��E�H�|$dH3<%(��ueH��[]A\�D�4	�L$9�����H������S���C�$�e��������H����D$��h�8���f����������@��������r���f���AWAVAUATUSH��XdH�%(H�D$H1�H����H�H����L�w M����L�o(M����L��Lc�1��@���I��H��u(H�L$HdH3%(���|H��X[]A\A]A^A_�L���أ��E����M9�MF�K�$H9���H=h�hL��D�d$HG‰D$�[���L��H��蠴��H�{I��H�L$L�L$H��H�wH���Hct$L������Hct$L���C������t^���ta����D�D$��E��(�����I���LG�K�$H9��X���L��C�4$�'���L������?���f.�1��@L��H�\$蛸��H��H��L��p
�PD��2�1R�PR�@�P1��|���D$aH��H�� H�5Ir
�s�W��D���f�������n����ъ�����AWAVAUATUSH��hdH�%(H�D$X1�H����H�H����L�g M����L�o(M����L��A��1��@���I��H����E����H=������L��A�H�D$A��͡��H;D$��H=v�ۺHE�L��D�t$�D$�^���L��H��裲��H�}I��H�L$L�L$H��H�wH��"�Hct$L������Hct$L���F�������}����|����D؋D$��E�H�T$XdH3%(����H��h[]A\A]A^A_�K�?L��E��H�D$��H;D$�'���L��C�4?���L���ՠ������1��@L��H�l$ �{���H��H��L�pn
�PD��2�1R�PR�@�P1��z���D$qH��H�� H�5)p
�s�7��)���f�������&���豈�����AUATI��USH��XdH�%(H�D$H1�H����M������KI��H���?A�\$�\$��tyH���vۋU�F�)ЉD$9���I�}M�$H�L$I�uHUL�L$�w��t$L����9���H�U�D$E�E����tB���te����D؋D$��E�H�L$HdH3%(����H��X[]A\A]��1���@�H���~����U���E�D$�U���I�$H�l$H��L��l
H��2�1�PD�R�PR�@�P1��x���D$aH��H�� H�5�n
�s���D���fD������=����!������AWAVAUATUSH��dH�%(H��$�1�H���gH�I���YH�o H���LH�_(H���?H�D$4A��E1�H�D$H�D$8H�D$H�D$<H�D$ H�D$@H�D$H���1���E����H��H�$�L���H����H=A�H�$LF�J��H9��.H���H��D�|$4HGЉT$8荳��H��I���Ү��I�ML�L$M��H��H�q H�yH�L$��Hct$4H��A������Hct$8H���t����D$8A�A�����A�����A����OH��臕��H��D$<����H�t$ H��H�D$(�	���A�����H�|$L��f
�1����w��Hct$<H��A�lj$�y���B�4�H���	���H�����H��D�|$4�D$8���I�ML�L$L�D$H��H�q H�yH�L$��A�Dž�x �$9D$4uHct$8H��耔��Dd$8�M���H�L$(H�\$`H��L�4j
��1H���AD�	P�AP�A�2P1��Ev��Ƅ$�H��H�� �sH�5Jl
���H��������tH�D$(� E��EE�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�D�������A�������B�4�H���З��H��訛��H�����1�H�5�k
�tA������W���r���f�H���D$4�D$8�|���I�}H�L$8E1�L�L$4H��H�w H��[�Hct$8H���.���D�|$8�+���@E������A����������x������AWAVAUATUSH��dH�%(H��$�1�H����I��H����H�D$8I��H��E1�H�D$H�D$4H�D$H�D$<H�D$ H�D$@H�D$A�WA�G)ЍH���O��D$4H���C�]�\$8�����4�;t$4��I�~L�L$M�n L�EH�L$L��I�R���t$8H���责���T$4��A�I�AGA�G�����{���������1�EH�t$ H�}�D$<輭��A�����H�|$L�rc
�1����s���t$<H����1����4�L���ҋ��A�WI�~L��L�L$L�D$�\$,��H�L$I�\$8��AG�D$4�|���Å�x'�D$,9D$8u�T$4��A�I�AGA�G����H�EL�l$`H��L��f
�2�1L���PD�R�PR�@�P1��r��Ƅ$�L��H�� H�5	i
�s����}t	H�E� f�E��AE�H��$�dH3%(����H�Ĩ[]A\A]A^A_�fD�D$4�����������DL��訊��A�W���AG�D$4����1ҿt�����H�5=h
����s���I�~IH�L$4I�v L�L$8E1��D$81��)��I��D$4AGA�G��8���������.����R���f���ATUSH����H�?��H��u2H��t0��u2��~&H;8tzH����H���DH��H9x�t^H9�u�H��H� H��t]舞��1�H�{H�C ��@���H��uHL�%�n2H�;I�$H��t��I�$H�H��Љ�[]A\Ð1�[��]A\��H�{1�H��t�� ���H�C�������E�럽�����D��AWAVAUATUSL��$���H��H�$L9�u�H��8
dH�%(H��$(}1�H���L�g8M����I�$I�\$ H����L�jM��t~I�D$(H��H)�H����H�t$M�} 1�H�t$H�t$ L�t$H�4$@I�}H�L$H)�M��H�$I��L���D$�D$}�>����xRI�$l$H�@8H9�riH)��@I�D$@I+\$H�H��$(}dH34%(uFH��8}[]A\A]A^A_��D$��~ �HcD$H�I�D$(�d���@H�B8�f�H�������~��f�AUATUSH��hdH�%(H�D$X1�H���CL�o M���6H�H��H��I9���A�EL��<
t<
t�>�@���H���
��
@�ƀ�
��	�H9�u�@��t��OH��I)���
�<I��A�$L��H���N�����
wL��H��H�Ѓ���PA��H��A��u��1�L��H�5:HH���E����$����A�E�I�t$OI�LL���H9����������	t� H��H9�u۸^L��H�5�GH��f�1���H�D$XdH3%(��H��h[]A\A]���
���
tzH���
D��
tH�����)ƃ�Pt
H9�s��
u�
H��@�ƀ�
��	�@������������$H�������I��L�����fDH���E���L���=�����
H��@�ƀ�
��	��]���A�ML��
@�ƀ�
��	��A����{�����SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��-���H�8tWH��$��$H�D$H�D$ �D$0H�D$���H��H�ھH�8�In��H�D$dH3%(uH���[��˔��H��j2H�H����z���AWAVAUATUSH���H�T$dH�%(H��$�1�H����H��I��H��M��H���)�K���fL�CPM��tA�x�"E1��C D�{�D$��D$M���eM�n8M���I�UE1�H��tdL�L$(A�M4L��1�L�D$ H�5b
��L�L$(L�D$ L�l$M��M��tL��H�5�a
L��1��ՋD$����H�
\c
��Hc�H�>��IcF@���I�VHH�D��H�D$H��t�H�PH���L�T$��t��|$u�H�D$L�D$ H�5qa
L��P41���L�D$ M���j���H�5�a
L��1���DA���FE���%A��tA��uH�5b
L��1���L�|$M���}L���u�������H�A�|�
�L��H�5DL��1���M��tBH�|$L��H������M��t-I�UH����A�M4H�5�a
L��1���L��H��L������|$��H�{(H��t{D�k@A��cq���A9�}gL��H�S(H�5�C1���Hc{@����H�T$0�w�H�BH��H��	DH��� H��H9�u�GH��D<0^H�5JCL���D01���@H��$�dH3%(��H���[]A\A]A^A_��H�SH�T$H���L�D$ �L$L��1�H�5�_
E1��L�D$ H�D$���f�H��`
H�5�BL��1������fDH�T$H�5FL��1����z����蛐��H�(�3���L� ����M�@�����H�D$�$���f.�H�5`
L��1������DH�5�_
L��1�������D�D$���/����|$�$���A�U4H�5�_
L��1����
���f�L�l$E1�����H�5u_
L��1����E���DH�5Q_
L��1����-���DH�5�^
L��1�������DH�5�^
L��1������DH�5V^
L��1������DH�5_
L��1�������DH�5�^
L��1������DH�5T^
L��1������DH�5�^
L��1������DH�5{^
L��1����m���DH�5Z^
L��1����U���DH�5/^
L��1����=���DH�5^
L��1����%���DH�5�]
L��1����
���DH�5�]
L��1������DH�5�]
L��1�������DH�5t]
L��1�������DH�5K]
L��1������DH�5.]
L��1������DH�5]
L��1����}���DH�5�\
L��1����e���D�T$E1��������L$M����������H�������L�D$ H�5l\
L��1���L�D$ �g����1�H�T$0�&����Gt��M��I������ff.����SH��tH���n���H�H�[�fD�[���H�\a2H�[�ff.�@��UH��SH��H���ˍ��H�(H��t����H�H��[]�@����H�a2H�H��[]�f.���UH��SH��H���t��H�(�å��H�H��[]�f���H��twATUSH�H��t9褌��D�c4H�[H�(�4���D��H��[H�8I��H�5&[
]1�A\A����k����[4H�(������H�5[
[H�8H��1�]A\��f��ff.�@��USH��H��辌��H�(����H��H�0H��H��[]��f���AWAVAUATUH��SH��H�|$H�T$PH�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�D$H����H�D$H�@8H�D$H��tH�@H�D$H����H�D$H�|$褋���/���H��Nj��H�5[
H�81���H�b_2���H��H���OA�����A��L�l$ A���:fDD9���A��E�dH�H^2Mc�H��L���H��thH��A����\M��I��H�����L��H��$0�H���D$ H�D$(H�D$@�D$$0H�D$0���A9�w���y�A��d�f��K���H�(���H��H�5�
H�81���H��_2H��H�|$t?H�|$�4r��L�t$M��t+L���r������H�蕊��H�57.H�81���L���q��H�D$8dH3%(��H��[]A\A]A^A_�f�諉��H��C���1�H�5,�
H�81����h���fDH�D$H�D$�=����H�L$HcA@��� ���H�QHH�L$H�D��H�L$H�D$������o��ff.����AWAVAUATUH��SH��H�|$H�T$PH�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�D$H����H�D$H�@8H�D$H��tH�@H�D$H����H�D$H�|$�Ԉ���_���H����H�5PX
H�81���H��\2���H��H���OA�����A��L�l$ A���:fDD9���A��E�dH�x[2Mc�H��L���H��thH��A����\M��I��H�����L��H��$0�H���D$ H�D$(H�D$@�D$$0H�D$0�(���A9�w���y�A��d�f��{���H�(����H��H�5��
H�81���H��\2H��H�|$t?H�|$�do��L�t$M��t+L��袇���-���H��Ň��H�5g+H�81���L���/o��H�D$8dH3%(��H��[]A\A]A^A_�f��ۆ��H��s���1�H�5\�
H�81����h���fDH�D$H�D$�=����H�L$HcA@��� ���H�QHH�L$H�D��H�L$H�D$�����m��ff.����AWAVAUATUH��SH��H���H�T$@H�L$HL�D$PL�L$X��t:)D$`)L$p)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$(1�H���u����~fH��|�:t]H����H�C8H�xH�D$���*b2H�|$�D$����蒅��H��*���H�5iU
H�81�����a2���a2�D$H�D$H��Y2���H��H���A�����A��L�l$A���9DD9���A��E�dH��X2Mc�H��L���H��thH��A����\M��I��H�����L��H��$ �H���D$H�D$H�D$0�D$0H�D$ �8���A9�w���y�A��d�f�苄��H�(�#���H��H�5�
H�81���H��Y2H���|$u/H�D$(dH3%(��H���[]A\A]A^A_�f�H�|$�Fl����@����H�賄��1�H�5��
H�81���뛐H�|$�f����Z����HcC@���3���H�SHH�D��H�D$� ���H�D$�D$�&����hj�����AWAVAUATUH��SH���H�<$H�T$@H�L$HL�D$PL�L$X��t:)D$`)L$p)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$(1�H���Js��H�$H��t9��t5H�D$H��|�:t,H�A8H�xH�D$�wH�|$�]����H�D$�ڂ��H��r���H�5�R
H�81���H�
W2���H��H���
A�����A��L�l$A���5�D9���A��E�dH��U2Mc�H��L���H��thH��A����\M��I��H�����L��H��$ �H���D$H�D$H�D$0�D$0H�D$ 訄��A9�w���y�A��d�f����H�(蓂��H��H�5{�
H�81���H�KW2H��H�<$t
H�|$��i��H�D$(dH3%(uUH���[]A\A]A^A_�蛁��H��3���1�H�5�
H�81���뫐HcA@���|���H�QHH�D��H�D$�i����h��ff.���H���Ci���@��tH���3i��1�H���f���H�����G����SH��H�H��t	H�dV2�H�{H��t	H�RV2�H�{(H��t	H�@V2�H�{0H��t	H�.V2�H�{8H��t	H�V2�H�{H��1�H�H��H�CPH)���X���H��C[�f��ff.�@��H���Sh���@��uH�����;h��H��H���?h��ff.�@��H��t��\��t
H��X�D1��ff.�f���H��tLJ���\��u�f�H��X��g��@��H���#H���AWAVAUATUH��SH��H��H��c��H�}I���c��H�}(I���c��H�}0I���b��H�}8I����b��H�{H�D$H��t	H��T2�H�{H��t	H��T2�H�{(H��t	H��T2�H�{0H��t	H��T2�H�{8H��t	H�pT2��E��E�C�E�C�E �C H�EPH�CP�E@�C@�ED�CDH�EPH�CPH�EHL�{H�CHH�D$L�sH�C81�L�k(L�c0H��[]A\A]A^A_�f�������f.���AWM��AVAUATUSH��HH�L$ H��$�H�t$8H��$�H�T$XH��$�H�L$H��$�H�|$L��$�D�L$,H�L$@H�T$HH�t$P��t@)�$�)�$�)�$�)�$�)�$)�$)�$ )�$0dH�%(H��$�1��e����$�H��u)H��$�dH3%(�'H��H[]A\A]A^A_��KW�����u
��$�t‹L$,��wj�:�H��s_H�|$�kH�T$ H���]H�H�����������H�T$0������H�H�D$H��t#��d��H�H�D$X�H�D$0H�|$t�M���nH�'Q2���H��H����A��A�������H�l$`H��$�H�L$pL�|$hL��E��H�L$A��I���=f�D9���A��E�|H��O2Ic�H��H��H��thH��A����\L�L$M��H��H��$�H��H������D$p0�D$t0L�l$xH��$��~��A9�w���y�A��d�f�H�l$`L�|$hH�|$0��H�|$�H�D$0H��XH����c���D$,H�|$H�]�E��$��E��$��EtH�|$�_��H�E��$��E H�D$@H��tH���^��H�E(H�D$HH��tH����^��H�E0H�D$PH��tH����^��H�E8��$�L�}P�E@��$��EDH�D$ H�EH�c��H9�t�	c��H��H���ne��H�D$H��t$H��H�|$X���<���DH�D$ H�D$0����H�|$0t@H�|$8u8諓��H�8�h�z��H�H�D$8H�D$0H�D$XH�|$8����@H�|$8��H�t$8H;5�O2��H;56L2��	�H;5�M2���u
H;5\O2��H�t$0E1�1�H��H���!����@M���]���H�|$�Q���M�g@L��M����M��$�M���UA�M���1�f�M�(��M���ƒ�	������A�u�M����M�g@M��tM��$�M��ME�A�����$�������$�����H���wa���D$,H�]�E��$��E��$��EM�������L��E1�L�h8M��t%A�E���s������A�L��L�h8M��u�H�@(H��u�I�D$@H����\��H�EH���_���M���V���I�G@H���I���H����R\��H�E�4���f�H�D$0H�@8H������H�xH�|$H�����x4�@8��$���$����H�=sH
��[��H���v���@H�D$ H�D$0�-���H�L$0H�H�������H�����$�HD��H�AH�T$8H�D$X�t���A������d���fDH�|$0HcW@���Z���H�GHH�D��H������H�xH�|$�:���A�Gp��$��&���DE��tA�����f�H�5۵
L����b��H������I�U8H��t�BI�Ճ��M�����fDH�D$8H;dK2��H;�J2��H��H�|$X1�H�L$8H�5��
�����@H���H�D$H�������H�JH�L$X����DL������M��u���1���M���K����;���DL���|����$��M���L�D$XH�L$8H��H��H�t$0����A������I������v��H�H�D$8�w��H�H�D$X�����]��fD��H��A����u@M��t[H��H�G
APPjjjjAPjjjjI��1�1�1�1�1��f��H��`H���H��APQjjjjAPjjjV��fDH�
F
I��1�1�P1�1�1�jjjjjjjjj��e��H��PH���f.��SH��tz��LH����t	���tYH��1�A�E1�ǃ�H��1�RV1�jjjjR1�jjjj�Ze������CH��`��u
ǃL[�f�H��A�E1�1�R1�1�V1�jjjjR1�jjjj�e��H��`[�ff.�AWAVAUATUSH��H���H����H�A��H��H��I��H����LJ�H�xH��t-H9�t�`��H�H�hE1�H��D��[]A\A]A^A_��H�PH�x �+���A�Ņ�u�H�UH�C H��tv�	H�=@
H������������8��G�	H�=�?
H���������u�8�u�x�u(H��H�C �H�ֹH�=�>
��€�����H+CHc�H�H��H�x �l��L�;I�G I�G(蛄��I�G H�H�h8H�x(�'j��H��A�D$4��tKH�;��v��A��H�H��H�x �|p��E����H���H�x(��i��H�H)�Hj8����fDH�;D���U��A��뵹H�=�=
H��������������@�8��.����x��$����x�����H��H�C �
���fD�x������H��H�C ���A������5���1�H�5�D
A���������H���^������1�H�5\D
L��A������������f�SH��tz��LH����t	���tYH��1�A�E1�ǃ�	1�1�QR1�jQH��jjjjjjj	�*b������CH��`��u
ǃL[�f�H��A�E1�1�Q1�1�R1�jQ1�jjjjjjj	��a��H��`[�ff.���ATUS����Z������='w��kRq[]A\���غ���h������)‰��vq��L� �r�����H�5xC
H�81�A��A���H��G2H�UC
H�81��#�����kR~��&q��H�(�q�����Q��H�5eC
H�lj��I���H�?1���)�[]A\A��ff.�@��H��t(��L��umLJ�LJ����LJLH��H��H��tSH��H�XA
E1�1�VA�1�P1�jjjjV1�jjjj�o`��H��`H���fD���u��fDH�m@
E1�1�1�PA�1�1�jjjjjjjjj� `��H��PH������SH��tnH����L��t	���tR���1�A�1�APQR1�jjjAPE1�QH��jjjV1��_������CH��`��u
ǃL[�@APA�1�1�QR1�jjjAPE1�Q1�jjjV1��l_��H��`[�fD�����D����߃�A��w�Ð��@�����v(������������	����f.�SH�5�D2�������t
�[�fD�����=�Qv�0tލ����1�[�����ff.���������fD��AUATUSH��H��������H�H��H����L�GM��tyH�G H��tpH�y H��tgL)�A��E1�H����d�����H9�r<H�;H�t2D����N��A��H�H�x �:���H�CH�H�C H�H�x �s}��H�C(H��D��[]A\A]ÐA����������H��tH�H��twH�OH��tnH�G H��teH�R H��t\UH)�SH��H��H��H=�w]H���%d��H=�v=H�H�x 衁��H�CH�H�C H�H�x ��|��H�C(H��[]����H�;���Sx��봐H�p�H���f��H��tHC@H)�H�H�P �ff.�@��USH��dH�%(H��$�1�H��t[���H��tOH�G8H��H��tCH�P H;P(wa�
�����������
tl�@8H��H�P �:u����X���H��$�dH3%(��H�Ĩ[]��H��1�H�5?
���H��ǃ��q����@4�@8����fX����~�H�C8���H�P H���
�V�����
���@8H�H H���)@��xH�QH�P �>���fD@���tR�Q���������������tH�p H�VH�P ����Q���������H�O H�G(H)�H��sE1�1�H�O>
H�߾	�:g��ǃ�
H�C8H�@ ���f��@4�@8�6���H�H �f.����VW��H�C8H�H H���Q�<���f��AH��H��D�	H����P�AL��=
P�A��P1��&C��H�� E1�H��H��=
�	H���f���I���H�Ǿ���V��H�C8H�H H���Q��������������tiH�p H�VH�P ������A�I����?%�	�	���(��=�v�����������H��<
H�߾	���H�{8H�W �h�����yt/@����n���H���A��<�tE��H���g����N����P��H�Ǿ��V��H�{8H�O @����1����A��<�����H�G H�PH�W �A�1����%���	��q�I��?��	��	���(��=�����@�ƃ���@����������������ff.�@��ATUSH��dH�%(H��$�1�H��tyH��H��tqH��H�8H��H��tb���t1H�W D�"A�D$�<_�����tC��<
t~fDH��$�dH34%(�/H�İ[]A\�D1���@E��������tR<
u��z
uH��H�Q �
�f����D�z
u�H���
H�W �p�������FT��H�K8H�Q ���u�H;Q(�E���1�H�\;
�	H���g���H�K8H�Q ��e����A��@�A������B������<���D����<�ty�E��R��%���?	ƒ����Ё��������� �����������������������H��9
H�߉D$�	��D$�j����B�����<�uGD����<���E������B�R����?%�	�	‰Ё���c���@H�W H�G(H)�H���E1���f��BL�d$H��D�
L��9
����L��P�BP�B�P1��>��H�� E1�L��H��9
�	H���b��H�C8ǃ�
�EH�@ ��m������KR��H�{8H�W �B�Z������0R��H�{8H�W �B�����zt|A��A��������B��<������E�B�
����%���	��J��?	��B��%�	�=����������������2�������L�����Q��H�{8H�W �m���fD��AUATUSH��dH�%(H��$�1�H����H��H����I��H��H��t<���t3�E�H��$�dH3%(�H�ĸ[]A\A]�@���y��S����t=M��tI�D$8H��tH�P H�@(H)�H����E1��fD1��@�ƒ���uf�S����u��ƒ����\��<�u��C��<�u��E�C�����%���	��S��?	��C��%�	���E���%����C��?	�=������������������ ������������������„��������H�\6
L��D$�	��D$���f.��BL�l$H��D�
L�﹖��P�BL�^6
P�B�P1��;��H�� E1�L��H�c6
�	L���^���������
�ƒ���!ʍH�����!��M���f��E��C������%�	��C��?	�����I��ff.�@��H��t��~R���~z����~R��������H�G��������H�����?�ʀ�P���y�)���@�7�����H�G�������1��D���?���΀��@�w�H�G)��DH����H��5
1��	�w�1�H�����H��H��t������1��D����H�����H���AT�FUH��S��H������H��6
Hc�H�>��f���
�����CDž�1�H��[]A\�f�E1�1ɾH�2
�
]��H����[]A\��LJ�H�W81�H��t�H�J �9�u��y�u��y�u�H��H�J �@H�G8A�ZH��t/H�P H��t&�:�u!�z�u�z�uH��H�P �DA�����KP��H���"���H�u8D��H��H������x���s����H��D$� e���D$Dž�sH��[]A\�f�A�-���	A�Z��O��H��u����s��E1�� H��H��H�1
��[��H���d������������}@tDž�
1��w���f�H�}(u�H�E8H��t�H�xPH��t��BC��H�E(�¸�����A�����ff.�f����������f���H��tH��H�w8������v���������H��twUSH��H��H�H�-�42H��t�UH�{H��t�UH�{PH��t�UH�{XH��t�UH�CHH��tH�{H��t��H�;H��t�Fc��H�EH��H��[]����ff.�@��UH���hSH��H�32�H��H��teH�xH��H�H��H�@`1�H)���h���H��C`����H�H�C4H��t����P����CdH��H��[]��H�52
H���	e�������AUATUSH��H��tuI��A��H���v�����uyH����G��H��H��tQH�@I�|$ H��L� ��Z��E��uH��H��[]A\A]�fDD��H���k��H��H��[]A\A]��H��1�H��[]A\A]���]��H��#^��H�5�.
H�81����g�����AUATI��USH��H���nH����u�������H�kPH��t[L���G��H��H��t5H�{xH��t	�@��H�EH�{P�CXH�}����E0H�H�} H�H�}(H��H��[]A\A]���{\w�C\H��2
Hc�H�>��fD�\��L�kH�(�O]��L��H�5�-
H�81����U���f�H�SH�5�0
L������H�SH�5�0
L�����j���H�SH�5�-
L�����R����H�s`H�{xH��L��[]A\A]�Q��fDH�SH�5%0
L���]�������L��H�{P�CX����1�H�5�/
1��(�������ATI��USH��tpH���Ht�����u:L���zE��H��H��tjH�XH��H�X �K���E0H�H�H�](H��[]A\�fD�s[��H�(�\��H��H�5�,
H�81�����1�H�5�/
1����fDH�5�.
L���a������AUATI��UH��SH���s�������H����1�L���JV��H��H����H���D��H���%H�H��H���O3��H��H����H�xH�����1>��I��L���T��H�{I��H��t	H��/2�L���p��H�CM��tH��/2L��H�L�kH��H�x �QW��H��u	M���~H��H��[]A\A]��+Z��H���Z��L��H�5�+
H�81���H������1�H��H��[]A\A]�f�L���x=��I���B���M��tCL��H�5�.
H���E����L���H=��H���n���@H��1���]���@1�H�5G.
H���WE���D���f���H���ATUSH���f.�H���C��H���F��H��u�H���H�-�.2H��t�UH��0H��t�UH�{`H��t�UH���H��t�UH�{HH��t�UH�{ H��t�UH�{(H��t�UH��`H��t�UH��hH��t�UL�#M��t�,G��I9�tH�;�UH��H��t�UH���H��t�UH���H��t�UH���H��t�Z��H��H��t�UH��H��t�UH��H��t�UH�� H��tH�5�,2�>B��H��(H��t1��+B��H��@H��t�L�g0�UL��M��u�H��PH��tDL�g0�UL��M��u�H��`H��t�UH��pH��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�
[��H�EH��[]A\���ff.�@��H��tH�GH�H�G�ff.�@��USH��H����H���U@��H���H���������[[��H�;H������EX��H�{Hǃ�Hǃ�u��@H����@��H����C��H��u����H�{`H�C H�C(H�C0H�C8�C@ǃ�Hǃ�HǃHǃ��H��0�CXH�CP�xH���ǃ(Hǃ H����H�
H��x�����H��pH�[H�C�Cǃ0ǃ��:��������t��4��[��������_��������t
��4��]�������a�����H����H��(2���ǃ�H�-V*2H���H���H��������<����C�����ChH�{pHǃ@ǃPǃ�ǃ�ǃ�Hǃ�Hǃ�Hǃ�Hǃ�ǃ��\��1�H��[]�D��4�m���@H�H�F'2H�����4����+.���ǃ����HD胋4H��������H�y(2��H��H�H���$���H�5)
1���Z��������_���H�A(2�(��CDH�CHH������H�5�(
1��Z��H�C8�����H�C@����fDH��'2�P��C\
H�C`H���9���H�5�(
1��HZ��H�CP�����H�CXH�C8H�C@���fDH��'2�(�ǃ|
H���H������H�5)(
1���Y��H�CP�����H�CXH�C8H�C@Hǃ Hǃ(HǃpHǃx� ���@H�'2�P�ǃ,
H��0H���`���H�5�'
1��RY��H�CP�����H�CXH�C8H�C@Hǃ Hǃ(���f��G��H��H���H���#�������1�H�5�#
1��c��������m���f���H�E&2S���H��H��tEH�xH��H�Hǀ�H��1�H)�������H�H���/b����xH��[�fDH�5�&
1��bX����H��1��^����@��H��t'SH��H�H��t	H��&2�H��[��X����ff.�@��H��tSH��H�p��S��H��[�>����ff.�@��H����H��t~L�OE1�1��I9�r;E��u6L��L�GH)�H��H�H��I��A�H9r�t�v0L�H�E1�I9�s�@H��t2H�OH��H��H9r�H���fDH�HE1���H���������H��tOH��tJUH��SH��H�pH���Mf��H9CxvH��H���H��H9(uH��[]�@H��1�[]��1��D��H���H���
ATI��USH�6H��H�p��e��H�SxH��H���H9���H���H�L�H�4�I�$H9�NH�KpH�zH9�sPH��� �4���H����H��H��"2�H���<H�SxH�L�H���H�cpH�4�H�zH9�t6s4H��H�L�H��H���oB��oJ�H��(H�B B(J8H�BHH9�u��Ao$�Ao\$^I�D$ H�F H�{x[]A\����H�KpH�zH9��6���H��tBH�T�H�4���H�KpH��H9�s#H��t6�4���H��"2H��������H��u�H�Cp����@H�Cp������fD�Ao$$&�Aol$nI�D$ H�F �B���fDH��H�5�
[]A\�T��D��U��SH���?X����8X���(H����[]�ff.�f���U��SH����U�����U���(H����[]�ff.�f���U��SH���4����4���(H����[]�ff.�f���US��H���Y���(�Y�����tH����[]�f��Y���H����[]�f.�f�H9��tW����Ѓ�x,H��H�H;4�t#�B�H��@H�P�H9t�t
H�Ѕ�y�1��H�D�H��u�8HD��fDH�������5 t=����ȃ�x0L��H�I;4����A�H��H�H�I9t���H�ȅ�y�ATI��UH��S��H����uSH�
�PH���H�� 2�H��H������Hcу�H�,Љ��L�d�[��]A\�f�H��H��t����9��҉�H��H�x2Hc�H�4��H��t?H���DI9T��C�����������1�H���R�������ǃ�~���1�H���mR�������������X����ATUSH��H���H��tu����F9�|\�l6
L�%�2Hc�H��A�$H����H����gfff��H������)�Hc�H��A�$H��t^H�������[]A\�DH�-A2���UH��t1H����,�UH��t�7H��ǃ�7��[]A\�1�H�߽�����tQ���f�AWI��AVI��AUI��ATE��UD��SH��H����(Hc�,9����H��2��,Hc�H��0H���H����H��0Hc�,H��H�4@H��2H���H����H����(H��0Hc�L�<�H�RH��L�� L�0L�hD�`�h�A��(H����[]A\A]A^A_�f�H��H��u�H��2H�<vH���H��H��t��(눋�,�������,1�H���@P��������f�H��t;��L��u!��n�8L�aB
��Ic�L�>��D���u��fD��n�L��C
��Ic�L�>��@�H�D$
@���SH��H����RA�E1�H��PH��<
PjjjjR1�jjjV1�1�1��8��H��`H��t����C��u
ǃL[�@�H�Z:
@H���w���SH��H���}���H��A�E1�H��PH�$�
PjjjjjjjjV�v����H��#
�'�����VH��"
�f��_H�d!
�f��KH�p;
�o�����\H��:
�W�����YH��
�?�����XH��
�'�����H�7;
������UH�1;
�����TH�Z:
������SH�\ 
������RH�D!
�����PH�d
�����OH��:
������NH�|!
�g�����$H�,9
�O�����JH�!:
�7�����IH��9
������GH��
������FH�d
�����EH��
������CH�
�����@H��8
�����>H��
�����=H�C9
�w�����<H�
�_�����;H�d
�G�����nH�|
�/�����`H�� 
������H�t
�����H�$ 
�����H�A7
������"H�|
�����!H��
�����H�I7
�����H�7
�o�����H�
8
�W�����H��
�?�����H��6
�'�����H��6
������9H�d
�����8H�$
������7H��
������6H��
�����4H�L
�����3H�
������2H��
�g�����1H�L
�O�����0H��6
�7�����.H�Q6
������,H�$
������+H�6
�����'H��5
������&H��
�����%H��5
����H��4
����H��
�	����H��4
����nH��
����_H�5
�����`H��
�����H�
����H�x4
����H�~4
����H�#6
����H��4
�p����H�.
�_����H�{5
�N����H�d4
�=����H�h4
�,����!H��
�����"H�I
�
����$H�P4
����%H�?4
����&H�>
�����'H�:4
�����+H�C4
����,H�;
����.H�?4
����0H�Z4
����1H��
�q����2H�
�`����3H�N
�O����4H�m
�>����6H��
�-����7H��
�����8H��
�����9H��
����;H��
����<H�
�����=H�
4
�����>H�}
����@H�m3
����CH�k
����EH��
����FH�a
�r����GH�x
�a����IH�p3
�P����JH��3
�?����KH��3
�.����NH��
�����OH��3
�����PH�B
����RH��
����SH��
�����TH��2
�����UH�k3
����VH��
����XH��
����YH��
����\H�~2
�s����H�
�b����H��
�Q���ff.�H��t��L��uA���H��H��A�H��PE1�1�R1�jjjjP1�jjjV1���.��H��h�@���u��fDSH��tb��LH����t	���tGH�����1�1�AQAPQR1�jjAQA�APE1�QH��jjjV1��{.��H��pǃ0[�H��1�1�AQAPQR1�jjAQA�APE1�Q1�jjjV1��6.��H��p[�SH���~��LH����t	���tcH����1�H��t���������APA�1�QRjjjAPE1�QH��jjjVH���H����-��H��`ǃ�[�APA�1�1�QR1�jjjAPE1�Q1�jjjV1��|-��H��`[�fDH����t���@H��t��L��uqLJ�*SH��H��tnH�71
RH��E1�VA�1�P1�jjjR1�V1�jjjj*�-��H��`H��t����C��u
ǃL[�D���u��fDH��H��H��0
1�RA�E1�P1�jjjjR1�jjjj*�,��H��`�DH����SH�H��t���������H��H����H�5	F
�3��H����H�5��H������H����$H�5�
H������H���H���tH���t
H��t[�H��1�[�B��DH���tLJ��Y������H���u�H�xp�5���H�xx�*����fDAWAVAUATUSH��L�o8M���.I�mI�E H)�Å��I��H��@H�A��A�׉�H9�I�EO�H����H�x �L$�T$�L$�4O��H��I�EH�x �1���L$�T$�t$A����uh��A��Hc�D9�|�w�H���ZA9�~d��D8du�@��t>D8|u�@8tu�Idž@I�U I+U)�H��[]A\A]A^A_�@A���f�E��t�D8|t�H���ZA9��HcӸ����I��@H��[]A\A]A^A_�f.�E�E0�C���������ATUSH���oI�ԉ�H��H��tH�(H��t	H��2�L�����H�E(����Dž�������4��Dž���t�������4������4���E�À����4��ÀDž�����H�EH�D2DžH��H�����4�؃�@���EDž���tHDž��� tHDž���4���؃�@��tH�E��@Hǀ��� tH�E�� Hǀ�Hǀ���tJH�EH�U
2��H�PpH��2Hǀ�H�PxHǀ�ǀ���4���m��4��Dž8��@tH�E��@Hǀ���4@�� t��4 �� ��t��4����t��4����t��4����t��4����t#H�������4H��t1��<����t��4���� t��4 �� ��@t��4@��@Dž���[]A\�f�����4Dž����7���Dž��<���@Dž8����Dž�����DžH����Dž��I�����E����������j���f.��
fDH����� t�H���tH�O�� t+��WH��H�τ�u�H9���HD��H��H����� t��t� H���WH���DH�Ϻ�H9�HD��ff.�f�1���-�D��wD�A�A��v	��
�2��9���Lc�B���y�A��D��A���A�����A��A���A����+�������H9��F�TD�у�����B�LA��A��A�����F�LE��A��A�����A��A��?A��A��A�����E	ȁ�E	�A	�A����(A��
A��A����A��tA��	A���@��9������f.��H9��LB�LA��A��A����A����?A��A	�A��
A��A����A��tA��	A����������H9���B�LA��A��A�����F�LE��A��A�����A��A��?��E��E	�A��A��E	�A���oA��
��A��A��A��	D!�A��A��D!���uD���
���f�A������������A�� ���������A��A������������A�����������A���A���A��D!�닉��م�E���ff.�U��SH��H��Hc�x��|H���9�|.�H��2��|Hc�H���H��H��t6H���Hc�x�,�Hc�xH��H��H��p�P��xH��[]�1�H����9����|�������|������ӐSH��trH����L��t	���tTH�����1�E1�QA�1�R1�jQH��jjjjjjV1��"������CH��`��u
ǃL[�fDH��A�E1�1�Q1�R1�jQ1�jjjjjjV1��:"��H��`[�@SH��trH����L��t	���tTH�����1�E1�QA�1�R1�jjjjQH��jjjV1���!������CH��`��u
ǃL[�fDH��A�E1�1�Q1�R1�jjjjQ1�jjjV1��!��H��`[�@SH��tz��LH����t	���t\H��H��
E1�1����A�H��R1�P1�jjjjjjjjV1��'!������CH��`��u
ǃL[�fDH��H���
E1�1�RA�1�1�P1�jjjjjjjjV1��� ��H��`[�@SH��tzH����L��t	���tXH�����1�1�AQAPQR1�jAPE1�jAQA�QH��jjjV1��k ������CH��p��u
ǃL[�f.�H��1�1�AQAPQR1�jAPE1�jAQA�Q1�jjjV1�� ��H��p[��H�>��ATUH��SH��H���79�|R1���~C���|H�}Hc�H��H�H�D��z�H��H)�fDH�A�H��H9�u�)։Љ3H��[]A\ÉT$�/��L� �0���T$H�5�#
H�81�A�ԋ���fD1��D���@H��t#�����t�@t;H�H��@S�"/��H��/��H�5�

H�8H��1�[���L�O8M�A(I�AI�H�H9�r�A�x�<t H���fD�y�<tH��H�y�H9�u��H��L��fDH�>I�q(��A��"tBH��H9�sjD�A��>tXH�AA��'u�H9�s߀y'tH��H9�t̀8'u�H����@H9�s��y"u
���8"t�H��H9�u�H���DH�
�@I�IH�G�H9�r!��>t-H�����8>tH��H9�u�H��f.�H��ff.����%����>wH��@H��s�D���߃�A������_����:����@���������(��������������v|��������
vq���������vc�������vX�������vJ�������v<���������v.�������v ������
v������
�/���������H���߃�A��vލ�@�����vӍ�(�����vȁ�����_����:@��	����f.�S��H�5.2���?=����u+�����=�Qv��0t��!01���[���fD�[�f���%����>wH��@H��s�D���߃�A������I�����?��H��������H��H�҃�������������v|���������vn�������vc�������vX�������vJ�������v<���������v.�������v ������
v������
�5�����D���X���߃�A��v�@�����vՍ�(�����vʁ��FЃ�	v��FӃ�v���_t���:t�1��������S��H�5�2���;����uc�����=�QvV��0tN�������vCH�5$�1���e;����u1H�5�1���S;����uH�5x�1���A;��[���������[�f��NӃ�2�w���H��?H��H�҃��W���ff.��AWAVAUATI��USH��L�6H�t$L�l$L��L��dH�%(H��$�1��
��A��$4�Ɖ����������\$����@�l$ �Hc�L��L��I�,L�t$ H���w
��A���*f�HcӃ�D�| H�L��L��H���T
��A�ǃ�c��A��$4D���(�����tDHcD$��t�Hc�D��L��l���HcD$���H�|$ �T���l$���h���f���P�~A��$6��H�D$H�|$ ��H�(���H�$H��$�dH3%(H�$��H�Ĩ[]A\A]A^A_�@H���1D�4Ic��H�$H���%H�<$Hc�H�t$ �" ���D�?��HcD$L��L��H�H���D��A��A��$4D���!�����t]�C	D9�|3��P�~A��$6��H���1E�H�<$Ic��H��tVH�$Hc�H<$�|$t�D���,����{���DH�$Hc��H�D$H�(����H�$���1�L���.��H�/�1H�<$�H�$���H��
�nL���8��H��1H�<$�H�$���1�L���D.���~���H��
�nL�����H�$�]����
��f�SH��H�?����H�;H�G �8t[�fD��[�E��DSH�H���H9��t\H��pH��tP���tI���tD��uH��~D�< w5H�&H��s%��H��H9�t�F< wH��H��r�1�[�@H�GPH��t�H��H�H��tH�p��+����th��t�H�C8H�P �<<t<
u�H�{PH�u<<t\�!��H��t-H���/����u�H�CPH�xH��t�/��[�������DH�CP�xu�[��H�xP[����Àz/u�1��H���fDSH��H��(H��tH��H�5F�3��H��(�.����t	[��H��(1����Hǃ([�ff.�f���H��H��H��t��H��(1�H���� ���H��t��L��t	���t@H��H��A�H��j1�1�APPR1�jjjAPE1�P1�jjjjd���H��x�@��H��A��I��H��ty��LH����t	���tXL�H�P1�1�M��tA�������uI���I���jE1�QARjjjjQH��1�jjjAQA��w��H��`H���fDjA�E1�1�Q1�R1�jjjjQ1�jjjV1��<��H��`H�������1��� wH�[!
�8�fD��H���c����<It<Xu
�-�S��AH��<v�<@H���JH�r�ȃ�߃�A<v�H��H)�H��H��~����H����	Ѓ����DH���������1���-���NH���q�@��	����߃�A����H���DH���yH�q����߃�A<v�H��H)�H��H����H���
H�@�H���G1�H���\�@���N1�@��-�BH�Q�N�q�@��	�^��߃�A���H��H���>����߃�A<v�H��H)�H��H����H�@�H����1�H�����@����1�@��-���NH�V�q�@��	����߃�A����H��H���>����߃�A<v�H��H)�H��H�@�H��vS1�H��ul�@��tb1�@��-uZ�VH�N��߃�A��wGH��H���8����߃�A��v�H)�H�P�1�H��w!@����@��-��!Ѓ����f�1��DH�W�O�
fDH���
�ȃ�߃�A<v�1�������B�H�1���	w��z�OЀ�	w�H�r�z�<���fD��H��t_H��tZUH��SH��H���G@�wDH�H9�|$�H���1�sDHc�H���H��H�CHH��t%�C@Hc�H�,׍PH�k8�S@H��[]�@������1�H���'���SD������CD�������f�AVI��AUI��ATI��UH��S�0��H��H����M��t.A��$4��4I��$�H���A��$������H��H�5��
�
��L����H�r
HD�H���6��H��L��I��H��tCH���{��H����H��H������H��teH�f�1L��H��[]A\A]A^�DH���8��H��toH��H�����H��u�H������H��u�H��t�H���fDL�����H��u�H��t�H���x���DH���1L��H��1��Z,��H��[]A\A]A^�ff.���H��t7�G@��~0��H�WH1�HcȉG@H����tH�t
�H�H�w8H�H��f�1��ff.�f�H����S�@H��LJ����LJL~f�H�����H�������{@�H�C8H��tMH�PHH��tH�x��H�C8H�@HH�8H��t��"��H�C8H�H�o��@0H�P H�PH�P([�f��ff.�@SH��H�8H�W H�G(H)�H=���
H+WH�����~H�H��tH�
��1H9Ht	��6tZ��� 
��H�{8H�G H;G(wH;GrH��t�8t"[�H������H�߾[H�
�S����[��	��DH��H��
��,��H��[���AWAVAUATUH��SH��hD����t$dH�%(H��$X1�E��u1H�O8H�A H�Q(H)�H+AH=���H�����DL�l$H��E1�E1�L��L�t$ ��#������<�$��&�����j��
�ƒ����u�C�������]uH�E8H�@ �x]��|$��Ic�A���\ H�E8H�P �:
��@8HcL$L��H��H�H�P �U#����A��+~-Ic�H�}�D t��L���E����E1�A��A��2�'��������u5H�M8H�A H�Q(H)�H+AH=���H�����f����t5E1�<����E��tIc�H�}�D t
��L������H��$XdH3%(�]H��h[]A\A]A^A_�f������=��������� �����������������������E���Ic�H�}�D ����L���[L�d$ 1�D��H��L�������cH�UH���H��tD��H�}L���H�UH���H9������H��p�8�������������DIc���L����A�H�E8H�P �:
������@4�@8���H�}8�������q���H�E8H�P(H+P H����X���H�����K����x>�w���D�D$E����1Ҿ>H������U���@1�D��L��H������t,H�EH���H�������H�}D��L��������H�UH���H��tD��H�}L����H�UH���H9���G���H��p�8��7���������,���H�8� �D���E���8���H�E8H�P(H+P H�������H��������������@=���s����� ��=��b�������=�������L���H�I

�پ	H����H�E8H�P �:
t_�@8HcL$H�H�P �����ځ�����
��������	!ȃ���!��H�EH���H������H�}D��L��������@4�@8�E�������Ic�H�}�D �������L���$����]�����f�AWI��AVAUATUSH��(H�8dH�%(H�D$1�L�o H�w(A�U�Ѓ�߃�A<v	��_��I��I�]I9���f���Ѓ�߃�A<�E�B�<2vfH9�sq��~mH��L)�P�~A��6��I�����L���P���I�W8H�Z j8H����1�L��H�D$���H�D$�I����H9�r��E���E��uL)�H����dH�GL�d$L��L��H�D$����A�ƃ�>��A��4D�������HA��:�>1�1�f.�A��4D���q�����A��:����d�^��I�G8Hct$H�P ��:
���@8H�L��L��H�P �U��A�ƅ�uaI�W8HcD$H�J H)�H��H�J A�����uH�R(H)�H����hA�����I�G8HcT$L��L��1�HP ����A��A��>�3���H��@L��������P�~
A��6t%I�G8L+l$��I���H�pL����DH��	
�nL���4��@1�H�L$dH3%(��H��([]A\A]A^A_�H9��/���H�����fDH��@L��r��L�����P�~A��6�z���A�����uI�W8H�B(H+B H=�~3A����e���1��[���fD�@4�@8�a����L�������fDL���x������L���h���I�8L�o ����F���fD��H����UH��SH��H���GX�W\9�|)�H���1H�`Hc�H�4��H��tiH�C`�CX�c\H���1�
9�wH�K`Hc�H�,эPH�kP�SXH��[]���6u�H����H����H�������������@1��1�H��������fD��H��t7�GX��~0��H�W`1�HcȉGXH����tH�t
�H�H�wPH�H��f�1��ff.�f���H��trUH��SH��H����(��,H��09�|1�H���1Hc�H�4��H��H��t7H��0��(ѣ,Hc�H�,׍PH�� ��(H��[]ø�����1�H�������������ff.���H��tG��(��~=��H��01�Hcȉ�(H����tH�t
�H�H�� H�H��fD1��ff.�f���1�H��tu�@~gATUSH����*�����ue�{@~'��P��u���tH�e��H������H���h���H���P���H�{8H�G ���tA[]A\�@��������D�c@H�(���D��H�5]
H�81����t���������H�C8[]A\H�@ ��fD��H���8AVAUATUH��SH��H���*�����tkH�C8H��t5H�xt.�q��L� H�C8D�p4L�h���H�5�
H�8D��L��1�A���C��L�u L�(�C@D�`����L��D��H�5�
H�81�A�ՋC@��(~��6tj=cH��H���������t}�����uH�K8H�Q(H+Q H���~H��[]A\A]A^�H�߉D$�t�D$H��[]A\A]A^�1ҾYH���1���{@~H�����H������{@����뛃�����AUATUH��SH��H�8H�G �8&t:1ҾH������1ۉ�H���H��1۾	�9��H����[]A\A]�@�x#u��xx�W8����H�HH�O �W8�x�������uH�G(H)�H=��`�1�A�A�<;����PЀ�	wv��H��\PЁ�AO��O��H�U8H�J �<;�$A���������uH�B(H)�H=�������H�E8E1�H�@ ��PЀ�	v�1ҾH�����H�E8H�P �:;����H���@81�H�P 1���	��������
�������������������A�������H���h��^����B�<�{A���q���\Ɂ�H��AO��B��H�E8H�H ���;��H���@8H�H �����H����	H���M��1��
���fD���F���H�}8H�O �,���f���H�HH�O �W8�x��D���E��uH�G(H)�H=����1�A�A���;����B�<	wv��H��\Ё�AO��X
��H�E8H�H ���;����A���������uH�@(H)�H=����������H�E8E1�H�@ ��B�<	v��B�<�����A��~R1ҾH�����H�E8H�P �:;t1������H���@81�H�P ����DA���'�������\��8���@�؁������������=��������� ��=��o�������=�������DH���(�����H����H�}8H�O ���H���B8H�J ������]���H�}8H�O �8���H���G8H�O �2���H�����H�}8H�O �1���f.���H��tgH��tbAWA��AVE��AUA��ATI��H��UD��S@��H��H������H��E��D��UE��H��L������H��[]A\A]A^A_�f.�1��ff.�f�H���'AWAVAUATUSH��H����6�	��\Y���I��H��I��H��t)�z\t#H�rPH��t�����u���Y�����M��t^I������H�S81�H��tH�B H+BHB@H��H��H�I9�rw1ҾYH���H����H��[]A\A]A^A_�@M��ucH�����������H�S8�H�H��tL�j L+jLj@L��H�@K�D�H�H9�s�@1�H��[]A\A]A^A_��I���v�H�C8H��tL�` L+`L`@L��K��H�I9��<���H���H�RH9��(���1��H���H��'����H���������S@��~DH�CH�J�H�PL���	DH��H�H�A H+AHA@H�H��I9�u�H��H�H9��w���1ҾYH������ǃ��������1��DL���E1�E1�1�ǂ������N �����I��H�������Y��H�������?�<L��H��L)�H=���?HG������|��H��t���H��1L���������\�����F���H���'�����1��0���fDH�EP����?�H���H��L)�H=���?HG������7���H�EP��=���ff.���AWAVAUATUSH���L$(D��$�dH�%(H�D$x1�H�����������I��H�������H��E��E�΃�(~��6��=��H���1�$�,�H��H����Hc$H�H��H�$H��H9���@�H�\$xdH3%(H���H�Ĉ[]A\A]A^A_�@�;&��1ҾL�����H���1H�D$0H�D$0H��1��fD1�L����
���@1ҾYL��1������u���f.�H�D$lH��L��H��H�D$������
A���t$9���
A�ΉL$9���
A���|$9���
A��$���
�t$(H�T$pE1�A�,H�T$8���t$,��&��f.���%���|$lJ�|=���I��HcD$lH�I�GdL9�v,O�l6dM9��bH�{�1L��H��H���JM��H��H9$wJ�D=�l���@H�T$H��L������t�9D$t�;D$t�9D$t�A��$�t���&�V����{#�T����D$(�J�����������H�\$p�;&�cH�t$8H�CL��H�D$p���I��H����
H�D$p�8;��	H��H�D$pA��$6��I��$�I�$H���-	H�@(H���]L��L�D$ I�|$��L�D$ H��I���=A��$�����A�E\������u	���l
����
������H��1L��H�D$0�1�1�L��L��H�\$p����A���I�uP�����H�I�$�A�}\�HH����I�}�X�M�mI�OB�D=&��H�J�t8eL9�vHN�DpdH�L$@�T$ M9��UH�~�1L��L�D$HH��H���8L�D$H�T$ H��H�L$@M�ƅ�~-�z�J�t=1�H����H��A�L�LH�JH9�u�H�I�LL�y�D
;���D����H�I��^����D�\$,E���3������D�E����H���OH�\$p�;%�AH�t$8H��L��H�\$p���H��H����H�D$p�8;��I��$�H��H�D$pI�$H���{H���H���kI�|$H���A��$�H�D$ ��H���OH�D$ �@\�D$0����vE1�H��H�[�L�����H���1H��ADŽ$�H�D$0�L�l$ 1�1�L��H�\$pL�����A���I�uP�����H�I�$�H�����T$(E1�E1�1�A��$�L���T��A��$�H�D$@H���L�l$@H�\$HH��M)��I��C�D=���7I�oB�;I��eM9�s�H�T$ 1�H��L���D�������O�|6dM9��H��1L��H��H���M��H���fDA��$�t[A�|$0t"E��$�E����E��$�E����H��H���L�����1�1�1�L�����ADŽ$�H�{�1H��H�\$p1�1�1�L������
���fD����L�(�{��H��H�5�H�81�A���R���@���L�(�S��H��H�5�H�81�A���C���A��$6�jM;d$�g	A��$���A�|$0t!E��$�E���.A��$����L���L��L�D$ H������L�D$ L��1�1�1�L�D$ ��L�D$ H�z�1L�����H���q	�6J�|=��H�I�I�GdL9������O�l6dM9�r H�I�1L��H��H�������1�L���v������H�D$0H��H�|$@H�\$H�����1�L��H���C��H�D$0H�|$@��N���f��T$(E1�E1�1�A��$�L�����A��$�H�D$@H����L��L�|$@H�\$HH��L�l$ L��I)��
�L��A����OL�p�H��eH9�s�H�T$ 1�L��L���f���L�l-dL9��@���H�9�1L��H��H���(���L��H���H�	�1H�D$0�����L��L�D$ ���L�D$ H��I�������I���DA��$4uA��$�����H�D$ �@\��t	��������0���f�	��H�D$XH���lH��1��S���H�t$ L�����I��H����H��L���������A��$���uI�T$8H�B(H+B H=��FH�t$8L�����H�\$PL�t$@L�t$8H�l$HH�l$X1��D���x�����
���u	���T�T$pH���(
����d�A��$���uI�T$8H�B(H+B H=��DA��$���I�D$81�H�P �:
���@8HcL$pL��L��H�H�P ��������M;l$8��I�u I;u(�=��@�������������J����� ������8������������&���L�t$@H�l$HH�\$P�����„��wH�T$XH�L$ H�H��H�APH����H�D$ H�pP����@I�D$8��H�P �:
�����@4�@8����L�t$@H�l$HH�\$P���ƒ�
��!ʃ���!��t���L��������A��$��W���H�3�1L�����H���>���H���A�H�D$ H�D$0I��H��H�|$@H�\$H�H�D$ I�����L��1ҾL�D$ ����L�D$ H���1L���P���1ҾL������2���@�C<x�H��<;���PЀ�	��1���H�ӍPЀ�	�����tPиH�S��O��C<;u�H���������~N�����=��vV�� ��=�vI����=��v<��H����	L�����H���1H�D$0�f�F���v	��
�h��t�J�|=�{�H�I�I�GdL9��e��4�1ҾL���հ��1�됹H����L��L�D$ �v�L�D$ H��I���x����'���L�t$@H�l$HH�\$P=��P����������j����� ������X��������<����I�}P�����H�����<L�D$ �K��L�D$ H����L���&L��L�D$ H�F��1��L�D$ ��E1�H��H��L���M��ADŽ$�����L���L��L�D$ H������L�D$ ����L���L��L�D$ H�w����L�D$ �H�L���L��L�D$ H������L�D$ �"����L�(H�D$ H�PH�T$@�?���H�T$@H�5��H�81�A���f���L�l$ �hE1�L��H���I�M�v��I�uP�,���A��$���uI�T$8H�B(H+B H=���A��$���L��L����������CH�K1�<;�f������(f�����D��Q=�N�H�A��;thH���B�<	vӍB�<w	���D��̍B�<�I���D��H���DL���������x����H���DL������o���H�Y���L���$�����H�|$XL�t$@H�l$HH�\$P�	�����L���L��L�D$ H������L�D$ ��L��L��L�D$ ����A��$L�D$ I�Ń���(���H���!��q���@H�D$ H�@PH��������A�E\��L��L�t$@H�l$HH�\$P�&��7���H����L���-����>���H����L�������[��1�L������1����L���������I�EP��,�����H�|$X���L���Y�����L��H�R��谬��H�|$X�v�������������R���L���	H�B����H�|$X�C�����ff.���AWAVAUATUSH��H�|$H�T$dH�%(H��$�1�H����H�D$I��H�H�������:��H�n������:��H�D$0�L�veH�D$)��D��:tH��I9����4*H����]���u݃�dt��:��H�|$���I���)H���1���I��H���fH�|$1����E1�H��$�dH3<%(L����H�ĸ[]A\A]A^A_�Hc�A�7��:u�A���unH���1L���H�D$H�L������I���fD�}t�H�D$0I��H��H�D$�����]H�|$��H���u!1�H�=*{���I���N���H�D$��L�8��ߍA�<�|��_tw��:trH�|$H�T$,L�������=�����߃�A��vH��@�����v=��(������������t$��_tH�|$L���H�S��V���fDM�f�H�t$/f�I�����A�\$�������c��H����uރ�c��H�|$������I���j���H�2�1���I��H���A���foD$0�dA��foL$@HfoT$PP fo\$`X0fod$p`@fo�$�hP��$�A�G`��I��H��I��A�/��uA�^���������:�������
D9�|�H��1E�L��Ic��H��u�H���1L������H�g�1D�L-Ic�D�L$�I��H���n���H�T$I�Hc�H��I)�I��H�
I���H�t
�I�t�L��H)�H)���H�օ��H�D�L$u:�LD��
D9�|$H�i�1E�L��Ic�D�L$�D�L$H��tBI��I��D��C�/C�,D�u��u�Ic�A����1���:�D���H�D$0H�D$���H�|$1��Q���H���1L������fot$0A7fo|$@Afot$PAw fo|$`A0fot$pAw@fo�$�AP��$�A�GdA�G`��:�L���I�����H�5��1��������u��������=�Q�d�����0�X�����!0���*����D����o��ff.�@��AWAVAUATUH��SH��(H�8D���dH�%(H�D$1�H�w E��uH�G(H)�H=����<:��<_���u��߃�A<��H��?H�^���Ѓ�߃�A<�W�B�<2�B����I��I)�A��P�~
��6��H���D�����H�U8H�Z Db8H����H�|$dH3<%(��H��([]A\A]A^A_�H���_��H�}8H�w ��ƒ�߃�A���>���<_��<:����,���������uH�G(H)�H=�H����������L�t$H��L���"������6����>�u��߃�A���zH�E8D�d$H�P �:
��@8Ic�L��H��E1�H�H�P ������>wH��@H����I��������H��@@�ƒ�߃�A��v+��I�����?��L��H��H�҃����|�A��d��A��H�E8HcL$H�P À:
���@8H�L��H��H�P �#�����>w�H��s�A��P�~
��6�H�E8H�p H��H+PIc�H9�|>�>
H���u
�~�
��H)�D���������DH�������H�����H����H���I���1�������>��=����؃�߃�A��v��@�������H�E8D�d$H�P �:
���@8Ic�L��H��E1�H�H�P �0�Ã�>wH��@H�������I��@������؃�߃�A��v'��@�����v��(�����v�����DA��d������uH�U8H�B(H+B H=��d��������E1�H�E8HcL$H�P À:
��@8H�L��H��H�P �]��>�J���I���0�������@���H�5�1��������^��������=�Q�M�����0�A�����������2���H�5{�1�����������H�55�1�����������H�5�1������������H��@H������1�����H��@H�������_�}�����:�t�����@������e�����(������V��������=�E�����������
�6���������=��%�������������������=��������=��������=���������=���������=
�����������
�����1����A������������uH�U8H�B(H+B H=��C�������E1������@4�@8�����@4�@8�����CЃ�	�e����CӃ��Y�����:�P�����_�G�������;������fD�HӃ�2�����������z�������������h�����������Y�����������J�����������8�����������&���������������������������������
��-=��
����#���H��������H���������H��?H��H�҃����1�H��H�D$���H�D$�3���H�&��nH��艟��1������@4�@8����@4�@8�j���H�5c�1���t������:��������=�Q�)�����0������!0������1������(������������������_�����:����1��{���DH��D��H�����c��������UH��SH��H�������uH�W8H�B(H+B H=��������L�C8I�p ���t-�}H��@8�uBH���
D�9@8�u0H���H����u�H���1����H9�HD�H��[]�fD@��u�<>w�H�&@H��s�H��I�P H)�A@8H���[]�D����T���fD1��ff.����AWAVAUATUSH��H�����dH�%(H��$�1���uH�W8H�B(H+B H=��+����nL�l$H��E1�1�L��L�t$ ��A���@A���|$��Hc�D�| H�C8H�P �:
���@8HcL$L��H��H�H�P �Z�A�Dž�u@�����uH�S8H�B(H+B H=��������L��H��E1���A�ǃ�c�
��4D���̹������A��d�J���D���E��ufH�S8H�B(H+B H=��*���H������|$�"���Hc�D��L������H�C8H�P �:
�����@4�@8�����E1�����H���8������7���H�D$H��$�dH3%(H�D$�H�Ĩ[]A\A]A^A_Ð��t�H�|$ ��谿��H�D$�f�H��1D�t-Ic��H�D$H����H�|$Hc�H�t$ �o���f.������uH�S8H�B(H+B H=�������E1�E	D9�|8A��P�~
��6�H���1E�H�|$Ic��H����H�D$Hc�H|$�|$u_D�?H�C8��H�P �:
tc�@8HcL$L��H��H�H�P ��A�Nj�4D������tdA��d�2���A���[���f�D������H�C8H�P �:
u��@4�@8�@H������
����s������fDH�D$Hc��(�8���1�H���]�H���1H�|$�����H�_��nH������H�ϸ1H�|$�H�D$���1�H������������fDAVAUATI��US���H����uH�W8H�B(H+B H=���H������H��H�C8H�@ H��t �8:�I�$[H��]A\A]A^��8:uSH���K�H��H��t�H��H��E1�E1�H������ƣ��[H��I�$]A\A]A^�f��;���v���fD1�[H��]A\A]A^�f�H���(��H���0��I��H��t H�C8H�@ �8:��I�,$L���T������t�E1�E1�H���H��H���2���H���z���I��H��������q���1�1�H�=�hH���.��I��H��������L�����H��M������H��1L�����f.�E1�M��H���H���H��裢��H���;��H�����H���}�������1�1�H�=JhL�����H��������H��I������H��M��tH���1L��I�,$H���,���1�1�H��H���Q��L��I��H�T�1�����1�1�L��H��뒐��AWAVI��AUATUSH��HH�t$dH�%(H�D$81�H�G8H�D$0H�@ ��D$<"t<'��H���1�d�I��H���/I�F8A���AdžH�D$���-L��L�l$,�d1����L��L����A���D$�$A����A����A��
���u
A�G����'D9<$uH�D$I9F8��A�����C9�|H�;�1�L��Hc��H���I��Hc�L�|$,�<D�?I�F8��H�P �:
�@�@8HcL$,H�A���H�P ��uH�@(H)�H=��'L��L���4�A�Dž��!���A�����uI�V8H�B(H+B H=��>L��L����A��A�����A�����=������A�� ��=�����A����=�����Hc�A�A�����1Ҿ%L���@���L�-	�11��H�$L��A�UH�$H�L$8dH3%(�EH��H[]A\A]A^A_�fDD���p���I�F8H�P �:
������@4�@8���DL���������H�t$H�F(H+F H=������L��跿��A��������1�L�-P�1�K���L��萿�����Hc�A�A���t��D$D9������L��H�l$0�k��L�d$0A�$L���u$�DH�T$0H�BH�D$0�Z������%t��&u܀x#t�H��H��L��H�D$0����L�-��1H����H��A�UH�T$0�:;����%u�A��Pu�A�~@u�1ҾXL��蘓��1��a����1Ҿ$脓��1��\���DA���E1�E1�1ɺL��L����A���H�|$�����H�t$L�&�����1�L��H�$�R�L�-�1H�$�����H����WL���{���1�����Hc�A�A���������P���1�L����1����������AWI��AVAUATUSH��(H�W8dH�%(H�D$1�������D$H�B ��uH��H+rH����+��D$<"t�|$'�UL���}��H���1�d�I��H����L�t$L��1�A�dALJ
L��1��^����D$�D$����m��
@�ƃ���@�u�B�����9T$���CD9�|=A��P�~A��6�&H���1E�T$L��Ic��T$H����I�Ń���2~GA�����u,I�8H�G H�w(H)�H+GH=���H����pA�����1�Hc�L�|$��I�G8��H�P �:
�#�@8Hct$L��H�L��H�P �F��…����A�����uAI�G8H�p H�P(H)�H����]H��H+PH���~H�@(H)�H=���f�L��L������������������=��������� ��=����������=�������Hc�1Ҿ,L��A�D�D$A���1���H�L$dH3%(L����H��([]A\A]A^A_�������I�G8H�P �:
�����@4�@8����fDI�8�T$���A����T$���p���I�G8H�p(H+p H����W���L���T$賺��A����T$�G���H�J�1L��E1��<���DL��耺��A����������I�G8H�p ����@H�R(H)�H��������I�8�C���I�G8H�@ ���fDI�8�'����b���f�1Ҿ+L��E1�������f��D$Hc�L��A�DA���������H���1L��E1�1�L�������D$A���e���1�L������V���H�
��nL���s���H�<�1L��E1��D$A���#����_���ff.�@��AWI��AVAUATUSH����H�W8����D$H�B ��uH��H+rH������D$<"t�|$'��L���
��H�>�1�d�H��H����I�G8E1�E1�dALJH�@ D�0I�G8H�$�@H����sA����-E1�L�����I�w8H�F D�0E��uGA�����u<H�V(H)�H����
H��H+VH���~H�V(H)�H����fD�0I��H�
_�1A��IcĀ<1�fD:t$����9�|3��P�~A��6��H���1�H��Hc�H����H��A��F�t%A��2�,���A���������I�w8H�F H�V(H)�H+FH=����H������L���{���A�������DH��1H��1���DL���H���A�����uvI�w8H�F ����H�<$�'���A������u���I�G8H�P(H+P �w����H�R(H)�H�������I�8���I�G8H�@ ���fDH�<$�ǭ��I�G8H�@ ���f.��DD:t$tQ1Ҿ,L���u����D$A��H��H��[]A\A]A^A_��1Ҿ+L��1��?�����D�DL���[���f�1�L���F��H�ߩ1H��1��H����nL����H���1H��1��u���1�L������f�����AWI��AVAUATU��SH��H�8A���D�g4D�o8��u(H�W H�G(H)�H+WH�����H=�������H�O L�5G��< ��<
�2<<���w8A�<tRf�H��DH���)ȉ��A�<u�W8�<
t8<]ug�{]u
�{>���rH�K�w8�CA�<u���H�ˉW8�<
uȋG4H�ٍP)�fD�
H���G8�G4�<
t��e���L�G I��M)�E����I�H����H���H9���A�< �H�&H����H�_ 1�D��L��L��L�L$L�$莫��L�$L�L$��I��-H���H��tI�D��L���I�8D�g4D�o8A����H�_ �<
��<<��<&��A�����u$H�G(H)�H+_H����0H=��A���t|I�8H�O ��P����%����P�_����D�g4��D�o8H��L��[]A\A]A^A_�=����G8H������H���H��tI���H���I��p�8�u�����H��[]A\A]A^A_�L��1Ҿ>H������I�G8H�X H��[]A\A]A^A_�I�8����A���I�8���U���H�G(H+G H=��A���L���Ӳ��I�8�0���I�8���A��������I�W8H�B(H+B H=�����L��蒲������A��H��tI�D��L���I�8D�o8D�g4�B����{
�e���H�CH�K�G4H�G �G8����W4)ʃ��
H���G8�G4�<
t����H���H��tI�D��L���I��p�8�������������H�_ H��H)݅������I�H�O H�������H���H9��tF���H��L���֨����I��.���H���H���G���I�H����H��[]A\A]A^A_��H��u��$������AWI��AVAUATUSH��XH�8dH�%(H�D$H1�H�G �8<u�x!t#H�D$HdH3%(�p
H��X[]A\A]A^A_Àx-u׀x-u�A��H�pALJH�w �\$�_d�G8�x�\$ ��E���E���-I�W8�1�A�dH�T$1�<
��D�W8I��PҀ�Q�P��������u<	��M���I��A�$C�"�H�D)ʀ�Q�H�A������A�u�<	tԉW8A�$<
��M��I)�t@I�H��t8H���t.H���>J�T-H�BL9���H�<+H��L������+H�����vA��6�I�8L��L�g A�$<
u�G4I�T$�G8A�D$<
��A�����u(H�G(L)�L+gI����
H=���@A����SI�8L�g A�$<-�dA�|$-t%D�W8L��A��M�L$D�W8A�D$���fDA�|$>��H����H��H���PL�����A�����I�8I���G8H�w D�PD�W8�D�z
����H�r�G4L�JH�w �G8�BA�����H�|$膥��A���������I�W8H�B(H+B H=������L���W������1�H���PL���L����K����G4M��PD)�B�
I���G8�G4A�<
t��n���H�Ÿ1N�t2dH�T$H��L���H���I�O8H�T$H�<(H��H�q H������<-��M�udH��1L���H��H����I�G8L��H��H�p ���D��M���M���H�G(H��H+WH)�H���~3H=������I�8�]���A�����I�8H�w �����H�G(H)�H=��}���L���+���I�8H�w �h�����脷��I�8H�w �A���H���1H������A�|$-M�u�#����"����P���v�P�_�L���%���L��1ɾ-H�9�还��H�X�1H���v����W4I��)��B�
I���G8�G4A�<
t������D$ 9GdtL��H���Z����I�8L�g I�D$�G8H�G A�|$tzI�H��tSH���H��tGA��L��u<I�H���oH���H���1H��A��������D$A�����H��u���H���1H��1�L�������Ѿ��&����w����Gd�D$(H����A���uI�W8H�B(H+B H=���H�t$<L�����������=���������
��!ЍQ�����!Є��LI�G8H�P �:
���@8Hct$<L���L$H�H�t$@H�P �:��A���g=��L$�o����A��
��!�A�U�����!Є���I�G8H�P �:
�+�@8Hct$@L���L$,H�H�P H�D$DH��H�D$����A���I�G8�L$,H�D$H�D$ �A����A��
���uA�D$�����A��>�A��-���-�5H�����vA��6�H�EL9�r&H�ɛ1M��L$,H��L����L$,H������H�Ã|$<H�<+���H���D$@HcT$DH�D$�D$<H�D$�T$@H��2vgA���uAI�G8H�P H��H+HH���~H�p(H)�H�����H�P(H+P H����JA�����H�D$HcT$DI�G8H�H �9
���@8H�H�t$L��H�P �S����uXA���uAI�G8H�P H��H+HH���~H�p(H)�H�����H�P(H+P H�����H�t$L�����D��E��A��A����D���A��$���=���fA��$ ��=��SA��$��=���@�+D��H����	L��轓��H��1H���]���L���D����k����@4�@8�����舭��H�H��I���L���������H�|$ ����A����%���I�G8����L��H���	�<���H���1H�����������=��vf�� ��=�vY����=���������T���1�H�H��-L��蒓��� ����+E��u H��H����-L���m������1��A��
��A���„�t	������I�G8�t$(;pdtH����ZL���ؓ��L��� ��I�H�������H���H�������A��L�����I�H����{���H��1�dA�d1�H��H���������L��試���%���菫��H�5�K������@4�@8���������=��v8A�� ��=�v*A����=���������w����@4�@8����1���A��-�������-�����1ҾPL���L$,��z���L$,����1�H����l����+���H�|$ ���A����r���I�G8�T������ATUH��S���H��H��tm��ƒ�߀�X���S�у�߀�Muy�K�΃��@��Luj<x�s@�ǀ�m��@������l��@����H���@H������H��[]A\�E1�1�H�$�H��@�w�����:H������H��t�H��H��E1�E1�H�����a���H��[]A\�f�@��t;L�%$�0H�5���I��I�4$H���w���H�������t��[���fD1Ҿ@H���qy���A���ff.����ATUS���H����uH�W8H�B(H+B H=��#����H�C8H�@ �8&��H���=���H�����I��H����H�C8H�@ �8;�HH��������6�SH�H���H����H�@(H����H�{L��Ѓ{H���������tqH�����E\�������ƒ�u���4��t��������w6L��H�Ÿ�H���m����H�1��DH������@1�H��[]A\�fD�+�������fD�{�����t̓{0t�����u}�����usL��H�޵�H�����1�1�1�H��螵��1�ǃ��H��1�1Ҿ�w��H��[]A\��L���8���H��H���N�������L��H�k��H���y�����P������H�H���s���H���H���c���H�{L����U����H��u.��6��L��賶���{H���J���H����������F������f�L��H����H���ٍ�����@�����t��p���H�}PH���c����<藖��H���P���L��H����&H��臍���4���H;[�R���L��H���m���H�����L��H�;��H���N������f�AWAVAUATUSH��H��hH�T$ H�W8H�t$(����L$dH�%(H�D$X1�H�B ��uH�J(H)�H������D�r4D�j8��"t	��'��H�J(H�hA��ǃD�8H9����t$�����@�p�@��_��A8���<<��I��<&��fDH��A��H9��D���E��uH�B(H+B H=��������f�E1�H�|$XdH3<%(L����H��h[]A\A]A^A_�����L�b��uH��H)�H������D$���#�EH9��'���I���fDH�JH��H�L$藟������j���H�S8H�L$H�BH9�t	H)�I�H�H��H�J(L)�H=���~
��6�x
H9����E<��D8���<<@��<&@��@��t�������H��L)�H=����l��6�"
�EA8��RH��H�D$(H��A��L)�H����	�0H�D$ H�j D�r4D�j8H�����������f.�H9����EA8��j< ��H�&H���I��A��<
u
A��A�H��H9�r=�����uH�B(H+B H=���������H�J(H9��LD�ED8���< ���p�@��_��A8���<<��I��<&��D�t$M���DD���E��uH�B(H+B H=��P����s���L��H��H�J(L)�H=���~
��6��H9����E�p�@��_�wD8��n<<�f<&�^A��L�e< ��I9��e���L���I������������H�JH��H�L$����������H�S8H�L$H�BH9������H)�H�J(H�H9������I��H����H��L)�H=���~
��6��D8}�����H�D$ H��t�H�B ��D$<"t�|$'�YǃH���o���H���1�d�I��H���}H�D$TH��H��H�D$�`���H�S8�|$H�J @:9��|$A�dE1�1�M�����|$H��@�|$ �$@��
@�ǃ�@��@�u�p����B��<�9�����H�����v
��6�b	��&�d�� wH�&H����|$TI�<,���H��H�E
L9��9O�t-
M9��LH��1L��L��H���4H�S8M��I��E1�H�B �8
���B8HcL$TH�H�B �����uH�S8H�B(H+B H=���H�t$H������H�S8�|$H�J @89tA=������������������� ��������������������������D�t$�KH���p	A�|,� L�m�t�1DC�|,� I�U���I��M��u�L����H���(���H�S8H�B �@���1Ҿ'H��E1���n������H������������H�S8H�BH�J(I9�����L)�H����1�H���ξ�����f�H��L)�H=�����������f��} �X���L��M��D�t$H���H�����|$ ��H�B 1�8
�,����B4�B8� ���D�y#H���+�Ƶ��I��H���H��H���M����Ic��H�A�\H����D�sE���vI��6���A�\�D$0I�GH�D$8tI�wPH��tE���E����Lc|$0A�,&H�l$@I�D/I�
D�t$LI��H��H��L��I���/N�tmM9��ZH�#�1L��H��M���H���?H��M9�r�H�l$@�|$0L��I��D�t$LH��H�E��~5��1�I�4,L�D$8���	fDH��A��TH�PH9�u�Hc�H�D
H�hA�;����DM��D�t$�}� H��uL9�w��L9�v
H���~� t�H9�����EA8��< ��H��L)�H=�����������f�A��Dt$H��A��(���fDH�BH��H�D$�?����������H�S8H�D$H�jH9������H)�I�L��~���fDI�&�N@�������H��H�J(L)�H=���~
��6��H9������ED8��6< ����I������A��<
u
A��A�H��H9�r�D���E��u�H�B(H+B H=��q���H�JH��H�t$H�L$�S�������&���H�S8H�L$I�&H�t$H�BH9��6���H)�I�H�H��%���H��������������A�ƃ�&�]������H�E
L9���K�D-
H�D$0L9���H��H�}�1L��I��H����I�4/D��1�M���[���E1�L�l$0H�H��x���f�H��L)�H=���������������I�wPE1�1�E1��H���������H�D$0H����E1�����@E1�H�S8���@H�D$ H��t�L���Ѝ��H�S8I���%���@���I���H�H��q����H�ͨ�(H��E1�聁����@�|$TI�<,up� H��H�E
D�t$0I��H��H��L��I���0@O�|-
M9��jH�3�1L��H��M���H���OH��L9�w�L��L��I��D�t$0H��H�P8����� 蓙��H�H��I�,I���H�S8H�R ���<��8T$����t'=��L��
�����„�t��	���dH���(H��腀��I������uH�D$(H�����D�(��L�|$0I)��>�<
tO�H��I9�s$K�l-
I9�w?H�0�1H��L��H��t+I��I��L��A�/���,�P�L�uI�,��w�� �1�H��L�t$0�9���H�҆1L��L������L��I��H��1�H���
���H���1L�����H�E
L9�v$O�t-
M9�r�H���1L��L��H��t�M��I��I�GPD�sI�,H�U�E��u<&�q�H��E1����D�sH�E
E��tyL9�v,O�t-
M9��k���H�+�1L��L��H���S���M��I��A�,&E1�H���2���H�8��(H����~���#���f.�I��H9��K���H���d���L9�v,O�|-
M9���H���1L��L��H������M��I��A�,&A�D,#H�EA�D,3A�D,8H��A�;���K�,������������������� ����������-=�������H����	H���!~�����1Ҿ&H���-f�����L�l$0M�����H���C����i����&A�#�Q���H�ʄ1H�|$0E1������������L��E1��������1�E1�E1�H����H��H�D$@�K��H�������?���H��H�FH+D$@H=���?HG��A���H��t5H�׾<H�T$@肅��H�T$@H��tA���H��1H�����I�GP�����p�I�� @��_�l������$���@��H��tH�8t1�1�1����D1��ff.�f���AWI��AVAUATUSH��HH�8dH�%(H�D$81�H�G �8<u�x!t(H�D$8dH3%(��H��H[]A\A]A^A_�D�x[uҀxCùxDuƀxAu��xTu��xAu��x[u�H�P	�G8	H�W �x	�JALJH�t$,L���x�����=����
������!ЍQ�����!Є��nI�G8H�P �:
��@8Hct$,L���$H�H�t$0H�P �����$=�A������
��A����!�A�U�����!Є��	I�G8H�P �:
���@8Hct$0L���L$1�1�A�dH�H�P H�D$4H��H�D$衳���dA��H���1�I�W8�L$H��H�$H�T$�9�z�A��@��A��
��@�u
A�F����U��]@��A��]��@�u
A��>�u�CD9�|?A�����~A��6�+H��1E�H�<$�L$Ic��L$H����H�$Hc�H<$�|$,�)����D$0���D$,HcD$4�D$0��2~LA�����u,I�w8H�F H�N(H)�H+FH=��#H�����A����HcD$41�I�O8H�q �>
���A8H�H�t$L��H�A �F���D��E��A��A��������A�����=�����A�� ��=�����A����=������H�$Hc�L���?H�,��H�$ALJH���x��H�B�1H���������ّ��������A4�A8�8���H�|$�X���A��������I�G8H�H(H+H H�������L���)������������=����� ��=������=�����������������=����A�� ��=���A����=�����������1Ҿ?L���}`��ALJ����H�$Hc��I�G8ALJH�P �:
���@8HcL$4H�H�P I�H��t&A��LuH���H����I���H�4$��H��~1H�<$��N������|�������@4�@8��1�����@4�@8�@����ˏ��1�� ���H�}~1H�<$�1�L���ͯ����L��1ɾ?H�Ӟ�v��H�K~1H�<$������@4�@8����H���H���H���I���H�4$���7���ff.�@��AWAVAUI���
ATUSH��H�w~1�H��H���I�E8H�@ ��PЀ�	���EL������I�E8H�@ �8.���E.L��A�
A����I�E8H�@ D� A�D$�<	v2�Yf.��CA9�H�a{1E�H��Ic��H��taH��H��D�dL��D�{艤��I�E8H�@ D� A�D$�<	v�Mc�B�D=�f�H��|1H��1�H��H��[]A\A]A^A_�H��|1H��1�1�L���(�����fD1�L��������@��AWAVAUI��ATUSH��H�G8H�@ ��؃�߃�A<�H�}1�
�I��H�����L��A�
I��解��I�E8H�@ �(@���Hc˃�߃�A<v7�E�<2v A�L��H��[]A\A]A^A_�f�I��s�f.���A9�H��y1E�L��Ic�H����I��A�,L������I�U8H�B �(@��u.A�����u#H�J(H��H+rH)�H���~?H���~�(H���?����I�}8�~��A�����u I�U8H�B H�J(H)�H����L��茇��I�E8H�@ �f�L��1�H�D$聬��H�{1L���H�D$H��[]A\A]A^A_�1ҾO�%\��H��1�[]A\A]A^A_�1�L���:���1������USH��H���η��H�{8H�G �8e�-�xn�#�xc��xo��xd��xi���xn���xg��H�P�G8H�W �x��H���Y���H�C8H�@ �8=��H��萡��H���8���H�C8H�@ �<"�/<'��1Ҿ!H���.[����6 tu1�H��y1H��1��eH�5*oH���$������RH�C8H�xPH��t
H��y1�H�C8H�hPH���ւ��H���vH��H���{����yǃ� @1�H��H��[]þ��*�������1ҾKH��1��Z����H��誠��H��貒��H��H�C8H�@ �8'ulH��芠����6 �*���H��t�H�5dnH���Y�����uaH�{(H����H��x1�H�k(�h���H���>���H���F���H��H�C8H�@ �8"t�1Ҿ"H����Y��H��x1H��1��&���H�5�mH�������t�H�5�mH���ҕ���������H�{(H���u����y���H�C8H�H���i���H�x�^���H��H�3��Q�Iq��H�{(H���=����/���H��H���H��1� �np�����f���H�W8H�B �8<�[�x?�Q�xx�G�xm�=�xl�3�H�� �&H�&H���H�HATUSH��H�J �B8�x�%��H��ǃ�}�������H���m���I��H���H���Y������RH�C8H��L�`X衷������� �~H��u���?H������H�{8H�W �<?��<>��1Ҿ9H���X��H�K8H�A ���>t'����H����tfDH�A �H����t��>u�H��������[]A\�f�1Ҿ8�W��@H�*��AH���|o���������H����������H�=��2���I������z>�>���H�B�G8H�G �z�v������Ќ���g���H��1Ҿ9�,W��H���T����K���H����AH����n�����H���eH����n�����ff.�f���ATUSH��dH�%(H�D$1�H�G8H�@ �8%t'H�D$dH3%(�oH��[]A\�f.�H��踜��H���p���H��H���T�_���D� E����H�C8H�@ �8;��H���z���H�H���H����H���H����H�{H��Ѓ��I���V���H�����@\������E1�H��H��H�߾�Kz���fD1ҾH���U������@����L� 諟��H��H�5k�H�81�A���1���@��������{0t D���E����D���E���uH��H����H���vl��1�1�1�H���(���ǃ��r���f�H�͔�H����l���P����1�1�L��H��������2���A�|$\u!��4u�K��u���������L��H���5���H��H��H���ǣ�����A�|$\�[��������uH�S8H�B(H+B H=��$��������H�S8H�B H�R(H)��H������<�����x?������xx���xm����xl�����@< ������H��	H�������H��萏�����D���E1�H��H��H����E��t'H���t��^��ǃ��c���f��x����H���!��������L$�PH�|$��T$�P�T$�@�D$�q�����uH�C8H�@ �����H���e~��������H��薪�����?���ff.�@��AVAUATUH��S�G@����������H�}81�H�W ���H�ʍH���vE< tA<
uU�G81������H�J����B��u�H�O ���2���H�}8H�O ��D<
u��G4�G8��H�W ��[]A\A]A^�f����`���I�&���I�&��A�Ń���1�A	��7f.�<%u�E��t��B< wI��r�H���!����1���������H�E8H�P �< w�I��sH��������@���T����}@�J���H��薄���@��ATA��UH��SH��H�����H�8��uH�G H��H+WH�����H�EH�G ���S����P���xU���xB���xL���xIu~�xCuxH�P�G8H�W �x�RH��������)H���<���H�EH���<H��E����辬������H�W}�AH���h���D�xYtB1�H��[]A\��H�O(H)�H�������H�{8�r��H�{8����f.��xSu��xTu��xEu��xMu�H�P�G8H�W �x��H����������f�H���h���H���o���1ҾFH��H�D$�P��H�D$�Q�����۫�����A���H�C8H�@ �<'t�<"t��)���H�<|�AH���g��������H������1ҾGH���O�����H��{�AH���kg���V����������5������AWI��AVAUATUSH��8H�8dH�%(H�D$(1�H�G �8<t&H�D$(dH3%(�+H��8[]A\A]A^A_��x?u�A���wdH�PALJH�W �G8�x�t$�\$��E���E��uI�G8H�P H��H+HH����7L��蟦��H�D$H���AI�8H�G �8?��H��m1�d�I��H���.L���N������L�t$$L��1�A�dL��1�蜞����I�G8H�D$�����m������
���u�B�������?uI�G8H�@ �x>�H�CL9�r&H��j1M�T$L��L���T$H����I����2~aE���E��u.I�w8H�F H�N(H)�H+FH=���H�����f�A����cH�����vA��6��1�|$$I�|��I�G8H��H�P �:
��@8HcL$$L��L��H�H�P �w����…�����A�����u2I�O8H�A H�Q(H)�H+AH=��XH����&fDL��L���%����������������=��������� ��=����������=�������H������WA��6�IH�L$H�H��/L���c��H�)k1L���D$A������@���|��H�H�I�G8H�P �:
����@4�@8����H�|$�T$�"n��A����T$���_���I�G8H�H(H+H H����F���L���T$��v���T$�1����H�|$��m��A���������I�G8H�P(H+P H��������L���v������H�@(H)�H=������I�8�m������H�L$H�Dx�AL���ob������f.�A�DH�L$�/L��H���Ab��H��i1L��A�����������f����v���������x>�F����t$9wdtL��H�{w�Z�b��I�8H�G H�P�G8H�W �x��I�H��t�E��LE��u�H���H���r���I�1�H�t$���`���D1Ҿ.L���QJ���G���@1�L���n����D$A����1�L���T������H��h1L������������d����
z��H�����vA��6�j���A�DI�8�D$9GdtL��H�~v�Z�a��I�8H�G �G8H�PH�W �xtL�|$vQH�dh1I�H���~���A��L���o���H���H���_���I�L��H�t$���L�������~���H�|$H�5K��Y�����t���s������w�A�EL��< w��H��	H��sH���< ���H�5�>
H���J��������SH�C�� w#��H��	H���'���H����� ����=����H�P�@< w��H��	H��s.H���< v�<'t<"uH�zH���H�Z8�tIH���
��u�E1�L��H�r�L���]�l������H���)����3����H���d������H)����l����H��H��	�< v4E1�L��H��L���]�Zl��H��f1H���F���H���<���H��sH��비�u�H������I���H���xk��H�qf1H��I���������AUATUSH��H��H�8dH�%(H�D$1�H�G �8<t"H�D$dH3%(��H��[]A\A]��x!u؀xNuҀxOùxTuƀxAu��xTu��xIu��xOu��x	Nu����D�odu$H��H+WH���~H�O(H)�H����aH�G �G8
H�P
H�W �x
�rH��藢�����IH��藠��H��H�����:H���f��H��tE1�E1�H���H��sH���P��H���D�������1�H��H��菅��H��I���$���H�C8H�P �:>��D9hdtH��s�ZH���]��H���A���H�H��t"��LuH�@8H��tH�{L��H�$H���M��tH��d1L��H�<$H���g���H��d1��Y�����u��H�s�AH���]���;���1Ҿ0H���E���'���1Ҿ1H���zE���H�{8�g��H�{8���H�wr�AH���2]���������z������ff.���AWAVAUATUSH��H��(H�8dH�%(H�D$1�H�D$H�D$H�G �8<t,H�D$dH3%(�]H��([]A\A]A^A_�f��x!u΀xEuȀxNu€xTu��xIu��xTu��xYu����D�odu$H��H+WH���~H�O(H)�H����sH�G �G8H�PH�W �x�#H���#�������H�C8E1�H�@ �8%��H������I��H���=�:H���&d��H��tE1�E1�L���H��qH���tN��H��輟������ǃ
H�C8H�@ �E���@<"�C<'�;H�t$�H���Ԃ��H��H���H���@k��I��H����I�~@��1Ҿ\H���ZC��L���rl�������E1�H������H�C8H�P �:>�H��L��%H��q�BZ��H���zm��H�|$t6H�E���PH��t%H���H��tH�{L���H��tH�xH�M��tH��a1L���H��tH�a1H��H�|$H��t	H�ia1�H�|$H�������H�Ra1�����r��<"��<'��H�t$�H��蔁��H��H���CH���j��I��H���I�~@t1Ҿ\H���B��L���6k��H�C8H�@ �8>t'H���������H�{8H�G �8Nu
�xD�H�H��t+��Lu"H�@0H��tH�{E1�I��H�L$�L��Ѓ{tVH�CH����H�xhH�5�o謞����t5H�{�L�sI�~P�TH�L$E1�I��L��H���Ø������������H�o�AH���
Y��������v������D9hdtH��o�ZH����X��H���'������H�{8�	c��H�{8�{����xA���xT����xA���H�P�G8H�W �x��H��脜����taH��舚��H�I��H���6�����L�)���L�JPM������H�{H��H�T$L��A������H��n�AH���$X���F���H�р�AH���X��뉾��u���n���1�1�H�5��L�����I�FP���H�=Wn�bk��H�CH����ǀ�@�Y���H�&��DH���W������H�T$H�D$H�PH����H��tH�@(H��tH�{L���H�������H9[�����L��H���a�����H��A�莅��H���6������'���H���AH���W������H�5�H���V����5���H��H���[H���:I�����H�|$���1ҾTH����>������H�t$H���8���I��H�H��t(��LuH�@0H��tH�{M��E1�1ɺL���H�CH��t[H�xhH�5�l講����t*H�{t@H�kH�}PtsM��E1�1ɺL��H���Ε��1탻��
���M���������H�=�l�i��H�CH����ǀ�@�H�Ml�AH����U���/���1�1�H�5�~H���Ѐ��H�EP�q���H�H���������L�t���H�@0H���g���H�{E1�I��H�L$�L����I���H��H�
~�[H���G���5���H�|$tm�������1��&���H�t$H��辅��I��H��t�H�H��t(��LuH�@0H��tH�{M��E1�1ɺL���1탻������K���1ҾTH���=��낐��ATA�UH��SH��H�8H�H�G �8#t(H����c��ǃH����H�ED��[]A\Ð�P��R����IuF�xMu��xPu��xLu��xIu��xEu��xDu�H�P�G8A�H�W �xu��D��F�w����xI�m����xX�c����xE�Y����xD�O���H�P�G8H�W �x��H��A�������#���H�k�AH����S���
���f����H��H�k�S��D��[]A\��xE�����xQ�����xU�����xI������xR������xE������xD�����H�P	�G8	A�H�W �x	���������p���������p���/�����AWAVAUATI��USH��H�W8H�B �8(�n������	E1�E1�L�=�j�L��� ���L���Ȗ��L���Д��H��H���L��M��u��H�H����H�sH���ȗ����t�E1��L��H��L���E��I��$�H���~_����uH�CY1H��L���F���I�D$8H�@ �<|�Z���<)��L��L���o���H��H��[]A\A]A^A_�DH���_��H��H��tM��tI�.I���I��I���H��H+JH������H�R(H)�H�������H�8��[�����L��H�#i�D�Q��L���a����m���1Ҿ01��9���Z���L���A����M���1Ҿ1L��1��{9��L���#����/���ff.���AWAVAUATI��USH��H�W8H�B �8(��������+E1�E1�L�=�h�L���@��L�����L����_��H��H���)L��M��u��H�H����H�sH�������t�E1��L��H��L����C��I��$�H���]����uH�cW1H��L���f���I�D$8H�@ �<|�Z���<)��1Ҿ3L���[8���fDH����]��I��$�H��H���5]����uH��V1H��H����M��tI�I���~���I��I���s���H��H+JH��������H�R(H)�H��������H�8��Y�����1ҾCL���7��H��L��[]A\A]A^A_�L����}����1Ҿ2E1��7����L��E1��4�����f���UH��SH��H��H�8H�G �8Nu�xOt5H�����H��H�E�	H��tH��[]�DH��1�[]���xTuŀxAu��xTu��xIu��xOu��xNu�H�P�G8H�W �xt$H���ʒ����t$H��螀��H�EH��t��
늾��Tl����H��f�AH�߉D$�N���D$�]������SH��H��H�8���H�G ��uH��H+WH�������C�:��Iu�xD�{H��H��[����fD��Etc��Nu�xMu݀xTu׀xO���xOuǀxKu��xEu��xNu�H�P�G8�H�W �x����sk���fD�xN�{����xT�q����xI���xI�]����xT�S����xI�I����xE�?����xS�5���H�P�G8�H�W �x���{����H�W(H)�H�������H�{8H�t$�^W��H�{8H�t$H�G ���@�xD�����xA������xT������xA�����H�P�G8�H�W �x�����H����[�D�xR�W8t7��H�HH�O �W8�xt���@����1j�����xEt2�xEu��xFu���H�H�H�O �W8�xu��{�����xFuȀxSuƒ�H�H�H�O �W8�x�R����E���f��xK�����xE������xN���xS���H�P�G8�H�W �x���������xT�����xY����H�P�G8�H�W �x�������ff.����AWI��AVAUATUSH��XH�8dH�%(H�D$H1�H�G �8<t&H�D$HdH3%(��H��X[]A\A]A^A_��x!uԀxAu΀xTuȀxTu€xLu��xIu��xSu��xTu��_dH�P	�G8	H�W �x	�\$��L���ӎ�����qL���ӌ��I��H���DL��诎��A���I�G8uH�P(H+P H�����H�\$8H�\$ H�\$@H�\$(H�H H�€9>��A�������A���H�D$@uH�@(H)�H=��H�D$8L���3���H��H����A���uI�W8H�B(H+B H=���L��������\H�t$ L���q���D$���A���uI�W8H�B(H+B H=���L��袍������H�t$(L���=���A�ą����|$tH�|$@H��tH���9D��A���I�G8uH�P(H+P H����;H�@ �8>tL���5������3I�H�|$8H����A��L��H�@@H����L��RE��H��WI�L�L$P�L$��Y^A���tFH�D$@H�D$H��tA��A����I��(�I��(H��L���>U��H����H�|$@H��t	H�tO1�A���I�G8�����H�P(H+P H������L���[��I�G8�����u`��H���W��������M���L���j[����L���][���#���L���P[���a���L���C[��I�G8���H��`�AL����G��H�|$@H��t	H��N1�H�|$8H��t蔈��I�W8H�B �8>�e����D$9BdtH��`�ZL���G��L����u���;���H�`�AL���uG���H�Cp�DL���_G������H��_�AL���FG���v�������d���W���H��_�DL���G���U���L��H��_�A�G��H�|$8H���.����.���L���*Z��I�G8�U���I��(H��toH��L���jS��H��t_A����"�����HcL$I��(H��L����������I����
�uV��I��(H������1�L���~������I�� ��H�D$4L��H��H�D$�T��I��H����I�����H���V��I����T$4L��I���oV��I��I�� L��L���R��H��H����@9E|Hk�
H��H�H�4�H��J1�H��H���W�`I�� E1�H��L��L����O�����CH�t$H����S��I�����I��H����H����U��I����T$4H��I���U��I��kEH�H�D�L�hL�l$L�`L����f��I���L��‰D$4�U���UHct$4��Hc�H�L�H�AH�A���H�A t>H��mH�A(���U�"���H��J1���H��H��tg�H��"H�E����H�A(��H���
U��I���K���I�����L����T��I������I����
�jT��I�� H������1�L���|�����H�DK1H����ff.�f���AWAVAUATA��USH��H��H�8���H�G ��uH�W(H)�H����
�8#���xP���xC���xD���xA���xT���xA��H�P�G8H�W �x�#H��蟇�������H�S8H�B u-H��H+JH���~H�J(H)�H�����f��<)tvH�{<(��1�<|��H���{v��1Ҿ4H���L+��1���1ҾEH��1��/+��H��H��[]A\A]A^A_�DH���0V��H�{8H�G ���D9bdtH�N\�ZH����B��H���q��H�{�1��!l��H��H���y���H�C8H�@ �8*u��EH����p���u������*`�������1���k��H��H���1���H�{8I��E1�H�G ����|�������H���wp��H�{�1�M�����~k��H�{I��H���O�L���ak��I�EH��tL�h M�oM�} M��H���х��H���ك��I��H����H��赅�����H�{8��H�G �W���H�W(H)�H����C���H����T��H�{8H�G �.���fD��j��H��H����L�xI�G I���v�����)���x*��M��t"H�{�L���j��I�GH��tL�x H�{8�ED9gdtH��H�vZ�Z��@��H�{8H�G �G8H�PH�W �x�������|^�����H��H�}Z�D�@��H�{H��1���s�����H�{�T���H�{8��J��H�S8H�B �!���H�{L���s���a���AWI��AVA��AUATUSH���t$�S���E���I�G8E��H�P uH�H(H)�H������:(��L���*���I��H���DI��H���mi��I��H����I�W8E���H�B E��uH�R(H)�H������<?�v<*�F<+��A�D$A�����uI�W8H�B(H+B H=���L���z���A���I�G8��H�P u'H��H+HH���~H�H(H)�H����+M��1�1�A���;@��|�~��t	��|�-L���am��I�1���qh��H���VH����I�D$L�` I��H�XH�C A�����uI�W8H�B(H+B H=���L��谂��A���I�G8��H�P uH�H(H)�H����q�:(�L��舀��H���I��H����g��H��H����I�G8H�@ �<?�g<*�w<+���CL��� ���A�����I�G8H�P uH�H(H)�H����	@���*@��)��A�����@��,�������t	��,��L���l��I�1���g��H�������I�H��t	L9��%L����p��E1�H��L��[]A\A]A^A_��XdL���k��L���]�����D��L���0H��H���tL���<��������L�hI��I�E I���B���DL���PP��I�G8H�P �z���L���8P���;���L���(P��I�G8H�P ����CL���k�����@�CL���k�����@�CL����j���l���@�XdL����j��L���}���A�V��L���OI��H������L���[���E���E���������fDH��t	I�\$L�c �t$9pd��L���mj��I�G8H�@ �<?��<*�L<+�u���A�E������1�����A�E�A�<$�}I�D$H��t�p�V���w�@�M�d$M���NA�D$����w�A�D$��f�L���N��I�G8H�P �@���H��T�ZL���T;���*����A�D$L���i�����f�L���hN��I�G8H�@ �R���I�8�OE��I�G8H�P ����H��T�BL���9��H��tL9�tI�H���n���I�L��E1��n���7���@L����M���)���1Ҿ7L���"��H��tL9�tI�H����m��I�L���m�����f�A�D$L���h�����f.�1Ҿ6L���a"��I�L��E1��rm�����DA�D$L���gh���m���f�A�EL������������A�E�Ah���g���H��S�BL���x8��H���;����G���1Ҿ6L����!���1���A�EL���8u[H�PH��t�r�N���w�BH�@H��t7�p�V���w��@��H���l������fD��tA�E@L���g�����1�L��E1��~q�����f����~8��6t��~'H���Ѿ7H�%S�7��1�H���f��k���ff.�����R���f���AUATUSH��H��H�G8D�hdH�@ H��8(��I����f�������ta�����t?H���n|��H�C8H�@ �8#u�xPt[D��H�߽����I��H���;|��M�,$H����[]A\A]�f.�H�S8H�B(H+B H=��H���DK���f��xCu��xDu��xAu��xTu��xAu�D��H�߽�RR��I���DH��H�>R�6������6���s���f.���AUATUSH��H��H�8dH�%(H�D$1�H�$H�G �8<�V�x!�L�xE�B�xL�8�xE�.�xM�$�xE��xN��xT�H�P	�G8	D�gdH�W �x	��H����z������H����x��H��H����H����z������H�{8H�W �<EtI<A���zNuK�zYuEH�B�G8A�H�G �z�����/T���f.��zMu
�zP��H��Q�6H��A������F6��������S���5����H�)QH�߾A�6��H�{8H�W �<E�P�����<(�PH��H��H���J��A��H����y��H�C8H�P �:>tJ�I1�H������H�4$H��t	H�{��h��H�L$dH3%(D���oH��[]A\A]��D9`d�~H����c��H�H�4$H��tJ��L��u@H�@HH��t7H��tH�F H��H�{H��D���H�4$H��t�H�~ �v����h���f�H���]����a���f�A������T���DH��P�ZH����4���i�����zT�v����zY�l���H�B�G8A�H�G �z�����"���<%�@���������2����{@�(���H��O�H��A������n4�����H�O�AH��A������O4�����H�O�DH��A������04���z����VL��fD��SH�W8H�����H�B ��uH�R(H)�H���~6�8<t���t
ǃ[�@�P��!t��?u�H����y�����F��H�C8H�@ 뻐�P��AtGv��Et ��Nu�H���3i��렐��-u�H���3m��됐�@<Lt%<Nu�H���\Q���v����H���V���b���H���;t���U���fDAWAVAUI��ATU1�SH��H�D$H�$@A�����I�}8L� �_dA�<<��<]uH��tA�]���L�g@L�wL���;��I�E89Xd��H��tAL���v��A�����u�I�U8H�B(H+B H=��s���L����E��A����k���H�^91H�<$H�H��[]A\A]A^A_���A�!�m���A�[�b���I�G�G8H�G A���L���v��I�}8H�G �8I�j�P��N�|�xC�S�xL�I�xU�?�xD�5�xE�+H�P�G8H�W �x�tL���u��I�E8H�P �:[�+9XdtH�pM�ZL���1��L����_��H�D$H9�w3H���6H�4�H�H�D$H�Q61H�<$�H����H�$H�$��H���s���fDM)�H�P H+PM�HP@L9��R���L��1Ҿ<���L���C���|����A�>�
���H�$H��9�tL��H��L�Z��0��I�}8L� I�G�G8H�G A�������KN������fD���6N���^�����G���xN���xO���xR���xE��H�P�G8H�W �x��L���2t��I�E8H�P �:[��9XdtH��K�ZL���0��L���P^��A���E��LE����uADžLI�}8E1�ADžH�W ���<]u�z]tVL���]��I�}8H�W ���to<<uۀz!u߀z[u�H�B�G8H�G �z��I��u�1�L���g�����@�z>u�M��t%H�r�G8H�w �B��tqI��H��u�fDE��LE���:��9_dtH��JL��Z�/��I�}8H�W H�B�G8H�G �z�'������L���������vL��I�}8H�w ��u���fD���VL���g����L��1Ҿ_���L���A������@���&L�����L��1ҾS���L����@�����1Ҿ;L���f����������K���}���H�D$�����ff.�@��ATUSH��H��H�8dH�%(H�D$1�H�$H�G �G8	H�P	H�W �x	��H����q��H����o��H��H����H��XH���q��H��H����T��I��H�$M����ǃ�L��`H��H��h�`q��H�H��t"H�H��t��L��uH�{L��H�$H��Ѓ��tH�C8H�@ �<[t<>u*H���b[��H�D$dH3%(ukH��[]A\�f�1Ҿ=H�����������~J�����f�H���7����<���f�H��H�DH���,�������D��f���AUATI��USH��H�����H���uH�W8H�B(H+B H=��#H���[n��H��H���GH���7p��H�C8H�@ �8=��H���nZ��H���p��H���N;��ǃI�ŋ����uWH�5UH���(q����uM�,$H��H��[]A\A]�f�H�5s
L���q������H��p���f.�H�5�TH����p����t�L����r����u�E1�L��H��GH�߾b�7���k���f�H��H�߾)1�H��G�*��H��H��[]A\A]�f��k>������fDH�5HTL���Qp����t5H��p�����H��S�DH����*������E1�L��H�{GH�߾f�N7������f���AWAVAUATUSH��H��8H�8dH�%(H�D$(1�H�D$H�G �8<�+���H�PL����G8H�W �x�L$�2H���Rl��H�D$H���vH���,n��D���H�C8E��H�P ��H�t$ �D$H�t$f��
��>�4��/����
@�ǀ�@��@�u��	���������xdH�t$H+PHP@�|$H��I���P��H��H���|H�|$ ��H�S8���H�B ��uH�R(H)�H�������>����/u
�x>��H���?m������H�C8H�P H�p@H��H+HH�L9��8���H���~�����������H�H(H)�H������H���<��H�C8H�P �
��>����f�H�H��t0H�@pH��t'��L��u�T$H�{����L��H�t$��M��t=�D$��~4��I�^��H��I�l�H�;H��t	H�A/1�H��H9�u�H�\$(dH3%(H�D$��H��8[]A\A]A^A_�fDH�|$ H�������H��.1��t���@�z>�"����)���f��t$9pd�����H�������H�|$ �����H��D�H���'�����D�|$�����D$M������H��M�d�DI��M9�tI�?H���l����t�H��H��1��s��H�<.1H�|$ ����H�qP�AH���,'�����H�H(H)�H�������H�{8�C1��H�C8���H�P ���M�����D$�L$��9�|6�H��+1L��Hc�L$H���H����t$H���I�Ɖ��HcT$H��I�,�H��H�T$ I�D���t$I�TI�D����fDH���9��H�C8H�@ ���H�H(H)�H���� ���H���l9��H�C8H�P ��������C�����f�H��+1���I��H��tbH���ǃ��D$�*���1�H�t$���x���H��B�DH���%���_���H��1���]��H�|$ H�����������H��1���]��H�|$ �D$H���^��������=��ff.�AVAUATUH��SH��H��H�8D���dH�%(H�D$1�H�G E��uH�W(H)�H�����8<u�x/t31ҾJH���
��H�D$dH3%(�>H��[]A\A]A^�H�P�G8H�W �x��L�mL�� M����L�C8���I�x ��uI�@(H)�H=������t5A�u@8���L��H���@�1@8���H���H����u�H��H���r��I��L9��������uH�S8H�B(H+B H=���������H����g��H�{8H�W �<
@��<��@��t�H���w<>��1ҾIH������I��t-M��D�E�LH��L�
�LH�� H��@ME��B$��H�H��t+H���H��t��L��uH�MH�� H�{H�U�Ћ�x��~2��H���Hc�xH�<�H�L:�HD�H��p�������U������H��H����u$������H���(6��H�{8H�G �������~@��L�mL�� M������L��H���l��I������H��D@���R���<:�J����BH�J���:���A�6@8���L���D�2@8��|H���H����u�����L;,$A�ME�����DH�B�G8H�G �z�]������?���N���H���85�����H���(5��L�C8I�x �b���@�������<>�����H�&@H���v���H��I�H A�H)�A@8�t�����9��D��H�O81�H�Q �:v���ze���zr���zs���zi���zo���zn��SH�BH��H��H�A �A8�zt|H���e��H�C8H�@ �8=uyH���VO��H���d��H�C8H�@ �<"�|<'ueH���/O��H����9��H�S8H�D$H�R �:'tx1Ҿ"H������H�D$H��[�þ�H���J>���r���1ҾKH�����1���1Ҿ!H�����1��H���N��H���_9��H�S8H�D$H�R �:"u�H���N��H�D$�ff.�AWAVAUI��ATUSH��H�8H�t$HH�T$PdH�%(H�D$x1�H�G H�D$�8<��A���H�PH��M���E����G8H�W �x�t$��	E���H��H+oE���	�GdE���H�t$hL��D$D��m��H�D$H����I�U8L��H�B H+B)��^c��E���I�U8E��H�J ���1@��>��H�D$p�D$<1�H�D$H�D$dH�D$ H�D$`�D$@�D$8H�D$(�&@H�L$pH�T$I��H���i������L����b��I�E8H�@ �8=�L���
M��L���b��H�T$ H�t$(L��諐��H�ŋD$d���5ADžI���H9D$p��H���6�t$`���rI���H�T$pL9��H9��RD�KM��t	�S;T$|2D��L��D�L$0�������A���M����SD�L$0�D$I��HcL$8Hcҋt$dI�֍y�4�H��M�$�H�D$pM�DI�DI�E8I�L���I�Ic�H�)HcL$`�|$8�D$<H�H�*1�f�E���E��uH�P(H+P H�����A����>H�H ���>�.��/u
�y>�L���*a�����+I�E8H�H H��H��H+pHp@L9��E���E��uH�r(H)�H����;�1@��>��@��/��@��
@��@����@�u
��	@����A������BdI��E����D$`����L+z�D$dLz@H�l$h�$E��uH�B(H)�H=���H�t$L���j��I��H����I��(H���7���L���'`��I�E8H�@ �8=�VL���^J��L���`��H�T$ 1�L��H�t$(����H���^���I����T$`H���7,��I��M9���yI9����M9���
�|$`��M��t
A�:�9E1�E1�L���H�>:L���&���T$d��t>H�W"1H��1�I�E8����H����ADžH�D$pI9�����I�E8�����y>�k���H�Ћt$D9pd��D�L$8E��tC�t$8I�V�N�H��I�t�8�H�
H��tH�xH�H)�HzHzH��(H9�u�I�� H���H�T$hH�t$�:'��H����D�E����M��D�l$@H�hE1��D$I��H�UH�MI���H�T$pH��u	H9��l	H9���1���u�f�H��9��I9�u�I;T�u�A��H��(E9'�D�l$@M���hD�4$9pd���I	����H��6�L������I�E8���fDL��H�6L��E1�)1�����I�E8����H�pIcى|$8I�0H�)HcL$`H�H�*1�����t$`�����EH��1�< u@H�����< t�f.�����H��< �u��u�)�HcɃ�H�|
�'%��H�D$0H���L�\$0L��L������L��L�\$0�<0���D$`H9l$0tH��1H��H�l$0ADžI���H9D$p�M���A�������H�5kPL����]���������t$`H���$��H�5!�H��H�D$0�]��L�L$0���3I��p�M������H�01L������fDH�����I����T$`H���t(��I��H����8tOH��H�D$0��'��L�T$0H���*
H�8�G
H��L�T$0�)��L�T$0M9����	�|$`���t$@��tRA���I����H�H�<�H����H�T
�����H��H�z�����9�}�L��1�L�����������D$@����H��@�L���H���H�D$�H�\$xdH3%(H�D$�@
H�Ĉ[]A\A]A^A_�DH���8���D$`�}����L���*��I�E8�`����L����)���S���L����)��I�U8H��H�J ���H������H�G(H)�H=�����I�}8� ��I�}8H�o H+o���H�B(H)�H=������L���{)��I�U8H�J �������3��I�}8H�W �a���H��?�L���#���H�D$�t$<�������D$8��������1�H�,�DI�����tH��I�|FH��t	H��1�H��H9�u�����D$1����M�T�1�M��tL��L�����H���EI�D���H��t\I��1��@H��9�~HI;�u�I�t�I9t��H��t�I9D�u�H��E1�I����H��4L�����f�H��9��l���H�l$hL��H���$���I��H��u	H���dH�D$HH�(H�D$PL� I�EH�������L���M�������A��L��������غ����D�D$@I�}����E���A���C�H��I��AV)�HcӋ\$ L��SPH�t$(L��H��A��H�� �?���f�L���H���#���L�L$M��L��H�$H��3�����H�$���H�5=L���*Y�����A����t$`H������H��H�D$0�	[��L�L$0����H�5�KL��L�L$0��X��L�L$0���K��������������)�Hc�H��t$`��Hc�H�t
�2L�����H�d<�DL��1��W��I�E8����I9������E1�E1�1ɾ�H�]1L���������M���g��C;D$�S�C�$I��H�t$pL��K�\K�tH����L��H�L$(L�L$ ����H�L$(L�L$ H�C��A�y0Hc$�PHc�I�T�K�T�PHc�I�T�K�T ��D$A��H��(E9'�	����b���@E��tIA���I����H�H�4�H9��'���H�T2��f�H��H9J�������A9�}�H��L��H�L$ L�$�F���I9GL�$H�L$ ����C�D�H��H�I�T�L��L�$���L�$����A��H��(��A�E9'�P�������CL��L�L$��H�L$ �$���L�L$���}A���M���H�L$ �D$�p�����H�I�|�����L�D$L��H��0�L�$���L�$���H��p���L��H�5O:L�L$0�VV��L�L$0����I��p����H�(:�AL������I�E8����E��tLA���I����H�H�<�H�������H�T
��H��H�z��z�����A9�}�1�L��L�$��C�T�1�L�$Hc�I�T�H9��{����C���L��L�T$0�- ��L�T$0H���A�������H��L�T$0�c!��L�T$0�t$@��tKA���I����H�H��L9$��KH�T
����H��L9b��,��9�}�L��L���k���H�569H��H�D$0��T��L�T$0������L��1�L�������H��,�DL���t���W���L�D$H��E1ɾ�H�@/���H�l$h�v���H�8����M��E1�L��dH�B.L��H�D$XL�T$0�H��H�D$XL�T$0����L��H�5|8L�T$0�5T��L�T$0���4���E1�E1�1ɾ�H��,L���|���Q�E1�E1�1ɾ�H�-L���[���0�H�t$pL��L�������E1�E1�1ɾ�H�
-L���%����H��E1�E1�AV�\$ SP�	���L��E1�H��*L��fL�L$0����L�L$0���L��E1�H��*L��b���L�L$0�P���M��H�D$����1�L���AF������M9���i�E1�E1�1ɾ�H��+L���s���H�L��E1�E1��cH�1+L���Q��L�T$0����L��E1�E1��dH�*+L��H�D$XL�T$0���H�D$XL�T$0����D$D9Bd����I�� �D$@�D$<H��tb�D$81���M��E1�L��cH�,L�����L�T$0���H�5Z6L���CE���L$d������H��1H�������D$1��D$8������$��f.�AVAUATUSH��H��PD���dH�%(H�D$H1�H�K1H�D$H�D$�D$�9�(v
��6���kh���7D��xE��tH��p�0���t
H���%
��������H���
��H�C8D���D�h4E����H���'�����H����H����D���E��H��H��H�L$H�T$E)���D���L�sPE��t
D�CE����H�{8H�G ���/�O��>�PH�P�G81�H�W �x�H�L$HdH3%(���gH��P[]A\A]A^�H�L$H�T$H��H�t$�����H���6���������f�H�S8H�B H+BHB@H�D$(HcB4H�D$0���D��x��~�H��������Hc�xH�<�H�L:�HD�H��p�������<���f�H�sH�������M�����L9v���H�����(��!������f�H������������H����������D�x>��E1�E��H��IH�1*H����
��H������H���6����x��~2��H���Hc�xH�<�H�L:�HD�H��p���������D9�tD)�H��H����$��M��������Ch���w���H�S8H�t$ H��L�t$ H�B H+BHB@H�D$8HcB4H�D$@�B���B������&�����f�H�P�G8H�W �x�2���H�����H��t,H���H��t ��L��uH�{H�L$H��H�T$��H���5����x��~2��H���Hc�xH�<�H�L:�HD�H��p���������D9�tD)�H��H����
���M�������Sh������H�S8H�t$ H��L�t$ H�B H+BHB@H�D$8HcB4H�D$@�A������DH���?���H�@xH���2�����L���$���H�{H�������fD���%������ ��@USH��H��H�8���H�G ��uH�W(H)�H����q�8<�H�x/�>H�P�G8H�W �x��H�� H����P�����H��uH�S8H�B(H+B H=�H�����H���HK��H�{8H�W �<
@��<��@��t�H���w<>��1ҾIH���.�H��t,H��LH��H�� L�
C0H�8$LE�E1����H�H��t H�@xH��t��L��u
H�� H�{��H���l3����x��~2��H���Hc�xH�<�H�L:�HD�H��p������H��[]�f�H��H�߾J[H��&]�F��fDH���x��H�{8H�G �z���H�B�G8H�G �z�������#��������#���i����USH��8dH�%(H�D$(1�Hc�(��~"���H��H�oP��u.����H��t�Ch��u=H�D$(dH3%(u\H��8[]�fDH�@H��H�t���+�H���32��븐H�S8H��H��H�,$H�B H+BHB@H�D$HcB4H�D$ �>����l��ff.�����G������������wNH�3Hc�H�>��D�����u�@t H�G8H�@ �@< wH�&H��s���5��1Ҿ���@1Ҿ��@1Ҿ��ff.��AWAVAUATUSH��H��H�G8H�@ ���[t?��>t"H��H��1Ҿ=[]A\A]A^A_�]�DH��H��[]A\A]A^A_�r2��f�LJD�w@�]2��H�C8L�x �Y�����H�ߋhdL�`@L�h��G��H���(��H���5��H�C8�{@H�H ~H�xt	�9<��9hdt5I��A���]u�D9s@�H����1��H���G��H�C8H�@ �����L��H��H+pHp@L)�I�L9�u�H��#�H���k�D9s@~>H���=��H�C8H�H ��y!�t����y[�j���H������H�C8H�H �U���H�C8H�@ �@��]������O���f.���ATI��UH��SH��H��dH�%(H�D$1�������H�S8��H�B uH�J(H)�H����@H�{(�����<��H�CH���4H�xP�SǃH��ǃ��EF��H�C8H�P D�
��<����%�����H��D�`dH+hHh@��u1H�@(H)�H=�"H���3��H�C8H�P �:<u
�J��!��H���!
��H����E��H�C8D9`dH�P u�H��H+HHH@H9��o���1Ҿ<H����H�C8H�@ �8t(�f��J��?t7��!t21Ҿ<H����H�D$dH3%(�vH��[]A\�fD���H��D�`dH+hHh@���A���H�@(H)�H=��*��������z[�%���H������ �����x?�m����xx�c����xm�Y����xl�O���H���$����� �:���H���;���C���fDH�R(H)�H���
����L$�PH�|$��T$�P�T$�@�D$�0����ugH�C8H�@ �����H�����H�S8H�B ���H�=�'���H�CH��t6ǀ�@H�xP�����L��H��1�H�����������H���o?���H�5�(H���.8���v������@��USH��H���C��H�{8H�G �8s�=�xt�3�xa�)�xn��xd��xa��xl��xo���xn���x	e��H�P
�G8
H�W �x
��H���5C��H�C8H�@ �8=�4H���l-��H���C��H�C8H�@ �<'��<"��H���A-��H�{8H�G ���n����yu
�xe��1ҾNH�߽�������H�C8H�@ �<"��1Ҿ"H����H����[]�����.���<���f������H����[]�f�H���,��H�{8H�G ���n���yu
�xe��1ҾNH�߽�����A�H�C8H�@ �<'�g���H���V,��H����[]�D�xo� ���H�P�G81�H�W �@���%����)f��xs�����H�P�G8�H�W �@����������O��H�C8H�@ ������xs�I���H�P�G8�H�W �@���K��������H�C8H�@ ��1�����xo����H�P�G81�H�W �@�������f.�1Ҿ!H�߽�������_����1ҾKH�߽�������?������USH��H��H�8H�G �G`�����G8H�PH�W �@���<< ��H�&H����H���x@��H���p9��H��H���$H�5$H���A����u0��6u�}1u
�}.�pH��H�&�lH���q���H�{ H��t	H�1�H�k H�{8H�W �< �P<?u
�z>�lH��%�AH������H���.C����� �Y����LH�{8H�Pt1H�W �< �r<?u
�z>�H�r%�AH���x��������uH�S8H�B(H+B H=��NH���N?��H�k8H���*��H�߉E`�7?��H�{8H�W �<?��<>�$1Ҿ9H���-�H�K8H�A ���>t!����H����tH�A �H����t��>u�H��H��[]�)��fDH�x$�AH������/����H�&H������������z>�b���H�B�G8H�G �z��H��[]Ð�����H�C8H�@ ����fD1Ҿ`H���Q��!���@H�&H�����������H���@
�����H��1Ҿ9�	�H��H��[]�+(��H����[]�x��E1�H��H��#H�߾a�>�����f���SH������t/H���=�������uUH�S8H�B H�R(H)�H���~5�8<t[�fD�P��?t7��!u�x-u�x-u�H����2���@H���`��H�C8H�@ �fDH���(?���s�����AWI��AVA��AUATI��USH��(H�t$L�D$H��t	����E1�D������H��H�����:��H��H����ǀ8M���5H�H�D$�u��H9D$tH�g�0H�;�H�;�0��H�H���xH�xH�Hǀ�H��H)���1����H�A�������H��)�Ao�AoOH�AoW P �Ao_0X0�Aog@`@�AooPhP�Aow`p`�Aopxp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao����H�D$H��tH�CH�|$��H�|$��"��H��H�����H���H�|$H�D$� ?��H�T$H�BH����H�*H�} H��H�T$�z%��H�T$H��H���J��E����M����H�s8H��tDH�H��t<H�x �>��L��D��I��H�C8H�8H�h H+h�15��H�s8H��L��H�H�x �)��E��u}H��(H��[]A\A]A^A_�@HǃH�����H��H���9H�@�6���@H�׉��f&��A��D���K���H��H���i���1��ǃ�E��t�D��H���~5���s���f��Ao70�Aox�Aow p �Ao0x0�AoG@@@�AoOPHP�AoW`P`�Ao_pXp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�������DH��1��3��H����*���{����1�H�5��B-��H���*���_���D1�H���&-��H���*��H��1��D3���9���ff.�@��H��tSH���.��ǃ�o[�f��ff.�@��AWAVAUATUSH��H����H��I��I��H��D��L��L��H��D��M����#��I��H���N�6��I��H���UH���L�8���I9�tH���0I�>�H��0��I�H���H�xH�Hǀ�H��H)���1����H��������I����o�oKH�oS P �o[0X0�oc@`@�okPhP�os`p`�o{pxp�o�����o�����o�����o�����o�����o����M��tM�f��L��L����<��H��t2H��L���E
��H��L��[]A\A]A^A_�L���(��1�L���+��L���61��E1��̐�o30�o{x�os p �o{0x0�oC@@@�oKPHP�oS`P`�o[pXp�o�����o�����o�����o�����o�����o�����o�����o�������DM���)���L��E1�A������L���'��������AVAUATUSH��dH�%(H�D$1�H����I��I��A���i3��H��H������4M���]H�8H��t	H�N�0�L�+H��H�[�=�1�L��H���;��H��H����H��H���i(�����1E���H�EH�=�H�H�E4H�C8H�@ H�EHH�EH�E ǃP�d��H��H�CH����ǀ�@H�
�H��H��H�����H�EXE��uH�C8H�P H�@(H)�H���H�|H��1�H���)��H�{H��t�C����1����H�CM��tH�H���.��H�L$dH3%(H���hH��[]A\A]A^�@H����1�L��H����9��H��H����H��H���$'���������H��1��R.���H�oXH�GXH���`���H�EH�E@H���M���fDH�@@H�@0H��u��1���f.��H�|$��D$�B�D$�B�D$�B�D$�����������H���.�����H�L��1��$��H���-�����f.�D��H���.�����1����f�H�����@H�5~H���!'�����@L��1��$���������@��AWH��AVAUATUSH��H	���H��I��I���d0��H��H������4M��tH�8H��t	H�M�0�L�+H�[H���L6��I��H��t	H����H�H���GH�@ H���:H�{L��L����I��H���"H��H���?%�����H�C8H�x H�@(H)�H���nI�|$��H���0L���H�H�=rI�D$4H�C8H�@ I�D$HI�D$I�D$ ǃP���I��H�CH���6H��L��H�5iH��ǀ�@�W��H��H��L��I�D$XE1���&��H�{H�����C����L�gXH�GXM��tpI�D$@I�D$H��t`DH�@@H�@0H��u��HDM��tH�H���T+��M��tH���0L���E1�H��L��[]A\A]A^A_�fDE1��P���H�CM��tH�H���+����f�H��E1��*�������H�߉���+��I�|$�~���M�|$���fDH�5�H���$��M��u��f.���H��H��1��#��ff.�@��1�����D��ATI��U��S�-��H��H������u>ǃ�1�H��L�����H��tbH��H�����H��tH��[]A\�D1҉�H������f�L�����H��u�H��t�H��H��[]A\�f.�H��1���)���@H�51��#�����1��u��D��H��toH��tjAUI��ATI��UH��SH���J��H��H��tRL���*��H��tH����2��H�CL�kL��L�k �i��H��L��H�L�H�C(H��[]A\A]�����1�H�5��"��H��L��[]A\A]�
����ATUSH��t{��~wA��H���D,��H��H��tdD��H��1��?��H��I��H��tG���H��H��t/L� I�|$ H��H�@���H��H���t��H��[]A\�@L������H���x(��1�H��[]A\�ff.�AWI��AVAUATI��UH��SH��H�������(~��6��=��H��tH�EA�H���XH�����H�߉����H��H���9M��H���LD�L�`H��t�
��A����E1�E1�I���H�5^$��H�������x���H����H�5΢
H����Y���H����$H�5��H����:���E���H���E��~0�I��H��A��J�T J�4 I���P��E;��|�I�L�+H��H��v��A�GI��CA��4��4I���H���H����H�GH�{1�1�H�IH�$H�G H�D$�B���H���!E1�H�{H��H�GH�G ����H�CH��H�p����A���ǃ�E���ǃ�����A������E���������A��8H�߉�8I�� H�� I��(H��(�/'��H�C8H�P �<<�t���vH�CH�HH9KPt1ҾUH���g��H�C�s����H���|H�PL�rL�uM��tSI����A�����t%A�W��tI�wH��tH�~Pt
A�~��f�I�F(M�v0M��u�H�CH�xE1�H�G�'��H�CH�$H�HH�L$H�H �������E�A��H����H���I����\����L�+H��Hǃ�Hǃ Hǃ(�$��M��tL������H��D��[]A\A]A^A_�DA�Y��A����T����F�����z/�1ҾVH������v���f.�I��XH��X����P����H�=f
�4���I��H����H���ǀ�@H�������L�c1�1�H�qL���t�H��u:L�+H��A�Hǃ���#��L���������fDA����H�D$H�$����L�+H��A�Hǃ��l#�����L��H������A!����1ҾUH�������X���H�x���E1�����ff.���AVAUATUSH��0dH�%(H�D$(1�H�G8H�D$H�@ �8&���x#H�����4��H��H���h�C���]H�}��E\���������H���OH�S�L���H9�HDу��_1�H��
H�߾�)��H�������?H�}PH��L)�H=���?HG�����H�����<���H�������1�1�H��H���	������H�MH��
�H����H�EPH��t�1�H��1�H���S	��D���H�EE��u
Dž�H����H��SH����H���H��������D��LE��u
H�uH�{��H�D$(dH3%(��H��0[]A\A]A^���h�����t˃����=������A��L��@��XH�l$tL����H��1���+�H�H���o���H���H���_�����L���Q���H�{H����C���H�mPH���3���H�H���'���L���M��������L���	���H�����H�{H���A����H�}�������������Hc�H�����@�D$H��D$H�������H���H���������L�������H�t$H�{����x�������h���H�{P�]���H�|$��������s@���f�EX1�H��H�ߍHHc�H��H���������
���L�eL�u H�EH�E M��u4�jH��H�����H�{PL�����M9��GM��M���;M�l$0H�s�L��I�D$0I�D$(�t���H��t�H�8u�I�$H��1�H�p
�H�����H�H���^���H���H���N���D�KE���A����#���@H�l$��H�����H�Hc��DH������H���H��������L�������H�{��H���������4��H�K�L�MxH��L���H�{H9�H�HDȋ��D�@H�D$D���P�u`����A��XZH�������?H�}PH��L)�H=���?HG�����H��t�<�k�H��t���A��Y��1ҾYH���&��H����H�|$���������1�1�H��H���������[���H�|$������f���4�������t�����Hc�H��H�S�H9�HDу��7���������L�MxH��H��H�{H�D�@D���j�u`�����AZA[��Y���1ҾYH���J���E���1�1�H��H���&�����=���E����H�|$H��������E\����wH�}�����H�D$���H�u���������Hc�H��H��������������N�������H�uPH�L$H������A������A�����H�|$H���p����	��������t
��������EX1�H��H�ߍHHc�H��H����!�����)���L�eM��u(�H�{PH�����L9e ��M�d$0M��tgH�s�L������H��t�H�8u�I�$H��H���H�5��������H�u�~uH�FH�U H9�t
�zuH�BH�{P���Hǃ���������u�Dž��ڃ��H�uPH���X������H�������������u�H��t��xu�H�xu�f�@r�D�sH�}E��tk���tb�H�G0tSH�sPH�KH��Dž�H�P0H�p(H�H@H��tH����D���H�E H�|$E���t���Dž��e���H��u�Dž��H�|$H�o(H�u@H9w@t���H�D$H�x0H��u�H�E H�D$����g��AVI��AUATUSH�G8���D��(H�P ��uH�H(H)�H�����M�n8@�
����A����wH�ӋhdH+XHX@��<����&��1�L���=�I�F8A���H�P ����H�H(H)�H�����H��H+HH���~H�p(H)�H���~Bf�HH@H9��c���9hd�Z���L��H�P���V��[L��]A\A]A^��fDL���X�I�F8H�P H��H+H���B<?��<!tX</ulE9�(�L�������%���f�L���x�����L����A�����I�F8H�P �������z[tB�z-u�z-�|f�L����������L��������[]A\A]A^���zCu��zDu��zAu��zTu��zAu��z[u�L������r�����S�I�F8H�P ����L�����Adž�A���ff.���USH��H����(������tHc�(9�H��[]�DH�@H��E1ɾMH��H��H��0D�B�H���H�L��H��[]�,��ff.��AWE��AVI��AUATI��UH��SH��8H�t$pL�l$xH�T$dH�%(H�D$(1�A��(~#H������6��A���~M��tI�EL��H	��5M���,H��1�L����H��H���SH�CH�D$H�D$H��tH�H�H�L$M��tL�cH�����H�=F���I��H���ǀ�@I�FPI���I�D$PI�FXI�D$XH��t
I��$��
��I���H��t
�B�I��$�1�1�H�$L���'�H����H��L��H�D$����I�t$H������H�T$���L�sL�r@H�S8��H�B ��H�R(H)�H�������T$$�PH�|$$��T$%�P�T$&�@�D$'�������H�C8H�@ ���<��ǃD���H���FH���H�������������������������E�C��t*H���H���H���H���H���H������H������H��t�	��H����H�5�H�����H����H�5d�
H������H����$H�5��H������H�����8��8H�� H�� H��(H��(�������Eh�ChH�EpH�CpH�ExH�CxH���H���H�����H�C8H�P �<<�>���@I�D$H9CPt1ҾUH�����S����������D�H����H�s8H���H��H��t H�F@H��H��H�F H+FH�H�����\����H�|$tH�D$H����Hǃ�Hǃ Hǃ(���������H�CpH�EpH�CxH�ExH���H���H�CpH��H�CxHǃ��T$�]��L��I�D$PI�D$X�s��T$�f.��H�L$(dH3%(���GH��8[]A\A]A^A_�fD�Y��f�H�|$tH�D$H�H������L��I�D$PI�D$X������H���h�H�S8H�B H�J(�H)�H��������P����1�M���<���I�D$H�@I�EH��tH�@(H�@0H��u�I�D$1�H�@�����z/��1ҾVH��迺�����f.��x?�����xx�����xm�����xl������@< �����H��	H������H������H�} H�5��q������ǃD������Hǃ�ǃ�ǃ�ǃ�����f�H�|$����H�D$H��������H���6���-����1ҾUH��������@H��XH��X�T$�q��T$�
��������fDH�����������y�H�C8H�5��H�xX�u��������H����mH��������@��H��t;H��H��H�OI��H��H9��D���HD�H�~PRH�A���q���H��ø�����fD��H���t$AQM��A��H��H��1��?���H���f.���USH��dH�%(H�D$1�H����H�8H�����J��������lH�H��tH�hXH��t�F��H�{H���H�S8H�B H�J(H)��0H����@������������8<u
�x?��H�=����H�C H�H��tH�@`H��t��L��uH�{�Ѓ���ǃH��ǃ�ǃ�ǃ��-�������H�C8H�P �<<������H�H��tH�@hH��tH�{�ЋS1�������H�t$dH34%(��H��[]��H�R(H)�H�������H���4�H�C8H�@ ����H�S8H�B(H+B H=��|���H�����o����z/��1ҾVH��迶���E���f.�@�t$�PH�|$��T$�P�T$�@�D$�������H�S8H�B �0@���@���1ҾH���Y���H�S8H�B �$���@�xx�3����xm�)����xl�����@< ����H�&H�������H���B���� tAH��������@��H���>
���]���f�1ҾUH������G���@������\�����f���ATUH��H��S�M��H��txH��H��tH�8H��t	H�A�0�H�+H�CH���L���C��t%L�cH��tH�H�����L��[]A\�DH�{E1����H�C��f.�E1���ff.���H��1���f���SH��������t[�DH������t�H�C8H�@ �8t
H��[����Hc�(H��H��E1ɾMH�RH��H��0[D�@�H�L�H������f�AWAVAUATUSH��dH�%(H��$�1�H�G8H���G
H�P H+PI����H����H�D$0H�T$8L��1�H��H�T$H�D$���E��$A�����E��$�E��tA��$L��M�|$8M����I�H����E��tH�x(H��t��������I�D$8H�H�x �p�M�|$8A��I�W I+WA)�E��~xE��$A�U���g���H�
��Hc�H�>��I�$H��tH�hXH��t�+��I�|$H���1ҾL���"���L�����I�$H��tH�@hH��tI�|$�А��H��$�dH3%(��H��[]A\A]A^A_�DE�G0I�G I+GA)��?���@����L�(���H�5l�H�81�A��ADŽ$A����DL���X��I�L$8H�H���7H�x �>�I�L$8H�Q H+Q)Ѓ��F���H�Q �J�:<@�ƀ�?�^@���U��u1ɺ>�?L���ݿ�����4L�����A��$����ADŽ$ADŽ$�������+���L�(����H�5d�H�81�A��ADŽ$A����D��L�(���H�5����f�����L�(�s���H�5��H�81�A��ADŽ$A��[���D���L�(�;���H�5L�����A��������u)E��$�E���9H�D$8H�������I;G ��E��$�E���h
Ic�$(L��H�@I��$H�t���O���A��$(���?
��I��$0�Hc�A��$(H�<�tH�t9�I��$ H���
�>�]�]L��D�D$�$���D�D$��A���$M�|$8M�w M��M���/���'���L���D$�T��D�L$�����A9�������I�$H����E����H���H����
A��$L����
L��I+WH��~<I�v��	H�=����€���u D�L$I�|$1�H�5�
��D�L$fDA��$��i���M�|$8A�AM�w M��1��DI����A�E8M�u 9�"A�>
u�I����A�E4A�E8M�u 9�~�M�w A�>�<
IDŽ$@A�ADŽ$���f�A���	I�G �0�P@��<����/�;	���3	ADŽ$	A�	���@H�D$@E�w4H�D$HE��$�A����I�G �8<�2�����u(E��$�E���VH�T$8H9��@���H���7���E��$xE���nI��$p�0����[L������E��$�E���`H�L$,H�T$HL��H�t$@蓥��I��A��$�����M���gE��$�E��t;A�|$��t2I�t$H��t(I�D$PH��tH;FuI��$����A!�$�I�|$8H�W �</��
<>��L��H����IL���}��L�����A��$x��~6��I��$�Hc�A��$xH�<�H�L:�HD�I��$p������H�L$HH�T$@E��L��E��$�L��E)�A�蚫��ADŽ$ADŽ$�����DL�����I�L$8H�H����H�x �v�I�L$8H�Q H+Q)Ѓ��~���H�Q �J�:<@�ƀ�?�>@���5��u1ɺ>�?L���������lL���5
��A��$��&���ADŽ$ADŽ$��
���f��[���L�(��H�5���{����I�G I+GA�Ņ���I��$@H�H9�I�DO�H�x � 	��I��I�D$8H�H�x �|�D��D��H9��v1�����Ic�A���<�/��"����'����]�*�VH9��4A�|]�LA�}Hc�A���>�o	�� �.I�&I���I�TD�FA)�A�4H9����2@��>�,	@�� �2��1�H��A���(fDA�MI��H9�s'A�MIc���I��A:>��H9��������~IDŽ$@���@���L�(�s�H�5\�����E��$�E���A���E���I�G ��@�������<��	<?��	A����������
I�$H��tL�pXM��t����I�|$H��A��I�D$8H�@ �xx�
�xm��xl���@< ��H�&H����L�������A��$� ��I�D$8I�|$(�P`A�T$0uH�xPH��t�Y��I�D$(@I�$H��tH�@`H��tE��$LE��uI�|$��ADŽ$A��1����{�L�(��H�5���K����L������M�|$8I�H����H�x ��M�|$8I�W I+W)Ѓ�����I�W �J�:<@�ƀ�?�F@���=��u1ɺ>�?L���]�������L���}��A��$��n���ADŽ$ADŽ$�IDŽ$@�I�D�VH9�sI�T�:!��A��D��D��H9������Ic�I��$@�����H9��w�����DA��D��D��H9��]�����I�t$8H�H�x �'��1�H�&x
I��I�D$8H�8L�h L+h����I�t$8L��L��H�H�x ������f.�H�8���IDŽ$@�A��H�I�M�w A�FH�\$PH��E�L������H��PA�F��PA�FP1�����H�� E1�H��H����	L���.�fD1��������A��H9��(Hc��`����A�����I�G H�|$P���T$P�P�T$Q�P�T$R�@�D$S��L������E��$��DL���p���A��$��a�E��$(E�����ADŽ$A��G�f��q0H�A H+A)Ɖ����@�q0H�A H+A)Ɖ��}���@A�w0I�G I+G)Ɖ�����A�|$@�l�������A�|$@�����������L��苻��E��$�E�������L���2��I�����f.�A�dM�o@M�w��?������I�lj|$���gL���L��ADŽ$ADŽ$�I�T$8M��M)�H�B M�H+BHB@L9��a�E��$��1�1�����A��$����M�|$8�y���f�H�=f����I�D$ I�$H���[����s���DI�&H��I����������A�|-�R���A�|-�F���A�uH9�r�N���f�H��D��A���qH��H9��/����:-u�z-uۀz>u�A�͉������!u@��t�z-������A��$�ADŽ$��uADŽ$�H�T$H�t$L����������!�#@����z-��z-����u�>�-�-L���_�������L������A��$�����k���!u$@��t�J��-����D�����?�ADŽ$�;���fD�"A��$L�����H���H����D��D�L$I�|$L����D�L$�n�fD�z>�r���H�B�G8H�G �z�A��$�I�$����H��t,H���H��t A��$L��uI�|$H�L$HL��H�T$@��A��$�D)��~I��$I��$�跻��A��$��H�A��$x��~6��I��$�Hc�A��$xH�<�H�L:�HD�I��$p������A��$(ADŽ$�E�A��A��E��$���f���L���S����fDIDŽ$@L������A��$����ADŽ$PI�$H��t7A��$L��u+H���H��tI��$`I��$hI��$XI�|$��ADŽ$PL�����A��$��&�ADŽ$A�IDŽ$@��A��$����D�ȃ����M�|$8��L���������!t������!�Z���R�P��-���[u
�xC��|$I��A���}�A�|$@�…�����t
A��+�HIDŽ$@1�L���������I�$H��tL�hXM��t����I�|$H��A��H�=������I�D$ H�������1�L���*�E��$���1ɺ>�?L��詭�����}���ADŽ$����z-�n�����u�>�-�-L���k�������L����A��$������w���z-�R�����u�>�-�-L���������zL�����A��$����'��1ɺ>�?L���ܬ����������1�1Ҿ>L��跬����������f.�1�1Ҿ>L��菬���������f��D$9Bd�����H����L��菞��L�����E��$�~��zO�(����zC�����zT�����zY�
����zP�����zE�������u1�1Ҿ>L��������*ADŽ$PL��ADŽ$�IDŽ$@���A��$����I�D$8H�@ �8[�8�ADŽ$PI�$H��t6A��$Lu+H���H��tI��$`I��$hI��$XI�|$��ADŽ$PL��A����ADŽ$�l�fDI�lj|$@��&������u1�1Ҿ;L���������*�L��������H���H�����D��D�L$I�|$L����D�L$�y�H�������H�@xH�������A��$L���t���I�|$L�����e������B����������1Ҿ�n��x-L���|$I�������A���z�H�@�-�-L��H�A �>�+���I�T$8H�j ��u���|L�����ADŽ$ADŽ$����A��-��M�l$8M�u M���q1Ҿ,L���2����Ņ���I�$H��t)E��$LE��uH���H����I�|$��L����A��$����I�L$8�E�H�Q H�D��u�D�A8H��H�Q H9����:
u�A4�A8��A��$x���/���I��$�Hc�A��$xH�<�H�L:�HD�I��$p���������A��$���tZH�D$0H�����I9���������fDH�A �8�F��H���^���4�ADŽ$���Hc���1�1Ҿ<L���o������9�����f�1�����xD���xA����xT�����xA�����x[����H�P	A�G8	I�W �x	tnADŽ$A��;���H�I�M�u ����(��H���H���R���I�|$��L�����A���ADŽ$����L��D���K�������L���Y������H���#AWAVI��AUATA��UH��S��H��8������A����������4H����E���„�t�����D$,H�D$E1��I�v8����H����H���^H�H��������-H�z �d���H�D$I�F8L�x L+xH�H�x ����A��H�D$I�F8��H�8�tH����2�I�v8H�T$L���D$H�H�x ��D�L$E����Adž�����L����������H��8[]A\A]A^A_Ð���tH����L�>M����I�tI� H��tvI�(to蚺��D��L��H�D$ I�F8H�H H+HH�L$��I�v8I� H�L$H�T$ �D$�^�D�L$E���pI�v8H��t#�L�>M��t�I� ���I��E��uI�E�H=��wsH�D$H��tiM�~8D��I�H�)�xWH��tRA�����rA����������Y���p��	�G���^���UDD��L�����Lc�1�A�����M�~8M��t*I�W I�G(H)�H=���
I+WH�����~
A��6t7A�����tA��L�V������NL�A�������H�J��L��D�L$蟖��L������LcL$롃������L�>M����������fD��L��������fDH�������H�GH���v���H�8H�5[����H�����ZA�ZI�F8D��H�8H�G8)�H9�DB�D9��3���D��H��D)�D�L$ �\�I�v8H�T$L���D$H�H�x �0�D�T$D�L$ E���%���1�L��D�L$�>�A���LcL$�y���A���H��8[]A\A]A^A_�D����H��s��H�5��H�81���L���Ϳ��H��8�Q[]A\A]A^A_�f�L������H��A����E���„����������HcҾ>�3��H�������Lc�1�����HcҾ>�L$����L$H����������u��-����Hc��D$,�|�
�V������D$,�F���f.���f.��|$,��E����I�v8H����H�H���H�x �*��I�N8H�Q H+Q)�A�����Ã��t��t1ҾL������A����u������tI�H��tH�@hH��tI�~��Adž����A�V1����N����.���E��t�A����t����t�1��I�v8H��t�H�H��tGH�x ���H����H��I�F8H�8H�X H+X���I�v8H��H��H�H�x ������E���r����F0H�V H+V)�����I�F8H�5[�H�H�@H�8���H�����I�F8H�5]�H�H�@H�8���H��t+��A������1ҾL���ے��A������I�F8H�5�H�H�@H�8�5��H��u��-A�-�����M����AWAVI��AUATUSH��(H��t-H��H��t%��x!A�F��
w�;��M��H��ƾ#u+��H��([]A\A]A^A_�@��
tM�v(M��t�A�F�����u�M�����@��	�W��
u��ց� �E���H��H���uI���H���KH���H��t�h��I���H���I�EpH��t?H�{(H��t
H�q�0�I�EpH��胾��I�}pH�C(膹��H���:H��H���R���1҉�H��膠��H���.���L�kI�~@1�ǃ�ǃ�{��H�D$H����H�t$L������A�~�D$�������u�K��t���A�}
H�����r��T$H��H����+���H�C8H�P �<<�5���7H�CPH���L9���1ҾUH��苐���C������D�H�t$H�V0H�F0I�v H����H�B8I�H�B(H�R0H��u�L�t$�D$L�����L���n���D$����I���tHǃ�H�߉D$�Q��D$������f.�M�n@M���x���A�E���f.���詺��H�������S1��������
����������z/�-1ҾVH���j����������y���I�?���I��D$�1���� ���L��H������L�t$f�H�D$�x����H�D$L�``M��uE�q�H������3���I�t$�����H���H������I��H��H�����H��t'M�$$M��t.H���I�l$H��u�M�T$��fDL���(����D$�ʐH�D$H�@(H�D$H���Y����g��������H�������
���I�����1ҾUH���=���������AWAVA�YAUATUSH��(��(��M��tI�M���
H��L��L��L�L$A��I��I���^��H����Ը��I��H����I�D$H�D$M��tH�M�,$H�D$M��tM�|$H�=5�����H��H����ǀ�@H����H����&I��$����H���I��$��u��I��$��H�5B��l���I��$��H�5�^
I��$��K���I��$��$H�5�I��$��*���ADŽ$8I��$�H�CP1�1�H���H��H�EPH�CXH�EX裲��H����H��H��H�D$�J��H�T$L��H���J��H�EH��H��I�l$H�l�H�X@�;�H�C`L��H�E`E��$�ADŽ$ADŽ$�ADŽ$�ADŽ$���L�sL��H�C��L�sI�D$8H�P �<<������H�EI9D$Pt1ҾUL���Ջ��A�D$��utE��$��E��DD�H�|$t�|$`t\M��t	H�D$I�$L�����H�EPH�EXH��tH�E`H�����H��(D��[]A\A]A^A_�@E1�H�|$t�H�EL�xH�D$L�8M��t$�L��H���e��I�G(M�0M��u�H�EH�@�Z����z/�1ҾVL�������f�1ҾL����H���1�1�H��记��H��H����H��H��H�T$�R��H�T$L��H���R��I�l$L��ADŽ$ADŽ$�E��$�ADŽ$�ADŽ$�����L������5���1ҾL���Q����V���@M��tH�D$I�$f.�L���h�H�EPH��H�EX耴��A������w���D1ҾUL���щ������L��A��������K���f���H��j��H���ff.����H��tSH�����H��[���s���1��ff.�f����:�0��tÐH���7����%�0��t
H������@�۵���v������H���0H9tU�p��H�8tJ����0������&�����l���������-������0H��隭��f.�1��������USH��H��dH�%(H�D$1��.���H���sH�C8H���f�������H���2���H�H��tH�hXH��t�<�H�{H��Ճ���$H�S8H�{(H�B �������H�R(H)�H��"����<u
�x?�H�=�����H�C H�H��tH�@`H��t��L��uH�{�Ѓ����H�CH��tH�S8H��tH�H��t
�R0��x�PHH���N���D���H�S8E��H�B �&�8<��H�n��H���9���H�H��tH�@hH��tH�{��H�CH���6H�xhH�5���E����
D�SE���H�SH��tF���D����΃����E��t	��	���D��0E��t�����6��1�H�t$dH34%(��H��[]�@H�P(H+P H����!���H��裱������fD������c���H��肱��H�C8H�@ ��K���f�H�J(H)�H������8<tW����������H�R(H)�H���������WH�{藰��H�C�{���3���ǃ�������!����x!�~�����u,H�R(H)�H���H���԰��H�C8H�@ �8<�6���ǃH������H��ǃ�<���H�C8H�@ �8�#ǃ��������@H�r(H)�H���'����L$�PH�|$��T$�P�T$�@�D$�,������H�S8H�B ����@����5���@�xx����xm����xl�����@< ����H�&H�������H�������� ������~H�C8H�ߋ@`�C0�^����f�H��舯��H�S8H�B �����xD�x����xO�n����xC�d����xT�Z����xY�P����xP�F����xE�<���ǃPH��蠦��H�C8H�@ �8[��ǃPH�H��t0H���H��t$��LuH��`H��hH��XH�{�Ѓ����ǃPH������H��ǃ�<�����������H�S8H�B H�R(H)�H�����������fD1ҾH���9�������@��H������
���1ҾH������������I�������ǃH���Q�������������f���AUATI��H��UH��SH�����H����L�(H��耺��I9�tH�t�0H�;�L�#H���d���H��tH�kH��1��!���C��t:M��tH�H�{H��t
��H�CH�����H����[]A\A]�����������D�봽���������AUATUSH��H����H��H��A������H��H��tsE1�H��tL�(H�@H�(H��襎��H���m��Dct'L�cH��tL�+H�����H��L��[]A\A]�DH�{E1��$���H�C��f.�H��E1�[L��]A\A]�ff.�@��H���1�����ff.�f���H��1�1����AUE��ATI���UH��SH��H���3���H��tH������H��tH��H���֡��M��tH�k8H��tH�}tqH���y���SH�k��tH�CE��t7H��H��[]A\A]������u�H��t�H��1��'���H�CE��u�H������H��H��[]A\A]�@L���X���H�E�f���AVI��AUI��ATA��UH��S���L�����H����H��H��tH�8H��t	H��0�H�+H���ތ��M��tL���H��txD���H�����DctKL�cM��tH�C8H�H��t�@0�	��O�A�D$HH��tH�H�����[L��]A\A]A^�@H�{E1�����H�C��f�L�����H���t���@E1����1����D��H��1�1������H���1����ff.�f���AVA��AUM��ATA��UH��SH��蠱��D��H�����H����H��H��tH�8H��t	H���0�H�+H��蘋��M��tL���D���H���M��Dct'L�cH��tH�H������[L��]A\A]A^�H�{E1�����H�C��f.�E1���ff.���E1���@����1�H��1����ff.�����H��1����ff.���AUA��ATI��UH��SH��H��聰��D��H���֨��H����L�(H��蒵��I9�tH���0H�;�L�#H���v���H��tH�kH��1��3���C��t<M��tH�H�{H��t
����H�CH������H����[]A\A]�D����������D�벽����������
�0��uÐH������2�������(��������N�����������芧���Ģ0H���ff.���H����USH��H��H����	�H���8���H���@���H��u�H����C@H�C8ǃxH��������H��pH�{ �CXH�CPǃ(Hǃ ǃ�H��t%H��tH��H����������H�{ H�ۚ0�H�{(H�C H��tH����H���0�H��H�C(H��tH����H���0�H��`HǃH��tH����H�i�0�H��hHǃ`H��tH����H�@�0�HǃhH�{H��t��������H�CH�{pH�C0Hǃ�Cǃ0�ChHǃ@HǃLHǃ�Hǃ�ǃ�ǃ�ǃ�Hǃ�Hǃ�Hǃ�Hǃ��r��H�� H��tH�5_�0���Hǃ H��(H��t1��ܭ��Hǃ(H���H��t�@����\����H��[]�H�{(H�C H���H��H��������uH�{(����H��H�C(H���0���H��H���������H��`HǃH���+���H��H��跞�����H��hHǃ`H���&���H��H��艞��������H��h���DH��H��X[]�Ϊ��fDHǃp����H���k���@H��`���@�H��H�������J���f.���AWAVAUATUSH��(H����H��I��L��A���D$���L$H����H�t$��t	M����E1�D��詙��I��H���mH��蕯��M���L������H��H��襫��H���,L��H�D$�?��H�T$H�BL�:I� H��H�T$袾��H�T$H��H���r���E��~]�|$tVH�s8H��tMH�H��tEH�x �l���H�T$D��I��H�C8H�8L�x L+x�]��H�s8L��L��H�H�x �7���H����H�{(H��t	H���0�H��蝤��H��H�C(衟��H����H��H��E1��j���H��(D��[]A\A]A^A_��HǃH��荪��H��H��tH�@���L�������A���H�|$���$���A���[���@E���u���D��H��E1��Q���b���@H��H�F�H��E1�� ����?���f���1��Յ��D��H��tWAUA��ATI��UH��SH��H���,���H��蔘��H��tH��D��L��H��[E1�]H��A\A]�1����H��1�[]A\A]�1��ff.�f���ATI��UH��S���˨����H���Q���H��t��L��[E1�]1�H��A\���fD[1�]A\�f���AVE��AUI��ATI��U��SH���q�����H���Ǡ��H��t"[D��]L��L��E1�A\H��A]A^�v�fD[1�]A\A]A^�D������AVAUA��ATI��UH��S������1�������I��H��t[H�@���H��H��t>1�L��H������H��tLH��H���i���D��L��H��H��E1�[]A\A]A^���DL�����[1�]A\A]A^�D1��DL�����H���8����fD��H����AWI��AVE��AUM��ATI��UH��SH��H���>���L��1�H��H������I��H��tV�A��H��H��tq1�L��H�����H��toH��H��蜣��H��D��L��L��H��E1�[]A\A]A^A_�
�f.�H��tH���H��1�[]A\A]A^A_�D1��DL�������fDL�����H���H���fD��H��twH��trAUA��ATI��UH��SH��H���W���H��诪��1�H��H���b���H��t-H��H���Ң��H��D��L��H��A�[1�]A\A]�B�f�H��1�[]A\A]�1��ff.�f���H����H����AWA��AVE��AUM��ATI��UH��SH��H��赥��H���
���H��1�D���л��H��H��tP1�H��H�����H��t6H��H������H��D��L��L��H��A�[]A\A]A^A_��fDH���X���H��1�[]A\A]A^A_��1��ff.�f���H��tGAVI��AUE��ATI��UH��H��SH���ث��E��M��L��H��H��[��]A\A]A^�J���f.�1��ff.�f�������H����AVE��AUI��ATI��U��SH��萤��H�������1��o��H��H��tOH�@1�H��H���r��H��t-H��H����D��L��L��H��A�[]A\A]A^�c�H���8���[1�]A\A]A^�D1��D��AWAVAUATUSH��D�|$PH����H����H��H��I��I��M��L�D$�Σ��H���&���H��1�L��L��薸��H��H��tN1�H��H�����H��t\H��H���1���H�t$D��L��H��H��A�[]A\A]A^A_��f.�M��tL��A��H��1�[]A\A]A^A_�@H���H�����fDH��������H���-��P�у��t����w.��H��H��t8��t3�G�ƒ��tn����v.H�G8H��u�H�G(H��t�xt�fDH�����H���@�Gpf���u�H�G0H��tO��H���Z���H�PH��������HD�H��Ð�Wpf���t��H��Ã�u+H�GhH��u��H������H�8���H��t��������H�GH��u��H��t[ATI��USH�H�9�0H��t@H�/�H��H��u�I�<$H��tf.�H�/�H��H��u�H�L��[]A\����ff.�@AVI��AUM��ATI��UH��SH�H��H��tq�:D�D9�}/�?��Hc�H��H��L�!L�,1��;[]A\A]A^�fDC�	H��H���0�B�4�Hc�H���H�EH��t;�;�f.�H�)�0�0�H�EH��t:A�H�����L�,�1�1Ҿ�詗��������h���L�
���fDAWA��AVI��AUI��ATE��USH��H�H����H�CH��taH�f�H�S@H�@ H�;H��tqA�����H�GH�8H�L�pL�h�@ ����D�`$H��[]A\A]A^A_�f�H�9�0�(�H����f�H�@ @H�;H��u�H�H�C�DH���0H����H��H��t7f�H�@H�E�%����H�SH�PH�H�C�I���@L��1�1Ҿ��V���1��7����L�޴1�1Ҿ�H�D$�)���H�D$����ff.�@USH��H��tuH�_`H��tH��H��[]�f�H�)�0H���0�H��H��tOf�H�=T��@@@ �5���H�=O�H�C�%���H�CH��H�]`H��[]�1��@L�<�1�1Ҿ��n����m���f�AUI��ATUH��SH��H���H9�tz�GI�ԍP���w�tf�H�m(H��t_L9�tZ�E�P���vY��tT��u�H�]`H��u��f�M��tL�������uH�H��t�H�{H��u�M��u�1�H��[]A\A]�@�I9�t�H�������[]A\A]�ff.�H����AVAUATI��USH;v@��I��A������ �M�d$(M����M;d$@��A�|$u�I�l$`H��t��#1�1�E��H��L�����H��tiH�mH��t�I�EH��t�H�H��t��D�����uH�H��t�H�CH�}H�pH9�u�1�1�E��H��L���D���H��t�@ �fD[�����]A\A]A^�f�[1�]A\A]A^�1��f�USH��H��H��tH��tH��H��������t
H��H��[]�H��tH��H��H�����[]�%���DH��H��[]�–��f���AWAVAUATUSH��H����H����I���L$H��I���ʘ��L��I��还��H��F�48H��tSA�F;D$}IHc�L��H��Mc�H���U����+:Ic�L��H�|+�A���B�D3H��H��[]A\A]A^A_�f�H���0A�~Hc��H��H��u�L�Y�1�1Ҿ��n����@H���1��ff.����H����H�H��tw�<:tp��tlAT�USH���DH�����H�X��t��:u��t.I���H���q���I�$H��t+H�|�^���H��tBH��[]A\�H��1�[]A\�D1��L���1�1Ҿ�H�D$螑��H�D$뾿L�r�1�1ҾH�D$�x���I�<$H��t�H�Ȇ0�I�$H�D$�{���@��H��t7H��t2�<:t+��t'�f����H����t��:u��t	�H��1��ff.�f���AWAVAUATUSH��dH�%(H�D$1������H����H��A�������< ��H�&H����H��H���< ������߃�A��v<_ufH��H��f��
�ȃ�߃�A<��A�<2�
E������ w*H�&f.�H���,H���
�� v�L�d$H��1�L���ȓ����=��`�� �af��؃�߃�A����HcD$L��1�I��������I��H�H���v������2f��؃�߃�A��v����gHcD$L��1�H�H���B����Á��~�H�5	�0��������uύ����=�Qv�0t��������v�H�5��0�������u�H�5e�0���ֿ����u�H�5��0���Ŀ�����u���E����1�����H�L$dH3%(��H��[]A\A]A^A_Ƀ�߃�A��v<_uH���@���1���t�L�d$H��1�L���h�����=������H�5,�0���=���������������=�Q�������0�������!0���z�����S����H���6H������D�CӃ�2vh��I�����?vmE�������� ����I�&I����HcD$L��1�H�H��袑����=���� v�1����������I�������@I�������@H��������w���I�&I��s1HcD$L��1�H�H���,�����=������� �f���I��rύ�@������b�����(�������������E�����_�����7���fDH���w���E���E������������1����膓��fD��AWAVAUATUSH��dH�%(H�D$1������H����H��A��������� �FH�&H����H���H����� ���у�߃�A��v��_ulH��H�����ʃ�߃�A���&�QӀ�2�E������ w(H�&�H���H����� v�L�d$H��1�L��蘏���Á���i�� ����؃�߃�A���HcD$L��1�I��������I��H�H���F������2f��؃�߃�A��v����oHcD$L��1�H�H�������Á��~�H�5ـ0�������uύ����=�Qv�0t��������v�H�5w~0��踻����u�H�550��覻����u�H�5�0��蔻�����u���E����1�����H�L$dH3%(�H��[]A\A]A^A_ÉЃ�߃�A<v��_uH���:���E�������1���t�L�d$H��1�L���/����Á�������H�5�0������������������=�Q�������0������!0���p�����I���DH����H�����D�CӃ�2vx��I�����?����:��E��������� ��I�&I������HcD$L��1�H�H���]�����=��q����� v�1���������I�������y���f���:�����H�ʃ�߃�A��v	��_�\H��H���	DH����ʃ�߃�A��v�QӀ�2���H��r�E���x����
���@I�����������H���^������I�&I��s1HcD$L��1�H�H���l�����=��>����� ����I��rύ�@�����������(�������������������_�<������fDH�����HcD$L��1�H�H������=�����߃�A���XHcD$L��1�I��������I��H�H��讋�����:f.��؃�߃�A��v�����HcD$L��1�H�H���r����Á��~�H�59}0���J�����uύ����=�Qv�0t��������v�H�5�z0��������u�H�5�{0��������u�H�5+|0�������u����[�����CӃ�2v(��I�����?�A���I���H����2���f.�I���/�����@�������1�����L�d$H��1�L��菊����E������R�����@������������(�������������|�����_�k����n���DH�5|0���"������S��������=�Q�B�����0�6�����!0�������"����Ԍ��@��AVAUATUSH��dH�%(H�D$1������H���MH��A������]< �hH�&H����H��f�H���< �1<_@��<:��@�u
��߃�A<wmH��?H��f��
�ȃ�߃�A<�W�A�<2�BE������ w*H�&f.�H���'H���
�� v�L�d$H��1�L�������=����� ��I�&I��s1HcD$L��1�H�H��譈����=��u�� ��I��rύ�@�����v!��(�����v�����_t	��:�|HcD$L��1�I��?H�H���F������If��؃�߃�A��v#��@�����v��(�����v
����9�HcD$L��1�H�H������Á��~�H�5�y0���Ӵ����uύ����=�Qv�0t��������v�H�5`w0��衴����u�H�5x0��菴����u�H�5�x0���}������u���E����1�����H�L$dH3%(��H��[]A\A]A^�<:��<_���u
��߃�A<wH������@1���t�L�d$H��1�L��������=����؃�߃�A��������d���DH����H�����D�CӃ�2whI�������E���A����� �8���I�&I���$���HcD$L��1�H�H��苆����=����� v�1��������D����L����f.�H��������G���H�����E���6�������H�5�w0���
���������������=�Q�������0�������!0���������j���������1��[���諈��ff.���AVAUATUSH��dH�%(H�D$1������H���mH��A������}< �uH�&H���f.�H���< �QH��r��-<2wzH��?H���LH��?H��f��
�ȃ�߃�A<�W�A�<2�BE���Q�� w*H�&f.�H����H���
�� v�L�d$H��1�L��踄���Á������ �#I�&I��s1HcD$L��1�H�H���|�����=����� ��I��rύ�@�����v@��(�����v5���-�CЃ�	����t �CӃ�2�WH� H���OHcD$L��1�I��?H�H��������If��؃�߃�A��v#��@�����v��(�����v
����a�HcD$L��1�H�H��諃���Á��~�H�5ru0��胰����uύ����=�Qv�0t��������v�H�5s0���Q�����u�H�5�s0���?�����u�H�5dt0���-������u���E���w1�����H�L$dH3%(��H��[]A\A]A^�H�ꐉ���߃�A���������-<2�����L�d$H��1�L���҂����E��tA����fDH����H�����D1����y���L�d$H��1�L��茂���Á�����؃�߃�A���X���������CӃ�2whI�������E�������� ����I�&I�������HcD$L��1�H�H��������=�U�� v�1���������f�����$����f�E���
����4������������������������H�5|s0��荮��������������=�Q�o�����0�c�����������T���H�5
q0���K�����������������1�����H�5�q0���$���������H�5Er0�����������W������ff.�@����v��tÐS���X����[�@��H���C����H���ff.����H��t�G����v�H�wH���H��tGUSH��H��H�-'r0H�H�EH��t��H�EH�{H��t��H�EH��H��[]��f.��ff.�@��AUATUSH��H��t
���I��I��H��H��tH�5�H���������H�wp0�0�H��H���f�@@ �@M��tL�����H�EM��tL���p��H�EH��tXL�c`M����I�|$H�uH��tL�w�����t�(��k���I�܅�uI�$H��tsH�{H�uH��u�H��u�H���a���1�H��H��[]A\A]ÐH��u���f�H�5�vL������������1���DH�k`H��H��[]A\A]�fDI�,$H��H��[]A\A]�fDL��1�1Ҿ��{���r����AUATUSH��H��tyH��I�����I��H��tfH�H��u	�7@H��H�{H9�tH���l�����tH�{L���\�����uH�H��u�I��H��L��1�����I�EH��H��H��[]A\A]�H��1�H��[]A\A]��AWI��AVAUATI��US1�H��hM�l$`H�|$H�l$ H�T$H�$D�D$dH�%(H�D$X1�M��u�wfDL��踭����uM�mM��t\I�uI9�u�������H�<$�@H����21�SL�L$L�ǘH��2��q��XZM�l$`I��M��u��L$����M�l$(M����M;m@tH�|$twA�E��tnM��t.A�?xu(��fD��tS��tNM�m(M��tEM;m@t?A�E��u�M�u`M��t��L���Ь����uM�6M��t�I�vI9�u�I�~����H�t$1�L���q���H����I�L$`H��u�f�H��H�H��u�H�H�L$XdH3%(��H��h[]A\A]A^A_��A��L���H��1��2��2�p������A�m�*���A�l����A��]�������f.�I�D$`�t���fD1��g�����~��@H���GH���>AWI��AVI��AUM��ATI��UD��I��SH��H�H�JH��t	�9x�]I�EH��tH�H���I�t$M���rA���H��E1�L��L���6���I��H����I�EH��tIH�H��u�?�H�H��t09k$}�{ �u�H�CI�|$H�pH9�t	�����t҉k �A��L��L�����L�����H���M�>H��1�[]A\A]A^A_�DH�CH�xH��tC�?t>�T$P��tH�xt/I�t$L�L$H9����w���L�L$����f.�H�H��t�{$�|�{ �t�H�H��u�I�L$I�t$M�������?��ym������yl������y������E�H��I��������;DH��L���5���H��H��t:A�����H��L��L��������H��tCI�1�H��[]A\A]A^A_�L����~��H�������[]A\A]A^A_�H�CL�cI�1��ƃ��H���~�����ff.�@��H��tSfDH��h~��H��H��u�[�fD����AVAUATUSH��t
1�H�X��H��i0I��I��I��H�����H��H����H�xH��H�H��H�@xH)��选����1��H��CM��tL���|x��H�CM��tL���kx��H�ChM��tL���Zx��H�CpH��tH�]XH�vj0H�k@���uH��[]A\A]A^��x��H�8t��x��H��H��[]A\A]A^��L���1�1Ҿ��nt���ff.����H��t+H�GH��t�xu�fD�xtH�@0H��u�H�GP�1������AVI��AUI��ATI��UH��SH��t�>���1�H����H�,h0���H��H����H�xH��H�H��H�@x1�H)�����H��CH��tH���w��H�CH���_M��tL���w��H�ChH���rM��tL����v��H�CpH����M��tNI�FI�^PL�s(L�s@H����A�~
���xtbH�@0H��u�I�F H�C8H�X0H�C0I�^ H��h0���uH��[]A\A]A^���v��H�8t���v��H��H��[]A\A]A^��H�P8H�C0H�S8H���;H�Z0H�X8H�Th0���t��@H�Ah0I�^I�^ ���������DH�X8H�C0H�h0I�^����_����f���fDL�k�1�1Ҿ��6r���5���L�L�1�1Ҿ��r��H�pg0H��1������L��1�1Ҿ��q��H�{H�-?g0H��t�UH��1�U�����L��1�1Ҿ�q��H�{H�-g0H��t�UH�{hH�EH��t��H�EH��1�����fDI�^���ff.�@��UH���H��SH��H����HD�H�ye0�H��H����H�xH��H�Hǀ�H��1�H)�������H��C	H���nt��H�ChH����H� H�[@H���H�uf0H�CH����ǃ����u
H��H��[]��t��H�8t��t��H��H��H��[]ÐL���1�1Ҿ��fp���@L���1�1Ҿ��Fp��H��e0H��1��fD��AWAVAUATUSH��(dH�%(H�D$1�H���eH�F(I��H���E1�H��tE1�xA��E1�L�t$�C�P���v;��t~H�[0H��u�H�L$dH3%(L���H��([]A\A]A^A_��H�sP��uxL��E�����/���H��H��t�H��L��H�T$����H�T$I��H��d0H��냐��t\H�sL���p���H��tH�p�L�����H���DH�sP@L�����I���:�������H���w����L���&L��f�D$膂��H�sH���z����;L��f�T$H�Ǻ�`���I�������E1������3u��H��t{�W��t1���t4�H�wH��tgH�~0t0H��H�@����H��t1H���@H�X�q����F����w�H�~P�q��@H�=
H���q��1��DH�=�
�|q��ff.����AWAVAUATUSH��dH�%(H�D$1�H���%I��H���E1�L�l$�C�P���v:����H�[0H��u�H�L$dH3%(L����H��[]A\A]A^A_�f�H�sP��u8L�����I��H��t�L��L�����L��I��H��b0��@H�sP@L���؞��I��������t4H�sL���@���H��t�H�p�L���
���I��H��u��L���D�L���&L��f�D$�~���H�sH���r����;L��f�T$H�Ǻ�X���I�����E1������3s����AUATUSH��H����H��`0I��I��H���x�H��H����H�xH��H�H��H�@p1�H)���x���H��CH��tRH���H��tF�����L����j��H�CM��tL���xo��H�CPH��a0H�k@���u#H��H��[]A\A]�DL���Ho��H�C�f��o��H�8t��o��H��H��H��[]A\A]�D1��@L�ъ1�1Ҿ��vk���@��H��H��1��?���ff.�@��ATUSH����H�x_0H��I���x�H��H���H�xH��H�H��H�@p1�H)���x���H��CH���hn��L�cHH�CH��`0���uH��[]A\��n��H�8t��n��H��H��[]A\�1���@L��1�1Ҿ��j���@��ATUSH����H��^0H��I���x�H��H��t{H�xH��H�H��H�@p1�H)���x���H�H��_0�CH�k�L�cH��uH��[]A\����m��H�8t���m��H��H��[]A\�1���@L�%�1�1Ҿ��i���ff.����UH���xSH��H��]0�H��H��tmH�xH��H�H��H�@p1�H)���x���H�H�_0�CH�k@���u
H��H��[]��+m��H�8t�� m��H��H��H��[]ÐL�{�1�1Ҿ��i���@��UH���xSH��H�']0�H��H����H�xH��H�H��H�@p1�H)���x���H�H��]0�CH�CH��tH���l��H�CPH�7^0���uH��H��[]���[l��H�8t��Pl��H��H��H��[]ÐL���1�1Ҿ��6h���@��ATUSH����H�X\0I��H���x�H��H����H�xH��H�H��H�@p1�H)���x���H��CH�k@A�<$&t%L���=k��H�CH�b]0���u>H��[]A\�@I�l$H���w��Hc�A�<;t9��H���a��H�CH�$]0���t��Yk��H�8t��Nk��H��H��[]A\Ð�p�H����a��H�C���@1��@L���1�1Ҿ��g���e������AUATUSH��H���H�2[0I��H���x�H��H���	H�xH��H�H��H�@p1�H)���x���H��CH�k@A�<$&tOL���j��H�CH��H���~��H��tH�PPH�CH�C H�SPH�\0���uFH��H��[]A\A]��M�l$L���Sv��Hc�A�<;tA��L���`��H��H�C�fD�j��H�8t��j��H��H��H��[]A\A]�D�p�L���m`��H��H�C�Q����1��s���f�L�h�1�1Ҿ��e���K������SH��H��谏��H��tH�X@[�DAWAVI��AUI��ATI��UH��SH��H�������H��Y0D�D$�`�D�D$H��H����H�{H��1�H�H��H�CXH)���`���H��CL�c(M�|$@L�sHL�{@E����M����I���H���������L���c��H�CH���
H��L�����H�C H�CH������fDA����1�H��H��[]A\A]A^A_�f.�H��X0D�D$�`�D�D$H��H����H�{H��L��E1�H��H�H)�H�CX��`���H��CH�C(L�sHE����L�kH��t=H��L��� ���H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C M��t2I�T$XH��u��f.�H��H�B0H��u�H�Z0H�S8H��u7H�0Y0�������ag��H�8�����Rg��H�������I�|$@H��L����}����u�I�t$@H��H��1���a����L���f��H�C�����H�G@H��tH���H���^�����Z���H�AX0L��1��I���DI�\$X�:���fDA��tBL�e�1�1Ҿ��b���
���A��u�I�D$@H��tH���L���^����u�H��W0L���f.���H��tH��E1�H��1�����1��ff.�f���H��tE1�����1��D��H��tA��l���@1��D��H�%V0ATI���xU��S�H��H����H�xH��H�H��H�@p1�H)���x���H�H��V0�CH�CM��t��L���\��H�CPH�%W0���uH��[]A\���Ke��H�8t��@e��H��H��[]A\�L���1�1Ҿ��&a���@��SH��H������_��H��tH�X@[���UH���xSH��H�'U0�H��H����H�xH��H�H��H�@p1�H)���x���H�H��U0�CH�CH��tH���d��H�CPH�7V0���uH��H��[]���[d��H�8t��Pd��H��H��H��[]ÐL��1�1Ҿ��6`���@��AUI��ATU��SH���xH��H�NT0�I��H����H�xH��H�H��H�@p1�H)���x���H�I�\$@A�D$M��t��L���;Z��I�D$PH�_U0���uH��L��[]A\A]��c��H�8t��xc��L��H��L��[]A\A]�DL�?1�1Ҿ��V_���@��SH��H����}��H��tH�X@[�D��H��t?UH��SH��H���tDH;k@tH��H����u��H�[0H��u�H��[]������H�����G����AVAUATUSL�g@I9�tfM��tM��$�E1�H��tL���H��I����tg��tRI�~H��tH���{��I�VL��L������I�VP1�L��I�F���I�n@I�FP[]A\A]A^����I�F�fDH�_XH��uE�DH�{@H9�t H��tH���H�SL���W��H�k@H�CH�{H���z��H�[0H��t�{Pu�I�~@H���Ho���fDA�F�(������H��t�t	H�G �@1��D��H��tO�O1���
w=�H��%B*t.H�W1�H��t#1ɃzH�R0��H�H��u��f.���1��D��H��tG�O1���
w?�H���B*t/H�GH��t&�xu�@�xtH�@0H��u���1���ff.����H��tG�O1���
w?�H���B*t/H�G H��t&�xu�@�xtH�@8H��u���1���ff.����H��tG�O1���w?�H���t/H�G8H��t&�xu�@�xtH�@8H��u���1���ff.����H��tG�O1���w?�H���At/H�G0H��t&�xu�@�xtH�@0H��u���1���ff.����H���C�G���7USH��H����������H�o@H���H�EPH��t0H�wH�x`��_��H9���H�EPH�sH�xx��_��H9��vH�EXH��t5H�sH�x`�_��H9��7H�EXH�sH�xx�_��H9���DH�K(H�S0H�C8H��t&�{��H9Y��H9Y ��H�C(H��tH�B8H�C8H��tH�P0H�C8H�C0H��[]�@H�G@H��t�H9xP��H9XX�{���H�@X�n���fD��H�O(H�W0H�G8H���f���뀐H9YX�m���H�QX�d���DH�A �V����H�Q�<����H�EXH�s1�H�xx�ń�����H�@P�f���H�EXH�s1�H�x`蝄������H�EPH�s1�H�xx�}����r����H�EPH�s1�H�x`�]����8������H���KAUATUSH��H��H�O0L��������H�{xH��t�d��H���H�CxH��t�~��L�kXH�kPHǃ�I9�tM��tL���2���H�CXL���P��H��tH�{P����H�CPH���tP��H�{H��t�c��H�{`H��t�8g��H�{hH���+M��tJH��L���+T����t7H�{H����H�-�M0H��L���T�����H�{�&f.�H�{hH�-�M0�UH�{H��tM��u��UH�{pH��tM��uC�UH���H��tM��uN�UH��UM��uUH��[]A\A]�fDH�{pH�-UM0H��t�H��L���uS������H���H��t�H��L���VS����tzH��UH��L��[]A\A]��y��f.��;Y��H�8�C����,Y��H���4���f�H�-�L0�"���@H�{pH���3���H��L����R�����s����fDH�������@H�{p��������H���>AWAVAUATUSH��H���G���"L�o@M��tM���H�SE1��f.���tpH�tL0����:�P�����������YL�=�K0H�{H��t(�C��t ��tM��tH��L���Q����uH�{A�H��A�M��tFI�VL��CH��t�H���t�H�����L�s0H�k(���	�M���H���5W��M��u�M���H���I��H�E1�H���H�{XH��t�h���C���P���t	����L�=K0��t	������H�{`H���
����d������DH��I��H�R�1����W��H�8t
�W��H���C������t��wL�=�J0�f.�H�{PH�������H�CXH9������M��tH��L���P����u2H�{PL�=gJ0A��C�P��?���f�H��[]A\A]A^A_�C�P������H��[]A\A]A^A_�Ac�����H����USH��H��H�SJ0H�@�H��t`H�����u[�{P��H�{H��t��^��H�{H��tdH��tH��H����O����uPH�{H�-�I0�UH�EH��H��[]��1�t���U��H�8t
��U��H��H�{@H��t��{Pu��@H�-aI0H��H�EH��[]��f�H���he��H�{H���a����a���fD�ff.�@��H��tSfDH�_0�Q��H��H��u�[�D����H����H�G(H����H��H�PXH9�tY�����H��t%H�B0H9�u�@H�P0H9�tH��H��u����H���H��f�H�W0H�P0H��tH�B8�
Q��1�H���H�J0H�HXH��tH�A8H����P��1�H��ø�����fD��H�����G������������H�^H0ATUS�H�����
H�k@H���%H������XL�%�G0H�{H��t`��uSH�{H��t)�C��t!��tH��tH��H����M����uH�{A�$I�$H��[]A\��H�{L�%�G0H��tA@�c\���C�P�w(H�{XH��t�d��H�{`H��t��l`���|������t�H�{PH���c������Z���H�CXH9��M���H��tH��H���8M�����5���H�{PA�$�(����+S��H�8t
� S��H��H�k@�CH�����������H�{hH����L�%�F0A�$H�{`H��t	H��uEA�$�C�����H�{hH����H��t�H��H���L����t?H�{`H��tvL�%WF0H��H���|L����u�H�{`�f��{H���Y���N��H�{h�j����H�{`H������L�%F0�c����L�%�E0�B���@�C������H����AUATUSH��L�o@M��tM���H�F0H������uH�]H��u�Bf.�L��M��t0�CL�c0�P�v�t�H���<z��H��L����j��M��u�@H�}H���;M����H��L���gK������H�}pH���#H��L��H�E0�@K������H�}p�H�}hH��tM�����H�}HH��t� u��H�}PH��t�Y��H�}XH��t�n��H�}`H��t�ֈ��H�}xH��t�Ȉ��H�H��H��[]A\A]��fDH�}H��D0�H�}pH���t���M���i���H��L���J�����R���H�}hH���_���H��L���rJ�����L���H�}h�A�����kP��H�8�|����\P��H���m���f�H�	D0���@�H�}hH��C0H��u����f.���H����H9����W����H�G(H����UH��SH��H��H�����N������tH��������tH�؃���H���6x��H�s@H����d��H�C(H�S0H�E(H�U0H��tH�j8H�S8H�U8H��tH�j0H��t�}tUH;XtoH;X taH�C8H��H�C0H�C(H��[]��H���w��H��H��[]�fD1��DH;XXu�H�hX�@��H�h �f�H�h�f.���H��t�t	1��fDH�WH�w1��`��f���ATE1�USH��t8H��蘆��I��H���H�EH��H�H��tH���y���H��u�I�����L��[]A\���1�鵲��D��AWAVAUATUSH��dH�%(H��$�1�H���o�H���bL�%cB0��A�$H��H���f��A�$H���t�A��H�D$M���E�ƒ��	uF�;/��L�l$H�qA0L��H��$�dH3%(H����H�Ę[]A\A]A^A_Ã������6�P�������������H�EHL�uH��tEL�HL�|$ M���QH���d�c1�AVL�$��L���C��Y^Ƅ$�M��H�m(E1�L�=FkH���X[��H�H��xL9���E��uTS�M��L�LkAVH�|$H�����1�L���LC��XZH�L$1�L��H��H�x��1U��H�����������H��M��L�k1�SH������L��ATAVH�|$(��B��H�� �@H���Z��H��H�N�lhxH��=0L��H��H����H�D$H��=0L��H�|$�H�T$H��H����H�D$H������f.�E1�L�5.�L�=�y1�����L�l$H�-|?0L��UH��U1����f�H�EHL�uE1�H��tPL�HD�T$M����L�d$ H���d1�AVL�q�L��M���c��A��Ƅ$�_AXD�T$H�E(L�}8E1�H�D$M���oH�\$D���DM�8M��tA�u��t4M�8A��M��u�A��H�\$E���.A��H�l$L�=y����I�wH�}��|����t�I�OHH�EHH9�t�H��t�H��t�H�qH�x�|����u��z���f�H�E8H�M(H���gE1�@�pH�@8�V���A��H��u�E���AA��H��L�5�hL�=px�O����H�E8H�M(H���_E1�@1҃xH�@8��A�H��u�E���:A��H��L�59hL�=x����L��H���L��1��c�gR�����f�A�L�5u��n���fDL�|$ L�M�d1���cL��E1�L��g�@��Ƅ$�H�E(L�u8H�D$M��uoL�u0E1�M��u�~�M�v0M��tt��tpE1�A�~�u�I�vH�}E1��4{����A������f�I�vH�}�{����A��M�v8M��tA�~u���f.�E���u���A��M��H�l$L�=�v�����L�}0E1�M������H�\$H��D��� �E1�M�0M��������A�u܅�tH�\$A��~���I�wH�{�cz����t�I�WHH�CHH9�t�H��t�H��t�H�rH�xE1��8z����A�����DH�E0H��u��f.�H�@0H�����p�V���w�H��A�L�5'fL�=�u����@H�E0H�����PH�@0��tH��u�E1�A������L��e1�1Ҿ���E�������L��e1�1Ҿ��E��H�;0H��1����H��E1�L�5�eL�=Xu�7���L�ye1ɾ�L�l$�jE���B���L�l$L�ReH�T$1�1Ҿ��AE��H�-�:0L��UL�L$L��U����E1�����K��H�\$����ff.�f���H��t'H�GH��t �xu�fD�xtH�@0H��u��1���ff.����H��tH��tz�O��w�H��=ucAUATUH��SH��H��H�G@L�gH��tNL���M��tBM��tmL��L����?����u^L�c�����H��L���C��H�CM��u"�S���H��M��tH�G��H�CH�x90L��H�H��[]A\A]��fD�����H��L���B��H�CH��[]A\A]Ð�[G��H�C��D��H����H�����F����AT��I��UH��H�5�eHc�SH�>��H�u�p���1�[]A\�f�H�uP��p��[1�]A\�H��r��v.��uH��L���s���H�SH��t2�B��t*H�Ӄ�r�w�H�sPH��t�L���p��H�SH��u�H9�t�H�S0H�����BH���fDH�uH�}@�[��H����H�XH���E���H��L�����H�[0H��u��,���@H�]H�������C�P���v��tH�[0H��������C�P���w�H��L�������fDH�]H�������{tH��L���r���H�[0H��������{u�H�sPL���o���ߐH�������H�S0H������H�[(H9�u��|���������t���f�1�Ã��f���H��tGH��tBUSH��H���c��H��H��H����y��H����,9����H����H��	�[]�����D������f.���USH��H��������GH��cH��Hc�H�>��@H�PH��tyH��[]�D��@H�wH�@�SY��H��tX��q��H��H��tKH��1��c��H��H���,y��H����F��H��H���<��H��H��[]���@��U��H��H��u�1�H��H��[]�f.�H�H��[]�!D���H��[]���D��AWAVAUATUSH��H���q�FI�����b�D$
E1�E1��fDM�(M���-A�G��u�I�_`H��t�M��tk@E����I�$H�{H�pH9�t<A�E�M�t$I�l��#fDI9���I�H�{I��H�pH9�t	�s����t�H�H���v���M��u��D$�xH��30Hc�H���I��H��toIc�I��E���o���fDIc�A��I��I�D�H�H��u������D;l$|��d$�D$L��pH��20Hc�H���I��H��u�L�f_1�1Ҿ�E1��?��H��L��[]A\A]A^A_�E1���ff.�@AWAVAUI��ATA��UH��SH��H��L�XM��tNH���!@I�Ht1I�H���]r����t!I�GHH�xH9��H���@r�����M�0M��u�E����M�e@M����I�|$P��I�EHH����H�xH�����A��H�5��H����o��I�uH����o��I��H����H�$H����I�|$P1�H��L���M��I��H����I�|$XH��tH1�H��L���M��I���DI�H���lq����u;�M�0M���$���I�Hu���H�$H��tH��H��20�DE1�H��L��[]A\A]A^A_�M�uH�$H���I���H�5�8H����p����tPI�|$PH�
�fH��L����L��I��H����H�<$tH�o20H�<$�M��t�I�Xu��x����I�}@L���f��I��H�D$H����L�8M��u��fDI��M�}M��t[I�H���Wp����t�I�EI�|$PH��L��H�H�;L��I��H��u+I�|$XH��t�I�EH��L��H�H�L��I��H��t�fDH��10H�|$�H�<$�)����1���I�|$XH�������H�
�eH��L����K��I����H�<$H���z������H�\10H�|$�H�$H���h���H���^���ff.���AUATUSH��H����FI�����H��H��tI��H�59eH���@o������A�EM����M�d$(M����A�D$�P�����������u�I�\$`H��u)�O�H��tH�{tH����n����uH�H��t(H�{H��u�H��u�H�{t�H��H��[]A\A]�DM9��o���I�\$HH���a���H�{H��txH���O���H�{�D���H���dn����u�M�d$(M���8���H��1�H��[]A\A]�M��tI�\$`H��u�H��L��[]A\A]�a���A�}t2M�e@M��u���H������H�{�����<����H�q.0�0�H��H��tFf�H�=�5�@@@ �=��H�=�cH�C�p=��H�CI�E`H�I�]`����L�&Z1�1Ҿ���9�����ff.�f���AVAUATUSH���+�~I���I��H���H��H�55H��� m�����E�uL��D���@H�m(H�����E�P�����������u�H�]`H��tADH�{H��t+L���l����tH�SA��uH��tH��L��董����t~H�H��u�I9�t�H�]HH���z���H�{H���m���L���ml�����]���H�SA��u	H���J���H��L���7������6����@A�}t?I�m@H��u�1�H��[]A\A]A^�f�H��t�H�]`H��u�[H��]A\A]A^�2���H�{,0�0�H��H��tFf�H�=�3�@@@ �;��H�=�aH�C�z;��H�CI�E`H�I�]`�x���L�0X1�1Ҿ���7���Y����AWAVAUATUSH��HdH�%(H�D$81�H���IE1��~H��u%H��H��t�zuH�RI����j��I��H��t+H�L$8dH3%(L���'H��H[]A\A]A^A_�f�L�MM����I��2�1�L��W�2L���P/��L��H��L���=���H��uR�H��L�ZWL��1�R�2��2�/��XZL��H��L����<��H��tFD��A����>���L�MD�jM��u�A��L��VL��1��2��2�.���@H�uL��H����I��I����f�E1�����H�defaultI��H�$������<��D��H���F�~�<H���3�	�)H9~@�AWAVE1�AUE1�ATE1�UH��S1�H��(H�4$H�|$�H�}H��E��u5L�5�)0�PA�H��H�����PA�I��H���9A�
E���dH�uHH;3��A�T$��H���DH�<�H��H9t���A��H9�u�E9����}�UH�EH��t�}tH���G���H�EH��u�fDH9,$t:H�E0H��u�H�E(DH��HE�H;,$tH�E0H���kH�E(H��u�DH��tH�*0H��1�M���H��)0�$L����$H��([]A\A]A^A_�L�H�H�EHE9��=���H�UHH�4$H�|$���H��H������E9�XE�H�D$H��'0H��Mc�N�<�L���H�T$H��H���HH�x'0H�T$L��L���H�T$H��I����Ic�A���}I��H�uHH�4�H�UH�����L�}XM�������@I�H��E��u5L�5�'0�PA�H��H�����PA�I��H���1A�
E����I�wHH93��A�T$��H���DL��H��H9t�t%��H9�u�A9�t(M�0M���d�������M�I�I�GHA9�u�I�WHH�4$H�|$�/���H��H��t�E9�|ZE�H�D$H�C&0H��Mc�I��L��L�T$�L�T$H�T$H��H����H�&0H�T$L��L��H�T$H��I��t@Ic�A��I��I�wHH�4�I�WH�C���1��7���M��1��N���H;$�B������@L��R1�1Ҿ��.2��H��'0H�������H��([]A\A]A^A_�E1�����L�|R1�1Ҿ���1��H��(�����[]A\A]A^A_�L��E1��X���������L�=R1�1Ҿ��1��H�'0L���������z������AUATUSH��H��te�u_H��tZH�_XH��I��H��u�1�H�[0H��t'H�{H���d����t�H��H��[]A\A]�f�M�l$@M��tI�}PH��uD1�H��H��[]A\A]��I�t$H���I��H��H��tH�{Xt�H��H��[]A\A]�I�}XH��t�I�t$H���pI��H��H��u�1��@��H��t�uH��t���f�1��ff.�f�AUATUS1�H��H�����~��H�����z��H��t
���H�BHH��I��H��H�rH�}(H����H�P�H0��I��H�u@H9s@tH����F��H�E(L�c8H�C(M��tbI�T$0H�S0I�\$0H�S0H��tH�Z8H�{8u	H��tH�XXM��tA�}uH��H��[]A\A]�DL���F��H��H��[]A\A]�f�H�k0H�]8�fD1��/��I���\������H�����WH���������F����H9���ATUH��SH��H����tfL�c(H�u@H�k(H9s@tH����E��L9����E�����{��H�}tnH�E H�X0H�C8H��H�] H��[]A\�f.���t{H�} H��t��u�H�CH9G�x���H9��o���H�sP�\[��H���dI��H�E �fDH�]H�] H��H��[]A\�@H�}Pu9�{�b���H��1�[]A\�@H�P�z���H�FH9G�l����H�sPH����Z��H����H��H���1���@��u�H�}X��H�CHH�sH����H�PH���.��H��tVH9�tQ�xtH��H�D$��W��H�D$H���+��H�UXH��u�>fDH��H�B0H��u�H�Z0H��H�S8���@H9�u����fD1��DH�]XH�����@1�H���v-���n������H������~�O��wwAT�UH��H��SH��H����tbH��tdH�GPH�XH9���H�K@H��t(H���H��tH�ƉT$�c(���T$���H�CPH��H���h@��H�CP�f����uH��[]A\��L�g H�@�S,��H��H��t�H��H���;��H9�u�M��t�I;l$0u�H��H��L��[]A\��/��@H�{PH���;��H�CXH�CP�ff.���H��t/H��t*UH��H��SH��H���<��H��H��H��[��]�k[������H�����t}H��tx�~trH9�tmATUH��H��SH����U���C��t[����H�u@H9s@tH���XB��H�U(H�E0H�k8H�C0H�S(H�]0H�C0H��tH�X8H��H��tH;j tu[]A\�1��D�}��H�E0H��t��xu�H�@H9Eu�H�{P�.��H�U0H��H�rP�\��H�}0H��I����*��H�V 0L��H����E��H�E0�H�Z []A\��H��H��[H��]A\�>���fDH�sPH���|W��H���E��H���G���ff.����AWAVAUATUSH��HdH�%(H�D$81�H����I��1�I���h?��H��H����1�H��L��E1��<L��H�D$.H�D$H�D$f��E��t<&tdH���E��u�L9��FH�|$�:H���\������H���%��H�\$8dH3%(H�D$��H��H[]A\A]A^A_�L9�tH��L��H��L)��0����u��E<#�
H�}<;������I��I��A���t<;u���L9���L��H)���#��L��H��I���fA��H��H��t
�x\�H����[����u=1�L���>E��H����H��H�D$��.��H�t$H�FPM���&L����6��I��L��L���  ��H��H����H��tH�}�HM����L��H���6��I��H��0L��I�oI���e���D�E<x��H�U<;���H�1�H�Հ�	v�af��H�H��	wM��H�j�tH��B<;u�H�j��t'L�|$L���-/��L��H��H��D.�{U����� ���I������E1�H�
IL��I�����'�����@I��H�L$�&���I��H�t$�������I��I�oI���y����T#��@H�D$����EL�m<;��1��fD���t�A�EI�U<;t'I�ՍPЀ�	v�P���w!��I�U�t�A�E<;u�I�m���@�P�������t��H�pPH���oT�����Z�������f�L��1��C��H��H��H���>����,��H�EPM��tSH��L���4������H��L��H��L)���-�����I��H�
�GL����&�����H��I���V���H�l$���H�E����H�pPL��H�D$����H�L$Dž�H��H�Eu���fDH��H�p0H�h(H��u�H�E �c���M���+���H�g0L������E1�H�
�FL��L�����%�����H��I������h,�����AUATUSH��H���H��0I��H��I���`�H��H����H�xH��H�H��H�@X1�H)���`���H��CM���~I���H��tr�����H���$��H�CL�k@M��t=L��L����+��H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C H��0���uH��H��[]A\A]�H���H(��H�C�f��(��H�8t��(��H��H��H��[]A\A]�D1��@L�;D1�1Ҿ��v$���@��ATI��UH��SH��H��H��t7H���H��t+������#��H��H����S��H��H��uH��[]A\�fDH����P��H��H��t�H�k@M��t�L��H���*��H�CH��t;H�P0H��u
�H�H��H�J0H�X(H��H��u�H�Z(H��H�S []A\�DH�C H��[]A\��H����ff.���ATI��1�UH��S���H��H��tFH�h@M��t=L��H���?��H�CH��t6H�P0H��u�;H��H�J0H�X(H��H��u�H�Z(H�S H��[]A\�DH�C H��[]A\�H����ff.���H����H����S�GH����t^�ǃ��	u<H����B��H��t?H�S@H�{�@H�X(H�P@tEH�S H�B0H�P8H�C [���uH�{@�D1�[�@H�@H��u�H�sH�B���@H�CH�C [�fD1��D��H����H����S�GH����t^�ǃ��	u<H�����H��t?H�S@H�{�@H�X(H�P@tEH�S H�B0H�P8H�C [���uH�{@�D1�[�@H�@H��u�H�sH�>���@H�CH�C [�fD1��D��AUI��ATI��H��H��UH��SH���.Q��H��H��t^L�`@M��t@L��L���"(��H�CH��tqH�P0H��u�~fDH��H�J0H�X(H��H��u�H�Z(H�S H��H��[]A\A]��H��t�M��t�I��$�H�������u�H�S0H���@H�C H��H��[]A\A]�f�H���ff.���H�����O����U�H��SH��H��H�������t{H�wPH��t7H�GXH9�t.H�G@H��tH���H��t
������uH�sPH��0H���H�{H��t�*��H�CH�C H����H���#��H�CPH�CXH��[]����H�H��t�2*��H�{@H���&��H�CH��t5H�P0H��u�Jf�H��H�J0H�X(H��H��u�H�Z(H�S H��[]�fDH�C �fDH�CP�m���H������AWAVAUATUSH��HH�|$dH�%(H�D$81�H���pHc�1�I��L�<�?4��H��H���S1�H���A��M9���A�E����H�D$L��E1��f�H��I9����E����<&u�I9�tH��L��H��L)���%����uqL�mM9����}#�ZH�}I9�v.�E����I��<;u���A���th<;tdI��M9�u�H�T$I���H�
�?��M��DH�����H�L$8dH3%(H�D$�7H��H[]A\A]A^A_����t�I9���L��H)��x��H�|$H��I���6��H��H��t
�x\�H���~P����u?H�|$1���9��H���HH��H�D$�#��H�t$H�FPM����L���~+��I��H�|$L������H��H���H��tH�}��M���AL��H���>+��I��H��0L��I�nI��I9��L����I9�tH��L��H��L)��2$��������H���O�����qH�|$�����H�|$H�5���
9��H�D$���H�}L9��X����E<#�"���1�1��P�L��	����I���tP�1�M9�v�A�E<;u�H����t'L�l$.L���#��L��H��H��D.��I��������I���c�����E<x��H�}L9�����<;�r���H��I���/���I��H�L$���I��H�t$�p���H�T$E1��H�
�<��������DH�D$���H�pPH���&I�����c����a���f����-���I��I�nI���Q���H�|$1��7��H��H���)���H���I!��H�EPM����H��L���A)������L�mM9�v�E<;uH��I���C���1�1��P�L��	w*���t�I��1�M9�v�A�E<;�x����P�L��	v֍P���w���t���f��P��������t��H�pPH�|$H�D$H�E�����p!��H�L$Dž�H��H�Eu�1���H��H�p0H�h(H��u�H�E ����H�l$�%���M������H��0L������H���L�����U���H�|$1��g6��H�D$H�����H��� ��H�L$H�AP����H�T$E1��H�
�:��������� ��ff.���H�����O��w{�ATA��H��UH��SH����ug�tSH�H��t��#��H�{@D��H������H�CH����H�P0H��u��H��H�J0H�X(H��H��u�H�Z(H�S []A\���H�wPH��t7H�GXH9�t.H�G@H��tH���H��t
�����uH�sPH�m0H���H�{H��t�J#��H�C H�CH��t%D��H���Z��H�CPH�CX[]A\�f�H�CP��fDH�C �N���H���>���ff.���H�����t}H��tx�~trH9�tmATUH��H��SH���B���C��t[����H�u@H9s@tH���/��H�U(H�E8H�k0H�C8H�S(H�]8H�C8H��tH�X0H��H��tH9jtE[]A\�1��D�}tZH�}8H��t��u�H�GH9Eu�H�sP�D��H���2��H�E8�f�H�Z[]A\��H�}8H��H��[]A\��DH�{P���H�uPH���3I��H��H��I���U��H��0L��H���A2��H���T���f���H���+UH��SH��H���GH���������~��H9�������H�G(H���|H�xtuH�@ H��tlH�x0ueH���H���A���{�EtW����H�s@H9u@tH���|-��H�S(H��H�]8H�E0H�U(H�k0H��tH�j H��[]ÐH��H�K0H��u��f���u�H�EH9Cu�H�uPH���%C��H���-1��H����H��1�[]��H��H��H��H��[]��@1��D��USH��H���}H��tx�~trH��H��H���@��H��H���,��H�{H�](H��tX�H��u	�)��{t"H�[0H��u�H���E��H��H��[]��H��H�����H��H��[]�1�H��H��[]�H�kH�k 1�H��H��[]���ATUSH�����H����I��H�����F��t~H�tgH� ��t~L�g0L��I�|$8I�|$0H�u@t'fDH�k(H9s@tH���+��H�u@H�[0H�{0u�H�k(H9s@tH���+��H�] H��[]A\ÐH�uH����1�H��[]A\�fD��x���H�GH9F�j���H�vP�OA��I�\$0L��H��t�M/��I��H�} �C����</��H�] �fD��SH��H��H��tOH��H��t�t	H��[��~u�H�WH9Vu�H�vPH�|$��@��H���2>��H����.��H�D$��H��H��[��AWAVAUATUSH��H��t-�I��H�����GH�c6Hc�H�>��f�E1�H��L��[]A\A]A^A_�H����[]A\A]A^A_��!��H��[]A\A]A^A_�4��DH��H��L��[]A\A]A^A_���H�q0A��I��H���x�H��H���mH�xH��H�H��H�@p1�H)���x���H��CH�sL�m@H;50L�e(�E��H;5�0��H;5�0��H��t/M����I���H����������\��H�E��C���TH�{P����H���„�t������M���;H��0�����H��L���o!��I��H9������E���}����C�ƒ��<���3H�KHH��t3H�QH��L�����H���iH�EH�S�Ѓ����������.L�CM���DI��A���7L��L�ǹL��L�L$L�$���L�$L�L$H��I����I�A I9�tH����I�G8L�x0M�y A�x�JI�@H���=M��I���DH�u�����Cpf�Ep���E�����H��0I�����V�������H�8�G�������H���8���DH�{`H�����2��H�KHH�E`H���������������H�EP�>���f�M��t
L;k@�KH�uL���(��H�EH�E I��M�������U���@�C��H�8�����4��H������f.�H�KHH���)���H�sX��H���M���H���<��H�EX�C�9���M��DI�@0H�������M�@(M�(L9�u��l���f�H���H��H�E�?����M�y�V����L�001�1Ҿ�E1�������H���^*������H�CHH�{@H��H�P�u��H��t7H���H��H�W(H��u�H�PH�p�"��H�EH�X���H�CH�E���H�SHH��L���Z��H�EH�3��������1�1��!������ATUSH����H�OpH�WhH��H�w1��I(��H��H���eH�{`H��t	�_��H�E`H�{HH��t	�-+��H�EHH�{PH��t	�/��H�EPH�{XH��t	�	E��H�EXH�{xH��t	���H�ExH�[H����E1��!�����������tyH�[0H��t^�C��u؋C\��t�����w�H�}xH��t�H�s���H��t�M��t_I�D$0H�@0H�[0L�`8I��H�h(H�E H��u�H��[]A\�f.�1�H���&���@H�S`H�sH���P@���fDH�E�f�H�}`H���y����E���fDH�KhH�SH��H�sp�$���^����1�[H��]A\�ff.�AWAVAUATUSH��H��trH��I��I��E1�E1��@@M����I�]PH��tvH��L���K��M��tVI9�t	I�\$0L�c8H�m0I��H��t$�}t��L��L��H����H��H��u�E1�H��L��[]A\A]A^A_�fDH�C8I���H���(8��H��H��t�L�h@H��L��L�x(I�EP����i���@H�m0�v����AUATUSH��H���5H��I��H���>�~�H�rI�|$@1��T��H��H���L�`(H�CHH����H�PI�|$@L�����I��H�CHM���VH�pI�}�?������L�mHH�{H��t?H�u@H���h���H�E �H�EH��tH�H0H��tH��H�H0H��u�H�E ��toI�|$@tgH�{@H��t^H�xtWH�s(H��tNH����%����tBH�sH�{@���2��H��H��t(I�t$@1�H��H����	��H��0H���fD1�H��H��[]A\A]��H�rH��tW1�� ��H��H��t�H�{H�E(H�EHH��t�H�u@H���s���H�E 1�H�EH���
����f.�H�B(H��twH�x@뚐H�{@H�PH�s(���L��H��u
���f�I��H��H�W(H��u�I9|$@H�PID�H�p����H�EH�u���f�H�{H�EHH���g������fDH�BH��u�1�1��>
��H������fDH�SHI�|$@L���/��H�EH����fD��H��H��1��o���ff.�@��AUATI��USH��H��H��t�uAH��t<1�E1��DH�E0H�h8H�[0H��H��tH��L���8��H��tH��u�I����f�E1�H��L��[]A\A]�ff.�@��H��1�H��H������ff.����1�1�������ATUSH���H��H�hA����
��H��H����CH�{�EH��t
H�f�/�H�EH�{pH��t	�:��H�EpH���H��t�%��H����������CH�EH�CL�ELE����H�{PH�E H�EH��t!��3��H�EPH��tkH��H�����H�EPH�h(H�{`H��t	�)��H�E`H�{H��t5H��H������H�E H�EH��tH�P0H��tH��H�P0H��u�H�E H��[]A\�H���	��1�[H��]A\�f�����1������H���c��H��tH��H������f�1�H���f���H��t7�u1H��t,H��1ҹ�|��H��tH��H���˘��1�H��Ð1��ff.�f���H��t7�u1H��t,H����.��H��tH��H���}���D1�H��Ð1��ff.�f���H��tGUSH��H���t(H�-Y�H��H�5VH���>��H��uH�[(H��u�1�H��[]��1��ff.�f���AUATUSH��H��tm�H��udL�-�DL��H�5�,H���=��H��H��t5H�5�H����9��A�ą�u@H��H�5H���9��H��H�}�/uK�H�[(H��u�H��A�����[D��]A\A]�@H�Q�/H��A��H��D��[]A\A]���H��D��[]A\A]���AWH��AVAUATUSH��H	��BI��H��H��t
�~�-M���DA�}
�YH���)�C���1�L�5��"f�H�[(H�����C������u�L��H�5bH���p<��I��H��t�H����H��H���D;��I��H����H�Q�/H��L���H�B�/L���H�5m%H���5����t4�H�5]%H���5����t�H�5L%H���5�����A���H��H��[]A\A]A^A_��H���H��/H��L��f�1���@H�{xH��[]A\A]A^A_����L�k@M������A�}
������I�]H��t�H�{H��t�H�-���DH�[0H��t�H�{H��t��{u�H���������H�{H�5�Y�x����ttH�{H�5�`�d����u�H��H��H�5�a[]A\A]A^A_����M�������I���H�����H��t;H���9��H��H��H���/H������H�[�K���I���H������H������ff.�@��H��t?�u9H��t4S1�1����H��H��tH���"-��H������1�[ø����[��������f���H��H��tH�vH��tC�u=H��t8SH��1�H�����H��H��tH����,��H���z��1�[ø����[��������f���AVAUATUSH����H�^H����I��I��I��H��H�������H����H��1�L���)��H��H�����xP��H�{H��t�E��H�CH�C L�cHM��t>H�}@L�����H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C �{PtXH��[]A\A]A^�@[L��L��L��H��E1�]A\A]A^�ܛ��@1������H�}@H�������CP�E����H�u@H��L��1�����ff.�f���H��t�G����w�UH���
H��SH��H��H��H�@�I4��H��t$H��H��H��H��[H�_]����f�H��[]�f���H��t�G����w�UH��
��SH��H��H��H�@��3��H��t-��t1��u$H�
H��H��H��&H��[]�]���DH��[]ÐH�
S������H����AUATUH��SH��H���O��wS�H���u2��"t?H���H��t	H�D�/�H����H������H���H��[]A\A]��H�{@H�5�
H���3��I��H��t�H�����I��H��t5H��L��H�p\H�����H���/L��H�H��[]A\A]���H��H��L��H��H�4\[]A\A]�I���f���Hǃ��N������AWAVAUATUSH��dH�%(H�D$1�H����H��H�����H��u_H�t$H��I�����I��H��t7�t$H���,���H�{@H��H��I�����I��M��tH���/L��M��u1L��H��1�H�����H�L$dH3%(u-H��[]A\A]A^A_�f�L��L��L��H���O�����D1�������ff.�@��H��t1�����D1��D��H��tO�G�P�1���wDH�WPH��tA�2@��t9@�� w-H�&H��sH�����t< w	H��r�1��D��f.���H�����G������UH��SH��H�XH��H�G�H9�t-H�K@H��t6H���H��t*H�ƉT$�����T$��tH�{PH�����H�CP�H�CPH��H�����H�CPH��H�CX��H����[]���������f.���H��/S� �H��H��tE�@������C�����{��CH���/�H�H��t6�H�CH��[�fDL�)1�1Ҿ��f�����@L�	1�1Ҿ��F���H���/H��1��fD��U�����SH��H9�wtH�U�/H��� �H��H��tk�@�'����EH��u%�EH�EH�EH��H��[]�@H���/�{�}�H�EH��t8���1�H��H��[]�@L�A1�1Ҿ��~����@L�!1�1Ҿ��^���H���/H��1��u���ff.���H��t�tH�H�GH��fD1��D��H�V������H9�w>H��t9UH��� SH��H��H�!�/�H��t"�X�X�@H�(H��[]�1��DL�a1�1Ҿ�H�D$���H�D$��f���H��t�G����v
��t��w�w�ff.���H��tOUSH��H��H�-��/�WH�E��t#H�;H��t��t��H�EH��H��[]��DH�H��u���D����H��tH�H��t�W�G��t��t���H���H��DH�WH��t�H)�H�G��f.���H����1������W9�����AT)�UH��SH���G�WH�?H���tG��uRH�KH��tI�CI��H�3I)�)�CL9�w)H���c ��H�C�SH��Dc�
�)kH�3��[]A\��3 ���CH����[]A\�f�������f.��ff.�@��H�����O1�����D�G�WE��A)�A9����AT��USH��9���A9�wGָ�������G��dH��H���/H�;H���tJ��H����H��C�k���[]A\�D����������E��x�C�4H������H�SH��t�H)�H�I��H���H��t7J�< H�CH�;뛸�����L��1�1Ҿ�����������{���L����ff.����H��tGH��H�>H��t<H��H��t#�V���(������H=���G�H���H��/H���@1��ff.�f���H��tH��1��ff.�f���H��t�G�1��ff.�f���H����AT1�US�WH�������O���9���L������M���k������
��t}��
H�����H�{H����I��I)�I9��PH���/L�H����H�CL�H��"�H��H���/�I��H����L�#�k�[]A\Á�v'9��������������9�w��H���H����+K��cv�H���/H���I��H��tP�SH�3H���H
��H�!�/H�;��CA��o�����E
��E�9�w���9�vz��y�L�\1�1Ҿ��l���[1�]A\�D1��D��
�P���H�A�/H����CI�����f��SH���U��H�C�SH������f����_���������f���H����ATUH��SH��������Ӄ������tSI��tR�}�E)�9�w"��L�m��9�sV�tH���)����t?�}Hc�H}L�����H�E]�]�1�[]A\�H���x���Å�x2t��fDL�.1�1Ҿ��>���������봃��D��H���]AUATI��US��H��H���ƒ������0�H���#1���tu���������}tn�U�E)�9�w#���9����tH���(�������UH�uLc�J�<.���H�}L��L�����H�E]�]�1�H��[]A\A]�DH�EH��t�H�}Hc�H��H)�H9��s���H)�L��H�}�Z��H�U��E�E]�1��H��������-����L��1�1Ҿ�����t���L��1�1Ҿ����f�������N������f���H��t�tH��t������R"��f�������f.���������H��t�t	���@����H��t�t	�|���@����H���+AUATUH��SH�����H��"H����H�����'H����H����H�5��H��L�-��
����H���f�L�����tFL�c<"u�H9�tH��H��H)��[!��L��H���K!��L����fDH��[]A\A]�DH9�tH��H��H)��!��H�5{�H��H��[]A\A]���@H��H�5[��q���H��H���f����@H�5��H���Q���H��H���F��H�5y��D����H��t�GHø�����ff.�f���H��t��x��
�	M�wH�@�GH������/�D����x��
�	M��=��/�fD���/�D��H��H���/� �H��tf�@H���DL��1�1Ҿ�H�D$��H�D$��f.���H��t'SH��H�H��t�V��H�>�/H��[H���D�ff.�@��AWAVAUATUSH��8dH�%(H�D$(1�H�D$ H��tH��H��t	H��H9r@t/�����H�L$(dH3%(�H��8[]A\A]A^A_��H�z(���J���w��H��¸����t�I��L�|$L�t$H���:��H�D$ H�$�C��ti��u4H�KHH��tH�T$ H����E1�M���4L�KH�{tI�H�C0H��uKH�[(H��u�H�|$ H��t	H���/�1�����@M����H�KHH��u�H�CXH��u	H�CH��t�H���c���@H�����1�������D$���g���H9
����H�|�fD��H9��@���H��H9L��u���{Hc�H��H�CHt��9���f�L�k`M���\�����M�mM������H�<$M��L��L��L���>U�����u�H�|$ H���,���H��/�����H�QH�qH���r��H��t�H�KHH�<$I��L��L��H�D$��T��L�L$���������1��D��������AW��AVAUATUSH��xdH�%(H�D$h1��T$H�D$XH�D$`�D$H�D$LH���.H�F@H��H�D$(H����N���
H�D$XI��E1�1�H�D$H�D$P�����H�D$0H�D$LH�D$8��������I�~H��L�L$XM�ȅ��H�u(H���H;v@�M���g�~�xH�|$�W������/H�t$`A�NI�VHL�L$XH����M��tI�H���H��1���A����L��PL�D$H�L$@H�|$8��s��ZY�����H�D$PA�NI�FH���tN����M�FM����A�HM�ƃ�����I�V`��H���I�~HM�������f.�M�FXM��t�A�HM���fDI�VHH�t$`H���.����D$L���"���H9�}��L�D��f�H��H9T������I9�u����DH9P�SH�H������x �u���f�L9�tYH�t$X�@M���������.M�v(L9�t3A�FM�F0��u�H��tH�H������M�����M�v(L9�u�1�H�|$`H��t6�D$L��~%1�@H��H��H��H�<�4�H�|$`9\$L�H���/�H�|$XH��t�QQ��H�\$hdH3%(���nH��x[]A\A]A^A_�@H�FH��tW9X$|RL�N�@H�L�I��H�F9Y$|*H��H�HH��u�H�FH�L�H�F����H�N@9Z |�B ����H�H��u�����H�D$XH�T$PI����u?H�u(H��t6H;v@t0H���s�~��H�|$�T������;H�D$XH�T$PH�|$HH�L$`E1�A�H�|$H�L$ �~fDH���?L�8M����I�NHH��t E��tE1�H9�A��H��tL�(M����H�|$A��H�Ѿ�����=Q��H����L�l$PI�UH�T$PH���aH�D$X�t$��u�I�NHH��t�E��t��M�GH�zI�pH9�t�*��H�T$P��t'M�GH�zI�pH9����������H�T$PM�?M��tA�$�|�A� �t�M�?M��u�H�D$X�DI�EH�zH�pH9�t���H�T$P��t	A�] DM�mM���	���A�}$�|�A�} �u��I�FHH�����E�����E1�H9�A������H�@I�FH����fDM�v(A�N����M�GH�T$PH��H�t$H�T$8H�|$ ��N�����tWH�D$PH�M��tTI�UH�H�T$PH�������A�NE��t?I�VHH��t6L�L$XM�������GH�H��H�I�VH���������}���I�V`�I���M���$���H�|$`�����H���c���L�����H�|$`�����H���H��������������X����AWAVAUI��ATUSH��H�t$L�L$dH�%(H��$�1�H��H�D$x��M������M���A�}�t)H��$�dH3%(�E
H�Ę[]A\A]A^A_�I��I�M@I��M��H����H���������H9�u�I���H�D$8M��t	I�FH�D$xI�1�L��E1�H��$�L�|$@�����H�D$`H�D$xH�D$�D$HH�D$XH�D$0L�T$ L�t$(A��H��H;L$�(�K����H��H��	�]���H���/H�T$P1��`�H�T$PH��I���	H�xH��H�H��H�@XH��H)���`���H�H�|$�zM�g(H���
L�}0I�o8�CH�sH;5�/A�GH�D$ I�G@��H;5}�/��H;5��/��H��t-H�|$8H����������H�CI�Gf.��{��CH�5XHc�H�>��f�H�|$�M���@��������fDH�sPH��t'H�D$8H����H��������%H�CPI�GP�H�|$xI9�uB���A��H�C0H���TI�G(A����H��tL�x L�`(H�[(I��I9���D�CA�@�vA��u�H��t�H�H��t�H�GH��tcD9p$|]H�w�!�H�H�0H��H�GD9q$|1H��H�HH��u�H�GH�H�0H�G�J���f.�H�O@D9r |�B ����H�H��u�����fDI�w����H�1�/�x�I��H����H�xH��H�H��H�@p1�H)���x���H�H�|$�2M�g(H�������M�|$���H�\$XH�SHH����H�|$xD�D$HH��E���H�t$H���H�|$(��H���`�~��H�|$0�M������pH�D$xH�SHH��tH�H����1�H�t$X�{��H��E��PL�D$@H�L$pH�|$0��i��Y^����H��$��D$HI�GHA��O�{�3H�CH���������$���u
�{�����M��E1�H�H@L��H�����@L�|$���fDH�L$�g���H�D$ H�|$H9���H�xP��H�sH�|$ �b���H���)���H�PPI�GI�G I�WP����H�C`A��H���p���D�L$HE���-H�|$�!H�|$(�H�|$x�
H�D$�x�EH�|$0H���L�������H�C`I�`H��$�H���H���/L�|$HH��L�d$PL�d$(H�\$XI��L�l$h�+I�|$��H��$�H�H��$�H�����0A�I��H����f�@@ �@H��$�H�xH��t��I�EH��$�H�xH��t	�f�I�EL�mL��M���j���H�D$xH��$�H��tL�M����H�|$0E��L������H��H���:���L�|$@H�|$xM�����@H��tM��t
I9~���D$�sF���D$H�\$I��	���f�L�t$(L�|$@�����H�|$x�f.�H�H�����x �u�H9Pu�H�@�D$HI�GH�;���L�t$(L�|$@1��o����L�`(H�[(I���%����L���H�H�������{$�|�{ �u�H�CH�zH�pH9�t�J��H��$���t�D�s �L�|$HL�d$PH�\$XL�l$hH�SHH���hH�\$XH�D$xH���$���H�|$(H����H�GH����H�JH��H�R��H�SHH�|$0�����A�����H��H��$��xF��H���#���H�|$xL�t$(��L�|$@H���n�������M�|$X��H�H���c���H�OH��tH�wH�H�WH��C���H����I�G�!���H���	�I�GP���H�CXH��������I�w(H�������H�|$ L������������H�sH�{@�����H��H���q���H�t$ 1�H��H������H���sH�l�/H���E���f�H�sH�|$8��������I�G�t���H�sPH�|$8��������I�GP����I�`H��$��$���H�|$1��{���H��HEt$X���H�xX�K������H�CPI�GPH�CI�GH�C I�G �i���L�J�
1�1Ҿ��O����������L�t$(L�|$@L���
�1�1Ҿ�!��H�|$x��������L�t$(L�|$@L���
��H�\$X�D$H�%�����L�|$@���o���L�t$(L�|$@H�|$x�G���L�|$@H�|$x��H�|$xL�|$@��H���9����A���H���/H��L�t$(L�|$@�H�|$x�����L�|$@��������AWAVAUATUSH��hdH�%(H�D$X1�H����H�͋JH�Ӄ���H����I��I��M��M��t
I9h@��H�C@H��tqM��tdL9��kI9��b���w�H�੾uI��������H�|$XdH3<%(��H��h[]A\A]A^A_�f.�I���M��u�럐H�C(L9�tH��tH������K����H�k@����M����I��$�H;���������d���KL�kM��tKH���H����
�����L������H�CM��tI��$�H��tL���w����uH�<�/L��H�sPM����H����I��$��@H�CHH��tlH�PH��t	�:x�L�HM����
M����A�~��L��H�5��
L�L$�
��L�L$����H���;C��I��H����L�{HL�kM��tKH���H����	�����L������H�CM��tI��$�H��tL�������uH�L�/L��L�k�CPH�CXM����A�U���.A������YfD����H�}PI�EPI�EI�E ��I�uH����H��tkH�PPI�EI�E I�UP�PI��I�m@��rL��w�I�uPH��t>M��t9I��$�H��t,�����t#H���I�uPH���R
D������I�EPI�EH��u��DI�E0H��u�M�m(L9�u�fD1�����f�1��������H�sPH��t�H��t��B����t�H���H�sPH����	������`��H�CP1����DH�D$HH�D$P�D$M��tH���I9�$������D$M����I�G�H�D$HM��t
1�I���H�t$HH�T$PH��H�D$H�t$A�����H�T$(L�t$ I��L��I��D��H9h@�9L�h0M����I�t$@�DH9��I�E0H����I��A�UI�E@��u�H9���M�u@D��������fD���C���A�H�}PH�CPH�CH�C �vH�sH���r�H��tH�PPH�CH�C H�SPE���D���L�kM���7���H���H���������L������H�CM��tI��$�H��tL���l������H�-�/L��1����������E1��>�����PI��M�u@���H�5�
Hc�H�>��L�l$I�UHH����H�|$H��u@H�D$ H����	H����	�x�����H�|$H���@������I�UHH�|$HH��tH�H����M����I�GH����H�JL��H�RL����I�UHH�|$�����A�����H��H�D$P�A=��H���Q	H�D$P�I�EH�t$����M�EM��tzI���H����L�ƺ�����L$<L�D$0�O��H��L�D$0�L$<I�Et.H���H��t"L�ƉL$<L�D$0����L�D$0�L$<����H���/�L$0L���L$0A�}�H��tA�}P��A�EPI�EXI�EH������H�|$HM9��/E�MA�A�vA��uH��tH�H���c��I�E0H�������M�m(A��u�I�EH��t����H�H���l����x �u�H9Pu�H�@�I�EH���I�E`��H������M��tI�L�l$�������H�D$ H�|$HH����H�����x�����H�t$ H�|$�d>�������I�E`H�D$PH����L�l$H�T$PH�l$0L�l$�5A��H�Ѿ����L���-;��H���$H�D$PH�H�T$PH���SH�D$HH��t�H�(H��t��3H�EH�zH�pH9�t�$��H�T$P��t�] �H�mH��t��}$�|�} �u�뿋D$���=���M�EM��ttI���H���	��L�ƉL$<L�D$0����H��L�D$0�L$<I�Et*H���H��tL�ƉL$<L�D$0�q��L�D$0�L$<��uH�-�/�L$0L���L$0I�uPH�������H�������H���H��������L$0�!���L$0�������I���I�uPH������9���L$0I�EP�\���@I�~PI�EPI�EI�E �MI�uL���L$0�U��L$0H���(���H�PPI�EI�E I�UP�����T$������I�uPH�������H����H���H������L$0�X���L$0������I���I�uPH���w���p���L$0I�EP���H�|$H�����H�������M��t
I9���D$�u7���D$���@H�GH��tW;X$RL�G�@H�L�I��H�G9^$|*H��H�pH��u�H�GH�L�H�G�H���H�w@9Z |�B ����H�H��u��$����H�}X��������H�}X�1�������1��#���1�M�����z���M�������I��$�H�������L���
���������H�{����H�C�y���M���w���I��$�H���f���L���������V���H�{���H�C1��U�M���9���I��$�1�H���9�L�����������H�{�m��H�C�
���I�����L��H����S��I��M��������0���H�H�����H�OH��tH�wH�H�WH����zm���zl���z���H���^8��I���f�1�A�}�L����H�|$ HEt$H��PL�D$ A��H�L$8�V��_AX����W���H�|$H���A�}�����I�EXI�EhA�EpH���������I�~X��������H���P��H�CP1���H���=��I�EP���1�L�d$M��H�\$H��H�l$L��H�D$ �+��������M�d$(M����M;d$@��A�D$��u�M�l$`M��t�I�uH����H��uMI�uH9�tH��������tiH�|$ tI�UH��L���7�����z���tHM��L�d$H�\$H�l$��L�{`�"H��tH��t	�����uM�?M��t�I�uI�H9�u�M�mM���c���H�\$ L���)���fDH�������H���H��tL�ƉL$0����L$0����A�}�M����Y���L��H��L$0�����L$0�;���L�l$H�l$0I�UHH����H�|$HL�l$���H�D$P�2���H������H���H������L�ƉL$0����L$0���*���I�}�a���L$0I�E�����o����A�~L�d$H�\$H�l$���H�CHA�L��H��H�HH�P�5Q��I�����I�}����L$0I�E����H�|$H��H�������������H���L$0�����L$0I�EP�@���L�l$��w���H���L$0����L$0I�EP�(������H��H�v� Hc�H��tED�
H��L��Mk�L�D��M��t*DH��I��H��H��I��L�L�D�J�H1�M��u�H��H��H��H��H�H1�H��t7�L�IH��t+fDH��H��I��H��H��H�H�A�Q�H1�H��u�H��H��H��H��H�H1�M��t6A�I�HH��t)DH��I��H��H��I��L�H��Q�H1�H��u�Hc�H��1�H��H���D��ATL�%3�/�USHc߿ ��HN�A�$H��H��t?�XH�[H��H�@�@H��A�$H�EH��t H��1�H���{�����EH��[]A\�H��/H��1�H��[]A\�f���UH��SH������H��H��tH�hH���
�H��H��[]���H���pAWAVI��AUI��ATUSH��H�?H���CA�UA�]��������H�D$H�K�/H�$�,DH�L$�ȃ�A9E�…���H��H�L$����H�D$H�@H��L�<A�G(��t���+f�I�G ��u	H�$L�����M��1�M��tNM�'M��tI� H��tI�wA��I�}u�I�H��tH�$�I�H��tH�$�I�H��t�H�$��I�}�7���H�p�/H�$@H�$�I�}H��t�$�H�$L��H�H��[]A\A]A^A_��f.�H�)�/H�$��f���H��/� ��AWAVAUATUSH��L�$H���9H��H���-H�_I��I��I��H���'H���������M�_M��tL��L���������KM�_M��tL��L��������M�_A�A�wH��M��L���
���H�@H��I�z(��u[1�E1�M����H�jL�bL�jH�$H��B(H�B H��tH�A�GI��wh1�H��[]A\A]A^A_��H�M����H���
E1��fDH�I��H��H����H��H9ju�L9bu�L9juظ����뛐E�gB�,��E�=�?w�M�7M���v���Hc�H�@H�`�/H��H��I�H���gH��1�H������A�oE���AA�D$�L��M��H�@H��M�l0f�A�s(��tNI�SI�KA�wA�M�C���I�H�@�AoH��H��Aocb�Aok j I�H�I��0M9�u�L�%ʺ/f.�L�]M��u�}DH�I�L�I��H��tgI�KI�SA�wA�M�CI��#���H�@I�H��HЋH(��u��AoL���AoKH�AoS P I�H�A�$I��H��u�H��0I9��k���L��A�$H��1�[]A\A]A^A_�I�H������o��H��H���;���M�_M���0����B���H��E1�H9k��H���/�0�H��H�������M�_�U����w�I��H��H���4���H�@H��I�B(����H�H��E1�H��u�^fDH�I��H�;tKH�{H�������t�H�{L�������t�H�{L���������o���H�I��H�;u�f.�H�{H���T������.���H�{L���@���������H�{L���,��������������E1�H��H�T$����H�T$L��H�B����H�T$L��H�B���H�T$H�B�G����I�L���������I��H���������fDI�L��������I��H��������~���fDL9c�X���L9k�N����_����L�%	�/����M�7���H��H���y������I��1�1������I��1��r��f���AWAVAUATUSH��L�$H���>H��H���2L�OH��I��I��M��M���TL��贽������L�]M��tL��L��蘽�����xL�]M��tL��L���|������4L�]�u�}H��M��L������E1�H�@H��HUI�׋R(��uKM����I�_M�gM�oM�w 1�I�A�G(�EM��tM�9H��[]A\A]A^A_�fDI�M��u�I��H�I�OH��tAH9�u�M9gu�M9ou���H�}H�޺�������H��H�������������@H9���H�8�/�0�H��t�M��L�]I���*���D�w�I��H��H��L�L$���L�L$H�@H��HU�B(I�ׅ���H�H��u�NfDM�?I�?t?I�H���+��t�I�L�����t�I�L�����uKM�?I�?u�fDI�H�������5���I�L�������!���I�L�������
���H�$H��t
I�wI� ��M�w 1��q���fDH��L�$�\��L��I�G�P��L��I�G�D��L�$I�G�����H�}L������o���I��H��������{���fDH�}L������G���I��H���k����S���fDM9g�W���M9o�M���H�$H���F���I� H����8������I��I��1�1����ff.�f���M��I��1�����ff.�@��H����H����AUI��I��I��ATH��I��UH��SH��H���w���H�@H��I�C(��tnI�{tOH���
f�H�H��t@H9hu�L9`u�L9hu�H�@ �BH�{L�����tH�{L�����u-H�H��tH�{H������u�H�H��u�1�H��[]A\A]�H�C ��D1��D��1�1������1����D��AWAVAUATUSH��L�|$PH���xH���oLc_HcoD�H���r�L�fH��Hk�H���H��t/f�H��I��I��H��I��L�H�A�l$�H1�H��u�H��H��H��H��H�\:H1�A��H�jH��t+�I��I��H��I��I��M�I��]�L1�H��u�I��H��I��H��I�L1�H��tM�H�iH��t+�I��I��H��I��I��M�I��]�L1�H��u�H��I��H��I��N�T:L1�M��t5A�I�hH��t(@I��I��H��I��I��M�I��]�L1�H��u�I��H��I��H��I�L1�M��tMA�I�iH��t*fDI��I��H��I��I��M�I��]�L1�H��u�H��I��H��I��N�T:L1�M��t5A�I�oH��t(@I��I��H��I��I��M�I��]�L1�H��u�H��1�I��L�L$I��M��H��H�RH��H�A(I�΅�u�W�M�6M��tHI�VH��H���!����t�I�VL��L�������t�I�VH�|$L�������t�I�F �	�1�H��[]A\A]A^A_��A��Hk�H�������H��E1�E1�1�j�I��H���@��H��E1�j�.��H���f���H����H����AWAVAUATUSH��H�H����D�GE����H�T$I��E1�H�4$�f�I��E9f~vI�K�,dH��H�s(��t�A�FL�;A��H�{ H��t+H�$H�KH�SL�CH�t$��A�FD9�tI�H�H9�t3M��t�L��A��M�?H�{ H��u���f.�H��[]A\A]A^A_Ð�K(H���u	I9��]���A��I���{���f��ff.�@��H��(dH�%(H�D$1�H�T$H��H�4$H�5����H�D$dH3%(uH��(��6���fD��H���M���
H�H����D�WE����AWAVI��AUI��ATE1�UH��SH��(L�L$L�D$H�|$�!fDH�D$I��D9`��H�D$H�O�dI��N�<A�G(��tѐI�H��tI�wH������tKM��tI�wL������t6M��tI�wL���r���t!I� H��tI�OI�WM�GH�t$H�D$��I��H��u�H�D$I��D9`�e���H��([]A\A]A^A_��ff.�@��H��(dH�%(H�D$1�L�L$I��L�$L�%�����H�D$dH3%(uH��(�趾��fD��AWAVAUATUSH��H����H����I���I����I��H����I�H��tjA�V��~b1��fDH��A9n~NI�H�\mH��HËC(��t��H�sH�{ L�;A��H�KH�SL��H�sI��L���h���M��u�멐A�FA�D$H��L��[]A\A]A^A_�DE1���ff.���H��t�Gø�����ff.�f���H����H���AWAVI��AUI��ATI��USH��H���w�L�$I��H��H�����L�<@I��L�|$M}A�G(����1���I�L��H����I��I�H���2���t�I�L���"���t�I�L������t�H�$H��tI� H��tI�w��I�}I�G tpI�?H��t3H���/H�}L���A�m1��fD�����H��[]A\A]A^A_�H��to�oL�|$M}H�C�/A�oOAO�oW AW ��I�H��t	H��/�I�H��t	H��/�I�H���_���H��/��Q���A�G(�\���������D��I��1�1�������I��1�����f���1�H9��������B��ff.�ATUSH��tOH�I��H��H�H9�u�<@H�H;]t/H�{L��U��x�H9]tH�{L��U��u
H��[]A\�D1�H��[]A\�ff.�ATUSH��tOH�I��H��H�XH9�u�;H�[H;]t.H�{L��U���H9]tH�{L��U��uH��[]A\�@1�H��[]A\�ff.���AUI���ATI��USH��H�-p�/�UH��H��t]f�H�@��UH�H��t^H�H�@H�@M��tL�kM��H�5����IE�H�sH��H��[]A\A]�fD���H�(�K��H�5t�
H�81��������H�(�+��H�5|�
H�81���H��/H��1��ff.�f���H��t'H���.���H��t	H�@H���1�H���f�1��ff.�f���H��t'H���^���H��t	H�@H���1�H���f�1��ff.�f���H��tgATI��UH��SH�H�H9�u�H�H;]tH�{L��U��x�H��/��H��t6H�SL�`H�
H�H�
H�AH�H�P1�[]A\���f.��[��H�����H�5l�
H�81��Ӹ��ff.���H��toATI��UH��SH�H�XH9�u��H�[H;]tH�{L��U���H�9�/��H��t-H�L�`H�H�H�BH�H�X1�[]A\�fD��f����H��C��H�5��
H�81��Ӹ��ff.���H��tWUSH��H���I���H��1�H��t.H�KH�UH�EH�H�PH��tH���H���/H���H��[]�f.�1��ff.�f���H��tWUSH��H���I���H��1�H��t.H�KH�UH�EH�H�PH��tH���H�;�/H���H��[]�f.�1��ff.�f���ATUSH��t3I��H��1��f���L��H��������u��[]A\��1ۉ�[]A\����H��tgAUATUSH��H�H�H9�t?L�-��/I���H�+I�T$H�CH�(H�EH��tH���H��H��A�UI9,$u�H��[]A\A]���ff.�@��H��t/USH��H������H�-"�/H�;�UH�EH��H��[]��D���������H��tH�H9�����D��H��tH�H��1��ff.�f���H��tH�H�@��1��D��H��t(H�1�H�H9�tf.�H���H9�u��@ø�����f���USH��H���.�����u:H�H�KH�(H�UH�EH�H�PH��tH���H� �/H��H�H��[]��f�H��[]�f���USH��H���λ����u:H�H�KH�hH�UH�EH�H�PH��tH���H���/H��H�H��[]��H��[]�f���H��tGUH��SH��H�g�/H���H��t0H�H�hH�H�H�BH�H�X�H��[]�@1��D����H��k��H�5��
H�81���1���f���H��tGUH��SH��H��H�XH�ۡ/�H��t,H�H�hH�H�H�BH�H�X�H��[]�1��D�S��H�����H�5d�
H�81���1���f���H��tH�G�f�1��ff.�f���H��t;H�7H�H9�t4H���
�H��H�JH�BH�
H�H��H9�u�H�PH�HH��H������H��tOH��tJAUI��ATI��UH��SH��H�H�H9�u
�f�H�H9]tH�{L��A�ԅ�u�H��[]A\A]�fD����H��tOH��tJAUI��ATI��UH��SH��H�H�XH9�u
��H�[H9]tH�{L��A�ԅ�u�H��[]A\A]�D����H��tOH��tJATI��UH��SH�H�H9�u�;H�H;]t/H�sL�������t�L���'���[�]A\�D��f�[1�]A\�f���SH���ӧ��H��[���f.���USH��H��t1H�wH��1��þ��H��H��tH��H��萧����uH��H��[]�f�1�H��H��[]�@��H��tWUSH��H���Y�����t
H��[]�fDH��蠸��H��H��t�H����H��H���ż��H��H��[]�7�����f.�D��1��f�����fD����fD��1��f���LcLcI�I�L9���L9���I��H���1fDA��>tbA��&ttA��
��D�H��I��M9�v2L9�s-E�A��<u�M��I)�I��~I���&lt;H��M9�w�@)�A)Љ1�D��M��I)�I��~��&gt;H���M��I)�I��~��&ampH���@�;�@M��I)�I��~��&#13H���@�;�^���E1�1��f.���H���H�5�
��������H�����f.���H���H�5��
�������H�����f.���1��u��DH��t3USH��H��H�-[�/H��UH�{����H�EH��H��[]��@����H��t��x����fD������f���H��裢��1�H���ff.�����G������H��t��x����fD������f����w������S������������E؉�[�fDUA���SL�P�
H���H��(dH�%(H�D$1�H�l$	H���1����H�=@XH�������t�H�5	�
H���s�����u7H��H��tVH��H���+���H��H�T$dH3%(H��uH��([]�fD�H�5��
H���$�����u�H��H��u��1��@H���/H�8������"���H�5v�
�lj�肪��H��H��u����z�����軵���n���豭�������fD��SH��H����u0�|$�7���H�
9�
�|$�0��uFH��I��1�[�Ǧ���H�
�
���~ۍ�$�����8�H���.H����f���
��������	����J�������}���
���#�"��!�*���2���:���B��s�J���R���Z���b���{���a���x��Z�^��$�D���*�������������%������������&�t���Z��'�@��_�&����������a�� �G��"�-�������������n��������X�]��j�C��o�)��e���b�[��r�A��a�ZH�
)�
����fDH�
9�
�������H�
�
������H�
-�
������H�
�
������H�
	�
���y����H�
��
���a���H�
�
���P���H�
�
���?���H�
�
���.���H�
�
������H�
�
������H�
��
�����H�
��
�����H�
�
������H�
�
������H�
�
�����H�
�
�����H�
��
�����H�
��
����H�
�
��s���H�
^�
��b���H�
@�
��Q���H�
�
��@���H�
��
��/���H�
��
�����H�
��
���
���H�
n�
����H�
8�
����H�
�
�����H�
��
�����H�
�
����H�
-�
����H�
��
����H�
�
�����H�
��
���t���H�
��
���c���H�
��
���R���H�
��
���A���H�
o�
���0���H�
F�
������H�
$�
������H�
�
�����H�
��
�����H�
��
������H�
��
������H�
c�
�����H�
@�
�����H�
��
�����H�
�
�����ff.����SH��tFH��tAH��Hc�H����Π���Å�x��[�@H���
1���
�����[�f��������f���H��tzH��H���/H98t/H�(�/H98t#H���/H98t
������t+1�H���fD�#�����y�H�U�
1��茝����H�I�
1���D$�s����D$뺸������ATUSH��dH�%(H��$1��G����&L�%o�/����A�$H��H���`H�xH�@Hǀ�H��)����1����H�H����A�$H�CH���@H���
jp����P�H�{E1�A��(���ZY����1�1�1��C���H��H�{H�3H�CA�1�L�~�
jH������jjjjjjjh�菗��H�CH��PH��
H�C0���
�C8H��$dH3%(H����H��[]A\Ð1���@H�߉D$H�\$����D$H��H�
��
H���
��A��1�蓜��H�ھ
1ۿ进���DL���
1�1Ҿ�螞���b���f�H��1��v���L�/�
1�1Ҿ��l����0�������f���H���Ú����uH���H�a�
1���7������������H�������xH���f.�H�1�
1���D$����D$H�����H��������uH���H��
1���ǚ�����������H��胲����xH���f.�H���
1���D$艚���D$H���ATUH��SH��H�L�e0dH�%(H��$�1�H���/HuI)�H��H��t6H�]D)�]8H�EL�H�E01�H��$�dH3%(uHH��[]A\�H��I��H�
��
1�H���
��H��覚��H��
��ԙ���������h������H��tgH��tbATUH��H��Hc�SH��Ӻ���I�ą�t��A��[]A\�@H��訚����t�H���
1���a����������f.�������f.���SH���H�=�LH��H�������uH���/H�H��[�f.��H�52�
H��蜔����u8H��H��tOH�5%�
H�����H��u�H��1��H�D$跘��H�D$렺H�5�
H���L�����u�H���f�1��y���f���H��蓾����xH���f.�H���
1���D$�I����D$H�����H��tH��许�����t
1�H��ø�����H���
1���D$�����D$��ff.�@��H��胩����xH���f.�H���
1���D$蹗���D$H�����H��Hc�萫����xH����H�?�
1��H�D$�x���H�D$H���ff.���S1ۅ���[ÐHc�蘜���Å�y�H���
1���/�����[�ff.���H��I��H��H����D��LE��t
�����H�H�������H�����HD�����E�1�A���������uH���H�QH��PAPE1�jjjjP1�jjAQA�h
�l���H��h��1�A�1�1��f�A�1�1������������Ɨ/��tn�
��/��~PHcу�H�5˗/H��H)�H�N�H��H��H�D�HʐH�H�� H�@(H�@0H�@8H9�u��b�/�T�/����F�/��tJ�@�/��~@��HcЉ0�/H��H�B�/H��H�H�H�BH�BH�B�������f�����/��tn�
�/��~PHcу�H�5�/H��H)�H�N�H��H��H�D�HʐH�H�� H�@(H�@0H�@8H9�u����/�t�/����f�/��tJ�`�/��~@��HcЉP�/H��H�b�/H��H�H�H�BH�BH�B�������f���S1�H��dH�%(H��$�1�H��t+H��H���ʛ�����t�D$1�%�=@�Ã�H��$�dH3%(��u	H�Ġ[�謝��ff.��H����SH���H�=BGH��H�������uH�ƈ/H�H��[�D�H�5�
H���\�����uXH��H���̓����t8H�5̺
H��虬��H��u�H��1��H�D$�p���H�D$�f�H��1�[���H�5��
H�������uH���f��H��H�5{�
�̎��H�S��HD��i���D1��D��UH��SH�����H��H��tH��H��[]�@H��1�1��|���H��H��t�H�����H��H��H��/�H��H��[]�SH���H�=�EH�������tj�H�5��
H��������u*H��H��tBH��艒����t6H��H�5��
[饧��D�H�5��
H���܍����u8H��H��u�1�[�H�	�/H�8蹮�������H�56�
[���3����H�5>�
H��茍�����s���H���e���ff.���UH��SH������H��H��tH��H��[]�@H��1�1��<���H��H��tH������H��H�҉/H��H��H��[]�U�SH��H�=�DH��H�������t}�H�5o�
H���ٌ����u-H��H��tLH���D�����t@H��H��H�5=�
[]�{����H�5<�
H��蔌����u�H��H��u��1�H��H��[]�@H���/H�8�a�����芞��H�5޷
�lj����H��H��uą�x����'���H��H��[]�ff.�f���UH��SH�����H��H��tH��H��[]�@H��1�1����H��H��tH������H��H���/H��H��H��[]�S�H�5A�
H��請����uH��H��[����f.�H�ߺH�5!�
�|���H�S��HD�H��[���f�AVI��AUI��ATI��US�����t?��M��tL���w�����u,M��tI���H��t�E���������tM��u/1�H��[]A\A]A^�f�L��L���u���H��H��uM��tL��蠕��H��H��t�H��������u�M��twI���H��tk�E���vk��u�H��H���ý��H��H��tvH�4�/H��H��[]A\A]A^�L��L���%���H��H���C���H�������t��C�������H��耒��H��tH��H��똃������w���H������ff.�f����ڏ/��A�Ǐ/Lc�M��L�ڏ/I��M�I�P�PI�8I�pI�H���/�f.�������f.����z�/��A�g�/Lc�M��L�z�/I��M�I�P�PI�8I�pI�H�?�/�f.�������f.�����/��tÐH��H�
��/H�Ά/H�5w�/H�=Ȇ/�{���H�
d�H���H�5���H�=���Z���H�
��H���H�5e���H�=��9���H�
�/H���/H�5t�/H�=��/����H�
1�/H���/H�5��/H�=܅/����]�/H�������F�/��tÐH��H�
%�/H�=�/H���H�5P����H�=4�/H�
�H��H�5��ʗ����/H���ff.���H���ҋ/��t.H�=�/H�
PH��H�uH�5��y���f�������f���U���@SH��H�(�/�H��H����f�@@ @0�ҧ���8�Hc��ƣ��H�C H��tu1�H��裰�����,���H�CH��tK螧���8�Hc�蒣��H�C(H�CH�CH��C0����H�C8H��H��[]�fDH�C(�fDH���/H��1�H��H��[]�L�z�
1�1Ҿ������@��AWAVA��AUATI��USH���r�/����M��tPHcb�/�Ń�xBH��L�-l�/I�\��H�H��tL��Ѕ�tL��SI��H��u!��H�� ���u�E1�H��L��[]A\A]A^A_�D�����I��H��txHc�H���M�>H��L�H�EI�FH�EI�FH�EH9�tcH�l���H9�u��H�=v=L�������t�L��腗��A�F0�z���@�3������fDHc�L��H��A�T-�R���@�H�==L��������0���L���*��������A�F0H�E�b���D��UH���8SH��H���/�H��H����H�@0f�@@ ����H�C H��t}1�H���:���H�kH��tQ���7���H�C(H��tN�H�����H�CH�CH��C0H��H��[]�f�H�C(��fDH�{ 臇��H� �/H��1�H��H��[]��L��
1�1Ҿ�莋���ff.����UH���8SH��H��/�H��H����H�@0f�@@ �
���H�C H��t}�H���'���H�kH��tN���$���H�C(H��tK�H��讇��H�CH�CH��C0H��H��[]�fDH�C(��fDH�{ �w���H��/H��1�H��H��[]��L��
1�1Ҿ��~����ff.����H��t_SH��H�(H��t
����H�C(H�{H��t�/���H�CH��tH�;��H�{ H��t
���H�C H�t/H��[H�������U��SH��H�����H�8t�����H��H�H��[]��H����H��[]����U��SH��H���;�/��t7H��t<���+���H��tH��/H�
H�H�H�HH�PH��[]�fD諾��H��u�H��1�[]�ff.�f���UH��SH��H���ʅ/��t6H��t;H���)���H��tH�]�H�
��H�H�PH�HH��[]�@����H��u�H��1�[]�ff.�f���H��tH� H��t�ɼ��f�1��ff.�f���H��tH� H��t�	���f�1��ff.�f���1���x6S�������H��tHc�H�
��H�H�c�H�HH�P[�f��ff.�@��ATUSH��tS��xOH����A�����H��H��t:H�(H��y/D��H��H�CH�{ H�C������tH�:}/H��D1�H��[]A\�fD��AUATUSH��H��������H��{/A�ԉ�I���@�H��H����f�Hc�L��@@ @0�!���H�C H��txD�����H�CH��tG�R����8�Hc��F���H�C(�C0����L�+H�CH�CH��H��[]A\A]�f.�H�C(��fDH��1�H��[]A\A]�H�9|/H��1�H��H��[]A\A]�@L��
1�1Ҿ�覆���@��1���x.S��H��苜��H��tHc�H�
�H�@H�H�H[�����H��t/ATI��UH��SH������}��H��tH�(H�XL�`[]A\�fD1��D��H��t/ATI��UH��SH��H������H��tH�(H�XL�`[]A\�D1��D��H��tH��H��H�=z��1�鳀��1��ff.�f���UH��SH���N���H�H��t�A���H�(H��H��[]�@H�9{/�����UH��SH���ޒ��H�H��t�ђ��H�(H��H��[]�@H�!{/�����ATU1�S��xlH�����G4����H�I�ԉ�H��toH�(H��tN��L��������upH�{(�O����H��I���ϧ���Ņ�xXH�{(E���-���I)�Lc8��[]A\���s���H��H�C(�f.�H� ��L��袋����t�fD������1Ҿ��`����C4�����ATUSH�����G4H���������������E�H�{ �S���H���"H�{ �u�^������0H�{ �=���I��H�CH���_��L��H�;�ЉŅ�~m�{0���H�{��H�{(H������L�������uMH�{(�����H��I��脦���Ņ���H�{(E���ޙ��I)�Lc8��[]A\�H����H�Ct��������f�H�	�H9C�l���H�;觍���C0�\����H�{ Hc��<�����[]A\�D�˳��H��H�C(�D����1Ҿ�����������C4�_���L�M�
1�1Ҿ������观���C4�4���1Ҿ�����C4�.���1Ҿ�������h���C4���ff.����H��t7�G4��u0H�t	�Ԃ��@H��H� �c�������H�������������f.���AWAVAUATUSH��H����D�w4I��E������I�Յ�������>A��>DN�I��uI�(��I� D��L��諈������I� ������>H=���1�L���~����y	����wI���I�(諗����Ic�D)�M�gI�M���������~BI�tPI�(������I�?H��A��A�ą���1Ҿ
�E����}��A�G4
H��D��[]A\A]A^A_�I� 跴����I�?H��A��A�ą�x�I� Hc��Y�������A�W0��D)�A�9�DO�E�g0Aޅ������뜐���I�Ic�D)�A�IŅ�������x���DI�(Hc�����f.�I� D��L���A�����u5I�t&I� �}���������fD�˰��I�G(�X���f�D���A���������D1Ҿ�A������|��A�G4����@��AWAVAUATUSH��dH�%(H��$�1�H���oH�_I��H���_I��H���S��A�ׅ�~j������S A�����H�s��A���;S8rH�3H��tH����A�ǃ��ts1�H�{������ul�S ��u�H�{��L��A��褀��H�CH��$�dH3%(D����H��[]A\A]A^A_�@H��H�߉�蓯��A�Dž�y�@H���LH��H��L�
5�
A��PH�
��
��H��H�ȩ
1�A������+|��X�
Z�H���W{��M�L$H�߾�1�L��
H�
��
H��
��{��H�ھ
��{���'����A���������蠄����AWAVAUATUSH��8dH�%(H�D$(1�H���5�G4I�����'I��H���H� H���I���������L��E1��R����Ņ��hE�f4E����H����M��LD�H�D$$H�D$H�D$ H�D$f�I�~ �l$$胛���D$ ��'�FI�~�I�~(�`I�~ �g���H�L$L��H�t$H��A�ׅ��\Hct$ ���OI�~ ����I�~ �M���H=�w
9l$$��1�L���qy����y	����<I�~��I�~(������HcT$$I�NI�)�H���������~[I�~H�L$��I�~(�b���H�L$��I�>H��щ����!1Ҿ
��L$�4y���L$A�F4
A��DH�\$(dH3%(D����H��8[]A\A]A^A_�f.�I�~ �d�B������:�������~�A9��x����fD���I�HcT$$I�)�I�~ ���H=���D��A���I�~ �w���H�L$��I�>H��щ�������I�~ Hc�D$�����L$A�F0����)��9и���O�A�N0�DI�~(Hc�D$�ؓ���L$��f�I�~ �W���H�L$L��H�t$H��A�ׅ�xPHct$ ��tGI�~ ����I�~t'I�~ �>������)����苫��I�F(���f��\$ ���A������u���DI�~ ��������D1Ҿ�A������aw��A�F4�4������ff.�@��H��tO�G4��uHH��tCUH��SH��H��H������H�ƅ�H��[]�f�H��H��H��[]�Ϫ���������f���ATUSH���K�o4���@H�(H��tH�ueL�cM����H�{ �
���H�{ H��葭����H�;H��A�ԉŅ���H�{ Hc��0��������S0)�9����C0�����[]A\�t61�H����u����y�1Ҿ�������*v���C4��[]A\�@H�{(L�cH���X���H�{�M���M��u�S0�S0��[]A\�f.��K���H�{(H���Ϭ����H�;H��A�ԉŅ�y1Ҿ	��u���C4	�@H�{(Hc��T���������됽�����W���f.���ATUSH����H�H��t� ���H�CE1�H��tH�;��A��H�{(�k0H��t
��s��H�C(H�{H��t����H�{ H��t
��s��H�C H�Xm/�S4H��H���u��E��AE��[]A\��н����[��]A\ý������USH��H��H�H�-m/H��t�UH�{H��t���~���H�EH��H��[]���ۙ��H�EH��H��[]��ff.����ATUSH��t{H��k/A��H����H��H��tgH�@f�H���z��H�CH��twA�D$���v1�����H�CH��tMH��[]A\�DD�#D�����H�C���1���@L�ş
1�1Ҿ��v���@H��1�����@L���
1�1Ҿ��v��H��1�����z������1�镧��D��AWAVAUATA��USH��H��(��r/H�t$���5H���$H���tt��I��A�D$��D$M���7I�}H����H�5K]覩��I�}�������D$H����H�5&]聩������L���qu���|$w�|$��Hc<r/A��A����H��L�-@r/I�l��-f�H��UH��H���A��H�� A����TH�EH��t�H��Ѕ�t�H��i/H9Eu�D��H���b���H���D�D$1�1�H����|��L��H���t��H���?����|$w�D$���eHczq/A��A����H��L�-~q/M�t��(�H��A�VH��H��uAA��I�� A�����I�H��t�H��Ѕ�t�H�7i/I9u�D��H��觥��H���f�H��i/H�t$H��H�t$H�|$H�t$�K���H�t$H��H��tIc�H�3H��I�I�EH�CI�EH�CH��(H��[]A\A]A^A_��1���@�������fDH�Ii/H���������� ���D��H�����H��H���	���H�|$讉��H��H��tqH�(H���H�CH����H�C�g���D��H���M��I��H�������H�|$�g���H��H��tL�(H����H�CH�Z��H�CH��h/H������H���=���������ATA��UH��SH��芀��H�8t����D��H��H��H�[]A\��DD��H��H��[]A\���fDAVAUATUSH��dH�%(H��$1�H��
H�D$H�����H��I��H�_����H���IL�k��L���c~���������{8w�H���������H�KH�C0��H�C0H��H��H�C0��u�H�K(��H�C0H��H��H�C0��u�L�k��L�
�
H�}D)�M���$L��H�L$A��L������A�����I��H��t0H��E1��yh����8�����c��L���k��H��f/H�|$�H�����H��$dH3%(D���mH��[]A\A]A^�f�H�3H������H������������H�}H�\$H��L�
d�
M��1�WH�
�
��H��H�#�
A������n��X�
Z�H����m���[����H�{ �Ϥ��H�{ I���3���E1�H�}��M������H�\$�f.�L�l$H��A��L��PH��
L���PL�
ʙ
H���
1��u�(n��L��H�� �
�A������Lm�����H�\$A��1���H�
ћ
H���
H����m���H�ھ
�m��H�}�����A������y����v����H�5^�
������H�5R�
������UH��SH��dH�%(H��$1��7n/����H����H��H��H����i��Ƅ$�H�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)�H�H9�v%�</u����/tsH���H9�u�/tj�H���%}��H��tFƄ$�H��a/H��H��$dH3<%(u8H��[]������H���$���1���fD���D$��<u��ff.����ATUSH��H��tH�H��t
H�
c/H9HtH��[]A\�H��H�8H��t�� e��=���H�H�8芈��H�5s�
H��I������H����H�H�8�ԓ��I��H��t*H���l��H����H��H��H��荚��H�{P��H�H�8�e��H��H���`���H�{H��t	H�c/�H�{H��tH�	c/�H�CH���q��H�C�#���fDH�SH��t?H�5��
H���0y��H��1��w������H�5��
L���A���H���)����a���1�H�5��
H����x���E1�L��H�Ŗ
H���ӈ���!���L���p��H�CP����ff.�f���H�=ef/�@��H�Uf/�@��ATI��UH��SH��H��t	�����tL��H��H��[]A\�%f/fDH������H��H��t(H��H��L���e/H��H��H��a/�H��[]A\�f�L��
1�1Ҿ�1��Dl����f���AUI��ATI��UH��SH���t��H�����H�5��
H��H���d����tP�H�5��
H���d����t8L��L��H���I��H9�tH�+a/H��H��L��[]A\A]��H�ھ�E1��h��H9�u���@H��uL��L��1�H��[]A\A]�W�H�5�
H���d����t#�H�5�
H���c����tL��L��H���H���E1��'h���\���f���AUI��ATI��USH��H��H��t��4����H��L��L���4��H��H��t4H��H��葖��I9�tH�%`/H�D$H��H�D$H��[]A\A]�M��u3M��H��^H��LD�H�5c_
L���Cv��H��1�[]A\A]�fDH��L��H��[]A\A]�����������4�y����4H��[]A\A]�fDUH��SH������H�誊��H��H�5�
H�8H��H��1�[]����USH������-�j/H��s�����H�5Җ
H�8H��H��1�[]��f.���H����ATUSH��H����H9=+j/���{إZH�k�uh�j/H;C����C�Z���H�S����H���@v��H�=�i/�T���H�C�H�-�i/H)�i/H�=�i/资��[H��]A\�a��f�H���������H�(蛉��H��H�5��
H�81���[]A\������ӈ��L�%li/H�(�d���L��H�5i�
H�81���辂���$���f�諂���.���fD苈��H�(�#���H�5��
H�81����h�����SH�=i/�o���H� i/H�=i/�܃����[����SH�=�h/�?���H��h/H�=�h/謃����[����H��~'H��t*H���2�H�=N�
�Y���f���SH�5�H�=��
��}��H��H��t,H�=�
H���2�����H��[��k��f.�[�ff.���H��tH���2�H�=Ô
���fDSH�5
H�=�
�d}��H��H��t,H�=��
H���2�蓘��H��[�jk��f.�[�ff.���H��t'L��g/H�
�g/H�z�
1���Ƙ��fD�ff.�@���ff.���S�ug/��uq�gg/�{��H�=j�
H�4g/�]��H��tH��H�g/H�5[�
1���H�=Q�
�]��H��tH��H��f/H�5D�
1��Ʉ����[�D�������f���AUI��ATA��UH��SH����f/����H�����H�}(�h���H��H���<H�hH�=�f/H��ZH�L�kD�c �ǎ���]f/H�if/���Lf/H�CH�]f/H�H;Cf/H�Lf/w:H�=+f/�����f/H;CtzH��(H9�e/tH��H��[]A\A]��H��e/���t��H����8����$���H�輅��H�5ݒ
H�81���1��{��H��H��[]A\A]�f��~��H��(H9�e/u��ل��L�-re/L� �j���H��L��H�5ē
H�81�A���~��H��H��[]A\A]�f�蛄��H�(�3���H�5|�
H�81����z������ff.���1�H�5�|
�~���ff.���AUI��ATA��UH��SH���e/����H�����H�}(蘁��H��H���<H�hH�=�d/H��ZH�L�kD�c �����d/H��d/���|d/H�CH��d/H�H;sd/H�|d/w:H�=[d/�6���Hd/H;CtzH��(H9/d/tH��H��[]A\A]��H�)d/����r��H����8����T���H����H�5]�
H�81���1��7y��H��H��[]A\A]�f��+}��H��(H9�c/u��	���L�-�c/L� 蚃��H��L��H�5�
H�81�A����|��H��H��[]A\A]�f��˂��H�(�c���H�5��
H�81����x������ff.���AWAVAUI��ATUH��SH��H�����Ic/�L$H�����
L�s�c/L�{�L9��[�{إZ���C�Z���H�=�b/�C���H�=�b/H�C�H�-�b/H)�b/�}��H����"H�u(L���ޅ��I��H���RH9�b/��H��ZI�l$H�=b/I�$�D$M�t$M�l$A�D$ �Ê��H-tb/H�db/H;-Ub/H�-^b/w$H�==b/I��(�}��H��L��[]A\A]A^A_�f�H�-!b/�����p�����fDL��E1��%�����;���H��a/M�|$H�H�T$���I��L��H�T$H�8H�5��
1����{��������{�����fD���E1�H��x���H�59�
H�81�����v���<���H��L��H���[]A\A]A^A_��|��DL���Y��������1�H�y
�n\��ff.���AVI��AUA��ATI��US�&f��H��H�h�a/����H�{)�}��H��H����H�hH�=�`/H��ZH�L�sD�k ������`/H��`/����`/H�CH��`/H�H;�`/H��`/wBH�={`/H�k(�R{���d`/H;CtFL��H���\��H9-D`/tR[H��]A\A]A^�fDH�A`/���n���5���fD�{y���f�1�[H��]A\A]A^�f��K��L�%�_/H�����L��H�5N�
H�81����6y��[H��]A\A]A^�f.���1�H�5�w
�~q��ff.�����_/��uÐH��H�=�_/��i��H�u_/��_/H���fD��H����H��A��D	�H��A��D�u@H��t;H��S/H�8H��R/H�0H�xT/H�0H��Q/H�H�Q/H�1��fD������f.���H��t
H��S/H�H�H��t
H�nR/H�H�H��t
H��Q/H�H�H��t
H��P/H�H�1���H����M��A��D	�H��A��D	�H��A��D�u>H��t9H�*S/H�8H�R/H�0H��S/H�H�Q/H�H�:P/L�1��@������f���H��t
H��R/H�H�H��t
H��Q/H�H�H��t
H�TS/H�H�H��t
H��P/H�H�M��t
H��O/H�I�1��f.�DH���
�q�@��	wZ�rD�F�A��	vH�BH�1��@��0t9�B��0<	w0��1t;��2��@��4H�B��u͸@��5u"��t�z/ÐH�BH�1��fDH�B��f�H��A��A���A��AA��v"D�@�A��2��I��M���I��A���DH����ƒ�߃�A��v�PӀ�2wI����@8�t?<%u�H����<~t�<%���A�PЀ�	���A�PЀ�	vσ�߃�A<v�H�1��<~�q���<%�D�AE�H�A��	vA���A��AA��wlD�AE�H�A��	�9���A���A��AA��wK�&���D<!t<$t�Pڀ�w�I��s�@8������~�����߃�A<�p����U���D�@�A��v�Ѓ�ÐA���M��������ff.�H����SH��H�?H��t	H�TP/�H�{H�H��t	H�;P/�H�{ H�CH��t	H�!P/�H�{0H�C H��t	H�P/�H�{@H�C0H��t	H��O/�H�{H�C@H��t	H��O/�H�{H�CH��t	H��O/�H�{8H�CH��t	H��O/�H�{PH�C8H��t	H��O/�H�CP[�f��ff.�@H��H��J
E1�1�WA�1�1�P1�jjjjW1�jjjj�i��H��h�DUSH���=)�H�M/H���sHc��H��t'�]H��[]�DH�=��
�|���1����H�=��
H�D$�_���H�D$�����H��M/S�X�H��H��t5H�xH��H�H��H�@P1�H)���X���H�H��[��H�=N�
����f���AWAVAUATUSH��(dH�%(H�D$1�H���kH��N/I���D$P�Q�H��H����M�,$M����A�}tx1�L�t$�A�DD�{�DH��A�|tV9\$�L��H�����H��tH����H��M/H��1�H�|$dH3<%(H����
H��([]A\A]A^A_�E1��D9|$��A�_Mc�B�D=:M�|$�D$M���A�H�|$I��	��H�|$����fDD�sA9��CHcÍr܍{I��H�@��9ve�փ�߃�A@��va�r�@��>����~tO��A���%��A���������7�Hc��SA��
�D=�Hc�D���A�D7�D�@I���E���A��D$���Z���I�|$@��S9���D�kHc��D#H�\$M�t$@I�����W�7�IcōN�A�UI��H�v�N߀�>wzI�����@�0A��A�6�D$@����E�}A9�|�H��H������H���4���A�6H���H�t$H�����H������A�H�����fD@��~t�@����%Ƀ��7��@��Hc�A�E���H�@��
�L҃�T:7�TD���U���f�A��A9���Ic��D����M�|$1ۋD$M�����I�|$���S9��kHc�D�k��Hc��D/�D/M�|$ H�\$M��uT�f.���Ic�A�uI�����H��A��v%�J߀�>��H��@H���fD�A��A�E�u�D$���A9�|�H��H���W���H������A�H���A�|$(��9���I�|$��S9��EHc�D�k�D/�CH�\$H��D/M�|$f�A�����E�uD;t$�
IcōJ�A�uI��H�v'�J߀�>�H������CH������A��롐��~�����ʉ��%�����������7�mf�H�t$H���c���H������H���
���f�A9���Ic�A���D@I�\$H�����;E��t[H�D$I��H�D$�*fDI��A�w�Ic�A��I�G�H)�H�@�4A�?t"D9t$�H�t$H������H���G���H���E�L$(E���P�T$A�F
9�|"H�t$H�����H������E�L$(�T$H��D)�Ic�L���
1�Hc�H�H�������hK��F�,0M�|$0�D$M���I�<$A�H��t	��/���D$H�\$����E�uA9�}OIcōJ�A�uI��H�v!�J߀�>wQH������CH���ED�A��D$A���f�H��H������H���4���A�H�����~t��ʉ��%�����������7�Hc�A�U@��
�D5�Hc�D����D7�D�@H�t$H���[���H������H������A���I�|$P��A�]9���Mc�H�D$B�D=?M�l$PH�D$A�}M��u#�q@I��A�N�J�T=L��L)�A�>tP��;\$|�H�t$H������H���<���H����H�t$H�����H������H���W���1������D$�0���H�t$H���}���H�����H���w���E������A�G��߃�A<����A�:�
���H�5O8誄������A�����փ�߃�A@��������r�H����@H���������~���������%�0��A���<���fDH��H������H���<���A�H���������~������ʉ��%�����������7�Hc�A�U@��
�D5�Hc�D����D7�D���DH�=b
��������I�|$8�^A�U9��xA�]Mc�B�D-?M�|$8L�l$A��D$�������D�sA9�}wHcÍr��KI��H�@��v!�r�@��>wxH�����WH��s������%�0�����HcɃ��Hc�@��
�D
D����˃�D07�D�p���L��H�����H����A�H���i�����~t�����%����7�H�t$H���K���H�������H����H�t$H���-���H�������H�����%�0���I�<$H��te�S9�}xM�|$0M�������A�A�����D�����H�t$H�����H���?���H�����H�t$H����H���!���H���j���M�|$0M���I���A�A���O���H�t$H���z�H�����A��H������A�];\$}~A�Ic�I���TA�EA�W�H��TA�EA�W�A��H��TA��D$����ʉ��%�0�����Hc�A�U@��
�D5�Hc�E����D87�D�h����>T��H�t$H�����H���@���H���d����ʉ��%�0���������ʉ��%�0���������UH��H��SH���Y��H��t&H��H��H���XX��H��B/H��H�H��[]��H��[]�f���H����USH��H��H�-CB/H�?H�EH��t��H�EH�{H��t��H�EH�{ H��t��H�EH�{0H��t��H�EH�{@H��t��H�EH�{H��t��H�EH�{H��t��H�EH�{8H��t��H�EH�{PH��t��H�EH��H��[]��fD����H�����H����/u�H�����/t�����I�������.����/u�"fD����H��I��A�P����/u�x/H�PtH��A�/I��H�B�R�DH���z/t�A�/H�BI���R��A��?/um�.ug�.ua�W��t��/uTH��@H����/���x.u�x.u�H��/�r���jH9�tDH��H���W����u��1���H��/�P������A��H��</uDH���</t���t��1@��ta�@��/tZH���H�����/t��u������H�P@��.t>�p@��.u�x.uD�HA��/t;E��t6fDH��@��u���H���f��y.u�H�qH9�u��q��E�������1�D�t@�4H��@��u�H9�s�y�/H�A�t�DH���8/u
H9�u��1H���H9�t�sr�x�/u�Y�z�/tH��H�P�H9�u��p��U���D���a���H9����������PH�H��/uH�����/t�H������0H������������H���w���f���H����ATUH��SH��H������H��H���QH�H�@�y�H��H�̓�H�������;��~�@��%u�D�CE�H�D��E�X�A����A��	����A��w�D�SA�j�E��A�R�@��	v��v
E�Z�A��w�A��7�fD�kN��I�ĉ�1�E��xCH��u&H��>/A�|$D�d$Hc���t$H��H����H��E���'�����EH��[]A\��S�j�A��@��	vA��A���A��AA����A�x�D��A��W��aA��	DF�@��	wVA��G�D�H����H��D�A�����f�H��=/�~�t$Hc���t$H�������H�=:w
���1��a���D��wA��G�D��A��AA��w�A��G�D��1��ff.�f�H��AUI��ATI��USH��H�.H��,dH�%(H�D$1�H��fD��ƒ�߃�A���l�PӀ�2��H���v<=�^<@��M����I�|$ H��t	H�L</�H��H)�A�D$H�p1�H���~N��I�D$ �;@��I�mH�,$�E<[�N�PЀ�	�pH��(��H��H����߃�A������HӀ�2��H����<=�rM��tXI�|$H��t	H��;/�I�D$I�|$H��t	H��;/�H�4$H9���H)�A�D$H�H���z@��I�D$H�,$�}:�I�m1�H�|$dH3<%(��H��[]A\A]�f�<%uH���s���H��s<f.�H���W����<~t�<%�n����C�PЀ�	vp��߃�A<vfH�,$�E<[�����H�MH�$�U��]t$��t H�EDH�$�H��H����]t��u���]�:���H��H�$���fD�C�PЀ�	�<�����߃�A<�.����w���DH�������fDH��H�$�����߃�A���D���<%u�H����f.�<~t�<%�:����B�HЀ�	v��߃�A<�(����B�HЀ�	v���߃�A<v��
����I�D$�Y���f.�H�k�����I��L������u
H�$�8.��H�,$�E�g����H��1��K��H�,$I�D$�����U��JЀ�	�����H��1Ҿ�����0�(���0������������)�9���H����E�HЀ�	v�M�������A�T$(���H����=��I�D$ ���fDH��H�$�#����'���H�$�8.�����	����
���H�$�8.��������������f�������I���UH��SH��H��H�6dH�%(H�D$1�I��H�4$�'�H���L��H�4$1�����uGH�4$�>/t�H��t4H�}0H��t
H��7/�H�4$H�;H9�tQH)��EHt0��<��H�4$H�E0H�31�H�L$dH3%(u0H��[]��1���I��H�4$H�E0���H�E0��H��f�USH��H�dH�%(H�D$1��H�$�:/t!H�L$dH3%(��H��[]�fDH��I��H��H��H�$1�1�L������tfH��t0H�}0H��t	H��6/�H�;H�4$H9�tlH)��EHtK�;��H�E0H�4$H�31��{���@H��1��L��H�$�����X���H�$�8/t��fD1���H��H�4$H�E0��H�E0��G��f�I�/ATH��UH��SH��H�>��O�I���A�$�Ѓ�߃�A<v�B�<2w(H����I�������%u�I����D��~t݀�%��A�D$D�H�A��	����߃�A<��H��tk�CH�t��[��"��H�S8H��tH��5/H���CHH�}L��H)�����:��H�C8H�{PH��t	H�e5/�H�}L��H)��t:��H�CPL�e[1�]A\�D�B�<�u���H�������f���fDA�D$D�H�A��	������߃�A<�����9���I������B���f.�1��)G��H�C8�[���I��ATI��H��UH��SH�>H��O�H��f���Ѓ�߃�A<v$�B�<2w*H����H����Ѓ�߃�A<w܀�%u�H����f���~tۀ�%u~�CD�H�A��	����߃�A<vzf.�M��tDA�D$H�t��\��!vI�T$@H��tH�	4/H��A�D$HH�}H��H)��ti�9��I�D$@H�]1�[]A\�@�B�<<w�H���G����D�CD�H�A��	�F�����߃�A<�8����k���I�������r���@1���E��I�D$@�f.�ATUSH��0dH�%(H�D$(1�H���H��H������H�\$��߃�A<wrH�h�L�c@A�$�ƒ�߃�A����<9��H��t5H�}H��H��tH��2/�H�D$L��H��H)��7��H�EA�$@<:��H���H��H�\$</�8�ƒ�߃�A��v �PӀ�2�_H��H���KL�T$ 1Ҿ:H�\$ L���r�����H��D$����D$H�L$(dH3%(�FH��0[]A\�DH����I�����DA�D$I�t$H�t$H�t$</�#�ƒ�߃�A��v �PӀ�2�JH��H����H�t$ L�T$ 1��$�H�t$ �>/��H���H�t$ 1�L�������t�����H��1��L��H�\$ �x��������H�\$ �;/t�H��tCH�}0H��tH�A1/�H�\$ H�|$H9���H)�H��EH�\�76��H�\$ H�E0H�\$���?�=��#�d1��������H���r���~����A�|$/�H�t$H���G��������H�t$H�t$���?�9��#�`1����<���H�������f��{/�fH�t$H������������H�\$�>����H���:����r���f�<~�����<%���S�JЀ�	v��߃�A�����S�JЀ�	�z�����߃�A���k�����H���-���H�}0H��tH��//�H�t$ H�|$H9��jH)��EH�E�4��H�t$ H�E0���f�<~����<%��A�D$�PЀ�	v
��߃�A<w{A�D$�PЀ�	�������߃�A<������YfDH�E0�%����P߀���H���0H�}0H��t	H�//�H�E0���@��!<��H���:���H�}0H��t	H��./�H�E0����DH��H�t$H��H�\$�J������H���H�\$����DH��H�t$H��H�\$���������H�D$��q���DH��H��H�t$H�t$����������H�t$����DH��H��H�t$H�t$�J������R���H�D$��u���DH��H��H�\$H�\$H����������H��H��������{����m����1��	@��H�\$ H�E0���I��H��L�d$L�d$L���������H�}��L��H���!�������������@1��?��H�t$ H�E0���H�E0��������������H�������H�����������@���H���;��������E(�����t����+>�������@��USH��H��t1H���Z��H��H��t!H��H���F�����tH���6��f.�1�H��H��[]�@���������ATUSH��tKA��H���XZ��H��H��t8E��uH��H���`:����uH��[]A\�@�HH��f.�H���x6��1�H��[]A\�ff.���AWAVAUATUSH��(dH�%(H�D$1�H���U�?I���9I���F�����9���D$Hc�H�P,/�I��H���BI��A�\$�1�L�l$������D$)���HcՍC�D�EL�<vP�C�<>��H��������CH��r5��L��H�T$D�D$�,��LcD$H�T$H����A�\$���D��I��A�\$����y���Hc�A�/H�L$dH3%(L����H��([]A\A]A^A_�L��L�����H��t@A�\$�I���9���f.���~t��Q���fD�8��I���fDE1��H�=�d
���H�u*/L��E1���g���H�=td
����V������%�E@��H�@��
�~7�V0C׃����s7��
C��S0C�A������X;�����ATUSH�� dH�%(H�D$1�H���{H����W��H��H���g�@HH��H����7�����=H�+H��tCH�5�c
H���F9��I��H���*H��1���e��H�5��
H����e��L��H��H�t)/�H�{H��tAH�5�c
�8��I��H����H��H�5=X
�e��L��H���e��L��H��H�*)/�H�{ H��tPH�5Ic
�8��I��H���wH��H�5�W
�He��L��H���=e��H�5}S
H���.e��L��H��H��(/�H�{H��t=H�5�b
�Z8��I��H���H�{ �H��L����d��L��H��H��(/�D�K(E����H�{0H��t2H�5�b
�8��I��H����H��H���d��L��H��H�C(/�H�{P��H��H�5C��wd��H�sPH���kd��H��H�{H��t.H�5���7��I��H��tkH��H���@d��L��H��H��'/�H�{@H��t=H�5��l7��I��H��t4H��H�5��d��L��H���c��L��H��H��'/�H����1���#�H�=�a
�$��H����1��H�u'/H��1�H�T$dH3%(H���
H�� []A\�fDH�{8H���#���H�5xa
��6��I��H��t�H��H�54��hc��L��H���]c��L��H��H�'/����f�L�d$L���
1���
L���)��H��H�5��
�c��L��H���c��H���-���f�H��H�5�U
��b��H�����f�H��1���0�������H�=|`
1����H���0��H�S&/1�������7��D��AVAUATUSH��to�?I��H��utH��t_�
T��H��H��tRL��H���4�����tH�{@H��tH��%/�H�C@H���]<��H��I���"0���H���0���E1�[L��]A\A]A^Ð�S��H��H��t�H��H���3����u�H�}u}M�����oS��H��H��t�L��H���|3��A�ą����LS��I��H����H�}��H���;��I��H���/��H���z/��L���r/��[L��]A\A]A^�fDH���(3��H��I���M/��[L��]A\A]A^�H���i;��H��I���./������H���Q;��H��I���/��H���/��[L��]A\A]A^�f�H�}0H�;�rH��t
H��!/�I�EH�}PH����H��!/�I�EPH�}@H��t
H��!/�I�E@H�}H��t7L�%�!/A�$I�EH�}0H��tA�$I�E0L���:��I������H�}H��tWL�%H!/A�$H�} I�EH��tA�$I�E �E(A�E(�fDH�}8H���e���H�!/�I�E8�S���f�H�{H���>H�� /�I�EH�}0H����?/�\��3��D�pH�{0H��t��3��A�H�$/Ic��I��I�E0H���D�H�S01�1�H����fDIc����tuA�D$D��H���/tfD���H����t��/u��tID�FE��D9�}�Hc�)�H�AH���H�S0H���<
I�U0@�<
H��H9�u�Ic�H�S0�Hc�I�E0�H�E0H���k�I�U0��tY��u#H�{t�/H�E0�I�U0���t7��H)��@I�U0�:H�E0�OH�H���0��u�I�U0Hc��
I�}0�+�����f�H�}�����H�}�x���H��t
H�F/�I�EH�{H����H�,/�I�EH�{0H��t
H�/�I�E0H�}PH����H��/�I�EPH�}@H���z���H��/�I�E@�h����H��E1���+��H����+������A����H�{H��tJH��/�I�EH�{ H��t
H��/�I�E �C(A�E(���I�U0��H�e/�I�E0����{(��r����H�=^[
�������H�{H��tJH�-/�I�EH�{ H��t
H�/�I�E �C(A�E(����H�}8H��tH��/�I�E8���{(�������H�{PH������H�{8H��u�����H��E1���*�����ff.���AWAVAUATUSH��H�����?��H��H���1N��I��H�����;.��H��H���1.������H�����}����M��I��H�����}.��H��H��1���-����u2I�4$H����I�}H��t
�7������H����-��H��@L����)��L����)��� fDH���-��I�D$0�e���fD1�H��H��[]A\A]A^A_�@H���x-��H��L���)����1���@H���X-��I�E0�U����I�t$I�}�
7�����[���I�t$0I�}0�T]��A�ƅ��1I�}0I�l$0H����H���N�E1�<.u�}/D��u�EH�����.����/�8������K�O�ʸ�fDH�����,���L�D8Tt�|�/�T�@�H��f��|�/H�P��YH�Љ�Lc���u��J�D��0��H����/����Aք�u�E��uX�E����H���8��H��H�5oX
�-��H�Ņ��2���I�D$0�$���@H�=Y���+��H������@H���X8��C�<v�H�D$H�v/ωL$Hc���L$�t$H��I���XA�F�H�T@I��L��L�D�.H���@�.�@�/H9�u�Mc�O�DvLc�M�H����M9�s��~
�}/�%L��H��L���4?��B�D0�L��H�5�W
�,��L��H��H��/��	����H����FLc�H�������O��/t{1�<.�������O</����H��������H�-�V
�/�I�l$0I�}0���C�D0��X���H�=�V
�z*��H���p���f�H�=���d*��H���Z����WH�����H���G*��H���w���H�=�V
1�����*���L���#���1�����Hc�L��H�u�>��B�D0�������USH��H�����?/H����H���$��H��tH���%��H��H��[]�)��fDH�5�F
H���U��H��t�H)؍H���wͅ�~,���߃�A<w�H��H���BH����߃�A<w�H9�u�H�5�U
H����*��H��H�������H���$��H��uAH�/H���d����/�E���1��/��H��4���D1�H��H��[]�@H���(%����fD��USH��xdH�%(H�D$h1�H����H���#��H��H��t-H����$��H���(��H�t$hdH34%(uaH��x[]�fDH���x[��H��H��t@H�T$H��H���H�H��H�\$@�0��H�9/H��H�D$�H�D$��1���W+���H��tKUSH��H��H�-�/H�?H�EH��t��H�EH�{H��t��H�EH�{H��t��H�EH��H��[]���ff.�@���f.���1��f����Pt�D��ff.�����ff.�H��H��H��H����H�wH��G0u@1�H��tUH��H�=~
A�E1�PW1�jjjjP1�jjjj�3��H��`H���H)�H��H����HF�H��u�H��
A�E1�P1�1�jjjjjjjjj�H3��H��PH����1�1��a���ff.�@UH��SH��H���w$��~MH�G(�S 9�|$�H��H�v/Hc�H���H��tPH�C(�S �c$Hc�H�,ȍBH�k�C H����[]�@H�	/�G$� �H�C(H��t"�s$�DH�52h
H�����1��DH�5I

H������C$1��fDH��H����L�WH��G0uF1�H��t[H��QRjjjjQjH��H��A�jE1�1�1�jVL���2��H��`H���DH)�H��H����HF�H��u�H��RH�j�
Rjjjjj�1�E1��z���ff.�H��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jjP1�AQA�APM��jjjRL���^1��H��x�f�L)�H��H����IF���E1�1��f�AWI��AVAUATUH��SH��XdH�%(H�D$H1�H�����H�����E���������
�GL�fhH�~`�D$�������C��I�I��M�ghH�{H��L���m���I�whI�`L���4��H�[L93t�M�ghH��L��H���B���I�whI�`L���b4��I�`1�L���T4���L$I�Gh���S���Y������5f.���uKH��E1�I��jH�
0P
�1�L���9���X1�ZH�L$HdH3%(��H��X[]A\A]A^A_�f�H��H�P
�L���I���1��DL�nhL�d$H�w(�2H�L����&��H��H���F�C���
�������u.I�whI�`E1�H��1���'��I�GhI�`E1�H��H��H����'��L9������H9k��H�~/H�����@D�oL�vhA��tH�~`1�L����2��I�GhI��I�H�{H��L�����H�[L9#t�H��H��L�����I�_hI�`1�H���2��I�GhA���}A����A���X���I�`H��L���z2����{������/���I�whI�`E1�H��1���&��I�Gh����f�H��E1�I��jH�
%N
� ����I�`H��L���2��I�`L��H���2��������I�`H��L����1��I�`L��L����1�����DL��1��1��I�`I��I�Gh���fDI�`H��L���1�������I�whI�`1��y1���#���@I�whI�`1�E1�H���%��I�`L��I�GhH���H1������H�5�b
L���1���1��5�����#��DH��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jjP1�AQA�APM��jjjRL���,��H��x�f�L)�H��H����IF���E1�1��f�H��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jAQA�jP1�APM��jjjRL���.,��H��x�f�L)�H��H����IF���E1�1��f�H����ATUSH�o(H��H�H���H���H����H��t>H��H���O����t+H�{H����L�%/H��H���,����u)H�{�f�H�{L�%�/A�$H�{H��t	H��u�A�$I�$H��[]A\��f�H��u�H�{H��t*L�%�/��f�L�%�/����L�%�/�ff.�@�������H��t`ATUSH��H��tOH��L�%�`
�L��H���e��H�H��t-H�sH���C��H�;u�[H��H�5�:
]A\�8���[]A\��f.�H��tk���tb����&���߃�A���
��@���������(��������������_����:��	����f����߃�A������_����:����@���������(������������=vz��������
vo������=�vb�������vW�����=vJ����=�v=�����=��v0����=�v#����=
v������
v1��D��f�S��H�5�/����I����u+�����=�Qv��0t�����1�[�����fD�[�f�H��tk���tb����N���߃�A��v|��@�����vq��(�����vf���^�FЃ�	vV�FӃ�vN��:tI��_tD1�������D���߃�A��v&��I�����?��H��������H��H�Ѓ���u
��������=�v捆����=�vٍ������v΍������vÍ����=v�����=�v������=��v�����=�v�����=
v�������
�p���1��f.��NӃ�2�d���H��?H��H�Ѓ��;���@S��H�5&
/���7H����uc�����=�QvV��0tN�������vCH�5�
/���H����u1H�5�/����G����uH�5/����G��[���������[�f���H��t�b,��f��ff.�@��USH���qC��H��t<H�xH�-1/H��H�EH��t��H�EH�{H��t��H�EH��H��[]��DH��[]�f���H�VH9Wt
��@H��H��H��H�8�8��1�H���ff.�@�H��< ufDH���< t���tH�J< t ��BH��H�ʄ�u���@H��H���< t�t�� H���BH���ff.���UH���SH��H�
/�H��H��t}H�}H��t<�/��H�}H�H��t;���H�}H�CH��t:���H�CH��H��[]�fDH�}H�H��u�H�}H�CH��u�H�CH��H��[]�DH�5��	1��2�먃�t��t&��t�H�5{�
���@H�5�����@H�58�
���@AVL�5
5
AUI��H�5'[
ATI��UL��S�\��M�����E���������H�5\Z
L���)��I9���H�] H��u4�f��uL���E���H9k�I9���H�C H��H��tlH�ËE�P���w�;u�u��t�L��L���
������wkI9�t"H�U H��t;u�}tH�5PZ
L���
��H�mI9�tH���'���[]A\A]A^ÐL��H�5�3
�a
��A�u[L��]A\A]A^���D1�H�'D
�1��3�����fDH�u(H��tL����;��H�5�
L���
��H�uL���;����������t&��t	H�k�S���H�5�X
L������H�k�;���H�5�X
L�����H�k�#���ff.�AUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$���B�����u&1�H�L$dH3%(��H��[]A\A]�DH�DH��1�L���S��L���HcD$��H�������uۃ� u`fDL��H��1��#��HcT$HӃ� t��L��������v���@H��1�L������L���HcD$��H�������uۃ� t�1������>������DAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$���2�����uH�L$dH3%(uDH��[]A\A]�H�DH��1�L���K��L���HcD$��H��w�����u�1���������DAVAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L��������HcD$HÁ��?�� w:I�&fDI��s$H��L��1������HcD$HÁ���� v։�L��������u�H��L��1��{����HcD$HÉ�L�������uۃ� u`fDL��H��1��K��HcT$HӃ� t�ti��L���p�����t<@H��1�L�����L���HcD$��H��G�����uۃ� t�1������D1�H�L$dH3%(uH��[]A\A]A^ø�����DAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$��������uH�L$dH3%(uDH��[]A\A]�H�DH��1�L���K��L���HcD$��H��w�����u�1���������D��
wcH�
�V
��Hc�H�>���H��t;H���3���H��t+H������H��tH�����H��tH������1��D��f���H��(dH�%(H�D$1�H��tH�4$H�5�-H�T$H�����H�D$dH3%(uH��(��A���AUATUSH��H���}H�_XH��ttA��I��1�A���fDH�[HH��tC�{Pu����~�E��t�H��L�K�L��jM�D$H�
�>
1��o�H�[HXZH��u�H����[]A\A]��H��1�[��]A\A]��H�5/S�p�H��H��t5H�xH��H�H��H�@h1�H)���p���H�H��[��H�5i�	1�������USH��H��H�-�/H�XH�EH��t��H�EH�{(H��t��H�EH��H��[]��ff.�@��AUI��ATI��U��SH��dH�%(H�D$1�H��tL�������v+��w+M��t~1�H�>
�1�������t�1�H�
>
�1��^�1�H�L$dH3%(H���fH��[]A\A]�f.�1�H�w=
�1���H��/�0�H��H����f�H�C(CC�+�C�f�M��t�H��/�0�H��H�����+f�H�t$L��H�C(�CCC����H��H��tw�T$M��t.L��L���
�������H��L��H�C(�
��H�C����fD��L���>��H��H�C(�2��H�C����f�H�5Y�	1�1������M��t#�����L��L���C
��H�C���f.�L������H�C�������f.�����H��1��#����AWAVAUATUSH��H���UE1�H��tL���L�5?�.H�|$H��0A�H��H����f�@@ �H�s�E�C�EH����M���������L���v	��H�s(H�EH��t�����L���\	��H�E(H�sH���KH�|$�A���H�EH��tH�h L�{M����I��0A�H��H��� f�@@ A�I�w�A�G�CI�]L�k H����M���������L������I�w(H�CH��t�����L�����H�C(I�wH��tCH�|$���H�CH��tH�h M�I��M���X���H��H��[]A\A]A^A_�f.�H�C��f.�I�w(H��t�M��u�H������H�C(�@H������I�w(H�CH���k���H�����H�C(�Z���fDH�E����H�5��	1����a���DH�s(H���s���M���Y���H���j��H�E(�Y����H���X��H�s(H�EH��u��>���fD1��
���f���H��1��A��f���UH���pSH��H��.�H��H����H�xH��H�H��H�@h1�H)���p���H��C�EHH�}�CHH��t;���H�}`H�CH��t:���H�C`H�}P���H�CXH�CPH��H��[]ÐH�}`H�CH��u�H�C`��DH�5��	1��������H���`AUI��ATUSH��H��H��tL���1��
H��H��H�CH��u�H�CH��u�������H�sM����H����L����������L�%��.H�{A�$H�s(H��tL��������usH�{(A�$I�$L�c H��tkM��tfI9\$t~I�D$H���I�\$H���Y���H��L���M���fDL�%9�.I�$H��t	H����I�$H�{(H��t���I�$L�c H��u�H��H��[]A\A]��L�%��.�P���@I�D$�}���H��1�H��7
1�[�]A\A]����f�H��t[USH��H���}0��H�{@H�sP��'��H�{H�-��.H��t�UH�{`H��t�UH�{hH��t�C��H�EH��H��[]��@�ff.�@���f.���H��1��'��f����ff.���H����AWAVAUA��ATI��UH��SHc�A��H���Q��A)�A��1�E����A�$�����������uzI�T$�������1ɉ�H���{���H����
����)ƒ�1�&�D | I�T$���t�z����������H���)���f�H���
��H)�H��v)E����A�D$�������_���>H��[]A\A]A^A_����u�H���C
��H�#PCDATAH�L�f�A��~�HcЀ|�.t�H�� ...�@뫐I�T$�������1ɉ�H���q���H����	����)ƒ�1��D , I�T$����������A�(fD�LA�$���q���I�|$����I�|$(A��H��������A�D
A9���M�t$(M��tH���_	��L��H�|���A�:fD�I�t$H�������H���B2�����DH��� 	���?f�t����H���	���+f�T���f��)f�|�[����1ɉ�H���T����/���������Q������f�H������*f�L�3���f�A��	E9��;���H���{��H��E ...�E��������H�������Q���@���H������C���@ATUSH��H�$H��dH�%(H��$�1�H��H���[��H�C`H����H���6���H�UH�}PH��H�Ch���H�shH�{`�$��H�{`�*��H�EhH���@�����uKH�ChH�{`�D$�f��H�C`�D$H��$�dH3%(��H�Ġ[]A\��L�d$H�UP���L���D$����H��L�EM��jH�
�2
H��H�ߺ�����C@H�{`H�ChXZ����H�C`1��i���H��L�EH��E1�jH�
�2
�H���L��Y1�^�9������ff.���H��tH��t�~t1��f��~Hu*H�FhH��tASH��H��������u!�C@[����f.��[�f�����ff.�AWAVAUATUSH��H�$H��H�$H��HH�L$H��H��dH�<%(H��$8'1�H����H�������H����H�EPH�}hI��A�H�$H�EH�D$H�����0�������H�C H�}h1�1�H�C(�&��H��H���OH��$�M��H�D$M����E�oA��tL�NA����A��uNI�GH��tEH�xt>L��H���+��I�GL�xM����E�oA��u�L���84��A�ƅ���DM�W0M���IHcs ��~N�V�H�K(H��Hc‰�H)։�1҅�tH�T��H�SH��H��H��tL�z0M���aH��H9�uȉ{ 1�1�H���Y���PA�ƃ�A��DH���`���E����A����DD�H�{(H�C H��tH���.�H�C(H��$8'dH3%(D����H��H'[]A\A]A^A_�@A������I�GHI�H��tqH�pH��thL�t$�2L���V��I��H���01�H��H�����L;l$�����M;o�����H�1�.L������A�E1��
���f�H��1�H���C���v���fDH�$H�|$ ����D$ L��$�H�|$����Ƅ$�M�����H�5�C
L���Y�H�-�D
f�L��
H����������!�%����t�A�������D�H�JHDщ�@�H��L)�A)�A��A��1��A�|$wSA�D$HcD�H�>���L����1����u0��H�5�
L����I�|$0t8��H�5��L����M�d$0M���F����@A�???I�|$0uȺ�H�5�
L���l�L�D$M���bH��H�
.
AVL�L$(H�t$��H��E1��g��XZ���I�D$HH��tmH�xH��td�����	A9���L���H����������!�%����t������D�H�WHD�����@�I�D$HH��H�p����:f�I�|$�����	A9��}I�t$��L����I�|$0���������{ �����A�V��A������H��H���2��H�}hA��H���P���A���������f.�A�������Ic̀��.�������H�5�@
L�������H��M��H�
�,
jL�D$(���M���4���H�����H�$H�|$ ����D$ H�|$���Ƅ$��6����.��ff.���AWAVAUATUSH��8H�<$dH�%(H�D$(1�H����H��H����I��A��M�ƃ����m�������M���?L��H�t$ ���L�MPL�E@H��I��LE�M���zH�T$ M��t@M�@PM��t7I�xPL��L�L$���H�T$ L�L$H��I��tD�PHE����E1�@L��L��L�D$L�L$��L�L$L�D$H��H���E�xH���
H�|$ H��tH���.�H�D$ H�$D�cHH�����@0��L�sPM��tI�F H�E@H�k(H�C@H�E H���)H�X0H�C8H�] M��tH�Q�.L��H�L$(dH3%(H����H��8[]A\A]A^A_�fD����M�������H�<$1ɾH��*
�'���1��@H�}@L���1��H�CP�Q���M��tM���L��1����I��H�EPH���JL�E@H�T$ M���X������H�i�.L�L$�pL�D$�L�D$L�L$H��I���"H�xH��L�L$H��L�D$H)�H���pH�@hH����H�A�CL��L�\$�:���L�\$L�D$H��L�L$I�C�&H�T$ L��L��L��L�D$I�S`L�\$���L�\$L�D$����M�CXL�������M���=���H�<$1�H��)
1۾�����E����M������H�<$1�H��)
1۾�������f�H�<$1�H��)
1۾�w�����f�H�] H�]����H�<$1�H��)
1۾�J������DH�XXH�D$1�L��H�@XH�E@L�L$H�@PH�xP����L�D$L����H�T$ I��L�L$����DH��H��E1�M��jH�|$H�
<
���{��Y^M��tH���.L��H�|$ H�������H�s�.1�����f.�H�<$H�5-)
����M��u��f�H�<$H�5��	����M��u��f�H��E1ɺ�M��jH�|$H�
o;
H������XZL�\$L���,�M�������1����@H�<$H�5-�	�h��M��L�\$t:H���.L�$L��L�$H�|$ H�H��t
L�$��H�L�$L��1���8���H�}�.�����fD��H�5�������H�5U��`����H���H����UH��SH��H���FH���
����t	����H�5�:
H���/�H�u`H��tH������H�5%�
H����H�uH�����H�5v�H�����H�uPH��tH���c��H��H��H�5�:
[]���fD��u[H�5:
��H�u`H��tH���V��H�5��
H����H�uH���;��H��H��H�5�9
[]�v�fD��H��1�H�3'
1�[�]�M��DH�5�9
�<�H�u`H��tH������H�52�
H����H�uH�����H��H��H�5n9
[]��ff.���H��H��H���n��ff.���H��H��tH��tH��H�5���H���m�D����UH���SH��H�7�.�H��H��t%f�H��tH���Y���H�CH��H��[]�H�5��	1���������H��t?USH��H��H�?H��t���H�-��.H�{H�EH��t��H�EH��H��[]��@��H���_ATUSH�G@H��H����L����g��H�{`H��t�i!��H�spM����H��tL��������H�-`�.H�sH��tL��������H�shH��tL���f�����H�sXH��tL���M���tqH�EH��[]A\��@����H�{`H��t�� ��H�spH�-��.H�EH��t	H����H�EH�{H��t��H�EH�{XH��t��H�EH�{hH��t����DH�{X�UH�EH��[]A\��@H�{h�U�V���@H�{�U�-���@H�-i�.H�{p�U���D����������USH��H��tIH��H���H��H��t5H�;H��t����H�EH��H��[]�f�H�H��H��[]��1�H��H��[]�ff.����UH���xSH��H���.�H��H����H�xH��H�H��H�@p1�H)���x���H��C�EPH�}`�CP�ET�CT���H�}pH�C`H��t	�s�H�CpH�}H��t	�a�H�CH�}hH��t	�O�H�ChH�}XH��t	�=�H�CXH��H��[]��H�5a�	1���������AWAVAUATUSH��HH��$�H�|$ H�L$L��$�L�D$H�D$dH�%(H�D$81�H���iH�|$�]I��H���QH�~@H��E��1�H��tH���A�F���	�M��tL��D��������H�{@H��t
H9_X��H�CXH�D$(H���GH��.�x�I��H���
H�xH��H�H��H�@p1�H)���x���H�A�GE�wPH�C@I�G@H����H�t$�����H���&�H�t$�����H��I�G�������L��H��I�Gh����$�I�GpA�WTH�T$I�W`M��t�����L��H�����I�GXI�GpI�WhI�wM��H��H�|$(������H�D$0H�kPH���H�t$0L���d��H�T$0H��H��H�D$ID�H��H�D$��I��H����H���.�p�I��H���
H�xH��H�H��H�@h1�H)���p���H�A�EH�|$��H�|$0I�E��H�T$0L��H��I�E`H�t$A�EH���H�|$0H��t	H�S�.�H�D$H��tH��H�=�.�A����I�H�5���q ����u}I�hH��tH�5��X ����udI�mXL�%ҔH��u��H��H�}L���) ����uI�hH����L��� ������H�EHH��u�I�GHL�}H�DI�EXI�GHM�}XH�C I�_(H���CL�x0I�G8L�{ H�T$8dH3%(L����H��H[]A\A]A^A_ÐH�|$ 1ɾH�}
�h��H�|$E1�����f�H�s@H��tH���1��	�H��H�CPH������H�5�
1�����R���fDH�|$��H�|$I�G���L��I�Gh�����$�I�GpA�WTH�T$I�W`M���D���L����I�GXI�Gp�/���fDH�GPH���:���H�xXH���-���H�T$H�t$L������H����������fDL�{ L�{���H��M���H��AUL�|$0H�
�
L�L$L������_AXM��tH�D$ �@@H�{@E1����fDH��1����H�D$(H�CXH�������H�|$ H�5`
E1��P��H�|$����*����H��M��H��jL�D$H�
[
H�|$0���YL��^���E1�����L���S��������H���M��H��jL�t$0H�
V
L�L$L�����XZM�����A�F@����f�H�|$ H�5T�	���H�|$�����i���H�EH�(���I�GHM�}X�2���fDH�5�	1��R������������H�5E����0���H�5���������H����H��t~UH��H�5/
SH��H����H�upH���*��H�5�H���k�H�uhH��tH���
��H�5a�
H���K�H�uH�������}P
���EPH��0
Hc�H�>����H�5�.
H���	�H�u`H���m��D�ET�����V�������MH�5�.
H�����DH�}XtH�5,�H����H�uXH������H��H��H�5x.
[]��f�H�5�
H���q��t���@H�5�	H���Y��\���@H�5�-
H���A��D���@H�5�-
H���)��,���@H�5�-
H��������@H�5�-
H�������@H�5�-
H��������@H�5y-
H���������@H�5t-
���@1�H��
�1�������fD������1�H��
�1��r�����DH�5-
H���Y����@H�5-
H���A��|���ff.����H��H��H������ff.���H��H��tH��tH��H�5���H����D����AWAVAUATUSH��H����H����H��L	���L�vHM��H��I��H��I��M����H�=�.��H��H����H�@f�L���S�H�M��tL���C�H�CH��tH���2�H�CH��L��L��� ����udH��H��[]A\A]A^A_�f.�H�v@H��tH���1����I��H�CHH���U���H�5J
L��1��H����fD1��@L��H�V
�1����H��1��h����w���H�5��	L�������`���ff.����H�5���������H�5����@
����H����H��t~UH��H�5+
SH��H���6��H�uH������H�}t[H�5��	H�����H�uH���8��H�}H�5v�tH������H�uH�����H��H��H�5�*
[]�������H�5Z�	��ff.�@��H��H��H���~�ff.���H��H��tH��tH��H�5���H���-�D����AWAVAUATUSH��H����H�����:��H����L�~xI��I��I��H��M���	H���.�0�H��H���'L�����L�s(H�CH�����E0t
H�E���tSL�kH�CI�}(�F	��H��L��L���C �������A�EPH��H��[]A\A]A^A_�1���@I���I�uH�����������H�CH�C�@L�kI�}(H�C����H��L��L���C �����y�H��1�����z����H���1����I��I�FxH������H�5�
H��1��I����?���@H�5��	H���1����'���@H����H�C�Q����H��I�u(�E1�jM��H�
o(
H���,���XZ�W���D��H�5��������H����H����ATUSL�gxM��tyH��H�v��,	��H��H��t`H���<��H��L����H��t<H9Xu6H�_��H��L���4��H���.H���CP1�[]A\�f.�H���.H��������ރ��f���H��t7SH��H��t&H�xH��t��H��tH�@H��HD�[�fD1�[�@1��ff.�f���H���CAWAVAUI��ATUSH��L�H�^L�6M��t2A�GP���%����H���[]A\A]A^A_��H�t�H�����I��H�D$H���?I�&������C�L��<w)�f�H���]��� �C�<�m�� �d��
u��EI�~8L�����H�����E
I���I��A�$�� w�I��r��w����H���(�I��H�D$H���wI�&�f.������C�L��<w)�f�H���]�����C�<�]�� �T��
u��EI�~8L������H���_�E
I���I��A�$�� w�I��r��w����I�~8L�����H��u/VE�M L��H�
H
ATM�E�1��.��A�F@_AXH�	�.H�|$�����D�EI�~8L���8��H��tbI��]�� �4�������I�~8L�����H��u�M�GI�w(PH�
/
j�M��L���u���A�F@ZY�v����
H��E�M �1�ATM�EH�
}
L���m���A�F@A\X�j���D�EI�~8L�����H��tI��]�� �D�������
H��M�GI�w(M��jH�
�
�L���ջ��A�F@AYAZ����f.�I�~8H�����H������H��M�GI�w(I��jH�
�
�L���v���A�F@A[[���fDH�5�#
L������A�F@�x���@��H��AVA��H��AU��ATA�US�FH���=L���I��H��H��I��M���YH���.�(�H��H���H����H�CM��tA�E0tI�E�����H�CL�cI�|$(���H��L���C ���I��H��t"H��L������uSH��[]A\A]A^��H�5��H�=*���u�I��H���H��H��L���{����y�L���O��1�H�W
�1��c���H�-,�.H�{H�EH��t��H�EH�{H��t��H�EH��1���c���fD1�H��[]A\A]A^�f.�I�|$���H�CH�C���DH���1����I��H���H�������H�5X
L��1��.������f�H�5��	L����������@1�H�G
�1�胸������ff.���H�5��������AUATUSH��(dH�%(H�D$1�H����I��H����L���M����H�v����H��H����H��L�����H��H��tfH��H��H�5���H�$L�d$�5��H���}���u)H���.H��1�H�L$dH3%(u4H��([]A\A]�H�
���1�H��L���,��H�S�.H����������f���H��tH��tH���H��t�Q���1��ff.�f���ATUSH��dH�%(H�D$1�H�$H����H��H����H�_PH��t>H��H������I��H��tKH�$H��H���\��H�<$H�-��.H��H��t�UL��UH�L$dH3%(H��uAH��[]A\�@H�$H��H�����H�<$H��H��t�H�N�.��f.�1���w�����H��tH�PH��t����f�1��ff.�f�AWAVAUATUSH��H��A��H����A���H����L�bM��t;H�BHI��I��H��H���H�~PH��tcL�xM��tZL��L����
��I��H��tH��L��[]A\A]A^A_�DH�{XL�eH��tL��L���
��I��H����L�eH�{P@L�����I��H��u�H�{XL�EH��t/L�����H��tA�EI��낐E1��y����L�EH���E1�H��jH�
,
L��輵��XZ�F���DA�E�4�����AUATUSH��dH�%(H�D$1�H�$H����H�_XH��tII��H��H��I������L��H��H��tLH�$H��H����H�<$L�%R�.H��H��tA�$H��A�$H�L$dH3%(H��u(H��[]A\A]ÐH��1�L����H����fD1����?��ff.�@��AWAVAUATUSH��dH�%(H��$�1�H���lH�jH��H���\H�BHI��I��H��tPL�@M��tG�H�=+�H����€���u,�H�=��	L����€���u���M����I�|$PA�T$���
�M����I�UHM�}L�t$H��t)H�rL�t$H��tL���2L������H�kI��H�CHL�D$PH��t+H�pL�D$PH��tL��H��2L�D$���L�D$H��M��t	H����1�L9�tH9ktH���.H�D$H��H�D$M9�tM9}tH�q�.H�D$L���H�D$H��t
�xP��1�H��$�dH3%(��H�Ę[]A\A]A^A_��I�|$X������
u�H��H�=���P���������H�sH�=a�	�8����t�M���z���I�}H�5wm����������m���fDI�|$PH��L��L�D$���L�D$H����I�|$XH�����H��L�����L�D$�������ff.�f���H����ATI��UH��SH��H��tiH�{PH��tr�{
tNM��tIH�UI�t$�o�H��t�@P[]A\���������fDH�{XH��tH�UI�t$�9�H��u�[1�]A\�DH�Z@H��t�H�{PH��u�H�{Xu���D1��D��H��H��H��tH�XH��tH��H���-�D1��D��H��tH�HH��t���f�1��ff.�f�AWAVAUATUH��SL��H��(H�|$H�T$��t*��
�dA����-H��(D��[]A\A]A^A_�L�����I��H�D$H�����A�I�&������C�M��<w�!@I��A���t�C�<v
�� t��
u�A�L��H���\�H��t�x\t,H��M��jL�D$ H�
	
H�|$H��E1��7���XZ��tA��� v)f�M�����m���H�.�.H�|$��
���f�I��s�I��A��� w���H��M��jH�
�
L�D$ �@L��H����H�����x\uQA����H�~PL�����H��u�H�}XH��t
H������H��u�H��I�ٺjH�
�
L�D$ �H��I�ٺ�jL�D$ H�

H�|$H��E1��3���Y^�7����}Lt$H��I�ٺjH�
�
L�D$ ��E1��
����ELH��H�����H��t��2���fD��H�����OP��
���ATI��H��USH���`tzL�GXM��t#H�WH�v8L���e�����uA�|$@��KPH�k`H��tEf�H�SI�t$8L��L�E�+�����uA�|$@uA�D$@fDH�m�KPH��uă�
u*H�spH�k@H����H��t9H�}P���H��t�xHte[]A\���H�spH�}X��H��u�H�spf�H�{(H��t�twH��I��H�
�
1�jL�C�L��训��Y^�f.�H����1�L��jL�KpH�
�
L�C�|���A�D$@XZ�g���@A�D$@�����%�H���A���H�sp�r���H�KL��[H��
]�A\�t���@�������H��tBH�FPH��t1H��t,ATI��H��UH��SH��H���\��H��t�[]A\�D������f���H�{X�H��tH���"��H����M��t���t�H���E1�I��jH�
�
H��L��耬��X1�Z�f.���H��t�\t�H�WPH��t�SH��H�w@H�������t�C@[�f���H��tqUSH��H��H�PH��tSH�����H��t0�PH���vH��[]�@H�9
��H��[]��H�{XH��t
H����H��u�H�������[]Ã��f���H��tH��1��]���D1��D��H��tH��1��-���D1��D��H��tH��1�����D1��D��H��tH��1�靻��D1��D����fD��H��1��p�����AWAVI��AUATUSH��XdH�%(H�D$H1�M����H����	�M�������H��H���{I�FHI��H��M��H����H�pH����I�~H�T$�2H�T$���I��H���7H�{PH��H������D$H��t0L;|$��M9~��H�d�.H�D$L���H�D$�iH�{XH��tH��L�����D$H��u�L;|$tM;~tH��.L���fDH�{PH����I�vH���G�H��tz�D$�xPt|L�����I��H��tlH�������sL��t`�L$��tXL��L��������uIH��M�N�I��jH�
�
L��L���j���A�E@XZ�fDH�{XH��u/�E1�H�L$HdH3%(L��u1H��X[]A\A]A^A_�I�vH�����D$H���9�����\��ff.����AVAUATUH��SH��PdH�%(H�D$H1�H����H����	�H�������I��H����H�FHH��I��L�FH��tAH�pH��t8L�t$�2L��L�����H��tWL�CL9�tI9�tH��H�w�.�L�CI�}PH��L����H��tE�xPtOL���o��H��tH��H�D$荳��H�D$H�L$HdH3%(u=H��P[]A\A]A^�I�}XH��u�1���@H�sH���D�H��u�1���&��fD��AUATUSH��dH�%(H�D$1�H����H�~PI��H��H���5H���@H�UX�uPH����H���Ĺ��A�ą��iA���}P��H�uXH��tUH�]`H��tLf�H�{�����u6H�H�uXH��u�H���upL�MI��H�

H��L����XZE1�H�L$dH3%(D����H��[]A\A]�A���uЋETH�up����w~H�{P�u�H����1�H��貹���D$A��A����H���uL�EpH�
�
L��H��菫��_AX�����H�~X�U���H�������A��D����H��I��H��jL�EH�

L�������}PAYAZ�E1����fDH����H��L��jL�MpH�
�
L�E�˥��A[X�j���H�CP�D$H��ugH�{XH���W���H�up�i�H��ts1�H��誸����hD$���-���H��H��L��jL�MH�
,
L�Ep�S���Y^����@H�MpH�xXL�L$1�L�¢��1�����D�L$���1��H��A���uH�
�
L�Ep����^��H�upE1��D���f���AWAVAUATUSH��H���eH�NPH���HH�����zHH��I��H�|$A���H�sH���h�H��H��t#H9�tH�x`H�s`H9���������}H�sI�|$X�/�H��H��t&H9�t!H�x`H�s`H9�t	�����t�MH����H��D��[]A\A]A^A_��H�jPH���g����}�]���H�EH���P����8L�ut/M����A�>��I�FH����L���8L�uu�L�hM����A�����I�FH���v�8t6�\@M�vM����A�>��I�FH�����8��H�xL�������t�H�EH�p(I�FH�x(�����t�H�EL�CL�H(M���H��H�
*
AUH�|$��H��E1����AZA[�j���f�D�MHH�sE���v���H��I��E1�H��jH�|$��E1�H�
H

跢��_H�sAX�B���I�~L����������@L�u����H�~X�����DE1��7����H����E1�H��jL�CH�
�	
E1�H�|$�7���XZ������_����I�L$P�r���fDA�����DH��M��H�
�	j����H�EI�~(H�p(�J������B���H�EL�CL�H(M��t.H��H�
^�	AUH�|$��H��E1�蟡��L�u]A]���H��M��H�
��	j�͐��AWAVAUATUSH��XH�<$dH�%(H�D$H1�H����H�~PH��I��H��M��H����M����I�D$H���yH���pH�UH���cI�L$HH����H�qH����H�T$�2H��I������I��H���'H�EHH�UH�{PH���"H�HL��L�D$���L�D$H��I����M9�tPM;D$tIH���.L��M��u8H�UI�D$H�{PfDH�MHH����H�IH�����I��H����A�vPL��H�߉uP葲���D$���M�D$A�~T�rA�FP���5�P����Y��
����	��A�~T�lA�NPH�UM��H��H�<$��#D$��H�~X�u���D1�H�\$HdH3%(��H��X[]A\A]A^A_�H������I��H���)���H�{XL�EM�L$H���@L��L�����I���M�~`M��t#�I�L������5���M�?M��u�H��A�t$L�ML��H�|$M��H�
X�	���^_�D$���@H����H�
H�	L��jH�|$M�L$L�E谞��XZ���f�H�<$H��L��H�����H��A�FP������D$�{���@I�~XL�����������H��A�vXM�L$L��L�EH�
y�	��H�|$�2���AXAY�D$�E����H�{PL��M�~`���H���M��u�DM�?M����I�L���P��t�A�FP���H�<$H��L��H���>���H��A�FP������D$���@I�vXL������z���H��A�vXM�L$L��L�EH�
)�	��H�|$�b���A_X�D$�@���f�H�{XL�EM�L$H��t(H�EHL��L��H�H���I��M������M�L$L�EH��H�
[�	L��jH�|$���Y1�^�H���H�{XL���R��H������H��A�t$L�MM��H�|$H�
��	�L��谜��AZA[�D$����L��L�D$���L�D$H��I�����H�{XH����H�UL������L�D$I��M9�����M9D$��������H��A�t$L�MM��H�|$H�
�	�L������ZYA�FP�D$����@H�{XH��t'H�EHH�UL��H�H�S��L�D$I���}���fDI�D$M9�tI9�tH�ڲ.L���5���H�UH�{P�;������ff.���AWAVAUATUSH��H��XdH�%(H�D$H1�H���"I��H�{PH��H��M��M��H���.H����H�EM����H����I�|$��H���EH�T$�2H��H�$���H���I�T$H�{PH����H�
�dH��H�D$�=��L�D$H��I���L;$tL;EtH�ɱ.L��M����A�vPL��H������D$����M�D$H�EM����H��I��H�
�	j�H��L���N���XZA�~T�AA�FP��
����	�{A�~T�`I�T$A�NPM��H����H��L�����#D$��H�EL;$tI9�tH���.L��H�EH�{PI�T$H����H�
�cH��� ��I��H���	���H�{XM�D$H�uH��t$H�
�cL������I��M������M�D$H�uM���H��I��H�
W�	jH��L���E���Y^1�H�L$HdH3%(�@H��X[]A\A]A^A_�H�{X������H��bH���i��I��H���R���H�{XH�uH���iH��b�@��I���H�����D$�g���I�V`H��t+�H�zL��H�$�����]���H�$H�H��u�M�L$H�EM���
H��M��H�
��	PH��L���K���Y^�D$����@H�*b�!���@H�bH��H�D$���L�D$H��I���G���H�{XH������L��H��a�W��L�D$I��L;$�1���L9E�����"���fDI�~XL���$��������M�D$M�NXH�EM���NH��H�
�	AQI����H��L���v���XZ�D$�G����M�V`H�{PL��L�$輾��L�$H���mM��u�DM�M����I�zL��L�$��L�$��t�A�FP����I�vXL���d��������M�D$M�NXH�EM����H��H�
��	AQI����H��L��趖��A[X�D$�e���fDH�{XH�������I�T$L��H�
}`����L�D$I�����f�H��E1�I��jH�

�	����H��E1�I��jH�
u�	����M�L$H�EM���H��M��H�
�	PL���H�����_AXA�FP�D$���H�5]�	L��虓��1����H�{XL���6���L�$H���z���M�L$H�EM����H��M��H�
	�	P�H��L��舕��AYAZ�D$L�$�4���M�D$���f�H��I��M��jH�
=�	���H��I��H�
��	j���H��I��H�
U�	j�X���H��I��M��jH�
[�	���L�$H��I��M��jH�
��	�R����E���D��AWAVAUATUSH��(dH�%(H�D$1��D$H�����GPH��I��I�ԅ���L�HM����I�H�����BH����1���������u|I�H��ts1�H��H�L$���L�D$��y[I�wH��M��H��H�
��	��1�H�FjI������_AX�1@I�}L��L�D$�g�L�D$���-f.��H�L$L��L��H�������KTI����H���.�CT
���H�CXH���{�KT�SP9�|,�H��H���.Hc�H�4IH���H���cH�CX�SP�cTHc�H�IL�4�L�sHM�.M�fM��tA�}HtH���SPH�|$dH3<%(���/H��([]A\A]A^A_�DH�CXH���n����D���fDI�}hH��t1�1�����SPI�F�D1��@H��L�����I�}hH����HcCPH�SXH��L��H�
b�	E1�H��H�@H�ºH�@jM�D$�{���Y�SP^�1����L�jPM����A�}�H�t$H��H�L$�ư��L�D$H��H����DA�E�������
1ɾH��L�D$H��	�O���L�D$I�wH���H��H�
#�	1�L�Nj�֑��AYAZ��DI�}(�����M�mM��t�A�E��t���1�H���	�1�L�D$�ؐ��L�D$뇐I�wH��E1ɺH�
	�	1�L�Fj�\���A_X�y���@I�}(H��t�T$L��L�D$���L�D$��t]DM�mM���������fDI�EH������8tN�8t�����@I�EH���A����8tf�8�����.���I�}H���4�L�D$��t�����fDH�x(H���{����T$L��L�D$�B�L�D$���]���I�EH�x�H�x(�����H�x�`���H�t$H��H�L$�Ү��L�D$�N���I�wH��E1ɺH�
	�	L�Fj�&���A[A]�B���H�5��	H���΍������H�5S�	H��躍������P���LcsPMk�LsX��ff.�@��H���������D�GPE��~}H�OHH��ttL�M��tlH��E�@HA����1�E��tHA��udI�&�B�H�T�< v9H�qH����E1�H�
:�	L�Fj�?���X1�ZH���fD��I��s�H��H9�u��H����1��DH�qH��E1ɺH�
��	L�Fj�ގ��Y1�^����H�����WP���~USH��H�oHH��teH�MH��H��t�yHtf��H�{XHcʉSPH�IH��H�4L�H�FH�M��tA�xHtg��H�L�H�FHO�H�SHH��[]�@��H�}H��t�1�1��~����tR��SP���t������1��DH�~�D$�k���HcKPH�{X�D$H��H�IH��H�4�l���H�u�D$H��E1ɺ�H�
��	H��L�Fj蟍��XZ�D$����AWAVAUATUSH��xdH�%(H�D$h1��D$,H��tkH�~PI��H��H����H��tR�{���CH�(�	Hc�H�>��f.�H��E1�E1�jH�
�	D�H��L�����XZ1�H�L$hdH3%(���	H��x[]A\A]A^A_��H�~X�p������뽐H��E1�E1�jH�
u�	�H��E1�E1�jH�
=�	�x���H��E1�E1�jH�
V�	�`����H�L$,H��H��L���m��I��H���K���A�D$P����A�EH����������,�����mLH�s�����H��L��L���:�����N��H��E1�E1�jH�
E�	����H�{�5H�{H��H�{P������H��E1�E1�jH�
�	�z���f�H��E1�E1�jH�
r�	�`���I�|$(I�D$ H��tH�n�.�I�D$(�M�mXM��u �9���D����M�mHM������A�ET��u�I�}hH����H�5�T�`����L�s`M��t �I�vI�}�;���u�M�6M��u�L�CM�MhI�EM���JH��H�
�	�PH��L��1�茊��Y^�f���DH��E1�E1�jH�
��	�`����I�}hH���SH�5ET������ ���L�s`M��u�����M�6M������I�vI�}�����t�I�vI�}X�v��������H��M�N��H�
J�	jL�C�F����L�{XA�����M��u)����@H�x�'���������A�M�0M��t@I�uI������t�I�uhH���c���I�GHH��u�H�CHH��u�A���DD��fDI�EM�MhL�CA��������E��tmH��L��H��PH�
�	�ɍ��_AX�����I�}H�5S�����u|I�}h����I�}H�5�R�`������I�}h����H���H��L��PH�
a�	�\���AYAZ���H��E1�E1�jH�
K�	����H�C`H������H�x�V���H�H��u�����H��I���jH�
��	���H�C`H��u�����H�H������H�xu�H�pI�}X��������H��E1ɺ�jH�
�	L�C�Q���I�EPH��t	�8�&L�sM�������H�D$0�H�D$�f.�M�v0M���h���A�~u�I�~I�FHH�|$H����H�pH����H�T$�2�z���H�D$H���f���M�}PM����A����<��tG1�H�F�	�1��r���H�L$H9L$�b���H�D$I9F�S���H��.H�|$��@���I�GH��t��8��8u�M�M��u�H�L$H9L$tH�D$I9FtH�ҝ.H�|$�M�}PM��tO�A���tp��t1�H���	�L���Ņ�����I�GH��t܃8�~�8u�M�M��u�H���H��L��jL�D$H�
s�	1�L�K�(���XZ�q����I�H�t$�����t��Y���f�I�H�t$�b������������DH�xH�t$�B�����q�������DH�xH�t$�"�����������DH��E1ɺjH�
��	L�C����H�{�7���H��E1ɺjL�CH�
��	H��L��1��Q���A_X�����|$,�F���H���=�����H��H��	��H�I0H�������yu�H�AP��� w���H����� w�H��r��u�ASH��E1�H�
��	jL�C�L�����]H�s1�A^����{��H�kH���3����M����A��<� ��H�EH��t8H�xt1H��L����H�EH�hH������M��w}L��H�੘t�H�m0H��u�A�T$ I�|$(��������r�Hc�Hc�H����H)��1҅�tH�T�I�T$H��H��H�������H�j0H��uSH��H9�u��p����.���I�D$ I�|$(H��tH�Ԛ.�I�D$(E1�PH�
v�	�jL�C�0���A�t$ �1���@��AWAVAUATU1�SH��XdH�%(H�D$H1�H����I��H��H������I��H���)H�pH���H�CPH����H�xH�����}���Ņ���I�D$HH��taH�pH��tXL�t$I�|$�2L�����I��H����H�CPL��H�x�-��M9�tM;|$tH�ʙ.�D$L����D$��t0H�CPH�5�	H�x������t@I�|$H�5�������t+�H�L$HdH3%(��ujH��X[]A\A]A^A_�f�H�CPH��M�D$L��H�
��	L��L�Hj����XZ�f�1�H�"�	�
1�L���H����1�L���������B���f���AWAVAUATUSH��H�����B��H�vQH��tpH�~PtY���t;H��I��I���q������}��tNH�mH��tH��L��L�����H�m0!�H��u�H����[]A\A]A^A_�H�~Xu�f�1���@L�uXM��tH�I�v1�L���j��L��H��L��I��L��I������!�M��tH��.L���M�v0M��u�L�u`M���T���f.�H�EHM�NM��1�H��tH�HH��L��L���,���M�6!�M��u�����ff.�f���H��tGUSH��H��H��tA�o0H�ډ��G0H���H�s8H�5)����C@�]����k0�C@H��[]�1��D1�H���	�	�u��H��1�[]�ff.����H����H����AVAUATUH��SL�nXH��L�fPH�VXH�FP�c�����tYH�{xH��t
���H�CxH���H��t����Hǃ�H�����H��H��H�����H��H��A��虿��D!�L�kXL�cP[]A\A]A^�D1��ff.�f���H����H����ATUH��SL�fPH��M����H�s8�G@I�|$XH��tH��H�5$������I�|$`H��tH��H�5{�����L�eXM��t2I�|$XH��tH��H�5����Ԡ��I�|$`H��tH��H�5@��軠���C@[]A\�1��DL�fXM��tH�s8�G@�f�1���ff.����H����AUATI��USH��H��H�FPH���&H�xpH���AH�~X��H�{xH��t
�@���H�CxH���H��t�7��Hǃ�H��L��葳��H��L��A���s�������H���S��H��L��H�����H��L����ؽ��!�D!�H��[]A\A]��H������H��H�CPH����H�xhH���H���H��H�CXH���.�H�CXH���-���H�CPH�HpH����H�k�	�L���|��H��1�[]A\A]�f�H�~X���1�H�8�	�
�R|��1��H���H�xhH�������H�~X�����1�詬��H�CX�l���1��DH�HpH���	�L���|��1����H�Hh�V�����H��A��H����A��H����9���AUA��ATI��UH��SH��H�����t~v4��w!H�H������I�|$D��H��H�������H��[]A\A]���u�~uE1�L�-��	�HcI��D9�~dJ�t�L���_����t�����E1�HcЅ��L@HcI��D9�~<J�t�I�|$�����t��t���Hc���B�H��	H�\��T���f�I�L$�B�H�L��>���@������f���AWA��I��AVAUATUSH��H�|$H��$�H�T$H�߉L$,�H�t$ dH�%(H��$�1�E���D$l�H���H�������I	���H�|$p�H�|$H�|$�H�H�xx��H�D$x�KL�l$M�e(I�D$@I�t$H�xP�q���H��H����H�D$H�@0H�D$XH�D$8H�|$ tH�D$ H�@8H�D$8I�D$I�}@1�1�H���	H�D$@I�D$ H�D$H耘��I��H���H�L$ I�WL�`(H�D$I�O0I�G8H�T$PH����L�x0H�D$ H����L�x8H�}PH�T$l�H��谜���D$l����H�D$1�E1�L�<$H��H�D$0���H��9l$l~}H�H�$L��I�t$@H�|$H�A�n�����t�E��t-H�T$0A�F�L�|$L�,��
�I��M9�tI�7H�;������t�H�H�L$A�FJ��9D$,�Lc��H��9l$l�L�<$D��H�D$H��t	H�L$XH�H0H�D$ H��t	H�L$8H�H8H�D$@L��I�D$H�D$HI�D$ H�D$PI�G�|���H��$�dH3%(����H��[]A\A]A^A_�L�l$I�D$@H�xXH��trI�t$�d���H��H��t`H�D$XH�|$������L�l$ M�e(I�D$@I�t$H�xP�&���H��H��t7H�D$X����M�|$ �@���M�|$�$���������F���L�<$����L�l$ �a���1������a������H���.�@��H�=u�.�@��H�]�.�@��H�=M�.�@��AUATUSH���dH�%(H��$�1�H����I��H��H����A�|$
tH�CHH��tH�xH�5��	����H�$�	H�5��
H���]��H��H��tUH�5��	H�������tH�K�.H����1�H�5��	H���y����ueH��.H��f�1�H��$�dH3%(��H���[]A\A]�f�L�f@M���/���H�CHH���3����>����H�a�	H�5$�	H�����I��H��trH�C�	H��L���@���H��tqH��L�H1���H�߹��L���	�D���H��L��Ƅ$����H�J�.H��L����(���fDH�)�.H�������H�5��	L���[����D���@USH����(��tvH����xn�H�H��tH�@xH��t
H�� H�{�Ћ�(��~6��H��0�HcЉ�(H�<�tH�t9�H�� H�������u�H��[]�ATI��H�=mG
U1�SH���-��H��H�{��H��tL�������t�Hc�H�Z�-[H���D(]A\�ff.�f�SH��tZ��LH����t	���t>���A�1�1�APQR1�jjjAPE1�QH��jjjV1��Q����CH��`[�@APA�1�1�QR1�jjjAPE1�Q1�jjjV1�����H��`[�ff.�UE1�1�H�3�	S�"H��H���A�����H��蠲����>tH�E8H�@ ���u�H��[]�DAUI��ATUSH��xdH�%(H�D$h1�H�G8H�@ ��H҃�߃�A���€�1wH�H��H��!����I��?1�H��f����ڃ�߃�A��v9�HӀ�2viI���H�����H�t$hdH34%(ueH��x[]A\A]���P���w�� �DL��H��譱��H��dt'I�E8H�@ ��f.�I��r����d�1���P���SH�W8H��H�OPH�B H��t�wh��u�8te[�DH���H+BHB@H�FHcB4H�H�F �5��������~F�����t0H�H��H���H�D��H���H�C8H�@ �8u�H��[����Hǃ�H�C8H�@ �t����ATE1�UH�&SH��H�8H�O ��< vD��[]A\�@H��s�t6<
tOH�Q�G8H�W �A��tV1�A�������A�H���f.���覟����~BH�{8H�O �<
u�H�Q�G4�G8H�W �A��u����n���H�{8H�W �듐H��訜��H�{8H�W ��z����AWAVI��AUL�- �-ATA��U1�SH��H�|$I�,L��H��H��H��M�|I�7�ڥ����u6I�wH�|$�ȥ����x&t2H�kL9�r�H��1�[]A\A]A^A_��y�H9�v�I���@H���[]A\A]A^A_�ff.��ATI��USH���m@H��L���5�����tkH�H��tH�@xH��t	H�{H��Ћ�(��~;��H��0�HcЉ�(H�<�tH�t9�H�� H��M��tH�� H��u�[]A\ÐH��[]A\�4���@H��t(��L��uqLJ�LJ����LJLH��H��H��tWH��H�<�	E1�1�VA�1�P1�jjjjV1�jjjj�S���H��`H���f.����u��fDH�M�	E1�1�1�PA�1�1�jjjjjjjjj����H��PH����UH��SH��H���G4��~l��	�}��(��,H��09�|-�H�3�.��,Hc�H���H��H��0H��tu��(Hc�H�,׍PH�� ��(H��[]ÐH�5S�	H���!����t-�C4H�5?�	H��������l����C4
�`����C4�L����1�H���V���1��f�UH��SH��H��������H���9�|5��tq�Hc�H�4�H��H�U�.����H��H���H��tV���Hc�foEH��H��foMJH�M H�J H����P���H��[]�D���
�@1�H�����1���f.���5 u
�
و.��u�@ATUH��H�5 nSH��H��������u!��(����H�5��	H�������t
[]A\�DH�5��	H�������u・(��H�50�	H�������u�H�5�	H���n����u�H�5�	H���[����u��{4	���(���g1�L�%j�	�7�H��0H�5L�	H�<�������W���H��9�(�%H��0L��H�<������t��+���DH�5mH���!���H�H�������H�@pH�����H�{1�H�5�l������@H�5�	H�������tE�{4����H�5��	H������H�H�������H�@pH�������H�{1�[H�5w�	]A\��H�5��	H���9�����u�H�5��	H���&�����u�H�5T�
H��������u�H�5��	H���������k���H�51�	H��������T����L���H�5�	H������H�H������H�@pH�������H�{1�[H�5��	]A\������H����ATI��USH�� H��t7�Q�.H���-H�5�k��u[1�]A\�H��H�3H��t�H���L�����t�H�5��	L������H�5w�	L������H�5h�	L���k���I�$H��tH�@pH��tI�|$1�H�5@�	��[�]A\����H��xL�G I��dH�%(H�D$h1�A�@<_��<:�„�t��߃�A<�|I��?1�H��DA�L�‰σ�߃�A@��v*�y�@��2vAI�:艊��H�t$hdH34%(u5H��x�@�Q���w�� �H��H��du��d�I��r��1������ff.�@H���/ATUSH��H��tH����6 uL�g8I�|$Pt[]A\�fD�<	t	< uDH���< t�<	t�H��聎��H��I�D$P�t���������P���wH�U8H�H��tH�z����H��貸��Dž�H�U8H�H���u���H�x�j���H�x(�_���H�x H���R���H�r H+rHc��5���H�E8�H�8�d���H�u8��H�H�x �B���������[H��E1�]1�H���	�QA\�}�D��H��計��H��t.H��H���x����A���E1�1�H�?�	H��Q�:��#���E1�H��H�H�	H�� ������fDUH��SH��H�5��	H��H��赒��H��tAH��H��t8�P�� w*H�&H��sH�5�9
H������H��H��t���=tH��[]��H��H��H��[]����ff.���~<�< w*H�&H��s��H��H9�t�F< vk1���H�G8H�@ ���ta<<u�H�� H��tQATH�5�gUH��H��S�k�����uH�� H�5��	�T�����t&[�]A\�fDH��H���z���노�H�� H�5L�	������tCH�}H��t:蕠��H��H��t-H�xhH��t$H�5��	�����t�H�{hH�5��	�Ԛ����t�H�}PH��tm�R���H��H��u�e�H�[8H��tT�{t�H���9�����u;H�-��-H�5� L����fDI9�����H�uH��H�{�^�����t�1�[]A\�H�EP�xtH�xPu�H���-H�5� L����L9�����H�3H��H�� ������t�1��@AWAVAUATUSH��L�8M����I�oI�G H)�Å���L��@H�A��E1���I9��6I�A��H��H���DH�<$H�x �T$@�t$�޺��H��I�H�x �?����T$H�$�t$A����Hc�A��E1�A9���H��A�XA9�~{A���TE��t��"tA��'t<E��u�A8�u�@��t@:tu�Hǁ@I�W I+W)�H��[]A\A]A^A_�f�E��t[��E��D9�u�H��E1�A�XA9���LcË��L��@E��tc�����H�������[]A\A]A^A_�fDA��E���5���DD���I�A��D��H��A��H�������E�O0��������H�������[]A\A]A^A_ø�����(���f�USH��H��H�G8H�h +h�f.��DH�H��@1ɺ-�-H��������x!H�S8Hc�H�r �T��>t��!u��|>u�H��[]�SH��tb��LH����t	���tEH��A�E1�1�ǃ�	1�1�QR1�jQH��jjjjjjj	蚔���CH��`[�DH��A�E1�1�Q1�1�R1�jQ1�jjjjjjj	�Y���H��`[�AWI��AVAUATUSH��H�G8H�@ �(@��"t
@��'�L�����I�G8L�` L�pM9���A�$������@8���E1�1��*�L��H��褠��I�G8H�@ ���tE��@8�tm<@��<
��@��t̓�	<v�H���	�	L��A�����f.�@��t+E1�1�H��	L���,���H��1�[]A\A]A^A_ÐL������E��u��I�G8M)�H�xH��[]L�A\A]A^A_�}��E1�1ɾ+H���	�j��@��u�L���˟��1���AUATUH��SH��H��H�8dH�%(H��$�1����H�W D�"��E��x<����u
H9W(�]H��$�dH3%(��H�ĸ[]A\A]�H�Pu!H�H��tH�xuH�G(H���=D�
H���;���ǃ�H�{8H�W D�"E��x u
H9W(��E��p���DA��@���B���"��<���D����<�t}�E��R��%���?	ƒ����Ё�������� ���������������������H�.t	H�߉D$�	�u����D$����@�B������<�uED����<����E������B�R����?%�	�	‰Ё���_���f�H�W D�"H�G(E��L�d$H)�H���~�BH����L��L��s	��P�BP�B�P1��x��H�� H�xs	E1�L��H�߾Q���H�C8H�H��tH�z��H�@ �E��������L��1�L�B�	���x���fD1�H��r	�	H���2���� �����8�����H�5��	H������H�������H�5��	H������H�������H�5��	H�����H���w���H��?H�xH��fD��ƒ�߃�A������-<2��H9��8���H)��z��I��H���$���H�C8H�xPH��t
H��t.�H�C8L�hPL����}��I��H����H�8H�5�i	��������L��H���v������1�H��q	�	H���
����E� �T���f�H���M���H���%���D�����H�{8H�W �B����DE1�L��H�{�	H�߾Q����N���f��
H���s���H�C8����萊��H�{8H�W �B�����ztyA��A����;����B��<��,����E���%���B��%�	��J��?	��B��%�	�=��������������W����<���������H�{8H�W �p����d���@AWI��AVAUATUSH��H�8dH�%(H�D$1�A���L�g��uH�G(H+G H=���A���t^A������H�t$L���R����Ã�>vc���~kH�5�r.�������uj�����=�Qv]��0tU�������vJ�1�H�L$dH3%(��H��[]A\A]A^A_�H��@H��rȉ؃�߃�A����E1�1�L�l$D��>������H�54r.���E�����uQ�����=�QvD��0t<�������v1H�5�o.��������uH�5�p.����������f�I�8H�G A��d�>E���E���VH�W(H)�H����JHcT$Հ8
��G8ALJH�1�A���H�G tL��L������I�8��L9g����L��������H��@H��rx�؃�߃�A���O�����@������@�����(������1�������%����CЃ�	�����CӃ��
�����:������_������������I�G8H�p H��H+PHc�H9���I���H)Ɖ���y������HcT$A��Հ8
����G4�G8����@E1�������ֆ��I�8H�G ���f��D$�C�����覆���	���H�5Zo.���#������+����>���fDE1�1�H�4z	L������2�����@������l�����(������]�������Q�����_�H�����:�?�����蜀��ff.��ATUH��S���H�8H�w ��uH�G(H)�H=�~w��Ѓ�߃�A<v��_����:���t1H��?H�^��Ѓ�߃�A<v'�B�<2vH9_(t$��D[H��]A\���@H��s(H����@[1�]A\þ��g���H�}8H�w �r���H;_(t�I��H���I)�D����w��H�U8H�Z Db8[]A\�ff.�AWAVI��AUATUSH��H�G8H�@ 	�@8	���L�����H��H���L�����o��I�v8H�H�F �����S�"��P�A�H�<�U�3�H�<�B�%�H�<�L��H�<�I�	�H�<�C��H�P�F8H�V �@< ��E1�1�H�'{	L���A�r�L����I�F8H�@ D� A��"t
A��'�L��趔��I�F8H�p H�@H�4$H�D$H9�������	��A8��E1�1�L�-�k.�.L��H���d���I�F8H�@ ����v��A8��Hc�A�|u�H���	�	L��A��`��fDE1�1�L���K�I�F8H�@ �8>unL�����I�H��t"H�H��tA��L��uI�~H��L��H���H��tH�`l.H��M���2H�Kl.L��H�H��[]A\A]A^A_��DE1�1�H���	L���=���
DL���h���I�F8H�@ ���t<>u�<>�W����J�����HE1�1�<�Y�����H�<�S�����H�<�T������H�<�E���H�<�M���H�P�F8H�V �@< �mE1�1�H��x	L���A�T��L��E1���L����H��H�������E1�1�H��	L���FI������q���@H��[]A\A]A^A_ÐE1�1�H���	L���D��������H�&H���\����>���L���1���E��uo��I�F8H�<$H+|$Hx��o��I��H��tOL���D�I�F8H�@ �<"t
1�<'����L�����H������E��t�E1�1�H��	L���,�M��E1�1�H�y�	L���GE1��1���E1�1�H�ʾ	L���+�����E��u�L���w���1��F�����H��	H��������{����AWAVAUATUSH��H��H�8dH�%(H��$1�H�G H��H+WH���~H�O(H)�H��������pD��E����H�t$H����A�ƅ��HE1�L�d$H�l$L�-?�	���A����jA�����=����A�� ��=���A����=��������D��L��	H����H�{8���H�G ��uH�W(H)�H������8
���G8ǃHcT$HЃ��H�G �7H��H���,�A�ƅ��!A��<�/���H�C8H�@ �x/���|$��u\F�t<A�WLc�A����V���H�Ic��DH���H��t|D��H�{L��E1����+�����G4�G8�F���Ic�D��L�����B�8�@���~��H�{8H�G �
���A����A��
��	�A�V�����	����H���E1�H�������H�{L���������������@��߃�A<�����E��t;H�H��t3��L��u)Ic��DH���H����H�t$H�{D����H��$dH3%(��H��[]A\A]A^A_��H�� 蔁��H�S8H�� H�r ��H���j�����b���H�� E1��LH��H�w�	����:�����D$�#����p�����H���H���Q���H�t$H�{D�����>����w��f�AWAVAUATUSH��H��dH�%(H�D$81���uI��H�8H�G �8<t(H�D$8dH3%(��H��H[]A\A]A^A_�D�x!uҀx-ùx-u�A��H��H+WALJ�\$H���~H�W(H)�H����`H���G8H�G H�)f.�d�H��H�����A�����E��E���H�t$(L�����A�ƅ��]A��>�I�G8H�H �9
���@8ALJHct$(H�A���H�H �H�t$,L�������A��-u	��>��I�G8H�H �9
�/�@8ALJHct$,H�A���H�H ��H�t$0L���4�A���A��-����-��E1��u
A��>�BH�t$4�D$dHcD$0H�t$�nf�D��	L��D�D$H���	���D�D$�D$,�D$(�D$0�D$,HcD$4�D$0E����A��-A������-D��E����	�A��>@��@���I�8H�O �9
��G8ALJH�A���H�G tH�t$L���F�A����u}I�8H�G H��H+OH���~H�w(H)�H����A�����uI�8H�G(H+G H=���A�����E��E����H�t$L�����A��A��-����-��A��!u
A��>��T$A�E�-9�|3H��`.҉L$H��D�D$Hc�T$�H���nD�D$�L$H��A��
��A��@�ƃ�		���	Ȅ��G����|$(Ic�H���A��D�6�I����E1��T$A�E9�|+H�j`.�D�D$H��T$Hc�D�D$H����H��D��A����k���A�����=��v�A�� ��=��o���A����=�����S���H���@L��E1�H��-H�sm	���H��a.H�����D�G4�G8�����D��D�D$裖��D�D$A��W���fD�D$4�Q����k����fD���x�������D$(����ok��I�8H�G ����@4�@8���E1�1�H�7�	L���p����EL���]���I�H��tH���H��tA��Lu	I�H���H��`.H���D$A�����H�5��	L���{���D$A������@4�@8����Ic�H����E1�1�H���	L���-Mc��T��B�D-�T���H�R`.H��H�5~�	L������D$A�������iq��Mc�B�D-����ff.�AWAVAUATUSH��8D��dH�%(H�D$(1�E��uI��H�8H�G �8<t&H�D$(dH3%(�H��8[]A\A]A^A_��x?u�A��H��ALJH��H+WH�G �L$�G8H���~H�O(H)�H����i��L����H�D$H���zA����uI�G8H�P �:>�H��_.�d�I��H���:I�G8H�@ �< �1H�L$E1��AL��H�m	����L��E1��z��A���t E��E����H�t$$L���S�A��H�D$$1�1�A�dH�D$@E���A��>�u�ED9�|H��\.E�L��Ic�H���I�Ń���2~'A������(I�8H�G(H+G H=��PA�����A��
��A����	�A�V�����	Є��_D��H���	�	L����I�8H�G �8
�]�G8ALJHcT$$H�A���H�G t H�t$L���E�A�ƅ�����I�8H�G H��H+WH���~H�O(H)�H����nA�����uI�8H�G(H+G H=��[E1�A��������E��E���H�t$L����A��E��������Hc�A�D-A��>�MH�L$E1��/L��H�~	����H��\.L���E1�1�H�1�	L���.����D$A��������|$$Hc�L�uaD�6I�8��H�G �8
������G4�G8���f.�A�����=��v�A�� ��=�v�A����=�����)���D���8�����9����1����f��D$$�k����+f�����fD���r���������r������H�&H����������I�G8H�@ �@8I�H�������A��L�������H���H�������I�L��H�t$�����D1�L���&��H�O[.L���D$A���d���f.��D$$�s���H���@8H�P I�H���T���A��L���E���H���H���5���I�1�H�t$���#���1�L������D$A������k��ff.�AWAVAUATUSH��H��(H�8dH�%(H��$1�H�G H��H+WH���~H�O(H)�H����z1����t�����TH�t$H�����E1�1�L�t$ E1�L�l$D��<���&�~����&���|$���B�D, �MHc��~ Hc�H�;�D tD��LE���"1�H�{8H�G �8
���G8HcT$A��ǃH�H�G A��d�?H��H+WH���~H�O(H)�H����������uH�{8H�G(H+G H=�������������D�|$E1�<���������<��<���ƒ�
@�ƃ�	!���!ʄ������H�߾	H���	�i��H�{8H�G �8
�	����G4�G8������L��H�߉L$����L$Hc���0Hc�HH�����H���H�������H�{��L�������fD���tL��H������������H�{8H�G H��H+WH���~H�w(H)�H����������uH�{8H�G(H+G H=��������������L��H���X�����Hc���L�賌���L���f.�������=��z�������������j����� ������X��������������\���D�|$����fDE1�����H�{8E1�H�G ����;a������fD���m���������f�����Hc�H�;�D t��L����H��$dH3%(�-H��([]A\A]A^A_����Fm���@�����`������fDH���H�������H�{��L�������H�߉L$����H�H���H���o����L$H�{L������]���Dǃ�����M���f����<��������D$����`���|���L�d$ ��H��L���7����t>��HH���t H���H�����H�{��L�������H���H��u�����H���-��H����f�����ff.���AWAVAUATUSH��H��tMI��A�\E1�L�5��-�@t4L�cM9�s)K�<L��H��H��H��L�H�u�Xr����y�I��M9�r�1�H��H��[]A\A]A^A_��AVAUATUSH�W8H��H�B �8<u�x/t*E1�1�H���	H�߾J���1�[]A\A]A^�fDH���B8H�B �g��I��H����H�����H�C8H�@ �8>��H���{���������Hc�(�ƒ���Hc��H)�H��L�,���@H��I9���H��0L��H�4(�P�����t�L�����A��Hc�(�ƒ��OHc��H)�H��L�4���/f�H��0H�<(�@��A9��H��L9��
H��0L��H�4(�ב����t�H�-|�	�hf.�H�H��tH�@xH��t
H�� H�{�Ћ�(��~6��H��0�HcЉ�(H�<�tH�t9�H�� H��H�� L���S�����uoH�� ��T��H���z����x	�p���L�� L��H��H�߾L����Q����H�5><L���������q���[1�]A\A]A^��H�� H��t�L���̐�����tH�� H��t�L��谐����t�H�H��tH�@xH��t	H�{L��Ћ����~(������LH�H��H���H�D��H�����(���5��H��0�HcЉ�(H�<�tH�t9�H�� �H������f�E1�1�H�=�	H�߾I���H�C8H�@ �<>t#��t@H����x��H�C8H�@ ���t<>u�<>���������E1�L��H��	H�߾L�6��1�����H�5��	L���y������x���H�5��	L���b�����������\���DL�� L��LH��H��	�����i���Hǃ�����������H��twATI��UH��SH�rH��H�������t
[1�]A\�H�{H�������u0H�[H��t�H��H��L��蹂����uH�[0H��u��f.�[�]A\�fD��f.���H��tWATI��UH��SH�^H��u
�2f�H�[0H��t'H�uH��L���H�����t�[�]A\�f.�[1�]A\�f���f.���H��tW�?ouR�nuLATH�5]�	UH��SH���-L����
fDH�3H��H���ɍ����uL9�u�[1�]A\�f�1��D[�]A\�ff.���ATH�5�A	I��UH�-��-S1�������t-H�uH��L���U�����t�H�[H�f�-[]H��A\�D[1�]A\Ð��H�]�-�"1��@�����t%�H��9�w�rH�RH��-H���@1��D��AWH��AVAUATUSH��XH�t$H��H�|$H�T$ H�L$dH�%(H�T$H1�H����H������wH���nH���H�D$H�|$L�|$LcH�D$ Lc'N�4M�L9��1H��H�D$0H�D$(�D�MH�]A����A�����A����KA����L��H)�H9���I9�vG�EH�]������t�3D��t$H���C�������uA����?��A	�I9�w�A��wzI�GL9�s^E�H��I��L9��O���E����D+\$+l$ H�D$D�H�D$�(1�H�|$HdH3<%(�MH��X[]A\A]A^A_�DI9�y�E��+l$ D+\$�DD��D�$�V��D�$H����H�pH��H�4$�]��Lc�K�D/I9�v�A�&I�OH�4$L��H��H���n��H��L�L�y�;�6���fDA���wA�������@A���wVA�������L�l$(��L��	�L���N��L���N���H�D$�1������H�D$M��L+\$H+l$ D�H�D$�(��������1�E1�������������\��f.���AWAVAUATUSH��hH�t$H�L$D�D$$dH�%(H�D$X1�H���cH���ZI��H���NI��H���BHcLc)L�I�H�D$L9��2H�D$@H��M��H�D$8D�MH�]A����A���vpA����jA����uL��A��H)�H������EH�U�ƃ�@���u*H�\
@A����?A	�H9�tZH���B�������t�H�D$M)�L)�D� H�D$�(�����H�|$XdH3<%(�yH��h[]A\A]A^A_�f�I9���A��w1D9L$$t*D�ȃ��<tA��&tL;d$��E�$I���t@D��D�L$(��S��D�L$(H����H�pH��H�t$0�TZ��Lc�K�DH9D$��A�$&I�L$H�t$0L��H��L�D$(��k��L�D$(H��L��;L�aL9���H���t����L��A��H)�H��~01����f�A�������L��A��H)�H��~
��}���E)�D)�H�D$D� H�D$�(1����H�|$8��L��	��K��H�t$8������������1�E1�믉�E)�D)���3Z����H��G.ATI����UH��S�H��H���H�xH�@Hǀ�H��)����1����H��C
H�H�CHH��L	�H�[@H�CH�CH�CPH�CXH�C`H�ChH�CpH�CxHǃ�H�ǃ�ǃ��uH�_H.���u+H��[]A\ÐL��H��H�5x1H����W��H�4H.���t��iV��H�8t��^V��H��H��[]A\ÐH�5�	1�������H��H	�t�����H�5�	H�=�	���D��ATUSH��tH�H��tH�G8H��t	H�@ �8&t
1�H��[]A\�H��I���n��H������H��H����H�{8���H�G ��uH�W(H)�H���~_�8;u*M��tI�,$H���!j��H��H��t�H���An����E1�1�H�t�	H�߾诺��M���a���I�,$�X���D���^]��H�C8H�@ �@E1�1�H�J�	H�߾D�g�������f���UH��SH��H����H�G8H����H�P �:&tDE1�1�H���	H��1�������H�h�	H��1۾	���H����[]���z#u��r�H8���@��X��H�r��H�p �H8�R��;�1��2��������\�H���	m��H�E8H�@ ���;���B�<	v΍B�<�k�������\��f�H��E1�1ɾH�,�	1��E���H����[]�@H�r��H�p �H8�B<;�q�P�1ۀ�	v�<��PЀ�	w0�������\P�H���Yl��H�E8H�@ �<;u�H���Bl���&E1�1ɾH�ǰ	H��跸��H�E8H�@ �8;tЁ��~j�����=��������� ��=���������=���n��������J���H��E1�1ɾ	H��	1��H���H����[]�����ƒ�
����#����C��������H����[]���B�<w�����T������\��H���E1�1ɾH��	����E1�1�H�ϯ	H��躷��H�E8H�@ �8;uH���k��1����ff.�AWI���dAVAUATUS��H��HdH�%(H�D$81�H�	D.H�D$0�I��H����I��H�D$,�dH�D$H�D$0H�D$I�G8H�H �8���������u<>������< ��H�&H����M���E�M)�H�I9�~$H��@.�L��Hc��H����Ic�I��L�4A���M�n�5A�����6H�t$L���1�������=��#����?I�����ȀA�N�A�F�L���i��I�G8H�H �8������A�H�|$8dH3<%(L���gH��H[]A\A]A^A_�fD<&�����y#��H�t$L����T��H�|$0I����H���)L��E�L)�H�H9�H�T$~)H��?.�L��Hc��H�T$H����Hc�I��L�4A�uI�F����A�6I���A����1�A�M�������D$,����=���������A��M��@��I�����?�΀A�v���y����@I�N�E�A�&I��H�M)�I9���H�?.�L��Hc��H����Ic�I��L�4������������p�����A��I��D��I�����?�ȀA�F���y��F���@�������A���+���f.�L���h��I�v��wOA�I��M���E�M)�H�I9�������4���I���������?I�����΀��A�v�A�F��������=���=��������A��I�����I�����?�΀A�v���y��k���@A�&L�l$0I�vA�}uA��H��=.�L��Hc��H��tgIc�I��H�I��A�E�H�r�A�}tkI���E�M)�H�I9��H����������A���������?I�����ȀA�N�A�F�����H�5�	L���Է��H��>.L��E1����I������������A�����H�5ғ	L��蓷������O��f�AWAVAUATUSH��H��(H���H�G8H���
�����H�@ �8<����e�����D���L����D$E���yH���!���H�D$H���NL�t$H�5�	L���o|��L��H�߅��D$�=���L��H���B���D��(�D$E����H�|$H�5X�	�)|������H�|$H�5E�	�|�����xH���P���H�{8H�W �<>@�ń���E1�@ ��fD</��D���E��uH�G(H)�H=���H���9���H��H����H�����H�C8H�$H�@ �8=��E����A�F�M����H��M�d��I��M9���I�?H���@{����t�E1�H��H�W[	H�߾*�°��H�$H��tH��H��<.�H���U���H�{8H�W ���t<>����E��D�d$@��A ����L$����M��t9A��~3A�F�I�]��H��I�lfDH�;H��t	H�I<.�H��H9�u�D$H��([]A\A]A^A_�M���_�L$A�F9�|6�H�:.L��Hc�L$H���H���\�L$H���I�ʼn��Ic�H�$A��H��I�l�I�LI�DI�D���f��z>�������E1�1�H��]	H�߾D�g����D</u
�z>�����H���b��H�C8H�P �<>w�H�&@H��s��y���fDH���b��H�����H�C8H�@ �<"��<'�}1�H���[���H�$H������E1�1�H��	H�߾)�Ů��������Q���`����H��9.���I��H���-H���ǃ��D$���H����a���'H������H�$H�C8H�@ �8'��E1�1�H��Z	H�߾(�5�������D��(E���x���1��@H��9�(�`���H��0H�5��	H�<��Qx����t�H�L$E1�� H��H�>�	�ѭ������D$�H�{8H�G(H+G H=��o������nP���`���H���a���p���H�t$H���/���H�H������H�@pH�������H�{@����1�H�t$������H���`���"H�����H�$H�C8H�@ �8"t�E1�1�H��	H�߾(�������H�5�"L���Xw���D$������(����������M����M�eM����M�}H�$�D$�>H�5C�	L���U������H�5ю	L����U����HE,$H�,$I��M�g�M��tCI�/H��t�H�5��	L���U����u�H�5��	H���U����u�I��M�g��D$M��u�H�4$H��t�|$��tH������T$�������H�t$H��衱��H�H���~���H�@pH���l���H�{L��H�t$���Y���H�L$E1�� H��H��	詫������D$����H��H���ڶ������1�H���[���H�$H����������1�H���?���H�$�D$H����������H�L$E1�� H��H�6�	�)��������(�D$�)����D$������H�t$H��覰��H�H�������H�@pD��H���t������E1�1�H���	H�߾D輪��H�C8H�@ �<>t1��u$�+�H���^��H�C8H�@ ���t
<>t	���u��D$�����A���E1�1�H��	H�߾�V����D$��������f�USH��(dH�%(H�D$1�H�G8H�@ �8&���x#H����H�t$��H��H�|$��H��t
�0����H��蟳��H�H��tGH���H��t;�H�5�(	H�{��H�H�|$H����eP��H�{H�t$����H�D$dH3%(��H��([]�D�]����t׃����D$�Hc�H���D����H�H��t�H���H��t�H�t$H�{����f���w@�t$������������������D$H�|$�D���H�����?�Ȁ���y��^�����=�vg=����������T$H�|$��ƃ�H�����?�΀@�7��y��
���f�����?����΀�D$@�t$��������?����Ȁ�T$�D$����f�H���ر��H�H���|���H���H���l���H�{�H�5�&	���U���D��������D$���f���������T$������D��@AVAUATUSH��H��0H�� dH�%(H�D$(1�I���A��D��(H�ŋ��f��������t9H�{8H�G �8<tb��(��~	D9��H�C8H�@ �8�H���&���H��tH�3.H��H�D$(dH3%(�UH��0[]A\A]A^�@�@</���ƒ�߃�A��v<_��<:�����H����)���I��H����H�� H���K���H���������:���L��H��豪�����������H�{8H�G(H+G H=������I�����f���(��~A9��
DH�5�	H���ip����uH�5��	H���Vp����tRH���
��������|���H�{8H�G(H+G H=��H�G(H+G H=��X������vH���I����H�S8L�r A�<<t <&�(���b���H�������fDA�F<!��<?���߃�A<��H�H��t(��L��uH���H��tH�{�H�5��	��H���X���&���H�� H���ao��������H����H��tH��0.H��H�� �?��D��(H�ŋ���_�������~G������C����K2��A�NH�H�ȃ<�D��H��<-uA�~-��������f.�H�������i������H�$H�D$H�D$H�D$H�D$ ���{h��tHcB4L+rLr@L�t$H�D$H���R�L�� �����M����L���1��I��H���0H�K8H�Q �</�d<>�fH���W��M��tA�~�}�Kh�����H��tH��/.H��H�� �=��D��(H���j���@H���H���Y���H���h����tH���?���D��(E���;���������DH�C8H�@ �8>�w���H���_V���j���f.�A�N�<�O�K���A�N�<�C�<���A�N�<�T�-���A�N�<�Y����A�N�<�P����A�N�<�E����H��E1�H�
̄	� H��	�h���H�������q�������d����z>��E1��IH��L��H��H	�*���H�� L���{l�������sh����H�������{���E1�1�H�ǚ	H�߾D���H�C8H�@ �8�����H���8U��H�C8H�@ �8t�H��賣��H�����������L��H���*�������E1�L��H��	H�߾!�{������L��H������^���H���N3����(���=�����H��0�HcЉ�(H�<�tH�t9�H�� H������H�H��tH�@xH��t	H�{L��Ћ�(���m�����H��0�Hcȉ�(H�<�tH�t:�H�� H���2���H�H���A8H�Q H��u����=�����AWAVAUATUSH��H��HdH�%(H�D$81�H����H�G8H��������h�h��tH�P H+PHP@Hc@4H�T$H�D$ H����H�� ����WH���NH����-��I��H���2H�K8H�Q �</�_<>�aH���?S��M��tA�|$�~H�� ��9��H�{8D��(H�D$H���L�g H�$�_���(��~	A9��}H�C8H�@ �8��H���t���H��tH�h+.H��H�{8H�G L9���I��D9�(��A�<$��H�� �K9��D��(H�ŋ���������t�H�{8H�G �8<�V����@</��<_��<:���u��߃�A<�H�4$�5���I��H����H�� H���	���H���!����������L��H��轢��������o����H�{8H�G(H+G H=��P������A���A����H�H��tH�@xH��t	H�{H��Ћ�(��~<��H��0�HcЉ�(H�<�tH�t9�H�� H��fDH�D$8dH3%(��H��H[]A\A]A^A_�DH�C8H�@ �8>u�H���Q���E1�1�H�L�	H�߾臝���D�z>�FE1��IH��H��H�D	�\���H�� H���g�������sh���Z���H�S8H�t$H��H�B H+BHB@H�D$(HcB4H�D$0H�CPH�D$�[���!����H�� H���Qg�����l������@H�������tH���l�����(���j���������f���(A9�|����H�5r�	H����f����uH�5��	H����f����tJH��蒾��������\���H�{8H�G(H+G H=�������?������/����H�C8L�p A�<<t <&���������H���h���fDA�F<!tW<?����߃�A<��H�H��t(��L��uH���H��tH�{�H�5��	��H���O���2���@�K)��A�vH�H��<�DtRH��<-uA�~-���������fDH��� ����H���U������H���@������A�v�<�Ou�A�v�<�Cu�A�v�<�Tu�A�v�<�Yu�A�v�<�P�s���A�v�<�E�d���H��E1�H�
4}	� H�m�	�К��H���x����Q����{����D���fDE1�1�H�|�	H�߾D藚���
DH���M��H�{8H�G ���t<>u�H���
��������H�|$tx�Ch��u1A�<$tH�S&.H�|$��W����H���8�����fDHcG4L+gH�t$Lg@H��H�D$0H�CPL�d$(H�D$�tX��H�C8L�` �f.�A�<$�����H���ݘ������E1�H��H�|	H�߾!覙������H���+����(���E�����H��0�HcЉ�(H�<�tH�t9�H�� H���
����H�|$����b����H�H���A8H�Q H���������^6��ff.���H��t�R�f��ff.�@��USH��H��dH�%(H�D$1��8���e��H����H�{8H����D����C4ǃ�E���ZH�H��tH�hXH��t�`��H�{H���H�{(��H������H�C8H�@ �8�?H�H��tH�@`H��t��L��uH�{��H�C8H�h �}<��@H��谚��H�C8H�@ �8<��H���G�H�C8H�@ �8�.H�H��tH�@hH��tH�{���4�B�S1�������H�L$dH3%(�gH��[]��E<!th<?�p���H���0���H���h��H������H�C8H�h �}<�F�����@�P��!����?�C���H�����H���"������D�}-�.�$���UH��<�D���U�<�O����U�<�C�����U�<�T�����U�<�Y������U�<�P������U�<�E�����H���L��������x-������x-������E����H�{H��������NE��H�������H�kH�
ҍ	H���	H�5�H���$2��H�EP�y���H�G(H+G H=����������8�����DE1�1�H�_x	H�߾������f��}-�����Y����E1�1�H���	H�߾跕�������DH��谔������H�C8H�P H�@(H)�H���'������������u��D$�BH�|$��D$�B�D$�B�D$�J���������H����Y�������v2��fD���X�����AU��ATUSH��H�-�.�UH��H����H�xH��E1�H�Hǀ�H��L��H)�������H�� @��H���H������UI��H����H�xH��H�Hǀ�H��L��H)������H��(�UH�CHH����H�H�C8�PH�C@H�C H�C(�C0����ǃ�UH�C`H����I�
H�CP�PL�cX�UH��0H���Hǃ L��L��(Hǃ�Hǃ�L�+�c��H�[H�CH�C�"R�������%V��H�{p��C4ǃ���HH�.H���H���H��.�ChH���ǃ�Hǃ@Hǃ��Q��H��H��[]A\A]�H�5ou	1��ʗ����H�5�	1�躗��H��1��p^����H�5ό	1�蠗��H�CPHǃ Hǃ(H�CXH�C8H�C@�H�5��	1��Z���H�C8H�C@�H�5i�	1��:���H�CPH�CXH�C8H�C@�[���D��ATUSH��t{��~wA��H����`��H��H��tdD��1�H���H��I��H��tOH���_2��H��H��t/L� I�|$ H��H�@�oE��H��H���D.��H��[]A\�@L���L��H���HU��1�[H��]A\�ff.���AWI��AVAUATUSH��hdH�%(H�D$X1�H���r	L�w8M���e	�Ӊ͋�����I��H����I�H��t�����	fDH�D$V��L�-J�	H�$H�D$ A��1�H�D$fDM���'I�H����H�x �=��I�V H��I+NH)�H��H����D���rH����
����A��������IcD�L�>�������W���I�H���K���H�{�@���H�{ H���3���H�{(�(���L��������H��I��I�G8L�` L+`��I��I�w8H�{ L��A��L���G��E���1M�w8�����H�&H���dH��t>I�ALJ�A�GALJ����H��tH�@hH��tI���f�A��4uVI�H��tM����A����t���u<�_>��H��u2I�_H�
�	H���	H�5�H���9+��H�CPD���pA���H�t$XdH34%(�H��h[]A\A]A^A_�fDE1�1�H���	@�L�����M�w8ALJILJ@M������H����A!�E��������I�H����H�x �;��I�V H��I+NH)�H��H�����< �~���H�������J<<����!�������z-� H���`������f�E1�1�H���	�'����E1�1�H�\�	L������M�w8ALJILJ@���E1�1�H��	�����E1�1�H���	����H��������u1�1Ҿ>L��������
L�����A��(M�w8ILJ@�����A���^���fDE1�1�H���	�G����L�����I�H���\H�x �;:��I�V H��I+NH)�H��H���8����B�:<��<!�������z-��H�����-���DE1�1�H�4�	����E1�1�H�l�	����L���@���I�H����H�x �9��I�V H��I+NH)�H��H����
H���G�B�:<��<!�������z-��	����M�G8H�I�P �J�<�D�eH���k���ALJM��������� w>H�&H��s.L��胎��I�H���gH�x ��8��I�V H��I+NH)�H��I�H��tHH�PXH��H�T$t��S��I�H�T$H���I�H��tH�@`H��tE��LE��uI���I�V �:<M�w8u4�z!u.���I�V H��J�<�Du�J�<�O�rf.�ALJ����E1�1�H���	�����H������<��ALJM�w8�����E1�1�H�d�	�����A��1�f�L$V����H����E����I�F ���<������&����I�H��tO�T$V�� ��H�&H���mA��H���VH���H��tI��H�4$��I�F ALJH��ILJ@I�F �M�w8����H���F���I�F I�� �0�@@�t$H�5�{	�D$�T�����w��u-1ɺ/�<L������������I�V H��|���L��螫���|$<�s����|$/�h���ALJ	ILJ@�M���DL���P���E��(E����L���8���A��(��u-A���t#ALJ����I�H��tH�@hH��tI��АA��4uI�H���������7��H���a���A���P��t��u���u*ALJ�����g����ALJ�A�GI�H��t�H�@hH��t�I���ALJ�����&���fDA�������ALJ����I�H������H�@hH�������I������M�w8I�F A�F8�
���DIcF0�����E1�1�H��	L����ׇ������DIcF0����IcF0H��I+NH)�H������f�IcF0�����H�z L���$����L��I��I�G8H�8L�h L+h�K��I�w8L��L���H�H�x ��>�����@���ALJ�������ALJL���f.����H��<�*���A�h��tI�W8H�B H+BHB@H�D$(HcB4H�D$0L���A��M�� �����M����L�����H����M�G8I�H ���/��H�D$��>�9E1��IL��L��H�8-	�{���I�� L����P������A�wh���s���H�t$L���ی���a���fDI�� H�5.v	�P�����n����|$<���|$!�B���:���I�W8H�H�R �J�<�D�nI�F �x-�*��u1�1Ҿ>L���)������!���L���Y������@��?�������������u1�1Ҿ>L���������L���z���M�w8ALJ�n�fD<?�s������k�����u1�1Ҿ>L��蛔�����cL���+���M�w8ALJ������8M�G8���L���D$V謎��I�H��tH���H��tI��H�4$��ALJILJ@����fD<?u���t���u1�1Ҿ>L���������L���{���M�w8ALJ�o��IcF0�����z/�NALJ	M�w8ILJ@�/���z-�:�����uL���J������2L��躩��M�w8ALJ���fDL��蘍��I�H���H��tI��H�4$��I�F �����J�<�O������J�<�C�����J�<�T�q����J�<�Y�c����J�<�P�U����R�<�E�G�����u1ҹ�>L��褒����xpL�����M�w8ALJ�,�@M�w8I�F �8>��L���w6��M�w8��fD�����1ҹ�>L���<���������@A��4�,���D�J�<�C������J�<�T�|����J�<�Y�n����J�<�P�`����R�<�E�R�������D�z-�+�����uL��蒓�����z���L������M�w8ALJ�6�fD�z-����uL���R������:���L���§��M�w8ALJ��fDH���H�����������|$?uV��tR��u1�1Ҿ>L����������L��蠭��ALJ�����A!����DL���ز�����|$/u��������|$<�����4A���ILJ@�8���I�F(I9F rA�)���f��{���I�F A����0@�t$����@��<�����I;F(����|$&L��u�����y>�=���I�H��A�@8I�H H��tH�@xH��t
I�L����M�G8A��(������I��0�Hc�A��(H�<�tH�t9�I�� H���Q�L����3��H�D$H������x����I�H��tH�@xH��t	I�L����A��(���������I��0�Hc�A��(H�<�tH�t9�I�� H���s���E1�1�H�]/	L���Q����Q��x-������uL���ސ�������L���N���ALJ�~����J�<�O������J�<�C�v����J�<�T�h����J�<�Y�Z����J�<�P�L����R�<�E�>�����u1ҹ�>L���r������j�L��E1�H�
Pa	� H��x	��~��L��蔜������L�����A��(��������X���E1�L��H�
a	L���!H�D$�~��H�D$�����t$���߃�A<w(��u	@�����ALJILJ@�Z�I�H��t(A��LuH���H��tI��H�5�	��L���1����1�1Ҿ<L���l�����������_��J��f.���AWI��AVA��AUE��ATM��USH��H�t$H�$���D�����H����H���[L��H��H����A��tH�}t
ǃ�M���?L�+����I9�tH�{	.H�;�L�-O.�A�UH�H���2�Ao�AoWP�Ao_ X �Aog0`0�Aoo@h@�AowPpP�Ao`x`�AoOpHp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao����H�D$H��tH�CM���5L���-��H���hA�UI��H���If�H�@@8@(@H@XH�@H�@H�@ H�H�@@H�I�E0A�E8M��tL���H��I�EI�mH�} L���g/��L��H���<��E��~WL�<$M��tNH�s8H��tEH�H��t=H�x �4��L��D��I��H�C8H�8H�h H+h�'?��H�s8H��L��H�H�x �3���ǃ�H��H��[]A\A]A^A_�@L�-).M������Hǃ����1���@L�%!.H��A�$H��1�A�$��H�5Q	H������H��1��>��H��.H���x���fDH���5���e���ff.���AVI��AUATI��UH��SH���s��H����H���B!��H�߉����H��H����H��tJL�h8I�}PH��t
H�c.�L�k8H���u��H��I�EP�i���������H����>����� tmM��tHH�;H��t	H�.�L�#H��L�s�;��H�H�kH�CH���}E��[H��]A\A]A^ÐH���x;��H�k��f�1�[H��]A\A]A^�f�E1�H��H�K&	H�߾ �y���t����H������H��t�H��H������V�����1�1��C@����AVAUATUSH����I��H����G��H��H����H���LF��H��H��tT1�H��H���%��L�5 .H��I��A�M��tZL��H���w��M��tL���Z��H��H=�vOH��[]A\A]A^�����H���t����H�5B[	1�H��1����H���@<��1�H��[]A\A]A^�f�H�1.H�=[	L�(�:��H�H�|A��H��H��t�H�charset=H�}L��H�E�N��H��H���3���H��A��Y������AUI��ATI��UH��SH��H������L��H���&��H��tQH��H��t9L� L�hH��H�(�9��L�#H�kH�CH���pC��H��H��[]A\A]�f�H���h9��H�k��f�1���ff.����1�1��G������.�=�.�ff.�@��H��t_H��tZUSH��H�_H��t;H�;H��H��u�.fDH��H�;H��tH���,����u�H���[]�@H��1�[]��1��D��H��t'H��t"SH��H�6��8����t"�{
[������@��f.��[�f���H����H����AUA��ATI��UH��SH��H�_8H��u~I�\$(H��u�f�H���h������H��H�;H��u�E��t'I�\$0H��u�H���8����ttH��H�;H��u�H��[]A\A]��H�������tH��H�;H��u��u���H���[]A\A]�H���[]A\A]ø�f.���f���H����ATU��S�GH����t:��t
1�[]A\�fDH�G(L�gH�x�_��[��L��]H��A\�N��fDL�g��t0H�G(H�x�3��L��H���7���¸��u�[�]A\�L�����H��H�C(H�x���[H��]H��A\�y*��f���f.���H����USH��H�����H����@H�����H�����H��u�H����C@H�C8ǃxH���"�����H��pH�{ �CXH�CPǃ(Hǃ ǃ�H��t%H��tH��H���f������H�{ H�#.�H�{(H�C H��tH����H�.�H��H�C(H��tH����H��-�H��`HǃH��tH����H���-�H��hHǃ`H��tH����H���-�HǃhH�{H��t�-��H�����H�CH�{pH�C0H��-HǃH���H��-�Cǃ0H���H����ChHǃ@HǃLHǃ�Hǃ�ǃ�ǃ�ǃ�Hǃ��0��H�� H��tH�5��-�;��Hǃ H��(H��t1����Hǃ(H��[]�Hǃp�������H�{(H�C H����H��H���X������H��H�C(H���0���H��H���-����tyH��`HǃH���/���H��H�������uH��`����H��hHǃ`H������H��H������������H��h���fDH�����@H�{(�`���H��H���O����z���f���H���_@��@t#H���@Hǀ���4@HLJ�@�� t.H��� Hǀ�HLJ�Hǀ���4 @�ƀ��LJ�����H�H��-LJHH����������4�ƒ���������t��4-�t��4-�t
��4��� t��4 - �� t��4 - LJ8�LJ��ƀ��4����/���LJH���I���������ff.�AVAUE��ATI���UH��SH���5'���C4H��t>H������H��t1H��H�����L�s8I�~PH��t
H�}�-�L�s8H���	��I�FPM��tH�k8H��tH�}t^H����0��H�kH�CE��u5��8��t#H��tH���H9��uHǃ�H���2��[H��]A\A]A^�@L���	��H�E�f.���H��tgAUA��ATI��UH��SH��H�����H���d��H�߉��*���H��t%H��D��L��H��[E1�]H��A\A]����H��1�[]A\A]�1��ff.�f���ATA��UH��SH�����H��H���/��H��t[D��]E1�1�1�H��A\�T���@[1�]A\�f���AVA��AUE��ATI��UH��SH���
��D��H�����H����H����:��H�;���%	��H��o�oHJ�oP R �oX0Z0�o`@b@�ohPjP�op`r`�oxpzp�o�����o�����o�����o�����o�����o����D��L��H��H��E1�[]A\A]A^�6���fD[1�]A\A]A^�D������AVAUA��ATI��UH��S�����1����:��I��H��t[H�@�N;��H��H��t>1�L��H���y;��H��tLH��H�����D��L��H��H��E1�[]A\A]A^���DL���@'��[1�]A\A]A^�D1��DL��� '��H����7����fD��H����AWI��AVE��AUM��ATI��UH��SH��H������L��1�H��H��� ��I��H��tV�:��H��H��tq1�L��H���:��H��toH��H���,��H��D��L��L��H��E1�[]A\A]A^A_����f.�H��tH���H��1�[]A\A]A^A_�D1��DL���@&����fDL���0&��H����.���fD��H��twH��trAUA��ATI��UH��SH��H����
��H���_���1�H��H������H��t-H��H���b��H��D��L��H��A�[1�]A\A]����f�H��1�[]A\A]�1��ff.�f���H����H����AWA��AVE��AUM��ATI��UH��SH��H���E
��H�����H��1�D���` ��H��H��tP1�H��H���+9��H��t6H��H�����H��D��L��L��H��A�[]A\A]A^A_�F���fDH����$��H��1�[]A\A]A^A_��1��ff.�f���H��tGAVI��AUE��ATI��UH��H��SH���h��E��M��L��H��H��[��]A\A]A^����f.�1��ff.�f�������H����AVE��AUI��ATI��U��SH��� 	��H�������1��6��H��H��tG1�H��H���
8��H��t-H��H�����D��L��L��H��A�[]A\A]A^�+���H����#��[1�]A\A]A^�D1��ff.�f���AWAVAUATUSH��D�|$PH����H����H��H��I��I��M��L�D$�^��H������H��1�L��L���&��H��H��tN1�H��H���A7��H��t\H��H�����H�t$D��L��H��H��A�[]A\A]A^A_�Z���f.�M��tL��A��H��1�[]A\A]A^A_�@H����"����fD��H���AWAVAUATUSH��H�_H��tlH�-J�
�H�[0H��tW�{u�H�{H��t�H����1�����XH�{H�5T	��1������H�{H�5aG	�1����uMH�[0H��u�1�H��[]A\A]A^A_��H�{H��tH�5$G	�1����u�H�[0H��t��{u����H�kXH��t�E1�E1���H�m0H��t�H�EH��t�xu�H�x0u�H�}H�5�H	L�hP�������E��A��M��tH�}H�5�H	������MD�M��t�E��t�H�5I	L���,��H����H��H���������	t	�� �����H����� t�	t����DH�[H�-�R	H��u����H�[0H��������{u�H�{H��t�H���T0����uH�{H�5�E	�@0����t�����H�[H��������u���1��H�5�G	L������������A�A�����H�5�	L���++��H������H�5�E	L���+��H������H�5�	L���*��H��t	H��	���H�5�	L����*��H��u�H�5׌	L����*��H��������ff.�@��AWAVAUATUSH��dH�%(H��$�1��D$ H����I��I��H�5b�
L���%������M��t-H�|$ M��d1�L�Q�	��d��Ƅ$�I�]H����H�-�
�DH�[0H���k�{u�H�{H��t�H���
�����H�{H�5�P	�
�����fH�{H�5D	�|
����u���H��1ۃ}�MDH�}H���;H�5�C	�G
��A�Dž��$H�UXH����D$E1��f�H�R0H����H�BH��t�xu�H�x0u�H�@PH�zH�T$H�5�E	H�D$����H�T$����D�L$A��H�|$t-H�zH�5�E	D�L$H�T$���H�T$D�L$��LDt$M���j���E���a���M���hL��L������H����E1��
�A�����H��$�dH3%(D����H�Ę[]A\A]A^A_�H�kH��u�H�m0H��t�}�����H�m0H��u�M��t�H��t�1�L��H��B	1����H�{H��H��H��� �G"��H��H��D	H�5�D	���H�T$ H�5�D	H������4���H�[H�-�N	H��u�+���H�[0H�������{u�H�{H��t�H���\�����.���H�{H�5�A	�D����u�H��H�[(�%���@M�������D$���������fDH���"��H���0�����H�|$H�5�C	H�T$��
��H�T$������A��D$�2���H�T$ H�5�C	H���	���Z���H���4���������f.���UH��H�=U	SH���-H���H��H�{�H��tH���[
����u�H���[]�H��1�[]�ff.�@H��t{AUATI��H�5w�
UH��SH��H���*��H�CHH��t H�pH��tH���*��H�5٪	H����)��H�sH����)��H�{t
H�{�-����tH��[]A\A]����H�sL��1��z��I��H����H�5�	H���)��H�{Ht(H�} L���\�H��-H�H��L��[]A\A]��H�C(H��t�H�xHu�H�{H�5�T	�0	������A�$L��< wH�&f�H��sH���< v�H�5]�	�C���H�} I��H���o���H�����H���-L���e���f.�H��H��H�5%�	[]A\A]�(��H�{H�5S	������g���H�{H�5uR	������O���H�{H�5�	�g�������H�C(H�5��
H�x�K������������ff.���AWAVE��AUATI��USH��H��(H�t$H�L$���M����H����M�|$(A�D$M��
�H�
��	Hc�H�>��DI��O�I��H���#�xuI�W �B������H�5*�	H���'��I�GHH��t H�pH��tH���'��H�5X�	H���r'��I�wH���f'��H�5Ф	H���W'��A�}��M�o0M����A�E�P���tH��tH�UH��t
�:p��@M9���H��([]A\A]A^A_�M;}(�"I�}�H�L$H�t$E��L��H���s(��M9�t�M�m0M������f�E��tI�H����H�5 �	H���&��I�GHH��t H�pH��tH���w&��H�5N�	H���h&��I�wH���\&��H�5ƣ	H���M&��M9��5���M�o0M���WI��A�GI�o(���	�p���H�5��	H���&�����I;W�T���I�GH���G����8p�>���H�5Z�	H����%���*���H�D$I�}H�$H�5$�	H���%��I�EHH��t H�pH��tH���%��H�5n�	H���%��I�uH���|%��I�u`H��tH���;�I�mXH��tf�H�t$H��H������H�m0H��u�H�|$�yH�D$�xu^I�}��H�D$�x
��H�5��	H���%��I�EHH��t H�pH��tH����$��H�5ĥ	H����$��I�uH����$��H�5<�	H����$��E�����I�U0H������H�D$H�������xu"�B����tM��tI�GH��t	�8p��M9��_����BL��I��DI���a����M9������3���f�I�uPH���c���I�EH;��-t	H;'�-t:M���I�H�5rL	��������I�uP�fDI�uPH������H����#������fDH�5O�H���#��I�uH���#��H�5��
��@I�}����H�5��	H���#��I�uH���#��I�}PtH�5��
H���l#��I�uPH���`#��H�5ʠ	H���Q#���|���@I�}P�m���H��H�5��	�.#��I�uPH���"#��H�5)�H���#���>���fDH�t$L��H������#���I�mPH��tpH�5G�	H����"��H�uH����"��H�}htsH�5�H���"��H�uhH�{ ��H�}pH�5��
tH���"��H�upH�{ �f�H�576	H���w"��I�UH����M9}(������BL��I����H�}pH��t�H�5��	������t�H�5���I�H�5�H	���I�uP���1���H�|$���H��H���.���H��H����!��H���-H������A�EL���v���H�5H�	H����!����I�}�����H�5!�	H���!��I�U�B�?���I�}��H�D$����H�8H�5��
�
������\���H�D$H�5�D	H�8������@�������H�5��	H���B!��E��tQH�D$I�U�x�B�����H��������I;U �����I�MH��������9p�����H�5m�	H���� ��I�U�B���A�E�w������AWI��AVE��AUI��ATI��USH��H������H����H��1��W���uBH��L���w��H��H��t_E��L��L��H��1��"��H��H��[]A\A]A^A_���fDH����H��H��u�I��1Ҿ{�H�
�~	�e��H��1�[]A\A]A^A_��H�=����H��H���^���H�=�~	��H���J���ff.����A�1�����ff.�@��AVAUATUSH���H����H��I��I����H�����H��H����H���-�8�H��H����f�H�h H��@(H�@H�@H�@H��@0����A�1�L��L��H��I��� ��H���-H��H�����H�����D)�Hc�H=���w?��[]A\A]A^�@L�f}	1�1Ҿ���������H���a���������뺐��A�1�� ��ff.�@��H��t/UA��H��1�SH��H���n�F
�����kH��[]�DA��1�1�1�����f.���AWAVA��AUI��ATI��USH��H���m�H����M����M����L���z�H��H����H��E1�������L������H��H��tbH��D��1�L���
��H���"��H�}(H�����0��H�}(A�$I�����D��H���%�H��H�H��[]A\A]A^A_����@H�A�$H��[]A\A]A^A_�f.�H�����I��H���R���I��1Ҿ{�H�
�{	�1��2���@H�=����I��H������H�=h{	��I������@H�} �_��H�} I��A�$�*���ff.�@����
��f���A�1�H�����ff.����AUI��ATUSH��H����H����M����H�����H��H��t}H��E1������u=L��L���
��H��H����H��H��1��1���H��H��[]A\A]����H����I��H��u�I��1Ҿ{�H�
<z	����H�=���l�I��H���{���H�=(z	�T�I���g���@H�������[]A\A]����H����H����AUATUH��SH��H����H�����I��H����H��E1������u9�SHH��L�����H��H��tSH��H��1��.���H��H��[]A\A]�|
��@L����I��H��u�M��1Ҿ{�H�
<y	����H��1�[]A\A]�H�=���\�I��H���o���H�=y	�D�I���[���@������f���H���H����AVAUI��ATA��UH��SH����H����H��E1������uHH��L���]�H��1�L�����H��H��tXD��H��L��H���g	��[H��]A\A]A^�w	���H����I��H��u�I��1Ҿ{�H�
4x	����[1�]A\A]A^�DH�5q�L�����H�=���E�I��H���\���H�=x	�-�I���H���D������f.��������f�H�����A�1�Q1�R1�jjjjjjjjVL���1�1��&���H��hÐH�����A�1�Q1�R1�jjjjjjjjVL���1�1����H��hÐH�7H��t(�Gp��~!��1$�2)‰��H�H�|��D��H�����ff.�@����AUI�&ATL�b(UH��SH��H��H��u*���y|��H�&w	�1�L���4��H��I9�t.���tdL�E��< w�I��sCL�ƿ H���"���I9�u�H�M��H�=�*	H��[]A\A]�Y��f�L������fDH��[]A\A]�D�H���H�=wv	�f������H��tQ��t�@UH��H�cv	�SH��H��H�OH�}�S���K\���wH�5�~	��Hc�H�>��@��u�H���H�=�u	���H�M��H�=Ev	�v��fDH�K`H�}H��tH�Sv	�1�����H�}H�KhH��tH�;v	�1����H�}H�KHH��tH�'v	�1����H�}�{t H�KPH��tH�
v	�1��j��H�}H��H���
[]�s�H�M��H�=7u	����A����H�M��H�=*u	����!����H�M��H�=u	�v�������H�M��H�=u	�V������H�(u	��H����������H��H�Gw	�I��QA�1�1�P1�1�jjjjjjjjR1���H��h�f�H��H�����NH�����
��L��|	��Ic�L�>��fD��������f�H���H�
�t	��H���U���DH���H�
�t	��H���5���DH���H�
�t	��H������DH���H�
�t	��H�����DH���H�
�t	��H������DH���H�
�t	��H�����DH���H�
�t	��H�����DH���H�
�t	��H���u���D��������H��	�H�=vt	�y��f�H���H�
dt	��H���%���DH���H�
\t	��H������DH���H�
Ut	��H�����DH�Ut	���o����������@���H���H�=�r	�����H���H�=�s	����UH��SH��H�������uz�E���H�����}uvH�}�������uVH�MH�;H����H��s	�1��������H�UH���<���H�3H���
[]���f�H��u�H��[]�@H���H����H���H�
}	[]���H�MH��toH��H�߾�[H�}	]���D�����u�H�H����[H�=�r	]����H����H�=	s	�w���$���f�H���H����H���H�
�|	[]����ff.�UH��SH��H���?���������H�{t:H�M��H�=�r	������H�SH�����H�u�
��H�{ht:H�M��H�=F�
������H�ShH�����H�u�
�?�H�{pt:H�M�	�H�=�
�~�����H�SpH���l���H�u�
��H���t=H�M��H�=�q	�:�����H���H���%���H�u�
���CL��u0H�[`H��t�H��H���E���H�H��u�H��[]�fDH�M��H�={q	�����@H���pAUATI��USH��H��tv�FI��H��ww�"H��sl���H��ƒ�v��t5f.���t{��uwH�[(H�����C���H��ƒ�vل�uՃ��	��L;c`�H��[]A\A]�@I�L$H��z	��H����H��L��[]A\A]�$���@H�k`H��u&�{���f�I�t$H�}�"����u�H�mH���Z���I9�u�H��[]A\A]ÐI�L$H��z	��H��u�I���H����I���[H�
cz	]A\A]�A����I���H����I���[H�
�y	]A\A]�����fD�����u�DH����UH��1�SH��H��H�������u]H���H��tAH���)����u5H�CxH��t���u H��H��H�߾�[H�z	]���H��[]�f�H��H�to	��H�������H���H�����H�
7o	�A����ATI��USH�n@H��H�~(H����H����H���H����I�|$x�I��$��`H�C(H��t"H�@@H9C@tH�{H�5��M�����EH�C8H����H9X0t!I��$�I��$���H�
�y	���H�K0H���<H9Y8t%I��$�H�
�y	��I��$��]���H�K0H�C(H9A(t!I��$�I��$���H�
�y	�.����S�Ѓ�t|���+����H�kPH��t)A��$���tH����������Cf.�����H�Ht	Hc�H�>��fDH�K0H���/�����u�fDH�k`H���H��H��L�����H�mH��u�H�SHH��tH��L�������C���O�����H���r����;���DH�sL��[]A\�(����H�kH;-��-t4H;-,�-t+I��$�H����H�5�����H9���[]A\�f.��CH�s(�ƒ���H������H9^��I��$�I��$���H�
�w	�������DI��$����I�l$x�w���fDA��$����U���ADŽ$��D�����SH�s(��H���
�����tAH9^ t
�~����������k���H��t
H9^X�IH�K0H���p���@H�SHH���k��������f�H�KH;
m�-H�nw	������[L��]A\���H�KH�������H�dw	����DI��$�I��$���H�
v	�_����f.�H���H�����H�
Ok	�1�H�C@H���	���@I��$�I��$���H�
1k	���
���f.�H�kH��H�7k	���%����H�K0H���?������fDI��$�I��$���H�
lu	������f�H�SH�H���������I��$���I��$�H�
�u	�X�S���%���H��H��j	��L�����E���f�ATUSH��H�$H��dH�%(H��$�1�H�����H����u^���H���x�}uUH�}ts������H��H�����H��$�dH3%(��H�Ġ[]A\��H��tу}t�H���H�����H�
su	�n��@H���H�����H�
vu	�I������n����}Hw3�EHH��o	H�Hc�H�>��fD��H�=�i	�2���}t5H�UPH��t,I�侈��$L����H�3L��Ƅ$�����H�3�
�����DH��	�H�=,i	�������H�UH����H�3�)�H��*�������������H���H�=�h	�y�����@��H�=�h	�Z���#���D��H�=�h	�:������D��H�=�h	�������P��UH��SH��H�����������H�����}�������uqH�MH�;H����H�nh	�1��1��H�MhH�;H��tH�Wh	�1����H�;H�MpH��tH�Dh	�1�����H�;H���
��H��H��H��[]���f�H��tK�~t�H���H����H���H�
�g	[]���H����H�=�g	����Q���f�H��[]�f������u�H�H����[H�=Zg	]�����H�O(��H�=��	���fDUH��SH��H��tBH����C��t*H�[H��t!��t�EpH��H������H�[0H��u�mpH��[]�����u����H�MH���
[�H�=�f	]�!���ATI��US���H��������M���������t I�|$��L��H��[]A\�e���DH��
�H�=�f	���I�T$���H����H�3�
�7�I�l$H��t��Cpf�H��H������H�m0H��u�kpI�|$�x���H���H�����H�
+f	�
�L��H��[]A\���fDH���/���[]A\�f.������u�H��[�]H�=�e	A\����f�AVAUATUSH��H��t0�NH��H����σ��H�51k	��Hc�H�>��D�����t[]A\A]A^�D�3�H��
�H�=e	[]A\A]A^�b��f�D���E��u�H����H���H�=�f	��fDD���E��u�H�����H���H�=�f	�fDH��H��[]A\A]A^�=�D������
H�����}��H���H�����H�
Fp	[]A\A]A^�q��D���E��uH���<��}��	H�MH�����������	H�}p��H��H��[]A\A]A^���f�D���E���	H�}@���Cp����H�}PtD���E����kp������u�H����H���H�=3d	����DH�}@�M�}�Cp��u�L�e`M��t(�L��H�����M�$$M��u�}���_���L�eXM���r���L��H���E���M�d$0M��u�E������E����)�������������H�����H�MH�;1�H�kc	�����C���D���E������H����H�MH�;1�H�Ic	��V����	����D���E�������H���h�H��	�H�=Wc	�������f.�D���E���P���H���(�H���H�=c	�_������f.�D���E������H�����H���H�=�b	�����R���f.�D���E���H���H�=eb	������f�H��H��[]A\A]A^�m���D����������H���b�H���H�=�a	�������@������R���H���*�H�ۿ-H9EH��w	��H�=}a	�P������t&H�uPH�EXH9��1
H����Z�����:
H�3�
����G����H��H��[]A\A]A^���D������H���H�=�`	�����h���@������H�}@tO�Cp��f�D���E����H��H��^	[��]A\A]A^���@D���E��uH����H���H�=
b	�C������fDH�uH�}@��I��H������D���E������H����D���E�������A�L$\H�;����H�5�e	��Hc�H�>��H����H�=�a	���f.�I�L$H�;�1�H��	����I�L$`H��t-�����u
H���)�I�L$`H�;H��`	�1�����I�L$hH��t-�����u
H�����I�L$hH�;H��`	�1����I�L$xH��t-�����u
H����I�L$xH�;H��`	�1��p���I�|$P��������uH����H���H�=[`	���I�T$P���H����H�3�
�9�����H����H�=q`	�{�������H���!�H�=bj	�]������H����H�=$j	�?������H����H�=�_	�!����l���H�<`	�1�����T���@H����H���H�=�_	����H�UP�"���fDH�}��������[���H���H�=�^	������H�UH����H�3�)�������������}\w3�E\H�Mc	Hc�H�>��H��
�H�=�^	�>���fDH�M`H��t,�����uH�����H�M`H�;H��^	�1����H�MhH��t,�����uH����H�MhH�;H�_^	�1��N���H�MxH��t,�����uH���c�H�MxH�;H�8^	�1�����H�}P�2��������uH���,�H��	�H�=^	�c������H�UPH���Q�H�3�
�������H���H�=o]	�&������H���H�=E]	��������H���H�=@]	������H���H�=�\	�������H���H�=�\	����q���f�H���H�H���H�=	����H�EHH��t$H�P���H��tH���_�H�3�:�������H�UH���@�H�3�
�����f���fDH������H���H�=|[	�����:���f�H������M�`���H��������H�������H���H�����H�
�e	����H�;H�d[	�1�����H�MpH���������$���H�;H�@[	�1��������������}P
H�;w3�EPH�Q`	Hc�H�>��H���
�H�=
[	�&���H�;L�e`M��txA�L�5�Z	I�L$A��t8H��Z	�1��l���M�$$M��t4A����A��H�;I�L$A��u�L��1��8���M�$$M��u�H�3�)�B��H�;�ET���+���d���:H�}Xt/H���"�
��H�UX���H���[��H�3�"����H�;H���
�������H����H�=�Y	� ���H�;���H���	�H�=�		��H�;����H����H�=�		���H�;���H���	�H�=�		��H�;���H����H�=���H�;�t���H����H�==		�{�H�;�S���H����H�=		�Z�H�;�2���H����H�=�	�9�H�;����H����H�=����H�;��H���H�=0Z	��H�;�P�����H�=�W	������H���H�����H�
zc	����1���H���H�����H�
�b	�a����H���H�����H�
�b	�=�����H����H�=QX	�O�H�;����H���	�H�=&X	�.�H�;���H����H�=X	�
�H�;���H��	�H�=W	�����H��
�H�=
W	�����f�H��tKUH��SH��H���j��C���	u'H�[H��t�Epf�H��H�����H�[0H��u�mpH��[]�����t�DH���H�=rS	�G����AUATUH��SH��H����H��L�f(I�&H��u-���yt��H�^R	�1�H���l�H��I9�t*���t\��< w�I��s?H�� H���^��I9�u�H���H�=
	H��[]A\A]��fDH���(���fDH��[]A\A]�DH���-H�(�;���H���H�=�Q	�ff.���H��dH�%(H��$�1�H��tnH�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�f�� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ�����ff.�@��ATUSH��dH�%(H��$�1�H�����D$pH��H��H�D$xH�CH�SlHDŽ$�HDŽ$�HDŽ$�HDŽ$�fD� H��H9�u��D$lH�<$H��tmH��H������H�EPH��t|L�``M��ts��$�����H��H�5���L��蘾��H�EX��$�H��tlH�h`H��tc��tH��H�5q��H���i���H��$�dH3%(��H�İ[]A\�H�$��H�=i_	�<�H�EX��$�H��u���u�H�$��H�=[_	���H�$��H�=MU	����b���H�$��H�=U	��������	��f���USH��dH�%(H��$�1�H��tH�D$xH��H��HDŽ$�H�EH�MlHDŽ$�HDŽ$�HDŽ$�@� H��H9�u��D$lH�<$�T$pH��tf�H��H����H�[0H��u�H��$�dH3%(u
H�ĸ[]��:��f.���H��dH�%(H��$�1�H��tnH�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�f�� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ����ff.�@��H��dH�%(H��$�1�H����H�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�D� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ�H�Ŭ-H�8�l��������USH��H��dH�%(H��$�1�H����H�D$xH��HDŽ$�H�EH�MlHDŽ$�HDŽ$�HDŽ$�� H��H9�u��D$lH�<$�T$pH��tf�H��H���5�H�[0H��u�H��$�dH3%(uH�ĸ[]�H��-H�8�\�������ff.���H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�HDŽ$�DŽ$�fD� H��H9�u��D$lDŽ$�H�<$H��tH�����H��$�dH3%(uH�ĸ�H��-H�8�X������ff.����H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�HDŽ$�DŽ$�fD� H��H9�u�H�<$H���D$lDŽ$��P���H��$�dH3%(uH�ĸ�H�6�-H�8�]����!������USH��H��dH�%(H��$�1�H�����D$pH��H�D$xH�EH�UlHDŽ$�HDŽ$�HDŽ$�DŽ$�f�� H��H9�u��D$lDŽ$�H�<$H��tLH��H��� �H�[H��tb�D$pf�H��H���u�H�[0H��u�H��$�dH3%(uPH�ĸ[]�H����H�=NO	�����H��-H�8����H�$��H�=0O	������@��H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�DŽ$�HDŽ$�fD� H��H9�u�H�<$H���D$lDŽ$��@�����$�H��$�dH3%(uH�ĸ�H��-H�8�V����
���f.���H��t?�w9�GH��Q	Hc�H�>��DH�W1�H��t3DH�R0��H��u��1��DH�PH��t����f����f���H��t7H��t:UH��SH��H��H���{�I�CH��Q	Hc�H�>��D��H����H�=ɣ	�����n�~��fD�{t0H�{XH����a�Z��H�{`H�����n�B��H���
���H�%M	�H��1����{w�CH�FQ	Hc�H�>���H�{H��tH������H��H��
[]����@H�sPH��t�H�������DH�KL�CH���_H��L	�H��1��y���H�{H��t�H�CHH��t�H�HH���z���H��H�_L	�1��;�H�{�[���f��c�F��������p�6�������E�&�������e��������C��������t����y�����a�����i�����-�����Y�����N�����I�����F����9�����T����)�����d���������h����	�����?�v�������-�f��������-�V������L��H�BK	H��1�����C���f�����H�;K	H�/K	HD�����UH�"K	SH��H��H��HD؃�	�<H�eO	��Hc�H�>��f����H�(�S��H��H�55K	H�8H��H��1�[]��f����H�(�#��H��H�5�J	H�8H��H��1�[]��f��[��H�(����H��H�5�J	H�8H��H��1�[]��f��+��H�(����H��H�5qJ	H�8H��H��1�[]��f����H�(���H��H�5QJ	H�8H��H��1�[]��f�����H�(�c��H��H�51J	H�8H��H��1�[]��f�H��[]�f���H��tWH�8�-SH��G��	tL��tH�w@H��H���0��H�޿
[�b���f�H��1�H���S�H�޿
[�E���D��H��H���=�H�޿
[����ff.�@���ff.���H��tgUH��SH��H��ta�B�����	t<H�(��tSH�ZH��u�H�H�}(H���4���H�[0H��u�H��1�[]�f�H�ZH��u���D1��D�#���֐H�������fD��H��tUH��SH��H��H��tvH�z@�M���H��H��t5H�{(H���1�H��	��H���-H��H��1�[]�fDH�K(��H�=�H	�V�H��1�[]�D1��D�{��H��1�[]�f���H��tGH��H��H��tS�BH�(�ƒ��	t1҃�t+�n�1�H������1�H���@1��D�3��1�H���@����Ð��H��tWSH��H�(H��tbH�s�B�~
t��	t@����H�s(�
�%���1�[��
t�6�����@H���X����fD1��DH�����fDH����H�=	�	�/��ff.�f���H����H����ATI��USH�GH��H��t�x
ta1�1�L���ի��H��H��th�{ tW�C H�{���H���-H�;�H�kH��H�k���L��H�C��H�1�[]A\�D1�L�����H��럐H�{�7���랸�����ԃ��f.���H����H�����>��AUATI��UH��SH��H���B��	t~��
tAH�5dF
H������I��H��t:I�t$H��H���Z��L���ұ��1�H��[]A\A]�DH�wH���D�����y��[��H�����H��H�5F	H�81��Ӹ�����H�wH��������}���D������f.���H����USH��H��H�wH��tIH��t<�;t7�F��	tW��
t:����H��m��H�5�N	H�81��Ӹ����H��[]�H�H��u��������H���x�����x1�H��[]�H��� ���y��w��H�(���H��H�56E	H�81���1��ȸ�����@��USH��dH�%(H��$�1�H����H�H����H�D$H�����H�H�D$���H�H�D$ H��t�}u0H�sH�|$�*��H��$�dH3%(uNH�Ę[]�DH��1��ι��H��H��t&H�sH�|$H���5��H��D$�9����D$��������$���@��H���sH���jAWAVL�5h�
AUI��ATI��U1�SH��H���%�����H�C��t^H��tY��H�ËS�Ѓ��	u�I�L$(��H�=LZ	�[���SH�C�у��	u�H��u�H��1�[]A\A]A^A_�@I9�t�H�C0H��u�H�C(�@H�C0H����H�C(H��t�H��t��H��I9�u��E1���~)f�I�L$(��L��A������A9�u�H�CHI�|$(H��t!H�HH��tH�:B	�1����I�|$(H�KH��{	�1��������DI9��������f�������f.���H��tZH��tUUH��SH��H������H��H��t5H��H�A>	H��1�����H�	�-ƃ�0H��1�H��[]ø��������f���AWAVI�ι<AUI��ATI��USH��8dH�%(H��$(1�H��$@H��HDŽ$0/ > HDŽ$8��H���H������MM���DH��M����H�1�-�8�H��H����@ H��L�hL�`0L�p(�C���H�{H�H�{����H�CH����H��$0L��$0H�&H�$�H�CL�
A�H;C��H���
L�HM����H�@HH����H�@H����H����L��AQL��@	I����1��R���ZYƄ$#L��S0I��H���}���	t�� uf�H����� t�	t� wH���0���(L�t$0�L��D)��H����7H����� w�H��r��u�Hc��D0��� t	��	u@H����� t�	t�
w�$E1�H��r-�H��$��$f���A��H����
w�H��s�L��H�=�?	Ic��Ƅ������u�H�=�?	L��������W�H�=�?	L��������9�H�=�?	L��������T�	H�=٤	L����������H�=��L��������,�H�=�?	L����������H�=�?	L����������H�=�?	L�����������$�������L�0�s��H�5�M	H�81�A���3H�(�-H��H��$(dH3%(�qH��8[]A\A]A^A_���D$0����fD���L��1�L�D>	��蠝���K���A�$? > A�D$�5���DH�K(�+�H�=3G	���H�K(�.�H�=IG	�l��H�K(��H�=�=	�R��H�K(�+�H�=EG	�8��H�K(�2�H�=[G	���H�K(�P�H�=yG	���H�K(�O�H�=�G	����H�K(��H�=�=	����H�K(� �H�=�G	���H�K(�#�H�=�G	���H�K(�,�H�=�G	���H�K(�=�H�=H	�h��H�K(�W�H�=+H	�N��H�K(�Q�H�=iH	�4��H�K(�O�H�=�H	���H�K(�Q�H�=�H	���H�K(�?�H�=I	����H�K(�C�H�=AI	����H�K(�0�H�=oI	���H�K(�K�H�=�I	���H�K(��H�=L<	�~��H�K(�>�H�=�I	�d��H�K(�5�H�=�I	�J��H�K(�,�H�=�I	�0��H�K(�A�H�=J	���H�K(�1�H�=1J	���L����������H��$�1�1�H�������H�{����C ����H���-H�;H�H��t��H���-H�H���M���y���L��衚���l���H��$�1�1�H��踿���w���H���-L�0�����H�=s;	L����������H�=Z;	L����������H�=A;	L����������H�=';	L�����������$�H�S��1�1�H��莩������f�H��$�H��H�D$�+��I���3���L�0�+���1�L��H�0L�����L���ë��L��I���X���M����L�����I�����H�H�T$���H�T$1�L��H�0�о��H�sL������H���tzH��-H�8��H�:	�1����L�����L��������H��$�1�1�H��聼�����H�{蓡���	���H�SH��$�1�H���(������H���-H��9	�H�81�����H�H	�1�����r�����$��(H�{(1�����b���L�{M���U���L��$��?L��茖��H���hA�G��t,������I�W���	uaH������I��A�G��u�I�PL�����H����L�����H�{(�H�G1	H��1��G��1�L��1�H�����A�G둃�tH��u�I�G0H����I���`���I�PL�����H��t3I�(�)���H�{(�H��0	H��1�����I�W(1�1�H��菡��A�G�%���H��$�H�T$(1��D$(H�50�	�C���H�{(�t$(�V�������H�=��L���������H�=��
L��������[�H�=8	L�����������$���4���L�0�̾��H�5�F	H�81�A�����H�SH�4$1�H���6������r���H�{(H�$�H��o	�����T���H�sL��$�L��H�V����I��H���2�8	���H�b:	Hc�H�>��I�W(L���
H�P(H�������H��HE�L�x0M��t�����
H�=$7	L��������+�H�=7	L�����������$��M�&���L�0辽��H�5�6	H�81�A���~���L�{L��$�L��M�����
H����������!�%����t�L�D$(L�������D�H�JHDщ�@�L��H��1�L)���������I�H��t��I�GI�G H�t$(L��������H�S1�1�H����������*L������H��������.L�����H���l����[L������Z���I�GH�����8�}H�@H�H�CH��t*�xu$���L�0脼��H�5�5	H�81�A��H�CL�����H�CH�@�(���读��H�H�L$�B���L��H�L$H�54	H�81����腻��L�8����L��H�5�3	H�81�A���I�GH��t��8~�E1�H�@1�1�H��J��I���p���I�GD90��e����-���H�H�L$���L��H�L$H�5F3	H�81����8�������H�H�L$蓻��L��H�L$H�5\3	H�81��������Ӻ��H�H�L$�f���L��H�L$H�53	H�81�������覺��H�H�L$�9���L��H�L$H�5�2	H�81�������y���H�H�L$����L��H�L$H�5�2	H�81������H�K(��H�=��	������H��$�赝��I��H�����8��I���F�H�T$L�@L��H�{L�D$H�D$�ɑ��H�L$L�D$��uXM�����y��M�Ǿ=L���x���H��t`�H�x� H�|$�]���H��u�H�{H�T$L���g�����tJH�{(L�D$L��1�H��A	��T��H�͎-L�������H�K(��H�=�A	���H���-L�������ӟ������L�0趹��H�T$H�5�@	H�81�A���q���H�K(��H�=�2	�S���R���H�sH�CH��$�H�F����H�{(1�I��H���d���L���ܰ�������H�=�2	L���������H�5�4
L��芫��H�53�L���D$�w����T$�D$����������$���H�S1�1�H���������H�{����H��������x�����L�x`M���w���H�{H���j���L�5�1	��ȏ��M�?M���P���H�{I�wI�WH��u�L��裏����H�sH�CL��$�L��H�F���I��H�������8	�����H�g4	Hc�H�>��H�5o1	L���~��������$�H�S�@���H�sL��$�L��H�V�L��I��H��������8	�Z����H�&4	Hc�H�>��I��<���E1��	�߲��I��I�GD90�!���H�@1�1��|$H��J��t�胙����I������E1��I��I�GD90���H�@H�4$1�H��J���ʫ����u�H�{(H�$�H�dh	�m��뺀�$�������|$�!���H�S1�1�H��������H�5G0	L���N���������$�u
H�CH�C��H�CH�sL��$�H��L��H�F1��H��H��H��H��v��H����/uƄ�H�sL������I��H���7����8	����H��2	Hc�H�>��H�5HJ	L��覨����u]��$�H�Su1�1�H��������H�sL��$�L��H�V�k��H�D$H�������8	w_�H��2	Hc�H�>���0���L�8�ȵ��L��H�5r/	H�81�A��������H�H�L$蟵��L��H�L$H�5|-	H�81���H�|$���������մ��H�H�L$�h���L��H�L$H�51-	H�81�����諴��H�H�L$�>���L��H�L$H�5�,	H�81����聴��H�H�L$����L��H�L$H�5�,	H�81����p����T���H�H�L$���L��H�L$H�5,	H�81����C����'���L�8迴��L��H�5J,	H�81�A������H�D$H�x����E1��@E��t#H�K(�	�H�=#.	�D��H�D$H�@H�@1�1�H��J��I���3���H�D$H�@D90����H�{H��$������腳��L�I�G�L�D$�L$�����L$L��H�5|-	H�8L�D$1�A������I���H�H�L$�ܳ��L��H�L$H�5^-	H�81����T����H���GH���>H9��m����GH��;	Hc�H�>���H���H����I��I��H�(H�I(H9�u�M9Z8t?M9Z0�XA�{�I�S0�����H��u��DH�R0H���(I9�u��H�G8H��u�2f�H�P8H���H�Ѓxu�A�H�xP��f��N����I��E1�E1��'f��N��������E1�E1�E1ҺH��˜������-���41�1�E���A��G��u8�~u2H�WPH��y)H�NPH��y H�F@H9G@u�H9����f�H9~8��H9~0�	L�V(M���pI9�����L��1���H��H9������H�A(��H��u�L�_(M���I�����L9��eM��1��fDM��I9���M�H(��M��u�L9��9��fDI�˃�I�K(9�u�9�|	���I����I�z(9�u�����DH�G(A��NA���vGI��1�H��1�H9������A9��M�����D��f��N�������H��E1�1�E1ҺI��H��H��˜�A���H�V8H��u���H�B8H���CH�ƒzu�H�zPH���%���H9��q������]A���SH�G(H��u�EDH�@(H���3H9�u��+������1��A�z���I�SPH������I�BPH������I�r@I9s@����H9���������������DH�@(H�������x����A����fDH�WPH�������H�NPH�������H�F@H9G@������H9��J���|�E1�E1�E1������D������f.�H�R(H��t
�z�H��1�E���)������f.�H��H�v(�	����A��u4H�J(H��t+�����H9�u�f.�H9���H�I(H��u�GH�����H�G(����H�V(�[���H�A8H��u%���f��x�����H�@8H�������L9�u��i���H��1����L��I���
���H9���1�I��1�����L��I���������ff.�@AWAVAUATUSH��H)�H��H����L�b�H��I��I��I9���L�vH�^I��J�D��J�4�H��H�$�������������L9�u���y!H��L9���H�t�H�|�������u�L�c�L)�M9�w�1DJ�D�I��H�$J�D�J�D�H�$M��J�D�I��M9�r�H��H��[]A\A]A^A_�f.�L9�u�fDH��L9�tH�t�H�|��X������t�y�L)��f.�I���N�d?�N�l?�M�4$I�mL��H����������u������m���M�uI�,$�`���@L)��5���M���(�����=���f���H��tH�GH��uH��u	1��fDH�@�ff.���H����H�WH����H��tq�~tH�FH��t�H��t
��t�@H��H�JH9�tX@H�F0H��t%�PH�ƃ�t�t��fDH��t�H�V0H��u:H�v(H9�u���H�BH��t��P���u1��f�H�@�H���@��H��t'H�GH��t H�@H��tH��t�@���t�@���1��ff.�f���H��t'H�GH��t H�H�Q���tH90t
H��t
H�F0�1��DH�A0���H��t>H�OH��t5H��tI�F���u.H�F0H��t�@H91t�H�V0H��uZH�v(H��u�1��fDH�FH��t��fDH�q�F��t��u�H�H��t��xt�H���@H�F(H��u��fDH���@��H����H�OH����H�����F����H�F8H�����xuaH�P8H��uUH�P(H��tiH�H�pH9�t]H;WHt�DH����H��H9���H�B8H�J(H��t�H�P H�OHH��t
�H��H�P H��u��H�6H��t�F��u1��H�qH��t�F��t��t�H�V(H�WH�C���DH���[���H�v(�F���H�GH��H�OH�H������H��t'H�GH��t H�PH��t�zuH��tH�F0�D1��DH;t�H�BX�ff.�AUATI��UH��SH���L�o8��
tu��t`I�\$H�����p=�E����pHcE���u`HcE���t#H��L��H)�H��I�UH�4����H��t��pH��[]A\A]�DHcF������~�t=I�\$H��u�H��L��H)�H��I�UH�4��5���HcE���t��f.�Hc�H��H)�I�MH�у:
u�H�����H9Ju�H�zu��F��t^S��������B�F�F���f�HcE����`���HcE����&�������H�_H��������ރ�
������B�E�E���fD��H��tGH�WH��u>H��t9H�BH��t0�xw*�HH�5�/	Hc�H�>��fDH�H��t�xuf�1��DH�@(�H�@(H��t?�xu�H�@�8 t�SH�5t4	H��H��������uH�C[H�@H�@(�1�[�@H��@��H���SH�WH���FUH��SH��H��H��teH�H9pt+H9�tG�N��w?�H���uh�u�t%H�C(H��[]�f.�H�H��t�xu�f�1�H��[]��H�BH��t�xw�HH�5�.	Hc�H�>��DH�F(H��t��xu�H�x�? t�H�5m3	�������w���1���H�@(�f����H�@(H��tZ�x�L���H�x�? �`���H�53	�ĸ�����L���H�EH�@H�@(����H�H���$���1��'���D1��H���D��H��tH�GH��tH��t���@1��DH�@�H���7S�WH����	�����H�
.	Hc�H�>��DH�SH�����J1�A��q���v!H�rH��tW��tR�N��tJH��q���w�H�rPH��t��>@��t�A�����F����H�r��A�H��u��H9�t%H�r0H��t0�NH���f�H�CH��u8�1�[�@H��t�H�r0H��u�H�R(H9�u�[��H�CPH��t����t��@[����D�3���H��t�PH������1��H�[H��t��S������[���[��ff.���H����H�GH��t.H��tE�N1���w�H���tH�F0H��t�xu
��xtrH�@0H��u���H�@H��tۋH��
w�H���bu��"t
H���b���f�1��DH�@H��t��xu���xtH�@0H��u��������H���USH��H�_H��H��t7H�S�zu7H��H���H��t8������������Hc�H��H��[]�H��1�[]��H��t
H�Dw-�H�]H�sH�;�r���H�uH���H�P{-H���dž�H��t�H�:t�����H��H�|�u��H�
{-�n����H��t
H��v-�H�EHǀ�H��1�[]�f.�1��ff.�f�AWH�B�AVAUATUSH��H�D$H9���I��H�^�f�I�l�M�,�H��L�������tb��y^I�6H��M�$������to��kL��H�������tkI�߅�ydM�l�H��t!H���DI�4�I�t�H��t	H��I9�v�I�,$H��H;\$�v���H��[]A\A]A^A_��M��E1���I��H�$E1�I��K�4��$D��(H�$L)�H��v7M��H��N�< K�4�H��������u�L��L)�H��vL�<$��f.�I��O�$�L9��+����Q���f.�AUI��ATUSH���G��~tL�%u-1�I�EH�,�I�$H�UH��tH�zH��t
��I�$H�UH���I�$H��H����A9]�I�}I�$H��t��I�$H��L��[]A\A]��fDL�%�t-��ff.�@H��t[SH��H�?H��t�J���H�{H��t�<���H�{H��t�.���H�{H��t� ���H�{ H��t����H�;t-H��[H���f��ff.�@��H��t?H�GH��t8H��t�F���	t&H�F0�f�H�@H��t�H��v�1��D�H���Qu
���u��.t�H�@�ff.���H��t7H�GH��t(H�H�Q���tH90tH��t%H�F8H��t�xt�D1��DH�@8�H�A8�ff.�AWHc�AVH��AUH�D�I��ATUSH��(L�xL�d�H�L�AM9�L��IF�H;)�PM�4K�,4M9��L��J��K�t����I���H9�sKH��M����L9���K�t�K�|��L�D$��L�D$���t|��yxI��K�D�I�D�H9�r�H��([]A\A]A^A_ÐL��J��I�t��{���I��M��t�E1��&fDI9�rCM9�v�K��I��I�D�H��M9�s�H9�r�롐M��t�I��K��I�D��9���f�K��K�T�L�D$H��H��H�L$H�T$�M�H�L$L�D$���tN��H�T$yEI��I�T��f.�H��L��I��H��H�D$����I��H��tI�FI�.����I��I�L��A���H�cr-H�L$�H�Z3	H�81��Э������fDH��H��lE1�1�WA�1�1�P1�jjjjW1�jjjj蚋��H��h�DAUATUH��SH���dH�%(H��$�1�H����L���H��I��L���_���H���L��H��k1��y��L���~��H���H�H���H���H��tH���L���H��$�dH3%(uH���[]A\A]�DH���������y���f�H��t�GH�����H������AWA��AVA��AUE��ATA��USH��H�o8�E�u9��$H�}Hc�EH��H)�H�׋T$PH�} D�sD�{D�#D�CD�k�SH��tA�T$�v>A��
t8H�L$XH�KH�L$`H�K �PH�C(�UH��[]A\A]A^A_�f�H�|$X��H�t$X������x��H�|$XH�CH�5o-�HcMH��H��H)�H�MH�|$`H����H�} H�t$`������jx��H�|$`H�C H��n-�HcMH��H��H)�H�MH���C���f�H����?Bu�D�D$H�}�uHc�H��H)�H��H��l-H���D�D$H��H��t-H�E�E���H�|$`H�C�O���H�C �����U������EH�5�&	H���������������ATUH��SH��H�?H��t^�sHcC9�;�������H��k-�sHc�H���H�H��tzHcK�QH���D�PH�ljSH�(1�[]A\�@A�ԅ�t)Hc�H��H�{l-�H�H��tID�c���fD�A���H�=�/	�'���������H�=�/	�����C���H�=�/	������{���@U�0SH��H�-�k-�UH��H��tcf�H�@(�0@@H�
H��UH�CH��tAHcK1�H��H��H)�H���D����C����H��H��[]�H�=l%	�d�����f�H�=r%	�T���H��l-H��1���@��AUATI��U1�SH��H�����_��H�1k-�P�H�CH����f�@@ @0@@H�CHc�C
�JH���L�,�A9,$~UI�D$L�,�C��t�Hc9�~H�C���=��b�4H��i-H�{Hc�H���H��t-H�CHc�c뙐A�$H��H��[]A\A]�f.�H�=t$	�D���H��1�[]A\A]�H�=l$	�+���H��1�[]A\A]�ff.�ATUS1�H��tm�~ugH��H��t_�tYH�
j-H��I���0�H��H��tEf�@@ H�}�@H��t	�y��H�CH�}H��t	�x��H�CL�#H��[]A\�H�=�#	�����f�H����������H����AW1�AVAUATUS��H��H������H�OH�L$ H���rHc9L�~���M���vA����O��u?M�O�B�L�QE1�I�t�K��L��DH;��H��H9�u�I��D9��DH�-�h-H���UH�D$0H����H�D$ Hc8H���UH�D$8H����H�D$ H�|$01�HcH���7���Ic?H���UH�D$H����Ic?H���UI��H���KIcH�|$1�H�����H�D$ �8����H�D$0L�d$81�H�D$fDH��H�D$(H�D$ H�@H�<��1�A�$A�7���}E1��D$�D����I��E97~NH���>C�D�A9$u�H�D$H�8�\H�D$J�4�H���*H�D$H�8�
�����1��L$9�t��L$����H�D$ H��I��H�D$�9��8���1�fDH�-yh-H�E��~+E1�fDH�T$0J�<�H��t��H�EH�T$ I��D9"�A���~$E1�@H�T$J�<�H��t��H�EI��E9'�H�|$0��H�|$�UH�|$8�UL��U��H��H[]A\A]A^A_�D1��D1���H�=!	���H��g-H�|$0�1���fDI�GJ�<���C�D�����I�GJ�<����H��H�D$J�4����f�H�D$ H�T$(H�@H�<蹂��H�T$H����@H�D$ �����@��B���H�=e 	��H�+g-H�|$8�H�|$0�H�|$�1�����H�=6 	����1�����H�=# 	���H��f-H�|$8�H�|$0�1�����H�-�f-1�H�E�|���H�D$ �\$��2���f�H����H����������AWAVAUATUSH��H�oH�����E�����E1�tD�nA��A�A��I��1��f.�E��uTH��9]��H�EH�<��!�D9�u�H�EH�<��_���I��H��twH��L���L�����t0H��e-L���E��u�H���[]A\A]A^A_�1��DH��e-L��H�E��u>���t����1�H��[]A\A]A^A_��H�5!
L���ѣ����u��8�����D���ːAVAUATI��USH��[H���f��H��t1�[H��]A\A]A^�f��(H���f��H��u޾@H���qf��H��H��uɾ:H���\f��H����M��t�A�T$X��t��x:t�M��$H�����|H��c-Hc�H���I��H���1A�t$XH�¸��~E�F�M�D$PH�|1��I��H�JI��H�RI�T�H��H9�u�6H�H��I�H��H�H��L��L��I���Ǒ��L��H��H�:d-�H��t
H��諌����t=H���y������f�M��tMA�T$X�����H��1ɺL���n���H������H��H��t:H�X(L�h M���}���L���#����p���H��1ɺ1��-���E1�H���j���H�53&	L�����@���H�5�	L�����*���f.�H�Ib-S��H��H��t)f�
1�H���#����CH��[��H�=i%	�����f���H��vH���y�f��ff.�@��AWAVAUATUSH��HdH�%(H��$81�H����I��I��H��?�VH�ƹ:H��H��H�D$ H��?H�D$()�H�����H��H��H��H!�H����1��f��Hc�I9�I��H��MF�L9���H�D$0H�\$8I9��fL��H��L���(��L��H)�H9�HG�I��H9���H�\$@H�H�D$HI9���L��H��L������L��H)�H9�HG�I��H9���H�\$PH�A�H�D$XH�D$0H�D$H�D$ H�D$I9���f�D��A��~6A���Ic�H��H��H�|H�t(L�7L9T�
H9��L��H��L���S��L��H)�H9�HG�I��H9���L��I��H��HT$H�H�H�BI9��w���I��vAL��H�\$H�l$ H��H�\�H�t$D��H��L��I����H�CHH��I��u�H�|$(H��t��c���H��$8dH3%(�%H��H[]A\A]A^A_��L��H��L��L������-���f.�H�D$HIc�H9D$8�����H��I��H�L$H��L�l��M�L9�wj�B��D$H9�vn�T$H�L$L��H�t$���I�U IUfAoE(A)E�T$I��I����tUI�M I�u0I�}L�1��t�L�M9]v�L9�v�H9��(����B��D$H�L$H�t$L���o�I�U0IU �DH�T$8H�D$HH�I9���H9���A�����DH��I�<����L���"���@�v�����fDH��I�<���L���%���@H�L$ H�t$0�L�����H�D$HHD$8�:���f.�H��I�<��d�L������@L�|$H��H���L��L����H�D$XH��L��HD$H��fDH�L$H�t$�L��A��S�H�D$HHD$8����o��ff.�@��H��Z-H��$	H�
�$	H�5�$	H�H�f]-H�H�4[-H�0����1�f.����f���f(�fT
%	�f.
�$	v1�f/�$	���D��ff.�@��AUATUHc�SD���H��H����vA���H���DH�{�kH����H����0p��L�kH�{ADž�E���ADž��k��H�sH�I��H�CH)�L��@H�����(L��8H��tyH���H��H���[]A\A]���H��%-H��E1�1�4�H��H�S1�PA�H�jH)�P1�jjR1�jjjAT�Zw��H��`H��[]A\A]�H��%-H��A��4�H���PjRjjVjjjAT1�1�1�1�1��
w��H��`H��[]A\A]�fDH�1%-H��A�E1��4�H�l�PjjjjjjjjAT�DH����H����ymH���J����u}������tc����%����B��?	�=�wx��
�ƒ���!ʍH�����!ʄ�tE��y���1��7D���fD�J����td@���@���1�H���f�1��D���������v܍� �����v΍����������q����������t.��
�B������%�	��B��?	�������<��]����B��<��N�����B�
����%���	��J��?	��B��%�	����f�AWAVAUATUH��SH���4$L�d$L��dH�%(H��$�1��9���A�ǃ� ��=��H��@(H���6D����߃�A���$�$1�L�t$ I��@���D$�A��>�&A����H�5*Z-D���:�����uVA�����=�QvHA��0t?A�������v3H�5�W-D��������u H�5�X-D��������f�Hc|$���2HcÃ�D�| H}L��H���8���A�ǃ�c�L���D�,��P���H��Y-Ic��I��H����Hc�H�t$ H���D{���f�D�>��HcD$HEL��H������A��A����VD����߃�A��v(A��@�����vA��(�����vA������C	D9�|+A��P���H��V-E�L��Ic��H���I�Ƌ|$Hc�L����Z���D��肍����Q���A�������H�5�X-D��蜓��������A�����=�Q�����A��0��A����������D1�H��$�dH3%(��H�Ĩ[]A\A]A^A_�DM��rjD����߃�A���8���A��@������(���A��(���������A�������A�GӃ�2vbA��:u�|$��A������@���X���H�|$ ���|\���I����Hc�D��L��R���Hc|$����fDH��H��������f.�A��@���������A��(����������A��������A��_������$�����A��:��������H�59V-D�������������4���@H�5�V-D�����������A�����=�Q�����A��0�����A������������H�5[T-D��蛑���������H�5U-D��脑�����l���H�5�U-D���m������U���Hc�L��A����DA�GӃ�2v'A��:u
�$�'���A����������H��H���������f.�H��U-L����H���W���1����H��U-H�$L����H���3���H�$�\����H�������H����H������1��6����f��ff.�@H�WH��`H9�r I��H��hI)�L9�wH�H��h1�ÐH��H��h�諕�������H��Ð����镕��DH��tKU��SH��H���GP9G(|�kPH��[]�fD��H�5�
	�}���kPH��[]���ff.�@��AWAVAUATUSH��hdH�%(H��$X1�H����H��H��A�ׅ���H�|$H��fD���B H���B� A9�~��~���PHc�H�H���D�D�i��H�����}	w|�EH�b	Hc�H�>����E�l������������E�ڈ�����d�Ef.5	�3�-H�ٺ�H�=�
	�`���H��$XdH3%(�sH��h[]A\A]A^A_��H�ٺ�H�=�	����L�eE����H��$�1�H��������@ H���@� A9��D-�PHc�H�Ƅ�Ƅ�M����A�$����I�D$H�8��H���gh���M�H��H��J	1�A�o���I�D$H�H�p���VH��$�1�@A9׍J�@ A����� ��@��H��A��u�ҍBH�Hc�Ƅ�Ƅ�H���f�L�f0��H���r���L��M��u����DH�ٺ�H�=[	�׍���r���f�H�ٺ�H�=�	跍���EH�م�����H�=S�蓍���.���fDH�ٺ�H�=�	�o���H�u H�����H�޿
�k�����H�ٺ�H�=�	�7�������f�H�ٺ�H�=�
	����L�eE����H��$�1��fD�����B H���B� A9����PHc�H�Ƅ�Ƅ�M��� A�$H�t
	H��1��1�L��$�����H��$�E�oH�D$�A9,$����H��L���;f����MH��H�aH	1��Ҍ��I�D$H�4�E���H��$�1�fDA9׍J�@ A����� ��@��H��A��u�ҍBH�Hc�Ƅ�Ƅ�H�����F�ƒ��	tED��H�߃�tb�=���H���D���H���e��H�ٺ�H�=�		裋���>���fDH�|$H���[e��H�ٺ�H�=b		�r������w���f��1�H�|$�M����H�ٺ�H�=�	�/��������1�����H�|$H����d��H�ٺ�H�=�	����&�����H�=�	�݊���x���H�ٺ�H�=�	迊���Z���H�ٺ�H�=�	衊���<���H��$�H���\d��H�ٺ�H�=(	�s��������1�����1�1�H��$��t���H��	�H�߸賊������H�ٺ�H�==	��������1�����H��$�H����c��H�ٺ�H�=�	�ۉ���v����_���AWA��AVAUATI��UH��SH��H��dH�%(H��$�1���~lH�|$ H��@���B H���B� A9�~��~���PHc�H�H���D �D �+c��H��t6�����H��	Hc�H�>��f.��1�H�|$ �f�H��
�H�=�	�����H��$�dH3%(��H�Ę[]A\A]A^A_�H���H�=\		辈��fDH��
�Kg��HcC��x&H��A�OL��H��H)�H��I�T$H�����HcC���q���H��A�OL��H��H)�H��I�T$H���{����F���H��	�H�=�	�-����p���H���H�=�	�����R���H�C D�KH�KH����I��H�I	H��H��1��Y�������H�K L�CH����H��	�H��1��-������CH���X������H�=�	�{������H�CD�CH���H�=�	D�sD�kH�D$H�C D�D$H�D$�:���D�D$A��
��H�$	Jc�H�>��H���H�=�(	�����D���H���H�=�	����&���H���H�=y	�ņ������H���H�=W	视�����H���H�=�	艆�������{H������H�=,	�`����C�������H��=��d�����D�CH��E������H�=�	�����`����C���������������:���H���H�=�	�م������@L�kH���H�=�	賅��1�L��H����d�����H���H�=�	舅������H���H�=�	�j������H��
�H�=�	�L���A��w*H�w�H��Jc�H�>���H�=�	����A���t�\A���FA��uH��
�H�=	���H�D$H��tH��H�g�H��1���@���H�|$H�������H���z^�������H�=�	菄���n�����H�=�	�t����S�����H�=c	�Y����8�����H�=]	�>���������H�=%	�#�������H���H�=�	�������H���H�=X	������H��	�H�=0	�Ƀ���x���H���H�=	諃���Z���H��
�H�=�	荃���<���H���H�=�	�o�������H��
�H�=&	�Q�������H��
�H�=�	�3������H��
�H�=�	��������H���H�=�	������H���H�=�	�ق�����H���H�=�	軂���j���fDE������H���H�=�	莂�����H�"	�H��1����n�����H�=	�X������H�=	�G��������H�=.	�,����o���H���H�=�	�����Q���E��H�u	H��1���p����3���L��H�3	H��1���R�������H�=�	�������H���H�=�	裁�����H���H�=�	腁�����H���H�=F	�g������H���H�=/	�I�������V��ff.�@��ATUSH��pdH�%(H�D$h1�H��tzI��H��tr��H���H���~+H��1�H��fD���B H���B� 9�~��~���PHc�H�H�����Z��I�|$(t6H���H�=F	蕀��H�D$hdH3%(uPH��p[]A\�@A�$H��H��	1���ހ��IcT$�KL��H��H��H)�I�T$H���g�����pU����H����SH��H��H��X��t0H��tK��u<�ҸdH�1��W(�W,�W4�W0�W8H��[�fDH��t�F��HǃXH��1�[�H��B-�L$�@�T$��T$�L$H��H��t8f�@@ @0H�ddH�G(H�G0�G8dH��X�W���H�=	��������HǃX�U���������ff.���H��t?�G(��~8;GP~;��H�W01�HcȉG(H����~H�t
�H�H�w H�H��D1��DH����4H�5*��6k��1�H���ff.�@��H���|H��tjUH��SH��H���G(�w,9�|8��?B_�H��@-H�0Hc�H���H��H��tTH�C0�C(�c,�
fDH�W0Hc�H�,ʍPH�k �S(H��[]��G�����ø�����H�5b	�����������H�5�H���������������H��t`H�W1�H��u�Rf.�H�J0H��t5H�ʃzu�H��H��H��H�JPH�JH��u���DH��tH�J0H��u�H�R(H9�u���H������ff.�@��H����H����H9����W�F���
�������
�N����H9~8��H9~0����u	����L�V(M���6L9��eL��1��H��H9��RH�A(��H��u�L�_(M��������L9���M��1��fDM��L9��IM�H(��M��u�I9���9���fDI�˃�I�K(9�u�9�|�f�I����I�z(9�u��}DH�O(��t7�����H9��Q�H�v(�H9�t�W����������H�F(H9���H��H����H���H���I��I��H�(H�I(H9�u�M9Z8t3M9Z0tdA�{t3I�S0�����H��u�t���DH�R0H��t<I9�u��@1��A�zu�I�SPH��y�I�BPH��y�I�r@I9s@u�H9��}�������DH�V8�����H��u����DH�R8H��t�H9�u���H�WPH������H�NPH�������L�^@L9_@���H9�������������QH�����D������H��1����L��I�����H9�u�1�I��1��2���L��I���'���f���H��tHc7H��T������H��tW�uQH�H��tI�xtCUSH��H��H�-3>-H�H�EH��t��H�EH�{H��t��H�EH��H��[]��fD�ff.�@H����UH��SH��H�GH��t]���~:1���R��H�EH��9]~!H�<�H��t�u���Q��H��H�E9]�H��=-H��H�H��H��[]��H�q=-H��H�H��[]���ff.�@��AWAVAUI��ATI��USH�����D$�����D$E1���L�4�fDI�EN��J�,��D$����I�D$�H�H9�u�`L9���I�T$H�H��H9�tE�zu߃}u�H�EH9u�H�uH�zL�D$��z��L�D$��t�I�EH��J��P���I��E9}�b���A�EL��H��[]A\A]A^A_��A�D$��ugH� ;-�P�I�D$H����f�@@ @0@@I�D$Ic$A�D$
�rI��A�4$H�,�E9}�����r���@Ic$9�~I�D$��=��J�4H��9-I�|$Hc�H���H��tI�D$Ic$A�d$�H�=���Q��H��1�[]A\A]A^A_�H�=u��4��1�����ff.�f�AUA��ATI��USH����tG;7}CHcމ�H���D��H��A;,$}&I�D$H�<H��t�u��RO����H��A;,$|�E�,$H��[]A\A]�fDUH��SH��HcH�O��~=1���H���B�9�~'H�<�H��t�u���N��HcUH��H�M�B�9��H�D�H��EH��[]����ATL�%S9-UH���SA�$H��H����f�H��tJ�PA�$f�H��H�C��@@ @0@@�}�C
tHcH�S�H�H�,�H��[]A\�Lc#H�}H��H�CA�T$�N�$����I�$H��[]A\�fDH�=���|���f.�H�=���d��H��9-H��1��@��H��t>H��t9�~�t:��~-H�GH;0��H����H���@H��H9p�t~H9�u�1��fD��~�ATI��UH��S1��fDH��9]~?H�EH�؃xu�I9�t I�$H��t�H;u�H�pI�|$�@w����t�[�]A\�f�[1�]A\�f���f.���H����H������6H���-�z�#�~�AUI��ATI��UH��SH��Hc��~Q1��
DH��9�~@H�EH��H��t�xu�L; u�H�pI�}�v������HcMH��9����E��t19�tlH�E�QL��H��L��U���H�1�H��[]A\A]�@H��6-�P�H�EH��tlf�@@ @0@@H�EHcM�E
똁���R�	H�}H�H�4�H��5-�H��t�eHcMH�E�a���������1��n���H�=X����������X���H�=S�������D���ff.���H���H���Hc��~6H�GH;0��H���Q�H���f�H��H;p���H9�u�ATUH��S�GH��u\H��5-�P�H�EH����f�@@ @0@@H�EHcM�E
�{�QL�$�t#�U1�I�$[]A\�9�t/H�G�{�QL�$�u�H�;�UH�����I�$1�[]A\�f�1�Á���H�4	H�;4-H�Hc�H���H��t�eHcMH�E�~���������H�=�����������x���H�=��������d���f�AWAVAUATUSH��H���3I��1�I����;��I��H���A�L��< ���H�&I�&��t�< wH��rfDH���< w�I��s�H��L��L)��a:��I��H��t)H��L���~;��H��t
�P��tT��tXH�5-L����< v)f�I�߄�u�H��L��[]A\A]A^A_��H��s�H���< w���H�@(H��t�H��L���r���H�&H������H���< ����H��r����E1�눐��H����H����ATUH��S�GH����t)Hc9���H�G�}�JL�$�tZ�1�I�,$[]A\�H�	3-�P�H�CH����f�@@ @0@@HcH�C�}�C
�JL�$�u�H�}�H�����I�$1�[]A\�f.�=��M�H��1-H�Hc�H�4��H��tH�CHc�c�A���������H�=u��6��������7���H�=p�� �����#������AWAVAUATI��USH��H����I��H����A�$A�U�D$������E1�L�4�@I�EJ�,��D$��~xI�D$�H�H9�u�D@L9�t[I�D$H�H��H9�t)�xu�}u�H�MH9u�H�uH�x��p����t�I��E9}�H��L��[]A\A]A^A_�@A�D$��uoH�H1-�P�I�D$H����f�@@ @0@@I�D$Ic$A�D$
�}�rH��t7A�4$I��H�+E9}�����u���Ic$9�t8I�D$�}�rH��u�H�}A�4$H��I�����H�E9}�����2���=��\�4H��/-I�|$Hc�H���H��tI�D$Ic$A�d$�_���H�=m�E1��:������1��7��I��H���<�������H�=R�E1��������f���H����H����D�E����USH��H�WH;2t(A�H��H���H��H9t�t��H9�u�H��[]�1�D�~H��tOA�x��}9�~-A)�Hc�A�H�H��H�H�t�fDH�HH��H�H�H9�u�Hc�H��H��[]�DH���D��D�EH�U�fD�ff.�@��H��tw�9�~qATLc�UH��SJ��H��L�GK�<�H��t�tP�z��}9�~')�I���I�K�L�DH�PH��H�P�H9�u�Hc�I��H��[]A\����t$�D���UL�E�t$�f���H����UH��SH��H�H��tY�E��~71��fDH��9]~$H��H��t�xu�H��H���C��H�}9]�H�\/-�H�H��H��[]��@H�A/-H��H�H��[]���ff.�@��UH���HSH��H��--�H��H��tEf��CDH��C��CCC$C4��4��H�CH��H��[]��H�=���l�����f.�H��tKH��XH��t?UI��SH��H��H�H��t�J��u4H�@ H��t�P����H��H��[]�"@��f�H���@���H����JHc�H�,��E�EH��t-H�}�G��t�~tH�GH�0��
DL���0>��H��H��[]�fDH���L�ljPHc�H�,��E�E��3��H�EH��u�H�1�H����ff.��AWAVI��AUI��ATA��UH��H��SH��(�N_�����������L���'D��W��A�ǃ����L���\Q���…���E��u(�D$M����1�H���v����T$H��I�E��E����D����9E����I�EH�uH�x�=������L�}M����L���*K��H�D$H����L�t$L����9��1�1�L���D$��L������H�D$A�OE1�����I�GH����D9����P����A������I����H��`H��tH��hH9���H��H��hA�O��w��H�ਗ਼t������t$���m���H�|$1�1��5l������I�t	D9��,H�|$��>��f�I�G0H����PI�ǃ�t�t��W����V��H��V��H�5��H�81���H�|$�N��f������H��([]A\A]A^A_�@��tt���m���L�}M��tcA�O��
wZ�H��*tKL���I��H�D$H��t9H�|$�/8��L�|$�D$�t���E��������H�|$�N��fD1�H��([]A\A]A^A_��E���T���I�EH�uH�x��:�����Z���1���f�A�O�����I��L;|$t�fDI�G0H��tC�PI�ǃ�t�t�����f���t�T$��t����u
H�|$�Q=��I�G0H���3���M�(A��M���3���L;|$�(���A�G��	u�����f.�I�WHH��tH�RI�wH�|$�5J�����E��u3I�EL��H�x�9�������H�H�������E��tH�|$��L����)���I�EL��H�x�9�����ff.�@��UH���HSH��H�'(-�H��H��tEf��CDH��CC$�	�CH�k(CC4�)/��H�CH��H��[]�H�=�謷����f.���AUATUSH��H��tmH�GH��t|H��H�8�:��I��H��tQ�;~6�A���A��H��D9#~H�CI�}H�4(�8����y�H��L��[]A\A]��H��E1�[L��]A\A]��H��1�[]A\A]�:�����SH���HH��H��&-�H��t1f��@D@�H�X@@$@4H��[�fDH�=�H�D$菶��H�D$���H��tH��XH��tH�@ H��t�P��uH���9���H����PHc�H���H�p�D��H��tH�`'-� fD����AWAVAUATUH��SH��H�����I��t|H�~tu1��;-��I��H��tc�U��t\H�}tU��~QD�r�1��f�H�CL9�t7�UH��E1�9�~H�EL�,�L��L����[����u�L��L���6����y�@L��H��H��[]A\A]A^A_�ff.���AWAVAUI��ATUH��1�SH���,��I��H��tuH��tp�E��tiH�}tbM��t]A�U��tUI�}tN��~JD�x�1��fDH�SL9�t3�EH��E1�9�~H�EL�$�L��L���[����t�L��L���86����y�H��L��[]A\A]A^A_�f���H���������H��~H��ty���tsH�~tl��~hAUD�h�ATI��UH��S1�H���H�SL9�t7�EH��1�9�~H�EH�4�L���kZ����t�H���[]A\A]��H��1�[]A\A]�1��ff.�f���AVAUATI��USH��t|H��1�I���/+��I��H��tgH��tb���t\H�{tUL��H����Y����tF���~@D�r�1��/�H�CH�4�I9�t#L���4����xH�EL9�t�H��9��1��ސ[L��]A\A]A^�@��UH��SH��H���K3��H��H��H��[]�X��f.���H��t'���t!H�FH��t1���~H�p�X���H���ff.����H��tW���tQH�~tJH��tM���tGH�t@UH��SH��H���2��H���2��1��;~H�CH�pH��H��[]�X��f�H���@1���)�����AVAUATI��USH����H��1�I���)��I��H��tkH��tf���t`H�{tYL��H���fX����tJ��Ń�x9Lc�I���'H�CJ�40I9�t#L���{3����x��I�����t�9��1��ސL����1��[L��]A\A]A^�ff.����UH��SH��H���1��H��H��H��[]�J7��f.���H��t'���t!H�FH��t1���~H�0�7��f.�H���ff.����H��tW���tQH�~tJH��tM���tGH�t@UH��SH��H���'1��H���1���1���~H�CH�0H��H��[]�6��f�H���@1��A(�����H��tqH��tlSH��H�� H�8H��t!H��tH�� [�2T��f�H�� [�G��fDH�L$H�T$H�t$�X��H�t$H�T$H��H��H�C8H�L$u�H�� �����[Ã��f���H��1���2��f���H��tH���H�������H��tgH��tbATI��UH��SH���H��H��tH�����H��t[]A\�fDH�{8H��t[L��H��]A\��&���[1�]A\�f�1��ff.�f���H��tOUH��SH��H��H���H��t1�H�����H��tH��[]��H��H��H��1�[]��8��D1��D��H��tSH��H�81��5��H�C8[�fD����H����H���|SH��H�� H�H��t1H��tH�� L��[�S#��H�� H�
�[�F���H�L$H�T$H�t$�DV��H�t$H�T$H��H��H�CH�L$u�H�� �����[��f.���H��1���X��f���H��tH���H�������H��t'SH��H�H�5(�4��H�C[�f��ff.�@��H����H�����>��ATI��UH��SH���H��H��tHM��t+L���+-��H���H�
�-H��H��[]A\�8��fDH��-H��[]A\�ET��D�
�U��H��H���H��u�[�����]A\Ã��f���H����H����AUATI��H�5�RUH��L��SH���\����ugH�EPH��t<�UX��~51��H�EPH��L�,�H��tH�xL���\����uKH��9]X�H���H��L��[]A\A]�9-��f�H��H�$[]A\A]�fD1��DH�EPJ�(H�@H��[]A\A]�f���H��t'SH�5�-H��H����@2��Hǃ�[��ff.�@��H��H�Q-�H�D$��D$H��t1�@Df���HHH$H4�@H���fDH�=}�H�D$�׫��H�D$��H��t,H��XH��t H�PH��t�J��u?H�@ H��t�P��u�R��f.�H����PHc�H����@�@H����JHc�H����@�@��H��tG��uK�GP9G(|SH�W�Bh��x f�SH��H���*��L���H��[H���`4���
�]��fD�����\��fD���\��ff.���H��tG��uK�GP9G(|SH�W�Bl��x f�SH��H���*�����H��[H����3����\��fD����n\��fD��^\��ff.���S���HH��H�Y-�H��t21҅�f��@D��@��P@@$@4H��[ÐH�=��H�D$���H�D$���H��t,H��XH��t H�PH��t�J��uGH�@ H��t�P��u���(^�����H��PHc�H��1҅���‰P����H��JHc�H����fD��H��t?��uC�GP9G(|#SH��H���Y���H��[H���}2��D��[��fD����[��fD��H��t7��u;�GP9G(|SH��H�1����H��[H��� 2�����Z��fD����Z��ff.���UH���HSH��H��-�H��H��t]f��CDCCC$C4�H��tH���'��H�C H��H��[]ÐH�=�	�'��H�C H��H��[]�fDH�=��������f�H��t;H��XH��t/SH�PH��H��t�J��u+H�@ H��t�P��uKH��[����f�H�������H����JHc�H���H��t0�'��H�C H��[��H����PHc�H���H��u�H�=F�	��ff.����SH���HH��H�h-�H��t1f��@D@@$�H�X @@4H��[�fDH�=��H�D$���H�D$���H��t,H��XH��t H�PH��t�J��u?H�@ H��t�P��uH����;���H����PHc�H���H�p �DH����JHc�H���H�p �D��UH���HSH��H�w-�H��H��t=�CDf�H���CCC$C4�%��H�C H��H��[]�fDH�=��������f�H��t;H��XH��t/SH�PH��t�J��u.H�@ H��t�P��uNH�=��	[�q"���H�=��	�d"��@H���H�={�	�JHc�H�����$��H�C H��[�DH���H�=K�	�PHc�H����$��H�C ������W:�����SH���HH��H�H-�H��t1f��@D@$�H�X(@@@4H��[�fDH�=��H�D$�ߤ��H�D$�����ATUSH��tcH��-H���H�H��H�����o�oKH�oS P �o[0X0H�C@H�E@�;	w�H���Hc�H�>��@1�H��[]A\�fDH�{ �#��H�E H��[]A\��@���L� �@����H�5��H�81�A��H��[]A\�H�s1������EH�EH��[]A\�f�H�C(H�E(H��[]A\�H�=���ԣ���q���ff.�@H��t{H��tFH��Xt<���tUv��t>��u)H�v �����uSH�vH��1��\��H��[H�����H����*����F���fD�v�h����1��ff.�f���H��tgATI��UH��SH���H��H��tH�����H��t[]A\�H�{H��tH��tH��L������H��[]H��A\����[1�]A\�f�1��ff.�f���H��t'H���H��tH���1��1��)=��f�1��ff.�f���H����USH��H����ƒ��u6�CH���tK�	H��t���H�l-H��H�H��[]��fDH�-Q-H�U��t@H��H��[]��DH��t��A��H�'-H��H�H��[]��f���H� H��t���H�U����H���AUATUH��SH��H� �EH����1ۅ��BfDH��9]~/H��H�UH)�H��H�xH��tۃ8u��I5��H��9]�H�} �G?��L�-p-H�}H��tA�UH�}(H��t�5F��H�}I�EH��t��I�EH��H��[]A\A]����~�1�L�-#-��A�UI�|$ H��tA�UH��9]~�H��H�UH)�L�$�I�|$H��t�A�<$u��4���f.��ff.�@H����H����ATUSH��XH��t�>	H��wv�H��Hc�H�>��[H��]A\�44��@H�~H����F�����(��H�EH���c�M(9H��1�H��H���������ubH�{H��t�?��H�-H��[]A\H����H�~ H��t	H��-�H�}H�����E,9G}y�1�H��覢�����t�L�cM���DA�<$��1��DH��A9,$��I�D$H�<�H��t�u��$�����H�}H���k�E49G|�H�} H�����E89G�o�������f.�H�}H����E09G�G����DuI�D$H�8H��t�u�6$��fDf�A�$H�C@L�cCC C0[]A\�@��H���p2���	���H�C�@��������H��H�E H��������V���fDf�H�C@CC C0���=��H�C���fD�ë��H��H�EH���S������fD裫��H��H�EH���3�������fD胫��H��H�EH����������i���H�EH�������������USH��H��tqH�o H��H��tm�E���u*�%C��H�{H�hH�@H�����H��H��[]����H�5��1���6���CH��H��[]��1��@�
��H�5���6���C
�f���USH��H����H�o H��H��ta�}u+�vB��H�{H�h(H�@(H������H��H��[]�@���H�5�1��6���CH��H��[]���
��H�5����5���C
룐�
��1�1�H�5����5���@��H������u.�G(9GP}6H�G H��t
����t3���M��f����M��fD��M��fDUSH��H���rA��H��H��tBH�@H�{H��t9f��*��H��H����$��H�{H��H��[]�����H�{f��{�H��H���$����ff.���H���USH��H����t��t1H��H�߾[]�L��fDH�H�w���H��H���0$���C(9CP}(H�C H��t
����t-H��H�߾[]�L��f�H��H�߾[]�L��DH���`@��H�{H��H�@H��tP���tJH�@H��B��tv��u4H�r�fD����w H�r�> t�2�H��H���#���D�+�H��H���p#��H�{H��H��[]���fD����H���USH��H����t��t1H��H�߾[]��K��fDH�H�w�[��H��H���#���C(9CP}(H�C H��t
����t-H��H�߾[]�K��f�H��H�߾[]�mK��DH���0?��H�{H��H�@H��t@���t:H�@H��B����w(H�BHH��tH�p��H��H���k"���f���H��H���P"��H�{H��H��[]�n���fD����USH��H����t'H���&��t1H��H�߾[]�J��fDH�H�w�;��H��H����!���C(9CP}(H�C H��t
����t-�H��H��[]�bJ��f�H��H�߾[]�MJ��DH���>��H��H�@H���������H�@H�0�F������H�~�? twH�VHH����H�rH����1�1����H�UH�RH�H�zH9����H���N���H�{H�����H��H��� ���)DH��[]�f�H�{��H��H���� ��H�{H��H��[]���f.�H�{���H��H��� ���H���/I���DH��H�{��H��H���q ����z���I���D���+�������tH�=���L��@H�=���<��ff.����SH���D$dH�%(H��$�1��F �����t1��u<H�=������H��$�dH3%(��H�Ġ[�H�=~�������f��D$��<����ui�T$f��f.�zuH�=mp	���롐�D$�������tP��ukH�Infinity�D$8L�D$0H�D$0L��Ƅ$��R���]���DH�=��<���G����H�-Infinit�yL�D$0H�D$0f�|$8��D$�%<����uY�d$f/%��va���f/�vS�D,�f��A*�f.�z?u=E���,�D$00L�D$0I�@��L���fD�D$0NaNL�D$0�4���fD�D$fTb�f/"��H�
�f/��6f��A�f/���H�\$�D$�L����H�߸�����|$ uIf��t$@�t$@����H��f.�H���J�
��u��@�� t�f�H�H�H���	fDH���r�H�J�@��0t�@��.HE�1�D�4@�4H��@��u�H�ڋ
H����������!�%����t�L�D$0�����L��D�H�JHDѹd��@�H��H��H)ڃ���$��I���������\���H�\$H����j�D$�H��A�L�������Y^HcЀ|e����H��DH���:e�������u������#���,���~A�A)��X���A�A)��J���H�\$L�t��1���H���3���L$L�D$0L���������H���H��b"H��H���H��
H��L)Ƅ�u�H��b�{����@������C����H���C��H��tH���f�H�=q�	H��������AWAVAUATUSH��H�����H�|$����H���H��1��	��H�D$H�����]����9��I�Ņ�~zD�s�1��"f.�H�Y-L���H�CL9�tSH��E1�9]~H�EL�$�L���P��L��H��I���R��H��u�L��L��L���/@��H�|$L���B����y�fDH�5�-L�����H�D$H��[]A\A]A^A_�DH�D$��D��H��t'���t!H�tSH���q��H��[����H���ff.����H��t���tH�WH��t��H�:�{��H�=�	�l��@SH�����H�S[H�:�R��f�H��teATUH��S�>	H��wD�H���Hc�H�>��f��,��L� �#-����
H�F�H�5ϿH�81�A��H��H���
�[H��]A\���[H��]A\��H�~���I��H��H�����M��t�[L��H��]A\�U�D�~�:��I�����F���I��뽐��H���������G(9GP��AWAVAUATUSH��H���5��I��H���T������H�{L������H��H��tjH�p H�CH�8���H�{H�����H��H������H�{H��H��[]A\A]A^A_��f���fA��fD��VA��fDH��[]A\A]A^A_Ð1����I��I�EH��tb���~\1�DH�@H�<��s��I��H�CL��H�8�q��L��I��H����	��L��I���.��M��tH�-L��I�EH��9(�H�{L���?�H�{L���3��H��H��H��[]A\A]A^A_����f.���H��H�߾
[]A\A]A^A_�m@��ff.�f���H��tGSH����tG��u*�G(9GP}b�
4��H��thH�{H���<���H��[H���p���[�@��D��H�GH�x�[��H�{H����H��[H���3���[��?��DH�߾
[��?��f���USH��H����uoH��tZH�GH��tQH�xH�������H��H�����f�H�{�*���H��H�����H���,H��H�H��[]��H��[]�f�H��t����G(9GP��H�G H��te�8uHH����2��H�x H�����f�H�{�*��#�H��H���8��H�{H��H��[]�V�fD��&��H�C H��t�8t��H��H��[]�>��DH��H�߾[]�>��DH��f���H��H��H��[]����뮐��H������AUATA��UH��SH��H�G H��t�8t
����H����1��I��H���~�8uyA��DH�E H��t�8t
�H���E��H���1��H��H��te�8u`I�u H�x �S9��I�U H�}H��H�S I�E �+�A��u�H��L��H��[]A\A]����H�}H��L��[]A\A]��f.�H�}H�����H�}L�����H��H��[]A\A]�A=�������.=��ff.���H���������GP��;G(��ATUSH�G H��H��ts�8uVH���0��I��H�C H��t	�8��H���0��H��H��t	�8��H�{H���$�H�{L�����fD�����H�C H��t�8t�H�߾[]A\�g<�����V<��fD��F<��fD���H������]���fDH�x I�t$ ��4��H�{H��t9���H��H���D��H�{H���h�H�{L��[]A\�X��1�����H��H�������ff.����H���������GP��;G(��ATUSH�G H��H��ts�8uVH���>/��I��H�C H��t	�8��H���!/��H��H��t	�8��H�{H����H�{L�����fD��v��H�C H��t�8t�H�߾[]A\�:������:��fD���:��fD���H������]���fDI�|$ ���H�} I�t$ ���f5��H�{��t.1����H��H������H�{H�����H�{L��[]A\�����v��H��H�������f���H���3�����GP��;G(�AUATUSH��H��H�G H��t	�8��H����-��I��H�C H��t	�8��H���-��I���4��H��H��tLI�u I�|$ �2��H��tI�t$ H��H)���
��H���z7��H�{H���~��H��H������H������H�{L�����H�{H��L��[]A\A]���f���F9��fD�H������O���fD��~������f���9��fD�ff.�@��H���C�����GP��;G(�AVAUATUSH�G H��H��t	�8��H���v,��I��H�C H��t	�8��H���Y,��H���13��I��H��tiI�u H�} �<1��H��t0I�} H+E I���G��H�} A��;��Ic�L��Hu D)���7	��L���6��H�{H�����H��H���h��L�����H�{H����H�{L��[]A\A]A^�p����7��fD�H���3���=���fD��������f���7��fD�ff.�@��H���SSH����t��t2�[�k7��H�GH�x���H�{H���_��H��H������C(9CP��H�C H�����8��H�H H������� ��H�&H��@H����H����� v�H�&1��/@H�Q��t
H�q� H��H���0H��@�1H���1���t�� w�H��s�H������u��[�D�H������H�C H��t	�8�?���H�߾[�S6��H�߾[�B6��f�H���V����Ä�t��D���fD��H���C�����GP��;G(�AWAVAUATUH��SH��(H�G H��t	�8��H���)��I��H�E H��t	�8��H���)��I��H�E H��t	�8�~H���f)��H��H�D$�90��I��H����I� �t���L�s �D$�f.�9D$��I����x;A���tuI�|$ L���)����y�L����8
��L��L��I���������yʼn؃�<�u��
fD�y�I��A�F���<�t����H��O��H�5طH�81���L���2��H�}H�����H��H�����L���J���H�}H�t$��H�}L����H�}H��(L��[]A\A]A^A_��fDI� �����H�������H��H�D$�Z��L�D$L���L���8��������&4��fD�H���s���p���fD�H���[���;���fD��F���	�������3��fD�ff.�@��H���;����G(9GP�AVAUATUSH�G H��H�����8��H���E'��L�p I��H�CH�x����I��H����M����A�.@������H�1��H��A�,@����A�L��9�t�1�H�G�,L��H�{L���v�H�{�����H��[]H��A\A]A^�(
�����&��H�C H��t	�8�7���H�߾[]A\A]A^�2�����2��fD��~2��fD��1�M���c����R���L����@��<-��	�@���6���@��H��t�?	���H�-�Hc�H�>��H�=�	�l���@S����H��j����H���H�5�H�81���H�=��	[�3���H��������x*����G���fDH� ����1��ff.�f���ATUH��S�@%��H��t;H��H���`
��I��H9C tH�}H������L��[]A\�H�C ��fD�
��H��E1�H�5������H��t��E
�fD��H����USH��H���?	w<�H��Hc�H�>��f����H�(�3����H�V�H�5߭H�81���H�����H��H�=n�	[]�?����H��H��[]�fDH����H��H���d��H��t�H��H��[]�a�����)��H�����G���H���ŐH�=�	����@��f��u�� �����H���D$�m$���L$f�f.���Eх���H��	ƒ����f���H��tH���	������H����Ð1��ff.�f���H��t�1������D1��D��H��t�?	w�H���Hc�H�>���1��DH� �g#���S���H������H���H�5>�H�81���1�[�@H�������G�@�G���ff.���ATUH��S�"��H��t3�8H��uD�`H�}H���#��D��[]A\�H�����A�����
�}H��E1�H�5����H��t��E
�ff.���AWAVAUATUSH��(dH�%(H�D$1�H����H������GP��;G(�����A��H�C H��t	�8�H���!��I���(���D$%H���D$H��trM�} A���tfI����@H�t$H�t$fD�ƒ�߃�A��v#�H�L��H�����?�C�<~t�����L��H���h���I��A���u�H���4+��H�{H���8��H��H�����H�����H�{L�����H�D$dH3%(��H��([]A\A]A^A_�fD��,����@���,���@�H���3	������<%t]E�����P܀�����	�H���.������P0�T$A�H��H�t$���H0�P7<	��Gº�D$�r�������A�O�ʃ�߃�A��v��0��	w�A�W�у�߃�A��������0��	��������P7<	w�����ff.���H������uf�G(9GP}nAUATUSH��H�����H��H��tl�8t'L�cH�������L������H��L��I���3��L��H��H��H��[]A\A]������+��fD��~+��fD��H��H�߾
[]A\A]�Y+��f���H������u^�G(9GP}fSH�G H��H��t1�8u�H1҅��‰P[�D��V��H�C H��t�8t�H�߾[��*��f.����*��fD���*��fD�ff.�@��H��t7UH��SH���?tH��������
-��H��H�����H��H��[]�D��,��ff.���H��tOSH��H��XH��t��t��H������H����	��H���*�H������H�W�,H��[H���fD����H��,ATI���XUH��S�H��H��t\f�H�@P@L�`L� H�h@ @0@@�{��H�C8H��t?H��tH��HH��t	H�x �-��H��[]A\�DH�5ƦH���w�����H�-��,H�{0�UH��1�U����UH��SH��H�G0H�����W(��~;1�����H��H�E09](~"H�}H�4�H��u�H��H���
��H�E09](�H�-�,H��H�}8H��t"H�G(H��tH������H�}8H�G(�
��H�H��H��[]���H���,�ff.�@��H����H�WH����H�����N����H�F8H��t�xuMH��H�@8H��u>H�F(H��t,H�
H9A��H�rH��t�~t�xt
H�H@H;N@t�DH��H�P H��u��H9�t#H9�u�|@H9�tH�v(H��u��f�H��H�F8�|���@H�r�F��t$���J���H�H��t��xu.1��f.�H�F(H���u����HH��������H���������H��t'H�GH��tSH�0H��H���߷��H��[H������ff.�@��H����H�H������ʃ�߃�A��v	��_��H��USH�XH��f.���ʃ�߃�A��vF�QӀ�2v8�� ��=wFH��D(H��s6H��H)ƅ�t#H��H�����H�]H��[]�H��s�H����H��1�[]�H��1�[]���1����1��UH��SH��H��H���	��H��tH��::tH��[]�@H�EH��8tH��H�H��H��[]�	��ff.�@��H����H�H������ʃ�߃�A��v��_@�ƀ�:��@�tiH��?USH�XH�����ʃ�߃�A��v>�QӀ�2v0��~DH��H��H)�H��P�wBH�����H�]H��[]��H��s�H��묾���ÐH���[]�Љ��H���#%��H��1�[]�1�����H�����< w!H�&f�H���NH���< v�PЀ�	v�PӀ��/U1�SH��<-����PЀ�	�=f��f������	fDH���Y�f��H�_��0�*��G�P��Xр�	v�<.���ƒ�߀�EtH1�1�< w%H�&fDH����H���< v�H���,�H��[]�f��C<-�x<+��H��1��H�1Ҁ�	w�@��?B���TP�H����HЀ�	v��q���DH��������u���tfW���f���$����؅�E��*��?����$H��[]�Y���H���H��<0�9�)���H���<0t�r�HЀ�	v�.D9�}%��0f��H�����Y��*���H��Xـ�	v�f���\$�*��$����\$��$�^؍P��XӀ�	�c���DH����PЀ�	v�ƒ�߀�E�K������fDH�	�,���C�H�����f.�f��<.u>�G��0<	�-���H��f��f���d�������C1�H���3���H��f������1��������������H��tWSH���M�H��H��t-H�����H��,H���D$��D$H��[��H�)�,�H��[��H��,��@AWAVAUATUSH��8H�T$ H�L$H������$����xH�D$H���`��$����OH�D$ L�xL�|$M���8E�E���,H�D$H�hH���HcE���A��H�<�A��H�	�,�H��H����D��A�H�$E1�D	�D$,��%�f.�H�T$H�$H�$9��H�D$H�4$H�@H�<�����D$�����uŋUE1���Q�>fD�B�������u)E����E������ty��tu1��B�f/D$����u~I��D9}��E��u�H�EJ�<�����B��H�=g���m��@H�|$ ����H�|$����H��81�[]A\A]A^A_�E��uS��tO1��B�f/D$����t�H���,�$H��H�|$ ���H�|$����$H��8[]A\A]A^A_�DE��u��t1��\$fB/����%�����D$,������1��d$fB/$�������fDA��m���D1��g������H������u.�G(9GP}6H�G H��t
����t3�����f������fD����fDATUSH��H���p��I��H�@H��t|���~v1�f���H�@�L$H�<�H����	���L$I�D$�X�9(�H�{f(��y���H��H�����H�{H��L��[]A\���f.���f���f���H��t7SH���M�H��H�����H�+�,H���D$��D$H��[�@H�A�,��@��H��t�?	���H�%�Hc�H�>��H�	�,��@S�R��H������BH�
�H�5��H�81���H���,[��H������X����G�f.�H� �����f��ff.���UH��SH�����H��tA�8H��u)�@H�}H���D$�J���D$H��[]�DH��������fD�
��H�56�H���?��f�H��t��E
f��f���H��t7UH��SH���?tH���q����L��H��H���A���H��H��[]��f��'�����H����AUATUSH��H����tj�����G(9GP�����L�cH��H�����8t!H�����L����H��L��I���5��L��H��H��H��[]A\A]���DH�GH�xH��t[����H��H���k��H�{袽��H��H����H���,H��H�H��[]A\A]��fD�H��H��[]A\A]�1���f�H���T���H���m���@�����f�f�L���$���H���:���ff.��AWAVAUATUSH��(H���Q�E1�����*L�~M���A������A���D$I����1ۉD$�l��D$t#�d$�L$�f.���E„����T$�\$�f.���E„�tA����DH��A9��I�GH�<��n��H��H��t�I�|$H�����L��H���>�H�'�,H���L�����L���
��I�|$�HH���L$�5���D$�*�����"���E��EE�H��A9�s���H��(D��[]A\A]A^A_�@E1���A����AUATI��UH��SH��H�������vH����������L�(�����H�8H���H�5:�1�A��E1��fD��������������u��uh���L�(�3���a�@���t/�����H������H�����H���U��I���C���A���-DE1�H�}H������H�}L������H��D��[]A\A]����u�E1�B9FA���@����v+������u�����L�(�h��������fD���w���H�V 1�H��t1��:��E1�A9D$A���V������G����z��L�(������|�����������FD�j��A9�A��E������f�H�R 1�H��t1��:��E1�9CA������fDH�r H�{ ���A������BD�n�2�A9�A��E�����f��K��H�����H���
���@H���Y��A���f����AD$�B�����U����C�P������C�=��AD$������(������AD$���C�����E1�fA.D$�A��DE����f��AD$�
���������C�����tK�C���AD$���tP����tZ�AD$���C���t01�fA.D$��DD��m����AD$E1��c���A���R����R�E1��A���>����CE1��6���A���%���f.���H����H���AUATUSH��H���&	��H��I���	��H��H��t{M��tvI9���A�$�U�Ɖу���t��t*H��L��H��H��[]A\A]���f���t��H��L��I�ԃ�	�'H���Hc�H�>��fD1��DH�{H��t'H���7���
H�����1�H��[]A\A]�DL�������fDI�t$ 1�H���	m��H�{H��D$���H�{L�������D$H��[]A\A]�fD�AD$1�H��H���T����f����L�(����?H���H�5?�H�81�A��1��@1�L��H���sh���u���fDH�U1�H��t	�1�����A9D$�����K���@1��@���f�L���������ff.���AUE1�ATUSH��H��tjH�tcH���;��H��I���0��H��H����M����I9���A�$�U�Ɖу���t,��t7L��H��H��E1������A��H��D��[]A\A]�f���t��H��L��I�ԃ�	�7H���Hc�H�>��fDI�t$ �H���Nk��A��H�{H���,���H�{L��� ���H��D��[]A\A]�f�H�{H��t'H�����H�߾
E1��o��H��D��[]A\A]ÐL���ؿ����fD����L�(�����H�֊H�5_�H�81�A��E1��h����L��H���f��A���P����H�U1�H��t	�1�����E1�A9D$A���#����AD$�H��H�����A������f�E1����M��tKH��tF����u<AWAVA��AUA��ATM��USH��H��A�8	H�$��A�H�R�Hc�H�>��1��DH�4$��H�߾���L��H���w�H��D��D��H��[]A\A]A^A_�K���H�$H��D��D��[L��]A\A]A^A_�X�����E�4$L�(�?���D��H�5��H�81�A��H�{H�4$�0���H�{L���$���H�߾���H��1�[]A\A]A^A_�fDH�$H�hH�����E��~zE1�DH�EJ�<����H��tVH�{H��H�D$�-���H��H����H�T$H�f�,H��H�{L���U���H��H���Z�D��D��H���<�����uI��D9}�1�H�{H�4$�D$�[���H�{L���O����D$H��[]A\A]A^A_�@H�$H�hH��t��U��~�E1��H�EJ�<�����H��tgH�{H��H�D$�m���H��H�����H�T$H���,H���H�����H�{L��船��H��H����D��D��H���o������;���I��D9}�y����&���@��H����H���AWAVA��AUATA��USH��H�����H��I�����H��H����M����A�U��щƃ�������������H��H������H�����H���A���8H����H���]�L���U�D�
H���C��1�H��[]A\A]A^A_�f�1��DH�{H����H��蓻���M��H��D��D��H��H��[]A\A]A^A_�N���fD���/1�E��I��L��@��D����A�U��tOL��H�����H����
��H���o���8I��t'H�{H������H�{L������*���f.��E������t*1�H�{H��D$�к��H�{L���ĺ���D$����AE�����u��E���AEA����E������E������tn��tjA���u
����u���u�A���w���A	��l���1��AEf/E���Y���f�H��L��H��D��[D��]A\A]A^A_��E��u-��t)A���tr��tmA	�����1��AEf/E�����E��uT��tPA��u���������u�A�������A	�����1��EfA/E���������E	������A��t��t�A	������1��EfA/E���t���@��H��tgH�t`SH�G H��H��t;�8u�@fW��@[�f.�����H�C H��t�8t�H�߾[�j��f.��ff.�@��USH��H�������
H��tdH��H���I�H�{H���D$藸��H�C H��t9�8u�D$�X@�@H��[]�f��H�����H�C H��t�8t̾H��H��[]��
��f���USH��H���~����
H��tdH��H����H�{H���D$����H�C H��t9�8u�@�\D$�@H��[]�f��H�����H�C H��t�8t̾H��H��[]�2
��f���USH��H������
H��tdH��H���)�H�{H���D$�w���H�C H��t9�8u�D$�Y@�@H��[]�f��H������H�C H��t�8t̾H��H��[]�	��f���USH��H���^����
H��tdH��H����H�{H���D$���H�C H��t9�8u�@�^D$�@H��[]�f��H���c��H�C H��t�8t̾H��H��[]�	��f���USH��H�������
H��t}H��H���	�H�{H���D$�W���H�k H��tR�}u0�T$f.��zXuVH�'�,��EH��[]���H�����H�k H��t�}t��H��H��[]�i��f��L$�E���EH��[]�@���F����xATf�U��SH��H��H�G �4$���uH�����8��H������H�{�xH���|$�\���H�C H���Y�8��H���������t$I��f/������f/����~
ɍf(��,�f(��=��fT�f(�f.�v+�H,�f��fU��H*�f(����fT��\�f(�fV��d$�5^��\�f/��y�����d����9��)p�I�|$ ��H�{H��H���٬��H��H���.��H��,H��H�{H��L��[]A\�>���fDH��t����f���H��t�8tN����H�C H��t�8t6H��H�߾[]A\�a����H�����H�C H��tԃ8u��E���H������H�{�XH���$袳��H�C ����f��H���c�H�C H��t��8�{����&���@H�{�߭��H��H���$�������u��ڋ�=������~
��5Ջ�DT$f(�fA(�fA(�fT�f.�v-�I,�f��fAU��H*�f(��A��fT��\�f(�fV��d$�\�f/����D$fA(�fA(�fT�f.�v-�I,�f��fAU��H*�f(��A��fT��\�f(�fV�f(��$$�\�f/�r�X��X��f/�����f/�������,������t(1���������X��b�������������������=���~
���5������f���H���������G(9GP��SH�G H��H���}�8u`�H�k��K�f(�fT�f.�v3�H,�f��%�fU��H*�f(����f(�fT��\�fV��H[�����H�C H��t�8t�H�߾[���f�����fD����fD�ff.�@��H���������G(9GP��SH�G H��H���}�8u`�H�{��[�f(�fT�f.�v3�H,�f�f(��%(�fU�f(��H*����fT��X�fV��H[�����H�C H��t�8t�H�߾[����f�����fD����fD�ff.�@��H��������G(9GP��SH�G H��H�����8���@f/��%o�r
f/����k�f(��-G�f(�fT�f.�v3�H,�f���-�fU��H*�f(����fT��\�f(�fV��\�f/�r�X
��H[�D����H�C H��t	�8�P���H�߾[���fD����fD��v��fD���YP��@[�f���1�H��teSH�5z�H��������t�[�f.�H�5�$H�������u�H�5��H�������u�H��H�5V~�{���[������Ð�ff.�@AW�H�&AVAUATUSH��H��8H�/dH�%(H�D$(1��}H��H��H�Ѓ�@�� G„�u
��t�H��H�+��@��9���A�<�O�1@H���@��/�H��E1�E1��	jjj�����H�߉��RO��H�3H�� H�&��H��H��H�Ѓ��� G„��O
���t�H��H�3��H���H���OH�&�H��H��H�Ѓ��� G„�u���t�H��H�+�M�Ҁ�$����(�"�A�<	�M��.����'�-��"�$H�t$ H������I��H���&H��H�&�
H��H��H�Ѓ��� GƄ��*���t�H��H���H��H�t$ H��H�+���H��H����H�C8H�������E1�E1����H���@�����t$(Uj��M��H�� �����H�+�H�&�MH��H��H�Ѓ��� G„��KfD��t�H��H�+��H���H�&H�+�MH��H��H�Ѓ��� G„�u��t�H��H�+��H�߾�V�{����H�+�})�cH���H�&H�+�MH��H��H�Ѓ��� G„��jf.���t�H��H�+��H�5�,D���$�������
A��$���=�Q��
A��0��
A��$�������
�H���N���H�D$(dH3%(�C
H��8[]A\A]A^A_�H�}��"H�;H���P�<��<
@��	�p�@��@��	��f���������<'u�H)����2���H��H��8��H���qH�{H��螢��I��H����H�C8H��E1ɹA������H�ߋpjATj�K��H�� ����!H���,H��H�+�{�MH���H�&H��H��H�Ѓ��� G„�����t�H�+H���M���H�&�H��H��H�Ѓ��� G„���fD��t�H��H�+�M��H��H��<��<
@��	�p�@��@��	��
f���ǘ��{<"u����H�߾�~����{���%���H�3�I�&�L�‰�H��H�҃�< Gׄ�u���t�H��H�3��H�&<[uE�H���HH�3��H��H��H�҃�< Gׄ�u�fD��t�H��H�3���S�������</��H���I�&L�‰�H��H�҃�< Gׄ��Q������t�H�3H���F����E��0<	�)����{������H�U�H��E�HЀ�	�E
H���I���H�+�{�M����~/��H���8!H�3��P����{������f��f���%"��H���Y�f�H�E��0�*�H��M�Q��XЀ�	v׀�.����߀�Eu}H�PH��H��-��H�P�H��H�A�<	��H�B1Ґ��?B���TQ�H��H���q�@��	vޅ�t��f���*�f(��$����$�Y�H�{f(��l���H��H����H�C8H��E1ɹA������H�ߋpjUj�5H��H�� ��������H�{H���l���H�+�{�M�����(��H���H�&H��
H��H��H�Ѓ��� GƄ������t�H��H���H���H�&H�3�H��H��H�Ѓ��� G„�u@��t�H��H�3��H�C8H���
H��A�A�������pjjj�TG��H�� ���H�CH��t��Pt�H���������{�M���H�-$�,L��UH�|$ �U�H�������{���H�|$ A��H�C8A�����E1�H�&�@�����
��)�����	�@����D��H����K����H�C8H��E1�E1��D��H��A���Pjjj�`F��H�H�� �<)��<,�+���H���H��
H��H��H�Ѓ��� GƄ�u���t�H��H���H�C8D�x�V���H��H������C�U���L�%��,H�|$ A�$H��A�$����A�}c���H�5tL��E1���H���A������H�C8D�xH��E1�E��
�t$(�����D��H��AUj�xE��H�� ���uH�-x�,H�|$ �UL��UH�+�M��tH�EH��MH��H�&�H��H��H�Ѓ��� G„������t�H��H�+�M�̀�+uH�PH��H�A�1�<	����f���I���f���/�g����~/A�I�&H�����!��H��L��H�3���H��H�҃�< AGԄ�ufD��t��҄��m����P��Hր��€�5wH��H��H����	ʄ�tH���H�3��{���1���</�)����~/u�H��H�3�L��H��H�Ѓ��� AGĄ�u���t�H��H�3��H�C8H���
H��A�A�������pjjj�C��H�� H���H�3��l���@��.���E��0<	�����H�+�C��M���H��E1�E1��jjj���H��H���������H�UH��@�)�<0���H��H��<0t�y�p�f��@��	v�/f�9�})��0f�H�����Y��*�H���p��X�@��	v�f��f(��$$�*��l$�T$�\$�;���l$H��T$�$$�^���QЀ�	�X������H�PH��
H��H���q�@��	v��c���H�j�,H�|$ ��H��������L�l$ H��L���V��A�ă�>wH��@L�������A����5���D���߃�A��v'A��$@�����vA��$(�����v
A����~I��@A�����D���߃�A��v'A��$@�����vA��$(�����v
A�����HcD$ HL��H���TU��A�ă�>w�I��s�H�3H��H)�舶��H�+I��H�����H��H�5�o���L��H���H�7�,�H����H�5[�,D���k���u�A��$���=�Q�m���A��0�`���A��$������O���H�5�,D���'����8���H�5��,D�������!���H�51�,D�������
����&���@A�D$Ѓ�	��A�D$Ӄ����A��:����A��_����A����������fDH�I�,H�|$ ��H�����������H�3Hc��.��t&��/t!�� vQ��(u~L���v������H��(��ucH��,L��H���M�H�-կ,L��UH�|$ �U�9���H�&H��s"��Hc��.��t���/t��� w�H��H��r�L���J���H�{L��輝�����H��1���D���A��_�x���A��:�n�����f��f���%v���r���H�H�(�,�<*H��/���L���H�+�M��f.�AV�AUATI��USH�H�&�
H��H��H�Ѓ��� GƄ�uf.���t�H��I�$��1�1�A��H�&��-uBH��D���I�$)؉��
H��H��H�Ѓ��� GƄ�u����t�H��I�$��L���:�A�T$����I�$�H�&�
H��H��H�Ѓ��� GƄ�u^���t�H��I�$��A�D$��u=��t9I�D$8�p���3H��E1�A�jjj������L���=��H�� []A\A]A^�I�&��|u�I�D$8H��E1�E1�������	L��D�pj��jj�g=��I�$H�� �
��tH�BI�$�JH��H���L��H��H�Ѓ��� GƄ�uf.���t�I�$H���J���L����I�D$8D��E1�H��E1��L��Pjjj��<��I�$H�� ��
L��H��H�Ѓ��� GƄ�����@��t�H��I�$��H��E1�A�jjj����f.�AU�ATUSH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u���t�H��H���H�&��*����d����m���zo���zd��H�C8H��A�D�`H���
H��H��H�Ѓ��� GƄ�u���t�H��H���H������C��u~H�C8H��D��E1�E��H�ߋPjjj�};��H�H�� ��
H��H��H�Ѓ��� GƄ��+���@��t�H��H���H�C8H��E1�D�`H��G����zitH��[]A\A]Àzvu�H�C8H��A�D�`H�����ff.�AUI��ATUSH�����A�u��uVL���N���A�M��uFI�U�H�&�
H��H��H�Ѓ��� GƄ�u%f.���t�H��I�U��f�H��[]A\A]�H�&�Aը�u�I�E8�h��+��E1����H���H��H��H�Ѓ��� GƄ�uf.���t�I�UH���J���L������A�U���z���L���r���A�E���f���I�E8H����E1�E��L��Pjjj�9��I�UH�� ��
H��H��H�Ѓ��� GƄ��+���fD��t�H��I�U��A�H�BI�E�JH�������AV�AUATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�uf.���t�H��H���H�&��<A�ă��<��H�C8�z=E��A�D�hH�BH��J��H�P�H��H��H�Ѓ��� GƄ�u��t�H�H���J���H������C��uxH�C8H��D��E��E��H�ߋPjjj�i8��H�H�� ��
H��H��H�Ѓ��� GƄ��7�����t�H��H���E1����Y���H�BH��J�I���[]A\A]A^�ff.�@AU�I��ATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�u���t�H��I�U��H�&��=����!��z=�I�E8�hH�BI�E�J��tH�BI�E�JE1�H�P�H��H��H�Ѓ��� GƄ�u���t�I�UH���J���L���6���A�U����L�����A�E����I�E8H����E1�E��L��Pjjj��6��I�UH�� ��
H��H��H�Ѓ��� GƄ�����fD��t�H��I�U��I�E8A��hH�BI�E�J����@H��[]A\A]�DSH���w����S��uH������C��u	H��[�H���[�fDAT�I��USH�H�&�H��H��H�҃��� Gք�ufD��t�H��I�$��H�&��a���xn���xd��I�T$8H����jI�$�H��H��H�҃��� Gք�uD��t�H��I�$��L�����A�L$����L������A�T$��u|L���d���A�D$��ukI�D$8H����E1�E1��L��Pjjj�45��I�$H�� ��H��H��H�҃��� Gք�����f.���t�H��I�$��f�[]A\�ff.�AVAUATUSH�oH��t��p=�����
��pI��A���:���E�NE����L���U���E�FE����I��H�&�H��H��H�҃��� Gք�uuD��t�H��I���E��tII�V8HcJH��H��H)�H�JH���8t&H��E1�E1��j�����L��jj�4��H�� H��t��p
[]A\A]A^�H�&��ou��xru�I�V8�D�jH�PI��
H��H��H�Ѓ��� GƄ�ufD��t�H��I���L������A�~��u�L���;���A�v��u�I�F8H��D��E1�E1��L���Pjjj�L3��I�H�� ��H��H��H�҃��� Gք��E�����t�H��I���[�]A\A]A^����I�&ATA��UH��SH�w8H���^�
L��H��H�Ѓ��� GDŽ�u@��t�H��H�U�Հ�[�)H���I�&H�U�
L��H��H�Ѓ��� GDŽ�uf���t�H��H�U���F����E�����H���e����E����H�E�8]��H�E8�PE����H��E1�E1��j��H��jj�1��H�� H�U�
��tH�BH�E�JH��H���H�&H��H��H�Ѓ��� GƄ�u.���t�H�UH���J���1�H������E���O���[]A\�@[H��]A\�?�H��E1�E1��j��H��jj�P1��H�� �M����AW�AVI��AUATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��I��ր�.����*uZA�1�A�n���I��H�&�H��A��H��H�փ��� DF�E����D��t�H��I���L������H��H�������a<��H�RW��Hc�H�>��z.�7H���H�&I��
H��H��H�Ѓ��� GƄ�uD@��t�H��I���I�F8H���
L��A�A�
������pjjj��/��H�� H��[]A\A]A^A_�H�ҟ,H�H��H��[]A\A]A^A_��H������!�I�&AC�L��H��H�҃��� Gׄ�u���t�H��I���Ӏ�(����:u	@���q�D$E1�I�V8�H�&D�z�B�����H��H��H�҃��� Gք�����t�H��I���I��8@����H��A�I������*��L���4��H��H���oH�&I�H���H��H�փ����������gA�����������[uD1�L���f���I��8[t�I�F8�PH��E��
D��SL��AUUD�L$,�7.��H�� ����R���H�-3�,L��UH�E�U���H���H�&I��
H��H��H�Ѓ��� GƄ��������t�H��I���H��H�5F�H�߽I�������
I��H�&�H��H��H�҃��� Gք������t�H��I���H�5�[H������������A�
I��H�&�
H��H��H�Ѓ��� GƄ������t�H��I���H�5�[H���d��H�5�[H�߃�E��O��A��H�5�[H��A��
���v�1��A����m���A��b���H�5/�H���	��������A�	�@���H�5#[H������H�5[H�߅��0����A�������A�����H�5�ZH�����H�5�ZH�߅���������A�������A�����H�5gZH���i��H�5aZH�߉��X��H�5R�	H�߅����A��A����}���A��r���H�51ZH��A�����������P���H�5��H��1����������H�5�YH�߽�����������H�5��H�߽����������H�^�,H��H��L���[]A\A]A^A_�����:������z:�����H�$�,H��H��1�I���$����D$������)�aH��E1�I����H�PI��x*��L���/����D$I��H���'I�~H��t3��PuI��I�1�L���K���H���q��H��u
�L���?��I��I�L���#���H�j�,H��I����)�f��"�u��'��H��I�H���
��@�ƀ�
@��	��y�@��@��	������$@���}��'u�H)�H�lj��
���H��I��8tH��I�H���]I��H�&�H��H��H�҃��� Gք�����t�H��I���H���,H��E1�1��L���8��I��"�������������E������������������������������S���E1��A����H���D$E1�I��Y����D$����H��E1��D$I�����1����H��I����H��I�H���2@��
��@��@��	��~�@��@��	��@��ud��t@��"u�����L���G�������L���5���L���E1�� ��1�I��D$�����L�������H��I��e���U�SH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H��ր�/�OH������C��u@H��H�&�
H��H��H�Ѓ��� GƄ�u���t�H��H���H��[]�H�&��/u�z/��H���H��
H��H��H�Ѓ��� GƄ�uFfD��t�H��H���H�C8H���
H��A�A�������pjjj�&��H�� H�����H���
H��H��H�Ѓ��� GƄ��Y�����t�H��H���H���H��
H��H��H�Ѓ��� GƄ��g���f���t�H��H��Ԁz/tJH���H�&H��
H��H��H�Ѓ��� GƄ��x���f.���t�H��H���H���H�&H��
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�C8H���
H��A�A�������pjjj��%��H�� ���ff.���H��t'H��t"S�>	���H��LHc�H�>��D1��DH�~ 1�H��t
�(���������[�fDH�FH��tg�[��������F[�f�1��[�*Glf.F��E��賿��H��K�����6H�nNH�5�SH�81���1�[�D1�[�@��H��t'H��t"�>	w}�H�(LHc�H�>��f.�1��DH�V 1�H��t}1��:���@H�FH��t׋�������@�F�@H�Gf��*@l1�f.F��E��S���H�肿����6H��MH�5SH�81���1�[�@�ff.�@��ATA��UH��SH��H��H�CH��`uM�U��
��v_������uaHcE���t@H��H�K8H)�H��H�QH�,�H�CH��`t��H���s>����y��1��
@1���u
H��[]A\ÐH��H���%�C����H������H��H�����8��E����H��H���Y���H�{H��D$�i����D$H��[]A\�@H�}E��uoH��[]A\���f�HcE����[���H�K8H��H��H)�H��H�QH�4���K��u 1�A�1�H��H����S���@������������H��H��H��[]A\魢��D�E�G���H���X����:���H���WAWAVI��AUATUSH��X�����9��L�Hc�H���L$HH�K81�M��D�L$LI�WI�hM��D�D$(H�I�D$H�T$8I�A�GhI��H�T$@H��H)�H�|$0H���D$,H�T$ �iD�D$�L$H9��h�T$(9��\�t$,�D$9�tI�EH�|$Hc�H�,�H�8�D$,�D$�t$(9������D$A�EI��D�|$D�|$D9��QJ��E�gH�D$I�EJ�,�E�fl�}I�ntH�E@H��tI�H�t$ �H�����S���Y���a�+���I�EH�L$�}H��l���H�������_����D$,A�A�F��
~:�L$,�9�~0��
�
H���,I�~M�Hc�H���H���I�FA�nH�D$8I�GH�D$@I�H�D$0I�GhH��X[]A\A]A^A_�DI�EH�L$�}H������H���u��������~�H��XL��D��1�[]A\A]A^A_�T�����E��M��M��D$L���#���E;&����Ic�H����A��H��E9&�����I�FH�<(H��t�u������DM��D�d$M����H��M��D�d$M���H���fDM��M���v���H�5JNH���6�������AWE��AVE��AUI��ATUH��SH��H��D�d$@���tuH�W8Hc�H��H�RH)�H�ƒ8��H�O��p�����H����A���p�pH�PH��ATD�M�x���H�C�K��pXZ��u	A�U���uH��[]A\A]A^A_�@H��E��E��D��H��H��[]A\A]A^A_����fD����H�(裹��H�5�RH�81��վ
H��H��[]A\A]A^A_�
��f.����f�AWAVI��AUATUSH��H�G D�D$H��t�8t)�L��1����H�Ĩ��[]A\A]A^A_�fD�FL�~H��I��I�͋^�D$@�FL�|$X�D$DH�F H�D$PH�GH�D$�6��H�D$ M��t<H�|$L���o��H�D$pH����D$@��
�,H�
�D��Hc�H�>��H�D$p��DH��O��E1�H��$�H�O�,H�D$f�H�D$ H�@H�D$0H���!H�D$0����HcE�����I�V8H�JH��H)�H�ыH�T$x�D$(����w&HcB���tH��H)�H��H��t	�8��
DŽ$�1��D$lDŽ$�H�D$H"D$1툄$�H�D$H�D$(H�D$8H�@H�D$`A�F�D$h���H�D$0H�T$HH�|$(H�@H��H�T$H�B�DŽ$�E1�L��M��I��I�GH��`��L��L��H�D$��I��H����M��tI�<$H��tH9���@����M��tI�uH��tL9���@���V����wVH�
CC��Hc�H�>������L�L��$�蛶���<0H��DH�5GIH�8L��$�1�A���A�G���+���M������f.�A�~u�H�|$PtI�vH�|$P�S����t���D$l�����D$h�D$h;�$�u�L��H�|$(M��L��I���������MH�|$8H���h	H�t$(H��$���H�D$8D�|$E���[���@H�T$0H�D$HH�D$H9�������.@��M��H�(舵����/H��CH�5IH�81���H�D$ �P��t,H�t$ H�F(H��tI�V �BH�B(H�F(�FH�t$ H�|$�7x��H�|$8�SH�D$(H��tH9D$8tH���R���L�|$H�t$8L���b��L��H���š��H�D$`I���I�GH�������H���,�ILJ�����|$@A�F�	�|$@	�v������I�vH�|$P���������H�|$XI�FH��H�����H�pH�|$p�p�������������T$DA�N���@��������H�ਫ਼#����������|$@	���D$l����D$h�D$h;�$������D$l��$��\���@�|$@A�F�i�|$@	�v���5���H�|$X�q���I�FHH���.��������H����E1�E1�H��$�H��,H�D$���f.�H��J��E1�H��$�H��,H�D$����DH�q��E1�E1�H��$�H��,H�D$���f�H�yJ��E1�H��$�H��,H�D$�}���DH�QJ��E1�H��$�H��,H�D$�U���DH�)J��E1�H��$�H���,H�D$�-���DH�J��E1�H��$�H���,H�D$����DH�����C�E1��H��$�D$DH�}��H�T$����H���,H�D$����H�i��E1�E1�H��$�H�ć,H�D$���f.�H�iI��E1�H��$�H�G�,H�D$�m���DH�AI��E1�H��$�H�/��H�D$�E���DH�I��E1�H��$�H��,H�D$����DH�t$ H�|$1��wt���8���f��L����0�����$������fDH���x������B���A�GM���������H�L$(H�D$xD�	H��tXE���N���D��$�H�P�pE���vH��L����$�PD��$�E���?���AYAZA�v����H�D$(D�E�������H�|$8H���PH�t$(H��$���H�D$8�L$����������L�������������3����DŽ$��D$lDŽ$�H�D$x�r����H�\$H�t$ H���&s��H��1�1��]��L��H���ߜ������f.�;L$D�����m����|$D�b������DH�D$(H��tH�D$8��������1�蘊��H�D$8���fD������I�vH�|$P������	���H�|$XI�FH����H���8���H�x����(������������f�1��)���H�D$(H������1����@�������H�|$PI�~�����H�������H�t$P������|���@�D$l����D$h�D$h;�$��V���L��M��H�|$(I��H�D$L��H�p����������A�F���f�H�|$(L��蓓��������$������M��H�D$8H����H��H�t$(H��$����H�D$8����fD��������B���f.��|$D����D$l���-���H�D$H�|$(L��H�p�C�����x/��$��t�����$��e���H�|$(L���ؒ����y�@��$�M��A�G�=������2���H�t$ H�|$1��p���L������S�DH��A�L����$�PH�L$8���_AX����H�D$(H�D$(H�D$8���H�@H���N����8�E����@f/�H�2����
�Hf/�� ����,�f���*ȉ�$�f.���1��D$lDŽ$��	���fDH�D$H�|$(L��H�p����������$��'���DŽ$�����H�������N���H�D$(H�D$(H�D$8���H�D$ �x��H�D$(��H�D$(H�D$8�����O���H�D$xHc@���t9H���D$lDŽ$�H)�H��H��H�D$x���2����D$lDŽ$�H�D$x��H�t$ H�|$���n��H�D$(H�D$8���f�AWAVAUATUSH��(�odH�%(H�D$1�����H��H�I��I��H��`����p=���PA�<$L�{8��p��A�$H�
�7Hc�H�>��fDIcT$H��H��H)�I�WH�4�L���U���D�KA��E��tif�1�H�L$dH3%(����H��([]A\A]A^A_�f��H���C*����x�H�{��p=��?����UDH�C H��t	�8�DIcT$H��H��H)�I�WH�4�L������kA�Dž��]���H��蕳��H��I��芳��H�{H��H�����8��M����A�>��H��`H�@tPH��tHc0H��H�T$�{)��H�T$����I�vH���sHc6H��H�T$�Q)��H�T$���_H�BI�vH��H�T$���H�T$H��H�BH���[���H�{L���l��E9�~A�D$A�T$A�D$A�T$H�{C�l=��p��@��p�W���D�H��賾���@���fDIcD$����"�K������H�C H�����8��H�xH�����?���n���H�{��p���|���@�S���m���IcD$�����I�H��IcL$H)�H�4׃��t	�>��H�����ŋC����H�{1틇p������I�t$�h��H��H������H�{��p�����f�IcT$�������H��H��H)�I�WH�4��w�s�Ņ��
���H��E1�1�L��L���w�H�{ŋ�p�����IcD$�����D�CE������IcD$���t+H��H��H)�H��I�WH�4���{��������H�{H�w�M������fDH���@���H�{��p�����fDL��H�����H�{��p����p�5���H��H��H)�H��I�WH�4��r���9���H��H��H)�H��I�WH�4�L���'��������1�A�T$���t�H�C H��t��8�BL�`M���j���A�A�L��H�߹���A�$���B���I�D$H�{H�I���p������H���Xi��H�{L���Li���H��迻���L���H�xH�����������������t
詉��H�C H�xH�GH�I����H��H)�H�ǃ8�a���Hc@����T���H��H)�H�׃8
�<���H�x �1����x�'���H�xH������H�5K9觸���Ņ�unA�D$�������Hc�Hk�8Iw����H��������H�B���H�{H��D���Fh��H�{L���:h��H�{��p�������#���Ict$H�T$H��H�D$Hk�8Iw��{��uSH�C H��������8�����H�xH�������H�������?������>��H�C H�@H�@H�I��j���1��c���ff.�AWAVAUATUSH��(�odH�%(H�D$1���usH��H�I��H��`H��uD��p������BA�<$L�s8��p��	A�$H�5�0Hc�H�>��D�H���#�����C1�H�L$dH3%(���H��([]A\A]A^A_ÐIcT$H��H��H)�I�VH�4�� ���D�[��E��u�IcT$H��H��H)�I�VH�4����D�d�k��u�H�����H��I��趬��H�{I��H���J	�8�A	M���8	A�>�.	H��`�2
H�@H���W
Hc0H���"�����_
I�vH���C
I�}H���
L��H��跏��H�{L����e��H�KD�勁p�P���p����DH�{��pH������]����H���������DIcD$���t+H��H��H)�H��I�VH�4������s�Ņ��[���IcD$�����H��H��H)�H��I�VH�4�����K���$���H�Kŋ�p�P��@����IcT$H��H��H)�I�VH�4��P����KA�Ņ�����IcD$���t,H��H��H)�H��I�VH�4������S�������A�A�D$���X	����
�������	@H�KD�틁p�P����IcD$E1��t%H��H��H)�H��I�VH�4����H�{A��I�t$ H���2賲��H����I�t$H�{H������H���H��H��D��貍��H�K��p�P�����IcT$H��H��H)�I�VH�4�� ����ŋC��������H���f���H�C H��t
D�xE����H�K��p�P����fDIcT$H��H��H)�I�VH�4����D�k��E���A����H�����H�C H��t��xt�H���e���IcT$H��I��H��H)�I�VH�4��b���D�[�E�����H��覥��H�C H��tA�U	PH�{L���b��H�K��p�P�����IcT$H��H��H)�I�VH�4���D�S��E���y���IcT$H��H��H)�I�VH�4����D�KA��E���I���E�D$H��E��������D�H�{���X��H��H�����H�K��p�P��8���H���س��H�K��p�P�����fDIcT$H��H��H)�I�VH�4��0���D�{��E�������IcT$H��H��H)�I�VH�4�����D�k�E�������A�D$������������H�����H�K��p�P����f�IcT$H��H��H)�I�VH�4�����{�Ņ�����IcT$H��H��H)�I�VH�4��c����s����A�T$A�t$H���蔠������IcD$���t H��H��H)�H��I�VH�4������ŋC�������H�C H�������8�����H�xH�����?�����H�K��p�P����IcD$����z���H��H��H)�H��I�VH�4����D�C��E������1�1�E1�L��H����H�Kŋ�p�P��'����I�t$�\�����f�IcD$���t H��H��H)�H��I�VH�4�������D�SE�������IcD$���t-H��H��H)�H��I�VH�4����D�KE���l����H�{H�w�uB���3���IcD$����I�~H��IcL$H)�H�4׃��t��P���H�������S������A�T$�����H�K H�����9��H�qH����D��H�߉D$A��	��H�K��p�P��D$��������C(IcT$D�{P�CP����HH��H��H)�I�VH�4������{A�Ņ����C(�SPA�L$�9�����~J��H�S0H�H�<�H�4�����H�D2�H��H��H)�H�T�H��H�x�gH9�u�I�D$(H�{H���ZM�t$0H���I�L$H���A�t$L���H�T$H���H���H�CH�T$H����kH�����u�CP��9C(��D��H���m�������軙��E�$$L�(�O���D��H�5e4H�81�A���C
������E1�����fD1�����f�H�K�ŋ�p�V��D���L���]��H�{L���\���H���k�����I�t$���H������H���F�����������H�(褙��H�5%3H�81����C
�������L�0�}���H�5�2H�81�A���C
D��H���\���k���貘��M�t$ M�d$H�(�@���L��L��H�5{2H�81����C���H��H)�H�׃:����������:���HcB������Hk�8Hǃ?
����H� ����������H�H�������H�5o,�˫�����MA�D$����u���Hc�Hk�8Iv�~���DM�t$ M���L������I��H���9I�t$H�{H���m���H����I�D$(H�{M�t$0�\�����t������H��D���o��H�K��p�P��R���L��蒏��H�K��p�P��8���H���H���IcT$H��I��H��H)�I�VH�4��E�D�s�E��u��H��荝��H�C H�����A�U!P�����H��������H�����H�K��p�P���H�C H���s����8���H������H�C H���P����8�G�������f.�H�BH�������8������2f.@�����H�T$H��H�D$�;��{A�����H�S H�����:���H�zH�����?�����0�����fDH��D��轏��H�K��p�P���I�t$��������H��D����H�K��p�P���H������H�K��p�P��m�耕��M�t$ M�d$H�(����L��L��H�5�/H�81���D��H���������I�}I�vH��tH�����>����6t��I�E�����{��I�vH��H��t�Hc6H���A����y�H�{L���X�������M�d$L�(�z���L��H�5`/H�81�A�վ	H������p�Ict$H�T$H��H�D$Hk�8Iv�S�{���?�H�C H�����8���H�xH�����H����?�����.���v�fDAWAVAUATUSH���o����H��H�I��I��H��`����p=����PA�<$L�{8��p�kA�$H�
�!Hc�H�>��fDIcT$H��H��H)�I�WH�4�L���e����{A�Ņ�tK1�H����[]A\A]A^A_�D�H�������x�H�{��p=��_����UDH�C H��t	�8�dIcT$H��H��H)�I�WH�4�L�������kA�Dž��u���H������H��I�����H�{H��H�����8��M����A�>��H��`H�@tPH��tHc0H��H�T$����H�T$���I�vH���"Hc6H��H�T$���H�T$����H�BI�vH��H�T$�oq��H�T$H��H�BH������H�{L����U��E9�~A�D$A�T$A�D$A�T$H�{C�l=��p��@��p�o���D�H���#����X���fDH���p���H�{��p���IcD$������C������H�C H���?�8�6H�xH���)�?� ��u��H�{��p���d���@I�t$��Q��H��H����~��H�{��p���9���f�IcT$����"���H��H��H)�I�WH�4��7��S�Ņ��r���H��E1�L��1�L���7��H�{ŋ�p������IcD$������s���/���IcD$���t-H��H��H)�H��I�WH�4����K��������f�H�{H�w�S7������fDL��H������H�{��p���I���f�H��H��H)�H��I�WH�4��R����Y���H��H��H)�H��I�WH�4�L���������>���H���S��H�{L���S���H�������D���H�xH�������Hc���������t�s��H�C H�xHcH�WH�D�I��^���H�{H��D���=S��H�{L���1S��H�{��p���_���H�B���fDATUSH��dH�%(H�D$1�H����H�G8H��H����H�0����H�p(H����H�{��t=H���HcP����H��H�@H��H)�1�H�4��+���Yf�H�$H����HcP���<H�KD��pH��H�@H��H)�H�4���H�CD��p1�H�|$dH3<%(�1H��[]A\�H��b,�P�H�C0H����H�
H�C H�C(H�C8�CPH�p(H������HcP����H�KD��p���P������1ҹ��5������[���H�C8����f�H��1��5��H�4$���tH��u(H�C8���H��t�H�{�JQ�����H���{��1��������������r���H��
���H�5S(H�81��Ӹ��������H�5�!H����������s��fDAWAVAUATUSH��H���nI��H���WH��I��A���?v��L�%Ha,�XA�$H��H����H�xH��H�H��H�@P1�H)���X���H��PA�$H�C0H���DH�
L�k8D��H��H�C H�C(�CPH�k�����SA�Ņ�t3E1�M��tsM�&H�C8H��� y��H��D��[]A\A]A^A_�fDH���0���I��H��tH�C(��~������S(L�8�T$譌���T$H�5R'H�81�A����L��H���O���E���l����ҋ��L�8�j���H�5�&H�81�A���N���A������[���H�% E1�1�1�PH�dA�1�j1�A�����jjjjh�7P1�jj�j{��H��P����H��`,H��H��H�5���D��1������%��AVAUATI��UH��S����H��H��tH��[]A\A]A^�D�;t��H��L���r��I��H��t�H����D��p�H���K���D��pA�E����I�E�8��I�]8�;~=HcC��x5H��H)�H��H�SH�4�H����D��pL����D��pI�E8L���%w��L����m��H�CH��[]A\A]A^�D�H��諺���b���fD���7H�5�L�����L����v��H��[]A\A]A^�L���x��~�����H��1�����f���H��1�dH�%(H�D$1�H��H�$�v���H�$H�L$dH3%(uH����8p������1��@�����H����USH��H��H�wH��M���H��H��t%H�{8H��t�W���H�k8H��H��1�[]����H�C1�H��t��p�H��肹��H�CH��t��p�S��u\H��:ulH�S8�:~�HcJ��x�H��t��pH��H�RH��H)�H�4��=�H�CH���m�����p�b���DH��[]�f���H��H�߾[]镞��D��AUATUSH��H����H��H���~q��H��H����o��H��H��tkH��1���s���S��tH����t��H��H��[]A\A]�@H�����H��H�����C(��~����D�k(L� �t���D��H�5#H�81�A���H��1�[H��]A\A]�H�*E1�1�1�PH�iA�1�j1�1�jjjjh�8P1�jj�sw��H��P�X���f.��[���L� ��H�5l"H�81�A���%���ff.�@�������H��tH��tH�H9W@uH�~1��D����H��t?UH��SH��H��H���c�����xH��H��H��[]�ޜ��fDH��1�[]��1��D��鷜�����SH��[,H�5$H���x��H�nX,H��H�5�x��H�PZ,H��H�5�yx��H�JY,H��H�5��cx��H��Y,H��H�5��Mx��H�>X,H��H�5,-	�7x��H�PX,H��H�5E�!x��H��Y,H��H�5v��x��H��X,H��H�59�w��H��X,H��H�5d}��w��H��[,H��H�5e��w��H�2Y,H��H�5V��w��H��H��P��H�5fx�w��H�Y,H��H�5.�w��H�PY,H��H�5&�qw��H�*[,H��H�5 �[w��H��X,H��H�5�Ew��H�N[,H��H�55��/w��H�pX,H��H�5qA�w��H�ZV,H��H�5��w��H�Y,H��H�5���v��H�.Y,H��H�5���v��H��V,H��H�5��v��H�
X,H��H�5��v��H��V,H��H�5A��v��H�.V,H��H�5��v��H�xX,H��H�5��iv��H��[H�
l��H��H�5o��j��ff.���UH���xSH��H�WX,�H��H����H�xH��Hǀp1�H��H)���x���H�H�+1�H�CH�CH�C H�C(�h���H�C@H��H�C8H�CHHǃ�H�C`H�Ch�����1���H��H��[]��H�=�����f�H��H�TE1�1�WA�
1�1�P1�jjjjW1�jjjj�s��H��h�DAVI��AUI��ATU��SH����H��H��sH����H�����j��L�cH�{ADŽ$�
A��$�ADŽ$��;f��H�SH�3I��$H�CH)�L��@H�����(L��8H��te[H���]H���A\A]A^��DH��A�
E1�AUAVjjjjAUjjjU1�1�1�1�1��'r��H��`[]A\A]A^�f.�H��A�
AUAVjVjRAUjjjU뻐ATUH��SH����H��H���]��H��H���Jo��H�3W,H���H���Ab���E����H�U�A����f�</uuH�B1�H��1�H�E�B��HЀ�	v+�bfD��D���)�9�|.�H�U�H���HЀ�	w5��0�����~�D��)�9�}Ҿ��H��</��[]A\�f���t1�H�E H��t�8t�H������H�U��S���H���؊��H�P��~
H��t�:tH����x��1��g��H��H���,n���H�rH�H��t؃zt@H�RH��t�1��H��t�D�BE��A��A��tA��
u��9�t
H�R09�}�H��t�H�H��H����m���V����z1�����1�H���m�����}������g|�����AWAVAUATUH��SH��H��(�3i��H����H����H��H���fg��H��H���rH�x0��H��H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�߀�/�7����I��H����H�;�?(��H��H���_���H��H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H��ք��[H�C H�����8��1�H��H��E1�n����H��E1��ш��H��t"@�8tKA��H����v��H��诈��H��u�E�����C����H���^k��H��(L��[]A\A]A^A_�@H�PH��t��:u�H�RH�uH92u��E1���H���H���I���d����˓��1�H���A�������@H�qR,�P�H�C0H���wH�
H�C H�C(�CP�,���1�H���oH�������C���1���L��E1���u���!�����H���ӓ�����fD�C�?(A�I�&���H��R,L����H��臓���SH�C ��t��l�9���H��t:�8uH�@H��t
�������H������H��tH���>u��H������H��u�H��
L��H��H�Ѓ��� AGĄ�u@��t�H��H���H���h���I��H�������H�;�C�?(�9���H��H�;�l���xH��R,Hc��I��H����H�3���)D���H���@�)H��:t/H�rH�3�R��t ��)tӀ�(����H���P�H��:u��H��8��H�5aL���ʏ����uH�5WL��跏������H�CH�KL�sH��H�L�3H�0H�L$H�T$H�pH�H�ph�fg��H�L$H�T$H�KH�H�Q,L���H�Q,L����1�����^�H����~D�W�A��v
@��^�0���H�VH��V� ���H��H�3��/���H��P,L���L��H��P,��H���S�������H�5.>	L���ώ������H�CL�sH��H�D$H�L�3A�>/H�D$���}���H���JH��H������H�D$H�CH�D$H�����H�=��W���H�P,L����?���H�=��:���H�C �z���H�5�	L���2�����toL�[H�L�sH��L�3L�\$H�D$�t��L�\$H��I���H��
L��H��H�Ѓ��� AGĄ�u=��t�H��H���螏��1�H�������6���L��H�T�lH�������>�����=t,H�D$L�[L��H�H�8O,�H�/O,L���L���y���H��L��H��
H��H�Ѓ��� AGĄ�u)���t���H�D$L��H�CH�D$H�H��N,����H�{L��L�\$L�T$�2Q��H�D$L�\$L�T$H�H��N,L�[L�����H�D$L�[H��T���f.��G@��~A��H�WH1�HcȉG@H����tH�t
�H�
H�w8H�8H�H��tH�?N,� D��H��H��I��H��t�GPH��H�bI1�1�RA�P1�jjjjR1�jjjj�|h��H��h��H��H��t�GPH��A�1�APQH��1�jjjjAPI��1�jjjR1��2h��H��h�ff.�f�H��tKUSH��H��H�H��t�4Y��H�-mM,H�;H�EH��t��H�EH�{H��t��H�EH��H��[]���ff.�@ATI��UH��SH��H�5$H������H��t[]A\�f.�A�$��tH��H�5H���֎��H��u�H��H��[]A\��b��f���H��t7H��t2AUATUSH��L�fH�.M��tH��t�W\�B���wH��[]A\A]Ð��H�O`H�wH��L�OPL�GhH��蝈��I��H��tH�{xH��t��wZ��I�Ex뵐H�sH���o��H��t��K\;H\u'H�{hH��tXH�phH��tO�p�����u��K\f���w�H��v�_���L�CH��H��L��[H�
-]�BA\A]���H�{`H��t	H�p`H��u�H�{PH��t�H�pPH��u��AWAVAUATUSH��H��t}I��H��tuI��H��tmH��H��teI��1�E1��H�E0H�h8H��H�[0H��t*H��L��L��L���CH��t�M��u�H�[0H��I��H��u�H��L��[]A\A]A^A_��E1���ff.�H��t;H��t6H��t1H��t,�A��t$��	t�H����_��f�H�I�'����1��ff.�f���USH��H��tqH��I,H���x�H��H��t`H�xH�@H��H�@p)��Hx1����H�H�+H�C�CH�C�CPH��H��[]��1���@H�FH��1������D��H���ATUSD�O@H��E��~H���x���D�C@E���H�{HL�%�I,H��tA�$�{H�S��~#1�fDH�<�H��t	�*���H�SH��9k�I�$H��t	H���I�$H�S(H��t7�s ��~'1�f�H�<�H��t
��I�$H�S(H��9k �H���I�$H�S0H��t7�K ��~'1�f�H�<�H��t
��I�$H�S0H��9k �H���I�$H�{`H��t��I�$H��[]A\���ff.�@��H��t�wX1�ø�����ff.�AWAVAUATU��SH���H��$�dH�%(H��$�1�H����H��H�����z�vI�����`M���bH��$�L���M���*Icw@��(�B!I�GHH����A�WD9�.�H��H�9F,A�WDHc�H�4��I�GHH����"Icw@L��L�,��V��A�O@I�EI�G8�A�L$|A�G@����A�GI�މD$x����I�GTH�D$M���'���A�~��
I�FHH����H�xH�5��߅����uI�FHH�5�H�x�Dž�����o
I�FHH�5�H�x諅����tA�GT���[I�~H�5�苅������	M�nM����1�L�%%�M�m0M��toA�}u�I�EHH��t�H�xL���C�����uI�EHH�5H�x�+�����t�I�}H�5"�������I�}H�5-���M�m0����M��u����?I�GpH�|$H�X�L���N���I��H����H�|$H��L���.���H��H��tH�5�zH��藄���D$ �����D$ I�?L����T��I��H����H��L����H�D$H�|$��H��E,H�D$H�H��t
H���H�D$H�L���M��t
H�D$L��H�|$��H�|$H��
L���{���H�|$I���N��I��H����H�x@H���hA�GT����M����H�D$�I�E@L����[��L��H���O��H�D$H�|$�H���vI�H��H����w������R�D$ ��tM����A�<$��H��C,�8�I��H���+H�@0f�H��@@ ��R��I�E(A�WI�EI�EM�uI�EI�E ����H�oC,A�G� �I�GH���;A�WIcw9�|.�H��H�kB,A�WHc�H�4��I�GH���Icw�VH��A�WL�,�H�D$��D$ M�eI�EA�E(A�E,�I9�t6I�F0H���[I�F(H��u�L�p0M����H�@(H��tH9�u�HcT$xA�GH��H��H�T$0A��9���A�N�L$lE���
I�WH�L$0H�
H�rH�t$PH����	I�_TH�<�H���2���H�D$HH���H�t$PH��H������H�D$`H��tH�5pwH���w����Å���H�t$PI�?�Q��H�D$@H����H�t$@H�|$H�΃��H�D$8H�|$8��H��B,H�D$(I�G`H�D$pH�D$@I�G`���H�|$8�K��H��H���5H�@@H�D$H��tH�E@I�GH��tAH�\$0H�H��t3H�xH��t*H�D$H��tH��H�D$(�I�GH�H�x�fP��H�D$H���X��H��H���~L��H�����I�/����<#��H��tH���H���K�������A�GE1�~>�I�GH��J��H�0������tI�GJ��H�hH���xI��E9g�H�|$E�gXt
D���A�GX�_U���z|��I��H���I�GhI���I�H��t6H���H��t*I���H��tH���n��I�H���I����p��A�wXL��H�-�_���ol��H�޹L��H�=������HE�1�H����`��H����H��L���RQ��I���A���L���k��A�E���HI�mL���<x��E�gXH���QI�GH�L$0H��H���H�H�h��~����uH�D$(H��H����N��H��Lcd$lL��I��A��A;G|�9A��I��E;o}(I�GH��J� H�0�w~����t�I�GH�L$0H��@,H�EPH����M�/I�MPH���qH�x`H��t.H��$�H�5
�H�L$L��$�L��$��J��H�L$L�eXM��t=I�|$`t5H�yhI�t$hH�L$L��$�L��$���}��H�L$���DH��蠁��I��H���(I�GhA�WI�D$hIcGA�T$A�D$H�<�H�>,�I�D$H����A�GDI�`A�D$DA�G@A�D$@I�GHI�D$H�&M��I�D$`A�GA�D$��~,�H�I�I�t$1��@H��H��H�ƃB,H�PH9�u�A�GXH��A�D$XI�GpI�D$p�}��1�H��L��H������I�D$pA�WI�Gp��~%I�D$��H�L�H�H���j,H�@�H9�u�I�D$HL��I�GHA�D$DA�GDI�D$@I�D$H�v��H�|$��
1�1�H���}��H�D$H���cH�t$H�|$�|��H�D$H����H�T$�
��	���H����L�j��{M����A�E����I�GH�L$0L�D�t$ L��I�UI��H�\$PH�\$0E1�L��H��fDJ��N�4�H�����x���@H�5�	Hc�H�>��DI�~H�5��{����t4I�F(H��t
�x��L��H�
�L��L���P�#�I�VH����A�F������I��I9������
���f�L�D$H�qH�
��MH�����I�UH�EJ�2H�I��E9e����H��D�t$ H�\$PL��I��I��I�H��H���TH���C
H�l$ H�D$E1Ƀ8��L�@M����E�E����E1�D�t$PE1�H��$�M��H��H��$�L��L�\$X�.f����L��H���T��I�E0H��LE�I��D9u~[H�EJ��H��t�H��w�H����u����H��H�T$ H��L��M��u���I��I��I��D9u�f�D�t$PL�\$XM��H��$�H��$�M�K H�|$�^��H�|$�{u��H�D$(H�|$�H��tH��tA�GZu������E;w} I�GH�L$0H�H�xH��t
�x,��H�D$(H��H�D$pI�G`�,f�H�qL�D$H�
`����H�qL�D$H�
p��L�t$8H�5��H�bYL���R����IE�H���wC��H��H����L�@@M����H����P��H��I��H�D$X�D��M����H�D$X�8�XE�O 1�L�d$XE���*f.�H��A9o �I�G0L��H��H�4��Jx����t�I�G(I�?H�4�`��H�D$I�GH�L$0H�|$XH�H�L$H�H H�D$(�H�D$pI�G`H�\$(H�|$8�H�D$`H��tH��H�D$(H�|$H�H�|$@tH�D$(H�|$@�A�GD�t$l�T$|+T$xH�D$0D�D9�������T$McoJ��M��H�L$A9��B�I�GH�L$H�4H�^ H����E����H�nH�����}��H�E(H�F �F4H���2�x�(H��1�H���,f�1ɃxH�@0���H��u���A�GY���N0���-L�u�EM��t!DL��M�n0�<m��L����]��M��M��u�H�UH�uH1�H�}@�i?��I��H���U�@H��H���P��H����f�H�k0H��L����k��H��H��u�A��H�D$E9g����H��$�H���tL���[�H��$�dH3%(�D$�H���[]A\A]A^A_�fDA�GY�����H��t�L�k0H��H���Qk��L��M��u�H���Al��H����\��A��H�D$E9g�%����[����~4��t��.���@H�=���TE��H�D$HH���������I�H�|$HH�����w��H�D$8H�|$8��H�|$@�Y��H�|$HH���tY��H��H��I���w��H�D$8H��6,H�D$(H��tH��M��t
H�D$(L��H�|$8���H�L$0I�GE1�L���EH�H�
'H�p��H�D$`H������H��H�D$(����H�D$L�hI�GH�L$0L�M�������E�eE�������I�H��H�������DH����H�D$ ���DI�GH�L$0H�H��t>H�xH��t5H�5���K��H��H��t!H����?���Ã���IH�D$(H���f�1��p��H�|$X1�H��H��$��U��H��$�H���8H��$�H�(H���H�}H��t��K�����O��I�?1�H�E�\���D$H�D$H��$�H�D$ L��$����H���j������H�} �s��H�} I���6u��H�ÉD$����E1��Gf���
@�ƃ���@��t��	��wp��$�H�|$L����n��D�$��D$D9t$~{Mc�H�T$ 1�O�<,L����B��=�~����������v��� �����v�-=��v�D)��D�D$E����H�} L���W���D$����H�} Hc��tW������H�|$`H�5'��Gr�������H�L$0I�G�AL��L�t$`H�H�
V�M��H�p���H��3,H�|$HH��L���A�G�,���I�FH�����I�����H�L$0I�GH��L��I�7L�$H�M��I�D$ � ����H��$�L��$���j��H�D$H�hPA�G$��u>H�2,A�G$� �I�G(H���,Ic$H���I�G0H���A�G$IcW I�(9�|I�H��0,A�G$H�H�4��I�G(H����Icw$I�0H���I�G0H����I�(IcW H��H���@��IcW H�|$XH�I�G0H���@��H�A�G H��$��%G������H�5+�H���T�����@H�L$0H�\$X�HL��$�I��I�GL��H�H�
T�H�p�3�H��$��i��H����`��H�D$(H��H�D$pI�G`H�D$PH�hH��u�8�H�m0H���#�}u�H�}Ht�H�}H�5$��o����t�H�EHH�5��H�x��o����uH�EHH�5��H�x��o����t��}��H�}�CI�?A�_P�s��I��H����I�GhI�`A�����I�D$h�M?��A�wXL��I�D$`�4��I�GpI�7H��L��I�D$p�0�I�T$pI�WpA;_P|��A��L���Ci��L�t$0I�GH�uI�?J�0�
C��H�C I�GJ�0H�z ���B0A�������I�GH�L$0L�D$8�DL��H�H�
/�H�p������I�}H��t�"<��I�EL����g��E�gXH�D$(H��H�|$��H�D$(H�|$�H�D$pI�G`�3���fDH�z����D$�����%���L�s�.��A�GT��H�.�1�L�����[����T$ �����A�G@�����E1��I��E9o@���I�GHH��J�4���m����t�I��H�
���@L��L����H��H�l$�UL��U�^�fDL���H�
��L��L���O�Z��5�I�/����D$|�D�E1���L$|�L$�����:��I�GH�L$0H�H�@���L�X0M�����A�K�����H�����M��I��H��L��H�T$ H��H��L��L��$���L��$�M���SL��H���G��I��H�[0H��t�K��w�H��u�H��L��M���f�I�GH�L$0H�c4H�5ĕH�H�x�p��I��H����I�GH�L$0H�L�h M��ufH�D$(L�����I�}@L���<��H��H���I�E@H��H����l������L��L���xk��H�D$(H��fDM�m0M��t�A�}u��A�GY�����
���H�=��;��I��H������i�f�I�L��H����.n��H�D$H�|$�=�L����O��L��H�D$(�O��H�t$(H��H�D$0�m��H�|$(H�D$H�-,H�D$tH�|$(�H�D$H�L$0H�H�����H���H�D$H����I�G�V�H���mQ��I�����I���@�H�5͐H����j�����_�I��H�
�L��L���A���H�q,,L��I��H��A�$�]�DH�� I�G@H�+,�I�GHH���Icw@A�WD9������I�GH�L$0H�H�H�@ H�H0�<�H�2H�5t�L����m��H������L��H��H�D$�l��L�L$H����H��L��L�L$H�D$�`i��H�D$H��H�D$(�L�L$H�D$(L������I�t$pH�yp�i�������I�|$`H��$�H�5����>6�����H�@HH����H�xH�59��|i����u I�F(H�5E�H�@HH�x�`i�������I�F(H�5S�H�x�Di����������H�L$0I�GE1�L���GH�H�
H�H�p����H�D$(H�|$X�H�D$pI�G`���L��H���H���c��H�D$(L���H�L����h��H�����H�p1�1�L���C:��H��H�����H�EPH������P�DL���H�
��L��L���N�B����H���@��L��H���Z4��H�D$H�|$�H�����L�D$�EL��L��H�
�����M������$L��L���}g������H�L$0I�G�FL��H�H�
��H�p���H����3��H�D$pI�G`���H�NC1�L���<��E�gX����I�w`H���WP��I��H��t&�/H���*��H�������/���I��I�����H�L$0I�GI��L���EH�H�
�H�p�!�����H�L$0I�GM��L���EH�H�

�H�p����L�L$�>����B4����L��H���L���|��H�D$H����I�GH�L$0I��H�H�pH�
:��EL��������I�GH���;H�L$0L�D$8�EL��H�H�
��H�p�]����H���L��L�����L�����H�D$H����L��E1�H�
��H��K���H����<����H�L$I�GL��E1��IH�H�
+�H�p����H���<���J�H�L$0I�GE1�L���LH�H�
��H�p���H��H�\$(�H�|$�H�D$pI�G`���I�GH�L$0L�D$8H�H�p����H���	<��H��$���^���x���I��H�
5����L�D$8�E1�L��H�
���-������M��H�
-�1�L���@����D$������E1�H�
~�L��L���E�������L�D$�EL��L��H�
d�����H�D$L����L�D$�RL��L��H�
A����M��t
H�D$L��L���0��H�D$H�|$��T�H�L$0I�G�LL��L�t$H�H�
��M��H�p�G��H�|$�M`��H��H�\$(�L���H�D$pI�G`��H�|$�H��H�|$�`���\���H�L$0I�GL���ML�t$H�H�
��M��H�p����H�|$�pH�����6��L�D$�EL��L��H�
J����M������H�D$L������H�L$0I�GI��L���JH�H�
s�H�p�m��H�\$(H��H�|$X�H�D$pI�G`�C�H�r�1�L�������������AUATUSH��H�����H���|H�@H��tsI��A���g��H��H��t`L�`hH�C@H�����2��D��H��H�E`�'��H�s@H��1�H��������x
�EP�������O�H����\��H����[]A\A]�@�������f���H��t4UH��S��H���b��H��tH��H���H��[]�/W��H�������[]��ff.�@��1��%I��D��1��[��D��ATUSH��ts�H��tjH�@H��taA���e��H��H��tQH�{@H���U2��D��H��H�E`�&��H�s@H��1�H��������x
�EP�������O�H����[����[]A\��������f���1��5e��D��H��t>�~H��t5H�v@H��t,H��t'S1�H���U����x�SP��
[�������[��DH����USH��H��H�H�-�",H��t�UH�;H��t�UH�{H��t�UH�{ H��t�UH�{0H��t�UH�{@H��t�UH�{xH��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�gE��H����U�{(�C,���u�C(����H�EH��H��[]����K;����f��ff.�@1�H����
��e��1҃��u��H���D���;���H�����DAT��UH��SH�� dH�%(H�D$1�f�?
�A�A��ae������z1�1������R�����uI�D$H����
1���(�����s:�������H�L$dH3%(���|H�� []A\������߉‰D$1��R���D$��x�H��D����\���Ń��u�%�����t	��s���H�|$��\$f�T$�`��Q���Ń��twH�k����B���f�|$��H�L$L�D$��߾�D$��<�������D$��uw������f��
A�� d�������f�H��1��
�'�����F9������H�j���H�����H���1��
���w'�����H�[�1��
�_'�����8���$���T$��u���H����V�����0���AWAVAUATUSH��H��dH�%(H�D$1�I��C,�RL�{@M����H�kXH�sPI��H9��5HcS`H��H��L�H9�sS�L)�L�kHL�sX�C`H��Hc�H�,L��M)�M)��H�C@H���mHc�Mc�Mc�H�I�L�H�sPL�kHH�CX�{(1ɺ�E"���ʼnCd���(�����ub�#�����h��~K��l����stBH���1��
�&��H�L$dH3%(���AH��[]A\A]A^A_�D��u��C(�`��L��$�f�D$�N����������#���8�����1��@H)�L��Hc�H��L)���O��Hc�L�{@H��HsXHsHHsPH�sP���DH�a,���H��H�C@H��th�C`�H��I��H�CXH�CHH�CP�K����H�HCP����L���1�1Ҿ�
������(��H�_,L����Cd��������L�m�1�1Ҿ�
�������'���Cd��������^.��ff.�ATUSH��H�$H��H�WXdH�%(H��$1�I��H��L���4f.�H�PH�UX��<
t?<
����H�H��L)�H=�VH��H9UPu�H��������t���tRH�EX�L9�tG�H��,�L��H��$dH3%(u(H��[]A\�f�H��,Ƅ$�L����1����q-���H����H�GHH��tzAUI��ATI��UH��SH���_P)�fDH���h�����~
ËEp��~�9��H�EHI�EA�$�Ep��~9���H����[]��A\A]��1�����H��[��]A\A]�������H�ÐAVf�AUATA��USH��H��dH�%(H��$�1�)D$P)D$pHDŽ$�DŽ$��N������&f�1�H�T$ H��H�L$)D$ H�D$)D$0)D$@�D$(�nY������H�\$H����D��L�l$pL�d$Pf���AD�S���4H�sL���:��L��f�l$R������uQH�[(H���t�{t������t�{
uދS����H�sL���B:��L��f�l$r������t�H�|$�D$��]���D$fDH��$�dH3%(��H�Ġ[]A\A]A^ÐH���9��H��H���H�@H�0H����1�L�l$`fA��L�t$p�af�HcS���cH�|$ ��9���D$ �fD�d$Rf�T$PH�|$P�D$T�������Q���H�CH��H�4(H��tg�{t��}�����tX�{
uRHcS����H�CL��H�4(�!9��foL$`�
L��f�D$pL$xfD�d$r느H�|$H��t�\������������H���1��
� ������������%��H������t#~tH�����t��H���H�'�HE�1��
�> ��������\���@H�-�1��
� ��H�|$�\��������1���f�H���뭃�H���H���HE���{)��ff.�AWAVAUATUSH��dH�%(H�D$1�����I��I����1�I���	�9�~U��Hc�A�<$1�)�L�Hc���*��I�Dž�ۃ��u
����8uLA�$�`��L���$�f�D$�!H��9��H�L$dH3%(��u2H��[]A\A]A^A_�@1�H�*��
�����AD��1���(��@AUATUH����SH��H�,�H��H����H�xH��H�Hǀ�H��1�H)�������H��CP�ChH�;�C(�����Cp����H��tH��,�H�H�{H��tH��,�H�CH�{H��tH��,�H�CH�{ H��tH��,�H�C H����H����W��H��H��tkH�8H��t[H�xtTL�%},A�$L�mH�L��M��tA�}[tSA�$H�CH�}0I�$H��tv��H�}8H�CH��tA�$H�C �E(��uH���@ ��H��H��[]A\A]�f��C���3&����~Hc�A�|�]u�p�I�}��!��H�C뎐L��A�$H�C�H�=P��L�Q�1�1Ҿ�
� ���@��H�=� ,H��t0H��H�U,�H�� ,�� ,H���f��� ,�D��SH��H�=� ,H��tH�,�H�� ,�~ ,H����H�߾�hV��H��H��txH�0H��tH�H�=�������u1H�{H��t(H��,�H�0 ,�C(��t'H��[� ,����f�H�Y����
�
��H��[����[�fDH�1����
[���������,��uH�=�,t��,�D��H��H�=����,P����H��t�8*tDH�=�����H��tH���S ���i,H���@H�=�����H��t���D�xu�����H���DAUATUSH��H��H���$A��1��������H��Lc���H���H��t~H�CPH+CXH�w1�G�W ����uH�������H���H�CXL�kP1�I)�D��)�Hc�HʼnWH�/D�����H����W)Յ��G u��u�Hc�HkXA)�D��H��[]A\A]��H���(��~4H�sXH�CPH)�L9�|�L��H���4��LkXH��D��[]A\A]��H�sXH�CPH)�L9�}�Lc�M����H����@ �y���������|������ff.���H��t�2�f��ff.�@��AWAVAUATUSH��HH�|$0H�t$H�T$H�L$L�D$8L�L$ H������H�\$H���H�H��HE�H�D$�L��H�$H�<$�D$,�YL�<$L���E���H��H���YH��,L���H���H�3H�����H�=9��������L�{M���]
L�5�,L���!��M���Z�5�,L��D�d��������H�|$�C(�GA��$H�D$ H��t
H���I!��E�dH�D$H��tH�8H��t
�-!��E�dH�{ H��t
�!��E�dH�|$�!��H�{I��� ��A�E��{PE�|$/tH�=,E�|$:tE�|$@H�,Mc�L���I��H����	H�=�,H�S���CH�K��P��H��L�q�L��L��R�P1�QL�L$(H���������H�� Lc�O�4L��L�K L��L)�H)�M��t.L��L�M�H�����1�����L��H�I�L��L)�H)ƋCL�K��P��H���L��H�����PL��1��q��H�I�XZL��L��H��L��L)�I��H)�1��I$��L��L��L)�H)�H�D$H��t6L�M��t.L��L���H�����1�����L��H�I�L��L)�H)�H�D$ H��t%H��L��H�(�1���#��L��H�I�L��L)�H)�H�|$L�{(�>D��$��L��1�L���H��������L�c0L��L�c8�C,���L��L�����e����C,t��$�H�t$L���K����C,H���\�I��H����A�>�6�L��H�="�������Ʌ���A�VI�F�r�@��	�wD�4�H���tr���z�@��	v�.�x�4����� ����	��L�=�
,L��A�H����I��H���]���H����u�Ch-,��c�dfDH�������l$,�
H�<$H��t	H�q
,�H��
,H����H��H�$�S�H�<$�����H�|$0���H��H�������f�1�H��HH��[]A\A]A^A_�@H����� t�	t��0��	v����f.���H���LJ���z�@��	v���t	��	����KhL�=�,�sl���f��
H�5��L������A���iA�F
M�f
<	t< uI��A�$< t�<	t�H�{xL�=d,H��tA�H��	,L��L��H�CxA�$<;wH����fDH���<;w�H��s�D)�H���H��t�t$(A��t$(L�����H�{xH�5~bH����vE��H�������PL�`L��;w
H��r�H�����;w�H��s�A��E)�H���H��tA�D��L�����H������f��P�z�@��	vH���z���f.��4�H�x�tr��P�B�<	H���S���H����z�@��	v��;����H�5�L���d��A����H�{x� ���A�FM�f<	t	< uDI��A�$< t�<	t�H�,L��L��H�CxA�$<;�g�H���<;w�H��s�H���D)�H���XL�=�
,�t$(A��t$(L�����H�{xH�5�`H�����C��H���{����PL�`L��;�fDH�����;w�H��s��s����H�CXL��H�CHH�
,��J����L��L�`�H�����1������H�I��O���f��sL��A���2����DDŽ$�����H�q�L��1��o��L�c0L��L�c8�C,����L��L�����;����fDRL���QL�L$H�����L��L��1�����Y^Lc�O�4�%����	H�5�L���d������A�F	M�f	< u�I��A�$< t�<	t�H���L�=�,H��tA�A�<$/�H��,L��H�������fD1�����H��L���RL�L$�8���H������
���H���l�H�<$H���/���H�X,��!����H�������H���1�H�������L�=-,���H������q����H�5�L���U����uA�FM�f< u@I��A�$< t�<	t�H���L�=�,H��tA�H��,L��H�������H�=�2����H�sH����C��L��H����C��H�������H�5��L���
������A�FM�f<	t	< �r����I��A�$< t�<	t��[���L�|$M��tH�{xH����H�T,�I�H�D$8H��tH�$H��tH�����H�<$H��tHH��,����H�.����V���H��1����L���1�1Ҿ�
�P���}���H�D$8H���o���H��c���H�D$H��i����H�5��L���	������A�FI�~< uH���< t�<	t�H�5:�	�����Q���H�,�pǃ��H���H���)���H�@@�p�H��H�@HH�j8H�@P�@H��;��L�=�,����H�5��L�����������I�~�
1���&���Cp������H��H��I��H��tH�M��tI�H��E1�1�1�j���H�����H��AQM��E1����H���fD��H��H��tH�E1�E1�1�1�����ff.���AUATUSH��(dH�%(H�D$1�H�D$H����I��H��I���(��H��H�����H�=��L����À��ۅ�uhH�T$H�t$H��E1��C�HcT$��~H�t$��E1��K��H���A��A��H�����������H�L$dH3%(D��u^H��([]A\A]����AL��1��,5���Å��z���H�����M��tI�}H��tH��,�I�EA���������ff.���ATUSH�� dH�%(H�L$1�H�D$H����H��H����H���H�=r���À��ۅ�uhH�T$H�t$H��E1��#�HcT$��~H�t$��E1��+��H���A��A��H���������a��H�L$dH3%(D��uFH�� []A\�DH�Ǻ��A1��4���Å��z���H��A������t���f�A�����������H��t�Ghø�����ff.�f���H��tH�����1��D��H��t�Gpø�����ff.�f���H��tH�����1��D��H��tH�����1��D��H��tH�����1��DAVAUATUH��SH��H�?H��tH��,�H�H�{H��tH��,�H�CH�{H��tH��,�H�CH����H��� C��H��H����H�8H��t|H�xtuL�%��+A�$H�}H�A�$H�}0H�CH����A�$H�C�E(��t�CL�m M��t3�:L���V��I��H��t>H��L��L)��0��I�~H�C A�$H�C([H��]A\A]A^�@��[]A\A]A^��L��A�$H��H�C []A\A]A^���DH�=%;�f���@ATUH��SH���H����D���A����oLc��A���[D���E9��KA���>E���ZHc������I��H���H�)��}1�Hc�D���������D���A�Ic�D	�D���Ƅ���Lc��Ic�H���H���H9���f.�H��H)�����HЀ�	���N�y�@��	w5�~D�W�A��	w'�������~-�DAЍ��DG�t�����H9�v[H��H9�tO�>
u�H��H9�w�D���A���tA��wA��w	E9����������[��]A\�DH9�w�D����R���E)�J��
�H��Ic��0�������E1�+���H�Dž����)������A�����H�NH���I��I)�D���H9�vU�~
u
�CD@��
t8H���1H9�u�@��
t&1�@��
[��HѺ��Q��H)����]A\������qH�����v��H���1��	�������D�������Dž�����������H��H�=�	,H��tH��+�H��	,H�=y	,H��tH���+�H�`	,H�=Q	,H��tH���+�H�8	,�N	,H���f���AVA��AUE��ATI��H�=	,UH��SH��H��tH�B�+�H��,H�=�,H��tH�"�+�H��,H�=�,H��tH��+�H��,M��tH�!�+L��H��,H��tH�	�+H��H�},H��tH��+H��H�],[]D�5d,A\D�-C,A]A^�fD��ATUSH����H��H����H�?��H���H�����=��H��H����H�0H��tzL�`M��tqH�;������ueH�{L�����A�ą�uR�E(��uFH�{H��tH���+�H�CH�%�+H�}0H�H��t1��H�CH���#��D��[]A\�;Ct�H�����A�������H�=6��H�C�Ɛ��SH��H�=Y,H��tH���+�H�@,�.,H����H�߾��<��H��H��txH�0H��tH�H�=�������u1H�{H��t(H�Y�+�H��,�C(��t'H��[��,�R��f�H������	���H��[�1���[�fDH������	[�a�������,��tÐH��H�=���[,�f���H��t�8*ttH�=��P���H��tkH���S��H�=���7���H��tH��H���+�H�,H�=������H��tH��H�l�+�H��,��,H���@�xu���H�=������H��u��ff.�f���H��+ATUH����S�H��H����H�xH��H�1�H��1�Hǀ�1�H)�������H��CH��H�����ǃ�Hǃ�H������I��H��t$H��H���Q���H�J�+L��H��[]A\�DH��t�H��H���(���H��[]A\�L���1�1Ҿ�	����@��H����USH��H��H�H�-�+H��t�UH�;H��t�UH�{H��t�UH�{ H��t�UH�{(H��t�Uǃ�������u+ǃ�����H�EH��Hǃ�����H��[]�������ΐ�ff.�@��H��t������t
��������Ð��USH��dH�%(H��$�1�H��������H����H�l$ 1��H�D$H�D$H���H�Hc���V�����L�D$H�����������?)ѺH��1�H	T� 1�������t:��t����tMH������H��$�dH34%(u9H�ĸ[]��H�vX1��	�D$�����D$��������d��@��SH���dH�%(H��$�1�H��tq������t/�
��H��1ɺ�$QUITf�D$�D$�	���Å�x$1�H��$�dH3%(��u)H���[�@H�e�1��	�-����ɻ���������ff.�@��AVAUATUSH���dH�%(H��$�1�H���H�H����L�5�,M����D�%�,E��L�k0H�{8�DD�L��H��1�H)�H�C01ҾHǃ�����H��
�9���Ń����M����L������H����	�H���	H�@A�H�{4fD�C0L���t1��ƒ�A�4@�49�r�fA��1Ҿ�fD�c2A��?9������Ń����D��L����1������H���!)������H�=�,L�d$@��L�
�,M����L�d$@���1�L�	���L�����Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��m���Ņ���H���k(����tV������������
��ǃ����������H��$�dH34%(���H���[]A\A]A^ÐL�
��+M�������L��1�L� ������Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��}���Ņ���H���{'��������f���+������L�d$@�����������L�K H�CM���zH����L�羐PL���1����Y^Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)�����Ņ��H���&��������L�K(M�������L��1�L������U���Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)�����Ņ��hH���&��������������+1�������)��H�=��+f�H�D$)D$H�T$H�L$)D$ )D$0�D$H���1��0����u9H�|$H��t/�GH�����u�>fD�E���t-H�m(H��u��5��H�8�1��	��������E=���fA���}
H�u�_���.H�I�}H��H�S0��H�L�I�L�L��H)��H)։�����H�fD�c21Ҿ���4�����H�|$D�e�c4������q����H�u�1��	�=��������	��ǃ������I���D�g�[������+L�K M�������L��1�L�o�����Ƅ$L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)���������H����#�����M���p���L�K(M�������L��1�L�����w�Ƅ$L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��4�����H���4#������������H�c����	�������H�{����?���f���E������S0�����T�fA�T�����f�I��L��L��1�������}�����fo8��D$P)D$@�@���f�L�K���1�L�����L���,�Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)������Ņ��?���H����!�����n����=�+������x���@������������S0����T�fA�T���H�{�����1��?���f�L�
�+M���`���fo���
fA�|$A)$�c���H�I�}H��H�S0��H�L�I�L�L��H)��H)։�����H�fD�c21Ҿ�
��0���������fo���
fA�D$A)$�:�����S0�T�A�T�벐foX��
fA�T$A)$�.�����S0�T�A�T����H���1��	���>���H��1��	������H�Y�1��	���������/��H�d�1��	������H���H��1��	�������E���D��ATI��U��S��*����~RM��tM1��n��H��H��t>H��+L��H�CH��t!�kH���f����xH��[]A\�f.�H���x$��1�H��[]A\�ff.���USH��dH�%(H��$�1�H��������H����1�H����H��I����L�����H��1���Ƅ$�H��
H����������!�%����t�H������D�H�JHDщ�@Nj��H��1�H)�����Ņ�x=H�������tH1�@��H��$�dH3%(��u1H�Ĩ[]��H�E�1��	�
������������ff.����USH��dH�%(H��$�1�H��������H����I��H����H����1�L�i���H�����Ƅ$�H�ڋ
H����������!�%����t���������D�H�JHDщ�@�H��H��1�H)�����Å�x7H�������tB1ۃ���H��$�dH34%(��u,H�Ĩ[]�H��1��	������������t���@��AUATUSH���dH�%(H��$�1�H����H��H�l$@1��H��f�{0
���H��9��,��A��D$���fD�\$@�����D���E���,f�{0
��A�
Ƅ$�DŽ$�PASVfD��$�L��$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)���������������H���O���t(��������&��ǃ�����ǃ�Hc��H�������PЀ�	w��H����PЀ�	v��u�f�{0
�rL�d$ H�5�I�D$I�L$L��PI�D$M�L$PM�D$1����^_����L��H��$�I�t$fD�
H��H���H�H9�u$��D$D��$�f�D$B����T$H����"���������H��$�dH34%(��H���[]A\A]ÐA�
Ƅ$�DŽ$�EPSVfD��$��:���f��
A�
�*��fD�d$@����D$�����L�d$H���L��������1�H��T$f�L$B����������H��L�����������\�����f�{0
�)�����L��$�H��L�ҷ�D$KL��P�D$RP�D$_P�D$fP�D$mPD�L$t1���H��0Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��R�������H���R�����M�������~���ǃ�����������4���f.�1�H�T$ H�5�:�-�������D$ �oC8f��D$Hf�D$B�����H�u�.L��$��
L��L��$�H���v�H���1�UM��L�z�����L���n�XZ����H�L�1��	���&���H�����	��������������������O���H�������H���H��1��	�D$���D$�
���H�t��w���H����k����&���fD��AWAVAUATUSH��(dH�%(H��$1�H���R���H����������E1�A�H�l$����L��H��D��ǃ�����H�$H�D$��H�Hc��A�L��$��������L��������2L���?)�H��L��H	T�D����H�Hc��������H��I�����������?)�1�I��L��L	�Đ�����Ņ�xUt<H��������uF1�H��$dH34%(��uRH��([]A\A]A^A_�fD�������ǃ�����뼋����������ǃ�����렽���������AWAVAUATUSH��H�$H��HH�t$(H�T$0dH�%(H��$81�H����I��H��H�����9/tH�w�����]L���<���A�������EI�ٹ�1�L��$0L����L����Ƅ$0L��H����������!�%����t��L������D�H�SHDډ�@�A���H��1�L)�H���:�Ņ��`A�����)L���z����!H�D$`�\$HI�$H�D$H��$�H�D$H�D$PH�D$ H��$��D$H�D$8�(L��������*�����D$H����E1�H�D$PH�|$H�D$XH��D���H�Ic����	���A���H�|$�������2H�ڃ�?)�H��H��H	T�`D���H�Ic�����A���L�D$ 1҉������7����?)�H�t$H��H�L$H	�������Ņ��W����Hct$�A���1ɍFL�H�H)��L��D$H���D�\$E1�L��$oA�Ic�Ƅ0H��$zH�D$IcԹH�=��I�lH�����������0<+�<H��< �#@�1��*f���	
Hcȃ���oH��������� u�Ƅ$yf�H����� t�����J�1���	w6f���H���DB���JЀ�	v� uDH����� t�����1��"D��	
Hc�����<zH�����tp�� u�Hc�ƄzH����� t��tM1ɍy���Hc�H�����t3�� ����
t���fDH���< ���I��r�����E)�H��L��Ic�D�\$�����D����؉�A����0���ALJ�����H��$8dH3<%(���KH��H[]A\A]A^A_�f.��EH�]< u#@H���< t��PЀ�	wDH����PЀ�	v�< v%D)�A܅�����Ic�L��5����I��s�H���< w���DH�w������L������A��������H�LIST -L
�
L��$0H��$0f��$8�B���H���1��	�m�A�������ALJ���������H���1��	�>�A�������ALJ�������������DHc�Ƅ<�DH����� t���1����J�E1ɀ�	w=f���0K��H��Hc�L�J��JЀ�	v���H����� t������1��&D��
Hc�����<kH������������ u�Hc�Ƅk�H����� t��������y�1�@��	w=f���H���TQ���y�@��	v���H����� t���I����N���=����^���1����>D�G�D�D$@��:�@��:�7E1��|$@	v�����NG��H��F�DGЍy�@��	v��D$@H��1��� uH����� t��������1��D$L�)��
t)���
Hcǃ����H������������
u�Hc��D$LƄ<���
uH�����
t�
t�H�|$(����D�\$LH��$�V�L$HH��QRH��$�RL��APPL�D$hH�L$HH�|$`H�D$XL�T$p��H��0D�\$LL�T$@����L��1��~
���$���������|$@	wkE1�����NG��H��F�DGЍy�@��	v�D�D$@��:u5�NH�^�q�@��	�w�4�H���tq���y�@��	v�E1�����H��1����D$@���H���D$@1��r������ATUSH��@dH�%(H��$81�H���EH��I��H���&H���~����������H�勻�1ɺH�TYPE I
H���D$H�$�����������H���������M��M������,H��1�L����,�r��Ƅ$+H��
H����������!�%����t���������D�H�JHDщ�@�H��H��1�H)��/���xd����trH���z����ue���H��$8dH34%(ucH��@[]A\�H�����D�������f�L�K�%���H���1��	�d��@�����ǃ���������@��AWAVAUATUSH��H�$H���H�t$H�T$dH�%(H��$�1�H���tH��H���]H�|$�\H��H���������HE1�H�l$0L�l$ L��$��(fDH���������V����E����H�D$ 1��H��H�D$(��H�Hc���R����M��H�����������?)ѺH��1�H	T�01����A�Dž����l������1ɺL������A�ą�����L��H�|$H�D$��E���T���H�����A���D����e�ǃ�����H��$�dH34%(D��u{H���[]A\A]A^A_�H������A�������DH�@�1��	H�D$�`��H�D$L��H�|$��H�D$�Ћ��A��������ǃ������o������D��USH��H��tf���1��tH��tT��~H��Hc�1ɉ������Ņ�~H����[]�DuH�����H����[]�DH���1��	����ս�����@��SH������H��tV�H�5&H�������u<H���\���H��H��t,H���l����xH�sH���l�����uH���
���1�H��[Ð��H��tPSH��������t��ǃ���������tH�����������ǃ�����H���
��1�[ø����Ð��H����H����H�N`H����H�~p���GL�G ��
��	��H���Hc�H�>��fD�GU1�H��L��SH��H��H���(	��H�EpH�H�PH�CH��u�fDH��H�H��u�H�H��[]�H�XH��[]��@�G���G���G�s���@H�i
L��H�����ff.�H��H�e�E1�1�WA�1�1�P1�jjjjW1�jjjj�z�H��h�DAWAVI��AUATUSH��H�D�/H�t$A��"tA��'tA� �I��H�5�+�2�I��H���B1�A�2H�-�+�If�@��?����D9�|"H�g�+E�L��Ic�H����A�I��A�I��H��A�6Hc�Lc�Hc���|=t�A�� t	D8���A�� u��� w�H�&H��s�C�A��� wH�&L��H��r3H���+L���H��1�[]A\A]A^A_�f�A�A�� t�I�FE8.u�H�L$L�9H��[]A\A]A^A_�DH�=�H�D$�O���H�h�+L���H�D$H��[]A\A]A^A_�A��H�=ߧ����1���H��H�D$PAQAPQH��1�jjP1�AQA�API��1�jjjR1���H��x�ATUSH��dH�%(H��$�1�H��t}H��H��H��������xf1�H��1�����A�ą�xSH�l$0H�/�+H�}
�H��H��taH��D��H����D��H������xHc��+�H�Y�+H��@1�H��$�dH3%(H��u&H�Ġ[]A\�@H�=Ԧ���D���T����M�ff.�f�H���+ATA��U���xS�H��H��taH�xH�@H��H�@p)��Hx1����H��+H�
H�CXD�ch��tH��[]A\��
����H�C`H��[]A\�f�H�=D��T�����f�UI��SH��H��dH�%(H�D$x1�H���ʃ�߃�A��v(�Q@��?wH�������1�H��r��_t	��:��1�I��?H�����A�LH��H��dtm�ʉ�I�,��߃�A��vڍ�@�����vύ�(�����vā����QӃ�2wI��r�fD����H�H�\$xdH3%(H��uH�Ĉ[]�1�������S�
H�5A�H��H���dH�%(H��$�1���	�����Y�S
H�K
�=�w9��t5�p�y��+tY��:td��;t��%����H�����=�v�f���H������H��$�dH3%(�H���[�f���H����� ��뀉�H�����/���4/�h������H�����:���4:�H����@��2t@��3tT��H�����%���!�����Q��BtW��Fti��7tt��3tw��5uω��%D�Q��H�����f��Q��At��Bt1��Fu����?��D���+���:�1�������/멉��;롉��'뙉��#�����@H��t+H������H��t�x
t1�H���H�@0H����1��ff.�f�H��tcAWAVL�5H�AUI��ATI��UL��SH��H��H�4$H�|$H9kHtH�H��u�H��[]A\A]A^A_�@�{wߋCIc�L�>��D��1�H���L��L�����H�S H�5U�H��I����H�S(H�5h�L����H�<$L�����t����1�H��L��L�����H�S H�5�H��I����H�S(H�5��멐H���L��1�L���|��H�S H�5֢I��L����H�S(H�5��n���fDH9\$���H�D$H�X�����1�H��L��L�����I����1�H���L��L�����H�S H�5q�H��I����H�{(t-H���L��L�����H��tH�K(H�-2H��L���B���C8���h���DH�;L��I��L��L�����H�<$L���=������1�H�?�L��L���\��H�S H�57�H��I���f�H�S(H�5���N���fD1�H���L��L�����H�S H�5�H��I���&�H�S(H�5x�����fD1�H�ߠL��L������H�S H�5נH��I�����H�S(H�5ՠ����fDH�ѠL��1�L�����H�S H�5ȠI������f�H�ĠL��1�L���l��H�S H�5g�I�����H��H�5*�L���c����H��H�5�L���H������H��t7H��t2�G��
��w'UH���H��SH��H��Hc�H�>��f.���H��	�H�=q������M��w�H��`���������
���vH��H�޿
[]���H��	�H�=��7���DH���H�=�����z���f�H���H�=������Z���f�H���H�=�������:���f�H�i��H��1��:������DH���H�=ec������f�H��	�H�=&��w������f�H��	�H�=<h�W�����f�H��	�H�=��7�����f�H���H�=ڞ����z���f�H���H�=������Z���f�H�M(H��cH��1���V���k����H�M H��cH��1���6���M�<���fDH�} H���l���M�"���@���+ATUSH��H� ��t+H��tf��L�c H�(��L��H�5<�H�81���H�{ H�-I�+H�EH��t��H�EH�{(H��t��H�EH�{0H��t��H�EH��[]A\��H�{(t��L�c(H�(���H�(��H�5ܝH�81���H�{ ����H��t�<t	�,���@����H��tOUH��SH��H�H��t$D�G<H�H�G���H��H��u��E<H��H��[]����@��H����S�H����t0H���H�&< ��H������u< ��H���$���H����ta1��I�&�2�H�Q��t
H�q� H��H���3H��@�1H���1���t�� w�I��s�H9�E�H�����u��[�@1�H������U������j���1�[�f����1��fDAWE��AVI��AUI��ATI��U���PSH��H��+L�L$�H��H���H�H�@H�@�h��������M��t\L�����H�C M��tXL�����M��H�C(MD�L������H�C0H�D$D�{8H�C<H�CHH��H��[]A\A]A^A_�DH�C M��u�H�C(M��u�H�C0�@L������H��H���c����8uH�C H�H�+H���V���fDH���P��H�C ��f.�H�=%�����`���ff.�@AWAVAUATUH��SH��H��(�t$H�T$L�D$D�L$H����H�����I��H���lH�t$H�����I��H���L��H�}@H���4��L��H��I���f��I��H���z�=k�+~/H�������H�(��M��H��H�T$H�8H�5��1���L�L$`D�D$L��L��|$H������I��H�-�+H�EH��t	H���H�EL���M��tL���UM��tL���UH��(L��[]A\A]A^A_�DL�����I��H���$���H���rH��1�jL�L$H�
͙E1�L�D$ �k�XZ��H��H�
��H��1�jL�L$�rL�D$ �:�H�c�+YL��^E1��e���@H��I��H�
g�1�jL�D$ �rH����AYAZH��H�t$���H��H���K���H��+������H��1�H�
R�H��ATL�L$�sE1�L�D$ ��_AX�����S�H�(���L��H�T$H�5��H�81����^���H���OAWAVAUI��ATA��UH��SH��H��(�H�[0H���FH�CHH��t�H�xH��t�H�5�������t�H�{H�5��������!H�5)�H�����I��H����H�5��H���W����D$���KL�5�+L��A�D�D$H�5~�H��D�D$���H���H�5S'H��I�����D�D$1�M��H��L���H�D$�9���L��H�D$A�H�D$L�T$H��t7H��t(H�uH�hH��u�(�H��H�H��u�H��x�M������L�58�+L��A�H�[0H�������H��([]A\A]A^A_�fDH�{H�5���P�����udH�{H�5���<�������H��E��H��AUL�i�H�
ԕH�f����AXAYD�d$E1�H���%����'����H��E��H��AUL��H�
�H�j��m���AZA[��D�d$E1�L�5Q�+�g���@��H�E����H�{�t$H��H��L�T$�x���L�T$����H�{H�5��N�������H�{H�53��6�������H��E��H��AUH�
�H��L������ZY���H�5��L������D$�������H��E1�M���tjH�
��H��H���:�A^XD�d$�f���H���H��E��AUL��H�
d�H�O��2���^_�v���H�{H�5���k�����t4H��E��	H��AUL�ՓH�
�H�\����A^A_�.���H�{H�5u��#�����t0H��E��
H��AUL�T�H�
$�L�����AZA[���H�{H�5�������t4H��E��H��AUL���H�
�H�ߓ�`���AXAY���H�{H�5������t2H���H��E��AUL��H�
��H�������^_�\���H�{H�5��Q����������P1�H�ےE��AUL����H������ZY����ff.�@H����ATUH��SH��H��H���Q���I��H��t9�8�H��HE����H��tp�xt:H�s�+L��1�H��[]A\�H��H�����H��t�xu���H�9�+H�D$L��H�D$H�@0H��[]A\�D1��DH�	�+H�D$L��H�D$��H����H����ATUH��S�?H��tGD�(�+H��E1�1�1���T���H�KpH��uH�Cp1�[]A\�H��H�H��u�H�1�[]A\�H����I��H��t)1�H��H��H���(L��H�\�+x	�[1�]A\������븃��@AWAVAUATUSH��HH�|$�L$dH�%(H�D$81�H���YH���PH��H��L�l$0H�&�
��I��H�D$(H�$������< wH��s H���< ��<-u
�{-��H�D$(H��L��H�D$0��H��H���MH�|$0H��tZ�< vaH�j�+1�M��tH�Z�+L���H�L$8dH3%(����H��H[]A\A]A^A_�H���^������s���1�M��u��DH��s�f.�H���< vmH�5���9�����tuL�%޸+H�|$0A�$H��L��H�D$0���H��H����H�|$0H��tA�$H�|$(H���dA�$������%���H��r�H�5+�������u�f�H�|$0H�5ߐ�������L�%P�+H�|$0A�A�$H�D$0H��L���M�H��H���l���H�|$0���H��t1H�|$0H��tH�D$A�$H�D$�8�yH��A�$H�D$0�< �H����@H���< ��H�4$H�����H��H�����A�G��|@H�|$(L���c���H��tfH�t$0E1�E1�1�D��H��H�D$��H�t$0I��H�D$L��H�x`�h�L�\$��yM��tA�<t
L����L�\$L��A�$�H�|$0H��tA�$H�|$(H������A�$�����A�
< �O���H���
���A�G�w��7���H�|$0H�5=�������t$L�%��+H�|$0A�A�$H�D$0�V���H�|$0H�5@�����L�%n�+E1�H�|$0A�$H�D$0�;%A��A��H��L�����H��H��������< �W���H���M���f�H���< v%H�4$H���)�H��H������C����H��r����H�����������SH�C��u,�����M���V���������X���D��-tH���ʄ�t��H��-u���H��H���������H�D$0���H�|$0H�5����t7L�%R�+H�|$0A�A�$H�D$0��������M����������H�|$0H�5���a��t$L�%�+H�|$0A�A�$H�D$0���H�|$0H�5q��(��t)L�%ʹ+H�|$0A�A�$H�D$0�b�������H�|$0H�5<�����tL�%��+H�|$0A�$H�D$0�c���H�|$0H�5����u�H�|$0H�5������L�%C�+H�|$0A�$H�4$H��H�D$0�E�H��H���d����D$H�|$(��tY1�H��E1�E1�1ɿ��H�t$(I��H�D$L��H�x`��������M�������A�<�����L���(����L����I��H�������H�|$H�����L��A�$�n���H�|$0H�5)�����tOL�%j�+H�|$0A�$H�4$H��H�D$0�l�H��H�������M��tL��A�$H�|$(�J���I���
���H�|$0H�5ʋ�a�L�%
�+H�|$0��t<A�$H��L����H�|$0H��H��t2A�$H������������M���i�������A�$H�D$0���H��������=���H��H�=R��`���H��t
�y�+����N�+H�K�+H���fD��H��tWUH��SH��H�pH��tD�<H�t��H��H��u�H�}`H��tH�5J����H��+H��H�H��[]���ff.�@��SH��H�|$H��tU�?uP���+��uH�`H�T$H�5���詼��1�H��[Ð�;��H�����H�5<�H�81���H�|$�fD������ʐ��AUI��ATUSH���Z�H����L��1�H���D��H��H��H�������I��H����L���<�I�,$H�} L��I�D$���L��H���|���H��tjHǃ�H��ǃ�ǃ�ǃ8����C��tH�kH���N�H��H��[]A\A]�H�{1��e���H�C��L���@��H��u�H���{���H���o�����k��1�H���t��Z��H�5�1�H��1��������H��1����H�����k���f�H����H�0��AWAVAUATUSH��H��H�=��+���H�{��H�=��+H�k0H��thH�����H��H��tDD���+E�����{��H�kH�=�+�C<����H��1�[]A\A]A^A_�f�D�q�+E���pH�k0D�s8H����H�����I��H����D�<�+E��t*����L�(���A���Z��H��D��H�5:�H�81�A��L���m�I��H���aH�xH�5̅�A����II�EHH���<H�xH���/H�5������H��E1�E��1�1���D�H��H���H�5��L���y��I��H��t)H�5"�H���������A�H�]�+L���I�}1�H��D����L������{H��uH�EH�=�+H�C�E<����+����H�s0H�=�+H����H�=�+�L��1�H��[]A\A]A^A_�H�m�%�����S��L�k0L� ����L��H�5|�H�81�A�����H��H�
U�E1�1�j�uI��L���N��ZYL���4����CH�=F�+������o���f��
��H�/�+H���>�����������L�k0L� �O��L��H�5I�H�81�A���������L�c0H�(���L��H�5˅H�81����i���f�H�5��L������tKA��N���f�D�
��+E���,����+��L� ����H��H�5��H�81�A������@������H��L��1�E1�jM���tH�
�� ��^_���f�AWAVAUATUH��SH���dH�%(H��$�1��G@��2��H�ӍPI���W@H���`I���D$E1�E1�H�D$�5@��	u#I�} �z��I�u H�߉��L���A��DM�mM��tgA�E��������u�I�} �6��;D$~�I�u ��H�߉D$��D�L$��H�D$DEL$ID�M�mD�L$H�D$M��u�DH�|$���5&�+����H�D$H�x0�8���H��tHct$H��H��S��m@H��$�dH3%(�H���[]A\A]A^A_�fD������A������I�u H���������=��+���
�m@H��$�dH3%(��I�}0H���[]A\A]A^A_選���E���WI��E1���M�$$M����A�|$	u�I�|$ ����I�t$ H�߉�����u�E���L�|$ A�F�M�l��I�|$0I�7�;���u�I��M9�u�A��2��I�|$�m�
��+����I�|$1�H����H���Z������DE1�H���"I��E1��@���gM�$$M��tNA�D$�����u�I�|$ ���I�t$ L���������u�1�A�|$8M�$$��A�M��u��E��� H���f�H�H�����{u�{8u�H�{ ���H�s L�����q���u�E����L�l$ A�D$�M�|�DH�{0I�u����u�I��M9�u�A��2�\H�{�f���+���sH�{1�L���H���\����d����I�t$ L�����������=�+�����m@H��$�dH3%(�NI�|$0����H��A�����M���k���I��I��M	�E��u�w�M�$$M��tgA�|$u�I�|$H��teM��tH��L���H��������}@2~�1�����*��L� H�D$L�p ���H�5̀H�8L��1�A���L���f��E@���E@1��a���L���8���I�|$H���j������m@H������1���H��E1�H�
{1�jL�G �v����AX1�AY����I�T$0Ic�A��H�T� �����z��I�T$0L�(H�T$���H�T$H�50�H�81�A��I�|$H�������i����<��M�l$ H�����L��H�5�H�81����L������M�u0M�e H����L��L��H�5ozH�81�������L���3���I�|$������z���f�H�S0Ic�A��H�T� ���H������H�{����������H�S0L�8H�T$�*��H�T$H�5�H�81�A��H�{H���Z�����������ff.�@AWAVI��AUATUH��SH��H��H���Q�I��H��t�8�HE�
H�5_|H���	������
H�5C|L�������u�@H�H��t0�{u�H�{H��tIL��H�����I��H��uH�C�x@2~�@E1�M��tH�	�+L��H��L��[]A\A]A^A_�f�H�����H�{H��t��DH���`���¸+I�Dž�u+L��H��H���EI��M��t�H���+L�����H�������H�(���L��H�5)~H�81���L��L��H����I���fDL������I�Nj?�+��t(M��������L� �]��L��H�5�}H�81�A��H����L��H���W���tI1�H��H���I���<����y��L� ���H��H�5xH�81�A��L��1�H���RI�����L��H�����:��L� ����L��H�5�wH�81�A���p���1�L��H���I������fDH��tH��H	�t���fD1��DAWAVAUATUSH��dH�%(H��$�1�H����I��H�����@2��H��H��E1�E1�H�$E1��4@��u#H�{ 蒽��H�s H����d����A��DH�H��t`�C��
������u�H�{ �P���D9�~�H�s ��H��D$���D�D$��H�$ED�HD�H�H�$H��u�f.�H�<$��G�+���;H�$H�x0�Z���H����H��$�dH3%(��H�ĸIc�H��[H�]A\A]A^A_�K��������A������H�s H���$��������
��+���H��$�dH3%(�AH�{0H�ĸ[]A\A]A^A_魯��H��L�G 1�E1�jH�
Wu�v�=��^_1�H��$�dH3%(��H�ĸ[]A\A]A^A_�DE����E1�L�-&{�M�?M����A�G��	t��u�I� 譻��I�w H��������u�E���H�\$A�D$�L�t�I�0H�3�����u�H��I9�u�A��2��I������+���I�H���(H���_�������f.�E��u���fDM�?M�����A�u�I�H��tH����H��t�����f�L����I�H��t���DH�����������H�H�$L�` �'��H�5;yH�8L��1������I�W0Ic�A��H�T�����L����I����������@�;��L�c H�(����L��H�5�yH�81����������M�w0H����L��L��H�81�������衰���H����ATUSH��H��H��twH���
H�5vH�������u�jf.�H�H��tH�{u�H�{H��tH�����H��t�H��[]A\�H�����H�{H��u�H�H��u��1�H��[]A\�DH���H��I�ċ��+��tVM��t]�1��H�(����L��H�5GxH�81���L��H��1����H�t�+L��H�D$�H�D$H��[]A\�@1��M��u�1��{�������H��l��H��H�5KxH�81���1��V���@��ATI��US� ��H��tK�5e�+�H�����H��H��t@L��H�ǹH����H��A��H�Н+�E��x1H��[]A\Ð1�H��[]A\�fDH���+H��H��[]A\�@H��1�������ff.����ATUSH�����H����H���<-������<<t2��߃�A<vH���fD��߃�A<vjH�����t[<-tW<<u�5u�+����I��H��t D�\�+E1�H��1�1�����I�D$pH�ܜ+H��L��[]A\��<<t��5�+����I��H��t�1�H��H��H���\���y�L��E1�����H���+H���E1��f.���H����H�����L�+ATUH��SH����uV�;u!H�{pH��t81�H���n���H���t([]A\�H�{`H���d��H��t[H��]A\�#���[1�]A\�f��{��L� ���H��H�5vH�81�A����1��D��H����H�������+ATUH��SH����uV�;u!H�{pH��t81�H�����H���t([]A\�H�{`H�����H��t[H��]A\�s���[1�]A\�f�����L� �c��H��H�5puH�81�A����1��D��H��H	��XH���OAUATI��UH��SH��H���֮+��t6H��t	H����H�����N��L�(����H��H�5�uH�81�A�Ճ}u.H�}pH��t^L��H�����H���tMH��[]A\A]�f�H�}`H��t0H��tBH�����H��tH��H��[]A\A]�c���M����H��1�[]A\A]�f.�M��t�L���c��H��u���@���L�(�+��L��H��H�5GtH�81�A�Ճ}�>����g�����[��L�(����L��H�5uH�81�A������@1��DH�}`�|������H����H�����l�+ATUH��SH����uN�;t)H�{`H��t2H�����H��H��t"[]A\�_����H�{pH������H���u1�[]A\�����L� �;��H��H�5vsH�81�A����1��ff.�f���H����H�����?tH�`H��H�5���颣��f�AVAUATUSL�wp1�H���:���H��H����H�
mH�HmH��H�5Lo聼��H��H���F���1�H�5�k1��v���I��H��t`1�H�oH��H���Z���I��H��tdL�``H��H������E1�L��L��L��H�����1�H���U��H��t�1�H��H��莴��[H��]A\A]A^鞣��fD�[]A\A]A^�L���6�����@��H����AWAVAUI��ATI��UH��SH��H���?�xL��H�56w�����
��t@E1�E1�1�L��H�����H�{`I��H����H��L��H��[]A\A]A^A_�\��@L��H�5�o�y�����u�L��H�5�o�a�����u�L��H�5���I������t���L��H�5%��-������X���L��H�5Qo�������<���L��H�5>o������� ���L��H�5+o�����������L��H�5o���������L��H�5o����������H�5�nL��������VD������4fDL�wpM��t�A�F����w�M�~M����H�5��L���7��A����I�^H��u�H�H���LH��H��t�D9Su�H�s H��D�$����D�$��t΋
��+���YH�{(H��t	H�x�+�H�{0H��t	H�f�+�L���|���L��H�C(�p���H�C01��^��2�+��t&D�$轿��H��U���L��H�5�oH�81���D�$E�F8E1�1�L��H��D�����I�FM���$1�H��[]A\A]A^A_�H�5�kL�����A������H�5�kL�����A�������H�5�kL������A��������H�5�kL������A�	�������H�5�pL�����A�
���n���H�5�kL�����A����Q���H�5�kL���k��A����4���H�5�jL���N��A�������H�5�jL���1������A����fDA�FI�v0H�=��+���H�������I�VH�P���f.��
����H��H�C`�%���f.��b�+����E�F8E1�1�L��H��D������H��N���L����M�~�9���躽��H�(�R���L��H�5HhH�81�������5��+������艽��H��!���L��H�5�gH�81��������ÿ�U���D�T$�S���H�H�$���L��H�52mH�$H�81���D�T$�6������H���#H���AVAUATUH��S�?t*H�`H�����������D�[]A\A]A^��L�gpM����A�D$������I�\$H����L�%]g�B���+��t&H�{ tg肼��L�s L�(����L��L��H�81�A���C����H�H��t-H�s H��tH�������u�H�s(H�������u�H�H��u�1�[]A\A]A^Ð����L�s(L�(�f�L���X�I�\$H���V���1���fD�����ø�����������5��+��t"S��7���H��H��tH�x`tH��[������fD�
�V��H�C`���������H��t/�?t-H�`H��tH���K����t7��H������f�H�WpH��t�r�N���w�1�H�z��Ð�H���fD���b�+��tÐAWAVAUATUSH������H�=F�+�a���H�=i�%���H��t
�>�+H�=&�+tH�=�+H��[]A\A]A^A_邽��H�=�j����5p�+�H��H��H��jHD����I��H��t�H�&L�`pI�&�����< vnfDH��DH����� w�I��s��H��)�H��跔��I��H��t�D��+E1�1�1�H������L��H��I�$LE�H�_�+��H��s#f�H���< w�H��r�uL�5�+��1�I��H���`����ff.�����+SH����t6H�=ע+��H�=Ӣ+H��t&H������H�=��+���0�����[�@�#���ÐH���8���H��tH�=��+1�H���+�����[�H�=s�+������������H����AUATI�&UH�&SH��H��������< vl@<:w1�I��H��r%H��fDH�����:w�I��s��H��)�H������I��H��tH���?���H��+L����H���<:t��H��s�f.�H���< �y���H��r��o���H��[]A\A]������b�+��uÐSH�=X�+�s����e�+��uqH�=R�+H��tH�5�����H�=2�+H�/�+H��t�u��H�=�+H��+��+��+�j���H�=�+[����D胷��H�����H�5�gH�81����o���������+SH����tH�=��+H��[�ޞ��fD�c���H�=��+H��[�Þ�����b�+SH����tH�=_�+H��[�n���fD�#���H�=D�+H��[�S�����UH��SH��H����+��tH�=�+H��H��H��[]鮲��fD�ӟ���ې����+SH����tH�=ߟ+H��[鮚��fD裟��H�=ğ+H��[铚����H��t?���+SH����tH�=��+H��[�i��f��[���H�=|�+H��[�K�������R�+ATI��UH��SH����tEH�=>�+�Y���H�=:�+H��t=H��L��H���/���H�=�+��葸����[]A\�f.��{���f�H�5�aH���Q����u
H�=ޞ+�@�5J�+����H��H���+H��tD�*�+E1�1�H��1���V��H�CpH�=��+1������n���ff.�@���b�+SH����t.H�=W�+�r���H�=S�+H�����H�=<�+��起����[Ð������f�����+S��t1H�=
�+�%���H�=�+虘��H�=�+���k�����[��軝����f����J�+�D��US��H���Ɲ+��t.��t=��ty��tT��u�B���H�(�ڴ��H�5�dH�81��Չ��+H��[]������H�(諴��H�5�^H�81�������H�(苴��H�5�^H�81�����ӳ��H�(�k���H�5dH�81����ff.���ATU�-s�+S��t<��+����t*��t5��u&胳��L� ����H�5�^H�81�A��@�2�+��[]A\��S���L� ���H�5|^H�81�A����f.���������+H��=~�+�D��SH���M�+��u�#�<H�t����H��H��u�H��[�@H�|$���H�|$�������+ATUH��SH����tXH��tI��+��uYD�b�+E1�1�1�H�����H��tH��tH���
�H��H�H��u�H�H��[]A\�f��{����f��;���L� �Ӳ��H��H�5�bH�81�A���ff.�@��AUATI��UH��SH��H���?�+��tH��H	�tg�I�+��t2H��tH��usH�����ű��L�(�]���H��H�5NbH�81�A��M��t&H��H��L���H�H�P�H���wH��[]A\A]�H��1�[]A\A]�蛚���w���fD�[���L�(��H��H��H�5�\H�81�A���@�3���L�(�˱��H��H�5�aH�81�A���i���@���R�+ATUH��SH���tHH��t3�U�+��uIH��t$H��H�����H�P�H���w[]A\�f.�[1�]A\�f��ۙ���f�蛰��L� �3���H��H�5n`H�81�A���ff.�@��USH��H�����+�������+��tcH��tNH���+H��tBH�xpH��t H��1�����H�P�H���vmH�n�+H��tH�x`H��H��[]鿸���H��1�[]�����H�(�{���H�5�[H�81��Ճ�+�v��������a���fDH��H�8$��1�H�=��+����Ә+H��H��+[]�ff.���USH��H�����+�������+��tcH��tNH���+H��tBH�xpH��t 1�H������H�P�H���vmH�n�+H��tH�x`H��H��[]����H��1�[]�����H�(�{���H�5�ZH�81��Ճ�+�v��������a���fDH��H�8#��1�H�=��+����ӓ+H��H��+[]�f.�@���ǟ�����H�=t�+tÐH���G���H�`�+H���ff.���SH��H�=A�+H�����#�����+ǃH��`H����܇+��H�o�+H�CH��+H�CH���+H�CH�.�+H�C �̗+��H�+H���H�Ɂ+H���H��PH�4�+H���H��+H����Q�+���5�+��0H�`�+H��8�#�+���C�+���?�+�� �;�+��$H��]H���+��(�ɖ+��,���+��H�Ĉ+H���H���+H���H���+H���H���+H���H���+H��@H���+H��HH���+H���H�j�+HǃXH���1�Hǃ�)�������H�H�=n�+[�ا����+���H�=T�+����ff.�@��H��H�=q+����H�=%�+H��t����H��+H���'������UH��SH��H��H�=�+�Դ��H�-��+H��t H���+H�=ʕ+H��[]�/����H��+��ff.�@��UH��SH��H��H�=��+�t���H�--�+H�=v�+H�/�+H��[]�Ԧ��@��H�u+H�
�+H��H�:��UH��SH��H�=,�+����H���+H�=�+H��+H�-�+��p���H��H��[]�fD��H��+H�
~�+H��H�:Ð��UH��SH��H�=��+觳��H�P�+H�=��+H�z�+H�-s�+�����H��H��[]�fD��UH��SH��H�=l�+�W���H�0�+H��t#H�=T�+H�-�+踥��H��H��[]�fDH��+��ff.�@��UH��SH��H�=�+���H�ȓ+H��t#H�=�+H�-��+�X���H��H��[]�fDH��+��ff.�@��H��������tH�p+H���苔��H��H����H�������tH��|+H����[���H��HX���H��賥����tH��{+H����+���H��H���H��胥����tH��}+H������H��H���U��SH��H�=�+�ر��H�=�+���+�-��+�@���H����[]����H��������tH�hz+H���苓��H��H���U��SH��H�=}�+�h���H�=q�+�;�+�-5�+�У��H����[]����H��裤����tH�z+H�������H��H��(�f���H���s�����tH�`|+H������H��H���f���H���C�����tH��y+H���軒��H��H���U��SH��H�=��+蘰��H�=��+���+�-��+����H����[]����H���ӣ����tH��|+H����K���H��H����H��裣����tH��|+H�������H��H����H���s�����tH��|+H������H��H����H���C�����tH��y+H���軑��H��H����H��������tH�x+H���苑��H��H���U��SH��H�=}�+�h���H�=q�+�3�+�--�+�С��H����[]����H��裢����tH�(x+H�������H��H0���U��SH��H�=
�+���H�=�+��+�-�+�`���H����[]����H���3�����tH��z+H���諐��H��H8���UH��SH��H�=��+臮��H�=��+H�y�+H�-r�+���H��H��[]���H���á����tH��{+H����;���H��H���U��SH��H�=-�+����H�=!�+��~+�-�~+耠��H����[]����H���S�����tH�xz+H����ˏ��H��H���U��SH��H�=��+設��H�=��+���+�-��+����H����[]����H�������tH�y+H����[���H��H ���U��SH��H�=M�+�8���H�=A�+�/�+�-)�+蠟��H����[]����H���s�����tH�@v+H������H��H$���U��SH��H�=ݍ+�Ȭ��H�=э+�Ǎ+�-��+�0���H����[]����H��������tH�0y+H����{���H���fD��H���ӟ����tH�Hx+H����K���H��H(���U��SH��H�==�+�(���H�=1�+��+�-�+萞��H����[]����H���c�����tH��u+H����ۍ��H��H,���U��SH��H�=͌+踫��H�=��+�g�+�-a�+� ���H����[]����H������tH��w+H����k���H��H���U��SH��H�=]�+�H���H�=Q�+�3�+�--�+谝��H����[]����H��胞����tH�8v+H������H��H@���H���S�����tH� w+H����ˌ��H��HH���H���#�����tH��t+H���蛌��H��H����H������tH��s+H����k���H��H����H��H�5!H�=��+赖���p���H���+H���`�����SH��H��X����H��[�y����S�(�q���H��H��t
�}+��uH��[�f.�H��1��6���H��[��H��t'��|+SH����u	H��[� y���[���H��[�y��f��ff.�@��H��t
��|+��u�@�S�����H��t
��|+��u�@�����S�h豝��H��H��t
�S|+��uH��[�f.�H��1��v���H�{81�H�C(����H��[�ff.���H��t7�|+SH����u	H��[�@x���{���H�{8�R���H��[�)x��f��ff.�@��H��t
��{+��u�@ATUSH���\����k(褧��I�ą�t+H9C0t?�C,H�k8�H��H������C(��u�k,L�c0�C(H��[]A\黛�����k(����H��t
�1{+��u�@SH���߶���k(u�C,��uH�C0H��[�q����H�{8�g�����D��H�=�t+tH�=�+閶��fD�ff.�@��H�=�r+tH�=��+����fD�ff.�@���ff.���US1�H���nz+��t&H�5��H�=��+藙���=��+蜆��H��H��tH��H��[]�f.����衐��H��H��t)H������=S�+H��賝��H��H��[]�f�軝��H�(�S���H�5�NH�81��������y+��tH���ɥ��H���@�ff.�@��1��Մ��D��1��%���D���=uy+�t�f�H�=Pq+��H�=�o+��!�H�=�q+��!�H�=�p+��!�H�=�q+��!�H�=s+��!�H�=to+��!�H�='s+��!�H�=�p+��!�H�=�p+��!�H�=�q+��!�H�=�n+��!�H�=�q+��!�H�=�q+�„�tH�=�o+t��x+�D��x+�D��H����x+���t=���t%H�5��H�=��+街���l���H9��+����H���f.��[���5x+����&x+��u�P�+��H���=N�+�a����/�+H���f�H��H��LE1�1�WA�1�1�P1�jjjjW1�jjjj芋��H��h�DH��H�5lE1�1�WA�1�1�P1�jjjjW1�jjjj�J���H��h�DH����AUA��ATUSH����H��H�#q+�H��H�����A����������>����&����"����	����
�#E��uj�&#xAH���B�;H���;tbH��A�L$�H)�Hc�H9�~!H��H�
n+E�Ic�H����Hc�H����<�w���E����A����H���
H���;u��H��[]A\A]��A��u��&gt;H���k���E��tA��u��&ampH���B�;�J���f.�E��u��t;�&quoH��f�J��#���E���s����&#x9H���B�;����@�&lt;H�������
�C����&#xDH���B�;����@H�=f�H�D$���H�D$H��[]A\A]�1��H�=�6����1�����f�H��I��H��t�WHH��H��
A�1�QH��1�P1�jjjjjjjjR1����H��h��H��H��IE1�1�WA�1�1�P1�jjjjW1�jjjj躈��H��h�DH����ATUSH�o0H��H��tgH�}H��tvHcU1�H���o���L�%�m+H�}A�$H�}H��tHcU1�H���H���H�}A�$f�H��EEA�$I�$H��[]A\��L�%�m+H��[]I�$A\��@L�%�m+��H�=(I�<���ff.��H����AWAVI��AUI��ATUSH��H��H�H�kH���H��t�9Ct#HcЃ�L�,�L�t��H��[]A\A]A^A_�D�$H�-k+Mc�I��L���UH����H�CH�{L���UH��H����H�CH�{D�c��DH��tH��H�=gH[]A\A]A^A_�a����L�%ik+��A�$��H�CA�$H�SH�CH��tvH��tqH�zH�H��H��H�BxH)�������H�H�CH�xH�H��H�@xH)����H����H��CH�{�H�k����DH��H�=�G[]A\A]A^A_���fDH�=�G���@H9�t3H��t6�1�H��u�:f.�H����t�:t�1��@��f�1��>����1�������USH��H����L�WH����L�NH�^M����A�H��������M����D�_1���A9�SHc��	H��A9�EM��1�M��tI�pL��� �����t�M��tM�@H��H��L��[]����f�H�=�I1����H����[]�f�L�
1L�˽E1�M���v�����H��t��L�
	��t�M���O���1�H����[]�H�����,�������AVAUATUSH����H��I��H����L�VH�nM����H��H��HD�A�:��E1�L�[M����D�A����Mc��DI��E��xvO��N�4�1�M��tI�qL�������t�1�M��tI�qH������A�ą�t9I�EH����H�SL��[H�9]J�2A\A]A^��DH�=�HE1��!���[D��]A\A]A^�DL��A�L���7���H��tE1�}L��A������@L��L��E1�}A�����fDA����H9�t'H��t%H��t
H�vH�鰀����f.�1�ø��������H9�tgH����H��tIH�GHH�VHH9�tlH��ttH��t2H�xthH�zt$UH��SH��H��H�rH�x�;�����tH��[]ø�f.�1��DH�uH�{H��[]����DH�vH�����������ff.�f�H��t#SH��H�H�5��'�����u1�[��1��DH�{H�5�m����[�������fDUSH��H����H��H����H��H�~ H�}tOH�5yC�ˤ��H�uH�{ 辤��H�{ H�5"认��H�uH�{ H��t2H� �xo��H���[]�@H�52C�|���H�uH�{ H��u�H�5��c���H���[]��H�=�B���H��1�[]�ff.����'������AUATUSH��H����H��H����H��H�~ H�59F���H�EHH��tH�x�(�������H�uH�{ �ã��H�{ H�5�O賣��H�uH�;��r���H��H��t71�H�����L�-)f+H��I��A�UM����H�{ L���j���L��A�UH�{ H�5��S����H��[]A\A]�H�=�A��H��1�[]A\A]��H�EHH�{ H�p����H�{ H�5�#����*���f.�H�=�A�$���1����H��HdH�%(H�D$81�H��tH��t�~t(�S������H�L$8dH3%(uAH��H�fD�oF�oNH��H�v(D$HH�p(H��t
�zuH�R(H�$H����5v��DH��H�-AE1�1�H�1APA�1�W1�R1�jjjjP1�jjjh��?��H��h�f.�H��tlAVL�5�jAUI��ATI��UH��SH�H��H��u-�<fDL��L��H���2o��H��u%H�[(H��tH�EH��tH�S(H��I�<$�Ѕ�t�1�[]A\A]A^�1��ff.��USH��H��t4H��H��1�H��t �H��H���5H�[0H��t��y�H��[]�H�=P@��������ff.�AWAVAUATUSH��hdH�%(H�D$X1�H����H��H����H�GH��H��tiH�V(H���A�ŋC����H�5�E��Hc�H�>��DH�=�@��@1�H�L$XdH3%(��H��h[]A\A]A^A_��F����H�5�E��Hc�H�>��f�A�L�c`M��u�@M�$$M����I�|$�q}����~�I�|$�k��I��H����H�8�O}������L����l���DH�=U@���������4���f�H�=c@�t������������f.�H�=W@�T�����������f.�H�=@�4������������f.�H�sH������H�H�E(H�D$XdH3%(�IH��hH��[]A\A]A^A_���E�������}(H�} ��H�5??����H�} H�s���H�CPH�} H��t	�8���M(���
H�5?�˞��1��&���@E������H�{PH���
������H��H���%H�} H��舞��H�!a+H��1�����DE�������U��������}(H�} ��H�5�>�B���H�{PH��t.���H��H����H�} H������H��`+H���E(H�} ����H�5d>��1��K���f�H��<E1�1�1�RA�1�PH��AP1�jjjjR1�jjjh���z��H��`��������DH�E0f�)D$0)D$@H����
�PH��T$8H�D$0�D$E���}�}8�C�����o
H�5����1���}��H�D$H���iI��E1�DM�|$`M��u�f�M�?M��txI�WH�{@H���8p��L9�u�L�������u�H�EH��tH�}H��L���Ѕ�t�H�}0L�����E��������I���y��M�?���DD�M��u�DM�d$(M���Z���E��tEA��u?f�H�5�t+)�t+)�t+H�}0)st+�~��uH��H�=`t+�+���L�t$H��H�5��L���Aj��L���~��E�����{�0H�5��1��|��I��H����
�E8�������X����L�{XM���sH�D$E1�H�D$�XI�HH��tQ�:�����tHH�|$��
M����	H�|$u+I�H�5���I�����tL�|$M�0M���3E��u�H�EH��tH�}H��L���Ѕ�t�L��L���
~�����H�|$L����}���]���fDH�}0H��L���D$�%�D$�3���@�E,�D$��tH�E(H�} H�5%赚��H�CHH��t.H�x��w����~!H�CHH�} H�p莚��H�} H�5a�~���H�sH�} �q�������@H�E0H���b	�P�P��P�K���L�sXM��t4�H�EH��tH�}H��L���Ѕ�tL��L���}��M�v0M��u�H��H�5��L���)h��1���y��L���|��E���VH�sH��tH���P�������E���QH�E0H������H�T$0H��T$8�P1����@���H�5H�1��!z��H�D$(H���H�E@H���~L�8M���rA��D$E1��@E1�A�H�{@L��H���xl��I��H��t`H������uTH�EH��tH�}H��L���Ѕ�t;H�}0L���/�E���'���
I��%v�����ED$�D$DH�E@N�< I��M����H�5�7L��茙�����T���H�5�L���u������=����A����L�sXM��t4�H�EH��tH�}H��L���Ѕ�tL��L���,{��M�v0M��u�E���zH�s(H��tqH�EH��thH�V(H�}�Ѕ�uZL�s(M��tQ�M�~XM��t6�I�HH��t���tL��L���sk��H���8M�0M��u�M�v(M��u��E1�H��H�5��L����e��L���w��L���+z��H�} H�5��{���H�sH�������H�} H�5��^���H�CHH��t.H�x�t����~!H�CHH�} H�p�7���H�} H�5
�'���H�sH�} ����H�} H�5��
����D$���?����E,�E(�0�����D$E1�L�CH�D$M���qL��L�D$ �k����E��L�D$ thH�EH��tL��L�D$ H�}H���L�D$ ��t,L�UL�MH�}0L��L��L��L�D$ ���L�D$ ���H�}0L��H��L�D$ ��L�D$ I�x�s�����ED$�D$L�cXE���D$ M������fDH�EH��tH�}H��L��Ѕ���L�UL�MI�t$HH�}0L��L���/�I�t$HH�}0H��A����E��u�|$ tI�t$HH�|$(�x��I�D$HH�x��r�����ED$�D$f�M�d$0M��tVI�|$HH��t�����W���I�D$HH��t�H�x�r����u�I�D$HH�x�r�����ED$�D$���D$t�|$ t
�D$D	���D�t$ t�D$�SL�t$(H��H�5��L���c��L���tw�������H�5��輔��1���DH��H�5��L����b��1��t��L���/w�����f.�H�=�3��H�=�6�������H��H�M6A�61�PA�E1�1�j1�1�1�jjjjjjjh��Tq��H��`L���a���fDE���W���H�|$��H�t$L����v��M����L��L����v��H�|$�lH�D$L�x(M���$H�D$H�}�H�p�u���H�D$H����H�D$H�@(L�p(M����H�EH����H�

V+H�L$(�XfDH�|$L���Ӗ��H���+L��L�|$(H�D$ A�H�|$A�H�D$ H�D$M�v(M���wH�EH���jI�V(H�}L���Ѕ��UH��[H�5�L���S`��H��t�H�pH�}�蜇��I��H����H���p�����O���H�A�|�.�A���H�5��L��肑��H����I���!����H�=�1����	����H�5�2�\����R�H�{@1�H���e���D$I��H���
����h���H�57G�$���1���DH�5[4����H�{P����H��H����H�} H�����H�T+H��H�} ���H�|$(L���t�����H�}0H��L���D$����D$���H�5�1藑���P�L��L���wt�����I�H�5���b������M������H�=C0����������f�L�UL�M)9i+L��L��H�5i+)5i+H�}0)
i+�u�������H��H�=�h+������H�=o0�]����I�H�5�u�ȑ�����V���L�|$�v���H�=V0�*�H�=J0�������fDf�H�5Eh+)Nh+)Wh+H�}0),h+�����|���H��H�=h+�`��h���H�|$����L�t$���L�UL�MH�S(H�
��L��L���'�I��H���A���L�|$L�|$�'���@L�UL�MH�S(H�
�tL��L�����H�D$H����������H�=2�4�H�=/������H�IR+H�D$(H�|$H�5�胐�����H�D$H�L$1�H���H�pH�/_��H�|$I��H�D$(M�����L��L���<r��I�G0���E�������L�ML�UH�S(L��L��L�T$H�
�sL�L$��L�L$L�T$H����H�S(L��L��L�T$H�
f�L�L$���L�L$L�T$H����H�S(H�
�L��L����H�D$H���������H�=\.�������H�D$(H�|$E1������H�=1�������L�UL�M�H�|$(L��L�D$ �6q��L�D$ ���H�D$(H�|$�H�=1�d��r���L�t$(L��E1�A�H�|$A�H�=Z1�=��K�����a��H�=�-�'����A�H�=�-������H�=�0E1����
���H�=+0������L�t$(L��E1�A�H�|$A�H�=�0��������H�=	1������H�=�-������H�=0�����H�=�-�~�����H�=g-�j�����H��L���p��L�L$L�T$�@���H��L����o��L�T$H�S(H�
n�L�L$L��L�����L�L$L�T$H��I����������f���AWAVAUATUSH��L�d$PM����H��H����A�̓���I�|$�tD�L$I��M�ƿPH��M+H�4$�H�4$D�L$H��H����f��@L� @@,@<H�(D�HH�pL�xL�` H�H�C(H��M+�f�H����@H�C0D�k8A��tbH�mH��t)f�H��H����H�m0H��t��y��L��踐���Ņ���H����H����[]A\A]A^A_�DL�s@�f.�H�=6,���H��H�
�/��1��>���������H�=,����H�ߺ�H��H�C0H�
�/���H������H��H�
/��1�����������R���H�=�.������G���<���H�=�+��������H���9������H�=k+������������H�=�+���������H����������H��AQE��I�ȉ�H��H�5����g��H���f.���AWAVAUATUSH��M����I�I��1�I��D�D$A��I��L����Q��D�D$H��H����I��L��D��L��L���.d����xmH�{ �m��I��A�Ņ�yH���oy��H��D��[]A\A]A^A_�DH�{ ���D��H���dQ��H��H�E�8y��H�}u�H�=Z.A������/���H�=�*A��������H���y���H�=A���������{���H�=p*A���������d�����AWAVAUA��ATUSH���T$PM����H��I��I��E�Dž�xF1�L���tl��H��H��toI��E��L��D��L��H���c����x,H��H��[]A\A]A^A_�[x��L�L$�~m��L�L$���H�=$*����H���1x�������H��[]A\A]A^A_�H�=�)����������H�=�)��������������ATUSH��tC��x?H�pK+Hc�H��H�{�I��H��t4H��H��H����l��A�L��[]A\�f�E1�[]L��A\�D1�1���{����D��H��t.�?t"H���H���>u�)��xO���1��iO��1��fD��H��to��xkATLc�USH��I�|$H��H��J+�H��tME��t1����t-A�t$��H���@��H����t
H9�u�B� H��[]A\�fD1��1�1�H�D$�{��H�D$����H��t.�?t"H���H���>u�)��U���1��U��1��fD��H9�t7H��t@H��t51��f�H����t��)�t����1��D�ø�����ff.����H9�t/H��t#H��t1��f�H����t�8t�1��@��f���I��H��tdH��t)H��t$��DH�J��t���tH��H��8t�1��1��9:u�1��
DH����t(�LA8t�1���f�H��L��饆��D��f.���H9�t7��~3H��t?H��t1D�J�1���I9�tH����t#��)�t��fD1��D��f�ø�����f���H9�tGH��tPH��tE1�L�
�*�f�H��E��t��I��A�A�	)�t��D��1��D�ø�����ff.����H9�tW��~SH��t_H��tQD�R�L�
^*1��f.�I9�t"H��E��t2��I��A�A�	)�t���1��D��f�ø�����f�����H��t$���t@8�u
��8�tH�����u�1��fDH���@���������u>H��t9���t5��t.�F�H�L�@��tH���H9�u�t��H���K��f�1��H�������S1�H��t�V��H=���F؉�[�f���H��toATUH��SH��t#H��H���`��A��H��E��t���u1fD1�[]A\ÐD��H��H���r�����tfDH�����t�8Eu���fDH����1��D��H����AUI��ATUSH��H��taH��H���6`��A��H��E��tM���tDH�-}(�H�����t-A�U�L8Lu�D��L��H���H����u�H���fD1�H��[]A\A]�1��ff.�f���AWAVAUATUSH��H����������I��H������H���_��A�ƅ�xr����)�A9�fH��B+Hc�Mc�H��I�tH�T$�H�T$H��I��teJ�<8L���f��B�T5Hc�A�H��L��[]A\A]A^A_�f.�I����E1���H��L���[]A\A]A^A_�XI���1�1�I���u���f���AWAVAUI��ATUH��S��H������M����������L��H����H���^��A�Dž�������)�D9�|xHc�Mc�H�D$I�|H��B+�I��H��t_L��H��H��D��e��H�T$L��Hc�K�<4�e��A�H��L��[]A\A]A^A_�H���^���Å��P���fDE1���1�1��t��D��H��H��[]A\A]A^A_�>H��fDH��H��[]A\A]A^A_�"Q��f���H��t'H��t2�>H��t"f.�H���:u�)�� a��H���@1���@H����P�����UH��SH���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��tqH��tlHc�I��I��H�����H��$��H��H��H�D$H�D$ �$�D$0H�D$�o���D�H�L$dH3%(uH���[]����������S��@��H��t7H��t2UI��H��I��SHc�H������H��H���n���D�H��[]ø�����f.���H��t)����y"��@t�� ��t����u�������H��t'UH��SH��H���h��H��H��H�߉�[]�|��1�H�������D��H���������1��@H����H����t-�O��y����uz���O���@���t#��H��H����u�H=����G��fD����u@�у���t�WH���@����u �W����u�WH���u����������1��ff.�@�������H��t"H��t-���~���x(��f�H��t����������t��O����u܉�����t����%����G��?	�Ã�t��O����u�������t'���G������%�	��G��?	�Ã��j�����<��_����G��<��P�����G�����%���	��W��?	��G��%�	����H��u
�f�H���������y�ƒ���t?�ƒ���tM��<�un�G��<�uc�G��<�uX�G��<�uM��fD�G��<�u5��fD�G��<�u�G��<�u��h����1��D��f���H��tgH�����^fDH�ȃ�t5���t.H�Hy��€t�xH��u�ܐ�8t��H���€u��u�H)��H=���G��f�1��ff.�f���H��tO��xKUSH��H���uV��Hc�H�3>+H�}�H��H��tH��H��H���_���(H��H��H��[]�fD1�H���f�����xFH��u�?�H�׃����t=�H�W����t&��y����u@���t�H���J�����t�1���H���@��H����AWAVAUATI��USH��H����I���L���U��E�7A��D��E��tr1��fDA�_H��I��D��E��tSD��L��L���x����tYI�G��yу���t�/���H�����uE��A�ƀu�D��I��H��E��u�H�������[]A\A]A^A_�@H�����F�H��[]A\A]A^A_ø����Ð���������u~H��ty��ti�H�GA�ȅ�tgE1��f�A��D9�tK�H��A�ȅ�tIH��E��y�A��A���t�5DH���x���@���u���u�A��H��D9�u����m��D1��ff.�f���ATUSH����H�/H�����U����1�1�H����%����H��T
��u�H��txH�����wy����H)�H9�rlH��;+H�I��H�{�H��H��tZI�$H�����t"f��H�r<%u�B%H�rH���H��u�H��:+�DI�<$�I�,$H��[]A\�f�1�[H��]A\�H��:+I�<$�I�$1�1���k����fDSI��H��1�1Ҿ��D��H��t�C8��u�C8[ÐSI��H��1�1ҾX���D��H��t�C8��u�C8X[Ð��H��8+S�@�H��H��tuH�@ �@8H�@0�]������HcH=���H�C(HC‰CH�C H=���HC‰C�za��H�{(��CH�2:+�H�H��t0�H�CH��[�L��d1�1Ҿ��D����@H��H�5�d���H�J9+H��1�뼐��USH��H�����H�8+H���@�H��H����H�@ �@8H�@0��`����CH��uAH�C H�C(�CH=���vJ�C���H�H�CH��H��[]�fDH��H�k(H�����v7H�C �C���H=���w4�CH��t�H�
9+H��H�H��tX��H�C �kH=���v͐�C������1��@L��c1�1Ҿ��B���a���f�H��H�5Vc���H��7+H��1��6���ff.���H��t?�t9H�G0H��u0�W8��u+H�H�G(H�G H�H�G�fD1��D��H��twUH���@SH��H��H�O6+�H��t`H�X H�X(H�����v7H�������H�P�@H�(�@8H�@0H��[]�f��X�X���1��DL�Qb1�1Ҿ�H�D$�A��H�D$�f���H��t�Gø�����ff.�f���H��t$�G8��u�O�Q���v�V���v��v��t#������DH�W0�wH��t�r��H��GH�G������ff.����H��tOUSH��H��H�-76+�WH�E��t#H�;H��t��t��H�EH��H��[]��DH�H��u���D����H��tg�G8��u`H�H��tX�OH9O(t�����vw�WH�G ��t?��tr�H�W H�G(����H=���HC��GH�����v/�G����@��H�	�H�H�G(H=���wB�G1҉W�f�H�O(�f.�H�WH��t�H)�H�HG(�H�W �v�����G���1��D��H�����G8�����WH9W(t��������WH9W t�������H����H�W H9�r|H)�ATUH��SH���GH�W H�?H�47��������H�KH����H�C(I��H�3I)�H)�H�C(L9�wgH���1f��H�CH�S H��H�C(H�S L�H�C(�?�1��DH�W(�WH9W �M����T���f�H�W H���N����ѐH�C(H�3H)�H�C(H=�������HC��CH�����w�SH��[]A\�@�C���H��[]A\�f��e��H�H�C �H�C(H�S �fD��H���#Hcƅ��u�DATUS�O8H�������OH9O(t�����wH�O(�KH9K t�����wH�K �S����H�K(H�s H��H)�H9���H��H��H9��RH9���H�,	H��H�����HH���H��0+H�;H�����H���H���@H�����H�����H�k(H��HBʼnCH�C H=���HB�H��H�S�S8��t���������G�[]A\��������f.�1���@H�<0H�odH���H�����HC��E���@H�SH���S���H)�I��H�t=H���H����J�< H�CH�;�;���f�H�D0H=��wSH����wJ����H�����H�;HG�H��/+H����H�5�H���A���1�����f.�H�5�H���!���1���H�5]H������1�����@��H��H��tL�F8��uEH�>H��t=�VH9V(t�����vTH�V D�FL9�t	A�����vH��t%��m���1��DL�F L��H��u�H�E-+�H���l��H�V(�f.���H��t�G8��uH��@1��D��H��tW�G8��uP�WH9W(t�����v/�OH�G �����wH9�uH��H��H�O H�DH�W(��f.�1��ff.�f���H�����G8����H�O(D�GL9�t	A�����vjD�OH�W A�����wL9�uDH)�H9�v\H�H�H�W �H�W(����H�����HCщWH�W H�����GщW�DL�O L����L�G(L����������f���1�H��t,�W8��u%�WH9W(t�����v�OH�G �����wH9�u!���OH�G H�W(�����v���H�O H������f.���H��t?�G8��u8H�G(�OH9�t�����v,�wH�W �����wH9�u8H9�sH��H)��1��D�wH��H�W H�O(�����v����H��H�w H9�s��f��������H��t4�W8��u-�WH9W(t�����v"�OH�W �����wH9�u&1�H�����D�OH�W(H�W �����v���H��1�H�O H������ff.�@��AUATUSH��H����D�g8H��E����H���WH9W(t��������SH9S t��������C������u
H������H�K(H9�������������w����H�U
H���H�����HB�L�����H�{H����M��I)�I9��3H�\++I�t-�H���MH�CL�H��DE1�H��D��[]A\A]��H�W(�SH9S ��������f.��CH�S �������fDH�{ �vQH9���H����H����H����H�H9�w�H���f.�H�E
H���H�����HB�L�M���qH+K H��c��H��,+H��I��H��t`H�3H�S H���`N��H�9,+H�;�H�C A�D��H����H��H9�w�*f.�H�H9��H��y�H�5eWH���p����H��A�[D��]A\A]�@H��)+H��L��I��H��t�L�+����H�����H�k(HC�H�C �kH=���w�CA��P���D�C���A��9���fDH�U
H����6���H���������fDH�5^H�������@H�S L����\��H�CH�S H���Z���H��++H��H�C I����8����H���]���H���S�����AUATUSH��H���iH��H���]D�g8E���PI���OH9O(t��������KH9K t��������{��������������H�{ H�C(Hc�H)�H9�r;H��H��H9���{H�t=u
H������H���M3������H�{ H;H��L����[��H�S H�H�H�S �H�C(����H=���HC‰CH�C H=���G‰CH��D��[]A\A]�DH�K �,����H�O(�����L���0D���…�x*�%���H��D��[]A\A]�H�5�
H������A�������H�5�TH��A����k���H�5/
H��A��������Q���ff.����H��tg�G8��u`�WH9W(t�����v?�WH9W t�����v�t8H��t3������y:��f�H�W ��f.�H�W(�f.�������f.����`�����AVAUATUSH���wD�o8H��E���gH��WH9W(t��������UH9U t��������}�0�"H���W)��H�����'H���A)��H��t|H�5��H��L�5e�S��H����L�������L�c<"u�H9�tH��H��H)��g9��L���H���W9��L����f�H�U �i����H�W(�D����H�5�%H���1S��H��H���f_��H�5i%H���S��[D��]A\A]A^�H9�tH��H��H)���8��H��H�5����R��[D��]A\A]A^�f.�H��H�5���R��H��H���^���A������ff.����H��twSH���@H��H��%+�H��tdD�C�{����H�X0�@8I�����L��H��H�x C�H�����L�@(C։H�P�S�PH�H�H�SH�PH��[�1��DL��Q1�1Ҿ�H�D$��0��H�D$��f���USH��H����WH9W(t��������WH9W t�����vg�G8H������H�o0H����H�G H=���w`H�W(H�����ws�E�U�CH�߉EH�H�EH�CH�EH��%+�H��H��[]�f�H�W �f.�H�W(�o����H�5�	��H�������H�E�@H�5�	���H�C �E����E�t����H��1��v+��H��H��[]�@1��u������USH��H��H��t~�o8��uw�WH9W(t�����vF�WH9W t�����v%H��tH�3H��t�S��u1H���a��H����[]�H�W ��f.�H�W(�f.��;6�������H�߽�����ca��븐��H��tgH��tb�G8��u[�OH9O(t�����v:�WL�G �����wI9�uH�H�V H�VL�H�V(�H�W I�����H�O(�f.�������f.���H�����H��tpH��tk�W8��u<�OH�W(�����wH9�tH�O(H�ʋOH9O t�����wH�O H�FH+H9�w��H��H�5
�0�1�H���f��ff.�@��H����H��tn�G8��ugD�OL9O(t	A�����vDL�G D�WM9�t	A�����vH�?H�L�H�VH�H�V H�~(�DL�W M�����L�O(�f.�H�a�H�F(H�F H�F�����ø����ÐH��tCUSH��H��H�-�"+H� H�EH��t��H�EH�{0H��t��H�EH��H��[]��fD��H��t[�~uU�F�F��~GAU��I��ATL�d@UI��H��S1�H��H�E H�H�8t$H��L9�u�H��[]A\A]����Hc@��x�I�UPL��H�4������ff.�H��1�H��t
�GH�H��H�E1�1�VA�1�R1�jjjP1�V1�jjjj�<��H��hÐH����UH��SH��H���OH��tTHcWLH�GP9�)ɉOHH��H�Y+Hc�H�4��H��thH�CPHcSL�J�U�KLH�,�1�H��[]�f�H��+�GH� �H�CPH��u�H�5H�������CH�����뵸�����H�5�H�����CH�����CH���ff.�f�S�WXH����u=H�n+�GX� �H��H�C`H��tN�C\Hc�H������P�S\[�fD�G\H�`9���H�T+�SXHc�H�4��H��H��t#H�C`�H��H�5\�G����CX�����[�H��H�5?�*����CX�����CX��[��H��H��tOH��G�G�)�H��H�
E1�1�VA�Q1�jP1�jR1�V1�jjjh��!:��H��h�@1�1��f�H����H����AWAVAUATUSH��D�^E��~gIc�H�^ L�@I��J�D�N�T�A�[�H�[H��I)��DH��I9�t/H9u�Y9Xu�D9@u�D9H��H��I9�u�f�H�ˋNE��E��I��H��I������H��+�F���H�E H���D�]IcӋK(H�RH�ЋSL�8�PD�`D�p�@A�C�E�m��uyH�R+�C(� �H�C0H����HcS,�,��C,H��[]A\A]A^A_�DH�F A9�|��H��H�3+�NHc�H�4IH���H����H�E �P����HcS,H�C09���H��H��+�K(Hc�H�4��H����H�C0�o����G�H�5"�����G�H�5(���H�56L������E�9���H�5L������C(����H�5L������U������E���H�5�L���h����S(������C(����@D�GLE���;AWAVAUATI��US1�H��(I�D$PH�,�H��t"�}u�U��t��tH�M H�9t%DH��A9\$L�H��([]A\A]A^A_�fDD�iA��A9�t�E��xϋy��yȋq��y���t�Ic��M,E1�H�t$H��H�t$����DH�U0E1�Jc�H�ЋP���`I��D9x~VH�H K�H��D9ru�H�t$D�JL��I��I�L$PD�BH�D$�B����H�H�1H�����H�D$D9x�DI��D9m,~I�D$P�t���@Ã}uI�D$PH�t$H����E�E����f.�AWLc�AVAUATUSH��H�GPN�,�M����Hc�H�,�H�����E����v~�}�EuA�E�E�L$A��I��1�A�������~IH�U H�[H��HcA��x,H�H��tID�AI�OPE��H��E��yD�D$L��L���u���H��9]��EH��[]A\A]A^A_�fDD9�t�D�IE��y"�I��y�L$��D��L���
�����I�WPE��L��L��H��1������fDUSH��H��H�����O8H����tTHcW<H�G@9�)ɉO8H��H�Y+Hc�H�4��H��t|H�C@HcS<�J�U�K<H�,�1�H��[]�f�H��+�G8� �H�C@H��u�H�5�H�������C8�������G�H�5v���������H�5�H�������C8�����C8���v���fDH��H�����1�H��1�H��H9�r7H��SH�K+H��H��H��H��H��tH��1�H����0��H��H��[�f�1�H���f.�SH���8H��H��+�H��t%H�f�@@@(H��[��H�5��H��H�D$����H�D$��DUH��SH��H��H��tH��A�����H��H��H��E��[1�]� ����k���H��H��H�D$����H�T$H�S(�UA��H��SH��H��H��tH��H��H��H��A�����[1�]�����L$����H��H��H�$���H�$D�L$H�S(�f�UA��H��SH��H��H��tH��H��H��H��A�����[1�]�p����L$���H��H��H�$�X���H�$D�D$H�S(�f�H��+ATI���`U��S�H��H��tIH�xH��H�H��H�@X1�H)���`���H��kH�C�CH��[]A\��H�56�L���y������AUI��ATUH��SH��H���OH��uvH��+�GH�@�H�ChH����HcSLH��L��L�$�%��H�KhI�$HcCLH��H��H�l��H�D�SLH�H�@H��[]A\A]�HcWLH�Gh�r9��ɉOHH��H��+Hc�H���H��t$H�Ch�w���H�5f�1����CH룐H�5N�1���SH������CH���ff.�UH���xSH��H��+�H��H��tMH�xH��H�H��H�@p1�H)���x���H�H��t4H���#��H�H�C�����H�CH�ChH��H��[]�f.�H���ff.������H����Hc�H�>��H����H�=��gQ���H���	�H�=���GQ���H����H�={��'Q���H���
�H�=M��Q���H����H�=���P���H����H�=����P���H����H�=��P���H����H�=���P���H����H�=f��gP���H����H�=9��GP���H����H�=��'P���H����H�=��P���H����H�=����O���H����H�=����O���H����H�=e��O���H���
�H�=7��O���H����H�=��gO���H����H�=��GO���H����H�=���'O���H����H�=}��O���H����H�=Q���N���H����H�= ���N���H����H�=���N���H����H�=��N���H����H�=���gN���H����H�=k��GN���H����H�=C��'N���H����H�=��N���H����H�=���M���H����H�=����M���H����H�=���M���H����H�=X��M���H����H�='��gM���H����H�=���GM���H����H�=��'M���H����H�=���M���H����H�="���L���H����H�=D���L���H���	�H�='��L���H����H�=���L���H����H�=��gL���H����H�=���GL���H���	�H�=���'L���H����H�=^��L���H���	�H�=A���K���H���	�H�=���K���H���	�H�=��K���H����H�=���K���H����H�=���gK���H����H�=p��GK���H����H�=H��'K���H����H�=��K���H����H�=����J����ff.�@���=����U��SH��H��Hco0�������H�z
+�G0�`�H�C8H���'HcS0H��1�H�RH����%���C4H�{8HcЋK(H�RH�,�H�S H�U�SP�U�Q�UH�SHcR(��~H�}H��H����H�s@�:0���C4���C4H��[]�f.��G4H�89���D-�C0H�H�4@H��+H���H�����S0H�C8H�Lm1�H�<�)�Hc�H�RH���.%���C4H�{8�@���f���H�q+H��H�S8H�EHcC4H�@H��H�xH��t_H�CHcP(H���;���fDH�5��1��z��C0�-���fDH�5��1��Z��S0������C0����fDH�5x�1��2����������H���|H���sH���jM���aAWAVAUATUSH��(�*���L�W��M���;M�ZHM���.�����_p�����A�rXM��t����Hc�A�<���A�A�rXE1�1���
��@��t^D�nE��D����D�H�A�D���~1A9B@|+��D��Mc�C�<�tI�B`J�4�Hcǃ�I�4��A�rX�9���A��I��D9����~g��tc1��f�9�~YD�fA��D�����H�A�D���~2A9B@|,��A��H�A�<�uI�B`H�4�Hcǃ�I�4��A�rXA��H��D9��1�H��([]A\A]A^A_�f�M����L�g 1�A�<$��A�����A�\$��~�L�$I��I��1�H�L$E1��t$DI�T$ H�[H��HcH����H�H����H�zH�����p��W4�w��V4��Hc@I�v���+D�\$E����I�����H��tH�v0H��H��t9H~,H�4$D�R(Ic�A��H��E���`H�R H�A�E@A�T$�KD9���9���H�����)����������������I�D$ 1���D9������HcH��xGH�0H��t?L�FM��t6�X������v(D�HE��yI�~H�H��H��t�9��D��H��A9T$��B���DL�gxM���e���������(���f�H���'���H�FH��H�������8����������3��L�L�L$�~4���
H�8H���H�5'�1�L�L$A������f�I�N@���q���@H�8�����3��L�L�L$�4������_P�^����H�$�~(Ic�A��H�˅�tJH�v H�1H�\$�����fD�����L�g M���M������fDA�A�rX����L�븃���AUATI��USH��L�-L+A�T$LH�PI�E��~<1�f�H�,�H��tH�}H��t��I�EH���I�|$PI�EH��A9\$L�H��t��I�EA�T$��t���tIH��L��[]A\A]��I�|$H��t��A�T$I�E��u�I�|$ H��t��A�T$I�E���u�I�|$H��t���I�EH��L��[]A\A]��f.�H����ATL�%^+USH��H�?H��tA�$H�{PH��t&�KL��~1�H�<�H���{�9kLH�{P�A�$H�C@H��t/�S<��~!1�@H�<�H��t	���H�C@H��9k<�H��A�$H�{`I�$H��t��I�$H��[]A\��f.��ff.�@�G4��~Y���G4H�H�@H�G8H��H�H�W �P�WP�P�W(H�WHcR(��~H�pH��t-H�@H��tH���{(����������f�H�1+S�H���H�=��H��B�������[�@��H��8�u#�QH��H�q��u�I��1�A�8���fD��*t��H��H��H�ׄ�t�>*t1��@L�F�f.�H�����t�<|u�~|uH��L���H���|L��������H����AWAVAUATUSH��(L�~HM���I��H�N`H���	�GP�D$�FXH���L�L$H��I�����$�PD�p�L�|$E1ɉT$�T$H��Hc‰T$M��I��H���$H��tL��������u,I�AM9���I��G�T�E��E��~�D9U@|�J�<�L9�u�I�D$E�r�H��L��E�t$PL�|$H��t9H�sPH��t0�L$+L$B�)I�|$H�L$Hc�H��H��ЋCXL�{H���D$D�T$E��Mc�C����tJ������H��([]A\A]A^A_��D�l$��D��1�Mc�C�<���H��([]A\A]A^A_�L��I��$�H��t	H��+�H�����A�$����I��$��D$A�D$pH��(�����[]A\A]A^A_�f��ff.�@H���B�<	wSH��E1�1�A�����(f���0��D���)�9��H��H���r�@��	w=���~�A���A��tÐ������f.�AVAUATI��USD�WLL�GPE��~H1��
@H��A9�~7I�<�H�,�H��t�?u��<�M�D$PE�T$LH��I�(A9�ʐE��A����Mc�1�I���'��}t�EA��I��A�����K�,0H��t�}��t�~�1��H��9]~_H�U H�[H��H�8u�P��x�D9��%�p��y��@�����HD��L���EH�����E�9]�DA��M�D$PI��A����h���E�T$L����E����A�B�L��I�|��H�H��tX�H��~QH�P �A�H�@H�BH���@H��H9�t0H��H�:u�D�jE��y�j��x��B����H��H9�u��H��H9�u�1�DI��H��t�BH��A9��I�8H���-�GA�B�H��M�\���F�F��~gH�N ��1�H�@H�AL���)I��H��t�J��u
�BH��H��I9�t&H��HcQ��x�H�9űY��y�H��I9�u�DH��u�A����I�@DH�0H��t
�~�f���H��I9�u�1��f�H��A9\$L~-I�<�H��t�G��u����M�D$PI��H��A9\$L�[]A\A]A^���@�������E�����������E���[]A\A]A^�AWAVAUATUSH��L�|$PH����~���FHE��E��A�̉�H��H�<$��uqH�
��*�FH� H�L$�H�L$H��H�CP����H��tzHcKLH�sP�(D�`�yD�hD�pL�x�{LH��H��[]A\A]A^A_�fD;FL)�H�{P�FHH�H�4�H�A�*�H����H�CPH�
��*��H��u�H�<$H��H�5��[]A\A]A^A_�!����G�H�5��H��[]A\A]A^A_������G�H�5`����H�<$H�5�������CH�/���@H�<$H�5a�����KH������CH����ff.��USH��H��H�G���L���M����N�E��P�L��Z����S�b��C����I�0H�PH�W�xs�nH�xH�{�H�ʃ�߃�A��v�у�0��	v1���-u:H�pH�s�P�DH��H�s��Ѓ�߃�A��v�BЃ�	v�-t�)������H����H�PH�W�P��n���c�
1�j��e��H���mH�G���H�PH�W�P��u�k��l����t����m��1�d��o��H���iH�G�q�H�PH�W�P��c�{��d����s����e�O��i����f��1�r��ou"H���yH�G�H��1�fH�G�H�s0H��t/�~tQH��[]�f.�H��1�kH�G�����H���n�H�C0H��t�H�hH��[]�f.�H���SH��E1�UE1����XZH��[]ÐH�PH�W�P��d����l�j1�n��o�R���H���qH�G�@���H��1�eH�G�,���@H�PH�W�P��s����l��1�z��p�����H���}H�G����H��1�lH�G����@H��1�gH�G���@H��1�oH�G���@H��1�tH�G���@H��1�{H�G�l���@�G�H�5��H��H��[]����@H�PH�W�P��m���c�%��k��1�~��o����H����H�G����H��1�pH�G���@H��1�sH�G����@H��1�hH�G���@H�PH�W�P��c����f����o�1���n�y���H����H�G�g����H��1�uH�G�L���@H��1�|H�G�4���@H��1�H�G����@�G�H�5u����H��1�H�G��H��1�vH�G����H��1�H�G����H��1�H�G���H��1�wH�G���H��1�H�G���H��1�xH�G�y���H��1�H�G�e���DL�G1�I�PI��H�W�
���qЃ�	w�H��L9�u��@�q���w�D���f��q���w�D���f�H���G�H�5����������H���ff.�@ATUSH�GH�����.����\ulH�PH�WD�`D��A��p��A��P��A�L$������Q�H����H�s0H���.�~��H��H�S[]A\���G�H�5��H��[]A\����fDH�w0H�����~uQH���WE1�E1�j��|���AXH�CAY�.f�H�PH�W�x{��H��H�G��H�C�8}�tH��H�C[]A\��A�L$߀�=wH��7@<H�������Mހ�>wH�$[@H������A��~�����A��u�����C@��4wH�CCH���1�C�H�5�����f��C�H��[H�5��]A\���fDH�PH�W�x{u�H��H�G����H�C0H�������@(����@@��rtr@��tt\@��n�
DD�H���SH��E��jE���#���^H�S_�<������F��H�C0H�C���f�A�	��A�
���C�H�5#�����D�H������H�C0H����@��r����@��t��@��u��H�������(�������H�CH�PH�S�x\��H�PH�S�xu��H���`���-�=�w}��
��H�S0�B,H�S�.���f.�@��nu*�@,
H�S�����@,
H�S���f.�D�`,H�S����@,	H�S������y��k����C�H�5Y�����H�s0@��H���H���*H�CH��t%�~�.���P�SE1�E1�jH���V�ZY������H�����H�C0����ff.��ATL�%[�USH��H�� H�wdH�%(H�D$1�H�l$�f�<\�����@��[���UH��1��;��Hct$A��H�CH�A��-u�x]t�@�<^t<[�@H�s�>-���F��[����H�NH�K�V�Ѓ�\�=��[D�D$���
���H��H��1����D�D$A��E9��@�C�H�5y�H���Q��H�s�H������H�s�<]��<-�„�t��t�S�������H�D$dH3%(�3H�� []A\��H���SH�s0E��j�H����YH�s_��C�H�5�H�����H�s�u�����C�H�5��H�����H�s�U����H�s�K�����C�H�5j�H���j��H�s�%����H�FH�CD�NA�A�<UwW��Ic�L�>��A�	�D$E9������HcD$H��HC�SH�s0j�$���A�
�D$��A�
��C�H�5Z�H������H�s�������USH��H��H�W�o�<^t9<]u"�'<-u�z[tNH���N���H�S�<]t�K��t�H��[]�DH��1�����H�W�G����H�S�k��DH���CH��H�S�q���H�C�k�8]u
H��H�C��C�H��H��H�5��[]���ff.�@AWAVAUATUSH��(H�T$�L$H���I��H�wI��H��������H�~H�M����H�W �:���D$�D$f�����I�U M���XE�u(D�ZA�E,E9��H�B Ic�H�RH�,�Lc}E��xJHcUH�]��W4����V4������I�E@�4�I�EH�@0H��;0|;p��f�I�U D�ZA�E(D�pE�u(E9������E��uVI�E D�@E����A�E���9���H��([]A\A]A^A_�f�H��(H��L��[]A\A]A^A_��;s|
���fD�|$��tI�E H����A�EL����I�UhA�EH��������������IcEPH��H�H�BL�"I�U H�D$M��������|$��v���mE1�I�}@������D$��t�I�E �8�D$�r���I���H��t	H���*�L������I���I�E I�ExI�E�@(�D$���3���Hc�I���I�u@H������D$�����M�����|$����E1�I�EH��tH��tH�L$H��tH�SXH�sI�}��A�E(I�U ��9B~E�MLE����L���%��HcE��xI�U@��HcE=U4wI�U@��I�EHcUH�@H��H��t	�:��H�}A�EI�U A�E(����I�MhH�L$H���$A�]P�KA�MPA;ML�������H�D$�D$�N����I�u H��D�^M���d���E���[���E1�H�V K�vL�<�IcG��x|L9�twI�UI�}@H�R0D��H��D;Z}]I�D�\$H�$H��tLH�pL���0+��H�$D�\$�����D;|"D;Z}I�H��tH�pL���+�����h���I�u @D�^I��H��E9��\�������H���'M�������H�{L9���H���9L���@��S(�����������T���A�E����E�u(�`���E������A�S�H�RL�\�f.�HcPH9�t(��x$I�uI�}@H�v0H�4֋�;�����;V���H��I9�u������WL���~�D$�.�����L$��������������HcE��xI�UI�u@H�R0�L�9�������S��� ����C������I�uA��H�vJ��H�$E9�}E�]LE���KL���W���C�SA�E,��8f�L���8��E�}(M�u H�sL���D)��A�M,�qA�u,���i����C�S9��A�}P�GA�EPH�H��IEhL� H�@H�D$M����9��H�$E�ULE�}(M�u A�E(����I�E E���o���H�T$L��L���/���Z���f.�H�l$Hc��D$H��H�H�]L�eH�\$����H�T$L��L������IcEP�D$H��IEhL� H�@H�D$A�E���fDI���H��t	H���*�L�����I���I�u@I���I�E I�ExI�EHcP(H������I�EHcUH�@H������s(���������������H��([��]A\A]A^A_������������H�A�*�#�H�=��H��0%��A�E����E�u(�\����K(���4����t$���|����#���H�T$L��L���������C���H�T$L��L��������9�������Z���A�}P9��v����I�������������ATUS�������H�5�Hc�H�>����[]A\�-��D1���j��A���߃�A��v/��@�����v$��(�����v�����A������1�E��@�ʼn�[]A\ý������f���f���[]A\��D��[]A\��	��D��[]A\�e�D��[]A\�u&��D��[]A\�E�D��[]A\��D��[]A\��D��� �[���H�&��H��H��H�Ճ��>���D��� wH�&��H��H��H�Ճ���@������f���
��1�
@��!���f.�9���1�9�@��!�����@������؃�߃�A��v��@������A����D����p�ؽ��߃�A���w�����@������h�����(������������1�_A�ă�:��A	�E���!���f���[]A\��D��[]A\���D��L��[]A\���f���[]A\�u��D��[]A\����D��[]A\����D��[]A\����D��[]A\�%��D��[]A\�U��D��[]A\����D��[]A\��D��[]A\��D��[]A\�u��D��[]A\���D������Ņ��8������x���Ņ��'������#��A�����������������1����f���1������@�����@��[]A\���D��[]A\���D��[]A\�
���D��[]A\��D��[]A\���D��[]A\���D��[]A\�M��D��[]A\��!��D��[]A\�]'��D��[]A\�-��D��[]A\�}��D��[]A\��D��[]A\����D��[]A\�&�����F��A�ą����������H�5!�*��A��,��������������=�Q�������0�����������������H�5��*���������z���H�5c�*���������d���H�5��*��E1������A���H����CЃ�	�<����CӃ��0�����:������_����E1��A������H�5U�*���f���Ņ��������=�Q����0t|��!0E1�A������H�5�*��� �������������=�Q�������0�����뱍�(�����������������-���D���p�����f���ff.�f�AUATUSH��H��������������=��v �� ��=�v����A�����=��wGH���A����tz� ���w�������SL1�E1�����E1�H��D��[]A\A]����
�ƒ�����t��F�A�������w�H���A����u�H�=J�A������:�H��D��[]A\A]�@������u�A�H��9kL~�H�CPH��0L�@�H�P�x������D��u������u���fDE1�A��H��A��[]D��A\A]�@E1�A��A������D��v�G�E1�$�����L�C1�1�D������A�ċC(�����E��A��E������fDD�������/������E1�9s,A�����A��������fDAW�AVAUATUH��SH��(���t-�NH��t"9�w?u1��t|���������H��([]A\A]A^A_�fD��H��H���ǍA���vd�w����v�9���A�ȉ���=�w@H�5q�Hc�H�>������?�C(9E(t�1�H��([]A\A]A^A_�fDH��H��H���I���f.��u,��uh1�9s,D�M(��D�S(�&fDL�eL�k���01�D�M(M9�D�S(��1�����E9�����1��������@A�����4���fDH������…��G���D�M(D�S(�@A��y�����1��2����A�@�������A������A��rA�������1����@A��}�t���1�����A��
����A��jA���N���1������A�@��������A�������A��~A���!���1����@A��m����1�����A��i��1��j����A�������1��O���@A�@����<���A��� ���1��-���f.�A��q�����1������A�@������A�@���	����1�����A����Y���1�����@�}LE1�����H��L��I�NjCLL��E1���H�,$L��M����I��D9cL�zH�EPN�,8H�CPJ��A�E��t�L�2�H�A�V��vʍJ���v�9�w��L��M��I�Ń���A�}������t���t�9��C���W����������������cv	��c�K��u��t0��
u��	t&��u��t��u��
t��������������A�A�E��u"����������A�A�E��u�����i����|L���S���|L��I���C��M����H����8��@���D�M(D�S(M9���M���M���
L��L��������z���f.�I��H�,$H��A9oL�:���L���C(9E(�b���1�����DA�A�E������� ����6���A�6A�E����������E�^E;^�����ƃ�L�d$��L�|$A��M��H�\$A��D���/f�u	E����E��t	������A;^A�A�OA�W��M�G�'��y�L�d$L�|$H�\$���E9������1�����A�uA9v�1�A�vA9u�…�����u�����D�����������������H�\$���E9��&���1������d��w|H�5��Hc�H�>���1҃�A�A�E��녃�1�A�A�E�����n�����{�Ӄ�s1�A�A�E�����R�����o뷃�k벃�e1�A�A�E�����1�����d��#�_������@�у���E��������l����L���@AWAVAUA�ATUSH��H��t:�~t4�F��~-��A��H��I��L�d@1�I��H�E H�H�8tH��L9�u�H��D��[]A\A]A^A_�Hc@��x�I�WP�EL��H�4�D���v������DD��f�AWE1�I��AVAUATUSH��(D�Op�GLA������f�I�GPN�$�M����A�|$��E1�I�\$ K�DmL�4�I�>��A�~���M����A�E�1�H�L@H���H��H9���I�\$ H�C���t�H�H��t�A;Fu�I�H9�t8H��tȋp;ru����
��u�H�rH�xE���1�H9�����t��CA9Fu��CA9Fu�H���C����H9�u�I��E9l$�!���A�GLI��D9�������H�D$�D$�I�GPH�|$L�,�M���AA�}�6H�D$E1�I�] K�vL�$�I�<$��A�|$���M����A�F�1�L�T@J���U�I�<$H9�tH��t3�H�$���H�$��tA�D$L�d$�C�D$H��H9�tvI�] H�S���t�H�3H��u�IcD$���t�I�wPL��H�$H�4��	���IcT$L�����D$I�GPH�4�������H�$u�H��L�d$A�D$H9�u��I��E9u���H�D$H��t�@H�D$H�D$A9GL������D$A�GhH��([]A\A]A^A_Ëz,9x,��������H�L$L�D$D�$�)��D�$L�D$H�L$�����D$�ff.��AWAVAUATUSH��H��(H���t�yH��I�����AI������H���A�GI�������L��H���Ѻ������I���A�����L��L��L��E��H��褵��A�GH�k(���#��������E1�H��(D��[]A\A]A^A_�@D�aE���c����y�Y���H���(H��H��L�����H�k(L���N���@H���p���I��H���DH��H���	���H��L��H��諻������fDA�G���&���A�G��uA�GA�����L��L��L��E��H��赴��A�GH�k(���4�����������������H���x�������A�GH���I�w@H9�������A�w��uI�8��H������I�w@H��Hc�H�C`I��H��A�GD����A�G���BH�����I�W0I�w@D��H���L���A�W��� I�GE1�A�GH�k(�F���@A�GL��L��H��E1��W����$���f�A�GA�����L��L��L��E��H���~������f�A�GL��L��H���
��������Gv5�����������H���{���H��H��H������������������A�G1�H��E1�I�w0螹��H�S(I�w@H��莹���[���f�H������H��H����H��H��豰�����@H��H���M���A�G����w.������A�GI�w0H��H���������f���u#A�GI�W0I�w@H��E1�������������H����������k���H��H��tCH��H���������A�GI�W@H��I�w0蘸���H�5<�H��臯���A������G���DI�w8H��H���a�������H��*�`�I��H��t�H�xH��H�H��H�@X1�H)���`���H�A�GA�FA�GA�FA�GA�FA�GA�FIcGL����H�<�H���*�I�FPH���`A�OLE1�����H�H�t$�H�D$H�FH�D$H�N�*�H�t$H��H���WH�D$H�H�D$H�~H�AH��tH�L$�W��H�L$H�AH���FI�FPI�H�$H�
I�<$��A�MI��A�NLE9oL~)I�OPN�$�J�4�J� H�$H���I���L�$$1��I�F1�L��H��A�FI�w0�������X���H��L�k(���H��Hc�H�C`L��I��H��A�GD����A�G���BI�W@�I���H��L��H��D���ض��I�w0H��H���y������H�5�H���e���L��A����������$����G�H�5��A������)�������H�5�H��H�D$� ���I�FPH�L$I����H��H�5��H�L$���H�L$H�yH��t0H���*H�L$H�D$�H�L$H�D$H��I�FP1�I��o���H���*��@ATI��USH��H��H�o(�)��teDH�CH�K0�<|@��<)��@�u1҄�uL��H��H�������xM�CH�k(H�C0��uH������u�H��1�[]A\�L��H��H�߉D$�����D$H��[]A\ÐH�������[]A\�f�AUA��1�ATUSH��H��H�G L�g(�-���H�k(E��t�EH�C�8|t<H�k H��[]A\A]�DH��L�c(H��H��H�CH�C ���H�C�8|u�S��t�E��u�H�k(�fDAUATUSH��H��H�wdH�%(H�D$1�H�G0H�l$1�H���h����|t�P����ƒ�?v]��u��mH�S�<|t$��t <)t<(���H����<.��1�H�|$dH3<%(��H��[]A\A]�DH�O���H���	��f��H��賴��H�C0H���.H�sH��1����H�S0�B,HcD$HCH�C���?����*��������+�)��{����R���fDH���{t1H�S��H�s(1�H������H�k(1�H��H�������CtL�c 1�H�C H��L�k(H�C0���H�C�kt�8)��H��H�C�H���˳��H�C0H��tJH�S(L�h0H�h8H�P@H�CL�c �!���DH�S0���Ƀ��JH��H�C����fD�C�H�5^�H���B���H�C���?����*t������H�S0H��t��DH�S0H��t��B�fD�C�H�5��H������-���D<[�0H���`��H�{0�m���H�C�X���@H��L�cH�CL�������Ņ��JH�S�<,��E1�<}� �C�H�5n�H���j���E��tuH�S0H��� ����B�jD�b�
���D�C�H�5ʯH���*����U����C�H�5��H��E1�����H�C�8}����H��H�C�A���H�BH�C�z}��L�����A�ą�x�H�C�8}�:���H��H�C�C���DH���H��H�S賱��H�C0H���.���H�����H�C�8]uUH��H�C����H��H�S�c����C�H�5*�H��1��8������H��A����H�S����C�H�5ڮH���
����5���� ����AVAUATUSH���[H�H�0L�5��*I��I��H����A�H��H���4H�xH�@Hǀ�H��)����1����H�H�C`H��CPH�}HH�C0H�C8H�H�k��H�C(Hc}(L�kL�c��~vH��A�H�C@H����HcU(1�H��H���x��HcU(H�C@H��H���H�CHH�Ch�Cp����Hǃ�ǃ�H��[]A\A]A^�DH�C@Hǃ��H�_H�������ȐH�EH�H�C �:���1��@H�5��1�芥����H�5��1��r���H�;�*H��1��v���ff.�@��H����ATL�%
�*USH�W8H��I�$H�@H��tCH��t1�s0��~*1�fDH�LmH�|�H��t
��I�$H�S8H��9k0�H���H�{@I�$H��t��I�$H�ShH��t9�KL��~)1�@H��H��H�<
H��t
��I�$H�ShH��9kL�H���I�$H���H��t��I�$H��[]A\��f��ff.�@��1��E��D��AWAVAUATUSH���H�L$dH�%(H��$�1�H���TH�I���F�����I��I��H���#H�����L��H������(H�������H�D$H�*�*�{Hc��I��H����H�D$ H�L$H�D$Hc�L��L��Hc�H��H�L$�v�H�L$L��Hc�A�|I�|�\�A�DI�vH�~HtkH�L$L��L��蛿��L;|$tH�
�*�D$L����D$H��$�dH34%(uoH���[]A\A]A^A_�L�|$ L�|$�Z���f�H�T$�L��L�������f�H�����떸�����A�����������~������f���M��I��H��H��1��i���f���H��t8H��t���tH���H���8����H������������f���H����AWH���	AVAUI���ATUSH��H�=:�H������M���UI�MH��H��1��1��!��H�޿
�4��A�M�1�H���H�����E�UE���D��H���1�H������I�E H�ٺ�H�=ʮL�<��/���M���^E�G(E����A�wH���m���A�wYA�GH�/�Hc�H�>��H�ٺ�H�=������A�G��uA�OE�G�H��H�x�1��-���A�G���������������5H�޿
���H��A9m����A�MH�߭H��1��E1�����H�޿
����E�ME����I�EH�ٺ�H�=4�N�$�����M���fA�$��������A�L$E�D$H��1�H�
��E1��M���A�T$��h�?���xH�=��H��1�����H�EH�����x���D�EH�3�H�߾1����I��E9t$��I�T$ K�vH�پH�=��H�,º	�6���H�����E���J�E��t"H�ك��_��H�=^�����M��xH�]��H��1��\����M��V4����H�ٺ�H�=8����H�EH�������M�H��I��H�2�����E9t$�%����I��E9}�B���A�M(H�u�H��1��1�L�%�����A�M(��~4�I�E0��L��H��H��H��D�HD�1����A9m(�H��[]A\A]A^A_�@�H,H���H��1���g���H�E�W���fDH�ٺ�H�=�����O���f.���H�=��������DH�ٺ�H�=Q��w�������f�H�ٺ�H�=���W����9���f�I�G@I�W0�H�ߋJD�@H�/�1�������fDH�ٺ�H�=1�����A�$���
���H�ٺ�H�=�������@I�OH��H��1���>���A�G������A�O,H�q�H��1����������f�A�OLH��H�V�1��E1���A�L��C���fDA�vH��I��谨��A�NE�FH��H�2��1����E9gL�����I�GP�H�ٺ	H�=�N�4�����A�6��t�H�ٺ	�H�=֩����DH�ٺ�H�=������A�G���fDH�ٺ	�H�=Y����A�G����fDH�ٺ�H�='��w���A�G���fDH�ٺ�H�=���O���A�G�v���fDH�ٺ�H�=Ѩ�'���A�G�N���fDH�ٺ�H�=�����A�G�&���fDH�ٺ�H�=�����A�G���fDH�ٺ�H�=������2���f.�H�ٺ�I��H�=]����E9}�I�������@��H��H�ٺ�[H�=$�]A\A]A^A_�A������AWAVAUATUSH���dH�%(H��$�1�H����H�������H�H��H�|$8H�D$0H�GHc(H��$�DŽ$�H�DŽ$�H�D$PH�D$XH�D$`H�D$hHDŽ$��D$x����H�a�*H���H�D$pH���$HcS(1�H��H�������D$0L�d$,H�l$0����DH�T$PH���Hc�$�H�$��9u	�:�$�rHcD$X�D$,�9�kH�|$p�_9��;H�J H�4@H�<�w��xH�?D�oE���D�_E����D$\����H�@L�4�IcF���3H�L$pH���H�t$8��H�v0H�Ƌ09��k�@9��`A�~�F9��-IcF����H�L$pH���3H�T$8H���%H�z0H���H�4��;T������IcF=U4�IcVH�CI�>H���D$XH�D$Pt�D$,�$��D$0���~���H�D$hH���SH�-��*H�|$pH�Ut0�L$`��~(1�H�[H�|�H��t��H�UH�D$hH��9\$`�H����M�>M����Hc�$�H�$��>��E�GE��u2A���~*A�~�D$\�D$,����H���7������f��D$X�J���D$X9�}.H�J H�H�4@�t��,����D$X���D$0����fD��uH�D$P�p�����H���D$4����D$0�����D$\9�~�H�J H�4@�t�����L��1�����L�������A�Ń�tT���t���E�WE�����H�T$P�D$X�J���.���@�D$X��9B����H���8������A�O����A�G����H�SIcvH�<�A�VH�|$����H�D$pH����H�L$8H����L�I0M����Hc�H�T$PL���D$XA�:�J��A;|������9�����A�:A�GA�O�D$\��9f�L��1����L���������|$\�W�T$\����A�GA�O9�����$��t$,Ɖ�$�Hc�H�$��>��9�|�H�D$P�T$XH���D$X����H�D$H�D$�T$H�D$P���T$H�D$Hc�$�H�$��T$XH�D$P�I���f�IcF=U4�����H�L$pH����H�D$h�D$0����H����H�|$P�AH�|$pH��t	H�@�*��D$0��tf���u1���$��������H��$�dH3%(��H���[]A\A]A^A_�fD����@H�D$p1��y�����f�H���*�#�H�=�H����D$0�����D$X�����H���*H��H�������@E�OE���9����&���fD��$�9������IcF����DA�~��������H�D$hH���b���f���������fD�D$0�����5���H�D$hH���2������D�|$XH�t$P�W;V�[���H�����IcF���?���H�T$pL��A�:�(���fD1�9����@������IcF��xH�T$pH��������,�A���)����$���@��A�OA��@���H�5�1��k�������������l��H�T$P���J�&���ff.����H����ATL�%��*USH��H�?H��tA�$H�{H��t*�s��~1��H�<�H������9kH�{�A�$H�C H��t/�K��~!1�@H�<�H��t	�2���H�C H��9k�H��A�$H�{0I�$H��t��I�$H�{HH��t��I�$H�{PH��t��I�$H�{`H��t)�SX��~1�H�<�H����9kXI�$H�{`��I�$H��[]A\��f��ff.�@��H��t邫��f��ff.�@��S1�褜��H��H��t9H�@ H��茙��H�C(H�CH��t0�H��H��������x�CpH��[�fDH�{�Ϗ��H��1����H��[���H�����G8���t�f.�ATI��USH�����H��H����H�xPH��t*�@L��~1�f�H�<�H���c���9kLH�{P�H��*�A�D$H�߉C<I�D$ H�C@A�D$�CLI�D$�Ch����H�CPA�D$<�Cp����H�C@H��H�CP�D$�����D$A�D$8H��[]A\ø����ø������ff.�f�AWI���hAVAUATUSH��xH�C�*�I��H���H�xH��H�H��H�@`1�H)���h���H�I�A�WpI�A�GLA�FI�GPI�FA�G<A�FI�G@I�F A�G\A�F(I�G`I�F0A�GhA�V<A�F8�������t:E�f(E��u1A�Gl�D$��u%I�F H��tH�H��t�x��f.�I�A�GLI�GPA�G<I�G@A�G\I�G`H��xL��[]A\A]A^A_��L���8���A�F8�a����H�5�L���Y�����Ic~H���H�D$ H���A�n���}I�V1�1�H�t$ �D����H��A9F~H�<�u�����������L$PIc~H���H��H����Ic~H���H�D$H����E�^E����I�F H��x�
�x���L�|$(L�t$I��@H�X�D$E1�D�h���u��I�GM9���I��J�|�H���c���t�H�D$F�|��D;|$��H�D$D9p��H�D$H�@ J��xuI���x�z���H�î*H�|$ I��L�t$�H�|$��D$��L�l��I�<$I���M9�u�H��L��E1�������HcD$H�t$H��B�D��L�d��|���I�$H���x�D$�K����D$�L�t$L�|$(���D$THc�D$P�xHc�艔��I��H����HcD$E�N1�E1�I�~H�D$@E���sH�l$`H�L$ L��I��L�|$XL�L$L�t$8M��F��A����D�|$TN�,�E��A�uIc�A�4�E�EE����L��D�T$M��1�L�\$HI���D9��H��A9]��I�u H�[H�,�HcU���t�H�uH��t�Hc>H�~XE�$�tH��t9C�4'��Hc�I�t����>��u��H��t�H�UE�Mc�H�RXJ���fDHc|$PH�t$@�H�L$0L�L$(D�T$�E���L�L$(H�L$0H���vHcUD�T$�L��M��L�\$HI��H�t$8H�~H�t$8I��D9^����H�l$`L�|$XM��I��I��A�F8H����A�N1�M��M�݅�
�(�I�~H�<�H��菉��A9^�I�~M��M��H�(�*L�\$(L�D$�L�D$L�\$(I�F I�FA�FH��tbA�VE1��~>L�\$H��M��L��I��J�<�H��t	�o���H�C I��D9c�L��L�\$I��M��H��L�\$(H��L�D$�L�D$L�\$(�D$H�|$ M�FHI�F A�FX�D$PA�FM�^PI�n`A�F@�H�|$����L�t$8M��H�l$`L�|$XA�F8H����H�.�*L�L$H��L�D$L��H�|$ �H�|$��t$��t#�D$I���L�l�DI�<$I���M9�u�H���7���D�T$L�t$E�����D$H���*I���L�d�I�}I���M9�u�H�|$�H��H�|$ �L��E1�������D$P���H�k�*�G���H�_�*H�|$ �H�|$����L�\$HH�|$XH�D$hL��H�5�H�L$0M��L�\$(H�D$�L���H�D$8L�L$L�\$(H�L$0H�xH�D$h�Z���H�5ߖL������H��*L��E1���n���H�5��L�����H���*�$���H�5��L���݇��H���*����H���*����D$P���xHc����I��H���
����D$T�V���H�\�*H�|$ I��H�|$��D$��L�l�I�<$I���M9�u����H�$�*���ff.�@��USH���ђ��H����H�@ H��H��赏��H��H�C(H��H�C�R����H�����H�C�8ut�S��uUH�C(H�SH�{PH�C ��tH���n���H���V����C��uH�����H��H�����H��H��[]�f�H��1����H��H��[]�@�C�H�5J�H���R����q���D1�H��H��[]�ff.����H��t	wp���H��tH�G�f�1��ff.�f���H��tH��t�1��f�������f.���H��A��H��A��E���H����AWI���AVM��AUI��ATUH��SH��H��襏��I��H��tEL�pXL���q���L��H��L��I�D$H�������xH��H��t/H��[]A\A]A^A_�L��踞��H��1�[]A\A]A^A_��H�C(��f.�1��ff.�f���AWAVAUATUSH��(H��A��H����A��(H���H�4$�M��M��H��I��H���Ҏ��I��H����L�xXM��tA�<$uFH��莴��I�EH�4$L��L��H���������M��M����H��(L��[]A\A]A^A_�f�L��舶��H��I��H�D$�x���I��D��D�L�L$�D$�xH���*Hc��L�L$H��I��tzMc�H��H��L��L�L$����L�L$HcT$L��C�|K�|����HcD$A�DM�}�:���@L���8����E1��D����L�{(�3����L������������AWAVAUI��ATUSH��dH�%(H��$�1�H����H�������H��H����I��M��L��H�$�>���I��H���rM��H�XXH�$�@(t
A�>��H�����I�GH��L�t$ ��I��1����L���L���}���L��Ƅ$�譲��L��L��L��I�G H�����������ElL��M����H��$�dH34%(H����H��[]A\A]A^A_�@L��H�$脴��H�$H��H�D$H��H�L$�k���I����D�L�$�D$�xH���*Hc��L�$H�L$H��H��t{Mc�H��H��L��L�$����L�$HcT$L��B�|J�|����Lct$B�D3I�_�����L���(����1�����f�H�](�����L�������莴��ff.���AWAVAUATUSH��8H����H��A��D	�H��A��D��FE���=D;L$p�2�D$p���&H�t$�D��M��H�L$I��H������I��H����M��t
A�?�H�|$�ɰ��I�D$H�D$x��H��I�D$X�E�A�D$�D$pA�D$�ځ��Hc�H�C`I��H�ЋT$p�(�PM��tFH�t$L��L��H��A�����M���‚��L��H��跇��L�k(��ujH�t$L��H���O����XDH��D�D$�ۈ��H��H��I���}���D�D$L��L��H�t$A�����H���_���L��H���T���L�s(M��u�E1�H��8L��[]A\A]A^A_�L������H�|$I��H�D$(���H��D���H�L$�D$$�xH��*Hc��H�L$H��I��tIHc�H�t$H��H��H�L$�q��H�L$HcT$(L��A�|I�|�U��HcD$$A�DM�t$�|���L��踘���N�����AWAVAUATUSH��H����H��A��D	�H��A��D��E���E9��E���I���E��E��H�L$H��H�����I��H����H�|$诮��E��E�oH��I�GH�D$PI�GX�AE�A�G����Hc�H�E`I��H��D� D�hH��t<A�����H��L��L��H��赀��L��H��誅��H�](E��ucH��L��H���C����S�H��T$�Ԇ��H��H��H���v~��D�D$H��L��A�����L��H���Z���L��H���O���H�](H��u�fD1�H��H��[]A\A]A^A_�ff.����AWAVAUATI��USH��8D;L$p��E����	�H����	�H�������H��H����I���E��L�D$H�L$����H��H����L�D$H�L$M��t
A�8��H���2���H�EH�D$x�EH��D�uH�EX�D$p�E�K~��H�Hc�H�C`I��H�4�M���A�����L��H��L��H��M���0��H��H���%���L�c(�
�E1�H��8L��[]A\A]A^A_�L��L�D$H�L$�ή��H�L$I��H�D$(H��H�L$贮��I��D��D�L�\$�D$$�xH�О*Hc��L�\$H�L$H��I��L�D$t|Mc�H��H��L�D$L��L�\$�!���L�\$L�D$HcT$(C�|K�|L������HcD$$A�DL�}���@H�߉T$茄��H��H��I���.|��D�D$����@H���8��������AWAVAUATUSH��H��E����E9���	�H����	�H�������H��H����I���E��E��H�L$�s���I��H����H�L$H���:���E�l$H��I�D$H�D$PA�D$I�D$XE�|$�P|��H�Hc�H�E`I��H�4�H��tSH��L��L��H��A������<}��L��H���1���H�](H��H��[]A\A]A^A_�H��1�[]A\A]A^A_��H��T$�D���H��H��H����z��D�D$�ff.�@��USH��H��t!H���	���H��H��H���z��H��H��[]Ð1�H��H��[]�@��USH��H��t!H��tH��H���!���H��tH��H��[]�f�1�H��H��[]�@H�](H��H��[]�f���AUATUSH��H��t]I��H��tUH��H��I��H��toA�W4��t-1�A�����L��L��H���{��H��t2H��H��[]A\A]�@A�V4���H��1�H��[]A\A]�H�](H��H��[]A\A]�fD�L$���H��I��H���y��L�m(�L$�m���@��H��t2ATA��U��SH���Fz����xH�K`Hc�H��D�"�j[]A\ø�������Ð��U��SH��H��H������u$H��H��tH���t���H��tH��H��[]�D1�H��H��[]�@H�](H��H��[]�f���U��SH��H��H������u$H��H��tH��贁��H��tH��H��[]�D1�H��H��[]�@H�](H��H��[]�f���H��t/�G��u(SH�PH��t
�|��H��訖��H��[�O��1��D��H��t�Gh���t�fD����������f.����gvU���<��H�ď���-H���� H�������H���H��HE��������H�������H�����H��������H���H��HE��fDH�Ў����H�i���H�ġ���ts���H�[�H�СHE��H�����tKv"H� ���t=��H�(�H�8�HE�Ã�H��H��HE��f.�H����H�����H�S��������v��v6��t	r=�u`H�G(���w3��sV��t>rG��rBH�GH�D��s(��uH�G0�f���tك�uH�GhÐ��uH�G�fD1��DH�G �H�G@�ff.�AVAUATUSH���H��tzH�G@H���}D�@E��~tH�A��D�N�N�D��f�H��I9�tWH�93u���wA��w/H9Su�H9��u�� fD��uH9S u�H9K(u��D1�H��[]A\A]A^�f�H�_(H��t�I��I�ԉ�I���O�fDH�H��tHH�{H��t�Gu�L��L�������H��t�H���f�H9S�F���H9Kh�<����f.�A�vH��[]A\A]A^�ff.�@H��tCATL�%2�*USH�oH��I�$H��tH�}H��t��I�$H���I�$H��[]A\��������f.�H����ATI��USH���D��u3L9�tn�E8�u'H�UH��t��H�rL��E8����u8H��u3H�[H��t/H�kH��t�E��r�w�H�uL�����H��t�[]A\�[1�]A\ÐH��[]A\�1��DH���H��t4H9�t?�PX��u/��SH��H�ƉPX����H����rX[�D��1��DH���ff.���������H�:�Hc�H�>��H�����H�����H�ۋ��H�T��H�ҋ��H�̋��H�����H�q���H�T���H�7���H�����H�����H�����ATUH�-�*SH��H�H�EH��t��H�EL�c M��tI�<$H��t��H�EL���H�EH��[]A\��D��H��t/USH��H�-��*f.�H��UH��H��u�H��[]�����H�QP����H��tH�GH��tH�H��tH� ���ff.�@��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH���H��t
H� ��@����H��tH�GH��tH�@ H��t
H� ���1��D��H��tH�GH��tH�@(H��t
H� ���1��D��H��tH�GH��tH���H��t
H� ��@1��D��H��tH�GH��tH�@0H��t
H� �������H��tH�GH��tH�@HH��t
H� �������H��tH�GH��tH�@8H��t
H� �������H��tH�GH��tH�@PH��t
H� �������H��tH�GH��tH�@XH��t
H� �������H��tH�GH��tH�@`H��t
H� �������H��tH�GH��tH�@hH��t
H� �������H��tH�GH��tH���H��t
H� ��@����H��tH�GH��tH���H��t
H� ��@����H��tGH��H	�t?H��tH�H��tH�H�O8H��tH��tH�AH�1�H��tHcI4H�
�������f.�SH��H�H��t�^��H���*H��[H���ff.�ATI��USH�_H����H�-u�*H�;H�EH��t��H�EH���I�\$(H��tH�;H�EH��t��H�EH���I�|$0H��tH�5<����ǣ��I�|$8H��tDH��UH��H��u�I�|$H��t�˻��[H�EL��]A\��fDH�-�*�ff.�@UH��SH��H��H�H��tL�wHcW9�$��wH��H���*Hc�H���H�H��tDHcS�J�KH�,�1�H��[]�f.�H�I�*���H�H��t3�CHcS�L���1�1Ҿ��Ә���C���L���1�1Ҿ�識������ATI��USH�H��H��tF�wHcO9�$��wH��H��*Hc�H���H�H��tFHcK�Q�SL�$�1�[]A\�fD���H�z�*O�Hc�H���H�H��t/�kHcK�L�&�1�1Ҿ������C���L��1�1Ҿ��ݗ��������H�GPH���H��tH��H�5B,���D��ATI��UH��SH�?H��H��tH��*�H�EM��tUH�=�����L��H�EH���
��H�5��H�EH�����H��H�EH��t#H������H�E[]A\�f.�H��H��u�H�}H�5�(���[H�E]A\�ff.�@H����H����������������������H�R����vK��w&����������uH�v ����fD���=�t�1����f���wC������H�5��HE����f.���sR��tM1��g����������u�H�vp�v������tK=�u�H�R�3�����v���t��u�H�R����H�R �����H�v(�,����H�RH����������fDH�vh�����H�����@H�v`����H�vH�����������fD1����f�UH��SH��H���>dH�%(H�D$1�H�$�������H��H�;���H�5c�H�H�����H��H��H����H�;H���v��H�59�H�H���d��H�<$H�H��tH��*�H�H�T$dH3%(u*H��[]�D���-H�wH�5�HE��i������ff.�f�AUATUSH��dH�%(H�D$x1�H�D$H���\H��H��A�ԅ��0H�|$H������B H���B� A9�~��~���PHc�H�H���D�D���L�kM����A�}��A�EH���Hc�H�>��fDI�UI�u`H�|$���H��H���H��1��M��H�|$H��tH���*�H�D$��K ��tH����H��1�����K$�����?�#��tH����H��1�����H��
���A�E����wI�}H��t
A�T$H�����H�{H��tD��H���u���H�D$xdH3%(�H�Ĉ[]A\A]�H���H�=l'�����2���f�H���H�=���������f�H���H�=������f�H���H�=��������f�H���H�=e�g���=���f�H���H�=W�G������f��1�H�|$����H���H�=�~�������E���DUSH��H��tEH�_XH��H��u�7�H�[0H��t'H�{Hu�H�{H�������t�H��H��[]�fD1�H��H��[]�@H��t{H��tvATI��UH��SH�wH��H��������tH�{XH��蝕��H��u:H�{`�Ϲ����~*H�{`M��t9L���y���H��tH�@P[H��]A\H�xX�`���1�[]A\�f�1��DH�55~�<����f.�H��t{H��tvATI��UH��SH�wH��H���-����tH�{PH�����H��u:H�{`�/�����~*H�{`M��t9L���ٔ��H��tH�@P[H��]A\H�xP���1�[]A\�f�1��DH�5�}蜔���f.�H��t{H��tvATI��UH��SH�wH��H�������tH�{@H���]���H��u:H�{`菸����~*H�{`M��t9L���9���H��tH�@P[H��]A\H�x@� ���1�[]A\�f�1��DH�5�|����f.�H���YATI��UH��SDH��� ������i���L��H���������W���H��u�D�CY@uH�[pH�������.u�H��u�}D�@Y@uH�@pH��t	���.u�H9�u[�����tx�;u��.tn�L��H���9����������u$H������H��H��tnL������I��H���0���[1�]A\Ð1�H��t����.t�@Y@u�1��i���L�����H��H�����H��H�������t�H��覭��H��H��u�L��薭��[]H��A\�����[�����]A\�1��ff.�AUATUSH��H��dH�%(H�D$1�H�$H�H���;�BH�ՍP���������H�= {I������H�H�EHH�U1�H��tH�pL������H�;H������H�<$H�H��tH���*�H�$H�;H�5�}���H�H���q���H�H�L$dH3%(�2H��[]A\A]��L�e(H�=�z�x���H�I�D$HI�T$H���H�pI��L���3���H�;H���x���H�<$H�H��tH��*�H�$H�;H�52z�L���H�5A~H�H���:���H���f��I����t&����H�=^3���H�� ���f�H����8��H�=�yI��豏��H�I���L��H�PH�p �w�H�;H��輽��H�<$H�H��tH�Y�*�H�$H�H�5Q|H��荽��H����DI��1����fDH�=�2�4���H��~���@蓫��H��+����	H�$yH�5�>H�81���1��L���f.�Hc��H���H�=�xI��H�,��ώ��L��H�H�UH�u ��H�;H�����H�<$H�H��tH�~�*�H�$H�H�5�xH��貼��H�5�|H�H��蠼��H����胑��AWAVAUATUSH��hL��$�L��$�L��$�L��$�dH�%(H�D$X1�H��tf�H����A�׃�t~������L�G$H�w�S H�SH�{(ARI��AVH��1�AUATAQA�jjAVAUATjjUAW�+���H��pH�D$XdH3%(��H��h[]A\A]A^A_�@����H�G�Gl�ShH�D$H�C H�D$H�CH�D$H��PE����H����H����L�T$8H�T$HH�t$PH��XL�L$0D�D$,H�L$ ���D$(H�L$ D�D$,L�L$0L�T$8L�\$P�fD�[���H�����H��vH�5�<H�81����
���@H�GH�D$�;���f�H�w����H�S0H�����D$(L���H���[M��tVE��tQ1�ARAVAUATAQ�D$PA�P1�jAVAUATAPI��H��ASUAWH��$�H��$�H�|$x虘��H��p�i���L�T$8H�T$HH�t$PH��XL�L$0D�D$,L�\$ ��L�\$ 1�D�D$,L�L$0L�T$8M������E��uD�D$HM���X���L�[`�O���fD�D$(��fDH�KPH���O���H�I8H���B���L�Y�D$(���D�����xH���H��t
H�JH���	���H�KPH�������H�I8H������q8L�YD�A4�t$(����1��I����4���@H��H��I��A��H��tF�G$H�w�P H�WH�(AQAPQH��1�jjjAQA�APM��jjjAR�1���H��h�@1�1�1���H�Љ�L��M��L�L$H��tH���fD�{���ff.�AWAVAUATUSH��8�t$dH�%(H�D$(1�H�D$ H����H��A��H��A��8���L�d$ H�EH�D$D����$��L��H���e��������L�l$ A��u)�<$t#L���s���L�l$ ��~H�A�|�0��H�}H����M��t;H�59[�ڷ��L��H�EH���˷��H�EH�|$ H��tH�f{*�H�D$ H���s���H��H����H��迚��A�ƃ�.�C���H�@L��D��H��H���'���H���_���H��H��tw�|$�,�|$�AL�l$ H�}M����H���@���L�����H�|$ H�E�N���M��u�H�|$�8���H�=@,�È��H�|$ H�E�#���DH�}������1�H�T$(dH3%(��H��8[]A\A]A^A_�I���q���H�|$ H����H�;z*�D$H�$�H�}H�$�D$H��t�D$H�$��D$H�$H�|$ �$H��tq��$�y����I�D��8.�:����L�l$ �-���DH��H�D$�ӣ��H�L$I��H�D$ �����H��H�D$���H�L$I��H�D$ �������������fDH�}H��t�H�py*�K���覊��fDH����ATI��UH��SH��H��tH�5��H��膷����urH��t]H�uH���q�����tH�}8L���A���H��u>H�}`�s�����~.H�}`H��tMH������H��tH�@P[L��]A\H�x8����@1�[]A\�f�H��L���ʼn��H��u��y���H�5�p�̇���f.�1��ff.�f�AWAVA��AUI��ATUH��SH��L�~L���H�4$H���)I�E0I�wH�x0H����I�W`��}��H��H����I�}xE���H�$�P$����1���@���)�H�$�H ��Op ���S|��I�}x�D$趥��I�OM�G`M��I�}x1�L��I��E1��{��I�}xL��H���H���H�C�p��~BDH�I�}x1�L��J��I��H�HL�@`I���{��I�}xL��H������H�CD9xË\$I�}xL��L�����Fy��I�}x��H��L���5���H�$1��S ����I���H��[]A\A]A^A_�fDD��1�L���x��M�G`I�OM��I�}xH��H��I��E1��{��H�CD�@E��~�fDH�I�}xH��L��J��I��H�HL�@`I����z��H�CD9x�H�$1��S ���d���I�}xH��L��������K����I�wH�<$�K��L��E1ɺ�I��H�
�H���N���H��1�[]A\A]A^A_�DH�x���H�������I�OM�G`M��1�L���;z��I�}xH��H��茔��H�C�x�������E1�f.�H�I�}x1�L��J��I��H�HL�@`I����y��I�}xH��H���=���H�CD9p��Y���ff.�H��tKATL�%ru*USH��DH�{H�kH��tA�$H�{8H��t艘��H��H��A�$H��u�[]A\�D�ff.�@��L�T$H��t"H�GH��tH�@@H��tH� ��f.�L���Ȯ������tAw�P����w*�GX����Ã�u�Gx���@��f.����GX����ff.�@H��tKUSH��H�-nt*H�H�EH��u� H��H�EH���H��u�H��[]��H��[]����ff.�@���t91��� w,H�&H��sf�H�����t< w	H��r�1��D��f.�H��H�������tiUSH��H�ZH��tB�*�fD��t4H�[H��tKH�C���t(��t#H�s H�{�����uх�tѸH��[]Ð�S 1�������@��1�����H��[]�f��ff.�@H��t#�G ��tH�GH��t�1�����v�fD��f�H�w H�����������AVI��AUATI��UH��S1��
�H��9]~gI�$H�؁8�u�xu�L�hM��t�M9�t2A�EH�u�I�upH��t¨t���H�VL��A�EH���A�uHH��t�[]A\A]A^��[1�]A\A]A^�1��f����tA�WX���@u,1��€u%�������t���u1��������������t�.t�1��������ff.��H�������t��uH��H������H��H�����@1�H���f��AVE1�AUI��ATE1�UH��S����f�I�EJ��C@�t'H�{H��t	H�Qq*�H�{ H��t	H�?q*��C@�tH�{(H��t	H�&q*�H�{0H��t�Ƴ��H�{H�L��I��H��H�ChH)��Kp���H�D9u�r���[�E]A\A]A^�f���H��tGH�GH��t>H���t4S�>���H��֛���+pH��hH�5�.H�81���[�f.��ff.�@��H��tGH�GH��t>H���t4S�ޚ��H��v����#pH�ohH�5".H�81���[�f.��ff.�@��H��tGH�GH��t>H���t4S�~���H������pH�hH�5�-H�81���[�f.��ff.�@S�:���H��Қ���}kH��gH�5~-H�8I��1�[A���������x��0���t9�}뱐�ff.�@��H��tWSH�GH��H��tH���H��tH� ��H��(t&H�C �����x��0���t9�}	[�K���[�fD�ff.�@AWAVAUI��ATI��USH���F@Hdž����H�~H��tL�=�n*A�I�D$I�|$ H��tL�=�n*A�I�D$ A�D$@���I�|$(H��tL�=_n*A�I�D$(I�|$0H��t��I�D$0I�\$hH�������H�k8H��t/�{ �eL�=n*H�}I�H��t��I�H���H�C8H�{@H��tH�58���s���H�C@H�CI���H��tH�CI���L��M��tTH�C(L�sH���s����S0���h���1�fDH�<�H��tL�=pm*A�H�C(H��H��9k0��3���I�D$hI�|$`H��tDH��@��H��H��u�I�D$`I�|$pH��t�pw��I�D$pI�|$xH��tH��l*�I�D$xIDŽ$�H��[]A\A]A^A_�I�D$(�o���f�H�FH�F �3����E�������L�=�l*1�@H�MH�T$H�,�H�}A�H��A�H�T$H�k8H��9U��Y���ff.�@H��H�%k*��H��tf�H���DL�1v1�1Ҿ�H�D$�v��H�D$��f�SH��H��H�?H��t����1�H��[�H�T$�t$����t$H�T$H��H��H�uθ�������AWAVAUATUSH��H����H����H�ij*D��M��I��I��I�����H��H����H�xH�@Hǀ�H��)����1����H��L�shI�G0L�kL�cpH�x ��u>H��HH�ھ
�
���I�0H�ھ
H��(���H��H��[]A\A]A^A_�fDH��@H�ھ�����D1���@A�G$L��b1�1Ҿ��Au���ff.�@UH���HSH��H�[i*�H��H��tQH�@@f�@@ @0����H�CH��tH��H�C(H��tjH�kH��莙��H��H��[]�@L�Qt1�1Ҿ��t����@L�Yt1�1Ҿ��t��H��i*H��1��fDL�Qt1�1Ҿ��Vt��H��1�����y����H�yh*S���H��H��tIH�xH�@Hǀ�H��)����1����H������H���H��t'H��[�f�L��s1�1Ҿ���s����@H�i*H��1���ATI��UH��S�a���H��H��t(H���H���J���M��t�����L��H���Er��H�CPH��[]A\�f�AVI��AUI��ATI��UL��SH���8H��H�yg*�H��tRf�L�h0@H�S0L�pH�z8L�` H�h(tH�J@H�H�B@H��[]A\A]A^�@H�B8��f.�H��t�C$L��`1�1Ҿ�H�D$�r��H�D$H��[]A\A]A^�fDAWAVAUATUSH��H���H���H��f*M��M��I��A��H�����H��H����H�xH�@Hǀ�H��)���������1��H�D�+L�s�T$@L���L�cH��t~�����uDH�E0H�ھH�x H��@�K���H�}0H�ھ
H��(�6���H��H��[]A\A]A^A_�@H���M��L��H��H���H���H���H��t\Dž��H�E0H�ھ
H�x H��H�����D1��@�E$L�1_1�1Ҿ��Jq���o���DH��f*H��1��W���ff.�f�AUATUSH��H����H����H�=e*H��A��I���(�H��H����f�H�h H�ھ
@H�@�@D� I�E0H�@ H�xH�
���A��uH��H��[]A\A]�fDI�}0H�ھ
H��(����H��H��[]A\A]�DH��1�H��[]A\A]��A�E$L��p1�1Ҿ��1p���ff.�@AVAUATUSH��tsH�Ld*A��A��I��H���0�H��H��tYD�h H�ھ
D�`$�H�@L�p(H�@H�@H�E0H�x H��H����H��[]A\A]A^�f�1���@�E$L�q]1�1Ҿ��zo�����AUATUSH��H��tqH��tlH��c*I��A��H���H�H��H��t]f�D�(H�ھ
@@$@@4�@DL�`H�E0H�x H��H�b���H��H��[]A\A]�@H��1�H��[]A\A]ÃE$L��\1�1Ҿ���n���SH���H��H��b*�H��tH�@H�H��[�H��t�C$L��n1�1Ҿ�H�D$�hn��H�D$�ːH����H����AVI��AUI��ATI��US�B,H�Z0�F,H��tJ1��f.�H�EH�H��H��t-L���I���H����H�SH�PH��u�H�I�E0H��H��u�I�}8H��tH�-4c*@H��UH��H��u�I�~8t+L����I�E8H��t2I�V8H�RH�P1�[]A\A]A^�I�E81�[]A\A]A^�D[�����]A\A]A^ø�����@H��a*AVI��AUI��ATA��UH���0S�H��H��tNL�h H�ھ
L�pD�`H�@(��H�@H�E0H�x H��H�[���H��[]A\A]A^��H��t�E$L�hm1�1Ҿ���l��H��[]A\A]A^�f�ATUSH��tgH��`*I��H���H�H��H��tSf��@DH�ھ
@$@@@4�L�`(H�E0H�x H��H���H��[]A\�D1���@�E$L��Y1�1Ҿ��l�����SH��H�?H��tp�S9�~i��tHD�B�A9�t7~5)�Hc΍r�H��H�H���
@H�;H��H�TH�HH�H9�u�D�C1�[�H�	a*�H�1�H�C[�L�=l1�1Ҿ��zk�������[���UH���SH��H��H��_*�H��t]H����@����H�hH�H��tH�H�����@��u�}t
H��[]�fDǃ@H��[]��H��t�Cl�ChH��L��k1�1�[��]�j��SH���(H��H��^*�H��t%f�H�@ H�X@H��[��L��k1�1Ҿ�H�D$�aj��H�D$��f.�H��tkUSH��H��H�~��z��H��H��t1H��H���1�H�/X���H�q_*H��H�H��[]��H��H�ٺ�[H�=X]�A�����ff.�@AWAVAUATUSH��H��dH�%(H�D$1�H����H��H����H�=�W���H�MH��taH�,Y�H��1��K���H���H��tH��W�H��1��)����M��
��H�5r���Hc�H�>��f.�H�ٺ
�H�=NW�g����DH�ٺ�H�=�W�G����H�ٺ	�H�=�W�'����}\w9�E\H�+�Hc�H�>��DH�ٺ�H�=�V����H�޿
�{x��H�M`H��t9H�jW�H��1��<���H�MhH����H�YW�H��1�����L���M����A�T$H�$����H�ٺ�H�=W�[���A�D$����E1�I���rfD��H�=W�*���I�GH�PH�ppL�����H�߾H�P5H��1��}���H�<$H��tH��\*�H�$I��E9l$�4I�$H��N�<�A�=��[=��p�����H�=zV蚘��I�WI�w �o���DH�ٺ�H�=V�o������f.�H�ٺ	�H�=KU�G����Z���f�H�ٺ�H�=�U�'����:���f�H�ٺ
�H�=|U��������f�H�ٺ
�H�=pU������f�H�ٺ�H�=GU�Ǘ������f�H�ٺ�H�=�T觗���b���f�H�ٺ	�H�=�T臗���B���f�H�ٺ
�H�=uT�g����"���f�H�ٺ�H�=`T�G�������f�H�ٺ	�H�=LT�'������f�H�ٺ�H�=6T��������f�H�ٺ�H�=T������f�H�ٺ�H�=T�ǖ�����f�H�T�H��1��*����e���DH�u0H��tH�������}tQH�D$dH3%(��H��[]A\A]A^A_�fD��H�=T�J���I�WI�w����DH�}8H��t��H���r���H���H�=�R�����y���f�H�޿
�t���U����)k��f���������H���cAT�I��UH��H��SH��H�=�*蝕���CX�#H�K1�H��SL�����H��tH��H�gSL��1���ە��L��
��s���CX��H���H��tH�lS�L��1�袕��H�KhH����H�XS�L��1�����H�KpH����H��R�L��1��\���H�KxH��t]H�$S�L��1��=���H���H���U[L��]�H�NR1�A\����H�{8H��t�L���O���H�KxH��u�[]A\ÐL��	�H�=OR�W������f�L��	�H�=AR�7����CX����ux�uL�u(L��
�r��H���H����������fDL���H�=R�ߓ���DL���H�=�Q迓���CX�f.�L��
�H�=�Q藓���CX�g����L���H�=�Q�o����CX�;������[L��]�
A\��q���L��
��q���R���ff.�UH��H��SH���_r��H��H��t/H�}H�޺�����f`��H��H��H��V*�H��H��[]�DH�=i��d��H����ATI��H�5)QUH��S�������t$A�$��!�t
[1�]A\�	�[]A�$A\�DH��H�5�P���[]��A\�����@�����H��tH�G,��u?UH��SH��H�_0H��tEDH�{H���|�����u H�H��u�H��[]�@1��DH��1�[]��H�G8H��t�H��t�H�x�1�����������ATUH��S����I��H����u]H��tH��tzH�wH���������H�{`�����~XH�{`M����L���d��H��t>H�@P[H��]A\H�xp�d������H��{�����H�tMH�5'H�81���1�[]A\�f.�[H��H��]A\����H�{pH���4d��H��u��c���f.�H�5
M�d���k���ff.�@UH����SH��H��S*�H��H��tQH�xH��H�Hǀ�H��1�H)�������H�H���H�{x�Ӄ��H��H��[]�f�H��t�E$L��N1�1Ҿ���^��H��H��[]�UH��H��H��SH����q��H��t7H�}�����H��H���s]��H��H��H��S*�H��H��[]�f.�1�H��H��[]�@AUI��ATI��H��USH��H��H�z@�Qb��H��t\L��H��H���~���H��H��H��S*�H��t"H�޺����L����\��H��H��H�mS*H��H��H��[]A\A]�f.�H�C@L��H�������H����AWAVAUATUSH���L$D�D$D�L$H���\I��H���P�?u1�H��[]A\A]A^A_�f�H��H�5gM���������gI�&A�f�< w!H�&H����A�GI��< v�M���	fDM��A�D$M�t$< w�I��s�M9��e���L��L��L)��qW��H�5�LH��I��菐����t;��������u	�M��tH�R*L���A�D$������M���Q����H�5�LL���A�����t��L$��u�	ȉ�DH�5}LL����������H�5�|L�����������L$�����D�M�������H��Q*L���H���[]A\A]A^A_�f.�����t	��L$D�l$A	ʼn�D	��DE�D$D�+���t	�|$P��*����D$P	�����L$����t��������������D��������`���H�5�KL���)������9����|$P��.�����D$P�����D$P������������DUH��SH��H��(H�V(H��dH�%(H�D$1�H�|$H�D$H�D$���H�CHH�SH����H�pH�|$�B��jH��L�
&\E1�jH�ٺ��P�t$ ����H�|$(H�� H��tH�P*�H�D$H�|$H��t	H��O*�H�D$dH3%(uH��([]�H�|$1������}����`��f.�AWH��1�E��AVAUATUSL��H��HD�L$L��$�H�|$H�|$0dH�%(H�D$81�H�D$(H�D$0�	��H�|$0H��蜋��H�5�KH��H�D$0舋��D�$�H�D$0E���0E��A���=H�=�I�)]��H�D$(E�|$�L�-�N*1�D�|$�M�$�M����A�$<n�<*�>H�=�	I����\��A�<$H���+��$�A�D$���#<*��I��L����@H���:u�D)�9\$�T$��H�=QI�z\���T$H��L���l��H�54IH��茊��I��H�|$(L���|���H��H�D$(M��tL��A�UH�|$(H���[���H�D$(H��tH��A�U9\$��H�CI9���H�����H�=�H��[��H�D$(���f�A�|$oL���a�I��A�$��t<|u�D��)�1���k��A�<$H������H�|$(�h���<*����H�=WH�[��I���#���@H�|$(H�5��藉��H�D$(H�CI9��R���H�|$(H�5%H�t���H�|$(H�D$(�g��H�|$0H���X���H�|$(I��H�D$0H��tA�UL�L$0H�D$(jE1�1ɺOj�jjH�|$0���H�� H�|$0A�UH�D$8dH3%(��H��H[]A\A]A^A_���tL��<|����L��1������H�=+D�Z���T$H�������A�|$t�����A�|$ �����H�|$(H�5GI�l$�r���H�D$(A�D$I���9�����}*�����H��A�U����H�5�H���3���L�-�K*I��H�D$0���1��T����]��ATA��UH��SH��H��1�H�� dH�%(H�D$1�H�|$H�D$H�D$�.��H�|$H�5�W轇��H�D$I��H��tH�SH�s H�|$�N���L�L$H��jH��E1�1�jD��jS����H�|$0H�� H��tH�K*�H�D$H�|$H��t	H��J*�H�D$dH3%(u	H�� []A\��\��f�AVAUM��ATI��UH��H�=�ESL��H��dH�%(H�D$1�L�t$@H�$�X��H��H���Ԇ��H�5~H���ņ��IcL$H��H��H��8H�H��H�t��R���jE�D$H��AVI��1ɺUAU�P����H�|$ H�� H��tH�J*�H�$H��tH�J*H��H�D$dH3%(u
H��[]A\A]A^��[��ff.�f�AWAVAUM��ATA��UH��SH��H��H��(L�D$H�|$L�t$`L�|$hdH�%(H�D$1�H�D$�1��L�D$H�|$L��迅��H�5}H��H�D$諅��H��E1�H��H�D$I��D��jAWAVAU���H�|$0H�� H��t	H� I*�H�D$dH3%(uH��([]A\A]A^A_��:Z��f.�AVI��AUA��ATI��UH��SH��L��H�� dH�%(H�D$1�H�|$H�D$�_��H�|$H�5�C���H��H��H�D$�������H��H�5�C�DŽ��H��H�D$�CX�����@������H���k������H��H�5�{脄��H��E1�L��H�D$I��D��jjjAV����H�|$(H�� H��t	H��G*�H�D$dH3%(��H�� []A\A]A^�fDH��H�5C����H��H��H�D$�������f���H�5�EH��H�D$������H�D$����H�SH���H�\$H���f���H�|$��H���2b��H�|$H��蕃��H�5XEH��H�D$聃��H�|$H��H�D$H������H�G*�H�L$�����H��H�5/B�A���H��H�D$�CX���z���H��H�5B����H��H�D$�n����H�5NBH������H�{H�\$H�D$�T��H�D$�:���@H��H�5�A�т��H��H�D$�!���@H���T��H�D$�����W��f�ATI��UH��SH��H��H�?dH�%(H�D$1�H�$H��tH�F*�H�M���A�<$���������������t|�FH�=B��S��H�5�CH�H������H��L��H��Z���H�;H�����H�5�CH�H���݁��H�<$H�H��tH�zE*�H�$H�����f���ƫ��H���nS��H�5`CH�H��茁��H��L��H��޸��H�;H���s���H�56CH�H���a���H�<$H�H��tH��D*�H�$@H�����}I��uL�e(H�=�<��R��I�L$HH�H����H�qI�T$H��謷��H�;H����H�<$H�H��tH��D*�H�$H�H�5�BH���€��H��}�BH�<$H��tH�UD*�H�$H���#_��H�L$dH3%(�"H��[]A\�fD���gvu�����VH�=�?�R��H�5BH�H���8���H��H�I�T$I�t$p�Ӷ��H�;H������H�<$H�H��ttH��C*�H�$H��^fD��������������A�D$X�����@�4����H�=?�{Q��H�H��I�t$���H�H�5[AH�����H�H�������}�����H�;H�5c?�d��H�MHH�H����H�qH�UH����H�;H���9��H�<$H�H��tH��B*�H�$H�H�5�@H���
��H��M���f������������H���P��H��\���f��������A�D$(H�=�=��t!H�=�=��t��H�=�=H��=HE��pP��H�5�:H�H���~��H�����fD�����z���������"���H�=<>�&P��A�<$H�H������H��H�����@I�t$H���+~��H��R���A�D$X��H�=U���O��H�A�D$X�����@�M���.H�;H�5�<��}��H�A�D$X�C���H�;H�5�?�}��H�H��I�t$�
���f.�L��H��赶���
���H�uH���}��H��c���@H�==�<O��I�|$H��_H�5 ?H���N}��I�t$H��H�螴������f������:H�=�<��N��H�H��I�t$ �e���DA�D$X��H�=5��N��H�H��H�5`<��|��H�A�D$X�A���H�5�>H���|��H�H��I�t$�����H�=T<�dN��H�5V>H�H���|��H��H�I�t$`I�T$����H�;H������f�H�=;;�$N��H��H��g���f�H�=;�N��H��'���H�;H�5;�|��H��@���H�=F;��M��H��H��Y���H�5�;H����{��H��a���H�=�;�M��H��H����H�=1;�M��H��H�����H�;H�5(;�{��H�����H�;H�5�:�{��H����H�=�:�OM��H��H�����H�=6;�8M��H��H��N����HP���ATI��H��UH��SH��1�H��dH�%(H�D$1�H��H�$�z���L�$H��M��H�
�J��H�����H�<$H��t	H��>*�H�D$dH3%(u	H��[]A\��O��ff.��AWM��AVA��1�AUI��ATI��UL��SH��H��dH�%(H�D$1�H��H�$����H��tYH��L�v:UL�L$L��L��D��H���w���XZH�<$H��t	H��=*�H�D$dH3%(uBH��[]A\A]A^A_�@L�$M��tH��L�4JAW��H��L�MJj���N��ff.��AUI��ATA��UH��SH��H��H��H�RHdH�%(H�D$1�H��H�$����A�}�j���H�sHL�$H��I��H�
�ID���=���H�<$H��t	H�=*�H�D$dH3%(uH��[]A\A]��;N��ff.�AWM��AVAUATUSL��H��HH�|$H�|$0H��$��t$H��L��$�H�T$1�L��$�L��$�dH�%(H�D$81�H�D$(H�D$0�-���H�|$0H�5Ռ�x��H��H�|$(1�H�D$0����H�|$0H���x��H�|$(H�?<*H�D$0H��t�H�D$0H�D$(H�5X6H���fx��L��H��H�D$0�Vx��H�5�oH��H�D$0�Bx��E1��H�D$0I��AVAUATUH�L$8�T$4H�|$(舻��H�� H�|$0�H�D$8dH3%(uH��H[]A\A]A^A_���L��f�AWAVAUATM��UH��SH��H��(L�l$`L�t$h�t$L�|$pdH�%(H�D$1�H�D$H��uH��t	�?��H�|$H��H��L�D$�շ��H�|$L�D$L���cw��H�5�nH��H�D$�Ow��H��E1�H��H�D$I���AWAVAUAT�T$$蘺��H�|$0H�� H��t	H��:*�H�D$dH3%(uSH��([]A\A]A^A_�f�H��L�D$胢��H�|$1�H��H���1�H�|$H�5�4�v��L�D$H��H�D$�C����K��f�AVI��H��AUI��ATI��UH��SH����}x����t[1�]A\A]A^�fDH��H�=vC�Yx����u�I�D$0H�@ H�X(H��u�1�H�H��t(�{w�H�sH���&x����u�H�H��u�f.�M��MD�H��t<H��L�GI��jjjL��L��1ɾ����H�� ��[]A\A]A^�@H��E1�L�ZFjjj��f�AUATUH��SH��H���D�K@E��A���H�C8�x\����I�ԃ�tSH��t;�:t6��� H�{(H���3���A����L�����7W��H�C(H��D��[]A\A]�D��uYH��t�������tԅ�t�< w=H�&H��s-L��H��f�H�����)�D�t���t�< wH��r�H��H��E1�1�jL��F1Ҿ3jj���D�mhH�� H��[D��]A\A]��H��E1�L�
F1�j1Ҿ8jj�~���D�mhH�� H��[D��]A\A]��H�CPH������H����������A����A�����������L����<��H�C(H����H@���DH��E1�L��E1�j1Ҿ1H��jj����D�mhH�� �{���fD��P��E1�H�C(H����H@�Y���@H�������������@���L�c(�4����A��L�c(D�K@�����L���Q��H�����D�K@H�{(����L����D��H�C(�$���f�H��H��I���H��tW�G$H�w�Q H�WH�(H��A�j�t$@�t$@�t$@�t$@�t$@jjjjjjjjP1���P��H�Ĉ�@1�1�1��AWH��AVM��AUA��ATM��UH��SH��H��H��8H�D$pL�|$xH�|$H�D$H��$�H�$dH�%(H�D$(1�H�D$蟲��M����H�|$L���)r��H�5kiH��H�D$�r��E1�E1�1�H�D$D��H��H��jjjj�t$ P����H��0H�|$H��t	H��5*�H�D$(dH3%(�8H��8[]A\A]A^A_��CH�|$M������VH�5/D�q��H�D$H��L���J�������H�5T0H���cq��H�D$A�D$X�����@�(����L����������M����L���P��H�|$H�5D1H�D$ �	q��H�|$ H�D$�O��H�|$H����p��H�|$ H�D$H��tH��4*�H�D$H�D$ H�5hH���p��H�D$H��E1Ƀ{�E1�D��H��H���R������DH�5_/H���yp��H�D$A�D$X������H�|$H�5H/�Up��L��H�D$����������H�|$H�5�1H�D$ �&p��A��$�H�D$���H�5O/H���p��I�|$L�d$ H�D$�A��H�D$ L���qN��H�|$H����o��H�5�/H��H�D$�o��H�|$ H�D$H���}���H�V3*��o����L�D$D��H��H���E����������H�5@B�ko��H�D$�1����H�|$H�5��Oo��H��H�D$���f�H�5�-�4o��H��H�D$����H�|$H�5.�o��H�D$����DI�T$I��$�L�d$ L��薥��H�|$ ��H���@��H�D$ �����H�|$H�5�-�n��H�D$�e���DH�5�.�n��H�D$�Z����uC��DAUATA��UH��SH��H��H�5�.H������I�ŸM����L��H��������0I��@�� ��H���21�A�����NЀ�	w`D�JL�BA�I�=�����<���0D���)�9�����	���rH���NЀ�	��A�pH�������NЀ�	v�@�� w&H�&DH����H���2@�� v�jI��E1�L��j1Ҿ�H��jAR����H�� �H��[]A\A]�DH�&L����H���2@�� ����H��r�@��t������>L��A���O���@���w���A���t�A9��h����D��L�¸����*���L��D��I��H�����ff.�AWAVAUA��ATA��UL��SH��H��H�5�,H���G���I�ƸM��tcH���L�����H�55(H��I���in����tU�@A��@t0�jI��E1�L��j1Ҿ�H��jAW���H�� �H��[]A\A]A^A_��A�7@�� ��L����:A�����OЀ�	�2�rL�B�N�=������0��E���A)�D9�����	���rH���NЀ�	��A�xH�������OЀ�	v�A9ʼn�A��A9���A	�@�� ����H�&�H���2@�� �����H��r�@�����E����������f.�H�&L��H��sDH���2@�� �����H��r�@�����������L��@���J���L��A������N���L��I��H������E��A���2���AWM��AVI��AUATM��UH��H��SH��H��(H�t$�dH�%(H�D$1�I�I��CR���������:H��A���A��H���H�t$H���/5��H��������I�$H���'7��H����T$H��I�$�7��I�v(I�~@H���@>��H��t{H�pH����������6��I�H�L$dH3%(D���H��([]A\A]A^A_�D��V��jE1�L��jI��1Ҿ�jH��S����I�$D�m H�� 랐���U��jE1�L��I��H�<<S1�P��H��S���D�m H�� �b���DI�v(I�~@1��q=��H��t\H�pH���H��t�>u/H�D$���t
H���I������H����5��I�$�����������5��H���I���f�H����A����������=���AVM��AUI��ATI��UH��H���SH��H�����H�s0M��[M��L��H��H��]A\A]A^���f.�AUM��ATI��H��UH��H��SL��H���Ϥ��H��t"H��M��H��L��[H��H��]A\A]�l���@I�E1�H�H��[]A\A]�ff.��AWAVI��AUI��ATI��H�ǘUSH���-��H��tCH�5�H��H���i����t�H����[]A\A]A^A_�@H�5��H���ii����t1��ԐH�5� H���Qi����u�H�5�H���>i���Ņ�uӿ�S��L��L��I���У��jE1�M��jH��1Ҿ�jL��S�a�H�� �k����AUI��H��ATI��USH����E��H�5K�H��H����h����t*�H��tH�a**H��H����[]A\A]��H�5�H�߉��h����u�H�5�H���th����u�H�5�H���ah����u����R��jE1�L��jI��1Ҿ�jL��S��H�� �n���ff.�AVAUI��H��ATUH��S�
E���H��H���
c��A�ą�uc�}PuH��tH��)*H��[D��]A\A]A^�H���S��I��H��tH�i)*H��L��H�u@1�H��H���2��H��tK�EP�f�~���R��jSI��H��8PE1�H��1�j��L��A����H�� �c������Q��jI��SH��8��SH��H��H�5r��͡��H��tH��H��[���@1�[�@AWM��AVM��AUI��ATI��UH��SH��(dH�%(H�D$1�H�\$hH�|$H�D$H�D$��H����H�|$L��L���I���jL��E1�SE1�1ɺ�PH�N8H��AU�t$(P�_�H�|$8H��0H��tH�
(*�H�D$H�|$H��t	H��'*�H�D$dH3%(u%H��([]A\A]A^A_�D�|$`�/���H���^�����8��f�H��tkH��tf�GX��u^AT��UH��SH�8H���GX��H�sxH��t5H���H�}@�j���I��H��t*H��H�����H�{8L�����[]A\���jL���1�H��jL�CxH�
�#H���e���H�C8ZYH��u�H�{hu�H�{xu��-��O��H�C8�@H�whH��tH�WpH�}@�r���H��t-H�C8�A���@H�wxH���9���뮐I�D$8H�C8�DH�SHL�ChH��H��H�7L�KpH�
�!Pj����H�sx_AXH�����H�C8�P���ff.�@AUI��ATA��1�UH��SH��H��H�R(dH�%(H�D$1�H��H�$����H��"j1�jH��E1�E1�AUD��H��s�t$ P�)�H�|$0H��0H��t	H��%*�H�D$dH3%(uH��[]A\A]���6��f���	�t"��@tSI��H����~G1�9�|[��1��DL��H�5"�q���H�߾�H�
�5H���
�����[�L��H�5�!�A���H�߾�H�
�5H��������[�AVM��AUM��ATA��H��UH��SH��H��H�Q(dH�%(H�D$1�H��H�$���H��5j1�jH��E1�E1�AVD��H��AU�t$ P���H�|$0H��0H��t	H��$*�H�D$dH3%(u
H��[]A\A]A^��5��ff.�AWAVAUM��ATI��H��UH��SL��H��(L�t$`L�|$hH�<$H�|$�t$L��dH�%(H�D$1�H�D$����H�=l�/2��H��H���T`��H�5�WH���E`��H��H��uM��tL���Ћ��H��jE1�E1�1�AWH��AVAU�t$0SH�|$0�T$<��H�|$@H��0H��tH��#*�H�D$H��tH��#*H��H�D$dH3%(uH��([]A\A]A^A_��4��f�H����H�������tQv5������s��twspH�WH����H�H��HD�H�0H���f���w+��sփ�tF����r~H�W0H��u�H�w0H���D��t�u^H�W@H��u�H�w@H���D��uCH�WH��u�H�wH���f.������wH�W H���e���H�w H���1��DS1�H��E1�jL�~31ɾ�j1����XH��Z[��H�wH���1�H��tI�:t<SI��H��H9�t@�RX��t[����SXH�Sp�����sX[�D����H���Љ��jE1ɾ�jH��L��L���R���X��Z[�f�H���AUI��ATI��UH��SH��I�]H�����;��H9�u �@H�[pH��to�;tjH9����CX%�=�uځKXH�ڃ:��H���H����H�RpH��u�H��L���c����sX��t�H��[]A\A]�DM�mM���W���H��1�[]A\A]�fDjH��L��E1�jL�421ɾ��H���XZ��H��[]A\A]�fD1��{���f�H���j���1��DAWE��AVI��AUE��ATI��H�=UH��S��H���u.���}H���j���H��H���\��H�5"H���\����t,��u6H�5H���h\��E��t6H�5H���T\���%f�H�5H���A\��H�5�H���2\��E��u�H�5�H���\��A�>H�����H��H���\��E��uSH�5�H����[��H��jH��E1�I��j1ɾ�L������XZH��t6H�w*H��H�H��[]A\A]A^A_��H�5uH���[��H���@H��[]A\A]A^A_�f�AUI��ATI��UH��H�=JSH��H���.-��H��H���S[��H�5�RH���D[��H�ËE��t9��tdH��tH��*H��H�H��[]A\A]��fDH��[]A\A]�DjI��E1�1�j��H��AUAT�N���H�� ��jI��E1�1�j���H��AUAT����H�� �q���DE1�1�����fDAWI��AVAUI��ATUSH��H�H��Lc��E1�L��I�������I���1�J�, �����%�O�L���(\����uT���H���9�~,H�ExH�4�M��u�H��u�H�D�H��[]A\A]A^A_�fDI�D$�M9�tvI���f�H�Ex��f.�H��H��t]H���\X��H��H��t<I�������H���&��H�9*H��H�D$�H�D$H��[]A\A]A^A_�H��1�[]A\A]A^A_�H���H�rH��tH�~@H��tL���-��H��t�H�@�+���H�i.H�5L��H�D$�m���H�D$����AWI��AVAUE��ATI��UH��SH��H��(L�D$dH�%(H�D$1�H��tH�(���H���@��A�ƅ�t*H�L$dH3%(D����H��([]A\A]A^A_�@H�t$H��H�D$�jE��H�t$H�$H����M����L�����H��H����H�4$H��L��A��6���H��t<E1�E��t4H����)��H�<$H����)��H��H���H��H�T$1�H����H���A��H��*H�|$�H�<$��"���@H����H�}@H��H���,��H��tH�X�^���f�H�I*H�|$�H�<$�A������1�H��L��胔��H��t�E�������H���-)��1�H���H��1�H�T$H����H���A�����f�H��*H���H�<$��H�},H�5A������c����T�����+��f�USH���>u5�^X�� u*��H��
 �FX��@u(��tPH�����f�1�H����[]�DH�~8u�H��tH�%,H�5F,����������f.�H�vpH�����>�FXt� t4��u�Ã�@t`H�F8�MX@H�E8�f.��MX�v���@�+������t�H�up�FX�H��t�H��+H�5�+���R����?���D���0����MX��&���H���J���H��+H�5}+����������ATUH��SLc�����A9��[H���H���A9���C�4$H�/*���Hc�H���H��H���H�������A9�}*��Ic�D)�H��H�TH��@H�H��H9�u�L�%�*��A�$H��H���#Hc��H���H����J��H��t�H�{��H�{��H�CHǃ�H��)����1����H������CXH��[]A\��L�%	*�PA�$H��H���H��t^f�@@ @0@@Dž�
�*���H�a*H�5Q1����두H��*H�59H��1��h����s����ElL�H*�Eh1�1Ҿ��."���I����ElL��Eh�ԃElL�2*�Eh�ATUH��SH�� H������,Hc�(9�����H�:*��,Hc�H���H��H�� H���8L�%�*�pA�$H��H����H�xH�@H��H�@h)��Hp1����H��Hc�(H�� �H��(H��H��[]A\�fDH�ǍP��(H�{u\�H��[]A\�fDL�%I*�A�$Dž,H��H�� H���B����ElL�H)�Eh�A�H��1�H��H�5����H��[]A\���ElL���Eh1�1Ҿ��{ ���X���fD�ElL��(�Eh��ff.��AW1�M��AVAUATUSH��H��XH�|$H�t$0H�T$dH�4%(H�t$H1�H�:���D$ M��tA�@�{����E1��=��UA���KD9�~RH�Ic�L�$�L�,�A�E=�u�M����D��H��蘳�������L��L������KD9��M���NE�gE���A���9A���/Mc�H�l$@I��I�N�4(����H���I�VH�|��	H��H9�t}H�H�IH;Qu�H�qpI9vu�H�D$@H���_���I�Vj1�jH�|$I��L�&(��l��H�|$PXZH��tH�)*�H�D$@D��L��裲�������A��I��A����h�K�@���A�}�����M�mM����A�EH�I�UPH���pH�D$H�H���'�t$ ��ufH�|$0�{��H�|$�H��H�w@跮��H���nH�t$H�|$H�D$H�H��褯������KH�t$H�L$H��@(�A(H�I�UP�A,;B,�����PH�q0L�Y8I��M����L�J0M���RH���EM�KH�|$H��H�L$L�L$ �(���H�L$L�L$ �����H�q0I��H����H�~H�>u�~fDH�H��&I��H��H��u�M����H�>L9Nu�H��H��H����H�L9Ou�H�H�^*��D$ @M�mpM���A�E���I�U�A�D)�H�
H��t$H������L�d$(L��L�|$8M��I�E�nL�$(H�H����SHcK9�,�H��H��*�SHc�H�4��H�H���UHcK�yA9�}pA�����Hc�E)�H������D�H)�H�4���@H�H�H�LH��H9�u�H�D$(HL�$(�{�D$H��D�A9G�5E���A�����{L�$����D��H��譯���������@�����H�t$HdH34%(��H��X[]A\A]A^A_��H��*���H�H���C�CHcK����fDH�|$L���s���������1��@H��0���H�q0L�J0L�Y8H��I��@��M����@8��9���L�R8M��@��M��L�T$ ��L�T$@8�����M��tI�BI9C����I��H��tU@M���I�zI9yt{L���H9xtpH�H��u�M����H�D$ H�D$�EH�|$H���������������D$ �j���H�B8H�D$H����H�����H�D$L�H����M�M���f����I�H�r*L�L$ H�L$�L�L$ H�L$M��t�H�q0H���������H�|$�$���H�|$H��"H�5�"�����������L�|$8E�v����H�|$ �`���H���(���H�B0H������L�l$ E1�L��L�d$M��H�\$(H��H�l$8H���H��t!H�OH;Hu�G�H;Ht:H�H��u�L�/M����M�,$L�/H�
x*�L��H��tBH�C0��I��H�?��H�B8H�D$H���N���H��������q���H�y0H�����L�d$L�l$ H�\$(H�l$8�L���H�t$I�CH�VH9�@��H��@��@��tH��u>H������@������I�S����L�m0�K���H�y0H���Y���H�B8H�D$ ����H�qH�|$E1�E1�H�
B!�蠐���D$ �3���L�1�1Ҿ��	��������T���L�1�1Ҿ������C�)����t��@H�NpH��t7�VH1���t�@��H��E1��VHH�VP�R��������H�������f�1��ff.�f�AWAVI��AUM��ATUSH��H���t$L��$�H�L$L�D$dH�%(H�D$x1�H�D$ H����D�zH�|$ H��L���*����|$0��H�|$ H�5
�A�,$�H��H�5�H��H�D$ �H����H��H�D$ �Tw��H��H���yH��H�5
H��H�D$ �eH�����H�D$ �T$����+A���H�5r H���2H��H�D$ L��L�l$0L�d$P�C��L��t�L��I����1����L�L$1�L����L��t�c�������L�L$ ������|$���A���fjjAUAT�T$$E1�H�پL�����L�%(*H�� H�|$ A�$H�D$xdH3%(�/H�Ĉ[]A\A]A^A_�DH�5IH���1G��H�D$ �����?��H���H����D�8�%����H�|$ H�5I���F��H�5�H��H�D$ ��F����H��H�D$ �u��H��H���F��H�5WH��H�D$ �F��H�D$ H�5�H��L�|$(1��F��L�t$L�%+
*H�D$ H�D$(H�\$I�MpH���̗��I�]xA��H���1�f.��;�thH�[H��u�uM�mpM��tA�}u�L�t$H�\$jE1�j�UH��L���t$(L�L$@�T$$�\���H�� H���k���H��A�$�_���H�{81�L��D�����������H��taH��H�5o�E��H��H�t$(�E��H�5XH���E��H�|$(H��H��t
A�$H�D$(H�[H���D��������DH�=���H����jAUAT�t$(���f������������k���H�5i�����H�5������H�5����tsH�5����tdH�5���tUH�5.���tF���t.A���$H�5�H���D��H�D$ I��jjjj����H�5)f�H���XD��H�D$ I��jjA�t$�t$(���fDH�|$ H�5��'D��I��H�D$ �r���f.�L��H�5��D��I��H�D$ �L���@L��H�5���C��I��H�D$ �,���@L�t$H�\$M��tH��H�5_L����H��tH��A�$jE1�H�پjL��j�t$(L�L$@�T$$���H�� ���H�5qH���aC��H�D$ I��jjj�t$(���f.�A������[���DI���������AWAVAUATUSH��HH�|$H�t$dH�%(H�D$81��:H�D$0�)L���I��M��L��M�����jX��%�uH�����@Y@��H�@pH���i�����.uރ8A���1�H��tH���%��M�����M����H�D$0L�l$ M��A��H�D$(�|�L�D$(E��H��L��D���:J������tH��$�����j��L��jjA�uL�L$@L�D$PH�T$0H�|$(�D$8���H�� �D$��D�M�mM����I�}�=�r=�v�=��l���E��I��L��D��D���8H�����n���H�|$tH�|$H��H�5A��������H�L$8dH3%(�"H��H[]A\A]A^A_Ã�@��L��$�H�\$��L��DH�{�-���wR1�L��L���k��A�ƅ��Ot8��$���t�jM��M��L��j��j�sH�T$0H�|$(���H�� ��AD�H�H��u�H�\$M��M�~x1�1�M��u�L�M�M��t0A�?�u�I�8H���r����t=����M��M��uЅ�u#����M�vpM��tA�>u�1�f.�M��1�M���M��t,1�DI�V�:���M�6M��u�t����M�pM��tA�?u������DH�|$H���j���H�sH�5��'�������R���1��K�����$����!jE1�M��L��j�0jjH�T$0H�|$(�R���H�� �0��0D��*���f.�H�z@L���$�����H�����xkI�^M�6M�����������L�l$ A�EX@�`���M���M���P���������1��B���A����m���L���T���A���]���H�|$H���^���H��H�5���������F���H�|$H���3���H�H�5a�������������0������$���t2jM��E1�L��j�/jSH�T$0H�|$(����H�� ��������/����� ���UF��ff.�AWAVM��AUATI��UH��SH��H�|$H�t$D�L$dH�%(H�D$x1�H�D$hM���UI�8�D$(H��t� D��I�A�$H��H��HD���A�D$X���0H�D$ ��$���u:D��$�E��uH�D$ A�D$[tH��L���3���A�$H�D$ H��tH�Ń��iM�|$pM��u�jf.�M�pM���SA�?u�H�D$��������DA����D�T$(E����H�L$1�H��L���v#������A�D$[�H�|$ tH�|$ H�N*�H�|$hM����I�>1�H�L$xdH3%(����
H�Ĉ[]A\A]A^A_Ð�@��H�D$p��$�H�D$ ����I�D$8H�L$pH��H�D$8I�&H�L$XH�D$@H�D$H�E< w H�&H�����GH��< v�H���
�L���CL�{< w�I��s�L9���L��H)��w��H�D$@I�ËD$(����jjD�L$,L�D$hH�T$XH�t$ L��L�\$`H�|$�H����D$@A[XL�\$PM��tH��)L��H�t$pH��t)H�|$h��H�|$8�[7��H�D$pH�D$8H�D$pD�T$0E�����C���L�����fDjE1�jD�L$,�[����A��$�.�+���D��$�E���<���H�D$M��H�D$ ������������H�t$hH�t$8�`�����BX�����D$(���fD������L������uL���M���mH�@pH��u�H�|$��H�|$H� H�5���t����H�L$H�T$hH��L��� �����-�����A�D$X@�~�|$�!�!���H�T$H�|$M��H���n���H�|$ tH�O�)H�|$ �H�|$hH��������?�����%�$���$��0���H��L���<���DŽ$�H��H�D$ HE��	���A���������A���H�|$D�L$(H��1�L�D$hH�w(�
��?���D������A�D$[�|H�|$ H���9����=���f�M������1�H���+����'�����&��H��'����`H�|�H�5/�H�81���H�|$ tH�*�)H�|$ �H�|$h�����H�����������L$� � �������H�D$ H���`H��H��)�����SD�T$E��t)��$�����H�T$H�|$M��H��!譲��H�|$ H�|$ �@H���)�!��1���f�H�|$�+���H�|$H��H�5����������D$A���I��L��PjL�L$xH�t$ H�|$�O�AXAY������A�D$X@�dH�D$ H����H��H��)�!�����H��H�D$p�����������!���H�|$H���H�5��N��H�|$H�BH�5���6���H���H�D$D�L$(H��1�H�T$L�D$hH�p@������H�D$ H���e����!���H�D$ H�����H��H�*�)�����H���+$��H��H�t$pH��H�D$0HE��R#��H�T$0L�-��)H��H��A�UH����H�|$H�t$p���H�|$pH���$H�D$0A�UH�D$0H����D�\$(E����H�����H��H���~���H�D$h����H�\$hD�|$(L�d$ L�t$(L�d$M��I��H�\$I�VE��tgjE1�M��jH��H��L���o���ZY��~UM�6M��u�L�d$ D�L$�"E������H�T$H�|$M��H��"�������f.�jE1�E1�j�M��L�d$ L�t$(��A�D$X��u�����$����^%�$��LI�}H���Ć��H�D$ H���2�D$1�L��PjL�L$xL�D$0H�t$ H�|$��^_����������|$�gH�L$ H�T$M��"H�|$�"�5��������D$I��1�L��P�t$HL�L$xH�t$ H�|$�+�AXAY���S������|$������H�|$ H���C����~���f.�H��L�����H�D$ H����H�l$ ���H�|$ tH���)H�|$ �� �5���H�D$H���6���H�hH�5��H���	�������D$1�L��I��PjL�L$xH�t$ H�|$�a�ZY�����������H�D$H����H��H�59�H���������H�|$H������H�[H�5�������H�T$H�|$M��H��!�!�í���f���H��A�U�4���D�\$(E��t�H�����H��1��u���H�D$h�
���H�|$H�GH�5������%���H�|$H������H�qH�5v��������H���P��H���E��������AVI��1�jL�nH��� jjH�|$(�h���H�� H���V���H��A�U�J���H��)H�|$ �"�����H�|$�����H�|$H�OH�5���S���m�������f�H���F@t&jL�F0A�1�j��^_H���f.�jA�E1�1�j�|�ZYH���DAWE��AVI��AUI��H�=��ATU��SH��H��8dH�%(H�D$(1�H�D$ ���H��H����1�E�L�%�1�D$H�D$H�D$ H�D$�DI��H�9�|���H�T$H�y��1��Jx������M��tH�^H�5�L���7��H�;H�5���0��H�9l$��H�5��H���0��H�H�|$ H��tH�H�)�H�D$ H�;H�EH;l$toH��L���t0��H�E���P���I��H�T$��H�x�w�����R���H�t$ H�;�70��H�9l$�o���L��H���0��H��n����H�5^��0��H�H�T$(dH3%(uH��8[]A\A]A^A_�����ff.�f�AWAVAUATUSH��(dH�%(H�D$1�H���7�FH�����H�V@��I��1ۉF�B��~}H�D$L�%]YH�D$@H�L�<�A�������Ic�L�>��}M�w H�EPvH�@PH���H���H��t{H�:L��L����/������H�U@H��9Z�H�](H����1�H�L$dH3%(�YH��([]A\A]A^A_�fD�}M�wH�EPvH�@PH�PXH�@XH��u��I����
H�$�K���H�$H��H�H���`���H�IH�5��L������������o����A�G8�D����}M�w H�EPvH�@PH�PpH�@p����fDA�GH�����}M�wH�EPvH�@PH�PHH�@H����fDA�G[@����}M�wH�EPvH�@PH�P8H�@8���fD�}M�wH�EPvH�@PH�P@H�@@����H�UPM�wH�BPH��P�}�f���H�PPH�@P�Y���f�M���f���H�H�5��L�����H�U@�G����L���x����������H�H���8���H�sH��t�Fu���f�H�|$L��H�D$�jd��A�?H�ƃ�tW�W��I��L���X��H��L��L��jL��
H��jV�����H�|$0H�� H�������H�c�)����@A���-L�
��H��LD���w���AWAVAUATUSH��H��(H����L�~I��M��t"A�?���.H�
V��Hc�H�>��A�H��(D��[]A\A]A^A_�A�GX��Y��I�n$L���H�{x���
D�f �����?~
A���%1���@L����1�)����E����AO�H�{xI�ƃ����M�G`I�OM��H�{x1�L�����}�H�{x��L��H���H���%�H�����1�H�{x�/��H���E�} E����H���H�{xL��A��
������H�{xH������A�U$H�D$����1���@�H�{x��)�A�E ��AOu ����H�{x�D$�`��A�,I���2M�w0M���%DM�FH�{xM��1�H�
N�H����H�{xL��H���H������M�6M��u�D�t$H�{xH��L��D����H�{xD��L��H�T$�-��A�E E1�����H�D$H������H���H�{xH�D$���A�U$H�D$����E�U 1���@H�{x���)�E��AOu ����H�{x�D$�Z��H�{xI���N��H��I�EL�pM���ZE1�H���L��H������H���H�{xL���DD�����M�vM��u�H�{xH�t$H�����D�t$H��L��H�{xD����H�{xD��L��H�T$��,��A���E1�E�M E������H�{xH�T$A�H�t$�N�����f�H�H9F ��F$H���=���?�w��
�~ �#H�{x1�H���
��H�{xH���I��A�E$�P�A�E �p���D$I�EL�xM���K�E1�L��H�����M���AE�M��u�L���D�|$L��H�{xL��D�����H�{xL��D��1���+��E�e H���E��t���If�H�{xH��L��A��;
�����fDI�oA�H�������H���H�{xI�I�H�D$�4��H���H�{xH��I����	���'@H�U L9���L9��jH�mH����H�EL���H��tu�@ZtNjU$�u H�{x�`�H���H��H�߉��\r���f.����7�2Q��H��H��tJE1�H�8H��E1�H�5r��n�����f�H��H�5Q�H���*��f.�E1�����A�H���o���H��H�5������W���f�L�@`H�HPA�jH�{xL��L�����_AX����1�A�} H�{xH������H�{x�@H���I��A�E �p��8��D$I�EH�hH����A�E1�H��H���o���H�m��EE�H��u�H���D�|$L��H�{xD��H���q�H�{xD��1�H���`)��H���A���������f.�I�G8H���
���H�{xL�@M��L��H�
 �H������H������f.�H�{xH�t$H�����D�t$H��L��H�{xD�����H�{xD��L��H�T$��(������H�HL�@`PL��jH�{xE1�L����+��Y^�r���@A���-H�
T�H��HE�����I�oA�H���{���E1�H��H������H�m��EE�H��u��X���f.�I�EE1��L�`M���@���H�D$L��H��H�������H���H�{xH�T$��DD����M�d$M��u�����DA�,��M�w0M���;L�%���H���M�FM��1�H�{xL��H�����H�{xH�T$H���H�����M�6M��u��q���@H��(H��1ɺ����[]A\A]A^A_��n��H�{xH�T$H��A������@���@H���H�{x1�1����A�U H����������H�{xH�t$H��A��������D�{��I��H���I�EH�hH����A�E1�H��H���|���H�m��EE�H��u�H���H�{xL���)��H���H�{x1����E�m H���E����������fDH�{xH�T$H�������n���f�L�;�H�{xM��1�L��H���e�H�{xL��H���H�����H�{x1�H��M��E1�H�
���4�H�{xL��H���H���~�����H���D�|$L��H�{xD��H����H�{xD��1�H���%��H������I�OM�G`M��1�L�����H����s���I�G8H���u���H�{xL�@M��H��H�T$H�
X����H����J���M�gM���!A�E1�L��H�����M�d$��EE�M��u�H���H�{x1����E�] H���E������H�{xH��H��A��x�����L�ΟH�{xM��1�L��H����L�t$H�{xH���H��L���=��H�{x1�H��M��E1�H�
�����H�{xL��H���H������l���I�OM�G`M��1�L����I�OH�{xM��H���M�G`H��H���q�H�������L��A����H��A����f�AVA��AUI��ATI��UH��SH���H��txH�CH���H�CH���H��tH�CH�{8H���H��t����I�|$ ���H�C8H��t[���D�3L�k(L�c0�C �C1�[]A\A]A^��H�A�)�@�H��H��t5f�@@ @0�m���H��H�5�H������������L��1�1Ҿ���������ff.��AWAVAUATUSH��L���L�|$M����E1���H��A���D$E1�D�������������tgI�GH����A�O$IcW 9�.�H��H�y�)A�O$Hc�H�4��I�GH���tIcW �JA�O D�,�A���������M�M��t^M9�tjH���I�8H�P H�p���]����X������]���H���H�5��H�߉D$����D$H��[]A\A]A^A_�f�L���L�d$M9�u��D$H��[]A\A]A^A_�@H�q�)��I�GH����A�G$IcW �%���@�D$��uH����B@�u���B@�D$����f�I�w(H�FH�@L�p8M��u���fDM�6M�����I�w(�L��H���������u�H��[]A\A]A^A_�@H��1�[]A\A]A^A_�L��1�1Ҿ��]���������L�����f.�AWAVAUATUSH��xL���dH�%(H�D$h1�M����H���M��H����H�$L�h8H�D$`H�D$H�D$XH�D$ M���<fDI�OHc�9\��u A�����������A�G ��t#M�M��tjI�8�����xA�G ��u�A9_u�L9��tH��H�5�H���s���I�GH���H���I�WL���I��M��u�fD1�H�t$hdH34%(��H��x[]A\A]A^A_�A�>�&A���-L�t$�H�<$M�o(�$I�G0E�GE+E�@E�ĉD$I�E(H���YE�E0E9���Mc�N��N�$�M���HcD$I�<��RI�EH�|$H�D$`H�p�AT��I�W0H��L���L�JI�UH�JjjPH��1ҾU����H��$�H�� H��t	H���)�A�G �i����M�O(I�QI�I(L�jH������A+QA9Q0��Hc�L�$�I�<$H���KA�}����H�|$L��H�D$`�S��H��H��L��jI��L�l�1�j�Uj�d���H��$�H�� H��t	H���)�I�<$H���E���H���)�I�$�/����A�}�����H�|$L��H�D$`�R��H��H��L��jI��L��1�j�Uj�١��H��$�H�� H������H�M�)�A�G �,���f�A�F\�����I���H�D$H������H�t�H�5Y�H��赾��������e���I�EL�D$(H�@Hcx@H���)H���L�D$(H��I����I�EL��1�L�D$(H�@HcP@H���*�L�D$(I��I�E(N��H�<$��H�$Lcl$K��A�G �c���f�I�G(H�|$H�D$`H�@H�p�Q��I�W0H��L���L�JI�W(H�RH�JjjP�w����H���H�x0����I�EH��E1�1�L���UH��H�Hjjj�S���A�G H�� ��A�G ����A��	��C�Hc�H��A�E0H���)�I�E(H���vIcU01�H��H����I�E(�j���fDH���H�5��H��$�����$����C�H��H�R�)D�D$(A�U0Hc�H�4��I�E(H���)A�u0HcT$(9������fDH��H��9������A�E@�D$��~8H�?��t$H�G�V�H�T���H��H�x���H9�u�I�A8H�D$H���jA�}tH�D$�P���'H�\�)L�L$(��L�L$(H��I���Qf�H�@A�}��H���H������Hc��9�J�H��L�T$0H�#�)���Hc�L�L$(H�4��L�T$0H��H�����Hc��L�L$(�J���L��A�B����H�EpH�|$L��L�L$0L�T$(I�H����@A�BI�$I�BI�$�J��L�T$(L�L$0�����A�}�����H�D$`I�y@�
I�R�L$H��L�L$(H�t$A���H��)��L�L$(H�t$`I��H�D$I�y@L�L$�@��A�E�/�L�L$H����H�I�UL�(H�|$`H����������@H���)L�L$(��L�L$(H��H�$��H�4$H�D$H�H���H�P0H�VH�@0H���H��t{��Hc�9�@�H��H�o�)L�L$��Hc�H�4��H���H���bHc�L�L$H�4$�J��H�4����D�P�
�N���H���)L�L$�@�L�L$H��H����<Dž(Hc��A�}������H���)L�T$0��L�L$(�L�L$(L�T$0H��H����Dž�Hc�����H�D$8H��������H��L�L$0L�@ H�pL�D$(��L�D$(L�L$0H��H��L�T$8��M��t>H��L�ƺ����L�T$8L�L$(H�D$0�l�L�L$(H�L$0H��I��L�T$8��H��8�W���TH�71���H��9�~H;�u�L9D�u�A�B����H��L�T$@�T$8L�L$(L�D$0�G��L�D$0H��8L���G���T$8L�T$@L�L$(A�R���I�y@�����L$I�$H��L�L$(H�t$A�H�D$`���L�L$(H�t$`I�y@L�L$0�@�H�|$`L�L$0H�D$(H��tH���)�L�L$0H�t$(H���]����D$L�t$(L�L$H��L�l$0H��H�l$8H���\$@H��H�D$HcUH�H��L�p�D$��~<E1��f���t1I��L9�tpK�.H�pI�$J�(H�x�P�����uո��������H�mH��u�L�t$(L�L$HL�l$0H�l$8�\$@���DL�L$(��h��L�L$(H�D$I�A8�y�����u�L�l$0H�|$H�D$XH�l$8L�t$(H�D$`L��\$@�LJ���L$I�$E1�H�t$ H��H�D$���H��H��L��jI��L���1�jL�T$0�UAR����H�|$xH�� H�������H�{�)�H�D$X���I�EI�y@L��H�t$`�o���c����L�T$0L�L$(�
��L�L$(L�T$0I�A@����L���1�1Ҿ����������i�L����L�����L�O�1�1Ҿ�L�$L���l��L�$H���)L��I�E(H��������A�}M���3���H���)I��$�L����$���H��L�T$@�T$8L�L$(L�D$0�D��L�D$0H��8L���|D���T$8L�T$@L�L$(���A�R�l���M��M��H�$�)L���I�>�I����L���1�1Ҿ����H���)I�<$�I�$������?�ElL�*��Eh1�1Ҿ��P��H�<$��B���������ElL����Eh������ElM��L�&�M���Eh1�1Ҿ�����)���M��M��A�B��������M��M�׃El�EhL����AWAVI��AUATUSH����(L���dH�%(H��$�1�����A�G@�����$�?I�W8H���������J\�q�����
I���H��t�I��Idž�I�GPH���AH���H��tA�W@�փ�$�� �sA�G@ulI�W8�2���������r\����7�$����A����$�1H���L��L���x���$�$���E�l@A������qA9�0��A������M�ghM��tI��@�nI���������	I�`tIc����~I��@�	L��L���a��A�������I���H��t;Pu�@����H�H��u��I���A���Hc�H��I���H��$�dH3%(�$��H��[]A\A]A^A_ÐA���Adž0�����������$@Adž�����Idž��$딐L������������jf.�L�hhM�����H��$�L�t$M��H�D$8H��$�H�D$@H�D$xH�D$HL�|$X�
M�vM���KA�~ u�I�F8H��t�H��t�I�VH�R�Z@�\$H�\$H���H�^`H��t*H�RHH�RH9Su�}DH9S�nH�H��u��D$`1�H�D$P���s����L$L�t$(H�D$���L$ H�H�L$H��H�D$0H����L�|$(H�|$8HDŽ$�HDŽ$�I�GH�p�B��L�t$0L�d$E1��L$H�t$@H��I�VL�����H��L�a�I��I�GH�HUL��L��U�E���H��$�]A\H��tH���)�HDŽ$�H��$�H��t	H���)�H�D$(H�D$H�L$H�@89H����L�t$(H�D$PH���Z���H�5:��H���;��F���fDA����$�F�A��0��������$�G���@H��(H�� �[���d����L�|$XM��L�t$I�EH�x�?��I�u8H�����^���wH�L$��D��u�@����\;���PH�D$IcUH���H�,�L�}`M��u�&
fDI�H���|I��I;u�I�G I�H�����H�L$ ����H�H�D$PH���
A�G�D$(H��\$@H�D$H�D$0I�EL�l$`H�@�@@�D$���D$8H�D$0H�L$H��L�h�D$ ���tD�t$(E����H�D$0H�\$H��I�GH���A�OIcW9�.�H��H���)A�OHc�H�4��I�GH���9IcW�JA�OH��H�D$H�D$9D$@�_���L�l$`@M�mM���S���L�|$XL�t$����@I���H�j`H�����I���1�E1�E1�L�|$`H�D�L�t$(H�D$PH��`H�D$H�U��uH�E H��t`D�XE��tWH�D$(H�}D��DE����H����DH�H����H9xu�@���tH�\$(;����DH�mH��u�L�|$`L�t$(�/����H��tA�G�D$(����H�I�}@I�G�FA�_A�GH�H�FH������H�5�6������I�E@M�mM�����������j��I�H����I�u8I�Nj^�m���H�h�L$A�H�t$HH�|$H�����H�|$PH�t$x���H�|$xI��H��tH���)�H�D$x1�M����
IcMH�S�|$H��L�z��~CD�t$ E1��D�����I�T$M9���I��J�D�H�pK��H�x�D����u�M�mM��u������t$`����H�S E1�1�D�BE�������H��H��H��H�
J��L�y�L$��~DD�l$ E1�������I�T$M9���I��J��H�pK��H�x�D����u�H�U I��D9r�H���$��������L�t$PL�|$HE1�M��K��|$H�h��D�l$E�����\$8E1��fD����I�UL9���I��J�D�H�pK��H�x�zC�����u�L�t$A�Fh�����$�������@H�|$Ht	H�D$PL�h`M��t%I;}u�w�I9}�fM�mM��u�L$�g���L$H��I���tHcE��t<H�\$(��H����
H�UI�U�UH�EA�U�EA�E�EH�E H��tEM�u M��t0H�g�)I�>H�H��t
�L$��H��L$�L$L����H�E �L$I�E H�E H�|$H�f���H�D$PH�@`H��tI�EH�D$PL�h`�F���fDL�t$����fD���-�9����Á��$�bDŽ$�
I�p����qI�G8�H\�����������������M�mM�������*���DH�C H�����h1������D$`�C�<���D�[H�D$PE����1�I��L�t$L�|$8L�%
�)�4�H�I�L�0H��$�H��t	H��)�H��9k�tH�C�L$L��A�H�|$H��H�P����A�$H��$�L��hI������H��u�I�H��$�L��L������w���fDE1�L��J���|$H�D$HI�GJ��L�htRD�d$E����D�d$81����tVH�CI9�tkH��I�D�H�pH�D�H�x�a@�����u�����I�EH�pH�EH�x�;@������������uI��D9t$(�]�������f.�I� H�l$HH����I�GH�4(��5������s���IcOI�WH��H�L���H�*A�G�����A�E�D$0I�E H�D$ H����H�\$ �C�D$���H�D$ I�EH�D$@�G@�D$���q���H�D$��L�l$XH��H�EH�T$L�4�M��tD�L$E��u,�|$0����H�D$H�D$9E�L�l$X����fD~�H�l$h��L��E1�M��I��H�L$ �|$D�l$8D��N�<��?D�D$E����E1��@����I��L9��{I�GJ�0H�pI�D$J�0H�x�>�����u�L�t$(����fDI�W8��������v�B\����)�I�O(H���L��L���s���$�hL�|$XL�t$�P�f�H�EH�pI�H�x�>�������������&I��D9d$ ����M��L�|$H���fD�sb��I��H�E`H���N���I�u8�^������$���@�D$(���H�H�D$ ���I�pH��$�H��$�H��$�L�D$xH������I�p1�1��M��$�����nA�G@��<�����1�L�|�1�A�G@�OL��S��$�PD��$��r��XZ�$������-�}���I�O(L��L������$�$�����H�9�H�5��L���"����=���D���-��I�O(L��L������$D�$E���B�I�GPH���H��t<�@Xt6A�G@%��$�_I�G8�@\���������A����$����T��H��I�G H���
������H���H�5R-��L����I�GpH���*A�G@����L�|$H���f.�L�t$I�F8D�PE�������DI�GH�H�pI�D$H�H�x�;����������t	��t�l$8��I��9l$�b�����L���M��H�l$hI��9T$��������@M������aI�W8���������M�B\�������$�����A��������I������I�GPI�8H����M��H��H���I�GH��H�x@�<�H��H��H�_�)�H����I�H���(���S�����H�l$hE1��H�L$@D�l$8E��J�,�L$��tFE1���eD��taI��I9�tSH�EJ� H�pI�FJ� H�x�:�����u����@H�EH�H�pI�FH�H�x�9������\�����t
��tD�|$8A��I��D9|$0�[������D$0I��H�l$hA9��BH�D$@Mc�J�<�H�T$XD�\$0L�T$@�rE�k��F��BIc�I��L�L�D9�t	H�I��H�H�D$XH�@ H����L��H�ljL$8�@/��D�l$0�L$8����f�M�������H�ɼ)A�G
�P�I�GH����L�t$L�Q�1�1Ҿ��N���y���f��D$`�6����D$�=���I���M�G0L�P8E�
A����A���-�A����A����A�B\��������I���jA�j1�L���M����D$]A\D�,$E���>�N�����I�O(H���L��L���X���$���H�<�H���)�L$��L$H��I�E���UH�uH�ljL$A�UA�UHcUH������L$�����$�������-�b����A�G@�w��������L�|$(H��H�|$8HDŽ$�HDŽ$�I�GH�p��/��L�t$0L�d$E1��L$H�t$@H��I�VL������L���I��I�GH�HAUU���DD�L$`E���J���A�B\�ƒ�������H�$��uI�z8�H��H�$���I���H����E1�1�jL�n�1�L��jj����H�� A����$���A���-����jA�L��j�"���A�B\�ƒ���t�������H�D$XH�@H�D$@H����L�|$XIcWA�G9�|<��L$8H�|$@A�GH�H�4�H���)�H�D$@I�GH���AIcW�L$8H�t$X�B�FH�D$@L�4�����H���@E1�1�jL�F�1�L��jj���H�� A����$@��I�(H��������u�M�O(AP�B1�I�GPjL���1�jL������~��H�� A����$B�9�I�(H���f�������M�O(AR�A1�I�GPjL���1�jL������R~��H�� A����$A���L��H�y�H�5k��e���H�.�H�5%�L���O����j�L$0�AM��H�L$XH��H�A �L$0�\����&���fDI�GPH���I�GH�x@�(�H����H�|$@����H��)�L$8�P�H�L$XH��H�D$@H�A�L$8tFH�D$X�@HcP�:����C��L���1�1Ҿ�L�t$(���L����$����L�t$(L�3�����H�D$P�D$ �F�H�x�H�5 �L���J����e�L�t$(L������L�t$L�8����H���H�5�L���
����(���������xR��0���t9�}CSH��H����A@� t�� �A@��A�H��H���~�����tH��[����H��H�ŷH�5���D$�~����D$H�{P�ChH��[��f���H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\����@[]A\�����H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\���@[]A\�������0���t���9�|wLJ0����UH��SH��H��H���H�x������u-H���H�5�H���G���H���o���x;H��[]�@H���H��H�x ���t����������fDH��H�F�H�5�����Ch����H�{PH��[]�d�@��H��tgAUI��ATI��UH��SH��H��H�GH��tH���H��tH� ��H��(H��tH��L��L��H��[]A\A]����f�H��[]A\A]�D�ff.�@AWA��AVM��AUI��ATM��UH��SH��H�t$����H�t$H����H��H�pD�x�@XH�hL�` M��t,H�5r�H�����t9H�{ H�5~��y������C\L�s(�K@��uQH��[]A\A]A^A_�f�H�5>�H���A��tmH�{ H�52��-��t��K@�C\L�s(f.��CX1�H��[]A\A]A^A_���C\1�L�s(�K@�CX��fDH�5��H�����t-H�{ H�5������5����C\L�s(�K@�@H��H�5v���H�{ ��t)H�5r��m��������C\L�s(�K@�A����H�5���D�������C\L�s(�K@���������M�������H���H�5ҳL��D$�`����D$����H��AVA��H��AU��ATA�US��H�����9H��I��I��I���������wi�H��c tZH��1�L��H������Ņ���t2�CXjI��L��jL���@j��AT�E1�1ҁ�!���|��H�� [��]A\A]A^ÐH���H�5<�L�����腔�����������H�B�H�5�������a����H���H�5��L������D����f�H��A��H����A�uNH��tIAUI��ATI��UH��H���SH��H���7[��M��tI�$H��L��H��H��[H��]A\A]���������f.�ATUH��SH����H�����9H��M��H��H��u>��*��H��tL��H��H��[H��]A\�G����M��tI�$[]A\�fDM��tI�L�CH��E1ɺ�H�
��H���4���������������M��t�I��ff.�f�AWAVAUATUSH��H���iH���`H�D$I��H�����I�\$XL�-��H��u,�YfDH�xL���T���tH��H���U`��H�[0H��t/H�CHH��u�H�{H�5x��#���t�H�CHH��u�H�[0H��u�L��H��L�-��1��ɇ��M�t$M��u!�(f.�M�v0�M���I�~Ht3I�~H�5������uCI�~HtI�~H�5���������u�L�
�E1�L��L���H���q��두I�FHH�5}�H�x�\���t�M�~XM��u/�\DH�xH�5U��8���tL��H���9_��M�0M��t/I�GHH��u�I�H�5O�����t�I�GHH��u�M�0M��uѿ�g��L��E1�H��H��H���_���M�v0M����H�D$H��[]A\A]A^A_�fDI�FHH�5��H�x���������M�~XM��u(�fDI�L���l�����M�0M��t5I�GHH����H�xH�5[��>���t�L��H���?^��M�0M��u�M�~XM��u�UM�0M��tII�Ht�I�L������t�I�GHH�5ŴH�x�����tȿ�V��1�L��H��H�����M�v0���DI�H�5������<���L��H���]���a���I�GHH�5]�H�x�|�������L��H���y]���5���@H��)��H�D$H��t&H�D$H�L�`���H�D$�`����E$L�<�1�L����S������ff.�AWAVAUATI��USH��(dH�%(H�D$1�H��H�D$H�D$��M�������H��H����I��L��H�5�]�;&��H��H����H�L$L�D$H��L��H���׀������H�L$H��L��H���r�������L��H��H�
���z���@1�L��L�D�H��A���Y|��I�\$XA��H����L�-�� �H�xL�������uhH�[0H��tsH�CHH��u�H�{H�5]�����u�H�{H�5~����u�H�{H�5�����u�H�{H�5٨����u�fDH��H���[��H�[0H��u�L��H���1���D��D��L��H���F��H��H��txH�L$H�T$�H���!I��D��D��L��H�CH������M�l$M��t8I�}HtI�}H�5�����ugL�
y�E1�L��L���H���m��E	�uD1�H�L$dH3%(H��ueH��([]A\A]A^A_�@H��[L��H���Fl����@I�EHH�5��H�x�|���t�L��H�����M�m0H�CM��t��_����A����AWAVA��AUL�-X�ATI��UH��SH��(H�ZXH�4$H��u�gH�xL������u@H�[0H��tKH�CHH��u�H�{H�5C|�����u�H�{H�5�N�����u�fDH��H����Y��H�[0H��u�L�=E�)�(A�H��H���H�@ f�H�5�NL��@�/#��I��H���SH���H����R��H�CH����I�u(I�}@�:��I��H����H�8M��!H�@1��f���H���QH�x�u�4�L$�~L�L$Hc��t$H��A�Ћt$L�L$H��I��HcL$��H��L��L��M�Tf.�H�
H��H��H�yH�x�H�IH�H�I9�u�Hc�I��H�H�;�)L��H�{L��E�����1����H�C M��tH�
�)L���H�{ u@L�KjL�i�j1�L���H���m���XZ�f�H�=�L��H���i��L��H������M�l$M��t8I�}HtI�}H�5�������u~L�
`�E1�L��L���H���j��H��(H��[]A\A]A^A_�E1��!�����1�����H�C �%���H��t�E$L���1�1Ҿ�赲���I�EHH�5m�H�x�L����f���L��H�����H�<$H���x���M�m0M���Z����8���fDH�D$�A��L�L$H��I���Y���H��t�E$1�1�L�u���L�L$����L�L$H�n�)L��E1�E1�H�
l���L��H���\*�����jE1�L��j�E���@AWAVI��AUA��ATI��USH��H��(L�zXL�$dH�%(H�D$1�H�D$M��t|H�-Q�� �H�xH���$���uHM�0M��tSI�GHH��u�I�H�5Sx����u�I�H�5������u�A����@L��H����U��M�0M��u�H�5��L���e��H��H��������H�L$H��H��H������\H�T$M����H��H�T$����>H���5H��)�P�H�T$H��H����H�xH�@�H��H�@H)��HP1����H�H�U H��D�mH�$L�eH�E(H�C0H�x H��@�9��A���GL��H���|��M�l$M���	I�}HtRI�}H�5ƫ������I�}Ht3I�}H�5g�����tI�EHH�5��H�x�{����yL�
��E1�L��L���H���f��H�T$dH3%(H����H��([]A\A]A^A_�D1���@I�H�5�{�����0������I�EHH�5�H�x������=���L��H���'�M�m0H�EM������fDL�
A�1�L��H��L�^�����e���H���H�C0H��
H�x(�68��L��H���K{��H�5${L�����I��H����1�1ҾH���?A��H�EHH������L��L��H�H H��L�@�w��H�EHL��L��H��H�H �vi���:���H�.�L��H���d�����L��1�H��H�����M�m0H�E0M��twI�}HtI�}H�5�������u}L�
C�E1�L��L���H����d���0����C$L���1�1Ҿ��ҭ���*���H�&zL��H���d�����L�
��E1�1�L���H���d����I�EHH�5R�H�x�1����g���E1�L�=���NI�I��M�m0M�������I�}H�����I�}L��������{���I�EHH�5��H�x������_����L��H��H���l���H��t��U@�P���U@M��u�H�E8I���舳���AWAVAUATUH���SH��H�S�H��(H�|$H��H�4$H����M��H��tH�5i�H��I���F�A�Ņ��{H�$E1��@(H��H�5A�����H��H��I���J��H��M��tH�5�H�������t%H�$�@,H��(D��[]A\A]A^A_��H�5_�H���������H�D$�H�&< w H�&H�����CH��< v�I���
�M��A�FM�~< w�H��s�L9��g���L��H��H)�����H�5қH��H���1����uH�5*�H��������}jL�
��E1�L��j1ҾA�jSH�|$(�Kj��H�� H���)H��A�F�����L���&���fDH�5țL���������H�$�@(�l���H�5��H��������4H�D$H���H�$H�@0H��t#H;Pu�w���fDH9P�g���H�H��u�H�|$H�T$��;��H�T$H���JH�PH�$H�H�z0�H�T$H���H�H�D$�
���@��������g���H�\$H���c;��H�$H�B8H����H���H�P����H�5��L�������tH�$�@(�b���jL�
t�E1�H��j1Ҿ�A��jATH�|$(��h��H�D$ H�� �@(�!���H�5c�H���?��1҅����������H�|$H��L��H���(�H�D$�����H��H�������H�����H�B0H�D$����H�D$���H���)H��A������A�������AVH��AUI�պATUH��S�9��H����I�]XI��H����L�%���H�xL���t����uPH�[0H��t[H�CHH��u�H�{H�5�o�N����u�H�{H�5]��:����u�H�{H�5	��&����u�f�H��H���%M��H�[0H��u�L��H����t��L��L��H���c�����uOI�]H��t8H�{HtH�{H�5�������u;L�
M�E1�H��L���H����^��[L��]A\A]A^�f�E1�[]L��A\A]A^ÐH�CHH�5��H�x�|����t�H�޺H����H�[0I�FH��u�[L��]A\A]A^�ff.�@�H�H�G8H��tH��G t���DH�O1�H��tH�yXH��tH�:�Ayu��֐�ff.�@�������xR��0���t9�}CSH��H����A@� t�� �A@��A�H��H����b�����tH��[����H��H��H�5׽�D$�}���D$H�{P�ChH��[�9��f���H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\����@[]A\�����H��H�a�)�H�H��tH�@@f�@@ @0H���D��H��tWATUH��SH�H��t�&��H�}0L�%'�)H��tf�H�A�$H��H��u�H�}8I�$H��t��I�$[H��]A\��D�ff.�@��H��tGSH��H�8H��t�u��H�{@H��t臟��H�{ H��t�)&��H���)H��[H���f��ff.�@AWH��AVAUATUSH��HH�T$H�t$�L$dH�%(H�L$81�H��H��H�D$ ��H�������H��H����L���L�aXH�{�A�NXM����DH�\$H��H���q��H�t$H��H��M�N`M�FhH�
f��m������I�~`H���LD���E����A�FX��H���2I�v������tI���I�~h��������I�VI���H�|$0H�D$(H�D$0�L��I�V`I�vhH�|$(H���7��j�	H��SH�L$ I��L�m�1��t��H�|$8Y^H��tH��)�H�D$(H�|$0H��t	H��)�I�F`I�FhDH�D$H�HH�L$ H����H�yH�~
H�yH�5����������|$�C�|$
��H�L$ H����H�yH��H�yH�5�������H�T$ H���VH�zHt&H�zH�5���z�����?H�T$ H���)H�zHt&H�zH�5���M�����:H�T$ H����H�zH��H�zH�5m��������H�D$ H�5 �H�@HH�x�������H�T$ H�t$H�����I�F8H�D$ H�@0H�D$ �f.�H�xH�������uHM�d$0M���R���I�D$HH��u�I�|$H�5�h�����u�I�|$H�5���r����u�fDL��H���mF����|$���|$
t�|$	��A�>�!H�L$ H��t8�|$
L�
K�t�|$	L�
��tL�
��H�T$E1���H���/X��1�H�L$8dH3%(�XH��H[]A\A]A^A_�f.�A�>�����H�t$H��H���RW���}���DH�L$ H��H��t(H�yH�hH�yH�5���p�����bH�L$ I�~`��H���E1�H�$��DH�yH�5��0������H�T$ H����	H�zHt&H�zH�5��������H�T$ H���}	H�zHt&H�zH�5����������H�T$ H���P	H�zHt&H�zH�5l��������H�T$ H���#	H�zHt&H�zH�5���|������H�T$ H����H�zHt&H�zH�5}��O�����'H�T$ H����H�zHt&H�zH�5ہ�"�����ZH�T$ H����H�zHt&H�zH�5��������]H�T$ H���oH�zHt&H�zH�5����������H�T$ H���BH�zHt&H�zH�5�S�������H�T$ H���H�zHt&H�zH�5|��n������H�T$ H����H�zH��H�zH�5U��=������H�D$ H�5A�H�@HH�x�������L�|$ M�����Q��H��H���%L�x(H�<$H��L���^?��I��H���rI�HI��H�5���������I�HI���H�5q�������<I�HI���H�5A��q�����yI�HI���H�5��N������I�HI���H�5M��+�����#I�HI��hH�56��������I�HI��EH�5���������I�HI��"H�5ĉ�������I�HI���H�5���������I�HI���H�5�Q�|������I�HI���H�5g��Y������I�HI���H�5N��6�����~I�GHH�5;�H�x������b��L��H����h���L�k-�����M�oM��tEI�}HtI�}H�5���������H��M�OL���jL���L��H�����XZM����I�\$H�CL�|$ I��I�O0H�L$ H����H�yH�$���H�T$ �m���f.�H�D$ H�5\�H�@HH�x�7�����I���H�t$ �H���m��L��H���bm��H�D$ H�@0H�D$ �����H�<$H�k�L���e<��H�����H�5ONH�������������C0����f�I�^x�����H�D$ H�5��H�@HH�x������k����R���f.�H�D$ H�5|�H�@HH�x�W�����;����O���f.�H�D$ H�5L�H�@HH�x�'���������L���f.�I�GHH�5�H�x������E���������f�H�D$ H�5�H�@HH�x���������������f.�I�E1�I����H�
�L��H���O��H���'��L�|$ ���DH�D$ H�5��H�@HH�x�_�����C�������f�I�GHH�5]�H�x�<���������������f�H�D$ H�5,�H�@HH�x�����������f.�I�GHH�5��H�x�������k��������f�H�D$ H�5̗H�@HH�x�������������f.�H�D$ H�5��H�@HH�x�w�����[����}���f.�I�GHH�5m�H�x�L������������-���f�H�D$ H�5<�H�@HH�x�����������J���f.�I�GHH�5
�H�x�����������������f�H�D$ H�5ܖH�@HH�x��������������f.�H�D$ H�5��H�@HH�x������k�������f.�I�GHH�5}�H�x�\�����T������=���f�I�EHH�5M�H�x�,�����_���L��H���d��M�m0H�C M���d����9���fDI�GHH�5�H�x�������������������E$L��L��1ɾ�����L�|$ �&����I�GHH�5��H�x������������m���f�M�fxM���(���E1�H��)��I�EM�d$I��M��������H����L�`H�M��u�I�����f�I�GHH�5�H�x������]���������f�I�GHH�5�H�x�������P��������f�I�GHH�5��H�x������C������}���f��|$H���Z�|$
�!���f�E1�M�G��H�
�������E$L���1�1Ҿ��r���H�ˊ)1���#�f�H�t$E1�H�T$ H��I���A��>������H�L$ H�����H�yH���H�yH�5]���������H�D$ H�5��H�@HH�x������b�H�T$ H��H��tH�t$H����H�T$ H�J0I���H�L$ �3��H�L$ H�����H�yH���H�yH�5X��/�����DH�L$ ���DH����H�T$ ��H�D$ H�5�H�@HH�x�������}�I�~`H�T$ �<H��H�T$E1ɾ�L�6�H���J��H�T$ H�J0H�L$ �K�H�T$E1ɾ�H��L�L���J���[���H�D$ H�5��H�@HH�x�i��������H�T$ H�t$H���*SI�F8H�D$ H�@0H�D$ ��H�D$ H�5?�H�@HH�x����������H�D$ H�5�H�@HH�x����������H�D$ H�5�H�@HH�x�����������H�T$ H�t$1�H���>I���H�������H�t$1�H���I�Fp�����l���ff.��AWAVAUATI��USH��xH�t$�L$dH�%(H�L$h1�H��H�D$P��M�������H��H����D�l$E���H��L���M��1�jH�t$ ����H��XZH����M�|$X�E�E\M��t`L�5ِ� �H�xL�������u&M�0M��t7I�GHH��u�I�H�5�X�����u�L��H���6��M�0M��u�fDH���L��H��H����^��H���M�l$H���H�D$M���I�}H�+I�}H�5'��������I�}H�I�}H�5E���������I�}H��I�}H�5n���������I�}H��I�}H�5����A�ƅ��L�
P�E1�L��L���H����G��D�T$E��tD���E��t
A����H�D$H����&jE1�L���L��j1Ҿ	H���ta��AYAZ1�H�L$hdH3%(H���=
H��x[]A\A]A^A_��H�5�L�����H��H������[���H�L$PH��H��H��������u������t-D���E���V���H�|$PH�5���Y���H��H���_���H��M��H��jL���H�L$`H�t$ ���Y^H��H���(���M�|$X�MXL�5`��E�E\M��u�wH�xL���$����uPM�0M��t[I�GHH��u�I�H�5SV�����u�I�H�5�������u�I�H�5��������u�f�L��H����3��M�0M��u�H�5^�L���]���I��H����H���H�<�L���0��H��H�uXA�����H�D$XD��H�ǹhA���0��_AX�����jL�
ѬE1�L��jH���H��j�t$h�M��H�� ���f�I�EHH�5-�H�x���������H�t$L��H��A���M�m0M���Z����8����I�EHH�5݌H�x��������L����.A�NX@����M�}XI�FpM��u*�@H�xH�5���x�����u>M�0M����I�GHH��u�I�H�5�T�N�����u�I�H�5��:�����u�L��H���;2���f�I�EHH�5-�H�x����A�ƅ��b���L����.A�NX�L�t$@�c���M�}XI�FpL�5�M��u,�:f.�H�xL�������u@M�0M���I�GHH��u�I�H�5�S�����u�I�H�5N��v�����u�f�L��H���u1���I�EHH�5m�H�x�L������9���L��H�����M�m0H�E0M������L�
ѪE1�1�L���H��E1��AC���z���@E1��Q���H�D$�@0�t�MX�t�MX� �b����MX�V���fDjL���H��E1�jL��1Ҿ	��\��_AX�.���L��H���UX��H�5Q�L���&���H�D$(H���DH�t$(H�����)��H�T$XH�l$HH��H�T$0H�D$@H�T$`H�D$ H�T$8H�x`�fD< w H�&H�����GH��< v�I���
�I��A�FI�n< w�H�&H��s�H9��WH��H)�茅��L�L$0L�D$8H��I��H�D$H�T$(L��H�p0�Q����ulH�)��I��H���H�|$ H�@H�taH�D$ L�H�L$`H�T$X�H��L�D$ �-��L�D$ H����I�@L�D$ M��tH��)L���A�F����H�����H�D$@L����H��L��H���@�����L��H���V��H�t$L��H��M�N`M�FhH�
e��qS��M�}M����I�Ht7I�H�5��荽�����}I�HtI�H�5���n������-I�~`��L�
�E1�L��L���H���~@��I�~`��M�m0E1��?���M�}M��tcI�Ht7I�H�5��������+I�HtI�H�5�������]L�
��E1�L��L���H���@��H�|$(u�H�D$@H�x8�x���jE1�L�T�L��j1Ҿ�H����Y��A[A^�O�������t���M�}H�l$HM���C����)���I�~8����H�5�L�����H������jE1�L�b�L��j1Ҿ�H���VY��A_X����fDI�GHH�5�H�x�����g���L���H���,��L��H���!Z��M�0M���?���M�~`M�������j1�E1�L��jL�龸H����X��XZM���N����,����I�GHH�5��H�x�l����������L��E1�I��L��I���I�FH�@I��H�m0H���bH�}H�AH�}H�5E~�������)H�EHH�5!�H�x�������
H�t$1�H��H���v�H��t�M��u�H�T$@H�B8�I�GHH�5ޅH�x轺���������L���H�����H�|$@H����X��M�0M�����������fDH�l$HM���B���H�|)L����1����C$L�ޥ1�1Ҿ�H�l$H莆���	���I�GHH�5F�H�x�%����������I�~`tLjL�龸E1�jL��1�H���6W��Y^M�0�V���L��I��L��I������Ō��L��M���
���H�t$1�L��H���H�I�F8�f�AWI��AVAUI��ATUH��SH��H�L$H��$�D�D$8L�L$ dH�%(H��$�1�H�H�L$H��$�H�L$H����fDH�xH��H�xH�53h�-������-I�EH���}H�xH�rH�xH�5*}������ZI�EH�5�H�@HH�x�ݸ�����:H��I�]��M����	�A��H����H�{H�<H�{H�5�g蜸������HDŽ$�I�]HDŽ$�E����H���fH�5�*H����I��H���H�L$L�D$H��H��L���M��L��H��L��H��$��}?�����eL�sXL�%"�M��u�gH�xL������u@M�v0M��tKI�FHH��u�I�~H�5#*�η����u�I�~H�5K躷����u�fDL��L���(��M�v0M��u�H��L���aP��L�cM��t>I�|$HtI�|$H�5��o�������L�
�yE1�L��H�ھ�L���:��A���H��$�H��$���tI���H��t
H�p�>�F�L�����I��H��tQI�G0I�\$(L��
H�x(���H�D$ H��t�H�D$H�8H���~L���i������I�]H�C0I�EH���S���1�H��$�dH3%(��
H�Ĩ[]A\A]A^A_�HDŽ$�HDŽ$�������fD���H��H�D$H�8H���i����������HDŽ$�HDŽ$����T���1�H�C0I�E�M����I�EH�5��H�@HH�x�ص�����<���H�D$I�]H�D$xHDŽ$�HDŽ$�H�H�D$@E�����H�����H�5�'H���-�I��H���iL�D$H�L$H��H��L����J���������H��$�L��H��L���<���D$0������A�G$L�cX�D$`M����	�D$(M����D$dL�t$XD�t$(�D$0�D$<H�D$PH�D$H�2DH�xH�5������tL��L���%��M�d$0M���SI�D$HH��u�I�|$E���{H�5�G�������I�|$H�5�&�f�����u�I�|$H�5l�Q������I�|$H�5�R�8������7H�|$H��L�
�wL��1�L��L�xR���P���N����I�EH�5H�@HH�x������������H9P �����H9H(�����A������BALJ��L�����I��H������H�X(I���L�`���DI�D$HH�5|~H�x�[��������L��1�L�����M�d$0M���������H��H�v%L����5��I�]H�C0I�E�i���DA�G$L�cX�D$(�D$`M������H�D$PH�D$H�D$<�D$0�E0tI���H�D$PH�|$PH�5��覲�����JH�5��H���?�I��H���k����H�L$xL��L��H������������H�|$xH�5�&�M��������D$<����L�cM��t>I�|$HtI�|$H�5+z��������L�
�tE1�L��H�ھ�L���25���|$8�	�|$8
��D�d$(E���H�D$@H�����H����H���H��$�H��$�H�|���H��H9���H��9�u�H9Qu�H9qu�H��$�HDŽ$���jL��1�jI��L�8�H�ھ�)��H��$�AZA[H���n���H��r)��`���H�5-��������K���I�|$H�5@D�����uwI�|$H�5�m�ְ������I�|$H�5�轰�����S���H�|$XL���8��H�5�lH��H�D$h蔰������I����D$dH�D$P����L��L���EH��M�d$0M���������|$0�
�|$<�H���jE1�H��jL�
��1Ҿ�PL��j�p;��H�� A�G$�D$0;D$`�F����D$(���5�D$d���'�������H�bp)�(�I��H���f�A�$�L��
AD$AD$A�D$$I�G0H�x H��H�5��D�L$(I�\$H��$�I�D$H��$�I�D$E�������I�G0L��
H�x(�����g���fDA�G$�/���H�|$XL�����H�5/sH��H�D$h�������m�D$<�H���I�|$H�5kr������$���H�|$H�����H�|$XL���W���D$0H�D$H�����D$<���p���H��L���>��I��H�����I�G0L��
H�x(�-���D$<�L��H��$�H��$�A�D$0�G
��H�������I�D$H�D$HH��tI�D$8�|$0uA�L$ L�SM���I���I�zH�ZI�zH�5vL�T$0����L�T$0���
I�BH�L�D$H�L$L��H��L���BC������H�D$xH��$�H�D$PH��$����H��L���C
��I��H������D$<H�L$PE1�I��H�T$xH��L��A�D$0�s��H�������H��$�H��tH�P0H��$�H�P8H�L$HI�D$H��t�|$0H�HXu�HxL�SM���H���I�zH�I�zH�5uL�T$0���L�T$0���	�T$(I�BH����H��t"I�zH�5�oL�T$(�Ȭ��L�T$(���L�
=oE1�L��H�ھ�L����/������H�|$hH�5�p般�����q�D$<����H�|$XL������D$0H�D$H���H��L�
I�1�H��jL�#���L��jj�J2��H�� ���M���A���I�BHH��tzI�zH�5(oL�T$(���L�T$(��t\I�BHH�5�vH�x�ݫ��L�T$(��t?M�t$I�~0�L��E1�L��H�ھ�L����.��L�T$(M�R0M�����L�
Fo����H�D$H�D$<�D$(����H��$�H��HDŽ$����H��L��1�jI��L�ڙH��j�	j�I1��H��$�H�� H��������_�H�|$hH�5V���������D$<�8���I�BHH�5�uL�T$0H�x�Ъ��L�T$0������L�ֺL������L�T$0D�D$(I�D$M�R0E���v���M���������f�I�D$HH�5�uH�x�k������T���L��1�L��覺��M�d$0M���V����4���A�G$L�d�1�1Ҿ��qv��I�]�l�H��H�2�L���,��I�]�Q�H�|$hH�5f����D$d���+���jL�
�mE1�L��j1Ҿ�L��j��$��5��H�� ��I�BHH�5�tH�x薩��L�T$(������L�
lE1�L��H�ھ�L���,�����ݓ��jE1�L��I��H�c�j1�P��L��j�4��I�]H�� �~�jE1�L�ƖjH��1ɾL���� ��A^I�]X�R�jL�
U�E1�L��j1Ҿ�L��j��$��54��H�� ��jE1�L��j�L��1�H��L��L�T$(�7�L�T$(I�F`����{��@AWAVAUI��ATUSH��(dH�%(H�D$1�H���D$H�D$��M������bI��H���VI��L��H�5U����H��H�����薒��H�L$H��L��H���#������H�\$M��$�H����H�nh)�x�H��H����H�xH�@H��H�@p)��Hx1����H��EH�]A��$�L�uhL�m@�MH����I�D$0H��L�5�rH�x H��@����I�D$0H��
H�x(���I�]XH��u �iDH�xL���,�����u@H�[0H��tKH�CHH��u�H�{H�5/�������u�H�{H�5G:����u�fDH��L������H�[0H��u�L��L���?��I�EH�D$H��tCH�xHt<H�xH�5�n褦����t(H�D$H�5�qH�@HH�x臦�����&�H�MpH�T$L��L��L�L$A������tl�D$����H�L$H��tXH�yHt"H�yH�5�i�'�������H�L$H��t/L�
&�E1�L��L����;)���H��g)H��D1�H�L$dH3%(H���H��([]A\A]A^A_ÃMH�o����M��H��H��L��I��$����I��$�H��t�ADŽ$����f�H���L��L���(���s���H�t$�L��藵��H�E0H�D$H�@0H�D$���H�D$H�5<pH�@HH�x��������H�D$H��tJH��L��L���7��H�T$H�J0H�EPH�L$����A�D$$1�1ҾL�i��q������1����w��f�AWAVAUATI��USH��XdH�%(H�D$H1�H��H�D$8H�D$@��M�������H��H���}H���I��A��H�D$���#H��L���1�M��j�����Y^H��H���9H�CL�cHH�D$@�H���M�|$XH���M���H����D$�D$H�D$ �%@H�xH�5�n踣�����M�0M��t7I�GHH��u�I�H�5�6莣������L��H���K<��M�0M��u�f�D�\$E����D�T$E��uA�E0�t�KX��I�D$H�D$8H���H�xH��H�xH�5'k������H�D$8��H���H��tHH�xHtAH�xH�5Og�������H�D$8H��tH�xHtH�xH�54g躢�������-�(���L�|$8�KXH�CpM����I�HtOI�H�5�^�{������#L�|$8M����I�Ht"I�H�5�e�N������FL�|$8M��tlI�H��I�H�5\e�!������IL�T$8M��t?I�zHt8I�zH�5If�����t$H�D$8H�5mH�@HH�x�ۡ������E1�H���L��H��H�T$8A��������H�L$81�H��tKH�yHt"H�yH�5%e脡������H�L$8H��t"L�
S�E1�L��H����D$�$���D$E��tD���E��t���H�D$H����Kf�H�5=�L�����H��H������{���H�L$@H��H��H���������H1�H�L$HdH3%(H���h	H��X[]A\A]A^A_��L��H�������I�H�5�d萠������E��t�I�H�5��s����������I�H�5�d�[������4I�H�5�c�C�������H�|$ L���
��H��A�����H�sXj�H��E�ȹ�H�D$8���^_��L�T$(�\D�t$�;����D$A�E0��t�KX�@�g����KX�[���DL��H���6����������KX���@H���M��L��jL���H��H�L$P�#���H��XZH�������L�cH��KX�L���f�H����J���@M���)����I�D$�KXH�D$8H�����H����X���f.�H�D$8H�5jH�@HH�x������-���L�|$8�C\M���pH���I�WXH�D$H����H�\$H���(�H�xH�5�i萞����uDH�[0H����H�CHH��u�H�{H�5�1�f�����u�H�{H�5�b�R�����u�fDH��H���M���H�D$8H�5DiH�@HH�x�������<����CX�t���CXL�|$8M����H���I�WXH�D$�@\H���H�\$H���#f�H�xH�5�h�����u*H�[0H����H�CHH��u�H�{H�5�0薝����u�H��H�������DH�@HH�5�hH�x�l�������H�D$8�T���f.�H�D$8H�5\hH�@HH�x�7�����������H�T$8L��H���(H�C8H�D$8H�@0H�D$8�3���H�D$8H�5hH�@HH�x�������������H�D$8H�5�gH�@HH�x跜�����������{���DH�D$8H�5�gH�@HH�x臜��������H�D$8H����H��L��H��裿��H�T$8H�J0H���1�H�L$8����jL���H��E1�jL��1Ҿ	�g9��_AX���L��H���$3�����\����KX�P���H�T$8L��H������H�C8H�D$8H�@0H�D$8�	���H�\$L��H���4��M�WM����I�zH�}I�zH�5�cL�T$蜛��L�T$���eI�zH�PI�zH�5�WL�T$�o���L�T$����I�zH�#I�zH�5�WL�T$�B���L�T$���lL��L�
�E1�L�Ѿ�H��D$�T��L�|$8�D$I�O0H�L$8���H�\$L��H���3��H�8_L��H���1����tH�L$�AX�u���AXM�WM����I�zH�yI�zH�5�bL�T$蘚��L�T$���^I�zH�LI�zH�5�VL�T$�k���L�T$����I�zH�I�zH�5�VL�T$�>���L�T$�������I�BHH�5>eH�x����L�T$�������
L��L��H����L�T$M�R0�M�������L�|$8����H�t$8�H������H�C0H�D$8H�@0H�D$8���I�H�5	^裙��L�������H�|$ ���H��A������j��H�sXE��H��H�D$8����ZY��L�T$(��D�t$���H�hxL��H�������V���1����I�BHH�5:dH�x����L�T$�������L�ֺH���L���H�|$H���?7��L�T$M�R0M���R���L��L�
��E1�1ɾ�H�����L��E1�1�L�
j���H������1�L�|$8���jL�
�jjARE1�L��1Ҿ�H����#��H�� ��I�BHH�5ycH�x�X����	L�T$�����L��L��H���h���L�T$M�R0�6���I�BHH�57cH�x����L�T$���z���L�ֺH���I���H�|$H���<6��L�T$M�R0M���K������D1��k���I�BHH�5�bH�x赗���	L�T$���n������I�BHH�5�bH�x芗��L�T$�������
�-���jL�
�jjAR�����Jj��1��H���AWAVAUI��ATUH��SH��XH�t$D�D$dH�%(H�L$H1�H����H�������I��H����M��tA�EH�5vH�����H�5/	H��H�����I��H��t�D$���D$(H���H��L���u/��L�uH�D$M��t/I�FHH�D$H��t!I�~H�5�^�u���H�D$����	D�T$E���6��̀��H�L$@H��L��H���Y������IL�|$@M��$�M���3H��V)���H��H���qH�{��H�ھH��H�CHǃ�)����1����H�L�{�I�D$0L�k`H�kHH�x H��@�X�I�D$0H�ھ
H�x(�B�L�}XI��$�H�D$ H�D$M���ML�-�`�'fDH�xL���T������M�0M���I�GHH��u�I�H�5Ot�&�����u�I�H�5R������u�I�H�5S(�����u�I�H�5Y3�����u�I�H�5YX�֔����u�I�H�5(Y�”�����n���I�H�53Y誔�����V����|$I��vH�5�R臔�����3���I�H�5�R�o���������I�H�5���W����������L��L���M��M�0M����D�D$E�����KX"H�t$H��L��L�KxL���H�
UR�)��H�MXH��L���*����t�KXH�5�WH�����I��H����H�|$H���J���H��A�����H�sXj�H��E�ȹ��I�����^_��t,jL�
ۂE1�L��j1Ҿ�L��jAW����H�� @H�5�WH�����I��H���
H�|$H������H����j�H�sXA�����H��A� I�����ZY����H��WH��L���!)����t�KXH�5�OH�����I��H��t*H�t$H�KpH��L��L�Ch�*(��H�KpL��H��L�����L�|$H�1H��L�����H�5VH��H����+��I��H��t9H��L�����H����ZL�
�UL��1�L��L��0����.��M����I�FHH��t=I�~H�5�V��������I�FHH��tI�~H�5 U�����I�FH�+E1�L�=zV�@I�~L���̑������I�~H��I�~H�5�R詑������I�~H��I�~H�5+V膑��L����M����M�v0I�UM����I�FHI��H����I�~L���E�������I�~H��I�~H�5QR�"�������I�~H��I�~H�5�U�������I�FHH�5\H�x������{I�~H�����L��M���R���M�v0H���M���O���H�D$H�C0�D$��uQH�D$ H�XH���CA�D$$1�1ҾL�"U��\���H�|$tH�D$ H�@H�|$����1�H�L$HdH3%(H���H��X[]A\A]A^A_��H�
�R�����H��L������@1�H��L�uL��D$�,!���T$H��L���D$,��+���L$,�T$H��L�����H�D$ H����D�L$(E����H�D$8H�D$@M��tA�EH�t$H�L$8L��L��L�D$@��$��H�L$8L��H��L�����H��t L�
tnH��1�L��L������+��L�mXH�DZ�"f.�H�xH����������M�m0M����I�EHH��u�I�}H�5;�����u�I�}H�5�m�Ҏ����u�I�}H�5"辎����u�I�}H�5�L誎����u�I�}H�5�L薎����u�H�
cL���L����)��M��tL�
�PE1�L��H���L������D$D$,����H�L$8H�T$@�L���!�H�������H�\$ H�L$�
I�|$0H�CH��H�KH��(������D$(�;���H�|$�����H�|$����}���D��>x��H�L$@H��L��H���˜�����3���H�5ܰH���D��I��H����I��$�H������H�5�IH��H���f�������M��$�L�l$@M������H��M)���H��H�������H�{��H�ھ
H��H�CHǃ�)����1����H�L�{`�I�D$0L�kH�kHH�x H��H��I�D$0H�ھ
H�x(�o�L�}XI��$�H�D$M���6����@���I�FHH�5�WH�x茌����� ���L���L���Ĝ��M�v0H�D$����fDL��L���e����D���I�FHH�5]WH�x�<������Y������I�FHH�55WH�x�������1�������I�FHH�5
WH�x������ ���L�C`�H�t$L��L���K���H���H���I�FHH�5�VH�x謋��������L�C`��f�I�FHH�5�VH�x�|���L�������L�C`��fDL�
}E1�L��H���L��������fDH�D$�@0��t�KX�@t�KX�������KX ����D�KXH������H�D$�@0�����E1����f�H�D$�@0�t�KX���U����KX�I���H��iH��L���G
���D���H�5�FH��胊����u�jL�
pNE1�L��j1Ҿ�L��jS���H�� �r���jL�
w{E1�L��j1Ҿ�L��jAW���H�� � ���I�FHH�5-UH�x��������H�{h��E1�L�_{L��H���L���
��M�v0M������I�FH����fDH�xH�5�T谉����t�H�{hthE1�L��w�f�A�D$$1�1ҾL�!N��U��H�|$���������H�t$1�L��L����H�C8�a���H�t$1�L��L�����H�C8�F����
\��H�5�L���������I�H�5VM��������I�H�5:G����������@AWAVAUATI��U��H��S��H��H��xH�t$ D�D$dH�%(H�D$h1����H�D$H�����t$�������S	H�
�J�����L��H�������@1�L��L�kmH��A�����A��D��D��L��H���,$��D��D��L��H���K�H�D$H���}H�T$M�|$XE	�D�t$(H�PM����L�-�R�DH�xL���ԇ����uPM�0M��t_I�GHH��u�I�H�5讇����u�I�H�5�E蚇����u�I�H�5�E膇����u�f�L��H�����M�0M��u�@L��H���- ��M�|$M����I�HtI�H�5LO�8������H����H�D$`1�E1��D$,H�D$8H�D$\H�D$0�~�I�H�5L6������I�H�eI�H�5K�͆������I�H�BI�H�5�I誆������I�H�I�H�5�I臆������I�H��I�H�5�I�d�������I�GHH�5iQH�x�H�������I�H��I�H�5�5�%������=I�HtuI�H�5WJ��������I�HtVI�H�5�H�������I�Ht7I�H�5�H�ȅ�����pI�HtI�H�5�H詅������H��tM���#I�nI��M�0M��t(I�H�x���L�
�xE1�L��L���H������L$(�����T$,��tH�{0H�T$�
H��(�����D$��H�D$HED$H�D$H�L$hdH3%(H�D$��H��x[]A\A]A^A_�f�M�t$XL�-�OM��u �ODH�xL���̄����u&M�v0M��t1I�FHH��u�I�~H�5�覄����u�L��H�����M�v0M��u��D$(H�D$�����H�D$I��H�h�����I�GHH�5eOH�x�D�����������O����I�GHH�5=OH�x�����������J����I�GHH�5OH�x����������E����I�GHH�5�NH�x�̃���������H�L$0H�t$ E1�L��H���\�H��H�������|$\�\$,�����I�GHH�5�NH�x�|������4������I�GHH�5uNH�x�T������N���H�t$ L��H���L���H��H�������D����D$,E������H���H���o���H�P�:�b���H�MH���U���H�P H9Q�G���H�p(H9q �9�������gH�H9M �@H�D$`H�|$8�Q���L�juWI��jjjH��1�L���	���H��$�H�� H��t	H�D)�H���1�H�@�������I�GHH�5MMH�x�,������E���H���RH�|$ �FM�oXH�-MM��u0�f.�H�xH��������|M�m0M����I�EHH��u�I�}H�5趁����u�I�}H�5�?袁����u�I�}H�5�?莁����u�I�}H�5�l�z�����u�I�}H�5ID�f�����u�f�L��H���e��t���I�GHH�5]LH�x�<�������o���H�t$ L��H���H���v����I�GHH�5LH�x������S�����DI�GHH�5�KH�x�Ԁ���������L���H������H�L$M�0H�A��t(M���z�����t$(���d���@H�D$�h���M��t�D1�I�H�D$,L�l$\�(L�d$0E1�M��L�l$ �#@H�EH��M�0M���I�H��I�H�5u/��������I�GHH�5KH�x�������E1�L��L��L��H����H��t��|$\A���x ~3H�D$ L��1�E1�jL��q�H��j����H�D$0�@ ZY�x$~5H�D$ E1�L��1�jL��q�H��j���H�D$0�@$AZA[H������H�T$H��H�B����DD�t$,L�d$0L�
�r���f.�H�
�C�L��H������L��H��L�G6�A���*��A�����f�L��H������@1�L��L��cH����������L��H��H�
A�ʼnD$@�����L��H�߉‰D$D���H�t$ L��H�ߺ�W��I��H����L��H��H���͝��M�WM��tII�jHH��t I�zH�5OFL�T$H1��4~��L�T$H��uiL��L�
�@E1�L����H���N��I��L$@�T$D1�L�T$H��	��f���L��H�����H��H���O���L�T$HL�hL�P�-���1��6���I�BHH�5�HH�x�}��L�T$H���v���L�ֺH�����L�T$HH��M�R0M���Q���I���i���H�hǃ�����H�D$`H�|$8���I��APL��ojjj����"P��D�t$,�����AWAVAUATUH��SH��(�L$dH�%(H�D$1�H��H�D$��H������BH��H���6L���L�}XI��L�-�GA�L$XM���[fDH��H���m��M�L$`H��L��M�D$hH�
ƥH���>����uI�|$`�fH�EH�D$H����H�xH�qH�xH�5UD�A|����H�D$�$H�ƒ|$
��H����E1�H�T$L��H��I��$�A�
�L�����t[H�L$H��tQH�yHt"H�yH�5w?��{�����3H�L$H��t(�|$
L�
�otL�
�jE1�H���H������1�H�L$dH3%(�QH��([]A\A]A^A_��H�xL���d{����u@M�0M�������I�GHH��u�I�H�5��:{����u�I�H�5k��&{����u�f�L��H���%��H�@HH�5FH�x�z�����_H�D$���f.��|$
�����H�xHt&H�xH�5�=�z�����TH�D$H������H�xHt&H�xH�5�=�z�����fH�D$H������H�xH�S���H�xH�5�>�`z�����tH�T$�(���fDH�������H�zH�_���H�zH�5k6�$z����u/H�D$H���=����q���DH�A�H��H��������H�D$H�5�DH�@HH�x��y����t�H�D$H����A��H��L��H�����H�T$H�R0I�D$8H�T$�o���H�t$�H���Ӊ��L��H������H�D$H�P0H��H�T$�1���H�D$H�5nDH�@HH�x�Iy���������H�D$H����A���h���H�D$H�5/DH�@HH�x�
y�����y���H�D$H����A���)���H�D$H�5�CH�@HH�x��x��H�T$�������L��H���Ì��I�D$8H�D$H�P0H�T$�u���H�D$H�5�CH�@HH�x�x���������H�D$L���H��t0H��L��H��蛛��H�T$H�J0I��$�H�L$�w���1����1���� K��AWAVAUI��ATUSH��dH�%(H�D$1�H����M������CI��H���7I��L��H�5W荲��H��H���a��Gb��H��H��L��H��1��Ԇ������H�$H����H�(8)M��$��@�H��H���f�H�@4@@�@<H�X �L�h0L�p(A��$�����I�D$0H��L�5DBH�x H��@����I�D$0H��
H�x(���I�]XH��u!�jfDH�xL����v����u@H�[0H��tKH�CHH��u�H�{H�5�U��v����u�H�{H�5
�v����u�fDH��L����H�[0H��u�L��L���Y��I�]H����H�{HtuH�{H�5y>�ev�����=H�{HtVH�{H�5�2�Fv������H�{Ht7H�{H�5[9�'v������H�{HtH�{H�5C9�v�����(L�
)jE1�H��L���L���#���H�L$dH3%(H����H��[]A\A]A^A_�D1���@M��H��H��L��I��$����I��$�H���AADŽ$��5���DH��TL��L�������v���f�H�CHH�5]@H�x�<u��E1��������vf.�H�CHH�5-@H�x�u���������H�޺L���D���H�[0H�EH����������fDH�CHH�5�?H�x��t���������E1��H��L��L�����H�[0H�EH����������H�CHH�5�?H�x�|t��E1�����M����A�D$$1�1ҾL�9��@���b���H��5)H��1��O����G��ff.�f�H��A��H����A�uH��tA��.�fD1��D��H����ATI��USH�0H��t���I�|$xH��t@H�_�Wq��H��H��u�I��$�H���~H�G5)H�}H�H��t��H�H���I��$�H��t@H�/�H��H��u�I��$�H��tfDH�/�H��H��u�I��$�H��t�9��H�L��[]A\��DH��4)���ff.�@AWAVAUE1�ATUSH��H���GH�/��R��D�����������t����L�%U4)L��A�$I��D9k��N�t�M��t�A�>����w���������������I�~0H��t�y���I���H��t�8��I���H��t��v���v���f��������b�����uyL��I���-N��D9k�c����CH��[]A\A]A^A_�D��s#��t�r<��r7L���a������f.�I�~H��������ξ�����f����?袙��I��H�
�e1Ҿ���=������f�I�~H��t肾��I�~0H���%H�W H��tH����H��I�~0L�%�2)A�$I�N8H���s����H�y L�9H��tH�L$�H��H�L$H��A�$L��M��u��<����I�~@H��t����I���H�����������DI�~H��t�ڽ��I�~@H���q�������I�~0H��t貽��L�%+2)M�~pI�$M��tI�?H��t��I�$L����I�$L�������DA���-L��'H��'LD����f�L�%�1)���@��H���CATUH��SH���t'�-\��H���\���_H��)H�5q�H�81���H�}XH��t1��F��H�}@H��t1��E��H�}HH��t1���E��H�}PH��t1���E��H�}8H��t1���E��H�}pH��t1��E��H���H��t1��E��H�}`H��tH�5��E��L���M��tgA�D$1ۅ�~@I�$H�<�H���gA9\$�H��0)I�<$H�H��t��H�L���H�}(H��t����H�}x�\]��H�H��[]A\��H�y0)����ff.�@H���ATUH��SH�_@H�����K��tH�����H�]@H����L�% 0)H�;I�$H��t��I�$H���H�]HH��t/�S��tH���A���H�]HH��tH�;I�$H��t��I�$H���H�}(H��t�H�A�$H��H��u�E<��uH�} H��t�\;���}t&[I�$H��]A\��f�L�%y/)�k���@H�}PH��t��M��[I�$H��]A\��D�ff.�@�������AWM��AVAUA��ATUH��SH��H��(H�D$xH�$D�L$H����H�O0L�qM���A�V������H�5�����D$H��t%I���H�T�@L�0I;^�SH��H9�u�E1�H�x-)� �I��H���Mf�A$AD$H�M0H�A H�P(H��u��H��H�H��u�L�"E�l$A����M��tdE�^8E��t"H��H�J1I�vHD�H���kl������I�~��M�t$H�D$xL�0H��(1�[]A\A]A^A_�f.�E1�E1�H�$H����H���H����H���������7���D$H��H�<$�k��H��I��H�����B��tI��th��tcH�B0H��H����H��H�D$H�L$�%b��H�L$H����R��H�D$H�‹B��u�H�zPH����H�T$����H�T$����1�H�BH��t�p�~���v��u	H�B0H��tH��H��u��Z���L9�tH�B0H��u�H�R(H��u�H��tH��H�L$�a��H�L$H���*R��I�Ht0I�H�5"'��j����tI�GHH�5�5H�x��j�����CH��I��L�b1�j��H��jjH��$���H�� �t$�����E H��([]A\A]A^A_�fDH��L	��D�f��I��H����H���t0H���H��t$H�$�X��L�$H���I����-[��L�$H����1�L�߹H��L�\$�A��L�\$H��H�$�AL���c���D$���f�H��H�T$��8��H�T$H�у��P����I���DL9q �����H��E1�L�@^jjjH��$��t$01�H����H�� �����D$H�+.@H��I��L�j`1�j��H��jjH��$��M�H�� ���@E1�E1�H�
�_1���H���ĭ��������u���f.�H�D$pI�D$H�������M����A�V8���p���I�vH���h�����\���H��I��L��]1�j�
H��jjH��$���H�� �-���L��H���H�{+����I��M���.H�E0H�H�D$H����H��()�X�I��H����H�xH�@H��H�@P)��HX1����H�M�~E�.�^���I�F@H���)�L���I�FHH���H�E0H�PH�����z����H�l_E����A����H�@ �8vH�@PI�FPH�D$H���H���!L���[���H�E0L��H�x�K������u6fD�L$����H�<$�4��H��(�����[]A\A]A^A_��H�$I�^A�F0I�F �D$M�~M�~��tA�F<A��A�F8M����������H�<$�O4��M���N���I�F �A���f�L�`(�����H�D$hI9F�I���H�E0H�@�P���fH���H�L���H��H9��KH�H�zu�H9Zu�H�rH9t$hu�I�T$���fDH�A�P������H���H�t��@H�zH9|$pt%H��H9����H�H�J H��u�H�zu���D�R8E��t�H�rI�T$H���&H�ZI��H�������H��[H�5�*H���	��������(���H�u*L�$�3��L�$H��t	�8��L�$H��H��I��jL�\1ɾ�jjH��$��|�H�� L�$L���^������A�U�����A�L�pH�D$I�FPL�xH�D$H�x`H���L��M����L����c�����r���H��\H�5*H���7��L�������j���H��I��L��Yjjj�'����L����]��M���L���I�^A�F0���fDL�a)1�1Ҿ��0�����������@H�<$�gd��I��H�����H�����D$H�)�4���fDE1�����T$E1�1�L��A�L��L�\$��D��L�\$H��H��H�$�?���H�=�(�3��L�\$H���H��(���H�q%)L����W���H��H�$�c��H�$I�օ��I����rI��L�'Y1�t$x�H��H�T$p�W��AXAY����L��Y���轸��H��H�D$H���H�������i���L�~(1�1Ҿ��v/�����H�5���a������H������I�FPH���$���L�x����H�E0�H�p�-��H��H�D$H�x`H���������fDH��'H�5�'H���
���E���H�Z���H���D$H�V'���f�AWAVAUATUSH��H��D���E��tH�(H��t
�5B��H�C(H���H�C0ǃHǃ�Hǃǃ@H��t�jf��Hǃ�H���H��t%L�%�#)@H�/A�$H��H��u�Hǃ�H���H��tbD���E����L�%[#)1�f�L�,�H��I�}A�$L��A�$9��H����A�$Hǃ�Hǃ�H���H��tQD��E��~$1�fDH�<�H���#���9�H����L�%�")A�$Hǃ�HǃH���H��t�"���Hǃ���(����H���H��tD�����~:H�0H��t2A�1���H���J�4 I��H��tH�߃��a���;��|�H��8H�}H��tL�%"")A�$H�EH�EH����N���]A��H�{`H��H��tL�%�!)A�$H�C`H���H����L�%�!)H�EH�D$�SDL�}8M��t!�} ��I�?I�$H��t��I�$L����H�}@H��tH�5֍���6��H��L��A�$M��tRH�E(L�uH��t��U0I�$��~'E1��J�<�H��t
��I�$H�E(I��D9m0�H����i���f�H�l$H���B���Hǃ�H��[]A\A]A^A_��A�G���7���E1�I�N�<�I��I�A�$L��A�$L�}8E9o��
����H��(H�� �������L�%y )�J���@��H����H����UH��H���	S�H��H�=�#H���5\��H�MH��ttH��H�a�1��\��H�}H��twH����5��H�޿
�:��H�u(H��tH���7���H�}8H��H�5�����*��H�}PH��H��H�5���[]�+X��H�=x#H�ٺ	��[��H�}H��u�H�ٺ�H�=S#�}[���s������H����H�=#�O[��ff.�@��USH��H��tAH��艵��H��H��t �|>�������H��H���H���u(��H�EPH��H��[]��1�H��H��[]�@��ATUSH��t3��~/A��H���$���H��H��tH�hhD�`p�>��H���H��[]A\�1�H��[]A\�fD��USH��H��t1H���ٴ��H��H��tH�hX��=���C`H���H��H��[]�1�H��H��[]�@��H��t'H��tH�GH�H��tH�GH�1�H��t
H�WH�ø�����f.���UH���`SH��H��)�H��H��t]H�xH��H�HǀXH��1�H)���`���H���=��H���H���H�k(H��8H��H��[]�L�^!1�1Ҿ��(����@��H��tGUH��SH��H��H�`H��t	H�;)�H��tH���L+��H�C`H��[]ÐH�C`H��[]Ð�ff.�@��H���SAVAUATUSH��H���H��t�_��H���H��t�fK��H���H����D���E���H�-�)E1�@N�,�I��I�}�UL��UD9��H����UH���H��t4����~'E1��J�<�I��背��D9�H����UH���H��t蟦��Hǃ�H���H��t胦��Hǃ�H���H��t@L�'�UL��M��u�H�� H��t<��(�����,��~!E1�J�<�I���UD9�,H�� �UH���H��t[�����~NL�'M��tFA�E1��f�N�$7I��M��t%L��H��A���d���L��UD9��H����UL��8M��tI�<$H�EH��t��H�EL���H��H��t��G��H�{`H�EH��t��H�EH��[]A\A]A^��fDH�-�)�T���@H�� H��(����H�� ������H�-�)����ff.����H����ATUSH��H�XH��t�S`����H���H��t�,���C8��tH�{0H��t袊��H�C0�C8H���H��t?L�%)H�}I�$H��t��I�$H���H����F��I�$H��[]A\���L�%�)����%��H���H���g����g���fD����AWAVAUATUSH��dH�%(H�D$1�H����I��H�����H��H��H��A�č������wH��Hc�H�>��fDE1�H�t$dH34%(D����H��[]A\A]A^A_��H��<��H�C@H����H��A��E��t�E��t�E1�H���vG���@H�H�5;�W�����X�C4���>t
L�npM���MH����H�=����Y��I��H����H�KH�s(jL��jA�L�C8L�����ZY�����H����L��A���O���DL�8L�w�"���t�!��@��L��L��H���;���������H��tJ�;H��H�
����HD����H��H�S(L�JOjQPL�KL�龵H�����H�� A���^���I�������H��A��H�{8�fL��A��u���H�{H�5��U������H���C4A���J���DA��H�����H��H�S(L���jL�PNH��jjL�K�h��H�� ����H��tH�H�5�H���}���DA��������DH�{H�5
�T�����0�C4���@I�UI���H��H�$�u���H��H�S(L��jL�YMH�پ�jPL�K���H�|$ H�� H�������H�4)����DH��us��L��A������D������@H��tH�#H�5L������x@��L��A�H��A����IH�H�5��H�81���������;�ɀ��H��H�S(1�jL�L��L��jPL�K����H�� ���f�H������H��H�S(L� MjjjL�K���H���x���H��KH�5EH��A����������\&��ff.���������H��t
�Wh1���������H��t'H�wH�WH�OH���H��t�:I��f.��ff.�@��H��t'H�wH�WH�OH���H��t��E��f.��ff.�@��H��t/H�w H�GH�GH�WH���H��t�B��fD��AWAVAUATUSH��dH�%(H��$�1��>�Y�FXH��@���O$L�fp
@H���FX��$��F\M���dA�$��tA�D$Z@�dL���M��u7HDŽ$��^f.��@�uM�}����M��M��tI�}�?�GXu�M�}M��M��u�HDŽ$�L�cpM����A�$��t���A��$�-��SX��t	��������A�D$X���TH��$�L��蔆��jL��K1�jI��H�ھ�H���T�H��$�^AXH���PH��)��E$9�$����E ��H�pH�������?�����H���H��t�H�PL� I�UM������M���H�!)��H��tmI�L$H�HI�I��L�8M�$$M��u����DH����6I�}�GX�w���@1�H��$�dH3%(��H�ĸ[]A\A]A^A_�D�E$L�41�1Ҿ��J��������HDŽ$��;����tf���
L�{xM����I��DA���.��A�FY@��M�vpM��u�H�:H�5�H�������2������@��L�k8M����
A�E��������
A���-��
A�UX�€�;�€��
I���H��u��
@H�H����
H�p�FYu�H��$��E���jL��J1�jI��H�ھ�H����H��$�A\A]H��������E$����H��L���5L���M�������������W�������Xf�H��$�L��调��jL�HjI��1�H�ھ�����M���I�uI�T$H9�t1�H���5����M�mM�$$M��u�L�cx�M�����A�$-���vH��L���H������1�M�d$M��uӅ������L�kxD�u$L�cM��tmH���H���7H�U@H�P(�L��H��H��L���GS������d���M�mM��u�H���H�@(�E$A9�t�U ����8������6���L�cpH���I��$�I��H��u�f.�M��M�.M��u�H�D$E1�H�=�uH�D$ H�D$(H�D$H�D$H�D$hH�D$p@H�r�-���wHc�H�>��fDH�t$H�H��u�H�|$��M����!�H�|$(��H�|$ A��A!�M��A��H����H�D$HH�=uH�D$`H�D$8H�D$XH�D$@H�D$PHDŽ$�H�D$xH�D$0fDH�q��������Hc�H�>��H�t$�6���fDI���(����H�t$h����fDH�t$(����fDH�t$p���fDH�t$���fDI�������H�t$ ����fDH�t$@H�	H���L���H�|$0A��E!�M��tH�L$HL$�J	���j
E���	
E����H�D$H��tH�t$@H����H�D$H��tfH�t$PH��t\H�v8H�x8�� ������n	���~��t9H�D$P�H0��t-H�T$E1ɾ�H��L�.JH�J(jj��XZ�M����H�|$�{
H�D$I�}8H�p8�q ������������H�|$�H�D$I�}8H�p8�A ����������M���H�D$(H��tH�p8I�8� �����������QH�D$8H��t'H�p8I�8��������m���B���[L�l$HM��t7I�u8I�8�������<���tA�E1�L��L�������H����H�D$XH��tH�p8I�8�t������������L�l$`M��t8I�u8I�8�K���������tA�E1�L��L���H���!��H�D$H���"H�L$ H��tH�q8H�x8�������������H�D$HH��t,H�p8H�D$H�x8��������T������/H�D$8H��t$H�p8H�D$H�x8�����������L�l$XM��t>H�D$I�u8H�x8�i���������tH�t$E1��L��A�H���=�L�l$`M��tCH�D$I�u8H�x8�!���������t#H�t$E1��L��A�H����DL�l$ M���M��t4I�w8I�}8��������W���tE1�E1������L��L��H����H�D$`H��t,H�p8H�D$ H�x8�����������o����H�D$8H��t$H�p8H�D$ H�x8�W�����������H�D$XH��t$H�p8H�D$ H�x8�)�����������TL�|$HM��t=L�l$ I�w8I�}8�����������tA�E1�L��L�����H������L�|$(M���2L�l$M��t4I�u8I�8�������2���tE1�E1������L��L��H����H�D$XH��t,H�p8H�D$(H�x8�h�����������}����H�D$8H��t$H�p8H�D$(H�x8�2����������L�|$`M��t<L�l$(I�w8I�}8����������tA�E1�L��L��H�����L�|$HM��t@L�l$(I�w8I�}8�������E���t A�E1�L��L�����H����@H�|$p��H�|$xA��A��E ��H�|$h�J
H��$��;
H��$�H�p8H�D$hH�x8�<���������������H�|$p�{H�D$pH�p8H�D$hH�x8�����������M��$�M��thL�%YDf�M�WA�
�������v>H���H��u�eDH�H���TL�hA�U9�u����	@M�?M��u��KX��@������H���H��t�H�P�:���	H�H��u�H�spH��t?�����-t4�>��
H���fD�����-t�8��
H�@pH��u��NXH�Cx�������1�E1�H������)fD���t����D�H�@H��������uӹA���אH�t$P����fDH�t$0���fDH��$����H�t$X����fDH�t$x����fDH�t$H���fDH�t$8���fDH�t$`���fD������L���M��u ���@��M�mM���(I�}�?�GXtܩ@u�H���(I�}�GX��@jE1�L��j1�H�ھ�H�����Z�E$Y�R�fDH�v8H�x8�c���������������A���H�D$@D�@0E���/���H�T$��H��E1�L��AH�J(jj�#��^_����@H�|$0����L�l$0�c���f���$�H��E1�L��I�M(D��$�L�}@��D��$�jj����_AXD��$���$�D��$��[���H��<H�5�H�����������DH��H�5�AH�����+�DL�cpA�<$�A�D$X�@�`	���CH��$�L���Kv��jL�Z=1�jI��H�ھ�H�����H��$�A[[H����H�`)���f�A�UX��@�^�H��L���'�J�H���/���H�D$pE1�E1�1�H�D$hE1�E1�H�D$H�D$ H�D$(H�D$H�D$���DA��$�.���H��$�L���au��jL��9I��j��fDjE1�L�j�s���DH��$�A�L�-�:H�D$H��$�H�D$��M�M����A�7L���h����u�H�|$H�SHH��HDŽ$�HDŽ$�軺��H�|$1�L��謺��A�?H���l��H�sHjH��jE1�E1���Q1�P��$�AU�	��H��$�H��0H��tH��)�HDŽ$�H��$�H��t	H��)�E1��5���DE������f�A���A����A��H���	���fD��t�KXE����KX ������KX���H�D$0I�}8H�p8�������������]�H�T$0A�E1�1�L��H���b��H�D$0D�X0E���0�I�M(jE1�L��=jL�꾵H���>��AYAZ��DH�D$ D��$��8�j��H�L$(H�Ƌ9�j��L�=H��H��H�I(jI��V������XZD��$���@H�D$D��$�D��$��8�Lj��A�?H���Aj��I�O(jL��VI����L��<H�����Y^D��$�D��$��5����H�sp�KX�^���fDH���(��H���i
I�WH�H�PM����I�I�����fDH�|$@���H�D$@H�D$�j�DM�d$8M���A�$��t���	A��$�-��M9�t1�L��L��H���t#���
L�cx�M��u�/�f�M�d$M�����A�$-���v�H��L���H���A���1���DH�|$P�
�H�D$PH�D$���DH��$�H��H���Eq��jL�$91�I��jH�ھ����H��$�L���q��jL��61�I��jH�ھ�������KXf.�H�sp����L�cpA��$�.L����A�T$X�€����H��$�L���p��jL��51�I��jH�ھ��C���fDA��$�.������H��$�L���Hp��jL��61�I��jH�ھ���A�B4A9E4��A�J0���^���A�B4A9E4�P���I�M(jL��E1�jM�ྵH������XZ�+���������KX��
�CX�����H���D�@Y@��H�@pH����	�����.u��y�f��R4�������������������������H�sp�KX�+���H��$�L���;o��jL�R51�I��jH�ھ����H�D$HE1�H�D$`H�D$8H�D$XH�D$@H�D$PHDŽ$�H�D$xH�D$0�C�H�T$8�����L��H��A�A��q��H�D$8�@0�����I�O(jE1�L��8jL����H���O��A]X�k�H���I�������������.�����KX����H���H��tAH�pH��t0�FYt*H��$��n��jL�&61�I��jH�ھ���H�H��u�H������jE1�L��1�jH�ھ�H�����A^�E$A_�T��L���M���6��8uL���M�����H�@pH��u�L�%�5L��H�5k�H���Y��M�mM��u����H�|$pu
H�t$xD��H�t$pH�t$hH��$�H��HE�H�L$hH�|$h���������H��$�L����l��jL��31�I��jH�ھ���H�T$HH�t$�����A�A�H�����H�D$HD�X0E�����H�T$E1ɾ�H��L��6H�J(jj�^��AYAZ��H��1H�5q�H���_���������L�T$I�M(H��E1�j��L��6L��j���^_L�T$����H�D$xH�p8H�D$pH�x8��������b����������
H�|$htH��$��T�D�����H�T$@H�t$�A�A�H������1�H�T$E1ɹL��A�H���\����H�T$PH�t$�����A�A�H���4���^�H�T$E1ɹ����L��A�H��������H�T$`H�t$ �A�A�H������H�D$`D�@0E���d�H�T$ ��H��E1�L�@5H�J(jj����^_�9�H�T$(E1ɹL��A�H�������f�1��91��H���H����H�MH�UH��H�u�%(��H�UH�u(H����Q9��H����~�L�kxM�����L���H�IH�����9�t�H�ھ�H������E$����E$������� �KX��H�T$XH�t$(�A�A�H�����H�D$X�H0���X�H�T$(E1ɾ�H��L�4H�J(jj���XZ�-�H�T$X�L��H��A�A��Z�����H�T$ H�t$E1�H��A���5���G����KX�2���KX�$�A��$�.L���x����K���H�T$8H�t$�����A�A�H�������P�H�T$xH�t$p��H��A�A����H�D$x�@0�����H�T$pE1ɾ�H��L�
3H�J(jj���A[X���H��$�L���h��jL��01�I��jH�ھ��N�H��$�H�t$h��H��A�A��'��H��$�D�P0E�����H�T$hE1ɾ�H��L�{2H�J(jj���AXAY���H��H�5W,���������R��E$L��2�{�H�T$8H�t$ �����A�A�H������K�H�spH��$�HDŽ$�HDŽ$��g��H��$�L��I���g��H��$�L��I���qg��AVL��.1�ATI��H�ھ�H���1��H��$�AYAZH��tH���(�HDŽ$�H��$�H��tH�g�(�HDŽ$�H��$�H��������H�T$XH�t$ �A�A�H�������H�t$xD��H�t$p���D�u$L�c��H�spH��$�HDŽ$�HDŽ$��f��I�t$H��$�I���nf��I�uH��$�I���Zf��AVL�	/1�I��ATH�ھ����H�T$8H�t$(��H��A�A��������H�T$pH�t$hE1Ƀ�A�H������������H�H-H�5�H���������+�E1�E1�H�
�.1���H���u�������{6���AWAVAUATUSH��XdH�%(H�D$H1��>tQ�FXH��@uDI��H�np�$
@�FX�|$H���x�}D�eXt
A��@��A���D�d$t,1�H�\$HdH3%(��H��X[]A\A]A^A_��D�C\H�spD��H�t$��������t
���-��L�{8�CXM����	A�?��
�C\1Ҩ�M	H�{pH�|$���@H�|$��H�D$�8tH�D$�@Z@��	H�D$L���L����CXM���LH�����uM���L��H��L����������?I����E���_M���d�CX��A�GE�t$��E���L�G�E1�L�l$(M��H��A��H�D$ L��M��I��I�EJ��H���/E����L�RI�H�t$ I�zH�4��
H��H9���H�H�IH;yu�H�IpI9Jpu�@I��E9}�L�l$(M��M�����CX���H�D$H���H��tyL���M����	A�F,;B,����uXI�~0A�F,H��t&L�%H�(�H�/A�$H��H��u�I�F0I�~8H��tH��(�I�F8�L�spM����A��ƒ�t����A���-���CX��
L���M��tA�o�����ƒ���A���-��L9���$A�FY�,�D$A9E$�����A�E ������������H�|$�G\�ƒ���P�SX�����	���f	H�D$H�x8�z������
H����qH�D$H�|$@H�D$@H�PH�����`��jL�.jI��1�L��H�ھ�R��H�|$PA\A^H���\H���(�A�E �fDL��H���]D�eXA���D�d$������"���f�A�D$1� ���A�t$L��L��H���L_��A9l$~UI�$L�4�M��u����I��H���H��u��g�E1�L��H��L���W�������1�����A�G�Dž��E���L�%��(I�?I�$H��t��I�$L����Hǃ�����@H�D$���-�H����CX��	A���j����E�������-�������CX��H����~���f�L���M���YA�o���L��I�?H�D$@D�d$Lc�H�D$I��L�l$J�47H�N����f�D�m�L�AIc��H������cH��H�RL;Bu�H�RpH9Qpu�H�D$@H�|$�(a��H��H��1�jI���L���jjH�|$(����H�|$`H�� H��tH�{�(�H�D$@��L����������DI�?I��D��J�47H�N���>���H�A`H��u�CH�@8H��t/���t(�����-t��u�����-��w����A��y�L�l$L�spA��CX�%�����tA���-��A�FY�M���L��H��1�A���L���L����aAXAY�����A���-���C\�ƒ����A�F\�ƒ���l��uI�~8�%w���������jE1�L��2j1ɾ�H��L�����A�E Y^���tZ�������f.��KX��z���@H����N���jL��)jL�KL��1�H�ھ��Q��_AXfD�KX�������-����H����CXH��t���}\����H���H������f�H���H�5�.L��1��������C\�T���@H�h�H�5�.L���������DM��u"H�T$�|��H�T$H��I��H����1����L����Z��������M������H�rH�E��L�VH�|���H��H9������H�L;Qu�H�IH9Npu�����H�A`H�������G���fDE��uCA��`����M������������A�T$1�1�����������f�H�D$@H�|$�}]��H��H��1�jI���L�+.jjH�|$(�U���H�|$`H�� H��tH���(�H�D$@��L���K��������������D���}\���t�C\L�s8M��tI�FH��t	�8�LH�E8H��tH�HH��t	�9�q����I�WH�BH�CpH�D$�\���@L��H�������i����g�������C\��-����E\�C\H�E8H�C8H���H���H�CpH�D$����A�FY�kH���H��t
I;���&����C\���hH�{8�sA�V\������9�u������jE1�L��-j1�H�ھ�L�����AZA[A�E �K���I�O��r���t���+���A�w ������DH�y������������tKH�sH��L���r���I��H���.���H�KHI�u@�L���Q��I�GH������L�{8�CX�C\���@H�������}\�:��������t��u
���-�
���jL��(jL�K���fDH�D$@H�VH�|$@H����:X��H�KHL�/$jI��j�Q���H�D$@��tYH�D$H�|$@H�PH����W��jL��%jI��L��1�H�ھ�i���A[]H�|$@H�������o���H�D$@H�D$H�|$@H�PH����W��jL�&I��j�H����KXH�����������L���M���$Hǃ�H��I�u@L�KH1�jL����L���5|��AYAZH��H���m����A�>L�ppH�CxH�ExH���H�CxH���Hǃ�H���tA�FZ@��H��L���/������������j���H��L�������������N���H�CpH�D$��@��t�H�Cp�C\H�D$��M�~0H�j0M��A��H����A8�t/I�~8L�B8H����M����8�tH���qI�@H9G�cM����I�~8L�B8M��H����H�GM���(I9@�H�G���H�D$H�|$@H�D$@H�PH�����U��jL�1"I��j���H��H�SHE1�L��*jjjH�پ�L�����A�E H�� �k���H�sH��L����|��I��H�������H�KHI�u@�L����{��I��I�GH�������L�{8H�E8L��H�sH�H$�P �|��I�D$I�GH�@H���S���H�U8H�RL�pH�PH�CpH�D$�
�H��H�SHE1�L��)jjj�1�����I���H���H��tH�xp���jL��#jL�K����D���o�P����d�����A�~\���jE1�L��*j�-���@��u����-��������I������A�~\���H�{8�����jE1�L�(j���H��E1�L��&1�jH�پL��jj�Y���H�� A�E ����H����H����M��M��IE�LD�E1�1��%DD��!�I;At+���OH�mH��� H�EH��u׉�A�����D�������jE1�L��'j��jE1�L�'j����H�D$@�&���L��L����O���H���H��H��E1�L��#jjjH��1ɾL���k���H�CpH�D$(H�� �	�H����G��H��E1�L�c$jjj�L��M������H�������H�NH9MteH���H9HtZH�H��u�f�H�UL��f�H;Pt,H�H��u�L���J{��H�������H�UH�PI�V0H�I�F0H�mH��u��8�H�6H���|����'�M����I�xtL��E���W���I�x��E�����I���L����H�}�4H�mH��u�H�����M��t!L�%��(L��H�/A�$H��H��u�I�F0L���}z��I�F8H�����H�@�{�H���R������f�D��������M��t!L�%V�(L��H�/A�$H��H��u�I�F0I�~8�nI�F8H�@��A�F\���������wI�~8��j�����t�jE1�L��&j��I���H���1�L������A�H�D$8��H�D$@���I���H�|$@�S��H���H�|$8H���R��H��1Ҿ�WI��L��L��%jjU�ա��H�|$XH�� H��tH�P�(�H�D$8H�|$@H��t	H�4�(�A�E ��H���H�53�L���þ���V�M���H����H�����M�����H�}����A�F,�����D���HD	����H�����M��t-L�%��(L��I��H��H�/A�$H��H��u�I�F0H��L��L��H�T$�Qx��I�F8H�����H�T$H�R8H�RH�P�F�A�F,M����L�%6�(L��H�/A�$H��H��u����jE1�L��%j���H�7�H�5�!L��覽���9�I�xt	E����H�����H�������������L���w��I�F8H���}������A�F,M���s�L�%��(L��H�/A�$H��H��u��I�I�vE1�E1��H�
!L���l^���O�jL��jL�K�p�L������A�F,뙐H��t+�>H��uF���t�GX%@u��t��t ��1��DH��H����DH��H�����H��H��H��$H�50��s��������H���f�H9��gAUI��ATA��UH��SH��H���>t
�FZ@���}t
�EZ@�
��A��uH�spH��t�FYtH��[]A\A]�DH9����>u	���-tD��H��L���s�����t~�}ti�EX���H���H��u*�fDD��H��L���:�����tEH�mH����H�U�:t�BZ@u�L��H��������tBH�U�@���.u��CX�t�H��1�[]A\A]�@H��H���U�����������@���������fDL��H���-�����������f�H����[]A\A]�1��ff.�f�AWI��AVM��AUATUSL��H��H��$�H�|$�t$<H��$�H�L$H�D$(dH�%(H��$�1�M����A�@�����D$<L�-;���H�G@LD�H��$�E1�H�D$ H�D$hH�D$PH�D$dH�D$@H�D$xL�l$H�D$HH�N�,�M����A�V����I�}I���H�OH�t���H��H9���L�I�QH;Ju�L�ZpL9_pu�A�}0uA�y0��H�w`H�R`1�L�L$0H�|$�I���L�L$0����H�t$H�|$ H�D$pH�D$xHDŽ$��/M��L�L$0H�|$HH�D$XI�AH�p`�M��H�|$pH�D$0I�EH�p`�L��L��H���q?��L�T$XM��L�
"��AR�t$ H�L$@QL��RH�|$0H���`���H��$�H�� H��tH�8�(�H�D$pH�|$xH��tH��(�H�D$xH��$�H����I��D9c�r���f�M����E�^E����D�T$<L�%^>H�l$@H�=�E��ID�E1�H�D$H��$�H�D$ H�D$xH�D$0@I�N�$�A�|$0uYH���h�S���]M�D$H���I�pH�|���H��H9��3H�H�RH9ru�I�HpH9Jpu�@I��E9n�H�l$@1�H�|$(t5H���9�},���sH�D$�8�9H�\$(1��M(9K(�H��$�dH3%(�"H�Ę[]A\A]A^A_�f�H��tI�EH��H�pp�;����thH�t$H�|$ HDŽ$���J��L��H���a=��jM��L��jL�
� ��RH��t$0H�|$0�Y���H��$�H�� H��t	H�1�(�I��D9c������,���@H�t$H�|$ H�D$xHDŽ$��dJ��H�|$0L��H���TJ��H��L��1�jI����L�� U�t$0H�|$0�+���H��$�H�� H��tH���(�H�D$xH��$�H���W���H���(I���E9n�����E���H�T$PH�t$@L��L�L$0�d7��H�|$h�����|$dL�L$0�	���H�T$HH�t$@L��H�D$x�-7���D$d��tH�D$hH9D$x����H�t$H�|$ HDŽ$��ZI��L��H����;��jM��L��jL�
��RH��t$0�i���H�\$1����-����H�\$(1��M(9K(�������H�D$(H�@8H��tH�U8H��tH�ZH9X�h���H�D$(H�H0H��t/H�u0H���=H�QH��f�H;P�PH�H��u�H�\$H��$�HDŽ$�H���F���;H�����3�j9���t$<H�j�L�
x:L�9���LE�H��1�jQL��P�gH�\$H��$�HDŽ$�H���VF���;H�����b�9���T$<L�
:�L�$��H���LE�H��1�jQPH�L$(H�|$0�Ɩ��H��$�H�� H��t	H�>�(�H�D$�@ �M���H�t$H�|$ HDŽ$��G��L��H���9��jM��L��jL�
��RH��t$0���H�	H�����������H�\$H��$�HDŽ$�H���dE���;I����tT�8��H��D�L$<A�?H�5#9H��E��HE�����7��I��H��1�APL�uQL��V����H�D$H�
����-H���HE��H�D$H������-H���HE����H�E8H������H�@H9A����H�	H��u����A���-L�
��H�z�LE��X���H�D$H�e����-H���HE�������@���t��u���-t����fDH��A��A��A��A��A��H9�uE��tNE��t�FXu<D��E��t�FXu3H�vpH9�t,���t��tȃ��-t��D���-u��Ð1��ff.�f�AWAVAUATUSH��(dH�%(H�D$1�H��t�GXH��A��A��t+H�D$dH3%(�H��([]A\A]A^A_��L���
H��L�o8�GXM����L���y����CX��L9��&I���tL��L���:��I��H���H���L;h8t8A�FX�L��H�����Eʉʃ��E�I�V8�h������H�����E�MA���dA���BA���PA���-�BL�SHM�����CX��L��H�5o�����E�MI��L���L���A���uA���-�_A����A����A�E\���u/I���jL��L��jA�H���`��ZY�����U���E���L���L���M���<����CX�2���A��A�uX��� �WM�E8L�S8M9�����%AEĉ���E�L��M��tJf��zXA��A����t��u��E��t�ρ���D�H�RpH��tI9�u�I�RpH��u�V@H�RpH��tI�:t	���-u;�zX��tA��A���AD���t�ǁ��D�I9�u���t"�t��ud�t��uU@H��t:L�u0I�~0H����I�U`I�u�e��I��H����I�~H����=��A�uX��u
��A�uXM���M����������f�jH��E1�L�ij1ɾ�H��A���ڧ��XZ����I��H�|$L��H�D$H�D$��?��H�|$L��I���?��jL��H��ATI��L�R1ɾ��~���H�|$A_XH��tH���(�H�D$H�|$H��t	H���(�A���l����H������������DA���-��
DA�E\���uLI���H��u�>fDH�@8H��t/���t(�����-t��u�����-��w��L�SHM���f������fDL�u0I�~0��H���(��I��H���H�@L�(�^��I�FH��t6H�E0I�U`L��I�uH�x0���������H��H�5A�H���H���L���P4��A�uX�����L���fDH�@8H�����������~��������-�o�����uԃ�����-��w��T���fDL��H�5ئ�i��E�MI���x���DA�E\�ƒ���������uI�}8��V�����q���I�MHjE1�L��jL���H���N���AXAY���DA���-�G���jL��H��A�jL��L�����^_�R���jE1�L��1�jH�ھ�H����AZA[����H���|���H��H���H�5����H��H�5��H���˪���K���fDA�E\�ƒ�����������f�I�v8H�|$H�$H�D$H�D$�x<��H�|$L��I���h<��H��L��I���Z<��AWH��1�ATI��L�OH�ھ�����H�|$A\A^H��tH�u�(�H�$H�|$H��tH�Z�(�H�D$H�|$H��t	H�>�(�H���A���6����X���L���L������DH����
���I�F0H�E0H�x0����O�����L��1�1ҿ�^��A�uX��������AWAVAUI��ATI��USH��H��(H�n(dH�%(H�D$1�H����H������������@L�|$H��L����H�������I��H����H�����L��H�D$H�!�(�H�t$H���Ҩ��H�|$I��H��tH���(�M����H�{(H�t$L���M��I�EH���eM���A�t$XI�T$8�������"��H��H���������H�D$I�EL��H�PH����o9��H��H��1�jI��L�j1�j�<j躊��H�|$0H�� H��t	H�5�(��ChI�E�*fD����H��1Ҿ I��H���}���Hc��H���H��H���H�L$dH3%(�IH��([]A\A]A^A_�1��@H��� ��H�D$���fD�JX���Eρ������BZ��������@H�T$L��L��H�D$�W8���H����H��H��I��jL��H��1�j�;j蔉��H�|$0H�� H��t	H��(��Ch�	���D����H��I��1�jH��L�A�H��j� j�@���H�� �����H�H�5DH�߉D$�X���Hc��H����D$H��H����������AWAVAUATUSH��XH�O0dH�%(H�D$H1�H�A(H�$H���mD�hE���rH�A I��H��H�D$H����
H�$L�p8M��t{H�l$@L�%7M�nI�N(I�V I�~0A�u�,��H��H���jA�E�����7�����[�FX�@��
@�FXI�up�M�6M��u��H��L�����H�$ILJ�H�@(H��HH��I��H�\$�L$0�����A�H�\$(�D$4H�\�H�D$@H�D$ �K�=�u/H�UH�uI�@��=��H�����A� ���I��L9���I�m�E���M�������=�u��E��u�H�}u�H�} L�eM�w@H�|$M����M����I�v��������I�~`�������H�|$I�~`�(H�t$���H����H�@PL��H�xH�y��H����H�E������P�����������L�eHI�L$H��H�L$���M�w@L��M��tHI�D$ I�vH��H�D$8�2��H�L$����I���H�����H�L$H����H�uHI�ƐM�t$H�FH�����8�]�p@9u@�q���H�D$@H�|$ H�P H�p(�n4��H��L��H��jI��L��1�j�j踅��H�|$`H�� H������H�/�(���������������������H�}p�����!�EX�����@����H�}8�����H�u`H�������H�UhI�@�YG��H�E8H��t������������L�MhL�E`H��L��H�E8H�UHH�
z�jj�—��Y^�S������U���L��H��褘��A� ��<���fDH�$H�@(A�����H�$H�L$H�{0H�K �@H��tH�5*�����H�C0H�$H�x8H��t&H�-�(DH��UH��H��u�H�$H�@8H�t$HdH34%(D���"H��X[]A\A]A^A_���Ex���|�����H�}`�Ex�k���H�u0H����H�U8I�@�	F��H��� ���t������-�H�E`�"���f.�H�mH��u�
���f�H�mH�������L�eM��t�A�<$�u�H�EI�L$ I�T$A�t$I�@�i��H����8trH�E�@L�eM�������A�<$������I�T$ I�t$I�@�:9��H�EH���u���M�L$ M�D$H��L��H�U(jH�
oj蹕��]A\�I����H�PH���3����:�x���H���2&��H��E1�1�jL� H��L��j�j茂��H�� ��H�UhH�u`I�@�D��H�EpH�����E���������u���-���@H�E8H��������8�����L�`M�������A�<$������H�@I�L$ I�T$A�t$I�@�g��H���P
H�@H���6
H�}8�8H�G�@����$�6����9%��H��E1�1�jL��H��L��j�j蓁��H�� ����f.�I�~`H�L$�r�H�L$����H�|$8I�~`H�L$�
H�t$8���H�L$I��M��tI�FPH��H�������I��H�uH���f���u+�F8I�~�uk���F8H��tH�wI�v�����H�IH�5jL���
������D�FHI�~�u ���FHH��t�H�wI�F�y���I�~H�D$@H���N�#��H��I���s1��H��M��1�jI��L��jjL���	�Q���H�|$`H�� H������H�Ȼ(������H���#��A�T$1�L��M�L$ M�D$jH�
;lRH�����AZA[�i���f�H�D$@I�~H�����U#��I�V I�v(H��H�D$�P.��A�}H�������!��I��H��L��jjQ1�H�T$0�.���@A�G$L�d$H�l$@��tYE�o H�$H�@(����D����w.H�QpH��tH��L��蔘��E�o A��������E�O$E��u�I��L9��@I�$�����v���u�H�AH��t�H�pH���$��I��H��t�H�D$@H�Q H��H�q(�a-��L��I���F"��jL��1�jH���L�&�ɕ��H�|$PA^XH��t	H�%�(�I�E�B���fDH�qpH���/����AH�%���H�VH���
G��I��H���
���H�D$@H��H���}-��L��I���!��jL��1�jL��
H����5���H�|$PAZA[H��t	H���(�I�E����H��H�p H�$L�p8M���M�������L���E1�M����H�\$L�l$8�W@���'H�UHjI��L��jM��H�
B�H���g���_AXM���I�I�$I�H���(L��I��M��t6I�FI�@H�XL�h H��L���r?��H��t����u�I�FM��M�6M��u�H�\$L�l$8L�u8M��u ����I�$M�vI��M���l���H�]�(��H���YL�pH�M��u�H����H�uHE1�����L�M8L�E0H��L��H�UhjH�
j�j�n���A^X��fD���-����I�FM��M�6�8���@I�H�������E1��
����.��H�E`��I�~���A���-L�
R�H�y�LD��e���L���+���L�ML�EH�Ujj1�L��H�
h���^_�U�A�W$H�L$��t=�U���H�B�$DH�PH��t�:u
H�RH��tIH�PH�@H��u�H��H9�t[H������w��A�G$L��1�1Ҿ�������H�@H�@�I�~HL�����H������:�H�l$�
�H��H9�t/H�u�>u�FH����u�L���k���A� �u��L���@A�O$H�l$(��t�p���fDH��H9���H�u�>u�F[ u�L��講��A� �u����DH��E1�L��	1�jH��L��jj�z��H�EHH�� H�@���L�N L�FL��H��H�UjH�
�j�+���AXAY��H�5����H�L$I�����H�u �EL�eH�t$H�U(M��jPL�L$ ����A�w$1ۅ������H�l$D�d$0�H��A9�~^H�t��>u�H���H��t�FX�tL��蛓��A� �u���L�MhL�E`H��L��H�UHjH�
�j�j���AYAZ��A�$1ۅ������H�l$D�d$0��H��A9���H�t��>u�FZ@u�L��蛠��A� �u��|�@A�O$����I�G0H�X8H��uG��f.���u'L�BpL�Ip�qP��rPL���@��A^Z�����H�H����H�KH��t�H�S���r�w�H�A��E�G$1�H��E������L�d$D�l$0�H��A9��M�4�A�>u�I�V`H����I�NXH��H��u�H�@8H��t(�8��t!�����-t��u����-��w�I�vhjL��M���jA�躱��_AX��t,�H��E1�I��L��j1ҾL��jj��w��H�� A� ��9�����H�5a��h�����H�E8��H�}8�
��A�T$1�L��M�L$ M�D$jH�
�cRH���G���H�E8XZ���E�O$1�H�-3E������L�l$D�t$0�fDH��A9��KM�d�A�<$u�I�L$8H��t�I�D$H�����8��H�xXt�@ytA�D$ �uI�|$@tqH�P`H��H��u�c�H�v8H��t(�>��t!�����-t��u����-��w�I�t$(jA�M�D$@jL���3���ZY����I�D$H���H��t
�@x�
A� �������H�$E�o$H�@(E�������E�o �w���-�����H��E1�L��1�jL��L��jj��u��H�� ����E�W$H�D$@E1�H�D$(E��t�G���DI��D9t$0��H�D$J�,�}u�L�epM��t�A�\$��~σ��D$I�$Hc�H��H�D$ H�D$ H�4L�F����D�k�I�xIc��f.�H�������H��H�RH;zu�H�RpI9Ppu�H�D$@H�|$(�&��H��H�U@L��jI��L�ܵH��j�j��t��H�|$`H�� H��tH�[�(�H�D$@��L����N�����tVI�$H�l$ D���3���I�@`H��u�9@H�@8H��t$���t�����-t��u�t6��-��wӃ�A��y�A� ���������I�@`H��t��D�\$E�����D$�A�O$�����I�G0H�X8H���8���H�$H�P(H�ЋL$41�H���DH��H9���H�
H�4)�>u�FZ@u�L���Y���A� �H�$���H�P(H���H�D$@H�|$(�$��H��H�U@L��jI��L�<�H��j�j�cs��H�|$`H�� H��tH�ޮ(�H�D$@��L���YM�������������A�$�����H��H��R��~F�B�I��H�l��fDI��I9��1I�<$�?u�GZu�L���l��A� �u���E1��#�x@APE1�L��jjjL��1ҾL���r��H�� �H���E1�VL�cjjj��H���H�55L��譏������jE1�L��j�L��1�L���h���^_��I�|$@�)�������I�D$I��L�HXjj��A�$tH�$E�o H�@(�c��о��H�$�t$0H�P(H�Ѕ��������t$4���H��H�5�L���������A�$L�%ft�9��H��H9��`���L�+A�}u�I���u�A�E\����w�I�Gx���I�GxH����H��虯��I�u8L��I���覼��I���I�x���I�x�
�I���H��tPH��虯����t"I�MHjE1�M��jL��L������AYAZILJ�I�x���I�Gx�)���I�MHjL��E1�jL�D��L���χ��A[A]�����M�mL�0�X��L��H�5�H�81�A���������H��tH�w(H�WH���H��t�~�fD��AUATUSH��H�����B4I��I��H������H�z ��H�0��H���H�z�B��H��H����H�C0H�KL�m@H��H�SH�sH�E0����H�SH�s(H���'���CHL��L��H��EH��	A�ą�u,�E$C$H��EH�CHH�E0���H��D��[]A\A]�f��C ��H��E1�[D��]A\A]�H�԰H�5��蔌��A������H��t�H���H�5��A������n����H��t�H�PH�5x�A������N����y���f�AWAVAUATI��USH��(dH�%(H�D$1�H��H�D$H�D$��M������AH��H���5I�\$XI��A��L�=��H��u�h@H�xL���d���u@H�[0H��tKH�CHH��u�H�{H�5�{�>���u�H�{H�5��*���u�fDH��H���%Y��H�[0H��u�L��H���р��H�5۩L���"��H��H������\��H�L$H��H��H�������t5D�} E����H�L$dH3%(D����H��([]A\A]A^A_�f�I�|$@L���ӷ��I��H���H�|$H����L��H��H�
�(�H���RH���H�޺�����^���H��H�D$H�ߨ(�H�uPH�|$������H�D$E1�E1�1�PD��H��j���ATH�T$(�oy��H�� A�Dž��(���H�T$H����H�z ��H�zH���H���cH��������UH�T$H��t#�z4��uH�z tL��H���J���f.�I�\$A����H�������H�{HtH�{H�5U��A�����L�
���DL�L$A���)H��L��L�s�1�j�	H��jj�l��H�T$0H�� H��t�J4���EI�\$A�	H���L�5ӭDž�H���m��@H�{L��������H�{H�PH�{H�5���y�����H�{H�-H�{H�5��V����H�{H�
H�{H�5���3�����H�{H��H�{H�5=�������H�CHH�5�H�x�������H�{H��H�{L��������=H�{HtuH�{H�5ߧ������H�{HtVH�{H�5)�������H�{Ht7H�{H�5ɨ�x���� H�{HtH�{H�5���Y����1H�[0H���\H�{H�����HDž�L�
�Dž�E1�H��L���H��A���Ag���D���@H�ҥL��H���f�������H�CHH�5�H�x����������+����H�CHH�5ŮH�x����������&����H�CHH�5��H�x�|����#�������L�L$A���IjL�X�L��1�j��H���|���A[[�o���@H�CHH�5=�H�x�����(�������H�CHH�5�H�x������>����H��L��H���i�����@H�CHH�5ݭH�x�����%����H��L��H����=���K���@H�CHH�5��H�x����������L����I�D$@H�|$H������H�����f�H�CHH�5]�H�x�<�������H��L��H���i�������H�CHH�5-�H�x���������H��L��H���f9������H��L��L��1�j��H��jj��g��H�T$0H�� H��t�B4A�����"���I�\$A���=���fDA�	����DH�CHH�5��H�x�t����3���H�[0H���&������f.�H���7D�B4H�rE������A�E0A��A��t^L��H��E1�������jL��L��1�j�	H���3~��A_X�&���HDž�Dž�����fD��L��H��A�E0���A�u0�9���f�H�T$����fDH��L�%�1�L��j��H��jjL�L$(�f��H�� D�} ���A��������DH�D$L��1Ҿ�L�b�H��L�H����t$�\}��AYAZ�fD�r4����������H�y�H�5��H��A������D����'����ʲ��f.�AWAVAUATI��UH��SH��H��hH�W0D�n0dH�%(H�D$X1�H�B H�D$H�F H�D$E����	H�} H�EI�|$ L�c@H���H�j H��tH�5v�H���V������H�} �E4�Q��H��D�{$H��I���w���Ń����H�5)�L������H��H�D$t/����H�t$1�H��H�����Ń���L���LH�5x�L���}��H��tHH���H��H�D$ �DI��I�t$0�H��H�D$�I���Ń������L�D$H�L$ ��
H�5/�L���!��H��tHH���H��H�D$ ��H��I�t$0�H��H�D$�1I���������L�D$H�L$ ��
H�5�L������H��taH���H��H�D$ �H��H��I�t$0�j A��H��A�����H�D$(�NL��Y^����)��L�\$L�T$ �O
H�5��L���P��H��tkH���H��H�D$ �H��H���@I�t$0j�A�������H��A�H�D$(��K����XZ�������L�\$L�T$ �
D;{$u
�f�D;{$t�k ���:M�~M���J�C$1�L�5j�D$H�D$@H�D$ H�D$HH�D$(H�D$PH�D$0�'�I�L���������TI�H�I�H�5��������YI�H��I�H�5w��������I�GHH����I�H�5u��a����I�GH��H�xH�5b��E�����=
I�HtqI�H�5:��&������I�HtRI�H�5�������'I�Ht3I�L����������I�HtI�H�5����������M�0M����I�H����1�H���H�T$PH�L$ H�T$(DH����I�H�5	��w�����?I�H��I�H�5}��T�����\I�H��I�H�5���1������I�HtuI�H�5��������I�HtVI�H�5 ���������	I�Ht7I�H�5%���������	I�HtI�H�5ˢ�������I�W(L��E1���L�
�H����]��M�0M����I�HL�5��u��f�H���'��M�0M��t_I�Ht�I�L���L�����I�GHH�5Q�H�x�0�������L��H���h�I�|$(u�M�0I�D$(M��u�f��C$Hǃ�9D$��k H�C0H�L$H�H H�D$E�l$0I�D$ ��H�L$XdH3%(�c
H��h[]A\A]A^A_�@ǃ��C����ǃ��D;{$�R����f.�I�GHH�5}�H�x�\������������I�GHH�5U�H�x�4�����������I�GHH�5-�H�x���������L��H���D�I�|$(��H���&������I�GHH�5�H�x������������C$I�oXH�D$@H�D$H�D$8H�D$PH��u&�@H�xH�5���x����uTH�m0H��t_H�EHH��u�H�}H�5�k�R����u�H�}H�5a��>����u�H�}H�5��*����u�fDH��H���%I��H�m0H��u�����L�D$ L��H��H��H���x�������V��L�D$(L��H��H��H����L����|	I�oH��t`H�}Ht<H�}H�5�������t(H�EHH�5��H�x�|����tH�m0H��t$�L�
�E1�H��L����H���Z��H�C0H�t$@H�@ H�hH���AH���)�����	H�D$HH��tH���L��H����D��H�D$H�t$0E1�E1�1�t$HH�¾H��UAW�]i��H�� �Ņ�u3H�T$PH���
H�z ���J4����L��H���t���f����uw��������fDI�GHH�5��H�x�t�����/�������I�GHH�5m�H�x�L�����`����C$��D$8L��L��H���J���u�����C$������9D$8�D�������@I�GHH�5
�H�x�����������C$��D$8�fD�����1������D��A��t���F0�t��A�D$0�t��A�D$0�t��A�D$0�t��A�D$0� t�� A�D$0�@t��@A�D$0��t4�A�D$0��������A�D$0�����I�GH����I�GHH�5=�H�x�����������L��L��H���Q0��M�0�m����I�GHH�5��H�x�����������L���L��H���Q��M�0�-����I�GHH�5��H�x��������H�|$ H���L���B��I��H����H����(H�D$0H��(�I��H����f��@L�¾@H�@L�p�H�D$0L�D$0I�@ H�C0H�x H��@�)��L��H����l��M�wM�����I�~HtWI�~H�5�������tCI�FHH�5�H�x�����t+L���H����L�D$0M�v0I�@M�������DL�
�E1�L��L����H���V���m���fDI�GHH�5u�H�x�T�����#���L��A�1�L��H����;��M�0���DI�GHH�55�H�x���������H�5)�L���
��I��H���{��g���H�L$(L��H��H�����������H�|$PH�5IG�������H���H�5��������(H���M��L��H��H�T$PA��x(��H�D$0H���i���M�wX�HxM����f�L�t$0L��L��H��H�
0�M�N0M�F8��g��L��H����j��H�|$ H���L���?��I�FXH��tH�D$0�HxH�5]pL�����H��t-H�T$0�By��L�
N�H����H��L�(p�In��M�WM�������I�zHtKI�zH�5��L�T$8���L�T$8����I�zHt"I�zH�5��L�T$8�g��L�T$8���L�
�E1�L��L����H���}T���7����I�GHH�5=�H�x������)���L��L��H���v(��M�0�r���DI�GHH�5�H�x����������L��L��H���X��M�0�:���DjL�
��1Ҿ�jH��jAPE1��[��H�� ��fDjL�
��1Ҿ�jH��jAPE1���[��H�� �B�fDjL�
G�E1�L��j1Ҿ�H��jAS�[��H�� ��I�D$(�a�fDH�l$@�葺��jE1�L��jI��1Ҿ�jH��U�R[���k H�� ���������E���DH�xH�5���������M�v0M���c���I�FHH��u�I�~H�5�b�����u�I�~H�5�m�����u�I�~H�5���r����u�I�~H�5���^����u�I�~H�5D��J����u�fDL��H���E@���p���jL�
W�E1�L��j1Ҿ�H��jAS�lZ��H�� �}���I�GH�L��H������jE1�L�s�L��j1Ҿ�H���l��AX�k AY����L�L$HM�������jL���H��jL���1��mF��H�T$`^_H���Y�������H��L�
e�1�L��jL�?���H��jj�fT��H�� ���DH�l$H����fDH�|$ H���8��H�L$0H�AX�T���DjI��L�,�L��j1Ҿ�H���(k��AZ�k A[�<���@��N���jE1�L��I��H�Ժj1�P��H��j�Y��H�� ����E1�E1�H�
��L����H���;���u���H���L��H���P���^����C$L�_�1�1Ҿ�葙���;���I�BHH�5I�H�x�(��L�T$8�������H�D$0H�x0��L��E1�L�V�L����H��L�T$0�)P��L�T$0M�R0M�������x���f�I�BHH�5ݗH�x���L�T$8���,���L�ֺH������L�T$8H�L$0M�R0H�A@M�������~����1�L��L��H��L�T$8����H�L$0L�T$8H�A`�l����;���ff.���USH��H��dH�%(H�D$1�H�$���H����H�C H���CH��8��H��H���BH�C0H���}H�(H��H�KX1�H�SPD�KpPH��jL�Chjj�6^��H�� ���������H�$H��tPH��H����������S$����H���Q���H�k0H��t_H��1��~���H�C0�C8�DDL�KPM���H��L��1�H��j��jj�;Q��H�� ��C$��u�H�C@H�t$dH34%(H����H��[]�H�$H��H�@ H�E �C`���H�C0H�k@H�p�������u�f�H��航��H�{0H��t���H�C0�C8H���H�5��H����m��H�C@1��e���fDH����t!��H�C0H��t��C8�b����H��E1�L�2�1�j1Ҿ�H��jj�3P��H�� ������DAWAVI��AUATUSH��dH�%(H��$�1���0���t;����E���E����A�����~WI���Hc�H�\��S@�� t�� �S@����H�K8���-�X�y\��q\H�=l�Hc4�H�>��f�I���I�~(H�S H�s����I���H�CPH�]PH��H�����;���CX�
H�C8H�D$H���7	A��(��tzI�� ��H�)�}\��
H�A�W�H���fDH�(H���}\��
H9�u�H�1�~\��H�A�W�H���H�0H���~\��H9�u�I���L���M���.L�jhM���fDA�<$I����H��t$H�UI9�u�sL;e�fH�mH��u�H�n�H�5~�L���_k��H�h�H�5C�L��A���Ek���CA��(��~aI�� L�A�x\���H����H�4�H���fDH�(H���U\��tIH9�u�u�5DH�)H���U\��t)H9�u�I�F(L��H�5��H�x`�������L��H�](E1�H�L$8H�D$E��H�L$I�������@< w#@H�&H���LH���< v�H��H��H���< w�H�&H��s�H9��I�F(H��H)�H�xx�ܑ��M�eH�D$8I��I�F(H�D$H���Z	M���M����I�0��M��tM��tI���L��L���C4��I��t$E1�E1�1�t$L�ھL��jATL�\$ �X��H�� A�…���H�T$8L�$H����I�G0H�x �'H�B H���~�J4��uwI�G H�t$L��I�GX�
�A�ƒ����A�G$E������t
E�W ��@H�t$8L������E�W E���A�G$AFlI�GXA����<�E����A�U\���C���< w&�H�&H����H���< v�H��H��H���< w�H�&H��s�H9���I�F(H��D�$H)�H�xx����D�$H�D$�E����fDH�P �����������AFl�1�����������L��E�Ճ}\�	E���#���Adž0���E�fhE������E�Vh����f.��9I�����H��E1�L���1�j1Ҿ$L��jj�KJ��H�� Ic��I���E�nhH��H��I���A��0�J@�K@E���If�E�����A����@H����D$4
H��������H�kpH����I���H��H�Q H�q����A�~h������A���A9�0��I���H�]PH��H������H�E8H�D$H����H�D$�@XA�ʼn$A���	I���t0�L��趡��I���ǂ������H�B8H�D$A��(�$H�D$�8�K���-�>D�$$E���
�E1�H��$�dH3%(D���eH�ĸ[]A\A]A^A_ÐH��I���1�1�jE1�L���L��j�1A�1j�^H��Ic��I���H�� H��H��I����J@�K@A��0�g���@H��E1�L��1�j1Ҿ6L��jj�G��E�nhH�� E���
������I���H����H�CI���H�CM���
I�]I�T$0�H��L��A����H�k�CH�E��C ��������N���M�d$I��M�����I���H�D$H�B8����I�D$HH�HH������I���ǀ�H������H�UH��H9�u�H;H��H�H��u����f�H�I�(�H�H��H���Nf�H�@@@@ @0M�������I���H�Xh���f��$�WL��M��jL���1�L��j�-8��^_D�$����f��HA������t9����p�����{(��H�U H�uI�~(���H���TI���H�EPH��8�MH�E8H�EPH�D$H�|$������J@H��E1�L�Ԉ1�j1ҾSL��jA�Sj�E��H�� ���D���G���E�������H�D$D�$H���H�D$E����H�������H�D$�@���������D�l$,1�H��H�D$�$��H��H�D$ �H�D$D�$E1�H�H�(L�kE���w�I��L9d$ �aI�� N�< A�\��u�I�uI��8u�誾����t�I�upI� 虾����t�I�E`A�GXI�_PM�oHI�G8H��H9l$�f���A��(D�l$,�������H�l$H����?�$���4��E1�1�L�$�D�<$�fDH��I9��I�� L�<A�Xu�I�w H����A)����u�H����x(�DI�W I�wI�~(����I�GHH���N
H����x(�$A�GX
�H��I���1�1�jE1�L�M�L��j�8A�8j�C��Ic��I���H�� H��H��I����+���I�GX�H�مH�5�L��A������`������I���I�~(H�S H�s���I���H�CPH�}P��A��0A9���6���H��H�]P��f.�I���H�B8H�D$�����{(�JA��(��t9I�� ~0H�0�~\��	H����H���H�0H���~\�o	H9�u�-I����ɦ��I���H�C8H��H�EP�D���f�A��(��~;I�� H�0�~\��H����H���@H�0H���~\�_H9�u�-�`���H�E8A����r���H��E1�L���1�j1Ҿ2L��jj��A��H�� �{���f�H�UjE1�L���j1ɾWL���_3��AXAY����fD�C0��tP�����H�{8thL���e��H����I�U`�@XH�XPH�P8I�UL�hHH�PI�UpH�P ���L���`e��H����@XH�XPL�hH�v���I�}Xu��g���@I����L�e(�K���jA�L��jL�E0H��1�L���z��Ic��I���AXAYH��I���������CX�p
H��E1�L�Ã1�j1Ҿ7jjL���s@��I�� A��(H�� �����I���H����f.�A���A��0�m���D�J@H��E1�1�jL���1ҾTjL��A�Tj�?��H�� A������fDH�T$8H��L��H�D$8觳������0H�D$8I���H����J@H�D$��I����M@I�� A��(����DH�|$��H�D$�@�����������H��E1�L�z�1�j1Ҿ5L��jA�5j�%?��H�� �,���@A��(�$���F���E1�A���t.Ic��I���L�<�M��tM�M��tI�@�LD��$���;H��$�1�D�l$,H�D$����L���3����Ń���a	A�EX����I���H��t誼��Idž�I�EH�@y��I�EPH��t
�@!��I�M(I�U8I�u����jA�E1�L��j��w��ZY���S����V
A�EX���:A���L���p��������A��(H��9��tI�� L�,�A�EX��t��u�I�}8��I���M������1�������u	M����I�EPH�P8H���H�x@I�U(I�}0H����
�ؓ��I�E0H���w
M���8���M�e(I�}8L������I�U H��H�$LE�L�d$H����I�@L��艶��H���`I�UH�L$H��L��茅��H�$H������H��H�Ux(�����fDI���H��u�����H�mH�������H�}8�:������u����A�M@I�uL��M�E0I�M(I�U8jA�j�v��^_���D���I�}0H���lI�EPH��tIH�P8H��t@H�p@H����I�U`��������A�EX����DA�EX�#���I�EHH���H���@H�@XI�E`��������D��1ۋ$�H��9���I�� H�؋j\��u�I����#L���N+��A��(��DI�uL��L��衡��H���|���H�H�5�~L���X��H�$H��tH��H��v(�DIc��I���H��I���E��(E��tI��(I�� ����H��~H�5}L��A���X����Ic��I���H��I��������I��(I�� �������L�d$E1ɹ1�L�V~��L����x��I�@L��L��虆��A�H�\$ �F@��L��1�L�~�A�Y�x��I�@L��L���U��������A��H��u�I�u I���H�T$H�\$ 藓����f�L��H�5��a���H��H���qH�Cp�
�@H���|�H�E8H�U81�L���z���A���
�A������H�~�H�5"|L���V��H� �H�5�{L��A������V����fDI�EHH�PXH���I�U(I�}0����@A��(�$����f�I���H��H��8�8H�@81�L���ʬ������I���H��H�EP��fD�L���K�A�GX
�k�H�Y�H�5(|L����U���~���D�$Ic��I���D�<$H��I���E��������f.�D�l$,�щ$��~�E1��`L�d$8H�-:��@I���I��D9�~�I�� J���BX��w�H��r�I�����
w�HcD�H�>��H��1�E1�1�jL����VL��jj��7��H�� A��(�H��L�J(1ɾRjL�F�L��j�r`1��7��H�� A��(�^���H��1�E1�1�jL�lz�FL��jj�Z7��H�� A��(�)���Ic��I���L��H�D$8H��I���H�BHH�PH�pp��H��L��1�jI��L�w�1�j�Lj��6��H�|$XH�� H��t@H�jr(�A��(����B\�������H�D$H������KL���q&��A��(�t���DH�@`A�GXI�G8H��u�6�fDH�@8H���#�0��������-�	��uԃ�����-��w����fDH�}0������������CX�r���H����d���H��E1�L�i�1�j1Ҿ9jj�b���DL�d$@H�L$81�H��H�T$4L�L$0M��藐��AT�D$@1�L�nx1ɾOL��PD�L$D�s!��AZE�nhA���I���A[�Q�A�FlL��x1�1�A�Fh���{���-�D�$E���FH�|$���$���H���H�5�xL���QR�����H�yvH�5bwL���6R����H�2wH�5GwL���R���v���L�(艛���8eH�8H�hH�52.1�A�����A�GX�\�跚��L�(�O����Ne��裚��L�(�;����?e�H��E1�L���1�j1Ҿ5L��jj�O4��E�nhH�� E���]����H�H�	�H�5\vL��A���^Q���\�L��H��H�5�w�CQ��H�<$H������H�o(����H�vH�5vA������Q���
�Ic��I���H��I������H���H�5,wL����P���i���H�D$�@���N���H�L$��H�9L�D��H�H�@H�@`H��u�>fDH�@8H��t/�0��t(�����-t��u�����-��w��H��I9�u������JL����"��A��(����A�GX����L�8褙���(dH��fH�5P,H�81�A����H�gvH�5DvL����O�����H�b�H�5)vL����O���f���A�GX衘��L�8�9����:dH�2fH�5�+H�81�A���&���H�j�H�5�uL���O�����	��H���H�5�tL���cO�����H���H�5BtL���$�EO���$A���=�H���H�5�tL���$O���p���H��H�5�tL���	O����H���H�5�tL����N���q���H���H�5FtL����N������H�W�H�5�tL���N���T�H�T�H�5�sL��A���N����H�m�H�5�sL���~N������A�M@A�M�E0L��jj��j��ZY���	���ff.�@��AWAVAUATUSH����0H�D$`D�|$PH�$��������9�|	�����H��L�L$E��H��I����R��I��H���H���/Dž(H�}P貇��M�uA�EI�] A�M@ E���FA�T$�L�t$I�ExH�H��M�d�f�A���A���9�8�4�H�Ǎ	H��i(Hc�A���H���I�ExH��� A������Hc�H�4�H�<�I�H�I�N��9HD�I��H�8A���M9���H���j���H�j(�P�I�ExH����I���H�ƺ��f�L��A�U1�H��L�CH��E�������WH��(H9$uBH���������|H��[]A\A]A^A_�E��~�H�$A�G�L�%6k(H��H�D�(H�$�L�[ L+[A�{M��E��Hc�A�$I��H����E���e���E�^��1��DA�t	���Hc�H��D9��8���L�CHc�A�48D9�}�@��&u�A�|8#u�A�|83u�A�|88u�A�|8;u�A�D	�&���H���H�5VrH���K��H���H�5�H���zK���Eh����H�}PH��[]A\A]A^A_����ElL�y��Eh1�1Ҿ��'t���H�~�H�5��H���K��룃ElL���Eh뿃ElL����Eh�H�n�H�5w�H����J���`���f.���AWAVAUATUSH��(D�|$`�D$hL�T$pH����H��H�WM��E��I��H�t$H��H��t5L���M��t)H��H� H��ARL�T$(P�D$,AWA��L�T$8�D$4H�� H��(H��t9D�|$`H�t$M��E��L�T$pL��H��D$hH��([]A\A]A^A_�����H��([]A\A]A^A_ÐUSH��H��H�W(H�GhLJ�����LJ0����HLJ@H��tH�z`H�5���H����r��1�H��[]�H���LJ�H��tBDž�H�����H�C(H��tsH����+���H�E0H��t^H�S(H��E8�f�H�=�"��H���H��t>H�KH�SH��H�s���H�SH�s H����0���H����r���������H���H���H�5�oH����H�����*���ff.��AWAVAUATUSH��H��������/H�{0H���}L���M����ǃ�����M��E1�L�����0���t;��~.A�w���n�F������F���������I�G0H����I���H���
H���2B���ChH��[]A\A]A^A_�諤��I��H���Z���H��E1�L���1�j1ҾH��jj�*��H�� H����A�����M��tA�D$@� t�� A�D$@I�WPA������H���s,�����I�GH���>���A�w���$���H���L;x��H���x������M9�������H�߉D$�DA���D$���	�������H�{H��H�{PH������������H����K��I��H���H����ǃ(L�xA�GpA�D$I�GI�D$I�GHH��t	H�@I�D$ I�oXA�L$@ ǃ(H��u�DH�m0H��tL�uHM��tM�vH�uH�}@��Ж��H�MM��H��A�T$I��H��������u��D$H�v��T@H�KmH�5\mH���
F��H���"@�����������H�������t4����m����D$H�P�H�5�lH���E��H����?���D$�����0����&���;�������"���M�(A�w�=���������j���H�b�H�5ql�T���H��cH�5^l�A���H�dlH�5Kl�.���H���H�58l����H�f�H�5�k����f.���H��t'H��tH�GH�H��tH�GH�1�H��t
H�WH�ø�����f.���H��t������ t�����t�����f�����f���H��t���ø�����f.���H��t/H��t*�~u$H�(tH�F@H�wpH���H�G0�m���D������f���H��twH��trUH��SH��H��H��H�s0躠��H�CpH��tH���H��H��[]����@H��H��H��E1�jL���1ɾPjj�&���ChH��([]��������f.���H��AV��H��AU��AT�US�H���H�.I��I��I��H������������H�����H�m`(�0�H��H����H�{H��1�H�H��H)���0���H��!�C�ǃ����H�}L��(L�kH�ktH����H�C(H�}tH����H�C0H�}tH���H�C8H�}tH�4��H�C@H�} tH����H�CHH�}(tH����H�CPH�}0tH����H�CXH�}8tH�<��H�C`H�}@tH�z�H�ChH�}HtH����H�CpH�}PtH�6��H�CxH�}XtH�T��H���H�}`tH�o��H���H�}htH����H���H���tH����H���H���tH����H���H���tH���H���H���tH�j�H���H���tH���H���H���tH����H���H���tH���H���H���H�-���H���H��tH;��H�����HE�H���H�a��H���H���H���H����H��H����H��L�sI�H�C I�H�C(L��I�EA��$I�D$H���H��[]A\A]A^��H����>���H�}puH�}x�,���1�H��[]A\A]A^�f�H��](�0�H��H��t�H�{H��H��H�H��H)���0���H�H����!�C�H��H�k���H��H�����H���H���H�����H���H���ǃ����L��(L�kH�CH���L�c M�&���f.���H��tO�?!�C�uGSH���H��(�9��H�CH�SH�H��tH�CH�S H�H��](H��1�[�fD������f���H��tH��PH��X����AWAVAUATUSH��H���EH���<M��I��A��H��H���(���I��H���H�M�7L��H�5���M�oH��ALJ�H�D$�f��D��H��L���ҟ��H����H��L���Nm��L�{PI�WL��H�k8H���gc��I��H��tgI���H��H�k8D�c@H�CH����Ņ�uH�CP�P��u������D�H�CPL��H�CHH�C8����#fDH�CP�����H�CHH�C8H�D$L��I�軓��H����[]A\A]A^A_�f.��������f���H��t2H��t-SH��H��1��ԁ��H��tH��E1�1�1�H��[錚�������[Ã�Ð��H��tH�GP�f�1��f.�H���D�B�A��	wD�AE�H�A��	v�������H��A�T@иD�B�A��w��G�����	ЈG1�H��@H���D�B�A��	wD�AE�H�A��	v�������H��A�T@иD�B�A��w��G����f%�	�1�f�WH��ff.�@H���JЀ�	w�HD�A�A��	v��fD�x:u����D�DQ�A���D�ƒ���W	��	ʈW	�P�JЀ�	w��HD�I�A��	w��������TQЃ�;���O��?����?�	ʉW�x:�w����P�JЀ�	�g����HD�I�A��	�U���������f�ɍTQ��*�H�P�O�x.tdA��t<�Gf/� r-�
*�f/�v�G��f��fHf%�f=�w"H�1�ËG%�=0u
f�f.GztŸ�H�P	�@	�HЀ�	������? �? �^Ӄ�0f�H���*��Y��X��O��HЀ�	v��H���ff.�@H��<+t6v$<-t0<Zud�GH��f%��f�GH�1����uDf�g�1�H���JD�A�A��	w*D�BE�H�A��	w������A�LHЃ����z:t��f�f��A��A��A)�D��D�G��f��fA���D�	E	�fD�GD�JE�Q�A��	w�D�RE�Z�A��	w�G������G�LJ�A��;ND�<-u���fA���f����f��Hf%�f���A	�fD�Gf���wH���O����f.���f.�L�A�D�H�A��	�AUATUS<0u�I��A�<0t��0<	��A�M��E)�DC�I��A�D�S�A��	v�������D�H�E1�O�T@I��E�H�O��A��0Mc�O�YM9�u�A�1�I��E�B�H�\�A��A��0Mc�I�,XA��u�E�A�1�M��M��O�l@I��E�A�H��A��0Mc�I�XM9�u�Mc�O�D
L�H�H�*L�[]A\A]��E1�1�1�1��ڸ�����L�������փ�
��uE1�1�1��A��M��E1��H���A��M��E1�1��`���D�W,����H��x�F,A��������H�~uH�~��@AV����AU����ATUS�O-D�F-�ˉ�)�E����A)�D��D�ȃ������_9�����A��L�o L�f E)���L�wH�WD��A����M��E1�����A�A�E1҃��E�L�I����������L��L��I��H��H��H�I)�L��Ii��I��I��H��H��J�/H�H)�H��Hi��I��L�H��H��I��I��H��I��A��u�M9�w*��L9nr��L9vr��@8ݸDD�[D��]A\A]A^�f�H��}���H� �r���f.��F,A���~���H�~uH�~uH�~ �e���D��ÐH�~�������u�H��DD��H��m���A��uH�~tPA��[]D��A\A]A^�f�H�~ �����L��E��L�vH�VM��A)�A��I��H���I���fDE1�����M��M��I��E�������X���f�D�GH�wA��I��A��A��A��H����I�ףp=
ףH�~�H��H��I��I��H��?I��H�H��H)�H��H��L�I�q=
ףp=
H��I��H��H��H��H�H�M����H��I��H��H��?H�H��H)�H��H��H��H9���Mc�H�T�J��H��@H��H�NI�ףp=
ףH��H��HI�I��H��H��?H��H�H��I��H��I��H)�H��L)�H��H�H��H�H�M��u4H��I��H��H��?L�2I��I)�K��H��H��H9��a����H�ףp=
ףH��H��H��H��?H�H��H)�H��H��H��H9��$���Mc�H���J��H������tf��tRA��&f.�9�x0u:B�B���t<I����t$D�H�A��v<
uր� t׀�w�Ҹ����E�Ð��������@��u�1��f���� w"H�&fDH��sH����� v�L�GH�&�*fDH��s0< uZ�NH���� v9f�I��A�@���tV��t7�� v�L�N9�x:u(�NL�����H��s�H����� w���<v��������@�Ҹ����E��1���t7�� w�H�&H��s�H���H���< w�H��r�u�1���ff.�@��� w"H�&fDH��sH����� v�H�&L�G�:fD@�� w
H����L�N9������NL���I��A�x�@��tV��t�� w�H��s�@�� v
�������ÐH�����NH���� w�f�H��s�H����� w���1���t.�� wH�&H��sH��H���< v�Ҹ����E���H��r�u�1�ø 9�xރ������ø����ø�@�� u��Q���ff.�H�9N(S���0�H��tH�@$f��@,�@@[�ff.����W}���SH���?���H��t!�o�oKH�oS H�@P [�ff.�f���� w&H�&fDH����H����� v�H�&1��&@�� w{H��su��� vYD�����t3��y��w��@�����A���wA���A���tH��H������u��f.�H����� w�H��r��u��f��WH���fD��@���u@�փ��@���t�WH���j��������u�W����u
�WH���B��������Ä�����1��fDM����H����D�I�A��������tL�W8M���gA���t	��!�VA�B,��KATH��UH��SL��H��t�	��+tz��,tu�������H���!��H���� u?�tpE��������H��������H�A���u+@�&I9Ju1�[]A\�fD�HH�A���t�I�RA���tDH9�vҸ(���w��L� �w����H�7�H�5_
H�81�A��D�]L�U81��@�'H9�s��@1�H��t�H���i������R���f�H���r���A��t�H����S��D�]L�U8���U���f.�������f.�H��H��J(�0�H��t9f�H�@$H�@�@,�H�H @H���DL�D1�1Ҿ�H�D$�!V��H�D$��f.������� wHH�&I��I��I��A��u5H��H���PH�p������� ��H9�H��A���	A�H���DH��xH�pu�H9�v<�V��� w3I�&I��s#DH�P�H9�t	�H��� vH9�H����A!�E��uMH)���O��DI��s�H����DH��H���d����PH�p���K���H9�A��H���q���@1��H�G�H��A���fDAUI����ATI��U��SH��H�I(�H��H���H�xH�@Hǀ�H��)����1����H�H�ZS��L�kH����H���H��L�cp�C\��
��,wcH��� 0H��t�KX@H��tc�KX@�:���I��H��t&���!�"���I�D$8H����H�@L�cxL�k�KX�"H��u�H�`H��u��KXH�=b`(H��H��RL���`{�����H��H��[]A\A]�@L�ٲ1�1Ҿ��S����@H��H(L��E1��h���@�G�<v9�G�<v*�G�<	v;@��+tE@��/tO@��=������@D��D@���G��@���G���@���G���>�f.��?�f.����~_(��tÐAT�(US�~��1Ҿ-H�=��H�M_(����H�@p�@\H�&_(����H��H���\H�_(L�%�F(�(H�h8A�$L��RH��H���>f��@$@@�H�E���H��H���H�@�HH�E H�kA�$L�Q�f�H����H�@$�H@@@4�@D�H�X(H�EA�$f�H����H�>^(@ �.H�=�@@0H�@@H�X(H�������H�=�-H��H��](���H��](�H�=îH��](�a���H��](�
H�=�OH��](�B���H��](�H�=��H�x](�#���H��](�H�=�H�a](����H�e](�H�=X�H�2](���H�F](�	H�=?�H�](����H�'](�H�=+�H��\(���H�](�H�=�H��\(���H��\(�H�=��H��\(�i���H��\(�H�=�H�\(�J���H��\(�
H�=έH�H\(�+���H��\(�H�=��H�!\(����H�m\(�H�=pH��[(���H�N\(�H�=~�H��[(����H�/\(�+H�=f�H��[(���H�\(�,H�=Q�H��[(���H��[(�H�=aH�f[(�q���H��[(�H�=/nH�wZ(�R���H��[(�H�=�H��Z(�3����H�=�H��H��Z(����� H�=�H��H��Z(���H��Z(�%H�=�tH��Z(�����#H�=�:H��H��Z(�����'H�=��H��H�]Z(����)H�=��H��H�:Z(���H�FZ(�!H�=�DH�Z(�n����&H�=Z�H��H� Z(�S����$H�=L�H��H��Y(�8����(H�==�H��H��Y(�����*H�=0�H��H��Y(����H��Y(�"H�=BGH�hY(���H�TZ(�H�=��H��Y(�����H�=��H��H�&Y(����H�=%�H��H�Y(���H��X(�H�=�aH��X(�o���H��X(�H�=|�H��X(�P���H��X(�H�=KaH�NX(�1����H�=GbH��H�kX(����H�_X(�H�=�H�DX(���H�@X(�H�=�H�X(����H�9Y(�H�=ےH��W(���H��W(�H�=��H��W(H�P8H��X(���H��W(�H�=��H��W(H�P8H��X(�e���H�vW(��X(H�]W(H�P8[]A\�@L���[1�]1Ҿ�A\�L��f�����X(��uÐUSH��H�sX(H�����[��H�`X(H�X8H�CH�@H�x�[��H�CH�- A(H�x�UH�{�UH��UH�%X(H�=.X(H�5��H�@8�U���X(H��[]�f��������H��t,�?u'���,w���H�7�Hc�H�>��D1��D���1�����Ð��������vځ��1�����Ð���1�����Ð���1�����Ð���nW(S����t��.�H�c�Hc�H�>��D�;p����f�H�W([��H�	W([��H�yV([��H�qV([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H�iU([��H��U([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H�yT([��H�qT([��H�iT([��H�	T([��H�T([��H�AT([��H�9T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H�aT([��H�IT([��H�IT([��H�QT([��H�YT([��H�aS([��H�QT([��1�[�ff.����H��tH��t
H�w1��������f���H��tH�G�f�1��ff.�f���H��t'�1���.w H��%@H��sH�G�f�1��ff.�f���1�H��t�?t���G�@��1���uEH�>;(S�0H��H��t%f�H�@$@@�@,�H�X[���ff.�@��UH���SH��H����H��t
H�hH��tH�XH��[]�ff.�f���UH��SH���H���V�H��tH�hH�XH��[]�f���H��tAUATUH�-��SH��H��L�%|;(@�;.I�$w.�HcD�H�>��f�H�{H��t��I�$�H�{H��t��I�$L�kH���M��tL���fDH��[]A\A]�D��AWAVAUATUSH��(H���9��P���v��uf�G(�uH��([]A\A]A^A_���H����$�V�H�D$H�����@ �\$�;�@ �2�I��H����H���n�I��H���T�P�Ѓ���u�����A�T$A�t$(f�H�L$���I f����k�<�*�A�T$�\��I f(�fA�d$(�f���uf�����fA�T$H�L$f���-��=�HAH���H*�f(��^1�f(�f(�fT�f.�v3�H,�f���5~fU��H*�f(����fT��\�f(�fV���A�G�$�Y܃���\��X
7�H,�A��A��D	�A�G�q���$�H,�I\$I�_uI�|$��H�����I�_fA�g(�A�T$(f�A�G(�%]�����	�A�G(�AL$ �X��H,��$�H*��^��q���$f��%��H,�f.�zt2f(�����=���^�f(�fT�f.���Y��\��AO A�D$f���-g��5G�����?H��H*�f(��^�f(�f(�fT�f.�v3�H,�f���5��fU��H*�f(����fT��\�f(�fV��Y�A�W��?��\��H,���?��	�A�G�p��A�D$f���-:��H,��%���=�����H��H*�f(��^�f(�f(�fT�f.�v3�H,�f���=U�fU��H*�f(����fT��\�f(�fV��Y�A�W���\��H,����	�A�G�vo��A�wE�D$�H,�@��t
A����fA���tfA��L�ǃ�H�D$L�d$A��H�ףp=
ףHHL�49M���^fDA����A����A��H�ރ����iH��H��H��H��?H�H��H)�H��H��H��H9��=Hc�H�c���L9��7H����H��H��H��H��?H�H��H)�H��H��H��H9���H����E�gI)ƸE��f���%��=�I�I�E��H*�f(��^S�f(�f(�fT�f.�v3�H,�f���-��fU��H*�f(����fT��\�f(�fV���D�����Y��\��X
`��H,���	�A�A���m���H,�H���M����I�G�M����E��A���r����A�GD��L�d$��f%���	�A�fA���tiA�G�uXf�fA.w zLuJ��
tLA�W����t?f���f���A�
�'�E1�H��(L��[]A\A]A^A_�A�L���Iw��H�|$�?w����DI�_E��M�������E�gA��f���%c��5C�A���*�f(��^��f(�f(�fT�f.�v3�H,�f���5��fU��H*�f(����fT��\�f(�fV��\$�$�/l���\$�$��?��H,��Y��\��X
���H,�H��HOиH��HN�H�J�H���H�Ŧ��I�H������h���H��H��H��H��?H�H��H)�H��H��H��H9��"���H�}�������DH��H��H��H��?H�H��H)�H��H��H��H9������Hc�H�:������f�H��@���GH��I��I��?H�H��H��L)�H��H��H��H9�u"H��L)�H��H��H��H)�H��H���
���H���������f.�I�G����H�����M���3���E������H,�f���57�fU��H*�f(����f(�fT��\�fV�����I�G�����L��E1���t���Q���fDD�ǃ�I��f������A����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9�thHc�H�����9������M����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9�t`H�P��<��Z����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9��a���Hc�H�?����\���H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9��i���H����<�������	����A�	������H�H�����ff.�f�AVAUATUSH��L�\$@D�d$H��.wDH��I��H�5$���Hc�H�>��@��Z��H��{[����H�8H���H�5$�1��ӻ����H����[]A\A]A^�DH����M�����u�A��+u�A�A9E����H�����[]A\A]A^�H����M�����u�A��,t��H��tL�UM��tM�YA���l	A��.�i���H��%@L���U�����������	���:���A����
A����
�����A������A��� w"H�&DH��s
I��A��� v�A�< wH�&H��sI��A�< v�H�&@��t;����� ��I�rI�{9�������A�RA�CI��I����uń��A< wH�&H��sI��A�< v�1ۄ�����D���H���6���M���-���D9�tA�@�v
A������H��H��L��[]A\A]A^����H�����M�����A�������A������H��D���YH�MH���Rc�H�H9������IAH9������A�A(���E(�����UA�9���	�����~H�
��������u����M������p���g�1��-���f�H����M���������A�������M �A\I ���H�EI�Qf(�H���^�H)��H,�f��H*�HMI+I�Y��\�H������H��xf/
�������H�ٻH��������*H��H��H��H��?H��H�H)��vH���6�S\2H9��R���H��H�FH��HI�H��H��H��L��I�I�p�H��������*H��H��H��H��?H�H)�H�RH��H)�H���H4�LD�`L��L9�u	I9������H9��9	H9�����f������fDH�������M�������A��
�����A��������E������
�����f���Z]�$A�������
�b���f���AZI�$�L$�`���L$��f(����`��1ۅ����*���fDH����M���������A�������EA;A�������.�����������H������M������A��t�����A�������I�qH�}L�$�(i��L�$������I�qH�}�i���������1��������L��f�L�$��I��H�����A�\$��H��f����H��]�I��H�����A�UL�$f����H�H9���
��A�Uf�f��f��A�EA�u(�����?��k�<i�Ѝ�A�t$(f����k�<�A�T$�*�A�D$�AXE �����?��k�<i�Ѝ�f����k�<��*��AXL$ �\�f/��Y
��H���T$L�$�v�I��H�����A�Vf����H�H9���L�$�T$�	L��L�$�k��L����k��L����k��L�$�v���fDH����f��f.��F1�f.��Í\�������m�,$�A���f�H������< v��)�����H��s�f.�I��A��� wH��r�DI��A�< �����H��r����D�L$�]���L$���B���H�x'(�$$�f.�����1�f.ȸ��E����f���1҃������H�
s����!�1��������tI�YH9]�������������t�uA�Q����@8������������������t&�uA�Qf��f������@8��k�����������y���������UA�A�������8��9����a����UA�A������?��?8������@����M �AA f/������1�f/������@I�qH�}��>����������������fD�AI�L���DA����1�L��L��A����A���y���1�H��[]A\A]A^�����H��H��?���U����f.���H�g#(�4$�f.��*�$1�f.ȸ��E������fD��P��H��[Q���6�����E1�����H����H�׻����H)��;����A����A���\A�������1�L��L��H��[]A\A]A^�	��f�f�H��L�$��I��H�����A�\$L�$��f��L�σ�H��a�I��H�����A�UL�$f����H�H9�����A�D$f�f��f��A�T$A�t$(�������?i�k�<Ѝ�A�u(f����k�<�A�U�*�A�E�AXD$ �����?��k�<i�Ѝ�f����k�<��*��AXM �\�f/��H�$�L���T$L�$�z�I��H�����A�VL��L�$�T$f����H�H9��N�dL�$�f��L����f��L����f��L�$�z���f.����<$f/������f/�� �f.����������1����L��f��������I��H�����E�eH��f�fA��A��I���H��H�������Uf����H�I9�������E�Uf�f���](�������?k�<i�Ѝ�A�](f����k�<�A�U�*�A�E�XE �����?��k�<i�Ѝ������f����k�<��*��AXM �\�f��f/�w	1�f/���H���e��L���e����1�A�;����������1���� ���H�&H�����H��fDI��A�< v1ۄ����T�H��r���f�f/��c����H���DL��L�$�e��L���d��L�$��L��L�$��d��L����d��L�$�n�L��L���k`��������1�����d��L���d��L���d����L��L��H��[]A\A]A^����L��L������L���id��L���ad��L���Yd��������q���f��L��L�����A�A�����������y�H�&�A@�� w
H����9��$����L�I��A�I��A����H������,�< w�H��s��� ��H��rǃ��� �����A�D$A�T$f�f��A�\$(�������?k�<i�Ѝ�A�^(f����k�<�A�V�*�A�F�AXD$ �����?��k�<i�Ѝ�f����k�<��*��AXN �\�f/��H����b��L���b��L����b���:�A�FA�Vf�L��A�^(f���������?k�<i�Ѝ�A�\$(f����k�<�A�T$�*�A�D$�AXF �����?��k�<i�Ѝ�f����k�<��*��AXL$ �\�f/������Fb��L���9b��L���1b���P��Y����� ��9��r��0�L���b��L���a���*�L�����a��L����a����ff.�@��UH��SH��H���B6(��t&H��t+H�=*6(H��H��H��[]�$��f��O��H��u�H��1�[]�ff.�f���1�H��t%�?u �����t%��t��HD]4(�@��H�a4(�H�i4(����H��tw���tp�P�S��vj<
tfH���fD�J���v��
tH�����u�1�[�@H)�H���=,��H��
fD�q�@��v��
u� H���
��u�[�f�1��1���f���H���C����b< ��H��DI�&SH���(��p�@��v-<
t)�BH�r���sH��< u��BH�r< w�I��sۉ�)˅���H���v+��H����H�&Hc�H�I�����t�� ��H��A��I����u�A�[�f�H�&H���<���H���BH�J��t&D< �(���H��H�������BH�J��u�H9�A��H��H9�s;�A�< w3I�&I��s#H�B�H9�t�z�@�� �H9�H����A!�E����H)�H���!��f�H��H�V���N�� v%f�A� H��I�����H���
�� w�H��r�H�ք������ѐH9�A��H9�s;�F�< w3I�&I��s#@H�B�H9�t
�z�@�� vMH9�H����A!�E��uH)�H��[�� ���1�[�@H���z���H9�H��A��H���1��DI��s�H���DI�����H������H�W�H��A����@AWAVAUATUH��SH��dH�%(H��$�1��?,H��y	�H���H��Hc�H�>��H�H���s	�D��I��H�EH��uf�H�{�(��I��L�e1�M������H��$�dH3%(��H�ĸ[]A\A]A^A_�DH�H��u�H�= ��(��I��H�E�f.��G-<��
�ok 1��ocL�cL�k)l$0D�t$<L�{ )d$ A��@�ƍt0H�	(Hc�H��H�EH����M���C
E����ATM��L��AUH��H�����H��1�����A_XL�e����H��mH�=x��'��H�EH�sH����U��H�5�H�EH����U��H�EH�sH����U��I��H�E���f�D�wE����H�=&��w'��I��H�E�{����GH�\$@�(L�˂��(H�߸���H���3'��I��H�E�7�����GL�OL�d$@��M���	H��L�$�P�#�L��1��#���A[[L����&��I��H�E����L�d$@L�O�1�L���L����_��L���&��I��H�E���H�A(��H�EH�����SH��D�KH��L�q�H������1�f��A����R�����L�e]A]�6���fDH��(��H�EH���eD�KL�
�A��H��H������1���������DH��(��H�EH���D�KL���fA��A���fD�G(��f��U��H��H�����@ D�HL�d$@H���@L���A��L�����A����?P�����AYH��AZ�Y���B����D�W-A����H�C�ok E��D�k,�oc)l$0H�SL�K 1�H�D$�D$<A��)d$ A��A����B�\3���2A��A9��%H�n(Hc�L�L$H�T$H��H�T$L�L$H��I����I��E��t�-L�XE��E9�u�0.I��fA�K�L��H��L)�H)�M����H���H��I��L��t$ �L��1�L�\$H���������XZL�\$C�D-D�l$<A��A	�D�l$<A���*E9���1�A�;tf��PA�<H��u�A9�����D��L�ލPL�\$)�I�<�QG��L�\$H�ھ0L����,������H�H�������/��I��H�EH���n����Y���f�f�H�\$@���ZGL��~������H��~5��f���-��H��f(�H��?H��H1�H)��H*��^
/�f(�f(�fT�f.�v�H,�f�fU��H*�fV��'�f/��-�L,��c K�IH��f(�H��f(�H)�fT�f(��^
Շf(�fD(�fT�f.�v�H,�f��fAU��H*�fV�f/��I�H,�HiЀQH���f���H*��\�f�f/��	f(��^
��f(�fD(�fT�f.�v:�H,�f��fDU��D���H*�fD(��D��fA(�fET��A\�fV�f/��v�H,�Hi�H����f���H*��\�f/���f(�f(��^��f(�fT�f.�v5�H,�f�fU��D��H*�f(����fAT��\�fV�f(�f/����H,�I��I��I)�I����f���I*��\�L�d$@H��x
f/���QL��{RPV�d��dL�����H�� ����G(�Nf��}��H��H����@ L�HL�d$@L��|�@L��2��2����?P�C���P�Cf����P�C��P����H�� H����T���X�����G(��f�����H��H��tuL�H�@L�d$@L�Y{L����f����P�C��P1����YH��^�^T�����f�H�=:���H�E����fD��������fD��������\��L,�I��?����D�GL�d$@�2L��{��2����?P�G���P�Gf����P�G��P�G �L�OL������H�� �'���fD�\��H,�H��?���D�GD�OL�d$@H���G L�zL����A�����?A��P��a��_AX���f�H�=8����I��H�E�����GL�d$@�L��y��f����P�G��PL�O1�L������XZ�M���@H��f���H*��X����f�1�1����H��I��L�yP��@M���(E����H��M��L��xAT����I�D���@�0�@�.��H�����H�=kx���I��H�E��DH��d���H�=Ax�i��I��H�E�m�DQL�?xRPV�`�����\��H,�H��?�|���DL�L$L�ߺ1�L��wH�����L�\$���L�\$����f�1�����DH��f���H*��X��3����t$L��wR���M��L��wE��uL��wH��H�����H��1���H����ATM��L�OwAU�\�H��g��H�E1��v�E��A�WE)�Hc�Ic�I�I�|H����?���.�?��\��H,�H��?���I��f���I*��X�����H��M��L��vAT���������H��A�E1�j�H���AWAVAUATUSH��H����I��H��I��H�����I��H����H��tH�A�L���� �>H�&E1�H�&��tD�� v3�KH�sA��H�� w
�H��r�H����� w���@H��H�sH���K��t��H�� w�f.�H��s�H����C��� v��u�E���}A�?��L��L9�u�fDH9�tH���}t�H9�tK1�L��H��L���;)����t�f�H���}u�H9�u��H9�t�H���}t���H�9(L���H��D��[]A\A]A^A_�H�&H�������fDH����C��� �����H��r����L���Q���H��(L���A������ff.�f�AWI��AVE��AUATI��USH��H��h�5�"(H�$dH�%(H�D$X1����TM����M��H�	�LD�H��tH�E���A��t4A�EӃ�v
A����A��.��H�
\yD��Hc�H�>��A��.�FH�
�yD��Hc�H�>��f�1�A�$< w$H�&H���� I��A�$< v�L��E1�����߃�A�����HЀ�	��< w'H�&DH����H���< v�A�H��tH�n
(H��A��H�t$XdH34%(D���y&H��h[]A\A]A^A_�f.�D�L$�V:��D�L$���@1�H��t0��$�t&�.蝺��I��H�����L�����I�EL�+H��tH��	(H��E1��h����D�L$L��A�����3��D�L$H��E���H���P���A��.��H�
$yD��Hc�H�>��H���eH����"H�$H�p@H���`L��1�A���F�����_��͹��I��H���0	M��tH�	(L��M��tH�	(L����H���oH��(H��A�������x����1�L�d$(A�$< w)H�&H��sI�D$H�D$(��� �1�A������*���I��H����H�T$(�<-�I���0H�<$<	�[L�t$(L���~������FH�D$(��PՁ�t����<Z����!H�<$L��������
H�D$(�8�oA��A9��ZH����#L�;E1�H���o���H��(H���^���fD��!��D�L$H������H��������3���H��H�����A���������D1�E����L���!��H��H��t��H���k������I��I��H���C����?���fD1�H�$H��L��E1�H�=�(�]�����A���*���f�1�L���;��A�ƅ�����H��������s���I��H������A�$< w%H�&@H���� I��A�$< v�H�&L��@I��A�$< w�H��s�D��)����E1�I�EL�+���@1�L���*��A�ƅ��f���H�<$�H�t$(L���v/��H�4$H�T$(I��H�~@���H���@H�@H�|$(H�$H��t	H��(�H���J��z���I��H���1M����$L�hH�$H��tH������I�GL�;����@1�A�$< w$H�&H����I��A�$< v�M�|$E1�<-uI�D$A�M��I��A�<$PA��k���A�|$�_����A������ǵ��H��H���C���A�D$���T#�D$0YMDH�MSf��E1�f�L$41�I��������H��������I��������
L�-u<T�m����A��B�<	��!��01�Hc��(��0Hc�L9���H��I��H�I)�L9���I��H�A�D�Z�A��	v�H�$E1���.�� E��@�����X���O��D:\0u�M�_H�<$L�\$�2��t	E���$���+Ic�L�>��D1�A�$�� �hH�&L��H���3f�H����� ���N�7��-��PH�HH�Ȁ�I���JՁ�����������JЀ�	v�fDH���HH�P�q�@��	v�.u%�JH�p�A�<	�GH��H���
�A�<	v�ȃ��<Eu/�J�Aը����JH���A�<	wH���
�A�<	v� �a���H�&�DH���
�� �@���H��r���2���H������L;=b(�t��2���I��H�������H�PH�5l1�L���+���������L���E������1�A�$< w.H�&H�������f�I��A�$< �o<0��<1�g<t�fA�|$r�{���A�|$u�o���A�|$e�c���M�T$A��A���t>< �@���H�&H���,���@I��A�< ����H��r��
���H������������H���v���D�`H����f�1�H���t�������I��H���O����B���f.�1�H�$H���qH�x@�fL�<$H��L��A�H�=�(L���G������E1�A��	���H�$�@P����1�L���%��A�ƅ���H�<$��H�t$(L����)��L�|$(I��M������H�4$L��H�~@�-��H���rH����H�x���I��H�|$(H��t	H�N(�H�$H�p@H���KE���Z���L��1�A��=�����A���H���S�覰��I��H������M����M�nM��tM�~L�3E1�����f�1�A�<$��H����L����
��I�!TI���L����tC�PߍHހ�]L��@��H�����?�Cу�{<��@�u��t�_H�����u�L���@��L��I��H�C�'�M�����L���	��H���F����软��I��H���!�������@1�L�d$A�$�� w3H�&H����I�D$fDH�D$�I�Ā� �T��-�PE1���+u
M�T$L�T$H�L$(H�T$ H�t$H�|$谦��A�Ņ���H�D$��� ���H�&H��sH��H�D$��� ���H��H��r�����A���������"���� �>��!u	E���vH���#�蟮��H����E��DD��?D1�L�d$A�$�� w3H�&H���yI�D$fDH�D$�I�Ā� �L��-�E1���+u
M�T$L�T$H�L$(H�T$ H�t$H�|$舥��A�Ņ����H�D$��� ���H�&H��s'H���H�D$��� ���H��H��r�����A�����%����#����'����)u)H�D$ HD$(�V�H�D$A����H���=�H������O���H�����H�T$H�PH�T$ H�PH�T$(D�p,H�P D�h-H���1�L����5����A��A��H��t*E��t%����I��H���H�L���X
��I�GL�;H�$H���L�E���C�E1��x�6�xPI���)�L��艰��H��H����I�w@1�L��H���<��H��I��H��'�A�M�����H�$E1��@P���1�L���4��A�ƅ����H���������I��H���w�L���	��I�EL�+��1�L�<$H��L��A�H�=/(L�������W�E1�M���K�A��@�H�$�@P�0��1�L���Q4��L�<$A��M����I�@�������L���V���I��H���=I�@H���~��L��I��H���'�M��tA�\��A���@1�L����3����A��A��H��t*E��t%���I��H���P�L���`��I�GL�;H�$H���T�E���K�E1��x�>�L��螮��H�$H��H�q@H����1�H����	��H��'H��H�$E1��@P��1�L�d$A�$< w)H�&H��sM�T$L�T$A�< �gH�L$(H�T$ H�t$H�|$螡��A�ą����H�D$��� ���H�&H��s%H��fDH�D$��� ���H��H��r�����A�����&���$����(���*uH�D$ HD$(�n�H�|$��_�H������q���H�����H�T$H�PH�T$ H�PH�T$(�@,H�P D�`-H���D1�A�<$@���,L��E1�f�諯����x
��?��A��H���:@��u�D��D�<@D���E1������H���Y��,���H�D$H���*�H���'C�|5Hc��H��H����H�D$H�HA�$��t"��������x�H��I��A�$��u�H�D$�D�xH����DL�l$01�L�l$(A�$����< w"H�&�H���I��A�$< v�<-��
E1�<+����I�A�$�����<0��
fDI��A�$<0t�A�����E1������
D�$H���7��讧��I��H���!�D�$E��A��E��t^H�T$(A����E9��W�z�0��A�H�H��D)�H��H���x�0uH����H�D$()�F�4H9�u�H�T$(E���LA�D$,A�D$-��A	�E�L$,L�#��D�L���#�����k�H���}����1�I��H���J���DH���W���$��I�E������I��H��u�L��� ��H��H����I���E���h�L��1���*�<-t2���D���0<	�9���H�������	�ƒ�߃�A��w�<-u݃����
�1�1���@1�L�l$0L�l$(������L��������c1�H���x���ޥ��I��H���:��=�DH���O���$��A��觥��H��H���{�L�����H�EH�+��I�����I���A���I�����I�����I�����I�����I�����I�����I���q�I�����I���9���I���	���I���	���I������I����I���i�I���9�I����I����I���Y�I����I���i�I�����I�����H�����������I��H��������%�H������$������A��H�I��I��L�_I)�M9���L�H�GHk�<I�A�G�������MS�D$0YMDHL�|$f�T$4��A�H�I��I��L�OI)�M9���L�Li�H�G�H�G�I��H�WI)�L9�aH�H�G눹�QH�H�wH��H��������H)�H9�8H�I�H�GA�u'L�ȹ�QH�H��H�WH��������H)�H9��8�5��A���L9��Hk�H�G����f�H��A������H���v��!��H������E1�I����+����PH������H��H�����E1���f.�H��H�����E1���f.�I��H���z������DH��H���b��n�H�$M��H�p@H�����A��
��8TuPL�$H��L��H�D$(L�������u4蟘����H��	�H���CH��H�T$(H�T$(�
�� v�@L��A��24����D�:@���zE1�f�苨����x��?�����@����A�H���:@��u�D���@A��E����A���?A�����E��A��A���|�@H���:������?w���D�y������U�DH�<$����E1�E1��n�f.�H��tH���'H��A��4�����A����H������+����I��H���k�D��L���x��H����
D���E��t+A�U�H�tH��f��
��`v�� �
H��H9�u�I�FA�~L�3�)�f.�L�d$(A�$�HՍPЁ�t	��	�O���E1�<-uA�D$A�I���PЀ�	�,���I�W��0H��������H9�����I��������L��H�L��M�H)�M�_L9����L��1��/D��0H9�����H��L�Hc�L��H)�M�_I9������L�H����I�G�D�R�A��	v������������E��tH��I�GH���t���H�L$(��PՁ�t����<Z����O���L�t$(H�<$L��讕����H�D$(�\�8�(���A�����H�������-���I��H�������@L�����xa�����xN�����I��������M�T$E1��c�H���O��轞��I��H����L���)��I�G�T�A�$������A���A��xNu��xFu��x�I�H�����L;=y(����I���H���mE����H���'��@���f�M�T$A�L�T$���M�T$A�L�T$��I�G�z-H�$�D���H�BH�D$(�z-��A�������M�gL�t$(H��L��L��H�T$(�ʑ�����r���H�D$(��PՀ�t����<Z����P���L��L��赓�����=���H�D$(�8�/���A����fDM�T$A����D����?�I��A�����1�E1��7�H�D$(I�T$A��H�HH�L$(�J��A�D$I��A�����PЀ�	v�A�����<.�< ���H�&�fDI��A�$< ��H��r�����l�@L������H��H��LE��������E�H�������R���I��H�������<f��A�|$a�
�A�|$l��A�|$s���A�|$e���M�T$E1���@H�D$(H=����H=����H�D$ H=/��m�H=0����H�D$E���/H=�C����B��H�D$(H=3��H=4�[�H�D$ H=`���H=a�>�H�|$����/����f.�E�����H�D$(HD$ HD$���p�H�$L��H�x@�=
��I������8-����H�<$H��H�D$(誎���������H�D$(��PՁ�t����<Z��������H�<$L������H�D$(��8�k���A�	�	��f.�L��E1��.��M�|$E1��t�H�|$(H�<$H�����H���'�M���$��L�����M�����H���'L����H�|$(����H�D$ H��)���H��*����H�|$�������h�A������H�D$(HD$ HD$������H�|$(����H�D$ H���K�H���~��H�D$E����H=���d���"��D������I��f�H���:�����?w���D�y�_����M������H���'L�����H���x�A������E���E1���L��1��]���t����k���I�����A�<$0�������H�D$ HD$(����H�D$A����H=������D�H�D$ HD$(�q��H�|$���b����E��������O��E1�M��tH���'L��E1��T�H��t'�9��H�������H�UOH�5}�H�81���H�$�x�����@P���L����I�F�o�E1�E1�E1�����.����H�p�@��0<	������D�
辗��I��H�����H�PH�5�P��A��+���H�$L��1�H�q@�E��I����E1������x�K��H������L;={�'����K���H���oH���'��@���M�gL�t$(L��L���ي�������L�T$(A�:-�jA��PՀ�t����<Z������L��L�����������H�D$(�8���A�����I��D���2f�H�D$(I�L$��H�xH�|$(�y�@�8����I��A�$�HЀ�	v�	��B��E��A����������L��1��5��H�$1ɾ�L�6O�)��H���'L������H�$��L�"O���H�W�'H�|$�����E���I�L$ I�T$I�t$H�|$(D�$L�l$(�C���D��D�$E�t$-D)��D	�A�D$,��A�D$E��I��A�����H������8-�L�H�<$H��H�D$(芉�����2�I�wH���%�A�O�������@���JH��dH�H��H���4��A�WH�
_W��f��H���;����H�D$(���@�ƀ�Z��@�u��+���P�H�<$L���	�����H�D$(�7�8���A�
�
���L��E1��&�����H=����)��a��H=��C���P������H�H H�PH�pH�|$(D�L$D�$L�l$(�ċ��D�$D�L$E�D$-E�L$,��H=�������A�WM�_D�r�A��	���3���0f��^,�I���*�A�D�r��Y��X�A��	v�M��A�H�$����H=��O����H�$1����I�BH�D$(誇������H�D$(���:�}I�w@���H��dH�H��H����A�GA�WH�5�U��f������H�;������+�Aը�t���€�Z������L��L���:��������H�D$(�8���A���@��1���$���/���
轒��H��t�E���H��'f���Z"�`�Q�H��'��@�<��
�w���H��t�H��'f���Z�X��H�Wf��E1�1�H�L��f��QH�H�OH���H*��X��O E��tH��H�_fW
��H�O�O H����H�;E1��|��L�T$(���H��H�H��H���������A�WH�
UT��f��H���9�������{�H�$�'f���Z*�h�M�E��D��A����G�<��M��A��|��L������I�G���E1�����H��H�H��H����A�GA�WH�5�S��f������H�;�������#��E1��������������I�wH�����A�O����������@����H��dH�H��H������A�WH�
�R��f��H���;��_�A�G���<A�Gwb�����?��;wU�AG f/r�rE�
Sf/�v7A�G(��f��fHf%�f=���A�����E���3���%�=0���f�fA.G ���t����H��H�H��H���+�����A�WH�
_R��f��H���;��+�����D��H��E1�A�j�8��H�����1���D��AVAUATUSH����H��E1�H�-6OE1�;.wM�HcD�H�>��f�H��舏��H�{I��H��t	���I�FM��t.M�uH�[M��H��ti�;.v�H���Q���I��M��u�f�M����H���0���H�{I��H��t	�O��I�FH�{H��t��=��I�F��L��E1�� ��[L��]A\A]A^�f�E1���ff.���H��tWH��tRH��H���?���t1Ƀ�����D��A��t1�A���ƒ�RI��1�H��j���H���D������f.�H����USH��H��D�A�������wI��H�
yNHc�H�>������H��[���H��DH�5�H�81��Ӑ1�H��[]����t�t�H�o8H��t�E������!��������ÐH�w8L���D���t�v��)�H�w8L���$���tǃ��t��,�H�G8H��t��8�W߃�w��@,�u�M��t�A��J�v��u�H�PA����QA�H-�-H9��.����+���f�M���O���M��t'I�@H��tA��J����:�J�w��LE�H�{@L������������/D������H�E���s�0H�������L�������������0���H�w8L��������������j����+�b���H�w8L�����������������?����*�7���D�E,��^���M��t
A���+tQ��,tL��w�ѸH��H�����!�&�tbE���1���;M���LL���������A�HH�UA���t_A������(H9�����������+��H�(������H�GBH�5o�H�81���D�H�k81��fD�&H9��J����G���DH�C8AQM��A��ASH����8H��裩��ZY����P������{��������'H9���������DA�H,�.����H9���������1�M��������I������M�����A������L���m��D�H�k8��������Ã���������H��t'H��t"H���ȉ�H��PI��jD�1ҋ?�ը��H��ø�����f.���H��tH�G8H��tH�@�f�1��ff.�f���H��H��t���E1�H���c���������ff.�f����G������I��H��H��H��uH��t1���H��E1�E1�1�L���@���I��H�ыE1�1�L���+���������f���H�����=�tB=�t=�udH�G8H�p1�H9�rE�@H�G8H�p1�H9�v�'H��u ��DH�G8H�p1�H9�t̸&H��t�H�1��(H��u��@H��1�H��1�����������w������H��tH��t
�}���D������f���H���H����B�����UH��SH��H���H���tD��u/H�H��tf��tQ���H�EH����1�H��[]�fDH��[]���DH�H��t7��tR��tu�H��H�E��f��+��H�E�DH�=�����H�=�����H�EH��u�H�{�D����H�E��DH�{����H�E1��_���@����H�E�D������f���H��t��@1��f.�����1���?���ff.�f������1���O���ff.�f�����1�������f.�����P�1�������f.�����p�1�������f.�����01���_���ff.�f�����!1���o���ff.�f���1����������	1������ff.�f�����%1������ff.�f�����11���/���ff.�f�����11������ff.�f�����%1������ff.�f�����(1�������f.�����@1������ff.�f������1�������f.�����31�������f.�����0�1������ff.�f������1�������f.������1������f.�����.1������ff.�f�����01���?���ff.�f�����N1����Q���f.�����41�������f.�����1���ߦ���f.�����1���_���ff.�f�����1���o���ff.�f������ 1���/���ff.�f����� �1������ff.�f�����$1���?���ff.�f����� 1���/���ff.�f�����1���?���ff.�f�����1�������f.�����1���/���ff.�f�����1���O���ff.�f�����	1������ff.�f�����'1�������f.�����`$1�������f.�����21�������f.�����1������f.����� 1���o���ff.�f�����%1���_���ff.�f�����1���_���ff.�f�����01������ff.�f�����p1�������f.�����1�������f.�����
1������ff.�f�����
1������ff.�f������1�������f.�����011���_���ff.�f�����1�������f.������1����+���f.����� 1������ff.�f�����1���o���ff.�f������1������ff.�f������1������f.�����@01���_���ff.�f�����P1���_���ff.�f������/1������ff.�f�����11������ff.�f�����/1�������f.�����1������ff.�f�����01���_���ff.�f������11������ff.�f�����1������ff.�f������1������ff.�f�����1������ff.�f����ǀ1����������1������ff.�f�����1�������f.�����1�������f.�����!1���O���ff.�f�����1���O���ff.�f�����1������ff.�f�����1������ff.�f������1�������f.�����
1������ff.�f������1�������f.�����"1�������f.�����'1���/���ff.�f�����)1������ff.�f�����&1�������f.�����+1�������f.�����#1�������f.�����1�������f.������1�������f.�����1�������f.�����P!1���?���ff.�f�����1������ff.�f�����1���/���ff.�f�����@$1������ff.�f�����1������ff.�f�����1���/���ff.�f�����1������ff.�f����� ��=�����������	����f������1�������f.�����1���_���ff.�f�����P1���/���ff.�f�����
1������ff.�f�����P�1������ff.�f�����1���O���ff.�f������1������ff.�f�����p 1���/���ff.�f������'1������ff.�f�����)1������ff.�f�����*1�������f.�����1��������f.�����1��������f.�����1���O���ff.�f�����1������ff.�f�����`1������ff.�f�����1������ff.�f�����P1���/���ff.�f������1���_���ff.�f�����1������ff.�f�����1������ff.�f�����1���?���ff.�f�����1������ff.�f�����1�������f.�����1������ff.�f�����1������f.������1������ff.�f�����1�������f.����1���?���ff.�f������1�������f.�����M1���?���ff.�f����G��� ������	����������$���~���t���t1����������f�����x�����v1���t)��#�����v��� 1������f.���f.�������������������ƒ�#��	ƒ�3wH��H���	¸��t�1���J���ff.����1���( �����1���) ���H����AWAVAUATUSH��D�wL�/A��x?I��E1��
@D�}E9�|*C�,>L���Hc�H��L�H�3���t y�D�u�E9�}�H��1�[]A\A]A^A_�@H�CH��[]A\A]A^A_�D1��ff.�f���H�5Ց'�P����H�5��'�@����H�5u�'�0����H�5E�'� ����H�5�'�����H�5�'�����H�5��'�����H�5��'�����H�5U�'�����H�5%�'����H�5��'����H�5ŏ'����H�5��'����H�5e�'����H�55�'�p����H�5�'�`����H�5Վ'�P����H�5��'�@����H�5u�'�0����H�5E�'� ����H�5�'�����H�5�'�����H�5��'�����H�5��'�����H�5U�'��������t4����t,����������������	����f���f.����������vQ��_tL��T tD���0t<��������v1�������v&��?�����e���	����f���f.�������= t���t1���: ���@��f���������������!wH��H���	����f���������� t���t��t
�����
wÐ��f.���/ ����_ ��	Ё�0��	����ff.�f�����p1�������f.������ 1���/���ff.�f���S��H�=b�'���H��t��[�����[�ff.����S��H�="�'���H��t��[�����[�f.�f���USH��H���H��tAH�E8H��t1H����H�CPH��t#H�S8H��tH�R H��t�:/u�z>tfD�EH��[]�f��f�Pr��D��H���H��tH�@@H��t��D�ff.�@��USH��H���H��tYH�CHH��tIH��H���t$8�|$8W�|$8WH���H�EPH�� H��t"H�U8H��tH�R H��t�:/u�z>tD�CH��[]�f.��f�Pr��D��H���H��tH�@PH��t��D�ff.�@��H���H��tH�@XH��t��D�ff.�@��H���H��tH�@`H��t��D�ff.�@��H��tH���H��HH��tH�������H�G0H���pAVAUATUSH�h H����D�g�G����H��H�����A��D�{���H�����Sl��H9�vH�;��H�{0��y����A����H������SlH9�u�D�cDH�����SlH���H9��{�6��slH�{ 1ɺH����Cl��H�C t9�@�������tFH�C �@D�c����1�[]A\A]A^�@�H���
���������b�����{t�H�����H��A��D+kl��slH�{ D��H��P��H��A�������C�ClH�C E���h����P��t�@D�c�������W���@�D�cE���@���H�S H�z������,����A�������{l������H���a��slH)�H=���H���������)Cl������+��H��A��D+sl��slH�{ 1�D��H��h��Dsl�������H�C �r������ff.�@ATUS�GH��H�op��t=��t[]A\�H���H��t�H���H����H9�u�Hǃ���f�H�G H��t����u�H�UHH����H�zH�����o��H�5�zH����H�uH����H�{ H��H��I��H�wH�Ǡ���H�S !��M��tH��'L���C�7���@H�C H��H�p���������������H�MH�pH��H����q��H�S !���C���ff.�@AWI��AVAUATI��USH��H�D$H��tH�G H�D$H��tH���H�D$M����A�G������H�$���	u��A�G���K���BI�WH��t
L9z(�?I�_0M�o(H�8�'������P�M�wX������I�PL9�t�ƒ��tH����f���t8��t3I�H��t*H�D$H��tH��H����u
I�H�i�'�A�G���u{M��tvI�D$ H��tl��<��caH��@��I�w0��<L��@I��H�������H�$H���bM���YH��I�EM��H�$����f�H�ٹ'L��I����I�_0M�o(������I���f�I�wXH����H�n0L���4H��H��u�A�GI�P�P�L9�t��A��H��@��A��t
�ƃ��ur��t	�������I�`H��t�c��A�G���f.��k��H�8t
�`��L���A�G�4���f�I�PL9�t�H��@�ƃ���@��t����t�H�D$H��tH��H�����u
I�PH�ɸ'�A�G�P��\���H�$I�����H��[]A\A]A^A_�H��L��[]A\A]A^A_�C��H��L��[]A\A]A^A_���ff.�f�ATU1�SH��tH�o H��tH���H��t}H���'H��I�������H�sH��tL�����H�{H��tH��tnH��H���/��t[M��t;I�D$ H��t1��H��c&H��P��H�K0H��P��H[]A\�fDH���'H��[]A\H���DH�{H���'�뙐����H�8�X������H���I���f�AVAUATE1�USH��tL�g M��tM��$��F���C���J���QH��H��H�v��tH��tH9^(�CH�CH�T�'����z�CL�kX�H�������H�{PL9�tX���tPH��tKM��tH��L�����u
H�{PH���'��S�ЍJ�D��t��wH�{`��H��t���C��t2��t-H�{H��t$M��tH��L��舼�u
H�{H�I�'��C�����H����H�E H������<��c��H��@��H�K0H��@��<[]A\A]A^��H�sXH����L�v0H���l���L��M��u�SH�{P�ЍJ�L9�����H��A����@��A�������փ�������D��H�8�w�����H���h���f�H�Y�'H��[]A\H�A]A^��f�H�{PL9������H��@�ƃ���@��������Ѓ��������D���f.�[H��]A\A]A^�0��[H��]A\A]A^�P��[]A\A]A^�s����;������fDUH��SH��H�������~bH������9�|-�H��H���'���Hc�H���H���H��tb���Hc�H�,ȍBH������H����[]�@H�!�'LJ�
�P�H���H��t4����v���f����H��3��H�5[\H�81���1�뜐�{��H����H�5'\H�81���1��y���ff.�ATUSH�����H�������H��H���}1�H���k��C��tC��t����wH�sPH���K��H�[0H��u�H�]H�EH���N��H��[]A\�fDH�{�w���H��H��I���	��H�"�'L���1�H��[]A\�ff.�H���GAUATUH��SH��H��H�0�'�����H�{xH��t����H���H�CxH��t���L�kXL�cPHǃ�M9�tM��tL���Z��H�CXL��躴�M��tH�{P�<��H�CPL��蜴�H�sH��tH�����H�{hH�-@�'H��t�UH�{H��t�UH�{pH��t�UH�{`H��t�2��H���H��t�UH���H��t����H�EH��H��[]A\A]������H�8�����H�����f.��ff.�@AVI��AUI��ATU1�S1�H�� dH�%(H�D$1�I���#D�XHc�H�s�'H��H����H���AoI�FHc�M��M��H������H��A$I�D$�B��x&9�P���tH=��~����������H����H�5XYH�81���H��tH�Ѱ'H��1�H�T$dH3%(H��u-H�� []A\A]A^�f.��+��H�����H�5�X����DH��t;SH�Ӊ�H���H��H���H��tH���H���H�L�'H��[H����ff.�@��UH��SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H���f��t	H��|�:u!H�D$dH3%(uTH���[]��H��$�H��H���$H�D$H�D$ �D$0H�D$����H��H�����������UH��H��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$����H��H���H��tAH���1ɺH���H��tH�r�'H��H�D$dH3%(u!H���[]�H��H�5hMH��������w�����UH��SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H���f��~	H��|�:u H�D$dH3%(uSH���[]�fDH��$�H��H���$H�D$H�D$ �D$0H�D$����H��H�������耾���UH��H��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$����H��H���H��tAH���1ɺH���H��tH�r�'H��H�D$dH3%(u!H���[]�H��H�5hKH��������w�����SH��H��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H��H������H�D$dH3%(u	H���[�裼���SH��H��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�!����H��H���1���H�D$dH3%(u	H���[��ӻ���H��HH��tH������H��t#H���H��HH��tH��������SH��@H�S ���tH�CpH��u� H�@(H��tH�x0t�[�f����9BX|�;t�H������x�;u����������[�ff.�ATA��UH��S�GH����t;��t[]A\ÐH���H��t�H���u�D��H�����tԃ���ːH� H��t����u�H�Ǡ���H�S !���C���H����H��H	���H��tH�H��tH�H�G H��t&H�H8H��tH��tH�AH�1�H��tHcI4H�
�f�H�OpH��tgAT1�I��UH��SH��H��tH���{��H�¸����H��~H�U1�H��tI�T$pH�R@H��tH���H��t	H�[]A\Ð[�����]A\�fD������f.�H���wATI��UI	�SH��t	H����M����H��H��H��H��t���HǃH���H��t�����jHǃ�H���ǃH��t���Hǃ�1�M���H���5H���
��H���H��tH��H�V���H�5O���H�����H���o��H��H������H���H�������H���H���H�s H��H�V�ۭ�H��H���H���H��H�5����%��H���tH���H��H�����H�5�����>��H��HtH���H��H�5C����^��ǃ1��C[]A\�fD���uH� �i����������֐������fDH�s L���L��ǃH�V��H��H���$���Hǃ���ǃ�w���H����V��Hǃ��~���H����:��H���Hǃ��S���Hǃ��%������ff.��H����ATI��UI	�SH��t	H���M��t����H� �H��H���H��H��t������uHǃ�H���ǃ�H��t�O��Hǃ�1�M����H����H�����H���H��tH��H����H�5���H�����H��HtH���H��H�5W������H�����H��H���諰�H���H��t/���H���H��u?H������Hǃ�������[]A\�fDL���ǃ�H���tH���H��H����H�5
�������H��HtH���H��H�5�����8��ǃ�1�Hǃ��C[]A\�D���������f���H��t�ø�����ff.���H��t?H�GpH��t6H�t�fDH� t!SH���`�����xH�Cp[�fD1�[�@1��DATUS�GH��H�op��tM��t[]A\�H���H��t�H���u�H�C H��H�p�*������tŃ���@H�G H��t����u�H�UHH��tmH�zH��td���H�5.aH���8��H�uH���,��H�{ H��H��I��H�wH�Ǡ����H�S !��M��tH���'L���C�/���@H�MH�pH��H������H�S !���C�����H�����H��H���'���H�C H���H��H�p���H���������AVAUATUSH���|��H����H�CpL�h@���I��H����H��1�����H�CpH�hH��u/�fDH�3L��譾�L���E��H�����H�m0H��td�L��H��贶�I�����1�H��H���o��E1�1�L��L��H������u�L������H���g��L���_��1�H��[]A\A]A^ÐI�I�L���>��H��[]A\A]A^�f���ATUSH�����H��H��tbH�{p�H�o@tb�H���
��I�����1�H��H������E1�1�L��H��H������t8H�+H�L���>��H�����H��[]A\�fD����I���fDL��1����H�������@��H����H�GpH����SH�_xH��HD؋C��t��t]��t81�[�@����H��c���H��HH�5^H�81���1�[�DH� t��������t�H�{[�5�DH�{PH��t�[���1��ff.�f���AUATUSH��H���L�-��'I��H���PA�UH��H����H�xH��H�HǀHH��1�H)���P���H�H�C�dHǃ�Hǃ�H�k0���H���H���91�H������A�UH�C(H���
�H������H�C(H�5����������H�PpH�S8H�PxH�ppH�5���H�S@H�px�FH�CHH�CPH���H�5���H�SXH����H���H���H���H�S`H���H�C0�H�CpH�x H�Cx�j��H���8H�C0H�x �S��H����H�C0H�x ����H�{(M��1�H�¹���H�H�C H�ShH���kǀ�H���ǀ�ǀ8�Cǀ�H���ǃH���ǃ0Hǃ8H��H��[]A\A]�f.�H���H�5���H�SHH���H���H�SPH�5��H������f�H�{(M��1�1�1��.��H�ChH�C ����D�H��������fDH����T��H��'H���s��H����H�5�EH�81���H��1�H��[]A\A]�D1�������;��H�(����H�5lEH�81���������H�(���H�5LEH�81���H����ɢ�H�-b�'H�{(�UH��1�U���ff.���AT1�UH��S���H��t9H��H��I�����H��H����HH�@ H��tH��[]A\�D1�H��[]A\�fDH����L�c H��I��$tH��t�H���'H��H��[]A\�DH��t�H��軩�I��$�АL���h���fD��H���SH��H�GpH�Gx�H���H��t���Hǃ�H�{ H����H���H��thD���E��~\�����~-fDH�Ǡ1�1�1����H�{ ������H���H��H�ך'�H�{ HLJ�LJ����H�C H�pH��t�����t0H�@H�{01�H��t�C��u[��[��k1�[�H���h�H�C �¸�����ff.����H����USH��H��H���H��t�)��Hǃ�H���H��t�������Hǃ�H��H��t�H��HǃH���H��t�����#Hǃ�H���H��t�׷�Hǃ�H�� H��t����H��8H������,��~*1��H�<�H��t�:��H��8H��9�,�H�-@�'H��U�;uuH�{ H��tH���H9�����C�~H�{(H��t�UH���H��t�Q��H���H��t�UH���H��t���H�EH��H��[]��f�H��蘷��fDH�-��'�j���@������fD����x���fD�{���r���fDHǃ��C�M�����f��ff.�@��H����H�OpH����H�GxH�����yusH�A`1�H��t��~@��H�9�~H��u�H��u\H�AXH��tC9�~H�@0H��u�M@H�@0H��t'��9�u�H��H�pH�y@�����H��tH�����1��DH�x駥��H�=IH��閥�fD��AUATUSH��dH�%(H�D$1�H�$H����I��H����H�GpH��H����H�oxH�����x�~H��L���S��H�5�II��H����H�<$�7����H�CpH�X`H��t#f�H�{H��tL�������H�H��u�H���'L��H�<$H��t��fD1�H�L$dH3%(H����H��[]A\A]�@L�������H�CpH�@`H��u�f�H�H��t�H�xu�H�x�H��H���H�spH�$H�~@迦�H���W���H�PH�{pL������H���?���fDH�{��H���(����H�{pL��蔳�H���.��������H����H����H�GpH����AUATUSH��H�oxH�����x��I��H��H�5�H��I�����txH�5"HL�����H�CpID�H�X`H��u�D@H��uH�H��t3H�{H��u�H��tL���U��t�H�{H��[]A\A]���fDH��1�[]A\A]�H�{pH��L��L��[]A\A]����1��D��H����H�GpH���~SH��H�GpH�Gx�H� H��t$���H�C H�pH��t�����t'H�@�S��t7��H�C0H�C0�S[�H���(�H�C ��f�1��D��蛾�H��3��	H�<H�5�QH�81���1�[�D��H��tGH�GpH��t>H��H�x@H��H���k��H��tH�xH���ɡ�f�1�H���f�1��ff.�f��������H��ttH�OpH��tk�yueH�Q`H�Gx1�H��t��~@��H�9�~H��u�H��tH�Wx��f.�H�QXH��t9�
�ݐ��9�t�H�R0H��u�1��ff.�f���ATUSH�� dH�%(H�D$1�H�D$H��tFH��H��t>H�WpH�������H��t�zt71�H�L$dH3%(��H�� []A\���������f�H�t$H��賻�H�55EI��H����H�|$���H�EptVH�X`H��t&DH�{H��tL���o���H�H��u�H��'L��H�|$H���N����1��G���@H�XXH��t��H�{L�����tH�CHH��tH�xH�t$�����H�[0H��u��fDH������H�EpuPL�`XM������I�|$H�����tI�D$HH����H�x��M�d$0M��u�1����DH�@`H��u���f.�H�H���m���H�xu�H�Ex��Z������H�]xH��'L��H�|$�H���,����D$��D$����f�L�ex��
������ff.�f���H����H�����u4H��t/AU�����ATUSH��H�_pH��t�{t1�H��[]A\A]�@������f�H��I��H�5вH��I�����uDH�[XH��t�H�{H���l��tH�CHH��tH�xL���S��ujH�[0H��u�1��f�H�5�BH��A��+��I�EpLD�H�X`H��u�Z���H��uH�H���F���H�{M��u�H��tH������t�I�]x�� �����������H��tH�WpH��t1��zt�H�J`H��tH�Ox��DH�RXH��t�H�Wx��D��H��tlH�GpH��tc�xu H�WxH��tO�J��t/1���t��1��DH�R0H��t�H�Wx��DH�H��u�H�PX1�H��u����+������D�������H��tH�WpH��t1��zt�H�xt�H�Gx��ff.��������H��tRH�WpH��tIATUSH�oxH��t5�E��t$��t7H�E0H��tH�Gx�[]A\��H�EH��u�[1�]A\���L���H��M��tII�|$PH��tI�D$XH9�tH�ލ'�L���H�}���I�D$PH���H�Cx�[]A\�f�H�uH�z@�s��H�����f.���H��t9H�wH��tH�vpH��t'H���������Ԗ�@H�w H��t	H�vH��u�1��ff.���H��tbH�GpH��tVH�OxH��HD�1��yuE�W����t:H�QXH��t�H�R0��H��u�H�Q`H��tH���H��u��@1�ø�����ff.�@��H���H�WpH��t*H�GxH��HDƒx���@H�
�5Hc�H�>��1��D��f���f.���f.���f.���f.�SH��H������¸��tH�{p耙�������
[���f.��G������������	�f��
�f.���f.���f.�������f.��������H��tH�WpH��t1��zt�H�xu�H�zu�t�H��uߋ�(����Br���ff.���H����H�GpH���SH�_xH��HD؃{���CH�f4Hc�H�>��@H�CHH��t
H�xH����H�{[����H�=k3[�Ә�H�=�=�Ę�H�{t_H�5�HH������H�s[H������H�=
3[铘�H�=3[郘�H�=3[�s��H�=�2[�c��1�[�@1��D�K��H�5bHH���l��H�s[H���_�������H��tWH�WpH��tNH�GxH��HD‹P��t#����wH�x���f.����H�xH��u�H�=�<�×�1��ff.�f���H��tOH�GpH��tHH�OxH��HDȃyw5�AH�3Hc�H�>��f�H�qH��������髒�1��DH��������H�5�1鈒��H�QH���H����H�5�;���H�QHH�AH��t�H�rH��t�H���H�����H��������H�5I1� ��H��������H�571����H��������H�591����H��������H�51�ȑ�������H�5;鯑�ff.�@��H��t/H�GpH��t(H�WxH��HDЋB��t����w;H�B�fD1��DH�BH��u�H��������H�5�:�?��������H��tGH�WpH��t>H�GxH��HD‹P��t3����w#H�PHH��tH�RH��tH��陕�f�1��DH�xt�H�=3:�u��D��H��tGH�wpH��t>H�GxH��HDƋP��t3����w#H�pHH��tH�vH��tH���������p��1��DH�xt�H��������H�5�9�I��f���H��t7H�WpH��t.H�GxH��HD‹P��t#����wH�PHH��t
H�z鱔�1��DH�=�霔�ff.����H��tGH�WpH��t>H�GxH��HD‹P��t3����w#H�PHH��tH�rH��������镏�D1��DH��������H�5���p����H��tH�wpH��t1�釔��1��ff.�f���USH��H��tQH�wpH��tHH��1��N��H��H��t6H��������H�����H��H��H���'�H��H��[]�f�1�H��H��[]�@��H��t2H�pt(H�Wx���H��t�R��1�������D�@1�ø�����ff.�@�������H��tH�GpH��t9H�WxH��HD�1��zt�DH�zX�u�1�H�z`���f�1��ff.�f��������H��t4H�WpH��t)H�GxH��HD‹H1���w�H�ੜ�����1��ff.�f���H��tPH�WpH��tGH�GxH��HD‹H��w4�H��˜u��u6��tH�x�5��DH�PPH��u1��@H������H�P(H�pH��tH�z@����D�1����@��ATUSH����H�_pH��ttH�oxH��HD�1ۋM��w_�H�੘ub�tnH�EH��t
�x��I��H���H��tl臸�I��$�H�����I��$����H��H��trH��[]A\�f.�H�]PH��[]A\�@�t�H�]H��[]A\�D1���@�d薢�H��I��$�H��tb1�H���l���p����I��$�H�I4���d�R��1�I��$�H���0���Y���H�x0����H�XP�B�����H�(藭�H�5X+H�81����"���@��1�H������Ð��H�����"�f���H��tH�pH��t�I��f�1��ff.�f���USH��H��tIH��H�pH��t=���H��H��t0H��������H���4��H��H��H���'�H��H��[]�1�H��H��[]�ff.����H��tH�����������fD1��ff.�f���H������f���H��twH�O H��tn����~3������uU��4��tk���A��41�����u+��t7���1���u ���uǁ��f.�������f.�ǁ�1�����A��41��D�����t>��1�����f���4��tFǁ�����41��G�f�����z�����1�����f�ǁ���41��f.���H��tOH�W H��tF��tI~��tR��u5�B�f���u#������u���1������fD������f����������G�ff.����H��tH�G H��tH�@8H��t�@4Ð1��ff.�f���H��tH�G H��tH�@8H��t�@8Ð1��ff.�f���H��tH�GxH��t�DH�Gp�1��ff.�f���H��tGH�GxH��tF�P��	t
��tf�HrH�P(��@H��t@�zuf�JrH�R(H��u��1��DH�GpH��u��ff.���H����H�wH�GxH���NH�G H����AWAVAUATUSH��H���/����L�opD�g�hXL��H��ue�fD�q�v��	�!�H�JPH9�tH��t
H;H(�������H��胾������H�CpH����H����H�x0��H�S 9jX��A��t�L�pM��t��H��t�A�~�c���I�~0�X����k�����"H�C H�xP���;��{�H�������y���C�����H��[]A\A]A^A_Ð1��t}H�GpA� @�D@�t|�P��vjH�HH��tk����QH��H�Op�Gf�����w(H��u�H�FH�����PH�Gp�G����vظ�f.�I����H�H0H��tH�Op�QH���G�f.�H�H(H��t/�Q�Ѓ��	�.H�OpH�ȃ���G�\���@�G�P�I���f�A����L�pM�����H��w� @H����f�L�sp����C�C@H�PH���L�rL�spM����CE1�E1�ǃ�ǀ�M����I�~0�����ts��(��uiA�F��udI�FHH��tvH�xH�5LC菹���H�� �!H��聜�H�����H�spH�� ��L�spM��t_�A�F���k��������L�spA�F��tlD�KE���|�����C����tH���#��D��,E��~�C�����e�{��H���[]A\A]A^A_��H���H��t
L9p���K��u���,�����1��;��H��[��]A\A]A^A_��H�x0��A�����xuH�x��D�CE����D��@��~
�@r�DL�p0�CL�sp���$�����(������D���E������M�~8M�������A����A�Gr���M9�L��LD��(��L��H������L�sp���@H�PH��tH�RH�SpL�spM���x�������D�G1��fDH�x0��D�sE��t
�x����@��~�@rt	����@L�p(L�spM��tA�F���	���;t&H�{ �1�H�55*����C���T���H�Cpǃ�����M��tJ��@��u@D��(E��u4D���E��u(A�}t!A�EruL���
��L��H�������C1����f.�A�������S���#����x����H������H�Cp����D��E���U���H���H���E����+���������-���H�HH��������������G��D����@���f�A�F�������H��踘�H��������L�sp���9�����(���+���M�����������1��@H��9�,�����H��8H�spH�<��D��u�H���7���]���f�H�S H��������z���S�����M���@f�����������I�GH��t:I��M���M9��vA�G��u�I�GH��t
�x�cM9��QI�G0H��u��D��tCM9��3I�G0H��u�M�(A�G��u܋������L�{pH���:���A�G�@H���H��t�L;xu�������l���H���1�Hcȉ��H����tH�t
�H�
H���L�8H��a���@L�sp����H�P`L�2L�sp������(H�Cp���A���i����x�r���H�x�:�{���\���H���n���H�Cp�K�����(볃��������I�~P�Ǐ�I�vPH�߉��I���d���I�P諏�I�wPH�߉��-��I�GH���N���A��}���H������p���L�{pH���<����D��@E��u*D��(E��u�����uM�~ M��tA�Gr������C���I�w H��u/�M���H��H�t$�#��H�t$H���ּ��I�w H���#����Frt������@r�:�����(���,����CI���~���L�sp�)���H�x�����L��H���(���I�GL�x�L���I�FH��������x���H�x���L��H�����H�CpH�@L�pL�spM�������������������H���1�Hcȉ��H����tH�t
�H�H���H�H�H�Cp�������H�CpH�5Y;H�@HH�x�t����������@r�������H�C H�x�+��DH�� H�ǁ�����u����1��L��蟧�L��H���T���L�sp�7������������H�����W1�����SH�GpH��H��tH�H0��t2H��tH�Kp��C[���G�$��H�CpH�H0H��u�H�@(H��t �x	tX���H��H�Cp�C�n����C�[���H�GH�@H��tH�Gp��G[�f��C1�[�D��H��tDH�t=�t*H�GpH��t)H�P01�H��tH�Wp��G�D1��D����������ff.�f���H��tlH�uXUSH��H�_pH��t�{u�G����t	H���CrtH��[]��@H9]pt"H�����t�H��[]�fD�S���H���ĸ�����D��H���)H��� UH��H��1�SH��H��H���H���:��H��H������0��~\H��8��,9�|-�H��n'��0Hc�H���H��H��tH��8��,Hc�H�,׍P��,H��[]��H�!o'� ǃ0�H��H��8H��t��0�y���衚�H��9��H�5MH�81��Ӹ��������H�(���H�5?H�81��Ջ�0�������0������d������fD��H��t/H�GH��t�DH�G H��t�H�@H��t�LJ��1��D��ATUSH���_H��H��H����D�'E���DH���H��t�3��Hǃ�H���H��t�������Hǃ�ǃ�H���1��H���H����H���tH��H�����H�5����H���N��H��HtH���H��H�5���}�ǃ�Hǃ��CD��[]A\�f.��k���X���fDH���H��t�O��Hǃ�H���H��t�����t&Hǃ�ǃ�E1�[D��]A\�fD����ӐA������s���D��ATUSH����H��H��H���8D�'E����H��H��t���HǃH���H��t������Hǃ�H���ǃH��t蘋�Hǃ�H��蕧�H���H���iH�s H��H�V��s�H��H���H���H��H�5����v�H���tH���H��H�����H�5�����8��H��HtH���H��H�5=���X��ǃ�CD��[]A\��������fDH��H��t���HǃH���H��t����t>Hǃ�H���E1�ǃH��t��m��Hǃ��v���D�~�뻐A������^���H���A������3��H���Hǃ��L~�Hǃ��%���H���A�������Hǃ�����f.���H��1��B��f���1��5��D��H��1����f���1����D�������H��tH�WpH��tH�GxH��HDƒx�������H��t9H�wH��tH�vhH��t'H���������t�@H�w H��t	H�vH��u�1��ff.���H��t)H�GH��t�@L�f.�H�G H��t	H�@H��u��������H��tTH�GPH��tH��H���R��H���DH�W8H�zt
�B4�f�HcG@��~�H�WHH�T����H��u�ø�����ff.�f���H��tFH�wPH��t1���x��H�G8H�@H��tH���+x�HcW@��~�H�GHH�D��H��u1��H�@�����SH�G H��H���H�H����L�Z���L�
����Hǁ�L�q���L���L���L���H�
U���H���H���HǃHH���H��t'H����H�5���H���ڑ�H���H��1��Ix�H���H����H��H�߹��H�5ػ���c��H���H��1�[鑫�H�Ye'H���H��f'H���H��h'H���H�oh'H���Hǃ�HǃHHǃ�H��t1�1�H���&��H���H��1��w�H���H��u	[��H��1�1��L���@��SH�G H��H���H�H����L�����L�
���Hǁ�L��L���L���L���H�
շ��H���H��HHǃ�H���H��t"1�1�H���d��H���H��H�53�����v�H���H����H��1�1����H���H��[H�5������H��c'Hǁ�H���H� e'H���H�Jg'H���H��f'H���Hǃ�HǃHHǃ�H��t1�1�H��裏�H���H��1��v�H���H��u[�@H��1�1��4��H���H��1�[�b��f���H��tU�G��t��t:H�W 1�H��t	���t�D���1������f�����f���1�����ø�����ff.����H��t
H���H�H��t
H���H��ff.�f���AWAVI��AUATUSH��H���eD��H��I��I�́�E��H�GLJ���D�GH��tH�0�CH��t��:��L�s0�CH���H����1��D��H�{(H�����}��H�C(H�52����������H�PpH�S8H�PxH�ppH�5����H�S@H�px��H�CHH�CPH���H�5u���H�SXH�:���H���H���H���H�S`H����H�CpH�CxM����H�C0H�x ���H��� H�{ H���L��|�1���f�H��H�D$tH�{ �y�H�T$H��I���M����L��H�T$葥�H�T$I�FI�H�z L����H�{ L����t��ClL�s M��u1�؎�H��p��H�51
H�81��Ӹ�����^�L�s H���I���H���-H���<H9�t��L�s I���H���H�� I���Adž�Adž8Adž�Adž�H��t��Hǃ A���4ǃH��8ǃ(�r��,Hc�H������$�H��8����,H�<H��H��us���@��t�CH�{ ���_��M��tL���2l�H��tH�{ H���e�M��tH�C H�h8H��tH�}��H�C1�H��[]A\A]A^A_��x�Hc�,H��8H��H���<���DH���H�5ҡ��H�SHH���H���H�5I���H�SPH�������f�ǃH��������H�5�-���k�H�����@H��`'��H��H�C(H���c������DHǃ,1����fDH���H������I�������L����7��H�{ H�������H�@�����f��C�����H�C0H�x �~��H��vyH�C0H�x ��H�{(M��1��H���E}�I��H�C H�H�Ch�����d�р�H��H���H���c������f�L���o�H�E����H�{(M��1�1�1���|�H�ChI��H�C �w����$��I���L�s I�������H���r���H���|���������H���j������f���H��tH� H��t�	��f�H���������USH��H����H�_'H���P�H��H����H�xH��H�HǀHH��1�H)���P���H�H�C0ǃ��H�ChH�CpH�CxH�kH�C��H���H��H��[]�1���@�#��H�(車�H�5TH�81�����ff.���ATA��UH��S���H��H��tE��H��1�1�H���3��H��[]A\�ff.���AVE��AUI��ATI��1�US脞�H��t?L��H��H�����H��H��t9�HE��L��L��1�H���҈�H��[]A\A]A^�fD1�H��[]A\A]A^�f�H��蘍���fD��H��t?AUA��ATI��UH��SH��H���<y�H��E��L��H��H�߉�[]A\A]��f��1��D��AVAUATUS��x`H��1�A��I�����I��H��tHH�@H��H�����H��H��t=�HE��L��H��1�H����H��[]A\A]A^�f.�1�H��[]A\A]A^�f�L��踌���fD��AWAVAUATUSH��H��tlH��1�E��M��H��I���S��I��H��tCH��H��者�H��H��tH�HE��L��H��1�H���a��H��H��[]A\A]A^A_��M��tH��A��1���f�L�������fD��H����H����UH��SH��H��H�0H��t���H�{ H��t�"u�1�H���ǃ�H�C0�H�ChH�CpH�CxH�kH�Ct
H��[]�H�S H��tH���H��tH���H��[]�D��{�H���H��1�[]ø�����ff.�f���H��tXH��tSAUA��ATI��UH��SH��1�H��H�����H��tH��E��L��H��H��[H��]A\A]���H�������[]A\A]Ã��ff.���H��t]H��H��tUAU��I��1�ATH��E��UL��SH��H�����H��tH��E��H��H��L��[H��]A\A]�z��H�������[]A\A]Ã��fD��H��tGH��tBAVI��AUE��ATI��UH��H��SH����u�E��M��L��H��H��[��]A\A]A^��D������f.�����xaH��t\AU��1�E��ATI��UH��SH����H��袜�H��t&E��L��H��H��H�@H��H��[]A\A]駄�H�������[]A\A]Ã����AWAVAUATUSH��D�|$@H��tXH��tSI��H��H��H��1�L��H��H��M��M���
��H��t"H��E��L��L��H��H��[]A\A]A^A_�&��H��tL���H�������[]A\A]A^A_���GP��~y��SH�_XHcЉGPH��H�����H�L�HD�H�H�OH�Ct;H�{H��t	H��Y'�H�{ H�CH��t	H��Y'�H�C �C[�f�H�GH��AVA��AUI��ATUS;wP}kHc�A��H�,�H���I�]XH�Ct;H�{H��t	H�;Y'�H�{ H�CH��t	H�!Y'�H�C �CA��H��(E9eP�E�uPE��I�EH[]A\A]A^����H��t7USH��H��H�-�X'H�?H�EH��t��H�EH��H��[]��f.��ff.�@H����USH��H����Ob�������@uK���uW������H�5UHc�H�>��H�{0���������u�Kb��@�f�KbH��[]��ɀf�KbH��1�[]�H�k0H��twH���_�����uRH�m@H��u���f�{`�t�H�k0���f�C`H��t:H���"�����uH�m@H��u��u�������v���f�Kb�H��1�[]Ð������\���fD��u8H�o0H��t/H��������uBH�m@H��u��Cb�@f%�D�f�CbDH�{P����1�H�{�����fD��u��Cb���f�Cb�̓��f�H��t;�Wb����1���u,�����wUH�
%SH��H��Hc�H�>��������f.���u
�Sb��1�f�SbH��[]��H�0�����t׃�u��Sb��f�SbH���[]��H�o0H��t�H���O�����u�H�m@H��u����H�o0H��t�H���'�����u�H�m@H��u��i���D������g���fD��f.�H��tSSH��H�H��t���H�{H��t����H�{8H��t1��Kj�H�{0H��t1��;j�H��U'H��[H�����H���gAVAUATUS�?H��H�o(t{H��tf�����L�%LU'���"H�{H��tA�$H�{H��tA�$H�{ H��tA�$H�{hH��t��Y�I�$H��[]A\A]A^��DL�%�T'��H�wHH���x���H��t�H�E0H��t�H�}��H�k(�[���fDH�}L�%�T'H��tX�UI�$��~KE1�f.�N�4�M��t+I�~H��t��I�$I�~H��t��I�$L����H�}I�$I��D9m��H�}H��t1���h�H��A�$H�k(H������������1�H���h�����f��ff.�@H����AUATUSH��H��H�L�-�S'H��tA�UH�{H��t�_�H�k H��tIH�}H��t�q_�H�}HH��t+�E@��~ E1�fDJ�<�I������D9e@H�}H�A�UH��A�UI�EH��H��[]A\A]���ff.�@ATI��UH��SH�~H��H��t
H�r聑�tH�}H��t.�?H�CHuH��t 1�[]A\��H��t�H�p�J��t�H�EPH��td���tn��u1H�hPH��t�H��H��L���z�����t<��x�H�m@H��u��fD�;}�H���}�#H�CH�5H�81���[�]A\��H�h0H��t�H��H��L���������B������<���H�m@H��u��DH��H��H��tdH��H�1�H��tF�@ H�H��H�dMA�E1�QP1�jjjjQ1�jjjj�l�H��h�f.�H�p�f.�1�1�1���AVAUATUSH��t3H���H��t'�Gx��~ ���GxH�H�,��EH��[]A\A]A^Ð���L�5QP'I��MލC�H�L�,�L��A�H��H��t(�I�}��XA�H�EH��t'[H��]A\A]A^�H�5�L���������H�5��L�����H��P'H��1�뺐H����UH��SH��H��H��tyH���H����HcWx�O|9�|-�4	H��H��N'Hc�H���H����H���HcSx�c|�J�KxH�,�H��[]�DH�5:�H���)���H���H��uEH�VP'H�}�H�H��H��[]��f�H�(H�GxH�O'�@�H���H��t�HcSx������H�5�H������ff.�@UH��SH��H��H���H��t`Hc�����9�|.�H��H��M'���Hc�H���H���H��tPHc���J���H�,�1�H���H��[]�@H�AN'LJ�
�P�H���H���x���H�5�H����������f.�H��H��H��tdH��H�1�H��tFH��@DH��tUH��H�?JA�E1�QP1�jjjjQ1�jjjj�Zi�H��`H��ÐH�p�f.�1�1�1�H��u�H�RIA�E1�1�P1�jjjjjjjjj�	i�H��PH���H��I��H��tTH��H�1�H��t>�@DL�AQ1�APQ1�jjjAQA�APM��jjjRL���h�H��h��H�p�f�E1�1�1���H����AUD�jATI��U��SH��H���-��C`f���tn9����1�H�[@H��t/��t+��P���t�H�s0��t'��L�����H�[@����H��u�H��[]A\A]�@D��L���m��������fDf�k`H�s0��L���N����������f�S`���|���H�sL�CL��E1�H�
�K���H�������[]A\A]�f�1��ff.�f���H��锏�@��H����M����AWAVM��AUI��ATI��UH��H�5VSH��H��L�D$�]�I��H�����+��H��H����H�5�CL����t\��L�k1�H��L��H��肐�u|H�T$L��H��L����N�H�߉��!��1�������H��[]A\A]A^A_�f�H�51CL���Q��t
���DH�5CL���1��t���l���H��躇�����H�5�BL�����t
���<���f�H�5CL�����t������H�5�BL���É�t�����H�5a8L��襉�t��������H�5�BL��胉�t�����H�5_BL���e��t�����H�5�
L���G��t�����H�5:BL���)��t���d���H�5&BL�����������B������H��t^ATUSH��H��tKH��H�5�SM��H���[�H��t1L��H��H��H��� g�t1҅���څ��E�[]A\����������D��AWAVAUATUH��SH��(dH�%(H�D$1�H��L�l$`H�D$H�D$��M�����u\H��H��tTH�5=SI��M��L����Z�I��H��t7M����L�d$H�T$L��H��L���^f�t:H�|$L9�t�;�������H�L$dH3%(u{H��([]A\A]A^A_�@H�|$H�t$��]�H�|$��L9�t���H�|$����t�1�������H�T$L��H��H����e�u�H�|$�L����p����3Z�SH���@H��H��G'�H��tf�@@ @0H��[�@1�H��H�D$���H�D$��f�ATUH��S���H����L�%aG'H�H�����A�$H���H�����pA�$H��H����H�xH��H�H��H�@h1�H)���p���H�Hc��H����p���H�������f�B`H��H�Z[]A\�f.�;��.����H�H���H�4�H��E'�H��tH���L�%�F'�G���fDH��H�5s��i���1�[]H��A\�ff.�@USH��dH�%(H��$�1�H��H���D$HD�H��HDЃ�'�9����H�=��Hc�H�>��@1�fDH��$�dH3%(�H��[]��H�l$I��L�	�f�1����H����I�|$�nH��Ƅ$��b�H�|$H�D$�ma��x����H�l$I��L�y���H�l$I��L�����H�l$I��L���l���@H�=X��b������H�=(��b�����H�=����a�����H�l$I��L�������@H�l$I��L�����@H�l$I��L������@H�l$I��L�������@H�l$I��L�I����@H�l$H��I��RL���1���H����+H�XZ�|$�����A��L���H��1�������G��j���fDH�l$H��I��RL�L��f.�H�l$I��L�	�����@H�l$I��L�����@H�=���`�����H�l$I��L�I�����@H�l$I��L�	����@H�l$I��L�����@H�l$H��I��RL�$�����H�l$I��L���\���@H�l$H��I��RL�������H�l$I��L����$���@H�=Y���_������H�=��_�����H�l$I��L�:�����@H�=���_�����H�=���t_��o����H�l$I��L������@H�l$I��L�e��|���@H�l$H��I��RL�T������H�l$I��L���D���@H�=����^�����H�=4���^������"T�f�H��t+�����w!UH�!�H��SH��H��Hc�H�>��@��H����H�=���~�H�s0H���H��H��	[�H�=��]�d~�@H���	�H�=T��G~�H�s0H���;H��H��
[�H�=4�]�~�@H����H�=���}�H�s0H����H��H��
[�H�=��]��}�@H���
�H�=���}�H�s0H���H��H��[�H�=��]�}�@H����H�=���o}�H�s0H���cH��H��[�H�=��]�D}�@H���
�H�=���'}�H�KH��tH����H��1��}�H���H�=���|�H�s0H����H��H��
[�H�=��]��|�@H���
�H�=q��|�H�s0H���H��H��[�H�=U�]�||�@H����H�=��_|�H�KH��tH����H��1��|�H���H�=D��'|�H�s0H���H��H��[�H�=��]�{�@H����H�=e���{�H�KH��tH�X��H��1��@|�H���H�=�{�H�s0H���H��H��
[�H�=�]�|{�@H����H�=���_{�H�s0H���SH��H��
[�H�=��]�4{�@H����H�=���{�H�s0H���H��H��[�H�=��]��z�@�si�H��j�H�{�H�5��H�8H��I��1�[]A���H���
�H�=)��z�H�{tRH���H�=��wz�H�KH��tH���H��1���z�H�KH���H��1���z�H�sHH���2H�s0H���&H��H��[�H�=��]�z��H��H����[H�=k�]��y��kh�H��i�H�s�H�5��H�8H��I��1�[]A���H��H����[H�=�]�y�f�H��H���	�[H�=��]�ay�H�v0H��[]�T@H���
�H�=l��7y�H�s0H���+H��H��[�H�=P�]�y�ff.��H��t3UH��SH��H���H��H�����H�[@H��u�H��[]�D��AVAUATUSH����H��H����I��H�I�A�,$�E��w2Hc�H�>��H�
u�@H�i='H����H�81���x�1�[��]A\A]A^�fDM�d$0L���E1�M���gL���L��H���^����Ņ�u)H���M����H���L���Z�M�d$@M��u�L����fDL���H����t���fA�|$`��g������L���I�l$0L���fA�T$`�__�H���H����H�Ǿ�R`�H����&>�H���H��tH��H�����H�m@H��u�H���H���H���h�H�����R��XH����pn�I�D$h�BfDM�d$0M���i���f���������fDH���H���1��{Y�H����v��������H���Hc�H�>��fDH���H���1��3Y�I�t$0H��H���H�����H���E1�H���H�
��H���M�H���H��1�1���X�H������DL���M��t1I�L$H��t'H���L��M��1�M�D$�I>�L���H���A�D$b@t
fA�|$`��vL��H���;L������t���DM�d$0M���_���L��H������Ņ��L���M�d$@M��u��;���fDH���H���1��X�I�l$0I��H���H��H��tH��H�����H�m@H��u�H���H���L��1���W�H���L��1���W�H�����[]A\A]A^�DI�l$0H���*H��H���7���H�m@H��u�I�l$0L���H���/H��H������H�m@H��u��p���L���I�l$0L��H��tH��H�����H�m@H��u�H���H���L��1�� W��"���I���w������L���I�l$0fA�D$`�\�H���H���D���H�Ǿ�]�H�����:�H���H��tH��H���T���H�m@H��u�H���H���H���5e�H����9k�I�D$hH����:��H���1��T�L���L����Z���H�
כ�/���H�
���#���H�
�9����H�
5�����H�
�����H�
���H�
m����H�
�$����H�
8b����H�
�9����H�
����H�
�S���H�
����H�
����H�
�$���H�
��{���H�
k8�o���H�
���c���L���L�����1�����I�|$h�;�I�D$h����L���Y���f�H����USH��H��H��t:I��L�
��A�1��у��tp����wIc�L�>��fDM�@0M��uи����H��[]�H��1�[]��I�h0H��t�H��H���|�����u�H�m@H��u�H��[]��L���h��A�@b@tfA�x`�uA��q���Hǃ�H��H��L��[]������ÐATUSH���H�WpH��I��H��t���~���H�RH�H���6DH�a4'�8�H��H����H�@0f�@@ �oM�CH�{0�oUS�o] �C[ HcU��~=H��tF9�}'HcuH�'3'H���H��H��tI�EH�{0�CHcUH�u0H���W�H��[]A\�fDHc}H��3'�{H���H��H�C0H��u�H�5o�L���q��C��1��@H�5G�L���I���AVAUI��ATI��USH��dH�%(H��$�1�H���?H�^XH���G1��hH��wH��H�[0H��H��u�I�UpH��t���~���H�RH�L�4��7fDH��2'�8�I��H����H�@0f�@@ I�F I�F(M����I�D$M�&I�FA�F��tFI�~0H���A9n��A�n����I�D$XH��tI�V0@H�H�@0H��H��u�A�nH��$�dH3%(L���H�İ[]A\A]A^�f.�I�E0I�^I��f���H�0�gq�H��H����1�����@H��0'Hc�H���H����I�F0A�nA�n���H���Hc�I�N0H��H�,�H�$H�yH���H��H�T�H�T�H)�H)����H�A�n�&���fD���M�A�FH�H�<�H�81'�I�F0H������f�H�5��L����������E1������_C�ff.�@���t91��� w,H�&H��sf�H�����t< w	H��r�1��D��f.�H������B���v_H���#�H9�tjH�P@H��tXH�Ћ�J���v7��t3��
��	w�H�H0H��t�H��DH�B8H�R@H��u�H�ȋ�J���w�1��H9�tH�P@H��u�H�@8H��u��ff.�H��H��tH�W@H�P@��H��tH;~0t-H;~Ht7H;~Pt������H���fDH�W@H�VP��H�W@H�V0��H�W@H�VH��H���'AVA��
AUE1�ATI��UH��SH���+f�{`�t�����H��L��f�s`H�s0���H�[@H��t?��P���t�H�k8��tF��uyH��t�E�P�������vBI��H�[@H��u�[]A\A]A^�����<H��tՋE��w�I��� ��u�L��H��H�����I���l���DH�s0H��t
H��L�����������H�sHH��tH��L�����H�sPH��tH��L������������P�wvH�S0H���H�z@t:�����H����!Є������E�P������������@���H��L	��\H�C@M���iH�B@�H��I�U@f������H�C0H��������8�������@H�sPH���7�������H����!��f���f�H�S0I��H��t�A�L$D��ucL��������uGH�S0H�KHL�B@H��L�C0L��H�H@H�CHM��uNj�P��]���DH�������L�C0L��M��t�I�p@H��u�f.�I��I�p@H��t3A�T$D��u�H���C�����u�H�F@I�@@H�CHH�F@H�sHI�p@H��u͋�\���f.��E[]A\A]A^������I���I����E���H�U0H�[0H�C@������H�����������ff.�@���t#���t��t����t
��u
��u��������f���� v1H�&��taf.��� vS�WH�GH�DŽ�t@��H�&H��s�H��@H����� vDH�&H9�t�D��u<��H��s�H���H����� w�H��r��t��H��r����� v�H��D�H����H��s�f.��PH�H�� vH�����H��sH���݄��i�����AWAVAUATE1�USH��H��t,I��I��H��I��H�k0H�CHM��t)H��t�{tvH��H��u�H��D��[]A\A]A^A_�@H��t݃{u�H�{H�5*��
j�tQH�CHH�5�H�x�i�t9H��A��c`�H���Q��f�H�{H�5���i���H�{H�g����{�]���H�{H�5���i��E���H�CHH�5��H�x�wi��)���H�ShH��tVH�BH�T$H��tHH�@H��t?H�xH�5���?i�H�T$��t&H�z�=i�1�L��L��H�P������DD�H�SL��L��L���~������DD����DH�CHH�5��H�x��h�����H�5�GH���]@�H���n���H��H�D$����H�T$L��H���h�H�T$��uH�7*'H���7���H��A���^�H���O�H�T$��I��H��tI��F�P���v-�P�v%����w&A�uH�~PH��t�����tDH�v0H��u�H���ff.�H�G H��tWH�W(H��u
�L@H���8u�H9�u���8uH��H9�u�H�G 1���H�G 1��f�H�G 1�H�G(�ff.�f��������H��tBSH��H�5H���_g���t��[�f�H��H�5��Ag�1�[�������fD���ff.�f�UH��SH��H���>��H���H���8u�H)؍xHc�H�/)'�H������� v\@H�&H����� �H����t(�� w-H��s'�H����� w�H��r��u��H��[]�H����H�&H��s��H����� w�H��r��y�����Q���H�5��H��H�D$���H�D$�@��AUATM��UH��SH��H�5�H��H���e�tH��L��H��[]A\A]��e�H�5v�H����e���L��H���e�ueH����H��1����I��M����L��1��l���H��H��tDM��t?H��L��1��re���H�''L��H��tH�''H��H����[]A\A]������M��u���@�������f�M��t�L��1���������H����H��t�H��H��&'��������USH��H��H�-�&'H�0H�EH��t��H�EH��H��[]��f�H����AUATI��USH��H��H��tpH�opH��tQHcU�MH�E9�|(D�,	H��H�,$'Ic�H���H��tVH�EHcUD�m�J�ML�$�H��[]A\A]�D�(���H��H�CpH��u�H��L��[]A\A]�0�����H��H��H�5��[]A\A]�_��ff.�@H���GH���>AVI��AUI��ATI��USHc�NH�F9������#1���H��9��H�,�H��t�I9���H�MI9$u�H�}I9|$u͋uA9t$u�A�L$;Mu�H�}(I9|$(u�I�|$ H�u H9�t�3c���A�L$��~BI�t$0H�}0H�H9�����H����H��H��H;T��~H9�u�L��L���%���1�[]A\A]A^�f.��	H��H�s"'Hc�H���H��tKI�EIcUA�]���@������f.��JA�ML�$и[]A\A]A^�I�EIcU����H�51�L�����������n����AWAVAUATUSH��H����A��I��H�|$H��1�E1�E1��3��H���v@��
��	w
H�C0H���I9�trH�C@H����H�ËE��t�A������	u�M����D9�$�H�q!'L��uHc�H���H����I��Ic�A��I�\�I�D�I9�u�H��L��[]A\A]A^A_�f.�I9�t�H�C@H���m���H�[8H��u����H����l����H���� ���M���`����H��!'�X�I��H��tQ�
�b����H��DH�Y8H�I@H��u����H�|$H�5���U��H�n"'L��E1��5���H�|$H�5���0������E1�������H��t'H��H��H�5�+�43�H����H�����fD������f.����Gcu~ATI��UH��SH�F0H��H����H�0u5H�x0H��t\H����0�H��tO�H�C0H�[XH��u�[]A\�fDH�wI��E1�H�
_��[H��]A\���fD��H�sM��[H��E1�]H�
j��MA\����fDI��H�wE1�H�
������UH��H��SH��H��H��f�ObH�E0H�x8�'^�xH��[]�@H�E0H�sH�x8�0�H��tH�PXH�SXH�XXH��[]��L�CE1�H�

�M��tH��H��J1�[]�0��E1�H�
���@AWA��L��AVM��AUM��ATUH��SH��D��H��H�T$L������H��t{I�ċCD��tiH�{H��HDl$1�H��tm�C H�I��1�AVA�1�AUATjjjAVAUjjjAW�:�H� 'L��H�H��x[]A\A]A^A_���D�{D�f�H��[]A\A]A^A_ÐH�s�f.�AWE1�AVE1�AUATI��USH���GP��\�DA�Et<I�}H��t	H��'�I�} I�EH��t	H�g'�I�E A�EI��E9|$P��I�\$XK��L�,�A���I�UA�uI�}M��tbA�G�1�H�L�H����H��(H9�tGI�\$XH�93u�H9Su�H�sH�L$�7]�H�L$��u^H��(I�UA�uI�}H9�u�f�A�D$8uI�MM�M I��L������A������@A�D$PH��[]A\A]A^A_�H�s I�} H�L$�\�����I�UA�uI�}H�L$�@���H���W�G8��LAV��AUI��ATI��U��SH��H����tU�GP���BH�K`H���H�H�IH��H	��
����H��M��M���H��[]A\A]A^�>���fDH�XH���#�ST9SP���H��'D�D$�STHc�H�4�H���H�CXH����HcSPD�D$H��H�D��H�CHH��tH�S`H��t
H�2H9p�SH�{XHcCPH��L�4�A�.E����M�fM�n A�FH�C`H���H�H�@I�VI�F�CPL�sHH��[]A\A]A^�fD��H���1����f.������C8�����H�CH�I���H��H��H�51�[]A\A]A^�\��@H�D�D$�@H�CPH�Y'�D�D$H��H��H�CXt�HcCP�STH�CH9���������f.�L���X*�L��I�F�L*�A�FI�F ��I�FI�F���;(�������AUATI��UH��SH��H��H�vH��tH�z�Z��SH�sI�D$HH���	�>��H���H�x��Y��H�CPH��������6���oH�XPH����D�m8D����E8H���"f.�L��H��H���B������Y���9H�[@H��u�H��t�����E8u
H���=���DD�m81�H��[]A\A]��H���I���H�SH����H��E1�1ɾ�h���H��1�[]A\A]�H������H�SH��u�H�CPH������H���[]A\A]�f�I�L$H�SH��E1��
�D$�����D$H��[]A\A]�@H�X0H����D�m8D����E8H��t*�L��H��H���"�����te��x!H�[@H��u�H���n���D�m8�e���fDH�����D�m8H��[]A\A]�H��u��=���fDE1�H���t���1����DH����������f.�I�T$E1�1ɾH���)���1����f�H�KI�T$E1�H���D$�����D$�X���f.�E1�H�����������EP���%���1�H��蓿������fDI�T$�4����C�H��!D�$&H���H�5��H�81��Ӹ��������ff.�f�SL�O`A��I��I�qH��tH�8��I�AH��uyA�A��~7I�y0H�7H��u^�H��H����H��H�t�H��u��H9�u�1ۉ�[�D�Љ�E��t�I�H�VE1��L��H�H������[û�����ջ����E��t�H�HI�E1��L��H�P����f.�H����H�GhH����D�E���~S�@BL�XA�Z�1�H������D����`E��u[H�HH9�t:H��I��A��H��t��A��H�yu͋I9�|E��tΉ�Ic�H�HH9�u�A9�~���u[�@��IcѾ���fDI�Ӿ[H�G`�e���DAT�I��UH��SH��dH�%(H��$x1�H��$�H���H��EDŽ$�	��tF��	tA�������O�JA�H���A�H�8H�O�H�5��1���1���A�<$��H�EH��H��HD�H�D$@H�EH��t	�8�H�D$xH�T$0L��H���S�����tH�}PH��t�L��������t�f.�A�$��t	��	��I�D$H���H��HD�H�D$@H��H�D$xI�D$H�����8��H�D$xH�T$0H��H��������tI�|$PH������H������f��H��$xdH3%(��H�Ā[]A\��H�}0�G������>���1��f.�H��H�D$H�T$x���fD��?�H��[@�*�t����H�T$�H���fD1��>���h���H�D$�(����1&�H��tsATI��USH��t?H�?H��t6H�6H��t.L��H��u�4@H��H�3H��t$H�}�����u�[]A\�f�[�]A\�fDH��H�}t�I�4$����f�H��t���t��t�fD�Fb u�WD��u�AWAVAUATE1�USH��H�FHH��t�H�@@A��H��u�H�F0H��tf.�H�@@A��H��u�H��'H��Ic��$H��I���Hc$H��H����M�}HM��tAA��.f��L��H����M�@J�D�Ic�I��M��t�UD��t�1���M�u0L�<�M�����E���!A�D$�E1�H�$H�CH�D$f.�J�<�taM��t\H�L$A�G�I��L�$��f�I��M9�t?I�6H��t�J�<��&�����u�I�uE1�E1��H�
<�H��I�����M9�u�I�GL9<$t>I���f��L��H�����M�v@I�I��M���4����ED��t�1���L�%�'H�L$H��H�$I�$L�4�DH�}H��t��I�$H��I9�u�H���fA�Mb H��[]A\A]A^A_�H�G'H���H��H��H�5��[]A\A]A^A_���DAWAVE1�AUATUSH��XH������A��H��I����@A����A��D‰D$ �Ѓ� E��D‰D$A�M�A�����@���oI�}0��A�U`f������ƒ�f����5M�m@A��t$A��t+A����A���A���D�������A��M���x���H��XD��[]A\A]A^A_��������	���A��:���������O���~���������tB����@��������-���I�uE1�E1��BH�
�H���4��1�����@����@����@��t#I�uE1�E1��GH�
u�H�����D����fDI�uE1�E1��4H�
��H������I�}0�s���A�}
I�u�HI�EL���H�ߺMA�H�
��H��LE��|���A�U`f����8��������I�u0A�MH��fA�U`������P�fA�U`����@A����������A��t'��t"A��tE1����&���A�����DA�����DE1����A��G�t6���@@����@����@�� �r@��@�@@����@���E��uI�}����I�u0A�MH�߃�����1��K���@����@����I�u0��A�MH�߃�����Ɖ��>�����f�L��H���%���@���K@����@����I�uHA�M1�H���E������EI�u0A�M1�H���+���������I�uM�EE1ɺ�H�
��H�߉D$诿���D$���fD@���>@���@���R��I�u0A�MH�߃�����C����E1�E1�H�
S�H�ߺM�F�������@���@����@���I�u0A�MH�ߋT$ �^������f�I�}P�i���E1�E1�I�}I�u�CH�
��� H���̾���;����I�uE1�E1��-H�
��H��袾��@�������I�uE1�E1��@H�
��H���z�������DI�uE1�E1��?H�
J�H���R������DI�uE1�E1��>H�
��H���*����k���DI�uE1�E1��6H�
��H�������9���DI�uE1�E1��+H�
:�H���ڽ������DI�uE1�E1��FH�
��H��貽���Q���DI�uE1�E1��3H�
��H��芽������D@����@����I�u0A�MH�ߋT$���L��H�߉D$�I����D$����I�uE1�E1��7H�
��H���"���@������I�uE1�E1�H��H�
���,���I�uE1�E1�H�
���,H���ܼ�������I�uE1�E1��.H�
�H��貼�����DI�uM�EE1ɺ�H�
��H��艼�����@I�uE1�E1��2H�
��H���b�������DI�uE1�E1��9H�
��H���:������DI�uE1�E1��EH�
��H���������DI�E8��H��t	���8E�I�u0�H���3������@���I�u0��H����������I�uE1�E1��CH�
��H��螻���-���I�uE1�E1��0H�
c�H���{�������@��t�I�uE1�E1��AH�
*�H���R���A�M�u���I�uE1�E1��1H�
��H���+������I�uE1�E1��8H�
H�H����������I�uE1�E1��1H�
��H������������I�u0��H���������I�uE1�E1��HH�
��H��覺��A�M����H�
&���H��艺�����A��������I�uE1�E1��/H�
�H���[������I�uE1�E1��5H�
��H���8�������I�uE1�E1��;H�
=�H���������A�Eb ��CD�D$0����L���n����D$��I�E0H��tH�@@�D$H��u�Hc|$H�'�T$H����T$H��H�D$������D$$H�D$I�E0H���H�|$D�t$HL�l$8D�t$$I�ʼnl$@H�l$H�|$(D�d$4�!L�`A����M�m@H�D$(M�����CD���]H��1�L����H�|$(H�H��tH�H��u�E1��H�rL��H�RH���6H��t	�:�1�H���9�uI�$H��t�I���������t�A������c���H�|$H�ًl$LD�l$0H�\$8H�D$D�|$(H��'H�<�D�d$4A��H�|$D�t$HH��H��L�l$@H�2H�;H��t��H��'H�2H��H9\$u�H��H�|$D��D�|$(��|$0tfA�Mb�|$$�7H�D$H��t
1�H����fA�Mb I�u0A�M��H���8���L��1�H�5ۮH���8����H�D$(E1�H��q���H��t	�:��1�H�5dH���G8����D�d$4L�l$8D�t$$�l$@D�t$H�D$������D�d$41�H�D$(H�D$D�t$HH�xL�l$@D�l$0H�|$H�\$8H�ˉl$LH��H�|�t:H��t5H�|$�C�I��L�$�I�6H��tH�|�����DD�I��M9�u�H�CH;\$(�:���H���H�D$fA�MbI�E(����H�2'H�|$����H�5tH���W7������
�X;��D$$H�D$���H�5��H���ǵ���x���f�UH��SH��H��H��H�6H��u/�VfD����w��P���t1����v)H��H�s�H��t)�E��uу>u�1�H������u�H���[]ÐH��1�[]����AWAVAUATUSH��HH�T$dH�%(H�D$81�H�X�~I��I��H��E1�������<H�5�H���YB��y�����H��'L���H�mXH��t0H�}H�5����I��H��u�E���^H�mXA�H��u�I�uL��������I��H���������A�L���DH�E@H��L�{0H�[XH��tLH�C0H��t�H�x@tH�pL��蠺��H��t+H�S0�H�P0H��u�I�G0H��L�{0H�[XH��u�@M�}0E��uWI�|$h�VE�L$`H�\$�� H��L���� A�AA�D$`1���I�|$hL��H����?���H�D$8dH3%(�2H��H[]A\A]A^A_�DH�5d�L����@�te��t81��u���f�I�uL�D$E1�L��H�
:�����S���I�uL�D$E1�L��H�
����訳������I�uL�D$M��L��H�
���Z耳������C���I��H���'���A�E1��N���I�uE1�I�غH�
�L���:�������
��7�I�D$hH�������I�uE1�E1��H�
��L����������DUH��H��SH��H���?�H��tH��H���<H��H��[]�f�L���E1�H��H��H�
���H�D$蚲��H�D$��AWAVAUATUSH��HdH�%(H�D$81�H���9H�D$0I��H��I��H�D$A�F��ta����w-I�~PH��t
�������I�F(H��t�x��@I�n0M��H����L���@5�L��I����%�A�F��u�I�FHH��tH�xH�5���>���I�F(H��t��xu�H�xH�5��l>�uI�F(H�5�H�x�T>��!
I�F(E1ɺL��H�
^�L��L�@�j����M���DL9�tI�F0H���M�v(M��u�M��tL���x4�L��� %�H�D$8dH3%(�oH��H[]A\A]A^A_�1�1�L���a�H�D$H����H�<�&�0H�D$ �I��H���f�L��@@ H�D$I�E�D
�I�EI�GpA�E(I�EM�opH��t1H�|$�]=�H��t"H�55�H��H�D$(�4�H�L$(H����I���H���gA���A���9�|7�H��H���&A���Hc�H�4��I���H���RA���Hcʃ�L�,�M���A���H�t$L�����H���YA�����~7��I����Hc�A���H�<�tH�t9�I���H��H�D$H�H��t
H���H�D$H�L���M�nhI�~H�5��*<��,E1�I�FH��t�P�J���v��u
I�F0H�����I��M������L��M������f�I�nXH��u+��f�I�~H�5��;��L��M����H�EHL�e0H��tH�xH�5���;�t�H�}H�5��{;�u�H�}H�5a��g;��WI�~H�5��O;�u�I�~H�5�f�;;��{���L�EM�N�
L��H�
t�L��L���Q���M���\����I�~H�5����:��H�5ջL���y�H��H����H�5HeL���^�I��H����
L���J�I��H����H�x@�SL��E1�M��H�
��L��趭��H��&H��H�D$�L���]�H�D$L���v���fDH�xH�5t�8:�����I�F(H�5�`M��H�x�:������@H�}H�5d�9���I�~H�5����9�� ���I�~H�5����9��������I�~H�5���9����I�~H�5��9�����I�~H�5ګ�x9������I�~H�5`�`9������I�~H�5��H9����������H�}H�5���(9���H�}H�5���9���H�uI�~@���,�I��H���2����8��	H���&L������I�~H�5���8��HH�53cL���I�I��H���Q	I�~@L�����L��H��I���;�H��H����
H� �&L��H�D$I��M��tL��A�UH�5D�L�����H�D$H����	A���E1��g�I��E9���OI���H��J��H�x�7�t�E1�I��H�
'�1��L������H�|$tH�D$H�|$�L��E1�I��H�
��L�����H�D$H������I�~H�5�`�7����������I�~H�5���`7�uI�~H�5R��L7���H�5aL�����H��H�����I�~I�vH�I�~@1�H�1���I��H���I�~H���p,�I�|$@H���c�L��H���h�H�5�L�����H�r�&H��H�D$�H�5��L���I�H��H����
H��H�5��L���{�H�D$H���B���H�}H�5e��l6������M�NL�E�YL��H�
��L��腩�����H���8�I�~@L���|�L��H��H�D$�8�I��H���M
H���&L��H�D$I��H�D$H��tH��A�UA���E1�������I��E9����I���L��J��H�x�5�t�E1�M��H�
�1��	L���Ȩ��E1�M��H�
C�L���L��諨��H��t
H�D$H��H�D$L���u���M�f(M����A�|$��L�-!��M�d$(M����A�|$��L��L����H��t�H���)���H�5�L��L����M�nH�D$M��tZH�\$L��L�l$f�M��tH�5��H����H���H��L�c0�+�H��H�����L��H��M��u�H�\$H�|$tH��&H�|$�I�N`H�������I�V(H���t���H��`�H��H�H��u�H�
I�F`�S���I�F(H�5�ZH�x�4������2���H��H�$L���X�I��H������I��E1�H�
o�L����L������H�5�L�����H�i�&H��H�D$�H�5��L���@�H��H���	���I�~H�5���3��B���H���H�5b�H���V��'���I�~H�5z�Q3�uI�~H�5P��=3���H�5"�L���&��H���;	I�~H�56�
3���I�~H�5��2������A�GA�����E1�E1�H�
��L���=L���������1�1�H���T��I��H���r	H�1�&�(H�D$ �I��H���f�H�@ H��@L�`�:�H�|$I�EI�GxI�EM�oxt/L���Z2�H��t"H�52�H��H�D$(�1��H�L$(H���	I���H����A���A���9�|7�H��H���&A���Hc�H�4��I���H����A���Hcʃ�L�,�M���A���L��L����H����A�����~7��I����Hc�A���L��tJ�|�I���H��H���d1�H�D$ H���nH�D$ H�xH��L�d$ A�|$�zI�|$H�5U��1��aI�D$HH�5 �H�x�0��DM�fM����H�\$(�I�D$0H����I��I�|$Ht�A�|$u�I�|$H�5�Y�0���I�|$Ht�A�|$u�I�|$H�5���}0��VI�|$Ht�A�|$u�I�|$H�5��T0��t���I�D$HH�5`�H�x�70��W���I�D$H���W����D���@I�D$0H���@���M�d$(M9�u�H�\$(H�D$H�|$H��aH���M�nh��L��E1�E1��H�
T�L�����H�e�&H�����E1�I��H�
6�L���L���΢�����H�5ZL����I��H���E1�E1�H�
�L���L��葢���t�E1�E1�H�
'�L���L���o����R�H�����H���H�8��H�x@t(L�EM��]L��H�
²L��H�D$�%���H�D$H�������L��E1�M��H�
��L�����H�_�&H��H�D$��C�L��H�5��H���~����M�n(M���B���A�}�7���L�%^�� �M�m(M������A�}����L��L�����H��t�H�D$��H�� I���H�D$ �I���H�����H�5١L��肠���;���E1�L��M��H�
�L������H�-y�&L��UM�����L��U���H�� I���H�D$ �I���H���l�H�5I�L��������H�����I��H����H�h@H����E1�M��H�
`�L���L���p���H���&H�D$��I�D$HH�53�H�x�
-������H�5L����H��H����H���O���H�D$ H��H��L��H�P�H������H�D$H���<���I�D$HH�5ŧH�x�,������H�D$ 1�H��L��H�P���������E1�I��H�
9�L���SL��號������L���L	�H��H���;���H�t$H���3�I��H����I�~@H�T$0L���v��H����H�PH�5��L����	�L��L�����H���&L��I��H�D$�H�|$0A�UH�D$H�����L��E1�M��H�
v�L�����H�O�&H��H�D$�H�l$L��UH�|$H��������L��H�5L����L�������I�~H�5�	�K+�����I�~H�5��3+�L9��X���PI�F(H�����H�xH�5�A�o@�+���I�F(H�����H�xH�5���*����A�O@L��L���q�I�F0A�o@H���>I�����ILJ���H����I�~@L�����L��H��H�D$�,�I��H���P�E1�M��H�
�L���L��胝��H���&H�D$���L�EM��^L��H�
ĭL��H�D$�O���H�D$���L�EM��L��H�
o�L���'�����I�n(H�����}��L�-���H�m(H�����}��L��H���@�H��t�L��H��H�5��I���v�H�/�&L���X���L�l$L��E1�M��H�
��L��蓜��L������ILJ���E1�I��H�
��L���)L���Y����<�H�T$H�5��H���������H�<�H�5�L���������L���D���E1�I��H�
3�L����L��������E1�M��H�
)�1��)L���ڛ���
�H��H�5�H���s��X�H�'�&H�D$����X��E1�M��H�
S�L���L��苛��H���&H�D$���L�D$0E1ɺIL��H�
ۮL���[����'���I��I��H�
Q�L����L���9����4���E1�I��H�
��L���L�������]���I�~H�5ܛ��'����A�G@��uT���n�E1�E1�H�
�L���<L���˚���L�H�|$��H�D$H����E1��\�A�O@���E1�E1�H�
p�L���*L��耚����ff.�AWAVAUATI��USH��H��H���H�~H��~��H�~H�5��A����&���H�CHH�5��H�x��&���H�{0tE1�E1�H�
��H�޺L�����L�sM����H��L��蛟��I��H����H�k�H����A��E�E1�A��A��	��I�]@I��H�m0H��t`H��L���E���H��H��tMD�8H��H��L���|H��t�M��u�I�^0I���f�E1�E1�H�
�H�޺L��E1�� ���H��L��[]A\A]A^A_�fDE1�E1�H�
�H�޺L�������f�AWAVI��AUATUSH��H��H��tGH�~HH�~t�~tFI��E1�H�
!�H�޺�L��虘��1�H��H��[]A\A]A^A_�DH�=����H�5MI���!%���H�{HH�{t��{u�H�5��$���H�{HH�{�o����{�e���H�5���$���L��H�{HH�{�?����{�5���H�5��$���H�{HH�{�����{����H�5���r$���H�{HH�{����{����H�5X��E$��H�{HH�{������{�����H�5L��$���H�CHH�5%�H�x�#���A�}L��t!H��L�����H��H���z���L�h8�L�cE1�M��t}H��L��L������H��tM��tMI�G@I��M�d$0M��u�L9��4���I�UPH��u�0H��H�B@H��u�H�j@����H�{����I���I�mP���E1�E1�H�
ޗH�޺�L���c���덐H�CHH�55�H�x�#����A�E���0�����	�'���H��L����H��H���~���L�h8A�F@��������	�E���f�H�CHH�5ŝH�x�"������H����I��H��tH�����1�L����t+H�C(H���L�@M��H��H�
{�L��胕��L�eH�5,�H�����I��H�EA�F@�����H�������H�5��H���"���A�F@�_���A�<$�T���H�}H�5f���!��<���E1�M��H�
K�H�޺aL��������fDH�CHH�5��H�x�!��"���H�sH�EH�EH������1�A�}	L�����-���H�EP���@H�CHH�5e�H�x�<!��0����;����H�CHH�5=�H�x�!�����H�EH�5�H����H�EH��t=A�F@ucH�sH���i����?���H�CHH�5�H�x� ���������E1�E1�H�
1�H�޺!L���ғ��A�F@t�H�EH��t�H�5�H���s �t�L�EE1ɺbH��H�
��L��葓���g���E1�M��H�
��H�޺�L���o������E1�M��H�
u�H�޺bL���M����
����H���DATUSH��H��H�Ht
���H�[(H�����{�|L�%_��H�[(H��tg�{uaL��H���>��H��H��tހ}t8H�5M�H������H��H�D$t:H� �&H��H�D$H��[]A\�DH��&H��@1�H��[]A\�H�����H�H�5�J� �ulH�{H�6����{�,���H�{H�53�������H�CHH�5�H�x��������H�5n�H���d��H��H���"�������1��H�CHH�5řH�x���x����f�H�y�&H����H����AWI��H��AVI��AUI��ATUL��SH��H��H��L�D$�*��H����H���&�8�I��H����H�@0f�H��@@ ����M�|$L��H��I�$H�D$I�D$H�=�&M�t$ M�l$I�D$(I�l$0��xa1�H��[]A\A]A^A_�fD������f.���	�H�(�s
�H��H�5y�H�81��ո�����H�5=�1��݌���������	�H�(�9
�H��H�5o�H�81���I�<$H���&H��t�L��������b������AWAVAUATUSH��H�FD�D$4���^H�G0H���m1�H�@@��H��u�Hc�H��H�f�&H��I��H��H��H�D$H���H�C�&M�~0H�M���%�D$E1�L�t$�[��L��H���@����SDL�uI�D$���h�L��H������I�FM�@A�UH��H���&H�M����A�տ��I��H�EH�����KD1�A�?M�<$��D$���s���I�D$M��1��M��tI�H���GH�D$8H�L$H�HI�F(�D$��t$fA�Nb�|$4���|$4uH�D$8�@H��H[]A\A]A^A_�f��T$ L�t$� ��H�D$8H���uL�|$8�D$ f�I�G��A�GA�AG�F�H�\$�I�GH�D$A�D�l$0A��H��H�D$(@H�D$D�|$$J�l��L�ED9|$ �
���J���D$0H�L$(L��D)�I�D�L�$��-@H�H�}H�p�������H�}H��L9���H�H��t�H�p�^����u�I�vH�|$E1�E1�H�
ԣ��躍����H�5H�H����E���EH�-�&L�d$1�H�UfDI��H��tH�xH��t
��H�UI��H���H�UH��A9��H�|$H��H[]A\A]A^A_��H�5ՎH���~���D�l$ ��I�vH�|$E1�E1�H�
J����������I��H��tH�H��uE1�I�����@H�l$8L���fDH��H�A�����H��tA���to��u�H�pH�PL��H�}H��tvH��t�:u\1��5
�u�H��H�H��u��L$$9L$ �H�D$8H�L$D�l$4�T$H�HI�F(���I����>���H�}L��1�H�54�����f�H��t�:u&1�H�5����H��H�zPDE��m���f�H�5������H��HH��H�5s�[]A\A]A^A_����1����� ��H�D$8H��tKH�\$8f�1�H�C�C�C�D�H�L$H�CH�KI�^(H�D$8�@���H�5��H��裊��H���&H���1����ff.�f��������H��tBSH��H�5��H�������t��[�f�H��H�5SB��1�[���‰��fD���ff.�f�AWH�
�AVAUI��ATUH��SH��H�W`L�b A�}�A�EHc�H�>��@I�u L���D��|I�uH����I�u H����H�����I��M����L��H�����H��H���OM���FH��L�����L�%��&L��A��A�$H��A�$E����f�H�}`跮���E1�H��D��[]A\A]A^A_�I�]0H��t*�H��H�����A�ƅ�u�H�[@H��u�H�U`L�b M��t�A�<$t�D�u81�D����E8f.�L9b(t>I9�t9I�]0H��u��H�[@H����H��H���x�����t�H�E`L�` �UPD�u8���=���1�H��E1��~���.���I�]0D�m8D����E8H����H��H���#���A�ƅ���H�E`H�[@L�` H��u�D�m8A������H���q�������@M�������A�$�������< w+H�&H��sI��f.�A�$< �#E1���A��A���u���f�I�]0H���c���H��H���x�������H�[@H��u��B���f�H�JL��L��H����A�ƅ��&���H�}`�ʬ������DL��M�}0L�j(���H��H����H�&�H��@��t�� �k�HH����u�H�M`H��H�A(�;uH9�u�H9�t	H���:t�H�Q M����H9�t4L��H�����A�ƅ���H�M`M�@H�Q M���MH�A(H9�u�H�A ��f�M�m0M�������E1�1�1ҾH��A������9����'���@M������A�<$�����]8I�u0H��؃��E8�����]8����H�E`L�` �EP���������f�I�]0H������H��H��������u;H�[@H��u����fD��H��#�A#H���H�5ϒH�81���A������q���fDH��H�pH���H��t5�H�� �f���fDH���V���H����@��� �B�����H���8���H��t#E1�H9Q(tE1�1ɾH������A�����f�H�I�&H��H�E`L�` L�h(����I�E(H���EL�P M���8H�xH�E`H��M��M�EHI�MI�U �0A��^_���
���v��������H�U`H�B L��H��� ���I������@I��H����������DD�m8�MP���9������H�=%����H��H���(���E1�1�1ҾH��A�����������M��t:H�-L�&L��UH���d���H��U�Y���f�M���N���L��H���L���H��H���7���H�	�&H���&���H������H��H���&�����I�uH��E1�1ɾH��A���x����f���AWAVAUATUSH��dH�%(H�D$1�H�$H����L�j(I��M����I�EH��I��H�rH����H�RHI��I�}H��t	�:��1�H��ЉÅ��d������trI�VA�H��L��������ó��H�4$H��tI�E0H��tI�}��H�L$dH3%(���DH��[]A\A]A^A_�fDH��H��Љ��y����A�1�H��L���X����fDI�^HH��u;�uDH�SH�K I��I�vI�}L�$��1�H�[@����څ���H��t(��t$�;u7I�E(H��u�H�[@�1�H��u�fD��t���������f.�I�v01�H�������I�D$`L��L�x L�p(H�h H�@(�����I�D$`L�x L�p(����I�vH��E1��1�L���s���H�4$H��tI�E0H��tI�}�л�����������ff.��H�G`�P����AWAVAUATI��UH��SH��H�~�P�/���m1��H��uPH�E`H��9X�PH�P0L�,�L�4�M��t�I�vI�|$�g�t�I�|$I�FHH��t�?u�H��t
H�p�B�t�I�~@I�v���H�U`M�d$0H��H�B L�zH�Z H��L�rH�$1�H�B(M��u�)�M�d$@M��tL��H���K�����t�H�U`H�z H����H�o�&�D$�H�U`�D$H�$L�zH�J ��ulH�J0J�)�jH��[]A\A]A^A_�f�E1��~?f�H�P0J��N�4�M��tL��L��H���{����t@H�E`I��D9hʸ����H��[]A\A]A^A_�fDH���f���H���I����I�~@I�v����H�U`M�d$0I��H�B L�zL�j L��L�rH�$1�M��u�+f.�M�d$@M��tL��H��������t�H�U`H�z H��tHH�C�&�D$�H�U`�D$H�$L�zH�J ���<���H�J0H��jH��[]A\A]A^A_�M��t�L����������f.�AWI��AVAUATUSH��hH����L�g`I��1�M��tI�\$E�W<A�BA�G<A������xH��zHc�H�>��H�=���I��H���tH�5A{L��� {��A�G<D�P�A�����f�E�W<H��hD��[]A\A]A^A_�I�v0L��A�_P�%A�����wA9_P~��L���s����L���;{��I��H��t�I�w`H���^L������L��L��H���@���I�ohA�G8H�$�D$��A�G8A�E�D$L��M��I��H���D�UE���^
1�E1��<�I�V`H����L��L���ئ��I�F`���DD�H��9]~FH�EI�w0L��H��I�FhI�F`�$��t�I�v`H��t�L��H��貥��I�F`9]�E����A�E+D$����
�ED�d$A�ED9���
Ic�H��I�EL��A��H�4H����H��L��H������A�E�D$D9��I�nhH�,$H�����I�w0L���H$A�ą��UA�]I�V`�\$H���hL��L��轥��I�F`���L
A�u)ރ��
H�<$��L���Zy��I�nhH���"���M��f.��D$M�ohA�G8�W
A�_8L��L��A�oP�؃�A�G8����I�v0L��I���#����	I�wh�$H����L��L������D�$A�_8A9oP��D�$��L���q��A�G<D�$D�P�� ���H��I�8�T���H��A�Fb�>	A�GPI�^0E�w8�$D���A�G8H���%1�D�t$�5H���@I�W`H����H��L���w���H�[@M�g`H���,L��L���+���H��L��I���A�Ņ�t�I�w`L���j����L��L���-���A��A�G<D�P��]���I�v0L���q"A��A�G<D�P��A���I�v0L���eA��A�G<D�P��%���A�GPI�n(�D$TH�����E�D$A�G8�D$PA�Fb�Hc\$L�%�&H��H��A�$H�D$H�������H�|$H��1����H��A�$H�D$H�������H�|$H��1��n��M�_`I�8H�|$8I�sL�$�Ğ��I��H�D$HH���wH�D$0�D$I���H��L��DI�}L�`H����A�E��A�T$�r�������2H�$L��|$�H�4$�$�����H��k��)H��uH�5�H�81���A�G<A�����D�P����I�o8H��H�����H��H���w�x��E�OPL9phD�$�_H��L��L���٫��D�$���A�GP�D$����D9�~'�g�����������L���qm��I�GHH�����8
u�H�sH�x ��u�I�GH�H���=�C���E1��H��L���fDH�m0H����	�U�������w�H�uPH���S���H�����C����E1��H��L��� �H�m0H���,
�U����
����w�H�uPH������H�������C���1E1��H��L��� �H�m0H���l	�U���!
����w�H�uPH������H��t@�C����u	H�[0H��u�I�\$E1������D$P���|$A�G8����M��tI�t$I�8���I�D$H�EH�H�2�>�L���A��E��u"M�W`M��tI�rI�8D�$講��D�$I�B�D$PA�G8@A�G<D�P��K����L$���Z1�f.�I�EH�(H��tH�pH��tL���������H��H9�u�I�G`L��H�$1�H�l$(L�l$8L��H�D$ H��L�d$XL�t$8�@H�pL�����H�4$L��H��蝞��I�G`I�G`H�$H��t*H�D$8H�@8�8
��H�xH�5x����H�D$H��H��t	H�L$ H�H0H��9l$�y	H�4$L���͎��I�G`H���	H�L$(H�|$H�QH��H��H��tH�z0H�B0H�|$ H�|$H�1H��L��H�P�A�ą���I�G`H������I�whH���������
�����L�VD�X�E1�A��H�l$@�(E��u�UA���tD9�A��D��I�VM9�tEI��K�,�L��H�u諙��H��uƋUE���*D9��!E���A�I�VM9�u�H�l$@A��H��H�4$L������I�whA����^H�FMc�J��H�H��H�$��~*H�FE1��@H�FJ�4�L��I���Ĝ��I�whD96�L���#r��I�GhE���D���H����H�SE1�1ɾL��蓤��H�$I�G`�D$PA�G8H�D$0H9D$H�rH���iH�t$0H�F8H���W�����H�|$H�@H�P8H��H��tH��H�p0H9�u���'E1ɋD$TA;GP�rH�`�&H�|$D�$�H�|$�A�G<D�$D�P����DI�D$HI�t$H���rH�P����H���4�h�A�Et(I�UHc�H��H�pH����L���	�������9l$��Hc�H��H�D$H�H�H��tPL�b0L� I�t$0H�|$8H��LE�L�d$0莗��I��I�G`M�����L��H�$�GDA��D������DH�L$L�$)L� �f�1�H�5�i���H���6���I�G`L��H�$�|$H�4$����f.�E1����I�n(H�������H��������@�P����"H�s����H��E1�1ɾ&L��聢��A�G<A�����D�P��n�I�w`H��tL���M���M�g`A�_8A9oP�E	A�G<E1�D�P��8�I�oh1�D�]E�����DH�EL��H�4�H��蜊��L��L��H��辚��I�oh9]��t�E1�1�1ҾL���ܡ��A�G8���L���Y���A�G<A�����D�P���HcH�VH�T�H��H�
��H��H�$���I�D$HI�}H�5$�H�P�v��H�������I�}1�H�5��[���T���fDI�vhH���?�D�E��~?E1��H�FL��L��L�$J���ٙ��L�$I�vh���DD�I��D9�L���Tn��I�Fh����M��H��L���2n����DI�v`L��M��詘��I�F`H�<$���H�,$��I�nhH����D�EE��~61��H�EL��L��H���-���I�nh���DD�H��9]�H�$H��tH��L��H���m��I�Fh�{�I�whH���l�>��~-E1�f.�H�FL��H��J��I��蹘��I�whD96�L���Hm��I�Gh�$�H�,$�HcD$I�UL��H�4��K���H�,$I�nhI�F`A�E�D$�N�f�M������D$�J�L���l��H����D�t$E��H���L��L���N���I�ohI�G`E�w8�$A9GP������4$L���d�����A��H�l$@H��A����I��H���MI�G`L��L��L��H�H��A������u��uI�G`H�@DH�!�&D�$L��A�G<D�$D�P���I��H���t�L�����I�W`L��L��H�L�L�j H�j(L�b H�B(��A��I�G`L�h H�h(A����E��u�H��t�H�S0H�P�w���I��H���DI�G`L��L��H�X L�` �<�A��I�G`H�X A����|E���6���H�@�)���A���������I��H�C(E1�1ɾL��H�P�ٝ��M�����H��&L��A�G<A�����D�P���I��H�C(E1�1ɾL��H�P蔝��M��u��z�I��H�C(E1�1ɾL��H�P�m���M��u��S�1��\�����I�GhE�w8E����A�����L��D�,$輛��A�G<D�$D�P���L�d$XH�$E1�1�1ҾL��I�G`L�`����f���I�w`L�d$XH��t�L���˔����f�L�d$XI�w`H����H�$I�G`L�`�D$PA�G8H�D$0H���t���H9D$H�i���H�t$0H�F8H���W���1�H�|$H�:���A�GP�D$A�G8�$�t��A�G8H��L������H����I�O`I�vHI�G`H�L$H��tL������CE1�I�~h�6I�G`L��H��D�L$0H�D$I�GhH�D$ 迅��I�~hD�L$0I�GhH�D$(L�`H��I�G`�A���L��D�L$0H�5"�D$8���M��D�L$0ALJ�I����H�\$0L��M��E���)��t����wL���Y����M�0M���XH�C`L�xA�G��u�I�GHI�wH���GH�PH��L���S��y�D�d$@M��I��E1�I�T$1ɾ&L��H�\$0���D�L$@1�1�L��D�L$0�r���~����L���y��D$8A���I�G`L�`H�D$H�t$(L��I�G`H�D$ I�Gh臒��A�����I�GhH���W����*H�\$E1�L��M��E���H�ChI��D9(��H�@1�H��J��H�C`L�`�̟����u�E��M��I��H�\$E1�I�wh���~<H�\$E1�L��M��E��H�VH��J�4�I�����H�shD9&�E��M��I��H�\$L��D�L$�4g���$I�GhA�����A�G8E����D�L$E�����$L�\$L�shA�G8M�_`M��tH�s0H��D�$迍��D�$I�C�D$A9GP��D�$�t$�#�A�G8�A��{���H�sH�x������I�GH����I�VE1�1ɾL������A�G8����5��������H�=�h�c��I��H����������H�$H��L���Ð��H�$I�G`L�`����H�=�h�&��I��H�����������L��D�$�g]��D�$�w�L���e��D�$H��I�Gh��L��H��L��D�$����I�W`I�whL������I�G`D�$���L���e��I�Gh�v�H�p0H���\���D�$I�D$E���
�I�GHH��u1�,���@���t=���������L���\��I�GHH��������8
u�H�sH�x �^��u�I�GH�H�sH�x�G��u�I�GH��I�VE1�1ɾ L��D�$聗��D�$���I�VE1�1ɾL���$�_���D�$�~���E1�1�1Ҿ!L��D�$�>���D�$�]���I�GhH����M�o`E���wL��L������A������$A�G8H�D$I�G`H��tH�s0H��D�L$�$���H�L$D�L$H�A�$�t�L���T����w�I�GhE1�E�w8��H�CHH����H�PH��蒺�H���rH���D�1�H�5\]H���p��H��u�H�s���H��H�5<]L���������D�d$@M��I��E1�I�D$(1ɾ'L��H�\$0H�P����D�L$@� ���H�C(E1�1ɾH�P�s�H�D$0E1����H��L���p�����I�v0H�������L��D�L$��D�L$������I�`H�S�tE1�1ɾL��蓕��I�GhA��H���6D� E����E1�E���I�GhI��D9(��H�@1�L��J��I�G`�ך����u�I�whE��E1�����H�VH�\$E1�L��M��E��J�4�H�����H�shH�VJ��I��D9&�����H�C(E1�1ɾH�P�P�H�C(E1�1ɾH�P�9�L��L��觌��A�_8A9oP�����L���oY��A�G<A��D�P���H�@L��H�0�A�����E1�1�1Ҿ�f���A������_�I�G`L��H�@��A������o����D$8H�t$(L��A���I�G`L�`H�D$I�G`H�D$ I�Gh���D�L$0�k���I��E��H�\$0���D��L���X����H�SE1�1ɾL���Ɠ��A��������1�H��豷�H������1�H�5D�H��藷��"���E��A�O8L��D�L$�ݙ��I�whD�L$�E��A�Ņ��4����}���E��M��I��H�\$A�O8L��D�L$螙��D�L$E��A������M�o`M�������M�e��H�CHH�5��H��H�P����J���E1�1�H��bL������A�G8����L���_���L���w�����E1�1�H�`dL���詒����L����'���L��L���D$�x�������L��D�L$��_���$D�L$I�GhA�G8���E1�1�1Ҿ
���I�w`L��D�L$�+���D�L$�'���H�D$E1�1ɾL��I�G`����I�GhA��I�G`H���{���1�L��D�L$�މ��D�L$����H�,$�@�ff.�AWI��AVAUATUSH��H�`H�ohH�4$tHH�������H����)H��]H�5�mH�81���I�w`L���d���I�G`I�ohH���m�E���CA�O8I�Gh�ʉL$��A�W8���^�D$1�E1�DH�EH�4$L��H��I�GhI�G`�p�I�w`A��H��tGI�h������L�(�\���)H��\H�5mH�81�A��I�w`L��襈��I�G`M�ohE����M����M���A�UE1���~$I�EL��L��J��I���)���M�ohE9u�L��L���]��I�GhH��9]�����D$A�G8M����H��L���]��M�ghI�`��1�H����[]A\A]A^A_Ð��t\L�����I�G`�f.�M��t�A�E���p���E1�@I�UL��J�4�I��複��M�ohE9u��F���I�w`�M��tcH��L��L���M���I�G`�4����D$I�Gh��t,��E1�L�$�f�H�EL��L��J�0I���	���M9�u�M����@HcT$H�EH�4ЍBI�G`�D$�����H�EH��L��H�I�G`�Z\��I�GhH�4$L���V��I�`��tFI�h��������H�(�E��)H��ZH�5�jH�81���I�w`L��菆��I�G`I�whH���x����>�o���H�FL��H�I�G`��[��I�Gh�O�����D$��w��H�EH��L��H�I�G`�[��I�`����I�h����D���H����*H�ZH�5?jH�81���I�w`L���݅��I�G`�����EI�oh����D$A�G8H��L���![��I�whH��tL���[��I�Gh��������ff.�AWAVAUATUSH��H����I��H��H��E1�E1�A������f�H�m@A�H��t �}	u�H��L�����H�m@��EE�H��u�E��u$�Qf.�H��L���E�����xQH�[@H��t/�;	t�I�|$`u�I�|$hu�E1�1�1ҾL��A������ٌ��H��D��[]A\A]A^A_�����tA������A����E1�����H���AVAUATUH��SH��L���ǁ�H���K�}H��H��r�FA�|$��H�}hH���nH��H�5�������H���2H��H���Z��L��H����u��H���H�uHL�k`H�C`H����H���Z���A�ƅ���H�C`H���bH�ChH�����D�c8���1��H�ChH��9(��H�@1�H��H��H�C`H�@������u�E1�H�sh���~%1��H�FH��H�4�H���D���H�sh9.�H���X��H�ChE���S���D�c8��@�>#t1H��H�yqH�R�&�H�81�����KD��tǃ�����[]A\A]A^Ð�CD%���ǃ�H�����DE1�1�1ҾH��褊���C8u�H���&����@H�ѩ&H��H��p�H�81��@��H�@�H�������u'H�s`H���;���������tnL�k`[]A\A]A^�ǃ�������@I�T$E1�1ɾǃ�����H���������f.������ǃ�����D�c8�C8u�H���T����f��C8��H�߉C8����E��A���(���D����ff.���H��tSH��H��t^�:t9H��H��oH���&�H�81��)��CD��u�CD%[�f�H��H���e�����t扃�[�f��>#t�H��H�yo��H�I�&H��H�?o�H�81�����AUATUH��SH��H��tH��E1�A������H��H�������xAH�[@H��t(H�}`u�H�}hu�E1�1�1ҾH��A�����耈��H��D��[]A\A]�f����tE���fDH��A��[D��]A\A]�E1�1ɾ%A�����H��Y�3���뱐��H����UH��SH��H�H��t�|P��H�}H��t���H�}0H��tDH��8R��H��H��u�H�}8H��t�H��xH��H��u�H�}HH��t?�E@��~1�fDH�<�H���kP��9]@H�}H�H�ۥ&�H�H��H��[]��H���&H��H�H��[]���ff.�@H��tKUSH��H��H�H�-��&H��t�UH�{H��t�1��H�{ H��t�c��H�EH��H��[]��@�ff.�@AVAUATUSH����H����H���&I��H���P�H��H����f�@@ @0@@I�|$HL�kPH�CPtA�|$��H����[��H�EH����L�s0L�0M��t~I�NH��u��H��H�QH��u�H�AH�C0L��H���L�s0H�EH�pL�kPH��t1�H���bV���C@���[H��]A\A]A^�@1�[H��]A\A]A^�f.�H�C0L��H���1H�E�I�|$H�5�Y�W���0���I�D$HH�5c]H�x�:������I�t$H���E!H�EH���O����H��1�����Y����I�F�����H�E1�H��H�p��r��H�EH�pH��t.�>�u)H�~@u� �>�u;H�~@t4H�v0H��u�H�@H�߹������!���[H��]A\A]A^�DH�p��f.�1�H���S������AWAVAUATUSH��(dH�%(H�D$1�H����H�~HI��H��H�~t
�~��I��E1�H�
�nH�޺[L��1��?T��H�L$dH3%(H���H��([]A\A]A^A_ÿ
����I�E8I�D$0H�x8H���/E1�E1�H�
�k�JH��L����S��@1��@H�5������H�{HH�{�O����{�E���H�5]��W����H�{HH�{�"����{����H�5.��*���BH�{HH�{������{���H�5������H�{HH�{�����{�����H�5�R������H�{HH�{������{�����H�5|R�����H�{HH�{�n����{�d���H�5���v���>H�{HH�{�A����{�7���H�5}��I���aH�{HH�{�����{�
���H�5m������H�{HH�{����{����H�5DQ������H�{HH�{������{�����H�5H
�����zH�{HH�{������{�����H�5Ѽ�����H�{HH�{�`����{�V���H�5	��h���	H�{HH�{�3����{�)���H�5�P�;���+	H�{HH�{�����{�����H�5�P����6	H�{HH�{�����{����H�5�P������
H�{HH�{������{�����H�5�T����H�{HH�{�����{�u���H�5�O����?H�{HH�{�R����{�H���H�5���Z����H�CHH�5gXH�x�>����H�kH���YH��L���. H��H���z���H�@0H��t)H�x@t"H��L���V��H��tH�U0�H�P0H�E0H��L����U��H������H�U0�H�P@H�E0���DH�{����H�CHH�5�WH�x�������H��L����H���r����H�CHH�5�WH�x�\������H��L���YU��H��H��������	L�kI�D$XH�E8M����E�t$@H��L��L��D���A�D$@�c���H���ZM�m0M���ME�t$@���H�CHH�5�VH�x���������H��L����T��H��H������H�{������E1�E1�H�
�PH�޺L���N���{���f.�H�CHH�5�VH�x�\���_���H��L���YT��H��H�������H�{��-���E1�E1�H�
^PH�޺UL���ON������f.�H�CHH�5VH�x��������H��L����S��H��H���5���H�s�H��tf�L���AH�E0����H�CHH�5�UH�x������H��L���S��H��H������H�s�H��u�fDL�CE1ɺ�H��H�
�OL���zM���6���DH�CHH�5EUH�x��������H��L���S��H��H���e���H�s�H���,�����H�CHH�5�TH�x���������H��L����R��H��H������H�s�H���B���1�L��� H�E0����H�CHH�5�TH�x�l���P���H��L���iR��H��H�������H�s�H��u����f�H�CHH�5ETH�x����-���H��L���R��H��H���e����H�5�H��舰�H�EH���K	H���Cm��H�}1������u	H�{tE1�E1�H�
)NH�޺OL����K��M�l$0I�}8H�������H�uH���N���w���I�D$0H�uH�x8�D��H���;H�PXH�UXH�hX�K���f.�H�CHH�5USH�x�,���j���H�5�H��赯�I��H����
H���ql��1�L������=H�����H�$H���G	H��L����P��H��H���|	�H�=��&L�hH�$H�EH��肨�H����	H�PH�E(H���:
H�uH�x�҃���L�$L�E�WH��H�
�bL���J��L�{M���J���H�D$L�-�f�I�L���$���
H�<$H�51R�����H��L���	P��I��H��tH�H�5�L���|��I�FH����L���dz�H�|$I�F �	H�D$L�t$L�p@M�0M���l�������H�CHH�5�QH�x�|�����H��L���yO��H��H�������H�5E�H��E1����I��H����H���j��1�L���7����H������I��H���	L�mH�=�&L��L�u�Ԧ�I��H����H�E(H�@H���	H�uI�}��A�ǃ�t%L�EM��WH��H�
?aL����H���H�CH����P����wH�x0��E1�E1�H�
�aH�޺TL���H���\�H�CHH�5mPH�x�D������H��L���AN��H��H�����H�s�H���x������DH�CHH�5PH�x���������H��L����H�����f�H�CHH�5�OH�x��������L�khM����H��L���M��H��H������I�EH�������I�}���I��H���
	H�5UUH��L�=KU���H����H��H��&�A�\$@L��L����A�D$@��I�E A�\$@H��tMH�XH��tDH�CH�{8I�Et5I�T$0H��t+E1�H�z8��H�{8L��H�5Xt���s��A���I�E����H�[(H���v����{�l���L��H���>��H��t�H��H�5�TL��H�$�s��H�$H�(�&H��A�\$@L��L����A�D$@���I�E A�\$@H����H�XH����H�CH�{8I�E�xI�T$0H���jA������H�CHH�5NH�x��������H��L����K��H��H���=�H�{����E1�E1�H�
�_H�޺L����E����f�H�CHH�5�MH�x������I�l$0M�l$8L��H�sI�l$8�H��t
I�l$0M�l$8H�����H�h�I��H�CHH�5UMH�x�,�����I�l$8H����H��L���K��H��H���g��
H�5�H��芩�H�EH���	H���Ef��H�}1������TH�{tE1�E1�H�
yGH�޺(L����D��M�l$8I�}8H����H�uH�����H���G���p�I�D$8H�uH�x8�=��H�������L�EE1�H�
�^�$H��L��1��tD���0��L�$E1ɺ"H��H�
]L���JD��M�0M��u��@M�0M�����I�L������u����fDE1�E1�H�
�FH�޺�L����C����L�uHL�t$���L��L���5�H��t2��J��w(�H��ˆ �~��v��e����I�}0�f�E1�E1�H�
�ZH�޺�L���vC���D�E1�E1�H�
�EH�޺#L���TC���@���I�H�5�B�����M�GE1ɺ�L��H�
\L���C�����E1�E1�H�
{EH�޺&L���B����E1�M��H�
�ZH�޺XL����B�����E1�E1�H�
�DH�޺NL���B�����L�EE1ɺ%H��H�
�\L���B�����L�EE1ɺLH��H�
�YL���mB���h���E1�E1�H�
+YH�޺�L���KB�����
���I�E8I�D$8H�x8H���Z���E1�E1�H�
�Y���H�<$H�5�Z�����f���H�}H�5������ADŽ$��=���H�=�I�W��H�$���H�=�A�B��H�E �j�E1�M��H�
�ZH�޺XL���A���(���H��&H�<$�L���1�H��L���5G��I��H����I�_�E1�H�E0H��u�Z�I�E@I��H�[0H��tfH��L����H��t�M��u�I�F0I����L�$E1ɺ\H��H�
�XL����@��H�E(�Q���E1�E1�H�
�AL���L����@��M�0M��������y��E1�E1�H�
�ZH�޺'L���@���O�L�$E1ɺH��H�
�XL���p@������E1�E1�H�
�BH�޺VL��1��L@����H�= H�˜�I�����E1�M��H�
XH�޺\L��E1��@��H�E(�&���E1�M��H�
XH�޺L��E1���?������H��虩�H�E H���qM�����A��M�M�v�M���m�H�L$H�uI�}I��H�D$H��A�у��L�ML�E �H��H�
YL���e?���!�H�mE1�H����I��H�
	?�U�H�E0H�h8���E1�E1�H�
/VH�޺�L���?���t���轞�H�}H�5(���������Z�H�5�LL��������E1�E1�H�
�UH�޺�L���>������E1�H�
�>H��L��J�>���\�M��$�E1�H��1�H�
�>�L���w>���3�H�D$H���%�H�EH��E1�E1�H�
�WH�޺`L���>>�����
H�$����H�$H�B8I�D$0H�x8���E1�E1�H�
�U1��JL���=������f�AWAVAUI��ATUSH��H���C��H��H�����M�}H�CXH�E8M����H��L��H���¤��H��t
M�0M���PH�CPH�CPE1�L�%>9H�$fDL��H�����H��H��t-H�h8�����wIc�L�>��DH�EHH�B@H�UH@M�0M��u�H�$H�CPH��H��[]A\A]A^A_�DE1�E1�H�
�XL��H����<���f�E1�E1�H�
�WL��H����<��두E1�E1�H�
+XL��H���<���n���fDE1�E1�H�
�WL��H���{<���F���fDM��tA�>tuI�V@I���)���f�H�U0I������@E1�E1�H�
WL��H���#<�����fDE1�E1�H�
�VL��H���;������fDL9u0u�L��H��H�T$�A��H�T$H��H�E0t�L�p0�X���L�u0�O���@AWAVAUATUSH��L�wX�T$H���H��I��1�E1�L�-�w�DH�C@H��M�0M��t2I�HtA�t:L��H����H��t�M��u�M�0H��I��M��u�H��L��[]A\A]A^A_�@I�L������t�I�GHH�5�BH�x���t�L��H�����H��H��tVM��t�|$tH�S@L�r8H���X���I����A�<$u�I9�u�L��H��H�D$�x@��I��H��t�H�T$H�X0�E1��Q����UH��SH��H����H�~HH��t�~t^�H��H�����H�U0H�JH��u�/�H��H�Q@H��u�H�A@H�s0H���21�H��[]�f�H�B��f.�H�~H�5�������H�{Ht��{�y���H�{H�5*9����a���H�CHH�5�AH�x�k���E���H��H���h?��H����H�{��0���E1�E1�H�
IUH�޺H��H�D$�\9��H�D$����H�CHH�5'AH�x����N���H��H���>��H��tWH�{�����E1�E1�H�
�;H�޺H��H�D$��8��H�D$���E1�E1�H�
�;H��Q��8����������E1�E1�H�
k;1��R�8����������f�AWAVAUATI��USH��H����H��1�A������3f�E1�H�
UH��L���V8��D��H�[0H����H�{HL�Ct˃{u�H�5�L�������H�{HL�Ct��{u�H�5�6L������6H�{HL�C�w����{�m���H�5�QL�����u:L�C�Q���E1�E1�H�
�:1��
������7��H����[]A\A]A^A_�f�H�CHH�5e?H�x�<��t�H�ChH����H�x�2��I��H����H�xH�5G;�����I�vH���vL�����H�s���fH�������L��D���i������@H�CHH�5�>H�x�������H�sH���>L���O������t����l���f�H�CHH�5�>H�x�l�������H�5��H����I��H���H���W��1�L���G���H��L���4<��I��H���H�s�
L�pH���I�L$PM�t$P1�L��H�L$�x���H�L$I�G0I�L$PI�T$0H�z0H����L��L���������I�D$0L��H�x0脓�H��u�f.�H��H�PXH��u�L�xX�h���H�sH���[���L���������H����F���E1�E1�H�
?8H�޺RL���|5���$���E1�E1�H�
�8H�޺�L���Z5������E1�M��H�
HQH�޺L���85������E1�E1�H�
W8H�޺�L���5������
H�T$�¹�H�T$E1�E1�H�
QH�B0I�D$0H�x0H��������H��L��D����4���o���E1�E1�H�
�7H�޺L��D���4���J���E1�E1�H�
QH�޺L��D���}4���%���E1�E1�H�
�7H�޺�L��D���X4������H���&L��D�����E1�M��H�
�P�S���ff.�f�AWAVAUATI��USH��H��HdH�%(H�D$81��w9��H��H���RL�k0L�(M��tI�UH���eI�EH�k0L��H������L�uH�k0M���^I�~@��M��E1��D$�����A�M�@M��ttI�wH��t%H�F(H��tH�xH�5<������I�wE1�E1�H�
>PH�ߺS�93��E��t�I�wE1�E1��H�
�PH���3��M�@M��u��|$�I�vH�����8��I��H��t!�T$H�E���A�$I�D$0L�eH�}0H��tH��H�5�|�����H�}8H��tH��H�5_����L�k0H�L$8dH3%(H���?H��H[]A\A]A^A_�H��H�BH��u�H�j���I�GH�5|2H�x(褖�H������H�5#�H��H�D$���L�\$���
�L$���v�D$H�o�&L���k���D�7��I��H������H�EH�{hA�$I�D$0L�e��D�K`L�t$�� L��L��1� A�A�C`1��߂�H�{hL��L����������I�t$E1�M��H�
)AH���Y1�����@E1�E1�H�
NL��H���31��L�uM���x���H�}0H���U����_���@L��H�5Y0L�\$輽�L�\$����|$tP�D$�����
莵�H�ChH������I�t$E1�E1��H�
B@H���0������DI�wE1�E1��PH�
�MH���z0��L�\$�j���I�wM��E1ɺZH�
�MH��L�\$�M0��L�\$�=������ff.�AWI��AVAUATI��USH��8dH�%(H�D$(1���5��I��H����I�|$h��)E�L$`H��� H��L�0� A�AA�D$`1����I�|$hL��H���8���I�_1�L�5�kH��u�!f�H�E@H��H�[0H��t@H�{Ht�{tcH��L�����H��t�L�h8H��u�H�[0I�E0H��H��u�f.�H�L$(dH3%(L����H��8[]A\A]A^A_�f.�H�{L��贻�t�H�CHH�5�6H�x蜻��q���H��L������l���@�
�v��I�D$hH�������H�52L����-����@E1�I��H�
K>L���L���s.������fDE1�E1�H�
�1L���L���K.�����������H��t*@��t
�����@��t
�����1�������ø��������S���&��t	1ۉ�[��
螲�H���&H��tdL�
K/��L�T/��H�
�1��H��1��H�5�Y��H�=0F�ӛ��E1�E1�H�
6T��H��R��H�5X���H�=a5講����[�'�&��i��H����H�5KH�81��ӻ�����Z���f���H���#���&��tH�=Ғ&H�5�"���&���Ē&H������USH��H���}H�6z&H����H��H��tlH�xH��H�Hǀ�H��1�H)������H�H���.��H���蒥�H�H�C�&��H�H�H��H��[]�fD1���@H�501��+�������ATUSH�����~{H��y&A��H����H��H��toH�xH��H�Hǀ�H��1�H)������H�H���D����ޤ�H�H�C�r��H�H�H��[]A\�@1�H��[]A\�fDH�5X/1���*������USH��H���}����H��H��tkH��x&��H��H��teH�xH��H�Hǀ�H��1�H)�������H�H���ǃ���H�H�H��H��[]Ð1�H��H��[]�@1�H�5�.�B*��H����������H���ATL�%:y&USH��H���H��tA�$H���H��t�%��H�{hH��t1�褍�H�{pH��tH�/��$��H��H��u�H�{xH��t�H�/�0��H��H��u�H���H��tA�$H���H��tA�$H���H��t,�����~1�H�<�H���#��9��H����A�$H���H��t
�����uI�$H��[]A\��D���I�$H��[]A\��fD�ff.�@��ATUSH���Г�H���oH���H���1�1����H��H����H���H��H���pv��I��H���4H�����H��H����H��H���e��H��H���9H�{hH��tH��H�5�����q��CD����H�EH��tH�pH��t�>��H���@��H�Cp���L�eHǃ�H�E0H�CxH�CpH�E8���H�Cx�E@H���H�EHHǃ�u�EH��[]A\�DH���H�������E1�1�1����H��H����H�=�y�΄�H�=�yH���軄�H�������1�H����-��H��H����H�EH�PH�V0H�p����H���H���^���E1�E1�H�
F1���H���'���*����H���L�Z+L��H��A�H�
�'��H��LE��v'��H���蚁�H��Hǃ�[]A\��H��1�趤�L��Hǃ��c�����fD1�����H���1��B��Hǃ��}���f�H�EH�p����H������Hǃ��O���@L���E1�1�H��H�
�D�)�&���&���E1�E1�H�
�D1��)H���&���������H��tH�wH�WH�GH����H��t&H��tH�GH�H��tH�GH�1�H��tH�H�ø�����ff.���H��tH�wH�GH�GH��ff.�@��H����H����UH��H���	S�H��H�=�)H���%��H�EH����H���H���(H�sP�H��1��r��H�mH��H�����H�=\)�̯�H�ٺ,�H�=�C賯�E ���w��t"����H�ٺ�H�=�C聯�H�ٺ�H�=���h��H�}H���
��H�=)�D��H�uH���X0��H�ٺ	�H�=�(���H��H�ٺ�[H�=�(]���H�ٺ�H�=�(����a���f�H�޿
�s��H�mH��H�����H����[H�=(]駮����H���#�H�=�B����H�ٺ�H�=�'�_���h���f.���H�=�B�:������DH�ٺ�H�=�'������f���H��t7H��t:H�vH��t	餳�@H����H�=>'�׭����H���#�H�=�A鯭�ff.�@��H���AH���8UH��SH��H��H���H��tRH�EHH�uH���ǃ�H����H�PH���$���������t���H��[]�H�C(H����H�@H����H�@H����H�xhH��thH��H�5������H��tbH��H���� ��H����S���DH�����t���H�UH��E1�1ɾ&�D$�FR���D$H��[]�H���1��S���������I���E1�1�1Ҿ"H���R��������+������ff.��������H��trSH��H���H��tZH��tU���tA< w*H�&H��sf�H�����t < w	H��r�H��H�5r���x�[�fD�����[Ð�H��E1�1ɾ'H��%�VQ�������[�ff.�@��ATU�����SH��tpH���ttH��to�����~u�H���HcЉ��H��H�L�!H���tUH�D�H���H��1�1�L���b��������t>L���ny��[]A\�������[��]A\�@E1��HLJ��E1�1�H�d H�߾������jP������USH��H��tqH���tgH��tbH�r(H��H���:��H��tNH�hH���H�߽����H�C`�CD�;�����t7H�s`H����G��H�C`��H��[]�f.������H����[]�f��{D�����f���UH����SH��H��l&�H��H����H�xH��H�Hǀ�H��1�H)�������H�H�k(�B��H�H�C�֘�H�H�CHH�CPH�H�CXH��t�E�C@H�ChH�CpHǃ��CDH��H��[]ÐH�5+#1��������H���CUSH��H��H�whH��t1��*��H�spH��t6���~)1�f�H�FH�<�H��t	�^F��H�spH��9.�1�����H���H�����Cx��~1�f�H�4�1�H�����9kxH����H�-�l&�UH�{XH��t�UH���H��ts�����~c������fD��H������Hc�H��H�4H�>H�1���tH�t�H���H��t�v�����H���H��UH�EH��H��[]��H�-�k&�Y���@�ff.�@��H��tH�wH�WH�H�G���H��tH�wH�GH�GH��ff.�@��H��t&H��tH�GH�H��tH�GH�1�H��tH�H�ø�����ff.���AWAVAUATUSH��dH�%(H�D$x1�H���I��H���H�G(H��H�s0H����H�h�GDH����1��g6��H�uH��H�C`I��贺��L�K`��M����I�}��I�qH�{8�@��H���������L��H�߽�����+D��H�C`H���J���{@��H��1��H�rH��L���H�H�CH���D$@H�D$H�CH�D$H�H�$�1������H�ChH���+�L�{8E1�A��������L@H�@L��N��I�q��?��H��H��L�θDD�I���iC��H�ChD90�A����L�K`M�����������{@��CD1�@���A�D$�ƒ��t��
u]��u	I�D$hI�D$H��u�C@H�P0H��t-H�Ѓxu�H�PH�@hH��u���I9�tH�P0H��u�H�@(H��u��t\H�L$xdH3%(���H�Ĉ[]A\A]A^A_�@L��H���}B��H�C`�'���H�ChH�����������fD�띐���tE1�1�1Ҿ#H���GJ��L�K`�����M���������H��1��H�rH��L���H�H�CH���D$@H�D$H�CH�D$H�H�$�@�������A�D$�ƒ��t	��
�g�����������D�������E1�1�1Ҿ"�I����.y�f.�@��~.�F�H�t@�H��D�A��A��
A�D����A1�H9�u�A��:D����
D�A��A��A1���~-�A�H�L�H��D�A��A��
A�D����A1�H9�u�C�����1Љ����Hc�H��tx�H�H����
~QHc��T7�H��W	H��WH��WH��WH��WH��WH��WH��WH��WH��fDwH�
w7��Hc�H�>��1��ff.�f�Mc�����I�����
~��Hc��
Hȹ
)�D��~l��H��:��
w`H�5=7Hc�H�>����J	H��JH��JH��JH��JH��JH��JH��JH��JH��H��f����Hk�L���
!��
�i���L��6A��Oc�M�>A��D�FD�I�D)�AH�Hc��
Hȃ�
��1��w	H��wH��wH��wH��wH��wH��wH��wH��wH��7H����f.����������������������������z�����	�k������
�T����
����ff.�AVA��AUI��ATI��USH�H����L�CH�C��L)�H9���1�1���L�CH�CL)�H9���H�CH�H9�HB�H�H��u�H�H��t	H9���H�,�H�Ҹ�HE�B�,�H9�HB�H�;c&H�}0�H��H��t]L�@(H�hH�@ L�@H�D((D��H�CI�$H�I�$H��L��L���4��HkI��H�EH�C�EH�C [L��]A\A]A^�E1�����p������~(�F�H�L@�H��Љ��
‰��1�H9�u�҉��1Љ����f�AWAVAUATUSH��(H���H���H�GH�_H�D$H����I��H�?b&I��H��I��L��I�GH����L��1�H���z�I�oH����L�t$I���D$I��L��M��f.�I�vH��1�I��H��I��I�GL�x����H��a&H�t$� �H����I�WI�~H�t$L�H�xA�~H�pH�2�xH�0�@H�I�� M9���E�FE��t�M�OH����i���A�W0A�vI�~I����x����H�����Z������7����AoI�� �Ao^�XI�WL�H�H�rM9��|���L�5�a&�L�EM��u>��f�I�p1�H��I��H��I�GHЋH��ttH�I�pI�L�M��M����M�(M�WH���u�A�W0A�pI�xI���������H�������1҉�H��I��I�GH��HЋH��u��AoL���AoHHIWH��BH�rA�M��M���k���H�� L9�����H�|$A��D$H��([]A\A]A^A_�@�D$�����K������H��H�ƃ�H��I������fD�c���H��H�ƃ�H�������1�1�����E1�1�����D$L�5~`&�r����D$�����m���H�D$�D$����I�G�W���fD��1��f���S��w&��t���[����H�lw&H��t�H�ǻ袓�1��+��H�=Dw&�>w&�yq�H�=:w&�,w&����[�ff.�@���
w&S��t1H�=w&�E��H�=�v&�)q�H�=�v&��諅��[���K����f�����v&��uÐH��H�=�v&�u���v&H��Ð��USH����v&����H�-^&�@�UH��H������H�@8H�@��@�UH�C H�CH�C(H��t?H�xH�Hǀ�H��H)���1����H��O��C0H��H��[]�f�H��^&H��1�H��H��[]���;���;����ݐ����u&SH����t.H��t2H�=�u&�ݑ�H�=�u&�N��1�[�f.����uɸ����[���UH��SH���^}�H��H��tH��uH��H��[]���E0H�k(H��C0�.��H��H��[]�@��H���cAUATUSH��H���=�t&��u
�g���H�=�t&�#���������H�=�t&舃�H�{(H��t���H�SH����H�{���s����E1�L�%-]&�I��L9kvV�C��tOL��H��HЋH��t�H�8�kH��t�f.�H�/A�$�kH��H��u�H�SI��L9kw��H��A�$H�{ H��t�H�/A�$H��H��u�I�$H��H��[]A\A]��fDH�=�s&H��[]A\A]钂�f�H��[]A\A]�DL�%Y\&���L�%H\&�{�����H���+H���"AWAVA��AUI��ATUSH��8H�t$���9I�E8H���A�����?�I�EA�U0H�D$H=��&E���mH�|$D�����1�A��L��H�t$H��H�T$H�T$IU�J���H�*H����1�E���H�EH��H��H��tHH��L9bu�D9ru�H�JH�t$L��H��H�L$ �v�H�L$ ��t]H�EH��H��H��u��L9e��D9u��H�MH�t$D��H��H�L$ �v�H�L$ ��uv�D��H9����1�H��8H��[]A\A]A^A_�H���(k�A��I�E8H���������fDH�|$D���S�I�ă�H��H�D$H�T$IU�J�����1�1�M�}(M����H�|$�M�G��I����_L��1�M��I��H��IW�B����L�:M���7D��H�D$(�I�H��L��H��tYI��L9Zu�D9ru�H�JH�t$L�\$ H�T$(H��H�L$�u�H�L$L�\$ �����I�H��L��H��u�f�M9_u
E9w�jH�T$D��I�u8I�} ��H��H�������H����H�D$H�JX&� �H�L$H���q���H�HD�pH��@L�`H�EA�EH���F���I�EH=�
�6���H�4@L��H�L$H��d���H�L$����������f�A�W0H�|$D����H��I�Ã�H�����DI���twE����A�W0H�|$D�����1�A��L��I��H���Q����H�D$IEH�HD�pH��@L�`�1����H�D$E1�����L��M���H�����I�OH�t$D��H��H�L$��s�H�L$���p����)���1�H���1�E1����H��1�����I���6���fD��AWAVAUATUSH��H����H����H��I��A�Յ���I�G8H����A�����?��M�wA�W0I�����E���+D��H����1�A��L��I��H��IW�J����D��H�D$�L��L�H�BM���]I9�u�D9ju�H�jH�T$H��L�$H���r�L�$��u��D��H9��V���@1�H��H��[]A\A]A^A_�@H���0g�A��I�G8H���"����fDD��H���]�H��I�ă�H��IW�J���G����I�o(H��t�L�EI����I�����L��1�I��H��H��HME��A��u�W����H��H�)H�AH��t1I9�u�D9iu�L�yL��H��L����q�u�L�������I9��	���D9i�����L�aD��H��L���q�ID����I9��7���D9j�-���H�jH��D��H���[q��������fD�U0D��H���:�I��L���H�������I���t�E��t$�U0D��H���t�A�����@1�E1����1�E1�����@��H����AWAVAUATI��USH��8H����H����I��I��H��H�$�Ne�L��H��H�D$�>e�E�F0�L$L��H�D$�DI�^H�$�t$�D$H��������I��L��1�I�nH��H�T$ H��HՋU����E1�H�}tH�\$�f�H�mI��H�}t1L9eu�9]u�H�UH�4$L���vz�u5H�mI��H�}u�L9euO�D$9EuFH�UH�4$L���Az�t2H�MH��8H��[]A\A]A^A_���+�I���>���1�E1�I�^(H����M�VL�[I�����I�����L��H��1�I��H��HS�BH�Ӆ�tzH�:tfL�d$ D�d$H�l$(H���DH�I��H�;t3H9ku�D9cu�H�SH�4$L���wy���H�I��H�;u�f�H��L�d$ H�l$(H9K�YM�VL��1�I��H�T$ I�^ H����H�KH�C�|$H)�H9���1�1��DH�KH�CH)�H9���H�CH�H9�HB�H�H��u�I�F8H��t	H9��\H��H�Һ�HD‹t$��H9�HB�H�OQ&H�z0H�T$(�H��H���H�T$(H�H(H�@ H�HH�PH�D(H�CI�F H�I�^ D�D$H��L��H�L$L��L�D$(�.t�L�D$(LCI�@D�l$H�4$H�CA�:H�{L���t�LkH�L$I�EH�CA�EH�C H���0H��P&H�$� �H�$H��te�t$H�HH��p�@L�`H�EA�FI���l���I�FH=�
�\���H�4@L��H�$H���H�$�@���f�1��0���f�I����w����L$D�C0L��L�T$ H�$�t$�&�L�T$ H���P���f��L$D�C0L��L�T$ H�$�t$��L�T$ H������fD�D$9C�����H�SH�4$L����v������H�K���f�H�D$ �t$H��IFH�H�pH��@L�`�����H��8L�����[]A\A]A^A_�Y�����1�H���f���H����H��t?��u;H�G H��t@H�P(H9�rH9psH�H��u�H�(H��u�1��D�ø�����ff.����H��tH�W(�GH��t	Bø����Ð��H��tH�G8H�w8�fD1��D��H��tH�W 1�H��t@HBH�H��u��1��D�f.�D��H��tH�GH��t�xL�����1��ff.�f���H��tH�GH��tH�xP�����f�1��ff.�f���H��tH�GH��tH�xX�����f�1��ff.�f����ff.����ff.�SH������LH����uiH����1�H��t�������t]APA�1�QRjjjAPE1�QH��jjjVH���H�����h�H��`ǃ�[�����u�[�DH�����APA�1�1�QR1�jjjAPE1�Q1�jjjV1��dh�H��`[�ff.�H��t��L��uA���H��H��A�H��AP1�PR1�jjjAPE1�P1�jjjV1��h�H��h�f����u��fDH��t��L��uA���H��H��A�H��AP1�PR1�jjjAPE1�P1�jjjV1��g�H��h�f����u��fD��ATUSH��tcH�O8H��H��tGH�IH��t>H��H��H��谍�H��H��H��I���l�H��M��tH��L&L��H��[]A\�H����1���ff.����H��tH��^�fD1��D��H����USH��H�������t0�s��t)H�sH��t=H�~P��H����u�!��H�C(H��tH�sH��tH�~p��H�CHH��tJ�K@��~CH�H��t;H�xPH��t2H�kH��tH�}pt�����u+H��[]Ð��Y�H�Ep������t�H�kH��tՋ����uˉ��H��[]�fDH�FpH�C(�l������H�C(H���E����K���ff.���H����USH��H��H�oPH��t�Oh��uRǃ����������t,�C��t%H�sH��tH�~PtH���H���[�!��H��H��[]�P�@H�G8H���H�P H+PHc@4H�VH�.H�F �}�������USH��8dH�%(H�D$(1�H��t/�OhH��H�oP��tH��unǃ����������u"H���P�H�D$(dH3%(umH��8[]��C��t�H�sH��t�H�~Pt�H���H���Z�!���f.�H�G8H��H�,$H�P H+PHc@4H�T$H�D$ �*|��g�����Z���H��tGUSH��H���>#H�t%�K�H��H�{PH���ac�H��t$H��[]�D��[�H����fD��H��H��[]��n�f.�SH����LJ�H�H��1�H��t�������tcH���H���jH��PA�E1�VjjjjP1�jjjjH����fc�H��`ǃ�ǃ����ǃL[�f�H�����H��jE1�1�PA�1�1�V1�jjjjP1�jjjj�b�H��`[�fD��H���USH��H���W4��t;H�oH����Dž����4���H�����H��[]�H� �T�H��H�CH������41�H�{(������������H��t6��U�H�Ep�C0�EL��8����H�kH��u�H��[]�f�H�Ep��fD1�1����H��H�CH���1���H��H��H�5u[]����f���H�C8H���)���H�xH��������o�H���H�CH���������fDH���H����Uv��G���AWAVAUI��ATUSH��H��8H�t$H�L$dH�%(H�D$(1��G4����H����T�H�D$ I��M�����C4��t	M���H�SPH�sH���M��ǃ�H�L$�g��I��t
ǃ�M��ME�D�{4H�l$ E����H�{PH��trH��H�{H����V�H��H���yH�{PL�XM��tJ@I�Ht2I�wL���=��t"I�GHH�}H9���H�p�����M�0M��u�H�{PH��1�L���U�H��H���cD�SE���4D�K4E���>M���#������M��tH�dE&L���H�|$ H��t	H�NE&�H�D$(dH3%(�yH��8[]A\A]A^A_�f�H�t$H�T$ �h�I��H���U�8�b���H�|$ H�5��;��E1�H�L$����H���#H���g���L��D&H�|$ I�L�T$H��t
��L�T$I�H�D$ L���H�|$�R�I�����@H�����}x��H�{P�8���@M��tH�{L���k�H�EH�E H��tH�h(D�C4E������������s����H�sH����H�~P���KL����������E1�E1�1ɺL��H��蟅��H����H�sPH�{H��H�D$H�T$�%S�L�D$H��I���|L��C&L��L�T$A�L�T$H�SPH�sL��M��H��L�T$�"��L�T$L��!��A�����@��������S������P�������H�EH��������x�����H�x0�����H�|$H�5�L�`P�;�����L���6|��H�sH���H��L���L��C���H��H�5��a���H�|$ H���>����B���fD����Y�������fDH�|$薃�����H�|$�tP�I��I������H�{L���S�H�EH����H�P0H�h(H��tH��H�P0H�h(H��u�H�E ����H�}I��L��*H��H�o��D����CE��u
ǃLH��A&L���N���fDA�<$x���A�|$m���A�|$l����A�|$n����A�|$s�����A�|$������{L��u2���E1�E1�1ɺL��H������H��H���&�}�JH�{P1�H���>_�I��H��t=���t4�{t.H�sH��t%H�~PtH�SPH�L$H���I���?F�!��L��@&L�T$L��A�M��L�T$tL��A�L�T$I9��]���H��A��R���fDH�L$ H��M���H�!��H�{P����}m������}l����}n����}s�����}�����{L��u2���E1�E1�1ɺL��H������H��H���I�}�Z����~H�{PL��H���]�L��?&H�|$ I��L�T$A�M��L�T$�����������{����H�sH������H�~P�����H�SPH�L$M��M��H�����D�L�T$!�����fDH���jH�����x���H�SPM��H��L����~�!�����H�SPH�s��M��L�?&���H�sPH�{H���)d��#���H�sPH�{H���c��i���H�sH���H��L����N��N���E1�L��H��H�߾������E1�L��H�
H�߾��%���������}�����H���VG�I��H��t/H�8t
L���H��_���M��L��H�fVH�߾d�q���M��L��H��H�߾c�U��$���H��H�57��H��=&L��M�������L������H����F�I��H��tlH�8t>L���H�����N�H��H�5��k�H��=&H�|$ �L��M��u��B���H�H��t�H���H��t�H�{H��H�5$T1����H�H���.���H���H������H�{H��H�5�1���������AWAVAUATUSH��dH�%(H�D$x1�H���GI��H���;H�GH��H���+D���H��L�gPE��tH�xX�pH�T$8L��H���8`�H�{1�1�H��H�D$��a�H�D$H���H�{H�GH����M��LD�ǃ����������t"H�C8H��t�@4�����H�L$=��O�f�ApH�t$H���*Y��BM��tA�|$H�t$L�����$v�s4����H�CH�xPH����H�D$8H�t$H��H�$�"y��D$I��H���nH�D$@L�d$ M��I��fDH�CM�wX�xL�6M��uU�L@H�5j���y���H�CI�NhI�VI�vpH�xP�U�L9���H���yM�vHM����I�~Xt�I�~hH��u�I�~H�5
��|y�u����u���DH��t.H�uH�UH��t!H��f�1�H��H����H�u�H�U�H��u勓���t
����H�|$8H��t	H��:&�H�D$xdH3%(��H�Ĉ[]A\A]A^A_�DH�|$8H��t	H�:&�H�5�H���.��@�CT��J���fDH�@PH��t/H�xH�|���H�xP�q���H�xX�f���H�x`�[���E1�1�H�
H�߾^�g�ǃ��0����I�~h��������I�vhI�~�2L���K�I��H���OH���&H�}H���L�}�I��I��H����L����w�t�M9��!���M;n����H�i9&L��M�vHM��������|$u*H�CH�$H�t$H�xX�sv��D$I��H���g���L�d$ H�T$8H����H�uH�EH����H����L�mH���'f�I�uI�EI��H���kH���b�>xu݀~mu׀~luр~nuˀ~su�H��H����H�L$8�I�VXH�$L��H��������H�xX���������������M�������L�d$(��M�vHM����I�~Xt�H�CI�NhI�VI�vpH�xX�cR�L9�u�H�CI�NhI�VI�vpH�xP�ER�H��u�I�~hH�����E�H�5�H���t�I�vH���t�I��M����H���~H�}H���qL�e�I��I�|$�H���VL����u�t�H�s7&L���)���f�H��H�{H�t$�G�H��uM��tH�{H�T$8L����G�H�T$8H���H����H�PH��t�:uH�xt
H�|$H���k:�H���
����C4H�uH�U������H����H����H����u0����1�H�����H�uH�UH��H�������H��������>xuӀ~mù~luǀ~nu��~su���f�H�5�H��L�d$ ���=����H�xX�M����&���H�|$1��TT�H�L$8E1�H��H�R	��H�$�T�H�$H���������f�H�t$��O��t����H�\$H���j�H���[[�H�|$8H���	����
����H���H�sH���-T�~!H�sH���
M��!�����ǃ�t��C��L�d$(M�wX���f�H�CH�$H�t$H�xX�r�I��H���$����D$�c����M�FpL��H��H�jM�u����I�~�'C�I���?���H�5)H��L�d$(��M�wX�<����F�ff.�f�AVAUI��ATA��UH��SH��@H����H�C0��<H��@H�{H��1�H�H��H�CpH)���x���H���8����Mc�C�D5A���\A�U�� wjH�&H��sZA��;T<<uPC�|5!tHA���UA�E< w5H��s/A�L$�L��L�@H9��.�P�� wH��H��r�@H��3&�CH�CD��L����8�H�CPH���z�����t<@H�E8H��t/Hc@4=��������f�Sp��6@tH�Chf.�H��3&���uH��[]A\A]A^����A�H�8t���A�H��H��[]A\A]A^��H�2&�x�H��H���q���H�5�H���_d��D��6uoA�������<"t<'t<<�����C�|5!���H���D��L���'<��CH��H��2&H�CH��uJ�����f�Cp�����H�KXL��L��H���T�B�D3XH��H�>2&�CH�CH�KP������������H�5�H�����H�&2&H��1����f.�AWAVI��1�AUM��ATI��UH��SH��H��XdH�%(H�D$H1�H��tH�wPH��B�H��L��PM���TI�L��I�G0��HH��H)�H��P1���`I���I�GX�H�A�GH�SH�CPI�wHI�W@��8I�G(���pH�PXM�wH��u�{fDH��H�B0H��u�H�}1&L�z0I�W8����e�C����D�[4E����L��H)�A�}�bH��H������I�GI�G H��tI�W@L�x(H�P@D�S4E����D���E����D�CE����H�CH����H�xP���{H���H�$���/I9�v$�}&H�Eu�lf�H���x�&�\I9�u�A�}�H�SPH�sI��L��H�<$��o�!��DH�D$HdH3%(�H��X[]A\A]A^A_�D���uϋS������P��u�I�GH��t��xu�H�x0u�H�hPL9���H�sPH�{L����T���H�sH���L��H����8��`���H�������L��H)��z���@��8H�{P1�L��t]�@?�I��M���)���H�5H���`�����H��u��������������I�GH���3���������<�I���fDL���=�I�GH�CPH�PXH�������L�xXH�/&���������A=�H�8������2=�L����}����H�{H���d2�I�GH�������I�O@H�P0H�H@L�x(H��tH����f.�I�G �y���L��H��H)��Y3�H�SPH�sL��I��H���H�$��m�!��L�$M�����H�-.&L��U����H��L��E1ɹ���H��H)�E1�jH���;�Y���I��^H���k���H��(��H�l$�2L��L��H��H�D$�}?�L�L$H��I����H�SPH�sM��H��ǃ�H�<$L�L$�N��L�L$I��t
ǃ�M9��,I9��#H�-"-&L�L$L��UL�L$M��t	L��UM��H�SPH�sM��L��H�<$L�L$�l�L�L$!������H�-�,&��H�sPH�{L���Q������H�sH���L��H���<��|���A�>i����A�~d����A�~�����H����e�����E1�H��H�2�H�߾�������L��H��H)��R1�H�SPH�sL��H�<$I��H�D$��k�L�L$!�����H�-�+&����5=�D��AWAVAUATUSH��H��$�H�T$H�L$�D$(��$��D$,H��$�H�D$0H���H�GPI��I��D��L��H�D$ ������H�|$�iH�|$�]A��8���.I���H�t$L���jK�M��@H��tI��M���2A��8I�����1�L��1��32�I��M���H��HL��H�5�[]A\A]A^A_��f.�A�����t@A���u6I���I�wH���8I���I�wH���B�A���A!��H��H[]A\A]A^A_�fDH�GH�xX���H�@PH��t,H�xH����H�xP����H�xX����H�x`�����E1�1�H�8�L���
���ALJ����M��@M������I�|$L��I�D$0A��<H��H)�I��@1���xI�$I�D$p���H�I�GA�D$I�D$@A��8����M�t$H��)&D�(E����E���E��tI�G8H��t�@4�����=��O�fA�D$pH�|$ �a�����E�E1�H��H�DH�D$I���H�D$8�@I�H�|$tL9l$uI�D$HE�O4I��E��uME���E��tAA���t9I�wH��t0H�~Pt)H�L$H�|$8I��I��L���!.�A!��f.�H��H;\$t5L�+H�k1�L��H���F�H��t�M���c���I�D$`�\���f�ALJ�����L��L���JE��zH�D$ H��t�xL���H�|$ �Ab�L$,��t�T$(��)�A���E‰D$(H�|$tI�|$H�N�t$(�������D$(H�\$0��H��H�l�(�&H�KL�C H��H��L�����H��(H9�����H�sH�;H��t�H�{u�A��8��t'H��I����G�H���oH�sH�;�fD1�1��W9�I��H��t�H�KL�C H��L��1��:���H�C'&L���w���f�H�t$1�1�L���9�M��@H��M����I�|$L��I�D$0A��<H��H)�I��@1���xI�$I�D$p���H�I�GA�D$I�D$@A��8������H����H��&&I�T$D�(E�������5�H�8���5�L�����DE��8I�E��u H���0���1�1��K�I���.���fD1�L��1��|K�I������@H���?����H�KL�C 1�H��L������4���fDI�L����?�����L���Z�H��HL��[]A\A]A^A_�:K�f.�I�H�T$H�t$ �M6�I�D$HH�������H�|$H�5�Y��c���I�D$HH���j���H�\$1�L��H���vC�H���F���H��E1�H��tmH�����L���n���+���ALJ��h���A�G�[���L���#3�I�D$H������U���I�H�T$L���5�I�D$H�d���1�H�L���L��������f.�H���'H�GPH���AWAVAUATI��U��SH��H��L�h M��t;A9M������H��.�H����H��[]A\A]A^A_����tKH���-�H���aH�SPH�BH�B H�P(H�R@H�P@��������H��[]A\A]A^A_����f�H��#&I9Et`��L��H����H�SH�P@H�{PH���=�H�CPH�x�M�����������H��[]A\A]A^A_�D����t��������I�EPI�MXH9�������N9��CH�5�H����Hc��Lc�J�?H��H�������L��H��H9���Hc��H��L����9�4D�4)H��H�� &Mc�M�L���H���D���Hc��I�EPH�L��L����D���I�EP���Hc��(�9������L��L���{0���H�CPH�x����I�}P�=����������H�59�H��H��[]A\A]A^A_����H�5���6�������f.�H���H���!(�uNI�EP���@H�5|�H������Y���@H�5d���H����/�I�EXI�EP�\���I�}P�/�I�EP�J���ff.�f��������f�������f���H��tH�GH��tvAVAUI��ATI��UH��SH��H���D�I��H��tZ�C4��u<L����U�L���S#�L�sI�FPL��L��H��L����0�I�FPH�CH�xPt'[]A\A]A^�fD��L�s��f.�H��H�5��[]A\A]A^�i��f���H����H��H	���D���E��uD���E�����G����H���H�H����H�@ H����AWAVAUI��ATI��UH��H��SH��H��H��(H���I��H���SI�}L��H��H���D�I�E8E�e@�(E���H�$A�ED�D$I�EHH�D$I�E(I�E(H�D$H��&�I�EHH���-H�I�E8L��L��I�E@��O�I�E8�x0��I�~�1H�H��H��L��I�F4I�E8H�@ I�FHI�FI�F ��Q�A�}@~L���83�A�}@�I�}8��3�H�&I�}H�H�$I�u(E�e@E���I�E8�D$A�EDH�D$I�EHH��tI���H��t
�$�u	I�u(H���H�D$I�E(H��([]A\A]A^A_����H�x ���G�L����W�����H�5x�L���,��H�$E�e@E���I�E8�D$A�EDH�D$I�EHH�D$I�E(�H���E_�I�F���ff.����H����USH��H��H�oPH��}X�H���������u:��P������tFH�����}H��H��t<H��[]��W�fDH�S8H��t��R4���������O�f�Pp�H�SH�zXH��H��[]�Z7�f.�H��[]�f���H�SH�zP��fDH�{�f���H����USH��H��H�oPH��2�H���������u:��P������tFH�����}H��H��t<H��[]��V�fDH�S8H��t��R4���������O�f�Pp�H�SH�zXH��H��[]�z6�f.�H��[]�f���H�SH�zP��fDH�{�f�SH��tzH����L��t	���t\���1�A�1�jE1�QR1�jjjjQH��jjjV1��6���CH��`ǃ���u
ǃL[�fDjA�E1�1�Q1�R1�jjjjQ1�jjjV1��D6�H��`[�ff.���H����H�GH����USH��H��H	���I��H��H��PH����t}��uXH���H�pXH����<�H���������t#�S��tH�sH�~PtH��H���%�!��H��[]��H��H��E1��i[H�Q�]���H���H�pPH���m<��H��H��E1��i[H���]�K�����ǃ��U������H����H�GH����UI�ȉ�H��SH��H����P��tz��uUH���H�pXH���I�H��tu�����t(�S��t!H�sH��tH�~PtH��H���Q!�!��H��[]�@H��H��E1��[H���]���H���H�pPH���=I�H��u�ǃ��|���f��ff.�@��AWAVAUATUSH��(H�4$H�l$`dH�%(H�D$1�H�D$H����H�I����H�5��H��I�׉�E��M���W�t	���6L��H�T$L���<�ADŽ$�I��A��$P���~����I�D$H�pXI��$�H��A��L��H�D$H��UAVAUL�D$0H�T$ �nH�A��$�H�� ����H��tA��$�����H�|$H��t	H��&�M��tH�v&L���H�D$dH3%(��H��([]A\A]A^A_�fDE1�L��H�;�L������H�'&L���H���Q���ADŽ$��U����A��$�E1�1�L��H�����D$�3���D$A��$����f�A�T$������I�t$H�~P����H�|$H����P�A!�$���f�I�D$H�pP����(�ff.�f���H���KAUATI��UH��SH��H����P������t$H��H��E1��[H���]A\A]���H�M��I��H�Ѻ�@�I��H��tAI�}xu+H��t&H�C8H����H�pH����H���W�I�ExH��[]A\A]�@�����t�H�H��t�H���H��t�H�{L��H�5���]f.�H�M��I��H�Ѻ�R�I��H���d��������t�H�H��t�H���H���t���H�{L��H�5]�H��1�[]A\A]�����H���1���@��H���kAUATI��UL��SH��H����P������t$H��H��E1��h[H���]A\A]�;���H��_?�I��H��tGI�}xu+H��t&H�C8H����H�pH����H���9V�I�ExH��[]A\A]�f.������t�H�H��t�H���H��t�H�{H��L��1�[H�5��]A\A]��fDH��'Q�I��H���d��������t���L��t
����u���H��H���E1�1�A�H��1�1�ǃ�kATP1�jjjjATjjjjk�/�H��`�)���fD��H������@��H����UH��SH��H����P��t=H�{H��t�LtH��H��[]��6�Pt/H����6�H��tJH��[]�H����4�H��t�H��[]�@�GLH���6�H�S�BL��@1��DH�{H���GL�}6�H��t$E1�H��H���H�߾gH�D$�)���H�D$H�S�BL�j���@��1��f���H��tH�G8H��tH�@�f�1��ff.�f���H��tH�G8H��t�@4�f.�1��ff.�f���H��tH�G8H��t�@8�f.�1��ff.�f����W���&��w�=|&��������f.���H�������Z����H��&LJ�H�GpH�&H�GxH�R&H�H��&H���H�r&H�GH��&H�GH��&H�GH��&H�G H�.&H�G(H��&H���H�&H�G0H��&H�G@H��&H�GHH��&H�G8H�9&H�GPH��&H�GXH�&H�G`H�&H�GhH��&H��&H���H�&H���H���H���H��&H���H��&H���H�H&H���H��
&H���H���1��f�H��&H�GpH�GxH���H�c&HLJ�H���LJ��������f.�������f.���H��t
�����t�@U��SH��H���5k&�<��uHǃ�H��[]�@H�q&H���H��[]���H���c)�H��H���B<�f���H���6������(H�&&H�GHLJ�H�H�)&H�GH�G(H�&&H�GH�GXH�C
&H�G H�G`H�@&HLJ�H�GhH��&H�G0H�GpH�_
&H�G@H�GxH�&H�GHH���H��&H�G8H���H��&H�GPHLJ�H���H�g
&LJ�H���H��&H���H�&H���H�{&H���H����ff.����H���S�H��H����R����USH���F�H��t<H�8H�-�&H��H�EH��t��H�EH�{H��t��H�EH��H��[]��fDH��[]�f���USH���E�H��t,H�8H�-b&H��H�EH��t��H�EH��H��[]��DH��[]�f���USH��H���G4H�o��t H����H���tUH��[]�fDH���H�}��H�{(H�������H�Ep�C0�ELH�kH��u�H��[]��H�C8H��t�H�xH��t��N�H���H�kH����{���H�C8H�x��H����b����1�1���P�H��H�CH���8���H�H��tH���H��tH�{H�5��1���ǃ�ǃ����ǃLH��[]��H�Ep����H�kH��������!����H� �g�H��H�CH���p�������f�ATUH��SH��P�~&��A��t$1����A9�tH�u(H�}��I��u�A�����D��[]A\����H9�tgH��tZ�H��t8UH��SH��H��H�6H�?�!$�u
H�EH9CtH�������[]����H��1�[]��������f�1��ff.�f���H9�t'H��t%H��t
H�6H�?�#�f���f.�1�ø������H��H���E1�1�VA�1�1�P1�jjjjjjjjW1��%�H��h�D��H��tAH��H�O8H�5l�1�RA�E1�1�V1�jjjjjjjjP1��%�H��h�@H�։��n���ff.�AWAVI��� AUATI��USH��(L�-�	&dH�%(H�D$1�A�UH����I��I�D$� H���Ao$H�D$$�f�I�D$�Ao$H�EE�I��M��H��H�����L���7�S�9�t9�r6H�^
&H�� L���H��A�UI��H��u�H�5���E1����H�L$dH3%(L��uH��([]A\A]A^A_��H��H��A�E1�1�Q1�1�R1�jQ1�jjjjjjj�a$�H��h�ff.����S1ɉ��"D�u��[É�H�a��1�����������ff.���H��1�1����C�uH��É�H�H��1��L����������D��UH���PSH��H�&�H��H����f�H�5.���H�=����@@ @0@@��&�H�CH��t~H�5���H�=������&�H�CH����H�+H�=f�����C0"H�C(H����1��?��C@H�CHH��H��[]�f.�H�5���������DH�5������H�P&H��1���H�5Y�����H�{�&(�H�&H��1��fDH�{�(�H�{�'�H��&H��1�H�5	���?����F���f.���U��1�SH���(�H��t(H��H���M1�H��H��t-H�@H��H��[]�H�5����1�������H�5�������H���_4��ff.�f���U1�SH���D�H��t"H��H����0�H��H��t'H��H��[]�DH�5���1��e�����H�5����O���H����3��D��ATUSH��tCH��H��H�5F���1�H�=�����H�I��H��t8H���H0�H��H��t@H�X8H��[]A\�@H�5a��1�������H�5y��1�������H�5������L���G3��D��AU� I��ATA��USH��dH�%(H��$1�H��H���H�H���#�H����1�1�H�D$`E1�1�H��H��&H�D$pH��&H�D$x��!�H���}ǀ8H�=y&H���D�H��H�CH��tpH��D���-(�H�{H��H��tyD���0�M��tH�CI�E�E@H��$dH3%(H��ujH��[]A\A]ÐH�5���1������H���<�H�5����o����D���H���<�H�5����J������� ���AVAUATUSH��dH�%(H��$1�H����H��1�H��� H��I���A���H�H���"�H�T���1�1�H�D$`H��E1�1�H��&H�D$pH�&H�D$x�V �H��H��t~ǀ8D��H����&�I��H���}H�kD��H��L�kP�@@�.�H��$dH3%(L��ukH��[]A\A]A^�DH�5��E1��4����f�H�5Q��E1������f.�H���8;�H�5�������������ff.�f���H����USH��H��H�?H��t�]0�H�{H��t�O#�H�{H��t�A#�H�{8H��tH�GH��t�S@��t8�:�H�{HH��t���H�-&H�{(H�EH��t��H�EH��H��[]��H����H�{8H�G�f.��ff.�@��AVAUATUSH��H���XH�?�NH�I��H��I���,�H��tH���9�H���DH����H����H���HH�+H�}(H�E��H���	�H�kHH�;H��tH�}p��H�5���z?�Ņ���L�c0H�;�L���|=��t�H�;M���6L���>?��VH�;L����D=��<H�;�H�tfH�54��?��H�;L����
=��H�;�H�GH�0��>���H�;L�����<���H�;�M��t^H�5���>���H�;L����<���H�;L����j>���H�;L����p<�xlH�;�H�5���;>�xW�[]A\A]A^�@H�;H�GH�G(���H�5v!�>�����H�GH�8��H�;H�Ep�Z���[�����]A\A]A^�f���� �H�E(H�+����f.�H����H����������]���H����H���������?���H���� H���������!���fD��USH��H��txH��H��u�H��tH���6�H��tS�xuMH�;H�5!��=�Ņ�x8�C��tH�;H�5p���<�x�H�{��$�H����[]�f.��������H�5r�����������H����H�߽��������fD��H��tVSH��H���H��t=H���=6�H��t0�xu*�@H�;H�S0��j:����[��H��fD�����[Ã��ff.�f���H����H�����>��AUI��ATUSH��H��H��(�H����H���5�I��H�����P����������uiH���
�Ņ�xoH�;H�5���;�x\H�;L����;�xKH�;H�5ո��r;�x6H�;H�S0���{9�xA�D$�H��[]A\A]Ð1��@������吸�����f.���AWAVAUATUSH��8dH�%(H�D$(1�H����I��H�����:��H��H��I��H����H�=@���I��H��tH�5��H���9�H��H���9�I��H�}L�|$L�l$���H�}H�t$H�D$ ��H��H�D$t5L�5�%L��A�H�D$L��H�x���tr������fDM��tSH���%��I��H����L�8L����
�I�FH����H�}�8�H�}L��I�F�8��L�5y�%H��tH���
�H�5��H���8�H��L��H���8�H��H��I���A�L���A��۸����I�H�L$(dH3%(uMH��8[]A\A]A^A_�H��H�~����H���%L�������H�\��H���w�����

�ff.�f���ATI��UH��S��x)L��H������xH����N�x
�[]A\��������f�AWAVAUATE1�USH��H��@H�{�/�usH�{���H���j2�H��H��trH�x�I	�H�}I���=	�H�{I���Q �L��L��H���c0�H�-��%L��A��UL��UE��x8H�{E���t�H��D��[]A\A]A^A_�fDH�{���Z���f�H�{A�������H�C����ATUSH���
H��H���H��t6H���1�I��H��t&�@������t��t[�����]A\��1�H��%��H����H�H�{H���@��C��uH�;H�5���O7�x��[]A\�@H���(���x����H���X������u���H�;H�5���7��^����S�uA�D$�Z���H�;H�5_���6��0������H�5�����������q���H�+��H�����������H����H�����>��AUATI��USH��H��H���H��tsH���+0�I��H��tc�@�����1�uLH���b�������H�;H�5����6����S���A�E�f.�1�H�g�%��I��H����L����I�EH����A�EH�{L����C��uTH�;H�5��5�x-I�uH�;��5�x�H��[]A\A]�f������t���H�������[]A\A]�@H���8���@H���
������@H�;H�5���5�����H����H���@��H�o��H���*�H���%L��������W���@������f.���AWAVAUATUSH��H���
H����:��H��I��H��I��1�H��tH���8�H�5O�H���Y3�H��H���N3�H��H��H���&�L�=�%H��A��A�E����M��toH���%��H��H��tkH�=�����M��tH�5�H����2�L��H����2�H�EL����H�EH��tLH�{���H�{H��H�E��H��D��[]A\A]A^A_�H�R��H�����DA�������H�1��H��A�������H��A��ff.���ATUSH��t?H��H���H��� H���-�I��H����@������ti��t�����[��]A\��1�H���&�����xދsŅ�t�C H�;H�5���2�x�ŋC��uyH�{���[]A\�fD�K�����C 1�H�;H�5��2��q���I�4$H�;��w2��[���H�;H�5֯��^2��B���ŋC��t�H�;H�5���>2���q����H���
�Ņ�� ���H�{��H�C����S ���P���H������C ���C���ff.�@��ATUSH��t;H��H���H��t*H���z+�I��H��t�@����������t�����[��]A\�@1�H�������x�H�;H�5Ѯ��Y1�x���C H�;H�5ɏ�=1�x�I�4$H�;��+1�x�H�;H�5����1�x�ŋC��uYH�{����[]A\�f��k��t��k ��t�H������C ����H��� 	�Ņ��@����)����H�;H�5��0���ff.�f�USH��(dH�%(H�D$1�H���H��t,1҃~�D$f�T$w�FH���H��Hc�H�>��1�H�L$dH3%(��H��([]��G0�D$ 1��F�D$f.�H�;H�t$��/������H�t$�����Ņ�xsH�t$�D$>�F�D�D$ 1��F��� [�F1�f�D$��D$ 1��F
�u���D�D$ 1��F�]�������������.�ff.���AUATUSH��H����H��I��H��t~A�Յ�xwH��N��H��tYH����(�H��H���f����Ņ�xH�C��u)H�;L��D���,�x/�H��[]A\A]�f.��C ���1��@������̐H����H�����������H�5V���t�������ff.�f���UH��H��SH��H����H��H��H��[��]���D��USH��H��H��t>H��H����H��H��t+H��H��� ��H���H���%�H����[]�f��������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�-�H�L$dH3%(uH������ff.���H����H����ATUH��SH��H��'��H��t2H���&�H��t%�@��t]��txI��tpM��u'[1�]A\�@H��H������Å۸����I�[]A\�H��L������I9�t�H��%L����@H�H�sHH��1�H�x ��[1�]A\�@H��1����I��끐������f.���ATI��UH��S���x)L��H������xH������x
�[]A\��������f���UH��SH��H��t<H��H���c�H��H��t"H��H���0�H�߉�H�D�%�H����[]ý������H�5���������|���f.���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��&�H�L$dH3%(uH������ff.���USH��H��H��t>H��H��t6H���.�H��H��t&H��H���[�H���H��%�H����[]�@�������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��tQH��tLH��$�H���$H�D$H�D$ �D$0H�D$�>�H�L$dH3%(uH����fD��������d��@��AWAVAUATUSH��8dH�%(H�D$(1�H��tIH��H��tALc�E��x9A�̅�x2H��H��v��H��t1H���"�H��t$H��H������D$��y�������fD�D$�S����L�L�3M��t�H��t�H�D$!E1�L�4$1�H�D$H�D$$L�-.�E��H�D$fD1��D$#f�D$!A9��H�T$�C1�H�H)ڃ��L�Hc؃�@��A9ĈL���H��@��u��T$!�������0��?A�D�D$$�D$"���@����<@��	�Hc�A�T�T$%�T$#��@��@��	�H�A�D�D$&�����D$'=��u�D$&=�A��G~$H�<$H�W���%�������A�E1�H�T$H�<$���%�������A�A��A9����f.�E���w����D$D�H�L$(dH3%(u4H��8[]A\A]A^A_Ð��?A�D�D$'�^���fD�C �O���������AWAVAUATUSH��H��tIH��tD��x@��x<H��H�A��Lc�H���7��H��tBH��� �H��t5H��H���J���A�ƅ�y&A�����H��D��[]A\A]A^A_��E1��E����H�mL�H��t�H��t�E��t�A�E�E1�L�%��L�l�1���H��Aǃ�L��w$��t�H��A�I9�t&��H�����L��M$��u��S���E���G���E��E�����E �Z���ff.����ATUSH��tCH��H��H��H���r��I��H��t*H��H��H����L���H�P�%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��(�H�T$dH3%(uH��������H��tWH��tR�:tMATM��USH���n'�Ņ�x(L��H����xH�����x�[]A\�@�������f�������f.���AVAUATUSH��tOH��H��L��L��I��I������I��H��t0H��I��L��L��H�����L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����:��f.���ATI��UH��S���t0��M��tL��H�����t�H�����t
�[]A\����������ATUSH��tCH��H��H��H�����I��H��t*H��H��H���|�L���H�`�%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�T$dH3%(uH���������H��tWH��tR�:tMATM��USH�����Ņ�x(L��H�����tH����N���t	�[]A\�f��������f�������f.���AVAUATUSH��tOH��H��L��L��I��I�����I��H��t0H��I��L��L��H������L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$��H�T$dH3%(uH�����J��f.���H����H�����>��AUI��H�5ATUSH��L��H�����:H�{�Q��H��t4H�����I��H��t$�x��@H���Hc�H�>��fD1�H�O�%��I��H����L���t��I�$H���A�D$H�{L�����H�;H�5������I�4$H�;��m�xy�H��[]A\A]�@1�H���~���xZH�;H�5����9�xEA�D$��O���DH���H���L��������DH���X��Ņ�y�f����������fDH�I��H�����������[���H����H������������=���H����H������H�)�%L�����������f.�������f.���USH��H���}H��H����H��t\H����H��tO�@����wTH�;H�5�2��Ņ�x?�C��tH�;H�5w���x%�H�{���H����[]Ð1�H����[]�D�������f���ATI��UH��S���t0��M��tL��H���v���t�H������t
�[]A\����������ATUSH��tCH��H��H��H������I��H��t*H��H��H����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����@����H���!ATUSH��H����H��t6H����I��H��t&A�|$�����waA�D$H��Hc�H�>��1�H��%��H����H�H�{H���@�%��H�;H�5����xV�[]A\�1�H�������x>H�;H�5����x)A�D$���H����H�����������DH������y���H����H���|��������r������ff.���USH��H��tQH��H��E��H��t@H�����H��t3�xu-H�;H�5�����xH�{��H����[]�fD�����H����[]�f���ATI��UH��S�M���t0��M��tL��H���f���t�H������t
�[]A\����������USH��H��H��t>H��H������H��H��t+H��H���0 �H���H���%�H����[]�f��������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�L$dH3%(uH�����+��ff.���AWAVAUATUSH��H����H�����>��H��H�I��I��I���>��H��tH����H����H�a�%��H��H����L�����H�EH���u�EH�{H�����H�;H�5w��Ņ��H�;L�������M���_M�����KH�;���(H�����g�A��E����H�;H�5���,�D$����L�{0H�;�L���,�D$���xH�;L����A�Ņ��bH�;L������J�SH�;���H�5��D$��L$��� A�Dd$Dd$E�A�A�H�;L�������H�;L��A��l���H�;L���A��q���A�lH����[]A\A]A^A_�H�����?�A�������M��tNjCH�;����H�o����x`H�;H�5H�����xKD�lL�{0�3���DH����D$���L$��H����H������fD������:���fDH�������v���H���H�߽�����������H����H���p��H���%H����������H�ӵ�H�߽�����A�����ff.����H����H�����>��AUI��ATUSH��H��H����H��t%H���{�I��H��t+�@������t��t�����H��[]A\A]�fD1�H���%��I��H����L�����I�$H����A�D$	H�{L�����C��u;H�;H�5I(��x�H�;L������u���H���[]A\A]�fDH���������R�����@H�;H�5����Ņ��1����S��uA�D$�4���f.�H�;H�5�����������H����H���������H����H�����H���%L����������f�������f.���USH��H��tqH��H��U��H��t`H����
�H��tS�@��	��wHH�;H�5_����Ņ�x3�C��tH�;H�5K����x�H�{��H����[]�D�������f���H��tFATI��UH��S�x�Ã��t)L��H���V���tH����G��t
�[]A\����������ff.�f���ATUSH��tCH��H��H��H������I��H��t*H��H��H�����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�-��H�T$dH3%(uH���������H����H�����>��AUI��ATUSH��H��H��8��H��t%H����I��H��t+�@������t��t�����H��[]A\A]�fD1�H�/�%��I��H����L���T��I�$H����A�D$H�{L������C��u;H�;H�5�$�\�x�H�;L����K��u���H���[]A\A]�fDH��������R�����@H�;H�5Z��	���1����S��uA�D$�4���f.�H�;H�5O������������H���H����������H����H������H�1�%L����������f�������f.���USH��H��tqH��H����H��t`H���
�H��tS�@����wHH�;H�5���)��x3�C��tH�;H�5���
�x�H�{���H����[]�D�������f���H��tFATI��UH��S�����t)L��H������tH������t
�[]A\����������ff.�f���ATUSH��tCH��H��H��H�����I��H��t*H��H��H�����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����P����H����H�����:��AVAUA��ATI��USH��H��w��H��t:H����H��H��t*�@������t��t[�����]A\A]A^��E1�H�n�%��H��H����L�����H�EH����A��H�{H�������E���C��tH�������x�A�H�;H�5���
��q���A�H�;E��u#L���k
��V���D�[]A\A]A^��H�5���D
��/���A�H�;�@H�;H�5r��!
�A�ƅ��	����S��u�E����H�;H�5o��������A���H����H��������H���H�����H�P�%H��������A����������f.���USH��H��t0H��H����H��tH���8�H��t�@��tc��t��
t�����H����[]�1�H�;H�5���/�x�ŋC��tH�;H�5����x��H�{����H����[]�H�;H�S0��
�Ņ�y��ff.�@��AUATUSH��H����H��1�L�%��DH�{����H����H���^�H�����@����	��Ic�L�>��@H�;H�5���Y����H�;H�5���@�A�ŋC��tE��xqH�;H�5��D���A��H�{����E��xND��^���fDH������A����H����A����H�����A���H����A��������H����[]A\A]�ff.���ATM��UH��S����t0��M��tL��H���V���t�H���W���t
�[]A\����������AVAUATUSH��tOH��H��L��L��I��I������I��H��t0H��I��L��L��H���<��L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$��H�T$dH3%(uH�������f.���H��tN�:tIH��tDATI��UH��S�����t'L��H�������tH�������t�[]A\���������D��AUATUSH��H��tMH����H��L��I���J���I��H��t2H��H��L�������L���H�&�%�H����[]A\A]���������f���H���L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$ H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�������D��AWAVAUATUSH��H����H��H�I��I��I�����H��tH���C�H�����@��
t;��t-H���H�����脾��H����[]A\A]A^A_�M���IM���M���pH�}H�5j���Å��L�}0H�}�L������H�}L��������H�}L����������H�}H�5�����L�u0H�}��L������H�}L����f�xzH�}L����o�xc�M�������H�}H�5���0�xDH�}L�����x2�����M��u1��H�}H�5K���Å��B���D��������H���H����������|���H�59�������誼���a���H�F��H���Ѽ���ff.�@��H��L	�t\��tM��uSAVM��AUM��ATI��UH��S���Ã��t;L��L��L��H���z��x&H��������t�[]A\A]A^�@������f��������f���H�D$I��I	�uM��t2��tM��u)�<��@��tM��uI��M	�u�H������������f���H���CH���:�>�1AWAVI��AUI��ATI��USH��H��H����H����H���-��I��H��t�P���y��������<�C1�tH�����������H�;H�5�����H�;L������|�H�;M����H�5?�����ZL�s0H�;��L������<H�;L������'H�;L������
�H�;M��tfH�5���o���L�k0H�;��L���q���H�;L����<���H�;L����B���H�;�H�5��	����H��[]A\A]A^A_�M��t�H�53����xc�H�;�V����H�;H�5���Ņ�xC�C��uA�G����H�;H�5���xŋCA�G�E���H�������[]A\A]A^A_�@������f.���H��tH�?H��t�J�f.�1�ø��������ATUSH����H��E1�H�-�H�{�9��H��tAH����H��t4�xwߋ@HcT�H�>��H�����xPH�{A����H��u��C��uH�;H�5���x%A�H����D�[]A\�fDH���h��y�[�����]A\�f.�H�����y���f�H���H��y���f�H�������l����H�5������������fD��H��t��x�w1��G �fD������f.���H��tGH��tBUH��SH��H��H�(H��t	H�V�%�H���l��H��H�C(��H����[]���fD������f.���H��t@��'t@��"u@�w01��@������f.���H��tD����w?���t~L�F��x-1��@�B�9���Hc�I�4�f9>w�f9~sJ�J9�~�1�ËF��t>L�F��x�1��@�B�9�ލ�Hc�I�4�9>w�9~s�J�����f.������wD�����߃�A��wÐ��@�����v�(������������	����f.�H�51�%�D��@��1����w�� wH�&��H����f.������w$��
�����ƒ�		Ѓ���	����������=��v#�� ��=�v��1��������@��f.������w1�ÐH�5�%��@�����w��01���	����H�5�%�T��@�����w1��������H�5Y�%�$��@��1����v/�����=�Qv��0t��!01������fD��f���1����w
H��%���8�@ATA��UH��SH�GH��H��t:�w��~3�9�N�H��H�Q�%Hc�H���H��tQH�C��c�)�H��@H�H��%��H�CHc���H��H�D� �H�h1�[]A\Ã��ff.�f�AVE��AUA��ATI��UH��S�GH���wH�9�|$�H���%Hc�H���H��H��t2H�C�C�c�P�SHc�H��H�D�7H�oL�gD�o[]A\A]A^ø�������AVAUATUS�oL�g ��~BE�,$E����D�U�M�L$�I���@M��L�	M�IH��A���xr��L9�u�GA��A��H��9�+��L��H�H�4�H��%�I��H��t^H�C �k�c�Hc�E�4��C�P�H��SE�l��C��[]A\A]A^�fDJ��A�0A�[]A\A]A^�M��1��������DH����H�0�%ATI��UH���@SH��H��t_f�H�(@@ @0L�`H�hH��t/H�;tAH�K1�H����H�y�u�p8H�X0[]A\�fD�@8���[1�]A\Ð1���@1��DATL�%��%��U�SM� A�$H��H��t)f�Hc�H��@A�$H�CH��t�C�kH��[]A\��H�Y�%H��1���H�I�%fv�GG G0� @AUI��ATI��U��SH��H���w$D�G(H�G0D9�|)E�H��H��%Mc�K�4@H���H��t2H�C0�s$�c(Hc���H�H�Љ(L�`L�h1��s$H��[]A\A]ø������H��t;USH��H��H�H�-��%H��t�UH�;H��t�R��H�EH��H��[]���ff.�@AWAVAUATUSH��HH�t$H�T$H����H��H���D$8H	��ƒ���E1�!A��D$ D��A��A���=fD�C(H�3����S��t��j�ҸDD؃��SH��H��t<L�cE���|A�T$��t��{,��Su�|$ vCA�D$@u;���SH�H��uċD$8E�څ���H��HD��[]A\A]A^A_�@H���D�sE���y1�A�D$M��D�T$$D�\$�f�D�KG�L	�Mc�F�,�B9T��eMc�E1�D��I��MHE�9A�y9�����t0��du;D����E���4����A�@D�d$�Ɓ���u�r�s,fD��A9�����H�{ ���b���D�L-Mc�F�,�E��x�B�|�9��Mc�I��MHE�9E��A��9��Z���E��t�A�y9��U���f.���d�L���I�yM�IH����M��A��H�|$A��E8��L���L�\$M���>���E�D8�1���H�t$�L$<L�D$0L�L$(�9��L�L$(L�D$0���L$<��L9L$tx�L$0H�t$L�D$(�O@����A�@�D$�Ɓ������M�������H�|$H��������L$0H��L�D$(L����L�D$(�L$0����S�Q���@�C�C�C,����A�D$�t+A�D$���nI�T$�2���z����DH��"����D�T$$D�\$M��I�D$���S�(@��uϋs(@��uV�P9��|��t���du�������=A�A�D$u��C�C,H�����A����D����@��u����X�����u��N���fDA�@�S�Ɓ��d���@��A�uH�߉L$0L�D$(����L�D$(�L$0�D$A���SA����DD�A�@D�|$�+�����A�uH�߉L$0L�D$(����L$0L�D$(�DA������/���DA�H���������������zd�|�������q���A���w���1�1�H�߉L$(D�\$$D�T$�
���D�T$D�\$$=��L$(�\$8��?�����d�����H�xL�hH��tyM����H�|$��8��t���H�D$H���f����8�[���H�t$�L$(D�\$$D�T$�1��D�T$D�\$$���L$(�,���H�t$L9�u5�
���E1��*���M�������H�t$H��������L$(D�\$$D�T$L������D�T$D�\$$���L$(����������SH�߾�L$(D�\$$��D�T$����D�\$$H�D�T$�L$(A��DE��N���@AW�AVAUATUSH��(L�/H�t$H�&H�<$dH�%(H�L$1�A�MH��H��H�Ѓ��� G„�u@��t�H�$I��L�(��H�l$L��1�H�����A��=�����߃�A���`I��������L��I���:�D����߃�A��v
A�����HcD$H��1�H�H�����A��A���~�H�5]�%D���m��u�A�����=�Qv�A��0t�A�������v�H�5��%D���7��u�H�5��%D���$��u�H�5I�%D������l���f�H�D$H��L)�H�8H���L�����H�$H�H�L$dH3%(��H��([]A\A]A^A_��A�GӃ�2vA��I�����?w�I������I�������@A��@����������A��(����������A����s���A��_�i���1��`���f.�H�5�%���"���B���A�����=�Q�0���A��0�#���A�����������1��
�����L��誸������AW�AVAUATUSH��(L�/H�t$H�&H�<$dH�%(H�L$1�A�MH��H��H�Ѓ��� G„�u@��t�H�$I��L�(��H�l$L��1�H���e��A��=�����߃�A���`I��������L��I���:�D����߃�A��v
A�����HcD$H��1�H�H����A��A���~�H�5��%D������u�A�����=�Qv�A��0t�A�������v�H�5W�%D�����u�H�5�%D�����u�H�5��%D���q���l���f�H�D$H��L)�H�8H���L���a��H�$H�H�L$dH3%(��H��([]A\A]A^A_��A�GӃ�2vA��I�����?w�I������I�������@A��@����������A��(����������A����s���A��_�i���A��:�_���1��V���H�5q�%������B���A�����=�Q�0���A��0�#���A�����������1��
�����L���
����� ��AW�AVAUATUSH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�kH��H���d���I��H�M���&�8:��H�PH��@< �%H��H������A�<$xI�����C81��Rf�H��9k8�CI��H�C0L��A��I��L�H�x�V��t�H�C Lk0I�uH�xH����������O��H��D9s8�#H�C H�x��M����H�{ H��L����v��t_H����H�C H�x��H���%H���f�H�{ H��L��1�[�]A\A]A^A_��8*tC�CH��[]A\A]A^A_�H�&H������H�C H�xu�H��%L���H�{ 1�1Ҿ����u�H��8t�H��H��H�C H�x��H�ʮ%L���CM���r���H�C H�x�c���H���%L��H�H��[]A\A]A^A_��A�|$m�=���A�|$l�1���A�|$�%���H�C H�xH���������H�5p�賷�H���i����C�n���H��8*t=�CH���{��������H��%L���4���H�����H������H��H�{ 1�H��H�����������H�=��׻�H������H�C H�xuH���%L���CH���������H��I�&�
L��H��H�Ѓ��� GƄ�uD��t�H��H��Հ�.��AWAVAUATUSH��H����@u$H�G �@ ���CH��[]A\A]A^A_�L�gL������H��H����H��
�� wfH�&H�����H��H��H�Ѓ��� GDŽ���f.���t�H��H��
��H��1ɾH�H� 1��G�1���:��H�{ ��*��1�H��� ����9���H�{ �H��H�H��H��[]A\A]A^A_�B�����H��8*�����H��H�{ 1�1�H�H���[]A\A]A^A_��H�JH��J��:����� �� ��L��H���8����}xI�����S8E1����@I��D9c8�M��H�C0H��E��I��L�H�x���t�H�C L{0I�7H�xH���������跴�I��D9s8��H�C H�x��M���H�{ L��L������������H�C H�hM���_H����1�H�x����H�ت%L��H����������DH�&H�����CH�{ H������H���%H��H�H��[]A\A]A^A_���C��E1����CM����H�C H�xuH�G�%L��M���f���H�C �F���H�&H���p����T���H��H�5lhH��H��Q���iH�C H�x�L��H���_���H��H�H�����8:��H�PH��@< ��L��H���)����}xI���!�C8E1���DI��D9c8�
���M��H�C0H��E��I��L�H�x���t�H�C L{0I�7H�xH���W��該�I��D9s8������H�{ ���H��8*���CM�����H�C H�x����H��%L��H��Q����}m�%����}l�����}����H�C H�xH������H�5ɮ���I���Z���@H�5ڕH����������H�C H�x���@ �J����#���H���s��I������H�D�%H������H��H�{ 1�L��H��������	�������H�{ 1�H����������������8*��������H�ާ%H�����H�=�����I�����H���%H��H�C �A����CM���b����N���H���~���H���%L��H����}m�����}l�����}�����H�C H�xH��tU��H�5n�豰�I��H�C H�xt*M������H�{ L��L��������������H��%H����H�=����I���H�����I�����f.���H����AVAUATL�%��%USH���@�H���H�{H��t�e��fv�H��CC C0L��A�$M����H�{8L�kH�CH��t��H�{H��tA�$H�S0H�{H��t�I�$H��u��K$��~�1�f�H�LmL�4�I�~H��t��I�$I�~H��t��I�$H�S0H��9k$��?����[]A\A]A^���ff.�@��������H��tGATL�%��%USH��f�H�{ H�+I�$H��t��I�$H��H���H��u�[]A\���ff.�@��H��t�G��x����fD������f.���H��t�G��x��������f���H��t�G��x���fD������f.���H��tt��G9G,u�G,������t���GHcWA��A��x<C�H�w �OH�9L�~)Ic�H��E��L)�f.��GH9�t
H��9L��H�?H��u�1�ø�����ff.�f��������H��t'f�H�G�@%@uH�?H��u��f���f.���AWAVAUI��ATUH�-Y�SH�&H��HH�t$�T$H�L$(�D$ �D$8H�D$H���&A�E����M��1�<|�FI��A�$��t<|u��'H�T$(H�t$L��M����H�$I��M����L�%'�%�@A�$I��H����f��@ @@0�@(
A�$I�F0H���!H�D$H��tI�FH���L��H�|$H���fH�GI�FL�w�|$I��A�~ ��M�w t8�H��H��H�҃��� Gք���@��t�H��I���H��I��H��H��H�҃��� Gք�uR���t���f.�D��D)�L���b��H�$H����	H�T$(H�t$H��M�l$��I�������/����.���D$����@��H��L��I���I���
H��H��H�Ѓ��� GƄ��@��t�H��I��Ҁ�/���T$��A�V �8.��fDL����A�G����I���
H��H��H�Ѓ��� GƄ�u��t�H��I�����/��	I� 1�1Ҿ����uiI��
��tH�BI��JH��H���H��H��H�Ѓ��� GƄ�u"f.���t�I�H���J������/t���3���A�GL���X�H�|$t
H�|$�v��H�<$H��t	H���%�H�D$H�D$H��H[]A\A]A^A_�1�1ҾL���&�����I��:t.H�BI��zt!H�BI��J��@�5�����/��@L����A�G���T���I���H��H��H�҃��� Gք�u6��t�H��I���������L���@�E�_E������I����/�)1�1Ҁx/I� tn��\�����I��
��tH�BI��JH��H���H��H��H�Ѓ��� GƄ��y���f���t�I�H���J����������ukI��
��t!H�BI��J����H�BI��JH��H���H��H��H�Ѓ��� GƄ�����@��t�I�H���J��ф���E�WE����L���J�D�|$ E����D�L$8I�F0A�v$E���A�~ ���|$8H������u	�8�����������I��H���uI�~H��tH�8���A�V ��t	A�L$�A�~$����E1��D$$1�E1�L�l$0M��E��D�|$ A������Ic�H�RI�U0H�ʃ9H�qH�Q���	HcL�H�>��H��H	����L���������A�}$A��A��E1���D9��D�D$$M��A�L$L�l$0E���?A�V ��u&A�T$������~I�t$���u���9�}]H���H��ID$�M�f8I�F0�Sf.�E��u,E��D�|$$�u���fD�1�1�L��������H���M��L�l$0L����I�F0A�v$��~	�8�
A�V(9�.�H��H���%Hc�H�4RH���H�����I�F0A�v$A�f(D�F�E���Hc�H��H�H�T���L�IL�RH��H��L�Q�L�R(L�J L�I�L�Q�D�RL�J(D�I�D�Q�D�JA��E)�A��E9�|�H���H�<$H��H�@H�@A�v$��/���H�қ%H�<$�A�E���"����T$ ���8���H�D$H���!���H��f�H�{8H��t
����H�C8H�[H��u�����@A��E����A�T$E����������A�T$������H���R���A���L���O�����H���A��A�����E1�A�}$����A���~����A��A9��j���E���a���A�L$@1�1�L��A��dD�\$<����������D�\$<A����-Ic�E1�A�����A�}$H��IT$�
 ����DL�t$���fD�|$8�a�|$8���A�F!�����D$ �}���@�T$��A�V ���/����.�@�x/����x/���1�1ҾL��������4���I��8��1ɾH��H��H�҃��� Gք���fD��t�H��I���Ѓ�t1�N�H��H�IH�|�@H�J H��H�J�H�JH�J��
�J�H9�u��A�v$���fD�T$��A�V ���/�(����x/����I� 1�1Ҿ������n���I��
���JH���H��H��H�Ѓ��� GƄ���@��t�I�H���J����H���I��H��H��H�҃��� Gք�u��t�H��I��ׄ�����/����H���I��H��H��H�҃��� Gք��A���t�H��I���Hc��?����H�D$H�������H���
������������`���9��I���I�T$H�H����
���A�F!������D$ �*���H�ڗ%L���� ���I������H�BI��JH�����L���*�E�gE�����I��8�������@��������������������fDH�x����H�x����1����H��t�H@I�F8I�F0A�v$�D$ �o���fD��/�T����@�< ��1�1ҾL���������:���I����tH�PI��HH��H���H��H��H�҃��� Gք������t�I�H���H���1�1ҾL���^��������������A�T$�4���E1�A�}$���H��������K���H�PI��xtCH�PI��H��t,H�PI��HH���R��������b���A�L$1����H���1���H���'���H������fD��AWAVAUATUSH��8dH�%(H�D$(1�H����H��H���{H�D$I��L�%>}H�D$DH�D$E�G$H��E1�H�D$E9�}/Ic�I�w0H�@H��L�,A�}��A�UIc�L�>��H�|$�H��t	H�:�%�H�L$(dH3%(����H��8[]A\A]A^A_��{�&H�CHH���	H�pH��t I�}H����.����E�G$f�A���C����I�}�MH�����C�ƒ��	������f�H�[(H�����{u�H�sI�}�8u����t�H�CHH����H�pH��t�I�}H��t����t�A�}��H�|$A�v�H������F���@�C�ƒ��	t+��t&H�[(H��tI�}H��� ���H�s�8���H�|$H����D$������E�G$�D$H�H��H�D�0H�X�"���fD�{u�I�}H��tH�s�8u�����t�H�CHI�}H����H�������H�p�w���f.��C�ƒ��t	��
�Z���I�}�O���H�SH��u�A����H�R0H���3����zu�H�rI�}�8u�H�$�E��H�$��t�������{����H�|$H��������M�M������1��t���@�{���������f��{�����H�[(�C���	��������fDL�lA��A�E���������i���I�}�������������@�{���C���H�CHH����H�pH���3���I�}H�����������I�}��������H�ّ%�M�M���*�������DI�}�%����s���H����������f�H�|$H��D��� ��E�G$����I�}��������諢�ff.���AWAVAUATUSH��H����L�g8H��E1�M����L�5�%I��.�I�EH��E H�mI�]�C(H��tjL�e8M���}�0A�H��H��tmf� @@ A�H�C H��tAL�{�CL�c�C,����M��u��E H�mI�݉C(H��u�H��L��[]A\A]A^A_�f�H�y�%H��L��E1�詳����E1���ff.��������H��t$f�H�8tH�H��u��f.�1��ff.�f���H��te1�H�W8H��tZD�BE��~3H�R�uBA�p�H�� H��H��f��
H�� ��uH9�u�H�D9�AL�H��u��������ø�����ff.����H��t'�Na�f�H�W8H��t�R9�}��t��H�H��u�ø�����f.�1��ff.�f��������H��t'f�H�8t)�G %uH�H��u��D��f.�������f.��&#�Gxf����sH�G����+H��H�=yv���H����Hc�H�>��D�AE@��uۺ;H��f�P��D�AD��f��AC��f.��AB��f.��AA�f.��A9�f.��A8�f.��A7�f.��A6�w�����A5�g�����A4�W�����A3�G�����A2�7�����A1�'�����AF������A0�����H�G�������H�G���������1�������H�D8���H�G��������;H��f�P��ff.���AWI��AVI��AUI��ATI��UH��SH��H��LcLc	I�I�L9�swL9�sr�E<<��<>tV<&���P�_���P���������<
�^L��H)�H��~&H���
H�����H���@L��H)�H��|L)�L)�1�A�A�mH��[]A\A]A^A_�fDL��H)�H��~��&lt;H��H���A�����H��H���1����L��H)�H��~��&ampH��H���C�;�
���D�&gt;H��H�����DL��H)�H��
�\���<��\<���L��H)�H���<����u��H������?	Ɓ����������
��!ЍV�����!Є�����E1�H�
nt1�H���y����L)�L)����A�A�m����f.�<���<�w�L��H)�H��������U���uH������?��?	��	�����u����?	Љ��A���fD�����=���6����� ��=��%�������=�����+���L��H)�H�������u��H������?	��u�����?	�����E1�H�
Rs1�H���x��
��������H��H�H�T$肵�H�5+tH�T$H�81�������f.�H����ATUSH���H��萴�H�8踤��聴�H�8t{��tw�<�������C|��~>E1���S���H�0A��A��Hc�H�|<Hc��ҫ�C|���D9����H��D<�U����t�K0[]A\�fDH�{D��H�C<H��H�Cq)��Hy1����H���H����*���H�����H����������H��t;USH��H��H�H�-�%H��t�UH�{(H��t���H�EH��H��[]��f��ff.�@H���%ATI����U��S�H��H����H�xH��H�Hǀ�H��1�H)�������H�M��t,L��袑�H�C H����L���}��Hǃ�H�CH�������C0t���@��D�k0@��u��t�C8H��[]A\�@�C8H��[]A\ÐL��p1�1Ҿ�膒���@M��1Ҿ{�H�
�#�e��H��1�����f�H����AUATI��USH��H�(H��tc��H�aV����A�D$4؅�~EA�t$|I�l$<E1�fDD)�I�|$(H��9�N�A��$�����A�t$|A�D$4A��D9��H��[]A\A]��ff.�@H��tH��t�~t��H�~t�ATI��UH��SH�~H��H�5��$��uxM��tA�|$8��H�bf�H���+��H�{tT�H��H��b���H�sH������H��H�1A���H�sH�} []A\韎��[]A\�H�"9�H�����f.��L���s����s���ff.�ATE1�USH��tH�t
D��[]A\�DH�(u�H��H��H�����H�EH��t�=��H�E(H��t0�H������I��H�
�!1�A���{��6���H�}A�����L��n1�1Ҿ��
���k������H�������H	���UH��SH��H��H��tJH�5;oH���{��t�H��[]�H�5AoH���Y��u�H�5VoH���F��u�f�1�H��t�H�5boH���*��u�H�5�oH�����u�H�5�oH����������f.��ff.�@��ATI��UH��S�}��H��t(H��H��1��K��L��H������H��H��[]A\��[]A\�ff.���ATI��UH��S�-��H��t(H��H��1���L��H���Щ�H��H��[]A\�q��[]A\�ff.���ATI��UH��S�ݹ�H��t(H��H��1�諧�L��H�����H��H��[]A\�!��[]A\�ff.���ATI��UH��S荹�H��t(H��H��1��[��L��H�����H��H��[]A\�Ѩ�[]A\�ff.���H��t/UH��SH��H��H��1�H������H�H��u�H��[]�@����U��H����SH���*���H��H��tH�p ���׺�H�C(H��tH��H��[]�@H�{ �W��H��1������ff.���UH��H����SH������H��H��tH�p 1�H���c��H�C(H��t
H��H��[]�H�{ ��H��1��=�����ff.���UH��H����SH���i���H��H��tH�p H��西�H�C(H��tH��H��[]�f�H�{ 藘�H��1�������ff.���AUI��ATI��D��UH��H��SH�����H��H��tH�H L��L��H���D��H�C(H��tH��H��[]A\A]�DH�{ ���H��1��e�������H��tH�(H��t����f�������f.���USH��H��tH���	��H�߉�����H����[]ý������ff.�@��H��t
H���1�ø��������H��t
H���1�ø��������AWAVAUATUSH��(dH�%(H�D$1�H�����H��H��I��H��I��L�l$fD��tT<
��<
��<	��<"�<<�$<>�D<&�dA�V�����I����u�DL9�tL��H��H)��ݑ�H�D$dH3%(��H��([]A\A]A^A_�f.�L9�tL��H��H)�蝑�H�5iH��艑�I�vA�FI���0����L9�tL��H��H)��]��H�5�h��L9�tL��H��H)��5��H�5�h��L9�tL��H��H)��
��H�5�q�k���@L9�tL��H��H)����H�5\h�C���@L9�tL��H��H)�轐�H�59h����@L9�tL��H��H)�蕐�H�5h��@���y���H��tH�}p�i���L9�tL��H��H)��U��A�<��<���A�v��A�����?	Ɓ��A��
�ƒ�����t�F���wPL���S�L�����H�����Ic�L��I����������=��vʍ� ��=�v�����=��v�E1�H�
�fL��y����A�6L�����L�����H��胏�I�v���<�wBA�V��t�A�v��A�����?	Ɖ����?	�����E1�H�
NfL��x�<��q���A�N���d���A�V���W���A�v��A�����?	�����?	Ɖ����?	�����^��ff.�AUATUSH��H�^H����I��H��L�-�o�Vf.���u>H�}�L��芎�H�{�q��H�sH�}���r��H�}�H�5�e�]��H�[0H��t&�C��u�H�KPI�t$@L��H�}臓�H�[0H��u�H��[]A\A]�H����USH��H�o(H�����8H����H��[�H��裷�H�CHH��t%H�pH��tH���i��H�@:�H���u��H�sH���I��H�8eH���U��H�} H�����H��H��H��[�]�/��������v���f�H��[]�f��ff.�@H���AWAVAUI��ATL�%McU1�SI��H��H��H��H�G8L�(�V�D$����Ic�L�>��H�|$(H�l$8��H�|$0����tH�D$H��tuH�xH��tlH�5��9��uH�D$H�5n�H�x� ����H�|$H�d��2��H�D$H�t$(H�x ���H�|$�H�S�	��H�|$ �mH�|$�aH�|$�H��c�۵�H�L$H�t$ H�y �8���H�|$�H��貵�H�E(H��tH�M@H9H(�mH�}���D$H�EHH���zH�x���|$��H��4�L���Q��H���L���=��H�EHH��t%H�pH��tL�����H��7�L�����H�uL�����H�M4�L������L9����{8��H�E0H����H�m(H�����}u͋C4��~���C4�c����t
�{8��H���L�����H�EHH��t%H�pH��tL���E��H�7�L���Q��H�uL���%��H��3�L���1��L9��@����D$E1��C8L9��6���H��H[]A\A]A^A_�fDH�RG�L�����H�E0H��������PH������D�C|���H�S<L��9C4NC4��詳�����H�{(H��H�������L9�t
�{8�MH��2�L���m��H�EHH��t%H�pH��tL���3��H�
6�L���?��H�uL�����H�E`H����H�}H�5 a���tH�}HuH�}`uH�5�bL���մ�H�UXH���6���H�C(H�l$8H��H�D$0H�D$H�B(H�D$(H�D$H�D$ H�D$�?�H�5I��d����H�}H��H��H�����H�m0H������H�}HH�}u�H�5wH�"����H�l$0��H��H���X����K���L�MPM��tA�����H�&`�L���
������H�diL������H�uL���ų�H��_�L���ѱ����H�uPH������H�EH;v%�.H;�t%�!L���y�����H�}PH��S�L�����u��H�uL���I��H�}Pt �H��UL���N��H�uPL���"��H����L���.���A���H��H���>�1���H��H����!���H�EH���$�������H�}P����H�SL����ذ�H�uPL��謲�H��g�L��踰�����I� H���ǯ����I� H��薶����I� H���5�����H���L��聣����@�H�l$H��H��@H�}(H��H����H�H��u�H��H�l$�������8��������C|9C4H�S<L��NC4������������}�����H�}�|���H�}���a<�j���H�
�\��Hc�H�>��fDH�}H�|H�EH��tH�@PH��t	�8����H�}�A������H�}H��t�{��H�uH�}@辚�H�EH�����H�h(����H�}HH�}�����H�56��
��t
H�l$(���H�}HH�}�����H�5ɕ����L���H�l$ ���H�EHH�5��H�x辱��Z���H�l$�[���H�&.�L���Ȯ�{8H�}�~�WH���C4�������C4���虮�H�u�F���H�|$����H�|$ ����H�|$�H�L\�b��H�L$H�t$H�y ���H��H��L��L��I��M��D�S<]tg��H����u�L��M��I��I��M9�H��H��L�L$����H��L���	���L�L$L��L���¯�H��[�L���έ������]u��{>�H���S��]�y�����H��,�L��蓭�{8��H�5R]L���Z��H�sH���L���E��H�h[�L���Q��{8�����H��@�L���3������H�}H�5�����{���H�E(H�5[H�x�ү��_���H�EH����H�\$H���H�[0H����H�{H�54�蓯�t�H�5[�H��� ��H��t�H�5R�H��H�D$�g��H�T$���H�q%H��뜃}����H�xH�5TZ�2���c������H�f�L���A������H��t,�W�B�����H����H������H�@0H��u�H�]?�L����H�m�U�7���H�=?�L���׫�蒦����?����s4�C|H�S<9ƍ~L����L����襫�����L�k�	L��H�L$H�q�L�D$L�L$�y��L��H��L��H)�L���e��H�vY�L���Q���CL�L$L��L�D$H�L$�����C8I���p���H�}H�\$u�D$���fDH�R*�L�����{8tOH�5�ZL��迬�H�sH��t!L��讬�H��X�L��躪����H�vd�L��衪���H��=�L��苪��F����t��s4�C|H�S<9ƍ~L����L�����]���j���H�D$H�5�)H�x������H�D$H�5�H�x�����H�D$H�5˗H�x�٬����H�D$H�5�H�x輬����H�D$H�5��H�x蟬���H�D$H�5.�H�x肬��b�H�D$H�5�H�x�e���E���H�n%H�\$H�����H�5���6�����t$�������H�VW�L���>���Q�H�}���H�5���������H�5r�ޫ�����H�5���ȫ�u�H�}H�5�:贫�u�H�}H�5��蠫��X��e���H�5��臫��?��L���H�5��n���&��3���H�5M��U���
�����H�5���<������H�}H�5i��$�����H�}H�5������������H�5�����������fDAWI��AVAUATUSH��H��(H���L�npL�gH�o(H�D$H���H�D$�#��C�ƒ��	��I�WH���]H�SpM��A�W0��
t5��@u5��	����0��L�kp1�H��([]A\A]A^A_�f���0ucM���:L��H���p�M��uH�}�A�G0���L��H��H��艘�1�I�tL�kpH��([]A\A]A^A_�D��@u�L���u�M����M���� �A�W0�L$����������A��A��A����A���;L�sM��u<�%D��A�F����vH��9�H��胦�M�v0M����A�G4L��L��E��u���@L�spM��MD�����1�L��H��H��萗�����H���~�I��H�������L�5�`������H�}�D$����H�}(������������@�ƃ���@ �@�t$��H����I9����I9������ILJ����fD�|$���I�o(H���a��H�}�x��H�}(�?p�H�D$H�EH�E(I���H�D$I���1�L�kp���@H�}(����I�(L����������L�kp�����D�H��HH�����H�shH����H�} �q�M��t �
H��H��H赤�H�} L���iq�CL��tr��tMH��F�H��艤�A�W0���H���؋�H�������H�phH�xp�rj�DI�E�����@H�|R�H���<���f.�H�KR�H������z����H�%R�H�����)������������I�(L���Q�������A�W0�у�����ILJ�����ff.�H���AWI��AVAUI��ATUSH��H��(�G8L�g(H�$L�v(�D$A���A�GH�
gPHc�H�>���;H���L���<��I�GHH��t%H�pH��tL�����H��%�L�����I�wL�����{8�H�B"�L�����@M9�u2�fDM�0M���J���A�~I�n(t8M��M9���I��{8u�A�G����v�H��5�L��胢�뱐�C4��~���C4�.����t
�{8��H���L���J��I�FHH��t%H�pH��tL�����H��$�L�����I�vL�����{8tJH�T!�L����L;4$�4����D$H�$M���C8M9��%���H��([]A\A]A^A_�f�1�H������@�C|���H�S<L��9C4NC4��葡��.���@�H�{(H��L���������M9�t
�{8��M9w(�NI��CL��H������_���L��H���T��O���I�wPH���B���H�d%I9G��H���L���������I�oPH��t�E����H��N�L���Ԡ����H�.XL��軠�I�wL��菢�H�^N�L��蛠����M9�t
�{8�"I�PH��B�L���7�h��I�wL���<��I�Pt*�{8��H�nD�L���7��I�wPL�����H�ƶ�L������2���M9��	�{8��I�P�K���H�BL�����I�wPL��贡�H��V�L��������L��H���������M9w(�����I�GH�������M��I������L��H������I�|$ L���}����I�|$ L���z���u���I�|$ L���H���c���L������V����1��I�wL�����{8��1�H���������H�P�L����I�GHH��t%H�pH��tL��辠�H��!�L���ʞ�I�wL��螠�I�o`H��uvI�oXH��t@H��H����H�m0H��u�I�G�S8H���R��tf���OH���L���b��{8��C4��x���C4M��M�����H�{(H��H�����H�mH��u��m���H�@0H��t��H�Q���w��C8L�<$닐I�P��������I��DA�Q<]tK��I����u�L9����H���L��	踝�H��L��荟�H��K�L��虝������]u�A�y>��I��A�Q��]u���1�H���:���.���� ���������C|9C4H�S<L��NC4������7������C0�������H�$K�L������&�������������C|9C4H�S<L��NC4������؜�����莗�0���`����C|9C4H�S<L��NC4�����襜��<���I�A�	L��L�L$H�q�H�D$�~��H�t$H��L��H)��k��H�|J�L���W��L�L$A�AL�L$L���c���H��/�L���,�������H����������H���������1�H����������1�H��������DH����H����AUATUSH��L�g(M���H��H���
H��L��蝛�H�sL���q��H�{h�&H��R�L���r��H�shI�|$ �$h�H��?�L���P��H�spI�|$ �h�H�{`���H�pIL���#��H�sHH��tH�C@H����H9XP��H�[�����L�m4H�E4H��tDH��H���-���H�[0H��u�L�m4H��H�H��L��[]A\A]鲚�f�H��[]A\A]�DH�{P�^���H�{X�S���H�{H�H���H�{xH����1����fDH�{p����H��Q����@I�|$ �֝��.�����ff.�@��H��tH��tH����H��H�H��?�fDH��������H����H������(AWAVAUATUH��SH��H���G0����~A��tH�V@H��t
�z
���@��L�sL�{(��q�L�m@M���[I�EpH�$H�CH���nI�EpM����L����q�H��H��H�5THD�I��U�C0��A�H��L��L��藜�E����1�M��t$H�$I�UpH��[]A\A]A^A_�H��H���5���1�H��[]A\A]A^A_�@���H��1�[]A\A]A^A_�f.�� ��������L��H��L��H�L$�a�H�L$M���?����C0�J���E1�H��L��L�����E���M���H�[(H���?��H�{�Vs�H�{(�c�H�CH�C(�����H�$H�
SM������L�,$L���t���@H�$H��H���K������I�(�����H�{(H��H�L$�4��H�L$��xA��{���H������H�$I�Ep1����f���H��tOH��tJAUATI��UH��SH��H���j��I��H��t2L��H��H��H����r�H��L��[]A\A]��]����H��[]A\A]�D��AWA��AVI��AUI��ATI��USL��H��D�D$dH�%(H��$�1��/o�M��t{M��tvH��H�l$�D�D$H��PH��HD�1��H�1�E��H����L�d$8D�|$D�D$HH�\$(����L���L$@ ��}�H��tH�phH�xp�~\�:L��H����H��$�dH3%(u)H�ĸ[]A\A]A^A_�f.�L��H���5������k�ff.���AWAVE��AUA��ATI��UH��SH��H���:n�H����H����H�1Y%�8�I��H����f�H�X H��@(H�@H�@H�@H��@0�{�H��H�$�ؐ�1�H�߉D$芆�E1�E��D��H��L��L���s��t$H���g��H��Y%L���H����z�+$H�H��[]A\A]A^A_��H��H�����[]A\A]A^A_�f�L�Ʉ1�1Ҿ��d�H������ff.�f���H��tfH��taAVAUE��ATA��UH��SH��詅�I��H��t9H��H��E��D��H���M��L��H���"[�H�����w��[]A\A]A^�fD���������ff.�f���ATI��UH��SH���l�H��tEL��1���I��H��t3H��t�{
t0E1�A�1�H��H��L�����[L��]A\�s��[]A\�1�H��H��H����e���fD��AWAVAUATUSH��H���dH�%(H��$�1�H�D$H���D$HD�H���XH�I��I���H����I��E��H����L���a�H��H���I�]�L�
�H��H����H�T$ 1��H��H�T$�H�1�E��H����H�l$H�D$XL�l$8�L��H�T$L���L$P H�����H���ϙ�H�}(H�����]x�H�}(�I���ߕ�D��H���T\�H��I�$�(��I�<$tIH��$�dH3%(��H���[]A\A]A^A_��H�pH������I��������~��L��@1�1Ҿ��Ra�����H�} �w�H�} I�ʼn�E���f�M��L��{�H�
S��a��>����g�f.���E1�1��b��f���A��1��R��f���E1��D��@��AVAUATUSH��dH�%(H��$�1�H����L�npH��H��A��1�M��tL���_�H��H����H�����I��H����H�\$1��H���H�1�E��H����L�d$8�D$HL�l$(�U��H��H��L$@ ���L���m��H��$�dH3%(uQH�İ[]A\A]A^�f.�H�D$H�4U%E1�H�}p�H�EpH�t$�P���f��������Df�@��1��ex�D��ATUSH��dH�%(H��$�1�H��tdH��I��H��t`H��1��H���H�H��H�T$H�l$(�l��H��L��L$0 ��H��脁�H��$�dH3%(uH�Ġ[]A\ø�������Y��������e�ff.�f���ATUSH��dH�%(H��$�1�H����H��I��H��tz�F���	uoH���1��H���H�1���H����H�T$�D$8H�l$(���H��L��L$0 �0�H��踀�H��$�dH3%(u+H�Ġ[]A\�f�H��舀�����ɸ�������d�D��AVAUATUSH��dH�%(H��$�1�H����I��H��I��A��H����L���T\�H��H�����UH����L��H����s�I��H����H��1��H���H�1�E��H����L�l$(�D$8L�d$���H��H��L$0 �(�L����H��$�dH3%(uLH�Ġ[]A\A]A^�DH�^pI��H���L����UH���`����t�‰EH�Q���fD�������c�ff.����1��e��D����1��S����1�1��C����UH���SH��H��P%�H��H����f�H���Ux�H�CH��tH����_�H�H��H��[]��H��Q%H��1�H��H�4=E1�UA�1�1�P1�1�1�jjjUjjjjh$�k�H��`H��H��[]�H��H��<E1�1�H��LPA�1�R1�1�jjjjP1�jjjj�k�H��`�Q���f���UH��SH��H����H�����u{H��tvH�H���B��H�E���1�H��uH����[]�f�H��H�u<1�E1�SA�1�1�P1�1�jjjSjjjjh$�k�H��`������@H�!<1�E1�1�PA�1�1�j1�jjjjjjjh$��j�H��P������c���D��USH��H��tH�-P%H��H�?�UH��U1�H��[]�H��;E1�1�1�PA�1�1�j1�jjjjjjjh%�]j�H��P������f���SH��teH��H��:}�uH��[��_�DH�H��H�z;1�A�E1�1�1�PR1�jjjP1�jjjjh%��i�H��`�����[�H�%;E1�1�1�PA�1�1�j1�jjjjjjjh%�i�H��P�����[ÐH�GH��t�P��tH�ǃ�u �H�G0H��t&�PH�ǃ�t�t��fD�	t�H�W0H��uH�(H��u�1��DH���ff.��SH���dH�%(H��$�1�H��tNH��tI�G�	uB�u`L�NM��t5H�����1�H��L�`:��$Q�H�5O%H��H�0�d�H��$�dH3%(u8H���[�fD�x�H��3y�yH��9H�5�H�81�����"_�f�AWAVAUATUH��SH��8dH�%(H��$(1�H����H�����u9H��H��t1�GI��I�ωƒ���tN����V��uNA��uH�H��$(dH3%(��H��8[]A\A]A^A_���V��tȨ�01�����D��u�H����}�H��H�D$�x�H�$H����I�FH���<H��L%H�D$A�~�
H�=A9��Z�I��L�l$@AT�1��t$L�L$��L��L�&9���~O�XZ�C�jH�{h1�H����H�SPM��tM�1�A�~H�
��I����H��A�AU�QjjAT�t$0AW�L$HQ1�jjP1��f�H��`H�\$L��H�$H�������H9E�����H�����f��v�H��#w�,H��7H�5�	H�81����d���@H�=!8��Y�I�����@L�hM�������H��K%E1�L�t$ M��L�|$(M��H�D$H�l$�D��t{M�v0M����A�F�P���w�I�vPL��覇�I��M��t�L���e�~�H�A�T��� w�H�&H��s�D���� �%Hc�I�H��� A��I�~H�z���I�~H�5^h�5����A�~�W���I�~H�L���I�~H�5�6����4���I�FHH�5T8H�x���uI�FHH�5d8H�x�ӈ�����H�5��L���<h�H�{ H��H�D$0�t�H�s H��I���y�I�ċ���3��������FI�t$ L���i��I��L����l�L���o�H�D$H�|$0����DH�&H������H������A�T����DM��L�t$ H�l$L�|$(M�������������I�D$H���l�0H��1�L����'�`���fD��~H�5)H��譅�I�T$H��H�RH��H��H�r萅�I�T$�M9
�I������@H�J%L��H�0��^�����H�EH�$����H�sX�t����I�FHH�5�6H�x�,��uI�FHH�5�6H�x�������H�5[sL���}f�I��H���zH�L$H�s L��H�A@H�NH��%��H��H��t�8�w�/k�H�l$H�D$L��H�EHH���H�pH���L��莄�H�5uH�����H�uH���s��I������L�������A�L$H�5��H���L����HE��:�����D�kr�A�$H�(�T$<�r�T$<H�5�3H�81������@�AD$1��1�L��3H�������hJ�Hc��o��AD$�H�
�3H��H�����H�Ǹ�&��L��H��蛃�H��I���PJ��%���H�uL�����I������H�l$����q�H�(�@r�H�513H�81������H�@H���|���D�E���p���H�@H�(�i�H���e����[����X�DAVAUM��ATI��UH��SH��H��H�w H�{ H�H�N�Tu�H��tL�8	H�����H�"8Hc�H�>���GH�|$�{�H�|$��uf�f.Gz]u[�i�{t-E1�E��L��L��H��H���F���H��D��[]A\A]A^�fD�E��f.�H�G H��t��8t�f��h�{A�u��E�f�H�GH���{�������q������D�w�gh�E���[����ff.��H�H�OH����UH��SH��H���f�H�s1�H��H���~�uSH�H��t;H�{H���t�H��u���o�H��ep�H�5.3H�81���H�������[]�H��1�[]���o�H��+p�H�5$3H�81���H�������[]�1��ff.�H��tdUH��SH��H���
DH�H��t@H�s1�1�H����}�t��'o�H��o�H�5�2H�81���H�������[]�DH��1�[]�1��@H��H��I��H��tI�G8H�wxL�WpH���jA�APQH��1�jjjjAPM��jjjRL���^�H��h�DE1�1�1��ff.�@H����H����H����M����AWA��L��AVAUI��ATI��UH��SL��H��H�@L�L$�^m�I��H����H�kB%�0�H��tw�@I�L$ H�XH�\$D�xL�hL�p H�X(H�H��u!I�D$ H��[]A\A]A^A_�f.�H��H�H��u�H�H��[]A\A]A^A_�1��D�E8L��/1�L���H�D$�M�H�D$�E1�I��H�
P1L���H���`���1��ff.��H��t;AUATI��UH�-`SH��H���{t&H�[0H��u�H��[]A\A]�f.���H�{Ht�H�{H��襀����{u�H�{Ht�H�{H�5T.耀�t�H�CHH�5�/H�x�h��uH�CHH�5�/H�x�P���j���H�5�H���_�I��H��tnI�|$@H���k�H��t{H���wg�H��A%L���(���fDH�CHH�5U/H�x�������H�CHH�5a/H�x�������&���E1�E1�H�
0H�޺L������E1�M��H�
0H�޺L��H�D$����H�D$�Y������H���sAWAVAUI��ATUSH��H�H��tA�E���=I�}XH��@%H��t�M�eHM����fDI�l$ M�4$H��tEf.�H�}L�}H��t�H�} H��t�Cf�H�}(H�H��t��H�H��L����M��u�I�|$H��t�I�|$(H��t�:V�I�|$0H��t�I�l$8H��t.@H�}L�}H��t�H�}H��t��e�H��L���M��u�L��M��M���=���I�m@H��t&@H�}L�eH�H��t��H�H��L���M��u�I�}(�l�H�H��L��[]A\A]A^A_����kK����fD�ff.�@��H��tgUSH��H��H�H��t�C��t>H�{@H��t�y�H�{XH�-U?%H��t�UH�{0�l�H�EH��H��[]��D��J�H�{@H��u���ff.�@��USH��H����H��=%H�����H��H����H�xH�@Hǀ�H��)����1����H���
^����H��H�C0H���H�H�Ch1�H�C�ce�H�C@H��tBǀPH��H��[]�fD1���@L�	I1�1Ҿ���H���@L�)-1�1Ҿ��H�H��1���U��f���ATUSH��t{��~wH��<%A��H�����H��H��tkH�xH��H�Hǀ�H��1�H)�������H�H�k D�c(�]�1�H�C0�}d�H�C@H��t<H��[]A\�@1�H��[]A\�fDL�)H1�1Ҿ��G���@L�I,1�1Ҿ���G�H��1���T��f���USH��H��tyH��;%H�����H��H��thH�xH��H�Hǀ�H��1�H)�������H�H�k�1\��CH��H�C0�c�H�C@H��t5H��H��[]�1���@L�QG1�1Ҿ��&G���@L�q+1�1Ҿ��G�H��1��T��f.���AWAVAUATUSH��HH���EI���G8H�H���F�1��D�H�$H���s
A�D$H�<$�Sz�I��H���F
�x�nH�xH�cH�xH�5Q6�z��K�D$I�FHH�5W)H�x��y��WH�o:%�`�I��H����	H�xH��H�H��H�@X1�H)���`���H�I�|$0I�(�j�I�^M�|$HH����H�-�(�H�[0H���s�{u�H�CHH��t�H�xH���Py�uH�CHH�5�(H�x�8y�t��{��f.��CH�{���XH�{H�MH�5��x��2H�CHH�5F(H�x��x�uH�CHH�5V(H�x��x���H�54'H���.X�H�5�H��H���X�I��H��t�8uE1�E1�H�
�&H�޺�L������H��t�}uE1�E1�H�
�&H�޺�L�����H���M����I�|$@L��H���H<�I�|$XH���%A�T$PA�D$T�J9����H�H��I�|$0�����L��H�L$�C�H�L$I�T$XH��I�|$0H�A�D$P�H�H�L������H�L$��B�H�L$I�T$XH�A�D$P��A�D$P�H�H��H�D�A�G8H�(9%L��H��tH�9%H��H�[0H��taH�-�&�	H�[0H��tO�{u�H�CHH��t�H�xH���,w�����H�CHH�5�&H�x�w����H�[0H��u��A�<���H�$�T$I�G��tA�GA�D$8���I�D$XI�GXA�D$PA�GPI�D$X�mI�D$H�$H����A�D$H���v�I��H����x��H�xH��M�D$E1ɺ�L��H�
w'L�����E1�H��HL��[]A\A]A^A_�M�|$ M���p���A�t$(A�1�1�L����k�H�$H���:H�=�:�E�H�$I�|$0�����H�5�:H�����@�I�D$�j���M�D$E1ɺ�L��H�
�&L�����H�<$E1��C��R���I�FHH�5%H�x�{u������M�D$E1ɺ�L��H�
�&L����D�L$E�������@M�����������4�H��4%Hc�H���H����A�T$PI�D$XA�d$T�Hc�H�����H�~5%��A�D$T
�H��I�D$XH����A�D$P�����CH�{L�t$I��M��M��u"H�{HtH�5K#L���t���L�CE1�H�
I'H��L������H�[0H��t`H�-�#��H�[0H��tG�{u�H�CHH��t�H�xH���,t�uH�CHH�5�#H�x�t�t��CL�C�Z���@M��M��L�t$A�<�������M�D$E1ɺ�L��H�
�&L����L$�����H�<$�%A�����L���:��c���H�CHH�5�"H�x�s���H�5�H���R�H��H���	M�gHM����H��3%��H�D$(H���5	H�D$(H�@I�T$@H�hH�H��u�c@H��H�H��u�H�D$(H�H�kL�%Z"H��u�H�m0H����}u�H�EHH��t�H�xL����r�uH�EHH�5A"H�x�r�t��D$H�\$L�t$ I��A�~M�Fu"I�~HtH�5j!L���vr���M�FE1�H�
%L��L������M�v0M��taH��!�fDM�v0M��tIA�~u�I�FHH��t�H�xH���r��t���I�FHH�5�!H�x�q��X���M�v0M��u��t$H�\$L�t$ ��uuE1�E1�H�
!H�޺�L�����VM�D$E1ɺ�L��H�
�"L������T���H�CHH�5!H�x�}q�������H��tH�3%H��A�F<���H�{H�*���H�{H�5��:q�����H�CHH�5� H�x�q�uH�CHH�5� H�x�q�����H���M�H��H��t!I�(�����H���;�H��I�G0H�2%�H�[0H������H�- ��H�[0H��������{u�H�CHH��t�H�xH���p��`���H�CHH�5�H�x�lp�t��C���H�4$E1�E1���H�
z#L��������L��1�1Ҿ��s<����A�D$81�1ҾL�7,��N<�D�D$E�������H�<$�W=����M�D$E1ɺ�1�H�
� L��E1�������E1�E1�H�
� 1���L��E1�����[���I�FHH�5�H�x�o�uI�FHH�5�H�x�lo������H�5�L����N�I��H���0�8�yM�oHM����I�OXI�w0�H���N^�H��H����H��/%�@�H��H����f�H�h(@@L�pL�`H�@0H�H�@8I�EHH��u�UH��H�H��u�H�H�D$(H�CH�@H��u��H��H�PH��u�H�XI�nL�%�H��u�zH�m0H���j�}u�H�EHH��t�H�xL���8n�uH�EHH�5�H�x� n�t�E1�}L�E��E1�H�
q H��L�����A�H�m0H��t]L�%A��H�m0H��tD�}u�H�EHH��t�H�xL���m�u�H�EHH�5-H�x�m��{���H�m0H��u�E�����D$�(���H�}H�b���H�5��L���^m��5�}L�E�=���H�}H�2���H�5JL���.m����}L�E�
���H�}H����H�5-L���l�u:L�E���H�$E1�E1���H�
 L��E1�H����H���5:����H�EHH�5H�x�l�uH�EHH�5%H�x�l�t�H�5�H��A���K�I��H���A�8��H�uL���\�H���TI�M��H��H��I���L����H���A���H��-%L���0���H�EHH�5vH�x�
l�uH�EHH�5�H�x�k������H�5
KH���^K�H�D$0H���gH�D$0�8�)H�5�IH���3K�I��H�����8��I�@H���W�H�����H�D$8�:U�H�L$8H�T$0L��H�HH�K8H�PH�H�C8H�-%��[���H�EHH�5�H�x�8k�uH�EHH�5�H�x� k���H�5bH��A���J�I��H�����8tfH�uL�����H����G�M��H��H��I���L����H���������I�D$@���E1�E1�H�
�1���L������Q�L��E1�E1���H�
�H����H�,%L���o���H�5}IH����I�M�gHH��M������H����������E1�E1�H�
IH���L���c�����A�G81�H�ھL����>6��~���E1�E1�H�
�L����L�����E���E1�E1�H�
L����L����H�S+%L������H�xH�5�%�i����D$�r�H�D$(H�X���I�]H���A�G81�L��L�!��5��E1�M��H�
�L����L���n�����E1�E1�H�
�L����L���L��u���E1�M��H�
H���L���*��S���E1�E1�H�
�H����	���E1�E1�H�
�H���L���������L��E1�E1���H�
\H�����H�%*%H�|$0����E1�E1�H�
MH���L�����������H��tH�whH�GXH�G`H�WP�ff.���H��t7SH��H� H��t��c�H�{H��t�gV�H��)%H��[H�����ff.�@��AUATI���pUS��H��H�1(%�I��H����H�xH�@H��H�@h)��Hp1����H�A�E1�M�e��O�A�]H��I�E H����A�D$P��~UI�D$XH�H��tHH�pH��t?�1��'�I�D$XH�T�H��t H�4H��H��tI�} �+��A9l$P�H��L��[]A\A]�L�i,1�1Ҿ��3���L�`1�1Ҿ��2�L��E1��ZF�����H���+H�GH���H�xH�H���
AWAVI��AUATI��USH���GH���Of�I��H����A�T$I�D$��t
����@H�XHH��u�f.�H�H���|H�{(L����:�u�H�s8I�|$ L��L��H�k �����t �5DL�C(H��L��L��L����H�mH��u�H�s8I�|$ �t���t������H��[]A\A]A^A_�@L�����I��H��ttI�D$�F���H�@@H�D$H��t\H�t$L��L���P��H�D$H�XH��tf�H�{(H���$:�t?H�[H��u�H�����H��H��u�H�D$H�H�D$H��u�A�D$H��[]A\A]A^A_�L�{ H�s8H��L��I�|$ ���M��t!L�D$L��H��L��L�����M�?M��u�H�s8I�|$ �t��p�����P�H��bQ�H�+H�5�H�81���A�D$�����������f�ATA��UH��SH��H�hH��t�{dt	H��%%�H�ChD�cdH��tvA��tlH�{�6�H��I���6�I�|H��$%�H�ChH��tQH�sH���},�L�chL����5�H��Iĸ: fA�$A�D$H�{h[]A\��^�fDH�kh[]A\��H��CdH�Ch[]A\ÐAU1�I��ATA��UH��SH��H����	�D9�s7D��A�}H�t)��@�…�ޅ�u)A�E<H����[]A\A]�DH��1�[��]A\A]��)�8�d����L��H�����������ff.�AUATI����U��SH��L�-U#%A�UH��H����H� H�ChL��H�C�Cp�4�H�xA�UH�CH����L��H���+�����k�1����f`�H�{hH�C8H����C`HD�H�C@H�H�CPH��t�{dt	H��#%�H�Ch�CdH�CHǃ�ǃ(H��H��[]A\A]�fD��1�L��1��T�ʼnC����M���H�-Z#%H�{�UH��1�UH��H��[]A\A]�DH�1#%H��1�H��H��[]A\A]�ff.��SH��H���WH�w dH�%(H�D$1�H���H�L$�D$������t+�D$H���H�C H�Cx1�H�|$dH3<%(uH��[ËT$H�������3�f.���(H�� SH��H��H����GdH�Wx��u:�w<��t��(H�� [�@�;������H�Sx��(H�� [�f��������f�ATUH��S��(H����H�� ����(H�JH�� D�"����H�� ����(H�JH�� ���Iԅ���H�� ����(H�JH�� �H��Iԅ�������(H�� H�PH�� �H��I�1�L�#[]A\�f����I����������(�L������%���I�����H��������������(�J������!�������I�H���b���H���������(�I���������I��H���5�������^�����(���&���������F���@AWE1�AVAUL�oxATA�USH��H��(L���dH�%(H�D$1�H���H��uq�sd�����K<��tBH�!�	H���6��������H�L$dH3%(�H��([]A\A]A^A_�fDH��������FH���H��t��S<��EE��{P��D��L���
&�Ń��.��	�������{Pt	����H���H���1��� ���D��H���H���)‰ЉS8H)�H�s0�+�H����{P��H������C<���u�CP1����@��(H�Cx1�H�� H�� H�����@H���H��8�~&�ō@���9���tk����	D苃(H���H�� H�Cx��@H���H��8H���������H�]�H�����������E���fD��f�H���D��D�s8D��H���H)�H�s0�*�H���������1���DH��	H���������������f�H��H�������������f�H����H��������������H��	H�����������v���H�H�����H�����������X���H�t$H���\������t-H�t$H���J������tH�D$H9��u\��HH;D$u3Hǃ�H�CxHǃ�Hǃ�����W.�H�M�	H������������H��	H����������ff.�@ATUSH��H�� dH�%(H�D$1��GP��t>����������1�H�t$dH34%(��
H�� []A\�f.��G���uH�->%��UH�C �C�<�UH�{ H�C(H����H�����C1�H�{x��H�Cx�CHǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ���4���Hǃ`�CpHǃhHǃpǃ(Hǃ ��u.H�� �p��H��M�QP��i�Cpf�H���H��uI�Cd���4�C<��t�S8���.����CP�����H���������H���H��t�H��vBH�S �:�7zX��H��v,H�@1�H��H�$�"<���H���H�Sx�:�V�S8H�KH�{(H�KHH�{0H����H�H�CP���{����CH�s(H�K8H�ߍ������PH�C(H�C0�O�����CH���H���H�C(H����!�����������������H�|$�/���t9�E����	Љ��	Љ��	Љ��	Љ��	Ѓ�9�����������H�{ 1�1�fD�T��H��H��H	�H��u�H���������H�H��H9�����H�CP�C8���v����CP�b����f�zZ�p�����H��H��H���H�SxH�����Cd���$D�c<E��tKH�C(��H����C8�^����H�sxH�H���:�S8��Hǃ��S8�K���H���]��������H���H��t�H�Sx@�:�u�H��H��H���H�SxH��uK�kd��u	D�[<E��tH��
�	H���������n���H�������t�H���H��t�H�SxH��H�JH���H�Kx�:u�H��uMD�SdE��u	D�K<E��tH�8
�	H������������H������t�H���H��t�H�KxH��H�QH���H�Sx�)@���u�H����D�CdE��uB�{<�����s<���z�K<���7�S<�����C<�����C<����@��tU�CdA�������u�C<����C<����H���A���H����Cd��u
D�[<E���J@��t(H���fDH����D�SdE��u	D�K<E��tj@����H���@H����D�CdE���Y�{<���-���YH�� ��O�1�1�1��"�H�CPH�������H������t�H���H���y���H�SxH��H���H�JH�Kx�:�>����T���f�H�SxH��H���H�JH�Kx�:�@������a���H���H����H��H�CxH���H����H��H�CxH����#���H���Q��������H���H�������H��H�CxA�T$�H���E���w���A���R���H���
����a���H���H���1���@��������{d������s<���&�K<�������H����������H���H���p����3����H������H���t H���H�SxH��H��H���H�SxH����H��H�CxH���H����H��H�CxH���H���jH��H�CxH���H���H��H�CxH���H����H��H�CxH���@���B���H���H������H�P�H�CxH���H�HH�KxD� H����H�B�H�SxH���H�JH�Kx���D�D�b���������f�H�-�%H�{(�UH�{ �U�CH�=�H���`���������H��t�H�-J%H��UH�{ H��t�U��H�-/%��H������H������H�������Cd���������@H��������H��������H���}����Cd�����������H�������H����E���H���,����Cd���Z��������Cd���8����j����H���X����H����@���H���'����Cd���+����1����H��� �����(���H���H���	�������H������H�������H��H�������(���H�����D9�tVH���H������Cd����������H������H�������H�������Cd��������E�����"�H������f.�����������f��������H��t&�Wp��~�WP1���t�������~1������D��ff.���USH�����taH��%����H��H��tIA��H�
�H�ǾH�����1��T��H���?�H��H��H��%�H��H��[]�fD1�H��H��[]�@��AWAVAUATUSH��(dH�%(H�D$1�H�����GdH������A�ԅ������O`I�������o8H�D$E1�H�D$��C<��tH������SP���8�C�D9��*���AD��L���H��H����@�����D�{8�C8D�|$L��M�A�L{A)�t>�k8���z���A9�H�s0L��AF�A��l$A�L��M��1�L{0)k8L{A)�u�D��H�L$dH3%(��H��([]A\A]A^A_ÐL�wX�o8�G`M����f���t)��L9���D)�D��k8HC0HCI)�������u׋S<��tH��������H������t�k8�@H����������������I���DH�L$D��L��H���u����t�D�|$L������1��n���H�R�
�x������ATUSH��ts�GH����u9H�-R%H�{�UH�{hH��t	�{dt�U�{�q'�H��A��UD��[]A\�H�x�5�{pt1H�-
%H�{(�Cp�UH�{ �U�A�	[]D��A\�f�H�� ��0����H��H���xmlCopyEntity:: malloc failed-->ISO-8859-1&#%d;&#x%X;&quot;&#x25;gtaposquot0123456789ABCDEF<!ENTITY  PUBLIC  SYSTEM  NDATA <!ENTITY % &xmlCreateEntity: malloc failedxmlEncodeEntities: malloc failedxmlEncodeEntities: input not UTF-8xmlEncodeEntities: char out of range
xmlEncodeEntities: realloc failedxmlAddEntity: invalid redeclaration of predefined entity '%s'xmlAddDtdEntity: document is NULLxmlAddDtdEntity: document without external subsetxmlAddDocEntity: document is NULLxmlAddDocEntity: document without internal subsetxmlEncodeSpecialChars: malloc failedxmlEncodeSpecialChars: realloc failedxmlDumpEntitiesDecl: internal: unknown type entity type�g�f��f�f�g�(f�UTF-8UTF8UTF-16UTF16ISO-10646-UCS-2UCS2ISO-10646-UCS-4UCS4ISO-LATIN-1ISO LATIN 1ISO-8859-2ISO-LATIN-2ISO LATIN 2ISO-8859-3ISO-8859-4ISO-8859-5ISO-8859-6ISO-8859-7ISO-8859-8ISO-8859-9ISO-2022-JPSHIFT_JISEUC-JPShift-JISEBCDICMAX_ENCODING_HANDLERSUTF-16LEUTF-16BEUS-ASCIIHTMLebcdicEBCDIC-USIBM-037SHIFT-JISShift_JIS0x%02X 0x%02X 0x%02X 0x%02X�����������������P��@��0��Ђ����`��p��� ������(��(��x�������؊�(��(��H��������h��(��Ȋ��0��8��xmlRegisterCharEncodingHandler: Too many handler registered, see %s
xmlRegisterCharEncodingHandler: NULL handler !
xmlNewCharEncodingHandler : no name !
xmlNewCharEncodingHandler : out of memory !
xmlInitCharEncodingHandlers : out of memory !
iconv : problems with filters for '%s'
input conversion failed due to input error, bytes %s
xmlCharEncOutFunc: no output function !
output conversion failed due to conv error, bytes %s
%s:%d: Entity: line %d: element %s: namespace HTML parser memory output I/O XInclude XPath regexp module Schemas validity Schemas parser Relax-NG parser Relax-NG validity Catalog C14N XSLT encoding schematron internal buffer URI warning : error : out of memory error%s:%d: 
Entity: line %d: 
validity error: validity warning: No error message providedMemory allocation failed
(����(��0���������(��(��h�� ����P��(��8������ؠ������(��(��x��`����П�H��Memory allocation failed : %s
encoding unknown
encoding not supported: %s
new input from I/O
new input from entity: %s
Cannot parse entity %s
new fixed input: %.30s
new input from file: %s
Got NULL parser context
failed to allocate buffer
switching encoding: encoder error
static memory buffer doesn't support encoding
Fatal: program compiled against libxml %d using libxml %d
Warning: program compiled against libxml %d using older %d
Parser input data memory error
Char 0x%X out of allowed range
Input is not proper UTF-8, indicate encoding !
Bytes: 0x%02X 0x%02X 0x%02X 0x%02X
Input is not proper UTF-8, indicate encoding !
%sChar 0x0 out of allowed range
Internal error, xmlCopyCharMultiByte 0x%X out of bound
couldn't allocate a new input stream
xmlNewEntityInputStream entity = NULL
Internal entity %s without content !
Internal parameter entity %s without content !
Predefined entity %s without content !
xmlNewStringInputStream string = NULL
failed to load external entity: NULL filename 
failed to load external entity "%s"
cannot initialize parser context
cannot allocate parser context
X��:��������������X��������h��X��X��X��X��X��X��X��X��X��X��X��X��X��R��(��������������Name too long use XML_PARSE_HUGE optionPEReference at end of documentDetected an entity reference loopPEReferences forbidden in internal subsetUnescaped '<' not allowed in attributes valuesUnfinished System or Public ID " or ' expectedSequence ']]>' not allowed in contentSYSTEM or PUBLIC, the URI is missingPUBLIC, the Public Identifier is missingComment must not contain '--' (double-hyphen)'>' required to close NOTATION declaration'(' required to start ATTLIST enumerationNmToken expected in ATTLIST enumeration')' required to finish ATTLIST enumerationMixedContentDecl : '|' or ')*' expectedMixedContentDecl : '#PCDATA' expectedContentDecl : Name or '(' expectedContentDecl : ',' '|' or ')' expectedPEReference: forbidden within markup decl in internal subsetXML conditional section '[' expectedContent error in the external subsetconditional section INCLUDE or IGNORE keyword expectedXML conditional section not closedText declaration '<?xml' requiredparsing XML declaration: '?>' expectedexternal parsed entities cannot be standaloneString not closed expecting " or 'String not started expecting ' or "standalone accepts only 'yes' or 'no'Extra content at the end of the documentextra content at the end of well balanced chunkMalformed declaration expecting versionCharRef: invalid hexadecimal valueCharRef: invalid decimal valuehttp://www.w3.org/XML/1998/namespaceInternal error: xmlParseGetLasts
Excessive depth in document: %d use XML_PARSE_HUGE option
Unfinished entity outside the DTDxmlParseCharRef: character reference out of bounds
xmlParseCharRef: invalid xmlChar value %d
xmlParseStringCharRef: character reference out of bounds
xmlParseStringCharRef: invalid xmlChar value %d
String decoding Entity Reference: %.30s
xmlParseStringEntityRef: no name
Entity reference to unparsed entity %s
Attribute references external entity '%s'
'<' in entity '%s' is not allowed in attributes values
Attempt to reference the parameter entity '%s'
predefined entity has no content
String decoding PE Reference: %.30s
xmlParseStringPEReference: no name
%%%s; is not a parameter entity
xmlLoadEntityContent parameter errorReading %s entity content input
xmlLoadEntityContent input errorxmlLoadEntityContent: invalid char value %d
not validating will not read content for PE entity %s
Name %s is not XML Namespace compliant
unexpected change of input bufferFailed to parse QName '%s:%s:'
EntityValue: '%c' forbidden except for entities references
comment doesn't start and stop in the same entity
Double hyphen within comment: <!--%.50s
xmlParseComment: invalid xmlChar value %d
Comment not terminated 
<!--%.50s
Comment doesn't start and stop in the same entity
XML declaration allowed only at the start of the document
xmlParsePITarget: invalid name prefix 'xml'
colons are forbidden from PI names '%s'
invalid character in attribute value
CData section not finished
%.50s
Document labelled UTF-16 but has UTF-8 content
Missing encoding in text declaration
Internal: %%%s; is not a parameter entity
Space required after 'SYSTEM'
Space required after 'PUBLIC'
Space required after the Public Identifier
PI declaration doesn't start and stop in the same entity
ParsePI: PI %s space expected
Space required after '<!NOTATION'
colons are forbidden from notation names '%s'
Space required after the NOTATION name'
Notation declaration doesn't start and stop in the same entity
Space required after '<!ENTITY'
colons are forbidden from entities names '%s'
Space required after the entity name
SAX compatibility mode documentSpace required before 'NDATA'
xmlParseEntityDecl: entity %s not terminated
Entity declaration doesn't start and stop in the same entity
Space required after '#FIXED'
Attribute default value declaration error
Name expected in NOTATION declaration
standalone: attribute notation value token %s duplicated
standalone: attribute enumeration value token %s duplicated
Space required after 'NOTATION'
Space required after '<!ATTLIST'
ATTLIST: no name for Attribute
Space required after the attribute name
Space required after the attribute type
Space required after the attribute default value
Attribute list declaration doesn't start and stop in the same entity
Element content declaration doesn't start and stop in the same entity
xmlParseElementMixedContentDecl : Name expected
xmlParseElementChildrenContentDecl : '%c' expected
xmlParseElementChildrenContentDecl : depth %d too deep, use XML_PARSE_HUGE
xmlParseElementContentDecl : %s '(' expected
Space required after 'ELEMENT'
xmlParseElementDecl: no name for Element
Space required after the element name
PEReference: forbidden within markup decl in internal subset
xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected
Element declaration doesn't start and stop in the same entity
All markup of the conditional section is not in the same entity
xmlParseDocTypeDecl : no DOCTYPE name !
Specification mandates value for attribute %s
Malformed value for xml:lang : %s
Invalid value "%s" for xml:space : "default" or "preserve" expected
xmlParseStartTag: invalid element name
xmlParseStartTag: problem parsing attributes
Opening and ending tag mismatch: %s line %d and %s
xmlns: '%s' is not a valid URI
xmlns: URI %s is not absolute
xml namespace URI cannot be the default namespace
reuse of the xmlns namespace name is forbidden
xml namespace prefix mapped to wrong URI
xml namespace URI mapped to wrong prefix
redefinition of the xmlns prefix is forbidden
xmlns:%s: Empty XML namespace is not allowed
xmlns:%s: '%s' is not a valid URI
xmlns:%s: URI %s is not absolute
standalone: attribute %s on %s defaulted from external subset
Namespace prefix %s for %s on %s is not defined
Namespaced Attribute %s in '%s' redefined
Namespace prefix %s on %s is not defined
Couldn't find end of Start Tag %s line %d
xmlParseEndTag: '</' not found
xmlParseInternalSubset: error detected in Markup declaration
creating parser: out of memory
cannot allocate parser contextparsing new buffer: out of memory
detected an error in element content
Premature end of data in tag %s line %d
Version mismatch between document and entity
Couldn't find end of Start Tag %s
PP: internal error, state == COMMENT
PP: internal error, state == IGNOREPP: internal error, state == PI
PP: internal error, state == ENTITY_DECL
PP: internal error, state == ENTITY_VALUE
PP: internal error, state == ATTRIBUTE_VALUE
PP: internal error, state == SYSTEM_LITERAL
PP: internal error, state == PUBLIC_LITERAL
Start tag expected, '<' not found
Unregistered error messageCharRef: invalid valueinternal errorPEReference in prologPEReference in epilogPEReference: no namePEReference: expecting ';'EntityValue: " or ' expectedAttValue: " or ' expectedSystemLiteral " or ' expectedxmlParsePI : no target nameInvalid PI nameNOTATION: Name expected hereEntity value requiredFragment not allowedexpected '>'EntityRef: expecting ';'DOCTYPE improperly terminatedEndTag: '</' not foundexpected '='Invalid XML encoding nameDocument is emptychunk is not well balanced%s: %s
Attribute %s redefined
Attribute %s:%s redefined
Pbm popping %d NS
NCName./-Huge input lookupcur index out of boundPCDATA invalid Char value %d
Popping input %d
%s(%d): Pushing input %d : %.30s
Entity '%s' not defined
PEReference: %%%s; not found
NmTokenFailed to parse QName '%s'
Failed to parse QName '%s:'
SystemLiteralPublic IDComment too big foundDouble hyphen within comment
Comment not terminated
xml-stylesheetxmlParseEntityRef: no name
AttValue length too long
AttValue: ' expected
CData section too big foundUnsupported encoding %s
Space needed after '<?xml'
1.0Space needed here
PEReference: no name
PEReference: %s
PI %s too big foundParsePI: PI %s never end ...
oasis-xml-catalogCatalog PI syntax error: %s
Space required after '%%'
xmlParseEntityDecl: no name
Invalid URI: %s
New Doc failedfakeSpace required after 'NDATA'
ATTLIST: no name for Element
externalerror parsing attribute name
xml:langxml:spacepreserveattributes construct error
unparsabledictionary allocation failurehttp://www.w3.org/2000/xmlns/Unexpected change of input
Blank needed after '<?xml'
Unsupported version '%s'
Blank needed here
nonepseudoroot#x%X#%dinvalid entity type found
Entity '%s' failed to parse
nbktext<![CDATA[xmlParseChunk: encoder error

xml-model����������P��x�����`�����������������������������`��P��8�� ������������������������������������������������������p��X�����@�����(���������������������h����������������������������p��X�����@��(�������������ȿ�������h��о����8�� ������������������H�����������������������������������������0������������������u���������������������� ��1�������������������������������������0��A��R��c��������t���������������������������
����/����@��Q��b��s���������������������������������������.����?��P��a��r��������������������S��d����������������������������B��P��0��0�� �����0�� �� �� �� �� �� �� �� �� ��@�� �� ���`��@��
�
�
�(��
�P	��x�@�(���@���	 !"#$%'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\^_`abcdefghijklmnopqrstuvwxyz{|}~realloc ns map itemallocating namespace mapallocating namespace map itemallocating the XML namespacebuilding QNameQName splitbuilding namespacens_%d%.30s_%dbuilding DTDbuilding internal subsetbuilding docbuilding PIbuilding nodebuilding fragmentbuilding textbuilding character referencebuilding referencebuilding attributebuilding commentbuilding CDATAcomment()text()/@getting node pathprocessing-instruction('%s')%s%s%s%s%s[%d]%sgetting namespace listsearching namespace%.20sdefault%d%.20s%dfixing namespacescopying nodehttp://ftp://urn:creating buffergrowing buffer past UINT_MAXgrowing bufferinvalid hexadecimal character value
invalid decimal character value
unterminated entity reference %15s
allocating DOM-wrapper contextxmlDOMWrapCloneNode(): allocating a nodexmlDOMWrapCloneNode(): allocating an attr-nodexmlDOMWrapCloneNode(): allocating namespaceh����x��x����h��x��x��@��h���h��@��h��h��h��h��X��֜�Ĝ��T��T��l��֜�T��T��~��֜�Ĝ�֜�~��֜�֜�֜�֜�����������������������������������������������v��������������������������� ��J	��1��������X�� ��g
����� �� �� �� �� �� �� �� �� �� �� �� ��commenttextnoenctextCannot initialize memory for listCannot initialize memory for sentinelCannot initialize memory for new linkwb%drbfile://localhost/file:///Unknown IO errorunknown address familyalready in useBad file descriptorBad messageResource busyOperation canceledNo child processesResource deadlock avoidedDomain errorFile existsBad addressFile too largeOperation in progressInterrupted function callInvalid argumentInput/output errorIs a directoryToo many open filesToo many linksFilename too longToo many open files in systemNo such deviceNo such file or directoryExec format errorNo locks availableNot enough spaceNo space left on deviceFunction not implementedNot a directoryDirectory not emptyNot supportedNo such device or addressOperation not permittedBroken pipeResult too largeRead-only file systemInvalid seekNo such processOperation timed outImproper linknot a socketalready connectedconnection refusedPermission deniedunreachable networkaddress in usefread()fflush()fclose()creating buffer context1.2.11xmlCreateZMemBuff:  %s %d
%c%c%c%c%c%c%c%c%c%cxzclose()xzread()gzclose()gzread()fwrite()wbgzwrite()file:/creating input buffercreating output buffergrowing input bufferbytes to buffer.  ZLIB errorError sending document to URIxmlIOHTTPWrite:  %s
%s '%s'.
creating HTTP output contextcopying URIContent-Encoding: gziptext/xmldata to URIbytes to URIfailed.  HTTP return code:PUTPOSTfailed to load HTTP resource
+xmlUnknown encoding %sbuilding canonical path
encoder errorflush errorwrite errorno inputbuffer fullloading errorInappropriate message buffer lengthInappropriate I/O control operationResource temporarily unavailableError initializing compression context.  ZLIB error:Allocation failure extending output buffer toxmlZMemBuffExtend:  %s %lu bytes.
Compression error while appendingxmlZMemBuffAppend:  %s %d %s - %dError appending to internal buffer.Error flushing zlib buffers.  Error codexmlZMemBuffGetContent:  %s - %d
Error retrieving content.
Unable toxmlIOHTTPCloseWrite:  %s '%s' %s '%s'.
xmlIOHTTPCloseWrite: HTTP '%s' of %d %s
'%s' %s %d
failed to load HTTP resource "%s"
Attempt to load network entity %sMemory tag error occurs :%p 
	 bye
xmlMallocBreakpoint reached on block %d
trying to free pointer from freed area
Memory list not compiled (MEM_LIST not defined !)
      MEMORY ALLOCATED : %lu, MAX was %lu
xmlMallocLoc : Unsigned overflow
xmlMallocLoc : Out of free space
xmlMallocAtomicLoc : Unsigned overflow
xmlMallocAtomicLoc : Out of free space
xmlReallocLoc : Unsigned overflow
%p : Realloced(%lu -> %lu) Ok
%p : Freed()
xmlMemFree(%p) error
.memorylistXML_MEM_BREAKPOINT%udXML_MEM_TRACE%p%p : Malloc(%lu) Ok
%p : Strdup() Ok
reaching arbitrary MAX_URI_LENGTH limit
saving URI
creating URI structure
:%dunescaping URI value
+-./?;:@;:&=+$,:@&=+$,/?;;/?:@&=+,$resolving URI against base
./building relative URI
/;&=+$,:/?_.#&;=Found NULL content in content model of %s
Found PCDATA in content model of %s
ContentModel broken for element %s
Internal: ELEMENT cur corrupted invalid type
Element %s has too many ID attributes defined : %s
xmlNewElementContent : name == NULL !
xmlNewElementContent : name != NULL !
Internal: ELEMENT content corrupted invalid type
Cannot create automata for element %s
Content model of %s is not determinist: %s
Element %s content does not follow the DTD, expecting %s, got %s
Element content does not follow the DTD, expecting %s, got %s
xmlAddElementDecl: content != NULL for EMPTY
xmlAddElementDecl: content != NULL for ANY
xmlAddElementDecl: content == NULL for MIXED
xmlAddElementDecl: content == NULL for ELEMENT
Internal: ELEMENT decl corrupted invalid type
xmlAddElementDecl: Table creation failed!
Internal: ELEMENT struct corrupted invalid type
Internal: ATTRIBUTE struct corrupted invalid type
Attribute %s of %s: invalid default value
xmlAddAttributeDecl: Table creation failed!
Attribute %s of element %s: already defined
element table allocation failedElement %s has too may ID attributes defined : %s
Internal: ATTRIBUTE struct corrupted invalid def
xmlAddNotationDecl: Table creation failed!
xmlAddNotationDecl: %s already defined
xmlAddID: Table creation failed!
attribute %s line %d references an unknown ID "%s"
IDREF attribute %s references an unknown ID "%s"
IDREFS attribute %s references an unknown ID "%s"
xmlAddRef: Table creation failed!
xmlAddRef: Reference list creation failed!
xmlAddRef: Reference list insertion failed!
No declaration for element %s
ENTITY attribute %s reference an unknown entity "%s"
ENTITY attribute %s reference an entity "%s" of wrong type
ENTITIES attribute %s reference an unknown entity "%s"
ENTITIES attribute %s reference an entity "%s" of wrong type
NOTATION attribute %s reference an unknown notation "%s"
xmlValidateAttributeCallback(%s): internal error
attribute %s: could not find decl for element %s
NOTATION attribute %s declared for EMPTY element %s
standalone: %s on %s value had to be normalized based on external subset declaration
Syntax of default value for attribute %s of %s is not valid
ID attribute %s of %s is not valid must be #IMPLIED or #REQUIRED
Element %s has %d ID attribute defined in the internal subset : %s
Element %s has %d ID attribute defined in the external subset : %s
Element %s has ID attributes defined in the internal and external subset : %s
Default value "%s" for attribute %s of %s is not among the enumerated set
Definition of %s has duplicate references of %s
Definition of %s has duplicate references of %s:%s
Definition of %s has duplicate references to %s
Definition of %s has duplicate references to %s:%s
No declaration for attribute %s of element %s
Syntax of value for attribute %s of %s is not valid
Value for attribute %s of %s is different from default "%s"
Value "%s" for attribute %s of %s is not a declared Notation
Value for attribute %s of %s must be "%s"
Value "%s" for attribute %s of %s is not among the enumerated set
Value "%s" for attribute %s of %s is not among the enumerated notations
No declaration for attribute xmlns:%s of element %s
No declaration for attribute xmlns of element %s
Syntax of value for attribute xmlns:%s of %s is not valid
Syntax of value for attribute xmlns of %s is not valid
Value for attribute xmlns:%s of %s is different from default "%s"
Value for attribute xmlns of %s is different from default "%s"
Value "%s" for attribute xmlns:%s of %s is not a declared Notation
Value "%s" for attribute xmlns of %s is not a declared Notation
Value "%s" for attribute xmlns:%s of %s is not among the enumerated notations
Value "%s" for attribute xmlns of %s is not among the enumerated notations
Value "%s" for attribute xmlns:%s of %s is not among the enumerated set
Value "%s" for attribute xmlns of %s is not among the enumerated set
Value for attribute xmlns:%s of %s must be "%s"
Value for attribute xmlns of %s must be "%s"
Element %s was declared EMPTY this one has content
Element %s was declared #PCDATA but contains non text nodes
Internal: MIXED struct corrupted
Element %s is not declared in %s list of possible children
Element %s content does not follow the DTD, Misplaced %s
Failed to build content model regexp for %s
Element %s content does not follow the DTD, Text not allowed
Element %s content does not follow the DTD, Expecting more child
Attribute element not expected
Text element has no content !
Notation element not expected
Document element not expected
standalone: %s declared in the external subset contains white spaces nodes
Element %s does not carry attribute %s
Element %s does not carry attribute %s:%s
Element %s required attribute %s:%s has no prefix
Element %s required attribute %s:%s has different prefix
Element %s namespace name for default namespace does not match the DTD
Element %s namespace name for %s does not match the DTD
root and DTD name do not match '%s' and '%s'
xmlValidateDocumentFinal: doc == NULL
Could not build URI for external subset "%s"
Could not load the external subset "%s"
realloc failedBuilding content model | #PCDATA ,  ...Redefinition of element %s
<!ELEMENT  EMPTY>
 ANY>
<!ATTLIST  IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION ( #REQUIRED #IMPLIED #FIXED<!NOTATION  >
ID %s already defined
IDREFS splitNOTATION %s is not declared
Validating namespaceText element has children !
Text element has namespace !
Entity element not expected
HTML Document not expected
unknown element type
no root element
no DTD found!
<!dummy?>x���x���`���`���@���`���@���0���P���P���`�������$�����t�������������������������������������������������������� ��8��P��h��������������p���
���	��,
��L
��T	��T	�����T	��T	��\	��\	��\	��t	���	���
���
���
���
���
��T	��T	������http://www.w3.org/1999/xhtml/simpleextendedrolexlink:external-linkset%s:external-linksethttp://www.w3.org/1999/xlink/namespace/Incorrectly opened comment
metatitlenoframesframeset-//W3C//DTD HTML 4.01//EN-//W3C//DTD HTML 4//ENUnfinished SystemLiteral
HTTP-EQUIVCONTENTCHARSET=Unsupported encoding %sBytes: 0x%02X
PubidLiteral " or ' expected
Unfinished PubidLiteral
Element %s embeds close tag
Invalid char in CDATA 0x%X
buffer allocation failed
Comment abruptly endedgrowing buffer failed
Invalid char in comment 0x%X
PI is not started correctlyEnd tag : expected '>'
Unexpected end tag : %s
onclick#%uhtmlParseEntityRef: no name
growing buffer
AttValue: " expected
AttValue: no value found
http-equivContent-TypecontentDOCTYPETag %s invalid
Document is empty
NewParserCtxt: out of memory
charset=abbracronymappletbdobigblockquotebuttoncaptioncentercitecodedfndth2h3h4h5h6iframekbdlabellegendnoscriptobjectpreqsampsmallstrikestrongtdttvarampersand, U+0026 ISOnumsingle quoteless-than sign, U+003C ISOnumnbspiexclcentcent sign, U+00A2 ISOnumpoundpound sign, U+00A3 ISOnumcurrencurrency sign, U+00A4 ISOnumyenbrvbarsectsection sign, U+00A7 ISOnumcopycopyright sign, U+00A9 ISOnumordflaquonotnot sign, U+00AC ISOnumshyregmacrdegdegree sign, U+00B0 ISOnumplusmnsup2sup3micromicro sign, U+00B5 ISOnumparamiddotsup1ordmraquofrac14frac12frac34iquestAgraveAacuteAcircAtildeAumlAringAEligCcedilEgraveEacuteEcircEumlIgraveIacuteIcircIumlETHNtildeOgraveOacuteOcircOtildeOumlOslashUgraveUacuteUcircUumlYacuteTHORNszligagraveaacuteacircatildeaumlaringaeligccedilegraveeacuteecirceumligraveiacuteicirciumlethntildeograveoacuteocircotildeoumldividedivision sign, U+00F7 ISOnumoslashugraveuacuteucircuumlyacutethornyumlOEligoeligScaronscaronYumlfnofsmall tilde, U+02DC ISOdiaAlphaBetaGammaDeltaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiOmegaalphabetagammadeltaepsilonzetathetaiotakappalambdamuxiomicronpirhosigmafsigmatauupsilonphichipsiomegathetasymupsihpivenspen space, U+2002 ISOpubemspem space, U+2003 ISOpubthinspthin space, U+2009 ISOpubzwnjzwjlrmrlmndashen dash, U+2013 ISOpubmdashem dash, U+2014 ISOpublsquorsquosbquoldquordquobdquodaggerdagger, U+2020 ISOpubDaggerdouble dagger, U+2021 ISOpubbullhellippermilprimePrimelsaquorsaquoolinefraslfraction slash, U+2044 NEWeuroeuro sign, U+20AC NEWimageweierprealtradealefsymlarruarrupwards arrow, U+2191 ISOnumdarrharrcrarrlArruArrrArrdArrhArrforallfor all, U+2200 ISOtechpartexistthere exists, U+2203 ISOtechnablaisinelement of, U+2208 ISOtechnotinniprodsumminusminus sign, U+2212 ISOtechlowastradicpropinfininfinity, U+221E ISOtechangle, U+2220 ISOamsoandcapcupunion = cup, U+222A ISOtechintegral, U+222B ISOtechthere4therefore, U+2234 ISOtechsimcongasympnot equal to, U+2260 ISOtechidentical to, U+2261 ISOtechsubset of, U+2282 ISOtechsupsuperset of, U+2283 ISOtechnsubsubesupeoplusotimesperpsdotdot operator, U+22C5 ISOamsblceilrceilright ceiling, U+2309 ISOamsclfloorrfloorright floor, U+230B ISOamscranglozlozenge, U+25CA ISOpubspadesclubsheartsdiamstheadtbodytfoottableondblclickonmousedownonmouseuponmouseoveronmousemoveonmouseoutonkeypressonkeydownonkeyuponloadonunloadonfocusonbluronsubmitonresetonchangeonselectfieldsetdlulcolcolgroupdirhrimglistingmenuxmpoptionoptgroupanchor abbreviated forminformation on author java applet client-side image map area bold text styledocument base uri basefontbase font size i18n bidi over-ride large text stylelong quotation document body forced line break push button table caption citationcomputer code fragmenttable column table column group definition description deleted text instance definitiondirectory listdefinition list definition term embedgeneric embedded object form control group local change to font interactive form window subdivisionheading document head horizontal rule document root element italic text styleinline subwindow embedded image form control inserted textisindexsingle line prompt form field label text fieldset legend list item a media-independent link client-side image map menu list generic metainformation option group selectable choice paragraph paramnamed property value preformatted text short inline quotation strike-through text stylescript statements option selector small text stylestrike-through textstrong emphasisstyle info subscriptsuperscript table body table data celltextareamulti-line text field table footer table header celltable header document title table row underlined text styleunordered list compactbgcolordisabledreadonlytabindexaccesskeyheadersscoperowspancolspancharcharoffvalignnowrapsummaryrulescellspacingcellpaddingdatapagesizemediamultiplelanguagesrcdefereventforvaluetypeselectedstarthspacevspacedeclareclassidcodebasecodetypearchivestandbyusemapschemeactionhreflangrelrevpromptcheckedmaxlengthaltismapacceptframeborderhiddenpalettepluginspacepluginurlunitslongdescmarginwidthmarginheightscrollingversionnoshadeprofilecolsnoresizeenctypeaccept-charsetfacedatetimebackgroundvlinkalinkshapecoordsnohrefcleartargethtmlCheckEncoding: wrong encoding meta
htmlCheckEncoding: unknown encoding %s
htmlCheckEncoding: encoder error
SystemLiteral " or ' expected
Invalid char in SystemLiteral 0x%X
htmlParseDocTypeDecl : no DOCTYPE name !
htmlParseExternalID: SYSTEM, no URI
Invalid char in PubidLiteral 0x%X
htmlParseExternalID: PUBLIC, no Public Identifier
DOCTYPE improperly terminated
Comment incorrectly closed by '--!>'Invalid char in processing instruction 0x%X
htmlParseEndTag: '</' not found
Opening and ending tag mismatch: %s and %s
HTML document creation failed
-//W3C//DTD HTML 4.0 Transitional//ENhttp://www.w3.org/TR/REC-html40/loose.dtdhtmlParseEntityRef: expecting ';'
htmlParseCharRef: context error
htmlParseCharRef: missing semicolon
htmlParseCharRef: value too large
htmlParseCharRef: invalid xmlChar value %d
htmlParseCharRef: invalid value
htmlParseStartTag: context error
htmlParseStartTag: invalid element name
htmlParseStartTag: misplaced <html> tag
htmlParseStartTag: misplaced <head> tag
htmlParseStartTag: misplaced <body> tag
Misplaced DOCTYPE declaration
htmlParseElement: context error
htmlParseDocument: context error
htmlInitParserCtxt: out of memory
htmlParseChunk: context error
HPP: internal error, state == CDATA
HPP: internal error, state == DTD
HPP: internal error, state == COMMENT
HPP: internal error, state == PI
HPP: internal error, state == ENTITY_DECL
HPP: internal error, state == ENTITY_VALUE
HPP: internal error, state == ATTRIBUTE_VALUE
HPP: internal error, state == XML_PARSER_SYSTEM_LITERAL
HPP: internal error, state == XML_PARSER_IGNORE
HPP: internal error, state == XML_PARSER_LITERAL
quotation mark = APL quote, U+0022 ISOnumgreater-than sign, U+003E ISOnumno-break space = non-breaking space, U+00A0 ISOnuminverted exclamation mark, U+00A1 ISOnumyen sign = yuan sign, U+00A5 ISOnumbroken bar = broken vertical bar, U+00A6 ISOnumdiaeresis = spacing diaeresis, U+00A8 ISOdiafeminine ordinal indicator, U+00AA ISOnumleft-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnumsoft hyphen = discretionary hyphen, U+00AD ISOnumregistered sign = registered trade mark sign, U+00AE ISOnummacron = spacing macron = overline = APL overbar, U+00AF ISOdiaplus-minus sign = plus-or-minus sign, U+00B1 ISOnumsuperscript two = superscript digit two = squared, U+00B2 ISOnumsuperscript three = superscript digit three = cubed, U+00B3 ISOnumacute accent = spacing acute, U+00B4 ISOdiapilcrow sign = paragraph sign, U+00B6 ISOnummiddle dot = Georgian comma Greek middle dot, U+00B7 ISOnumcedilla = spacing cedilla, U+00B8 ISOdiasuperscript one = superscript digit one, U+00B9 ISOnummasculine ordinal indicator, U+00BA ISOnumright-pointing double angle quotation mark right pointing guillemet, U+00BB ISOnumvulgar fraction one quarter = fraction one quarter, U+00BC ISOnumvulgar fraction one half = fraction one half, U+00BD ISOnumvulgar fraction three quarters = fraction three quarters, U+00BE ISOnuminverted question mark = turned question mark, U+00BF ISOnumlatin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1latin capital letter A with acute, U+00C1 ISOlat1latin capital letter A with circumflex, U+00C2 ISOlat1latin capital letter A with tilde, U+00C3 ISOlat1latin capital letter A with diaeresis, U+00C4 ISOlat1latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1latin capital letter C with cedilla, U+00C7 ISOlat1latin capital letter E with grave, U+00C8 ISOlat1latin capital letter E with acute, U+00C9 ISOlat1latin capital letter E with circumflex, U+00CA ISOlat1latin capital letter E with diaeresis, U+00CB ISOlat1latin capital letter I with grave, U+00CC ISOlat1latin capital letter I with acute, U+00CD ISOlat1latin capital letter I with circumflex, U+00CE ISOlat1latin capital letter I with diaeresis, U+00CF ISOlat1latin capital letter ETH, U+00D0 ISOlat1latin capital letter N with tilde, U+00D1 ISOlat1latin capital letter O with grave, U+00D2 ISOlat1latin capital letter O with acute, U+00D3 ISOlat1latin capital letter O with circumflex, U+00D4 ISOlat1latin capital letter O with tilde, U+00D5 ISOlat1latin capital letter O with diaeresis, U+00D6 ISOlat1multiplication sign, U+00D7 ISOnumlatin capital letter O with stroke latin capital letter O slash, U+00D8 ISOlat1latin capital letter U with grave, U+00D9 ISOlat1latin capital letter U with acute, U+00DA ISOlat1latin capital letter U with circumflex, U+00DB ISOlat1latin capital letter U with diaeresis, U+00DC ISOlat1latin capital letter Y with acute, U+00DD ISOlat1latin capital letter THORN, U+00DE ISOlat1latin small letter sharp s = ess-zed, U+00DF ISOlat1latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1latin small letter a with acute, U+00E1 ISOlat1latin small letter a with circumflex, U+00E2 ISOlat1latin small letter a with tilde, U+00E3 ISOlat1latin small letter a with diaeresis, U+00E4 ISOlat1latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1latin small letter ae = latin small ligature ae, U+00E6 ISOlat1latin small letter c with cedilla, U+00E7 ISOlat1latin small letter e with grave, U+00E8 ISOlat1latin small letter e with acute, U+00E9 ISOlat1latin small letter e with circumflex, U+00EA ISOlat1latin small letter e with diaeresis, U+00EB ISOlat1latin small letter i with grave, U+00EC ISOlat1latin small letter i with acute, U+00ED ISOlat1latin small letter i with circumflex, U+00EE ISOlat1latin small letter i with diaeresis, U+00EF ISOlat1latin small letter eth, U+00F0 ISOlat1latin small letter n with tilde, U+00F1 ISOlat1latin small letter o with grave, U+00F2 ISOlat1latin small letter o with acute, U+00F3 ISOlat1latin small letter o with circumflex, U+00F4 ISOlat1latin small letter o with tilde, U+00F5 ISOlat1latin small letter o with diaeresis, U+00F6 ISOlat1latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1latin small letter u with grave, U+00F9 ISOlat1latin small letter u with acute, U+00FA ISOlat1latin small letter u with circumflex, U+00FB ISOlat1latin small letter u with diaeresis, U+00FC ISOlat1latin small letter y with acute, U+00FD ISOlat1latin small letter thorn with, U+00FE ISOlat1latin small letter y with diaeresis, U+00FF ISOlat1latin capital ligature OE, U+0152 ISOlat2latin small ligature oe, U+0153 ISOlat2latin capital letter S with caron, U+0160 ISOlat2latin small letter s with caron, U+0161 ISOlat2latin capital letter Y with diaeresis, U+0178 ISOlat2latin small f with hook = function = florin, U+0192 ISOtechmodifier letter circumflex accent, U+02C6 ISOpubgreek capital letter alpha, U+0391greek capital letter beta, U+0392greek capital letter gamma, U+0393 ISOgrk3greek capital letter delta, U+0394 ISOgrk3greek capital letter epsilon, U+0395greek capital letter zeta, U+0396greek capital letter eta, U+0397greek capital letter theta, U+0398 ISOgrk3greek capital letter iota, U+0399greek capital letter kappa, U+039Agreek capital letter lambda, U+039B ISOgrk3greek capital letter mu, U+039Cgreek capital letter nu, U+039Dgreek capital letter xi, U+039E ISOgrk3greek capital letter omicron, U+039Fgreek capital letter pi, U+03A0 ISOgrk3greek capital letter rho, U+03A1greek capital letter sigma, U+03A3 ISOgrk3greek capital letter tau, U+03A4greek capital letter upsilon, U+03A5 ISOgrk3greek capital letter phi, U+03A6 ISOgrk3greek capital letter chi, U+03A7greek capital letter psi, U+03A8 ISOgrk3greek capital letter omega, U+03A9 ISOgrk3greek small letter alpha, U+03B1 ISOgrk3greek small letter beta, U+03B2 ISOgrk3greek small letter gamma, U+03B3 ISOgrk3greek small letter delta, U+03B4 ISOgrk3greek small letter epsilon, U+03B5 ISOgrk3greek small letter zeta, U+03B6 ISOgrk3greek small letter eta, U+03B7 ISOgrk3greek small letter theta, U+03B8 ISOgrk3greek small letter iota, U+03B9 ISOgrk3greek small letter kappa, U+03BA ISOgrk3greek small letter lambda, U+03BB ISOgrk3greek small letter mu, U+03BC ISOgrk3greek small letter nu, U+03BD ISOgrk3greek small letter xi, U+03BE ISOgrk3greek small letter omicron, U+03BF NEWgreek small letter pi, U+03C0 ISOgrk3greek small letter rho, U+03C1 ISOgrk3greek small letter final sigma, U+03C2 ISOgrk3greek small letter sigma, U+03C3 ISOgrk3greek small letter tau, U+03C4 ISOgrk3greek small letter upsilon, U+03C5 ISOgrk3greek small letter phi, U+03C6 ISOgrk3greek small letter chi, U+03C7 ISOgrk3greek small letter psi, U+03C8 ISOgrk3greek small letter omega, U+03C9 ISOgrk3greek small letter theta symbol, U+03D1 NEWgreek upsilon with hook symbol, U+03D2 NEWgreek pi symbol, U+03D6 ISOgrk3zero width non-joiner, U+200C NEW RFC 2070zero width joiner, U+200D NEW RFC 2070left-to-right mark, U+200E NEW RFC 2070right-to-left mark, U+200F NEW RFC 2070left single quotation mark, U+2018 ISOnumright single quotation mark, U+2019 ISOnumsingle low-9 quotation mark, U+201A NEWleft double quotation mark, U+201C ISOnumright double quotation mark, U+201D ISOnumdouble low-9 quotation mark, U+201E NEWbullet = black small circle, U+2022 ISOpubhorizontal ellipsis = three dot leader, U+2026 ISOpubper mille sign, U+2030 ISOtechprime = minutes = feet, U+2032 ISOtechdouble prime = seconds = inches, U+2033 ISOtechsingle left-pointing angle quotation mark, U+2039 ISO proposedsingle right-pointing angle quotation mark, U+203A ISO proposedoverline = spacing overscore, U+203E NEWblackletter capital I = imaginary part, U+2111 ISOamsoscript capital P = power set = Weierstrass p, U+2118 ISOamsoblackletter capital R = real part symbol, U+211C ISOamsotrade mark sign, U+2122 ISOnumalef symbol = first transfinite cardinal, U+2135 NEWleftwards arrow, U+2190 ISOnumrightwards arrow, U+2192 ISOnumdownwards arrow, U+2193 ISOnumleft right arrow, U+2194 ISOamsadownwards arrow with corner leftwards = carriage return, U+21B5 NEWleftwards double arrow, U+21D0 ISOtechupwards double arrow, U+21D1 ISOamsarightwards double arrow, U+21D2 ISOtechdownwards double arrow, U+21D3 ISOamsaleft right double arrow, U+21D4 ISOamsapartial differential, U+2202 ISOtechempty set = null set = diameter, U+2205 ISOamsonabla = backward difference, U+2207 ISOtechnot an element of, U+2209 ISOtechcontains as member, U+220B ISOtechn-ary product = product sign, U+220F ISOamsbn-ary summation, U+2211 ISOamsbasterisk operator, U+2217 ISOtechsquare root = radical sign, U+221A ISOtechproportional to, U+221D ISOtechlogical and = wedge, U+2227 ISOtechlogical or = vee, U+2228 ISOtechintersection = cap, U+2229 ISOtechtilde operator = varies with = similar to, U+223C ISOtechapproximately equal to, U+2245 ISOtechalmost equal to = asymptotic to, U+2248 ISOamsrless-than or equal to, U+2264 ISOtechgreater-than or equal to, U+2265 ISOtechnot a subset of, U+2284 ISOamsnsubset of or equal to, U+2286 ISOtechsuperset of or equal to, U+2287 ISOtechcircled plus = direct sum, U+2295 ISOamsbcircled times = vector product, U+2297 ISOamsbup tack = orthogonal to = perpendicular, U+22A5 ISOtechleft ceiling = apl upstile, U+2308 ISOamscleft floor = apl downstile, U+230A ISOamscleft-pointing angle bracket = bra, U+2329 ISOtechright-pointing angle bracket = ket, U+232A ISOtechblack spade suit, U+2660 ISOpubblack club suit = shamrock, U+2663 ISOpubblack heart suit = valentine, U+2665 ISOpubblack diamond suit, U+2666 ISOpubshorthand for div align=center generic language/style containertext to be entered by the useralternate content container for non frame-based rendering alternate content container for non script-based rendering sample program output, scripts, etc.generic language/style container teletype or monospaced text styleinstance of a variable or program argument(I���L��0L��L��L���K���M���M��N��xK��K��K���J���J���J��J���I���M��Charset=charset =Charset =CHARSET =text/html; charset=%s@/:=?;#%&,+<>=""<!DOCTYPE about:legacy-compat></unknown encoding %s
asciiallocating HTML output bufferlz��<z��4~���|��L}��l}��lz���}���}��L~��lz��lz��lz��L~��(NULL)#%XEntity is NULL%s : INTERNAL GENERAL, EXTERNAL PARSED, EXTERNAL UNPARSED, INTERNAL PARAMETER, EXTERNAL PARAMETER, Unknown entity type %d
ID "%s"SYSTEM "%s"
 orig "%s"
 content "%s"DOCUMENT == NULL !
Misplaced ELEMENT node
Misplaced ATTRIBUTE node
Misplaced TEXT node
Misplaced CDATA node
Misplaced ENTITYREF node
Misplaced ENTITY node
Misplaced PI node
Misplaced COMMENT node
HTML DOCUMENT
Misplaced DOCTYPE node
Misplaced FRAGMENT node
Misplaced NOTATION node
Unknown node type %d
namespace node is NULL
namespace %s href=default namespace href=name=URL=standalone=true
Name is NULLName is not an NCName '%s'Node has no parent
Node has no doc
String is not UTF-8 %sText node has wrong name '%s'Element declaration is NULL
ELEMDECL(, UNDEFINED, EMPTY, ANY, MIXED DTD node is NULL
Node is not a DTDDTD(%s), PUBLIC %s, SYSTEM %sAttr is NULLATTRIBUTE Attribute has no nameError, ATTRIBUTE found here
TEXT no encTEXT compact
 interned
CDATA_SECTION
ENTITY_REF(%s)
ENTITY
PI %s
COMMENT
Error, DOCUMENT found here
DOCUMENT_TYPE
DOCUMENT_FRAG
NOTATION
ATTRDECL(%s) for %s ENUMERATION NOTATION |%s (%s REQUIRED IMPLIED FIXEDENTITYDECL(, internal
, external parsed
, unparsed
, parameter
, external parameter
, predefined
 ExternalID=%s
 SystemID=%s
 URI=%s
 content=INCLUDE START
INCLUDE END
PBM: doc == NULL !!!
INTERNAL_GENERAL_ENTITY INTERNAL_PARAMETER_ENTITY EXTERNAL_PARAMETER_ENTITY ENTITY_%d ! ...)Entities in internal subset
Entities in external subset
DTD is NULL
    DTD is empty
 %8d %s:default -> %s%s -> %sTrueFalseResult%s: no such node
%s is a Boolean
%s is a number
%s is a string
%s is user-defined
%s is an XSLT value tree
 No base found !!!
Failed to write to %s
Failed to save to %s
%s:%s > exitquitbyehelp	bye          leave shell
	exit         leave shell
	quit         leave shell
relaxng%s validates
%s fails to validate
savewritegrepfreepwddufailed to parse content
setnssetrootnsdefaultnsxpathxpath: expression required
setbasewhereiscdcannot cd to namespace
%s is a %d Node Set
%s is an empty Node Set
 -------
Unknown command %s
����8���X���x�������x�����P�������p�������Ѓ������0���P���������������8�������@���@���X�������������@�������d���D���$���L���L������������������@�������x���@���p���0��������p���x�����������������P��� �������ԛ����������Y���ܜ��M���/����՝���������؟��C���ǡ����������d���"����������������T���4���4���\���\���l���l���\���\���4���l���l���l���4���l���l���l���l���l���l���l�������8���(���������������د��ȯ��x���h���X���H���������������������������̮��<���̮���ݮ��̮��̮��̮��ݮ��ݮ��ݮ��ݮ��ݮ��ݮ��̮��̮��̮��̮�������б�����@���p���б��б��б���������������������p��{��{��{��C�������������u��H��S��S��S����l�����'��z��M�� ��+��+��+�����D��������R��%����������������|�����O��"��������������������Node is not a namespace declarationIncomplete namespace %s href=NULL
Incomplete default namespace href=NULL
Reference to default namespace not in scope
Reference to namespace '%s' not in scope
Reference to default namespace not on ancestor
Reference to namespace '%s' not on ancestor
Name is not from the document dictionary '%s'Node doc differs from parent's one
Attr has no prev and not first of attr list
Node has no prev and not first of parent list
Node prev->next : back link wrong
Node has no next and not last of parent list
Node next->prev : forward link wrong
Comment node has wrong name '%s'CData section has non NULL name '%s'Node is not an element declarationElement declaration has no nameNode is not an attribute declarationNode attribute declaration has no nameNode attribute declaration has no element nameNode is not an entity declarationEntity declaration has no nameEXTERNAL_GENERAL_PARSED_ENTITY EXTERNAL_GENERAL_UNPARSED_ENTITY No entities in internal subset
No entities in external subset
To save to subparts of a document use the 'write' command
	base         display XML base of the node
	setbase URI  change the XML base of the node
	cat [node]   display node or current node
	cd [path]    change directory to path or to root
	dir [path]   dumps information about the node (namespace, attributes, content)
	du [path]    show the structure of the subtree under path or the current node
	help         display this help
	free         display memory usage
	load [name]  load a new document with name
	ls [path]    list contents of path or the current directory
	set xml_fragment replace the current node content with the fragment parsed in context
	xpath expr   evaluate the XPath expression in that context and print the result
	setns nsreg  register a namespace to a prefix in the XPath evaluation context
	             format for nsreg is: prefix=[nsuri] (i.e. prefix= unsets a prefix)
	setrootns    register all namespace found on the root element
	             the default namespace if any uses 'defaultns' prefix
	pwd          display current working directory
	whereis      display absolute path of [path] or current working directory
	save [name]  save this document to name or the original name
	write [name] write the current node to the filename
	validate     check the document for errors
	relaxng rng  validate the document against the Relax-NG schemas
	grep string  search for a string in the subtree
Relax-NG schema %s failed to compile
%s validation generated an internal error
Write command requires a filename argument
setns: prefix=[nsuri] required
Error: unable to register NS with prefix="%s" and href="%s"
���0�����������������������������������������������������d��t��l��t��t��t��t��t��t��d��d��d��t��d��t��t��t��t��T��t��t�����p��`��p��p��p��p��p��p�����������p�����p��p��p��p�����p��p���������������������������������������������������������������@���������������������� ���@������j��L�������0������������.�����x��t���>��� ������q���������Z��x��<������������������������,�������Y��>��#�����t��85��`5��5��5�� 5��5��5��5���5��`5��h9��9��X:��:���9��h9��h9��h9��h9��9���H���H���H���H���H���H���H���H��`H���H���X��(Y��8Y��HY��XY��hY��hY��hY���X��(Y��'Z��XZ���Z���Z��HZ��'Z��'Z��'Z��Z��XZ��`[���[���[���[��h[��`[��`[��`[��x[���[���l��0m��@m��Pm��`m��pm��pm��pm���l��0m���v��Xv��pv��v���u���v���v���v��(v��Xv���x��x��0x��Xx��`w���x���x���x���w��x��(y��y���x��Pz���y��(y��(y��(y��(y��y����������H�����������z�������������������������������X���������������������������l�����������L�������������������l���L������$���,����L���L���L���L������<��4����������T���,���������������������d���4�����<���,�������̼��̾��$��,��,��,��,��,��,��L�������D����,��,��,��,�����L��d��\�����������,��L��\��,��\�����D�����������������d��$�������������l��L�T���������������d�fake node libxsltadding step
allocating component
allocating steps
merging nodeset
merging nodeset hit limit
duplicating namespace
comparing nodesets
allocating namespaces array
xpath.cObject is empty (NULL)
Object is uninitialized
Object is a Node Set :
NodeSet is NULL !
Set contains %d nodes:
Node is NULL !
 /
Value Tree is NULL !
Object is a Boolean : false
Object is a number : NaN
Object is a number : 0
Object is a number : %0g
Object is a string : Object is user defined
Step is NULL
ENDANDOREQUAL =EQUAL !=CMP <CMP >PLUS -PLUS +PLUS unary -PLUS unary - -MULT *MULT divMULT modUNIONROOTSORTCOLLECT  'ancestors'  'ancestors-or-self'  'attributes'  'child'  'descendant'  'descendant-or-self'  'following'  'following-siblings'  'namespace'  'parent'  'preceding'  'preceding-sibling'  'self' 'none' 'type' 'PI' 'all' 'name' 'node' 'comment' 'text' ELEM VARIABLE %s:%sVARIABLE %sFUNCTION %s:%s(%d args)FUNCTION %s(%d args)ARGPREDICATEFILTERUNKNOWN %d
Streaming Expression
creating object cache
pushing value
creating nodeset
growing nodeset
growing nodeset hit limit
creating result value tree
creating node set object
creating float object
creating boolean object
creating string object
creating user object
copying object
truefalse-InfinityNaN%*.*e%0.*fUnimplemented block at %s:%d
creating parser context
processing-instruction::countancestorancestor-or-selfchilddescendantdescendant-or-selffollowingfollowing-siblingparentprecedingpreceding-siblingInternal error at %s:%d
shrinking nodeset
lastcreating evaluation context
NULL context pointer
booleanceilingconcatcontainslocal-namenamespace-urinormalize-spacenumberpositionstring-lengthstarts-withsubstringsubstring-beforesubstring-aftertranslateescape-uricreating context
Number encoding
Unfinished literal
Start of literal
Undefined variable
Invalid predicate
Invalid expression
Missing closing curly brace
Unregistered function
Invalid operand
Invalid type
Invalid number of arguments
Invalid context size
Invalid context position
Memory allocation error
Syntax error
Resource error
Sub resource error
Undefined namespace prefix
Encoding error
Char out of XML range
Stack usage error
Forbidden variable
Operation limit exceeded
Recursion limit exceeded
?? Unknown error ??
Error allocating temporary storage for tim sort: need %lu bytesxmlPointerListCreate: allocating item
xmlPointerListAddSize: re-allocating item
allocating streamable expression
Object is an XSLT value tree :
Object is a number : Infinity
Object is a number : -Infinity
Compiled Expression : %d elements
XPath stack depth limit reached
XPath operation limit exceeded
xmlXPathObjectCopy: unsupported type %d
xmlXPathTranslateFunction: Invalid UTF8 string
xmlXPathCompareNodeSetValue: Can't compare node set and object of type %d
xmlXPathCompOpEvalPredicate: Expected a predicate
xmlXPathCompOpEval: variable %s bound to undefined prefix %s
xmlXPathCompOpEval: parameter error
xmlXPathCompOpEval: function %s bound to undefined prefix %s
xmlXPathCompOpEval: function %s not found
XPath: unknown precompiled operation %d
xmlXPathRunEval: last is less than zero
xmlXPathCompiledEval: No result on the stack.
xmlXPathCompiledEval: %d object(s) left on the stack.
http://www.w3.org/2002/08/xquery-functionsExpected $ for variable reference
Invalid or incomplete context
��������������Ae��A�h㈵��>�?$@0C�?��������warning: ChildSeq not starting by /1
xmlXPtrEval: evaluation failed to return a node set
xmlXPtrEval: object(s) left on the eval stack
allocating evaluation contextallocating bufferxpointerxpath1unsupported scheme '%s'
http://www.w3.org/2003/XIncludehttp://www.w3.org/2001/XIncludemismatch in redefinition of entity %s
%s has multiple fallback children
%s is not the child of an 'include'
Invalid fragment identifier in URI %s use the xpointer attribute
detected a local recursion with no xpointer in %s
could not create XPointer context
XPointer evaluation failed: #%s
XPointer selects an attribute: #%s
XPointer selects a namespace: #%s
XPointer selects unexpected nodes: #%s
trying to build relative URI from %s
trying to rebuild base from %s
fragment identifier forbidden for text: %s
text serialization of document not available
could not load %s, and no fallback was found
XInclude error: would result in multiple root nodes
creating XInclude contextdetected a recursion in %s
adding URLinclude%s has an 'include' child
fallbackparseinvalid value %s for 'parse'
failed build URL
invalid value URI %s
growing XInclude contextprocessing docXPointer is not a range: #%s
encodingencoding %s not supported
%s contains invalid char
processing textfailed to build node
����������������������������������������������������������������socket failed
Connect attempt timed outConnect failedgetsockopt failed
select failed
allocating inputallocating input bufferrecv failed
Authoritative host not foundNo error text defined.getaddrinfo failed
address size mismatch
send failed
allocating contexthttpSyntax Error
no_proxyhttp_proxyHTTP_PROXYGETNot a valid HTTP URIallocating header buffer%s http://%s:%d%s%s http://%s%s%s %s?%s HTTP/1.0
Host: %s
 HTTP/1.0
Host: %s:%d
Accept-Encoding: gzip
Content-Type: %s
Content-Length: %d

HTTP/Content-Type:ContentType:Location:WWW-Authenticate:Proxy-Authenticate:Content-Encoding:Content-Length:error setting non-blocking IO
error connecting to HTTP serverError connecting to remote hostNon-authoritative host not found or server failure.Non-recoverable errors:  FORMERR, REFUSED, or NOTIMP.Valid name, no data record of requested type.Failed to identify host in URIrecv failedftpftp_proxyFTP_PROXYftp_proxy_userftp_proxy_passwordallocating FTP contextsend failedgetaddrinfo failedgethostbyname failedsocket failedFailed to create a connectionUSER %s
PASS %s
SITE %s
USER anonymous@%s
USER %s@%s
CWD %s
DELE %s
Invalid answer to EPSV
%u,%u,%u,%u,%u,%uInvalid answer to PASV
bind failedlisten failedEPRT |2|%s|%s|
PORT %d,%d,%d,%d,%d,%d
LIST -L %s
recvtotalRETR %s
gethostbyname address mismatchFTP server asking for ACCNT on anonymous
Failed to create a data connectionPASS anonymous@
USER anonymous
�Y��hY��hY��hY��hY��hY��hY���Y��Z���Y���`���a���a��b��(b���b��c��Hc���c���c��a��pa���a���d���d���d��e��4e��Te��te���e���e���e��,d���d��urn:oasis:names:tc:entity:xmlns:xml:catalogInvalid value for prefer: '%s'
Converting SGML catalog to XML
File %s is not an XML Catalog
Detected recursion in catalog %s
Found system match %s, using %s
Public URN ID %s expanded to NULL
System URN ID %s expanded to NULL
http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd-//OASIS//DTD Entity Resolution XML Catalog V1.0//ENFailed to add unknown element %s to catalog
Updating element %s to catalog
Removing element %s from catalog
Allowing only global catalogs
Allowing only catalogs from the document
Setting catalog preference to PUBLIC
Setting catalog preference to SYSTEM
Local Resolve: pubID %s sysID %s
Use of deprecated xmlCatalogGetSystem() call
Use of deprecated xmlCatalogGetPublic() call
allocating public IDallocating catalog dataallocating catalogurn:publicid:nextCatalogpublicpreferpublicIdsystemIdrewriteSystemsystemIdStartStringrewritePrefixdelegatePublicpublicIdStartStringdelegateSystemrewriteURIuriStartStringdelegateURIENTITY %%LINKTYPE DELEGATE BASE CATALOG DOCUMENT SGMLDECL Free catalog entry %s
Free catalog entry
allocating catalog entry%s entry lacks '%s'
Found %s: '%s' '%s'
Found %s: '%s'
%s entry '%s' broken ?: %s
PUBLICDELEGATELINKTYPENOTATIONSGMLDECLDOCUMENTBASEOVERRIDEXML_DEBUG_CATALOGFound %s in file hash
%s not found in file hash
Failed to parse catalog %s
%d Parsing catalog %s
%s added to file hash
Using rewriting rule %s
Trying system delegate %s
Found public match %s
Trying public delegate %s
Public URN ID expanded to %s
System URN ID expanded to %s
Found URI match %s
Trying URI delegate %s
URN ID %s expanded to NULL
Resolve sysID %s
Resolve pubID %s
Resolve: pubID %s sysID %s
Resolve URI %s
Adding element %s to catalog
file:///etc/xml/catalogXML_CATALOG_FILESCatalogs cleanup
Disabling catalog usage
Allowing all catalogs
Adding document catalog %s
Local Resolve: pubID %s
Local Resolve: sysID %s
21002xmlGetGlobalState: out of memory
Invalid parameter : %s
Internal error : %s
freeing contextadding namespace to stackadding node to stackwriting namespaces xmlns: xmlns=writing attributesnormalizing attributes axisprocessing nodeNode %s is invalid here : %s
processing node listparsing namespace urisaving namespaces stack#defaultprocessing namespaces axisshifting namespaces stackprocessing attributes axiscreating attributes listprocessing xml:base attributeprocessing childrens listrestoring namespaces stacknormalizing text node
<?normalizing pi node?>

<!--normalizing comment node-->
XML_ATTRIBUTE_NODEXML_NAMESPACE_DECLXML_ENTITY_REF_NODEXML_ENTITY_NODEexecuting c14ncreating contextcreating namespaces stackprocessing docs children listflushing output bufferdumping doc to memorysaving doc to output buffersaving doccreating temporary filenamecanonize document to buffersearching namespaces stack (c14n)searching namespaces stack (exc c14n)Relative namespace UR is invalid here : %s
checking for relative namespacesprocessing namespaces axis (c14n)creating namespaces list (c14n)processing namespaces axis (exc c14n)creating namespaces list (exc c14n)processing xml:base attribute - can't get attr valueprocessing xml:base attribute - can't modify uriprocessing xml:base attribute - can't construct uriprocessing xml:base attribute - can't construct attributeUnknown node type %d found : %s
invalid mode for executing c14nxmlC14NExecute: output buffer encoder != NULL but C14N requires UTF8 output
xmlC14NNewCtx: xmlC14NVisibleNsStackCreate failed
xmlC14NExecute: unable to create C14N context
copying canonicalized document0���ƺ��(���P���P���@���`�������������p�������p�������p���p���p���p�������p���p���ܼ��l���Ժ�����������������U���L������L������L���������������,���������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz{\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������growing buffer past SIZE_MAXbuffer error: text too long
Used size too big for xmlBufferAllocated size too big for xmlBufferInput reference outside of the bufferInvalid low surrogate pair code unitWrong escape sequence, misuse of character '\'Expecting the end of a char rangeEnd of range is before start of rangeepsilon transition left at runtime
generate transition: atom == NULLxmlFAParseAtom: maximum nesting depth exceededxmlFAParseCharClass: ']' expectedxmlFAParseRegExp: extra charactersadding stateallocating counterfailed to compile: %s
add state: state is NULLadd state: target is NULLadding transitionatom push: atom is NULLpushing atomallocating stateallocating atompushing input stringepsilon charval ranges subexpr string anychar anyspace notspace notinitname notnamechar notdecimal notrealchar LETTER_UPPERCASE LETTER_LOWERCASE LETTER_TITLECASE LETTER_MODIFIER LETTER_OTHERS MARK MARK_NONSPACING MARK_SPACECOMBINING MARK_ENCLOSING NUMBER NUMBER_DECIMAL NUMBER_LETTER NUMBER_OTHERS PUNCT PUNCT_CONNECTOR PUNCT_DASH PUNCT_OPEN PUNCT_CLOSE PUNCT_INITQUOTE PUNCT_FINQUOTE PUNCT_OTHERS SEPAR SEPAR_SPACE SEPAR_LINE SEPAR_PARA SYMBOL SYMBOL_MATH SYMBOL_CURRENCY SYMBOL_MODIFIER SYMBOL_OTHERS OTHER OTHER_CONTROL OTHER_FORMAT OTHER_PRIVATE OTHER_NA BLOCK saving regexpxmlregexp.cexec save: allocation failedadd range: atom is NULLadd range: atom is not rangesadding rangesallocating rangeIsXXXX expectedUnknown char propertyExpecting hex digitEscaped sequence: expecting \Expecting '{'Expecting '}'Expecting ']'Expecting a char rangeInvalid escape valuecharClassExpr: ']' expectedTODO: XML_REGEXP_STRINGcopying atomxmlFAParseAtom: expecting ')'Improper quantifierUnterminated quantifierinternal: no atom generatedcreating execution context regexp: %d atoms:
%d states: %02d  atom: not once ? * + range onceonly all %d-%d char %c
%d entries
  range: negative %c - %c
start %d end %d
%d counters:
 state: START FINAL %d, %d transitions:
  trans: removed
last not determinist, counted %d, all transition, count based %d, epsilon to %d
char %c atom %d, to %d
 %d: min %d max %d
running regexpcompiling regexpnot %s��������������p��P��0����������������p��P��0��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p��P��0����������������p��P��0����������������p���P���0������������������p���P���0������������������p���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������k*��t'���(��t'��t'��t'��d(��4(��(���(���(��'���'���&��t*��\*��$*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��*��*���)���)���)���)���)���)���)���)��t)���&��T)���*���*���*���*���*���*���*���*��<+��,+��+��+��\+��L+��D)���'���'���'���'���'���'���'��k*��d)���.���-���.���-���.���-���/���-��h/���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-��8/���-���-���-���-���-�� /���-���-���-���/���-���-���-��p.���-���-���-���-���-���-���-���.���-���-���-��P/���-���-���-���-���/���-���-���-���-���1���1���1���1���1���1��{1���1���1���1��v1���1���1���1��_1���1���1���1���1���1���1���1��Z1���1���1���1��C1���1���1���1���1��,1��H���M���M���M��dM��<M��M���L���G��

	simple type definitionNot a schema componentcomplex type definitionelement declarationattribute useattribute declarationmodel group definitionattribute group definitionnotation declarationmodel group (sequence)model group (choice)model group (all)particleunique identity-constraintkey identity-constraintkeyref identity-constraintwildcard (any)maxExclusivemaxInclusiveminExclusiveminInclusivewhiteSpaceenumerationmaxLengthminLengthtotalDigitsfractionDigitsInternal Errorallocating new item listgrowing item list{MISSING particle term
ELEM '%s'SEQUENCECHOICEALLUNKNOWN
 min: %d max: unbounded max: %d##Element '', xmlschemas.callocating attributeallocating redefinition infoallocating typeallocating particle componentadding wildcard  Annot: %s
  Annot: empty
Type: NULL
Type: (no name) ns '%s' [basic] [simple] [complex] [sequence] [choice] [all] [ur] [restriction] [extension] [unknown type %d] content: [unknown] [empty] [element] [mixed] [any]   base type: '%s' ns '%s'
  attributes:
  [prohibition]   [reference]   [use]  (global)ns '%s'  props: [fixed] [default] [abstract] [nillable]   value: '%s'
  type: '%s'   substitutionGroup: '%s' unqualifiedallocating schema#allextensionrestrictionsubstitutionunion Expected is one of (  Expected is ( ##other{*}{##other: ).
Element '%s': '%s' is not a valid value of the local the atomic typelist typeunion typeskiplaxstrictinvalid process contentsatomic type 'xs:list type 'xs:union type 'xs:simple type 'xs:simple typecomplex typeattribute use (unknown)attribute decl.element decl.unique 'key 'keyRef 'facet 'model group def., attribute '%s: %s.
'.The value '%s' is not valid. Expected is 'minOccursmaxOccurssubstitutionGroup%s, attribute '%s': %s.
The definition is circular' has to be greater than less than or equal to' of the base typeInternal error: %s, xmlSchemaLookupNamespacexmlSchemaValidateNotationxmlSchemaGetFreshElemInfoallocating an element infoattr info not clearedxmlSchemaGetFreshAttrInfocreating new attribute info'] xmlSchemaFormatFacetEnumSet, 'xmlSchemaValidateFacetsxmlSchemaVCheckCVCSimpleTypecalling xmlValidateQName()xmlSchemaValidateQNamexmlSchemaFormatIDCKeySequence???]xmlSchemaAddComponentsparticle is NULLxmlSchemaBuildAContentModelxmlSchemaIDCAddStateObjectcalling xmlStreamPush()xmlSchemaXPathEvaluatecalling xmlStreamPop()xmlSchemaXPathProcessHistoryallocating a IDC keyxmlSchemaValidatorPopElemMissing child element(s)xmlSchemaCheckCOSValidDefaultcalling xmlNewDocText()calling xmlSchemaVPushText()elem pop mismatchxmlSchemaPushAttributenilschemaLocationnoNamespaceSchemaLocationxmlSchemaPValAttrNodeValueallocating annotationappinfosourcedocumentation(appinfo | documentation)*xs:nonNegativeInteger(annotation?)allocating a namespace arrayA child element is missingselectorfieldprocessContents(strict | skip | lax)##any##targetNamespace##localsimpleTypechoicesequenceallocating facetFacet %s has no value
Unknown facet type %s
fixedallocating a facet linkanyAttributefinalitemType(annotation?, simpleType?)memberTypes(annotation?, simpleType*)(qualified | unqualified)optionalprohibitedattributeGroupallocating attribute groupmixedabstractblocksimpleContentcomplexContentnillablecomplexTypeuniquekeyrefallocating element(0 | 1)adding groupin_memory_bufferallocating schema relationxmlSchemaAddSchemaDocno main schema on constructorxmlSchemaBucketCreateallocating schema bucketSchemas: NULL
Schemas: no name, no target namespaceallocating validation contextpositiveIntegerxmlSchemaCheckFacetvalue was not computedvalidating facet valuereplacecollapsemissing baseTypeallocating a type linkNo base type existentThe variety is absentxmlSchemaCheckCOSSTRestrictsNo facets allowedan error occurredfailed to get primitive typexmlSchemaFixupComplexTypeno base typefailed to expand attributesDuplicate %sxmlSchemaTypeFixupredefinedxmlSchemaElemCheckValConstrxmlSchemaSubstGroupAddreparsing a schema docxmlSchemaParseNewDocno constructorelementFormDefaultattributeFormDefaultfinalDefaultblockDefaultimportredefineNotation has no name
add annotationAn internal error occurredxmlSchemaParsein skip-statexmlSchemaValidateElemno parser context availablexmlSchemaAssembleByLocationassembling schemataxmlSchemaAssembleByXSIxmlSchemaValidateChildElemThis element is not expectedxmlSchemaValidateElemWildcardThe type definition is absentxmlSchemaValidateElemDeclThe element is not 'nillable'xmlSchemaIDCRegisterMatchersallocating an IDC matcherxmlSchemaVAttributesComplexcalling xmlSchemaCopyValue()calling xmlNewProp()p%dcalling attributes validationxmlSchemaValidatorPushElemxmlSchemaCreatePCtxtOnVCtxtxmlSchemaDocWalkxmlSchemaVDocWalkelement position mismatchno instance to validatexmlSchemaVStart[helper component] QName reference[helper component] attribute use prohibitionhttp://www.w3.org/2001/XMLSchemaInternal error: xmlSchemaBuildContentModelForSubstGroup, declaration is marked having a subst. group but none available.
allocating an item list structureallocating schema construction contextallocating list of schema bucketsallocating list of pending global componentsallocating schema parser contextallocating model group componentcreating wildcard namespace constraintallocating QName reference itemInternal error: xmlSchemaItemListRemove, index error.
xmlSchemaAugmentIDC: allocating an augmented IDC definitionallocating a PSVI IDC binding item%sThe attribute '%s' is not allowed.
The attribute '%s' is not allowed.
%s: The attribute '%s' is required but missing.
%s: The content is not valid. Expected is %s.
%s: The content is not valid.
%s: The facet '%s' is not allowed.
References from this schema to components in no namespace are not allowed, since not indicated by an import statementReferences from this schema to components in the namespace '%s' are not allowed, since not indicated by an import statementNeither character nor element content is allowed because the element is 'nilled'Character content is not allowed, because the content type is emptyCharacter content other than whitespace is not allowed because the content type is 'element-only'The character content is not a valid value of The character content is not valid.The value '%s' of simple type 'xs:QName' has no corresponding namespace declaration in scopeDuplicate value '%s' of simple type 'xs:ID'The value '%s' of simple type 'xs:ID' is not a valid 'xs:NCName'%s, attribute '%s': The QName value '%s' does not resolve to a(n) %s.
The value must be greater than or equal to 1The value must not be greater than the value of 'maxOccurs'%s: The attributes '%s' and '%s' are mutually exclusive.
Internal error: xmlSchemaAddAnnotation, The item is not a annotated schema componentThe union type definition is circularno node or node's doc availablea schema is needed on the validation contextlist type has no item-type assignedxmlSchemaFixupSimpleTypeStageOneunion type has no member-types assignedtype has no base-type assignedinconsistent depth encounteredallocating the element info arrayre-allocating the element info arrayelem info has not been clearedallocating attribute info listre-allocating attribute info listunexpected attr prohibition foundxmlSchemaExpandAttributeGroupRefsThe intersection of the wildcard is not expressible.
Skipping pointless attribute use prohibition '%s', since a corresponding attribute use exists already in the type definitionThe value '%s' has a length of '%s'; The value has a length of '%s'; this differs from the allowed length of '%s'.
this exceeds the allowed maximum length of '%s'.
this underruns the allowed minimum length of '%s'.
The value '%s' is not an element of the set {%s}.
compute the canonical lexical representationThe value '%s' is not accepted by the pattern '%s'.
The value '%s' is less than the minimum value allowed ('%s').
The value '%s' is greater than the maximum value allowed ('%s').
The value '%s' must be greater than '%s'.
The value '%s' must be less than '%s'.
The value '%s' has more digits than are allowed ('%s').
The value '%s' has more fractional digits than are allowed ('%s').
The value '%s' is not facet-valid.
The value is not facet-valid.
validating against a atomic type facetvalidating against a list type facetvalidating against an enumeration facetvalidating against a pattern facetcould not get the built-in typeThe QName value '%s' has no corresponding namespace declaration in scopevalidating against a built-in typevalidating facets of atomic simple typevalidating an item of list simple typevalidating facets of list simple typeunion simple type has no member typesvalidating members of union simple typevalidating facets of union simple typefailed to compute a canonical valueUnexpected global component typefailed to create a component hash tableA global %s '%s' does already exist<element> particle has no termfound unexpected term of type '%s' in content modelallocating an IDC state objectfailed to create an XPath validation contextallocating the state object historyre-allocating the state object historyfield resolves to a CT with simple content but the CT is missing the ST definitionThe XPath '%s' of a field of %s does evaluate to a node of non-simple typeWarning: No precomputed value available, the value was either invalid or something strange happenedallocating an array of key-sequencesreallocating an array of key-sequencesThe XPath '%s' of a field of %s evaluates to a node-set with more than one memberallocating an IDC key-sequenceallocating the IDC key storage listre-allocating the IDC key storage listallocating an IDC node-table itemallocating the IDC node table item listre-allocating the IDC node table item listThe state object to be removed is not the first in the listDuplicate key-sequence %s in %sNot all fields of %s evaluate to a nodefailed to create a regex contextcalling xmlSchemaVCheckCVCSimpleType()For a string to be a valid default, the type definition must be a simple type or a complex type with simple content or mixed content and a particle emptiablecalling xmlSchemaCheckCOSValidDefault()The content must not contain element nodes since there is a fixed value constraintThe initial value '%s' does not match the fixed value constraint '%s'The actual value '%s' does not match the fixed value constraint '%s'allocating an array of IDC node-table itemsre-allocating an array of IDC node-table itemsMore than one match found for key-sequence %s of keyref '%s'No match found for key-sequence %s of keyref '%s'allocating IDC list of node-table itemsre-allocating IDC list of node-table itemsxmlSchemaSAXHandleCDataSectionxmlSchemaSAXHandleEndElementNscalling xmlSchemaValidatorPopElem()calling xmlSchemaGetFreshAttrInfo()http://www.w3.org/2001/XMLSchema-instancethe given type is not a built-in typevalidation using the given type is not supported while parsing a schemafailed to validate a schema attribute valueInternal error: xmlSchemaPValAttr, the given type '%s' is not a built-in type.
(xs:nonNegativeInteger | unbounded)allocating a 'selector' of an identity-constraint definitionThe XPath expression of the selector is not validInternal error: xmlSchemaParseIDCSelectorAndField, validating the XPath expression of a IDC selector.
The XPath expression '%s' could not be compiledallocating an identity-constraint definition(annotation?, (selector, field+))((##any | ##other) | List of (xs:anyURI | (##targetNamespace | ##local)))This is a redefinition, but the QName value '%s' of the 'base' attribute does not match the type's designation '%s'The attribute 'base' and the <simpleType> child are mutually exclusiveEither the attribute 'base' or a <simpleType> child must be presentFacet %s has unexpected child content
annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*))Redefinition of built-in simple types is not supported(#all | List of (list | union | restriction)(annotation?, (restriction | list | union))The attribute 'itemType' and the <simpleType> child are mutually exclusiveEither the attribute 'itemType' or the <simpleType> child must be presentxmlSchemaParseUnion, allocating a type linkEither the attribute 'memberTypes' or at least one <simpleType> child must be presentThis is a redefinition, thus the <simpleType> must have a <restriction> child(optional | prohibited | required)The value of the attribute 'use' must be 'optional' if the attribute 'default' is presentThe target namespace must not match '%s'The value of the attribute must not match 'xmlns'Skipping attribute use prohibition, since it is pointless inside an <attributeGroup>Skipping attribute use prohibition, since it is pointless when extending a typeSkipping duplicate attribute use prohibition '%s'allocating attribute use prohibitionThe attribute 'type' and the <simpleType> child are mutually exclusiveThe redefining attribute group definition '%s' must not contain more than one reference to the redefined definition(annotation?, ((attribute | attributeGroup)*, anyAttribute?))(#all | List of (extension | restriction))(#all | List of (extension | restriction)) (annotation?, (restriction | extension))(annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))This is a redefinition, thus the <complexType> must have a <restriction> or <extension> grand-childOnly the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'(#all | List of (extension | restriction | substitution))The attribute 'type' and the <complexType> child are mutually exclusive(annotation?, ((simpleType | complexType)?, (unique | key | keyref)*))Invalid value for minOccurs (must be 0 or 1)Invalid value for maxOccurs (must be 0 or 1)The redefining model group definition '%s' must not contain more than one reference to the redefined definitionThe redefining model group definition '%s' must not contain a reference to the redefined definition with a maxOccurs/minOccurs other than 1(annotation?, (annotation?, element*)(annotation?, (element | group | choice | sequence | any)*)(annotation?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))(annotation?, (all | choice | sequence)?)Internal error: xmlSchemaComponentListFree, unexpected component type '%s'
The schema must not import/include/redefine itselfThe schema document '%s' cannot be imported, since it was already included or redefinedThe schema document '%s' cannot be included or redefined, since it was already importedSkipping import of schema located at '%s' for the namespace '%s', since this namespace was already imported with the schema located at '%s'trying to load a schema doc, but a doc is already assigned to the schema bucketxmlSchemaGetDoc, allocating a parser contextFailed to parse the XML resource '%s'No information for parsing was provided with the given schema parser context.
The document '%s' has no document elementThe XML document '%s' is not a schema documentfirst bucket but it's an include or redefinemain bucket but it's not the first onefailed to add the schema bucket to the hasha type user derived type has no base typeInternal error: xmlSchemaCheckFacet, failed to validate the value '%s' of the facet '%s' against the base typeThe value '%s' of the facet does not validate against the base type '%s'The value '%s' of the facet 'pattern' is not a valid regular expressionThe value '%s' of the facet '%s' is not a valid '%s'The value '%s' of the facet 'whitespace' is not validxmlSchemaFixupSimpleTypeStageTwoThe base type '%s' is not a simple typeA type, derived by list or union, must have the simple ur-type definition as base type, not '%s'The 'final' of its base type '%s' must not contain 'restriction'given type is not a user-derived simpleTypeThe base type '%s' is not an atomic simple type%s: The facet '%s' is not allowed on types derived from the type %s.
failed to evaluate the item typeThe item type '%s' does not have a variety of atomic or unionThe item type is a union type, but the member type '%s' of this item type is not atomicThe final of its item type '%s' must not contain 'list'The base type '%s' must be a list typeThe 'final' of the base type '%s' must not contain 'restriction'failed to eval the item type of a base typeThe item type '%s' is not validly derived from the item type '%s' of the base type '%s'The member type '%s' is neither an atomic, nor a list typeThe 'final' of member type '%s' contains 'union'The base type '%s' is not a union typedifferent number of member types in baseThe member type %s is not validly derived from its corresponding member type %s of the base type %sInternal error: xmlSchemaCreateVCtxtOnPCtxt, failed to create a temp. validation context.
It is an error for both 'length' and either of 'minLength' or 'maxLength' to be specified on the same type definitionIt is an error for both '%s' and '%s' to be specified on the same type definitionThe base type's facet is 'fixed', thus the value must not differThe 'whitespace' value has to be equal to or stronger than the 'whitespace' value of the base typederiving facets, creating a facet linkxmlSchemaDeriveAndValidateFacetsIf using <complexContent>, the base type is expected to be a complex type. The base type '%s' is a simple typeIf using <simpleContent> and <restriction>, the base type must be a complex type. The base type '%s' is a simple typeInternal error: xmlSchemaCheckSRCCT, '%s', base type has no content typeA <simpleType> is expected among the children of <restriction>, if <simpleContent> is used and the base type '%s' is a complex typeIf <simpleContent> and <restriction> is used, the base type must be a simple type or a complex type with mixed content and particle emptiable. The base type '%s' is none of thoseIf <simpleContent> and <extension> is used, the base type must be a simple type. The base type '%s' is a complex typeInternal error: xmlSchemaTypeFixup, complex type '%s': the <simpleContent><restriction> is missing a <simpleType> child, but was not caught by xmlSchemaCheckSRCCT()Internal error: xmlSchemaTypeFixup, complex type '%s': the <extension>ed base type is a complex type with no simple content typeInternal error: xmlSchemaTypeFixup, complex type '%s' with <simpleContent>: unhandled derivation caseThe type has an 'all' model group in its {content type} and thus cannot be derived from a non-empty type, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsA type cannot be derived by extension from a type which has an 'all' model group in its {content type}, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsxmlSchemaFixupTypeAttributeUsesThe union of the wildcard is not expressible.
If the base type is a simple type, the derivation method must be 'extension'There must not exist more than one attribute declaration of type 'xs:ID' (or derived from 'xs:ID'). The %s violates this constraintThe 'final' of the base type definition contains 'extension'The content type must specify a particleThe content type of both, the type and its base type, must either 'mixed' or 'element-only'The content type must be the simple base typeThe base type must be a complex typeThe 'final' of the base type definition contains 'restriction'The {content type} %s is not validly derived from the base type's {content type} %sThe content type of the base type must be either a simple type or 'mixed' and an emptiable particleThe content type of the base type must be either empty or 'mixed' (or 'elements-only') and an emptiable particleIf the content type is 'mixed', then the content type of the base type must also be 'mixed'The type is not a valid restriction of its base typethis function needs a parser contextThe 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the %s %sThe attribute declaration's %s is not validly derived from the corresponding %s of the attribute declaration in the %s %sThe effective value constraint of the attribute use is inconsistent with its correspondent in the %s %sNeither a matching attribute use, nor a matching wildcard exists in the %s %sA matching attribute use for the 'required' %s of the %s %s is missingThe %s has an attribute wildcard, but the %s %s '%s' does not have oneThe attribute wildcard is not a valid subset of the wildcard in the %s %s '%s'The {process contents} of the attribute wildcard is weaker than the one in the %s %s '%s'Only global element declarations can have a substitution group affiliationThe element declaration '%s' defines a circular substitution group to element declaration '%s'The type definition '%s' was either rejected by the substitution group affiliation '%s', or not validly derived from its type definition '%s'The type definition (or type definition's content type) is or is derived from ID; value constraints are not allowed in conjunction with such a type definitionFor a string to be a valid default, the type definition must be a simple type or a complex type with mixed content and a particle emptiablexmlSchemaParseCheckCOSValidDefaultfailed to validate the value constraint of an element declarationallocating a substitution group containerfailed to add a new substitution containercalling xmlSchemaQNameExpand() to validate the attribute 'xsi:type'xmlSchemaValidateElementByDeclarationThe QName value '%s' of the xsi:type attribute does not resolve to a type definitionThe type definition '%s', specified by xsi:type, is blocked or not validly derived from the type definition of the element declarationThe %s '%s' to be redefined could not be found in the redefined schemaUnexpected redefined component typexmlSchemaResolveRedefReferencesThe referenced %s was already redefined. Multiple redefinition of the same component is not supportedThe particle's {max occurs} must be 1, since the reference resolves to an 'all' model groupA model group definition is referenced, but it contains an 'all' model group, which cannot be contained by model groupsThe keyref references a keyrefThe cardinality of the keyref differs from the cardinality of the referenced key/unique '%s'Circular reference to the model group definition '%s' definedCircular reference to the attribute group '%s' definedxmlSchemaCheckAttrPropsCorrectThe value of the value constraint is not validThe attribute declaration has a 'fixed' value constraint , thus the attribute use must also have a 'fixed' value constraintxmlSchemaCheckAttrUsePropsCorrectThe 'fixed' value constraint of the attribute use must match the attribute declaration's value constraint '%s'Cannot create automata for complex type %s
Failed to compile the content modelThe content model is not deterministValue constraints are not allowed if the type definition is or is derived from xs:IDparsing a schema doc, but there's no doccould not build an URI from the schemaLocationxmlSchemaParseIncludeOrRedefineThe schema document '%s' cannot redefine itself.The schema document '%s' cannot include itself.Failed to load the document '%s' for inclusionFailed to load the document '%s' for redefinitionThe target namespace of the included/redefined schema '%s' has to be absent, since the including/redefining schema has no target namespaceThe target namespace '%s' of the included/redefined schema '%s' differs from '%s' of the including/redefining schema(annotation | (simpleType | complexType | group | attributeGroup))*(#all | List of (extension | restriction | list | union))The value of the attribute 'namespace' must not match the target namespace '%s' of the importing schemaThe attribute 'namespace' must be existent if the importing schema has no target namespaceFailed to locate a schema at location '%s'. Skipping the import((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*)Failed to locate the main schema resource at '%s'Failed to locate the main schema resourceThe value must consist of tuples: the target namespace name and the document's URIThe document at location '%s' could not be acquiredNeither character nor element content is allowed, because the element was 'nilled'calling xmlSchemaProcessXSIType() to process the attribute 'xsi:nil'Element content is not allowed, because the content type is emptytype has elem content but no content modelvalidating elem, but elem content is already invalidcalling xmlRegExecPushString2()Element content is not allowed, because the content type is a simple type definitionElement content is not allowed, because the type definition is simplecalling xmlSchemaStreamValidateChildElement()the child element was valid but neither the declaration nor the type was setNo matching global declaration available for the validation rootNo matching global element declaration available, but demanded by the strict wildcardcalling xmlSchemaValidateElemWildcard()The element declaration is abstractcalling xmlSchemaVCheckCVCSimpleType() to validate the attribute 'xsi:nil'The element cannot be 'nilled' because there is a fixed value constraint defined for itcalling xmlSchemaProcessXSIType() to process the attribute 'xsi:type'The chain of IDC matchers is expected to be emptycalling xmlSchemaValidateElemDecl()The type definition is abstractcalling xmlSchemaXPathEvaluate()default/fixed value on an attribute use was not precomputedcould not compute a ns prefix for a default/fixed attributecalling xmlSchemaStreamValidateSimpleTypeValue()The attribute '%s' is required but missingThe value '%s' does not match the fixed value constraint '%s'No matching global attribute declaration available, but demanded by the strict wildcardCould not find an augmented IDC item for an IDC definitioncalling xmlSchemaGetFreshElemInfo()calling xmlSchemaValidatorPushElem()xmlSchemaSAXHandleStartElementNsallocating namespace bindings for SAX validationre-allocating namespace bindings for SAX validationallocating string for decoded attributecalling xmlSchemaValidatorPushAttribute()calling xmlSchemaValidateElem()failed to create a temp. parser contextThe document has no document elementthere is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation.0��@��P��`��p������������������ ��������`�����������������������������������h��d?��d>��d?��d?���>���>���>���>��?��d?��d?��$?��D?���;���=��>���=���=���=��<���;��d=����������������������������������������l���L���������L���������������̦��̦��̦��������������������������ج������������������������������������������������������������������(�������`����������������������Ћ������Њ��Њ��Њ����������Ȋ�����@���0��� ���������������Г����������0��0������������$��(&���$���$���%���$��u%��>%���$���$��%��

�	xmlschemastypes.canyTypeallocating wildcard componentanySimpleTypedecimaldateTimegYeargYearMonthgMonthgMonthDaygDaydurationfloatdoubleanyURIhexBinarybase64BinaryintegernonPositiveIntegernegativeIntegershortbyteunsignedLongunsignedIntunsignedShortunsignedBytenormalizedStringtoken0.0-%lu%lu%lu-%lu%lu-%lu-P%luY%luM%luDT%luH%luM%.14gS%04ld---%02u--%02u-%02u-%04ld-%02u%02u:%02u:%02.14gZ%02u:%02u:%02.14g%04ld-%02u-%02uZ%04ld-%02u-%02u%01.14e%f%lfallocating hexbin dataallocating base64 datacould not initialize basic typescould not create an attribute wildcard on anyType%04ld-%02u-%02uT%02u:%02u:%02.14gZ%04ld-%02u-%02uT%02u:%02u:%02.14g�T�� U���T��U���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T�� U���T���T���T���T���T���T�� U�� U���T���T���T���T���T���T���T���T���T���T���T���T���T�� U�� U���W���W��|W��lW��\W��LW��<W��,W��W��W���V���V���V���V���V���V���V���V��|V��lV��\V��LV��<V��,V��V��V���U���U���U���U���U���U���U���U��|U��lU��\U��LU��<U��,U��U��U���T���T���T���T���T���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X��c���c���c���d��e��e��e��e��e��e��e��e���e��Tg��Tg���g���c���c���c���b���c��4h���c���c���c���b���c���b��4h���c���d���d���d���d���d���d���d���d���d���d���d���d���d��,c��lc��c���c�����w��(}���{��{���z���z�� z���y���y��x�������}��X}��@y��y���w���w���w�����w���x���w���w���w�����w�����w���w��x��x��x��x��x��x��x��x��x��x��x��x��x���w���w��T�������d���T���������������������������4�������|���t���ԛ��l�������Ԋ��|���,���\���T���|���Ԗ������������̒��̒��̒��̒��̒������������������Ԇ��<���������������������`���H���H���H���H���H���H���H���H���x���(���(��������������������������p��������������������H���H������������������8���H���8���H���8���H���8���H����������������d���[���-���%������������������������������
���
����������S���5�����������ݛ��՛��͛��ś��������������������������������������������������������������������������}���u���u���̜��L���F����������d�������������������������������������������������������x�����@���������x�����x���@������������������������������������������������x���������4���\������<���<���������������̱��̱��̱��;Yx����/N>\{����2Q<[y����1O;Zx����0NN@(@8@�@��@���C �@  ���� 
 ( ) / / _ _ 007?����&�*�d�j�l��������������V������������������	�	pp����446688������@@��!!!!!	!!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!J!J!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!####"#(#+#{#}#�#�#�#$&$@$J$�$�$%�%�%�%�%�%&&&n&p&}&�&�&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'g'�'�'�'�'�'�'(�(+
+�.�.�.�./�/�/�/0000 0 06070>0?0�1�1�1�122*2C2P2P2`2}222�2�2�2�23�3�M�M��Ƥ���������������������������5�5�O�O�o�o�������������++<>||~~����������D D R R z | � � @!D!K!K!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�"## #!#|#|#�#�#�%�%�%�%�%�%o&o&�'�'�'�')�)�)�)�)�)�)�*)�)�b�b�d�f�����\�\�^�^�����^^``����������������tu���������������0�0>�>�@�@���$$���	�	�
�
��??��� � ����i�i�������7?����&�*�d�j�l��������������V���������������5�5�O�O�o�o�������������$$++<>^^``||~~������������������������tu�����������	�	�	�	�
�
pp��??446688��������@@��������������D D R R z | � � � � !!!!!	!!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!@!D!J!K!�!(#+#�#�#�#$&$@$J$�$�$%&&}&�&�&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'g'�'�'�'�'�'�'�'�'�'�)�)�)�)�)�)
+�.�.�.�./�/�/�/0000 0 06070>0?0�0�0�1�1�1�122*2C2P2P2`2}222�2�2�2�23�3�M�M��Ƥ)�)�����b�b�d�f�i�i�������>�>�@�@�\�\�^�^��������(([[{{::<<��    E E } } � � )#)#�#�#h'h'j'j'l'l'n'n'p'p'r'r't't'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)00
0
00000000000000000>�>�5�5�7�7�9�9�;�;�=�=�?�?�A�A�C�C�G�G�Y�Y�[�[�]�]���;�;�[�[�_�_�b�b���!#%'**,,./:;?@\\������~~��Z_����������
jm��
d	e	p	p	�
�
OOZ[��JO��ahmn��56����
DE    ' 0 8 ; > A C G Q S S W W �#�#00=0=00�0�E�F�I�L�P�R�T�W�_�a�h�h�j�k�����
�
�������� �<�<�a�a�d�d�))]]}};;==��F F ~ ~ � � *#*#�#�#i'i'k'k'm'm'o'o'q'q's's'u'u'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)	0	000
0
000000000000000?�?�6�6�8�8�:�:�<�<�>�>�@�@�B�B�D�D�H�H�Z�Z�\�\�^�^�	�	�=�=�]�]�`�`�c�c�--��  000000�0�01�2�X�X�c�c�
�
���!#%*,/:;?@[]__{{}}����������~~��Z_����������
jm��
d	e	p	p	�
�
OOZ[:=��JO��ahmn����56����
DE ' 0 C E Q S T W W } ~ � � )#*#�#�#h'u'�'�'�)�)�)�)�)�)0000000000=0=0�0�0�0�0>�?�0�R�T�a�c�c�h�h�j�k����
������ �;�=�?�?�[�[�]�]�_�e�3 #�������	�	��*3r|��p p t y � � S!_!`$�$�$�$v'�'�1�1 2)2Q2_2�2�2�2�2������09`i��f	o	�	�	f
o
�
�
fo��fo��f
o
PY�� )@Iiq��FO��3 #JJ������09������`i��f	o	�	�	�	�	f
o
�
�
fo��fo��f
o
PY�� 3@Ii|������FOp p t y � � S!�!`$�$�$�$v'�'00!0)080:0�1�1 2)2Q2_2�2�2�2�2��g�i�{������������W]o��������������KXpp��������0J��		<	<	A	H	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	

<
<
A
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
�
�
<<??ACMMVV������>@FHJMUV��������A
C
M
M
�
�
�
�
�
�
114:GN��������557799q~����������-0226799XY24RSrs��������
�� "'(229;� � � � � � *0/0�0�0���� �#�e�f�m�r�		>	@	I	L	�	�	�	�	�	�	�	�	�	�	

>
@
�
�
�
�
�
�
�
�
>>@@GHKLWW����������AD������������

>
@
F
H
J
L
W
W
�
�
�
�
�
�
�
�
>?,,1188VW������#&)+0138e�i�m�r�{������������W]o����������������KXpp��������0J��		<	<	>	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	�	�	�	�	

<
<
>
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
�
�
<<>CGHKMVW����������>DFHJMUV������������

>
C
F
H
J
M
W
W
�
�
�
�
�
�
�
�
�
�
�
�
114:GN��������557799>?q���������,269VY24RSrs����
�� +0;� � *0/0�0�0���� �#�'��4�M�h����������������������������������
�
����8�9�;�>�@�D�F�F�J�P�l������������!�<�U�p������������4�V�n�����AZ����

  ""$$&&((**,,..0022446699;;==??AACCEEGGJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxy{{}}������������������������������������������������������������������������������������������

  ""$$&&((**,,..0022��������������������������������������������/``bbddffhhjjllnnpprrttvvxxzz||~~��������������������������������������������������������������������������������������������������������������

1V��

  ""$$&&((**,,..0022446688::<<>>@@BBDDFFHHJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxxzz||~~����������������������������������������������������������������������������������������������������������������(/8?HMYY[[]]__ho����������!!!!!
!!!!!!!$!$!&!&!(!(!*!-!0!1!3!3!>!?!E!E!!�:���������������������
&(:<=?MP]��0I��P�
578<<??֦֦����������!:AJnoq���������/MO����	9	=	=	P	P	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02359==\]_aqq����������������������(*359`a����������������




(
*
9
`
a
�
�
�
�
�
�
�
�
�
�
023@E��������������������������������@GIj��!#')*PU��Y_���FHHJMPVXXZ]`������������������������ FHZ��lov���� 1@Q`lnp���� BDw��Pmpt5!8!00<0<0A0�0�0�0�0�0�0�01,111�1�1�1�1�144�M�MNN����������ף��-�0�j����(�*�6�8�<�>�>�@�A�C�D�F����=�P�������p�t�v���f�o�q�����������������������zzYY@@��FF����CC,a001050;0;0�0�0�0�0p�p�����(O�3�N�T�V�g�������������������������7�R�k������������"�;�V�o������������������6�N�P�U�p���������������az����������		

!!##%%''))++--//11335578::<<>>@@BBDDFFHIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwzz||~�������������������������������������������������������������������������������������������		

!!##%%''))++--//1136P���������������������������������������0_aacceeggiikkmmooqqssuuwwyy{{}}��������������������������������������������������������������������������������������������������������������		

a�+bk		

!!##%%''))++--//1133557799;;==??AACCEEGGIIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwyy{{}}���������������������������������������������������������������������������������������������������������������� '07@EPW`gp}��������������������������q q   
!
!!!!!/!/!4!4!9!9!=!=!F!I!����A�Z�
&(:<=?MP]��0I���
578<<??�T�V�����������������������������������
�
�����9�;�>�@�D�F�F�J�P�R�������������������4�6�N�P�n�p���������������֦֦��AZaz�����������6P�������zz���������������������1VYYa�����!:@Jnoq�����������/MO����	9	=	=	P	P	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02359==\]_aqq����������������������(*359`a����������������




(
*
9
`
a
�
�
�
�
�
�
�
�
�
�
023@F����������������������������������@GIj��!#')*PU����Y_���FHHJMPVXXZ]`������������������������ FHZ��lov���� 1@Q`lnp������ w��Pmptk��� EHMPWYY[[]]_}��������������������q q   !!!!
!!!!!!$!$!&!&!(!(!*!-!/!1!3!9!=!?!E!I!001050;0<0A0�0�0�0�0�0�0�01,111�1�1�1�1�144�M�MNN����������ף��-�0�j��������(�*�6�8�<�>�>�@�A�C�D�F����=�P�������p�t�v���!�:�A�Z�f�����������s�z� ������  * . ` c j o ��������s�z� ���������������  * . ` c j o ��ۀ���������������CcCfCoCsLlLmLoLtLuMcMeMnNdNlNoPcPdPePfPoPsScSkSmSoZlZpZsAegeanNumbersAlphabeticPresentationFormsArabicArabicPresentationForms-AArabicPresentationForms-BArmenianBasicLatinBengaliBlockElementsBopomofoBopomofoExtendedBoxDrawingBraillePatternsBuhidByzantineMusicalSymbolsCJKCompatibilityCJKCompatibilityFormsCJKCompatibilityIdeographsCJKRadicalsSupplementCJKSymbolsandPunctuationCJKUnifiedIdeographsCherokeeCombiningDiacriticalMarksCombiningHalfMarksCombiningMarksforSymbolsControlPicturesCurrencySymbolsCypriotSyllabaryCyrillicCyrillicSupplementDeseretDevanagariDingbatsEnclosedAlphanumericsEnclosedCJKLettersandMonthsEthiopicGeneralPunctuationGeometricShapesGeorgianGothicGreekGreekExtendedGreekandCopticGujaratiGurmukhiHalfwidthandFullwidthFormsHangulCompatibilityJamoHangulJamoHangulSyllablesHanunooHebrewHighPrivateUseSurrogatesHighSurrogatesHiraganaIPAExtensionsKanbunKangxiRadicalsKannadaKatakanaKatakanaPhoneticExtensionsKhmerKhmerSymbolsLaoLatin-1SupplementLatinExtended-ALatinExtended-BLatinExtendedAdditionalLetterlikeSymbolsLimbuLinearBIdeogramsLinearBSyllabaryLowSurrogatesMalayalamMathematicalOperatorsMiscellaneousSymbolsMiscellaneousSymbolsandArrowsMiscellaneousTechnicalMongolianMyanmarNumberFormsOghamOldItalicOpticalCharacterRecognitionOriyaOsmanyaPrivateUsePrivateUseAreaRunicShavianSinhalaSmallFormVariantsSpacingModifierLettersSpecialsSuperscriptsandSubscriptsSupplementalArrows-ASupplementalArrows-BSupplementaryPrivateUseArea-ASupplementaryPrivateUseArea-BSyriacTagalogTagbanwaTagsTaiLeTaiXuanJingSymbolsTamilTeluguThaanaThaiTibetanUgariticVariationSelectorsVariationSelectorsSupplementYiRadicalsYiSyllablesYijingHexagramSymbolsCJKCompatibilityIdeographsSupplementCJKUnifiedIdeographsExtensionACJKUnifiedIdeographsExtensionBCombiningDiacriticalMarksforSymbolsIdeographicDescriptionCharactersMathematicalAlphanumericSymbolsMiscellaneousMathematicalSymbols-AMiscellaneousMathematicalSymbols-BSupplementalMathematicalOperatorsUnifiedCanadianAboriginalSyllabicsxmlMalloc failed !
xmlRealloc failed !
vsnprintf failed !
xmlreader.c#text#cdata-section#comment#document#document-fragmentxmlNewTextReader : malloc failed
xmlTextReaderSetup : malloc failed
D�����l��������t���������������$��4������d��d��d��l��d��d��P���������� �����������@��������0�����������P��P��P�������T��T��|���������������������������������������4����������������x����������������� ��� ��� ����������������������������� ���6���������6��������������������� ��� ��� ��� ����������� ���x���P���P���P���0��8�� �������������������P��p��X��@�� ��P����P�����P�����P�����������p��X��8��������������p��X��@��(�������������`��H��(����������������������x��0�����0�����h�� ��������H����X�����@��`����������������������������������������������@����������p������u��E��������������������������u��i��]��Q�������������P��h��h��h��h��h��h��h��h��h��h��x��x��x��x��x��x��x��x��x��h��x��(|��P~���|���z��P~���|��P~��Pz���|��P~�� ~���}��P~���}���}��;{��{���{�� ~��s��������������������������������[���<���W���s���s���s����������ʅ������W�������s���4��������|�����������������������������������������������������\��relaxng.callocating states
storing states
validating
allocating define
failed to validate type %s
ID %s redefined
failed to compare type %s
Internal error: no state
Internal error: no define
Internal error: %s
Extra data in list: %s
Expecting element %s, got %s
Error validating datatype %s
Error validating value %s
Error validating list
No top grammar defined
Extra data in the document
Unknown error !
Unknown error code %d
<empty/>
<notAllowed/>
<text/>
<element>
<name ns="%s">%s</name>
</element>
<list>
</list>
<oneOrMore>
</oneOrMore>
<zeroOrMore>
</zeroOrMore>
<choice>
</choice>
<group>
</group>
<interleave>
</interleave>
<optional>
</optional>
<attribute>
</attribute>
<define name="%s"</define>
<ref</ref>
<parentRef</parentRef>
<externalRef></externalRef>
interleavenotAllowedexceptdatatypedefexternalRefzeroOrMoreoneOrMoreadding states
getting element list
Error refs definitions '%s'
Error refs definitions
pushing error
building group
nullbuilding choice
combineinterleave%dxmlRelaxNGParse: %s is empty
datatypeLibraryUnknown attribute %s on %s
adding document
allocating include
Failed to load include %s
nsNameanyNameExpecting an except node
except has no content
nothingname '%s' is not an NCName
http://www.w3.org/2000/xmlnsnsName has no ns attribute
Element choice is empty
:/#?adding types library
in interleave computation
open-name-classnonameNULL definition listempty: had a child node
text: had a child node
Element %s is empty
ref has no name
ref is not empty
data has no type
param has no name
parentRef has no name
parentRef is not empty
Mixed is empty
start has no children
element empty is not empty
start more than one children
grammar has no children
define has no name
define has no children
Include node has no data
Include document is empty
create interleaves
Element interleave is empty
building parser
schemasRelaxNG: no document
RelaxNG has no top grammar
<grammar combine="choice" combine="interleave"<start>
</start>
</grammar>
 TODO building context
Detected a cycle in %s references
Type %s doesn't allow value '%s'
Internal: interleave block has no data
Invalid sequence in interleave
Extra element %s in interleave
Expecting a namespace for element %s
Element %s has wrong namespace: expecting %s
Did not expect element %s there
Did not expect text in element %s content
Expecting no namespace for element %s
Expecting element %s to be empty
Expecting an element %s, got nothing
Expecting an element got text
Element %s failed to validate attributes
Element %s failed to validate content
Element %s has extra content: %s
Invalid attribute %s for element %s
Datatype element %s contains no data
Datatype element %s has child elements
Value element %s has child elements
List element %s has child elements
RNG internal error trying to compile %s
http://relaxng.org/ns/structure/1.0Internal error: no grammar in CheckReference %s
Internal error: reference has content in CheckReference %s
Reference %s has no matching definition
Attributes conflicts in group
Found forbidden pattern data/except//ref
Internal found no define for parent refs
Internal found no define for ref %s
Found forbidden pattern data/except//element(ref)
Found forbidden pattern list//element(ref)
Found forbidden pattern attribute//element(ref)
Element %s attributes have a content type error
Element %s has a content type error
Found forbidden pattern attribute//attribute
Found forbidden pattern list//attribute
Found forbidden pattern oneOrMore//group//attribute
Found forbidden pattern oneOrMore//interleave//attribute
Found forbidden pattern data/except//attribute
Found forbidden pattern start//attribute
Found anyName attribute without oneOrMore ancestor
Found nsName attribute without oneOrMore ancestor
Found forbidden pattern data/except//oneOrMore
Found forbidden pattern start//oneOrMore
Found forbidden pattern list//list
Found forbidden pattern data/except//list
Found forbidden pattern start//list
Found forbidden pattern data/except//group
Found forbidden pattern start//group
Found forbidden pattern list//interleave
Found forbidden pattern data/except//interleave
Found forbidden pattern start//interleave
Found forbidden pattern start//data
Found forbidden pattern start//value
Found forbidden pattern list//text
Found forbidden pattern data/except//text
Found forbidden pattern start//text
Found forbidden pattern data/except//empty
Found forbidden pattern start//empty
Defines for %s use both 'choice' and 'interleave'
Defines for %s use unknown combine value '%s''
Some defines for %s needs the combine attribute
Failed to create interleaves hash table
Failed to add %s to hash table
element %s doesn't allow foreign elements
Attribute %s is not allowed on %s
Attribute %s contains invalid URI %s
Attribute %s URI %s is not absolute
Attribute %s URI %s has a fragment ID
Incorrect URI for externalRef %s
Fragment forbidden in URI for externalRef %s
Detected an externalRef recursion for %s
xmlRelaxNG: could not load %s
xmlRelaxNG: allocate memory for doc %s
Failed to load externalRef %s
xmlRelaxNGParse: include has no href attribute
Failed to compute URL for include %s
Detected an Include recursion for %s
xmlRelaxNG: included document is empty %s
xmlRelaxNG: included document %s root is not a grammar
xmlRelaxNG: include %s has a start but not the included grammar
xmlRelaxNG: include %s has define without name
xmlRelaxNG: include %s has a define %s but not the included grammar
Failed to create a name %s element
xmlRelaxNGParse: no namespace for prefix %s
Found nsName/except//nsName forbidden construct
Found anyName/except//anyName forbidden construct
Found nsName/except//anyName forbidden construct
xmlRelaxNGParse: externalRef has no href attribute
Failed to compute URL for externalRef %s
exceptNameClass allows only a single except node
Element %s name '%s' is not an NCName
Attribute with namespace '%s' is not allowed
Attribute with QName 'xmlns' is not allowed
expecting name, anyName, nsName or choice : got %s
Relax-NG types library '%s' already registered
Relax-NG types library failed to register '%s'
Element or text conflicts in interleave
Attributes conflicts in interleave
callback on %s missing context
callback on %s missing define
callback on %s define is not element
xmlRelaxNGParseattribute: attribute has no children
attribute has invalid content
RNG Internal error, noop found in attribute
attribute has multiple children
ref name '%s' is not an NCName
Could not create references hash
data type '%s' is not an NCName
Use of unregistered type library '%s'
Internal error with type library '%s': no 'have'
Error type '%s' is not exported by type library '%s'
http://www.w3.org/2001/XMLSchema-datatypesType library '%s' does not allow type parameters
Element data has unexpected content %s
value type '%s' is not an NCName
Expecting a single text value for <value>content
Element <value> has no content
Value '%s' is not acceptable for type '%s'
xmlRelaxNGParse: notAllowed element is not empty
Use of parentRef without a parent grammar
parentRef name '%s' is not an NCName
Internal error parentRef definitions '%s'
Unexpected node %s is not a pattern
xmlRelaxNGParseElement: element has no children
xmlRelaxNGParseElement: element has no content
RNG Internal error, start found in element
RNG Internal error, param found in element
RNG Internal error, except found in element
RNG Internal error, noop found in element
element notAllowed is not empty
define name '%s' is not an NCName
Could not create definition hash
Internal error on define aggregation of %s
Include document root is not a grammar
grammar has unexpected child %s
Element <grammar> has no <start>
Internal error: start element not found
<start> use both 'choice' and 'interleave'
<start> uses unknown combine value '%s''
Some <start> element miss the combine attribute
Failed to allocate sh table for Relax-NG types
xmlRelaxNGParse: could not load %s
xmlRelaxNGParse: could not parse schemas
xmlRelaxNGParse: nothing to parse
RelaxNG empty or failed to compile
 xmlns="http://relaxng.org/ns/structure/1.0" <!-- invalid combine value --> <!-- grammar had no start -->������r��k��d��]��V��O��H��A��:�������������������������������y��������������������������������xmlSAX2StartDocumentxmlSAX2StartElementxmlns: %s not a valid URI
xmlns:%s: %s not a valid URI
Attribute %s in %s redefined
xml:idxmlSAX2CharactersxmlSAX2TextNodexmlSAX2AttributeNsxmlSAX2StartElementNsxmlSAX2InternalSubsetxmlSAX2ExternalSubsetinvalid namespace declaration '%s'
Avoid attribute ending with ':' like '%s'
Empty namespace name for prefix %s
Namespace prefix %s of attribute %s is not defined
xml:id : attribute value %s is not an NCName
Validation failed: no DTD found !Namespace prefix %s is not defined
Namespace prefix %s was not found
Namespace default prefix was not found
xmlSAX2Characters: xmlStrdup returned NULLxmlSAX2Characters: huge text nodexmlSAX2Characters overflow preventedSAX.xmlSAX2NotationDecl(%s) externalID or PublicID missing
SAX.xmlSAX2NotationDecl(%s) called while not in subset
SAX.xmlSAX2ElementDecl(%s) called while not in subset
xml:id : attribute type should be ID
SAX.xmlSAX2AttributeDecl(%s) called while not in subset
Entity(%s) already defined in the internal subset
Entity(%s) already defined in the external subset
SAX.xmlSAX2UnparsedEntityDecl(%s) called while not in subset
SAX.xmlSAX2EntityDecl(%s) called while not in subset
Entity(%s) document marked standalone but requires external subset
SAX.startDocument(): out of memory
xmlTextWriterVSprintf : out of memory!
xmlTextWriterWriteDocCallback : XML error %d !
xmlTextWriterCloseDocCallback : XML error %d !
xmlNewTextWriter : out of memory!
xmlNewTextWriterFilename : cannot open uri
xmlNewTextWriterFilename : out of memory!
xmlNewTextWriterMemory : out of memory!
xmlNewTextWriterPushParser : invalid context!
xmlNewTextWriterPushParser : error at xmlOutputBufferCreateIO!
xmlNewTextWriterPushParser : error at xmlNewTextWriter!
xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!
xmlNewTextWriterDoc : error at xmlNewDoc!
xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!
xmlNewTextWriterTree : invalid document tree!
xmlTextWriterStartDocument : invalid writer!
xmlTextWriterStartDocument : not allowed in this context!
xmlTextWriterStartDocument : unsupported encoding
xmlTextWriterEndComment : invalid writer!
xmlTextWriterEndComment : not allowed in this context!
xmlTextWriterStartAttributeNS : out of memory!
xmlTextWriterStartComment : invalid writer!
xmlTextWriterStartElement : out of memory!
xmlTextWriterStartElementNS : out of memory!
xmlTextWriterWriteRawLen : invalid writer!
xmlTextWriterWriteRawLen : invalid content!
xmlTextWriterWriteVFormatComment : invalid writer!
xmlTextWriterStartPI : target name [Xx][Mm][Ll] is reserved for xml standardization!
xmlTextWriterStartPI : nested PI!
xmlTextWriterStartPI : out of memory!
xmlTextWriterStartCDATA : CDATA not allowed in this context!
xmlTextWriterStartCDATA : out of memory!
xmlTextWriterStartDTD : DTD allowed only in prolog!
xmlTextWriterStartDTD : out of memory!
xmlTextWriterStartDTD : system identifier needed!
xmlTextWriterStartDTDElement : out of memory!
xmlTextWriterStartDTDAttlist : out of memory!
xmlTextWriterWriteDTDExternalEntityContents: xmlTextWriterPtr invalid!
xmlTextWriterWriteDTDExternalEntityContents: you must call xmlTextWriterStartDTDEntity before the call to this function!
xmlTextWriterWriteDTDExternalEntityContents: notation not allowed with parameter entities!
xmlTextWriterWriteDTDExternalEntityContents: system identifier needed!
xmlTextWriterEndDocument : invalid writer!
<?xml version= encoding= standalone=
        [ SYSTEMP-���-��P-��P-���-��P-��P-���-��P-��.��P-�� .��P-��p-��P-��p-��x=���=��P>��x=��0>��0>��`>��x=��(A��xA���A��(A��(A��(A���A���Q���Q��DR��DR��4R��4R��$R��$R��$R��R���Z���[���[���[���[���[���[��l[��l[��l[��l[��l[��l[��l[��l[��l[��[��0123456789ABCDEFABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/00!0)0N��������@@FF��001050�0�0�0�0`i��f	o	�	�	f
o
�
�
fo��fo��f
o
PY�� )E`a��������������KRpp����������		<	<	>	L	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	

<
<
>
>
?
?
@
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
<<>CGHKMVW����������>DFHJMUV����������

>
C
F
H
J
M
W
W
114:GN��������557799>>??q�������������� � � � *0/0�0�0�0�0�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!A0�0�0�01,1����}���{���z���z��`}���}��}��P}���{�����܅���������̄��T�������\���ą������x���h���X���H���8���(���������������؉��ȉ����������������������E�������U����������������o��������������o���_�������բ������
���Ī������̝��̝������̝��y���8���̝��̝��"������̝��̝��ʩ�������������ͱ������-������f�����A������Q������A���s���������������u���string is not in UTF-8
invalid character value
creating saving contextcreating encoding buffer&#10;&#13;&#9;&lt;&gt;&amp; id=" xml:lang=" lang="http://www.w3.org/1999/xhtml" /><![CDATA[]]>"1.0" standalone="no" standalone="yes" [
creating outputxmlEscapeEntities : char out of range
-//W3C//DTD XHTML 1.0 Strict//EN-//W3C//DTD XHTML 1.0 Frameset//EN-//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd xmlns="http://www.w3.org/1999/xhtml"<meta http-equiv="Content-Type" content="text/html; charset=creating modulefailed to open %s
null parameter
failed to find symbol: %s
null module pointer
failed to close: %s
schematron.cPattern: %s
value-ofEmpty node set
%0gUnsupported XPATH Type: %d
node failed assertnode failed report%s line %ld: %s
allocating schema testns element has no urins element has no prefixallocating parser namespacesallocating schema patternrule has no context attributeallocating schema rulelet has no name attributelet has no value attributeassert has no test attributePattern has no rule elementhttp://purl.oclc.org/dsdl/schematronhttp://www.ascc.net/xml/schematronEvaluation of compiled expression failed
Registering a let variable failed
Unregistering a let variable failed
Failed to compile test expression %svalue-of has no select attributeFailed to compile select expression %sallocating schema parser XPath contextxmlSchematronParse: could not load '%s'.
xmlSchematronParse: could not parse.
The XML document '%s' is not a XML schematron documentrule has an empty context attributeFailed to compile context expression %srule has no assert nor report elementlet has an empty name attributelet has an empty value attributeFailed to compile let expression %sassert has an empty test attributeExpecting an assert or a report element instead of %sExpecting a rule element instead of %sExpecting a pattern element instead of %sThe schematron document '%s' has no patternThe schema has no document element.
�����������X��h��h��h�������out of memoryunexpected end of filecompressed data errorcompression errorlzma errorincorrect data checkincorrect length checktrailing garbage�7zXZunknown compression methodunknown header flags set<fd:%d>internal error: inflate stream corruptrequested length does not fit in int;�M�	��MH��MxQ�xL�Q��Q�,��Q�`�Q��R��M�S�NHU�hNhW�N�W��N�^�O�_�xOx`�Ohc� Pd�LP�d�xP�d�PXe��P�e��Pf�Qf�(Q(f�<Q�g�Q�g�Qh�Qh��Qj�R(j�$RHj�8R�j�hR�l��Rn�S�o�xS�q��St�DTHv�T�x�U�x�<Uxy�tUHz�U�z�U�z��UX{��U�|�U�}�(Vx~�\V���V����V���0W���DW��XW���xW���W���WH��X���`X(���Xh��Yx��Yx��Y����Y(��4Zؚ�Z���Z��8[H��[����[����[��D\X��d\���\ت�\h��\���$]h��t]8���]��^H��d^x��^8��^x��^����^ط��^��8_8��_��`���`���`���<a���ta����a8��Lb���lb���b���bx���bh��4cH��c����c����c���d��dd��xd8��d���dh���d(��De���ex���e��f8��Dfh��Xf���f��fX��f����f(���f���(gx��lg���g���g���gX��h���,h��lh���h8���hh��di��ih��j8��j��j��,kX��k��kx��k��k��lh�l��l��dm���mH�$n�	�@nX�dnh
�nX��n��n��(o�HoH�\o��oh�p��pX�0p��dpX�p���pX��p�qx�`q#�q�#��q$�q�$�,r%�@r�%�r8'��r�+�s(,�psx/��s�A�<t�F�txO��thP�uhT�`u�V��ux[�v�_�`vhc�v�g�Dw�s�w�t��w(x�x(��XxX��lx��xX��y8��y��yX���y��z���XzȞ�z����z��{8��`{���{ش��{���4|���l|���|��|���H}���}H��}X��}x��}���8~���T~��~����~h��$���p�������h��T�8��(�Ԁ��������(�8�H�H	��x�\�
�|�h�Ȃ���X�0�h�t����ԃ(����$���8���8�̄x!���*�x�8-�ȅ�-�5�H�X5�h��5��8�89��H9��9� �xT��[��`��d�̈�d���d���e�(�Xk�T�l��l�܉�l��m���m�T��n��n��n�o�Њ�o���o�$�p�8�8p�L�q�hq�8u�xw�H��w�\��w�Hx���x�4�hy�Xz���z�h��{�؎|���|�p��}�؏�~��(�8���t����H����D���h��ؑX��$�X��p����Ȋ�Вx������`�h��������ؓȚ��(������x�H��Ĕ���$����(��ԕH��$����8�H��x��������,���x�8��ȗX��ܗ(������T����x��Ę�������P���l�H��x��̙�����������0����L�x��X��Ԛx���ȸ�����l���x��غ�8�����Л����(������x�������<���X����|�(��̝(�� �h��l�������������T����h����̟����(��8������ܠ���(�������ء���8���Т���0�(��D�8��h�����L����x���̤����8��h�������X�����<���8��̦�����`�X���H�D�X�����<���P�X
�H�ԩ�
���
�$�h�\���p�������Ъ��h����0��\�����8���\�8���Ь���x�@���������$���P�x�p�h�����H����8��L�����ԯX ��x ��� ���"�`��#��$�ذ(%��8%��X%��x%�(��&��&�'�'�H'�Ա�'���'��X*�X��0�8<���L�x��L��M�8N�سhN���O�\��O�p�U�ش(U��8U��xX�L��X�`��X�t��Y��Y�̵�Y��x\�,��\�H��\�d��]�^�ԶH_�$��_�@�x`��`�8b�Hb��Xb� �xb�4��b�l�Xc�8d��xd���d� �he�X�f��f��f��Hg� ��g�`�h�(h�Hh�hh�Ⱥ�h�ܺi��hi�D��i�x�hj��j��j�Ի8k���k�L�l�(l�xl�ܼ�l���l�,�m�@�m�T�(m�h�(n�|�Xn��n��n��n���n��o��(o�,�Ho�@�Xo�T�xo�p��p��p�Xv�Ծ�v�Hw��Hy�xy��y�Ŀ�y��(z���z�4�h{�h�(|�h|��|���|��H}���}�(�X~�d�h~�x��~�H���(���������� ���T����H���8�������(����H�X��������������X�����������D����(����8���������P�X���Ȏ�������(����x�����(����H��������ȑ������8��D�x��p�X���X������������@�����h����ȝ� �8��h����H����8���H������h�ؤ������ȧ� �ا�4���`�����Ȫ��ت��h�������<�x�����������(��H�X��d������������ذ�������x���(��l�H����������L�(��`��������������X���������(����@���T����h��������X��������X��P�����h���8����(������<����h�����8���������(��(�x��P����d������������������(����8������@�X��l�h���x�����������x��$�8��P����x�������`������������0����D������������������X�(���<�x�t�����������H�P����H�������	���	�X�
�t�X
��h���x�����8��L���x�H����������� ���4�8������8��(���"���"���"�$�H$��h$���$���$���H%���&�H��&�\�8'��(���h.�H�x.�\��.�p�1��(1��X1����2� ��2�4��2�H��3�|��3���3���5���5���6�D��6�h��:���<�\��<�p��=���=���>���?��H@�`�A���C���XD�,��D�@��D�T�G����H�0�xI�t��I��8J���XJ���xJ���J���J�$��J�8��J�L��L��(N����P�t�hT��XZ���a���f�d�g��Xh���hr�@�t��Xu����u�(��v�h�xw��Hy���z�\��}���}���~���~���(~����@����h�����������,����h���������8���؅�P����������H������\�x���H������x��,�X��p�8�������H��������@����������8��������X�� ����p����(���H���ؼ�X�H��Ƚ��(���x�� �X��p���X���������<�h��X������,�X��X�h������������,����@����|�h�����H��P��������������X	��@h	��T�	��h�	���H
���H��0�������8���(�����d����������L����X��(�������8��$����������@( ��t("����)��8�*����*����+����+��H,��0�-����-���.���/��	0��`	(1���	81���	x1��
�1��H
2��\
�2���
�4���
5��0X7��D�8���H:����;��`�<����A����C��$
HE��p
hE���
�E���
(G��HV����V����W��H�X��dHZ���[����[����\��x]��,X^��H(_��dh`���Ha����a���xd����d��f����f����f���8g����g��@Hh��h�h����i����j��Hk��D(l��p�m���(n���x���X���l�����؋��������،����������؎��0(���D�����h����ؒ�������x���8H���Lx����ؗ���x�����4h���Hș��\ț�������؜������0��|؟������������4H���dX��������@����|������������خ����$(���8ذ��h���8ط���(����8���������8���<������������X����8���L���`���t����������<��t����x���H�� ���d 8��� ���!���L!����!����!H��"���L"h��x"x���"�� #(�L#���#H��#���#���#x�<$(��$���$x�%��8%��L%X�x%��%8��%x��%��&h�T&x�h&��|&��&x��&��'H�P'X�d'x�x'���'h��'H�P(��l(���(x�(��(x��(��(h�)��()(�D)��|)h�)���)X����)���*x���0*����D*����h*����*�����*���,+X���@+����+H����+H���,,����d,�����,����,���$-���x-����-����-����-	��4.8	��T.H
���.�
���.�
���.���,/h
���/�� 0h���0����0��81����1����18��$2���`2���2���<3H��X3����3����3����3���38��4X��(4���D4x��p4�!���4x"��5#��85h#��d5�#���5x$���58%���5h&���5�&��6x'��\6�'���6�(���6�+��87�+��L78,��x7�.���7�/�� 80��D8�0��`8X1���8�1���8�2��89h4���9H8���98:��8:(<���:�>��P;�A���;xB��<C��@<�C��t<(D���<�D���<�E��=XI��l=HJ���=8K���=xL���=�L��>^��?x`��x?b���?�c��@�d��\@�f���@�f���@h��A�i��lA�k���A�t��dBHw���Bx���B�x��C�z��pC�}���C�~��pD�����D����,EX���xE8����Eh����Eh���lF�����Fȭ���F���G(���G8���`Gh����G�����G��H����0Hx���LHH���xH�����H����PIx����I�����I�����Iؾ���I(���0Jx���lJؿ���J8����JX���0K����|KH���K����K���K8��L���L���L��M�M�(M��XM��lM��M��MX��Mx�N��dN��Nx��N��4O�����O�����O���O���Ph���P���pP���P���Q���8Q���TQ��hQH	���QH
���Qh
���Q�
��R�
��R�
��(R�
��<R��PRX���R���R���Sx��DSh��tSH���S���S���S���,T���@T���lT����T!���T�!�� U�"��LU�#��xU()���U�*��HV�3���Vh5���V�7��DW8��|Wx8���W�8���W�9���W(:��(X�;���X<���X=��Y�=��TY�>���YX@���Y�@���YD��(ZxF��dZ8G���ZXG���Z�G���Z�H���ZJ��H[hL���[HQ���\R���\�R��<]hZ���]�Z���][���]�[���]�\��,^�`���^Hg��<_�i���_�i���_�m��,`�n���`�o���`�p��aHq��Pa�q���axs��b(t��\bHu���bxz��Dc�{���c|���cx|���c�}��<d�~��`dx���d8����dx����d����e����,e8���Le����pex����eȂ���e����e(����e��fh���Df����Xf؄��|f�����f�����f(���4g(���xg(����g8����gh����gx���h����$h���PhX���xhx����hȌ���h���h8����h����i����Hi(���hiX����i�����i�����i�����i(���jh���8j����Xjȏ��xj�����j8����jh����j����kȐ�� k����@k(���`kh����k�����kؑ���k����kH���lx���8l����`l���l(����lX����l�����lȓ��m���8m8���Xmh���xm�����mؔ���m����mH���n����0n����Pn��pn����nH����nx����n�����nؖ��o���(o8���<oX���Po����po����o�����oؘ���o����o8���pH��� p����Xp(���pp8����pH����p8����p�����p؛���p���qX���PqX����q�����q�� r����hrH����r����sȢ��Hs(����sh����s����sh���t8���LtH���`t�����t����th���u��HuH���tu����Hv���v����v8����v��`w����w����wX���w���x���x8��(x���<x(��Px���dx��xxX���x����x����xX���x���0y����y��zX�� zH��Lz���xz����z���z����z���z����zH��{���4{��H{����{����{���|���|���8|���X|(���|x���|(���|H���|����|��,}���@}h���}����}(���}H���}���~h��~���(~���<~X��P~���d~8��~�����,8�|��������(����4�X�H���t�8�������h�0�(�X��������h�d����x�܂���8����H���t�H��������Ѓ����h���8�8���L��������܄���(�X��X����t������h	����	���
��l�����8��H����`����܇X��(�(��\�h$��܈�*�����,�� ��3����(4��ЋX7����>��h�8?�����?���(D��0��E��p��F�����F�����H����H���I��,��P�����X���Z��0�(Z��D��Z��d��[�����c����d��4�e��H�(e��\�Xe��p�(f��ܐ�g��(��i��x��k��đhm���xo��\��p�����p���Hq��4�r����Hr��ȓ�r���s��H�Hs��d�xs��x��t�����u�����v���w���(w��0��w��x�(x����y����hy��ԕ�y����y����y��(�z��<�Hz��P�xz��d��z��x��z����{����8{����h{��Ȗ�{��ܖ�{����{���(|���X|��,��|��@��|��T��|��h�H}��|�x}����8~��ȗ������$����8�����p�x�����X���������h���$����l�������H���������D�Ȍ�������H�x��������������������,���������Ĝ(���؜�������$�8���8���|�(�����Ț���8�����x����8���X�����t�������X���������Ȟ����ܞ(��������L����h�X�����x���؟h��������$�H���P���������������T�8��������H����H���l������������8������P�X���t�ح����(�����8������l�H���������ܤ8����8���d�ظ����8���̥ع���h���l�X�����H����8��P�8����������T����������x��$���`�x�������������H������h����Ы�������x����� ���l�h�ȭ8��(�h�X���X����<�X������������t�����X�԰��H������� ���4�X��h����(�����X�X���������(���8���8��Եx�����������<������)�� �*��`�h,�����:��Ĺ�T����XU����U�� �V��\��V����hW���hY��X�xZ�����Z����[���h_��d�b�����e����j��`��n��оp��0�xp��D�q��t�xq�����q��ȿ(r�����r�������������Ȣ������������������L�8����(��4�8����h����X����H������P����������������������(�H�x���������������,����h������d����x�X������������������@��1��4�X2��L��3����h<����=����XE��`��H�����`��\�(a��p�xb�����k��x�����X����x���4������������8�����������(�����H��������������(����x�x����������������H����h���0�ȱ��D�8���X���l�(�����������(���<�Ⱥ��P�H���d�X���x�����������������8�����h��������$�����@����T�8��������������8����������L���`�8��t�x��������������8����h������H�x������`�H�������(������8���p�X�����H�����-��(�.��D�(.��X�(/�����/����x3����3�� ��3��4�4��H�(4��\�x4��p�5����(5����H5����h6�����6����6����6��(��6��<�7��P�(7��d�H7��x�h7����x7�����7�����7�����7�����7����8���88���X8��,�x8��@��8��T��8��h��8��|��8����9����89����X9����x9�����9�����9����9����9��0�:��D�8:��X�X:��l�x:�����:�����:�����:�����:����;����8;����X;���x;�� ��;��4��;��H��;��\��;��p�<����8<����X<����x<�����<�����<�����<�����<���=��$�8=��8�X=��L�x=��`��=��t��=�����=�����=����>����8>����X>����x>����>����>��(��>��<��>��P�?��d�(?��x�H?����h?�����?�����?�����?�����?����@���(@���H@��,�h@��@��@��T��@��h��@��|��@����A����(A����HA����hA�����A�����A����A����A��0�B��D�(B��X�XB��l�xB�����B�����B�����B�����B����C����8C����XC���xC�� ��C��4��C��H��C��\��C��p�D����8D����XD����xD�����D�����D�����D�����D���E��$�8E��8�XE��L�xE��`��E��t��E�����E�����E����F����8F����XF�����F����F���8G��(�HG��<�XG��P��G����H����H����(H����8H���HH���XH��0�hH��D�xH��X��H��l��H�����H�����H�����H�����H�����H�����H����I���I�� �(I��4�8I��H�HI��\�XI��p�hI����xI�����I�����I����HJ����xJ�����J����K���8K��$�XK��8��K��X��K��x�(L����XL�����L����M���HM���xM��0��M��D�8P����xQ�����T��4��U��p�HX����HY��$�Z��\�h[�����\����\����]��0��^��\��_�����`�����a���xb�����b���Hc��0��c��\��d����8g���i���8i��(��i��L��j��x��k����l���8m��$��p��t��q�����r����t����u��4�Xw��p�Xx���(y����y�� �z��4�h|��h��}�����}���X~����~���x��<����P�H���d�x�����؁��������x����؄���H���(�����<�8���P�����d����x�8����������������X����������H�������XȊ��l؊�������x������������������x�������,؍��@���Tx���hX���t8�������������X���0����D����X����h����x�������������ȡ�����(X���<Ȣ��T(���h�����8���������ئ�������(����<����hح���X�������� 8���pد�������(���T����������h���<����������(����x���$	���p	(����	�����	��� 
����\
Ⱥ���
H����
���((���p����������D����(����h��
���@
���
h���
����
(��X���H���h��H��`��������H������X�����p����������X����8�08�\x�����x�@��������\x��H�0��|�H���������������L���(�����4�������($���%��LX+����,���8.��Lh3����3���H:��Px<���(?��$�\��p(a���b��(e��p�e����f���hg�� �g��L�i����������H���������x��� h���\ X���� ����� X���� ����� H���$!����`!�����!���!���"8���$"x���8"����L"�����"h����"Ȝ���"x���#X���L#�����#ȟ���#(����#H����#x���$���� $(���p$�����$H����$����$(����$h���%����L%Ȭ��`%H����%�����%ȭ���%�����%����&H���@&Ȱ���&(���$'ط��p'ؼ���'8����'X���(x���$(����8(��L(���`(H���t(X����(h����(H���)����L)����)�����)�����)���*���D*X��p*����*���$+��p+����+8��,���\,��,X�<-���-��.��.h�x.���.��(/��x/h��/x�40h�t0�����0���@1�����1����42����H2���\2���p28����2h����28����2�����2�����2���3(���(3����\3����3X���3���4(��@4h��T4����4���4��5H��H5���d5����58���5����5(��6���46(��p6�	���6H
���6
��<7�
��h7H���7H���7H��8���H8x���8����8���(9��t9����9����9(��:��T:8��|:����:X���:8��;���<;���h;����; ���;� ���;8#��<x$��d<�$���<�%���<�%���<h&�� ='��<=h'��h=�'���=x(���=�(���=X)��$>*��@>,���>�,���>�,���>X-��?.��0?H/��d?�/���?0���?h0���?(1��@x4��X@86���@�6���@(7��A�7��<A88��XA�9���A�:���A�:��BH;��<B�;��XB�=���B�>���B�?��$C@��PC�@���C8A���C�A���CB��D�B��8D�D���DhE���D�E���DH��PEHH��dEXI���E�I���E�I���EJ���E�J��FK�� FHK��4F�K��HF�K��\FL��pF8L���FxL���F�L���F8M���F�M�� G�N��pGHO���G�O���G�O���GXP��0H�P��\H�V���H�Y���H(\��@I�_���I8f���JHg���JXg���J�g��K�g��Kh��0K8h��DK�h��XKi��lKw���K�{��L�|��TL�|��hLx}��|L�}���L~���L����L؂��M��<M8���hMX����M�����M���� N����LNx���|NȈ���N����Nh���$O����\O�����OX����O�����O���P����HP����\P�����P����P8����P�����P����4Q����pQx����Qؤ��<R�����Rh����R����S�����Sh���Tx���PT�����T8����T����4U�����Uȶ���Uض���U���U���V���Vȸ��LV�����VȺ���Vغ���V���V����W�����Wؼ���WH���HX�����Xh����X(����XH���Yx���Y8��Z���DZ���ZX���Z���D[x���[����[���\���<\���h\��\H��\���\��$]��]���]x�(^���^x��^���^h��^8�H_����|_�����_���_h����_����$`zRx�$P}�@CFJw�?:*3$"Dh��0C(\��E�I�D �
DAIH�d�B�E�E �E(�D0�I8�DP�
8D0A(B BBBEL���K�A�A ��
�A�B�E�
�A�B�Fp���H ���$��L8��B�B�B �B(�A0�A8�D�F
8A0A(B BBBBX�d�
L�B�I �A(�J0�(K� A�B�B�Q0����D(G� A�B�B�$���N�p
J^
J[E�|���B�B�B �B(�A0�A8�D`m
8A0A(B BBBK�hGpKxI�B�B�B�B�B�B�B�B�I`(�@�E�}
FI
G^
J^(���E�}
FI
G^
J^�(�<X�UC�4L�kJ�D�G r
D�A�LFAAH��8��#0L��sE�D�D h
AAIiDA������L���F�B�A �A(�D0�
(D ABBG�
(D ABBA�T�P� L�D4H��O�A�D l��H ��c
K�A�I�
M�K�L|�����,��E�D�s
DHL
DA`���n�E�A �D(��
 CDBDM KBBA����O(����M����F(����H8��Aj�B�A �D(��
 FBDFF
 ADBFO����\����n�E�A �D(��
 CDBEG
 KBBJE����O(����W����P�x�I�B�B �A(�D0�W
(H DBBGM
(A BBBAt8$�t�B�H �D(�D0�

(A DBDJk�����O0�����L(C GBBA�����F0�����D���1I�B�A �D(��
 HDBAd
 ABBAt��!�bt�B�H �D(�D0�+
(A DBDD������O0�����D(A EJEH�����F0�����4p�#�3DL C(D0B8B@BHAPDXB`BhApK4��#�wI�H�H �t
ABHR
ABC(��#��A�A�GP�
AAH�$�B �$�\R\8$%�\R\Pl%�,d�&�V�G�H �kAMB���0�x'��F�A�A �D��
 AABF,�(�A�D�G��
AADL��+�F�B�B �B(�A0�A8�J�L
8A0A(B BBBBPH	�-�O�B�B �B(�A0�A8�DP�
8C0A(B BBBKG�������	P.��	\.�3�	�/�E�u
F<�	(0��E�A�G w
AAJF
DAEdHH8$
�0�tF�E�A �D(�J��
(A ABBE`
2�6T�
HYH�
,3�F�B�B �B(�D0�A8�D�L
8A0A(B BBBEp�
�5�-H A
Gu
KK
Ek
EK
EK
EK
EJ
FK
EK
Eu
KK
EK
EK
EK
Ex0@L7�<F�D�A �D0�
 AABFtX8�`�T8�F�B�B �B(�A0�A8�D�p
8A0A(B BBBD	�]�E�J�S�`��9�F�B�B �B(�A0�A8�D�H
8A0A(B BBBDQ�]�E�J�S�LP�;�F�B�D �A(�D��
(A ABBIu�]�E�J�S�`��<�F�B�B �B(�A0�A8�G�3�]�E�J�V�N
8A0A(B BBBF`
8@�F�B�B �B(�A0�A8�G���]�E�J�V�G
8A0A(B BBBG8h
�B��F�A�A ��
ABBC
CBHT�
�C�^F�B�B �B(�A0�A8�H��Q
G��
8A0A(B BBBD<�
�D�HB�B�A �A(�D�t
(A ABBD <�F��E�J��
AAL`�G�B�B�B �B(�A0�A8�G��
8A0A(B BBBH��M�1E�T
GP0��M�FE�D�G Y
AAESAA$N�'E�D�G TAA8,N�K�A�A �f
�N�D�KZ�I�B�$hdN�.E�A�G WDAL�lN��F�B�B �B(�A0�D8�G�$
8A0A(B BBBJL��P��F�B�B �B(�A0�D8�G�$
8A0A(B BBBJL0lS�F�B�B �B(�A0�D8�J�
8A0A(B BBBJL��U�UF�B�B �B(�A0�D8�G��
8A0A(B BBBD��W�'HP
HF��W�Y��J��X�1HP
HI,�X�#@�X�,LT�X�6X�B�B �B(�A0�D8�GP�8A0A(B BBBJ������H��Y�F�E�B �B(�A0�A8�G��
8A0A(B BBBA���a�HQI A(B0B8B@BHBPBXB`BhBpVD
AD
B A(B0B8B@BHBPBXB`BhApHOH B(B0B8B@BHBPBXB`IDl|�a�A�_[ A(D0B8B@BHAPDXB`BhBpVO
JDL E(D0B8B@BHAPDXB`BhBpIAH� b�gB�B�B �B(�A0�A8�D@U
8D0A(B BBBHl8Dd�A�_Z A(D0A8E@BHBPBXB`BhBpVO
JDL E(D0A8D@BHBPBXB`BhBpIA4��d��F�A�A �]
ABH�ABd�<e��uLM I(D0B8B@BHAPDXB`BhBpIDWOL B(B0B8B@BHBPBXB`IDlH�e�E�mA A(D0B8B@BHDPEXB`BhApXO
EBK A(D0B8B@BHDPDXB`BhApKA��e�Q�X
G^�df�
8�`f�F�B�A �A(�D0�
(D ABBB0(�f�m�D�J CAAH��H ��@\�g��E�A�G��
AAHs�R�L�J�K�H�,k��F�A�A �G��
 AABF��Y�E�J�K�P��n�F�B�A �A(�G�d
(A ABBE]�R�L�J�K�@�p���[X�q�/`l�q�#O�D�D �F0E
 AABJZ
 CABH�
 AABJ����F0�����s���s� (��s�J�A�G `D�A�($t�E�I�D i
DAH\P|t�F�B�A �A(�D0J
(D ABBGO
(D ABBHD
(F ABBIL��t�F�B�D �A(�D0m
(D ABBI�
(D ABBK,,v�F�D�A �C
ABGL0�v�F�B�D �D(�D0�
(D ABBAm
(D ABBJ,��w�O�A�A ���A�B���y�!(�z�'E�A�D �
AAF��|L�M
Gl�1J�Y�,��!J�P�H��4\0��[O�D�K c
AAEDCAH��@�X���X�D�A ��ABH���H �����A�B�$���#E�C�D RCA$��#E�C�D RCA$(��#E�C�D RCA0P��DE�A�F V
CAJOCA�8��h<����OH�D�D �X
CBCH���S ���8�����B�A�A �{
ABFA
ABAHH��7B�E�E �E(�D0�D8�G@�
8C0A(B BBBCl`<��%
w�MM H(B0B8B@BHAPDXB`BhApOaE�Z�PM H(B0B8B@BHBPBXB`BhApH�4����ZYM F(D0B8B@BHAPDXB`BhApKx$��A�_L B(A0A8D@BHBPHXD`EhBpBxA�KK
DDF B(A0A8D@BHBPHXD`DhBpBxA�KAp�H���A�AI A(B0B8B@BHDPEXB`BhApWK
DBK A(D0B8B@BHDPDXB`BhApKA
Gl�����Z�PG I(D0B8B@AHCPDXB`BhBpIaF�P�DM J(D0B8B@BHAPDXB`BhBpI,h��J��
DF
�J`�H�`�Ԑ�PB�B�B �B(�A0�A8�DP�
8A0A(B BBBEs
8A0A(B BBBK,����B�A�A ��
ABJ, ��@���(T(��A�C�G k
AAAl����A�_L I(D0A8E@BHBPBXB`BhApXO
GDL C(D0A8D@BHBPBXB`BhApKAl�ܘ�A�_L I(D0B8B@BHAPEXB`BhApXO
GDL C(D0B8B@BHAPDXB`BhApKAl`��A�_\ C(D0B8B@BHBPBXB`BhApXO
GDM K(D0B8B@BHBPBXB`BhApKAx�l��A�_L B(A0A8D@BHEPBXG`EhBpBxA�XO
KDF B(A0A8D@BHEPBXG`DhBpBxA�KA@L ���L�A�D �G0S
 AABAp���H0���� ��di�]� � p��Q�u
JF � ��Y�g
PFJ�L� ؞��B�B�B �B(�D0�A8�G�M
8A0A(B BBBED!x��+A�X
GF,d!���*A�r
Er
NP
HF
G�!���SA�o
HZ�!Ȣ�)<�!��Y\N F(A0A8D@BHBPBXD`DhBpBxB�Ih"��DND B(B0B8B@BHAPGXB`BhBpOD
GBL C(D0B8B@BHAPDXB`BhApKDt"X���"d���0�" ��O�D�G GAAE��F ��L�"|��bB�E�E �D(�D0��
(A BBBF�(A BBB #���C4#ا�J��C�(P#l��A�n
AQ
OF
JXL|#��WB�B�B �B(�A0�D8�G��
8A0A(B BBBJH�#��B�E�B �B(�A0�A8�D`�
8A0A(B BBBD4$T��N�D�G Y
AADp��C ��P$ܱ�C0d$��J�D�G cAAA��F ���$���S<�$в��S�A�A �[ABE���P ���wAB\�$`��IO�B�B �A(�D0�G@�
0A(A BBBDT
0A(A BBBDu�����8L%P��fF�B�A �D(�D0z
(C ABBEP�%���sP�E�E �E(�G0�D8�K@IHHPU8A0A(B BBBK������|�%���EK�B�B �B(�A0�A8�G@�
8A0A(B BBBEV
8A0A(B BBBH�������H@������H\&���RF�B�B �B(�A0�A8�G��
8A0A(B BBBEL�&���F�B�B �B(�A0�A8�G�
8A0A(B BBBDH�&T��F�B�B �B(�A0�D8�D`�
8A0A(B BBBA4D'����A�D�G �
AAGk
FAFL|'P��F�B�B �B(�A0�A8�J��
8A0A(B BBBB`�'��_B�B�B �D(�A0�O
(D BBBDs
(L BBBCS
(D BBBCL0(���F�B�E �B(�A0�A8�D�R
8A0A(B BBBGH�(\��qF�E�B �B(�A0�A8�D`�
8A0A(B BBBDH�(���pF�E�B �B(�A0�A8�DP�
8D0A(B BBBI�)���F�E�B �B(�A0�C8�DPJ
8D0A(B BBBE}
8A0A(B BBBA_
8A0A(B BBBA�
8F0A(B BBBBH�)���F�E�B �B(�A0�A8�D�{
8A0A(B BBBA8�)��DF�A�D �~
ABDS
ABJ88*��GF�A�A �>
ABG�
ABHLt*�B�B�B �B(�A0�A8�G�
8A0A(B BBBH�*��#H�*��F�E�B �B(�A0�A8�D�{
8A0A(B BBBFH$+H�LF�B�B �J(�A0�A8�D@�
8D0A(B BBBAxp+L��F�B�B �E(�A0�A8�DP�
8A0A(B BBBJ�
8A0A(B BBBAP
8C0A(B BBBA(�+���E�A�G I
DAA4,T�Cd�A�A ��ABJ���P ���0P,l�F�A�A �D0u
 AABK<�,� �lF�B�B �A(�D0��
(A BBBJ0�,("�9F�D�D �G0�
 AABHH�,4$��F�E�B �B(�A0�A8�Dpu
8A0A(B BBBD8D-�+�RF�B�A �A(�G@u
(A ABBDH�-�-�/F�B�B �B(�A0�A8�G`G
8A0A(B BBBJ8�-�5�F�G�D �z
ABB�
ABDH.T7��F�B�B �B(�D0�A8�D@�
8D0A(B BBBFHT.�8��F�B�B �B(�D0�A8�D@�
8D0A(B BBBA4�.|:��E�D�G0p
AAFD
CAH,�.$;��E�G E
DK_
CF\/�=�3F�E�B �B(�A0�A8�D�u
8A0A(B BBBD+�G�P�A�Hh/�D��F�B�B �B(�D0�A8�G@
8D0A(B BBBFH�/XH�GB�E�E �B(�A0�A8�DP�
8D0A(B BBBD0\O�E]Y0�O�8,0�O�F�B�A �A(�G0|
(C ABBK8h0tP�zF�B�A �A(�G@�
(A ABBH�0�S��E�~
EH�0|T�!B�B�B �E(�A0�C8�DP�
8A0A(B BBBI01`Y�~F�A�A �G0
 AABJL@1�Z��F�B�D �A(�G0�
(D ABBC�
(D ABBJH�1<\�RF�B�B �B(�A0�A8�Gpr
8A0A(B BBBG@�1Pa�B�B�B �A(�D0�G@j
0A(A BBBD$ 2�d�RT�K �AD�A �tH2f�vB�B�B �E(�A0�A8�G�$	
8A0A(B BBBF��I�N�A�R��
�H�E�A�ED�2y��B�B�B �A(�A0�G�U
0A(A BBBD43�}��A�A�G k
AAJD
IHK(@3L�A�A�DPQ
AAGl3��	�3��`�3h��B�B�B �B(�A0�A8�G@Y
8K0A(B BBBJD
8D0A(B BBBG0�3���F�D�D �G0�
 AABGD,4���E�A�G /
CAHa
CAC^
CAFPt48��'E�A�G �
DAKd
AAB{
DAHD
FAE�4��E�D
GH�4���AF�E�E �B(�D0�A8�D`c
8D0A(B BBBE45���!J�SC�HP5���F�B�B �B(�A0�A8�D@�
8D0A(B BBBD@�5 ��F�B�B �A(�A0�D@�
0A(A BBBEH�5��F�E�B �B(�A0�A8�D@�
8D0A(B BBBG,60��@6<��8T68��F�D�C �J
ABFr
ABK�6���X�6���P�E�D �D(�D0I(A� A�B�B�P0����R(D� A�B�B�47���F�A�A �h
ABEVABH87d��5B�E�B �B(�D0�D8�GP�
8D0A(B BBBF\�7X��i	F�B�B �A(�A0�D`�
0A(A BBBHAhCpPhA`hCpNhB`L�7h��BB�E�B �A(�A0��
(D BBBK�
(A BBBH048h��tE�A�G c
AAFuAAHh8���LB�E�E �B(�D0�D8�Dp�
8A0A(B BBBG�8���JMeA P�8��&HDB W(�8���E�A�D0l
AAH, 9ܱ�F�A�G �Y
ABFP9L��$d9H��~E�M
Fb
Fi`�9���B�B�B �B(�A0�A8�G�
8A0A(B BBBF��Y�K�F�K���9��� O�B�E �B(�D0�D8�Fp
8A0A(B BBBB�
8A0A(B BBBFg
8F0A(B BBBJ�������Pp������`�:t��hO�B�E �B(�A0�A8�D`{
8A0A(B BBBEX������P`������H�:���wF�B�H �B(�A0�A8�D`�
8D0A(B BBBE8;���HB IT;���#J�L� p;���TS
Ia
O(�;X���E�A�G0�
AAE8�;���F�B�G �D(�D0}
(C ABBDH�;���F�B�A �A(�D0c
(D ABBFd(D DBBH<���\<��Lp<����B�E�F �D(�G0[
(D ABBDr
(D ABBE<�<|��F�E�E �D(�D0��
(D BBBE=<��=8��(=4��<<=@���F�E�E �D(�D0�z
(D BBBD|=����=����=���8�=����F�E�D �D(�G0�
(C ABBF�=x��UT@>��D >����N�A�G |
AAD�
H�A�Kx��A ��Hh>4��7F�B�B �B(�A0�A8�D`h
8D0A(B BBBI�>(��P�>$��cK�E�D �D(�G0V
(J� D�E�B�FD(C ABBD����4?@��GF�D�D �\
DGKACBHT?X��[F�E�E �D(�C0�X
(D KEBKA(C BBB`�?l��N�B�E �D(�D0�Z
�(A� B�B�B�JI(C BBBF�����H0�����x@����O�E�E �E(�D0�D8�G@K
8P�0A�(B� B�B�B�ON8C0A(B BBBF������H@������P�@<��P�E�D �D(�G0n
(P� C�B�B�GD(C ABBD����l�@x���X�E�E �E(�D0�D8�G@C
8S�0A�(B� B�B�B�KL8C0A(B BBBH������<DA���SK�E�E �D(�G0�X�(C� B�B�B�T�A���W�E�E �D(�C0�Y
�(A� B�B�B�HI(C BBBF�����d�AP���F�B�B �B(�A0�A8�DP|
8J0A(B BBBOO
8C0A(B BBBE,DB���
Vm
Ev
BQ
APH,tB���aG�D�A �H�A�B�8�B����B�E�E �D(�D0�v
(A BBBGH�B���qB�E�E �E(�D0�A8�DPb
8A0A(B BBBJ4,C���A�A�D R
DACZ
AADHdCH��B�E�A �D(�D0}
(A ABBEN(F ABBP�C���K�B�B �D(�A0��
(F BBBCA(C BBBA�����<Dh��^A�A�G ^
DADI
LAJDDAHDD����F�B�B �B(�A0�A8�DPw
8D0A(B BBBJH�D,��f�F�A �D0J
 AABAD CABF���C0����D���CH�D��F�B�B �B(�A0�A8�DP

8A0A(B BBBAH<E��F�B�B �B(�A0�A8�DP
8A0A(B BBBA@�ET��%F�B�B �A(�A0�D@�
0A(A BBBA@�E@�F�B�B �A(�A0�D@�
0A(A BBBAF��Q�J,F��HKDF��(XF��QJ�A�G mD�A�\�F�F�B�A �A(�D0�
(D ABBBx
(D ABBGH
(D ABBGH�F(�B�B�A �A(�D0q
(D ABBDD(F ABB\0G|�<B�E�B �B(�D0�A8�F�v�M�Z�A�
8A0A(B BBBH��G\
�aT�E�E �E(�D0�G8�DP�
8C0A(B BBBF�
8A0A(B BBBAL
8F0A(B BBBAO������DP������$H8�)J�WG�L@HL�F�B�B �A(�A0��
(A BBBAY
(A BBBH�H
�8L�HH
�F�E�E �D(�D0�
(A BBBAY
(A BBBH4�H��*E�K�D �
DADY
DABH,I��F�B�B �B(�A0�A8�D`t
8A0A(B BBBHxI�lWmKH�I��]F�B�B �B(�A0�A8�DPa
8A0A(B BBBCL�I��F�B�A �A(�D0�
(D ABBFi
(D ABBF4Jh�8HJt��F�A�A �y
ABDY
ABD8�J��F�A�A �m
ABHY
ABD4�J��E�I�D U
DADY
DAB4�J��E�I�D q
DAHY
DAB80K��F�A�A ��
ABEK
ABBLlK��_F�B�A �A(�D0�
(D ABBII
(D ABBF�K��E�UH�K��&B�B�E �E(�D0�D8�DP�
8D0A(B BBBK$L��#8L��LL��8`L���M�I�C �l
ABHY
ABD�LP�E�W4�LT��E�I�D q
DAHY
DABL�L���F�E�A �C(�L0p
(D ABBDY
(D ABBF@M|�E�U(\M��IJ�D�G iAAH��L�M��)[�B�B �A(�A0�p(A BBBH�����H0������M���M��[N��TN(�T(Nt�T<N��T4PN �(Z�A�G �
AAEp��H ��X�N"�YO�B�A �A(�G0Y
(A ABBGH
(D� A�B�B�Ox����|�N$�_O�B�B �B(�A0�A8�G@
8A0A(B BBBBK������A@������D8A�0A�(B� B�B�B�@dO�%��N�A�G h
D�A�EB
A�A�D`���O�&�)J�XF� �O�&�^|
Aa
DcL�OD'�`t�A�A �y
�A�B�B����H ���H���X ���P8PT)�O�B�A �A(�D0(
(D� A�B�B�H�����A0����H�P+�6p�D�G �
AAHOAAG��H ��P��H ���P�+�'(�P,�PF�D�A �AABQ4,��,Q0,�F�B�B �B(�A0�A8�G��
8A0A(B BBBAS�N�U�A�v�Q�W�A�n�M�Q�B�N���I�e�B��QL3�4`�Qx3��g�B�A �D(�G0S����H0����b
(A� A�B�B�HX
(A ABBB<8R4��d�F�O �Z
ABJJ
CBAp���(xR�5�VO�A�G jCAK��T�R�5��E�A�D {
AAIK
DAHX
DAKH
AAFDAAH�R�6�F�B�B �B(�A0�A8�DPl
8D0A(B BBBAHHS�7�B�B�B �E(�D0�D8�GP]
8D0A(B BBBD\�S�:�F�B�A �A(�D0�
(D ABBFR
(F ABBAS
(D ABBEL�Sh<��F�B�B �A(�A0�:
(A BBBCO
(D BBBE\DT>�B�B�B �B(�A0�A8�D�e
8A0A(B BBBCT�M�U�A���TH?�v�B�E �E(�D0�D8�F`J
8A0A(B BBBD_
8A0A(B BBBAf
8F0A(B BBBAK������F`������\<U@C��F�B�A �A(�D0
(D ABBJ^
(D ABBI`
(D ABBA�U�C�#L�U�C�B�B�A �A(�F0�
(D ABBFL
(D ABBC`V�D�/y�A�D �G0\
 AABKT
 DABEU
 CABE����H0���PdVhF�[�F�G �G0a���H0���K
 AABIu
 G�A�B�I(�V4G�9O�G�G IG�C�P�VHG�De�A�G �_ABA���H ���m
ABHG
�D�B�KH8WDH��F�B�B �B(�A0�A8�D��
8A0A(B BBBDL�W�L�LF�B�A �A(�D0�
(D ABBAi
(D ABBFD�W�M��F�D�D �x
ABG_
ABFL
ABI8X`N�F�F�D �W
ABFL
ABA$XX�N�W�M
DS
EaG�$�X<O�W�M
DS
EaG�L�X�O��F�E�J �D(�D0Z
(D ABBH|
(D ABBC<�XTP�MZ�I�J �AAH��H ��O
AAGL8YdQ�F�B�B �B(�A0�A8�D�;
8A0A(B BBBI@�Y�V�E\�G�D �eABA���H ���{
ABJP�Y�W�7e�A�G �_ABA���H ���}
ABHK
�A�B�J@ Z�X�;N�D�G �
AABD
CAHDJ�A�HdZ�Y�E�A�D a
DAHO
DADF
DAANDA8�Z�Y�
F�A�A ��
ABBV
ABG$�Z�Z�iE�G W
AD|D�[[��B�B�B �B(�A0�A8�DPy
8D0A(B BBBDD
8C0A(B BBBHD
8A0A(B BBBJD
8G0A(B BBBL�[T_�4�[P_�F�A�A �
ABKkDBH�[�`��B�B�B �B(�A0�A8�D@~
8D0A(B BBBG8@\la�zB�B�A �A(�D0D
(D ABBI|\�c�4�\�c�qF�B�D �A(�G0S(D ABB�\d��\d�
4�\d�7F�A�A �
ABAKDB(]e�
<]e�'HQ
GF\] e�CXX
HF|]Pe�CXV
JF(�]�e�SJ�A�G tAAH��X�]�e��F�B�A �A(�D0v
(G DBBEV
(D ABBIF(D ABB|$^(f�F�E�B �B(�A0�A8�D@
8D0A(B BBBHh
8A0A(B BBBF�
8K0A(B BBBH �^Hh�NU�d
AFH� �^th�^a�h
AFH�L�^�h�CF�B�B �A(�A0��
(A BBBEA
(P BBBI4<_�i�gY�K�J R
J�H�NDAA4t_�i�yY�J�J b
N�A�JD
AABl�_0j�O�B�A �D(�G0M
(A ABBHQ
(A� A�B�B�ID(Q� A�B�B�V0����H`�j��F�B�B �B(�A0�A8�DP�
8A0A(B BBBCh`�k�|`�k�f(�`�k�]�D�K0iDAF���`pl�L�M
G4�`m��E�F�D O
DAEf
DAEa�m�+0(a�m�~X�I�G0bAAD��H0��\a n�"0pa<n�YJ�A�G j
D�A�GP���ahn�V8�a�n�f�C�D �d
ABDRABC���H�aHo�u�C�A �N
ABF`���H ���i���F ���@bp�SXd
DP`b\p�tbhp�@�btp�O�C�A ��
ABA�CBF���H ���0�b@r��O�A�D �x
ABAG���@c�r�nO�B�D �A(�F0�
(A ABBF�����Dct�&Xc4t�	lc0t��c<t�X�cHt�9O�B�A �D(�D0�
(A ABBF^
(D� A�B�B�IH�����c,u�d8u�(dTu�,dPu�+@dlu�VH b
F\d�u�1J�\�Hxd�u�oF�B�B �B(�A0�A8�DpL
8A0A(B BBBH\�d�w�F�E�B �B(�A0�A8�D�(�O�U�A��
8A0A(B BBBE\$e8~�@F�B�B �E(�A0�A8�G�m
8A0A(B BBBA!�D�U�A�\�e��XF�B�B �B(�A0�A8�D��
8A0A(B BBBKb�A�S�B��e��
�e��4f��F�M�A �]
ABDRAB$DfX��0E�D�D ]DAXlf`��~O�B�E �E(�A0�A8�DP9
8A�0A�(B� B�B�B�LM�������f���
d�f���F�B�B �B(�A0�A8�DP�
8A0A(B BBBH�
8C0A(B BBBDDg8��Xg4��Hlg0��?F�B�B �B(�A0�A8�DP�
8A0A(B BBBG�g$���g0��@�g<���X�K�G �D(�G0�
(A ABBAK����$hأ�
8hԣ�HLhУ�F�B�B �B(�A0�A8�DP�
8A0A(B BBBH�hD��HJ I�hH��HE IP�hL��X�B�B �B(�A0�A8�DP�
8A0A(B BBBB`������$i��JH0|
AL@i<��!q�B�E �E(�D0�D8�D`�8A0A(B BBBD�������i��JH0|
AH�iP���F�B�B �B(�A0�A8�D@�
8D0A(B BBBF�i��Tj��X�B�E �E(�D0�A8�GP�
8A0A(B BBBA�������dj8��xj4���j0��4�j<��bB�A�A �K
ABFFAB4�jt��bB�A�A �L
ABEFAB8k����F�J�D �A(�D0_
(D ABBGLkP��3MR
AFlkp��3MR
AF4�k���K�D�D �VABD���P ���4�k��K�D�D �[ABG���H ���(�k���cJ�A�G AAAK��((lĬ�cJ�A�G AAAK��4Tl��IF�A�A �m
ABHEAB<�l ��qK�B�A �A(�D0N(A ABBI����(�l`��9J�A�G ZD�A��lt��m��� m���4m���70Hmĭ�WE�A�G }
AADDAA0|m��WE�A�G ~
AACDAA0�m��wJ�D�D wAAE��H ��0�mh��wJ�D�D {AAA��H ��n���,n���M8@n���YP�E�D �D(�D0j(A ABBG����8|n ��YP�E�D �D(�D0k(A ABBF����<�nD��gP�D�D �rFBF���H ���ACB�nt��E�L0ox��LE�A�D n
DACFDA8Ho���aJ�A�G M
AAGgD�A��oȯ��oį�
�o���
�o����o����o���&HZp���&HZp԰�(,pа�9F�A�G _D�A�Xp��lp��HK�p���	�p���p��	�p���E�T(�p��A�N�S@}
AAGq��
 q��E�G b
FL @q|��WE�f
EV
Jdq���M t
G{l�q(��B�A�A �G���H�X�A�W�\�N�B�B�B�B�B�B�E�M�q
 AABB�q���0HM
Ar̹�@H M
K_0r��0HM
ALr��@H M
K_0lr ��B�A�D �G�d
 AABA0�r���vP�A�J �]
ABEp��� �r���E�V Y
AK�r���@H M
K_s���AM PG 4s��@H M
K_Ts��BH P
Hats8��5E�I
Bd8�sX���}A B(E0B8B@BHAPDXB`BhKpI�s��	�s��}�sT��^t���} t��^ 4tX��tE�I�_
AA0Xt���J�V Y
AFd
CIH�0�t���]E�D�D Q
DAEoDA(�t����A�U
Jd
D^
J0�t`��]E�D�D Q
DAEoDA< u����A�F�Q |
KAHn
DAE}DA0`u<��]E�D�D Q
DAEoDA�uh��WA�`
ObL�u���SB�E�E �D(�A0�N
(A BBBJu
(A BBBDv���Vv��V,vP���T�Dv��eTP\v`��GH\
\4xv���E�H�D �
DAGb
DAAH�v\��kF�B�E �B(�D0�A8�D@j
8D0A(B BBBA4�v���E�I�D �
DAJk
DAH44wX��E�I�D �
DAGk
DAHlw0��iJ�V�0�w���@E�C�G \
AACDFA0�w���cE�C�G x
AAGNCA0�w���cE�D�G y
AAENCA$x��#8x$��#Lx@��AK�kJ�(hxt��jF�A�A �^AB\�x���F�B�A �A(�D0�
(D ABBKT
(F ABBAR
(D ABBE�xx��9K�iD�,y���;K�D�D �[ABG���,@y���;K�D�D �\ABF���py���#(�y���9E�D�D Y
DAE(�y���9E�D�D Y
DAE,�y���F�A�C �s
ABH8z����F�A�A ��
ABAW
ABFHzt��FdSH`z���LF�B�B �B(�A0�A8�D@
8D0A(B BBBDX�z���F�B�B �B(�A0�A8�G��
8A0A(B BBBEg�K�d�F�H{��F�B�B �B(�A0�A8�Dp�
8A0A(B BBBK4T{x��^V�D�J P
AAJDG�A�D�{���fF�A�A ��
ABAp
ABEj
ABK8�{���F�A�A ��
ABDH
CBA0|<��TA�A�G o
DACMDA,D|h���F�A�A �_
ABFt|(��H�|$��8F�B�B �B(�D0�A8�G`+
8D0A(B BBBH4�|��JF�D�D �`
ABGJABh}0���B�B�B �A(�A0�G�f
0A(A BBBCj�M�b�F�Z�G�P�S�L�x}����}���(�}���4E�D�G��
AAH(�}���F�A�A �a
ABD�}$��~ ��4 ~��F�D�D �[
ABLr
ABCLX~t��F�E�D �D(�D0g
(D ABBIq
(A ABBBp�~D���F�E�D �A(�G@W
(A ABBDi
(C ABBGD
(G ABBH[(A ABB$���0A�D�D ^FA$D���6E�A�D cFADl���@O�A�A �{
�D�B�Ng�A�B�N �������(E�b����(E�b���y�x
�OA�p��ri�x
�OA,����1@����T����E�u
F`t�h��F�E�D �D(�D0�
(D ABBHE
(D ABBJD
(D ABBC؀���`����F�E�D �D(�D0�
(D ABBHE
(D ABBJD
(D ABBCdP���
F�B�B �E(�A0�D8�DP
8D0A(B BBBC�
8I0A(B BBBJ�����\́���VF�E�E �D(�A0��
(D BBBGs
(D BBBCk(D BBB,����@����:TeX����fl�P��O�����n�����a��@�������rԂ(��J��J�4���;DM K(D0B8B@BHAPDXB`BhBpI((�$��hA�A�D0j
AAFT�h��^L�{
IHp����F�B�B �B(�A0�A8�D`�
8A0A(B BBBA0����GE�G�D i
AAEDAA(���N�A�G �D�A������80�l���O�A�D �G0�
 AABD����8l� ��L�E�D �A(�D@�
(A ABBC(��t��A�D�G0�
AAH(Ԅ(�A�A�D0y
AAG,��L�K�D ��
CBF,0�l�VL�N�D ��
ABE0`���B�A�A �DP6
 AABF$����LE�A�D |DA�� 
�	4Ѕ
�bF�A�A �p
ABE^ABH�T
�F�B�B �B(�A0�A8�D`
8A0A(B BBBD0T���F�A�A �D@�
 AABGp�����F�B�B �A(�A0�x
(D BBBB�
(D BBBGT
(D BBBAt
(D BBBCH���F�B�B �B(�A0�A8�DP�
8D0A(B BBBE4H�D�
E�A�D n
DAK�
DAE(���E�A�D�M
AAG(����QF�A�G {D�A�؇�����������d(���DgQ A(D0B8B@BHAPDXB`BhBpID
AmF B(B0B8B@BHBPBXB`ID
H(��L�A�D�G K
CAEX����DaA A(B0B8B@BHAPBXN`IhApLD
F`
A H(B0B8B@BHBPED�4�D`A B(B0A8G@BHAPDXH`EhBpBxA�LJh`�|�B�E�B �B(�A0�D8�D��H�W�C�X
8A0A(B BBBC�
�H�TD̉ #�D`A B(B0A8G@BHAPDXH`EhBpBxA�LJD�h#�D`A B(B0A8G@BHHPAXD`EhBpBxA�LJ<\��#��K�A�A ��
�A�B�Dp���H �����`$�	8��\$�fG�A�A �}
�K�B�MAABA��� ��$�A�r
MF ��%��i�g
PF4��'�0H��'�WE�A�D z
DAGDAA|�(�1_Q��((�b4���(�E�I�D J
DAGm
DAF��(�<L�()��B�I�L �D(�D0��
(A BBBBT
(D BBBJ8D��*�B�G�A �A(�G@J
(A ABBF8���+�B�G�A �A(�G@D
(A ABBD@���+�[B�B�G �A(�A0�G@2
0A(A BBBA8�-�B�G�A �A(�G@D
(A ABBD<�p-�nP��-�OH0A
ATl�.�B�B�A �A(�D0F8N@X8A0I
(C ABBHD(C CBBčH.�`L�{
I$��.�AE�A�G mDA8��.�F�E�D �C(�D@�
(A ABBKD��0�HX��0�wF�B�B �B(�A0�A8�DPv
8D0A(B BBBK���2�(���2��E�I�D �
DABP�X3�nO�E�A �A(�G0
(D� A�B�B�Bb(L� F�B�B�(8�t4�aF�A�G GD�A�d��4�x��4����4�d���4�LO�B�B �E(�D0�D8�J@�
8A0A(B BBBH�������H@������T��7�rB�A�A �G� L�'�
 AABHd�'I�'k�'A�'[�'L�'U�'C�'$`��8�up�WI�P�FJ�p��9��B�B�B �B(�A0�A8�G� L�@L�O
8A0A(B BBBE��OI�O[�OA�O=
�OL�OJh���>�jF�B�B �B(�A0�A8�Dp�
8A0A(B BBBGdxK�WxAp}xM�UxAph��C�|��C�X���C�W�D�G 
K�A�KAK�A�S ��D
L�F�J|K�A���D���D�)(��D�XE�I�D m
DAD(@�E�IJ�A�G kD�A�Dl�@E�iK�A�A ��
�A�B�Fo
�A�B�Fx�����hF�	<ȒdF�dE�A�D n
DACK
DAHFDA(��F��E�I�D �
DAH|4�HG�HF�B�B �B(�A0�A8�D��
8A0A(B BBBB$�M�Z�B�g�M�W�D�m�M�Z�A���M�ȓM�8ܓM�tS�K�G k��H ��~
K�A�N�TO�,�`O�)H@�|O�TF�B�B �B(�A0�A8�D@�
8D0A(B BBBK���P����P�0���P�S�K�G YK�A�N ���Q���Q�)T�,Q��F�B�B �B(�A0�A8�D@�
8D0A(B BBBD�HNPSHA@h��R�0|��R�X�A�A �h
ABKS��� ��<S�CJ�g
GCE��ԕhS��O�B�B �E(�A0�A8�DPj
8F0A(B BBBI�XP`YXBPeXI`YXAPNXM`]XAP|XM`^XBPI������PP������YXM`^XAPLx��V�I�I�E �D(�A0��
(A BBBH�
(A BBBKȖdX�8ܖ`X��F�B�A �A(�DP�
(A ABBA�Y�#0,�0Y��F�A�A �D0�
 AABE`��Y�#Tt��Y�=B�B�B �B(�A0�A8�D@g
8D0A(B BBBF�HMPPHA@8̗�Z�F�B�A �A(�D@�
(A ABBBL�t[�F�B�B �B(�A0�A8�G��
8A0A(B BBBI<X��]�O�D�D �s
ABS]
CBF`�����$^�+��@^�#|��\^�JB�B�B �B(�A0�D8�G`k
8D0A(B BBBA�hJp]hA`Q
hJpRS
hJpNDhJp]hA`O
hJpNX@�,`�`�G�A ��ABA���H ���k(N0R(A P(L0^(A y�H�G�@���a�^�G�D �VABF���P ���i(M0S(C ��a�7Z�\@�� b�~J�A�G g
AAEN
AAHZFAA��@�\b�T�hb�h�tb�|��b����b�
���b�\���b�F�B�E �B(�A0�A8�D�q�N�[�A�r
8A0A(B BBBD@�Dd�*F�B�B �A(�D0�D��
0A(A BBBD�\�0e��F�B�A �A(�D@�HCP_HA@^
(A ABBDKHCP\HB@pHMPYHB@XHMPVHA@THMPUHA@x
HFPP��|g�oF�B�B �B(�A0�A8�DP�
8D0A(B BBBH�XI`WXBP\XK`ZXFPTXM`YXAPy
XL`EnXI`ZXBPIXL`�l�`j��F�B�B �B(�A0�A8�D��
8A0A(B BBBDp�E�a�A�U�Q�T�A�V�D�d�B���D�d�A�M�Q�K�C�^�E�b�B�p�E�a�A�0��o�F�B�B �B(�A0�A8�G��L�Q�A���L�Q�A�]
8A0A(B BBBD��K�Q�A���I�T�A���I�U�A�G
�H�TD
�H�TV�K�Q�B�Y�K�R�B�h
�H�LD
�L�ED
�L�ED
�H�LH
�H�L�@�,u�F�B�B �B(�A0�A8�D`�hZpIhB`�
8A0A(B BBBFdhgpKhD`�hWpGhB`ZhWpGhA`hUpGhB`4�y�xU FCDOXPHU FCH�tz�9Z�A�D0rAAE��H0��p��H0��|8X@F8A0TT�h{�
F�B�B �B(�A0�A8�D�b�H�]�A�\
8A0A(B BBBH\
�H�LD
�H�LD
�H�T�
�H�Tj
�H�ND
�H�L��M�N�A�N
�H�Tf
�R�P��L�M�B�R�L�N�B�L
�H�Tt
�J�LB
�J�P��M�X�A��
�J�PO�J�Z�A�n�O�R�H�
�N�I\�� ��F�B�B �B(�A0�C8�D�
8A0A(B BBBCH�]�F�A�H�`��CF�B�B �B(�A0�A8�D@n
8C0A(B BBBD8X�d��tJ�A�G {AAA��H ��WCA<�����X�B�B �A(�D0��(A BBBF�����4ԡ(���X�A�D ��ABD���H ���`�Ї��O�B�D �A(�G0�
(A ABBIn
(C ABBJP����H0����Tp�<��>o�E�D �D(�G0s
(A ABBD@����H0����p����PȢ$��_F�H�B �B(�A0�A8�G��
8A0A(B BBBA�0��0�,��D�(��X�$��<l� ���F�B�A �A(�G��
(A ABBJ$�����A�A�D �AA(ԣ(��SB�K�C �wIBl�\��A�mA A(D0B8B@BHDPEXB`BhApRA
EBK A(D0B8B@BHDPDXB`BhApKA$p����KA�M�L nAA8�����B�E�A �A(�D��
(A ABBH Ԥ���A�a
Fb
F(�����B�D�K �W
ABE\$�ȑ�B�B�E �I(�G0�C8�DPK
8C0A(B BBBIT8F0A(B BBB4����B�D�A ��
ABBDABd������qLM I(D0B8B@BHAPDXB`BhBpID[OL B(B0B8B@BHBPBXB`ID($����A�D�G p
AAB(P����A�D�G �
AAFH|�0��oZ�A�K �q
ABF\
�H�B�B��H�B�8ȦT��P�D�A �e
CBAhFBH����ؖ�D��
E@ ����K�A�A �a
ABG��G�P�R ���0d���A�D�Q O
AAIDHA@��D���a�H�G �aFBG���V ����
ABA|ܧ���B�B�B �B(�A0�A8�DP�
8A0A(B BBBCJ
8F0A(B BBBGM
8F0A(B BBBA$\�@��mA�A�G aAAl�����A�_Z A(D0A8E@BHBPBXB`BhBpPA
FDL E(D0A8D@BHBPBXB`BhBpIA`����YB�E�B �B(�A0�A8�D@�
8C0A(B BBBB^
8A0A(E BBBEPX����<B�B�A �D(�J�f
(A ABBA��U�E�J�K�H������B�E�B �B(�A0�A8�DP�
8A0A(B BBBD@��$���B�A�D �r
DBIQ
CBAABd<�Ц�hB�B�E �B(�A0�A8�DP
8A0A(B BBBG
8A0A(B BBBBL��ت�B�B�B �B(�A0�A8�J��
8A0A(B BBBHH�(��5B�B�B �B(�A0�A8�D�B
8A0A(B BBBFH@���UB�B�B �B(�A0�A8�DpD
8A0A(B BBBDL��0��=B�B�B �B(�A0�A8�J��
8A0A(B BBBDܫ ��D���xF�B�B �B(�A0�A8�D@X8D0A(B BBBL8�T��B�B�B �A(�A0�r
(A BBBG�
(C BBBH8��$��K�D�D �T
CBDAFBG���8Ĭx��fK�D�D �j
FBKACBJ���<����rV�H�D �oCBJ���H ���AFB4@����_F�K�H �r
AFFACBx���KL��P���F�E�B �B(�A0�A8�D�s
8A0A(B BBBFLܭ���F�B�B �B(�A0�A8�D�1
8A0A(B BBBC8,�P��@M�I�D ��
ABB{
ABBh�T��+(|�p��F�A�A �i
ABDP��T���E�D�D V
CAI�
CAE�
CAHd
CAHL������B�J�B �B(�A0�A8�F�g
8A0A(B BBBGHL�p��WB�B�B �B(�A0�A8�G`i
8A0A(B BBBD(�����A�A�D@�
AAF@��	B�B�B �A(�A0�G`�
0A(A BBBEL����F�B�B �B(�A0�A8�G��
8A0A(B BBBFX���(l���E�A�G0E
AAD�����	8������F�G�A �A(�D0�
(D ABBD4�D��F�A�A �h
ABESDBL ����F�E�B �B(�A0�A8�D�b
8A0A(B BBBGHp���5F�E�E �E(�D0�A8�DP�
8D0A(B BBBEL����=F�E�B �D(�D0��
(D BBBBS
(D BBBC���
L ���(F�B�B �A(�A0�y
(A BBBDv
(A BBBC8p���F�E�D �D(�G0J
(D ABBC��	�
��	�4Բ	�kO�A�D x
FAEDCAH�� �P	�GO�TM�P�Fh0�|	�X�E�D �D(�D0h
(A ABBId
(F ABBAD(F ABBA����P0����P��
��O�A�C �S
ABGR
�F�E�Kl
FBDY�D�E�4��
�N�A�G l
AADX��H ��(��
�r<<�`��B�B�E �F(�D0��
(D BBBEP|��sK�E�D �D(�G0`
(J� D�E�B�LD(C ABBD����4д<�GF�D�D �Y
DLIACBH�T�F�E�E �D(�D0��
(A BBBKA(C BBB`T�(�N�B�E �D(�D0�Z
�(A� B�B�B�JI(C BBBF�����H0�����x�����O�E�E �E(�D0�D8�G@K
8P�0A�(B� B�B�B�ON8C0A(B BBBF������H@������P4���P�E�D �D(�G0n
(P� C�B�B�GD(C ABBD����l��4��X�E�E �E(�D0�D8�G@C
8S�0A�(B� B�B�B�KL8C0A(B BBBH������<����SK�E�E �D(�G0�X�(C� B�B�B�T8���W�E�E �D(�C0�Q
�(A� B�B�B�HI(C BBBF�����`����F�B�B �B(�A0�A8�DP|
8J0A(B BBBOO
8C0A(B BBBEd���O�B�B �B(�A0�A8�D@{
8A0A(B BBBHs������C@������L\����F�B�B �B(�A0�A8�G�*
8A0A(B BBBA0����QE�K�K b
FADDCAt����G�B�K �D(�G0R(A ABBI����H0����J
(D� A�B�B�E�
(K� A�B�B�EHX�4�iF�B�E �B(�D0�A8�G`
8A0A(B BBBA`��X"��F�E�E �E(�D0�A8�G@G
8D0A(B BBBKt
8C0A(B BBBH��"�<�#�F�B�B �A(�A0��
(A BBBE\��#�(p��#�FJ�I�G VAAF��`��$�F�B�E �E(�D0�A8�G@�
8A0A(B BBBIS
8A0A(B BBBK�<%��8%�H(�D%�F�E�A �A(�G0_
(D ABBLd(F ABBTt��%�X�B�A �D(�G0P
(D� A�B�B�It
(C ABBDp����\̻�&�X�B�E �D(�D0�S
�(D� B�B�B�Lq
(C BBBF@�����,�`'�4D�X'�?DP C(D0B8B@BHBPBXB`BhApT4|�`'�?DP C(D0B8B@BHBPBXB`BhApT��h'�A\ȼ�'��J�L�E �D(�G0v
(A� A�B�B�NT(A ABBF����A0����8(�4(��Y�P�G p��` ���
I�A�H4d��)�>DN K(F0B8B@BHBPBXB`BhApK���)�9`��,�eA�D�G o
FANI
AAEK
TAHM
IHJQ
KHLkTA(�-�|A�D�G K
AAG�@�l.�zK�B�D �A(�D0
(A ABBE^
(D� A�B�B�Ix
(A ABBBa
(M� H�B�B�FK(M� H�B�B�<̾`/��Z�F�J z
L�H�HD
AAJ`��H��/�B�D�A ��
ABMB
ABK.
DBL4X��4�PB�A�A �G� L�'u
 AABHH���6�IA�D�G �
GAGV
TAEd
AAJQKHܿ�7�0��7�A�D�D C
AABWFML$�(8�7B�D�A �|
ABJ�
ABKJ
ABKSFI�t�9�B�B�B �A(�A0�C
(A BBBFZ
(A BBBGg
(A BBBJ{
(A BBBFK
(A BBBNg
(A BBBJ�
(A BBBJk
(F BBBI(8�tG�yF�D�G {AAB��Ld��G�F�B�A �D(�D0�
(A ABBKT
(A ABBF��xH�K��
A4�I�F�A�A �G�
 AABA(��J��E�A�G��
AAA4�HK�K��
AP��K�K��
A(l��L��E�A�J��
AAA��DM��K��
A��N��K��
A(���N�<E�A�J��
AAA���O��K��
A��P�g8,��P�O�D�J c��h ���
I�A�Ih�tS�l|��S�gE�H�G J
FAK^
FAK^
FAK^
FAK^
FAK^
FAKDAA(���T�Q�h
�GV�R�T���T�4,��T�J�D�D G
CACP��H ��Dd�8U�J�D�G @
CAG^CAF��H ��ICA$���U�oMk
HKMK
E$���U�J�t
B`�H�0��PV�X�D�A �j
ABFb���@0��V��a�B�D �D(�G0B
(A ABBFP����8t�xW�N�A�G D
AADb
AADn��(���W��E�A�G��
AAFT���X�X�B�I �E(�D0�C8�G@i
8C0A(B BBBE�������,4��Y�gO�D�G 
AAAG��\d�(Z�OF�B�J �E(�D0�A8�G�&�O�
W�A�n
8A0A(B BBBH��p�H���u�B�B�B �B(�A0�A8�J@�
8D0A(B BBBK$��v�%8�w�L��w�3`��w�=t�x����x����y�B8���y�B�B�D �D(�D0t
(A ABBF ��0{�y�[
LCE�@��{�k[�D�G }
AAKV
AAH���C ��T��|�-8h�}�bJ��
EX
HU
KX�C�U
CD��8~��@���~�#N�A�D G
AADD
CAH�CAK��H����VB�F�B �B(�A0�A8�DH�
8A0A(B BBBH8H���B�E�A �A(�D0j
(D ABBH��X��aF�S������r����UH��d��B�E�F �J(�A0�A8�D`�
8A0A(B BBBB4���;DM K(D0B8B@BHAPDXB`BhBpI8L� ���B�B�A �D(�G��
(A ABBF����� H������B�E�E �E(�D0�A8�DP�
8A0A(B BBBJ,��d���B�A�D �a
ABE(�$��A�F�D l
DADXD����"F�B�D �C(�G0�
(D ABBKP
(C ABBAP(C ABB,��|��B�A�A �x
ABA`��܈�b�D�B �B(�A0�A8�F��8A0A(B BBBF������H�������t4����?b�B�B �B(�A0�A8�D@�8F0A(B BBBD������H@������f
8A0A(B BBBH8��P��B�B�B �D(�A0�X
(D BBBC����NH�p
H�H��!L�d��qF�B�B �B(�A0�A8�G�9
8A0A(B BBBHh����8|���������1�����F�B�A �D(�N0�
(H ABBIK8H@NHKPDXD`BhApDxB�B�B�I0D
(A ABBDK8I@HHBPAXB`BhApBxB�B�B�S0D
(A ABBGK8L@HHBPBXB`BhBpBxB�B�B� �����WiPfRL��(��aB�B�B �B(�A0�D8�G��
8A0A(B BBBF��H��OtZ����4 �|��QF�C�G O
AAG]AAI��LX����F�B�B �B(�A0�A8�G�
8A0A(B BBBHH����B�E�B �B(�D0�D8�J��
8A0A(B BBBA0��H��F�A�A �D��
 AABE,(���N�G s
AGY
CD�X���qT\0p�L��S�D�G [AAA��S ����ج�q��D����� ��(��,��a^�A�G mD�A�4�p��J�D�D \
D�A�EQA�A�`D�ذ��F�B�B �E(�D0�A8�DP�
8A0A(B BBBI�
8C0A(B BBBA4��d��jB�E�D �A(�D0S(A ABB$�����hA�D�D \AA8����F�H�I �j
ABDf
ABG8D�����V�D�D �G
FBCACBJ���L��,��w�E�D �D(�D0�
(A ABBEv����F0����P��l��WU�A�D �b
ABAjABC���C ���t���F ���H$�x��OB�B�B �B(�A0�A8�D@�
8D0A(B BBBHDp�|��(X�A�D �o
ABAb
ABKx���F ���H��d��F�B�B �B(�D0�A8�DP�
8D0A(B BBBE8�(���c�A�D n
AAAW
AAFX��<@�̺�Q�D�D �L0S AABD���H0���4��,��N�D�D W
D�A�FQA�A�(�����vE�I�D I
DAH<����R�D�G gD�A�W ��T
DAGd$����!B�B�E �E(�D0�G8�D`
8A0A(B BBBE~
8A0A(B BBBH(�����vE�I�D M
DADX����F�B�A �A(�D0`
(D ABBID
(D DBBHD(C ABB �(��hE�L w
AG8�t��KL����D`����F�B�B �B(�A0�D8�D@�8D0A(B BBBD��4��F�B�B �E(�A0�F8�D@�8D0A(B BBBL�����z�F�D �D(�F0o
(F ABBHD(C ABBD����8@����F�B�B �D(�A0��(D BBB$|�`��&E�D�G IGA��h��4(�����oi�D�G `D�A�8�����F�B�B �D(�A0��(D BBB$ �L��&E�D�G IGAH�T��4(\����oi�D�G `D�A�4�����~O�G0R
A�GD
A�KsFA���������D����sP�D�D �^
ABGJ
�G�B�MACBJ���40�L��[J�D�G `
AAIDI�A�h�t��)J�WG�4�����W�G0R
H�HD
H�LsFA����������������1J�\J�H���a�D�D �q
�A�B�KK
�A�B�JZFBA���lL�����X�B�K �G(�D0Y
(D� A�B�B�ND(H ABBG����H0����P(A ABB�����1J�bD�����pH I
G��h��|����re�S�$�8��re�S� @����hE�K }
ABd����zx�T��ZV�U������RV�R�4�����E�I�D G
DABT
DAG$��4��R�g�W�h
H ����hE�L w
AG4���{(H�t��nE�I�D B
DAG$t����R�h�V�j
F��@��	 ��<��hE�L w
AG\�����F�A�A �n
ABGQ
ABDd
ABAZ
ABCL
ABA4�8��v�R�DP����sK�D�D �^
ABD]
�A�E�EACBJ��������3H����N�A�G x
A�A�HT
D�A�G[A�A�S ��D�����!O�B�A �D(�D0�
(D� A�B�B�E`����T@�l��T�A�A �k
�D�B�Ii
�A�B�L0ABE���P ���4����E�A�D }
DADc
DAH4�����E�A�D |
DAEc
DAH0����a�A�G zD�A�P ��P<����)N�A�G M
I�A�Kw
I�A�GD
I�A�J�D�A�P�����N�A�G M
I�A�Kw
I�A�GD
I�A�JpD�A�X��h���E�A�G V
IAK|
DAGD
IAJ�
AAJ\
DAO@����	T����$4h����
E�G�R
AA��L�f�A������0HN
JKH�����F�B�B �B(�A0�A8�DP�
8A0A(B BBBF����4W�L�(����Ny�M�PD�����G�A�D �X�D�B�F ���A
DBI]
�G�B�J���t��d�B�B �B(�A0�A8�G@b8D�0A�(B� B�B�B�n@������D
8A0A(B BBBB�8G�0A�(B� B�B�B�W@������D8I�0A�(B� B�B�B�4T�x��J�n
�HF�R�]
�KF
�JI�d�����_E�A�G \
AAED
AAJ`
DAKa
DAJD
IAJP
GAHd�����2X�B�D �D(�D0�
(G� A�B�B�EH
(D� A�B�B�O\(I� A�B�B�D\����dg�A�A ���A�B�t ���X
�A�B�MD�����gg�A�A ���A�B�t ���`
�A�B�EL����Ag�B�A �A(�G0�(D� A�B�B�^0����p����P<���Qg�B�B �A(�A0���(A� B�B�B�U0�����p�����8����jN�R
�H�
Fh
�HI
�GP�A�t��@��Qg�B�B �B(�A0�D8�D`b
8D�0A�(B� B�B�B�K@������P`������@������`D�(��|d�B�B �A(�A0��
�(A� E�B�B�Me�(A� B�B�B�t0�������D��y�o�(�����zF�A�D �n
ABDH��<���N�A�G M
H�A�LD
DAG]
D�A�F`��<����P����>H mh���#MN������(��A�jE�(�����rF�A�D �f
ABDH����2F�B�B �B(�A0�A8�D`-
8A0A(B BBBGX(����\�B�A �A(�G0}(G� A�B�B�p0����D(I� A�B�B���X��[�_
Fa�(�����EJ�D�D cDAF�������YJ�C�,��@��M�I�D �]
ABF(����E�D�D �
DAIH�T��)\�p��1S�R�Lx�����}�A�H W
AAAL��A ��D
CAADC�A�0����QA�D�G ]
AAEWDAP��@���F�A�H 
AAHL��L ��D
F�A�EQCAA��PP����J�C�D0�
AAJ�
AAL���L0��\��E0����x��	(��t��lJ�D q
AHOAH�d�����B�B�B �B(�A0�A8�Dp�
8C0A(B BBBDH
8A0A(B BBBF<L���b�A�A �G0o D�A�B�W0��� �����LJ�D lAE������y�oH�(��`��E�D�D0s
AAF(����IJ�D�D aDAH��|$���4O�B�A �A(�G0[
(D� A�B�B�JB
(A� A�B�B�HI
(D� A�B�B�FX����H0����H�����xB�B�B �B(�A0�A8�D`H
8D0A(B BBBE8�����B�B�D �D(�G0
(D ABBHt,�����Z�B�A �A(�G@E
(J� A�B�B�Gp����H@����d
(A ABBFC
(A ABBG\������F�E�A �A(�D0s
(D ABBCd
(D ABBCe
(D ABBB������V�B�E �E(�D0�A8�GPb������HP������e
8J�0A�(B� B�B�B�HH
8G�0D�(B� B�B�B�MM
8C0A(B BBBG�
8A0A(B BBBE���`��<Z�B�E �B(�D0�A8�GP�8A0A(B BBBC������HP������h
8D�0A�(B� B�B�B�K<
8J�0D�(B� B�B�B�EX���qQ�d
Ka�0x�d���E�A�G0N
AACdDA0������E�A�G0N
AACdDA0�����E�A�G0N
AACdDA0�x���E�A�G0N
AACdDA<H�����E�A�G0a
AAHe
DANYAAL��d���R�E�C �G0U D�A�B�k0���f
 I�A�B�F ������c�q
Da� ������c�q
Da�( �|
��7c��
Fe�s�N L����qL�Y
KvJ��p����B�Q�B �B(�A0�A8�GpnxM�B�B�VpPx`�A�B�Ipi
8A0A(B BBBA�x[�B�B�IpJx[�A�B�Ip�x^�B�B�Ip�xZ�B�B�Lp�xO�M�B�Ip�x^�B�B�IpM
xM�B�B�Etl���fB�G�B �D(�A0�8K@BHBPV0A
(A BBBAX8Y@DHBPM0h8P@BHBPM0x8K@BHBPH��� ���B�G�A �A(�G0�8V@BHBPL0T
(A ABBAH0�<"���B�E�A �A(�D0g
(A ABBA�8U@BHBPM0H|��#��QB�G�B �A(�A0��8V@BHBPL0K(A BBBD���$���B�J�A �A(�D0�8U@BHBPM0\(A ABB��%��*A�b
EA80��%��UB�I�A ��(U0B8B@M }ABhl�'���B�B�B �A(�A0��8M@JHBPI0M
(A BBBA}8V@BHBPL0s(F BBBT���(���L�D�D ��(M0G8B@I r
ABEA
IBED(M0G8B@I �0��)��	B�G�E �B(�A0�A8�DP'X^`BhBpIPD
8A0A(B BBBAN
8D0A(B BBBBYXL`EhApNP�
8I0A(B BBBEH��l2��eA�F�G �
AAAY(^0B8B@I 
(^0B8B@I <��4���O�a�H�Y
GL
LD
DL
Tj
FC\� 5�����jE�`x��5���F�D�D �G0�
 AABB_
 AABEM
 AABGd
 GABJt� 7��K�B�E �B(�A0�A8�D��
8A0A(B BBBFp8I�0A�(B� B�B�B�N��������T��9��'B�E�E �E(�A0�D8�G@GH[PXHA@Q
8A0A(B BBBED
8P0A(B BBBKd
8D0A(B BBBOl�`:���
B�B�E �B(�A0�A8�G�i
8C0A(B BBBG&�K�R�B�W�Q�K�B�HL��G��B�B�B �B(�A0�A8�D`�
8A0A(B BBBJH���N���B�B�B �B(�A0�A8�D`�
8A0A(B BBBBH��]���B�B�B �B(�A0�A8�DP�
8C0A(B BBBF00�lb��*B�A�A �D0�
 AABDpd�hd���B�B�B �B(�A0�A8�DP�
8D0A(B BBBG�XQ`JhBpBxB�E�A�D�B�IP`��e��MF�B�B �D(�D0�Q
(A BBBF�
(A BBBF}
(A BBBD<��f��P��f��HH z
Al�g��H��g��N�A�G k
F�A�H�AAJ��H ��DI�A�l��g��!F�B�A �A(�D0D
(D ABBED
(C DBBAO8Q@FHBPBXB`EhApDxB�I0<��h��)4P��h��KJ�D�J M
G�A�KDCAH�����h��	���h��uE�V(��$k���E�I�D �
DAH4��k��;DM K(D0B8B@BHAPDXB`BhBpI���k��B�E�E �A(�C0��
(H IBBGD8K@BHBPBXB`BhBpBxB�B�A�S0A
(A BBBKD8H@BHBPAXB`AhBpBxB�B�A�,��Pl���B�A�D ��
ABC��m��	H��m���F�B�B �B(�A0�D8�G`n
8D0A(B BBBEL��t��I8`��t��IDSL G(D0B8B@BHAPDXB`BhBpI8���t��CDMJ A(G0B8B@BHBPGXB`BhApK(�u��QF�A�G zD�A�4�8u��^B�D�D �X
ABKfAB\<�`u�� P�B�A �A(�D0`(A ABBB����H0�����
(G� H�G�B�EH�� v���B�B�B �B(�A0�A8�D@l
8D0A(B BBBI�tv��C(���v���E�A�D h
DAI,(�$w��!O�A�A ��A�B�X�$x��Ll�0x���#B�B�B �B(�A0�C8�G�
8A0A(B BBBG$zRx��������,��
8��d����F�B�A �A(�D0�
(C ABBE44�؛��AJ�D�F N
I�A�EDFAA��l������,�����F�A�A �q
ABD�H��� �D���Ka�V
IFA�0��p���J�A�G �
D�A�JP��0L���;F\
FP0Pl���B�K�D �D@�
 AABHH�X���rB�B�B �B(�A0�A8�GP
8A0A(B BBBF4������B�A�A �G� I� �
 AABCL4����T�E�D �D(�D0@
(D ADBHK(A CBBA����DX����UB�F�B �D(�A0�J�]
0A(A BBBBH������B�B�B �B(�A0�A8�DP�
8A0A(B BBBE8�0����B�B�A �I(�D0R
(D ABBC(ԧ��KTb(@����E��
MZ
FA
GRl�����tG
EP�D���UO�B�A �A(�G0�
(A ABBIo
(D ABBHq�����P�����\����F�B�B �B(�A0�A8�D���N�F�C�U�^�P�T�A�`
8D0A(B BBBE��H�_�A��
�H�J�h���=HbI I�����HB O�����"8�����%F�B�A �A(�DP�
(A ABBD0�����F�A�A �D@�
 AABFDh���Xt���l�������������������`�����LB�B�B �A(�D0��
(D BBBEA
(A BBBHO
(A BBBJ8 �����B�A�D ��
CBF�
WBF\ ���wHn8t�����F�E�E �K(�D0��(A IIB,�,����F�A�A ��
ABD(����E��
MZ
FA
GR�����T�
E8(T����M�A�I ��
ABFT
ABA0d����N�A�G w
A�A�IH�������(�����E�A�G��
AAI �t����E�G�n
AET���k
F�B�B �A(�A0�G�C
0A(A BBBB��N�T�A�4T��rF�D�C �E
ABKNAB(�`��$E�A�G��
AAI(�d��E�A�G��
AAD|�X��JF�B�A �A(�G���K�M�A��
(A ABBB��P�F�F�F�F�Q��H�]�A�Ld(���F�B�B �B(�A0�A8�G�*
8A0A(B BBBGl�h���F�B�B �B(�A0�A8�G� L�%j
8A0A(B BBBKK�%H�%A�%I�%E�%A�%_�%4$	����F�A�A �G�L
 AABAP\	p��F�B�B �B(�A0�A8�G� L�"�
8A0A(B BBBD4�	<�|E�A�D t
CAFN
CAF�	��oE�i
��_J�NA�4$
�`�I�J w
AADHAAA��4\
��;DM K(D0B8B@BHAPDXB`BhBpIx�
���B�B�E �B(�A0�A8�DP
8C0A(B BBBC`
8A0A(B BBBFf
8A0A(B BBBA<,�=DF B(B0A8G@BHAPDXH`GhBpBxA�K0P,��B�A�A �G��
 AABE8����I�D�H �L
ABDR
ABC(�<��A�D�J��
AAD ���A�V��
AC��3IV
AH`0��mG�B�I �E(�D0�D8�GP[
8A0A(B BBBEX������HP������8���lZ�K�G T��H ��V
I�A�H,���H�A�A �n
ABE
��(
��YJ�D�D xD�A�$@
���J��
E]
CG�Hh
��QB�E�E �E(�D0�H8�DP�
8D0A(B BBBFx�
��`B�B�B �B(�A0�D8�G`
8D0A(B BBBFXhLpZhA`MhNp\hD`RhNpThB`lhNpXhB`�0���K�B�B �E(�D0�D8�G`\
8A0A(B BBBGphMp\hB`ahMp\hB`a������H`������fhMp[hA`hhMpThA`NhMp[hA`]hMp\hB`]hMpXhB`]hMp\hB`]hMp[hA`^hNpUhA`H���K�A�D �J0~
 AABD~ AABF���H0���H\ ����T�A�D �s
ABAQ
ABDq
CBAI���H������B�B�B �B(�A0�A8�D��
8A0A(B BBBA����:Du(���aJ�D�D JA�A� 8D���oE�D t
AB8\����WF�E�A �A(�D0�
(D ABBA�������V�B�B �B(�A0�A8�G@l
8C0A(B BBBC�
8A0A(B BBBD|HNPQHA@������F@������DHJPUHA@t0���qB�B�B �B(�A0�D8�G�K
8A0A(B BBBG`
8A0A(B BBBF4�N�P�D�H���JB�B�E �B(�A0�D8�J@�
8D0A(B BBBC�
���
���B�B�B �B(�A0�A8�G�,
8G0D(B BBBH\
8A0A(B BBBED�K�R�A�c
8A0A(B BBBFX�t
��<K�A�A �G0T
 AABDf
 AABF_ AABE���C0���D�X���F�D�A �P
ABBF
ABGP
ABE,<���F�A�A ��
ABHLl����^�A�D �f
ABDR
�D�B�HA
CBJh���L�����^�A�D �f
ABDR
�D�B�HA
CBJh���tP��y[�B�D �D(�G0d
(A ABBJ_
(D� A�B�B�HM
(C ABBKx����H0����@�X���^�A�D �f
�A�B�LU
ABHh���\����r�B�B �A(�A0���(D� B�B�B�L0�����A
(A BBBA�(���(O�B�B �E(�D0�D8�GPH
8G�0A�(B� B�B�B�IR
8A0A(B BBBD�������DP������`�,��@X�B�B �A(�D0�`
(A BBBH�
(A BBBBp�����F0�������PO�]D�P�48��j`PpIPT���rR�B�B �B(�A0�A8�D@A
8A�0A�(B� B�B�B�E �����K�x
Em
A<� ���O�B�K �K(�G0�(A ABBA��������Q�}
�J,p��=K�R
KPL���=K�R
KP(l���?E�D�G U
GAK����=K�R
KP ����IP�R
�NP�(����L�D�D �~
ABK���GK�s
B$��GK�m
H@<��(T8���E�A�F B
AAH,����vF�A�G �C
ABD��� �(��IE�D i
AE,�T���L�A�D �Y
ABCL����F�B�D �D(�G0o
(A ABBDD
(C ABBD4h����L�A�D �q
ABKA
CBJ@�����E�A�G Z
DALD
CAH`HAD�� ���E�A�G Z
DALD
CAH`HA,`!��	@\!��%TPXt!��E��
Mxd#��9Hl(��#��QE�D�G j
AAL$��#��<E�D�G eAA��#��$��#��JE�D�D wDA $��$4$��JE�D�D wDA(\@$��QE�D�D o
DAG(�t$��QE�D�D o
DAG��$��0HT
DI��$��0HT
DI��$��0HT
DI�$��0HT
DI$4�$��9E�C�D hCA\%��0HT
DI$|%��9E�C�D hCA�(%��.HT
DI�8%��.HT
DI�H%��0HT
DI$X%��9E�C�D hCA,p%��0HT
DIL�%��0HT
DIl�%��0HT
DI��%��0HT
DI��%��0HT
DI$��%��9E�C�D hCA��%��0HT
DI$�%��9E�C�D hCA<&��0HT
DI$\&��=E�D�D jDA�(&��0HT
DI$�8&��9E�C�D hCA�P&��0HT
DI$�`&��9E�C�D hCAx&��0HT
DI$4�&��9E�C�D hCA\�&��0HT
DI$|�&��9E�C�D hCA��&��*HT
DI��&��0HT
DI$��&��9E�C�D hCA '��0HT
DI$, '��9E�C�D hCAT ('��0HT
DI$t 8'��9E�C�D hCA� P'��0HT
DI� `'��0HT
DI� p'��0HT
DI� �'��0HT
DI!�'��0Hc4!�'��E�SP!�'��?E�`
KN p!�'��1P�K
�EI��!�'���!�'���!(��RE�`
Ka �!@(��AP�K
�ER�,"l(���Z�A�A �Q
�A�B�H0"�(��KY�a
�FP"�(��!d")��!x"$)��4�" )���E�A�F t
DAKq
DAJ�"�)��!RI�"�)���"�)��#�)���#�*��]H}
K4#�*��>dY4L#�*��;DM K(D0B8B@BHAPDXB`BhBpI4�#�*��;DM K(D0B8B@BHAPDXB`BhBpIX�#+���K�E�A �A(�L@�
(A ABBH�(A ABBA����C@����8$�,��HDOP F(D0B8B@BHBPBXB`BhApK4T$�,��;DM K(D0B8B@BHAPDXB`BhBpID�$�,���K�A�A �n
�A�B�BK
�A�F�FP�����$8-���K�B�E �E(�A0�A8�G@r
8A0A(B BBBDY
8H�0A�(B� B�B�B�F�8H�0A�(B� B�B�B�\%P.��X@p%�.��A�A�D �
GAGR
CAJB
CAAL�%x/��`B�B�B �A(�A0��
(D FBBGP
(D BBBF&�0��98&�0���}�D�G UAAA��X ��LA�A� T&(1��JF�ZH�H�Q<x&T1���A�A�D f
FAEi
FAHPCA�&�1��	L�&�1��@F�B�A �A(�D0�
(A ABBDP
(C ABBH'�2���HPA
G88'D3��FDTI C(D0B8B@BHAPDXB`BhEpI<t'X3��tG�I�E �D(�D0�L(A BBBA�����(�'�3��RA�A�D v
AAA��'�3��^B�B�B �B(�A0�A8�D��
8A0A(B BBBD;
8D0A(B BBBHW�I�H�D�B�B�B�A�D�B�B�E�I�C	�J�C�M�H�B�B�B�B�B�B�E�I�H�(XG��@F�B�B �B(�A0�A8�DP
8C0A(B BBBF)LI��&HB [H)`I��F�B�B �B(�A0�A8�DPs
8D0A(B BBBF`h)4J���F�B�B �E(�A0�A8�DPN
8D0A(B BBBHp
8A0A(B BBBA4�)�J��kF�A�A �{
ABJD
AEF*�J��:<*K���O�D�A �L0M AABG���C0���X*dK��:l*�K��T�*�K��>�*L����*�L��W�*�L��d�*,M��w�*�M��<�*�M��X+N��E�X0(+N��{K�A�D �k
ABBx���<\+`N���O�E�A �A(�D0l(A ABBD����`�+�N���F�B�B �B(�A0�A8�DP�
8D0A(B BBBKT
8F0A(B BBBMt,LO��F�B�B �E(�A0�D8�FP�
8D0A(B BBBDs
8A0A(B BBBKD8D0A(B BBBx,�O��H(�,0P���E�D�G��
AAH(�,�P��FO�J�V NAAA���,Q��8(�,DQ��;J�D�G II�A�$-XQ���8-R��L- S���`-�S��s(t-8T��^N�A�G vDAG���-lT��\d�-�T���O�B�B �B(�D0�A8�D@�
8F0A(B BBBEN8A0A(B BBBA������.@U���80.�U���F�A�A ��
ABCC
DBAl.�V��/A�m�.�V��/A�m�.�V���L��
A(�.hW��RE�A�D �
DAG�.�X��K4/�X���J�I�G0J
AAJP��H0��</PY��P/\Y��d0d/�Y��YJ�A�G j
D�A�GP���/�Y���H�/�Z��jY�A�D �r���p ���p
ABEK
ABJ4�/�[��,b�A�A �ABI���P ���00�]���D0H^��X0T^��cl0�^����0L_��`�0�_���0�_��~�0`��qL�0l`��`F�B�A �A(�D0
(D ABBH<
(G DBBEL 1|c���F�B�A �A(�D0
(D ABBFx
(D ABBAp1�d��v�1he��	L�1de���F�B�B �A(�A0�
(D BBBDc
(D BBBK$�1�f���J�L eAD�H �42<g��E�A�D �
DACn
DAE(H2$h���E�A�G N
CAAt2�h��v�2i���dR�2|i���(�2j��IF�A�G mD�A�D�2,j���[�H�F �H(�F0Z(A ABBI����H0����8(3tj��ODUM I(D0B8B@AHCPDXB`BhBpI4d3�j���J�D�G O
AAJ{��F ��$�30k���A�@
GN
Aa<�3�k��^DXM G(D0A8D@AHCPDXB`BhEpIEd4�k��\T�B�B �B(�A0�A8�D@
8A0A(B BBBFr������f@������`l4�m��vO�B�B �B(�D0�A8�F`
8A0A(B BBBG�������A`������H�4�n��B�E�B �B(�A0�A8�DP�
8A0A(B BBBG(5�o���A�A�G [
AAJH5�p��V^�oC� d5�p��[A�L i
AI(�5q��PA�D�G0I
SCE(�58q��WA�G�G0I
PCE(�5lq��WA�G�G0I
PCE,6�q��yI�I�C �H
ABH8<6�q��B�E�A �D(�G0s
(A ABBD(x6�r���A�I�D b
DAK�6(s���4�6�y���R�D�G �
AAK`��H ��T�6�{���f�B�B �B(�A0�A8�D`Q
8A0A(B BBBC�������HH7����B�B�D �A(�D0u
(D ABBEK(D ABB,�7h����K�H�A ���A�B��7�����x�c�7|����|�7�����P�B�B �B(�A0�A8�D`*
8A0A(B BBBH]
8A0A(B BBBA~8F0A(B BBBC������t8X���fL�8����0B�B�B �D(�A0��
(A BBBH`(A BBBx�8�����B�B�B �B(�A0�A8�DP�
8A0A(B BBBGI
8H0A(B BBBFR
8A0A(B BBBL\T9�����A�A�G �
AAKs
AAKD(J0I(A D
AAB*
DAI�9��qT\x�9P���B�A�A �y
ABHR
ABKW(K0L(F y
ABH�
HBKU(K0N(E �(K0I(A HH:��B�H�A �G@:
 AABHDHLPNHE@�
HMPE0�:(����A�A�G 
AAF`KA|�:�9B�B�B �B(�A0�A8�D`5
8A0A(B BBBCD
8G0A(B BBBE
8A0D(B BBBI�H;����3B�A�A �g
ABJd
ABAc
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJF
ABGC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJk
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABE`(=���B�B�A �A(�D0�
(D ABBHB
(D ABBE^
(E AEBE`�=�����B�G�B �B(�A0�D8�D`y
8A0A(B BBBGg
8A0A(B BBBGH�=�����B�B�B �H(�A0�A8�D@C
8D0A(B BBBDH<>P���$B�H�B �B(�A0�A8�D`�
8A0A(B BBBAH�>4���,B�B�B �B(�A0�A8�G`�
8D0A(B BBBEL�>����B�D�A �G0h
 CABDZ
 AABBD FAB8$?x����B�G�A �A(�G0r
(A ABBF8`?̲��`B�B�A �A(�G@�
(A ABBF<�?��F�B�B �A(�A0�
(A BBBF,�?p����O�H�A ���A�B�@0���L @,����F�B�B �B(�A0�A8�G�%
8A0A(B BBBDp@�����@����G��@Ժ���O�J�B �J(�A0�A8�N@�
8A0A(B BBBE�������H@������D8N�0H�(B� B�B�B�LA��$F�B�B �B(�A0�A8�G�*
8A0A(B BBBG,lA���O�H�A ���A�B��A����A���pE�L
GW<�A,���b�D�A �D0� AABA���F0���LB���aB�J�B �B(�A0�A8�D�
8D0A(B BBBH<`B����E�A�D �
DACN
DAEfDA�B���
�B����B���&h�B����f�J�E �E(�A0�D8�G@
8A0A(B BBBAL
8C0A(B BBBHP������HHCD��}F�B�B �B(�A0�A8�D`�
8D0A(B BBBCL�Cx��F�B�B �E(�A0�A8�G�	
8A0A(B BBBEH�CH��-F�B�B �B(�A0�A8�Dpm
8D0A(B BBBDH0D,��dF�B�B �B(�A0�A8�DPD8D0A(B BBBH|DP��
F�B�B �B(�D0�A8�Dp�
8D0A(B BBBD`�D��1F�B�B �B(�A0�A8�GP�
8D0A(B BBBDD
8C0A(B BBBH0,E���<E�A�D _
DABFDA<`E���NE�A�D ^
DACF
DAEHDA\�E���F�B�A �A(�D@D
(D ABBET
(F ABBAH
(D ABBG0Fl��?K�D�C �^
ABAG���<4Fx��^E�C�G f
DAFF
DAEHDA<tF���^E�C�G f
DAFF
DAEHDA�F���;Q�[��F���#�F���x�Fd��LG��!B�B�B �A(�A0��
(A BBBCy(A BBB(\G��IG�H�A �l�A�B��G��D�G���K�D�A �q
ABDA
CBBDABA����GH�T]�]F�H���(Hh�KB�A�H �{AB(@H��9J�A�D cAAD��lH��	�H��!�H��+�H��+�H��+�H�)�H(�+�HD�+I`�+ I|�)4I��)HI��)\I��)pI��)�I�)�I$�)�I@�)�I\�)�Ix�V�I��"A�\,J���B�D�A ��
HBH(4Jh��A�D�G G
AAK,`J��B�D�A �G
ABG�J��)4�J���B�D�D �h
ABKYEB�J@��(�J���A�D�G0�
AAF<K���B�B�A �A(�G��
(A ABBD0\K�\A�A�D ~
DAGFDAD�K<��L�D�D �M
�D�B�ICABJ���H ���D�K���L�D�D �M
�D�B�ICABJ���H ���D L���L�D�D �M
�D�B�ICABJ���H ���DhLD�eK�D�D ��
CBB[
AEGAFBA���8�Ll�
B�B�A �A(�G@�
(A ABBH��L@�LB�B�B �B(�A0�A8�D�k�E�G�B�B�H�B�B�B�B�B�B�A�B�I�X
8A0A(B BBBE#�B�B�B�B�K�D�B�B�B�B�H�A�B�^�<�M��`DcB A(G0B8B@BHHPEXB`BhBpIE�M��%HN����B�B�B �B(�A0�A8�Dp�
8A0A(B BBBD@TN�����K�D�D �j
�D�B�MC
ABJp���d�NT����B�B�E �E(�A0�D8�DPP
8A0A(B BBBG�
8C0A(B BBBF,O��QG�H�A �wABF���0O���8DOH���Q4XO����QF�A�D j
AAIDA�A��O����F@�O�����X�A�D O
AABP��H ��LAAJ���Od���=P�O�����L�E�B �D(�D0�e
(A BBBIA(C BBBA�����PP���d dP8���7DV
FG
IF8�PT����D�E�E �D(�D0��(H BBB�P���Q]�hK��P���Q]�hK��P`���Q]�hK�Q����-A�i4Q����! HQ���aJ�F
�HAG�HlQ ����B�B�B �E(�D0�A8�DP�
8A0A(B BBBA�Qd��ND ^
F �Q���IA�G S
ADH�Q���B�B�B �B(�A0�A8�D@�
8D0A(B BBBG(DR����A�I�D X
DAEpR\���H�U
C(�R���GB�D�D �yABT�R����B�E�E �D(�D0�L@C
0A(A BBBEA0A(A BBBHSX��sB�B�B �B(�A0�A8�D@�
8D0A(B BBBE\`S����B�B�A �A(�D0v
(D ABBGY
(D ABBFD
(F ABBI<�S,���B�B�B �A(�A0�n
(A BBBCLT����B�B�A �A(�D0h
(D ABBED
(F ABBA PT���_A�L a
AA`tT8���T�E�E �D(�A0��
(A BBBDK
(A BBBFA(F BBBA�����H�T����I�E�E �D(�I0�I
(A BBBHg(A BBB,$U8���B�A�A �c
ABF$TU����A�^
A[
A`<|U 	���E�I�G J
AAGN
AAHTLK �U�	��fA�L i
AI4�U�	��qF�A�G {
A�A�EDN�H�HV$
��GB�B�B �B(�A0�A8�GP�
8A0A(B BBBGdV(��	\xV$���O�I�L �
�D�P�H[
ABB���H ���A
�D�G�L(�Vt��YA�G�D q
DAF@W���\B�K�D �V
CBDC
AFFPAD<HW����R�D�D oAAE��H ��D
CAHD�W���B�A�D �_
DBLj
ABKA
GBF0�W����A�I�D S
DAJgDA0X8��\A�J�D q
DAKFDA88Xd���B�E�G �A(�G0V
(D ABBK`tX����B�B�B �B(�A0�A8�DPn
8A0A(B BBBJf
8F0A(B BBBK8�X����A�D�G@THOPNXD`N@~
AAA`Y����B�J�B �B(�A0�A8�G���L�G�B�N�a
8A0A(B BBBD@xY4���B�D�D �L@fHJPJXA`N@~
 AABAP�Y����B�B�E �D(�K0�G@aHJPLXF`N@{
0A(A BBBAXZ����B�B�B �E(�D0�D8�J`shBpBxB�N`b
8A0A(B BBBAPlZ���B�E�E �D(�D0�JP�XB`BhBpNPf
0A(A BBBG0�Z\��HB�D�D �G0
 AABG0�Zx%���B�G�D �I0d
 AABAd([�%���B�E�G �E(�D0�D8�GPiXH`WXAPf
8A0A(B BBBEM
XI`JD
XI`B8�[L&���B�E�D �D(�J@p
(A ABBA\�[�&��WB�E�B �B(�A0�A8�G���B�B�A�W�[
8A0A(B BBBAX,\�'��7B�B�B �B(�D0�D8�G`�hBpBxB�R`b
8A0A(B BBBCh�\�(���B�H�E �D(�D0�Q
(C BBBGh8L@BHBPV0F
(A BBBED8L@BHBP��\)���B�B�A �D(�D0t
(D ABBFb8J@PHBPM0D
(A DBBHD8N@IHBPM0D
(A DBBId8N@LHBPM0L�](+��pDdH D(D0D8D@DHBPBXB`BhBpBxB�B�A�NEd�]H+��B�E�E �E(�D0�D8�Jp�xB�B�B�D�A�Ipk
8A0A(B BBBDH<^/���B�B�D �D(�Q0�8K@LHBPI0I
(A ABBFX�^t0��B�B�B �E(�D0�D8�Q@NHKPLXB`I@I
8A0A(B BBBIh�^82��	B�E�E �B(�D0�G8�G`�
8A0A(B BBBFLhHpLxD�Q`OhQpCxI�M`8P_�3��FB�E�E �D(�K0�S(M BBBH�_�3��dB�E�G �G(�G0N
(J GBBIU(A ABBX�_4���B�B�E �E(�K0�A8�D@i
8C0A(B BBBEZHHPLXD`I@H4`�4���B�H�D �A(�D0u
(C ABBHG8H@LHDPI0P�`5���B�B�H �A(�D0�t
(D BBBAN8A@KHJPW0Q8D@�`�5��,A�^
IC`�`�5���B�E�E �E(�D0�D8�D`LhGpKxL�D�A�N`~
8A0A(B BBBFLXad6��QT�D�D �PABA���H ���B(N0X(A �(B0J(B L�at7���B�E�F �D(�G@mHDPKXI`DhApN@b
(A ABBA(�a�7���O�QH�H�l
DlT$b(8���B�E�E �G(�D0�G@mHDPKXH`DhApN@b
0A(A BBBA`|b�8��B�B�B �E(�G0�D8�G`xhJpExB�D�A�W`|
8A0A(B BBBA$�b,9�� ��JP HDAH�4c$:���M�W
DZF�P�JJ SFAp@c|:��+K�E�D �D(�D0�
(A ABBFQ
(C ABBGB8K@T8A0I
(A ABBGX����h�c8;��GB�E�E �E(�K0�D8�F@�HKPPHA@V
8A0A(B BBBC\8A0A(B BBBh d<���B�E�D �K(�G0E
(A ABBHD
(A ABBFB8J@OHBPI0L8J@OHBPI0�d�<��
x�d�<���B�E�B �E(�A0�A8�DP�
8A0A(B BBBGr
8A0A(B BBBDD
8C0A(B BBBAHe�=��B�E�B �E(�D0�D8�G`T
8A0A(B BBBE(hed?��@A�A�D @
CAF,�ex@���B�A�D �
ABID�eHB���B�A�D ��
ABG^
ABGd
ABI\f�C��|B�G�B �B(�A0�A8�G�A�D�_�A�B
8A0A(B BBBIlf�K��C_Y��fL��
B�B�E �E(�A0�A8�J�z�B�B�B�b�d
8A0A(B BBBF1�E�F�J�R��
�B�B�D�N�
�B�B�B�Eb
�B�E�D�K��M�E�D�R�^
�B�B�D�O�`g<Q���B�B�B �B(�A0�A8�D��G�B�D�a��
8A0A(B BBBAW�K�D�C�S�'�K�G�B�S��K�G�A�S�$zRx��������,���	�@h\U��7B�B�E �B(�D0�D8�G��
8A0A(B BBBB��B�l�A�s
�E�QS�B�V�B���H�O�A�O
�H�Bh�B�Z�A�L�D�V�B���B�U�A��G�Q�B�N�4$i�`��KDHN FAD
KBM FADH\i�`���B�E�E �L(�A0�C8�Gp�
8A0A(B BBBA\�iDb��IB�B�B �B(�A0�A8�D`�
8A0A(B BBBG�hHpLxA�S`�j4e��'B�B�B �B(�A0�A8�G`A
8D0A(B BBBA�hHpPhB`^hEpPhA`5
8K0A(B BBBH<�j�p��B�E�E �D(�D0�u
(A BBBH��j�q��FB�B�B �B(�A0�A8�DP
8A0A(B BBBCY
8A0A(B BBBE�
8A0A(B BBBED
8C0A(B BBBA�dkhs��yB�B�B �B(�A0�A8�D�
8A0A(B BBBD��U�B�A�[���H�N�G�Q�]�H�N�G�Q�
�Y�B�A�MZ�Z�B�B�M� �H�N�L�N��0l����B�B�E �B(�A0�A8�G�
8A0A(B BBBB��S�Y�B�5�H�N�A���H�O�B�#
�A�JG�L�N�B�I�c
�K�E��L�N�B�I�m�M�K�I�I�m�M�K�I�I�, m�����^�D uAH�H �iA�8Pml���YK�D�D �k
�G�B�IAABD���8�m����YK�D�D �k
�G�B�IAABD���@�m�����d�D�G z
AAE`��P ��eA�A�Pn@���qK�E�D �D(�G0k
(J� A�B�B�GD(A ABBF����``nl����B�E�E �E(�D0�D8�DPv
8A0A(B BBBCM
8A0A(B BBBIH�n���E�I�E �D(�A0�_8H@HHEPX0A
(C BBBB8o̝��fY�E�D �K(�G0R(J� D�B�B�4Lo����B�A�D �w
DBLN
ABGH�o�����B�B�B �B(�A0�A8�DP�
8A0A(B BBBGH�o�����B�B�B �B(�D0�A8�D`(
8A0A(B BBBE`pP����B�B�E �I(�D0�D8�D`�hIpShA`n
8D0A(B BBBAhLpH�p�����B�B�E �E(�D0�A8�G`.
8A0A(B BBBFl�p`����B�B�B �B(�A0�H8�N`�
8D0A(B BBBI�hOpOxA�N`ZhOpOxB�S`\<q����qB�E�J �A(�D0��
(D BBBCD
(A EBBBv(D BBB�q��Q,�q,����^�D uAH�H �iA�8�q����YK�D�D �k
�G�B�IAABD���r����;Hr,4r��aK�A�D �C�D�B�dr(���QJ�x�p�rl���TB�E�B �B(�A0�A8�D�:�I�\�A��
8A0A(B BBBK��N�S�A���rX���B�B�B �B(�D0�A8�D�T�N�S�A���O�Q�B�]
8A0A(B BBBIw�M�W�A���_�L�B�J�O�M�D�I�q�O�P�B���O�Q�B�P�O�Q�A�^�N�Q�A���M�R�A���s��B�E�B �E(�A0�D8�G�
8A0A(B BBBA�G�a�B���H�O�E�I���N�Q�B�I���G�O�G�Q�C�O�L�G�I�T�R�C�J�M�G�L�T�E�G�O�L�G�I�G
�L�BH�t@��B�B�B �E(�A0�A8�D`�
8A0A(B BBBA�8u��]
B�B�B �B(�D0�A8�D�`�N�K�A�b
8A0A(B BBBI��L�[�A�n�M�X�A�)�O�P�B���M�Z�A���I�B�B�Y�
�I�B�B�E�vd�|B�B�B �E(�A0�D8�D���L�Y�A�F�O�L�B�I�p�L�\�A��
8A0A(B BBBI��O�L�A�I�J�O�L�B�I���v4����B�B�B �B(�D0�F8�I��
8A0A(B BBBCW�E�B�B�^���Q�R�A�U�Q�S�B�
�I�B�B�EHTwH	���B�B�B �B(�A0�D8�D`�
8A0A(B BBBHH�w�
��B�B�B �E(�A0�A8�DPW
8A0A(B BBBF�w���+4x����O�D�A ��
�A�B�GP���H8x����B�B�B �E(�A0�A8�GP
8A0A(B BBBF4�x(��QO�A�D �'
�A�B�BP���8�xP��K�A�D ��
�H�B�K_�H�B��x4��	�y0���
B�E�B �E(�A0�D8�G`
8C0A(B BBBKqhNpJxB�Q`S
8A0A(B BBBG�hLpBxB�Z`\hNpJxB�Q`yhNpJxB�Q`>
8F0A(B BBBH�hHpPxB�Q`�
hLpBxB�FhPpThB`Hz<!���B�B�B �B(�A0�A8�GP,
8A0A(B BBBI0Lz�$��!W�L�S n
K�A�HH��0�z�%��\E�A�D y
DAHFDA4�z�%��JF�A�A �t
ABAFAB0�z�%��LE�A�D p
DAAFDA {&��6(4{8&���E�I�D e
DAD4`{�&��QJ�D�G g
AABLAAB��T�{�&��tO�B�B �A(�A0�
�(A� B�B�B�Hp�����H0�����4�{�(���O�A�A ��
�A�B�Ip����(|�)���F�B�B �B(�A0�A8�DPt
8A0A(B BBBH�XE`SXAP�XM`AhApXP�XN`LhBpMP�XI`QhApRP�XH`QhApMP[
XM`BhBpI�|�-���|�-��1�|�-��1}�-��9L }.��8"B�B�B �B(�A0�A8�G�=�K�\�B��
8A0A(B BBBF5�K�]�B�k�I�U���B�F�A��L�S�D�a�B�F�A�S�B�F�B���K�]�A��
�L�KB
�L�J��E�L�C�G�B�Q���L�R�B�@�D�K�A��D�X�A�k
�N�UR
�N�Mb
�N�Sj
�N�Pn�H�Q�A��
�N�M��L�R�A�g
�N�MX�N�R�E��
�N�MR�B�G�B�v�Q�F�A�B�B�F�A�(�B�F�A���B�G�A�W
�N�MV�B�G�B���K�]�B��
�N�M$zRx��������,W��	���M���B�B�B �B(�A0�A8�D��
8A0A(B BBBHp�I�\�B��G�Q�B�S���I�N�B�R�L�W�A�w�I�W�B���G�Q�B�S�f�L�T�B��
�I�Ok
�E�Hi�I�W�A�x
�L�B{�L�V�B�i
�L�ED�P�B�B�X��
�P�B�B�Ea
�I�Nk
�L�Ix
�L�ED�N�M�B�I�z
�L�EB
�L�Ej�L�B�B�_�Q
�L�B�B�B�
�L�Ek�O�B�A�N�?
�L�E�
�I�I���b��wW_`��c��sK�E�D �D(�G0}
(A ABBF�
(C ABBED(F ABBA������ d���B�E�E �B(�A0�A8�J���D�F�D�Y��
8A0A(B BBBJA�H�M�G�V�]�G�P�D�V��
�H�M�G�E�
�D�A�D�B\�D�A�A�[�C
�H�M�G�Ev
�D�H�D�J��k����$�Hl��PB�B�B �B(�A0�A8�D`
8A0A(B BBBIZhHpOhA`�hOpVhA`|hHp]hA`hLpRhB`ZhNpLhA`GhNpRhB`�hGp^hB`|̃�s��/B�B�B �E(�D0�A8�G`.hGpNxG�N`v
8A0A(B BBBAzhHpNxG�N`ihGpOxG�I`xL��v��oB�B�B �B(�A0�A8�D��H�N�G�N���B�F�A��
8A0A(B BBBI)�I�F�B�h�G�O�G�I���G�O�G�I� �G�H�B�V�v�H�J�B�Z
�I�B�A�P��G�[�A�q�G�[�B�k�H�S�B���I�G�A���B�R�A�>�N�M�B�M�a�I�G�B�w
�A�Jm�I�G�B���H�J�A���L�L�B�N�K�L�B�I�P�H�Q�A���M�I�A�n�N�M�B�I���I�O�G�N�P�I�O�G�N���L�B�B�V�I
�I�B�B�B]�L�S�A�e
�B�B�H�R�B�g�H�V�B�Ȇ����)L܆����GB�B�A �A(�D0�
(D ABBCL
(D DBBA�,�����	B�B�B �B(�D0�A8�D`2
8A0A(B BBBC�hHpFxB�N`�hNpJxB�N`�hNpOhA`MhNpJxB�N`�hNpOhA`dhNpJxB�N`hDpGhB`D�����B�B�B �B(�D0�D8�G���L�_�A�I�L�a�A��
8A0A(B BBBE��L�L�B�I��P�E�B�L�M�P�E�B�L�M�O�L�B�I�i�H�L�D�L���O�L�B�I�c�O�Q�E�X�M�T�A�Z�N�Q�B�I�|�O�Q�E�U�R�C�J�I�X,�P���;E�A�G0k8E@FHBPI0{8N@GHBPI0q
AAD�8N@LHBPI0��4���B�B�E �B(�A0�A8�G���L�M�B�N���N�L�B�I��
8A0A(B BBBBD�M�O�M�W�p�N�L�B�M�s�N�F�A���N�L�H�I���M�O�M�W���N�L�B�I�M�L�Q�B���K�a�B�g�N�I�B�Z�D�G�P�K�I���N�L�H�I���N�F�A���H�F�A�s�I�Q�B�I�M�M�L�C�K�P�I�Q�B�I�F�G�N�G�N��
�N�I�B�Jc�X�L�T�
�N�L�B�M�"�B�F�A�d��<��fF�B�B �B(�A0�A8�DP�
8A0A(B BBBA�
8A0A(B BBBEl�D���F�B�B �B(�A0�A8�D`DhIpFxF�P`o
8A0A(B BBBLD8A0A(B BBB(x����$A�A�G I
AADX������B�B�B �B(�A0�A8�GP�
8A0A(B BBBAUXN`LhBpIP���6�8��7(�d��<�p��>@P�����O�D�J ]
D�A�ID(K0P8B@LAAI��L������I�H�E �C(�A0��
(A BBBIf
(A BBBC����^R�G�����H����gF�B�B �B(�A0�A8�DP7
8C0A(B BBBK `���?O�`
�EFA���(����0��\��|��aĎ����؎t��6D����kW�B�A �A(��
 ABBIK����F(����p4�����B�F�H �A(�A0�1(D BBBC�����P0�����|(A EBBJ�����P0�������������p��wЏ�������B���5H�l�8�	(�4�3A�qD�X�*4X�t��W�D�D �
ABG��������vD F
F��P�8��\�|B�J�D �C(�D0#
(D ABBE����v8���R�F�A ��
ABEH�C�N�$L����Q�A�D ~AAt�(��,����$K�}
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HC����̒�����3������QS�uH�$$�8�3E�I�G [AA$L�P�.E�D�L VAA<t�X�K�B�A �H(�G0_(A ABBF����`����s
B�B�B �B(�A0�A8�D`d
8A0A(B BBBL
8D0A(B BBBD�����aB�B�B �A(�A0�D@\
0C(A BBBFm
0H(A BBBD�
0G(A BBBL�
0A(A BBBL�
0A(A BBBN�
0A(A BBBE0̔���SE�D�G Z
GANNCA����H$�����T�o
EuC�C�<<�P���s��C����
�MC
EX�H�P�\|����
B�B�B �B(�A0�D8�G��
8A0A(B BBBF��L�[�A���H�[�A�z�i�O�B���j�L�E���N�\�A�!�H�A�A�`�X�J�L�H�N�]�H�H�D���J�L�H�Z�t�l�K�B�U�H�O�A�u
�K�IV
�L�Fi
�H�A�A�M|
�H�Ev
�L�Ei
�L�Eܖ���HK IH������B�B�B �B(�A0�A8�D@r
8D0A(B BBBALD�h���,B�E�E �B(�D0�A8�G�a
8A0A(B BBBK���H��HK I���H��<ė�H���F�B�B �A(�A0��
(D BBBJ��I��fRuJ ID$��I���J�A�G T
AAH�(H0P(A ���D ��l�pM��6RHE P���M��#���M��#���M��	Ș�M��NܘN�����N��	��N��<��N��c�D�G y
AAGD
A�A�J���X�tO��l��O�����O�����O�����O�����O���O����O�����O��
��O�� ��O��4��O��H��O��\�P��p�P����P����$P����0P����<P��ԚHP���TP����`P���lP��$�xP��8��P��L��P��`��P��t��P�����P�����P�����P��ě�P��؛�P����P����P���Q��(�Q��<� Q��P�,Q��d�8Q��x�DQ����PQ����\Q����hQ��ȜtQ��ܜ�Q����Q����Q����Q��,��Q��@��Q��T��Q��h��Q��|��Q�����Q�����Q����R��̝R���R���(R���4R���@R��0�LR��D�XR��X�dR��l�pR����|R�����R�����R�����R��О�R����R�����R����R�� ��R��4��R��H��R��\��R��p��R����S����S���� S����,S��ԟ8S���DS����PS���\S��$�hS��8�tS��L��S��`��S��t��S�����S�����S�����S��Ġ�S��'ؠ�S����S����S���T��(�T��<� T��P�,T��d�8T��x�DT����PT����\T����hT��ȡtT��ܡ�T����T����T����T��,��T��@��T��T��T��h��T��|��T�����T�����T����U��̢U���U���(U���4U���@U��0�LU��D�XU��X�dU��.l��U��F���U��T��V����V��d��V���K�B�B �B(�A0�A8�D@P
8C0A(B BBBEH8A0A(B BBBF������$�8V��8�4V��L�0V��`�,V��t�(V����$V���� V����V��ĤV��ؤV���V���V���V��(�V��<�V��P��U��d��U��x��U�����U�����U�����U��ȥ�U��ܥ�U����U����U����U��F,�V��f@�lV��.T��V��.h��V��c|�W����W����W��$E�V
BFĦ(W��$E�V
BF(�8W��kE�A�D Q
AAC�|W��!8$��W���E�A�D Y(G0E8E@M r
AAK`��W��!t�X��!��$X��!��@X��)D��\X���O�B�B �A(�A0�
(A BBBEU�����(���Z��1B�A�A �U
ABDx$��[��#B�E�B �B(�D0�A8�DP�
8A0A(B BBBAD
8D0A(B BBBED8D0A(B BBB8��l^���B�A�C ��
ABGK
ABJ�ܨ _���B�B�B �D(�A0�n
(A BBBH�
(A BEBKA
(D BBBEA
(D BBBEA
(A BBBH(d�Ha���A�D�G c
CAE4��b���B�A�A �r
ABGnABDȩ�b��QK�B�A �D(�G0�
(D� A�B�B�Ih����@��c��B�E�E �A(�C0�FP�
0A(A BBBKT��d��AF�r�(p��d���E�D�J��
AAH(���e��	E�G�G��
AAD(Ȫtf���E�D�J��
AAG(�8g��	E�G�G��
AAD  �h���E�M��
AA D��h���E�M��
AAh�ti��I|��i��uA�u
Jt(��j��}B�D�D �Q
ABB8ȫdj���k�F�D �F
ABBAFBG���4�k���K�D�D ��
ABG����@<�`m���K�D�D �3
ABGw
ABFJ������n�� ��o��Kh�Q
GCE�(��4o��OB�A�A �U
ABDH�Xp���F�B�B �A(�A0��
(A BBBBV(A BBB,0�q���F�A�A �v
ABG,`��q���[�`
Ej
FV
�JJ�L��r���F�B�A �A(�D0.
(D ABBK�
(F ABBF@�Lu���F�C�D �z
ABFF
ABGo
ABF$$��u��$N��
DL
DN�0L��v��N�A�G q
D�A�Dp�����x����[[K8��\y���F�B�A �A(�D@�
(A ABBE`ܮ�z���e�B�A �A(�D0�
(A� A�B�B�KD
(C ABBDH(G� A�B�B�(@�|{���[�a
DP�P�jl� |��SV\
NF��`|���0���|��CF�A�A �D@W
 AABIDԯ�~��[�G�A �A(�D0U(A ABBE����H0��������K0����{D�x���5LX������Y�A�A �i
ABIJCBA���H ���R
ABC��4���E��p���qа܁��&��kD���RT�<���)[�H
�MH
�Hg
�IH
�HH
�HH
�HH
�HCE�H�Y�X����cl�p���Q������m�����k��t���w����Tб,���p�����#0������lE�A�D G
DAJFDA,���A@����ST�h���Ch������D|�0���lF�A�A ��
ABKH
ABEO
ABFIJX���زT����P���#0�l���dE�A�D E
DADFDA4�����#H�Ċ��\�����6p���t��X���#��t���#������#������b�Գ����q�B�B �B(�A0�A8�GP$8A0A(B BBBB������P�������
8F0A(B BBBH|
8A0C(B BBBH�������PP������`������hP������������� zRx�P������(,O�
,�ܗ���]�k
HOA�H�^
JJ�����S@$�ؘ��{Q�A�D g
A�A�IWAAG��H ��E��0h����:W�I�G w
AAH����� ���;8��L���{F�A�A ��
ABK[
DBG,�����6F�A�A �5
ABH�����0�����D�����X�����l�����-������E����8�����cVL��l���X Զ����|E��
F�
H$������E��
O�
EY �|���d4�ء��#HH���F�B�E �B(�A0�A8�DPU
8A0A(B BBBD��X���((��t����E�A�D �
DAA(Է(���5F�D�D �cABL�<���zF�E�E �F(�A0�{
(A BBBGF
(A BBBC8P�l���KK�E�D �D(�G0I(O� A�B�B�L�������F�B�B �A(�A0�R
(A BBBKF
(A BBBCHܸ�����F�B�B �B(�A0�A8�D@Q
8D0A(B BBBH@(�����W�D�G h
AAD`
AAFPCAA��Pl�����eP�E�D �D(�L0N
(M� D�B�B�ED(F ABBA����P��̩��jS�I�G �D(�G0N
(M� D�B�B�ED(F ABBA����<���VP�E�E �D(�G0�X�(C� B�B�B�PT����mO�I�D �D(�I0b
(D� A�B�B�ED(F ABBA����`��$����F�B�B �B(�A0�A8�D@z
8P0A(B BBBEN8F0A(B BBB�P����K�kJ�8(����B�E�E �A(�A0��(A BBB(d�(���AJ�A�G ]D�A�H��L����J�A�G h
AADK
CAAz
CAB���Dܻ����d�H�G M��P ��U
AAIa
FAH`��$�h���YF�J�H@�����qK�B�B �A(�A0�i
�(A� B�B�B�G������8�����K�B�A �A(�G0|(D� A�B�B�8ȼT���B�D�D �s
ABH�
FBH<�(���xDaQ A(D0B8B@BHAPDXB`BhBpIKLD�h����B�B�B �A(�A0�o
(A BBBBJ
(D BBBDD����J�D�G [
AAFo
D�A�Dx��H ��(ܽ�����A�D�G e
AAEd�D����DfQ A(D0B8B@BHAPDXB`BhBpID
BnD B(B0B8B@BHBPBXB`ID<p�����iD_D A(D0B8B@BHHPEXB`BhApLHL������K�F�D �C(�G0^
(A ABBEc(F ABBJ�����|���`�x���8X�B�E �E(�D0�K8�GP�
8A0A(B BBBJ�������DP������0x�T���kK�A�A �L
ABDG���H������=F�B�B �B(�A0�D8�D`�
8A0A(B BBBE ������NA�L e
AE4�����!B�A�D ��
ABKZAElT������A�A�G�u
AAHy�D�a�A�B
�D�S�
�D�Sa
�D�S�
�D�S4�Ȼ���P�K�G N��H ��i
I�M�Ii
I�M�Ii
I�M�Ii
I�M�Ii
I�M�Ia
I�M�Ii
I�M�Ia
I�M�Ia
I�M�Ii
I�M�Ii
I�M�Ig
F�A�J�
I�M�LD
N�H�Fg
F�A�JD
N�H�ND
N�H�FH
A�A�FiI�M�(��p���9F�D�G _AAF��P(�����B�B�B �A(�A0�`
(C BBBG+
(A BBBFL|�P���J�A�G H
AADD
CAHe
AAInG�A�,�����9B�A�A ��
ABGD�����aB�B�E �D(�A0�G�8
0A(A BBBKD���FX�T���l����iX��<��1K�H�E �D(�D0�p
(A BBBIH
(A BBBA@������� ��.��<��
H�8�� B�B�B �B(�D0�A8�DPu
8D0A(B BBBEP���Ud�X��s x����SO�^
CRN�(�����A�D�G0�
AAAL�����8F�B�D �D(�Q0M
(G ABBF�
(C ABBD$����.A�A�G ^DAh@�����K�B�D �A(�G0S
(A ABBFZ(D� A�B�B�M0����D(K� A�B�B�`��0���T�E�E �D(�A0��
(A BBBKp�����P0�����Q
(A BBBAH�l���B�B�B �B(�A0�A8�DP�
8D0A(B BBBK\����6MYPt�����L�D�D �B
ABGW�D�B�S ���H
�G�N�K@��t���E�G�J [
AAEf
AAHW
KAE������B�H�E �E(�A0�D8�JP~XJ`BhBpBxB�B�B�B�B�B�B�V8A0A(B BBBIPL
8A0A(B BBBBH����pB�E�E �B(�D0�A8�DP
8A0A(B BBBA���4��]V�E�E �D(�C0�G@|
0L�(A� B�B�B�K�0A(A BBBG�����H@�����u
0K�(A� B�B�B�I�p���#B�B�D �D(�G@�
(A ABBHl
(C ABBDc
(F ABBJe
(A ABBEi
(A ABBA ������A�i
Fg
A$�d���c�xE�H�Z�4@���/B�I�D �G��
 AABI<x��~G�D�A �~
ABCA
FBGX���d��D�Kg�B�B �B(�D0�A8�DP�
8A0A(B BBBAP8K�0A�(B� B�B�B�H �,�>
B�B�E �B(�A0�A8�D��
8D0A(B BBBH0l� �yA�D�K W
FABDCAL��l�F�B�B �B(�A0�A8�D��
8A0A(B BBBF(���]A�G�G0\
AACL�P�B�B�B �B(�A0�A8�D�j
8A0A(B BBBAHl� ���B�B�B �B(�D0�A8�G@@
8D0A(B BBBGH��d���B�B�E �B(�A0�A8�G@y
8D0A(B BBBFP����nK�A�A �G0�
 AABFV
 AABA����C0���\X����i[�H�E �E(�A0�D8�JP�8A0A(B BBBG������PP������������#F�B�B �B(�A0�A8�D�q
8A0A(B BBBC�
8A0A(B BBBB_
8K0A(B BBBE <����SO�^
CRN�X`����}B�I�B �E(�A0�D8�D@�
8D0A(B BBBD;HQPDHA@H�����$B�B�B �B(�A0�A8�DP�
8A0A(B BBBG��� ���Q�B�B �B(�D0�D8�DP0
8A0A(B BBBCO
8A0A(B BBBG�
8A0A(B BBBAR������H���"���B�E�B �B(�A0�A8�D��
8D0A(B BBBAH��p@��2B�E�B �B(�A0�A8�DP�
8C0A(B BBBBH(�dD���B�B�B �B(�A0�A8�D@�
8D0A(B BBBHdt�E��O�B�B �A(�D0��
(A BBBBP�����`0�����u
(A BBBD$���G���J�|
JV
JX�L�8H���B�B�A �D(�D0W
(D ABBCT
(D DBBA4T��H���N�D�D �
D�A�EQA�A�(��@I��QF�A�G wD�A�`��tI��/B�B�B �A(�A0��
(D BBBEC
(D BBBK�
(D BBBFH�@K���B�B�B �B(�A0�A8�D`n
8A0A(B BBBAHh��a��<B�B�B �E(�A0�A8�GP�
8D0A(B BBBFH���c��)B�B�B �B(�A0�A8�DPp
8D0A(B BBBE(�|d���A�D�D0b
AACH,�0f��sB�B�B �B(�D0�A8�DP�
8C0A(B BBBCLx�dj���B�B�B �B(�D0�A8�G��
8A0A(B BBBDH��n���B�E�B �B(�D0�A8�Dp
8A0A(B BBBK��o��9 (��o���E�O
Do
KL�pp��9Hp(d��p���E�A�D z
DAG8��q���F�A�A ��
ABEF
ABG4���q���E�A�D 
DABF
DAE8�r��!O�H�A ��
�A�B�GM�A�B�8@�s��)F�A�A �'
ABF
ABH|�v����v��5��8v��!@��Tv��NW�L�S 
N�H�EAK�H�t ����`x��a<��x��RW�D�G0[
AAA�
AADv��(P��y���O�b
GFB�A�_8|�`z���F�A�F �x
ABHF
CBE4��{���E�A�D i
AAKI
CAC(��l{���E�I�D �
DAB0�|��QN�A�G "
D�A�CP��P�<}��d�H}��!x�d}��5L���}��bF�B�B �B(�A0�A8�G�D
8A0A(B BBBE���������,����������<�T���B�E�E �D(�A0��
(D BBBAX�4���>Hl�`���JB�B�B �B(�A0�A8�D`�
8A0A(B BBBE��d�����`���qE�R
IP������GK�m
H��/TZ4 �����E�A�D �
DACR
DAIX�����PK�j
KO0x���LE�D�D V
DAHVDAx�����}O�B�A �A(�G0

(D� A�B�B�HK
(A� A�B�B�GD
(A ABBFP����A0����d(����ZX�B�E �E(�A0�A8�Dp8
8D0A(B BBBA�������Fp������H�������F�B�B �B(�A0�A8�DP�
8D0A(B BBBEt��`����O�B�B �B(�D0�A8�Dp

8D0A(B BBBH�
8I�0A�(B� B�B�B�EM������T���Th�4���|�@�����L���1��x���#������#������#��̕����ȕ��p�ĕ���A�tI A(B0B8B@BHDPEXB`BhApWK
IJ
FRK A(D0B8B@BHDPDXB`BhApKA8|�0���ZYNC A(D0B8B@BHDPDXB`BhApK8��T���ZYNC A(D0B8B@BHDPDXB`BhApK,��x���tF�A�A �Q
ABD$�Ȗ��@8�Ԗ��"N�A�G �
AABw
AAGX��H ��0|������N�A�G T
D�A�Ip��(��<����E�A�DPX
AAD@����fJ�A�G f
AAFP��H ��DD�A�l �����A�|D J(B0B8B@BHAPDXB`BhBpP_
CYF K(D0B8B@BHAPDXB`BhBpIAH��|���pN�A�G |
AADl
AAJmK�A�O ��H�������	B�B�B �E(�A0�A8�Gp�
8A0A(B BBBJL(����SF�B�B �B(�A0�A8�G�{
8A0A(B BBBFLx�$����B�B�E �D(�D0�`
(A BBBHY
(A BBBH\������B�B�G �E(�D0�D8�G��
8A0A(B BBBF�]�I�K�|(�T���6F�B�B �B(�A0�A8�D��
8K0A(B BBBOO
8A0A(B BBBG�
8D0A(B BBBO������#X�B�B �B(�D0�C8�G@r
8A0A(B BBBHB
8A0A(B BBBD`8A0A(B BBBF������H@������C
8D�0A�(B� B�B�B�HX�����l�����`�������T�B�E �D(�D0�W(A BBBG�����H0�����[�(A� B�B�B�\����tf�B�B �E(�D0�G8�J`i8A0A(B BBBI������H`������LD�����N�A�G M
A�A�Ko
A�A�ODAAJ��H ��L�������N�A�G M
A�A�Ko
A�A�ODAAJ��H ��l��(����A�mD A(D0B8B@BHAPEXB`BhApXY
GBL C(D0B8B@BHAPDXB`BhApKAHT�x���[�A�G r
AAID
L�H�H\L�H�P ��<��<���[�I�G ^
AAED
L�H�Hp��X�����3F�B�B �B(�A0�A8�D`�hOpBxB�[`Y
8A0A(B BBBGl<����lO�B�D �D(�G0X
(L� H�B�B�HU
(A ABBE�(C� A�B�B�Q0�����������O�B�D �D(�G0X
(L� H�B�B�HG
(A ABBKf
(F� H�B�B�Hz8e@AHDPBXB`BhBpBxB�B�B�I0K����H0����LP�����N�D�G0]
D�A�EZ
AADQ
AAE`��H0����\����X��#��t��#�����#�����&�����0����]Y�C�G ^
AAERAAL����HNd����Dx����HI0�����WE�A�D y
DAHDAA0��$��GE�A�D j
DAGDAA@��@��~E�A�G b
AAG}
AAI�
AAH(@�|��HB�A�D �}AB<l����sY�D�G ]FAH��H ��DCAH�������94����;DM K(D0B8B@BHBPBXB`BhApK4����RKN L(D0B8B@BHBPBXB`BhApKH0�<���B�B�J �B(�D0�A8�D`�
8A0A(B BBBA4|����4DL E(D0A8D@BHBPBXB`BhBpI�����2E�P
A����;HV
A(��@��fE�I�D �
DAK(����sE�E�D i
DAD(D����kE�C�D a
DAF,p����F�A�A �@
ABE8�����`F�J�I �A(�G��
(A ABBB@�����SF�B�B �A(�A0�G��
0A(A BBBF0 �����N�A�G s
D�A�B`��PT�X���F�B�B �A(�A0��
(A BBBEI
(F BBBC(������E�A�D g
CAK ��h��cJ�B
LFA�@������a�E�A �A(�G0�
(A ABBBP����H<�p���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBA(��$��GF�D�D �k
ABDH��H���B�B�B �B(�D0�A8�G@�
8D0A(B BBBG8����OF�A�A �@
FBHP
ABET<�����a�B�D �A(�G0�
(A ABBCP
(F ABBE�����H��x��RF�B�B �B(�A0�A8�D@�
8D0A(B BBBA8������F�A�A �J
CBIF
ABG8����3F�A�A �F
CBE{
ABJ(X����BA�A�D@d
AAD8����F�B�A �A(�D0a
(A ABBK$����+E�G�G IGC(����WE�A�G u
CAJ����K��
AH0����X�A�D �y
CBEX
ABAz
CBEP���(|� �GF�D�D �k
ABD(��D�fE�D�D u
CAA�����K��
A(��,�WE�A�G z
CAE�`��K��
GH8��IF�B�B �B(�A0�A8�Dp
8A0A(B BBBBH���4F�B�B �B(�A0�A8�D@X
8D0A(B BBBI(���WF�A�A �}
ABH��@��K��
A0���fU�D�A �n
ABEP���<L��gF�B�B �A(�A0�I
(A BBBD��@��K��
A(����OF�D�D �s
ABD(����WF�A�A �}
ABH�,��K��
A0���fU�D�A �p
ABCP���<P���gF�B�B �A(�A0�I
(A BBBD��,��K��
A@�����a�L�A �A(�J0�
(A ABBE�����4��|��E�A�D p
CABF
CAF((���OF�D�D �s
ABD(T��WF�A�A �}
ABH��<��K��
A0����2O�A�A ��
ABD����0����nE�A�D K
CAGICA(��OF�D�D �s
ABD(0�<�WE�A�G u
CAJ\�p�K��
AHx��DF�B�B �B(�A0�A8�DP�
8C0A(B BBBDT���a�E�A �A(�G0|
(A ABBGy
(C ABBG�����(������E�A�D l
CAF0H���SK�D�D �n
ABDG���(|����WF�A�A �}
ABH��D����K��
AT������a�E�A �A(�G0|
(A ABBGy
(C ABBG�����(�@����E�A�D l
CAF0H�����SK�D�D �n
ABDG���(|����WF�A�A �}
ABH������K��
AT�������a�B�E �D(�A0�w
(F BBBH�
(A BBBH������4� ����E�A�D ~
CAD@
CAD8T�����"F�B�A �A(�D0(C ABB(������OF�D�D �s
ABD<������gF�B�B �A(�A0�I
(A BBBD����K��
A0�����[U�D�D �n
ABBG���8L�����gF�B�A �A(�D0B
(C ABBH�����K��
AH��x���!F�B�B �B(�A0�A8�D@^
8C0A(B BBBDH�\��wW�E�E �D(�D0�s(A BBBE�����H0�����<����NhP����Va�B�E �E(�D0�A8�G@|
8A0A(B BBBA|8F0A(B BBBE�����������)8����
F�A�A ��
ABGM
FBK����&( ����VO�D�G hDAI��L���&d����x����\�����&����f��h���t��,����,����>����,�����B�D�D ��
ABA<L�P��xB�E�E �D(�D0�U
(A BBBAL������B�B�B �A(�A0��
(A BBBGP
(A BBBA<�0���R�D�I �O
ABGQ
CBBH���,����pB�K�F �A
ABIL����8`����}B�E�D �C(�G0Z
(A ABBA(�� ��AF�A�G hD�A�H�D��<B�B�B �B(�A0�A8�D��
8D0A(B BBBEH�8���B�G�B �B(�A0�A8�D`�
8A0A(B BBBHH`�����B�G�B �B(�A0�A8�D`�
8A0A(B BBBH|�����]B�G�B �B(�A0�A8�G@b
8F0F(B BBBEP
8A0A(B BBBA�
8A0A(B BBBB�,�����H�B�B �B(�A0�A8�G@^
8A0A(B BBBAp������Y@������C
8D�0A�(B� B�B�B�Ef
8F�0A�(B� B�B�B�Ec
8A�0A�(B� B�B�B�B<����O�B�B �H(�A0��(A BBBH�����0�|��	,D�x��QK�H�A �pABI���t����&����������&�������h��6L����
F�B�B �E(�A0�H8�N�h
8A0A(B BBBAH(�T+���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBDHt��/��F�B�B �B(�A0�A8�D@�
8D0A(B BBBC��\0��3��0��t��0��C��01��F�h1���H(�3��F�E�E �E(�D0�D8�GP�
8A0A(B BBBG0t��5��	K�A�A ��
ABGX���(���6��AF�A�G iD�A�8��6��I�I�C ��
ABEK
ABB<�7���K�B�D �A(�D0p(A ABBD����8P8���a�D�D ��
�A�B�LA
ABD(��8���B�D�A �P
ABF,�T9���V�D�G a
AADx��4��9��EF�D�D �i
ABFAAB4 :��EF�D�D �i
ABFAAB4X$:��EF�D�D �i
ABFAAB4�<:��EF�D�D �i
ABFAAB(�T:��9J�D�G \AAE��(�h:��UE�H�D e
DAE( �:��UE�I�D h
DAA(L�:��UE�I�D f
DAC8x;��mF�E�G �G(�D0l
(D ABBF�8;��&(�T;��1E�A�D [
CAA�h;��t;��H�;���F�B�B �B(�A0�A8�D`�
8A0A(B BBBK4h�>���B�B�A �A(�D0�(A ABB8�l?���J�A�D �
K�F�L\AAJ��d� @���K�B�B �E(�H0�C8�M��
8A0A(B BBBG�������A�������`D�N��UB�E�B �B(�A0�A8�G`x
8A0A(B BBBJX
8A0A(B BBBF`��R���K�E�B �E(�A0�A8�G`�
8A0A(B BBBCx������A`������XZ���T�B�A �A(�D0
(D� A�B�B�GD
(A ABBFp����hd[��0RI��|[��WZ�B�B �B(�A0�D8�GP�
8A0A(B BBBAQ
8A0A(B BBBEI
8C0A(B BBBK������HP������TD]��kP�B�D �D(�G0b(D� A�B�B�T0����D(A ABBHp\]��F�E�E �E(�D0�A8�J��
8A0A(B BBBK`� ^��3F�B�E �E(�D0�D8�GP�
8A0A(B BBBHD
8H0A(B BBBC@ �^��sP�B�E �D(�D0�{
(A BBBGG�����8d8_��zF�D�D �D
DBHA
ABDL�|_���F�B�B �B(�A0�A8�J�5
8A0A(B BBBI�,a��(a��$a��@, a��F�B�B �A(�A0�G��
0A(A BBBKp�a��0��a���F�A�A �G�w
 AABA0�tb���F�A�A �G��
 AABJ@�c��$F�B�B �A(�A0�G��
0A(A BBBF0	�c��D	�c��
X	�c��
�l	�c���E�I�D A
DAHR(K0K8H@BHBPAXB`BhBpBxE�I G
AADD(T0I8F@BHBPBXA`DhBpBxB�I p�	hd���E�D�D u
CAJD(M0K8F@BHBPAXB`BhBpBxE�I Z(L0D8B@BHBPBXB`BhEpI Hh
�d��nE�A�D a
AAAO(L0D8B@BHBPBXB`BhEpI l�
�d���E�Y
JGW A(D0B8B@AHDPBXB`BhEpIF
AOL D(B0B8B@BHBPBXE`IF$8e��d 8�e���A�G��
AG�\0f��B�B�B �B(�A0�D8�G�z
8A0A(B BBBHy�K�	_�A�~�H�	F�	B�	B�	B�	D�	B�	E�	D�	B�	A�	K�@��l��$B�B�E �D(�D0�G@�
0D(A BBBG@4�m���Q�D�G Q
FADD
CAH_FAA��4x$n��lF�D�G B
FAFDCAA��<�\n��aD`H A(G0B8B@BHBPEXB`BhApLFt��n��4f�H�B �E(�D0�D8�GPg
8A0A(B BBBKR8A0A(B BBBD������HP������Dh
To���G�B�D �H(�G@S(A ABBK����H@����X�
�p���O�B�B �E(�A0�A8�D@<
8D�0A�(B� B�B�B�IP������0�q��qJ�A�G B
D�A�GP��(@r���E�A�D �
DAG8l�r���F�A�A �x
ABEF
ABG(��s���E�A�D u
DADL�Ht��YF�B�B �B(�A0�A8�D�U
8D0A(B BBBD$X���"8t���AJ�j�8T����(F�B�I �A(�F0�
(D ABBAp�����>p�B�E �B(�D0�A8�DP�
8A0A(B BBBE�
8A0A(B BBBA�������@h����B�D�D ��
ABKE
ABHSABHH��B�G�D �D(�G0z
(C ABBFD
(C CBBAX�H���tB�B�I �C(�D0�
(D ABBGy
(D ABBFR(D ABB �l���vA�G Z
AA ȋ��gN�m
E]
C,8���|B�A�D ��
ABJHhd����B�E�B �F(�G0�A8�G`i
8A0A(B BBBG0���VB�A�A �G@F
 AABK��������50<���|E�A�D Z
DAGFDAHD����/F�B�B �B(�A0�A8�D`2
8A0A(B BBBB8�l����F�A�A �D
ABAw
AECGNU�`� �����5������ �4�@�N�a�t���������ž؞���%�9���H�Z�x�������Ɵן���,�أ:�T�l�x���������Р8�b�p�|�������ޠ���"�6�������������̝������p������������t�m���)��#v�����6����������)���3.��������������
�������"�)���,���/�"�a�&�3�'�aL�<��Y�>�a@��w�h��|�����������������������������������(�����3�X��8����>�B��Z����^���b�X��g�k������������������`����������������������0����h��������������8����x�������������X�����������
����8����������"���)�H��0����6����;����B�(��I�`��O����T����X���_�8��f�p��m����s����z�����P���x�������������8����p������������������H������������������0����h�������������8����h�����������������8���h�������������"�0��)�`��0����6����=����B�I��f�0��m����t����{����������P�����������R����S���`��@�a��x�x������������ ��������X�����������������������0����X�����������
�������0���P���p�� ����(����+���/���5�@��9�h��A����E���I���M� ��S�P��Y����^����d���j���r�8����`��w����}��������������@��U�h����������������������0����`����������������������8����`��������������� ���� ���	 �#� =��
 B�@� F�h� J��� N�T� k�q� ���� ��� ��� ��@� ��p� ����  ����! ����" ���& ����0 ��0�2 �P�3 �x�9 ���: ��> �(D  �&�� A�F�!\�X!b��!i��"!n�5!t�0�!|�h�!�����!����!����!����!����!��8�!��`�!����!����!���"����"��"����"?�("�X"��	"9��"?��"B��"G�"K�Q�"l�("s�P"y��"~��� "!���'"���("B��)"���*"����+"�e��4"����<"�E"�XH"��`"� $�a"�A�d"�e"Ra��"��^��"x�|��"���"��(�"��P�"��x�"����"����"����#��	#����
#�@#��)# �p*#/���%4�8�`&O��c&V�e&\�0f&c�`�)�)������t�i��o��u��{��j��p��uX�d�����������������������������
���uXj����$��{��)�������t��-��������������0�̝��̝��̝)�̝��������3���7���o���u���i����t3�3�3�7�3�o�3�u�3�i�3��t7�7�7�o�7�u�7�i�7��t�t��@��t@�-�@���@���@�0�-���-�����t��-�������)����������6$��6���6��6���6{���$��������������{���$��������������{���$��������������{���$��������������{���$��������������{�j��j���j���j���j�̝j���j���j���j�p�j���j���j���j���j��tj���j�@�j��)j�-�j���j�#vj�$�j���j���j���j��6j���j���j���j���j���j�D�j�)�j���j�G�j���j��j�K�j�)�j�S�j�4�j���j�
�j��j�j��j��j���j��j�"�j���j�x�j�{�j�,�j���j�0�j�/�j�X�D���)���)���)�)�)�����$���ysp�ys��K��tK�-�K���K�$�K���K��K�{�K�0�S��tS�-�S���S���S�0�4���4�0�\�c�\�\�����������p�����������3���7����t��@����)��-�������$������������6����������������������j���D������K���S���4�������
���{���o���)���u������������t��0���X�
��t
�-�
���
�$�
���
��
�{�
�0������������)����������p�����o�o�o�u�)�o�)�)�)�u�)���)��tu�o���o���)���u��������ti�o�i�u���p������to��tu��t�t,���������)�����0���0���0�S�0�4�0�
�X��tX�-�X���X�$�X���X��X�{�X�0��l�46�16�16��t�46�36��� 46�36����06�36�����-6`-6����-6�16�16̝��46�36�����16`16�����,6���46@36`	6���46�36��'�@56 ,6p�7�*6�)`)6 )6��F�36P16��Y�@56`(6��f�46�36���@56�36��u�46�36��~�46�363����'67����'63��'6�t��@56�36�m��@56'6����46�36@����6�`&6�)�@56�36@6-��@&6�t�360&6���46�36#v��46�36"�(�6$�A� $6�36��U�46�#6��k��!6$�!6�16p6����� 6��}� 6��  6�6��46�36@6����46�36@6����46�36@6����46�36@6����46�36@6����46�36@6j����6�6D����36@6uX��6�26 6)���46�36����@56�6G����6@6p16!<��6@63.�@56'6 �(��6���46�36��<�466��S�46`6@6�d�@56�36yso��6�16)����6�36�6S����6`&6����`6@6��� 6p��36��0	@56�)�36�(�6�)6�64�j��	6��36�6c����6\�6 &6\���`
`6����46�36@6���� 6�6
��@6�366��46 ,67�46�36�p	46�36��Q�`
6�606�d��66�u�46�36���	46�36���46�36"���46�36����`
�
606����46�36x���46�36{�� �6�t
6�6o����6�t�6)���@56�
6�6����`
�	6�16u�	��6�t�6���@56�
6�6i�)��6�t�6��7�`
�26�tG��	6)��6�	6,��	46�36��R�46�360�h��	6��36p	6/��	46�36@�5jx������)��@D"���� �@�������������������d����������������@D"���� �@����������������������K��������������������4�@��@D"���� �@����������������������������t��3�7�i�u�o��t�����@D"���� �@���������������������4����������� �@�����@D"���� �@�������������������d������������c�\�(���1�5�;�A�#v"��������/�������,�)�̝��������)��������4��@w�E�5j�@D"���� �@�����������������������O�w��@D"���� �@���������������������\�5jx�X�����^�e��@D"���� �@�������������������l�t�|���5j������@�4���d����6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������p��6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�������5j+� �@��d������6����������0�4�@�S�
���-��)���������� �D�{�$������d��6����������0�4�@�S�
���-��)���������� �D�{�$������@D"���� �@�������������������������5j��������@D"���� �@����������������������@D"���� �@�������������������A��������@D"���� �@����@D"���� �@�������������������5jd�w����������1��������������������@D"������������|���@���^�d��	��1�5j�e�4��@D"���� �@�������������������%�d�@�4������@D"����%�d�1���.�:�G���@�4�j�p���Q���Y��4��� ���������ys� �@�a��������@D"�����i������@D"����%�d�1���.�:�n�G��@D"���� �@�������������������oaw���d��
���6����������0�4�@�S�,�)�̝������#v"��������/��������G���"����������)����x�������!<�������
����)�������� �D�{�$����@D"���� �@�������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�����������x����t�@D"���� �@�������������������x��@D"���� �@�����������������������3��@D"���� �@���������������������4����������@D"���� �@�������������������d�w�5j���������������ys�����@D"���� �@������������������������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�������3.�m�@D"���� �@����������������������@����������������������@D"����|�����d�@�4���^�e��6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������,�)�̝������#v"��������/��������G���"����������)����x�������!<�������������1������i����@D"���� �@���������������������5jd��������������������� �@��@D"�����@D"���� �@��@D"���� �@�������������������,�)�̝������#v"��������/��������G���"����������)����x�������!<��������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������x�l�5��������n�Y�����O����.�./85/'/:/N/k/�/�/�/�/�/�/00%090U0e0`5|0�0�0�0�0�<6$�>6�	��g
@���0
@����
`��@���A`�H��p�?����T����@�0�����*@��l@��7���q ������
 ���`�`���2�	��
�@P
 P`P_�P(R R�@R.e�����G������N�������e����(���

Ya*FMg������������%�@Vo���0�����
 (3<Rnw����������-5<UdmX{����������06GXf�p������������ �(3BHPXj�������
"'-@FMTYaj}����(�2�?�I�f��,
 ah�5p�5���o`X�(5
e�0I6�d�X��G	���oy���o,���o���o(���o�o�j���o*�F6-- -0-@-P-`-p-�-�-�-�-�-�-�-�-.. .0.@.P.`.p.�.�.�.�.�.�.�.�.// /0/@/P/`/p/�/�/�/�/�/�/�/�/00 000@0P0`0p0�0�0�0�0�0�0�0�011 101@1P1`1p1�1�1�1�1�1�1�1�122 202@2P2`2p2�2�2�2�2�2�2�2�233 303@3P3`3p3�3�3�3�3�3�3�3�344 404@4P4`4p4�4�4�4�4�4�4�4�455 505@5P5`5p5�5�5�5�5�5�5�5�566 606@6P6`6p6�6�6�6�6�6�6�6�677 707@7P7`7p7�7�7�7�7�7�7�7�788 808@8P8`8p8�8�8�8�8�8�8�8�899 909@9P9`9p9�9�9�9�9�9�9�9�9:: :0:@:P:`:p:�:�:�:�:�:�:�:�:;; ;0;@;P;`;p;�;�;�;�;�;�;�;�;<< <0<@<P<`<p<�<�<�<�<�<�<�<�<== =0=@=P=`=p=�=�=�=�=�=�=�=�=>> >0>@>P>`>p>�>�>�>�>�>�>�>�>?? ?0?@?P?`?p?�?�?�?�?�?�?�?�?@@ @0@@@P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH`HpH�H�H�H�H�H�H�H�HII I0I@IPI`IpI�I�I�I�I�I�I�I�IJJ J0J@JPJ`JpJ�J�J�J�J�J�J�J�JKK K0K@KPK`KpK�K�K�K�K�K�K�K�KLL L0L@LPL`LpL�L�L�L�L�L�L�L�LMM M0M@MPM`MpM�M�M�M�M�M�M�M�MNN N0N@NPN`NpN�N�N�N�N�N�N�N�NOO O0O@OPO`OpO�O�O�O�O�O�O�O�OPP P0P@PPP`PpP�P�P�P�P�P�P�P�PQQ Q0Q@QPQ`QpQ�Q�Q�Q�Q�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV V0V@VPV`VpV�V�V�V�V�V�V�V�VWW W0W@WPW`WpW�W�W�W�W�W�W�W�WXX X0X@XPX`XpX�X�X�X�X�X�X�X�XYY Y0Y@YPY`YpY�Y�Y�Y�Y�Y�Y�Y�YZZ Z0Z@ZPZ`ZpZ�Z�Z�Z�Z�Z�Z�Z�Z[[ [0[@[P[`[p[�[�[�[�[�[�[�[�[\\ \0\@\P\`\p\�\�\�\�\�\�\�\�\]] ]0]@]P]`]p]�]�]�]�]�]�]�]�]^^ ^0^@^P^`^p^�^�^�^�^�^�^�^�^__ _0_@_P_`_p_�_�_�_�_�_�_�_�_`` `0`@`P```p`�`�`�`�`�`�`�`�`aa a0a@aPa`apa�a�a�a�a�a�a�a�abb b0b@bPb`bpb�b�b�b�b�b�b�b�bcc c0c@cPc`cpc�c�c�c�c�c�c�c�cdd d0d@dPd`dpd�d�d�d�d�d�d�d�dee e0e@ePe`epe�e�e�e�e�e�e�e�eff f0f@fPf`fpf�f�f�f�f�f�f�f�fgg g0g@gPg`gpg�g�g�g�g�g�g�g�ghh h0h@hPh`hph�h�h�h�h�h�h�h�hii i0i@iPi`ipi�i�i�i�i�i�i�i�ijj j0j@jPj`jpj�j�j�j�j�j�j�j�jkk k0k@kPk`kpk�k�k�k�k�k�k�k�kll l0l@lPl`lpl�l�l�l�l�l�l�l�lmm m0m@mPm`mpm�m�m�m�m�m�m�m�mnn n0n@nPn`npn�n�n�n�n�n�n�n�noo o0o@oPo`opo�o�o�o�o�o�o�o�opp p�a
m
m�a�
�
��a�a�a�)�)���)�)pu1��N�NMJ�
����GA$3a1�,-aGA$3p1113`��HGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130�aGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFYp��IGA+GLIBCXX_ASSERTIONS
GA*FORTIFY0��HGA+GLIBCXX_ASSERTIONSlibxml2.so.2.10.2-2.10.2-5.el8.x86_64.debugW��7zXZ�ִF!t/��lLd]?�E�h=��ڊ�2N��)A�Lq�<��9����*�~p�n.�#�B��]�1/���+���pa� ]������Y��5�����zw��Ӷ��Z@/K�=�ٛ�XӾ-p�J9�^�q(�y�r'{�}<qi`1��:bo�B���<K�kZQ��ˍ`������c�O,i�ޏ�7�G�����^\�as@'~E	}Y�**#��"�FxͲ�����.y�Eb<�Ui(�D�λ�>� �΂�@�Ϡ���ߖ�I���j׸X��#�xަ��ί
�bs����9����F���>���G�jI�-j�Y'�!Ч����rUkcr-�=�^���.Ǩ�|`h�E9�gP�"��Ei���	0?��}侠���u�������`�i¡R��(��q��>b��j�j�����N��ˡ����V�����H���ڈ`~}A
t"�˞Mo�����.��6�|}��FΝ�fH��_u~�t����a��R�ey�VQW���)�D���S�����&��Ԛ������AJ���={N��*)V���Զ�/(�B�z�[9�&DT�/�z���ͩ̓����=�P�"+�M���I	CB�G����<
����R����CuK*��r���a�r-�s���S��D׃�e{�'�"Ŷ�h���f`̪�.
?�vV��ˎPk����~�u!�R���%�#����C3!���l�523���e�I���-?Q��7�Jc}@��vP]{�i�'�_�C�lX#)�񹔽$��E�~m�`�d�k�` �k4�{�
��t�#�6���$�|
�5�V$�x3"�S1m�H�ߙ�\(�n��ˣĉ.EA�G��M���.Tm��I�K���2F[N~�hGK��T3���,]i���=��Gu�R�!�+s�L��$�"��T��"z�c��Z�83@�R�$�=x��/�|�9�=-����!l�.�۽΀���<��3�{(�`��x�2#e8��!WAv�q�j��U�D�[�R�߰�WP9�����0���[�}�[=R�m�.�`�����ء]��6Ԃ�8�
��qN�$ׇ"ע��N�o'����8\��'	��I�l3���_�z��"v����2;6��.�"����'���~u�ϲ7����Bᝮ�ݝ��t��Z/R���U���gGI��~�X�V���PbR�Las���3c�_��r�׈�p��O(ʇ��M*�g������Б�@0�����&�!����{c�!y�	�K�.0�{�#�2������›Ꝛ�fmG�]��8D}DmNU��]�} R�Ǜ�$x���jH~\u ?�A�& *��(?�R��u[�Qe��� ��sv[��u0;�m�Į�;
�
Ԓ _�X�m��<��C��ðƿ
���[��^ƀ���6����܉���n�[n��'�jhW?������눶9r(��a�����)��G.�:��ദ�۽ޚ�>%<l����L)ډݿ&OCՅ#�}X��I�ldeN"�{ �X�**!z���U��e੶D�Ȼp9�n��'+̚�jh���=��_�1��W��}B�j��?�v�O�n�@����Kt��5,{��)��j�����k�{
���FC����a �j��r����cW"��D�o	C2�gQ�q�`lތ��K~��\����?g�g;�۟�hY5ʩ�
�"�8 ��K.f�`h;����)hb�4�Y�~��OI��;�.qԼz��`��l���kg���4|C	�*��G���H�t�w*?�TR��G����'e��M	f��fZ�K��{0c�ͺ�w�2%�"Ц�j2��ˀņϣ$�U2l�AZ`X߄�m�tߣ*���Z�9j��޸�Hj�
�d[�W�����|?c
�����N��e�Q+Ӥ���!��z{D��±
�A���$RTzoW��Ј�º�*F���x\���Q�\�����U�X�����r���1��=����[�P��_𲄛�[�P��;���#5z���eW�
eQ�� Q��6�l�5�J��i>��j�8�eM�;�38�B�	�.�o�ϭ4t�h�����5�Uc'U^���@�
��h���!p)��K8ٴd�r�1NB{Xfqa5�`��9{����C��s�A��J�#�$1-��N�4�:�g|�?�?��^���m�\��q3��#~d�(�F�G�RZ�ʄ���1ؐ!���7�Q��P�f����t���j�����\_�[��6�M���c- ʔ�2���]�Xق5O¨C��"�L�L��r���s��h/�l�}��E W�l����$i���r���1����D���ޤ�5qI��

vs�
�u��x7�c�u&�^͐��2��,���t� F�>�������f�>.� �yCf�JODʼnH���ji��U���+�]�7i@u�ӧ�,u ��³��{3g��m�:�e,TӔ5FNX{R��dy��Z�vls��6��Q����RUӹ���f�J�'X���,]���F�c% �r��%�dvk[�yd,����J��^�
��6�f�Ni�M?�G�p)E��L�o������`��Җ�b��0��'03�4q��O�MP��&{�uZU�`~��j�O��o�T/�<����
sH1��+�}���?�L�ǬO
��P��9;�.���N�e��x�U2�Q��)��m�$(�*�A�Ma����	�ߨ�	)fy��^� ��K�
/V�q���F��^�gQ����� c)��tf%�}bA���U7��������3x�Ԥ{��zn����2��`qW����0^��&U*��zm�MM��~��b8���^"�3�݆�#.�%�|�;e��o�2wb�����ˈ3�˸s�0@���&�}�~	Z��Te��'��"I�Q�I�!4wL���j��'_��x{v��2{�؏��ܕk}���nً��e���� ����-ё7~���d4x0[D�h͛aʫ�9rvC�&�µ�����P3�o�x���P�0�k��G�>�e�]�/o��\p��Q֩�3�� 5�j����4=0�cqZB!�*��+]�7���d�s��*��H�Au��f�=�b��燭�龮1��+W�.K�E%��7��.��}2�a�Tg��|��~�i�p� y˘u�Ȯi�ˏ����N���}�X���']��\2�2��c�i�����p^����X�������Q���,1�h�h���5���z�!�4�~4[���`B�ы�n���j�.�^�!eɆ6��Qʿ��~G�E��K����8�o���H�)����/�,{s7����U����
����z��i���t�P�
����p��Ŀ�5#\�vX�G��n��Z�	�0�X<�P�9��v�|3z�|x�uÈJ�B��q�i����{7W7�����e��!K�ڈ$�"��3@�l/Ϣ׬�X��x��qx�*̴�eR(�V��_l�0��X�$B[�f����xA���ĆQ},�1Ո��T(�Cԧ#��r���Ƽm��Vpˢ�(���o`V*��n4ʰ��8�|���`@vYvRѬ��S���s:���t���Z���5�}g��NB@�+�@
��l��^q:��j����k����:>K��}OH��aR#�0[sK�}�$��!���"��S�S]���yd�)V(�d�5qe�
 B(�^a��
h�͡Q�|�	��9^_p��].?��%�	V������
���DL�b3�ts��{A��y����De=�mcΣ��4�7�8#���~SmQ挺�S�dWlNP
��@F��3T����d}�IS�ƒ�n�~]ʑ�Q0�V�pQ�f~IsG6
˫j;��R��)o��je.ljx�/n�D������#6�z�Īy����]}r�<��f��t
��s�'>>��h@f-U{������)��?nŌ׌�A��~-�=��	��i�*$P0250�_�zG�N~����O��MFk��I�c��;8]�ĺ��N�Ө��@O���89�d�FvE�q���U+��3�B�U��y6�4D��|~|��s�W���(�!b��h���h��*��X�*;�p���a�Ň�]z�ak�Г�
j���(v-�P�@�*2�Xtb�o�N��C�!܎[4�%�*|�#�r<1����P
6M�n:�pZ�dM��[����Ƞ�Ds��#=W�{�)�t��Xz)�G^�C�c��Ce�r:��*'˖p>B�~�ӽ���q��a�k�>�����
o�g��_�?��d)�xa)����B���@<(S	&��an.����~�BÏ-���RHX�nI�۬i���[N�c��V�rJ"��|�2Q�����7��2v ���H�ܚ/��=ǿ[[�y2��9�1�?)
��:�C�!�´l��hs*�ɘϵ�}�GZ�l@@gU�/js��vp�J �o�?�n3Ő1.fb}�f�C�g�=�(��\W�a
3znC�
���*��Į5��6���_p=�}uA�ŷ�&�'�0Qq9.ͣs�|��I�� ��9�
�^�%2��S�™�0$���bÔM�/K�vy1)���=���!}h
ﻤf����kmzO$ij��E�B��/���$/��vOi����8�n����&8@A�Zs�l_�
�@	���?���?�D�a��E�۫A'�������n�7�y�ۺhz<f�`-%�ݮPJ�m[�Z�M��:+�(�7c�;�&m��*��p)�^�U6����}K�&_0+He��T'�����W�������J���&��ܾ^~I�u��Tјנ(����B���
�+Ol�u1,DB�E�9FVQF�Ő�۱��%��BF��f����I
��Dst�nV�T'
N�Hg����-JNWa��M��<�GFP0����g��V�g&����Ũ)b�j���O+���.�,�b6]A|�F?J�Y����%d���
,����<!�L�F٥^�^��>�U��Ԭ,.͢Rv9��:�G�����p�E������\��-�V���)��6��h��v����G��HH1;���m��py]ɰ޿O�Llb�J����	u��~�7\EG�Al�Y�1��مx0S\%p@�����|x}3�'1��)my�0v�n֓ڧt���R_o�S�<��{3��sx>OI�
��?���(C7:����R��/�6��!�L��`�p�����C����LR��9m/WOH��|�1�#ڳ�.�+6\�Vk�C����'��[۰]��dP�Iy�}���(Y��}Ν�
N,���L���-xo���CU�?)��p�u~�U��DNrUF�T�$Y\�
go�\��ej֪o���Y�K�[���Gbl�1h�u��Z�6S��~
�x��TG�mS��Y�z��ꪄ�Xx�o�S
Sy8R1�-� �d�s�Y��\�r���x��nRg���I�*#T��-�R"��ߜ�I��b��R��d�`'ɞ<@n��?hT	�Ⱥ^:4�[x�Uc��Rm*���#�;T�暗.&~eM��������-;Œ[+Fmy
eR[���8K4���:�7B�����]IX��+�����g��Z�
w�%3_�o r�?%�^��J��v��)����8˛�W��T����8$4J�W�$�KoŦ�p{���Iy���\��,N*�=_�*�?yb�Y��+aQZ$E.
E���7bi�
�&�%�%ka�O,�.^O��g�����7!�vS�F��!
�;���y&=nW�-��a(�� ��4<�1���|�4u8j�{�%�;�)Q|�(Z}�z�ĥcMi[��X�.W�i�y_�%��u����0��4�)��?���D��9zL��O͈�9��#d��v	i��߷�pcC��pm�Ww׃��<�A
��?�D�X��9���!�Hu��n1U�ŐŽ�u��&�y��L�́:�|[���fx��R�?n�dW����cQeSt�g��6�ѐ������.���wI��"6ѣ}n[��D2j��gBÞ��t**
�P�I�Vn�7�;��[{�7��K�e��[V��Ut%<
����^]]��Y4dO���z&�/	��K0�֎N滒����6S��1@��&ғ�L���2�(b�$@�T�M����hM����h�ZWJ����<6.fM������"��dPsu�#a0OB��U���d(̪ި`�t�5�Z���=��[���;�[�v �S�� �*�{���/s�L?�b.�	�?��ȫ���g�C�uJ��ߖN!�RX��~�"~�k����=��{�3ؖ˶n
#�2*�s3P6�5�K������̅l9�q&�����qH���x��(ҽ���~�]�]�w��=/j�c���d��Tӏ�33*�q`|�Qq<�r7� ��6=��)��)��;��9t��%��&��x��9�[c��H,rL�2��_i��Nz�H�_��E�
����U3�|t��7�y^W#p_	���ײ�]�᯽�ۍE�����|�KU��>z_�0�8�c�&U����g����j��JM���kW�B��:ߺm�s��b�O3�;�hI��N��.7���V����g�o�ϐ(�㷿��2k�~�[ၤ��}3�u�P�I3��:��Û�W�!�D6�Y��g���!����[��T�;��+�n���@ޘm���-�e��-%X��FpIv��I4��II;֐olMQ���l�d�$��!�P8��6_���Sxa��<t��_Qf,f0.پ��
t��?�PV��*�ħF�I�|��@�'�j�
9o�V"�#x�[�>�D���nD����jAZ0�������դ ��bYȩ���z��,)È��8�4�s�
�>*�A��!ȟ���}'ga�Q���ᙵe�2B��\�%�rU�z�A*���/ę;���'�\{��|����=�2��yaa]����q!8"�DJܼ���0�$$j+rΚ�IO��pL�6��J��g�b�_b�Ђsa%�����x`}��5�aH���1���i'Q�L�1�gD�]���u),#Ul���JEa��go�=��7�
�ppi�k�/*��<�ͲG���]еpVd}6��li��9�$��aF���.��1�� POy0=�M��$�EK{�%��&�N�����k��ع5��`�aL_�СT+Y��B+{�R�r��F��+d��\�	0f�L�c��r�٧�m!�� ��X��˷T��5`~q4đd���}��62��7�Mm��C(79�.���*�<���	�[�!�/��E�Xk�)�4�0��=��FA��[�&���M���}��
�UR�IK�ҿ�zpS�
͙�
��%4��P��L�OR�]En ������
��G�3Ma���z���7޲���[L���,g1Y1����[=�a�v������3
���c%N1��i��+���ER@E
_�6��6@V,nf4�]��W�Fs�9��Q�%8_�w�5�~s����Ő�=3J/�Q���VBXi4S�-J���n��P��X��A�'#�6=�ѼHqI�v�XD�	�3���~:��{H)ZY��.����a�q��o�0�|�F9��F�u_ژ)^
V�v[o��̽k��q��
}��8�I����^��xa�H��qǺ̳��,�2�cqdE䒿�{ۨ��{����w ���0�S��	�y�%�w���q*ߡ\�c�i�Q�H�p18����j'8��w�9P��49�e�9,9p�����n����#��ʑ
��L{��R��>� RA�%W�����q'(^6(s�g2�%�S�)� �)�I�i���`�;u�4u7	�R�c�v�u�m����~��ܚ#�
i��?>��Me�tX��;k��A5���ZY�7_^_r8H����dp�D�0��D�]��$1c�R�d���#���ҵ2��[i�丬�tTP:X�r&������hs%��˾Ǎu�B�#��	N�~Ԯu�E8��V>1�e���(�"�����υ��
G%�%�<g(�x�e3S���=�j�.6�gWw�3�ݼA����!�!�^)�̹����(FH���hd�4�u��ʽ#l�@6]�(�S��LFFO&��ƪ��F�S����M��&}����ڰ���t�>��Θ����]�8����$\��{�!���`��-;�8��i������.7K��S
��F[�/���?�2#@UeY�u�H������ ,��Υ)��c�1��pޣ<�xMUr�Ǡ�G�D�Š��4Q4Py1^�$Y0�ތ0���g8K
�϶
�y�.=��³>E�D�=�_(&��B�u�]�E�&������1���'��s���,/�SUh�����e�Sm���<����
l�kx�F��L���x!�~9��h���w�w�y�9���GY��Y�hI����.
1�`nhWF?�Py�R��j��w�Oڪ��z���r�%�J͇N�k���U� y�8E}��]�P�,*�?b� xǦ�?>��B��B�jr0��S�-�Jl&��V�s�t0���͈MY��bɁ��v?u���֙��	_Q6f>�^�_
��&;0�*�ag9�cx����73�I�Mw[b�U"�a2�b6Mn�`��Azt�Q���#D�L�a��y�+b��M|^��zp�P:�[�	Qg���\d�K
ˠ"��J�l˘}��	����ʺ&��L�oRBe�?�!>Q�=�`��;�4�6�d+6ɘ��^��Yw���!#\�^�RM&2�qv��y[+]�����8�w�QnW�!`.O�&1L��ʫ��S��9����q�?��&��߉�0E���vKL;|U�ٲ��}���_�j���,-�D�~�J��M)�j���pG�O�F�ô5�\}���|��Di�ݘ��a���n�|�]�;�c/�w?�Χx[T�:����yBgf��܎�|�7�o���@��:F8����sJuEX�vk�j�z	zR�m�P�ev<���OH_�K�����?�Ņ�ӻ�#e�� �E�^�[:q�����#}�����1Md�^K��,q�7̗к��~'����0���xc�{-��"��V��O��췮8N6i`�0OI>��vi#���(��BhX��Է����kƄmg�o������(����TܡB������!�EM��aDI�"z�U4%ɶmK=�8�t	�bz�Zw>��q:άuߤ�O���ԗ��N�9ۤ-M�S
�v�!�aa�r(,u�))��&� kP�=#pn�h�WS�����a|��L��Q�iW�E�NO��{bE�8Fɑj5�p�+�����-�{�D_<��x0�g�6�x��bIe�‘����eA�>�-j|�l!�$>o���G!���b�&��|=�FMId�,�>w�eV�1QT��~�A�S��\VZ�]v�Ԡv\�`�Vh��s��~m`�}��Ƨ+�}���E�5<P�`�=�8s�Aslw�.cf�T��e��w�Vc	��
L��d	�������,�<
�MyJO��>]���4�rPYPf'���~�i��؜�g�渋�^��+�i/�͘����Mn�+oy�&�m�"�V�����:P%"�����T����wN=���98���5a4}�C�u�r,(�'(�:�l��ʁ��I"�'ȝ.mj��&Ś�
Knjl ��W>`0�pX5�/WX����@�Ot���.2�ψ�L�qZ�g"��*���ra\%�V'Z�׻Η
4�Z
W6�v�J[z�b�I���:�&_�X+T����y�&�S0�by?&`���Sy�Z��yک�aB8��Z�-6)wNSCd:0�8��	&k�]���c�?=�oZRj G���a���8]�Vu�Y���&ͲD��W����o�τCQ��2ս>����6~�
꽗�Hj��ĵ=�D��	#�ە{����=��7���_N��2:�vTg1��R����UN�E3��Ԉ��L0�C��q�����K�=5�*�e��Y�>�*m�v�ѿ����ѥw������i{�!S��x��n@M�ʫ�:�
��Y��Ƅ)��O���Ș�����n�T���{l}mǙ&�H`-���v�T��y��y
GV	�Gw���s�SMܙ�"�Ьĸ̝+u>����iV|>�>�����T(�{aX�$��<�Yus���+��Y��C`a6�'�������fd��{V�=���Oq�q�ϊ���w�|������*O��H^�%9�u�A�{`�����'w'�D���0KN_GX]/N����L�3(B�C���=�/U-=���\ EP4<P��<�NHa� 㿷�p��0��@,㖖���~�����N���?��S>q������Œ�2�_�
`�J�e����=�	��]Ga�e�l!"vR
�$E
b_��Y­��֍m
͟��I�.n~���ۘqi.̽=�S�a�B�C��گH�m�M;�U�'p���?�=X�q�72o����+$��]��H��|�
*��>ϰ'�Jx4e|;c/X����sJ$�_<6�sV)J|�Kn9��j6�k�]��bg;�����!.�yu�@|Y�l�8�+��k2Hx�4#2e0��]�y��0R�j�U?�������>
���a})�_0�c!�DF���evql���jea���3�Bd�'�W"��]�[���_�bRr�
eB�2���1�-ɳ�Mw���v��9c�4�������vE)-�ybh�$���)���>+���x���u�a�8�o�?�B*؆f�>�N��k�x�W�{�+{)!�D�!�ـ#�2��Fl^փ��y=6o����D�D�{�Ͽ+!`!�<��N+pw���,�G�G�Y�>*؁y,��ݢ�<�D�t��r�K,�/v��F��r/��p��GJM�g)�I2�F@W
�8�c�>%|����ڟ�#R-v
d�S�D�W9��������G�p��$�vi��
C�H��˶�$�-S}�����W�<B��&��%a�-�DyX�����O��V�FX�eT9&=�3�V��?>]N�ynZ�P�$B�G�b�ʽCE�$�4���qf��s�R�i��L�O�%8���G�	�'�f�e�#�[��g~��SU0����ϽP��P�[ !���[����D��{^�Ì�}����;C�y�0=W�{{�t��
��y����x'��r�e���x##��ļ�r.�/V�̭Gq��v�Xj��[}%���lx�m�����6|T��-���=	FHu�uCV_4n��`�Q<�
"'k|S�5�؟95�%O��hN�@�\�&ݘ��Ν�acqU���y��Q}f1:�r��S��&���3�gF3���:
�fG��Ħ;���!�E`��р�ͮ���Jm��:B��Fq�w�7�֊N++&r�뺰�
�t�C��^P���Q���ѓ/.n$�|��$Djh�ɜk�lK�&��
��W��5�]�S�m�8��l�4�%_�T�O�O��Ԃ�D�d���=i�	���R��g6�t���%���V���ZcO�>`���ƈ�$8P��a��g[���ޯȳ��!����im׾�	.O��^�Z�>_,�IP�G)d0�`"����%�K1M ��ɛ�gS�T�,�II����>�y#[/�}�F���SU�l�f����A��d�ݪڂh�VN�{�>rK��wˈx�'xUT:
~�<�@�A��r�"T
�vОj���f�}��+��I(42X�Zʜ�'D͓O�d�/���;zL��8��^��w�u�z��
U�"p�inDEs�)��:��
"�2.�z�`n����Wˆ\]@�Z*L: 4��d����F�N[�r5>�}������:c#���^.�5"8�l��b�~'�f���И<�yI����`EWbe5˄�(��
Ĉ�in纪.�1�ϭ.���$v5���U���o�e��y��d�����j���Tn�i�+�r@�����U�
��b�$���3-�fi��HFj���5�4P��c腓���[�
���P��:�:_����ݰ�}�J�!a����2��k--��=T��L��;F�@A�8�L��GX�=}0;*��O�vߟ��"-���TiFV�L�(C�Z����
����O6���~��θ$�K��M���ti��}a8���3�=�JW���[j?���cc��ZDB�Xm(���?1�^欢W#����4<R8���]��\iB���V\ب�o�_nͬ2l��`��O��*��'�UFQ�cX����a��q�����O�L¼ݎ��,���h�e��‘�q����Y�M��`5�f���]���İ~dp>���1�&駱�z��HWU���:�	\�h�d�aݭ���-�	�1�+
��!��)�r�:�2��k�w����6�(������p��HrQ{��p����m�G�}�LfBn+�V륎T�'�ϊ�F��9��8%�f�xSz���"r�AQ��4B��f>]$Kx���,��	9%#��U	+Z+�|�'�)�U��X��{
���e���w��kɼK/V�99nڡ��:jq��1$x��]�
/9ܚ�']k!j�=҉�R�'m����V{�~1�2X�ؔ:�e�I�c��|��y�4�-�<}���BT�Y�[
���T���^;]3��8˓���*f9����"�����^��f��C0��Ӊ��S��#�Nxc}��:}� �ZB=E�x@���"��8��ހ6���!6P<1��y�L �te�c�1���E_-^���Nˮ
�����K�6�,�9G���V��ʖJ%���@��<@s�gi��}�8��aEr_\���@xt߲NN4G�O4Ng�>�5�B��g̫����E�a�Ȧ�T�f4�}��[�D�LC�
c�j{�,2 =)��p	y~q/h"��y2&V/H$2�c�@���C��|6n9��{(E����J�F���N8B�+^@u+���R�_~��� 6�0Daڗ;̝!7��[��n���"K9��޷Z�/��{�ֹ�p�"�8��]��d@����)�h1�ڽJΖy�S���;sBSq�u
m_B{f��dt��;�H�m�!�\���̣~g��m�-�!�M{��q9�s��E�/�KZM��U���4�o�RS�H@@�M��J���MD�T��Ʊ���;���;�c�پ�&;�O�e�����B�����nA�sOb�;��tZıT6o�;��Ω�Ǒz�p(J�G��]4*m�"��QfWr`M�2/x+'xx�^f��^#%�c0|<��=��[�<>��O���]d<����.h�O^�,<��@o�"�`��G]aeݧ�ԕl%���!�nd�/�n�~�(0�:L����JcpX�q`�y�����2����
�-��k�e,����z�{T�3�K:�h�p$�}�O�0�m�Te����W0�@���˟�̐w~��/�&��]�<r<�݂���ke�$$2�)@��灁���)`K@�hҭD��ΉE��,]�Gһ��iT.�o�s�g�z����M,.���Pa��Y�S��g��wM$��	��n7�ْ�?�"�$1?����}ğ	y8%}˪��U�'C�����es�y�ԫPҹ[�����R	��{�_)6Z�C����?�@{�ٔT��2���}�c�6���UwK��|繝/��<0t���"ζ)��Bȫmr=���P*����W�Yh.�mɍ-�&�dm��K9u����x䨏FV��ك�~�46'pC39��-
�m�t1w�-�[D;zҲ��\<o,4���}����!���ÿl��6SI/�K��o��xr���H}vޖ�b$Ņ)A���nd�op��H� :^)�=��s��6"���{02Y�,@����j��IYW\K�	���G����:��d
�?��}��{�Ǥ�2U�4D[a��U�42ِ�fH�7tg�TM�[ +���"+�c�p�{,���M��ϡ�����hh�N	��k$��S�p S�Ar���F	B1��uzP�J��g�Qx����n�I�R��(�El�l�*�[U�G��ȓp�
��5��2A_���n�^nZ�f��<h�ߑ3�NzVJ��H���\7�0�����
8�$ۃ��؟O�m�џ��1�5�����hِY��uƯ������CG�ŦQ��u&t��£�g��;�:��!v|�9��,�r;~���c�bUk���
�_١?-R��M�@1�3�1*mCL5��C��,uiK�t�=17�!
P�ѫ,z	#d�R��DM$���/�D���Cm8ɸ����J�M��v���`�ˑd�g��3��me%���)�O�x?M�~���(X�W������r��̠�P��6�����5�C�(�]C�"�V���&��,�E��#�!���+!z��^��&/t����(c�g��`�K<�?�`�K(�|<�gqR��&mw�}1��l�
������?j���Ӝ�^<�I�p��V} �dL
�;y
�F���c�=J��xQ!��(��J|���u�b�յaoS�y��8�K���
F���
<z���WB~�C7r<Y�8���t }볯�#9�$�!j"�%��&���%O䭿��٧Z�Ѱd�
�Ug��*���|G����c��5�Wa}��7�E���"��f��;#��m�5���61��F��Ǯ�&�G61�ߥ�(`,�ያ�J����+�l�b��޸8��f�!F����b_A��YI��ڝx`P��8p��>��6@ѧv*���j��
��I�1�B\�h���.�3�0a��_]N������}���L��$�'D�أ�}R�
K]�W�Ο�-ǧ���w�Y+�O��MlLП�;aH��;u��1+f9�L�V�Y��;{׵����2;g�ʷfĞqN���y�%��r*t���-�Z]y�����9 ��?N:b�*��)�_]����8H��et|�����.��n�-Y��~��S��p��wl���ˠ��.,׍��:;�W���&�����u8O��l^�v8E�	S�2;Uz��'�˨3�f��.x�������25l�����N�@ԿMCU�|����O��|�qm���I�|�Y�$X�ւ�#W��Y��%m:y�^ʋ�t"q�ͷ���$ؙw�)w[�R.%a_F[Ed�̮v^�%��l!��Vof8�a��^X�$��c&��r���lw+�]����+r��tF��޳_f���%�/���9X
E��l|!Å}�"��iG�]�Go�/���g�]"�����5`v!	-O�qX!��'���=[�%���녡�/X��D��W!���,���:�ES��#ǎ�+�j���}JA]�����N�[�jt���jPy*d&�,��t�ԏn�[K���'��?�z6#&�r�0�x���t��FƼY�W^L��)@�����	p+~Պ�_o�w9���QU�9j��>�-���:E.O�&R'�+�FР@ѡ	�e�"qU BU���=d�47Я�[Օ�2nۻN��� �k~�� ��՟4�:
�9�>�o���J?��+J,��bJs�g/�#m�����TW}a���^*|,"!�(:6��Zu!�>���0kg�J4�؍zҨ�Ѭ�E�^�0�Gf�Rep����)�ˀd�8%_xjg{�'��e"�? �َ��Ɩ�+?�{:;�~�q�z����؞�[IU�т�C�@z�cݗɏ���[R��oC�iYJ�Q�Lýp*�A�^�8��Fiؔ(�g�sS"���H��� ��be��� �߄�KŖ+s7Y��s�k�̬��z�y��*ا��{@N�X�@xY�:��7����+��K�z�i�*�G=Ɲ6P��\���	�l09(%���ؑ�]S���1�B�����/�c@Q�K����"�k>�B^�,��~�0D<
Q�+�O5�BŹ���i��=B�L+�L��0���a����x���8ʧR��U�!�C�-����cp'�C�K41�G^�۽bg�Q?6|e���Z��XJ�0!�m��h7�E�{|�"&$Um�GQ+Kh]ݻ Y:��=<\
�G5�]�a�k�Ώy#�(�'_6R���)��B9>��Z�2�zV!KS��ȼ���G���EC2�rB7���H������8�.�8M��6��\!F�Ϣ�����›Rqx|۫�3RF"��]oG�X��B���t��Hc��`ģ�;����ܚ���O^ަ�Y����u��8Y$
ɁM��1ڃ�hE�;�bT���D�}N$�M�ug9t�2�:����.����3��_?�gӽ*��A��Y=<��"4iƢ5�.
��NF(�Yb\R�"$�� b߄8����{�n���$ڤդ��	��� �S{7�
$�#��~r��Ȏj�t�|��?5���y�`�k$}9דŃ�A?Yx��GK^��F��>ğ�Q�t+j�G�>#�<��/��U^�;��HF��a	}׌�a�x��]�yՊ��L��I8�د���E_96�m�߆i���V�wK4n�F�&!�R ��^.��m�59p�K>��-�a;c����
�Gn2,</�edNt*�dESdWG�hfȈq$YN���5SY?���5��LY9z�S���0묻;�7e��/�\��/ ��ʔY/�d��6v�W��u�ۥ�sZn�X�
?�դD�Ua{f��yN����t��S{�g�Ss�)��8��7� Hd6�p����<��o�8�[@�%`ФI�O�"vCR$�[G��I�t�ɓhD��i:�h(�q�@Y�a�����$��
�F�
��ȞU#g����Dt􃼊��>BE�s~}0|޸N��P�O�s���glM��<T?�9�й�>_��">J�^š����c�kW�d{�A����`�+�ut�x�^��Q<�dt��T|ʼny|�oŀI�i¤u��@�!��ߜ!q�.�'(���

U������Sq_��
dd�G#�i��1.[2��;N����"�Ӿ&��z�)�'L���.��I�շu	Ztݥ�/�>�v��Yǵ��<�d�<<�8&�hF��x��
�
G%K��d�e�MY���F���l�x
��}�`��?��t?�b�i-��E�<|��#�~u8�۔��kzy��%Y��X�.�����G;�e9�e�7K�P�l8=���T�)�h��(#��m���)��vj0
�I��@���R�b��30`@ߴ��ԎQɸ�|�M���z/2`K�,&u���7�`�s�C� �Ob�a��j�� }�g�у�~#	�e�
{�f��o�-4���&v�������i�b��%}<YD���dE�	$���[+��G�d�T��\E��BE��xJ�{�ӄ�`�f.�t[��;��/�#��e���L0�I[e���e�[�H.P7'p����=�[X�_���J�s�g�gm'�_4%&@�X@?�����?�
�r�9��A�8�i��t�%�hÙ_^�����cTSa�5�K;�`�Kg�Vd4�ߓb@��⼵8̑w>RZ�m���8+�C_@�(L��D��~�^|�[BD��x�~%�j�TiE������ė�„�Ȟ���m؞w֐{@�v�6?y:����Ǻ�p�諒�5Ψ�8�����n��v���`n���c/-��"5�m�������G�i�񸣅?x���-us�L�;��i��4.yN14X��.r���m�"�i�UL�..~�^S�åyДܜ�9Q΃�h�,xt���! ��o1�3&�~���"o�.��p3���1ͱ�؜��c�>h��/W��.�Vh, I�ŭ��/HX��B ��C�L=4 �~�y���������ߞ�f��j	�9,��bu0f��Z��,v�%Sx�g}�!C�@N;�F�2L�\vi�?��M<�|<�;N��)"u�J�Y�,V1�Ἣ3�L"��z����
����@�l+E�Xc{�h%�ē�!"�uK��%NweBͲ�V�Ӏ�~�c�őS}�ø�{{
���
� mG5r3f�\G��+�H�X�B�~����>���T]�(���̈́l�"�e}*<����򕄲a~��O�\���;����W[f��sſ.�hT������i	~RS��5'��_�R������C#��m���?�2��F�08�N�󈹛����MQ����A]뵴�,91M�C���-�"��=>Y�����߽"�Z3E�V�D:X�%�4������$��2F��(�Y��j��U~�sh�[�}��VEi�����F���g�ߜW8~uH}���75��qTx��f����0;
#��H�+�8z���|�����vs�gz� Y���rs�>ϖX�'��z�����[��N���e`j���y"#�~>���x�I��)w}�.�W��6#��C�-ׯ�`��%ź��ç��]-)�]��н������T�D��<z�m��>z>Г:�*�x�ז���ځ�;͠�qn���-O�3�Yq�e4�1�.�C����&�i�Yx1��!�wF�K�uԔ���	�)sV�E�մ̬��-+�{w+K�'k��r��Æ�r.ͽB�r}�\�T(lH���r�E_�I �[����w����Г�N�.v�d,�4���0�jWY�2�K�!85�ʠ%�Sk��x`?�Ehz��iaE3�[�/����X^	��f�Q'M³mg����݆�Є��U�RT������a��!ڦ�6������ic�2�5nz乽֘���n�X&�v[7�!�Qg�i���N�G%�&m-Z�ȊCB?k,.H��jgy�J�e����6�N5b��tM��9�bH�ԥ@�:L��u������מ1�Q��L���\�UC\2��Z���u����/ZS>;n��#(�D���Ut�Ң�fo��q令ϓ��e����}.�^�G�
\OAE�M��Y^���$Ȟ0�A�D���5@
����i��}��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�2((5(50�0X�X�e�8���o�j�jDE���oyy ,T���o((0cX�X��GmB���dw�,�,r�,�,@C}0p0p0C�`�`���
� a a
�@a@a� ��a�a�M�������P�P� �h�5h��p�5p����5��`� ��F6�FP�0I60I�&�p6p� ��u6�u� ��v�ul$z0(Tz�L��7lib64/pkgconfig/libxml-2.0.pc000064400000000475150505765560011567 0ustar00prefix=/opt/alt/libxml2/usr
exec_prefix=/opt/alt/libxml2/usr
libdir=/opt/alt/libxml2/usr/lib64
includedir=/opt/alt/libxml2/usr/include
modules=1

Name: libXML
Version: 2.10.2
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2
Libs.private: -lz  -llzma     -lm  
Cflags: -I${includedir}/libxml2 
lib64/cmake/libxml2/libxml2-config.cmake000064400000010764150505765570013762 0ustar00# libxml2-config.cmake
# --------------------
#
# Libxml2 cmake module.
# This module sets the following variables:
#
# ::
#
#   LIBXML2_INCLUDE_DIR        - Directory where LibXml2 headers are located.
#   LIBXML2_INCLUDE_DIRS       - list of the include directories needed to use LibXml2.
#   LIBXML2_LIBRARY            - path to the LibXml2 library.
#   LIBXML2_LIBRARIES          - xml2 libraries to link against.
#   LIBXML2_DEFINITIONS        - the compiler switches required for using LibXml2.
#   LIBXML2_VERSION_MAJOR      - The major version of libxml2.
#   LIBXML2_VERSION_MINOR      - The minor version of libxml2.
#   LIBXML2_VERSION_PATCH      - The patch version of libxml2.
#   LIBXML2_VERSION_STRING     - version number as a string (ex: "2.3.4")
#   LIBXML2_MODULES            - whether libxml2 has dso support
#   LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2
#
# The following targets are defined:
#
#   LibXml2::LibXml2          - the LibXml2 library
#   LibXml2::xmllint          - the xmllint command-line executable

get_filename_component(_libxml2_rootdir ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE)

set(LIBXML2_VERSION_MAJOR  2)
set(LIBXML2_VERSION_MINOR  10)
set(LIBXML2_VERSION_MICRO  2)
set(LIBXML2_VERSION_STRING "2.10.2")
set(LIBXML2_DEFINITIONS    "")
set(LIBXML2_INSTALL_PREFIX ${_libxml2_rootdir})
set(LIBXML2_INCLUDE_DIR    ${_libxml2_rootdir}/include/libxml2)
set(LIBXML2_LIBRARY_DIR    ${_libxml2_rootdir}/lib)

find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH)
find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH)
find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH)

set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
unset(LIBXML2_INTERFACE_LINK_LIBRARIES)

include(CMakeFindDependencyMacro)

set(LIBXML2_WITH_ICONV 1)
set(LIBXML2_WITH_THREADS 1)
set(LIBXML2_WITH_ICU 0)
set(LIBXML2_WITH_LZMA 1)
set(LIBXML2_WITH_ZLIB 1)

if(LIBXML2_WITH_ICONV)
  find_dependency(Iconv)
  list(APPEND LIBXML2_LIBRARIES    ${Iconv_LIBRARIES})
  list(APPEND LIBXML2_INCLUDE_DIRS ${Iconv_INCLUDE_DIRS})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "Iconv::Iconv")
endif()

if(LIBXML2_WITH_THREADS)
  find_dependency(Threads)
  list(APPEND LIBXML2_LIBRARIES    ${CMAKE_THREAD_LIBS_INIT})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Threads::Threads>")
endif()

if(LIBXML2_WITH_ICU)
  find_dependency(ICU COMPONENTS data i18n uc)
  list(APPEND LIBXML2_LIBRARIES    ${ICU_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ICU::data>;\$<LINK_ONLY:ICU::i18n>;\$<LINK_ONLY:ICU::uc>")
endif()

if(LIBXML2_WITH_LZMA)
  find_dependency(LibLZMA)
  list(APPEND LIBXML2_LIBRARIES    ${LIBLZMA_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:LibLZMA::LibLZMA>")
endif()

if(LIBXML2_WITH_ZLIB)
  find_dependency(ZLIB)
  list(APPEND LIBXML2_LIBRARIES    ${ZLIB_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ZLIB::ZLIB>")
endif()

if(UNIX)
  list(APPEND LIBXML2_LIBRARIES    m)
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:m>")
endif()

if(WIN32)
  list(APPEND LIBXML2_LIBRARIES    ws2_32)
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ws2_32>")
endif()

# whether libxml2 has dso support
set(LIBXML2_MODULES 1)

mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE)

if(NOT TARGET LibXml2::LibXml2 AND DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS)
  add_library(LibXml2::LibXml2 UNKNOWN IMPORTED)
  set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION "${LIBXML2_LIBRARY}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXML2_DEFINITIONS}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXML2_INTERFACE_LINK_LIBRARIES}")
endif()

if(NOT TARGET LibXml2::xmlcatalog AND DEFINED LIBXML2_XMLCATALOG_EXECUTABLE)
  add_executable(LibXml2::xmlcatalog IMPORTED)
  set_target_properties(LibXml2::xmlcatalog PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLCATALOG_EXECUTABLE}")
endif()

if(NOT TARGET LibXml2::xmllint AND DEFINED LIBXML2_XMLLINT_EXECUTABLE)
  add_executable(LibXml2::xmllint IMPORTED)
  set_target_properties(LibXml2::xmllint PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLLINT_EXECUTABLE}")
endif()
share/man/man1/xml2-config.1000064400000002351150505765570011504 0ustar00.TH xml2-config 1 "3 April 2022" Version 1.2.0
.SH NAME
xml2-config - script to get information about the installed version of libxml2
.SH SYNOPSIS
.B xml2-config
[\-\-prefix\fI[=DIR]\fP] [\-\-libs] [\-\-cflags] [\-\-version] [\-\-help]
.SH DESCRIPTION
\fIxml2-config\fP is a tool that is used to determine the compile and
linker flags that should be used to compile and link programs that use
\fIlibxml2\fP.
.SH OPTIONS
\fIxml2-config\fP accepts the following options:
.TP 8
.B  \-\-version
Print the currently installed version of \fIlibxml2\fP on the standard output.
.TP 8
.B  \-\-libs
Print the linker flags that are necessary to link a \fIlibxml2\fP program.
Add \-\-dynamic after \-\-libs to print only shared library linking
information.
.TP 8
.B  \-\-cflags
Print the compiler flags that are necessary to compile a \fIlibxml2\fP program.
.TP 8
.B  \-\-prefix=PREFIX
If specified, use PREFIX instead of the installation prefix that
\fIlibxml2\fP was built with when computing the output for the
\-\-cflags and \-\-libs options. This option must be specified before
any \-\-libs or \-\-cflags options.
.SH AUTHOR
This manual page was written by Fredrik Hallenberg <hallon@lysator.liu.se>,
for the Debian GNU/linux system (but may be used by others).
share/man/man1/xmlcatalog.1000064400000020521150505765600011503 0ustar00'\" t
.\"     Title: xmlcatalog
.\"    Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 08/17/2022
.\"    Manual: xmlcatalog Manual
.\"    Source: libxml2
.\"  Language: English
.\"
.TH "XMLCATALOG" "1" "08/17/2022" "libxml2" "xmlcatalog Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
xmlcatalog \- Command line tool to parse and manipulate XML or SGML catalog files\&.
.SH "SYNOPSIS"
.HP \w'\fBxmlcatalog\fR\ 'u
\fBxmlcatalog\fR [\fB\-\-sgml\fR | \fB\-\-shell\fR | \fB\-\-create\fR | \fB\-\-del\ \fR\fB\fIVALUE(S)\fR\fR | [\ \fB\-\-add\ \fR\fB\fITYPE\fR\fR\fB\ \fR\fB\fIORIG\fR\fR\fB\ \fR\fB\fIREPLACE\fR\fR\fB\ \fR\ |\ \fB\-\-add\ \fR\fB\fIFILENAME\fR\fR] | \fB\-\-noout\fR | \fB\-\-no\-super\-update\fR | [\fB\-v\fR\ |\ \fB\-\-verbose\fR]] {\fICATALOGFILE\fR} {\fIENTITIES\fR...}
.SH "DESCRIPTION"
.PP
\fBxmlcatalog\fR
is a command line application allowing users to monitor and manipulate
XML
and
SGML
catalogs\&. It is included in
\fBlibxml\fR(3)\&.
.PP
Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode\&. It can operate on both
XML
and
SGML
files\&.
.SH "OPTIONS"
.PP
\fBxmlcatalog\fR
accepts the following options (in alphabetical order):
.PP
\fB\-\-add \fR\fB\fITYPE\fR\fR\fB \fR\fB\fIORIG\fR\fR\fB \fR\fB\fIREPLACE\fR\fR\fB \fR
.RS 4
Add an entry to
CATALOGFILE\&.
\fITYPE\fR
indicates the type of entry\&. Possible types are:
\fIpublic\fR, \fIsystem\fR, \fIuri\fR, \fIrewriteSystem\fR, \fIrewriteURI\fR, \fIdelegatePublic\fR, \fIdelegateSystem\fR, \fIdelegateURI\fR, \fInextCatalog\fR\&.
\fIORIG\fR
is the original reference to be replaced, and
\fIREPLACE\fR
is the
URI
of the replacement entity to be used\&. The
\fB\-\-add\fR
option will not overwrite
CATALOGFILE, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&. The
\fB\-\-add\fR
will always take three parameters even if some of the
XML
catalog constructs will have only a single argument\&.
.RE
.PP
\fB\-\-add \fR\fB\fIFILENAME\fR\fR
.RS 4
If the
\fB\-\-add\fR
option is used following the
\fB\-\-sgml\fR
option, only a single argument, a
\fIFILENAME\fR, is used\&. This is used to add the name of a catalog file to an
SGML
supercatalog, a file that contains references to other included
SGML
catalog files\&.
.RE
.PP
\fB\-\-create\fR
.RS 4
Create a new
XML
catalog\&. Outputs to
stdout, ignoring
\fIfilename\fR
unless
\fB\-\-noout\fR
is used, in which case it creates a new catalog file
\fIfilename\fR\&.
.RE
.PP
\fB\-\-del \fR\fB\fIVALUE(S)\fR\fR
.RS 4
Remove entries from
\fICATALOGFILE\fR
matching
\fIVALUE(S)\fR\&. The
\fB\-\-del\fR
option will not overwrite
\fICATALOGFILE\fR, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&.
.RE
.PP
\fB\-\-noout\fR
.RS 4
Save output to the named file rather than outputting to
stdout\&.
.RE
.PP
\fB\-\-no\-super\-update\fR
.RS 4
Do not update the
SGML
super catalog\&.
.RE
.PP
\fB\-\-shell\fR
.RS 4
Run a shell allowing interactive queries on catalog file
\fICATALOGFILE\fR\&. For the set of available commands see
the section called \(lqSHELL COMMANDS\(rq\&.
.RE
.PP
\fB\-\-sgml\fR
.RS 4
Uses
SGML
super catalogs for
\fB\-\-add\fR
and
\fB\-\-del\fR
options\&.
.RE
.PP
\fB\-v\fR, \fB\-\-verbose\fR
.RS 4
Output debugging information\&.
.RE
.PP
Invoking
\fBxmlcatalog\fR
non\-interactively without a designated action (imposed with options like
\fB\-\-add\fR) will result in a lookup of the catalog entry for
\fIENTITIES\fR
in the catalog denoted with
\fICATALOGFILE\fR\&. The corresponding entries will be output to the command line\&. This mode of operation, together with
\fB\-\-shell\fR
mode and non\-modifying (i\&.e\&. without
\fB\-\-noout\fR) direct actions, allows for a special shortcut of the void
\fICATALOGFILE\fR
specification (possibly expressed as "" in the shell environment) appointing the default system catalog\&. That simplifies the handling when its exact location is irrelevant but the respective built\-in still needs to be consulted\&.
.SH "SHELL COMMANDS"
.PP
Invoking
\fBxmlcatalog\fR
with the
\fB\-\-shell \fR\fB\fICATALOGFILE\fR\fR
option opens a command line shell allowing interactive access to the catalog file identified by
\fICATALOGFILE\fR\&. Invoking the shell provides a command line prompt after which the following commands (described in alphabetical order) can be entered\&.
.PP
\fBadd \fR\fB\fITYPE\fR\fR\fB \fR\fB\fIORIG\fR\fR\fB \fR\fB\fIREPLACE\fR\fR\fB \fR
.RS 4
Add an entry to the catalog file\&.
\fITYPE\fR
indicates the type of entry\&. Possible types are:
\fIpublic\fR, \fIsystem\fR, \fIuri\fR, \fIrewriteSystem\fR, \fIrewriteURI\fR, \fIdelegatePublic\fR, \fIdelegateSystem\fR, \fIdelegateURI\fR, \fInextCatalog\fR\&.
\fIORIG\fR
is the original reference to be replaced, and
\fIREPLACE\fR
is the
URI
of the replacement entity to be used\&. The
\fB\-\-add\fR
option will not overwrite
CATALOGFILE, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&. The
\fB\-\-add\fR
will always take three parameters even if some of the
XML
catalog constructs will have only a single argument\&.
.RE
.PP
\fBdebug\fR
.RS 4
Print debugging statements showing the steps
\fBxmlcatalog\fR
is executing\&.
.RE
.PP
\fBdel \fR\fB\fIVALUE(S)\fR\fR
.RS 4
Remove the catalog entry corresponding to
\fIVALUE(S)\fR\&.
.RE
.PP
\fBdump\fR
.RS 4
Print the current catalog\&.
.RE
.PP
\fBexit\fR
.RS 4
Quit the shell\&.
.RE
.PP
\fBpublic \fR\fB\fIPUBLIC\-ID\fR\fR
.RS 4
Execute a Formal Public Identifier lookup of the catalog entry for
\fIPUBLIC\-ID\fR\&. The corresponding entry will be output to the command line\&.
.RE
.PP
\fBquiet\fR
.RS 4
Stop printing debugging statements\&.
.RE
.PP
\fBsystem \fR\fB\fISYSTEM\-ID\fR\fR
.RS 4
Execute a Formal Public Identifier lookup of the catalog entry for
\fISYSTEM\-ID\fR\&. The corresponding entry will be output to the command line\&.
.RE
.SH "ENVIRONMENT"
.PP
\fBXML_CATALOG_FILES\fR
.RS 4
XML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBXML_CATALOG_FILES\fR
environment variable to a space\-separated list of catalogs\&. Use percent\-encoding to escape spaces or other characters\&. An empty variable should deactivate loading the default
/etc/xml/catalog
catalog\&.
.RE
.SH "DIAGNOSTICS"
.PP
\fBxmlcatalog\fR
return codes provide information that can be used when calling it from scripts\&.
.PP
\fB0\fR
.RS 4
No error
.RE
.PP
\fB1\fR
.RS 4
Failed to remove an entry from the catalog
.RE
.PP
\fB2\fR
.RS 4
Failed to save to the catalog, check file permissions
.RE
.PP
\fB3\fR
.RS 4
Failed to add an entry to the catalog
.RE
.PP
\fB4\fR
.RS 4
Failed to look up an entry in the catalog
.RE
.SH "SEE ALSO"
.PP
\fBlibxml\fR(3)
.PP
More information can be found at
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
web page
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
catalog support web page at
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
James Clark\*(Aqs
SGML
catalog page
\m[blue]\fB\%http://www.jclark.com/sp/catalog.htm\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
OASIS
XML
catalog specification
\m[blue]\fB\%http://www.oasis-open.org/committees/entity/spec.html\fR\m[]
.RE
.sp
.SH "AUTHOR"
.PP
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
.RS 4
Author.
.RE
.SH "COPYRIGHT"
.br
Copyright \(co 2001, 2004
.br
share/man/man1/xmllint.1000064400000032246150505765600011046 0ustar00'\" t
.\"     Title: xmllint
.\"    Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 08/17/2022
.\"    Manual: xmllint Manual
.\"    Source: libxml2
.\"  Language: English
.\"
.TH "XMLLINT" "1" "08/17/2022" "libxml2" "xmllint Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
xmllint \- command line XML tool
.SH "SYNOPSIS"
.HP \w'\fBxmllint\fR\ 'u
\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-xpath\ "\fR\fB\fIXPath_expression\fR\fR\fB"\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fR\fB\fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fR\fB\fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fR\fB\fIFILE\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-maxmem\ \fR\fB\fINBBYTES\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fR\fB\fIENCODING\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fR\fB\fIPATTERNVALUE\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-schema\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-c14n\fR] {\fIXML\-FILE(S)\fR... | \-}
.HP \w'\fBxmllint\fR\ 'u
\fBxmllint\fR \fB\-\-help\fR
.SH "DESCRIPTION"
.PP
The
\fBxmllint\fR
program parses one or more
XML
files, specified on the command line as
\fIXML\-FILE\fR
(or the standard input if the filename provided is
\fB\-\fR
)\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in
XML
code and in the
XML
parser itself\&.
.PP
\fBxmllint\fR
is included in
\fBlibxml\fR(3)\&.
.SH "OPTIONS"
.PP
\fBxmllint\fR
accepts the following options (in alphabetical order):
.PP
\fB\-\-auto\fR
.RS 4
Generate a small document for testing purposes\&.
.RE
.PP
\fB\-\-catalogs\fR
.RS 4
Use the
SGML
catalog(s) from
\fBSGML_CATALOG_FILES\fR\&. Otherwise
XML
catalogs starting from
/etc/xml/catalog
are used by default\&.
.RE
.PP
\fB\-\-chkregister\fR
.RS 4
Turn on node registration\&. Useful for developers testing
\fBlibxml\fR(3)
node tracking code\&.
.RE
.PP
\fB\-\-compress\fR
.RS 4
Turn on
\fBgzip\fR(1)
compression of output\&.
.RE
.PP
\fB\-\-copy\fR
.RS 4
Test the internal copy implementation\&.
.RE
.PP
\fB\-\-c14n\fR
.RS 4
Use the W3C
XML
Canonicalisation (C14N) to serialize the result of parsing to
stdout\&. It keeps comments in the result\&.
.RE
.PP
\fB\-\-dtdvalid \fR\fB\fIURL\fR\fR
.RS 4
Use the
DTD
specified by an
\fIURL\fR
for validation\&.
.RE
.PP
\fB\-\-dtdvalidfpi \fR\fB\fIFPI\fR\fR
.RS 4
Use the
DTD
specified by a Formal Public Identifier
\fIFPI\fR
for validation, note that this will require a catalog exporting that Formal Public Identifier to work\&.
.RE
.PP
\fB\-\-debug\fR
.RS 4
Parse a file and output an annotated tree of the in\-memory version of the document\&.
.RE
.PP
\fB\-\-debugent\fR
.RS 4
Debug the entities defined in the document\&.
.RE
.PP
\fB\-\-dropdtd\fR
.RS 4
Remove
DTD
from output\&.
.RE
.PP
\fB\-\-dtdattr\fR
.RS 4
Fetch external
DTD
and populate the tree with inherited attributes\&.
.RE
.PP
\fB\-\-encode \fR\fB\fIENCODING\fR\fR
.RS 4
Output in the given encoding\&. Note that this works for full document not fragments or result from XPath queries\&.
.RE
.PP
\fB\-\-format\fR
.RS 4
Reformat and reindent the output\&. The
\fBXMLLINT_INDENT\fR
environment variable controls the indentation\&. The default value is two spaces " ")\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Print out a short usage summary for
\fBxmllint\fR\&.
.RE
.PP
\fB\-\-html\fR
.RS 4
Use the
HTML
parser\&.
.RE
.PP
\fB\-\-htmlout\fR
.RS 4
Output results as an
HTML
file\&. This causes
\fBxmllint\fR
to output the necessary
HTML
tags surrounding the result tree output so the results can be displayed/viewed in a browser\&.
.RE
.PP
\fB\-\-insert\fR
.RS 4
Test for valid insertions\&.
.RE
.PP
\fB\-\-loaddtd\fR
.RS 4
Fetch an external
DTD\&.
.RE
.PP
\fB\-\-load\-trace\fR
.RS 4
Display all the documents loaded during the processing to
stderr\&.
.RE
.PP
\fB\-\-maxmem \fR\fB\fINNBYTES\fR\fR
.RS 4
Test the parser memory support\&.
\fINNBYTES\fR
is the maximum number of bytes the library is allowed to allocate\&. This can also be used to make sure batch processing of
XML
files will not exhaust the virtual memory of the server running them\&.
.RE
.PP
\fB\-\-memory\fR
.RS 4
Parse from memory\&.
.RE
.PP
\fB\-\-noblanks\fR
.RS 4
Drop ignorable blank spaces\&.
.RE
.PP
\fB\-\-nocatalogs\fR
.RS 4
Do not use any catalogs\&.
.RE
.PP
\fB\-\-nocdata\fR
.RS 4
Substitute CDATA section by equivalent text nodes\&.
.RE
.PP
\fB\-\-noent\fR
.RS 4
Substitute entity values for entity references\&. By default,
\fBxmllint\fR
leaves entity references in place\&.
.RE
.PP
\fB\-\-nonet\fR
.RS 4
Do not use the Internet to fetch
DTDs or entities\&.
.RE
.PP
\fB\-\-noout\fR
.RS 4
Suppress output\&. By default,
\fBxmllint\fR
outputs the result tree\&.
.RE
.PP
\fB\-\-nowarning\fR
.RS 4
Do not emit warnings from the parser and/or validator\&.
.RE
.PP
\fB\-\-nowrap\fR
.RS 4
Do not output
HTML
doc wrapper\&.
.RE
.PP
\fB\-\-noxincludenode\fR
.RS 4
Do XInclude processing but do not generate XInclude start and end nodes\&.
.RE
.PP
\fB\-\-nsclean\fR
.RS 4
Remove redundant namespace declarations\&.
.RE
.PP
\fB\-\-output \fR\fB\fIFILE\fR\fR
.RS 4
Define a file path where
\fBxmllint\fR
will save the result of parsing\&. Usually the programs build a tree and save it on
stdout, with this option the result
XML
instance will be saved onto a file\&.
.RE
.PP
\fB\-\-path "\fR\fB\fIPATH(S)\fR\fR\fB"\fR
.RS 4
Use the (space\- or colon\-separated) list of filesystem paths specified by
\fIPATHS\fR
to load
DTDs or entities\&. Enclose space\-separated lists by quotation marks\&.
.RE
.PP
\fB\-\-pattern \fR\fB\fIPATTERNVALUE\fR\fR
.RS 4
Used to exercise the pattern recognition engine, which can be used with the reader interface to the parser\&. It allows to select some nodes in the document based on an XPath (subset) expression\&. Used for debugging\&.
.RE
.PP
\fB\-\-postvalid\fR
.RS 4
Validate after parsing has completed\&.
.RE
.PP
\fB\-\-push\fR
.RS 4
Use the push mode of the parser\&.
.RE
.PP
\fB\-\-recover\fR
.RS 4
Output any parsable portions of an invalid document\&.
.RE
.PP
\fB\-\-relaxng \fR\fB\fISCHEMA\fR\fR
.RS 4
Use RelaxNG file named
\fISCHEMA\fR
for validation\&.
.RE
.PP
\fB\-\-repeat\fR
.RS 4
Repeat 100 times, for timing or profiling\&.
.RE
.PP
\fB\-\-schema \fR\fB\fISCHEMA\fR\fR
.RS 4
Use a W3C
XML
Schema file named
\fISCHEMA\fR
for validation\&.
.RE
.PP
\fB\-\-shell\fR
.RS 4
Run a navigating shell\&. Details on available commands in shell mode are below (see
the section called \(lqSHELL COMMANDS\(rq)\&.
.RE
.PP
\fB\-\-xpath "\fR\fB\fIXPath_expression\fR\fR\fB"\fR
.RS 4
Run an XPath expression given as argument and print the result\&. In case of a nodeset result, each node in the node set is serialized in full in the output\&. In case of an empty node set the "XPath set is empty" result will be shown and an error exit code will be returned\&.
.RE
.PP
\fB\-\-stream\fR
.RS 4
Use streaming
API
\- useful when used in combination with
\fB\-\-relaxng\fR
or
\fB\-\-valid\fR
options for validation of files that are too large to be held in memory\&.
.RE
.PP
\fB\-\-testIO\fR
.RS 4
Test user input/output support\&.
.RE
.PP
\fB\-\-timing\fR
.RS 4
Output information about the time it takes
\fBxmllint\fR
to perform the various steps\&.
.RE
.PP
\fB\-\-valid\fR
.RS 4
Determine if the document is a valid instance of the included Document Type Definition (DTD)\&. A
DTD
to be validated against also can be specified at the command line using the
\fB\-\-dtdvalid\fR
option\&. By default,
\fBxmllint\fR
also checks to determine if the document is well\-formed\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Display the version of
\fBlibxml\fR(3)
used\&.
.RE
.PP
\fB\-\-walker\fR
.RS 4
Test the walker module, which is a reader interface but for a document tree, instead of using the reader
API
on an unparsed document it works on an existing in\-memory tree\&. Used for debugging\&.
.RE
.PP
\fB\-\-xinclude\fR
.RS 4
Do XInclude processing\&.
.RE
.PP
\fB\-\-xmlout\fR
.RS 4
Used in conjunction with
\fB\-\-html\fR\&. Usually when
HTML
is parsed the document is saved with the
HTML
serializer\&. But with this option the resulting document is saved with the
XML
serializer\&. This is primarily used to generate
XHTML
from
HTML
input\&.
.RE
.SH "SHELL COMMANDS"
.PP
\fBxmllint\fR
offers an interactive shell mode invoked with the
\fB\-\-shell\fR
command\&. Available commands in shell mode include (in alphabetical order):
.PP
\fBbase\fR
.RS 4
Display
XML
base of the node\&.
.RE
.PP
\fBbye\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBcat \fR\fB\fINODE\fR\fR
.RS 4
Display the given node or the current one\&.
.RE
.PP
\fBcd \fR\fB\fIPATH\fR\fR
.RS 4
Change the current node to the given path (if unique) or root if no argument is given\&.
.RE
.PP
\fBdir \fR\fB\fIPATH\fR\fR
.RS 4
Dumps information about the node (namespace, attributes, content)\&.
.RE
.PP
\fBdu \fR\fB\fIPATH\fR\fR
.RS 4
Show the structure of the subtree under the given path or the current node\&.
.RE
.PP
\fBexit\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBhelp\fR
.RS 4
Show this help\&.
.RE
.PP
\fBfree\fR
.RS 4
Display memory usage\&.
.RE
.PP
\fBload \fR\fB\fIFILENAME\fR\fR
.RS 4
Load a new document with the given filename\&.
.RE
.PP
\fBls \fR\fB\fIPATH\fR\fR
.RS 4
List contents of the given path or the current directory\&.
.RE
.PP
\fBpwd\fR
.RS 4
Display the path to the current node\&.
.RE
.PP
\fBquit\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBsave \fR\fB\fIFILENAME\fR\fR
.RS 4
Save the current document to the given filename or to the original name\&.
.RE
.PP
\fBvalidate\fR
.RS 4
Check the document for errors\&.
.RE
.PP
\fBwrite \fR\fB\fIFILENAME\fR\fR
.RS 4
Write the current node to the given filename\&.
.RE
.SH "ENVIRONMENT"
.PP
\fBSGML_CATALOG_FILES\fR
.RS 4
SGML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBSGML_CATALOG_FILES\fR
environment variable to a list of catalogs\&. An empty one should deactivate loading the default
/etc/sgml/catalog
catalog\&.
.RE
.PP
\fBXML_CATALOG_FILES\fR
.RS 4
XML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBXML_CATALOG_FILES\fR
environment variable to a space\-separated list of catalogs\&. Use percent\-encoding to escape spaces or other characters\&. An empty variable should deactivate loading the default
/etc/xml/catalog
catalog\&.
.RE
.PP
\fBXML_DEBUG_CATALOG\fR
.RS 4
Setting the environment variable
\fBXML_DEBUG_CATALOG\fR
to
\fInon\-zero\fR
using the
\fBexport\fR
command outputs debugging information related to catalog operations\&.
.RE
.PP
\fBXMLLINT_INDENT\fR
.RS 4
Setting the environment variable
\fBXMLLINT_INDENT\fR
controls the indentation\&. The default value is two spaces " "\&.
.RE
.SH "DIAGNOSTICS"
.PP
\fBxmllint\fR
return codes provide information that can be used when calling it from scripts\&.
.PP
\fB0\fR
.RS 4
No error
.RE
.PP
\fB1\fR
.RS 4
Unclassified
.RE
.PP
\fB2\fR
.RS 4
Error in
DTD
.RE
.PP
\fB3\fR
.RS 4
Validation error
.RE
.PP
\fB4\fR
.RS 4
Validation error
.RE
.PP
\fB5\fR
.RS 4
Error in schema compilation
.RE
.PP
\fB6\fR
.RS 4
Error writing output
.RE
.PP
\fB7\fR
.RS 4
Error in pattern (generated when
\fB\-\-pattern\fR
option is used)
.RE
.PP
\fB8\fR
.RS 4
Error in Reader registration (generated when
\fB\-\-chkregister\fR
option is used)
.RE
.PP
\fB9\fR
.RS 4
Out of memory error
.RE
.PP
\fB10\fR
.RS 4
XPath evaluation error
.RE
.SH "SEE ALSO"
.PP
\fBlibxml\fR(3)
.PP
More information can be found at
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
web page
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2\fR\m[]
.RE
.sp
.SH "AUTHORS"
.PP
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
.RS 4
Author.
.RE
.PP
\fBZiying Sherwin\fR <\&sherwin@nlm\&.nih\&.gov\&>
.RS 4
Author.
.RE
.PP
\fBHeiko Rupp\fR <\&hwr@pilhuhn\&.de\&>
.RS 4
Author.
.RE
.SH "COPYRIGHT"
.br
Copyright \(co 2001, 2004
.br
share/doc/alt-libxml2/Copyright000064400000002411150505765600012444 0ustar00Except where otherwise noted in the source code (e.g. the files hash.c,
list.c and the trio files, which are covered by a similar licence but
with different Copyright notices) all the files are:

 Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is fur-
nished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
share/doc/alt-libxml2/NEWS000064400000570210150505765600011257 0ustar00NEWS file for libxml2

v2.10.2: Aug 29 2022

### Improvements

- Remove set-but-unused variable in xmlXPathScanName
- Silence -Warray-bounds warning

### Build system

- build: require automake-1.16.3 or later (Xi Ruoyao)
- Remove generated files from distribution

### Test suite

- Don't create missing.xml when running testapi


v2.10.1: Aug 25 2022

### Regressions

- Fix xmlCtxtReadDoc with encoding

### Bug fixes

- Fix HTML parser with threads and --without-legacy

### Build system

- Fix build with Python 3.10
- cmake: Disable version script on macOS
- Remove Makefile rule to build testapi.c

### Documentation

- Switch back to HTML output for API documentation
- Port doc/examples/index.py to Python 3
- Fix order of exports in libxml2-api.xml
- Remove libxml2-refs.xml


v2.10.0: Aug 17 2022

### Security

- [CVE-2022-2309] Reset nsNr in xmlCtxtReset
- Reserve byte for NUL terminator and report errors consistently in xmlBuf and
  xmlBuffer (David Kilzer)
- Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer)
- Fix integer overflow in xmlBufferDump() (David Kilzer)
- xmlBufAvail() should return length without including a byte for NUL
  terminator (David Kilzer)
- Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David
  Kilzer)
- Use xmlNewDocText in xmlXIncludeCopyRange
- Fix use-after-free bugs when calling xmlTextReaderClose() before
  xmlFreeTextReader() on post-validating parser (David Kilzer)
- Use UPDATE_COMPAT() consistently in buf.c (David Kilzer)
- fix: xmlXPathParserContext could be double-delete in  OOM case. (jinsub ahn)

### Removals and deprecations

- Disable XPointer location support by default
- Remove outdated xml2Conf.sh
- Deprecate module init and cleanup functions
- Remove obsolete XML Software Autoupdate (XSA) file
- Remove DOCBparser
- Remove obsolete Python test framework
- Remove broken VxWorks support
- Remove broken Mac OS 9 support
- Remove broken bakefile support
- Remove broken Visual Studio 2010 support
- Remove broken Windows CE support
- Deprecate IDREF-related functions in valid.h
- Deprecate legacy functions
- Disable legacy support by default
- Deprecate all functions in nanoftp.h
- Disable FTP support by default
- Add XML_DEPRECATED macro
- Remove elfgcchack.h

### Regressions

- Skip incorrectly opened HTML comments
- Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer)

### Bug fixes

- Fix memory leak with invalid XSD
- Make XPath depth check work with recursive invocations
- Fix memory leak in xmlLoadEntityContent error path
- Avoid double-free if malloc fails in inputPush
- Properly fold whitespace around the QName value when validating an XSD
  schema. (Damjan Jovanovic)
- Add whitespace folding for some atomic data types that it's missing on.
  (Damjan Jovanovic)
- Don't add IDs containing unexpanded entity references

### Improvements

- Avoid calling xmlSetTreeDoc
- Simplify xmlFreeNode
- Don't reset nsDef when changing node content
- Fix unintended fall-through in xmlNodeAddContentLen
- Remove unused xmlBuf functions (David Kilzer)
- Implement xpath1() XPointer scheme
- Add configuration flag for XPointer locations support
- Fix compiler warnings in Python code
- Mark more static data as `const` (David Kilzer)
- Make xmlStaticCopyNode non-recursive
- Clean up encoding switching code
- Simplify recursive pthread mutex
- Use non-recursive mutex in dict.c
- Fix parser progress checks
- Avoid arithmetic on freed pointers
- Improve buffer allocation scheme
- Remove unneeded #includes
- Add support for some non-standard escapes in regular expressions. (Damjan
  Jovanovic)
- htmlParseComment: handle abruptly-closed comments (Mike Dalessio)
- Add let variable tag support (Oliver Diehl)
- Add value-of tag support (Oliver Diehl)
- Remove useless call to xmlRelaxNGCleanupTypes
- Don't include ICU headers in public headers
- Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio)
- Fix unused variable warnings with disabled features
- Only warn on invalid redeclarations of predefined entities
- Remove unneeded code in xmlreader.c
- Rework validation context flags

### Portability

- Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin)
- Fix Python tests on macOS
- Fix xmlCleanupThreads on Windows
- Fix reinitialization of library on Windows
- Don't mix declarations and code in runtest.c
- Use portable python shebangs (David Seifert)
- Use critical sections as mutex on Windows
- Don't set HAVE_WIN32_THREADS in win32config.h
- Use stdint.h with newer MSVC
- Remove cruft from win32config.h
- Remove isinf/isnan emulation in win32config.h
- Always fopen files with "rb"
- Remove __DJGPP__ checks
- Remove useless __CYGWIN__ checks

### Build system

- Don't autogenerate doc/examples/Makefile.am
- cmake: Install libxml.m4 on UNIX-like platforms (Daniel E)
- cmake: Use symbol versioning on UNIX-like platforms (Daniel E)
- Port genUnicode.py to Python 3
- Port gentest.py to Python 3
- cmake: Fix build without thread support
- cmake: Install documentation in CMAKE_INSTALL_DOCDIR
- cmake: Remove non needed files in docs dir (Daniel E)
- configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
  (Christopher Degawa)
- Move local Autoconf macros into m4 directory
- Use XML_PRIVATE_LIBS in libxml2_la_LIBADD
- Update libxml-2.0-uninstalled.pc.in
- Remove LIBS from XML_PRIVATE_LIBS
- Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
- Don't overlink executables
- cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg)
- build: Make use of variables in libxml's pkg-config file (Daniel Engberg)
- Avoid obsolescent `test -a` constructs (David Seifert)
- Move AM_MAINTAINER_MODE to AM section
- configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert)
- Streamline documentation installation
- Don't try to recreate COPYING symlink
- Detect libm using libtool's macros (David Seifert)
- configure.ac: disable static libraries by default (David Seifert)
- python/Makefile.am: nest python docs in $(docdir) (David Seifert)
- python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
- Makefile.am: install examples more idiomatically (David Seifert)
- configure.ac: remove useless AC_SUBST (David Seifert)
- Respect `--sysconfdir` in source files (David Seifert)
- Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin)
- Only install *.html and *.c example files
- Remove --with-html-dir option
- Rework documentation build system
- Remove old website
- Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
- Update genChRanges.py
- Update build_glob.py
- Remove ICONV_CONST test
- Remove obsolete AC_HEADER checks
- Don't check for standard C89 library functions
- Don't check for standard C89 headers
- Remove special configuration for certain maintainers

### Test suite, CI

- Disable network in API tests
- testapi: remove leading slash from "/missing.xml" (Mike Gilbert)
- Build Autotools CI tests out of source tree (VPATH)
- Add --with-minimum build to CI tests
- Fix warnings when testing --with-minimum build
- cmake: Run all tests when threads are disabled
- Also build CI tests with -Werror
- Move doc/examples tests to new test suite
- Simplify 'make check' targets
- Fix schemas and relaxng tests
- Remove unused result files
- Allow missing result files in runtest
- Move regexp tests to runtest
- Move SVG tests to runtest.c
- Move testModule to new test suite
- Move testThreads to new test suite
- Remove major parts of old test suite
- Make testchar return an error on failure (Tony Tascioglu)
- Add CI job for static build
- python/tests: open() relative to test scripts (David Seifert)
- Port some test scripts to Python 3

### Documentation

- Improve documentation of tree manipulation API
- Update xml2-config man page
- Consolidate man pages
- Rename xmlcatalog_man.xml
- Make examples a standalone HTML page
- Fix documentation in entities.c
- Add note about optimization flags


v2.9.14: May 02 2022:
   - Security:
  [CVE-2022-29824] Integer overflow in xmlBuf and xmlBuffer
  Fix potential double-free in xmlXPtrStringRangeFunction
  Fix memory leak in xmlFindCharEncodingHandler
  Normalize XPath strings in-place
  Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars()
    (David Kilzer)
  Fix leak of xmlElementContent (David Kilzer)

   - Bug fixes:
  Fix parsing of subtracted regex character classes
  Fix recursion check in xinclude.c
  Reset last error in xmlCleanupGlobals
  Fix certain combinations of regex range quantifiers
  Fix range quantifier on subregex

   - Improvements:
  Fix recovery from invalid HTML start tags

   - Build system, portability:
  Define LFS macros before including system headers
  Initialize XPath floating-point globals
  configure: check for icu DEFS (James Hilliard)
  configure.ac: produce tar.xz only (GNOME policy) (David Seifert)
  CMakeLists.txt: Fix LIBXML_VERSION_NUMBER
  Fix build with older Python versions
  Fix --without-valid build


v2.9.13: Feb 19 2022:
   - Security:
  [CVE-2022-23308] Use-after-free of ID and IDREF attributes
  (Thanks to Shinji Sato for the report)
  Use-after-free in xmlXIncludeCopyRange (David Kilzer)
  Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)
  Fix memory leak in xmlXPathCompNodeTest
  Fix null pointer deref in xmlStringGetNodeList
  Fix several memory leaks found by Coverity (David King)
  
   - Fixed regressions:
  Fix regression in RelaxNG pattern matching
  Properly handle nested documents in xmlFreeNode
  Fix regression with PEs in external DTD
  Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi)
  Revert "Make schema validation fail with multiple top-level elements"
  Fix regression when parsing invalid HTML tags in push mode
  Fix regression parsing public IDs literals in HTML
  Fix buffering in xmlOutputBufferWrite
  Fix whitespace when serializing empty HTML documents
  Fix XPath recursion limit
  Fix regression in xmlNodeDumpOutputInternal
  Work around lxml API abuse
  
   - Bug fixes:
  Fix xmlSetTreeDoc with entity references
  Fix double counting of CRLF in comments
  Make sure to grow input buffer in xmlParseMisc
  Don't ignore xmllint options after "-"
  Don't normalize namespace URIs in XPointer xmlns() scheme
  Fix handling of XSD with empty namespace
  Also register HTML document nodes
  Make xmllint return an error if arguments are missing
  Fix handling of ctxt->base in xmlXPtrEvalXPtrPart
  Fix xmllint --maxmem
  Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber)
  Move current position before possible calling of ctxt->sax->characters (Yulin Li)
  Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)
  Patch to forbid epsilon-reduction of final states (Arne Becker)
  Avoid segfault at exit when using custom memory functions (Mike Dalessio)
  
   - Tests, code quality, fuzzing:
  Remove .travis.yml
  Make xmlFuzzReadString return a zero size in error case
  Fix unused function warning in testapi.c
  Update NewsML DTD in test suite
  Add more checks for malloc failures in xmllint.c
  Avoid potential integer overflow in xmlstring.c
  Run CI tests with UBSan implicit-conversion checks
  Fix casting of line numbers in SAX2.c
  Fix integer conversion warnings in hash.c
  Add explicit casts in runtest.c 
  Fix integer conversion warning in xmlIconvWrapper
  Add suffix to unsigned constant in xmlmemory.c
  Add explicit casts in testchar.c
  Fix integer conversion warnings in xmlstring.c
  Add explicit cast in xmlURIUnescapeString
  Remove unused variable in xmlCharEncOutFunc (David King)
  
   - Build system, portability:
  Remove xmlwin32version.h
  Fix fuzzer test with VPATH build
  Support custom prefix when installing Python module
  Remove Makefile.win
  Remove CVS and SVN-related code
  Port python 3.x module to Windows and improve distutils (Chun-wei Fan)
  Correctly install the HTML examples into their subdirectory (Mattia Rizzolo)
  Refactor the settings of $docdir (Mattia Rizzolo)
  Remove unused configure checks (Ben Boeckel)
  python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James)
  Fix check for libtool in autogen.sh
  Use version in configure.ac for CMake (Timothy Lyanguzov)
  Add CMake alias targets for embedded projects (Markus Rickert)
  
   - Documentation:
  Remove SVN keyword anchors
  Rework README
  Remove README.cvs-commits
  Remove old ChangeLog
  Update hyperlinks
  Remove README.docs
  Remove MAINTAINERS 
  Remove xmltutorial.pdf
  Upload documentation to GitLab pages
  Document how to escape XML_CATALOG_FILES
  Fix libxml2.doap
  Update URL for libxml++ C++ binding (Kjell Ahlstedt)
  Generate devhelp2 index file (Emmanuele Bassi)
  Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)
  Add documentaiton for xmllint exit code 10 (Rainer Canavan)
  Fix some validation errors in the FAQ (David King)
  Add instructions on how to use CMake to compile libxml (Markus Rickert)
  


v2.9.12: May 13 2021:
   - Build system:
  Add fuzz.h and seed/regexp to EXTRA_DIST
  


v2.9.11: May 13 2021:
   - Security:
  Patch for security issue CVE-2021-3541 (Daniel Veillard)
  
   - Documentation:
  Clarify xmlNewDocProp documentation (Nick Wellnhofer)
  
   - Portability:
  CMake: Only add postfixes if MSVC (Christopher Degawa),
  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),
  Use CMake PROJECT_VERSION (Markus Rickert),
  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),
  Add CI for CMake on MSVC (Markus Rickert),
  Update minimum required CMake version (Markus Rickert),
  Add variables for configured options to CMake config files (Markus Rickert),
  Check if variables exist when defining targets (Markus Rickert),
  Check if target exists when reading target properties (Markus Rickert),
  Add xmlcatalog target and definition to config files (Markus Rickert),
  Remove include directories for link-only dependencies (Markus Rickert),
  Fix ICU build in CMake (Markus Rickert),
  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),
  Update CMake config files (Markus Rickert),
  Add xmlcatalog and xmllint to CMake export (Markus Rickert),
  Simplify xmlexports.h (Nick Wellnhofer),
  Require dependencies based on enabled CMake options (Markus Rickert),
  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),
  Add CMake files to EXTRA_DIST (Markus Rickert),
  Add missing compile definition for static builds to CMake (Markus Rickert),
  Add CI for CMake on Linux and MinGW (Markus Rickert),
  Fix variable name in win32/configure.js (Nick Wellnhofer),
  Fix version parsing in win32/configure.js (Nick Wellnhofer),
  Fix autotools warnings (Nick Wellnhofer),
  Update config.h.cmake.in (Markus Rickert),
  win32: allow passing *FLAGS on command line (Michael Stahl),
  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),
  List headers individually (Markus Rickert),
  Add CMake build files (Markus Rickert),
  Parenthesize Py<type>_Check() in ifs (Miro Hrončok),
  Minor fixes to configure.js (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),
  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),
  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),
  Fix htmlTagLookup (Nick Wellnhofer),
  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),
  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),
  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),
  Validate UTF8 in xmlEncodeEntities (Joel Hockey),
  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),
  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),
  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),
  Fix exponential behavior with recursive entities (Nick Wellnhofer),
  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),
  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),
  Fix null deref introduced with previous commit (Nick Wellnhofer),
  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),
  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),
  parser.c: shrink the input buffer when appropriate (Mike Dalessio),
  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),
  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),
  Fix timeout when handling recursive entities (Nick Wellnhofer),
  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),
  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),
  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),
  htmlParseComment: treat `--!>` as if it closed the comment (Mike Dalessio),
  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),
  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),
  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet->val" (Xiaoming Ni),
  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),
  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),
  Avoid quadratic checking of identity-constraints (Michael Matz),
  Fix building with ICU 68. (Frederik Seiffert),
  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),
  Fix xmlURIEscape memory leaks. (Elliott Hughes),
  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),
  Fix caret in regexp character group (Nick Wellnhofer),
  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),
  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),
  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),
  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),
  Fix null deref in XPointer expression error path (Nick Wellnhofer),
  Don't call xmlXPathInit directly (Nick Wellnhofer),
  Fix cleanup of attributes in XML reader (Nick Wellnhofer),
  Fix double free in XML reader with XIncludes (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),
  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),
  Fix error reporting with xi:fallback (Nick Wellnhofer),
  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),
  Fix corner case with empty xi:fallback (Nick Wellnhofer),
  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),
  Fix memory leak in runtest.c (Nick Wellnhofer),
  Make "xmllint --push --recovery" work (Nick Wellnhofer),
  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),
  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),
  Stop counting nbChars in parser context (Nick Wellnhofer),
  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),
  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),
  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),
  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),
  Check for custom free function in global destructor (Nick Wellnhofer),
  Fix integer overflow when comparing schema dates (Nick Wellnhofer),
  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),
  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),
  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),
  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),
  Reset XML parser input before reporting errors (David Kilzer),
  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),
  Fix HTML push parser lookahead (Nick Wellnhofer),
  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),
  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),
  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),
  Reset HTML parser input before reporting error (Nick Wellnhofer),
  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),
  Fix regression introduced with 477c7f6a (Nick Wellnhofer),
  Fix quadratic runtime in HTML parser (Nick Wellnhofer),
  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),
  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),
  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),
  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),
  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),
  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),
  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),
  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),
  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),
  Fix return value of xmlCharEncOutput (Nick Wellnhofer),
  Never expand parameter entities in text declaration (Nick Wellnhofer),
  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),
  Fix use-after-free with validating reader (Nick Wellnhofer),
  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),
  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),
  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),
  Call xmlCleanupParser on ELF destruction (Samuel Thibault),
  Fix copying of entities in xmlParseReference (Nick Wellnhofer),
  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),
  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),
  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),
  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),
  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),
  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),
  Remove useless comparisons (Nick Wellnhofer),
  Fix overflow check in xmlNodeDump (Nick Wellnhofer),
  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),
  Fix freeing of nested documents (Nick Wellnhofer),
  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),
  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),
  Fix xml2-config error code (Nick Wellnhofer),
  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),
  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),
  Null pointer handling in catalog.c (raniervf),
  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)
  
   - Improvements:
  Store per-element parser state in a struct (Nick Wellnhofer),
  update for xsd:language type check (PaulHiggs),
  Update INSTALL.libxml2 (Nick Wellnhofer),
  Fix include order in c14n.h (Nick Wellnhofer),
  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),
  Speed up htmlCheckAutoClose (Nick Wellnhofer),
  Speed up htmlTagLookup (Nick Wellnhofer),
  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),
  Reduce some fuzzer timeouts (Nick Wellnhofer),
  Only run a few CI tests unless scheduled (Nick Wellnhofer),
  Improve fuzzer stability (Nick Wellnhofer),
  Check for feature flags in fuzzer tests (Nick Wellnhofer),
  Another attempt at improving fuzzer stability (Nick Wellnhofer),
  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),
  Add charset names to fuzzing dictionaries (Nick Wellnhofer),
  Improve HTML fuzzer stability (Nick Wellnhofer),
  Add CI for MSVC x86 (Markus Rickert),
  Add a flag to not output anything when xmllint succeeded (hhb),
  Speed up HTML fuzzer (Nick Wellnhofer),
  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),
  Handle malloc failures in fuzzing code (Nick Wellnhofer),
  add test coverage for incorrectly-closed comments (Mike Dalessio),
  Enforce maximum length of fuzz input (Nick Wellnhofer),
  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),
  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),
  Add CI test for Python 3 (Nick Wellnhofer),
  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),
  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),
  Allow port numbers up to INT_MAX (Nick Wellnhofer),
  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),
  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),
  Hardcode maximum XPath recursion depth (Nick Wellnhofer),
  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),
  Consolidate seed corpus generation (Nick Wellnhofer),
  Test fuzz targets with dummy driver (Nick Wellnhofer),
  Fix regression introduced with commit d88df4b (Nick Wellnhofer),
  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),
  Add TODO comment in xinclude.c (Nick Wellnhofer),
  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),
  Remove dead code in xinclude.c (Nick Wellnhofer),
  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),
  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),
  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),
  Use strcmp when fuzzing (Nick Wellnhofer),
  Fix XPath fuzzer (Nick Wellnhofer),
  Fuzz XInclude engine (Nick Wellnhofer),
  Add XPath and XPointer fuzzer (Nick Wellnhofer),
  Update fuzzing code (Nick Wellnhofer),
  More *NodeDumpOutput fixes (Nick Wellnhofer),
  Fix *NodeDumpOutput functions (Nick Wellnhofer),
  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),
  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),
  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),
  Fix .gitattributes (Nick Wellnhofer),
  Rework control flow in htmlCurrentChar (Nick Wellnhofer),
  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),
  Remove misleading comments in xpath.c (Nick Wellnhofer),
  Update to Devhelp index file format version 2 (Andre Klapper),
  Set project language to C (Markus Rickert),
  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),
  Add additional tests and XML Conformance Test Suite (Markus Rickert),
  Add command line option for temp directory in runtest (Markus Rickert),
  Ensure LF line endings for test files (Markus Rickert),
  Enable runtests and testThreads (Markus Rickert),
  Limit regexp nesting depth (Nick Wellnhofer),
  Fix return values and documentation in encoding.c (Nick Wellnhofer),
  Add regexp regression tests (David Kilzer),
  Report error for invalid regexp quantifiers (Nick Wellnhofer),
  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),
  Copy xs:duration parser from libexslt (Nick Wellnhofer),
  Fuzz target for XML Schemas (Nick Wellnhofer),
  Move entity recorder to fuzz.c (Nick Wellnhofer),
  Fuzz target for HTML parser (Nick Wellnhofer),
  Update GitLab CI container (Nick Wellnhofer),
  Add options file for xml fuzzer (Nick Wellnhofer),
  Add a couple of libFuzzer targets (Nick Wellnhofer),
  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),
  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),
  Fix typos (Nick Wellnhofer),
  Disable LeakSanitizer (Nick Wellnhofer),
  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),
  Add test case for recursive external parsed entities (Nick Wellnhofer),
  Enable error tests with entity substitution (Nick Wellnhofer),
  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),
  Merge code paths loading external entities (Nick Wellnhofer),
  Copy some XMLReader option flags to parser context (Nick Wellnhofer),
  Add xmlPopOutputCallbacks (Nick Wellnhofer),
  Updated Python test reader2.py (Pieter van Oostrum),
  Updated python/tests/tstLastError.py (Pieter van Oostrum),
  Use random seed in xmlDictComputeFastKey (Ranier Vilela),
  Enable more undefined behavior sanitizers (Nick Wellnhofer)
  


v2.9.10: Oct 30 2019:
   - Documentation:
  Fix a few more typos ("fonction") (Nick Wellnhofer),
  Large batch of typo fixes (Jared Yanovich),
  Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),
  Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),
  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),
  Fix comments in test code (zhouzhongyuan),
  fix comment in testReader.c (zhouzhongyuan)
  
   - Portability:
  Fix some release issues on Fedora 30 (Daniel Veillard),
  Fix exponent digits when running tests under old MSVC (Daniel Richard G),
  Work around buggy ceil() function on AIX (Daniel Richard G),
  Don't call printf with NULL string in runtest.c (Daniel Richard G),
  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),
  timsort.h: support older GCCs (Jérôme Duval),
  Make configure.ac work with older pkg-config (Nick Wellnhofer),
  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),
  Fix nanohttp.c on MinGW (Nick Wellnhofer),
  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),
  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),
  Fix Python bindings under Windows (Nick Wellnhofer)
  
   - Bug Fixes:
  Another fix for conditional sections at end of document (Nick Wellnhofer),
  Fix for conditional sections at end of document (Nick Wellnhofer),
  Make sure that Python tests exit with error code (Nick Wellnhofer),
  Audit memory error handling in xpath.c (Nick Wellnhofer),
  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),
  Fix integer overflow when counting written bytes (Nick Wellnhofer),
  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),
  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
  Disallow conditional sections in internal subset (Nick Wellnhofer),
  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),
  Fix Regextests (Nick Wellnhofer),
  Fix empty branch in regex (Nick Wellnhofer),
  Fix integer overflow in entity recursion check (Nick Wellnhofer),
  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),
  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),
  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),
  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),
  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),
  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),
  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),
  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),
  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),
  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),
  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),
  Partial fix for comparison of xs:durations (Nick Wellnhofer),
  Fix null deref in xmlreader buffer (zhouzhongyuan),
  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),
  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),
  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),
  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),
  Fix unsigned int overflow (Jens Eggerstedt),
  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),
  Fix another code path in xmlParseQName (Nick Wellnhofer),
  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),
  Fix build without reader but with pattern (Nick Wellnhofer),
  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),
  Fix unsigned integer overflow (Nick Wellnhofer),
  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),
  Fix parser termination from "Double hyphen within comment" error (David Warring),
  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),
  Fix null deref in previous commit (Nick Wellnhofer),
  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),
  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),
  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),
  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),
  Fix null deref in xmlregexp error path (Nick Wellnhofer),
  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),
  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),
  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),
  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),
  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),
  Memory leak in xmlFreeTextReader (Nick Wellnhofer),
  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)
  
   - Improvements:
  Run XML conformance tests under CI (Nick Wellnhofer),
  Update GitLab CI config (Nick Wellnhofer),
  Propagate memory errors in valuePush (Nick Wellnhofer),
  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),
  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),
  Enable continuous integration via GitLab CI (Nick Wellnhofer),
  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),
  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),
  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),
  Mark xmlExp* symbols as removed (Nick Wellnhofer),
  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),
  Adjust expected error in Python tests (Nick Wellnhofer),
  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),
  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),
  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),
  Remove executable bit from non-executable files (Nick Wellnhofer),
  Fix expected output of test/schemas/any4 (Nick Wellnhofer),
  Optimize build instructions in README (zhouzhongyuan),
  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),
  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),
  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),
  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),
  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),
  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),
  Remove -Wno-array-bounds (Nick Wellnhofer),
  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),
  Improve XPath predicate and filter evaluation (Nick Wellnhofer),
  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),
  Disable hash randomization when fuzzing (Nick Wellnhofer),
  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),
  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),
  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),
  Optional XPath operation limit (Nick Wellnhofer),
  Fix compilation with --with-minimum (Nick Wellnhofer),
  Check XPath stack after calling functions (Nick Wellnhofer),
  Remove debug printf in xmlreader.c (Nick Wellnhofer),
  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),
  Regenerate NEWS (Nick Wellnhofer),
  Change git repo URL (Nick Wellnhofer),
  Change bug tracker URL (Nick Wellnhofer),
  Remove outdated HTML file (Nick Wellnhofer),
  Fix unused function warning in testapi.c (Nick Wellnhofer),
  Add some generated test files to .gitignore (Nick Wellnhofer),
  Remove unneeded function pointer casts (Nick Wellnhofer),
  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),
  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)
  
   - Cleanups:
  Rebuild docs (Nick Wellnhofer),
  Disable xmlExp regex code (Nick Wellnhofer),
  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),
  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)
  


v2.9.9: Jan 03 2019:
   - Security:
  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),
  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),
  
   - Documentation:
  reader: Fix documentation comment (Mohammed Sadiq)
  
   - Portability:
  Fix MSVC build with lzma (Nick Wellnhofer),
  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),
  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),
  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),
  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),
  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),
  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)
  
   - Bug Fixes:
  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),
  Fix building relative URIs (Thomas Holder),
  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),
  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),
  Set doc on element obtained from freeElems (Nick Wellnhofer),
  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),
  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),
  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),
  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),
  Free input buffer in xmlHaltParser (Nick Wellnhofer),
  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),
  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),
  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),
  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),
  Remove stray character from comment (Nick Wellnhofer),
  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),
  HTML noscript should not close p (Daniel Veillard),
  Don't change context node in xmlXPathRoot (Nick Wellnhofer),
  Stop using XPATH_OP_RESET (Nick Wellnhofer),
  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)
  
   - Improvements:
  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),
  cleanup: remove some unreachable code (Thomas Holder),
  add --relative to testURI (Thomas Holder),
  Remove redefined starts and defines inside include elements (Nikolai Weibull),
  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),
  Look inside divs for starts and defines inside include (Nikolai Weibull),
  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),
  Stop using doc->charset outside parser code (Nick Wellnhofer),
  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),
  Don't include SAX.h from globals.h (Nick Wellnhofer),
  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),
  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),
  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),
  Improve restoring of context size and position (Nick Wellnhofer),
  Simplify and harden nodeset filtering (Nick Wellnhofer),
  Avoid unnecessary backups of the context node (Nick Wellnhofer),
  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)
  
   - Cleanups:
  


v2.9.8: Mar 05 2018:
   - Portability:
  python: remove single use of _PyVerify_fd (Patrick Welche),
  Build more test executables on Windows/MSVC (Nick Wellnhofer),
  Stop including ansidecl.h (Nick Wellnhofer),
  Fix libz and liblzma detection (Nick Wellnhofer),
  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix xmlParserEntityCheck (Nick Wellnhofer),
  Halt parser in case of encoding error (Nick Wellnhofer),
  Clear entity content in case of errors (Nick Wellnhofer),
  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),
  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),
  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),
  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),
  Fix -Wenum-compare warnings (Nick Wellnhofer),
  Fix callback signature in testapi.c (Nick Wellnhofer),
  Fix unused parameter warning without ICU (Nick Wellnhofer),
  Fix IO callback signatures (Nick Wellnhofer),
  Fix misc callback signatures (Nick Wellnhofer),
  Fix list callback signatures (Nick Wellnhofer),
  Fix hash callback signatures (Nick Wellnhofer),
  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),
  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),
  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)
  
   - Improvements:
  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),
  Improve handling of context input_id (Daniel Veillard),
  Add resource file to Windows DLL (ccpaging),
  Run Travis tests with -Werror (Nick Wellnhofer),
  Build with "-Wall -Wextra" (Nick Wellnhofer),
  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),
  Remove unused AC_CHECKs (Nick Wellnhofer),
  Update information about contributing (Nick Wellnhofer),
  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),
  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),
  Ignore function pointer cast warnings (Nick Wellnhofer),
  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),
  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),
  Add test for ICU flush and pivot buffer (Nick Wellnhofer),
  Compile testapi with -Wno-unused-function (Nick Wellnhofer)
  


2.9.7: Nov 02 2017:
   - Documentation:
  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)
  
   - Portability:
  Fix deprecated Travis compiler flag (Nick Wellnhofer),
  Add declaration for DllMain (J. Peter Mugaas),
  Fix preprocessor conditional in threads.h (J. Peter Mugaas),
  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),
  Fix macro redefinition warning (J. Peter Mugaas),
  Default to native threads on MinGW-w64 (Nick Wellnhofer),
  Simplify Windows IO functions (Nick Wellnhofer),
  Fix runtest on Windows (Nick Wellnhofer),
  socklen_t is always int on Windows (Nick Wellnhofer),
  Don't redefine socket error codes on Windows (Nick Wellnhofer),
  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),
  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)
  
   - Bug Fixes:
  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),
  Fix comparison of nodesets to strings (Nick Wellnhofer)
  
   - Improvements:
  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),
  Fix mixed decls and code in timsort.h (Nick Wellnhofer),
  Rework handling of return values in thread tests (Nick Wellnhofer),
  Fix unused variable warnings in testrecurse (Nick Wellnhofer),
  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),
  Upgrade timsort.h to latest revision (Nick Wellnhofer),
  Increase warning level to /W3 under MSVC (Nick Wellnhofer),
  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),
  Update .gitignore for Windows (Nick Wellnhofer),
  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),
  Fix the Windows header mess (Nick Wellnhofer),
  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),
  Remove generated file python/setup.py from version control (Nick Wellnhofer),
  Use __linux__ macro in generated code (Nick Wellnhofer)
  


v2.9.6: Oct 06 2017:
   - Portability:
  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix XPath stack frame logic (Nick Wellnhofer),
  Report undefined XPath variable error message (Nick Wellnhofer),
  Fix regression with librsvg (Nick Wellnhofer),
  Handle more invalid entity values in recovery mode (Nick Wellnhofer),
  Fix structured validation errors (Nick Wellnhofer),
  Fix memory leak in LZMA decompressor (Nick Wellnhofer),
  Set memory limit for LZMA decompression (Nick Wellnhofer),
  Handle illegal entity values in recovery mode (Nick Wellnhofer),
  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),
  Fix memory leak in nanoftp (Nick Wellnhofer),
  Fix memory leaks in SAX1 parser (Nick Wellnhofer)
  


v2.9.5: Sep 04 2017:
   - Security:
  Detect infinite recursion in parameter entities (Nick Wellnhofer),
  Fix handling of parameter-entity references (Nick Wellnhofer),
  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),
  Fix XPointer paths beginning with range-to (Nick Wellnhofer)
  
   - Documentation:
  Documentation fixes (Nick Wellnhofer),
  Spelling and grammar fixes (Nick Wellnhofer)
  
   - Portability:
  Adding README.zOS to list of extra files for the release (Daniel Veillard),
  Description of work needed to compile on zOS (Stéphane Michaut),
  Porting libxml2 on zOS encoding of code (Stéphane Michaut),
  small changes for OS/400 (Patrick Monnerat),
  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)
  
   - Bug Fixes:
  Problem resolving relative URIs (Daniel Veillard),
  Fix unwanted warnings when switching encodings (Nick Wellnhofer),
  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),
  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),
  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),
  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),
  Send xmllint usage error to stderr (Nick Wellnhofer),
  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),
  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),
  Fix xmlHaltParser (Nick Wellnhofer),
  Fix pathological performance when outputting charrefs (Nick Wellnhofer),
  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),
  Fix duplicate SAX callbacks for entity content (David Kilzer),
  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),
  Fix copy-paste errors in error messages (Nick Wellnhofer),
  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),
  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),
  Reset parser input pointers on encoding failure (Nick Wellnhofer),
  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),
  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),
  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),
  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),
  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),
  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),
  Stop parser on unsupported encodings (Nick Wellnhofer),
  Check for integer overflow in memory debug code (Nick Wellnhofer),
  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),
  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),
  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),
  Check XPath exponents for overflow (Nick Wellnhofer),
  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),
  Fix spurious error message (Nick Wellnhofer),
  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),
  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),
  Fix memory leak in pattern error path (Nick Wellnhofer),
  Fix memory leak in parser error path (Nick Wellnhofer),
  Fix memory leaks in XPointer error paths (Nick Wellnhofer),
  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),
  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),
  Fix memory leaks in XPath error paths (Nick Wellnhofer),
  Do not leak the new CData node if adding fails (David Tardon),
  Prevent unwanted external entity reference (Neel Mehta),
  Increase buffer space for port in HTTP redirect support (Daniel Veillard),
  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),
  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),
  Fix format string warnings (Nick Wellnhofer),
  Disallow namespace nodes in XPointer points (Nick Wellnhofer),
  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),
  Fix attribute decoding during XML schema validation (Alex Henrie),
  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)
  
   - Improvements:
  Updating the spec file to reflect Fedora 24 (Daniel Veillard),
  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),
  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),
  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),
  Simplify handling of parameter entity references (Nick Wellnhofer),
  Deduplicate code in encoding.c (Nick Wellnhofer),
  Make HTML parser functions take const pointers (Nick Wellnhofer),
  Build test programs only when needed (Nick Wellnhofer),
  Fix doc/examples/index.py (Nick Wellnhofer),
  Fix compiler warnings in threads.c (Nick Wellnhofer),
  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),
  Fix cast-align warnings (Nick Wellnhofer),
  Fix unused-parameter warnings (Nick Wellnhofer),
  Rework entity boundary checks (Nick Wellnhofer),
  Don't switch encoding for internal parameter entities (Nick Wellnhofer),
  Merge duplicate code paths handling PE references (Nick Wellnhofer),
  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),
  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),
  Misc fixes for 'make tests' (Nick Wellnhofer),
  Initialize keepBlanks in HTML parser (Nick Wellnhofer),
  Add test cases for bug 758518 (David Kilzer),
  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),
  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),
  Allow zero sized memory input buffers (Nick Wellnhofer),
  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),
  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),
  Make Travis print UBSan stacktraces (Nick Wellnhofer),
  Add .travis.yml (Nick Wellnhofer),
  Fix expected error output in Python tests (Nick Wellnhofer),
  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),
  Disable LeakSanitizer when running API tests (Nick Wellnhofer),
  Avoid out-of-bound array access in API tests (Nick Wellnhofer),
  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),
  Parse small XPath numbers more accurately (Nick Wellnhofer),
  Rework XPath rounding functions (Nick Wellnhofer),
  Fix white space in test output (Nick Wellnhofer),
  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),
  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),
  Rework final handling of XPath results (Nick Wellnhofer),
  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),
  Remove unused variables (Nick Wellnhofer),
  Don't print generic error messages in XPath tests (Nick Wellnhofer)
  
   - Cleanups:
  Fix a couple of misleading indentation errors (Daniel Veillard),
  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)
  


2.9.4: May 23 2016:
   - Security:
  More format string warnings with possible format string vulnerability (David Kilzer),
  Avoid building recursive entities (Daniel Veillard),
  Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),
  Heap-based buffer-underreads due to xmlParseName (David Kilzer),
  Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),
  Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),
  Fix some format string warnings with possible format string vulnerability (David Kilzer),
  Detect change of encoding when parsing HTML names (Hugh Davenport),
  Fix inappropriate fetch of entities content (Daniel Veillard),
  Bug 759398: Heap use-after-free in xmlDictComputeFastKey <https://bugzilla.gnome.org/show_bug.cgi?id=759398> (Pranjal Jumde),
  Bug 758605: Heap-based buffer overread in xmlDictAddString <https://bugzilla.gnome.org/show_bug.cgi?id=758605> (Pranjal Jumde),
  Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal <https://bugzilla.gnome.org/show_bug.cgi?id=758588> (David Kilzer),
  Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup <https://bugzilla.gnome.org/show_bug.cgi?id=757711> (Pranjal Jumde),
  Add missing increments of recursion depth counter to XML parser. (Peter Simons)
  
   - Documentation:
  Fix typo: s{ ec -> cr }cipt (Jan Pokorný),
  Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný),
  Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný),
  Correct a typo. (Shlomi Fish)
  
   - Portability:
  Correct the usage of LDFLAGS (Mattias Hansson),
  Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),
  libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),
  Fix apibuild for a recently added construct (Daniel Veillard),
  Use pkg-config to locate zlib when possible (Stewart Brodie),
  Use pkg-config to locate ICU when possible (Stewart Brodie),
  Portability to non C99 compliant compilers (Patrick Monnerat),
  dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),
  os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat),
  os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat),
  os400: implement CL command XMLCATALOG. (Patrick Monnerat),
  os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),
  os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat),
  os400: implement CL command XMLLINT. (Patrick Monnerat),
  os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),
  os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat),
  os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat),
  os400: use like() for double type. (Patrick Monnerat),
  os400: use like() for int type. (Patrick Monnerat),
  os400: use like() for unsigned int type. (Patrick Monnerat),
  os400: use like() for enum types. (Patrick Monnerat),
  Add xz to xml2-config --libs output (Baruch Siach),
  Bug 760190: configure.ac should be able to build --with-icu without icu-config tool <https://bugzilla.gnome.org/show_bug.cgi?id=760190> (David Kilzer),
  win32\VC10\config.h and VS 2015 (Bruce Dawson),
  Add configure maintainer mode (orzen)
  
   - Bug Fixes:
  Avoid an out of bound access when serializing malformed strings (Daniel Veillard),
  Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer),
  Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer),
  Bug 763071: heap-buffer-overflow in xmlStrncat <https://bugzilla.gnome.org/show_bug.cgi?id=763071> (Pranjal Jumde),
  Integer overflow parsing port number in URI (Michael Paddon),
  Fix an error with regexp on nullable counted char transition (Daniel Veillard),
  Fix memory leak with XPath namespace nodes (Nick Wellnhofer),
  Fix namespace axis traversal (Nick Wellnhofer),
      Fix null pointer deref in docs with no root element (Hugh Davenport),
  Fix XSD validation of URIs with ampersands (Alex Henrie),
  xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat),
  xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat),
  xmllint: flush stdout before interactive shell input. (Patrick Monnerat),
  Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer),
  Fix namespace::node() XPath expression (Nick Wellnhofer),
  Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer),
  Fix parsing of NCNames in XPath (Nick Wellnhofer),
  Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),
  Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),
  Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" <https://bugzilla.gnome.org/show_bug.cgi?id=760921> (David Kilzer),
  Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd <https://bugzilla.gnome.org/show_bug.cgi?id=760861> (David Kilzer),
  error.c: *input->cur == 0 does not mean no error (Pavel Raiskup),
  Add missing RNG test files (David Kilzer),
  Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> (David Kilzer),
  Bug 758572: ASAN crash in make check <https://bugzilla.gnome.org/show_bug.cgi?id=758572> (David Kilzer),
  Bug 721158: Missing ICU string when doing --version on xmllint <https://bugzilla.gnome.org/show_bug.cgi?id=721158> (David Kilzer),
  python 3: libxml2.c wrappers create Unicode str already (Michael Stahl),
  Add autogen.sh to distrib (orzen),
  Heap-based buffer overread in xmlNextChar (Daniel Veillard)
  
   - Improvements:
  Add more debugging info to runtest (Daniel Veillard),
  Implement "runtest -u" mode (David Kilzer),
  Add a make rule to rebuild for ASAN (Daniel Veillard)
  


v2.9.3: Nov 20 2015:
   - Security:
  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),
  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),
  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),
  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),
  CVE-2015-5312 Another entity expansion issue (David Drysdale),
  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),
  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),
  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),
  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),
  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),
  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)
  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),
  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),
  
   - Documentation:
  Correct spelling of "calling" (Alex Henrie),
  Fix a small error in xmllint --format description (Fabien Degomme),
  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)
  
   - Portability:
  threads: use forward declarations only for glibc (Michael Heimpold),
  Update Win32 configure.js to search for configure.ac (Daniel Veillard)
  
   - Bug Fixes:
  Bug on creating new stream from entity (Daniel Veillard),
  Fix some loop issues embedding NEXT (Daniel Veillard),
  Do not print error context when there is none (Daniel Veillard),
  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),
  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),
  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),
  Fix a bug in CData error handling in the push parser (Daniel Veillard),
  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),
  Fix the spurious ID already defined error (Daniel Veillard),
  Fix previous change to node sort order (Nick Wellnhofer),
  Fix a self assignment issue raised by clang (Scott Graham),
  Fail parsing early on if encoding conversion failed (Daniel Veillard),
  Do not process encoding values if the declaration if broken (Daniel Veillard),
  Silence clang's -Wunknown-attribute (Michael Catanzaro),
  xmlMemUsed is not thread-safe (Martin von Gagern),
  Fix support for except in nameclasses (Daniel Veillard),
  Fix order of root nodes (Nick Wellnhofer),
  Allow attributes on descendant-or-self axis (Nick Wellnhofer),
  Fix the fix to Windows locking (Steve Nairn),
  Fix timsort invariant loop re: Envisage article (Christopher Swenson),
  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),
  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),
  Remove various unused value assignments (Philip Withnall),
  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),
  Revert "Missing initialization for the catalog module" (Daniel Veillard)
  
   - Improvements:
  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),
  xmlStopParser reset errNo (Daniel Veillard),
  Re-enable xz support by default (Daniel Veillard),
  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),
  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),
  Regression test for bug #695699 (Nick Wellnhofer),
  Add a couple of XPath tests (Nick Wellnhofer),
  Add Python 3 rpm subpackage (Tomas Radej),
  libxml2-config.cmake.in: update include directories (Samuel Martin),
  Adding example from bugs 738805 to regression tests (Daniel Veillard)
  
   - Cleanups:
  


2.9.2: Oct 16 2014:
   - Security:
  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),
  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)
  
   - Bug Fixes:
  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),
  xmlmemory: handle realloc properly (Yegor Yefremov),
  Python generator bug raised by the const change (Daniel Veillard),
  Windows Critical sections not released correctly (Daniel Veillard),
  Parser error on repeated recursive entity expansion containing &lt; (Daniel Veillard),
  xpointer : fixing Null Pointers (Gaurav Gupta),
  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),
  parser bug on misformed namespace attributes (Dennis Filder),
  Pointer dereferenced before null check (Daniel Veillard),
  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),
  Possible overflow in HTMLParser.c (Daniel Veillard),
  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),
  Fix Enum check and missing break (Gaurav Gupta),
  xmlIO: Handle error returns from dup() (Philip Withnall),
  Fix a problem properly saving URIs (Daniel Veillard),
  wrong error column in structured error when parsing attribute values (Juergen Keil),
  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),
  no error column in structured error handler for xml schema validation errors (Juergen Keil),
  Couple of Missing Null checks (Gaurav Gupta),
  Add couple of missing Null checks (Daniel Veillard),
  xmlschemastypes: Fix potential array overflow (Philip Withnall),
  runtest: Fix a memory leak on parse failure (Philip Withnall),
  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),
  xmlcatalog: Fix a memory leak on quit (Philip Withnall),
  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),
  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),
  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),
  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),
  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),
  Fix various Missing Null checks (Gaurav Gupta),
  Fix a potential NULL dereference (Daniel Veillard),
  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),
  Add a missing argument check (Gaurav Gupta),
  Adding a check in case of allocation error (Gaurav Gupta),
  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),
  Adding some missing NULL checks (Gaurav),
  Fixes for xmlInitParserCtxt (Daniel Veillard),
  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),
  erroneously ignores a validation error if no error callback set (Daniel Veillard),
  xmllint was not parsing the --c14n11 flag (Sérgio Batista),
  Avoid Possible null pointer dereference in memory debug mode (Gaurav),
  Avoid Double Null Check (Gaurav),
  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),
  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),
  Avoid a possible NULL pointer dereference (Gaurav),
  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),
  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),
  fixing a ptotential uninitialized access (Daniel Veillard),
  Fix an fd leak in an error case (Daniel Veillard),
  Missing initialization for the catalog module (Daniel Veillard),
  Handling of XPath function arguments in error case (Nick Wellnhofer),
  Fix a couple of missing NULL checks (Gaurav),
  Avoid a possibility of dangling encoding handler (Gaurav),
  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),
  Fix a bug loading some compressed files (Mike Alexander),
  Fix XPath node comparison bug (Gaurav),
  Type mismatch in xmlschemas.c (Gaurav),
  Type mismatch in xmlschemastypes.c (Gaurav),
  Avoid a deadcode in catalog.c (Daniel Veillard),
  run close socket on Solaris, same as we do on other platforms (Denis Pauk),
  Fix pointer dereferenced before null check (Gaurav),
  Fix a potential NULL dereference in tree code (Daniel Veillard),
  Fix potential NULL pointer dereferences in regexp code (Gaurav),
  xmllint --pretty crashed without following numeric argument (Tim Galeckas),
  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),
  Fix XPath '//' optimization with predicates (Nick Wellnhofer),
  Clear up a potential NULL dereference (Daniel Veillard),
  Fix a possible NULL dereference (Gaurav),
  Avoid crash if allocation fails (Daniel Veillard),
  Remove occasional leading space in XPath number formatting (Daniel Veillard),
  Fix handling of mmap errors (Daniel Veillard),
  Catch malloc error and exit accordingly (Daniel Veillard),
  missing else in xlink.c (Ami Fischman),
  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),
  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),
  properly quote the namespace uris written out during c14n (Aleksey Sanin),
  Remove premature XInclude check on URI being relative (Alexey Neyman),
  Fix missing break on last() function for attributes (dcb),
  Do not URI escape in server side includes (Romain Bondue),
  Fix an error in xmlCleanupParser (Alexander Pastukhov)
  
   - Documentation:
  typo in error messages "colon are forbidden from..." (Daniel Veillard),
  Fix a link to James SAX documentation old page (Daniel Veillard),
  Fix typos in relaxng.c (Jan Pokorný),
  Fix a doc typo (Daniel Veillard),
  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),
  Add limitations about encoding conversion (Daniel Veillard),
  Fix typos in xmlschemas{,types}.c (Jan Pokorný),
  Fix incorrect spelling entites->entities (Jan Pokorný),
  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)
  
   - Portability:
  AC_CONFIG_FILES and executable bit (Roumen Petrov),
  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),
  fix some tabs mixing incompatible with python3 (Roumen Petrov),
  Visual Studio 14 CTP defines snprintf() (Francis Dupont),
  OS400: do not try to copy unexisting doc files (Patrick Monnerat),
  OS400: use either configure.ac or configure.in. (Patrick Monnerat),
  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),
  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),
  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),
  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),
  OS400: include in distribution tarball. (Patrick Monnerat),
  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),
  OS400: Add compilation scripts. (Patrick Monnerat),
  OS400: ILE RPG language header files. (Patrick Monnerat),
  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),
  OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat),
  OS400: Easy character transcoding support (Patrick Monnerat),
  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
  Fix building when configuring without xpath and xptr (Daniel Veillard),
  configure: Add --with-python-install-dir (Jonas Eriksson),
  Fix compilation with minimum and xinclude. (Nicolas Le Cam),
  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
  Fix compilation with minimum and schematron. (Nicolas Le Cam),
  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
  Don't use xmlValidateName() when not available. (Nicolas Le Cam),
  Fix a portability issue on Windows (Longstreth Jon),
  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
  Use specific macros for portability to OS/400 (Patrick Monnerat),
  Add macros needed for OS/400 portability (Patrick Monnerat),
  Portability patch for fopen on OS/400 (Patrick Monnerat),
  Portability fixes for OS/400 (Patrick Monnerat),
  Improve va_list portability (Patrick Monnerat),
  Portability fix (Patrick Monnerat),
  Portability fix (Patrick Monnerat),
  Generic portability fix (Patrick Monnerat),
  Shortening lines in headers (Patrick Monnerat),
  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
  fix some tabs mixing incompatible with python3 (Daniel Veillard),
  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
  python: Fix compiler warnings when building python3 bindings (Armin K),
  Fix for compilation with python 2.6.8 (Petr Sumbera)
  
   - Improvements:
  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
  Provide cmake module (Samuel Martin),
  Fix a couple of issues raised by make dist (Daniel Veillard),
  Fix and add const qualifiers (Kurt Roeckx),
  Preparing for upcoming release of 2.9.2 (Daniel Veillard),
  Fix zlib and lzma libraries check via command line (Dmitriy),
  wrong error column in structured error when parsing end tag (Juergen Keil),
  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
  Add methods for python3 iterator (Ron Angeles),
  Support element node traversal in document fragments. (Kyle VanderBeek),
  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
  Added macros for argument casts (Eric Zurcher),
  adding init calls to xml and html Read parsing entry points (Daniel Veillard),
  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
  Implement choice for name classes on attributes (Shaun McCance),
  Two small namespace tweaks (Daniel Veillard),
  xmllint --memory should fail on empty files (Daniel Veillard),
  Cast encoding name to char pointer to match arg type (Nikolay Sivov)
  
   - Cleanups:
  Removal of old configure.in (Daniel Veillard),
  Unreachable code in tree.c (Gaurav Gupta),
  Remove a couple of dead conditions (Gaurav Gupta),
  Avoid some dead code and cleanup in relaxng.c (Gaurav),
  Drop not needed checks (Denis Pauk),
  Fix a wrong test (Daniel Veillard)
  


2.9.1: Apr 19 2013:
   -  Features:
    Support for Python3 (Daniel Veillard),
    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)
  
   -  Documentation:
    Add documentation for xmllint --xpath (Daniel Veillard),
    Fix the URL of the SAX documentation from James (Daniel Veillard),
    Fix spelling of "length". (Michael Wood)
  
   -  Portability:
    Fix python bindings with versions older than 2.7 (Daniel Veillard),
    rebuild docs:Makefile.am (Roumen Petrov),
    elfgcchack.h after rebuild in doc (Roumen Petrov),
    elfgcchack for buf module (Roumen Petrov),
    Fix a uneeded and wrong extra link parameter (Daniel Veillard),
    Few cleanup patches for Windows (Denis Pauk),
    Fix rpmbuild --nocheck (Mark Salter),
    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),
    Fix Broken multi-arch support in xml2-config (Daniel Veillard),
    Fix a portability issue for GCC < 3.4.0 (Daniel Veillard),
    Windows build fixes (Daniel Richard),
    Fix a thread portability problem (Friedrich Haubensak),
    Downgrade autoconf requirement to 2.63 (Daniel Veillard)
  
   -  Bug Fixes:
    Fix a linking error for python bindings (Daniel Veillard),
    Fix a couple of return without value (Jüri Aedla),
    Improve the hashing functions (Daniel Franke),
    Improve handling of xmlStopParser() (Daniel Veillard),
    Remove risk of lockup in dictionary initialization (Daniel Veillard),
    Activate detection of encoding in external subset (Daniel Veillard),
    Fix an output buffer flushing conversion bug (Mikhail Titov),
    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),
    Fix configure cannot remove messages (Gilles Espinasse),
    fix schema validation in combination with xsi:nil (Daniel Veillard),
    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),
    Fix a few problems with setEntityLoader (Alexey Neyman),
    Detect excessive entities expansion upon replacement (Daniel Veillard),
    Fix the flushing out of raw buffers on encoding conversions (Daniel,
Veillard),
    Fix some buffer conversion issues (Daniel Veillard),
    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,
Veillard),
    Fix an error in the progressive DTD parsing code (Dan Winship),
    xmllint should not load DTD by default when using the reader (Daniel,
Veillard),
    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),
    Fix potential out of bound access (Daniel Veillard),
    Fix large parse of file from memory (Daniel Veillard),
    Fix a bug in the nsclean option of the parser (Daniel Veillard),
    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,
Veillard),
    Remove potential calls to exit() (Daniel Veillard)
  
   -  Improvements:
    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),
    Fix tree iterators broken by 2to3 script (Daniel Veillard),
    update all tests for Python3 and Python2 (Daniel Veillard),
    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),
    Fix compilation on Python3 (Daniel Veillard),
    Converting apibuild.py to python3 (Daniel Veillard),
    First pass at starting porting to python3 (Daniel Veillard),
    updated configure.in for python3 (Daniel Veillard),
    Add support for xpathRegisterVariable in Python (Shaun McCance),
    Added a regression tests from bug 694228 data (Daniel Veillard),
    Cache presence of '<' in entities content (Daniel Veillard),
    Avoid extra processing on entities (Daniel Veillard),
    Python binding for xmlRegisterInputCallback (Alexey Neyman),
    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),
    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),
    Adding streaming validation to runtest checks (Daniel Veillard),
    Add a --pushsmall option to xmllint (Daniel Veillard)
  
   -  Cleanups:
    Switched comment in file to UTF-8 encoding (Daniel Veillard),
    Extend gitignore (Daniel Veillard),
    Silent the new python test on input (Alexey Neyman),
    Cleanup of a duplicate test (Daniel Veillard),
    Cleanup on duplicate test expressions (Daniel Veillard),
    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,
Gansterer),
    Spec cleanups and a fix for multiarch support (Daniel Veillard),
    Silence a clang warning (Daniel Veillard),
    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),
    rand_seed should be static in dict.c (Wouter Van Rooy),
    Fix typos in parser comments (Jan Pokorný)
  


2.9.0: Sep 11 2012:
   -  Features:
    A few new API entry points,
    More resilient push parser mode,
    A lot of portability improvement,
    Faster XPath evaluation
  
   -  Documentation:
    xml2-config.1 markup error (Christian Weisgerber),
    libxml(3) manpage typo fix (John Bradshaw),
    More cleanups to the documentation part of libxml2 (Daniel Richard G)
  
   -  Portability:
    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),
    fix builds not having stdint.h (Rob Richards),
    GetProcAddressA is available only on WinCE (Daniel Veillard),
    More updates and cleanups on autotools and Makefiles (Daniel Richard G),
    More changes for Win32 compilation (Eric Zurcher),
    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),
    Bundles all generated files for python into the distribution (Daniel Richard G),
    Fix compiler warnings of wincecompat.c (Patrick Gansterer),
    Fix non __GNUC__ build (Patrick Gansterer),
    Fix windows unicode build (Patrick Gansterer),
    clean redefinition of {v}snprintf in C-source (Roumen Petrov),
    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),
    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),
    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),
    Various "make distcheck" and portability fixups (Daniel Richard G),
    Fix compilation on older Visual Studio (Daniel Veillard)
  
   -  Bug Fixes:
    Change the XPath code to percolate allocation errors (Daniel Veillard),
    Fix reuse of xmlInitParser (Daniel Veillard),
    Fix potential crash on entities errors (Daniel Veillard),
    initialize var (Rob Richards),
    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),
    Fix problem with specific and generic error handlers (Pietro Cerutti),
    Avoid a potential infinite recursion (Daniel Veillard),
    Fix an XSD error when generating internal automata (Daniel Veillard),
    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),
    Fix a segfault on XSD validation on pattern error (Daniel Veillard),
    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),
    Add a missing element check (Daniel Veillard),
    Adding various checks on node type though the API (Daniel Veillard),
    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),
    Fix make dist to include new private header files (Daniel Veillard),
    More fixups on the push parser behaviour (Daniel Veillard),
    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),
    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),
    Fixup limits parser (Daniel Veillard),
    Do not fetch external parsed entities (Daniel Veillard),
    Fix an error in previous commit (Aron Xu),
    Fix entities local buffers size problems (Daniel Veillard),
    Fix parser local buffers size problems (Daniel Veillard),
    Fix a failure to report xmlreader parsing failures (Daniel Veillard)
  
   -  Improvements:
    Keep libxml2.syms when running "make distclean" (Daniel Veillard),
    Allow to set the quoting character of an xmlWriter (Csaba Raduly),
    Keep non-significant blanks node in HTML parser (Daniel Veillard),
    Add a forbidden variable error number and message to XPath (Daniel Veillard),
    Support long path names on WNT (Michael Stahl),
    Improve HTML escaping of attribute on output (Daniel Veillard),
    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),
    Switching XPath node sorting to Timsort (Vojtech Fried),
    Optimizing '//' in XPath expressions (Nick Wellnhofer),
    Expose xmlBufShrink in the public tree API (Daniel Veillard),
    Visible HTML elements close the head tag (Conrad Irwin),
    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),
    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),
    minimize use of HAVE_CONFIG_H (Roumen Petrov),
    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),
    Add support for big line numbers in error reporting (Daniel Veillard),
    Avoid using xmlBuffer for serialization (Daniel Veillard),
    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),
    Provide new accessors for xmlOutputBuffer (Daniel Veillard),
    Improvements for old buffer compatibility (Daniel Veillard),
    Expand the limit test program (Daniel Veillard),
    Improve error reporting on parser errors (Daniel Veillard),
    Implement some default limits in the XPath module (Daniel Veillard),
    Introduce some default parser limits (Daniel Veillard),
    Cleanups and new limit APIs for dictionaries (Daniel Veillard),
    Fixup for buf.c (Daniel Veillard),
    Cleanup URI module memory allocation code (Daniel Veillard),
    Extend testlimits (Daniel Veillard),
    More avoid quadratic behaviour (Daniel Veillard),
    Impose a reasonable limit on PI size (Daniel Veillard),
    first version of testlimits new test (Daniel Veillard),
    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),
    Impose a reasonable limit on comment size (Daniel Veillard),
    Impose a reasonable limit on attribute size (Daniel Veillard),
    Harden the buffer code and make it more compatible (Daniel Veillard),
    More cleanups for input/buffers code (Daniel Veillard),
    Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard)
    Switch the test program for characters to new input buffers (Daniel Veillard),
    Convert the HTML tree module to the new buffers (Daniel Veillard),
    Convert of the HTML parser to new input buffers (Daniel Veillard),
    Convert the writer to new output buffer and save APIs (Daniel Veillard),
    Convert XMLReader to the new input buffers (Daniel Veillard),
    New saving functions using xmlBuf and conversion (Daniel Veillard),
    Provide new xmlBuf based saving functions (Daniel Veillard),
    Convert XInclude to the new input buffers (Daniel Veillard),
    Convert catalog code to the new input buffers (Daniel Veillard),
    Convert C14N to the new Input buffer (Daniel Veillard),
    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),
    Convert XML parser to the new input buffers (Daniel Veillard),
    Incompatible change to the Input and Output buffers (Daniel Veillard),
    Adding new encoding function to deal with the new structures (Daniel Veillard),
    Convert XPath to xmlBuf (Daniel Veillard),
    Adding a new buf module for buffers (Daniel Veillard),
    Memory error within SAX2 reuse common framework (Daniel Veillard),
    Fix xmllint --xpath node initialization (Daniel Veillard)
  
   -  Cleanups:
    Various cleanups to avoid compiler warnings (Daniel Veillard),
    Big space and tab cleanup (Daniel Veillard),
    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),
    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),
    Remove all .cvsignore as they are not used anymore (Daniel Veillard),
    Fix a Timsort function helper comment (Daniel Veillard),
    Small cleanup for valgrind target (Daniel Veillard),
    Patch for portability of latin characters in C files (Daniel Veillard),
    Cleanup some of the parser code (Daniel Veillard),
    Fix a variable name in comment (Daniel Veillard),
    Regenerated testapi.c (Daniel Veillard),
    Regenerating docs and API files (Daniel Veillard),
    Small cleanup of unused variables in test (Daniel Veillard),
    Expand .gitignore with more files (Daniel Veillard)
  


2.8.0: May 23 2012:
   - Features:
  add lzma compression support (Anders F Bjorklund)
  
   - Documentation:
    xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
    Update README.tests (Daniel Veillard),
    URI handling code is not OOM resilient (Daniel Veillard),
    Fix an error in comment (Daniel Veillard),
    Fixed bug #617016 (Daniel Mustieles),
    Fixed two typos in the README document (Daniel Neel),
    add generated html files (Anders F Bjorklund),
    Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
    Improve documentation a bit (Daniel Veillard),
    Updated URL for lxml python bindings (Daniel Veillard)
  
   - Portability:
    Restore code for Windows compilation (Daniel Veillard),
    Remove git error message during configure (Christian Dywan),
    xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
    remove a bashism in confgure.in (John Hein),
    undef ERROR if already defined (Patrick R. Gansterer),
    Fix library problems with mingw-w64 (Michael Cronenworth),
    fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
    prefer native threads on win32 (Sam Thursfield),
    Allow to compile with Visual Studio 2010 (Thomas Lemm),
    Fix mingw's snprintf configure check (Andoni Morales),
    fixed a 64bit big endian issue (Marcus Meissner),
    Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
    Fix windows build from lzma addition (Rob Richards),
    autogen: Only check for libtoolize (Colin Walters),
    Fix the Windows build files (Patrick von Reth),
    634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
    599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
    fix win build (Rob Richards)
  
   - Bug fixes:
    Part for rand_r checking missing (Daniel Veillard),
    Cleanup on randomization (Daniel Veillard),
    Fix undefined reference in python module (Pacho Ramos),
    Fix a race in xmlNewInputStream (Daniel Veillard),
    Fix weird streaming RelaxNG errors (Noam),
    Fix various bugs in new code raised by the API checking (Daniel Veillard),
    Fix various problems with "make dist" (Daniel Veillard),
    Fix a memory leak in the xzlib code (Daniel Veillard),
    HTML parser error with <noscript> in the <head> (Denis Pauk),
    XSD: optional element in complex type extension (Remi Gacogne),
    Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
    Fix a wrong return value in previous patch (Daniel Veillard),
    Fix an uninitialized variable use (Daniel Veillard),
    Fix a compilation problem with --minimum (Brandon Slack),
    Remove redundant and ungarded include of resolv.h (Daniel Veillard),
    xinclude with parse="text" does not use the entity loader (Shaun McCance),
    Allow to parse 1 byte HTML files (Denis Pauk),
    Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
    Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
    Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
    xmlParseNodeInContext problems with an empty document (Tim Elliott),
    HTML element position is not detected properly (Pavel Andrejs),
    Fix an off by one pointer access (Jüri Aedla),
    Try to fix a problem with entities in SAX mode (Daniel Veillard),
    Fix a crash with xmllint --path on empty results (Daniel Veillard),
    Fixed bug #667946 (Daniel Mustieles),
    Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
    Fix a wrong enum type use in Schemas Types (Nico Weber),
    Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
    Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
    fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
    fix a pair of possible out of array char references (Daniel Veillard),
    Fix an allocation error when copying entities (Daniel Veillard),
    Make sure the parser returns when getting a Stop order (Chris Evans),
    Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
    Fix a schema type duration comparison overflow (Daniel Veillard),
    Fix an unimplemented part in RNG value validation (Daniel Veillard),
    Fix missing error status in XPath evaluation (Daniel Veillard),
    Hardening of XPath evaluation (Daniel Veillard),
    Fix an off by one error in encoding (Daniel Veillard),
    Fix RELAX NG include bug #655288 (Shaun McCance),
    Fix XSD validation bug #630130 (Toyoda Eizi),
    Fix some potential problems on reallocation failures (Chris Evans),
    __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
    __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
    Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
    Small fix for previous commit (Daniel Veillard),
    Fix a potential freeing error in XPath (Daniel Veillard),
    Fix a potential memory access error (Daniel Veillard),
    Reactivate the shared library versioning script (Daniel Veillard)
  
   - Improvements:
    use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
    New symbols added for the next release (Daniel Veillard),
    xmlTextReader bails too quickly on error (Andy Lutomirski),
    Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
    Use buffers when constructing string node lists. (Conrad Irwin),
    Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
    wrong message for double hyphen in comment XML error (Bryan Henderson),
    Fix "make tst" to grab lzma lib too (Daniel Veillard),
    Add "whereis" command to xmllint shell (Ryan),
    Improve xmllint shell (Ryan),
    add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
    Add --system support to autogen.sh (Daniel Veillard),
    Add hash randomization to hash and dict structures (Daniel Veillard),
    included xzlib in dist (Anders F Bjorklund),
    move xz/lzma helpers to separate included files (Anders F Bjorklund),
    add generated devhelp files (Anders F Bjorklund),
    add XML_WITH_LZMA to api (Anders F Bjorklund),
    autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
    Improve the error report on undefined REFs (Daniel Veillard),
    Add exception for new W3C PI xml-model (Daniel Veillard),
    Add options to ignore the internal encoding (Daniel Veillard),
    testapi: use the right type for the check (Stefan Kost),
    various: handle return values of write calls (Stefan Kost),
    testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
    runxmlconf: update to latest testsuite version (Stefan Kost),
    configure: add -Wno-long-long to CFLAGS (Stefan Kost),
    configure: support silent automake rules if possible (Stefan Kost),
    xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
    __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
    __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
  
   - Cleanups:
    Cleanups before 2.8.0-rc2 (Daniel Veillard),
    Avoid an extra operation (Daniel Veillard),
    Remove vestigial de-ANSI-fication support. (Javier Jardón),
    autogen.sh: Fix typo (Javier Jardón),
    Do not use unsigned but unsigned int (Daniel Veillard),
    Remove two references to u_short (Daniel Veillard),
    Fix -Wempty-body warning from clang (Nico Weber),
    Cleanups of lzma support (Daniel Veillard),
    Augment the list of ignored files (Daniel Veillard),
    python: remove unused variable (Stefan Kost),
    python: flag two unused args (Stefan Kost),
    configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
    xpath: remove unused variable (Stefan Kost)
  


2.7.8: Nov 4 2010:
   -  Features:
    480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
    Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
  
   -  Documentation:
    Fix devhelp documentation installation (Mike Hommey),
    Fix web site encoding problems (Daniel Veillard),
    Fix a couple of typo in HTML parser error messages (Michael Day),
    Forgot to update the news page for 0.7.7 (Daniel Veillard)
  
   -  Portability:
    607273 Fix python detection on MSys/Windows (LRN),
    614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
    Fix compilation with Clang (Koop Mast),
    Fix Win32 build (Rob Richards)
  
   -  Bug Fixes:
    595789 fix a remaining potential Solaris problem (Daniel Veillard),
    617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
    616478 Fix xmllint shell write command (Gwenn Kahz),
    614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
    627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
    629325 XPath rounding errors first cleanup (Phil Shafer),
    630140 fix iso995x encoding error (Daniel Veillard),
    make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
    Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
    Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
    Fix a leak in XPath compilation (Daniel Veillard),
    Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
    Avoid a descriptor leak in catalog loading code (Carlo Bramini),
    Fix a small bug in XPath evaluation code (Marius Wachtler),
    Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
    Fix errors in XSD double validation check (Csaba Raduly),
    Fix handling of apos in URIs (Daniel Veillard),
    xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
    Autogen.sh needs to create m4 directory (Rob Richards)
  
   -  Improvements:
    606592 update language ID parser to RFC 5646 (Daniel Veillard),
    Sort python generated stubs (Mike Hommey),
    Add an HTML parser option to avoid a default doctype (Daniel Veillard)
  
   -  Cleanups:
    618831 don't ship generated files in git (Adrian Bunk),
    Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
    Various cleanups on encoding handling (Daniel Veillard),
    Fix xmllint to use format=1 for default formatting (Adam Spragg),
    Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
    Cleanup encoding pointer comparison (Nikolay Sivov),
    Small code cleanup on previous patch (Daniel Veillard)
  


2.7.7: Mar 15 2010:
   -  Improvements:
    Adding a --xpath option to xmllint (Daniel Veillard),
    Make HTML parser non-recursive (Eugene Pimenov)
  
   -  Portability:
    relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
    Fix build failure on Sparc solaris (Roumen Petrov),
    use autoreconf in autogen.sh (Daniel Veillard),
    Fix build with mingw (Roumen Petrov),
    Upgrade some of the configure and autogen (Daniel Veillard),
    Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
    Fix a const warning in xmlNodeSetBase (Martin Trappel),
    Fix python generator to not use deprecated xmllib (Daniel Veillard),
    Update some automake files (Daniel Veillard),
    598785 Fix nanohttp on Windows (spadix)
  
   -  Bug Fixes:
    libxml violates the zlib interface and crashes (Mark Adler),
    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
    Fix  missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
    Fix detection of python linker flags (Daniel Macks),
    fix build error in libxml2/python (Paul Smith),
    ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
    htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
    Fix a missing #ifdef (Daniel Veillard),
    Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
    xmlPreviousElementSibling mistake (François Delyon),
    608773 add a missing check in xmlGROW (Daniel Veillard),
    Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
    Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
    Fix some missing commas in HTML element lists (Eugene Pimenov),
    Correct variable type to unsigned (Nikolay Sivov),
    Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
    Fix memory leak in xmlXPathEvalExpression() (Martin),
    Fix an init bug in global.c (Kai Henning),
    Fix xmlNodeSetBase() comment (Daniel Veillard),
    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
    Don't give default HTML boolean attribute values in parser (Daniel Veillard),
    xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
  
   -  Cleanups:
    Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
  


2.7.6: Oct  6 2009:
   -  Bug Fixes:
     Restore thread support in default configuration (Andrew W. Nosenko),
     URI with no path parsing problem (Daniel Veillard),
     Minor patch for conditional defines in threads.c (Eric Zurcher)
  


2.7.5: Sep 24 2009:
   -  Bug Fixes:
    Restore behavior of --with-threads without argument (Andrew W. Nosenko),
    Fix memory leak when doc is NULL (Rob Richards),
    595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard),
    Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard),
    Fix a parsing problem with little data at startup (Daniel Veillard),
    link python module with python library (Frederic Crozat),
    594874 Forgot an fclose in xmllint (Daniel Veillard)
  
   -  Cleanup:
    Adding symbols.xml to EXTRA_DIST (Daniel Veillard)
  


2.7.4: Sep 10 2009:
   - Improvements:
    Switch to GIT (GNOME),
    Add symbol versioning to libxml2 shared libs (Daniel Veillard)
  
   - Portability:
    593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard),
    594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard),
    Fix Windows build * relaxng.c: fix windows build (Rob Richards),
    Fix the globals.h to use XMLPUBFUN (Paul Smith),
    Problem with extern extern in header (Daniel Veillard),
    Add -lnetwork for compiling on Haiku (Scott McCreary),
    Runtest portability patch for Solaris (Tim Rice),
    Small patch to accommodate the Haiku OS (Scott McCreary),
    584605 package VxWorks folder in the distribution (Daniel Veillard),
    574017 Realloc too expensive on most platform (Daniel Veillard),
    Fix windows build (Rob Richards),
    545579 doesn't compile without schema support (Daniel Veillard),
    xmllint use xmlGetNodePath when not compiled in (Daniel Veillard),
    Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard),
    Allow to select the threading system on Windows (LRN),
    Fix Solaris binary links, cleanups (Daniel Veillard),
    Bug 571059 – MSVC doesn't work with the bakefile (Intron),
    fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey),
    fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher)
  
   - Documentation:
    544910 typo: "renciliateNs" (Leonid Evdokimov),
    Add VxWorks to list of OSes (Daniel Veillard),
    Regenerate the documentation and update for git (Daniel Veillard),
    560524 ¿ xmlTextReaderLocalName description (Daniel Veillard),
    Added sponsoring by AOE media for the server (Daniel Veillard),
    updated URLs for GNOME (Vincent Lefevre),
    more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard)
  
   - Bug fixes:
    594514 memory leaks - duplicate initialization (MOD),
    Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard),
    492317 Fix  Relax-NG validation problems (Daniel Veillard),
    558452 fight with reg test and error report (Daniel Veillard),
    558452 RNG compilation of optional multiple child (Daniel Veillard),
    579746 XSD validation not correct / nilable groups (Daniel Veillard),
    502960 provide namespace stack when parsing entity (Daniel Veillard),
    566012 part 2 fix regression tests and push mode (Daniel Veillard),
    566012 autodetected encoding and encoding conflict (Daniel Veillard),
    584220 xpointer(/) and xinclude problems (Daniel Veillard),
    587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
    444994 HTML chunked failure for attribute with <> (Daniel Veillard),
    Fix end of buffer char being split in XML parser (Daniel Veillard),
    Non ASCII character may be split at buffer end (Adiel Mittmann),
    440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel),
    572129 speed up parsing of large HTML text nodes (Markus Kull),
    Fix HTML parsing with 0 character in CDATA (Daniel Veillard),
    Fix SetGenericErrorFunc and SetStructured clash (Wang Lam),
    566012  Incomplete EBCDIC parsing support (Martin Kogler),
    541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard),
    541237 error correcting missing end tags in HTML (Daniel Veillard),
    583439 missing line numbers in push mode (Daniel Veillard),
    587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
    559501 avoid select and use poll for nanohttp (Raphael Prevost),
    559410 -  Regexp bug on (...)? constructs (Daniel Veillard),
    Fix a small problem on previous HTML parser patch (Daniel Veillard),
    592430 -  HTML parser runs into endless loop (Daniel Veillard),
    447899 potential double free in xmlFreeTextReader (Daniel Veillard),
    446613 small validation bug mixed content with NS (Daniel Veillard),
    Fix the problem of revalidating a doc with RNG (Daniel Veillard),
    Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer),
    512131 refs from externalRef part need to be added (Daniel Veillard),
    512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard),
    588441 allow '.' in HTML Names even if invalid (Daniel Veillard),
    582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard),
    579317 Try to find the HTML encoding information (Daniel Veillard),
    575875 don't output charset=html (Daniel Veillard),
    571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard),
    570702 fix a bug in regexp determinism checking (Daniel Veillard),
    567619 xmlValidateNotationUse missing param test (Daniel Veillard),
    574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
    Fix a couple of problems in the parser (Daniel Veillard),
    585505 ¿ Document ids and refs populated by XSD (Wayne Jensen),
    582906 XSD validating multiple imports of the same schema (Jason Childs),
    Bug 582887 ¿ problems validating complex schemas (Jason Childs),
    Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos),
    576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky),
    Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre),
    Preserve attributes of include start on tree copy (Petr Pajas),
    Skip silently unrecognized XPointer schemes (Jakub Wilk),
    Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
    potential NULL dereference on non-glibc (Jim Meyering),
    Fix an XSD validation crash (Daniel Veillard),
    Fix a regression in streaming entities support (Daniel Veillard),
    Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin),
    Aleksey Sanin support for c14n 1.1 (Aleksey Sanin),
    reader bug fix with entities (Daniel Veillard),
    use options from current parser ctxt for external entities (Rob Richards),
    581612 use %s to printf strings (Christian Persch),
    584605 change the threading initialization sequence (Igor Novoseltsev),
    580705 keep line numbers in HTML parser (Aaron Patterson),
    581803 broken HTML table attributes init (Roland Steiner),
    do not set error code in xmlNsWarn (Rob Richards),
    564217 fix structured error handling problems,
    reuse options from current parser for entities (Rob Richards),
    xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard),
    add a missing check in xmlAddSibling (Kris Breuker),
    avoid leaks on errors (Jinmei Tatuya)
  
   - Cleanup:
    Chasing dead assignments reported by clang-scan (Daniel Veillard),
    A few more safety cleanup raised by scan (Daniel Veillard),
    Fixing assorted potential problems raised by scan (Daniel Veillard),
    Potential uninitialized arguments raised by scan (Daniel Veillard),
    Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard),
    Remove a pedantic warning (Daniel Veillard),
    555833 always use rm -f in uninstall-local (Daniel Veillard),
    542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard),
    Autoregenerate libxml2.syms automated checkings (Daniel Veillard),
    Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard),
    Both args of xmlStrcasestr are const (Daniel Veillard),
    hide the nbParse* variables used for debugging (Mike Hommey),
    570806 changed include of config.h (William M. Brack),
    cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya)
  


2.7.3: Jan 18 2009:
   - Build fix: fix build when HTML support is not included.
   - Bug fixes: avoid memory overflow in gigantic text nodes,
      indentation problem on the writed (Rob Richards),
      xmlAddChildList pointer problem (Rob Richards and Kevin Milburn),
      xmlAddChild problem with attribute (Rob Richards and Kris Breuker),
      avoid a memory leak in an edge case (Daniel Zimmermann),
      deallocate some pthread data (Alex Ott).
   - Improvements: configure option to avoid rebuilding docs (Adrian Bunk),
      limit text nodes to 10MB max by default, add element traversal
      APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards),
      add gcc malloc checking (Marcus Meissner), add gcc printf like functions
      parameters checking (Marcus Meissner).


2.7.2: Oct 3 2008:
   - Portability fix: fix solaris compilation problem, fix compilation
        if XPath is not configured in
   - Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
        bug, fix reader custom error handlers (Riccardo Scussat)
    
   - Improvement: xmlSave options for more flexibility to save as
        XML/HTML/XHTML, handle leading BOM in HTML documents


2.7.1: Sep 1 2008:
   - Portability fix: Borland C fix (Moritz Both)
   - Bug fixes: python serialization wrappers, XPath QName corner
        case handking and leaks (Martin)
   - Improvement: extend the xmlSave to handle HTML documents and trees
   - Cleanup: python serialization wrappers


2.7.0: Aug 30 2008:
   - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
      xmlParserCleanup docs
   - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
      
   - Bug fixes: various realloc problems (Ashwin), potential double-free
      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
      Richards), pattern fix when streaming (William Brack), various XML
      parsing and validation fixes based on the W3C regression tests, reader
      tree skipping function fix (Ashwin), Schemas regexps escaping fix
      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
      when encoder can't serialize characters on output
   - Code cleanup: compilation fix without the reader, without the output
      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
      serious cleanup of the entity handling code
   - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
      for old versions, switch URI parsing to RFC 3986,
      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
      new hashing functions for dictionaries (based on Stefan Behnel work),
      improve handling of misplaced html/head/body in HTML parser, better
      regression test tools and code coverage display, better algorithms
      to detect various versions of the billion laughts attacks, make
      arbitrary parser limits avoidable as a parser option


2.6.32: Apr 8 2008:
   - Documentation: returning heap memory to kernel (Wolfram Sang),
      trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
      (Jack Jansen), improve the *Recover* functions documentation,
      XmlNodeType doc link fix (Martijn Arts)
   - Bug fixes: internal subset memory leak (Ashwin), avoid problem with
      paths starting with // (Petr Sumbera), streaming XSD validation callback
      patches (Ashwin), fix redirection on port other than 80 (William Brack),
      SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
      regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
      document (Alfred Mickautsch), output I/O bug fix (William Brack),
      writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
      detection (William Brack), fix handling of empty CDATA nodes for Safari
      team, python binding problem with namespace nodes, improve HTML parsing
      (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
      Chekalkin), XSD test crash, weird system parameter entity parsing problem,
      allow save to file:///X:/ windows paths, various attribute normalisation
      problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
      the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
      out of memory handling fixes (Ashwin), XPath out of memory handling fixes
      (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
      conversion buffer size (Christian Fruth), problems with EatName
      functions on memory errors, BOM handling in external parsed entities
      (Mark Rowe)
   - Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
      mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
      Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
      a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
      cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
      fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
      duplicate code removal (Ashwin), missing malloc test and error reports
      (Ashwin), VMS makefile fix (Tycho Hilhorst)
   - improvements: better plug of schematron in the normal error handling
      (Tobias Minich)


2.6.31: Jan 11 2008:
   - Security fix: missing of checks in UTF-8 parsing
   - Bug fixes: regexp bug, dump attribute from XHTML document, fix
      xmlFree(NULL) to not crash in debug mode, Schematron parsing crash
      (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
      XSD crash due to double free (Rob Richards), indentation fix in
      xmlTextWriterFullEndElement (Felipe Pena), error in attribute type
      parsing if attribute redeclared, avoid crash in hash list scanner if
      deleting elements, column counter bug fix (Christian Schmidt),
      HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
      output from xml2-config (Fred Crozat), avoid an xmllint crash 
      (Stefan Kost), don't stop HTML parsing on out of range chars.
      
   - Code cleanup: fix open() call third argument, regexp cut'n paste
      copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
      some make distcheck related fixes (John Carr)
   - Improvements: HTTP Header: includes port number (William Brack),
      testURI --debug option, 


2.6.30: Aug 23 2007:
   - Portability: Solaris crash on error handling, windows path fixes
      (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)
   - Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when
      reusing a writer for a new document (Dodji Seketeli), Schemas
      xsi:nil handling patch (Frank Gross), relative URI build problem
      (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment
      detection bug, fix disparity with xmlSAXUserParseMemory, automata
      generation for complex regexp counts problems, Schemas IDC import
      problems (Frank Gross), xpath predicate evailation error handling
      (William Brack)


2.6.29: Jun 12 2007:
   - Portability: patches from Andreas Stricke for WinCEi,
      fix compilation warnings (William Brack), avoid warnings on Apple OS/X
      (Wendy Doyle and Mark Rowe), Windows compilation and threading
      improvements (Rob Richards), compilation against old Python versions,
      new GNU tar changes (Ryan Hill)
   - Documentation: xmlURIUnescapeString comment, 
   - Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind'
      flag fix (Richard Jones), regexp interpretation of \,
      htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
      typo (Bjorn Reese), entity content failure, xmlListAppend() fix
      (Georges-André Silber), XPath number serialization (William Brack),
      nanohttp gzipped stream fix (William Brack and Alex Cornejo),
      xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon),
      XPath string value of PI nodes (William Brack), XPath node set
      sorting bugs (William Brack), avoid outputting namespace decl
      dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
      error handling, recustion on next in catalogs, fix a Relax-NG crash,
      workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes,
      invalid character in attribute detection bug, big comments before 
      internal subset streaming bug, HTML parsing of attributes with : in
      the name, IDness of name in HTML (Dagfinn I. Mannsåker) 
   - Improvement: keep URI query parts in raw form (Richard Jones),
      embed tag support in HTML (Michael Day) 


2.6.28: Apr 17 2007:
   - Documentation: comment fixes (Markus Keim), xpath comments fixes too
      (James Dennett)
   - Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
      (Usamah Malik), various regexp bug fixes (DV and William), path conversion
      on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
      principal node of axis bug, HTML serialization of some codepoint
      (Steven Rainwater), user data propagation in XInclude (Michael Day),
      standalone and XML decl detection (Michael Day), Python id output
      for some id, fix the big python string memory leak, URI parsing fixes
      (Stéphane Bidoul and William), long comments parsing bug (William),
      concurrent threads initialization (Ted Phelps), invalid char
      in text XInclude (William), XPath memory leak (William), tab in
      python problems (Andreas Hanke), XPath node comparison error
      (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
      XML Schemas attribute group (William), HTML parsing problem (William),
      fix char 0x2d in regexps (William), regexp quantifier range with
      min occurs of 0 (William), HTML script/style parsing (Mike Day)
   - Improvement: make xmlTextReaderSetup() public
   - Compilation and postability: fix a missing include problem (William),
      __ss_family on AIX again (Björn Wiberg), compilation without zlib
      (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
      Windows CE fixes (Andreas Stricke)
   - Various CVS to SVN infrastructure changes


2.6.27: Oct 25 2006:
   - Portability fixes: file names on windows (Roland Schwingel, 
      Emelyanov Alexey), windows compile fixup (Rob Richards), 
      AIX iconv() is apparently case sensitive
   - improvements: Python XPath types mapping (Nic Ferrier), XPath optimization
      (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node
      equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest
      improvememt (Kasimier), expose if library was compiled with zlib 
      support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs
      (Kasimier), xmlTextConcat should work with comments and PIs (Rob
      Richards), export htmlNewParserCtxt needed by Michael Day, refactoring
      of catalog entity loaders (Michael Day), add XPointer support to 
      python bindings (Ross Reedstrom, Brian West and Stefan Anca), 
      try to sort out most file path to URI conversions and xmlPathToUri,
      add --html --memory case to xmllint
   - building fix: fix --with-minimum (Felipe Contreras), VMS fix, 
      const'ification of HTML parser structures (Matthias Clasen),
      portability fix (Emelyanov Alexey), wget autodetection (Peter
      Breitenlohner),  remove the build path recorded in the python
      shared module, separate library flags for shared and static builds
      (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
      --with-minimum --with-schemas builds
   - bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
      attribute (Kasimier), crash when using the recover mode, 
      xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
      (Kasimier), warning on entities processing, XHTML script and style
      serialization (Kasimier), python generator for long types, bug in
      xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
      allocation bug (Marton Illes), error message end of line (Rob Richards),
      fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
      crash, parser safety patch (Ben Darnell), _private context propagation
      when parsing entities (with Michael Day), fix entities behaviour when 
      using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
      context, arg error in SAX callback (Mike Hommey), fix mixed-content
      autodetect when using --noblanks, fix xmlIOParseDTD error handling,
      fix bug in xmlSplitQName on special Names, fix Relax-NG element content
      validation bug, fix xmlReconciliateNs bug, fix potential attribute 
      XML parsing bug, fix line/column accounting in XML parser, chunking bug
      in the HTML parser on script, try to detect obviously buggy HTML
      meta encoding indications, bugs with encoding BOM and xmlSaveDoc, 
      HTML entities in attributes parsing, HTML minimized attribute values,
      htmlReadDoc and htmlReadIO were broken, error handling bug in
      xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in
      htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer),
      bug on misformed SSD regexps (Christopher Boumenot)
      
   - documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik),
      fix xmlXPathCastToString documentation, improve man pages for
      xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few
      functions


2.6.26: Jun 6 2006:
   - portability fixes: Python detection (Joseph Sacco), compilation
    error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)
   - bug fixes: encoding buffer problem, mix of code and data in
    xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik),
    variousXSD validation fixes (Kasimier), memory leak in pattern (Rob
    Richards andKasimier), attribute with colon in name (Rob Richards), XPath
    leak inerror reporting (Aleksey Sanin), XInclude text include of
    selfdocument.
   - improvements: Xpath optimizations (Kasimier), XPath object
    cache(Kasimier)


2.6.25: Jun 6 2006::
Do not use or package 2.6.25
2.6.24: Apr 28 2006:
   - Portability fixes: configure on Windows, testapi compile on windows
      (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher),
      HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
      cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
      Windows (Roland Schwingel).
      
   - Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
      Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.
   - Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
      on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
      bug, xmlParseComment (with William Brack), regexp bug fixes (DV &
      Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
      one Relax-NG interleave bug, xmllint --path and --valid,
      XSD bugfixes (Kasimier), remove debug
      left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole),
      xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large
      number of cleanups and small fixes based on Coverity reports, bug
      in character ranges, Unicode tables const (Aivars Kalvans), schemas
      fix (Stefan Kost), xmlRelaxNGParse error deallocation, 
      xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed
      code point, ixmllint --nonet to never reach the net (Gary Coady),
      line break in writer after end PI (Jason Viers). 
   - Documentation: man pages updates and cleanups (Daniel Leidert).
   - New features: Relax NG structure error handlers.


2.6.23: Jan 5 2006:
   - portability fixes: Windows (Rob Richards), getaddrinfo on Windows
    (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
    --with-minimum compilation fixes (William Brack), error case handling fix
    on Solaris (Albert Chin), don't use 'list' as parameter name reported by
    Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
    MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
  Jones),
   - code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
    (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
    parsing code (Bjorn Reese)
   - bug fixes: xmlBuildRelativeURI and empty path (William Brack),
    combinatory explosion and performances in regexp code, leak in
    xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
    Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
    XPath pattern based evaluation bugs (DV & Kasimier),
    xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
    xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
    vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
    split problem (William), issues with non-namespaced attributes in
    xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
    HTML parsing of script, Python must not output to stdout (Nic Ferrier),
    exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype
    totalDigits bug (Kasimier Buchcik), error handling when writing to an
    xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
    Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
    XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
    fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
    (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
    runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
    (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
    compilation and build fixes (Michael Day), removed dependencies on
    xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath
    pattern based evaluation fixes (Kasimier)
   - improvements: XSD Schemas redefinitions/restrictions (Kasimier
    Buchcik), node copy checks and fix for attribute (Rob Richards), counted
    transition bug in regexps, ctxt->standalone = -2 to indicate no
    standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
    (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
    (Kasimier), handle gzipped HTTP resources (Gary Coady), add
    htmlDocDumpMemoryFormat. (Rob Richards),
   - documentation: typo (Michael Day), libxml man page (Albert Chin), save
    function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),


2.6.22: Sep 12 2005:
   - build fixes: compile without schematron (Stéphane Bidoul)
   - bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
    CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
    XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
    output formatting for meta element (Rob Richards), script and style
    XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
    (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)
   - improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
    XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
    derive (Kasimier Buchcik).
   - documentation: generation of gtk-doc like docs, integration with
    devhelp.


2.6.21: Sep 4 2005:
   - build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
    convention problems on Windows (Marcus Boerger), cleanups based on Linus'
    sparse tool, update of win32/configure.js (Rob Richards), remove warnings
    on Windows(Marcus Boerger), compilation without SAX1, detection of the
    Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
    compilation/link with threads and old gcc, compile problem by C370 on
    Z/OS,
   - bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
    bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
    htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
    Schemas comparisons NIST passes, automata build error xsd:all,
    xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
    foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
    Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
    namespace ahndling in Schemas (Kasimier), empty model group in Schemas
    (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
    xs:anyType in Schemas (Kasimier), Python resolver emitting error
    messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
    fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
    Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
    serialization, streaming XPath, Schemas determinism detection problem,
    XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
    Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
    type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
    xmlGetLineNo fixes, bug on entities handling, entity name extraction in
    error handling with XInclude, text nodes in HTML body tags (Gary Coady),
    xml:id and IDness at the treee level fixes, XPath streaming patterns
  bugs.
   - improvements: structured interfaces for schemas and RNG error reports
    (Marcus Boerger), optimization of the char data inner loop parsing
    (thanks to Behdad Esfahbod for the idea), schematron validation though
    not finished yet, xmlSaveOption to omit XML declaration, keyref match
    error reports (Kasimier), formal expression handling code not plugged
    yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
    for text nodes allocation.
   - documentation: xmllint man page had --nonet duplicated


2.6.20: Jul 10 2005:
   - build fixes: Windows build (Rob Richards), Mingw compilation (Igor
    Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
    andriy@google.com), use gcc weak references to pthread to avoid the
    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
    of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
    compilation when disabling parts of the library, standalone test
    distribution.
   - bug fixes: bug in lang(), memory cleanup on errors (William Brack),
    HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
    overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
    (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
    (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
    on XInclude (William), pattern fixes (William), attribute bug in
    exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
    Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
    QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
    (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
    Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
    Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
    areBlanks() heuristic failure, duplicate attributes in DTD bug
  (William).
   - improvements: lot of work on Schemas by Kasimier Buchcik both on
    conformance and streaming, Schemas validation messages (Kasimier Buchcik,
    Matthew Burgess), namespace removal at the python level (Brent
    Hendricks), Update to new Schemas regression tests from W3C/Nist
    (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
    xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
    standalone test framework and programs, new DOM import APIs
    xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
    xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
    Schemas regression tests, xmlStopParser() available in pull mode too,
    ienhancement to xmllint --shell namespaces support, Windows port of the
    standalone testing tools (Kasimier and William),
    xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
    Schemas APIs, Schemas xmlReader support.


2.6.19: Apr 02 2005:
   - build fixes: drop .la from RPMs, --with-minimum build fix (William
    Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
    5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
    Linux/ELF/gcc4
   - bug fixes: schemas type decimal fixups (William Brack), xmmlint return
    code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
    segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
    (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
    HTML serialization of name attribute on a elements, Python error handlers
    leaks and improvement (Brent Hendricks), uninitialized variable in
    encoding code, Relax-NG validation bug, potential crash if
    gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
    switched back to assuming UTF-8 in case no encoding is given at
    serialization time
   - improvements: lot of work on Schemas by Kasimier Buchcik on facets
    checking and also mixed handling.
   - 


2.6.18: Mar 13 2005:
   - build fixes: warnings (Peter Breitenlohner), testapi.c generation,
    Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
    some gcc4 fixes, HP-UX portability fixes (Rick Jones).
   - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
    xmlreader stopping on non-fatal errors, thread support for dictionaries
    reference counting (Gary Coady), internal subset and push problem, URL
    saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
    fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
    (Mike Hommey), warning should not count as error (William Brack),
    xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
    FTP and HTTP code to reuse the uri parsing and IPv6 (William),
    xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
    empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
    (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
    Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
    (Rob Richards), Schemas decimal type fixes (William Brack),
    xmlByteConsumed static buffer (Ben Maurer).
   - improvement: speedup parsing comments and DTDs, dictionary support for
    hash tables, Schemas Identity constraints (Kasimier), streaming XPath
    subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
    values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
  Stansvik),
   - Documentation: Wiki support (Joel Reed)


2.6.17: Jan 16 2005:
   - build fixes: Windows, warnings removal (William Brack),
    maintainer-clean dependency(William), build in a different directory
    (William), fixing --with-minimum configure build (William), BeOS build
    (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
    McNichol)
   - bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
    to use the catalog(s), loop on output (William Brack), XPath memory leak,
    ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
    warning not using error callback (William), xmlStopParser bug (William),
    UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
    push mode (Rob Richards), line and col computations fixups (Aleksey
    Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
    patterns with too many steps, bug in RNG choice optimization, line number
    sometimes missing.
   - improvements: XSD Schemas (Kasimier Buchcik), python generator
    (William), xmlUTF8Strpos speedup (William), unicode Python strings
    (William), XSD error reports (Kasimier Buchcik), Python __str__ call
    serialize().
   - new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
    the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
    Reed), error extraction API from regexps, new XMLSave option for format
    (Phil Shafer)
   - documentation: site improvement (John Fleck), FAQ entries
  (William).


2.6.16: Nov 10 2004:
   - general hardening and bug fixing crossing all the API based on new
    automated regression testing
   - build fix: IPv6 build and test on AIX (Dodji Seketeli)
   - bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
    conversion functions return values, UTF-8 bug affecting XPath reported by
    Markus Bertheau, catalog problem with NULL entries (William Brack)
   - documentation: fix to xmllint man page, some API function description
    were updated.
   - improvements: DTD validation APIs provided at the Python level (Brent
    Hendricks)


2.6.15: Oct 27 2004:
   - security fixes on the nanoftp and nanohttp modules
   - build fixes: xmllint detection bug in configure, building outside the
    source tree (Thomas Fitzsimmons)
   - bug fixes: HTML parser on broken ASCII chars in names (William), Python
    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
    (Malcolm), save back <group> in catalogs (William), tree build
    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
    on Python 64bits, thread local memory deallocation, memory leak reported
    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
    entities and _private problem (William), xmlBuildRelativeURI error
    (William).
   - improvements: better XInclude error reports (William), tree debugging
    module and tests, convenience functions at the Reader API (Graham
    Bennett), add support for PI in the HTML parser.


2.6.14: Sep 29 2004:
   - build fixes: configure paths for xmllint and xsltproc, compilation
    without HTML parser, compilation warning cleanups (William Brack &
    Malcolm Tredinnick), VMS makefile update (Craig Berry),
   - bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
    handling of failed realloc(), out of bound array addressing in Schemas
    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
    E20 validation fix (Malcolm),
   - improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
    Tredinnick), Schemas support for xsi:schemaLocation,
    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)


2.6.13: Aug 31 2004:
   - build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
    Solaris compiler warning, fixing RPM BuildRequires,
   - fixes: DTD loading on Windows (Igor), Schemas error reports APIs
    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
    problem (William), Schemas hexbinary empty values, encoding error could
    generate a serialization loop.
   - Improvements: Schemas validity improvements (Kasimier), added --path
    and --load-trace options to xmllint
   - documentation: tutorial update (John Fleck)


2.6.12: Aug 22 2004:
   - build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
    Chin), some 64bits cleanups.
   - Python: avoid a warning with 2.3 (William Brack), tab and space mixes
    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
    (Torkel Lyng)
   - Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
   - fixes: RVT fixes (William), XPath context resets bug (William), memory
    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
    xmlReader state after attribute reading (William), structured error
    handler (William), XInclude generated xml:base fixup (William), Windows
    memory reallocation problem (Steve Hay), Out of Memory conditions
    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
    htmlReadMemory init (William), a posteriori validation DTD base
    (William), notations serialization missing, xmlGetNodePath (Dodji),
    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
  (William)
   - improvements: DocBook catalog build scrip (William), xmlcatalog tool
    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
    to not generate start/end nodes, extend xmllint --version to include CVS
    tag (William)
   - documentation: web pages fixes, validity API docs fixes (William)
    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)


2.6.11: July 5 2004:
   - Schemas: a lot of changes and improvements by Kasimier Buchcik for
    attributes, namespaces and simple types.
   - build fixes: --with-minimum (William Brack),  some gcc cleanup
    (William), --with-thread-alloc (William)
   - portability: Windows binary package change (Igor Zlatkovic), Catalog
    path on Windows
   - documentation: update to the tutorial (John Fleck), xmllint return code
    (John Fleck), man pages (Ville Skytta),
   - bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
    properly initialize the library (William), empty node set in XPath
    (William), xmlSchemas errors (William), invalid charref problem pointed
    by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
    with div processing (William), XPointer and xml:base problem(William),
    Reader and entities, xmllint return code for schemas (William), reader
    streaming problem (Steve Ball), DTD serialization problem (William),
    libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on
    Python classes, xmlReader buffer bug, Python bindings memory interfaces
    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
    synchronous behaviour.
   - improvement: custom per-thread I/O enhancement (Rob Richards), register
    namespace in debug shell (Stefano Debenedetti), Python based regression
    test for non-Unix users (William), dynamically increase the number of
    XPath extension functions in Python and fix a memory leak (Marc-Antoine
    Parent and William)
   - performance: hack done with Arjan van de Ven to reduce ELF footprint
    and generated code on Linux, plus use gcc runtime profiling to optimize
    the code generated in the RPM packages.


2.6.10: May 17 2004:
   - Web page generated for ChangeLog
   - build fixes: --without-html problems, make check without make all
   - portability: problem with xpath.c on Windows (MSC and Borland), memcmp
    vs. strncmp on Solaris, XPath tests on Windows (Mark Vakoc), C++ do not
    use "list" as parameter name, make tests work with Python 1.5 (Ed
  Davis),
   - improvements: made xmlTextReaderMode public, small buffers resizing
    (Morten Welinder), add --maxmem option to xmllint, add
    xmlPopInputCallback() for Matt Sergeant, refactoring of serialization
    escaping, added escaping customization
   - bugfixes: xsd:extension (Taihei Goi), assorted regexp bugs (William
    Brack), xmlReader end of stream problem, node deregistration with reader,
    URI escaping and filemanes,  XHTML1 formatting (Nick Wellnhofer), regexp
    transition reduction (William), various XSD Schemas fixes (Kasimier
    Buchcik), XInclude fallback problem (William), weird problems with DTD
    (William), structured error handler callback context (William), reverse
    xmlEncodeSpecialChars() behaviour back to escaping '"'


2.6.9: Apr 18 2004:
   - implement xml:id Working Draft, relaxed XPath id() checking
   - bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave
    Beckett), Relax-NG compilation (William Brack), Regexp patches (with
    William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with
    William), Relax-NG name classes compares (William), XInclude duplicate
    fallback (William), external DTD encoding detection (William), a DTD
    validation bug (William), xmlReader Close() fix, recursive extension
    schemas
   - improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
    save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
    Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
    clanup (William), keep ChangeLog compressed when installing from RPMs
   - documentation: examples and xmlDocDumpMemory docs (John Fleck), new
    example (load, xpath, modify, save), xmlCatalogDump() comments,
   - Windows: Borland C++ builder (Eric Zurcher), work around Microsoft
    compiler NaN handling bug (Mark Vakoc)


2.6.8: Mar 23 2004:
   - First step of the cleanup of the serialization code and APIs
   - XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
    Dickmeiss), anyURI for "" (John Belmonte)
   - Python: Canonicalization C14N support added (Anthony Carrico)
   - xmlDocCopyNode() extension (William)
   - Relax-NG: fix when processing XInclude results (William), external
    reference in interleave (William), missing error on <choice>
    failure (William), memory leak in schemas datatype facets.
   - xmlWriter: patch for better DTD support (Alfred Mickautsch)
   - bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William
    Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to
    URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
    XInclude and XPointer fixes for entities (William), XML parser bug
    reported by Holger Rauch, nanohttp fd leak (William),  regexps char
    groups '-' handling (William), dictionary reference counting problems,
    do not close stderr.
   - performance patches from Petr Pajas
   - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
   - compilation and portability fixes: --without-valid, catalog cleanups
    (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation
    to Windows (Christophe de Vienne),  --with-html-dir fixup (Julio Merino
    Vidal), Windows build (Eric Zurcher)


2.6.7: Feb 23 2004:
   - documentation: tutorial updates (John Fleck), benchmark results
   - xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
   - XPath optimization (Petr Pajas)
   - DTD ID handling optimization
   - bugfixes: xpath number with  > 19 fractional (William Brack), push
    mode with unescaped '>' characters, fix xmllint --stream --timing, fix
    xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
    handling NULL, trying to fix Relax-NG/Perl interface.
   - python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
   - Added relaxng option to xmllint --shell


2.6.6: Feb 12 2004:
   - nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and
    William) reported by Yuuichi Teranishi
   - bugfixes: make test and path issues, xmlWriter attribute serialization
    (William Brack), xmlWriter indentation (William), schemas validation
    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
    Paraschenko), XInclude empty fallback (William), HTML warnings (William),
    XPointer in XInclude (William), Python namespace serialization,
    isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
    entities in internal subset (William), internal subset bug in push mode,
    <xs:all> fix (Alexey Sarytchev)
   - Build: fix for automake-1.8 (Alexander Winston), warnings removal
    (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix
    --with-minimum configuration.
   - XInclude: allow the 2001 namespace without warning.
   - Documentation: missing example/index.html (John Fleck), version
    dependencies (John Fleck)
   - reader API: structured error reporting (Steve Ball)
   - Windows compilation: mingw, msys (Mikhail Grushinskiy), function
    prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
  patch
   - Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
    input.


2.6.5: Jan 25 2004:
   - Bugfixes: dictionaries for schemas (William Brack), regexp segfault
    (William), xs:all problem (William), a number of XPointer bugfixes
    (William), xmllint error go to stderr, DTD validation problem with
    namespace, memory leak (William), SAX1 cleanup and minimal options fixes
    (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union
    evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin),
    XML Schemas double free (Steve Ball), XInclude with no href, argument
    callbacks order for XPath callbacks (Frederic Peters)
   - Documentation: python scripts (William Brack), xslt stylesheets (John
    Fleck), doc (Sven Zimmerman), I/O example.
   - Python bindings: fixes (William), enum support (Stéphane Bidoul),
    structured error reporting (Stéphane Bidoul)
   - XInclude: various fixes for conformance, problem related to dictionary
    references (William & me), recursion (William)
   - xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
    Mickautsch),
   - xmlSchemas: normalizedString datatype (John Belmonte)
   - code cleanup for strings functions (William)
   - Windows: compiler patches (Mark Vakoc)
   - Parser optimizations, a few new XPath and dictionary APIs for future
    XSLT optimizations.


2.6.4: Dec 24 2003:
   - Windows build fixes (Igor Zlatkovic)
   - Some serious XInclude problems reported by Oleg Paraschenko and
   - Unix and Makefile packaging fixes (me, William Brack,
   - Documentation improvements (John Fleck, William Brack), example fix
    (Lucas Brasilino)
   - bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of
    NULL strings (William Brack) , API building reader or parser from
    filedescriptor should not close it, changed XPath sorting to be stable
    again (William Brack), xmlGetNodePath() generating '(null)' (William
    Brack), DTD validation and namespace bug (William Brack), XML Schemas
    double inclusion behaviour


2.6.3: Dec 10 2003:
   - documentation updates and cleanup (DV, William Brack, John Fleck)
   - added a repository of examples, examples from Aleksey Sanin, Dodji
    Seketeli, Alfred Mickautsch
   - Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw
    (Kenneth Haley)
   - Unicode range checking (William Brack)
   - code cleanup (William Brack)
   - Python bindings: doc (John Fleck),  bug fixes
   - UTF-16 cleanup and BOM issues (William Brack)
   - bug fixes: ID and xmlReader validation, XPath (William Brack),
    xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser
    (James Bursa), attribute defaulting and validation, some serialization
    cleanups, XML_GET_LINE macro, memory debug when using threads (William
    Brack), serialization of attributes and entities content, xmlWriter
    (Daniel Schulman)
   - XInclude bugfix, new APIs and update to the last version including the
    namespace change.
   - XML Schemas improvements: include (Robert Stepanek), import and
    namespace handling, fixed the regression tests troubles, added examples
    based on Eric van der Vlist book, regexp fixes
   - preliminary pattern support for streaming (needed for schemas
    constraints), added xmlTextReaderPreservePattern() to collect subdocument
    when streaming.
   - various fixes in the structured error handling


2.6.2: Nov 4 2003:
   - XPath context unregistration fixes
   - text node coalescing fixes (Mark Lilback)
   - API to screate a W3C Schemas from an existing document (Steve Ball)
   - BeOS patches (Marcin 'Shard' Konicki)
   - xmlStrVPrintf function added (Aleksey Sanin)
   - compilation fixes (Mark Vakoc)
   - stdin parsing fix (William Brack)
   - a posteriori DTD validation fixes
   - xmlReader bug fixes: Walker fixes, python bindings
   - fixed xmlStopParser() to really stop the parser and errors
   - always generate line numbers when using the new xmlReadxxx
  functions
   - added XInclude support to the xmlReader interface
   - implemented XML_PARSE_NONET parser option
   - DocBook XSLT processing bug fixed
   - HTML serialization for <p> elements (William Brack and me)
   - XPointer failure in XInclude are now handled as resource errors
   - fixed xmllint --html to use the HTML serializer on output (added
    --xmlout to implement the previous behaviour of saving it using the XML
    serializer)


2.6.1: Oct 28 2003:
   - Mostly bugfixes after the big 2.6.0 changes
   - Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup
    (William Brack)
   - Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor
    Zlatkovic)
   - xmlWriter bugfix (Alfred Mickautsch)
   - chvalid.[ch]: couple of fixes from Stephane Bidoul
   - context reset: error state reset, push parser reset (Graham
  Bennett)
   - context reuse: generate errors if file is not readable
   - defaulted attributes for element coming from internal entities
    (Stephane Bidoul)
   - Python: tab and spaces mix (William Brack)
   - Error handler could crash in DTD validation in 2.6.0
   - xmlReader: do not use the document or element _private field
   - testSAX.c: avoid a problem with some PIs (Massimo Morara)
   - general bug fixes: mandatory encoding in text decl, serializing
    Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik),
    XPath errors not reported,  slow HTML parsing of large documents.


2.6.0: Oct 20 2003:
   - Major revision release: should be API and ABI compatible but got a lot
    of change
   - Increased the library modularity, far more options can be stripped out,
    a --with-minimum configuration will weight around 160KBytes
   - Use per parser and per document dictionary, allocate names and small
    text nodes from the dictionary
   - Switch to a SAX2 like parser rewrote most of the XML parser core,
    provides namespace resolution and defaulted attributes, minimize memory
    allocations and copies, namespace checking and specific error handling,
    immutable buffers, make predefined entities static structures, etc...
   - rewrote all the error handling in the library, all errors can be
    intercepted at a structured level, with precise information
  available.
   - New simpler and more generic XML and HTML parser APIs, allowing to
    easily modify the parsing options and reuse parser context for multiple
    consecutive documents.
   - Similar new APIs for the xmlReader, for options and reuse, provided new
    functions to access content as const strings, use them for Python
  bindings
   - a  lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin),
    Walker i.e. reader on a document tree based on Alfred Mickautsch code,
    make room in nodes for line numbers, reference counting and future PSVI
    extensions, generation of character ranges to be checked with faster
    algorithm (William),  xmlParserMaxDepth (Crutcher Dunnavant), buffer
    access
   - New xmlWriter API provided by Alfred Mickautsch
   - Schemas: base64 support by Anthony Carrico
   - Parser<->HTTP integration fix, proper processing of the Mime-Type
    and charset information if available.
   - Relax-NG: bug fixes including the one reported by Martijn Faassen and
    zeroOrMore, better error reporting.
   - Python bindings (Stéphane Bidoul), never use stdout for errors
  output
   - Portability: all the headers have macros for export and calling
    convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry),
    Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher,  Igor),
    Mingw (Igor), typos (Mark Vakoc),  beta version (Stephane Bidoul),
    warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin
    'Shard' Konicki)
   - Documentation fixes and README (William Brack), search fix (William),
    tutorial updates (John Fleck), namespace docs (Stefan Kost)
   - Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized
    mutexes, HTML doctype lowercase,  SAX/IO (William), compression detection
    and restore (William), attribute declaration in DTDs (William), namespace
    on attribute in HTML output (William), input filename (Rob Richards),
    namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks
    (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter
    Derr), high codepoint charref like &#x10FFFF;, buffer access in push
    mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug
    (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
    error handling.
   - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
    testing,  --nodict for building without tree dictionary, --nocdata to
    replace CDATA by text, --nsclean to remove surperfluous  namespace
    declarations
   - added xml2-config --libtool-libs option from Kevin P. Fleming
   - a lot of profiling and tuning of the code, speedup patch for
    xmlSearchNs() by Luca Padovani. The xmlReader should do far less
    allocation and it speed should get closer to SAX. Chris Anderson worked
    on speeding and cleaning up repetitive checking code.
   - cleanup of "make tests"
   - libxml-2.0-uninstalled.pc from Malcolm Tredinnick
   - deactivated the broken docBook SGML parser code and plugged the XML
    parser instead.


2.5.11: Sep 9 2003:
A bugfix only release:   - risk of crash in Relax-NG
   - risk of crash when using multithreaded programs


2.5.10: Aug 15 2003:
A bugfixes only release   - Windows Makefiles (William Brack)
   - UTF-16 support fixes (Mark Itzcovitz)
   - Makefile and portability (William Brack) automake, Linux alpha, Mingw
    on Windows (Mikhail Grushinskiy)
   - HTML parser (Oliver Stoeneberg)
   - XInclude performance problem reported by Kevin Ruscoe
   - XML parser performance problem reported by Grant Goodale
   - xmlSAXParseDTD() bug fix from Malcolm Tredinnick
   - and a couple other cleanup


2.5.9: Aug 9 2003:
   - bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build
    (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading
    (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
    xmlReader, Relax-NG schemas compilation, namespace handling,  EXSLT (Sean
    Griffin), HTML parsing problem (William Brack), DTD validation for mixed
    content + namespaces, HTML serialization, library initialization,
    progressive HTML parser
   - better interfaces for Relax-NG error handling (Joachim Bauch, )
   - adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
   - doc fixes and improvements (John Fleck)
   - configure flag for -with-fexceptions when embedding in C++
   - couple of new UTF-8 helper functions (William Brack)
   - general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
   - xmlTextReader cleanup + enum for node types (Bjorn Reese)
   - general compilation/warning cleanup Solaris/HP-UX/... (William
  Brack)


2.5.8: Jul 6 2003:
   - bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
    Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
    PI related memleak, compilation without schemas or without xpath (Joerg
    Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
    rpm problem on , i86_64, removed a few compilation problems from 2.5.7,
    xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
   - portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
   - William Brack fixed multithreading lock problems
   - IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
   - Windows fixes (Igor Zlatkovic,  Eric Zurcher), threading (Stéphane
    Bidoul)
   - A few W3C Schemas Structure improvements
   - W3C Schemas Datatype improvements (Charlie Bozeman)
   - Python bindings for thread globals (Stéphane Bidoul), and method/class
    generator
   - added --nonet option to xmllint
   - documentation improvements (John Fleck)


2.5.7: Apr 25 2003:
   - Relax-NG: Compiling to regexp and streaming validation on top of the
    xmlReader interface, added to xmllint --stream
   - xmlReader: Expand(), Next() and DOM access glue, bug fixes
   - Support for large files: RGN validated a 4.5GB instance
   - Thread support is now configured in by default
   - Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes
    (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser
    and zero bytes handling, some missing Windows file path conversions,
    behaviour of the parser and validator in the presence of "out of memory"
    error conditions
   - extended the API to be able to plug a garbage collecting memory
    allocator, added xmlMallocAtomic() and modified the allocations
    accordingly.
   - Performances: removed excessive malloc() calls, speedup of the push and
    xmlReader interfaces, removed excessive thread locking
   - Documentation: man page (John Fleck), xmlReader documentation
   - Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)


2.5.6: Apr 1 2003:
   - Fixed W3C XML Schemas datatype, should be compliant now except for
    binHex and base64 which are not supported yet.
   - bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
    XInclude entities handling, encoding detection on external subsets, XML
    Schemas bugs and memory leaks, HTML parser (James Bursa)
   - portability: python/trio (Albert Chin), Sun compiler warnings
   - documentation: added --relaxng option to xmllint man page (John)
   - improved error reporting: xml:space, start/end tag mismatches, Relax NG
    errors


2.5.5: Mar 24 2003:
   - Lot of fixes on the Relax NG implementation. More testing including
    DocBook and TEI examples.
   - Increased the support for W3C XML Schemas datatype
   - Several bug fixes in the URI handling layer
   - Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding
    conversion, line counting in the parser.
   - Added support for $XMLLINT_INDENT environment variable, FTP delete
   - Fixed the RPM spec file name


2.5.4: Feb 20 2003:
   - Conformance testing and lot of fixes on Relax NG and XInclude
    implementation
   - Implementation of XPointer element() scheme
   - Bug fixes: XML parser, XInclude entities merge, validity checking on
    namespaces,
    2 serialization bugs, node info generation problems, a DTD regexp
    generation problem.
  
   - Portability: windows updates and path canonicalization (Igor)
   - A few typo fixes (Kjartan Maraas)
   - Python bindings generator fixes (Stephane Bidoul)


2.5.3: Feb 10 2003:
   - RelaxNG and XML Schemas datatypes improvements, and added a first
    version of RelaxNG Python bindings
   - Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for
    serializing namespace nodes, encoding conversion bug, XHTML1
  serialization
   - Portability fixes: Windows (Igor), AMD 64bits RPM spec file


2.5.2: Feb 5 2003:
   - First implementation of RelaxNG, added --relaxng flag to xmllint
   - Schemas support now compiled in by default.
   - Bug fixes: DTD validation, namespace checking, XInclude and entities,
    delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul),
    XPath parser and evaluation,  UTF8ToUTF8 serialization, XML reader memory
    consumption, HTML parser, HTML serialization in the presence of
  namespaces
   - added an HTML API to check elements and attributes.
   - Documentation improvement, PDF for the tutorial (John Fleck), doc
    patches (Stefan Kost)
   - Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
   - Added python bindings for XPointer, contextual error reporting
    (Stéphane Bidoul)
   - URI/file escaping problems (Stefano Zacchiroli)


2.5.1: Jan 8 2003:
   - Fixes a memory leak and configuration/compilation problems in 2.5.0
   - documentation updates (John)
   - a couple of XmlTextReader fixes


2.5.0: Jan 6 2003:
   - New XmltextReader interface based on C#
    API (with help of Stéphane Bidoul)
   - Windows: more exports, including the new API (Igor)
   - XInclude fallback fix
   - Python: bindings for the new API, packaging (Stéphane Bidoul),
    drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup
    and iterators for Python-2.2 (Hannu Krosing)
   - Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update
  (John)
   - Fix an XML parser bug raised by Vyacheslav Pindyura
   - Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
   - Entities handling fixes
   - new API to optionally track node creation and deletion (Lukas
  Schroeder)
   - Added documentation for the XmltextReader interface and some XML guidelines


2.4.30: Dec 12 2002:
   - 2.4.29 broke the python bindings, rereleasing
   - Improvement/fixes of the XML API generator, and couple of minor code
    fixes.


2.4.29: Dec 11 2002:
   - Windows fixes (Igor): Windows CE port, pthread linking, python bindings
    (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
   - Fix for prev in python bindings (ERDI Gergo)
   - Fix for entities handling (Marcus Clarke)
   - Refactored the XML and HTML dumps to a single code path, fixed XHTML1
    dump
   - Fix for URI parsing when handling URNs with fragment identifiers
   - Fix for HTTP URL escaping problem
   - added an TextXmlReader (C#) like API (work in progress)
   - Rewrote the API in XML generation script, includes a C parser and saves
    more information needed for C# bindings


2.4.28: Nov 22 2002:
   - a couple of python binding fixes
   - 2 bug fixes in the XML push parser
   - potential memory leak removed (Martin Stoilov)
   - fix to the configure script for Unix (Dimitri Papadopoulos)
   - added encoding support for XInclude parse="text"
   - autodetection of XHTML1 and specific serialization rules added
   - nasty threading bug fixed (William Brack)


2.4.27: Nov 17 2002:
   - fixes for the Python bindings
   - a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
    HTML parser,  Schemas (Charles Bozeman), document fragment support
    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
    Pajas), entities processing
   - added grep to xmllint --shell
   - VMS update patch from Craig A. Berry
   - cleanup of the Windows build with support for more compilers (Igor),
    better thread support on Windows
   - cleanup of Unix Makefiles and spec file
   - Improvements to the documentation (John Fleck)


2.4.26: Oct 18 2002:
   - Patches for Windows CE port, improvements on Windows paths handling
   - Fixes to the validation  code (DTD and Schemas), xmlNodeGetPath() ,
    HTML serialization, Namespace compliance,  and a number of small
  problems


2.4.25: Sep 26 2002:
   - A number of bug fixes: XPath, validation, Python bindings, DOM and
    tree, xmlI/O,  Html
   - Serious rewrite of XInclude
   - Made XML Schemas regexp part of the default build and APIs, small fix
    and improvement of the regexp core
   - Changed the validation code to reuse XML Schemas regexp APIs
   - Better handling of Windows file paths, improvement of Makefiles (Igor,
    Daniel Gehriger, Mark Vakoc)
   - Improved the python I/O bindings, the tests, added resolver and regexp
    APIs
   - New logos from Marc Liyanage
   - Tutorial improvements: John Fleck, Christopher Harris
   - Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe
  Merlet)
   - removal of all stderr/perror use for error reporting
   - Better error reporting: XPath and DTD validation
   - update of the trio portability layer (Bjorn Reese)

2.4.24: Aug 22 2002   - XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
   - Python binding fixes: makefiles (William), generator, rpm build, x86-64
    (fcrozat)
   - HTML <style> and boolean attributes serializer fixes
   - C14N improvements by Aleksey
   - doc cleanups: Rick Jones
   - Windows compiler makefile updates: Igor and Elizabeth Barham
   - XInclude: implementation of fallback and xml:base fixup added


2.4.23: July 6 2002:
   - performances patches: Peter Jacobi
   - c14n fixes, testsuite and performances: Aleksey Sanin
   - added xmlDocFormatDump: Chema Celorio
   - new tutorial: John Fleck
   - new hash functions and performances: Sander Vesik, portability fix from
    Peter Jacobi
   - a number of bug fixes: XPath (William Brack, Richard Jinks), XML and
    HTML parsers, ID lookup function
   - removal of all remaining sprintf: Aleksey Sanin


2.4.22: May 27 2002:
   - a number of bug fixes: configure scripts, base handling, parser, memory
    usage, HTML parser, XPath, documentation (Christian Cornelssen),
    indentation, URI parsing
   - Optimizations for XMLSec, fixing and making public some of the network
    protocol handlers (Aleksey)
   - performance patch from Gary Pennington
   - Charles Bozeman provided date and time support for XML Schemas
  datatypes


2.4.21: Apr 29 2002:
This release is both a bug fix release and also contains the early XML
Schemas structures at 
http://www.w3.org/TR/xmlschema-1/
 and datatypes at 
http://www.w3.org/TR/xmlschema-2/
 code, beware, all
interfaces are likely to change, there is huge holes, it is clearly a work in
progress and don't even think of putting this code in a production system,
it's actually not compiled in by default. The real fixes are:
   - a couple of bugs or limitations introduced in 2.4.20
   - patches for Borland C++ and MSC by Igor
   - some fixes on XPath strings and conformance patches by Richard
  Jinks
   - patch from Aleksey for the ExcC14N specification
   - OSF/1 bug fix by Bjorn


2.4.20: Apr 15 2002:
   - bug fixes: file descriptor leak, XPath, HTML output, DTD validation
   - XPath conformance testing by Richard Jinks
   - Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings,
    libxml.m4


2.4.19: Mar 25 2002:
   - bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
    encoder
   - portability fixes in the HTTP code
   - memory allocation checks using valgrind, and profiling tests
   - revamp of the Windows build and Makefiles


2.4.18: Mar 18 2002:
   - bug fixes: tree, SAX, canonicalization, validation, portability,
  XPath
   - removed the --with-buffer option it was becoming unmaintainable
   - serious cleanup of the Python makefiles
   - speedup patch to XPath very effective for DocBook stylesheets
   - Fixes for Windows build, cleanup of the documentation


2.4.17: Mar 8 2002:
   - a lot of bug fixes, including "namespace nodes have no parents in
  XPath"
   - fixed/improved the Python wrappers, added more examples and more
    regression tests, XPath extension functions can now return node-sets
   - added the XML Canonicalization support from Aleksey Sanin


2.4.16: Feb 20 2002:
   - a lot of bug fixes, most of them were triggered by the XML Testsuite
    from OASIS and W3C. Compliance has been significantly improved.
   - a couple of portability fixes too.


2.4.15: Feb 11 2002:
   - Fixed the Makefiles, especially the python module ones
   - A few bug fixes and cleanup
   - Includes cleanup


2.4.14: Feb 8 2002:
   - Change of License to the MIT
    License basically for integration in XFree86 codebase, and removing
    confusion around the previous dual-licensing
   - added Python bindings, beta software but should already be quite
    complete
   - a large number of fixes and cleanups, especially for all tree
    manipulations
   - cleanup of the headers, generation of a reference API definition in
  XML


2.4.13: Jan 14 2002:
   - update of the documentation: John Fleck and Charlie Bozeman
   - cleanup of timing code from Justin Fletcher
   - fixes for Windows and initial thread support on Win32: Igor and Serguei
    Narojnyi
   - Cygwin patch from Robert Collins
   - added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg


2.4.12: Dec 7 2001:
   - a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman),
    XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups
  (robert)
   - Eric Lavigne contributed project files for MacOS
   - some makefiles cleanups


2.4.11: Nov 26 2001:
   - fixed a couple of errors in the includes, fixed a few bugs, some code
    cleanups
   - xmllint man pages improvement by Heiko Rupp
   - updated VMS build instructions from John A Fotheringham
   - Windows Makefiles updates from Igor


2.4.10: Nov 10 2001:
   - URI escaping fix (Joel Young)
   - added xmlGetNodePath() (for paths or XPointers generation)
   - Fixes namespace handling problems when using DTD and validation
   - improvements on xmllint: Morus Walter patches for --format and
    --encode, Stefan Kost and Heiko Rupp improvements on the --shell
   - fixes for xmlcatalog linking pointed by Weiqi Gao
   - fixes to the HTML parser


2.4.9: Nov 6 2001:
   - fixes more catalog bugs
   - avoid a compilation problem, improve xmlGetLineNo()


2.4.8: Nov 4 2001:
   - fixed SGML catalogs broken in previous release, updated xmlcatalog
  tool
   - fixed a compile errors and some includes troubles.


2.4.7: Oct 30 2001:
   - exported some debugging interfaces
   - serious rewrite of the catalog code
   - integrated Gary Pennington thread safety patch, added configure option
    and regression tests
   - removed an HTML parser bug
   - fixed a couple of potentially serious validation bugs
   - integrated the SGML DocBook support in xmllint
   - changed the nanoftp anonymous login passwd
   - some I/O cleanup and a couple of interfaces for Perl wrapper
   - general bug fixes
   - updated xmllint man page by John Fleck
   - some VMS and Windows updates


2.4.6: Oct 10 2001:
   - added an updated man pages by John Fleck
   - portability and configure fixes
   - an infinite loop on the HTML parser was removed (William)
   - Windows makefile patches from Igor
   - fixed half a dozen bugs reported for libxml or libxslt
   - updated xmlcatalog to be able to modify SGML super catalogs


2.4.5: Sep 14 2001:
   - Remove a few annoying bugs in 2.4.4
   - forces the HTML serializer to output decimal charrefs since some
    version of Netscape can't handle hexadecimal ones


1.8.16: Sep 14 2001:
   - maintenance release of the old libxml1 branch, couple of bug and
    portability fixes


2.4.4: Sep 12 2001:
   - added --convert to xmlcatalog, bug fixes and cleanups of XML
  Catalog
   - a few bug fixes and some portability changes
   - some documentation cleanups


2.4.3:  Aug 23 2001:
   - XML Catalog support see the doc
   - New NaN/Infinity floating point code
   - A few bug fixes


2.4.2:  Aug 15 2001:
   - adds xmlLineNumbersDefault() to control line number generation
   - lot of bug fixes
   - the Microsoft MSC projects files should now be up to date
   - inheritance of namespaces from DTD defaulted attributes
   - fixes a serious potential security bug
   - added a --format option to xmllint


2.4.1:  July 24 2001:
   - possibility to keep line numbers in the tree
   - some computation NaN fixes
   - extension of the XPath API
   - cleanup for alpha and ia64 targets
   - patch to allow saving through HTTP PUT or POST


2.4.0: July 10 2001:
   - Fixed a few bugs in XPath, validation, and tree handling.
   - Fixed XML Base implementation, added a couple of examples to the
    regression tests
   - A bit of cleanup


2.3.14: July 5 2001:
   - fixed some entities problems and reduce memory requirement when
    substituting them
   - lots of improvements in the XPath queries interpreter can be
    substantially faster
   - Makefiles and configure cleanups
   - Fixes to XPath variable eval, and compare on empty node set
   - HTML tag closing bug fixed
   - Fixed an URI reference computation problem when validating


2.3.13: June 28 2001:
   - 2.3.12 configure.in was broken as well as the push mode XML parser
   - a few more fixes for compilation on Windows MSC by Yon Derek


1.8.14: June 28 2001:
   - Zbigniew Chyla gave a patch to use the old XML parser in push mode
   - Small Makefile fix


2.3.12: June 26 2001:
   - lots of cleanup
   - a couple of validation fix
   - fixed line number counting
   - fixed serious problems in the XInclude processing
   - added support for UTF8 BOM at beginning of entities
   - fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
    miscompile uri.c (William), Thomas Leitner provided a fix for the
    optimizer on Tru64
   - incorporated Yon Derek and Igor Zlatkovic  fixes and improvements for
    compilation on Windows MSC
   - update of libxml-doc.el (Felix Natter)
   - fixed 2 bugs in URI normalization code


2.3.11: June 17 2001:
   - updates to trio, Makefiles and configure should fix some portability
    problems (alpha)
   - fixed some HTML serialization problems (pre, script, and block/inline
    handling), added encoding aware APIs, cleanup of this code
   - added xmlHasNsProp()
   - implemented a specific PI for encoding support in the DocBook SGML
    parser
   - some XPath fixes (-Infinity, / as a function parameter and namespaces
    node selection)
   - fixed a performance problem and an error in the validation code
   - fixed XInclude routine to implement the recursive behaviour
   - fixed xmlFreeNode problem when libxml is included statically twice
   - added --version to xmllint for bug reports


2.3.10: June 1 2001:
   - fixed the SGML catalog support
   - a number of reported bugs got fixed, in XPath, iconv detection,
    XInclude processing
   - XPath string function should now handle unicode correctly


2.3.9: May 19 2001:
Lots of bugfixes, and added a basic SGML catalog support:
   - HTML push bugfix #54891 and another patch from Jonas Borgstrom
   - some serious speed optimization again
   - some documentation cleanups
   - trying to get better linking on Solaris (-R)
   - XPath API cleanup from Thomas Broyer
   - Validation bug fixed #54631, added a patch from Gary Pennington, fixed
    xmlValidGetValidElements()
   - Added an INSTALL file
   - Attribute removal added to API: #54433
   - added a basic support for SGML catalogs
   - fixed xmlKeepBlanksDefault(0) API
   - bugfix in xmlNodeGetLang()
   - fixed a small configure portability problem
   - fixed an inversion of SYSTEM and PUBLIC identifier in HTML document


1.8.13: May 14 2001:
   - bugfixes release of the old libxml1 branch used by Gnome


2.3.8: May 3 2001:
   - Integrated an SGML DocBook parser for the Gnome project
   - Fixed a few things in the HTML parser
   - Fixed some XPath bugs raised by XSLT use, tried to fix the floating
    point portability issue
   - Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
    DOM+validation using the XML REC as input and a 700MHz celeron).
   - incorporated more Windows cleanup
   - added xmlSaveFormatFile()
   - fixed problems in copying nodes with entities references (gdome)
   - removed some troubles surrounding the new validation module


2.3.7: April 22 2001:
   - lots of small bug fixes, corrected XPointer
   - Non deterministic content model validation support
   - added xmlDocCopyNode for gdome2
   - revamped the way the HTML parser handles end of tags
   - XPath: corrections of namespaces support and number formatting
   - Windows: Igor Zlatkovic patches for MSC compilation
   - HTML output fixes from P C Chow and William M. Brack
   - Improved validation speed sensible for DocBook
   - fixed a big bug with ID declared in external parsed entities
   - portability fixes, update of Trio from Bjorn Reese


2.3.6: April 8 2001:
   - Code cleanup using extreme gcc compiler warning options, found and
    cleared half a dozen potential problem
   - the Eazel team found an XML parser bug
   - cleaned up the user of some of the string formatting function. used the
    trio library code to provide the one needed when the platform is missing
    them
   - xpath: removed a memory leak and fixed the predicate evaluation
    problem, extended the testsuite and cleaned up the result. XPointer seems
    broken ...


2.3.5: Mar 23 2001:
   - Biggest change is separate parsing and evaluation of XPath expressions,
    there is some new APIs for this too
   - included a number of bug fixes(XML push parser, 51876, notations,
  52299)
   - Fixed some portability issues


2.3.4: Mar 10 2001:
   - Fixed bugs #51860 and #51861
   - Added a global variable xmlDefaultBufferSize to allow default buffer
    size to be application tunable.
   - Some cleanup in the validation code, still a bug left and this part
    should probably be rewritten to support ambiguous content model :-\
   - Fix a couple of serious bugs introduced or raised by changes in 2.3.3
    parser
   - Fixed another bug in xmlNodeGetContent()
   - Bjorn fixed XPath node collection and Number formatting
   - Fixed a loop reported in the HTML parsing
   - blank space are reported even if the Dtd content model proves that they
    are formatting spaces, this is for XML conformance


2.3.3: Mar 1 2001:
   - small change in XPath for XSLT
   - documentation cleanups
   - fix in validation by Gary Pennington
   - serious parsing performances improvements


2.3.2: Feb 24 2001:
   - chasing XPath bugs, found a bunch, completed some TODO
   - fixed a Dtd parsing bug
   - fixed a bug in xmlNodeGetContent
   - ID/IDREF support partly rewritten by Gary Pennington


2.3.1: Feb 15 2001:
   - some XPath and HTML bug fixes for XSLT
   - small extension of the hash table interfaces for DOM gdome2
    implementation
   - A few bug fixes


2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track):
   - Lots of XPath bug fixes
   - Add a mode with Dtd lookup but without validation error reporting for
    XSLT
   - Add support for text node without escaping (XSLT)
   - bug fixes for xmlCheckFilename
   - validation code bug fixes from Gary Pennington
   - Patch from Paul D. Smith correcting URI path normalization
   - Patch to allow simultaneous install of libxml-devel and
  libxml2-devel
   - the example Makefile is now fixed
   - added HTML to the RPM packages
   - tree copying bugfixes
   - updates to Windows makefiles
   - optimization patch from Bjorn Reese


2.2.11: Jan 4 2001:
   - bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
   - added htmlHandleOmittedElem()
   - Applied Bjorn Reese's IPV6 first patch
   - Applied Paul D. Smith patches for validation of XInclude results
   - added XPointer xmlns() new scheme support


2.2.10: Nov 25 2000:
   - Fix the Windows problems of 2.2.8
   - integrate OpenVMS patches
   - better handling of some nasty HTML input
   - Improved the XPointer implementation
   - integrate a number of provided patches


2.2.9: Nov 25 2000:
   - erroneous release :-(


2.2.8: Nov 13 2000:
   - First version of XInclude
    support
   - Patch in conditional section handling
   - updated MS compiler project
   - fixed some XPath problems
   - added an URI escaping function
   - some other bug fixes


2.2.7: Oct 31 2000:
   - added message redirection
   - XPath improvements (thanks TOM !)
   - xmlIOParseDTD() added
   - various small fixes in the HTML, URI, HTTP and XPointer support
   - some cleanup of the Makefile, autoconf and the distribution content


2.2.6: Oct 25 2000::
   - Added an hash table module, migrated a number of internal structure to
    those
   - Fixed a posteriori validation problems
   - HTTP module cleanups
   - HTML parser improvements (tag errors, script/style handling, attribute
    normalization)
   - coalescing of adjacent text nodes
   - couple of XPath bug fixes, exported the internal API


2.2.5: Oct 15 2000::
   - XPointer implementation and testsuite
   - Lot of XPath fixes, added variable and functions registration, more
    tests
   - Portability fixes, lots of enhancements toward an easy Windows build
    and release
   - Late validation fixes
   - Integrated a lot of contributed patches
   - added memory management docs
   - a performance problem when using large buffer seems fixed


2.2.4: Oct 1 2000::
   - main XPath problem fixed
   - Integrated portability patches for Windows
   - Serious bug fixes on the URI and HTML code


2.2.3: Sep 17 2000:
   - bug fixes
   - cleanup of entity handling code
   - overall review of all loops in the parsers, all sprintf usage has been
    checked too
   - Far better handling of larges Dtd. Validating against DocBook XML Dtd
    works smoothly now.


1.8.10: Sep 6 2000:
   - bug fix release for some Gnome projects


2.2.2: August 12 2000:
   - mostly bug fixes
   - started adding routines to access xml parser context options


2.2.1: July 21 2000:
   - a purely bug fixes release
   - fixed an encoding support problem when parsing from a memory block
   - fixed a DOCTYPE parsing problem
   - removed a bug in the function allowing to override the memory
    allocation routines


2.2.0: July 14 2000:
   - applied a lot of portability fixes
   - better encoding support/cleanup and saving (content is now always
    encoded in UTF-8)
   - the HTML parser now correctly handles encodings
   - added xmlHasProp()
   - fixed a serious problem with &#38;
   - propagated the fix to FTP client
   - cleanup, bugfixes, etc ...
   - Added a page about libxml Internationalization
    support


1.8.9:  July 9 2000:
   - fixed the spec the RPMs should be better
   - fixed a serious bug in the FTP implementation, released 1.8.9 to solve
    rpmfind users problem


2.1.1: July 1 2000:
   - fixes a couple of bugs in the 2.1.0 packaging
   - improvements on the HTML parser


2.1.0 and 1.8.8: June 29 2000:
   - 1.8.8 is mostly a commodity package for upgrading to libxml2 according
    to new instructions. It fixes a nasty problem
    about &#38; charref parsing
   - 2.1.0 also ease the upgrade from libxml v1 to the recent version. it
    also contains numerous fixes and enhancements:
    
      added xmlStopParser() to stop parsing
      improved a lot parsing speed when there is large CDATA blocks
      includes XPath patches provided by Picdar Technology
      tried to fix as much as possible DTD validation and namespace
        related problems
      output to a given encoding has been added/tested
      lot of various fixes
    
  
   - added xmlStopParser() to stop parsing
   - improved a lot parsing speed when there is large CDATA blocks
   - includes XPath patches provided by Picdar Technology
   - tried to fix as much as possible DTD validation and namespace
        related problems
   - output to a given encoding has been added/tested
   - lot of various fixes


2.0.0: Apr 12 2000:
   - First public release of libxml2. If you are using libxml, it's a good
    idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially
    scheduled for Apr 3 the release occurred only on Apr 12 due to massive
    workload.
   - The include are now located under $prefix/include/libxml (instead of
    $prefix/include/gnome-xml), they also are referenced by
    #include <libxml/xxx.h>
    instead of
    #include "xxx.h"
  
   - a new URI module for parsing URIs and following strictly RFC 2396
   - the memory allocation routines used by libxml can now be overloaded
    dynamically by using xmlMemSetup()
   - The previously CVS only tool tester has been renamed
    xmllint and is now installed as part of the libxml2
    package
   - The I/O interface has been revamped. There is now ways to plug in
    specific I/O modules, either at the URI scheme detection level using
    xmlRegisterInputCallbacks()  or by passing I/O functions when creating a
    parser context using xmlCreateIOParserCtxt()
   - there is a C preprocessor macro LIBXML_VERSION providing the version
    number of the libxml module in use
   - a number of optional features of libxml can now be excluded at
    configure time (FTP/HTTP/HTML/XPath/Debug)


2.0.0beta: Mar 14 2000:
   - This is a first Beta release of libxml version 2
   - It's available only fromxmlsoft.org
    FTP, it's packaged as libxml2-2.0.0beta and available as tar and
  RPMs
   - This version is now the head in the Gnome CVS base, the old one is
    available under the tag LIB_XML_1_X
   - This includes a very large set of changes. From a  programmatic point
    of view applications should not have to be modified too much, check the
    upgrade page
   - Some interfaces may changes (especially a bit about encoding).
   - the updates includes:
    
      fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
        handled now
      Better handling of entities, especially well-formedness checking
        and proper PEref extensions in external subsets
      DTD conditional sections
      Validation now correctly handle entities content
      change
        structures to accommodate DOM
    
  
   - fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
        handled now
   - Better handling of entities, especially well-formedness checking
        and proper PEref extensions in external subsets
   - DTD conditional sections
   - Validation now correctly handle entities content
   - change
        structures to accommodate DOM
   - Serious progress were made toward compliance, here are the result of the test against the
    OASIS testsuite (except the Japanese tests since I don't support that
    encoding yet). This URL is rebuilt every couple of hours using the CVS
    head version.


1.8.7: Mar 6 2000:
   - This is a bug fix release:
   - It is possible to disable the ignorable blanks heuristic used by
    libxml-1.x, a new function  xmlKeepBlanksDefault(0) will allow this. Note
    that for adherence to XML spec, this behaviour will be disabled by
    default in 2.x . The same function will allow to keep compatibility for
    old code.
   - Blanks in <a>  </a> constructs are not ignored anymore,
    avoiding heuristic is really the Right Way :-\
   - The unchecked use of snprintf which was breaking libxml-1.8.6
    compilation on some platforms has been fixed
   - nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing
  URIs


1.8.6: Jan 31 2000:
   - added a nanoFTP transport module, debugged until the new version of rpmfind can use
    it without troubles


1.8.5: Jan 21 2000:
   - adding APIs to parse a well balanced chunk of XML (production [43] content of the
    XML spec)
   - fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
   - Jody Goldberg <jgoldberg@home.com> provided another patch trying
    to solve the zlib checks problems
   - The current state in gnome CVS base is expected to ship as 1.8.5 with
    gnumeric soon


1.8.4: Jan 13 2000:
   - bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
   - all exit() call should have been removed from libxml
   - fixed a problem with INCLUDE_WINSOCK on WIN32 platform
   - added newDocFragment()


1.8.3: Jan 5 2000:
   - a Push interface for the XML and HTML parsers
   - a shell-like interface to the document tree (try tester --shell :-)
   - lots of bug fixes and improvement added over XMas holidays
   - fixed the DTD parsing code to work with the xhtml DTD
   - added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
   - Fixed bugs in xmlNewNs()
   - External entity loading code has been revamped, now it uses
    xmlLoadExternalEntity(), some fix on entities processing were added
   - cleaned up WIN32 includes of socket stuff


1.8.2: Dec 21 1999:
   - I got another problem with includes and C++, I hope this issue is fixed
    for good this time
   - Added a few tree modification functions: xmlReplaceNode,
    xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
    xmlDocSetRootElement
   - Tried to improve the HTML output with help from Chris Lahey


1.8.1: Dec 18 1999:
   - various patches to avoid troubles when using libxml with C++ compilers
    the "namespace" keyword and C escaping in include files
   - a problem in one of the core macros IS_CHAR was corrected
   - fixed a bug introduced in 1.8.0 breaking default namespace processing,
    and more specifically the Dia application
   - fixed a posteriori validation (validation after parsing, or by using a
    Dtd not specified in the original document)
   - fixed a bug in


1.8.0: Dec 12 1999:
   - cleanup, especially memory wise
   - the parser should be more reliable, especially the HTML one, it should
    not crash, whatever the input !
   - Integrated various patches, especially a speedup improvement for large
    dataset from Carl Nygard,
    configure with --with-buffers to enable them.
   - attribute normalization, oops should have been added long ago !
   - attributes defaulted from DTDs should be available, xmlSetProp() now
    does entities escaping by default.


1.7.4: Oct 25 1999:
   - Lots of HTML improvement
   - Fixed some errors when saving both XML and HTML
   - More examples, the regression tests should now look clean
   - Fixed a bug with contiguous charref


1.7.3: Sep 29 1999:
   - portability problems fixed
   - snprintf was used unconditionally, leading to link problems on system
    were it's not available, fixed


1.7.1: Sep 24 1999:
   - The basic type for strings manipulated by libxml has been renamed in
    1.7.1 from CHAR to xmlChar. The reason
    is that CHAR was conflicting with a predefined type on Windows. However
    on non WIN32 environment, compatibility is provided by the way of  a
    #define .
   - Changed another error : the use of a structure field called errno, and
    leading to troubles on platforms where it's a macro


1.7.0: Sep 23 1999:
   - Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
   - Added an errno to report errors by another mean than a simple printf
    like callback
   - Finished ID/IDREF support and checking when validation
   - Serious memory leaks fixed (there is now a memory wrapper module)
   - Improvement of XPath
    implementation
   - Added an HTML parser front-end

Daniel Veillard at 
bugs.html
share/doc/alt-libxml2/TODO000064400000026134150505765600011251 0ustar00124907 HTML parse buffer problem when parsing larse in-memory docs
124110 DTD validation && wrong namespace
123564 xmllint --html --format

           TODO for the XML parser and stuff:
	   ==================================

    this tend to be outdated :-\ ...

DOCS:
=====

- use case of using XInclude to load for example a description.
  order document + product base -(XSLT)-> quote with XIncludes 
                                                   |
  HTML output with description of parts <---(XSLT)--

TODO:
=====
- XInclude at the SAX level (libSRVG)
- fix the C code prototype to bring back doc/libxml-undocumented.txt
  to a reasonable level
- Computation of base when HTTP redirect occurs, might affect HTTP
  interfaces.
- Computation of base in XInclude. Relativization of URIs.
- listing all attributes in a node.
- Better checking of external parsed entities TAG 1234
- Go through erratas and do the cleanup.
  http://www.w3.org/XML/xml-19980210-errata ... started ...
- jamesh suggestion: SAX like functions to save a document ie. call a
  function to open a new element with given attributes, write character
  data, close last element, etc
  + inversted SAX, initial patch in April 2002 archives.
- htmlParseDoc has parameter encoding which is not used.
  Function htmlCreateDocParserCtxt ignore it.
- fix realloc() usage.
- Stricten the UTF8 conformance (Martin Duerst):
  http://www.w3.org/2001/06/utf-8-test/.
  The bad files are in http://www.w3.org/2001/06/utf-8-wrong/.
- xml:id normalized value

TODO:
=====

- move all string manipulation functions (xmlStrdup, xmlStrlen, etc.) to
  global.c. Bjorn noted that the following files depends on parser.o solely
  because of these string functions: entities.o, global.o, hash.o, tree.o,
  xmlIO.o, and xpath.o.

- Optimization of tag strings allocation ?

- maintain coherency of namespace when doing cut'n paste operations
  => the functions are coded, but need testing

- function to rebuild the ID table
- functions to rebuild the DTD hash tables (after DTD changes).
   

EXTENSIONS:
===========

- Tools to produce man pages from the SGML docs.

- Add Xpointer recognition/API

- Add Xlink recognition/API
  => started adding an xlink.[ch] with a unified API for XML and HTML.
     it's crap :-(

- Implement XSchemas
  => Really need to be done <grin/>
  - datatype are complete, but structure support is very limited.

- extend the shell with:
   - edit
   - load/save
   - mv (yum, yum, but it's harder because directories are ordered in
     our case, mvup and mvdown would be required)


Done:
=====

- Add HTML validation using the XHTML DTD
  - problem: do we want to keep and maintain the code for handling
    DTD/System ID cache directly in libxml ?
  => not really done that way, but there are new APIs to check elements
     or attributes. Otherwise XHTML validation directly ...

- XML Schemas datatypes except Base64 and BinHex

- Relax NG validation

- XmlTextReader streaming API + validation

- Add a DTD cache prefilled with xhtml DTDs and entities and a program to
  manage them -> like the /usr/bin/install-catalog from SGML
  right place seems $datadir/xmldtds
  Maybe this is better left to user apps
  => use a catalog instead , and xhtml1-dtd package

- Add output to XHTML
  => XML serializer automatically recognize the DTd and apply the specific
     rules.

- Fix output of <tst val="x&#xA;y"/>

- compliance to XML-Namespace checking, see section 6 of
  http://www.w3.org/TR/REC-xml-names/

- Correct standalone checking/emitting (hard)
  2.9 Standalone Document Declaration

- Implement OASIS XML Catalog support
  http://www.oasis-open.org/committees/entity/

- Get OASIS testsuite to a more friendly result, check all the results
  once stable. the check-xml-test-suite.py script does this

- Implement XSLT
  => libxslt

- Finish XPath
  => attributes addressing troubles
  => defaulted attributes handling
  => namespace axis ?
  done as XSLT got debugged

- bug reported by Michael Meallin on validation problems
  => Actually means I need to add support (and warn) for non-deterministic
     content model.
- Handle undefined namespaces in entity contents better ... at least
  issue a warning
- DOM needs
  int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr);
  => done it's actually xmlRemoveProp xmlUnsetProp xmlUnsetNsProp

- HTML: handling of Script and style data elements, need special code in
  the parser and saving functions (handling of < > " ' ...):
  http://www.w3.org/TR/html4/types.html#type-script
  Attributes are no problems since entities are accepted.
- DOM needs
  xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
- problem when parsing hrefs with & with the HTML parser (IRC ac)
- If the internal encoding is not UTF8 saving to a given encoding doesn't
  work => fix to force UTF8 encoding ...
  done, added documentation too
- Add an ASCII I/O encoder (asciiToUTF8 and UTF8Toascii)
- Issue warning when using non-absolute namespaces URI.
- the html parser should add <head> and <body> if they don't exist
  started, not finished.
  Done, the automatic closing is added and 3 testcases were inserted
- Command to force the parser to stop parsing and ignore the rest of the file.
  xmlStopParser() should allow this, mostly untested
- support for HTML empty attributes like <hr noshade>
- plugged iconv() in for support of a large set of encodings.
- xmlSwitchToEncoding() rewrite done
- URI checkings (no fragments) rfc2396.txt
- Added a clean mechanism for overload or added input methods:
  xmlRegisterInputCallbacks()
- dynamically adapt the alloc entry point to use g_alloc()/g_free()
  if the programmer wants it: 
    - use xmlMemSetup() to reset the routines used.
- Check attribute normalization especially xmlGetProp()
- Validity checking problems for NOTATIONS attributes
- Validity checking problems for ENTITY ENTITIES attributes
- Parsing of a well balanced chunk xmlParseBalancedChunkMemory()
- URI module: validation, base, etc ... see uri.[ch]
- turn tester into a generic program xmllint installed with libxml
- extend validity checks to go through entities content instead of
  just labelling them PCDATA
- Save Dtds using the children list instead of dumping the tables,
  order is preserved as well as comments and PIs
- Wrote a notice of changes requires to go from 1.x to 2.x
- make sure that all SAX callbacks are disabled if a WF error is detected
- checking/handling of newline normalization
  http://localhost/www.xml.com/axml/target.html#sec-line-ends
- correct checking of '&' '%' on entities content.
- checking of PE/Nesting on entities declaration
- checking/handling of xml:space
   - checking done.
   - handling done, not well tested
- Language identification code, productions [33] to [38]
  => done, the check has been added and report WFness errors
- Conditional sections in DTDs [61] to [65]
  => should this crap be really implemented ???
  => Yep OASIS testsuite uses them
- Allow parsed entities defined in the internal subset to override
  the ones defined in the external subset (DtD customization).
  => This mean that the entity content should be computed only at
     use time, i.e. keep the orig string only at parse time and expand
     only when referenced from the external subset :-(
     Needed for complete use of most DTD from Eve Maler
- Add regression tests for all WFC errors
  => did some in test/WFC
  => added OASIS testsuite routines
     http://xmlsoft.org/conf/result.html

- I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted
  by the XML parser, UTF-8 should be checked when there is no "encoding"
  declared !
- Support for UTF-8 and UTF-16 encoding
  => added some conversion routines provided by Martin Durst
     patched them, got fixes from @@@
     I plan to keep everything internally as UTF-8 (or ISO-Latin-X)
     this is slightly more costly but more compact, and recent processors
     efficiency is cache related. The key for good performances is keeping
     the data set small, so will I.
  => the new progressive reading routines call the detection code
     is enabled, tested the ISO->UTF-8 stuff
- External entities loading: 
   - allow override by client code
   - make sure it is called for all external entities referenced
  Done, client code should use xmlSetExternalEntityLoader() to set
  the default loading routine. It will be called each time an external
  entity entity resolution is triggered.
- maintain ID coherency when removing/changing attributes
  The function used to deallocate attributes now check for it being an
  ID and removes it from the table.
- push mode parsing i.e. non-blocking state based parser
  done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
  and xmlParseChunk() and html counterparts.
  The tester program now has a --push option to select that parser 
  front-end. Douplicated tests to use both and check results are similar.

- Most of XPath, still see some troubles and occasionnal memleaks.
- an XML shell, allowing to traverse/manipulate an XML document with
  a shell like interface, and using XPath for the anming syntax
  - use of readline and history added when available
  - the shell interface has been cleanly separated and moved to debugXML.c
- HTML parser, should be fairly stable now
- API to search the lang of an attribute
- Collect IDs at parsing and maintain a table. 
   PBM: maintain the table coherency
   PBM: how to detect ID types in absence of DtD !
- Use it for XPath ID support
- Add validity checking
  Should be finished now !
- Add regression tests with entity substitutions

- External Parsed entities, either XML or external Subset [78] and [79]
  parsing the xmllang DtD now works, so it should be sufficient for
  most cases !

- progressive reading. The entity support is a first step toward
  abstraction of an input stream. A large part of the context is still
  located on the stack, moving to a state machine and putting everything
  in the parsing context should provide an adequate solution.
  => Rather than progressive parsing, give more power to the SAX-like
     interface. Currently the DOM-like representation is built but
     => it should be possible to define that only as a set of SAX callbacks
	and remove the tree creation from the parser code.
	DONE

- DOM support, instead of using a proprietary in memory
  format for the document representation, the parser should
  call a DOM API to actually build the resulting document.
  Then the parser becomes independent of the in-memory
  representation of the document. Even better using RPC's
  the parser can actually build the document in another
  program.
  => Work started, now the internal representation is by default
     very near a direct DOM implementation. The DOM glue is implemented
     as a separate module. See the GNOME gdome module.

- C++ support : John Ehresman <jehresma@dsg.harvard.edu>
- Updated code to follow more recent specs, added compatibility flag
- Better error handling, use a dedicated, overridable error
  handling function.
- Support for CDATA.
- Keep track of line numbers for better error reporting.
- Support for PI (SAX one).
- Support for Comments (bad, should be in ASAP, they are parsed
  but not stored), should be configurable.
- Improve the support of entities on save (+SAX).

share/doc/alt-libxml2-devel/libxml2-api.xml.gz000064400000471200150505765610015136 0ustar00�/�clibxml2-api.xml���s۸�����\g.�L�7M�rף)Jf#Q
Iپv:��-���_��?X��(ے�K?�!gI�-�`�����e��y��"�凓�?0��"���_~�������rt��?~���`�4X�_�%�\r��~�c_o���W�w�̅?��,��;�#����e�=���n����� e�,;;��R����7O2L�_��JL��0�W����"��RD�L7^���i����b����B�\E<����Xpv-��9�����L"6�,�g��`?�Q���	{Y��*������7,�d<yb�L�ɯn2�d�W<�o�0��������
����1��S��Uу�X���^��<a�<N� ����c�q%2Y
��r.�_�-�e��7A�^9纖ޱ�i%j��x��>�҄�$�G�,=�7���Q������T�gM\�4|�WS<-� ۹4�6�p�����9M�Gs�����rL4�χ���#�=���{�rݱK���dh[��'PW����MN���6�1d�_Z��q��S�E�	��1.�I���ÿ�9<����K��x�'�ư	:"�Xf�4�Y<D�����ʂ�ђ�ڱ�A@�jZB��q}�Q�3"�-�WE��Ff�
���ʰ8��և�������M���J�	��jF�e!�D��nq�)m����RdO/�FƤ�d	�pyI
G���-���4NW5��9�V�9׃9DZ/mB�)�U
W#/�ج��:�\Q�� )9�g�SG�V��e\<����v�V���2tO</dC9��Zd����x;N�g.�̕��B���C릚*��1jm/�0��Ǵ�kD��(m�¦(k������� �xr�߯����6���Rc�ؿ��-`%W[!�y��=@�3�
��ɱ/�����9H�9�?�:�,�Ґ���B�,N��>�>Oo���Ver�?�_-�1������:��F'6q-�r/-4�[ר�U+OS��l�^�\�E��qY4�4�:��@IeDo���8^�xXն+vr>"�A
�3zbFk!�8�W��S9�Yj
��$�Q�<�'�(��}MɞD)�뽻�9���^�I���;a��E|��P�%����f�XN>jO}[�"ge���y�da��7�	��ı���������uFA�'"D������P�S�axx�Ȇ�W�r�X���W<��ƶ��f6���P�{�U��W�Q�[^�")��S.�<C�z�B�q�	)�����+9Y/��N�y�v������K��y���r����Sߦ"�̫E\`��q�<I|���N�cG	Ē�^!�
�"���
�̩(�bGU�9�ک�@nl��3~�3�bZ4�H�9vxɊ��P�9Nd(�0Z�"�
��VZ}��:ڏ��j|�Us�¬�/k����n��JY�WH��SI<7n�O�$�gR{X�T��oc���7X�q[������>��T�fo9�(���Q�=Tq�,�Y�u�aѣ���oh�(q������X��!)F؆&[U
h�j��m����[L	Té�`w��jR�u0�R.�ckIݪ�dXU�C2�*x��^���x�iM�����:Q��UԤ�j�	�����KD��/���>���“��]'��}qf�H�0H����z�2��G�v'!�Aj�iHG�
�T>�[�Un��C�*��&���?1O�v)�1)~�7�U�?���[)�w
'"'g��d����Z�8Aֵ9�z���>5�‎D�[�U�X`C��*����y��O�8;��s�6�$���ݝCZɉ���魎	�S��I��+�\��CŽ<�_�rS��z���s5���&��y�u�ꖆo�o�#˛f�c�<��Hhf��+�1�6\olN����s��.x�"��k�-�9����>g��=���3�0���(7*7Q�>�@QF��g�����R�"u�U�YV/t�H�˝.���S贖�``�&ք��rEBEzϳ����VŁ3��r![Y�9't�
L�Ul��r�\�T��,ʠz�'vj�6�:�Ϊ�M4�4���%���o�44ȱ�u�o�&�V8�o
;+�_�DET�#��A�[�\񌒲�(����t�'��k�Žl���Zc*�r��֎,�[���;��h�yX繱x�u�Z�<��r��o*_H��Y��xK�k�� oy�3p��?��{Y3��Bu��� I]�e%ll��$h.\H/?^=�ɓ\��L�}�r�J.c�`��e����a��\.ay��k��T~f�����r����
K���;�@��.
�$�X�e�����z�m\�	d�`7=�8�j��qq��E����n�jM�ri.�j��VS�\NU�y�������Iz��y���^�Ƀ��vTI;�C�����R���vZhW�
��7��+�mZ
��E0G���V��3��
��`�@2�d�]ɩ�G2u�#�F�#�usc
�'ף��·k��[�����k��[��A�+�n��;�r�`_��#�L��]f�m]c�i��u��	au��Z(H�S��?bvd��`n�%�9����a��mD�@���[�<�h��`���8Ó������WdX=:���Lt�Ü�S5��L`x�
���P/�P�g�JS" j"�RAka�^O�bae�Ⱥpy^&�2OE�����e�i�.�n	�����Q�r�{qwU�
�I���1eH�2Wѿ���=�o�k��^��DT���F��X���Yxs{��D��<r��tGq*���9���������/�yp���#*l���K����5H�T�Xo�q�n}s�Uu��!
aAP?�Bu,�n���_� e��k_�y��������n/nj�<Q[�p�=W�������������}V4�u�鯬�~��-Jf$q�|.R��[iI�C�Ǔ��>���4ܶ7Ҕ?֏�8��ĆRեG'���޼�}��:�9�Y����em���,�,M\.�W.n�_���ԈGG�
"->(����|}~��ozЂ�3#��\���yŸ޳Kp����=;���d��T}>=��,�E��\֮,t�UY������gP8���L�֥3��&�rT��h�X�L��X�js���p�jE++1���g���gG'_>:~{O�Å����f�NOg�� �f�p�(ラ�i'�c'����N�N��;џ;�_��4T�:7{(�m�}��W��a� }ڶX����U���N;�g�Vz؉����}�$���	��~��S��>�n�(����l8l���q�����(g{i�`n+��n�EuV�! �\tAUd6�b���q��[a�N�Ɏ˂���R�K;I�U�"�R��>�S�l5>z6���/�\)�2��yH�i�g���!�V\���*��c�~�P+a��Ԓ.��s�T@�b���:K8�$��i���BGk7����\�u���V�p!LE�o,����<,A��*����o���}�u��l`9�kT�{U��9S��$�#K~@���g�!x�<L\�g�mY�U�U��|�B��H�@�槾���'Q�����Ҍ艐p��""��5ɸr?��cbM�zz�a��j���7�?;�K���/P�K����c-��Q6A��h�hz�
��eB���U;.|��?��;i*�O~׼�#M���$a�IV{Z��ZE��;A�|��ˀy�Xȱm�n��l��+K���Y��z�w.�B,u�Z�JK*V�2���N�DZŽY�\K��>�pw{���Mx
�X������w��w�y��נ�3���@eBX�&��]6��⡙goH���z"���~ի_�'�����\����.��oEWY�B��G�R�-�Y��tV��*Vh�b���u�.kݬn:�E5�@[�q��U�ߍ�YK��
2�9��vɉ��c����q�R^���A^�kn��C�"��G���"F�ρ�R��H�/�"��ȺQ�^�F&�6��_Z��|�|�G�j��-3�,�I;�G�ԌúH�w9��o�������SSa)-8��{�R�DX����,wȵZK�mG�v�z�7�,J܎�+sV	�[0�)��H�$��'�j�-
]%�%wD���v�4n�.�/@��22vښ(]GP%��هx��BH�eX!D�7���KI{�&���U$Z�-�M5I%��с���aG`$𢹌!�%)�iA�ʺ@�ec�ݱZ���v��`���P{F{7���_	�?�_�;N�~�(s�J�m�8mn��?2:���R�r/wN����8�Ͽ�Xe�Muݵ�gx��?��W�/d��gky��ra(�A��)���&M���ǫ�/�{}��sIމ�xu�@dV��."�n��7�)��w���|~�f�;5�:�mH6��.0>�^�$��T�Dްk��$S�ީ8Zn�����H�:O�=��Z	�{n-���@<��V^�P&���a�\��a�mx9�7�T�}�Dz��A�.�ʤ�Պ���Oa����6L8�,q.�l�)�EN���
*���L ]%���_�\�BS�:���8Z����K��(IjC�@�iR�,Y89#�pՎS9O*�M4),}$��!&��$��T*��n�i���b��BX�i��'/���vc����
#�
/���dA��\�wP�0CZ�ƌc��G����'߳H�T(����D�Y��Ǥ�\C�7���7�o��zX6���D�TS*/*�dө�o��+Y��$�p�}�
j�4�\�_XR��t�r�FF��00C(���Z<��9�T�[�H]:$�v�-��U:�J��b󌥥O�&�x|���KZݸؠL�~rf�:z�)���3M^��y��0Q�q��-Ș!��YȽ��N����ԯ���X�$�n
�p�D���#.�3ꀺ<�iM<���y��tU
��L�<�'Y�Yjba�8:*�<�,w�;})셶S��E��4�m�#�CT���Qy���R��+�k�6�!�>�x4Z�53|���Y}c:�g����cE�����&9x��ld6��@��	2ui�U�a�Oe���q}�����Ǔ�l�M{z<½/i�9>�k��l�XNo�w�d'0�T��$ָ�g&�p�/�=p�.>�#�3����#�R*�j����N'�|�i���i�;;�u,�B5LlAg����=PSl86zLm�`���;��QH��3>7<�o_���|��R�x�g�;�3�kw�pA�j̱i]�c;<xm;��t_q<sh�9v6�N> i�`���3�ą�˓�wA��#�ӵ����)s|�����	��:�d�D���)�3^��̘��J(^��E�<�T�:������8w�-�u=q�Hߟ �4D#�Tli�_��)�����
��a����5�v�Ѹ7b�(E��)d<�'S	M�e��>
�`�k
�p@B85������1����
,�Z�QERH+W1W.�2�q���}����kh�������(��n5n�Ch��uM�=zK'�>j۰�������^�QpyB�Y�� +���B��™�v��c�;�l�6��p8jӂ-�g�%QAQd�,85�8�FњF�!^9ODx�Gב��X¡$��0�TG<���PXK'�@aO�4!�:���ix�:��/����Z��o!&$��B>4�����:�\JPRt	�m*2�v�����?��Y�up�D���S��H�u����
1�u�|-%�_A ����'W�Քn��>^��d��*�ɣ/Su�Yte�����9�E�T�o����͍#I���_���������K���ݡHP�$	�PR�X
"!	�$����v?��#�x8���{=6]�)�����ᏘL�UJ�=H�B3D�M.�ʋDJ�V#p@�" $1(���V�L
6�סb"��k�9�}v�Q,���l�C���A�H���M����"X�}y����FUmr	�^X����S^҃�!��	�b!j�BHA�TK�V�~!�q�
��2
v�I[���n��q��"��+��S�����,j�0�p�R�K!�c#s3��+t��U>:)���S)�&��樿\V=K
��\�D�P��
[�+���n����z�R�b�0u�a�LA��4Sū>10
�`���PZ7�Sa��a�����E9;>C�`~(�:��#��s`�'����N���(�XA45I�q���E�g����-
w	�}Y��
:���,�����.�����6Ԥ�ɯ)E�R�r„�;�[
鲑O�C1z��d}`��_��]�AM�#�C���n�-C��
_����_i{O�i��s:s�ۙ�Y2��pX��и1\U������Ps	}�  �R�s2
_\}�Ɠ��J
�ɵQ��TQ"����s%�!��H�D��֍ݟ�J�| U�e�+�5�]C5a�A�	M�;ݵ ͢�.Cc��h��n��d&��90�ٷ����DZ�2�e}�MQ�f��uE�ۼqo!]"�����q
r��-,d1N
r��*����ކ�v�Z*[������t�K��`f�o��Cג}uZ��0����KB�4����p�
��WN�P#.I���T�{���C��b��
4!6s/z؆d����#`ץF(f���"��'�7h�sng��ʏ�z�q@�h�c�ם�sa���c?I��Y$]Rs��)���!����Ϛ�5x�`M��p��Ȁqt�I�G𦾕�,�D����5eU;#�Q(�]`9CG��Q�BW��Cڊ���%@Z�n��y�,�0\���Ө4��%X-�vO�ވ�S�h<	�e3.6e%���/X��BX��#�fz�cA�ZP��֬�$Ne��c$��}m�,��E_w[܂M���ܰ@����b�X�0�C�db��V.���^����1X�"�b�~ۅd���C7�$g�[�j΋$m��)��XN��
R`s�V�}��qG���h�8�``�K�F��R���.~Q���X�*�ɒ�Wi�k����;�;�U���
S�#������i��5H/��|��Gx7�?�7bs�D��s#xG
7y�oQ��5�ji���Rj~�h�(c����X��ŏ����k�����=����Z���N^z-�=�*��Ԩ`����9�32����c��i��J٪d�*�HS�SN8�J�U��H�����D!��)o��0%-�Q���{�'͈O<ղ�9`�9J	6ؠa�p���T�S�z��J�*{(շ�=�ې��j�Oz%2��wx�y�4��1u�T.1>��#��h�hߠ婸j�4��� �>�?�7��V)����l*�
�jZR��n�Қ��k�M��@[Mh+���ۖy���V�l�T���*圪��)r)�m`�����Ph�m��'S�������+��=��V*�n�Lm4�7U�B[
�w�߰�tëU�,"���̏
��C�
���
����>�l$i(d92�'�i��̄��ɤoc����|7XlX�(�`2��a�
�ϗb��,}���~=d�)�a
X�]�E�L|�ps������7�X1���w�-�U��!C�
�Y������C1E��H��^p��������8#h���:�i.9
���E�����a87w�S⫧�����5&r��fnO�e��CĎ i�K��ӕQ~�� �g�phR����,�ŋ/�z_��>ð�›��@���y5�Y�G�&E_�W��G�G[@�9��%P���-m@��}}Ռ�6��gx���9��g��0��di��;/�ȏY[�G_�O
x��_�B�H����ØV���/p�$����
4d5w�B�5x�p݀c2�ۚM�7c�?n����GN#$�J�Y6Ba��V�˽1��p~=#C#���<p�UɝQdFk|�g�t*�Ǫf��bJ��MpLm�ָ6\�Pf���o3�F�[��yS2�o�ؖ�8&�Bt�W�b�C��y����(�B�GK�����d�h�Mp�)fw`؃�X:���)8Q�D)4[����04'X����h5K�s5K~8�����"2��=���NCSL	.���5O
�B�U<�5�w:fQG�����ĩ��L�2���O��/h�JS"x�+Oqʕ1_x�H�)�2�����ZjЊ�y����Ę���cc4/>��C}�
���䘧�%ã�&RV@�L:"b�I60�0P;�"�q�V�ݽ���y�����1u}Xz�QFS�Z͐4�'��o
N1�VӤ(�q�Ƃ��
}�(Cnؤ��40�("���A#MM
lZ���2�nx4�\ׇ�F�9*����K(���m������ŵ&jݷ�ai��3�����Δ�&�dU���
o]枱��;�k�Z)����ن:��;�]P�
mYj�cs�/.b��>�5&H}`LT�Sr@kV��*���Z��n��
�>�%H�ڏ�V�U���n&����S�Ñ���D�������؝���)�3��f�.
H���0�7��
b����2(���j��Cϋ9q�Ϻ�D,�ـ[bU�E�"��T���0�7�$8����W�I��H���̄J��p�^�Cz�Z�,�>4,1��������G��^�.�Rq�s�n>
f��r��@��H,T� l����3�ұ)��h	8��� ��+�*O���`<s
�Pu�m�E�Qf�Q@���(�B��|	�%��� ��أ�x�D�����z�b�>8}�l�4�D���[��8s=4�+�������Nw
��������0����g���)0j��EH�m�AO��k�H��<�!pt2c&v�!-�l�=V�+����b,ֹ�لj�T�`��[d��,�&
wۦ�͸ʂ!��1��Nˑ��W2�Q���� �pk���EAf5#�(�8Y(��f�hfр�����5*��$p8.��r�EK<�7�E�6W���HL3�d Jg�X��B��N,|q�ɃW4�<`I�*��X�j?y��Q��qZ�j��&���l䫗�߃VyVK�K���>�~���j�� W��ʹz�Ajާ�&�ږ9�f�z6�?���m[x葡~�ȁ��b�A������ɏ�)T���ն8�:�(
, �N��fXt��8� ʠȺe$��{��(���K)�МG�IQ����=I���"�T0�3��H$����K�{˚d�b�;|&Wn9��T�7~,RP�_�_A�}��%ܭ��+d��ɋ�M����%mސ�-�쎝W|���脘�o*
��V�Q�bc�de{�uUꖶZM�@��pi`�P�:؍�ܬ�Go�@�mUP6%�R�7T�Ḁ�T2H%�q��:#O�s�MV��mV�pp�(/B,����,A�:�C�K����h��n%������?��Z�g�v�Y�:�����M���k�1�z�[���6<��y���V�'`��!�<�z�C��p:�C���K�S�a�N�Fs��lt�ظ&C��M��r��kZ�k��iYF��mZzx��Jm{�֠?����{	H��R��O���:��o���p��K�,�����^����D!�Gj�d{@	���\DM-<��1*�
��8.�58	��ZrE�j�h���53�hh�fb�Hp���!�{���6�|����+eȔ��lT
��F/(����{b����,,,
Q��ݡbI|�SI
B��8@��9k<l��@f�n�y5�{}<Y�DW�E�*-�;T\�4<���G0Q�T���b���MH�xة�-u?�9xh������A�K=����I��LP�UL%(�¹]�.���F���0 ŕa@�dT��=��k��3�K���P�'2E�LE�	"��/��Cn{ŞP2�L�~������Q�XFU�o�wO��+rF �|D�
ԛE�'|u����}�mU�+`���=��O�p�G�Ν����%K��	 B1S�4i-��(2nx�B!��b� kǫ�:�}�z$�"��J�kE�EO���$�cr�Ѹj���f�*��.������$.V�S��S��`<��
h�?W
�?���H(urc�pB$�j�q�\���D�
�J��%�7��>O��]����)��sMl:�|]<l�W�g������Dq��o�J/��rkh�o�<�T{��i�C����Fu�(�V�_}��*�R8ȾE�雥*ȍO_i�T��s^�B��,�L1H0��.�8�[��9x	�[7��|�0�"�C��l�����>D)�������n��6�7�	fVl?�-��'u>!,(-@� ���wʰ/^���m&>���
�;r��fz�sEO�ܢ�)n�A�}W�e�0�R�o����T�(t��RBQ�
H�U��&qv�������_vA��(� Y��Dy����*�X`У�y)��bAmn����2ơY��c(�.�)��U>"S�Q��dBƪ�|^W̖HQ��2�1sF,n����t$�`�Q�QS��U=}(L�NGy�d@ʛ��%��&R�F$���'�e����r��$�j1<8�$�c/F�
�Q'b�
e�f����e}�)Z�c�ǣ2̭#((e#�^y��ʺˆ��r�>^�	����d���ғ�p��O"���E�3TYX�`��(��a����"��o	l�o�!e�d���5���G�G0c�A!�TI�Do���Y(���E�Ai=��e��i�Q�2�2���`i+�:2 ���
����X��a�H-HĊ8Sb��7u��X]��K�D�W�'��	� W�����8u]���r�����@�d.��KT����m�"V>y�?
V8 U�O��`�c��4E�C�r�{��Eq�3���H�
���4�?8��$�ZT�mu�� ���E8��*H�[W	�U���P�Q�t0hr,`P;��KOl�GϾj
��˜mb��P8e����9P>�rЉ~U<�sX,Q�l]a�]�Y�#�bI3�8(��-"�C3����f�Z�{u~�*J��2���s՘��4��n�D���K�*�ۄ�`��|e������
c�A�g0��l�``U��F��P�}�*�Jt|�
�ӌ�n%�iz����PN�ΈHA9v~���5R��kCw�*��+Au!VK��e��4�'��A%֓b��.�3�)�}W�{2��m��o�n��~��
��H!��E�D�p�98��Rd��2��zN�2�F��+�kZ�SK��C������(/d�.V��کPc@�����詐a����A@�q��w<B�i�q�I�P�;�Fl6,m�\�Ź��:�c�CG�5���Xn0ei�R1��q��T����
�SM��z�J�jMC`QBϘ!�9���BA�
����րsųޓ�'�R��D�x��KL�#�b�)��4N�����2 �)r6[�X?5���%��I��u�RG�{Q���j��&B$\�^^C�����N���d"&ެ9��g�l��%"�Q��p#P
C*��b�]�d�ǯ͡h�N��1�&,`��*����T4 ����L�m��]�B�a��M�C��: ��	�~���j�<R���Yޕ��й��̧�� ����=�X���0Z-���|u�?j�T��8��Z��hm�V�
�#�)��-�$��я�N��=�w8+j7����gY�pw[�|-�Rp>�qT!��5�ێ�����
���K
���Kpj�ҽ��L�U=�E8E'mJ��U4�3x�����v��#PV�$��xW5��|�ȑ�g��.�D����S�	��=@�Km�'>ŗ�0�"B��>�
��?pg}W��g�l��BU��eBm}�qU��[�~�O�����L�^Fql�֧�@	�U:~pu�f��sGw��U�H�h:!	F�I��^��V���P��VR:��W�r^��K� � Q%�Twp~lڄ����%�f�/AM�[%��
X�nY��!U�h���%�x(�Ls6(��W���&vء��rמ��a�7��b�_,��.l����jKK1J�:��w�u^S�S��\m�K��?FX���k�K��_!|~�^��@޺�TT�uz��p[~�_c6s80�*T�Z��K�t��U���Z�m�+�5r��C��g��)O
�R��q�
�0c8��2�{����]���#up:7xp+F��6C�O���6^Z)|zK���@�������_]8K�4������M��G�|,��7%SF0Z�b�b"3n+(��Q�iQ�fЈp��D��hG�%�WL��8�Lj�gg8�u��\T+���]]�Euks�(��\�����_�
��&�r���Uu�e[b61�	t����8�:��܀�
�S0��4�b9��$�q��t��}�)���>B���τ-�X�)�u�>u�_?�J>K
��/+S�Q("�B�����`i�� )������]$Aa0��j�F�&��Ӛ�'��i��_6gC�=tވ}+����?7"om�i�������؏b�����>��PQ��A�"8�I�C��1C��`J,�{LN��5�!>y��l4��t{4��zY�{�|`��ZL�T�t�B�$�a�\R���j��k��ޢ�h{vg>sG���3�I�x����uX�/�k������q�W�6-7��:��֡�:Y�bض>�َa���V|�:���*�Ț�C:U��E�+vx.��.�8�5��Y�sr	��x�B@����������Qw�����n4g�20�S�%8�.�{�;Ā�0�i�Zc��L5
�AU<RR����0k���EA��"�6�-���l-BS:m�N̙�́�u����f�cu��0�E��:���-bz �b� �D��ĉB
�$
P%75���gcn��a�C,E+
��钹�붭"�E�	�1��/����4ʼn#b�0R�E��t��kt�1אGX���)9T��%
�1�����ڨ�J���$���Z>�5Ko��[c<ā�v���1��x%T��0p�$d�l���ј����8O��aW6�G�9jT����M����!��ʬ����<�{E��Ѹ̶,Ei���϶���0����RW֙مܤ���^�T��aU����Ĝ/�O�BՏ�����5��n�X�*R�@��vRí
�@(�2�{ý%��zP-�`"�w)QJ���n�p����F+���P�V����Μ��5��/s���
�so�CGd�P#�g�˽e#�4z���,3���J��R��V����x�Í��5�Y����@S�5Jy�1��Q %�G��+�;��X��j�A3��z��]�z�*�M���?��d��JƖ5E6�z{�]G�ڣ�SG�v�c��Y��ꪲ����g�+e�l���a���6,�^f�@n\��~�����&
�DaVj���7�Tz�(�!�A�$��Ќ|����ܐm�Tx�,b@�����-RV�.�)⢞㨒��&����[������l�Z1���8
�Z93UmN��KXYm�nK�<�P�:À=i���^���1��*�nV��>�T
��s�X�վgne�Nu�m�A"�9�a�ʯ,%��
F]Rh���h��S`�֝ή�kFNl���;��I���p�q-I��̱�{�;›�s�LCǖ�N<G���g~�I��"���Fn�D��Ɍ+��x�v�1)2�;]1��rX���tj�bay�
D,b��٠D�T/�tK I�K�������ۦ2���QĠ��G�5� ���W�Aظ*�j�6���%E�>Ԟ���:u#w�q�N�� �T������"��
ʀ��l��.�p"�d�Sk�Ng�"U���o�2и�`� �����&}g��Qsm�T�tm]u���@B���ۆ�,Y=ZU�i߽U�)׺�sT"�����SD�:w���+�G�}$��ϝ/��W��uN�|l��ښꦎH����i>�l]��N�3��*�0���r\UPԜ���
�'�N��G}c�b�PH�<C�[r����,,���4�R=�+���#������;� �!�C�]ldZ�=F�o�� c���E
�?)CL�E�����<�jBPj��2M[�UZC2��ϊ0�D
@P��Ũe
rm(.�aNm��&
FN%�A����]O�w@Ta���H&#c��>&PtYĹq�?)���Z���XC]qLݝ�-�WqUP8����;U%#&y��0�gU��>Qq�ʌ9_UWy3Ű�ʱ���%G�2�2o�zg�ۊ�95��;��7� �HQu�[u��Ƅ���&����F㙣�&�ǀ�X�޲?C��5X��T���ΣC�������h���)d:ͣ�S8����W
����(��7 :6�c0ő�*B3����U�sۼ����zF���Y3�:S�V�*Հ�
���W�M������r�)���2�1������s1�uE`J�c��"y�PD�u
���V��q�5�Cq9�w��V�A.A���VMK�A�|���c3��
v����i� uźXh̄g	�8�a�YC��q�
�0ЧH��C3�4����4���;����ӑ�w8�,��uTxo�A7nL�[���O&}�4F�2X��e�DzS�Rpk����b�P�Y�J̜�bd-��	������C<pc��7}98Z�
jd�
��v	R1��f��j�(h���[�a�2Q��u�ч��4���(�!�Q��v{��n0���h�&;n�����D]E�\�"̞+��V��088�����N���I��ADeY��bV�^G�2�R�q�(N�N��8���^ZE4Vz=��2!��)#�'D�Z��X��.
�+
�h)�RXܜSP�d�'[c�T���@��n�2o��h��0�KE3`��\`�vc�X�Ơ���0^�1x�`�ۚۿk(�7��(������U�ĞK-����Û�lyO�PN1������ qw�����U�.
{�wT�O2`ph"y��A�0f+7��W���y��8�uB��#�r�rPZ�ڱ����R�0ۂA��9�/��Q'�-Zȡ�/(��m�R�➂��m���LK�Bl8�WmM�y\��@6�Ȳ'YIc�
]Dsc�G)��(�E,MQ��Hü��qz]u�1&G��Mfu`9�xL���P:ފ.}�1�μ=o�G�8�8�-�
H��>�;��T�t�hlr�n���`9
/�q�=	?��pӁQ�S�D�N7��	y�S�d��N��4��=%���Z�d��=�$uO&IݓIR��$�:`'���s*4'D�Y{�b��O��|tO��w����A�
�9��F5�CH�o��XI��1��M�l�Yw��vN��{Z�'�祿�N�����,<���]jC��_���ٽ�ޣV�p~�w0#i����Zo����z���\Ũ?������^G��3c<��#C)����4D��m6�j6�}�s���U0e�F�O�<�
�I�O��F�dx	��yQT�a
���3�i�_�
�
�l�b2�1�,9B��Q̜�-k���B7g<4Um
��j1C2�?X�m��0���Skڙ]����U�dr��v�q�ga��C�݊�&�J_ P�Sjo��˫;#�8�p3�Z�c�``�ȑ��x
�w,{c�A:����ch�w�(:�A�؁,���1�Y��Z �qxŠ�C$�>�(��@��X���w�*�&������y�K��s23�r�G9D�
�`�8,��߈��gЄ��)������Mt�"�6�ۜ�^S���>
��i�tqhp*@fI�
�;�t�!@��峇Ź�K�F�
�r�iH�ې>Z�(��-��W�P�n�5�C��2Xh���s|ڧN�
��E��(��Q O��I��k�<Ny��8�o��	ތ��;��n���N�?g���=]�F9[��>�<�{<�zgr�Jq��Ҹ��)�-�5e��,�b���i�f���Y���`k����iݝ�8�φ��_�$H�-:��2�Z!M��L
�P��;�Nm��m�6|fO���hG��*{ཕՐ���Fc4�o3�l���)s�9n��QLX�C33��}bGm�1�6Do�`��`���٘��(��9�}h8�FC�sз����tR����6���GW��3X[�\���s�2`�:�0"�/�k�C�"�4E�m���D0����F{G�DX:'��=	��	�tO2/��o�D3|��9;Ɉΰ���a�m��t:����c���<h�	�r��7`�ׄv���|�qٗ�;M�;ͨwN��$(��9�	J���Z�4�MV�F`��-ph����1�Ǻy��6!=�?����`⡾��9���4�2���0�j
�3�F"�B������tƽ`�x���#�gw^u�5��J��#72��"
U�>G�����FA��o�w�P��[��ӿ˼�оX��`���h�x�T
PP8Y����Ҧ�k�8����W�$T�4��xE���!�u-y��Q���
���DI1*��n~o[�E�](�=@B�����E�(��d�K��D�*�x��Uyl�̧���i��y���gBL�x61���2��0����
�,_1��NA�f�Lq�ێR�t�I<�xT-��������D�>+ȓ'ɤ�t�{�7-`�C6�z@��9�aJK��
̤�J���l�}�ՠ�<k�2W;�sx��W�ֈ �du�7�C��n�B�����W/����+��(���W#��%;���ios�U��ip-s�Ƒ͓Sm%�_�%��Dn��c���A��J����B��!�,�Ѐ#��\�Y�vդ���3`���*a[�?ơ�����
'v����p%���=�j.4��4��L
C>D�&��h������r��D��u/���ܺ�O}�:��l>�:j���!�/��@���$���z�GQe_����`��`�6���+e�i���ԋb?���4ܼ:q�I=@�	��G��͈���V�h�Yd(��ߓ �p���a9��PO�^��m?ƂG�<\4ӅUE�M�`����?7���4Aal�B���
�A�B�E�`���r��r�r����x���]�/�(���'"�����[�K���2B�n�������QkOa��%+�Ҏ5/�����	��_?��/t�l�Nj(�+(���"����p���J*!%�=�䮫�5���?�ή�U��x_�B�����=g��:��֛�
?z�>]����؇��Z�/	#��n��[@~��x�ZD�G��n	"��w��𷅷��U�~\���.y	��5�6����`��%�6�E�T
���Mz_��]2Oʯ�$\*P�����n+b���
V���m'l�UT�(�}��sA(�T�(�DH�ľA���V�p��U��L�__���*�0��+�	g�*(Ȋ*����򶔅��Y0u����U���t�b�
Cv�p��"�ʪJ����NuJ�H[h.w+��h\��/���~��B�.�q����?5�!x�mGO{|�V�����[.�O���t��}�=�3$g�'�}������|����3��� ,ln�¢�T�S�z3��*��S�s��
̡?@�r�{K?:�e��Ⱥ��1�W���$`�J4�r����Z�k���D܉�m�/�VH#}%��"���8K��B��*�9��/�n�*8�x���)�U1�̮�9+�"��B�aZ*��0͋Eur+��xA��b'���C�1hL;�ch��]�(��֕���	(�l����c�nC�.�i�hH�R}E�4�l�4���1nLcd�D�hUWŢ�E\��]�M)S��R�V`9ED�$��^�F
���*�a�m{��j�[U$�w部���~n#����G�*,��\���Ë5�PPc�>S�v��Ģ�q��$�D>���k�����0�U��
��h��VHV
�p�1X2͸�!���8��H���&�sﭾ����~�D��.��n� �\�{�,
���@}C.��>�=
�Ky��N�����7�p��Y��ze�*�
�S��[ro8!��
ޚ`p�l6��;o�k4���k�Aq�Gq�E��eE�&Q՟��A��a�o�$,���6X�p�'��;
3<���N�-��Z�,̊���zc�֏�q���L`��q�>�n-�l�zq�N1G�c�i�^_o�w��h�H�c`�/Vh,4�	��4L/>�l�gf�4��q~�m�IEb���|7l��*X�J��'n����2� ���L�I��S�=�f���A��q�7���W<Z��W/��M�PL�o~C�$~��o��܍^<�ҁ�6�ſ�q�56?"vpa�!
'��|���7�8/�Hi���MFS�1�HLl0
�)#i��Id��h�u>�m<�z,	!��
v}������L0�2��V^��DGõ<�^`nՂsV�#���@�B�8������:���Д��Z
b`�T^UD����,�Z%�`Tާ�{G�M>?�m[�6RI;D�i�@���()�P��{�z����d�����T�P!��k��7/
 ?�����`��7JP{�0�㧤�rHX6eP�L`~(��J9�-�Q>�	M��<�gJN�H����fW�'ޛ~Uԃ��B093�̊@6Y�Q��f�*�Mt�"��q���=�S��Cӓ�j�詆��TN�KA�6Om0��.~A\}�;��;���
l����$��%J~:�[�gg��0����:�1�a�����c�_&�-��|y�D���#a�pj�sK��x������ǧ�����>�;�[w�Rn-�zP"6��*�ּ�D(�Z�.{@�ƽcZ�c�(�)��D
""�Vj�h��zj%��P��3Z����H=^x[��t���ӓ��*��@�p.�D�8�1O�2�����Ey�_ręWH%c��K�l��3���<���w��s�f�@�n�U<�$�&|=�#k���\��$�j��e���!@w|a�ز�)t�ʽ�z/mP��!�V�͠ѕ|K0uPS芾Y���k���-ۤVo�U�7����������ڽ9D�^k!��Y�_�U���"j����sh�0غt.��7){�B�W��kVՀe� ��0]힛���+up�����7�V�V�E\(����)�c�`�⨈�`���H�r35��� �ĥ1H���h�X�@SM᛬�����p���	�X�r�'y$�f��!`ڦ	��&�"�%��4��,�DٕR�V�*�[�XFB�罨bI�W� �5�����u�J8�a4Ē	D�yI=5	M�<pה�1��X��G~`�Rw�������f������E#����!&E�wr����ø?u��EP�[����X)�����'���� aQ��M5
�!�����H�����U�C����G��e�[/���G��_�x�B�}W�9�[���O-c]r�]�Ubl�A�8t��*��V�����#x�p�`L{x�b$t=(�~<�(��"�� \ ��� v[qa!��	�xЬ~V�� ��<SJX�	̡r*d
3�D�&�&rEJ�ح�!����)+,�*����5�L�l��f�����:�xn�}2g(���
�����oW�6��x��α������,Ro��^�1}�$|�ؠ&o�����i�5��7o���?y���V�cD�Ј��/o�zנ�[�����|�w\�j��, [�G��L�6�p�h-6Ǔ-�0�N�C�/;o�
D���T�~CѺ�[x��P�3�8��e�u*��Q�?�R�1G�1oC�u0{��CO�{Tɶ���	���E��@L��'>�ۆ1,FN
g�8��n,�l��3�smA��[��r�ba�gv6�4�%�5�������K�=����1���k�e�h
0Ύ��� '�4�>{�3�w�q�&F+���|�}�}2V�C���F䚁Ay��w�@�d��1��&P4�S�(|E��5d��	����6D�@(܏K�0C
��:TL/(A�o	�)��J1�
#�U�Z�`#�l�,�3��K�����+�]Z��F���g��L���9����1�~�yۗ��rv�-�q,�j{K��h��"��)��ԫLd�����ˆ�u��n&�&�B��4�A-p`O8����8�l����'#�
l��‰��ǁmP`&j�É����)
�jS܌Lq�=ũ�i�C�?Nk98(ܲ9_q`8e��&�O8(�f���Y�?
���-���*�#m�E_��z
#���!��VOM;7�$
WӀF�aЂ��w<��(�
x�����Ʒ�A6��P]�G~�6޳!4����]���.�og�[C�h��?���7�	&̵CO^�p�Y@��[5�:���O�48/�����
�	��1Î|�+���d��6Aq��o/"����ֻ�/HP���2�g��n��G�%n�
̪�M�Oob5�e�r��F�ۄ�c��h���i|��9/�g/A�N05�����x�ƴ��-�s�G����go�۠�߂�w���xK�x_Qs�AN_�
�E4Y��/kŜ�=��{!(	6�&�	Ői�~S��t{���^?f`���>~	������:ݾ����u;_�載������­赧h.�W����»i��}� ^�d>7~�+�L��uC��);���2�g�:�_�l`�<��9\�lަ�T�wo��J�=�#m?������H<��r��<�F��/�g�U�@׊��x��zo36��G>�"L��
�jS8��(i��[�@��6(�"i��.�.J��<4^�#�3�A�AYC��,mŔd�H��!9�W@��E�Rl���Cl���V�3
��ۼz(��}����'�a�#���v���a��/�F�7x��Μ���Jcd�K�4��a</u���T�§�����}����K�k������K����ypiH='��[ڪ��`�M?&���ҏ�`�}Z���D�y0(d;��'ͷ�۾�g��nY�w1ԯg7�>��/�5(�z���kH-����O:�\0Tp�Z�?�M(�5T��{&��[78`6�
@���9Z���w��(/��0�q��)��b!�4��e�aAgH@Ǻ�<�z�A������O侙X��Xw�C�F�T�Dk�Ng.���F��̹�A�-ܑ�7�	��?���Y�9<�k[ȉvu��i)��:=�p����8șI�	LKx"A1���ʫ8PJ�ި��ۆ��D�9ϰ�@��-Ե@1F�?�?!�
��(W"��� *�3fj��z��+˹���X���"�G�5���D��A~t��EX��`�q����)��$X|%?�/ڿ��?x���i��s���+hvO�E�;Ō�V�y���au�3��M%q{�X������A���) Uˮ��Q��J&�:T|�+�C�V~��U-ʹ�7K|���`H�`
��5�	o�`��)X�v2��v.��$��Xei�<�ƣ�HX����j՘y�O����Ȗ�9|�4"k���HL�	�&�!h� (
����)�KCͰ4QI3UAq�`,)�f��9�MwJ	z$��^�a6��[Mv+C�h�2#�[3�f�5��L�s,Mvk�䍕��� 5D9����9!�f��G�WМ`���'��}r:����:_��{����g���	4@�����:�6a(O��	e�ى�p��ks$�lq�i4��� �c��l>w'T_w'�_w'R`w'�`w'Qaw��aw�Tbw�A�ݝL�ݝP�ݝB�ݝD��ɨ�Z���K^���%��_hY�s�Ǝ�Bj"D����[�����O��\F��m=���I�6�V���Z��P����v1���;kN��]Z��a�b��nF�^�����^�$�]�i�my�>�&(��в�>Ɓ����7�"p�e�J�ymYc�/��2}�XCü�Vk�����˦tc�P��Ȳ���,��{�Ҷ�s�@��`	pp۷�d��O-�(Ʀ)#(Ʀ�[S��C(���O��9Sh�H�>GW��4P�M�ꊤ���Z��!ԙ���11\���>ԕ�pj�Ҹ���(-��f,,ϥ���g���.!��c�m��bfƖ��iA�Αa�M��72�$�ٙ9�d��)N���Gd�Ўn;*�`ɔ��ۇFA��6!�X3{�8�Й]7�b�}%���of��D*� ��
���1
C�N�o[< ��&�պ��0$���R(袆�p�ó��G�a�d��-�(h����%h�(�C���<�|4�
���aqY|��!
TYCi���KC�e\쨸IC�E���"��⺿|~�P��s�5EA��(7�d���I���
Y�{C$q�$�%n��9t���xr$M�Ӝ��<P�M�4E҄ې�I�9m�BS��9\oAb$KdD.�o��?���9;"h˸xA�b�͏�&<R�2`��0p��$o	z�q�Pp��{���� �k^���p!�zwR�.3j�<V}����8X��8�5e_*CBgRTll�0`�g����+Z&`Iq;0�A��F����4�^Pp��K��i�K$��3{�>�/=k�X�ژ%
��C�H�c%�[��R��k�k�I����)����b�'Mx�<�{&4���V��N�—A�_$��R�+k��L
��W��h)����Zү�J��>o)>��ľ�SN��%W�?IЛ�
C��.���'�hS�C�`LUAٚT�O�~Q�#�R}d�!�Mo%��F;ա��� yLj���H�p��Q����j�H�H���4���
�%�j^�-���4ŒIw8޶�C�^Py<� :�ܡ��'&J���`�m00�w���z����(�W�a���C�'�G�A:䷊��S�oX��
��Q��5� w$˧�ۏw+��4���Va5'W��)�7pvgj
�3K1�z�C._H禱l�C���>�_ŗ(yX���{q�8��%ʛ�bU�8\x+��4��I�>�'d{ca��xK.�3�3o��h4x��N`KԌ�� �n�=,�+I�j6����QYQ.��B�%}r��I5��"�_=!q��mr�K�Z�@�q��Yz��)|����*|E.�	Wh,����cg��6��<o4~��Ł>�
�ؓ*U\�
�֌�@�6�_v>��^���>��>I�IO��?r�_���� 38`���E6���l��V�_XWf�4����c�
$�ց�L�s`���*�@�-�$�Uϛ0ڬXd,��c�0��L�l������j�!��Xp��Eh��q`.���`��8J<�����i2>u �؈Mx�Ɂ$ِ�
���4p��:J�}�$��ip�aU�Д����{�BC�C�)ir��x���0�O��	�5oT55��&^y�߄�]h*C�U�u��M�`���
{y[��
��&@�mƲ��R壎Xd�A�TJHB
Z��Z	��XX`�8��qD�^�����y�E��y��݁6 8�%�t���&Kt���n�k�V�u�0"2��'f�m�Ґ
`��9G(J�$�5�^Q����3��}�6�>6�5��~~d���XuI	�X �(�c|
%(wC��P�%������Àq�S��pz���=z
dQ/�eT?6€;��x�`Pg�º!�BI"8'%���c��_�8��F����a�+�:��K�wh��&8���z>�
�v3h�
�y�T"D�	J�S)G����oZ`���Gy D^�h��>�x��=�"�g���h!97�n�W-�9���O��8��z6�vZ���+U�r�y�U�=� ���_}�G�jIJ����FGWg ���O4��$��aɴ�
M�!�Γ�ȼa�<f�ÿ�z1U�0�S�]8d�'�a1(Z���<��Z`+z��&����e��
���s1zΌ��M��X�D�<�
���?�4�Yed
�Ԟ�pM��3<�GC�|j7/�.��&<��F�����@������2�2l�s�hB80�%~K-�<0T�YH#��!i,���O�w��>|���]����>��5k0Rk�["Z��:��jG:Q@H{ڂ��D�h���"���_��_��=�'��9~	w�%�;r�|��eB{/�9H�=�1I�N���:"��?_�?���E�y
�w�w�2��#���$�#����!�^@��R�ˑ������j�폚�������)��Q�)�,��1B{)��D7]Z�+c~q��b�I�k��Dz|��AN�ElEV)w
��&LDŽ&Q'�SYأ(WR���<a�8�.��ͧ�B	�i\m��� Ïij(��6o�D��]��,
c�Qٺ��w���؏�.7�R�dL�0��h6��?�m����HP�&�������[Ww�����"P��[�b�Q���`��a�R�����fm�숣>I(��oxA[��i��ɩA.��cjs���aUk�YϯUo>%��H֥����1X��%�.`vɯ_��2|%�p��O���](�J9��D���m�����;�30��и1\��X��x��Z+`�����#���y��ǜ���^��J��x�Vo���k���pL�	�j�]���:�)���G�ӧO�*���Sž��~*5Ҵ�g*Q?����x�}�}�`��?k���ii���/oW�C��O��$QQr��
�]�t%ѓ
u��~�и'��w����V��/�>�]���g-�lm��
����?�#���OA�e��Sl�b�oᐉ�k'5S��Z��L�G������z�?�F��'��Q�E~8b37��4�'��-V;zxQ��#G�3�f=����F`��nh��.����v	9�i�~
�P��V���*m�w���3Ć!׎k�,8����� "��
��o���QK/^��[O���H&nNl,t�c�6�m�==��{��fQZ��?k��9H��kFG��lZ{$vq�a��iT�(��1�U��#W���]?�%�������i�V���Vg���f�^��:勵�{��_�/�V�i�n��H�8�s���!�ɕ��d4�?���r�M)ZT2����o,-�P�n����s�g�X��s�m_����=��W�>]k*�w�t���7��MA����O�t�䗏��81��H�E�
��"��*��q˦�����������f��_mr����e�:M�S��HMo�p��}�Wo����ç_~�����_�����W��I�^mg�ʁ�"C��fVe�E�d:sS�O߷9O���~��ܿ�@��%{��_�pVQ��;M�h�K���8���.��Ia�ܴ�[Y*8�M�u>]}�}IgC�CLü?[��˽dHC�a�^YPC�Ĵ�Ѧ�\�=��5��I�m̓�� ��WD���5�f�E���u��Y�]���+Sfi1R�g���A�g�x��\G!%�Lƻ-x.��>;d^��
���[�ϧa�=���1�߾X��S�`�Lט�JS�6I@�aӷ����xnL��]�Di�Կ��ȱ;����p4Ի�~����_���?�?u>u�_�šX!d뉪�LCrgjD��^RHC��rC�����ƒ�|���&|US�#w��;�&I_;�9��M'b9	x��c�)��ߊx߼`ҡH|� �;aǺ�<�zP�N?�ǟ�L�����<���{�Rbo���_P����&_�0bl�nث�or�W:5�4���㿮����N��5��u�Cv���`�0��11d������`&��@l�Z���N>Y����?)qh�\x��L�ƒ�8�%��1�O�o�}���6zC�+�����*�>H״!s3���v��g}�Q0,;���r�l���Wͦ��o�ܡ�ϻ����!J\9��6��ps৚ gp�O�8
�,^�5��҈�,�
'�r�ږـ1r��|�\�q�M�8�4*1��Z�;;i�#��:���9�5yJ^��B@c:������-��ԛ��#3����_��n��c�a@f0l0j��Щ��К��x����	�D�йO�I�K}|(��'��_Q��D��`�&�7�I&s�e��j�z 	�V���3��Y�ߒ�+�z��O@z	_i8xB�e���Xk���I���YJ�0W/��
-P�FkL��߉����g�=�`l @�)���"�q}®���6�hN�A�vH�3h�����H��q�'�'J2�D��F�lju���=t���1��`g���eoI�F_P�#%��ǘ�6sG��/+(�$״{ts�W���g�\��Ä[��Qb��f~W&�s���`��-��ɰ�[�%�,!��hQ�"�恀�Gԥ8i���O�ޠx�O�1����<8�-`'����֞�OĄ~�_UϜ0��G��\~B,f=�L?��t�(ҧ��K��VM�U{I�����)���Z�_�c[�+k<Dq����D��6��i�vPKE�j�(Irj�J��T��o�z"�l@�s0�!�Yb0`��Մ��2�B@����Q"?���}�,|}	/��bE����\e�f�|�������Bm�X���>�=b���0��ӧO�_�Y�ήG3�+d���|�+�g0��}�"im�{\��d�
ͻ}�U��fݫ�I�2��Ud�_����7��ZP����!-��g�¾�G�Spх�D����O{��M��y����o?>m��'�ǟ�K����_�����?��m6�oA�\6�ci�[��G�����x��UK{�¯�OĬ�z���7�k�}
$3���j!����L���Z���#�H7^F���2"�O*��[���:��OD�D��>��(�6��t��:
�rʗ�j p�d1���[ƻ��O�ɧ�_Q+5Is�•r�',6-�#�����4B>��Íeh%PkYᇡ;�?i3p>',+H�[���	3�[2L�CJ�*�P�g���Ip�{0�5�����$Y�Ҁ{��Byj�D�k���hnk�>�j�-����%Fd���d���4I�>p����Bb!�"���w]gkp
��T(D]�Q��.�2Ě1]a�&
�L /��0����%4��Ua@~l��*mz�/Ԭ�d�Q��1>T�G��t&;1��\��0�=ч:�D>��-X�֬���Ȁd�-��#g�:^�N���!�p������xd�-�P@<�GkZ%J
�'�K�%���5�D����F�B��
�N���$��?��U���e}�M�����۞��@��v��ه���8����H�<晰d�M��<E��Y��3GZ�OOH�X7���X�aM�S+k��ႌJXb����A/�!*N S%�b+?�s7'�ݸ�
V�I�ڋ`m�|�~w�5��0�O�+�K��*4������G��I�-�8��,n5-%��iWhr��B�o�E4N�JiJݾB��@{Y3���,���:d�n�WUw4�$�K��Ka��47�p�/��+0�����/4���8�YH��ހ��x7�&�C�y�MV�1���@(
�}a�������g_�m��b�/f+��}�tmrK2��n!܎0�H��EY��8�
�?K�r_.�hI�;ƬO��`DSi�@��
�/DɅ�m�/�5�ϓ/<�
��=2cܵF�D��ƶ�5s3���cI��n����($gb��>�|j��-���8���_[v�2�H{U�~���8�۟��I�b8�U�')#�8z��_���D�DhHCĚqh���M.1C�eMك��?�r���o��3�7e~��e�`/ip�'H��#�A����������%;�hT�@i�Qg��	���_��������5�S�f9��!�{���5�F�n�_�����c��:S4\}C���tR���r.g����S�P�s�Ғ>5�aj[�Ƶ�J/�S怱m��A�_#`���6r�Ӻx����5����$�?��n��q�X��0��{�\ ������K�'�rL�5~��ٵ��)���L�d�����d�'��}iì�e�.hd�-$q6o����S�6t��-n�T�6�2K��ޖҋxq�X<�	�Q�u�Z�#�y��ҏ�p`؃�x�+:"�^ǧ���?�ž-^h�Xf�62�)gjgwq�1C,$™b�b%+HiW&5�iE��4�8R݁\�~=~p5bP}KJ�x�}�j�%���O�+���S�y>z+$�ܲ�����}Y*d��t�d��:t�8�A���L7��T�"���G��
��w�����x��8q�@�3���2�ޑN�G�BW��B�u��d�������UTG��ruDѽH�p�Zӱ~�#u	�X�����k�pqDa�:�(^G�}�'�>ud%}��+c�d���	^�,Y�yI.���9'a�֧������_�iY���M�^�|�ߔ$k�l���}�;޸��,�;6�	�o������'�yf6�v��N|�`jZ��2�t�-��3
	^��G�����FY���>ޓ#5�g�}~�"��m�#�f�d����D!BpF�t�?�Q���[A|ò�\"e\���F�Qe4=�~6���#ӆ��X�7�w�9�e��US���2`�U,��=�Yg�#��yi��>�=�y�����A⯛
s��f�CȃT*�D3nq*V�����xf�]�$���Җ�qV����okdWm#��	��X���m�іV���ZC�-@����"S�̣�A�/��O^���e�pȣ9����Sׇw��LV@� �8˚��a��%i��.��JgE+AyJ;�Z��K�Y�iCy�k�
'�Pơ��*���ی�&���E8��� �ae#U0�����l:oK25
"h��@'���Ҁ�e�A�reof��@XW&�z�]de�qX���s?d�QLYK慝�	6
}��Q��1r��m$O����qO�-��?�c�l�`jL˞���Y�b�����j�O�i�j����&�uo�C���g!���u�
��j}H��&Y��S���
8�c���;�Ih�~׷
���rpZ@*���q�C�=���ZC�W��HXaM��m|HI�@�_?��"�>��ݷY̰�n���Ŏ��n�z�+H��4�b�bA�6�ך��O2'8>3�ZH�5��2��c��o
����z�=��N�W�#�&���3�2�?���ʠ��_�`�$p*����X���,7Y6���< 7�i�J*bu�N��
������x��Z@�]��ɮ@4�iF8$�x�Z�K�ϯ-ٜ��0yў���>�o{A�JCBW�FQ�¨v��93�}�� k�����T/<�����(�-�鸹��|�Y=�b�:�ITSVȦ�`B�DgY5D�G�
���hD1�MD=�l�<%%ۤ>�E	K�Ns���)�C�9i�Y6_�����;��̯�ro��і�Į�P�cQ�:�C�mn��F�9lV��i0�i�H�S(JEnժ'�q�,���	��E�*�x9B�L�c��k'��}ImIr�$ȃC�ٗ�+��RI@�o�誀sݶ�����E^��U������.��W|�J��.�*5[R>['eTk}V_�u�����[|�6�89jMؔ�������N
���Z��U�1N��d�����}�{�G�ЏB��/�m��!�]$],Lӻ��"�Z�x!�Zv+LU
�8)�'M��
j<�G���b/֯du9�,���|a6؏��r�	��4�>��Қa�\��z.��闟v�#kA��19�wxhC&�=�7�֎o�&���ޭR:�T.�g�%��%�;�%�����!�����.��}���j��yj<�R�gt�x��gu�m�����?�l�CH�?�d���'�������`ݳܿ��0�0��f��Ӛ�"�����^�0L~/�NɫO��[�c��<�!��_ˬa��)Gp�C,�Қ�ʚ"�\���4O��J�W:�@�.��sz[*_{��"܇��k��~˾��ا�'B���n-����&��.;դD���m��Ԩ �5�������\�6q�g��<k7~2`�)n(.sd_�1��V(s:���4��a��4�,�YaTGà����P6���Ga`�wU�E�c������E�׊�����u�b�J���8���x+Cݗٌ3��z�h���7֊K�?X��4�U��x��k�tЂ�g�闿�x-�p���A@ӏ?UV����I��qW�7��# ��,$L�"s6�9IA~���;SE��4�p|l����҇�L�-��W�-$��O.�u�|o#�맻�%������������o�$��G(�*��:Z�c3���1+
š��P#I�e�(���*�����_�rҪ��}�2�Ԡ�[�b��8�&�UjvƤ����`���Z��� #�:Tu�Q� ����i�񾑅��W�KnoJ����p��'7�wyC܆[h�,ox�N���}�p������rس}:��|QT�o�
�ԅq�����@D��" ��+}Ц��4$(͆�b�0���e ����9�>)"K��
�<��4��w�Iz���N
G����U4GM��=U>�æ8�H�»=����o4H�=���Mvq������s[[��� jA��	D�&/p������,�ʣ��j�����[H7?B���{^�aJom��4�[�W��r���L�c+P7nL˦��x�Һ�h�uD,h���r�w[e�42U��#Ӻ�����3�tD�:��M�-5Ыf4ty�]�q�i��E��
U̅|�"Ǝ��.t5������ߚ��1��
��l_	��$x˥i
W���.�?}��W��c�.W&{�"VF,�p�'�aD����t�Yh[ylC��W k'�S}�7]���᰷���$����E��8q���;ݖը�(�ʃ�yiC�Z��z�G�Y�u5���� �gbj?j�c��c���OpƁ뱖�ғ;@Ɔ�yNT��M�f��*�|=�=�c��Ux^�EX�/#l�Z&L��φ*c�aun���>�.�W�s^�W.S���?L�3'����S��U�F�h9��܌��Z9t�bD4�C	��S'�ʁcE�Y�Zdd�B��q
9�a�����W�,�Si�yl�yi�+�R'��5t�(�s<�XϚ`�Mt�_,�PB}�G]*�ZB�;�4
��5�#��95����nC����%��m51���jN\�~\
.��h�O�e�����@i�u�X��ϫ��o�v?UcJ�<_�F#ݞ��ck0��fţ�V�]�rXΒ��~n���s�g�iH����	�T���5��+\>;���/m~��Y��sTs�W��
���Y�s���{�Ƽ6���	���˵]�
Ϥ���w�ۦut_���%\-?�l6[l�"�fJqfL&3�X��VK���k� )�%T�|�Y֞���U�K�_,/s�M���}��9�g��*�{v������3��y���h�6Gl��
>��*6+
�iN(�Z(Ӽ��Q2�}[�~`�p)��P��5C)n��>�wꐧá������1���EisfKg��
��=�cC늇����qj	f�#w&&w& G�1g>sG�<Jm1�6�+�,����N��N�z����]��i���t�SJkb8԰-��=FKyC��������+JWDjJLf��K�
���iuD�l}0+5�?F�'&ĕz(��s�%�*|>z��h��֬�z�u��[q��hdWѶ0hS�Q�;�dO��w�J̄<j���#K��58H�N�.�ߏzj���m߆g"����:���}U�����,r��Ez��0�c}$	)���gW{{�`K� ����_��5n�
�;��۲�;���z�Y�]z�zz]Yz=zg��z������;��w�@޹,�z���.d�]*л��w)K�J�^�F-��h;h�]�k�=�z0�����c����J�+>�P�(�4f�����}�'�"��g�V��xi�^<�(���8�[c���p�*�y	��B��l�� �Ò�H��]������<��]�y!�q=ў�U�$�S�;�{�����f� p,�J��߭k�w{�u�����Q���Ңs��l��/5��uG�,f�n��cF�,�@ӡ;}W�o��7��V[t够p	������s���Bb���қ�1B]1��!kR��#u!&u!C��zkպ���!}k�Rv�ї^t�a?�L�R�����XO����߈��JL�J�V�q���m�wnK�����\<�s*����9�j	��u�Sr9�����X��uK��:b���Q)Es#%��NOL�,z��x�:1��Q2<b��9� �@1��w�����O�ċԕX$�H,�	��Z^����Ü\%yJ�+�Cݮ��5�Q񺴅�R�w��X��B!������<�\
�ĸ-ޛ�31�a�m���ȴo�O�X��b����xUڢUq�}s�;��;p�b��r�튗�+Xk�:�Pn~��u����忌���\[0s��E�tM#V��2��F�l��Rt�T<m�inԎج�\IQ�U1�v=vU���T{��^A齣kIxU��b�B"L��l)�����P;��p1�­AQ�<q���CA�xGSf�v+YH�8>���(K&\B^#m<�jg�c<�Yo�㑉=aF
���t�m^��G�t��#��g�q��;+iǡi�����(�t~ie�p��2�!�(�u��9�M���5�tE%�M�&��9���[�b��Y��Bzo��
��>�,{R��VY���
]D�,�}�2<�FѺ8S�(��6�.t����%�K�
�6��<���2���Z�ԾX�����I�8:<B���h�%����_�̄�r�ES|q�ɐ���辉aZZ!(6�x���I�S18���9��l:w�!rg=���B��QX'zq@㙄��BHO����s)�#�iŦ���d�~�p�����NVJG�F|is������P��vG@AbQ��vW@��% v״�Z'�6�c�H���}&CFx��=Cm��[���@_<�ܽ_�<��K>)"��h��ٔ7k�����	Yc:.��{�:ܭ_RUdȘ��نb�v�\����{�;:LsH�s)"1����+
�����e|@G�:�
��`�c:m~������ϭ���
���;�{Y�' a[G=��:����I���r{/����(]�6�^JR�MD�+R����Z�8��oLݮ)�����ۓ�"�;ͻg2tx�ؿ�=��!6��/�]�C�L+�q.bB��k�iNʮ���1i���_��X?x�}Q�0���j�[Г[�e�	�M�OUgG
�-�����\9��3G���q��eG���z&gj�t���8�ᣏ}�J�;o%����{
Q�o�y�E<�-��m��7��?%�-u�QB�y�P��V��Q�E[�Ru�6Fc�a���]o�~�m[�1m��)/��W'Lx�����&�8&@�����Ͻ��{ý�f�����{\�`��Rv.2�ϻ\J�}vR�XQV}(����n�P1L�}Z�,mw%��S���.�*�H����0�/iE���/�rM�Cj�q	�lȨ
�ŪwƧe}P��{@�R$�]2���{ˮ'w%ՕԨ�N��J����+.y��LI�$�����;BE
�3g�)��@W����<`ߌ�'ҙ
=��	]<�E���~�Mtq�'����@a����!(��ԿL���š'ҤD��xЙ)Q<��%���r�1���S_=A��t�Y
��]��D�UK�˷侍^���RB��Ck���gN�s;Wr��}�����J��ԕ���eM��M4�K��H�q��{!IJxCi�����á�y8}"��R��m
t�~m���-�&�m�?�o~x.�4�_�q7i�}�����S_��E�͏hEE�#����[Y�@"Q�<�I�e�R��/;"b,lF�b��s�zA�1)�p����%���t�J��0��F�_��:�fy_�f�;c�:���̧��5��)����,^"�P��������\��!����-˥Ժ����tι��]��}%�w,c��1c9����ړ�%:�{"=��ꁱ�έ��
�?$t�8$Alѽ��Dt�\pOrK��#�B\�¹�Թ��=�Ӷ0���j�)A衜gA3"GI�S�\�ъBa8�����kY��[�S��UO��KGt.�s�g���[7\ti,����н+ibB�)Z�ޥ-�[��!�:�1���ԗv�+��X��R�9�zш.�ŮD'�UO�}�O,��E�7�g5(�0�˝!��.��t,�FB{�v�9wNu�h�/�4�Oa�z�%E�0]QZ�0�Ӗ"%�^	K���}����鉉H�SE����$SC�\���	2�Et��qo0��5M3ٮ"Y��ʚ�;�}��M� ���+��Zײ%����ǝ8L-AE$k�\Y+�p��A.D���O�f�T�`l9<�h��=IBBϰ��kV�}���`�w��s'���s!!�p!t�p�
�}"m��ta.R�O(�{\���ݶ�;]�:A���n]�	���y���8������;�5�嚃3��F�Ѹ��"��k�@}�	8�^m�'��Q�)ȥH�]r[*�bm�fQ�[W���fΕH\q�@��1�s~�(���~ֻ�G��I�6rn azʅ,-�#H�sS?�Sr!���I���m����m�p���֬��+��1V�*[�G�}]
���l��,]w+�z��
�������G�ݤ��猿IV�����/ߕ��gd�82y������mM��zr�t�
õ�ݼ�c����nŧ����5��&�o��ճ�!*�n�i�Х-z��A�5�{u
1��}��/�B�$	����&�������h�$�0ы�!3�H1�q�I��V�Ai+V�J[@�����;�z�a����X�;ZC��A���J�p��n���Ѿ�l�1!FC{�6�+���	[�oD-���s`I��א76�]�K�Z�x��\b��x�u�g�CC�2N��l���
k�-�	NPx�wmzK�M9��K^\��+�5�5�$DJ��(%�Ch���̕
���n���X@�NAz���v��I���~C ���J�\ڭ�e��6�*��F� �.���T�;_C�W��G�&S��t���"��qJ�v�<�;S��h�3R~�)�;� pI��R�׶�;9�K
�z�J+�ں.�xH�=e�����SB�~S���{�S�'��po� 莄QB~���W�e���ꆝ���feD�}�V.�����#�*3��E�k�����A�S�#34�@�7��מ�p���ǷxU/6�t�8^ʎ�I�Ӈ�S�n�7�{�l�;!u8���̴/EF��P����b���x�o"p�(D��%�S�d�Z�� �Ԛ�>��`ׯ9%�l0�uQ���zP����焩
%�^��ΔS����q��0B2��Q�)@��sc�C+�w��
pe�́���o�����q�����QU�۾9s���Xc�s4%�E�d�b2m�{�����
.J��&`�&`y�~�8#�J�������ğ�8W#`�����x�}&�8���S���;�`N)oJ`8�
�ha�/��GddZ��,�̹��9��M�0y��OV�K`l�	���8�>H\��#���!t�'/�W�>ǩrN)���c9E���TygQ[\ͼ�)gNipk%�ŵ�ۜ�─e��>�9�q����+�C"��ϼ��T����ք��J����^��o����9�ʁ�Xu[\��ͩTN	\��&.�©S�
sj[76��xT�j���S�~l�k��9E���>� ��/��j
��C[\��ͩIN�;��y;Y,Fgm>���]�Fjs5�dd�yF�8��S�&O�C�9%�)��1��CG�-:\mּkY��qY�6�.5%3��<��YO��z�f��@}^��ٙXk�q��)���X�u��)w<�t�#�xn����v�SY;%�xĚ�sƧ0�]G��:�|�gtĪ�s�'�L�S$VM�K�/��#VM�+>����b��m	(��i���ۜ
�)
���ҙxg�a��"ob����?Kb��嫌���k�.WcLu��ۺb}��ꋩ��-��E��.�y�% V]����o3w�ڢ���h��ڢ����=�{�M��n2ט�{یw��ĺ������'��=�6�gw�Ļ���M��B�xM��{�@w�(��R���LkN�o�oۥ�)<g����bO�<��ڨ>��l��+N����J?����T<tҷ�c��	���������l����5(]�+�:J���$i�c#o�Z�y��Sy<�N�b{�B����׎"FG�PuG��+�7�(��0ö��R����S�"N)���H�J�(�e�%b#;�	m������ �P�빚Fr*_ӰY'�?����%I<���X`}P�aSa�R��Fj��H8���rHC��
�E�浦�	�
�U^��f��C@2�KK��d��ϫdQhT, �ݯ��+?�8\�4�MnP�9,�qT�^)-�*d�g!у՝�R�)��][���y�r�ݬmX��܈��W�P�(C}�g貝�ڣ�6{-�騎�'A��$�?k���W^��IXJ,�qcZv�)M;�5�TSpq('�Tvo�{'�3��Đ�|>�Oa��&�h�N��2'�}�s����;|����rm�
���� �
�m�F=���&_ݤ�K��ڋ�:i�N�A}T��a:���G��0�$hd���)i�7��:5!�n"Ų��h)(�/&[���)VJ�s�����q�E��2�JHiq_CwT�QZ�9_W���[Wet��n�R�/���"9���qC�e�筪��W��T�Z�$���gml�X#�!�K�-ѦΝA�+��M�'u�{~v̽[f��[oA���Z1�p�� @|�,XvC��C�er@ݫ�d��Ջ����k@lCr*<��XD^��O�{�#0�`oPt�Z��'��
�(��q��K��C�å�9�YZ�O�n�P39�d�B�`=H�wQ�-�L��>�f)�E|•���,>Ke�`�pI��n�,��N�s)��2ˆa�Ntg���%�� a�?����:xk��oZW�#Xen��MjN�I_��\.��JX�>\��u�w�
����w�=�/C��o���e�@�ϯ�^�k�(��\����:E�9;.�:�F����|e:AD���@�1����O���+#�Q�{�+�@�l�#G&6���ˀ��^�.b�ޱ 8���>�<�YD�h�U�bz[�m�V*��m%B��^;�VO��Ga�,������W�[��AD�b�UO���0Ӓ9���V�'L�����}�7~�4߼��E7�RB��z��-׾��m��_�6K�h�M�	�6��<+5\�u!b��h;zU$h?�?��;�nK��3!N����ӻ<�8W���0��I�)+�O�Z|>���Ol��{G$[�!X�v�U&%;sn9�Pa
Q��s�C��8zݖv�� Xw��B٧�T4b��bg<g.:�	�v�L�E�%;�IAL3{d%8�*��‹�x4դ�
��bJ�Q*��=��ȅ��̉����TԌ��n��󇞴rZ
���d�""Y�Y�l�&ѷ�2�[�E$�����uD{�)1vEЈJ�b��/�Cf�}\G�# ]G9�W��Se���y�U�XʹO��Hw
��˦������w��b>H�������_5G~��f�	�>�J��*��D�K=߉���J�?kH�Z�����	~>�ƨ�C�n��;gu�O��Qq�	b�™�
gߛbn�4I�O�O�1nLcd��;��5܃ȇ�h;Wp�ܳ���o���*G�]y%nXY�����0�{g�a'Yը���ߪ���@����w��_�yd�TO�ao7�^�Ṷ��/�W�tj���;p��y�%Q�:���	�[��W�?
ɷ|0A'��m�7�1\6#���q֌X�p���l��hU�w�
�Ϧ���p����f��$�۬{��mvv
���j7�AwZ�]��g�.�1�����	ho|��p�ieJ�v�:'�Ph�|0��S�x��n��D���vS�i���u�@��Ҹ?�̕���:.TU8��m��w�u['���vW'���b
u]�.��ͫ�<d�^���)z���i����O&��m��5%ฅ8�*��عr�i��@(��pC������i�����8GV3�3wY������
�}�NR�+D
7����oU���sP/nǨ�.�
���zS�KzqJVɕ��c���V듷*���}mN��
-��xjI���I���ƅ��c�����(���e���\L�\��p�.Ą.��l��J������h�V_����\�'�U_���fHqh�Jg��D+�A�j��m��B�`�X[��2��F�"zb����eR�7��"5�w<�W`k�W`�T�g.	�נj�/�h	�D���R��y��x����Y3(����W+#$�F���>S ��h�븵��br`i˜f�:_��ʌ�`���8���`0�-�GK��:]9Z"!+�NO��ΠX;	�c�yc�GJ,}��=�Ę�ʩs!CH|��Kk�:�R�fcט��U�Z�+ZR�P\q��h´gt?�'d��[�n[���f6�dsK\Ū��Jу0	�T\����k*ּr��GC��uH�'��7�(�Zb���ԯ%#�b%�=��%�"�:[��%���ju/�h��]J�<FL�G�Wb�L�R+�����5�-U!�F\���㫐42W(��\�^G��Xo�+[�z])Zb�(������Ѽ?��g��Z�3YR��hq1�V�\��PH��w!KL��7Sh�.��]�^ͣ'�#�+)z�&e햸hf�%E��K>FI�B�*$U�Tc��5�_�H�<�%�[g|�a�_ҵar�N�;���>�c�
RI\\ĝ$Zg|
b:J�zq���ٹA�z���5�_sо1{��GK�3�.%hɊ�Xe�]��-����?���$M:�T��H���y[���^8o��4=��?+��<5�=�;��9��ֹX���	�#`z�N��#+�+��b�T��.w�b�r~!G���{��X��_
)�ǘlC+��+%��^���EK��`�_���E[�"���(�7�EG��ԋɅx�_t�Ȏ�MrZb�y�S"h����X�\�)��[�b-sq�D��rr@P�l.��VN��/����R��hӋ��ŕ%��p)V2�-9z�-p)V.�m9J|9��ˎ!�^��ȥX��6��i~)�%�=E��_<�ber)V&��*x�x$���\�d�o$�+V+�b���ĉH����$�J��)�b���$%�#��J�%IKdA\���U[���Ƽ����$A�ʼ뗫�$)��p%�+W=Ij�y%�&Wg��D�+���*���u�_w�������RL�ˀ�(|%�WWB*r~���c�DHL��h�#IۂH�Ի0�Y#mq�e[o)�2i��pۂ0\������ ٶ H6�+z|h�cdۂY�ӫ-[m�V���-�[m�Vi���0����V�bJ�bJ�}g.h������4�G<{�Ƕ �1+1YD��H�7� 6��Umqdl[�����h��cۂ�،���-�mc���qtmq�c[�Qǜ���mA���6�U�9 $���X �޿v��@8�
C�K�]�l��mA�-�#�|��޶���/�#:��A�mAP*�i�#!��Q��;�[wR�S{���:�r���0Z� ��[M+No�d$��Q�'^�d�#�p�6�HD|p۷ŦhOl���-7Jhdٓ�[7ʶh�k/�Bw�v�pI�����K�xTs�Rĥ.�A�Wj�[Z��V�qKN�Tj��#^���LU9�F���P������'��.�3���H;�hk��_@yw-ڭ|>�������TO|��_�(�{
l7����SKŝ�0߄��q�u�7�/A���ry��r键U)J�<��'�����0�l[��%]�g���h��i�%-�)2*/�j삣�
DolZщŗp]���y�ٝ���b�]!���J^�W�R�޼á(|��r��r�*�C���#��z��uF����U5�(%;=����t�y<&w�����w��.�9^$7pi��9t��y�CQ���D��R��ΥXX�Pj)�O�R�7�lIͪ�{�6����<�p'�+^�nC�7��4�.'ͣB���]��"	j��n#h������g�?R�^iwQT�c퉩����W�$�rC94�"Y:�=G��α�j_��
�Y�ۗH������.��NI�ǣ+�Q�6����XOu�_Ku�Z��E�Pk�NG�+���꜡��wnG�1:H���5d�I��sŚ�s���ݹbMչB���ܮXSu�4U��D/�<�:O�٥:I�����
C�O�\<��-Y��9���s��\\ۜ�8��ⲣL�ã(vw\v�)vyŗ�˞2��♘�2�3�s1E�޽��s��+Nr�r�\rr�.+	��p;By"
a!Q���g\�_���;1-���L��?���B��x������y�j���jF�gC\�m��F���8��⪅'�ӏ�0ԋ�6�t�+r�Ë��&Ĺ�.����&Ĺ�.��+��CJ�ҋ��dj���m�Ky�[�L�39��>q�Q���s�"������E�%a]�y�'�T��T	�4cO|�띫�]�zbU�S�R�}�'���.U	���/6=���:-X%�bE׺S������L�xut.ı��+I�����T�x�]H����<�P�]΅[��I�3q��E[h���_�]����^�NR���M$k]��H/�O')U�O����◓���4Uq���EK����xU/īZi�q�(�o�W4\�;����̪�	��8�5/��B��tq%��̇���h�j/��9�#�E�D�0Ǵ�y���[����8�ⲥDp���􋋞,�k�*v>?������ts6��[��͌5x��g��9�DLh���/��[c��P��GP��қab�b�b�G�v��S��3���^���/:�{����W�Z�%�W�ɍ���+.E�m�7�En$���u!܏Y�3�[e����H�Z
�6�J���8 �B�
L�XOو�[]�I��u�'^�R_�ߙ	�[X9�^ĵ�.��c������D�f�5ԉaE���ƀ�
�����5���y@,�Bɲ^x�b��ٹ��Q�3�7T�\��|����6��zU��wٞ8x��U'�u��Ϝ�p����ת�~�&�h�;.�E�.�{j��..ĕ�.ı�{�����R|�W�=A��&�8h`O�H���b�9W��)��x!�N�,Za�ㅸ��ť49	Z<����mՅ	z�r��c���$�Lw���g9='sK�T�w9�������2�]N�z4�������g24�[����R�'MOr���+��[Z�����0F���q����Wgm5r<��Ll@�u���`���w�U%��XH�zjyφg�=(~k.�cO5\��Xh.��\��Xt.:����\H����#V��2t��f�D(��o�R�� �J�.ҽR#ǽ��/
9n��x'�v��q�+���m]v�)���Z켧D�,Vb�g
Ը��;�\��f�5�����R�Z��&�>\�)Q����+�uc�Ǽ3U�AΤ4+���j�Yv��o�%�%5����*b�uٖ��X�;��*�Փ$��!NM~b�j�%%���q��G�$�Dx��%^�V[� ��k�O�VG� ��m�����63Af&��Z���S�Ӽ%V��G�U�5���\��
/-��&�_s\�(˶Xӊ���T���D'ּ�׹"ߞ����䦲+�m����+��}�W=1ѴL�x,|��$�g��/�˚���?�8?�X�*�������e �~wq���W�HV<P�kZ\<#�HOm�v�+��JKnZ&W8H�E+vh�lBm�����X���RqⶦbOu^��vQk��4�<mAHV���Ҫ��~�H�;�^�Zj$�F���'�O�L8H��I��.(�)V�=i����{J]�K�S��+���dv��,�����K�5oOZ��]�*�B��5 ��������I�y�˧���E�B���-�X���<��#&*ޝ=�����tS�d���8����**+I��gm5�R��W�ř��h#q�ڋ3im�.O��u���o����2LwL(�[�+N�WP����`,$zv*��gc*�q�{pu[�R���[���%��=��j�Dj}{�G��Nz����r%�*܂ݛ���_{��I�h��}!�R�\�՝�r�O$��Q8k@���UK��CP"��$�_���ɔhj)��3u�ŕX�6��/���SF�	��c�Oǫ��E�f�Z��B4�٥`�z,	bE���k�︋F$�{���J�mϋe��=��,����M�n��d�' ��!<2��d��[�i_4$N0Ry4�Dp�a���nC:Մ��iJ����Cx�h*_G�h\6�A�I%��L�4d*�wȜ5%��2޺4��à�*���Yh��u�C��D,��6&��x�ΛS:h$R�q՜�i�����H:�ɰ{��	��Z�Ɲ�S-��T�~�*���n�vGӳ
���>ܸ�:��W��7%po[�`M����oMЏ�־�S�=����bS}给s�V���~�!�o7_�-D���,�]�����-G��F����«@=�^#�WJ�>0L��6����b!��y3��H��ll�m���S��=A�@���aJ/2��ĵ>�Λˆ�;���u��D���:L��PB`�Q����_���T�}��$��7����s[�b��-�����_�k��}I����fr��}6�:����k�=\��R@l39��!	��vv7�;���뵄���'�l������ϭ�;���FUu�D��3�Kq���J�z��bmw�$�<�q���G�\�K��c�R��o�-t�$�-�]���h�YHr42�/O%�:g�Y��ҏQ�MB��1,+�֑�D/ڞ�K[��o�kIF~����E����?�6���0J$�����>�Ւ�G�%;o��E��&z�����c>廚'�jOGqm�KQm���g�R���wG�ʪ�ĵ/E��h��b�Kq������\GL��F���S\�RT�J��#���I��q���^^HQIC�EI��x/��;\����^A�'����^A�'����fnyr*���KP��h��{�A�/E�B���\-'����T���RL�R��n��4�4y3+��~yђ�9�}J�EV�r$�z��!���+��v�9C��i%q�ˎԾѹ����w&K����#�I�����I��yR�sR��{�*ĸ�(��+YbܖU��,�˳�<)ި�Y
�gmyR�}%Nd�<�Ȓ:�7��g2\�uU�q'Q�!�z��B/nwuyv�BL@N�;����	�5�م*A�ꉵș�9�k�3i
r��N��\N�:,�P�'�^����}���dv�&s1�d�C��p!]q6�eWJZ��g�w���.��{+�x��R�7�?���jQ����K�\�*M+��*V�ݞ$U���}]��ob�
�+>*�g�T�W|�v��Te�Wl�t���i߅�n1A���Ji�r�cY�#�	])� vz���L��R+��Ҕ��P\�s�D�{���"K��ͣ�օ����h
ά��H4A*VlB�v$���i@|>�[2th���4������P��$�M�/�B})��u)nVs�9�\s0�ܵ�s'lH��E�})�s,�怔�bh�$IU�H�Uo[�z�&�T)�[�^���G4׌��W4Z�%^��p}���P� �Jwip�w��=b&>w��Ԫ�=#@�J�Α��!���vG��A��!��2c:��s0}b���J���74�l	��6-瀚x�Z�u����������9�X_���f�l@$�B��&��t��ξ�B�:���r��bE]���Nib<�CD1$%��+=�g\��PZ�q��Y.�*Q!RW}���QyZ�0�Ӣ=ƵDF�Pv��4E.�.T�*U"�ܧϭD��E3je���f�_H��U3BEw��ncr��M�\�19�l7�Ȣ�Rfh���f����g���R'�̨ΛQ*x'e���Q�M�K=�y�.��X���8�DA˜�4����d)�&�>;
�RUn��5�0u�T���ݜuJ���1���`�-��K$ɳ�܈��Ӏ6����R��WS!W��R�L�LV\STA�P�[�pQ�!�}�I�1�?�_0��2�LUJ3�m�J�V�4.8U��UhHg
����Ӿ��j���)Te��T!��DF�i��`o��D��u3��e�1���ؘb����9��^�*_���y�C��ۭ�_��7����|/�5o�yI�;�M���Y#�����&�Wo��i��@7Z���q�m��~�doѓ���S��h`�C�%H�x�-�;�Dbd�k�n�	ɶOK�֧��=��j�Tk+^����P��L"�CݞO,��0��RKg"]K?:�9\"I6�����,�գ�6G_�G>$�iL�0
�(�dWH�N@�թ�$�2��d����
�3	b&�D&��]]�i%�lں�꜇鮰��D�έ����ړ�↎c3wt�C���%23�C1��^.,|�^GL��A�o�}�?�n�S��ʕhLW]6��''\J��_������	�J]quɣ`BG��l������?ڦ$
�� z徺c'�1�W�Ru�Ȯ��@�}��`���w��-�)����k�q��EG����\Փ1��y�Z�#3[��}yD��]�s�
�=�W�)"��i�:tg����Y)DSt��Cx�Bh��f��/�:U�1��#wZ�Ju��FuA;ʸj�j�ΖA.�wuȮ����VQu��c]^�]=ԭ��8�M�n���}��I����"��l�o�P�":��w��,��t�=��w1����k1��>i�j.<�Mkq�W>ek�Ngnݴ(���W�v��m��֠RU	�>P��L�
QWuK��g��C����OK��qv�BE��0���{Q��U���@c��f&Ѩ�Zl���Rb��TEvon��ꙇ��es��@v|�m�+#s���V��ب�RSX�l���3c<���ƘwC;���Ć���Y�2��PW�:��<�S���Q7F�.�1������>\"�����𛿔�M/�����D�ny���nGHs�g��P�y^��&�L<�g�D��D��ݿ�K���;'���'�䴈rq/�dyē�O�O�y��֓ �f�۾��x"[≜�ƮoO���sq��y}�RNʹr��L<����[n?�s����C�ә�mG�^9�S�[�#�z�w{4�����UK��tѓ�3�(��:��<���K�B�Z��x���%�wy�w�t��sqr�y}rfN��] ��9ow�hٺ��d<gf��gfR�.���g�
����f���fJ�^;a���TI�o��pbI�p$������}��%�Ñ�)8��+��P[��Kv��r���:���9qI:Ɵt���\W��5��9�|�%G����+_,��b�<�#�ϩ�-�N[ -}b�_�c���YM)�3�,�=�Z�1�Cx>��x,&(Ȗ@ g&�PӺӺт��Ƒ� ^�+�]�л#�Rc�#J�LDq�ŷd>��P��[Uf���b���%��|F�&�'��s��1:�oe��ԕx�]�!�Cl��ƺ/�o�ܴ��ܺ�O}�:<J]1�.��x��=K�����x��3�V 'V'G%��t�zD|�q�@(�^�K��VK�p�[�һ�m�%/G��S���E�ՋgQ�����rL�NJ���F�}M̎m_~O�q�����A�<b[��mc����(���<��.�e�]$ު�]��Bb�3�K�ϑ�K�s�_Ua[�a���6��1G-�2�g���C���6�If�G��#�Zq�֔���%�p��C�FJ;��9�
��ʸ�0#'�F��q)|�#Sn����؉��\��U�X{-��q��\W3�5���KE&�=�1�?�������Y)3�L��r�7ބ�k/q%�����#)2ǹ��W��3vK��ax͞��
�0
�0>h�p���e�x���a�_�ʢ�b���Ce���x�]|�~��R�/�z5�$ʰA4bː�I?�pĴ�\<
�xQ�$���f�§�_-S|��jn�D[�x��s���Y`�~��T�'^���s��`���_��ŏh���b[x�n��U��)��7K��3y��������/�C0�����6y?�ӈ	� �	m�Q�֦��TK�1i��)Ɩ,�"k�����;��6��׆���I:�p�'�_u��fl��؃���U���� ��}��3�k��͑IX���!DD��g�?�ͧN���g��_5�/&k���n�%��Y����Y{�~&�^��_����,��k�`��F0�1a��^~�4#ў�`Cxf�V�.�^_�
A�OX�~�������ӟ�ڏ�>��"H���;Kq��Dz��d�6a��"7K-H�e���]R$�������8�D�vµ�3�+:��%ؒG�tIF�[���K����i�=?�^���k-��54F�n��/��
F���Vs��و���
���D�f�22\�ٯ��D�6ޑ�İ��.	?�q{A�C@4�����#2@�2g�q
eHY���6Ꮝe�z+�����\���c�R�-�ɡ'r��n3�=���a[��h�N�V�P��s�m� yW8��?=�3��&�7d����VI�FS�~
��-�}gY�!�Sy稪ޓ_�|n�K�ZX�C�f��EfL�M=�$o	Q�3\"��_�0��N�=��69�OE8a�
" 8�OE8��:�`)s�8��[r�|�@����[�KFr��b��ވ�O��t��L�����l�U��<�%�L�><~&����+��C4&�%�7u��[BLcY �?��A,�Zp�O�a�j��bR���7�ʍ~d�+_r��@;/�+J6� iB���Et�R�^�]R�E��S���e�o���
�[,畷%W�4k	��-&�K�WH�m
YRp+��a����἟��
�1��׶Q��#r�;�r�����92W�a+��-!�y�ʼn+�,%��e!
:�������AhT`jf�KjĢ�����q7-��ձ����� $W��pq�0\T����@G@v���&.Z2q��0�;�HPzq.j�$�]Rk��=��D�"������|�r:�[7��fR3��◩sg�FkOڀL�W���):	-þ�{R5�mRU�ߗ:��	�+�*�~�d���j����
M�G��Z}�Ѽ�:�`��x���(���z��1di��ʥ���넹+ް��?�Q� �l�۫e5�+Ə���������G���6�2���ZT�k��<L"����^��$���U4ry�u+��,`�+�LX��ݥ��"����%"����+�<���4>�'��:�.	�p���Ѽ�G�<�U=7��k�!�‡dh�����>Qf��-*:�>��:}
Y��-!@�\��i���m���%���?������N�Lz.��G&$�?'�d��ؼ��z�$�V�ڱ�_��*��#(X����{z"�_*>�Q��a���d�s'�vG���H��H<ا:o‚5�8��ϣt@��(v\��b����
�`h�ڧ>������ԅ��#��-\X>~#�ik?y	��K'ð꧎����kk/}8"r0��^,}h�q�zt0<\	�X�8�=��K,ڽ��2�]�
�s��"�}X��f�RSb�7
CR���s^ƶ�y���K��y���P�[j��%x~��f�[q2^�G~�w6�7Q����H�����FI:��xV6��p�*��N6��>CC��("�!|�"���	pU婀\�/�n���C�9���(J3�`�<ό##�NU�� ���
^�*�4��lU�c�),��wj#�����%DG%���O�r�J-�h��<����6�P�#�e짡셒 ^�O�L�� �;�;9���؏2ew�Go�Bv�G�O�x��ѩ�atF����eΓ���JOI������^S�^KAF�>�v��G�K�X�X��̓�Xf�N���=y9�]�X6���p�vU�B��{�ą�\���57�&���->}����/�џYx���jx�%X�9��v&7t��_��/�9�6���򴃛ǧ�x����p�ee������;�O�"ꮃ��TO$G1�u���!�ц�����:��b�<:R��<�dR�ڏf޳/ah���ޞd�?�T�𳟘�(���l��c=��{�+��b�|Yy-�I�a^��'��"�%���Pk,�m��"��<��B�#���A�@|ك_����F�d(p5�=FfȨ����|Şyo���{�?؃8��ݑ&TEI쯞4��Y�E�^A%�Q����5c�-T���+���U�?����,�]ssL�k���E��M�A0��d(�O?��?�������]���ݏ�_~h��&L���'Բ�����+��
?|씾 ����q]B~(p�y�bv�=Շ��a;��B�J��WiCe�8�4����|�����Ҍ��r�f>�a�\$�dr��5��QQ�x&���齢6��lC�!͇l��X&Z���,㚃�6h�Ǹ1,��q���"��Q,�xf�E�v�
,(�K���%�6sn�AT7E�~����
s��6�k��J7��Wo+�_1��2�L���M"O�����Gu�=<io�`Ȝi
���`�X��P�|���t}�n˰�_zI��B����B��"uo9e�jS��5�'|k�|�w`͹��G����������Ř+[6����j�C�m9r�d�^��%�\��4rH��.�B^�V���G�X���8��t�B������Xj�$�t���1��^�=N���@vr{���q��&�|�6)D��u��ψd�Q��2�S�R(�쫿��O��>�/�gd���}~���y�r�t}��a�D�g�~Q�p��i�d�˜���胀��8����D/�2���+|Fa��6�Y���>:
j��XV,5ʱF�
�E��s��
�*)�+��AKu�����ò�|�]T��Z��f����֔`����HϜ���9+^�(3L��uT�J���V7�"M!����OdO�˫z�;�z�Z �Q*����ar���":N`j�3�Ij4;���Ԫ�Fbij�֦��Q��J�X���֏&#��-������ڪ&�����>m�47t���ؚa<�G�fѴP�#�A]�'�<@�e��}
v3��g�]6�nC��ug���<��]�E2��W�v5���̖��Ǵ>ե��]�S�U/�j�@`���>Ӗ=b���PN�����c���g�W�Ҥ�i�!�0-���R\�����}y%��0f�B��*s��"�;Yz��𳖿��'}C��k�p�ВOhe�'(����Xcp��J���&m�Q�c%[>���^��'��D����KU[��j�"Qr�q��y9#�f�\��+0]-8}8��5��G_��A��ݴW�c�"/�3y��u�T���<U���4����P���=�E������c�{Kj��Oj�2�x݁�t�����3
�+l��ˎ>��[��1�N
�T���3u,�#؂A呜��+N"&�v
#d7D^��-�I>�S�4��䴏MC�͒��Q4���v�/p,Ҡ�c.�_�榵2(�����_�U�_?�m�d��*�>}/��"j�Y�Ma�A��B#�UB�s0L�q�#�����uW��>�̷R�*�I�;�5�O��y�F.�����,�	x���x�T���)�3��ʳT1�W+�]n~*a�`�R��3�ѱK~�㣻!?W��I�Í��,;��1��N����GJAݵ���Q��e^O�,~ٞ�J��/'��E�I`�$�rW�u�9xۯRO"~��F��+:��c9DN�-���F��;F�/�z��.[��|V��j�8E��ę�oJ��
ww
i�R9���z�#!�P
�;p��9�]��+hT7~r�E�e������+o��bL,K��L
p��RK�������{�+�J9x��E�Ɇ�}��P�*����zXc^��?���$`�SJ�S;�l�9�VF��T>�S)C?�-����I���xx�cv���ќ5�W�2����V��s9v�`Ȑ��u�H�KA��*�s���޿ؤ����e'���V[�G�P�"����a�
e�=|�)M����B�h��RDE10�\y)��$
\ce�pa�bki2���
^�MX�8��<˼t���b���"�6�1�w��ů��S=���8���nƴ'�^G�ƅ�C&��8��r�lj�z���	�z̻��3K��;
�R7�)|]�տ0�>B�r>i�훧�֧ːO'����|(-�:kYm/Γ���(�2-ն��5���n���)-�Y�I�ܭ�^�u����I�����r��||/CQ�����P��+,�W[����������/5�H�2҄hܷ\���+��ӄ}V?(�uQ��e_p֨�Ъ98�'��a�v�w�̻�y�?�C�|P�P�(���S��>9�yB�w��+��(;H���* �9a��	}0�a��gi���[��h�$�P"�zK�����ݎW�)���i��'��ާh�
�HO�_�M���Zq�W,Ί����.Y9����g��M"����m�S7��lݤ�u̬�y��l�$X�Vd��ђ��?��F,�7�x���[!�啡ط�Z��W�N�Uֳj(Ve�wY����3|�`��w������#�]!�I�*-�ľ���H"�ȧA�$����qnz��x��"a���e���,�}�0}��3�̸d�1�T��Wu/Z���x�
�D'�\P|�2"��4���ʫ�P6p����(��&�9��^����×z�VE��i�S���z�z��ć��};����o�o���0��4��JbbU�"~-����h_�`�e.�9F��xL�NWJ‚��U��j�Y�>(&�XcHv��o�؉�NG���?Ҥ��l��X\�j%�ј��(�U�,����k���(Z��T����[���‡5
Eߎ@�+.Q��U�W@�����56"�H�%�	L%�(���>�kCkBַ>�i�>,=�g��U�y����j%�_�G��q�iL_���[ך���]�1q�(�MH�5D��������a��Rb�d��JL�8�cȉM�~l���1�օ�R�'�C��-��@~�n��c�|OO��`�|o
<.�J���6�K�좈�U���a<~o2s�8�/�!��=�Ԟ4��ݩ<�b~"L\�8����x����~�[� �N�{�������L�ͬ�
��O��6y�˒��4\)��Oa��|j��Z
� ��y@*��No�,��),�Q��9���}�Ճ���./�N�z����{�F��C�V3���.�gi0�dE,�2u�1!W�� ���zY՘�J�4h�MuZG��x �괈�0�Dz1glr�ĥK��br�nG��$zC1����*19�Q�P)���8�,��V��I����I�B3's��Z����0L¯��Bz=��4��R[.�l�$��9!�ԙ�ȴ!}
�	o���#�=��#�=��#�-��XU�����
����]���ގæ��6
�i�o�с���j7|ͣ����P��ӧO����X�����Y����r�(�nO����B��$Y�ISB`�70�⒅ܿ�i���g��ׯe��h� ����<�4�N��_g?�E��|-�o��#
�Ey���V�>�֥{�<�|�����Ƶ�׶5��!}���Rn0�m�+�.6���K��ϯa�p!�(�c�ʔ�
)��`�q�A���j�����VǏ+�%�R��!K6bj��MB��~?�T�*����=�{��ӵ3��=�N�)�D{MÙq�O��k����b��幒s?�[3���q���������
�`��X�t]��R��F�R�K��vZf�e/ myQnt�f�͏ޏZ�;�Z�	��T�����v'm�q���Z��^(�J�<d�f��4��6�1�5*2��2��Z��ފ������0��K�����yw���:?�=��'0x7���t,"��W�+H
��@,�F�R��~�����̴�M=�V~p����7	ѩA)Ƣ��k�٣�Q�E�0�?�CQ]���K�
�	L_�����K@ti��8�(�'��>U�R��(q��c�A�`���7=��.��Y����h�f!"�p��1�F���<�����
��j�p[*�Z��(X�%�`0���$����E�;
e���EIA5�ؙ>�gx"��ǾX*�K��~9J��0+��b�$-Ȇ�H���H��v�'Y��B�R>�4L����y�
�C��I��i��üt��}�Ƀ�J����
�O��L��^����-���߉)��rۥ��ؤ��Z���M�+�z�ݩ�Հ�ث�����7�6H}v��ͬ����<bA�O|�X��w�L|�B~.qpQ�J��W�t���B#
�Nb����
�8%�"̾�{��e��j�_(P_��е�8��ٛ�_�����	{+=j�/�����Ӓ,5Q^,�j]P1!�+�]��ME�]:���;�,�-HXԱ4�����o`M�nȍS�TM64���X��Q�ƴ\�WZo��֥F����I���/;��3�?/���?��3#����=x��wzuM��I�@�;b�9��X9U���%����8_'�N�D賥��VH�x�'�c[ߺC?3���i�6��e�k:wŮ�
roXZ�'�|�>=�(1j~P�=�ؖ�V#�}�W���IOM��n�e�W+�&}*7(_y�~��7�#�j��M~�0��?'�n�Wl��ifҎ_8?����P��Ak�T��Z��h\���@�t����s�N��4)�`U�c�>d�7FI\�RF�BH58�M��(�-���H��0(����i���_�����/isRxe�[�2�}]�G��U�b��_�U��6����G�|$�	cX�*MVndkV��*���I
��Q�����3ge�Ti����q2X�I'��E9Y]W�L�eۼ���Q ��P�x�؏#���a���C?H��E'���N%�7�maKfVۂ�j[�[mW���Ѕ��	��ؐõ)��|�}5�P4�lb���gi�2b��"�Vo����Ʃr�2T���.C����-�Y���Y���Tf��#�Ҁ��7�@�F	��u�惼3~zS)�`�,I
��T�訳�D��ԏ�p|�ﻶ �<��ч'&mFٓ�|���қZ��z �ğԦe彙7�P"���AQ���/|D��5B�ΜW>-L������@�c8k����[�MJ�(��J��B�a�����H�գHf���.�J垧��*�dz~JpHzb���U���/6��t�i|�C�~!���p���KQ���y��2��r�̱7����d?�Ð�E-�(�LKn�є~(9�D^�Gr8��+����F#�a5Q)�|�I���A�kᇲ뿬b)�H���i���gҜTp�"���G��~J �W�(�D�"���7a��K�����_��$���ͳ�a
���p�
���N�)�F�f��?%׹�:���{�8�RL�'i�2��'�z��V�^q�6�B?_�,��Z��Fr�!d�z�
�?����ǎ�8sh-"b,���{�z�{
��)}�ڇf�
{�ȯt�I�\
���*TZB���1�b���(�3>�0�hb_���躻7��o���v�9E�~���4�i�Ө��Q�O��F�?����:uS��{,~�7Hr�(�/e�."+�W8��υo~��i�=.��	t��#;�"�F̀�h;������N0��L��-��ͯ<f�޷�k�}Y�̾(���
�\���A�"�Z�xEH��c���8���(�@Xf���Ȅ2a�>�@Ea�`'�#1t�*W >��Ug?n��Y�:y}���i����+Z�5iUK��s��#k
�=:�+�zFI��!H�NO�4�2k�&�D1T�{6KN��s��/?׷�d^�vK?洲�>���W�����6�k}%OZ��h�IZ+)	i�W)c��h��
~��hH��	7�k�8O��־I�,f��Zձ(��>���_e=����T�D$x=���ȕtU;�U�$\.��0Ȥ;�.�	J%�'Ծ�UЫ��4Ob��ѥ���F���i����n�ꓙC�T�e0NT���V��B���q3?��ak��N�e�U,�v���C����-c��b}Zlf|B|�Ȕ�DZD�4���־�>�F,�LqV�G{#㥘�U���W��p��5���HȐ�d#��k)+@�M��^��Y�DŽ�
&@~1��Ob���%�h*U�[y�f���m�:��Kٕ"�V����W��9�z��Pa��N�� �O,���GMu<4O�,��ā�=T�!ϏF�w_��d�B)ꐜ��`�\x��`�/Ĥ��>"��rq�c9�'Q�0����Z�h\�J��.Aʛ��އ�ڑB7�gikD�N�m4�UY1*^Zm�b9�U�>�/Q�!������]�
+��K8D�;EQ���', ,��aw���?�Z��X�v��I}�Cyl�Sܪ���I�OqN��naG#�Ml%?�������9X���Kg��Q�lD��Orw�:m]���k�Z�Ra�������Z�=�"�y��	iૃL���ܵ����A[{�E��\��NR��	S:�o���u�oꇩ��G���X-{��#�|�M�760(�L]zve7��ˎ�q��x���{��6:�q���x���x�n�Iߙ��ݝOm���;���'��	}=����0�V��J��b��0M��aT�P��=$R��.yOtK.xOl�W��Z�鵎A(���M�U�/��q�a����򛡞V)�oJ�4˾,�8�╓�#=V�!�u�}x��+�$��[���U�p�{�.��(�����ݳ��c��!����
��	�˸b�z.�μ'h��n����?�c�?�_�4�P�:��I�Mc��*����᥀ݭ�OU�1#��%�Y���\d�
ӯ��r�DOI��
�]��V|m�}�@*�>Ҷ�Ʀ�̥�Ѵ���#Դ�Tw4�}�dwkuWn����)NZb�CF�{�p�U
��$H�b3?�h��;��
:�8y|?�
�9-�ZM֦�6a���е�a@��R����ᑷ��ߍ<x�!�
�X�]���,O��8ZS$o����ꂝ����5U���u"��w뢁(w�)�M��NaT����b��z�gQ��U��p���$�M>��|t�A�+#Iܐ$j#U>���IG*|�����ח*�9L0RG�O������#,����?��2���͓��~��ۭ$�No*�a�����2�q�eB�OF���˿�G��23��`�v6���R=�gS��J�ϐW<)[a�zPu{a|�b(���n�z����,��Iq���"G�_�"L��C���fE�/�ݺ���]���H�F<��{i�Rs}`lHN���Q�X�y�#���z��Q��/�jU�����{~����C��\+#��"iu�n�[Q�?L��e��͊��V��g`�Kh�)����bg��M6Ա��Ǩ�O�jį����x'�X)���}X�	z-孾�y�����-_���3J�������^��u-w�o+#�N�Ȋ�.����X)}xP�x�]��˺u�ߥ�����{p�yMpt�ӯ�#dߔGXFZ��#3��p��K�A}�z�.�V��55�L�i7ىunmo���Q���ox�h&x��>���\��9����Ҫ�-;��1��_���j���x�H���q�߱������3�Tۢ�{.�U:��}R�U�L�6����e�ٶ!��Z���-ɛ�y�K�p<r�K4o���O[�{��I��"��oa��q��mWW��a���ī+2C��`��6?҂M��2�d��td�����"��-AU)�U p�~#E"�B[��^�14����,D����ht>YGqm����ly�ô����K~u����Z����k,�*8Z=5+���O��j���MSҹ>�a��(�R	��!F$���
�]A�D��<�Z/��:؀[&{��D�6��[���dbMۅ&v�J���IBz�<q��!%�e9::�\�ʈ�Z��ِ}�t���H^_����\WV�^i�2��������/�.���+�n�GO�R�:�q�%����tr������U�)���Հ�0W�����WE뺂��%�K���߂}����V�/��Q5�
�ǯ<�S��$��gL��K�,VV�r���+���h��z��m#���?���[�����;1�iKU)ٷ��
�O���&�E��6C�q�͋�0�Y�ŭXY�_��EK���_mN��`�*X��X�9"8Mh:$M=HY��	��bڡ���}Z?�ZT�t<4�D*P՘�~vh�0F���t�{:l�	�����A{T�,+��~�u�ʋ�ARDp�;떔j���}�c�v)H荿���E�m����Y1>nt��`�*�K�|O��r-�-�e�� #O����p���u�l�b�����-X��@�Ҷ�Y�}�m�淌�8�==ѫ�C�^�!��M��&]uֶ>Ðq^p��9G0��X�
Y����ǟR�!)�w�"[�/��'z��V�dԀ[�
���/�'�8�#��]*P�/R:��i+�;*�"Ku����`"D$��8C�@&G�}�������2��>8c�5(�v���m��cK= �;��w`��	�"nM��|�6g�0���������/���[1!~�JW�ѕ���B:b�+�Xӥz�V_a��s�$��	��(v�MZ��7��i��k��/^�M�9j��y"9�ep�ȕ'z�H��bp(���Mi�=�|s�*�p��<ۼPK�HT��<��
H��a~9POpE�*M�e^���xa*>�w���餛M��_Ԧ,�Fl?���q�{�~��nP�J�`�Ou��C=�V�L����r�f��4W�"F��߃~$u3f_6�|�N3��[��B�^���-*�R#O?��-|/S�.~R����2�S�pU�<�B�Hl�hi����,J������&?��Q'�i���6�J���"�G�8�aS�p�!���]$��3}�}��.}>k�����j%�w�L����,�E��z�͖(��g2@���#�rd�x�5��D��(}��w�Q�#Q�"���<Tj�}��1�s��9w�Sq
Yq���^ԓË���!tR�(��`�֘�
�[I�i�7:7��p�kN@�*r��BJjs��TWi�4X�c�Q���ڧ>�_ֈ��a��7?J��籄
q|B+Y\G籒�ut�2����7��ܳ��J��._�h���
sX❜�m�mK����D���f��B��c�\��Ƙ^r���*9�<��
+a���5(���a2���#gs>ՠ,2��!ԮwOO~�_�˹�F�1V���N)P��t���s�x�J+mڎb̾��#R���IH��M��aFo�1a95��r~H���6A��~+����Q�(][�R@X1`+x+Q��P%i�Y�x��
�6�dB�4��$���vKU�/�8��~���sZ����;`׏��i��� 9-J�UL����7�~�yۗ`qZ��9N`��	����'.R����9;�3��g��^�����?�{M�6�^�C���<;��$�>L��QM sQ?,�{��b��p4F寝$Z����QD/��t;q��%�(̀�G����^0Ǹ���bV��168��Rc W�!s3�2)K�"�wY�ɣ�����sP�K�L�"�ꆲo��O?L��l����65C,y��h ��PW� k�]��ը
�_Rq�7	��o��f�&B�E���n\Mt�:'���i�d���L�4�`�1+��V��J/�f�<z�M]�"h�5�J���_��o3wt醷䲚ߺ�q�V�����r���J��~�P����f�z���_�'��=��k�0x	���tzc=�Ԓ�=}�o
����30m�����S=���pWN�#�#�H��Эւg�x������� Dy�xR�ݓ��/�H���B�7��>���k�G�!'��=�1%��n�p�@�-�������b�H���"tv�-�C����|��%CU�[���E�4დ��Z�Ίٖy��;�� ?����	0��[tO����g���;�!�pg	~"W�_����&�vo�1�pmg��(f*a�]����Ǭ�;���k����!�Jk7�Xe	di����r)��k�m#���n��Ŗ�
y���~���go���gc��?���g��H��7�J^�"�G��	d�gͼ��j����fI����i�Ⱦ1���КhP��jao!p��\Z�x㿂u45?mH�-��و>a�~҆���}W�J���ó�W��'�.[��".����y^5
���m:�S�OG���;�[�*����i��mY��c�d���T:$E����~��/�ᾟ�^ӼV��'BB+X�jo�TΛ�Tr SG�%�KÖ�+u�Ѕ���$--�)�j�@	G��0&1�>�=~�t�}���� 3�"o��X�"�ne�Ydo��/�f��CTD��?���B}b�&�B��H���bw�#�����5�����g�4���G����a��߉� �.�`��GQ��$E���{���_Q�:H�ԧ.wc<r=��ﹱ �/�F+���g���(\��uݞ�Y�;�S��Jz���Wɬ��q����S�La��-�H�\�n�_=�ߎ�!P�*�Ng�H!q�9�b�*�n|f-��&��T�~�^�6u F�
l�ݒ��MSjQ{a`���0����Ⱥ*�g����R"W�>d�,����r�	UC݁kg�����UE�&�|l��Q���{�N�Y�oPT��^���g�-t�^�@Ҋ���y�����^roD�c/��.�wZ���Y�RK��e�X�P#�R��EZ���	w�F�6
����C���v���d�*���Y�{|�ցH��	�X�����/�\b�"����m�@ �����Ȉ'zf��*W�䪧��z`*�	���6���2��6��KF�x��a�"�!�2�3<��l,�����`׊!z��f���/�?�딶���h&��
Eg�ܤTA��>a�mֹ��ש��~l�+�]|r�i�tQ�C��>M!��*_��u��:K�3Y�%�5�m���Qk]���<�VFZh��WS����ҫN�X�j;��>N�Y�f��z�.[���b�sQ��)uP��~��~�ĥ��JP�OR�$�UF۷�c?�O�{��eӅ�'�р�3v'^���ҚE!��/��Y<�
ͷ�)�E'�'���Kq*�I�'M�?�%F��;xà�8ռ�]{���
Le�6z�8R&-cZ2BL��0���H���aR��P3��Qd���v^cVu��k0�E���u']G�)�P�w�����)��H�������
�H��k���`��w���{��!�9���}�ߋ7�t%���L@��~#�RFn|�H�m$�$�`�V�b�!�d���n''Ë��:�)԰���/�x	�ր0�cc9�����.�q)?�V;E%�ñ޸����:��p�{рW��:�b7�,Z�|��{� C���1L��`��jAt�6��4��Cj�j:�Q���<���gB����"L�?��$���ɾqfE߄�A�n�}Uݚ�����Ë�Z���Z�0bEy+�RY+���������_����LG��#�n�E��K�)W��6�����R�¸/�q����PV4H�)w���
��k� `+=
��Y���<B\�zx4�Ӯ~a�ߘ*~~Ijћ��ˏ�`7�fc�`)z�p���=�վ�+v��БGTNA�l��2W��s�_�r,HN|(G�Ө�,����Υ~��F�2�c�|��o����ƌ��蚭�Q����O�
�T�
2k�k��v����A���B�����9��Jό�I�ۺ=C��J��1O��^.�fe㺞&�9��\���������ˣ޳g��cX=oϟ=��i�d1��WQe�����jKLзY�ʍ���~wy�z\�)�?7I2�����m7�̦\�;
g���8~6�fa�U�5�G�����^}8�t�p�VKI�N��o"�\��,u��8��d���l������*�Q{[��;=)�##����]L�B�9;��f��ay���%B��ƨK�w�,��/_��=����������+v��%��@��x+`��������X@ZI��+P$�K�|�۩7���ť��T/��Â����2>�ܱ��"Vt���e��=0���_O���fuȃ��\�����/��J��xdX�؆%�8�����0X�]�I�%Qqq!P�q9ko�(V�$<���7t'���UA$��M������?���O���8��?K;��QqG?pD:���f���Rf#�d?�����͝��1��O�o���;h�àK�F��FjC�ѩ�K�j�S}�T��D�-�py��'R�0���qd*��d�Aa3�R�&)��]�F����`iaVb|{&�]�&�`��cNz���gX��Q�F�ތ��Ə�u�ս�{Q^X�R��;H�
�R��)��}��C{+_�K��,n�����ɕ&�!�nREXSr�V;�	ԗ��p���ej�d�8<I?8����t���+�\/g���?�����ܔR������E|�A�9sg�����{�?���"Nɴ����C��j�
(
]���K`灆�H�'��D�X�n�z����&G��JG����c5�R�ٍ�*
3�0.�3�Le�%�V���>֗s���@��ŗ��]���jFΩ��Ԋ����~��ī��b^nR+�&k���s1�t+��q$<pYg�*�Z�h�Q�XxXY�����<^�q,��w�RY�����.5;�9{�K��j�
�F�cuiό���5�:����<���(���mt*�x�R���e��5.���!X$�yQK�J�U�8����9}�﷑����P��eKi���_K���{���̕�̓d��l��ܢl#�4l�%�YB��Kn����-�u���|ނ�?߮�O�$��g��=�66_���t�"�eJR�.d�	�׍"��-[�7�$���m�s��Qv�U�Z�R���=�v���ޓ'C��o<4O+��J��}7�H��%S��UE�.}��޹b��t8�O}�	"
�>����g��Z%�h�3��"�K�%r�=�~��Jz��'�]w+Jd{�`��w?��@������j��c��y��t�\y��c���M`�@��!{�Ox�t��X��G�_Ent�u�~�uOc�1뮷Z�G��w���O(�7]���BO���Q���d/�K*�����m�E"�X�l��t�����k�}�{��jo������0g��7tu̿�aAoH��K�#���̞��7�Or��P�Ի�y�`!��I��׾"�.H�u���."/w�⁽�ـO�\�4`���j'�䕓��8����(��	XT/��"�L�{)����X��Й	d��2�ze
O��Ꜭ��F�T)��U���(.b`p�D���E�E��1e`�ߣ��:c?�F	�*'����HA�8�zq��Hy�MX��E�(z��������jǐ�gQ/$5?��E�K���G�rR.׈z�����z�}hq�X�-�B���Z��ד���R�O���^��{���a=�ה��]%��ٝ{��c(k�R����0�n�e�YƧa�q1�ʢ殬`y�s������q����4�V��$��G�����ܺq��d�5�*��&��V�t
b�ӯ�Y��J��ۃ��g#\}���y�*��UJ.�>�>����8O�ȳ��!+��r
�8�����3����ܪ�S�@�� ���=���1���h�۸�z�%o��5Q�k<o�]ud��Oy}I1���Z�ݧcTO��7u'�]��a.�ڸ����|��<�Ѱ!xI�3��'?\�b4��P�`&ʄ<FN5kගb-f��s�� ԭw�����(�A��<|K��s4^4�<^p�ܾ��Xm�ڎ��1a0�9��mw�u�X�l��gCr?HM��H�@~Vd����V�7��؏
é���׻�}���(~��#vW*�N�<󸮲�v�)�T��iK����{�.Id:T�O��a@�߇:kzk+bE��b�KY"�Ã��B�e�G�W���O
��i�̻�d�,���'I�{��U�,��(����
˖���ڢԫ���U�+��,<N��A�*��Ҿ����k�"^�
���'�
S;�/RS�;'C]�m�����E�Q�+��
�ݜ,��K?�Js���P�"^׈p ��?�����(�M���+QG#R�2��"�0�XE"�8��6-c/R�/��Y%&�2�_��sAuPF����l�_Z�
�8�-B~ N��K�n�i4������f�]H?��:X��b���|I��޶C��l�'�AcD��?���¿���D0w2HZ���&�E��FS&"\W�T��C�84����-�O�����^�#�ἹGN��#.$�s(%l��
FG!7�����o5�瞪UC�Ap���[�:{`n0ԡ
��@��5gO���tT?4>��>-�L�����:Q����B���j+�g$zK��Yu�)S�0��У
dt��� ���Hn�LK�h$�t
G�%�Do-!z���4��-c���o�;2�ի�� u�������-�|/�L�yg��\�d?h`��]�܆�i\������!�]p��C#CÞj�`�Ȼ�~��
1g"R�˸�b��L�`c��i�R�P�סs�t+ȧ���Z�>�cG3��i��_��˰N�o��eʛ�>S����e�˲W�AW��ݍ�d��ޯ���sdvs��:|"�ݨ�Er�r�*W�W���?���0�:��7���Ks�Q?P\Z$�y���?�B�=29;�����{��{~o6O�q�Cw����_{����/�[� ~�5@����"'w9��I!��5���{g��_�?�����ǔ��Ğ""׶��Ʃ.���ߑZf�KКmt�.KP�W%bt�I:ێ����{�T�|�ha�ވa��+Xګ�+��N�������@Ye�Tf��|��뺪��>�,2�94I��Y��1f#��ӱ�*ͬA7=��nRZw9��w��v��-ݬT<!�>i�]F
ݬ�?�v>9��UG�E�#���ؽSYH��ɘ*u��b��^��w~v���|�u�1����
1��l�u/gL�O��X<3i�Rӽ��t���g�xo\>G1_�"�(,�s\XEG�̡1��*j��;�P�L0%k�6k��cr��^������db�t�M�fK��͕���@/���]d��bu?y�����1��H�Ic�����1��T��Q�>�dCYw��|��5J�^0z<�5�j��g��@�]����-)o"K���J����d���2@��\@�,P���}[_	9���6�T���@�o������`Z����
�
HK���k��RC�
`�R��M�?t'yE��1��lC�W5c������y#�����t���$�;iP�Ǐ���C]�� �p����G��*�`/�˥D?�9<�W)�#o�H@B��ݹ����"�9�uޝ� Ȍuh��j�z���K<�i��رj�;2�_��缷�6h(��OR5n�~[�)0
o*]"�Q�ut�0˸P���.
�(y�0�fv�fW�T��"��O,e���O�x��#
���/6O�E�S4W��e.u�Mi��S�
u~F?̈́���J��AF�	�O����5����y��\�\U�L \n��\ʼn4њ%&24���{��_AA���!��͸"M

��G��}}���.;O�vOmv�~~y�feNi�:�{hn6��om���J5$��s����I�Y�����[t���1���|�\��J��M
>�q$�\m	Ԣ���8qG�ȫ�]�:<c�st���Y�ɫ�c�+i��u3kߴ�|���RԢ�ع��I2K@rCij��)�Z���Z���(��,��Q�L���ʪY�	�]Ef �T�p�n�T�n��G�#wMx�(5j�S�i���؀"�j55��`�{��S{^w�5~����Oq���_WF�x�@�/>�ʻ���F=���h���ű���P�Xc,�Y�RD�ܔLU�*k�m�T5�~�1R�Y8u������[E�^ԧL����Hpxj|Q��W�h_:d�� �wvQ���
(�m�
z�=�
Y�uU�2���s"�w.s"��*��*�߇?���sI*}�G��v)3Pr̝:� �1z�4!����F�;ac�D�uM�l������,�����5jU>��IijY��o�|�:ސh(�v��l�zg��;��} 9���P�	�'7�q~����)�KRp���L��1gְ�d���W$��Q���?�k�ɯZ�ٜ
����:�J]Q�U�6[�ڜ�Z�̓0<�0�[�F!��>t-8	m�&��+	�>k����I�^R�~��}nc+຤��>
PJ��U�<o�	j��9q���k6�	:F2�]]Qw�ޓ��x��dj��ǵ���1�Eӥ�A]Rt,�8�~��M��5�i�Xq�&Q�5#�1*-<J�U�������)��@=���fQ�,5��}��N$�~��^y	:�T���U���a�|	�8XhQ�3o-a�!,�Mɬ*^������_�ݸ~��S�:
�0���E1T�Z����)�Z���_O����B�<
�u����f���/f��Xjr1�8�(YP5�TМ��遴߃�\l��O)�7d��u�8���[�J��AΫ�s�NSp�f��z8���8US�-�}X���뮋y���V�r�or=bTu*9ɺ���wn�4���R��8_��c_jE�`�1�q�f`���N���G��z`:�kmgyND�#wb���	��vG<׋����ex>�.ȼ.R
�~�$��Pv������J�1�ȏ�t�g�Ѣ��Ȑ�ˆ"��B^;Z ��C��̨���;i݊}`Z.
�
��X��,�{��N0_��r��/_����Nkn6�n�"S����f,K���Բ:m~���Y�zp�A���e�l~_S�W�n����r�EK�
�Ҁf�1���5�?��ٙ\�g-��i]}��o\ٰ~�ꂃ��/a��*9����ݖ'ה�{zm<3tf���o�
��K3��1_��[��=*�#��
-�E��O
�ˡ���T��8���л��?ވ����{�2��8���(���[�޵DkԔ�}v�V�(I�Zq�ws7��	������aE=5;��#ȯ�N&����:q��9}���ZnVIKd �g&8��p�r3�,Ȓ	nEYn��vPf�.�L��`��1�ѕ�we@w>�0Bh?��I/�v�'>,}<�F�Y��W��gi�g=���%׻��?���)3<S��`���o�4��zU|���Y\	�%����g�,�� ���Mv�]�$��[�D.��!��0P�K�u�
wS?�����)���*VI?Z+���X��ˊ@�����IHc�I�t]��p���暹k6���vmْ(����
��v���#�\	�X�@
���_��UG����~N���/�y����|�F��x�>Qpn=f)�@C�a�����M���߄�Z8��<��j�ZW�g���^gt!i��R����K��y����O�5|H	�V_2�T���?3�|��L*�6�+�"KB[U=����b���6����S�M�4�
.�7q����2&S�`1��Ms�<ˠ'*!b��=fH�A��Mp�[I�|DyE��+,-�F��ǧ�F��э�ד�hUB��Η�Gk<u8cuY�+/���C��3�Ly��x�k7��o��Lw��xтGj���G8&
�a:x
�%��l�n���y0P��g,q�n�DtF�<�T\��Z��!�3"��r:�~;�χ�.z���z�y\�>��0�SNŐ�t�t�@mKŗ`��8��$���u�빚�l-
Kz�n��ȈS+���;�9���u�M�h�%�h�lo����R����r��-�\��F�y�ŭjP�U�kR-�ҐV�T�,�}�pJ-]1�g�ޣ��r�)�Y!'���I�'�4���+�:&+��NO�ЮLO�*����(<
'�c]�x�O�X���ut8<<=S��;K:'��;K5���'/B)D��c*����ؿ�䷄��+�@��h(*��:)(�|��Y2%�}��<�g�<�	�b�u!-��JَJ�#�N��5�KIX��]��dt�/��|J���8��&�Ti]�j�rc02�M�+�k(�bl|�b?��M�ߊbf����O{��T�-XpI����܏Q�t#=��͠�l����I�j1⁶b��m�O�T�5�m?��T�)�˂��i��1�&\�^Tq�L�����
��o�<*����)���fwEւ�?j"@Jvt�̵3q���,�
k��2d���T�QJ�#�M���E��|�N��	Jb���r�J���X��,��IVsa`4݇�9V(9o��G���/y��ߍ���m�������؎:&'������&pT�"	�2Q�v��Y�x�Y_sa]8w��[�^�:��xX��X-��܁�t,�ߔO��U'��leO��?���'c�'���f2�-�p~���7k	�&Ԑ����q;�q�����m�{o��/rin\(vK��oL��*i_������2��S�Z�z�=8Nx�b,aA�A����]sf
K�ٲ?�����혮�h�(��&���s7�D���6M�Lx{�E�>
Ё�O�<�@6@r��߆�b��	v{�n8f�hA�T�]�1�Sg������ӻa��1�ʏ9�'����<w�X�0.tW����֬��1��$�����(�8��{L	u�S.�=s��J��P:&��ؽ���:y��<�닡���"�pwx�RV�E:����.��j�����L>��J)�^��(�B��a6w8�~�H�s.���C��P�/AU#�vf9yZp>H_W!���D�Cn�=e�>S���
�e!,���;�wn�2��k��j-�S\�͖�L4BI/Z^�%k��ˋ�:�ɲ�8�SA�h�L�(�5EeͥS�.��(gy]�FQ�+M�q8J�)P"���<)��$Dž�V��*�s�)32cgH�EX�j{�#���B�8��S�g�������=����P�۷��Tg�6�#͛�We�Rָ~��fœ�7+�h��rU�'�m	��O�v�U6�uҭa�"�ؚ=��d���Qu��O����d��[xjˈ�i�(@�WU�ɦ=�P��`�!X�q�JJ�<�M8��?�LUw�s��t�����w�3x�>��J}�N���b0*�KO���J��|}�
%�`{���~_���ۺL��.�*m���wT�m	����q=��
�׷�DJ�ь)�R�]dj<�f|A�y�c�Mȅ��X��g@��5���΋����K���:Ux^˺=n�ewy�CYb/J8��8R���~Tq�~�����b�-���$C$y�����{��-b�d�a[8
��k(�9[�뮼R��M�N�'3�n��̛\�:�!k�����d/n���]Dާ�1�2px�뙨�?��FSaFB��{oe���?;:}wܫ� ,P�s��.�%�]�[R����O����n�
���
^S�r�t{����W�¦��D�^�W�y�
4?���*�?Y�5�W�Fr��tU'f�aBu!Z0^�T=m@nK�X�q�^�L���|���O��� p�<��A��ҍ�F��;�J��pS�ZBA7�a��<�T��D>��.i������~�}�΂Bj[u�����>6G^%��'���xH0�U(����Tж��iQ�CU�7>�mЄ��3^�Ö�oox�\���ޏ�O���;�3u�S�\Co*É�*�>�H��<�D��)�d�*�]�X#����`��37q���ܟz֊r嗔(�����˅����E����w����r��#��.aN�n��fxM�i(q��-���*�	�Q��c8�j�_}�|I���=<<���_�]�����X�8�lh��7^��d����1���gB���Z�(C�)e᧚S���m����y��
y٥u���1]D��b�v�ے-�l�\�d����fYq�݂1D�]\p6m��9
��e��QCr^Y�%@G3��N�x�>l��!b/�}��S����/nF,vӨ41��|�
o�S�p3?�`�����^Pj)P�g;%��
����>�U+~�,�V���k�$�r*;�;�RO�R(k�HP�v��9u�rB.��$�pP9r8����[�G�"H�Z��
5T�DW�O���QC��?|4B݇�N���>�E�������{��h%�jX��_>dr������p���+��g��'�k12z�p64��Vs�g�ߵn�.؜F� P������V��|R@�W@�ϗO��IYݼ�s
���'ݷi��R�W��-�/�
�b�ShAWeR	m���H�	#
��bS-E�f1E��Q7!�V�
�^��K�IO��N��Х���e���V��VۨUDk�}L�uJ��:��@
��M�@��ɟ�Ӹ=���%Vc�=���fR|�M�ܟͼ������ț'�{:�lطPW�k� P�DO��׫�wn
�7�(� �Cr���E��$��x�68v������Վ{+XJ�Ϣ�0w�<��,���Z�K��ۼ�ni΃�����T�<�k��A�����(
I:B`ؓI�t���unj��t���:O��I=���՘є�z���F���ru�
*;؎�hƙ����FVs#3�f�r<m&��f���f�r�lЧ���e{��,z��tW
���G�-w���1*��6����Į�]�H\[�!��k?��t1�^87�� �a�~Rʵ��O��T�������p*�@���!p�&��#,,�(�Th�o,��a��_�;�׉;��a~:&�����x�j�z�Mh��.�_�\�4�NT8�;X�#�ŘwX0�F�i��"���L̢�T��`�x��ƫ�V^=�沤i��.��f��6�z�%�P*>9������K\AӼ2�@]yj�\�N<��k�V�q��?�B�7���ts'�fHT�BEYɠV���$h��5�6æ¦p��uPֆQGht���F{�cZ)!#yӯῌmC��(V@W,��6�%����VB/C���9����Iu�*�m&��j�aN;�ar�b��n\Dd�:
���;�p9�Av�$���BŮ*8p¿B��0,Y��C�L�g!��<o���
>�Rtb�>�PE��x���������=�F�SYc���`*jl�
�"�qFRr����|@5��l/��z��i�7ҟ]E����=ʞ�l�?Ðp�4�ǂ*ث��l�n"�j|��%�����ц��3]����߮ЮׄT4�,U
�c��GP3?�@D����ea���s5A^�<20�%��U�_�R�|��v��"�V�<��<*�|Y�'��!*#�MaE׻�kc�L��4r�QM�ey�1�L8��tk�R��0pMd*1(V�U������n'C:���&"[,�r�S��]��x�$j�A� -)�ly���o/����e���'Q
7��iIQIk�H��Z"�x�F~F;d5y�Ҝe�s���@2����u�s<��ο����A��#%+KZ㯦��ӏ�Y㲐Ÿu���fW__�Z�ϣ���5��J��[H�/�`�{m�(;h2���ڲZ$#|-F�n���`���,�rNc̳P5����q`f���T�^�|��G�l�H���*��ۂ���#믰t�!��u���r�m|)�s`tyE��1.�O�YO�b�_{�?�6Ś��M_Qx��oC��%�,�s��K��M��><�n���E���
9���#0]vY�_h"
��DTJޖ����#t�q�Ś��a�=�F^��X���A�$���6v?8��D�jY��zl�+t	�_�3�
�|:��/�
�ws�Mq��;|�[���׼���Wk��6{(h�	�b���߫ ����~]���3[?!X�ع
�'o���0�MRl�`��c�֊�|��$*�JSʼ���ڔ����DUWs�����ɲ������\�v���� �'��sV	Ք�T����NN���n���f�^�u��^�Ă��͆�L��|�+N��=��Ѫ>�<
A0gq�_Աm���t���"����m7R��/9d��oV���-;�]݂S��fѥ

�EP@A�S���I@��T��E܂�%-��b��p5D�4:�:U.56��^�v�c��-������G/޲gn�N<�,��^GV� �+C�n��NA�2�8�t��-!# �A�[>�nQ�84��k\��y�v�Ƚ�>,�}�G���?!�����)��\��/��q�@sMd<���7����pU��"21b�8��cm�L�w��k^8�t��3���K��K:���}�߽z��ਏ��#�BY^.&7bS#��3���Ctx��#)�V��y�T�˴@_�����(h���ܟ`zR"��]�G9�C���<���L�� �.����?+���ĩSP�_,�,���P�b�X�b
��r��AS���`���]��/"�H1�����c����֡qt�:��u}��b%1g����&��Gj�q]0�	�.��+z�A"ho�d��ٳt؋.����Q��*?���$��D��8ν���Dm�ы�D1��o�?������E��n7�X��&��|��f�)����X����R�
<I-�(ϸ�9����w�S��!,��d�a�܀���)�����eaR�HNJc��=iFT�j��(�Xi�ag/���i����!\8T�Sa]{x��i�a@~���0�{��3X���U?�0듛�7!\��P^�큷!l_6�=�������~�)i�Jm�f�"{�A8όE��[$n\g3�E������CIb�����U�c%H�x��>ϙ�.xq��D�J��q����e:=;x$�$�B�"���(�Jx�����}�vyr��o|�u.�8�~���ރ�UP54qx/`���0�mO��C��K�<�Ȇ�pA)WՅ 7*b�	�����P\n�H�����t�O	u�m_��b,�b�Tq�n�����%�C�j��*�I.�.���(Ʒ���@�)���������}���c@�K�:�Țz|Qg�ֆ�IT�|�1��»����p�ƀoq�w�@p�ȃ~�>*Ք�0]���ZF��T�N;�L#�兇�+O��[�F*���I��0:S#��0����8�m�[��Y"G/��<�_���P�4���"�.�ddo�gj 1+L��)��7��]TQX
��1�>O��#j
~)��������ۯ�a4y6�|49���D���������Uٚw7�[�ӹ�G����k�Nxek�_�=���O�m!~�>L�_3��/[—���5����Z/�X��T�GI�ѵ�T;�g=L.(�rV�\����Z�[x���u����|��6o�}A�՟����j]l0i�'p��_M]{�0���٣�䓧�s�M��'A����?E���B�y�LkG��x���4q����^P��I��^�ITN>9?�dN��9\��L�i���uvU�.�0�9��h_�hk����-�S���J��H��ڏ?w5��C�t��ԡ�:����0~�N�	;$l�IrR��>#w"A5���7$	o��S�
f����_��{����cN���p�W_���o��{|��b;�;��UUW�-���x�ZV�O�I�>N훾������}o����q޾� )�~����W��]Ğ�VV�:җ�5ue���?i�'M�@S��O>�>()[��P��_��#��e�Xі(��$��EG�ڔd���>�^�����:g�fL{>�S4��؋��H�DZ�I??���glZ?笣���K�����KH-]Z45U���_�,�P�3�_�{+���^�D˲F��T�{��xofٻpM{��c��@&���j׷��q�>os5l���h��+vs�}������|٪b��QqF�n9�M�"���7w�:���Қ��ܞ':�M%@t4U4{€�Z;�
�Ÿ�2�,���م��1y	zE.��8�f��܆X�G ��pb!k�����A�n8���C�C��Y���:Ը�@(|�a�=v$d^��2��b��(�	,�D��j�DI�<c��9qd>9@U�9��3�����>�x��S�(�`{����P�Ne�T%'`5ā4=,ğ��&mܦkn�a�׊�$��9��X�)R�x9��r�<�[-q�7i�z-*�z#!>��1ݎ$�8H�4�ɚ�
�MSc1�-~��F��}����S��.?��V��)����4+_��t4��`1�<�����cb'&H\�cy�27�)��m~�ґ���
�Ɣ$���|b<��Ams*}ߡڑ 7<YW���IJS��C��]	���ixed^��ʚg��r����M�<��ۜ�(�[҅j�寱zq�گ>	�x�`6ƛ'�;A�V��t옛x��n�M���-��YY�w�E+K���
��sJ�Ʊh�xd6l�tC�}�a�Q�P��|i�t�I�?v�{�=�w�!?��1z<�����5�fm�т�c��e��`q�?���������j@��n�J�6ux���>�`��xe�ҖW�8���A��	�_�����ޘ�xo?�af�X���-�2�Y"�ЪفN�jNr�FE�6O�cy�9����iy�p�q�N@��S{��n��`��N8���B�-�0�Y��*�\��D����d��6�*�ZᶸYi-q&W�I�'4���<��@{崟WzX騨 �����欦,;��`�͆��;���NM��;~"i��Vk�*ӡ�;���څS�Жo)�$�.����v�F�1}�Aa��d{��X|ST��*���N���؏)��^���0號40+4t��2d/P�|:ʷv�{.���#�[�܆��p�/7�,ǡ�:.J�(e�_S�,(�c��4��x�u���uW�~�}�}�����/\tI���������I���Ż�N�G�����5����Y*zVɆ�յ���:)�G�K�ս�n�����_ϛ�5z�]v=�z��:nBaP��`t4
c!}uBtU��/�"X:p4
����6yٹ�%��'#�@}��
�4�Ҕ^3!}=��2&��P:�2U��BEH*B�Ԑ��I{�� ��I{�")�:g���ت���o\��l&O��9�p��u�3��Lbo�%坯�΀d���^:�k�i8�q�����B�2%�Xbt�/�@!;D��H�����";P�Z�_"�o1k���H� ��=��]p�~��f�I� p�c� ��qs$F�E��QeԐ�'�|͚�y�H6-�Ӭ��*�#�����>�F���	q:��s�<����"���a���bZ�B,����#S��joo��~:������f���MG���z�q8���i]Ě
�!!ٝ|8���U�1�{��Bg�|��8ȝK�Z���<-��(}�}�����	d{b����J�-�|蓦,����.���|�n)����*O�,��r۔‚](�Xywh��e�����h6g~�n�Q��#AFR�����\I駎�Mc��������"�/Рq��*1�x�%�DZ�;��z�r!�xu�ƙL����vaڪY��j:�rq,���</�p�qF�Z��@ϲdyq��j�+����1㉸�<����u㹴"�w����w��0'`\<�׋)B��ٝ�j3�Ri��y�<-��[���Ž����ͮ�%#�\bO�0�!��r�Ƀ�U�c_����{n4��7\����RV_R��J��[w��@�k�����ߴ�F��ud�E�ܲ�D�7Q��[�ņϺL��E�៪��'�A�M�?V|�n�<?J��=����%�c���I�\4�X�TU /BG�c�<oL�`���65�¢:F݀�4��7�x�qm4]��)�Ÿiz�UUnTh���D������a��k��K���>qⷷ�
ӱ
�Uu�2u�B6� ��Io�tZ֍��Z�#^G�>w��k�DFoHW�G��lY9r��wu�t��Ʊ��Ř�8��y#ؚ�M�/aL�^=}Q7�qYb��h8!�2����Q
8�ѮX�1��X��U��c]�{��繳�nb>@'�x�Sg-N��%Gm7�M��I�mTŌ,6�E�+�W��#�[h�[:�+L��[j̀
(�ҝ��2�ȗž̘u���g�BS0f(�7����@�ao�4���Xv��֚;�#��5.܉��6�n_jc�F��7G�b��V(L}�J�1����#y�8g���+���gݘ�=0o�<���(���Ԭb�t�b��-��Dz��W���_�������{�8�?�`q�������~o^�o���o������q�n��C��������݃���~?<���K���7�Mk�Ɨ1�)0�}���r��������j�.��o�����Lޔ����uɺ��Y�at��?\간_��?�������o��F��#^Lt=:@�:C����օ�g20�݉��@#{��{�@ h�Q�ϓ��Ǒ7�x�|��~���$�K?����g��xa�(ߛQȨ^~�����χv	�����(AAq@R�@��Kbk��W�.�.jO�]�������&v�9_/��-�>���Xv&�<s���9C�O&~�`�'G
Vs��~co���y�Η/3���gs8�����0��]�O{z��^~�4���^~�Ջo���?}����?̾���y�Z��dG�
�t�s�<3����2j��J}�����0\}�%�p�4]��c/z�Q�$����^���w��w�3yh�	�������/���̯�����߿;��a�����K�~����o]���~��w��~{���A�$�X���=v2��B!N4�d1�c��ݝ�?<;d˅�\�CR\�u^y�a����y�=vM��bYM:�c��[	=W�4��4J�eh<�����(iFhT���۸+�����UV�q�$n�x���'f��ErM2x���LB��.���z̞1>�����h��#���{arV�
Z������G�p���p�r1�����z�U9�ϵX$ʂ+G7�ӏ�8�C�}aHk7��ad��tU6s�t	Q�A��)���ϯ���ĸ�^Ozl.q�(*���Zx��k��H����$f����i*c��
�%f�ԓ�mj�ִ�1�B+�j��Q7����Jr�`��0�D��f­Ѳ�g �x�
�/Y�p!ԟ����@2=�\ׁ�,{p�П�{S�'9��ԩ��7���3�`���a��#�@���V�ǃ� \�'�^��C�����]��kdZ�r?��WG��[�p�HHw�A�\u���(�OPf�e�E�)Cwl�&��t!꥓��1B���d�L0\�*~[{^6��U*@�t�s�7�l2�ϯ2�[%PЅl�]��3>kLz���P
Ԗ��‰�z��cF��.�`B1)�N��B�h���p�3�nJ(��A�K�Bw]#��w	�Ρ�y
[B��= 0[���Z�v�5�G6���@��H��D���+�r���.3���Cp��T�S����p��zDr��&�Ar�u�D�,��7�r�(�X���k^�.&|+�~%�?���C���H�V<W�5�	ɣ'��+B���Q���^��%Ӈ�sx�yNl4�*%pz�|���@7�o�h(�y�U
,�e����Ƃ����.q!%����z����-�̏����>����C�9Ɠ����OUŁ��.��ddUo��`���m�
�����g$�TP:��W�׫ޥ4�=3�~ƞ���XjՇ*�uh��Q�R���|{�
%���1ҕ+��.���F�-SB�}���Ǝ�c";�T(¤�-{���`�9��X��t���{پ�N:Nί��g��7T��Ld���q�[�f��±�t1�eJ�+�"H�(r����Hl7����%9��`\��%rO9{���:��cH������e%��V�At�x)��}N4�B]�%�x���ℱ�9(�+X�<`R�7<�����qVh�H+�y.�������R��;����l@�D�hɞ���ɩ�Vz��F��:������_�xA���X�����(�c}IE�Z��$|zʉ�S����a�l �0y탞\�XY���6��l��V+Ti#�Qդ[���I1�S���>�8�(�r������=�>�����3<E�*s+c�C�DXӰc
r�T1�M	eB ��)C$�����7���ȅ�!Y��s�e9�ݎT��_^�!:^.x-���lcސ��B�L�m&ڶ�+�����^P=\շJ�foq\��;
+�'L��>��ߐ��<�`T�09M<��)��x١0������Q��o���/:\��x�O��F.W�e��.�U�Tg+�hʴ`�[4U�������8�����,�������A"�J�b��]��u��ES���5���gh�'�:���Cg~��;v�$ܟձ�Jߥkqq��y��f���f]z)�+��wq����S�P���m.
�j��\oO*�c���l�q�FCV�?=���f�
q-=�RS��-*ƽ���fs�L$��Y��7v���J�q�J���7^@8���e@
�-9�3^;o�aU�N�;�0�.�����:��l���k2��;��)�eLQ{ك�������}M�ۃ-�y�U�^��az�����_lN��'����:)�'eO[�մ׭d(��#;�TF�Jڦ�S��8��a�#�/s�`F���L-E���)�G�TQ���V�>(�!�*�&im�~�#ڔ�7S{����%a�;���&�ϔ�]��7*��^%�gq�eA�;+	_��Ԙڒ�뎵"�X�b8}��
��C�=[�IU��r��E��)9��"UY1���y�6goN���-`)3��?��؏�ѳ���7��'v���W-X�\�3ӳɂ�9b��N�hN�0�ʣ�c��d���'��Y |u�B�����£[��u��zFZj��FZ�����3#oH�X8�5����8�s�Q~�4����i��=�?1��r�M"i��23H5ׂ�+�fuv��}�⳾i����U�v4{)J��Kw�����~p 7�ʥ֭�����fw��F89���I�x�A�������#�2Q?7���F7�&�B�f��æ�
��Ѿ��;����،��EZ@h[ ���#�C�G�c���M��Q8�1ݵ�?0bG�\��'�ѝ
�\����L�=��m-�z5�e�r^#��`HO�䵄H5���~�롢U�ڰ��RC7LŢ,��o��zjp�̃3�T����eʐ9�n�~nk�Z�+�#�����6���m!Q46iU0��w��gt�-3v�,�ip���	��?x�R�򳍡���_�n�
=P���/�džuZC>�_�A��)����
+��G1���MR��l�T����t���V����H�`T�Q�
`��:���� �
��x�W�W�@!����b�����hx㙁5@�=W�,׾���@��8[���PU����t��M�h���c�Ji5�Nz۰����+B�.�&�����6�����"�I{8�j��b�4�v�<Y�?�_�5ݦ|��G��ln�IK��k�;" �>2�c�H�[�h:JRy�]F�B{��G4��9������s�_F�F�@!0�>\Ln%IG7��#CAQ��Z���(P�'c΀�$��|��՘�jz���%��8������g����޻O�<{ �E�jٻ�j��-,P��U_�܄�s��&�[��������7k��ܾ��9��(�r�@S����o���|N�p�!b�n��Ck��?¥k/�ѓ�)?
��7�Y1T�1�U������i�9��/9u�E��)7�ωL�m)��U�2��ڦ4�	G%j���⨁2�����w� �Z�QzXl���^ɝ��E
J\�թ�5��4H��5�I��[5:fl����#�
`YY!�%�����p����Е�3|���5-��R���U�{2n/��w�ZUE��ѪBK��6�:ٜ
���c��Oɠc�/�˙t�J�΋� �f��Ɠ�7w� �H}�����^�x�m}�|�t-;۶�>[AB��b��E��nG+�>���:��_ā�����S���xn�~v���$�$ݺΩ%���#�_P�l�>�=Ʌ @9K�RR�B9�p��8b�x��������x�v�q�.�^2�t�ח�:5�ͯ��p4oH�Ք�w�w�T^A;�h{Oaα�*>����Kɍ5�ޜ�,��)���{�����v6�^��]Fƀ+tН��%�!��Q���x4!��9ƭQ�IY�VG��+�Ƚ��>E0��2O��\��e������S��g?�+���ыr�(Ax�1���T�4y��Kġw<_ �L+p\?0�5,W����C��A��8���00-�Ke�
�a���;��Æc3������'�O������܀�~�K�\y��(^{(�R��I~G#.M-���`�d���7@
Y� Lb)��z�e���V]Q�Ќ����`"t��_k����;?���#�,>Q�A8�iM��p���RL���o�I��DͲ㨼8=ʻt�zQf�U���/c+eQu2���r��J&���BN��[���E��c�!L�aa`P_D޵ײ�9\�&���1� �2/MA,0�Hp��
:A|�1�v`�p��B�����y�Oa!��,m3�?aY�]�A|���P'�py	7�*�/��/��˲�T��N�g�CS-
�B#��̒+q*	�A�Pk=.qAz���o]����ٶ�}���'�~g�ף�l,r�ً�>3����{R��]Ӟ�a0�&��MG�`��0��)��{�<P��j�+kqǪ�ɲ�0�2����w�I��Q��I9td΢+3�����`V#�1	�y�T�k1UԵ�E�*�$��d��-?J(�\�_x�2�*���K��T�9�wx��w~.~���3�-��[#�:���4��A����G݁y�}�.W�r#����X��'�Y8.�YM����P	�+��VY�J344���z�N���b4�mOj[��]+v�^Za������nt �gK���M+���9	��4eB7����\H�G�H���RfR Yo\3Z�޸fރΖ���~R�5�/H�Yn[i�V�:������Q)���s�91x��F���m�d���I�C+7���&�p�9u��/^9=6��w�h‡R+#�d
b�4e�4$C��~,8ԦuN�9.���(��m����{l#V�<�����&�������탛<�X;�
�M��]*�ҁ�L4a�,,�����X8(��҅�T������N籵iі@.-�&�bb:Y�����	%�V����V6�q�_zgl�h�.b�)UF��_/�)���أ?�2�u�R��-\8/�-��.�˶�eK��]���w��H�[�J�Ҭ�6j��ʗZa��*{�"
D���ooO���'��\ǽ��UT�urM�^_��}e�T��
��a��U�tL;����]n��$�`����K[��D�j�����˹��l��1�g�;��;����ez�ke��.Q��Q�>��ѥ�H�x��rݶ����v�g���xG�} ���q0��Vp7��
u��	U�Xid4�Ue+�w�����n�8�3� ?�8��f���W`C���,S\�¥`�7����`��N)�����2ZCw�u��X�&:=+�:O_Z�֊ܥ�i�W倓���D�}�U(.N�� pJ�x���	<�Q���/N�:PJ�$�Z���Yۢ0�vMŎ��D�J�J�ܢ$���{������e�BKOz*�\,�S��	��ә��*A�=���7�x��X�իF!�gΟ��}�޹�����ˣ�?7=i���.�.��tN�U�a��(g���zUkUo�I��J����N폧�t��I#�f�s���G���!�KM����퍛䴟�#�"t�~��w�އ��	�3��w����q�Ί�Kؙ}Bȏ�9�m^Qs/���W+�WKJ�V��6���K�����NL�otU�acl��I��mp *�t�Ֆ����.<���U�]%�pgy���Q�X��P�\l�yM�Y)	�f���/ϛ�QQ����ϩ�Y:{���~_�?�7��"�"h����fm2�A6�LTq�s4�>A�U�멱`�zJ�E�'?\�&q�ō��@����E
��;M�<���D��tو����+MMF����%���T#4^�,l#�NL9�⥱H��7T�ކ�Sb!	4n���y�K���w4
#jCq;�F?Q�s��9Q��v���c�NQ�<�U+~�*w�|x	F��q��͇n�+�	�׏~�V"� !��e�����J�-��N4�祼;
�D{��׸���5��0��w�d��2)͇�<�����\}x�G��Z�N)����Cb$�7N�ໂ�L�IR/�4��F��R 2��sq�͊��{�3��I���Œp�
v�L ,�"��Hғ-���;�I$C�`|Nt��������-,�).7��c��4-�F7��a���s�G^F_mVjH?��f^U;�����1�VKV�����ݺ�f7X\�:A4@�|
��3Jl�0��d�b�k8�t��Vv�q1���0蚵D���QP�Fh�I��M	Mq�EPChHQ0�����>�#݋:���M7
����̥�	�yM��A��������+�#v�Em*jF��ٔ�j�lm��yX<DD�%���_kO��)�Mv��
g�U�&O(ܬ&w���2�?��*�H��5Mv��y^_Si6Am�ۆw5I��K���>Y�&���gt�"�B@��'kV=Z�JMR�,������Ȁ�)�pg ����JOy��:%�[�Z0kK;�͔Uj�"m2�jZœx�A�O����A��`��W�]�ձ�ޭe�X������%u
�M��nm��ʜݔ3z�g�F���kE�Zo���J�<�R��M4O'��]�
y�]�����fԐ:����)~����Ia�mo,/9%/~]
�ɸ����l/�l�ړǭ+O�i�{�i��‘��}HS:PSM�s�E���g��F#?N��/��3�v�Ӧ�Z?��N�o]ߠ���)��i֤C�Dn��ǧ��ph�Ʒ����N�n6�~:�B���)@��aZ��̫U�f0EN|�[8g�*z7
#�Lˁg�u��"������Rq����(
#�X�|Z���+�87�x7���Y�\f�@S��v[;�o#?�H�%���E���<\��u����,8�˙4���T/�hE}��ں���IG����߈*�?&��(=��&W4�N��}+E�y-��?��/�l���0t���|�����9�f�g!&��������X����S&!_<��o��dzT�)�RK��M��"|�L���48�r^v�����og�~�BGy5����
��}��I��΍�Bs�j0��_<�F��o,ɘ�r���#���k��7��^�"�P��[z}��u�W����}�Cr�|��R�2��mjm��!�ꣴ�"��ӔCL���Ql�T�Ѳ�	�6I�>.�n�K��m@�x��N4L�c�g;S�o)$T�c?7�������m������=m����w]c�t�����j�@��/�ä�����U2�ou2��Z+Y�S�.��c<,��	�7���ؿ���L�sч����v�z]�n��ٔ���ZV7�Rs�F(���ߌʃ�T�[���^O�X��?���^�����5=�m�!�Vjh�tO��m::�^��u��|b��X�R$�����yt�9����H��q-�%�4�
&P&��ܧ��mN'��>q썦J?�S����j��$	(V��4������j�9�l�U!�v����b�O*��U/U՛�z�Э������}�;âG���I�R��!���j�Q�;�x�j���A����f�Ova����H�M�52ERZS\�tʮI_�'[�
'�l�5��řn=����0ŚF��ۺ�!I�'3���8ϒ�~�]�/�a��j���,ɝNK���^���6���t��U/׳��oO�D�H�E�1Q-��3�|�^��a;��C�G����屖r.���X�s��acg,u��,�[����+�u�T׎���Ƨ�?\a���/�jy��9�'����2��bK�]zX����(�a)7Z�~c�5���a�S�mE�JA���ۧ�I�I��b
�s������k��!M�&��	�Reg��hW#�D�|����@�B�i��L����PN�(��B`���3��B?���y�ؒB)2ߎ�c╢�?�Ҟ��l�\Ek�p.u?�T=b�W��w��)�	
��
6�D�r�-��#
�䒒�h#@�,�+�{4��8��+&��759���u�ƄqI���({����Eҫk.4X*�F�hWPl9���Ѩ�`T. �E��i�b+���j�r�(�Ҳt/�Q��1≃�1I��S
>
�eW��L�D��Qe���#�b5<���w7O��t�]���~�0�bsg�����c�Z���MP�\��&P��LZ�Q���B�v<���ğy��Ĺ���o���!r6gS�b(nx�نK�s��}p����9���1����`��&�fM#0���K�e�o�	7��t	;��_q�ơ���[Yf`&֌_�2��'o����#
�0̈́:���~B9�3��C��~�P��ܘ�{`-N�+8���уH����������)�w���6��ۯ�xE����J˗�,���6��H�q����v$�wd���xq���/�"ּ+Ӕ;��V[��7n�9�l�+��y�\{�uҳ������vyؐ";��l�4��a�U1vu������N� dr����b
��/9}�[���J�'(:�"�jy��IȰg3z\U��ЀZ�ӏ�y�Q�RP�"r��x.����ʎ.���5�p�j��C��Xsh|�!n�1~
��k����H��K,�R�F��0�}�Mo��t����/���N�t1��v��}�Og�����|
��^�Z
H�#\���o��̪�f��C�3��v��u�?�U f�l���)�	��i���j��I��{7D1�).���?��Eg��������Ô�aa3��ղ�	G�Ͼ��'�3�0	g;����b�z7�Ñ�&�?!՝���Ա6��E���5���6"U]%��S�'��	��Ee�=�����L���?_L݌S ��~��I
,|�ٖꅌG���u�6��d�)��1�ϣǣ�v)�G�]�	؆�#r�؉l������$�".9�(M��Q��x�€MR�"]z�{�Ԧy�9����1�D`J֥��1�3�wΞ�Z��q~��dm���t�"nT��ħ�V��+l}�p���G8`g=�����g>�k�%��-�3�[S����'5�f�6��u�W��;��_�[� ��\gUBS�_X_�����/j���3�
b�o����iI���l����i�s
��))�u6���\S�:ALu&a�{Q���Q�O8���1�;�(R��h/FK��#1�X���?�5�d��>�/�bgs��1]:X��� �U�����E�j;v��ס�
t����м"o|	��NA@��ģJ)^́��{LV?��T�>0m�b��Q~�(�t+��QU!��Ns�j�];����.�0�:�i��M:�Taʝ�?8)42N`/2�,ї���ѢK�N�5��-��?�{���^ ��S6�>�Nj��
��b�[r�%jno<���k$񨫫��'�1�y���în�"�5JAM�2&���;^��|�n�c~����_Հ
��R1��2��B��Arc�E6��|���<-�s�npZt�􏕾2��h��c&.:���Z�X\M�Q���(�[�\#���x4
S�r�<�.��̂���v�SoZ��A�P�4
�P�8s�q�	N����nL���.58	��ڙag���Gx��^A.lK��&�˾8ѡ�f�!N�|��꫚���KN	7"������|O�S�vH�"��;=�	��"��:|���}�o�%�,�R�!h�����FTj�o�ޗ�;n@o|��@�H`�.�g��5a�m�|�<�}*j�4���X�S>Er�0�¹ӰSv����kij`l_�Rڍ�����+�z�x���[�ф�+��hyQ�v�T���f���b��y��-+��z�_٘�f܍��
	���W�a �)}]�j�BxAz���x�)C��(t�,G�¨ϸ����g‘G"
�~uD�S&rQSbX8�9�/���
��&�!���X�Y�y�i<�RcdBeDh頒�	�F��N������m
&�*�Ɇ��C>��C
���E�X$�u��i\�hc���w����Z1�j<�(�ڠYj��c=�f�;�O��.*>R*���$;"������%p&̎j��8��e�6f0��r��y6��q8��J\�����Ч�sJ2tGaC3����3e�[`��ն�굁���J����tal�ۛpJt&H,�m+��E!ou"zz^
r��=�g�Ls`�,H��D�%P C�u�V2�L0Յ�_�N��9��7b�}���x���*nKb�c ִd��6�:HTh:��F����D���k���ז�F��=����Mc�3[��ZM>p�6�<�	v�eʣ�֟.)8�3@]��;�l�rI�l7k�~FƟ�Y�x�-�+��y�0�8a�㵫�����^F��x�Li'��$Ɲ��С���\B����)��CW˿5��[X�w
+�ڟ�������Sןi�}lG*��ә�W�Kθ�]��\�-�p��9��M�aUk���T������ �k 㾍C/�������s�:9X��X���("ڀ��
jZ��G���`��+t$ū�y3��/�٘V��D�)����w%��G��q:(�2����]��l���m�D�y�.ș:��M�@���0w��7�[�"Kvd.�����-!'��߳+�a8�3��#`�TY#M�}��FT$��'�F�}�f/�%��%�#c����o�b�d:mL����i���z0/����Y�3M>�D�w^c�c;�	g��h���)��yl%�p$R�W�1݌o�lm6�(�7����OȖ���I��V֠��B%s��n1�6��l�/0�6o�eH`�+=��6�e�s��
)
���u��.�Q�~�Rƻnl�..{G���qvb�n�.r2ҽf�#�����Kvx��:N�Q�h�붇՜Ӧp=����;���6��Ř�NW�@�ū��b&�=��:kH�!|��@^:ӗ�.t�QŅ��q�
�K�RY��T�:R�����gf����o�)�+������Q)kTlHA��R��S�֌��.��t��7D�?����\����j�ԙ�4���~Bd�i����V<�k��rx�?���P[�*P8k���s�p>���wioFo��/iqspac�*Cx4�$H�OL�pRMcz��b���K	�O�^]�
!)b��=΍u�W���ǹmރ���x�`�׋)}3q�+w���tꍬ���}�C�'^Ќ�K���敺�1w�=N�M����
��� ����~X�ڨÌƽ	�uyy���ju(��
��x1��4��:�O����� e���EX��";�vs�j�"q��	&���s�g��5b�a}Y�V�{
U�!�
.�@g����S#�0�[a�a\u�����α����Vy�@�Y��fU�Aj�R^�n�*�Ӻ�[���Vq�@�d>�6c�gVi��w�o��0[%s��,�R�'E7�	��*��X�x���H��R�q�;;FA�}]��:��7�۲X�Y<�ʠ���A8׼ϻݮ���i��a=xs�=el�D��WZpr��v
�c�F7ެ���S�ȡ�&�O�NN�pxzz~���ѐ��q��>Ћq��'bs^G]7o����߁m��F���+Y \�h�uQ0|˟Q��ؙ{��×Z��_?]���E:W�����0�d���+�~z�eyx�~�-M�9�ݒKBG��pN�� �aV���h���EN�/5؄�䯞����A:,��Q��	}�μ�TF��o,���J�)؃0e�dҴt���]�&I毞=�����~�
�ɳ�������TY�d��A����C��`�-����*H��6ݲ:��6�����%�W3�sc�M��K8���M"D&"��I#���%�q����9�ֶ��`�Қ7&��=����o6��p��,��Q���ř�v3��̳}�Ɣ��VU���~\̕B�����O�.R:�WYkFc�,�َI�Ű,��2���s��\R��s�d�d�&�;O���H�J������jB���m�ҚR���v�؋G
�9dTA�J�q������Ci	��Ƚh������O�@y�­|�`�AA�������\4�|%=5��e\Q)�Eر�hu8rK��x,�Z��2;��̺K,���Y�vM�<ٰ�U��R:�++�V����lG��R��l^��A햾U1��[�*t�28�KBH���KR�h���?7���}�?���Mm��TtX�]�$ܓ?n,CO{��v��[j�Yu�>��n��{q��kN�y^��6u.,m��Y�pp#�@�ŴtyR�z��
������'�*����wa�Fdφg�&�cy��o2�	/�C��S��ֽ+�����#�ǘ^b9��.�ǑôN<�H("�ԛ����kr��_%_j<G_{�e���eD��]dž�T��*���q��~�+�\J͸p�0�e�M��L��3�m����7"G�+��B ȗIeA�Eտ�*�n����^V`��Ԃ��n�e��b>6!�ih+u�0
�>j%�7UE�x�:A�d��Jˁ)�eI�R�8g�b��q���b�\*
���s��z�Ԟzj
}�o��;���5�Mρ�E@W0hO�$&�֙KT*17[e�Zd���t�U�����m�5c92��:P��?�a�[s����'�ʣ���7=W@���^�Z�c�.>HR���c^m�SXjk`l��Fݫ���G��f>�Vv����J�
����gD,��4����I���4e��4i��	Uz�Q����$�&$J�#0�5���tϮLW�y�L���|F��xj��`D�%�l��N�
8�0�n��k7�BV��6�g~��ǧ0��l��b~�s�)2>�t�D9��r��S�͇�Yo�L6.�E�\���i�����H�bJ5T�
L��r	����p��gq��*Y�d�.!�n';-g�xu�}ʙ
*�� �L�	z��5������OI_����D�ӕ��jp��	��'ix�a�p
��:�;��M]�o�R�n�+�2J8�C��i"Pp�9�׉�(r�����N?a��"�%
�H�@YQϤ$.po��V�۾*"��&7k�t��3%x��]9~�O�f\k7��vG�q� �3c1L�ЌdD-�4�'4�����M���)���۰巋���e/�~�=�rNi1I�1�7t�����U0��ߔ��B
"�Y�S��I�����]�rp*&��(-���^�)
`��B�/4��JPޙ6r��ȼc���`tF�R��0���Iw��}��}���\�9�&��f�~<�y��ծ���2���ϡ�z���j�9��Ow��:��%�ӅjL-k���F��w��բ}֕�d{:�������J*S�1�#:�����Cy�XZ�
�d��v�wa�w۽}f�,�y)��2�n1�`�xd����Ԕ�K�:~ ��< EM�Ci
P�tM1*�\�u4�뺋i�a��h��:���^�[�W��	I0H�o��F%~#ScVa�M����^,׫��1�s�S7��o�UѦ-�rb-��r�B��B����C�mc�.&Ht f�J/EsjF�wÓo�m�'U���ͻ<*�=�@l�.�8�����Er�dJ(?Z����T$����kB��)�`������|���;;nZ�A�Op�X���+�^KD�z���nt���
���҄0U@����ɠw��Z�����
_�$9B�&(�xc��z����6%�PJ�e�h�k��>S�.ђ
��p.]��ķ�� 9�6ڭ��+�
[����Ѥ0�Xiu�f�;�?
�O{dQ�����@�>�^&��Sl�J[b��@6���"j��v�;�;N��\�ȍ���yQ$���j��ip�o/
E����}8���N�ծ>xч{�������1}O�7X�c����e旊�3�g�v}�hj��Փ��B�I:nƼv��k��_�5dYL+*
q1��$�Je�8
�P�"#�
+�r���:x>�|��7�t!�hwP�%��9���]�eD����ѿi;�k�(�_iQ�8Fa5Ce�Qb�k��c9��>���?E|��f(��9^p��
ś >�Il\?˖2��7���)�S�o�j�"��@�z�Ia���y蔓��h�o����-҆u�����$b�5U���܇�=��$�<�HQ{/+D���*x_=��\e�O��վ-����?I�%�xP�*꣇����㶣�2}d�a�:�59�\�e�I%ijAhA
��D7�cy���Ԧgh2���1* 	���0TE�x��~}MUg]�y�ª,Z|�w�֛~M��:ӄ�E�b��s��ě�y\��ȏ"ϊ���xz]�T���@wt�Q�p,��?o�tl^㑩p�|> ���o�'����ЈT�(Y���3]���5�����F�F�����;����?S��f�6�_=�^��9l�����J��Y��m�'���Z_���v���[D�l�+F3D��r��!���3M(���a�����9�S���s49dL\�a)��x��5�c)A��<^��9�9��b5}��WEc�ۣ�)G���莞���:i��H�+�|3'�F��js��g�Vu�x��SvMA����?��y�(�HL�=U[�_�����n@3c^�O�[���_�hR4Gñns����6�$���y_�1o�
����B����=���c�0�U���bz:��-�1����"��QNc�3i�K	_��(���Xy$;j
�z<V��c��G��F�V��!�I�>��ǎI�'I~:C?��w�t��m�2�>Hߓ���[9}?Ub�EohA��X��[���1ƙ����O����3�����
�b:��bn����K�S1�:yPXA��B̮�e*[_E۔6���	��_Ke��Tד�ښ����g�um��įQ�U�Ph���ǬH5���?���b�Z��uX���hCiȒ�,��3���<�u����]-�i@�m5��/��`?tX�8�D�/��I�Mg��
��׼��4�0�.d(i'ǟi;�+=0��)K`��5;G��j�KNw-q�Hpk��w��vz9�j:�Ӳx�z�k�~2�8���ga��+	��@�eS�yL����sD�������#�~K�Y�:J��ԥ�[��l�#�U�{2�a �+�A]d�؊|]]'�S��	�Ky����|���^8�j`��)�B[6*K�<	-ls$$,2*_�HY��^_-���^>L�v�Cn�6��a]K8��Y�"Ņ[X	�3F��B�FSgg��D�Fl�y��f�&�V|s�u+�rE�ZI�2�JTz��g��~�$�R�MD�iXE�_�DF�o�l�=�O�����Ża)�ω�Xp���DS�tꍒt�h.F��=�0�.�C��u��08�`��wM!2����rq�J<��w�����0N>,"���C���`�b}%�*޺E�)�����؅�Wr٦��Ek�ݻr�>m��ؾ	C�xx\�1������Ky��O�O����g3e3��.)��q<��"U��T�-�>-H�wדּ���7�4�B��9Wp��Xz�J#[����ӟHX���ÿdh���x����i ]�*��a�'0�&���ݾP�y5d����S{�1���"�:^:2&����1,�P���h��yK����"oq�fp�U�d������{w2����1��23#}3`��i]�w�"�&��|�f�D����l�)��Ӄ��wb�k8õ}���@�5�-��[��LX;�<zHA��{_q��r�*7i7�
b,�����G��7x�i��3�C�bf��Y��_� ҭ��cdFgZHa�,w٢Ԧaa#�bM��l�q��l�Jbd8lPA�`���8�+�:L��w:�h�?i����0�*�D�,^�J1`��DŒ7�N]?���]��V`3��5I5T�	U*ذ�I���6+d��w�l���)��p0��^���,k<�#�pNG�OEF���6����<V5P�=C
�q��l�J\��ګ{�u
�T�s*��^�i�5�)��6�'n�,�!�����O�p��V�O(lAL�����n�}��5B�S��=���B�`P�/gj���?oE�"�5
��fpU�j2U䜡�em*KU��N~���I�_U��S�~��8${��(���Eջ��y��^�L,�����J]�؃�<=��Vj*^��u��V���)�IR����>,^�ɯF~s9;��h�շ)���zH�5+-(��ȏ�1�����FW�s�I~D���K��(���&V,��n����c��9#��]F�S��ݮ�����Ŕ�J��|}w�o���n�	䉯+��ҵ���8�7C<tdn�x�*��p��A��M/�ھQ��"�:�d��0�Iic�	x�u.��A�.S�h�~�PŮ�5��T�S��\*xn.]-�4�at#�ͳRp3L�.�#�h��Vǹsī��ÛKnP׺�Z6u���[m���?M���f(�-�ȇ>;ڝQŌ�EI��i��pJ�-�fs��B�MT���=r؇q�����!��wp9`���{�Z�u�E��-��"���Q8��r�o�z��ωd��O6B.jٖ6z�9Ѯw�`��ͬUոMA��s"b��I}[,+���Y�Km�>в/��-L��v/�G[*�5Rɯ���S�^��j]wJ׸��������÷�:!f���d�����p�c9�	ϩ��a�u��r_8\�jE�ؤ�;�7�T(=��v�ͬ�q��|.Ig@�(�Wq��;���U�|W3�{x�0��GY�V���b<��${o�S��$[��K�lE�ۭ	j�G�(�o�~���W�~p��ӱ����J���S��6�F%0},�k�a^h��u��o0�������wF��MO�9&`���5r��j17ܲ%�;o�c=�@�K�B�&'DZ�(��F�<q���쁲<<�׾s�Ƭg�
��(NB��.1�O�q3A�8�=�ѷ{�\�n�ţȟ+��~r�iqՋU4uݲ2�������o쐢[�-��sҶ��u�G�����6o{݂{/�٦c9��ox�Uێ�1�3�s®;|K`l��[D��7zʼn\Ш�kϣH8�"l��Z��ڠ���=6fW'WйF�C�tP�(�!�cz���֫�!��X�Gm̍b �RƳB5Z��c�
���y9�jPV�r�5��?�7'�W,Er�E��uCI2y���.bC��*�^Q�����)V�\�E���EV-�e�!���^�ڙ�B�9)��r��]�k���sTh�HC��������/���_�
�(V�^U�']� ����WLF��[7oM���6��+
un1��P�y3u^u�q�?Vt"���$���x�8�W����s��9���&u_<�hj��?P{	�0C�SOնʹUaGm�i�QC�lC(�Q��U��Api
���hė�zrWh}�@�����i�
`Q��t�G�$l�Ŀ���15klj4�Y���B@��0�`�I#�;���T���NO;�Q~�tN��j�Fzqx�c&ߓ���)���_�+�q�^_���"	���]	×P�B��hȠ�D�b>��$��줾��3��aS7N,��N��<���8Ug>W+BC9� ���[n�w
C���:~��`��e�W
��|B!Z����Ѩ�����vz�����7�dO\�X
� 0��E�5�����D��WG�~TOI����7��nIv�Z%C���5ݱ:� ���`�j'�X'Dm����%�J@Eѱ��~���)p���u��OzL�<E���	)I�&�uԀ�3P�Wp�:
�a�x��ڏ����d+�<V�||�%DŽ��\��u`�4�_YF�����U��3�Źȼ>���u�o�?Z�CO�ٟ՚z���Q{��3I����I��>�5�&���B81���kXċ(
OSԉ�u�!j��RC�M=�>��)c��a
�0���v���ڄ�;#�Bq���tTP���&�s*�"s�R�U�
8�����b�%��p:^:O崡�ה©�Õ4NUҭ"_�d�%I�m��T�92`C�sI/��)L��}6�:,�#��r��m��a�K��:Z�f�p�I8/i=7����2v�@� �uZr
���d�B�<-��
�ڏ�8�xQՆ�#��ʲH�%�Y��K%���v��e[�޽�𥂭Ĭ�̧^�ϯ�z_�eq
�'�i'��cS�zb67�Z[^�Q��`�2!�M�ZM�ނ=<�׷�,�r؏M�xo��s�!��5qK�[(z
�7^�,��jZE�뵨�NiZ��ip��n�6XE���Mm�|�X���ʛ��~��>�zѤ�����b�d���%��m��E��MFx�ɾ�nzQn����c���ӗ����?Yy5Otqk��m&�L!�3k���7�E|ӈi� ������|�]�d;r��VCx�[y�i� [3�(�������84��:+��Q�g�>��|"}P!W+9a�4$,�Е��ք=A�ӆ����K\�Q7EU'�
�q�/��P���'�o˼������h�����2b�clp�Ba��̊!�<u�6�
������񺎟#mG�}wJ6_ۥ��|$�)S�+NT��#����//��m��T�2h����S0�a!L}�g>�U�{6��S�i^Ħ�,_�7�������C��|[q�<-�
�Z��j{X������j�ɽn-=8\��e���m<kS}l ҝ���5O�oE�tᣆ��]ţ�@p�L1NP�z�kr�hsݤ�Z�o�J5Vt?&����^C
��5�5*��.5#���*tLJ[C�"�Y��������vD��ˋ��9W�r}ҏ1�2z����Q_�f#�
��ǿ�X�v�	��C���(9�ekē#Ќ�=��W�Ԉ���F���/y�k�(w���|r�D�����0s?b"�3Ԣ�Q����
:�B���89 ��Wp�����
j�k'lE$���Dl	<���bw 3q��M�3�M�kg�L'!J/Xȸ?'�k�"\?�H��
�����}Q�j&��g鎩�t�/��E,1�6�w�@��ƈT/�[�kq����3�v��ҋ�w���N�Љ���  e�p�����q�f��r�oF��	��7�2$�)4�V�9�ՍC��1v�V-�}����Q(�<�!��gǙk�_�`	�����bʙ*�MԘS�#��&�=)="�G��|V����)c[6��>Πނ��<'ʷ:�e���M�ܞ�G`�'6��ػZL~�\C
Ԫ����q�w�L]	�� ���i�7,7S�딟�@i#ø�������9��TJB#�Qӵj4VӲpS�f�N������'Z]�뫑{sj@�t5r��3t�Z�軠�
X������t�}3��n�k�t��M�\?����_tA
r�q���iT��N9J���WƗ� ���p���j�&婠(��@���M�N_
�d�a�����Z*:iA�<��J�[��Y �T	��%����Y�Q��@G2
�VOj�|f�&�po��a܂��s�3�R��f[�k��B���c4υ�,��d��x>u��X�C�-��OuAڕPx �fX��^��wW��V�'���خ���`JN�1��Д��ajŐ�uy�
��ЈD����O��kɋY�h�`$V���t�S�<�@Ɂ�B�]'�R��[�rKnC��1�莈�n�g-M�gL�|b©!M�t�,wFV�!k;ʛ�P�v�Y���iKc4�&���~�$*�Wb�*:0�7^��T���J�z�K�tc�Bݤ�t����&��<2��@W:�
cF�5���3ˮ�}c��m��'��:��j�$��*N��b��i��uğ�SOؘ|OF�jFV=Z��"��GG�Ru������]���6o���O��`E��H=s���FMMP�MD�gX���E��j���8΀�Eȣ�1U=�y��?q8��F b�¶�:ud��r�m �/��v+�~��j��+�|�輤����W8#�=Z��g��R+Y㘡���탟_���tF,7��L釱~�ب�T���3^��m}Z֩��˞!�7=Vl>�x�n��W�L�K�L����VZ�X_:)��U�ԅn��6ߢ��MeX���E��5�'�Tx�>��F��u�|T��&.=M��^9�=?~w��^:!�"Wo��;�`��V�6)��AR��t�5�'��])E9*�р�S��R���Fd��^y%�?��T�C� s�%�s�\cff1��%q�be=N9W�d��\�� 픚NW�b�`TK��1��7�c!V���'D;�eh>�?y�-��b<%�tTC�XW<�8^ Ĺ`�.�� ���&�<U�5��H����~�����.���4�nxr�Rw���n��c� 7����h	��V��I�k,_��Ϗ�_	�	W�����ͫ���W$@_r�\4
?�
=�ڵ���w�<��t��X��0�?�Ϯ��v��a���5��1�(�C�Ć��
]>C�mR{�A��J�O��N�4�&J����3��o�3�O�e����%H�d4�h,��Uͣ���,�:�*	?zA�;
��fv���s%ꦓ~L�O�?NO|<����?(�"@ώ�H\+jܬ�P3��R15�Wב}�܃����`b��p���|�1�U)�L���B�u:&\�Ug����
�E�-��?8_�w�TmgO*��p|��Ͼ��/�j����Z}I�
��S�7�H����>��A����I�U�*4W�"�z"���=�t���[�=�"���9co4u��e�H҄�肆���pT��ԇv�L/�|o������Xi���J�d)�qE)���65���EJg���I�*���;�4z�E�I1~�Gvi���7�(١�D��/�xo�k~l,2������b��r>V��dS�X��z�}�����+;��e=k"�Ax2���o�T"����:��TJEZ+�
�
h�
͗�#Գ�P�V@l�O�y�;�K�!�/MBǩ���S��Q���qm�=Su깁q�n��܉��<
�p��ԽǤ0�,���ǻ{�]4���f���e�|���HUNJ�
�����d�%N��q���䜹���6(@0�#=�m���e����8I���,	��3�{�H
-3��CSO���}���ju/����¾�cb�z��[�4�,�w�B�sN %����졁�������xK\���7�LX��{����̏~=&G�7|�r�4��4��ty�~Me�@4f��o�CcTGK�ǒz{t�Q�j.���WW��4��ת�$�Ӟ쪌ë�#��7�<�%v�f��S�!���S����
��u�D�y &g̓�s����M� �Ž���K�B.�u�
�
UӣpG���U�ݡ};��[5�2���]VG�_�s\
֝j���F��l��
�	:��J�eK�U1N�6�X&J�t��T�"��U�uAϊK����i��/P�u[�l���'ް��S�פ;ŗW�>�K$}DS05�eA^��M��׬_��I�F�P�yu�
���ns�"ͷ��)�RE���������A�Ւ#�}�ʽy�IP�Dm�:��
��8�<���m`�1M��>xD�>�X�m_�3c6��{��U��3�v�����r%*��8��bR���$�Q.��i(�M�z�Ok��[��J_��e-�d���3��E4��ҹ�H,���X�����	�	V�����I*��T����@˟"}�#Ԛp�GH�O~��ɍ|�>�;��S�����F��UȤ�# ���3�ג�d~L
4P0�Jm��p]af�?�u����ݠw鸯����?��aXx�u���?T�{��(�嗞�il
`P'V��k؁$��G]�e_�a4��fH��c/Nb����7�v�]�0�c�:T��rkƪ�6�u������Gz
,��ݱ��J���=�}���W���
�;c.	�#^�4��9����~�w���&�gm�\�S���?�^HہϕZE���t3�d��aaW��^y�+�����3ܝSO^}���ϜC6��C���X�.���R�S�E5��Ԝ��(���Is7N��`*Z�|N��on�T)97)���c�%��(�:u�$����N䂦ĥ���VY&�V+�~|�E[���V;{�
�����n瀣l���Ë�Er���t�$Y�'����ѹ�%�K�r���E�c#j6��{���m����_����tJ>���Oy -6
{�-X����1@4�/h�n�Z&�g#K�:��g���
,�rb�(��UWB�7U�|~���uH~$�l4l����i��H�BLcH��d-5��5�8gU�5�=ej��L���	��p�+�~�%)��C)�^0
qw}(�z�?U��O�:�O�*z�˵N�R�\�.��S�n�����14.-%�c�Cr>�.O�Mo�Od��8:��+�Ϥ>ȫ�L�K��|.}
�!���5Xfx{p�ĄƯ������N�{���,�%��V
�>q Mt�����t'⭤��}���-��B-��@씄5�h!�ٛ��Hm�gA4�Mڀ���Kn��ì`����/[�}�bO��͠� ��/\�H4/�-Sۈ�#^u�*`�J��;do�>�~2
���91:�=�0)(W
D~�N�(\��l�a�h�IJ�G���n��g�lJ�����Y��U��y��i�>�
�qDȈ���@k5�eP�.�R
|@>�%��<&��e�a�f�2���9�d��w\����/g��E���Or�%9���-���۲=���}�Vd����R��;��mlw/�Y����
L�8pd�:R������r���_�Zݾ#��frd�R��$��h�BH��xp�7X�Kmdۧ�t�Z)�͝Ϳ��q2���ݰ�>�
Q�H��-͙2�]mH�^?1�}¨ΉK���x��J4��ps��&B�R��5�UD$�xX�=W�~�y���$�Q8�{t�#�1�&�]�/{oz��R
���o���q
`�$*|^
��GM'[SZ�����zY��w�I?���W���_9R6��j]"�\BC��G�@�i�˵3s����y���vu��p���N0�eǍ����%Y��*J}�̦��{��ņ��Vm�-��k��ǩ�!�Ɠ�4���U�D�S�H��7#*p\�+�̧cE`OG1(
�'�띊GO����s%P��5 �2��P5�%����ː� �Ξ��8��W����8{�C뀉���~�{;3
�ꞭoR�>��^�p��s���W�v���~�ܥ�Wl�}�9@h/2Н��;�x�-W���䒣�a�y"��ʷ�c&�K�t�]�{~Ҕ�t\�y�tx�����?���������A����.Iy�-��ay���JډT�p�.�:�>H�V;��}0���J�C�Oa�
�RS��*M�b�,uDaOc)��pc:�#�iՕ)� m���~�{g��_`���,�ʫ&C�
����iy�;��xT�7H{7��@R��K� ܶ^7`[��M �����#wʼnI�!��1ߋ/=)p��O�,ZC�iI����S
Z�[Y�̖��"FT�<w���qjLFJ� k�wv�deE�
Y���n6�dYSG�3Rhu��X&c{��������7�c�>��Oa$���hR��8u,�
a�OzU�H�G�cS��޶��'��j� Hz���K7�O�?	w�t����O�OJ��J-�6�����~e�d��7�5�^}~�|Ng�UE��{���ɝ�c���0�^o��ߕD��#�]�K��p,�Y�o�P��pf�ŋ+5�J4t;Wx�|��=��2B�7f�I�N�.�Jk��)���=��	o�
w�Ӕ�g��H[5��!�4ײ9�k�nU�Q���Ƭ�Py�e�2�t�-�ˮ����ߥ{�$�b��}�@���O�#=0A�z�B�s��&�aB�7�3�ǯ�'5�F��&6p��zxZ�]�b%\�[.�y�&��l�P�K^;��^���XL�]#/����(�7<����̽(�wFn�tfk.�I�&�����c}��0I�2	u�w��pV���)
�F��$��&k˥l[��ײ?�jkݡֱ;�Kw�� ����hB���tZ���&w+:���IM�� ɤ���6_�v����Q��K,�K5��S���3�8������amx,*�������
	�ԯ��4�7�A2��{�z\�M�z�h���m&��P_��h��-i
��y�q�ZM���P=i٬˵�{���D���t�;�||�d?ߛp6��pyRrr`��×mc��%�m��yH��%N1R�X/8���J�S�ju�O����d�ࣲ��-~6�@{�����Y|����&)��Q�����(=J��*��n�Eo���p���;q�>�95�����B�U��J0D�S\4����>����5�In�Җ���UU��2�A����Kۭ�4�%
�����*k~f(Y�:��u�\<�Sޑcq��_Hw�RNXm�����M���+Y���ϲ�@=����W.��5�]M[f��+G�X_�U>u���p���{����a������*�:��
��鍋6��NWNmC=Q��K�g�S�#��\k�.�q��NŸF��R�fU����J��p���hͮ�#w/`S�|�o�t��J}����Yq��Ǹʳ��� �ܾt��g��X�2F�٘I4Wl�Ax4�	
��ğz[�躂�K�{��v�,kd�<(�� ;r�mx6��G������[�
Ɣ[�R�D��D�~���\}�C�
^{	O?b
O"���c�:Xs��&
���E)yT��M�*
S�K!l�?��J��ڨ�Z����8��
8^�wvZ�M�m 8Gc����ǁg�G�"���5R��K���\o���x*�\3k;�V/Q��$%�׺�3�nZ4�@��܍K����  �L �����01[+��=����)[7�q���Wd����Q�����E���&����ZZ5��(� ��R���6�?(��N�eۡ�fmҘ�Y:���M�8��t[u�/��ˢ����G ����;�xc%��x�ME*�	�\����7p�����r�CXZ�yO"QK$�0l*�l[碿�+�GZf�~�|T�
ӧ�z���9Tr�S�e��S��i��F�y���l��ǡ��~v��iqY鵈T$���:,���!b��;P�n	/���ŔZ-k����̽G}��|1U����hQ��k7��B�A
d]'Jyf'�^�ɥ�:]�<����-��j.3kn�-�a��c9a��Ÿ<(S
S'��v�+��7�{�[��t>l.,�4��a3��+�r�kXc��r
u��I
9��X����)r�(���Tk*]��
�ouImJC&��;+��[�'D�xGc�xw�q&:*�@5��"_�j��(فwWr�8�|�T�P
��P�7��$[e�^��8"Ct@�aJ���Iw�y�{�cl�]̧��&�G4�`��3ĝG?�dl%#�:LFӠ�T6t��Q�mP��cQ&������f������j���R���U��wY�8Ia]�oA9�8d��?���)�{��&)@�}�"�2<��k��b��nÞ+�8�� ��2p��vK$��'
;�k���IFM^����W[s���t���[�Q)[~��k�E*5�9���c�<#�lQ��]�����c�l�wy�#F����M�4��]�_��<�b��ߛ1>L)�̤�RΏ-9n�#��Y39Gh&2����#/��:�����l*��a��Po�6��CVK�>C[Ն��6`���c[����]�"�w��0�6�W헂��\~KN������������*2�E��c>��Z�K�7��aY|��o.��j�،�C��ֆM�(({�_se �[L����۩���O����ޮ�C:z���<�w�p��/�_E�'z<��@w�$�+w�H�/�4kߩ�'��	�/����R�07���'U�Mj����ϩ-��з�F+^
>�s�#��/t��*p��]
�i���D��Ք�N6t�p��X�#���I�b1w��8v��������P���.���Yä�o8�>���#��n7�\�qŴ�7����g��`M�+w�Ѻ��Tdݱr��g~i0
�Z��5����qM���g^��h9��4�x��]	���U�k�����,vy���܆�G	!@\'�3��rGc���=TDSU#B�M���ER#~ ��V
�h�ҋŒn�J:�h�ƽ�t�r�ټ��:��A�u�Ҹ~ K�j�9��>n x8g� */�sOjY�e&����
ٺ�����1�W�~�)\�m+AI�\�� �E���������`��g\�VH^�W,��UN$��(@J�����E
l�5���&m��0�'>7�s�+�c0Cs%�PL�\��K��K.c�q�"�b	������Ѫt�E�D9r9��=�eK�	n���Lt��Q��dy��E*Ő�q�v�i���=j2])�Խ\I"���8���*�Y�E_��=�@j��+(HCK ,)���.�sݔ�N��\K&
EN��:^R5��Ŭ ^����n���؃#Y8֎�x�9� �:j;����Oh�9��*L?8/Tg�`���ҥ@d}�F��C��}�uK����?M��c|�IS{�)��7�3 �7�:���gGn2��ԟ�<^�囟�pp8�n�[g���48�";#f��X�u��\R��+o���lsd���Q��T�����0ݪ{����ğ�i�.�gW�*�L�Y��'?ɝD.�A?��`���=���;��]��]Z��살�U>�r#Q΂t$G���TL���`s�����'P\�͞��F�9�"�~:�o�p/������i��
�2@i@���#���!&�1�9;3&��-�LN��A׎�.:f9e�}-����ɑ���qb.�;タ��y��`��Q)�\���zW�殺g�X���	C�ۋ�L8/#����m��{�r�R]�@���W���]>6v��>�d]7��&��v�B{
d��-��d�A�'�|o
����$������Dr��ްF���J#z�����2�X'_�H�n@$�aу���i�I�{�˅;I	��ZX<Cw��u��d1R�G.�/F5�L¨��.�~i8[�&�[�����@�vl@n������|�us�2:�`rm���%9
x\z�/p�8���?:���H��{��F�>��҈�XuH��5	�¹Nj���U�Gż��ԏ��KW��6vW��6��N?�X� �r��
w���Oi�T�u�I���`�c4���2=�!�ڱ�hK�˰q�)V�bm�+��L�x:���&w��P�q�R!O��{Ax�)0����rh2��1*��)�W�Qh���Nz닮�
J��I�#��"!����6��ώN���>���-ٷP��-����6��߳�xR�6X
^��]ͱ9ǚ�X��,)C�
���L9&�[�W�68����+7lV@���v7f�k͍Y&O��Ȥg;׵��g�Vb��������n�}��O=�1�t�C�93�b��fFf�V��5�6N�֘O�N#g2��*�E�6��ò
FW���Py{��x�y�@?;΋W���F,�f��ׅ��(v�����,�$M}�;�f̍��T�x�ˋ͡E9�p����Ȁ/D��w_v�o�#h4�8�o���㜥Gx�i��a`��:�ֵ"%�~��?������[)%�,��2g4�m����,�S#�t����o�����Cc;�Hʀ爇������g`�+/�D���٣��
�2`cË�@����ڋ��	]�n�a���#���GՖ7���E��YB��ެ�*���!���s]�cѠ�:�/n+�CE�C�+$˕:F��.՛r��m~�ة
2E'�d�mjsD��S>�:q?I��kB�*�BI��(����	$��$�d����ϔ����g�`��3�b��x7K�DY����{=���F#y�yk�T�-��O{Η�#Լ[�1����F��_>�fr���%��K��T�c�m������|'c�p��®s��T�:���0�gG*Q%%bĄU^Qb��ZT!��r�&��� ���KG�Y���/�j�t���~���԰p�b�I?8��j�\C�+``\XS�."G~�Hsg��� �F����5���w�̽��eIԣZM*h�[��ď9�nx(
E��+�ׁ�}l �ѝ,���
&����
E�杯���^��Ԕ��h��9X�sx(�Q2>
���$�ʺ2V�`����s�.'��y�M���P��5�+������tT��rI�uWA���P>~QX]���bygD~n�nq��A����1����U?$V.�jB&8Ŕ����/�~8�x�Y:�4ˇ�f]�}y�Xe�|k۔�Q��f�	z���J|�Ά�0ۍ�
,[ܵ3��3�ƛ���U����:��݃~�0c���'h3&0TeЬ�x{�!/0/2��l|샍|�vT����_Y�o���=��B'�g���:��rjG��S8K�f�ŷgaĢv)ABW�7<9��2A������媈��0�ճW�1|�D���=�B���v{|k��f��� l�%;U���͵8��
m.u��
R�����x�(��a�TD�%��;�:�h�X�����$�k��8����ۋ`S�е
5}9���V�[��q��T�|lN�{��"����'�ޜp�*$��֕s�[$s����Wy�5\D
eIr�/�{`�M�%h����y�
;��(cʇ�xr���MF7�Dձ�x#rU�9�r ��A��">���;�k]xҭ���E<�F�9�b X���a���yԫC�K�WG~zv�6���v�u�\0�묇
A^>F%�d[����ʃ�F
��vl\AU�Zv�*|�k>���7<9��jW��D�,��&�/\��Pe�CO�s�^z���S��%�6|�y^:�X��4�!VŖk���s�`?�-L���7^�r����;jNΫW?8�_[ʭ����ߦ��l.?�w�tt���/�>�ӱ���[��ZZ�������t��ME�r~�C�
nr�m��
�K�;1jP��0��S.�+�j
��FדKH��Фb)��.'(b��s@e�T.�������b�N�QS�2����q�F���"3��K�kt0�J��%0�)�k8gp{��+}���}q��y�����������N�5V9���ț'��B�X�>��~K�a<�$qE2�w�[$#��Xx���8��v�ʾ���k_�U��	����O��9�::G^	SgEs�r�y��駒},y��Α#|׋��"���d�|8�Ec�rѕ��$��'����oͲCo]��b��0�q�Z�h�;]��C�h3�q,�CI���y+���P1c�%R'N��
�)��N����,|��5�Ȅ��s"S��0�.����L�Gv�iI�ۦ�V�-38��E�%#���|�߿~�ިp�i03��a���zr�
4���lǥᰛ�.U�ñF#�/�@"4��Dm�]{�Q��iz��{{O\�Ӣ���"�lLx�є��)Ix}(�(��a��]����d���Xi��3v�h��Mg�)��R�{k�W�t�Y�z!�Vc�����#�����A�x�9��<�+��l�X��.���4V� O��?�%į~��G��;q�h���/�LI@`�2r�$���+��T������B��Tl=�/SQ��LAcg�Z�b�
Z�� ���W<_GT�P�2Ձe�>V����IR3�Nm{�����P�+x�ػ���&�J�+��W��
`�f��h�	��6�^%�_�xR�_��t"����b�r4G���;��J�|
j�°��hào�g�2o���YC\�N�
2� �a��}����zg�O���/rb`�T�@$�nV�=h�;�p�#�~a��0���޾��c�⿘�J$<#5=C��=��e8^�����)�zא�3�xI@�@�3�RR���m�}~ON�v-3���V!nkx��HK,v�����ެ����^���
�`]�`qzڰ��džĂb����hF�e-�	�?4ۡk�8D�������;�-����?�/{�V' cy�����S·�K�
��s����f�i�>Ƥ��yp�̳�6볅b7�U���<�ew�)!�
n���*	�)�+X�E䰻�4�sa��qN3YHq<4줦H�,�A��$f	�o��}vJc��5�"2\ş�`pp.�nMir�c����oT�ɹZ���`�O���,���;E`����"����&��zO/⣻��Ӄ+�T5�.��ҒRdA�{BN����8)T�а�f�дВU�f
�S U�v-Y��D�l�FhU
��z��=��t�<F��k��ǘ�
����_�_��>6�*e-3@�9�b��;�<EW0*m>�L~kER]l k\����7A8֤.��7���L~�%��o����裳���/iL���#�u����+��fڣ�!��T�}\�+8�V�s�b9�M�p.�o�y1-�yѥ�_4��a����ɷ�i����q�2��c��9���]�`_:Ex�\��$1�=^�¹�F�'/z�;���q�V	~1�%
�Nj���c]��:�fs0+b��dl��/f����b���?�:�rr'��j�<��'��^��j?RJn�:�,}�qF|���G��o�pY�sY��T�SsL~�JA����o�+���	��1�8����x����W�wrH��=/��w�[Rv��/����|o9��}<ſ|�^:4]د��K�ٹ�R�ͰH=(�	�����o�]!�)��n�ӥ����=�?z�po_�/��A���e���q\e!�emj*���6KjX�])�f���l���(��[
tq��z丒.ߧ�7����\7����_����m�K«�8�,���kD�: }�-�Ժ���v���!
��x�d��)��[u�\^��{��ײ�r���$J�G��-���E�����f�F�H�LȔ�,鱯����b)ޓ
J?�aF��Q7���]�.B>�1Eg`���.�J���*��b"�RLq�D�L�J�\���ߙz#���Q��=g��ulT���1gܓ���b?�,Kw4
��~z�qve��$~�|M�1GZR{:�/p�b��nCf䒈T�χX�����C���έ(����G�bB�nM��e=�IJ�<7S�#���R;��;��@�d�~��H�Ae�i�9VC��ox�^�U�X��P��w�[~�>s�o�Y��ׇ'K�+�So�N-�xo����Y�h�%�uD�zTUQ9�d�P칱D�����ȯ��s�*���w��k������@Ԥ&�8C���Q��L�>�͙v��#&YÌ��/+��4�*���V'��֦.����ÄQc�`�E;=A5ʅ�{�7oO�q S��N5�@"3�+a��1olZ�,7K��!���pq5�n��`�X1$�`�vTG�uT���/��^yh���j�G��@�oy��k/���o_���a(����̪˹jO]�$�<F���	����m9�v���f��y]�l�
�x��H|Ïu̠�Ü��׈�}<@/�To��iim�S��C�-4I���A�oߧ�S�Ɯ��X��;����ȥ�mQV����J��z�V�֞�f���x[q<<^�P���\j��¤I6�K+
��ҋ���(��BJ��C%K]���m��,��/>�9�����mG(�rr�:��\|��Vc����;��'��4�Y{�w�HTH�~�'��'�����:�SG2]b�<}�М�ڥ�3<�������q��Xa�P�++�ð@�`$;���| o����ZG�G,�]���hg��%�Hyv�X��H�w8��u77:�d��N��=M���Ƀ�����(u�R��s����*��B37��T�uC�M��M��ۯ���>;/�?����q�όट[�]��
;�{�<r9rɅ��%iS�J���p��K�_�����9�z��塯]�����„�������
]y�Ϗ����e��K0%a�8�qN��|���8f7m=�Q�ԝ�:�sj�=�h1Ї��:�?7Ԛ5g�L��P����V�O0�hR�
;���}�Q�kRHSj/�nP���%�;'^��8_�#o�nޛVPZ�0�d��o�x�%
���'|:��	��g�=گ[B�y'��>����.&3��M�׺�s��Z�p���y&����뿐�=�5����� �Gyz���sS+��2���T/`1����o��(��w|�	���3�-�ݬ�����j��ҏ����bʐl?N�dB���
���b++����icH��=A�xϕ�aV�
݄>���c_��3������[q?b������	ɟ��m~�^5b6�=�"���?S?�[�;�&+N+0�:�uj4G[�Eb›(\̟��z汻�='�s� �yFC@m�t�9Щ��@u"�S�{'�����׈�RL���=ƼRNh�0����\����C�
��F�*ܒG�Үм��"� �M>{,F�R�Х��X��$��q�B���R31�N���sB���Unk<���rۭ��IAkI�<��c�8P �j�sɺ��\�Gpp5u���ݘ���o�Jܺ�7�j	{�;�UVlzqgZ�/!�s�=)�p��D��@�hts���ŷ�n>\�p��B��?J�wğ����)7*n��7��%�."ĒH����;:y5vzo/��"�;<�E1������R��h�?��G�f4/����ԛD��ZeT{���1�w�{�;~��ć���-Y�Rr��c/.~&'�nA�cL@��+2ݍ��#$-�D��B��c�ea��}KA^��h�5����ڦ�;*
��G�AJ�Ǽw��6?������we9���-�֒�N#p�-[��D?���p��sm3�_�I�{y��[�X����f��,�0t��4�|��
r{�`� FVPxd��ʹU�(3�ԁb��BW�ȃm
Mֶش��j&C0�k��]wtbO�9�b$�s�����~��ɿ�|��^˴����1@M�gI�-+B�5-'[�jK�8���{��J������?�!6X���e��K�?X�	�����y�ҩT�I �൅"��).���d��B*���������c$lF̗<�%
O��4ߕ��Ϣ�v��(�f�۝4��=����xs��9�F�8�l�q
2^z�$GY��ы�Mgt0�Vաl�3C&:��?U'D�7�cu�#��?`;���ӂ�����낣�?`�^�i������¶�zo�ONs�����t�̝�s�!s$bh������W�G�"���
��6Dy��|Lx�:V��t�.��%ݓj�pWT͊��"�V4z6��[�✘z[����n�ň>Z�z��w�
4����&��`$�%!Qw#nQ��Y�Z�p�Q�u�]|s7
O ��ض4:Be�Sbf`ǬjJ��D��`(.g���vl�^L�7pDB�Dr�` TԚ
T���8X!~��qp�fr�u����>�<��ܗ�h~B��3Z�J�R���Ϫ�)�s:�"ޗ5d}|�ɕŞ���1L`
�Ԧ���w�!B%�,���BDŽn&���P?J-���,/`ښ�L�h1���Q�3�XA��\�T�9�bB���_-Pkʗg���8M/e��.��с��ήh�l�
J�o#|�>��E�g):1�7�?3��%�.}�8m�S䈔��?��m�`��7	#R$F	A�I'#>�e�\�f��2������[�7�˄=�2��?�ga	6Vl�� �����FJ�·���Yƪ�K�kz#�|�q���wo{�4��xC5�����o�����H�w�So亦�[��%�v�)�8��h�`Vz�ꖁ�t�Q��[�ͷ"�Y4���mb֩�M<\Az�cL���Z�p��U��еy��'��z�QO)nM5H�x�$�T��\.pJ�X^=����:���}��{��#8��cP�p
�W�B+�D��.�t�?Җ&t�O���@��F,Ϣ�N�{ou3��l�N�g�ꩤ�Ƈ'�E~5Ό)��=�ᬼ�jP��ĩAt�l[�I/c��C^���^��b���j�_
��/��ɢǞm!��(��s8��#�`0�T�-�l�$���P�0�ң%�޶]�r`�b˿�T���
t.�b`�s�i�[�Do����^|��}�9�r[P}.-�2�3�.Η;�T;�5�]`vߋV�s�u��i����V�q�F���d���"	�ă� ^��a�A�]<C���]���.���2%��*�r"�~�$�l}�l�"��ܺl*{��or�ו��#U&�9jC]\�p�x�p(ڣ�}�w/!�ʾ:�E	Z"rQ����-�\�ܝ��`ٮ�����B�m{x@�.��T)Nћ�F�e���
�Z�HqM�&��̖�L{^��v���XgW7$�M���s�nW�i�aW�%�ۧ��_~�ޱ6T�n;��T��?툃?��VEX��	޴"��!�+��̖�T��cRF��)/覟��r�)�ý
?y��rr�2fZf���!�@8b^�9/���N�h�>�M��yKq�9�6/v-��{._�(hz���e�D��Ֆ�~��S�ma�]lw�#-�P� e��3��ׯ���­��U�T�4��ڬ�����9Ú�K���T���?��oj-zRԦ3�m�]5�Z��R*�{���s
R��KP�t����hGI7�Ap���C��W��#��AF��Ѕ�߹o6�tǥ
�sf-������p�)�I�R�ұe�0WUJU+}x��E^��7qG��Z����_�zk�cUmP��F�VL��&�9�Vw%�
e�NQ��
<�5d��ȽN��\M�9��Pd���X��M���q�O�����i��J����&�&�h�!��W{�'���g`Y�e�_E�)�C�Ɵ��]1��*Ã5��6��k�E]�R���罾���j���GY��׮�/n�=Օ�vi�Z��j1F*�5����}���/�nH��۞rl���,��)+3�0��W*��U
�zs�;�H5����4rÆV�������ڡ7+�E)�΁���N��_\�Opg�Ι���bw��BKQ��y����h�����9�Yk�{�[z)H6��mu��m'CN,�*�j_�βCs���}V�j��u���
a�k�ױ�n���s�v�7߽O�l�?�#��B�҃Sq̱J����������J���"�uλ�[�=i��5E�w��SK	�w�)�n��.�19b?����3^�����vyV�������]XW�����E
&��#�r>Q5b�,	�������.�C�1V�ԭ�q�l���#ᘛQ�n�AljJ`d
e��f��\aʬ��l��	���7Dׇ�
��[�?p�������g��O3�O�~K��+�cN����Wg�1X�üx�>m�d5�;�R��������9�kITH�=}d|���|��@�$n�������UW|W^r�0&He��sA�[\%�XlCi�Tb�t���Q��л����}���*�6��^@{�8�R����&@X��\ ��L��l{�|�͖���,�	U��
:�/��XFЊ
�	{m_���͍?JUV0�0�2�;����
(��Mn�S�T���pp�.�cjf�=_���nRI��}�c/O�f�r��)[v?���\ԏ�Ɩ?��h@3G���"�ȡ��er�W�N��hJeq�0�%HHb��ϽA�3[�ax�
� �8�D�Jh��f[!�d��$�O��5m�/��]����IC�I��2Ǖ�P��1�6?ux�Fk_��Jc�J����%���S���6�Z���%)���Ӆ25 3�4a!S�p�@]/����Ia!��30|4h;�����cs��m�5t?{��H�n��m/�i�$��`X*�����e�w����}>A�ǀҙ��C�m���vf�Ħv"E�Y+5����T�����A$�G���{/��6��8+$q� �(�[�f+�i*��y
2���[���c�}[T�[�t]��=CV�����
N��5j�Q�H��U�Ax� *!AcD6���M�h8k��d�Bt'4�ߧ�������N!�v�Ꮎ-��?�3�z�}JNڴ���RYȳt�K�^�M�α&��ŋ��{$��̱t~�$#?���Ѳ�q�}�iu��'=�]��T�yk`��'�x�X�iM���A����Ȅs�0p\z�1�r7�����ݥ��."ߐ�(�ڂO�+7�`�˓#������(S�*��L�?1���"��{��e���ȥ�Y�}���6
�6om�6K�ܬ�{�DU��8hSW�����ׂ֗�m+r�-Fœe�����`�[
GB��,;��g�	���#t#I��|u�pՔ'C������H����{55;P�e}1Mxha��li
����3XQ8�|�&�HC]��5���]�&�"�S��*Ug�'����%]�IX�#m++/>Ki�Û"��	V��zʉ"�-!���3'�N���K�9�\`Co2?�����>e�v�;QE�_t��?vc2TX#�L
��߼�	m���t�w<X�ѭ��RH�/]��h���ɛ��8O8�4;�`1���nXdRcj30���U-�+ex�(���ǘp����45�N�����E����	J��(�0J�|�Ș�i���#��h�6>��tR�l2��M	x����Mj�3M�c?�O���j&�{�A��=v'�5�P�<��q�~���s�U@�$������GըO�Y<��meR�ݎy��(�`��7��vU��On);c��S�KۍYx�+.l��M��k1qJ�IM��Hp�7˿rŽ2�*T|�Zi_���
�mfrCUV��J쵳�Zq����vl+n����S�h�����|Ed�J�$D}��b�W��/ו�¿A�PۻV	�r�+�*���P�Zr%!h�q�x�1݃X�q�c�ܰ��L3{�x�Fw9�sa ��)]��������(�+S\w�)�����?w��{�/Ӎ1�V��}
N}
N}
N�
Nu@�핁
�Kf�U�;��~��$�rL7�#��XS�r�o�d��ٳ�����W�0�<^>���R�Z��M����&n�T\�� bc�576$R2a�*�6P$ޘտ���R���sk�O�(�K
)��[���3�k�w�8ь���@F�)���kGm7�QC�osI��{M���H�}Ҵ�3���{p}xp����]^�}��O"p�N��q��?�l^l�)�a:*S�0A�(4H�2U�ɛ�g��M\�mF`-4kټ+�7S�);�]�s�l2#`n f�;�KA�`̇���U����^��Y�a�e'�Ӟ���?;�*�h��6��
��rw�Xp[`Iq�Z���6cR!>���,!8k��q#��� �s�(d��\.d��a��|x	F��q��͇���6����K�V`�m��"��p3���N��U�˓�Ko���etu�8�	�\$Q�M����ie�N�&4��:8U�U��H)�7�X�պoUU��R~a�s]~�
����5�'�KW�J�ٌC%��b_l����f�&[U��0r���EY��/FT�GGA`�����Y�jѪjAh���j#t�Z.��)[��h���㡌��}Q�ME������%<;�cyPq���2E���e�<‡�����\Y���-�7{�#�`�����nS�f8�+:��KM6e���vSa1zH-��f�}l�`*J&a7�ަ(���dHG���}������������"H���nƙ"����z1��Vw6��x�q6��;���Z�=��C��(�m ���#W_��(�d�+iR�'#��
�@^�	�$��T���z�ŷg� �C׻�"y7<9�6�)�ؘ�
AZ��L%�4�����>�_�^�ZYw��2a��$@K��Kؓ�v(��`4Ϛ/��A��֌j$�%�	�<F�"�T�M{�m1�+��OA8��[B)�8-Y�'��w�fbf'v�*R{��oH-��'�ni�-�+�h-Ѵu�"��|v�r��AT�v
M�[�Z����F�.ɖ�-i��5��~�Y�c"#�s1[IS>)�U�O����Sq�J�N�–�Ù��W�m�nu7b����b蜙H�C�m54��"��m���!�����:}Dy�9q[�ʭ+6��Px)E���H�Jk�,҂CM	3�Ui��U�F4�k�<
��.
�1��T�"/:�ܛ�۰�W�Di�E��b릻�V<!���z�X��I�s#��V�ǚAW�8����-�K��NZ�ȵ�r�H��)%�(�:�ݪ�\�$Q{:jY�"��^���dkh�U�d(7$i�8G>E��RIS:��N�"?�(��A�_`��B�?I�O����x���X{���r�Ol}����O\|.&7ð~������Rx�;��P���2O��(�c�IX��O٪�>��ƊV��B���\��4�c��Ƿ�L��\~�>Z�a�e���H��>̧�.Ʃh0:?���|�V�O_��;*O���M��qr��g�tky����-)�	*�5R�Q!}7�
�ZO�pv��*=�M\~Pp{q8�.�J#n�TD��[�`�h�3�#]��:���@B�c`]�1�6S�i2_G��y���ec1e����j�)��K�y��m���coB�*8H.��^Ŋw@"�	�3>�f��캎U�H��*��Ƒ�"�+�/`{|z��ћ��c�U�`F�{�2��U���'�Y��i\�奱I�7�J�jQ6���1�ߎ��Ž�g��C��сFn@���
���|AF��_�>{��15>�R���Q����?�d.D,������B��r�
�aY��r遹�z��@�;׉�1p�S�6���n�o��cC8LՃ�:*A��<��ia���
���ț��1��,����IO���U�#���+���?��U��g�\��4�/I f_����+_O�I^}a�����
���0w��U�h�eFڮ�;.kM�a�nZ�ʿ��_y�
©#���
ħ�L�u�������2�O~���j�^˓΋ҳr�M�⩐�i�9�oRnk�'�W{A��g����?�\r&�`�hB�p�g�i�m��W9)al5ӡ3�(�E<�O�H�(�p�V^�����n�szj��(�|�����d+�9B1u�7	�b�0�w"Ʉ��Y�>UB!�����Ǝ�|
�mR��;�4��,۾�Q�|�4'Qގs�nx�nX��p"��jH]�ņ��v��f�_3eE�	��'ݦ�K)���W)m���^)e�$��c�7'ӳ��y� �XA��U�B��X�/�`�4PviD0��� a�cQ�~u���5�葋�e�2���ppeQ�9��9��bI"t����Y�`��W��چ�05��|��8�Z�Um=��Ԋׄ
X�Xgs)�iN~-��چ����ٌ���jEHH��	��͊��j�U-d���Y5����/טI�Tx{�J���B+J�S�[Aa�yᛍ0p�{�����v��&����y���J��`,��W�`���[,;#��[��r��2��ҡ*�Z�W����nj%�UO����ƓLW�>�&�"x<$����F�~)HI?8����F0����W���|�(���Fm���\D�ڔ��u��E���B�*�<��wD,a�NU4���j�E	��P޸������O�q.�XvX�K�i�s>oxs�s2n/0���B�՟5�\�}��s�Q&��,>m
+R~�^��qeI�ǒ�� ;�'qk"n)�]c�C���um+�����l���EA��%#M�rs6�9+1}V�s8?��ow�$#?)�|y~K��#6�8��\)���嬣�9�n'>=IZI�0�ux�VNʕ(�J]^�����e���$q��ϰ��xO��rL�N�ƫ�Ї�{�(R%�C=���h1��nźOG�]��܃�q�iduY~����Ӊf�� 
ܷ�u��8���K�V
�Al�c�#����ߓO���l�5,���Yg��N������'�S�OY�%�(%06N�_�O��n�j�9h�M����עF^~:�����!���):o���&+��ӹ{���>w���阯$yK��[ȶ�����?y���-z��V[�OΌǴ�~u��h7���K
5{k��W�8����-6Q��X��[dr��6g.�w����)X�K�`��әlk��QY��lK�a�=��X�J�t�"�)�3�W-�'��7#����d)|֥�ԨR��?$Y^��7ue�t�[��i؆96;`�'dI��N���ʇ3��4�U�e�H�r�4um�`>�t��'�;MU4(-�]�+�LIy���òa�iǗ9u++��t��қ%)���r@X�t}�Z�4򧈑yo,�2��JU�b�F�t�Q��WP�6�)bőH�D����w���2ւ.��^��a�xz���L��7wc�Mc�{D�&[8^\QWXuve�
���p�z�v������DZ!��`|6s�8��ؙ-F7<c\K��%�=c�/E����*�

�>�Q������T��������
��f'&�ڢ�̨]:q�F������w�6.w9r�`F��.�$����p�}�Zy�lp�ۋ���:A�X%��o��]���W����c�x���)��n�F�s俿u����֬�X`�@xCc�6IjY���8�ƭ�l$/��/I��
J߳ڕ�j��ŢYJ�:W;[;�.�`�z�9��G&ظK���iһ�Fy�!�7���+=�8���vQ~`�8,�~�:\��,���<+Vn��f�g'6ˌ�k�����k\�Kr�)ٺԕŽ��ˢh�X^���`�B/�7����׵�pD�^e��7' =�G%����׸�ԓ��L(.L��R��"�<g1�G�G|�1��^��uz'd4��	*�Lk�v�@��l��������p�����NÑ��N�Ԇ�`����x�H���=Mo&R�*VM" �E��Hj�犣��_�P#�
MM8G8����y^PU��M]k�Kr�G<�U?LU6)�JYr0/÷	�P��H\KV8ɀ�������T(�:��g����$�u%���M���Q*q��€�-�!�;Qˁ�M���D����i٠�ľ��B7��
���hd��Ԝ�@�"3ۢ:k�ȞT�#W=O�`�U�F
D�oAP	�0P8Pl�z\�F��F�:250!M
��S�v
���[ً�Q��-���^��D��c�����\DҔdI����H��K+���'�{�g�k
5��F�1:qǻ/�XDB�a+�|�jTp��E��Hj~n�)�Cʻ�@t7�I�9�放�n��j9�"��M,x��q����̻ݪ�$�E�J|O|v�i��h��Ī-�]QxV����_"��B�_�Fu����{P�E-��4a4欢�gy\��޹��P�مe
t�u����(
�ٽ�q�����(��ѣ>�=w6���x�!ȷ{8�ö��9'��N�����g{��۪��;��a��oy �"��̵ Z�i�MOk�B0�ligLm��H�o�nW���x�$�,��*���vX+��bv]�Ø�5�"(V� �A�J����~|��aҏ���=�p�Cj���bym6�v�mD�4���FP�tZ�B����C�������d�ʞCc�P�q��$z�gI���(l]T=��඘���Ջ*c��Q4���b�}S�D��V�V� i?Uf&j���ɗ�-�(uWZ��P��Rp��2��(�Nm>�햙x�I�<^\����͝Ϳ��q2ob��G��o���I��JwH�.Å������a�g�%7����l�!��`"�ݬ�,�V��t�XV5���&��B���G���I&uv����ZEH��P���v��lҞN��j��D:�`9/��xA^������E�y
�%�
�~�5A0C0��ܴB���ͥ
c/3��&��*U�B=(RanZ�(z�bJk��0x�f���f\�
Hx9��Ųt��4)�z�dY�gp��iq��a�K״&7���E��2&V�STCTx�m��
d��ʏ�T���ި�������B^ӷ��x�m����6�~���)Q�yo4уS���
�R�!t�%4Ÿ�#�zP3z�s���TL�{����a����P�3w�)�'�h!�,x%gg�֬E$��
K���*N����-H�R�/��\�sF�@�Mw�y	Ů�B��s�}�X*���;#�,����H�)�W��H���a}˴�SX�VS�Z<^���ev��[C{�x@s���
U�ܹ��VL�I�4���_2�mLj!��3�.�F�)([��2�s�d��ȥ��f���u�G S�l��‘��/qΕ�L+]5�35�
�J�v܎��`���є�ݺ�$
��O�徛����0�zh�n�Ɓ�ה&4T�wc�-�XԛQ��>���
�.i�]U�EK��*fJ:�"�
��'��4x�{Y[E_1['�wM)���e�o�1ku��K�)"N�^`mr�sU�US,7�l#a�9l[V��x��D!KzW(��M[򸢊ئ4j^mN�tQ,�v�h-���O�t�3Rf��#�@�{�&�g����8�۴{���0⌥!����C��"�\�6�k�f�L<mu�9&�_�r7�Zㄅ�𧕵�w׋��g 
_��N�C��m���E�4E�I��j$o�ٮ����4\�PŻmo$�J�6��Hƭo�椡X�7�b[ �+8�g��2QaN#	���ۆs[<w0nن!=�^nPh���Rt���gj���T{�͹Cҵy�(�<9u2��2ȖJ�z˳B5-�%נ�{�@'�=!�G��.l�q��f`��)1��e�����X��d��s� {N7F�N���3m�S|�^�Sv�w��}�^A�jьw\�8�-I�7V#��Y[�ٖ�a�����-kp�nO������WJ[.��\�I{�y8U�w�qfe��4UK3{PN�"���9��@��Q��zX�N��%�-b��C����2F�����q�i�9��Gޠ@Ux|���Q�8YL�=��*���_�I8Z�c�$p�޾��x�lW��
R�qc8�@{������&)(Ah3i�W�?a60r_��f��k�
��,���M
*sT'�����Js��[�.�-����Eu���s}\�t��&�`ԟ�p��>:�|�M���!I�C�D�ζh+�*8�d���!�JN.HY��'=�#tL�q�
��g(�,n�L���s�����"�p���t��(Q��)xO�$�j@�*���u*����S&���X��S����� "�%sŶ���3CM^���r53/��I>�ݮ����_y)�[$%�X�:;o�y�~�'�U�i�9�%'������q�H�
8.Ζf)����}>�ZR�hW��J��:& Q��=�񗏪BH$A@b�=M�@=2���=mÐ0sU�}��5��L�y`s�=�w���ʘqOV-�I����j�N�NV�GJ��p��l!�J�,��
�D�)���|��b8�8�Q�A�O-�2�]��V��s�x��7Lo�ɱW%�k�V	�#��c�3���smX_���J���W�s}.jNY'XpMO=�MD���I-!׭(�p�@�	�ؤ�3�����6xR���,����Ԡ�4/h������%9B!�`��d�c�FQm��gV�?��{@�����n<ֿ���?��vE�3y�T",٫q���Nɧpw%~�_��&�Ʊ����|�7���l���e�+S��L��Z�"4�^w�Q��,�F��x�C1�C'�*�%�ݱ�ܹ����_���A��8��s���.};�
�.H~]NCp���_�Jۿ�(B�Bc�9fX��e<T�c?�l�����;Zw���Y�I�k��C;}�W}�g�"��(<�S�|d�����7�?�=V��T�=�k�!�1�����y��M۞ټ�y�?��I��d����J}zI�*�61�%Y�����p�Df��l�d�Ā��M�3x�L�#�F^saԒ1�+VN͠}�й�Xg>�a���!��Ҍ|B��F�&=�u�#U��J�2C�|0������M�J�[j��Qu��Y/y�lì�e:�*c c��S5Ce|�	��2���w+�����(�{Z߽~�0~03�ī��}1O��ސ�,�`�%G�A(
�u�Ce��mX��R�irq�wK��\�H����!w;��d�z�~¨�*��ɥ��L�:�q��cR9��2��W���p���<qq����_�;1sHA\Hw����`�-9u�1|Y��ůR+>@~&|`���Ѹ���Xuz���v�]sT�%�H�<���<=[YG��@ڏ5�,C�_Eӓ}o�ڱJ�h��O[(�2��n�T�r�����țit5�7#;ϝ*�=�E�O5A����OQ,f���G�
�x�����l
$��[��pX�ْ{��P;�J��w%vu�C`��w����>b�jIM�P�i[��.�)��P7��=���t �ӡ�y��_�/�0��d�_r/������I�qpC�2���Y��U��1�c�@�l�2P�6�����
�5O�X�Y��;;%S-r��`�u
z���HmW�^@�3�
��o��<P��"�u
�0{>z����7_�^���zuz{j��}�����%?�
+�^��8o���fZ�`�����^Wxk���y��w�^=<<����l��8��rb'z��C��kp�`G
�ӀJ�-i9A��^��j���{�����κ�%DΧ~�&�ӝ�����瑱0�,V>��#��z���̎���B���Ϝǯ��c����ޏP����
��g���J��T��
hr�E���	q�L��^]N�8�YMS��j�7���~��?E���U[ſ��ԫ����C<���8�1��(Dž��#�ᵶʟc�{��*�yt��^�W�R��llO������7(��
{�D����?a}�8��K���aL�樂��je����iV�HW�lz�s=�?5�R���4�GQ�� ?X�+���0W�@�j"�ZLD(��o&�H[��é^���d6�z\�(��EM˒1��6��E���Q�6)f�n<z����6�—܏p�b��;��
�E�QR�Ѓ�\�Z�w8��￑���zp� "V5rA+��4db�>�dn���L+x��5�<��ʆƉ2�ciѐ����Qb��pt�1t㒖%��{7H�v,mυ}�U��8�kTפ(�l(�ǃ`T<e�&�:nB6�GS���Yg@�O15pB�>`�ګ#Iݥ�U��T1N�'�q�g��I����*X�DBtsaC�B=Zo���
�[�pvl&E)��~v��&q��|?��l���*)K7�J�Г`�?U��o�bw~��;rC�F����Ž�m,���v☀�F�����<%3�O�Y�b����F@e�����4�+aj`-���������N_.�I�D�+��╔�.=�+M��9_���ߤuQ8+�OSK�"����M�R�1#{%|���l�,ﺁI_}V�D�-�j|+����s��ƍz5�7�,���N��x�2�U5*�"��"�*�~V�d�jP�/�׎5Ր�G�Iݤ����2�];I��&���&����Q��;T9���՝
_�4��hه>��@o�M�6(�?�j3U����߻1���w9�<W��N�T`$�˺M��d�\V'���7����G7�۟��:|�S��/���/�O��
0h˲��U��i��������?�V</�jd?z�r�)6۬�Y�����g��X����+k�]J&y�!��jbY�b4��=�G���V����ܙEte=㓋(�`S[Zg[	�f�"��)h`M�� a��Z�(+UH�����R.,Y�=b5�K���bhy���\�1D�
�?q��?�$�*���ԁ(�bzX�'T�>qR���fM��'֬��	�r&���Yµ����~��_)A�z��O�-|���u���2B �y�;\��	km+�9��5�K�o�9�-��@�~�>M~�WۣH꯻Hw�I��b��|��8�`�W'���(��a!��2���-�1c�Tx-ڛe��؝�9s{�i>�4��ߙm���s������nXg��_2W��͸~���o�n �e#�F�T�R��/�t)��p'BR�@�؟�͟�Ҡ�b+N͊��&1|�?<���W�藵Y�X?�m�xc7u�wSW�{Y�Z�n��]�McU�5=���3��r�~�d�撁�F>M	�^�%��[9�o3#ݟ&`.�n�-xٌ��:�&�ęc�=+v-�fh���Ź*��	�&N!�p7/̓�.'�v�ȍJb,j�$5�wҩ4���q�j�$ =F�O-�ՆR�����ʼn�]���Ka��X��|���z��4�bV�Q
���g�7�汫y<�
1p�G+���M듓0E�إ"�xz�+����z]`\�:=�����%ۮ�*��5D�<��L*K��]�u����;���8��:�(�����hXy�*J����B
V�Dȏ�&j_S&Ha��������Bc��75)�����7���d6W�s�8��Ie+��?�tt,0�c�*9W#�Yo@!���p�KF$�px��G��r��[��zY��%u�W��������M{0@R�{�TL7V�)�g�����lIm	�UKQ�Nv
6Z.P�m�#v�[篾H���������
K�B��Gz�$��C�h�-�GG��Q��@
�>��T`n �+D�!)vGS��0��Bq(���\�g?`X���8��H�^��$�ۺB�lN\|��'��1R�F{�Q�yE�o��;,}��hJ5̟@k��(n�¯Q^��b,E��ӗ�[�����_B�?z��-������
gؼ�K�A\��FwA�Q�U��`-�Й��^�L� �D>J��|�V�.�:;�����B�O�Z4's��F���e*��l6��3y�^��K|���vūoD�=�΢�=߾��*l��(f��9qf=����
Je�>�4�IF�6hN8I����,5IgjQ�I�a:�f�a��S��F��}�#�Ro����m'A(0f�  �����������Q٠n�sN>%KՊ��B�`���6�c�f�M�G�-^1ˮ��7�4Y���"hY�_	�/�L�le��t�pHTw�d��ˀT���.Ih�b)����iU������yE��-��Q�9@����q�J�E��dW/,%U��	�y>�l�������'�V�(5/Th�&7�CrÒZ2,��rز�r�e��%w2.�l%#
˥�4D����1��Q�Յ�
�k����U��GE
�G^9�ܒ5�Ioqd���'��K��^�X�sh�b�IId��MشV=4���E�M}˱�N
��mY�Œ�Tř�D������BѮ���ӻl%�$Z�L
�Lj�?k�֥�T��@�#QFC�w�TLWtKnY�������|�"!fX�s
Ƅ<xҼ�l]�9��b�ą9.-�i��w�XO�?&�^p鿬Sw
�_����Q���~��>	f#*	@S����La���<7�{�'^:�u��{���<DDc�`7���w�(�F�ˊ7�.��`��y�I6u��߉�}r'��>���8��S��G��XJ|������2N�q��N��K�H5�ؼk�<��]g��w������u2�ˁ�)��4�S�+�W�K�gX��	.Ɯi��,���r��Ÿ�Q���<-zU\Y(�Ы�d��K�YF���,���fv�N����d~��X�H���)������;q�WD/S��g6J4�4�N��D���wE�r5!�b��w����0���d?̋e��Y�ME�� RY�э�ֹ�@�o���$ _���b� �Θg�[�,����@N���eR�����窎q���y$n�'H�8���^0{��GBA�ԬE9J�5�@�Q���,�O�D�SA.�P�#qCQ��J�p��i�π���}9��V���#�c�h�ڋ�[O�5���?��)��6}T}EW��j��Xe��Fq���V�	��&0��]�h���1�P�[j�����,����i$;�f�Ԁ�O?2�j�����I�$]J 
�
w.�O,�Iqb�^i�-�'ϟLfn�7\�3X��ʔ�ÄQ���z҅
J�aP���0�E�����5����XM�W��aq?�hTT�(��>�_�-F5-�c�/�יc�[im<|���6��B�j���`����[��E�Xf�4J
�Iv�F�Ku¶h�J�Î�G42�d�I�Fڴ�p#��� ��+0n�,q�R%��+�v�:�I��֙�R$��2>��Q��x1Q.N��;�ȶ`K(W���KZD�uTjA�'�s�v���xy�ְ݉��~�{�k��!_��6�����s��������bf��(�"���J��y��J�DŠ,}�v�$]U8��G���2@�ܹH~|G�h�a]�O��;�T>
����+�PW�ܙUE�zc�fw���]4ס�SY�%�J�K�~���d;�3l�u~_VL�Mat͑X>�W�-iYr�M0sb���#����?�5`�y���o��4`���f��.���Z��t}v&/jYE>��O[?__�_~�κ��ڒ��,4@��-kq���(��a��5.�����?��5���4܀�b�0��I�v�?��/�?�-~'?�?���>¿��?}�>X�}I=�.��ߞ��f倘����,�M-�Yz=����O�܌�Ӱbd�Z�T�^�h�F��a�Kl��Š��YW3gjG��ŃU�@MR�WC��=��#��T�����i��4�q�"؅��1�ql`�Z,#�ď�)�7�%;���K?�aB�R%�����ِpFTږ���z݄5��F�9iYM>?R�nMɹb���#���Zu��
7�wt���
��b�ٍ��%����/������������߾�1�z$���8��S
�t��ܰ��4��v�cI�P.|����L�N8
\Zۏ*�q��+�na�D�ǖ�ͻ8��{����a���aN_�}���+�jBZ�h�ǔa�hZ�q2:���-k�+�6k

��_��0vs)0�Caj�)�D#ޟ݈�Y7��_(�_n�������2C9���X�HG�5�XGsG�r�Jx�8vf���Mɾ�;�TKQ�\�݉;�.;��t�K��4�0���dU
L�X���!�疱�ed����^���C��
�Mc֢k���;md;��8�ŗ)�YUs`>�@faٚY6�Ly_-�s s�<Z�H����W�
�k�\#Ž%/եx���{�U����U����10v�su���G6��읙�D!��g>ű��@6`�fv.�VlW�{[^�t
��P�v�*ۏ�8N��c['4ci?��Yuz�r�a�u�Y�:N�ٺ��qά,Tc�8TJnw�^��zY'�|�Q�M5��C��#/N�T�՘�e�2d�z]8]M8���!���ii�������:tQQ�Wݫ��3ðޯ���4�:�q>�Kz�bjz�'����ln:�gEF96�y�q�i)�?��C�ў>=��C"����ѳ���(Z��n�b��-UKTу��^�_~?L��|R��ç~DL��U�2i�*�~d���C!-�kGV��4T]@3�r�jQ'�._9Uc?Roi�į��C���c0�/�EeR�I�f
^De�j�3�Bl�pw銦���.k�.��#�(�>M<�ѲfGZ#�ڈCI%.j���<I�*�aS!�jB@.o��A5	�Y&Է��x57g�֎^2m�8��m���[��/e��h!�B̓�Н�����8��k����y7Q��܃+��#��JY\X�]��b�z�4��%1RTߓp,c뜡e���55�f�?G������Ế���_dI/�E7ԅ�g5Z�U�%�&�jr�*�:<ۦN��o��
%��i���61[Z"�aY�䎆�������jcu7q47�8���,�f� M�������ˢb��C+G�4'�E��nN#'���B�U�B�1nhyd/�ii�R����`z!7�X?m�%�����.P�*���D�r�F�sÃX�S\$'+_��v�5�[V�rLEݴ�5;/�1z_�-�����(��kX#sy��m�t�]Z�U�Pl��������
�	1�ݴu���l�H�<R3����6L5,.��墳,�du����B9H�o%��f��U�bUH.���j��z�9Ws3���_�@k/��S�����9Fm�O�������Q���2�
_�ߋ�eaO�k�x%u�e�+Yi�*S~["]#�����[�Ͷ2��!��>���6��f����`�}�6��4;)P�yǥ�N\��`�Q���kߚ�"�s�
;��gC	��F�J1E�8n�lM���n�����)Ni}���+��J�Y�!��ezy���݌`wU��J96��	���`�B�є��2���l69���B�g�%ˁ�p��	G�N<v�Sb��c�Ruv�	�lĹ�U�}Y-�_n�Ge������uG�o+e�TI��u��tJ7䰑dq�>G�R9�t�n�[��Xv�0e�V9pJ��u΃�􎿣;;���Q+_cu����u�w�V
[�����6ҾU�Smc�$!׻�%�X�$�ؚ�GgAc��4�ۥ(g܊|�x�6�<���\����D�b?f~!V�!Yx(ugj�!���m�kԿYEڛ��
g[�RV.\
#�s����Q����3�5�c�GHIe�;�8t�G�'oWcS�m��K����ENwy�F�B\,-��SE�tk
w-��-�8���=�fU����$�+�������A�^U�R��-��6���k�;��B�і9H���`|@sCcR+�U�M��.�;,w�a����ɮ+���1^���6�ވ��1�6��OA���fd��#{�0���	BY�8��HM]Uz��#��l@�Gͪ�o�L#��@�6/0���A&f�>GA{�͉�f�4�$��L�SYN*!Cx�=�8mRB�b#�;���ך8M_���g�M=�JD]&89�7"��}�e:�m�+�1�(�G(.�"��Tz�.F(���u�ߐ��}�ɗ-�uR�͔D�"�TΤ�`��� |�>$�S��Č?�7���&�:�������G��Y�`$8��-�s�=�r`B�Bk�s��#պYȌE$c#�Z��Q�S��W(�f���g>@�Mu���W��L�T7O1�R�"��c�/Dqu2�M�8��੒v�YW��P�`��K�P���e��*FV_̫�95�i�y9X+��,����g"��i�`9����Xj�)��OW�]��hIP(���{ٔƣl�,�ȇ��p��+�I�!�J���
�{��b�i`r0�U�'/$C�l`,h3�lv��\�bb����"b�Ci�v��s!DV�Y�y�1If�v�P��%��b�.�����y#���6ޑ'Ä���Փ�Z�g�� t���1�}��lŤ��u����H`h�O�">�>���@����4����*L�+*卅�m/�_��ޖ��l�N�Ɔ�����JU�0���7��Z��r�>h?��
�
�\�Ǹ�p�ԧU��-�M�!���_��B��4W_sI���#'��׏�^�~�#��G[�4'k�*D�Út|@�h1��)�!�H�pI���h�!��0��Fݑ�6��](�^������R�nz�=���Z^�OH�ۀZ�x��_�@��Z:���ת�Y��շ좲�8x��/����-,��E�֬��cU���5l>���V�A(5�rw�P�+�-ѹ�۳�������R=�q��&.�v��̌XܟJ�oB�b�-@����WRs7��l��n)��7,߭��U�X4��+d�͗P<J"[�la����S���m8��eî�ӤeLNc#�-�b���<W&�g�>�V+8��"�~g��_��P�e�,p����2���K����w��֥3�F��L|�z��k��%��h��2�`�@o.�H@2MP��5f�L�0a�&"��¡Ӧ2cE��v�Z�!2�+���^ci��ɡ���=��\ ����oaE,�EY#%�C��O�� 1�r��ð�l3��S]r�!�7T*~�ȃ���_Yǚ�a�S���J�=j��UV���Q����~)*k��ˠa�1@m�<,4"t�j:j��}�#�H��������Ɋ�h��к��?s��
j���sI�@Nٜ	~��A�@<K��h�q�g��v��E�)�o��_?}:�����ŗ����||rkQ��x��1��@Z�&�<R��y?��_���W�
�q�؆Z	��-��5�;�h.X�\�0"[s���2 J�&"[Q',��Fyٕ�$zs�Ah-������3���$�Kot��zm�j�k�9ĵ��:�ُ�`���83�H�Vj.4D���յ�0}�����bIۃ�
O�N��Se��s4�
��?,�{/ξ?>�K%����B�N�?$�/��y�="�h�� ��af;��$�D�€!|,;h����Ȱ�	.Xo��n&���o����@<*���$s���^����;n�!�i3���`�-��>	R�ʠ䉩=~Z����y��-�<Z#9Uz%����=Ŵ��~�؃]KAU�#�K�O_�p���J��J)trǥ�.3A2Y�1��)�cѝ�Q��3��l	i4TD���$)Y��A�����p�a�;���W���b#JO%��[�0P��4���!��#F�(�H�Ʋ���ݓIx�}���J���C���E�q�6^L��
��ԓq�z_|V�:ac��*�l��X�c��}6?�_�Y���<'<�\�H��2�.;�T�#�ܦ��i�C�n�q��;L&�E�)��J�B�D��Wl	{��a��p�bX�
Z9�Z�� �=�\.Rgvp��ԈbQâ�R�I�l
"A�$R��(�Ә���ӻ4Σlq��*��,����j��U���kM�"�2��n3\�J�*��Z����j2ڱ��ׅ�U̫@�貽�>;�W���Y��>�<��z��|�h�#xխ&������v��(����˙Qr�k�z!'r�C�� �1O��g60�a������QԾ&ed-��x�V��~�	
��j �@�=��i��[�L�l��l4��4E����o�r�V���xhXV$7�vU[��xF��^�j��҄�������}�;���=����,�"fb}q�x�Z�(��p1����״�?�|�h2g
h�c-�lT1����fՕ�̋z� �e�����['��o����\~�;��r ������LĪ\�T
�U	�a�jn"i�q��]�(�� �G%�ݸT�ݬPѝ�<E5�%S�^J7����sz�����k{6O�Y~��oXJc�Xr�]��5dE�D����l3T$!|r�Às����L��D��O���z��zy�3��g�%�1�:�$$cO�e���.~�B�nN9��k�����-�$�j�(�Ҙ7�X��6�����
�U��P�^� ��K��4
��T�����$K;�lel��H�)�j,]��7\QQ��t�OŴ�-�^�Q����7�W��m���eɃ_��^}��a�p�@Wp!�i{ݧI������ȚY6���=s:ēnuה��V���B�HO�+op����Mu�A4;��`a�e����^�jl�����F�z^S2��9DLQ�ڥ����S7��
�a�e�=�)�3:�V�Aj��"̤�|iS��i�GBJ$Ew(��:�Nּf}�h�}��KU
�O<o��uP����[����E���i�\�V�p��Bz��VOڐ�h{�yA����I�<��ξ��wAm��NPY�%M�d~G���bX>�܆���>R,[�~���L�(���ʢ2��S��yS[�KO�������(7N[W DƗFph��GZ=�i�6,2[
2���Փ�C�n��?_�����:s�ȸ��9,O�W�*�0�TEUK�ם��k|���d�v5WP2���K��R����6���X�xHs�]S��a/��7uJr!K��/��ý�9,�39u���~x_�]�v]/������A݉7J� ;!`�y�A�q��SX����R-����F�#��V�}��!Kp��:��`}O���O�d?�f�P9ªR+�nk9�SB�lmY�EO�n\_mxy��b�V�7�t7-,�ʊ�%�+�f�V��^<kK;:%��)t�lXZ�+��\�V��Bw�bZEa�U�QC��T������E�h����Ӎ��r�Kr�e<��8m��oXL?���h?��v�i���|y�ݾ��)�c����z��wX�oM�6�nL�E^�B�1�	�����0���3s�=���OQ�PN˅1(p�E���㘚�`;[*�(w�BXD-��4�<��d��\���ְ��Ⱥ��:1�Z�d����U9vWY���h��NU�ҽ>Yn&���	{�b�FH���$��+�ҽ�|�Mu�T_����,��;���G�����n)��Ƚ~hI�N�HO�L�/Ms��@�q��4F�*i�5���oJ*�
Ma�sm��H���w"r���*�1�ܘ"֛�T�[_o?���uɊ��H����͵pX��zyc����޽��up��,S���la�$<1���X�A|��ާ_��������1գf��4TI
�BU�f*���Z�q�O��N+�#TL���C�(z��F��rз&��ьѶ���"�u��8N�!=����9��5
inh}d�C�>�AWyr���1%P>EY�L�|��1��	e�v��5ptVQh��'�zf�����)�eRzi�J�c�*�x��NЈ��dz�)P͑F�U����q�ş��\/m���w�2�B�$E�OE�T`M`<S�?�'�t��IH;K��l2��j�
�#0E��'IH��u&EuX�nR@*�7<C>c6ɑ=��8�UQ�x��y;?�5���G�.�ϼ��!:V��f�#�G� �p�c���������l~pX��םxJW2�^g�t�	տ)���o��
�L*�m��d���X��G.�I�}����0��|�s�"��Q��f�VA
��f�xi`�N�
�Xxo��;BO.�9԰�P����kV�;�������Y�2��#��*��#��^���a�h,NS�e��Ͷ��Z�A)�H��\<�(d��K����8���q�|��N�����[9�h�����#V�N��X�N�ā��T�
��P4C�Fe}�{v#���74�{�N������&ȗ�+��U��@���E�������Y����z��᪶��|M.�{�A6^Z��*r��'�Ϳ�+�b��Y�Jꫫ+J��[@��4-�dj<��Em�k�S<�(s�N2���]��<��eaV;�����_�?��Hr�o��\�(��M��8���>٠�΋�8b�^&Ɠ�J��E��r4U�H�u�[��C@wac��q��Z_zvk�{�KkaU��4��̟7O�h�Z���VDM6���+�%�3�_�u֘0P[�XU��nv�X?&����]�u΅Td:����0�X�7O��?r�_���� ~��7�v��R���������dItGVH��M��ه?lP/wRP/��0G�|Q�A?4�"$a��%��IGvlL�À i]~�={��UT(���4�쓇���(�X�§�'>���xH{GQŏt�j���L��L������>��c@g@��+��a".�L�E�����E������+3�m�R�V�,�ptUp7���GuII�r)>��8��(�\l��}ͷM�M6:H�����ZQ���>FX�ţ�V���5��Xu�X�I�����t�,�B`�\/]!Mv��I���8#��;}e�7�3�'�3Fx���#�����&ʫz�A�X����6�BnIB(��jc��4�t]�@�'ۏ�c�����߉�A0j8€�G�ˑ�����f��פd�Sgx+��^3�|�Ӕ�"�M���"Z�\C|X�E��
�է3tG�=��Fc�g��YY��=���󥅘"}����O�\���R�h�C>�8=e��R8��pmG6mp�]�8��H��z���)N��h =Z5�U�� rp�H����]�.��
���F�\~��|+�O3F����Dr*�>u&������P�>A�h�͍���wx������C"x-�h�����_,ݱ�?u'�_B?�s�ź:�>����P����=�S�Pv��qj�W��*H�\;ej���C89n�ю���qV �jo��a��2�<��q�-�|�,�@yT���Ǜ��ۯ�g�>�D��}
8:�T�����BꐵSh۶���eý��x�]s����{AuO�M+�g�NT�`����J�Ojc��(��J�c�$�[ܚx�R�iZD�t�ޞ�|�w��%��/��he�|�S�o�K`|�[U�W�i0����
�U��`�j��1w!�=���:9Kĕ=�m���)޳�ݲ���X~��B�~�v,qH3�v���9�p��lL��Ua�1>r|}}��-�9T��fp�����L֪+1�)wOTFW�����Q�?l�e-��I�L攄%����wPE�|��~��G5e�
+
q>��*�0�
��.Q�|c�jsO�O}��
H��c��J��2c,T]N���Ƌ�L�
���Be����Y��4V�������Fa�i{Q4P��,�*+p��i$�"(�0p:�ô.��s]쯊���5���q�L�yp�Zm���x0|�����R��։P��g������2��S��F��)^�p=�MA�^�h�֙����Q�9��&&�?H�!����~/[/r�A��1� ���3����h֬�,$<�c���d"3��|l(����A��ˋ�9�w�T�ð;����Ĩ*��6��ri���e.Hl�k�]�9��n�DҌ���՟�c���Cn��=��m����M��z!T�PtSF�����(��?Isjg&�
��$c��D�#=LeQ@�T������O������E�;8�7������j�}�rd�'���Q�g�!O�u���CGT�W��p�7�A�&s{S���~9�;�a�k��
4d����Ŏ��{�<!]�L���SD�r�F�A��Ѧ?��|��mٷ�?Ω�)X�ӯv��p����(;Goo�gW�g'Ƿg�אָ�.Mr�,�e#7�{�J�]h����؎ؤ�����@�^�K.)&�g|
2hw�����4:�t���FI[�;QUn]��Q��1�*n(�d��sՁ�E-�'����7�����,©��z��m�d���ZB�z��Ty�CYv2E�Q�ɒ��M��U2�,G�_ҕ��;��;5!�e�Ex�"	N��7m�ԟ>��ȯ�Fo^���]��AZ�TD�')��_F)���?�g`����摦c�i�EhQp�hIa�CN�7�f���ela�5t[��QG�`�k#xX�`����'\���v=�5��n�kl�V.*�|<��1��i	)�b67�:k��bIђ0�`mH����S�Iy!��X*���s�wP&�E�D
0��)�>{�q�ۍ�7�n�(�j�MB�R�d�����y��RA��NG�N54]'q�_�eʒp��&�x�i����L�wZ2<�uT�:-z)�$D�C�TgW�'P��5�A����D���[��#�J%׽'D�[i����w��/��*�v#�E�.�C�;��BM^��*nN��+��䒽�!�l�4��4JȔNWZ3�}�r4��Q��a��J��:�[?r\{�,D�Ρ3G�б��ZEN�^����,�
��*�i�-��d]���6�3�~t?�l
d�����KG~�wޕ,����16-Ċ�N��-��EUd�����'?&E'a�W�lSj�����ţ���(bJ}2Wo�\jZ��4�1�R��)��lR��W ���Ϗ�޶���zn%5�c�����L�!g�ˠ�"������!��`��vK��;;�?ϼ��s����X�N�y��ⶢ�Z��y��!I�D�/})Q���#l�ܾ����{��%�qٌ�Lkd��i0n�?��ol�OH�[T2zբ���p_���a�Ha{Y&����U.�OUG���T]��v�i"Ou��r��������y0.��
�G���eȆ܁,F�fC�1�t#�co�'���#		�z�wHtfݔnP�t?.';�	���T�k��!����N���0�ҐX��nj���{�nZanSݧ�S1��Z���-+��M>�D�Ɂ:b�τ�/��n���]���]Y��M(�F��8�������,���J�0:)~Z����Ԁ��k7\)���S���I�ϫ�n��Qht$,C؝��<�m�701:�;jah���^k�1u�����j0[k��n�z)c��SjCH�u3�iU*��z�U����{렙����2 F}
զ:gﮛ.X�dfO���T���N��V�^�G��}�����ڔtt��8"Jb�,x���*J�05�K�gzRl�����
p�'�RaH��k� ��/d���oj{�6�I8�A��"e��Ž(HF3b�@����͒�A��ᴎ���^ؙ>�z8�]W���Ŗ����a��B��.=ȼ��Kf�%E�ɭ$��ɍXeSW&+�w��ʲ�1��}k�,�@C�y�.�;��=$��tO3�ו�K�<a��"}csl�'�t�A�����tN�,\�6_\�v]I�hS�]���2^;G�3G�&�Pͯ�3f�PVC淢8�G�V�`�b�{�ᗉ�ɕm��Dg3S�������'1���_�`]j�����b��i8�Lx9�v�x��l|�cF0Χj�ќ�/O�ѯ��{Z�@�MtҼ�d�=����(p8��
l�J�u'���x��Ə�E�-z�){|�I��}�v�u�vT���uv��k�^�$�a���!�*�&�	&�O�/x�ձj�$A��m#��C�<_��c�9m`�?�O��+XcAw��X�3*����)B4�2�k�O����l�a���ڤsX;���3i6iu�E�������sP腁!�v�:R�T����eN��mX/X��_�ï�<��o?F�Zl����n��,̋�5�ɮ-���&��ޟ��8�t���v�����*�ijU�a�f�g��̯�0�S)z�Y,ؔ�F�P�e�Z��I�S��\�Bz�7��P�bx������ֲ9��i
���|-ӴV�F�"�o�\K-]4Q�݋�e.�MT;:���'�o�G�u��	J��Rf���7��\f%UM�y����,0\Uw.dD9��4P)�H�6���L�Z��9��A��!8�4���I��~�����~tf�BF�ޞ�(�Y��a��H�G�Hf��������d���I���χz�{��b�f��dHr5�������n��f�v�3
'��֣뺰�E�R~R�n��z�@ ���:)�{��E���ɋ��=��'kU;�+��p+y^��yF��:���s���f5���Q$
�P�T���YcO�]O�?��SLS��QǾ��Z䲹�b;���C�޸#��R([F�%���4���^����#j�){'�9����X�-��Z��T�xZ4���g�;�.���^�zxxN�d��WQ0��P�r��{5�E칣#@𫛧(�W?�<�����.�y5L��_�
�\�E�y��3�b�I���.`v�fSI��xEi�!��^���wehݸ(羧ge�x���{䞁����ͭ�+`�����HE�i��RQ��95�R�a�M��iK���	���P����}��,��Ԟ�����qpxx�D��Pv�^%\M�����ϤDZ��h=�����Tx�b}�Xx^�O'�!5�+YTr:��^č�J������-17*[R�q*r �URy�%3ϊp�3A���{����r�bS��fvL��#��v�M�1k�o�b�nW�h��E�T�׬�dU���������棒A�X0�t��Ƥ]| �%�[�֩��$�Nߢ�)��3;�f���\nT�=����u�,�S�������(<�o�M�f���X����Qq���ܺI/@��j{|�e61�5���p$K5Ӹ%k<j���R�z�w�A]7��-E~\�+�J�vRC���(���\N�NQ���4�6�����o7RJ�~`�	٨�w.u>q_��˓�f��P����:HQȼ�j%U�b��ɹ"w6g��k�P�[m����ЪHU�
[�T&����f> n�d�q�L*7��ۖ�3�^&&˯r̯˴���-�\/>e�C�g6'�@d&�����>K�U�.2y���_�O�K�=q��x����o({�M}s����㛥��]��Ql�%J�7�6�p���\�uhÖ�u�=����EGb���������E�/!5��Z��_�
��Yp�D���l��ƴb`J[���!)$h�еj�)j7�ũ
V>V��8�×i�-v��ǔk�Tb��.�:zo��5�GIW]&IY�?�p
B�r^p�2�OB#2�Q�>�i�,+;G� ��Cm�W�TO�-D�l�\U��v�;x��֩���$����`S��rf�`N�߂���u +�8֓hXB�%�.��~{b�|s�.�~���@]�楓?��:��!n���Үr�܆wε�$�ȱ
J*`�����IT.�){|g��R*�j�Ej9��\.Q�`�hA���$C�:�v�y�9�)Q�����Ҫq ���^�\1U
��Hg��nJu-W�<���fe�!�4�x����o��SP���D��u�2��M�Re�hG�-��X-w5�Ö��Vu,�r}���]�7׬r��!���\*[�G0��TSj쮕
o�����RC��;��V����'F6^z��M�l
R}&cl��e���9�<K i�бeɦ�f_<XR���^V���<2�-�j��Z�߲��*LnB1�F�崁�j�G�r��=}��X��ˊ]8�xUKJ�a��
8�j�������jس���*�MC�˼9��@ �R�ڸFzrU��a3ע@;=
�\eR��5'���Q)���W��U�$Y!<����![}l��v#�"�;qٳ��3��m��5�]�0��',���NQA
���Ř�j)�*D���·*�F�[��n���%�)��@6�}�;���f	p���j�$0�������'�Ƿǭ��!9MjE��R�r��%�1�B�z{�6�Ô/��=��vs#KW�rQ�X�5��+aO�3;=�R!��-^)�C�-ys����dIٌ��(�"��9��h�$�<Y��t=ms���oB��|g��:�0��G���L���y�@O<�C�ƢUQ�-��%��������͞��nD|�;m���T�t�W������	�2j<�����kE�������R�Ӄ�r^9�ya]��y=$.�m�Ҩ�?lDqX�8�����3E>���٪�8�b����7w�-\�3�l{+ӻn����v-�4��cj�W�ET�͇������˛�P�J��p��s�l��@����Ԡ������
�,7'�<=|�~�ޞ�_����Ж�'����i�����/d���u��mKF�;�\��#�Ql���<��7�'ET��x�X�~�*Ϳ0�1|�i�cl����"�S�u|{{q~s��Z��\Bd-��iuZ@��no�"롴=O�K:��4���glnK���Mτ�6�4�>_ܜ���n�6}��T(�t@>CJ�aD��ǒ#���}}3|�u %Z�T���SkŲ�犦*�����C�ҞDdT��O~�~S6_}"����/��؝$�vauR�ۜ^�ͩ���=���p�é�W`��ܒ�5���]oM��6Ȭ���u�I��b�RϯO-�"/� ]�֖��nP�G@��]Bќ,������#�:vl/SN0�6|��'�K*��2���Fa ��s���l�.n�.��)dg�&|a��?��6	��)��"�=n�"�i�#�U��؅���Ԧ8����n�@	�u���m9����_�9;��[1�ѡ�Z0��VDߦkڠ��Wz�[�/̐�:~.Emz	L��{�Wx��'�u\�<�s�g��9e�v�Y����G���d(����)�<����ف}�*��:�rzu���JTi�G��bTe�:{&�g�a8�'�'[��w�]�a~�'qO�[��s�W���*�p��J0����ev�蚬e�\R�rw`��GqGq6`cj���O�ƃ�>t;�=[���~
™�$:C�a�XF[��W�)2���n��^�A$��&�Y��P�F%q=ơ!�F���S��.�,%�b��}�|'��p���x�qIτ<�O{�(��R��ar��~K沓�ͭXa�x�}��s;l��J�>��n(׳!�]��e	o$V'H����Y�ۻ;�:|�[��w�t�<+2۩�s�:zv���q8Z�m�x*�N�s^��Vh?<�|��A-��(�����M�h�B��ZzU��1֎�i��x�D5���׮'��~���Pg�~9���z��f��$f��K��+���*r����#:Et��/���Ui�����s��s��>z�%G/§y�����by�y@��S3�JG�w�v��#�N��`'����>�q��u_W�>�/�xg)h&�'��ij���GR��H���}����0m��1_x<f�is���|�g`�Ң:;N����}���(���,6t��f|hW�oB��+�IB�(�=U����TL>t�=(n�wb��\�^0��(%�E���&1�'����Y�*�7u_���S�ͣ޸���f
�^���kl S��/G��lc�)>�B�nkB�x��^�m�u�,���S%�_'���"��}�E��m���N�
�����$���K��G���pW_R��~o#����4v��>|���Ž�'X?>��\>]]^]o����H��Q2=���}C)o��o�+欋��U�pl��Xa��g�z������$��^\g�y�tkO{woD���A���Ǡ����)�4��Q�I5�§�l��2
�⚛��d�N�@P��PHF�&I,ԭ�gƃ4��Y���_d�X��eoT��ד���XL��K��0@%�KͳM��n�	���ɗӳ�6(R��;�	���M�c���̈����,X�����*�r��	�����:8Ez��ȬS���	�nC��!�}�s�J{������OP.P�q'���̣�g�=����{&|�;_^V�����hQ}�G;r�p��F���zR�Om��<yU�&.�c��Ę�`���5A�8��X�����5���
�̛<�=Ǡ�2�b�P$�
�Ɣ3k���`L���T.����vʾ#���U-��}<
�lhQ7��;����y�
C�B�s�5���7�s;�pM���?����	��w�4^稵x�}����I0��^4r�l.]��_^��Ez���sG�О�u��B��o��|!A��O��C4\�^A����{hy�۾s��$�C����Cp�����e^����f2D��q�.�Y��c�@�;�w�	+� |ڰ`,�ݰ+`�<?��P#_�|ҵ���vF�']�,:����r�S@v�u������~�cp��)�����) g]䬧���Us�ӫ�kj�E�S@&]d�O@~�?��]S?�T=�,�H�S@vͱ���' /;�˞��k�]�NO�5����e״�˞j5W��UO��5�2�U׮���^5W]Ưz*�_u��u�S��U��8�ܞ�k��U_���y�z�=��oz
ƮI�7=�"o���~󭧀����n؛���7=����cp�����k���%��]伧��0�?��a����G-�w��l�b�S��n�y|���[��N��l>	�nVC����"�ۛt��{�w�)ڏ��r�<z���Y]����O%���zܧy��͓��#;�\���������W��+8�[�ca�}�D(�W����������ZX�@
����\�Z������{A$��'3�q�5�����>���X��}����.Xi�߹��s�ZV�I=�l����?3����睳$�V�C���5wQ��8a���V^T�@
ѵ�"ZS/�Ѿ���� ��{�>��ށ6�;�)@-��gɷ���7p��ub��)�<���j����i�e�i��=:��U�؝�oA�N;OD���^]���A�W�;`�Q(�KZT�@�N�B�ގ��H�$aL�s�N�2��N�Ϡ
��۝*/�o�<�:���F������]�;>�8t�Љ�g�`�b�}��(�/��CPN]�Ȩ{ 5�C��cw����3��uO2P��+8��_�bB�B{��]\S/�͔si}�ݹ��v�? Ʈ���A򴼣7����
(G�q��wt�o�:����^��������iB�]#D����o��R��z`w6�\�\S��;�(�s����/����j�m~y�o��Y?Xfm}�g۳��]�ѧ��?�œ3�J���lݔV����2�a�A���;@��X�]� �@]N���U��
�jG������@G�{���m�9����k�5�o�����e��E�ԁ?
��%��u��Id�-]�jfq����쮹����d6a����
�_�w��gКzH�9���U����@���p�k1���"+KV�;���Sׂ�hM�d4��W�7`v>��a�iX�@��_����,Xqq}�5��c�5�
�7w�}�L)rU�����^�N�\U�9�=U��h�s�m��;��16�w�PV6���?P��۽<>��ށ3�P�,z�n����k�-[g.l��s��un���RX����C�c��܇����1§��a��_j��K~3{��1�'�:�h��7P��S����\U�9���{Фe��Q�@����aM=�ω��O�ٵ����x�z��*��w�^2�Z�*/�w����W���CP��d���ߺ#w��(W�7`~���k7���;p��VrN�;9����Н��-��w�����
�>��o�'�4�..�� �l%�eK������m�ֿ�]�a��@�;��?�G��t�XP��>���,�sm�J��(��=;�� ���	��� �ֽ�?�z��+�<�\σ�=Yq`	�K�^���;7X�$�O�;�G(���H8��ڞ�{�q�F.�49V��b�԰QL���S�{̟���(a<?/ѱ����>�O��ׯ�X_#�$�rk3���M�b��a���d�c��
��O'o��ZG։z�i�L=;*�7�L�h4������W����E4���8�H��,I
r�Ȳ�z`w�q`�S?�/B���;Nk��G�<$xf�٧o��XP�y�r��f���Q�к�zq�㏁�j"�p��f���k_1Nv�N�I�#��_}��
CVD�|)s��|��NgPd��“���к�o��9���Z����J�B�ۏ<�
{�??��\$�9|ح\
�=�.�X��yŸ�w��>�6d		��$�����w}\�w)=�s�T�2	_g��NBTFʓZ5J��s 5e1�	��0��=a�+c$�`�k/~�'���{�GQ�>I`K<�a�t1|)ugV�e�MG/�ϣd2a���<,��ܸ�#I��/��R�߅��?P���I*�xAK
���"==�N�����+�OOެ8�tm�B&nO��F|[}�H�x�8dE���iu�'�S�C�AB�����ï�	˧��Ga2�W�k`���gM�p��� �Ñ��̚�B2�h6��$9և|��X����g9�2�O�\5�kCL�
Ǩ�fڰ6�
���ӻ0Q���F��	\	4���|A�]Bt���:�r@ �yܻ��7^e���`��4��k@W���VW
��O�+U^����'A�;
��^����ʆ!V�z�쉑{f}���;ɼ�"~�e���$)�R�h U2p�4�MX/��q#`"�OJ����
0��1�c��*��D��;��A�0����d�(V����6�C�+�N�q�k\gQ�k9��О���\"�Α�4� !Cr�i�(�>Y��SĐk0��J�;~�P���z�环�����+��\vM7�k2j�֓P���KF-�M���V�/�K��4}�n�,?kO|7�R�}��ơ$f	*И���#>!�yb�*V#�[�������"�,��K�#�A֕�`@ձ-����$c�B
��I�u|�v@B~j2'a�ܘd��x@J��;	�t�O@jd�#U��O�D8X�'�Wvp�-?�$�F҄W/;.��!�톆�;��njPgW��H�
�����",����qz7D,�i��z��b�7)��v�P�6N6¾‚�wu��; z'2�&��b.�:��D� G�³
��`�ȉQ���
	�Fx���ە�QiW��/��0�W��"[��Yjh���/+����g��o����,��ʎ�}�P�
]:ߒ�j.���D�x,���A%��7���%�jd��_����U�
���VWR�5Q�D[du��}�Zd`ӏ���)\;K[������s�z�gX�
%GM�]�s)z<�8?M�k{6O����������Z��XNJ�`f�60�(�$%Hi^�(f�v�����}k��A"x`��f�Ǐ��`�	|g`�f�k��~-�m�uƻ0G����c�IFi��H���_�NJ�~D��H������ !q
P
`	Q�s%�r���D;gAF=W��F���rrz|{L�߄�H�$� _�8T�$$��:3/����H���R�L���U�����?�}}hH�z
��ܣ�Z0%I��5|#��=Q��в��(����Ǔw�MS�Jk��8!�95����oyA��A�i����=!'uIzO
��8�!�e�.zE���|��?�HRr&Ϭ�<lz$s(�Rc���@=(�47�#�\�d\,�n�"Ȍt�ǻ�P�FM��=�	�eKS��6�
������p�@���c�����������FvmŎ]%iG�:۴ˈ���<ӗWr&A�e.��`�4����?q
�6V�����i��ۖ��p�XbK1�@um'�0�_	�h�DI"�^SS��1�5wAHR�'�U#��7P!�1�Mo��Qrh��8V�4��
�V���8%���a�;���"T!����0�=�|�a��>�`?�͛.u$&H?���0Ÿ�Yep?�����z0�Ai�C�H4�OF9$߶�pq\�m�<��|Uc
�j��i��$6_cX=�g#3�Yp��hF�l�IǜL|{{��w��d���!
/��.�
��F��Wx�XH�<Ĕ!0^̿w��0
�)L��{���-,|*f�H	�K��?�4LV�b-22J���2��n�E���A���+%a/�W>�p0��D
r�R��ʓI�*��t��~1��d�aVP�A�6J8X�l��C���7��x3@4�w֑�WR���Ai���u!��I���8�&zL�����b��u~����:���Qdz8���;D��=s���r�;�j;0��1�M5��G��	��&S8��D�0k�*"�u�y�W��1�Ke'j��X��s�
��ןR�/֏��w�
�#�����˚�<$�O
��W0~�|�3�^�1߼$AҘ��o�Jh����.o�o��r���ϖ�K��߄�8����/�uv�0�,��ө�秖of��ע�V*�^t,n�sA/4�+lW�26�yK���3V�`c�	ł��Pt3X�bl�C1�S�BT�4����U�Q$b�;�?>Tǥ`y���/Wo@)�0����P��8�^�H=�L\�"��38H�a#!|����U��R³8�L-���+�l
7�!�f�	hOZHZ��3�cOm\9;?��@��S����TLj\�|�![��8H��	Y�*r8@�!\Y�3h�S
`⨪�d	��0����A�ILj�����n�\�D�����es�a�#;23������H�ʲ4җ�d�N)���E�"��e�5�xbWD�섗_n�oϿ\nh8F�ƒ��ҳ
@H�G��a"�p��=��gh���$�ПR�a`�mR�Iy}������a�Ⓜ�ڸܸ�z�a��S�j9�����'������$�QMk�u.O.ɴ���ğ��o��X����ǯ�=`�'~���,���7�~_��O��g�˞�8����/*_�%kK<4�&�ҵ�G��ͮl4KȩjI�|Z�X�LG)��\�B��W@ݭ��PK������h��u�4F�#(��p�^3�@a���?	TР�ϤZ69�����F��ޓǶ�c�rk�����μ!�$g�ߊ�T�NKij'�Dg u�Qs����P]p��v
k��5�u	�Q��yK���ke�ں~
CE�Μ�ůr�+���ui�9�>�Rp�Ss@Z؞�'t	�-a�1�0�2#�w
25n��,�L�,c�d�7�B��멊��Yfe��e�84
?�j^t�A7_�4�f�!dT�%�:�FF�hހ��}���Ǝ
#h���[����\�ϊqr�S��>Xmk��U!oe�nK�ij`�I��L��L��e���x~|H�iY���7��1WF~��q����Q�9����IN�J��!q(a��_T���TEۢ��ܪ�t�J�F:7
A�^��U���v~�k���U�IM��z�Pl���₼
�� �+��ɤ���B�h@;�VK���}df=�WJy�G�����ΰa�]:L
�9GJVP����cݝ�ڱ�
rT�[¢E�(4۪�VP�,WF��oҴS�MY��`fy�7,,֬���k�y�M��,Ȓe����}��ٞ�={F��}tk��ޯ݂_�:Z6GP2�ZO%k��������������D�Kg�A���[�n@�<�3�	~�F<��#�a���<v���S�ʻC)��'��DX�8]X7
=��#w�z6�����p��ae�X�j�Lz��(!:��r8�:����R���((��]F,�N��'�pb�G^��d��ޝ�k�/x{��H������Y�,�Vo�"�?(�z�7��F+{8���*<�ͰaJ���>���?x%��d�8�)�G����4��;>��^�,�|"���7��OF�q��ҋ���˓��+��|�w5�BnS3/5f��������^�m�K�GR����"���)��4�u��+6�����ʚ�>��w�D&��D6-M|�Ou�u�3c>ieV��I�OM���v�i˜��8�9JD#���YE�<{��S�xʼ?a,jRxxq!�
e���&ʎ�&5�N!�I
��pOχJm�Yq
�IW6�"�$A����`EQZ���ZdSƟ���sO]]�i�?��A��7925{d�BUF6����Pp�M��g�
��:�$�3ݰ%}]Bg�i�&��eN����e��������]&�N�A��q;�ꖰ���I�E�EW%ꇾӆ���Z�P鍈��Z0��p�Ĺr���3<Q���e
�c��J�Kji����>XƲ�I�cHWv|w�8\�P#zߞKל���_��Li��,�v�d�v)��Vd���q���9*n��sA!,�5�V��}����۲Mu�FOd~V��,k��3D��e�H�[ަG�ʜ�^ �ȣ����Y���	�`�f�md{)���@}���9��'�)��C GFO��O���Ih��O\.�k�υ�M�c�+.�Ν���B��~ͮqU�g��"��c��v���f�Ǹh������sX�"e,�W�'�
�I�	�x�{�}�6�X�q��A�	�$���
%��B�����8�o�a�7�7đ�N�3G=K�4��йm+�AD���'D���
�h�\��KJA�bʍ9�)BlOte_�����1�H�����6�-~#RU�M�t��-Wj<�F+�j�Q�;�ĎbI���%��Mfy�)%l�_ȽP�28A2�D2)���BA�`-���ֽ��$n��_�r?zh=ja�K�ۂ� ���-P�	AЕT�;x��*��n��#�S�z��<�xbہ^�g7����A�*l�+ئ�C�u�k��>�[�׆���Køh�$����ڥ��v �l~��I.�-k�����ԏ�^�]�7Dt��[�]��� �Jx���ܢ�A�M�+b;$�](�y{qY@�a:8��$l}E�Cq�p�&�y/�R��
�1u�m�.J��u�zn_�Q��y�y&fA��\X��w�GA-wh��
m�����'�"�wŝB#�x�^��d("�+d=ji͸����=m_���&Mj�(�}24OW�E|~&���h��}����! ] ���0NC���a�����Q��_�Nn��k/~oE���d?}���0����Y����Y�B�P�A��.A�����0ޙ�r,q��M���q���Xo�nw���'�;��:��4�����ۯ���O�Z�|�M3�Kw8�F�n�;�Pşiq�g�s�?F�X�[*Q�G=)�
��@�xcaB~#늅_��{����ggg���w���)ߊ0�DEy@"��,kTH?��i33`�$�.V�i�l��3�L�p���k�(3��M���L����/����]2��^)�}R��9Dd`r�8�D�q\0�-�m�]Ol�2s=����}E+
5�+<�7r�(�cw/΄�ir�_�	?4��;;�Ȧ�e�eȨ�(��cC�8g�i7�m��OTg�+J��y6�"ªGd/�&X��m��	��~S��JA�*�3��s4Ƚ˓C+6�c�)���4HB�Qs2�v�D1_m�n�����d�~���X�j#��$�F�E�
]����R]�,j�R��?�_+��wR{�g��W�M��	L2�5�S9e"�n�MK(���OdQ�1ͩ苸�"d*6jkCJI��!,����iE58q��G+0���O���v;N�~��0ك��8Ɖu�����9l
�}O��m�:�J�Zˠ�R��=I5sʄ�l@�ˠ/�~����H�~gl�8��d�,z~f?��df #�N��u^�1Ry(H��=}��~�;�����sä;s���`h}�X�|��7��F�޼~}8���j.{�
��TV�x��%&��c���df�V��
��E5��}�޵��+�TTi	��(Z�7��ؤ�C)C�XY*��Vp2UGbf��;�jFs�;d��5�V�-�v�"����kT���qV����d%ΉT���Xe��}$�c��/�� ڱ�I�k.g�X����x�a;���{	����K;	ӚP�pE��U��-{��Ndn�ؖ-���+|9�#3۩�P
�a+Kj`�b!��C��q��8���>_3�]��]wj�Y�M�ԣV���:i�;n�j,�_�s�_�w��4	X��<\��XI���\��v,ͧb�LO��\i��oI��l��"����OD�����L��x�h�}:�8�˜��z�||M��|���8�[����t�T&aO�oؘ��w�
��t-3���x��I8�H�m��G�i9TL�4�?��I�e���ڸw'��X�{��>�����:�n|����Ԃ���w�3�AjZ�t?�w�m%s$�!�T�
�
(�#qd�t���)ʥ,�^����.Y���SNI:��i��v^�2��)����y�EG���-#'R����MUB�:d��_�$��ɦ�"B�(^�4_�S.��I�@e殠�-�C����KD
J	�>
�w��K�d��+/{�U7�u��O;��^-����T��dp`e�E��i��f�@�
m"���H�����3�.�A�N���m�ڢ@*�3����f$�"�ůdA�>0�g�A��c+���Hv(��T�P�%����8�Jf4��ꛏ�ou�r���D�Mǒ���u6�>8|�k�A_�>C�p��SH��
T@XUL�YX�Q��f�6���V�\����@P�/�(�
��܂6�y>�Ҕ�R�D%dh[za�2H��і m+�7=�)$����f�+��1~sӤ������ѩ2�S���)�����q�&�N���\L��$�v8�#)�����e�^-2�$��e6�/߭Vll�-��/0V+~6E�,�5�ۺj�؜0��3{Mz��B�/�"̚\H�z�k�
Id�p�p#.�ݞ�O�����^�#���/ʩ����߮P��[�f�;}S�!�a�V.�]��\�ݾ��Op7I���Dl�0�ZŽTY"�>,��țA��+��X%�4�R�#����M�lc4YL���t�H����˕s*�o�t:��v��a�H&�؏��ap�����hz�[���N�;�:B�L⾔�H�C�	m��k�>��K�uȥ��a��[>�)��jk�F�4%�̍֊@Q��"Z��k��ECJ`A�-�oۜwq@+@t,��F:��%F� �֤N��R1�Jf�T�̋5i�pZ	947�]��\w�*1����]|Di�y�^�J�ߒЭ`,�ǩ�;}��Hj�nTтXL+�~O\�#5�P����;�s,���Ik~u)�T3G/�j �2/�D��ս�ד�WZ�>����2o���T-��OyN��W%Ȳ���l�*Y�d����uo�^/o���:f���P��^�ץ����X,%����;;:��nG�%��w�T��w���Fߚl��X	�䃌��ʔC���b�������a��s�=wvhxs���n�d܀����)yB����J|����S� ���������o�_�\C.ca�@w��E�DŽ&���^ָ�yRGCZq[�=Q��͗,6��L���[��|�J�0��h̓�n�uS��%����{�Kh�{h��Hwn�L���w��4m�W�M`�x��-�k��h���p��1��gvL����1�o�/z�qȸX�4K��%Մ��v��!�*U$�
��$���
��ez=�ݍ���+�mss������6gW�g'Ƿg��6�^���l�@H5<��	6��.H�,n�ڞ�O!19B��вγ?(
��
�"�Dwu�"�p݂k�5S�n>��,['��}4tu+n��-�k��ަ���_T0�-w�����3���-�����;g��nx{�~��ü������^���e_�ic�]���Pi�6��#2K�h[jX4x�_��_�y��w�?�|=�a�K~��d5�*T�F�!<����B*��BX���f�'.����
�JM�_ͺk�EI�5t��^���x�,�ʗ{*
�|lT�؝��������%1g�i	Ѧ&�t�"84���ߙ13R��l��U�2,q�ѩ3�3ʴ1X\k>�k�c��`2���a5����vg+f�G�ϑtx�R�^�����ug���*|�EI�v��F�EE䏷����u!��e)H�v�5|v!�{��r!^>P(�k�zI����睊�
�L�a��wM^jU�o�D�p��mӐ>F=%�f�HS��&�Eߩ�pRq$��ڟRK��HHӃ��GW���=y���ݜ�6�0�ɑ�%|���p��*� m<�`�gyk�_�N;W6XY:�LJ��
���`��L�������s$.eG�|��jj�U��zP���ܘX~�*�F�ϖ!�,��s��,����G@��?`|��a�O:Ǻ�K����~���_��wxSh/�Q���E���}�������﫛B�}�m��,�<�ݒ]��^�����=s)�Jio�pu}�Z<EK��2�Q��4<aE�u�������z�2^��m
@����1��O�pf��x!(��i��g���B���ܯ��4��4"�����L%� r���
u������
����K�-�X;&������E�G;��JS�6U:�*��e<~rH(n�*�ZM���g�#;�D��������"�r�N)��u��2@�(��G��B�/�1�Z�b�W��N��pU�����3��A�\���X��[��mhc/�K�*���H������_�͆+���o?�Q����)*
x���#Ra�\�KK�Fmȼ,�Y�v��Q`��d��P�/4Sp]�P�E΄�/$�9��0l
����u��V��+x���/Ö]p<���a�v�����5k)�R��n��%�ޤ[�����΋A�Ꙃc�@��I��U!c�1���^}��u$T31R�S�3	��$_��U�SG�]-g��o��~ygE�|��uz{
��p�^UMӈ�Ci��&�����nP���Hd��_�X~@)ch9gžWԥ�S����~�
q�z
����bI����{�/�)>�)�T�q�?jqOhkZ�$����X���c
ir-a�ה[6�^��YR[�=k޲)~�ԋY��@�i��ۓXfL,��%�^Ⱉ�)s0��}����;fi�n����uOЍ	��yݣ룈�����S\:E�|&�˖["%C�
�<��O9�"��O���(%M[��Q���*��b�����Wg�s�R�{"*�&	�IX߄�R��Ϯ�)GJ�Z X�9�צKi��,S� hi?.℆-Kʩi|1��5r��E�o�:(��3��\-����_7(
��@4S�&��b{����u��BM�K�…����>
���r�ҽ�J��
M[�=�O��Ih�ƫ{3����S���0�`^�H�Er���=
Ԣ��-9Y��/Bu�D��+c|s���:]�ݝ�t����F��K"Q���C������t*7����l
��2�4�{�A�*�k�$�zI��ƚ��83v�L4��}�~ω�AN�6�	�w�CG��Q�*��
m.�W��
��%<F�+|��
ѥ?q��j"�"�ɘU]u�~@i~��u�����r���
�V4�EB�Y��(��E�ts�s��Ё�cw���.�h��.�H[�)��^���6^�x�Yʙخ����H�����v^Q%�>�R�vU<~Y��A��K��������5N$g?���j4�Z31���I����||�J�l�S�r��,����b}�J׼���������zk��\�ܷ��=w�1ۻQux�b�����xh���QC���w���=��7�X,���*i�l8����`��O{��״�g1��,*#AF���K�Br"�3���B�Vm���"��#i�L��@��v�ݢ�����\����Y���
$��%J'��s�ٚ�W�C�L�,�T�D7��ɬ�\��ʓ�^���c���ޮN�&����k���p�§RֻNm�-0�\y��	5d�5�;�v�i��q��~�(�RH#�pVԌ6oC��`���B��_�um�E�ߢ�]O{�
�vM2|�d�	+l8���]�Sk8"����]�9�Z���X\?<W7�K�Q��dZ9
���ϩ�t$�����0�߇b��c
𐍦(Z�x�h:E��dU��m=hKS��"����o�vU@��e���J�w�������3Z��������Y�NnV^����Ǫ���eW+�>�;��v�H{��h(��x؝�A�Sn��"��gŶ�V$p�q�9�d�d�3�)󅝺hgm�S�#ƞ-O]�β�&�vcז�6}l��asI��dʻ�8����_iXㆈh���P��D��L�χ/�tr\�I0ڦ�B�/��1L�)�|���r*1ݩ��]M��*j���h0ڪ�z�bvR$1���)�c��d��l��Z��c��DC�	_��6`�H���.��{��� ���Ը"�q���H��X�d9�ѯ��{)����Q��)Gj���=J�O��A��Ø���7�Ңn��>:�d"�@������LY�|�%�h2*:h�w�����R�P�F+��m���g�<��^r-0�9·�y>yͷP��h�=v黼�~��ū�}"F���7���:��f:����z��+|[�|
�6փs-��r�M�}�FT4����u��U9&��K����8�Y��bg$�C�mu���JT�ܿ繗\~@$@M~ώ�y���a:,͢�+|\|�m`݁���*L�b�˰
6;R���u������٪�'iy���a+~�..�R�-"�'Ge�
:�c����J\�K�5��ц���,�jGx!��U��>8-#e��</�C�h���ą�	��,���6̻GG���;����J-.�����~ �kI6oqSY�%�ɼj�'�T�jr���w��THns��̵�b
���)
�Z
����*�f�GV3�Y�+j��B�Ն��BPZ�t�6�2~�h:�Y�jhSL�|t�d�ʩ�d��̮�cg0T8�$���}���4r�$�}$�A3�����F3���^=Z�p'm5�l|��x�z���'��59�c�:������~?�[�u���	;�P.�]���	�u��zGy��c�G?/H�ٮ�Kt��ԙ�76%��еI�l������b:b��2R/=W���Rʿ�+_ű��|F�J��K�	f��w�Wx�D�,�/$�lStQK܍��g�A�"3�rAfW�E8x.�tӴ�\�\���$��B���<�s�p.{TEM=��{�n�AЎ��<�4hڒe�'���g��s�pu&��CO@���W��=�M�@�C�Ch��HDK:������T�*�"�#�ML�2L�Α��Es����0��	��H�{vYtk�S���)em��biEr�̰��H,){�2SƨcU	NJ�c����k����$�ڭ��Na���~rM�V댅b?�#�^y���J�������u�9���4~��{Ω���ᨓ?���8+�����߾���O^���.e�0��V(1���-^�7�s��%V/
^ʇ.���7��o�P}}��_���XŹ��y�L�g1y���-�^J �ɴ������� D��Ԧ[�42�?OɣՌ>�%�X3oX��Xm���i^=J�)�	9��8�U��RJ$������$1E������9I:zgY�F�sT������:.��4�%�XJ�a��/G%�����z��a��My�,��l����.�˅'���?�[*��S����_�Ú��<\(ޕ�p��1&��ޑ�XR��� �K(�Ndo,1vgX�<gC�=���-�^�ΉF`��+��:��<s�$�"w�[G��kӻ���k�J��]!r+��9�R��>p

7�Q,n���Y��~/�%X恹d}s����C�S��K
�?Uq^�;�	Rx�l����S �R�Q����3ۇ�;Jh0��f��:|Sٜ�΁s$�RqIx��2;�ݙ�2<�'�����ά�����g�cy!g�Mïef��얝��2o�x��E|jh�I�7�o�l�Q�/�n&Vޟ�T���t�
.�ȣu�Z�OejPd~*�4���Y�� d��[���}1�v�0�C��b�
�(������s�I�GrC���z��E,f��VkRœ�*��76H����$�ix�rDWe��{��t�}��d�Rǵ؎`D2�cn�2֧���XS��TV��n
Y�]n�"JT�@P*�{h}��G=X���y��?����߽z����?���C
2zD�g����#��^Kd�}$	�'���
GM>���I�x��&5�vN���]�ӆϽ��х���H�[W��9w(����vB&�&���H�%�HZ������0}��`�����~/����)i�w�+Вuvt�+@/���b 4�.����D�+s�x��͢�l�j��gdpȟ���%��]���VC�6��?3Fc���ED���&W1��Q�TѓP�G�m
ٟ+-�*���A�����D�\Y�{!�˜hJ�^�L��:e���/n	�#;5���,���@��D;��f(�U�qx�I��A�R�G���]��X�c�p�Zߡ�,	Y}����f����v���f���¡{�⻖���P�7z�f����k��`<�r�7jo���]���^��rk���D��g��ӇW��7���h>�F}Y�3����x/�vUkeo�N��L���U9���*�o��o�BȬd,���fII��myQ�7�ӎ���.��+j�kPv�2��Q��"�o�X��T�L�ȚY���T��Zl� �0��D%ޓb�
�NKe����:fð�<��i=�"��X!K����3�{4�}��$o01��fD)z�T��*/}f�v�Z#1�1>p��*����R�J;�Wb��X�VLx�r7g�l�>:�#�/L&Kv�DQPɿ�(|�����o��.�����i��hg]�{GcAV�ꍫT)1��plT��֕�w\P|��b�b��e�](���2ca�
D����Oɠ�� ^2��g�

SW���rܮ��M֬cM|rI�I&�v��t[e
o�� ����Z�e�-S ��s`��l�z������|FYCc��%?l�>�x��M���V�2@q�X7��a;��R
	
<M
5�۬M��q

�ae�r3Yn?��U���me�Csc�m�h��3(��f���m�����rw��	CdO�0���^p�<�)�$��E�&l��(�����˾Y	�q�1q=�߅<�{i�8�߬@��Ʋ�k{6O������rr��$hi�7֋��P�����l����d����:��x��X�����TTŁT֓��%Ŷ!K��
�;��x���v��2��T�82;NVp�а&	�ݛ��0_��3^�0��l7�����$�2v�<�`Z�Q�+S�:Y%.�ë�)3�KSC���6��0�m*�B���[���\�8���n����X���T�����̼OO����Dic4���&O��;>�88��,��|o��v��Y�vKW�$�5�rq�	�\m(#�v�>�h��¹��jʤPS*+D���_5�	�e�ƌ�&���5!or�8���8e����x�L�jd$����$�<�é�Mi'��i��$��.��1uXeAUzϕ�9�OH���yM)�s����]e��#mن�H]qo��i�m)_���̠Q��N��-�]�g�����ɿ�G�/G���,�iǎ-)��W|��8Pƶ���x�8v4�:�7�N�h�R#�
��Z�+�H�*�G$�RF�po+
'�)
ƫO
|p:{���OK0�S��1�)\��G�qH����K�px�=��C*K����U�%�.������H�l��_���Y��'K6�7+��A�!۶+d�W���X��j�+s��N�^���}�Xh�ժԜ�x/�
ш�4U�PGQ'
)K/�x����U�a�A��c�[F���4�g�CP}����^سP���MK\��d��J�οɱmjM������������|߯�%l�?��BL�վh�=W�e�μ~f;:�:F�b��
l�C̿��
��Y������t��c�ziQR�h%��?є&8h�-�����3+�IF�*v�eGV(:�-pL}!�,��/K�;�h��Iz��Z�6�g��sh��:��N*��[�����D�ek����J��|��\>����d?�S��7��®	ͷ�b�TP�k��K=�ʴ�f�)��(
<��~N���-��g�e%�U0��'H,@4�9�b.-*0�B7V7�E�,�+�IZ�� ZkZ�^[n�7W�$��f������������t�%4�Bshare/doc/alt-libxml2-devel/tutorial/includeaddattribute.c000064400000002160150505765610017677 0ustar00<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>


xmlDocPtr
parseDoc(char *docname, char *uri) {

	xmlDocPtr doc;
	xmlNodePtr cur;
	xmlNodePtr newnode;
	xmlAttrPtr newattr;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	newattr = xmlNewProp (newnode, "uri", uri);
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *uri;
	xmlDocPtr doc;

	if (argc <= 2) {
		printf("Usage: %s docname, uri\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	uri = argv[2];
	doc = parseDoc (docname, uri);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 1);
		xmlFreeDoc(doc);
	}
	return (1);
}
]]>
share/doc/alt-libxml2-devel/tutorial/includekeyword.c000064400000002507150505765610016714 0ustar00<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
		    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur->next;
	}
    return;
}

static void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur->next;
	}
	
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;
		
	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);

	return (1);
}
]]>
share/doc/alt-libxml2-devel/tutorial/includexpath.c000064400000002723150505765610016354 0ustar00<![CDATA[
#include <libxml/parser.h>
#include <libxml/xpath.h>

xmlDocPtr
getdoc (char *docname) {
	xmlDocPtr doc;
	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return NULL;
	}

	return doc;
}

xmlXPathObjectPtr
getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	context = xmlXPathNewContext(doc);
	if (context == NULL) {
		printf("Error in xmlXPathNewContext\n");
		return NULL;
	}
	result = xmlXPathEvalExpression(xpath, context);
	xmlXPathFreeContext(context);
	if (result == NULL) {
		printf("Error in xmlXPathEvalExpression\n");
		return NULL;
	}
	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
	}
	return result;
}
int
main(int argc, char **argv) {

	char *docname;
	xmlDocPtr doc;
	xmlChar *xpath = (xmlChar*) "//keyword";
	xmlNodeSetPtr nodeset;
	xmlXPathObjectPtr result;
	int i;
	xmlChar *keyword;
		
	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	doc = getdoc(docname);
	result = getnodeset (doc, xpath);
	if (result) {
		nodeset = result->nodesetval;
		for (i=0; i < nodeset->nodeNr; i++) {
			keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
		xmlFree(keyword);
		}
		xmlXPathFreeObject (result);
	}
	xmlFreeDoc(doc);
	xmlCleanupParser();
	return (1);
}
]]>share/doc/alt-libxml2-devel/tutorial/apd.html000064400000006240150505765610015150 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>D.�Code for XPath Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apc.html" title="C.�Code for Keyword Example"><link rel="next" href="ape.html" title="E.�Code for Add Keyword Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">D.�Code for XPath Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apc.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ape.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="xpathappendix"></a>D.�Code for XPath Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;libxml/parser.h&gt;
#include &lt;libxml/xpath.h&gt;

xmlDocPtr
getdoc (char *docname) {
	xmlDocPtr doc;
	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return NULL;
	}

	return doc;
}

xmlXPathObjectPtr
getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	context = xmlXPathNewContext(doc);
	if (context == NULL) {
		printf("Error in xmlXPathNewContext\n");
		return NULL;
	}
	result = xmlXPathEvalExpression(xpath, context);
	xmlXPathFreeContext(context);
	if (result == NULL) {
		printf("Error in xmlXPathEvalExpression\n");
		return NULL;
	}
	if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
	}
	return result;
}
int
main(int argc, char **argv) {

	char *docname;
	xmlDocPtr doc;
	xmlChar *xpath = (xmlChar*) "//keyword";
	xmlNodeSetPtr nodeset;
	xmlXPathObjectPtr result;
	int i;
	xmlChar *keyword;
		
	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	doc = getdoc(docname);
	result = getnodeset (doc, xpath);
	if (result) {
		nodeset = result-&gt;nodesetval;
		for (i=0; i &lt; nodeset-&gt;nodeNr; i++) {
			keyword = xmlNodeListGetString(doc, nodeset-&gt;nodeTab[i]-&gt;xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
		xmlFree(keyword);
		}
		xmlXPathFreeObject (result);
	}
	xmlFreeDoc(doc);
	xmlCleanupParser();
	return (1);
}
</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apc.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ape.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">C.�Code for Keyword Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�E.�Code for Add Keyword Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/index.html000064400000013523150505765620015516 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Libxml Tutorial</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s02.html" title="Data Types"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Libxml Tutorial</th></tr><tr><td width="20%" align="left">�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2473660"></a>Libxml Tutorial</h1></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="surname">Fleck</span></h3></div></div><div><p class="copyright">Copyright � 2002, 2003 John Fleck</p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 1</td><td align="left">June 4, 2002</td></tr><tr><td align="left" colspan="2">Initial draft</td></tr><tr><td align="left">Revision 2</td><td align="left">June 12, 2002</td></tr><tr><td align="left" colspan="2">retrieving attribute value added</td></tr><tr><td align="left">Revision 3</td><td align="left">Aug. 31, 2002</td></tr><tr><td align="left" colspan="2">freeing memory fix</td></tr><tr><td align="left">Revision 4</td><td align="left">Nov. 10, 2002</td></tr><tr><td align="left" colspan="2">encoding discussion added</td></tr><tr><td align="left">Revision 5</td><td align="left">Dec. 15, 2002</td></tr><tr><td align="left" colspan="2">more memory freeing changes</td></tr><tr><td align="left">Revision 6</td><td align="left">Jan. 26. 2003</td></tr><tr><td align="left" colspan="2">add index</td></tr><tr><td align="left">Revision 7</td><td align="left">April 25, 2003</td></tr><tr><td align="left" colspan="2">add compilation appendix</td></tr><tr><td align="left">Revision 8</td><td align="left">July 24, 2003</td></tr><tr><td align="left" colspan="2">add XPath example</td></tr><tr><td align="left">Revision 9</td><td align="left">Feb. 14, 2004</td></tr><tr><td align="left" colspan="2">Fix bug in XPath example</td></tr><tr><td align="left">Revision 7</td><td align="left">Aug. 24, 2004</td></tr><tr><td align="left" colspan="2">Fix another bug in XPath example</td></tr></table></div></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="index.html#introduction">Introduction</a></dt><dt><a href="ar01s02.html">Data Types</a></dt><dt><a href="ar01s03.html">Parsing the file</a></dt><dt><a href="ar01s04.html">Retrieving Element Content</a></dt><dt><a href="ar01s05.html">Using XPath to Retrieve Element Content</a></dt><dt><a href="ar01s06.html">Writing element content</a></dt><dt><a href="ar01s07.html">Writing Attribute</a></dt><dt><a href="ar01s08.html">Retrieving Attributes</a></dt><dt><a href="ar01s09.html">Encoding Conversion</a></dt><dt>A. <a href="apa.html">Compilation</a></dt><dt>B. <a href="apb.html">Sample Document</a></dt><dt>C. <a href="apc.html">Code for Keyword Example</a></dt><dt>D. <a href="apd.html">Code for XPath Example</a></dt><dt>E. <a href="ape.html">Code for Add Keyword Example</a></dt><dt>F. <a href="apf.html">Code for Add Attribute Example</a></dt><dt>G. <a href="apg.html">Code for Retrieving Attribute Value Example</a></dt><dt>H. <a href="aph.html">Code for Encoding Conversion Example</a></dt><dt>I. <a href="api.html">Acknowledgements</a></dt></dl></div><div class="abstract"><p class="title"><b>Abstract</b></p><p>Libxml is a freely licensed C language library for handling
    <span class="acronym">XML</span>, portable across a large number of platforms. This
    tutorial provides examples of its basic functions.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction</h2></div></div><div></div></div><p>Libxml is a C language library implementing functions for reading,
      creating and manipulating <span class="acronym">XML</span> data. This tutorial
    provides example code and explanations of its basic functionality.</p><p>Libxml and more details about its use are available on <a href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">the project home page</a>. Included there is complete <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/general.html" target="_top">
	<span class="acronym">API</span> documentation</a>. This tutorial is not meant
    to substitute for that complete documentation, but to illustrate the
    functions needed to use the library to perform basic operations.

</p><p>The tutorial is based on a simple <span class="acronym">XML</span> application I
    use for articles I write. The format includes metadata and the body
    of the article.</p><p>The example code in this tutorial demonstrates how to:
      </p><div class="itemizedlist"><ul type="disc"><li><p>Parse the document.</p></li><li><p>Extract the text within a specified element.</p></li><li><p>Add an element and its content.</p></li><li><p>Add an attribute.</p></li><li><p>Extract the value of an attribute.</p></li></ul></div><p>
    </p><p>Full code for the examples is included in the appendices.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">�</td><td width="20%" align="center">�</td><td width="40%" align="right">�<a accesskey="n" href="ar01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">�</td><td width="20%" align="center">�</td><td width="40%" align="right" valign="top">�Data Types</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/includegetattribute.c000064400000002223150505765620017727 0ustar00<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
		    uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur->next;
	}
	return;
}


void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	getReference (doc, cur);
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;

	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);
	
	return (1);
}
]]>
share/doc/alt-libxml2-devel/tutorial/ar01s08.html000064400000007524150505765620015511 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Attributes</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s07.html" title="Writing Attribute"><link rel="next" href="ar01s09.html" title="Encoding Conversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Attributes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialattribute"></a>Retrieving Attributes</h2></div></div><div></div></div><p><a class="indexterm" name="id2587236"></a>
Retrieving the value of an attribute is similar to the previous
    example in which we retrieved a node's text contents. In this case we'll
      extract the value of the <span class="acronym">URI</span> we added in the previous
      section. Full code: <a href="apg.html" title="G.�Code for Retrieving Attribute Value Example">Appendix�G, <i>Code for Retrieving Attribute Value Example</i></a>.</p><p>
      The initial steps for this example are similar to the previous ones: parse
      the doc, find the element you are interested in, then enter a function to
      carry out the specific task required. In this case, we call
      <tt class="function">getReference</tt>:
      </p><pre class="programlisting">
void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"reference"))) {
		   <a name="getattributevalue"></a><img src="images/callouts/1.png" alt="1" border="0"> uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur-&gt;next;
	}
	return;
}
      </pre><p>
    
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#getattributevalue"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>
	    The key function is <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLGETPROP" target="_top">xmlGetProp</a></tt>, which returns an
      <tt class="varname">xmlChar</tt> containing the attribute's value. In this case,
					   we just print it out.
      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>
	  If you are using a <span class="acronym">DTD</span> that declares a fixed or
	  default value for the attribute, this function will retrieve it.
	</p></td></tr></table></div><p>
	  </p></td></tr></table></div><p>
     
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing Attribute�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Encoding Conversion</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s07.html000064400000007470150505765620015510 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing Attribute</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s06.html" title="Writing element content"><link rel="next" href="ar01s08.html" title="Retrieving Attributes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing Attribute</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s08.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingattribute"></a>Writing Attribute</h2></div></div><div></div></div><p><a class="indexterm" name="id2587093"></a>
Writing an attribute is similar to writing text to a new element. In
      this case, we'll add a reference <span class="acronym">URI</span> to our
      document. Full code:<a href="apf.html" title="F.�Code for Add Attribute Example">Appendix�F, <i>Code for Add Attribute Example</i></a>.</p><p>
      A <tt class="sgmltag-element">reference</tt> is a child of the <tt class="sgmltag-element">story</tt>
      element, so finding the place to put our new element and attribute is
      simple. As soon as we do the error-checking test in our
      <tt class="function">parseDoc</tt>, we are in the right spot to add our
      element. But before we do that, we need to make a declaration using a
      data type we have not seen yet:
      </p><pre class="programlisting">
	xmlAttrPtr newattr;
      </pre><p>
      We also need an extra xmlNodePtr:
      </p><pre class="programlisting">
	xmlNodePtr newnode;
      </pre><p>
    </p><p>
      The rest of <tt class="function">parseDoc</tt> is the same as before until we
      check to see if our root element is <tt class="sgmltag-element">story</tt>. If it is,
      then we know we are at the right spot to add our element:

      </p><pre class="programlisting">
	<a name="addreferencenode"></a><img src="images/callouts/1.png" alt="1" border="0"> newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	<a name="addattributenode"></a><img src="images/callouts/2.png" alt="2" border="0"> newattr = xmlNewProp (newnode, "uri", uri);	
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#addreferencenode"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we add a new node at the location of the current node
	    pointer, <tt class="varname">cur.</tt> using the <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNEWTEXTCHILD" target="_top">xmlNewTextChild</a> function.</p></td></tr></table></div><p>
   </p><p>Once the node is added, the file is written to disk just as in the
    previous example in which we added an element with text content.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing element content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Retrieving Attributes</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s04.html000064400000014213150505765620015476 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s03.html" title="Parsing the file"><link rel="next" href="ar01s05.html" title="Using XPath to Retrieve Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s05.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialgettext"></a>Retrieving Element Content</h2></div></div><div></div></div><p><a class="indexterm" name="id2525439"></a>
Retrieving the content of an element involves traversing the document
    tree until you find what you are looking for. In this case, we are looking
    for an element called "keyword" contained within element called "story". The
    process to find the node we are interested in involves tediously walking the
    tree. We assume you already have an xmlDocPtr called <tt class="varname">doc</tt>
    and an xmlNodPtr called <tt class="varname">cur</tt>.</p><p>
      </p><pre class="programlisting">
	<a name="getchildnode"></a><img src="images/callouts/1.png" alt="1" border="0">cur = cur-&gt;xmlChildrenNode;
	<a name="huntstoryinfo"></a><img src="images/callouts/2.png" alt="2" border="0">while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur-&gt;next;
	}
      </pre><p>

      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#getchildnode"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Get the first child node of <tt class="varname">cur</tt>. At this
	    point, <tt class="varname">cur</tt> points at the document root, which is
	    the element "story".</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#huntstoryinfo"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>This loop iterates through the elements that are children of
	  "story", looking for one called "storyinfo". That
	  is the element that will contain the "keywords" we are
	    looking for. It uses the <span class="application">libxml</span> string
	  comparison
	    function, <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XMLSTRCMP" target="_top">xmlStrcmp</a></tt>. If there is a match, it calls the function <tt class="function">parseStory</tt>.</p></td></tr></table></div><p>
    </p><p>
      </p><pre class="programlisting">
void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	<a name="anothergetchild"></a><img src="images/callouts/1.png" alt="1" border="0"> cur = cur-&gt;xmlChildrenNode;
	<a name="findkeyword"></a><img src="images/callouts/2.png" alt="2" border="0"> while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"keyword"))) {
	<a name="foundkeyword"></a><img src="images/callouts/3.png" alt="3" border="0">	    key = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur-&gt;next;
	}
    return;
}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#anothergetchild"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Again we get the first child node.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#findkeyword"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Like the loop above, we then iterate through the nodes, looking
	  for one that matches the element we're interested in, in this case
	  "keyword".</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#foundkeyword"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>When we find the "keyword" element, we need to print
	    its contents. Remember that in <span class="acronym">XML</span>, the text
	    contained within an element is a child node of that element, so we
	    turn to <tt class="varname">cur-&gt;xmlChildrenNode</tt>. To retrieve it, we
	    use the function <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODELISTGETSTRING" target="_top">xmlNodeListGetString</a></tt>, which also takes the <tt class="varname">doc</tt> pointer as an argument. In this case, we just print it out.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>Because <tt class="function">xmlNodeListGetString</tt> allocates
	      memory for the string it returns, you must use
	      <tt class="function">xmlFree</tt> to free it.</p></td></tr></table></div></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Parsing the file�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Using XPath to Retrieve Element Content</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s05.html000064400000016434150505765630015507 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using XPath to Retrieve Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s04.html" title="Retrieving Element Content"><link rel="next" href="ar01s06.html" title="Writing element content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using XPath to Retrieve Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s04.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s06.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialxpath"></a>Using XPath to Retrieve Element Content</h2></div></div><div></div></div><p>In addition to walking the document tree to find an element,
    <span class="application">Libxml2</span> includes support for
      use of <span class="application">XPath</span> expressions to retrieve sets of
      nodes that match a specified criteria. Full documentation of the
      <span class="application">XPath</span> <span class="acronym">API</span> is <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html" target="_top">here</a>.
    </p><p><span class="application">XPath</span> allows searching through a document
    for nodes that match specified criteria. In the example below we search
      through a document for the contents of all <tt class="varname">keyword</tt>
    elements.
      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>A full discussion of <span class="application">XPath</span> is beyond
	  the scope of this document. For details on its use, see the <a href="http://www.w3.org/TR/xpath" target="_top">XPath specification</a>.</p></td></tr></table></div><p>
      Full code for this example is at <a href="apd.html" title="D.�Code for XPath Example">Appendix�D, <i>Code for XPath Example</i></a>.
    </p><p>Using <span class="application">XPath</span> requires setting up an
      xmlXPathContext and then supplying the <span class="application">XPath</span>
      expression and the context to the
      <tt class="function">xmlXPathEvalExpression</tt> function. The function returns
      an xmlXPathObjectPtr, which includes the set of nodes satisfying the
      <span class="application">XPath</span> expression.</p><p>
      </p><pre class="programlisting">
	xmlXPathObjectPtr
	getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	<a name="cocontext"></a><img src="images/callouts/1.png" alt="1" border="0">xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	<a name="cocreatecontext"></a><img src="images/callouts/2.png" alt="2" border="0">context = xmlXPathNewContext(doc);
	<a name="corunxpath"></a><img src="images/callouts/3.png" alt="3" border="0">result = xmlXPathEvalExpression(xpath, context);
	<a name="cocheckxpathresult"></a><img src="images/callouts/4.png" alt="4" border="0">if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#cocontext"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we declare our variables.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocreatecontext"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Initialize the <tt class="varname">context</tt> variable.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#corunxpath"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>Apply the <span class="application">XPath</span> expression.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocheckxpathresult"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check the result and free the memory allocated to
	    <tt class="varname">result</tt> if no result is found.</p></td></tr></table></div><p>
    </p><p>The xmlPathObjectPtr returned by the function contains a set of nodes
    and other information needed to iterate through the set and act on the
      results. For this example, our functions returns the
    <tt class="varname">xmlXPathObjectPtr</tt>. We use it to print the contents of
      <tt class="varname">keyword</tt> nodes in our document. The node set object
      includes the number of elements in the set (<tt class="varname">nodeNr</tt>) and
      an array of nodes (<tt class="varname">nodeTab</tt>):
      </p><pre class="programlisting">
	<a name="conodesetcounter"></a><img src="images/callouts/1.png" alt="1" border="0">for (i=0; i &lt; nodeset-&gt;nodeNr; i++) {
	<a name="coprintkeywords"></a><img src="images/callouts/2.png" alt="2" border="0">keyword = xmlNodeListGetString(doc, nodeset-&gt;nodeTab[i]-&gt;xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
	        xmlFree(keyword);
	}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#conodesetcounter"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>The value of <tt class="varname">nodeset-&gt;Nr</tt> holds the number of
	  elements in the node set. Here we use it to iterate through the array.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#coprintkeywords"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Here we print the contents of each of the nodes returned.
	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>Note that we are printing the child node of the node that is
		returned, because the contents of the <tt class="varname">keyword</tt>
		element are a child text node.</p></td></tr></table></div><p>
	  </p></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s04.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Retrieving Element Content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Writing element content</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ape.html000064400000006030150505765630015150 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>E.�Code for Add Keyword Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apd.html" title="D.�Code for XPath Example"><link rel="next" href="apf.html" title="F.�Code for Add Attribute Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">E.�Code for Add Keyword Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apd.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apf.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="addkeywordappendix"></a>E.�Code for Add Keyword Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}

xmlDocPtr
parseDoc(char *docname, char *keyword) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur, keyword);
		}
		 
	cur = cur-&gt;next;
	}
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *keyword;
	xmlDocPtr doc;

	if (argc &lt;= 2) {
		printf("Usage: %s docname, keyword\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	keyword = argv[2];
	doc = parseDoc (docname, keyword);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 0);
		xmlFreeDoc(doc);
	}
	
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apd.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">D.�Code for XPath Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�F.�Code for Add Attribute Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/apa.html000064400000004102150505765630015142 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>A.�Compilation</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s09.html" title="Encoding Conversion"><link rel="next" href="apb.html" title="B.�Sample Document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A.�Compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="compilation"></a>A.�Compilation</h2></div></div><div></div></div><p><a class="indexterm" name="id2587670"></a>
      <span class="application">Libxml</span> includes a script,
    <span class="application">xml2-config</span>, that can be used to generate
    flags for compilation and linking of programs written with the
      library. For pre-processor and compiler flags, use <b class="command">xml2-config
	--cflags</b>. For library linking flags, use <b class="command">xml2-config
	--libs</b>. Other options are available using <b class="command">xml2-config
    --help</b>.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Encoding Conversion�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�B.�Sample Document</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/includeconvert.c000064400000003420150505765630016705 0ustar00<![CDATA[
#include <string.h>
#include <libxml/parser.h>


unsigned char*
convert (unsigned char *in, char *encoding)
{
	unsigned char *out;
        int ret,size,out_size,temp;
        xmlCharEncodingHandlerPtr handler;

        size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

        if (out) {
                handler = xmlFindCharEncodingHandler(encoding);
                
                if (!handler) {
                        free(out);
                        out = NULL;
                }
        }
        if (out) {
                temp=size-1;
                ret = handler->input(out, &out_size, in, &temp);
                if (ret || temp-size+1) {
                        if (ret) {
                                printf("conversion wasn't successful.\n");
                        } else {
                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
                        }
                        free(out);
                        out = NULL;
                } else {
                        out = realloc(out,out_size+1); 
                        out[out_size]=0; /*null terminating out*/
                        
                }
        } else {
                printf("no mem\n");
        }
        return (out);
}	


int
main(int argc, char **argv) {

	unsigned char *content, *out;
	xmlDocPtr doc;
	xmlNodePtr rootnode;
	char *encoding = "ISO-8859-1";
	
		
	if (argc <= 1) {
		printf("Usage: %s content\n", argv[0]);
		return(0);
	}

	content = argv[1];

	out = convert(content, encoding);

	doc = xmlNewDoc ("1.0");
	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
	xmlDocSetRootElement(doc, rootnode);

	xmlSaveFormatFileEnc("-", doc, encoding, 1);
	return (1);
}
]]>
share/doc/alt-libxml2-devel/tutorial/images/toc-plus.png000064400000000410150505765630017232 0ustar00�PNG


IHDR	��)�bKGD��#2#IDATx�ch���`���#���@�C"ԣ��j?RJl�d�:4CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureab17802e1ddae3211b1ce6bc3b08aec7{��(
tEXtPage15x9+0+07v�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/9.png000064400000000545150505765630017473 0ustar00�PNG


IHDRs;bKGD��#2IDATx��!�0GFVb��J,��WX��
�^Y��kTb++#���{�?/��Yٗy/j��!��Rj����+�~ ��E�#y@�������!��s�.�g���E�����O�r/���P8b��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature34623e5e4d48310e409b280afe247602�14$tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/10.png000064400000000551150505765640017541 0ustar00�PNG


IHDRs;bKGD��#2�IDATx�%��!C#�H,��N^[¶p�\�%��${��;��/yI@��l\�\�y�SM�}�i㎋��s���u�Ȍ��a�X̠ �e�ڭ��v��G�j��!=�d�R�;?ݢCb�	kCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature386e83bb9bdfba3227f58bb897e2c8a5�+
tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/6.png000064400000000543150505765640017467 0ustar00�PNG


IHDRs;bKGD��#2}IDATx��!�0
�
���Fa�PXXj�'��	������n�n���󩺵�oP�H��l\BuNح��!��i`����d���'��נ��,�˖e�Ըg�NL��L�<
�V���?�s8�
�YCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatured25d7176d67a038afc1c56558e3dfb1a���tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/4.png000064400000000531150505765640017462 0ustar00�PNG


IHDRs;bKGD��#2sIDATx��!�0C#��Xdee�P��"�\���o+{%le�ʰ!b���$�ci�1 q�
dCwC���mJV��$��6�hu��T�j~<_�²�|����㣴
K�F��6�[��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature9f82fcac9e039cbdb72380a4591324f5���vtEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/8.png000064400000000545150505765640017473 0ustar00�PNG


IHDRs;bKGD��#2IDATx����0
��v�¬���a`��544T�
�?ݻ/T�ܗ�W[Б!Dغ���[`�T�3�(�f��p���g��c���3�1�ؿ.0��>���_�
+U�9�����9�Fb�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature57be19505c03f92f3847f535e9b114e9�4kCtEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/1.png000064400000000511150505765640017455 0ustar00�PNG


IHDRs;bKGD��#2cIDATx�U��
�0���.)�Bf�t�6#d����H�(�'�������X�W��
9c�A�M-!d>�0(�*�?��/�c}�֮5u��ƌ:�x,�T�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature58a072e070da22f6135cbd3e414546f9hj!�tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/7.png000064400000000530150505765640017464 0ustar00�PNG


IHDRs;bKGD��#2rIDATx�%���0�OV"Y!�����L�O�����
Hd�+�H������퇓��e
_��pD���l��C�0T+�ʫ+���	�VA�jݓ��{�O�9�lsLG�I�z��>61�GVSCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature298368142ac43cebd2586d8d1137c8df&9�tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/5.png000064400000000534150505765650017467 0ustar00�PNG


IHDRs;bKGD��#2vIDATx����0
�����~+_Bh���Ilgv�����M���Zm���m��wb$|S�q$��^�%�)%�������YP3�]2�Q�j�%���|�#[7/B_�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturefe690463379eb25e562fcc8cc9b3c7e0߲9�tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/3.png000064400000000536150505765650017467 0ustar00�PNG


IHDRs;bKGD��#2xIDATx�%N��@4���^��0�+�
�F``�a��+�&���U����
qXҠ�q�
K�����]p�q�˟�3�&�=�ۿ-#�����S:�b�m�R�&j�Q�5c��LCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature80bbda2726ddace8ab8a01f59de2ebdb�utEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/callouts/2.png000064400000000541150505765650017462 0ustar00�PNG


IHDRs;bKGD��#2{IDATx����0D?44,5,�
]����+�f���K
U�G�{��u���k��S��@�cB���SC�hS������{�2�y�4Cm�s^��% ��D��+O��J)}�:T�5`�/�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature80eae529c94a7f47deccfada28acb9df�o�
tEXtPage12x12+0+0�m�}IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/tip.png000064400000000701150505765650016265 0ustar00�PNG


IHDR*�	bKGD��#2�IDATx�u��� @!+x���6�K���R+hJ����TaK
		>߁��Rh~j?�g0qF@�����!���eH,��0܆x��0�&p
�^���J��5y�=�J�	%P<�*ğ{���������j�
#��7�^���L~�!=����&Ṳ;
��&rgߊF�m��ͩ�P����;���ot�6B�J�qC
�Xdu���i]}OL�4+|) -�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureee9d877396ce267aeb0179d35f81b2ac3�'tEXtPage25x24+0+0��	�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/blank.png000064400000000566150505765660016572 0ustar00�PNG


IHDR��L\��gAMA���a-IDATx���A �0���MF4
z�;3'���k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
�`f�HfIEND�B`�share/doc/alt-libxml2-devel/tutorial/images/note.png000064400000000752150505765660016445 0ustar00�PNG


IHDR�b$bKGD��#2IDATx�e�!��0E}���KC
�tAQCACQA�+g�4m�Ɍ��oK�.��q��c ���
D��="���s ��%��d�ǜH��1���y%�M8�f�K
�w��ֵ>i6g-Np���Y�tL#�ߟ�
a��b;�U�#2��V}
�ԣr�V�x�]�zT�T�1����OH��4�]o���z�Χ��g�"ӒN��Hl��U���u��߯���9�<�t�,��t��_�)2H����d�kBCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature3bd747c5e45807006b090dd3e7a26c44ӓ�tEXtPage24x24+0+0r[	1IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/warning.png000064400000002331150505765660017140 0ustar00�PNG


IHDRש��PLTE!)1BJRZks{����{{�RR�ZZ�{{��99�JJ�����������11�����))�����������������������������))��))���������!!������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p;�bKGD�H�IDATx�m�}o�0��M����5�%��%m
�s��zP�^��<?����Q��K���WDŽV�WH?��ʈ�@��n�VY����!�����aY��r�?8�C+�Y"%�}A�pt<����e���e
�t��h�Y��_�ϡC�x�i��E����1��s;P�̾�8ki[�tY�X}+��U��ݭ��H�<n��"��d�nr���>��UD�Kn�k[;һ?0n!��qCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec42b7d2d564aab588891979703f02b45OߓtEXtPage24x24+0+0r[	1IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/toc-blank.png000064400000000476150505765660017355 0ustar00�PNG


IHDR	�kd0PLTE���������������������������O&IbKGD�HIDATx�c����?|`� h ����B�h��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturef7e388dabd4ef0097714b5643fdd3cfbb���
tEXtPage15x9+0+07v�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/home.png000064400000002204150505765660016422 0ustar00�PNG


IHDR#Yi�&PLTE�!�!)�)1�1B�BJ�Jc�cs�s����ƌ�Δ�Υ�޵��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������GbKGD�H�IDATxڭQ�� l)��x����Y�,]Ҿ����8u�u,�q¼��řN!`���RN`M�}��%,�i�ím����
)��	+���
�C���<���qU;pZږ��zJky�� ���4�y|��50ܦy�k��/.�
��j*1�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature154332ef94ba5222343b4126d6035f91���tEXtPage35x15+0+0~F�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/toc-minus.png000064400000000403150505765660017407 0ustar00�PNG


IHDR	��)�bKGD��#2IDATx�ch���`����g I׏j?}-p�Z�ECtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureecf413ef47524404f90c44d8c7d12a2e݈��
tEXtPage15x9+0+07v�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/up.png000064400000002127150505765670016123 0ustar00�PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�Bc�ck�k����ƌ�Δ�޵������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~bKGD�HfIDATxڕ�K� m�A��֝I+�o���@^P?�'#H];�<�R��[��Pe��0�2&t<*�Ϭ�7Sm���&Ji�G�����=��Ka�1{��g� �ưCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature2772383288e9cce11a512e2a8adf37b0k�tEXtPage35x15+0+0~F�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/draft.png000064400000042056150505765670016604 0ustar00�PNG


IHDR��K�ZJgAMA���a IDATx����v۸��a<�N�G��3��mQ<�/������ �W�TB1r̩,�Z���4MY�m}[2[��躮m۾﷾�-�[��u]w�\�i��Y)U���w�
*i@\��VJ��x�\[OSI"r��b����q��	��󼪪����Ն��Q�&��R�8*��և��	i���Oh!������ӄ4`c�$�RJk-��R� 9MH�tcB/�ӄ4`3�&�8NN��m�}�@B���4!
�c5�#�4!
mM
}m��$՜&�A�}߶�V�f�n@8z1�0KZ�����<��Ry�c�<y����?�8O�,ˊ�h�Fk��1 �!�� �ޑЏ!�~��#���k�_H�i�>�s��V�8��	B�������Lh�p7������v��8�<�[w�`�9*i�$��4`-�B�
	�!
x�b^�8x5�oT��G�������a���0s��;����&��!��b�;0��7������kBC}����b$�xk���eY��?��|���o�s$��x�� �c��x�����?������	�/����󇄎
{w������:R�qpt�����5Ih'x���H�1'
��<t�x�H��&��)���p8>桕R�4EAB;�[	���?��Hh�������ŏ����1}�Z���BN�BH�Q������v���C�4�)r�B�2�9턶�n}�|�CCk��ׯ<g�QI@���C�zz%*iHֆ5�5��QI@�����QO?������9�BR[Br��I@R"���
��w���tD�Њz�N�4$"�N��INð���!
)�w���Z�˺!
������-h�}���m�)�B)5����Z???�k�#Bv�_B7M���\.}�.���EN��n�+�	m��Z�u]�e�en_���Wƽ?EH�.�Nh��09-}d��G�4쏏��Z�K�������3��,ˏ	��ߺ��� ��q�$|B/�����FH�n����F��V�{��p7�C�y�o~�qo���*i؁�k�k�{C%
��*�}d��F�?�B�4EQ<|�[��w@�6��}d����F�?EN{�p7�h	�B�G����M%
����>zA=�	�4�ew	���i�}d�x�4!
�����ZHNWUŸ�C�4�b/��_a~�9B�����[�4l/���C�4l,���+�4l)���r�ϟ?	�4�`3�&��+m�-�c����8z%*i�@�5�5���������WO���#xyy9NB�����7?��6ϳ��3cNh��Lk�ظw��NH�1&��i�֮.yB�e=�9i�4M�8�m�r�v/	���.���@b�,���5ẻ�V��w���ͬ���������[�x���m=�oD%
������k�	���v�R"��e�2ʽ��V��}B�����v=��%������~��n��4M�0\.�Oǽ�K�km������{_�ބ4D��d桿 �����8Z�9ɧ��GHh�T�4�{�C%
μ���$�ʤ�������k�4�!�O��T���,;NBrzAH���C���y��iʲ,�N��ӂ����Z��ik��òv��V�4��1����} �7�}��J�y�eѳ�I�ބ4<蛄��z�Ӿg��iB�cBrz��i��:���I��nL���녙�~~~.���K܅J����rWB+�i��O����}�%�BH���$��3?UN�p���E��z2?��,��fNn�Xk]�%��kg~�J~��ZK=��q�	i���bߛ�y�q�|�Ar������Bk��y��ݗۉ#�1'
_�Ь�v�mۮ��y��*[�OSI��H�]��V�ބ4|��ޑ��Z�Mr��nx��ޣ$�eQI� �w*�~o*i��{Oθ	Rb�4�4���Њ�.�uYT����iI����_;���[I����pt�ЩJ����ph�:�szs	�{SI8.j�#�u=M%
�H���4�4�#b=��촞��p8��>���O���Q���cN���>���4!
�(Hh���4!
�X�E�4UU�"�	i���g��MӐ�{T�.r���8��$��u��7!
 e�F�I��??MHH��Q��ӄ4�4�;}��NL���l
 A�v���N��r�.�}C����Ӯ�$t�⬧	iI�S�0�	i�S+Ŗӄ4�D�ND�~��1)`�nE�GF%
`�Hh8ɸ7!
`�HhxCN�v���W��O����F���M��]bO1��U�4������	i;����&9MH�
�ӄ4��`O1l.XN�?uB�>�/7" ��<��Zks����
Q��Z)�߻(������ZSI�	�y���Z1�
 r$4��|?�w	���@�Hh���>'ZQI�	�]p2�iB+B@�Hh��ʜ�*�!
 B$��49��s���VJ�@\H�5�q�a�q���v��uY�'�"�D��^C�m[��<�J)r:��r�DŽVw�	��uB+��y�n�Os�-	���D��^�]B�iE=���}�u��	�i1 ��4��<�r�9��R�cNߞЊ��9z�oZL�DNo�Ӝ�+�!
`[���kZL�ĸ�&���	�i��^�Ƅ�{oe�i���	�ػ�VH�5�J�E�eeY���}/��ߕЊ��	���y���c	-��Xk�Mh�:i��kHB������~:�ZQI�GBk���8NB��XcLUU���	��8�}�?\C_�>2���!�א�r�<6j��޻@H��^��(�;�4M���֕�!
�;O	}�N1%o��EQ$��!
�/5t�4���^�o�y^UUUUί������kx��I�]�����kPCC�<y}}u��J)��8	�[XkI�}!�����*�987ϳ1�?��Qn�Ip�_B�,�~���jT{�����9�$���V�y�Z{M�i�^^^�y��[��)FB�!
�%cL]�EQ�����˲���	�O��#��BB�+�4/��vۢ�N9-g[��!
���,��,g[�����*˒��;�`�k����2����,F��=���G�O��zh:%�4���w�ib�܂�n�0�-�i�S7���1��PO+w"��s�&�q/B@P��iIh竭	�4�l�h����x��vС�ijh<�J�f�PO�۱D>��i��������>jh� ��l,�zz�v��e��8��l,�iN���XN��p���dr���C�I��<�m��w~���[�4���7�e�	
��cL�4��^N�$��!
 :��iO�~ZkI�#��h��9��gQ$�1'
 ^��O�)�iQ��Ƙ߿ߛ�$4|c�@���O��|�7	�i����l�s��Y���X�v��yY^χ�l+\cN�n�#{~~β���u��,˺��^�F%
`7��{���~�9�SB[ke����;T�vF���>�>�Ӟv,Qt��kT�vF��,���4-��)���7���R�i�546AHث09������::�!
`���O�@B��Iرe~��i�Hh�(�`�i���qoWHh܎J��Y?�	���n���&�q�x�5�]"�i��2<&ڜ&���J�4	����\�*�Ih����`pn��m�O��X�u�Ҵ��i�QIHֆ�4	
'i)�d�P��8�Ih8Ĝ4�􅜟�󜄆+T�!غ���i�8B�Q���y�_^^�i8AH8�0���4\��ڭ����m[���Ƙ_�~eY��%�<*i�ø7���pD�4v��n�5���r�qoĉJ�qc�.˒zq"�ڒ��{#Bw�ވ�40�H��9�(�@\�q�}�BN#6�Iy}}�,K9�P)�4|f~Zk���o��=B��$��y�gYVU�1���>2D����.��UU�繜	�u���ӈ!
lVJYk��EQ�y^UQ���!
l���Bf�}�A=�m��nI�O�\9�
�fNh��6ƔeYE�e�0�6V&�5km�4Y�IaMZ�@Nc�4��	�0�Ȫ-9+�1p��Fx�4���^H]�u�eEQ(
k��iFHA���u]�d�5c�n�����	�вj����š�2W�iCH��L�OITSX;AN#Ba�^
�<�e/)�7�����Ҁw�'�;�s��y�+
�GQO�7B�+��Ka-;��y�!��!
xgB��&��,����e��AH��"��I[��\�ۑ�������m���o�nƘ,˪�ʲ��ۑ�������b;
9��D�4�+��n@N�9B�eǗ������.(�_Fsُ�i�EH�L�Զm�u	��{7M#��	���!��!
x�u����cVk]E<o�����P��9
Wi��i����0�Ykm]�y�_.k��������kc�e�"��!
�ն����Z���t2����4M�Zke�[�Z���5r�Ҁ_��?�<�K"��*�����a�q��œ���d\Z�i.�&9=���xZ�_�~��I"����RL?|�_�~-u���c��WR�Ks�֚�XPOc
B�n�?�<���<zz�޷Y���i�",[���h.a�ir:I�4��m�>�XR��ei�Y~Qʲ�m�i�m\nFX�8'C��x!
�������?n�ia���i���j�^�зl	~��`~ ����ooo}�?|������������.��Z�oa-c��w��2r�"����}ߟ���1M�TU��K��<���u}z�1�eƍi �y�_^^�q|��,˲i���Z+diu��<sd\
��#�����MN�����|x�Pq:�꺾�w��8MS���	y�E�D��
k�i܈��Yȴ������$�eT:��j_�.�j�8��RO��4���z��/{��;D,������2.S�J�#����!
5�|^SLgY����@�i���2I�hVc̲j+�1�09�����79�G�4���|>w]��
eY>???����<��8>|^�sI����=��:��"������y◗�5���t:�e�p5,�!M��F���<��2�i|��B�C�W��*�RN�|�
�D6��<���Y��j4N�\&�eI6���O���yyY�4�/��4M�a�4�;���;�����i|DH�bz�`EQ4M��i+��4�˔y�c�ua���8�4�!��m�\����Z?==�e�ꖄ�v�q���+i��	\ބ4Қ��5B��<ϯ��+���1���N�FKvA�v'�E�eRXgY�@T���<�e-����z|�6��0+g�����gWw%��]׵�Ԓ>p�/�̩_.���%�w}Ж� ._{��,�\54�+*i`3�8�����,�����w&M�4ϳ�XK�s��ߺ�,ˤ��2:~�4����2H��Y
/d��i����I����S׵����?U|�Ǹ7	�/w��Õׇ�0r:�������(
�
9b+����{9�CVm�+��qoWG��лC%
l���m�.�J)k���P0RU/M�?Id�2i��|_Q�&�����$�^���u���~�LY]}�\duu�Ga.�ޖ-�#��k�s�s:�H��a�ؒ�fY�2�eqs�>)y9i/�B�����/7v�\��}��Y[Z�ske�75�~QI�b���u�u�<�����[z�<��Z9bK�:�RU�,K�я�nգ�4	�k�4��q___�i�E�����Lv�^�ݮe�����Xߛ�$���@.��E����ܒ#�ڶu՜�4�Ks���{On�iٱD֋��78ǜ495ye�n�uEQn�l
-3�RX���<�(�RX�e����H�4PI�p�K���m�ߓ��7o	C�Ŕ�P"ܹ�z��N�4kmUU�0��5��q-	'gU�y.ۖE��Z��g^VmE�\�M��l�FB��J���%�Vk�63��[�w�)����UUIU�
���1MӐ�ɠ�b!���#�b~F/Gl��02�I�}���#Fdƺ�kY�}����N�4�i�ڶ�ne\�u}:�\ݕo2�-ۖy=A�!���\��x!��4MeY�Љ!���8Y�e�yzz��Ի�4W�}�u]�U���iY�%����z����mxp��n .eY.3�������2�+{�n}/?�7VJ���VmI/z�E|S��HM���Q.k�|����ͷq��}�P7N�Q��P�h�!
�Ek]���(��"J)��x�0������M��^�ˌ1y���3�œ4��\.+�S����.b�	�)km�g����PI�Y�Wa�8v]W׵�[�bY3����$�H{�_-{�o}_�*i F���,���b��ҫ�?%��D*�2�q#*i FN�ǔR}ߗe)�qFHj��Z��dt	iY�Es~D%
D�Z���~����i"̃��П��o���ߠ��UU��!�ii�5��㱗��y��Y�UU�5>E%
�k����ו;e�ZQ�L/�b�,˺��i�^-������g�2Ć��e����ue�fY�����_zW\Z*Q9��:Y���U|��c����,�x�¶i j�0���qW>���Y�Kڐ�^Xk��*��7�&�v�)a�|��Vi vooo]׭�H���i��}$tQ߷��6�m��4���@6,��M����=;i[�%�!�����?�69L�ؒ
F\݃W�BN���0�"���9�[vG��|��e���ޘ�׿_k}:��q�C�����#J+Y��$��@�1MӬÚ����w��ބ���PR�:�+�䈎�(X�up|���ݼW�����Oh��H�w�,��G꺮�JEv�E�eMӐ�P4�{�u��XZ맧�`��FRCO�i�.��ZNHhB؇y�����7^�u�4M���ߎ%>�K�����pu��C��X�>H��m��:Z����(���W����j���m�B�����vc��?��\I����XI�ӄ�&C�RX�'��)�5{"F���T��
D�	����J�,�d�����ۉ��
�4�'�8����_�u:��8W7&��ߑC$ew>NB�����SU��rYsI�y����F
���Ry�˪�y�e��m$4�GH{b�q��}�E�0�ӫ�ߑC$�1���Kg��m�Hh���v������/��UNo�/wxRX�B�(�F�Բ�glGD��v�Z+Gn�q�Z���7_j�5�mB/�������A�ļ=����$J|/ҟ_�qW'�K��e��t��ߓ�EUUOOO�ө,�[އe_n?���YF�����:Y��!ӏE���#YT-U�8������0�
��Z�I��iMI-�O��>FB�e�,�VJɦ��fHh܋Jث�m��j�yzz�7�I�[,�v��,�M�0��PI�d�-�B����T{w�x��7Zή���UUI���}aOi`��e)˲�;K�m+�ʷ�f�^���6տ#��_�WZ�N��1t}�)VE�	��6�����?`ߜ:�uݏ��Ӯ�MӐ^�W��@���v��e��~��L�~�Hh`�I#"���Z;ϳ�A$[k-7��Z~��SwA~X�%���ҁ���.���~DHcKKO�$t(���%9�u5�g����yJ]E��HS�}����󼪪w�NBb�4�!���N��x�,�zZ�JjJ���8��///+w϶��u]�����4���A6yX�Zb��p���y��a�M�de��Zk�<�ш�/�����&���QI#���NB�k�[��2x{��zǗ���?��ڲ,����1$4B!H�+}�� IDAT)��g�W�U���r����ol�eOOOr5�!
�$�۶�d�LZ7M��|����___��y}�!
����neO�z�\&�On{'�Xk���-ے�DBk�\X`C�Z9XW
��g���rʯ��ʲl�[�A�bI/^d�Ox�4ܓ�}߯_���RWU�^N��������֣��c�ڶm�����{Gz˧iJ/?�1UU��$4�??pF��^__��o�;�<K���<����qp��n�!ۉ��#v�,�N��1f�`s�m۶m�zup��"8 =b��v�{��4M2�;M���l���K�Ѐ[� a�q��s۶;�9�DO)�����<� 	
8��V�Q
��'��7�sb9]UU�[Hh�~��a���0	t6$�Ӳ�Z��#�O��ƒ����Hh�RNgYV�u�o
;���C�G����½y���s벲,���_�S�%	
x���jBk���[!�ǛQn�7~�p��mNh1����ˮ[�DUUr��$4?]��,��.B�����ZkO=��Ca��[�����]"�fu]���Z�8GDk�<4?c�I�m���O���{�����)��)X�Y���,4���_km�����l���y�&��<�V��8��i��1y�k�f�~桁�i��kB[k%��,����ދC~�,��Qh9hR��w`�mk�����x��yY�]׭��֚�B"���	-I\�u����O��e5QQRUK�+i���0Y���b��o����]d���*�%	����6�,{��X����}�;���/����d�s���_?�PU��t
��(pd�4>�/��&�:^���1����_x����~Ϝ���|>;�y����~��}a�����n�Z�eYY�eYfY���˘�Ll;��Ud�w��]�j�^z�_
���1�{RC;O���O���tr���ʲ���Ӡ�4���r0r䆓K����:~DH�?x�S�t:UUU������s����G�7����H1�d�~�&W#��GH��|��Z�_�~�e�i�w�������G���^I7����4د�����b���4����ׯ_n_�Z�uݮ��Z+��/%���_��i(�a�[�w>�Na
菤�v��R��:��}c�_J>��Ӏo�4܏r��p]�ۮYʲ�i���L��6�8yOd8�n��|��>:�5t��M�l����A���%�v]L���N.u�\8u�!}h�kh	�<�#YD++��!士�m���	-���I�M8��-��/��j���.���(���<��0��b��!9Oh�+#��eY:<S��>�a�jSJMӔ�D+��)�4gB����L'�ڊ�8��[N])E�H�?��s����JeY�d`VN�\�mYk˲t���r�Ҁ'�>U�I�b_qX;���H�fsu��o�D+�+�:H��W����\'�����믣��
SxO�����
'��J)c��L���{��V��ǜ�m
@�AB���b��ᔢ��*'k�����pn7OX<��^8�g	�4�v��
';�y�1�������	���dkm��B�v56�}2��]>gq#�����u��]h�T���e�ۦQ���8Ԟb7r2-��f&�dY�䳋��r�0�
8�ק-�磆�|O���Wi�N)���p��y�u)�9�����ŧ�1feN�f&)��Zّ�ɥd��KP�tzH�����Z�ms5<0C�u�@҉!�o�&b��Y<��u]���dڼ'�y򂄾��|����H�j}WJ��
�����H���&?d�;�2ZdY�d�1����m[���K�{X����<�k�R2ܝ��"�<w�K(�N���9V[�Nz��W��u����ڮ�R}��`R{

��w���$G�e�GH��N.5�#m�J	>���m[�.r��+a���:Ȁ��|A۶m�:�`�	-e�3�R}�1�(
W�E��c-�Fʏ���ЏY?��~ò�I۠���}O�7𰔟ȩ:��$���+�^��q-Y0���0���I���$���ckm�oѢ,KW�c�f�s��Gy褁Qo�ZWUu���(
W�i�X3
<&�GsJH�5�iZ3!m�Ͳ,���h���0Ƹ:r�Ao�1�?��@B�1M�W�#�� #g��apr)�P�@'��^c�elM%W��}���a���zGΙ��3z���^Ik�u�ʾnc��cw��Z�m����!�Ů����ic��qu?;"3�?��@1
��(O�=b�{�����LE���a�������(��i�|>;�&�4M�0���,��ukm�4���+{�:��z_��v��	���a�GB]�Gk�&���_��cpzdQ�Tχ�F�u��y�E�<w���NeY�p�a8r�݁�ڻ ��/x�Qn��0N��7����j���@�9�>lB;Y�##Nni��<w���,[wu5 mzvG�ډ�Yl��1�P;u���*W9=���ra-p�=�cF
������ڑ�^H���KEAH�8�<Z�kh��l4}����y��~(U��>첫Oi��^��Ek�4�,�vrc@�9٘��b����|�JE�ʮ�->�N�:K�F��e�$��܈'іڶu����:�T�4�־�������RC���Z+�.�u\ ��\~q9�r�#��e��)��>	����t]�v=�5k�r�䟉�<����_�c���㑔���<�Ғ�����Z+g�r?Y��/j��1����Ŷ,`wOx!�
y��y�oc���$����,˲,��`VJ�}/�,9��������돟$��3[�)�@~1�j[ί�w;tx؃#WX�Z;���r��߫��|t��UU5M#ߗe��QE~�$��R�巌'ǜ���?��5nq:�R��FHo)LN�D��nZ)U�8����-�ijD���K�G�r��|���!=�G>�X���-�㸮k��לNo��yB+�����ny]c�O	R����1�Y���� �ޞ��m�z=x �qo	�e`|�c����?�*�/����S��l����ӷ;TB��t��wPz��<�5cRd�	�a���7�Iΰ�1��0��	�{����r�3���YFŗ�s����/�g�2�(�<�?�F��Y��tD���w��G�&�˲��3Y�-���׽����@f����8QIG�z�$�X���"�z}�1�I��1f���:$4��tt���;Zs�Q#YN���!�z4��axyy��Ih�B:F�{_�־��PC;��R�0�L]K��E�4Mm�}��K��ґb�AB�!%�DuQ�o��grH	
xBHNjz��iY�%�,G>�������c�����EHG��9MBo�zT\)u]d��E"ٲH!�c���8��wI,E�tJ�OX���˒���ǻ�]�0\��	�Bz�ӌrGN��e܅2�އ��4	��fF���Ax7���2�Xk���0���LBGNvA!��`���$��7IhY<ϳ�^�G-[R�t/+jh`���$9���[��!Q2�j���D�냗����%�6������54!�?���^nIb�UJ�����x�d�m9Rb�&In	�q����}����u�{��iߣܲ+u]����\Jm�ّ���IJ)�:���i�!�c{?/�_B�*޲,�<��@�E�$s��<� � )��܃s����}�oN�K�,˪��z����m��0�<Kr+�dl?��q�!�{{�i	���󳫑m�d\N����%-��Ih �t
��Ӟ:˲<�O�STQ�	lc�,I�Q�:��PIh �t"��ӞV[��4���r�L�t��+���Hh �t:��iO5tQEQTU�ӄ~g�_Z�d>{��A�
!�y�w]���z`M���.�R���H�w$���2���-���[��@l���YO��N\�f��^��^�>��@�����o���>\���`��&��j�ۂ&H�
���崵�r�(����О,���T��Ⱦ^ߵ����"���E%���iz�f�����.NB1#�S�mN�Б���%��]|�
��bFH'n�>2:N׭g��a$4-B:}��iz"܋�;4��/pYQ�󙄎�$?*�VOk����HB8&*�VO;��GB8,B�@��[$4�##��e_9MB88B�p���$4�GN����Ê9�Ih��qř�$4,�C�-�Ih�FHݒ�r��wBB�;f���$�뺖��7AB�Gl�	�o�Hh������Ih�
!�??MB�7����rP���N�o2���,}��1&�s�B%��������Z����i��7��1Z�,��c�1J)��1F���#'ظ�4M�<OӴ��ڡ��<K��<ϒ���C��⚾"������{&��֗�E�Rr>:ܓq�gcL�u�4
� ���_U�˯��G���]�-�\E�ey�/ն���/���m��,�*�G�X�%�8��ھ�iZ�f�)o�RU�ei������[a�ei�e���k���$���8JNo��EQc��ZF���ɽ���n����k)����m���<���f�9�2�e{��9
�H3��t��9ڿ��6��(d�:�š�����a�NES:O�麮#o�
��EQ�b��J'�e��|�%U[��ݴ�EQ�eYE��-�i)���0}ߏ��@�;�y>CY�y�WUax�uY����m�O@i
{{{KcH@VZ��8C�4�A��7��if����8�}�솱��8�e��G�Raƽ���Ӊqo��㐖�sXӆ�֧�)���z��i�m>��=���0�w�v�<����y�UUm};�loƽ�Ξz�}��r��]Ɨ�u����OCY�i�!�ʞy��a.��lv4�<_.�i�d�V$
e�r���n�w�<�.%�Lh����A�뺎d��~o�d�y�۶�|�^�'{���|:��11}/9-��^�|>7M��iǰ��n�+Ƙ�i�i��~������D�!=MS۶;��3�u�4��z�{Q�����i�^^^����PsUUeYn}/J\?-�e�������L[k��1,�3?����@�"}�œ��H���x�++��q�I�ږ��I�7<,�G�0ooo�ZbX�V��-k����S-_ȟ��9��V7���j�o�e�z�=�.�˲�T�eYJ�dYf����o��n�Qe��<���8�>h�</jC��e�g�F�89�~d��C-LB��ܔ`^R�:��%�Rj/��織�Zkj��I������_�+K"'�/��|ANHIDO��m/����ZWUUE�e�ߕg�2{i���Z����vw�w�D��EAN�Nm?<+���R�J*7Ms=���]�IZ�-N�β�,Ki�
���.ų,@B�2�ÿR��$�Du�u��r����%��PO�.@b���N�(ʲ���JӚ��ӫ����ˑ��iE��l���)&�Gưe��cd�w������Ұ�#�wB����ɹ�B�ɫ�:���4;v�9�i	جq�_Bc�A,��0}�w]����sZ�G�����5��<����_�-Y��y�uaJ���Z�m��_<��%��@G�#{�HN�	��9-_��v'�c�r�xڱDNt��<�I�[E!
emۆ�iy��ӊ�i��%	�#���8�Nav)�A���xyy	�=ϳ�BN@��=��%tY���ϱHu/YQ��ׯ��2�猪��y~�}C�i��i�;����`�Y���}�KF$�����tR�4�����Z�($�S";�E�{��:�yY����)O��rt�Rt&fI,k�L�s��V�{����x��eӮ���^66�O9�_��k�\�}NN�SQ�4��y|B��������,����i9�9��6��4���z<yZ������2�Un2���KN���g���5M�lL��%����E6A���y��|MN���	�IUU*�rZk=�s�uZ�,}�Ľ��\K����O%�+�N�9=�lCb��
��\>�H��t�u��u�0�
�Ȝ=�H�`|�\<��BZ�ݵF�f����9���LZ�e�����5�)�7*���*ߓ�m�}�_��9xʓЛX��a|�&��r>��?&@=͸7���}��*�RV�{�������xe����z�Л�.�Z��|��1r�q<^!�Б���,�|l�>M�|�'����*���JY��<��n�6��B�1?
���I��u�/G�a�}��������lA�8���g[E�t:i�}��1��0y���A&�z��:׷�6M���m��A��w�	�D�4��F�g{�QEY����iʲd��V�x�x�c�HhW꺞���贜�aby���&�l����{�����yNO�4M�1&�Ao�:�e�������A�Z����-'R8�=�b8��Ss����K"�	�ž4HN�8!C�MG���d~�Qn��I䯗���Jk-o�<�n�}�4�㸔��YYO����]%���@r�y1-˱�^ӭ��i@l�i��$t0Z�_�~9����ik-	
 B����^n:����c��<MS�3�⮜�S@�>yv�<4�bi�&��,����3�s��454���i�ӓeYQn��y�.�bZݐ���b�!�<t���p�}��i�mNSC�ܿC�y�9��i�"o[|��$4���+�����N�ֺ,K���Yk�a�����z��$4�]ȕR]���M�I�x8߃l�y��/��d��D>����w]�i�G�����x��4�4M���>˲��TQr�{�`��]?}����dő�L���odYFB������.E9��1�(
W�n�r�5������/@N��SU��o�^�b��kؓ�>�,�N���oǎz�`_�=7 ����vZ�,��7;?���8�;��a �#!놝\JL;���._���p�l�J|�d)�ל��z:Czz������2�}�%���X|7��/7� ����繓�B�,����y������Dkm��[	n��=$��i�Z�y�d-=����{8SO�-�sc�����ꖐV�ө+��ɑ�4�M�n}4�G�0I�o�<�K
�Q?�ө����י�b�o���N�1&˲�E��v�g�ip��Hr:=�ڢ(VNK�*,Ů&��#�er:1Zkc����Nn	�iź�eY��
����np��N�e�DN�^�_�ЪiHƽ����A����Jph�C��N�J���-�L��iX�%��|��!���T�,�e�����	iEN�1���|��g!���[�������2�9�g뻻i���"�w�Z+��\�%X��V�G�[+Ka���-/!�؏l�ֿ�$48�+������	ip�cH+��]�Ӡ׼�Nf��!��#�k��3��B\�Ҋ��	��W^��7\	�*TN�'��8���w	�BZ�#�\.�q�������D��V�EL޽���������ʸw�\}�Y��(����9͸������i���y�����$��ޑY��J.��9���f���{ǣ���Z����-g��{��ߛ�y�@��;�]��[���|�{��ߛ����Ƙ_���ť�ސ$�7Gk]�%���!��������q}���C!���-h����q����|��JN����h�TQ�v���"������Ry���	�WH+r:�q۶]cLUU��(��V��8^.'�b�1�'ƐV�O�|�I��R��*Z���x���Zkm�uN6�뚖1�'ސV�Z����,SRF�?�?a�i����ʳ4EQ�u��R�O�Ҋ�v�m[W	�eY]�l�
^� �9��0�08Y-�ic����Ҋ�^g���]utk���a6|��s��~��պ�su��ih���Ҋ�~�ۄ.˒��0vҊ����r9�Ϯ�zz#�IDAT���.���� ����"�o�6��RUU�S7�ːV��
��w��eY���^CZ������<�R�S�Ҿ����a�\.�\)��1eY�e��hi�!�����v��1�i�}H+�9�u�^r�SB???��^
!�<紵v����>�N$4l"��V������aBk���hB6�NH���N1��yQ�/[I*��!s��(��{\4	
J-��rz��m�&��V���puM�iu���z�&�5��t:����4CZ �=�r+�����b��?����.��������e��p�V�"���i��,�^��CZ�n�6XN�K說؝��~H+�9--�r�wB��
�r��VI䴿���h���$�8���>29q�i}d�kh"t�JZ촞&���j�9MB�a.�ծr���#;֜�秗�'ޘ �`�XI���iO�O*��!�"�iF����݋�ƽ��CW�"�z��,i���i����<����Ü��j~Z"|�&�������RC���w��4����0��0���4�����_��Y�Yk��|����ל�w^k�$4$����לv�����8��}dn���B�g��i�CH�$�&� I���iREH�!œ&� a��}��i�FH�-��&� y��#6�i���~І9MB�Aҏ�$�Ih8Bz��9MB���k��,Ih8Bځ9]�eUU$4
�`9��,F�����TO��pX��K�s���##�s��t�����9�i:���+s��(Bڟ�s��Bڣr��,i���ip����Ɯ&���!���$4�#B:�orZ:���!Χ9�$��:�-bFH�.�Ih�7�Ж�&����m�������?`u����IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/next.png000064400000002176150505765670016461 0ustar00�PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�BJ�JR�Rc�ck�k����ƌ�Δ�Υ�֭�޵���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�`�bKGD�H�IDATxڽ��
� �U�\��&�{�W]��؟2!BrwA~�p)#Հ6�L��2���D@�n�R�̌��QK%+�uKe�h�݇YA=���qfn� �WRә�[P�z��2���4浱��y�,Ǭ���:l&�XDz�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturebcb022e8ade53bb4f94fb0f70d7c0a8cu�ktEXtPage35x15+0+0~F�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/caution.png000064400000002342150505765670017140 0ustar00�PNG


IHDRש��PLTE!!11BBZZcckkss{{����s����s�������s��{����s��{����������c����������Z��c�������c�����������������1��9��B����1��9��������������1���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������_��\bKGD�H�IDATx�u�ێ�@��b̮�Ic�AP�`bx��sBE�U�_��Oh�<��`�'��1��wp���	�W�ȝt:%su�&�w,�H��ȯ�f	�������59��v�:��\^
F;`�H�J'�8��71���ZJ��+��b�2B��8�����Q�$�w��RK��v)�nR��p�t��}��������Vb�T�z�D���v�@��=�rP�����du����v�z{N�l;�a*CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec70387830aa4ecd5a4a32a852283b3d6�P�tEXtPage24x24+0+0r[	1IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/prev.png000064400000002154150505765700016445 0ustar00�PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�BJ�JR�Rk�ks�s����ƌ�Δ�Υ�֭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ĪbKGD�H{IDATxڵ���0C��V%2��o%e�Ķ8�Xz���\�<u��ԛ�+�F�a�>#KS��!�Q�aĪ
(9�Wv|�Y��Y���d=��[�髂���N���g�$�
����C=��%���CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature0f87aaf0b04e24ba165f2a4bfa6bca57k�tEXtPage35x15+0+0~F�IEND�B`�share/doc/alt-libxml2-devel/tutorial/images/important.png000064400000001322150505765700017502 0ustar00�PNG


IHDRש���PLTE)))999BB1ZZ)ccBBBRRRkkBccRssRccckkk{{{����9����!��9��Z��{��c��{��J��R��Z��c��k��{������!��1��9��������������)��1��1��!��Z��R��s��c��k��B��c��{��������������������������������������������������������������������bKGDCg�
bIDATx�m�S�0�3E�1�����K�PT���F'�����Ǯ�Q��]�_i�K�B�&�F�(�6���r��c��/�Ѵ�\N��h���* �2p�=�:��J�v�?�����6��|
@}�`�^�>���s
P��vB��ɨ�@�d6"�o;g�`Ps�+����s%��ǯ%@�S�{4�ܾ�U�-�s"�1ч��?�j�<`g ��eZ�*�+��æ�2�_Yv�*����lv�~�gZ�[�s��Y[Ða;	=��/�oJĘ!�f���cl�Rm�RCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec3ecc1fc5135d1e959695e569d213122ri�IEND�B`�share/doc/alt-libxml2-devel/tutorial/ar01s02.html000064400000006662150505765700015504 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Data Types</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s03.html" title="Parsing the file"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Data Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialdatatypes"></a>Data Types</h2></div></div><div></div></div><p><span class="application">Libxml</span> declares a number of data types we
    will encounter repeatedly, hiding the messy stuff so you do not have to deal
    with it unless you have some specific need.</p><p>
      </p><div class="variablelist"><dl><dt><span class="term"><a class="indexterm" name="id2526186"></a>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLCHAR" target="_top">xmlChar</a></span></dt><dd><p>A basic replacement for char, a byte in a UTF-8 encoded
	    string. If your data uses another encoding, it must be converted to
	      UTF-8 for use with <span class="application">libxml's</span>
	      functions. More information on encoding is available on the <a href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Encodings-support" target="_top"><span class="application">libxml</span> encoding support web page</a>.</p></dd><dt><span class="term"><a class="indexterm" name="id2526232"></a>
	    <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLDOC" target="_top">xmlDoc</a></span></dt><dd><p>A structure containing the tree created by a parsed doc. <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLDOCPTR" target="_top">xmlDocPtr</a>
	  is a pointer to the structure.</p></dd><dt><span class="term"><a class="indexterm" name="id2526266"></a>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
	    and <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODE" target="_top">xmlNode</a></span></dt><dd><p>A structure containing a single node. <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
	  is a pointer to the structure, and is used in traversing the document tree.</p></dd></dl></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Libxml Tutorial�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Parsing the file</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/api.html000064400000003553150505765700015161 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>I.�Acknowledgements</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="aph.html" title="H.�Code for Encoding Conversion Example"><link rel="next" href="ix01.html" title="Index"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">I.�Acknowledgements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="aph.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ix01.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2588597"></a>I.�Acknowledgements</h2></div></div><div></div></div><p>A number of people have generously offered feedback, code and
    suggested improvements to this tutorial. In no particular order:
      <span class="simplelist">Daniel Veillard, Marcus Labib Iskander, Christopher R. Harris, Igor Zlatkovic, Niraj Tolia, David Turover</span>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="aph.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ix01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">H.�Code for Encoding Conversion Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Index</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ix01.html000064400000004761150505765700015173 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="api.html" title="I.�Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�</td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id2588704"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>attribute</dt><dd><dl><dt>retrieving value, <a href="ar01s08.html">Retrieving Attributes</a></dt><dt>writing, <a href="ar01s07.html">Writing Attribute</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>compiler flags, <a href="apa.html">Compilation</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>element</dt><dd><dl><dt>retrieving content, <a href="ar01s04.html">Retrieving Element Content</a></dt><dt>writing content, <a href="ar01s06.html">Writing element content</a></dt></dl></dd><dt>encoding, <a href="ar01s03.html">Parsing the file</a>, <a href="ar01s09.html">Encoding Conversion</a></dt></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>file</dt><dd><dl><dt>parsing, <a href="ar01s03.html">Parsing the file</a>-<a href="ar01s03.html">Parsing the file</a></dt><dt>saving, <a href="ar01s06.html">Writing element content</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xmlChar, <a href="ar01s02.html">Data Types</a></dt><dt>xmlDoc, <a href="ar01s02.html">Data Types</a></dt><dt>xmlNodePtr, <a href="ar01s02.html">Data Types</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�</td></tr><tr><td width="40%" align="left" valign="top">I.�Acknowledgements�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/aph.html000064400000007020150505765700015151 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>H.�Code for Encoding Conversion Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apg.html" title="G.�Code for Retrieving Attribute Value Example"><link rel="next" href="api.html" title="I.�Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">H.�Code for Encoding Conversion Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apg.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="api.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="convertappendix"></a>H.�Code for Encoding Conversion Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;string.h&gt;
#include &lt;libxml/parser.h&gt;


unsigned char*
convert (unsigned char *in, char *encoding)
{
	unsigned char *out;
        int ret,size,out_size,temp;
        xmlCharEncodingHandlerPtr handler;

        size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

        if (out) {
                handler = xmlFindCharEncodingHandler(encoding);
                
                if (!handler) {
                        free(out);
                        out = NULL;
                }
        }
        if (out) {
                temp=size-1;
                ret = handler-&gt;input(out, &amp;out_size, in, &amp;temp);
                if (ret || temp-size+1) {
                        if (ret) {
                                printf("conversion wasn't successful.\n");
                        } else {
                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
                        }
                        free(out);
                        out = NULL;
                } else {
                        out = realloc(out,out_size+1); 
                        out[out_size]=0; /*null terminating out*/
                        
                }
        } else {
                printf("no mem\n");
        }
        return (out);
}	


int
main(int argc, char **argv) {

	unsigned char *content, *out;
	xmlDocPtr doc;
	xmlNodePtr rootnode;
	char *encoding = "ISO-8859-1";
	
		
	if (argc &lt;= 1) {
		printf("Usage: %s content\n", argv[0]);
		return(0);
	}

	content = argv[1];

	out = convert(content, encoding);

	doc = xmlNewDoc ("1.0");
	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
	xmlDocSetRootElement(doc, rootnode);

	xmlSaveFormatFileEnc("-", doc, encoding, 1);
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apg.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">G.�Code for Retrieving Attribute Value Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�I.�Acknowledgements</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s03.html000064400000013126150505765710015477 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Parsing the file</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s02.html" title="Data Types"><link rel="next" href="ar01s04.html" title="Retrieving Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Parsing the file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s04.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialparsing"></a>Parsing the file</h2></div></div><div></div></div><p><a class="indexterm" name="fileparsing"></a>
Parsing the file requires only the name of the file and a single
      function call, plus error checking. Full code: <a href="apc.html" title="C.�Code for Keyword Example">Appendix�C, <i>Code for Keyword Example</i></a></p><p>
    </p><pre class="programlisting">
        <a name="declaredoc"></a><img src="images/callouts/1.png" alt="1" border="0"> xmlDocPtr doc;
	<a name="declarenode"></a><img src="images/callouts/2.png" alt="2" border="0"> xmlNodePtr cur;

	<a name="parsefile"></a><img src="images/callouts/3.png" alt="3" border="0"> doc = xmlParseFile(docname);
	
	<a name="checkparseerror"></a><img src="images/callouts/4.png" alt="4" border="0"> if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}

	<a name="getrootelement"></a><img src="images/callouts/5.png" alt="5" border="0"> cur = xmlDocGetRootElement(doc);
	
	<a name="checkemptyerror"></a><img src="images/callouts/6.png" alt="6" border="0"> if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	<a name="checkroottype"></a><img src="images/callouts/7.png" alt="7" border="0"> if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}

    </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#declaredoc"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Declare the pointer that will point to your parsed document.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#declarenode"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Declare a node pointer (you'll need this in order to
	  interact with individual nodes).</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkparseerror"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check to see that the document was successfully parsed. If it
	    was not, <span class="application">libxml</span> will at this point
	    register an error and stop. 
	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a class="indexterm" name="id2525337"></a>
One common example of an error at this point is improper
	    handling of encoding. The <span class="acronym">XML</span> standard requires
	    documents stored with an encoding other than UTF-8 or UTF-16 to
	    contain an explicit declaration of their encoding. If the
	    declaration is there, <span class="application">libxml</span> will
	    automatically perform the necessary conversion to UTF-8 for
		you. More information on <span class="acronym">XML's</span> encoding
		requirements is contained in the <a href="http://www.w3.org/TR/REC-xml#charencoding" target="_top">standard</a>.</p></td></tr></table></div><p>
	  </p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#getrootelement"><img src="images/callouts/5.png" alt="5" border="0"></a> </td><td valign="top" align="left"><p>Retrieve the document's root element.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkemptyerror"><img src="images/callouts/6.png" alt="6" border="0"></a> </td><td valign="top" align="left"><p>Check to make sure the document actually contains something.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkroottype"><img src="images/callouts/7.png" alt="7" border="0"></a> </td><td valign="top" align="left"><p>In our case, we need to make sure the document is the right
	  type. "story" is the root type of the documents used in this
	  tutorial.</p></td></tr></table></div><p>
      <a class="indexterm" name="id2525415"></a>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Data Types�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Retrieving Element Content</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/apb.html000064400000003752150505765710015154 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>B.�Sample Document</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apa.html" title="A.�Compilation"><link rel="next" href="apc.html" title="C.�Code for Keyword Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">B.�Sample Document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="sampledoc"></a>B.�Sample Document</h2></div></div><div></div></div><pre class="programlisting">
&lt;?xml version="1.0"?&gt;
&lt;story&gt;
  &lt;storyinfo&gt;
    &lt;author&gt;John Fleck&lt;/author&gt;
    &lt;datewritten&gt;June 2, 2002&lt;/datewritten&gt;
    &lt;keyword&gt;example keyword&lt;/keyword&gt;
  &lt;/storyinfo&gt;
  &lt;body&gt;
    &lt;headline&gt;This is the headline&lt;/headline&gt;
    &lt;para&gt;This is the body text.&lt;/para&gt;
  &lt;/body&gt;
&lt;/story&gt;
</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apa.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apc.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">A.�Compilation�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�C.�Code for Keyword Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s09.html000064400000016663150505765710015516 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Encoding Conversion</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s08.html" title="Retrieving Attributes"><link rel="next" href="apa.html" title="A.�Compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Encoding Conversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialconvert"></a>Encoding Conversion</h2></div></div><div></div></div><p><a class="indexterm" name="id2587348"></a>
Data encoding compatibility problems are one of the most common
      difficulties encountered by programmers new to <span class="acronym">XML</span> in
      general and <span class="application">libxml</span> in particular. Thinking
      through the design of your application in light of this issue will help
      avoid difficulties later. Internally, <span class="application">libxml</span>
      stores and manipulates data in the UTF-8 format. Data used by your program
      in other formats, such as the commonly used ISO-8859-1 encoding, must be
      converted to UTF-8 before passing it to <span class="application">libxml</span>
      functions. If you want your program's output in an encoding other than
      UTF-8, you also must convert it.</p><p><span class="application">Libxml</span> uses
      <span class="application">iconv</span> if it is available to convert
    data. Without <span class="application">iconv</span>, only UTF-8, UTF-16 and
    ISO-8859-1 can be used as external formats. With
    <span class="application">iconv</span>, any format can be used provided
    <span class="application">iconv</span> is able to convert it to and from
    UTF-8. Currently <span class="application">iconv</span> supports about 150
    different character formats with ability to convert from any to any. While
    the actual number of supported formats varies between implementations, every
    <span class="application">iconv</span> implementation is almost guaranteed to
    support every format anyone has ever heard of.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td colspan="2" align="left" valign="top"><p>A common mistake is to use different formats for the internal data
	in different parts of one's code. The most common case is an application
	that assumes ISO-8859-1 to be the internal data format, combined with
	<span class="application">libxml</span>, which assumes UTF-8 to be the
	internal data format. The result is an application that treats internal
	data differently, depending on which code section is executing. The one or
	the other part of code will then, naturally, misinterpret the data.
      </p></td></tr></table></div><p>This example constructs a simple document, then adds content provided
    at the command line to the document's root element and outputs the results
    to <tt class="filename">stdout</tt> in the proper encoding. For this example, we
    use ISO-8859-1 encoding. The encoding of the string input at the command
    line is converted from ISO-8859-1 to UTF-8. Full code: <a href="aph.html" title="H.�Code for Encoding Conversion Example">Appendix�H, <i>Code for Encoding Conversion Example</i></a></p><p>The conversion, encapsulated in the example code in the
      <tt class="function">convert</tt> function, uses
      <span class="application">libxml's</span>
    <tt class="function">xmlFindCharEncodingHandler</tt> function:
      </p><pre class="programlisting">
	<a name="handlerdatatype"></a><img src="images/callouts/1.png" alt="1" border="0">xmlCharEncodingHandlerPtr handler;
        <a name="calcsize"></a><img src="images/callouts/2.png" alt="2" border="0">size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

&#8230;
	<a name="findhandlerfunction"></a><img src="images/callouts/3.png" alt="3" border="0">handler = xmlFindCharEncodingHandler(encoding);
&#8230;
	<a name="callconversionfunction"></a><img src="images/callouts/4.png" alt="4" border="0">handler-&gt;input(out, &amp;out_size, in, &amp;temp);
&#8230;	
	<a name="outputencoding"></a><img src="images/callouts/5.png" alt="5" border="0">xmlSaveFormatFileEnc("-", doc, encoding, 1);
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#handlerdatatype"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p><tt class="varname">handler</tt> is declared as a pointer to an
	    <tt class="function">xmlCharEncodingHandler</tt> function.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#calcsize"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>The <tt class="function">xmlCharEncodingHandler</tt> function needs
	  to be given the size of the input and output strings, which are
	    calculated here for strings <tt class="varname">in</tt> and
	  <tt class="varname">out</tt>.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#findhandlerfunction"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p><tt class="function">xmlFindCharEncodingHandler</tt> takes as its
	    argument the data's initial encoding and searches
	    <span class="application">libxml's</span> built-in set of conversion
	    handlers, returning a pointer to the function or NULL if none is
	    found.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#callconversionfunction"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>The conversion function identified by <tt class="varname">handler</tt>
	  requires as its arguments pointers to the input and output strings,
	  along with the length of each. The lengths must be determined
	  separately by the application.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#outputencoding"><img src="images/callouts/5.png" alt="5" border="0"></a> </td><td valign="top" align="left"><p>To output in a specified encoding rather than UTF-8, we use
	    <tt class="function">xmlSaveFormatFileEnc</tt>, specifying the
	    encoding.</p></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apa.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Retrieving Attributes�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�A.�Compilation</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/apc.html000064400000006026150505765710015152 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>C.�Code for Keyword Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apb.html" title="B.�Sample Document"><link rel="next" href="apd.html" title="D.�Code for XPath Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">C.�Code for Keyword Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apd.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="keywordappendix"></a>C.�Code for Keyword Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"keyword"))) {
		    key = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur-&gt;next;
	}
    return;
}

static void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur-&gt;next;
	}
	
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;
		
	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);

	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apb.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apd.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">B.�Sample Document�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�D.�Code for XPath Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/apg.html000064400000005716150505765710015163 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>G.�Code for Retrieving Attribute Value Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apf.html" title="F.�Code for Add Attribute Example"><link rel="next" href="aph.html" title="H.�Code for Encoding Conversion Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">G.�Code for Retrieving Attribute Value Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apf.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="aph.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="getattributeappendix"></a>G.�Code for Retrieving Attribute Value Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"reference"))) {
		    uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur-&gt;next;
	}
	return;
}


void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	getReference (doc, cur);
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;

	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);
	
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apf.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="aph.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">F.�Code for Add Attribute Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�H.�Code for Encoding Conversion Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/ar01s06.html000064400000007447150505765720015514 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing element content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s05.html" title="Using XPath to Retrieve Element Content"><link rel="next" href="ar01s07.html" title="Writing Attribute"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing element content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s07.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingcontent"></a>Writing element content</h2></div></div><div></div></div><p><a class="indexterm" name="id2586968"></a>
      Writing element content uses many of the same steps we used above
      &#8212; parsing the document and walking the tree. We parse the document,
      then traverse the tree to find the place we want to insert our element. For
      this example, we want to again find the "storyinfo" element and
      this time insert a keyword. Then we'll write the file to disk. Full code:
      <a href="ape.html" title="E.�Code for Add Keyword Example">Appendix�E, <i>Code for Add Keyword Example</i></a></p><p>
      The main difference in this example is in
      <tt class="function">parseStory</tt>:

      </p><pre class="programlisting">
void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	<a name="addkeyword"></a><img src="images/callouts/1.png" alt="1" border="0"> xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#addkeyword"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>The <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNEWTEXTCHILD" target="_top">xmlNewTextChild</a></tt>
				     function adds a new child element at the
				     current node pointer's location in the
	    tree, specified by <tt class="varname">cur</tt>.</p></td></tr></table></div><p>
         </p><p>
      <a class="indexterm" name="id2587052"></a>
      Once the node has been added, we would like to write the document to
      file. Is you want the element to have a namespace, you can add it here as
      well. In our case, the namespace is NULL.
      </p><pre class="programlisting">
	xmlSaveFormatFile (docname, doc, 1);
      </pre><p>
      The first parameter is the name of the file to be written. You'll notice
      it is the same as the file we just read. In this case, we just write over
      the old file. The second parameter is a pointer to the xmlDoc
      structure. Setting the third parameter equal to one ensures indenting on output.
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using XPath to Retrieve Element Content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Writing Attribute</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/tutorial/includeaddkeyword.c000064400000002450150505765720017364 0ustar00<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}

xmlDocPtr
parseDoc(char *docname, char *keyword) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur, keyword);
		}
		 
	cur = cur->next;
	}
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *keyword;
	xmlDocPtr doc;

	if (argc <= 2) {
		printf("Usage: %s docname, keyword\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	keyword = argv[2];
	doc = parseDoc (docname, keyword);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 0);
		xmlFreeDoc(doc);
	}
	
	return (1);
}
]]>
share/doc/alt-libxml2-devel/tutorial/apf.html000064400000005605150505765720015160 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>F.�Code for Add Attribute Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ape.html" title="E.�Code for Add Keyword Example"><link rel="next" href="apg.html" title="G.�Code for Retrieving Attribute Value Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">F.�Code for Add Attribute Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ape.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apg.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="addattributeappendix"></a>F.�Code for Add Attribute Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;


xmlDocPtr
parseDoc(char *docname, char *uri) {

	xmlDocPtr doc;
	xmlNodePtr cur;
	xmlNodePtr newnode;
	xmlAttrPtr newattr;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	newattr = xmlNewProp (newnode, "uri", uri);
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *uri;
	xmlDocPtr doc;

	if (argc &lt;= 2) {
		printf("Usage: %s docname, uri\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	uri = argv[2];
	doc = parseDoc (docname, uri);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 1);
		xmlFreeDoc(doc);
	}
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ape.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apg.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.�Code for Add Keyword Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�G.�Code for Retrieving Attribute Value Example</td></tr></table></div></body></html>
share/doc/alt-libxml2-devel/examples/parse1.c000064400000002420150505765720015026 0ustar00/**
 * section: Parsing
 * synopsis: Parse an XML file to a tree and free it
 * purpose: Demonstrate the use of xmlReadFile() to read an XML file
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse1 test1.xml
 * test: parse1 test1.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

/**
 * example1Func:
 * @filename: a filename or an URL
 *
 * Parse the resource and free the resulting tree
 */
static void
example1Func(const char *filename) {
    xmlDocPtr doc; /* the resulting document tree */

    doc = xmlReadFile(filename, NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse %s\n", filename);
	return;
    }
    xmlFreeDoc(doc);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    example1Func(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
share/doc/alt-libxml2-devel/examples/reader2000075500000017405150505765730014753 0ustar00#! /bin/sh

# reader2 - temporary wrapper script for .libs/reader2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader2:reader2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader2:reader2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader2:reader2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/testWriter.o000064400000322540150505765730016034 0ustar00ELF>��@@;:

.0-1,2+3��AVAUATUSH��dH�%(H�D$1�H����H��H��I���H��H����H���D�hI��C�|-��<$Hc��I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc��H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1��L��1��H�=���f�1��@M��H��LD�H�51�L����s����H�=1���Y������U1�SH���H����1�1�H�H��H������@H�5H������H�5H�=�H��H��H������HH��t	H��H�5H�������H�H�5H�������H�H�5H�������H�5H�=�H�5H��H��H��1������H��t	H��H�5H������01���H��H�H�5�����1���H��H�H�5����vH�5H�=�H�5H��H��H������.H��t	H��H�5H�=�H�5H��H��H�������H��t	H��H������H�5H������CH�5H������,H�H�5H�������1��
H��H�H�5����yH�������H�5H�������H�H�5H������1��H��H�H�5����H������/H������H�5H�����xLH�H�5H�������H�������H�������XH��[]�H��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�ZH�=[]�ff.�@��AUI��ATUSH���H�=H����1�H��H���H��H����H��1�H�1��H�=����H�5H�������H�5H�=�H��H��I���H�=���?M��t	L��H�5H������3H�H�5H������5H�H�5H������H�5H�=�H��H�5H��I��1��H�=����M��t	L��H�5H�������1���H��H�H�5�����1���H��H�H�5�����H�5H�=�H�5H��H��I������oM��t	L��H�5H�=�H�5H��H��I������1M��t	L��H������#H�5H�������H�5H�������H�H�5H�������1��
H��H�H�5�����H�������H�5H������+H�H�5H������]1��H��H�H�5����(H������8H������(H�5H�������H�H�5H�������H�������H���H�=��xWH���L��H�5�H�=H��H��t1H�}H���H���XH��[]A\A]��H�=H��[]A\A]�f.�H��H�=[]A\A]�f.�H��H�=[]A\A]�f.�H�=��H�=��H�=�{���@��AT1�I��USH��dH�%(H�D$1�H���H����1�1�H�H��H������pH�5H������)H�5H�=�H��H��H������`H��t	H��H�5H�������H�H�5H�������H�H�5H�������H�5H�=�H�5H��H��H��1�����H��t	H��H�5H������H1���H��H�H�5�����1���H��H�H�5����~H�5H�=�H�5H��H��H������>H��t	H��H�5H�=�H�5H��H��H������H��t	H��H������"H�5H������[H�5H������DH�H�5H�������1��
H��H�H�5�����H�������H�5H�������H�H�5H������,1��H��H�H�5����H������7H������'H�5H�����xdH�H�5H�������H�������H�������H���H�4$L��H��H�<$��H�=�H�D$dH3%(��H��[]A\��H�=���f�H�=��f�H�=��f�H�=��f�H�=��f�H�=��{����H�=��c����H�=��K����H�=��5���f���AUI��H�=ATUSH���H�=H����1�H�1�H��H���H��H����H��H���H��H��1��H�=H��H���mH��1�H�1��H�=���KH�5H�=�H��H��I���H�=���M��t	L��H�5H������/H�H�5H�������H�H�5H�������H�5H�=�H��H�5H��I��1��H�=����M��t	L��H�5H�������1���H��H�H�5�����1���H��H�H�5����kH�5H�=�H�5H��H��I������KM��t	L��H�5H�=�H�5H��H��I������
M��t	L��H�������H�5H�������H�5H�������H�H�5H�������1��
H��H�H�5����nH������~H�5H������'H�H�5H������91��H��H�H�5����H������H������H�5H�������H�H�5H�������H�������H���H�=��x3H���L��H��H��XH��[]A\A]�H�=H��[]A\A]�f.�H��H�=[]A\A]�f.�H��H�=[]A\A]�f.�H�=��H�=��H�=�{���GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocumentGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��H���
R�H�=�H�=�H�=�H�=���1�H��õ;�5Eint�m�m���1%	3f	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D>`	FDh	Hfp	Ift	Jtx	MQ�	NX�	OJ�	QZ�	Y
��	[e�	\p�	]D�	^	C�	_
)�	`f�	bv��
+9��Z
51`k��
5��%�����f�������	C
cf))/5/EfL
y
�(S(
��	
�!�	
� �	
� ;	
� �	
� � 
�!�GE�<J�Q�Y [_	\quse]<	^<	_�	`qZk�<��	

�w�<�[	
�x�U�C���
�U�U �U(�U0�U8doc��@ns�E	H�qP�
X�E	`�Ch�Qp�Qrg��J�C���
�U�U ��(�U0�U8doc��@�CH�CP�CX�C`�
h�
p�Cx[�'�(C)�*�+U,U -U(.U0/U8doc0�@3fH4fL:JP;JX<K	`=
h>
pids?Cx@C�URLA
�Bf�DM
�EC�Ff�Hf�Pw���0�E	�K	���
�
�C ��(��`�
�C���
�U�U �U(�
0�
8doc��@ns�E	H�[P�CXQ	�g�'

%P&G
-
�
9_
e
p
C
B3|
�
C�
)
M�
�
C�
C)
W�
�
��
��p
�p
��
�S
��
#'8xq`��
inx�x*�outzqret{	f|	f }	f�@ ~	f�D�!2�R"2#J2$U1$T	!2��"2#�2$U	%2�	�"2#J2$U1$T	$Q|%2�	2
"2#�2$U	&�2J
$U|&�2b
$Uv'�
$U}1$1 $ &'�
$U|$Tw$Qv$R�D'�
$U|'�
$U|(�2)kl��k�rcm	fn,doco:
p
tmpqq*2w	�+2*2�	�+2*2�	�+2*2�	+2*2�	'+2*2c	J+2%2�	�"2,�2-�2�$U	.�2$U	%2�	�"2%2�		"2!2�	="2!2�	q"2!2
�	�/2�&/4�$U	&<4�$Us$T0$Q	$R0&I4$Us$Tv&V43$Us$Tv$Q0&b4b$Uv$T0$Q	$R0&>�$U	$T	&n4�$Uv$T|'�$U|&z4�$Uv$T	&�4$Uv$T	$Q	&�4I$Uv$T	$Q	&>u$U	$T	&�4�$Uv$T	$Q|'�$U|&z4�$Uv$T	&�4$Uv$T	$Q	$R
�&�4K$Uv$T	$Q	$R
�&>w$U	$T	&�4�$Uv$T	$Q|'�$U|&>�$U	$T	&�4
$Uv$T	$Q|'!$U|&�49$Uv&z4^$Uv$T	&z4�$Uv$T	&�4�$Uv$T	$Q	&�4�$Uv$T	$Q	$R:&�4$Uv&z4)$Uv$T	&�4[$Uv$T	$Q	&�4�$Uv$T	$Q	$RD&�4�$Uv&�4�$Uv&z4�$Uv$T	&�4$Uv$T	$Q	&�41$Uv&�4I$Uv&�4a$Uv&�4�$U}$Ts$Q	,�4)og��o�rcq	fr,tmpsq0doct:
�P!2�	k"2#�2$U	!2�	�"2#�2$U	!2�		"2#�2$U	!2z	X"2#�2$U	!2�	�"2#�2$U	!2�	�"2#�2$U	!2�	E"2#�2$U	!2�	�"2#�2$U	!2�	�"2#�2$U	!2Y	2"2#�2$U	&?7O$Uw$T0&b4~$Us$T0$Q	$R0&z4�$Us$T	&>�$U	$T	&n4�$Us$Tv'$Uv&z4&$Us$T	&�4X$Us$T	$Q	&�4�$Us$T	$Q	&>�$U	$T	&�4�$Us$T	$Qv'�$Uv&z4$Us$T	&�4S$Us$T	$Q	$R
�&�4�$Us$T	$Q	$R
�&>�$U	$T	&�4�$Us$T	$Qv'�$Uv&>#$U	$T	&�4N$Us$T	$Qv'b$Uv&�4z$Us&z4�$Us$T	&z4�$Us$T	&�4�$Us$T	$Q	&�4-$Us$T	$Q	$R:&�4E$Us&z4j$Us$T	&�4�$Us$T	$Q	&�4�$Us$T	$Q	$RD&�4�$Us&�4$Us&z4($Us$T	&�4Z$Us$T	$Q	&�4r$Us&�4�$Us&�4�$Us&�4�$U|$Q	(�4(�2)Ql��(Q!�rcS	fT,bufU_tmpVqfpW�*2]	� +2*2n	� +2*2�	� +2*2�		!+2*2U	,!+2*2]	O!+2!2a�!"<2"02#R7$Ts%2e	""2,�2-�2�!$U	.�2$U	%2w	;""2%2�	c""2!2�	�""2!2�	�""2!2
�	�"/2�(�8&�8(#$Uv$T0&b4W#$Us$T0$Q	$R0&z4|#$Us$T	&>�#$U	$T	&n4�#$Us$T|'�#$U|&z4�#$Us$T	&�41$$Us$T	$Q	&�4c$$Us$T	$Q	&>�$$U	$T	&�4�$$Us$T	$Q|'�$$U|&z4�$$Us$T	&�4,%$Us$T	$Q	$R
�&�4e%$Us$T	$Q	$R
�&>�%$U	$T	&�4�%$Us$T	$Q|'�%$U|&>�%$U	$T	&�4'&$Us$T	$Q|';&$U|&�4S&$Us&z4x&$Us$T	&z4�&$Us$T	&�4�&$Us$T	$Q	&�4'$Us$T	$Q	$R:&�4'$Us&z4C'$Us$T	&�4u'$Us$T	$Q	&�4�'$Us$T	$Q	$RD&�4�'$Us&�4�'$Us&z4($Us$T	&�43($Us$T	$Q	&�4K($Us&�4c($Us&�4{($Us&�8�($U}$T	&�8�($Us,�81EA�.12uriE#�3rcG	f4H,3tmpIq52`	u)"2.�2$U	52W	�)"2.�2$U	52	�)"2.�2$U	52N	;*"2.�2$U	52m	}*"2.�2$U	52�	�*"2.�2$U	52�	+"2.�2$U	52�	C+"2.�2$U	52�	�+"2.�2$U	%2B	�+/2�.�2$U	&�;�+$U�U$T0&b4,$Us$T0$Q	$R0&z49,$Us$T	&>e,$U	$T	&n4�,$Us$Tv'�,$Uv&z4�,$Us$T	&�4�,$Us$T	$Q	&�4 -$Us$T	$Q	&>L-$U	$T	&�4w-$Us$T	$Qv'�-$Uv&z4�-$Us$T	&�4�-$Us$T	$Q	$R
�&�4".$Us$T	$Q	$R
�&>N.$U	$T	&�4y.$Us$T	$Qv'�.$Uv&>�.$U	$T	&�4�.$Us$T	$Qv'�.$Uv&�4/$Us&z45/$Us$T	&z4Z/$Us$T	&�4�/$Us$T	$Q	&�4�/$Us$T	$Q	$R:&�4�/$Us&z40$Us$T	&�420$Us$T	$Q	&�4i0$Us$T	$Q	$RD&�4�0$Us&�4�0$Us&z4�0$Us$T	&�4�0$Us$T	$Q	&�41$Us&�4 1$Us,�46fS�2&�;i1$U

R&�(�1$U	&��1$U	&��1$U	&�
�1$U	(�;(�;7kf28k �97dfJ28d�8d<�9:\;/�-ConvertInput: conversion wasn't successful.
<;�ConvertInput: no mem
:
�=�>;2�0testXmlwriterTree: Error creating the xml node
;;�9testXmlwriterTree: Error at xmlTextWriterWriteAttribute
;9�7testXmlwriterTree: Error at xmlTextWriterStartElement
;?�=testXmlwriterTree: Error at xmlTextWriterWriteFormatElement
;9�7testXmlwriterTree: Error at xmlTextWriterWriteElement
;7�5testXmlwriterTree: Error at xmlTextWriterEndElement
=
=<=�:+	:8	:N:W	:�:F	:h	:r:`:<:-=�=;8�6testXmlwriterDoc: Error at xmlTextWriterStartElement
;9�7testXmlwriterDoc: Error at xmlTextWriterStartDocument
;:�8testXmlwriterDoc: Error at xmlTextWriterWriteAttribute
;3�1testXmlwriterDoc: Error creating the xml writer
;8�6testXmlwriterDoc: Error at xmlTextWriterWriteComment
;8�6testXmlwriterDoc: Error at xmlTextWriterWriteElement
;>�<testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement
;>�<testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment
;6�4testXmlwriterDoc: Error at xmlTextWriterEndElement
;7�5testXmlwriterDoc: Error at xmlTextWriterEndDocument
:)	;�%s<;6�4testXmlwriterMemory: Error creating the xml writer
;;�9testXmlwriterMemory: Error at xmlTextWriterStartElement
;=�;testXmlwriterMemory: Error at xmlTextWriterWriteAttribute
;A�?testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement
;;�9testXmlwriterMemory: Error at xmlTextWriterWriteElement
;9�7testXmlwriterMemory: Error at xmlTextWriterEndElement
=�:%	:�:�=�;=�;testXmlwriterFilename: Error at xmlTextWriterStartElement
;>�<testXmlwriterFilename: Error at xmlTextWriterStartDocument
;?�=testXmlwriterFilename: Error at xmlTextWriterWriteAttribute
;8�6testXmlwriterFilename: Error creating the xml writer
;=�;testXmlwriterFilename: Error at xmlTextWriterWriteComment
;=�;testXmlwriterFilename: Error at xmlTextWriterWriteElement
;C�AtestXmlwriterFilename: Error at xmlTextWriterWriteFormatElement
;C�AtestXmlwriterFilename: Error at xmlTextWriterWriteFormatComment
;;�9testXmlwriterFilename: Error at xmlTextWriterEndElement
;<�:testXmlwriterFilename: Error at xmlTextWriterEndDocument
:#	:=9:
�%U:;9I$>&I$>I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'II>I:;9(
:;9I8:;9
:;9I8
:;9I8:;9I'.?:;9'I@�B:;9I�B:;9I�B4:;9I�B4:;9I�B 4:;9I!1R�BXYW"1�B#��1$���B%1R�BUXYW&��1'��(��1).?:;9'@�B*1XYW+1,���B1-���B1.���B1/104:;9I1.?:;9'@�B2:;9I�B34:;9I�B44:;9I�B51R�BUXYW6.?:;9'I@�B7.?:;9'I 48:;9I9:.?<n:;9;6<.?<n:;=.?<n:;9>.?<nUV�U�VUV�U�T\�T�T\�T�P\PS\P\PP]]]PSSSPS
��
��U]�U�]�U�]�U�]�U�]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPVVVVPSUSSSSPVPP\PQ\P\P\\\\�����U\�U�\PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSSPSSPVPQVPVPVVVV����������U]�U�]�U�]�U�]�U�]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSPSSSPVUVVVVP\PQ\P\P\\\PS�PS�����U�U�PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSUSSSPSSSSSSPVPQVPVPVVVVVVVV���������<�S���
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltestWriter.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hiconv.hencoding.hxmlstring.htree.hxmlmemory.hglobals.hxmlwriter.hstring.h<built-in>xmlversion.hparser.h	����<<X>�
�K=X=�	�	Y	 Jf<
X>%<><%<
�JQ
m,�w
.
�=
-x��w
�J�	�
�w�	�X�wJ
	�	��w
�t
�w.XX��wXKz&z.^Y
�
Y�
�
�
0d>
Y�X�
��
Z�
Z�
/�=
X[�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
�Q
Z�
�
�
��= 	�~��
�~J�t 
�~ �	j�
�~J�t 
�~ �	l�
�~J�t 
�~ �	a�
�~J�t
�~.�	�
�~J�t 
�~ �	���
�~J�t 
�~ �	8F�
�~J�t 
�~ �	&X�
�~J�t 
�~ �	���
�~J�t 
�~ X	��~�
�~ �t 
�~ X	�Kw	�Y
�~�t��X=�
/
�~�t�
�
�
0d>
Y
�}�t�X�
��
Z�
Z�
/�=
.[
�}�t�X�
��
.��
.��
/�=
Y�X�
/�=
Z�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
��
Z�
�	�
�
�|�tO�
�|��t=]�|
���=  .-	�~��~
t�
�|��	��}�
�|J�t  
�|J�	��}�
�|J�t  .
�|.�	��}
�	��}
�	��}
��nx.��<Y
�
Y�
�	�
0d>
Y�X�
��
Z�
Z�
/�=
X[�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
�P
Z�
�	�
���0	�~��{
�	���	�~��{
�	�#J�{
�	�RJ�{
�	�J�{
�	��J�{
�	�mJ�{
�	�m��{
�	�2��z
�	��X	wX�z
�	��Kw	Xwt	�Y
�y�t�X=��
�y��t=�
/
�y�t	�
0d>
Y
�y�t�X�
��
Z�
Z�
/�=
.[
�y�t�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
��
Z�
�	�
�
�x�tO�"=  .-	�~��y
t�
�x��	��y�
�xJ�t  .
�x.�	��y�
�xJ�t  .
�x.�	��y
�	��y
�	��x
	PzP�����\YprintfxmlTextWriterWriteFormatComment_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLxmlReallocFuncXML_BUFFER_ALLOC_DOUBLEITtype_IO_buf_basexmlTextWriterEndDocumentpsvilong long unsigned int_IO_buf_endout_sizexmlNewTextWriterTreeSystemIDXML_XINCLUDE_STARTnsDeftestXmlwriterFilename_privatexmlTextWriterWriteCommentxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLlong unsigned int_fileno_IO_read_endencodinglastlong intoldNsparent_flagsxmlCharEncodingHandler__builtin_fputs__builtin_putsstdinXML_XINCLUDE_END_IO_codecvt__printf_chkxmlNewTextWriterFilenameExternalID_old_offset_offsetxmlBufferxmlCharxmlCleanupParserXML_ATTRIBUTE_ENTITIEStestXmlwriterDoccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODEtempxmlMalloc_xmlDocXML_NOTATION_NODExmlCharEncodingOutputFuncunsigned int_freeres_bufxmlTextWriterWriteFormatElementxmlDocxmlTextWriterWriteAttributexmlMemoryDump_xmlAttr__streamoutputxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYprefixnamesys_nerrcharsetcontextsizeshort unsigned intXML_ENTITY_DECL_IO_wide_datastrlenxmlBufferPtrxmlBufferAllocationSchemexmlTextWriterStartElementwriterxmlNewDoc_xmlDtdtestWriter.c_lockxmlTextWriterStartDocument_flags2_modexmlTextWriterEndElementstdoutXML_BUFFER_ALLOC_IOXML_PI_NODExmlTextWriterWriteElementXML_ATTRIBUTE_IDiconv_thandlerxmlFreeTextWriter_codecvt_xmlBufferstandaloneextSubsetxmlRealloccontentpentities_IO_save_basexmlCharEncodingInputFuncxmlTextWriterPtrelements_xmlTextWriter_IO_write_endXML_ATTRIBUTE_DECLxmlFindCharEncodingHandler_IO_lock_t_IO_FILEfputsXML_BUFFER_ALLOC_BOUNDED__off_t_IO_save_endXML_BUFFER_ALLOC_EXACTXML_ENTITY_NODEsys_errlist_markersrefsxmlFreecontentIOxmlBufferCreatexmlNsTypechildrenunsigned charXML_DTD_NODEnodeXML_BUFFER_ALLOC_IMMUTABLEversionentitiesshort intfilenotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNodeXML_ATTRIBUTE_IDREFS_vtable_offsetFILExmlMemStrdupatypeinput__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictfprintfXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictxmlSaveFileEncXML_TEXT_NODEfcloseallocxmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_baseiconv_inXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS_xmlCharEncodingHandler__pad5ConvertInputxmlNewDocNode_unused2stderrxmlTextWriterxmlCharEncodingHandlerPtr_IO_markerXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlBufferFreexmlNewTextWriterMemoryXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODExmlNewTextWriterDocprev_wide_datatestXmlwriterTreeXML_DOCUMENT_NODEXML_BUFFER_ALLOC_HYBRID_xmlNsputsmain_IO_write_baseiconv_outXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAfopentestXmlwriterMemoryGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�@`F�B�B �A(�A0�D@�
0A(A BBBI�`AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAplF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0xgF�F�A �D0�
 AABHp�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBO SHJ
�	
/1
K0i�1��2�3%A`[`�����
�
�%�F�eyS !#%')012345/6�h�8�����!�h�)�/�3�;�>�G��M�T�Z�e�h�t{���� �&�,�2�8�>�D�J(O�T�Z�_�e�k�qHw}@�����h����������0��� �`�����`��0�������@�0
h�	@	%�	+�
1�7�	=x	C(
Ih
O�
U�[�a�g�my���*+,-.�`��*�2C`AYr�����7Ohz�l������� 
g��
�l'1?TiSn~�.annobin_testWriter.c.annobin_testWriter.c_end.annobin_testWriter.c.hot.annobin_testWriter.c_end.hot.annobin_testWriter.c.unlikely.annobin_testWriter.c_end.unlikely.annobin_testWriter.c.startup.annobin_testWriter.c_end.startup.annobin_testWriter.c.exit.annobin_testWriter.c_end.exit.annobin_ConvertInput.start.annobin_ConvertInput.end.annobin_testXmlwriterFilename.start.annobin_testXmlwriterFilename.end.annobin_testXmlwriterMemory.start.annobin_testXmlwriterMemory.end.annobin_testXmlwriterDoc.start.annobin_testXmlwriterDoc.end.annobin_testXmlwriterTree.start.annobin_testXmlwriterTree.end.annobin_main.start.annobin_main.end.LC3.LC2.LC0.LC1.LC4.LC6.LC8.LC10.LC12.LC13.LC14.LC16.LC17.LC18.LC19.LC21.LC22.LC23.LC25.LC26.LC27.LC28.LC30.LC31.LC33.LC34.LC35.LC36.LC37.LC38.LC39.LC40.LC41.LC9.LC7.LC15.LC5.LC11.LC29.LC24.LC20.LC32.LC42.LC43.LC45.LC47.LC49.LC53.LC54.LC55.LC44.LC46.LC48.LC50.LC51.LC52.LC58.LC57.LC60.LC56.LC59.LC63.LC62.LC61.LC64.LC65.LC66.LC68.LC69.LC70.LC73.LC77.LC67.LC72.LC71.LC74.LC75.LC76.LC78.LC79.LC80.LC81.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupConvertInput_GLOBAL_OFFSET_TABLE_xmlFindCharEncodingHandlerstrlenxmlMallocxmlRealloc__printf_chkxmlFree__stack_chk_failtestXmlwriterFilenamexmlNewTextWriterFilenamexmlTextWriterStartDocumentxmlTextWriterStartElementxmlTextWriterWriteCommentxmlTextWriterWriteAttributexmlTextWriterWriteFormatCommentxmlTextWriterWriteFormatElementxmlTextWriterWriteElementxmlTextWriterEndElementxmlTextWriterEndDocumentxmlFreeTextWritertestXmlwriterMemoryxmlBufferCreatexmlNewTextWriterMemoryfopenfputsfclosexmlBufferFreetestXmlwriterDocxmlNewTextWriterDocxmlSaveFileEncxmlFreeDoctestXmlwriterTreexmlNewDocxmlNewDocNodexmlDocSetRootElementxmlNewTextWriterTreemainxmlCheckVersionxmlCleanupParserxmlMemoryDump3���������G���������_��������������������7����������������������������8�����������������9��������.:��������8���������K;��������R���������\���������m����������<�������������������=�������������������<���������>���������������������������������������?������������������@��������A�����������������B��������%C��������-���������<<��������CD��������H���������OE��������_���������u���������|F�������������������G���������H�������������������I���������J�������������������<���������K�������������������L���������������������������<��������"M��������'���������.N��������<���������R���������Z���������iO��������q����������P�������������������Q���������R�������������������I���������S�����������������������������P������������������T��������R�����������������)I��������0S��������5���������E���������U���������dU��������l���������wV��������~W���������������������������������������X���������Y���������Z��������[��������'\��������?]��������W^��������o_���������`���������a�������������������b�������������������<������������������c��������=�����������������+<��������2>��������7���������E���������Ld��������b���������i?��������q����������@���������A�������������������B���������C�������������������<���������D�������������������E�������������������e������������������F�����������������$G��������+H��������0���������II��������PJ��������U���������d<��������kK��������p���������wL�����������������������������<���������M�������������������N���������������������������������������O������������������P�����������������Q��������%R��������-���������FI��������MS��������R���������b���������qP��������y����������T���������R�������������������I���������S���������������������������������������U������������������	V��������		W��������	���������!	���������1	���������8	f��������D	���������N	g��������S	���������Z	h��������n	���������v	����������	i���������	j���������	k���������	l��������
m��������
n��������E
���������Y
<��������d
���������s
=��������{
����������
<���������
>���������
����������
����������
����������
?���������
����������
@���������
A���������
����������
B���������
C�����������������<��������D�������� ���������'E��������7���������M���������TF��������\���������uG��������|H�������������������I���������J�������������������<���������K�������������������L�����������������������������<���������M������������������N�����������������*���������2���������AO��������I���������XP��������`���������oQ��������vR��������~����������I���������S�����������������������������P�������������������T���������R������������������
I��������
S��������

���������
���������-
���������<
U��������D
���������O
V��������V
W��������^
���������n
���������~
����������
����������
<���������
����������
����������
o���������
����������
p���������
����������
q���������
���������r�����������������s�����������������#t��������(���������3u��������8���������Kv��������P���������cw��������h���������r���������yx��������~����������@�������������������y���������=���������������������������������������z��������<����������������� {��������/<��������6>��������;���������I���������P|��������f���������m?��������u����������@���������A�������������������B���������C�������������������<���������D�������������������E�������������������}�����������������F�����������������(G��������/H��������4���������MI��������TJ��������Y���������h<��������oK��������t���������{L�����������������������������<���������M�������������������N���������������������������������������O������������������P�����������������"Q��������)R��������1���������JI��������QS��������V���������f���������uP��������}����������T���������R�������������������I���������S���������������������������������������U������������������V��������
W�����������������%���������5���������<~��������H���������U<��������Z���������s�����������������������������������������������������������������������������������������������������������.���������F���������^���������v������������������������������	����������	����������	����������	���������i��������������������������������������� 4��`$,`P`X��`�����
���

�D
L�p�x����� . / 0 155S���������������������������!���������&���������-���������2���������9���������>���������C���������H���������
(
-�
-

-I
+@%
,*
-{8
-�?
-zH
-bT
-x[
-�b
-�p
-�u
-��
-
�
-�	�
-��
-��
-'�
-��
-*
�
-7�
-+�
-h
-�
-!
-.
-%;
-�H
-U
-4b
-�o
-8|
-��
-
�
-	�
-��
-�
-��
-��
-��
-��
-��
-�

-@
-�
&
-	2
-�:
-�
a
-Pl
-��
-9�
-^�
-�
�
-Z�
-�
-��
-&<
-`H
-T
-x
a
-Un
-.	{
-��
-8
�
-F�
-�
�
-��
-��
-��
-��
-e�
-�
-��
-�
-�
-�
-8
-sE
-�	R
-5`
-��
-�
-�	�
-�	�
-o	�
-��
-�
-y�
-&�
-��
-��
-��
-N�
-�
�
-p�
-��
-v�
-��
-��
-G�
-?�
-

-f%
-�+
-E	1
-�7
-9=
-�C
-PI
-a
O
-A
U
-:\
-Qh
-�v
-v�
-��
-U�
-Y�
-��
-��
-��
-�
-
-d	
-Z+
-�9
-�G
-�\
-j
-vx
-��
-U�
-Y�
-��
-��
-��
-��
-��
-P
-Y	
-� 
-�.
-><
-Q
-F_
-vm
-�{
-U�
-Y�
-��
-��
-��
-��
-��
-��
-


-�
-�#
-�1
-�M
-(i
-cw
-�	�
-��
-�	�
-d	�
-��
-�	�
-�	�
-O�
-��
-&�
-��
-�
	
-5	
-N)	
-v7	
-kR	
-�`	
-vn	
-�|	
-U�	
-Y�	
-��	
-��	
-��	
-��	
-(	�	
-�

-�

-�.

-�;

-T

-q

-�

-��

-;�

-��

-<�

-��

-�
--
-	
-�
(
-Y-
-??
-�
Km
)q
)v
-��
)��
)��
)K�
)=�
)��
)��
-s�
) �
)�
- �
-7�
-��
)u�
)i��)
)�-
)�2�HhW`}
)'�
)%��8�+�
+�
)Q�
)O�<��H�
+0

)

)}
V(
3
7K
Kc
c�
��
��
��
`�

-��
��

-�
)�
)�
)� 
)�%
-�1
)5
)F
)�J
)O
-}[
)(_
)"p
)�t
)q}�����M	�,9OpX
+�i
)	m
)}	r����	���x	���
+��
)�	�
)�	���
+
)�	
)�	��4
)�	8
)�	B�K�h
)'
l
)%
v���
'�3���/���!���4Tc?xh��M�j�y�)��3/�3>@;J�_Glv�����M�8�ZT].h;eLxatnx��{������������"�:U�_z��5�����Z���e�j� �*�E�R�\�w��e�����������)29JLb^��m�
-�� 
�
-��
)W
�
)O
�
)�
�
)�
�
-��
)�
�
)�

)`
)H!�
*�
G
)VK
)TP�
a�p�
y�
�
)��
)~��
�`��
��
�
)��
)���
�4
)�8
)�=N0]f�
)��
)����� � �
)(�
)&�,���00!
)R%
)P*<;�JHSHp
)|t
)zyT�@�`�`�
)��
)��l���v�v
)�
)��(03I
Ph
p
�!��
�h���
��
�
)'�
B3O/Y	t>�;�$�G��;��Q�`M�6ZCTT�oh|e���t����{���
�$?�O.c6{M���d�����������e.�F�a�k������
���e�!
�1
H
�)b
D�Q�[r
s�
��
��
���
�v�
-��� 
-� 
) 
)�" 
)"& 
)�+ 
-�7 
)x; 
)lL 
)P 
)�a 
)�e 
)�u 
)�y 
)�� �� � I� �!5	1!W	T!f	]!f	z!
)�~!
)��!
)��!
)��!r	�!�	�!
+��!
)4�!
)2�!�	�!�	�!0�!�		"�"�	!"
+02"
)^6"
)\@"�	I"
+`Z"
)�^"
)�h"�	q"�	�"
)��"
)��"
�"
�"
)��"
)��"
�"
�"
'�8�"�#�)#I#X# s#!}#;�#h�#�#I�#f�#u�#)$�$3($/2$�M$>Z$;d$�y$G�$�$��$�$�$�$M�$4%Z%T-%YH%hU%ef%t{%t�%�%��%{�%��%��%��%�%�&�(&�<&�T&�o&�y&�&��&1�&��&��&V�&��&e'f'}:'�D'�_'�l'�v'��'��'e�'��'��'��'�(	(�*(�4(%	L(5	d(H	|(W	�(��(z	�(�	�(
-`�(`�(
)�(
))
)�)
)A)
-�)
)_)
)E+)
)�/)
)f8)�A)
+`Q)
)�U)
)�Z)�k)(z)��)
+��)
)��)
)��)��)��)��)
+��)
)�)
)�)�)��)*
+ *
)F*
)D *1*�@* I*
+`Y*
)p]*
)nb*2s*��*8�*
+��*
)��*
)��*J�*��*P�*
+��*
)��*
)��*b�*�+h+
+ +
)�#+
)�(+z9+HH+�Q+
+`a+
)e+
)j+�{+�+��+
+��+
'I;�+��+@�+q�+�,,�0,!:,�O,h\,f,��,��,��,)�,�,3�,/�,1
->-;!-L6-GC-M-ch-x-y�-��-M�-��-Z�-T�-�.h.e#.�8.tE.O.j.{z.�.+�.��.�.@�.��.V�.^/u,/�6/�Q/�[/�v/��/��/��/��/e�/��/��/�00�)0�309N0�[0ej0I�0Y�0p�0��0��0��0��0�	1�!1�/1
-2:15Q15j151��15*�1��156�1��15B�1��15G�15L2
-2
-[
 2
-�	12
-�=2
-[
K2
-\O2
-\�2
--�2
-*�2
-��2
-��2
-��2
-��2
-4	�2
-4	04
-�44
-�=4
-�
A4
-�
J4
-�	N4
-�	W4
-)[4
-)c4
-g4
-o4
-s4
-{4
-�4
-��4
-��4
-��4
-�4
-�4
-��4
-��4
-��4
-��4
-F�4
-F�4
-��4
-��4
-��4
-��4
-�	�4
-�	�4
-�4
-@7
-�D7
-�S7
-�W7
-�8
-?�8
-?�8
-p�8
-p�8
-z�8
-z�8
-�	�8
-�	�8
-b9
-b�;
-i�;
-i�;
-��;
-��;
-��;
-��;
-��;
-�/!/)�4�<�J�R]epx[�[�`��6�6�f�f���++`KfS�^�f�q�y���������A�U�U�[������ O(�3�;FAN[u:}J�J����������"�"�Q���h'/:
'V2Q+Y<dA�[�
'�2�������h�h�m�m��
�� �(�3�;�I�Q�\�d�r�z���>�M�i�y�����#�.�6AIT8\Bg]owz���������������4�5�?�Z�i�j���%�-�8�@�K�S�^�f�q�y��(�)�8�9�K������������#+d6�>�I�Q�\�d��������c�c�l�m�w�����������(�0�;�CNmVw�H�L�L��������������������	�	�	�!	�)	f4	�<	�G	�O	�Z	�b	�	m�	w�	
'�2�	��	��	
'3�	��	��	
'?3�	�
�

'z3'
�/
�:

'�3W
 
_
D
j
D
r
�
}
�
�
�
�
�
�
��
h
~

�
$�
,�
7�
?�
J�
R]	e#p;xP�`�j��������������-�6�L�M�cd��#�.�6�A�I�T�\�g�o�z
� 
�!
�0
�1
�G
�H
�a
�b
�q
�r
��
��
��
��

�

�

�
%
�
-
�
8
@
K
S
+^
.f
;q
Ay
S�
Y�
k�
v�
��
I
�
g
�
g
�
�
�
�
�
�
�
�
q%v-�`�
h�
s�
{1�1�6�6�:�:�������������
�
�
&q1v9�V�
^�
i
'�4��
��
�
'.5��
��
�
'i5��
��
'�5�
'�5(0,;
'6R.Z<e
'N6|A�T�
'�6�Y�l�
'�6�v���
'7���'�	2�	:�	H�	P�	[�	c�	q�	y�	��	��	��	��	��	��	��	�
"*5 =:HIPe[uc�n�v������������4�>�Y�s�����������!,40?1G;RVZeefm|x}���������������������	�	�$	�%	4	5	G	#�	+�	6�	>�	I�	Q
x����a	��	��	��	��	��	��	��	�
���#�	.�	6�	A�	I�	T�	\�	g�	o�	z�	�
�D�H�H���������������%�-�8�@�K�S�	^�	f�	q�	y
�a	�q	�q	�	�f	�r	�
'K7�f	q	q	r	4�	<�	G
']7^�	f�	q
'�7��	��	�
'�7��	��	�
'8��	�	
�
'T8`pp#������������������0�1�K�cx��!�)�4�<�GOZ@bUm^ut�u�����������������������9
HI X+Y3o>pF�Q�Y�d�l�w���������������1�2�I�J�a�byz�"�*�_qg�r�z���������������������,�2�D
J\b%t0z8�C�K��������Y�Y�^�^�b�b������;;??&�1�9�DL-W2_EjJr]}b�u�z�����������
'
9����
'I9�$/
'�9FNY
'�9px2�
':�2�J�
'C:�J�b�
'�:�b�z
'�:z �+
';
' 5"'+<0H8O@QH[`�h�p�x�������������������������� (08@H ` h p$x+�-�8�8�8�<�C�E�P�P�P�T�[]h h(h0l8s@uH�`�h�p�x�������������������	��	��	��	�	�	�	�	0�	8�	@�	H�	`�	h�	p�	x�	�p�w���������������������� �(�@H�P5X5S�~��5 d`�| 
��$5.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@8�>T8�>l8�>�(8�>�8� ��@��8%8&�,�6��1@�8
L�[��V@�08
uT�T��@H�08A(�(��@x�08������@��08�2�2�
�*8@��08A0,S<@�8T�,�;O@�xT8`<h�s�k@n@�I�?8!�2�@~@x�H8#�r�p�@���	8%���@��H8'�0���0y�.���A��u��L�� ������������������ 4ȯ8/@ȓ�86�09�	0��X�Eshare/doc/alt-libxml2-devel/examples/Makefile000064400000074163150505765730015145 0ustar00# Makefile.in generated by automake 1.16.5 from Makefile.am.
# doc/examples/Makefile.  Generated from Makefile.in by configure.

# Copyright (C) 1994-2021 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.



am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/libxml2
pkgincludedir = $(includedir)/libxml2
pkglibdir = $(libdir)/libxml2
pkglibexecdir = $(libexecdir)/libxml2
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-redhat-linux-gnu
host_triplet = x86_64-redhat-linux-gnu
check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \
	parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \
	reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \
	reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \
	tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT)
subdir = doc/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am_io1_OBJECTS = io1.$(OBJEXT)
io1_OBJECTS = $(am_io1_OBJECTS)
io1_LDADD = $(LDADD)
io1_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am__v_lt_1 = 
am_io2_OBJECTS = io2.$(OBJEXT)
io2_OBJECTS = $(am_io2_OBJECTS)
io2_LDADD = $(LDADD)
io2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse1_OBJECTS = parse1.$(OBJEXT)
parse1_OBJECTS = $(am_parse1_OBJECTS)
parse1_LDADD = $(LDADD)
parse1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse2_OBJECTS = parse2.$(OBJEXT)
parse2_OBJECTS = $(am_parse2_OBJECTS)
parse2_LDADD = $(LDADD)
parse2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse3_OBJECTS = parse3.$(OBJEXT)
parse3_OBJECTS = $(am_parse3_OBJECTS)
parse3_LDADD = $(LDADD)
parse3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse4_OBJECTS = parse4.$(OBJEXT)
parse4_OBJECTS = $(am_parse4_OBJECTS)
parse4_LDADD = $(LDADD)
parse4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader1_OBJECTS = reader1.$(OBJEXT)
reader1_OBJECTS = $(am_reader1_OBJECTS)
reader1_LDADD = $(LDADD)
reader1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader2_OBJECTS = reader2.$(OBJEXT)
reader2_OBJECTS = $(am_reader2_OBJECTS)
reader2_LDADD = $(LDADD)
reader2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader3_OBJECTS = reader3.$(OBJEXT)
reader3_OBJECTS = $(am_reader3_OBJECTS)
reader3_LDADD = $(LDADD)
reader3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader4_OBJECTS = reader4.$(OBJEXT)
reader4_OBJECTS = $(am_reader4_OBJECTS)
reader4_LDADD = $(LDADD)
reader4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_testWriter_OBJECTS = testWriter.$(OBJEXT)
testWriter_OBJECTS = $(am_testWriter_OBJECTS)
testWriter_LDADD = $(LDADD)
testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree1_OBJECTS = tree1.$(OBJEXT)
tree1_OBJECTS = $(am_tree1_OBJECTS)
tree1_LDADD = $(LDADD)
tree1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree2_OBJECTS = tree2.$(OBJEXT)
tree2_OBJECTS = $(am_tree2_OBJECTS)
tree2_LDADD = $(LDADD)
tree2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath1_OBJECTS = xpath1.$(OBJEXT)
xpath1_OBJECTS = $(am_xpath1_OBJECTS)
xpath1_LDADD = $(LDADD)
xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath2_OBJECTS = xpath2.$(OBJEXT)
xpath2_OBJECTS = $(am_xpath2_OBJECTS)
xpath2_LDADD = $(LDADD)
xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \
	./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \
	./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \
	./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \
	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \
	./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \
	./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \
	./$(DEPDIR)/xpath2.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' aclocal-1.16
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 0
AR = ar
AUTOCONF = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoconf
AUTOHEADER = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoheader
AUTOMAKE = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' automake-1.16
AWK = gawk
BASE_THREAD_LIBS = -lpthread
C14N_OBJ = c14n.c
CATALOG_OBJ = catalog.o
CC = gcc
CCDEPMODE = depmode=none
CFLAGS = -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
CPP = gcc -E
CPPFLAGS = 
CSCOPE = cscope
CTAGS = ctags
CYGPATH_W = echo
CYGWIN_EXTRA_LDFLAGS = 
CYGWIN_EXTRA_PYTHON_LIBADD = 
DEBUG_OBJ = debugXML.o
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DLLTOOL = false
DSYMUTIL = 
DUMPBIN = 
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = /usr/bin/grep -E
ETAGS = etags
EXEEXT = 
EXTRA_CFLAGS =  -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wno-long-long -Wno-format-extra-args
FGREP = /usr/bin/grep -F
FTP_OBJ = nanoftp.o
GREP = /usr/bin/grep
HTML_OBJ = HTMLparser.o HTMLtree.o
HTTP_OBJ = nanohttp.o
ICONV_LIBS = 
ICU_CFLAGS = 
ICU_DEFS = 
ICU_LIBS = 
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS = -Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
LIBM = -lm
LIBOBJS = 
LIBS = 
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIBXML_MAJOR_VERSION = 2
LIBXML_MICRO_VERSION = 2
LIBXML_MINOR_VERSION = 10
LIBXML_VERSION = 2.10.2
LIBXML_VERSION_EXTRA = 
LIBXML_VERSION_INFO = 12:2:10
LIBXML_VERSION_NUMBER = 21002
LIPO = 
LN_S = ln -s
LTLIBOBJS = 
LT_SYS_LIBRARY_PATH = 
LZMA_CFLAGS = 
LZMA_LIBS = -llzma 
MAINT = 
MAKEINFO = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' makeinfo
MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p
MODULE_EXTENSION = .so
MODULE_PLATFORM_LIBS = -ldl
MV = /usr/bin/mv
NM = /usr/bin/nm -B
NMEDIT = 
OBJDUMP = objdump
OBJEXT = o
OTOOL = 
OTOOL64 = 
PACKAGE = libxml2
PACKAGE_BUGREPORT = 
PACKAGE_NAME = libxml2
PACKAGE_STRING = libxml2 2.10.2
PACKAGE_TARNAME = libxml2
PACKAGE_URL = 
PACKAGE_VERSION = 2.10.2
PATH_SEPARATOR = :
PERL = /usr/bin/perl
PKG_CONFIG = /usr/bin/x86_64-redhat-linux-gnu-pkg-config
PKG_CONFIG_LIBDIR = 
PKG_CONFIG_PATH = :/opt/alt/libxml2/usr/lib64/pkgconfig:/opt/alt/libxml2/usr/share/pkgconfig
PYTHON = 
PYTHON_CFLAGS = 
PYTHON_EXEC_PREFIX = 
PYTHON_LIBS = 
PYTHON_PLATFORM = 
PYTHON_PREFIX = 
PYTHON_TESTS = 
PYTHON_VERSION = 
RANLIB = ranlib
RDL_LIBS = 
RELDATE = Fri Mar 14 2025
SED = /usr/bin/sed
SET_MAKE = 
SHELL = /bin/sh
STRIP = strip
TAR = /usr/bin/tar
TEST_CATALOG = Catatests
TEST_DEBUG = Scripttests
TEST_REGEXPS = Automatatests
TEST_SCHEMATRON = Schematrontests
TEST_VALID = 
TEST_VTIME = VTimingtests
THREAD_CFLAGS =  -D_REENTRANT
THREAD_LIBS = 
VERSION = 2.10.2
VERSION_SCRIPT_FLAGS = -Wl,--version-script=
WGET = /usr/bin/wget
WIN32_EXTRA_LDFLAGS = 
WIN32_EXTRA_LIBADD = 
WIN32_EXTRA_PYTHON_LIBADD = 
WITH_C14N = 1
WITH_CATALOG = 1
WITH_DEBUG = 1
WITH_FTP = 1
WITH_HTML = 1
WITH_HTTP = 1
WITH_ICONV = 1
WITH_ICU = 0
WITH_ISO8859X = 1
WITH_LEGACY = 0
WITH_LZMA = 1
WITH_MEM_DEBUG = 0
WITH_MODULES = 1
WITH_OUTPUT = 1
WITH_PATTERN = 1
WITH_PUSH = 1
WITH_READER = 1
WITH_REGEXPS = 1
WITH_RUN_DEBUG = 0
WITH_SAX1 = 1
WITH_SCHEMAS = 1
WITH_SCHEMATRON = 1
WITH_THREADS = 1
WITH_THREAD_ALLOC = 0
WITH_TREE = 1
WITH_TRIO = 0
WITH_VALID = 1
WITH_WRITER = 1
WITH_XINCLUDE = 1
WITH_XPATH = 1
WITH_XPTR = 1
WITH_XPTR_LOCS = 0
WITH_ZLIB = 1
XINCLUDE_OBJ = xinclude.o
XMLLINT = /usr/bin/xmllint
XML_CFLAGS = 
XML_INCLUDEDIR = -I${includedir}/libxml2
XML_LIBDIR = -L${libdir}
XML_LIBS = -lxml2
XML_LIBTOOLLIBS = libxml2.la
XML_PRIVATE_LIBS = -lz  -llzma     -lm 
XPATH_OBJ = xpath.o
XPTR_OBJ = xpointer.o
XSLTPROC = /usr/bin/xsltproc
Z_CFLAGS = 
Z_LIBS = -lz 
abs_builddir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples
abs_srcdir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples
abs_top_builddir = /builddir/build/BUILD/libxml2-2.10.2
abs_top_srcdir = /builddir/build/BUILD/libxml2-2.10.2
ac_ct_AR = ar
ac_ct_CC = gcc
ac_ct_DUMPBIN = 
am__include = include
am__leading_dot = .
am__quote = 
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = /opt/alt/libxml2/usr/bin
build = x86_64-redhat-linux-gnu
build_alias = x86_64-redhat-linux-gnu
build_cpu = x86_64
build_os = linux-gnu
build_vendor = redhat
builddir = .
datadir = /opt/alt/libxml2/usr/share
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = /opt/alt/libxml2/usr
host = x86_64-redhat-linux-gnu
host_alias = x86_64-redhat-linux-gnu
host_cpu = x86_64
host_os = linux-gnu
host_vendor = redhat
htmldir = ${docdir}
includedir = /opt/alt/libxml2/usr/include
infodir = /opt/alt/libxml2/usr/share/info
install_sh = ${SHELL} /builddir/build/BUILD/libxml2-2.10.2/install-sh
libdir = /opt/alt/libxml2/usr/lib64
libexecdir = /opt/alt/libxml2/usr/libexec
localedir = ${datarootdir}/locale
localstatedir = /var
mandir = /opt/alt/libxml2/usr/share/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = 
pkgpythondir = 
prefix = /opt/alt/libxml2/usr
program_transform_name = s&^&&
psdir = ${docdir}
pyexecdir = 
pythondir = 
runstatedir = ${localstatedir}/run
sbindir = /opt/alt/libxml2/usr/sbin
sharedstatedir = /var/lib
srcdir = .
sysconfdir = /etc
target_alias = 
top_build_prefix = ../../
top_builddir = ../..
top_srcdir = ../..
AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la
CLEANFILES = *.tmp
EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

io1_SOURCES = io1.c
io2_SOURCES = io2.c
parse1_SOURCES = parse1.c
parse2_SOURCES = parse2.c
parse3_SOURCES = parse3.c
parse4_SOURCES = parse4.c
reader1_SOURCES = reader1.c
reader2_SOURCES = reader2.c
reader3_SOURCES = reader3.c
reader4_SOURCES = reader4.c
testWriter_SOURCES = testWriter.c
tree1_SOURCES = tree1.c
tree2_SOURCES = tree2.c
xpath1_SOURCES = xpath1.c
xpath2_SOURCES = xpath2.c
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/examples/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign doc/examples/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) 
	@rm -f io1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS)

io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) 
	@rm -f io2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS)

parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) 
	@rm -f parse1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS)

parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) 
	@rm -f parse2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS)

parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) 
	@rm -f parse3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS)

parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) 
	@rm -f parse4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS)

reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) 
	@rm -f reader1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS)

reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) 
	@rm -f reader2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS)

reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) 
	@rm -f reader3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS)

reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) 
	@rm -f reader4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS)

testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) 
	@rm -f testWriter$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS)

tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) 
	@rm -f tree1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS)

tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) 
	@rm -f tree2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS)

xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) 
	@rm -f xpath1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS)

xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) 
	@rm -f xpath2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

#include ./$(DEPDIR)/io1.Po # am--include-marker
#include ./$(DEPDIR)/io2.Po # am--include-marker
#include ./$(DEPDIR)/parse1.Po # am--include-marker
#include ./$(DEPDIR)/parse2.Po # am--include-marker
#include ./$(DEPDIR)/parse3.Po # am--include-marker
#include ./$(DEPDIR)/parse4.Po # am--include-marker
#include ./$(DEPDIR)/reader1.Po # am--include-marker
#include ./$(DEPDIR)/reader2.Po # am--include-marker
#include ./$(DEPDIR)/reader3.Po # am--include-marker
#include ./$(DEPDIR)/reader4.Po # am--include-marker
#include ./$(DEPDIR)/testWriter.Po # am--include-marker
#include ./$(DEPDIR)/tree1.Po # am--include-marker
#include ./$(DEPDIR)/tree2.Po # am--include-marker
#include ./$(DEPDIR)/xpath1.Po # am--include-marker
#include ./$(DEPDIR)/xpath2.Po # am--include-marker

$(am__depfiles_remade):
	@$(MKDIR_P) $(@D)
	@echo '# dummy' >$@-t && $(am__mv) $@-t $@

am--depfiles: $(am__depfiles_remade)

.c.o:
#	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
#	$(AM_V_CC)source='$<' object='$@' libtool=no 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(COMPILE) -c -o $@ $<

.c.obj:
#	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
#	$(AM_V_CC)source='$<' object='$@' libtool=no 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
#	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
#	$(AM_V_CC)source='$<' object='$@' libtool=yes 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
	mostlyclean-am

distclean: distclean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-local

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
	check-local clean clean-checkPROGRAMS clean-generic \
	clean-libtool clean-local cscopelist-am ctags ctags-am \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-data-local install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-local

.PRECIOUS: Makefile


rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
share/doc/alt-libxml2-devel/examples/parse1000075500000017372150505765730014625 0ustar00#! /bin/sh

# parse1 - temporary wrapper script for .libs/parse1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse1:parse1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse1:parse1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse1:parse1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/reader1000075500000017405150505765740014753 0ustar00#! /bin/sh

# reader1 - temporary wrapper script for .libs/reader1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader1:reader1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader1:reader1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader1:reader1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/examples.xsl000064400000011015150505765740016037 0ustar00<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:variable name="apidoc-prefix">https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-</xsl:variable>

  <xsl:template match="include">
    <xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, $header, 'tml')"/>
    <li><a href="{$doc}"><xsl:value-of select="."/></a></li>
  </xsl:template>

  <xsl:template match="typedef">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="function">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="macro">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="example">
    <xsl:variable name="filename" select="string(@filename)"/>
    <h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
    <p><xsl:value-of select="purpose"/></p>
    <p>Includes:</p>
    <ul>
    <xsl:for-each select="includes/include">
      <xsl:sort select="@line" data-type="number"/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p>Uses:</p>
    <ul>
    <xsl:for-each select="uses/*">
      <xsl:sort select="@line" data-type="number"/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p>Usage:</p>
    <p><xsl:value-of select="usage"/></p>
    <p>Author: <xsl:value-of select="author"/></p>
  </xsl:template>

  <xsl:template match="section">
    <li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
    <ul>
    <xsl:for-each select="example">
      <xsl:sort select='.'/>
      <xsl:variable name="filename" select="@filename"/>
      <li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
    </xsl:for-each>
    </ul>
    </li>
  </xsl:template>

  <xsl:template match="sections">
    <p> The examples are stored per section depending on the main focus
    of the example:</p>
    <ul>
    <xsl:for-each select="section">
      <xsl:sort select='.'/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p> Getting the compilation options and libraries dependencies needed
to generate binaries from the examples is best done on Linux/Unix by using
the xml2-config script which should have been installed as part of <i>make
install</i> step or when installing the libxml2 development package:</p>
<pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
  </xsl:template>

  <xsl:template name="sections-list">
    <xsl:for-each select="sections/section">
      <xsl:variable name="section" select="@name"/>
      <h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
      <xsl:apply-templates select='/examples/example[section = $section]'/>
    </xsl:for-each>
  </xsl:template>

  <xsl:template match="examples">
    <xsl:variable name="title">Libxml2 set of examples</xsl:variable>
      <xsl:document href="index.html" method="xml" indent="yes" omit-xml-declaration="yes"
          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html>
        <head>
	  <title>
	    <xsl:value-of select="$title"/>
	  </title>
        </head>
        <body>
	  <h1><xsl:value-of select="$title"/></h1>
          <xsl:apply-templates select="sections"/>
          <xsl:call-template name="sections-list"/>
        </body>
      </html>
    </xsl:document>
  </xsl:template>

</xsl:stylesheet>
share/doc/alt-libxml2-devel/examples/parse3000075500000017372150505765740014630 0ustar00#! /bin/sh

# parse3 - temporary wrapper script for .libs/parse3
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse3 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse3.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse3:parse3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse3:parse3:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse3:parse3:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse3'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/parse4.o000064400000137060150505765740015060 0ustar00ELF>p�@@;:

.0-1,2+3H��H�
���H���GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R�H�{H�5�H�H����L�cH�\$H�������M��H��1�1��H��H��u��D1ɉ�H��H���H������1�H��H���D�mH��H�]�E��tdH���H�=���1�����H�=L��1�H����H�KH�=H�1����H�=L��1�H���z���H�
�"�H�=��`����rbFailed to parse %s
Failed to create parser context !
=$�5CJint�r�r��	��
5�1:3k6	�7	�8	�9	� :	�(;	�0<	�8=	�@@	�HA	�PB	�XDS`FYhHkpIktJyxMV�N]�O_�Qo�Y
��[z�\��]Y�^	C�_
)�`k�b���
+N�	�o
5Fu�	��
5��:�����k	�������	J
&@}�~C����|�(
 raw�(
(�	k0�	k4�58
�
# �h4�buf6�8�9�:�
cur;�
 end<�
(=	k0>	k4col?	k8E5@F�HG�
PH�
XI	k`idJ	kd
$��
&����	sax�d�C���k�k��
 ��
(�k0�k4��8�k@�kD�jH�kP�kX�k\�}`�	kh�Lp�	k��
k��k��k��k��k������k����
 �k(�k,�p0�r8�r@�kH�kL�kP��
X�
`�
h�vp�kx�k|�v��k�����k��k��k��k�C�k�k�C�k�k���p�	k�
k��
��
��
�k�k�kpv|� �(k0k4$k8%k<&k@'kH(EP-X.G�/5�05�3@�4k�5k�6@�8k�95�
'�	�
)�	 A
B�C�D�E�
*
�	�����S�`�m�� �(�F0�}8��@��H��P�%X�H`�fh�sp��x������� ���"����,��9��F��9������<��C��z�������
0��
&�
'C
(�

)�

*i
+i 
,^(
-i0
.i8doc
/�@
1
H
2
P
3kX
4�\
5�
`
6�
h
8�pURI
9�
x
:k�
;k�
1
�
i#

r4

<
��
	


�:
<
�	

��

� 6
�^
� p
��

�j*6x
�d
�C
��

��

�i
�i 
�i(
�i0
�i8doc
��@ns
�vH
�
P
�XX
�v`
�Ch
�Vp
�Vrvv�
�^
�C
��

��

�i
�i 
��(
�i0
�i8doc
��@
�CH
�CP
�CX
�C`
��
h
��
p
�Cxo�
'�
(C
)�

*�
+i
,i 
-i(
.i0
/i8doc
0�@
3kH
4kL
:^P
;^X
<|`
=�
h
>�
pids
?Cx
@C�URL
A�
�
Bk�
D��
EC�
Fk�
Hk�d<
�
�<
"&
'�
0#@0
2�
3�
4&
5 �
c1
6 �c2
7 �
8 � 
9 �
(
1�3@���
w�

�0
�v
�|
��
��

��

�C 
��(
��`
�E
�C
��

��

�i
�i 
�i(
�X0
�X8doc
��@ns
�vH
�P
�CX
�R��
�v
�x^
%d
&�~������C�
<�LXN�O
kP
kQ�RS�T
k U�(V�0W�8X
k@Y
kDZCH[CPM���C�Z	C�+<%"N&_Bqe*�9�P�pR}SCT|U�XkYk Zk$[}(]<0doc^�8_k@bvHckPdkTevXamh0`iShk<
�
��2���
T#�(W@XFZ5[5\5]5 �d`&Xb�c5d5e@kn 	

��<�G��_
��
kS!�
�C�!k�C�^��!��C�
�
j��C�
�
�
w��%!�9C�
��SY}C�
k�
�

������C�
�
kk�
^����C�
k��%C�
�
�
�
�28HC
�U[fC�U����C�
p���C�
�
�)���C�
k5�@�J�T�`�j�v�����������C�
�
�
kpkkp��Cc��!k		vvJQy��(-(�|�!�� �� � �� � �!�!6��!k�C�k?�9UB3��!C�)M!CC)W+1!�@����������"�	#jk���!$jk$j�!%�!z!!&�!'(")"�D("()"*�"8	�&�"+�",�#-T1-Q	-R|*�""a	�&�"+�",�#-T1-Q	-R|*�"F	P &�"+�",�#-U	-T1-Q".�"h -Us.�#� -U0-T0-Qs-X|.�#� -Uv-Ts-R0.�"� -Us.�#� -Uv-Ts-Q0-R1.�#!-Uv,�#-Us*�" }	y!&�"+�",�#-T1-Q	.�#�!-U

R.�#�!-T	/$/$/$/*$�0,6"1,�2-�	2.
�3doc/�3res0	k4kl"5mem�1k3res	k6)�"7E7')8__n6)7�9sz
):dk�"1d�1d<�;6"��#&G"(_"<S"=l"!&�"&�"&�"&~"'(�",3$-U�U-T1-Q4>Z?@�@@�@
>>�>�@9>�A@%U:;9I$>7I&I$>I	I
!I/:;9
:;9I8
:;9<4:;9I?<!
:;9I8:;9
:;9I8
:;9I8:;9
:;9I8:;9>I:;9(
:;9I8>I:;9:;9I'I (
!'I"4:;9I#.?:;9'I@�B$:;9I�B%1R�BUXYW&1�B'U(41�B)41*1R�BXYW+1,��1-���B.��1/��10.:;9' 1:;9I24:;9I34:;9I4.:;9'I 5:;9I6.?:;9'I 47:;9I8:;9I94:;9I:.?:;9'I 4;.1@�B<1=1R�BUXYW>.?<n:;9?.?<n:;@.?<n:;9A.?<nU�U�U�U�T�T�TS�T�S�T�\\\PVVPVSSPPP]P]
�
�
�
�U�U�P	4�1�U�U�	��<�6��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h<built-in>	��}�JX�~!	���XX�j<X]
�u��JX��>	���Q&	K	:KZ_��\Y	�t,
�S.	�g
�.	

�X	`
�aX�parentnodeInfoTablastErrorexternalfatalErrorSAXFuncxmlParserCtxtPtrXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFuncxmlParseChunk_xmlNode_freeres_listrawconsumedxmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities__fread_alias_flags2begin_pos_xmlNs_old_offsetparse4.cetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORelementsintSubseterrorcharactersendDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedexample4FuncendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linenexteXML_PARSE_UNKNOWNreadPacketprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYdomaingetParameterEntitySAXFuncserrorfopenend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclwarningSAXFunc_markersXML_XINCLUDE_END_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDfreeXML_PARSER_ENTITY_DECLnodememcodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntitygetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodevalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstartDocumentSAXFuncstr_xmlnsXML_ATTRIBUTE_IDXML_PARSER_IGNOREprocessingInstruction_IO_write_basexmlMallocFunc_vtable_offsetmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextcharsdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_id_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtrsize_freeres_buf_IO_backup_basexmlReallocXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOM_xmlStartTagXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetlinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONxmlAttrshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthfread__stack_chk_failreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodefclosegetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxtxmlCreatePushParserCtxtxmlEntityPtrXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_info__ptrvstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlercontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdstartElementSAXFunchasExternalSubsetSAXFunc_chainvstatexmlAutomataStateFILEdescerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNs__size_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�DZ<4�F�B�A �A(�D@r
(A ABBA
�	
/)
?0Yt1��2��3�#G^	cw� !#%')012345/6��������*+,-.�
�%=K]ho�����.annobin_parse4.c.annobin_parse4.c_end.annobin_parse4.c.hot.annobin_parse4.c_end.hot.annobin_parse4.c.unlikely.annobin_parse4.c_end.unlikely.annobin_parse4.c.startup.annobin_parse4.c_end.startup.annobin_parse4.c.exit.annobin_parse4.c_end.exit.annobin_readPacket.constprop.0.start.annobin_readPacket.constprop.0.endreadPacket.constprop.0desc.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_freadmainxmlCheckVersionfopenxmlCreatePushParserCtxtxmlParseChunkxmlFreeParserCtxtxmlFreeDocfclosexmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite__stack_chk_fail��������D�������� .��$, ( ) * +//�PF��������[1��������`G��������g������������������H���������I������������������I���������J���������K�����������������L��������M��������N��������O��������+2��������0P��������=O��������D2��������PP��������YO��������j2��������oP��������{O���������3���������Q���������R��������
"
'_
'�
'�
%p%
&*
'�8
'a
?
'�
M
'�Y
'-`
'�g
'�u
'0z
'��
'��
'�	�
'
�
'T�
'M
�
'p�
'�
'�
'B
'�
'�)
'6
'C
'$
P
'�]
'�j
'�w
'�
'��
'��
'r�
'��
'��
',�
'��
'd�
'x�
'2
'

'Z
 
'-
'�;
'�G
'�O
'0
v
'��
'�
'�
'��
'��
'��
'�
'L
'v 
'	-
'f:
'�G
'�T
'a
'N{
'��
'[�
'@�
'��
'(�
'e�
'�
'�
�
'u
'e)
'C
'P
'�]
'j
'mw
'4�
'��
'?�
'��
'�
'�
'��
'��
'm
'
'4%
'2
'�
?
'L
'�Y
'+f
's
'��
'��
'<�
'-�
'��
'�
'��
'��
'�
'�	�
'�
'�
'
'n+
'�
9
'�G
'MU
'#c
'fq
'_
'��
'Z�
'$�
'��
'T�
'�
�
'Y�
'��
'�
'I
'u
'9'
'y5
'�C
']Q
'�_
'�m
'$|
'�	�
'��
'��
'��
'E�
't�
'J�
'?�
'�	
'
'T!
'
0
'�?
'N
'�]
'�l
'D{
'(
�
'��
'��
'��
']�
'��
'�
'��
'�
	
'�	
' 	
'y/	
'�	>	
'�M	
'	\	
'�k	
'z	
'�	
'��	
'��	
'8�	
'��	
'��	
'��	
'�	�	
'X�	
'�

'�

'�.

'N<

'�J

'6X

'�f

'Z	t

'$�

'��

'�

'4�

'�

'�

'G	�

'��

'��

'�
'R
'
'a*
'�8
'�F
'T
'�b
'[p
'�~
'�
'~�
'�
�
'
�
'$�
'��
'��
'j�
'��
'C
'$
'�"
'�/
'�<
'�I
'V
'c
'�}
'q�
'��
'e�
'��
'b�
'��
'O�
'�
'�

'\

'�$

'�)

'PI

'�
O

'	U

'�[

'�
a

'@g

'�m

'�s

'�y

'�

'��

'~�

'?
�

'��

'/�

'`�

's
�

'��

'7�

'��

'��

'��

'��

'^�

'��

'��

'
'y	
'�
'�
'!
'}
'e+
'v7
'�D
'Q
'�_
'�w
')�
'$�
'��
'��
'��
'��
'�
'�
'�
'�
'9,
'9:
'�H
'V
'�p
'5~
'$�
'��
'��
'��
'��
'�
'�
'��
'X

'H
'm&
'k4
'bB
'�P
'�e
'.s
'$�
'��
'��
'��
'��
'�
'�
'��
'��
'4

'Q
'�)
'97
'mE
'a
'�}
'��
't�
'��
'��
'9�
'�
�
'��
'�
'��
'
'u
'�
'�
 
'�'
'.4
'A
'�O
'�]
'kk
'��
'�
'��
'��
'��
'L�
'd
�
'�
'��
'�
'e
'�"
'0
'�>
'TL
'�Z
'$h
'f�
'��
'0�
'$�
'��
'��
'��
'��
'�
'
'�)
'�	7
'�F
'._
'�	l
'�
''�
'e�
'��
'G�
'e�
'��
'��
':�
'&
'
'Q

'o*
'I7
'�D
'-Q
'^
'k
'x
'��
'��
'��
'Z
�
'_
�
'+�
'�
't�
'l
 
's,
'�1
'
C
'�O
';
T
'f
'>r
'
}
'�
�
'I�
'��
'��
'�
'[�
'��
'�
'��
'��
'<	
'=#
'�	0
'�=
'�J
'�W
'?p
'��
'I�
'&�
'�
�
'(�
'Q�
'��
'��
'��
'u�
'��
'
'�
'D&
'w3
'�M
'$Y
'Of
'�s
'e�
'N�
'i�
'��
'��
'�
�
'��
'��
'R�
'��
'?�
'R�
'��
'��
'��
'��
'��
':�
'o
'[	
'�
#
'U)
'�/
'�5
';
'�A
'H
';T
'F`
'-�
'�
'U
'�
'h	:
'PG
'o~
'3	�
'��
'L�
'�&
'�	I
'?g
'lt
'��
'��
'��
'��
'z
'r
'� 
'�-
'�:
'G
'&T
'�a
'�n
'�{
'�
'�
'P�
'�

' "
'�.
'x;
'�H
'�
U
'�b
'�	o
'&}
'�
'��
'��
'��
'g�
'��
'U 
'�A
'�M
'
Y
'4
e
'Hq
'�
}
'��
'��/�
'�
�
#�
#�
'��
#x�
#j�/x�
%0�
#�
#
%0
#o
#e!
#�%
#�.
#$2
#;/D/`
#�d
#�n/4��/V�/V�
#��
#��/s��/x /x 
#  
#* /�;  Q /�i /�� /�� /�� /�� /�!/�&!/6/!/6K!
#2O!
#0Y!/To!z!/T�!/d�!�!/�!/�!/�!/��!
'��!
'"
'+"
'n7"
'gT"
'
m"
'l"
'9�"
'k�"
'�	�"
'�"
'�	�"
'��"
#
#b#
#^#
#�#
#�*#3#
%?#
#�C#
#�L#
#�P#
#�Y#
#]#
#f#
#=j#
#9o#
%x#
#x|#
#v�#�#
'�	�#
'�	�#
'��#
'	�#
'D�#
'D�#
'�#
'�#
'2�#
'2�#
'��#
'��#
'��#
'��#
'q�#
'q$
'
$
'$
'�$
'�$
't#$
't+$
'r/$
'r4$
'l8$
'�//(/(#/G1/G9/OD/OL/�x/�/(�/(�/G�/G�/S�/S�/}�/}�/6�/6�/V�/V�/�/x$/�//7/6B/VJ/�o/�w/��/��/��/V�/x�/x�/��/��/��/��/��/V�/x$/�,/�7/�?/�J/�R/�]/�e/�p/x/(�/V�/x�/�/4��/V�/x�/x/� 2/6:/VEbju}�������=EPXx�
! /0/x8/�@/H/6P/VX/�px�/�/��/ 8/.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@84>T85>l86>�(87>�88 �@�b08&�,�6�41@�b�8
L$[$�V@`c08
u�����@�c08#�����@�c08������@�c08�t
8�@ d08#��@Pd�812O
@2h
#T�
A$O@�fH<8`�1�sy5�n@8��8!�:@~@0�H8#�V:��@x�P8%��::�@Ȭ08'�00>)�0YW.��W#�Wu�WL�W �W��W��W��W��W�W�W 4�Wp/@��086X�9C	�_�(�Eshare/doc/alt-libxml2-devel/examples/index.html000064400000115330150505765740015473 0ustar00<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Libxml2 set of examples</title>
  </head>
  <body>
    <h1>Libxml2 set of examples</h1>
    <p> The examples are stored per section depending on the main focus
    of the example:</p>
    <ul>
      <li>
        <p><a href="#xmlWriter">xmlWriter</a> :</p>
        <ul>
          <li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li>
        </ul>
      </li>
      <li>
        <p><a href="#InputOutput">InputOutput</a> :</p>
        <ul>
          <li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li>
          <li><a href="#io2.c">io2.c</a>: Output to char buffer</li>
        </ul>
      </li>
      <li>
        <p><a href="#Tree">Tree</a> :</p>
        <ul>
          <li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li>
          <li><a href="#tree2.c">tree2.c</a>: Creates a tree</li>
        </ul>
      </li>
      <li>
        <p><a href="#XPath">XPath</a> :</p>
        <ul>
          <li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li>
          <li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li>
        </ul>
      </li>
      <li>
        <p><a href="#Parsing">Parsing</a> :</p>
        <ul>
          <li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li>
          <li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li>
          <li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li>
          <li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li>
        </ul>
      </li>
      <li>
        <p><a href="#xmlReader">xmlReader</a> :</p>
        <ul>
          <li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li>
          <li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li>
          <li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li>
          <li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li>
        </ul>
      </li>
    </ul>
    <p> Getting the compilation options and libraries dependencies needed
to generate binaries from the examples is best done on Linux/Unix by using
the xml2-config script which should have been installed as part of <i>make
install</i> step or when installing the libxml2 development package:</p>
    <pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
    <h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2>
    <h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3>
    <p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html">&lt;libxml/xinclude.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 105: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 117: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li>
      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
      <li> line 134: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li>
      <li> line 143: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
      <li> line 149: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 154: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 158: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>io1</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3>
    <p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 19: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 20: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 27: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 28: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li>
      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>io2</p>
    <p>Author: John Fleck</p>
    <h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2>
    <h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3>
    <p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 24: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 26: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
      <li> line 31: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 45: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 50: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse1 test1.xml</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3>
    <p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 25: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
      <li> line 26: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li>
      <li> line 35: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li>
      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 47: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
      <li> line 61: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 66: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 70: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse2 test2.xml</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3>
    <p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 27: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 49: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 58: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse3</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3>
    <p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 45: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
      <li> line 47: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li>
      <li> line 86: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
      <li> line 103: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 120: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 131: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 135: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse4 test3.xml</p>
    <p>Author: Daniel Veillard</p>
    <h2><a name="Tree" id="Tree"></a>Tree Examples</h2>
    <h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3>
    <p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>tree1 filename_or_URL</p>
    <p>Author: Dodji Seketeli</p>
    <h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3>
    <p>Shows how to create document, nodes and dump it to stdout or file.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li>
      <li> line 73: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocText">xmlNewDocText</a> from tree.h</li>
      <li> line 77: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li>
      <li> line 87: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li>
      <li> line 88: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li>
      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>tree2 &lt;filename&gt;  -Default output: stdout</p>
    <p>Author: Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</p>
    <h2><a name="XPath" id="XPath"></a>XPath Examples</h2>
    <h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3>
    <p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
      <li> line 101: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
      <li> line 129: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
      <li> line 130: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
      <li> line 156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li>
      <li> line 180: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li>
      <li> line 186: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li>
      <li> line 206: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 218: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</p>
    <p>Author: Aleksey Sanin</p>
    <h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3>
    <p>Shows how to make a full round-trip from a load/edit/save</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
      <li> line 102: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
      <li> line 110: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
      <li> line 123: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
      <li> line 127: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
      <li> line 162: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p>
    <p>Author: Aleksey Sanin and Daniel Veillard</p>
    <h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2>
    <h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
      <li> line 59: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 69: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
      <li> line 89: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 98: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader1 &lt;filename&gt;</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
      <li> line 34: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
      <li> line 60: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 68: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 81: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li>
      <li> line 84: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader2 &lt;valid_xml_filename&gt;</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3>
    <p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 32: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li>
      <li> line 52: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
      <li> line 66: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
      <li> line 96: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader3</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 26: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 54: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 72: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 83: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li>
      <li> line 97: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
      <li> line 104: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader4 &lt;filename&gt; [ filename ... ]</p>
    <p>Author: Graham Bennett</p>
    <h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2>
    <h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3>
    <p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html">&lt;libxml/encoding.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li>
      <li> line 341: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li>
      <li> line 347: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li>
      <li> line 355: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li>
      <li> line 613: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li>
      <li> line 632: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li>
      <li> line 878: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li>
      <li> line 880: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 885: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li>
      <li> line 885: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 894: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 901: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 904: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li>
      <li> line 913: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li>
      <li> line 925: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li>
      <li> line 949: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li>
      <li> line 959: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li>
      <li> line 1073: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li>
      <li> line 1096: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li>
      <li> line 1103: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li>
      <li> line 1111: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li>
      <li> line 1121: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li>
      <li> line 1127: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li>
      <li> line 1129: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li>
      <li> line 1151: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li>
      <li> line 1156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li>
    </ul>
    <p>Usage:</p>
    <p>testWriter</p>
    <p>Author: Alfred Mickautsch</p>
  </body>
</html>
share/doc/alt-libxml2-devel/examples/testWriter.c000064400000113145150505765750016021 0ustar00/**
 * section: xmlWriter
 * synopsis: use various APIs for the xmlWriter
 * purpose: tests a number of APIs for the xmlWriter, especially
 *          the various methods to write to a filename, to a memory
 *          buffer, to a new document, or to a subtree. It shows how to
 *          do encoding string conversions too. The resulting
 *          documents are then serialized.
 * usage: testWriter
 * test: testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
 * author: Alfred Mickautsch
 * copy: see Copyright for the status of this software.
 */
#include <stdio.h>
#include <string.h>
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>

#if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)

#define MY_ENCODING "ISO-8859-1"

void testXmlwriterFilename(const char *uri);
void testXmlwriterMemory(const char *file);
void testXmlwriterDoc(const char *file);
void testXmlwriterTree(const char *file);
xmlChar *ConvertInput(const char *in, const char *encoding);

int
main(void)
{
    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /* first, the file version */
    testXmlwriterFilename("writer1.tmp");

    /* next, the memory version */
    testXmlwriterMemory("writer2.tmp");

    /* next, the DOM version */
    testXmlwriterDoc("writer3.tmp");

    /* next, the tree version */
    testXmlwriterTree("writer4.tmp");

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * testXmlwriterFilename:
 * @uri: the output URI
 *
 * test the xmlWriter interface when writing to a new file
 */
void
testXmlwriterFilename(const char *uri)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlChar *tmp;

    /* Create a new XmlWriter for uri, with no compression. */
    writer = xmlNewTextWriterFilename(uri, 0);
    if (writer == NULL) {
        printf("testXmlwriterFilename: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		     "This is another comment with special chars: %s",
		     tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);
}

/**
 * testXmlwriterMemory:
 * @file: the output file
 *
 * test the xmlWriter interface when writing to memory
 */
void
testXmlwriterMemory(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlBufferPtr buf;
    xmlChar *tmp;
    FILE *fp;

    /* Create a new XML buffer, to which the XML document will be
     * written */
    buf = xmlBufferCreate();
    if (buf == NULL) {
        printf("testXmlwriterMemory: Error creating the xml buffer\n");
        return;
    }

    /* Create a new XmlWriter for memory, with no compression.
     * Remark: there is no compression for this kind of xmlTextWriter */
    writer = xmlNewTextWriterMemory(buf, 0);
    if (writer == NULL) {
        printf("testXmlwriterMemory: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		     "This is another comment with special chars: %s",
                                         tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);

    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    fp = fopen(file, "w");
    if (fp == NULL) {
        printf("testXmlwriterMemory: Error at fopen\n");
        return;
    }

    fprintf(fp, "%s", (const char *) buf->content);

    fclose(fp);

    xmlBufferFree(buf);
}

/**
 * testXmlwriterDoc:
 * @file: the output file
 *
 * test the xmlWriter interface when creating a new document
 */
void
testXmlwriterDoc(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlChar *tmp;
    xmlDocPtr doc;


    /* Create a new XmlWriter for DOM, with no compression. */
    writer = xmlNewTextWriterDoc(&doc, 0);
    if (writer == NULL) {
        printf("testXmlwriterDoc: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		 "This is another comment with special chars: %s",
		                         tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    xmlSaveFileEnc(file, doc, MY_ENCODING);

    xmlFreeDoc(doc);
}

/**
 * testXmlwriterTree:
 * @file: the output file
 *
 * test the xmlWriter interface when writing to a subtree
 */
void
testXmlwriterTree(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlChar *tmp;

    /* Create a new XML DOM tree, to which the XML document will be
     * written */
    doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
    if (doc == NULL) {
        printf
            ("testXmlwriterTree: Error creating the xml document tree\n");
        return;
    }

    /* Create a new XML node, to which the XML document will be
     * appended */
    node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL);
    if (node == NULL) {
        printf("testXmlwriterTree: Error creating the xml node\n");
        return;
    }

    /* Make ELEMENT the root node of the tree */
    xmlDocSetRootElement(doc, node);

    /* Create a new XmlWriter for DOM tree, with no compression. */
    writer = xmlNewTextWriterTree(doc, node, 0);
    if (writer == NULL) {
        printf("testXmlwriterTree: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
			 "This is another comment with special chars: %s",
					  tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    xmlSaveFileEnc(file, doc, MY_ENCODING);

    xmlFreeDoc(doc);
}

/**
 * ConvertInput:
 * @in: string in a given encoding
 * @encoding: the encoding used
 *
 * Converts @in into UTF-8 for processing with libxml2 APIs
 *
 * Returns the converted UTF-8 string, or NULL in case of error.
 */
xmlChar *
ConvertInput(const char *in, const char *encoding)
{
    xmlChar *out;
    int ret;
    int size;
    int out_size;
    int temp;
    xmlCharEncodingHandlerPtr handler;

    if (in == 0)
        return 0;

    handler = xmlFindCharEncodingHandler(encoding);

    if (!handler) {
        printf("ConvertInput: no encoding handler found for '%s'\n",
               encoding ? encoding : "");
        return 0;
    }

    size = (int) strlen(in) + 1;
    out_size = size * 2 - 1;
    out = (unsigned char *) xmlMalloc((size_t) out_size);

    if (out != 0) {
        temp = size - 1;
        ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
        if ((ret < 0) || (temp - size + 1)) {
            if (ret < 0) {
                printf("ConvertInput: conversion wasn't successful.\n");
            } else {
                printf
                    ("ConvertInput: conversion wasn't successful. converted: %i octets.\n",
                     temp);
            }

            xmlFree(out);
            out = 0;
        } else {
            out = (unsigned char *) xmlRealloc(out, out_size + 1);
            out[out_size] = 0;  /*null terminating out */
        }
    } else {
        printf("ConvertInput: no mem\n");
    }

    return out;
}

#else
int main(void) {
    fprintf(stderr, "Writer or output support not compiled in\n");
    return 0;
}
#endif
share/doc/alt-libxml2-devel/examples/parse1.o000064400000054020150505765750015050 0ustar00ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��S�
RH���H�[1�1�H���H��tH�����1�[�H�=H�پH����Failed to parse %s
g�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K��C9�B3��C	)M		C&	C)W2	8	�G	������	���&	"ae��
"a"�
�
-�
�
�
 �
	c
!"#T1#Q	#Rs$+�
#Us#T0#Q0%8$E�
#U

R%Q%^�&�
'�(doc�)da'd�'d<�*+Z,
q,
+,
9+�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B 1R�BXYW!1"��1#���B$��1%��1&.:;9' ':;9I(4:;9I).?:;9'I 4*+.?<n:;9,.?<n:;9U�U�TS�T�SSPP
�,e�A�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h!	!K�!j 	 X<ZjJ�\�\Y/	d.�
��__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endparse1.cencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesfilenameelementsxmlReadFile_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypeXML_DOCUMENT_FRAG_NODEargcexample1Func_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�eP�w
A
�	-)?.Yt/��0��1�e!#%'./0123-4#(4DYm()*+,~e��������.annobin_parse1.c.annobin_parse1.c_end.annobin_parse1.c.hot.annobin_parse1.c_end.hot.annobin_parse1.c.unlikely.annobin_parse1.c_end.unlikely.annobin_parse1.c.startup.annobin_parse1.c_end.startup.annobin_parse1.c.exit.annobin_parse1.c_end.exit.annobin_main.start.annobin_main.end.LC0.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReadFilexmlFreeDocxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk ) # $ % &**e>��������)?��������6@��������;A��������@B��������KC��������Z,��������_D��������

"
"
"*
 0%
!*
"\8
"z?
""H
"7O
"�V
"]
"ck
"*p
"|
"j�
"D�
"��
"@�
"�
"�
"��
"�
"��
"�
"�
"G
"
)
"C6
"�C
"P
"]
"j
")w
"��
"t�
"��
"h�
"#�
"��
"��
"��
"��
"/�
"�
"1
"!
"�-
"�5
"�\
"jg
"m�
"S�
"7�
"�
"��
"�
"�
"�
"
"R 
"�&
"�,
"�2
">8
"�>
"�D
"�J
"�P
"V
"\
"Eb
"�h
"�n
"�t
"rz
"��
"Y�
"��
"5�
"J�
"��
"��
"��
"��
"�
"��
"��
"X�
"o�
"��
"�
"�
"�(
".6
"D
"9R
"c`
"��
"��
"��
"��
"��
"��
"��
"�
"�
"�
"�
".*
"8
"9F
"cT
"�p
"{~
"��
"��
"Z�
"v�
"��
"��
"�
"��
"�
"�
".
"-
"9;
"cI
"�e
"�s
"b�
"`�
"m�
"3�
"R�
"!�
"�
"��
"

"�
"9)
"�@
"�G
"-L
"IQ
"$^
"�k
"�y
"c�
"��
"S�
"[�
"��
"��
"h�
"��
"�
"�
". 
".
"9<
"cJ
"�s
"��
"��
"K�
"��
"��
"��
"*	
"<'	
"H	
"�T	
"�`	
"wl	
"x	
"��	
"��	*�	
"��	
�	
�	
"�	
C�	
=�	*!�	
 �	
��	
��	
 �	
�

�

*H
*H/

3

=
*cS
d
*-�
*:�
*�
*?�
*D�

"��

"��

"R
"q
"� 
"�$
"�,
"�0
"�9
"8=
"8F
"�J
"�R
"�V
"�_
"Zc
"Z****eC*K*V*^*!i*!q*e�*!�*:�*H�*e�*-�*9�*H�*b*H
*c
**!*:*H*e0*8*eP* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6-*P6.*h6/*�(60*�61�!�'�1��,@.06	G�V��Q@H.06ph�h�@x.06<�<��@�.06����@�.06��	8�@/06 e@8/�6,2�@�k;@�/�6L\_`1Z@�D�6o�0j@�F06!��P~@�F�6#���@hG6%�0�I�0%.�M%M%pM%GM%M%�M%�M%�M%�M%�M%P%  p%8@�G64�%x7<	 ,��G1share/doc/alt-libxml2-devel/examples/examples.xml000064400000077245150505765750016053 0ustar00<examples>
  <example filename='io1.c'>
    <synopsis>Example of custom Input/Output</synopsis>
    <purpose>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</purpose>
    <usage>io1</usage>
    <test>io1 &gt; io1.tmp &amp;&amp; diff io1.tmp $(srcdir)/io1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>InputOutput</section>
    <includes>
      <include line='16'>&lt;libxml/parser.h&gt;</include>
      <include line='17'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xinclude.h&gt;</include>
      <include line='19'>&lt;libxml/xmlIO.h&gt;</include>
    </includes>
    <uses>
      <macro line='117' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='154' file='parser' name='xmlCleanupParser'/>
      <function line='143' file='tree' name='xmlDocDump'/>
      <typedef line='105' file='tree' name='xmlDocPtr'/>
      <function line='149' file='tree' name='xmlFreeDoc'/>
      <function line='158' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='124' file='parser' name='xmlReadMemory'/>
      <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/>
      <function line='134' file='xinclude' name='xmlXIncludeProcess'/>
    </uses>
  </example>
  <example filename='io2.c'>
    <synopsis>Output to char buffer</synopsis>
    <purpose>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</purpose>
    <usage>io2</usage>
    <test>io2 &gt; io2.tmp &amp;&amp; diff io2.tmp $(srcdir)/io2.res</test>
    <author>John Fleck</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>InputOutput</section>
    <includes>
      <include line='12'>&lt;libxml/parser.h&gt;</include>
    </includes>
    <uses>
      <function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
      <typedef line='20' file='tree' name='xmlDocPtr'/>
      <function line='30' file='tree' name='xmlDocSetRootElement'/>
      <variable line='42' file='globals' name='xmlFree'/>
      <function line='43' file='tree' name='xmlFreeDoc'/>
      <function line='27' file='tree' name='xmlNewDoc'/>
      <function line='28' file='tree' name='xmlNewDocNode'/>
      <typedef line='19' file='tree' name='xmlNodePtr'/>
      <function line='29' file='tree' name='xmlNodeSetContent'/>
    </uses>
  </example>
  <example filename='parse1.c'>
    <synopsis>Parse an XML file to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse1 test1.xml</usage>
    <test>parse1 test1.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='45' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='50' file='parser' name='xmlCleanupParser'/>
      <typedef line='24' file='tree' name='xmlDocPtr'/>
      <function line='31' file='tree' name='xmlFreeDoc'/>
      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='26' file='parser' name='xmlReadFile'/>
    </uses>
  </example>
  <example filename='parse2.c'>
    <synopsis>Parse and validate an XML file to a tree and free the result</synopsis>
    <purpose>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</purpose>
    <usage>parse2 test2.xml</usage>
    <test>parse2 test2.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='14'>&lt;libxml/parser.h&gt;</include>
      <include line='15'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/>
      <function line='66' file='parser' name='xmlCleanupParser'/>
      <function line='35' file='parser' name='xmlCtxtReadFile'/>
      <typedef line='26' file='tree' name='xmlDocPtr'/>
      <function line='44' file='tree' name='xmlFreeDoc'/>
      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
      <function line='70' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='29' file='parser' name='xmlNewParserCtxt'/>
      <typedef line='25' file='tree' name='xmlParserCtxtPtr'/>
    </uses>
  </example>
  <example filename='parse3.c'>
    <synopsis>Parse an XML document in memory to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse3</usage>
    <test>parse3</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='54' file='parser' name='xmlCleanupParser'/>
      <typedef line='27' file='tree' name='xmlDocPtr'/>
      <function line='38' file='tree' name='xmlFreeDoc'/>
      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='33' file='parser' name='xmlReadMemory'/>
    </uses>
  </example>
  <example filename='parse4.c'>
    <synopsis>Parse an XML document chunk by chunk to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse4 test3.xml</usage>
    <test>parse4 test3.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='14'>&lt;libxml/parser.h&gt;</include>
      <include line='15'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='120' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='131' file='parser' name='xmlCleanupParser'/>
      <function line='67' file='parser' name='xmlCreatePushParserCtxt'/>
      <typedef line='47' file='tree' name='xmlDocPtr'/>
      <function line='103' file='tree' name='xmlFreeDoc'/>
      <function line='94' file='parser' name='xmlFreeParserCtxt'/>
      <function line='135' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='86' file='parser' name='xmlParseChunk'/>
      <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
    </uses>
  </example>
  <example filename='reader1.c'>
    <synopsis>Parse an XML file with an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader1 &lt;filename&gt;</usage>
    <test>reader1 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='94' file='parser' name='xmlCleanupParser'/>
      <function line='69' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='98' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='62' file='xmlreader' name='xmlReaderForFile'/>
      <function line='44' file='xmlstring' name='xmlStrlen'/>
      <function line='29' file='xmlreader' name='xmlTextReaderConstName'/>
      <function line='33' file='xmlreader' name='xmlTextReaderConstValue'/>
      <function line='36' file='xmlreader' name='xmlTextReaderDepth'/>
      <function line='40' file='xmlreader' name='xmlTextReaderHasValue'/>
      <function line='39' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
      <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
      <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='67' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader2.c'>
    <synopsis>Parse and validate an XML file with an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader2 &lt;valid_xml_filename&gt;</usage>
    <test>reader2 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
      <function line='45' file='xmlstring' name='xmlStrlen'/>
      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
      <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
      <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader3.c'>
    <synopsis>Show how to extract subdocuments with xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader3</usage>
    <test>reader3 &gt; reader3.tmp &amp;&amp; diff reader3.tmp $(srcdir)/reader3.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <function line='96' file='tree' name='xmlDocDump'/>
      <function line='66' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='38' file='xmlreader' name='xmlReaderForFile'/>
      <function line='62' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
      <function line='43' file='xmlreader' name='xmlTextReaderPreservePattern'/>
      <typedef line='32' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='52' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader4.c'>
    <synopsis>Parse multiple XML files reusing an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader4 &lt;filename&gt; [ filename ... ]</usage>
    <test>reader4 test1.xml test2.xml test3.xml &gt; reader4.tmp &amp;&amp; diff reader4.tmp $(srcdir)/reader4.res</test>
    <author>Graham Bennett</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <function line='104' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='72' file='xmlreader' name='xmlReaderForFile'/>
      <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
      <function line='97' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
      <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='26' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='testWriter.c'>
    <synopsis>use various APIs for the xmlWriter</synopsis>
    <purpose>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</purpose>
    <usage>testWriter</usage>
    <test>testWriter &amp;&amp; for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done</test>
    <author>Alfred Mickautsch</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlWriter</section>
    <includes>
      <include line='16'>&lt;libxml/encoding.h&gt;</include>
      <include line='17'>&lt;libxml/xmlwriter.h&gt;</include>
    </includes>
    <uses>
      <macro line='885' file='parser' name='XML_DEFAULT_VERSION'/>
      <function line='347' file='tree' name='xmlBufferCreate'/>
      <function line='613' file='tree' name='xmlBufferFree'/>
      <typedef line='341' file='tree' name='xmlBufferPtr'/>
      <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/>
      <function line='901' file='tree' name='xmlDocSetRootElement'/>
      <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/>
      <variable line='1180' file='globals' name='xmlFree'/>
      <function line='1127' file='xmlwriter' name='xmlFreeTextWriter'/>
      <variable line='1166' file='globals' name='xmlMalloc'/>
      <function line='885' file='tree' name='xmlNewDoc'/>
      <function line='894' file='tree' name='xmlNewDocNode'/>
      <function line='632' file='xmlwriter' name='xmlNewTextWriterDoc'/>
      <function line='76' file='xmlwriter' name='xmlNewTextWriterFilename'/>
      <function line='355' file='xmlwriter' name='xmlNewTextWriterMemory'/>
      <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/>
      <typedef line='880' file='tree' name='xmlNodePtr'/>
      <variable line='1183' file='globals' name='xmlRealloc'/>
      <function line='1129' file='tree' name='xmlSaveFileEnc'/>
      <function line='1121' file='xmlwriter' name='xmlTextWriterEndDocument'/>
      <function line='1111' file='xmlwriter' name='xmlTextWriterEndElement'/>
      <typedef line='878' file='xmlwriter' name='xmlTextWriterPtr'/>
      <function line='913' file='xmlwriter' name='xmlTextWriterStartDocument'/>
      <function line='1096' file='xmlwriter' name='xmlTextWriterStartElement'/>
      <function line='949' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
      <function line='925' file='xmlwriter' name='xmlTextWriterWriteComment'/>
      <function line='1103' file='xmlwriter' name='xmlTextWriterWriteElement'/>
      <function line='959' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
      <function line='1073' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
    </uses>
  </example>
  <example filename='tree1.c'>
    <synopsis>Navigates a tree to print element names</synopsis>
    <purpose>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</purpose>
    <usage>tree1 filename_or_URL</usage>
    <test>tree1 test2.xml &gt; tree1.tmp &amp;&amp; diff tree1.tmp $(srcdir)/tree1.res</test>
    <author>Dodji Seketeli</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Tree</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
      <function line='74' file='tree' name='xmlDocGetRootElement'/>
      <function line='67' file='parser' name='xmlReadFile'/>
    </uses>
  </example>
  <example filename='tree2.c'>
    <synopsis>Creates a tree</synopsis>
    <purpose>Shows how to create document, nodes and dump it to stdout or file.</purpose>
    <usage>tree2 &lt;filename&gt;  -Default output: stdout</usage>
    <test>tree2 &gt; tree2.tmp &amp;&amp; diff tree2.tmp $(srcdir)/tree2.res</test>
    <author>Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</author>
    <copy>see Copyright for the status of this software </copy>
    <section>Tree</section>
    <includes>
      <include line='12'>&lt;libxml/parser.h&gt;</include>
      <include line='13'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <function line='77' file='tree' name='xmlAddChild'/>
      <function line='45' file='tree' name='xmlCreateIntSubset'/>
      <function line='40' file='tree' name='xmlDocSetRootElement'/>
      <function line='87' file='tree' name='xmlNewChild'/>
      <function line='38' file='tree' name='xmlNewDoc'/>
      <function line='73' file='tree' name='xmlNewDocNode'/>
      <function line='74' file='tree' name='xmlNewDocText'/>
      <function line='88' file='tree' name='xmlNewProp'/>
      <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
    </uses>
  </example>
  <example filename='xpath1.c'>
    <synopsis>Evaluate XPath expression and prints result node set.</synopsis>
    <purpose>Shows how to evaluate XPath expression and register known namespaces in XPath context.</purpose>
    <usage>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</usage>
    <test>xpath1 test3.xml &apos;//child2&apos; &gt; xpath1.tmp &amp;&amp; diff xpath1.tmp $(srcdir)/xpath1.res</test>
    <author>Aleksey Sanin</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>XPath</section>
    <includes>
      <include line='17'>&lt;libxml/parser.h&gt;</include>
      <include line='16'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xpath.h&gt;</include>
      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
    </includes>
    <uses>
      <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
      <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
      <variable line='193' file='globals' name='xmlFree'/>
      <function line='39' file='parser' name='xmlInitParser'/>
      <typedef line='206' file='tree' name='xmlNodePtr'/>
      <typedef line='218' file='tree' name='xmlNsPtr'/>
      <function line='94' file='parser' name='xmlParseFile'/>
      <function line='180' file='xmlstring' name='xmlStrchr'/>
      <function line='156' file='xmlstring' name='xmlStrdup'/>
      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
      <function line='101' file='xpath' name='xmlXPathNewContext'/>
      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
    </uses>
  </example>
  <example filename='xpath2.c'>
    <synopsis>Load a document, locate subelements with XPath, modify said elements and save the resulting document.</synopsis>
    <purpose>Shows how to make a full round-trip from a load/edit/save</purpose>
    <usage>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</usage>
    <test>xpath2 test3.xml &apos;//discarded&apos; discarded &gt; xpath2.tmp &amp;&amp; diff xpath2.tmp $(srcdir)/xpath2.res</test>
    <author>Aleksey Sanin and Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>XPath</section>
    <includes>
      <include line='17'>&lt;libxml/parser.h&gt;</include>
      <include line='16'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xpath.h&gt;</include>
      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
    </includes>
    <uses>
      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
      <function line='127' file='tree' name='xmlDocDump'/>
      <function line='41' file='parser' name='xmlInitParser'/>
      <function line='162' file='tree' name='xmlNodeSetContent'/>
      <function line='95' file='parser' name='xmlParseFile'/>
      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
      <function line='123' file='xpath' name='xmlXPathFreeObject'/>
      <function line='102' file='xpath' name='xmlXPathNewContext'/>
      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
    </uses>
  </example>
  <symbols>
    <symbol name='LIBXML_TEST_VERSION'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='XML_DEFAULT_VERSION'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='XML_ELEMENT_NODE'>
      <ref filename='tree1.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='XML_NAMESPACE_DECL'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='XML_PARSE_DTDATTR'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='XML_PARSE_DTDVALID'>
      <ref filename='parse2.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='XML_PARSE_NOENT'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlAddChild'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlBufferCreate'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlBufferFree'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlBufferPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlCharEncodingHandlerPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlCleanupParser'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='xmlCreateIntSubset'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlCreatePushParserCtxt'>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlCtxtReadFile'>
      <ref filename='parse2.c'/>
    </symbol>
    <symbol name='xmlDocDump'>
      <ref filename='io1.c'/>
      <ref filename='reader3.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlDocDumpFormatMemory'>
      <ref filename='io2.c'/>
    </symbol>
    <symbol name='xmlDocGetRootElement'>
      <ref filename='tree1.c'/>
    </symbol>
    <symbol name='xmlDocPtr'>
      <ref filename='io1.c'/>
      <ref filename='io2.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlDocSetRootElement'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlFindCharEncodingHandler'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlFree'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlFreeDoc'>
      <ref filename='io1.c'/>
      <ref filename='io2.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlFreeParserCtxt'>
      <ref filename='parse2.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlFreeTextReader'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlFreeTextWriter'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlInitParser'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlMalloc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlMemoryDump'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='xmlNewChild'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDoc'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDocNode'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDocText'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewParserCtxt'>
      <ref filename='parse2.c'/>
    </symbol>
    <symbol name='xmlNewProp'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterDoc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterFilename'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterMemory'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterTree'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNodePtr'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlNodeSetContent'>
      <ref filename='io2.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlNsPtr'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlParseChunk'>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlParseFile'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlParserCtxtPtr'>
      <ref filename='parse2.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlReadFile'>
      <ref filename='parse1.c'/>
      <ref filename='tree1.c'/>
    </symbol>
    <symbol name='xmlReadMemory'>
      <ref filename='io1.c'/>
      <ref filename='parse3.c'/>
    </symbol>
    <symbol name='xmlReaderForFile'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlReaderNewFile'>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlRealloc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlRegisterInputCallbacks'>
      <ref filename='io1.c'/>
    </symbol>
    <symbol name='xmlSaveFileEnc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlSaveFormatFileEnc'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlStrchr'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlStrdup'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlStrlen'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderConstName'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderConstValue'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderCurrentDoc'>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextReaderDepth'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderHasValue'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderIsEmptyElement'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderIsValid'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderNodeType'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderPreservePattern'>
      <ref filename='reader3.c'/>
    </symbol>
    <symbol name='xmlTextReaderPtr'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextReaderRead'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextWriterEndDocument'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterEndElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterStartDocument'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterStartElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteAttribute'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteComment'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteFormatComment'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteFormatElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlXIncludeProcess'>
      <ref filename='io1.c'/>
    </symbol>
    <symbol name='xmlXPathContextPtr'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathEvalExpression'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathFreeContext'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathFreeObject'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathNewContext'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathObjectPtr'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathRegisterNs'>
      <ref filename='xpath1.c'/>
    </symbol>
  </symbols>
  <sections>
    <section name='InputOutput'>
      <example filename='io1.c'/>
      <example filename='io2.c'/>
    </section>
    <section name='Parsing'>
      <example filename='parse1.c'/>
      <example filename='parse2.c'/>
      <example filename='parse3.c'/>
      <example filename='parse4.c'/>
    </section>
    <section name='Tree'>
      <example filename='tree1.c'/>
      <example filename='tree2.c'/>
    </section>
    <section name='XPath'>
      <example filename='xpath1.c'/>
      <example filename='xpath2.c'/>
    </section>
    <section name='xmlReader'>
      <example filename='reader1.c'/>
      <example filename='reader2.c'/>
      <example filename='reader3.c'/>
      <example filename='reader4.c'/>
    </section>
    <section name='xmlWriter'>
      <example filename='testWriter.c'/>
    </section>
  </sections>
</examples>
share/doc/alt-libxml2-devel/examples/parse3.c000064400000002736150505765750015045 0ustar00/**
 * section: Parsing
 * synopsis: Parse an XML document in memory to a tree and free it
 * purpose: Demonstrate the use of xmlReadMemory() to read an XML file
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse3
 * test: parse3
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

static const char *document = "<doc/>";

/**
 * example3Func:
 * @content: the content of the document
 * @length: the length in bytes
 *
 * Parse the in memory document and free the resulting tree
 */
static void
example3Func(const char *content, int length) {
    xmlDocPtr doc; /* the resulting document tree */

    /*
     * The document being in memory, it have no base per RFC 2396,
     * and the "noname.xml" argument will serve as its base.
     */
    doc = xmlReadMemory(content, length, "noname.xml", NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse document\n");
	return;
    }
    xmlFreeDoc(doc);
}

int main(void) {
    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    example3Func(document, 6);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
share/doc/alt-libxml2-devel/examples/parse4.c000064400000006725150505765760015051 0ustar00/**
 * section: Parsing
 * synopsis: Parse an XML document chunk by chunk to a tree and free it
 * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and
 *          xmlParseChunk() to read an XML file progressively
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse4 test3.xml
 * test: parse4 test3.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#ifdef LIBXML_PUSH_ENABLED
static FILE *desc;

/**
 * readPacket:
 * @mem: array to store the packet
 * @size: the packet size
 *
 * read at most @size bytes from the document and store it in @mem
 *
 * Returns the number of bytes read
 */
static int
readPacket(char *mem, int size) {
    int res;

    res = fread(mem, 1, size, desc);
    return(res);
}

/**
 * example4Func:
 * @filename: a filename or an URL
 *
 * Parse the resource and free the resulting tree
 */
static void
example4Func(const char *filename) {
    xmlParserCtxtPtr ctxt;
    char chars[4];
    xmlDocPtr doc; /* the resulting document tree */
    int res;

    /*
     * Read a few first byte to check the input used for the
     * encoding detection at the parser level.
     */
    res = readPacket(chars, 4);
    if (res <= 0) {
        fprintf(stderr, "Failed to parse %s\n", filename);
	return;
    }

    /*
     * Create a progressive parsing context, the 2 first arguments
     * are not used since we want to build a tree and not use a SAX
     * parsing interface. We also pass the first bytes of the document
     * to allow encoding detection when creating the parser but this
     * is optional.
     */
    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
                                   chars, res, filename);
    if (ctxt == NULL) {
        fprintf(stderr, "Failed to create parser context !\n");
	return;
    }

    /*
     * loop on the input getting the document data, of course 4 bytes
     * at a time is not realistic but allows to verify testing on small
     * documents.
     */
    while ((res = readPacket(chars, 4)) > 0) {
        xmlParseChunk(ctxt, chars, res, 0);
    }

    /*
     * there is no more input, indicate the parsing is finished.
     */
    xmlParseChunk(ctxt, chars, 0, 1);

    /*
     * collect the document back and if it was wellformed
     * and destroy the parser context.
     */
    doc = ctxt->myDoc;
    res = ctxt->wellFormed;
    xmlFreeParserCtxt(ctxt);

    if (!res) {
        fprintf(stderr, "Failed to parse %s\n", filename);
    }

    /*
     * since we don't use the document, destroy it now.
     */
    xmlFreeDoc(doc);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * simulate a progressive parsing using the input file.
     */
    desc = fopen(argv[1], "rb");
    if (desc != NULL) {
	example4Func(argv[1]);
	fclose(desc);
    } else {
        fprintf(stderr, "Failed to parse %s\n", argv[1]);
    }

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else /* ! LIBXML_PUSH_ENABLED */
int main(int argc, char **argv) {
    fprintf(stderr, "Library not compiled with push parser support\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/Makefile.in000064400000076162150505765760015556 0ustar00# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2021 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \
	parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \
	reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \
	reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \
	tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT)
subdir = doc/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am_io1_OBJECTS = io1.$(OBJEXT)
io1_OBJECTS = $(am_io1_OBJECTS)
io1_LDADD = $(LDADD)
io1_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
am_io2_OBJECTS = io2.$(OBJEXT)
io2_OBJECTS = $(am_io2_OBJECTS)
io2_LDADD = $(LDADD)
io2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse1_OBJECTS = parse1.$(OBJEXT)
parse1_OBJECTS = $(am_parse1_OBJECTS)
parse1_LDADD = $(LDADD)
parse1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse2_OBJECTS = parse2.$(OBJEXT)
parse2_OBJECTS = $(am_parse2_OBJECTS)
parse2_LDADD = $(LDADD)
parse2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse3_OBJECTS = parse3.$(OBJEXT)
parse3_OBJECTS = $(am_parse3_OBJECTS)
parse3_LDADD = $(LDADD)
parse3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse4_OBJECTS = parse4.$(OBJEXT)
parse4_OBJECTS = $(am_parse4_OBJECTS)
parse4_LDADD = $(LDADD)
parse4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader1_OBJECTS = reader1.$(OBJEXT)
reader1_OBJECTS = $(am_reader1_OBJECTS)
reader1_LDADD = $(LDADD)
reader1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader2_OBJECTS = reader2.$(OBJEXT)
reader2_OBJECTS = $(am_reader2_OBJECTS)
reader2_LDADD = $(LDADD)
reader2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader3_OBJECTS = reader3.$(OBJEXT)
reader3_OBJECTS = $(am_reader3_OBJECTS)
reader3_LDADD = $(LDADD)
reader3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader4_OBJECTS = reader4.$(OBJEXT)
reader4_OBJECTS = $(am_reader4_OBJECTS)
reader4_LDADD = $(LDADD)
reader4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_testWriter_OBJECTS = testWriter.$(OBJEXT)
testWriter_OBJECTS = $(am_testWriter_OBJECTS)
testWriter_LDADD = $(LDADD)
testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree1_OBJECTS = tree1.$(OBJEXT)
tree1_OBJECTS = $(am_tree1_OBJECTS)
tree1_LDADD = $(LDADD)
tree1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree2_OBJECTS = tree2.$(OBJEXT)
tree2_OBJECTS = $(am_tree2_OBJECTS)
tree2_LDADD = $(LDADD)
tree2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath1_OBJECTS = xpath1.$(OBJEXT)
xpath1_OBJECTS = $(am_xpath1_OBJECTS)
xpath1_LDADD = $(LDADD)
xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath2_OBJECTS = xpath2.$(OBJEXT)
xpath2_OBJECTS = $(am_xpath2_OBJECTS)
xpath2_LDADD = $(LDADD)
xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \
	./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \
	./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \
	./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \
	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \
	./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \
	./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \
	./$(DEPDIR)/xpath2.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
C14N_OBJ = @C14N_OBJ@
CATALOG_OBJ = @CATALOG_OBJ@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
DEBUG_OBJ = @DEBUG_OBJ@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
FGREP = @FGREP@
FTP_OBJ = @FTP_OBJ@
GREP = @GREP@
HTML_OBJ = @HTML_OBJ@
HTTP_OBJ = @HTTP_OBJ@
ICONV_LIBS = @ICONV_LIBS@
ICU_CFLAGS = @ICU_CFLAGS@
ICU_DEFS = @ICU_DEFS@
ICU_LIBS = @ICU_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
LIBXML_VERSION = @LIBXML_VERSION@
LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
LZMA_CFLAGS = @LZMA_CFLAGS@
LZMA_LIBS = @LZMA_LIBS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULE_EXTENSION = @MODULE_EXTENSION@
MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
MV = @MV@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PYTHON = @PYTHON@
PYTHON_CFLAGS = @PYTHON_CFLAGS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_TESTS = @PYTHON_TESTS@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RDL_LIBS = @RDL_LIBS@
RELDATE = @RELDATE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
TEST_CATALOG = @TEST_CATALOG@
TEST_DEBUG = @TEST_DEBUG@
TEST_REGEXPS = @TEST_REGEXPS@
TEST_SCHEMATRON = @TEST_SCHEMATRON@
TEST_VALID = @TEST_VALID@
TEST_VTIME = @TEST_VTIME@
THREAD_CFLAGS = @THREAD_CFLAGS@
THREAD_LIBS = @THREAD_LIBS@
VERSION = @VERSION@
VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
WGET = @WGET@
WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@
WITH_C14N = @WITH_C14N@
WITH_CATALOG = @WITH_CATALOG@
WITH_DEBUG = @WITH_DEBUG@
WITH_FTP = @WITH_FTP@
WITH_HTML = @WITH_HTML@
WITH_HTTP = @WITH_HTTP@
WITH_ICONV = @WITH_ICONV@
WITH_ICU = @WITH_ICU@
WITH_ISO8859X = @WITH_ISO8859X@
WITH_LEGACY = @WITH_LEGACY@
WITH_LZMA = @WITH_LZMA@
WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
WITH_MODULES = @WITH_MODULES@
WITH_OUTPUT = @WITH_OUTPUT@
WITH_PATTERN = @WITH_PATTERN@
WITH_PUSH = @WITH_PUSH@
WITH_READER = @WITH_READER@
WITH_REGEXPS = @WITH_REGEXPS@
WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
WITH_SAX1 = @WITH_SAX1@
WITH_SCHEMAS = @WITH_SCHEMAS@
WITH_SCHEMATRON = @WITH_SCHEMATRON@
WITH_THREADS = @WITH_THREADS@
WITH_THREAD_ALLOC = @WITH_THREAD_ALLOC@
WITH_TREE = @WITH_TREE@
WITH_TRIO = @WITH_TRIO@
WITH_VALID = @WITH_VALID@
WITH_WRITER = @WITH_WRITER@
WITH_XINCLUDE = @WITH_XINCLUDE@
WITH_XPATH = @WITH_XPATH@
WITH_XPTR = @WITH_XPTR@
WITH_XPTR_LOCS = @WITH_XPTR_LOCS@
WITH_ZLIB = @WITH_ZLIB@
XINCLUDE_OBJ = @XINCLUDE_OBJ@
XMLLINT = @XMLLINT@
XML_CFLAGS = @XML_CFLAGS@
XML_INCLUDEDIR = @XML_INCLUDEDIR@
XML_LIBDIR = @XML_LIBDIR@
XML_LIBS = @XML_LIBS@
XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
XML_PRIVATE_LIBS = @XML_PRIVATE_LIBS@
XPATH_OBJ = @XPATH_OBJ@
XPTR_OBJ = @XPTR_OBJ@
XSLTPROC = @XSLTPROC@
Z_CFLAGS = @Z_CFLAGS@
Z_LIBS = @Z_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la
CLEANFILES = *.tmp
EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

io1_SOURCES = io1.c
io2_SOURCES = io2.c
parse1_SOURCES = parse1.c
parse2_SOURCES = parse2.c
parse3_SOURCES = parse3.c
parse4_SOURCES = parse4.c
reader1_SOURCES = reader1.c
reader2_SOURCES = reader2.c
reader3_SOURCES = reader3.c
reader4_SOURCES = reader4.c
testWriter_SOURCES = testWriter.c
tree1_SOURCES = tree1.c
tree2_SOURCES = tree2.c
xpath1_SOURCES = xpath1.c
xpath2_SOURCES = xpath2.c
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/examples/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign doc/examples/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) 
	@rm -f io1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS)

io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) 
	@rm -f io2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS)

parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) 
	@rm -f parse1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS)

parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) 
	@rm -f parse2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS)

parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) 
	@rm -f parse3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS)

parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) 
	@rm -f parse4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS)

reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) 
	@rm -f reader1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS)

reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) 
	@rm -f reader2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS)

reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) 
	@rm -f reader3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS)

reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) 
	@rm -f reader4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS)

testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) 
	@rm -f testWriter$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS)

tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) 
	@rm -f tree1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS)

tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) 
	@rm -f tree2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS)

xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) 
	@rm -f xpath1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS)

xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) 
	@rm -f xpath2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse3.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse4.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader3.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader4.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testWriter.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath2.Po@am__quote@ # am--include-marker

$(am__depfiles_remade):
	@$(MKDIR_P) $(@D)
	@echo '# dummy' >$@-t && $(am__mv) $@-t $@

am--depfiles: $(am__depfiles_remade)

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
	mostlyclean-am

distclean: distclean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-local

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
	check-local clean clean-checkPROGRAMS clean-generic \
	clean-libtool clean-local cscopelist-am ctags ctags-am \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-data-local install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-local

.PRECIOUS: Makefile


rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
share/doc/alt-libxml2-devel/examples/test3.xml000064400000001501150505765760015256 0ustar00<doc>
  <parent>
    <discarded>
      <discarded/>
    </discarded>
    <preserved/>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    <preserved>
      content1
      <child1></child1>
      <child2>content2</child2>
      <preserved>too</preserved>
      <child2>content3</child2>
      <preserved></preserved>
      <child2>content4</child2>
      <preserved/>
      <child2>content5</child2>
      content6
    </preserved>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    This text node must be discarded
    <preserved></preserved>
    This text node must be discarded
    <preserved/>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    This text node must be discarded
  </parent>
</doc>

      
share/doc/alt-libxml2-devel/examples/index.py000064400000021711150505765770015161 0ustar00#!/usr/bin/env python
#
# Indexes the examples and build an XML description
#
import glob
import sys
try:
    import libxml2
except:
    print("libxml2 python bindings not available")
    sys.exit(1)
sys.path.insert(0, "..")
from apibuild import CParser, escape

examples = []
extras = ['examples.xsl', 'index.html', 'index.py']
tests = []
sections = {}
symbols = {}
api_dict = None
api_doc = None

def load_api():
    global api_dict
    global api_doc

    if api_dict != None:
        return
    api_dict = {}
    try:
        print("loading ../libxml2-api.xml")
        api_doc = libxml2.parseFile("../libxml2-api.xml")
    except:
        print("failed to parse ../libxml2-api.xml")
        sys.exit(1)

def find_symbol(name):
    global api_dict
    global api_doc

    if api_doc == None:
        load_api()

    if name == None:
        return
    if name in api_dict:
        return api_dict[name]
    ctxt = api_doc.xpathNewContext()
    res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name))
    if type(res) == type([]) and len(res) >= 1:
        if len(res) > 1:
            print("Found %d references to %s in the API" % (len(res), name))
        node = res[0]
        typ = node.name
        file = node.xpathEval("string(@file)")
        info = node.xpathEval("string(info)")
    else:
        print("Reference %s not found in the API" % (name))
        return None
    ret = (typ, file, info)
    api_dict[name] = ret
    return ret

def parse_top_comment(filename, comment):
    res = {}
    lines = comment.split("\n")
    item = None
    for line in lines:
        while line != "" and (line[0] == ' ' or line[0] == '\t'):
            line = line[1:]
        while line != "" and line[0] == '*':
            line = line[1:]
        while line != "" and (line[0] == ' ' or line[0] == '\t'):
            line = line[1:]
        try:
            (it, line) = line.split(":", 1)
            item = it
            while line != "" and (line[0] == ' ' or line[0] == '\t'):
                line = line[1:]
            if item in res:
                res[item] = res[item] + " " + line
            else:
                res[item] = line
        except:
            if item != None:
                if item in res:
                    res[item] = res[item] + " " + line
                else:
                    res[item] = line
    return res

def parse(filename, output):
    global symbols
    global sections

    parser = CParser(filename)
    parser.collect_references()
    idx = parser.parse()
    info = parse_top_comment(filename, parser.top_comment)
    output.write("  <example filename='%s'>\n" % filename)
    try:
        synopsis = info['synopsis']
        output.write("    <synopsis>%s</synopsis>\n" % escape(synopsis));
    except:
        print("Example %s lacks a synopsis description" % (filename))
    try:
        purpose = info['purpose']
        output.write("    <purpose>%s</purpose>\n" % escape(purpose));
    except:
        print("Example %s lacks a purpose description" % (filename))
    try:
        usage = info['usage']
        output.write("    <usage>%s</usage>\n" % escape(usage));
    except:
        print("Example %s lacks an usage description" % (filename))
    try:
        test = info['test']
        output.write("    <test>%s</test>\n" % escape(test));
        progname=filename[0:-2]
        command=test.replace(progname, './' + progname, 1)
        tests.append(command)
    except:
        pass
    try:
        author = info['author']
        output.write("    <author>%s</author>\n" % escape(author));
    except:
        print("Example %s lacks an author description" % (filename))
    try:
        copy = info['copy']
        output.write("    <copy>%s</copy>\n" % escape(copy));
    except:
        print("Example %s lacks a copyright description" % (filename))
    try:
        section = info['section']
        output.write("    <section>%s</section>\n" % escape(section));
        if section in sections:
            sections[section].append(filename)
        else:
            sections[section] = [filename]
    except:
        print("Example %s lacks a section description" % (filename))
    for topic in sorted(info.keys()):
        if topic != "purpose" and topic != "usage" and \
           topic != "author" and topic != "copy" and \
           topic != "section" and topic != "synopsis" and topic != "test":
            str = info[topic]
            output.write("    <extra topic='%s'>%s</extra>\n" % (
                         escape(topic), escape(str)))
    output.write("    <includes>\n")
    for include in sorted(idx.includes.keys()):
        if include.find("libxml") != -1:
            id = idx.includes[include]
            line = id.get_lineno()
            output.write("      <include line='%d'>%s</include>\n" %
                         (line, escape(include)))
    output.write("    </includes>\n")
    output.write("    <uses>\n")
    for ref in sorted(idx.references.keys()):
        id = idx.references[ref]
        name = id.get_name()
        line = id.get_lineno()
        if name in symbols:
            sinfo = symbols[name]
            refs = sinfo[0]
            # gather at most 5 references per symbols
            if refs > 5:
                continue
            sinfo.append(filename)
            sinfo[0] = refs + 1
        else:
            symbols[name] = [1, filename]
        info = find_symbol(name)
        if info != None:
            type = info[0]
            file = info[1]
            output.write("      <%s line='%d' file='%s' name='%s'/>\n" % (type,
                         line, file, name))
        else:
            type = id.get_type()
            output.write("      <%s line='%d' name='%s'/>\n" % (type,
                         line, name))

    output.write("    </uses>\n")
    output.write("  </example>\n")

    return idx

def dump_symbols(output):
    global symbols

    output.write("  <symbols>\n")
    for symbol in sorted(symbols.keys()):
        output.write("    <symbol name='%s'>\n" % (symbol))
        info = symbols[symbol]
        i = 1
        while i < len(info):
            output.write("      <ref filename='%s'/>\n" % (info[i]))
            i = i + 1
        output.write("    </symbol>\n")
    output.write("  </symbols>\n")

def dump_sections(output):
    global sections

    output.write("  <sections>\n")
    for section in sorted(sections.keys()):
        output.write("    <section name='%s'>\n" % (section))
        info = sections[section]
        i = 0
        while i < len(info):
            output.write("      <example filename='%s'/>\n" % (info[i]))
            i = i + 1
        output.write("    </section>\n")
    output.write("  </sections>\n")

def dump_Makefile():
    for file in glob.glob('*.xml'):
        extras.append(file)
    for file in glob.glob('*.res'):
        extras.append(file)
    Makefile="""##
## This file is auto-generated by index.py
## DO NOT EDIT !!!
##

AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la

CLEANFILES = *.tmp

rebuild:
\tcd $(srcdir) && $(PYTHON) index.py
\t$(MAKE) Makefile
\tcd $(srcdir) && xsltproc examples.xsl examples.xml
\t-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
\t$(MKDIR_P) $(DESTDIR)$(docdir)/examples
\t-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

clean-local:
\ttest -f Makefile.am || rm -f test?.xml

"""
    examples.sort()
    extras.sort()
    tests.sort()
    EXTRA_DIST=""
    for extra in extras:
        EXTRA_DIST = EXTRA_DIST + " \\\n\t" + extra
    Makefile = Makefile + "EXTRA_DIST =%s\n\n" % (EXTRA_DIST)
    check_PROGRAMS=""
    for example in examples:
        check_PROGRAMS = check_PROGRAMS + " \\\n\t" + example
    Makefile = Makefile + "check_PROGRAMS =%s\n\n" % (check_PROGRAMS)
    for example in examples:
        Makefile = Makefile + "%s_SOURCES = %s.c\n\n" % (example, example)
    Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n"
    Makefile = Makefile + "tests: $(check_PROGRAMS)\n"
    Makefile = Makefile + "\t@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .\n"
    Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
    Makefile = Makefile + "\t@(echo > .memdump)\n"
    for test in tests:
        Makefile = Makefile + "\t@$(CHECKER) %s\n" % (test)
        Makefile = Makefile + '\t@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0\n'
    Makefile = Makefile + "\t@rm *.tmp\n"
    try:
        old = open("Makefile.am", "r").read()
        if old != Makefile:
            n = open("Makefile.am", "w").write(Makefile)
            print("Updated Makefile.am")
    except:
        print("Failed to read or save Makefile.am")

if __name__ == "__main__":
    load_api()
    output = open("examples.xml", "w")
    output.write("<examples>\n")

    for file in sorted(glob.glob('*.c')):
        parse(file, output)
        examples.append(file[:-2])

    dump_symbols(output)
    dump_sections(output)
    output.write("</examples>\n")
    output.close()
    #dump_Makefile()

share/doc/alt-libxml2-devel/examples/io1000075500000017331150505765770014121 0ustar00#! /bin/sh

# io1 - temporary wrapper script for .libs/io1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The io1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "io1:io1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "io1:io1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "io1:io1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'io1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/io1.c000064400000007253150505765770014341 0ustar00/**
 * section: InputOutput
 * synopsis: Example of custom Input/Output
 * purpose: Demonstrate the use of xmlRegisterInputCallbacks
 *          to build a custom I/O layer, this is used in an
 *          XInclude method context to show how dynamic document can
 *          be built in a clean way.
 * usage: io1
 * test: io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libxml/xinclude.h>
#include <libxml/xmlIO.h>

#ifdef LIBXML_XINCLUDE_ENABLED
static const char *result = "<list><people>a</people><people>b</people></list>";
static const char *cur = NULL;
static int rlen;

/**
 * sqlMatch:
 * @URI: an URI to test
 *
 * Check for an sql: query
 *
 * Returns 1 if yes and 0 if another Input module should be used
 */
static int
sqlMatch(const char * URI) {
    if ((URI != NULL) && (!strncmp(URI, "sql:", 4)))
        return(1);
    return(0);
}

/**
 * sqlOpen:
 * @URI: an URI to test
 *
 * Return a pointer to the sql: query handler, in this example simply
 * the current pointer...
 *
 * Returns an Input context or NULL in case or error
 */
static void *
sqlOpen(const char * URI) {
    if ((URI == NULL) || (strncmp(URI, "sql:", 4)))
        return(NULL);
    cur = result;
    rlen = strlen(result);
    return((void *) cur);
}

/**
 * sqlClose:
 * @context: the read context
 *
 * Close the sql: query handler
 *
 * Returns 0 or -1 in case of error
 */
static int
sqlClose(void * context) {
    if (context == NULL) return(-1);
    cur = NULL;
    rlen = 0;
    return(0);
}

/**
 * sqlRead:
 * @context: the read context
 * @buffer: where to store data
 * @len: number of bytes to read
 *
 * Implement an sql: query read.
 *
 * Returns the number of bytes read or -1 in case of error
 */
static int
sqlRead(void * context, char * buffer, int len) {
   const char *ptr = (const char *) context;

   if ((context == NULL) || (buffer == NULL) || (len < 0))
       return(-1);

   if (len > rlen) len = rlen;
   memcpy(buffer, ptr, len);
   rlen -= len;
   return(len);
}

const char *include = "<?xml version='1.0'?>\n\
<document xmlns:xi=\"http://www.w3.org/2003/XInclude\">\n\
  <p>List of people:</p>\n\
  <xi:include href=\"sql:select_name_from_people\"/>\n\
</document>\n";

int main(void) {
    xmlDocPtr doc;

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * register the new I/O handlers
     */
    if (xmlRegisterInputCallbacks(sqlMatch, sqlOpen, sqlRead, sqlClose) < 0) {
        fprintf(stderr, "failed to register SQL handler\n");
	exit(1);
    }
    /*
     * parse include into a document
     */
    doc = xmlReadMemory(include, strlen(include), "include.xml", NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "failed to parse the including file\n");
	exit(1);
    }

    /*
     * apply the XInclude process, this should trigger the I/O just
     * registered.
     */
    if (xmlXIncludeProcess(doc) <= 0) {
        fprintf(stderr, "XInclude processing failed\n");
	exit(1);
    }

#ifdef LIBXML_OUTPUT_ENABLED
    /*
     * save the output for checking to stdout
     */
    xmlDocDump(stdout, doc);
#endif

    /*
     * Free the document
     */
    xmlFreeDoc(doc);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/Makefile.am000064400000006163150505765770015540 0ustar00AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la

CLEANFILES = *.tmp

rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

check_PROGRAMS = \
	io1 \
	io2 \
	parse1 \
	parse2 \
	parse3 \
	parse4 \
	reader1 \
	reader2 \
	reader3 \
	reader4 \
	testWriter \
	tree1 \
	tree2 \
	xpath1 \
	xpath2

io1_SOURCES = io1.c

io2_SOURCES = io2.c

parse1_SOURCES = parse1.c

parse2_SOURCES = parse2.c

parse3_SOURCES = parse3.c

parse4_SOURCES = parse4.c

reader1_SOURCES = reader1.c

reader2_SOURCES = reader2.c

reader3_SOURCES = reader3.c

reader4_SOURCES = reader4.c

testWriter_SOURCES = testWriter.c

tree1_SOURCES = tree1.c

tree2_SOURCES = tree2.c

xpath1_SOURCES = xpath1.c

xpath2_SOURCES = xpath2.c

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp
share/doc/alt-libxml2-devel/examples/reader1.o000064400000060040150505766000015164 0ustar00ELF>�Q@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AW�
RAVAUATUSH��H���H�C1�1�H��H�$�H��H���-fDH�������H���H��H��H��H�HD��H��I���H��A���H��A���H��A���H��E��I��AU��D��H�5�1��XZM��t@L���L��(~H�5�1���O���H�5�1���7����
��(���H�߉D$��D$��u��H��1�[]A\A]A^A_�H�$H�=H�1�����H�$H�=H�1����--%d %d %s %d %d %.40s...
 %s
%s : failed to parse
Unable to open %s
{	�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��
9*C
B36<CK)
MW]CqC)
W}�����*�*�K�
�qc�j��Na��NaN	Y�".;B
�HT`m$#1~�U1T	RXvY~m-
~~�U1T	Q|m/�~�U1T	m*~�U:�/Us�GUs�_Us�wUs	�Us	�Us	U|� G
��(	T1Q	Rw� J	~�
��(	T1Q	Rw4	�UwT0Q0A	�UsM	UsY	�U

R e	 r	�!:;":�#;�$ret<	a!m"�#�#�%ka�"k �&%da�"d�"d<�&'\(�
)'�'�'�'�'�'�'	U'Z*I'�'v'
*9'
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'I'I.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B1R�BXYW��1���B��111 ��1!.:;9' ":;9I#4:;9I$4:;9I%.?:;9'I 4&'.?<n:;9(6).?<n:;*.?<n:;9U�U�TS�T�Pw��wwPSSPSP1�P����SSPVVP\Q\
�
�
��
�,��U�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>!	�K�!j 	.!wX	�!w	JZeJtaJX=	�	�
�X
�::=tL
Z
:>X��
J��.	[

���<
Y>
tB<
.
VgX�
�	XtY�\YI/ 
c�
�.	d
<�_IO_buf_endxmlMallocAtomic__printf_chkxmlReallocFuncxmlFreesys_nerr__fprintf_chkshort intsize_txmlMemStrdup_offsetputchar_freeres_listxmlCheckVersionxmlTextReaderNodeType_IO_write_ptr_flags_IO_buf_base_freeres_bufxmlTextReaderConstNamevaluexmlFreeFuncxmlTextReaderHasValue/builddir/build/BUILD/libxml2-2.10.2/doc/examplesfilenameargv_IO_read_endxmlMallocstderrGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlTextReader_locklong intprintf_cur_column_markersfprintfxmlChar_IO_write_basereadername_vtable_offset_IO_FILElong doubleunsigned charargcsigned char_codecvtlong long unsigned intxmlStrlenunsigned int_IO_marker_shortbufxmlTextReaderPtr_old_offset_chain_unused2_IO_read_ptrshort unsigned intxmlReaderForFilexmlFreeTextReadercharreader1.cmainxmlTextReaderConstValue_wide_dataxmlTextReaderRead__pad5__builtin_putcharxmlStrdupFunc_IO_codecvt__fmtlong unsigned int_IO_save_end_IO_write_end__off64_t_filenoxmlRealloc__off_tstreamFile_IO_backup_basestdin_flags2_mode_IO_read_basexmlTextReaderIsEmptyElement_IO_wide_dataxmlMallocFunc_IO_save_basesys_errlistFILEprocessNodexmlTextReaderDepth__stream_xmlTextReaderxmlCleanupParserxmlMemoryDumpstdoutlong long int_IO_lock_tGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�T�Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBA
�	-+B.]y/��0��1�!#%'./0123-4-27<A"F8KWg|�()*+,�������4Pfy�������.annobin_reader1.c.annobin_reader1.c_end.annobin_reader1.c.hot.annobin_reader1.c_end.hot.annobin_reader1.c.unlikely.annobin_reader1.c_end.unlikely.annobin_reader1.c.startup.annobin_reader1.c_end.startup.annobin_reader1.c.exit.annobin_reader1.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk ) # $ % &**�&C��������:D��������TE��������eF��������u,��������~G���������H���������I���������J���������K���������-���������L���������M���������.���������L��������/��������L��������N��������0O��������=P��������BQ��������^R��������e0��������qS��������~R���������1���������S��������

"�
"�
"'
 �%
!*
"a8
"I?
"5H
"�O
"�V
"�]
"Wk
"xp
"�|
"v�
"��
"��
"��
"��
"g�
"��
"��
"��
"h
"�
"
")
"�6
"[C
"�P
"t]
"�j
"�w
"h�
"��
"��
"M�
"r�
"u�
"�
"��
"��
"��
"
"�
"{!
"*-
"�5
"B\
"7g
"��
"��
"��
"~�
"@�
"�
"�
"�	
"�
"+
"L
")r
")�
"�
"t�
"�
"��
"8�
"h�
"d�
"W�
"W�
"�*
"�&
*
/
"b:
C>
=G*9P
 `
�d
�i
 r
v


��
��*a�
 @�
�
�
 @�
D�
>�
��
��*��*��
��
��*�6*�?
 pO
!S
X*�n�*�*�
O�
M�*��*�*�
}�
{*#*i0*�H*�`*�x*��*��*��*W�*W�
��
��*u"!*w**wH8W*�m8*>�*X�*4�**�*A�*F

"�
"Y#
"�<
"/I
"�U
"�a
"�n
"�
"C�
"��
"N�
"C�
"�
"�
"}�
"�
"��
"��
"��
"��
"�
"�
"��
"�	
"�		
"�	
";	
";	
"+!	
"+)	
"I-	
"I5	
"�9	
"�B	
"�F	
"�N	
"�R	
"�Z	
"�^	
"�f	
"fj	
"fs	
"ww	
"w****�C*K*)V*)^*Ai*Aq*��*9�*=�*=�*��*��*��*��*<�*W�*�*A*J**J2*M=*WE*wP*wX*�c*�k*��*X�*a�*a�*(�*(�*3�*3�*<�*W�*w*a**#*(D*rL*yW*y_*j*r*(�*��*��*��*�*�*�*�*(�*��*�!*�)*4O*W*b}*�*(�
��*W�*w�"
**.*5*9*< *W(*�@*aH*P*X*(p*�x*��*��*�*�*�d* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@62*P63*h64*�(65*�66�!�'�1��,@x106	G�V��Q@�106ph�h�@�106<�<��@206����@8206��	8�@h206 �@�2�6,2�K@
	;@ 5�6L�._��Z@�F�6o�0j@�M06!���~@�M�6#�r��@xO6%�0U ��0�%.�(&(&p(&G(&(&�(&�(&�(&�(&�(&(&  H&p@�O64�&�7A	�.��O1share/doc/alt-libxml2-devel/examples/io2.o000064400000054050150505766000014336 0ustar00ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��UH�=SH��(dH�%(H�D$1��1�H�1�H��H���H�5H��H���H��H����H�T$H��H�t$�H�T$H�51���H�|$�H���H�L$dH3%(u	H��(1�[]��1.0rootcontent%s��5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� ����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�2(
��0
��8doc
�2@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'2
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
02@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�e0
��
��
�K
��
��
�C 
�2(Xe`
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
�CX�
��
���
%�
&��F��C9�B3		C	)M'	-	CA	C)WM	S	�b	������	���A	a��7n�doc���P	a�L7%W
HV U1 T	!bv
 U	!o�
 Us T0 Q	 R0!|�
 Uv T	!��
 Us Tv!� Us T�P Q�L R1!�) Us"�#kaV$k �%&\'

'
<'
%'
�'
�'
(%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<!7I>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B4:;9I�B4:;9I1R�BXYW1�B��1 ���B!��1"��1#.?:;9'I 4$:;9I%&.?<n:;9'.?<n:;9(.?<nPVVPSS
�,��"�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.h	
XvtX�	Y�=	Y	s=��g�
t���f  printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTstdoutnsDefxmlbuff_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offsetbuffersizexmlCharcompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYnamesys_nerrcharsetxmlNodeSetContentshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modexmlDocDumpFormatMemoryXML_PI_NODEXML_ATTRIBUTE_IDprefix_codecvtstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDict_offsetio2.cXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSxmlNewDocNode_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODEcontext_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,�E�H�D@�
CAA
�	-#6.Me/��0��1���!#%'./0123-4
	%5J^()*+,o�t��������.annobin_io2.c.annobin_io2.c_end.annobin_io2.c.hot.annobin_io2.c_end.hot.annobin_io2.c.unlikely.annobin_io2.c_end.unlikely.annobin_io2.c.startup.annobin_io2.c_end.startup.annobin_io2.c.exit.annobin_io2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlNewDocxmlNewDocNodexmlNodeSetContentxmlDocSetRootElementxmlDocDumpFormatMemory__printf_chkxmlFreexmlFreeDoc__stack_chk_fail ) # $ % &**�,��������"A��������+-��������8B��������?.��������JC��������UD��������lE��������x/���������F���������G���������H���������I��������

"(
"�
"1
 %
!*
"c8
"x?
"(H
"RO
"�V
"]
"~k
"6p
"|
"��
"s�
"��
"L�
"�
" �
"��
"4�
"��
"�
"�
"S
")
"�6
"�C
")P
"]
"j
"@w
"��
"��
"��
"o�
":�
"��
"��
"��
"��
"5�
"$
"H
"N!
"�-
"�5
"\
"vg
"��
"_�
"��
"W�
"��
"�
"�	
"�
"I
"�
"-!
"�'
"
-
"e3
"�9
"?
"�E
"�K
"Q
"^W
"`]
"c
"�i
"o
"yu
"�{
"e�
"��
"Y�
"q�
"�
"+�
"��
"�
"C�
"
�
"��
"X�
"��
"��
"�
"�
"�#
"I1
"?
"EM
"j[
"��
"��
""�
"��
"��
"��
"��
"2�
"��
"�	
"�
"I%
"3
"EA
"jO
"�k
"�y
"��
"�
"u�
"��
"��
"��
"�
"��
"��
"�
"I
"(
"E6
"jD
"�`
"�n
"�|
"��
"��
"?�
"m�
"-�
"2�
"��
"D
"�
"h$
"";
"B
"\G
"xL
"?Y
"f
"�t
"j�
"��
"��
"��
"��
"��
"o�
"��
"��
"�

"I
")
"E7
"jE
"�n
"�|
"��
" �
"��
"Q�
"��
"��
"��
"u	
"BB	
"#c	
"o	
"�{	
"��	
"7�	
"��	
"/�	*�	
�	
�	
U�	
O�	
"��	
"�	
*p
*p.

�2

�7
*�M
X
*&m
w
*<�
�
*N�
	�
*Y�
*p*�**�8
"I
"W
"�[
"�c
"(g
"(p
"@t
"@}
"��
"��
"��
"��
"N�
"N�
"��
"��
"��
"�*F*M*M!*�,*�4*�U*7]*;h*;p*�{*��*��*p�*��
***�1* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@60*P61*h62*�(63*�64�!�'�1��,@�.06	G�V��Q@�.06ph�h�@�.06<�<��@ /06����@P/06��	8�@�/06 �@�/86,2�@��;@�0�6L�(_��Z@�Eh6o�0j@ G06!�� ~@PG06#����@�G6%�0�m�0�$.�%%p%G%%�%�%�%�%�% %  @%H@�G64�%�7?	x,�G1share/doc/alt-libxml2-devel/examples/test2.xml000064400000000343150505766000015244 0ustar00<!DOCTYPE doc [
<!ELEMENT doc (src | dest)*>
<!ELEMENT src EMPTY>
<!ELEMENT dest EMPTY>
<!ATTLIST src ref IDREF #IMPLIED>
<!ATTLIST dest id ID #IMPLIED>
]>
<doc>
  <src ref="foo"/>
  <dest id="foo"/>
  <src ref="foo"/>
</doc>

share/doc/alt-libxml2-devel/examples/.memdump000064400000000001150505766010015116 0ustar00
share/doc/alt-libxml2-devel/examples/tree2000075500000017357150505766010014446 0ustar00#! /bin/sh

# tree2 - temporary wrapper script for .libs/tree2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The tree2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "tree2:tree2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "tree2:tree2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "tree2:tree2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'tree2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/xpath2.c000064400000012323150505766010015035 0ustar00/** 
 * section: 	XPath
 * synopsis: 	Load a document, locate subelements with XPath, modify
 *              said elements and save the resulting document.
 * purpose: 	Shows how to make a full round-trip from a load/edit/save
 * usage:	xpath2 <xml-file> <xpath-expr> <new-value>
 * test:	xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
 * author: 	Aleksey Sanin and Daniel Veillard
 * copy: 	see Copyright for the status of this software.
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>

#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>

#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) && \
    defined(LIBXML_OUTPUT_ENABLED)


static void usage(const char *name);
static int example4(const char *filename, const xmlChar * xpathExpr,
                    const xmlChar * value);
static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar * value);


int 
main(int argc, char **argv) {
    /* Parse command line and process file */
    if (argc != 4) {
	fprintf(stderr, "Error: wrong number of arguments.\n");
	usage(argv[0]);
	return(-1);
    } 
    
    /* Init libxml */     
    xmlInitParser();
    LIBXML_TEST_VERSION

    /* Do the main job */
    if (example4(argv[1], BAD_CAST argv[2], BAD_CAST argv[3])) {
	usage(argv[0]);
	return(-1);
    }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * usage:
 * @name:		the program name.
 *
 * Prints usage information.
 */
static void 
usage(const char *name) {
    assert(name);
    
    fprintf(stderr, "Usage: %s <xml-file> <xpath-expr> <value>\n", name);
}

/**
 * example4:
 * @filename:		the input XML filename.
 * @xpathExpr:		the xpath expression for evaluation.
 * @value:		the new node content.
 *
 * Parses input XML file, evaluates XPath expression and update the nodes
 * then print the result.
 *
 * Returns 0 on success and a negative value otherwise.
 */
static int 
example4(const char* filename, const xmlChar* xpathExpr, const xmlChar* value) {
    xmlDocPtr doc;
    xmlXPathContextPtr xpathCtx; 
    xmlXPathObjectPtr xpathObj; 
    
    assert(filename);
    assert(xpathExpr);
    assert(value);

    /* Load XML document */
    doc = xmlParseFile(filename);
    if (doc == NULL) {
	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
	return(-1);
    }

    /* Create xpath evaluation context */
    xpathCtx = xmlXPathNewContext(doc);
    if(xpathCtx == NULL) {
        fprintf(stderr,"Error: unable to create new XPath context\n");
        xmlFreeDoc(doc); 
        return(-1);
    }
    
    /* Evaluate xpath expression */
    xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx);
    if(xpathObj == NULL) {
        fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* update selected nodes */
    update_xpath_nodes(xpathObj->nodesetval, value);

    
    /* Cleanup of XPath data */
    xmlXPathFreeObject(xpathObj);
    xmlXPathFreeContext(xpathCtx); 

    /* dump the resulting document */
    xmlDocDump(stdout, doc);


    /* free the document */
    xmlFreeDoc(doc); 
    
    return(0);
}

/**
 * update_xpath_nodes:
 * @nodes:		the nodes set.
 * @value:		the new value for the node(s)
 *
 * Prints the @nodes content to @output.
 */
static void
update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar* value) {
    int size;
    int i;
    
    assert(value);
    size = (nodes) ? nodes->nodeNr : 0;
    
    /*
     * NOTE: the nodes are processed in reverse order, i.e. reverse document
     *       order because xmlNodeSetContent can actually free up descendant
     *       of the node and such nodes may have been selected too ! Handling
     *       in reverse order ensure that descendant are accessed first, before
     *       they get removed. Mixing XPath and modifications on a tree must be
     *       done carefully !
     */
    for(i = size - 1; i >= 0; i--) {
	assert(nodes->nodeTab[i]);
	
	xmlNodeSetContent(nodes->nodeTab[i], value);
	/*
	 * All the elements returned by an XPath query are pointers to
	 * elements from the tree *except* namespace nodes where the XPath
	 * semantic is different from the implementation in libxml2 tree.
	 * As a result when a returned node set is freed when
	 * xmlXPathFreeObject() is called, that routine must check the
	 * element type. But node from the returned set may have been removed
	 * by xmlNodeSetContent() resulting in access to freed data.
	 * This can be exercised by running
	 *       valgrind xpath2 test3.xml '//discarded' discarded
	 * There is 2 ways around it:
	 *   - make a copy of the pointers to the nodes from the result set 
	 *     then call xmlXPathFreeObject() and then modify the nodes
	 * or
	 *   - remove the reference to the modified nodes from the node set
	 *     as they are processed, if they are not namespace nodes.
	 */
	if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL)
	    nodes->nodeTab[i] = NULL;
    }
}

#else
int main(void) {
    fprintf(stderr, "XPath support not compiled in\n");
    return 0;
}
#endif
share/doc/alt-libxml2-devel/examples/tree1.c000064400000004306150505766010014651 0ustar00/**
 * section: Tree
 * synopsis: Navigates a tree to print element names
 * purpose: Parse a file to a tree, use xmlDocGetRootElement() to
 *          get the root element, then walk the document and print
 *          all the element name in document order.
 * usage: tree1 filename_or_URL
 * test: tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
 * author: Dodji Seketeli
 * copy: see Copyright for the status of this software.
 */
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#ifdef LIBXML_TREE_ENABLED

/*
 *To compile this file using gcc you can type
 *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c
 */

/**
 * print_element_names:
 * @a_node: the initial xml node to consider.
 *
 * Prints the names of the all the xml elements
 * that are siblings or children of a given xml node.
 */
static void
print_element_names(xmlNode * a_node)
{
    xmlNode *cur_node = NULL;

    for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
        if (cur_node->type == XML_ELEMENT_NODE) {
            printf("node type: Element, name: %s\n", cur_node->name);
        }

        print_element_names(cur_node->children);
    }
}


/**
 * Simple example to parse a file called "file.xml", 
 * walk down the DOM, and print the name of the 
 * xml elements nodes.
 */
int
main(int argc, char **argv)
{
    xmlDoc *doc = NULL;
    xmlNode *root_element = NULL;

    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*parse the file and get the DOM */
    doc = xmlReadFile(argv[1], NULL, 0);

    if (doc == NULL) {
        printf("error: could not parse file %s\n", argv[1]);
    }

    /*Get the root element node */
    root_element = xmlDocGetRootElement(doc);

    print_element_names(root_element);

    /*free the document */
    xmlFreeDoc(doc);

    /*
     *Free the global variables that may
     *have been allocated by the parser.
     */
    xmlCleanupParser();

    return 0;
}
#else
int main(void) {
    fprintf(stderr, "Tree support not compiled in\n");
    return 0;
}
#endif
share/doc/alt-libxml2-devel/examples/reader4.c000064400000006071150505766010015160 0ustar00/**
 * section: xmlReader
 * synopsis: Parse multiple XML files reusing an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() and
 * xmlReaderNewFile to parse XML files while reusing the reader object
 * and parser context.  (Note that the XMLReader functions require
 * libxml2 version later than 2.6.)
 * usage: reader4 <filename> [ filename ... ]
 * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
 * author: Graham Bennett
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

static void processDoc(xmlTextReaderPtr readerPtr) {
    int ret;
    xmlDocPtr docPtr;
    const xmlChar *URL;

    ret = xmlTextReaderRead(readerPtr);
    while (ret == 1) {
      ret = xmlTextReaderRead(readerPtr);
    }

    /*
     * One can obtain the document pointer to get interesting
     * information about the document like the URL, but one must also
     * be sure to clean it up at the end (see below).
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (NULL == docPtr) {
      fprintf(stderr, "failed to obtain document\n");      
      return;
    }
      
    URL = docPtr->URL;
    if (NULL == URL) {
      fprintf(stderr, "Failed to obtain URL\n");      
    }

    if (ret != 0) {
      fprintf(stderr, "%s: Failed to parse\n", URL);
      return;
    }

    printf("%s: Processed ok\n", (const char *)URL);
}

int main(int argc, char **argv) {
    xmlTextReaderPtr readerPtr;
    int i;
    xmlDocPtr docPtr;

    if (argc < 2)
        return(1);

    /*
     * this initialises the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * Create a new reader for the first file and process the
     * document.
     */
    readerPtr = xmlReaderForFile(argv[1], NULL, 0);
    if (NULL == readerPtr) {
      fprintf(stderr, "%s: failed to create reader\n", argv[1]);      
      return(1);
    }
    processDoc(readerPtr);

    /*
     * The reader can be reused for subsequent files.
     */
    for (i=2; i < argc; ++i) {
      	xmlReaderNewFile(readerPtr, argv[i], NULL, 0);
	if (NULL == readerPtr) {
	  fprintf(stderr, "%s: failed to create reader\n", argv[i]);      
	  return(1);
	}
        processDoc(readerPtr);
    }

    /*
     * Since we've called xmlTextReaderCurrentDoc, we now have to
     * clean up after ourselves.  We only have to do this the last
     * time, because xmlReaderNewFile calls xmlCtxtReset which takes
     * care of it.
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (docPtr != NULL)
      xmlFreeDoc(docPtr);

    /*
     * Clean up the reader.
     */
    xmlFreeTextReader(readerPtr);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "xmlReader support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/parse4000075500000017372150505766020014621 0ustar00#! /bin/sh

# parse4 - temporary wrapper script for .libs/parse4
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse4 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse4.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse4:parse4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse4:parse4:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse4:parse4:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse4'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/xpath1.o000064400000165130150505766020015056 0ustar00ELF>X�@@<;

/1.2-3,4H��H��t[H��H�=�1�H���4H�
�H�=��3H�
H���H�=�H�
�BH�5H�=�ff.�f���AVAUATUSH���jH���BH��H���I��H���H���
fDH���< t���tk�=H���H�����L�h� L���H��t*�L��H��H��L�p���u7M��tL����L��H��H�����uL��1�[]A\A]A^�H�=M��H��1�H���L��[�����]A\A]A^�H�
�&�H�=�L��[�����]A\A]A^�H�
�(�H�=�������e���H�
��H�5H�=�H�
��H�5H�=�f���AVAUATUSH����I��H��H���\�1�H��H��������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H�1��I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH�H��1��XZI9�u�[]A\A]A^�fDH�ѾL��H��1���r���fDI��I�оH��H�1���K����H�ѾH��1�H���&���f�[H��1�]H�A\�A]1�A^�H�
��H�5H�=�H�
��H�5H�=�f���AUATUSH��H���EI��H���H��I���H��H��ttH���H��H����M��tL��H�������H��L���I��H��tYH�xH�5�L���H���H���1�H��[]A\A]�H�=H�پ1�H���������L��H�H�=�1��H���H���������L��H���H�
�*�H�=�H���������b���H�
�[H�5H�=�H�
�ZH�5H�=�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath1.cnamexpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��U�G�SH��H����wB����
R�1҃�t$H�sH�{���xC��1�H��[]�H�S��H�
�"�H�=�H�;�����H�;����print_xpath_nodesregister_namespacesexecute_xpath_expressionusage��5int�C�C���1.	3<	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	DG`	FMh	H<p	I<t	Jtx	MX�	Nf�	OS�	Qc�	Y
��	[n�	\y�	]M�	^	��	_
)�	`<�	b��
+B��c
5:it��
5��.�����<�������	Q��_
��	


�
_
��	

��x
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
�P
��X
��`
��h
�Xp
�Xr��
��
��
��
��
��
�� 
�E(
��0
��8doc
�E@
��H
��P
��X
��`
��h
��p
��x��
'E
(�
)�
*�
+�
,� 
-�(
.�0
/�8doc
0E@
3<H
4<L
:�P
;�X
<`
=�h
>�pids
?�x
@��URL
A��
B<�
D	�
E��
F<�
H<��^oR
w�
��0
��
�
�u
��
��
�� 
�E(
����`
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
��P
��X
��
���
%�
&	�^9		*	�B36	<	�K	)MW	]	�q	�)W}	�	��	�
�	
�	�	_�	�	L�	XN�
	O
<	P
<	Q�	R�		S�	T
< 	U�(	V�0	W�8	X
<@	Y
<D	Z�H	[�PM�
�	Z�
�
�
��
��*	�*	�K	�
	�q	'!.x,�
doc-�.�0	<1	<2�	4	< 5	<$6(8	<09	<4:�	8<	<@=	<D>�HA	PB	<XC�`F	<hG	<lJ	<pK�xL��O�	�P ��Q��T��W��X��[��\��_	�`	<�c��d�
�e�	�f�@icHk	<Pn�Xq5`r5hs	<p(�
")'�
X�fcur�����	<��
�� �<(�<,�40�!8�	<@��H�<P* r�
Q�S�	T	<	U	<	V�
R�x_e	r�| H~�		��	�	<	��	� 	��(	�	<0	��8	�	<@}����<��<���	��	����*:f<�FL�`f��l��	��	�:��`�$�����������	����z"{.�����������!��.�cur�� �	<i�	<!	"�ns��#+$�
v$H$<%&Uv&T1&Q	'+(�
$H$<%&Uv&T1&Q	(+�i$H$<)<&Uv&T1&Q	&Rs*&U�T&T1&Q	&R0(+��$H$<%&Uv&T1&Q}#+�"$H$<%&Uv&T1&Q	#+ ��$H$<%&Uv&T1&Q	)�&U	&T	&Q�&R	%&U	&T	&Q�&R	�
5+�<��9�(�
�A� � � � �!I	#+ �)$H,<%&T1&Q	&Rs&X}#+��$H,<%&U	&T1&Q&#+��$H,<%&U	&T1&Q()&�&U�T)2&Us&T=)2:&U}&T )>^&Uv&Ts&Q})>�&Uv&Ts&Q}-�&U|-�&U|-�&U|)�&U	&T	&Q�&R	%&U	&T	&Q�&R	�I
59+U<{��U&�U?�UY�docV� W�
 X�!�	#+`Y$H,<%&T1&Q	&Rs#+w	�$H,<%&T1#+n	�$H,<#+g	:$H,<%&U	&T1&Q*)KR&Us)Xj&Uv)�&Us&T|)e�&U}&Ts.a)r�&U|)�&Us)��&Uv)&Us)�+&Uv)�C&Uv)�&U	&T	&Q[&R	%&U	&T	&QZ&R	��
5�/A0A�!	�
5+<��%
<%#+!�$H,<%&U	&T1&Q".�)��&U

R.N.�.�.�.��1d<V0d�0d<�23���$�#+D�$H,<%&T1&Q	&R�U#+E;$H,<%&U	&T1&Q4(+F�$H,<*&U	&T1&Q3'�A4�5%&U	&T	&QB&R	6Z6C
76	)6	78�8L888�88
876896�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I:;9
:;9I84:;9I?<.?:;9'@�B:;9I�B4:;9I�B 4:;9I�B!4I4"U#1R�BXYW$1�B%��1&���B'1R�BXYW(1R�BUXYW)��1*���B1+.?:;9'I@�B,1-��.��1/.:;9' 0:;9I1.?:;9'I 423.1@�B4156.?<n:;97.?<n:;8.?<n:;9U^�U�^U^�U�^U�U�TV�T�VTU�T�VT�T�PRpPpS0�0�PP
�V
�V
�
�TVTU�T�
�V
�V
�VUV�U�V�U�V�U�VU�U�U�U�T�T�T�T�T�T�P\\\P\SSSS]]PSP]P^0�P
�
�
�US�U�S�U�U�U�U�U�T]�T�]T]T�T�Q\�Q�\�Q�\Q�Q�Q�Q�PVPVPSSPSP\P
�
�
�
�UV�U�VUp��U�VTS�T�S
�UR�U�U�U�
�
�
�<����
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hxpathInternals.hparser.hxmlversion.h<built-in>	�KZ 
�._
�`
a�
J[�I� KIz���<X=��J	<KM��<M�Y@�NX
iJ���Q�/..xX�
���z ^ ..i<�
���k X .[XF
�9�.tW.t64tK6
��$�0�
�<t��
�.�tX	��J��~
��YL�g
=�
Y�
��tX.fp�~
����
fX���~
����
�~ <�.
�~ �t
�~.X�
�~.�.
�~.X��.ta�tKa
���X=^�=�X���`����/fJZ 
�
	tm
�	.��	ttv
�	
�	�r��ttW�tt	L":�{Y�t�P]Y/Xs.vf�
tX��	X�_xmlXPathCompExprparentuser2lastErrortmpNsNrlastxmlAttributeType_shortbufbase_IO_lock_toutputxmlFreestderrxmlErrorLevel_IO_buf_endnb_types_privatemessagemax_variables_unused_xmlDtdnodesSystemIDentitiesnode_xmlNodeSetxmlMalloc_IO_write_endunsigned intXML_ATTRIBUTE_CDATAnextversionxmlStrchr_freeres_listxmlChar_flagsxpathCtxxpathExprXPATH_XSLT_TREEpentitiesnsListstringval_xmlNs_old_offsetlevel__builtin_fwritexmlInitParserxmlErrorPtrvalueNrXML_ERR_ERRORaxiselementsintSubseterrorfuncfilenameprevXML_TEXT_NODExmlXPathObjectnodeTabcache_IO_read_baseXML_ENTITY_DECLxmlXPathFunctionxmlXPathNewContextxmlXPathFreeObjecthere_IO_save_endboolvalxmlCleanupParserindexmax_funcs_unusedxmlStrdupFuncXML_COMMENT_NODE_xmlXPathObjectmax_axislong long unsigned intfilevalueMaxxmlDocPtrsys_errlist_IO_backup_basexmlNsType_offsetXML_ERR_WARNINGxmlXPathTypePtrsys_nerr_xmlXPathContextvalue_filenoxmlXPathContextxmlXPathTypeprefixsize_t_vtable_offset_markersXML_XINCLUDE_ENDXPATH_STRINGxmlStrdupfloatvalnodeNrxpath1.cxmlDocstr1str2str3originflagsxmlXPathObjectTypecodexmlXPathContextPtr__fmtXML_ATTRIBUTE_NODEnb_variables_unusedtypesxmlParseFileXPATH_NODESETindex2XML_ATTRIBUTE_ENTITIESxmlNodexmlXPathObjectPtrxmlXPathVariableLookupFunc__stream_xmlError_xmlXPathTypechar__fprintf_chk_modeexecute_xpath_expressionnodeMaxencoding_IO_markernodesetval_IO_read_ptrint1proximityPositionxmlDictxmlStructuredErrorFuncXML_CDATA_SECTION_NODExmlXPathFuncLookupFuncXML_NAMESPACE_DECLusageoldNsXML_ATTRIBUTE_IDxmlXPathEvalExpressionXPATH_BOOLEAN_IO_write_basexmlMallocFunclong long intXML_ENTITY_NODEXML_XINCLUDE_STARTancestor_IO_save_base_xmlAttrdepthxmlXPathAxisatypehrefcontextopLimitdictxmlXPathFreeContextxmlXPathCompExprxmlDictPtrfuncHashmax_typescharsetXML_DTD_NODExmlXPathNINFxmlXPathAxisPtrparseFlagsfuncLookupFuncnb_axissize_freeres_buffunctionURIXML_NOTATION_NODEdebugNodexmlErrorxmlXPathParserContextPtr__pad5long unsigned intXML_ATTRIBUTE_DECLxmlMemStrdupargcxmlXPathAxisFunc_xmlXPathAxisnsHashopCountnamespacesargvlong doubleextSubsetxmlNodePtrtmpNsListxmlMemoryDumpxmlNodeSetPtrxmlFreeDocxmlElementTypexmlXPathParserContextpsvivarLookupFuncxmlXPathRegisterNsXML_ATTRIBUTE_ENTITYnsDef_IO_read_endrefsXML_ATTRIBUTE_NOTATIONshort intxmlHashTableXML_DOCUMENT_TYPE_NODEctxtlong intpropertiesXPATH_UNDEFINEDGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlXPathPINFxpathObjxmlXPathCompExprPtr_IO_wide_dataxptrxmlRealloc_xmlDocfprintfxmlHashTablePtrdomainXML_PI_NODEextraXML_ATTRIBUTE_IDREFstandalonenameXPATH_NUMBER_xmlDictprint_xpath_nodesXPATH_USERS_xmlXPathParserContext_wide_dataint2nb_funcs_unused_lock_IO_codecvt_codecvtregister_namespacesvalueFramestdin_IO_FILE__assert_failXML_ELEMENT_DECLXML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_NMTOKENStypeunsigned charxmlCheckVersionfunctionlineXML_ERR_FATALxmlNodeSet_IO_write_ptrnotationsExternalIDxmlNsPtrattributescontextSizexmlXPathConvertFuncXML_ELEMENT_NODEcontentfuncLookupDataXML_ERR_NONEXML_ATTRIBUTE_NMTOKENnsNr_xmlHashTablensListDupxmlReallocFuncstdoutXML_DOCUMENT_FRAG_NODExmlMallocAtomiccompressionfwrite__off_tvarHashsigned charXML_HTML_DOCUMENT_NODEuserDatashort unsigned intXML_ENTITY_REF_NODEXML_DOCUMENT_NODEmain__PRETTY_FUNCTION__xmlFreeFuncchildrendoublevarLookupData_chainuser_xmlNodeFILE_flags2XML_ATTRIBUTE_ENUMERATIONcompxmlNs_cur_columnvalueTab__off64_t_unused2_IO_buf_basexmlXPathNAN/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx��DO
Q`8�F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX��F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8�{F�B�A �A(�D0�
(A ABBA,4�E�D�G ~
AAA
�	
0)
?1Yt2��3��4��%�+YD�g.� �.���"�H@au�!"$&(*12345607��8�p��	��������%�x�K�@�h�c�9����������
P/DX+,-./ip�����������0��{$7NUh|������.annobin_xpath1.c.annobin_xpath1.c_end.annobin_xpath1.c.hot.annobin_xpath1.c_end.hot.annobin_xpath1.c.unlikely.annobin_xpath1.c_end.unlikely.annobin_xpath1.c.startup.annobin_xpath1.c_end.startup.annobin_xpath1.c.exit.annobin_xpath1.c_end.exit.annobin_usage.start.annobin_usage.endusage__PRETTY_FUNCTION__.7905.annobin_register_namespaces.start.annobin_register_namespaces.end__PRETTY_FUNCTION__.7923.annobin_print_xpath_nodes.start.annobin_print_xpath_nodes.end__PRETTY_FUNCTION__.7937.annobin_execute_xpath_expression.start.annobin_execute_xpath_expression.end__PRETTY_FUNCTION__.7914.annobin_main.start.annobin_main.end.LC2.LC3.LC4.LC0.LC1.LC9.LC8.LC7.LC6.LC5.LC11.LC17.LC15.LC13.LC14.LC16.LC12.LC10.LC20.LC23.LC22.LC21.LC19.LC18.LC24.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupstderr_GLOBAL_OFFSET_TABLE___fprintf_chkfwrite__assert_failregister_namespacesxmlStrdupxmlStrchrxmlXPathRegisterNsxmlFreeprint_xpath_nodesexecute_xpath_expressionxmlParseFilexmlXPathNewContextxmlXPathEvalExpressionstdoutxmlXPathFreeObjectxmlXPathFreeContextxmlFreeDocmainxmlInitParserxmlCheckVersionxmlCleanupParserxmlMemoryDumpc��������;��������"e��������.c��������:<��������?f��������Kc��������[=��������g*Us>��������z?��������g���������i���������j��������j��������k��������Bk��������Ol��������ac��������p@��������ze���������l���������c���������A���������f���������l���������c���������B���������f���������*�>��������C��������g��������*>��������%D��������*g��������[E��������je���������F���������G���������e��������$H��������.e��������Ye��������yI���������e���������J���������e���������E���������*���������>���������K���������g���������*���������>��������L��������
g��������:o��������Jp��������fh��������yq���������r���������m���������s���������t���������u���������c���������M���������e���������N���������c���������e���������t��������u��������O��������!c��������2P��������7f��������?u��������P*<\>��������cQ��������hg��������o*<{>���������R���������g��������`f���������e�������� 8���$,�P�X.���.�.��.��DL� 2 3 4 599�w��������"x��������6n��������?y��������Dz��������Zc��������kS��������pf��������x�����������������
,
1�	
1A
1�
/%
0*
1�8
1F
1�	M
1�T
1I[
1�
b
1	i
1�
p
1j	u
1�
�
1��
1Z�
1!�
1��
1W�
1��
1A	�
1R�
1y�
1�
1�
1�
1�*
1�7
1\D
1�Q
1^
1Uk
1�x
1o�
1��
1��
1��
1G�
1��
1v�
1��
1��
1A�
1�
1

1m!
1�/
1j;
1VC
1�j
1�u
1�
�
1��
1\
�
1p�
1��
1P�
1O
1�"
1�(
1'.
1�4
1�
:
1�@
1F
1�L
1R
1�	X
1c
^
1�d
1�
j
1ep
1v
1&|
1`�
1$�
1��
1	�
1��
1�
1C�
1!�
1�
1&	�
1��
1
�
1-�
1w�
1S	�
16�
1a
1�
1D(
1@6
17D
11R
1`
1*n
1"�
1��
1�	�
1;	�
1	�
1p�
1�
1�
1�
1D
1@*
178
11F
1T
1*b
1"~
1��
1��
1��
1��
1��
1��
1��
1�
�
1�
1D
1@
17-
11;
1I
1*W
1"s
1�
�
15�
1�
1��
1=�
1/�
1��
1N	�
1]

1
1	)
1�7
1�	N
1�S
1�_
1Rd
1?v
1l�
1��
1��
1*�
1D�
1�
1��
1��
1�
1�
1�
1�(
1D6
1@D
17R
11`
1n
1*|
1"�
1��
1	�
1�
1��
1J�
1F	
1++	
1�L	
1M
r	
1��	
1t	�	
15
�	
1�
�	
1

�	
1~�	
1��	
1u�	
1w�	
1��	
1B

1

1�

1�)

1�6

18C

1pP

1Q]

1Vj

1[w

1��

1��

1�	�

1��

1��

1��

1��

1z
�

1�

1h
19#
1�/
1�L
1�Z
1�h
1�v
1�
�
1��
1S�
1��
1��
1��
1J�
1��
1�
1�
1y
10

1\,
1�:
1�H
1�
V
1�d
1`r
1j�
1	�
1G�
1�
1g�
1��
1��
1��
1��
1)�
1�


1

1(

1�7

1F

1gU

1Ld

1
s

1q�

1��

1��

1��

1y�

1Q�

1�

1�

1�
1�
1= 
1�.
1�<
1�
J
1�X
1�g
1�y
1��
1��
1:�
1��
1D�
1��
1�	�
1��
1k�
1E�
1�
1m�
1q
1m
15
1*
1D7
1�D
1�Q
11^
1�k
1\x
1��
1�
1��
1�
1@�
1��
1��
1L�
1@
1
1�;
1Ka
1�m
1\z
1@�
1�
1�
1p�
1�
1

1.
1"
1�
;
1�H
1�
U
1rb
1[i0�
1��
-�
-�
1a�
-��
-��
-��
-��
1��
-U�
-Q�
-��
-��
1�*�
/�
-�
-�:
-�>
-�G
-K
-P2l@{h�h�
-A�
-?�
-o�
-m���h�V�
/0�
-��
-�
-�
-�
n-%=�Z%nHw
/��
-\�
-Z�
-��
-��]�����
-��
-��
-��
-���K'�0�L
-P
-Y
-0]
-.b�~c���9��*����*
1�$�;
1^F
-kJ
-SO
1�Z
-z^
-nc
1C
n
-r
-w
1��
-��
-��
1�
-��
-��
1*�
-A�
-1�
1�* �^�^�
-��
-��~.�7�S
-	W
-	a�r������
-H	�
-F	��������	;#_F�S��������* �./* O
1sZq
1|
-�	�
-t	�
1g�
-]
�
-M
�
1��
-�
-�
-�
-��
1^�
-g�
-]�
1�
�
-��
-��
1�*@�	�%
-'
)
-%
3�I�^�g��
-U
�
-S
�����
-�
�
-�
��
-�


-�
;%�;>SNkj�}���������,CDlY�fy*@������*@�
17�
1@�
1�*Y
1!98
1FC
-�
G
-�
L
1�W
-�[
-�d9Wm9W�
-�
-�9t�P�9�9&�9:�9C�9H9|9�,
1�
=
19I
1�[v
-<z
-2�	�	�
-��
-��&��&�&
-�
-�C&8@CI
/Y
-]
-
gdxp�d�d�d���	��*Y
1_
1_
1�
1�
1�
 
1�'
1'+
1'3
177
17?
1	C
1	L
1�P
1�Y
1�]
1�f
1Tj
1Ts
1�w
1��
1�
1�
1��
1��
1��
1��
1W�
1W�
1��
1��
1��
1�0g'g/A:ABBPBX�c�k�v�~������������	�	��0dd;%;-B;BC�N�V�a�i�t�|�����������������!B"X-b5UV]�h�p��n�����-�b���9@$9AbI�Thobw��V�n�%�����%�V�d�dn��!�)�4�<�\Bdbox�B�b�����K�����
�c0�8�k�s�~��W�W�^�^������������������

'5=)H)P.z��������������"�"�.��$�,Y7^?�J�R�]�e�p�x����/�1�J�^��������J^�A�I�T�\�g�o�z��	�	���1�1�J�����^�~�	�"	�-	�H	�P	�[	��	�	=�	=�	Q�	Q�	��	��	��	��	M�	M�	g�	g
l
l
�'
�/
�]
e
=p
=x
��
��
��
��
M�
M�
`�
`�
l�
l�
�
�
�'=2=:�E�M�[�c�n�v��M�M�Y�Y�l�l�x�x��A	MM�'�/�:�BMgQoizi�������:�:�M��������
�

�'
�/
�:
�U
�]
�h
�
�
�
��
�
;�
��
9�
999J9J9Q)9Q19W<9WD9oO9oW9sd9sl9�z9��9��9�9�9�9O�9O�9Q�9Q�9�9W9tP<DOW%b%jdxd�~�~���	�&��&�C�8Cd"p
+ 9COSd0V8n@�H�P�X�`�h�p�x��������������H�h���4�h��� 9(9���9 <��0�89.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9TFT9UFl9VF�(9WF�9X ��@8sp9&[,[6\T1@�{�9
L�	[�	�V@X}09
u�����@�}09AX
�X
��@�}09�,�,��@�}09�2�2�s8@~09A`�<@H~�9O�_\O�W@8�79h6-{H9;v@�09"��I@�@H�H9$��I@�@���9&�K�@`�09(�0R�0.a.�\aA\au\aL\a \a�\a�\a�\a\a\a$`a <�a`7@��x97�b�:c	hn��Mshare/doc/alt-libxml2-devel/examples/reader3.c000064400000005605150505766020015162 0ustar00/**
 * section: xmlReader
 * synopsis: Show how to extract subdocuments with xmlReader
 * purpose: Demonstrate the use of xmlTextReaderPreservePattern() 
 *          to parse an XML file with the xmlReader while collecting
 *          only some subparts of the document.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader3
 * test: reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)


/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse and print information about an XML file.
 *
 * Returns the resulting doc with just the elements preserved.
 */
static xmlDocPtr
extractFile(const char *filename, const xmlChar *pattern) {
    xmlDocPtr doc;
    xmlTextReaderPtr reader;
    int ret;

    /*
     * build an xmlReader for that file
     */
    reader = xmlReaderForFile(filename, NULL, 0);
    if (reader != NULL) {
        /*
	 * add the pattern to preserve
	 */
        if (xmlTextReaderPreservePattern(reader, pattern, NULL) < 0) {
            fprintf(stderr, "%s : failed add preserve pattern %s\n",
	            filename, (const char *) pattern);
	}
	/*
	 * Parse and traverse the tree, collecting the nodes in the process
	 */
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            ret = xmlTextReaderRead(reader);
        }
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
	    xmlFreeTextReader(reader);
	    return(NULL);
        }
	/*
	 * get the resulting nodes
	 */
	doc = xmlTextReaderCurrentDoc(reader);
	/*
	 * Free up the reader
	 */
        xmlFreeTextReader(reader);
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
	return(NULL);
    }
    return(doc);
}

int main(int argc, char **argv) {
    const char *filename = "test3.xml";
    const char *pattern = "preserved";
    xmlDocPtr doc;

    if (argc == 3) {
        filename = argv[1];
	pattern = argv[2];
    }

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    doc = extractFile(filename, (const xmlChar *) pattern);
    if (doc != NULL) {
        /*
	 * output the result.
	 */
        xmlDocDump(stdout, doc);
	/*
	 * don't forget to free up the doc
	 */
	xmlFreeDoc(doc);
    }


    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "Reader, Pattern or output support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/io1.o000064400000075220150505766020014341 0ustar00ELF>Pk@@=<

02/3.4-5��H��t
�1�ø�����@��U��SH��H�������u7H��t2�-��H��H��H��9�N�Hc�)���-H����[]��������f���H��H��t,�H�=�����u�1H��1��D��H��1�H��t�H�=����������GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��S�
R�H�
H�H�5H�=���x^H�H���H��E1�1�H����H��H��tH�����~LH�=H���H�����1�[�H�
��H�=���H�
��H�=���H�
�#�H�=�����5Cint�m�m��	�1%
3f
6	�
7	�
8	�
9	� 
:	�(
;	�0
<	�8
=	�@
@	�H
A	�P
B	�X
D>`
FDh
Hfp
Ift
Jtx
MQ�
NX�
OJ�
QZ�
Y
��
[e�
\p�
]D�
^	C�
_
)�
`f�
bv��+9�
�Z51`k
��5��%�����	f
������	�
J��<��	

��<��	
��x���C�������� ��(��0��8doc�<@ns��H��P��X��`�Ch�Qp�Qr�����C�������� �<(��0��8doc�<@�CH�CP�CX�C`��h��p�Cx��'<(C)�*�+�,� -�(.�0/�8doc0<@3fH4fL:�P;�X<�`=�h>�pids?Cx@C�URLA��Bf�D��EC�Ff�Hf��w��o0�����U�����C �<(bo`���C�������� ��(��0��8doc�<@ns��H��P�CX�%�&��P����C9�B3�	C	)M	#	C7	C)WC	I	�X	�
��
��
�	
��
�7	�cur�f	b
�	hf�p doci�!v	k
":#.$H%U	%T1%QO!�	�
":#.$H%U	%T1%QK!~	&":#.$H%U	%T1%Q#&S?%U

R&_�%U	%T	%Q	%R	&k�%Us&x�%Us%Q	%R0%X0&��%Us&��%Ts&�%Us'�'�&�E%U1&�\%U1$�%U1(VfW�H
)VC)V �*lenV,f ptrW�+�
]"""�
$�%U�T%T�U%Qs $ &(Df�y
,DCU(3C;��
*URI3�(#f*��
*URI#�-C.E.�.)-dfH.d�.d<�/011�2�2u1]2�2291�2f
0%U:;9I$>7I$>I&I	:;9

:;9I8:;9<
I!I/4:;9I?<!>I:;9(:;9
:;9I8
:;9I8:;9I&'I'I4:;9I4:;9I4:;9I4:;9I?.?:;9'I@�B 4:;9I�B!1R�BXYW"1�B#1$��1%���B&��1'��1(.:;9'I@�B):;9I�B*:;9I�B+1R�BUXYW,:;9I-.?:;9'I 4.:;9I/0.?<n:;1.?<n:;92.?<n:;9PSSPS
�
�
�UT�U�UTP�T�TQSQUT�U�U	s $ &�Q	s $ &�T�U�P�T�UTUT<�d��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio1.cstring_fortified.hstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hxmlIO.hstring.hparser.hxinclude.hstdlib.h<built-in>	�KY
� 9\1
XK1.#1+%[.f��
F<X;B;	=
D.X<	gz�Y�K=X�.XL
��2jfK?,X�.X�	�Kx(�	�Q"��	X	�	J�\Y<	V n
�	�]
�"	v�f
�
__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned int__srcSystemIDXML_XINCLUDE_STARTnsDef_codecvtxmlXIncludeProcess_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flagsrlensqlRead_IO_buf_endmemcpyXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetxmlCharxmlCleanupParserxmlReadMemoryxmlRegisterInputCallbackscompressionlinexmlMallocAtomicxmlElementType_privatexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocstdinXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetsqlOpenshort unsigned intXML_ENTITY_DECLstrlenlast_IO_save_basesqlClose_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL__dest_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlistio1.c_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotations__lenXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupexitatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdict__builtin_memcpyXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEbufferintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATIONsqlMatch__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncincludexmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlDocDumpfwriteXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODEcontext_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENresultXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�(0WE�C�D |
CAD\;p*�E��
A
�	
1#
62Me3��4��5��
�	-wB WJwa�v�;~�����*�� "#%')+23456718����8��X�*>,-./0Oelq�����������.annobin_io1.c.annobin_io1.c_end.annobin_io1.c.hot.annobin_io1.c_end.hot.annobin_io1.c.unlikely.annobin_io1.c_end.unlikely.annobin_io1.c.startup.annobin_io1.c_end.startup.annobin_io1.c.exit.annobin_io1.c_end.exit.annobin_sqlClose.start.annobin_sqlClose.endsqlClose.annobin_sqlRead.start.annobin_sqlRead.endsqlRead.annobin_sqlOpen.start.annobin_sqlOpen.endsqlOpen.annobin_sqlMatch.start.annobin_sqlMatch.endsqlMatch.annobin_main.start.annobin_main.end.LC1.LC0.LC3.LC2.LC5.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_memcpymainxmlCheckVersionxmlRegisterInputCallbacksincludestrlenxmlReadMemoryxmlXIncludeProcessstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite��������@��������ZQ��������`���������;������������������<���������;�������� 8��$,PXw��w�w���w����D�L� 2 3 4 599S���������������� |'�,T��������7U��������?V��������N=��������UW��������eX��������pY��������xZ���������[���������\���������]���������^���������>���������_���������`���������^���������?���������_���������`���������^���������@���������_��������`��������!�
,
14
1h
1*
/@%
0*
1\8
1�?
1zM
1�T
1=[
1b
1�p
1Bu
1�
1��
1��
18�
1X�
1�
1,�
1��
1��
1�
1
1�
1l!
1l.
1�;
1	H
1nU
1b
1$o
1�|
1��
1��
1�
1h�
1��
1��
1��
1e�
15�
1��
1V
1�
1�&
12
1-:
1Aa
1�l
1��
1b�
1��
1��
1$�
1\�
1�
1
1�
1�%
1a+
1I1
1L7
1�=
1?C
1pI
1�O
1U
1h[
1�a
1�g
1m
1s
1Py
1r
1��
1�
1�
1��
1��
17�
1]�
1r�
1��
1��
1?�
1�
1��
1��
1
1,
1�
1-
1�;
1gI
1QW
1ce
1��
1��
1V�
1��
1��
1�
1C�
1��
1,
1�
1!
1�/
1g=
1QK
1cY
1�u
1��
1��
1K�
1��
1��
1��
1��
1Z�
1,�
1�
1
1�$
1g2
1Q@
1cN
1�j
1�x
1��
1��
1��
1K�
1��
19�
1w�
1-
1x
1� 
1�.
1VE
1	L
1�Q
1�V
1�c
1p
1�~
1c�
1��
1��
1��
1,�
1]�
1��
1,�
1�	
1
1�%
1g3
1QA
1cO
1�x
11�
1��
1��
15�
1��
1��
1�	
1�8	
1Y	
1Pe	
1
q	
1�}	
1|�	
1�	
1��	
1_�	�	
1��	U�	
1��	9

-



-
9�
9�8

-{<

-yF
9�W
!8p
9�y
9��

-��

-��
9��
"�
9��
9��

-��

-�9�!X'9@90U�b�o |�9C�9Y�"�9i�9|�9�9�"9�/9�F9�]9q
1d| �
1]�
-�
-�
1��
-r�
-j�
-��
-��
-(�
- �T�
/�
-�

-�	

-�


-�

-'

-#
^I

1zT
k

1]z

15�
��

-d�

-`�

10�
��

-��

-��

1x�

1&
1�
1�
1�/
1�;
19I
1M
1#T
1�X
1�`
1�d
1�l
1`p
1`y
1�}
1��
1��
1��
1�
1�
1��
1��
1��
1��
1��
1��
1,�
1,�
1x�
1}
9\9h9h%9�09�89�C9�K9�V9�^9{9��9��!8�9��9��"�9��9��!X OO&]1]9mGmOwr zL�L�]�]�m�m�w� �T�T�d�mw($0O;OC]N]Vmdmlw�T�W�W�]�]�^�T�]�]^'T/]:]B^d�l�w����������
+ 9LTTT Y(^@H�P9X9��9 4 `�t��9.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.8.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.data.rel.local.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupS@:AST:BSl:CS�(:DS�:E ��@�?�:&�,�6�T1@X@�:
L[�V@B0:
u�����@8B0:A�����@hB0:��
��
��@�B0:�2`%2�
-�
8@�B0:A�<@�B�:T�O@�E:i�d@�E�: u����!��@h`�:#��%@�@gH:%��%p�@Xg�:'�3&h�@Hh0:)�0�)��0y2.��2A�2u�2L�2 �2��2��2�2�2!�21�2 I�2�D@xhx:8h3	;P	�<�hZshare/doc/alt-libxml2-devel/examples/io2.c000064400000002254150505766020014323 0ustar00/**
 * section: InputOutput
 * synopsis: Output to char buffer
 * purpose: Demonstrate the use of xmlDocDumpMemory
 *          to output document to a character buffer
 * usage: io2
 * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
 * author: John Fleck
 * copy: see Copyright for the status of this software.
 */

#include <libxml/parser.h>

#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
int
main(void)
{

    xmlNodePtr n;
    xmlDocPtr doc;
    xmlChar *xmlbuff;
    int buffersize;

    /*
     * Create the document.
     */
    doc = xmlNewDoc(BAD_CAST "1.0");
    n = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
    xmlNodeSetContent(n, BAD_CAST "content");
    xmlDocSetRootElement(doc, n);

    /*
     * Dump the document to a buffer and print it
     * for demonstration purposes.
     */
    xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
    printf("%s", (char *) xmlbuff);

    /*
     * Free associated memory.
     */
    xmlFree(xmlbuff);
    xmlFreeDoc(doc);

    return (0);

}
#else
#include <stdio.h>

int
main(void)
{
    fprintf(stderr,
            "library not configured with tree and output support\n");
    return (0);
}
#endif
share/doc/alt-libxml2-devel/examples/xpath2.o000064400000121410150505766020015050 0ustar00ELF>�@@<;

/1.2-3,4H��tH��H�=�1�H��PH�
�DH�5H�=�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath2.cnamefilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AWAVAUI��ATUSH�����4��
R�I�mM�eM�uH���M����M����H���H��H����H���H��H���\H��L���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$�I�WH�D$J�*H�1�~tH�M9�u�H���H���H�=H���H�����1�H��[]A\A]A^A_�H�
�"�H�=�I�}�����H�
��H�5H�=�H�=L��H��H���H���I�}����k���H�
�*�H�=�H�����H�=H��1�H���H�
�\H�5H�=�H�
�[H�5H�=�H�
�ZH�5H�=�usageupdate_xpath_nodesexample4/�5int�C�C���1.	3<	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	DG`	FMh	H<p	I<t	Jtx	MX�	Nf�	OS�	Qc�	Y
��	[n�	\y�	]M�	^	��	_
)�	`<�	b��
+B��c
5:it��
5��.�����<�������	Q��_
��	


�
_
��	

��x
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
�P
��X
��`
��h
�Xp
�Xr��
��
��
��
��
��
�� 
�E(
��0
��8doc
�E@
��H
��P
��X
��`
��h
��p
��x��
'E
(�
)�
*�
+�
,� 
-�(
.�0
/�8doc
0E@
3<H
4<L
:�P
;�X
<`
=�h
>�pids
?�x
@��URL
A��
B<�
D	�
E��
F<�
H<��^oR
w�
��0
��
�
�u
��
��
�� 
�E(
����`
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
��P
��X
��
���
%�
&	�^9		*	�B36	<	�K	)MW	]	�q	�)W}	�	��	�
�	
�	�	_�	�	L�	XN�
	O
<	P
<	Q�	R�		S�	T
< 	U�(	V�0	W�8	X
<@	Y
<D	Z�H	[�PM�
�	Z�
�
�
��
��*	�*	�K	�
	�q	'!.x,�
doc-�.�0	<1	<2�	4	< 5	<$6(8	<09	<4:�	8<	<@=	<D>�HA	PB	<XC�`F	<hG	<lJ	<pK�xL��O�	�P ��Q��T��W��X��[��\��_	�`	<�c��d�
�e�	�f�@icHk	<Pn�Xq5`r5hs	<p(�
")'�
X�fcur�����	<��
�� �<(�<,�40�!8�	<@��H�<P* r�
Q�S�	T	<	U	<	V�
R�x_e	r�| H~�		��	�	<	��	� 	��(	�	<0	��8	�	<@}����<��<���	��	����*:f<�FL�`f��l��	��	�:��`�$�����������	����z"{.����������"��8��	< i�	<!�	��
5�"U<2U�U/�UI� docV�W�
X�!B	�B
52CtC�!�	��
5t# <{�_$ 
<$ _%�-	�&�&�&�'(�((%aw�&z&n'(�(�)u�*T|+�*U	*T	*Q�*R	,ep	D&�-v+�*T1*Q	*R~,eh	�&�-v+�*U	*T1*Q*,ea&�-v+�*T1*Q	*Rv)�*Uv)�0*Us)�N*U~*Tv.�)�s*Uv)��*Ts)��*Us)��*Uv)��*Us)��*Us)�**U	*T	*Q\*R	)�i*U	*T	*Q[*R	+�*U	*T	*QZ*R	,e#&�-v+�*U	*T1*Q".)
**U

R..&.G.G�/d<�d�d<�01GB�u&T,eF&�-v2�*T1*Q	*R�U3GC4T'+�*U	*T	*QD*R	5
%6C
6Z75L555�55
�5
576596�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I:;9
:;9I84:;9I?<.:;9' :;9I4:;9I 4:;9I!4I4".:;9'I #.?:;9'I@�B$:;9I�B%1R�BUXYW&1�B'U(41�B)��1*���B+��1,1R�BXYW-1.��1/.?:;9'I 401.1@�B2���B131R�BUXYW415.?<n:;96.?<n:;97.?<n:;U�U�U�U�T]�T�T]�T�]\\\\\^^^^^VVVPSSPSPVVPVPP\\__�1�QR
�
�
�
�UR�U�U�U�
�<B{L��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hparser.hxmlversion.h<built-in>	�Z
�.]!�	L�Y�	J(�������=���J$
Xf/��<J��XJXJ<gjtX\����]Y/i��
tX���X�	Pt
�	����	9�
�	�w.
�z.��_xmlXPathCompExprparentuser2lastErrortmpNsNrlastxmlAttributeType_shortbufbase_IO_lock_txmlFreestderr_IO_buf_endnb_types_privatemessagemax_variables_unused_xmlDtdnodesSystemIDentitiesnode_xmlNodeSetxmlMallocxmlDocDump_IO_write_endunsigned intXML_ATTRIBUTE_CDATAnextversion_freeres_listxmlChar_flagsxpathCtxxpathExprXPATH_XSLT_TREEpentitiesstringval_xmlNs_old_offsetlevel__builtin_fwritexmlInitParserxmlErrorPtrvalueNrXML_ERR_ERRORaxiselementsintSubseterrorfuncfilenameprevXML_TEXT_NODExmlXPathObjectnodeTabcachexmlDictXML_ENTITY_DECLxmlXPathFunctionxmlXPathNewContextxmlXPathFreeObjecthere_IO_save_endboolvalxmlCleanupParserindexmax_funcs_unusedxmlStrdupFuncXML_COMMENT_NODE_xmlXPathObjectmax_axislong long unsigned intfilevalueMaxxmlDocPtrsys_errlist_IO_backup_basexmlNsType_offsetXML_ERR_WARNINGxmlXPathTypePtrsys_nerr_xmlXPathContextvalue_filenoxmlXPathContextxmlXPathTypeprefixsize_t_vtable_offset_markersXML_XINCLUDE_ENDXPATH_STRINGfloatvalnodeNr_IO_read_basexmlDocstr1str2str3originflagsxmlXPathObjectTypecodexmlXPathContextPtr__fmtXML_ATTRIBUTE_NODEnb_variables_unusedtypesxmlParseFileindex2XML_ATTRIBUTE_ENTITIESxmlNodexmlXPathObjectPtrxmlXPathVariableLookupFunc__stream_xmlError_xmlXPathTypechar__fprintf_chk_modenodeMaxencoding_IO_markernodesetval_IO_read_ptrint1proximityPositionxmlXPathFreeContextxmlStructuredErrorFuncXML_CDATA_SECTION_NODExmlXPathFuncLookupFuncXML_NAMESPACE_DECLusageoldNsxmlErrorLevelXML_ATTRIBUTE_IDxmlXPathEvalExpressionXPATH_BOOLEAN_IO_write_basexmlMallocFunclong long intXML_ENTITY_NODEXML_XINCLUDE_STARTancestor_IO_save_base_xmlAttrdepthxmlXPathAxisatypehrefcontextopLimitdictxmlXPathCompExprxmlDictPtrfuncHashmax_typescharsetXML_DTD_NODExmlXPathNINFxmlXPathAxisPtrparseFlagsfuncLookupFuncnb_axissize_freeres_buffunctionURIXML_NOTATION_NODEdebugNodexmlErrorxmlXPathParserContextPtr__pad5long unsigned intXML_ATTRIBUTE_DECLxmlMemStrdupargcxmlXPathAxisFunc_xmlXPathAxisnsHashopCountnamespacesargvlong doubleextSubsettmpNsListxmlMemoryDumpxmlNodeSetPtrxmlFreeDocxmlElementTypexmlXPathParserContextpsvivarLookupFuncXML_ATTRIBUTE_ENTITYnsDef_IO_read_endrefsXML_ATTRIBUTE_NOTATIONshort intxmlHashTableXML_DOCUMENT_TYPE_NODEctxtlong intpropertiesXPATH_UNDEFINEDGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlNodeSetContentxmlXPathPINFxpathObjxmlXPathCompExprPtr_IO_wide_dataxptrxmlRealloc_xmlDocfprintfxpath2.cxmlHashTablePtrdomainXML_PI_NODEextraXML_ATTRIBUTE_IDREFstandalonenameXPATH_NUMBER_xmlDictXPATH_NODESETXPATH_USERS_xmlXPathParserContext_wide_dataint2nb_funcs_unused_lock_IO_codecvt_codecvtxmlNodePtrvalueFramestdin_IO_FILE__assert_failXML_ELEMENT_DECLXML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_NMTOKENStypeunsigned charxmlCheckVersionfunctionlineXML_ERR_FATALxmlNodeSet_IO_write_ptrnotationsExternalIDxmlNsPtrattributescontextSizexmlXPathConvertFuncXML_ELEMENT_NODEcontentfuncLookupDataXML_ERR_NONEupdate_xpath_nodesXML_ATTRIBUTE_NMTOKENnsNr_xmlHashTablexmlReallocFuncstdoutXML_DOCUMENT_FRAG_NODExmlMallocAtomiccompressionfwrite__off_tvarHashsigned charXML_HTML_DOCUMENT_NODEuserDatashort unsigned intXML_ENTITY_REF_NODEXML_DOCUMENT_NODEmain__PRETTY_FUNCTION__xmlFreeFuncchildrendoublevarLookupData_chainuserexample4_xmlNodeFILE_flags2XML_ATTRIBUTE_ENUMERATIONcompxmlNs_cur_columnvalueTab__off64_t_unused2_IO_buf_basexmlXPathNAN/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�BcH0{F�B�B �E(�A0�A8�DP2
8A0A(B BBBA
�	
0)
?1Yt2��3��4�B%B+DX{j�(	!"$&(*12345607���	�0�'�����X�!�����+,-./*1GUc{hv��������$2.annobin_xpath2.c.annobin_xpath2.c_end.annobin_xpath2.c.hot.annobin_xpath2.c_end.hot.annobin_xpath2.c.unlikely.annobin_xpath2.c_end.unlikely.annobin_xpath2.c.startup.annobin_xpath2.c_end.startup.annobin_xpath2.c.exit.annobin_xpath2.c_end.exit.annobin_usage.start.annobin_usage.endusage__PRETTY_FUNCTION__.7902.annobin_main.start.annobin_main.end__PRETTY_FUNCTION__.7918__PRETTY_FUNCTION__.7911.LC2.LC0.LC1.LC3.LC10.LC9.LC8.LC7.LC6.LC5.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupstderr_GLOBAL_OFFSET_TABLE___fprintf_chk__assert_failmainxmlInitParserxmlCheckVersionxmlParseFilexmlXPathNewContextxmlXPathEvalExpressionxmlNodeSetContentxmlXPathFreeObjectxmlXPathFreeContextstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpfwriteN��������4��������&#��������25��������96��������>Q��������P�������� 1��B$,B + , - .22{S��������)T��������XU��������lV���������W���������X��������Y��������Z��������#[��������+\��������3]��������8^��������=_��������UN��������f7��������k`��������t���������#�5���������8���������Q���������N���������9���������P���������Z���������]������������������N���������:���������`���������]��������N��������;��������P��������!#$-5��������4<��������9Q��������@#$L5��������S=��������XQ��������_#$k5��������r>��������wQ��������
%
*\	
*�

*�
(�%
)*
*�8
*�F
*8	M
*cT
*�[
*�
b
*�i
*_
p
*	u
*O
�
*l�
*&�
*�
*��
*C�
*f�
*��
*�
*F�
*7
*�
*
*p*
*�7
*;D
*�Q
*�^
*k
*�x
**�
*��
*W�
*��
*G�
*b�
*U�
*t�
*B�
*-�
*o
*�
*9!
*v/
*%;
*VC
*Pj
*hu
*w
�
*��
*
�
*i�
*}�
*/�
*;
*�"
*x(
*.
*�4
*�
:
*q@
*�
F
*�L
*�
R
*	X
*
^
*�d
*k
j
*p
*�v
*�|
*?�
*��
*��
*��
*��
*�
*�
*�
�
*��
*��
*��
*��
*��
*2�
*��
*6�
*
*�
*�(
*�
6
*�
D
*1R
*`
* n
*�
*��
*A	�
*��
*��
*�
*�
�
*�
*�
*�
*�
*
*�
8
*1F
*T
* b
*~
*E�
*��
*c�
*��
*O�
*��
*m�
*�
�
*�
*�
*�

*�
-
*1;
*I
* W
*s
*<
�
*�
�
*��
*N�
*��
*%�
*G�
*��
*

*�
*�)
*H7
*A	N
*BS
*7_
*d
*�v
*K�
*Q�
*��
* �
*��
*��
*��
*��
*��
*Z
*�
*�(
*�6
*�
D
*�
R
*1`
*n
* |
*�
*��
*��
*��
*}�
*$�
*%	
*�
+	
*UL	
*�r	
*��	
*	�	
*��	
*�
�	
*��	
*]�	
*��	
*�	
*�	
*��	
*

*�


*Z

*�)

*�6

*C

*P

*+]

*0j

*5w

*s�

*M�

*3	�

*��

*��

*��

*��

*,
�

*�

*a
*�#
*�/
*�L
*�Z
*�h
*�v
*W
�
*|�
*�
*��
*R�
*��
*�
*b�
*��
*�
*2
*�
*,
*n:
*xH
*�
V
*�d
*:r
*#�
*��
*�
�
*�
�
*�
*|�
*S�
*��
*X�
*)�
*�


*�

*(

*�7

*�F

*AU

*1d

*�s

**�

*��

*_�

*��

*+�

*Q�

*��

*��

*�
*�
* 
*c.
*L<
*�
J
*�X
*�g
*�y
*,�
*��
*�
*?�
*)�
*p�
*L	�
*�
*8�
*�
�
*��
*�
*]
*G
*
*�*
*�7
*[D
*�Q
*^
*wk
*x
*��
*�
*��
*��
*�
�
*z�
*��
*�
*�

*�
*m;
*a
*�m
*z
*�
�
*��
*8�
*O�
*��
*�
*�
*"
*c
;
*�H
*M
U
*+b
*�o
*�{
*��
*j�
*�
�#�
*�
*��
*S�
*�
*J
*Z

*�
)#(H
*�U
*�
a
*�
k#�
*�
�2�
*��
&�
&�
*=�
&x�
&j�29�
(0�
&�
&�
&�
&�
&
&
(0
&^!
&T*
&�.
&�7
&J;
&FD2�M
(p]
&�a
&�j
&�n
&�s
(p|
&��
&��
& �
&�2��2��'��#�2��2�
&q
&o2�4�I2�R2�n
&�r
&�|2����2��2��
&��
&��2�X2\2p12�O2\2 t2/�27�2��2��2��2=!!#(+2\@M`#(j2{{��#(�2R�2R�
&��
&��2o�02#2-+2<82AE2xR2�f
*�
w
*�
*r��
&1�
&'���
&��
&��""%
(3
(8BI	Vi#v
*;
z
*;
�
*��
*��
*+�
*+�
*H
�
*��
*��
*��
*`�
*`�
*!�
*!�
*s�
*s�
*��
*��
*��
*��
*~�
*~
*�
*�
*
*
*�
*�'
*b+
*b22"2"#2R12R92jD2jL2{x2�2"�2"�2��2��2R�2R�2c�2c�2}�2}�2��2��2{29%2702}82�C2�K2�V2�^2i2q2{�29�2��2��2��2��2��2��2�2�2{212s2�&21292{^2_f2oq2oy2C�2}�2��2��2�2�2�2s�2��2��2C�2}2�2�2�#2�+2�J2�R2�]2�e2��2��2�2}�2��2��2�2}�2��2��2� 2�(2�92�A2�L2�T2�q2�y2����2��2����2��2�X�2R2o019DL!W!_"m"u=�=�B��"�
$ 2""#B029827@2}H2�P2�X2{p2�x2�2}�2���B�2�2{��2 42.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9?FT9@Fl9AF�(9BF�9C �B@R�9&,641@�R�9
LH[H�V@HS09
u���@xS09A�����@�S09������@�S09�2�
92�
��8@T09A
{<@8TP9O�1\�3W@�X@,9h�({�+�v@Ȅ�
9"��1@�@`�H9$�2��@���9&��2P�@X�09(�0(6��0�D.� EA Eu EL E  E� E� E� E E E$ E <@Ex7@��097�E	:N	�N9��Mshare/doc/alt-libxml2-devel/examples/reader2.o000064400000063740150505766030015202 0ustar00ELF>`Y@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AW�
RAVAUATUSH��H���H�C�1�H��H�D$�H��H���Of�H���H�߉Ń����H��H��H��H�HD��H��I���H��A���H��A���H��A���H��E��I��AU��D��H�5�1��XZM��t@L���L��(~H�5�1���M���H�5�1���5����
��&������u'H�����u<��H��1�[]A\A]A^A_�H�L$H�=H�1����H�L$H�=H�1����H�L$H�=H�1����--%d %d %s %d %d %.40s...
 %s
%s : failed to parse
Unable to open %s
Document %s does not validate
�
�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��
9*C
B36<CK)
MW]CqC)
W}����<DI @� @� @�*�*�K�
�qc�j��]a��*	]a]*	0	h�=	I	U	b	K
to	{	�	�	$$��	�	 U1 T	 R Xv Y~�	.
5�	�	 U1 T	 Q|�	0��	�	 U1 T	�	+��	�	 U:!�	� Us!
� Us!
 Us!
. Us!+
F Us!7
^ UsC
 U|�	!R��	"�	O
 T1 Q	 R���	!V
4�	"�	O
 T1 Q	 R���	!Y	�#�	
�"�	O
 T1 Q	 R��![
� U�� T0 QJ!h
� Us$t
�
 Us!�
	 U

R$�
$�
�%;b	&;�'<�(ret=	a%�	&�'�'�)ka�	&k �*)da�	&d�&d<�*+\,�
-+�+�+�+�+�+�+	U+Z.I+�.+v+
.9+
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'I'I>I:;9(((.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B1R�BXYW��1 ���B!��1"1#1$��1%.:;9' &:;9I'4:;9I(4:;9I).?:;9'I 4*+.?<n:;9,6-.?<n:;..?<n:;9U�U�TS�T�P����PSSPSP1�PVVSSPVVP\Q\
�
�
��
�
�,�
U�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>!	�K�!j 	.!wX	�!w	JZ\J$�SXX@	�U�+<	/
�P
\::=tL
Z
:>X��
$�	w

��@<
Y=
tC;
.
__X�
�dX	[�J\YI/ _�
�.
p
�.	s
J�printf__off_txmlTextReaderNodeType_IO_read_ptrXML_PARSE_PEDANTIC_chainxmlStrdupFuncXML_PARSE_NODICT/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_t_shortbufXML_PARSE_NOXINCNODE_IO_buf_baseXML_PARSE_IGNORE_ENClong long unsigned intXML_PARSE_BIG_LINESreader_codecvtxmlTextReaderIsEmptyElementlong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobin_fileno_IO_read_endstreamFilelong int_flags_IO_buf_endstdin_xmlTextReaderputchar_IO_codecvt__printf_chkXML_PARSE_DTDATTR_offsetmainxmlTextReaderxmlCharxmlCleanupParserXML_PARSE_HUGEvalue_IO_markerunsigned int_freeres_bufxmlReallocFuncfprintfxmlMemoryDump__streamlong unsigned intxmlCheckVersionxmlFreeFuncxmlTextReaderHasValue_IO_write_ptrname__builtin_putcharsys_nerrprocessNodeshort unsigned intXML_PARSE_DTDLOAD_IO_save_basexmlFreeTextReaderXML_PARSE_OLD10xmlTextReaderDepthxmlMallocAtomic_lockXML_PARSE_DTDVALID_flags2_modestdoutxmlMallocXML_PARSE_NOWARNINGXML_PARSE_XINCLUDEXML_PARSE_OLDSAXxmlReallocfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_end_IO_lock_t_IO_FILE_old_offsetsys_errlist_markersxmlFreexmlTextReaderReadXML_PARSE_NSCLEANXML_PARSE_NOENTunsigned charshort intxmlTextReaderConstValue_IO_wide_data_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_PARSE_COMPACTreader2.clong doublecharxmlStrlen__off64_t_cur_column_IO_read_base_IO_save_endXML_PARSE_NONET__fmtXML_PARSE_NOBLANKSxmlTextReaderConstName__pad5_unused2stderrxmlMallocFuncXML_PARSE_SAX1_IO_backup_baseXML_PARSE_RECOVERXML_PARSE_NOCDATAargcxmlTextReaderIsValid_freeres_listXML_PARSE_NOERRORXML_PARSE_NOBASEFIX_wide_dataargv_IO_write_baseGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�T�Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBA
�	.+B/]y0��1��2� "$&(/01234.5-27<AF"K8P\l��)*+,-�������#9Uk~��������.annobin_reader2.c.annobin_reader2.c_end.annobin_reader2.c.hot.annobin_reader2.c_end.hot.annobin_reader2.c.unlikely.annobin_reader2.c_end.unlikely.annobin_reader2.c.startup.annobin_reader2.c_end.startup.annobin_reader2.c.exit.annobin_reader2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.LC6.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlTextReaderIsValidxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++�&E��������>F��������TG��������gH��������w-���������I���������J���������K���������L���������M���������.���������N���������O���������/���������N��������0��������N��������!P��������+Q��������8R��������AS��������FT��������cU��������j1��������vV���������U���������2���������V���������U���������3���������V��������

#V
#�
#k
!�%
"*
#�8
#U?
#
H
#pO
#�V
#J]
#~k
#Up
#|
#�
#�
#
�
#^�
#%�
#=�
#*�
#K�
#��
#�
#�
#e
#�)
#�6
#8C
#+P
#E]
#5j
#dw
#�
#�
#��
#��
#K�
#��
#�
#;�
#�
#�
#�
#l
#�!
#�-
#�5
#\
#�g
#��
#q�
#r�
#��
#��
#�
#�
#<	
#�
#w+
#�L
#'r
#L�
#��
#`�
#��
#��
#Q�
#�
#��
#2�
#[�
#��
#��
#E�
#Z�
#N�
#�
#�

#�
#
#'%
#�.
#�7
#�@
#�L
#�Q
#y]
#;i
#�u
#4�
#��
#��
#w�
#��
#��+�
#��
�
�
#F�
C�
=�+=
!
�
� 
!)
�-
�6
e:
[C+fL
!@\
�`
�e
!@n
r
{
f
^�+��+��
��
��+���+��
!�
�

�+�%:+C+_
 c
h+~�+�+�
N�
L�+%�+k�+��+�+�/+�G+�_+�y+[�+[�
x�
v�+z��+|�+|�
�
�+�""9+�B+�`8o+��8�+B�+X�+/�+<�+*	+E	+J1	
#J>	
#�J	
#c	
#�p	
#|	
#��	
#��	
#�	
#U�	
#6�	
#L�	
#U�	
#��	
#��	
#��	
#��	
#n

#n

#�

#�

#�

#� 

# $

# ,

#0

#8

#(<

#(D

#
H

#
P

#�T

#�\

#�`

#�i

#<m

#<u

#�y

#��

#�

#�

#g�

#g�

#��

#��

#>�

#>++++�C+K+)V+)^+Ei+Eq+��+=�+A�+A�+@�+[�+��+E�+N�+N+Q+[+�%+�-+�8+�@+�e+]m+fx+f�+*�+*�+.�+.�+@�+[�+��+f�+�+�+*+t+{(+{0+;+C+*f+�n+�y+��+�+�+�+�+*�+��+���+��+ +(+3N+V+*a
�	x+[�+|��+|�+��"
++.+8+=+@ +[(+�@+XH+[P+fX+`+h+*�+��+��+��+�+�+�d+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@749P759h769�(779�78�!�'�1��,@x507	G�V��Q@�507ph�h�@�507<�<��@607����@8607��	8�@h607 �@�6�7,2�K;20
OO
�
J@�9�7[\n^�i@PN�7 ~00y@U07"�`��@@U�7$�0�@�V7&�0>"Z�0�).��)�)p�)G�)�)��)��)��)��)�)�) /�)p*@W75X*(8C	�2� W@share/doc/alt-libxml2-devel/examples/reader4000075500000017405150505766030014747 0ustar00#! /bin/sh

# reader4 - temporary wrapper script for .libs/reader4
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader4 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader4.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader4:reader4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader4:reader4:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader4:reader4:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader4'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/tree1000075500000017357150505766030014447 0ustar00#! /bin/sh

# tree1 - temporary wrapper script for .libs/tree1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The tree1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "tree1:tree1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "tree1:tree1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "tree1:tree1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'tree1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/xpath1000075500000017372150505766030014631 0ustar00#! /bin/sh

# xpath1 - temporary wrapper script for .libs/xpath1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The xpath1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "xpath1:xpath1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "xpath1:xpath1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "xpath1:xpath1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'xpath1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/tree1.o000064400000060500150505766030014665 0ustar00ELF>�R@@;:

.0-1,2+3H��tKUH�-SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�����GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignnode type: Element, name: %s
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��U�
RSH��Q�H�{1�1��H��H��t#H���H���H����Z1�[]�H�SH�5�1����error: could not parse file %s
��5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� ����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�2(
��0
��8doc
�2@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'2
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
02@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�e0
��
��
�K
��
��
�C 
�2(Xe`
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
�CX�
���
%��F��C9�B3��C	)M
		C'	C)W3	9	�H	������	���'	3ap��
3
a3�
doc5
�6�fF	L
w
� �!U1!T	"�e
!U

R"��
!T0!Q0"��
!Uv#�
"��
!Uv#��$Q�f�!�%f%
X&w �!U1!Tv#�
'ka�(k �)*\*
+q+
�+
+9%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<!7I>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BXYW1 ��1!���B"��1#��1$.:;9'@�B%1R�BUXYW&1�B'.?:;9'I 4(:;9I)*.?<n:;9+.?<n:;9U�U�TS�T�S0�PVPV0�P0�U�U�U0�USSU
�<QpD@�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h	U
� �t	�	j'�0J_X
a�
t	3K �\  tXJt [�]���Z/  	n %
 printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basemainpsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLtree1.c_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetxmlDocGetRootElementxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypeXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_xmlDtdroot_element_lock_flags2_modecur_nodestdoutXML_PI_NODEprint_element_namesXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselementsxmlReadFile_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderra_nodeXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,QF�H�G \
AAEX��,LpP�F�D x
CAA
�	
/'
<0Uo1��2��3�Q7QK_p !#%')012345/6qv{����*+,-.���p�	*5.annobin_tree1.c.annobin_tree1.c_end.annobin_tree1.c.hot.annobin_tree1.c_end.hot.annobin_tree1.c.unlikely.annobin_tree1.c_end.unlikely.annobin_tree1.c.startup.annobin_tree1.c_end.startup.annobin_tree1.c.exit.annobin_tree1.c_end.exit.annobin_print_element_names.start.annobin_print_element_names.endprint_element_names.annobin_main.start.annobin_main.end.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE___printf_chkmainxmlCheckVersionxmlReadFilexmlDocGetRootElementxmlFreeDocxmlCleanupParser	0��������GB�������� -��Q$,Q ' ( ) *..pD��������(E��������8F��������@��������HG��������MH��������^1��������jB��������
!
&'
&
&1
$0%
%*
&c8
&�?
&HH
&vO
&V
&]
&�k
&=p
&|
&��
&{�
&�
&S�
&�
&'�
&��
&$�
&��
&�
&�
&Z
&+)
&�6
&�C
&MP
&]
&j
&Tw
&��
&��
&��
&o�
&N�
&��
&��
&��
&��
&U�
&	
&\
&:!
&�-
&5
&&\
&}g
&��
&f�
&k�
&C�
&��
&A�
&�	
&�
&Q
&�
&5!
&�'
&1-
&r3
&9
&�?
&�E
&�K
&6Q
&QW
&�]
&c
&�i
&o
&yu
&�{
&l�
&�
&I�
&��
&�
&�
&%�
&�
&3�
&��
&��
&x�
&��
&��
&�
&�
&�#
&m1
&&?
&LM
&j[
&��
&��
&*�
&��
&��
&��
&��
&9�
&��
&�	
&�
&m%
&&3
&LA
&jO
&�k
&�y
&��
&�
&��
&��
&��
&��
&.�
&��
&��
&�
&m
&&(
&L6
&jD
&�`
&�n
&�|
&��
&��
&F�
&��
&4�
&V�
&��
&L
&�
&p$
&*;
&B
&dG
&�L
&cY
&�f
&�t
&j�
&��
&��
&��
&��
&��
&��
&��
&��
&�

&m
&&)
&L7
&jE
&�n
&|
&��
&�
&q�
&��
&��
&h	
&b(	
&#I	
&$U	
&�a	
&�m	
&[y	
&��	
&��	.�	
&��	
"�	
"�	
&�	
"E�	
"=�	
"��	
"��	
&A�	
"$�	
"�	.W
.W"
,
.nB
M
.f
.,�
.<�
.D�
.L�
.Q�

&~�
�

&J�

"u
"o
&b
"�
"�8&
$6
"=:
";?KY$g
&x
&��
&��
&��
&��
&��
&��
&��
&��
&��
&v�
&v�
&��
&�....pE.M.X.`.Uk.Us.W�.W�.p�.�./�./�.4�.4�.V�.W�.i�.i.p$.,.<8.<@.CK.WS.pu}��M�M�Q������24
MM Q=4EMP
  .
8Q08Q@.H.pO�. P..symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@82>T83>l84>�(85>�86 �Q@h208&!,!6$41@�2�8
LX[X�V@(308
u,�,��@X3082���@�308������@�308�2�

�
8@�3082p-@4�8@2p T��O@�4�8`bks�in@hJh8!�6@~@�NH8#�v`�@O�8%��H�@�O08'�0 ]�0{(.��(2�(u�(L�( �(��(��(��(��(�(�( 4�(x/@P086H)�9A	 0F8PEshare/doc/alt-libxml2-devel/examples/parse2.c000064400000003661150505766030015032 0ustar00/**
 * section: Parsing
 * synopsis: Parse and validate an XML file to a tree and free the result
 * purpose: Create a parser context for an XML file, then parse and validate
 *          the file, creating a tree, check the validation result
 *          and xmlFreeDoc() to free the resulting tree.
 * usage: parse2 test2.xml
 * test: parse2 test2.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

/**
 * exampleFunc:
 * @filename: a filename or an URL
 *
 * Parse and validate the resource and free the resulting tree
 */
static void
exampleFunc(const char *filename) {
    xmlParserCtxtPtr ctxt; /* the parser context */
    xmlDocPtr doc; /* the resulting document tree */

    /* create a parser context */
    ctxt = xmlNewParserCtxt();
    if (ctxt == NULL) {
        fprintf(stderr, "Failed to allocate parser context\n");
	return;
    }
    /* parse the file, activating the DTD validation option */
    doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID);
    /* check if parsing succeeded */
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse %s\n", filename);
    } else {
	/* check if validation succeeded */
        if (ctxt->valid == 0)
	    fprintf(stderr, "Failed to validate %s\n", filename);
	/* free up the resulting document */
	xmlFreeDoc(doc);
    }
    /* free up the parser context */
    xmlFreeParserCtxt(ctxt);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    exampleFunc(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
share/doc/alt-libxml2-devel/examples/xpath1.c000064400000014741150505766040015045 0ustar00/** 
 * section: 	XPath
 * synopsis: 	Evaluate XPath expression and prints result node set.
 * purpose: 	Shows how to evaluate XPath expression and register 
 *          	known namespaces in XPath context.
 * usage:	xpath1 <xml-file> <xpath-expr> [<known-ns-list>]
 * test:	xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
 * author: 	Aleksey Sanin
 * copy: 	see Copyright for the status of this software.
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>

#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>

#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED)


static void usage(const char *name);
int  execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList);
int  register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList);
void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output);

int 
main(int argc, char **argv) {
    /* Parse command line and process file */
    if((argc < 3) || (argc > 4)) {
	fprintf(stderr, "Error: wrong number of arguments.\n");
	usage(argv[0]);
	return(-1);
    } 
    
    /* Init libxml */     
    xmlInitParser();
    LIBXML_TEST_VERSION

    /* Do the main job */
    if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) {
	usage(argv[0]);
	return(-1);
    }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * usage:
 * @name:		the program name.
 *
 * Prints usage information.
 */
static void 
usage(const char *name) {
    assert(name);
    
    fprintf(stderr, "Usage: %s <xml-file> <xpath-expr> [<known-ns-list>]\n", name);
    fprintf(stderr, "where <known-ns-list> is a list of known namespaces\n");
    fprintf(stderr, "in \"<prefix1>=<href1> <prefix2>=href2> ...\" format\n");
}

/**
 * execute_xpath_expression:
 * @filename:		the input XML filename.
 * @xpathExpr:		the xpath expression for evaluation.
 * @nsList:		the optional list of known namespaces in 
 *			"<prefix1>=<href1> <prefix2>=href2> ..." format.
 *
 * Parses input XML file, evaluates XPath expression and prints results.
 *
 * Returns 0 on success and a negative value otherwise.
 */
int 
execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList) {
    xmlDocPtr doc;
    xmlXPathContextPtr xpathCtx; 
    xmlXPathObjectPtr xpathObj; 
    
    assert(filename);
    assert(xpathExpr);

    /* Load XML document */
    doc = xmlParseFile(filename);
    if (doc == NULL) {
	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
	return(-1);
    }

    /* Create xpath evaluation context */
    xpathCtx = xmlXPathNewContext(doc);
    if(xpathCtx == NULL) {
        fprintf(stderr,"Error: unable to create new XPath context\n");
        xmlFreeDoc(doc); 
        return(-1);
    }
    
    /* Register namespaces from list (if any) */
    if((nsList != NULL) && (register_namespaces(xpathCtx, nsList) < 0)) {
        fprintf(stderr,"Error: failed to register namespaces list \"%s\"\n", nsList);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* Evaluate xpath expression */
    xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx);
    if(xpathObj == NULL) {
        fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* Print results */
    print_xpath_nodes(xpathObj->nodesetval, stdout);

    /* Cleanup */
    xmlXPathFreeObject(xpathObj);
    xmlXPathFreeContext(xpathCtx); 
    xmlFreeDoc(doc); 
    
    return(0);
}

/**
 * register_namespaces:
 * @xpathCtx:		the pointer to an XPath context.
 * @nsList:		the list of known namespaces in 
 *			"<prefix1>=<href1> <prefix2>=href2> ..." format.
 *
 * Registers namespaces from @nsList in @xpathCtx.
 *
 * Returns 0 on success and a negative value otherwise.
 */
int 
register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList) {
    xmlChar* nsListDup;
    xmlChar* prefix;
    xmlChar* href;
    xmlChar* next;
    
    assert(xpathCtx);
    assert(nsList);

    nsListDup = xmlStrdup(nsList);
    if(nsListDup == NULL) {
	fprintf(stderr, "Error: unable to strdup namespaces list\n");
	return(-1);	
    }
    
    next = nsListDup; 
    while(next != NULL) {
	/* skip spaces */
	while((*next) == ' ') next++;
	if((*next) == '\0') break;

	/* find prefix */
	prefix = next;
	next = (xmlChar*)xmlStrchr(next, '=');
	if(next == NULL) {
	    fprintf(stderr,"Error: invalid namespaces list format\n");
	    xmlFree(nsListDup);
	    return(-1);	
	}
	*(next++) = '\0';	
	
	/* find href */
	href = next;
	next = (xmlChar*)xmlStrchr(next, ' ');
	if(next != NULL) {
	    *(next++) = '\0';	
	}

	/* do register namespace */
	if(xmlXPathRegisterNs(xpathCtx, prefix, href) != 0) {
	    fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href);
	    xmlFree(nsListDup);
	    return(-1);	
	}
    }
    
    xmlFree(nsListDup);
    return(0);
}

/**
 * print_xpath_nodes:
 * @nodes:		the nodes set.
 * @output:		the output file handle.
 *
 * Prints the @nodes content to @output.
 */
void
print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) {
    xmlNodePtr cur;
    int size;
    int i;
    
    assert(output);
    size = (nodes) ? nodes->nodeNr : 0;
    
    fprintf(output, "Result (%d nodes):\n", size);
    for(i = 0; i < size; ++i) {
	assert(nodes->nodeTab[i]);
	
	if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
	    xmlNsPtr ns;
	    
	    ns = (xmlNsPtr)nodes->nodeTab[i];
	    cur = (xmlNodePtr)ns->next;
	    if(cur->ns) { 
	        fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", 
		    ns->prefix, ns->href, cur->ns->href, cur->name);
	    } else {
	        fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", 
		    ns->prefix, ns->href, cur->name);
	    }
	} else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) {
	    cur = nodes->nodeTab[i];   	    
	    if(cur->ns) { 
    	        fprintf(output, "= element node \"%s:%s\"\n", 
		    cur->ns->href, cur->name);
	    } else {
    	        fprintf(output, "= element node \"%s\"\n", 
		    cur->name);
	    }
	} else {
	    cur = nodes->nodeTab[i];    
	    fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type);
	}
    }
}

#else
int main(void) {
    fprintf(stderr, "XPath support not compiled in\n");
    return 0;
}
#endif
share/doc/alt-libxml2-devel/examples/reader2.c000064400000006077150505766040015167 0ustar00/**
 * section: xmlReader
 * synopsis: Parse and validate an XML file with an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file
 *          validating the content in the process and activating options
 *          like entities substitution, and DTD attributes defaulting.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader2 <valid_xml_filename>
 * test: reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

/**
 * processNode:
 * @reader: the xmlReader
 *
 * Dump information about the current node
 */
static void
processNode(xmlTextReaderPtr reader) {
    const xmlChar *name, *value;

    name = xmlTextReaderConstName(reader);
    if (name == NULL)
	name = BAD_CAST "--";

    value = xmlTextReaderConstValue(reader);

    printf("%d %d %s %d %d", 
	    xmlTextReaderDepth(reader),
	    xmlTextReaderNodeType(reader),
	    name,
	    xmlTextReaderIsEmptyElement(reader),
	    xmlTextReaderHasValue(reader));
    if (value == NULL)
	printf("\n");
    else {
        if (xmlStrlen(value) > 40)
            printf(" %.40s...\n", value);
        else
	    printf(" %s\n", value);
    }
}

/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse, validate and print information about an XML file.
 */
static void
streamFile(const char *filename) {
    xmlTextReaderPtr reader;
    int ret;


    /*
     * Pass some special parsing options to activate DTD attribute defaulting,
     * entities substitution and DTD validation
     */
    reader = xmlReaderForFile(filename, NULL,
                 XML_PARSE_DTDATTR |  /* default DTD attributes */
		 XML_PARSE_NOENT |    /* substitute entities */
		 XML_PARSE_DTDVALID); /* validate with the DTD */
    if (reader != NULL) {
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            processNode(reader);
            ret = xmlTextReaderRead(reader);
        }
	/*
	 * Once the document has been fully parsed check the validation results
	 */
	if (xmlTextReaderIsValid(reader) != 1) {
	    fprintf(stderr, "Document %s does not validate\n", filename);
	}
        xmlFreeTextReader(reader);
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
        }
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
    }
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    streamFile(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/reader4.o000064400000073210150505766040015176 0ustar00ELF>h@@:9

-/,0+1*2UH��SH�������f�H�����t�H���H����H���H��tL��u H��H��H�51�[�]�@H�=H��H��1�[H��]�DH�
��H�=��f����h���f�H�
H����[H�=]�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignfailed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AUATUS�H������I��A���
R�I�}1�1��H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H���H���L9�u�H���H��tH���H��1����H����[]A\A]�I�MH�=H�1����ӑ�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K9���CB3��C�)M		C	C)W+	1	�@	����������	
c�	
j�	�	5a��b5a5b6�	i7	a8��J�
� �!"Ts"Q	#�
"U

R#�
"T0"Q0#h�
"Uv#%�
"Uv"Q0"R0#h
"Uv#2""Uv$?#LG"Uv$X$e�%
�&)�	'ret	a(�'URL�)ka�&k �*)da�&d�&d<�*+h��u,�,�,�-�2��.q"U1"T	-�.�� �."T1"Q	�8*/
� �!}"U	"T1"QE-h
�
u/0�0�0�1�$2�
� �.}"U	"T1"QJ#��
"Uv#��
"Uv!2"Uv3Z34
I4
i4
4
3
v493�3\53
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BXYW1�B 1!��1"���B#��1$��1%.:;9' &:;9I'4:;9I(4:;9I).?:;9'I 4*+.1@�B,41�B-1R�BUXYW.���B1/U04111R�BUXYW213.?<n:;94.?<n:;95.?<n:;U\�U�\T]�T�]PVPV2�P
�UV�U�V�U�P1�PPPPPVQVRV
�
�
�V�U�<��R_�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>4	4
�Y!
�	X��	u\O9F
:JF�
: FX
: �A6
Mt
3JMX
3 M�
3 �D:
���
��
Mt
3JM�
3 Mt
3 X!	4K!
l!zXO�X^�\�g/	z�X�Y�
<v.]\YW�
<�e
printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrreader4.cnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modeprocessDocstdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesxmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLdocPtrreaderPtr_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODExmlReaderNewFileversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�@�A�D�D K
MFIK
FMJCKH8`�F�B�A �A(�I0�
(C ABBA
�	
.+
B/]y0��1��2!�9�DX� "$&(/01234.5jFo1ty~X�����)*+,-��&-;B�GWhy���.annobin_reader4.c.annobin_reader4.c_end.annobin_reader4.c.hot.annobin_reader4.c_end.hot.annobin_reader4.c.unlikely.annobin_reader4.c_end.unlikely.annobin_reader4.c.startup.annobin_reader4.c_end.startup.annobin_reader4.c.exit.annobin_reader4.c_end.exit.annobin_processDoc.start.annobin_processDoc.endprocessDoc.annobin_main.start.annobin_main.end.LC3.LC2.LC1.LC0.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_xmlTextReaderReadxmlTextReaderCurrentDoc__printf_chkstderr__fprintf_chkfwritemainxmlCheckVersionxmlReaderForFilexmlReaderNewFilexmlFreeDocxmlFreeTextReaderxmlCleanupParserxmlMemoryDump
D��������$D��������3E��������Z/��������sG���������0���������G���������1���������I���������G���������2��������hF���������H���������I�������� ,���$,� & ' ( )--�(K��������5L��������E��������oM��������w���������E���������N���������O���������P���������Q���������G���������3���������H��������
 
%+
%
%1
#�%
$*
%c8
%�?
%[H
%�O
%(V
%]
%�k
%9p
%|
%�
%��
%S�
%O�
%�
%#�
%�
%��
%��
%
%�
%V
%P)
%�6
%&C
%�P
%]
%j
%~w
%��
%�
%=�
%o�
%x�
%��
%��
%{�
%S�
%h�
%j
%�
%�!
%L-
%H5
%\\
%�g
%�
%b�
%��
%��
%�
%w�
%�
%�
%�
%� 
%�&
%g,
%g2
%�8
%&>
%�D
%J
%P
%IV
%�\
%�b
%
h
%$n
%;t
%yz
%��
%w�
%
�
%��
%��
%l�
%q�
%��
%��
%��
%S�
%3�
%��
%�
%4�
%�
%�
%
(
%�6
%KD
%HR
%j`
%��
%��
%��
%��
%��
%��
%a�
%p�
%�
%�
%

%�*
%K8
%HF
%jT
%�p
%~
%��
%��
%��
%��
%��
%��
%A�
%��
%�
%

%�
%K-
%H;
%jI
%�e
%�s
%��
%��
%��
%B�
%��
%0�
%��
%�
%�

%�
%�)
%�@
%G
%�L
%�Q
%�^
%�k
%�y
%j�
%��
%��
%��
%��
% �
%��
%��
%�
%

%� 
%K.
%H<
%jJ
%�s
%��
%��
%��
%�
%��
%��
%u 	
%#C	
%�H	
%7T	
%�`	
%�l	
%�x	
%Q�	
%��	
%h�	
%�	
%��	-�	
%6�	
!�	
!�	
%��	
!o�	
!g�	
%>�	
!�

!�

!4

!2

%7"

!Z&

!X/
-�8
-�T

!X

!}b
-�y
X�
-,�
-9�
-I�
-s�
-{-�#-�0-�H-�U-�i
%�v
%>�
%7�
%�
%M�
%��
%��
%M�
!�
!�
!2!
!**
!�.
!�7
!�;
!�DPM
#]
!Ya
!Wfl|F�p�
#P�
!��
!����1�����
!�

!�

�
4
�=

#�M

!�Q

!�V

#�n
�w

#��
�
��
�
�
(�
7
%^
%^

%�
%�
%�
%�&
%�*
%�3
%;7
%;@
%�D
%�M
%^Q
%^Y
%�]
%�f
%�j
%�r
%�v
%�~
%�
%�
%��
%�--'-'#-].-]6-�D-�L-�o-w-+�-+�-��-��-��-��-��-<�-H�-H�-��-�-�-�-�4-I<-]Z-�b-�-��-��X��
�
�G�G��������2:EM*Y*a/l�t��7�L���������G�g�gkl�!�)�4�<�YPallF�l���1������������
 -PPT` a(f0g8pPpXw`{h�p�x������������������������--�n�- d-.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group/@74/T75/l76/�(77/�78 ��@x<P7&�,�6�41@�=�7
L�[��V@X>07
u�����@�>072�����@�>07�t	�t	��@�>07�2Hu
�8@?072
�-@H?87E�
�@@�@�7Qk�dS_@8[P7 tq#@o@�bH7"��# �@�b�7$��$V�@pe07&�0'(��0#1.�Q12Q1uQ1LQ1 Q1�Q1�Q1�Q1�Q1�Q1
X1 %x1� @�e0752�8C	�9��e6share/doc/alt-libxml2-devel/examples/parse2000075500000017372150505766040014621 0ustar00#! /bin/sh

# parse2 - temporary wrapper script for .libs/parse2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse2:parse2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse2:parse2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse2:parse2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/test1.xml000064400000000007150505766050015245 0ustar00<doc/>
share/doc/alt-libxml2-devel/examples/reader1.c000064400000004743150505766050015165 0ustar00/**
 * section: xmlReader
 * synopsis: Parse an XML file with an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file
 *          and dump the information about the nodes found in the process.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader1 <filename>
 * test: reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

/**
 * processNode:
 * @reader: the xmlReader
 *
 * Dump information about the current node
 */
static void
processNode(xmlTextReaderPtr reader) {
    const xmlChar *name, *value;

    name = xmlTextReaderConstName(reader);
    if (name == NULL)
	name = BAD_CAST "--";

    value = xmlTextReaderConstValue(reader);

    printf("%d %d %s %d %d", 
	    xmlTextReaderDepth(reader),
	    xmlTextReaderNodeType(reader),
	    name,
	    xmlTextReaderIsEmptyElement(reader),
	    xmlTextReaderHasValue(reader));
    if (value == NULL)
	printf("\n");
    else {
        if (xmlStrlen(value) > 40)
            printf(" %.40s...\n", value);
        else
	    printf(" %s\n", value);
    }
}

/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse and print information about an XML file.
 */
static void
streamFile(const char *filename) {
    xmlTextReaderPtr reader;
    int ret;

    reader = xmlReaderForFile(filename, NULL, 0);
    if (reader != NULL) {
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            processNode(reader);
            ret = xmlTextReaderRead(reader);
        }
        xmlFreeTextReader(reader);
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
        }
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
    }
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    streamFile(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/testWriter000075500000017446150505766050015604 0ustar00#! /bin/sh

# testWriter - temporary wrapper script for .libs/testWriter
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The testWriter program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file testWriter.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "testWriter:testWriter:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "testWriter:testWriter:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "testWriter:testWriter:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'testWriter'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/parse2.o000064400000126330150505766050015047 0ustar00ELF>X�@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AT�
RUSH���L�c�H��H��tc�1�L��H���H��H��th���t!H���H�����[1�]A\�H�=L��1�H���H�
�"�H�=��H�=L��1�H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
1"�5Eint�m�m���1%	3f	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D>`	FDh	Hfp	Ift	Jtx	MQ�	NX�	OJ�	QZ�	Y
��	[e�	\p�	]D�	^	C�	_
)�	`f�	bv��
+9��Z
51`k��
5��%�����f�������	E�
&
@}�	~C	y	��	�g	�
 raw�
(	�	f0	�	f4	�58
��
# �h4{buf6�	8�	9�	:�
cur;�
 end<�
(	=	f0	>	f4col?	f8	E5@	F�H	G�
P	H�
X	I	f`idJ	fd
$��
&����	sax�O	�C	�v	�f	�f	��
 	��
(	�f0	�f4	�{8	�f@	�fD	�UH	�VP	�fX	�f\	�h`	�	fh	�7p	�	f�	�
f�	�f�	�f�	�f�	�f�	�����f����
 �f(�f,�[0�m8�m@�fH�fL�fP��
X��`��h�ap�fx�f|�a��f��{��f��f��f��f�C�f�f�C�f�f���[�	f�
f��
��
��
�f�f�f[ag� �(f0f4$f8%f<&V@'fH(0P-�X.2�/5�05�3+�4f�5f�6+�8f�95�
'�	�
)�	 A�	B|C|D�E�
*
�	�����>�K�X�� ��(�10�h8�u@��H��P�X�3`�Qh�^p��x������� ���"��������$��1��$��
�����<��C��e�������
0��
&�	
'C	
(�
	
)�
	
*T	
+T 	
,I(	
-T0	
.T8doc
/�@	
1�H	
2�P	
3fX	
4�\	
5�
`	
6�
h	
8�pURI
9�
x	
:f�	
;f�
1���
i

r

<
��
	


�%
�<
�		

��

� !
�I	
� [	
��

�U!x
�O
�C
��

��

�T
�T 
�T(
�T0
�T8doc
��@ns
�aH
��P
�CX
�a`
�Ch
�Qp
�Qraa�
�I
�C
��

��

�T
�T 
��(
�T0
�T8doc
��@
�CH
�CP
�CX
�C`
��
h
��
p
�CxZ�
'�
(C
)�

*�
+T
,T 
-T(
.T0
/T8doc
0�@
3fH
4fL
:IP
;IX
<g`
=�
h
>�
pids
?Cx
@C�URL
A�
�
Bf�
D��
EC�
Ff�
Hf�O<
�
�<
"
'�
0#+0
2�
3�
4
5 �
c1
6 �c2
7 �
8 � 
9 �
(
1�+���
w�

��0
�a
�g
��
��

��

�C 
��(��
�z`
�0
�C
��

��

�T
�T 
�T(
�C0
�C8doc
��@ns
�aH
�	P
�CX
�=mz
�a
�cI
%O
&�i������C�
<��LXN�	O
f	P
f	Q�	R�	S�	T
f 	U�(	V�0	W�8	X
f@	Y
fD	ZCH	[CPM����C�Z��
C�'
%"9&J-\P*�9�P�pRh	SC	Tg	Us	XV	Yf 	Zf$	[h(	]<0doc^v8	_f@	baH	cfP	dfT	eaXamh`	i>hV<
�
n�2����T#�(W+	X1	Z5	[5	\5	]5 �O`&Cbx	c5	d5	e+fn� 	

�x<�2���J	
{�
f>!�
|Cm!f�C�^��!{�C�
�
j���C�
�
�
w��
!�$C�
�
�>DhC�
f�
�
�������C�
�
ff�
I����C�
f����C�
�
�
�
�#3C�	�@FQC�@�kq�C�
[���C�
�
�)���C�
f5�@�J�T�`�j�v��������rx�C�
�
�
f[ff[��Cc��!f��a�aELy��((�g	�!�	� �	� 	� �	� � �!s6��!f�C�f?�9@B3��!C�)M��!C
C)W!�+����������
<D @�"""""" "@"�###### #@$2f��a!%2f%2a!&g!=-!'t!()�!)�!*�!* '�!+�!,�!-T1-Q	-R|*�!	i '�!+�!,�!-U	-T1-Q"*�!&	� .�!
�+�!,�!-T1-Q	-R|/�!0�!� -Us-T|-Q0-R@0�!!-Uv,"-Us0"F!-U

R/"/("�1�!2�3�	4docv5df�!2d�2d<�6Z78�8�8
8�6896�%U:;9I$>&I$>I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!
:;9I8:;9
:;9I8
:;9I8:;9
:;9I8:;9>I:;9(
:;9I8>I:;9:;9I'I (
!'I"(#($.?:;9'I@�B%:;9I�B&1R�BUXYW'1�B(U)41�B*1R�BXYW+1,��1-���B.1/��10��11.:;9' 2:;9I34:;9I44:;9I5.?:;9'I 46.?<n:;97.?<n:;8.?<n:;9U�U�TS�T�\\PSSPSPVPVPV
�
�,����
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h<built-in>!	1K�!j 	.!wX	XZ[J�] >	\���\Y/bJ:
�.	��
��	4>
�parentnodeInfoTablastErrorexternalfatalErrorSAXFuncXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFunc_xmlNode_freeres_listrawconsumedXML_PARSE_OLD10xmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities_xmlStartTagXML_PARSE_DTDLOAD_flags2XML_PARSE_IGNORE_ENCbegin_pos_xmlNs_old_offsetetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORXML_PARSE_NSCLEANintSubseterrorcharactersendDocumentSAXFuncstartDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linexmlNewParserCtxtnexteXML_PARSE_UNKNOWNprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistXML_PARSE_NOCDATAinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedXML_PARSE_RECOVERfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYXML_PARSE_XINCLUDEgetParameterEntitySAXFuncserrorend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclparse2.cXML_PARSE_PEDANTICwarningSAXFunc_markersXML_XINCLUDE_ENDXML_PARSE_NOBASEFIX_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDexampleFuncfreeXML_PARSER_ENTITY_DECLnodememXML_PARSE_NOBLANKScodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntityXML_PARSE_DTDVALIDgetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodeXML_PARSE_DTDATTRxmlAttrvalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEXML_PARSE_HUGEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstr_xmlnsXML_ATTRIBUTE_IDXML_PARSE_NONETprocessingInstruction_IO_write_basexmlMallocFuncmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTXML_PARSE_NOENTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_idXML_PARSE_BIG_LINES_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtr_freeres_buf_IO_backup_baseXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_PARSE_NOERRORXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOMXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetxmlCtxtReadFilelinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONXML_PARSE_OLDSAXXML_PARSE_NOXINCNODEshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodeXML_PARSE_COMPACTxmlReallocgetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFXML_PARSER_IGNOREfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxt_vtable_offsetxmlEntityPtrXML_PARSE_NOWARNINGXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_infovstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlerdomaincontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFunchasExternalSubsetSAXFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdXML_PARSE_NODICTstartElementSAXFuncXML_PARSE_SAX1_chainvstatexmlAutomataStateFILEerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNselementsxmlParserCtxtPtr_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,�Q�F�A �W
CBA
�	.)?/Yt0��1��2�� "$&(/01234.5#(-2>Ncw)*+,-���������%.annobin_parse2.c.annobin_parse2.c_end.annobin_parse2.c.hot.annobin_parse2.c_end.hot.annobin_parse2.c.unlikely.annobin_parse2.c_end.unlikely.annobin_parse2.c.startup.annobin_parse2.c_end.startup.annobin_parse2.c.exit.annobin_parse2.c_end.exit.annobin_main.start.annobin_main.end.LC2.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewParserCtxtxmlCtxtReadFilexmlFreeDocxmlFreeParserCtxtxmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite * $ % & '++�A��������%B��������?C��������XD��������`E��������eF��������jG��������xH���������-���������I���������H���������.���������J���������H���������/���������I��������

#q
#
#7
!0%
"*
#	8
##?
#�H
#�T
#?[
#�b
#�p
#%u
#��
#��
#�
�
#�
#E�
#�
#G�
#��
#Z�
#M�
#�
#
#!
#�.
#�
;
#�H
#FU
#b
#go
#�|
#��
#��
#J�
#z�
#2�
#��
#v�
#��
#�
#�
�
#
#�
#�&
#02
#�:
#�
a
#�l
#��
#�
#��
#��
#2�
#��
#=�
#e
#�	
#*
%
#{2
#U
?
#�L
#=f
#s
#r�
#!�
#��
#M�
#��
#��
#N�
#�
#Z
##.
#';
#C	H
#(U
#b
#F|
#��
#
�
#��
# �
#(�
#�
#a�
#�
#(
#F
#
#H*
#�7
#�D
#=Q
#�^
#|k
#�x
#[�
#>�
#��
#5�
#��
#$�
#�
#c
�
#.�
#�
#�
#5
#N$
#�2
#
@
#5N
#-\
#qj
#�x
#N�
#C�
#��
#f�
#Z�
#
�
#��
#��
#v�
#�
#�
#� 
#�
.
#�<
#_	J
#�X
#g
#t
v
#��
#��
#�
�
#��
#2
�
#o�
#Q�
#�
�
#��
#
#�

#�*
#09
#�H
#�
W
#9f
#�
u
#I�
#��
#��
#R�
#��
#A�
#��
#N�
#��
#	
#7
	
#i
)	
#�8	
#�	G	
#�V	
#5e	
#t	
#z
�	
#n
�	
#��	
#��	
#��	
#��	
#�
�	
#�	
#��	
#�


#�


#C'

#�5

#*C

#�Q

#�	_

#m

#{

#��

#?�

#$�

#;�

#�	�

#	�

#�

#��

#�

#"
#x
#A
#
#D1
#;?
#M
#r[
#i
#w
#��
#��
#A�
#�
#��
#�
#��
#��
#2�
#
#�

#�
#�'
#�	4
#A
#�N
#�h
#|u
#��
#Z�
#�
#m�
#��
#�
#;�
#��
#Y

#�	

#t

#D4

#�:

#�	@

#�F

#dL

#RR

#�X

#�^

#�d

#�j

#�p

#�v

#|

#	�

#N�

#k�

#5�

#��

#\�

#��

#O�

#`�

#��

##�

#��

#��

#��

#*
�

#�

#��

#N
#T

#T
#�"
#�/
#�<
#�J
#�b
#
p
#~
#��
#��
#��
#�	�
#�
#��
#��
#�	
#.
#%
#y3
##A
#�[
#$i
#w
#��
#��
#��
#�	�
#�
#��
#��
#c�
#�
#x
#Z
#m-
#�;
#�P
#"^
#l
#�z
#��
#��
#�	�
#�
#��
#��
#��
#F�
#h
#(
#"
#0
#(L
#�h
#�
v
#2
�
#y�
#�
�
#.�
#��
#��
#��
#��
#)�
#f�
#�
#�
#�
#�
#;,
#�:
#�H
#BV
#�~
#�
#��
#��
#|�
#�
#/�
#�
#c
�
#��
#��
#�

#�
#�)
#
7
#�E
#S
#*
n
#[
{
#��
#�
#��
#��
#��
#�	�
#�
#��
#�
#�
"
#y1
#J
#A
W
#
j
#�w
#��
#��
#Y�
#Y�
#��
#�
#H�
#1�
#��
#
#�
#�"
#z	/
#<
#I
#0V
##c
#	p
#	}
##	�
#%�
#*�
# �
#��
#c�
#7
#�
#�
#�
.
#:
#?
#�Q
#P]
#,h
#�t
#T�
#�
�
#~�
# �
#r�
#�
#��
#|�
#��
#[�
#,
#c

#(
#5
#�B
#J[
#�}
#8�
#o�
#��
#M�
#��
#�
#��
#��
#i�
#��
#��
#�
#c
#�
#8
#�D
#tQ
#�^
#Zk
#=�
#z�
#��
#o�
#X�
#(	�
#��
#w�
#��
#�
#)�
#��
#H	�
#��
#��
#��
#�
#��
#L�
#�
#�
#�
#� 
#�&
#�,
#3
#h?
#kK
#��
#��
#D�
#�
#
%
#�2
#�i
#�	v
#��
#^�
#�
#�
4
#�R
#�_
#��
#��
#�
#��
#��
#��
#�
#�
#7%
#�2
#&?
#�L
#�Y
#�f
#�
#��
#[�
#f
#.

#�
#�&
#�3
#H@
#�M
#�
Z
#�h
#$z
#q�
#��
#��
#y�
#i�
#g
#�,
#o8
#�
D
#
P
#<\
#w
#M}
#��
#��
#I
�
#
�
#��
#f�
#$�
#g	�
#�
#��
#4�
#��
#V�
#��
#|�
#��
#-�
#`�
#{
#k
#�
#�

#w*+A
#�L
P
U
#�`
Cd
=m+$v
!�
��
��
!�
��
��
N�
B�+u�+u�
��
��+�� +� +�5 
9 
�C +�T n +�w +�� � +�� � +)� +C!+\!+d.!+ G!+iT!+nh!
#7	u!
#��!
# �!
#_�!
#
�!
#�	�!
#�
�!
#�
�!
#��!
#�!
#n�!
#n�!
#��!
#��!
#U�!
#U"
#8"
#8"
#�"
#�"
#� "
#�)"
#;-"
#;++++�C+K+V+^+,i+,q+��+$�+d�+u�+��+,�+B�+B�+o�+u+�+�+�+�'+�N+FV+Ta+Ti+dt+u|+��+��+��+��+��+��+��+u�+��+�+�
++$+d+u+�0+8+��+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@709P719h729�(739�74�!�'�1��,@[07	G�V��Q@8[07ph�h�@h[07<�<��@�[07����@�[07��	8�@�[07 �@(\�7,2�#;2+OF5"J@�]�97[{.n�1,i@8��7 ~�30y@(�07"��3P�@X��7$�/4��@�7&�0�6i�03Q.�aQaQpaQGaQaQ�aQ�aQ�aQ�aQaQhQ /�QH*@�75�Q8?	�X,�@share/doc/alt-libxml2-devel/examples/io2000075500000017331150505766060014113 0ustar00#! /bin/sh

# io2 - temporary wrapper script for .libs/io2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The io2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "io2:io2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "io2:io2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "io2:io2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'io2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/tree2.c000064400000006575150505766060014671 0ustar00/* 
 * section:  Tree
 * synopsis: Creates a tree
 * purpose:  Shows how to create document, nodes and dump it to stdout or file.
 * usage:    tree2 <filename>  -Default output: stdout
 * test:     tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
 * author:   Lucas Brasilino <brasilino@recife.pe.gov.br>
 * copy:     see Copyright for the status of this software
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)

/*
 *To compile this file using gcc you can type
 *gcc `xml2-config --cflags --libs` -o tree2 tree2.c
 */

/* A simple example how to create DOM. Libxml2 automagically 
 * allocates the necessary amount of memory to it.
*/
int
main(int argc, char **argv)
{
    xmlDocPtr doc = NULL;       /* document pointer */
    xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */
    char buff[256];
    int i, j;

    LIBXML_TEST_VERSION;

    /* 
     * Creates a new document, a node and set it as a root node
     */
    doc = xmlNewDoc(BAD_CAST "1.0");
    root_node = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
    xmlDocSetRootElement(doc, root_node);

    /*
     * Creates a DTD declaration. Isn't mandatory. 
     */
    xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd");

    /* 
     * xmlNewChild() creates a new node, which is "attached" as child node
     * of root_node node. 
     */
    xmlNewChild(root_node, NULL, BAD_CAST "node1",
                BAD_CAST "content of node 1");
    /* 
     * The same as above, but the new child node doesn't have a content 
     */
    xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL);

    /* 
     * xmlNewProp() creates attributes, which is "attached" to an node.
     * It returns xmlAttrPtr, which isn't used here.
     */
    node =
        xmlNewChild(root_node, NULL, BAD_CAST "node3",
                    BAD_CAST "this node has attributes");
    xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes");
    xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar");

    /*
     * Here goes another way to create nodes. xmlNewNode() and xmlNewText
     * creates a node and a text node separately. They are "attached"
     * by xmlAddChild() 
     */
    node = xmlNewDocNode(doc, NULL, BAD_CAST "node4", NULL);
    node1 = xmlNewDocText(doc, BAD_CAST
                   "other way to create content (which is also a node)");
    xmlAddChild(node, node1);
    xmlAddChild(root_node, node);

    /* 
     * A simple loop that "automates" nodes creation 
     */
    for (i = 5; i < 7; i++) {
        sprintf(buff, "node%d", i);
        node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL);
        for (j = 1; j < 4; j++) {
            sprintf(buff, "node%d%d", i, j);
            node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL);
            xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes"));
        }
    }

    /* 
     * Dumping document to stdio or file
     */
    xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1);

    /*free the document */
    xmlFreeDoc(doc);

    /*
     *Free the global variables that may
     *have been allocated by the parser.
     */
    xmlCleanupParser();

    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else
int main(void) {
    fprintf(stderr, "tree support not compiled in\n");
    return(0);
}
#endif
share/doc/alt-libxml2-devel/examples/tree2.o000064400000072710150505766060014677 0ustar00ELF>Hg@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1��H�=�1�H�1�H��I���L��H��I���H�
1�L��H�5�H�
1�L��H��1�H�1�L���H�
1�L��H��H�H�5H��H���H��H�H�5�1�H�1�L���H�5L��H���H��H���H��L��H�\$�A��H�
H��1���A��1�H��1�L���I��E��A��H�
H�ߺ�1��1�1�H��L���A��H�
H�HE�H�5H��A���A��u���ul�|$H�=~	H�D$H�x�H�L���L�����1�H��$dH3%(u$H��([]A\A]A^A_������noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node)e�5int�h�h���	�1%
3a
6	�
7	�
8	�
9	� 
:	�(
;	�0
<	�8
=	�@
@	�H
A	�P
B	�X
D>`
FDh
Hap
Iat
Jox
ML�
NS�
OJ�
QZ�
Y
{�
[e�
\p�
]D�
^	C�
_
)�
`a�
bv��+9�
�Z51`k
��5��%����a
�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
��
���
%�
&��K��C9�B3		C 	)M,	2	CF	C)WR	X	�g	������ 	���F	aO�l
aldoc��"�/�
r��}i	aja�S	�
 � �!�"Us"T~"Q
"R	"Xv#�!V
R � �!�"Us"T1"Q
"R	"Xv"Y~$�k"U

R$��"U	$��"U|"T0"Q	"R0$��"U|"T}$�"U|"T	"Q0"R	$�E"U}"T0"Q	"R	$�t"U}"T0"Q	"R0$��"U}"T0"Q	"R	$�"Us"T	"Q	$
"Us"T	"Q	$�>
"U|"T0"Q	"R0$c
"U|"T	${
"Us$�
"U}$��
"U}"T0"Qs"R0$��
"U"T0"Qs"R0$"T	$,,"T|"Q	"R1$9D"U|%F%S%_�
��5�&"a�'__s"�("�)*+
,

,
<,
�,
�,
M,
,
S,
�,
�,
,9+�-%U:;9I$>$>I7I&I	:;9

:;9I8:;9<
I!I/4:;9I?<!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B4:;9I1R�BUXYW 1�B!��1"���B#1R�BXYW$��1%��1&.?:;9'I 4':;9I(:;9I)*.?<n:;+.?<n:;9,.?<n:;9-.?<nU��}T��}0�P\\0�P]]0�PSPST0�PP5�Vv�v�v�1�^~�^^
�S
�S,O�N�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h<built-in>	7�IX��zX/X��=Ye=]zy4	v	�>�_
/�=
Z��]	O
1�
OfX	0!
L
�
3
��
MU	c
X��?�]YJ�...�XX__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessprintfnext_shortbufxmlNewChildXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLbuff_fileno_IO_read_endencodinglong intoldNsparent_flagsxmlNewProp_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypesize_txmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocxmlMemoryDump_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t__builtin___sprintf_chk_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenxmlSaveFormatFileEncunsigned charXML_DTD_NODEnodeversionentitiesxmlNewDocNodeshort intxmlNewDocText_IO_wide_datanotationsnode1xmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributesxmlAddChildpropertiesXML_CDATA_SECTION_NODEdict__sprintf_chkXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATIONxmlCreateIntSubset__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTyperoot_nodeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENtree2.cXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�LOF�B�B �B(�A0�F8�G�
8A0A(B BBBI
�	.'</Uo0��1��2�O "$&(/01234.5	
#(-.247:<SBGYMcSgYk_eqkxqv�|�������)*+,-�O�� 5HT_my�����.annobin_tree2.c.annobin_tree2.c_end.annobin_tree2.c.hot.annobin_tree2.c_end.hot.annobin_tree2.c.unlikely.annobin_tree2.c_end.unlikely.annobin_tree2.c.startup.annobin_tree2.c_end.startup.annobin_tree2.c.exit.annobin_tree2.c_end.exit.annobin_main.start.annobin_main.end.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC1.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC0.LC18.LC2.LC19.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewDocxmlNewDocNodexmlDocSetRootElementxmlCreateIntSubsetxmlNewChildxmlNewPropxmlNewDocTextxmlAddChild__sprintf_chkxmlSaveFormatFileEncxmlFreeDocxmlCleanupParserxmlMemoryDump__stack_chk_fail * $ % & '++O<R��������C-��������HS��������Q.��������^T��������lU��������s/��������.���������V���������0���������1���������W���������2���������W���������3���������4���������W���������5���������6���������X���������7���������8���������X���������9��������	T��������:��������Y��������&Z��������6Z��������@;��������Z[��������iW��������y<���������[���������W���������=���������5���������>���������X���������?���������@���������\��������]��������^��������
_��������K`��������

#(
#�
#*
!0%
"*
#�8
#�?
#EH
#kO
#�V
#]
#�k
#;p
#|
#�
#��
#��
#Q�
#�
#%�
#�
#��
#��
#�
#�
#c!
#.
#�;
#,H
#-U
#b
#o
#E|
#��
#�
#�
#i�
#?�
#��
#��
#�
#W�
#R�
#�
#M
#�&
#2
#�:
#a
#�l
#��
#o�
#S�
#��
#��
#!�
#�
#�
#�
#� 
#y&
#k,
#2
#Z8
#>
#�D
#�J
#;P
#3V
#�\
#yb
#h
#�n
#
t
#z
#��
#u�
#��
#��
#f�
#C�
#��
#��
#��
#��
#l�
#9�
#	�
# �
#�
#�
#�
#�(
#M6
#D
#JR
#d`
#��
#��
#n�
#��
#��
#��
#e�
#7�
#�
#�
#�
#M*
#8
#JF
#dT
#�p
#�~
#��
#W�
#��
#��
#��
#��
#+�
#��
#�
#�
#M
#-
#J;
#dI
#�e
#�s
#~�
#��
#��
#D�
#��
#2�
#6�
#��
#�

#�
#�)
#n@
#G
#�L
#�Q
#C^
#k
#�y
#d�
#��
#�
#w�
#��
#��
#��
#��
#�
#�
#M 
#.
#J<
#dJ
#�s
#,�
#��
# �
#��
#n�
#�
#��
#�	
#�!	
#_G	
#h	
#!t	
#��	
#��	
#;�	
#�	
#��	+�	
#R�	
�	
�	
#��	
@�	
<�	
��	
x

#1

�

�

#�!

N%

B*

#�5

�9

�>

#W

+[

!i

�m

�v
+:

!�

�

�

M�

K�
+^�
q�
+p�
+p
r
p
�
�+�<xS+@l+L�	�+b�
�+p�+��
+�/.<F+�f4u+��S�:�+��Y��+��g
c
+
0
k?
+Z
d
+*|
+:�
+m�
+��
+��
�+��-+E+R+_+O�
#\�
#f�
#��
#��
#��
#��
#-�
#-�
#��
#��
#��
#��
#S�
#S�
#s�
#s
#X

#X
#�
#� 
#b$
#b-
#V1
#V:
#�>
#�G
#�K
#�T
#uX
#u`
#2d
#2++(+(+O@+H+?S+?[+O�+;�+]�+]�+a�+a�+1�+8�+O�+;�+k�+k+o+o+3+8'+ON+;V+�b+�j+�u+�}+�+�+�+�+5�+5�+9�+;�+�+�+)�+�+�++:3+:?+:G+�R+�Z+/g+8o+E|+J�+O�+p�+p�+p�+��+��+��+��+5�+8+O+:'+^2qM+:U+^r+pz+��x�+p�+�
++:+S+Y+^0+8+O]+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@7A9P7B9h7C9�(7D9�7E�!�'�1��,@�<07	G�V��Q@�<07ph�h�@=07<�<��@0=07����@`=07��	8�@�=07 O@�=P7,2o
�;23O3iJ@BH7[��n" �i@X]�7 ~�#0y@d07"�$P�@Hd�7$�e$��@�d7&�0�&��0�/.�%0%0p%0G%0%0�%0�%0�%0�%0%0(0 /H0h*@�d75�0	8P	�9�e@share/doc/alt-libxml2-devel/examples/xpath2000075500000017372150505766060014635 0ustar00#! /bin/sh

# xpath2 - temporary wrapper script for .libs/xpath2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The xpath2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "xpath2:xpath2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "xpath2:xpath2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "xpath2:xpath2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'xpath2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/parse3.o000064400000054030150505766070015047 0ustar00ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��H���
R�E1�1ɾH�H�=�H��tH�����1�H���H�
��H�=���noname.xml<doc/>Failed to parse document
u�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K��C9�B3��C	)M		C&	C)W2	8	�G	������	���&	�)al��
�
1�
�
�
�
 #	S
 !".#U	#T1#QI$9�
#U	#T6#Q	#R0#X0%F$S�
#U

R%_%l&'�''a(doc�)da.'d�'d<�*+,
u,
-,
9-�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I4:;9I.?:;9'I@�B1R�BUXYW1�BU41�B 1R�BXYW!1"��1#���B$��1%��1&.:;9' ':;9I(4:;9I).?:;9'I 4*+.?<n:;,.?<n:;9-.?<n:;96�6�
�
�PP
�,l�O�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h<built-in>	(PzP�i�\�\Y	gt�
��__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetxmlCharxmlCleanupParserxmlReadMemoryexample3FunccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_cur_column_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doublelengthparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_tdocument_IO_read_base_IO_save_endparse3.cXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�lHD
A
�	-)?.Yt/��0��1�l!#%'./0123-4#(-2>Ncw()*+,�l��������.annobin_parse3.c.annobin_parse3.c_end.annobin_parse3.c.hot.annobin_parse3.c_end.hot.annobin_parse3.c.unlikely.annobin_parse3.c_end.unlikely.annobin_parse3.c.startup.annobin_parse3.c_end.startup.annobin_parse3.c.exit.annobin_parse3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReadMemoryxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite ) # $ % &**l@��������,��������&-��������+A��������8B��������=C��������BD��������PE��������a.��������fF��������

"$
"�
"*
 0%
!*
"\8
"�?
"@H
"LO
"V
"]
"xk
"2p
"|
"~�
"X�
"��
"H�
"�
"�
"��
"�
"��
"�
"�
"O
"+)
"]6
"�C
"#P
"]
"j
"Sw
"��
"9�
"��
"h�
"M�
"��
"��
"��
"��
"M�
"�
"[
"!
"�-
"�5
"�\
"rg
"��
"[�
"a�
"&�
"��
"�
"�
"�
"'
"f 
"&
"�,
"2
"h8
">
"�D
"�J
"�P
".V
"-\
"Zb
"h
"�n
"t
"rz
"��
"a�
"��
">�
"t�
"��
"��
"�
"��
"(�
"��
"��
"r�
"��
"��
"�
"�
"�(
"C6
"&D
"AR
"c`
"��
"��
"�
"��
"��
"��
"��
"E�
"�
"�
"�
"C*
"&8
"AF
"cT
"�p
"�~
"��
"��
"o�
"~�
"��
"��
"&�
"��
"�
"�
"C
"&-
"A;
"cI
"�e
"�s
"��
"t�
"��
";�
"g�
")�
",�
"��
""

"�
"M)
"@
"�G
":L
"]Q
"9^
"�k
"�y
"c�
"��
"m�
"��
"��
"��
"��
"��
"�
"�
"C 
"&.
"A<
"cJ
"�s
"��
"��
"i�
"�
"��
"��
"D	
"Z'	
"H	
"T	
"�`	
"�l	
"1x	
"��	
"��	
"�	*�	*�	
 �	
�	
�	
@�	
<�	
 �	
��	
��	*M
*M 

�$

�.
*j?
T
*/i
{
�
*<�
*�
*A�
*F�

"��

"��

"F
"p
"�!
"�/
"�3
":
"�>
"�G
"RK
"RT
"�X
"�`
"�d
"�m
"xq
"x**<*M *l@*H*<S\*Md*lo�*/�*;�*M�*i�*M�*j�
***<*M*l0*8*l^* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6/*P60*h61*�(62*�63�!�'�1��,@P.06	G�V��Q@�.06ph�h�@�.06<�<��@�.06����@/06��	8�@@/06 l@p/�6,2�,@�y;@`0�6L1h_��Z@E�6o�0j@�F06!��P~@�F�6#�	��@pG6%�0�R�0%.�K%K%pK%GK%K%�K%�K%�K%�K%�K%P%  p%8@�G64�%�7>	P,��G1share/doc/alt-libxml2-devel/examples/reader3000075500000017405150505766070014752 0ustar00#! /bin/sh

# reader3 - temporary wrapper script for .libs/reader3
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader3 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader3.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader3:reader3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader3:reader3:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader3:reader3:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader3'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
share/doc/alt-libxml2-devel/examples/.libs/lt-io1000075500000026670150505766070015545 0ustar00ELF>
@8&@8@@@@hh����� 00 0 � HH H ���  ���DDS�td���  P�td���\\Q�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUL���]�VH̊+�ڿ̎�A 
��|BE��)��qX9�* ��St �9 "���c��98  &  �(  -  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�0���>ui	I���U�Lc0 �
8 �
@ @   �� � � � 
�    (  p x � � � � 	� � � 
� � � � ��H��H�� H��t��H����5 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D��S�
R�Q���H�
�H�H�5\H�=�������x^H�� H���=���H��E1�1�H�[���W���H��H��tH���W�����~LH�=� H������H������G�������1�[�H�
� ��H�=�1�������H�
p ��H�=��
�����`���H�
I �#�H�=������9���f���1�I��^H��H���PTL�6H�
�H�=����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=~ ����d����] ]������w������H��t
�1 1�ø�����@��U��SH��H�������u7H��t2�- ��H��H��H��9�N�Hc�)�����-� H����[]��������f���H��H��t,�H�=�����u�� 1H���1��D��H��1�H��t�H�=�����������fD��AWI��AVI��AUA��ATL�%4 UH�-4 SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
;\
x����X����(���88���x(����H����������$���X�����zRx�����/D$4���FJw�?:*3$"\�����tP���(�\���WE�C�D |
CAD�����;�����*���E��
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBBD���
�
@ �r

X0 8 ���o0�h
�X 8��	���o���ox���o�oH���oH P
`
p
�
�
�
�
�
�
�
�
�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
/
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10
eGA$3p1113�UGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
�
GA*FORTIFY�EGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�
�.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008Qhh(Y���a���oHH.n���oxx`}���B��8�

�@
@
��  ����e�XX
�hh]���\�((X�0 0�8 8�@ @�H H�X X��        
0 Z8 `l �%)share/doc/alt-libxml2-devel/examples/.libs/reader2000075500000025670150505766070015763 0ustar00ELF>�@8$@8@@@@hh�����   �(      ���  ���DDS�td���  P�tdhhh<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU{���a��y�r�-#��E_���A 
��|CE���qX9�<* jw��S� �9 �"{��.O�i�0  �  �  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64`0ui	�ti	����������L `    � � � � 
�    H P X ` h p x 	� 
� � � � � � � � � � ��H��H�y H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h���������%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D����t��AW�
RAVAUATUSH��H������H�C�1�H��H�D$�~���H��H���Of�H�����H�߉Ń����e���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���0���H��E��I��AU��D��H�5w�1��,���XZM��t@L���}���L��(~H�5\�1������M���H�5s�1�����5����
����&�������u'H�������u<����f���H��1�[]A\A]A^A_�H�L$H�=� H�1���v����H�L$H�=� H��1���U����H�L$H�=� H��1���4����f���1�I��^H��H���PTL�FH�
�H�=����2 �H�=Q H�J H9�tH� H��t	�����H�=! H�5 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%| UH�-| SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
Document %s does not validate
;<���p8����X�������X���x���PzRx�����/D$4����0FJw�?:*3$"\���� Tt�����Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB ���`  `P
�  ���o0�h
+0 ��	��	���o���oX���o�o���o  �������� 0@P`p��GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1P�GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
~GA*GOW*�GA$3a1��GA*p�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��+a���o6n���oXXp}����B�	�	��PP�pp0��� ��
�
%���
���p�hh<���(� � � �   �0 0��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/parse1000075500000015670150505766070015631 0ustar00ELF>�	@8@8@@@@hh���pp `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td@@@<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�eeZ,�Y
��d0���,��T��A 
��|CE���qX9��* �S�c 9 �"�o�0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640�����L��ui	ti	`
 �
h
 P
p
 p
 � � � � � 	  � � � � � 	� 
� ��H��H�� H��t��H����5: �%; ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��S�
RH�����H�[1�1�H�����H��tH���v���������1�[�H�=� H�پH���-�����f.����1�I��^H��H���PTL�FH�
�H�=h���� �H�=! H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���_���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to parse %s
;<���p���������p���X`�������zRx����/D$4�����FJw�?:*3$"\�ptH���eP�w
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
P
p
 �&0
`
 h
 ���o0�h
A� ����	���o���oP���o�o*���ox
 `p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10�	GA$3p1113@	GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*@	�	GA*GOW*�GA$3a1�	%GA*�
GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��Aa���o** n���oPP`}����B����00�PP����p�@	@	��
�((�@@<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)share/doc/alt-libxml2-devel/examples/.libs/lt-reader4000075500000026520150505766070016375 0ustar00ELF>�@�%@8@@@@hh���HH 00 0 � HH H ���  ���DDS�td���  P�td���DDQ�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUJy��B�Q���Ъ��mߕ�A 
��|CE���qX9�e* ��-v�� 9 "���SR0  ?  F     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�0ui	Wti	c�Lo���~����0 �
8 `
@ @ � � � 
� �    p x � � � � � 	� � 
� � � � ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D��AUATUS�H������I��A���
R�D���I�}1�1����H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H�����H���UL9�u�H������H��tH�����H��1��A����,�������H����[]A\A]�I�MH�= H��1���l�����f.���1�I��^H��H���PTL�FH�
�H�=������ �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����UH��SH���������f�H�������t�H���I���H����H���H��tL��u H��H��H�5t1�[�]�$���@H�=� H��H��1�[H�5�]����DH�
� ��H�=��k����f����h���f�H�
� H����[H�=�]�-���f.���AWI��AVI��AUA��ATL�%d UH�-d SL)�H���'���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���failed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
;@|���t\����,�������\���������4l���|zRx�����/D$4����FJw�?:*3$"\�����@t@����A�D�D K
MFIK
FMJCKH8�,����F�B�A �A(�I0�
(C ABBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB<���
`
@ ��

(0 8 ���o0xh
�X 8���	���o���o����o�oX���oH @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhYxx�a���oXX,n���o��p}����B��8�

�0
0
������E�((
�88y���D���P�0 0�8 8�@ @�H H�X X��        
0 Z0 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/reader1000075500000025670150505766070015762 0ustar00ELF>�@8$@8@@@@hh���   �  (( ( ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��
�PQ+��
%?��A 
��|CE���qX9�'j* Ub�S� �9 "{��:��i�0  �  �  x   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64K0ui	�ti	������L� � �    � � � 
� � 
   P X ` h p x � 	� � 
� � � � � � � � ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��AW�
RAVAUATUSH��H������H�C1�1�H��H�$���H��H���-fDH���������H���g���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���B���H��E��I��AU��D��H�5Y�1��>���XZM��t@L������L��(~H�5>�1������O���H�5U�1�����7����
����(���H�߉D$����D$��u����j���H��1�[]A\A]A^A_�H�$H�=~ H��1�������H�$H�=^ H��1���k����f���1�I��^H��H���PTL�FH�
�H�=8����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=~
 �	����d����u ]������w������AWI��AVI��AUA��ATL�%$
 UH�-$
 SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
;8l���l����������<���T,�������LzRx���/D$4���� FJw�?:*3$"\�Tt���Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBBH�����  K��

H  ���o0�h
8 �P	x�	���o���o���o�o����o(  0@P`p�������� GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
GA$3p1113@
EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*@
�GA*GOW*�GA$3a1UGA*�EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhpY��a���o��4n���o`}xx��BP	P	���
�
� �00�@
@
�HH
�XXJ���<���(� � �   �( (�8 8��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/parse3000075500000015670150505766070015633 0ustar00ELF>�	@8@8@@@@hh���hh `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td888<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��?ǒ.UДȡ�TI���A 
��|CE���qX9�* �St 9 �"�c��0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/opt/alt/libxml2/usr/lib640�����L��ui		`
 p
h
 0
p
 p
 � � � � �   � � � � � 	� 
� ��H��H�� H��t��H����5Z �%[ ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D��H���
R�~���E1�1ɾH��H�=����H��tH���d�������z���1�H���H�
� ��H�=������@��1�I��^H��H���PTL�FH�
�H�=h����" �H�=A H�: H9�tH� H��t	�����H�= H�5
 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�= �y����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noname.xml<doc/>Failed to parse document
;<����px�������X���XH��������zRx�����/D$4�����FJw�?:*3$"\���pt0���lHD
AD�p���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����p
0
p
 �
�
`
 h
 ���o0�h
0� �`��	���o���o8���o�o���ox
 @P`p���GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	GA$3p1113 	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* 	�	GA*GOW*�GA$3a1�	GA*�
�
GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��0a���o n���o88P}����B``���00����p� 	 	���
�

�0�88<�xx��`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)share/doc/alt-libxml2-devel/examples/.libs/lt-testWriter000075500000046660150505766070017232 0ustar00ELF>�@0F@8@@@@hh����8�8 �<�< �< t� �<�< �< ���  ���DDS�td���  P�tdh5h5h5ddQ�tdR�td�<�< �< pp/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��������D7?���&�@ @I&+�\�XX�<���|�CE���qXf��* ��,���PQkbz �9 �"���7������:&��Sv @ !0@ �H@ �8@ �@ �@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�@ii
�ti	ui	�L���,���:�< ��< p�< �< �? �? 
�? �? �?  @ &0@ '8@ )�> �> �> �> �> �> ? ? 	? ?  ? 
(? 0? 8? @? H? P? X? `? h? p? x? �? �? �? �? �? �?  �? !�? "�? #�? $�? %��H��H��/ H��t��H����5z. �%{. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h ��������%e, D���%], D���%U, D���%M, D���%E, D���%=, D���%5, D���%-, D���%%, D���%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%}+ D���%u+ D���%m+ D���%e+ D��H���
R�^���H�=��H�=���H�=��:H�=���i����$���1�H���f.���1�I��^H��H���PTL�FH�
�H�=x�����* �H�=+ H��* H9�tH��* H��t	�����H�=�* H�5�* H)�H��H��H��?H�H�tH��* H��t��fD�����=�* u+UH�=r* H��tH�=' ����d�����* ]������w������AVAUATUSH��dH�%(H�D$1�H����H��H��I�����H��H����H���5���D�hI��C�|-��<$Hc���) I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc���) H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1����L��1�z) �H�=�������f�1��@M��H�<�LD�H�5f1�L������s����H�==1��z����Y��������U1�SH���o���H����1�1�H�H��H��������@H�5
H��������H�5�H�=C�>���H��H��H���������HH��t	H���( H�5�H���������H��H�5�H���]�������H��H�5�H���?�������H�5aH�=����H�5]H��H��H��1��]�������H��t	H���' H�5XH���������01���H��H�>H�5=��������1���H��H�*H�5&�������vH�5�H�=����H�5H��H��H��������.H��t	H��`' H�5�H�=�����H�5�H��H��H���p�������H��t	H��"' H���������H�5�H���+������CH�5�H���������,H��H�5�H����������1��
H��H�-H�5l������yH���������H�53H���������H�:H�5"H��������1��H��H��H�5�w������H���������/H���������H�5�H���0�����xLH��H�5�H���&�������H����������H���f�������XH��[]����H��H�=�[]���fDH��H�=�[]���fDH��H�=u[]����fDH��H�=5[]���fDH��H�=[]���fDH��H�=[]���fDH��H�=�[]�n���fDH��H�=m[]�V���fDH��H�=[]�>���ZH�=>[]�/���ff.�@��AUI��ATUSH������H�=KH����1�H��H���m���H��H����H��1�H��
1��.���H�=����H�5�
H���������H�5r
H�=�����H��H��I�����H�=����?M��t	L��$ H�5G
H���+������3H�6
H�53
H���������5H�$
H�5 
H��������H�5�H�=
�4���H��H�5�H��I��1�����H�=�����M��t	L��x# H�5�H���������1���H��H��H�5��|�������1���H��H��H�5��W�������H�59H�=����H�5�H��H��I���'������oM��t	L���" H�5�H�=`�N���H�5YH��H��I�������1M��t	L���" H���{������#H�5%H�������H�5H�������H�H�5H�������1��
H��H��H�5��Z�������H�������H�5�H���#���+H��H�5�H������]1��H��H�<H�5{�����(H������8H������(H�5YH�������H�IH�5RH�������H���;����H�����H�=,��xWH���x�L��H�5��H�=BH��H��t1H�}H���~�H������XH��[]A\A]���H�=�H��[]A\A]�*�f.�H��H�=
[]A\A]�
�f.�H��H�=][]A\A]���f.�H�=���H�=���H�=�{���@��AT1�I��USH��dH�%(H�D$1�H����H����1�1�H�D	H��H�������pH�55	H���!���)H�5	H�=k�f���H��H��H���(���`H��t	H��� H�5�H��������H��H�5�H�������H��H�5�H���g����H�5�H�=����H�5�H��H��H��1�����H��t	H��' H�5�H���@���H1���H��H�fH�5e�+����1���H��H�RH�5N����~H�5�H�=?�;�H�5:H��H��H�������>H��t	H��� H�5�H�=��H�5H��H��H������H��t	H��J H���*���"H�5�H���S���[H�5�H���<���DH��H�5�H���.����1��
H��H�UH�5��	����H�������H�5[H���������H�bH�5JH��������,1��H��H��H�5*����H���?���7H���/���'H�5H���X���xdH��H�5H���N�����H���������H�������H���.�H�4$L��H���H�<$���H�=y
��H�D$dH3%(��H��[]A\��H�=
�����f�H�=�
����f�H�=�����f�H�=Q
���f�H�=1���f�H�=�
���{����H�=�
�|��c����H�=)�d��K������H�=K�N��5���f���AUI��H�=ATUSH�����H�=LH����1�H��1�H��H���-�H��H����H��H���V�H��H��1����H�=jH��H���mH��1�H��1���H�=|���KH�5nH�=���H��H��I����H�=����M��t	L�� H�5CH���'����/H�2H�5/H���������H� H�5H��������H�5�H�=�0�H��H�5�H��I��1����H�=�����M��t	L��t H�5�H��������1���H��H��H�5��x�����1���H��H��H�5��S����kH�55H�=���H�5�H��H��I���#����KM��t	L��� H�5�H�=\�J�H�5UH��H��I��������
M��t	L��� H���w�����H�5!H��������H�5H��������H�H�5H���{�����1��
H��H��H�5��V����nH�������~H�5�H�������'H��H�5�H�������91��H��H�8H�5w������H�������H���|����H�5UH��������H�EH�5NH��������H���7�����H�����H�=0
��x3H���t�L��H��H�H�B�XH��[]A\A]���H�=�
H��[]A\A]�J�f.�H��H�=�[]A\A]�*�f.�H��H�=U[]A\A]�
�f.�H�=���H�=��H�=A�{���@��AWI��AVI��AUA��ATL�%� UH�-� SL)�H���'�H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���ConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d�����������h���X������x�4��hX���@zRx����/D$48�� FJw�?:*3$"\0��@tx��`F�B�B �A(�A0�D@�
0A(A BBBI����AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAp\@�lF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0�<�gF�F�A �D0�
 AABHpx�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBOx$��SHJD�X�eF�E�E �E(�H0�H8�G@n8A0A(B BBB����p�< �H
8)�< �< ���o0�p
��> 
�	���o���ox���o�o���o�< P`p�������� 0@P`p�������� 0@PGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�GA$3p1113p�(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1E)GA$3p1113�(5)GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��(
GA*FORTIFY�(%)GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS��(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp Y���a���oXn���oxx�}���B

��@@ �``�pp��8)8)
�H)H) �h5h5d��5�5���< �<��< �<��< �<��< �<��> �>H�@ @ @ @( 
0@ZH@``@�E)share/doc/alt-libxml2-devel/examples/.libs/lt-tree2000075500000025670150505766070016075 0ustar00ELF>�@8$@8@@@@hh�����   �� 00 0 ���  ���DDS�td���  P�td   <<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUŎI�W���sF9Þ�$v�@ ��|CE���qXq* �K�a�� �9 ."���=S�p  ]  d  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64@ti	uii
�ui	��L� �  �( ( � � � 	� � X ` h p x � � 
� � 
� � � � � � � ��H��H�i H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1���H�=��t���1�H��1�H��I�����L��H��I������H�
g1�L��H�5V�h���H�
Y1�L��H�_���1�H�W1�L���m���H�
L1�L��H�Y�U���H��H�5LH��H���|���H��H�AH�5>�f���1�H�41�L������H�5DL��H�����H��H�����H��L��H�\$�v���A��H�
�H��1���A��r���1�H��1�L�����I��E��A��H�
�H�ߺ�1��?���1�1�H��L�����A��H�
!H�HE�H�5�H��A�����A��u���ul�|$H�=�~	H�D$H�x�H�ZL������L���I�������o���1�H��$dH3%(u$H��([]A\A]A^A_������A������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=y u+UH�=b H��tH�=�
 �Y����d����Q ]������w������AWI��AVI��AUA��ATL�%,
 UH�-,
 SL)�H���_���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`���pp����p��������X���� ���HzRx�`���/D$4��FJw�?:*3$"\���Lt����OF�B�B �B(�A0�F8�G�
8A0A(B BBBID�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����( �`

H   ���o0�`
�@ �� �	���o���o����o�o����o0 �
�
�
�
�
�
�
 0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1`
GA$3p1113�EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a1UGA*�EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``@Y���a���o��0n���o��`}  ��B����`
`
��
�
��������HH
�XX��  <�`` � �   �( (�0 0�@ @��      
0 Z `` �#)share/doc/alt-libxml2-devel/examples/.libs/lt-reader1000075500000025670150505766100016371 0ustar00ELF>@8$@8@@@@hh���((   �  (( ( ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�H�F��&����=v�b���A 
��|CE���qX9�'j* Ub�S� �9 "{��:��i�0  �  �  x   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64K0ui	�ti	������L� � �    � � � 
� � 
   P X ` h p x � 	� � 
� � � � � � � � ��H��H�� H��t��H����5
 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D����t��AW�
RAVAUATUSH��H������H�C1�1�H��H�$���H��H���-fDH���������H���g���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���B���H��E��I��AU��D��H�5Y�1��>���XZM��t@L������L��(~H�5>�1������O���H�5U�1�����7����
����(���H�߉D$����D$��u����j���H��1�[]A\A]A^A_�H�$H�=^ H��1�������H�$H�=> H��1���k����f���1�I��^H��H���PTL�FH�
�H�=8����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=} u+UH�=B H��tH�=^
 �	����d����U ]������w������AWI��AVI��AUA��ATL�%
 UH�-
 SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
;8l���l����������<���T,�������LzRx���/D$4���� FJw�?:*3$"\�Tt���Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBBH�����  K�
h  ���o0�h
38 �x	��	���o���o@���o�o���o( @P`p�������� 0@GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1/GA$3p1113`
eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*`
�GA*GOW*�GA$3a10uGA*�eGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhpY��3a���o4n���o@@`}����Bx	x	���00 �PP�`
`
�hh
�xxJ���<�(� � �   �( (�8 8��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/lt-io2000075500000025670150505766100015537 0ustar00ELF>�
@8$@8@@@@hh����
�
 PP P �� hh h ���  ���DDS�td���  P�td���<<Q�tdR�tdPP P ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUj,i�_(����U��%YX��@ I��|�CE���qX* ����� 9 j�"�|S  �      libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 �L�ii
,ui	6ti	BP �X �` ` � � � � � 
  � � � � � 	� 
� � � 
��H��H�� H��t��H����5z �%{ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D��UH�=0SH��(dH�%(H�D$1����1�H�1�H��H���D���H�5H��H���b���H��H���7����H�T$H��H�t$���H�T$H�5�1�����H�|$�E H������H�L$dH3%(u	H��(1�[]��������1�I��^H��H���PTL�FH�
�H�=����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�u H��t��fD�����=u u+UH�=R H��tH�=� �9����d����M ]������w������AWI��AVI��AUA��ATL�%T UH�-T SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���1.0rootcontent%s;<����p ���������p���X`�������(zRx����/D$4����FJw�?:*3$"\�����,t�����E�H�D@�
CAAD�x���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�������` �N�
XP X ���o0h
�x �0�	���o���o����o�o����oh 	 	0	@	P	`	p	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�GA$3p11130
UGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*0
�
GA*GOW*�GA$3a1 eGA*�UGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y�a���o��$n���o��`}00��B�����		���	�	��0
0
%�XX
�hh���<����P P�X X�` `�h h�x x��      
0 Z `` �#)share/doc/alt-libxml2-devel/examples/.libs/io1000075500000026670150505766100015122 0ustar00ELF>�@8&@8@@@@hh���PP 00 0 � HH H ���  ���DDS�td���  P�td���\\Q�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��:X��>�I�fJO��A=��A 
��|BE��)��qX9�* ��St �9 "���c��98  &  �(  -  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64�0���>ui	I���U�Lc0 �
8 p
@ @   �� � � � 
�    (  p x � � � � 	� � � 
� � � � ��H��H�� H��t��H����5J �%K ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D��S�
R�Q���H�
�H�H�5\H�=�������x^H�
 H���=���H��E1�1�H�[���W���H��H��tH���W�����~LH�=� H������H������G�������1�[�H�
� ��H�=�1�������H�
� ��H�=��
�����`���H�
y �#�H�=������9���f���1�I��^H��H���PTL�6H�
�H�=����� �H�=	 H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=r H��tH�=� ����d����� ]������w������H��t
�a 1�ø�����@��U��SH��H�������u7H��t2�-0 ��H��H��H��9�N�Hc�)�����- H����[]��������f���H��H��t,�H�=�����u�� 1H���1��D��H��1�H��t�H�=�����������fD��AWI��AVI��AUA��ATL�%d UH�-d SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
;\
x����X����(���88���x(����H����������$���X�����zRx�����/D$4���FJw�?:*3$"\�����tP���(�\���WE�C�D |
CAD�����;�����*���E��
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBBD���
p
@ �r�	
(0 8 ���o0�h
�X 8��	���o���oP���o�o���oH  
0
@
P
`
p
�
�
�
�
�
�
�
�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1
5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
�
GA*FORTIFY�GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�
�.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008Qhh(Y���a���o.n���oPP`}���B��8��	�	�

���
�
����e�((
�88]���\���X�0 0�8 8�@ @�H H�X X��        
0 Z8 `l �%)share/doc/alt-libxml2-devel/examples/.libs/lt-xpath1000075500000026660150505766100016253 0ustar00ELF>0@0&@8@@@@hh���88   �0 (( ( ���  ���DDS�td���  P�td���\\Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUo���:��L���GB5k�S�A K��|�BE��)��qX9�@* S2r�� 9 c"s`�����\�@  �(  �  N0  �  U   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64(0ui	�ti	��L�  �    � � � 	� 
�    (  0  P X ` h p x � � � 
� � � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D��U�G�SH��H����wB�������
R�
���1҃�t$H�sH�{�V��xC�}����X���1�H��[]�H�S��H�
" �"�H�=!
�|���H�;�����H�;����f���1�I��^H��H���PTL��H�
_H�=H����� �H�=� H�� H9�tH�n H��t	�����H�=q H�5j H)�H��H��H��?H�H�tH�5 H��t��fD�����=] u+UH�= H��tH�=. ����d����5 ]������w����H��H��t[H��H�=� �1�H���Z����4H�
� �H�=��-����3H�
� H���H�=�����H�
.	�BH�5�H�=3����ff.�f���AVAUATUSH���jH���BH��H�����I��H���H���
fDH���< t���tk�=H����H�����L�h� L������H��t*�L��H��H��L�p������u7M��tL����L��H��H�������uL��� 1�[]A\A]A^�H�=� M��H��1�H�L�����L��� [�����]A\A]A^�H�
d �&�H�=����L��M [�����]A\A]A^�H�
0 �(�H�=����������e���H�
i��H�5!H�=,���H�
J��H�5H�=�r���f���AVAUATUSH����I��H��H���\�1�H���H�����������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H��1����I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH��H��1��N���XZI9�u�[]A\A]A^�fDH�ѾL��H��1��#����r���fDI��I�оH��H��1�����K����H�ѾH��1�H�������&���f�[H��1�]H��A\�A]1�A^���H�
i��H�5AH�=n���H�
J��H�5"H�=4���f���AUATUSH��H���EI��H���H��I���R���H��H��ttH�����H��H����M��tL��H���&�������H��L������I��H��tYH�xH�5� ���L���s���H�����H������1�H��[]A\A]�H�=? H�پ1�H�~����������L��H��H�= �1����H���-���H�����������L��H����H�
� �*�H�=B�5���H���}���������b���H�
,�[H�5�H�=O�4���H�

�ZH�5�H�='����D��AWI��AVI��AUA��ATL�%D UH�-D SL)�H���g���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath1.cxpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\
�������p���x`����������Pp�����`���`zRx���/D$4� FJw�?:*3$"\�t�����DO
Q`������F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX�8����F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8P����{F�B�A �A(�D0�
(A ABBA,���E�D�G ~
AAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����  (�H
(  ���o0p
	8 ��	�	���o���oX���o�o���o( �������� 0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1H_GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1`5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY �
GA*FORTIFY�GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS �.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp�Y	a���o8n���oXXP}���B�	�	��HH�pp �����
�
��((
�@@���\�  � � �   �( (�8 8��         
0 Z@ `` �%)share/doc/alt-libxml2-devel/examples/.libs/tree2000075500000025670150505766100015452 0ustar00ELF>�@8$@8@@@@hh���``   �� 00 0 ���  ���DDS�td���  P�td<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUy�UhStc���5��/4���@ ��|CE���qXq* �K�a�� �9 ."���=S�p  ]  d  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64@ti	uii
�ui	��L� �  `( ( � � � 	� � X ` h p x � � 
� � 
� � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1���H�=��t���1�H��1�H��I�����L��H��I������H�
g1�L��H�5V�h���H�
Y1�L��H�_���1�H�W1�L���m���H�
L1�L��H�Y�U���H��H�5LH��H���|���H��H�AH�5>�f���1�H�41�L������H�5DL��H�����H��H�����H��L��H�\$�v���A��H�
�H��1���A��r���1�H��1�L�����I��E��A��H�
�H�ߺ�1��?���1�1�H��L�����A��H�
!H�HE�H�5�H��A�����A��u���ul�|$H�=�~	H�D$H�x�H�ZL������L���I�������o���1�H��$dH3%(u$H��([]A\A]A^A_������A������1�I��^H��H���PTL�FH�
�H�=������ �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=�
 �Y����d����q ]������w������AWI��AVI��AUA��ATL�%L
 UH�-L
 SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`���pp����p��������X���� ���HzRx�`���/D$4��FJw�?:*3$"\���Lt����OF�B�B �B(�A0�F8�G�
8A0A(B BBBID�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB����`( �8

(   ���o0�`
�@ ����	���o���o����o�ob���o0 p
�
�
�
�
�
�
�
�
 0@P`GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18
�GA$3p1113p%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p�GA*GOW*�GA$3a1�5GA*�%GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``@Y���a���obb0n���o��`}����B����8
8
�`
`
�pp�pp��((
�88��<�@@ � �   �( (�0 0�@ @��      
0 Z `` �#)share/doc/alt-libxml2-devel/examples/.libs/lt-tree1000075500000016520150505766100016060 0ustar00ELF>�	@�@8@@@@hh���8
8
 `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td���DDQ�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU����0��j;<�\~W�8dF���@ ��|CE���qX* ��S�c 9 �"o�� � � libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui	
ti	`
 �
h
 @
p
 p
 � � � � � 	� � � � � 	� 
� ��H��H�� H��t��H����5J �%K ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��U�
RSH��Q���H�{1�1����H��H��t#H�����H���H���d������Z1�[]�H�SH�5�1��"�������1�I��^H��H���PTL��H�
/H�=h���� �H�=1 H�* H9�tH�� H��t	�����H�= H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�= ����d����� ]������w����H��tKUH�-�SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�������f.�D��AWI��AVI��AUA��ATL�%T UH�-T SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���node type: Element, name: %s
error: could not parse file %s
;D����x����p������`����0�������`zRx�x���/D$4����FJw�?:*3$"\X���p,t���QF�H�G \
AAEX��,�����pP�F�D x
CAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB8����
@
p
 �% 
h`
 h
 ���o0�`
k� �x��	���o���oX���o�o4���ox
 P`p����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 �	GA$3p11130	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�	uGA$3p1113�
eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
UGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``hY��ka���o44n���oXX`}����Bxx��  �@@����p�0	0	5�hh
�xxH���D�0�`
 `
�h
 h
�p
 p
�x
 x
�� �x�  
0Z``@�)share/doc/alt-libxml2-devel/examples/.libs/lt-reader3000075500000025670150505766100016373 0ustar00ELF>
@8$@8@@@@hh���(( 88 8 � PP P ���  ���DDS�td���  P�td���<<Q�tdR�td88 8 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU;����K����i.�A 
��|BE��)��qX9�* ��7��� 9 ("���pS\8  I  (  P  !   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64P���a���o�L}����ui	�ti	�8 �
@ �
H H � � � 	� 
�    (  x � � � � � � � � 
� � � ��H��H�� H��t��H����5 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1�������%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D��ATL�%�UH�-�S��uH�nL�f�
R�C���1�1�H�����H��H����1�L��H�������x[f.�H���(�����t�ubH������H��H���\���H��tH�=� H������H������+�������[1�]A\�H�=� M��H��1�H���o����H�=f H��1�H���P���H������H�=? H��1�H���)�������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=� ����d����] ]������w������AWI��AVI��AUA��ATL�%, UH�-, SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
;<h���p8������������X����x���(zRx�����/D$4��FJw�?:*3$"\�����,t@���F�H�H ��
CBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�H����
�
H �0

h8 @ ���o0xh
�`  	 �	���o���o����o�op���oP `
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10
/
GA$3p1113�eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a10
uGA*�
eGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhYxx�a���opp,n���o���}  ��B		 �0
0
�P
P
��  ������hh
�xxp���<�((�8 8�@ @�H H�P P�` `��        
0 Z8 `` �#)share/doc/alt-libxml2-devel/examples/.libs/lt-parse1000075500000015670150505766100016240 0ustar00ELF>�	@8@8@@@@hh����� `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�tdppp<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�3`���ۭ�V���{��06��A 
��|CE���qX9��* �S�c 9 �"�o�0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui	ti	`
 �
h
 �
p
 p
 � � � � � 	  � � � � � 	� 
� ��H��H�q H��t��H����5
 �% ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%} D���%u D���%m D���%e D����t��S�
RH�����H�[1�1�H�����H��tH���v���������1�[�H�=a H�پH���-�����f.����1�I��^H��H���PTL�FH�
�H�=h����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=� ����d����u ]������w������AWI��AVI��AUA��ATL�%t UH�-t SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to parse %s
;<���p���������p���X`�������zRx����/D$4�����FJw�?:*3$"\�ptH���eP�w
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
�
p
 �&X
H`
 h
 ���o0�h
l� ����	���o���ox���o�oT���ox
 �������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1X
GA$3p1113p	EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p	�	GA*GOW*�GA$3a1
UGA*�
EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��la���oTT n���oxx`}����B����XX�����		p�p	p	��HH
�XX�pp<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)share/doc/alt-libxml2-devel/examples/.libs/parse4000075500000026520150505766100015622 0ustar00ELF>p
@�%@8@@@@hh����� (( ( � @@ @ ���  ���DDS�td���  P�tdPPPDDQ�tdR�td(( ( ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�o��� (��P"W�i�[���A 
��|CE���qX9��* �a� 9 "��	��S�qC8  0  7  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 �LH�ii
Wui	ati	m( P0 8 8 � � � � � 	   h p x � � 	� 
� � � 
� � � � � ��H��H�� H��t��H����5R �%S ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
���������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R���H�{H�5�����H�� H����L�cH�\$H�������M��H��1�1�����H��H��u��D1ɉ�H��H������H�������1�H��H�����D�mH��H�]����E��tdH���V���H�=_ ��������p���1�����H�=2 L��1�H������H�KH�= H��1�������H�=� L��1�H������z���H�
� �"�H�=��K����`����������1�I��^H��H���PTL�fH�
�H�=8����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=
 u+UH�=� H��tH�= ����d����� ]������w����H��H�
� �����H����AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���rbFailed to parse %s
Failed to create parser context !
;D����x���������� ���`����0�������XzRx�����/D$40����FJw�?:*3$"\�����tP���DZ<������F�B�A �A(�D@r
(A ABBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB@���P8 �y�	
�( 0 ���o0�h
�P P���	���o���oX���o�o$���o@ 
 
0
@
P
`
p
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�
GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh(Y���a���o$$.n���oXX`}����B��P��	�	�

���
�
����%���
�H�PPD���(�( (�0 0�8 8�@ @�P P��        
0 Z8 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/lt-xpath2000075500000026520150505766110016250 0ustar00ELF>�@�%@8@@@@hh���   �  00 0 ���  ���DDS�td���  P�td���DDQ�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��MK��_5
}��UE��:��A 
��|BE��)��qX9��.* S �`�� 9 sQ"`����J�8  r  <(  y  C   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640ui	�ti	��L� `   ( ( � � � 
� � 
   (  X ` h p x � � 	� � 
� � � � � � � ��H��H� H��t��H����5R �%S ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D��AWAVAUI��ATUSH�����4�����
R�#���I�mM�eM�uH���M����M����H������H��H����H��� ���H��H���\H��L���Y���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$���I�WH�D$J�*H�1�~tH�M9�u�H�����H�����H�= H������H���)�������o���1�H��[]A\A]A^A_�H�
� �"�H�=N���I�}�����H�
���H�5�H�=����H�=} L��H���Y���H������H�����I�}����k���H�
A �*�H�=���H���c�����H�= H��1�H�����H�
s�\H�5#H�=8��H�
T�[H�5H�=����H�
5�ZH�5�H�=����D��1�I��^H��H���PTL��H�
H�=X����2 �H�=Q H�J H9�tH� H��t	�����H�=! H�5 H)�H��H��H��?H�H�tH�� H��t��fD�����= u+UH�=� H��tH�=� �9����d����� ]������w����H��tH��H�=� �1�H���~���PH�
��DH�5�H�=��~���f.�@��AWI��AVI��AUA��ATL�%< UH�-< SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath2.cfilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
usageupdate_xpath_nodesexample4;@L���t\����\�������\�����������\zRx�x���/D$4���FJw�?:*3$"\����t���BcH�����{F�B�B �E(�A0�A8�DP2
8A0A(B BBBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB(���` ( ��

8   ���o0�h
�@ �H	X�	���o���o���o�o����o0  0@P`p��������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
�GA$3p1113
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�EGA$3p1113�5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�%GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhpY���a���o��4n���oP}XX��BH	H	���
�
��
�
��

5�88
�PPQ���D���0� �   �( (�0 0�@ @��        
0 Z8 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/lt-parse2000075500000025670150505766110016243 0ustar00ELF>p@8$@8@@@@hh����� HH H �� `` ` ���  ���DDS�td���  P�tdD
D
D
<<Q�tdR�tdHH H ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�֛�.x8)����P��A 
��|CE���qX9���* �S� �9 �"�u�c0      �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640����L-�ui	<ti	HH PP X X � � � � 	� 
   � � � � � � 
� � � 
� ��H��H�� H��t��H����52 �%3 ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q�������%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D����t��AT�
RUSH���`���L�c�G���H��H��tc�1�L��H���]���H��H��th���t!H���4���H������g����R���[1�]A\�H�= L��1�H������H�
� �"�H�=��/����H�=� L��1�H������f.�@��1�I��^H��H���PTL�FH�
�H�=�����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=
 u+UH�=� H��tH�=& �	����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
;8����l�����L����,���T��������$zRx����/D$4�����FJw�?:*3$"\����,t�����Q�F�A �W
CBAD�8���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�`���PX �T	
�H P ���o00h
�p �(P�	���o���o����o�o����o` P	`	p	�	�	�	�	�	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1	�GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
bGA*GOW*�GA$3a1��GA*`�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y00�a���o��&n���o��`}PP��B((��		�@	@	���	�	���
�
E���
���[�D
D
<��
�
�H H�P P�X X�` `�p p��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/reader4000075500000026520150505766110015753 0ustar00ELF>�@�%@8@@@@hh��� 00 0 � HH H ���  ���DDS�td���  P�td���DDQ�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUu�r
	�d����]
��C�h�A 
��|CE���qX9�e* ��-v�� 9 "���SR0  ?  F     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/opt/alt/libxml2/usr/lib64�0ui	Wti	c�Lo���~����0 p
8 0
@ @ � � � 
� �    p x � � � � � 	� � 
� � � � ��H��H�� H��t��H����5Z �%[ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D��AUATUS�H������I��A���
R�D���I�}1�1����H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H�����H���UL9�u�H������H��tH�����H��1��A����,�������H����[]A\A]�I�MH�=� H��1���l�����f.���1�I��^H��H���PTL�FH�
�H�=�����" �H�=A H�: H9�tH� H��t	�����H�= H�5
 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����UH��SH���������f�H�������t�H���I���H����H���H��tL��u H��H��H�5t1�[�]�$���@H�=) H��H��1�[H�5�]����DH�
 ��H�=��k����f����h���f�H�
� H����[H�=�]�-���f.���AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���failed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
;@|���t\����,�������\���������4l���|zRx�����/D$4����FJw�?:*3$"\�����@t@����A�D�D K
MFIK
FMJCKH8�,����F�B�A �A(�I0�
(C ABBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB<��p
0
@ ���	
�0 8 ���o0xh
�X 8���	���o���o`���o�o.���oH 
 
0
@
P
`
p
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�GA$3p1113�sGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhYxx�a���o..,n���o``p}����B��8��	�	�

���
�
����E���
�y���D���P�0 0�8 8�@ @�H H�X X��        
0 Z0 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/tree1000075500000016520150505766110015444 0ustar00ELF>p	@�@8@@@@hh���

 `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td���DDQ�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUQ6�K�4�慁�o�./��B��@ ��|CE���qX* ��S�c 9 �"o�� � � libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640�����L��ui	
ti	`
 P
h
 
p
 p
 � � � � � 	� � � � � 	� 
� ��H��H�� H��t��H����5z �%{ ��h�������h��������h�������h�������h�������h�������h��������% D���%� D���%� D���%� D���%� D���%� D���%� D����t��U�
RSH��Q���H�{1�1����H��H��t#H�����H���H���d������Z1�[]�H�SH�5�1��"�������1�I��^H��H���PTL��H�
/H�=h����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=> ����d����� ]������w����H��tKUH�-�SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�������f.�D��AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���node type: Element, name: %s
error: could not parse file %s
;D����x����p������`����0�������`zRx�x���/D$4����FJw�?:*3$"\X���p,t���QF�H�G \
AAEX��,�����pP�F�D x
CAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB8���P

p
 �%�
8`
 h
 ���o0�`
@� �H��	���o���o(���o�o���ox
  0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��	GA$3p1113	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�	EGA$3p1113�
5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
%GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``hY��@a���on���o((`}����BHH���������p�		5�88
�HHH���D���0�`
 `
�h
 h
�p
 p
�x
 x
�� �x�  
0Z``@�)share/doc/alt-libxml2-devel/examples/.libs/xpath1000075500000026660150505766110015637 0ustar00ELF>@0&@8@@@@hh���   �0 (( ( ���  ���DDS�td���  P�td���\\Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUq�e�K�J��"F�)Cf���A K��|�BE��)��qX9�@* S2r�� 9 c"s`�����\�@  �(  �  N0  �  U   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64(0ui	�ti	��L� � �    � � � 	� 
�    (  0  P X ` h p x � � � 
� � � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D��U�G�SH��H����wB�������
R�
���1҃�t$H�sH�{�V��xC�}����X���1�H��[]�H�S��H�
R �"�H�=!
�|���H�;�����H�;����f���1�I��^H��H���PTL��H�
_H�=H����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=^ ����d����e ]������w����H��H��t[H��H�= �1�H���Z����4H�
� �H�=��-����3H�
� H���H�=�����H�
.	�BH�5�H�=3����ff.�f���AVAUATUSH���jH���BH��H�����I��H���H���
fDH���< t���tk�=H����H�����L�h� L������H��t*�L��H��H��L�p������u7M��tL����L��H��H�������uL��� 1�[]A\A]A^�H�=� M��H��1�H�L�����L��� [�����]A\A]A^�H�
� �&�H�=����L��} [�����]A\A]A^�H�
` �(�H�=����������e���H�
i��H�5!H�=,���H�
J��H�5H�=�r���f���AVAUATUSH����I��H��H���\�1�H���H�����������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H��1����I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH��H��1��N���XZI9�u�[]A\A]A^�fDH�ѾL��H��1��#����r���fDI��I�оH��H��1�����K����H�ѾH��1�H�������&���f�[H��1�]H��A\�A]1�A^���H�
i��H�5AH�=n���H�
J��H�5"H�=4���f���AUATUSH��H���EI��H���H��I���R���H��H��ttH�����H��H����M��tL��H���&�������H��L������I��H��tYH�xH�5� ���L���s���H�����H������1�H��[]A\A]�H�=o H�پ1�H�~����������L��H��H�=A �1����H���-���H�����������L��H����H�
 �*�H�=B�5���H���}���������b���H�
,�[H�5�H�=O�4���H�

�ZH�5�H�='����D��AWI��AVI��AUA��ATL�%t UH�-t SL)�H���g���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath1.cxpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\
�������p���x`����������Pp�����`���`zRx���/D$4� FJw�?:*3$"\�t�����DO
Q`������F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX�8����F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8P����{F�B�A �A(�D0�
(A ABBA,���E�D�G ~
AAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������  (�
�  ���o0p
�8 ��	x	���o���o(���o�o����o( P`p�������� 0@PGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1/GA$3p1113p
{GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�{
GA*FORTIFY��GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�{.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp�Y�a���o��8n���o((P}xx�B�	�	���@@ �``�p
p
����
����\���� � �   �( (�8 8��         
0 Z@ `` �%)share/doc/alt-libxml2-devel/examples/.libs/lt-parse4000075500000026520150505766120016241 0ustar00ELF>�
@�%@8@@@@hh����� (( ( � @@ @ ���  ���DDS�td���  P�td���DDQ�tdR�td(( ( ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�a�g���"I����j��4�A 
��|CE���qX9��* �a� 9 "��	��S�qC8  0  7  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 �LH�ii
Wui	ati	m( �0 @8 8 � � � � � 	   h p x � � 	� 
� � � 
� � � � � ��H��H�� H��t��H����5" �%# ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
���������%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R���H�{H�5�����H�� H����L�cH�\$H�������M��H��1�1�����H��H��u��D1ɉ�H��H������H�������1�H��H�����D�mH��H�]����E��tdH���V���H�=/ ��������p���1�����H�= L��1�H������H�KH�=� H��1�������H�=� L��1�H������z���H�
� �"�H�=��K����`����������1�I��^H��H���PTL�fH�
�H�=8���� �H�=1 H�* H9�tH�� H��t	�����H�= H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����H��H�
� �����H����AWI��AVI��AUA��ATL�%\ UH�-\ SL)�H���'���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���rbFailed to parse %s
Failed to create parser context !
;D����x���������� ���`����0�������XzRx�����/D$40����FJw�?:*3$"\�����tP���DZ<������F�B�A �A(�D@r
(A ABBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB@����@8 �y

(( 0 ���o0�h
�P P���	���o���o����o�oP���o@ @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
�
GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�
5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh(Y���a���oPP.n���o��`}����B��P�

�0
0
��  ��%�((
�88H���D���(�( (�0 0�8 8�@ @�P P��        
0 Z8 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/lt-parse3000075500000015670150505766120016244 0ustar00ELF>�	@8@8@@@@hh����� `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�tdhhh<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU!�c�&[{[;��|�Xl�~�e�A 
��|CE���qX9�* �St 9 �"�c��0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui		`
 �
h
 `
p
 p
 � � � � �   � � � � � 	� 
� ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D��H���
R�~���E1�1ɾH��H�=����H��tH���d�������z���1�H���H�
| ��H�=������@��1�I��^H��H���PTL�FH�
�H�=h����� �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� �y����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noname.xml<doc/>Failed to parse document
;<����px�������X���XH��������zRx�����/D$4�����FJw�?:*3$"\���pt0���lHD
AD�p���eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
`
p
 �8
(`
 h
 ���o0�h
[� ����	���o���oh���o�oD���ox
 p������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18�	GA$3p1113P	%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*P	�	GA*GOW*�GA$3a1�	5GA*�
%GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��[a���oDD n���ohhP}����B����88�``����p�P	P	��((
�880�hh<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)share/doc/alt-libxml2-devel/examples/.libs/parse2000075500000025670150505766130015630 0ustar00ELF>@@8$@8@@@@hh���PP HH H �� `` ` ���  ���DDS�td���  P�td


<<Q�tdR�tdHH H ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�s�N�g���󠍜��DA�A 
��|CE���qX9���* �S� �9 �"�u�c0      �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640����L-�ui	<ti	HH  P �X X � � � � 	� 
   � � � � � � 
� � � 
� ��H��H�� H��t��H����5b �%c ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D����t��AT�
RUSH���`���L�c�G���H��H��tc�1�L��H���]���H��H��th���t!H���4���H������g����R���[1�]A\�H�=D L��1�H������H�
% �"�H�=��/����H�= L��1�H������f.�@��1�I��^H��H���PTL�FH�
�H�=�����r �H�=� H�� H9�tH�^ H��t	�����H�=a H�5Z H)�H��H��H��?H�H�tH�% H��t��fD�����== u+UH�= H��tH�=V �	����d���� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
;8����l�����L����,���T��������$zRx����/D$4�����FJw�?:*3$"\����,t�����Q�F�A �W
CBAD�8���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�`��� �X �T�
�H P ���o00h
op �(�	���o���o����o�o����o`  	0	@	P	`	p	�	�	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�oGA$3p1113`
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*`
2GA*GOW*�GA$3a1p�GA*0�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y00oa���o��&n���o��`}((��B�����		���	�	��`
`
E���
���[�

<�P
P
�H H�P P�X X�` `�p p��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/testWriter000075500000046660150505766130016612 0ustar00ELF>�@0F@8@@@@hh����8�8 �<�< �< t� �<�< �< ���  ���DDS�td���  P�td858585ddQ�tdR�td�<�< �< pp/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�ݿ�"%
�Y_��b�&�@ @I&+�\�XX�<���|�CE���qXf��* ��,���PQkbz �9 �"���7������:&��Sv @ !0@ �H@ �8@ �@ �@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/opt/alt/libxml2/usr/lib64�@ii
�ti	ui	�L���,���:�< ��< @�< �< �? �? 
�? �? �?  @ &0@ '8@ )�> �> �> �> �> �> ? ? 	? ?  ? 
(? 0? 8? @? H? P? X? `? h? p? x? �? �? �? �? �? �?  �? !�? "�? #�? $�? %��H��H��/ H��t��H����5�. �%�. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h ��������%�, D���%�, D���%�, D���%}, D���%u, D���%m, D���%e, D���%], D���%U, D���%M, D���%E, D���%=, D���%5, D���%-, D���%%, D���%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D��H���
R�^���H�=��H�=���H�=��:H�=���i����$���1�H���f.���1�I��^H��H���PTL�FH�
�H�=x����+ �H�=1+ H�*+ H9�tH��* H��t	�����H�=+ H�5�* H)�H��H��H��?H�H�tH��* H��t��fD�����=�* u+UH�=�* H��tH�=>' ����d�����* ]������w������AVAUATUSH��dH�%(H�D$1�H����H��H��I�����H��H����H���5���D�hI��C�|-��<$Hc��-* I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc���) H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1����L��1��) �H�=�������f�1��@M��H�<�LD�H�5f1�L������s����H�==1��z����Y��������U1�SH���o���H����1�1�H�H��H��������@H�5
H��������H�5�H�=C�>���H��H��H���������HH��t	H���( H�5�H���������H��H�5�H���]�������H��H�5�H���?�������H�5aH�=����H�5]H��H��H��1��]�������H��t	H��/( H�5XH���������01���H��H�>H�5=��������1���H��H�*H�5&�������vH�5�H�=����H�5H��H��H��������.H��t	H���' H�5�H�=�����H�5�H��H��H���p�������H��t	H��R' H���������H�5�H���+������CH�5�H���������,H��H�5�H����������1��
H��H�-H�5l������yH���������H�53H���������H�:H�5"H��������1��H��H��H�5�w������H���������/H���������H�5�H���0�����xLH��H�5�H���&�������H����������H���f�������XH��[]����H��H�=�[]���fDH��H�=�[]���fDH��H�=u[]����fDH��H�=5[]���fDH��H�=[]���fDH��H�=[]���fDH��H�=�[]�n���fDH��H�=m[]�V���fDH��H�=[]�>���ZH�=>[]�/���ff.�@��AUI��ATUSH������H�=KH����1�H��H���m���H��H����H��1�H��
1��.���H�=����H�5�
H���������H�5r
H�=�����H��H��I�����H�=����?M��t	L��B$ H�5G
H���+������3H�6
H�53
H���������5H�$
H�5 
H��������H�5�H�=
�4���H��H�5�H��I��1�����H�=�����M��t	L���# H�5�H���������1���H��H��H�5��|�������1���H��H��H�5��W�������H�59H�=����H�5�H��H��I���'������oM��t	L��	# H�5�H�=`�N���H�5YH��H��I�������1M��t	L���" H���{������#H�5%H�������H�5H�������H�H�5H�������1��
H��H��H�5��Z�������H�������H�5�H���#���+H��H�5�H������]1��H��H�<H�5{�����(H������8H������(H�5YH�������H�IH�5RH�������H���;����H�����H�=,��xWH���x�L��H�5��H�=BH��H��t1H�}H���~�H������XH��[]A\A]���H�=�H��[]A\A]�*�f.�H��H�=
[]A\A]�
�f.�H��H�=][]A\A]���f.�H�=���H�=���H�=�{���@��AT1�I��USH��dH�%(H�D$1�H����H����1�1�H�D	H��H�������pH�55	H���!���)H�5	H�=k�f���H��H��H���(���`H��t	H��� H�5�H��������H��H�5�H�������H��H�5�H���g����H�5�H�=����H�5�H��H��H��1�����H��t	H��W H�5�H���@���H1���H��H�fH�5e�+����1���H��H�RH�5N����~H�5�H�=?�;�H�5:H��H��H�������>H��t	H��� H�5�H�=��H�5H��H��H������H��t	H��z H���*���"H�5�H���S���[H�5�H���<���DH��H�5�H���.����1��
H��H�UH�5��	����H�������H�5[H���������H�bH�5JH��������,1��H��H��H�5*����H���?���7H���/���'H�5H���X���xdH��H�5H���N�����H���������H�������H���.�H�4$L��H���H�<$���H�=y
��H�D$dH3%(��H��[]A\��H�=
�����f�H�=�
����f�H�=�����f�H�=Q
���f�H�=1���f�H�=�
���{����H�=�
�|��c����H�=)�d��K������H�=K�N��5���f���AUI��H�=ATUSH�����H�=LH����1�H��1�H��H���-�H��H����H��H���V�H��H��1����H�=jH��H���mH��1�H��1���H�=|���KH�5nH�=���H��H��I����H�=����M��t	L��> H�5CH���'����/H�2H�5/H���������H� H�5H��������H�5�H�=�0�H��H�5�H��I��1����H�=�����M��t	L��� H�5�H��������1���H��H��H�5��x�����1���H��H��H�5��S����kH�55H�=���H�5�H��H��I���#����KM��t	L�� H�5�H�=\�J�H�5UH��H��I��������
M��t	L��� H���w�����H�5!H��������H�5H��������H�H�5H���{�����1��
H��H��H�5��V����nH�������~H�5�H�������'H��H�5�H�������91��H��H�8H�5w������H�������H���|����H�5UH��������H�EH�5NH��������H���7�����H�����H�=0
��x3H���t�L��H��H�H�B�XH��[]A\A]���H�=�
H��[]A\A]�J�f.�H��H�=�[]A\A]�*�f.�H��H�=U[]A\A]�
�f.�H�=���H�=��H�=A�{���@��AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/�H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���ConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d�����������h���X������x�4��hX���@zRx����/D$48�� FJw�?:*3$"\0��@tx��`F�B�B �A(�A0�D@�
0A(A BBBI����AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAp\@�lF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0�<�gF�F�A �D0�
 AABHpx�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBOx$��SHJD�X�eF�E�E �E(�H0�H8�G@n8A0A(B BBB����@�< �H�
)�< �< ���o0�p
c�> ��	���o���oP���o�o�
���o�<  0@P`p�������� 0@P`p�������� GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��GA$3p1113@�(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�)GA$3p1113�()GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��(
GA*FORTIFY�(�(GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS��(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp Y��ca���o�
�
Xn���oPP�}���B������ �00�@@��))
�)) �8585d��5�5���< �<��< �<��< �<��< �<��> �>H�@ @ @ @( 
0@ZH@``@�E)share/doc/alt-libxml2-devel/examples/.libs/lt-reader2000075500000025670150505766130016375 0ustar00ELF>�@8$@8@@@@hh���   �(      ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�@��$�fv.<��8�,Kjƶ�A 
��|CE���qX9�<* jw��S� �9 �"{��.O�i�0  �  �  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64`0ui	�ti	����������L � P  � � � � 
�    H P X ` h p x 	� 
� � � � � � � � � � ��H��H�Q H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h���������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D����t��AW�
RAVAUATUSH��H������H�C�1�H��H�D$�~���H��H���Of�H�����H�߉Ń����e���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���0���H��E��I��AU��D��H�5w�1��,���XZM��t@L���}���L��(~H�5\�1������M���H�5s�1�����5����
����&�������u'H�������u<����f���H��1�[]A\A]A^A_�H�L$H�=� H�1���v����H�L$H�=� H��1���U����H�L$H�=� H��1���4����f���1�I��^H��H���PTL�FH�
�H�=���� �H�=! H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%L UH�-L SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
Document %s does not validate
;<���p8����X�������X���x���PzRx�����/D$4����0FJw�?:*3$"\���� Tt�����Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB ����P `x
  ���o0�h
V0 ��	��	���o���o����o�oF���o  ����� 0@P`p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1x�GA$3p1113�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
�GA*GOW*�GA$3a1�%GA*�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��Va���oFF6n���o��p}����B�	�	��xx���0��� ��
�
%�
�((p���<���(� � � �   �0 0��        
0 Z0 `` �#)share/doc/alt-libxml2-devel/examples/.libs/io2000075500000025670150505766140015126 0ustar00ELF>�
@8$@8@@@@hh����
�
 PP P �� hh h ���  ���DDS�td���  P�td```<<Q�tdR�tdPP P ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUZ�ܐuO1ܧ�]:D��8x/�@ I��|�CE���qX* ����� 9 j�"�|S  �      libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 �L�ii
,ui	6ti	BP �X p` ` � � � � � 
  � � � � � 	� 
� � � 
��H��H� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a�������% D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D��UH�=0SH��(dH�%(H�D$1����1�H�1�H��H���D���H�5H��H���b���H��H���7����H�T$H��H�t$���H�T$H�5�1�����H�|$�e H������H�L$dH3%(u	H��(1�[]��������1�I��^H��H���PTL�FH�
�H�=����� �H�= H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=r H��tH�=� �9����d����m ]������w������AWI��AVI��AUA��ATL�%t UH�-t SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���1.0rootcontent%s;<����p ���������p���X`�������(zRx����/D$4����FJw�?:*3$"\�����,t�����E�H�D@�
CAAD�x���eF�E�E �E(�H0�H8�G@n8A0A(B BBB������p` �N�
8P X ���o0h
ix ���	���o���o����o�o����oh �		 	0	@	P	`	p	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��
GA$3p1113
5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*
�
GA*GOW*�GA$3a1EGA*�5GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Yia���o��$n���o��`}��B������������	�	��

%�88
�HH�``<����P P�X X�` `�h h�x x��      
0 Z `` �#)share/doc/alt-libxml2-devel/examples/.libs/xpath2000075500000026520150505766140015636 0ustar00ELF>P@�%@8@@@@hh�����   �  00 0 ���  ���DDS�td���  P�tdtttDDQ�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�>�$*���EZVd�Y���ѕ��A 
��|BE��)��qX9��.* S �`�� 9 sQ"`����J�8  r  <(  y  C   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib640ui	�ti	��L� 0  �( ( � � � 
� � 
   (  X ` h p x � � 	� � 
� � � � � � � ��H��H�1 H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D��AWAVAUI��ATUSH�����4�����
R�#���I�mM�eM�uH���M����M����H������H��H����H��� ���H��H���\H��L���Y���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$���I�WH�D$J�*H�1�~tH�M9�u�H�����H�����H�=1 H������H���)�������o���1�H��[]A\A]A^A_�H�
� �"�H�=N���I�}�����H�
���H�5�H�=����H�=� L��H���Y���H������H�����I�}����k���H�
q �*�H�=���H���c�����H�=J H��1�H�����H�
s�\H�5#H�=8��H�
T�[H�5H�=����H�
5�ZH�5�H�=����D��1�I��^H��H���PTL��H�
H�=X����b �H�=� H�z H9�tH�N H��t	�����H�=Q H�5J H)�H��H��H��?H�H�tH� H��t��fD�����=5 u+UH�=� H��tH�=
 �9����d����
 ]������w����H��tH��H�=� �1�H���~���PH�
��DH�5�H�=��~���f.�@��AWI��AVI��AUA��ATL�%l UH�-l SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath2.cfilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
usageupdate_xpath_nodesexample4;@L���t\����\�������\�����������\zRx�x���/D$4���FJw�?:*3$"\����t���BcH�����{F�B�B �E(�A0�A8�DP2
8A0A(B BBBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB(���0�( ��

   ���o0�h
�@ �	(�	���o���o����o�o����o0 �
�
�
 0@P`p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhpY���a���o��4n���o��P}((��B		���
�
��
�
������5�
�  Q�ttD���0� �   �( (�0 0�@ @��        
0 Z8 `` @�$)share/doc/alt-libxml2-devel/examples/.libs/reader3000075500000025670150505766150015763 0ustar00ELF>�@8$@8@@@@hh��� 88 8 � PP P ���  ���DDS�td���  P�td���<<Q�tdR�td88 8 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�/�S/���o��k�s��A 
��|BE��)��qX9�* ��7��� 9 ("���pS\8  I  (  P  !   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64P���a���o�L}����ui	�ti	�8 �
@ �
H H � � � 	� 
�    (  x � � � � � � � � 
� � � ��H��H�� H��t��H����52 �%3 ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1�������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D��ATL�%�UH�-�S��uH�nL�f�
R�C���1�1�H�����H��H����1�L��H�������x[f.�H���(�����t�ubH������H��H���\���H��tH�=� H������H������+�������[1�]A\�H�=� M��H��1�H���o����H�=� H��1�H���P���H������H�=_ H��1�H���)�������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=� ����d����} ]������w������AWI��AVI��AUA��ATL�%L UH�-L SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
;<h���p8������������X����x���(zRx�����/D$4��FJw�?:*3$"\�����,t@���F�H�H ��
CBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�H����
�
H �

H8 @ ���o0xh
�`  ���	���o���ox���o�oF���oP @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1

GA$3p1113�EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a1
UGA*�
EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhYxx�a���oFF,n���oxx�}����B�� �

�0
0
��������HH
�XXp���<��8 8�@ @�H H�P P�` `��        
0 Z8 `` �#)share/doc/alt-libxml2-devel/examples/reader3.o000064400000065630150505766150015206 0ustar00ELF>]@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��ATL�%UH�-S��uH�nL�f�
R�1�1�H���H��H����1�L��H�����x[f.�H�����t�ubH���H��H���H��tH�=H���H�����[1�]A\�H�=M��H��1�H����H�=H��1�H��H����H�=H��1�H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
�
�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K9���CB3��C�)M		C	C)W+	1	�@	����������	
c�	
j�	�	Ja��JaJ�K�L�docM��[N�� !�!�!�"
",
�
#
#
$1
%T1%Q	%Rv%X|"
7
M#
#
$1
%T1%Q	%Rv"
D	�#
#
$1
%T1%Q	%Rv&=
�%Uv%T0%Q0&J
�%Us%T|%Q0&W
%Us&c
 %Us&p
8%Us$p
%Us&|
g%U

R&�
%Tv&�
�%Uv'�
'�
�(�
)�)2�*doc�+ �	*ret!	a,da1
)d�)d<�-.Z/
I/

.
�/
.
v./
�/
/9.�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BUXYW1�B U!41�B"1R�BXYW#1$��1%���B&��1'��1(.:;9'I ):;9I*4:;9I+4:;9I,.?:;9'I 4-..?<n:;9/.?<n:;9U�U�T�T�
�VV
�\\V0�0�\\\VVVPVPSSPSPP
�
�
�,gQ�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h!	�K!
%	YK
RXZC�	�
�	�	�	[R	�8	@]	\��\Y X
� 8
�.
Q-
�R�#	h. 
�___off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDreadernsDef_codecvt_private_xmlNsxmlNslong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flagsextractFile_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLXML_XINCLUDE_STARTlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLreader3.c_IO_lock_t_IO_FILEpatternxmlTextReaderPreservePattern_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlDocDumpXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,F�H�H ��
CBA
�	.+B/]y0��1��2 "$&(/01234.5-2
7<A*FRbw�)*+,-������18CN_mt.annobin_reader3.c.annobin_reader3.c_end.annobin_reader3.c.hot.annobin_reader3.c_end.hot.annobin_reader3.c.unlikely.annobin_reader3.c_end.unlikely.annobin_reader3.c.startup.annobin_reader3.c_end.startup.annobin_reader3.c.exit.annobin_reader3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderPreservePatternxmlTextReaderReadxmlTextReaderCurrentDocxmlFreeTextReaderstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++	-��������.��������)C��������5D��������NE��������dF��������uG���������H���������I���������J���������K���������L���������M���������N���������/���������O���������N���������0���������O���������H���������N��������1��������O��������

#
#
#*
!@%
"*
#\8
#�?
#6H
#�O
#�V
#�]
#�k
#p
#|
#��
#��
#.�
#+�
#�
#��
#�
#��
#��
#�
#�
#>
#4)
#�6
#C
#�P
#]
#�j
#bw
#��
#��
#,�
#h�
#\�
#��
#��
#n�
#F�
#C�
#Y
#j
#�!
#;-
##5
#\\
#pg
#��
#J�
#p�
#��
#��
#w�
#�
#�
#�
#� 
#�&
#Z,
#g2
#w8
#>
#�D
#J
#P
#$V
#�\
#�b
#�h
#n
#t
#rz
#�
#_�
#��
#��
#��
#[�
#`�
#u�
#��
#��
#B�
#"�
#��
#��
##�
#�
#�
#�(
#�6
#/D
#$R
#c`
#��
#��
#z�
#��
#��
#��
#T�
#T�
#�
#�
#�
#�*
#/8
#$F
#cT
#�p
#~
#�
#o�
#��
#|�
#��
#��
#�
#��
#�
#�
#�
#/-
#$;
#cI
#�e
#�s
#��
#��
#��
#�
#��
#�
#��
#��
#�

#�
#�)
#z@
#�G
#�L
#�Q
#�^
#�k
#�y
#c�
#��
#��
#��
#��
#��
#|�
#��
#�
#�
#� 
#/.
#$<
#cJ
#�s
#y�
#��
#_�
#��
#��
#��
#P 	
#C	
#�H	
#T	
#�`	
#�l	
#�x	
#@�	
#��	
#P�	
#��	
#��	+�	
#)�	
�	
�	
#��	
A�	
=�	
#��	
�

z

#7

�

�$

0(

*1
+-:

!J

�N

{W

�[

�`

!i

m

v

]z

S�

��

��
+��
+��

�

�
+��
�
+��
+�
6
4'+�=R+�[+�w
d{
b�+�*�+9�+R�+h	+y!+�9+�O+-h+��+��+��+��
#2�
#��
#7�
#�

#f

#�$

#<2

#M6

#M>

#�B

#�K

#?O

#?X

#�\

#�d

#.h

#.q

#Bu

#B}

#��

#��

#�

#�

#��

#��

#��

#��

#n�

#n++(+(+A+I+,T+,\+�+�+�
�+�+�+��+�+�+#��+#�+�+�+0+�8+�C+�K+�W+_+�+-�+��+��+��+��+�+-�+�+��+��+��++%+�0+�8+�]+<e+Qp+Qx+��+��+��+��+�+�+�+h�+x�+��+�+�+�6+�>+�Id+�l+w*
++-+�+�+� +�(+@+H+`+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@729P739h749�(759�76�!�'�1��,@707	G�V��Q@8707ph�h�@h707<�<��@�707����@�707��	8�@�707 @(8(7,29=;2x%O��
J@P: 7[Y�n��i@pSH7 ~~ 0y@�Y07"�� `�@�Y�7$�!k�@�Z7&�0y#��0h,.��,�,p�,G�,�,��,��,��,��,�,�, /�,H*@�Z75-�8A	�4��Z@share/doc/alt-libxml2-devel/xmllint.html000064400000055417150505766150014242 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <acronym class="acronym">XML</acronym> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmllint</code>  [ <code class="option">--version</code>  |   <code class="option">--debug</code>  |   <code class="option">--shell</code>  |   <code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code>  |   <code class="option">--debugent</code>  |   <code class="option">--copy</code>  |   <code class="option">--recover</code>  |   <code class="option">--noent</code>  |   <code class="option">--noout</code>  |   <code class="option">--nonet</code>  |   <code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code>  |   <code class="option">--load-trace</code>  |   <code class="option">--htmlout</code>  |   <code class="option">--nowrap</code>  |   <code class="option">--valid</code>  |   <code class="option">--postvalid</code>  |   <code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code>  |   <code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code>  |   <code class="option">--timing</code>  |   <code class="option">--output <em class="replaceable"><code>FILE</code></em></code>  |   <code class="option">--repeat</code>  |   <code class="option">--insert</code>  |   <code class="option">--compress</code>  |   <code class="option">--html</code>  |   <code class="option">--xmlout</code>  |   <code class="option">--push</code>  |   <code class="option">--memory</code>  |   <code class="option">--maxmem <em class="replaceable"><code>NBBYTES</code></em></code>  |   <code class="option">--nowarning</code>  |   <code class="option">--noblanks</code>  |   <code class="option">--nocdata</code>  |   <code class="option">--format</code>  |   <code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code>  |   <code class="option">--dropdtd</code>  |   <code class="option">--nsclean</code>  |   <code class="option">--testIO</code>  |   <code class="option">--catalogs</code>  |   <code class="option">--nocatalogs</code>  |   <code class="option">--auto</code>  |   <code class="option">--xinclude</code>  |   <code class="option">--noxincludenode</code>  |   <code class="option">--loaddtd</code>  |   <code class="option">--dtdattr</code>  |   <code class="option">--stream</code>  |   <code class="option">--walker</code>  |   <code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code>  |   <code class="option">--chkregister</code>  |   <code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--c14n</code> ] { <em class="replaceable"><code>XML-FILE(S)</code></em>...  |   - }</p></div><div class="cmdsynopsis"><p><code class="command">xmllint</code>   <code class="option">--help</code> </p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
		The <span class="command"><strong>xmllint</strong></span> program parses one or more <acronym class="acronym">XML</acronym> files,
		specified on the command line as <em class="replaceable"><code>XML-FILE</code></em>
		(or the standard input if the filename provided
		is <span class="bold"><strong>-</strong></span> ). It prints various types of
		output, depending upon the options selected. It is useful for detecting
		errors both in <acronym class="acronym">XML</acronym> code and in
		the <acronym class="acronym">XML</acronym> parser itself.
	</p><p><span class="command"><strong>xmllint</strong></span> is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
		<span class="command"><strong>xmllint</strong></span> accepts the following options (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">--auto</code></span></dt><dd><p>Generate a small document for testing purposes.</p></dd><dt><span class="term"><code class="option">--catalogs</code></span></dt><dd><p>
			Use the <acronym class="acronym">SGML</acronym> catalog(s) from <code class="envar">SGML_CATALOG_FILES</code>.
			Otherwise <acronym class="acronym">XML</acronym> catalogs starting
			from <code class="filename">/etc/xml/catalog</code> are used by default.
		</p></dd><dt><span class="term"><code class="option">--chkregister</code></span></dt><dd><p>
			Turn on node registration. Useful for developers testing <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> node tracking code.
		</p></dd><dt><span class="term"><code class="option">--compress</code></span></dt><dd><p>
			Turn on <span class="citerefentry"><span class="refentrytitle">gzip</span>(1)</span> compression of output.
		</p></dd><dt><span class="term"><code class="option">--copy</code></span></dt><dd><p>Test the internal copy implementation.</p></dd><dt><span class="term"><code class="option">--c14n</code></span></dt><dd><p>
			Use the W3C <acronym class="acronym">XML</acronym> Canonicalisation (<acronym class="acronym">C14N</acronym>) to
			serialize the result of parsing to <code class="filename">stdout</code>.
			It keeps comments in the result.
		</p></dd><dt><span class="term"><code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code></span></dt><dd><p>
			Use the <acronym class="acronym">DTD</acronym> specified by
			an <em class="replaceable"><code>URL</code></em> for validation.
		</p></dd><dt><span class="term"><code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code></span></dt><dd><p>
			Use the <acronym class="acronym">DTD</acronym> specified by a Formal Public
			Identifier <em class="replaceable"><code>FPI</code></em> for validation, note that this
			will require a catalog exporting that Formal Public Identifier to work.
		</p></dd><dt><span class="term"><code class="option">--debug</code></span></dt><dd><p>
			Parse a file and output an annotated tree of the
			in-memory version of the document.
		</p></dd><dt><span class="term"><code class="option">--debugent</code></span></dt><dd><p>Debug the entities defined in the document.</p></dd><dt><span class="term"><code class="option">--dropdtd</code></span></dt><dd><p>Remove <acronym class="acronym">DTD</acronym> from output.</p></dd><dt><span class="term"><code class="option">--dtdattr</code></span></dt><dd><p>
			Fetch external <acronym class="acronym">DTD</acronym> and populate the tree with
			inherited attributes.
		</p></dd><dt><span class="term"><code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code></span></dt><dd><p>Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.</p></dd><dt><span class="term"><code class="option">--format</code></span></dt><dd><p>
			Reformat and reindent the output. The <code class="envar">XMLLINT_INDENT</code>
			environment variable controls the indentation. The default value is two
			spaces "  ").
		</p></dd><dt><span class="term"><code class="option">--help</code></span></dt><dd><p>Print out a short usage summary for <span class="command"><strong>xmllint</strong></span>.</p></dd><dt><span class="term"><code class="option">--html</code></span></dt><dd><p>Use the <acronym class="acronym">HTML</acronym> parser.</p></dd><dt><span class="term"><code class="option">--htmlout</code></span></dt><dd><p>
			Output results as an <acronym class="acronym">HTML</acronym> file. This
			causes <span class="command"><strong>xmllint</strong></span> to output the necessary <acronym class="acronym">HTML</acronym>
			tags surrounding the result tree output so the results can be
			displayed/viewed in a browser.
		</p></dd><dt><span class="term"><code class="option">--insert</code></span></dt><dd><p>Test for valid insertions.</p></dd><dt><span class="term"><code class="option">--loaddtd</code></span></dt><dd><p>Fetch an external <acronym class="acronym">DTD</acronym>.</p></dd><dt><span class="term"><code class="option">--load-trace</code></span></dt><dd><p>
			Display all the documents loaded during the processing
			to <code class="filename">stderr</code>.
		</p></dd><dt><span class="term"><code class="option">--maxmem <em class="replaceable"><code>NNBYTES</code></em></code></span></dt><dd><p>
			Test the parser memory support. <em class="replaceable"><code>NNBYTES</code></em>
			is the maximum number of bytes the library is allowed to allocate.
			This can also be used to make sure batch processing
			of <acronym class="acronym">XML</acronym> files will not exhaust the virtual memory
			of the server running them.
		</p></dd><dt><span class="term"><code class="option">--memory</code></span></dt><dd><p>Parse from memory.</p></dd><dt><span class="term"><code class="option">--noblanks</code></span></dt><dd><p>Drop ignorable blank spaces.</p></dd><dt><span class="term"><code class="option">--nocatalogs</code></span></dt><dd><p>Do not use any catalogs.</p></dd><dt><span class="term"><code class="option">--nocdata</code></span></dt><dd><p>Substitute CDATA section by equivalent text nodes.</p></dd><dt><span class="term"><code class="option">--noent</code></span></dt><dd><p>
			Substitute entity values for entity references. By default, <span class="command"><strong>xmllint</strong></span>
			leaves entity references in place.
		</p></dd><dt><span class="term"><code class="option">--nonet</code></span></dt><dd><p>
			Do not use the Internet to fetch <acronym class="acronym">DTD</acronym>s or entities.
		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
			Suppress output. By default, <span class="command"><strong>xmllint</strong></span> outputs the result tree.
		</p></dd><dt><span class="term"><code class="option">--nowarning</code></span></dt><dd><p>Do not emit warnings from the parser and/or validator.</p></dd><dt><span class="term"><code class="option">--nowrap</code></span></dt><dd><p>Do not output <acronym class="acronym">HTML</acronym> doc wrapper.</p></dd><dt><span class="term"><code class="option">--noxincludenode</code></span></dt><dd><p>
			Do XInclude processing but do not generate XInclude start and end nodes.
		</p></dd><dt><span class="term"><code class="option">--nsclean</code></span></dt><dd><p>Remove redundant namespace declarations.</p></dd><dt><span class="term"><code class="option">--output <em class="replaceable"><code>FILE</code></em></code></span></dt><dd><p>
			Define a file path where <span class="command"><strong>xmllint</strong></span> will save the result of parsing.
			Usually the programs build a tree and save it
			on <code class="filename">stdout</code>, with this option
			the result <acronym class="acronym">XML</acronym> instance will be saved onto a file.
		</p></dd><dt><span class="term"><code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code></span></dt><dd><p>
			Use the (space- or colon-separated) list of filesystem paths specified
			by <em class="replaceable"><code>PATHS</code></em> to load <acronym class="acronym">DTD</acronym>s or
			entities. Enclose space-separated lists by quotation marks.
		</p></dd><dt><span class="term"><code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code></span></dt><dd><p>
			Used to exercise the pattern recognition engine, which can be used
			with the reader interface to the parser. It allows to select some
			nodes in the document based on an XPath (subset) expression. Used
			for debugging.
		</p></dd><dt><span class="term"><code class="option">--postvalid</code></span></dt><dd><p>Validate after parsing has completed.</p></dd><dt><span class="term"><code class="option">--push</code></span></dt><dd><p>Use the push mode of the parser.</p></dd><dt><span class="term"><code class="option">--recover</code></span></dt><dd><p>Output any parsable portions of an invalid document.</p></dd><dt><span class="term"><code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
			Use RelaxNG file named <em class="replaceable"><code>SCHEMA</code></em>
			for validation.
		</p></dd><dt><span class="term"><code class="option">--repeat</code></span></dt><dd><p>Repeat 100 times, for timing or profiling.</p></dd><dt><span class="term"><code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
			Use a W3C <acronym class="acronym">XML</acronym> Schema file
			named <em class="replaceable"><code>SCHEMA</code></em> for validation.
		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
			Run a navigating shell. Details on available commands in shell mode
			are below (see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>).
		</p></dd><dt><span class="term"><code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code></span></dt><dd><p>
			Run an XPath expression given as argument and print the
			result. In case of a nodeset result, each node in the
			node set is serialized in full in the output. In case
			of an empty node set the "XPath set is empty" result
			will be shown and an error exit code will be returned.
		</p></dd><dt><span class="term"><code class="option">--stream</code></span></dt><dd><p>
			Use streaming <acronym class="acronym">API</acronym> - useful when used in combination
			with <code class="option">--relaxng</code> or <code class="option">--valid</code> options
			for validation of files that are too large to be held in memory.
		</p></dd><dt><span class="term"><code class="option">--testIO</code></span></dt><dd><p>Test user input/output support.</p></dd><dt><span class="term"><code class="option">--timing</code></span></dt><dd><p>
			Output information about the time it takes <span class="command"><strong>xmllint</strong></span> to perform the
			various steps.
		</p></dd><dt><span class="term"><code class="option">--valid</code></span></dt><dd><p>
			Determine if the document is a valid instance of the included
			Document Type Definition (<acronym class="acronym">DTD</acronym>).
			A <acronym class="acronym">DTD</acronym> to be validated against also can be
			specified at the command line using the <code class="option">--dtdvalid</code>
			option. By default, <span class="command"><strong>xmllint</strong></span> also checks to determine if the
			document is well-formed.
		</p></dd><dt><span class="term"><code class="option">--version</code></span></dt><dd><p>
			Display the version of <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> used.
		</p></dd><dt><span class="term"><code class="option">--walker</code></span></dt><dd><p>
			Test the walker module, which is a reader interface but for a
			document tree, instead of using the reader <acronym class="acronym">API</acronym> on
			an unparsed document it works on an existing in-memory tree. Used for
			debugging.
		</p></dd><dt><span class="term"><code class="option">--xinclude</code></span></dt><dd><p>Do XInclude processing.</p></dd><dt><span class="term"><code class="option">--xmlout</code></span></dt><dd><p>
			Used in conjunction with <code class="option">--html</code>. Usually
			when <acronym class="acronym">HTML</acronym> is parsed the document is saved with
			the <acronym class="acronym">HTML</acronym> serializer. But with this option the
			resulting document is saved with the <acronym class="acronym">XML</acronym>
			serializer. This is primarily used to
			generate <acronym class="acronym">XHTML</acronym> from <acronym class="acronym">HTML</acronym> input.
		</p></dd></dl></div></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
		<span class="command"><strong>xmllint</strong></span> offers an interactive shell mode invoked with
		the <code class="option">--shell</code> command. Available commands in shell mode
		include (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>base</strong></span></span></dt><dd><p>Display <acronym class="acronym">XML</acronym> base of the node.</p></dd><dt><span class="term"><span class="command"><strong>bye</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>cat <em class="replaceable"><code>NODE</code></em></strong></span></span></dt><dd><p>Display the given node or the current one.</p></dd><dt><span class="term"><span class="command"><strong>cd <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Change the current node to the given path (if unique) or root if no
			argument is given.
		</p></dd><dt><span class="term"><span class="command"><strong>dir <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Dumps information about the node (namespace, attributes, content).
		</p></dd><dt><span class="term"><span class="command"><strong>du <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Show the structure of the subtree under the given path or the current node.
		</p></dd><dt><span class="term"><span class="command"><strong>exit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>help</strong></span></span></dt><dd><p>Show this help.</p></dd><dt><span class="term"><span class="command"><strong>free</strong></span></span></dt><dd><p>Display memory usage.</p></dd><dt><span class="term"><span class="command"><strong>load <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Load a new document with the given filename.</p></dd><dt><span class="term"><span class="command"><strong>ls <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>List contents of the given path or the current directory.</p></dd><dt><span class="term"><span class="command"><strong>pwd</strong></span></span></dt><dd><p>Display the path to the current node.</p></dd><dt><span class="term"><span class="command"><strong>quit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>save <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>
			Save the current document to the given filename or to the original name.
		</p></dd><dt><span class="term"><code class="option">validate</code></span></dt><dd><p>Check the document for errors.</p></dd><dt><span class="term"><span class="command"><strong>write <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Write the current node to the given filename.</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">SGML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">SGML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">SGML_CATALOG_FILES</code> environment variable to a list
			of catalogs. An empty one should deactivate loading the
			default <code class="filename">/etc/sgml/catalog</code> catalog.
		</p></dd><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
			list of catalogs. Use percent-encoding to escape spaces or other characters.
			An empty variable should deactivate loading the default <code class="filename">/etc/xml/catalog</code> catalog.
		</p></dd><dt><span class="term"><code class="envar">XML_DEBUG_CATALOG</code></span></dt><dd><p>Setting the environment variable <code class="envar">XML_DEBUG_CATALOG</code>
			to <em class="parameter"><code>non-zero</code></em> using the <span class="command"><strong>export</strong></span>
			command outputs debugging information related to catalog operations.
		</p></dd><dt><span class="term"><code class="envar">XMLLINT_INDENT</code></span></dt><dd><p>Setting the environment variable <code class="envar">XMLLINT_INDENT</code>
			controls the indentation. The default value is two spaces "  ".
		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
		<span class="command"><strong>xmllint</strong></span> return codes provide information that can be used when
		calling it from scripts.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Unclassified</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Error in <acronym class="acronym">DTD</acronym></p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">5</span></span></dt><dd><p>Error in schema compilation</p></dd><dt><span class="term"><span class="errorcode">6</span></span></dt><dd><p>Error writing output</p></dd><dt><span class="term"><span class="errorcode">7</span></span></dt><dd><p>
			Error in pattern (generated when <code class="option">--pattern</code> option is used)
		</p></dd><dt><span class="term"><span class="errorcode">8</span></span></dt><dd><p>
			Error in Reader registration (generated
			when <code class="option">--chkregister</code> option is used)
		</p></dd><dt><span class="term"><span class="errorcode">9</span></span></dt><dd><p>Out of memory error</p></dd><dt><span class="term"><span class="errorcode">10</span></span></dt><dd><p>XPath evaluation error</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
	</p><p>
		More information can be found at
		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
				</p></li></ul></div><p>
	</p></div></div></body></html>
share/doc/alt-libxml2-devel/xmlcatalog.html000064400000033370150505766160014701 0ustar00<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; 
		Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
		or <acronym class="acronym">SGML</acronym> catalog files.
	</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmlcatalog</code>  [ <code class="option">--sgml</code>  |   <code class="option">--shell</code>  |   <code class="option">--create</code>  |   <code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code>  |   
			[ 
					<code class="option">--add
					 <em class="replaceable"><code>TYPE</code></em>
					 <em class="replaceable"><code>ORIG</code></em>
					 <em class="replaceable"><code>REPLACE</code></em>
					</code>
				  |   <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]		
		  |   <code class="option">--noout</code>  |   <code class="option">--no-super-update</code>  |   
			[ <code class="option">-v</code>  |   <code class="option">--verbose</code> ]
		 ] {<em class="replaceable"><code>CATALOGFILE</code></em>} {<em class="replaceable"><code>ENTITIES</code></em>...}</p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
		manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
		is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.
	</p><p>
		Its functions can be invoked from a single command from the command line,
		or it can perform multiple functions in interactive mode. It can operate
		on both <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
	</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
		<code class="option">--add
		 <em class="replaceable"><code>TYPE</code></em>
		 <em class="replaceable"><code>ORIG</code></em>
		 <em class="replaceable"><code>REPLACE</code></em>
		</code>
	</span></dt><dd><p>
			Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
			used. The <code class="option">--add</code> option will not overwrite
			<code class="filename">CATALOGFILE</code>, outputting
			to <code class="filename">stdout</code>, unless
			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
			catalog constructs will have only a single argument.
		</p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
			If the <code class="option">--add</code> option is used following
			the <code class="option">--sgml</code> option, only a single argument,
			a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
			the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
			a file that contains references to other included <acronym class="acronym">SGML</acronym>
			catalog files.
		</p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
			Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
			to <code class="filename">stdout</code>,
			ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
			used, in which case it creates a new catalog
			file <em class="replaceable"><code>filename</code></em>.
		</p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
			Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
			matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
			option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
			outputting to <code class="filename">stdout</code>,
			unless <code class="option">--noout</code> is used.
		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
			Save output to the named file rather than outputting
			to <code class="filename">stdout</code>.
		</p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
			Do not update the <acronym class="acronym">SGML</acronym> super catalog.
		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
			Run a shell allowing interactive queries on catalog
			file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
			commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
		</p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
			Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
			and <code class="option">--del</code> options.
		</p></dd><dt><span class="term"><code class="option">-v</code>, </span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>Output debugging information.</p></dd></dl></div><p>
		Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
		(imposed with options like <code class="option">--add</code>) will result in a lookup
		of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
		catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
		corresponding entries will be output to the command line. This mode of
		operation, together with <code class="option">--shell</code> mode and non-modifying
		(i.e. without <code class="option">--noout</code>) direct actions, allows for
		a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
		specification (possibly expressed as "" in the shell
		environment) appointing the default system catalog. That simplifies the
		handling when its exact location is irrelevant but the respective built-in
		still needs to be consulted.
	</p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
		Invoking <span class="command"><strong>xmlcatalog</strong></span> with
		the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
		a command line shell allowing interactive access to the catalog file
		identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
		provides a command line prompt after which the following commands (described in
		alphabetical order) can be entered.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
		<code class="option">add
		 <em class="replaceable"><code>TYPE</code></em>
		 <em class="replaceable"><code>ORIG</code></em>
		 <em class="replaceable"><code>REPLACE</code></em>
		</code>
	</span></dt><dd><p>
			Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
			used. The <code class="option">--add</code> option will not overwrite
			<code class="filename">CATALOGFILE</code>, outputting
			to <code class="filename">stdout</code>, unless
			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
			catalog constructs will have only a single argument.
		</p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
			Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
		</p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
			Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
		</p></dd><dt><span class="term"><code class="option">dump</code></span></dt><dd><p>Print the current catalog.</p></dd><dt><span class="term"><code class="option">exit</code></span></dt><dd><p>Quit the shell.</p></dd><dt><span class="term"><code class="option">public <em class="replaceable"><code>PUBLIC-ID</code></em></code></span></dt><dd><p>
			Execute a Formal Public Identifier lookup of the catalog entry
			for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
			output to the command line.
		</p></dd><dt><span class="term"><code class="option">quiet</code></span></dt><dd><p>Stop printing debugging statements.</p></dd><dt><span class="term"><code class="option">system <em class="replaceable"><code>SYSTEM-ID</code></em></code></span></dt><dd><p>
			Execute a Formal Public Identifier lookup of the catalog entry
			for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
			output to the command line.
		</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
			list of catalogs. Use percent-encoding to escape spaces or other characters.
			An empty variable should deactivate loading the default <code class="filename">/etc/xml/catalog</code> catalog.
		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
		calling it from scripts.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Failed to remove an entry from the catalog</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Failed to save to the catalog, check file permissions</p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Failed to add an entry to the catalog</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Failed to look up an entry in the catalog</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
	</p><p>
		More information can be found at
		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
				</p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
					at <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support" target="_top">https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support</a>
				</p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
					page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
				</p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
					<a class="ulink" href="http://www.oasis-open.org/committees/entity/spec.html" target="_top">http://www.oasis-open.org/committees/entity/spec.html</a>
				</p></li></ul></div><p>
	</p></div></div></body></html>
share/aclocal/libxml.m4000064400000017341150505766160011016 0ustar00# Configure paths for LIBXML2
# Simon Josefsson 2020-02-12
# Fix autoconf 2.70+ warnings
# Mike Hommey 2004-06-19
# use CPPFLAGS instead of CFLAGS
# Toshio Kuratomi 2001-04-21
# Adapted from:
# Configure paths for GLIB
# Owen Taylor     97-11-3

dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
dnl
AC_DEFUN([AM_PATH_XML2],[ 
AC_ARG_WITH(xml-prefix,
            [  --with-xml-prefix=PFX   Prefix where libxml is installed (optional)],
            xml_config_prefix="$withval", xml_config_prefix="")
AC_ARG_WITH(xml-exec-prefix,
            [  --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
            xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
AC_ARG_ENABLE(xmltest,
              [  --disable-xmltest       Do not try to compile and run a test LIBXML program],,
              enable_xmltest=yes)

  if test x$xml_config_exec_prefix != x ; then
     xml_config_args="$xml_config_args"
     if test x${XML2_CONFIG+set} != xset ; then
        XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
     fi
  fi
  if test x$xml_config_prefix != x ; then
     xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
     if test x${XML2_CONFIG+set} != xset ; then
        XML2_CONFIG=$xml_config_prefix/bin/xml2-config
     fi
  fi

  AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
  min_xml_version=ifelse([$1], ,2.0.0,[$1])
  AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
  no_xml=""
  if test "$XML2_CONFIG" = "no" ; then
    no_xml=yes
  else
    XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
    XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
    xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
    xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
    xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
    if test "x$enable_xmltest" = "xyes" ; then
      ac_save_CPPFLAGS="$CPPFLAGS"
      ac_save_LIBS="$LIBS"
      CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
      LIBS="$XML_LIBS $LIBS"
dnl
dnl Now check if the installed libxml is sufficiently new.
dnl (Also sanity checks the results of xml2-config to some extent)
dnl
      rm -f conf.xmltest
      AC_RUN_IFELSE(
            [AC_LANG_SOURCE([[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <libxml/xmlversion.h>

int 
main()
{
  int xml_major_version, xml_minor_version, xml_micro_version;
  int major, minor, micro;
  char *tmp_version;

  system("touch conf.xmltest");

  /* Capture xml2-config output via autoconf/configure variables */
  /* HP/UX 9 (%@#!) writes to sscanf strings */
  tmp_version = (char *)strdup("$min_xml_version");
  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
     printf("%s, bad version string from xml2-config\n", "$min_xml_version");
     exit(1);
   }
   free(tmp_version);

   /* Capture the version information from the header files */
   tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
   if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
     printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
     exit(1);
   }
   free(tmp_version);

 /* Compare xml2-config output to the libxml headers */
  if ((xml_major_version != $xml_config_major_version) ||
      (xml_minor_version != $xml_config_minor_version) ||
      (xml_micro_version != $xml_config_micro_version))
    {
      printf("*** libxml header files (version %d.%d.%d) do not match\n",
         xml_major_version, xml_minor_version, xml_micro_version);
      printf("*** xml2-config (version %d.%d.%d)\n",
         $xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
      return 1;
    } 
/* Compare the headers to the library to make sure we match */
  /* Less than ideal -- doesn't provide us with return value feedback, 
   * only exits if there's a serious mismatch between header and library.
   */
    LIBXML_TEST_VERSION;

    /* Test that the library is greater than our minimum version */
    if ((xml_major_version > major) ||
        ((xml_major_version == major) && (xml_minor_version > minor)) ||
        ((xml_major_version == major) && (xml_minor_version == minor) &&
        (xml_micro_version >= micro)))
      {
        return 0;
       }
     else
      {
        printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
               xml_major_version, xml_minor_version, xml_micro_version);
        printf("*** You need a version of libxml newer than %d.%d.%d.\n",
           major, minor, micro);
        printf("***\n");
        printf("*** If you have already installed a sufficiently new version, this error\n");
        printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
        printf("*** being found. The easiest way to fix this is to remove the old version\n");
        printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
        printf("*** correct copy of xml2-config. (In this case, you will have to\n");
        printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n");
        printf("*** so that the correct libraries are found at run-time))\n");
    }
  return 1;
}
]])],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
       CPPFLAGS="$ac_save_CPPFLAGS"
       LIBS="$ac_save_LIBS"
     fi
  fi

  if test "x$no_xml" = x ; then
     AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
     ifelse([$2], , :, [$2])     
  else
     AC_MSG_RESULT(no)
     if test "$XML2_CONFIG" = "no" ; then
       echo "*** The xml2-config script installed by LIBXML could not be found"
       echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
       echo "*** your path, or set the XML2_CONFIG environment variable to the"
       echo "*** full path to xml2-config."
     else
       if test -f conf.xmltest ; then
        :
       else
          echo "*** Could not run libxml test program, checking why..."
          CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
          LIBS="$LIBS $XML_LIBS"
	  AC_LINK_IFELSE(
            [AC_LANG_PROGRAM([[
#include <libxml/xmlversion.h>
#include <stdio.h>
]],    [[ LIBXML_TEST_VERSION; return 0;]])],
        [ echo "*** The test program compiled, but did not run. This usually means"
          echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
          echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
          echo "*** is required on your system"
          echo "***"
          echo "*** If you have an old version installed, it is best to remove it, although"
          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
        [ echo "*** The test program failed to compile or link. See the file config.log for the"
          echo "*** exact error that occurred. This usually means LIBXML was incorrectly installed"
          echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
          echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
          CPPFLAGS="$ac_save_CPPFLAGS"
          LIBS="$ac_save_LIBS"
       fi
     fi

     XML_CPPFLAGS=""
     XML_LIBS=""
     ifelse([$3], , :, [$3])
  fi
  AC_SUBST(XML_CPPFLAGS)
  AC_SUBST(XML_LIBS)
  rm -f conf.xmltest
])
share/gtk-doc/html/libxml2/libxml2-SAX.html000064400000111576150505766160014431 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SAX: Old SAX version 1 handler, deprecated</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">SAX</span></h2>
<p>SAX - Old SAX version 1 handler, deprecated</p>
<p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
<p> WARNING: this module is deprecated !</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void	<a href="#attribute">attribute</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#attributeDecl">attributeDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
void	<a href="#characters">characters</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
void	<a href="#comment">comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#elementDecl">elementDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
void	<a href="#endDocument">endDocument</a>			(void * ctx);
void	<a href="#endElement">endElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#entityDecl">entityDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#externalSubset">externalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#getColumnNumber">getColumnNumber</a>			(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntity">getEntity</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#getLineNumber">getLineNumber</a>			(void * ctx);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#getNamespace">getNamespace</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntity">getParameterEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getPublicId">getPublicId</a>		(void * ctx);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getSystemId">getSystemId</a>		(void * ctx);
void	<a href="#globalNamespace">globalNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
int	<a href="#hasExternalSubset">hasExternalSubset</a>		(void * ctx);
int	<a href="#hasInternalSubset">hasInternalSubset</a>		(void * ctx);
void	<a href="#ignorableWhitespace">ignorableWhitespace</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
void	<a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning);
void	<a href="#internalSubset">internalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#isStandalone">isStandalone</a>			(void * ctx);
void	<a href="#namespaceDecl">namespaceDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
void	<a href="#notationDecl">notationDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#processingInstruction">processingInstruction</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
void	<a href="#reference">reference</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntity">resolveEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#setDocumentLocator">setDocumentLocator</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
void	<a href="#setNamespace">setNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#startDocument">startDocument</a>			(void * ctx);
void	<a href="#startElement">startElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
void	<a href="#unparsedEntityDecl">unparsedEntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="attribute"></a>attribute ()</h3>
<pre class="programlisting">void	attribute			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element. DEPRECATED: use xmlSAX2Attribute()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeDecl"></a>attributeDecl ()</h3>
<pre class="programlisting">void	attributeDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="cdataBlock"></a>cdataBlock ()</h3>
<pre class="programlisting">void	cdataBlock			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="characters"></a>characters ()</h3>
<pre class="programlisting">void	characters			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="checkNamespace"></a>checkNamespace ()</h3>
<pre class="programlisting">int	checkNamespace			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br>
</pre>
<p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespace</tt></i>:</span></td>
<td>the namespace to check against</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="comment"></a>comment ()</h3>
<pre class="programlisting">void	comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed. DEPRECATED: use xmlSAX2Comment()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="elementDecl"></a>elementDecl ()</h3>
<pre class="programlisting">void	elementDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endDocument"></a>endDocument ()</h3>
<pre class="programlisting">void	endDocument			(void * ctx)<br>
</pre>
<p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElement"></a>endElement ()</h3>
<pre class="programlisting">void	endElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="entityDecl"></a>entityDecl ()</h3>
<pre class="programlisting">void	entityDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="externalSubset"></a>externalSubset ()</h3>
<pre class="programlisting">void	externalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getColumnNumber"></a>getColumnNumber ()</h3>
<pre class="programlisting">int	getColumnNumber			(void * ctx)<br>
</pre>
<p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getEntity"></a>getEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntity		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getLineNumber"></a>getLineNumber ()</h3>
<pre class="programlisting">int	getLineNumber			(void * ctx)<br>
</pre>
<p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getNamespace"></a>getNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	getNamespace		(void * ctx)<br>
</pre>
<p>Get the current element namespace. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getParameterEntity"></a>getParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getPublicId"></a>getPublicId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getPublicId		(void * ctx)<br>
</pre>
<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getSystemId"></a>getSystemId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getSystemId		(void * ctx)<br>
</pre>
<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="globalNamespace"></a>globalNamespace ()</h3>
<pre class="programlisting">void	globalNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>An old global namespace has been parsed. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace associated URN</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasExternalSubset"></a>hasExternalSubset ()</h3>
<pre class="programlisting">int	hasExternalSubset		(void * ctx)<br>
</pre>
<p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasInternalSubset"></a>hasInternalSubset ()</h3>
<pre class="programlisting">int	hasInternalSubset		(void * ctx)<br>
</pre>
<p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3>
<pre class="programlisting">void	ignorableWhitespace		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a> DEPRECATED: use xmlSAX2IgnorableWhitespace()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	inithtmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br>
</pre>
<p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	initxmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning)<br>
</pre>
<p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>warning</tt></i>:</span></td>
<td>flag if non-zero sets the handler warning procedure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="internalSubset"></a>internalSubset ()</h3>
<pre class="programlisting">void	internalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isStandalone"></a>isStandalone ()</h3>
<pre class="programlisting">int	isStandalone			(void * ctx)<br>
</pre>
<p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namespaceDecl"></a>namespaceDecl ()</h3>
<pre class="programlisting">void	namespaceDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>A namespace has been parsed. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace associated URN</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="notationDecl"></a>notationDecl ()</h3>
<pre class="programlisting">void	notationDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="processingInstruction"></a>processingInstruction ()</h3>
<pre class="programlisting">void	processingInstruction		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="reference"></a>reference ()</h3>
<pre class="programlisting">void	reference			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected. DEPRECATED: use xmlSAX2Reference()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="resolveEntity"></a>resolveEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setDocumentLocator"></a>setDocumentLocator ()</h3>
<pre class="programlisting">void	setDocumentLocator		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setNamespace"></a>setNamespace ()</h3>
<pre class="programlisting">void	setNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Set the current element namespace. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startDocument"></a>startDocument ()</h3>
<pre class="programlisting">void	startDocument			(void * ctx)<br>
</pre>
<p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElement"></a>startElement ()</h3>
<pre class="programlisting">void	startElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3>
<pre class="programlisting">void	unparsedEntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-HTMLtree.html000064400000056743150505766170015427 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">HTMLtree</span></h2>
<p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
<p>this module implements a few function needed to process tree in an HTML specific way. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
void	<a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#htmlGetMetaEncoding">htmlGetMetaEncoding</a>	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);
int	<a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDoc">htmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
int	<a href="#htmlNodeDump">htmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlSaveFile">htmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
int	<a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
int	<a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="HTML_COMMENT_NODE">Macro </a>HTML_COMMENT_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
</pre>
<p>Macro. A <a href="libxml2-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml2-SAX.html#comment">comment</a> in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_ENTITY_REF_NODE">Macro </a>HTML_ENTITY_REF_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
</pre>
<p>Macro. An entity <a href="libxml2-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml2-SAX.html#reference">reference</a> in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
</pre>
<p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_PRESERVE_NODE">Macro </a>HTML_PRESERVE_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
</pre>
<p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
</pre>
<p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocContentDumpFormatOutput"></a>htmlDocContentDumpFormatOutput ()</h3>
<pre class="programlisting">void	htmlDocContentDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocContentDumpOutput"></a>htmlDocContentDumpOutput ()</h3>
<pre class="programlisting">void	htmlDocContentDumpOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML document. Formatting return/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDump"></a>htmlDocDump ()</h3>
<pre class="programlisting">int	htmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an HTML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDumpMemory"></a>htmlDocDumpMemory ()</h3>
<pre class="programlisting">void	htmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
</pre>
<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDumpMemoryFormat"></a>htmlDocDumpMemoryFormat ()</h3>
<pre class="programlisting">void	htmlDocDumpMemoryFormat		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
</pre>
<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlGetMetaEncoding"></a>htmlGetMetaEncoding ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	htmlGetMetaEncoding	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br>
</pre>
<p>Encoding definition lookup in the Meta tags</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current encoding as flagged in the HTML source</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsBooleanAttr"></a>htmlIsBooleanAttr ()</h3>
<pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Determine if a given <a href="libxml2-SAX.html#attribute">attribute</a> is a boolean attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a> to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>false if the <a href="libxml2-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewDoc"></a>htmlNewDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
</pre>
<p>Creates a new HTML document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>URI for the dtd, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID of the DTD, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewDocNoDtD"></a>htmlNewDocNoDtD ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDocNoDtD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
</pre>
<p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>URI for the dtd, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID of the DTD, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document, do not initialize the DTD if not provided</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDump"></a>htmlNodeDump ()</h3>
<pre class="programlisting">int	htmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFile"></a>htmlNodeDumpFile ()</h3>
<pre class="programlisting">void	htmlNodeDumpFile		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the FILE pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFileFormat"></a>htmlNodeDumpFileFormat ()</h3>
<pre class="programlisting">int	htmlNodeDumpFileFormat		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the FILE pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFormatOutput"></a>htmlNodeDumpFormatOutput ()</h3>
<pre class="programlisting">void	htmlNodeDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpOutput"></a>htmlNodeDumpOutput ()</h3>
<pre class="programlisting">void	htmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFile"></a>htmlSaveFile ()</h3>
<pre class="programlisting">int	htmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFileEnc"></a>htmlSaveFileEnc ()</h3>
<pre class="programlisting">int	htmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFileFormat"></a>htmlSaveFileFormat ()</h3>
<pre class="programlisting">int	htmlSaveFileFormat		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML document to a file using a given encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSetMetaEncoding"></a>htmlSetMetaEncoding ()</h3>
<pre class="programlisting">int	htmlSetMetaEncoding		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br>
</pre>
<p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlautomata.html000064400000104033150505766170016321 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlautomata: API to build regexp automata</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlautomata</span></h2>
<p>xmlautomata - API to build regexp automata</p>
<p>the API to build regexp automata </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
typedef <a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a href="#xmlAutomataPtr">xmlAutomataPtr</a>;
typedef struct _xmlAutomataState <a href="#xmlAutomataState">xmlAutomataState</a>;
typedef <a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a href="#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlAutomataCompile">xmlAutomataCompile</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data);
int	<a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
void	<a href="#xmlFreeAutomata">xmlFreeAutomata</a>			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	<a href="#xmlNewAutomata">xmlNewAutomata</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomata">Structure </a>xmlAutomata</h3>
<pre class="programlisting">struct _xmlAutomata {
The content of this structure is not made public by the API.
} xmlAutomata;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
</pre>
<p>A libxml automata description, It can be compiled into a regexp</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataState">Structure </a>xmlAutomataState</h3>
<pre class="programlisting">struct _xmlAutomataState {
The content of this structure is not made public by the API.
} xmlAutomataState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataStatePtr">Typedef </a>xmlAutomataStatePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * xmlAutomataStatePtr;
</pre>
<p>A state int the automata description,</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataCompile"></a>xmlAutomataCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlAutomataCompile	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled regexp or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataGetInitState"></a>xmlAutomataGetInitState ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataGetInitState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Initial state lookup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the initial state of the automata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataIsDeterminist"></a>xmlAutomataIsDeterminist ()</h3>
<pre class="programlisting">int	xmlAutomataIsDeterminist	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Checks if an automata is determinist.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if not, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewAllTrans"></a>xmlAutomataNewAllTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewAllTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>lax</tt></i>:</span></td>
<td>allow to transition if not all all transitions have been activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountTrans"></a>xmlAutomataNewCountTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountTrans2"></a>xmlAutomataNewCountTrans2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountedTrans"></a>xmlAutomataNewCountedTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>counter</tt></i>:</span></td>
<td>the counter associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCounter"></a>xmlAutomataNewCounter ()</h3>
<pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max)<br>
</pre>
<p>Create a new counter</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimal value on the counter</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximal value on the counter</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the counter number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCounterTrans"></a>xmlAutomataNewCounterTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCounterTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>counter</tt></i>:</span></td>
<td>the counter associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewEpsilon"></a>xmlAutomataNewEpsilon ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewEpsilon	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewNegTrans"></a>xmlAutomataNewNegTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewNegTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the first input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewOnceTrans"></a>xmlAutomataNewOnceTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewOnceTrans2"></a>xmlAutomataNewOnceTrans2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewState"></a>xmlAutomataNewState ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Create a new disconnected state in the automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewTransition"></a>xmlAutomataNewTransition ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewTransition2"></a>xmlAutomataNewTransition2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the first input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataSetFinalState"></a>xmlAutomataSetFinalState ()</h3>
<pre class="programlisting">int	xmlAutomataSetFinalState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br>
</pre>
<p>Makes that state a final state</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>state</tt></i>:</span></td>
<td>a state in this automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeAutomata"></a>xmlFreeAutomata ()</h3>
<pre class="programlisting">void	xmlFreeAutomata			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Free an automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewAutomata"></a>xmlNewAutomata ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	xmlNewAutomata		(void)<br>
</pre>
<p>Create a new automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object or NULL in case of failure</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlmodule.html000064400000015431150505766170015776 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlmodule: dynamic module loading</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlmodule</span></h2>
<p>xmlmodule - dynamic module loading</p>
<p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
<p>Author(s): Joel W. Reed </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
typedef enum <a href="#xmlModuleOption">xmlModuleOption</a>;
typedef <a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * <a href="#xmlModulePtr">xmlModulePtr</a>;
int	<a href="#xmlModuleClose">xmlModuleClose</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
int	<a href="#xmlModuleFree">xmlModuleFree</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	<a href="#xmlModuleOpen">xmlModuleOpen</a>		(const char * name, <br>					 int options);
int	<a href="#xmlModuleSymbol">xmlModuleSymbol</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlModule">Structure </a>xmlModule</h3>
<pre class="programlisting">struct _xmlModule {
The content of this structure is not made public by the API.
} xmlModule;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleOption">Enum </a>xmlModuleOption</h3>
<pre class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
    <a name="XML_MODULE_LAZY">XML_MODULE_LAZY</a> = 1 /* lazy binding */
    <a name="XML_MODULE_LOCAL">XML_MODULE_LOCAL</a> = 2 /*  local binding */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
</pre>
<p>A handle to a dynamically loaded module</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleClose"></a>xmlModuleClose ()</h3>
<pre class="programlisting">int	xmlModuleClose			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
</pre>
<p>The close operations unload the associated module and free the data associated to the module.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module handle</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleFree"></a>xmlModuleFree ()</h3>
<pre class="programlisting">int	xmlModuleFree			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
</pre>
<p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module handle</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of argument error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleOpen"></a>xmlModuleOpen ()</h3>
<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	xmlModuleOpen		(const char * name, <br>					 int options)<br>
</pre>
<p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the module name</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a handle for the module or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleSymbol"></a>xmlModuleSymbol ()</h3>
<pre class="programlisting">int	xmlModuleSymbol			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol)<br>
</pre>
<p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the symbol</td>
</tr>
<tr>
<td><span class="term"><i><tt>symbol</tt></i>:</span></td>
<td>the resulting symbol address</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the symbol was found, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-encoding.html000064400000070721150505766200015553 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>encoding: interface for the encoding conversion functions</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">encoding</span></h2>
<p>encoding - interface for the encoding conversion functions</p>
<p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br>					 const char * alias);
int	<a href="#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler);
int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
typedef int <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
typedef int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void);
void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void);
int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias);
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br>					 int len);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
const char *	<a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias);
void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name);
void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3>
<pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
    <a name="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 /* No char encoding detected */
    <a name="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 /* No char encoding detected */
    <a name="XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a> = 1 /* UTF-8 */
    <a name="XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a> = 2 /* UTF-16 little endian */
    <a name="XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a> = 3 /* UTF-16 big endian */
    <a name="XML_CHAR_ENCODING_UCS4LE">XML_CHAR_ENCODING_UCS4LE</a> = 4 /* UCS-4 little endian */
    <a name="XML_CHAR_ENCODING_UCS4BE">XML_CHAR_ENCODING_UCS4BE</a> = 5 /* UCS-4 big endian */
    <a name="XML_CHAR_ENCODING_EBCDIC">XML_CHAR_ENCODING_EBCDIC</a> = 6 /* EBCDIC uh! */
    <a name="XML_CHAR_ENCODING_UCS4_2143">XML_CHAR_ENCODING_UCS4_2143</a> = 7 /* UCS-4 unusual ordering */
    <a name="XML_CHAR_ENCODING_UCS4_3412">XML_CHAR_ENCODING_UCS4_3412</a> = 8 /* UCS-4 unusual ordering */
    <a name="XML_CHAR_ENCODING_UCS2">XML_CHAR_ENCODING_UCS2</a> = 9 /* UCS-2 */
    <a name="XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a> = 10 /* ISO-8859-1 ISO Latin 1 */
    <a name="XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a> = 11 /* ISO-8859-2 ISO Latin 2 */
    <a name="XML_CHAR_ENCODING_8859_3">XML_CHAR_ENCODING_8859_3</a> = 12 /* ISO-8859-3 */
    <a name="XML_CHAR_ENCODING_8859_4">XML_CHAR_ENCODING_8859_4</a> = 13 /* ISO-8859-4 */
    <a name="XML_CHAR_ENCODING_8859_5">XML_CHAR_ENCODING_8859_5</a> = 14 /* ISO-8859-5 */
    <a name="XML_CHAR_ENCODING_8859_6">XML_CHAR_ENCODING_8859_6</a> = 15 /* ISO-8859-6 */
    <a name="XML_CHAR_ENCODING_8859_7">XML_CHAR_ENCODING_8859_7</a> = 16 /* ISO-8859-7 */
    <a name="XML_CHAR_ENCODING_8859_8">XML_CHAR_ENCODING_8859_8</a> = 17 /* ISO-8859-8 */
    <a name="XML_CHAR_ENCODING_8859_9">XML_CHAR_ENCODING_8859_9</a> = 18 /* ISO-8859-9 */
    <a name="XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a> = 19 /* ISO-2022-JP */
    <a name="XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a> = 20 /* Shift_JIS */
    <a name="XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a> = 21 /* EUC-JP */
    <a name="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 /*  pure ASCII */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingHandler">Structure </a>xmlCharEncodingHandler</h3>
<pre class="programlisting">struct _xmlCharEncodingHandler {
    char *	name
    <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	input
    <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	output
    iconv_t	iconv_in
    iconv_t	iconv_out
    struct _uconv_t *	uconv_in
    struct _uconv_t *	uconv_out
} xmlCharEncodingHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingHandlerPtr">Typedef </a>xmlCharEncodingHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingInputFunc"></a>Function type xmlCharEncodingInputFunc</h3>
<pre class="programlisting">int	xmlCharEncodingInputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the UTF-8 result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of chars in the original encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingOutputFunc"></a>Function type xmlCharEncodingOutputFunc</h3>
<pre class="programlisting">int	xmlCharEncodingOutputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="UTF8Toisolat1"></a>UTF8Toisolat1 ()</h3>
<pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isolat1ToUTF8"></a>isolat1ToUTF8 ()</h3>
<pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of ISO Latin 1 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddEncodingAlias"></a>xmlAddEncodingAlias ()</h3>
<pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br>					 const char * alias)<br>
</pre>
<p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncCloseFunc"></a>xmlCharEncCloseFunc ()</h3>
<pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br>
</pre>
<p>Generic front-end for encoding handler close function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncFirstLine"></a>xmlCharEncFirstLine ()</h3>
<pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncInFunc"></a>xmlCharEncInFunc ()</h3>
<pre class="programlisting">int	xmlCharEncInFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Generic front-end for the encoding handler input function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncOutFunc"></a>xmlCharEncOutFunc ()</h3>
<pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupCharEncodingHandlers"></a>xmlCleanupCharEncodingHandlers ()</h3>
<pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3>
<pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br>
</pre>
<p>Unregisters all aliases</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3>
<pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br>
</pre>
<p>Unregisters an encoding alias @alias</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDetectCharEncoding"></a>xmlDetectCharEncoding ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br>					 int len)<br>
</pre>
<p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of the XML_CHAR_ENCODING_... values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br>
</pre>
<p>Search in the registered set the handler able to read/write that encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>a string describing the char encoding.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the handler or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCharEncodingHandler"></a>xmlGetCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Search in the registered set the handler able to read/write that encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the handler or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCharEncodingName"></a>xmlGetCharEncodingName ()</h3>
<pre class="programlisting">const char *	xmlGetCharEncodingName	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the canonical name for the given encoding</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetEncodingAlias"></a>xmlGetEncodingAlias ()</h3>
<pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br>
</pre>
<p>Lookup an encoding name for the given alias.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise the original name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitCharEncodingHandlers"></a>xmlInitCharEncodingHandlers ()</h3>
<pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCharEncodingHandler"></a>xmlNewCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br>
</pre>
<p>Create and registers an xmlCharEncodingHandler.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharEncoding"></a>xmlParseCharEncoding ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br>
</pre>
<p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of the XML_CHAR_ENCODING_... values or <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterCharEncodingHandler"></a>xmlRegisterCharEncodingHandler ()</h3>
<pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>Register the char encoding handler, surprising, isn't it ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-globals.html000064400000104776150505766200015420 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>globals: interface for all global variables of the library</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">globals</span></h2>
<p>globals - interface for all global variables of the library</p>
<p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void);
<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void);
void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v);
<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
int	<a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>	(int v);
int	<a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>	(int v);
int	<a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>	(int v);
int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v);
int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v);
int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v);
<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v);
<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v);
<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
int	<a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>	(int v);
void	<a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
void	<a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v);
const char *	<a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>	(const char * v);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlGlobalState">Structure </a>xmlGlobalState</h3>
<pre class="programlisting">struct _xmlGlobalState {
    const char *	xmlParserVersion
    <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a>	xmlDefaultSAXLocator
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	xmlDefaultSAXHandler
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	docbDefaultSAXHandler	: unused
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	htmlDefaultSAXHandler
    <a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a>	xmlFree
    <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMalloc
    <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a>	xmlMemStrdup
    <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a>	xmlRealloc
    <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a>	xmlGenericError
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	xmlStructuredError
    void *	xmlGenericErrorContext
    int	oldXMLWDcompatibility
    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlBufferAllocScheme
    int	xmlDefaultBufferSize
    int	xmlSubstituteEntitiesDefaultValue
    int	xmlDoValidityCheckingDefaultValue
    int	xmlGetWarningsDefaultValue
    int	xmlKeepBlanksDefaultValue
    int	xmlLineNumbersDefaultValue
    int	xmlLoadExtDtdDefaultValue
    int	xmlParserDebugEntities
    int	xmlPedanticParserDefaultValue
    int	xmlSaveNoEmptyTags
    int	xmlIndentTreeOutput
    const char *	xmlTreeIndentString
    <a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefaultValue
    <a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefaultValue
    <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMallocAtomic
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	xmlLastError
    <a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameValue
    <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
    void *	xmlStructuredErrorContext
} xmlGlobalState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGlobalStatePtr">Typedef </a>xmlGlobalStatePtr</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * xmlGlobalStatePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
<pre class="programlisting">void	xmlDeregisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Signature for the deregistration callback of a discarded node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
</pre>
<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI to write to</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type xmlParserInputBufferCreateFilenameFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI to read from</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the requested source encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
<pre class="programlisting">void	xmlRegisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Signature for the registration callback of a created node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
<pre class="programlisting">int oldXMLWDcompatibility;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3>
<pre class="programlisting">int xmlDefaultBufferSize;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3>
<pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFree">Variable </a>xmlFree</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericError">Variable </a>xmlGenericError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3>
<pre class="programlisting">void * xmlGenericErrorContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3>
<pre class="programlisting">int xmlGetWarningsDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3>
<pre class="programlisting">int xmlIndentTreeOutput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3>
<pre class="programlisting">int xmlKeepBlanksDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLastError">Variable </a>xmlLastError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3>
<pre class="programlisting">int xmlLineNumbersDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3>
<pre class="programlisting">int xmlLoadExtDtdDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
<pre class="programlisting">int xmlParserDebugEntities;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
<pre class="programlisting">const char * xmlParserVersion;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3>
<pre class="programlisting">int xmlPedanticParserDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3>
<pre class="programlisting">int xmlSaveNoEmptyTags;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredError">Variable </a>xmlStructuredError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3>
<pre class="programlisting">void * xmlStructuredErrorContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3>
<pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3>
<pre class="programlisting">const char * xmlTreeIndentString;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3>
<pre class="programlisting">void	xmlCleanupGlobals		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Additional cleanup for multi-threading</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
</pre>
<p>Registers a callback for node destruction</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new DeregisterNodeFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the deregistration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3>
<pre class="programlisting">void	xmlInitGlobals			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Additional initialisation for multi-threading</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3>
<pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br>
</pre>
<p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>gs</tt></i>:</span></td>
<td>a pointer to a newly allocated global state</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p>Registers a callback for URI output file handling</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new OutputBufferCreateFilenameFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p>Registers a callback for URI input file handling</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new ParserInputBufferCreateFilenameFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
</pre>
<p>Registers a callback for node creation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new RegisterNodeFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
<pre class="programlisting">int	xmlThrDefDefaultBufferSize	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefDoValidityCheckingDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefGetWarningsDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
<pre class="programlisting">int	xmlThrDefIndentTreeOutput	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefKeepBlanksDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefLineNumbersDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefLoadExtDtdDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3>
<pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlThrDefRegisterNodeDefault	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
<pre class="programlisting">int	xmlThrDefSaveNoEmptyTags	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
<pre class="programlisting">void	xmlThrDefSetGenericErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
<pre class="programlisting">void	xmlThrDefSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
<pre class="programlisting">const char *	xmlThrDefTreeIndentString	(const char * v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xpath.html000064400000171535150505766200015116 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpath: XML Path Language implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpath</span></h2>
<p>xpath - XML Path Language implementation</p>
<p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
typedef struct _xmlNodeSet <a href="#xmlNodeSet">xmlNodeSet</a>;
typedef <a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a href="#xmlNodeSetPtr">xmlNodeSetPtr</a>;
typedef struct _xmlXPathAxis <a href="#xmlXPathAxis">xmlXPathAxis</a>;
typedef <a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a href="#xmlXPathAxisPtr">xmlXPathAxisPtr</a>;
typedef struct _xmlXPathCompExpr <a href="#xmlXPathCompExpr">xmlXPathCompExpr</a>;
typedef <a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * <a href="#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>;
typedef struct _xmlXPathContext <a href="#xmlXPathContext">xmlXPathContext</a>;
typedef <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * <a href="#xmlXPathContextPtr">xmlXPathContextPtr</a>;
typedef enum <a href="#xmlXPathError">xmlXPathError</a>;
typedef <a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * <a href="#xmlXPathFuncPtr">xmlXPathFuncPtr</a>;
typedef struct _xmlXPathFunct <a href="#xmlXPathFunct">xmlXPathFunct</a>;
typedef struct _xmlXPathObject <a href="#xmlXPathObject">xmlXPathObject</a>;
typedef <a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * <a href="#xmlXPathObjectPtr">xmlXPathObjectPtr</a>;
typedef enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a>;
typedef struct _xmlXPathParserContext <a href="#xmlXPathParserContext">xmlXPathParserContext</a>;
typedef <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * <a href="#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>;
typedef struct _xmlXPathType <a href="#xmlXPathType">xmlXPathType</a>;
typedef <a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * <a href="#xmlXPathTypePtr">xmlXPathTypePtr</a>;
typedef struct _xmlXPathVariable <a href="#xmlXPathVariable">xmlXPathVariable</a>;
typedef <a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a href="#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
double	<a href="#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>	(int val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>	(int val);
int	<a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
double	<a href="#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
double	<a href="#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>	(double val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>	(double val);
int	<a href="#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
double	<a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
int	<a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
double	<a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastToString">xmlXPathCastToString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
int	<a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCompile">xmlXPathCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
int	<a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
int	<a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertString">xmlXPathConvertString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEval">xmlXPathEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
void	<a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
void	<a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathInit">xmlXPathInit</a>			(void);
int	<a href="#xmlXPathIsInf">xmlXPathIsInf</a>			(double val);
int	<a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>			(double val);
<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPathNewContext">xmlXPathNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNodeEval">xmlXPathNodeEval</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3>
<pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
</pre>
<p>check namespaces at compilation</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3>
<pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
</pre>
<p>forbid variables in expression</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_LOCATIONSET">Macro </a>XPATH_LOCATIONSET</h3>
<pre class="programlisting">#define <a href="#XPATH_LOCATIONSET">XPATH_LOCATIONSET</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_POINT">Macro </a>XPATH_POINT</h3>
<pre class="programlisting">#define <a href="#XPATH_POINT">XPATH_POINT</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_RANGE">Macro </a>XPATH_RANGE</h3>
<pre class="programlisting">#define <a href="#XPATH_RANGE">XPATH_RANGE</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetGetLength">Macro </a>xmlXPathNodeSetGetLength</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
</pre>
<p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetIsEmpty">Macro </a>xmlXPathNodeSetIsEmpty</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
</pre>
<p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetItem">Macro </a>xmlXPathNodeSetItem</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
</pre>
<p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of range (0 to length-1)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>index</tt></i>:</span></td>
<td>index of a node in the set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSet">Structure </a>xmlNodeSet</h3>
<pre class="programlisting">struct _xmlNodeSet {
    int	nodeNr	: number of nodes in the set
    int	nodeMax	: size of the array as allocated
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes in no particular order @@ with_ns to check whether nam
} xmlNodeSet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3>
<pre class="programlisting">struct _xmlXPathAxis {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the axis name
    <a href="libxml2-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func	: the search function
} xmlXPathAxis;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompExpr">Structure </a>xmlXPathCompExpr</h3>
<pre class="programlisting">struct _xmlXPathCompExpr {
The content of this structure is not made public by the API.
} xmlXPathCompExpr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompExprPtr">Typedef </a>xmlXPathCompExprPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * xmlXPathCompExprPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContext">Structure </a>xmlXPathContext</h3>
<pre class="programlisting">struct _xmlXPathContext {
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: The current document
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: The current node
    int	nb_variables_unused	: unused (hash table)
    int	max_variables_unused	: unused (hash table)
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	varHash	: Hash table of defined variables
    int	nb_types	: number of defined types
    int	max_types	: max number of types
    <a href="libxml2-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>	types	: Array of defined types
    int	nb_funcs_unused	: unused (hash table)
    int	max_funcs_unused	: unused (hash table)
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	funcHash	: Hash table of defined funcs
    int	nb_axis	: number of defined axis
    int	max_axis	: max number of axis
    <a href="libxml2-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>	axis	: Array of defined axis the namespace nodes of the context node
    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	namespaces	: Array of namespaces
    int	nsNr	: number of namespace in scope
    void *	user	: function to free extra variables
    int	contextSize	: the context size
    int	proximityPosition	: the proximity position extra stuff for XPointer
    int	xptr	: is this an XPointer context?
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	here	: for here()
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	origin	: for origin() the set of namespace declarations in scope for the expre
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash	: The namespaces hash table
    <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc	: variable lookup func
    void *	varLookupData	: variable lookup data Possibility to link in an extra item
    void *	extra	: needed for XSLT The function name and URI when calling a function
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	function
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	functionURI	: function lookup function and data
    <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc	: function lookup func
    void *	funcLookupData	: function lookup data temporary namespace lists kept for walking the n
    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList	: Array of namespaces
    int	tmpNsNr	: number of namespaces in scope error reporting mechanism
    void *	userData	: user specific data block
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	error	: the callback in case of errors
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError	: the last error
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	debugNode	: the source node XSLT dictionary
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary if any
    int	flags	: flags to control compilation Cache for reusal of XPath objects
    void *	cache	: Resource limits
    unsigned long	opLimit
    unsigned long	opCount
    int	depth
} xmlXPathContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContextPtr">Typedef </a>xmlXPathContextPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * xmlXPathContextPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathError">Enum </a>xmlXPathError</h3>
<pre class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
    <a name="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
    <a name="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
    <a name="XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a> = 2
    <a name="XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a> = 3
    <a name="XPATH_VARIABLE_REF_ERROR">XPATH_VARIABLE_REF_ERROR</a> = 4
    <a name="XPATH_UNDEF_VARIABLE_ERROR">XPATH_UNDEF_VARIABLE_ERROR</a> = 5
    <a name="XPATH_INVALID_PREDICATE_ERROR">XPATH_INVALID_PREDICATE_ERROR</a> = 6
    <a name="XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a> = 7
    <a name="XPATH_UNCLOSED_ERROR">XPATH_UNCLOSED_ERROR</a> = 8
    <a name="XPATH_UNKNOWN_FUNC_ERROR">XPATH_UNKNOWN_FUNC_ERROR</a> = 9
    <a name="XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a> = 10
    <a name="XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> = 11
    <a name="XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> = 12
    <a name="XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a> = 13
    <a name="XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a> = 14
    <a name="XPATH_MEMORY_ERROR">XPATH_MEMORY_ERROR</a> = 15
    <a name="XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a> = 16
    <a name="XPTR_RESOURCE_ERROR">XPTR_RESOURCE_ERROR</a> = 17
    <a name="XPTR_SUB_RESOURCE_ERROR">XPTR_SUB_RESOURCE_ERROR</a> = 18
    <a name="XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a> = 19
    <a name="XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a> = 20
    <a name="XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a> = 21
    <a name="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22
    <a name="XPATH_STACK_ERROR">XPATH_STACK_ERROR</a> = 23
    <a name="XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a> = 24
    <a name="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25
    <a name="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3>
<pre class="programlisting">struct _xmlXPathFunct {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
    <a href="libxml2-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func	: the evaluation function
} xmlXPathFunct;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObject">Structure </a>xmlXPathObject</h3>
<pre class="programlisting">struct _xmlXPathObject {
    <a href="libxml2-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>	type
    <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	nodesetval
    int	boolval
    double	floatval
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	stringval
    void *	user
    int	index
    void *	user2
    int	index2
} xmlXPathObject;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectPtr">Typedef </a>xmlXPathObjectPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * xmlXPathObjectPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectType">Enum </a>xmlXPathObjectType</h3>
<pre class="programlisting">enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a> {
    <a name="XPATH_UNDEFINED">XPATH_UNDEFINED</a> = 0
    <a name="XPATH_NODESET">XPATH_NODESET</a> = 1
    <a name="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
    <a name="XPATH_NUMBER">XPATH_NUMBER</a> = 3
    <a name="XPATH_STRING">XPATH_STRING</a> = 4
    <a name="XPATH_POINT">XPATH_POINT</a> = 5
    <a name="XPATH_RANGE">XPATH_RANGE</a> = 6
    <a name="XPATH_LOCATIONSET">XPATH_LOCATIONSET</a> = 7
    <a name="XPATH_USERS">XPATH_USERS</a> = 8
    <a name="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 /*  An XSLT value tree, non modifiable */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParserContext">Structure </a>xmlXPathParserContext</h3>
<pre class="programlisting">struct _xmlXPathParserContext {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: the current char being parsed
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: the full expression
    int	error	: error code
    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	context	: the evaluation context
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the current value
    int	valueNr	: number of values stacked
    int	valueMax	: max number of values stacked
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	valueTab	: stack of values
    <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	comp	: the precompiled expression
    int	xptr	: it this an XPointer expression
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor	: used for walking preceding axis
    int	valueFrame	: used to limit Pop on the stack
} xmlXPathParserContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParserContextPtr">Typedef </a>xmlXPathParserContextPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * xmlXPathParserContextPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathType">Structure </a>xmlXPathType</h3>
<pre class="programlisting">struct _xmlXPathType {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the type name
    <a href="libxml2-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func	: the conversion function
} xmlXPathType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariable">Structure </a>xmlXPathVariable</h3>
<pre class="programlisting">struct _xmlXPathVariable {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the variable name
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the value
} xmlXPathVariable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariablePtr">Typedef </a>xmlXPathVariablePtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * xmlXPathVariablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxisFunc"></a>Function type xmlXPathAxisFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathAxisFunc	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br>
</pre>
<p>An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath interpreter context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the previous node being explored on that axis</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next node in that axis or NULL if at the end of the axis.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertFunc"></a>Function type xmlXPathConvertFunc</h3>
<pre class="programlisting">int	xmlXPathConvertFunc		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type)<br>
</pre>
<p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the number of the target type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalFunc"></a>Function type xmlXPathEvalFunc</h3>
<pre class="programlisting">void	xmlXPathEvalFunc		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>An XPath evaluation function, the parameters are on the XPath context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments passed to the function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFuncLookupFunc"></a>Function type xmlXPathFuncLookupFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Prototype for callbacks used to plug function lookup in the XPath engine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>name of the function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name hosting this function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath function or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunction"></a>Function type xmlXPathFunction</h3>
<pre class="programlisting">void	xmlXPathFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath interprestation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookupFunc"></a>Function type xmlXPathVariableLookupFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>name of the variable</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name hosting this variable</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath object value or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3>
<pre class="programlisting">double xmlXPathNAN;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3>
<pre class="programlisting">double xmlXPathNINF;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3>
<pre class="programlisting">double xmlXPathPINF;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastBooleanToNumber	(int val)<br>
</pre>
<p>Converts a boolean to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastBooleanToString	(int val)<br>
</pre>
<p>Converts a boolean to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastNodeSetToBoolean	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastNodeSetToNumber	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeSetToString	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastNodeToNumber	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Converts a node to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeToString	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Converts a node to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastNumberToBoolean	(double val)<br>
</pre>
<p>Converts a number to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNumberToString	(double val)<br>
</pre>
<p>Converts a number to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastStringToBoolean	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Converts a string to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastStringToNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Converts a string to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastToBoolean		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an XPath object to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastToNumber		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an XPath object to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its string() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3>
<pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Compare two nodes w.r.t document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node1</tt></i>:</span></td>
<td>the first node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>the second node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Compile an XPath expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathCompiledEval	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the Precompiled XPath expression in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompiledEvalToBoolean"></a>xmlXPathCompiledEvalToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCompiledEvalToBoolean	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContextSetCache"></a>xmlXPathContextSetCache ()</h3>
<pre class="programlisting">int	xmlXPathContextSetCache		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options)<br>
</pre>
<p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently no effect.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>active</tt></i>:</span></td>
<td>enables/disables (creates/frees) the cache</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value with semantics dependent on @options</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (currently only the value 0 is used)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the setting succeeded, and -1 on API or internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertBoolean	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its boolean() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertNumber	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its number() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its string() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCtxtCompile"></a>xmlXPathCtxtCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCtxtCompile	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Compile an XPath expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEval"></a>xmlXPathEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Alias for xmlXPathEval().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3>
<pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
</pre>
<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>res</tt></i>:</span></td>
<td>the Predicate Expression evaluation result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if predicate is true, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3>
<pre class="programlisting">void	xmlXPathFreeCompExpr		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XPATH comp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3>
<pre class="programlisting">void	xmlXPathFreeContext		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3>
<pre class="programlisting">void	xmlXPathFreeNodeSet		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br>
</pre>
<p>Free the NodeSet compound (not the actual nodes !).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3>
<pre class="programlisting">void	xmlXPathFreeNodeSetList		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>an existing NodeSetList object</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3>
<pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the object to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathInit"></a>xmlXPathInit ()</h3>
<pre class="programlisting">void	xmlXPathInit			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the XPath environment</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3>
<pre class="programlisting">int	xmlXPathIsInf			(double val)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3>
<pre class="programlisting">int	xmlXPathIsNaN			(double val)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the value is a NaN, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeEval"></a>xmlXPathNodeEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The context node is not restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to to use as the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetCreate	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an initial xmlNodePtr, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathObjectCopy	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>allocate a new copy of a given object</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the original object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3>
<pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an input document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements found in the document or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetContextNode"></a>xmlXPathSetContextNode ()</h3>
<pre class="programlisting">int	xmlXPathSetContextNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Sets 'node' as the context node. The node must be in the same document as that associated with the context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to to use as the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error or 0 if successful</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/index.html000064400000007070150505766210013523 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>libxml2 Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">libxml2 Reference Manual</span></h2>
<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
(but usable outside of the Gnome platform), it is free software available
under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
License</a>. XML itself is a metalanguage to design markup languages, i.e.
text language where semantic and structure are added to the content using
extra "markup" information enclosed between angle brackets. HTML is the most
well-known markup language. Though the library is written in C, a variety of
language bindings make it available in other environments.</p>
<p>Libxml2 implements a number of existing standards related to markup
languages:</p>
<ul>
<li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a>
</li>
<li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a>
</li>
<li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
</li>
<li>
<a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a>
</li>
<li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>
</li>
<li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>
</li>
<li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a>
</li>
<li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a>
</li>
<li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
[UTF-16] Unicode encodings, and more if using iconv support</li>
<li>part of SGML Open Technical Resolution TR9401:1997</li>
<li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a>
</li>
<li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a>
</li>
<li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a>
</li>
<li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
2001</a>
</li>
<li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
April 2004</li>
</ul>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-schematron.html000064400000040360150505766210016125 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>schematron: XML Schematron implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">schematron</span></h2>
<p>schematron - XML Schematron implementation</p>
<p>interface to the XML Schematron validity checking. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
typedef struct _xmlSchematronParserCtxt <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a>;
typedef <a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * <a href="#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>;
typedef <a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * <a href="#xmlSchematronPtr">xmlSchematronPtr</a>;
typedef struct _xmlSchematronValidCtxt <a href="#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a>;
typedef <a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * <a href="#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>;
typedef enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a>;
void	<a href="#xmlSchematronFree">xmlSchematronFree</a>		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema);
void	<a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>	(const char * URL);
<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	<a href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options);
<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	<a href="#xmlSchematronParse">xmlSchematronParse</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>	(void * ctx, <br>						 const char * msg, <br>						 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematron">Structure </a>xmlSchematron</h3>
<pre class="programlisting">struct _xmlSchematron {
The content of this structure is not made public by the API.
} xmlSchematron;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParserCtxt">Structure </a>xmlSchematronParserCtxt</h3>
<pre class="programlisting">struct _xmlSchematronParserCtxt {
The content of this structure is not made public by the API.
} xmlSchematronParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParserCtxtPtr">Typedef </a>xmlSchematronParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * xmlSchematronParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * xmlSchematronPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidCtxt">Structure </a>xmlSchematronValidCtxt</h3>
<pre class="programlisting">struct _xmlSchematronValidCtxt {
The content of this structure is not made public by the API.
} xmlSchematronValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidCtxtPtr">Typedef </a>xmlSchematronValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidOptions">Enum </a>xmlSchematronValidOptions</h3>
<pre class="programlisting">enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
    <a name="XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a> = 1 /* quiet no report */
    <a name="XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a> = 2 /* build a textual report */
    <a name="XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a> = 4 /* output SVRL */
    <a name="XML_SCHEMATRON_OUT_ERROR">XML_SCHEMATRON_OUT_ERROR</a> = 8 /* output via xmlStructuredErrorFunc */
    <a name="XML_SCHEMATRON_OUT_FILE">XML_SCHEMATRON_OUT_FILE</a> = 256 /* output to a file descriptor */
    <a name="XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a> = 512 /* output to a buffer */
    <a name="XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a> = 1024 /*  output to I/O mechanism */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidityErrorFunc"></a>Function type xmlSchematronValidityErrorFunc</h3>
<pre class="programlisting">void	xmlSchematronValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from a Schematron validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidityWarningFunc"></a>Function type xmlSchematronValidityWarningFunc</h3>
<pre class="programlisting">void	xmlSchematronValidityWarningFunc	(void * ctx, <br>						 const char * msg, <br>						 ... ...)<br>
</pre>
<p>Signature of a warning callback from a Schematron validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFree"></a>xmlSchematronFree ()</h3>
<pre class="programlisting">void	xmlSchematronFree		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br>
</pre>
<p>Deallocate a Schematron structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFreeParserCtxt"></a>xmlSchematronFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlSchematronFreeParserCtxt	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFreeValidCtxt"></a>xmlSchematronFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlSchematronFreeValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewDocParserCtxt"></a>xmlSchematronNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewMemParserCtxt"></a>xmlSchematronNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewParserCtxt"></a>xmlSchematronNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewValidCtxt"></a>xmlSchematronNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	xmlSchematronNewValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options)<br>
</pre>
<p>Create an XML Schematrons validation context based on the given schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML Schematrons</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParse"></a>xmlSchematronParse ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	xmlSchematronParse	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML Schematron structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronSetValidStructuredErrors"></a>xmlSchematronSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchematronSetValidStructuredErrors	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Schematron validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidateDoc"></a>xmlSchematronValidateDoc ()</h3>
<pre class="programlisting">int	xmlSchematronValidateDoc	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br>
</pre>
<p>Validate a tree instance against the schematron</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>instance</tt></i>:</span></td>
<td>the document instance tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of internal error and an error count otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-debugXML.html000064400000100276150505766210015434 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>debugXML: Tree debugging APIs</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">debugXML</span></h2>
<p>debugXML - Tree debugging APIs</p>
<p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
typedef <a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a href="#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval);
int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
void	<a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlLsCountNode">xmlLsCountNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output);
int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
typedef int <a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br>					 const char * arg);
void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt);
int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3>
<pre class="programlisting">struct _xmlShellCtxt {
    char *	filename
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	pctxt
    int	loaded
    FILE *	output
    <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
} xmlShellCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCmd"></a>Function type xmlShellCmd</h3>
<pre class="programlisting">int	xmlShellCmd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>This is a generic signature for the XML shell functions.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a string argument</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a first node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>a second node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int, negative returns indicating errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellReadlineFunc"></a>Function type xmlShellReadlineFunc</h3>
<pre class="programlisting">char *	xmlShellReadlineFunc		(char * prompt)<br>
</pre>
<p>This is a generic signature for the XML shell input function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prompt</tt></i>:</span></td>
<td>a string prompt</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string which will be freed by the Shell.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBoolToText"></a>xmlBoolToText ()</h3>
<pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br>
</pre>
<p>Convenient way to turn bool into text</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>boolval</tt></i>:</span></td>
<td>a bool to turn into text</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to either "True" or "False"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugCheckDocument"></a>xmlDebugCheckDocument ()</h3>
<pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Check the document for potential content problems, and output the errors to @output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of errors found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpAttr"></a>xmlDebugDumpAttr ()</h3>
<pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpAttrList"></a>xmlDebugDumpAttrList ()</h3>
<pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDTD"></a>xmlDebugDumpDTD ()</h3>
<pre class="programlisting">void	xmlDebugDumpDTD			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Dumps debug information for the DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the DTD</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDocument"></a>xmlDebugDumpDocument ()</h3>
<pre class="programlisting">void	xmlDebugDumpDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information for the document, it's recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDocumentHead"></a>xmlDebugDumpDocumentHead ()</h3>
<pre class="programlisting">void	xmlDebugDumpDocumentHead	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information concerning the document, not recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpEntities"></a>xmlDebugDumpEntities ()</h3>
<pre class="programlisting">void	xmlDebugDumpEntities		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information for all the entities in use by the document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpNode"></a>xmlDebugDumpNode ()</h3>
<pre class="programlisting">void	xmlDebugDumpNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the element node, it is recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpNodeList"></a>xmlDebugDumpNodeList ()</h3>
<pre class="programlisting">void	xmlDebugDumpNodeList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the list of element node, it is recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpOneNode"></a>xmlDebugDumpOneNode ()</h3>
<pre class="programlisting">void	xmlDebugDumpOneNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the element node, it is not recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpString"></a>xmlDebugDumpString ()</h3>
<pre class="programlisting">void	xmlDebugDumpString		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Dumps information about the string, shorten it if necessary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLsCountNode"></a>xmlLsCountNode ()</h3>
<pre class="programlisting">int	xmlLsCountNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Count the children of @node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to count</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of children of @node.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLsOneNode"></a>xmlLsOneNode ()</h3>
<pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Dump to @output the type and name of @node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShell"></a>xmlShell ()</h3>
<pre class="programlisting">void	xmlShell			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output)<br>
</pre>
<p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the initial document</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the line reading function</td>
</tr>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the output FILE*, defaults to stdout if NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellBase"></a>xmlShellBase ()</h3>
<pre class="programlisting">int	xmlShellBase			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "base" dumps the current XML base of the node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCat"></a>xmlShellCat ()</h3>
<pre class="programlisting">int	xmlShellCat			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellDir"></a>xmlShellDir ()</h3>
<pre class="programlisting">int	xmlShellDir			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, content).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellDu"></a>xmlShellDu ()</h3>
<pre class="programlisting">int	xmlShellDu			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node defining a subtree</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellList"></a>xmlShellList ()</h3>
<pre class="programlisting">int	xmlShellList			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellLoad"></a>xmlShellLoad ()</h3>
<pre class="programlisting">int	xmlShellLoad			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "load" loads a new document specified by the filename</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 if loading failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintNode"></a>xmlShellPrintNode ()</h3>
<pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Print node to the output FILE</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a non-null node to print to the output FILE</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintXPathError"></a>xmlShellPrintXPathError ()</h3>
<pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br>					 const char * arg)<br>
</pre>
<p>Print the xpath error to libxml default error channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>errorType</tt></i>:</span></td>
<td>valid xpath error id</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>the argument that cause xpath to fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintXPathResult"></a>xmlShellPrintXPathResult ()</h3>
<pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br>
</pre>
<p>Prints result to the output FILE</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a valid result generated by an xpath evaluation</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPwd"></a>xmlShellPwd ()</h3>
<pre class="programlisting">int	xmlShellPwd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellSave"></a>xmlShellSave ()</h3>
<pre class="programlisting">int	xmlShellSave			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name (optional)</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellValidate"></a>xmlShellValidate ()</h3>
<pre class="programlisting">int	xmlShellValidate		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the DTD URI (optional)</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellWrite"></a>xmlShellWrite ()</h3>
<pre class="programlisting">int	xmlShellWrite			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in the tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlstring.html000064400000103511150505766220016010 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlstring: set of routines to process strings</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlstring</span></h2>
<p>xmlstring - set of routines to process strings</p>
<p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
typedef unsigned char <a href="#xmlChar">xmlChar</a>;
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrdup">xmlCharStrdup</a>		(const char * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br>					 int len);
int	<a href="#xmlCheckUTF8">xmlCheckUTF8</a>			(const unsigned char * utf);
int	<a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>			(const unsigned char * utf, <br>					 int * len);
int	<a href="#xmlStrEqual">xmlStrEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
int	<a href="#xmlStrPrintf">xmlStrPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...);
int	<a href="#xmlStrQEqual">xmlStrQEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlStrVPrintf">xmlStrVPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap);
int	<a href="#xmlStrcasecmp">xmlStrcasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcasestr">xmlStrcasestr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcat">xmlStrcat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrchr">xmlStrchr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
int	<a href="#xmlStrcmp">xmlStrcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrdup">xmlStrdup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
int	<a href="#xmlStrlen">xmlStrlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlStrncasecmp">xmlStrncasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncat">xmlStrncat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncatNew">xmlStrncatNew</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
int	<a href="#xmlStrncmp">xmlStrncmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrndup">xmlStrndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrstr">xmlStrstr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrsub">xmlStrsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len);
int	<a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
int	<a href="#xmlUTF8Size">xmlUTF8Size</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
int	<a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos);
int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="BAD_CAST">Macro </a>BAD_CAST</h3>
<pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
</pre>
<p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know its safe.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChar">Typedef </a>xmlChar</h3>
<pre class="programlisting">unsigned char xmlChar;
</pre>
<p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back impossible).</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrdup		(const char * cur)<br>
</pre>
<p>a strdup for char's to xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input char *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrndup		(const char * cur, <br>					 int len)<br>
</pre>
<p>a strndup for char's to xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input char *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @cur</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckUTF8"></a>xmlCheckUTF8 ()</h3>
<pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br>
</pre>
<p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>Pointer to putative UTF-8 encoded string.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>value: true if @utf is valid.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetUTF8Char"></a>xmlGetUTF8Char ()</h3>
<pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br>					 int * len)<br>
</pre>
<p>Read the first UTF8 character from @utf</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrEqual"></a>xmlStrEqual ()</h3>
<pre class="programlisting">int	xmlStrEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if they are equal, 0 if they are different</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrPrintf"></a>xmlStrPrintf ()</h3>
<pre class="programlisting">int	xmlStrPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Formats @msg and places result into @buf.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the result buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the result buffer length.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message with printf formatting.</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrQEqual"></a>xmlStrQEqual ()</h3>
<pre class="programlisting">int	xmlStrQEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Check if a QName is Equal to a given string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pref</tt></i>:</span></td>
<td>the prefix of the QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the localname of the QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if they are equal, 0 if they are different</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrVPrintf"></a>xmlStrVPrintf ()</h3>
<pre class="programlisting">int	xmlStrVPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap)<br>
</pre>
<p>Formats @msg and places result into @buf.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the result buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the result buffer length.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message with printf formatting.</td>
</tr>
<tr>
<td><span class="term"><i><tt>ap</tt></i>:</span></td>
<td>extra parameters for the message.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3>
<pre class="programlisting">int	xmlStrcasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>a strcasecmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcasestr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>a case-ignoring strstr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcat"></a>xmlStrcat ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br>
</pre>
<p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>add</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrchr"></a>xmlStrchr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br>
</pre>
<p>a strchr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcmp"></a>xmlStrcmp ()</h3>
<pre class="programlisting">int	xmlStrcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>a strcmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrdup"></a>xmlStrdup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrdup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrlen"></a>xmlStrlen ()</h3>
<pre class="programlisting">int	xmlStrlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>length of a xmlChar's string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3>
<pre class="programlisting">int	xmlStrncasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>a strncasecmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the max comparison length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncat"></a>xmlStrncat ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len)<br>
</pre>
<p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>add</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of @add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncatNew"></a>xmlStrncatNew ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @str2 or &lt; 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncmp"></a>xmlStrncmp ()</h3>
<pre class="programlisting">int	xmlStrncmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>a strncmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the max comparison length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrndup"></a>xmlStrndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len)<br>
</pre>
<p>a strndup for array of xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @cur</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrstr"></a>xmlStrstr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrstr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>a strstr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrsub"></a>xmlStrsub ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Extract a substring of a given string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the index of the first char (zero based)</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the substring</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Charcmp"></a>xmlUTF8Charcmp ()</h3>
<pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br>
</pre>
<p>compares the two UCS4 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf1</tt></i>:</span></td>
<td>pointer to first UTF8 char</td>
</tr>
<tr>
<td><span class="term"><i><tt>utf2</tt></i>:</span></td>
<td>pointer to second UTF8 char</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>result of the compare as with <a href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Size"></a>xmlUTF8Size ()</h3>
<pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
</pre>
<p>calculates the internal size of a UTF8 character</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>pointer to the UTF8 character</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the numbers of bytes in the character, -1 on format error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strlen"></a>xmlUTF8Strlen ()</h3>
<pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
</pre>
<p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the string or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strloc"></a>xmlUTF8Strloc ()</h3>
<pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br>
</pre>
<p>a function to provide the relative location of a UTF8 char</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>utfchar</tt></i>:</span></td>
<td>the UTF8 character to be found</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the relative character position of the desired char or -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strndup"></a>xmlUTF8Strndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
</pre>
<p>a strndup for array of UTF8's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @utf (in chars)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new UTF8 * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strpos"></a>xmlUTF8Strpos ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos)<br>
</pre>
<p>a function to provide the equivalent of fetching a character from a string array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>pos</tt></i>:</span></td>
<td>the position of the desired UTF8 char (in chars)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the UTF8 character or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strsize"></a>xmlUTF8Strsize ()</h3>
<pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
</pre>
<p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strsub"></a>xmlUTF8Strsub ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>relative pos of first char</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>total number to copy</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to a newly created string or NULL if any problem</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlwriter.html000064400000332757150505766220016036 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlwriter: text writing API for XML</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlwriter</span></h2>
<p>xmlwriter - text writing API for XML</p>
<p>text writing API for XML </p>
<p>Author(s): Alfred Mickautsch &lt;alfred@mickautsch.de&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
typedef struct _xmlTextWriter <a href="#xmlTextWriter">xmlTextWriter</a>;
typedef <a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a href="#xmlTextWriterPtr">xmlTextWriterPtr</a>;
void	<a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriter">xmlNewTextWriter</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>	(const char * uri, <br>							 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression);
int	<a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent);
int	<a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
int	<a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
int	<a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone);
int	<a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
int	<a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
int	<a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
int	<a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
int	<a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
int	<a href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
int	<a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
int	<a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...);
int	<a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
int	<a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDocType">Macro </a>xmlTextWriterWriteDocType</h3>
<pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
</pre>
<p>this macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteProcessingInstruction">Macro </a>xmlTextWriterWriteProcessingInstruction</h3>
<pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
</pre>
<p>This macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriter">Structure </a>xmlTextWriter</h3>
<pre class="programlisting">struct _xmlTextWriter {
The content of this structure is not made public by the API.
} xmlTextWriter;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * xmlTextWriterPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeTextWriter"></a>xmlFreeTextWriter ()</h3>
<pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Deallocate all the resources associated to the writer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriter"></a>xmlNewTextWriter ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterDoc"></a>xmlNewTextWriterDoc ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>address of a <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterFilename"></a>xmlNewTextWriterFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br>							 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri as output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>the URI of the resource for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterMemory"></a>xmlNewTextWriterMemory ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterPushParser"></a>xmlNewTextWriterPushParser ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterTree"></a>xmlNewTextWriterTree ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndAttribute"></a>xmlTextWriterEndAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndCDATA"></a>xmlTextWriterEndCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterEndCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml CDATA section.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndComment"></a>xmlTextWriterEndComment ()</h3>
<pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTD"></a>xmlTextWriterEndDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDocument"></a>xmlTextWriterEndDocument ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndElement"></a>xmlTextWriterEndElement ()</h3>
<pre class="programlisting">int	xmlTextWriterEndElement		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndPI"></a>xmlTextWriterEndPI ()</h3>
<pre class="programlisting">int	xmlTextWriterEndPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterFlush"></a>xmlTextWriterFlush ()</h3>
<pre class="programlisting">int	xmlTextWriterFlush		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Flush the output buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterFullEndElement"></a>xmlTextWriterFullEndElement ()</h3>
<pre class="programlisting">int	xmlTextWriterFullEndElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element. Writes an end tag even if the element is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetIndent"></a>xmlTextWriterSetIndent ()</h3>
<pre class="programlisting">int	xmlTextWriterSetIndent		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent)<br>
</pre>
<p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>indent</tt></i>:</span></td>
<td>do indentation?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetIndentString"></a>xmlTextWriterSetIndentString ()</h3>
<pre class="programlisting">int	xmlTextWriterSetIndentString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Set string indentation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetQuoteChar"></a>xmlTextWriterSetQuoteChar ()</h3>
<pre class="programlisting">int	xmlTextWriterSetQuoteChar	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br>
</pre>
<p>Set the character used for quoting attributes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>quotechar</tt></i>:</span></td>
<td>the quote character</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartAttribute"></a>xmlTextWriterStartAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartAttributeNS"></a>xmlTextWriterStartAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a> with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartCDATA"></a>xmlTextWriterStartCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterStartCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Start an xml CDATA section.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartComment"></a>xmlTextWriterStartComment ()</h3>
<pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Start an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTD"></a>xmlTextWriterStartDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
</pre>
<p>Start an xml DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDAttlist"></a>xmlTextWriterStartDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDElement"></a>xmlTextWriterStartDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDEntity"></a>xmlTextWriterStartDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDocument"></a>xmlTextWriterStartDocument ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone)<br>
</pre>
<p>Start a new xml document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the xml version ("1.0") or NULL for default ("1.0")</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding or NULL for default</td>
</tr>
<tr>
<td><span class="term"><i><tt>standalone</tt></i>:</span></td>
<td>"yes" or "no" or NULL for default</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartElement"></a>xmlTextWriterStartElement ()</h3>
<pre class="programlisting">int	xmlTextWriterStartElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartElementNS"></a>xmlTextWriterStartElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterStartElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Start an xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartPI"></a>xmlTextWriterStartPI ()</h3>
<pre class="programlisting">int	xmlTextWriterStartPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br>
</pre>
<p>Start an xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteAttribute"></a>xmlTextWriterWriteAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteAttributeNS"></a>xmlTextWriterWriteAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteBase64"></a>xmlTextWriterWriteBase64 ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteBase64	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Write an base64 encoded xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>binary data</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the position within the data of the first byte to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of bytes to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteBinHex"></a>xmlTextWriterWriteBinHex ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteBinHex	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Write a BinHex encoded xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>binary data</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the position within the data of the first byte to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of bytes to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteCDATA"></a>xmlTextWriterWriteCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>CDATA content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteComment"></a>xmlTextWriterWriteComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#comment">comment</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTD"></a>xmlTextWriterWriteDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br>
</pre>
<p>Write a DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>subset</tt></i>:</span></td>
<td>string content of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDAttlist"></a>xmlTextWriterWriteDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDElement"></a>xmlTextWriterWriteDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDEntity"></a>xmlTextWriterWriteDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDExternalEntity"></a>xmlTextWriterWriteDTDExternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
</pre>
<p>Write a DTD external entity. The entity must have been started with <a href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDExternalEntityContents"></a>xmlTextWriterWriteDTDExternalEntityContents ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntityContents	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
</pre>
<p>Write the contents of a DTD external entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDInternalEntity"></a>xmlTextWriterWriteDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDNotation"></a>xmlTextWriterWriteDTDNotation ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDNotation	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
</pre>
<p>Write a DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the xml notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteElement"></a>xmlTextWriterWriteElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>element content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteElementNS"></a>xmlTextWriterWriteElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>element content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatAttribute"></a>xmlTextWriterWriteFormatAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatAttributeNS"></a>xmlTextWriterWriteFormatAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml attribute.with namespace support</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatCDATA"></a>xmlTextWriterWriteFormatCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatComment"></a>xmlTextWriterWriteFormatComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTD"></a>xmlTextWriterWriteFormatDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a DTD with a formatted markup declarations part.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDAttlist"></a>xmlTextWriterWriteFormatDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDElement"></a>xmlTextWriterWriteFormatDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDInternalEntity"></a>xmlTextWriterWriteFormatDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...)<br>
</pre>
<p>Write a formatted DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatElement"></a>xmlTextWriterWriteFormatElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatElementNS"></a>xmlTextWriterWriteFormatElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatPI"></a>xmlTextWriterWriteFormatPI ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatRaw"></a>xmlTextWriterWriteFormatRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatString"></a>xmlTextWriterWriteFormatString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWritePI"></a>xmlTextWriterWritePI ()</h3>
<pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteRaw"></a>xmlTextWriterWriteRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteRawLen"></a>xmlTextWriterWriteRawLen ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteRawLen	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Write an xml text. TODO: what about entities and special chars??</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>length of the text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteString"></a>xmlTextWriterWriteString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatAttribute"></a>xmlTextWriterWriteVFormatAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatAttributeNS"></a>xmlTextWriterWriteVFormatAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml attribute.with namespace support</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatCDATA"></a>xmlTextWriterWriteVFormatCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatComment"></a>xmlTextWriterWriteVFormatComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTD"></a>xmlTextWriterWriteVFormatDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a DTD with a formatted markup declarations part.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDAttlist"></a>xmlTextWriterWriteVFormatDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDElement"></a>xmlTextWriterWriteVFormatDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDInternalEntity"></a>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr)<br>
</pre>
<p>Write a formatted DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatElement"></a>xmlTextWriterWriteVFormatElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatElementNS"></a>xmlTextWriterWriteVFormatElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatPI"></a>xmlTextWriterWriteVFormatPI ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatRaw"></a>xmlTextWriterWriteVFormatRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatString"></a>xmlTextWriterWriteVFormatString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-nanoftp.html000064400000053134150505766230015434 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>nanoftp: minimal FTP implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">nanoftp</span></h2>
<p>nanoftp - minimal FTP implementation</p>
<p>minimal FTP implementation allowing to fetch resources like external subset. This module is DEPRECATED, do not use any of its functions. </p>
<p> WARNING: this module is deprecated !</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
#define <a href="#SOCKET">SOCKET</a>;
typedef void <a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br>					 const char * data, <br>					 int len);
typedef void <a href="#ftpListCallback">ftpListCallback</a>			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute);
int	<a href="#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>		(void * ctx);
void	<a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>		(void);
int	<a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>			(void * ctx);
int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx);
int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx);
void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br>					 int port);
int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br>					 const char * directory);
int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br>					 const char * file);
void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx);
int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx);
int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx);
<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br>					 const char * filename);
void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void);
int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL);
void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL);
void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type);
int	<a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>			(void * ctx);
int	<a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
void	<a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>		(const char * URL);
int	<a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>		(void * ctx, <br>					 const char * URL);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3>
<pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
</pre>
<p>macro used to provide portability of code to windows sockets the value to be used when the socket is not valid</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="SOCKET">Macro </a>SOCKET</h3>
<pre class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
</pre>
<p>macro used to provide portability of code to windows sockets</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ftpDataCallback"></a>Function type ftpDataCallback</h3>
<pre class="programlisting">void	ftpDataCallback			(void * userData, <br>					 const char * data, <br>					 int len)<br>
</pre>
<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user provided context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data received</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>its size in bytes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ftpListCallback"></a>Function type ftpListCallback</h3>
<pre class="programlisting">void	ftpListCallback			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute)<br>
</pre>
<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that only one of year and day:minute are specified.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>user provided data for the callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name (including "-&gt;" when links are shown)</td>
</tr>
<tr>
<td><span class="term"><i><tt>attrib</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>owner</tt></i>:</span></td>
<td>the owner string</td>
</tr>
<tr>
<td><span class="term"><i><tt>group</tt></i>:</span></td>
<td>the group string</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the file size</td>
</tr>
<tr>
<td><span class="term"><i><tt>links</tt></i>:</span></td>
<td>the link count</td>
</tr>
<tr>
<td><span class="term"><i><tt>year</tt></i>:</span></td>
<td>the year</td>
</tr>
<tr>
<td><span class="term"><i><tt>month</tt></i>:</span></td>
<td>the month</td>
</tr>
<tr>
<td><span class="term"><i><tt>day</tt></i>:</span></td>
<td>the day</td>
</tr>
<tr>
<td><span class="term"><i><tt>hour</tt></i>:</span></td>
<td>the hour</td>
</tr>
<tr>
<td><span class="term"><i><tt>minute</tt></i>:</span></td>
<td>the minute</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCheckResponse"></a>xmlNanoFTPCheckResponse ()</h3>
<pre class="programlisting">int	xmlNanoFTPCheckResponse		(void * ctx)<br>
</pre>
<p>Check if there is a response from the FTP server after a command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the code number, or 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCleanup"></a>xmlNanoFTPCleanup ()</h3>
<pre class="programlisting">void	xmlNanoFTPCleanup		(void)<br>
</pre>
<p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPClose"></a>xmlNanoFTPClose ()</h3>
<pre class="programlisting">int	xmlNanoFTPClose			(void * ctx)<br>
</pre>
<p>Close the connection and both control and transport</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCloseConnection"></a>xmlNanoFTPCloseConnection ()</h3>
<pre class="programlisting">int	xmlNanoFTPCloseConnection	(void * ctx)<br>
</pre>
<p>Close the data connection from the server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPConnect"></a>xmlNanoFTPConnect ()</h3>
<pre class="programlisting">int	xmlNanoFTPConnect		(void * ctx)<br>
</pre>
<p>Tries to open a control connection</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPConnectTo"></a>xmlNanoFTPConnectTo ()</h3>
<pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br>					 int port)<br>
</pre>
<p>Tries to open a control connection to the given server/port</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>server</tt></i>:</span></td>
<td>an FTP server name</td>
</tr>
<tr>
<td><span class="term"><i><tt>port</tt></i>:</span></td>
<td>the port (use 21 if 0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an fTP context or NULL if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCwd"></a>xmlNanoFTPCwd ()</h3>
<pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br>					 const char * directory)<br>
</pre>
<p>Tries to change the remote directory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>directory</tt></i>:</span></td>
<td>a directory on the server</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if CWD worked, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPDele"></a>xmlNanoFTPDele ()</h3>
<pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br>					 const char * file)<br>
</pre>
<p>Tries to delete an item (file or directory) from server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a file or directory on the server</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if DELE worked, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPFreeCtxt"></a>xmlNanoFTPFreeCtxt ()</h3>
<pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br>
</pre>
<p>Frees the context after closing the connection.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGet"></a>xmlNanoFTPGet ()</h3>
<pre class="programlisting">int	xmlNanoFTPGet			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
</pre>
<p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>the user callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user callback data</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file to retrieve</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetConnection"></a>xmlNanoFTPGetConnection ()</h3>
<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetConnection		(void * ctx)<br>
</pre>
<p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetResponse"></a>xmlNanoFTPGetResponse ()</h3>
<pre class="programlisting">int	xmlNanoFTPGetResponse		(void * ctx)<br>
</pre>
<p>Get the response from the FTP server after a command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the code number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetSocket"></a>xmlNanoFTPGetSocket ()</h3>
<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetSocket		(void * ctx, <br>					 const char * filename)<br>
</pre>
<p>Initiate fetch of the given file from the server.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file to retrieve (or NULL if path is in context).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the socket for the data connection, or &lt;0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPInit"></a>xmlNanoFTPInit ()</h3>
<pre class="programlisting">void	xmlNanoFTPInit			(void)<br>
</pre>
<p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the hostname</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPList"></a>xmlNanoFTPList ()</h3>
<pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
</pre>
<p>Do a listing on the server. All files info are passed back in the callbacks.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>the user callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user callback data</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>optional files to list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPNewCtxt"></a>xmlNanoFTPNewCtxt ()</h3>
<pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br>
</pre>
<p>Allocate and initialize a new FTP context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL used to initialize the context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an FTP context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPOpen"></a>xmlNanoFTPOpen ()</h3>
<pre class="programlisting">void *	xmlNanoFTPOpen			(const char * URL)<br>
</pre>
<p>Start to fetch the given ftp:// resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL to the resource</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an FTP context, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPProxy"></a>xmlNanoFTPProxy ()</h3>
<pre class="programlisting">void	xmlNanoFTPProxy			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type)<br>
</pre>
<p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>host</tt></i>:</span></td>
<td>the proxy host name</td>
</tr>
<tr>
<td><span class="term"><i><tt>port</tt></i>:</span></td>
<td>the proxy port</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>the proxy user name</td>
</tr>
<tr>
<td><span class="term"><i><tt>passwd</tt></i>:</span></td>
<td>the proxy password</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of proxy 1 for using SITE, 2 for USER a@b</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPQuit"></a>xmlNanoFTPQuit ()</h3>
<pre class="programlisting">int	xmlNanoFTPQuit			(void * ctx)<br>
</pre>
<p>Send a QUIT command to the server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPRead"></a>xmlNanoFTPRead ()</h3>
<pre class="programlisting">int	xmlNanoFTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
</pre>
<p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dest</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the buffer length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPScanProxy"></a>xmlNanoFTPScanProxy ()</h3>
<pre class="programlisting">void	xmlNanoFTPScanProxy		(const char * URL)<br>
</pre>
<p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The proxy URL used to initialize the proxy context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPUpdateURL"></a>xmlNanoFTPUpdateURL ()</h3>
<pre class="programlisting">int	xmlNanoFTPUpdateURL		(void * ctx, <br>					 const char * URL)<br>
</pre>
<p>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL used to update the context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if Ok, -1 in case of error (other host).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlregexp.html000064400000121134150505766230015776 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlregexp: regular expressions handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlregexp</span></h2>
<p>xmlregexp - regular expressions handling</p>
<p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
typedef <a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a href="#xmlExpCtxtPtr">xmlExpCtxtPtr</a>;
typedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
typedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
typedef enum <a href="#xmlExpNodeType">xmlExpNodeType</a>;
typedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
typedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
typedef struct _xmlRegexp <a href="#xmlRegexp">xmlRegexp</a>;
typedef <a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a href="#xmlRegexpPtr">xmlRegexpPtr</a>;
int	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
int	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len);
int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len);
int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
int	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr);
void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
typedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata);
int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
int	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data);
int	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data);
void	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
void	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data);
<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
int	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
void	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3>
<pre class="programlisting">struct _xmlExpCtxt {
The content of this structure is not made public by the API.
} xmlExpCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNode">Structure </a>xmlExpNode</h3>
<pre class="programlisting">struct _xmlExpNode {
The content of this structure is not made public by the API.
} xmlExpNode;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3>
<pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
    <a name="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
    <a name="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
    <a name="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
    <a name="XML_EXP_SEQ">XML_EXP_SEQ</a> = 3
    <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
    <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3>
<pre class="programlisting">struct _xmlRegExecCtxt {
The content of this structure is not made public by the API.
} xmlRegExecCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
</pre>
<p>A libxml progressive regular expression evaluation context</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexp">Structure </a>xmlRegexp</h3>
<pre class="programlisting">struct _xmlRegexp {
The content of this structure is not made public by the API.
} xmlRegexp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
</pre>
<p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCallbacks"></a>Function type xmlRegExecCallbacks</h3>
<pre class="programlisting">void	xmlRegExecCallbacks		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata)<br>
</pre>
<p>Callback function when doing a transition in the automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>the regular expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the current token string</td>
</tr>
<tr>
<td><span class="term"><i><tt>transdata</tt></i>:</span></td>
<td>transition data</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputdata</tt></i>:</span></td>
<td>input data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="emptyExp">Variable </a>emptyExp</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="forbiddenExp">Variable </a>forbiddenExp</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtNbCons"></a>xmlExpCtxtNbCons ()</h3>
<pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Debugging facility provides the number of allocated nodes over lifetime</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of nodes ever allocated or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtNbNodes"></a>xmlExpCtxtNbNodes ()</h3>
<pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Debugging facility provides the number of allocated nodes at a that point</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of nodes in use or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpDump"></a>xmlExpDump ()</h3>
<pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
</pre>
<p>Serialize the expression as compiled to the buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>a buffer to receive the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>the compiled expression</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpExpDerive"></a>xmlExpExpDerive ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
</pre>
<p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the englobing expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>the subexpression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting expression or NULL in case of internal error, the result must be freed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpFree"></a>xmlExpFree ()</h3>
<pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Dereference the expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpFreeCtxt"></a>xmlExpFreeCtxt ()</h3>
<pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Free an expression context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpGetLanguage"></a>xmlExpGetLanguage ()</h3>
<pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len)<br>
</pre>
<p>Find all the strings used in @exp and store them in @list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>langList</tt></i>:</span></td>
<td>where to store the tokens</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the allocated length of @list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpGetStart"></a>xmlExpGetStart ()</h3>
<pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len)<br>
</pre>
<p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>tokList</tt></i>:</span></td>
<td>where to store the tokens</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the allocated length of @list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpIsNillable"></a>xmlExpIsNillable ()</h3>
<pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if nillable, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpMaxToken"></a>xmlExpMaxToken ()</h3>
<pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
</pre>
<p>Indicate the maximum number of input a expression can accept</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>a compiled expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the maximum length or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewAtom"></a>xmlExpNewAtom ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Get the atom associated to this name from that context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the atom name</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the atom name length in byte (or -1);</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewCtxt"></a>xmlExpNewCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Creates a new context for manipulating expressions</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>maxNodes</tt></i>:</span></td>
<td>the maximum number of nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>optional dictionary to use internally</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewOr"></a>xmlExpNewOr ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
</pre>
<p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>left</tt></i>:</span></td>
<td>left expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>right</tt></i>:</span></td>
<td>right expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewRange"></a>xmlExpNewRange ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max)<br>
</pre>
<p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>subset</tt></i>:</span></td>
<td>the expression to be repeated</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the lower bound for the repetition</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the upper bound for the repetition, -1 means infinite</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewSeq"></a>xmlExpNewSeq ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
</pre>
<p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>left</tt></i>:</span></td>
<td>left expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>right</tt></i>:</span></td>
<td>right expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpParse"></a>xmlExpParse ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr)<br>
</pre>
<p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>the 0 terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new expression or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpRef"></a>xmlExpRef ()</h3>
<pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpStringDerive"></a>xmlExpStringDerive ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the string len in bytes if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting expression or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpSubsume"></a>xmlExpSubsume ()</h3>
<pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
</pre>
<p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the englobing expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>the subexpression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 if false and -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecErrInfo"></a>xmlRegExecErrInfo ()</h3>
<pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
</pre>
<p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context generating an error</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>return value for the error string</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
<td>pointer to the number of accepted values IN/OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
<td>return number of negative transitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>values</tt></i>:</span></td>
<td>pointer to the array of acceptable values</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
<td>return value if this was a terminal state</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecNextValues"></a>xmlRegExecNextValues ()</h3>
<pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
</pre>
<p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
<td>pointer to the number of accepted values IN/OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
<td>return number of negative transitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>values</tt></i>:</span></td>
<td>pointer to the array of acceptable values</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
<td>return value if this was a terminal state</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3>
<pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data)<br>
</pre>
<p>Push one input token in the execution context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context or NULL to indicate the end</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the token to reuse in callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3>
<pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data)<br>
</pre>
<p>Push one input token in the execution context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context or NULL to indicate the end</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the first string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>value2</tt></i>:</span></td>
<td>the second string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the token to reuse in callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3>
<pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br>
</pre>
<p>Free the structures associated to a regular expression evaluation context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regular expression evaluation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3>
<pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
</pre>
<p>Free a regexp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>the regexp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data)<br>
</pre>
<p>Build a context used for progressive evaluation of a regexp.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>a precompiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>a callback function used for handling progresses in the automata matching phase</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the context data associated to the callback in this context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br>
</pre>
<p>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>a regular expression string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled expression or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3>
<pre class="programlisting">int	xmlRegexpExec			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Check if the regular expression generates the value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the value to check against the regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it matches, 0 if not and a negative value in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3>
<pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br>
</pre>
<p>Check if the regular expression is determinist</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it yes, 0 if not and a negative value in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3>
<pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
</pre>
<p>Print the content of the compiled regular expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file for the output debug</td>
</tr>
<tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>the compiled regexp</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-nanohttp.html000064400000037534150505766230015630 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>nanohttp: minimal HTTP implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">nanohttp</span></h2>
<p>nanohttp - minimal HTTP implementation</p>
<p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx);
void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void);
void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx);
int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx);
const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx);
int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType);
void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void);
void *	<a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen);
void *	<a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen);
const char *	<a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>	(void * ctx);
void *	<a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>			(const char * URL, <br>					 char ** contentType);
void *	<a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir);
int	<a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
const char *	<a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>	(void * ctx);
int	<a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>		(void * ctx);
int	<a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>			(void * ctxt, <br>					 const char * filename);
void	<a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>		(const char * URL);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPAuthHeader	(void * ctx)<br>
</pre>
<p>Get the authentication header of an HTTP context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3>
<pre class="programlisting">void	xmlNanoHTTPCleanup		(void)<br>
</pre>
<p>Cleanup the HTTP protocol layer.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3>
<pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br>
</pre>
<p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPContentLength"></a>xmlNanoHTTPContentLength ()</h3>
<pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br>
</pre>
<p>Provides the specified content length from the HTTP header.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPEncoding"></a>xmlNanoHTTPEncoding ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br>
</pre>
<p>Provides the specified encoding if specified in the HTTP headers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified encoding or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3>
<pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType)<br>
</pre>
<p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename where the content should be saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3>
<pre class="programlisting">void	xmlNanoHTTPInit			(void)<br>
</pre>
<p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPMethod		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>method</tt></i>:</span></td>
<td>the HTTP method to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input string if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>the Content-Type information IN and OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>headers</tt></i>:</span></td>
<td>the extra headers</td>
</tr>
<tr>
<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
<td>input length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPMethodRedir		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>method</tt></i>:</span></td>
<td>the HTTP method to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input string if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>the Content-Type information IN and OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>redir</tt></i>:</span></td>
<td>the redirected URL OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>headers</tt></i>:</span></td>
<td>the extra headers</td>
</tr>
<tr>
<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
<td>input length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMimeType"></a>xmlNanoHTTPMimeType ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPMimeType	(void * ctx)<br>
</pre>
<p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified Mime-Type or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPOpen			(const char * URL, <br>					 char ** contentType)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPOpenRedir		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>redir</tt></i>:</span></td>
<td>if available the redirected URL will be returned</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3>
<pre class="programlisting">int	xmlNanoHTTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
</pre>
<p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dest</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the buffer length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPRedir"></a>xmlNanoHTTPRedir ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPRedir	(void * ctx)<br>
</pre>
<p>Provides the specified redirection URL if available from the HTTP header.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified redirection URL or NULL if not redirected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3>
<pre class="programlisting">int	xmlNanoHTTPReturnCode		(void * ctx)<br>
</pre>
<p>Get the latest HTTP return code received</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the HTTP return code for the request.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3>
<pre class="programlisting">int	xmlNanoHTTPSave			(void * ctxt, <br>					 const char * filename)<br>
</pre>
<p>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename where the content should be saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 in case of success.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3>
<pre class="programlisting">void	xmlNanoHTTPScanProxy		(const char * URL)<br>
</pre>
<p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The proxy URL used to initialize the proxy context</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-c14n.html000064400000031571150505766240014536 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">c14n</span></h2>
<p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
<p>the c14n modules provides a  "Canonical XML" implementation</p>
<p>Author(s): Aleksey Sanin &lt;aleksey@aleksey.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression);
int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NMode">Enum </a>xmlC14NMode</h3>
<pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
    <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Original C14N 1.0 spec */
    <a name="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 /* Exclusive C14N 1.0 spec */
    <a name="XML_C14N_1_1">XML_C14N_1_1</a> = 2 /*  C14N 1.1 spec */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NIsVisibleCallback"></a>Function type xmlC14NIsVisibleCallback</h3>
<pre class="programlisting">int	xmlC14NIsVisibleCallback	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Signature for a C14N callback on visible nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>user data</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node should be included</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocDumpMemory"></a>xmlC14NDocDumpMemory ()</h3>
<pre class="programlisting">int	xmlC14NDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br>
</pre>
<p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocSave"></a>xmlC14NDocSave ()</h3>
<pre class="programlisting">int	xmlC14NDocSave			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression)<br>
</pre>
<p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename to store canonical XML image</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocSaveTo"></a>xmlC14NDocSaveTo ()</h3>
<pre class="programlisting">int	xmlC14NDocSaveTo		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
</pre>
<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>non-negative value on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NExecute"></a>xmlC14NExecute ()</h3>
<pre class="programlisting">int	xmlC14NExecute			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
</pre>
<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td>
<td>the function to use to determine is node visible or not</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>non-negative value on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlmemory.html000064400000057032150505766240016022 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlmemory: interface for the memory allocator</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlmemory</span></h2>
<p>xmlmemory - interface for the memory allocator</p>
<p>provides interfaces for the memory allocator, including debugging capabilities. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
#define <a href="#xmlMalloc">xmlMalloc</a>;
#define <a href="#xmlMallocAtomic">xmlMallocAtomic</a>;
#define <a href="#xmlMemStrdup">xmlMemStrdup</a>;
#define <a href="#xmlRealloc">xmlRealloc</a>;
void	<a href="#xmlCleanupMemory">xmlCleanupMemory</a>		(void);
typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a>			(void * mem);
int	<a href="#xmlGcMemGet">xmlGcMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
int	<a href="#xmlGcMemSetup">xmlGcMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
int	<a href="#xmlInitMemory">xmlInitMemory</a>			(void);
void *	<a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>		(size_t size, <br>					 const char * file, <br>					 int line);
typedef void * <a href="#xmlMallocFunc">xmlMallocFunc</a>			(size_t size);
void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br>					 const char * file, <br>					 int line);
int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void);
void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp);
void	<a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>		(FILE * fp, <br>					 long nbBytes);
void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr);
int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
void *	<a href="#xmlMemMalloc">xmlMemMalloc</a>			(size_t size);
void *	<a href="#xmlMemRealloc">xmlMemRealloc</a>			(void * ptr, <br>					 size_t size);
int	<a href="#xmlMemSetup">xmlMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
void	<a href="#xmlMemShow">xmlMemShow</a>			(FILE * fp, <br>					 int nr);
char *	<a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>			(const char * str, <br>					 const char * file, <br>					 int line);
int	<a href="#xmlMemUsed">xmlMemUsed</a>			(void);
void	<a href="#xmlMemoryDump">xmlMemoryDump</a>			(void);
char *	<a href="#xmlMemoryStrdup">xmlMemoryStrdup</a>			(const char * str);
typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>			(void * mem, <br>					 size_t size);
void *	<a href="#xmlReallocLoc">xmlReallocLoc</a>			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line);
typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a>			(const char * str);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3>
<pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
</pre>
<p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeFunc"></a>Function type xmlFreeFunc</h3>
<pre class="programlisting">void	xmlFreeFunc			(void * mem)<br>
</pre>
<p>Signature for a free() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>an already allocated block of memory</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocFunc"></a>Function type xmlMallocFunc</h3>
<pre class="programlisting">void *	xmlMallocFunc			(size_t size)<br>
</pre>
<p>Signature for a malloc() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size requested in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the newly allocated block or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReallocFunc"></a>Function type xmlReallocFunc</h3>
<pre class="programlisting">void *	xmlReallocFunc			(void * mem, <br>					 size_t size)<br>
</pre>
<p>Signature for a realloc() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>an already allocated block of memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the new size requested in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the newly reallocated block or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrdupFunc"></a>Function type xmlStrdupFunc</h3>
<pre class="programlisting">char *	xmlStrdupFunc			(const char * str)<br>
</pre>
<p>Signature for an strdup() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the copy of the string or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupMemory"></a>xmlCleanupMemory ()</h3>
<pre class="programlisting">void	xmlCleanupMemory		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free up all the memory allocated by the library for its own use. This should not be called by user level code.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGcMemGet"></a>xmlGcMemGet ()</h3>
<pre class="programlisting">int	xmlGcMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
</pre>
<p>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>place to save the free() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>place to save the malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
<td>place to save the atomic malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>place to save the realloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>place to save the strdup() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGcMemSetup"></a>xmlGcMemSetup ()</h3>
<pre class="programlisting">int	xmlGcMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br>
</pre>
<p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>the free() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>the malloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
<td>the malloc() function to use for atomic allocations</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>the realloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>the strdup() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitMemory"></a>xmlInitMemory ()</h3>
<pre class="programlisting">int	xmlInitMemory			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the memory layer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocAtomicLoc"></a>xmlMallocAtomicLoc ()</h3>
<pre class="programlisting">void *	xmlMallocAtomicLoc		(size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an unsigned int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocLoc"></a>xmlMallocLoc ()</h3>
<pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemBlocks"></a>xmlMemBlocks ()</h3>
<pre class="programlisting">int	xmlMemBlocks			(void)<br>
</pre>
<p>Provides the number of memory areas currently allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int representing the number of blocks</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemDisplay"></a>xmlMemDisplay ()</h3>
<pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br>
</pre>
<p>show in-extenso the memory blocks allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemDisplayLast"></a>xmlMemDisplayLast ()</h3>
<pre class="programlisting">void	xmlMemDisplayLast		(FILE * fp, <br>					 long nbBytes)<br>
</pre>
<p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbBytes</tt></i>:</span></td>
<td>the amount of memory to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemFree"></a>xmlMemFree ()</h3>
<pre class="programlisting">void	xmlMemFree			(void * ptr)<br>
</pre>
<p>a free() equivalent, with error checking.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the memory block pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemGet"></a>xmlMemGet ()</h3>
<pre class="programlisting">int	xmlMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
</pre>
<p>Provides the memory access functions set currently in use</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>place to save the free() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>place to save the malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>place to save the realloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>place to save the strdup() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemMalloc"></a>xmlMemMalloc ()</h3>
<pre class="programlisting">void *	xmlMemMalloc			(size_t size)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemRealloc"></a>xmlMemRealloc ()</h3>
<pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br>					 size_t size)<br>
</pre>
<p>a realloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the initial memory block pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemSetup"></a>xmlMemSetup ()</h3>
<pre class="programlisting">int	xmlMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br>
</pre>
<p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>the free() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>the malloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>the realloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>the strdup() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemShow"></a>xmlMemShow ()</h3>
<pre class="programlisting">void	xmlMemShow			(FILE * fp, <br>					 int nr)<br>
</pre>
<p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file</td>
</tr>
<tr>
<td><span class="term"><i><tt>nr</tt></i>:</span></td>
<td>number of entries to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemStrdupLoc"></a>xmlMemStrdupLoc ()</h3>
<pre class="programlisting">char *	xmlMemStrdupLoc			(const char * str, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a strdup() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the initial string pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new string or NULL if allocation error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemUsed"></a>xmlMemUsed ()</h3>
<pre class="programlisting">int	xmlMemUsed			(void)<br>
</pre>
<p>Provides the amount of memory currently allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int representing the amount of memory allocated.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemoryDump"></a>xmlMemoryDump ()</h3>
<pre class="programlisting">void	xmlMemoryDump			(void)<br>
</pre>
<p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemoryStrdup"></a>xmlMemoryStrdup ()</h3>
<pre class="programlisting">char *	xmlMemoryStrdup			(const char * str)<br>
</pre>
<p>a strdup() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the initial string pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new string or NULL if allocation error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReallocLoc"></a>xmlReallocLoc ()</h3>
<pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a realloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the initial memory block pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xlink.html000064400000040737150505766250015123 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xlink: unfinished XLink detection module</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xlink</span></h2>
<p>xlink - unfinished XLink detection module</p>
<p>unfinished XLink detection module </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkHRef">xlinkHRef</a>;
typedef struct _xlinkHandler <a href="#xlinkHandler">xlinkHandler</a>;
typedef <a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * <a href="#xlinkHandlerPtr">xlinkHandlerPtr</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkRole">xlinkRole</a>;
typedef enum <a href="#xlinkShow">xlinkShow</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkTitle">xlinkTitle</a>;
typedef enum <a href="#xlinkType">xlinkType</a>;
typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	<a href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>	(void);
<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	<a href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>	(void);
<a href="libxml2-xlink.html#xlinkType">xlinkType</a>	<a href="#xlinkIsLink">xlinkIsLink</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a>		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func);
void	<a href="#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a>		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler);
typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xlinkActuate">Enum </a>xlinkActuate</h3>
<pre class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
    <a name="XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a> = 0
    <a name="XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a> = 1
    <a name="XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHRef">Typedef </a>xlinkHRef</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHandler">Structure </a>xlinkHandler</h3>
<pre class="programlisting">struct _xlinkHandler {
    <a href="libxml2-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>	simple
    <a href="libxml2-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>	extended
    <a href="libxml2-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	set
} xlinkHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkRole">Typedef </a>xlinkRole</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkShow">Enum </a>xlinkShow</h3>
<pre class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
    <a name="XLINK_SHOW_NONE">XLINK_SHOW_NONE</a> = 0
    <a name="XLINK_SHOW_NEW">XLINK_SHOW_NEW</a> = 1
    <a name="XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a> = 2
    <a name="XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkTitle">Typedef </a>xlinkTitle</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkType">Enum </a>xlinkType</h3>
<pre class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
    <a name="XLINK_TYPE_NONE">XLINK_TYPE_NONE</a> = 0
    <a name="XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a> = 1
    <a name="XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a> = 2
    <a name="XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkExtendedLinkFunk"></a>Function type xlinkExtendedLinkFunk</h3>
<pre class="programlisting">void	xlinkExtendedLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
</pre>
<p>This is the prototype for a extended link detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
<td>the number of locators detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
<td>pointer to the array of locator hrefs</td>
</tr>
<tr>
<td><span class="term"><i><tt>roles</tt></i>:</span></td>
<td>pointer to the array of locator roles</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbArcs</tt></i>:</span></td>
<td>the number of arcs detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>pointer to the array of source roles found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>pointer to the array of target roles found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>show</tt></i>:</span></td>
<td>array of values for the show attributes found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>actuate</tt></i>:</span></td>
<td>array of values for the actuate attributes found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
<td>the number of titles detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>titles</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>langs</tt></i>:</span></td>
<td>array of xml:lang values for the titles</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkExtendedLinkSetFunk"></a>Function type xlinkExtendedLinkSetFunk</h3>
<pre class="programlisting">void	xlinkExtendedLinkSetFunk	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
</pre>
<p>This is the prototype for a extended link set detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
<td>the number of locators detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
<td>pointer to the array of locator hrefs</td>
</tr>
<tr>
<td><span class="term"><i><tt>roles</tt></i>:</span></td>
<td>pointer to the array of locator roles</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
<td>the number of titles detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>titles</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>langs</tt></i>:</span></td>
<td>array of xml:lang values for the titles</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkNodeDetectFunc"></a>Function type xlinkNodeDetectFunc</h3>
<pre class="programlisting">void	xlinkNodeDetectFunc		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to check</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSimpleLinkFunk"></a>Function type xlinkSimpleLinkFunk</h3>
<pre class="programlisting">void	xlinkSimpleLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br>
</pre>
<p>This is the prototype for a simple link detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the target of the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>role</tt></i>:</span></td>
<td>the role string</td>
</tr>
<tr>
<td><span class="term"><i><tt>title</tt></i>:</span></td>
<td>the link title</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkGetDefaultDetect"></a>xlinkGetDefaultDetect ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br>
</pre>
<p>Get the default xlink detection routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current function or NULL;</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkGetDefaultHandler"></a>xlinkGetDefaultHandler ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br>
</pre>
<p>Get the default xlink handler.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkIsLink"></a>xlinkIsLink ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a>	xlinkIsLink		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node pointer itself</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no link detected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSetDefaultDetect"></a>xlinkSetDefaultDetect ()</h3>
<pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br>
</pre>
<p>Set the default xlink detection routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>pointer to the new detection routine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSetDefaultHandler"></a>xlinkSetDefaultHandler ()</h3>
<pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br>
</pre>
<p>Set the default xlink handlers</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new value for the xlink handler block</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/home.png000064400000001216150505766250013164 0ustar00�PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�1��KvIDATx�Օ�kq�?�rC���p�	~C�np��CAAJ.B-\'G�]:ܠ���C�
-(�8���Ԁ!�fD�����ғklbR�oy�x����wpðIJ�<�of_�-@����RH����f֟t����^����ښ�$Q���|��p����g�v;X^^&�s�(bww�Z�F���9���&�3඙
��^IR�ZUE.0Z]]U��
�PY�M�8�H�GI��������e�kqq�Ҁ�!��
$��۬��3�n
�e��{-/seee��Ì�X����O�ͷ$�8==U�S������Q�RR��'�9-�s���+B^ �C�ەs���<o��3�KKKt:j��J�$I����<'�s�8�{�������z��j�(M�Q7u$�,����B�.�ތ�Ձ;���F�p�����Y�z�3k��E�	���e���!S���$��v����0KR�o�0��l6999�j�sssT*�ׅv�v�
>�+%��<7��W��	��:�2IEND�B`�share/gtk-doc/html/libxml2/libxml2-xmlschemas.html000064400000122116150505766250016132 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlschemas: incomplete XML Schemas structure implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlschemas</span></h2>
<p>xmlschemas - incomplete XML Schemas structure implementation</p>
<p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
typedef struct _xmlSchemaParserCtxt <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a href="#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * <a href="#xmlSchemaPtr">xmlSchemaPtr</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * <a href="#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>;
typedef struct _xmlSchemaSAXPlug <a href="#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a>;
typedef struct _xmlSchemaValidCtxt <a href="#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a href="#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
typedef enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>;
typedef enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>;
void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlSchemaIsValid">xmlSchemaIsValid</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL);
<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	<a href="#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	<a href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data);
int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug);
void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options);
int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename);
void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt);
int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data);
typedef void <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef int <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line);
typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchema">Structure </a>xmlSchema</h3>
<pre class="programlisting">struct _xmlSchema {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: schema name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    int	flags
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	typeDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrgrpDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	elemDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	notaDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	schemasImports
    void *	_private	: unused by the library for users or bindings
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	groupDecl
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
    void *	includes	: the includes, this is opaque for now
    int	preserve	: whether to free the document
    int	counter	: used to give anonymous components unique names
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef	: All identity-constraint defs.
    void *	volatiles	: Obsolete
} xmlSchema;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParserCtxt">Structure </a>xmlSchemaParserCtxt</h3>
<pre class="programlisting">struct _xmlSchemaParserCtxt {
The content of this structure is not made public by the API.
} xmlSchemaParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParserCtxtPtr">Typedef </a>xmlSchemaParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * xmlSchemaParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlugPtr">Typedef </a>xmlSchemaSAXPlugPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlugStruct">Structure </a>xmlSchemaSAXPlugStruct</h3>
<pre class="programlisting">struct _xmlSchemaSAXPlug {
The content of this structure is not made public by the API.
} xmlSchemaSAXPlugStruct;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxt">Structure </a>xmlSchemaValidCtxt</h3>
<pre class="programlisting">struct _xmlSchemaValidCtxt {
The content of this structure is not made public by the API.
} xmlSchemaValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtPtr">Typedef </a>xmlSchemaValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * xmlSchemaValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidError">Enum </a>xmlSchemaValidError</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a> {
    <a name="XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a> = 0
    <a name="XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a> = 1
    <a name="XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a> = 2
    <a name="XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL</a> = 3
    <a name="XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING</a> = 4
    <a name="XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a> = 5
    <a name="XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE</a> = 6
    <a name="XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK</a> = 7
    <a name="XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT</a> = 8
    <a name="XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY</a> = 9
    <a name="XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT</a> = 10
    <a name="XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT</a> = 11
    <a name="XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE</a> = 12
    <a name="XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT</a> = 13
    <a name="XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR</a> = 14
    <a name="XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM</a> = 15
    <a name="XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST</a> = 16
    <a name="XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT</a> = 17
    <a name="XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL</a> = 18
    <a name="XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE</a> = 19
    <a name="XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN</a> = 20
    <a name="XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID</a> = 21
    <a name="XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a> = 22
    <a name="XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET</a> = 23
    <a name="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
    <a name="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidOption">Enum </a>xmlSchemaValidOption</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
    <a name="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 /*  Default/fixed: create an attribute node * or an element's text node on the instance. * */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityErrorFunc"></a>Function type xmlSchemaValidityErrorFunc</h3>
<pre class="programlisting">void	xmlSchemaValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from an XSD validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityLocatorFunc"></a>Function type xmlSchemaValidityLocatorFunc</h3>
<pre class="programlisting">int	xmlSchemaValidityLocatorFunc	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line)<br>
</pre>
<p>A schemas validation locator, a callback called by the validator. This is used when file or node information are not available to find out what file and line number are affected</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user provided context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>returned file information</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>returned line information</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityWarningFunc"></a>Function type xmlSchemaValidityWarningFunc</h3>
<pre class="programlisting">void	xmlSchemaValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of a warning callback from an XSD validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaDump"></a>xmlSchemaDump ()</h3>
<pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Dump a Schema structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFree"></a>xmlSchemaFree ()</h3>
<pre class="programlisting">void	xmlSchemaFree			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Deallocate a Schema structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeParserCtxt"></a>xmlSchemaFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeValidCtxt"></a>xmlSchemaFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetParserErrors"></a>xmlSchemaGetParserErrors ()</h3>
<pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the callback information used to handle errors for a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XMl-Schema parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetValidErrors"></a>xmlSchemaGetValidErrors ()</h3>
<pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XML-Schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaIsValid"></a>xmlSchemaIsValid ()</h3>
<pre class="programlisting">int	xmlSchemaIsValid		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Check if any error was detected during validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewDocParserCtxt"></a>xmlSchemaNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewMemParserCtxt"></a>xmlSchemaNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewParserCtxt"></a>xmlSchemaNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewValidCtxt"></a>xmlSchemaNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Create an XML Schemas validation context based on the given schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML Schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParse"></a>xmlSchemaParse ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML Schema structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlug"></a>xmlSchemaSAXPlug ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	xmlSchemaSAXPlug	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data)<br>
</pre>
<p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a pointer to the original <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>a pointer to the original SAX user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXUnplug"></a>xmlSchemaSAXUnplug ()</h3>
<pre class="programlisting">int	xmlSchemaSAXUnplug		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br>
</pre>
<p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>plug</tt></i>:</span></td>
<td>a data structure returned by <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetParserErrors"></a>xmlSchemaSetParserErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetParserStructuredErrors"></a>xmlSchemaSetParserStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetParserStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidErrors"></a>xmlSchemaSetValidErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidOptions"></a>xmlSchemaSetValidOptions ()</h3>
<pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Sets the options to be used during the validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of an API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidStructuredErrors"></a>xmlSchemaSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetValidStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtGetOptions"></a>xmlSchemaValidCtxtGetOptions ()</h3>
<pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Get the validation context options.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the option combination or -1 on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtGetParserCtxt"></a>xmlSchemaValidCtxtGetParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlSchemaValidCtxtGetParserCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>allow access to the parser context of the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context of the schema validation context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateDoc"></a>xmlSchemaValidateDoc ()</h3>
<pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Validate a document tree in memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a parsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFile"></a>xmlSchemaValidateFile ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFile		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options)<br>
</pre>
<p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI of the instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a future set of options, currently unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateOneElement"></a>xmlSchemaValidateOneElement ()</h3>
<pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Validate a branch of a tree, starting with the given @elem.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateSetFilename"></a>xmlSchemaValidateSetFilename ()</h3>
<pre class="programlisting">void	xmlSchemaValidateSetFilename	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename)<br>
</pre>
<p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateSetLocator"></a>xmlSchemaValidateSetLocator ()</h3>
<pre class="programlisting">void	xmlSchemaValidateSetLocator	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt)<br>
</pre>
<p>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the locator function pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the locator context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateStream"></a>xmlSchemaValidateStream ()</h3>
<pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data)<br>
</pre>
<p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input to use for reading the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an optional encoding information</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler for the resulting events</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>the context to provide to the SAX handler.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-parser.html000064400000414546150505766260015276 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>parser: the core parser module</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">parser</span></h2>
<p>parser - the core parser module</p>
<p>Interfaces, constants and types related to the XML parser </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
typedef enum <a href="#xmlFeature">xmlFeature</a>;
typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>;
typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
typedef void <a href="#commentSAXFunc">commentSAXFunc</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
typedef void <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>		(void * ctx);
typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
typedef void <a href="#errorSAXFunc">errorSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getEntitySAXFunc">getEntitySAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	(void * ctx);
typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	(void * ctx);
typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef int <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>		(void * ctx);
typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
typedef void <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>		(void * ctx);
typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
typedef void <a href="#warningSAXFunc">warningSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
long	<a href="#xmlByteConsumed">xmlByteConsumed</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlCleanupParser">xmlCleanupParser</a>		(void);
void	<a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
void	<a href="#xmlClearParserCtxt">xmlClearParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding);
int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void);
int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result);
int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br>					 const char ** result);
int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
void	<a href="#xmlInitParser">xmlInitParser</a>			(void);
int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val);
int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void);
int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
int	<a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover);
int	<a href="#xmlParseChunk">xmlParseChunk</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
int	<a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlParseDTD">xmlParseDTD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseDoc">xmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
int	<a href="#xmlParseDocument">xmlParseDocument</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseEntity">xmlParseEntity</a>		(const char * filename);
int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename);
<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br>					 int size);
void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
unsigned long	<a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlParserInputGrow">xmlParserInputGrow</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
int	<a href="#xmlParserInputRead">xmlParserInputRead</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
int	<a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>	(int val);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadDoc">xmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFd">xmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFile">xmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadIO">xmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadMemory">xmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br>					 int size);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFile">xmlSAXParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data);
int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename);
int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size);
void	<a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value);
void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename);
void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3>
<pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3>
<pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
</pre>
<p>The default version of XML used: 1.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3>
<pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3>
<pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
</pre>
<p>Special constant found in SAX2 blocks initialized fields</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3>
<pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFeature">Enum </a>xmlFeature</h3>
<pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
    <a name="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1
    <a name="XML_WITH_TREE">XML_WITH_TREE</a> = 2
    <a name="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3
    <a name="XML_WITH_PUSH">XML_WITH_PUSH</a> = 4
    <a name="XML_WITH_READER">XML_WITH_READER</a> = 5
    <a name="XML_WITH_PATTERN">XML_WITH_PATTERN</a> = 6
    <a name="XML_WITH_WRITER">XML_WITH_WRITER</a> = 7
    <a name="XML_WITH_SAX1">XML_WITH_SAX1</a> = 8
    <a name="XML_WITH_FTP">XML_WITH_FTP</a> = 9
    <a name="XML_WITH_HTTP">XML_WITH_HTTP</a> = 10
    <a name="XML_WITH_VALID">XML_WITH_VALID</a> = 11
    <a name="XML_WITH_HTML">XML_WITH_HTML</a> = 12
    <a name="XML_WITH_LEGACY">XML_WITH_LEGACY</a> = 13
    <a name="XML_WITH_C14N">XML_WITH_C14N</a> = 14
    <a name="XML_WITH_CATALOG">XML_WITH_CATALOG</a> = 15
    <a name="XML_WITH_XPATH">XML_WITH_XPATH</a> = 16
    <a name="XML_WITH_XPTR">XML_WITH_XPTR</a> = 17
    <a name="XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a> = 18
    <a name="XML_WITH_ICONV">XML_WITH_ICONV</a> = 19
    <a name="XML_WITH_ISO8859X">XML_WITH_ISO8859X</a> = 20
    <a name="XML_WITH_UNICODE">XML_WITH_UNICODE</a> = 21
    <a name="XML_WITH_REGEXP">XML_WITH_REGEXP</a> = 22
    <a name="XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a> = 23
    <a name="XML_WITH_EXPR">XML_WITH_EXPR</a> = 24
    <a name="XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a> = 25
    <a name="XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a> = 26
    <a name="XML_WITH_MODULES">XML_WITH_MODULES</a> = 27
    <a name="XML_WITH_DEBUG">XML_WITH_DEBUG</a> = 28
    <a name="XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a> = 29
    <a name="XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a> = 30
    <a name="XML_WITH_ZLIB">XML_WITH_ZLIB</a> = 31
    <a name="XML_WITH_ICU">XML_WITH_ICU</a> = 32
    <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
    <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /*  just to be sure of allocation size */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputState">Enum </a>xmlParserInputState</h3>
<pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> {
    <a name="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 /* nothing is to be parsed */
    <a name="XML_PARSER_START">XML_PARSER_START</a> = 0 /* nothing has been parsed */
    <a name="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 /* Misc* before int subset */
    <a name="XML_PARSER_PI">XML_PARSER_PI</a> = 2 /* Within a processing instruction */
    <a name="XML_PARSER_DTD">XML_PARSER_DTD</a> = 3 /* within some DTD content */
    <a name="XML_PARSER_PROLOG">XML_PARSER_PROLOG</a> = 4 /* Misc* after internal subset */
    <a name="XML_PARSER_COMMENT">XML_PARSER_COMMENT</a> = 5 /* within a comment */
    <a name="XML_PARSER_START_TAG">XML_PARSER_START_TAG</a> = 6 /* within a start tag */
    <a name="XML_PARSER_CONTENT">XML_PARSER_CONTENT</a> = 7 /* within the content */
    <a name="XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a> = 8 /* within a CDATA section */
    <a name="XML_PARSER_END_TAG">XML_PARSER_END_TAG</a> = 9 /* within a closing tag */
    <a name="XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a> = 10 /* within an entity declaration */
    <a name="XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a> = 11 /* within an entity value in a decl */
    <a name="XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a> = 12 /* within an attribute value */
    <a name="XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a> = 13 /* within a SYSTEM value */
    <a name="XML_PARSER_EPILOG">XML_PARSER_EPILOG</a> = 14 /* the Misc* after the last end tag */
    <a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */
    <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /*  within a PUBLIC value */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserMode">Enum </a>xmlParserMode</h3>
<pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
    <a name="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0
    <a name="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1
    <a name="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2
    <a name="XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a> = 3
    <a name="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4
    <a name="XML_PARSE_READER">XML_PARSE_READER</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3>
<pre class="programlisting">struct _xmlParserNodeInfo {
    const struct _xmlNode *	node	: Position &amp; line # that text that created the node begins &amp; ends on
    unsigned long	begin_pos
    unsigned long	begin_line
    unsigned long	end_pos
    unsigned long	end_line
} xmlParserNodeInfo;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3>
<pre class="programlisting">struct _xmlParserNodeInfoSeq {
    unsigned long	maximum
    unsigned long	length
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	buffer
} xmlParserNodeInfoSeq;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserOption">Enum </a>xmlParserOption</h3>
<pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
    <a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */
    <a name="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 /* substitute entities */
    <a name="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 /* load the external subset */
    <a name="XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> = 8 /* default DTD attributes */
    <a name="XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> = 16 /* validate with the DTD */
    <a name="XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> = 32 /* suppress error reports */
    <a name="XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */
    <a name="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */
    <a name="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */
    <a name="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 /* use the SAX1 interface internally */
    <a name="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 /* Implement XInclude substitution */
    <a name="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 /* Forbid network access */
    <a name="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 /* Do not reuse the context dictionary */
    <a name="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 /* remove redundant namespaces declarations */
    <a name="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 /* merge CDATA as text nodes */
    <a name="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 /* do not generate XINCLUDE START/END nodes */
    <a name="XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> = 65536 /* compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree) */
    <a name="XML_PARSE_OLD10">XML_PARSE_OLD10</a> = 131072 /* parse using XML-1.0 before update 5 */
    <a name="XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a> = 262144 /* do not fixup XINCLUDE xml:base uris */
    <a name="XML_PARSE_HUGE">XML_PARSE_HUGE</a> = 524288 /* relax any hardcoded limit from the parser */
    <a name="XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> = 1048576 /* parse using SAX2 interface before 2.7.0 */
    <a name="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */
    <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /*  Store big lines numbers in text PSVI field */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3>
<pre class="programlisting">struct _xmlSAXHandlerV1 {
    <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
    <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
    <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
    <a href="libxml2-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
    <a href="libxml2-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
    <a href="libxml2-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
    <a href="libxml2-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
    <a href="libxml2-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
    <a href="libxml2-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
    <a href="libxml2-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
    <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
    <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
    <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
    <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
    <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
    <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
    <a href="libxml2-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
    <a href="libxml2-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
    <a href="libxml2-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
    <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
    <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
    <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
    <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
    <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
    unsigned int	initialized
} xmlSAXHandlerV1;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStartTag">Structure </a>xmlStartTag</h3>
<pre class="programlisting">struct _xmlStartTag {
The content of this structure is not made public by the API.
} xmlStartTag;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeDeclSAXFunc"></a>Function type attributeDeclSAXFunc</h3>
<pre class="programlisting">void	attributeDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeSAXFunc"></a>Function type attributeSAXFunc</h3>
<pre class="programlisting">void	attributeSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="cdataBlockSAXFunc"></a>Function type cdataBlockSAXFunc</h3>
<pre class="programlisting">void	cdataBlockSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>Called when a pcdata block has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="charactersSAXFunc"></a>Function type charactersSAXFunc</h3>
<pre class="programlisting">void	charactersSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>Receiving some chars from the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="commentSAXFunc"></a>Function type commentSAXFunc</h3>
<pre class="programlisting">void	commentSAXFunc			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="elementDeclSAXFunc"></a>Function type elementDeclSAXFunc</h3>
<pre class="programlisting">void	elementDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endDocumentSAXFunc"></a>Function type endDocumentSAXFunc</h3>
<pre class="programlisting">void	endDocumentSAXFunc		(void * ctx)<br>
</pre>
<p>Called when the document end has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElementNsSAX2Func"></a>Function type endElementNsSAX2Func</h3>
<pre class="programlisting">void	endElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElementSAXFunc"></a>Function type endElementSAXFunc</h3>
<pre class="programlisting">void	endElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Called when the end of an element has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="entityDeclSAXFunc"></a>Function type entityDeclSAXFunc</h3>
<pre class="programlisting">void	entityDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="errorSAXFunc"></a>Function type errorSAXFunc</h3>
<pre class="programlisting">void	errorSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an error messages, callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="externalSubsetSAXFunc"></a>Function type externalSubsetSAXFunc</h3>
<pre class="programlisting">void	externalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="fatalErrorSAXFunc"></a>Function type fatalErrorSAXFunc</h3>
<pre class="programlisting">void	fatalErrorSAXFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getEntitySAXFunc"></a>Function type getEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntitySAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getParameterEntitySAXFunc"></a>Function type getParameterEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasExternalSubsetSAXFunc"></a>Function type hasExternalSubsetSAXFunc</h3>
<pre class="programlisting">int	hasExternalSubsetSAXFunc	(void * ctx)<br>
</pre>
<p>Does this document has an external subset?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasInternalSubsetSAXFunc"></a>Function type hasInternalSubsetSAXFunc</h3>
<pre class="programlisting">int	hasInternalSubsetSAXFunc	(void * ctx)<br>
</pre>
<p>Does this document has an internal subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ignorableWhitespaceSAXFunc"></a>Function type ignorableWhitespaceSAXFunc</h3>
<pre class="programlisting">void	ignorableWhitespaceSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="internalSubsetSAXFunc"></a>Function type internalSubsetSAXFunc</h3>
<pre class="programlisting">void	internalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isStandaloneSAXFunc"></a>Function type isStandaloneSAXFunc</h3>
<pre class="programlisting">int	isStandaloneSAXFunc		(void * ctx)<br>
</pre>
<p>Is this document tagged standalone?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="notationDeclSAXFunc"></a>Function type notationDeclSAXFunc</h3>
<pre class="programlisting">void	notationDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="processingInstructionSAXFunc"></a>Function type processingInstructionSAXFunc</h3>
<pre class="programlisting">void	processingInstructionSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="referenceSAXFunc"></a>Function type referenceSAXFunc</h3>
<pre class="programlisting">void	referenceSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="resolveEntitySAXFunc"></a>Function type resolveEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>Callback: The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3>
<pre class="programlisting">void	setDocumentLocatorSAXFunc	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startDocumentSAXFunc"></a>Function type startDocumentSAXFunc</h3>
<pre class="programlisting">void	startDocumentSAXFunc		(void * ctx)<br>
</pre>
<p>Called when the document start being processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElementNsSAX2Func"></a>Function type startElementNsSAX2Func</h3>
<pre class="programlisting">void	startElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
</pre>
<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
<td>number of namespace definitions on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>pointer to the array of prefix/URI pairs namespace definitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
<td>the number of attributes on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
<td>the number of defaulted attributes. The defaulted ones are at the end of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>attributes</tt></i>:</span></td>
<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElementSAXFunc"></a>Function type startElementSAXFunc</h3>
<pre class="programlisting">void	startElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>Called when an opening tag has been processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="unparsedEntityDeclSAXFunc"></a>Function type unparsedEntityDeclSAXFunc</h3>
<pre class="programlisting">void	unparsedEntityDeclSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="warningSAXFunc"></a>Function type warningSAXFunc</h3>
<pre class="programlisting">void	warningSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a warning messages, callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExternalEntityLoader"></a>Function type xmlExternalEntityLoader</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlExternalEntityLoader	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br>
</pre>
<p>External entity loaders types.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The System ID of the resource requested</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>The Public ID of the resource requested</td>
</tr>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the entity input parser.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputDeallocate"></a>Function type xmlParserInputDeallocate</h3>
<pre class="programlisting">void	xmlParserInputDeallocate	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Callback for freeing some parser input allocations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to deallocate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3>
<pre class="programlisting">long	xmlByteConsumed			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3>
<pre class="programlisting">void	xmlCleanupParser		(void)<br>
</pre>
<p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3>
<pre class="programlisting">void	xmlClearNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
</pre>
<p>-- Clear (release memory and reinitialize) node info sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3>
<pre class="programlisting">void	xmlClearParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Clear (release owned resources) and reinitialize a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateDocParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>Creates a parser context for an XML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateIOParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a parser context for using the XML parser with an existing I/O stream</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename)<br>
</pre>
<p>Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding. The remaining <a href="libxml2-SAX.html#characters">characters</a> will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadIO		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadMemory	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3>
<pre class="programlisting">void	xmlCtxtReset			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Reset a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3>
<pre class="programlisting">int	xmlCtxtResetPush		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding)<br>
</pre>
<p>Reset a push parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and 1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
<pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Applies the options to the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br>
</pre>
<p>Get the default external entity resolver function for the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetFeature"></a>xmlGetFeature ()</h3>
<pre class="programlisting">int	xmlGetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result)<br>
</pre>
<p>Read the current value of one feature of this parser instance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML/HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the feature name</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>location to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3>
<pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br>					 const char ** result)<br>
</pre>
<p>Copy at most *@len feature names into the @result array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the features name array (input/output)</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>an array of string to be filled with the features name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasFeature"></a>xmlHasFeature ()</h3>
<pre class="programlisting">int	xmlHasFeature			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br>
</pre>
<p>Examines if the library has been compiled with a given feature.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>feature</tt></i>:</span></td>
<td>the feature to be examined</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Load and parse a DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an Input Buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3>
<pre class="programlisting">void	xmlInitNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
</pre>
<p>-- Initialize (set to initial state) node info sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitParser"></a>xmlInitParser ()</h3>
<pre class="programlisting">void	xmlInitParser			(void)<br>
</pre>
<p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3>
<pre class="programlisting">int	xmlInitParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Initialize a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3>
<pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br>
</pre>
<p>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3>
<pre class="programlisting">int	xmlLineNumbersDefault		(int val)<br>
</pre>
<p>Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Load an external entity, note that the use of this function for unparsed entities may generate problems</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the Public ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context in which the entity is called or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewIOInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an I/O Input</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br>
</pre>
<p>Allocate and initialize a new parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3>
<pre class="programlisting">int	xmlParseBalancedChunkMemory	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to (must not be NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3>
<pre class="programlisting">int	xmlParseBalancedChunkMemoryRecover	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to (must not be NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>recover</tt></i>:</span></td>
<td>return nodes even if the data is broken (use 0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseChunk"></a>xmlParseChunk ()</h3>
<pre class="programlisting">int	xmlParseChunk			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
</pre>
<p>Parse a Chunk of memory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte of the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
<td>last chunk indicator</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3>
<pre class="programlisting">int	xmlParseCtxtExternalEntity	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the existing parsing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDTD"></a>xmlParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlParseDTD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Load and parse an external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>a NAME* containing the External ID of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>a NAME* containing the URL to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDoc"></a>xmlParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDocument"></a>xmlParseDocument ()</h3>
<pre class="programlisting">int	xmlParseDocument		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntity"></a>xmlParseEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseEntity		(const char * filename)<br>
</pre>
<p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3>
<pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3>
<pre class="programlisting">int	xmlParseExternalEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseFile"></a>xmlParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree if the file was wellformed, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseInNodeContext"></a>xmlParseInNodeContext ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>datalen</tt></i>:</span></td>
<td>the input string length in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMemory"></a>xmlParseMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br>					 int size)<br>
</pre>
<p>parse an XML in-memory block and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3>
<pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br>
</pre>
<p>Insert node info record into the sorted sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>info</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3>
<pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	xmlParserFindNodeInfo	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Find the parser node info struct for a given node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an XML node within the tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3>
<pre class="programlisting">unsigned long	xmlParserFindNodeInfoIndex	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p><a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an XML node pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a long indicating the position of the record</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3>
<pre class="programlisting">int	xmlParserInputGrow		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
</pre>
<p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an indicative size for the lookahead</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3>
<pre class="programlisting">int	xmlParserInputRead		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
</pre>
<p>This function was internal and is deprecated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an indicative size for the lookahead</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 as this is an error to use it.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3>
<pre class="programlisting">int	xmlPedanticParserDefault	(int val)<br>
</pre>
<p>Set and return the previous value for enabling pedantic warnings.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadDoc"></a>xmlReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadFd"></a>xmlReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadFile"></a>xmlReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadIO"></a>xmlReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML document from I/O functions and source and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadMemory"></a>xmlReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverFile		(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverMemory	(const char * buffer, <br>					 int size)<br>
</pre>
<p>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Load and parse an external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>a NAME* containing the External ID of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>a NAME* containing the URL to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseDoc		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery)<br>
</pre>
<p>parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseEntity	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename)<br>
</pre>
<p>parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFileWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemory	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery)<br>
</pre>
<p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read not Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemoryWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data)<br>
</pre>
<p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3>
<pre class="programlisting">int	xmlSAXUserParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename)<br>
</pre>
<p>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success or a error number otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3>
<pre class="programlisting">int	xmlSAXUserParseMemory		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size)<br>
</pre>
<p>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an in-memory XML document input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the XML document in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success or a error number otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3>
<pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br>
</pre>
<p>Changes the defaultexternal entity resolver function for the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the new entity resolver function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetFeature"></a>xmlSetFeature ()</h3>
<pre class="programlisting">int	xmlSetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value)<br>
</pre>
<p>Change the current value of one feature of this parser instance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML/HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the feature name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>pointer to the location of the new value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3>
<pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename)<br>
</pre>
<p>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStopParser"></a>xmlStopParser ()</h3>
<pre class="programlisting">void	xmlStopParser			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Blocks further parser processing</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3>
<pre class="programlisting">int	xmlSubstituteEntitiesDefault	(int val)<br>
</pre>
<p>Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-catalog.html000064400000106347150505766260015411 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>catalog: interfaces to the Catalog handling system</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">catalog</span></h2>
<p>catalog - interfaces to the Catalog handling system</p>
<p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
typedef struct _xmlCatalog <a href="#xmlCatalog">xmlCatalog</a>;
typedef enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>;
typedef enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>;
typedef <a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * <a href="#xmlCatalogPtr">xmlCatalogPtr</a>;
int	<a href="#xmlACatalogAdd">xmlACatalogAdd</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
void	<a href="#xmlACatalogDump">xmlACatalogDump</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out);
int	<a href="#xmlACatalogRemove">xmlACatalogRemove</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolve">xmlACatalogResolve</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogAdd">xmlCatalogAdd</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
void *	<a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
void	<a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>		(void);
int	<a href="#xmlCatalogConvert">xmlCatalogConvert</a>		(void);
void	<a href="#xmlCatalogDump">xmlCatalogDump</a>			(FILE * out);
void	<a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>		(void * catalogs);
<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	<a href="#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>	(void);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetPublic">xmlCatalogGetPublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
int	<a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogRemove">xmlCatalogRemove</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolve">xmlCatalogResolve</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogSetDebug">xmlCatalogSetDebug</a>		(int level);
<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	<a href="#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a>	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);
void	<a href="#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);
int	<a href="#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
void	<a href="#xmlFreeCatalog">xmlFreeCatalog</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
void	<a href="#xmlInitializeCatalog">xmlInitializeCatalog</a>		(void);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadACatalog">xmlLoadACatalog</a>		(const char * filename);
int	<a href="#xmlLoadCatalog">xmlLoadCatalog</a>			(const char * filename);
void	<a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>			(const char * pathss);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>	(const char * filename);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlNewCatalog">xmlNewCatalog</a>		(int sgml);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseCatalogFile">xmlParseCatalogFile</a>	(const char * filename);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_CATALOGS_NAMESPACE">Macro </a>XML_CATALOGS_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
</pre>
<p>The namespace for the XML Catalogs elements.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3>
<pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
</pre>
<p>The specific XML Catalog Processing Instruction name.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalog">Structure </a>xmlCatalog</h3>
<pre class="programlisting">struct _xmlCatalog {
The content of this structure is not made public by the API.
} xmlCatalog;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3>
<pre class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
    <a name="XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a> = 0
    <a name="XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a> = 1
    <a name="XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a> = 2
    <a name="XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3>
<pre class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
    <a name="XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a> = 0
    <a name="XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> = 1
    <a name="XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogAdd"></a>xmlACatalogAdd ()</h3>
<pre class="programlisting">int	xmlACatalogAdd			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
</pre>
<p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of record to add to the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>the system, public or prefix to match</td>
</tr>
<tr>
<td><span class="term"><i><tt>replace</tt></i>:</span></td>
<td>the replacement value for the match</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogDump"></a>xmlACatalogDump ()</h3>
<pre class="programlisting">void	xmlACatalogDump			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out)<br>
</pre>
<p>Dump the given catalog to the given file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the file.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogRemove"></a>xmlACatalogRemove ()</h3>
<pre class="programlisting">int	xmlACatalogRemove		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Remove an entry from the catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries removed if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolve"></a>xmlACatalogResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolve	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolvePublic"></a>xmlACatalogResolvePublic ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog local <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolveSystem"></a>xmlACatalogResolveSystem ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveSystem	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog resource for a system ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolveURI"></a>xmlACatalogResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveURI	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAdd"></a>xmlCatalogAdd ()</h3>
<pre class="programlisting">int	xmlCatalogAdd			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
</pre>
<p>Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of record to add to the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>the system, public or prefix to match</td>
</tr>
<tr>
<td><span class="term"><i><tt>replace</tt></i>:</span></td>
<td>the replacement value for the match</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAddLocal"></a>xmlCatalogAddLocal ()</h3>
<pre class="programlisting">void *	xmlCatalogAddLocal		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br>
</pre>
<p>Add the new entry to the catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL to a new local catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the updated list</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogCleanup"></a>xmlCatalogCleanup ()</h3>
<pre class="programlisting">void	xmlCatalogCleanup		(void)<br>
</pre>
<p>Free up all the memory associated with catalogs</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogConvert"></a>xmlCatalogConvert ()</h3>
<pre class="programlisting">int	xmlCatalogConvert		(void)<br>
</pre>
<p>Convert all the SGML catalog entries as XML ones</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries converted if successful, -1 otherwise</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogDump"></a>xmlCatalogDump ()</h3>
<pre class="programlisting">void	xmlCatalogDump			(FILE * out)<br>
</pre>
<p>Dump all the global catalog content to the given file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the file.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogFreeLocal"></a>xmlCatalogFreeLocal ()</h3>
<pre class="programlisting">void	xmlCatalogFreeLocal		(void * catalogs)<br>
</pre>
<p>Free up the memory associated to the catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetDefaults"></a>xmlCatalogGetDefaults ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br>
</pre>
<p>Used to get the user preference w.r.t. to what catalogs should be accepted</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetPublic"></a>xmlCatalogGetPublic ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetSystem"></a>xmlCatalogGetSystem ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogIsEmpty"></a>xmlCatalogIsEmpty ()</h3>
<pre class="programlisting">int	xmlCatalogIsEmpty		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Check is a catalog is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>should this create an SGML catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogLocalResolve"></a>xmlCatalogLocalResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolve	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogLocalResolveURI"></a>xmlCatalogLocalResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolveURI	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogRemove"></a>xmlCatalogRemove ()</h3>
<pre class="programlisting">int	xmlCatalogRemove		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Remove an entry from the catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries removed if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolve"></a>xmlCatalogResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolve	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolvePublic"></a>xmlCatalogResolvePublic ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolveSystem"></a>xmlCatalogResolveSystem ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog resource for a system ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolveURI"></a>xmlCatalogResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDebug"></a>xmlCatalogSetDebug ()</h3>
<pre class="programlisting">int	xmlCatalogSetDebug		(int level)<br>
</pre>
<p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the debug level of catalogs required</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the catalog debugging level</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDefaultPrefer"></a>xmlCatalogSetDefaultPrefer ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br>
</pre>
<p>Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prefer</tt></i>:</span></td>
<td>the default preference for delegation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the default preference for delegation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDefaults"></a>xmlCatalogSetDefaults ()</h3>
<pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br>
</pre>
<p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>allow</tt></i>:</span></td>
<td>what catalogs should be accepted</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlConvertSGMLCatalog"></a>xmlConvertSGMLCatalog ()</h3>
<pre class="programlisting">int	xmlConvertSGMLCatalog		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Convert all the SGML catalog entries as XML ones</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries converted if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeCatalog"></a>xmlFreeCatalog ()</h3>
<pre class="programlisting">void	xmlFreeCatalog			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Free the memory allocated to a Catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeCatalog"></a>xmlInitializeCatalog ()</h3>
<pre class="programlisting">void	xmlInitializeCatalog		(void)<br>
</pre>
<p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadACatalog"></a>xmlLoadACatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadACatalog		(const char * filename)<br>
</pre>
<p>Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the catalog parsed or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadCatalog"></a>xmlLoadCatalog ()</h3>
<pre class="programlisting">int	xmlLoadCatalog			(const char * filename)<br>
</pre>
<p>Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadCatalogs"></a>xmlLoadCatalogs ()</h3>
<pre class="programlisting">void	xmlLoadCatalogs			(const char * pathss)<br>
</pre>
<p>Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>pathss</tt></i>:</span></td>
<td>a list of directories separated by a colon or a space.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadSGMLSuperCatalog"></a>xmlLoadSGMLSuperCatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadSGMLSuperCatalog	(const char * filename)<br>
</pre>
<p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the catalog parsed or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCatalog"></a>xmlNewCatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlNewCatalog		(int sgml)<br>
</pre>
<p>create a new Catalog.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sgml</tt></i>:</span></td>
<td>should this create an SGML catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCatalogFile"></a>xmlParseCatalogFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseCatalogFile	(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xpathInternals.html000064400000432167150505766270017006 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpathInternals: internal interfaces for XML Path Language implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpathInternals</span></h2>
<p>xpathInternals - internal interfaces for XML Path Language implementation</p>
<p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
#define <a href="#XP_ERROR">XP_ERROR</a>(X);
#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#valuePush">valuePush</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict);
void	<a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth);
void	<a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDifference">xmlXPathDifference</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinct">xmlXPathDistinct</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
void	<a href="#xmlXPathDivValues">xmlXPathDivValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathEqualValues">xmlXPathEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathErr">xmlXPathErr</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error);
void	<a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathIntersection">xmlXPathIntersection</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
int	<a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeading">xmlXPathLeading</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathModValues">xmlXPathModValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathMultValues">xmlXPathMultValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>	(int val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewCString">xmlXPathNewCString</a>	(const char * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewFloat">xmlXPathNewFloat</a>	(double val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	<a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewString">xmlXPathNewString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextChild">xmlXPathNextChild</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextParent">xmlXPathNextParent</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
int	<a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
int	<a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
int	<a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
void	<a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
void	<a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
void	<a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val);
void	<a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathNsLookup">xmlXPathNsLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
void	<a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseNCName">xmlXPathParseNCName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseName">xmlXPathParseName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void *	<a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
double	<a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathPopString">xmlXPathPopString</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt);
int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data);
int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRoot">xmlXPathRoot</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
double	<a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
void	<a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubValues">xmlXPathSubValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailing">xmlXPathTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapString">xmlXPathWrapString</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
void	<a href="#xmlXPatherror">xmlXPatherror</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3>
<pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3>
<pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3>
<pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3>
<pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
</pre>
<p>Macro to check that the number of args passed to an XPath function matches.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>the number of expected args</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3>
<pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
</pre>
<p>Macro to return from the function if an XPath error was detected.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3>
<pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
</pre>
<p>Macro to return 0 from the function if an XPath error was detected.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3>
<pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
</pre>
<p>Macro to check that the value on top of the XPath stack is of a given type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
<td>the XPath type</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3>
<pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
</pre>
<p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
<td>the XPath type</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XP_ERROR">Macro </a>XP_ERROR</h3>
<pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
</pre>
<p>Macro to raise an XPath error and return.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>X</tt></i>:</span></td>
<td>the error code</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XP_ERROR0">Macro </a>XP_ERROR0</h3>
<pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
</pre>
<p>Macro to raise an XPath error and return 0.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>X</tt></i>:</span></td>
<td>the error code</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3>
<pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
</pre>
<p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
</pre>
<p>Empties a node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
</pre>
<p>Get the context node of an XPath context. Returns the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
</pre>
<p>Get the document of an XPath context. Returns the context document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
</pre>
<p>Get the error code of an XPath context. Returns the context error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
</pre>
<p>Pushes the boolean @val on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
</pre>
<p>Pushes an empty node-set on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
</pre>
<p>Pushes an empty string on the stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
</pre>
<p>Pushes user data on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>user data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
</pre>
<p>Pushes false on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
</pre>
<p>Pushes the node-set @ns on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
</pre>
<p>Pushes the double @val on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
</pre>
<p>Pushes the string @str on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
</pre>
<p>Pushes true on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
</pre>
<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
</pre>
<p>Raises an error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
</pre>
<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3>
<pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
</pre>
<p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
</pre>
<p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="valuePop"></a>valuePop ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops the top XPath object from the value stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath evaluation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath object just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="valuePush"></a>valuePush ()</h3>
<pre class="programlisting">int	valuePush			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath evaluation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of items on the value stack, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3>
<pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3>
<pre class="programlisting">void	xmlXPathBooleanFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3>
<pre class="programlisting">void	xmlXPathCeilingFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3>
<pre class="programlisting">int	xmlXPathCompareValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict)<br>
</pre>
<p>Implement the compare operation on XPath objects: @arg1 &lt; @arg2 (1, 1, ... @arg1 &lt;= @arg2 (1, 0, ... @arg1 &gt; @arg2 (0, 1, ... @arg1 &gt;= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and only if the first number is less than the second number. The &lt;= comparison will be true if and only if the first number is less than or equal to the second number. The &gt; comparison will be true if and only if the first number is greater than the second number. The &gt;= comparison will be true if and only if the first number is greater than or equal to the second number.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inf</tt></i>:</span></td>
<td>less than (1) or greater than (0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>strict</tt></i>:</span></td>
<td>is the comparison strict</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the comparison succeeded, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3>
<pre class="programlisting">void	xmlXPathConcatFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3>
<pre class="programlisting">void	xmlXPathContainsFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3>
<pre class="programlisting">void	xmlXPathCountFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the count() XPath function number count(node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3>
<pre class="programlisting">void	xmlXPathDebugDumpCompExpr	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth)<br>
</pre>
<p>Dumps the tree of the compiled XPath expression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3>
<pre class="programlisting">void	xmlXPathDebugDumpObject		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth)<br>
</pre>
<p>Dump the content of the object for debugging purposes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * to dump the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the object to inspect</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>indentation level</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDifference	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the difference between the two node sets, or nodes1 if nodes2 is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinct	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
</pre>
<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinctSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
</pre>
<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3>
<pre class="programlisting">void	xmlXPathDivValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3>
<pre class="programlisting">int	xmlXPathEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the results of the test.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathErr"></a>xmlXPathErr ()</h3>
<pre class="programlisting">void	xmlXPathErr			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error)<br>
</pre>
<p>Handle an XPath error</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>error</tt></i>:</span></td>
<td>the error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3>
<pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3>
<pre class="programlisting">int	xmlXPathEvaluatePredicateResult	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
</pre>
<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>res</tt></i>:</span></td>
<td>the Predicate Expression evaluation result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if predicate is true, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3>
<pre class="programlisting">void	xmlXPathFalseFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the false() XPath function boolean false()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3>
<pre class="programlisting">void	xmlXPathFloorFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3>
<pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the Function array of the context for the given function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Search in the Function array of the context for the given function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the function namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3>
<pre class="programlisting">int	xmlXPathHasSameNodes		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3>
<pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of <a href="libxml2-SAX.html#characters">characters</a> matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathIntersection	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a node set comprising the nodes that are within both the node sets passed as arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3>
<pre class="programlisting">int	xmlXPathIsNodeType		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>a name string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3>
<pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3>
<pre class="programlisting">void	xmlXPathLastFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeading		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3>
<pre class="programlisting">void	xmlXPathLocalNameFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the local-name() XPath function string local-name(node-set?) The local-name function returns a string containing the local part of the name of the node in the argument node-set that is first in document order. If the node-set is empty or the first node has no name, an empty string is returned. If the argument is omitted it defaults to the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3>
<pre class="programlisting">void	xmlXPathModValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3>
<pre class="programlisting">void	xmlXPathMultValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3>
<pre class="programlisting">void	xmlXPathNamespaceURIFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri function returns a string containing the namespace URI of the expanded name of the node in the argument node-set that is first in document order. If the node-set is empty, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewBoolean	(int val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewCString	(const char * val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewFloat	(double val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSet	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the single Node @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSetList	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the Nodeset @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an existing NodeSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	xmlXPathNewParserContext	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewValueTree	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree (XSLT) and initialize it with the tree root @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestor	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "ancestor" direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent's parent is the second node on the axis</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestorOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAttribute	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "attribute" direction TODO: support DTD inherited default attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextChild	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "child" direction The child axis contains the children of the context node in document order.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendant	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendantOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "descendant-or-self" direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextNamespace	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextParent	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPrecedingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "self" direction The self axis contains just the context node itself</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeading	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAdd		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAddNs		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>add a new namespace node to an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the hosting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a the namespace node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAddUnique	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version when we are sure the node is not already in the set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetContains		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>checks whether @cur contains @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true (1) if @cur contains @val, false (0) otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetDel		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetFreeNs		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the XPath namespace node found in a nodeset.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetMerge	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br>
</pre>
<p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val1</tt></i>:</span></td>
<td>the first NodeSet or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>val2</tt></i>:</span></td>
<td>the second NodeSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>@val1 once extended or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetRemove		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val)<br>
</pre>
<p>Removes an entry from an existing NodeSet list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the index to remove</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetSort		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
</pre>
<p>Sort the node set in document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>set</tt></i>:</span></td>
<td>the node set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3>
<pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace <a href="libxml2-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml2-SAX.html#characters">characters</a> are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3>
<pre class="programlisting">int	xmlXPathNotEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the results of the test.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3>
<pre class="programlisting">void	xmlXPathNotFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathNsLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3>
<pre class="programlisting">void	xmlXPathNumberFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the number() XPath function number number(object?)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseNCName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParseName"></a>xmlXPathParseName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3>
<pre class="programlisting">int	xmlXPathPopBoolean		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3>
<pre class="programlisting">void *	xmlXPathPopExternal		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the object</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathPopNodeSet	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node-set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3>
<pre class="programlisting">double	xmlXPathPopNumber		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathPopString	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3>
<pre class="programlisting">void	xmlXPathPositionFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3>
<pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Registers all default XPath functions in this context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3>
<pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
</pre>
<p>Register a new function. If @f is NULL it unregisters the function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the function implementation or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3>
<pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt)<br>
</pre>
<p>Registers an external mechanism to do function lookup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the lookup function</td>
</tr>
<tr>
<td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td>
<td>the lookup data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3>
<pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
</pre>
<p>Register a new function. If @f is NULL it unregisters the function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the function namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the function implementation or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3>
<pre class="programlisting">int	xmlXPathRegisterNs		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix cannot be NULL or empty string</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3>
<pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the variable value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3>
<pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data)<br>
</pre>
<p>register an external mechanism to do variable lookup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the lookup function</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the lookup data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3>
<pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the variable namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the variable value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredFuncsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered functions</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredNsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered variables</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredVariablesCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered variables</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3>
<pre class="programlisting">void	xmlXPathRoot			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Initialize the context to the root of the document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3>
<pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is closest to positive infinity is returned.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3>
<pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3>
<pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>A string to scan</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the double value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3>
<pre class="programlisting">void	xmlXPathStringFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the string() XPath function string string(object?) The string function converts an object to a string as follows: - A node-set is converted to a string by returning the value of the node in the node-set that is first in document order. If the node-set is empty, an empty string is returned. - A number is converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity + negative infinity is converted to the string -Infinity + if the number is an integer, the number is represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign (-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a decimal point with at least one digit before the decimal point and at least one digit after the decimal point, preceded by a minus sign (-) if the number is negative; there must be no leading zeros before the decimal point apart possibly from the one required digit immediately before the decimal point; beyond the one required digit after the decimal point there must be as many, but only as many, more digits as are needed to uniquely distinguish the number from all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The boolean true value is converted to the string true. If the argument is omitted, it defaults to a node-set with the context node as its only member.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3>
<pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml2-SAX.html#characters">characters</a> in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3>
<pre class="programlisting">void	xmlXPathSubValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringAfterFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring-after() XPath function string substring-after(string, string) The substring-after function returns the substring of the first argument string that follows the first occurrence of the second argument string in the first argument string, or the empty stringi if the first argument string does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringBeforeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring-before() XPath function string substring-before(string, string) The substring-before function returns the substring of the first argument string that precedes the first occurrence of the second argument string in the first argument string, or the empty string if the first argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") returns 1999.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those <a href="libxml2-SAX.html#characters">characters</a> for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3>
<pre class="programlisting">void	xmlXPathSumFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3>
<pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml2-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3>
<pre class="programlisting">void	xmlXPathTrueFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the true() XPath function boolean true()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3>
<pre class="programlisting">void	xmlXPathValueFlipSign		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the Variable array of the context for the given variable value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Search in the Variable array of the context for the given variable value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the variable namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a copy of the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br>
</pre>
<p>Wraps a string into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapExternal	(void * val)<br>
</pre>
<p>Wraps the @val data into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the user data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
</pre>
<p>Wrap the Nodeset @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapString	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Wraps the @val string into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPatherror"></a>xmlXPatherror ()</h3>
<pre class="programlisting">void	xmlXPatherror			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no)<br>
</pre>
<p>Formats an error message.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the error number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlunicode.html000064400000317561150505766270016151 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlunicode: Unicode character APIs</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlunicode</span></h2>
<p>xmlunicode - Unicode character APIs</p>
<p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code);
int	<a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>	(int code);
int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code);
int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code);
int	<a href="#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a>	(int code);
int	<a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>		(int code);
int	<a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>			(int code);
int	<a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>		(int code);
int	<a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>			(int code);
int	<a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>			(int code, <br>					 const char * block);
int	<a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>		(int code);
int	<a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>		(int code);
int	<a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>	(int code);
int	<a href="#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>		(int code);
int	<a href="#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>		(int code);
int	<a href="#xmlUCSIsBuhid">xmlUCSIsBuhid</a>			(int code);
int	<a href="#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a>	(int code);
int	<a href="#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a>	(int code);
int	<a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a>	(int code);
int	<a href="#xmlUCSIsCat">xmlUCSIsCat</a>			(int code, <br>					 const char * cat);
int	<a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>			(int code);
int	<a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>			(int code);
int	<a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>			(int code);
int	<a href="#xmlUCSIsCatCo">xmlUCSIsCatCo</a>			(int code);
int	<a href="#xmlUCSIsCatCs">xmlUCSIsCatCs</a>			(int code);
int	<a href="#xmlUCSIsCatL">xmlUCSIsCatL</a>			(int code);
int	<a href="#xmlUCSIsCatLl">xmlUCSIsCatLl</a>			(int code);
int	<a href="#xmlUCSIsCatLm">xmlUCSIsCatLm</a>			(int code);
int	<a href="#xmlUCSIsCatLo">xmlUCSIsCatLo</a>			(int code);
int	<a href="#xmlUCSIsCatLt">xmlUCSIsCatLt</a>			(int code);
int	<a href="#xmlUCSIsCatLu">xmlUCSIsCatLu</a>			(int code);
int	<a href="#xmlUCSIsCatM">xmlUCSIsCatM</a>			(int code);
int	<a href="#xmlUCSIsCatMc">xmlUCSIsCatMc</a>			(int code);
int	<a href="#xmlUCSIsCatMe">xmlUCSIsCatMe</a>			(int code);
int	<a href="#xmlUCSIsCatMn">xmlUCSIsCatMn</a>			(int code);
int	<a href="#xmlUCSIsCatN">xmlUCSIsCatN</a>			(int code);
int	<a href="#xmlUCSIsCatNd">xmlUCSIsCatNd</a>			(int code);
int	<a href="#xmlUCSIsCatNl">xmlUCSIsCatNl</a>			(int code);
int	<a href="#xmlUCSIsCatNo">xmlUCSIsCatNo</a>			(int code);
int	<a href="#xmlUCSIsCatP">xmlUCSIsCatP</a>			(int code);
int	<a href="#xmlUCSIsCatPc">xmlUCSIsCatPc</a>			(int code);
int	<a href="#xmlUCSIsCatPd">xmlUCSIsCatPd</a>			(int code);
int	<a href="#xmlUCSIsCatPe">xmlUCSIsCatPe</a>			(int code);
int	<a href="#xmlUCSIsCatPf">xmlUCSIsCatPf</a>			(int code);
int	<a href="#xmlUCSIsCatPi">xmlUCSIsCatPi</a>			(int code);
int	<a href="#xmlUCSIsCatPo">xmlUCSIsCatPo</a>			(int code);
int	<a href="#xmlUCSIsCatPs">xmlUCSIsCatPs</a>			(int code);
int	<a href="#xmlUCSIsCatS">xmlUCSIsCatS</a>			(int code);
int	<a href="#xmlUCSIsCatSc">xmlUCSIsCatSc</a>			(int code);
int	<a href="#xmlUCSIsCatSk">xmlUCSIsCatSk</a>			(int code);
int	<a href="#xmlUCSIsCatSm">xmlUCSIsCatSm</a>			(int code);
int	<a href="#xmlUCSIsCatSo">xmlUCSIsCatSo</a>			(int code);
int	<a href="#xmlUCSIsCatZ">xmlUCSIsCatZ</a>			(int code);
int	<a href="#xmlUCSIsCatZl">xmlUCSIsCatZl</a>			(int code);
int	<a href="#xmlUCSIsCatZp">xmlUCSIsCatZp</a>			(int code);
int	<a href="#xmlUCSIsCatZs">xmlUCSIsCatZs</a>			(int code);
int	<a href="#xmlUCSIsCherokee">xmlUCSIsCherokee</a>		(int code);
int	<a href="#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>	(int code);
int	<a href="#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>	(int code);
int	<a href="#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>	(int code);
int	<a href="#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>	(int code);
int	<a href="#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>		(int code);
int	<a href="#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>		(int code);
int	<a href="#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>	(int code);
int	<a href="#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>		(int code);
int	<a href="#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>	(int code);
int	<a href="#xmlUCSIsDeseret">xmlUCSIsDeseret</a>			(int code);
int	<a href="#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>		(int code);
int	<a href="#xmlUCSIsDingbats">xmlUCSIsDingbats</a>		(int code);
int	<a href="#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a>	(int code);
int	<a href="#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a>	(int code);
int	<a href="#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a>		(int code);
int	<a href="#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a>	(int code);
int	<a href="#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a>		(int code);
int	<a href="#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a>		(int code);
int	<a href="#xmlUCSIsGothic">xmlUCSIsGothic</a>			(int code);
int	<a href="#xmlUCSIsGreek">xmlUCSIsGreek</a>			(int code);
int	<a href="#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>		(int code);
int	<a href="#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>		(int code);
int	<a href="#xmlUCSIsGujarati">xmlUCSIsGujarati</a>		(int code);
int	<a href="#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>		(int code);
int	<a href="#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>	(int code);
int	<a href="#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a>	(int code);
int	<a href="#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>		(int code);
int	<a href="#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>		(int code);
int	<a href="#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>			(int code);
int	<a href="#xmlUCSIsHebrew">xmlUCSIsHebrew</a>			(int code);
int	<a href="#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>	(int code);
int	<a href="#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a>		(int code);
int	<a href="#xmlUCSIsHiragana">xmlUCSIsHiragana</a>		(int code);
int	<a href="#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a>		(int code);
int	<a href="#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a>	(int code);
int	<a href="#xmlUCSIsKanbun">xmlUCSIsKanbun</a>			(int code);
int	<a href="#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>		(int code);
int	<a href="#xmlUCSIsKannada">xmlUCSIsKannada</a>			(int code);
int	<a href="#xmlUCSIsKatakana">xmlUCSIsKatakana</a>		(int code);
int	<a href="#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>	(int code);
int	<a href="#xmlUCSIsKhmer">xmlUCSIsKhmer</a>			(int code);
int	<a href="#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>		(int code);
int	<a href="#xmlUCSIsLao">xmlUCSIsLao</a>			(int code);
int	<a href="#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>	(int code);
int	<a href="#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>		(int code);
int	<a href="#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a>	(int code);
int	<a href="#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>		(int code);
int	<a href="#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>	(int code);
int	<a href="#xmlUCSIsLimbu">xmlUCSIsLimbu</a>			(int code);
int	<a href="#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>	(int code);
int	<a href="#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>	(int code);
int	<a href="#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>		(int code);
int	<a href="#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>		(int code);
int	<a href="#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>	(int code);
int	<a href="#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>	(int code);
int	<a href="#xmlUCSIsMongolian">xmlUCSIsMongolian</a>		(int code);
int	<a href="#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>		(int code);
int	<a href="#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a>			(int code);
int	<a href="#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a>		(int code);
int	<a href="#xmlUCSIsOgham">xmlUCSIsOgham</a>			(int code);
int	<a href="#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a>		(int code);
int	<a href="#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>	(int code);
int	<a href="#xmlUCSIsOriya">xmlUCSIsOriya</a>			(int code);
int	<a href="#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>			(int code);
int	<a href="#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>	(int code);
int	<a href="#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>		(int code);
int	<a href="#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>		(int code);
int	<a href="#xmlUCSIsRunic">xmlUCSIsRunic</a>			(int code);
int	<a href="#xmlUCSIsShavian">xmlUCSIsShavian</a>			(int code);
int	<a href="#xmlUCSIsSinhala">xmlUCSIsSinhala</a>			(int code);
int	<a href="#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>	(int code);
int	<a href="#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>	(int code);
int	<a href="#xmlUCSIsSpecials">xmlUCSIsSpecials</a>		(int code);
int	<a href="#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>	(int code);
int	<a href="#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>	(int code);
int	<a href="#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>	(int code);
int	<a href="#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>	(int code);
int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>	(int code);
int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>	(int code);
int	<a href="#xmlUCSIsSyriac">xmlUCSIsSyriac</a>			(int code);
int	<a href="#xmlUCSIsTagalog">xmlUCSIsTagalog</a>			(int code);
int	<a href="#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>		(int code);
int	<a href="#xmlUCSIsTags">xmlUCSIsTags</a>			(int code);
int	<a href="#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>			(int code);
int	<a href="#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>	(int code);
int	<a href="#xmlUCSIsTamil">xmlUCSIsTamil</a>			(int code);
int	<a href="#xmlUCSIsTelugu">xmlUCSIsTelugu</a>			(int code);
int	<a href="#xmlUCSIsThaana">xmlUCSIsThaana</a>			(int code);
int	<a href="#xmlUCSIsThai">xmlUCSIsThai</a>			(int code);
int	<a href="#xmlUCSIsTibetan">xmlUCSIsTibetan</a>			(int code);
int	<a href="#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>		(int code);
int	<a href="#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>	(int code);
int	<a href="#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>	(int code);
int	<a href="#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>	(int code);
int	<a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>		(int code);
int	<a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>		(int code);
int	<a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>	(int code);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsAegeanNumbers"></a>xmlUCSIsAegeanNumbers ()</h3>
<pre class="programlisting">int	xmlUCSIsAegeanNumbers		(int code)<br>
</pre>
<p>Check whether the character is part of AegeanNumbers UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3>
<pre class="programlisting">int	xmlUCSIsAlphabeticPresentationForms	(int code)<br>
</pre>
<p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3>
<pre class="programlisting">int	xmlUCSIsArabic			(int code)<br>
</pre>
<p>Check whether the character is part of Arabic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3>
<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsA	(int code)<br>
</pre>
<p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3>
<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsB	(int code)<br>
</pre>
<p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3>
<pre class="programlisting">int	xmlUCSIsArmenian		(int code)<br>
</pre>
<p>Check whether the character is part of Armenian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3>
<pre class="programlisting">int	xmlUCSIsArrows			(int code)<br>
</pre>
<p>Check whether the character is part of Arrows UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3>
<pre class="programlisting">int	xmlUCSIsBasicLatin		(int code)<br>
</pre>
<p>Check whether the character is part of BasicLatin UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3>
<pre class="programlisting">int	xmlUCSIsBengali			(int code)<br>
</pre>
<p>Check whether the character is part of Bengali UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3>
<pre class="programlisting">int	xmlUCSIsBlock			(int code, <br>					 const char * block)<br>
</pre>
<p>Check whether the character is part of the UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>block</tt></i>:</span></td>
<td>UCS block name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 on unknown block</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3>
<pre class="programlisting">int	xmlUCSIsBlockElements		(int code)<br>
</pre>
<p>Check whether the character is part of BlockElements UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3>
<pre class="programlisting">int	xmlUCSIsBopomofo		(int code)<br>
</pre>
<p>Check whether the character is part of Bopomofo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3>
<pre class="programlisting">int	xmlUCSIsBopomofoExtended	(int code)<br>
</pre>
<p>Check whether the character is part of BopomofoExtended UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3>
<pre class="programlisting">int	xmlUCSIsBoxDrawing		(int code)<br>
</pre>
<p>Check whether the character is part of BoxDrawing UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3>
<pre class="programlisting">int	xmlUCSIsBraillePatterns		(int code)<br>
</pre>
<p>Check whether the character is part of BraillePatterns UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBuhid"></a>xmlUCSIsBuhid ()</h3>
<pre class="programlisting">int	xmlUCSIsBuhid			(int code)<br>
</pre>
<p>Check whether the character is part of Buhid UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsByzantineMusicalSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibility	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibility UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityForms	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographs	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKRadicalsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKSymbolsandPunctuation	(int code)<br>
</pre>
<p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographs	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3>
<pre class="programlisting">int	xmlUCSIsCat			(int code, <br>					 const char * cat)<br>
</pre>
<p>Check whether the character is part of the UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>cat</tt></i>:</span></td>
<td>UCS Category name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 on unknown category</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3>
<pre class="programlisting">int	xmlUCSIsCatC			(int code)<br>
</pre>
<p>Check whether the character is part of C UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCc			(int code)<br>
</pre>
<p>Check whether the character is part of Cc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCf			(int code)<br>
</pre>
<p>Check whether the character is part of Cf UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCo			(int code)<br>
</pre>
<p>Check whether the character is part of Co UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCs			(int code)<br>
</pre>
<p>Check whether the character is part of Cs UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3>
<pre class="programlisting">int	xmlUCSIsCatL			(int code)<br>
</pre>
<p>Check whether the character is part of L UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLl			(int code)<br>
</pre>
<p>Check whether the character is part of Ll UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLm			(int code)<br>
</pre>
<p>Check whether the character is part of Lm UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLo			(int code)<br>
</pre>
<p>Check whether the character is part of Lo UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLt			(int code)<br>
</pre>
<p>Check whether the character is part of Lt UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLu			(int code)<br>
</pre>
<p>Check whether the character is part of Lu UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3>
<pre class="programlisting">int	xmlUCSIsCatM			(int code)<br>
</pre>
<p>Check whether the character is part of M UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMc			(int code)<br>
</pre>
<p>Check whether the character is part of Mc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMe			(int code)<br>
</pre>
<p>Check whether the character is part of Me UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMn			(int code)<br>
</pre>
<p>Check whether the character is part of Mn UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3>
<pre class="programlisting">int	xmlUCSIsCatN			(int code)<br>
</pre>
<p>Check whether the character is part of N UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNd			(int code)<br>
</pre>
<p>Check whether the character is part of Nd UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNl			(int code)<br>
</pre>
<p>Check whether the character is part of Nl UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNo			(int code)<br>
</pre>
<p>Check whether the character is part of No UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3>
<pre class="programlisting">int	xmlUCSIsCatP			(int code)<br>
</pre>
<p>Check whether the character is part of P UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPc			(int code)<br>
</pre>
<p>Check whether the character is part of Pc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPd			(int code)<br>
</pre>
<p>Check whether the character is part of Pd UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPe			(int code)<br>
</pre>
<p>Check whether the character is part of Pe UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPf			(int code)<br>
</pre>
<p>Check whether the character is part of Pf UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPi			(int code)<br>
</pre>
<p>Check whether the character is part of Pi UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPo			(int code)<br>
</pre>
<p>Check whether the character is part of Po UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPs			(int code)<br>
</pre>
<p>Check whether the character is part of Ps UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3>
<pre class="programlisting">int	xmlUCSIsCatS			(int code)<br>
</pre>
<p>Check whether the character is part of S UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSc			(int code)<br>
</pre>
<p>Check whether the character is part of Sc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSk			(int code)<br>
</pre>
<p>Check whether the character is part of Sk UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSm			(int code)<br>
</pre>
<p>Check whether the character is part of Sm UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSo			(int code)<br>
</pre>
<p>Check whether the character is part of So UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZ			(int code)<br>
</pre>
<p>Check whether the character is part of Z UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZl			(int code)<br>
</pre>
<p>Check whether the character is part of Zl UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZp			(int code)<br>
</pre>
<p>Check whether the character is part of Zp UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZs			(int code)<br>
</pre>
<p>Check whether the character is part of Zs UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3>
<pre class="programlisting">int	xmlUCSIsCherokee		(int code)<br>
</pre>
<p>Check whether the character is part of Cherokee UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarks	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningHalfMarks	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningMarksforSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3>
<pre class="programlisting">int	xmlUCSIsControlPictures		(int code)<br>
</pre>
<p>Check whether the character is part of ControlPictures UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCurrencySymbols		(int code)<br>
</pre>
<p>Check whether the character is part of CurrencySymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCypriotSyllabary"></a>xmlUCSIsCypriotSyllabary ()</h3>
<pre class="programlisting">int	xmlUCSIsCypriotSyllabary	(int code)<br>
</pre>
<p>Check whether the character is part of CypriotSyllabary UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3>
<pre class="programlisting">int	xmlUCSIsCyrillic		(int code)<br>
</pre>
<p>Check whether the character is part of Cyrillic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCyrillicSupplement"></a>xmlUCSIsCyrillicSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCyrillicSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CyrillicSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3>
<pre class="programlisting">int	xmlUCSIsDeseret			(int code)<br>
</pre>
<p>Check whether the character is part of Deseret UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3>
<pre class="programlisting">int	xmlUCSIsDevanagari		(int code)<br>
</pre>
<p>Check whether the character is part of Devanagari UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3>
<pre class="programlisting">int	xmlUCSIsDingbats		(int code)<br>
</pre>
<p>Check whether the character is part of Dingbats UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3>
<pre class="programlisting">int	xmlUCSIsEnclosedAlphanumerics	(int code)<br>
</pre>
<p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3>
<pre class="programlisting">int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)<br>
</pre>
<p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3>
<pre class="programlisting">int	xmlUCSIsEthiopic		(int code)<br>
</pre>
<p>Check whether the character is part of Ethiopic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3>
<pre class="programlisting">int	xmlUCSIsGeneralPunctuation	(int code)<br>
</pre>
<p>Check whether the character is part of GeneralPunctuation UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3>
<pre class="programlisting">int	xmlUCSIsGeometricShapes		(int code)<br>
</pre>
<p>Check whether the character is part of GeometricShapes UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3>
<pre class="programlisting">int	xmlUCSIsGeorgian		(int code)<br>
</pre>
<p>Check whether the character is part of Georgian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3>
<pre class="programlisting">int	xmlUCSIsGothic			(int code)<br>
</pre>
<p>Check whether the character is part of Gothic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3>
<pre class="programlisting">int	xmlUCSIsGreek			(int code)<br>
</pre>
<p>Check whether the character is part of Greek UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3>
<pre class="programlisting">int	xmlUCSIsGreekExtended		(int code)<br>
</pre>
<p>Check whether the character is part of GreekExtended UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreekandCoptic"></a>xmlUCSIsGreekandCoptic ()</h3>
<pre class="programlisting">int	xmlUCSIsGreekandCoptic		(int code)<br>
</pre>
<p>Check whether the character is part of GreekandCoptic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3>
<pre class="programlisting">int	xmlUCSIsGujarati		(int code)<br>
</pre>
<p>Check whether the character is part of Gujarati UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3>
<pre class="programlisting">int	xmlUCSIsGurmukhi		(int code)<br>
</pre>
<p>Check whether the character is part of Gurmukhi UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3>
<pre class="programlisting">int	xmlUCSIsHalfwidthandFullwidthForms	(int code)<br>
</pre>
<p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulCompatibilityJamo	(int code)<br>
</pre>
<p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulJamo		(int code)<br>
</pre>
<p>Check whether the character is part of HangulJamo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulSyllables		(int code)<br>
</pre>
<p>Check whether the character is part of HangulSyllables UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHanunoo"></a>xmlUCSIsHanunoo ()</h3>
<pre class="programlisting">int	xmlUCSIsHanunoo			(int code)<br>
</pre>
<p>Check whether the character is part of Hanunoo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3>
<pre class="programlisting">int	xmlUCSIsHebrew			(int code)<br>
</pre>
<p>Check whether the character is part of Hebrew UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsHighPrivateUseSurrogates	(int code)<br>
</pre>
<p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsHighSurrogates		(int code)<br>
</pre>
<p>Check whether the character is part of HighSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3>
<pre class="programlisting">int	xmlUCSIsHiragana		(int code)<br>
</pre>
<p>Check whether the character is part of Hiragana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsIPAExtensions		(int code)<br>
</pre>
<p>Check whether the character is part of IPAExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3>
<pre class="programlisting">int	xmlUCSIsIdeographicDescriptionCharacters	(int code)<br>
</pre>
<p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3>
<pre class="programlisting">int	xmlUCSIsKanbun			(int code)<br>
</pre>
<p>Check whether the character is part of Kanbun UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3>
<pre class="programlisting">int	xmlUCSIsKangxiRadicals		(int code)<br>
</pre>
<p>Check whether the character is part of KangxiRadicals UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3>
<pre class="programlisting">int	xmlUCSIsKannada			(int code)<br>
</pre>
<p>Check whether the character is part of Kannada UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3>
<pre class="programlisting">int	xmlUCSIsKatakana		(int code)<br>
</pre>
<p>Check whether the character is part of Katakana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKatakanaPhoneticExtensions"></a>xmlUCSIsKatakanaPhoneticExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsKatakanaPhoneticExtensions	(int code)<br>
</pre>
<p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3>
<pre class="programlisting">int	xmlUCSIsKhmer			(int code)<br>
</pre>
<p>Check whether the character is part of Khmer UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKhmerSymbols"></a>xmlUCSIsKhmerSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsKhmerSymbols		(int code)<br>
</pre>
<p>Check whether the character is part of KhmerSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3>
<pre class="programlisting">int	xmlUCSIsLao			(int code)<br>
</pre>
<p>Check whether the character is part of Lao UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3>
<pre class="programlisting">int	xmlUCSIsLatin1Supplement	(int code)<br>
</pre>
<p>Check whether the character is part of Latin-1Supplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedA		(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtended-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedAdditional	(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedB		(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtended-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsLetterlikeSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLimbu"></a>xmlUCSIsLimbu ()</h3>
<pre class="programlisting">int	xmlUCSIsLimbu			(int code)<br>
</pre>
<p>Check whether the character is part of Limbu UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLinearBIdeograms"></a>xmlUCSIsLinearBIdeograms ()</h3>
<pre class="programlisting">int	xmlUCSIsLinearBIdeograms	(int code)<br>
</pre>
<p>Check whether the character is part of LinearBIdeograms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLinearBSyllabary"></a>xmlUCSIsLinearBSyllabary ()</h3>
<pre class="programlisting">int	xmlUCSIsLinearBSyllabary	(int code)<br>
</pre>
<p>Check whether the character is part of LinearBSyllabary UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsLowSurrogates		(int code)<br>
</pre>
<p>Check whether the character is part of LowSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3>
<pre class="programlisting">int	xmlUCSIsMalayalam		(int code)<br>
</pre>
<p>Check whether the character is part of Malayalam UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3>
<pre class="programlisting">int	xmlUCSIsMathematicalOperators	(int code)<br>
</pre>
<p>Check whether the character is part of MathematicalOperators UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousSymbolsandArrows"></a>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousTechnical	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3>
<pre class="programlisting">int	xmlUCSIsMongolian		(int code)<br>
</pre>
<p>Check whether the character is part of Mongolian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMusicalSymbols		(int code)<br>
</pre>
<p>Check whether the character is part of MusicalSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3>
<pre class="programlisting">int	xmlUCSIsMyanmar			(int code)<br>
</pre>
<p>Check whether the character is part of Myanmar UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3>
<pre class="programlisting">int	xmlUCSIsNumberForms		(int code)<br>
</pre>
<p>Check whether the character is part of NumberForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3>
<pre class="programlisting">int	xmlUCSIsOgham			(int code)<br>
</pre>
<p>Check whether the character is part of Ogham UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3>
<pre class="programlisting">int	xmlUCSIsOldItalic		(int code)<br>
</pre>
<p>Check whether the character is part of OldItalic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3>
<pre class="programlisting">int	xmlUCSIsOpticalCharacterRecognition	(int code)<br>
</pre>
<p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3>
<pre class="programlisting">int	xmlUCSIsOriya			(int code)<br>
</pre>
<p>Check whether the character is part of Oriya UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOsmanya"></a>xmlUCSIsOsmanya ()</h3>
<pre class="programlisting">int	xmlUCSIsOsmanya			(int code)<br>
</pre>
<p>Check whether the character is part of Osmanya UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPhoneticExtensions"></a>xmlUCSIsPhoneticExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsPhoneticExtensions	(int code)<br>
</pre>
<p>Check whether the character is part of PhoneticExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3>
<pre class="programlisting">int	xmlUCSIsPrivateUse		(int code)<br>
</pre>
<p>Check whether the character is part of PrivateUse UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPrivateUseArea"></a>xmlUCSIsPrivateUseArea ()</h3>
<pre class="programlisting">int	xmlUCSIsPrivateUseArea		(int code)<br>
</pre>
<p>Check whether the character is part of PrivateUseArea UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3>
<pre class="programlisting">int	xmlUCSIsRunic			(int code)<br>
</pre>
<p>Check whether the character is part of Runic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsShavian"></a>xmlUCSIsShavian ()</h3>
<pre class="programlisting">int	xmlUCSIsShavian			(int code)<br>
</pre>
<p>Check whether the character is part of Shavian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3>
<pre class="programlisting">int	xmlUCSIsSinhala			(int code)<br>
</pre>
<p>Check whether the character is part of Sinhala UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3>
<pre class="programlisting">int	xmlUCSIsSmallFormVariants	(int code)<br>
</pre>
<p>Check whether the character is part of SmallFormVariants UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3>
<pre class="programlisting">int	xmlUCSIsSpacingModifierLetters	(int code)<br>
</pre>
<p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3>
<pre class="programlisting">int	xmlUCSIsSpecials		(int code)<br>
</pre>
<p>Check whether the character is part of Specials UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3>
<pre class="programlisting">int	xmlUCSIsSuperscriptsandSubscripts	(int code)<br>
</pre>
<p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalArrowsA"></a>xmlUCSIsSupplementalArrowsA ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalArrowsA	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalArrowsB"></a>xmlUCSIsSupplementalArrowsB ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalArrowsB	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalMathematicalOperators"></a>xmlUCSIsSupplementalMathematicalOperators ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalMathematicalOperators	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementaryPrivateUseAreaA"></a>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementaryPrivateUseAreaB"></a>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3>
<pre class="programlisting">int	xmlUCSIsSyriac			(int code)<br>
</pre>
<p>Check whether the character is part of Syriac UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTagalog"></a>xmlUCSIsTagalog ()</h3>
<pre class="programlisting">int	xmlUCSIsTagalog			(int code)<br>
</pre>
<p>Check whether the character is part of Tagalog UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTagbanwa"></a>xmlUCSIsTagbanwa ()</h3>
<pre class="programlisting">int	xmlUCSIsTagbanwa		(int code)<br>
</pre>
<p>Check whether the character is part of Tagbanwa UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3>
<pre class="programlisting">int	xmlUCSIsTags			(int code)<br>
</pre>
<p>Check whether the character is part of Tags UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTaiLe"></a>xmlUCSIsTaiLe ()</h3>
<pre class="programlisting">int	xmlUCSIsTaiLe			(int code)<br>
</pre>
<p>Check whether the character is part of TaiLe UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTaiXuanJingSymbols"></a>xmlUCSIsTaiXuanJingSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsTaiXuanJingSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3>
<pre class="programlisting">int	xmlUCSIsTamil			(int code)<br>
</pre>
<p>Check whether the character is part of Tamil UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3>
<pre class="programlisting">int	xmlUCSIsTelugu			(int code)<br>
</pre>
<p>Check whether the character is part of Telugu UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3>
<pre class="programlisting">int	xmlUCSIsThaana			(int code)<br>
</pre>
<p>Check whether the character is part of Thaana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3>
<pre class="programlisting">int	xmlUCSIsThai			(int code)<br>
</pre>
<p>Check whether the character is part of Thai UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3>
<pre class="programlisting">int	xmlUCSIsTibetan			(int code)<br>
</pre>
<p>Check whether the character is part of Tibetan UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsUgaritic"></a>xmlUCSIsUgaritic ()</h3>
<pre class="programlisting">int	xmlUCSIsUgaritic		(int code)<br>
</pre>
<p>Check whether the character is part of Ugaritic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3>
<pre class="programlisting">int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)<br>
</pre>
<p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsVariationSelectors"></a>xmlUCSIsVariationSelectors ()</h3>
<pre class="programlisting">int	xmlUCSIsVariationSelectors	(int code)<br>
</pre>
<p>Check whether the character is part of VariationSelectors UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsVariationSelectorsSupplement"></a>xmlUCSIsVariationSelectorsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsVariationSelectorsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3>
<pre class="programlisting">int	xmlUCSIsYiRadicals		(int code)<br>
</pre>
<p>Check whether the character is part of YiRadicals UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3>
<pre class="programlisting">int	xmlUCSIsYiSyllables		(int code)<br>
</pre>
<p>Check whether the character is part of YiSyllables UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYijingHexagramSymbols"></a>xmlUCSIsYijingHexagramSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsYijingHexagramSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-valid.html000064400000300151150505766270015064 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>valid: The DTD validation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">valid</span></h2>
<p>valid - The DTD validation</p>
<p>API for the DTD handling and the validity checking </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
typedef struct _xmlHashTable <a href="#xmlAttributeTable">xmlAttributeTable</a>;
typedef <a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a href="#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlElementTable">xmlElementTable</a>;
typedef <a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * <a href="#xmlElementTablePtr">xmlElementTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlIDTable">xmlIDTable</a>;
typedef <a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * <a href="#xmlIDTablePtr">xmlIDTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlNotationTable">xmlNotationTable</a>;
typedef <a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * <a href="#xmlNotationTablePtr">xmlNotationTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlRefTable">xmlRefTable</a>;
typedef <a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * <a href="#xmlRefTablePtr">xmlRefTablePtr</a>;
typedef struct _xmlValidCtxt <a href="#xmlValidCtxt">xmlValidCtxt</a>;
typedef <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * <a href="#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
typedef struct _xmlValidState <a href="#xmlValidState">xmlValidState</a>;
typedef <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * <a href="#xmlValidStatePtr">xmlValidStatePtr</a>;
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlAddElementDecl">xmlAddElementDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	<a href="#xmlAddID">xmlAddID</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlAddNotationDecl">xmlAddNotationDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	<a href="#xmlAddRef">xmlAddRef</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	<a href="#xmlCopyAttributeTable">xmlCopyAttributeTable</a>	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyElementContent">xmlCopyElementContent</a>	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	<a href="#xmlCopyElementTable">xmlCopyElementTable</a>	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCopyEnumeration">xmlCopyEnumeration</a>	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	<a href="#xmlCopyNotationTable">xmlCopyNotationTable</a>	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCreateEnumeration">xmlCreateEnumeration</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
void	<a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
void	<a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
void	<a href="#xmlDumpElementTable">xmlDumpElementTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
void	<a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
void	<a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
void	<a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
void	<a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
void	<a href="#xmlFreeElementContent">xmlFreeElementContent</a>		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
void	<a href="#xmlFreeElementTable">xmlFreeElementTable</a>		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
void	<a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
void	<a href="#xmlFreeIDTable">xmlFreeIDTable</a>			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
void	<a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
void	<a href="#xmlFreeRefTable">xmlFreeRefTable</a>			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
void	<a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur);
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlGetID">xmlGetID</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlGetRefs">xmlGetRefs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
int	<a href="#xmlIsID">xmlIsID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
int	<a href="#xmlIsMixedElement">xmlIsMixedElement</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlIsRef">xmlIsRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewDocElementContent">xmlNewDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewElementContent">xmlNewElementContent</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	<a href="#xmlNewValidCtxt">xmlNewValidCtxt</a>		(void);
int	<a href="#xmlRemoveID">xmlRemoveID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
int	<a href="#xmlRemoveRef">xmlRemoveRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
void	<a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
void	<a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
int	<a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max);
int	<a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateElement">xmlValidateElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlValidateElementDecl">xmlValidateElementDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
int	<a href="#xmlValidateNameValue">xmlValidateNameValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
int	<a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
int	<a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateOneElement">xmlValidateOneElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidatePopElement">xmlValidatePopElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
int	<a href="#xmlValidatePushCData">xmlValidatePushCData</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
int	<a href="#xmlValidatePushElement">xmlValidatePushElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
int	<a href="#xmlValidateRoot">xmlValidateRoot</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_VCTXT_DTD_VALIDATED">Macro </a>XML_VCTXT_DTD_VALIDATED</h3>
<pre class="programlisting">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
</pre>
<p>Set after <a href="libxml2-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> was called.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_VCTXT_USE_PCTXT">Macro </a>XML_VCTXT_USE_PCTXT</h3>
<pre class="programlisting">#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
</pre>
<p>Set if the validation context is part of a parser context.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeTable">Structure </a>xmlAttributeTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlAttributeTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeTablePtr">Typedef </a>xmlAttributeTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * xmlAttributeTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTable">Structure </a>xmlElementTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlElementTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTablePtr">Typedef </a>xmlElementTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * xmlElementTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDTable">Structure </a>xmlIDTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlIDTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationTable">Structure </a>xmlNotationTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlNotationTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationTablePtr">Typedef </a>xmlNotationTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * xmlNotationTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefTable">Structure </a>xmlRefTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlRefTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3>
<pre class="programlisting">struct _xmlValidCtxt {
    void *	userData	: user specific data block
    <a href="libxml2-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error	: the callback in case of errors
    <a href="libxml2-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning	: the callback in case of warning Node analysis stack used when validat
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
    unsigned int	flags	: internal flags
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
    int	valid	: temporary validity check result state state used for non-determinist
    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
    int	vstateNr	: Depth of the validation stack
    int	vstateMax	: Max depth of the validation stack
    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstateTab	: array of validation states
    <a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	am	: the automata
    <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	state	: used to build the automata
    void *	am
    void *	state
} xmlValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidState">Structure </a>xmlValidState</h3>
<pre class="programlisting">struct _xmlValidState {
The content of this structure is not made public by the API.
} xmlValidState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidityErrorFunc"></a>Function type xmlValidityErrorFunc</h3>
<pre class="programlisting">void	xmlValidityErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the string to format *printf like vararg</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>remaining arguments to the format</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidityWarningFunc"></a>Function type xmlValidityWarningFunc</h3>
<pre class="programlisting">void	xmlValidityWarningFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the string to format *printf like vararg</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>remaining arguments to the format</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>Register a new <a href="libxml2-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default type</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>if it's an enumeration, the associated list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not new, otherwise the <a href="libxml2-SAX.html#attribute">attribute</a> decl</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>Register a new element declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element content tree or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddID"></a>xmlAddID ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	xmlAddID		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Register a new id declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value name</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Register a new notation declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>PublicID</tt></i>:</span></td>
<td>the public identifier or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system identifier or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddRef"></a>xmlAddRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	xmlAddRef		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Register a new ref declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value name</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the Ref</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>Build a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDocElementContent"></a>xmlCopyDocElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Build a copy of an element content description.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the element declaration</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>An element content pointer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>An element content pointer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>Build a copy of an element table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
</pre>
<p>Copy an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the tree to copy.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>Build a copy of a notation table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>A notation table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>create and initialize an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the enumeration name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3>
<pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
</pre>
<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> declaration</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3>
<pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3>
<pre class="programlisting">void	xmlDumpElementDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>This will dump the content of the element declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>An element table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3>
<pre class="programlisting">void	xmlDumpElementTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the element table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3>
<pre class="programlisting">void	xmlDumpNotationDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
</pre>
<p>This will dump the content the notation declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>nota</tt></i>:</span></td>
<td>A notation declaration</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3>
<pre class="programlisting">void	xmlDumpNotationTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the notation table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>A notation table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3>
<pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDocElementContent"></a>xmlFreeDocElementContent ()</h3>
<pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Free an element content structure. The whole subtree is removed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the element declaration</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the element content tree to free</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3>
<pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the element content tree to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3>
<pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an element hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3>
<pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
</pre>
<p>free an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the tree to free.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3>
<pre class="programlisting">void	xmlFreeIDTable			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an ID hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An id table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3>
<pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An notation table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3>
<pre class="programlisting">void	xmlFreeRefTable			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Deallocate the memory used by an Ref hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An ref table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlFreeValidCtxt		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br>
</pre>
<p>Free a validation context structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the validation context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlGetDtdNotationDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this notation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the notation name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search the DTD for the description of this qualified <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdQElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search the DTD for the description of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetID"></a>xmlGetID ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
</pre>
<p>Search the <a href="libxml2-SAX.html#attribute">attribute</a> declaring the given ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the ID value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise the <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetRefs"></a>xmlGetRefs ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlGetRefs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Find the set of references for the supplied ID.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the ID value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise node set for the ID.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsID"></a>xmlIsID ()</h3>
<pre class="programlisting">int	xmlIsID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the lookup result</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3>
<pre class="programlisting">int	xmlIsMixedElement		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no, 1 if yes, and -1 if no element description is available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsRef"></a>xmlIsRef ()</h3>
<pre class="programlisting">int	xmlIsRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the lookup result</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocElementContent"></a>xmlNewDocElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
</pre>
<p>Allocate an element content structure for the document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the subelement name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of element content decl</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new element content structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
</pre>
<p>Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the subelement name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of element content decl</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new element content structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlNewValidCtxt		(void)<br>
</pre>
<p>Allocate a validation context structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new validation context structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveID"></a>xmlRemoveID ()</h3>
<pre class="programlisting">int	xmlRemoveID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if the lookup failed and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3>
<pre class="programlisting">int	xmlRemoveRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if the lookup failed and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3>
<pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
</pre>
<p>This will dump the content of the element content definition Intended just for the debug routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the buffer size</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>englob</tt></i>:</span></td>
<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3>
<pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
</pre>
<p>Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>englob</tt></i>:</span></td>
<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3>
<pre class="programlisting">int	xmlValidBuildContentModel	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>(Re)Build the automata associated to the content model of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element declaration node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, 0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the parent</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3>
<pre class="programlisting">int	xmlValidGetPotentialChildren	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max)<br>
</pre>
<p>Build/extend a list of potential children allowed by the content tree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctree</tt></i>:</span></td>
<td>an element content tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>names</tt></i>:</span></td>
<td>an array to store the list of child names</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>a pointer to the number of element in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of element in the list, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3>
<pre class="programlisting">int	xmlValidGetValidElements	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max)<br>
</pre>
<p>This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prev</tt></i>:</span></td>
<td>an element to insert after</td>
</tr>
<tr>
<td><span class="term"><i><tt>next</tt></i>:</span></td>
<td>an element to insert next</td>
</tr>
<tr>
<td><span class="term"><i><tt>names</tt></i>:</span></td>
<td>an array to store the list of child names</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the parent</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3>
<pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
</pre>
<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3>
<pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given <a href="libxml2-SAX.html#attribute">attribute</a> value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3>
<pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3>
<pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDtd"></a>xmlValidateDtd ()</h3>
<pre class="programlisting">int	xmlValidateDtd			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a dtd instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3>
<pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 if invalid and -1 if not well-formed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateElement"></a>xmlValidateElement ()</h3>
<pre class="programlisting">int	xmlValidateElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Try to validate the subtree under an element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3>
<pre class="programlisting">int	xmlValidateElementDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3>
<pre class="programlisting">int	xmlValidateNameValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Name production</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Name value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3>
<pre class="programlisting">int	xmlValidateNamesValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Names production</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Names value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3>
<pre class="programlisting">int	xmlValidateNmtokenValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Nmtoken value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3>
<pre class="programlisting">int	xmlValidateNmtokensValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Nmtokens value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3>
<pre class="programlisting">int	xmlValidateNotationDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
</pre>
<p>Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>nota</tt></i>:</span></td>
<td>a notation definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3>
<pre class="programlisting">int	xmlValidateNotationUse		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the notation name to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3>
<pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3>
<pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each <a href="libxml2-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3>
<pre class="programlisting">int	xmlValidateOneNamespace		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>an namespace declaration instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3>
<pre class="programlisting">int	xmlValidatePopElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
</pre>
<p>Pop the element end from the validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>qname</tt></i>:</span></td>
<td>the qualified name as appearing in the serialization</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3>
<pre class="programlisting">int	xmlValidatePushCData		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
</pre>
<p>check the CData parsed for validation in the current stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>some character data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3>
<pre class="programlisting">int	xmlValidatePushElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
</pre>
<p>Push a new element start on the validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>qname</tt></i>:</span></td>
<td>the qualified name as appearing in the serialization</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3>
<pre class="programlisting">int	xmlValidateRoot			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/up.png000064400000000626150505766300012660 0ustar00�PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�2.�E��#IDATx��=J�@F�o�]
!+��2��[Z�<@/�<����X�
ڭ�2�0v����…�j0�l�vV��A`���	�t*i��Hҭ~x�R~'IUU�9�#O��my�eJ�TeY�Gv�@x�O#�;2E>9��|t$D�9nnB���j��BRIsI��:H�8�U�����P��N�1fc�sN�95M㧖ɵ��束��1~�pE�e$�I����	�7nrD�f!;�`����'�yk��I���䲤sI_]��y�����^^I>O>�������?YBIEND�B`�share/gtk-doc/html/libxml2/left.png000064400000000713150505766300013163 0ustar00�PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�1&��[(XIDATx���!O�PE��*���ID%~ꊯ���"p�'�ŏ�`sܖ��rKf����� h�mi��I�z}�ܯI���.p�\�`x��l�?l�[�,H����k<�#�c�%\�AUx[�S�7�n6����r���zE���s���1�������j@��NL$ݤi�0�5/�}��\E���KIo�͓$a0�j�d�F�b�kI�����Ah>�W�lC'?�tk;|/�t*I��N���Z�^`�y�4��N�r]׮ �J���<�����ڐt����`�X��1@p�䀸d���Z')h���K�	�$V?%�]��+�L�sgU�K�"�w5�3O����IEND�B`�share/gtk-doc/html/libxml2/libxml2-xpointer.html000064400000061171150505766300015635 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpointer: API to handle XML Pointers</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpointer</span></h2>
<p>xpointer - API to handle XML Pointers</p>
<p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
typedef <a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a href="#xmlLocationSetPtr">xmlLocationSetPtr</a>;
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
void	<a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start);
<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlLocationSet">Structure </a>xmlLocationSet</h3>
<pre class="programlisting">struct _xmlLocationSet {
    int	locNr	: number of locations in the set
    int	locMax	: size of the array as allocated
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	locTab	: array of locations
} xmlLocationSet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the XPointer result from the evaluation.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPointer expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPointer context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3>
<pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPointer Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3>
<pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br>
</pre>
<p>Free the LocationSet compound (not the actual ranges !).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an initial xmlXPathObjectPtr, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br>
</pre>
<p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val1</tt></i>:</span></td>
<td>the first LocationSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>val2</tt></i>:</span></td>
<td>the second LocationSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>val1 once extended or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val)<br>
</pre>
<p>Removes an entry from an existing LocationSet list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the index to remove</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting and ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br>
</pre>
<p>Create a new XPointer context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>here</tt></i>:</span></td>
<td>the node that directly contains the XPointer being evaluated or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>origin</tt></i>:</span></td>
<td>the element from which a user or program initiated traversal of the link, or NULL.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>set</tt></i>:</span></td>
<td>a node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the start NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the end NodePtr value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>startindex</tt></i>:</span></td>
<td>the start index</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>endindex</tt></i>:</span></td>
<td>the ending index</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting point</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting point</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3>
<pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPointer Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of args</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br>
</pre>
<p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the LocationSet value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-tree.html000064400000713600150505766310014726 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tree: interfaces for tree manipulation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">tree</span></h2>
<p>tree - interfaces for tree manipulation</p>
<p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
#define <a href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
#define <a href="#XML_XML_ID">XML_XML_ID</a>;
#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
#define <a href="#xmlRootNode">xmlRootNode</a>;
typedef struct _xmlAttr <a href="#xmlAttr">xmlAttr</a>;
typedef <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * <a href="#xmlAttrPtr">xmlAttrPtr</a>;
typedef struct _xmlAttribute <a href="#xmlAttribute">xmlAttribute</a>;
typedef enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>;
typedef <a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * <a href="#xmlAttributePtr">xmlAttributePtr</a>;
typedef enum <a href="#xmlAttributeType">xmlAttributeType</a>;
typedef struct _xmlBuf <a href="#xmlBuf">xmlBuf</a>;
typedef <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * <a href="#xmlBufPtr">xmlBufPtr</a>;
typedef struct _xmlBuffer <a href="#xmlBuffer">xmlBuffer</a>;
typedef enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>;
typedef <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * <a href="#xmlBufferPtr">xmlBufferPtr</a>;
typedef struct _xmlDOMWrapCtxt <a href="#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a>;
typedef <a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * <a href="#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>;
typedef struct _xmlDoc <a href="#xmlDoc">xmlDoc</a>;
typedef enum <a href="#xmlDocProperties">xmlDocProperties</a>;
typedef <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * <a href="#xmlDocPtr">xmlDocPtr</a>;
typedef struct _xmlDtd <a href="#xmlDtd">xmlDtd</a>;
typedef <a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * <a href="#xmlDtdPtr">xmlDtdPtr</a>;
typedef struct _xmlElement <a href="#xmlElement">xmlElement</a>;
typedef struct _xmlElementContent <a href="#xmlElementContent">xmlElementContent</a>;
typedef enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a>;
typedef <a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * <a href="#xmlElementContentPtr">xmlElementContentPtr</a>;
typedef enum <a href="#xmlElementContentType">xmlElementContentType</a>;
typedef <a href="libxml2-tree.html#xmlElement">xmlElement</a> * <a href="#xmlElementPtr">xmlElementPtr</a>;
typedef enum <a href="#xmlElementType">xmlElementType</a>;
typedef enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a>;
typedef struct _xmlEntity <a href="#xmlEntity">xmlEntity</a>;
typedef <a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * <a href="#xmlEntityPtr">xmlEntityPtr</a>;
typedef struct _xmlEnumeration <a href="#xmlEnumeration">xmlEnumeration</a>;
typedef <a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * <a href="#xmlEnumerationPtr">xmlEnumerationPtr</a>;
typedef struct _xmlID <a href="#xmlID">xmlID</a>;
typedef <a href="libxml2-tree.html#xmlID">xmlID</a> * <a href="#xmlIDPtr">xmlIDPtr</a>;
typedef struct _xmlNode <a href="#xmlNode">xmlNode</a>;
typedef <a href="libxml2-tree.html#xmlNode">xmlNode</a> * <a href="#xmlNodePtr">xmlNodePtr</a>;
typedef struct _xmlNotation <a href="#xmlNotation">xmlNotation</a>;
typedef <a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * <a href="#xmlNotationPtr">xmlNotationPtr</a>;
typedef struct _xmlNs <a href="#xmlNs">xmlNs</a>;
typedef <a href="libxml2-tree.html#xmlNs">xmlNs</a> * <a href="#xmlNsPtr">xmlNsPtr</a>;
typedef <a href="libxml2-tree.html#xmlElementType">xmlElementType</a> <a href="#xmlNsType">xmlNsType</a>;
typedef struct _xmlOutputBuffer <a href="#xmlOutputBuffer">xmlOutputBuffer</a>;
typedef <a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * <a href="#xmlOutputBufferPtr">xmlOutputBufferPtr</a>;
typedef struct _xmlParserCtxt <a href="#xmlParserCtxt">xmlParserCtxt</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * <a href="#xmlParserCtxtPtr">xmlParserCtxtPtr</a>;
typedef struct _xmlParserInput <a href="#xmlParserInput">xmlParserInput</a>;
typedef struct _xmlParserInputBuffer <a href="#xmlParserInputBuffer">xmlParserInputBuffer</a>;
typedef <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * <a href="#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>;
typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * <a href="#xmlParserInputPtr">xmlParserInputPtr</a>;
typedef struct _xmlRef <a href="#xmlRef">xmlRef</a>;
typedef <a href="libxml2-tree.html#xmlRef">xmlRef</a> * <a href="#xmlRefPtr">xmlRefPtr</a>;
typedef struct _xmlSAXHandler <a href="#xmlSAXHandler">xmlSAXHandler</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * <a href="#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>;
typedef struct _xmlSAXLocator <a href="#xmlSAXLocator">xmlSAXLocator</a>;
typedef <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a href="#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChild">xmlAddChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChildList">xmlAddChildList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddNextSibling">xmlAddNextSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufContent">xmlBufContent</a>		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufEnd">xmlBufEnd</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
int	<a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
size_t	<a href="#xmlBufNodeDump">xmlBufNodeDump</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
size_t	<a href="#xmlBufShrink">xmlBufShrink</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len);
size_t	<a href="#xmlBufUse">xmlBufUse</a>			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str);
int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferContent">xmlBufferContent</a>	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>	(void * mem, <br>					 size_t size);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferDetach">xmlBufferDetach</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
int	<a href="#xmlBufferDump">xmlBufferDump</a>			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void	<a href="#xmlBufferEmpty">xmlBufferEmpty</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void	<a href="#xmlBufferFree">xmlBufferFree</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
int	<a href="#xmlBufferGrow">xmlBufferGrow</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
int	<a href="#xmlBufferLength">xmlBufferLength</a>			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
int	<a href="#xmlBufferResize">xmlBufferResize</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size);
void	<a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
int	<a href="#xmlBufferShrink">xmlBufferShrink</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
void	<a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
void	<a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string);
void	<a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildQName">xmlBuildQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len);
unsigned long	<a href="#xmlChildElementCount">xmlChildElementCount</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCopyDoc">xmlCopyDoc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCopyDtd">xmlCopyDtd</a>		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespace">xmlCopyNamespace</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNode">xmlCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNodeList">xmlCopyNodeList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyProp">xmlCopyProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
int	<a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options);
int	<a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options);
void	<a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	<a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>	(void);
int	<a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options);
int	<a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format);
void	<a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
void	<a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding);
int	<a href="#xmlDocFormatDump">xmlDocFormatDump</a>		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocGetRootElement">xmlDocGetRootElement</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocSetRootElement">xmlDocSetRootElement</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
void	<a href="#xmlElemDump">xmlElemDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlFirstElementChild">xmlFirstElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
void	<a href="#xmlFreeDoc">xmlFreeDoc</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#xmlFreeDtd">xmlFreeDtd</a>			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
void	<a href="#xmlFreeNode">xmlFreeNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#xmlFreeNodeList">xmlFreeNodeList</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#xmlFreeNs">xmlFreeNs</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
void	<a href="#xmlFreeNsList">xmlFreeNsList</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
void	<a href="#xmlFreeProp">xmlFreeProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
void	<a href="#xmlFreePropList">xmlFreePropList</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>	(void);
int	<a href="#xmlGetCompressMode">xmlGetCompressMode</a>		(void);
int	<a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlGetIntSubset">xmlGetIntSubset</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlGetLastChild">xmlGetLastChild</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent);
long	<a href="#xmlGetLineNo">xmlGetLineNo</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNodePath">xmlGetNodePath</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	<a href="#xmlGetNsList">xmlGetNsList</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNsProp">xmlGetNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetProp">xmlGetProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasNsProp">xmlHasNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasProp">xmlHasProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlIsBlankNode">xmlIsBlankNode</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
int	<a href="#xmlIsXHTML">xmlIsXHTML</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlLastElementChild">xmlLastElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCDataBlock">xmlNewCDataBlock</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCharRef">xmlNewCharRef</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewChild">xmlNewChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewComment">xmlNewComment</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlNewDoc">xmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocComment">xmlNewDocComment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsProp">xmlNewNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewPI">xmlNewPI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewProp">xmlNewProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewReference">xmlNewReference</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewText">xmlNewText</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextChild">xmlNewTextChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextLen">xmlNewTextLen</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNextElementSibling">xmlNextElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlNodeAddContent">xmlNodeAddContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
int	<a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeDump">xmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
void	<a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetBase">xmlNodeGetBase</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetContent">xmlNodeGetContent</a>	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetLang">xmlNodeGetLang</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeIsText">xmlNodeIsText</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetString">xmlNodeListGetString</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
void	<a href="#xmlNodeSetBase">xmlNodeSetBase</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
void	<a href="#xmlNodeSetContent">xmlNodeSetContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
void	<a href="#xmlNodeSetLang">xmlNodeSetLang</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
void	<a href="#xmlNodeSetName">xmlNodeSetName</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlReconciliateNs">xmlReconciliateNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
int	<a href="#xmlRemoveProp">xmlRemoveProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlReplaceNode">xmlReplaceNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#xmlSaveFile">xmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
int	<a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#xmlSaveFileTo">xmlSaveFileTo</a>			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
int	<a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
int	<a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNs">xmlSearchNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
void	<a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
void	<a href="#xmlSetCompressMode">xmlSetCompressMode</a>		(int mode);
void	<a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode);
void	<a href="#xmlSetListDoc">xmlSetListDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlSetNs">xmlSetNs</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetNsProp">xmlSetNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetProp">xmlSetProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName2">xmlSplitQName2</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName3">xmlSplitQName3</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringGetNodeList">xmlStringGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlUnsetProp">xmlUnsetProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlValidateNCName">xmlValidateNCName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateNMToken">xmlValidateNMToken</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateName">xmlValidateName</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateQName">xmlValidateQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="BASE_BUFFER_SIZE">Macro </a>BASE_BUFFER_SIZE</h3>
<pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
</pre>
<p>default buffer size 4000.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML2_NEW_BUFFER">Macro </a>LIBXML2_NEW_BUFFER</h3>
<pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
</pre>
<p>Macro used to express that the API use the new buffers for <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was introduced in 2.9.0.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DOCB_DOCUMENT_NODE">Macro </a>XML_DOCB_DOCUMENT_NODE</h3>
<pre class="programlisting">#define <a href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3>
<pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
</pre>
<p>Macro to extract the content pointer of a node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3>
<pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
</pre>
<p>Macro to extract the line number of an element node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_LOCAL_NAMESPACE">Macro </a>XML_LOCAL_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
</pre>
<p>A namespace declaration node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XML_ID">Macro </a>XML_XML_ID</h3>
<pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a>;
</pre>
<p>This is the name for the special xml:id <a href="libxml2-SAX.html#attribute">attribute</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
</pre>
<p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChildrenNode">Macro </a>xmlChildrenNode</h3>
<pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
</pre>
<p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRootNode">Macro </a>xmlRootNode</h3>
<pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a>;
</pre>
<p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttr">Structure </a>xmlAttr</h3>
<pre class="programlisting">struct _xmlAttr {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_NODE, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the property
    struct _xmlNode *	children	: the value of the property
    struct _xmlNode *	last	: NULL
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlAttr *	next	: next sibling link
    struct _xmlAttr *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: the <a href="libxml2-SAX.html#attribute">attribute</a> type if validating
    void *	psvi	: for type/PSVI information
} xmlAttr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttribute">Structure </a>xmlAttribute</h3>
<pre class="programlisting">struct _xmlAttribute {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Attribute name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    struct _xmlAttribute *	nexth	: next in hash table
    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: The <a href="libxml2-SAX.html#attribute">attribute</a> type
    <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>	def	: the default
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defaultValue	: or the default value
    <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	tree	: or the enumeration tree if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	elem	: Element holding the <a href="libxml2-SAX.html#attribute">attribute</a>
} xmlAttribute;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeDefault">Enum </a>xmlAttributeDefault</h3>
<pre class="programlisting">enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> {
    <a name="XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a> = 1
    <a name="XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a> = 2
    <a name="XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> = 3
    <a name="XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeType">Enum </a>xmlAttributeType</h3>
<pre class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
    <a name="XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a> = 1
    <a name="XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a> = 2
    <a name="XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a> = 3
    <a name="XML_ATTRIBUTE_IDREFS">XML_ATTRIBUTE_IDREFS</a> = 4
    <a name="XML_ATTRIBUTE_ENTITY">XML_ATTRIBUTE_ENTITY</a> = 5
    <a name="XML_ATTRIBUTE_ENTITIES">XML_ATTRIBUTE_ENTITIES</a> = 6
    <a name="XML_ATTRIBUTE_NMTOKEN">XML_ATTRIBUTE_NMTOKEN</a> = 7
    <a name="XML_ATTRIBUTE_NMTOKENS">XML_ATTRIBUTE_NMTOKENS</a> = 8
    <a name="XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> = 9
    <a name="XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a> = 10
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuf">Structure </a>xmlBuf</h3>
<pre class="programlisting">struct _xmlBuf {
The content of this structure is not made public by the API.
} xmlBuf;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
</pre>
<p>A pointer to a buffer structure, the actual structure internals are not public</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuffer">Structure </a>xmlBuffer</h3>
<pre class="programlisting">struct _xmlBuffer {
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: The buffer content UTF8
    unsigned int	use	: The buffer size used
    unsigned int	size	: The buffer size
    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc	: The realloc method
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	contentIO	: in IO mode we may have a different base
} xmlBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAllocationScheme">Enum </a>xmlBufferAllocationScheme</h3>
<pre class="programlisting">enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
    <a name="XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> = 1 /* double each time one need to grow */
    <a name="XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> = 2 /* grow only to the minimal size */
    <a name="XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a> = 3 /* immutable buffer */
    <a name="XML_BUFFER_ALLOC_IO">XML_BUFFER_ALLOC_IO</a> = 4 /* special allocation scheme used for I/O */
    <a name="XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> = 5 /* exact up to a threshold, and doubleit thereafter */
    <a name="XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a> = 6 /*  limit the upper size of the buffer */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3>
<pre class="programlisting">struct _xmlDOMWrapCtxt {
    void *	_private	: * The type of this context, just in case we need specialized * context
    int	type	: * Internal namespace map used for various operations. *
    void *	namespaceMap	: * Use this one to acquire an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> intended for node-&gt;ns. * (Note t
    <a href="libxml2-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	getNsForNodeFunc
} xmlDOMWrapCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCtxtPtr">Typedef </a>xmlDOMWrapCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * xmlDOMWrapCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDoc">Structure </a>xmlDoc</h3>
<pre class="programlisting">struct _xmlDoc {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DOCUMENT_NODE, must be second !
    char *	name	: name/filename/URI of the document
    struct _xmlNode *	children	: the document tree
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: autoreference to itself End of common part
    int	compression	: level of zlib compression
    int	standalone	: standalone document (no external refs) 1 if standalone="yes" 0 if sta
    struct _xmlDtd *	intSubset	: the document internal subset
    struct _xmlDtd *	extSubset	: the document external subset
    struct _xmlNs *	oldNs	: Global namespace, the old way
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: external initial encoding, if any
    void *	ids	: Hash table for ID attributes if any
    void *	refs	: Hash table for IDREFs attributes if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URL	: The URI for that document
    int	charset	: Internal flag for charset handling, actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
    struct _xmlDict *	dict	: dict used to allocate names or NULL
    void *	psvi	: for type/PSVI information
    int	parseFlags	: set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document
    int	properties	: set of <a href="libxml2-tree.html#xmlDocProperties">xmlDocProperties</a> for this document set at the end of parsing
} xmlDoc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocProperties">Enum </a>xmlDocProperties</h3>
<pre class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
    <a name="XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a> = 1 /* document is XML well formed */
    <a name="XML_DOC_NSVALID">XML_DOC_NSVALID</a> = 2 /* document is Namespace valid */
    <a name="XML_DOC_OLD10">XML_DOC_OLD10</a> = 4 /* parsed with old XML-1.0 parser */
    <a name="XML_DOC_DTDVALID">XML_DOC_DTDVALID</a> = 8 /* DTD validation was successful */
    <a name="XML_DOC_XINCLUDE">XML_DOC_XINCLUDE</a> = 16 /* XInclude substitution was done */
    <a name="XML_DOC_USERBUILT">XML_DOC_USERBUILT</a> = 32 /* Document was built using the API and not by parsing an instance */
    <a name="XML_DOC_INTERNAL">XML_DOC_INTERNAL</a> = 64 /* built for internal processing */
    <a name="XML_DOC_HTML">XML_DOC_HTML</a> = 128 /*  parsed or built HTML document */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDtd">Structure </a>xmlDtd</h3>
<pre class="programlisting">struct _xmlDtd {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DTD_NODE, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Name of the DTD
    struct _xmlNode *	children	: the value of the property link
    struct _xmlNode *	last	: last child link
    struct _xmlDoc *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    void *	notations	: Hash table for notations if any
    void *	elements	: Hash table for elements if any
    void *	attributes	: Hash table for attributes if any
    void *	entities	: Hash table for entities if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC DTD
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC DTD
    void *	pentities	: Hash table for param entities if any
} xmlDtd;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElement">Structure </a>xmlElement</h3>
<pre class="programlisting">struct _xmlElement {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ELEMENT_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>	etype	: The type
    <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	content	: the allowed element content
    <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	attributes	: List of the declared attributes
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: the validating regexp
    void *	contModel
} xmlElement;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContent">Structure </a>xmlElementContent</h3>
<pre class="programlisting">struct _xmlElementContent {
    <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a>	type	: PCDATA, ELEMENT, SEQ or OR
    <a href="libxml2-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur	: ONCE, OPT, MULT or PLUS
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
    struct _xmlElementContent *	c1	: first child
    struct _xmlElementContent *	c2	: second child
    struct _xmlElementContent *	parent	: parent
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: Namespace prefix
} xmlElementContent;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentOccur">Enum </a>xmlElementContentOccur</h3>
<pre class="programlisting">enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a> {
    <a name="XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a> = 1
    <a name="XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a> = 2
    <a name="XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a> = 3
    <a name="XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentPtr">Typedef </a>xmlElementContentPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * xmlElementContentPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentType">Enum </a>xmlElementContentType</h3>
<pre class="programlisting">enum <a href="#xmlElementContentType">xmlElementContentType</a> {
    <a name="XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a> = 1
    <a name="XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a> = 2
    <a name="XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a> = 3
    <a name="XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementType">Enum </a>xmlElementType</h3>
<pre class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
    <a name="XML_ELEMENT_NODE">XML_ELEMENT_NODE</a> = 1
    <a name="XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a> = 2
    <a name="XML_TEXT_NODE">XML_TEXT_NODE</a> = 3
    <a name="XML_CDATA_SECTION_NODE">XML_CDATA_SECTION_NODE</a> = 4
    <a name="XML_ENTITY_REF_NODE">XML_ENTITY_REF_NODE</a> = 5
    <a name="XML_ENTITY_NODE">XML_ENTITY_NODE</a> = 6
    <a name="XML_PI_NODE">XML_PI_NODE</a> = 7
    <a name="XML_COMMENT_NODE">XML_COMMENT_NODE</a> = 8
    <a name="XML_DOCUMENT_NODE">XML_DOCUMENT_NODE</a> = 9
    <a name="XML_DOCUMENT_TYPE_NODE">XML_DOCUMENT_TYPE_NODE</a> = 10
    <a name="XML_DOCUMENT_FRAG_NODE">XML_DOCUMENT_FRAG_NODE</a> = 11
    <a name="XML_NOTATION_NODE">XML_NOTATION_NODE</a> = 12
    <a name="XML_HTML_DOCUMENT_NODE">XML_HTML_DOCUMENT_NODE</a> = 13
    <a name="XML_DTD_NODE">XML_DTD_NODE</a> = 14
    <a name="XML_ELEMENT_DECL">XML_ELEMENT_DECL</a> = 15
    <a name="XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a> = 16
    <a name="XML_ENTITY_DECL">XML_ENTITY_DECL</a> = 17
    <a name="XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a> = 18
    <a name="XML_XINCLUDE_START">XML_XINCLUDE_START</a> = 19
    <a name="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20 /*  XML_DOCB_DOCUMENT_NODE= 21 removed */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3>
<pre class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
    <a name="XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a> = 0
    <a name="XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a> = 1
    <a name="XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a> = 2
    <a name="XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a> = 3
    <a name="XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntity">Structure </a>xmlEntity</h3>
<pre class="programlisting">struct _xmlEntity {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ENTITY_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Entity name
    struct _xmlNode *	children	: First child link
    struct _xmlNode *	last	: Last child link
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	orig	: content without ref substitution
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: content or ndata if unparsed
    int	length	: the content length
    <a href="libxml2-entities.html#xmlEntityType">xmlEntityType</a>	etype	: The entity type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC Entity
    struct _xmlEntity *	nexte	: unused
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
    int	owner	: does the entity own the childrens
    int	checked	: was the entity content checked this is also used to count entities *
} xmlEntity;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEnumeration">Structure </a>xmlEnumeration</h3>
<pre class="programlisting">struct _xmlEnumeration {
    struct _xmlEnumeration *	next	: next one
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
} xmlEnumeration;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEnumerationPtr">Typedef </a>xmlEnumerationPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * xmlEnumerationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlID">Structure </a>xmlID</h3>
<pre class="programlisting">struct _xmlID {
    struct _xmlID *	next	: next ID
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The ID name
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
    int	lineno	: The line number if attr is not available
    struct _xmlDoc *	doc	: The document holding the ID
} xmlID;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNode">Structure </a>xmlNode</h3>
<pre class="programlisting">struct _xmlNode {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: type number, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the node, or the entity
    struct _xmlNode *	children	: parent-&gt;childs link
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: the content
    struct _xmlAttr *	properties	: properties list
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	nsDef	: namespace definitions on this node
    void *	psvi	: for type/PSVI information
    unsigned short	line	: line number
    unsigned short	extra	: extra data for XPath/XSLT
} xmlNode;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotation">Structure </a>xmlNotation</h3>
<pre class="programlisting">struct _xmlNotation {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Notation name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	PublicID	: Public identifier, if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: System identifier, if any
} xmlNotation;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNs">Structure </a>xmlNs</h3>
<pre class="programlisting">struct _xmlNs {
    struct _xmlNs *	next	: next Ns link for this node
    <a href="libxml2-tree.html#xmlNsType">xmlNsType</a>	type	: global or local
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	href	: URL for the namespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: prefix for the namespace
    void *	_private	: application data
    struct _xmlDoc *	context	: normally an <a href="libxml2-tree.html#xmlDoc">xmlDoc</a>
} xmlNs;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNsType">Typedef </a>xmlNsType</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3>
<pre class="programlisting">struct _xmlOutputBuffer {
    void *	context
    <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>	writecallback
    <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>	closecallback
    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8 or ISOLatin
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	conv	: if encoder != NULL buffer for output
    int	written	: total number of byte written
    int	error
} xmlOutputBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferPtr">Typedef </a>xmlOutputBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * xmlOutputBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3>
<pre class="programlisting">struct _xmlParserCtxt {
    struct _xmlSAXHandler *	sax	: The SAX handler
    void *	userData	: For SAX interface only, used by DOM build
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc	: the document being built
    int	wellFormed	: is the document well formed
    int	replaceEntities	: shall we replace entities ?
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the declared encoding, if any
    int	standalone	: standalone document
    int	html	: an HTML(1) document * 3 is HTML after &lt;head&gt; * 10 is HTML after &lt;body
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input	: Current input stream
    int	inputNr	: Number of current input streams
    int	inputMax	: Max number of input streams
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> *	inputTab	: stack of inputs Node analysis stack only used for DOM building
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
    int	record_info	: Whether node info should be kept
    <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>	node_seq	: info about each node parsed
    int	errNo	: error code
    int	hasExternalSubset	: <a href="libxml2-SAX.html#reference">reference</a> and external subset
    int	hasPErefs	: the internal subset has PE refs
    int	external	: are we parsing an external entity
    int	valid	: is the document valid
    int	validate	: shall we try to validate ?
    <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a>	vctxt	: The validity context
    <a href="libxml2-parser.html#xmlParserInputState">xmlParserInputState</a>	instate	: current type of input
    int	token	: next char look-ahead
    char *	directory	: the data directory Node name stack
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Current parsed Node
    int	nameNr	: Depth of the parsing stack
    int	nameMax	: Max depth of the parsing stack
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nameTab	: array of nodes
    long	nbChars	: unused
    long	checkIndex	: used by progressive parsing lookup
    int	keepBlanks	: ugly but ...
    int	disableSAX	: SAX callbacks are disabled
    int	inSubset	: Parsing is in int 1/ext 2 subset
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	intSubName	: name of subset
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubURI	: URI of external subset
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubSystem	: SYSTEM ID of external subset xml:space values
    int *	space	: Should the parser preserve spaces
    int	spaceNr	: Depth of the parsing stack
    int	spaceMax	: Max depth of the parsing stack
    int *	spaceTab	: array of space infos
    int	depth	: to prevent entity substitution loops
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	entity	: used to check entities boundaries
    int	charset	: encoding of the in-memory content actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
    int	nodelen	: Those two fields are there to
    int	nodemem	: Speed up large node parsing
    int	pedantic	: signal pedantic warnings
    void *	_private	: For user data, libxml won't touch it
    int	loadsubset	: should the external subset be loaded
    int	linenumbers	: set line number in element content
    void *	catalogs	: document's own catalog
    int	recovery	: run in recovery mode
    int	progressive	: is this a progressive parsing
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary for the parser
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	atts	: array for the attributes callbacks
    int	maxatts	: the size of the array
    int	docdict	: * pre-interned strings *
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xmlns
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml_ns	: * Everything below is used only by the new SAX mode *
    int	sax2	: operating in the new SAX mode
    int	nsNr	: the number of inherited namespaces
    int	nsMax	: the size of the arrays
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nsTab	: the array of prefix/namespace name
    int *	attallocs	: which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
    <a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> *	pushTab	: array of data for push
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsDefault	: defaulted attributes if any
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsSpecial	: non-CDATA attributes if any
    int	nsWellFormed	: is the document XML Namespace okay
    int	options	: * Those fields are needed only for streaming parsing so far *
    int	dictNames	: Use dictionary names for the tree
    int	freeElemsNr	: number of freed element nodes
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	freeElems	: List of freed element nodes
    int	freeAttrsNr	: number of freed attributes nodes
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs	: * the complete error information for the last error. *
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError
    <a href="libxml2-parser.html#xmlParserMode">xmlParserMode</a>	parseMode	: the parser mode
    unsigned long	nbentities	: number of entities references
    unsigned long	sizeentities	: size of parsed entities for use by HTML non-recursive parser
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfo	: Current NodeInfo
    int	nodeInfoNr	: Depth of the parsing stack
    int	nodeInfoMax	: Max depth of the parsing stack
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfoTab	: array of nodeInfos
    int	input_id	: we need to label inputs
    unsigned long	sizeentcopy	: volume of entity copy
} xmlParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInput">Structure </a>xmlParserInput</h3>
<pre class="programlisting">struct _xmlParserInput {
    <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf	: UTF-8 encoded buffer
    const char *	filename	: The file analyzed, if any
    const char *	directory	: the directory/base of the file
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base of the array to parse
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: Current char being parsed
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	end	: end of the array to parse
    int	length	: length if known
    int	line	: Current line
    int	col	: * NOTE: consumed is only tested for equality in the parser code, *
    unsigned long	consumed	: How many xmlChars already consumed
    <a href="libxml2-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	free	: function to deallocate the base
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the encoding string for entity
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the version string for entity
    int	standalone	: Was that entity marked standalone
    int	id	: an unique identifier for the entity
} xmlParserInput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBuffer">Structure </a>xmlParserInputBuffer</h3>
<pre class="programlisting">struct _xmlParserInputBuffer {
    void *	context
    <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>	readcallback
    <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>	closecallback
    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	raw	: if encoder != NULL buffer for raw input
    int	compressed	: -1=unknown, 0=not compressed, 1=compressed
    int	error
    unsigned long	rawconsumed	: amount consumed from raw
} xmlParserInputBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferPtr">Typedef </a>xmlParserInputBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * xmlParserInputBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputPtr">Typedef </a>xmlParserInputPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * xmlParserInputPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRef">Structure </a>xmlRef</h3>
<pre class="programlisting">struct _xmlRef {
    struct _xmlRef *	next	: next Ref
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The Ref name
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
    int	lineno	: The line number if attr is not available
} xmlRef;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3>
<pre class="programlisting">struct _xmlSAXHandler {
    <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
    <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
    <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
    <a href="libxml2-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
    <a href="libxml2-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
    <a href="libxml2-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
    <a href="libxml2-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
    <a href="libxml2-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
    <a href="libxml2-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
    <a href="libxml2-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
    <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
    <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
    <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
    <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
    <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
    <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
    <a href="libxml2-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
    <a href="libxml2-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
    <a href="libxml2-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
    <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
    <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
    <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
    <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
    <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
    unsigned int	initialized	: The following fields are extensions available only on version 2
    void *	_private
    <a href="libxml2-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a>	startElementNs
    <a href="libxml2-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>	endElementNs
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	serror
} xmlSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3>
<pre class="programlisting">struct _xmlSAXLocator {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getPublicId)	getPublicId
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getSystemId)	getSystemId
    int(*getLineNumber)	getLineNumber
    int(*getColumnNumber)	getColumnNumber
} xmlSAXLocator;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapAcquireNsFunction"></a>Function type xmlDOMWrapAcquireNsFunction</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlDOMWrapAcquireNsFunction	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br>
</pre>
<p>A function called to acquire namespaces (xmlNs) from the wrapper.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a DOM wrapper context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the context node (element or attribute)</td>
</tr>
<tr>
<td><span class="term"><i><tt>nsName</tt></i>:</span></td>
<td>the requested namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td>
<td>the requested namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddChild"></a>xmlAddChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. All tree manipulation functions can safely move nodes within a document. But when moving nodes from one document to another, references to namespaces in element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes are NOT fixed. In this case, you MUST call <a href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after the move operation to avoid memory errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the child or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddChildList"></a>xmlAddChildList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChildList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed) See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first node in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last child or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new node or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new node or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddSibling"></a>xmlAddSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new element or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttrSerializeTxtContent"></a>xmlAttrSerializeTxtContent ()</h3>
<pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>Serialize text <a href="libxml2-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> node</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the text content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufContent"></a>xmlBufContent ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufContent		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br>
</pre>
<p>Function to extract the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufEnd"></a>xmlBufEnd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufEnd		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
</pre>
<p>Function to extract the end of the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the end of the internal content or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufGetNodeContent"></a>xmlBufGetNodeContent ()</h3>
<pre class="programlisting">int	xmlBufGetNodeContent		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buf with this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>a buffer <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufNodeDump"></a>xmlBufNodeDump ()</h3>
<pre class="programlisting">size_t	xmlBufNodeDump			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
</pre>
<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufShrink"></a>xmlBufShrink ()</h3>
<pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len)<br>
</pre>
<p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte removed or 0 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufUse"></a>xmlBufUse ()</h3>
<pre class="programlisting">size_t	xmlBufUse			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
</pre>
<p>Function to get the length of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the length of data in the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3>
<pre class="programlisting">int	xmlBufferAdd			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of #xmlChar to add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3>
<pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of #xmlChar to add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3>
<pre class="programlisting">int	xmlBufferCCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str)<br>
</pre>
<p>Append a zero terminated C string to an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the C char string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCat"></a>xmlBufferCat ()</h3>
<pre class="programlisting">int	xmlBufferCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Append a zero terminated string to an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to add to</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferContent"></a>xmlBufferContent ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
</pre>
<p>Function to extract the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br>
</pre>
<p>routine to create an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateSize	(size_t size)<br>
</pre>
<p>routine to create an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>initial size of buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateStatic	(void * mem, <br>					 size_t size)<br>
</pre>
<p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory area</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferDetach"></a>xmlBufferDetach ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferDetach		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous string contained by the buffer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferDump"></a>xmlBufferDump ()</h3>
<pre class="programlisting">int	xmlBufferDump			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Dumps an XML buffer to a FILE *.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of #xmlChar written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3>
<pre class="programlisting">void	xmlBufferEmpty			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>empty a buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferFree"></a>xmlBufferFree ()</h3>
<pre class="programlisting">void	xmlBufferFree			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3>
<pre class="programlisting">int	xmlBufferGrow			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
</pre>
<p>Grow the available space of an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the minimum free size to allocate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new available space or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferLength"></a>xmlBufferLength ()</h3>
<pre class="programlisting">int	xmlBufferLength			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
</pre>
<p>Function to get the length of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the length of data in the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferResize"></a>xmlBufferResize ()</h3>
<pre class="programlisting">int	xmlBufferResize			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size)<br>
</pre>
<p>Resize a buffer to accommodate minimum size of @size.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to resize</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the desired size</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of problems, 1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3>
<pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
</pre>
<p>Sets the allocation scheme for this buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to tune</td>
</tr>
<tr>
<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
<td>allocation scheme to use</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3>
<pre class="programlisting">int	xmlBufferShrink			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
</pre>
<p>Remove the beginning of an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of #xmlChar removed, or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3>
<pre class="programlisting">void	xmlBufferWriteCHAR		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3>
<pre class="programlisting">void	xmlBufferWriteChar		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string)<br>
</pre>
<p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3>
<pre class="programlisting">void	xmlBufferWriteQuotedString	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildQName"></a>xmlBuildQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len)<br>
</pre>
<p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ncname</tt></i>:</span></td>
<td>the Name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>memory</tt></i>:</span></td>
<td>preallocated memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>preallocated memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChildElementCount"></a>xmlChildElementCount ()</h3>
<pre class="programlisting">unsigned long	xmlChildElementCount	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the count of element child or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCopyDoc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive)<br>
</pre>
<p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>recursive</tt></i>:</span></td>
<td>if not zero do a recursive copy.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlDocPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCopyDtd		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Do a copy of the dtd.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the dtd</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlDtdPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespace	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Do a copy of the namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNsPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespaceList	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Do a copy of an namespace list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNsPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNode"></a>xmlCopyNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended)<br>
</pre>
<p>Do a copy of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>extended</tt></i>:</span></td>
<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the first node in the list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyProp"></a>xmlCopyProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Do a copy of the attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the element where the <a href="libxml2-SAX.html#attribute">attribute</a> will be grafted</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlAttrPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the element where the attributes will be grafted</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlAttrPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCreateIntSubset	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Create the internal subset of a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the DTD name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external (PUBLIC) ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new DTD structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapAdoptNode"></a>xmlDOMWrapAdoptNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options)<br>
</pre>
<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the optional context for custom processing</td>
</tr>
<tr>
<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
<td>the optional sourceDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to start with</td>
</tr>
<tr>
<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
<td>the destination doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
<td>the optional new parent of @node in @destDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCloneNode"></a>xmlDOMWrapCloneNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options)<br>
</pre>
<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the optional context for custom processing</td>
</tr>
<tr>
<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
<td>the optional sourceDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to start with</td>
</tr>
<tr>
<td><span class="term"><i><tt>resNode</tt></i>:</span></td>
<td>the clone of the given @node</td>
</tr>
<tr>
<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
<td>the destination doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
<td>the optional new parent of @node in @destDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>deep</tt></i>:</span></td>
<td>descend into child if set</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapFreeCtxt"></a>xmlDOMWrapFreeCtxt ()</h3>
<pre class="programlisting">void	xmlDOMWrapFreeCtxt		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br>
</pre>
<p>Frees the DOM-wrapper context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the DOM-wrapper context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapNewCtxt"></a>xmlDOMWrapNewCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	xmlDOMWrapNewCtxt	(void)<br>
</pre>
<p>Allocates and initializes a new DOM-wrapper context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapReconcileNamespaces"></a>xmlDOMWrapReconcileNamespaces ()</h3>
<pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options)<br>
</pre>
<p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>DOM wrapper context, unused at the moment</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element-node</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if succeeded, -1 otherwise and on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapRemoveNode"></a>xmlDOMWrapRemoveNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapRemoveNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options)<br>
</pre>
<p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a DOM wrapper context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to be removed.</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>set of options, unused at the moment</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended)<br>
</pre>
<p>Do a copy of the node to a given document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>extended</tt></i>:</span></td>
<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocCopyNodeList"></a>xmlDocCopyNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Do a recursive copy of the node list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the target document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the first node in the list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDump"></a>xmlDocDump ()</h3>
<pre class="programlisting">int	xmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an XML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3>
<pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
</pre>
<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3>
<pre class="programlisting">void	xmlDocDumpFormatMemoryEnc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format)<br>
</pre>
<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
<td>Document to generate XML text from</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>Memory pointer for allocated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
<td>Length of the generated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
<td>Character encoding to use when generating XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3>
<pre class="programlisting">void	xmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
</pre>
<p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3>
<pre class="programlisting">void	xmlDocDumpMemoryEnc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding)<br>
</pre>
<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
<td>Document to generate XML text from</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>Memory pointer for allocated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
<td>Length of the generated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
<td>Character encoding to use when generating XML text</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3>
<pre class="programlisting">int	xmlDocFormatDump		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
</pre>
<p>Dump an XML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocGetRootElement	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the #xmlNodePtr for the root or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocSetRootElement	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br>
</pre>
<p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>root</tt></i>:</span></td>
<td>the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old root element if any was found, NULL if root was NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElemDump"></a>xmlElemDump ()</h3>
<pre class="programlisting">void	xmlElemDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFirstElementChild"></a>xmlFirstElementChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlFirstElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first element child or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3>
<pre class="programlisting">void	xmlFreeDoc			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Free up all the structures used by a document, tree included.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>pointer to the document</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3>
<pre class="programlisting">void	xmlFreeDtd			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br>
</pre>
<p>Free a DTD structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the DTD structure to free up</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNode"></a>xmlFreeNode ()</h3>
<pre class="programlisting">void	xmlFreeNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3>
<pre class="programlisting">void	xmlFreeNodeList			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first node in the list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNs"></a>xmlFreeNs ()</h3>
<pre class="programlisting">void	xmlFreeNs			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Free up the structures associated to a namespace</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the namespace pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3>
<pre class="programlisting">void	xmlFreeNsList			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Free up all the structures associated to the chained namespaces.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first namespace pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeProp"></a>xmlFreeProp ()</h3>
<pre class="programlisting">void	xmlFreeProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Free one attribute, all the content is freed too</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePropList"></a>xmlFreePropList ()</h3>
<pre class="programlisting">void	xmlFreePropList			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Free a property and all its siblings, all the children are freed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first property in the list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br>
</pre>
<p>Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current allocation scheme</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3>
<pre class="programlisting">int	xmlGetCompressMode		(void)<br>
</pre>
<p>get the default compression mode used, ZLIB based.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 (uncompressed) to 9 (max compression)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3>
<pre class="programlisting">int	xmlGetDocCompressMode		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>get the compression ratio for a document, ZLIB based</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 (uncompressed) to 9 (max compression)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlGetIntSubset		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>Get the internal subset of a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the DTD structure or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlGetLastChild		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br>
</pre>
<p>Search the last child of a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last child or NULL if none.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3>
<pre class="programlisting">long	xmlGetLineNo			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>valid node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the line number if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml2-SAX.html#attribute">attribute</a> in no namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNodePath		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Build a structure based Path for the given node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new path or NULL in case of error. The caller must free the returned string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNsList"></a>xmlGetNsList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	xmlGetNsList		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Search all the namespace applying to a given element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the URI of the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetProp"></a>xmlGetProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search for an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the URI of the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasProp"></a>xmlHasProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3>
<pre class="programlisting">int	xmlIsBlankNode			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 yes, 0 no</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3>
<pre class="programlisting">int	xmlIsXHTML			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br>
</pre>
<p>Try to find if the document correspond to an XHTML DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>systemID</tt></i>:</span></td>
<td>the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
<td>the public identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLastElementChild"></a>xmlLastElementChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlLastElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last element child or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCDataBlock	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Creation of a new node containing a CDATA block.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the CDATA block content content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the block</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the char ref string, starting with # or "&amp;# ... ;"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewChild"></a>xmlNewChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the child</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML content of the child if any.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewComment"></a>xmlNewComment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Use of this function is DISCOURAGED in favor of xmlNewDocComment. Creation of a new node containing a comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDoc"></a>xmlNewDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br>
</pre>
<p>Creates a new XML document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocFragment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Creation of a new Fragment node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the fragment</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocPI"></a>xmlNewDocPI ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a processing instruction element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the target document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the processing instruction name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocText"></a>xmlNewDocText ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocText		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new text node within a document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocTextLen	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Creation of a new text node with an extra content length parameter. The text node pertain to a given document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the text len.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDtd"></a>xmlNewDtd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlNewDtd		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the DTD name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new DTD structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document carrying the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the URI associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix for the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL this functionality had been removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNode"></a>xmlNewNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of xmlNewDocNode.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNodeEatName	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of xmlNewDocNodeEatName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNs"></a>xmlNewNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewNs		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use href==NULL in the case of an element creation where the namespace was not defined.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the element carrying the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the URI associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix for the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new namespace pointer or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property tagged with a namespace and carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property tagged with a namespace and carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewPI"></a>xmlNewPI ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a processing instruction element. Use of this function is DISCOURAGED in favor of xmlNewDocPI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the processing instruction name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewProp"></a>xmlNewProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewReference"></a>xmlNewReference ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#reference">reference</a> name, or the <a href="libxml2-SAX.html#reference">reference</a> string with &amp; and ;</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewText"></a>xmlNewText ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewText		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new text node. Use of this function is DISCOURAGED in favor of xmlNewDocText.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the child</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content of the child if any.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextLen		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen. Creation of a new text node with an extra parameter for the content's length</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the text len.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNextElementSibling"></a>xmlNextElementSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNextElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element sibling or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3>
<pre class="programlisting">void	xmlNodeAddContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>extra content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3>
<pre class="programlisting">void	xmlNodeAddContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>extra content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size of @content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeBufGetContent"></a>xmlNodeBufGetContent ()</h3>
<pre class="programlisting">int	xmlNodeBufGetContent		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeDump"></a>xmlNodeDump ()</h3>
<pre class="programlisting">int	xmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
</pre>
<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written to the buffer or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3>
<pre class="programlisting">void	xmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>an optional encoding string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetBase		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc-&gt;URL in this case</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the node pertains to</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetContent	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3>
<pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3>
<pre class="programlisting">int	xmlNodeIsText			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Is this node a Text node ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 yes, 0 no</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
</pre>
<p>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a Node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
<td>should we replace entity contents or show their external form</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
</pre>
<p>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a Node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
<td>should we replace entity contents or show their external form</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3>
<pre class="programlisting">void	xmlNodeSetBase			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri)<br>
</pre>
<p>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>the new base URI</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3>
<pre class="programlisting">void	xmlNodeSetContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the new value of the content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3>
<pre class="programlisting">void	xmlNodeSetContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the new value of the content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size of @content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3>
<pre class="programlisting">void	xmlNodeSetLang			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
</pre>
<p>Set the language of a node, i.e. the values of the xml:lang attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>lang</tt></i>:</span></td>
<td>the language description</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3>
<pre class="programlisting">void	xmlNodeSetName			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Set (or reset) the name of a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the new tag name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3>
<pre class="programlisting">void	xmlNodeSetSpacePreserve		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val)<br>
</pre>
<p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the xml:space value ("0": default, 1: "preserve")</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPreviousElementSibling"></a>xmlPreviousElementSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlPreviousElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous element sibling or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3>
<pre class="programlisting">int	xmlReconciliateNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
</pre>
<p>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node defining the subtree to reconciliate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of namespace declarations created or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3>
<pre class="programlisting">int	xmlRemoveProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlReplaceNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the old node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the @old node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFile"></a>xmlSaveFile ()</h3>
<pre class="programlisting">int	xmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3>
<pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML document, converting it to the given encoding</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the name of an encoding (or NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3>
<pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output I/O buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding if any assuming the I/O layer handles the transcoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3>
<pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
</pre>
<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3>
<pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an XML document to a file or an URL.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URL to output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document being saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the name of the encoding to use or NULL.</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces be added.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3>
<pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output I/O buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding if any assuming the I/O layer handles the transcoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSearchNs"></a>xmlSearchNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace pointer or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br>
</pre>
<p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace pointer or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3>
<pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
</pre>
<p>Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
<td>allocation method to use</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3>
<pre class="programlisting">void	xmlSetCompressMode		(int mode)<br>
</pre>
<p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the compression ratio</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3>
<pre class="programlisting">void	xmlSetDocCompressMode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode)<br>
</pre>
<p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the compression ratio</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3>
<pre class="programlisting">void	xmlSetListDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>update all nodes in the list to point to the right document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>the first element</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetNs"></a>xmlSetNs ()</h3>
<pre class="programlisting">void	xmlSetNs			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>Associate a namespace to a node, a posteriori.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace pointer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetProp"></a>xmlSetProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name (a QName)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3>
<pre class="programlisting">void	xmlSetTreeDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>update all nodes under the tree to point to the right document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the top element</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the full QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len)<br>
</pre>
<p>parse an XML qualified name string,i</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the full QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an int *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the first child</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringLenGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the text</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the string value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the first child</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextConcat"></a>xmlTextConcat ()</h3>
<pre class="programlisting">int	xmlTextConcat			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Concat the given string at the end of the existing node content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>@content length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextMerge"></a>xmlTextMerge ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br>
</pre>
<p>Merge two text nodes into one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>first</tt></i>:</span></td>
<td>the first text node</td>
</tr>
<tr>
<td><span class="term"><i><tt>second</tt></i>:</span></td>
<td>the second text node being merged</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first text node augmented</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3>
<pre class="programlisting">void	xmlUnlinkNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do not have pointer to their parent.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3>
<pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3>
<pre class="programlisting">int	xmlUnsetProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3>
<pre class="programlisting">int	xmlValidateNCName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3>
<pre class="programlisting">int	xmlValidateNMToken		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of NMToken</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateName"></a>xmlValidateName ()</h3>
<pre class="programlisting">int	xmlValidateName			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of Name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateQName"></a>xmlValidateQName ()</h3>
<pre class="programlisting">int	xmlValidateQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of QName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/right.png000064400000000730150505766310013346 0ustar00�PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�2I%�=eIDATx���!o�@��.'**M0$��$�?1~�vIeEu�Ll�&��4�䝠��B�ݛ��|�>�$ݶ�oc<���A��׀X��</zq
��HR��W���! CA�b��A$�I�J�ӕۀ�IAerN6�)�+c Y�V�f�� Y�����  �cF��+p�y�icIJ��(a�u���ڸ-T�Ʉ�b�bI�3�
ɲ`L���P]�p8��e?9�LR`�B�	ð�h�ݲ���kI�m�1��C3��}H����K��9:h�|򦒴�;0�(��*���gw��'�o�z�2��n׽y	x���r�޼<XôqjnAz�۹\��/wj��K�IEND�B`�share/gtk-doc/html/libxml2/libxml2-xmlerror.html000064400000244703150505766320015645 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlerror: error handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlerror</span></h2>
<p>xmlerror - error handling</p>
<p>the API used to report errors </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlError <a href="#xmlError">xmlError</a>;
typedef enum <a href="#xmlErrorDomain">xmlErrorDomain</a>;
typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
void	<a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler);
int	<a href="#xmlCopyError">xmlCopyError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>	(void * ctx);
void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx);
typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlGetLastError">xmlGetLastError</a>		(void);
void	<a href="#xmlParserError">xmlParserError</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlParserValidityError">xmlParserValidityError</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserWarning">xmlParserWarning</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlResetError">xmlResetError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
void	<a href="#xmlResetLastError">xmlResetLastError</a>		(void);
void	<a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
void	<a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlError">Structure </a>xmlError</h3>
<pre class="programlisting">struct _xmlError {
    int	domain	: What part of the library raised this error
    int	code	: The error code, e.g. an <a href="libxml2-xmlerror.html#xmlParserError">xmlParserError</a>
    char *	message	: human-readable informative error message
    <a href="libxml2-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a>	level	: how consequent is the error
    char *	file	: the filename
    int	line	: the line number if available
    char *	str1	: extra string information
    char *	str2	: extra string information
    char *	str3	: extra string information
    int	int1	: extra number information
    int	int2	: error column # or 0 if N/A (todo: rename field when we would brk ABI)
    void *	ctxt	: the parser context if available
    void *	node	: the node in the tree
} xmlError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3>
<pre class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
    <a name="XML_FROM_NONE">XML_FROM_NONE</a> = 0
    <a name="XML_FROM_PARSER">XML_FROM_PARSER</a> = 1 /* The XML parser */
    <a name="XML_FROM_TREE">XML_FROM_TREE</a> = 2 /* The tree module */
    <a name="XML_FROM_NAMESPACE">XML_FROM_NAMESPACE</a> = 3 /* The XML Namespace module */
    <a name="XML_FROM_DTD">XML_FROM_DTD</a> = 4 /* The XML DTD validation with parser contex */
    <a name="XML_FROM_HTML">XML_FROM_HTML</a> = 5 /* The HTML parser */
    <a name="XML_FROM_MEMORY">XML_FROM_MEMORY</a> = 6 /* The memory allocator */
    <a name="XML_FROM_OUTPUT">XML_FROM_OUTPUT</a> = 7 /* The serialization code */
    <a name="XML_FROM_IO">XML_FROM_IO</a> = 8 /* The Input/Output stack */
    <a name="XML_FROM_FTP">XML_FROM_FTP</a> = 9 /* The FTP module */
    <a name="XML_FROM_HTTP">XML_FROM_HTTP</a> = 10 /* The HTTP module */
    <a name="XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a> = 11 /* The XInclude processing */
    <a name="XML_FROM_XPATH">XML_FROM_XPATH</a> = 12 /* The XPath module */
    <a name="XML_FROM_XPOINTER">XML_FROM_XPOINTER</a> = 13 /* The XPointer module */
    <a name="XML_FROM_REGEXP">XML_FROM_REGEXP</a> = 14 /* The regular expressions module */
    <a name="XML_FROM_DATATYPE">XML_FROM_DATATYPE</a> = 15 /* The W3C XML Schemas Datatype module */
    <a name="XML_FROM_SCHEMASP">XML_FROM_SCHEMASP</a> = 16 /* The W3C XML Schemas parser module */
    <a name="XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a> = 17 /* The W3C XML Schemas validation module */
    <a name="XML_FROM_RELAXNGP">XML_FROM_RELAXNGP</a> = 18 /* The Relax-NG parser module */
    <a name="XML_FROM_RELAXNGV">XML_FROM_RELAXNGV</a> = 19 /* The Relax-NG validator module */
    <a name="XML_FROM_CATALOG">XML_FROM_CATALOG</a> = 20 /* The Catalog module */
    <a name="XML_FROM_C14N">XML_FROM_C14N</a> = 21 /* The Canonicalization module */
    <a name="XML_FROM_XSLT">XML_FROM_XSLT</a> = 22 /* The XSLT engine from libxslt */
    <a name="XML_FROM_VALID">XML_FROM_VALID</a> = 23 /* The XML DTD validation with valid context */
    <a name="XML_FROM_CHECK">XML_FROM_CHECK</a> = 24 /* The error checking module */
    <a name="XML_FROM_WRITER">XML_FROM_WRITER</a> = 25 /* The xmlwriter module */
    <a name="XML_FROM_MODULE">XML_FROM_MODULE</a> = 26 /* The dynamically loaded module modul */
    <a name="XML_FROM_I18N">XML_FROM_I18N</a> = 27 /* The module handling character conversion */
    <a name="XML_FROM_SCHEMATRONV">XML_FROM_SCHEMATRONV</a> = 28 /* The Schematron validator module */
    <a name="XML_FROM_BUFFER">XML_FROM_BUFFER</a> = 29 /* The buffers module */
    <a name="XML_FROM_URI">XML_FROM_URI</a> = 30 /*  The URI module */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3>
<pre class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
    <a name="XML_ERR_NONE">XML_ERR_NONE</a> = 0
    <a name="XML_ERR_WARNING">XML_ERR_WARNING</a> = 1 /* A simple warning */
    <a name="XML_ERR_ERROR">XML_ERR_ERROR</a> = 2 /* A recoverable error */
    <a name="XML_ERR_FATAL">XML_ERR_FATAL</a> = 3 /*  A fatal error */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserErrors">Enum </a>xmlParserErrors</h3>
<pre class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
    <a name="XML_ERR_OK">XML_ERR_OK</a> = 0
    <a name="XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a> = 1 /* 1 */
    <a name="XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a> = 2 /* 2 */
    <a name="XML_ERR_DOCUMENT_START">XML_ERR_DOCUMENT_START</a> = 3 /* 3 */
    <a name="XML_ERR_DOCUMENT_EMPTY">XML_ERR_DOCUMENT_EMPTY</a> = 4 /* 4 */
    <a name="XML_ERR_DOCUMENT_END">XML_ERR_DOCUMENT_END</a> = 5 /* 5 */
    <a name="XML_ERR_INVALID_HEX_CHARREF">XML_ERR_INVALID_HEX_CHARREF</a> = 6 /* 6 */
    <a name="XML_ERR_INVALID_DEC_CHARREF">XML_ERR_INVALID_DEC_CHARREF</a> = 7 /* 7 */
    <a name="XML_ERR_INVALID_CHARREF">XML_ERR_INVALID_CHARREF</a> = 8 /* 8 */
    <a name="XML_ERR_INVALID_CHAR">XML_ERR_INVALID_CHAR</a> = 9 /* 9 */
    <a name="XML_ERR_CHARREF_AT_EOF">XML_ERR_CHARREF_AT_EOF</a> = 10 /* 10 */
    <a name="XML_ERR_CHARREF_IN_PROLOG">XML_ERR_CHARREF_IN_PROLOG</a> = 11 /* 11 */
    <a name="XML_ERR_CHARREF_IN_EPILOG">XML_ERR_CHARREF_IN_EPILOG</a> = 12 /* 12 */
    <a name="XML_ERR_CHARREF_IN_DTD">XML_ERR_CHARREF_IN_DTD</a> = 13 /* 13 */
    <a name="XML_ERR_ENTITYREF_AT_EOF">XML_ERR_ENTITYREF_AT_EOF</a> = 14 /* 14 */
    <a name="XML_ERR_ENTITYREF_IN_PROLOG">XML_ERR_ENTITYREF_IN_PROLOG</a> = 15 /* 15 */
    <a name="XML_ERR_ENTITYREF_IN_EPILOG">XML_ERR_ENTITYREF_IN_EPILOG</a> = 16 /* 16 */
    <a name="XML_ERR_ENTITYREF_IN_DTD">XML_ERR_ENTITYREF_IN_DTD</a> = 17 /* 17 */
    <a name="XML_ERR_PEREF_AT_EOF">XML_ERR_PEREF_AT_EOF</a> = 18 /* 18 */
    <a name="XML_ERR_PEREF_IN_PROLOG">XML_ERR_PEREF_IN_PROLOG</a> = 19 /* 19 */
    <a name="XML_ERR_PEREF_IN_EPILOG">XML_ERR_PEREF_IN_EPILOG</a> = 20 /* 20 */
    <a name="XML_ERR_PEREF_IN_INT_SUBSET">XML_ERR_PEREF_IN_INT_SUBSET</a> = 21 /* 21 */
    <a name="XML_ERR_ENTITYREF_NO_NAME">XML_ERR_ENTITYREF_NO_NAME</a> = 22 /* 22 */
    <a name="XML_ERR_ENTITYREF_SEMICOL_MISSING">XML_ERR_ENTITYREF_SEMICOL_MISSING</a> = 23 /* 23 */
    <a name="XML_ERR_PEREF_NO_NAME">XML_ERR_PEREF_NO_NAME</a> = 24 /* 24 */
    <a name="XML_ERR_PEREF_SEMICOL_MISSING">XML_ERR_PEREF_SEMICOL_MISSING</a> = 25 /* 25 */
    <a name="XML_ERR_UNDECLARED_ENTITY">XML_ERR_UNDECLARED_ENTITY</a> = 26 /* 26 */
    <a name="XML_WAR_UNDECLARED_ENTITY">XML_WAR_UNDECLARED_ENTITY</a> = 27 /* 27 */
    <a name="XML_ERR_UNPARSED_ENTITY">XML_ERR_UNPARSED_ENTITY</a> = 28 /* 28 */
    <a name="XML_ERR_ENTITY_IS_EXTERNAL">XML_ERR_ENTITY_IS_EXTERNAL</a> = 29 /* 29 */
    <a name="XML_ERR_ENTITY_IS_PARAMETER">XML_ERR_ENTITY_IS_PARAMETER</a> = 30 /* 30 */
    <a name="XML_ERR_UNKNOWN_ENCODING">XML_ERR_UNKNOWN_ENCODING</a> = 31 /* 31 */
    <a name="XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> = 32 /* 32 */
    <a name="XML_ERR_STRING_NOT_STARTED">XML_ERR_STRING_NOT_STARTED</a> = 33 /* 33 */
    <a name="XML_ERR_STRING_NOT_CLOSED">XML_ERR_STRING_NOT_CLOSED</a> = 34 /* 34 */
    <a name="XML_ERR_NS_DECL_ERROR">XML_ERR_NS_DECL_ERROR</a> = 35 /* 35 */
    <a name="XML_ERR_ENTITY_NOT_STARTED">XML_ERR_ENTITY_NOT_STARTED</a> = 36 /* 36 */
    <a name="XML_ERR_ENTITY_NOT_FINISHED">XML_ERR_ENTITY_NOT_FINISHED</a> = 37 /* 37 */
    <a name="XML_ERR_LT_IN_ATTRIBUTE">XML_ERR_LT_IN_ATTRIBUTE</a> = 38 /* 38 */
    <a name="XML_ERR_ATTRIBUTE_NOT_STARTED">XML_ERR_ATTRIBUTE_NOT_STARTED</a> = 39 /* 39 */
    <a name="XML_ERR_ATTRIBUTE_NOT_FINISHED">XML_ERR_ATTRIBUTE_NOT_FINISHED</a> = 40 /* 40 */
    <a name="XML_ERR_ATTRIBUTE_WITHOUT_VALUE">XML_ERR_ATTRIBUTE_WITHOUT_VALUE</a> = 41 /* 41 */
    <a name="XML_ERR_ATTRIBUTE_REDEFINED">XML_ERR_ATTRIBUTE_REDEFINED</a> = 42 /* 42 */
    <a name="XML_ERR_LITERAL_NOT_STARTED">XML_ERR_LITERAL_NOT_STARTED</a> = 43 /* 43 */
    <a name="XML_ERR_LITERAL_NOT_FINISHED">XML_ERR_LITERAL_NOT_FINISHED</a> = 44 /* 44 */
    <a name="XML_ERR_COMMENT_NOT_FINISHED">XML_ERR_COMMENT_NOT_FINISHED</a> = 45 /* 45 */
    <a name="XML_ERR_PI_NOT_STARTED">XML_ERR_PI_NOT_STARTED</a> = 46 /* 46 */
    <a name="XML_ERR_PI_NOT_FINISHED">XML_ERR_PI_NOT_FINISHED</a> = 47 /* 47 */
    <a name="XML_ERR_NOTATION_NOT_STARTED">XML_ERR_NOTATION_NOT_STARTED</a> = 48 /* 48 */
    <a name="XML_ERR_NOTATION_NOT_FINISHED">XML_ERR_NOTATION_NOT_FINISHED</a> = 49 /* 49 */
    <a name="XML_ERR_ATTLIST_NOT_STARTED">XML_ERR_ATTLIST_NOT_STARTED</a> = 50 /* 50 */
    <a name="XML_ERR_ATTLIST_NOT_FINISHED">XML_ERR_ATTLIST_NOT_FINISHED</a> = 51 /* 51 */
    <a name="XML_ERR_MIXED_NOT_STARTED">XML_ERR_MIXED_NOT_STARTED</a> = 52 /* 52 */
    <a name="XML_ERR_MIXED_NOT_FINISHED">XML_ERR_MIXED_NOT_FINISHED</a> = 53 /* 53 */
    <a name="XML_ERR_ELEMCONTENT_NOT_STARTED">XML_ERR_ELEMCONTENT_NOT_STARTED</a> = 54 /* 54 */
    <a name="XML_ERR_ELEMCONTENT_NOT_FINISHED">XML_ERR_ELEMCONTENT_NOT_FINISHED</a> = 55 /* 55 */
    <a name="XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a> = 56 /* 56 */
    <a name="XML_ERR_XMLDECL_NOT_FINISHED">XML_ERR_XMLDECL_NOT_FINISHED</a> = 57 /* 57 */
    <a name="XML_ERR_CONDSEC_NOT_STARTED">XML_ERR_CONDSEC_NOT_STARTED</a> = 58 /* 58 */
    <a name="XML_ERR_CONDSEC_NOT_FINISHED">XML_ERR_CONDSEC_NOT_FINISHED</a> = 59 /* 59 */
    <a name="XML_ERR_EXT_SUBSET_NOT_FINISHED">XML_ERR_EXT_SUBSET_NOT_FINISHED</a> = 60 /* 60 */
    <a name="XML_ERR_DOCTYPE_NOT_FINISHED">XML_ERR_DOCTYPE_NOT_FINISHED</a> = 61 /* 61 */
    <a name="XML_ERR_MISPLACED_CDATA_END">XML_ERR_MISPLACED_CDATA_END</a> = 62 /* 62 */
    <a name="XML_ERR_CDATA_NOT_FINISHED">XML_ERR_CDATA_NOT_FINISHED</a> = 63 /* 63 */
    <a name="XML_ERR_RESERVED_XML_NAME">XML_ERR_RESERVED_XML_NAME</a> = 64 /* 64 */
    <a name="XML_ERR_SPACE_REQUIRED">XML_ERR_SPACE_REQUIRED</a> = 65 /* 65 */
    <a name="XML_ERR_SEPARATOR_REQUIRED">XML_ERR_SEPARATOR_REQUIRED</a> = 66 /* 66 */
    <a name="XML_ERR_NMTOKEN_REQUIRED">XML_ERR_NMTOKEN_REQUIRED</a> = 67 /* 67 */
    <a name="XML_ERR_NAME_REQUIRED">XML_ERR_NAME_REQUIRED</a> = 68 /* 68 */
    <a name="XML_ERR_PCDATA_REQUIRED">XML_ERR_PCDATA_REQUIRED</a> = 69 /* 69 */
    <a name="XML_ERR_URI_REQUIRED">XML_ERR_URI_REQUIRED</a> = 70 /* 70 */
    <a name="XML_ERR_PUBID_REQUIRED">XML_ERR_PUBID_REQUIRED</a> = 71 /* 71 */
    <a name="XML_ERR_LT_REQUIRED">XML_ERR_LT_REQUIRED</a> = 72 /* 72 */
    <a name="XML_ERR_GT_REQUIRED">XML_ERR_GT_REQUIRED</a> = 73 /* 73 */
    <a name="XML_ERR_LTSLASH_REQUIRED">XML_ERR_LTSLASH_REQUIRED</a> = 74 /* 74 */
    <a name="XML_ERR_EQUAL_REQUIRED">XML_ERR_EQUAL_REQUIRED</a> = 75 /* 75 */
    <a name="XML_ERR_TAG_NAME_MISMATCH">XML_ERR_TAG_NAME_MISMATCH</a> = 76 /* 76 */
    <a name="XML_ERR_TAG_NOT_FINISHED">XML_ERR_TAG_NOT_FINISHED</a> = 77 /* 77 */
    <a name="XML_ERR_STANDALONE_VALUE">XML_ERR_STANDALONE_VALUE</a> = 78 /* 78 */
    <a name="XML_ERR_ENCODING_NAME">XML_ERR_ENCODING_NAME</a> = 79 /* 79 */
    <a name="XML_ERR_HYPHEN_IN_COMMENT">XML_ERR_HYPHEN_IN_COMMENT</a> = 80 /* 80 */
    <a name="XML_ERR_INVALID_ENCODING">XML_ERR_INVALID_ENCODING</a> = 81 /* 81 */
    <a name="XML_ERR_EXT_ENTITY_STANDALONE">XML_ERR_EXT_ENTITY_STANDALONE</a> = 82 /* 82 */
    <a name="XML_ERR_CONDSEC_INVALID">XML_ERR_CONDSEC_INVALID</a> = 83 /* 83 */
    <a name="XML_ERR_VALUE_REQUIRED">XML_ERR_VALUE_REQUIRED</a> = 84 /* 84 */
    <a name="XML_ERR_NOT_WELL_BALANCED">XML_ERR_NOT_WELL_BALANCED</a> = 85 /* 85 */
    <a name="XML_ERR_EXTRA_CONTENT">XML_ERR_EXTRA_CONTENT</a> = 86 /* 86 */
    <a name="XML_ERR_ENTITY_CHAR_ERROR">XML_ERR_ENTITY_CHAR_ERROR</a> = 87 /* 87 */
    <a name="XML_ERR_ENTITY_PE_INTERNAL">XML_ERR_ENTITY_PE_INTERNAL</a> = 88 /* 88 */
    <a name="XML_ERR_ENTITY_LOOP">XML_ERR_ENTITY_LOOP</a> = 89 /* 89 */
    <a name="XML_ERR_ENTITY_BOUNDARY">XML_ERR_ENTITY_BOUNDARY</a> = 90 /* 90 */
    <a name="XML_ERR_INVALID_URI">XML_ERR_INVALID_URI</a> = 91 /* 91 */
    <a name="XML_ERR_URI_FRAGMENT">XML_ERR_URI_FRAGMENT</a> = 92 /* 92 */
    <a name="XML_WAR_CATALOG_PI">XML_WAR_CATALOG_PI</a> = 93 /* 93 */
    <a name="XML_ERR_NO_DTD">XML_ERR_NO_DTD</a> = 94 /* 94 */
    <a name="XML_ERR_CONDSEC_INVALID_KEYWORD">XML_ERR_CONDSEC_INVALID_KEYWORD</a> = 95 /* 95 */
    <a name="XML_ERR_VERSION_MISSING">XML_ERR_VERSION_MISSING</a> = 96 /* 96 */
    <a name="XML_WAR_UNKNOWN_VERSION">XML_WAR_UNKNOWN_VERSION</a> = 97 /* 97 */
    <a name="XML_WAR_LANG_VALUE">XML_WAR_LANG_VALUE</a> = 98 /* 98 */
    <a name="XML_WAR_NS_URI">XML_WAR_NS_URI</a> = 99 /* 99 */
    <a name="XML_WAR_NS_URI_RELATIVE">XML_WAR_NS_URI_RELATIVE</a> = 100 /* 100 */
    <a name="XML_ERR_MISSING_ENCODING">XML_ERR_MISSING_ENCODING</a> = 101 /* 101 */
    <a name="XML_WAR_SPACE_VALUE">XML_WAR_SPACE_VALUE</a> = 102 /* 102 */
    <a name="XML_ERR_NOT_STANDALONE">XML_ERR_NOT_STANDALONE</a> = 103 /* 103 */
    <a name="XML_ERR_ENTITY_PROCESSING">XML_ERR_ENTITY_PROCESSING</a> = 104 /* 104 */
    <a name="XML_ERR_NOTATION_PROCESSING">XML_ERR_NOTATION_PROCESSING</a> = 105 /* 105 */
    <a name="XML_WAR_NS_COLUMN">XML_WAR_NS_COLUMN</a> = 106 /* 106 */
    <a name="XML_WAR_ENTITY_REDEFINED">XML_WAR_ENTITY_REDEFINED</a> = 107 /* 107 */
    <a name="XML_ERR_UNKNOWN_VERSION">XML_ERR_UNKNOWN_VERSION</a> = 108 /* 108 */
    <a name="XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a> = 109 /* 109 */
    <a name="XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a> = 110 /* 110 */
    <a name="XML_ERR_USER_STOP">XML_ERR_USER_STOP</a> = 111 /* 111 */
    <a name="XML_ERR_COMMENT_ABRUPTLY_ENDED">XML_ERR_COMMENT_ABRUPTLY_ENDED</a> = 112 /* 112 */
    <a name="XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a> = 200
    <a name="XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a> = 201 /* 201 */
    <a name="XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a> = 202 /* 202 */
    <a name="XML_NS_ERR_ATTRIBUTE_REDEFINED">XML_NS_ERR_ATTRIBUTE_REDEFINED</a> = 203 /* 203 */
    <a name="XML_NS_ERR_EMPTY">XML_NS_ERR_EMPTY</a> = 204 /* 204 */
    <a name="XML_NS_ERR_COLON">XML_NS_ERR_COLON</a> = 205 /* 205 */
    <a name="XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a> = 500
    <a name="XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a> = 501 /* 501 */
    <a name="XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a> = 502 /* 502 */
    <a name="XML_DTD_CONTENT_ERROR">XML_DTD_CONTENT_ERROR</a> = 503 /* 503 */
    <a name="XML_DTD_CONTENT_MODEL">XML_DTD_CONTENT_MODEL</a> = 504 /* 504 */
    <a name="XML_DTD_CONTENT_NOT_DETERMINIST">XML_DTD_CONTENT_NOT_DETERMINIST</a> = 505 /* 505 */
    <a name="XML_DTD_DIFFERENT_PREFIX">XML_DTD_DIFFERENT_PREFIX</a> = 506 /* 506 */
    <a name="XML_DTD_ELEM_DEFAULT_NAMESPACE">XML_DTD_ELEM_DEFAULT_NAMESPACE</a> = 507 /* 507 */
    <a name="XML_DTD_ELEM_NAMESPACE">XML_DTD_ELEM_NAMESPACE</a> = 508 /* 508 */
    <a name="XML_DTD_ELEM_REDEFINED">XML_DTD_ELEM_REDEFINED</a> = 509 /* 509 */
    <a name="XML_DTD_EMPTY_NOTATION">XML_DTD_EMPTY_NOTATION</a> = 510 /* 510 */
    <a name="XML_DTD_ENTITY_TYPE">XML_DTD_ENTITY_TYPE</a> = 511 /* 511 */
    <a name="XML_DTD_ID_FIXED">XML_DTD_ID_FIXED</a> = 512 /* 512 */
    <a name="XML_DTD_ID_REDEFINED">XML_DTD_ID_REDEFINED</a> = 513 /* 513 */
    <a name="XML_DTD_ID_SUBSET">XML_DTD_ID_SUBSET</a> = 514 /* 514 */
    <a name="XML_DTD_INVALID_CHILD">XML_DTD_INVALID_CHILD</a> = 515 /* 515 */
    <a name="XML_DTD_INVALID_DEFAULT">XML_DTD_INVALID_DEFAULT</a> = 516 /* 516 */
    <a name="XML_DTD_LOAD_ERROR">XML_DTD_LOAD_ERROR</a> = 517 /* 517 */
    <a name="XML_DTD_MISSING_ATTRIBUTE">XML_DTD_MISSING_ATTRIBUTE</a> = 518 /* 518 */
    <a name="XML_DTD_MIXED_CORRUPT">XML_DTD_MIXED_CORRUPT</a> = 519 /* 519 */
    <a name="XML_DTD_MULTIPLE_ID">XML_DTD_MULTIPLE_ID</a> = 520 /* 520 */
    <a name="XML_DTD_NO_DOC">XML_DTD_NO_DOC</a> = 521 /* 521 */
    <a name="XML_DTD_NO_DTD">XML_DTD_NO_DTD</a> = 522 /* 522 */
    <a name="XML_DTD_NO_ELEM_NAME">XML_DTD_NO_ELEM_NAME</a> = 523 /* 523 */
    <a name="XML_DTD_NO_PREFIX">XML_DTD_NO_PREFIX</a> = 524 /* 524 */
    <a name="XML_DTD_NO_ROOT">XML_DTD_NO_ROOT</a> = 525 /* 525 */
    <a name="XML_DTD_NOTATION_REDEFINED">XML_DTD_NOTATION_REDEFINED</a> = 526 /* 526 */
    <a name="XML_DTD_NOTATION_VALUE">XML_DTD_NOTATION_VALUE</a> = 527 /* 527 */
    <a name="XML_DTD_NOT_EMPTY">XML_DTD_NOT_EMPTY</a> = 528 /* 528 */
    <a name="XML_DTD_NOT_PCDATA">XML_DTD_NOT_PCDATA</a> = 529 /* 529 */
    <a name="XML_DTD_NOT_STANDALONE">XML_DTD_NOT_STANDALONE</a> = 530 /* 530 */
    <a name="XML_DTD_ROOT_NAME">XML_DTD_ROOT_NAME</a> = 531 /* 531 */
    <a name="XML_DTD_STANDALONE_WHITE_SPACE">XML_DTD_STANDALONE_WHITE_SPACE</a> = 532 /* 532 */
    <a name="XML_DTD_UNKNOWN_ATTRIBUTE">XML_DTD_UNKNOWN_ATTRIBUTE</a> = 533 /* 533 */
    <a name="XML_DTD_UNKNOWN_ELEM">XML_DTD_UNKNOWN_ELEM</a> = 534 /* 534 */
    <a name="XML_DTD_UNKNOWN_ENTITY">XML_DTD_UNKNOWN_ENTITY</a> = 535 /* 535 */
    <a name="XML_DTD_UNKNOWN_ID">XML_DTD_UNKNOWN_ID</a> = 536 /* 536 */
    <a name="XML_DTD_UNKNOWN_NOTATION">XML_DTD_UNKNOWN_NOTATION</a> = 537 /* 537 */
    <a name="XML_DTD_STANDALONE_DEFAULTED">XML_DTD_STANDALONE_DEFAULTED</a> = 538 /* 538 */
    <a name="XML_DTD_XMLID_VALUE">XML_DTD_XMLID_VALUE</a> = 539 /* 539 */
    <a name="XML_DTD_XMLID_TYPE">XML_DTD_XMLID_TYPE</a> = 540 /* 540 */
    <a name="XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a> = 541 /* 541 */
    <a name="XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a> = 800
    <a name="XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a> = 801 /* 801 */
    <a name="XML_HTML_INCORRECTLY_OPENED_COMMENT">XML_HTML_INCORRECTLY_OPENED_COMMENT</a> = 802 /* 802 */
    <a name="XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a> = 1000
    <a name="XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a> = 1001 /* 1001 */
    <a name="XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a> = 1002 /* 1002 */
    <a name="XML_RNGP_ATTRIBUTE_CONTENT">XML_RNGP_ATTRIBUTE_CONTENT</a> = 1003 /* 1003 */
    <a name="XML_RNGP_ATTRIBUTE_EMPTY">XML_RNGP_ATTRIBUTE_EMPTY</a> = 1004 /* 1004 */
    <a name="XML_RNGP_ATTRIBUTE_NOOP">XML_RNGP_ATTRIBUTE_NOOP</a> = 1005 /* 1005 */
    <a name="XML_RNGP_CHOICE_CONTENT">XML_RNGP_CHOICE_CONTENT</a> = 1006 /* 1006 */
    <a name="XML_RNGP_CHOICE_EMPTY">XML_RNGP_CHOICE_EMPTY</a> = 1007 /* 1007 */
    <a name="XML_RNGP_CREATE_FAILURE">XML_RNGP_CREATE_FAILURE</a> = 1008 /* 1008 */
    <a name="XML_RNGP_DATA_CONTENT">XML_RNGP_DATA_CONTENT</a> = 1009 /* 1009 */
    <a name="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE">XML_RNGP_DEF_CHOICE_AND_INTERLEAVE</a> = 1010 /* 1010 */
    <a name="XML_RNGP_DEFINE_CREATE_FAILED">XML_RNGP_DEFINE_CREATE_FAILED</a> = 1011 /* 1011 */
    <a name="XML_RNGP_DEFINE_EMPTY">XML_RNGP_DEFINE_EMPTY</a> = 1012 /* 1012 */
    <a name="XML_RNGP_DEFINE_MISSING">XML_RNGP_DEFINE_MISSING</a> = 1013 /* 1013 */
    <a name="XML_RNGP_DEFINE_NAME_MISSING">XML_RNGP_DEFINE_NAME_MISSING</a> = 1014 /* 1014 */
    <a name="XML_RNGP_ELEM_CONTENT_EMPTY">XML_RNGP_ELEM_CONTENT_EMPTY</a> = 1015 /* 1015 */
    <a name="XML_RNGP_ELEM_CONTENT_ERROR">XML_RNGP_ELEM_CONTENT_ERROR</a> = 1016 /* 1016 */
    <a name="XML_RNGP_ELEMENT_EMPTY">XML_RNGP_ELEMENT_EMPTY</a> = 1017 /* 1017 */
    <a name="XML_RNGP_ELEMENT_CONTENT">XML_RNGP_ELEMENT_CONTENT</a> = 1018 /* 1018 */
    <a name="XML_RNGP_ELEMENT_NAME">XML_RNGP_ELEMENT_NAME</a> = 1019 /* 1019 */
    <a name="XML_RNGP_ELEMENT_NO_CONTENT">XML_RNGP_ELEMENT_NO_CONTENT</a> = 1020 /* 1020 */
    <a name="XML_RNGP_ELEM_TEXT_CONFLICT">XML_RNGP_ELEM_TEXT_CONFLICT</a> = 1021 /* 1021 */
    <a name="XML_RNGP_EMPTY">XML_RNGP_EMPTY</a> = 1022 /* 1022 */
    <a name="XML_RNGP_EMPTY_CONSTRUCT">XML_RNGP_EMPTY_CONSTRUCT</a> = 1023 /* 1023 */
    <a name="XML_RNGP_EMPTY_CONTENT">XML_RNGP_EMPTY_CONTENT</a> = 1024 /* 1024 */
    <a name="XML_RNGP_EMPTY_NOT_EMPTY">XML_RNGP_EMPTY_NOT_EMPTY</a> = 1025 /* 1025 */
    <a name="XML_RNGP_ERROR_TYPE_LIB">XML_RNGP_ERROR_TYPE_LIB</a> = 1026 /* 1026 */
    <a name="XML_RNGP_EXCEPT_EMPTY">XML_RNGP_EXCEPT_EMPTY</a> = 1027 /* 1027 */
    <a name="XML_RNGP_EXCEPT_MISSING">XML_RNGP_EXCEPT_MISSING</a> = 1028 /* 1028 */
    <a name="XML_RNGP_EXCEPT_MULTIPLE">XML_RNGP_EXCEPT_MULTIPLE</a> = 1029 /* 1029 */
    <a name="XML_RNGP_EXCEPT_NO_CONTENT">XML_RNGP_EXCEPT_NO_CONTENT</a> = 1030 /* 1030 */
    <a name="XML_RNGP_EXTERNALREF_EMTPY">XML_RNGP_EXTERNALREF_EMTPY</a> = 1031 /* 1031 */
    <a name="XML_RNGP_EXTERNAL_REF_FAILURE">XML_RNGP_EXTERNAL_REF_FAILURE</a> = 1032 /* 1032 */
    <a name="XML_RNGP_EXTERNALREF_RECURSE">XML_RNGP_EXTERNALREF_RECURSE</a> = 1033 /* 1033 */
    <a name="XML_RNGP_FORBIDDEN_ATTRIBUTE">XML_RNGP_FORBIDDEN_ATTRIBUTE</a> = 1034 /* 1034 */
    <a name="XML_RNGP_FOREIGN_ELEMENT">XML_RNGP_FOREIGN_ELEMENT</a> = 1035 /* 1035 */
    <a name="XML_RNGP_GRAMMAR_CONTENT">XML_RNGP_GRAMMAR_CONTENT</a> = 1036 /* 1036 */
    <a name="XML_RNGP_GRAMMAR_EMPTY">XML_RNGP_GRAMMAR_EMPTY</a> = 1037 /* 1037 */
    <a name="XML_RNGP_GRAMMAR_MISSING">XML_RNGP_GRAMMAR_MISSING</a> = 1038 /* 1038 */
    <a name="XML_RNGP_GRAMMAR_NO_START">XML_RNGP_GRAMMAR_NO_START</a> = 1039 /* 1039 */
    <a name="XML_RNGP_GROUP_ATTR_CONFLICT">XML_RNGP_GROUP_ATTR_CONFLICT</a> = 1040 /* 1040 */
    <a name="XML_RNGP_HREF_ERROR">XML_RNGP_HREF_ERROR</a> = 1041 /* 1041 */
    <a name="XML_RNGP_INCLUDE_EMPTY">XML_RNGP_INCLUDE_EMPTY</a> = 1042 /* 1042 */
    <a name="XML_RNGP_INCLUDE_FAILURE">XML_RNGP_INCLUDE_FAILURE</a> = 1043 /* 1043 */
    <a name="XML_RNGP_INCLUDE_RECURSE">XML_RNGP_INCLUDE_RECURSE</a> = 1044 /* 1044 */
    <a name="XML_RNGP_INTERLEAVE_ADD">XML_RNGP_INTERLEAVE_ADD</a> = 1045 /* 1045 */
    <a name="XML_RNGP_INTERLEAVE_CREATE_FAILED">XML_RNGP_INTERLEAVE_CREATE_FAILED</a> = 1046 /* 1046 */
    <a name="XML_RNGP_INTERLEAVE_EMPTY">XML_RNGP_INTERLEAVE_EMPTY</a> = 1047 /* 1047 */
    <a name="XML_RNGP_INTERLEAVE_NO_CONTENT">XML_RNGP_INTERLEAVE_NO_CONTENT</a> = 1048 /* 1048 */
    <a name="XML_RNGP_INVALID_DEFINE_NAME">XML_RNGP_INVALID_DEFINE_NAME</a> = 1049 /* 1049 */
    <a name="XML_RNGP_INVALID_URI">XML_RNGP_INVALID_URI</a> = 1050 /* 1050 */
    <a name="XML_RNGP_INVALID_VALUE">XML_RNGP_INVALID_VALUE</a> = 1051 /* 1051 */
    <a name="XML_RNGP_MISSING_HREF">XML_RNGP_MISSING_HREF</a> = 1052 /* 1052 */
    <a name="XML_RNGP_NAME_MISSING">XML_RNGP_NAME_MISSING</a> = 1053 /* 1053 */
    <a name="XML_RNGP_NEED_COMBINE">XML_RNGP_NEED_COMBINE</a> = 1054 /* 1054 */
    <a name="XML_RNGP_NOTALLOWED_NOT_EMPTY">XML_RNGP_NOTALLOWED_NOT_EMPTY</a> = 1055 /* 1055 */
    <a name="XML_RNGP_NSNAME_ATTR_ANCESTOR">XML_RNGP_NSNAME_ATTR_ANCESTOR</a> = 1056 /* 1056 */
    <a name="XML_RNGP_NSNAME_NO_NS">XML_RNGP_NSNAME_NO_NS</a> = 1057 /* 1057 */
    <a name="XML_RNGP_PARAM_FORBIDDEN">XML_RNGP_PARAM_FORBIDDEN</a> = 1058 /* 1058 */
    <a name="XML_RNGP_PARAM_NAME_MISSING">XML_RNGP_PARAM_NAME_MISSING</a> = 1059 /* 1059 */
    <a name="XML_RNGP_PARENTREF_CREATE_FAILED">XML_RNGP_PARENTREF_CREATE_FAILED</a> = 1060 /* 1060 */
    <a name="XML_RNGP_PARENTREF_NAME_INVALID">XML_RNGP_PARENTREF_NAME_INVALID</a> = 1061 /* 1061 */
    <a name="XML_RNGP_PARENTREF_NO_NAME">XML_RNGP_PARENTREF_NO_NAME</a> = 1062 /* 1062 */
    <a name="XML_RNGP_PARENTREF_NO_PARENT">XML_RNGP_PARENTREF_NO_PARENT</a> = 1063 /* 1063 */
    <a name="XML_RNGP_PARENTREF_NOT_EMPTY">XML_RNGP_PARENTREF_NOT_EMPTY</a> = 1064 /* 1064 */
    <a name="XML_RNGP_PARSE_ERROR">XML_RNGP_PARSE_ERROR</a> = 1065 /* 1065 */
    <a name="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME</a> = 1066 /* 1066 */
    <a name="XML_RNGP_PAT_ATTR_ATTR">XML_RNGP_PAT_ATTR_ATTR</a> = 1067 /* 1067 */
    <a name="XML_RNGP_PAT_ATTR_ELEM">XML_RNGP_PAT_ATTR_ELEM</a> = 1068 /* 1068 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ATTR">XML_RNGP_PAT_DATA_EXCEPT_ATTR</a> = 1069 /* 1069 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ELEM">XML_RNGP_PAT_DATA_EXCEPT_ELEM</a> = 1070 /* 1070 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_EMPTY">XML_RNGP_PAT_DATA_EXCEPT_EMPTY</a> = 1071 /* 1071 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_GROUP">XML_RNGP_PAT_DATA_EXCEPT_GROUP</a> = 1072 /* 1072 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE">XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE</a> = 1073 /* 1073 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_LIST">XML_RNGP_PAT_DATA_EXCEPT_LIST</a> = 1074 /* 1074 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE">XML_RNGP_PAT_DATA_EXCEPT_ONEMORE</a> = 1075 /* 1075 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_REF">XML_RNGP_PAT_DATA_EXCEPT_REF</a> = 1076 /* 1076 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_TEXT">XML_RNGP_PAT_DATA_EXCEPT_TEXT</a> = 1077 /* 1077 */
    <a name="XML_RNGP_PAT_LIST_ATTR">XML_RNGP_PAT_LIST_ATTR</a> = 1078 /* 1078 */
    <a name="XML_RNGP_PAT_LIST_ELEM">XML_RNGP_PAT_LIST_ELEM</a> = 1079 /* 1079 */
    <a name="XML_RNGP_PAT_LIST_INTERLEAVE">XML_RNGP_PAT_LIST_INTERLEAVE</a> = 1080 /* 1080 */
    <a name="XML_RNGP_PAT_LIST_LIST">XML_RNGP_PAT_LIST_LIST</a> = 1081 /* 1081 */
    <a name="XML_RNGP_PAT_LIST_REF">XML_RNGP_PAT_LIST_REF</a> = 1082 /* 1082 */
    <a name="XML_RNGP_PAT_LIST_TEXT">XML_RNGP_PAT_LIST_TEXT</a> = 1083 /* 1083 */
    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME</a> = 1084 /* 1084 */
    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME">XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME</a> = 1085 /* 1085 */
    <a name="XML_RNGP_PAT_ONEMORE_GROUP_ATTR">XML_RNGP_PAT_ONEMORE_GROUP_ATTR</a> = 1086 /* 1086 */
    <a name="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR">XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR</a> = 1087 /* 1087 */
    <a name="XML_RNGP_PAT_START_ATTR">XML_RNGP_PAT_START_ATTR</a> = 1088 /* 1088 */
    <a name="XML_RNGP_PAT_START_DATA">XML_RNGP_PAT_START_DATA</a> = 1089 /* 1089 */
    <a name="XML_RNGP_PAT_START_EMPTY">XML_RNGP_PAT_START_EMPTY</a> = 1090 /* 1090 */
    <a name="XML_RNGP_PAT_START_GROUP">XML_RNGP_PAT_START_GROUP</a> = 1091 /* 1091 */
    <a name="XML_RNGP_PAT_START_INTERLEAVE">XML_RNGP_PAT_START_INTERLEAVE</a> = 1092 /* 1092 */
    <a name="XML_RNGP_PAT_START_LIST">XML_RNGP_PAT_START_LIST</a> = 1093 /* 1093 */
    <a name="XML_RNGP_PAT_START_ONEMORE">XML_RNGP_PAT_START_ONEMORE</a> = 1094 /* 1094 */
    <a name="XML_RNGP_PAT_START_TEXT">XML_RNGP_PAT_START_TEXT</a> = 1095 /* 1095 */
    <a name="XML_RNGP_PAT_START_VALUE">XML_RNGP_PAT_START_VALUE</a> = 1096 /* 1096 */
    <a name="XML_RNGP_PREFIX_UNDEFINED">XML_RNGP_PREFIX_UNDEFINED</a> = 1097 /* 1097 */
    <a name="XML_RNGP_REF_CREATE_FAILED">XML_RNGP_REF_CREATE_FAILED</a> = 1098 /* 1098 */
    <a name="XML_RNGP_REF_CYCLE">XML_RNGP_REF_CYCLE</a> = 1099 /* 1099 */
    <a name="XML_RNGP_REF_NAME_INVALID">XML_RNGP_REF_NAME_INVALID</a> = 1100 /* 1100 */
    <a name="XML_RNGP_REF_NO_DEF">XML_RNGP_REF_NO_DEF</a> = 1101 /* 1101 */
    <a name="XML_RNGP_REF_NO_NAME">XML_RNGP_REF_NO_NAME</a> = 1102 /* 1102 */
    <a name="XML_RNGP_REF_NOT_EMPTY">XML_RNGP_REF_NOT_EMPTY</a> = 1103 /* 1103 */
    <a name="XML_RNGP_START_CHOICE_AND_INTERLEAVE">XML_RNGP_START_CHOICE_AND_INTERLEAVE</a> = 1104 /* 1104 */
    <a name="XML_RNGP_START_CONTENT">XML_RNGP_START_CONTENT</a> = 1105 /* 1105 */
    <a name="XML_RNGP_START_EMPTY">XML_RNGP_START_EMPTY</a> = 1106 /* 1106 */
    <a name="XML_RNGP_START_MISSING">XML_RNGP_START_MISSING</a> = 1107 /* 1107 */
    <a name="XML_RNGP_TEXT_EXPECTED">XML_RNGP_TEXT_EXPECTED</a> = 1108 /* 1108 */
    <a name="XML_RNGP_TEXT_HAS_CHILD">XML_RNGP_TEXT_HAS_CHILD</a> = 1109 /* 1109 */
    <a name="XML_RNGP_TYPE_MISSING">XML_RNGP_TYPE_MISSING</a> = 1110 /* 1110 */
    <a name="XML_RNGP_TYPE_NOT_FOUND">XML_RNGP_TYPE_NOT_FOUND</a> = 1111 /* 1111 */
    <a name="XML_RNGP_TYPE_VALUE">XML_RNGP_TYPE_VALUE</a> = 1112 /* 1112 */
    <a name="XML_RNGP_UNKNOWN_ATTRIBUTE">XML_RNGP_UNKNOWN_ATTRIBUTE</a> = 1113 /* 1113 */
    <a name="XML_RNGP_UNKNOWN_COMBINE">XML_RNGP_UNKNOWN_COMBINE</a> = 1114 /* 1114 */
    <a name="XML_RNGP_UNKNOWN_CONSTRUCT">XML_RNGP_UNKNOWN_CONSTRUCT</a> = 1115 /* 1115 */
    <a name="XML_RNGP_UNKNOWN_TYPE_LIB">XML_RNGP_UNKNOWN_TYPE_LIB</a> = 1116 /* 1116 */
    <a name="XML_RNGP_URI_FRAGMENT">XML_RNGP_URI_FRAGMENT</a> = 1117 /* 1117 */
    <a name="XML_RNGP_URI_NOT_ABSOLUTE">XML_RNGP_URI_NOT_ABSOLUTE</a> = 1118 /* 1118 */
    <a name="XML_RNGP_VALUE_EMPTY">XML_RNGP_VALUE_EMPTY</a> = 1119 /* 1119 */
    <a name="XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a> = 1120 /* 1120 */
    <a name="XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a> = 1121 /* 1121 */
    <a name="XML_RNGP_XML_NS">XML_RNGP_XML_NS</a> = 1122 /* 1122 */
    <a name="XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a> = 1200
    <a name="XML_XPATH_NUMBER_ERROR">XML_XPATH_NUMBER_ERROR</a> = 1201 /* 1201 */
    <a name="XML_XPATH_UNFINISHED_LITERAL_ERROR">XML_XPATH_UNFINISHED_LITERAL_ERROR</a> = 1202 /* 1202 */
    <a name="XML_XPATH_START_LITERAL_ERROR">XML_XPATH_START_LITERAL_ERROR</a> = 1203 /* 1203 */
    <a name="XML_XPATH_VARIABLE_REF_ERROR">XML_XPATH_VARIABLE_REF_ERROR</a> = 1204 /* 1204 */
    <a name="XML_XPATH_UNDEF_VARIABLE_ERROR">XML_XPATH_UNDEF_VARIABLE_ERROR</a> = 1205 /* 1205 */
    <a name="XML_XPATH_INVALID_PREDICATE_ERROR">XML_XPATH_INVALID_PREDICATE_ERROR</a> = 1206 /* 1206 */
    <a name="XML_XPATH_EXPR_ERROR">XML_XPATH_EXPR_ERROR</a> = 1207 /* 1207 */
    <a name="XML_XPATH_UNCLOSED_ERROR">XML_XPATH_UNCLOSED_ERROR</a> = 1208 /* 1208 */
    <a name="XML_XPATH_UNKNOWN_FUNC_ERROR">XML_XPATH_UNKNOWN_FUNC_ERROR</a> = 1209 /* 1209 */
    <a name="XML_XPATH_INVALID_OPERAND">XML_XPATH_INVALID_OPERAND</a> = 1210 /* 1210 */
    <a name="XML_XPATH_INVALID_TYPE">XML_XPATH_INVALID_TYPE</a> = 1211 /* 1211 */
    <a name="XML_XPATH_INVALID_ARITY">XML_XPATH_INVALID_ARITY</a> = 1212 /* 1212 */
    <a name="XML_XPATH_INVALID_CTXT_SIZE">XML_XPATH_INVALID_CTXT_SIZE</a> = 1213 /* 1213 */
    <a name="XML_XPATH_INVALID_CTXT_POSITION">XML_XPATH_INVALID_CTXT_POSITION</a> = 1214 /* 1214 */
    <a name="XML_XPATH_MEMORY_ERROR">XML_XPATH_MEMORY_ERROR</a> = 1215 /* 1215 */
    <a name="XML_XPTR_SYNTAX_ERROR">XML_XPTR_SYNTAX_ERROR</a> = 1216 /* 1216 */
    <a name="XML_XPTR_RESOURCE_ERROR">XML_XPTR_RESOURCE_ERROR</a> = 1217 /* 1217 */
    <a name="XML_XPTR_SUB_RESOURCE_ERROR">XML_XPTR_SUB_RESOURCE_ERROR</a> = 1218 /* 1218 */
    <a name="XML_XPATH_UNDEF_PREFIX_ERROR">XML_XPATH_UNDEF_PREFIX_ERROR</a> = 1219 /* 1219 */
    <a name="XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a> = 1220 /* 1220 */
    <a name="XML_XPATH_INVALID_CHAR_ERROR">XML_XPATH_INVALID_CHAR_ERROR</a> = 1221 /* 1221 */
    <a name="XML_TREE_INVALID_HEX">XML_TREE_INVALID_HEX</a> = 1300
    <a name="XML_TREE_INVALID_DEC">XML_TREE_INVALID_DEC</a> = 1301 /* 1301 */
    <a name="XML_TREE_UNTERMINATED_ENTITY">XML_TREE_UNTERMINATED_ENTITY</a> = 1302 /* 1302 */
    <a name="XML_TREE_NOT_UTF8">XML_TREE_NOT_UTF8</a> = 1303 /* 1303 */
    <a name="XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a> = 1400
    <a name="XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a> = 1401 /* 1401 */
    <a name="XML_SAVE_NO_DOCTYPE">XML_SAVE_NO_DOCTYPE</a> = 1402 /* 1402 */
    <a name="XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a> = 1403 /* 1403 */
    <a name="XML_REGEXP_COMPILE_ERROR">XML_REGEXP_COMPILE_ERROR</a> = 1450
    <a name="XML_IO_UNKNOWN">XML_IO_UNKNOWN</a> = 1500
    <a name="XML_IO_EACCES">XML_IO_EACCES</a> = 1501 /* 1501 */
    <a name="XML_IO_EAGAIN">XML_IO_EAGAIN</a> = 1502 /* 1502 */
    <a name="XML_IO_EBADF">XML_IO_EBADF</a> = 1503 /* 1503 */
    <a name="XML_IO_EBADMSG">XML_IO_EBADMSG</a> = 1504 /* 1504 */
    <a name="XML_IO_EBUSY">XML_IO_EBUSY</a> = 1505 /* 1505 */
    <a name="XML_IO_ECANCELED">XML_IO_ECANCELED</a> = 1506 /* 1506 */
    <a name="XML_IO_ECHILD">XML_IO_ECHILD</a> = 1507 /* 1507 */
    <a name="XML_IO_EDEADLK">XML_IO_EDEADLK</a> = 1508 /* 1508 */
    <a name="XML_IO_EDOM">XML_IO_EDOM</a> = 1509 /* 1509 */
    <a name="XML_IO_EEXIST">XML_IO_EEXIST</a> = 1510 /* 1510 */
    <a name="XML_IO_EFAULT">XML_IO_EFAULT</a> = 1511 /* 1511 */
    <a name="XML_IO_EFBIG">XML_IO_EFBIG</a> = 1512 /* 1512 */
    <a name="XML_IO_EINPROGRESS">XML_IO_EINPROGRESS</a> = 1513 /* 1513 */
    <a name="XML_IO_EINTR">XML_IO_EINTR</a> = 1514 /* 1514 */
    <a name="XML_IO_EINVAL">XML_IO_EINVAL</a> = 1515 /* 1515 */
    <a name="XML_IO_EIO">XML_IO_EIO</a> = 1516 /* 1516 */
    <a name="XML_IO_EISDIR">XML_IO_EISDIR</a> = 1517 /* 1517 */
    <a name="XML_IO_EMFILE">XML_IO_EMFILE</a> = 1518 /* 1518 */
    <a name="XML_IO_EMLINK">XML_IO_EMLINK</a> = 1519 /* 1519 */
    <a name="XML_IO_EMSGSIZE">XML_IO_EMSGSIZE</a> = 1520 /* 1520 */
    <a name="XML_IO_ENAMETOOLONG">XML_IO_ENAMETOOLONG</a> = 1521 /* 1521 */
    <a name="XML_IO_ENFILE">XML_IO_ENFILE</a> = 1522 /* 1522 */
    <a name="XML_IO_ENODEV">XML_IO_ENODEV</a> = 1523 /* 1523 */
    <a name="XML_IO_ENOENT">XML_IO_ENOENT</a> = 1524 /* 1524 */
    <a name="XML_IO_ENOEXEC">XML_IO_ENOEXEC</a> = 1525 /* 1525 */
    <a name="XML_IO_ENOLCK">XML_IO_ENOLCK</a> = 1526 /* 1526 */
    <a name="XML_IO_ENOMEM">XML_IO_ENOMEM</a> = 1527 /* 1527 */
    <a name="XML_IO_ENOSPC">XML_IO_ENOSPC</a> = 1528 /* 1528 */
    <a name="XML_IO_ENOSYS">XML_IO_ENOSYS</a> = 1529 /* 1529 */
    <a name="XML_IO_ENOTDIR">XML_IO_ENOTDIR</a> = 1530 /* 1530 */
    <a name="XML_IO_ENOTEMPTY">XML_IO_ENOTEMPTY</a> = 1531 /* 1531 */
    <a name="XML_IO_ENOTSUP">XML_IO_ENOTSUP</a> = 1532 /* 1532 */
    <a name="XML_IO_ENOTTY">XML_IO_ENOTTY</a> = 1533 /* 1533 */
    <a name="XML_IO_ENXIO">XML_IO_ENXIO</a> = 1534 /* 1534 */
    <a name="XML_IO_EPERM">XML_IO_EPERM</a> = 1535 /* 1535 */
    <a name="XML_IO_EPIPE">XML_IO_EPIPE</a> = 1536 /* 1536 */
    <a name="XML_IO_ERANGE">XML_IO_ERANGE</a> = 1537 /* 1537 */
    <a name="XML_IO_EROFS">XML_IO_EROFS</a> = 1538 /* 1538 */
    <a name="XML_IO_ESPIPE">XML_IO_ESPIPE</a> = 1539 /* 1539 */
    <a name="XML_IO_ESRCH">XML_IO_ESRCH</a> = 1540 /* 1540 */
    <a name="XML_IO_ETIMEDOUT">XML_IO_ETIMEDOUT</a> = 1541 /* 1541 */
    <a name="XML_IO_EXDEV">XML_IO_EXDEV</a> = 1542 /* 1542 */
    <a name="XML_IO_NETWORK_ATTEMPT">XML_IO_NETWORK_ATTEMPT</a> = 1543 /* 1543 */
    <a name="XML_IO_ENCODER">XML_IO_ENCODER</a> = 1544 /* 1544 */
    <a name="XML_IO_FLUSH">XML_IO_FLUSH</a> = 1545 /* 1545 */
    <a name="XML_IO_WRITE">XML_IO_WRITE</a> = 1546 /* 1546 */
    <a name="XML_IO_NO_INPUT">XML_IO_NO_INPUT</a> = 1547 /* 1547 */
    <a name="XML_IO_BUFFER_FULL">XML_IO_BUFFER_FULL</a> = 1548 /* 1548 */
    <a name="XML_IO_LOAD_ERROR">XML_IO_LOAD_ERROR</a> = 1549 /* 1549 */
    <a name="XML_IO_ENOTSOCK">XML_IO_ENOTSOCK</a> = 1550 /* 1550 */
    <a name="XML_IO_EISCONN">XML_IO_EISCONN</a> = 1551 /* 1551 */
    <a name="XML_IO_ECONNREFUSED">XML_IO_ECONNREFUSED</a> = 1552 /* 1552 */
    <a name="XML_IO_ENETUNREACH">XML_IO_ENETUNREACH</a> = 1553 /* 1553 */
    <a name="XML_IO_EADDRINUSE">XML_IO_EADDRINUSE</a> = 1554 /* 1554 */
    <a name="XML_IO_EALREADY">XML_IO_EALREADY</a> = 1555 /* 1555 */
    <a name="XML_IO_EAFNOSUPPORT">XML_IO_EAFNOSUPPORT</a> = 1556 /* 1556 */
    <a name="XML_XINCLUDE_RECURSION">XML_XINCLUDE_RECURSION</a> = 1600
    <a name="XML_XINCLUDE_PARSE_VALUE">XML_XINCLUDE_PARSE_VALUE</a> = 1601 /* 1601 */
    <a name="XML_XINCLUDE_ENTITY_DEF_MISMATCH">XML_XINCLUDE_ENTITY_DEF_MISMATCH</a> = 1602 /* 1602 */
    <a name="XML_XINCLUDE_NO_HREF">XML_XINCLUDE_NO_HREF</a> = 1603 /* 1603 */
    <a name="XML_XINCLUDE_NO_FALLBACK">XML_XINCLUDE_NO_FALLBACK</a> = 1604 /* 1604 */
    <a name="XML_XINCLUDE_HREF_URI">XML_XINCLUDE_HREF_URI</a> = 1605 /* 1605 */
    <a name="XML_XINCLUDE_TEXT_FRAGMENT">XML_XINCLUDE_TEXT_FRAGMENT</a> = 1606 /* 1606 */
    <a name="XML_XINCLUDE_TEXT_DOCUMENT">XML_XINCLUDE_TEXT_DOCUMENT</a> = 1607 /* 1607 */
    <a name="XML_XINCLUDE_INVALID_CHAR">XML_XINCLUDE_INVALID_CHAR</a> = 1608 /* 1608 */
    <a name="XML_XINCLUDE_BUILD_FAILED">XML_XINCLUDE_BUILD_FAILED</a> = 1609 /* 1609 */
    <a name="XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a> = 1610 /* 1610 */
    <a name="XML_XINCLUDE_MULTIPLE_ROOT">XML_XINCLUDE_MULTIPLE_ROOT</a> = 1611 /* 1611 */
    <a name="XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a> = 1612 /* 1612 */
    <a name="XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a> = 1613 /* 1613 */
    <a name="XML_XINCLUDE_INCLUDE_IN_INCLUDE">XML_XINCLUDE_INCLUDE_IN_INCLUDE</a> = 1614 /* 1614 */
    <a name="XML_XINCLUDE_FALLBACKS_IN_INCLUDE">XML_XINCLUDE_FALLBACKS_IN_INCLUDE</a> = 1615 /* 1615 */
    <a name="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE">XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE</a> = 1616 /* 1616 */
    <a name="XML_XINCLUDE_DEPRECATED_NS">XML_XINCLUDE_DEPRECATED_NS</a> = 1617 /* 1617 */
    <a name="XML_XINCLUDE_FRAGMENT_ID">XML_XINCLUDE_FRAGMENT_ID</a> = 1618 /* 1618 */
    <a name="XML_CATALOG_MISSING_ATTR">XML_CATALOG_MISSING_ATTR</a> = 1650
    <a name="XML_CATALOG_ENTRY_BROKEN">XML_CATALOG_ENTRY_BROKEN</a> = 1651 /* 1651 */
    <a name="XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a> = 1652 /* 1652 */
    <a name="XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a> = 1653 /* 1653 */
    <a name="XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a> = 1654 /* 1654 */
    <a name="XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a> = 1700
    <a name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a> = 1701 /* 1701 */
    <a name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a> = 1702 /* 1702 */
    <a name="XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a> = 1703 /* 1703 */
    <a name="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a> = 1704 /* 1704 */
    <a name="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE">XML_SCHEMAP_ELEMFORMDEFAULT_VALUE</a> = 1705 /* 1705 */
    <a name="XML_SCHEMAP_ELEM_NONAME_NOREF">XML_SCHEMAP_ELEM_NONAME_NOREF</a> = 1706 /* 1706 */
    <a name="XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a> = 1707 /* 1707 */
    <a name="XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a> = 1708 /* 1708 */
    <a name="XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a> = 1709 /* 1709 */
    <a name="XML_SCHEMAP_GROUP_NONAME_NOREF">XML_SCHEMAP_GROUP_NONAME_NOREF</a> = 1710 /* 1710 */
    <a name="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI">XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a> = 1711 /* 1711 */
    <a name="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME">XML_SCHEMAP_IMPORT_REDEFINE_NSNAME</a> = 1712 /* 1712 */
    <a name="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a> = 1713 /* 1713 */
    <a name="XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a> = 1714 /* 1714 */
    <a name="XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a> = 1715 /* 1715 */
    <a name="XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a> = 1716 /* 1716 */
    <a name="XML_SCHEMAP_INVALID_FACET_VALUE">XML_SCHEMAP_INVALID_FACET_VALUE</a> = 1717 /* 1717 */
    <a name="XML_SCHEMAP_INVALID_MAXOCCURS">XML_SCHEMAP_INVALID_MAXOCCURS</a> = 1718 /* 1718 */
    <a name="XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a> = 1719 /* 1719 */
    <a name="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a> = 1720 /* 1720 */
    <a name="XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a> = 1721 /* 1721 */
    <a name="XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a> = 1722 /* 1722 */
    <a name="XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a> = 1723 /* 1723 */
    <a name="XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a> = 1724 /* 1724 */
    <a name="XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a> = 1725 /* 1725 */
    <a name="XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a> = 1726 /* 1726 */
    <a name="XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a> = 1727 /* 1727 */
    <a name="XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a> = 1728 /* 1728 */
    <a name="XML_SCHEMAP_UNKNOWN_ALL_CHILD">XML_SCHEMAP_UNKNOWN_ALL_CHILD</a> = 1729 /* 1729 */
    <a name="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD">XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD</a> = 1730 /* 1730 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTR_CHILD">XML_SCHEMAP_UNKNOWN_ATTR_CHILD</a> = 1731 /* 1731 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD">XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD</a> = 1732 /* 1732 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP">XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP</a> = 1733 /* 1733 */
    <a name="XML_SCHEMAP_UNKNOWN_BASE_TYPE">XML_SCHEMAP_UNKNOWN_BASE_TYPE</a> = 1734 /* 1734 */
    <a name="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD">XML_SCHEMAP_UNKNOWN_CHOICE_CHILD</a> = 1735 /* 1735 */
    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD</a> = 1736 /* 1736 */
    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD</a> = 1737 /* 1737 */
    <a name="XML_SCHEMAP_UNKNOWN_ELEM_CHILD">XML_SCHEMAP_UNKNOWN_ELEM_CHILD</a> = 1738 /* 1738 */
    <a name="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD">XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD</a> = 1739 /* 1739 */
    <a name="XML_SCHEMAP_UNKNOWN_FACET_CHILD">XML_SCHEMAP_UNKNOWN_FACET_CHILD</a> = 1740 /* 1740 */
    <a name="XML_SCHEMAP_UNKNOWN_FACET_TYPE">XML_SCHEMAP_UNKNOWN_FACET_TYPE</a> = 1741 /* 1741 */
    <a name="XML_SCHEMAP_UNKNOWN_GROUP_CHILD">XML_SCHEMAP_UNKNOWN_GROUP_CHILD</a> = 1742 /* 1742 */
    <a name="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a> = 1743 /* 1743 */
    <a name="XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a> = 1744 /* 1744 */
    <a name="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a> = 1745 /* 1745 */
    <a name="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a> = 1746 /* 1746 */
    <a name="XML_SCHEMAP_UNKNOWN_REF">XML_SCHEMAP_UNKNOWN_REF</a> = 1747 /* 1747 */
    <a name="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD">XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD</a> = 1748 /* 1748 */
    <a name="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD">XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a> = 1749 /* 1749 */
    <a name="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD">XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a> = 1750 /* 1750 */
    <a name="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a> = 1751 /* 1751 */
    <a name="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a> = 1752 /* 1752 */
    <a name="XML_SCHEMAP_UNKNOWN_TYPE">XML_SCHEMAP_UNKNOWN_TYPE</a> = 1753 /* 1753 */
    <a name="XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a> = 1754 /* 1754 */
    <a name="XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a> = 1755 /* 1755 */
    <a name="XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a> = 1756 /* 1756 */
    <a name="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 /* 1757 */
    <a name="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 /* 1758 */
    <a name="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 /* 1759 */
    <a name="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 /* 1760 */
    <a name="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 /* 1761 */
    <a name="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 /* 1762 */
    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 /* 1763 */
    <a name="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 /* 1764 */
    <a name="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 /* 1765 */
    <a name="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 /* 1766 */
    <a name="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 /* 1767 */
    <a name="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 /* 1768 */
    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 /* 1769 */
    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 /* 1770 */
    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 /* 1771 */
    <a name="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 /* 1772 */
    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 /* 1773 */
    <a name="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 /* 1774 */
    <a name="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 /* 1775 */
    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 /* 1776 */
    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 /* 1777 */
    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 /* 1778 */
    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 /* 1779 */
    <a name="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 /* 1780 */
    <a name="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 /* 1781 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 /* 1782 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 /* 1783 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 /* 1784 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 /* 1785 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 /* 1786 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 /* 1787 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 /* 1788 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 /* 1789 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 /* 1790 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 /* 1791 */
    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 /* 1792 */
    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 /* 1793 */
    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 /* 1794 */
    <a name="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 /* 1795 */
    <a name="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 /* 1796 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 /* 1797 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 /* 1798 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 /* 1799 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 /* 1800 */
    <a name="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1801
    <a name="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1802 /* 1802 */
    <a name="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1803 /* 1803 */
    <a name="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1804 /* 1804 */
    <a name="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1805 /* 1805 */
    <a name="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1806 /* 1806 */
    <a name="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1807 /* 1807 */
    <a name="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1808 /* 1808 */
    <a name="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1809 /* 1809 */
    <a name="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1810 /* 1810 */
    <a name="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1811 /* 1811 */
    <a name="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1812 /* 1812 */
    <a name="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1813 /* 1813 */
    <a name="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1814 /* 1814 */
    <a name="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1815 /* 1815 */
    <a name="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1816 /* 1816 */
    <a name="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1817 /* 1817 */
    <a name="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1818 /* 1818 */
    <a name="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1819 /* 1819 */
    <a name="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1820 /* 1820 */
    <a name="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1821 /* 1821 */
    <a name="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1822 /* 1822 */
    <a name="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1823 /* 1823 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1824 /* 1824 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1825 /* 1825 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1826 /* 1826 */
    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1827 /* 1827 */
    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1828 /* 1828 */
    <a name="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1829 /* 1829 */
    <a name="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1830 /* 1830 */
    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1831 /* 1831 */
    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1832 /* 1832 */
    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1833 /* 1833 */
    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1834 /* 1834 */
    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1835 /* 1835 */
    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1836 /* 1836 */
    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1837 /* 1837 */
    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1838 /* 1838 */
    <a name="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1839 /* 1839 */
    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1840 /* 1840 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1841 /* 1841 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1842 /* 1842 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1843 /* 1843 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1844 /* 1844 */
    <a name="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1845 /* 1845 */
    <a name="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1846 /* 1846 */
    <a name="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1847 /* 1847 */
    <a name="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1848 /* 1848 */
    <a name="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1849 /* 1849 */
    <a name="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1850 /* 1850 */
    <a name="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1851 /* 1851 */
    <a name="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1852 /* 1852 */
    <a name="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1853 /* 1853 */
    <a name="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1854 /* 1854 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1855 /* 1855 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1856 /* 1856 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1857 /* 1857 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1858 /* 1858 */
    <a name="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1859 /* 1859 */
    <a name="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1860 /* 1860 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1861 /* 1861 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1862 /* 1862 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1863 /* 1863 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1864 /* 1864 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1865 /* 1865 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1866 /* 1866 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1867 /* 1867 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1868 /* 1868 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1869 /* 1869 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1870 /* 1870 */
    <a name="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1871 /* 1871 */
    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1872 /* 1872 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a> = 1873 /* 1873 */
    <a name="XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a> = 1874 /* 1874 */
    <a name="XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a> = 1875 /* 1875 */
    <a name="XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a> = 1876 /* 1876 */
    <a name="XML_SCHEMAV_CVC_IDC">XML_SCHEMAV_CVC_IDC</a> = 1877 /* 1877 */
    <a name="XML_SCHEMAV_CVC_WILDCARD">XML_SCHEMAV_CVC_WILDCARD</a> = 1878 /* 1878 */
    <a name="XML_SCHEMAV_MISC">XML_SCHEMAV_MISC</a> = 1879 /* 1879 */
    <a name="XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a> = 1900
    <a name="XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a> = 1901 /* 1901 */
    <a name="XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a> = 1902 /* 1902 */
    <a name="XML_XPTR_EXTRA_OBJECTS">XML_XPTR_EXTRA_OBJECTS</a> = 1903 /* 1903 */
    <a name="XML_C14N_CREATE_CTXT">XML_C14N_CREATE_CTXT</a> = 1950
    <a name="XML_C14N_REQUIRES_UTF8">XML_C14N_REQUIRES_UTF8</a> = 1951 /* 1951 */
    <a name="XML_C14N_CREATE_STACK">XML_C14N_CREATE_STACK</a> = 1952 /* 1952 */
    <a name="XML_C14N_INVALID_NODE">XML_C14N_INVALID_NODE</a> = 1953 /* 1953 */
    <a name="XML_C14N_UNKNOW_NODE">XML_C14N_UNKNOW_NODE</a> = 1954 /* 1954 */
    <a name="XML_C14N_RELATIVE_NAMESPACE">XML_C14N_RELATIVE_NAMESPACE</a> = 1955 /* 1955 */
    <a name="XML_FTP_PASV_ANSWER">XML_FTP_PASV_ANSWER</a> = 2000
    <a name="XML_FTP_EPSV_ANSWER">XML_FTP_EPSV_ANSWER</a> = 2001 /* 2001 */
    <a name="XML_FTP_ACCNT">XML_FTP_ACCNT</a> = 2002 /* 2002 */
    <a name="XML_FTP_URL_SYNTAX">XML_FTP_URL_SYNTAX</a> = 2003 /* 2003 */
    <a name="XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a> = 2020
    <a name="XML_HTTP_USE_IP">XML_HTTP_USE_IP</a> = 2021 /* 2021 */
    <a name="XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a> = 2022 /* 2022 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a> = 3000
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a> = 3001 /* 3001 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a> = 3002 /* 3002 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a> = 3003 /* 3003 */
    <a name="XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a> = 3004 /* 3004 */
    <a name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a> = 3005 /* 3005 */
    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 /* 3006 */
    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 /* 3007 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 /* 3008 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 /* 3009 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 /* 3010 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 /* 3011 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 /* 3012 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 /* 3013 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 /* 3014 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 /* 3015 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 /* 3016 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 /* 3017 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 /* 3018 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 /* 3019 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 /* 3020 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a> = 3021 /* 3021 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a> = 3022 /* 3022 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a> = 3023 /* 3023 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a> = 3024 /* 3024 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a> = 3025 /* 3025 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a> = 3026 /* 3026 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a> = 3027 /* 3027 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a> = 3028 /* 3028 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a> = 3029 /* 3029 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a> = 3030 /* 3030 */
    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a> = 3031 /* 3031 */
    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a> = 3032 /* 3032 */
    <a name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a> = 3033 /* 3033 */
    <a name="XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a> = 3034 /* 3034 */
    <a name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a> = 3035 /* 3035 */
    <a name="XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a> = 3036 /* 3036 */
    <a name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a> = 3037 /* 3037 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a> = 3038 /* 3038 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a> = 3039 /* 3039 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a> = 3040 /* 3040 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a> = 3041 /* 3041 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a> = 3042 /* 3042 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a> = 3043 /* 3043 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a> = 3044 /* 3044 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a> = 3045 /* 3045 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a> = 3046 /* 3046 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a> = 3047 /* 3047 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a> = 3048 /* 3048 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a> = 3049 /* 3049 */
    <a name="XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a> = 3050 /* 3050 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a> = 3051 /* 3051 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a> = 3052 /* 3052 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a> = 3053 /* 3053 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a> = 3054 /* 3054 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a> = 3055 /* 3055 */
    <a name="XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a> = 3056 /* 3056 */
    <a name="XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a> = 3057 /* 3057 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058 /* 3058 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059 /* 3059 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060 /* 3060 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061 /* 3061 */
    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062 /* 3062 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063 /* 3063 */
    <a name="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064 /* 3064 */
    <a name="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065 /* 3065 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066 /* 3066 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067 /* 3067 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068 /* 3068 */
    <a name="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 /* 3069 non-W3C */
    <a name="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 /* 3070 non-W3C */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a> = 3071 /* 3071 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a> = 3072 /* 3072 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a> = 3073 /* 3073 */
    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a> = 3074 /* 3074 */
    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a> = 3075 /* 3075 */
    <a name="XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a> = 3076 /* 3076 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a> = 3077 /* 3077 */
    <a name="XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a> = 3078 /* 3078 */
    <a name="XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a> = 3079 /* 3079 */
    <a name="XML_SCHEMAP_C_PROPS_CORRECT">XML_SCHEMAP_C_PROPS_CORRECT</a> = 3080 /* 3080 */
    <a name="XML_SCHEMAP_SRC_REDEFINE">XML_SCHEMAP_SRC_REDEFINE</a> = 3081 /* 3081 */
    <a name="XML_SCHEMAP_SRC_IMPORT">XML_SCHEMAP_SRC_IMPORT</a> = 3082 /* 3082 */
    <a name="XML_SCHEMAP_WARN_SKIP_SCHEMA">XML_SCHEMAP_WARN_SKIP_SCHEMA</a> = 3083 /* 3083 */
    <a name="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA">XML_SCHEMAP_WARN_UNLOCATED_SCHEMA</a> = 3084 /* 3084 */
    <a name="XML_SCHEMAP_WARN_ATTR_REDECL_PROH">XML_SCHEMAP_WARN_ATTR_REDECL_PROH</a> = 3085 /* 3085 */
    <a name="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH">XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH</a> = 3086 /* 3085 */
    <a name="XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a> = 3087 /* 3086 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_2">XML_SCHEMAP_COS_CT_EXTENDS_1_2</a> = 3088 /* 3087 */
    <a name="XML_SCHEMAP_AU_PROPS_CORRECT">XML_SCHEMAP_AU_PROPS_CORRECT</a> = 3089 /* 3088 */
    <a name="XML_SCHEMAP_A_PROPS_CORRECT_3">XML_SCHEMAP_A_PROPS_CORRECT_3</a> = 3090 /* 3089 */
    <a name="XML_SCHEMAP_COS_ALL_LIMITED">XML_SCHEMAP_COS_ALL_LIMITED</a> = 3091 /* 3090 */
    <a name="XML_SCHEMATRONV_ASSERT">XML_SCHEMATRONV_ASSERT</a> = 4000 /* 4000 */
    <a name="XML_SCHEMATRONV_REPORT">XML_SCHEMATRONV_REPORT</a> = 4001
    <a name="XML_MODULE_OPEN">XML_MODULE_OPEN</a> = 4900 /* 4900 */
    <a name="XML_MODULE_CLOSE">XML_MODULE_CLOSE</a> = 4901 /* 4901 */
    <a name="XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a> = 5000
    <a name="XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a> = 5001 /* 5001 */
    <a name="XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a> = 5002 /* 5002 */
    <a name="XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a> = 5003 /* 5003 */
    <a name="XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a> = 5004 /* 5004 */
    <a name="XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a> = 5005 /* 5005 */
    <a name="XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a> = 5006 /* 5006 */
    <a name="XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a> = 5007 /* 5007 */
    <a name="XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a> = 5008 /* 5008 */
    <a name="XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a> = 5009 /* 5009 */
    <a name="XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a> = 5010 /* 5010 */
    <a name="XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a> = 5011 /* 5011 */
    <a name="XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a> = 5012 /* 5012 */
    <a name="XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a> = 5013 /* 5013 */
    <a name="XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a> = 5014 /* 5014 */
    <a name="XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a> = 5015 /* 5015 */
    <a name="XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a> = 5016 /* 5016 */
    <a name="XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a> = 5017 /* 5017 */
    <a name="XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a> = 5018 /* 5018 */
    <a name="XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a> = 5019 /* 5019 */
    <a name="XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a> = 5020 /* 5020 */
    <a name="XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a> = 5021 /* 5021 */
    <a name="XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a> = 5022 /* 5022 */
    <a name="XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a> = 5023 /* 5023 */
    <a name="XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a> = 5024 /* 5024 */
    <a name="XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a> = 5025 /* 5025 */
    <a name="XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a> = 5026 /* 5026 */
    <a name="XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a> = 5027 /* 5027 */
    <a name="XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a> = 5028 /* 5028 */
    <a name="XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a> = 5029 /* 5029 */
    <a name="XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a> = 5030 /* 5030 */
    <a name="XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a> = 5031 /* 5031 */
    <a name="XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a> = 5032 /* 5032 */
    <a name="XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a> = 5033 /* 5033 */
    <a name="XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a> = 5034 /* 5034 */
    <a name="XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a> = 5035 /* 5035 */
    <a name="XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a> = 5036 /* 5036 */
    <a name="XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a> = 5037 /* 5037 */
    <a name="XML_I18N_NO_NAME">XML_I18N_NO_NAME</a> = 6000
    <a name="XML_I18N_NO_HANDLER">XML_I18N_NO_HANDLER</a> = 6001 /* 6001 */
    <a name="XML_I18N_EXCESS_HANDLER">XML_I18N_EXCESS_HANDLER</a> = 6002 /* 6002 */
    <a name="XML_I18N_CONV_FAILED">XML_I18N_CONV_FAILED</a> = 6003 /* 6003 */
    <a name="XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a> = 6004 /* 6004 */
    <a name="XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a> = 7000
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericErrorFunc"></a>Function type xmlGenericErrorFunc</h3>
<pre class="programlisting">void	xmlGenericErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of the function to use when there is an error and no parsing or validity context available .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>a parsing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>the extra arguments of the varargs to format the message</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredErrorFunc"></a>Function type xmlStructuredErrorFunc</h3>
<pre class="programlisting">void	xmlStructuredErrorFunc		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br>
</pre>
<p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>user provided data for the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>error</tt></i>:</span></td>
<td>the error being raised.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="initGenericErrorDefaultFunc"></a>initGenericErrorDefaultFunc ()</h3>
<pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br>
</pre>
<p>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyError"></a>xmlCopyError ()</h3>
<pre class="programlisting">int	xmlCopyError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
</pre>
<p>Save the original error to the new place.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>a source error</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>a target error</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br>
</pre>
<p>Get the last parsing error registered.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if no error occurred or a pointer to the error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtResetLastError"></a>xmlCtxtResetLastError ()</h3>
<pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br>
</pre>
<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLastError"></a>xmlGetLastError ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br>
</pre>
<p>Get the last global error registered. This is per thread if compiled with thread support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if no error occurred or a pointer to the error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserError"></a>xmlParserError ()</h3>
<pre class="programlisting">void	xmlParserError			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an error messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserPrintFileContext"></a>xmlParserPrintFileContext ()</h3>
<pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Displays current context within the input content for error tracking</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserPrintFileInfo"></a>xmlParserPrintFileInfo ()</h3>
<pre class="programlisting">void	xmlParserPrintFileInfo		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Displays the associated file and line information for the current input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserValidityError"></a>xmlParserValidityError ()</h3>
<pre class="programlisting">void	xmlParserValidityError		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserValidityWarning"></a>xmlParserValidityWarning ()</h3>
<pre class="programlisting">void	xmlParserValidityWarning	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserWarning"></a>xmlParserWarning ()</h3>
<pre class="programlisting">void	xmlParserWarning		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlResetError"></a>xmlResetError ()</h3>
<pre class="programlisting">void	xmlResetError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br>
</pre>
<p>Cleanup the error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>pointer to the error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlResetLastError"></a>xmlResetLastError ()</h3>
<pre class="programlisting">void	xmlResetLastError		(void)<br>
</pre>
<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetGenericErrorFunc"></a>xmlSetGenericErrorFunc ()</h3>
<pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
</pre>
<p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the new error handling context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new handler function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetStructuredErrorFunc"></a>xmlSetStructuredErrorFunc ()</h3>
<pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
</pre>
<p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the new error handling context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new handler function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-parserInternals.html000064400000363527150505766320017155 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>parserInternals: internals routines and limits exported by the parser.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">parserInternals</span></h2>
<p>parserInternals - internals routines and limits exported by the parser.</p>
<p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
#define <a href="#IS_BLANK">IS_BLANK</a>(c);
#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
#define <a href="#IS_CHAR">IS_CHAR</a>(c);
#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
#define <a href="#IS_LETTER">IS_LETTER</a>(c);
#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br>							 const char * encoding);
void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#inputPush">inputPush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#namePush">namePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#nodePush">nodePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value);
int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>	(const char * filename);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br>						 int options);
int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
typedef void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
void	<a href="#xmlErrMemory">xmlErrMemory</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra);
void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewStringInputStream">xmlNewStringInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
void	<a href="#xmlNextChar">xmlNextChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttValue">xmlParseAttValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttribute">xmlParseAttribute</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
void	<a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseAttributeType">xmlParseAttributeType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
void	<a href="#xmlParseCDSect">xmlParseCDSect</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseCharData">xmlParseCharData</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata);
int	<a href="#xmlParseCharRef">xmlParseCharRef</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseComment">xmlParseComment</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseContent">xmlParseContent</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
void	<a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseElement">xmlParseElement</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
int	<a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
int	<a href="#xmlParseElementDecl">xmlParseElementDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncName">xmlParseEncName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseEndTag">xmlParseEndTag</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlParseEntityRef">xmlParseEntityRef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEntityValue">xmlParseEntityValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
int	<a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseEnumerationType">xmlParseEnumerationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseExternalID">xmlParseExternalID</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict);
void	<a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParsePEReference">xmlParsePEReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePubidLiteral">xmlParsePubidLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseSystemLiteral">xmlParseSystemLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseTextDecl">xmlParseTextDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionInfo">xmlParseVersionInfo</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionNum">xmlParseVersionNum</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseXMLDecl">xmlParseXMLDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
int	<a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="INPUT_CHUNK">Macro </a>INPUT_CHUNK</h3>
<pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
</pre>
<p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_ASCII_DIGIT">Macro </a>IS_ASCII_DIGIT</h3>
<pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
</pre>
<p>Macro to check [0-9]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3>
<pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
</pre>
<p>Macro to check [a-zA-Z]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3>
<pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BLANK">Macro </a>IS_BLANK</h3>
<pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3>
<pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
</pre>
<p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3>
<pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an byte value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_CHAR">Macro </a>IS_CHAR</h3>
<pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3>
<pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_COMBINING">Macro </a>IS_COMBINING</h3>
<pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3>
<pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
</pre>
<p>Always false (all combining chars &gt; 0xff)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_DIGIT">Macro </a>IS_DIGIT</h3>
<pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3>
<pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte argument</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3>
<pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3>
<pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte argument</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3>
<pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_LETTER">Macro </a>IS_LETTER</h3>
<pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3>
<pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
</pre>
<p>Macro behaves like IS_LETTER, but only check base chars</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3>
<pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3>
<pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
</pre>
<p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3>
<pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
</pre>
<p>Skips to the next '&gt;' char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3>
<pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
</pre>
<p>Skips to the next '&lt;' char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="SKIP_EOL">Macro </a>SKIP_EOL</h3>
<pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
</pre>
<p>Skips the end of line chars.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_DICTIONARY_LIMIT">Macro </a>XML_MAX_DICTIONARY_LIMIT</h3>
<pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
</pre>
<p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_LOOKUP_LIMIT">Macro </a>XML_MAX_LOOKUP_LIMIT</h3>
<pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
</pre>
<p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3>
<pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
</pre>
<p>Identifiers can be longer, but this will be more costly at runtime.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3>
<pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
</pre>
<p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3>
<pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
</pre>
<p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_BOTH">Macro </a>XML_SUBSTITUTE_BOTH</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
</pre>
<p>Both general and parameter entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_NONE">Macro </a>XML_SUBSTITUTE_NONE</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
</pre>
<p>If no entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_PEREF">Macro </a>XML_SUBSTITUTE_PEREF</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
</pre>
<p>Whether parameter entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_REF">Macro </a>XML_SUBSTITUTE_REF</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
</pre>
<p>Whether general entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityReferenceFunc"></a>Function type xmlEntityReferenceFunc</h3>
<pre class="programlisting">void	xmlEntityReferenceFunc		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)<br>
</pre>
<p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ent</tt></i>:</span></td>
<td>the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>firstNode</tt></i>:</span></td>
<td>the fist node in the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>lastNode</tt></i>:</span></td>
<td>the last nod in the chunk</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3>
<pre class="programlisting">unsigned int xmlParserMaxDepth;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringComment">Variable </a>xmlStringComment</h3>
<pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringText">Variable </a>xmlStringText</h3>
<pre class="programlisting">const xmlCharxmlStringText[] xmlStringText;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringTextNoenc">Variable </a>xmlStringTextNoenc</h3>
<pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateFileParserCtxt	(const char * filename, <br>							 const char * encoding)<br>
</pre>
<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3>
<pre class="programlisting">void	htmlInitAutoClose		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. This is a no-op now.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inputPop"></a>inputPop ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top parser input from the input stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the input just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inputPush"></a>inputPush ()</h3>
<pre class="programlisting">int	inputPush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br>
</pre>
<p>Pushes a new parser input on top of the input stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namePop"></a>namePop ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top element name from the name stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the name just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namePush"></a>namePush ()</h3>
<pre class="programlisting">int	namePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Pushes a new element name on top of the name stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="nodePop"></a>nodePop ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top element node from the node stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="nodePush"></a>nodePush ()</h3>
<pre class="programlisting">int	nodePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br>
</pre>
<p>Pushes a new element node on top of the node stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the element node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3>
<pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
</pre>
<p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>lang</tt></i>:</span></td>
<td>pointer to the string value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if correct 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyChar"></a>xmlCopyChar ()</h3>
<pre class="programlisting">int	xmlCopyChar			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
</pre>
<p>append the char value in the array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>Ignored, compatibility</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3>
<pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
</pre>
<p>append the char value in the array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the entity URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the entity PUBLIC ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>a possible base for the target URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateFileParserCtxt	(const char * filename)<br>
</pre>
<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create a parser context for an XML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateURLParserCtxt	(const char * filename, <br>						 int options)<br>
</pre>
<p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3>
<pre class="programlisting">int	xmlCurrentChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len)<br>
</pre>
<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the char read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current char value and its length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>This function is deprecated, we now always process entities content through <a href="libxml2-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len to decode (in bytes !), -1 for no size limit</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrMemory"></a>xmlErrMemory ()</h3>
<pre class="programlisting">void	xmlErrMemory			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra)<br>
</pre>
<p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>extra</tt></i>:</span></td>
<td>extra information</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3>
<pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Free up an input stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3>
<pre class="programlisting">void	xmlHandleEntity			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
</pre>
<p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>entity</tt></i>:</span></td>
<td>an XML entity pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsLetter"></a>xmlIsLetter ()</h3>
<pre class="programlisting">int	xmlIsLetter			(int c)<br>
</pre>
<p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an unicode character (int)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if not, non-zero otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local part, and prefix is updated to get the Prefix if any.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
</pre>
<p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>entity</tt></i>:</span></td>
<td>an Entity pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename)<br>
</pre>
<p>Create a new input stream based on a file or an URL.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename to use as entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Create a new input stream structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br>
</pre>
<p>Create a new input stream based on a memory buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an memory buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNextChar"></a>xmlNextChar ()</h3>
<pre class="programlisting">void	xmlNextChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Skip to the next char input char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a value for an <a href="libxml2-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml2-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml2-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml2-SAX.html#attribute">attribute</a> value - an entity <a href="libxml2-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml2-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the AttValue parsed or NULL. The value has to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
</pre>
<p>parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name, and the value in *value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3>
<pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>: parse the Attribute list def for an element [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3>
<pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
</pre>
<p>parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml2-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml2-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml2-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml2-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the enumeration tree built while parsing</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3>
<pre class="programlisting">void	xmlParseCDSect			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharData"></a>xmlParseCharData ()</h3>
<pre class="programlisting">void	xmlParseCharData		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata)<br>
</pre>
<p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cdata</tt></i>:</span></td>
<td>int indicating whether we are within a CDATA section</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3>
<pre class="programlisting">int	xmlParseCharRef			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value parsed (as an int), 0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseComment"></a>xmlParseComment ()</h3>
<pre class="programlisting">void	xmlParseComment			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseContent"></a>xmlParseContent ()</h3>
<pre class="programlisting">void	xmlParseContent			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3>
<pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
</pre>
<p>Parse an <a href="libxml2-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml2-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml2-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml2-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml2-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3>
<pre class="programlisting">void	xmlParseDocTypeDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElement"></a>xmlParseElement ()</h3>
<pre class="programlisting">void	xmlParseElement			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementChildrenContentDecl"></a>xmlParseElementChildrenContentDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
</pre>
<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml2-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
<td>the input used for the current entity, needed for boundary checks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the tree of <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3>
<pre class="programlisting">int	xmlParseElementContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br>
</pre>
<p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the element being defined.</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>the Element Content pointer will be stored here if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type of element content XML_ELEMENT_TYPE_xxx</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3>
<pre class="programlisting">int	xmlParseElementDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: Unique Element Type Declaration ] No element type may be declared more than once</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type of the element, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementMixedContentDecl"></a>xmlParseElementMixedContentDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementMixedContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
</pre>
<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
<td>the input used for the current entity, needed for boundary checks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the list of the <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element choices</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEncName"></a>xmlParseEncName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the encoding name value or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncodingDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the encoding value or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3>
<pre class="programlisting">void	xmlParseEndTag			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3>
<pre class="programlisting">void	xmlParseEntityDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlParseEntityRef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. Similarly, the declaration of a general entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEntityValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br>
</pre>
<p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>if non-NULL store a copy of the original entity value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the EntityValue parsed with <a href="libxml2-SAX.html#reference">reference</a> substituted or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3>
<pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
</pre>
<p>parse an Enumerated <a href="libxml2-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the enumeration tree built while parsing</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Enumeration <a href="libxml2-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseExternalID	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict)<br>
</pre>
<p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
<td>a xmlChar** receiving PubidLiteral</td>
</tr>
<tr>
<td><span class="term"><i><tt>strict</tt></i>:</span></td>
<td>indicate whether we should restrict parsing to only production [75], see NOTE below</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3>
<pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system identifier (or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3>
<pre class="programlisting">void	xmlParseMarkupDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMisc"></a>xmlParseMisc ()</h3>
<pre class="programlisting">void	xmlParseMisc			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseName"></a>xmlParseName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Name parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3>
<pre class="programlisting">void	xmlParseNamespace		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Nmtoken parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3>
<pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Notation <a href="libxml2-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3>
<pre class="programlisting">void	xmlParsePEReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePI"></a>xmlParsePI ()</h3>
<pre class="programlisting">void	xmlParsePI			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePITarget"></a>xmlParsePITarget ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePITarget	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the PITarget name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePubidLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the PubidLiteral parsed or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string parser or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseReference"></a>xmlParseReference ()</h3>
<pre class="programlisting">void	xmlParseReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3>
<pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml2-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the element name parsed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseSystemLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the SystemLiteral parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3>
<pre class="programlisting">void	xmlParseTextDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionInfo	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the version string, e.g. "1.0"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionNum	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string giving the XML version number, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3>
<pre class="programlisting">void	xmlParseXMLDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3>
<pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>[69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml2-SAX.html#reference">reference</a> within DTDs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3>
<pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3>
<pre class="programlisting">void	xmlParserInputShrink		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br>
</pre>
<p>This function removes used input for the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopInput"></a>xmlPopInput ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPushInput"></a>xmlPushInput ()</h3>
<pre class="programlisting">int	xmlPushInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an XML parser input fragment (entity, XML fragment ...).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error or the index in the input stack</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlScanName"></a>xmlScanName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml2-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Name parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3>
<pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br>
</pre>
<p>Set the function to call call back when a xml <a href="libxml2-SAX.html#reference">reference</a> has been made</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>A valid function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3>
<pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of space chars skipped</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName"></a>xmlSplitQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local part, and prefix is updated to get the Prefix if any.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3>
<pre class="programlisting">int	xmlStringCurrentChar		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len)<br>
</pre>
<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>pointer to the beginning of the char</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the char read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current char value and its length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringLenDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the string length</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the encoding value (number)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchInputEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>DEPRECATED: Use <a href="libxml2-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input stream</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the encoding handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchToEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the encoding handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-schemasInternals.html000064400000173532150505766330017300 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>schemasInternals: internal interfaces for XML Schemas</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">schemasInternals</span></h2>
<p>schemasInternals - internal interfaces for XML Schemas</p>
<p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
typedef struct _xmlSchemaAnnot <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a href="#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>;
typedef struct _xmlSchemaAttribute <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a>;
typedef struct _xmlSchemaAttributeGroup <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * <a href="#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>;
typedef struct _xmlSchemaAttributeLink <a href="#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * <a href="#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * <a href="#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>;
typedef enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a>;
typedef struct _xmlSchemaElement <a href="#xmlSchemaElement">xmlSchemaElement</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a href="#xmlSchemaElementPtr">xmlSchemaElementPtr</a>;
typedef struct _xmlSchemaFacet <a href="#xmlSchemaFacet">xmlSchemaFacet</a>;
typedef struct _xmlSchemaFacetLink <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a href="#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a href="#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>;
typedef struct _xmlSchemaNotation <a href="#xmlSchemaNotation">xmlSchemaNotation</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a href="#xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>;
typedef struct _xmlSchemaType <a href="#xmlSchemaType">xmlSchemaType</a>;
typedef struct _xmlSchemaTypeLink <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a href="#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a href="#xmlSchemaTypePtr">xmlSchemaTypePtr</a>;
typedef enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>;
typedef struct _xmlSchemaVal <a href="#xmlSchemaVal">xmlSchemaVal</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a href="#xmlSchemaValPtr">xmlSchemaValPtr</a>;
typedef enum <a href="#xmlSchemaValType">xmlSchemaValType</a>;
typedef struct _xmlSchemaWildcard <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a>;
typedef struct _xmlSchemaWildcardNs <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a href="#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a href="#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>;
void	<a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
void	<a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_LAX">Macro </a>XML_SCHEMAS_ANYATTR_LAX</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
</pre>
<p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_SKIP">Macro </a>XML_SCHEMAS_ANYATTR_SKIP</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
</pre>
<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_STRICT">Macro </a>XML_SCHEMAS_ANYATTR_STRICT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
</pre>
<p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_LAX">Macro </a>XML_SCHEMAS_ANY_LAX</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
</pre>
<p>Used by wildcards. Validate if type found, don't worry if not found</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_SKIP">Macro </a>XML_SCHEMAS_ANY_SKIP</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
</pre>
<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_STRICT">Macro </a>XML_SCHEMAS_ANY_STRICT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
</pre>
<p>Used by wildcards. Apply strict validation rules</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
</pre>
<p>Whether this attr. group contains attr. group references.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro </a>XML_SCHEMAS_ATTRGROUP_MARKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
</pre>
<p>Marks the attr group as marked; used for circular checks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro </a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
</pre>
<p>The attr group was redefined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
</pre>
<p>the <a href="libxml2-SAX.html#attribute">attribute</a> has a fixed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_GLOBAL">Macro </a>XML_SCHEMAS_ATTR_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
</pre>
<p>allow elements in no namespace</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
</pre>
<p>this is set when the "type" and "ref" references have been resolved.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro </a>XML_SCHEMAS_ATTR_NSDEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
</pre>
<p>allow elements in no namespace</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_OPTIONAL">Macro </a>XML_SCHEMAS_ATTR_USE_OPTIONAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is optional.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_PROHIBITED">Macro </a>XML_SCHEMAS_ATTR_USE_PROHIBITED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
</pre>
<p>Used by wildcards. The <a href="libxml2-SAX.html#attribute">attribute</a> is prohibited.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_REQUIRED">Macro </a>XML_SCHEMAS_ATTR_USE_REQUIRED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is required.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
</pre>
<p>the schema has "extension" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
</pre>
<p>the schema has "restriction" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
</pre>
<p>the schema has "substitution" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro </a>XML_SCHEMAS_ELEM_ABSTRACT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
</pre>
<p>the element is abstract</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT">Macro </a>XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
</pre>
<p>the "block" <a href="libxml2-SAX.html#attribute">attribute</a> is absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
</pre>
<p>disallowed substitutions are absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
</pre>
<p>disallowed substitutions: "restriction"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
</pre>
<p>disallowed substitutions: "substitution"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
</pre>
<p>a helper flag for the search of circular references.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_DEFAULT">Macro </a>XML_SCHEMAS_ELEM_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
</pre>
<p>the element has a default value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro </a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
</pre>
<p>substitution group exclusions are absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
</pre>
<p>substitution group exclusions: "extension"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
</pre>
<p>substitution group exclusions: "restriction"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FIXED">Macro </a>XML_SCHEMAS_ELEM_FIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
</pre>
<p>the element has a fixed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_GLOBAL">Macro </a>XML_SCHEMAS_ELEM_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
</pre>
<p>the element is global</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
</pre>
<p>this is set when the elem decl has been checked against all constraints</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
</pre>
<p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_NILLABLE">Macro </a>XML_SCHEMAS_ELEM_NILLABLE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
</pre>
<p>the element is nillable</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro </a>XML_SCHEMAS_ELEM_NSDEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
</pre>
<p>allow elements in no namespace Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_REF">Macro </a>XML_SCHEMAS_ELEM_REF</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
</pre>
<p>the element is a <a href="libxml2-SAX.html#reference">reference</a> to a type</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro </a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
</pre>
<p>the declaration is a substitution group head</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro </a>XML_SCHEMAS_ELEM_TOPLEVEL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
</pre>
<p>the element is top level obsolete: use <a href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_COLLAPSE">Macro </a>XML_SCHEMAS_FACET_COLLAPSE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
</pre>
<p>collapse the types of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_PRESERVE">Macro </a>XML_SCHEMAS_FACET_PRESERVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
</pre>
<p>preserve the type of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_REPLACE">Macro </a>XML_SCHEMAS_FACET_REPLACE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
</pre>
<p>replace the type of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_UNKNOWN">Macro </a>XML_SCHEMAS_FACET_UNKNOWN</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
</pre>
<p>unknown facet handling</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
</pre>
<p>the schema has "extension" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
</pre>
<p>the schema has "list" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
</pre>
<p>the schema has "restriction" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
</pre>
<p>the schema has "union" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro </a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
</pre>
<p>the schema is currently including an other schema with no target namespace.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_QUALIF_ATTR">Macro </a>XML_SCHEMAS_QUALIF_ATTR</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
</pre>
<p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_QUALIF_ELEM">Macro </a>XML_SCHEMAS_QUALIF_ELEM</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
</pre>
<p>Reflects elementFormDefault == qualified in an XML schema document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro </a>XML_SCHEMAS_TYPE_ABSTRACT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
</pre>
<p>the simple/complexType is abstract.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
</pre>
<p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
</pre>
<p>the complexType has a 'block' of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
</pre>
<p>the complexType has a 'block' of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro </a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
</pre>
<p>Marks the item as a builtin primitive.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
</pre>
<p>the simple or complex type has a derivation method of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
</pre>
<p>the simple or complex type has a derivation method of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro </a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
</pre>
<p>indicates if the facets need a computed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
</pre>
<p>the simpleType has a final of "default".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
</pre>
<p>the complexType has a final of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro </a>XML_SCHEMAS_TYPE_FINAL_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
</pre>
<p>the simpleType has a final of "list".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
</pre>
<p>the simpleType/complexType has a final of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro </a>XML_SCHEMAS_TYPE_FINAL_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
</pre>
<p>the simpleType has a final of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro </a>XML_SCHEMAS_TYPE_FIXUP_1</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
</pre>
<p>First stage of fixup was done.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_GLOBAL">Macro </a>XML_SCHEMAS_TYPE_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
</pre>
<p>the type is global</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro </a>XML_SCHEMAS_TYPE_HAS_FACETS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
</pre>
<p>has facets</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
</pre>
<p>indicates that the type is invalid</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
</pre>
<p>indicates that the type was typefixed</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_MARKED">Macro </a>XML_SCHEMAS_TYPE_MARKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
</pre>
<p>Marks the item as marked; used for circular checks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_MIXED">Macro </a>XML_SCHEMAS_TYPE_MIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
</pre>
<p>the element content type is mixed</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro </a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
</pre>
<p>indicates if the facets (pattern) need a normalized value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">Macro </a>XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
</pre>
<p>the complexType owns an <a href="libxml2-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_REDEFINED">Macro </a>XML_SCHEMAS_TYPE_REDEFINED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
</pre>
<p>The type was redefined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
</pre>
<p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
</pre>
<p>the simpleType has a variety of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro </a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
</pre>
<p>the simpleType has a variety of "list".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro </a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
</pre>
<p>the simpleType has a variety of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
</pre>
<p>a whitespace-facet value of "collapse"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
</pre>
<p>a whitespace-facet value of "preserve"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
</pre>
<p>a whitespace-facet value of "replace"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro </a>XML_SCHEMAS_WILDCARD_COMPLETE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
</pre>
<p>If the wildcard is complete.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3>
<pre class="programlisting">struct _xmlSchemaAnnot {
    struct _xmlSchemaAnnot *	next
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	content	: the annotation
} xmlSchemaAnnot;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAnnotPtr">Typedef </a>xmlSchemaAnnotPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * xmlSchemaAnnotPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttribute">Structure </a>xmlSchemaAttribute</h3>
<pre class="programlisting">struct _xmlSchemaAttribute {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> (not used?)
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the declaration
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeName	: the local name of the type definition
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeNs	: the ns URI of the type definition
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base	: Deprecated; not used
    int	occurs	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defValue	: The initial value of the value constraint
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    int	flags
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl	: Deprecated; not used
} xmlSchemaAttribute;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeGroup">Structure </a>xmlSchemaAttributeGroup</h3>
<pre class="programlisting">struct _xmlSchemaAttributeGroup {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> if in a group ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	flags
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    void *	attrUses
} xmlSchemaAttributeGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeGroupPtr">Typedef </a>xmlSchemaAttributeGroupPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * xmlSchemaAttributeGroupPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeLink">Structure </a>xmlSchemaAttributeLink</h3>
<pre class="programlisting">struct _xmlSchemaAttributeLink {
    struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> link ...
    struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml2-SAX.html#attribute">attribute</a>
} xmlSchemaAttributeLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeLinkPtr">Typedef </a>xmlSchemaAttributeLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * xmlSchemaAttributeLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributePtr">Typedef </a>xmlSchemaAttributePtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaContentType">Enum </a>xmlSchemaContentType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a> {
    <a name="XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a> = 0
    <a name="XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a> = 1
    <a name="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
    <a name="XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a> = 3
    <a name="XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a> = 4
    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5 /* Obsolete */
    <a name="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
    <a name="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaElement">Structure </a>xmlSchemaElement</h3>
<pre class="programlisting">struct _xmlSchemaElement {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaType *	next	: Not used?
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	flags
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namedType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namedTypeNs
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroup
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroupNs
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	scope
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value of the value constraint.
    struct _xmlSchemaElement *	refDecl	: This will now be used for the substitution group affiliation
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Obsolete for WXS, maybe used for RelaxNG
    <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint.
    void *	idcs	: The identity-constraint defs
} xmlSchemaElement;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaElementPtr">Typedef </a>xmlSchemaElementPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * xmlSchemaElementPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3>
<pre class="programlisting">struct _xmlSchemaFacet {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	fixed	: XML_SCHEMAS_FACET_PRESERVE, etc.
    int	whitespace
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val	: The compiled value
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp	: The regex for patterns
} xmlSchemaFacet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetLink">Structure </a>xmlSchemaFacetLink</h3>
<pre class="programlisting">struct _xmlSchemaFacetLink {
    struct _xmlSchemaFacetLink *	next	: the next facet link ...
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
} xmlSchemaFacetLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetLinkPtr">Typedef </a>xmlSchemaFacetLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetPtr">Typedef </a>xmlSchemaFacetPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * xmlSchemaFacetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNotation">Structure </a>xmlSchemaNotation</h3>
<pre class="programlisting">struct _xmlSchemaNotation {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	identifier
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
} xmlSchemaNotation;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNotationPtr">Typedef </a>xmlSchemaNotationPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * xmlSchemaNotationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaType">Structure </a>xmlSchemaType</h3>
<pre class="programlisting">struct _xmlSchemaType {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaType *	next	: the next type if in a sequence ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	flags
    <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base type's local name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	baseNs	: Base type's target namespace
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType	: The base type component
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets	: Local facets
    struct _xmlSchemaType *	redef	: Deprecated; not used
    int	recurse	: Obsolete
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a> *	attributeUses	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
    int	builtInType	: Type of built-in types.
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes	: member-types if a union type.
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet	: All facets (incl. inherited)
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef	: Used for the simple content of complex types. Could we use @subtypes
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Holds the automaton of the content model
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    void *	attrUses
} xmlSchemaType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeLink">Structure </a>xmlSchemaTypeLink</h3>
<pre class="programlisting">struct _xmlSchemaTypeLink {
    struct _xmlSchemaTypeLink *	next	: the next type link ...
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked type
} xmlSchemaTypeLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeLinkPtr">Typedef </a>xmlSchemaTypeLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * xmlSchemaTypeLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * xmlSchemaTypePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
    <a name="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 /* A built-in datatype */
    <a name="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
    <a name="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
    <a name="XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a> = 4
    <a name="XML_SCHEMA_TYPE_COMPLEX">XML_SCHEMA_TYPE_COMPLEX</a> = 5
    <a name="XML_SCHEMA_TYPE_SEQUENCE">XML_SCHEMA_TYPE_SEQUENCE</a> = 6
    <a name="XML_SCHEMA_TYPE_CHOICE">XML_SCHEMA_TYPE_CHOICE</a> = 7
    <a name="XML_SCHEMA_TYPE_ALL">XML_SCHEMA_TYPE_ALL</a> = 8
    <a name="XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a> = 9
    <a name="XML_SCHEMA_TYPE_COMPLEX_CONTENT">XML_SCHEMA_TYPE_COMPLEX_CONTENT</a> = 10
    <a name="XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a> = 11
    <a name="XML_SCHEMA_TYPE_RESTRICTION">XML_SCHEMA_TYPE_RESTRICTION</a> = 12
    <a name="XML_SCHEMA_TYPE_EXTENSION">XML_SCHEMA_TYPE_EXTENSION</a> = 13
    <a name="XML_SCHEMA_TYPE_ELEMENT">XML_SCHEMA_TYPE_ELEMENT</a> = 14
    <a name="XML_SCHEMA_TYPE_ATTRIBUTE">XML_SCHEMA_TYPE_ATTRIBUTE</a> = 15
    <a name="XML_SCHEMA_TYPE_ATTRIBUTEGROUP">XML_SCHEMA_TYPE_ATTRIBUTEGROUP</a> = 16
    <a name="XML_SCHEMA_TYPE_GROUP">XML_SCHEMA_TYPE_GROUP</a> = 17
    <a name="XML_SCHEMA_TYPE_NOTATION">XML_SCHEMA_TYPE_NOTATION</a> = 18
    <a name="XML_SCHEMA_TYPE_LIST">XML_SCHEMA_TYPE_LIST</a> = 19
    <a name="XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a> = 20
    <a name="XML_SCHEMA_TYPE_ANY_ATTRIBUTE">XML_SCHEMA_TYPE_ANY_ATTRIBUTE</a> = 21
    <a name="XML_SCHEMA_TYPE_IDC_UNIQUE">XML_SCHEMA_TYPE_IDC_UNIQUE</a> = 22
    <a name="XML_SCHEMA_TYPE_IDC_KEY">XML_SCHEMA_TYPE_IDC_KEY</a> = 23
    <a name="XML_SCHEMA_TYPE_IDC_KEYREF">XML_SCHEMA_TYPE_IDC_KEYREF</a> = 24
    <a name="XML_SCHEMA_TYPE_PARTICLE">XML_SCHEMA_TYPE_PARTICLE</a> = 25
    <a name="XML_SCHEMA_TYPE_ATTRIBUTE_USE">XML_SCHEMA_TYPE_ATTRIBUTE_USE</a> = 26
    <a name="XML_SCHEMA_FACET_MININCLUSIVE">XML_SCHEMA_FACET_MININCLUSIVE</a> = 1000
    <a name="XML_SCHEMA_FACET_MINEXCLUSIVE">XML_SCHEMA_FACET_MINEXCLUSIVE</a> = 1001
    <a name="XML_SCHEMA_FACET_MAXINCLUSIVE">XML_SCHEMA_FACET_MAXINCLUSIVE</a> = 1002
    <a name="XML_SCHEMA_FACET_MAXEXCLUSIVE">XML_SCHEMA_FACET_MAXEXCLUSIVE</a> = 1003
    <a name="XML_SCHEMA_FACET_TOTALDIGITS">XML_SCHEMA_FACET_TOTALDIGITS</a> = 1004
    <a name="XML_SCHEMA_FACET_FRACTIONDIGITS">XML_SCHEMA_FACET_FRACTIONDIGITS</a> = 1005
    <a name="XML_SCHEMA_FACET_PATTERN">XML_SCHEMA_FACET_PATTERN</a> = 1006
    <a name="XML_SCHEMA_FACET_ENUMERATION">XML_SCHEMA_FACET_ENUMERATION</a> = 1007
    <a name="XML_SCHEMA_FACET_WHITESPACE">XML_SCHEMA_FACET_WHITESPACE</a> = 1008
    <a name="XML_SCHEMA_FACET_LENGTH">XML_SCHEMA_FACET_LENGTH</a> = 1009
    <a name="XML_SCHEMA_FACET_MAXLENGTH">XML_SCHEMA_FACET_MAXLENGTH</a> = 1010
    <a name="XML_SCHEMA_FACET_MINLENGTH">XML_SCHEMA_FACET_MINLENGTH</a> = 1011
    <a name="XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a> = 2000
    <a name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a> = 2001
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3>
<pre class="programlisting">struct _xmlSchemaVal {
The content of this structure is not made public by the API.
} xmlSchemaVal;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * xmlSchemaValPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
    <a name="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
    <a name="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
    <a name="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
    <a name="XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a> = 3
    <a name="XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a> = 4
    <a name="XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a> = 5
    <a name="XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a> = 6
    <a name="XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a> = 7
    <a name="XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a> = 8
    <a name="XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a> = 9
    <a name="XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a> = 10
    <a name="XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a> = 11
    <a name="XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a> = 12
    <a name="XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a> = 13
    <a name="XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a> = 14
    <a name="XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a> = 15
    <a name="XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a> = 16
    <a name="XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a> = 17
    <a name="XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a> = 18
    <a name="XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a> = 19
    <a name="XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a> = 20
    <a name="XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a> = 21
    <a name="XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a> = 22
    <a name="XML_SCHEMAS_ID">XML_SCHEMAS_ID</a> = 23
    <a name="XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a> = 24
    <a name="XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a> = 25
    <a name="XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a> = 26
    <a name="XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a> = 27
    <a name="XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a> = 28
    <a name="XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a> = 29
    <a name="XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a> = 30
    <a name="XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a> = 31
    <a name="XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a> = 32
    <a name="XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a> = 33
    <a name="XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a> = 34
    <a name="XML_SCHEMAS_INT">XML_SCHEMAS_INT</a> = 35
    <a name="XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a> = 36
    <a name="XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a> = 37
    <a name="XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a> = 38
    <a name="XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a> = 39
    <a name="XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a> = 40
    <a name="XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a> = 41
    <a name="XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a> = 42
    <a name="XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a> = 43
    <a name="XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a> = 44
    <a name="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
    <a name="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcard">Structure </a>xmlSchemaWildcard</h3>
<pre class="programlisting">struct _xmlSchemaWildcard {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	processContents
    int	any	: Indicates if the ns constraint is of ##any
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	nsSet	: The list of allowed namespaces
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet	: The negated namespace
    int	flags
} xmlSchemaWildcard;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardNs">Structure </a>xmlSchemaWildcardNs</h3>
<pre class="programlisting">struct _xmlSchemaWildcardNs {
    struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
} xmlSchemaWildcardNs;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardNsPtr">Typedef </a>xmlSchemaWildcardNsPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardPtr">Typedef </a>xmlSchemaWildcardPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * xmlSchemaWildcardPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeType"></a>xmlSchemaFreeType ()</h3>
<pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
</pre>
<p>Deallocate a Schema Type structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>a schema type structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeWildcard"></a>xmlSchemaFreeWildcard ()</h3>
<pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br>
</pre>
<p>Deallocates a wildcard structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>wildcard</tt></i>:</span></td>
<td>a wildcard structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-SAX2.html000064400000113223150505766330014501 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SAX2: SAX2 parser interface used to build the DOM tree</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">SAX2</span></h2>
<p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
<p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void);
void	<a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>	(void);
void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
void	<a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
void	<a href="#xmlSAX2Characters">xmlSAX2Characters</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#xmlSAX2Comment">xmlSAX2Comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
void	<a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>		(void * ctx);
void	<a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
void	<a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>	(void * ctx);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>	(void * ctx);
int	<a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>	(void * ctx);
int	<a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>	(void * ctx);
void	<a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning);
void	<a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
void	<a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>		(void * ctx);
void	<a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
void	<a href="#xmlSAX2Reference">xmlSAX2Reference</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
void	<a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>		(void * ctx);
void	<a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
void	<a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
void	<a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
int	<a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>		(int version);
int	<a href="#xmlSAXVersion">xmlSAXVersion</a>			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int version);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3>
<pre class="programlisting">void	htmlDefaultSAXHandlerInit	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX handler</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3>
<pre class="programlisting">void	xmlDefaultSAXHandlerInit	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX2 handler</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2AttributeDecl"></a>xmlSAX2AttributeDecl ()</h3>
<pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2CDataBlock"></a>xmlSAX2CDataBlock ()</h3>
<pre class="programlisting">void	xmlSAX2CDataBlock		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>called when a pcdata block has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Characters"></a>xmlSAX2Characters ()</h3>
<pre class="programlisting">void	xmlSAX2Characters		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some chars from the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Comment"></a>xmlSAX2Comment ()</h3>
<pre class="programlisting">void	xmlSAX2Comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ElementDecl"></a>xmlSAX2ElementDecl ()</h3>
<pre class="programlisting">void	xmlSAX2ElementDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndDocument"></a>xmlSAX2EndDocument ()</h3>
<pre class="programlisting">void	xmlSAX2EndDocument		(void * ctx)<br>
</pre>
<p>called when the document end has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndElement"></a>xmlSAX2EndElement ()</h3>
<pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when the end of an element has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndElementNs"></a>xmlSAX2EndElementNs ()</h3>
<pre class="programlisting">void	xmlSAX2EndElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EntityDecl"></a>xmlSAX2EntityDecl ()</h3>
<pre class="programlisting">void	xmlSAX2EntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ExternalSubset"></a>xmlSAX2ExternalSubset ()</h3>
<pre class="programlisting">void	xmlSAX2ExternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetColumnNumber"></a>xmlSAX2GetColumnNumber ()</h3>
<pre class="programlisting">int	xmlSAX2GetColumnNumber		(void * ctx)<br>
</pre>
<p>Provide the column number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetEntity"></a>xmlSAX2GetEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetLineNumber"></a>xmlSAX2GetLineNumber ()</h3>
<pre class="programlisting">int	xmlSAX2GetLineNumber		(void * ctx)<br>
</pre>
<p>Provide the line number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetParameterEntity"></a>xmlSAX2GetParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetParameterEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetPublicId"></a>xmlSAX2GetPublicId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetPublicId	(void * ctx)<br>
</pre>
<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetSystemId"></a>xmlSAX2GetSystemId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetSystemId	(void * ctx)<br>
</pre>
<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2HasExternalSubset"></a>xmlSAX2HasExternalSubset ()</h3>
<pre class="programlisting">int	xmlSAX2HasExternalSubset	(void * ctx)<br>
</pre>
<p>Does this document has an external subset</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2HasInternalSubset"></a>xmlSAX2HasInternalSubset ()</h3>
<pre class="programlisting">int	xmlSAX2HasInternalSubset	(void * ctx)<br>
</pre>
<p>Does this document has an internal subset</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2IgnorableWhitespace"></a>xmlSAX2IgnorableWhitespace ()</h3>
<pre class="programlisting">void	xmlSAX2IgnorableWhitespace	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InitDefaultSAXHandler"></a>xmlSAX2InitDefaultSAXHandler ()</h3>
<pre class="programlisting">void	xmlSAX2InitDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning)<br>
</pre>
<p>Initialize the default XML SAX2 handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>warning</tt></i>:</span></td>
<td>flag if non-zero sets the handler warning procedure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InitHtmlDefaultSAXHandler"></a>xmlSAX2InitHtmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	xmlSAX2InitHtmlDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br>
</pre>
<p>Initialize the default HTML SAX2 handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InternalSubset"></a>xmlSAX2InternalSubset ()</h3>
<pre class="programlisting">void	xmlSAX2InternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2IsStandalone"></a>xmlSAX2IsStandalone ()</h3>
<pre class="programlisting">int	xmlSAX2IsStandalone		(void * ctx)<br>
</pre>
<p>Is this document tagged standalone ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2NotationDecl"></a>xmlSAX2NotationDecl ()</h3>
<pre class="programlisting">void	xmlSAX2NotationDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ProcessingInstruction"></a>xmlSAX2ProcessingInstruction ()</h3>
<pre class="programlisting">void	xmlSAX2ProcessingInstruction	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Reference"></a>xmlSAX2Reference ()</h3>
<pre class="programlisting">void	xmlSAX2Reference		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ResolveEntity"></a>xmlSAX2ResolveEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3>
<pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartDocument"></a>xmlSAX2StartDocument ()</h3>
<pre class="programlisting">void	xmlSAX2StartDocument		(void * ctx)<br>
</pre>
<p>called when the document start being processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartElement"></a>xmlSAX2StartElement ()</h3>
<pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>called when an opening tag has been processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartElementNs"></a>xmlSAX2StartElementNs ()</h3>
<pre class="programlisting">void	xmlSAX2StartElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
</pre>
<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
<td>number of namespace definitions on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>pointer to the array of prefix/URI pairs namespace definitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
<td>the number of attributes on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
<td>the number of defaulted attributes.</td>
</tr>
<tr>
<td><span class="term"><i><tt>attributes</tt></i>:</span></td>
<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2UnparsedEntityDecl"></a>xmlSAX2UnparsedEntityDecl ()</h3>
<pre class="programlisting">void	xmlSAX2UnparsedEntityDecl	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3>
<pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br>
</pre>
<p>Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the version, 1 or 2</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXVersion"></a>xmlSAXVersion ()</h3>
<pre class="programlisting">int	xmlSAXVersion			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int version)<br>
</pre>
<p>Initialize the default XML SAX handler according to the version</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the version, 1 or 2</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-hash.html000064400000123122150505766330014706 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hash: Chained hash tables</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">hash</span></h2>
<p>hash - Chained hash tables</p>
<p>This module implements the hash table support used in various places in the library. </p>
<p>Author(s): Bjorn Reese &lt;bjorn.reese@systematic.dk&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
typedef struct _xmlHashTable <a href="#xmlHashTable">xmlHashTable</a>;
typedef <a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * <a href="#xmlHashTablePtr">xmlHashTablePtr</a>;
int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata);
int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata);
int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata);
typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
void *	<a href="#xmlHashQLookup">xmlHashQLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
void	<a href="#xmlHashScan">xmlHashScan</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
int	<a href="#xmlHashSize">xmlHashSize</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
int	<a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3>
<pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
</pre>
<p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>fptr</tt></i>:</span></td>
<td>pointer to a function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashTable">Structure </a>xmlHashTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlHashTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCopier"></a>Function type xmlHashCopier</h3>
<pre class="programlisting">void *	xmlHashCopier			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback to copy data from a hash.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the data or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashDeallocator"></a>Function type xmlHashDeallocator</h3>
<pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback to free data from a hash.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanner"></a>Function type xmlHashScanner</h3>
<pre class="programlisting">void	xmlHashScanner			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback when scanning data in a hash with the simple scanner.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra scanner data</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScannerFull"></a>Function type xmlHashScannerFull</h3>
<pre class="programlisting">void	xmlHashScannerFull		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Callback when scanning data in a hash with the full scanner.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra scanner data</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>the second name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>the third name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3>
<pre class="programlisting">int	xmlHashAddEntry			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3>
<pre class="programlisting">int	xmlHashAddEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3>
<pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCopy"></a>xmlHashCopy ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the copier function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new table or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCreate"></a>xmlHashCreate ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br>
</pre>
<p>Create a new xmlHashTablePtr.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCreateDict"></a>xmlHashCreateDict ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>a dictionary to use for the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashDefaultDeallocator"></a>xmlHashDefaultDeallocator ()</h3>
<pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Free a hash table entry with xmlFree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>entry</tt></i>:</span></td>
<td>the hash table entry</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entry's name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashFree"></a>xmlHashFree ()</h3>
<pre class="programlisting">void	xmlHashFree			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for items in the hash</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup"></a>xmlHashLookup ()</h3>
<pre class="programlisting">void *	xmlHashLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Find the userdata specified by the @name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3>
<pre class="programlisting">void *	xmlHashLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3>
<pre class="programlisting">void *	xmlHashLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3>
<pre class="programlisting">void *	xmlHashQLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Find the userdata specified by the QName @prefix:@name/@name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3>
<pre class="programlisting">void *	xmlHashQLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
</pre>
<p>Find the userdata specified by the QNames tuple</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
<td>the second prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3>
<pre class="programlisting">void *	xmlHashQLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
<td>the second prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix3</tt></i>:</span></td>
<td>the third prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan"></a>xmlHashScan ()</h3>
<pre class="programlisting">void	xmlHashScan			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan3"></a>xmlHashScan3 ()</h3>
<pre class="programlisting">void	xmlHashScan3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3>
<pre class="programlisting">void	xmlHashScanFull			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3>
<pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashSize"></a>xmlHashSize ()</h3>
<pre class="programlisting">int	xmlHashSize			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br>
</pre>
<p>Query the number of elements installed in the hash @table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the hash table or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/style.css000064400000001464150505766340013405 0ustar00.synopsis, .classsynopsis 
{
  background: #eeeeee;
  border: solid 1px #aaaaaa;
  padding: 0.5em;
}
.programlisting 
{
  background: #eeeeff;
  border: solid 1px #aaaaff;
  padding: 0.5em;
}
.variablelist 
{
  padding: 4px;
  margin-left: 3em;
}
.variablelist td:first-child
{
  vertical-align: top;
}
table.navigation 
{
  background: #ffeeee;
  border: solid 1px #ffaaaa;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.navigation a 
{
  color: #770000;
}
.navigation a:visited 
{
  color: #550000;
}
.navigation .title 
{
  font-size: 200%;
}
div.refnamediv 
{
  margin-top: 2em;
}
div.gallery-float 
{
  float: left;
  padding: 10px;
}
div.gallery-float img 
{
  border-style: none;
}
div.gallery-spacer 
{
  clear: both;
}
a
{
  text-decoration: none;
}
a:hover
{
  text-decoration: underline;
  color: #FF0000;
}
share/gtk-doc/html/libxml2/libxml2-relaxng.html000064400000104440150505766340015426 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>relaxng: implementation of the Relax-NG validation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">relaxng</span></h2>
<p>relaxng - implementation of the Relax-NG validation</p>
<p>implementation of the Relax-NG validation </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
typedef struct _xmlRelaxNGParserCtxt <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a href="#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>;
typedef enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a href="#xmlRelaxNGPtr">xmlRelaxNGPtr</a>;
typedef struct _xmlRelaxNGValidCtxt <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a href="#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
void	<a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>		(void);
void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL);
<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNG">Structure </a>xmlRelaxNG</h3>
<pre class="programlisting">struct _xmlRelaxNG {
The content of this structure is not made public by the API.
} xmlRelaxNG;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3>
<pre class="programlisting">struct _xmlRelaxNGParserCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3>
<pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
    <a name="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
    <a name="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
    <a name="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3>
<pre class="programlisting">struct _xmlRelaxNGValidCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3>
<pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
    <a name="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
    <a name="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
    <a name="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
    <a name="XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a> = 3
    <a name="XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a> = 4
    <a name="XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a> = 5
    <a name="XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a> = 6
    <a name="XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a> = 7
    <a name="XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a> = 8
    <a name="XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a> = 9
    <a name="XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a> = 10
    <a name="XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a> = 11
    <a name="XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a> = 12
    <a name="XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a> = 13
    <a name="XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a> = 14
    <a name="XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a> = 15
    <a name="XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a> = 16
    <a name="XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a> = 17
    <a name="XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a> = 18
    <a name="XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a> = 19
    <a name="XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a> = 20
    <a name="XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a> = 21
    <a name="XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a> = 22
    <a name="XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a> = 23
    <a name="XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a> = 24
    <a name="XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a> = 25
    <a name="XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a> = 26
    <a name="XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a> = 27
    <a name="XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a> = 28
    <a name="XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a> = 29
    <a name="XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a> = 30
    <a name="XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a> = 31
    <a name="XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a> = 32
    <a name="XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a> = 33
    <a name="XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a> = 34
    <a name="XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a> = 35
    <a name="XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a> = 36
    <a name="XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a> = 37
    <a name="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
    <a name="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidityErrorFunc"></a>Function type xmlRelaxNGValidityErrorFunc</h3>
<pre class="programlisting">void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from a Relax-NG validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidityWarningFunc"></a>Function type xmlRelaxNGValidityWarningFunc</h3>
<pre class="programlisting">void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of a warning callback from a Relax-NG validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3>
<pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type library associated to RelaxNG</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3>
<pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Dump a RelaxNG structure back</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3>
<pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Dump the transformed RelaxNG tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3>
<pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Deallocate a RelaxNG structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3>
<pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the callback information used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3>
<pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGInitTypes"></a>xmlRelaxNGInitTypes ()</h3>
<pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br>
</pre>
<p>Initialize the default type libraries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Create an XML RelaxNGs validation context based on the given schema</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML RelaxNGs</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetParserStructuredErrors"></a>xmlRelaxNGSetParserStructuredErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a parsing context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetValidStructuredErrors"></a>xmlRelaxNGSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Validate a document tree in memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a parsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Pop the element end from the RelaxNG validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
</pre>
<p>check the CData parsed for validation in the current stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>some character data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Push a new element start on the RelaxNG validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxParserSetFlag"></a>xmlRelaxParserSetFlag ()</h3>
<pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags)<br>
</pre>
<p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a RelaxNG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of flags values</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlversion.html000064400000044022150505766350016174 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlversion: compile-time version information</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlversion</span></h2>
<p>xmlversion - compile-time version information</p>
<p>compile-time version information for the XML library </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
#define <a href="#WITH_TRIO">WITH_TRIO</a>;
#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3>
<pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
</pre>
<p>Macro used to signal to GCC unused function parameters</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3>
<pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
</pre>
<p>Whether the memory debugging is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3>
<pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
</pre>
<p>Macro used to indicate to GCC this is an allocator function</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3>
<pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
</pre>
<p>Macro used to indicate to GCC the parameter are printf like</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
</pre>
<p>Whether the automata interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_C14N_ENABLED">Macro </a>LIBXML_C14N_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
</pre>
<p>Whether the Canonicalization support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_CATALOG_ENABLED">Macro </a>LIBXML_CATALOG_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
</pre>
<p>Whether the Catalog support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DEBUG_ENABLED">Macro </a>LIBXML_DEBUG_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
</pre>
<p>Whether Debugging module is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DEBUG_RUNTIME">Macro </a>LIBXML_DEBUG_RUNTIME</h3>
<pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
</pre>
<p>Whether the runtime debugging is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DOTTED_VERSION">Macro </a>LIBXML_DOTTED_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
</pre>
<p>the version string like "1.2.3"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
</pre>
<p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
</pre>
<p>Whether the FTP support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_HTML_ENABLED">Macro </a>LIBXML_HTML_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
</pre>
<p>Whether the HTML support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_HTTP_ENABLED">Macro </a>LIBXML_HTTP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
</pre>
<p>Whether the HTTP support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ICONV_ENABLED">Macro </a>LIBXML_ICONV_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
</pre>
<p>Whether iconv support is available</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ICU_ENABLED">Macro </a>LIBXML_ICU_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
</pre>
<p>Whether icu support is available</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ISO8859X_ENABLED">Macro </a>LIBXML_ISO8859X_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
</pre>
<p>Whether ISO-8859-* support is made available in case iconv is not</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_LEGACY_ENABLED">Macro </a>LIBXML_LEGACY_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
</pre>
<p>Whether the deprecated APIs are compiled in for compatibility</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_LZMA_ENABLED">Macro </a>LIBXML_LZMA_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
</pre>
<p>Whether the Lzma support is compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_MODULES_ENABLED">Macro </a>LIBXML_MODULES_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
</pre>
<p>Whether the module interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_MODULE_EXTENSION">Macro </a>LIBXML_MODULE_EXTENSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
</pre>
<p>the string suffix used by dynamic modules (usually shared libraries)</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_OUTPUT_ENABLED">Macro </a>LIBXML_OUTPUT_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
</pre>
<p>Whether the serialization/saving support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_PATTERN_ENABLED">Macro </a>LIBXML_PATTERN_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
</pre>
<p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_PUSH_ENABLED">Macro </a>LIBXML_PUSH_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
</pre>
<p>Whether the push parsing interfaces are configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_READER_ENABLED">Macro </a>LIBXML_READER_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
</pre>
<p>Whether the xmlReader parsing interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_REGEXP_ENABLED">Macro </a>LIBXML_REGEXP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
</pre>
<p>Whether the regular expressions interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SAX1_ENABLED">Macro </a>LIBXML_SAX1_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
</pre>
<p>Whether the older SAX1 interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SCHEMAS_ENABLED">Macro </a>LIBXML_SCHEMAS_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
</pre>
<p>Whether the Schemas validation interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SCHEMATRON_ENABLED">Macro </a>LIBXML_SCHEMATRON_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
</pre>
<p>Whether the Schematron validation interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_TEST_VERSION">Macro </a>LIBXML_TEST_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
</pre>
<p>Macro to check that the libxml version in use is compatible with the version the software has been compiled against</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_THREAD_ALLOC_ENABLED">Macro </a>LIBXML_THREAD_ALLOC_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
</pre>
<p>Whether the allocation hooks are per-thread</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_THREAD_ENABLED">Macro </a>LIBXML_THREAD_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
</pre>
<p>Whether the thread support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_TREE_ENABLED">Macro </a>LIBXML_TREE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
</pre>
<p>Whether the DOM like tree manipulation API support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_UNICODE_ENABLED">Macro </a>LIBXML_UNICODE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
</pre>
<p>Whether the Unicode related interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VALID_ENABLED">Macro </a>LIBXML_VALID_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
</pre>
<p>Whether the DTD validation support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
</pre>
<p>the version number: 1.2.3 value is 10203</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION_EXTRA">Macro </a>LIBXML_VERSION_EXTRA</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
</pre>
<p>extra version information, used to show a git commit description</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION_STRING">Macro </a>LIBXML_VERSION_STRING</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
</pre>
<p>the version number string, 1.2.3 value is "10203"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_WRITER_ENABLED">Macro </a>LIBXML_WRITER_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
</pre>
<p>Whether the xmlWriter saving interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XINCLUDE_ENABLED">Macro </a>LIBXML_XINCLUDE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
</pre>
<p>Whether XInclude is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPATH_ENABLED">Macro </a>LIBXML_XPATH_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
</pre>
<p>Whether XPath is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPTR_ENABLED">Macro </a>LIBXML_XPTR_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
</pre>
<p>Whether XPointer is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPTR_LOCS_ENABLED">Macro </a>LIBXML_XPTR_LOCS_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
</pre>
<p>Whether support for XPointer locations is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ZLIB_ENABLED">Macro </a>LIBXML_ZLIB_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
</pre>
<p>Whether the Zlib support is compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3>
<pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
</pre>
<p>defined if the trio support should not be configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="WITH_TRIO">Macro </a>WITH_TRIO</h3>
<pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
</pre>
<p>defined if the trio support need to be configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DEPRECATED">Macro </a>XML_DEPRECATED</h3>
<pre class="programlisting">#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
</pre>
<p>Macro used to indicate that a function, variable, type or struct member is deprecated.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckVersion"></a>xmlCheckVersion ()</h3>
<pre class="programlisting">void	xmlCheckVersion			(int version)<br>
</pre>
<p>check the compiled lib version against the include one. This can warn or immediately kill the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the include version number</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlsave.html000064400000034077150505766350015456 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlsave: the XML document serializer</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlsave</span></h2>
<p>xmlsave - the XML document serializer</p>
<p>API to save document or subtree of document </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
typedef <a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a href="#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>;
typedef enum <a href="#xmlSaveOption">xmlSaveOption</a>;
int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlSaveFlush">xmlSaveFlush</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToIO">xmlSaveToIO</a>		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * encoding, <br>					 int options);
long	<a href="#xmlSaveTree">xmlSaveTree</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3>
<pre class="programlisting">struct _xmlSaveCtxt {
The content of this structure is not made public by the API.
} xmlSaveCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveOption">Enum </a>xmlSaveOption</h3>
<pre class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
    <a name="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 /* format save output */
    <a name="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 /* drop the xml declaration */
    <a name="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 /* no empty tags */
    <a name="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 /* disable XHTML1 specific rules */
    <a name="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 /* force XHTML1 specific rules */
    <a name="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 /* force XML serialization on HTML doc */
    <a name="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 /* force HTML serialization on XML doc */
    <a name="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 /*  format with non-significant whitespace */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveClose"></a>xmlSaveClose ()</h3>
<pre class="programlisting">int	xmlSaveClose			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
</pre>
<p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveDoc"></a>xmlSaveDoc ()</h3>
<pre class="programlisting">long	xmlSaveDoc			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFlush"></a>xmlSaveFlush ()</h3>
<pre class="programlisting">int	xmlSaveFlush			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
</pre>
<p>Flush a document saving context, i.e. make sure that all bytes have been output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveSetAttrEscape"></a>xmlSaveSetAttrEscape ()</h3>
<pre class="programlisting">int	xmlSaveSetAttrEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
</pre>
<p>Set a custom escaping function to be used for text in <a href="libxml2-SAX.html#attribute">attribute</a> content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>escape</tt></i>:</span></td>
<td>the escaping function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveSetEscape"></a>xmlSaveSetEscape ()</h3>
<pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
</pre>
<p>Set a custom escaping function to be used for text in element content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>escape</tt></i>:</span></td>
<td>the escaping function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToBuffer"></a>xmlSaveToBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a buffer with the encoding and the options given</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToFd"></a>xmlSaveToFd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFd		(int fd, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a file descriptor with the encoding and the options given.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToFilename"></a>xmlSaveToFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFilename	(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name or an URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToIO"></a>xmlSaveToIO ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a file descriptor with the encoding and the options given</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
<td>an I/O write function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveTree"></a>xmlSaveTree ()</h3>
<pre class="programlisting">long	xmlSaveTree			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-threads.html000064400000031065150505766350015423 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>threads: interfaces for thread handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">threads</span></h2>
<p>threads - interfaces for thread handling</p>
<p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
typedef struct _xmlRMutex <a href="#xmlRMutex">xmlRMutex</a>;
typedef <a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * <a href="#xmlRMutexPtr">xmlRMutexPtr</a>;
void	<a href="#xmlCleanupThreads">xmlCleanupThreads</a>		(void);
int	<a href="#xmlDllMain">xmlDllMain</a>			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved);
void	<a href="#xmlFreeMutex">xmlFreeMutex</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void);
int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void);
void	<a href="#xmlInitThreads">xmlInitThreads</a>			(void);
int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void);
void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void);
void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	<a href="#xmlNewMutex">xmlNewMutex</a>		(void);
<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	<a href="#xmlNewRMutex">xmlNewRMutex</a>		(void);
void	<a href="#xmlRMutexLock">xmlRMutexLock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
void	<a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
void	<a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutex">Structure </a>xmlMutex</h3>
<pre class="programlisting">struct _xmlMutex {
The content of this structure is not made public by the API.
} xmlMutex;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutex">Structure </a>xmlRMutex</h3>
<pre class="programlisting">struct _xmlRMutex {
The content of this structure is not made public by the API.
} xmlRMutex;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3>
<pre class="programlisting">void	xmlCleanupThreads		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDllMain"></a>xmlDllMain ()</h3>
<pre class="programlisting">int	xmlDllMain			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>fdwReason</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>lpvReserved</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeMutex"></a>xmlFreeMutex ()</h3>
<pre class="programlisting">void	xmlFreeMutex			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeRMutex"></a>xmlFreeRMutex ()</h3>
<pre class="programlisting">void	xmlFreeRMutex			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br>
</pre>
<p>xmlGetGlobalState() is called to retrieve the global state for a thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the thread global state or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
<pre class="programlisting">int	xmlGetThreadId			(void)<br>
</pre>
<p>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current thread ID number</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitThreads"></a>xmlInitThreads ()</h3>
<pre class="programlisting">void	xmlInitThreads			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
<pre class="programlisting">int	xmlIsMainThread			(void)<br>
</pre>
<p>xmlIsMainThread() check whether the current thread is the main thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the current thread is the main thread, 0 otherwise</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLockLibrary"></a>xmlLockLibrary ()</h3>
<pre class="programlisting">void	xmlLockLibrary			(void)<br>
</pre>
<p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexLock"></a>xmlMutexLock ()</h3>
<pre class="programlisting">void	xmlMutexLock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlMutexLock() is used to lock a libxml2 token.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexUnlock"></a>xmlMutexUnlock ()</h3>
<pre class="programlisting">void	xmlMutexUnlock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewMutex"></a>xmlNewMutex ()</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	xmlNewMutex		(void)<br>
</pre>
<p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new simple mutex pointer or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewRMutex"></a>xmlNewRMutex ()</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	xmlNewRMutex		(void)<br>
</pre>
<p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reentrant mutex pointer or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexLock"></a>xmlRMutexLock ()</h3>
<pre class="programlisting">void	xmlRMutexLock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexUnlock"></a>xmlRMutexUnlock ()</h3>
<pre class="programlisting">void	xmlRMutexUnlock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnlockLibrary"></a>xmlUnlockLibrary ()</h3>
<pre class="programlisting">void	xmlUnlockLibrary		(void)<br>
</pre>
<p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2.devhelp2000064400001366757150505766360014565 0ustar00<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://www.devhelp.net/book" title="libxml2 Reference Manual" link="index.html" author="" name="libxml2">
  <chapters>
    <sub name="API" link="general.html">
      <sub name="HTMLparser" link="libxml2-HTMLparser.html"/>
      <sub name="HTMLtree" link="libxml2-HTMLtree.html"/>
      <sub name="SAX" link="libxml2-SAX.html"/>
      <sub name="SAX2" link="libxml2-SAX2.html"/>
      <sub name="c14n" link="libxml2-c14n.html"/>
      <sub name="catalog" link="libxml2-catalog.html"/>
      <sub name="chvalid" link="libxml2-chvalid.html"/>
      <sub name="debugXML" link="libxml2-debugXML.html"/>
      <sub name="dict" link="libxml2-dict.html"/>
      <sub name="encoding" link="libxml2-encoding.html"/>
      <sub name="entities" link="libxml2-entities.html"/>
      <sub name="globals" link="libxml2-globals.html"/>
      <sub name="hash" link="libxml2-hash.html"/>
      <sub name="list" link="libxml2-list.html"/>
      <sub name="nanoftp" link="libxml2-nanoftp.html"/>
      <sub name="nanohttp" link="libxml2-nanohttp.html"/>
      <sub name="parser" link="libxml2-parser.html"/>
      <sub name="parserInternals" link="libxml2-parserInternals.html"/>
      <sub name="pattern" link="libxml2-pattern.html"/>
      <sub name="relaxng" link="libxml2-relaxng.html"/>
      <sub name="schemasInternals" link="libxml2-schemasInternals.html"/>
      <sub name="schematron" link="libxml2-schematron.html"/>
      <sub name="threads" link="libxml2-threads.html"/>
      <sub name="tree" link="libxml2-tree.html"/>
      <sub name="uri" link="libxml2-uri.html"/>
      <sub name="valid" link="libxml2-valid.html"/>
      <sub name="xinclude" link="libxml2-xinclude.html"/>
      <sub name="xlink" link="libxml2-xlink.html"/>
      <sub name="xmlIO" link="libxml2-xmlIO.html"/>
      <sub name="xmlautomata" link="libxml2-xmlautomata.html"/>
      <sub name="xmlerror" link="libxml2-xmlerror.html"/>
      <sub name="xmlexports" link="libxml2-xmlexports.html"/>
      <sub name="xmlmemory" link="libxml2-xmlmemory.html"/>
      <sub name="xmlmodule" link="libxml2-xmlmodule.html"/>
      <sub name="xmlreader" link="libxml2-xmlreader.html"/>
      <sub name="xmlregexp" link="libxml2-xmlregexp.html"/>
      <sub name="xmlsave" link="libxml2-xmlsave.html"/>
      <sub name="xmlschemas" link="libxml2-xmlschemas.html"/>
      <sub name="xmlschemastypes" link="libxml2-xmlschemastypes.html"/>
      <sub name="xmlstring" link="libxml2-xmlstring.html"/>
      <sub name="xmlunicode" link="libxml2-xmlunicode.html"/>
      <sub name="xmlversion" link="libxml2-xmlversion.html"/>
      <sub name="xmlwriter" link="libxml2-xmlwriter.html"/>
      <sub name="xpath" link="libxml2-xpath.html"/>
      <sub name="xpathInternals" link="libxml2-xpathInternals.html"/>
      <sub name="xpointer" link="libxml2-xpointer.html"/>
    </sub>
  </chapters>
  <functions>
    <keyword type="macro" name="ATTRIBUTE_UNUSED" link="libxml2-xmlversion.html#ATTRIBUTE_UNUSED"/>
    <keyword type="macro" name="BAD_CAST" link="libxml2-xmlstring.html#BAD_CAST"/>
    <keyword type="macro" name="BASE_BUFFER_SIZE" link="libxml2-tree.html#BASE_BUFFER_SIZE"/>
    <keyword type="macro" name="CAST_TO_BOOLEAN" link="libxml2-xpathInternals.html#CAST_TO_BOOLEAN"/>
    <keyword type="macro" name="CAST_TO_NUMBER" link="libxml2-xpathInternals.html#CAST_TO_NUMBER"/>
    <keyword type="macro" name="CAST_TO_STRING" link="libxml2-xpathInternals.html#CAST_TO_STRING"/>
    <keyword type="macro" name="CHECK_ARITY" link="libxml2-xpathInternals.html#CHECK_ARITY"/>
    <keyword type="macro" name="CHECK_ERROR" link="libxml2-xpathInternals.html#CHECK_ERROR"/>
    <keyword type="macro" name="CHECK_ERROR0" link="libxml2-xpathInternals.html#CHECK_ERROR0"/>
    <keyword type="macro" name="CHECK_TYPE" link="libxml2-xpathInternals.html#CHECK_TYPE"/>
    <keyword type="macro" name="CHECK_TYPE0" link="libxml2-xpathInternals.html#CHECK_TYPE0"/>
    <keyword type="macro" name="DEBUG_MEMORY" link="libxml2-xmlmemory.html#DEBUG_MEMORY"/>
    <keyword type="macro" name="DEBUG_MEMORY_LOCATION" link="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION"/>
    <keyword type="macro" name="HTML_COMMENT_NODE" link="libxml2-HTMLtree.html#HTML_COMMENT_NODE"/>
    <keyword type="macro" name="HTML_ENTITY_REF_NODE" link="libxml2-HTMLtree.html#HTML_ENTITY_REF_NODE"/>
    <keyword type="macro" name="HTML_PI_NODE" link="libxml2-HTMLtree.html#HTML_PI_NODE"/>
    <keyword type="macro" name="HTML_PRESERVE_NODE" link="libxml2-HTMLtree.html#HTML_PRESERVE_NODE"/>
    <keyword type="macro" name="HTML_TEXT_NODE" link="libxml2-HTMLtree.html#HTML_TEXT_NODE"/>
    <keyword type="macro" name="INPUT_CHUNK" link="libxml2-parserInternals.html#INPUT_CHUNK"/>
    <keyword type="macro" name="INVALID_SOCKET" link="libxml2-nanoftp.html#INVALID_SOCKET"/>
    <keyword type="macro" name="IS_ASCII_DIGIT" link="libxml2-parserInternals.html#IS_ASCII_DIGIT"/>
    <keyword type="macro" name="IS_ASCII_LETTER" link="libxml2-parserInternals.html#IS_ASCII_LETTER"/>
    <keyword type="macro" name="IS_BASECHAR" link="libxml2-parserInternals.html#IS_BASECHAR"/>
    <keyword type="macro" name="IS_BLANK" link="libxml2-parserInternals.html#IS_BLANK"/>
    <keyword type="macro" name="IS_BLANK_CH" link="libxml2-parserInternals.html#IS_BLANK_CH"/>
    <keyword type="macro" name="IS_BYTE_CHAR" link="libxml2-parserInternals.html#IS_BYTE_CHAR"/>
    <keyword type="macro" name="IS_CHAR" link="libxml2-parserInternals.html#IS_CHAR"/>
    <keyword type="macro" name="IS_CHAR_CH" link="libxml2-parserInternals.html#IS_CHAR_CH"/>
    <keyword type="macro" name="IS_COMBINING" link="libxml2-parserInternals.html#IS_COMBINING"/>
    <keyword type="macro" name="IS_COMBINING_CH" link="libxml2-parserInternals.html#IS_COMBINING_CH"/>
    <keyword type="macro" name="IS_DIGIT" link="libxml2-parserInternals.html#IS_DIGIT"/>
    <keyword type="macro" name="IS_DIGIT_CH" link="libxml2-parserInternals.html#IS_DIGIT_CH"/>
    <keyword type="macro" name="IS_EXTENDER" link="libxml2-parserInternals.html#IS_EXTENDER"/>
    <keyword type="macro" name="IS_EXTENDER_CH" link="libxml2-parserInternals.html#IS_EXTENDER_CH"/>
    <keyword type="macro" name="IS_IDEOGRAPHIC" link="libxml2-parserInternals.html#IS_IDEOGRAPHIC"/>
    <keyword type="macro" name="IS_LETTER" link="libxml2-parserInternals.html#IS_LETTER"/>
    <keyword type="macro" name="IS_LETTER_CH" link="libxml2-parserInternals.html#IS_LETTER_CH"/>
    <keyword type="macro" name="IS_PUBIDCHAR" link="libxml2-parserInternals.html#IS_PUBIDCHAR"/>
    <keyword type="macro" name="IS_PUBIDCHAR_CH" link="libxml2-parserInternals.html#IS_PUBIDCHAR_CH"/>
    <keyword type="macro" name="LIBXML2_NEW_BUFFER" link="libxml2-tree.html#LIBXML2_NEW_BUFFER"/>
    <keyword type="macro" name="LIBXML_ATTR_ALLOC_SIZE" link="libxml2-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE"/>
    <keyword type="macro" name="LIBXML_ATTR_FORMAT" link="libxml2-xmlversion.html#LIBXML_ATTR_FORMAT"/>
    <keyword type="macro" name="LIBXML_AUTOMATA_ENABLED" link="libxml2-xmlversion.html#LIBXML_AUTOMATA_ENABLED"/>
    <keyword type="macro" name="LIBXML_C14N_ENABLED" link="libxml2-xmlversion.html#LIBXML_C14N_ENABLED"/>
    <keyword type="macro" name="LIBXML_CATALOG_ENABLED" link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
    <keyword type="macro" name="LIBXML_DEBUG_ENABLED" link="libxml2-xmlversion.html#LIBXML_DEBUG_ENABLED"/>
    <keyword type="macro" name="LIBXML_DEBUG_RUNTIME" link="libxml2-xmlversion.html#LIBXML_DEBUG_RUNTIME"/>
    <keyword type="macro" name="LIBXML_DLL_IMPORT" link="libxml2-xmlexports.html#LIBXML_DLL_IMPORT"/>
    <keyword type="macro" name="LIBXML_DOTTED_VERSION" link="libxml2-xmlversion.html#LIBXML_DOTTED_VERSION"/>
    <keyword type="macro" name="LIBXML_EXPR_ENABLED" link="libxml2-xmlversion.html#LIBXML_EXPR_ENABLED"/>
    <keyword type="macro" name="LIBXML_FTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_FTP_ENABLED"/>
    <keyword type="macro" name="LIBXML_HTML_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTML_ENABLED"/>
    <keyword type="macro" name="LIBXML_HTTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTTP_ENABLED"/>
    <keyword type="macro" name="LIBXML_ICONV_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICONV_ENABLED"/>
    <keyword type="macro" name="LIBXML_ICU_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICU_ENABLED"/>
    <keyword type="macro" name="LIBXML_ISO8859X_ENABLED" link="libxml2-xmlversion.html#LIBXML_ISO8859X_ENABLED"/>
    <keyword type="macro" name="LIBXML_LEGACY_ENABLED" link="libxml2-xmlversion.html#LIBXML_LEGACY_ENABLED"/>
    <keyword type="macro" name="LIBXML_LZMA_ENABLED" link="libxml2-xmlversion.html#LIBXML_LZMA_ENABLED"/>
    <keyword type="macro" name="LIBXML_MODULES_ENABLED" link="libxml2-xmlversion.html#LIBXML_MODULES_ENABLED"/>
    <keyword type="macro" name="LIBXML_MODULE_EXTENSION" link="libxml2-xmlversion.html#LIBXML_MODULE_EXTENSION"/>
    <keyword type="macro" name="LIBXML_OUTPUT_ENABLED" link="libxml2-xmlversion.html#LIBXML_OUTPUT_ENABLED"/>
    <keyword type="macro" name="LIBXML_PATTERN_ENABLED" link="libxml2-xmlversion.html#LIBXML_PATTERN_ENABLED"/>
    <keyword type="macro" name="LIBXML_PUSH_ENABLED" link="libxml2-xmlversion.html#LIBXML_PUSH_ENABLED"/>
    <keyword type="macro" name="LIBXML_READER_ENABLED" link="libxml2-xmlversion.html#LIBXML_READER_ENABLED"/>
    <keyword type="macro" name="LIBXML_REGEXP_ENABLED" link="libxml2-xmlversion.html#LIBXML_REGEXP_ENABLED"/>
    <keyword type="macro" name="LIBXML_SAX1_ENABLED" link="libxml2-xmlversion.html#LIBXML_SAX1_ENABLED"/>
    <keyword type="macro" name="LIBXML_SCHEMAS_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMAS_ENABLED"/>
    <keyword type="macro" name="LIBXML_SCHEMATRON_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMATRON_ENABLED"/>
    <keyword type="macro" name="LIBXML_TEST_VERSION" link="libxml2-xmlversion.html#LIBXML_TEST_VERSION"/>
    <keyword type="macro" name="LIBXML_THREAD_ALLOC_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED"/>
    <keyword type="macro" name="LIBXML_THREAD_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ENABLED"/>
    <keyword type="macro" name="LIBXML_TREE_ENABLED" link="libxml2-xmlversion.html#LIBXML_TREE_ENABLED"/>
    <keyword type="macro" name="LIBXML_UNICODE_ENABLED" link="libxml2-xmlversion.html#LIBXML_UNICODE_ENABLED"/>
    <keyword type="macro" name="LIBXML_VALID_ENABLED" link="libxml2-xmlversion.html#LIBXML_VALID_ENABLED"/>
    <keyword type="macro" name="LIBXML_VERSION" link="libxml2-xmlversion.html#LIBXML_VERSION"/>
    <keyword type="macro" name="LIBXML_VERSION_EXTRA" link="libxml2-xmlversion.html#LIBXML_VERSION_EXTRA"/>
    <keyword type="macro" name="LIBXML_VERSION_STRING" link="libxml2-xmlversion.html#LIBXML_VERSION_STRING"/>
    <keyword type="macro" name="LIBXML_WRITER_ENABLED" link="libxml2-xmlversion.html#LIBXML_WRITER_ENABLED"/>
    <keyword type="macro" name="LIBXML_XINCLUDE_ENABLED" link="libxml2-xmlversion.html#LIBXML_XINCLUDE_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPATH_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPATH_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPTR_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPTR_LOCS_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_LOCS_ENABLED"/>
    <keyword type="macro" name="LIBXML_ZLIB_ENABLED" link="libxml2-xmlversion.html#LIBXML_ZLIB_ENABLED"/>
    <keyword type="macro" name="MOVETO_ENDTAG" link="libxml2-parserInternals.html#MOVETO_ENDTAG"/>
    <keyword type="macro" name="MOVETO_STARTTAG" link="libxml2-parserInternals.html#MOVETO_STARTTAG"/>
    <keyword type="macro" name="SKIP_EOL" link="libxml2-parserInternals.html#SKIP_EOL"/>
    <keyword type="macro" name="SOCKET" link="libxml2-nanoftp.html#SOCKET"/>
    <keyword type="macro" name="WITHOUT_TRIO" link="libxml2-xmlversion.html#WITHOUT_TRIO"/>
    <keyword type="macro" name="WITH_TRIO" link="libxml2-xmlversion.html#WITH_TRIO"/>
    <keyword type="macro" name="XINCLUDE_FALLBACK" link="libxml2-xinclude.html#XINCLUDE_FALLBACK"/>
    <keyword type="macro" name="XINCLUDE_HREF" link="libxml2-xinclude.html#XINCLUDE_HREF"/>
    <keyword type="macro" name="XINCLUDE_NODE" link="libxml2-xinclude.html#XINCLUDE_NODE"/>
    <keyword type="macro" name="XINCLUDE_NS" link="libxml2-xinclude.html#XINCLUDE_NS"/>
    <keyword type="macro" name="XINCLUDE_OLD_NS" link="libxml2-xinclude.html#XINCLUDE_OLD_NS"/>
    <keyword type="macro" name="XINCLUDE_PARSE" link="libxml2-xinclude.html#XINCLUDE_PARSE"/>
    <keyword type="macro" name="XINCLUDE_PARSE_ENCODING" link="libxml2-xinclude.html#XINCLUDE_PARSE_ENCODING"/>
    <keyword type="macro" name="XINCLUDE_PARSE_TEXT" link="libxml2-xinclude.html#XINCLUDE_PARSE_TEXT"/>
    <keyword type="macro" name="XINCLUDE_PARSE_XML" link="libxml2-xinclude.html#XINCLUDE_PARSE_XML"/>
    <keyword type="macro" name="XINCLUDE_PARSE_XPOINTER" link="libxml2-xinclude.html#XINCLUDE_PARSE_XPOINTER"/>
    <keyword type="macro" name="XMLCALL" link="libxml2-xmlexports.html#XMLCALL"/>
    <keyword type="macro" name="XMLCDECL" link="libxml2-xmlexports.html#XMLCDECL"/>
    <keyword type="macro" name="XMLPUBFUN" link="libxml2-xmlexports.html#XMLPUBFUN"/>
    <keyword type="macro" name="XMLPUBLIC" link="libxml2-xmlexports.html#XMLPUBLIC"/>
    <keyword type="macro" name="XMLPUBVAR" link="libxml2-xmlexports.html#XMLPUBVAR"/>
    <keyword type="macro" name="XML_CAST_FPTR" link="libxml2-hash.html#XML_CAST_FPTR"/>
    <keyword type="macro" name="XML_CATALOGS_NAMESPACE" link="libxml2-catalog.html#XML_CATALOGS_NAMESPACE"/>
    <keyword type="macro" name="XML_CATALOG_PI" link="libxml2-catalog.html#XML_CATALOG_PI"/>
    <keyword type="macro" name="XML_COMPLETE_ATTRS" link="libxml2-parser.html#XML_COMPLETE_ATTRS"/>
    <keyword type="macro" name="XML_DEFAULT_VERSION" link="libxml2-parser.html#XML_DEFAULT_VERSION"/>
    <keyword type="macro" name="XML_DEPRECATED" link="libxml2-xmlversion.html#XML_DEPRECATED"/>
    <keyword type="macro" name="XML_DETECT_IDS" link="libxml2-parser.html#XML_DETECT_IDS"/>
    <keyword type="macro" name="XML_DOCB_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCB_DOCUMENT_NODE"/>
    <keyword type="macro" name="XML_GET_CONTENT" link="libxml2-tree.html#XML_GET_CONTENT"/>
    <keyword type="macro" name="XML_GET_LINE" link="libxml2-tree.html#XML_GET_LINE"/>
    <keyword type="macro" name="XML_LOCAL_NAMESPACE" link="libxml2-tree.html#XML_LOCAL_NAMESPACE"/>
    <keyword type="macro" name="XML_MAX_DICTIONARY_LIMIT" link="libxml2-parserInternals.html#XML_MAX_DICTIONARY_LIMIT"/>
    <keyword type="macro" name="XML_MAX_LOOKUP_LIMIT" link="libxml2-parserInternals.html#XML_MAX_LOOKUP_LIMIT"/>
    <keyword type="macro" name="XML_MAX_NAMELEN" link="libxml2-parserInternals.html#XML_MAX_NAMELEN"/>
    <keyword type="macro" name="XML_MAX_NAME_LENGTH" link="libxml2-parserInternals.html#XML_MAX_NAME_LENGTH"/>
    <keyword type="macro" name="XML_MAX_TEXT_LENGTH" link="libxml2-parserInternals.html#XML_MAX_TEXT_LENGTH"/>
    <keyword type="macro" name="XML_SAX2_MAGIC" link="libxml2-parser.html#XML_SAX2_MAGIC"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_LAX" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_SKIP" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_STRICT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_LAX" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_LAX"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_SKIP" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_SKIP"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_STRICT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_STRICT"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_HAS_REFS" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_MARKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_REDEFINED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_FIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_NSDEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_OPTIONAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_PROHIBITED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_REQUIRED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_ABSTRACT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_CIRCULAR" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_NILLABLE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_NSDEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_REF" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_REF"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_TOPLEVEL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_COLLAPSE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_PRESERVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_REPLACE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_INCLUDING_CONVERT_NS" link="libxml2-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS"/>
    <keyword type="macro" name="XML_SCHEMAS_QUALIF_ATTR" link="libxml2-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR"/>
    <keyword type="macro" name="XML_SCHEMAS_QUALIF_ELEM" link="libxml2-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_ABSTRACT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FIXUP_1" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_HAS_FACETS" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_HAS_FACETS"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_INTERNAL_INVALID" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_MARKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_MIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_NORMVALUENEEDED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_REDEFINED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_REDEFINED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE"/>
    <keyword type="macro" name="XML_SCHEMAS_WILDCARD_COMPLETE" link="libxml2-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE"/>
    <keyword type="macro" name="XML_SKIP_IDS" link="libxml2-parser.html#XML_SKIP_IDS"/>
    <keyword type="macro" name="XML_SUBSTITUTE_BOTH" link="libxml2-parserInternals.html#XML_SUBSTITUTE_BOTH"/>
    <keyword type="macro" name="XML_SUBSTITUTE_NONE" link="libxml2-parserInternals.html#XML_SUBSTITUTE_NONE"/>
    <keyword type="macro" name="XML_SUBSTITUTE_PEREF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF"/>
    <keyword type="macro" name="XML_SUBSTITUTE_REF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_REF"/>
    <keyword type="macro" name="XML_VCTXT_DTD_VALIDATED" link="libxml2-valid.html#XML_VCTXT_DTD_VALIDATED"/>
    <keyword type="macro" name="XML_VCTXT_USE_PCTXT" link="libxml2-valid.html#XML_VCTXT_USE_PCTXT"/>
    <keyword type="macro" name="XML_XML_ID" link="libxml2-tree.html#XML_XML_ID"/>
    <keyword type="macro" name="XML_XML_NAMESPACE" link="libxml2-tree.html#XML_XML_NAMESPACE"/>
    <keyword type="macro" name="XML_XPATH_CHECKNS" link="libxml2-xpath.html#XML_XPATH_CHECKNS"/>
    <keyword type="macro" name="XML_XPATH_NOVAR" link="libxml2-xpath.html#XML_XPATH_NOVAR"/>
    <keyword type="macro" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
    <keyword type="macro" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
    <keyword type="macro" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
    <keyword type="macro" name="XP_ERROR" link="libxml2-xpathInternals.html#XP_ERROR"/>
    <keyword type="macro" name="XP_ERROR0" link="libxml2-xpathInternals.html#XP_ERROR0"/>
    <keyword type="macro" name="htmlDefaultSubelement" link="libxml2-HTMLparser.html#htmlDefaultSubelement"/>
    <keyword type="macro" name="htmlElementAllowedHereDesc" link="libxml2-HTMLparser.html#htmlElementAllowedHereDesc"/>
    <keyword type="macro" name="htmlRequiredAttrs" link="libxml2-HTMLparser.html#htmlRequiredAttrs"/>
    <keyword type="macro" name="xmlChildrenNode" link="libxml2-tree.html#xmlChildrenNode"/>
    <keyword type="macro" name="xmlIsBaseCharQ" link="libxml2-chvalid.html#xmlIsBaseCharQ"/>
    <keyword type="macro" name="xmlIsBaseChar_ch" link="libxml2-chvalid.html#xmlIsBaseChar_ch"/>
    <keyword type="macro" name="xmlIsBlankQ" link="libxml2-chvalid.html#xmlIsBlankQ"/>
    <keyword type="macro" name="xmlIsBlank_ch" link="libxml2-chvalid.html#xmlIsBlank_ch"/>
    <keyword type="macro" name="xmlIsCharQ" link="libxml2-chvalid.html#xmlIsCharQ"/>
    <keyword type="macro" name="xmlIsChar_ch" link="libxml2-chvalid.html#xmlIsChar_ch"/>
    <keyword type="macro" name="xmlIsCombiningQ" link="libxml2-chvalid.html#xmlIsCombiningQ"/>
    <keyword type="macro" name="xmlIsDigitQ" link="libxml2-chvalid.html#xmlIsDigitQ"/>
    <keyword type="macro" name="xmlIsDigit_ch" link="libxml2-chvalid.html#xmlIsDigit_ch"/>
    <keyword type="macro" name="xmlIsExtenderQ" link="libxml2-chvalid.html#xmlIsExtenderQ"/>
    <keyword type="macro" name="xmlIsExtender_ch" link="libxml2-chvalid.html#xmlIsExtender_ch"/>
    <keyword type="macro" name="xmlIsIdeographicQ" link="libxml2-chvalid.html#xmlIsIdeographicQ"/>
    <keyword type="macro" name="xmlIsPubidCharQ" link="libxml2-chvalid.html#xmlIsPubidCharQ"/>
    <keyword type="macro" name="xmlIsPubidChar_ch" link="libxml2-chvalid.html#xmlIsPubidChar_ch"/>
    <keyword type="macro" name="xmlRootNode" link="libxml2-tree.html#xmlRootNode"/>
    <keyword type="macro" name="xmlTextWriterWriteDocType" link="libxml2-xmlwriter.html#xmlTextWriterWriteDocType"/>
    <keyword type="macro" name="xmlTextWriterWriteProcessingInstruction" link="libxml2-xmlwriter.html#xmlTextWriterWriteProcessingInstruction"/>
    <keyword type="macro" name="xmlXPathCheckError" link="libxml2-xpathInternals.html#xmlXPathCheckError"/>
    <keyword type="macro" name="xmlXPathEmptyNodeSet" link="libxml2-xpathInternals.html#xmlXPathEmptyNodeSet"/>
    <keyword type="macro" name="xmlXPathGetContextNode" link="libxml2-xpathInternals.html#xmlXPathGetContextNode"/>
    <keyword type="macro" name="xmlXPathGetDocument" link="libxml2-xpathInternals.html#xmlXPathGetDocument"/>
    <keyword type="macro" name="xmlXPathGetError" link="libxml2-xpathInternals.html#xmlXPathGetError"/>
    <keyword type="macro" name="xmlXPathNodeSetGetLength" link="libxml2-xpath.html#xmlXPathNodeSetGetLength"/>
    <keyword type="macro" name="xmlXPathNodeSetIsEmpty" link="libxml2-xpath.html#xmlXPathNodeSetIsEmpty"/>
    <keyword type="macro" name="xmlXPathNodeSetItem" link="libxml2-xpath.html#xmlXPathNodeSetItem"/>
    <keyword type="macro" name="xmlXPathReturnBoolean" link="libxml2-xpathInternals.html#xmlXPathReturnBoolean"/>
    <keyword type="macro" name="xmlXPathReturnEmptyNodeSet" link="libxml2-xpathInternals.html#xmlXPathReturnEmptyNodeSet"/>
    <keyword type="macro" name="xmlXPathReturnEmptyString" link="libxml2-xpathInternals.html#xmlXPathReturnEmptyString"/>
    <keyword type="macro" name="xmlXPathReturnExternal" link="libxml2-xpathInternals.html#xmlXPathReturnExternal"/>
    <keyword type="macro" name="xmlXPathReturnFalse" link="libxml2-xpathInternals.html#xmlXPathReturnFalse"/>
    <keyword type="macro" name="xmlXPathReturnNodeSet" link="libxml2-xpathInternals.html#xmlXPathReturnNodeSet"/>
    <keyword type="macro" name="xmlXPathReturnNumber" link="libxml2-xpathInternals.html#xmlXPathReturnNumber"/>
    <keyword type="macro" name="xmlXPathReturnString" link="libxml2-xpathInternals.html#xmlXPathReturnString"/>
    <keyword type="macro" name="xmlXPathReturnTrue" link="libxml2-xpathInternals.html#xmlXPathReturnTrue"/>
    <keyword type="macro" name="xmlXPathSetArityError" link="libxml2-xpathInternals.html#xmlXPathSetArityError"/>
    <keyword type="macro" name="xmlXPathSetError" link="libxml2-xpathInternals.html#xmlXPathSetError"/>
    <keyword type="macro" name="xmlXPathSetTypeError" link="libxml2-xpathInternals.html#xmlXPathSetTypeError"/>
    <keyword type="macro" name="xmlXPathStackIsExternal" link="libxml2-xpathInternals.html#xmlXPathStackIsExternal"/>
    <keyword type="macro" name="xmlXPathStackIsNodeSet" link="libxml2-xpathInternals.html#xmlXPathStackIsNodeSet"/>
    <keyword type="enum" name="HTML_DEPRECATED" link="libxml2-HTMLparser.html#HTML_DEPRECATED"/>
    <keyword type="enum" name="HTML_INVALID" link="libxml2-HTMLparser.html#HTML_INVALID"/>
    <keyword type="enum" name="HTML_NA" link="libxml2-HTMLparser.html#HTML_NA"/>
    <keyword type="enum" name="HTML_PARSE_COMPACT" link="libxml2-HTMLparser.html#HTML_PARSE_COMPACT"/>
    <keyword type="enum" name="HTML_PARSE_IGNORE_ENC" link="libxml2-HTMLparser.html#HTML_PARSE_IGNORE_ENC"/>
    <keyword type="enum" name="HTML_PARSE_NOBLANKS" link="libxml2-HTMLparser.html#HTML_PARSE_NOBLANKS"/>
    <keyword type="enum" name="HTML_PARSE_NODEFDTD" link="libxml2-HTMLparser.html#HTML_PARSE_NODEFDTD"/>
    <keyword type="enum" name="HTML_PARSE_NOERROR" link="libxml2-HTMLparser.html#HTML_PARSE_NOERROR"/>
    <keyword type="enum" name="HTML_PARSE_NOIMPLIED" link="libxml2-HTMLparser.html#HTML_PARSE_NOIMPLIED"/>
    <keyword type="enum" name="HTML_PARSE_NONET" link="libxml2-HTMLparser.html#HTML_PARSE_NONET"/>
    <keyword type="enum" name="HTML_PARSE_NOWARNING" link="libxml2-HTMLparser.html#HTML_PARSE_NOWARNING"/>
    <keyword type="enum" name="HTML_PARSE_PEDANTIC" link="libxml2-HTMLparser.html#HTML_PARSE_PEDANTIC"/>
    <keyword type="enum" name="HTML_PARSE_RECOVER" link="libxml2-HTMLparser.html#HTML_PARSE_RECOVER"/>
    <keyword type="enum" name="HTML_REQUIRED" link="libxml2-HTMLparser.html#HTML_REQUIRED"/>
    <keyword type="enum" name="HTML_VALID" link="libxml2-HTMLparser.html#HTML_VALID"/>
    <keyword type="enum" name="XLINK_ACTUATE_AUTO" link="libxml2-xlink.html#XLINK_ACTUATE_AUTO"/>
    <keyword type="enum" name="XLINK_ACTUATE_NONE" link="libxml2-xlink.html#XLINK_ACTUATE_NONE"/>
    <keyword type="enum" name="XLINK_ACTUATE_ONREQUEST" link="libxml2-xlink.html#XLINK_ACTUATE_ONREQUEST"/>
    <keyword type="enum" name="XLINK_SHOW_EMBED" link="libxml2-xlink.html#XLINK_SHOW_EMBED"/>
    <keyword type="enum" name="XLINK_SHOW_NEW" link="libxml2-xlink.html#XLINK_SHOW_NEW"/>
    <keyword type="enum" name="XLINK_SHOW_NONE" link="libxml2-xlink.html#XLINK_SHOW_NONE"/>
    <keyword type="enum" name="XLINK_SHOW_REPLACE" link="libxml2-xlink.html#XLINK_SHOW_REPLACE"/>
    <keyword type="enum" name="XLINK_TYPE_EXTENDED" link="libxml2-xlink.html#XLINK_TYPE_EXTENDED"/>
    <keyword type="enum" name="XLINK_TYPE_EXTENDED_SET" link="libxml2-xlink.html#XLINK_TYPE_EXTENDED_SET"/>
    <keyword type="enum" name="XLINK_TYPE_NONE" link="libxml2-xlink.html#XLINK_TYPE_NONE"/>
    <keyword type="enum" name="XLINK_TYPE_SIMPLE" link="libxml2-xlink.html#XLINK_TYPE_SIMPLE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_CDATA" link="libxml2-tree.html#XML_ATTRIBUTE_CDATA"/>
    <keyword type="enum" name="XML_ATTRIBUTE_DECL" link="libxml2-tree.html#XML_ATTRIBUTE_DECL"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENTITIES" link="libxml2-tree.html#XML_ATTRIBUTE_ENTITIES"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENTITY" link="libxml2-tree.html#XML_ATTRIBUTE_ENTITY"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENUMERATION" link="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION"/>
    <keyword type="enum" name="XML_ATTRIBUTE_FIXED" link="libxml2-tree.html#XML_ATTRIBUTE_FIXED"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ID" link="libxml2-tree.html#XML_ATTRIBUTE_ID"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IDREF" link="libxml2-tree.html#XML_ATTRIBUTE_IDREF"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IDREFS" link="libxml2-tree.html#XML_ATTRIBUTE_IDREFS"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IMPLIED" link="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NMTOKEN" link="libxml2-tree.html#XML_ATTRIBUTE_NMTOKEN"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NMTOKENS" link="libxml2-tree.html#XML_ATTRIBUTE_NMTOKENS"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NODE" link="libxml2-tree.html#XML_ATTRIBUTE_NODE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NONE" link="libxml2-tree.html#XML_ATTRIBUTE_NONE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NOTATION" link="libxml2-tree.html#XML_ATTRIBUTE_NOTATION"/>
    <keyword type="enum" name="XML_ATTRIBUTE_REQUIRED" link="libxml2-tree.html#XML_ATTRIBUTE_REQUIRED"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_BOUNDED" link="libxml2-tree.html#XML_BUFFER_ALLOC_BOUNDED"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_DOUBLEIT" link="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_EXACT" link="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_HYBRID" link="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_IMMUTABLE" link="libxml2-tree.html#XML_BUFFER_ALLOC_IMMUTABLE"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_IO" link="libxml2-tree.html#XML_BUFFER_ALLOC_IO"/>
    <keyword type="enum" name="XML_BUF_OVERFLOW" link="libxml2-xmlerror.html#XML_BUF_OVERFLOW"/>
    <keyword type="enum" name="XML_C14N_1_0" link="libxml2-c14n.html#XML_C14N_1_0"/>
    <keyword type="enum" name="XML_C14N_1_1" link="libxml2-c14n.html#XML_C14N_1_1"/>
    <keyword type="enum" name="XML_C14N_CREATE_CTXT" link="libxml2-xmlerror.html#XML_C14N_CREATE_CTXT"/>
    <keyword type="enum" name="XML_C14N_CREATE_STACK" link="libxml2-xmlerror.html#XML_C14N_CREATE_STACK"/>
    <keyword type="enum" name="XML_C14N_EXCLUSIVE_1_0" link="libxml2-c14n.html#XML_C14N_EXCLUSIVE_1_0"/>
    <keyword type="enum" name="XML_C14N_INVALID_NODE" link="libxml2-xmlerror.html#XML_C14N_INVALID_NODE"/>
    <keyword type="enum" name="XML_C14N_RELATIVE_NAMESPACE" link="libxml2-xmlerror.html#XML_C14N_RELATIVE_NAMESPACE"/>
    <keyword type="enum" name="XML_C14N_REQUIRES_UTF8" link="libxml2-xmlerror.html#XML_C14N_REQUIRES_UTF8"/>
    <keyword type="enum" name="XML_C14N_UNKNOW_NODE" link="libxml2-xmlerror.html#XML_C14N_UNKNOW_NODE"/>
    <keyword type="enum" name="XML_CATALOG_ENTRY_BROKEN" link="libxml2-xmlerror.html#XML_CATALOG_ENTRY_BROKEN"/>
    <keyword type="enum" name="XML_CATALOG_MISSING_ATTR" link="libxml2-xmlerror.html#XML_CATALOG_MISSING_ATTR"/>
    <keyword type="enum" name="XML_CATALOG_NOT_CATALOG" link="libxml2-xmlerror.html#XML_CATALOG_NOT_CATALOG"/>
    <keyword type="enum" name="XML_CATALOG_PREFER_VALUE" link="libxml2-xmlerror.html#XML_CATALOG_PREFER_VALUE"/>
    <keyword type="enum" name="XML_CATALOG_RECURSION" link="libxml2-xmlerror.html#XML_CATALOG_RECURSION"/>
    <keyword type="enum" name="XML_CATA_ALLOW_ALL" link="libxml2-catalog.html#XML_CATA_ALLOW_ALL"/>
    <keyword type="enum" name="XML_CATA_ALLOW_DOCUMENT" link="libxml2-catalog.html#XML_CATA_ALLOW_DOCUMENT"/>
    <keyword type="enum" name="XML_CATA_ALLOW_GLOBAL" link="libxml2-catalog.html#XML_CATA_ALLOW_GLOBAL"/>
    <keyword type="enum" name="XML_CATA_ALLOW_NONE" link="libxml2-catalog.html#XML_CATA_ALLOW_NONE"/>
    <keyword type="enum" name="XML_CATA_PREFER_NONE" link="libxml2-catalog.html#XML_CATA_PREFER_NONE"/>
    <keyword type="enum" name="XML_CATA_PREFER_PUBLIC" link="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC"/>
    <keyword type="enum" name="XML_CATA_PREFER_SYSTEM" link="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM"/>
    <keyword type="enum" name="XML_CDATA_SECTION_NODE" link="libxml2-tree.html#XML_CDATA_SECTION_NODE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_2022_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_2022_JP"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_1" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_1"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_2" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_2"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_3" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_3"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_4" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_4"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_5" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_5"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_6" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_6"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_7" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_7"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_8" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_8"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_9" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_9"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_ASCII" link="libxml2-encoding.html#XML_CHAR_ENCODING_ASCII"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_EBCDIC" link="libxml2-encoding.html#XML_CHAR_ENCODING_EBCDIC"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_ERROR" link="libxml2-encoding.html#XML_CHAR_ENCODING_ERROR"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_EUC_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_EUC_JP"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_NONE" link="libxml2-encoding.html#XML_CHAR_ENCODING_NONE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_SHIFT_JIS" link="libxml2-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS2" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS2"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4BE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4BE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4LE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_2143" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_2143"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_3412" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_3412"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF16BE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16BE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF16LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16LE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF8" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF8"/>
    <keyword type="enum" name="XML_CHECK_ENTITY_TYPE" link="libxml2-xmlerror.html#XML_CHECK_ENTITY_TYPE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ATTRIBUTE" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_CDATA" link="libxml2-xmlerror.html#XML_CHECK_FOUND_CDATA"/>
    <keyword type="enum" name="XML_CHECK_FOUND_COMMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_COMMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_DOCTYPE" link="libxml2-xmlerror.html#XML_CHECK_FOUND_DOCTYPE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ELEMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ELEMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ENTITY" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ENTITY"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ENTITYREF" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ENTITYREF"/>
    <keyword type="enum" name="XML_CHECK_FOUND_FRAGMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_FRAGMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_NOTATION" link="libxml2-xmlerror.html#XML_CHECK_FOUND_NOTATION"/>
    <keyword type="enum" name="XML_CHECK_FOUND_PI" link="libxml2-xmlerror.html#XML_CHECK_FOUND_PI"/>
    <keyword type="enum" name="XML_CHECK_FOUND_TEXT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_TEXT"/>
    <keyword type="enum" name="XML_CHECK_NAME_NOT_NULL" link="libxml2-xmlerror.html#XML_CHECK_NAME_NOT_NULL"/>
    <keyword type="enum" name="XML_CHECK_NOT_ATTR" link="libxml2-xmlerror.html#XML_CHECK_NOT_ATTR"/>
    <keyword type="enum" name="XML_CHECK_NOT_ATTR_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ATTR_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_DTD" link="libxml2-xmlerror.html#XML_CHECK_NOT_DTD"/>
    <keyword type="enum" name="XML_CHECK_NOT_ELEM_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ELEM_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_ENTITY_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_NCNAME" link="libxml2-xmlerror.html#XML_CHECK_NOT_NCNAME"/>
    <keyword type="enum" name="XML_CHECK_NOT_NS_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_NS_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_UTF8" link="libxml2-xmlerror.html#XML_CHECK_NOT_UTF8"/>
    <keyword type="enum" name="XML_CHECK_NO_DICT" link="libxml2-xmlerror.html#XML_CHECK_NO_DICT"/>
    <keyword type="enum" name="XML_CHECK_NO_DOC" link="libxml2-xmlerror.html#XML_CHECK_NO_DOC"/>
    <keyword type="enum" name="XML_CHECK_NO_ELEM" link="libxml2-xmlerror.html#XML_CHECK_NO_ELEM"/>
    <keyword type="enum" name="XML_CHECK_NO_HREF" link="libxml2-xmlerror.html#XML_CHECK_NO_HREF"/>
    <keyword type="enum" name="XML_CHECK_NO_NAME" link="libxml2-xmlerror.html#XML_CHECK_NO_NAME"/>
    <keyword type="enum" name="XML_CHECK_NO_NEXT" link="libxml2-xmlerror.html#XML_CHECK_NO_NEXT"/>
    <keyword type="enum" name="XML_CHECK_NO_PARENT" link="libxml2-xmlerror.html#XML_CHECK_NO_PARENT"/>
    <keyword type="enum" name="XML_CHECK_NO_PREV" link="libxml2-xmlerror.html#XML_CHECK_NO_PREV"/>
    <keyword type="enum" name="XML_CHECK_NS_ANCESTOR" link="libxml2-xmlerror.html#XML_CHECK_NS_ANCESTOR"/>
    <keyword type="enum" name="XML_CHECK_NS_SCOPE" link="libxml2-xmlerror.html#XML_CHECK_NS_SCOPE"/>
    <keyword type="enum" name="XML_CHECK_OUTSIDE_DICT" link="libxml2-xmlerror.html#XML_CHECK_OUTSIDE_DICT"/>
    <keyword type="enum" name="XML_CHECK_UNKNOWN_NODE" link="libxml2-xmlerror.html#XML_CHECK_UNKNOWN_NODE"/>
    <keyword type="enum" name="XML_CHECK_WRONG_DOC" link="libxml2-xmlerror.html#XML_CHECK_WRONG_DOC"/>
    <keyword type="enum" name="XML_CHECK_WRONG_NAME" link="libxml2-xmlerror.html#XML_CHECK_WRONG_NAME"/>
    <keyword type="enum" name="XML_CHECK_WRONG_NEXT" link="libxml2-xmlerror.html#XML_CHECK_WRONG_NEXT"/>
    <keyword type="enum" name="XML_CHECK_WRONG_PARENT" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PARENT"/>
    <keyword type="enum" name="XML_CHECK_WRONG_PREV" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PREV"/>
    <keyword type="enum" name="XML_COMMENT_NODE" link="libxml2-tree.html#XML_COMMENT_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_FRAG_NODE" link="libxml2-tree.html#XML_DOCUMENT_FRAG_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCUMENT_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_TYPE_NODE" link="libxml2-tree.html#XML_DOCUMENT_TYPE_NODE"/>
    <keyword type="enum" name="XML_DOC_DTDVALID" link="libxml2-tree.html#XML_DOC_DTDVALID"/>
    <keyword type="enum" name="XML_DOC_HTML" link="libxml2-tree.html#XML_DOC_HTML"/>
    <keyword type="enum" name="XML_DOC_INTERNAL" link="libxml2-tree.html#XML_DOC_INTERNAL"/>
    <keyword type="enum" name="XML_DOC_NSVALID" link="libxml2-tree.html#XML_DOC_NSVALID"/>
    <keyword type="enum" name="XML_DOC_OLD10" link="libxml2-tree.html#XML_DOC_OLD10"/>
    <keyword type="enum" name="XML_DOC_USERBUILT" link="libxml2-tree.html#XML_DOC_USERBUILT"/>
    <keyword type="enum" name="XML_DOC_WELLFORMED" link="libxml2-tree.html#XML_DOC_WELLFORMED"/>
    <keyword type="enum" name="XML_DOC_XINCLUDE" link="libxml2-tree.html#XML_DOC_XINCLUDE"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_DEFAULT" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_VALUE" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE"/>
    <keyword type="enum" name="XML_DTD_CONTENT_ERROR" link="libxml2-xmlerror.html#XML_DTD_CONTENT_ERROR"/>
    <keyword type="enum" name="XML_DTD_CONTENT_MODEL" link="libxml2-xmlerror.html#XML_DTD_CONTENT_MODEL"/>
    <keyword type="enum" name="XML_DTD_CONTENT_NOT_DETERMINIST" link="libxml2-xmlerror.html#XML_DTD_CONTENT_NOT_DETERMINIST"/>
    <keyword type="enum" name="XML_DTD_DIFFERENT_PREFIX" link="libxml2-xmlerror.html#XML_DTD_DIFFERENT_PREFIX"/>
    <keyword type="enum" name="XML_DTD_DUP_TOKEN" link="libxml2-xmlerror.html#XML_DTD_DUP_TOKEN"/>
    <keyword type="enum" name="XML_DTD_ELEM_DEFAULT_NAMESPACE" link="libxml2-xmlerror.html#XML_DTD_ELEM_DEFAULT_NAMESPACE"/>
    <keyword type="enum" name="XML_DTD_ELEM_NAMESPACE" link="libxml2-xmlerror.html#XML_DTD_ELEM_NAMESPACE"/>
    <keyword type="enum" name="XML_DTD_ELEM_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ELEM_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_EMPTY_NOTATION" link="libxml2-xmlerror.html#XML_DTD_EMPTY_NOTATION"/>
    <keyword type="enum" name="XML_DTD_ENTITY_TYPE" link="libxml2-xmlerror.html#XML_DTD_ENTITY_TYPE"/>
    <keyword type="enum" name="XML_DTD_ID_FIXED" link="libxml2-xmlerror.html#XML_DTD_ID_FIXED"/>
    <keyword type="enum" name="XML_DTD_ID_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ID_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_ID_SUBSET" link="libxml2-xmlerror.html#XML_DTD_ID_SUBSET"/>
    <keyword type="enum" name="XML_DTD_INVALID_CHILD" link="libxml2-xmlerror.html#XML_DTD_INVALID_CHILD"/>
    <keyword type="enum" name="XML_DTD_INVALID_DEFAULT" link="libxml2-xmlerror.html#XML_DTD_INVALID_DEFAULT"/>
    <keyword type="enum" name="XML_DTD_LOAD_ERROR" link="libxml2-xmlerror.html#XML_DTD_LOAD_ERROR"/>
    <keyword type="enum" name="XML_DTD_MISSING_ATTRIBUTE" link="libxml2-xmlerror.html#XML_DTD_MISSING_ATTRIBUTE"/>
    <keyword type="enum" name="XML_DTD_MIXED_CORRUPT" link="libxml2-xmlerror.html#XML_DTD_MIXED_CORRUPT"/>
    <keyword type="enum" name="XML_DTD_MULTIPLE_ID" link="libxml2-xmlerror.html#XML_DTD_MULTIPLE_ID"/>
    <keyword type="enum" name="XML_DTD_NODE" link="libxml2-tree.html#XML_DTD_NODE"/>
    <keyword type="enum" name="XML_DTD_NOTATION_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_NOTATION_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_NOTATION_VALUE" link="libxml2-xmlerror.html#XML_DTD_NOTATION_VALUE"/>
    <keyword type="enum" name="XML_DTD_NOT_EMPTY" link="libxml2-xmlerror.html#XML_DTD_NOT_EMPTY"/>
    <keyword type="enum" name="XML_DTD_NOT_PCDATA" link="libxml2-xmlerror.html#XML_DTD_NOT_PCDATA"/>
    <keyword type="enum" name="XML_DTD_NOT_STANDALONE" link="libxml2-xmlerror.html#XML_DTD_NOT_STANDALONE"/>
    <keyword type="enum" name="XML_DTD_NO_DOC" link="libxml2-xmlerror.html#XML_DTD_NO_DOC"/>
    <keyword type="enum" name="XML_DTD_NO_DTD" link="libxml2-xmlerror.html#XML_DTD_NO_DTD"/>
    <keyword type="enum" name="XML_DTD_NO_ELEM_NAME" link="libxml2-xmlerror.html#XML_DTD_NO_ELEM_NAME"/>
    <keyword type="enum" name="XML_DTD_NO_PREFIX" link="libxml2-xmlerror.html#XML_DTD_NO_PREFIX"/>
    <keyword type="enum" name="XML_DTD_NO_ROOT" link="libxml2-xmlerror.html#XML_DTD_NO_ROOT"/>
    <keyword type="enum" name="XML_DTD_ROOT_NAME" link="libxml2-xmlerror.html#XML_DTD_ROOT_NAME"/>
    <keyword type="enum" name="XML_DTD_STANDALONE_DEFAULTED" link="libxml2-xmlerror.html#XML_DTD_STANDALONE_DEFAULTED"/>
    <keyword type="enum" name="XML_DTD_STANDALONE_WHITE_SPACE" link="libxml2-xmlerror.html#XML_DTD_STANDALONE_WHITE_SPACE"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ELEM" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ELEM"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ENTITY" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ENTITY"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ID" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ID"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_NOTATION" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_NOTATION"/>
    <keyword type="enum" name="XML_DTD_XMLID_TYPE" link="libxml2-xmlerror.html#XML_DTD_XMLID_TYPE"/>
    <keyword type="enum" name="XML_DTD_XMLID_VALUE" link="libxml2-xmlerror.html#XML_DTD_XMLID_VALUE"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_ELEMENT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_ELEMENT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_MULT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_MULT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_ONCE" link="libxml2-tree.html#XML_ELEMENT_CONTENT_ONCE"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_OPT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_OPT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_OR" link="libxml2-tree.html#XML_ELEMENT_CONTENT_OR"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_PCDATA" link="libxml2-tree.html#XML_ELEMENT_CONTENT_PCDATA"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_PLUS" link="libxml2-tree.html#XML_ELEMENT_CONTENT_PLUS"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_SEQ" link="libxml2-tree.html#XML_ELEMENT_CONTENT_SEQ"/>
    <keyword type="enum" name="XML_ELEMENT_DECL" link="libxml2-tree.html#XML_ELEMENT_DECL"/>
    <keyword type="enum" name="XML_ELEMENT_NODE" link="libxml2-tree.html#XML_ELEMENT_NODE"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_ANY" link="libxml2-tree.html#XML_ELEMENT_TYPE_ANY"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_ELEMENT" link="libxml2-tree.html#XML_ELEMENT_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_EMPTY" link="libxml2-tree.html#XML_ELEMENT_TYPE_EMPTY"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_MIXED" link="libxml2-tree.html#XML_ELEMENT_TYPE_MIXED"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_UNDEFINED" link="libxml2-tree.html#XML_ELEMENT_TYPE_UNDEFINED"/>
    <keyword type="enum" name="XML_ENTITY_DECL" link="libxml2-tree.html#XML_ENTITY_DECL"/>
    <keyword type="enum" name="XML_ENTITY_NODE" link="libxml2-tree.html#XML_ENTITY_NODE"/>
    <keyword type="enum" name="XML_ENTITY_REF_NODE" link="libxml2-tree.html#XML_ENTITY_REF_NODE"/>
    <keyword type="enum" name="XML_ERR_ATTLIST_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ATTLIST_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ATTLIST_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ATTLIST_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_WITHOUT_VALUE" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_WITHOUT_VALUE"/>
    <keyword type="enum" name="XML_ERR_CDATA_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_CDATA_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CHARREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_CHARREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_DTD" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_DTD"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_COMMENT_ABRUPTLY_ENDED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_ABRUPTLY_ENDED"/>
    <keyword type="enum" name="XML_ERR_COMMENT_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_INVALID" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_INVALID_KEYWORD" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_DOCTYPE_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_DOCTYPE_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_EMPTY" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_EMPTY"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_END" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_END"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_START" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_START"/>
    <keyword type="enum" name="XML_ERR_ELEMCONTENT_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ELEMCONTENT_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ENCODING_NAME" link="libxml2-xmlerror.html#XML_ERR_ENCODING_NAME"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_DTD" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_DTD"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_NO_NAME" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_NO_NAME"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_SEMICOL_MISSING" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_SEMICOL_MISSING"/>
    <keyword type="enum" name="XML_ERR_ENTITY_BOUNDARY" link="libxml2-xmlerror.html#XML_ERR_ENTITY_BOUNDARY"/>
    <keyword type="enum" name="XML_ERR_ENTITY_CHAR_ERROR" link="libxml2-xmlerror.html#XML_ERR_ENTITY_CHAR_ERROR"/>
    <keyword type="enum" name="XML_ERR_ENTITY_IS_EXTERNAL" link="libxml2-xmlerror.html#XML_ERR_ENTITY_IS_EXTERNAL"/>
    <keyword type="enum" name="XML_ERR_ENTITY_IS_PARAMETER" link="libxml2-xmlerror.html#XML_ERR_ENTITY_IS_PARAMETER"/>
    <keyword type="enum" name="XML_ERR_ENTITY_LOOP" link="libxml2-xmlerror.html#XML_ERR_ENTITY_LOOP"/>
    <keyword type="enum" name="XML_ERR_ENTITY_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ENTITY_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ENTITY_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ENTITY_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ENTITY_PE_INTERNAL" link="libxml2-xmlerror.html#XML_ERR_ENTITY_PE_INTERNAL"/>
    <keyword type="enum" name="XML_ERR_ENTITY_PROCESSING" link="libxml2-xmlerror.html#XML_ERR_ENTITY_PROCESSING"/>
    <keyword type="enum" name="XML_ERR_EQUAL_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_EQUAL_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_ERROR" link="libxml2-xmlerror.html#XML_ERR_ERROR"/>
    <keyword type="enum" name="XML_ERR_EXTRA_CONTENT" link="libxml2-xmlerror.html#XML_ERR_EXTRA_CONTENT"/>
    <keyword type="enum" name="XML_ERR_EXT_ENTITY_STANDALONE" link="libxml2-xmlerror.html#XML_ERR_EXT_ENTITY_STANDALONE"/>
    <keyword type="enum" name="XML_ERR_EXT_SUBSET_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_EXT_SUBSET_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_FATAL" link="libxml2-xmlerror.html#XML_ERR_FATAL"/>
    <keyword type="enum" name="XML_ERR_GT_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_GT_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_HYPHEN_IN_COMMENT" link="libxml2-xmlerror.html#XML_ERR_HYPHEN_IN_COMMENT"/>
    <keyword type="enum" name="XML_ERR_INTERNAL_ERROR" link="libxml2-xmlerror.html#XML_ERR_INTERNAL_ERROR"/>
    <keyword type="enum" name="XML_ERR_INVALID_CHAR" link="libxml2-xmlerror.html#XML_ERR_INVALID_CHAR"/>
    <keyword type="enum" name="XML_ERR_INVALID_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_DEC_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_DEC_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_ENCODING" link="libxml2-xmlerror.html#XML_ERR_INVALID_ENCODING"/>
    <keyword type="enum" name="XML_ERR_INVALID_HEX_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_HEX_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_URI" link="libxml2-xmlerror.html#XML_ERR_INVALID_URI"/>
    <keyword type="enum" name="XML_ERR_LITERAL_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_LITERAL_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_LITERAL_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_LITERAL_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_LTSLASH_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_LTSLASH_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_LT_IN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_ERR_LT_IN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_ERR_LT_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_LT_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_MISPLACED_CDATA_END" link="libxml2-xmlerror.html#XML_ERR_MISPLACED_CDATA_END"/>
    <keyword type="enum" name="XML_ERR_MISSING_ENCODING" link="libxml2-xmlerror.html#XML_ERR_MISSING_ENCODING"/>
    <keyword type="enum" name="XML_ERR_MIXED_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_MIXED_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_MIXED_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_MIXED_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_NAME_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_NAME_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_NAME_TOO_LONG" link="libxml2-xmlerror.html#XML_ERR_NAME_TOO_LONG"/>
    <keyword type="enum" name="XML_ERR_NMTOKEN_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_NMTOKEN_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_NONE" link="libxml2-xmlerror.html#XML_ERR_NONE"/>
    <keyword type="enum" name="XML_ERR_NOTATION_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_NOTATION_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_NOTATION_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_NOTATION_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_NOTATION_PROCESSING" link="libxml2-xmlerror.html#XML_ERR_NOTATION_PROCESSING"/>
    <keyword type="enum" name="XML_ERR_NOT_STANDALONE" link="libxml2-xmlerror.html#XML_ERR_NOT_STANDALONE"/>
    <keyword type="enum" name="XML_ERR_NOT_WELL_BALANCED" link="libxml2-xmlerror.html#XML_ERR_NOT_WELL_BALANCED"/>
    <keyword type="enum" name="XML_ERR_NO_DTD" link="libxml2-xmlerror.html#XML_ERR_NO_DTD"/>
    <keyword type="enum" name="XML_ERR_NO_MEMORY" link="libxml2-xmlerror.html#XML_ERR_NO_MEMORY"/>
    <keyword type="enum" name="XML_ERR_NS_DECL_ERROR" link="libxml2-xmlerror.html#XML_ERR_NS_DECL_ERROR"/>
    <keyword type="enum" name="XML_ERR_OK" link="libxml2-xmlerror.html#XML_ERR_OK"/>
    <keyword type="enum" name="XML_ERR_PCDATA_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_PCDATA_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_PEREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_PEREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_INT_SUBSET" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_INT_SUBSET"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_PEREF_NO_NAME" link="libxml2-xmlerror.html#XML_ERR_PEREF_NO_NAME"/>
    <keyword type="enum" name="XML_ERR_PEREF_SEMICOL_MISSING" link="libxml2-xmlerror.html#XML_ERR_PEREF_SEMICOL_MISSING"/>
    <keyword type="enum" name="XML_ERR_PI_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_PI_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_PI_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_PI_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_PUBID_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_PUBID_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_RESERVED_XML_NAME" link="libxml2-xmlerror.html#XML_ERR_RESERVED_XML_NAME"/>
    <keyword type="enum" name="XML_ERR_SEPARATOR_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_SEPARATOR_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_SPACE_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_SPACE_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_STANDALONE_VALUE" link="libxml2-xmlerror.html#XML_ERR_STANDALONE_VALUE"/>
    <keyword type="enum" name="XML_ERR_STRING_NOT_CLOSED" link="libxml2-xmlerror.html#XML_ERR_STRING_NOT_CLOSED"/>
    <keyword type="enum" name="XML_ERR_STRING_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_STRING_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_TAG_NAME_MISMATCH" link="libxml2-xmlerror.html#XML_ERR_TAG_NAME_MISMATCH"/>
    <keyword type="enum" name="XML_ERR_TAG_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_TAG_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_UNDECLARED_ENTITY" link="libxml2-xmlerror.html#XML_ERR_UNDECLARED_ENTITY"/>
    <keyword type="enum" name="XML_ERR_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_ERR_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_ERR_UNKNOWN_VERSION" link="libxml2-xmlerror.html#XML_ERR_UNKNOWN_VERSION"/>
    <keyword type="enum" name="XML_ERR_UNPARSED_ENTITY" link="libxml2-xmlerror.html#XML_ERR_UNPARSED_ENTITY"/>
    <keyword type="enum" name="XML_ERR_UNSUPPORTED_ENCODING" link="libxml2-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING"/>
    <keyword type="enum" name="XML_ERR_URI_FRAGMENT" link="libxml2-xmlerror.html#XML_ERR_URI_FRAGMENT"/>
    <keyword type="enum" name="XML_ERR_URI_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_URI_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_USER_STOP" link="libxml2-xmlerror.html#XML_ERR_USER_STOP"/>
    <keyword type="enum" name="XML_ERR_VALUE_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_VALUE_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_VERSION_MISMATCH" link="libxml2-xmlerror.html#XML_ERR_VERSION_MISMATCH"/>
    <keyword type="enum" name="XML_ERR_VERSION_MISSING" link="libxml2-xmlerror.html#XML_ERR_VERSION_MISSING"/>
    <keyword type="enum" name="XML_ERR_WARNING" link="libxml2-xmlerror.html#XML_ERR_WARNING"/>
    <keyword type="enum" name="XML_ERR_XMLDECL_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_XMLDECL_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED"/>
    <keyword type="enum" name="XML_EXP_ATOM" link="libxml2-xmlregexp.html#XML_EXP_ATOM"/>
    <keyword type="enum" name="XML_EXP_COUNT" link="libxml2-xmlregexp.html#XML_EXP_COUNT"/>
    <keyword type="enum" name="XML_EXP_EMPTY" link="libxml2-xmlregexp.html#XML_EXP_EMPTY"/>
    <keyword type="enum" name="XML_EXP_FORBID" link="libxml2-xmlregexp.html#XML_EXP_FORBID"/>
    <keyword type="enum" name="XML_EXP_OR" link="libxml2-xmlregexp.html#XML_EXP_OR"/>
    <keyword type="enum" name="XML_EXP_SEQ" link="libxml2-xmlregexp.html#XML_EXP_SEQ"/>
    <keyword type="enum" name="XML_EXTERNAL_GENERAL_PARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY"/>
    <keyword type="enum" name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY"/>
    <keyword type="enum" name="XML_EXTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_PARAMETER_ENTITY"/>
    <keyword type="enum" name="XML_FROM_BUFFER" link="libxml2-xmlerror.html#XML_FROM_BUFFER"/>
    <keyword type="enum" name="XML_FROM_C14N" link="libxml2-xmlerror.html#XML_FROM_C14N"/>
    <keyword type="enum" name="XML_FROM_CATALOG" link="libxml2-xmlerror.html#XML_FROM_CATALOG"/>
    <keyword type="enum" name="XML_FROM_CHECK" link="libxml2-xmlerror.html#XML_FROM_CHECK"/>
    <keyword type="enum" name="XML_FROM_DATATYPE" link="libxml2-xmlerror.html#XML_FROM_DATATYPE"/>
    <keyword type="enum" name="XML_FROM_DTD" link="libxml2-xmlerror.html#XML_FROM_DTD"/>
    <keyword type="enum" name="XML_FROM_FTP" link="libxml2-xmlerror.html#XML_FROM_FTP"/>
    <keyword type="enum" name="XML_FROM_HTML" link="libxml2-xmlerror.html#XML_FROM_HTML"/>
    <keyword type="enum" name="XML_FROM_HTTP" link="libxml2-xmlerror.html#XML_FROM_HTTP"/>
    <keyword type="enum" name="XML_FROM_I18N" link="libxml2-xmlerror.html#XML_FROM_I18N"/>
    <keyword type="enum" name="XML_FROM_IO" link="libxml2-xmlerror.html#XML_FROM_IO"/>
    <keyword type="enum" name="XML_FROM_MEMORY" link="libxml2-xmlerror.html#XML_FROM_MEMORY"/>
    <keyword type="enum" name="XML_FROM_MODULE" link="libxml2-xmlerror.html#XML_FROM_MODULE"/>
    <keyword type="enum" name="XML_FROM_NAMESPACE" link="libxml2-xmlerror.html#XML_FROM_NAMESPACE"/>
    <keyword type="enum" name="XML_FROM_NONE" link="libxml2-xmlerror.html#XML_FROM_NONE"/>
    <keyword type="enum" name="XML_FROM_OUTPUT" link="libxml2-xmlerror.html#XML_FROM_OUTPUT"/>
    <keyword type="enum" name="XML_FROM_PARSER" link="libxml2-xmlerror.html#XML_FROM_PARSER"/>
    <keyword type="enum" name="XML_FROM_REGEXP" link="libxml2-xmlerror.html#XML_FROM_REGEXP"/>
    <keyword type="enum" name="XML_FROM_RELAXNGP" link="libxml2-xmlerror.html#XML_FROM_RELAXNGP"/>
    <keyword type="enum" name="XML_FROM_RELAXNGV" link="libxml2-xmlerror.html#XML_FROM_RELAXNGV"/>
    <keyword type="enum" name="XML_FROM_SCHEMASP" link="libxml2-xmlerror.html#XML_FROM_SCHEMASP"/>
    <keyword type="enum" name="XML_FROM_SCHEMASV" link="libxml2-xmlerror.html#XML_FROM_SCHEMASV"/>
    <keyword type="enum" name="XML_FROM_SCHEMATRONV" link="libxml2-xmlerror.html#XML_FROM_SCHEMATRONV"/>
    <keyword type="enum" name="XML_FROM_TREE" link="libxml2-xmlerror.html#XML_FROM_TREE"/>
    <keyword type="enum" name="XML_FROM_URI" link="libxml2-xmlerror.html#XML_FROM_URI"/>
    <keyword type="enum" name="XML_FROM_VALID" link="libxml2-xmlerror.html#XML_FROM_VALID"/>
    <keyword type="enum" name="XML_FROM_WRITER" link="libxml2-xmlerror.html#XML_FROM_WRITER"/>
    <keyword type="enum" name="XML_FROM_XINCLUDE" link="libxml2-xmlerror.html#XML_FROM_XINCLUDE"/>
    <keyword type="enum" name="XML_FROM_XPATH" link="libxml2-xmlerror.html#XML_FROM_XPATH"/>
    <keyword type="enum" name="XML_FROM_XPOINTER" link="libxml2-xmlerror.html#XML_FROM_XPOINTER"/>
    <keyword type="enum" name="XML_FROM_XSLT" link="libxml2-xmlerror.html#XML_FROM_XSLT"/>
    <keyword type="enum" name="XML_FTP_ACCNT" link="libxml2-xmlerror.html#XML_FTP_ACCNT"/>
    <keyword type="enum" name="XML_FTP_EPSV_ANSWER" link="libxml2-xmlerror.html#XML_FTP_EPSV_ANSWER"/>
    <keyword type="enum" name="XML_FTP_PASV_ANSWER" link="libxml2-xmlerror.html#XML_FTP_PASV_ANSWER"/>
    <keyword type="enum" name="XML_FTP_URL_SYNTAX" link="libxml2-xmlerror.html#XML_FTP_URL_SYNTAX"/>
    <keyword type="enum" name="XML_HTML_DOCUMENT_NODE" link="libxml2-tree.html#XML_HTML_DOCUMENT_NODE"/>
    <keyword type="enum" name="XML_HTML_INCORRECTLY_OPENED_COMMENT" link="libxml2-xmlerror.html#XML_HTML_INCORRECTLY_OPENED_COMMENT"/>
    <keyword type="enum" name="XML_HTML_STRUCURE_ERROR" link="libxml2-xmlerror.html#XML_HTML_STRUCURE_ERROR"/>
    <keyword type="enum" name="XML_HTML_UNKNOWN_TAG" link="libxml2-xmlerror.html#XML_HTML_UNKNOWN_TAG"/>
    <keyword type="enum" name="XML_HTTP_UNKNOWN_HOST" link="libxml2-xmlerror.html#XML_HTTP_UNKNOWN_HOST"/>
    <keyword type="enum" name="XML_HTTP_URL_SYNTAX" link="libxml2-xmlerror.html#XML_HTTP_URL_SYNTAX"/>
    <keyword type="enum" name="XML_HTTP_USE_IP" link="libxml2-xmlerror.html#XML_HTTP_USE_IP"/>
    <keyword type="enum" name="XML_I18N_CONV_FAILED" link="libxml2-xmlerror.html#XML_I18N_CONV_FAILED"/>
    <keyword type="enum" name="XML_I18N_EXCESS_HANDLER" link="libxml2-xmlerror.html#XML_I18N_EXCESS_HANDLER"/>
    <keyword type="enum" name="XML_I18N_NO_HANDLER" link="libxml2-xmlerror.html#XML_I18N_NO_HANDLER"/>
    <keyword type="enum" name="XML_I18N_NO_NAME" link="libxml2-xmlerror.html#XML_I18N_NO_NAME"/>
    <keyword type="enum" name="XML_I18N_NO_OUTPUT" link="libxml2-xmlerror.html#XML_I18N_NO_OUTPUT"/>
    <keyword type="enum" name="XML_INTERNAL_GENERAL_ENTITY" link="libxml2-entities.html#XML_INTERNAL_GENERAL_ENTITY"/>
    <keyword type="enum" name="XML_INTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PARAMETER_ENTITY"/>
    <keyword type="enum" name="XML_INTERNAL_PREDEFINED_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PREDEFINED_ENTITY"/>
    <keyword type="enum" name="XML_IO_BUFFER_FULL" link="libxml2-xmlerror.html#XML_IO_BUFFER_FULL"/>
    <keyword type="enum" name="XML_IO_EACCES" link="libxml2-xmlerror.html#XML_IO_EACCES"/>
    <keyword type="enum" name="XML_IO_EADDRINUSE" link="libxml2-xmlerror.html#XML_IO_EADDRINUSE"/>
    <keyword type="enum" name="XML_IO_EAFNOSUPPORT" link="libxml2-xmlerror.html#XML_IO_EAFNOSUPPORT"/>
    <keyword type="enum" name="XML_IO_EAGAIN" link="libxml2-xmlerror.html#XML_IO_EAGAIN"/>
    <keyword type="enum" name="XML_IO_EALREADY" link="libxml2-xmlerror.html#XML_IO_EALREADY"/>
    <keyword type="enum" name="XML_IO_EBADF" link="libxml2-xmlerror.html#XML_IO_EBADF"/>
    <keyword type="enum" name="XML_IO_EBADMSG" link="libxml2-xmlerror.html#XML_IO_EBADMSG"/>
    <keyword type="enum" name="XML_IO_EBUSY" link="libxml2-xmlerror.html#XML_IO_EBUSY"/>
    <keyword type="enum" name="XML_IO_ECANCELED" link="libxml2-xmlerror.html#XML_IO_ECANCELED"/>
    <keyword type="enum" name="XML_IO_ECHILD" link="libxml2-xmlerror.html#XML_IO_ECHILD"/>
    <keyword type="enum" name="XML_IO_ECONNREFUSED" link="libxml2-xmlerror.html#XML_IO_ECONNREFUSED"/>
    <keyword type="enum" name="XML_IO_EDEADLK" link="libxml2-xmlerror.html#XML_IO_EDEADLK"/>
    <keyword type="enum" name="XML_IO_EDOM" link="libxml2-xmlerror.html#XML_IO_EDOM"/>
    <keyword type="enum" name="XML_IO_EEXIST" link="libxml2-xmlerror.html#XML_IO_EEXIST"/>
    <keyword type="enum" name="XML_IO_EFAULT" link="libxml2-xmlerror.html#XML_IO_EFAULT"/>
    <keyword type="enum" name="XML_IO_EFBIG" link="libxml2-xmlerror.html#XML_IO_EFBIG"/>
    <keyword type="enum" name="XML_IO_EINPROGRESS" link="libxml2-xmlerror.html#XML_IO_EINPROGRESS"/>
    <keyword type="enum" name="XML_IO_EINTR" link="libxml2-xmlerror.html#XML_IO_EINTR"/>
    <keyword type="enum" name="XML_IO_EINVAL" link="libxml2-xmlerror.html#XML_IO_EINVAL"/>
    <keyword type="enum" name="XML_IO_EIO" link="libxml2-xmlerror.html#XML_IO_EIO"/>
    <keyword type="enum" name="XML_IO_EISCONN" link="libxml2-xmlerror.html#XML_IO_EISCONN"/>
    <keyword type="enum" name="XML_IO_EISDIR" link="libxml2-xmlerror.html#XML_IO_EISDIR"/>
    <keyword type="enum" name="XML_IO_EMFILE" link="libxml2-xmlerror.html#XML_IO_EMFILE"/>
    <keyword type="enum" name="XML_IO_EMLINK" link="libxml2-xmlerror.html#XML_IO_EMLINK"/>
    <keyword type="enum" name="XML_IO_EMSGSIZE" link="libxml2-xmlerror.html#XML_IO_EMSGSIZE"/>
    <keyword type="enum" name="XML_IO_ENAMETOOLONG" link="libxml2-xmlerror.html#XML_IO_ENAMETOOLONG"/>
    <keyword type="enum" name="XML_IO_ENCODER" link="libxml2-xmlerror.html#XML_IO_ENCODER"/>
    <keyword type="enum" name="XML_IO_ENETUNREACH" link="libxml2-xmlerror.html#XML_IO_ENETUNREACH"/>
    <keyword type="enum" name="XML_IO_ENFILE" link="libxml2-xmlerror.html#XML_IO_ENFILE"/>
    <keyword type="enum" name="XML_IO_ENODEV" link="libxml2-xmlerror.html#XML_IO_ENODEV"/>
    <keyword type="enum" name="XML_IO_ENOENT" link="libxml2-xmlerror.html#XML_IO_ENOENT"/>
    <keyword type="enum" name="XML_IO_ENOEXEC" link="libxml2-xmlerror.html#XML_IO_ENOEXEC"/>
    <keyword type="enum" name="XML_IO_ENOLCK" link="libxml2-xmlerror.html#XML_IO_ENOLCK"/>
    <keyword type="enum" name="XML_IO_ENOMEM" link="libxml2-xmlerror.html#XML_IO_ENOMEM"/>
    <keyword type="enum" name="XML_IO_ENOSPC" link="libxml2-xmlerror.html#XML_IO_ENOSPC"/>
    <keyword type="enum" name="XML_IO_ENOSYS" link="libxml2-xmlerror.html#XML_IO_ENOSYS"/>
    <keyword type="enum" name="XML_IO_ENOTDIR" link="libxml2-xmlerror.html#XML_IO_ENOTDIR"/>
    <keyword type="enum" name="XML_IO_ENOTEMPTY" link="libxml2-xmlerror.html#XML_IO_ENOTEMPTY"/>
    <keyword type="enum" name="XML_IO_ENOTSOCK" link="libxml2-xmlerror.html#XML_IO_ENOTSOCK"/>
    <keyword type="enum" name="XML_IO_ENOTSUP" link="libxml2-xmlerror.html#XML_IO_ENOTSUP"/>
    <keyword type="enum" name="XML_IO_ENOTTY" link="libxml2-xmlerror.html#XML_IO_ENOTTY"/>
    <keyword type="enum" name="XML_IO_ENXIO" link="libxml2-xmlerror.html#XML_IO_ENXIO"/>
    <keyword type="enum" name="XML_IO_EPERM" link="libxml2-xmlerror.html#XML_IO_EPERM"/>
    <keyword type="enum" name="XML_IO_EPIPE" link="libxml2-xmlerror.html#XML_IO_EPIPE"/>
    <keyword type="enum" name="XML_IO_ERANGE" link="libxml2-xmlerror.html#XML_IO_ERANGE"/>
    <keyword type="enum" name="XML_IO_EROFS" link="libxml2-xmlerror.html#XML_IO_EROFS"/>
    <keyword type="enum" name="XML_IO_ESPIPE" link="libxml2-xmlerror.html#XML_IO_ESPIPE"/>
    <keyword type="enum" name="XML_IO_ESRCH" link="libxml2-xmlerror.html#XML_IO_ESRCH"/>
    <keyword type="enum" name="XML_IO_ETIMEDOUT" link="libxml2-xmlerror.html#XML_IO_ETIMEDOUT"/>
    <keyword type="enum" name="XML_IO_EXDEV" link="libxml2-xmlerror.html#XML_IO_EXDEV"/>
    <keyword type="enum" name="XML_IO_FLUSH" link="libxml2-xmlerror.html#XML_IO_FLUSH"/>
    <keyword type="enum" name="XML_IO_LOAD_ERROR" link="libxml2-xmlerror.html#XML_IO_LOAD_ERROR"/>
    <keyword type="enum" name="XML_IO_NETWORK_ATTEMPT" link="libxml2-xmlerror.html#XML_IO_NETWORK_ATTEMPT"/>
    <keyword type="enum" name="XML_IO_NO_INPUT" link="libxml2-xmlerror.html#XML_IO_NO_INPUT"/>
    <keyword type="enum" name="XML_IO_UNKNOWN" link="libxml2-xmlerror.html#XML_IO_UNKNOWN"/>
    <keyword type="enum" name="XML_IO_WRITE" link="libxml2-xmlerror.html#XML_IO_WRITE"/>
    <keyword type="enum" name="XML_MODULE_CLOSE" link="libxml2-xmlerror.html#XML_MODULE_CLOSE"/>
    <keyword type="enum" name="XML_MODULE_LAZY" link="libxml2-xmlmodule.html#XML_MODULE_LAZY"/>
    <keyword type="enum" name="XML_MODULE_LOCAL" link="libxml2-xmlmodule.html#XML_MODULE_LOCAL"/>
    <keyword type="enum" name="XML_MODULE_OPEN" link="libxml2-xmlerror.html#XML_MODULE_OPEN"/>
    <keyword type="enum" name="XML_NAMESPACE_DECL" link="libxml2-tree.html#XML_NAMESPACE_DECL"/>
    <keyword type="enum" name="XML_NOTATION_NODE" link="libxml2-tree.html#XML_NOTATION_NODE"/>
    <keyword type="enum" name="XML_NS_ERR_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_NS_ERR_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_NS_ERR_COLON" link="libxml2-xmlerror.html#XML_NS_ERR_COLON"/>
    <keyword type="enum" name="XML_NS_ERR_EMPTY" link="libxml2-xmlerror.html#XML_NS_ERR_EMPTY"/>
    <keyword type="enum" name="XML_NS_ERR_QNAME" link="libxml2-xmlerror.html#XML_NS_ERR_QNAME"/>
    <keyword type="enum" name="XML_NS_ERR_UNDEFINED_NAMESPACE" link="libxml2-xmlerror.html#XML_NS_ERR_UNDEFINED_NAMESPACE"/>
    <keyword type="enum" name="XML_NS_ERR_XML_NAMESPACE" link="libxml2-xmlerror.html#XML_NS_ERR_XML_NAMESPACE"/>
    <keyword type="enum" name="XML_PARSER_ATTRIBUTE_VALUE" link="libxml2-parser.html#XML_PARSER_ATTRIBUTE_VALUE"/>
    <keyword type="enum" name="XML_PARSER_CDATA_SECTION" link="libxml2-parser.html#XML_PARSER_CDATA_SECTION"/>
    <keyword type="enum" name="XML_PARSER_COMMENT" link="libxml2-parser.html#XML_PARSER_COMMENT"/>
    <keyword type="enum" name="XML_PARSER_CONTENT" link="libxml2-parser.html#XML_PARSER_CONTENT"/>
    <keyword type="enum" name="XML_PARSER_DEFAULTATTRS" link="libxml2-xmlreader.html#XML_PARSER_DEFAULTATTRS"/>
    <keyword type="enum" name="XML_PARSER_DTD" link="libxml2-parser.html#XML_PARSER_DTD"/>
    <keyword type="enum" name="XML_PARSER_END_TAG" link="libxml2-parser.html#XML_PARSER_END_TAG"/>
    <keyword type="enum" name="XML_PARSER_ENTITY_DECL" link="libxml2-parser.html#XML_PARSER_ENTITY_DECL"/>
    <keyword type="enum" name="XML_PARSER_ENTITY_VALUE" link="libxml2-parser.html#XML_PARSER_ENTITY_VALUE"/>
    <keyword type="enum" name="XML_PARSER_EOF" link="libxml2-parser.html#XML_PARSER_EOF"/>
    <keyword type="enum" name="XML_PARSER_EPILOG" link="libxml2-parser.html#XML_PARSER_EPILOG"/>
    <keyword type="enum" name="XML_PARSER_IGNORE" link="libxml2-parser.html#XML_PARSER_IGNORE"/>
    <keyword type="enum" name="XML_PARSER_LOADDTD" link="libxml2-xmlreader.html#XML_PARSER_LOADDTD"/>
    <keyword type="enum" name="XML_PARSER_MISC" link="libxml2-parser.html#XML_PARSER_MISC"/>
    <keyword type="enum" name="XML_PARSER_PI" link="libxml2-parser.html#XML_PARSER_PI"/>
    <keyword type="enum" name="XML_PARSER_PROLOG" link="libxml2-parser.html#XML_PARSER_PROLOG"/>
    <keyword type="enum" name="XML_PARSER_PUBLIC_LITERAL" link="libxml2-parser.html#XML_PARSER_PUBLIC_LITERAL"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_ERROR" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_ERROR"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_VALIDITY_ERROR" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_ERROR"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_VALIDITY_WARNING" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_WARNING"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_WARNING" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_WARNING"/>
    <keyword type="enum" name="XML_PARSER_START" link="libxml2-parser.html#XML_PARSER_START"/>
    <keyword type="enum" name="XML_PARSER_START_TAG" link="libxml2-parser.html#XML_PARSER_START_TAG"/>
    <keyword type="enum" name="XML_PARSER_SUBST_ENTITIES" link="libxml2-xmlreader.html#XML_PARSER_SUBST_ENTITIES"/>
    <keyword type="enum" name="XML_PARSER_SYSTEM_LITERAL" link="libxml2-parser.html#XML_PARSER_SYSTEM_LITERAL"/>
    <keyword type="enum" name="XML_PARSER_VALIDATE" link="libxml2-xmlreader.html#XML_PARSER_VALIDATE"/>
    <keyword type="enum" name="XML_PARSE_BIG_LINES" link="libxml2-parser.html#XML_PARSE_BIG_LINES"/>
    <keyword type="enum" name="XML_PARSE_COMPACT" link="libxml2-parser.html#XML_PARSE_COMPACT"/>
    <keyword type="enum" name="XML_PARSE_DOM" link="libxml2-parser.html#XML_PARSE_DOM"/>
    <keyword type="enum" name="XML_PARSE_DTDATTR" link="libxml2-parser.html#XML_PARSE_DTDATTR"/>
    <keyword type="enum" name="XML_PARSE_DTDLOAD" link="libxml2-parser.html#XML_PARSE_DTDLOAD"/>
    <keyword type="enum" name="XML_PARSE_DTDVALID" link="libxml2-parser.html#XML_PARSE_DTDVALID"/>
    <keyword type="enum" name="XML_PARSE_HUGE" link="libxml2-parser.html#XML_PARSE_HUGE"/>
    <keyword type="enum" name="XML_PARSE_IGNORE_ENC" link="libxml2-parser.html#XML_PARSE_IGNORE_ENC"/>
    <keyword type="enum" name="XML_PARSE_NOBASEFIX" link="libxml2-parser.html#XML_PARSE_NOBASEFIX"/>
    <keyword type="enum" name="XML_PARSE_NOBLANKS" link="libxml2-parser.html#XML_PARSE_NOBLANKS"/>
    <keyword type="enum" name="XML_PARSE_NOCDATA" link="libxml2-parser.html#XML_PARSE_NOCDATA"/>
    <keyword type="enum" name="XML_PARSE_NODICT" link="libxml2-parser.html#XML_PARSE_NODICT"/>
    <keyword type="enum" name="XML_PARSE_NOENT" link="libxml2-parser.html#XML_PARSE_NOENT"/>
    <keyword type="enum" name="XML_PARSE_NOERROR" link="libxml2-parser.html#XML_PARSE_NOERROR"/>
    <keyword type="enum" name="XML_PARSE_NONET" link="libxml2-parser.html#XML_PARSE_NONET"/>
    <keyword type="enum" name="XML_PARSE_NOWARNING" link="libxml2-parser.html#XML_PARSE_NOWARNING"/>
    <keyword type="enum" name="XML_PARSE_NOXINCNODE" link="libxml2-parser.html#XML_PARSE_NOXINCNODE"/>
    <keyword type="enum" name="XML_PARSE_NSCLEAN" link="libxml2-parser.html#XML_PARSE_NSCLEAN"/>
    <keyword type="enum" name="XML_PARSE_OLD10" link="libxml2-parser.html#XML_PARSE_OLD10"/>
    <keyword type="enum" name="XML_PARSE_OLDSAX" link="libxml2-parser.html#XML_PARSE_OLDSAX"/>
    <keyword type="enum" name="XML_PARSE_PEDANTIC" link="libxml2-parser.html#XML_PARSE_PEDANTIC"/>
    <keyword type="enum" name="XML_PARSE_PUSH_DOM" link="libxml2-parser.html#XML_PARSE_PUSH_DOM"/>
    <keyword type="enum" name="XML_PARSE_PUSH_SAX" link="libxml2-parser.html#XML_PARSE_PUSH_SAX"/>
    <keyword type="enum" name="XML_PARSE_READER" link="libxml2-parser.html#XML_PARSE_READER"/>
    <keyword type="enum" name="XML_PARSE_RECOVER" link="libxml2-parser.html#XML_PARSE_RECOVER"/>
    <keyword type="enum" name="XML_PARSE_SAX" link="libxml2-parser.html#XML_PARSE_SAX"/>
    <keyword type="enum" name="XML_PARSE_SAX1" link="libxml2-parser.html#XML_PARSE_SAX1"/>
    <keyword type="enum" name="XML_PARSE_UNKNOWN" link="libxml2-parser.html#XML_PARSE_UNKNOWN"/>
    <keyword type="enum" name="XML_PARSE_XINCLUDE" link="libxml2-parser.html#XML_PARSE_XINCLUDE"/>
    <keyword type="enum" name="XML_PATTERN_DEFAULT" link="libxml2-pattern.html#XML_PATTERN_DEFAULT"/>
    <keyword type="enum" name="XML_PATTERN_XPATH" link="libxml2-pattern.html#XML_PATTERN_XPATH"/>
    <keyword type="enum" name="XML_PATTERN_XSFIELD" link="libxml2-pattern.html#XML_PATTERN_XSFIELD"/>
    <keyword type="enum" name="XML_PATTERN_XSSEL" link="libxml2-pattern.html#XML_PATTERN_XSSEL"/>
    <keyword type="enum" name="XML_PI_NODE" link="libxml2-tree.html#XML_PI_NODE"/>
    <keyword type="enum" name="XML_READER_TYPE_ATTRIBUTE" link="libxml2-xmlreader.html#XML_READER_TYPE_ATTRIBUTE"/>
    <keyword type="enum" name="XML_READER_TYPE_CDATA" link="libxml2-xmlreader.html#XML_READER_TYPE_CDATA"/>
    <keyword type="enum" name="XML_READER_TYPE_COMMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_COMMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT_FRAGMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT_FRAGMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT_TYPE" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT_TYPE"/>
    <keyword type="enum" name="XML_READER_TYPE_ELEMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_END_ELEMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_END_ELEMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_END_ENTITY" link="libxml2-xmlreader.html#XML_READER_TYPE_END_ENTITY"/>
    <keyword type="enum" name="XML_READER_TYPE_ENTITY" link="libxml2-xmlreader.html#XML_READER_TYPE_ENTITY"/>
    <keyword type="enum" name="XML_READER_TYPE_ENTITY_REFERENCE" link="libxml2-xmlreader.html#XML_READER_TYPE_ENTITY_REFERENCE"/>
    <keyword type="enum" name="XML_READER_TYPE_NONE" link="libxml2-xmlreader.html#XML_READER_TYPE_NONE"/>
    <keyword type="enum" name="XML_READER_TYPE_NOTATION" link="libxml2-xmlreader.html#XML_READER_TYPE_NOTATION"/>
    <keyword type="enum" name="XML_READER_TYPE_PROCESSING_INSTRUCTION" link="libxml2-xmlreader.html#XML_READER_TYPE_PROCESSING_INSTRUCTION"/>
    <keyword type="enum" name="XML_READER_TYPE_SIGNIFICANT_WHITESPACE" link="libxml2-xmlreader.html#XML_READER_TYPE_SIGNIFICANT_WHITESPACE"/>
    <keyword type="enum" name="XML_READER_TYPE_TEXT" link="libxml2-xmlreader.html#XML_READER_TYPE_TEXT"/>
    <keyword type="enum" name="XML_READER_TYPE_WHITESPACE" link="libxml2-xmlreader.html#XML_READER_TYPE_WHITESPACE"/>
    <keyword type="enum" name="XML_READER_TYPE_XML_DECLARATION" link="libxml2-xmlreader.html#XML_READER_TYPE_XML_DECLARATION"/>
    <keyword type="enum" name="XML_REGEXP_COMPILE_ERROR" link="libxml2-xmlerror.html#XML_REGEXP_COMPILE_ERROR"/>
    <keyword type="enum" name="XML_RELAXNGP_CRNG" link="libxml2-relaxng.html#XML_RELAXNGP_CRNG"/>
    <keyword type="enum" name="XML_RELAXNGP_FREE_DOC" link="libxml2-relaxng.html#XML_RELAXNGP_FREE_DOC"/>
    <keyword type="enum" name="XML_RELAXNGP_NONE" link="libxml2-relaxng.html#XML_RELAXNGP_NONE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTREXTRANS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTREXTRANS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRNAME" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRNAME"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRNONS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRNONS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRVALID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRVALID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRWRONGNS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRWRONGNS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_CONTENTVALID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_CONTENTVALID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DATAELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DATAELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DATATYPE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DATATYPE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DUPID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DUPID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMEXTRANS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMEXTRANS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNAME" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNAME"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNONS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNONS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNOTEMPTY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNOTEMPTY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMWRONG" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMWRONG"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMWRONGNS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMWRONGNS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_EXTRACONTENT" link="libxml2-relaxng.html#XML_RELAXNG_ERR_EXTRACONTENT"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_EXTRADATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_EXTRADATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTEREXTRA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTEREXTRA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERNAL" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERNAL"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERNODATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERNODATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERSEQ" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERSEQ"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INVALIDATTR" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INVALIDATTR"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LACKDATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LACKDATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LIST" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LIST"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTEMPTY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTEMPTY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTEXTRA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTEXTRA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_MEMORY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_MEMORY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NODEFINE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NODEFINE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOGRAMMAR" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOGRAMMAR"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOSTATE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOSTATE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOTELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOTELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TEXTWRONG" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TEXTWRONG"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPECMP" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPECMP"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPEVAL" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPEVAL"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_VALELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_VALUE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALUE"/>
    <keyword type="enum" name="XML_RELAXNG_OK" link="libxml2-relaxng.html#XML_RELAXNG_OK"/>
    <keyword type="enum" name="XML_RNGP_ANYNAME_ATTR_ANCESTOR" link="libxml2-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CHILDREN" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_NOOP" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_NOOP"/>
    <keyword type="enum" name="XML_RNGP_ATTR_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_ATTR_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_CHOICE_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_CHOICE_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_CHOICE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_CHOICE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_CREATE_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_CREATE_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_DATA_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_DATA_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_MISSING" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_MISSING"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_DEF_CHOICE_AND_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_NAME" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_NAME"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ELEM_CONTENT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ELEM_CONTENT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ELEM_CONTENT_ERROR" link="libxml2-xmlerror.html#XML_RNGP_ELEM_CONTENT_ERROR"/>
    <keyword type="enum" name="XML_RNGP_ELEM_TEXT_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_ELEM_TEXT_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_CONSTRUCT" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_CONSTRUCT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ERROR_TYPE_LIB" link="libxml2-xmlerror.html#XML_RNGP_ERROR_TYPE_LIB"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_MISSING" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_MISSING"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_MULTIPLE" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_MULTIPLE"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_EXTERNALREF_EMTPY" link="libxml2-xmlerror.html#XML_RNGP_EXTERNALREF_EMTPY"/>
    <keyword type="enum" name="XML_RNGP_EXTERNALREF_RECURSE" link="libxml2-xmlerror.html#XML_RNGP_EXTERNALREF_RECURSE"/>
    <keyword type="enum" name="XML_RNGP_EXTERNAL_REF_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_EXTERNAL_REF_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_FORBIDDEN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_RNGP_FORBIDDEN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_RNGP_FOREIGN_ELEMENT" link="libxml2-xmlerror.html#XML_RNGP_FOREIGN_ELEMENT"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_MISSING" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_MISSING"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_NO_START" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_NO_START"/>
    <keyword type="enum" name="XML_RNGP_GROUP_ATTR_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_GROUP_ATTR_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_HREF_ERROR" link="libxml2-xmlerror.html#XML_RNGP_HREF_ERROR"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_RECURSE" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_RECURSE"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_ADD" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_ADD"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_INVALID_DEFINE_NAME" link="libxml2-xmlerror.html#XML_RNGP_INVALID_DEFINE_NAME"/>
    <keyword type="enum" name="XML_RNGP_INVALID_URI" link="libxml2-xmlerror.html#XML_RNGP_INVALID_URI"/>
    <keyword type="enum" name="XML_RNGP_INVALID_VALUE" link="libxml2-xmlerror.html#XML_RNGP_INVALID_VALUE"/>
    <keyword type="enum" name="XML_RNGP_MISSING_HREF" link="libxml2-xmlerror.html#XML_RNGP_MISSING_HREF"/>
    <keyword type="enum" name="XML_RNGP_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_NEED_COMBINE" link="libxml2-xmlerror.html#XML_RNGP_NEED_COMBINE"/>
    <keyword type="enum" name="XML_RNGP_NOTALLOWED_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_NOTALLOWED_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_NSNAME_ATTR_ANCESTOR" link="libxml2-xmlerror.html#XML_RNGP_NSNAME_ATTR_ANCESTOR"/>
    <keyword type="enum" name="XML_RNGP_NSNAME_NO_NS" link="libxml2-xmlerror.html#XML_RNGP_NSNAME_NO_NS"/>
    <keyword type="enum" name="XML_RNGP_PARAM_FORBIDDEN" link="libxml2-xmlerror.html#XML_RNGP_PARAM_FORBIDDEN"/>
    <keyword type="enum" name="XML_RNGP_PARAM_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_PARAM_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NAME_INVALID" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NAME_INVALID"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NO_NAME" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NO_NAME"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NO_PARENT" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NO_PARENT"/>
    <keyword type="enum" name="XML_RNGP_PARSE_ERROR" link="libxml2-xmlerror.html#XML_RNGP_PARSE_ERROR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_ATTR_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ATTR_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ATTR_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_ATTR_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_GROUP" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_GROUP"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ONEMORE"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_REF" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_REF"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_REF" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_REF"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_ONEMORE_GROUP_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ONEMORE_GROUP_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_DATA" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_DATA"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_GROUP" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_GROUP"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_ONEMORE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_ONEMORE"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_VALUE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_VALUE"/>
    <keyword type="enum" name="XML_RNGP_PREFIX_UNDEFINED" link="libxml2-xmlerror.html#XML_RNGP_PREFIX_UNDEFINED"/>
    <keyword type="enum" name="XML_RNGP_REF_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_REF_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_REF_CYCLE" link="libxml2-xmlerror.html#XML_RNGP_REF_CYCLE"/>
    <keyword type="enum" name="XML_RNGP_REF_NAME_INVALID" link="libxml2-xmlerror.html#XML_RNGP_REF_NAME_INVALID"/>
    <keyword type="enum" name="XML_RNGP_REF_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_REF_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_REF_NO_DEF" link="libxml2-xmlerror.html#XML_RNGP_REF_NO_DEF"/>
    <keyword type="enum" name="XML_RNGP_REF_NO_NAME" link="libxml2-xmlerror.html#XML_RNGP_REF_NO_NAME"/>
    <keyword type="enum" name="XML_RNGP_START_CHOICE_AND_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_START_CHOICE_AND_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_START_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_START_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_START_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_START_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_START_MISSING" link="libxml2-xmlerror.html#XML_RNGP_START_MISSING"/>
    <keyword type="enum" name="XML_RNGP_TEXT_EXPECTED" link="libxml2-xmlerror.html#XML_RNGP_TEXT_EXPECTED"/>
    <keyword type="enum" name="XML_RNGP_TEXT_HAS_CHILD" link="libxml2-xmlerror.html#XML_RNGP_TEXT_HAS_CHILD"/>
    <keyword type="enum" name="XML_RNGP_TYPE_MISSING" link="libxml2-xmlerror.html#XML_RNGP_TYPE_MISSING"/>
    <keyword type="enum" name="XML_RNGP_TYPE_NOT_FOUND" link="libxml2-xmlerror.html#XML_RNGP_TYPE_NOT_FOUND"/>
    <keyword type="enum" name="XML_RNGP_TYPE_VALUE" link="libxml2-xmlerror.html#XML_RNGP_TYPE_VALUE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_COMBINE" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_COMBINE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_CONSTRUCT" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_CONSTRUCT"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_TYPE_LIB" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_TYPE_LIB"/>
    <keyword type="enum" name="XML_RNGP_URI_FRAGMENT" link="libxml2-xmlerror.html#XML_RNGP_URI_FRAGMENT"/>
    <keyword type="enum" name="XML_RNGP_URI_NOT_ABSOLUTE" link="libxml2-xmlerror.html#XML_RNGP_URI_NOT_ABSOLUTE"/>
    <keyword type="enum" name="XML_RNGP_VALUE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_VALUE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_VALUE_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_XMLNS_NAME" link="libxml2-xmlerror.html#XML_RNGP_XMLNS_NAME"/>
    <keyword type="enum" name="XML_RNGP_XML_NS" link="libxml2-xmlerror.html#XML_RNGP_XML_NS"/>
    <keyword type="enum" name="XML_SAVE_AS_HTML" link="libxml2-xmlsave.html#XML_SAVE_AS_HTML"/>
    <keyword type="enum" name="XML_SAVE_AS_XML" link="libxml2-xmlsave.html#XML_SAVE_AS_XML"/>
    <keyword type="enum" name="XML_SAVE_CHAR_INVALID" link="libxml2-xmlerror.html#XML_SAVE_CHAR_INVALID"/>
    <keyword type="enum" name="XML_SAVE_FORMAT" link="libxml2-xmlsave.html#XML_SAVE_FORMAT"/>
    <keyword type="enum" name="XML_SAVE_NOT_UTF8" link="libxml2-xmlerror.html#XML_SAVE_NOT_UTF8"/>
    <keyword type="enum" name="XML_SAVE_NO_DECL" link="libxml2-xmlsave.html#XML_SAVE_NO_DECL"/>
    <keyword type="enum" name="XML_SAVE_NO_DOCTYPE" link="libxml2-xmlerror.html#XML_SAVE_NO_DOCTYPE"/>
    <keyword type="enum" name="XML_SAVE_NO_EMPTY" link="libxml2-xmlsave.html#XML_SAVE_NO_EMPTY"/>
    <keyword type="enum" name="XML_SAVE_NO_XHTML" link="libxml2-xmlsave.html#XML_SAVE_NO_XHTML"/>
    <keyword type="enum" name="XML_SAVE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_SAVE_WSNONSIG" link="libxml2-xmlsave.html#XML_SAVE_WSNONSIG"/>
    <keyword type="enum" name="XML_SAVE_XHTML" link="libxml2-xmlsave.html#XML_SAVE_XHTML"/>
    <keyword type="enum" name="XML_SCHEMAP_AG_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTR_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_AU_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_AU_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_A_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_A_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ALL_LIMITED" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ALL_LIMITED"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_4" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_5" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5"/>
    <keyword type="enum" name="XML_SCHEMAP_CVC_SIMPLE_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_C_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_C_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_DEF_AND_PREFIX" link="libxml2-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEMFORMDEFAULT_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEM_DEFAULT_FIXED" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEM_DEFAULT_FIXED"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEM_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEM_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_EXTENSION_NO_BASE" link="libxml2-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_4" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_5" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_6" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6"/>
    <keyword type="enum" name="XML_SCHEMAP_FACET_NO_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_BUILD_IMPORT" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_LOAD" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_LOAD"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_PARSE" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_PARSE"/>
    <keyword type="enum" name="XML_SCHEMAP_GROUP_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_GROUP_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_REDEFINE_NSNAME"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INTERNAL" link="libxml2-xmlerror.html#XML_SCHEMAP_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" link="libxml2-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_NAME" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_USE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_BOOLEAN" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ENUM" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ENUM"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_FACET" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_FACET"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_FACET_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_FACET_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_MAXOCCURS" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_MAXOCCURS"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_MINOCCURS" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_WHITE_SPACE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE"/>
    <keyword type="enum" name="XML_SCHEMAP_MG_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_MG_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_NOATTR_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_NOROOT" link="libxml2-xmlerror.html#XML_SCHEMAP_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTATION_NO_NAME" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTHING_TO_PARSE" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTYPE_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_NOT_DETERMINISTIC" link="libxml2-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC"/>
    <keyword type="enum" name="XML_SCHEMAP_NOT_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_NO_XMLNS" link="libxml2-xmlerror.html#XML_SCHEMAP_NO_XMLNS"/>
    <keyword type="enum" name="XML_SCHEMAP_NO_XSI" link="libxml2-xmlerror.html#XML_SCHEMAP_NO_XSI"/>
    <keyword type="enum" name="XML_SCHEMAP_PREFIX_UNDEFINED" link="libxml2-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_RECURSIVE" link="libxml2-xmlerror.html#XML_SCHEMAP_RECURSIVE"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ATTR" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ATTRGROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ELEMENT" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ELEMENT"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_GROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_GROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_NOTATION" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_REF_AND_CONTENT" link="libxml2-xmlerror.html#XML_SCHEMAP_REF_AND_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMAP_REF_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_REGEXP_INVALID" link="libxml2-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID"/>
    <keyword type="enum" name="XML_SCHEMAP_RESTRICTION_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ELEM_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED"/>
    <keyword type="enum" name="XML_SCHEMAP_SIMPLETYPE_NONAME" link="libxml2-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_4" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_CT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_CT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_INCLUDE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_REDEFINE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_REDEFINE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_RESOLVE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_TYPE_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ALL_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ALL_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTR_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTR_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_BASE_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_BASE_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_CHOICE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ELEM_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ELEM_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_FACET_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_FACET_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_GROUP_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_GROUP_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_LIST_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_PREFIX" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_REF" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_REF"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_UNION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_UNION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_ATTR_REDECL_PROH" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_ATTR_REDECL_PROH"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_SKIP_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_SKIP_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_UNLOCATED_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" link="libxml2-xmlerror.html#XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYSIMPLETYPE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYTYPE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYTYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYURI" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYURI"/>
    <keyword type="enum" name="XML_SCHEMAS_BASE64BINARY" link="libxml2-schemasInternals.html#XML_SCHEMAS_BASE64BINARY"/>
    <keyword type="enum" name="XML_SCHEMAS_BOOLEAN" link="libxml2-schemasInternals.html#XML_SCHEMAS_BOOLEAN"/>
    <keyword type="enum" name="XML_SCHEMAS_BYTE" link="libxml2-schemasInternals.html#XML_SCHEMAS_BYTE"/>
    <keyword type="enum" name="XML_SCHEMAS_DATE" link="libxml2-schemasInternals.html#XML_SCHEMAS_DATE"/>
    <keyword type="enum" name="XML_SCHEMAS_DATETIME" link="libxml2-schemasInternals.html#XML_SCHEMAS_DATETIME"/>
    <keyword type="enum" name="XML_SCHEMAS_DECIMAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_DECIMAL"/>
    <keyword type="enum" name="XML_SCHEMAS_DOUBLE" link="libxml2-schemasInternals.html#XML_SCHEMAS_DOUBLE"/>
    <keyword type="enum" name="XML_SCHEMAS_DURATION" link="libxml2-schemasInternals.html#XML_SCHEMAS_DURATION"/>
    <keyword type="enum" name="XML_SCHEMAS_ENTITIES" link="libxml2-schemasInternals.html#XML_SCHEMAS_ENTITIES"/>
    <keyword type="enum" name="XML_SCHEMAS_ENTITY" link="libxml2-schemasInternals.html#XML_SCHEMAS_ENTITY"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ATTRINVALID" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ATTRUNKNOWN" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_CONSTRUCT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_CONSTRUCT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ELEMCONT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ELEMCONT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_EXTRACONTENT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_EXTRACONTENT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_FACET" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_FACET"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_HAVEDEFAULT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_HAVEDEFAULT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INTERNAL" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INVALIDATTR" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDATTR"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INVALIDELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ISABSTRACT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ISABSTRACT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_MISSING" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOROLLBACK" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOROLLBACK"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOROOT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTDETERMINIST" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTDETERMINIST"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTEMPTY" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTEMPTY"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTNILLABLE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTNILLABLE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTSIMPLE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTSIMPLE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTTOPLEVEL" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTTOPLEVEL"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTYPE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_OK" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_OK"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_UNDECLAREDELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_UNDECLAREDELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_VALUE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_WRONGELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_XXX" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_XXX"/>
    <keyword type="enum" name="XML_SCHEMAS_FLOAT" link="libxml2-schemasInternals.html#XML_SCHEMAS_FLOAT"/>
    <keyword type="enum" name="XML_SCHEMAS_GDAY" link="libxml2-schemasInternals.html#XML_SCHEMAS_GDAY"/>
    <keyword type="enum" name="XML_SCHEMAS_GMONTH" link="libxml2-schemasInternals.html#XML_SCHEMAS_GMONTH"/>
    <keyword type="enum" name="XML_SCHEMAS_GMONTHDAY" link="libxml2-schemasInternals.html#XML_SCHEMAS_GMONTHDAY"/>
    <keyword type="enum" name="XML_SCHEMAS_GYEAR" link="libxml2-schemasInternals.html#XML_SCHEMAS_GYEAR"/>
    <keyword type="enum" name="XML_SCHEMAS_GYEARMONTH" link="libxml2-schemasInternals.html#XML_SCHEMAS_GYEARMONTH"/>
    <keyword type="enum" name="XML_SCHEMAS_HEXBINARY" link="libxml2-schemasInternals.html#XML_SCHEMAS_HEXBINARY"/>
    <keyword type="enum" name="XML_SCHEMAS_ID" link="libxml2-schemasInternals.html#XML_SCHEMAS_ID"/>
    <keyword type="enum" name="XML_SCHEMAS_IDREF" link="libxml2-schemasInternals.html#XML_SCHEMAS_IDREF"/>
    <keyword type="enum" name="XML_SCHEMAS_IDREFS" link="libxml2-schemasInternals.html#XML_SCHEMAS_IDREFS"/>
    <keyword type="enum" name="XML_SCHEMAS_INT" link="libxml2-schemasInternals.html#XML_SCHEMAS_INT"/>
    <keyword type="enum" name="XML_SCHEMAS_INTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_INTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_LANGUAGE" link="libxml2-schemasInternals.html#XML_SCHEMAS_LANGUAGE"/>
    <keyword type="enum" name="XML_SCHEMAS_LONG" link="libxml2-schemasInternals.html#XML_SCHEMAS_LONG"/>
    <keyword type="enum" name="XML_SCHEMAS_NAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_NAME"/>
    <keyword type="enum" name="XML_SCHEMAS_NCNAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_NCNAME"/>
    <keyword type="enum" name="XML_SCHEMAS_NINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_NMTOKEN" link="libxml2-schemasInternals.html#XML_SCHEMAS_NMTOKEN"/>
    <keyword type="enum" name="XML_SCHEMAS_NMTOKENS" link="libxml2-schemasInternals.html#XML_SCHEMAS_NMTOKENS"/>
    <keyword type="enum" name="XML_SCHEMAS_NNINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NNINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_NORMSTRING" link="libxml2-schemasInternals.html#XML_SCHEMAS_NORMSTRING"/>
    <keyword type="enum" name="XML_SCHEMAS_NOTATION" link="libxml2-schemasInternals.html#XML_SCHEMAS_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMAS_NPINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NPINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_PINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_PINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_QNAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_QNAME"/>
    <keyword type="enum" name="XML_SCHEMAS_SHORT" link="libxml2-schemasInternals.html#XML_SCHEMAS_SHORT"/>
    <keyword type="enum" name="XML_SCHEMAS_STRING" link="libxml2-schemasInternals.html#XML_SCHEMAS_STRING"/>
    <keyword type="enum" name="XML_SCHEMAS_TIME" link="libxml2-schemasInternals.html#XML_SCHEMAS_TIME"/>
    <keyword type="enum" name="XML_SCHEMAS_TOKEN" link="libxml2-schemasInternals.html#XML_SCHEMAS_TOKEN"/>
    <keyword type="enum" name="XML_SCHEMAS_UBYTE" link="libxml2-schemasInternals.html#XML_SCHEMAS_UBYTE"/>
    <keyword type="enum" name="XML_SCHEMAS_UINT" link="libxml2-schemasInternals.html#XML_SCHEMAS_UINT"/>
    <keyword type="enum" name="XML_SCHEMAS_ULONG" link="libxml2-schemasInternals.html#XML_SCHEMAS_ULONG"/>
    <keyword type="enum" name="XML_SCHEMAS_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMAS_UNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAS_USHORT" link="libxml2-schemasInternals.html#XML_SCHEMAS_USHORT"/>
    <keyword type="enum" name="XML_SCHEMATRONV_ASSERT" link="libxml2-xmlerror.html#XML_SCHEMATRONV_ASSERT"/>
    <keyword type="enum" name="XML_SCHEMATRONV_REPORT" link="libxml2-xmlerror.html#XML_SCHEMATRONV_REPORT"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_BUFFER" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_BUFFER"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_ERROR" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_ERROR"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_FILE" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_FILE"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_IO" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_IO"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_QUIET" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_QUIET"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_TEXT" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_TEXT"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_XML" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_XML"/>
    <keyword type="enum" name="XML_SCHEMAV_ATTRINVALID" link="libxml2-xmlerror.html#XML_SCHEMAV_ATTRINVALID"/>
    <keyword type="enum" name="XML_SCHEMAV_ATTRUNKNOWN" link="libxml2-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAV_CONSTRUCT" link="libxml2-xmlerror.html#XML_SCHEMAV_CONSTRUCT"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_AU" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_AU"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_1_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_1_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_6" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_6"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_7" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_7"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ENUMERATION_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_FACET_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_IDC" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_IDC"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_LENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MINLENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_PATTERN_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_3_1_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_WILDCARD" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_WILDCARD"/>
    <keyword type="enum" name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAV_ELEMCONT" link="libxml2-xmlerror.html#XML_SCHEMAV_ELEMCONT"/>
    <keyword type="enum" name="XML_SCHEMAV_ELEMENT_CONTENT" link="libxml2-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMAV_EXTRACONTENT" link="libxml2-xmlerror.html#XML_SCHEMAV_EXTRACONTENT"/>
    <keyword type="enum" name="XML_SCHEMAV_FACET" link="libxml2-xmlerror.html#XML_SCHEMAV_FACET"/>
    <keyword type="enum" name="XML_SCHEMAV_HAVEDEFAULT" link="libxml2-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT"/>
    <keyword type="enum" name="XML_SCHEMAV_INTERNAL" link="libxml2-xmlerror.html#XML_SCHEMAV_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAV_INVALIDATTR" link="libxml2-xmlerror.html#XML_SCHEMAV_INVALIDATTR"/>
    <keyword type="enum" name="XML_SCHEMAV_INVALIDELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_INVALIDELEM"/>
    <keyword type="enum" name="XML_SCHEMAV_ISABSTRACT" link="libxml2-xmlerror.html#XML_SCHEMAV_ISABSTRACT"/>
    <keyword type="enum" name="XML_SCHEMAV_MISC" link="libxml2-xmlerror.html#XML_SCHEMAV_MISC"/>
    <keyword type="enum" name="XML_SCHEMAV_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAV_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAV_NOROLLBACK" link="libxml2-xmlerror.html#XML_SCHEMAV_NOROLLBACK"/>
    <keyword type="enum" name="XML_SCHEMAV_NOROOT" link="libxml2-xmlerror.html#XML_SCHEMAV_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTDETERMINIST" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTDETERMINIST"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTEMPTY" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTEMPTY"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTNILLABLE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTNILLABLE"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTSIMPLE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTSIMPLE"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTTOPLEVEL" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTTOPLEVEL"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTYPE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTYPE"/>
    <keyword type="enum" name="XML_SCHEMAV_UNDECLAREDELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_UNDECLAREDELEM"/>
    <keyword type="enum" name="XML_SCHEMAV_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAV_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAV_WRONGELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_WRONGELEM"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_ANY" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_ANY"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_BASIC" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_BASIC"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_ELEMENTS" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_ELEMENTS"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_EMPTY" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_EMPTY"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_MIXED" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_SIMPLE" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_SIMPLE"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_UNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB" link="libxml2-schemasInternals.html#XML_SCHEMA_EXTRA_ATTR_USE_PROHIB"/>
    <keyword type="enum" name="XML_SCHEMA_EXTRA_QNAMEREF" link="libxml2-schemasInternals.html#XML_SCHEMA_EXTRA_QNAMEREF"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_ENUMERATION" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_ENUMERATION"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_FRACTIONDIGITS" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_FRACTIONDIGITS"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_LENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_LENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXEXCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXEXCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXINCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXINCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXLENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXLENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MINEXCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MINEXCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MININCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MININCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MINLENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MINLENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_PATTERN" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_PATTERN"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_TOTALDIGITS" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_TOTALDIGITS"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_WHITESPACE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_WHITESPACE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ALL" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ALL"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ANY" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ANY"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ANY_ATTRIBUTE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ANY_ATTRIBUTE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTEGROUP" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTEGROUP"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTE_USE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE_USE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_BASIC" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_BASIC"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_CHOICE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_CHOICE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_COMPLEX" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_COMPLEX_CONTENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ELEMENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_FACET" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_FACET"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_GROUP" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_GROUP"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_KEY" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_KEYREF" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_UNIQUE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_LIST" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_LIST"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_NOTATION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_PARTICLE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_PARTICLE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SEQUENCE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SEQUENCE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SIMPLE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SIMPLE_CONTENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_UNION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_UNION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_UR" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_UR"/>
    <keyword type="enum" name="XML_SCHEMA_VAL_VC_I_CREATE" link="libxml2-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_COLLAPSE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_COLLAPSE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_PRESERVE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_REPLACE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_UNKNOWN" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_CLOSED" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_CLOSED"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_EOF" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_EOF"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_ERROR" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_ERROR"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_INITIAL" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_INITIAL"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_INTERACTIVE" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_INTERACTIVE"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_READING" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_READING"/>
    <keyword type="enum" name="XML_TEXT_NODE" link="libxml2-tree.html#XML_TEXT_NODE"/>
    <keyword type="enum" name="XML_TREE_INVALID_DEC" link="libxml2-xmlerror.html#XML_TREE_INVALID_DEC"/>
    <keyword type="enum" name="XML_TREE_INVALID_HEX" link="libxml2-xmlerror.html#XML_TREE_INVALID_HEX"/>
    <keyword type="enum" name="XML_TREE_NOT_UTF8" link="libxml2-xmlerror.html#XML_TREE_NOT_UTF8"/>
    <keyword type="enum" name="XML_TREE_UNTERMINATED_ENTITY" link="libxml2-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY"/>
    <keyword type="enum" name="XML_WAR_CATALOG_PI" link="libxml2-xmlerror.html#XML_WAR_CATALOG_PI"/>
    <keyword type="enum" name="XML_WAR_ENTITY_REDEFINED" link="libxml2-xmlerror.html#XML_WAR_ENTITY_REDEFINED"/>
    <keyword type="enum" name="XML_WAR_LANG_VALUE" link="libxml2-xmlerror.html#XML_WAR_LANG_VALUE"/>
    <keyword type="enum" name="XML_WAR_NS_COLUMN" link="libxml2-xmlerror.html#XML_WAR_NS_COLUMN"/>
    <keyword type="enum" name="XML_WAR_NS_URI" link="libxml2-xmlerror.html#XML_WAR_NS_URI"/>
    <keyword type="enum" name="XML_WAR_NS_URI_RELATIVE" link="libxml2-xmlerror.html#XML_WAR_NS_URI_RELATIVE"/>
    <keyword type="enum" name="XML_WAR_SPACE_VALUE" link="libxml2-xmlerror.html#XML_WAR_SPACE_VALUE"/>
    <keyword type="enum" name="XML_WAR_UNDECLARED_ENTITY" link="libxml2-xmlerror.html#XML_WAR_UNDECLARED_ENTITY"/>
    <keyword type="enum" name="XML_WAR_UNKNOWN_VERSION" link="libxml2-xmlerror.html#XML_WAR_UNKNOWN_VERSION"/>
    <keyword type="enum" name="XML_WITH_AUTOMATA" link="libxml2-parser.html#XML_WITH_AUTOMATA"/>
    <keyword type="enum" name="XML_WITH_C14N" link="libxml2-parser.html#XML_WITH_C14N"/>
    <keyword type="enum" name="XML_WITH_CATALOG" link="libxml2-parser.html#XML_WITH_CATALOG"/>
    <keyword type="enum" name="XML_WITH_DEBUG" link="libxml2-parser.html#XML_WITH_DEBUG"/>
    <keyword type="enum" name="XML_WITH_DEBUG_MEM" link="libxml2-parser.html#XML_WITH_DEBUG_MEM"/>
    <keyword type="enum" name="XML_WITH_DEBUG_RUN" link="libxml2-parser.html#XML_WITH_DEBUG_RUN"/>
    <keyword type="enum" name="XML_WITH_EXPR" link="libxml2-parser.html#XML_WITH_EXPR"/>
    <keyword type="enum" name="XML_WITH_FTP" link="libxml2-parser.html#XML_WITH_FTP"/>
    <keyword type="enum" name="XML_WITH_HTML" link="libxml2-parser.html#XML_WITH_HTML"/>
    <keyword type="enum" name="XML_WITH_HTTP" link="libxml2-parser.html#XML_WITH_HTTP"/>
    <keyword type="enum" name="XML_WITH_ICONV" link="libxml2-parser.html#XML_WITH_ICONV"/>
    <keyword type="enum" name="XML_WITH_ICU" link="libxml2-parser.html#XML_WITH_ICU"/>
    <keyword type="enum" name="XML_WITH_ISO8859X" link="libxml2-parser.html#XML_WITH_ISO8859X"/>
    <keyword type="enum" name="XML_WITH_LEGACY" link="libxml2-parser.html#XML_WITH_LEGACY"/>
    <keyword type="enum" name="XML_WITH_LZMA" link="libxml2-parser.html#XML_WITH_LZMA"/>
    <keyword type="enum" name="XML_WITH_MODULES" link="libxml2-parser.html#XML_WITH_MODULES"/>
    <keyword type="enum" name="XML_WITH_NONE" link="libxml2-parser.html#XML_WITH_NONE"/>
    <keyword type="enum" name="XML_WITH_OUTPUT" link="libxml2-parser.html#XML_WITH_OUTPUT"/>
    <keyword type="enum" name="XML_WITH_PATTERN" link="libxml2-parser.html#XML_WITH_PATTERN"/>
    <keyword type="enum" name="XML_WITH_PUSH" link="libxml2-parser.html#XML_WITH_PUSH"/>
    <keyword type="enum" name="XML_WITH_READER" link="libxml2-parser.html#XML_WITH_READER"/>
    <keyword type="enum" name="XML_WITH_REGEXP" link="libxml2-parser.html#XML_WITH_REGEXP"/>
    <keyword type="enum" name="XML_WITH_SAX1" link="libxml2-parser.html#XML_WITH_SAX1"/>
    <keyword type="enum" name="XML_WITH_SCHEMAS" link="libxml2-parser.html#XML_WITH_SCHEMAS"/>
    <keyword type="enum" name="XML_WITH_SCHEMATRON" link="libxml2-parser.html#XML_WITH_SCHEMATRON"/>
    <keyword type="enum" name="XML_WITH_THREAD" link="libxml2-parser.html#XML_WITH_THREAD"/>
    <keyword type="enum" name="XML_WITH_TREE" link="libxml2-parser.html#XML_WITH_TREE"/>
    <keyword type="enum" name="XML_WITH_UNICODE" link="libxml2-parser.html#XML_WITH_UNICODE"/>
    <keyword type="enum" name="XML_WITH_VALID" link="libxml2-parser.html#XML_WITH_VALID"/>
    <keyword type="enum" name="XML_WITH_WRITER" link="libxml2-parser.html#XML_WITH_WRITER"/>
    <keyword type="enum" name="XML_WITH_XINCLUDE" link="libxml2-parser.html#XML_WITH_XINCLUDE"/>
    <keyword type="enum" name="XML_WITH_XPATH" link="libxml2-parser.html#XML_WITH_XPATH"/>
    <keyword type="enum" name="XML_WITH_XPTR" link="libxml2-parser.html#XML_WITH_XPTR"/>
    <keyword type="enum" name="XML_WITH_ZLIB" link="libxml2-parser.html#XML_WITH_ZLIB"/>
    <keyword type="enum" name="XML_XINCLUDE_BUILD_FAILED" link="libxml2-xmlerror.html#XML_XINCLUDE_BUILD_FAILED"/>
    <keyword type="enum" name="XML_XINCLUDE_DEPRECATED_NS" link="libxml2-xmlerror.html#XML_XINCLUDE_DEPRECATED_NS"/>
    <keyword type="enum" name="XML_XINCLUDE_END" link="libxml2-tree.html#XML_XINCLUDE_END"/>
    <keyword type="enum" name="XML_XINCLUDE_ENTITY_DEF_MISMATCH" link="libxml2-xmlerror.html#XML_XINCLUDE_ENTITY_DEF_MISMATCH"/>
    <keyword type="enum" name="XML_XINCLUDE_FALLBACKS_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_FALLBACKS_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_FRAGMENT_ID" link="libxml2-xmlerror.html#XML_XINCLUDE_FRAGMENT_ID"/>
    <keyword type="enum" name="XML_XINCLUDE_HREF_URI" link="libxml2-xmlerror.html#XML_XINCLUDE_HREF_URI"/>
    <keyword type="enum" name="XML_XINCLUDE_INCLUDE_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_INCLUDE_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_INVALID_CHAR" link="libxml2-xmlerror.html#XML_XINCLUDE_INVALID_CHAR"/>
    <keyword type="enum" name="XML_XINCLUDE_MULTIPLE_ROOT" link="libxml2-xmlerror.html#XML_XINCLUDE_MULTIPLE_ROOT"/>
    <keyword type="enum" name="XML_XINCLUDE_NO_FALLBACK" link="libxml2-xmlerror.html#XML_XINCLUDE_NO_FALLBACK"/>
    <keyword type="enum" name="XML_XINCLUDE_NO_HREF" link="libxml2-xmlerror.html#XML_XINCLUDE_NO_HREF"/>
    <keyword type="enum" name="XML_XINCLUDE_PARSE_VALUE" link="libxml2-xmlerror.html#XML_XINCLUDE_PARSE_VALUE"/>
    <keyword type="enum" name="XML_XINCLUDE_RECURSION" link="libxml2-xmlerror.html#XML_XINCLUDE_RECURSION"/>
    <keyword type="enum" name="XML_XINCLUDE_START" link="libxml2-tree.html#XML_XINCLUDE_START"/>
    <keyword type="enum" name="XML_XINCLUDE_TEXT_DOCUMENT" link="libxml2-xmlerror.html#XML_XINCLUDE_TEXT_DOCUMENT"/>
    <keyword type="enum" name="XML_XINCLUDE_TEXT_FRAGMENT" link="libxml2-xmlerror.html#XML_XINCLUDE_TEXT_FRAGMENT"/>
    <keyword type="enum" name="XML_XINCLUDE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_XINCLUDE_XPTR_FAILED" link="libxml2-xmlerror.html#XML_XINCLUDE_XPTR_FAILED"/>
    <keyword type="enum" name="XML_XINCLUDE_XPTR_RESULT" link="libxml2-xmlerror.html#XML_XINCLUDE_XPTR_RESULT"/>
    <keyword type="enum" name="XML_XPATH_ENCODING_ERROR" link="libxml2-xmlerror.html#XML_XPATH_ENCODING_ERROR"/>
    <keyword type="enum" name="XML_XPATH_EXPRESSION_OK" link="libxml2-xmlerror.html#XML_XPATH_EXPRESSION_OK"/>
    <keyword type="enum" name="XML_XPATH_EXPR_ERROR" link="libxml2-xmlerror.html#XML_XPATH_EXPR_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_ARITY" link="libxml2-xmlerror.html#XML_XPATH_INVALID_ARITY"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CHAR_ERROR" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CHAR_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CTXT_POSITION" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CTXT_POSITION"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CTXT_SIZE" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CTXT_SIZE"/>
    <keyword type="enum" name="XML_XPATH_INVALID_OPERAND" link="libxml2-xmlerror.html#XML_XPATH_INVALID_OPERAND"/>
    <keyword type="enum" name="XML_XPATH_INVALID_PREDICATE_ERROR" link="libxml2-xmlerror.html#XML_XPATH_INVALID_PREDICATE_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_TYPE" link="libxml2-xmlerror.html#XML_XPATH_INVALID_TYPE"/>
    <keyword type="enum" name="XML_XPATH_MEMORY_ERROR" link="libxml2-xmlerror.html#XML_XPATH_MEMORY_ERROR"/>
    <keyword type="enum" name="XML_XPATH_NUMBER_ERROR" link="libxml2-xmlerror.html#XML_XPATH_NUMBER_ERROR"/>
    <keyword type="enum" name="XML_XPATH_START_LITERAL_ERROR" link="libxml2-xmlerror.html#XML_XPATH_START_LITERAL_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNCLOSED_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNCLOSED_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNDEF_PREFIX_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNDEF_PREFIX_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNDEF_VARIABLE_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNDEF_VARIABLE_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNFINISHED_LITERAL_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNFINISHED_LITERAL_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNKNOWN_FUNC_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNKNOWN_FUNC_ERROR"/>
    <keyword type="enum" name="XML_XPATH_VARIABLE_REF_ERROR" link="libxml2-xmlerror.html#XML_XPATH_VARIABLE_REF_ERROR"/>
    <keyword type="enum" name="XML_XPTR_CHILDSEQ_START" link="libxml2-xmlerror.html#XML_XPTR_CHILDSEQ_START"/>
    <keyword type="enum" name="XML_XPTR_EVAL_FAILED" link="libxml2-xmlerror.html#XML_XPTR_EVAL_FAILED"/>
    <keyword type="enum" name="XML_XPTR_EXTRA_OBJECTS" link="libxml2-xmlerror.html#XML_XPTR_EXTRA_OBJECTS"/>
    <keyword type="enum" name="XML_XPTR_RESOURCE_ERROR" link="libxml2-xmlerror.html#XML_XPTR_RESOURCE_ERROR"/>
    <keyword type="enum" name="XML_XPTR_SUB_RESOURCE_ERROR" link="libxml2-xmlerror.html#XML_XPTR_SUB_RESOURCE_ERROR"/>
    <keyword type="enum" name="XML_XPTR_SYNTAX_ERROR" link="libxml2-xmlerror.html#XML_XPTR_SYNTAX_ERROR"/>
    <keyword type="enum" name="XML_XPTR_UNKNOWN_SCHEME" link="libxml2-xmlerror.html#XML_XPTR_UNKNOWN_SCHEME"/>
    <keyword type="enum" name="XPATH_BOOLEAN" link="libxml2-xpath.html#XPATH_BOOLEAN"/>
    <keyword type="enum" name="XPATH_ENCODING_ERROR" link="libxml2-xpath.html#XPATH_ENCODING_ERROR"/>
    <keyword type="enum" name="XPATH_EXPRESSION_OK" link="libxml2-xpath.html#XPATH_EXPRESSION_OK"/>
    <keyword type="enum" name="XPATH_EXPR_ERROR" link="libxml2-xpath.html#XPATH_EXPR_ERROR"/>
    <keyword type="enum" name="XPATH_FORBID_VARIABLE_ERROR" link="libxml2-xpath.html#XPATH_FORBID_VARIABLE_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_ARITY" link="libxml2-xpath.html#XPATH_INVALID_ARITY"/>
    <keyword type="enum" name="XPATH_INVALID_CHAR_ERROR" link="libxml2-xpath.html#XPATH_INVALID_CHAR_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT" link="libxml2-xpath.html#XPATH_INVALID_CTXT"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT_POSITION" link="libxml2-xpath.html#XPATH_INVALID_CTXT_POSITION"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT_SIZE" link="libxml2-xpath.html#XPATH_INVALID_CTXT_SIZE"/>
    <keyword type="enum" name="XPATH_INVALID_OPERAND" link="libxml2-xpath.html#XPATH_INVALID_OPERAND"/>
    <keyword type="enum" name="XPATH_INVALID_PREDICATE_ERROR" link="libxml2-xpath.html#XPATH_INVALID_PREDICATE_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_TYPE" link="libxml2-xpath.html#XPATH_INVALID_TYPE"/>
    <keyword type="enum" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
    <keyword type="enum" name="XPATH_MEMORY_ERROR" link="libxml2-xpath.html#XPATH_MEMORY_ERROR"/>
    <keyword type="enum" name="XPATH_NODESET" link="libxml2-xpath.html#XPATH_NODESET"/>
    <keyword type="enum" name="XPATH_NUMBER" link="libxml2-xpath.html#XPATH_NUMBER"/>
    <keyword type="enum" name="XPATH_NUMBER_ERROR" link="libxml2-xpath.html#XPATH_NUMBER_ERROR"/>
    <keyword type="enum" name="XPATH_OP_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_OP_LIMIT_EXCEEDED"/>
    <keyword type="enum" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
    <keyword type="enum" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
    <keyword type="enum" name="XPATH_RECURSION_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED"/>
    <keyword type="enum" name="XPATH_STACK_ERROR" link="libxml2-xpath.html#XPATH_STACK_ERROR"/>
    <keyword type="enum" name="XPATH_START_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_START_LITERAL_ERROR"/>
    <keyword type="enum" name="XPATH_STRING" link="libxml2-xpath.html#XPATH_STRING"/>
    <keyword type="enum" name="XPATH_UNCLOSED_ERROR" link="libxml2-xpath.html#XPATH_UNCLOSED_ERROR"/>
    <keyword type="enum" name="XPATH_UNDEFINED" link="libxml2-xpath.html#XPATH_UNDEFINED"/>
    <keyword type="enum" name="XPATH_UNDEF_PREFIX_ERROR" link="libxml2-xpath.html#XPATH_UNDEF_PREFIX_ERROR"/>
    <keyword type="enum" name="XPATH_UNDEF_VARIABLE_ERROR" link="libxml2-xpath.html#XPATH_UNDEF_VARIABLE_ERROR"/>
    <keyword type="enum" name="XPATH_UNFINISHED_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_UNFINISHED_LITERAL_ERROR"/>
    <keyword type="enum" name="XPATH_UNKNOWN_FUNC_ERROR" link="libxml2-xpath.html#XPATH_UNKNOWN_FUNC_ERROR"/>
    <keyword type="enum" name="XPATH_USERS" link="libxml2-xpath.html#XPATH_USERS"/>
    <keyword type="enum" name="XPATH_VARIABLE_REF_ERROR" link="libxml2-xpath.html#XPATH_VARIABLE_REF_ERROR"/>
    <keyword type="enum" name="XPATH_XSLT_TREE" link="libxml2-xpath.html#XPATH_XSLT_TREE"/>
    <keyword type="enum" name="XPTR_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_RESOURCE_ERROR"/>
    <keyword type="enum" name="XPTR_SUB_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_SUB_RESOURCE_ERROR"/>
    <keyword type="enum" name="XPTR_SYNTAX_ERROR" link="libxml2-xpath.html#XPTR_SYNTAX_ERROR"/>
    <keyword type="typedef" name="htmlDocPtr" link="libxml2-HTMLparser.html#htmlDocPtr"/>
    <keyword type="typedef" name="htmlElemDescPtr" link="libxml2-HTMLparser.html#htmlElemDescPtr"/>
    <keyword type="typedef" name="htmlEntityDescPtr" link="libxml2-HTMLparser.html#htmlEntityDescPtr"/>
    <keyword type="typedef" name="htmlNodePtr" link="libxml2-HTMLparser.html#htmlNodePtr"/>
    <keyword type="typedef" name="htmlParserCtxt" link="libxml2-HTMLparser.html#htmlParserCtxt"/>
    <keyword type="typedef" name="htmlParserCtxtPtr" link="libxml2-HTMLparser.html#htmlParserCtxtPtr"/>
    <keyword type="typedef" name="htmlParserInput" link="libxml2-HTMLparser.html#htmlParserInput"/>
    <keyword type="typedef" name="htmlParserInputPtr" link="libxml2-HTMLparser.html#htmlParserInputPtr"/>
    <keyword type="typedef" name="htmlParserNodeInfo" link="libxml2-HTMLparser.html#htmlParserNodeInfo"/>
    <keyword type="typedef" name="htmlParserOption" link="libxml2-HTMLparser.html#htmlParserOption"/>
    <keyword type="typedef" name="htmlSAXHandler" link="libxml2-HTMLparser.html#htmlSAXHandler"/>
    <keyword type="typedef" name="htmlSAXHandlerPtr" link="libxml2-HTMLparser.html#htmlSAXHandlerPtr"/>
    <keyword type="typedef" name="htmlStatus" link="libxml2-HTMLparser.html#htmlStatus"/>
    <keyword type="typedef" name="xlinkActuate" link="libxml2-xlink.html#xlinkActuate"/>
    <keyword type="typedef" name="xlinkHRef" link="libxml2-xlink.html#xlinkHRef"/>
    <keyword type="typedef" name="xlinkHandlerPtr" link="libxml2-xlink.html#xlinkHandlerPtr"/>
    <keyword type="typedef" name="xlinkRole" link="libxml2-xlink.html#xlinkRole"/>
    <keyword type="typedef" name="xlinkShow" link="libxml2-xlink.html#xlinkShow"/>
    <keyword type="typedef" name="xlinkTitle" link="libxml2-xlink.html#xlinkTitle"/>
    <keyword type="typedef" name="xlinkType" link="libxml2-xlink.html#xlinkType"/>
    <keyword type="typedef" name="xmlAttrPtr" link="libxml2-tree.html#xmlAttrPtr"/>
    <keyword type="typedef" name="xmlAttributeDefault" link="libxml2-tree.html#xmlAttributeDefault"/>
    <keyword type="typedef" name="xmlAttributePtr" link="libxml2-tree.html#xmlAttributePtr"/>
    <keyword type="typedef" name="xmlAttributeTablePtr" link="libxml2-valid.html#xmlAttributeTablePtr"/>
    <keyword type="typedef" name="xmlAttributeType" link="libxml2-tree.html#xmlAttributeType"/>
    <keyword type="typedef" name="xmlAutomataPtr" link="libxml2-xmlautomata.html#xmlAutomataPtr"/>
    <keyword type="typedef" name="xmlAutomataStatePtr" link="libxml2-xmlautomata.html#xmlAutomataStatePtr"/>
    <keyword type="typedef" name="xmlBufPtr" link="libxml2-tree.html#xmlBufPtr"/>
    <keyword type="typedef" name="xmlBufferAllocationScheme" link="libxml2-tree.html#xmlBufferAllocationScheme"/>
    <keyword type="typedef" name="xmlBufferPtr" link="libxml2-tree.html#xmlBufferPtr"/>
    <keyword type="typedef" name="xmlC14NMode" link="libxml2-c14n.html#xmlC14NMode"/>
    <keyword type="typedef" name="xmlCatalogAllow" link="libxml2-catalog.html#xmlCatalogAllow"/>
    <keyword type="typedef" name="xmlCatalogPrefer" link="libxml2-catalog.html#xmlCatalogPrefer"/>
    <keyword type="typedef" name="xmlCatalogPtr" link="libxml2-catalog.html#xmlCatalogPtr"/>
    <keyword type="typedef" name="xmlChLRangePtr" link="libxml2-chvalid.html#xmlChLRangePtr"/>
    <keyword type="typedef" name="xmlChRangeGroupPtr" link="libxml2-chvalid.html#xmlChRangeGroupPtr"/>
    <keyword type="typedef" name="xmlChSRangePtr" link="libxml2-chvalid.html#xmlChSRangePtr"/>
    <keyword type="typedef" name="xmlChar" link="libxml2-xmlstring.html#xmlChar"/>
    <keyword type="typedef" name="xmlCharEncoding" link="libxml2-encoding.html#xmlCharEncoding"/>
    <keyword type="typedef" name="xmlCharEncodingHandlerPtr" link="libxml2-encoding.html#xmlCharEncodingHandlerPtr"/>
    <keyword type="typedef" name="xmlDOMWrapCtxtPtr" link="libxml2-tree.html#xmlDOMWrapCtxtPtr"/>
    <keyword type="typedef" name="xmlDictPtr" link="libxml2-dict.html#xmlDictPtr"/>
    <keyword type="typedef" name="xmlDocProperties" link="libxml2-tree.html#xmlDocProperties"/>
    <keyword type="typedef" name="xmlDocPtr" link="libxml2-tree.html#xmlDocPtr"/>
    <keyword type="typedef" name="xmlDtdPtr" link="libxml2-tree.html#xmlDtdPtr"/>
    <keyword type="typedef" name="xmlElementContentOccur" link="libxml2-tree.html#xmlElementContentOccur"/>
    <keyword type="typedef" name="xmlElementContentPtr" link="libxml2-tree.html#xmlElementContentPtr"/>
    <keyword type="typedef" name="xmlElementContentType" link="libxml2-tree.html#xmlElementContentType"/>
    <keyword type="typedef" name="xmlElementPtr" link="libxml2-tree.html#xmlElementPtr"/>
    <keyword type="typedef" name="xmlElementTablePtr" link="libxml2-valid.html#xmlElementTablePtr"/>
    <keyword type="typedef" name="xmlElementType" link="libxml2-tree.html#xmlElementType"/>
    <keyword type="typedef" name="xmlElementTypeVal" link="libxml2-tree.html#xmlElementTypeVal"/>
    <keyword type="typedef" name="xmlEntitiesTablePtr" link="libxml2-entities.html#xmlEntitiesTablePtr"/>
    <keyword type="typedef" name="xmlEntityPtr" link="libxml2-tree.html#xmlEntityPtr"/>
    <keyword type="typedef" name="xmlEntityType" link="libxml2-entities.html#xmlEntityType"/>
    <keyword type="typedef" name="xmlEnumerationPtr" link="libxml2-tree.html#xmlEnumerationPtr"/>
    <keyword type="typedef" name="xmlErrorDomain" link="libxml2-xmlerror.html#xmlErrorDomain"/>
    <keyword type="typedef" name="xmlErrorLevel" link="libxml2-xmlerror.html#xmlErrorLevel"/>
    <keyword type="typedef" name="xmlErrorPtr" link="libxml2-xmlerror.html#xmlErrorPtr"/>
    <keyword type="typedef" name="xmlExpCtxtPtr" link="libxml2-xmlregexp.html#xmlExpCtxtPtr"/>
    <keyword type="typedef" name="xmlExpNodePtr" link="libxml2-xmlregexp.html#xmlExpNodePtr"/>
    <keyword type="typedef" name="xmlExpNodeType" link="libxml2-xmlregexp.html#xmlExpNodeType"/>
    <keyword type="typedef" name="xmlFeature" link="libxml2-parser.html#xmlFeature"/>
    <keyword type="typedef" name="xmlGlobalStatePtr" link="libxml2-globals.html#xmlGlobalStatePtr"/>
    <keyword type="typedef" name="xmlHashTablePtr" link="libxml2-hash.html#xmlHashTablePtr"/>
    <keyword type="typedef" name="xmlIDPtr" link="libxml2-tree.html#xmlIDPtr"/>
    <keyword type="typedef" name="xmlIDTablePtr" link="libxml2-valid.html#xmlIDTablePtr"/>
    <keyword type="typedef" name="xmlLinkPtr" link="libxml2-list.html#xmlLinkPtr"/>
    <keyword type="typedef" name="xmlListPtr" link="libxml2-list.html#xmlListPtr"/>
    <keyword type="typedef" name="xmlLocationSetPtr" link="libxml2-xpointer.html#xmlLocationSetPtr"/>
    <keyword type="typedef" name="xmlModuleOption" link="libxml2-xmlmodule.html#xmlModuleOption"/>
    <keyword type="typedef" name="xmlModulePtr" link="libxml2-xmlmodule.html#xmlModulePtr"/>
    <keyword type="typedef" name="xmlMutexPtr" link="libxml2-threads.html#xmlMutexPtr"/>
    <keyword type="typedef" name="xmlNodePtr" link="libxml2-tree.html#xmlNodePtr"/>
    <keyword type="typedef" name="xmlNodeSetPtr" link="libxml2-xpath.html#xmlNodeSetPtr"/>
    <keyword type="typedef" name="xmlNotationPtr" link="libxml2-tree.html#xmlNotationPtr"/>
    <keyword type="typedef" name="xmlNotationTablePtr" link="libxml2-valid.html#xmlNotationTablePtr"/>
    <keyword type="typedef" name="xmlNsPtr" link="libxml2-tree.html#xmlNsPtr"/>
    <keyword type="typedef" name="xmlNsType" link="libxml2-tree.html#xmlNsType"/>
    <keyword type="typedef" name="xmlOutputBufferPtr" link="libxml2-tree.html#xmlOutputBufferPtr"/>
    <keyword type="typedef" name="xmlParserCtxtPtr" link="libxml2-tree.html#xmlParserCtxtPtr"/>
    <keyword type="typedef" name="xmlParserErrors" link="libxml2-xmlerror.html#xmlParserErrors"/>
    <keyword type="typedef" name="xmlParserInputBufferPtr" link="libxml2-tree.html#xmlParserInputBufferPtr"/>
    <keyword type="typedef" name="xmlParserInputPtr" link="libxml2-tree.html#xmlParserInputPtr"/>
    <keyword type="typedef" name="xmlParserInputState" link="libxml2-parser.html#xmlParserInputState"/>
    <keyword type="typedef" name="xmlParserMode" link="libxml2-parser.html#xmlParserMode"/>
    <keyword type="typedef" name="xmlParserNodeInfoPtr" link="libxml2-parser.html#xmlParserNodeInfoPtr"/>
    <keyword type="typedef" name="xmlParserNodeInfoSeqPtr" link="libxml2-parser.html#xmlParserNodeInfoSeqPtr"/>
    <keyword type="typedef" name="xmlParserOption" link="libxml2-parser.html#xmlParserOption"/>
    <keyword type="typedef" name="xmlParserProperties" link="libxml2-xmlreader.html#xmlParserProperties"/>
    <keyword type="typedef" name="xmlParserSeverities" link="libxml2-xmlreader.html#xmlParserSeverities"/>
    <keyword type="typedef" name="xmlPatternFlags" link="libxml2-pattern.html#xmlPatternFlags"/>
    <keyword type="typedef" name="xmlPatternPtr" link="libxml2-pattern.html#xmlPatternPtr"/>
    <keyword type="typedef" name="xmlRMutexPtr" link="libxml2-threads.html#xmlRMutexPtr"/>
    <keyword type="typedef" name="xmlReaderTypes" link="libxml2-xmlreader.html#xmlReaderTypes"/>
    <keyword type="typedef" name="xmlRefPtr" link="libxml2-tree.html#xmlRefPtr"/>
    <keyword type="typedef" name="xmlRefTablePtr" link="libxml2-valid.html#xmlRefTablePtr"/>
    <keyword type="typedef" name="xmlRegExecCtxtPtr" link="libxml2-xmlregexp.html#xmlRegExecCtxtPtr"/>
    <keyword type="typedef" name="xmlRegexpPtr" link="libxml2-xmlregexp.html#xmlRegexpPtr"/>
    <keyword type="typedef" name="xmlRelaxNGParserCtxtPtr" link="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr"/>
    <keyword type="typedef" name="xmlRelaxNGParserFlag" link="libxml2-relaxng.html#xmlRelaxNGParserFlag"/>
    <keyword type="typedef" name="xmlRelaxNGPtr" link="libxml2-relaxng.html#xmlRelaxNGPtr"/>
    <keyword type="typedef" name="xmlRelaxNGValidCtxtPtr" link="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr"/>
    <keyword type="typedef" name="xmlRelaxNGValidErr" link="libxml2-relaxng.html#xmlRelaxNGValidErr"/>
    <keyword type="typedef" name="xmlSAXHandlerPtr" link="libxml2-tree.html#xmlSAXHandlerPtr"/>
    <keyword type="typedef" name="xmlSAXHandlerV1Ptr" link="libxml2-parser.html#xmlSAXHandlerV1Ptr"/>
    <keyword type="typedef" name="xmlSAXLocatorPtr" link="libxml2-tree.html#xmlSAXLocatorPtr"/>
    <keyword type="typedef" name="xmlSaveCtxtPtr" link="libxml2-xmlsave.html#xmlSaveCtxtPtr"/>
    <keyword type="typedef" name="xmlSaveOption" link="libxml2-xmlsave.html#xmlSaveOption"/>
    <keyword type="typedef" name="xmlSchemaAnnotPtr" link="libxml2-schemasInternals.html#xmlSchemaAnnotPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributeGroupPtr" link="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributeLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributePtr" link="libxml2-schemasInternals.html#xmlSchemaAttributePtr"/>
    <keyword type="typedef" name="xmlSchemaContentType" link="libxml2-schemasInternals.html#xmlSchemaContentType"/>
    <keyword type="typedef" name="xmlSchemaElementPtr" link="libxml2-schemasInternals.html#xmlSchemaElementPtr"/>
    <keyword type="typedef" name="xmlSchemaFacetLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaFacetPtr" link="libxml2-schemasInternals.html#xmlSchemaFacetPtr"/>
    <keyword type="typedef" name="xmlSchemaNotationPtr" link="libxml2-schemasInternals.html#xmlSchemaNotationPtr"/>
    <keyword type="typedef" name="xmlSchemaParserCtxtPtr" link="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr"/>
    <keyword type="typedef" name="xmlSchemaPtr" link="libxml2-xmlschemas.html#xmlSchemaPtr"/>
    <keyword type="typedef" name="xmlSchemaSAXPlugPtr" link="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr"/>
    <keyword type="typedef" name="xmlSchemaTypeLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaTypePtr" link="libxml2-schemasInternals.html#xmlSchemaTypePtr"/>
    <keyword type="typedef" name="xmlSchemaTypeType" link="libxml2-schemasInternals.html#xmlSchemaTypeType"/>
    <keyword type="typedef" name="xmlSchemaValPtr" link="libxml2-schemasInternals.html#xmlSchemaValPtr"/>
    <keyword type="typedef" name="xmlSchemaValType" link="libxml2-schemasInternals.html#xmlSchemaValType"/>
    <keyword type="typedef" name="xmlSchemaValidCtxtPtr" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr"/>
    <keyword type="typedef" name="xmlSchemaValidError" link="libxml2-xmlschemas.html#xmlSchemaValidError"/>
    <keyword type="typedef" name="xmlSchemaValidOption" link="libxml2-xmlschemas.html#xmlSchemaValidOption"/>
    <keyword type="typedef" name="xmlSchemaWhitespaceValueType" link="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType"/>
    <keyword type="typedef" name="xmlSchemaWildcardNsPtr" link="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr"/>
    <keyword type="typedef" name="xmlSchemaWildcardPtr" link="libxml2-schemasInternals.html#xmlSchemaWildcardPtr"/>
    <keyword type="typedef" name="xmlSchematronParserCtxtPtr" link="libxml2-schematron.html#xmlSchematronParserCtxtPtr"/>
    <keyword type="typedef" name="xmlSchematronPtr" link="libxml2-schematron.html#xmlSchematronPtr"/>
    <keyword type="typedef" name="xmlSchematronValidCtxtPtr" link="libxml2-schematron.html#xmlSchematronValidCtxtPtr"/>
    <keyword type="typedef" name="xmlSchematronValidOptions" link="libxml2-schematron.html#xmlSchematronValidOptions"/>
    <keyword type="typedef" name="xmlShellCtxtPtr" link="libxml2-debugXML.html#xmlShellCtxtPtr"/>
    <keyword type="typedef" name="xmlStreamCtxtPtr" link="libxml2-pattern.html#xmlStreamCtxtPtr"/>
    <keyword type="typedef" name="xmlTextReaderLocatorPtr" link="libxml2-xmlreader.html#xmlTextReaderLocatorPtr"/>
    <keyword type="typedef" name="xmlTextReaderMode" link="libxml2-xmlreader.html#xmlTextReaderMode"/>
    <keyword type="typedef" name="xmlTextReaderPtr" link="libxml2-xmlreader.html#xmlTextReaderPtr"/>
    <keyword type="typedef" name="xmlTextWriterPtr" link="libxml2-xmlwriter.html#xmlTextWriterPtr"/>
    <keyword type="typedef" name="xmlURIPtr" link="libxml2-uri.html#xmlURIPtr"/>
    <keyword type="typedef" name="xmlValidCtxtPtr" link="libxml2-valid.html#xmlValidCtxtPtr"/>
    <keyword type="typedef" name="xmlValidStatePtr" link="libxml2-valid.html#xmlValidStatePtr"/>
    <keyword type="typedef" name="xmlXIncludeCtxtPtr" link="libxml2-xinclude.html#xmlXIncludeCtxtPtr"/>
    <keyword type="typedef" name="xmlXPathAxisPtr" link="libxml2-xpath.html#xmlXPathAxisPtr"/>
    <keyword type="typedef" name="xmlXPathCompExprPtr" link="libxml2-xpath.html#xmlXPathCompExprPtr"/>
    <keyword type="typedef" name="xmlXPathContextPtr" link="libxml2-xpath.html#xmlXPathContextPtr"/>
    <keyword type="typedef" name="xmlXPathError" link="libxml2-xpath.html#xmlXPathError"/>
    <keyword type="typedef" name="xmlXPathFuncPtr" link="libxml2-xpath.html#xmlXPathFuncPtr"/>
    <keyword type="typedef" name="xmlXPathObjectPtr" link="libxml2-xpath.html#xmlXPathObjectPtr"/>
    <keyword type="typedef" name="xmlXPathObjectType" link="libxml2-xpath.html#xmlXPathObjectType"/>
    <keyword type="typedef" name="xmlXPathParserContextPtr" link="libxml2-xpath.html#xmlXPathParserContextPtr"/>
    <keyword type="typedef" name="xmlXPathTypePtr" link="libxml2-xpath.html#xmlXPathTypePtr"/>
    <keyword type="typedef" name="xmlXPathVariablePtr" link="libxml2-xpath.html#xmlXPathVariablePtr"/>
    <keyword type="struct" name="htmlElemDesc" link="libxml2-HTMLparser.html#htmlElemDesc"/>
    <keyword type="struct" name="htmlEntityDesc" link="libxml2-HTMLparser.html#htmlEntityDesc"/>
    <keyword type="struct" name="xlinkHandler" link="libxml2-xlink.html#xlinkHandler"/>
    <keyword type="struct" name="xmlAttr" link="libxml2-tree.html#xmlAttr"/>
    <keyword type="struct" name="xmlAttribute" link="libxml2-tree.html#xmlAttribute"/>
    <keyword type="struct" name="xmlAttributeTable" link="libxml2-valid.html#xmlAttributeTable"/>
    <keyword type="struct" name="xmlAutomata" link="libxml2-xmlautomata.html#xmlAutomata"/>
    <keyword type="struct" name="xmlAutomataState" link="libxml2-xmlautomata.html#xmlAutomataState"/>
    <keyword type="struct" name="xmlBuf" link="libxml2-tree.html#xmlBuf"/>
    <keyword type="struct" name="xmlBuffer" link="libxml2-tree.html#xmlBuffer"/>
    <keyword type="struct" name="xmlCatalog" link="libxml2-catalog.html#xmlCatalog"/>
    <keyword type="struct" name="xmlChLRange" link="libxml2-chvalid.html#xmlChLRange"/>
    <keyword type="struct" name="xmlChRangeGroup" link="libxml2-chvalid.html#xmlChRangeGroup"/>
    <keyword type="struct" name="xmlChSRange" link="libxml2-chvalid.html#xmlChSRange"/>
    <keyword type="struct" name="xmlCharEncodingHandler" link="libxml2-encoding.html#xmlCharEncodingHandler"/>
    <keyword type="struct" name="xmlDOMWrapCtxt" link="libxml2-tree.html#xmlDOMWrapCtxt"/>
    <keyword type="struct" name="xmlDict" link="libxml2-dict.html#xmlDict"/>
    <keyword type="struct" name="xmlDoc" link="libxml2-tree.html#xmlDoc"/>
    <keyword type="struct" name="xmlDtd" link="libxml2-tree.html#xmlDtd"/>
    <keyword type="struct" name="xmlElement" link="libxml2-tree.html#xmlElement"/>
    <keyword type="struct" name="xmlElementContent" link="libxml2-tree.html#xmlElementContent"/>
    <keyword type="struct" name="xmlElementTable" link="libxml2-valid.html#xmlElementTable"/>
    <keyword type="struct" name="xmlEntitiesTable" link="libxml2-entities.html#xmlEntitiesTable"/>
    <keyword type="struct" name="xmlEntity" link="libxml2-tree.html#xmlEntity"/>
    <keyword type="struct" name="xmlEnumeration" link="libxml2-tree.html#xmlEnumeration"/>
    <keyword type="struct" name="xmlError" link="libxml2-xmlerror.html#xmlError"/>
    <keyword type="struct" name="xmlExpCtxt" link="libxml2-xmlregexp.html#xmlExpCtxt"/>
    <keyword type="struct" name="xmlExpNode" link="libxml2-xmlregexp.html#xmlExpNode"/>
    <keyword type="struct" name="xmlGlobalState" link="libxml2-globals.html#xmlGlobalState"/>
    <keyword type="struct" name="xmlHashTable" link="libxml2-hash.html#xmlHashTable"/>
    <keyword type="struct" name="xmlID" link="libxml2-tree.html#xmlID"/>
    <keyword type="struct" name="xmlIDTable" link="libxml2-valid.html#xmlIDTable"/>
    <keyword type="struct" name="xmlLink" link="libxml2-list.html#xmlLink"/>
    <keyword type="struct" name="xmlList" link="libxml2-list.html#xmlList"/>
    <keyword type="struct" name="xmlLocationSet" link="libxml2-xpointer.html#xmlLocationSet"/>
    <keyword type="struct" name="xmlModule" link="libxml2-xmlmodule.html#xmlModule"/>
    <keyword type="struct" name="xmlMutex" link="libxml2-threads.html#xmlMutex"/>
    <keyword type="struct" name="xmlNode" link="libxml2-tree.html#xmlNode"/>
    <keyword type="struct" name="xmlNodeSet" link="libxml2-xpath.html#xmlNodeSet"/>
    <keyword type="struct" name="xmlNotation" link="libxml2-tree.html#xmlNotation"/>
    <keyword type="struct" name="xmlNotationTable" link="libxml2-valid.html#xmlNotationTable"/>
    <keyword type="struct" name="xmlNs" link="libxml2-tree.html#xmlNs"/>
    <keyword type="struct" name="xmlOutputBuffer" link="libxml2-tree.html#xmlOutputBuffer"/>
    <keyword type="struct" name="xmlParserCtxt" link="libxml2-tree.html#xmlParserCtxt"/>
    <keyword type="struct" name="xmlParserInput" link="libxml2-tree.html#xmlParserInput"/>
    <keyword type="struct" name="xmlParserInputBuffer" link="libxml2-tree.html#xmlParserInputBuffer"/>
    <keyword type="struct" name="xmlParserNodeInfo" link="libxml2-parser.html#xmlParserNodeInfo"/>
    <keyword type="struct" name="xmlParserNodeInfoSeq" link="libxml2-parser.html#xmlParserNodeInfoSeq"/>
    <keyword type="struct" name="xmlPattern" link="libxml2-pattern.html#xmlPattern"/>
    <keyword type="struct" name="xmlRMutex" link="libxml2-threads.html#xmlRMutex"/>
    <keyword type="struct" name="xmlRef" link="libxml2-tree.html#xmlRef"/>
    <keyword type="struct" name="xmlRefTable" link="libxml2-valid.html#xmlRefTable"/>
    <keyword type="struct" name="xmlRegExecCtxt" link="libxml2-xmlregexp.html#xmlRegExecCtxt"/>
    <keyword type="struct" name="xmlRegexp" link="libxml2-xmlregexp.html#xmlRegexp"/>
    <keyword type="struct" name="xmlRelaxNG" link="libxml2-relaxng.html#xmlRelaxNG"/>
    <keyword type="struct" name="xmlRelaxNGParserCtxt" link="libxml2-relaxng.html#xmlRelaxNGParserCtxt"/>
    <keyword type="struct" name="xmlRelaxNGValidCtxt" link="libxml2-relaxng.html#xmlRelaxNGValidCtxt"/>
    <keyword type="struct" name="xmlSAXHandler" link="libxml2-tree.html#xmlSAXHandler"/>
    <keyword type="struct" name="xmlSAXHandlerV1" link="libxml2-parser.html#xmlSAXHandlerV1"/>
    <keyword type="struct" name="xmlSAXLocator" link="libxml2-tree.html#xmlSAXLocator"/>
    <keyword type="struct" name="xmlSaveCtxt" link="libxml2-xmlsave.html#xmlSaveCtxt"/>
    <keyword type="struct" name="xmlSchema" link="libxml2-xmlschemas.html#xmlSchema"/>
    <keyword type="struct" name="xmlSchemaAnnot" link="libxml2-schemasInternals.html#xmlSchemaAnnot"/>
    <keyword type="struct" name="xmlSchemaAttribute" link="libxml2-schemasInternals.html#xmlSchemaAttribute"/>
    <keyword type="struct" name="xmlSchemaAttributeGroup" link="libxml2-schemasInternals.html#xmlSchemaAttributeGroup"/>
    <keyword type="struct" name="xmlSchemaAttributeLink" link="libxml2-schemasInternals.html#xmlSchemaAttributeLink"/>
    <keyword type="struct" name="xmlSchemaElement" link="libxml2-schemasInternals.html#xmlSchemaElement"/>
    <keyword type="struct" name="xmlSchemaFacet" link="libxml2-schemasInternals.html#xmlSchemaFacet"/>
    <keyword type="struct" name="xmlSchemaFacetLink" link="libxml2-schemasInternals.html#xmlSchemaFacetLink"/>
    <keyword type="struct" name="xmlSchemaNotation" link="libxml2-schemasInternals.html#xmlSchemaNotation"/>
    <keyword type="struct" name="xmlSchemaParserCtxt" link="libxml2-xmlschemas.html#xmlSchemaParserCtxt"/>
    <keyword type="struct" name="xmlSchemaSAXPlugStruct" link="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct"/>
    <keyword type="struct" name="xmlSchemaType" link="libxml2-schemasInternals.html#xmlSchemaType"/>
    <keyword type="struct" name="xmlSchemaTypeLink" link="libxml2-schemasInternals.html#xmlSchemaTypeLink"/>
    <keyword type="struct" name="xmlSchemaVal" link="libxml2-schemasInternals.html#xmlSchemaVal"/>
    <keyword type="struct" name="xmlSchemaValidCtxt" link="libxml2-xmlschemas.html#xmlSchemaValidCtxt"/>
    <keyword type="struct" name="xmlSchemaWildcard" link="libxml2-schemasInternals.html#xmlSchemaWildcard"/>
    <keyword type="struct" name="xmlSchemaWildcardNs" link="libxml2-schemasInternals.html#xmlSchemaWildcardNs"/>
    <keyword type="struct" name="xmlSchematron" link="libxml2-schematron.html#xmlSchematron"/>
    <keyword type="struct" name="xmlSchematronParserCtxt" link="libxml2-schematron.html#xmlSchematronParserCtxt"/>
    <keyword type="struct" name="xmlSchematronValidCtxt" link="libxml2-schematron.html#xmlSchematronValidCtxt"/>
    <keyword type="struct" name="xmlShellCtxt" link="libxml2-debugXML.html#xmlShellCtxt"/>
    <keyword type="struct" name="xmlStartTag" link="libxml2-parser.html#xmlStartTag"/>
    <keyword type="struct" name="xmlStreamCtxt" link="libxml2-pattern.html#xmlStreamCtxt"/>
    <keyword type="struct" name="xmlTextReader" link="libxml2-xmlreader.html#xmlTextReader"/>
    <keyword type="struct" name="xmlTextWriter" link="libxml2-xmlwriter.html#xmlTextWriter"/>
    <keyword type="struct" name="xmlURI" link="libxml2-uri.html#xmlURI"/>
    <keyword type="struct" name="xmlValidCtxt" link="libxml2-valid.html#xmlValidCtxt"/>
    <keyword type="struct" name="xmlValidState" link="libxml2-valid.html#xmlValidState"/>
    <keyword type="struct" name="xmlXIncludeCtxt" link="libxml2-xinclude.html#xmlXIncludeCtxt"/>
    <keyword type="struct" name="xmlXPathAxis" link="libxml2-xpath.html#xmlXPathAxis"/>
    <keyword type="struct" name="xmlXPathCompExpr" link="libxml2-xpath.html#xmlXPathCompExpr"/>
    <keyword type="struct" name="xmlXPathContext" link="libxml2-xpath.html#xmlXPathContext"/>
    <keyword type="struct" name="xmlXPathFunct" link="libxml2-xpath.html#xmlXPathFunct"/>
    <keyword type="struct" name="xmlXPathObject" link="libxml2-xpath.html#xmlXPathObject"/>
    <keyword type="struct" name="xmlXPathParserContext" link="libxml2-xpath.html#xmlXPathParserContext"/>
    <keyword type="struct" name="xmlXPathType" link="libxml2-xpath.html#xmlXPathType"/>
    <keyword type="struct" name="xmlXPathVariable" link="libxml2-xpath.html#xmlXPathVariable"/>
    <keyword type="function" name="attributeDeclSAXFunc" link="libxml2-parser.html#attributeDeclSAXFunc"/>
    <keyword type="function" name="attributeSAXFunc" link="libxml2-parser.html#attributeSAXFunc"/>
    <keyword type="function" name="cdataBlockSAXFunc" link="libxml2-parser.html#cdataBlockSAXFunc"/>
    <keyword type="function" name="charactersSAXFunc" link="libxml2-parser.html#charactersSAXFunc"/>
    <keyword type="function" name="commentSAXFunc" link="libxml2-parser.html#commentSAXFunc"/>
    <keyword type="function" name="elementDeclSAXFunc" link="libxml2-parser.html#elementDeclSAXFunc"/>
    <keyword type="function" name="endDocumentSAXFunc" link="libxml2-parser.html#endDocumentSAXFunc"/>
    <keyword type="function" name="endElementNsSAX2Func" link="libxml2-parser.html#endElementNsSAX2Func"/>
    <keyword type="function" name="endElementSAXFunc" link="libxml2-parser.html#endElementSAXFunc"/>
    <keyword type="function" name="entityDeclSAXFunc" link="libxml2-parser.html#entityDeclSAXFunc"/>
    <keyword type="function" name="errorSAXFunc" link="libxml2-parser.html#errorSAXFunc"/>
    <keyword type="function" name="externalSubsetSAXFunc" link="libxml2-parser.html#externalSubsetSAXFunc"/>
    <keyword type="function" name="fatalErrorSAXFunc" link="libxml2-parser.html#fatalErrorSAXFunc"/>
    <keyword type="function" name="ftpDataCallback" link="libxml2-nanoftp.html#ftpDataCallback"/>
    <keyword type="function" name="ftpListCallback" link="libxml2-nanoftp.html#ftpListCallback"/>
    <keyword type="function" name="getEntitySAXFunc" link="libxml2-parser.html#getEntitySAXFunc"/>
    <keyword type="function" name="getParameterEntitySAXFunc" link="libxml2-parser.html#getParameterEntitySAXFunc"/>
    <keyword type="function" name="hasExternalSubsetSAXFunc" link="libxml2-parser.html#hasExternalSubsetSAXFunc"/>
    <keyword type="function" name="hasInternalSubsetSAXFunc" link="libxml2-parser.html#hasInternalSubsetSAXFunc"/>
    <keyword type="function" name="ignorableWhitespaceSAXFunc" link="libxml2-parser.html#ignorableWhitespaceSAXFunc"/>
    <keyword type="function" name="internalSubsetSAXFunc" link="libxml2-parser.html#internalSubsetSAXFunc"/>
    <keyword type="function" name="isStandaloneSAXFunc" link="libxml2-parser.html#isStandaloneSAXFunc"/>
    <keyword type="function" name="notationDeclSAXFunc" link="libxml2-parser.html#notationDeclSAXFunc"/>
    <keyword type="function" name="processingInstructionSAXFunc" link="libxml2-parser.html#processingInstructionSAXFunc"/>
    <keyword type="function" name="referenceSAXFunc" link="libxml2-parser.html#referenceSAXFunc"/>
    <keyword type="function" name="resolveEntitySAXFunc" link="libxml2-parser.html#resolveEntitySAXFunc"/>
    <keyword type="function" name="setDocumentLocatorSAXFunc" link="libxml2-parser.html#setDocumentLocatorSAXFunc"/>
    <keyword type="function" name="startDocumentSAXFunc" link="libxml2-parser.html#startDocumentSAXFunc"/>
    <keyword type="function" name="startElementNsSAX2Func" link="libxml2-parser.html#startElementNsSAX2Func"/>
    <keyword type="function" name="startElementSAXFunc" link="libxml2-parser.html#startElementSAXFunc"/>
    <keyword type="function" name="unparsedEntityDeclSAXFunc" link="libxml2-parser.html#unparsedEntityDeclSAXFunc"/>
    <keyword type="function" name="warningSAXFunc" link="libxml2-parser.html#warningSAXFunc"/>
    <keyword type="function" name="xlinkExtendedLinkFunk" link="libxml2-xlink.html#xlinkExtendedLinkFunk"/>
    <keyword type="function" name="xlinkExtendedLinkSetFunk" link="libxml2-xlink.html#xlinkExtendedLinkSetFunk"/>
    <keyword type="function" name="xlinkNodeDetectFunc" link="libxml2-xlink.html#xlinkNodeDetectFunc"/>
    <keyword type="function" name="xlinkSimpleLinkFunk" link="libxml2-xlink.html#xlinkSimpleLinkFunk"/>
    <keyword type="function" name="xmlC14NIsVisibleCallback" link="libxml2-c14n.html#xmlC14NIsVisibleCallback"/>
    <keyword type="function" name="xmlCharEncodingInputFunc" link="libxml2-encoding.html#xmlCharEncodingInputFunc"/>
    <keyword type="function" name="xmlCharEncodingOutputFunc" link="libxml2-encoding.html#xmlCharEncodingOutputFunc"/>
    <keyword type="function" name="xmlDOMWrapAcquireNsFunction" link="libxml2-tree.html#xmlDOMWrapAcquireNsFunction"/>
    <keyword type="function" name="xmlDeregisterNodeFunc" link="libxml2-globals.html#xmlDeregisterNodeFunc"/>
    <keyword type="function" name="xmlEntityReferenceFunc" link="libxml2-parserInternals.html#xmlEntityReferenceFunc"/>
    <keyword type="function" name="xmlExternalEntityLoader" link="libxml2-parser.html#xmlExternalEntityLoader"/>
    <keyword type="function" name="xmlFreeFunc" link="libxml2-xmlmemory.html#xmlFreeFunc"/>
    <keyword type="function" name="xmlGenericErrorFunc" link="libxml2-xmlerror.html#xmlGenericErrorFunc"/>
    <keyword type="function" name="xmlHashCopier" link="libxml2-hash.html#xmlHashCopier"/>
    <keyword type="function" name="xmlHashDeallocator" link="libxml2-hash.html#xmlHashDeallocator"/>
    <keyword type="function" name="xmlHashScanner" link="libxml2-hash.html#xmlHashScanner"/>
    <keyword type="function" name="xmlHashScannerFull" link="libxml2-hash.html#xmlHashScannerFull"/>
    <keyword type="function" name="xmlInputCloseCallback" link="libxml2-xmlIO.html#xmlInputCloseCallback"/>
    <keyword type="function" name="xmlInputMatchCallback" link="libxml2-xmlIO.html#xmlInputMatchCallback"/>
    <keyword type="function" name="xmlInputOpenCallback" link="libxml2-xmlIO.html#xmlInputOpenCallback"/>
    <keyword type="function" name="xmlInputReadCallback" link="libxml2-xmlIO.html#xmlInputReadCallback"/>
    <keyword type="function" name="xmlListDataCompare" link="libxml2-list.html#xmlListDataCompare"/>
    <keyword type="function" name="xmlListDeallocator" link="libxml2-list.html#xmlListDeallocator"/>
    <keyword type="function" name="xmlListWalker" link="libxml2-list.html#xmlListWalker"/>
    <keyword type="function" name="xmlMallocFunc" link="libxml2-xmlmemory.html#xmlMallocFunc"/>
    <keyword type="function" name="xmlOutputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc"/>
    <keyword type="function" name="xmlOutputCloseCallback" link="libxml2-xmlIO.html#xmlOutputCloseCallback"/>
    <keyword type="function" name="xmlOutputMatchCallback" link="libxml2-xmlIO.html#xmlOutputMatchCallback"/>
    <keyword type="function" name="xmlOutputOpenCallback" link="libxml2-xmlIO.html#xmlOutputOpenCallback"/>
    <keyword type="function" name="xmlOutputWriteCallback" link="libxml2-xmlIO.html#xmlOutputWriteCallback"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc"/>
    <keyword type="function" name="xmlParserInputDeallocate" link="libxml2-parser.html#xmlParserInputDeallocate"/>
    <keyword type="function" name="xmlReallocFunc" link="libxml2-xmlmemory.html#xmlReallocFunc"/>
    <keyword type="function" name="xmlRegExecCallbacks" link="libxml2-xmlregexp.html#xmlRegExecCallbacks"/>
    <keyword type="function" name="xmlRegisterNodeFunc" link="libxml2-globals.html#xmlRegisterNodeFunc"/>
    <keyword type="function" name="xmlRelaxNGValidityErrorFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc"/>
    <keyword type="function" name="xmlRelaxNGValidityWarningFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc"/>
    <keyword type="function" name="xmlSchemaValidityErrorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc"/>
    <keyword type="function" name="xmlSchemaValidityLocatorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc"/>
    <keyword type="function" name="xmlSchemaValidityWarningFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc"/>
    <keyword type="function" name="xmlSchematronValidityErrorFunc" link="libxml2-schematron.html#xmlSchematronValidityErrorFunc"/>
    <keyword type="function" name="xmlSchematronValidityWarningFunc" link="libxml2-schematron.html#xmlSchematronValidityWarningFunc"/>
    <keyword type="function" name="xmlShellCmd" link="libxml2-debugXML.html#xmlShellCmd"/>
    <keyword type="function" name="xmlShellReadlineFunc" link="libxml2-debugXML.html#xmlShellReadlineFunc"/>
    <keyword type="function" name="xmlStrdupFunc" link="libxml2-xmlmemory.html#xmlStrdupFunc"/>
    <keyword type="function" name="xmlStructuredErrorFunc" link="libxml2-xmlerror.html#xmlStructuredErrorFunc"/>
    <keyword type="function" name="xmlTextReaderErrorFunc" link="libxml2-xmlreader.html#xmlTextReaderErrorFunc"/>
    <keyword type="function" name="xmlValidityErrorFunc" link="libxml2-valid.html#xmlValidityErrorFunc"/>
    <keyword type="function" name="xmlValidityWarningFunc" link="libxml2-valid.html#xmlValidityWarningFunc"/>
    <keyword type="function" name="xmlXPathAxisFunc" link="libxml2-xpath.html#xmlXPathAxisFunc"/>
    <keyword type="function" name="xmlXPathConvertFunc" link="libxml2-xpath.html#xmlXPathConvertFunc"/>
    <keyword type="function" name="xmlXPathEvalFunc" link="libxml2-xpath.html#xmlXPathEvalFunc"/>
    <keyword type="function" name="xmlXPathFuncLookupFunc" link="libxml2-xpath.html#xmlXPathFuncLookupFunc"/>
    <keyword type="function" name="xmlXPathFunction" link="libxml2-xpath.html#xmlXPathFunction"/>
    <keyword type="function" name="xmlXPathVariableLookupFunc" link="libxml2-xpath.html#xmlXPathVariableLookupFunc"/>
    <keyword type="macro" name="emptyExp" link="libxml2-xmlregexp.html#emptyExp"/>
    <keyword type="macro" name="forbiddenExp" link="libxml2-xmlregexp.html#forbiddenExp"/>
    <keyword type="macro" name="htmlDefaultSAXHandler" link="libxml2-globals.html#htmlDefaultSAXHandler"/>
    <keyword type="macro" name="oldXMLWDcompatibility" link="libxml2-globals.html#oldXMLWDcompatibility"/>
    <keyword type="macro" name="xmlBufferAllocScheme" link="libxml2-globals.html#xmlBufferAllocScheme"/>
    <keyword type="macro" name="xmlDefaultBufferSize" link="libxml2-globals.html#xmlDefaultBufferSize"/>
    <keyword type="macro" name="xmlDefaultSAXHandler" link="libxml2-globals.html#xmlDefaultSAXHandler"/>
    <keyword type="macro" name="xmlDefaultSAXLocator" link="libxml2-globals.html#xmlDefaultSAXLocator"/>
    <keyword type="macro" name="xmlDeregisterNodeDefaultValue" link="libxml2-globals.html#xmlDeregisterNodeDefaultValue"/>
    <keyword type="macro" name="xmlDoValidityCheckingDefaultValue" link="libxml2-globals.html#xmlDoValidityCheckingDefaultValue"/>
    <keyword type="macro" name="xmlFree" link="libxml2-globals.html#xmlFree"/>
    <keyword type="macro" name="xmlGenericError" link="libxml2-globals.html#xmlGenericError"/>
    <keyword type="macro" name="xmlGenericErrorContext" link="libxml2-globals.html#xmlGenericErrorContext"/>
    <keyword type="macro" name="xmlGetWarningsDefaultValue" link="libxml2-globals.html#xmlGetWarningsDefaultValue"/>
    <keyword type="macro" name="xmlIndentTreeOutput" link="libxml2-globals.html#xmlIndentTreeOutput"/>
    <keyword type="macro" name="xmlIsBaseCharGroup" link="libxml2-chvalid.html#xmlIsBaseCharGroup"/>
    <keyword type="macro" name="xmlIsCharGroup" link="libxml2-chvalid.html#xmlIsCharGroup"/>
    <keyword type="macro" name="xmlIsCombiningGroup" link="libxml2-chvalid.html#xmlIsCombiningGroup"/>
    <keyword type="macro" name="xmlIsDigitGroup" link="libxml2-chvalid.html#xmlIsDigitGroup"/>
    <keyword type="macro" name="xmlIsExtenderGroup" link="libxml2-chvalid.html#xmlIsExtenderGroup"/>
    <keyword type="macro" name="xmlIsIdeographicGroup" link="libxml2-chvalid.html#xmlIsIdeographicGroup"/>
    <keyword type="macro" name="xmlIsPubidChar_tab" link="libxml2-chvalid.html#xmlIsPubidChar_tab"/>
    <keyword type="macro" name="xmlKeepBlanksDefaultValue" link="libxml2-globals.html#xmlKeepBlanksDefaultValue"/>
    <keyword type="macro" name="xmlLastError" link="libxml2-globals.html#xmlLastError"/>
    <keyword type="macro" name="xmlLineNumbersDefaultValue" link="libxml2-globals.html#xmlLineNumbersDefaultValue"/>
    <keyword type="macro" name="xmlLoadExtDtdDefaultValue" link="libxml2-globals.html#xmlLoadExtDtdDefaultValue"/>
    <keyword type="macro" name="xmlMalloc" link="libxml2-globals.html#xmlMalloc"/>
    <keyword type="macro" name="xmlMallocAtomic" link="libxml2-globals.html#xmlMallocAtomic"/>
    <keyword type="macro" name="xmlMemStrdup" link="libxml2-globals.html#xmlMemStrdup"/>
    <keyword type="macro" name="xmlOutputBufferCreateFilenameValue" link="libxml2-globals.html#xmlOutputBufferCreateFilenameValue"/>
    <keyword type="macro" name="xmlParserDebugEntities" link="libxml2-globals.html#xmlParserDebugEntities"/>
    <keyword type="macro" name="xmlParserInputBufferCreateFilenameValue" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameValue"/>
    <keyword type="macro" name="xmlParserMaxDepth" link="libxml2-parserInternals.html#xmlParserMaxDepth"/>
    <keyword type="macro" name="xmlParserVersion" link="libxml2-globals.html#xmlParserVersion"/>
    <keyword type="macro" name="xmlPedanticParserDefaultValue" link="libxml2-globals.html#xmlPedanticParserDefaultValue"/>
    <keyword type="macro" name="xmlRealloc" link="libxml2-globals.html#xmlRealloc"/>
    <keyword type="macro" name="xmlRegisterNodeDefaultValue" link="libxml2-globals.html#xmlRegisterNodeDefaultValue"/>
    <keyword type="macro" name="xmlSaveNoEmptyTags" link="libxml2-globals.html#xmlSaveNoEmptyTags"/>
    <keyword type="macro" name="xmlStringComment" link="libxml2-parserInternals.html#xmlStringComment"/>
    <keyword type="macro" name="xmlStringText" link="libxml2-parserInternals.html#xmlStringText"/>
    <keyword type="macro" name="xmlStringTextNoenc" link="libxml2-parserInternals.html#xmlStringTextNoenc"/>
    <keyword type="macro" name="xmlStructuredError" link="libxml2-globals.html#xmlStructuredError"/>
    <keyword type="macro" name="xmlStructuredErrorContext" link="libxml2-globals.html#xmlStructuredErrorContext"/>
    <keyword type="macro" name="xmlSubstituteEntitiesDefaultValue" link="libxml2-globals.html#xmlSubstituteEntitiesDefaultValue"/>
    <keyword type="macro" name="xmlTreeIndentString" link="libxml2-globals.html#xmlTreeIndentString"/>
    <keyword type="macro" name="xmlXPathNAN" link="libxml2-xpath.html#xmlXPathNAN"/>
    <keyword type="macro" name="xmlXPathNINF" link="libxml2-xpath.html#xmlXPathNINF"/>
    <keyword type="macro" name="xmlXPathPINF" link="libxml2-xpath.html#xmlXPathPINF"/>
    <keyword type="function" name="UTF8ToHtml ()" link="libxml2-HTMLparser.html#UTF8ToHtml"/>
    <keyword type="function" name="UTF8Toisolat1 ()" link="libxml2-encoding.html#UTF8Toisolat1"/>
    <keyword type="function" name="attribute ()" link="libxml2-SAX.html#attribute"/>
    <keyword type="function" name="attributeDecl ()" link="libxml2-SAX.html#attributeDecl"/>
    <keyword type="function" name="cdataBlock ()" link="libxml2-SAX.html#cdataBlock"/>
    <keyword type="function" name="characters ()" link="libxml2-SAX.html#characters"/>
    <keyword type="function" name="checkNamespace ()" link="libxml2-SAX.html#checkNamespace"/>
    <keyword type="function" name="comment ()" link="libxml2-SAX.html#comment"/>
    <keyword type="function" name="elementDecl ()" link="libxml2-SAX.html#elementDecl"/>
    <keyword type="function" name="endDocument ()" link="libxml2-SAX.html#endDocument"/>
    <keyword type="function" name="endElement ()" link="libxml2-SAX.html#endElement"/>
    <keyword type="function" name="entityDecl ()" link="libxml2-SAX.html#entityDecl"/>
    <keyword type="function" name="externalSubset ()" link="libxml2-SAX.html#externalSubset"/>
    <keyword type="function" name="getColumnNumber ()" link="libxml2-SAX.html#getColumnNumber"/>
    <keyword type="function" name="getEntity ()" link="libxml2-SAX.html#getEntity"/>
    <keyword type="function" name="getLineNumber ()" link="libxml2-SAX.html#getLineNumber"/>
    <keyword type="function" name="getNamespace ()" link="libxml2-SAX.html#getNamespace"/>
    <keyword type="function" name="getParameterEntity ()" link="libxml2-SAX.html#getParameterEntity"/>
    <keyword type="function" name="getPublicId ()" link="libxml2-SAX.html#getPublicId"/>
    <keyword type="function" name="getSystemId ()" link="libxml2-SAX.html#getSystemId"/>
    <keyword type="function" name="globalNamespace ()" link="libxml2-SAX.html#globalNamespace"/>
    <keyword type="function" name="hasExternalSubset ()" link="libxml2-SAX.html#hasExternalSubset"/>
    <keyword type="function" name="hasInternalSubset ()" link="libxml2-SAX.html#hasInternalSubset"/>
    <keyword type="function" name="htmlAttrAllowed ()" link="libxml2-HTMLparser.html#htmlAttrAllowed"/>
    <keyword type="function" name="htmlAutoCloseTag ()" link="libxml2-HTMLparser.html#htmlAutoCloseTag"/>
    <keyword type="function" name="htmlCreateFileParserCtxt ()" link="libxml2-parserInternals.html#htmlCreateFileParserCtxt"/>
    <keyword type="function" name="htmlCreateMemoryParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreateMemoryParserCtxt"/>
    <keyword type="function" name="htmlCreatePushParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreatePushParserCtxt"/>
    <keyword type="function" name="htmlCtxtReadDoc ()" link="libxml2-HTMLparser.html#htmlCtxtReadDoc"/>
    <keyword type="function" name="htmlCtxtReadFd ()" link="libxml2-HTMLparser.html#htmlCtxtReadFd"/>
    <keyword type="function" name="htmlCtxtReadFile ()" link="libxml2-HTMLparser.html#htmlCtxtReadFile"/>
    <keyword type="function" name="htmlCtxtReadIO ()" link="libxml2-HTMLparser.html#htmlCtxtReadIO"/>
    <keyword type="function" name="htmlCtxtReadMemory ()" link="libxml2-HTMLparser.html#htmlCtxtReadMemory"/>
    <keyword type="function" name="htmlCtxtReset ()" link="libxml2-HTMLparser.html#htmlCtxtReset"/>
    <keyword type="function" name="htmlCtxtUseOptions ()" link="libxml2-HTMLparser.html#htmlCtxtUseOptions"/>
    <keyword type="function" name="htmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#htmlDefaultSAXHandlerInit"/>
    <keyword type="function" name="htmlDocContentDumpFormatOutput ()" link="libxml2-HTMLtree.html#htmlDocContentDumpFormatOutput"/>
    <keyword type="function" name="htmlDocContentDumpOutput ()" link="libxml2-HTMLtree.html#htmlDocContentDumpOutput"/>
    <keyword type="function" name="htmlDocDump ()" link="libxml2-HTMLtree.html#htmlDocDump"/>
    <keyword type="function" name="htmlDocDumpMemory ()" link="libxml2-HTMLtree.html#htmlDocDumpMemory"/>
    <keyword type="function" name="htmlDocDumpMemoryFormat ()" link="libxml2-HTMLtree.html#htmlDocDumpMemoryFormat"/>
    <keyword type="function" name="htmlElementAllowedHere ()" link="libxml2-HTMLparser.html#htmlElementAllowedHere"/>
    <keyword type="function" name="htmlElementStatusHere ()" link="libxml2-HTMLparser.html#htmlElementStatusHere"/>
    <keyword type="function" name="htmlEncodeEntities ()" link="libxml2-HTMLparser.html#htmlEncodeEntities"/>
    <keyword type="function" name="htmlEntityLookup ()" link="libxml2-HTMLparser.html#htmlEntityLookup"/>
    <keyword type="function" name="htmlEntityValueLookup ()" link="libxml2-HTMLparser.html#htmlEntityValueLookup"/>
    <keyword type="function" name="htmlFreeParserCtxt ()" link="libxml2-HTMLparser.html#htmlFreeParserCtxt"/>
    <keyword type="function" name="htmlGetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlGetMetaEncoding"/>
    <keyword type="function" name="htmlHandleOmittedElem ()" link="libxml2-HTMLparser.html#htmlHandleOmittedElem"/>
    <keyword type="function" name="htmlInitAutoClose ()" link="libxml2-parserInternals.html#htmlInitAutoClose"/>
    <keyword type="function" name="htmlIsAutoClosed ()" link="libxml2-HTMLparser.html#htmlIsAutoClosed"/>
    <keyword type="function" name="htmlIsBooleanAttr ()" link="libxml2-HTMLtree.html#htmlIsBooleanAttr"/>
    <keyword type="function" name="htmlIsScriptAttribute ()" link="libxml2-HTMLparser.html#htmlIsScriptAttribute"/>
    <keyword type="function" name="htmlNewDoc ()" link="libxml2-HTMLtree.html#htmlNewDoc"/>
    <keyword type="function" name="htmlNewDocNoDtD ()" link="libxml2-HTMLtree.html#htmlNewDocNoDtD"/>
    <keyword type="function" name="htmlNewParserCtxt ()" link="libxml2-HTMLparser.html#htmlNewParserCtxt"/>
    <keyword type="function" name="htmlNodeDump ()" link="libxml2-HTMLtree.html#htmlNodeDump"/>
    <keyword type="function" name="htmlNodeDumpFile ()" link="libxml2-HTMLtree.html#htmlNodeDumpFile"/>
    <keyword type="function" name="htmlNodeDumpFileFormat ()" link="libxml2-HTMLtree.html#htmlNodeDumpFileFormat"/>
    <keyword type="function" name="htmlNodeDumpFormatOutput ()" link="libxml2-HTMLtree.html#htmlNodeDumpFormatOutput"/>
    <keyword type="function" name="htmlNodeDumpOutput ()" link="libxml2-HTMLtree.html#htmlNodeDumpOutput"/>
    <keyword type="function" name="htmlNodeStatus ()" link="libxml2-HTMLparser.html#htmlNodeStatus"/>
    <keyword type="function" name="htmlParseCharRef ()" link="libxml2-HTMLparser.html#htmlParseCharRef"/>
    <keyword type="function" name="htmlParseChunk ()" link="libxml2-HTMLparser.html#htmlParseChunk"/>
    <keyword type="function" name="htmlParseDoc ()" link="libxml2-HTMLparser.html#htmlParseDoc"/>
    <keyword type="function" name="htmlParseDocument ()" link="libxml2-HTMLparser.html#htmlParseDocument"/>
    <keyword type="function" name="htmlParseElement ()" link="libxml2-HTMLparser.html#htmlParseElement"/>
    <keyword type="function" name="htmlParseEntityRef ()" link="libxml2-HTMLparser.html#htmlParseEntityRef"/>
    <keyword type="function" name="htmlParseFile ()" link="libxml2-HTMLparser.html#htmlParseFile"/>
    <keyword type="function" name="htmlReadDoc ()" link="libxml2-HTMLparser.html#htmlReadDoc"/>
    <keyword type="function" name="htmlReadFd ()" link="libxml2-HTMLparser.html#htmlReadFd"/>
    <keyword type="function" name="htmlReadFile ()" link="libxml2-HTMLparser.html#htmlReadFile"/>
    <keyword type="function" name="htmlReadIO ()" link="libxml2-HTMLparser.html#htmlReadIO"/>
    <keyword type="function" name="htmlReadMemory ()" link="libxml2-HTMLparser.html#htmlReadMemory"/>
    <keyword type="function" name="htmlSAXParseDoc ()" link="libxml2-HTMLparser.html#htmlSAXParseDoc"/>
    <keyword type="function" name="htmlSAXParseFile ()" link="libxml2-HTMLparser.html#htmlSAXParseFile"/>
    <keyword type="function" name="htmlSaveFile ()" link="libxml2-HTMLtree.html#htmlSaveFile"/>
    <keyword type="function" name="htmlSaveFileEnc ()" link="libxml2-HTMLtree.html#htmlSaveFileEnc"/>
    <keyword type="function" name="htmlSaveFileFormat ()" link="libxml2-HTMLtree.html#htmlSaveFileFormat"/>
    <keyword type="function" name="htmlSetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlSetMetaEncoding"/>
    <keyword type="function" name="htmlTagLookup ()" link="libxml2-HTMLparser.html#htmlTagLookup"/>
    <keyword type="function" name="ignorableWhitespace ()" link="libxml2-SAX.html#ignorableWhitespace"/>
    <keyword type="function" name="initGenericErrorDefaultFunc ()" link="libxml2-xmlerror.html#initGenericErrorDefaultFunc"/>
    <keyword type="function" name="inithtmlDefaultSAXHandler ()" link="libxml2-SAX.html#inithtmlDefaultSAXHandler"/>
    <keyword type="function" name="initxmlDefaultSAXHandler ()" link="libxml2-SAX.html#initxmlDefaultSAXHandler"/>
    <keyword type="function" name="inputPop ()" link="libxml2-parserInternals.html#inputPop"/>
    <keyword type="function" name="inputPush ()" link="libxml2-parserInternals.html#inputPush"/>
    <keyword type="function" name="internalSubset ()" link="libxml2-SAX.html#internalSubset"/>
    <keyword type="function" name="isStandalone ()" link="libxml2-SAX.html#isStandalone"/>
    <keyword type="function" name="isolat1ToUTF8 ()" link="libxml2-encoding.html#isolat1ToUTF8"/>
    <keyword type="function" name="namePop ()" link="libxml2-parserInternals.html#namePop"/>
    <keyword type="function" name="namePush ()" link="libxml2-parserInternals.html#namePush"/>
    <keyword type="function" name="namespaceDecl ()" link="libxml2-SAX.html#namespaceDecl"/>
    <keyword type="function" name="nodePop ()" link="libxml2-parserInternals.html#nodePop"/>
    <keyword type="function" name="nodePush ()" link="libxml2-parserInternals.html#nodePush"/>
    <keyword type="function" name="notationDecl ()" link="libxml2-SAX.html#notationDecl"/>
    <keyword type="function" name="processingInstruction ()" link="libxml2-SAX.html#processingInstruction"/>
    <keyword type="function" name="reference ()" link="libxml2-SAX.html#reference"/>
    <keyword type="function" name="resolveEntity ()" link="libxml2-SAX.html#resolveEntity"/>
    <keyword type="function" name="setDocumentLocator ()" link="libxml2-SAX.html#setDocumentLocator"/>
    <keyword type="function" name="setNamespace ()" link="libxml2-SAX.html#setNamespace"/>
    <keyword type="function" name="startDocument ()" link="libxml2-SAX.html#startDocument"/>
    <keyword type="function" name="startElement ()" link="libxml2-SAX.html#startElement"/>
    <keyword type="function" name="unparsedEntityDecl ()" link="libxml2-SAX.html#unparsedEntityDecl"/>
    <keyword type="function" name="valuePop ()" link="libxml2-xpathInternals.html#valuePop"/>
    <keyword type="function" name="valuePush ()" link="libxml2-xpathInternals.html#valuePush"/>
    <keyword type="function" name="xlinkGetDefaultDetect ()" link="libxml2-xlink.html#xlinkGetDefaultDetect"/>
    <keyword type="function" name="xlinkGetDefaultHandler ()" link="libxml2-xlink.html#xlinkGetDefaultHandler"/>
    <keyword type="function" name="xlinkIsLink ()" link="libxml2-xlink.html#xlinkIsLink"/>
    <keyword type="function" name="xlinkSetDefaultDetect ()" link="libxml2-xlink.html#xlinkSetDefaultDetect"/>
    <keyword type="function" name="xlinkSetDefaultHandler ()" link="libxml2-xlink.html#xlinkSetDefaultHandler"/>
    <keyword type="function" name="xmlACatalogAdd ()" link="libxml2-catalog.html#xmlACatalogAdd"/>
    <keyword type="function" name="xmlACatalogDump ()" link="libxml2-catalog.html#xmlACatalogDump"/>
    <keyword type="function" name="xmlACatalogRemove ()" link="libxml2-catalog.html#xmlACatalogRemove"/>
    <keyword type="function" name="xmlACatalogResolve ()" link="libxml2-catalog.html#xmlACatalogResolve"/>
    <keyword type="function" name="xmlACatalogResolvePublic ()" link="libxml2-catalog.html#xmlACatalogResolvePublic"/>
    <keyword type="function" name="xmlACatalogResolveSystem ()" link="libxml2-catalog.html#xmlACatalogResolveSystem"/>
    <keyword type="function" name="xmlACatalogResolveURI ()" link="libxml2-catalog.html#xmlACatalogResolveURI"/>
    <keyword type="function" name="xmlAddAttributeDecl ()" link="libxml2-valid.html#xmlAddAttributeDecl"/>
    <keyword type="function" name="xmlAddChild ()" link="libxml2-tree.html#xmlAddChild"/>
    <keyword type="function" name="xmlAddChildList ()" link="libxml2-tree.html#xmlAddChildList"/>
    <keyword type="function" name="xmlAddDocEntity ()" link="libxml2-entities.html#xmlAddDocEntity"/>
    <keyword type="function" name="xmlAddDtdEntity ()" link="libxml2-entities.html#xmlAddDtdEntity"/>
    <keyword type="function" name="xmlAddElementDecl ()" link="libxml2-valid.html#xmlAddElementDecl"/>
    <keyword type="function" name="xmlAddEncodingAlias ()" link="libxml2-encoding.html#xmlAddEncodingAlias"/>
    <keyword type="function" name="xmlAddID ()" link="libxml2-valid.html#xmlAddID"/>
    <keyword type="function" name="xmlAddNextSibling ()" link="libxml2-tree.html#xmlAddNextSibling"/>
    <keyword type="function" name="xmlAddNotationDecl ()" link="libxml2-valid.html#xmlAddNotationDecl"/>
    <keyword type="function" name="xmlAddPrevSibling ()" link="libxml2-tree.html#xmlAddPrevSibling"/>
    <keyword type="function" name="xmlAddRef ()" link="libxml2-valid.html#xmlAddRef"/>
    <keyword type="function" name="xmlAddSibling ()" link="libxml2-tree.html#xmlAddSibling"/>
    <keyword type="function" name="xmlAllocOutputBuffer ()" link="libxml2-xmlIO.html#xmlAllocOutputBuffer"/>
    <keyword type="function" name="xmlAllocParserInputBuffer ()" link="libxml2-xmlIO.html#xmlAllocParserInputBuffer"/>
    <keyword type="function" name="xmlAttrSerializeTxtContent ()" link="libxml2-tree.html#xmlAttrSerializeTxtContent"/>
    <keyword type="function" name="xmlAutomataCompile ()" link="libxml2-xmlautomata.html#xmlAutomataCompile"/>
    <keyword type="function" name="xmlAutomataGetInitState ()" link="libxml2-xmlautomata.html#xmlAutomataGetInitState"/>
    <keyword type="function" name="xmlAutomataIsDeterminist ()" link="libxml2-xmlautomata.html#xmlAutomataIsDeterminist"/>
    <keyword type="function" name="xmlAutomataNewAllTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewAllTrans"/>
    <keyword type="function" name="xmlAutomataNewCountTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountTrans"/>
    <keyword type="function" name="xmlAutomataNewCountTrans2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountTrans2"/>
    <keyword type="function" name="xmlAutomataNewCountedTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountedTrans"/>
    <keyword type="function" name="xmlAutomataNewCounter ()" link="libxml2-xmlautomata.html#xmlAutomataNewCounter"/>
    <keyword type="function" name="xmlAutomataNewCounterTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCounterTrans"/>
    <keyword type="function" name="xmlAutomataNewEpsilon ()" link="libxml2-xmlautomata.html#xmlAutomataNewEpsilon"/>
    <keyword type="function" name="xmlAutomataNewNegTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewNegTrans"/>
    <keyword type="function" name="xmlAutomataNewOnceTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewOnceTrans"/>
    <keyword type="function" name="xmlAutomataNewOnceTrans2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewOnceTrans2"/>
    <keyword type="function" name="xmlAutomataNewState ()" link="libxml2-xmlautomata.html#xmlAutomataNewState"/>
    <keyword type="function" name="xmlAutomataNewTransition ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition"/>
    <keyword type="function" name="xmlAutomataNewTransition2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition2"/>
    <keyword type="function" name="xmlAutomataSetFinalState ()" link="libxml2-xmlautomata.html#xmlAutomataSetFinalState"/>
    <keyword type="function" name="xmlBoolToText ()" link="libxml2-debugXML.html#xmlBoolToText"/>
    <keyword type="function" name="xmlBufContent ()" link="libxml2-tree.html#xmlBufContent"/>
    <keyword type="function" name="xmlBufEnd ()" link="libxml2-tree.html#xmlBufEnd"/>
    <keyword type="function" name="xmlBufGetNodeContent ()" link="libxml2-tree.html#xmlBufGetNodeContent"/>
    <keyword type="function" name="xmlBufNodeDump ()" link="libxml2-tree.html#xmlBufNodeDump"/>
    <keyword type="function" name="xmlBufShrink ()" link="libxml2-tree.html#xmlBufShrink"/>
    <keyword type="function" name="xmlBufUse ()" link="libxml2-tree.html#xmlBufUse"/>
    <keyword type="function" name="xmlBufferAdd ()" link="libxml2-tree.html#xmlBufferAdd"/>
    <keyword type="function" name="xmlBufferAddHead ()" link="libxml2-tree.html#xmlBufferAddHead"/>
    <keyword type="function" name="xmlBufferCCat ()" link="libxml2-tree.html#xmlBufferCCat"/>
    <keyword type="function" name="xmlBufferCat ()" link="libxml2-tree.html#xmlBufferCat"/>
    <keyword type="function" name="xmlBufferContent ()" link="libxml2-tree.html#xmlBufferContent"/>
    <keyword type="function" name="xmlBufferCreate ()" link="libxml2-tree.html#xmlBufferCreate"/>
    <keyword type="function" name="xmlBufferCreateSize ()" link="libxml2-tree.html#xmlBufferCreateSize"/>
    <keyword type="function" name="xmlBufferCreateStatic ()" link="libxml2-tree.html#xmlBufferCreateStatic"/>
    <keyword type="function" name="xmlBufferDetach ()" link="libxml2-tree.html#xmlBufferDetach"/>
    <keyword type="function" name="xmlBufferDump ()" link="libxml2-tree.html#xmlBufferDump"/>
    <keyword type="function" name="xmlBufferEmpty ()" link="libxml2-tree.html#xmlBufferEmpty"/>
    <keyword type="function" name="xmlBufferFree ()" link="libxml2-tree.html#xmlBufferFree"/>
    <keyword type="function" name="xmlBufferGrow ()" link="libxml2-tree.html#xmlBufferGrow"/>
    <keyword type="function" name="xmlBufferLength ()" link="libxml2-tree.html#xmlBufferLength"/>
    <keyword type="function" name="xmlBufferResize ()" link="libxml2-tree.html#xmlBufferResize"/>
    <keyword type="function" name="xmlBufferSetAllocationScheme ()" link="libxml2-tree.html#xmlBufferSetAllocationScheme"/>
    <keyword type="function" name="xmlBufferShrink ()" link="libxml2-tree.html#xmlBufferShrink"/>
    <keyword type="function" name="xmlBufferWriteCHAR ()" link="libxml2-tree.html#xmlBufferWriteCHAR"/>
    <keyword type="function" name="xmlBufferWriteChar ()" link="libxml2-tree.html#xmlBufferWriteChar"/>
    <keyword type="function" name="xmlBufferWriteQuotedString ()" link="libxml2-tree.html#xmlBufferWriteQuotedString"/>
    <keyword type="function" name="xmlBuildQName ()" link="libxml2-tree.html#xmlBuildQName"/>
    <keyword type="function" name="xmlBuildRelativeURI ()" link="libxml2-uri.html#xmlBuildRelativeURI"/>
    <keyword type="function" name="xmlBuildURI ()" link="libxml2-uri.html#xmlBuildURI"/>
    <keyword type="function" name="xmlByteConsumed ()" link="libxml2-parser.html#xmlByteConsumed"/>
    <keyword type="function" name="xmlC14NDocDumpMemory ()" link="libxml2-c14n.html#xmlC14NDocDumpMemory"/>
    <keyword type="function" name="xmlC14NDocSave ()" link="libxml2-c14n.html#xmlC14NDocSave"/>
    <keyword type="function" name="xmlC14NDocSaveTo ()" link="libxml2-c14n.html#xmlC14NDocSaveTo"/>
    <keyword type="function" name="xmlC14NExecute ()" link="libxml2-c14n.html#xmlC14NExecute"/>
    <keyword type="function" name="xmlCanonicPath ()" link="libxml2-uri.html#xmlCanonicPath"/>
    <keyword type="function" name="xmlCatalogAdd ()" link="libxml2-catalog.html#xmlCatalogAdd"/>
    <keyword type="function" name="xmlCatalogAddLocal ()" link="libxml2-catalog.html#xmlCatalogAddLocal"/>
    <keyword type="function" name="xmlCatalogCleanup ()" link="libxml2-catalog.html#xmlCatalogCleanup"/>
    <keyword type="function" name="xmlCatalogConvert ()" link="libxml2-catalog.html#xmlCatalogConvert"/>
    <keyword type="function" name="xmlCatalogDump ()" link="libxml2-catalog.html#xmlCatalogDump"/>
    <keyword type="function" name="xmlCatalogFreeLocal ()" link="libxml2-catalog.html#xmlCatalogFreeLocal"/>
    <keyword type="function" name="xmlCatalogGetDefaults ()" link="libxml2-catalog.html#xmlCatalogGetDefaults"/>
    <keyword type="function" name="xmlCatalogGetPublic ()" link="libxml2-catalog.html#xmlCatalogGetPublic"/>
    <keyword type="function" name="xmlCatalogGetSystem ()" link="libxml2-catalog.html#xmlCatalogGetSystem"/>
    <keyword type="function" name="xmlCatalogIsEmpty ()" link="libxml2-catalog.html#xmlCatalogIsEmpty"/>
    <keyword type="function" name="xmlCatalogLocalResolve ()" link="libxml2-catalog.html#xmlCatalogLocalResolve"/>
    <keyword type="function" name="xmlCatalogLocalResolveURI ()" link="libxml2-catalog.html#xmlCatalogLocalResolveURI"/>
    <keyword type="function" name="xmlCatalogRemove ()" link="libxml2-catalog.html#xmlCatalogRemove"/>
    <keyword type="function" name="xmlCatalogResolve ()" link="libxml2-catalog.html#xmlCatalogResolve"/>
    <keyword type="function" name="xmlCatalogResolvePublic ()" link="libxml2-catalog.html#xmlCatalogResolvePublic"/>
    <keyword type="function" name="xmlCatalogResolveSystem ()" link="libxml2-catalog.html#xmlCatalogResolveSystem"/>
    <keyword type="function" name="xmlCatalogResolveURI ()" link="libxml2-catalog.html#xmlCatalogResolveURI"/>
    <keyword type="function" name="xmlCatalogSetDebug ()" link="libxml2-catalog.html#xmlCatalogSetDebug"/>
    <keyword type="function" name="xmlCatalogSetDefaultPrefer ()" link="libxml2-catalog.html#xmlCatalogSetDefaultPrefer"/>
    <keyword type="function" name="xmlCatalogSetDefaults ()" link="libxml2-catalog.html#xmlCatalogSetDefaults"/>
    <keyword type="function" name="xmlCharEncCloseFunc ()" link="libxml2-encoding.html#xmlCharEncCloseFunc"/>
    <keyword type="function" name="xmlCharEncFirstLine ()" link="libxml2-encoding.html#xmlCharEncFirstLine"/>
    <keyword type="function" name="xmlCharEncInFunc ()" link="libxml2-encoding.html#xmlCharEncInFunc"/>
    <keyword type="function" name="xmlCharEncOutFunc ()" link="libxml2-encoding.html#xmlCharEncOutFunc"/>
    <keyword type="function" name="xmlCharInRange ()" link="libxml2-chvalid.html#xmlCharInRange"/>
    <keyword type="function" name="xmlCharStrdup ()" link="libxml2-xmlstring.html#xmlCharStrdup"/>
    <keyword type="function" name="xmlCharStrndup ()" link="libxml2-xmlstring.html#xmlCharStrndup"/>
    <keyword type="function" name="xmlCheckFilename ()" link="libxml2-xmlIO.html#xmlCheckFilename"/>
    <keyword type="function" name="xmlCheckHTTPInput ()" link="libxml2-xmlIO.html#xmlCheckHTTPInput"/>
    <keyword type="function" name="xmlCheckLanguageID ()" link="libxml2-parserInternals.html#xmlCheckLanguageID"/>
    <keyword type="function" name="xmlCheckUTF8 ()" link="libxml2-xmlstring.html#xmlCheckUTF8"/>
    <keyword type="function" name="xmlCheckVersion ()" link="libxml2-xmlversion.html#xmlCheckVersion"/>
    <keyword type="function" name="xmlChildElementCount ()" link="libxml2-tree.html#xmlChildElementCount"/>
    <keyword type="function" name="xmlCleanupCharEncodingHandlers ()" link="libxml2-encoding.html#xmlCleanupCharEncodingHandlers"/>
    <keyword type="function" name="xmlCleanupEncodingAliases ()" link="libxml2-encoding.html#xmlCleanupEncodingAliases"/>
    <keyword type="function" name="xmlCleanupGlobals ()" link="libxml2-globals.html#xmlCleanupGlobals"/>
    <keyword type="function" name="xmlCleanupInputCallbacks ()" link="libxml2-xmlIO.html#xmlCleanupInputCallbacks"/>
    <keyword type="function" name="xmlCleanupMemory ()" link="libxml2-xmlmemory.html#xmlCleanupMemory"/>
    <keyword type="function" name="xmlCleanupOutputCallbacks ()" link="libxml2-xmlIO.html#xmlCleanupOutputCallbacks"/>
    <keyword type="function" name="xmlCleanupParser ()" link="libxml2-parser.html#xmlCleanupParser"/>
    <keyword type="function" name="xmlCleanupPredefinedEntities ()" link="libxml2-entities.html#xmlCleanupPredefinedEntities"/>
    <keyword type="function" name="xmlCleanupThreads ()" link="libxml2-threads.html#xmlCleanupThreads"/>
    <keyword type="function" name="xmlClearNodeInfoSeq ()" link="libxml2-parser.html#xmlClearNodeInfoSeq"/>
    <keyword type="function" name="xmlClearParserCtxt ()" link="libxml2-parser.html#xmlClearParserCtxt"/>
    <keyword type="function" name="xmlConvertSGMLCatalog ()" link="libxml2-catalog.html#xmlConvertSGMLCatalog"/>
    <keyword type="function" name="xmlCopyAttributeTable ()" link="libxml2-valid.html#xmlCopyAttributeTable"/>
    <keyword type="function" name="xmlCopyChar ()" link="libxml2-parserInternals.html#xmlCopyChar"/>
    <keyword type="function" name="xmlCopyCharMultiByte ()" link="libxml2-parserInternals.html#xmlCopyCharMultiByte"/>
    <keyword type="function" name="xmlCopyDoc ()" link="libxml2-tree.html#xmlCopyDoc"/>
    <keyword type="function" name="xmlCopyDocElementContent ()" link="libxml2-valid.html#xmlCopyDocElementContent"/>
    <keyword type="function" name="xmlCopyDtd ()" link="libxml2-tree.html#xmlCopyDtd"/>
    <keyword type="function" name="xmlCopyElementContent ()" link="libxml2-valid.html#xmlCopyElementContent"/>
    <keyword type="function" name="xmlCopyElementTable ()" link="libxml2-valid.html#xmlCopyElementTable"/>
    <keyword type="function" name="xmlCopyEntitiesTable ()" link="libxml2-entities.html#xmlCopyEntitiesTable"/>
    <keyword type="function" name="xmlCopyEnumeration ()" link="libxml2-valid.html#xmlCopyEnumeration"/>
    <keyword type="function" name="xmlCopyError ()" link="libxml2-xmlerror.html#xmlCopyError"/>
    <keyword type="function" name="xmlCopyNamespace ()" link="libxml2-tree.html#xmlCopyNamespace"/>
    <keyword type="function" name="xmlCopyNamespaceList ()" link="libxml2-tree.html#xmlCopyNamespaceList"/>
    <keyword type="function" name="xmlCopyNode ()" link="libxml2-tree.html#xmlCopyNode"/>
    <keyword type="function" name="xmlCopyNodeList ()" link="libxml2-tree.html#xmlCopyNodeList"/>
    <keyword type="function" name="xmlCopyNotationTable ()" link="libxml2-valid.html#xmlCopyNotationTable"/>
    <keyword type="function" name="xmlCopyProp ()" link="libxml2-tree.html#xmlCopyProp"/>
    <keyword type="function" name="xmlCopyPropList ()" link="libxml2-tree.html#xmlCopyPropList"/>
    <keyword type="function" name="xmlCreateDocParserCtxt ()" link="libxml2-parser.html#xmlCreateDocParserCtxt"/>
    <keyword type="function" name="xmlCreateEntitiesTable ()" link="libxml2-entities.html#xmlCreateEntitiesTable"/>
    <keyword type="function" name="xmlCreateEntityParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateEntityParserCtxt"/>
    <keyword type="function" name="xmlCreateEnumeration ()" link="libxml2-valid.html#xmlCreateEnumeration"/>
    <keyword type="function" name="xmlCreateFileParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateFileParserCtxt"/>
    <keyword type="function" name="xmlCreateIOParserCtxt ()" link="libxml2-parser.html#xmlCreateIOParserCtxt"/>
    <keyword type="function" name="xmlCreateIntSubset ()" link="libxml2-tree.html#xmlCreateIntSubset"/>
    <keyword type="function" name="xmlCreateMemoryParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateMemoryParserCtxt"/>
    <keyword type="function" name="xmlCreatePushParserCtxt ()" link="libxml2-parser.html#xmlCreatePushParserCtxt"/>
    <keyword type="function" name="xmlCreateURI ()" link="libxml2-uri.html#xmlCreateURI"/>
    <keyword type="function" name="xmlCreateURLParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateURLParserCtxt"/>
    <keyword type="function" name="xmlCtxtGetLastError ()" link="libxml2-xmlerror.html#xmlCtxtGetLastError"/>
    <keyword type="function" name="xmlCtxtReadDoc ()" link="libxml2-parser.html#xmlCtxtReadDoc"/>
    <keyword type="function" name="xmlCtxtReadFd ()" link="libxml2-parser.html#xmlCtxtReadFd"/>
    <keyword type="function" name="xmlCtxtReadFile ()" link="libxml2-parser.html#xmlCtxtReadFile"/>
    <keyword type="function" name="xmlCtxtReadIO ()" link="libxml2-parser.html#xmlCtxtReadIO"/>
    <keyword type="function" name="xmlCtxtReadMemory ()" link="libxml2-parser.html#xmlCtxtReadMemory"/>
    <keyword type="function" name="xmlCtxtReset ()" link="libxml2-parser.html#xmlCtxtReset"/>
    <keyword type="function" name="xmlCtxtResetLastError ()" link="libxml2-xmlerror.html#xmlCtxtResetLastError"/>
    <keyword type="function" name="xmlCtxtResetPush ()" link="libxml2-parser.html#xmlCtxtResetPush"/>
    <keyword type="function" name="xmlCtxtUseOptions ()" link="libxml2-parser.html#xmlCtxtUseOptions"/>
    <keyword type="function" name="xmlCurrentChar ()" link="libxml2-parserInternals.html#xmlCurrentChar"/>
    <keyword type="function" name="xmlDOMWrapAdoptNode ()" link="libxml2-tree.html#xmlDOMWrapAdoptNode"/>
    <keyword type="function" name="xmlDOMWrapCloneNode ()" link="libxml2-tree.html#xmlDOMWrapCloneNode"/>
    <keyword type="function" name="xmlDOMWrapFreeCtxt ()" link="libxml2-tree.html#xmlDOMWrapFreeCtxt"/>
    <keyword type="function" name="xmlDOMWrapNewCtxt ()" link="libxml2-tree.html#xmlDOMWrapNewCtxt"/>
    <keyword type="function" name="xmlDOMWrapReconcileNamespaces ()" link="libxml2-tree.html#xmlDOMWrapReconcileNamespaces"/>
    <keyword type="function" name="xmlDOMWrapRemoveNode ()" link="libxml2-tree.html#xmlDOMWrapRemoveNode"/>
    <keyword type="function" name="xmlDebugCheckDocument ()" link="libxml2-debugXML.html#xmlDebugCheckDocument"/>
    <keyword type="function" name="xmlDebugDumpAttr ()" link="libxml2-debugXML.html#xmlDebugDumpAttr"/>
    <keyword type="function" name="xmlDebugDumpAttrList ()" link="libxml2-debugXML.html#xmlDebugDumpAttrList"/>
    <keyword type="function" name="xmlDebugDumpDTD ()" link="libxml2-debugXML.html#xmlDebugDumpDTD"/>
    <keyword type="function" name="xmlDebugDumpDocument ()" link="libxml2-debugXML.html#xmlDebugDumpDocument"/>
    <keyword type="function" name="xmlDebugDumpDocumentHead ()" link="libxml2-debugXML.html#xmlDebugDumpDocumentHead"/>
    <keyword type="function" name="xmlDebugDumpEntities ()" link="libxml2-debugXML.html#xmlDebugDumpEntities"/>
    <keyword type="function" name="xmlDebugDumpNode ()" link="libxml2-debugXML.html#xmlDebugDumpNode"/>
    <keyword type="function" name="xmlDebugDumpNodeList ()" link="libxml2-debugXML.html#xmlDebugDumpNodeList"/>
    <keyword type="function" name="xmlDebugDumpOneNode ()" link="libxml2-debugXML.html#xmlDebugDumpOneNode"/>
    <keyword type="function" name="xmlDebugDumpString ()" link="libxml2-debugXML.html#xmlDebugDumpString"/>
    <keyword type="function" name="xmlDecodeEntities ()" link="libxml2-parserInternals.html#xmlDecodeEntities"/>
    <keyword type="function" name="xmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#xmlDefaultSAXHandlerInit"/>
    <keyword type="function" name="xmlDelEncodingAlias ()" link="libxml2-encoding.html#xmlDelEncodingAlias"/>
    <keyword type="function" name="xmlDeregisterNodeDefault ()" link="libxml2-globals.html#xmlDeregisterNodeDefault"/>
    <keyword type="function" name="xmlDetectCharEncoding ()" link="libxml2-encoding.html#xmlDetectCharEncoding"/>
    <keyword type="function" name="xmlDictCleanup ()" link="libxml2-dict.html#xmlDictCleanup"/>
    <keyword type="function" name="xmlDictCreate ()" link="libxml2-dict.html#xmlDictCreate"/>
    <keyword type="function" name="xmlDictCreateSub ()" link="libxml2-dict.html#xmlDictCreateSub"/>
    <keyword type="function" name="xmlDictExists ()" link="libxml2-dict.html#xmlDictExists"/>
    <keyword type="function" name="xmlDictFree ()" link="libxml2-dict.html#xmlDictFree"/>
    <keyword type="function" name="xmlDictGetUsage ()" link="libxml2-dict.html#xmlDictGetUsage"/>
    <keyword type="function" name="xmlDictLookup ()" link="libxml2-dict.html#xmlDictLookup"/>
    <keyword type="function" name="xmlDictOwns ()" link="libxml2-dict.html#xmlDictOwns"/>
    <keyword type="function" name="xmlDictQLookup ()" link="libxml2-dict.html#xmlDictQLookup"/>
    <keyword type="function" name="xmlDictReference ()" link="libxml2-dict.html#xmlDictReference"/>
    <keyword type="function" name="xmlDictSetLimit ()" link="libxml2-dict.html#xmlDictSetLimit"/>
    <keyword type="function" name="xmlDictSize ()" link="libxml2-dict.html#xmlDictSize"/>
    <keyword type="function" name="xmlDllMain ()" link="libxml2-threads.html#xmlDllMain"/>
    <keyword type="function" name="xmlDocCopyNode ()" link="libxml2-tree.html#xmlDocCopyNode"/>
    <keyword type="function" name="xmlDocCopyNodeList ()" link="libxml2-tree.html#xmlDocCopyNodeList"/>
    <keyword type="function" name="xmlDocDump ()" link="libxml2-tree.html#xmlDocDump"/>
    <keyword type="function" name="xmlDocDumpFormatMemory ()" link="libxml2-tree.html#xmlDocDumpFormatMemory"/>
    <keyword type="function" name="xmlDocDumpFormatMemoryEnc ()" link="libxml2-tree.html#xmlDocDumpFormatMemoryEnc"/>
    <keyword type="function" name="xmlDocDumpMemory ()" link="libxml2-tree.html#xmlDocDumpMemory"/>
    <keyword type="function" name="xmlDocDumpMemoryEnc ()" link="libxml2-tree.html#xmlDocDumpMemoryEnc"/>
    <keyword type="function" name="xmlDocFormatDump ()" link="libxml2-tree.html#xmlDocFormatDump"/>
    <keyword type="function" name="xmlDocGetRootElement ()" link="libxml2-tree.html#xmlDocGetRootElement"/>
    <keyword type="function" name="xmlDocSetRootElement ()" link="libxml2-tree.html#xmlDocSetRootElement"/>
    <keyword type="function" name="xmlDumpAttributeDecl ()" link="libxml2-valid.html#xmlDumpAttributeDecl"/>
    <keyword type="function" name="xmlDumpAttributeTable ()" link="libxml2-valid.html#xmlDumpAttributeTable"/>
    <keyword type="function" name="xmlDumpElementDecl ()" link="libxml2-valid.html#xmlDumpElementDecl"/>
    <keyword type="function" name="xmlDumpElementTable ()" link="libxml2-valid.html#xmlDumpElementTable"/>
    <keyword type="function" name="xmlDumpEntitiesTable ()" link="libxml2-entities.html#xmlDumpEntitiesTable"/>
    <keyword type="function" name="xmlDumpEntityDecl ()" link="libxml2-entities.html#xmlDumpEntityDecl"/>
    <keyword type="function" name="xmlDumpNotationDecl ()" link="libxml2-valid.html#xmlDumpNotationDecl"/>
    <keyword type="function" name="xmlDumpNotationTable ()" link="libxml2-valid.html#xmlDumpNotationTable"/>
    <keyword type="function" name="xmlElemDump ()" link="libxml2-tree.html#xmlElemDump"/>
    <keyword type="function" name="xmlEncodeEntities ()" link="libxml2-entities.html#xmlEncodeEntities"/>
    <keyword type="function" name="xmlEncodeEntitiesReentrant ()" link="libxml2-entities.html#xmlEncodeEntitiesReentrant"/>
    <keyword type="function" name="xmlEncodeSpecialChars ()" link="libxml2-entities.html#xmlEncodeSpecialChars"/>
    <keyword type="function" name="xmlErrMemory ()" link="libxml2-parserInternals.html#xmlErrMemory"/>
    <keyword type="function" name="xmlExpCtxtNbCons ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbCons"/>
    <keyword type="function" name="xmlExpCtxtNbNodes ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbNodes"/>
    <keyword type="function" name="xmlExpDump ()" link="libxml2-xmlregexp.html#xmlExpDump"/>
    <keyword type="function" name="xmlExpExpDerive ()" link="libxml2-xmlregexp.html#xmlExpExpDerive"/>
    <keyword type="function" name="xmlExpFree ()" link="libxml2-xmlregexp.html#xmlExpFree"/>
    <keyword type="function" name="xmlExpFreeCtxt ()" link="libxml2-xmlregexp.html#xmlExpFreeCtxt"/>
    <keyword type="function" name="xmlExpGetLanguage ()" link="libxml2-xmlregexp.html#xmlExpGetLanguage"/>
    <keyword type="function" name="xmlExpGetStart ()" link="libxml2-xmlregexp.html#xmlExpGetStart"/>
    <keyword type="function" name="xmlExpIsNillable ()" link="libxml2-xmlregexp.html#xmlExpIsNillable"/>
    <keyword type="function" name="xmlExpMaxToken ()" link="libxml2-xmlregexp.html#xmlExpMaxToken"/>
    <keyword type="function" name="xmlExpNewAtom ()" link="libxml2-xmlregexp.html#xmlExpNewAtom"/>
    <keyword type="function" name="xmlExpNewCtxt ()" link="libxml2-xmlregexp.html#xmlExpNewCtxt"/>
    <keyword type="function" name="xmlExpNewOr ()" link="libxml2-xmlregexp.html#xmlExpNewOr"/>
    <keyword type="function" name="xmlExpNewRange ()" link="libxml2-xmlregexp.html#xmlExpNewRange"/>
    <keyword type="function" name="xmlExpNewSeq ()" link="libxml2-xmlregexp.html#xmlExpNewSeq"/>
    <keyword type="function" name="xmlExpParse ()" link="libxml2-xmlregexp.html#xmlExpParse"/>
    <keyword type="function" name="xmlExpRef ()" link="libxml2-xmlregexp.html#xmlExpRef"/>
    <keyword type="function" name="xmlExpStringDerive ()" link="libxml2-xmlregexp.html#xmlExpStringDerive"/>
    <keyword type="function" name="xmlExpSubsume ()" link="libxml2-xmlregexp.html#xmlExpSubsume"/>
    <keyword type="function" name="xmlFileClose ()" link="libxml2-xmlIO.html#xmlFileClose"/>
    <keyword type="function" name="xmlFileMatch ()" link="libxml2-xmlIO.html#xmlFileMatch"/>
    <keyword type="function" name="xmlFileOpen ()" link="libxml2-xmlIO.html#xmlFileOpen"/>
    <keyword type="function" name="xmlFileRead ()" link="libxml2-xmlIO.html#xmlFileRead"/>
    <keyword type="function" name="xmlFindCharEncodingHandler ()" link="libxml2-encoding.html#xmlFindCharEncodingHandler"/>
    <keyword type="function" name="xmlFirstElementChild ()" link="libxml2-tree.html#xmlFirstElementChild"/>
    <keyword type="function" name="xmlFreeAttributeTable ()" link="libxml2-valid.html#xmlFreeAttributeTable"/>
    <keyword type="function" name="xmlFreeAutomata ()" link="libxml2-xmlautomata.html#xmlFreeAutomata"/>
    <keyword type="function" name="xmlFreeCatalog ()" link="libxml2-catalog.html#xmlFreeCatalog"/>
    <keyword type="function" name="xmlFreeDoc ()" link="libxml2-tree.html#xmlFreeDoc"/>
    <keyword type="function" name="xmlFreeDocElementContent ()" link="libxml2-valid.html#xmlFreeDocElementContent"/>
    <keyword type="function" name="xmlFreeDtd ()" link="libxml2-tree.html#xmlFreeDtd"/>
    <keyword type="function" name="xmlFreeElementContent ()" link="libxml2-valid.html#xmlFreeElementContent"/>
    <keyword type="function" name="xmlFreeElementTable ()" link="libxml2-valid.html#xmlFreeElementTable"/>
    <keyword type="function" name="xmlFreeEntitiesTable ()" link="libxml2-entities.html#xmlFreeEntitiesTable"/>
    <keyword type="function" name="xmlFreeEnumeration ()" link="libxml2-valid.html#xmlFreeEnumeration"/>
    <keyword type="function" name="xmlFreeIDTable ()" link="libxml2-valid.html#xmlFreeIDTable"/>
    <keyword type="function" name="xmlFreeInputStream ()" link="libxml2-parserInternals.html#xmlFreeInputStream"/>
    <keyword type="function" name="xmlFreeMutex ()" link="libxml2-threads.html#xmlFreeMutex"/>
    <keyword type="function" name="xmlFreeNode ()" link="libxml2-tree.html#xmlFreeNode"/>
    <keyword type="function" name="xmlFreeNodeList ()" link="libxml2-tree.html#xmlFreeNodeList"/>
    <keyword type="function" name="xmlFreeNotationTable ()" link="libxml2-valid.html#xmlFreeNotationTable"/>
    <keyword type="function" name="xmlFreeNs ()" link="libxml2-tree.html#xmlFreeNs"/>
    <keyword type="function" name="xmlFreeNsList ()" link="libxml2-tree.html#xmlFreeNsList"/>
    <keyword type="function" name="xmlFreeParserCtxt ()" link="libxml2-parser.html#xmlFreeParserCtxt"/>
    <keyword type="function" name="xmlFreeParserInputBuffer ()" link="libxml2-xmlIO.html#xmlFreeParserInputBuffer"/>
    <keyword type="function" name="xmlFreePattern ()" link="libxml2-pattern.html#xmlFreePattern"/>
    <keyword type="function" name="xmlFreePatternList ()" link="libxml2-pattern.html#xmlFreePatternList"/>
    <keyword type="function" name="xmlFreeProp ()" link="libxml2-tree.html#xmlFreeProp"/>
    <keyword type="function" name="xmlFreePropList ()" link="libxml2-tree.html#xmlFreePropList"/>
    <keyword type="function" name="xmlFreeRMutex ()" link="libxml2-threads.html#xmlFreeRMutex"/>
    <keyword type="function" name="xmlFreeRefTable ()" link="libxml2-valid.html#xmlFreeRefTable"/>
    <keyword type="function" name="xmlFreeStreamCtxt ()" link="libxml2-pattern.html#xmlFreeStreamCtxt"/>
    <keyword type="function" name="xmlFreeTextReader ()" link="libxml2-xmlreader.html#xmlFreeTextReader"/>
    <keyword type="function" name="xmlFreeTextWriter ()" link="libxml2-xmlwriter.html#xmlFreeTextWriter"/>
    <keyword type="function" name="xmlFreeURI ()" link="libxml2-uri.html#xmlFreeURI"/>
    <keyword type="function" name="xmlFreeValidCtxt ()" link="libxml2-valid.html#xmlFreeValidCtxt"/>
    <keyword type="function" name="xmlGcMemGet ()" link="libxml2-xmlmemory.html#xmlGcMemGet"/>
    <keyword type="function" name="xmlGcMemSetup ()" link="libxml2-xmlmemory.html#xmlGcMemSetup"/>
    <keyword type="function" name="xmlGetBufferAllocationScheme ()" link="libxml2-tree.html#xmlGetBufferAllocationScheme"/>
    <keyword type="function" name="xmlGetCharEncodingHandler ()" link="libxml2-encoding.html#xmlGetCharEncodingHandler"/>
    <keyword type="function" name="xmlGetCharEncodingName ()" link="libxml2-encoding.html#xmlGetCharEncodingName"/>
    <keyword type="function" name="xmlGetCompressMode ()" link="libxml2-tree.html#xmlGetCompressMode"/>
    <keyword type="function" name="xmlGetDocCompressMode ()" link="libxml2-tree.html#xmlGetDocCompressMode"/>
    <keyword type="function" name="xmlGetDocEntity ()" link="libxml2-entities.html#xmlGetDocEntity"/>
    <keyword type="function" name="xmlGetDtdAttrDesc ()" link="libxml2-valid.html#xmlGetDtdAttrDesc"/>
    <keyword type="function" name="xmlGetDtdElementDesc ()" link="libxml2-valid.html#xmlGetDtdElementDesc"/>
    <keyword type="function" name="xmlGetDtdEntity ()" link="libxml2-entities.html#xmlGetDtdEntity"/>
    <keyword type="function" name="xmlGetDtdNotationDesc ()" link="libxml2-valid.html#xmlGetDtdNotationDesc"/>
    <keyword type="function" name="xmlGetDtdQAttrDesc ()" link="libxml2-valid.html#xmlGetDtdQAttrDesc"/>
    <keyword type="function" name="xmlGetDtdQElementDesc ()" link="libxml2-valid.html#xmlGetDtdQElementDesc"/>
    <keyword type="function" name="xmlGetEncodingAlias ()" link="libxml2-encoding.html#xmlGetEncodingAlias"/>
    <keyword type="function" name="xmlGetExternalEntityLoader ()" link="libxml2-parser.html#xmlGetExternalEntityLoader"/>
    <keyword type="function" name="xmlGetFeature ()" link="libxml2-parser.html#xmlGetFeature"/>
    <keyword type="function" name="xmlGetFeaturesList ()" link="libxml2-parser.html#xmlGetFeaturesList"/>
    <keyword type="function" name="xmlGetGlobalState ()" link="libxml2-threads.html#xmlGetGlobalState"/>
    <keyword type="function" name="xmlGetID ()" link="libxml2-valid.html#xmlGetID"/>
    <keyword type="function" name="xmlGetIntSubset ()" link="libxml2-tree.html#xmlGetIntSubset"/>
    <keyword type="function" name="xmlGetLastChild ()" link="libxml2-tree.html#xmlGetLastChild"/>
    <keyword type="function" name="xmlGetLastError ()" link="libxml2-xmlerror.html#xmlGetLastError"/>
    <keyword type="function" name="xmlGetLineNo ()" link="libxml2-tree.html#xmlGetLineNo"/>
    <keyword type="function" name="xmlGetNoNsProp ()" link="libxml2-tree.html#xmlGetNoNsProp"/>
    <keyword type="function" name="xmlGetNodePath ()" link="libxml2-tree.html#xmlGetNodePath"/>
    <keyword type="function" name="xmlGetNsList ()" link="libxml2-tree.html#xmlGetNsList"/>
    <keyword type="function" name="xmlGetNsProp ()" link="libxml2-tree.html#xmlGetNsProp"/>
    <keyword type="function" name="xmlGetParameterEntity ()" link="libxml2-entities.html#xmlGetParameterEntity"/>
    <keyword type="function" name="xmlGetPredefinedEntity ()" link="libxml2-entities.html#xmlGetPredefinedEntity"/>
    <keyword type="function" name="xmlGetProp ()" link="libxml2-tree.html#xmlGetProp"/>
    <keyword type="function" name="xmlGetRefs ()" link="libxml2-valid.html#xmlGetRefs"/>
    <keyword type="function" name="xmlGetThreadId ()" link="libxml2-threads.html#xmlGetThreadId"/>
    <keyword type="function" name="xmlGetUTF8Char ()" link="libxml2-xmlstring.html#xmlGetUTF8Char"/>
    <keyword type="function" name="xmlHandleEntity ()" link="libxml2-parserInternals.html#xmlHandleEntity"/>
    <keyword type="function" name="xmlHasFeature ()" link="libxml2-parser.html#xmlHasFeature"/>
    <keyword type="function" name="xmlHasNsProp ()" link="libxml2-tree.html#xmlHasNsProp"/>
    <keyword type="function" name="xmlHasProp ()" link="libxml2-tree.html#xmlHasProp"/>
    <keyword type="function" name="xmlHashAddEntry ()" link="libxml2-hash.html#xmlHashAddEntry"/>
    <keyword type="function" name="xmlHashAddEntry2 ()" link="libxml2-hash.html#xmlHashAddEntry2"/>
    <keyword type="function" name="xmlHashAddEntry3 ()" link="libxml2-hash.html#xmlHashAddEntry3"/>
    <keyword type="function" name="xmlHashCopy ()" link="libxml2-hash.html#xmlHashCopy"/>
    <keyword type="function" name="xmlHashCreate ()" link="libxml2-hash.html#xmlHashCreate"/>
    <keyword type="function" name="xmlHashCreateDict ()" link="libxml2-hash.html#xmlHashCreateDict"/>
    <keyword type="function" name="xmlHashDefaultDeallocator ()" link="libxml2-hash.html#xmlHashDefaultDeallocator"/>
    <keyword type="function" name="xmlHashFree ()" link="libxml2-hash.html#xmlHashFree"/>
    <keyword type="function" name="xmlHashLookup ()" link="libxml2-hash.html#xmlHashLookup"/>
    <keyword type="function" name="xmlHashLookup2 ()" link="libxml2-hash.html#xmlHashLookup2"/>
    <keyword type="function" name="xmlHashLookup3 ()" link="libxml2-hash.html#xmlHashLookup3"/>
    <keyword type="function" name="xmlHashQLookup ()" link="libxml2-hash.html#xmlHashQLookup"/>
    <keyword type="function" name="xmlHashQLookup2 ()" link="libxml2-hash.html#xmlHashQLookup2"/>
    <keyword type="function" name="xmlHashQLookup3 ()" link="libxml2-hash.html#xmlHashQLookup3"/>
    <keyword type="function" name="xmlHashRemoveEntry ()" link="libxml2-hash.html#xmlHashRemoveEntry"/>
    <keyword type="function" name="xmlHashRemoveEntry2 ()" link="libxml2-hash.html#xmlHashRemoveEntry2"/>
    <keyword type="function" name="xmlHashRemoveEntry3 ()" link="libxml2-hash.html#xmlHashRemoveEntry3"/>
    <keyword type="function" name="xmlHashScan ()" link="libxml2-hash.html#xmlHashScan"/>
    <keyword type="function" name="xmlHashScan3 ()" link="libxml2-hash.html#xmlHashScan3"/>
    <keyword type="function" name="xmlHashScanFull ()" link="libxml2-hash.html#xmlHashScanFull"/>
    <keyword type="function" name="xmlHashScanFull3 ()" link="libxml2-hash.html#xmlHashScanFull3"/>
    <keyword type="function" name="xmlHashSize ()" link="libxml2-hash.html#xmlHashSize"/>
    <keyword type="function" name="xmlHashUpdateEntry ()" link="libxml2-hash.html#xmlHashUpdateEntry"/>
    <keyword type="function" name="xmlHashUpdateEntry2 ()" link="libxml2-hash.html#xmlHashUpdateEntry2"/>
    <keyword type="function" name="xmlHashUpdateEntry3 ()" link="libxml2-hash.html#xmlHashUpdateEntry3"/>
    <keyword type="function" name="xmlIOFTPClose ()" link="libxml2-xmlIO.html#xmlIOFTPClose"/>
    <keyword type="function" name="xmlIOFTPMatch ()" link="libxml2-xmlIO.html#xmlIOFTPMatch"/>
    <keyword type="function" name="xmlIOFTPOpen ()" link="libxml2-xmlIO.html#xmlIOFTPOpen"/>
    <keyword type="function" name="xmlIOFTPRead ()" link="libxml2-xmlIO.html#xmlIOFTPRead"/>
    <keyword type="function" name="xmlIOHTTPClose ()" link="libxml2-xmlIO.html#xmlIOHTTPClose"/>
    <keyword type="function" name="xmlIOHTTPMatch ()" link="libxml2-xmlIO.html#xmlIOHTTPMatch"/>
    <keyword type="function" name="xmlIOHTTPOpen ()" link="libxml2-xmlIO.html#xmlIOHTTPOpen"/>
    <keyword type="function" name="xmlIOHTTPOpenW ()" link="libxml2-xmlIO.html#xmlIOHTTPOpenW"/>
    <keyword type="function" name="xmlIOHTTPRead ()" link="libxml2-xmlIO.html#xmlIOHTTPRead"/>
    <keyword type="function" name="xmlIOParseDTD ()" link="libxml2-parser.html#xmlIOParseDTD"/>
    <keyword type="function" name="xmlInitCharEncodingHandlers ()" link="libxml2-encoding.html#xmlInitCharEncodingHandlers"/>
    <keyword type="function" name="xmlInitGlobals ()" link="libxml2-globals.html#xmlInitGlobals"/>
    <keyword type="function" name="xmlInitMemory ()" link="libxml2-xmlmemory.html#xmlInitMemory"/>
    <keyword type="function" name="xmlInitNodeInfoSeq ()" link="libxml2-parser.html#xmlInitNodeInfoSeq"/>
    <keyword type="function" name="xmlInitParser ()" link="libxml2-parser.html#xmlInitParser"/>
    <keyword type="function" name="xmlInitParserCtxt ()" link="libxml2-parser.html#xmlInitParserCtxt"/>
    <keyword type="function" name="xmlInitThreads ()" link="libxml2-threads.html#xmlInitThreads"/>
    <keyword type="function" name="xmlInitializeCatalog ()" link="libxml2-catalog.html#xmlInitializeCatalog"/>
    <keyword type="function" name="xmlInitializeDict ()" link="libxml2-dict.html#xmlInitializeDict"/>
    <keyword type="function" name="xmlInitializeGlobalState ()" link="libxml2-globals.html#xmlInitializeGlobalState"/>
    <keyword type="function" name="xmlInitializePredefinedEntities ()" link="libxml2-entities.html#xmlInitializePredefinedEntities"/>
    <keyword type="function" name="xmlIsBaseChar ()" link="libxml2-chvalid.html#xmlIsBaseChar"/>
    <keyword type="function" name="xmlIsBlank ()" link="libxml2-chvalid.html#xmlIsBlank"/>
    <keyword type="function" name="xmlIsBlankNode ()" link="libxml2-tree.html#xmlIsBlankNode"/>
    <keyword type="function" name="xmlIsChar ()" link="libxml2-chvalid.html#xmlIsChar"/>
    <keyword type="function" name="xmlIsCombining ()" link="libxml2-chvalid.html#xmlIsCombining"/>
    <keyword type="function" name="xmlIsDigit ()" link="libxml2-chvalid.html#xmlIsDigit"/>
    <keyword type="function" name="xmlIsExtender ()" link="libxml2-chvalid.html#xmlIsExtender"/>
    <keyword type="function" name="xmlIsID ()" link="libxml2-valid.html#xmlIsID"/>
    <keyword type="function" name="xmlIsIdeographic ()" link="libxml2-chvalid.html#xmlIsIdeographic"/>
    <keyword type="function" name="xmlIsLetter ()" link="libxml2-parserInternals.html#xmlIsLetter"/>
    <keyword type="function" name="xmlIsMainThread ()" link="libxml2-threads.html#xmlIsMainThread"/>
    <keyword type="function" name="xmlIsMixedElement ()" link="libxml2-valid.html#xmlIsMixedElement"/>
    <keyword type="function" name="xmlIsPubidChar ()" link="libxml2-chvalid.html#xmlIsPubidChar"/>
    <keyword type="function" name="xmlIsRef ()" link="libxml2-valid.html#xmlIsRef"/>
    <keyword type="function" name="xmlIsXHTML ()" link="libxml2-tree.html#xmlIsXHTML"/>
    <keyword type="function" name="xmlKeepBlanksDefault ()" link="libxml2-parser.html#xmlKeepBlanksDefault"/>
    <keyword type="function" name="xmlLastElementChild ()" link="libxml2-tree.html#xmlLastElementChild"/>
    <keyword type="function" name="xmlLineNumbersDefault ()" link="libxml2-parser.html#xmlLineNumbersDefault"/>
    <keyword type="function" name="xmlLinkGetData ()" link="libxml2-list.html#xmlLinkGetData"/>
    <keyword type="function" name="xmlListAppend ()" link="libxml2-list.html#xmlListAppend"/>
    <keyword type="function" name="xmlListClear ()" link="libxml2-list.html#xmlListClear"/>
    <keyword type="function" name="xmlListCopy ()" link="libxml2-list.html#xmlListCopy"/>
    <keyword type="function" name="xmlListCreate ()" link="libxml2-list.html#xmlListCreate"/>
    <keyword type="function" name="xmlListDelete ()" link="libxml2-list.html#xmlListDelete"/>
    <keyword type="function" name="xmlListDup ()" link="libxml2-list.html#xmlListDup"/>
    <keyword type="function" name="xmlListEmpty ()" link="libxml2-list.html#xmlListEmpty"/>
    <keyword type="function" name="xmlListEnd ()" link="libxml2-list.html#xmlListEnd"/>
    <keyword type="function" name="xmlListFront ()" link="libxml2-list.html#xmlListFront"/>
    <keyword type="function" name="xmlListInsert ()" link="libxml2-list.html#xmlListInsert"/>
    <keyword type="function" name="xmlListMerge ()" link="libxml2-list.html#xmlListMerge"/>
    <keyword type="function" name="xmlListPopBack ()" link="libxml2-list.html#xmlListPopBack"/>
    <keyword type="function" name="xmlListPopFront ()" link="libxml2-list.html#xmlListPopFront"/>
    <keyword type="function" name="xmlListPushBack ()" link="libxml2-list.html#xmlListPushBack"/>
    <keyword type="function" name="xmlListPushFront ()" link="libxml2-list.html#xmlListPushFront"/>
    <keyword type="function" name="xmlListRemoveAll ()" link="libxml2-list.html#xmlListRemoveAll"/>
    <keyword type="function" name="xmlListRemoveFirst ()" link="libxml2-list.html#xmlListRemoveFirst"/>
    <keyword type="function" name="xmlListRemoveLast ()" link="libxml2-list.html#xmlListRemoveLast"/>
    <keyword type="function" name="xmlListReverse ()" link="libxml2-list.html#xmlListReverse"/>
    <keyword type="function" name="xmlListReverseSearch ()" link="libxml2-list.html#xmlListReverseSearch"/>
    <keyword type="function" name="xmlListReverseWalk ()" link="libxml2-list.html#xmlListReverseWalk"/>
    <keyword type="function" name="xmlListSearch ()" link="libxml2-list.html#xmlListSearch"/>
    <keyword type="function" name="xmlListSize ()" link="libxml2-list.html#xmlListSize"/>
    <keyword type="function" name="xmlListSort ()" link="libxml2-list.html#xmlListSort"/>
    <keyword type="function" name="xmlListWalk ()" link="libxml2-list.html#xmlListWalk"/>
    <keyword type="function" name="xmlLoadACatalog ()" link="libxml2-catalog.html#xmlLoadACatalog"/>
    <keyword type="function" name="xmlLoadCatalog ()" link="libxml2-catalog.html#xmlLoadCatalog"/>
    <keyword type="function" name="xmlLoadCatalogs ()" link="libxml2-catalog.html#xmlLoadCatalogs"/>
    <keyword type="function" name="xmlLoadExternalEntity ()" link="libxml2-parser.html#xmlLoadExternalEntity"/>
    <keyword type="function" name="xmlLoadSGMLSuperCatalog ()" link="libxml2-catalog.html#xmlLoadSGMLSuperCatalog"/>
    <keyword type="function" name="xmlLockLibrary ()" link="libxml2-threads.html#xmlLockLibrary"/>
    <keyword type="function" name="xmlLsCountNode ()" link="libxml2-debugXML.html#xmlLsCountNode"/>
    <keyword type="function" name="xmlLsOneNode ()" link="libxml2-debugXML.html#xmlLsOneNode"/>
    <keyword type="function" name="xmlMallocAtomicLoc ()" link="libxml2-xmlmemory.html#xmlMallocAtomicLoc"/>
    <keyword type="function" name="xmlMallocLoc ()" link="libxml2-xmlmemory.html#xmlMallocLoc"/>
    <keyword type="function" name="xmlMemBlocks ()" link="libxml2-xmlmemory.html#xmlMemBlocks"/>
    <keyword type="function" name="xmlMemDisplay ()" link="libxml2-xmlmemory.html#xmlMemDisplay"/>
    <keyword type="function" name="xmlMemDisplayLast ()" link="libxml2-xmlmemory.html#xmlMemDisplayLast"/>
    <keyword type="function" name="xmlMemFree ()" link="libxml2-xmlmemory.html#xmlMemFree"/>
    <keyword type="function" name="xmlMemGet ()" link="libxml2-xmlmemory.html#xmlMemGet"/>
    <keyword type="function" name="xmlMemMalloc ()" link="libxml2-xmlmemory.html#xmlMemMalloc"/>
    <keyword type="function" name="xmlMemRealloc ()" link="libxml2-xmlmemory.html#xmlMemRealloc"/>
    <keyword type="function" name="xmlMemSetup ()" link="libxml2-xmlmemory.html#xmlMemSetup"/>
    <keyword type="function" name="xmlMemShow ()" link="libxml2-xmlmemory.html#xmlMemShow"/>
    <keyword type="function" name="xmlMemStrdupLoc ()" link="libxml2-xmlmemory.html#xmlMemStrdupLoc"/>
    <keyword type="function" name="xmlMemUsed ()" link="libxml2-xmlmemory.html#xmlMemUsed"/>
    <keyword type="function" name="xmlMemoryDump ()" link="libxml2-xmlmemory.html#xmlMemoryDump"/>
    <keyword type="function" name="xmlMemoryStrdup ()" link="libxml2-xmlmemory.html#xmlMemoryStrdup"/>
    <keyword type="function" name="xmlModuleClose ()" link="libxml2-xmlmodule.html#xmlModuleClose"/>
    <keyword type="function" name="xmlModuleFree ()" link="libxml2-xmlmodule.html#xmlModuleFree"/>
    <keyword type="function" name="xmlModuleOpen ()" link="libxml2-xmlmodule.html#xmlModuleOpen"/>
    <keyword type="function" name="xmlModuleSymbol ()" link="libxml2-xmlmodule.html#xmlModuleSymbol"/>
    <keyword type="function" name="xmlMutexLock ()" link="libxml2-threads.html#xmlMutexLock"/>
    <keyword type="function" name="xmlMutexUnlock ()" link="libxml2-threads.html#xmlMutexUnlock"/>
    <keyword type="function" name="xmlNamespaceParseNCName ()" link="libxml2-parserInternals.html#xmlNamespaceParseNCName"/>
    <keyword type="function" name="xmlNamespaceParseNSDef ()" link="libxml2-parserInternals.html#xmlNamespaceParseNSDef"/>
    <keyword type="function" name="xmlNamespaceParseQName ()" link="libxml2-parserInternals.html#xmlNamespaceParseQName"/>
    <keyword type="function" name="xmlNanoFTPCheckResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPCheckResponse"/>
    <keyword type="function" name="xmlNanoFTPCleanup ()" link="libxml2-nanoftp.html#xmlNanoFTPCleanup"/>
    <keyword type="function" name="xmlNanoFTPClose ()" link="libxml2-nanoftp.html#xmlNanoFTPClose"/>
    <keyword type="function" name="xmlNanoFTPCloseConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPCloseConnection"/>
    <keyword type="function" name="xmlNanoFTPConnect ()" link="libxml2-nanoftp.html#xmlNanoFTPConnect"/>
    <keyword type="function" name="xmlNanoFTPConnectTo ()" link="libxml2-nanoftp.html#xmlNanoFTPConnectTo"/>
    <keyword type="function" name="xmlNanoFTPCwd ()" link="libxml2-nanoftp.html#xmlNanoFTPCwd"/>
    <keyword type="function" name="xmlNanoFTPDele ()" link="libxml2-nanoftp.html#xmlNanoFTPDele"/>
    <keyword type="function" name="xmlNanoFTPFreeCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPFreeCtxt"/>
    <keyword type="function" name="xmlNanoFTPGet ()" link="libxml2-nanoftp.html#xmlNanoFTPGet"/>
    <keyword type="function" name="xmlNanoFTPGetConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPGetConnection"/>
    <keyword type="function" name="xmlNanoFTPGetResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPGetResponse"/>
    <keyword type="function" name="xmlNanoFTPGetSocket ()" link="libxml2-nanoftp.html#xmlNanoFTPGetSocket"/>
    <keyword type="function" name="xmlNanoFTPInit ()" link="libxml2-nanoftp.html#xmlNanoFTPInit"/>
    <keyword type="function" name="xmlNanoFTPList ()" link="libxml2-nanoftp.html#xmlNanoFTPList"/>
    <keyword type="function" name="xmlNanoFTPNewCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPNewCtxt"/>
    <keyword type="function" name="xmlNanoFTPOpen ()" link="libxml2-nanoftp.html#xmlNanoFTPOpen"/>
    <keyword type="function" name="xmlNanoFTPProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPProxy"/>
    <keyword type="function" name="xmlNanoFTPQuit ()" link="libxml2-nanoftp.html#xmlNanoFTPQuit"/>
    <keyword type="function" name="xmlNanoFTPRead ()" link="libxml2-nanoftp.html#xmlNanoFTPRead"/>
    <keyword type="function" name="xmlNanoFTPScanProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPScanProxy"/>
    <keyword type="function" name="xmlNanoFTPUpdateURL ()" link="libxml2-nanoftp.html#xmlNanoFTPUpdateURL"/>
    <keyword type="function" name="xmlNanoHTTPAuthHeader ()" link="libxml2-nanohttp.html#xmlNanoHTTPAuthHeader"/>
    <keyword type="function" name="xmlNanoHTTPCleanup ()" link="libxml2-nanohttp.html#xmlNanoHTTPCleanup"/>
    <keyword type="function" name="xmlNanoHTTPClose ()" link="libxml2-nanohttp.html#xmlNanoHTTPClose"/>
    <keyword type="function" name="xmlNanoHTTPContentLength ()" link="libxml2-nanohttp.html#xmlNanoHTTPContentLength"/>
    <keyword type="function" name="xmlNanoHTTPEncoding ()" link="libxml2-nanohttp.html#xmlNanoHTTPEncoding"/>
    <keyword type="function" name="xmlNanoHTTPFetch ()" link="libxml2-nanohttp.html#xmlNanoHTTPFetch"/>
    <keyword type="function" name="xmlNanoHTTPInit ()" link="libxml2-nanohttp.html#xmlNanoHTTPInit"/>
    <keyword type="function" name="xmlNanoHTTPMethod ()" link="libxml2-nanohttp.html#xmlNanoHTTPMethod"/>
    <keyword type="function" name="xmlNanoHTTPMethodRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPMethodRedir"/>
    <keyword type="function" name="xmlNanoHTTPMimeType ()" link="libxml2-nanohttp.html#xmlNanoHTTPMimeType"/>
    <keyword type="function" name="xmlNanoHTTPOpen ()" link="libxml2-nanohttp.html#xmlNanoHTTPOpen"/>
    <keyword type="function" name="xmlNanoHTTPOpenRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPOpenRedir"/>
    <keyword type="function" name="xmlNanoHTTPRead ()" link="libxml2-nanohttp.html#xmlNanoHTTPRead"/>
    <keyword type="function" name="xmlNanoHTTPRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPRedir"/>
    <keyword type="function" name="xmlNanoHTTPReturnCode ()" link="libxml2-nanohttp.html#xmlNanoHTTPReturnCode"/>
    <keyword type="function" name="xmlNanoHTTPSave ()" link="libxml2-nanohttp.html#xmlNanoHTTPSave"/>
    <keyword type="function" name="xmlNanoHTTPScanProxy ()" link="libxml2-nanohttp.html#xmlNanoHTTPScanProxy"/>
    <keyword type="function" name="xmlNewAutomata ()" link="libxml2-xmlautomata.html#xmlNewAutomata"/>
    <keyword type="function" name="xmlNewCDataBlock ()" link="libxml2-tree.html#xmlNewCDataBlock"/>
    <keyword type="function" name="xmlNewCatalog ()" link="libxml2-catalog.html#xmlNewCatalog"/>
    <keyword type="function" name="xmlNewCharEncodingHandler ()" link="libxml2-encoding.html#xmlNewCharEncodingHandler"/>
    <keyword type="function" name="xmlNewCharRef ()" link="libxml2-tree.html#xmlNewCharRef"/>
    <keyword type="function" name="xmlNewChild ()" link="libxml2-tree.html#xmlNewChild"/>
    <keyword type="function" name="xmlNewComment ()" link="libxml2-tree.html#xmlNewComment"/>
    <keyword type="function" name="xmlNewDoc ()" link="libxml2-tree.html#xmlNewDoc"/>
    <keyword type="function" name="xmlNewDocComment ()" link="libxml2-tree.html#xmlNewDocComment"/>
    <keyword type="function" name="xmlNewDocElementContent ()" link="libxml2-valid.html#xmlNewDocElementContent"/>
    <keyword type="function" name="xmlNewDocFragment ()" link="libxml2-tree.html#xmlNewDocFragment"/>
    <keyword type="function" name="xmlNewDocNode ()" link="libxml2-tree.html#xmlNewDocNode"/>
    <keyword type="function" name="xmlNewDocNodeEatName ()" link="libxml2-tree.html#xmlNewDocNodeEatName"/>
    <keyword type="function" name="xmlNewDocPI ()" link="libxml2-tree.html#xmlNewDocPI"/>
    <keyword type="function" name="xmlNewDocProp ()" link="libxml2-tree.html#xmlNewDocProp"/>
    <keyword type="function" name="xmlNewDocRawNode ()" link="libxml2-tree.html#xmlNewDocRawNode"/>
    <keyword type="function" name="xmlNewDocText ()" link="libxml2-tree.html#xmlNewDocText"/>
    <keyword type="function" name="xmlNewDocTextLen ()" link="libxml2-tree.html#xmlNewDocTextLen"/>
    <keyword type="function" name="xmlNewDtd ()" link="libxml2-tree.html#xmlNewDtd"/>
    <keyword type="function" name="xmlNewElementContent ()" link="libxml2-valid.html#xmlNewElementContent"/>
    <keyword type="function" name="xmlNewEntity ()" link="libxml2-entities.html#xmlNewEntity"/>
    <keyword type="function" name="xmlNewEntityInputStream ()" link="libxml2-parserInternals.html#xmlNewEntityInputStream"/>
    <keyword type="function" name="xmlNewGlobalNs ()" link="libxml2-tree.html#xmlNewGlobalNs"/>
    <keyword type="function" name="xmlNewIOInputStream ()" link="libxml2-parser.html#xmlNewIOInputStream"/>
    <keyword type="function" name="xmlNewInputFromFile ()" link="libxml2-parserInternals.html#xmlNewInputFromFile"/>
    <keyword type="function" name="xmlNewInputStream ()" link="libxml2-parserInternals.html#xmlNewInputStream"/>
    <keyword type="function" name="xmlNewMutex ()" link="libxml2-threads.html#xmlNewMutex"/>
    <keyword type="function" name="xmlNewNode ()" link="libxml2-tree.html#xmlNewNode"/>
    <keyword type="function" name="xmlNewNodeEatName ()" link="libxml2-tree.html#xmlNewNodeEatName"/>
    <keyword type="function" name="xmlNewNs ()" link="libxml2-tree.html#xmlNewNs"/>
    <keyword type="function" name="xmlNewNsProp ()" link="libxml2-tree.html#xmlNewNsProp"/>
    <keyword type="function" name="xmlNewNsPropEatName ()" link="libxml2-tree.html#xmlNewNsPropEatName"/>
    <keyword type="function" name="xmlNewPI ()" link="libxml2-tree.html#xmlNewPI"/>
    <keyword type="function" name="xmlNewParserCtxt ()" link="libxml2-parser.html#xmlNewParserCtxt"/>
    <keyword type="function" name="xmlNewProp ()" link="libxml2-tree.html#xmlNewProp"/>
    <keyword type="function" name="xmlNewRMutex ()" link="libxml2-threads.html#xmlNewRMutex"/>
    <keyword type="function" name="xmlNewReference ()" link="libxml2-tree.html#xmlNewReference"/>
    <keyword type="function" name="xmlNewStringInputStream ()" link="libxml2-parserInternals.html#xmlNewStringInputStream"/>
    <keyword type="function" name="xmlNewText ()" link="libxml2-tree.html#xmlNewText"/>
    <keyword type="function" name="xmlNewTextChild ()" link="libxml2-tree.html#xmlNewTextChild"/>
    <keyword type="function" name="xmlNewTextLen ()" link="libxml2-tree.html#xmlNewTextLen"/>
    <keyword type="function" name="xmlNewTextReader ()" link="libxml2-xmlreader.html#xmlNewTextReader"/>
    <keyword type="function" name="xmlNewTextReaderFilename ()" link="libxml2-xmlreader.html#xmlNewTextReaderFilename"/>
    <keyword type="function" name="xmlNewTextWriter ()" link="libxml2-xmlwriter.html#xmlNewTextWriter"/>
    <keyword type="function" name="xmlNewTextWriterDoc ()" link="libxml2-xmlwriter.html#xmlNewTextWriterDoc"/>
    <keyword type="function" name="xmlNewTextWriterFilename ()" link="libxml2-xmlwriter.html#xmlNewTextWriterFilename"/>
    <keyword type="function" name="xmlNewTextWriterMemory ()" link="libxml2-xmlwriter.html#xmlNewTextWriterMemory"/>
    <keyword type="function" name="xmlNewTextWriterPushParser ()" link="libxml2-xmlwriter.html#xmlNewTextWriterPushParser"/>
    <keyword type="function" name="xmlNewTextWriterTree ()" link="libxml2-xmlwriter.html#xmlNewTextWriterTree"/>
    <keyword type="function" name="xmlNewValidCtxt ()" link="libxml2-valid.html#xmlNewValidCtxt"/>
    <keyword type="function" name="xmlNextChar ()" link="libxml2-parserInternals.html#xmlNextChar"/>
    <keyword type="function" name="xmlNextElementSibling ()" link="libxml2-tree.html#xmlNextElementSibling"/>
    <keyword type="function" name="xmlNoNetExternalEntityLoader ()" link="libxml2-xmlIO.html#xmlNoNetExternalEntityLoader"/>
    <keyword type="function" name="xmlNodeAddContent ()" link="libxml2-tree.html#xmlNodeAddContent"/>
    <keyword type="function" name="xmlNodeAddContentLen ()" link="libxml2-tree.html#xmlNodeAddContentLen"/>
    <keyword type="function" name="xmlNodeBufGetContent ()" link="libxml2-tree.html#xmlNodeBufGetContent"/>
    <keyword type="function" name="xmlNodeDump ()" link="libxml2-tree.html#xmlNodeDump"/>
    <keyword type="function" name="xmlNodeDumpOutput ()" link="libxml2-tree.html#xmlNodeDumpOutput"/>
    <keyword type="function" name="xmlNodeGetBase ()" link="libxml2-tree.html#xmlNodeGetBase"/>
    <keyword type="function" name="xmlNodeGetContent ()" link="libxml2-tree.html#xmlNodeGetContent"/>
    <keyword type="function" name="xmlNodeGetLang ()" link="libxml2-tree.html#xmlNodeGetLang"/>
    <keyword type="function" name="xmlNodeGetSpacePreserve ()" link="libxml2-tree.html#xmlNodeGetSpacePreserve"/>
    <keyword type="function" name="xmlNodeIsText ()" link="libxml2-tree.html#xmlNodeIsText"/>
    <keyword type="function" name="xmlNodeListGetRawString ()" link="libxml2-tree.html#xmlNodeListGetRawString"/>
    <keyword type="function" name="xmlNodeListGetString ()" link="libxml2-tree.html#xmlNodeListGetString"/>
    <keyword type="function" name="xmlNodeSetBase ()" link="libxml2-tree.html#xmlNodeSetBase"/>
    <keyword type="function" name="xmlNodeSetContent ()" link="libxml2-tree.html#xmlNodeSetContent"/>
    <keyword type="function" name="xmlNodeSetContentLen ()" link="libxml2-tree.html#xmlNodeSetContentLen"/>
    <keyword type="function" name="xmlNodeSetLang ()" link="libxml2-tree.html#xmlNodeSetLang"/>
    <keyword type="function" name="xmlNodeSetName ()" link="libxml2-tree.html#xmlNodeSetName"/>
    <keyword type="function" name="xmlNodeSetSpacePreserve ()" link="libxml2-tree.html#xmlNodeSetSpacePreserve"/>
    <keyword type="function" name="xmlNormalizeURIPath ()" link="libxml2-uri.html#xmlNormalizeURIPath"/>
    <keyword type="function" name="xmlNormalizeWindowsPath ()" link="libxml2-xmlIO.html#xmlNormalizeWindowsPath"/>
    <keyword type="function" name="xmlOutputBufferClose ()" link="libxml2-xmlIO.html#xmlOutputBufferClose"/>
    <keyword type="function" name="xmlOutputBufferCreateBuffer ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateBuffer"/>
    <keyword type="function" name="xmlOutputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFd"/>
    <keyword type="function" name="xmlOutputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFile"/>
    <keyword type="function" name="xmlOutputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFilename"/>
    <keyword type="function" name="xmlOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlOutputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlOutputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateIO"/>
    <keyword type="function" name="xmlOutputBufferFlush ()" link="libxml2-xmlIO.html#xmlOutputBufferFlush"/>
    <keyword type="function" name="xmlOutputBufferGetContent ()" link="libxml2-xmlIO.html#xmlOutputBufferGetContent"/>
    <keyword type="function" name="xmlOutputBufferGetSize ()" link="libxml2-xmlIO.html#xmlOutputBufferGetSize"/>
    <keyword type="function" name="xmlOutputBufferWrite ()" link="libxml2-xmlIO.html#xmlOutputBufferWrite"/>
    <keyword type="function" name="xmlOutputBufferWriteEscape ()" link="libxml2-xmlIO.html#xmlOutputBufferWriteEscape"/>
    <keyword type="function" name="xmlOutputBufferWriteString ()" link="libxml2-xmlIO.html#xmlOutputBufferWriteString"/>
    <keyword type="function" name="xmlParseAttValue ()" link="libxml2-parserInternals.html#xmlParseAttValue"/>
    <keyword type="function" name="xmlParseAttribute ()" link="libxml2-parserInternals.html#xmlParseAttribute"/>
    <keyword type="function" name="xmlParseAttributeListDecl ()" link="libxml2-parserInternals.html#xmlParseAttributeListDecl"/>
    <keyword type="function" name="xmlParseAttributeType ()" link="libxml2-parserInternals.html#xmlParseAttributeType"/>
    <keyword type="function" name="xmlParseBalancedChunkMemory ()" link="libxml2-parser.html#xmlParseBalancedChunkMemory"/>
    <keyword type="function" name="xmlParseBalancedChunkMemoryRecover ()" link="libxml2-parser.html#xmlParseBalancedChunkMemoryRecover"/>
    <keyword type="function" name="xmlParseCDSect ()" link="libxml2-parserInternals.html#xmlParseCDSect"/>
    <keyword type="function" name="xmlParseCatalogFile ()" link="libxml2-catalog.html#xmlParseCatalogFile"/>
    <keyword type="function" name="xmlParseCharData ()" link="libxml2-parserInternals.html#xmlParseCharData"/>
    <keyword type="function" name="xmlParseCharEncoding ()" link="libxml2-encoding.html#xmlParseCharEncoding"/>
    <keyword type="function" name="xmlParseCharRef ()" link="libxml2-parserInternals.html#xmlParseCharRef"/>
    <keyword type="function" name="xmlParseChunk ()" link="libxml2-parser.html#xmlParseChunk"/>
    <keyword type="function" name="xmlParseComment ()" link="libxml2-parserInternals.html#xmlParseComment"/>
    <keyword type="function" name="xmlParseContent ()" link="libxml2-parserInternals.html#xmlParseContent"/>
    <keyword type="function" name="xmlParseCtxtExternalEntity ()" link="libxml2-parser.html#xmlParseCtxtExternalEntity"/>
    <keyword type="function" name="xmlParseDTD ()" link="libxml2-parser.html#xmlParseDTD"/>
    <keyword type="function" name="xmlParseDefaultDecl ()" link="libxml2-parserInternals.html#xmlParseDefaultDecl"/>
    <keyword type="function" name="xmlParseDoc ()" link="libxml2-parser.html#xmlParseDoc"/>
    <keyword type="function" name="xmlParseDocTypeDecl ()" link="libxml2-parserInternals.html#xmlParseDocTypeDecl"/>
    <keyword type="function" name="xmlParseDocument ()" link="libxml2-parser.html#xmlParseDocument"/>
    <keyword type="function" name="xmlParseElement ()" link="libxml2-parserInternals.html#xmlParseElement"/>
    <keyword type="function" name="xmlParseElementChildrenContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementChildrenContentDecl"/>
    <keyword type="function" name="xmlParseElementContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementContentDecl"/>
    <keyword type="function" name="xmlParseElementDecl ()" link="libxml2-parserInternals.html#xmlParseElementDecl"/>
    <keyword type="function" name="xmlParseElementMixedContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementMixedContentDecl"/>
    <keyword type="function" name="xmlParseEncName ()" link="libxml2-parserInternals.html#xmlParseEncName"/>
    <keyword type="function" name="xmlParseEncodingDecl ()" link="libxml2-parserInternals.html#xmlParseEncodingDecl"/>
    <keyword type="function" name="xmlParseEndTag ()" link="libxml2-parserInternals.html#xmlParseEndTag"/>
    <keyword type="function" name="xmlParseEntity ()" link="libxml2-parser.html#xmlParseEntity"/>
    <keyword type="function" name="xmlParseEntityDecl ()" link="libxml2-parserInternals.html#xmlParseEntityDecl"/>
    <keyword type="function" name="xmlParseEntityRef ()" link="libxml2-parserInternals.html#xmlParseEntityRef"/>
    <keyword type="function" name="xmlParseEntityValue ()" link="libxml2-parserInternals.html#xmlParseEntityValue"/>
    <keyword type="function" name="xmlParseEnumeratedType ()" link="libxml2-parserInternals.html#xmlParseEnumeratedType"/>
    <keyword type="function" name="xmlParseEnumerationType ()" link="libxml2-parserInternals.html#xmlParseEnumerationType"/>
    <keyword type="function" name="xmlParseExtParsedEnt ()" link="libxml2-parser.html#xmlParseExtParsedEnt"/>
    <keyword type="function" name="xmlParseExternalEntity ()" link="libxml2-parser.html#xmlParseExternalEntity"/>
    <keyword type="function" name="xmlParseExternalID ()" link="libxml2-parserInternals.html#xmlParseExternalID"/>
    <keyword type="function" name="xmlParseExternalSubset ()" link="libxml2-parserInternals.html#xmlParseExternalSubset"/>
    <keyword type="function" name="xmlParseFile ()" link="libxml2-parser.html#xmlParseFile"/>
    <keyword type="function" name="xmlParseInNodeContext ()" link="libxml2-parser.html#xmlParseInNodeContext"/>
    <keyword type="function" name="xmlParseMarkupDecl ()" link="libxml2-parserInternals.html#xmlParseMarkupDecl"/>
    <keyword type="function" name="xmlParseMemory ()" link="libxml2-parser.html#xmlParseMemory"/>
    <keyword type="function" name="xmlParseMisc ()" link="libxml2-parserInternals.html#xmlParseMisc"/>
    <keyword type="function" name="xmlParseName ()" link="libxml2-parserInternals.html#xmlParseName"/>
    <keyword type="function" name="xmlParseNamespace ()" link="libxml2-parserInternals.html#xmlParseNamespace"/>
    <keyword type="function" name="xmlParseNmtoken ()" link="libxml2-parserInternals.html#xmlParseNmtoken"/>
    <keyword type="function" name="xmlParseNotationDecl ()" link="libxml2-parserInternals.html#xmlParseNotationDecl"/>
    <keyword type="function" name="xmlParseNotationType ()" link="libxml2-parserInternals.html#xmlParseNotationType"/>
    <keyword type="function" name="xmlParsePEReference ()" link="libxml2-parserInternals.html#xmlParsePEReference"/>
    <keyword type="function" name="xmlParsePI ()" link="libxml2-parserInternals.html#xmlParsePI"/>
    <keyword type="function" name="xmlParsePITarget ()" link="libxml2-parserInternals.html#xmlParsePITarget"/>
    <keyword type="function" name="xmlParsePubidLiteral ()" link="libxml2-parserInternals.html#xmlParsePubidLiteral"/>
    <keyword type="function" name="xmlParseQuotedString ()" link="libxml2-parserInternals.html#xmlParseQuotedString"/>
    <keyword type="function" name="xmlParseReference ()" link="libxml2-parserInternals.html#xmlParseReference"/>
    <keyword type="function" name="xmlParseSDDecl ()" link="libxml2-parserInternals.html#xmlParseSDDecl"/>
    <keyword type="function" name="xmlParseStartTag ()" link="libxml2-parserInternals.html#xmlParseStartTag"/>
    <keyword type="function" name="xmlParseSystemLiteral ()" link="libxml2-parserInternals.html#xmlParseSystemLiteral"/>
    <keyword type="function" name="xmlParseTextDecl ()" link="libxml2-parserInternals.html#xmlParseTextDecl"/>
    <keyword type="function" name="xmlParseURI ()" link="libxml2-uri.html#xmlParseURI"/>
    <keyword type="function" name="xmlParseURIRaw ()" link="libxml2-uri.html#xmlParseURIRaw"/>
    <keyword type="function" name="xmlParseURIReference ()" link="libxml2-uri.html#xmlParseURIReference"/>
    <keyword type="function" name="xmlParseVersionInfo ()" link="libxml2-parserInternals.html#xmlParseVersionInfo"/>
    <keyword type="function" name="xmlParseVersionNum ()" link="libxml2-parserInternals.html#xmlParseVersionNum"/>
    <keyword type="function" name="xmlParseXMLDecl ()" link="libxml2-parserInternals.html#xmlParseXMLDecl"/>
    <keyword type="function" name="xmlParserAddNodeInfo ()" link="libxml2-parser.html#xmlParserAddNodeInfo"/>
    <keyword type="function" name="xmlParserError ()" link="libxml2-xmlerror.html#xmlParserError"/>
    <keyword type="function" name="xmlParserFindNodeInfo ()" link="libxml2-parser.html#xmlParserFindNodeInfo"/>
    <keyword type="function" name="xmlParserFindNodeInfoIndex ()" link="libxml2-parser.html#xmlParserFindNodeInfoIndex"/>
    <keyword type="function" name="xmlParserGetDirectory ()" link="libxml2-xmlIO.html#xmlParserGetDirectory"/>
    <keyword type="function" name="xmlParserHandlePEReference ()" link="libxml2-parserInternals.html#xmlParserHandlePEReference"/>
    <keyword type="function" name="xmlParserHandleReference ()" link="libxml2-parserInternals.html#xmlParserHandleReference"/>
    <keyword type="function" name="xmlParserInputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFd"/>
    <keyword type="function" name="xmlParserInputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFile"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilename"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlParserInputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateIO"/>
    <keyword type="function" name="xmlParserInputBufferCreateMem ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateMem"/>
    <keyword type="function" name="xmlParserInputBufferCreateStatic ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateStatic"/>
    <keyword type="function" name="xmlParserInputBufferGrow ()" link="libxml2-xmlIO.html#xmlParserInputBufferGrow"/>
    <keyword type="function" name="xmlParserInputBufferPush ()" link="libxml2-xmlIO.html#xmlParserInputBufferPush"/>
    <keyword type="function" name="xmlParserInputBufferRead ()" link="libxml2-xmlIO.html#xmlParserInputBufferRead"/>
    <keyword type="function" name="xmlParserInputGrow ()" link="libxml2-parser.html#xmlParserInputGrow"/>
    <keyword type="function" name="xmlParserInputRead ()" link="libxml2-parser.html#xmlParserInputRead"/>
    <keyword type="function" name="xmlParserInputShrink ()" link="libxml2-parserInternals.html#xmlParserInputShrink"/>
    <keyword type="function" name="xmlParserPrintFileContext ()" link="libxml2-xmlerror.html#xmlParserPrintFileContext"/>
    <keyword type="function" name="xmlParserPrintFileInfo ()" link="libxml2-xmlerror.html#xmlParserPrintFileInfo"/>
    <keyword type="function" name="xmlParserValidityError ()" link="libxml2-xmlerror.html#xmlParserValidityError"/>
    <keyword type="function" name="xmlParserValidityWarning ()" link="libxml2-xmlerror.html#xmlParserValidityWarning"/>
    <keyword type="function" name="xmlParserWarning ()" link="libxml2-xmlerror.html#xmlParserWarning"/>
    <keyword type="function" name="xmlPathToURI ()" link="libxml2-uri.html#xmlPathToURI"/>
    <keyword type="function" name="xmlPatternFromRoot ()" link="libxml2-pattern.html#xmlPatternFromRoot"/>
    <keyword type="function" name="xmlPatternGetStreamCtxt ()" link="libxml2-pattern.html#xmlPatternGetStreamCtxt"/>
    <keyword type="function" name="xmlPatternMatch ()" link="libxml2-pattern.html#xmlPatternMatch"/>
    <keyword type="function" name="xmlPatternMaxDepth ()" link="libxml2-pattern.html#xmlPatternMaxDepth"/>
    <keyword type="function" name="xmlPatternMinDepth ()" link="libxml2-pattern.html#xmlPatternMinDepth"/>
    <keyword type="function" name="xmlPatternStreamable ()" link="libxml2-pattern.html#xmlPatternStreamable"/>
    <keyword type="function" name="xmlPatterncompile ()" link="libxml2-pattern.html#xmlPatterncompile"/>
    <keyword type="function" name="xmlPedanticParserDefault ()" link="libxml2-parser.html#xmlPedanticParserDefault"/>
    <keyword type="function" name="xmlPopInput ()" link="libxml2-parserInternals.html#xmlPopInput"/>
    <keyword type="function" name="xmlPopInputCallbacks ()" link="libxml2-xmlIO.html#xmlPopInputCallbacks"/>
    <keyword type="function" name="xmlPopOutputCallbacks ()" link="libxml2-xmlIO.html#xmlPopOutputCallbacks"/>
    <keyword type="function" name="xmlPreviousElementSibling ()" link="libxml2-tree.html#xmlPreviousElementSibling"/>
    <keyword type="function" name="xmlPrintURI ()" link="libxml2-uri.html#xmlPrintURI"/>
    <keyword type="function" name="xmlPushInput ()" link="libxml2-parserInternals.html#xmlPushInput"/>
    <keyword type="function" name="xmlRMutexLock ()" link="libxml2-threads.html#xmlRMutexLock"/>
    <keyword type="function" name="xmlRMutexUnlock ()" link="libxml2-threads.html#xmlRMutexUnlock"/>
    <keyword type="function" name="xmlReadDoc ()" link="libxml2-parser.html#xmlReadDoc"/>
    <keyword type="function" name="xmlReadFd ()" link="libxml2-parser.html#xmlReadFd"/>
    <keyword type="function" name="xmlReadFile ()" link="libxml2-parser.html#xmlReadFile"/>
    <keyword type="function" name="xmlReadIO ()" link="libxml2-parser.html#xmlReadIO"/>
    <keyword type="function" name="xmlReadMemory ()" link="libxml2-parser.html#xmlReadMemory"/>
    <keyword type="function" name="xmlReaderForDoc ()" link="libxml2-xmlreader.html#xmlReaderForDoc"/>
    <keyword type="function" name="xmlReaderForFd ()" link="libxml2-xmlreader.html#xmlReaderForFd"/>
    <keyword type="function" name="xmlReaderForFile ()" link="libxml2-xmlreader.html#xmlReaderForFile"/>
    <keyword type="function" name="xmlReaderForIO ()" link="libxml2-xmlreader.html#xmlReaderForIO"/>
    <keyword type="function" name="xmlReaderForMemory ()" link="libxml2-xmlreader.html#xmlReaderForMemory"/>
    <keyword type="function" name="xmlReaderNewDoc ()" link="libxml2-xmlreader.html#xmlReaderNewDoc"/>
    <keyword type="function" name="xmlReaderNewFd ()" link="libxml2-xmlreader.html#xmlReaderNewFd"/>
    <keyword type="function" name="xmlReaderNewFile ()" link="libxml2-xmlreader.html#xmlReaderNewFile"/>
    <keyword type="function" name="xmlReaderNewIO ()" link="libxml2-xmlreader.html#xmlReaderNewIO"/>
    <keyword type="function" name="xmlReaderNewMemory ()" link="libxml2-xmlreader.html#xmlReaderNewMemory"/>
    <keyword type="function" name="xmlReaderNewWalker ()" link="libxml2-xmlreader.html#xmlReaderNewWalker"/>
    <keyword type="function" name="xmlReaderWalker ()" link="libxml2-xmlreader.html#xmlReaderWalker"/>
    <keyword type="function" name="xmlReallocLoc ()" link="libxml2-xmlmemory.html#xmlReallocLoc"/>
    <keyword type="function" name="xmlReconciliateNs ()" link="libxml2-tree.html#xmlReconciliateNs"/>
    <keyword type="function" name="xmlRecoverDoc ()" link="libxml2-parser.html#xmlRecoverDoc"/>
    <keyword type="function" name="xmlRecoverFile ()" link="libxml2-parser.html#xmlRecoverFile"/>
    <keyword type="function" name="xmlRecoverMemory ()" link="libxml2-parser.html#xmlRecoverMemory"/>
    <keyword type="function" name="xmlRegExecErrInfo ()" link="libxml2-xmlregexp.html#xmlRegExecErrInfo"/>
    <keyword type="function" name="xmlRegExecNextValues ()" link="libxml2-xmlregexp.html#xmlRegExecNextValues"/>
    <keyword type="function" name="xmlRegExecPushString ()" link="libxml2-xmlregexp.html#xmlRegExecPushString"/>
    <keyword type="function" name="xmlRegExecPushString2 ()" link="libxml2-xmlregexp.html#xmlRegExecPushString2"/>
    <keyword type="function" name="xmlRegFreeExecCtxt ()" link="libxml2-xmlregexp.html#xmlRegFreeExecCtxt"/>
    <keyword type="function" name="xmlRegFreeRegexp ()" link="libxml2-xmlregexp.html#xmlRegFreeRegexp"/>
    <keyword type="function" name="xmlRegNewExecCtxt ()" link="libxml2-xmlregexp.html#xmlRegNewExecCtxt"/>
    <keyword type="function" name="xmlRegexpCompile ()" link="libxml2-xmlregexp.html#xmlRegexpCompile"/>
    <keyword type="function" name="xmlRegexpExec ()" link="libxml2-xmlregexp.html#xmlRegexpExec"/>
    <keyword type="function" name="xmlRegexpIsDeterminist ()" link="libxml2-xmlregexp.html#xmlRegexpIsDeterminist"/>
    <keyword type="function" name="xmlRegexpPrint ()" link="libxml2-xmlregexp.html#xmlRegexpPrint"/>
    <keyword type="function" name="xmlRegisterCharEncodingHandler ()" link="libxml2-encoding.html#xmlRegisterCharEncodingHandler"/>
    <keyword type="function" name="xmlRegisterDefaultInputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterDefaultInputCallbacks"/>
    <keyword type="function" name="xmlRegisterDefaultOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterDefaultOutputCallbacks"/>
    <keyword type="function" name="xmlRegisterHTTPPostCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterHTTPPostCallbacks"/>
    <keyword type="function" name="xmlRegisterInputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterInputCallbacks"/>
    <keyword type="function" name="xmlRegisterNodeDefault ()" link="libxml2-globals.html#xmlRegisterNodeDefault"/>
    <keyword type="function" name="xmlRegisterOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterOutputCallbacks"/>
    <keyword type="function" name="xmlRelaxNGCleanupTypes ()" link="libxml2-relaxng.html#xmlRelaxNGCleanupTypes"/>
    <keyword type="function" name="xmlRelaxNGDump ()" link="libxml2-relaxng.html#xmlRelaxNGDump"/>
    <keyword type="function" name="xmlRelaxNGDumpTree ()" link="libxml2-relaxng.html#xmlRelaxNGDumpTree"/>
    <keyword type="function" name="xmlRelaxNGFree ()" link="libxml2-relaxng.html#xmlRelaxNGFree"/>
    <keyword type="function" name="xmlRelaxNGFreeParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGFreeParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGFreeValidCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGFreeValidCtxt"/>
    <keyword type="function" name="xmlRelaxNGGetParserErrors ()" link="libxml2-relaxng.html#xmlRelaxNGGetParserErrors"/>
    <keyword type="function" name="xmlRelaxNGGetValidErrors ()" link="libxml2-relaxng.html#xmlRelaxNGGetValidErrors"/>
    <keyword type="function" name="xmlRelaxNGInitTypes ()" link="libxml2-relaxng.html#xmlRelaxNGInitTypes"/>
    <keyword type="function" name="xmlRelaxNGNewDocParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewDocParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewMemParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewMemParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewValidCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewValidCtxt"/>
    <keyword type="function" name="xmlRelaxNGParse ()" link="libxml2-relaxng.html#xmlRelaxNGParse"/>
    <keyword type="function" name="xmlRelaxNGSetParserErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserErrors"/>
    <keyword type="function" name="xmlRelaxNGSetParserStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserStructuredErrors"/>
    <keyword type="function" name="xmlRelaxNGSetValidErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidErrors"/>
    <keyword type="function" name="xmlRelaxNGSetValidStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidStructuredErrors"/>
    <keyword type="function" name="xmlRelaxNGValidateDoc ()" link="libxml2-relaxng.html#xmlRelaxNGValidateDoc"/>
    <keyword type="function" name="xmlRelaxNGValidateFullElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidateFullElement"/>
    <keyword type="function" name="xmlRelaxNGValidatePopElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePopElement"/>
    <keyword type="function" name="xmlRelaxNGValidatePushCData ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePushCData"/>
    <keyword type="function" name="xmlRelaxNGValidatePushElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePushElement"/>
    <keyword type="function" name="xmlRelaxParserSetFlag ()" link="libxml2-relaxng.html#xmlRelaxParserSetFlag"/>
    <keyword type="function" name="xmlRemoveID ()" link="libxml2-valid.html#xmlRemoveID"/>
    <keyword type="function" name="xmlRemoveProp ()" link="libxml2-tree.html#xmlRemoveProp"/>
    <keyword type="function" name="xmlRemoveRef ()" link="libxml2-valid.html#xmlRemoveRef"/>
    <keyword type="function" name="xmlReplaceNode ()" link="libxml2-tree.html#xmlReplaceNode"/>
    <keyword type="function" name="xmlResetError ()" link="libxml2-xmlerror.html#xmlResetError"/>
    <keyword type="function" name="xmlResetLastError ()" link="libxml2-xmlerror.html#xmlResetLastError"/>
    <keyword type="function" name="xmlSAX2AttributeDecl ()" link="libxml2-SAX2.html#xmlSAX2AttributeDecl"/>
    <keyword type="function" name="xmlSAX2CDataBlock ()" link="libxml2-SAX2.html#xmlSAX2CDataBlock"/>
    <keyword type="function" name="xmlSAX2Characters ()" link="libxml2-SAX2.html#xmlSAX2Characters"/>
    <keyword type="function" name="xmlSAX2Comment ()" link="libxml2-SAX2.html#xmlSAX2Comment"/>
    <keyword type="function" name="xmlSAX2ElementDecl ()" link="libxml2-SAX2.html#xmlSAX2ElementDecl"/>
    <keyword type="function" name="xmlSAX2EndDocument ()" link="libxml2-SAX2.html#xmlSAX2EndDocument"/>
    <keyword type="function" name="xmlSAX2EndElement ()" link="libxml2-SAX2.html#xmlSAX2EndElement"/>
    <keyword type="function" name="xmlSAX2EndElementNs ()" link="libxml2-SAX2.html#xmlSAX2EndElementNs"/>
    <keyword type="function" name="xmlSAX2EntityDecl ()" link="libxml2-SAX2.html#xmlSAX2EntityDecl"/>
    <keyword type="function" name="xmlSAX2ExternalSubset ()" link="libxml2-SAX2.html#xmlSAX2ExternalSubset"/>
    <keyword type="function" name="xmlSAX2GetColumnNumber ()" link="libxml2-SAX2.html#xmlSAX2GetColumnNumber"/>
    <keyword type="function" name="xmlSAX2GetEntity ()" link="libxml2-SAX2.html#xmlSAX2GetEntity"/>
    <keyword type="function" name="xmlSAX2GetLineNumber ()" link="libxml2-SAX2.html#xmlSAX2GetLineNumber"/>
    <keyword type="function" name="xmlSAX2GetParameterEntity ()" link="libxml2-SAX2.html#xmlSAX2GetParameterEntity"/>
    <keyword type="function" name="xmlSAX2GetPublicId ()" link="libxml2-SAX2.html#xmlSAX2GetPublicId"/>
    <keyword type="function" name="xmlSAX2GetSystemId ()" link="libxml2-SAX2.html#xmlSAX2GetSystemId"/>
    <keyword type="function" name="xmlSAX2HasExternalSubset ()" link="libxml2-SAX2.html#xmlSAX2HasExternalSubset"/>
    <keyword type="function" name="xmlSAX2HasInternalSubset ()" link="libxml2-SAX2.html#xmlSAX2HasInternalSubset"/>
    <keyword type="function" name="xmlSAX2IgnorableWhitespace ()" link="libxml2-SAX2.html#xmlSAX2IgnorableWhitespace"/>
    <keyword type="function" name="xmlSAX2InitDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitDefaultSAXHandler"/>
    <keyword type="function" name="xmlSAX2InitHtmlDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler"/>
    <keyword type="function" name="xmlSAX2InternalSubset ()" link="libxml2-SAX2.html#xmlSAX2InternalSubset"/>
    <keyword type="function" name="xmlSAX2IsStandalone ()" link="libxml2-SAX2.html#xmlSAX2IsStandalone"/>
    <keyword type="function" name="xmlSAX2NotationDecl ()" link="libxml2-SAX2.html#xmlSAX2NotationDecl"/>
    <keyword type="function" name="xmlSAX2ProcessingInstruction ()" link="libxml2-SAX2.html#xmlSAX2ProcessingInstruction"/>
    <keyword type="function" name="xmlSAX2Reference ()" link="libxml2-SAX2.html#xmlSAX2Reference"/>
    <keyword type="function" name="xmlSAX2ResolveEntity ()" link="libxml2-SAX2.html#xmlSAX2ResolveEntity"/>
    <keyword type="function" name="xmlSAX2SetDocumentLocator ()" link="libxml2-SAX2.html#xmlSAX2SetDocumentLocator"/>
    <keyword type="function" name="xmlSAX2StartDocument ()" link="libxml2-SAX2.html#xmlSAX2StartDocument"/>
    <keyword type="function" name="xmlSAX2StartElement ()" link="libxml2-SAX2.html#xmlSAX2StartElement"/>
    <keyword type="function" name="xmlSAX2StartElementNs ()" link="libxml2-SAX2.html#xmlSAX2StartElementNs"/>
    <keyword type="function" name="xmlSAX2UnparsedEntityDecl ()" link="libxml2-SAX2.html#xmlSAX2UnparsedEntityDecl"/>
    <keyword type="function" name="xmlSAXDefaultVersion ()" link="libxml2-SAX2.html#xmlSAXDefaultVersion"/>
    <keyword type="function" name="xmlSAXParseDTD ()" link="libxml2-parser.html#xmlSAXParseDTD"/>
    <keyword type="function" name="xmlSAXParseDoc ()" link="libxml2-parser.html#xmlSAXParseDoc"/>
    <keyword type="function" name="xmlSAXParseEntity ()" link="libxml2-parser.html#xmlSAXParseEntity"/>
    <keyword type="function" name="xmlSAXParseFile ()" link="libxml2-parser.html#xmlSAXParseFile"/>
    <keyword type="function" name="xmlSAXParseFileWithData ()" link="libxml2-parser.html#xmlSAXParseFileWithData"/>
    <keyword type="function" name="xmlSAXParseMemory ()" link="libxml2-parser.html#xmlSAXParseMemory"/>
    <keyword type="function" name="xmlSAXParseMemoryWithData ()" link="libxml2-parser.html#xmlSAXParseMemoryWithData"/>
    <keyword type="function" name="xmlSAXUserParseFile ()" link="libxml2-parser.html#xmlSAXUserParseFile"/>
    <keyword type="function" name="xmlSAXUserParseMemory ()" link="libxml2-parser.html#xmlSAXUserParseMemory"/>
    <keyword type="function" name="xmlSAXVersion ()" link="libxml2-SAX2.html#xmlSAXVersion"/>
    <keyword type="function" name="xmlSaveClose ()" link="libxml2-xmlsave.html#xmlSaveClose"/>
    <keyword type="function" name="xmlSaveDoc ()" link="libxml2-xmlsave.html#xmlSaveDoc"/>
    <keyword type="function" name="xmlSaveFile ()" link="libxml2-tree.html#xmlSaveFile"/>
    <keyword type="function" name="xmlSaveFileEnc ()" link="libxml2-tree.html#xmlSaveFileEnc"/>
    <keyword type="function" name="xmlSaveFileTo ()" link="libxml2-tree.html#xmlSaveFileTo"/>
    <keyword type="function" name="xmlSaveFlush ()" link="libxml2-xmlsave.html#xmlSaveFlush"/>
    <keyword type="function" name="xmlSaveFormatFile ()" link="libxml2-tree.html#xmlSaveFormatFile"/>
    <keyword type="function" name="xmlSaveFormatFileEnc ()" link="libxml2-tree.html#xmlSaveFormatFileEnc"/>
    <keyword type="function" name="xmlSaveFormatFileTo ()" link="libxml2-tree.html#xmlSaveFormatFileTo"/>
    <keyword type="function" name="xmlSaveSetAttrEscape ()" link="libxml2-xmlsave.html#xmlSaveSetAttrEscape"/>
    <keyword type="function" name="xmlSaveSetEscape ()" link="libxml2-xmlsave.html#xmlSaveSetEscape"/>
    <keyword type="function" name="xmlSaveToBuffer ()" link="libxml2-xmlsave.html#xmlSaveToBuffer"/>
    <keyword type="function" name="xmlSaveToFd ()" link="libxml2-xmlsave.html#xmlSaveToFd"/>
    <keyword type="function" name="xmlSaveToFilename ()" link="libxml2-xmlsave.html#xmlSaveToFilename"/>
    <keyword type="function" name="xmlSaveToIO ()" link="libxml2-xmlsave.html#xmlSaveToIO"/>
    <keyword type="function" name="xmlSaveTree ()" link="libxml2-xmlsave.html#xmlSaveTree"/>
    <keyword type="function" name="xmlSaveUri ()" link="libxml2-uri.html#xmlSaveUri"/>
    <keyword type="function" name="xmlScanName ()" link="libxml2-parserInternals.html#xmlScanName"/>
    <keyword type="function" name="xmlSchemaCheckFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaCheckFacet"/>
    <keyword type="function" name="xmlSchemaCleanupTypes ()" link="libxml2-xmlschemastypes.html#xmlSchemaCleanupTypes"/>
    <keyword type="function" name="xmlSchemaCollapseString ()" link="libxml2-xmlschemastypes.html#xmlSchemaCollapseString"/>
    <keyword type="function" name="xmlSchemaCompareValues ()" link="libxml2-xmlschemastypes.html#xmlSchemaCompareValues"/>
    <keyword type="function" name="xmlSchemaCompareValuesWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp"/>
    <keyword type="function" name="xmlSchemaCopyValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaCopyValue"/>
    <keyword type="function" name="xmlSchemaDump ()" link="libxml2-xmlschemas.html#xmlSchemaDump"/>
    <keyword type="function" name="xmlSchemaFree ()" link="libxml2-xmlschemas.html#xmlSchemaFree"/>
    <keyword type="function" name="xmlSchemaFreeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaFreeFacet"/>
    <keyword type="function" name="xmlSchemaFreeParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaFreeParserCtxt"/>
    <keyword type="function" name="xmlSchemaFreeType ()" link="libxml2-schemasInternals.html#xmlSchemaFreeType"/>
    <keyword type="function" name="xmlSchemaFreeValidCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaFreeValidCtxt"/>
    <keyword type="function" name="xmlSchemaFreeValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaFreeValue"/>
    <keyword type="function" name="xmlSchemaFreeWildcard ()" link="libxml2-schemasInternals.html#xmlSchemaFreeWildcard"/>
    <keyword type="function" name="xmlSchemaGetBuiltInListSimpleTypeItemType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType"/>
    <keyword type="function" name="xmlSchemaGetBuiltInType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetBuiltInType"/>
    <keyword type="function" name="xmlSchemaGetCanonValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetCanonValue"/>
    <keyword type="function" name="xmlSchemaGetCanonValueWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp"/>
    <keyword type="function" name="xmlSchemaGetFacetValueAsULong ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong"/>
    <keyword type="function" name="xmlSchemaGetParserErrors ()" link="libxml2-xmlschemas.html#xmlSchemaGetParserErrors"/>
    <keyword type="function" name="xmlSchemaGetPredefinedType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetPredefinedType"/>
    <keyword type="function" name="xmlSchemaGetValType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetValType"/>
    <keyword type="function" name="xmlSchemaGetValidErrors ()" link="libxml2-xmlschemas.html#xmlSchemaGetValidErrors"/>
    <keyword type="function" name="xmlSchemaInitTypes ()" link="libxml2-xmlschemastypes.html#xmlSchemaInitTypes"/>
    <keyword type="function" name="xmlSchemaIsBuiltInTypeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet"/>
    <keyword type="function" name="xmlSchemaIsValid ()" link="libxml2-xmlschemas.html#xmlSchemaIsValid"/>
    <keyword type="function" name="xmlSchemaNewDocParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewDocParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewFacet"/>
    <keyword type="function" name="xmlSchemaNewMemParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewMemParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewNOTATIONValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewNOTATIONValue"/>
    <keyword type="function" name="xmlSchemaNewParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewQNameValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewQNameValue"/>
    <keyword type="function" name="xmlSchemaNewStringValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewStringValue"/>
    <keyword type="function" name="xmlSchemaNewValidCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewValidCtxt"/>
    <keyword type="function" name="xmlSchemaParse ()" link="libxml2-xmlschemas.html#xmlSchemaParse"/>
    <keyword type="function" name="xmlSchemaSAXPlug ()" link="libxml2-xmlschemas.html#xmlSchemaSAXPlug"/>
    <keyword type="function" name="xmlSchemaSAXUnplug ()" link="libxml2-xmlschemas.html#xmlSchemaSAXUnplug"/>
    <keyword type="function" name="xmlSchemaSetParserErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserErrors"/>
    <keyword type="function" name="xmlSchemaSetParserStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserStructuredErrors"/>
    <keyword type="function" name="xmlSchemaSetValidErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidErrors"/>
    <keyword type="function" name="xmlSchemaSetValidOptions ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidOptions"/>
    <keyword type="function" name="xmlSchemaSetValidStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidStructuredErrors"/>
    <keyword type="function" name="xmlSchemaValPredefTypeNode ()" link="libxml2-xmlschemastypes.html#xmlSchemaValPredefTypeNode"/>
    <keyword type="function" name="xmlSchemaValPredefTypeNodeNoNorm ()" link="libxml2-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm"/>
    <keyword type="function" name="xmlSchemaValidCtxtGetOptions ()" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtGetOptions"/>
    <keyword type="function" name="xmlSchemaValidCtxtGetParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt"/>
    <keyword type="function" name="xmlSchemaValidateDoc ()" link="libxml2-xmlschemas.html#xmlSchemaValidateDoc"/>
    <keyword type="function" name="xmlSchemaValidateFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateFacet"/>
    <keyword type="function" name="xmlSchemaValidateFacetWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp"/>
    <keyword type="function" name="xmlSchemaValidateFile ()" link="libxml2-xmlschemas.html#xmlSchemaValidateFile"/>
    <keyword type="function" name="xmlSchemaValidateLengthFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateLengthFacet"/>
    <keyword type="function" name="xmlSchemaValidateLengthFacetWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp"/>
    <keyword type="function" name="xmlSchemaValidateListSimpleTypeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet"/>
    <keyword type="function" name="xmlSchemaValidateOneElement ()" link="libxml2-xmlschemas.html#xmlSchemaValidateOneElement"/>
    <keyword type="function" name="xmlSchemaValidatePredefinedType ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidatePredefinedType"/>
    <keyword type="function" name="xmlSchemaValidateSetFilename ()" link="libxml2-xmlschemas.html#xmlSchemaValidateSetFilename"/>
    <keyword type="function" name="xmlSchemaValidateSetLocator ()" link="libxml2-xmlschemas.html#xmlSchemaValidateSetLocator"/>
    <keyword type="function" name="xmlSchemaValidateStream ()" link="libxml2-xmlschemas.html#xmlSchemaValidateStream"/>
    <keyword type="function" name="xmlSchemaValueAppend ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueAppend"/>
    <keyword type="function" name="xmlSchemaValueGetAsBoolean ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetAsBoolean"/>
    <keyword type="function" name="xmlSchemaValueGetAsString ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetAsString"/>
    <keyword type="function" name="xmlSchemaValueGetNext ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetNext"/>
    <keyword type="function" name="xmlSchemaWhiteSpaceReplace ()" link="libxml2-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace"/>
    <keyword type="function" name="xmlSchematronFree ()" link="libxml2-schematron.html#xmlSchematronFree"/>
    <keyword type="function" name="xmlSchematronFreeParserCtxt ()" link="libxml2-schematron.html#xmlSchematronFreeParserCtxt"/>
    <keyword type="function" name="xmlSchematronFreeValidCtxt ()" link="libxml2-schematron.html#xmlSchematronFreeValidCtxt"/>
    <keyword type="function" name="xmlSchematronNewDocParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewDocParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewMemParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewMemParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewValidCtxt ()" link="libxml2-schematron.html#xmlSchematronNewValidCtxt"/>
    <keyword type="function" name="xmlSchematronParse ()" link="libxml2-schematron.html#xmlSchematronParse"/>
    <keyword type="function" name="xmlSchematronSetValidStructuredErrors ()" link="libxml2-schematron.html#xmlSchematronSetValidStructuredErrors"/>
    <keyword type="function" name="xmlSchematronValidateDoc ()" link="libxml2-schematron.html#xmlSchematronValidateDoc"/>
    <keyword type="function" name="xmlSearchNs ()" link="libxml2-tree.html#xmlSearchNs"/>
    <keyword type="function" name="xmlSearchNsByHref ()" link="libxml2-tree.html#xmlSearchNsByHref"/>
    <keyword type="function" name="xmlSetBufferAllocationScheme ()" link="libxml2-tree.html#xmlSetBufferAllocationScheme"/>
    <keyword type="function" name="xmlSetCompressMode ()" link="libxml2-tree.html#xmlSetCompressMode"/>
    <keyword type="function" name="xmlSetDocCompressMode ()" link="libxml2-tree.html#xmlSetDocCompressMode"/>
    <keyword type="function" name="xmlSetEntityReferenceFunc ()" link="libxml2-parserInternals.html#xmlSetEntityReferenceFunc"/>
    <keyword type="function" name="xmlSetExternalEntityLoader ()" link="libxml2-parser.html#xmlSetExternalEntityLoader"/>
    <keyword type="function" name="xmlSetFeature ()" link="libxml2-parser.html#xmlSetFeature"/>
    <keyword type="function" name="xmlSetGenericErrorFunc ()" link="libxml2-xmlerror.html#xmlSetGenericErrorFunc"/>
    <keyword type="function" name="xmlSetListDoc ()" link="libxml2-tree.html#xmlSetListDoc"/>
    <keyword type="function" name="xmlSetNs ()" link="libxml2-tree.html#xmlSetNs"/>
    <keyword type="function" name="xmlSetNsProp ()" link="libxml2-tree.html#xmlSetNsProp"/>
    <keyword type="function" name="xmlSetProp ()" link="libxml2-tree.html#xmlSetProp"/>
    <keyword type="function" name="xmlSetStructuredErrorFunc ()" link="libxml2-xmlerror.html#xmlSetStructuredErrorFunc"/>
    <keyword type="function" name="xmlSetTreeDoc ()" link="libxml2-tree.html#xmlSetTreeDoc"/>
    <keyword type="function" name="xmlSetupParserForBuffer ()" link="libxml2-parser.html#xmlSetupParserForBuffer"/>
    <keyword type="function" name="xmlShell ()" link="libxml2-debugXML.html#xmlShell"/>
    <keyword type="function" name="xmlShellBase ()" link="libxml2-debugXML.html#xmlShellBase"/>
    <keyword type="function" name="xmlShellCat ()" link="libxml2-debugXML.html#xmlShellCat"/>
    <keyword type="function" name="xmlShellDir ()" link="libxml2-debugXML.html#xmlShellDir"/>
    <keyword type="function" name="xmlShellDu ()" link="libxml2-debugXML.html#xmlShellDu"/>
    <keyword type="function" name="xmlShellList ()" link="libxml2-debugXML.html#xmlShellList"/>
    <keyword type="function" name="xmlShellLoad ()" link="libxml2-debugXML.html#xmlShellLoad"/>
    <keyword type="function" name="xmlShellPrintNode ()" link="libxml2-debugXML.html#xmlShellPrintNode"/>
    <keyword type="function" name="xmlShellPrintXPathError ()" link="libxml2-debugXML.html#xmlShellPrintXPathError"/>
    <keyword type="function" name="xmlShellPrintXPathResult ()" link="libxml2-debugXML.html#xmlShellPrintXPathResult"/>
    <keyword type="function" name="xmlShellPwd ()" link="libxml2-debugXML.html#xmlShellPwd"/>
    <keyword type="function" name="xmlShellSave ()" link="libxml2-debugXML.html#xmlShellSave"/>
    <keyword type="function" name="xmlShellValidate ()" link="libxml2-debugXML.html#xmlShellValidate"/>
    <keyword type="function" name="xmlShellWrite ()" link="libxml2-debugXML.html#xmlShellWrite"/>
    <keyword type="function" name="xmlSkipBlankChars ()" link="libxml2-parserInternals.html#xmlSkipBlankChars"/>
    <keyword type="function" name="xmlSnprintfElementContent ()" link="libxml2-valid.html#xmlSnprintfElementContent"/>
    <keyword type="function" name="xmlSplitQName ()" link="libxml2-parserInternals.html#xmlSplitQName"/>
    <keyword type="function" name="xmlSplitQName2 ()" link="libxml2-tree.html#xmlSplitQName2"/>
    <keyword type="function" name="xmlSplitQName3 ()" link="libxml2-tree.html#xmlSplitQName3"/>
    <keyword type="function" name="xmlSprintfElementContent ()" link="libxml2-valid.html#xmlSprintfElementContent"/>
    <keyword type="function" name="xmlStopParser ()" link="libxml2-parser.html#xmlStopParser"/>
    <keyword type="function" name="xmlStrEqual ()" link="libxml2-xmlstring.html#xmlStrEqual"/>
    <keyword type="function" name="xmlStrPrintf ()" link="libxml2-xmlstring.html#xmlStrPrintf"/>
    <keyword type="function" name="xmlStrQEqual ()" link="libxml2-xmlstring.html#xmlStrQEqual"/>
    <keyword type="function" name="xmlStrVPrintf ()" link="libxml2-xmlstring.html#xmlStrVPrintf"/>
    <keyword type="function" name="xmlStrcasecmp ()" link="libxml2-xmlstring.html#xmlStrcasecmp"/>
    <keyword type="function" name="xmlStrcasestr ()" link="libxml2-xmlstring.html#xmlStrcasestr"/>
    <keyword type="function" name="xmlStrcat ()" link="libxml2-xmlstring.html#xmlStrcat"/>
    <keyword type="function" name="xmlStrchr ()" link="libxml2-xmlstring.html#xmlStrchr"/>
    <keyword type="function" name="xmlStrcmp ()" link="libxml2-xmlstring.html#xmlStrcmp"/>
    <keyword type="function" name="xmlStrdup ()" link="libxml2-xmlstring.html#xmlStrdup"/>
    <keyword type="function" name="xmlStreamPop ()" link="libxml2-pattern.html#xmlStreamPop"/>
    <keyword type="function" name="xmlStreamPush ()" link="libxml2-pattern.html#xmlStreamPush"/>
    <keyword type="function" name="xmlStreamPushAttr ()" link="libxml2-pattern.html#xmlStreamPushAttr"/>
    <keyword type="function" name="xmlStreamPushNode ()" link="libxml2-pattern.html#xmlStreamPushNode"/>
    <keyword type="function" name="xmlStreamWantsAnyNode ()" link="libxml2-pattern.html#xmlStreamWantsAnyNode"/>
    <keyword type="function" name="xmlStringCurrentChar ()" link="libxml2-parserInternals.html#xmlStringCurrentChar"/>
    <keyword type="function" name="xmlStringDecodeEntities ()" link="libxml2-parserInternals.html#xmlStringDecodeEntities"/>
    <keyword type="function" name="xmlStringGetNodeList ()" link="libxml2-tree.html#xmlStringGetNodeList"/>
    <keyword type="function" name="xmlStringLenDecodeEntities ()" link="libxml2-parserInternals.html#xmlStringLenDecodeEntities"/>
    <keyword type="function" name="xmlStringLenGetNodeList ()" link="libxml2-tree.html#xmlStringLenGetNodeList"/>
    <keyword type="function" name="xmlStrlen ()" link="libxml2-xmlstring.html#xmlStrlen"/>
    <keyword type="function" name="xmlStrncasecmp ()" link="libxml2-xmlstring.html#xmlStrncasecmp"/>
    <keyword type="function" name="xmlStrncat ()" link="libxml2-xmlstring.html#xmlStrncat"/>
    <keyword type="function" name="xmlStrncatNew ()" link="libxml2-xmlstring.html#xmlStrncatNew"/>
    <keyword type="function" name="xmlStrncmp ()" link="libxml2-xmlstring.html#xmlStrncmp"/>
    <keyword type="function" name="xmlStrndup ()" link="libxml2-xmlstring.html#xmlStrndup"/>
    <keyword type="function" name="xmlStrstr ()" link="libxml2-xmlstring.html#xmlStrstr"/>
    <keyword type="function" name="xmlStrsub ()" link="libxml2-xmlstring.html#xmlStrsub"/>
    <keyword type="function" name="xmlSubstituteEntitiesDefault ()" link="libxml2-parser.html#xmlSubstituteEntitiesDefault"/>
    <keyword type="function" name="xmlSwitchEncoding ()" link="libxml2-parserInternals.html#xmlSwitchEncoding"/>
    <keyword type="function" name="xmlSwitchInputEncoding ()" link="libxml2-parserInternals.html#xmlSwitchInputEncoding"/>
    <keyword type="function" name="xmlSwitchToEncoding ()" link="libxml2-parserInternals.html#xmlSwitchToEncoding"/>
    <keyword type="function" name="xmlTextConcat ()" link="libxml2-tree.html#xmlTextConcat"/>
    <keyword type="function" name="xmlTextMerge ()" link="libxml2-tree.html#xmlTextMerge"/>
    <keyword type="function" name="xmlTextReaderAttributeCount ()" link="libxml2-xmlreader.html#xmlTextReaderAttributeCount"/>
    <keyword type="function" name="xmlTextReaderBaseUri ()" link="libxml2-xmlreader.html#xmlTextReaderBaseUri"/>
    <keyword type="function" name="xmlTextReaderByteConsumed ()" link="libxml2-xmlreader.html#xmlTextReaderByteConsumed"/>
    <keyword type="function" name="xmlTextReaderClose ()" link="libxml2-xmlreader.html#xmlTextReaderClose"/>
    <keyword type="function" name="xmlTextReaderConstBaseUri ()" link="libxml2-xmlreader.html#xmlTextReaderConstBaseUri"/>
    <keyword type="function" name="xmlTextReaderConstEncoding ()" link="libxml2-xmlreader.html#xmlTextReaderConstEncoding"/>
    <keyword type="function" name="xmlTextReaderConstLocalName ()" link="libxml2-xmlreader.html#xmlTextReaderConstLocalName"/>
    <keyword type="function" name="xmlTextReaderConstName ()" link="libxml2-xmlreader.html#xmlTextReaderConstName"/>
    <keyword type="function" name="xmlTextReaderConstNamespaceUri ()" link="libxml2-xmlreader.html#xmlTextReaderConstNamespaceUri"/>
    <keyword type="function" name="xmlTextReaderConstPrefix ()" link="libxml2-xmlreader.html#xmlTextReaderConstPrefix"/>
    <keyword type="function" name="xmlTextReaderConstString ()" link="libxml2-xmlreader.html#xmlTextReaderConstString"/>
    <keyword type="function" name="xmlTextReaderConstValue ()" link="libxml2-xmlreader.html#xmlTextReaderConstValue"/>
    <keyword type="function" name="xmlTextReaderConstXmlLang ()" link="libxml2-xmlreader.html#xmlTextReaderConstXmlLang"/>
    <keyword type="function" name="xmlTextReaderConstXmlVersion ()" link="libxml2-xmlreader.html#xmlTextReaderConstXmlVersion"/>
    <keyword type="function" name="xmlTextReaderCurrentDoc ()" link="libxml2-xmlreader.html#xmlTextReaderCurrentDoc"/>
    <keyword type="function" name="xmlTextReaderCurrentNode ()" link="libxml2-xmlreader.html#xmlTextReaderCurrentNode"/>
    <keyword type="function" name="xmlTextReaderDepth ()" link="libxml2-xmlreader.html#xmlTextReaderDepth"/>
    <keyword type="function" name="xmlTextReaderExpand ()" link="libxml2-xmlreader.html#xmlTextReaderExpand"/>
    <keyword type="function" name="xmlTextReaderGetAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttribute"/>
    <keyword type="function" name="xmlTextReaderGetAttributeNo ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttributeNo"/>
    <keyword type="function" name="xmlTextReaderGetAttributeNs ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttributeNs"/>
    <keyword type="function" name="xmlTextReaderGetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderGetErrorHandler"/>
    <keyword type="function" name="xmlTextReaderGetParserColumnNumber ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserColumnNumber"/>
    <keyword type="function" name="xmlTextReaderGetParserLineNumber ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserLineNumber"/>
    <keyword type="function" name="xmlTextReaderGetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserProp"/>
    <keyword type="function" name="xmlTextReaderGetRemainder ()" link="libxml2-xmlreader.html#xmlTextReaderGetRemainder"/>
    <keyword type="function" name="xmlTextReaderHasAttributes ()" link="libxml2-xmlreader.html#xmlTextReaderHasAttributes"/>
    <keyword type="function" name="xmlTextReaderHasValue ()" link="libxml2-xmlreader.html#xmlTextReaderHasValue"/>
    <keyword type="function" name="xmlTextReaderIsDefault ()" link="libxml2-xmlreader.html#xmlTextReaderIsDefault"/>
    <keyword type="function" name="xmlTextReaderIsEmptyElement ()" link="libxml2-xmlreader.html#xmlTextReaderIsEmptyElement"/>
    <keyword type="function" name="xmlTextReaderIsNamespaceDecl ()" link="libxml2-xmlreader.html#xmlTextReaderIsNamespaceDecl"/>
    <keyword type="function" name="xmlTextReaderIsValid ()" link="libxml2-xmlreader.html#xmlTextReaderIsValid"/>
    <keyword type="function" name="xmlTextReaderLocalName ()" link="libxml2-xmlreader.html#xmlTextReaderLocalName"/>
    <keyword type="function" name="xmlTextReaderLocatorBaseURI ()" link="libxml2-xmlreader.html#xmlTextReaderLocatorBaseURI"/>
    <keyword type="function" name="xmlTextReaderLocatorLineNumber ()" link="libxml2-xmlreader.html#xmlTextReaderLocatorLineNumber"/>
    <keyword type="function" name="xmlTextReaderLookupNamespace ()" link="libxml2-xmlreader.html#xmlTextReaderLookupNamespace"/>
    <keyword type="function" name="xmlTextReaderMoveToAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttribute"/>
    <keyword type="function" name="xmlTextReaderMoveToAttributeNo ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttributeNo"/>
    <keyword type="function" name="xmlTextReaderMoveToAttributeNs ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttributeNs"/>
    <keyword type="function" name="xmlTextReaderMoveToElement ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToElement"/>
    <keyword type="function" name="xmlTextReaderMoveToFirstAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToFirstAttribute"/>
    <keyword type="function" name="xmlTextReaderMoveToNextAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToNextAttribute"/>
    <keyword type="function" name="xmlTextReaderName ()" link="libxml2-xmlreader.html#xmlTextReaderName"/>
    <keyword type="function" name="xmlTextReaderNamespaceUri ()" link="libxml2-xmlreader.html#xmlTextReaderNamespaceUri"/>
    <keyword type="function" name="xmlTextReaderNext ()" link="libxml2-xmlreader.html#xmlTextReaderNext"/>
    <keyword type="function" name="xmlTextReaderNextSibling ()" link="libxml2-xmlreader.html#xmlTextReaderNextSibling"/>
    <keyword type="function" name="xmlTextReaderNodeType ()" link="libxml2-xmlreader.html#xmlTextReaderNodeType"/>
    <keyword type="function" name="xmlTextReaderNormalization ()" link="libxml2-xmlreader.html#xmlTextReaderNormalization"/>
    <keyword type="function" name="xmlTextReaderPrefix ()" link="libxml2-xmlreader.html#xmlTextReaderPrefix"/>
    <keyword type="function" name="xmlTextReaderPreserve ()" link="libxml2-xmlreader.html#xmlTextReaderPreserve"/>
    <keyword type="function" name="xmlTextReaderPreservePattern ()" link="libxml2-xmlreader.html#xmlTextReaderPreservePattern"/>
    <keyword type="function" name="xmlTextReaderQuoteChar ()" link="libxml2-xmlreader.html#xmlTextReaderQuoteChar"/>
    <keyword type="function" name="xmlTextReaderRead ()" link="libxml2-xmlreader.html#xmlTextReaderRead"/>
    <keyword type="function" name="xmlTextReaderReadAttributeValue ()" link="libxml2-xmlreader.html#xmlTextReaderReadAttributeValue"/>
    <keyword type="function" name="xmlTextReaderReadInnerXml ()" link="libxml2-xmlreader.html#xmlTextReaderReadInnerXml"/>
    <keyword type="function" name="xmlTextReaderReadOuterXml ()" link="libxml2-xmlreader.html#xmlTextReaderReadOuterXml"/>
    <keyword type="function" name="xmlTextReaderReadState ()" link="libxml2-xmlreader.html#xmlTextReaderReadState"/>
    <keyword type="function" name="xmlTextReaderReadString ()" link="libxml2-xmlreader.html#xmlTextReaderReadString"/>
    <keyword type="function" name="xmlTextReaderRelaxNGSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGSetSchema"/>
    <keyword type="function" name="xmlTextReaderRelaxNGValidate ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGValidate"/>
    <keyword type="function" name="xmlTextReaderRelaxNGValidateCtxt ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt"/>
    <keyword type="function" name="xmlTextReaderSchemaValidate ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidate"/>
    <keyword type="function" name="xmlTextReaderSchemaValidateCtxt ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidateCtxt"/>
    <keyword type="function" name="xmlTextReaderSetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetErrorHandler"/>
    <keyword type="function" name="xmlTextReaderSetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderSetParserProp"/>
    <keyword type="function" name="xmlTextReaderSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderSetSchema"/>
    <keyword type="function" name="xmlTextReaderSetStructuredErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetStructuredErrorHandler"/>
    <keyword type="function" name="xmlTextReaderSetup ()" link="libxml2-xmlreader.html#xmlTextReaderSetup"/>
    <keyword type="function" name="xmlTextReaderStandalone ()" link="libxml2-xmlreader.html#xmlTextReaderStandalone"/>
    <keyword type="function" name="xmlTextReaderValue ()" link="libxml2-xmlreader.html#xmlTextReaderValue"/>
    <keyword type="function" name="xmlTextReaderXmlLang ()" link="libxml2-xmlreader.html#xmlTextReaderXmlLang"/>
    <keyword type="function" name="xmlTextWriterEndAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterEndAttribute"/>
    <keyword type="function" name="xmlTextWriterEndCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterEndCDATA"/>
    <keyword type="function" name="xmlTextWriterEndComment ()" link="libxml2-xmlwriter.html#xmlTextWriterEndComment"/>
    <keyword type="function" name="xmlTextWriterEndDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTD"/>
    <keyword type="function" name="xmlTextWriterEndDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterEndDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDElement"/>
    <keyword type="function" name="xmlTextWriterEndDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDEntity"/>
    <keyword type="function" name="xmlTextWriterEndDocument ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDocument"/>
    <keyword type="function" name="xmlTextWriterEndElement ()" link="libxml2-xmlwriter.html#xmlTextWriterEndElement"/>
    <keyword type="function" name="xmlTextWriterEndPI ()" link="libxml2-xmlwriter.html#xmlTextWriterEndPI"/>
    <keyword type="function" name="xmlTextWriterFlush ()" link="libxml2-xmlwriter.html#xmlTextWriterFlush"/>
    <keyword type="function" name="xmlTextWriterFullEndElement ()" link="libxml2-xmlwriter.html#xmlTextWriterFullEndElement"/>
    <keyword type="function" name="xmlTextWriterSetIndent ()" link="libxml2-xmlwriter.html#xmlTextWriterSetIndent"/>
    <keyword type="function" name="xmlTextWriterSetIndentString ()" link="libxml2-xmlwriter.html#xmlTextWriterSetIndentString"/>
    <keyword type="function" name="xmlTextWriterSetQuoteChar ()" link="libxml2-xmlwriter.html#xmlTextWriterSetQuoteChar"/>
    <keyword type="function" name="xmlTextWriterStartAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterStartAttribute"/>
    <keyword type="function" name="xmlTextWriterStartAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterStartAttributeNS"/>
    <keyword type="function" name="xmlTextWriterStartCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterStartCDATA"/>
    <keyword type="function" name="xmlTextWriterStartComment ()" link="libxml2-xmlwriter.html#xmlTextWriterStartComment"/>
    <keyword type="function" name="xmlTextWriterStartDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTD"/>
    <keyword type="function" name="xmlTextWriterStartDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterStartDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDElement"/>
    <keyword type="function" name="xmlTextWriterStartDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity"/>
    <keyword type="function" name="xmlTextWriterStartDocument ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDocument"/>
    <keyword type="function" name="xmlTextWriterStartElement ()" link="libxml2-xmlwriter.html#xmlTextWriterStartElement"/>
    <keyword type="function" name="xmlTextWriterStartElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterStartElementNS"/>
    <keyword type="function" name="xmlTextWriterStartPI ()" link="libxml2-xmlwriter.html#xmlTextWriterStartPI"/>
    <keyword type="function" name="xmlTextWriterWriteAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteBase64 ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteBase64"/>
    <keyword type="function" name="xmlTextWriterWriteBinHex ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteBinHex"/>
    <keyword type="function" name="xmlTextWriterWriteCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteComment"/>
    <keyword type="function" name="xmlTextWriterWriteDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTD"/>
    <keyword type="function" name="xmlTextWriterWriteDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDExternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDExternalEntityContents ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents"/>
    <keyword type="function" name="xmlTextWriterWriteDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDNotation ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDNotation"/>
    <keyword type="function" name="xmlTextWriterWriteElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteElement"/>
    <keyword type="function" name="xmlTextWriterWriteElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteFormatAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteFormatComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTD"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteFormatElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement"/>
    <keyword type="function" name="xmlTextWriterWriteFormatElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatPI"/>
    <keyword type="function" name="xmlTextWriterWriteFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatRaw"/>
    <keyword type="function" name="xmlTextWriterWriteFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatString"/>
    <keyword type="function" name="xmlTextWriterWritePI ()" link="libxml2-xmlwriter.html#xmlTextWriterWritePI"/>
    <keyword type="function" name="xmlTextWriterWriteRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteRaw"/>
    <keyword type="function" name="xmlTextWriterWriteRawLen ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteRawLen"/>
    <keyword type="function" name="xmlTextWriterWriteString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteString"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatComment"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTD"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatElement"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatPI"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatRaw"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatString"/>
    <keyword type="function" name="xmlThrDefBufferAllocScheme ()" link="libxml2-globals.html#xmlThrDefBufferAllocScheme"/>
    <keyword type="function" name="xmlThrDefDefaultBufferSize ()" link="libxml2-globals.html#xmlThrDefDefaultBufferSize"/>
    <keyword type="function" name="xmlThrDefDeregisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefDeregisterNodeDefault"/>
    <keyword type="function" name="xmlThrDefDoValidityCheckingDefaultValue ()" link="libxml2-globals.html#xmlThrDefDoValidityCheckingDefaultValue"/>
    <keyword type="function" name="xmlThrDefGetWarningsDefaultValue ()" link="libxml2-globals.html#xmlThrDefGetWarningsDefaultValue"/>
    <keyword type="function" name="xmlThrDefIndentTreeOutput ()" link="libxml2-globals.html#xmlThrDefIndentTreeOutput"/>
    <keyword type="function" name="xmlThrDefKeepBlanksDefaultValue ()" link="libxml2-globals.html#xmlThrDefKeepBlanksDefaultValue"/>
    <keyword type="function" name="xmlThrDefLineNumbersDefaultValue ()" link="libxml2-globals.html#xmlThrDefLineNumbersDefaultValue"/>
    <keyword type="function" name="xmlThrDefLoadExtDtdDefaultValue ()" link="libxml2-globals.html#xmlThrDefLoadExtDtdDefaultValue"/>
    <keyword type="function" name="xmlThrDefOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefOutputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlThrDefParserDebugEntities ()" link="libxml2-globals.html#xmlThrDefParserDebugEntities"/>
    <keyword type="function" name="xmlThrDefParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlThrDefPedanticParserDefaultValue ()" link="libxml2-globals.html#xmlThrDefPedanticParserDefaultValue"/>
    <keyword type="function" name="xmlThrDefRegisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefRegisterNodeDefault"/>
    <keyword type="function" name="xmlThrDefSaveNoEmptyTags ()" link="libxml2-globals.html#xmlThrDefSaveNoEmptyTags"/>
    <keyword type="function" name="xmlThrDefSetGenericErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetGenericErrorFunc"/>
    <keyword type="function" name="xmlThrDefSetStructuredErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetStructuredErrorFunc"/>
    <keyword type="function" name="xmlThrDefSubstituteEntitiesDefaultValue ()" link="libxml2-globals.html#xmlThrDefSubstituteEntitiesDefaultValue"/>
    <keyword type="function" name="xmlThrDefTreeIndentString ()" link="libxml2-globals.html#xmlThrDefTreeIndentString"/>
    <keyword type="function" name="xmlUCSIsAegeanNumbers ()" link="libxml2-xmlunicode.html#xmlUCSIsAegeanNumbers"/>
    <keyword type="function" name="xmlUCSIsAlphabeticPresentationForms ()" link="libxml2-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms"/>
    <keyword type="function" name="xmlUCSIsArabic ()" link="libxml2-xmlunicode.html#xmlUCSIsArabic"/>
    <keyword type="function" name="xmlUCSIsArabicPresentationFormsA ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsA"/>
    <keyword type="function" name="xmlUCSIsArabicPresentationFormsB ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsB"/>
    <keyword type="function" name="xmlUCSIsArmenian ()" link="libxml2-xmlunicode.html#xmlUCSIsArmenian"/>
    <keyword type="function" name="xmlUCSIsArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsArrows"/>
    <keyword type="function" name="xmlUCSIsBasicLatin ()" link="libxml2-xmlunicode.html#xmlUCSIsBasicLatin"/>
    <keyword type="function" name="xmlUCSIsBengali ()" link="libxml2-xmlunicode.html#xmlUCSIsBengali"/>
    <keyword type="function" name="xmlUCSIsBlock ()" link="libxml2-xmlunicode.html#xmlUCSIsBlock"/>
    <keyword type="function" name="xmlUCSIsBlockElements ()" link="libxml2-xmlunicode.html#xmlUCSIsBlockElements"/>
    <keyword type="function" name="xmlUCSIsBopomofo ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofo"/>
    <keyword type="function" name="xmlUCSIsBopomofoExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofoExtended"/>
    <keyword type="function" name="xmlUCSIsBoxDrawing ()" link="libxml2-xmlunicode.html#xmlUCSIsBoxDrawing"/>
    <keyword type="function" name="xmlUCSIsBraillePatterns ()" link="libxml2-xmlunicode.html#xmlUCSIsBraillePatterns"/>
    <keyword type="function" name="xmlUCSIsBuhid ()" link="libxml2-xmlunicode.html#xmlUCSIsBuhid"/>
    <keyword type="function" name="xmlUCSIsByzantineMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibility ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibility"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityForms ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityForms"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement"/>
    <keyword type="function" name="xmlUCSIsCJKRadicalsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement"/>
    <keyword type="function" name="xmlUCSIsCJKSymbolsandPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionA ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionB ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB"/>
    <keyword type="function" name="xmlUCSIsCat ()" link="libxml2-xmlunicode.html#xmlUCSIsCat"/>
    <keyword type="function" name="xmlUCSIsCatC ()" link="libxml2-xmlunicode.html#xmlUCSIsCatC"/>
    <keyword type="function" name="xmlUCSIsCatCc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCc"/>
    <keyword type="function" name="xmlUCSIsCatCf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCf"/>
    <keyword type="function" name="xmlUCSIsCatCo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCo"/>
    <keyword type="function" name="xmlUCSIsCatCs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCs"/>
    <keyword type="function" name="xmlUCSIsCatL ()" link="libxml2-xmlunicode.html#xmlUCSIsCatL"/>
    <keyword type="function" name="xmlUCSIsCatLl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLl"/>
    <keyword type="function" name="xmlUCSIsCatLm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLm"/>
    <keyword type="function" name="xmlUCSIsCatLo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLo"/>
    <keyword type="function" name="xmlUCSIsCatLt ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLt"/>
    <keyword type="function" name="xmlUCSIsCatLu ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLu"/>
    <keyword type="function" name="xmlUCSIsCatM ()" link="libxml2-xmlunicode.html#xmlUCSIsCatM"/>
    <keyword type="function" name="xmlUCSIsCatMc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMc"/>
    <keyword type="function" name="xmlUCSIsCatMe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMe"/>
    <keyword type="function" name="xmlUCSIsCatMn ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMn"/>
    <keyword type="function" name="xmlUCSIsCatN ()" link="libxml2-xmlunicode.html#xmlUCSIsCatN"/>
    <keyword type="function" name="xmlUCSIsCatNd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNd"/>
    <keyword type="function" name="xmlUCSIsCatNl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNl"/>
    <keyword type="function" name="xmlUCSIsCatNo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNo"/>
    <keyword type="function" name="xmlUCSIsCatP ()" link="libxml2-xmlunicode.html#xmlUCSIsCatP"/>
    <keyword type="function" name="xmlUCSIsCatPc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPc"/>
    <keyword type="function" name="xmlUCSIsCatPd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPd"/>
    <keyword type="function" name="xmlUCSIsCatPe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPe"/>
    <keyword type="function" name="xmlUCSIsCatPf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPf"/>
    <keyword type="function" name="xmlUCSIsCatPi ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPi"/>
    <keyword type="function" name="xmlUCSIsCatPo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPo"/>
    <keyword type="function" name="xmlUCSIsCatPs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPs"/>
    <keyword type="function" name="xmlUCSIsCatS ()" link="libxml2-xmlunicode.html#xmlUCSIsCatS"/>
    <keyword type="function" name="xmlUCSIsCatSc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSc"/>
    <keyword type="function" name="xmlUCSIsCatSk ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSk"/>
    <keyword type="function" name="xmlUCSIsCatSm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSm"/>
    <keyword type="function" name="xmlUCSIsCatSo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSo"/>
    <keyword type="function" name="xmlUCSIsCatZ ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZ"/>
    <keyword type="function" name="xmlUCSIsCatZl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZl"/>
    <keyword type="function" name="xmlUCSIsCatZp ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZp"/>
    <keyword type="function" name="xmlUCSIsCatZs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZs"/>
    <keyword type="function" name="xmlUCSIsCherokee ()" link="libxml2-xmlunicode.html#xmlUCSIsCherokee"/>
    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks"/>
    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols"/>
    <keyword type="function" name="xmlUCSIsCombiningHalfMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningHalfMarks"/>
    <keyword type="function" name="xmlUCSIsCombiningMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols"/>
    <keyword type="function" name="xmlUCSIsControlPictures ()" link="libxml2-xmlunicode.html#xmlUCSIsControlPictures"/>
    <keyword type="function" name="xmlUCSIsCurrencySymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCurrencySymbols"/>
    <keyword type="function" name="xmlUCSIsCypriotSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsCypriotSyllabary"/>
    <keyword type="function" name="xmlUCSIsCyrillic ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillic"/>
    <keyword type="function" name="xmlUCSIsCyrillicSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillicSupplement"/>
    <keyword type="function" name="xmlUCSIsDeseret ()" link="libxml2-xmlunicode.html#xmlUCSIsDeseret"/>
    <keyword type="function" name="xmlUCSIsDevanagari ()" link="libxml2-xmlunicode.html#xmlUCSIsDevanagari"/>
    <keyword type="function" name="xmlUCSIsDingbats ()" link="libxml2-xmlunicode.html#xmlUCSIsDingbats"/>
    <keyword type="function" name="xmlUCSIsEnclosedAlphanumerics ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics"/>
    <keyword type="function" name="xmlUCSIsEnclosedCJKLettersandMonths ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths"/>
    <keyword type="function" name="xmlUCSIsEthiopic ()" link="libxml2-xmlunicode.html#xmlUCSIsEthiopic"/>
    <keyword type="function" name="xmlUCSIsGeneralPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsGeneralPunctuation"/>
    <keyword type="function" name="xmlUCSIsGeometricShapes ()" link="libxml2-xmlunicode.html#xmlUCSIsGeometricShapes"/>
    <keyword type="function" name="xmlUCSIsGeorgian ()" link="libxml2-xmlunicode.html#xmlUCSIsGeorgian"/>
    <keyword type="function" name="xmlUCSIsGothic ()" link="libxml2-xmlunicode.html#xmlUCSIsGothic"/>
    <keyword type="function" name="xmlUCSIsGreek ()" link="libxml2-xmlunicode.html#xmlUCSIsGreek"/>
    <keyword type="function" name="xmlUCSIsGreekExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekExtended"/>
    <keyword type="function" name="xmlUCSIsGreekandCoptic ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekandCoptic"/>
    <keyword type="function" name="xmlUCSIsGujarati ()" link="libxml2-xmlunicode.html#xmlUCSIsGujarati"/>
    <keyword type="function" name="xmlUCSIsGurmukhi ()" link="libxml2-xmlunicode.html#xmlUCSIsGurmukhi"/>
    <keyword type="function" name="xmlUCSIsHalfwidthandFullwidthForms ()" link="libxml2-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms"/>
    <keyword type="function" name="xmlUCSIsHangulCompatibilityJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo"/>
    <keyword type="function" name="xmlUCSIsHangulJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulJamo"/>
    <keyword type="function" name="xmlUCSIsHangulSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulSyllables"/>
    <keyword type="function" name="xmlUCSIsHanunoo ()" link="libxml2-xmlunicode.html#xmlUCSIsHanunoo"/>
    <keyword type="function" name="xmlUCSIsHebrew ()" link="libxml2-xmlunicode.html#xmlUCSIsHebrew"/>
    <keyword type="function" name="xmlUCSIsHighPrivateUseSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates"/>
    <keyword type="function" name="xmlUCSIsHighSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighSurrogates"/>
    <keyword type="function" name="xmlUCSIsHiragana ()" link="libxml2-xmlunicode.html#xmlUCSIsHiragana"/>
    <keyword type="function" name="xmlUCSIsIPAExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsIPAExtensions"/>
    <keyword type="function" name="xmlUCSIsIdeographicDescriptionCharacters ()" link="libxml2-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters"/>
    <keyword type="function" name="xmlUCSIsKanbun ()" link="libxml2-xmlunicode.html#xmlUCSIsKanbun"/>
    <keyword type="function" name="xmlUCSIsKangxiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsKangxiRadicals"/>
    <keyword type="function" name="xmlUCSIsKannada ()" link="libxml2-xmlunicode.html#xmlUCSIsKannada"/>
    <keyword type="function" name="xmlUCSIsKatakana ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakana"/>
    <keyword type="function" name="xmlUCSIsKatakanaPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions"/>
    <keyword type="function" name="xmlUCSIsKhmer ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmer"/>
    <keyword type="function" name="xmlUCSIsKhmerSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmerSymbols"/>
    <keyword type="function" name="xmlUCSIsLao ()" link="libxml2-xmlunicode.html#xmlUCSIsLao"/>
    <keyword type="function" name="xmlUCSIsLatin1Supplement ()" link="libxml2-xmlunicode.html#xmlUCSIsLatin1Supplement"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedA ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedA"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedAdditional ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedAdditional"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedB ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedB"/>
    <keyword type="function" name="xmlUCSIsLetterlikeSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsLetterlikeSymbols"/>
    <keyword type="function" name="xmlUCSIsLimbu ()" link="libxml2-xmlunicode.html#xmlUCSIsLimbu"/>
    <keyword type="function" name="xmlUCSIsLinearBIdeograms ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBIdeograms"/>
    <keyword type="function" name="xmlUCSIsLinearBSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBSyllabary"/>
    <keyword type="function" name="xmlUCSIsLowSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsLowSurrogates"/>
    <keyword type="function" name="xmlUCSIsMalayalam ()" link="libxml2-xmlunicode.html#xmlUCSIsMalayalam"/>
    <keyword type="function" name="xmlUCSIsMathematicalAlphanumericSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols"/>
    <keyword type="function" name="xmlUCSIsMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalOperators"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsA ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsB ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbols"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousSymbolsandArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousTechnical ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousTechnical"/>
    <keyword type="function" name="xmlUCSIsMongolian ()" link="libxml2-xmlunicode.html#xmlUCSIsMongolian"/>
    <keyword type="function" name="xmlUCSIsMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMusicalSymbols"/>
    <keyword type="function" name="xmlUCSIsMyanmar ()" link="libxml2-xmlunicode.html#xmlUCSIsMyanmar"/>
    <keyword type="function" name="xmlUCSIsNumberForms ()" link="libxml2-xmlunicode.html#xmlUCSIsNumberForms"/>
    <keyword type="function" name="xmlUCSIsOgham ()" link="libxml2-xmlunicode.html#xmlUCSIsOgham"/>
    <keyword type="function" name="xmlUCSIsOldItalic ()" link="libxml2-xmlunicode.html#xmlUCSIsOldItalic"/>
    <keyword type="function" name="xmlUCSIsOpticalCharacterRecognition ()" link="libxml2-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition"/>
    <keyword type="function" name="xmlUCSIsOriya ()" link="libxml2-xmlunicode.html#xmlUCSIsOriya"/>
    <keyword type="function" name="xmlUCSIsOsmanya ()" link="libxml2-xmlunicode.html#xmlUCSIsOsmanya"/>
    <keyword type="function" name="xmlUCSIsPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsPhoneticExtensions"/>
    <keyword type="function" name="xmlUCSIsPrivateUse ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUse"/>
    <keyword type="function" name="xmlUCSIsPrivateUseArea ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUseArea"/>
    <keyword type="function" name="xmlUCSIsRunic ()" link="libxml2-xmlunicode.html#xmlUCSIsRunic"/>
    <keyword type="function" name="xmlUCSIsShavian ()" link="libxml2-xmlunicode.html#xmlUCSIsShavian"/>
    <keyword type="function" name="xmlUCSIsSinhala ()" link="libxml2-xmlunicode.html#xmlUCSIsSinhala"/>
    <keyword type="function" name="xmlUCSIsSmallFormVariants ()" link="libxml2-xmlunicode.html#xmlUCSIsSmallFormVariants"/>
    <keyword type="function" name="xmlUCSIsSpacingModifierLetters ()" link="libxml2-xmlunicode.html#xmlUCSIsSpacingModifierLetters"/>
    <keyword type="function" name="xmlUCSIsSpecials ()" link="libxml2-xmlunicode.html#xmlUCSIsSpecials"/>
    <keyword type="function" name="xmlUCSIsSuperscriptsandSubscripts ()" link="libxml2-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts"/>
    <keyword type="function" name="xmlUCSIsSupplementalArrowsA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsA"/>
    <keyword type="function" name="xmlUCSIsSupplementalArrowsB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsB"/>
    <keyword type="function" name="xmlUCSIsSupplementalMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators"/>
    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA"/>
    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB"/>
    <keyword type="function" name="xmlUCSIsSyriac ()" link="libxml2-xmlunicode.html#xmlUCSIsSyriac"/>
    <keyword type="function" name="xmlUCSIsTagalog ()" link="libxml2-xmlunicode.html#xmlUCSIsTagalog"/>
    <keyword type="function" name="xmlUCSIsTagbanwa ()" link="libxml2-xmlunicode.html#xmlUCSIsTagbanwa"/>
    <keyword type="function" name="xmlUCSIsTags ()" link="libxml2-xmlunicode.html#xmlUCSIsTags"/>
    <keyword type="function" name="xmlUCSIsTaiLe ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiLe"/>
    <keyword type="function" name="xmlUCSIsTaiXuanJingSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols"/>
    <keyword type="function" name="xmlUCSIsTamil ()" link="libxml2-xmlunicode.html#xmlUCSIsTamil"/>
    <keyword type="function" name="xmlUCSIsTelugu ()" link="libxml2-xmlunicode.html#xmlUCSIsTelugu"/>
    <keyword type="function" name="xmlUCSIsThaana ()" link="libxml2-xmlunicode.html#xmlUCSIsThaana"/>
    <keyword type="function" name="xmlUCSIsThai ()" link="libxml2-xmlunicode.html#xmlUCSIsThai"/>
    <keyword type="function" name="xmlUCSIsTibetan ()" link="libxml2-xmlunicode.html#xmlUCSIsTibetan"/>
    <keyword type="function" name="xmlUCSIsUgaritic ()" link="libxml2-xmlunicode.html#xmlUCSIsUgaritic"/>
    <keyword type="function" name="xmlUCSIsUnifiedCanadianAboriginalSyllabics ()" link="libxml2-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics"/>
    <keyword type="function" name="xmlUCSIsVariationSelectors ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectors"/>
    <keyword type="function" name="xmlUCSIsVariationSelectorsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement"/>
    <keyword type="function" name="xmlUCSIsYiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsYiRadicals"/>
    <keyword type="function" name="xmlUCSIsYiSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsYiSyllables"/>
    <keyword type="function" name="xmlUCSIsYijingHexagramSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsYijingHexagramSymbols"/>
    <keyword type="function" name="xmlURIEscape ()" link="libxml2-uri.html#xmlURIEscape"/>
    <keyword type="function" name="xmlURIEscapeStr ()" link="libxml2-uri.html#xmlURIEscapeStr"/>
    <keyword type="function" name="xmlURIUnescapeString ()" link="libxml2-uri.html#xmlURIUnescapeString"/>
    <keyword type="function" name="xmlUTF8Charcmp ()" link="libxml2-xmlstring.html#xmlUTF8Charcmp"/>
    <keyword type="function" name="xmlUTF8Size ()" link="libxml2-xmlstring.html#xmlUTF8Size"/>
    <keyword type="function" name="xmlUTF8Strlen ()" link="libxml2-xmlstring.html#xmlUTF8Strlen"/>
    <keyword type="function" name="xmlUTF8Strloc ()" link="libxml2-xmlstring.html#xmlUTF8Strloc"/>
    <keyword type="function" name="xmlUTF8Strndup ()" link="libxml2-xmlstring.html#xmlUTF8Strndup"/>
    <keyword type="function" name="xmlUTF8Strpos ()" link="libxml2-xmlstring.html#xmlUTF8Strpos"/>
    <keyword type="function" name="xmlUTF8Strsize ()" link="libxml2-xmlstring.html#xmlUTF8Strsize"/>
    <keyword type="function" name="xmlUTF8Strsub ()" link="libxml2-xmlstring.html#xmlUTF8Strsub"/>
    <keyword type="function" name="xmlUnlinkNode ()" link="libxml2-tree.html#xmlUnlinkNode"/>
    <keyword type="function" name="xmlUnlockLibrary ()" link="libxml2-threads.html#xmlUnlockLibrary"/>
    <keyword type="function" name="xmlUnsetNsProp ()" link="libxml2-tree.html#xmlUnsetNsProp"/>
    <keyword type="function" name="xmlUnsetProp ()" link="libxml2-tree.html#xmlUnsetProp"/>
    <keyword type="function" name="xmlValidBuildContentModel ()" link="libxml2-valid.html#xmlValidBuildContentModel"/>
    <keyword type="function" name="xmlValidCtxtNormalizeAttributeValue ()" link="libxml2-valid.html#xmlValidCtxtNormalizeAttributeValue"/>
    <keyword type="function" name="xmlValidGetPotentialChildren ()" link="libxml2-valid.html#xmlValidGetPotentialChildren"/>
    <keyword type="function" name="xmlValidGetValidElements ()" link="libxml2-valid.html#xmlValidGetValidElements"/>
    <keyword type="function" name="xmlValidNormalizeAttributeValue ()" link="libxml2-valid.html#xmlValidNormalizeAttributeValue"/>
    <keyword type="function" name="xmlValidateAttributeDecl ()" link="libxml2-valid.html#xmlValidateAttributeDecl"/>
    <keyword type="function" name="xmlValidateAttributeValue ()" link="libxml2-valid.html#xmlValidateAttributeValue"/>
    <keyword type="function" name="xmlValidateDocument ()" link="libxml2-valid.html#xmlValidateDocument"/>
    <keyword type="function" name="xmlValidateDocumentFinal ()" link="libxml2-valid.html#xmlValidateDocumentFinal"/>
    <keyword type="function" name="xmlValidateDtd ()" link="libxml2-valid.html#xmlValidateDtd"/>
    <keyword type="function" name="xmlValidateDtdFinal ()" link="libxml2-valid.html#xmlValidateDtdFinal"/>
    <keyword type="function" name="xmlValidateElement ()" link="libxml2-valid.html#xmlValidateElement"/>
    <keyword type="function" name="xmlValidateElementDecl ()" link="libxml2-valid.html#xmlValidateElementDecl"/>
    <keyword type="function" name="xmlValidateNCName ()" link="libxml2-tree.html#xmlValidateNCName"/>
    <keyword type="function" name="xmlValidateNMToken ()" link="libxml2-tree.html#xmlValidateNMToken"/>
    <keyword type="function" name="xmlValidateName ()" link="libxml2-tree.html#xmlValidateName"/>
    <keyword type="function" name="xmlValidateNameValue ()" link="libxml2-valid.html#xmlValidateNameValue"/>
    <keyword type="function" name="xmlValidateNamesValue ()" link="libxml2-valid.html#xmlValidateNamesValue"/>
    <keyword type="function" name="xmlValidateNmtokenValue ()" link="libxml2-valid.html#xmlValidateNmtokenValue"/>
    <keyword type="function" name="xmlValidateNmtokensValue ()" link="libxml2-valid.html#xmlValidateNmtokensValue"/>
    <keyword type="function" name="xmlValidateNotationDecl ()" link="libxml2-valid.html#xmlValidateNotationDecl"/>
    <keyword type="function" name="xmlValidateNotationUse ()" link="libxml2-valid.html#xmlValidateNotationUse"/>
    <keyword type="function" name="xmlValidateOneAttribute ()" link="libxml2-valid.html#xmlValidateOneAttribute"/>
    <keyword type="function" name="xmlValidateOneElement ()" link="libxml2-valid.html#xmlValidateOneElement"/>
    <keyword type="function" name="xmlValidateOneNamespace ()" link="libxml2-valid.html#xmlValidateOneNamespace"/>
    <keyword type="function" name="xmlValidatePopElement ()" link="libxml2-valid.html#xmlValidatePopElement"/>
    <keyword type="function" name="xmlValidatePushCData ()" link="libxml2-valid.html#xmlValidatePushCData"/>
    <keyword type="function" name="xmlValidatePushElement ()" link="libxml2-valid.html#xmlValidatePushElement"/>
    <keyword type="function" name="xmlValidateQName ()" link="libxml2-tree.html#xmlValidateQName"/>
    <keyword type="function" name="xmlValidateRoot ()" link="libxml2-valid.html#xmlValidateRoot"/>
    <keyword type="function" name="xmlXIncludeFreeContext ()" link="libxml2-xinclude.html#xmlXIncludeFreeContext"/>
    <keyword type="function" name="xmlXIncludeNewContext ()" link="libxml2-xinclude.html#xmlXIncludeNewContext"/>
    <keyword type="function" name="xmlXIncludeProcess ()" link="libxml2-xinclude.html#xmlXIncludeProcess"/>
    <keyword type="function" name="xmlXIncludeProcessFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlags"/>
    <keyword type="function" name="xmlXIncludeProcessFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlagsData"/>
    <keyword type="function" name="xmlXIncludeProcessNode ()" link="libxml2-xinclude.html#xmlXIncludeProcessNode"/>
    <keyword type="function" name="xmlXIncludeProcessTree ()" link="libxml2-xinclude.html#xmlXIncludeProcessTree"/>
    <keyword type="function" name="xmlXIncludeProcessTreeFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlags"/>
    <keyword type="function" name="xmlXIncludeProcessTreeFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlagsData"/>
    <keyword type="function" name="xmlXIncludeSetFlags ()" link="libxml2-xinclude.html#xmlXIncludeSetFlags"/>
    <keyword type="function" name="xmlXPathAddValues ()" link="libxml2-xpathInternals.html#xmlXPathAddValues"/>
    <keyword type="function" name="xmlXPathBooleanFunction ()" link="libxml2-xpathInternals.html#xmlXPathBooleanFunction"/>
    <keyword type="function" name="xmlXPathCastBooleanToNumber ()" link="libxml2-xpath.html#xmlXPathCastBooleanToNumber"/>
    <keyword type="function" name="xmlXPathCastBooleanToString ()" link="libxml2-xpath.html#xmlXPathCastBooleanToString"/>
    <keyword type="function" name="xmlXPathCastNodeSetToBoolean ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToBoolean"/>
    <keyword type="function" name="xmlXPathCastNodeSetToNumber ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToNumber"/>
    <keyword type="function" name="xmlXPathCastNodeSetToString ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToString"/>
    <keyword type="function" name="xmlXPathCastNodeToNumber ()" link="libxml2-xpath.html#xmlXPathCastNodeToNumber"/>
    <keyword type="function" name="xmlXPathCastNodeToString ()" link="libxml2-xpath.html#xmlXPathCastNodeToString"/>
    <keyword type="function" name="xmlXPathCastNumberToBoolean ()" link="libxml2-xpath.html#xmlXPathCastNumberToBoolean"/>
    <keyword type="function" name="xmlXPathCastNumberToString ()" link="libxml2-xpath.html#xmlXPathCastNumberToString"/>
    <keyword type="function" name="xmlXPathCastStringToBoolean ()" link="libxml2-xpath.html#xmlXPathCastStringToBoolean"/>
    <keyword type="function" name="xmlXPathCastStringToNumber ()" link="libxml2-xpath.html#xmlXPathCastStringToNumber"/>
    <keyword type="function" name="xmlXPathCastToBoolean ()" link="libxml2-xpath.html#xmlXPathCastToBoolean"/>
    <keyword type="function" name="xmlXPathCastToNumber ()" link="libxml2-xpath.html#xmlXPathCastToNumber"/>
    <keyword type="function" name="xmlXPathCastToString ()" link="libxml2-xpath.html#xmlXPathCastToString"/>
    <keyword type="function" name="xmlXPathCeilingFunction ()" link="libxml2-xpathInternals.html#xmlXPathCeilingFunction"/>
    <keyword type="function" name="xmlXPathCmpNodes ()" link="libxml2-xpath.html#xmlXPathCmpNodes"/>
    <keyword type="function" name="xmlXPathCompareValues ()" link="libxml2-xpathInternals.html#xmlXPathCompareValues"/>
    <keyword type="function" name="xmlXPathCompile ()" link="libxml2-xpath.html#xmlXPathCompile"/>
    <keyword type="function" name="xmlXPathCompiledEval ()" link="libxml2-xpath.html#xmlXPathCompiledEval"/>
    <keyword type="function" name="xmlXPathCompiledEvalToBoolean ()" link="libxml2-xpath.html#xmlXPathCompiledEvalToBoolean"/>
    <keyword type="function" name="xmlXPathConcatFunction ()" link="libxml2-xpathInternals.html#xmlXPathConcatFunction"/>
    <keyword type="function" name="xmlXPathContainsFunction ()" link="libxml2-xpathInternals.html#xmlXPathContainsFunction"/>
    <keyword type="function" name="xmlXPathContextSetCache ()" link="libxml2-xpath.html#xmlXPathContextSetCache"/>
    <keyword type="function" name="xmlXPathConvertBoolean ()" link="libxml2-xpath.html#xmlXPathConvertBoolean"/>
    <keyword type="function" name="xmlXPathConvertNumber ()" link="libxml2-xpath.html#xmlXPathConvertNumber"/>
    <keyword type="function" name="xmlXPathConvertString ()" link="libxml2-xpath.html#xmlXPathConvertString"/>
    <keyword type="function" name="xmlXPathCountFunction ()" link="libxml2-xpathInternals.html#xmlXPathCountFunction"/>
    <keyword type="function" name="xmlXPathCtxtCompile ()" link="libxml2-xpath.html#xmlXPathCtxtCompile"/>
    <keyword type="function" name="xmlXPathDebugDumpCompExpr ()" link="libxml2-xpathInternals.html#xmlXPathDebugDumpCompExpr"/>
    <keyword type="function" name="xmlXPathDebugDumpObject ()" link="libxml2-xpathInternals.html#xmlXPathDebugDumpObject"/>
    <keyword type="function" name="xmlXPathDifference ()" link="libxml2-xpathInternals.html#xmlXPathDifference"/>
    <keyword type="function" name="xmlXPathDistinct ()" link="libxml2-xpathInternals.html#xmlXPathDistinct"/>
    <keyword type="function" name="xmlXPathDistinctSorted ()" link="libxml2-xpathInternals.html#xmlXPathDistinctSorted"/>
    <keyword type="function" name="xmlXPathDivValues ()" link="libxml2-xpathInternals.html#xmlXPathDivValues"/>
    <keyword type="function" name="xmlXPathEqualValues ()" link="libxml2-xpathInternals.html#xmlXPathEqualValues"/>
    <keyword type="function" name="xmlXPathErr ()" link="libxml2-xpathInternals.html#xmlXPathErr"/>
    <keyword type="function" name="xmlXPathEval ()" link="libxml2-xpath.html#xmlXPathEval"/>
    <keyword type="function" name="xmlXPathEvalExpr ()" link="libxml2-xpathInternals.html#xmlXPathEvalExpr"/>
    <keyword type="function" name="xmlXPathEvalExpression ()" link="libxml2-xpath.html#xmlXPathEvalExpression"/>
    <keyword type="function" name="xmlXPathEvalPredicate ()" link="libxml2-xpath.html#xmlXPathEvalPredicate"/>
    <keyword type="function" name="xmlXPathEvaluatePredicateResult ()" link="libxml2-xpathInternals.html#xmlXPathEvaluatePredicateResult"/>
    <keyword type="function" name="xmlXPathFalseFunction ()" link="libxml2-xpathInternals.html#xmlXPathFalseFunction"/>
    <keyword type="function" name="xmlXPathFloorFunction ()" link="libxml2-xpathInternals.html#xmlXPathFloorFunction"/>
    <keyword type="function" name="xmlXPathFreeCompExpr ()" link="libxml2-xpath.html#xmlXPathFreeCompExpr"/>
    <keyword type="function" name="xmlXPathFreeContext ()" link="libxml2-xpath.html#xmlXPathFreeContext"/>
    <keyword type="function" name="xmlXPathFreeNodeSet ()" link="libxml2-xpath.html#xmlXPathFreeNodeSet"/>
    <keyword type="function" name="xmlXPathFreeNodeSetList ()" link="libxml2-xpath.html#xmlXPathFreeNodeSetList"/>
    <keyword type="function" name="xmlXPathFreeObject ()" link="libxml2-xpath.html#xmlXPathFreeObject"/>
    <keyword type="function" name="xmlXPathFreeParserContext ()" link="libxml2-xpathInternals.html#xmlXPathFreeParserContext"/>
    <keyword type="function" name="xmlXPathFunctionLookup ()" link="libxml2-xpathInternals.html#xmlXPathFunctionLookup"/>
    <keyword type="function" name="xmlXPathFunctionLookupNS ()" link="libxml2-xpathInternals.html#xmlXPathFunctionLookupNS"/>
    <keyword type="function" name="xmlXPathHasSameNodes ()" link="libxml2-xpathInternals.html#xmlXPathHasSameNodes"/>
    <keyword type="function" name="xmlXPathIdFunction ()" link="libxml2-xpathInternals.html#xmlXPathIdFunction"/>
    <keyword type="function" name="xmlXPathInit ()" link="libxml2-xpath.html#xmlXPathInit"/>
    <keyword type="function" name="xmlXPathIntersection ()" link="libxml2-xpathInternals.html#xmlXPathIntersection"/>
    <keyword type="function" name="xmlXPathIsInf ()" link="libxml2-xpath.html#xmlXPathIsInf"/>
    <keyword type="function" name="xmlXPathIsNaN ()" link="libxml2-xpath.html#xmlXPathIsNaN"/>
    <keyword type="function" name="xmlXPathIsNodeType ()" link="libxml2-xpathInternals.html#xmlXPathIsNodeType"/>
    <keyword type="function" name="xmlXPathLangFunction ()" link="libxml2-xpathInternals.html#xmlXPathLangFunction"/>
    <keyword type="function" name="xmlXPathLastFunction ()" link="libxml2-xpathInternals.html#xmlXPathLastFunction"/>
    <keyword type="function" name="xmlXPathLeading ()" link="libxml2-xpathInternals.html#xmlXPathLeading"/>
    <keyword type="function" name="xmlXPathLeadingSorted ()" link="libxml2-xpathInternals.html#xmlXPathLeadingSorted"/>
    <keyword type="function" name="xmlXPathLocalNameFunction ()" link="libxml2-xpathInternals.html#xmlXPathLocalNameFunction"/>
    <keyword type="function" name="xmlXPathModValues ()" link="libxml2-xpathInternals.html#xmlXPathModValues"/>
    <keyword type="function" name="xmlXPathMultValues ()" link="libxml2-xpathInternals.html#xmlXPathMultValues"/>
    <keyword type="function" name="xmlXPathNamespaceURIFunction ()" link="libxml2-xpathInternals.html#xmlXPathNamespaceURIFunction"/>
    <keyword type="function" name="xmlXPathNewBoolean ()" link="libxml2-xpathInternals.html#xmlXPathNewBoolean"/>
    <keyword type="function" name="xmlXPathNewCString ()" link="libxml2-xpathInternals.html#xmlXPathNewCString"/>
    <keyword type="function" name="xmlXPathNewContext ()" link="libxml2-xpath.html#xmlXPathNewContext"/>
    <keyword type="function" name="xmlXPathNewFloat ()" link="libxml2-xpathInternals.html#xmlXPathNewFloat"/>
    <keyword type="function" name="xmlXPathNewNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathNewNodeSet"/>
    <keyword type="function" name="xmlXPathNewNodeSetList ()" link="libxml2-xpathInternals.html#xmlXPathNewNodeSetList"/>
    <keyword type="function" name="xmlXPathNewParserContext ()" link="libxml2-xpathInternals.html#xmlXPathNewParserContext"/>
    <keyword type="function" name="xmlXPathNewString ()" link="libxml2-xpathInternals.html#xmlXPathNewString"/>
    <keyword type="function" name="xmlXPathNewValueTree ()" link="libxml2-xpathInternals.html#xmlXPathNewValueTree"/>
    <keyword type="function" name="xmlXPathNextAncestor ()" link="libxml2-xpathInternals.html#xmlXPathNextAncestor"/>
    <keyword type="function" name="xmlXPathNextAncestorOrSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextAncestorOrSelf"/>
    <keyword type="function" name="xmlXPathNextAttribute ()" link="libxml2-xpathInternals.html#xmlXPathNextAttribute"/>
    <keyword type="function" name="xmlXPathNextChild ()" link="libxml2-xpathInternals.html#xmlXPathNextChild"/>
    <keyword type="function" name="xmlXPathNextDescendant ()" link="libxml2-xpathInternals.html#xmlXPathNextDescendant"/>
    <keyword type="function" name="xmlXPathNextDescendantOrSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextDescendantOrSelf"/>
    <keyword type="function" name="xmlXPathNextFollowing ()" link="libxml2-xpathInternals.html#xmlXPathNextFollowing"/>
    <keyword type="function" name="xmlXPathNextFollowingSibling ()" link="libxml2-xpathInternals.html#xmlXPathNextFollowingSibling"/>
    <keyword type="function" name="xmlXPathNextNamespace ()" link="libxml2-xpathInternals.html#xmlXPathNextNamespace"/>
    <keyword type="function" name="xmlXPathNextParent ()" link="libxml2-xpathInternals.html#xmlXPathNextParent"/>
    <keyword type="function" name="xmlXPathNextPreceding ()" link="libxml2-xpathInternals.html#xmlXPathNextPreceding"/>
    <keyword type="function" name="xmlXPathNextPrecedingSibling ()" link="libxml2-xpathInternals.html#xmlXPathNextPrecedingSibling"/>
    <keyword type="function" name="xmlXPathNextSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextSelf"/>
    <keyword type="function" name="xmlXPathNodeEval ()" link="libxml2-xpath.html#xmlXPathNodeEval"/>
    <keyword type="function" name="xmlXPathNodeLeading ()" link="libxml2-xpathInternals.html#xmlXPathNodeLeading"/>
    <keyword type="function" name="xmlXPathNodeLeadingSorted ()" link="libxml2-xpathInternals.html#xmlXPathNodeLeadingSorted"/>
    <keyword type="function" name="xmlXPathNodeSetAdd ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAdd"/>
    <keyword type="function" name="xmlXPathNodeSetAddNs ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAddNs"/>
    <keyword type="function" name="xmlXPathNodeSetAddUnique ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAddUnique"/>
    <keyword type="function" name="xmlXPathNodeSetContains ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetContains"/>
    <keyword type="function" name="xmlXPathNodeSetCreate ()" link="libxml2-xpath.html#xmlXPathNodeSetCreate"/>
    <keyword type="function" name="xmlXPathNodeSetDel ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetDel"/>
    <keyword type="function" name="xmlXPathNodeSetFreeNs ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetFreeNs"/>
    <keyword type="function" name="xmlXPathNodeSetMerge ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetMerge"/>
    <keyword type="function" name="xmlXPathNodeSetRemove ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetRemove"/>
    <keyword type="function" name="xmlXPathNodeSetSort ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetSort"/>
    <keyword type="function" name="xmlXPathNodeTrailing ()" link="libxml2-xpathInternals.html#xmlXPathNodeTrailing"/>
    <keyword type="function" name="xmlXPathNodeTrailingSorted ()" link="libxml2-xpathInternals.html#xmlXPathNodeTrailingSorted"/>
    <keyword type="function" name="xmlXPathNormalizeFunction ()" link="libxml2-xpathInternals.html#xmlXPathNormalizeFunction"/>
    <keyword type="function" name="xmlXPathNotEqualValues ()" link="libxml2-xpathInternals.html#xmlXPathNotEqualValues"/>
    <keyword type="function" name="xmlXPathNotFunction ()" link="libxml2-xpathInternals.html#xmlXPathNotFunction"/>
    <keyword type="function" name="xmlXPathNsLookup ()" link="libxml2-xpathInternals.html#xmlXPathNsLookup"/>
    <keyword type="function" name="xmlXPathNumberFunction ()" link="libxml2-xpathInternals.html#xmlXPathNumberFunction"/>
    <keyword type="function" name="xmlXPathObjectCopy ()" link="libxml2-xpath.html#xmlXPathObjectCopy"/>
    <keyword type="function" name="xmlXPathOrderDocElems ()" link="libxml2-xpath.html#xmlXPathOrderDocElems"/>
    <keyword type="function" name="xmlXPathParseNCName ()" link="libxml2-xpathInternals.html#xmlXPathParseNCName"/>
    <keyword type="function" name="xmlXPathParseName ()" link="libxml2-xpathInternals.html#xmlXPathParseName"/>
    <keyword type="function" name="xmlXPathPopBoolean ()" link="libxml2-xpathInternals.html#xmlXPathPopBoolean"/>
    <keyword type="function" name="xmlXPathPopExternal ()" link="libxml2-xpathInternals.html#xmlXPathPopExternal"/>
    <keyword type="function" name="xmlXPathPopNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathPopNodeSet"/>
    <keyword type="function" name="xmlXPathPopNumber ()" link="libxml2-xpathInternals.html#xmlXPathPopNumber"/>
    <keyword type="function" name="xmlXPathPopString ()" link="libxml2-xpathInternals.html#xmlXPathPopString"/>
    <keyword type="function" name="xmlXPathPositionFunction ()" link="libxml2-xpathInternals.html#xmlXPathPositionFunction"/>
    <keyword type="function" name="xmlXPathRegisterAllFunctions ()" link="libxml2-xpathInternals.html#xmlXPathRegisterAllFunctions"/>
    <keyword type="function" name="xmlXPathRegisterFunc ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFunc"/>
    <keyword type="function" name="xmlXPathRegisterFuncLookup ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFuncLookup"/>
    <keyword type="function" name="xmlXPathRegisterFuncNS ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFuncNS"/>
    <keyword type="function" name="xmlXPathRegisterNs ()" link="libxml2-xpathInternals.html#xmlXPathRegisterNs"/>
    <keyword type="function" name="xmlXPathRegisterVariable ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariable"/>
    <keyword type="function" name="xmlXPathRegisterVariableLookup ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariableLookup"/>
    <keyword type="function" name="xmlXPathRegisterVariableNS ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariableNS"/>
    <keyword type="function" name="xmlXPathRegisteredFuncsCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredFuncsCleanup"/>
    <keyword type="function" name="xmlXPathRegisteredNsCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredNsCleanup"/>
    <keyword type="function" name="xmlXPathRegisteredVariablesCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredVariablesCleanup"/>
    <keyword type="function" name="xmlXPathRoot ()" link="libxml2-xpathInternals.html#xmlXPathRoot"/>
    <keyword type="function" name="xmlXPathRoundFunction ()" link="libxml2-xpathInternals.html#xmlXPathRoundFunction"/>
    <keyword type="function" name="xmlXPathSetContextNode ()" link="libxml2-xpath.html#xmlXPathSetContextNode"/>
    <keyword type="function" name="xmlXPathStartsWithFunction ()" link="libxml2-xpathInternals.html#xmlXPathStartsWithFunction"/>
    <keyword type="function" name="xmlXPathStringEvalNumber ()" link="libxml2-xpathInternals.html#xmlXPathStringEvalNumber"/>
    <keyword type="function" name="xmlXPathStringFunction ()" link="libxml2-xpathInternals.html#xmlXPathStringFunction"/>
    <keyword type="function" name="xmlXPathStringLengthFunction ()" link="libxml2-xpathInternals.html#xmlXPathStringLengthFunction"/>
    <keyword type="function" name="xmlXPathSubValues ()" link="libxml2-xpathInternals.html#xmlXPathSubValues"/>
    <keyword type="function" name="xmlXPathSubstringAfterFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringAfterFunction"/>
    <keyword type="function" name="xmlXPathSubstringBeforeFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringBeforeFunction"/>
    <keyword type="function" name="xmlXPathSubstringFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringFunction"/>
    <keyword type="function" name="xmlXPathSumFunction ()" link="libxml2-xpathInternals.html#xmlXPathSumFunction"/>
    <keyword type="function" name="xmlXPathTrailing ()" link="libxml2-xpathInternals.html#xmlXPathTrailing"/>
    <keyword type="function" name="xmlXPathTrailingSorted ()" link="libxml2-xpathInternals.html#xmlXPathTrailingSorted"/>
    <keyword type="function" name="xmlXPathTranslateFunction ()" link="libxml2-xpathInternals.html#xmlXPathTranslateFunction"/>
    <keyword type="function" name="xmlXPathTrueFunction ()" link="libxml2-xpathInternals.html#xmlXPathTrueFunction"/>
    <keyword type="function" name="xmlXPathValueFlipSign ()" link="libxml2-xpathInternals.html#xmlXPathValueFlipSign"/>
    <keyword type="function" name="xmlXPathVariableLookup ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookup"/>
    <keyword type="function" name="xmlXPathVariableLookupNS ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookupNS"/>
    <keyword type="function" name="xmlXPathWrapCString ()" link="libxml2-xpathInternals.html#xmlXPathWrapCString"/>
    <keyword type="function" name="xmlXPathWrapExternal ()" link="libxml2-xpathInternals.html#xmlXPathWrapExternal"/>
    <keyword type="function" name="xmlXPathWrapNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathWrapNodeSet"/>
    <keyword type="function" name="xmlXPathWrapString ()" link="libxml2-xpathInternals.html#xmlXPathWrapString"/>
    <keyword type="function" name="xmlXPatherror ()" link="libxml2-xpathInternals.html#xmlXPatherror"/>
    <keyword type="function" name="xmlXPtrBuildNodeList ()" link="libxml2-xpointer.html#xmlXPtrBuildNodeList"/>
    <keyword type="function" name="xmlXPtrEval ()" link="libxml2-xpointer.html#xmlXPtrEval"/>
    <keyword type="function" name="xmlXPtrEvalRangePredicate ()" link="libxml2-xpointer.html#xmlXPtrEvalRangePredicate"/>
    <keyword type="function" name="xmlXPtrFreeLocationSet ()" link="libxml2-xpointer.html#xmlXPtrFreeLocationSet"/>
    <keyword type="function" name="xmlXPtrLocationSetAdd ()" link="libxml2-xpointer.html#xmlXPtrLocationSetAdd"/>
    <keyword type="function" name="xmlXPtrLocationSetCreate ()" link="libxml2-xpointer.html#xmlXPtrLocationSetCreate"/>
    <keyword type="function" name="xmlXPtrLocationSetDel ()" link="libxml2-xpointer.html#xmlXPtrLocationSetDel"/>
    <keyword type="function" name="xmlXPtrLocationSetMerge ()" link="libxml2-xpointer.html#xmlXPtrLocationSetMerge"/>
    <keyword type="function" name="xmlXPtrLocationSetRemove ()" link="libxml2-xpointer.html#xmlXPtrLocationSetRemove"/>
    <keyword type="function" name="xmlXPtrNewCollapsedRange ()" link="libxml2-xpointer.html#xmlXPtrNewCollapsedRange"/>
    <keyword type="function" name="xmlXPtrNewContext ()" link="libxml2-xpointer.html#xmlXPtrNewContext"/>
    <keyword type="function" name="xmlXPtrNewLocationSetNodeSet ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodeSet"/>
    <keyword type="function" name="xmlXPtrNewLocationSetNodes ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodes"/>
    <keyword type="function" name="xmlXPtrNewRange ()" link="libxml2-xpointer.html#xmlXPtrNewRange"/>
    <keyword type="function" name="xmlXPtrNewRangeNodeObject ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodeObject"/>
    <keyword type="function" name="xmlXPtrNewRangeNodePoint ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodePoint"/>
    <keyword type="function" name="xmlXPtrNewRangeNodes ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodes"/>
    <keyword type="function" name="xmlXPtrNewRangePointNode ()" link="libxml2-xpointer.html#xmlXPtrNewRangePointNode"/>
    <keyword type="function" name="xmlXPtrNewRangePoints ()" link="libxml2-xpointer.html#xmlXPtrNewRangePoints"/>
    <keyword type="function" name="xmlXPtrRangeToFunction ()" link="libxml2-xpointer.html#xmlXPtrRangeToFunction"/>
    <keyword type="function" name="xmlXPtrWrapLocationSet ()" link="libxml2-xpointer.html#xmlXPtrWrapLocationSet"/>
  </functions>
</book>
share/gtk-doc/html/libxml2/general.html000064400000011674150505766360014044 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>libxml2: </title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="index.html" title="libxml2 Reference Manual">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="index.html" title="libxml2 Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">libxml2 API Modules</span></h2>
<p><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br><a href="libxml2-dict.html">dict</a> - string dictionary<br><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br><a href="libxml2-hash.html">hash</a> - Chained hash tables<br><a href="libxml2-list.html">list</a> - lists interfaces<br><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br><a href="libxml2-parser.html">parser</a> - the core parser module<br><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br><a href="libxml2-schematron.html">schematron</a> - XML Schematron implementation<br><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br><a href="libxml2-valid.html">valid</a> - The DTD validation<br><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br><a href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br></p>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-entities.html000064400000054256150505766370015626 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>entities: interface for the XML entities handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">entities</span></h2>
<p>entities - interface for the XML entities handling</p>
<p>this module provides some of the entity API needed for the parser and applications. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
typedef <a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a href="#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>;
typedef enum <a href="#xmlEntityType">xmlEntityType</a>;
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>	(void);
<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>	(void);
void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDocEntity">xmlGetDocEntity</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a>	(void);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntitiesTable">Structure </a>xmlEntitiesTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlEntitiesTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntitiesTablePtr">Typedef </a>xmlEntitiesTablePtr</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * xmlEntitiesTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityType">Enum </a>xmlEntityType</h3>
<pre class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
    <a name="XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a> = 1
    <a name="XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a> = 2
    <a name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a> = 3
    <a name="XML_INTERNAL_PARAMETER_ENTITY">XML_INTERNAL_PARAMETER_ENTITY</a> = 4
    <a name="XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a> = 5
    <a name="XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a> = 6
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddDocEntity"></a>xmlAddDocEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDocEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Register a new entity for this document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddDtdEntity"></a>xmlAddDtdEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Register a new entity for this document DTD external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupPredefinedEntities"></a>xmlCleanupPredefinedEntities ()</h3>
<pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br>
</pre>
<p>Cleanup up the predefined entities table. Deprecated call</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyEntitiesTable"></a>xmlCopyEntitiesTable ()</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>Build a copy of an entity table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEntitiesTable"></a>xmlCreateEntitiesTable ()</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCreateEntitiesTable	(void)<br>
</pre>
<p>create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpEntitiesTable"></a>xmlDumpEntitiesTable ()</h3>
<pre class="programlisting">void	xmlDumpEntitiesTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the entity table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>An XML buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpEntityDecl"></a>xmlDumpEntityDecl ()</h3>
<pre class="programlisting">void	xmlDumpEntityDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br>
</pre>
<p>This will dump the content of the entity table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>An XML buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>ent</tt></i>:</span></td>
<td>An entity table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeEntities"></a>xmlEncodeEntities ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml2-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeEntitiesReentrant"></a>xmlEncodeEntitiesReentrant ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeSpecialChars"></a>xmlEncodeSpecialChars ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeEntitiesTable"></a>xmlFreeEntitiesTable ()</h3>
<pre class="programlisting">void	xmlFreeEntitiesTable		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDocEntity		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the document entity hash table and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdEntity"></a>xmlGetDtdEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the DTD entity hash table and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetParameterEntity"></a>xmlGetParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetParameterEntity	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the internal and external subsets and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetPredefinedEntity"></a>xmlGetPredefinedEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetPredefinedEntity	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Check whether this name is an predefined entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializePredefinedEntities"></a>xmlInitializePredefinedEntities ()</h3>
<pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br>
</pre>
<p>Set up the predefined entities. Deprecated call</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewEntity"></a>xmlNewEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlexports.html000064400000006407150505766370016222 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlexports: macros for marking symbols as exportable/importable.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlexports</span></h2>
<p>xmlexports - macros for marking symbols as exportable/importable.</p>
<p>macros for marking symbols as exportable/importable. </p>
<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
#define <a href="#XMLCALL">XMLCALL</a>;
#define <a href="#XMLCDECL">XMLCDECL</a>;
#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DLL_IMPORT">Macro </a>LIBXML_DLL_IMPORT</h3>
<pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLCALL">Macro </a>XMLCALL</h3>
<pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
</pre>
<p>Macro which declares the calling convention for exported functions</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLCDECL">Macro </a>XMLCDECL</h3>
<pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
</pre>
<p>Macro which declares the calling convention for exported functions that use '...'.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3>
<pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
</pre>
<p>Macro which declares an exportable function</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3>
<pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
</pre>
<p>Macro which declares a public symbol</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3>
<pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
</pre>
<p>Macro which declares an exportable variable</p>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xinclude.html000064400000036020150505766370015602 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xinclude: implementation of XInclude</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xinclude</span></h2>
<p>xinclude - implementation of XInclude</p>
<p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
typedef struct _xmlXIncludeCtxt <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a>;
typedef <a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a href="#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>;
void	<a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);
<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	<a href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags);
int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data);
int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags);
int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data);
int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
</pre>
<p>Macro defining "fallback"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
</pre>
<p>Macro defining "href"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
</pre>
<p>Macro defining "include"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
</pre>
<p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
</pre>
<p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
</pre>
<p>Macro defining "parse"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_ENCODING">Macro </a>XINCLUDE_PARSE_ENCODING</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
</pre>
<p>Macro defining "encoding"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_TEXT">Macro </a>XINCLUDE_PARSE_TEXT</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
</pre>
<p>Macro defining "text"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_XML">Macro </a>XINCLUDE_PARSE_XML</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
</pre>
<p>Macro defining "xml"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_XPOINTER">Macro </a>XINCLUDE_PARSE_XPOINTER</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
</pre>
<p>Macro defining "xpointer"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3>
<pre class="programlisting">struct _xmlXIncludeCtxt {
The content of this structure is not made public by the API.
} xmlXIncludeCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeCtxtPtr">Typedef </a>xmlXIncludeCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * xmlXIncludeCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeFreeContext"></a>xmlXIncludeFreeContext ()</h3>
<pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br>
</pre>
<p>Free an XInclude context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XInclude context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeNewContext"></a>xmlXIncludeNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	xmlXIncludeNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Creates a new XInclude context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML Document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcess"></a>xmlXIncludeProcess ()</h3>
<pre class="programlisting">int	xmlXIncludeProcess		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessFlags"></a>xmlXIncludeProcessFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessFlagsData"></a>xmlXIncludeProcessFlagsData ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessNode"></a>xmlXIncludeProcessNode ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree reusing the information and data coming from the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an existing XInclude context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTree"></a>xmlXIncludeProcessTree ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTreeFlags"></a>xmlXIncludeProcessTreeFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTreeFlags	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTreeFlagsData"></a>xmlXIncludeProcessTreeFlagsData ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTreeFlagsData	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data)<br>
</pre>
<p>Implement the XInclude substitution on the XML node @tree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>an XML node</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeSetFlags"></a>xmlXIncludeSetFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeSetFlags		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags)<br>
</pre>
<p>Set the flags used for further processing of XML resources.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XInclude processing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html000064400000126643150505766400017225 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlschemastypes: implementation of XML Schema Datatypes</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlschemastypes</span></h2>
<p>xmlschemastypes - implementation of XML Schema Datatypes</p>
<p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>		(void);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
int	<a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type);
int	<a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
int	<a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	<a href="#xmlSchemaGetValType">xmlSchemaGetValType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
void	<a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>		(void);
int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType);
<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
int	<a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length);
int	<a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 unsigned long actualLen, <br>						 unsigned long * expectedLen);
int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
int	<a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
int	<a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWhitespaceValueType">Enum </a>xmlSchemaWhitespaceValueType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
    <a name="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0
    <a name="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1
    <a name="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2
    <a name="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3>
<pre class="programlisting">int	xmlSchemaCheckFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Checks and computes the values of facets.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet</td>
</tr>
<tr>
<td><span class="term"><i><tt>typeDecl</tt></i>:</span></td>
<td>the schema type definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>pctxt</tt></i>:</span></td>
<td>the schema parser context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the optional name of the type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3>
<pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default XML Schemas type library</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCollapseString"></a>xmlSchemaCollapseString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Removes and normalize white spaces in the string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string or NULL if no change was required.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3>
<pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br>
</pre>
<p>Compare 2 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>a first value</td>
</tr>
<tr>
<td><span class="term"><i><tt>y</tt></i>:</span></td>
<td>a second value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCompareValuesWhtsp"></a>xmlSchemaCompareValuesWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaCompareValuesWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<br>
</pre>
<p>Compare 2 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>a first value</td>
</tr>
<tr>
<td><span class="term"><i><tt>xws</tt></i>:</span></td>
<td>the whitespace value of x</td>
</tr>
<tr>
<td><span class="term"><i><tt>y</tt></i>:</span></td>
<td>a second value</td>
</tr>
<tr>
<td><span class="term"><i><tt>yws</tt></i>:</span></td>
<td>the whitespace value of y</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCopyValue"></a>xmlSchemaCopyValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaCopyValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Copies the precomputed value. This duplicates any string within.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value to be copied</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the copy or NULL if a copy for a data-type is not implemented.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3>
<pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
</pre>
<p>Deallocate a Schema Facet structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>a schema facet structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3>
<pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br>
</pre>
<p>Cleanup the default XML Schemas type library</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
</pre>
<p>Lookup function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in simple type.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetBuiltInType"></a>xmlSchemaGetBuiltInType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br>
</pre>
<p>Gives you the type struct for a built-in type by its type id.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of the built in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetCanonValue"></a>xmlSchemaGetCanonValue ()</h3>
<pre class="programlisting">int	xmlSchemaGetCanonValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br>
</pre>
<p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
<td>the returned value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetCanonValueWhtsp"></a>xmlSchemaGetCanonValueWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaGetCanonValueWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
<td>the returned value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetFacetValueAsULong"></a>xmlSchemaGetFacetValueAsULong ()</h3>
<pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
</pre>
<p>Extract the value of a facet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>an schemas type facet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value as a long</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Lookup a type in the default XML Schemas type library</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the type name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type if found, NULL otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetValType"></a>xmlSchemaGetValType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	xmlSchemaGetValType	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the type of a value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a schemas value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3>
<pre class="programlisting">void	xmlSchemaInitTypes		(void)<br>
</pre>
<p>Initialize the default XML Schemas type library</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaIsBuiltInTypeFacet"></a>xmlSchemaIsBuiltInTypeFacet ()</h3>
<pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType)<br>
</pre>
<p>Evaluates if a specific facet can be used in conjunction with a type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facetType</tt></i>:</span></td>
<td>the facet type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br>
</pre>
<p>Allocate a new Facet structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly allocated structure or NULL in case or error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewNOTATIONValue"></a>xmlSchemaNewNOTATIONValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewNOTATIONValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the notation name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the notation namespace name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewQNameValue"></a>xmlSchemaNewQNameValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewQNameValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName)<br>
</pre>
<p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>namespaceName</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewStringValue"></a>xmlSchemaNewStringValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewStringValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the value type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3>
<pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node containing the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPredefTypeNodeNoNorm"></a>xmlSchemaValPredefTypeNodeNoNorm ()</h3>
<pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node containing the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Check a value against a facet condition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFacetWhtsp"></a>xmlSchemaValidateFacetWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>fws</tt></i>:</span></td>
<td>the whitespace type of the facet's value</td>
</tr>
<tr>
<td><span class="term"><i><tt>valType</tt></i>:</span></td>
<td>the built-in type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical (or normalized for pattern) repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateLengthFacet"></a>xmlSchemaValidateLengthFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length)<br>
</pre>
<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr. of the value to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>length</tt></i>:</span></td>
<td>the actual length of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateLengthFacetWhtsp"></a>xmlSchemaValidateLengthFacetWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaValidateLengthFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>valType</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr. of the value to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>length</tt></i>:</span></td>
<td>the actual length of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateListSimpleTypeFacet"></a>xmlSchemaValidateListSimpleTypeFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 unsigned long actualLen, <br>						 unsigned long * expectedLen)<br>
</pre>
<p>Checks the value of a list simple type against a facet.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>actualLen</tt></i>:</span></td>
<td>the number of list items</td>
</tr>
<tr>
<td><span class="term"><i><tt>expectedLen</tt></i>:</span></td>
<td>the resulting expected number of list items</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3>
<pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueAppend"></a>xmlSchemaValueAppend ()</h3>
<pre class="programlisting">int	xmlSchemaValueAppend		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
</pre>
<p>Appends a next sibling to a list of computed values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prev</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the value to be appended</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if succeeded and -1 on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetAsBoolean"></a>xmlSchemaValueGetAsBoolean ()</h3>
<pre class="programlisting">int	xmlSchemaValueGetAsBoolean	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the boolean value of a computed value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true and 0 if false, or in case of an error. Hmm.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetAsString"></a>xmlSchemaValueGetAsString ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaValueGetAsString	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the string value of a computed value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string value or NULL if there was none, or on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetNext"></a>xmlSchemaValueGetNext ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaValueGetNext	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
</pre>
<p>Accessor for the next sibling of a list of computed values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next value or NULL if there was none, or on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWhiteSpaceReplace"></a>xmlSchemaWhiteSpaceReplace ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaWhiteSpaceReplace	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Replaces 0xd, 0x9 and 0xa with a space.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string or NULL if no change was required.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-dict.html000064400000032422150505766400014706 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dict: string dictionary</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">dict</span></h2>
<p>dict - string dictionary</p>
<p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
typedef <a href="libxml2-dict.html#xmlDict">xmlDict</a> * <a href="#xmlDictPtr">xmlDictPtr</a>;
void	<a href="#xmlDictCleanup">xmlDictCleanup</a>			(void);
<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreate">xmlDictCreate</a>		(void);
<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreateSub">xmlDictCreateSub</a>	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictExists">xmlDictExists</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
void	<a href="#xmlDictFree">xmlDictFree</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
size_t	<a href="#xmlDictGetUsage">xmlDictGetUsage</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictLookup">xmlDictLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
int	<a href="#xmlDictOwns">xmlDictOwns</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictQLookup">xmlDictQLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlDictReference">xmlDictReference</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
size_t	<a href="#xmlDictSetLimit">xmlDictSetLimit</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit);
int	<a href="#xmlDictSize">xmlDictSize</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
int	<a href="#xmlInitializeDict">xmlInitializeDict</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlDict">Structure </a>xmlDict</h3>
<pre class="programlisting">struct _xmlDict {
The content of this structure is not made public by the API.
} xmlDict;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCleanup"></a>xmlDictCleanup ()</h3>
<pre class="programlisting">void	xmlDictCleanup			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCreate"></a>xmlDictCreate ()</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br>
</pre>
<p>Create a new dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created dictionary, or NULL if an error occurred.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCreateSub"></a>xmlDictCreateSub ()</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br>
</pre>
<p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>an existing dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created dictionary, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictExists"></a>xmlDictExists ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Check if the @name exists in the dictionary @dict.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the name, if -1 it is recomputed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the name or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictFree"></a>xmlDictFree ()</h3>
<pre class="programlisting">void	xmlDictFree			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictGetUsage"></a>xmlDictGetUsage ()</h3>
<pre class="programlisting">size_t	xmlDictGetUsage			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the amount of strings allocated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictLookup"></a>xmlDictLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Add the @name to the dictionary @dict if not present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the name, if -1 it is recomputed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the name or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictOwns"></a>xmlDictOwns ()</h3>
<pre class="programlisting">int	xmlDictOwns			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>check if a string is owned by the dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 in case of error -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictQLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Add the QName @prefix:@name to the hash @dict if not present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the QName or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictReference"></a>xmlDictReference ()</h3>
<pre class="programlisting">int	xmlDictReference		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictSetLimit"></a>xmlDictSetLimit ()</h3>
<pre class="programlisting">size_t	xmlDictSetLimit			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit)<br>
</pre>
<p>Set a size limit for the dictionary Added in 2.9.0</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>limit</tt></i>:</span></td>
<td>the limit in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous limit of the dictionary or 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictSize"></a>xmlDictSize ()</h3>
<pre class="programlisting">int	xmlDictSize			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Query the number of elements installed in the hash @dict.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the dictionary or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeDict"></a>xmlInitializeDict ()</h3>
<pre class="programlisting">int	xmlInitializeDict		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Do the dictionary mutex initialization.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if initialization was already done, and 1 if that call led to the initialization</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlIO.html000064400000160720150505766400015016 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlIO: interface for the I/O interfaces used by the parser</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlIO</span></h2>
<p>xmlIO - interface for the I/O interfaces used by the parser</p>
<p>interface for the I/O interfaces used by the parser </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
void	<a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>	(void);
void	<a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>	(void);
int	<a href="#xmlFileClose">xmlFileClose</a>			(void * context);
int	<a href="#xmlFileMatch">xmlFileMatch</a>			(const char * filename);
void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename);
int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
void	<a href="#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context);
int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename);
void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename);
int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context);
int	<a href="#xmlIOHTTPMatch">xmlIOHTTPMatch</a>			(const char * filename);
void *	<a href="#xmlIOHTTPOpen">xmlIOHTTPOpen</a>			(const char * filename);
void *	<a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>			(const char * post_uri, <br>					 int compression);
int	<a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
typedef int <a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>		(void * context);
typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>		(char const * filename);
typedef void * <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>		(char const * filename);
typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>		(void * context, <br>					 char * buffer, <br>					 int len);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
int	<a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf);
int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping);
int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str);
typedef int <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context);
typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>		(char const * filename);
typedef void * <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>		(char const * filename);
typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>		(void * context, <br>					 const char * buffer, <br>					 int len);
char *	<a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>		(const char * filename);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
int	<a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf);
int	<a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
int	<a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>		(void);
int	<a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>		(void);
void	<a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>	(void);
void	<a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>	(void);
void	<a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>	(void);
int	<a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
int	<a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputCloseCallback"></a>Function type xmlInputCloseCallback</h3>
<pre class="programlisting">int	xmlInputCloseCallback		(void * context)<br>
</pre>
<p>Callback used in the I/O Input API to close the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Input context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputMatchCallback"></a>Function type xmlInputMatchCallback</h3>
<pre class="programlisting">int	xmlInputMatchCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if yes and 0 if another Input module should be used</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputOpenCallback"></a>Function type xmlInputOpenCallback</h3>
<pre class="programlisting">void *	xmlInputOpenCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Input API to open the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an Input context or NULL in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputReadCallback"></a>Function type xmlInputReadCallback</h3>
<pre class="programlisting">int	xmlInputReadCallback		(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Callback used in the I/O Input API to read the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Input context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the buffer to store data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the buffer in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes read or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputCloseCallback"></a>Function type xmlOutputCloseCallback</h3>
<pre class="programlisting">int	xmlOutputCloseCallback		(void * context)<br>
</pre>
<p>Callback used in the I/O Output API to close the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Output context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputMatchCallback"></a>Function type xmlOutputMatchCallback</h3>
<pre class="programlisting">int	xmlOutputMatchCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if yes and 0 if another Output module should be used</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputOpenCallback"></a>Function type xmlOutputOpenCallback</h3>
<pre class="programlisting">void *	xmlOutputOpenCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Output API to open the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an Output context or NULL in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputWriteCallback"></a>Function type xmlOutputWriteCallback</h3>
<pre class="programlisting">int	xmlOutputWriteCallback		(void * context, <br>					 const char * buffer, <br>					 int len)<br>
</pre>
<p>Callback used in the I/O Output API to write to the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Output context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the buffer of data to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the buffer in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered parser output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for progressive parsing</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3>
<pre class="programlisting">int	xmlCheckFilename		(const char * path)<br>
</pre>
<p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the path to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckHTTPInput"></a>xmlCheckHTTPInput ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCheckHTTPInput	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)<br>
</pre>
<p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ret</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the input or NULL in case of HTTP error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3>
<pre class="programlisting">void	xmlCleanupInputCallbacks	(void)<br>
</pre>
<p>clears the entire input callback table. this includes the compiled-in I/O.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3>
<pre class="programlisting">void	xmlCleanupOutputCallbacks	(void)<br>
</pre>
<p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileClose"></a>xmlFileClose ()</h3>
<pre class="programlisting">int	xmlFileClose			(void * context)<br>
</pre>
<p>Close an I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileMatch"></a>xmlFileMatch ()</h3>
<pre class="programlisting">int	xmlFileMatch			(const char * filename)<br>
</pre>
<p>input from FILE *</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileOpen"></a>xmlFileOpen ()</h3>
<pre class="programlisting">void *	xmlFileOpen			(const char * filename)<br>
</pre>
<p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a handler or NULL in case or failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileRead"></a>xmlFileRead ()</h3>
<pre class="programlisting">int	xmlFileRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or &lt; 0 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3>
<pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br>
</pre>
<p>Free up the memory used by a buffered parser input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3>
<pre class="programlisting">int	xmlIOFTPClose			(void * context)<br>
</pre>
<p>Close an FTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3>
<pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br>
</pre>
<p>check if the URI matches an FTP one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3>
<pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br>
</pre>
<p>open an FTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3>
<pre class="programlisting">int	xmlIOFTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3>
<pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br>
</pre>
<p>Close an HTTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3>
<pre class="programlisting">int	xmlIOHTTPMatch			(const char * filename)<br>
</pre>
<p>check if the URI matches an HTTP one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3>
<pre class="programlisting">void *	xmlIOHTTPOpen			(const char * filename)<br>
</pre>
<p>open an HTTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3>
<pre class="programlisting">void *	xmlIOHTTPOpenW			(const char * post_uri, <br>					 int compression)<br>
</pre>
<p>Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>post_uri</tt></i>:</span></td>
<td>The destination URI for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>The compression desired for the document.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3>
<pre class="programlisting">int	xmlIOHTTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context in which the entity is called or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new allocated xmlParserInputPtr, or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNormalizeWindowsPath	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the input file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a canonicalized version of the path</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3>
<pre class="programlisting">int	xmlOutputBufferClose		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>flushes and close the output I/O channel and free up all the associated resources</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateBuffer"></a>xmlOutputBufferCreateBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a file descriptor</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
</pre>
<p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>a C string containing the URI or filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>the compression ration (0 none, 9 max).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to an I/O handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
<td>an I/O write function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3>
<pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>flushes the output I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferGetContent"></a>xmlOutputBufferGetContent ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlOutputBufferGetContent	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Gives a pointer to the data currently held in the output buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferGetSize"></a>xmlOutputBufferGetSize ()</h3>
<pre class="programlisting">size_t	xmlOutputBufferGetSize		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Gives the length of the data currently held in the output buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case or error or no data is held, the size otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3>
<pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf)<br>
</pre>
<p>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size in bytes of the array.</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWriteEscape"></a>xmlOutputBufferWriteEscape ()</h3>
<pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br>
</pre>
<p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated UTF-8 string</td>
</tr>
<tr>
<td><span class="term"><i><tt>escaping</tt></i>:</span></td>
<td>an optional escaping function (or NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3>
<pre class="programlisting">int	xmlOutputBufferWriteString	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str)<br>
</pre>
<p>Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated C string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3>
<pre class="programlisting">char *	xmlParserGetDirectory		(const char * filename)<br>
</pre>
<p>lookup the directory for that file</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the path to a file</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new allocated string containing the directory, or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>a C string containing the URI or filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the memory block</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateStatic"></a>xmlParserInputBufferCreateStatic ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the memory block</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3>
<pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
</pre>
<p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>indicative value of the amount of chars to read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3>
<pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf)<br>
</pre>
<p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size in bytes of the array.</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3>
<pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
</pre>
<p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>indicative value of the amount of chars to read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopInputCallbacks"></a>xmlPopInputCallbacks ()</h3>
<pre class="programlisting">int	xmlPopInputCallbacks		(void)<br>
</pre>
<p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of input callback registered or -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopOutputCallbacks"></a>xmlPopOutputCallbacks ()</h3>
<pre class="programlisting">int	xmlPopOutputCallbacks		(void)<br>
</pre>
<p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of output callback registered or -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br>
</pre>
<p>Registers the default compiled-in I/O handlers.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br>
</pre>
<p>Registers the default compiled-in I/O handlers.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterHTTPPostCallbacks	(void)<br>
</pre>
<p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3>
<pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br>
</pre>
<p>Register a new set of I/O callback for handling parser input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>readFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the registered handler number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3>
<pre class="programlisting">int	xmlRegisterOutputCallbacks	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br>
</pre>
<p>Register a new set of I/O callback for handling output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>writeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the registered handler number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-xmlreader.html000064400000322637150505766410015761 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlreader: the XMLReader implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlreader</span></h2>
<p>xmlreader - the XMLReader implementation</p>
<p>API of the XML streaming API based on C# interfaces. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
typedef enum <a href="#xmlParserSeverities">xmlParserSeverities</a>;
typedef enum <a href="#xmlReaderTypes">xmlReaderTypes</a>;
typedef struct _xmlTextReader <a href="#xmlTextReader">xmlTextReader</a>;
typedef void * <a href="#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>;
typedef enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>;
typedef <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a href="#xmlTextReaderPtr">xmlTextReaderPtr</a>;
void	<a href="#xmlFreeTextReader">xmlFreeTextReader</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReader">xmlNewTextReader</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>	(const char * URI);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForDoc">xmlReaderForDoc</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFd">xmlReaderForFd</a>	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFile">xmlReaderForFile</a>	(const char * filename, <br>						 const char * encoding, <br>						 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForIO">xmlReaderForIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForMemory">xmlReaderForMemory</a>	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options);
int	<a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewFd">xmlReaderNewFd</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewFile">xmlReaderNewFile</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewIO">xmlReaderNewIO</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderWalker">xmlReaderWalker</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
long	<a href="#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderExpand">xmlTextReaderExpand</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
void	<a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg);
int	<a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
int	<a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
int	<a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no);
int	<a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderName">xmlTextReaderName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNext">xmlTextReaderNext</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
int	<a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderRead">xmlTextReaderRead</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadString">xmlTextReaderReadString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
int	<a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng);
int	<a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options);
int	<a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd);
int	<a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg);
int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value);
int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg);
int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserProperties">Enum </a>xmlParserProperties</h3>
<pre class="programlisting">enum <a href="#xmlParserProperties">xmlParserProperties</a> {
    <a name="XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a> = 1
    <a name="XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a> = 2
    <a name="XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a> = 3
    <a name="XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserSeverities">Enum </a>xmlParserSeverities</h3>
<pre class="programlisting">enum <a href="#xmlParserSeverities">xmlParserSeverities</a> {
    <a name="XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a> = 1
    <a name="XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a> = 2
    <a name="XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a> = 3
    <a name="XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3>
<pre class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
    <a name="XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a> = 0
    <a name="XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a> = 1
    <a name="XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a> = 2
    <a name="XML_READER_TYPE_TEXT">XML_READER_TYPE_TEXT</a> = 3
    <a name="XML_READER_TYPE_CDATA">XML_READER_TYPE_CDATA</a> = 4
    <a name="XML_READER_TYPE_ENTITY_REFERENCE">XML_READER_TYPE_ENTITY_REFERENCE</a> = 5
    <a name="XML_READER_TYPE_ENTITY">XML_READER_TYPE_ENTITY</a> = 6
    <a name="XML_READER_TYPE_PROCESSING_INSTRUCTION">XML_READER_TYPE_PROCESSING_INSTRUCTION</a> = 7
    <a name="XML_READER_TYPE_COMMENT">XML_READER_TYPE_COMMENT</a> = 8
    <a name="XML_READER_TYPE_DOCUMENT">XML_READER_TYPE_DOCUMENT</a> = 9
    <a name="XML_READER_TYPE_DOCUMENT_TYPE">XML_READER_TYPE_DOCUMENT_TYPE</a> = 10
    <a name="XML_READER_TYPE_DOCUMENT_FRAGMENT">XML_READER_TYPE_DOCUMENT_FRAGMENT</a> = 11
    <a name="XML_READER_TYPE_NOTATION">XML_READER_TYPE_NOTATION</a> = 12
    <a name="XML_READER_TYPE_WHITESPACE">XML_READER_TYPE_WHITESPACE</a> = 13
    <a name="XML_READER_TYPE_SIGNIFICANT_WHITESPACE">XML_READER_TYPE_SIGNIFICANT_WHITESPACE</a> = 14
    <a name="XML_READER_TYPE_END_ELEMENT">XML_READER_TYPE_END_ELEMENT</a> = 15
    <a name="XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a> = 16
    <a name="XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a> = 17
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReader">Structure </a>xmlTextReader</h3>
<pre class="programlisting">struct _xmlTextReader {
The content of this structure is not made public by the API.
} xmlTextReader;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorPtr">Typedef </a>xmlTextReaderLocatorPtr</h3>
<pre class="programlisting">void * xmlTextReaderLocatorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3>
<pre class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
    <a name="XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a> = 0
    <a name="XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a> = 1
    <a name="XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a> = 2
    <a name="XML_TEXTREADER_MODE_EOF">XML_TEXTREADER_MODE_EOF</a> = 3
    <a name="XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a> = 4
    <a name="XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * xmlTextReaderPtr;
</pre>
<p>Pointer to an xmlReader context.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderErrorFunc"></a>Function type xmlTextReaderErrorFunc</h3>
<pre class="programlisting">void	xmlTextReaderErrorFunc		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Signature of an error callback from a reader parser</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>the user argument</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>severity</tt></i>:</span></td>
<td>the severity of the error</td>
</tr>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>a locator indicating where the error occurred</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeTextReader"></a>xmlFreeTextReader ()</h3>
<pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Deallocate all the resources associated to the reader</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextReader"></a>xmlNewTextReader ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReader	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI)<br>
</pre>
<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read data</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI information for the source if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextReaderFilename"></a>xmlNewTextReaderFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReaderFilename	(const char * URI)<br>
</pre>
<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the resource at @URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI of the resource to process</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForDoc"></a>xmlReaderForDoc ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForDoc	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForFd"></a>xmlReaderForFd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFd	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForFile"></a>xmlReaderForFile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFile	(const char * filename, <br>						 const char * encoding, <br>						 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForIO"></a>xmlReaderForIO ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForMemory"></a>xmlReaderForMemory ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForMemory	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options)<br>
</pre>
<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewDoc"></a>xmlReaderNewDoc ()</h3>
<pre class="programlisting">int	xmlReaderNewDoc			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewFd"></a>xmlReaderNewFd ()</h3>
<pre class="programlisting">int	xmlReaderNewFd			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewFile"></a>xmlReaderNewFile ()</h3>
<pre class="programlisting">int	xmlReaderNewFile		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewIO"></a>xmlReaderNewIO ()</h3>
<pre class="programlisting">int	xmlReaderNewIO			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewMemory"></a>xmlReaderNewMemory ()</h3>
<pre class="programlisting">int	xmlReaderNewMemory		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewWalker"></a>xmlReaderNewWalker ()</h3>
<pre class="programlisting">int	xmlReaderNewWalker		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderWalker"></a>xmlReaderWalker ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderWalker	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an xmltextReader for a preparsed document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderAttributeCount"></a>xmlTextReaderAttributeCount ()</h3>
<pre class="programlisting">int	xmlTextReaderAttributeCount	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the number of attributes of the current node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 i no attributes, -1 in case of error or the <a href="libxml2-SAX.html#attribute">attribute</a> count</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderBaseUri"></a>xmlTextReaderBaseUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The base URI of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderByteConsumed"></a>xmlTextReaderByteConsumed ()</h3>
<pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderClose"></a>xmlTextReaderClose ()</h3>
<pre class="programlisting">int	xmlTextReaderClose		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstBaseUri"></a>xmlTextReaderConstBaseUri ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The base URI of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL if not available, the string will be deallocated with the reader</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstEncoding"></a>xmlTextReaderConstEncoding ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the encoding of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstLocalName"></a>xmlTextReaderConstLocalName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The local name of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, the string will be deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstName"></a>xmlTextReaderConstName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The qualified name of the node, equal to Prefix :LocalName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, the string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstNamespaceUri"></a>xmlTextReaderConstNamespaceUri ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The URI defining the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace URI or NULL if not available, the string will be deallocated with the reader</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstPrefix"></a>xmlTextReaderConstPrefix ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the prefix or NULL if not available, the string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstString"></a>xmlTextReaderConstString ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Get an interned string from the reader, allows for example to speedup string name comparisons</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to intern.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstValue"></a>xmlTextReaderConstValue ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the text value of the node if present</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstXmlLang"></a>xmlTextReaderConstXmlLang ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The xml:lang scope within which the node resides.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the xml:lang value or NULL if none exists.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstXmlVersion"></a>xmlTextReaderConstXmlVersion ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the XML version of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderCurrentDoc"></a>xmlTextReaderCurrentDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderCurrentNode"></a>xmlTextReaderCurrentNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderDepth"></a>xmlTextReaderDepth ()</h3>
<pre class="programlisting">int	xmlTextReaderDepth		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The depth of the node in the tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the depth or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderExpand"></a>xmlTextReaderExpand ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttribute"></a>xmlTextReaderGetAttribute ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the qualified name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttributeNo"></a>xmlTextReaderGetAttributeNo ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no)<br>
</pre>
<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttributeNs"></a>xmlTextReaderGetAttributeNs ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Provides the value of the specified <a href="libxml2-SAX.html#attribute">attribute</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>the namespace URI of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetErrorHandler"></a>xmlTextReaderGetErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderGetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg)<br>
</pre>
<p>Retrieve the error callback function and user argument.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function or NULL is no callback has been registered</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserColumnNumber"></a>xmlTextReaderGetParserColumnNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserColumnNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provide the column number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the user data (XML reader context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserLineNumber"></a>xmlTextReaderGetParserLineNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provide the line number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the user data (XML reader context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserProp"></a>xmlTextReaderGetParserProp ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop)<br>
</pre>
<p>Read the parser internal property.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prop</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value, usually 0 or 1, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetRemainder"></a>xmlTextReaderGetRemainder ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlTextReaderGetRemainder	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderHasAttributes"></a>xmlTextReaderHasAttributes ()</h3>
<pre class="programlisting">int	xmlTextReaderHasAttributes	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether the node has attributes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false, and -1 in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderHasValue"></a>xmlTextReaderHasValue ()</h3>
<pre class="programlisting">int	xmlTextReaderHasValue		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether the node can have a text value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false, and -1 in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsDefault"></a>xmlTextReaderIsDefault ()</h3>
<pre class="programlisting">int	xmlTextReaderIsDefault		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsEmptyElement"></a>xmlTextReaderIsEmptyElement ()</h3>
<pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Check if the current node is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if empty, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsNamespaceDecl"></a>xmlTextReaderIsNamespaceDecl ()</h3>
<pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml2-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsValid"></a>xmlTextReaderIsValid ()</h3>
<pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Retrieve the validity status from the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the flag value 1 if valid, 0 if no, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocalName"></a>xmlTextReaderLocalName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The local name of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorBaseURI"></a>xmlTextReaderLocatorBaseURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocatorBaseURI	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Obtain the base URI for the given locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorLineNumber"></a>xmlTextReaderLocatorLineNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderLocatorLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Obtain the line number for the given locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the line number or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLookupNamespace"></a>xmlTextReaderLookupNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLookupNamespace	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Resolves a namespace prefix in the scope of the current element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttribute"></a>xmlTextReaderMoveToAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the qualified name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttributeNo"></a>xmlTextReaderMoveToAttributeNo ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttributeNs"></a>xmlTextReaderMoveToAttributeNs ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>the namespace URI of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToElement"></a>xmlTextReaderMoveToElement ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the node that contains the current Attribute node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not moved</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToFirstAttribute"></a>xmlTextReaderMoveToFirstAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the first <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToNextAttribute"></a>xmlTextReaderMoveToNextAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the next <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderName"></a>xmlTextReaderName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The qualified name of the node, equal to Prefix :LocalName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNamespaceUri"></a>xmlTextReaderNamespaceUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The URI defining the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNext"></a>xmlTextReaderNext ()</h3>
<pre class="programlisting">int	xmlTextReaderNext		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Skip to the node following the current one in document order while avoiding the subtree if any.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNextSibling"></a>xmlTextReaderNextSibling ()</h3>
<pre class="programlisting">int	xmlTextReaderNextSibling	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNodeType"></a>xmlTextReaderNodeType ()</h3>
<pre class="programlisting">int	xmlTextReaderNodeType		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNormalization"></a>xmlTextReaderNormalization ()</h3>
<pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPrefix"></a>xmlTextReaderPrefix ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the prefix or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPreserve"></a>xmlTextReaderPreserve ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderPreserve	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPreservePattern"></a>xmlTextReaderPreservePattern ()</h3>
<pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
</pre>
<p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
<td>an XPath subset pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>the prefix definitions, array of [URI, prefix] or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a non-negative number in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderQuoteChar"></a>xmlTextReaderQuoteChar ()</h3>
<pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The quotation mark character used to enclose the value of an attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>" or ' and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRead"></a>xmlTextReaderRead ()</h3>
<pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadAttributeValue"></a>xmlTextReaderReadAttributeValue ()</h3>
<pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadInnerXml"></a>xmlTextReaderReadInnerXml ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadInnerXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node, including child nodes and markup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadOuterXml"></a>xmlTextReaderReadOuterXml ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadOuterXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node, including child nodes and markup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadState"></a>xmlTextReaderReadState ()</h3>
<pre class="programlisting">int	xmlTextReaderReadState		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Gets the read state of the reader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the state value, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadString"></a>xmlTextReaderReadString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of an element or a text node as a string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGSetSchema"></a>xmlTextReaderRelaxNGSetSchema ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGSetSchema	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled RelaxNG schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGValidate"></a>xmlTextReaderRelaxNGValidate ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng)<br>
</pre>
<p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>rng</tt></i>:</span></td>
<td>the path to a RelaxNG schema or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGValidateCtxt"></a>xmlTextReaderRelaxNGValidateCtxt ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options)<br>
</pre>
<p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG schema validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (not used yet)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSchemaValidate"></a>xmlTextReaderSchemaValidate ()</h3>
<pre class="programlisting">int	xmlTextReaderSchemaValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd)<br>
</pre>
<p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>xsd</tt></i>:</span></td>
<td>the path to a W3C XSD schema or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSchemaValidateCtxt"></a>xmlTextReaderSchemaValidateCtxt ()</h3>
<pre class="programlisting">int	xmlTextReaderSchemaValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML Schema validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (not used yet)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetErrorHandler"></a>xmlTextReaderSetErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderSetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg)<br>
</pre>
<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function to call on error and warnings</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument to pass to the callback function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3>
<pre class="programlisting">int	xmlTextReaderSetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value)<br>
</pre>
<p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prop</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>usually 0 or 1 to (de)activate it</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the call was successful, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetSchema"></a>xmlTextReaderSetSchema ()</h3>
<pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled Schema schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetStructuredErrorHandler"></a>xmlTextReaderSetStructuredErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg)<br>
</pre>
<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function to call on error and warnings</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument to pass to the callback function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetup"></a>xmlTextReaderSetup ()</h3>
<pre class="programlisting">int	xmlTextReaderSetup		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an XML reader with new options</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be destroyed with it.</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderStandalone"></a>xmlTextReaderStandalone ()</h3>
<pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the standalone status of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderValue"></a>xmlTextReaderValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the text value of the node if present</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string or NULL if not available. The result must be deallocated with xmlFree()</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderXmlLang"></a>xmlTextReaderXmlLang ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The xml:lang scope within which the node resides.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-pattern.html000064400000044747150505766410015456 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pattern: pattern expression handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">pattern</span></h2>
<p>pattern - pattern expression handling</p>
<p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
typedef enum <a href="#xmlPatternFlags">xmlPatternFlags</a>;
typedef <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * <a href="#xmlPatternPtr">xmlPatternPtr</a>;
typedef struct _xmlStreamCtxt <a href="#xmlStreamCtxt">xmlStreamCtxt</a>;
typedef <a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * <a href="#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>;
void	<a href="#xmlFreePattern">xmlFreePattern</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
void	<a href="#xmlFreePatternList">xmlFreePatternList</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
void	<a href="#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
int	<a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	<a href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternMatch">xmlPatternMatch</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternStreamable">xmlPatternStreamable</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	<a href="#xmlPatterncompile">xmlPatterncompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
int	<a href="#xmlStreamPop">xmlStreamPop</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
int	<a href="#xmlStreamPush">xmlStreamPush</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
int	<a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
int	<a href="#xmlStreamPushNode">xmlStreamPushNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType);
int	<a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlPattern">Structure </a>xmlPattern</h3>
<pre class="programlisting">struct _xmlPattern {
The content of this structure is not made public by the API.
} xmlPattern;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3>
<pre class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
    <a name="XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a> = 0 /* simple pattern match */
    <a name="XML_PATTERN_XPATH">XML_PATTERN_XPATH</a> = 1 /* standard XPath pattern */
    <a name="XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a> = 2 /* XPath subset for schema selector */
    <a name="XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a> = 4 /*  XPath subset for schema field */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3>
<pre class="programlisting">struct _xmlStreamCtxt {
The content of this structure is not made public by the API.
} xmlStreamCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * xmlStreamCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePattern"></a>xmlFreePattern ()</h3>
<pre class="programlisting">void	xmlFreePattern			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XSLT comp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePatternList"></a>xmlFreePatternList ()</h3>
<pre class="programlisting">void	xmlFreePatternList		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by all the elements of @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XSLT comp list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeStreamCtxt"></a>xmlFreeStreamCtxt ()</h3>
<pre class="programlisting">void	xmlFreeStreamCtxt		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
</pre>
<p>Free the stream context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternFromRoot"></a>xmlPatternFromRoot ()</h3>
<pre class="programlisting">int	xmlPatternFromRoot		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check if the pattern must be looked at from the root.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternGetStreamCtxt"></a>xmlPatternGetStreamCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	xmlPatternGetStreamCtxt	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Get a streaming context for that pattern Use <a href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the context or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMatch"></a>xmlPatternMatch ()</h3>
<pre class="programlisting">int	xmlPatternMatch			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Test whether the node matches the pattern</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it matches, 0 if it doesn't and -1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMaxDepth"></a>xmlPatternMaxDepth ()</h3>
<pre class="programlisting">int	xmlPatternMaxDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check the maximum depth reachable by a pattern</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMinDepth"></a>xmlPatternMinDepth ()</h3>
<pre class="programlisting">int	xmlPatternMinDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error otherwise the depth,</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternStreamable"></a>xmlPatternStreamable ()</h3>
<pre class="programlisting">int	xmlPatternStreamable		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if streamable, 0 if not and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatterncompile"></a>xmlPatterncompile ()</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	xmlPatterncompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
</pre>
<p>Compile a pattern.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
<td>the pattern to compile</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>an optional dictionary for interned strings</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>compilation flags, see <a href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>the prefix definitions, array of [URI, prefix] or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled form of the pattern or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPop"></a>xmlStreamPop ()</h3>
<pre class="programlisting">int	xmlStreamPop			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
</pre>
<p>push one level from the stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPush"></a>xmlStreamPush ()</h3>
<pre class="programlisting">int	xmlStreamPush			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPushAttr"></a>xmlStreamPushAttr ()</h3>
<pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Push new <a href="libxml2-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPushNode"></a>xmlStreamPushNode ()</h3>
<pre class="programlisting">int	xmlStreamPushNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType)<br>
</pre>
<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodeType</tt></i>:</span></td>
<td>the type of the node being pushed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamWantsAnyNode"></a>xmlStreamWantsAnyNode ()</h3>
<pre class="programlisting">int	xmlStreamWantsAnyNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br>
</pre>
<p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-uri.html000064400000043143150505766410014565 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>uri: library of generic URI related routines</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">uri</span></h2>
<p>uri - library of generic URI related routines</p>
<p>library of generic URI related routines Implements RFC 2396 </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
typedef <a href="libxml2-uri.html#xmlURI">xmlURI</a> * <a href="#xmlURIPtr">xmlURIPtr</a>;
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCanonicPath">xmlCanonicPath</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void);
void	<a href="#xmlFreeURI">xmlFreeURI</a>			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
int	<a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>		(char * path);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br>					 int raw);
int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSaveUri">xmlSaveUri</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscape">xmlURIEscape</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
char *	<a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>		(const char * str, <br>					 int len, <br>					 char * target);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlURI">Structure </a>xmlURI</h3>
<pre class="programlisting">struct _xmlURI {
    char *	scheme	: the URI scheme
    char *	opaque	: opaque part
    char *	authority	: the authority part
    char *	server	: the server part
    char *	user	: the user part
    int	port	: the port number
    char *	path	: the path string
    char *	query	: the query string (deprecated - use with caution)
    char *	fragment	: the fragment identifier
    int	cleanup	: parsing potentially unclean URI
    char *	query_raw	: the query string (as it appears in the URI)
} xmlURI;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildRelativeURI"></a>xmlBuildRelativeURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildRelativeURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Expresses the URI of the <a href="libxml2-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI <a href="libxml2-SAX.html#reference">reference</a> under consideration</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI string (to be freed by the caller) or NULL in case error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildURI"></a>xmlBuildURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Computes he final URI of the <a href="libxml2-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI instance found in the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI string (to be freed by the caller) or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCanonicPath"></a>xmlCanonicPath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCanonicPath		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>Constructs a canonic path from the specified path.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the resource locator in a filesystem notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateURI"></a>xmlCreateURI ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlCreateURI		(void)<br>
</pre>
<p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeURI"></a>xmlFreeURI ()</h3>
<pre class="programlisting">void	xmlFreeURI			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNormalizeURIPath"></a>xmlNormalizeURIPath ()</h3>
<pre class="programlisting">int	xmlNormalizeURIPath		(char * path)<br>
</pre>
<p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>pointer to the path string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or an error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURI"></a>xmlParseURI ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURI		(const char * str)<br>
</pre>
<p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the URI string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURIRaw"></a>xmlParseURIRaw ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURIRaw		(const char * str, <br>					 int raw)<br>
</pre>
<p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the URI string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>raw</tt></i>:</span></td>
<td>if 1 unescaping of URI pieces are disabled</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURIReference"></a>xmlParseURIReference ()</h3>
<pre class="programlisting">int	xmlParseURIReference		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str)<br>
</pre>
<p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an URI structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or the error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPathToURI"></a>xmlPathToURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>Constructs an URI expressing the existing path</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the resource locator in a filesystem notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPrintURI"></a>xmlPrintURI ()</h3>
<pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Prints the URI in the stream @stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>a FILE* for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveUri"></a>xmlSaveUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Save the URI as an escaped string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new string (to be deallocated by caller)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIEscape"></a>xmlURIEscape ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscape		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string of the URI to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIEscapeStr"></a>xmlURIEscapeStr ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list)<br>
</pre>
<p>This routine escapes a string to hex, ignoring reserved <a href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>string to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>exception list string of chars not to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new escaped string or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIUnescapeString"></a>xmlURIUnescapeString ()</h3>
<pre class="programlisting">char *	xmlURIUnescapeString		(const char * str, <br>					 int len, <br>					 char * target)<br>
</pre>
<p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to unescape</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>optional destination buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the string, but unescaped, will return NULL only in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-HTMLparser.html000064400000160501150505766420015746 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">HTMLparser</span></h2>
<p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
<p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
typedef <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#htmlDocPtr">htmlDocPtr</a>;
typedef struct _htmlElemDesc <a href="#htmlElemDesc">htmlElemDesc</a>;
typedef <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href="#htmlElemDescPtr">htmlElemDescPtr</a>;
typedef struct _htmlEntityDesc <a href="#htmlEntityDesc">htmlEntityDesc</a>;
typedef <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a href="#htmlEntityDescPtr">htmlEntityDescPtr</a>;
typedef <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#htmlNodePtr">htmlNodePtr</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a href="#htmlParserCtxt">htmlParserCtxt</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#htmlParserCtxtPtr">htmlParserCtxtPtr</a>;
typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> <a href="#htmlParserInput">htmlParserInput</a>;
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#htmlParserInputPtr">htmlParserInputPtr</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a href="#htmlParserNodeInfo">htmlParserNodeInfo</a>;
typedef enum <a href="#htmlParserOption">htmlParserOption</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#htmlSAXHandler">htmlSAXHandler</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a href="#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>;
typedef enum <a href="#htmlStatus">htmlStatus</a>;
int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy);
int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
void	<a href="#htmlCtxtReset">htmlCtxtReset</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options);
int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt);
int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityLookup">htmlEntityLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value);
void	<a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val);
int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy);
int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding);
int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>		(const char * filename, <br>					 const char * encoding);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3>
<pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
</pre>
<p>Returns the default subelement for this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementAllowedHereDesc">Macro </a>htmlElementAllowedHereDesc</h3>
<pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
</pre>
<p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3>
<pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
</pre>
<p>Returns the attributes required for the specified element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElemDesc">Structure </a>htmlElemDesc</h3>
<pre class="programlisting">struct _htmlElemDesc {
    const char *	name	: The tag name
    char	startTag	: Whether the start tag can be implied
    char	endTag	: Whether the end tag can be implied
    char	saveEndTag	: Whether the end tag should be saved
    char	empty	: Is this an empty element ?
    char	depr	: Is this a deprecated element ?
    char	dtd	: 1: only in Loose DTD, 2: only Frameset one
    char	isinline	: is this a block 0 or inline 1 element
    const char *	desc	: the description NRK Jan.2003 * New fields encapsulating HTML structur
    const char **	subelts	: allowed sub-elements of this element
    const char *	defaultsubelt	: subelement for suggested auto-repair if necessary or NULL
    const char **	attrs_opt	: Optional Attributes
    const char **	attrs_depr	: Additional deprecated attributes
    const char **	attrs_req	: Required attributes
} htmlElemDesc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * htmlElemDescPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityDesc">Structure </a>htmlEntityDesc</h3>
<pre class="programlisting">struct _htmlEntityDesc {
    unsigned int	value	: the UNICODE value for the character
    const char *	name	: The entity name
    const char *	desc	: the description
} htmlEntityDesc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityDescPtr">Typedef </a>htmlEntityDescPtr</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * htmlEntityDescPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserCtxtPtr">Typedef </a>htmlParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> htmlParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserInput">Typedef </a>htmlParserInput</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserInputPtr">Typedef </a>htmlParserInputPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> htmlParserInputPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserNodeInfo">Typedef </a>htmlParserNodeInfo</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> htmlParserNodeInfo;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserOption">Enum </a>htmlParserOption</h3>
<pre class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
    <a name="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 /* Relaxed parsing */
    <a name="HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> = 4 /* do not default a doctype if not found */
    <a name="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 /* suppress error reports */
    <a name="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */
    <a name="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */
    <a name="HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */
    <a name="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 /* Forbid network access */
    <a name="HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> = 8192 /* Do not add implied html/body... elements */
    <a name="HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> = 65536 /* compact small text nodes */
    <a name="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 /*  ignore internal document encoding hint */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXHandlerPtr">Typedef </a>htmlSAXHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> htmlSAXHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlStatus">Enum </a>htmlStatus</h3>
<pre class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
    <a name="HTML_NA">HTML_NA</a> = 0 /* something we don't check at all */
    <a name="HTML_INVALID">HTML_INVALID</a> = 1
    <a name="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
    <a name="HTML_VALID">HTML_VALID</a> = 4
    <a name="HTML_REQUIRED">HTML_REQUIRED</a> = 12 /*  VALID bit set so ( &amp; HTML_VALID ) is TRUE */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="UTF8ToHtml"></a>UTF8ToHtml ()</h3>
<pre class="programlisting">int	UTF8ToHtml			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlAttrAllowed"></a>htmlAttrAllowed ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy)<br>
</pre>
<p>Checks whether an <a href="libxml2-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>HTML <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
<td>whether to allow deprecated attributes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3>
<pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
</pre>
<p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the HTML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The tag name</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if autoclose, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create a parser context for an HTML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an optional encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3>
<pre class="programlisting">void	htmlCtxtReset			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Reset a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3>
<pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Applies the options to the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementAllowedHere"></a>htmlElementAllowedHere ()</h3>
<pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt)<br>
</pre>
<p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if allowed; 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementStatusHere"></a>htmlElementStatusHere ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br>
</pre>
<p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3>
<pre class="programlisting">int	htmlEncodeEntities		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>quoteChar</tt></i>:</span></td>
<td>the quote character to escape (' or ") or zero.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br>
</pre>
<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the entity's unicode value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3>
<pre class="programlisting">void	htmlFreeParserCtxt		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3>
<pre class="programlisting">int	htmlHandleOmittedElem		(int val)<br>
</pre>
<p>Set and return the previous value for handling HTML omitted tags.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no handling, 1 for auto insertion.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3>
<pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
</pre>
<p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the HTML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if autoclosed, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3>
<pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewParserCtxt"></a>htmlNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br>
</pre>
<p>Allocate and initialize a new parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeStatus"></a>htmlNodeStatus ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy)<br>
</pre>
<p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
<td>whether to allow deprecated elements (YES is faster here for Element nodes)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3>
<pre class="programlisting">int	htmlParseCharRef		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value parsed (as an int)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseChunk"></a>htmlParseChunk ()</h3>
<pre class="programlisting">int	htmlParseChunk			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
</pre>
<p>Parse a Chunk of memory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte of the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
<td>last chunk indicator</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseDoc"></a>htmlParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding)<br>
</pre>
<p>parse an HTML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseDocument"></a>htmlParseDocument ()</h3>
<pre class="programlisting">int	htmlParseDocument		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseElement"></a>htmlParseElement ()</h3>
<pre class="programlisting">void	htmlParseElement		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str)<br>
</pre>
<p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>location to store the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseFile"></a>htmlParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br>					 const char * encoding)<br>
</pre>
<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadDoc"></a>htmlReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadFd"></a>htmlReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadFile"></a>htmlReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadIO"></a>htmlReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML document from I/O functions and source and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadMemory"></a>htmlReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
</pre>
<p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>if using SAX, this pointer will be provided on callbacks.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
</pre>
<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>if using SAX, this pointer will be provided on callbacks.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlTagLookup"></a>htmlTagLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br>
</pre>
<p>Lookup the HTML tag in the ElementTable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tag</tt></i>:</span></td>
<td>The tag name in lowercase</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the related <a href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-list.html000064400000061004150505766420014736 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>list: lists interfaces</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">list</span></h2>
<p>list - lists interfaces</p>
<p>this module implement the list support used in various place in the library. </p>
<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>;
typedef struct _xmlList <a href="#xmlList">xmlList</a>;
typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>;
void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br>					 const void * data1);
typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
void	<a href="#xmlListDelete">xmlListDelete</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br>					 void * user);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlLink">Structure </a>xmlLink</h3>
<pre class="programlisting">struct _xmlLink {
The content of this structure is not made public by the API.
} xmlLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlList">Structure </a>xmlList</h3>
<pre class="programlisting">struct _xmlList {
The content of this structure is not made public by the API.
} xmlList;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPtr">Typedef </a>xmlListPtr</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDataCompare"></a>Function type xmlListDataCompare</h3>
<pre class="programlisting">int	xmlListDataCompare		(const void * data0, <br>					 const void * data1)<br>
</pre>
<p>Callback function used to compare 2 data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>data0</tt></i>:</span></td>
<td>the first data</td>
</tr>
<tr>
<td><span class="term"><i><tt>data1</tt></i>:</span></td>
<td>the second data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 is equality, -1 or 1 otherwise depending on the ordering.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDeallocator"></a>Function type xmlListDeallocator</h3>
<pre class="programlisting">void	xmlListDeallocator		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
</pre>
<p>Callback function used to free data from a list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>lk</tt></i>:</span></td>
<td>the data to deallocate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListWalker"></a>Function type xmlListWalker</h3>
<pre class="programlisting">int	xmlListWalker			(const void * data, <br>					 void * user)<br>
</pre>
<p>Callback function used when walking a list with xmlListWalk().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data found in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>extra user provided data to the walker</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 to stop walking the list, 1 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3>
<pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
</pre>
<p>See Returns.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>lk</tt></i>:</span></td>
<td>a link</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the data referenced from this link</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListAppend"></a>xmlListAppend ()</h3>
<pre class="programlisting">int	xmlListAppend			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Insert data in the ordered list at the end for this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, 1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListClear"></a>xmlListClear ()</h3>
<pre class="programlisting">void	xmlListClear			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Remove the all data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListCopy"></a>xmlListCopy ()</h3>
<pre class="programlisting">int	xmlListCopy			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
</pre>
<p>Move all the element from the old list in the new list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the new list</td>
</tr>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the old list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success 1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListCreate"></a>xmlListCreate ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListCreate		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br>
</pre>
<p>Create a new list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>deallocator</tt></i>:</span></td>
<td>an optional deallocator function</td>
</tr>
<tr>
<td><span class="term"><i><tt>compare</tt></i>:</span></td>
<td>an optional comparison function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new list or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDelete"></a>xmlListDelete ()</h3>
<pre class="programlisting">void	xmlListDelete			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Deletes the list and its associated data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDup"></a>xmlListDup ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
</pre>
<p>Duplicate the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new copy of the list or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListEmpty"></a>xmlListEmpty ()</h3>
<pre class="programlisting">int	xmlListEmpty			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Is the list empty ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the list is empty, 0 if not empty and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListEnd"></a>xmlListEnd ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the last element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last element in the list, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListFront"></a>xmlListFront ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the first element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first element in the list, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListInsert"></a>xmlListInsert ()</h3>
<pre class="programlisting">int	xmlListInsert			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Insert data in the ordered list at the beginning for this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, 1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListMerge"></a>xmlListMerge ()</h3>
<pre class="programlisting">void	xmlListMerge			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br>
</pre>
<p>include all the elements of the second list in the first one and clear the second list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l1</tt></i>:</span></td>
<td>the original list</td>
</tr>
<tr>
<td><span class="term"><i><tt>l2</tt></i>:</span></td>
<td>the new list</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPopBack"></a>xmlListPopBack ()</h3>
<pre class="programlisting">void	xmlListPopBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Removes the last element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPopFront"></a>xmlListPopFront ()</h3>
<pre class="programlisting">void	xmlListPopFront			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Removes the first element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPushBack"></a>xmlListPushBack ()</h3>
<pre class="programlisting">int	xmlListPushBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>add the new data at the end of the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>new data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if successful, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPushFront"></a>xmlListPushFront ()</h3>
<pre class="programlisting">int	xmlListPushFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>add the new data at the beginning of the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>new data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if successful, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3>
<pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the all instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of deallocation, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3>
<pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the first instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if a deallocation occurred, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3>
<pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the last instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if a deallocation occurred, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverse"></a>xmlListReverse ()</h3>
<pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Reverse the order of the elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3>
<pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Search the list in reverse order for an existing value of @data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>a search value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value associated to @data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3>
<pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
</pre>
<p>Walk all the element of the list in reverse order and apply the walker function to it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>walker</tt></i>:</span></td>
<td>a processing function</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>a user parameter passed to the walker function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSearch"></a>xmlListSearch ()</h3>
<pre class="programlisting">void *	xmlListSearch			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Search the list for an existing value of @data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>a search value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value associated to @data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSize"></a>xmlListSize ()</h3>
<pre class="programlisting">int	xmlListSize			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the number of elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the list or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSort"></a>xmlListSort ()</h3>
<pre class="programlisting">void	xmlListSort			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Sort all the elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListWalk"></a>xmlListWalk ()</h3>
<pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
</pre>
<p>Walk all the element of the first from first to last and apply the walker function to it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>walker</tt></i>:</span></td>
<td>a processing function</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>a user parameter passed to the walker function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
share/gtk-doc/html/libxml2/libxml2-chvalid.html000064400000045405150505766420015404 0ustar00<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>chvalid: Unicode character range checking</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">chvalid</span></h2>
<p>chvalid - Unicode character range checking</p>
<p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p>
<p>Author(s): William Brack &lt;wbrack@mmm.com.hk&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
typedef struct _xmlChLRange <a href="#xmlChLRange">xmlChLRange</a>;
typedef <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * <a href="#xmlChLRangePtr">xmlChLRangePtr</a>;
typedef struct _xmlChRangeGroup <a href="#xmlChRangeGroup">xmlChRangeGroup</a>;
typedef <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a href="#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>;
typedef struct _xmlChSRange <a href="#xmlChSRange">xmlChSRange</a>;
typedef <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * <a href="#xmlChSRangePtr">xmlChSRangePtr</a>;
int	<a href="#xmlCharInRange">xmlCharInRange</a>			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
int	<a href="#xmlIsBaseChar">xmlIsBaseChar</a>			(unsigned int ch);
int	<a href="#xmlIsBlank">xmlIsBlank</a>			(unsigned int ch);
int	<a href="#xmlIsChar">xmlIsChar</a>			(unsigned int ch);
int	<a href="#xmlIsCombining">xmlIsCombining</a>			(unsigned int ch);
int	<a href="#xmlIsDigit">xmlIsDigit</a>			(unsigned int ch);
int	<a href="#xmlIsExtender">xmlIsExtender</a>			(unsigned int ch);
int	<a href="#xmlIsIdeographic">xmlIsIdeographic</a>		(unsigned int ch);
int	<a href="#xmlIsPubidChar">xmlIsPubidChar</a>			(unsigned int ch);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3>
<pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3>
<pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3>
<pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3>
<pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3>
<pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChLRange">Structure </a>xmlChLRange</h3>
<pre class="programlisting">struct _xmlChLRange {
    unsigned int	low
    unsigned int	high
} xmlChLRange;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3>
<pre class="programlisting">struct _xmlChRangeGroup {
    int	nbShortRange
    int	nbLongRange
    const <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange	: points to an array of ranges
    const <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> *	longRange
} xmlChRangeGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChRangeGroupPtr">Typedef </a>xmlChRangeGroupPtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * xmlChRangeGroupPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChSRange">Structure </a>xmlChSRange</h3>
<pre class="programlisting">struct _xmlChSRange {
    unsigned short	low
    unsigned short	high
} xmlChSRange;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseCharGroup">Variable </a>xmlIsBaseCharGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsBaseCharGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCharGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombiningGroup">Variable </a>xmlIsCombiningGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCombiningGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsDigitGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtenderGroup">Variable </a>xmlIsExtenderGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsExtenderGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographicGroup">Variable </a>xmlIsIdeographicGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsIdeographicGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar_tab">Variable </a>xmlIsPubidChar_tab</h3>
<pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] xmlIsPubidChar_tab;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharInRange"></a>xmlCharInRange ()</h3>
<pre class="programlisting">int	xmlCharInRange			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br>
</pre>
<p>Does a binary search of the range table to determine if char is valid</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>character to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>rptr</tt></i>:</span></td>
<td>pointer to range to be used to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if character valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseChar"></a>xmlIsBaseChar ()</h3>
<pre class="programlisting">int	xmlIsBaseChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlank"></a>xmlIsBlank ()</h3>
<pre class="programlisting">int	xmlIsBlank			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsChar"></a>xmlIsChar ()</h3>
<pre class="programlisting">int	xmlIsChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombining"></a>xmlIsCombining ()</h3>
<pre class="programlisting">int	xmlIsCombining			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigit"></a>xmlIsDigit ()</h3>
<pre class="programlisting">int	xmlIsDigit			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtender"></a>xmlIsExtender ()</h3>
<pre class="programlisting">int	xmlIsExtender			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographic"></a>xmlIsIdeographic ()</h3>
<pre class="programlisting">int	xmlIsIdeographic		(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar"></a>xmlIsPubidChar ()</h3>
<pre class="programlisting">int	xmlIsPubidChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
lib64/libssh2.so.1.0.1000075500001110150150506011200010021 0ustar00ELF>�]@(@8@`�`� 0�0�"0�"Xh ����"��"00$$@�@�@�  P�tdDlDlDl��Q�tdR�td0�0�"0�"��GNUk��Bګ���B�N��fϟav
�������Ȅ�XAJ!@�"� "A���8@j�$�� ��"���� D$ Thb.`Dc�H ��LE�8a
����"B�vxy{������������������������������������������������������������������n�
u�]t�D���!���R��"@	�����&Z3��'V�'��ut���ix���TY2>>e3�0,��V��c�ɵ���ܟ���TE<u.�kr�u�
�$�@���/3ku]^"�n�{�ƍ�6䫕�u�R�i�v�IJ��
���"��u4��nq����v���udR�)1XEq]�^I���ڸ���zlf�%�='D�"?��w�<D����Jf�U0�afHh]��M��8�)��k�hH���P_dz�Ne]�YC�i]y[�R�]�I�n���R좽�zu�S��E�)Dә�"�5
)�s*��Ih�$…�r�y?n�dc��t�v5�,Z䫕���$�Z�E�����iҤQ�kmX'��s(
�D(-������Wˡ!�=w��kQ�|m5Nr��>O4{�J�Ϧ���f�۴��rֻ�g>˰�F
i�#[2;���j���r�h&�7�DE�8B�R��c�XvWG�F2;��z���v���6�^�d ��#X��	$�k��}��
�����1� ��h��, 5��F"���uY��	f�;|Y��?@M����q�o���U�
�
P�	}����w��	%�$��������I�f
2�	�F
@��� ��=}���<�����h����I�	�(+$p,�@�#u �z�)T���T	�C	nP��e�v��#m
���pm�
`m���5��	�`y��;��}�m
�ZI�Б����E�
 �=��
Ph�	@J|��TA�t�pC
pS`��C�
�o�� �3 
�/�0��
��&	
`S	P���@*��x�`����#"p���0�tH���&0�T"�a���
���p~f@�T:`�`��Pp���
��&��%���(1@�	6�	�+�`�.�
P�V��C&�`A�
V
��eP
T�	�D_w��JP�d;@�B�"��f2	�C��~B�
@e�
�v ?�4
�X�#0�G�
��pB�����@>�r	 D�Z0�c�@�:	D�D�P�V	D�T
���HP��������8@	�
�~�Y�a��
���~K@��
����`Ba�(#�@���R��R
�Z�@�1��=�1`
m�e��n%�	0L-���T/@��U�n"�q"__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__stack_chk_failmemcpylibssh2_channel_open_exlibssh2_session_last_errnolibssh2_channel_direct_tcpip_exstrlenlibssh2_channel_forward_listen_exlibssh2_channel_forward_acceptlibssh2_channel_setenv_exlibssh2_channel_request_pty_exlibssh2_channel_request_pty_size_exlibssh2_channel_x11_req_exRAND_bytes__sprintf_chklibssh2_channel_process_startuplibssh2_channel_set_blockinglibssh2_channel_get_exit_statuslibssh2_channel_get_exit_signallibssh2_channel_flush_exlibssh2_channel_receive_window_adjustlibssh2_channel_receive_window_adjust2libssh2_channel_handle_extended_data2libssh2_channel_handle_extended_datalibssh2_channel_write_exlibssh2_channel_send_eoflibssh2_channel_eoflibssh2_channel_wait_eoflibssh2_channel_closelibssh2_channel_wait_closed__assert_faillibssh2_channel_forward_cancellibssh2_channel_freelibssh2_channel_window_read_exlibssh2_channel_read_exlibssh2_channel_window_write_exinflateEnddeflateEndinflatedeflateinflateInit_deflateInit_EVP_CIPHER_CTX_cleanuplibssh2_crypt_methodsEVP_des_ede3_cbcEVP_cast5_cbcEVP_rc4EVP_bf_cbcEVP_aes_256_cbcEVP_aes_192_cbcEVP_aes_128_cbcEVP_aes_256_ctrEVP_aes_192_ctrEVP_aes_128_ctrDSA_freeEVP_DigestUpdateEVP_DigestFinalRSA_freelibssh2_hostkey_methodslibssh2_hostkey_hashlibssh2_session_hostkeyBN_clear_freeBN_CTX_freeBN_CTX_newBN_newBN_randBN_mod_expBN_num_bitsBN_bn2binBN_bin2bnmemsetstrncmpBN_set_wordstrchrlibssh2_session_method_preflibssh2_session_supported_algsHMAC_CTX_initEVP_ripemd160HMAC_Init_exHMAC_UpdateHMAC_FinalHMAC_CTX_cleanupEVP_md5EVP_sha1EVP_sha512EVP_sha256__errno_locationlibssh2_base64_decode__snprintf_chklibssh2_freelibssh2_tracelibssh2_trace_sethandlermemcmplibssh2_publickey_initlibssh2_publickey_add_exlibssh2_publickey_remove_exlibssh2_publickey_list_freelibssh2_publickey_list_fetchlibssh2_publickey_shutdownstrtolstrtollstrrchrlibssh2_scp_recvlibssh2_scp_recv2libssh2_scp_send_exlibssh2_scp_send64reallocmalloclibssh2_session_banner_setlibssh2_banner_setlibssh2_session_init_exlibssh2_session_callback_setlibssh2_session_methodslibssh2_session_abstractlibssh2_session_last_errorlibssh2_session_set_last_errorlibssh2_session_flaglibssh2_session_set_blockinglibssh2_session_get_blockinglibssh2_session_set_timeoutlibssh2_session_get_timeoutlibssh2_poll_channel_readlibssh2_pollgettimeofdaylibssh2_session_block_directionslibssh2_keepalive_senddifftimelibssh2_session_handshakefcntllibssh2_session_startuplibssh2_session_freelibssh2_session_disconnect_exlibssh2_session_banner_getlibssh2_sftp_dtorlibssh2_sftp_initlibssh2_sftp_shutdownlibssh2_sftp_open_exlibssh2_sftp_readlibssh2_sftp_readdir_exlibssh2_sftp_writelibssh2_sftp_fsynclibssh2_sftp_fstat_exlibssh2_sftp_seek64libssh2_sftp_seeklibssh2_sftp_telllibssh2_sftp_tell64libssh2_sftp_close_handlelibssh2_sftp_unlink_exlibssh2_sftp_rename_exlibssh2_sftp_fstatvfslibssh2_sftp_statvfslibssh2_sftp_mkdir_exlibssh2_sftp_rmdir_exlibssh2_sftp_stat_exlibssh2_sftp_symlink_exlibssh2_sftp_last_errorlibssh2_sftp_get_channelfopenfreadfeofrewindfclose__ctype_b_locmemchrlibssh2_userauth_listmemmovelibssh2_userauth_authenticatedlibssh2_userauth_password_exlibssh2_userauth_hostbased_fromfile_exlibssh2_userauth_publickey_frommemorylibssh2_userauth_publickey_fromfile_exlibssh2_userauth_publickeylibssh2_userauth_keyboard_interactive_ex__memcpy_chklibssh2_versionstrcmplibssh2_knownhost_initlibssh2_knownhost_addlibssh2_knownhost_addclibssh2_knownhost_checklibssh2_knownhost_checkplibssh2_knownhost_dellibssh2_knownhost_freelibssh2_knownhost_readlinelibssh2_knownhost_readfilefgetslibssh2_knownhost_writelinelibssh2_knownhost_writefilefwritelibssh2_knownhost_getgetenvsocketstrncpylibssh2_agent_initlibssh2_agent_connectlibssh2_agent_list_identitieslibssh2_agent_get_identitylibssh2_agent_userauthlibssh2_agent_disconnectlibssh2_agent_freeEVP_PKEY_get1_DSAEVP_PKEY_get1_RSARSA_newDSA_newEVP_CIPHER_CTX_initEVP_CipherInitEVP_CipherBIO_new_mem_bufPEM_read_bio_RSAPrivateKeyBIO_freeBIO_new_filePEM_read_bio_DSAPrivateKeyRSA_sizeRSA_signDSA_do_signDSA_SIG_freeEVP_MD_CTX_initEVP_get_digestbynameEVP_DigestInitRSA_verifyDSA_SIG_newDSA_do_verifyEVP_get_cipherbynameBIO_ctrlPEM_read_bio_PrivateKeyEVP_PKEY_freeOpenSSL_add_all_cipherslibssh2_keepalive_configlibssh2_initOPENSSL_add_all_algorithms_noconfENGINE_load_builtin_enginesENGINE_register_all_completelibssh2_exitlibssl.so.10libcrypto.so.10libz.so.1libc.so.6libssh2.so.1GLIBC_2.14GLIBC_2.4GLIBC_2.3GLIBC_2.3.4GLIBC_2.2.5/opt/alt/openssl/lib64`���-ii
8ii
Bti	Lui	X� t�
�0�"p^8�"0^@�"@�"`�"5p�"��x�"@���"����"p���""5��"����"@���"���"p��"'5��"��" � �"x60�"��8�"�@�"p�H�"�P�"��`�"`���"�6��"���"p���"���"����"���"����"�:��"����"�:��"���"t7�"��0�"�78�"��`�"�<p�" �x�"`���"0���"�<��" ���"`���"0���"�<��" ���"���"0� �"�<0�" �8�"p�@�"0�`�"�<p�" �x�"����"0���"=��" ���"����"0���"=��" ���"`��"0� �"$=0�" �8�"P�@�"0�h�"�D��"�D��"�D��"�D��"�D��"�D��"D�")D(�"�Dh�"L@��"E��"[D��"�5��"���"���"���"�5 �"�(�"�0�"��@�"�5`�"��h�"�p�"����"6��"���"���"����"
6��"���"���"���"6 �"�(�"�0�"��@�"66`�"�h�"�p�"����"A6��"���"���"����"L6��"���"���"���"W6 �"�(�"�0�"��@�"b6`�"�h�"�p�"����"m6��"���"���"���"�" �"��"(�"`�"0�"�"@�"��"H�"@�"P�"�"X�"@�"`�"�"h�"��"p�"��"x�"��"��"@�"��"��"��"�"��"��"��"��"��" �"��"��"��"��"��"�"��"0�" �"��"(�" �"0�"��"8�"`�"@�" �"H�"��"P�"��"X�"`�"p�"�x�"`��"���"	8�"Mx�"��"��"*8�"x�"��"��"X8�"cx�"<��"@��"���"
��"'��".��"3�"�"�" �"�(�"0�"8�"@�"H�"
P�"�X�"`�"h�"p�"x�"��"���"��"��"��"��"��"��"��"��"��"��"���"��"��"��" �"!�""�"#�"$ �"%(�"&0�"(8�")@�"+H�",P�"-X�"/`�"0h�"�p�"1x�"2��"3��"���"4��"5��"6��"7��"8��"}��"���"���"9��":��";��"=��">��"?�"��"��"A�"� �"B(�"C0�"D8�"E@�"FH�"GP�"HX�"I`�"Jh�"Kp�"Lx�"N��"O��"P��"Q��"R��"S��"T��"U��"V��"W��"���"Y��"Z��"[��"\��"]��"^�"_�"��"`�"a �"b(�"d0�"e8�"f@�"gH�"hP�"iX�"j`�"kh�"�p�"lx�"���"m��"n��"o��"���"p��"q��"r��"���"s��"t��"u��H��H���"H��t��H����5�}"�%�}"��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q�������%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%�u"D���%}u"D���%uu"D���%mu"D���%eu"D���%]u"D���%Uu"D���%Mu"D���%Eu"D���%=u"D���%5u"D���%-u"D���%%u"D���%u"D���%u"D���%
u"D���%u"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%�t"D���%}t"D���%ut"D���%mt"D���%et"D���%]t"D���%Ut"D���%Mt"D���%Et"D���%=t"D���%5t"D���%-t"D���%%t"D���%t"D���%t"D���%
t"D���%t"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%�s"D���%}s"D���%us"D���%ms"D���%es"D���%]s"D���%Us"D���%Ms"D���%Es"D���%=s"D���%5s"D���%-s"D���%%s"D���%s"D���%s"D���%
s"D���%s"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%�r"D���%}r"D���%ur"D���%mr"D���%er"D���%]r"D���%Ur"D���%Mr"D���%Er"D���%=r"D���%5r"D���%-r"D���%%r"D���%r"D���%r"DH�=�s"H��s"H9�tH�r"H��t	�����H�=�s"H�5�s"H)�H��H��H��?H�H�tH��q"H��t��fD�����=Ms"u+UH�=�q"H��tH�=�b"����d����%s"]������w����ATUH��SH��L�g`�wDdH�%(H�D$1�H�\$H�|$�D$`�:�H��E1�1ɺL���%��Ã��t>��u"�EAH�L$dH3%(��u7H��[]A\�H��������L���D�����H�����L���/���������UH��H���SH���_�d�H��t��P0H��9�B��X�H��u�C���H����[]Ð��UH��H���S��H����H��t";X0u�mf�9X0t_H����H��u�H�����H��H��t<H�}0�љH��t;X0u�)D9X0tH���ÙH��u�H��趙H��H��u�1�H��[]�D��AWI��AVAUATUS��H��8L�$dH�%(H�D$(1��������W��������I����H��tL��A�WILJ��I����H��tL��A�WILJ��I����H����H�xL��H�\$$M����A�WI����I�����I����H�ߋp0��I����L��A�WILJ��H���^L��I��jA�L��H���M�^_��y�H��L��H��I��jA��_L���%�ZY��y�I����L��A�WILJ��ALJ��E1�H�L$(dH3%(L���$H��8[]A\A]A^A_�f��CI����E��HLJ��HLJ��HLJ��H�����H�����L��ILJ��A������I��I����H���7�X ��L��H��H�D$A�WI�FI����H�xH����H�T$L���
���I����A����I����F0�nL�nHD�fPL�~`��I����L��A�WI����H�D$H���ZH�PL�t$L��H�T$H�T$L���Z�^�A����L���/���L���%�D��L����ALJ��I����I����L��L�D$pH�$������k���ALJ��I����A�I����I����VI����H�5�L��jL�L��AXAY�����I���������<[tR<\���H���7���������������L��H������肐I�������I����H�����CDI����I����H�x	�̐�C8I����I����H�x	貐�C4I����I����H�x
蘐I����L���C<A�WI����L��ILJ��A�WM����ILJ��ALJ������H����L��E1�踏�������L��H�P����薏I�������H�{������L��E1��s�I����L��A�WILJ�����L��H�s�������A�I�����W���H�����L��E1��!��T���L��H�������I�����!���H��������L��������L��H�������ҎI�������H�Q����L��貎����L��H������虎I��������h������H����AWAVM��AUE��ATA��U��SH��1�H��H�4$���D�|$PH�D$�#H��uHH������uNH�t$H���!���u=H��D���M��AWH�t$E��H���������ZY��u�H��[]A\A]A^A_�@H��1�[]A\A]A^A_��1��D��AWAVAUATUSH��(�T$D�D$dH�%(H�D$1�H����I��1�I��I������H�\$I��@E����E����L����L��I����H����L��H�|I����I����A�WI����H�D$H���7I����L��H���Ս�t$H��詍I����L��H��跍�t$H��苍H��� A����M����H�5d�A���L���z���Y^H��H��tPALJ��I����L��A�WILJ��H�L$dH3%(H����H��([]A\A]A^A_�fDL���������ALJ��I����L��A�WA���ILJ����t�L���x����uL��L�����������1��m���f�L��H�F�������̋A�����u�1��>���f.�A���ALJ����u�1������n�@f.���AWAVAUATUSH��H�T$H�L$D�D$dH�%(H�D$81�H���I��1�L�|$0H����H��L�d$ H�5�H��H�D$(HD�H�$M����UD�������7A���Adž������L���D������H��L��������A������u�H����L���xA���A���I�EA�VI����H�D$ H����H�PH�5�L��H�T$ �
�P� �H�D$ H��L��H�PH�T$ �A�����t$L���ъAdž��A���E1�1�L��I�����zH�����������#I����L��A�VIdž��Adž��AUE1�E1�L��jH�T$H�5(�L���ΣAXAY�����H�F�����u+H�|$(�<Q��<R�s���L��A�VH������L���N�A���Adž�����X���@1�H��H�L$8dH3%(�'H��H[]A\A]A^A_��H��L������A����������fD�`L��蛎H����H�D$A���L���xA�VH�L$H�A H���*L�qA���H��H��H�$��H�$A���H�Q �H�|$0v�t$���O�D$�A(�D$H��H�$I����A@�AD�a�H�\$H�$H��t�A(�H�$L��H�|$(A�VH�$Adž������f.�H��������L���܇E���E��������H�������L��謇I����L��A�VE���Idž��Adž��E��������C��������L��H����\�H�L$L��H��A�VL��H�|$(A�VA���Adž����������F���f�H�y������L�����H�D$(H�x�|�H�$�A(�������f.���AVAUATUSH��t}H��1�L�5����L�c0I���H�{�o�Ņ��L���H��uTH�{�����L�����z�H�{�����t������uH�{L���V���t�1�[H��]A\A]A^�@L��蘋H��H��轋�k@H�E`H��H����F�[H��]A\A]A^�f.�H�������H�{������t����@f.���AWAVAUATUSH��XH�t$ H�L$(dH�%(H�D$H1�H���I��1�E��A�����H��H�D$@H�D$H�D$8H�D$C�D%�D$D��M��A���[�������H������L��A�D$x�1������I�|$`������EH���
�����A�D$xM�t$`��u��|$L��IDŽ$�I��$�A�VI��$�H�D$0H����H�PH�\$0H�T$0H���bA�t$D�T��H�5n�H���`�H�D$0H�t$ H��H�PH�T$0D����?�H�t$(D��H���/�A�D$xI��$�E1�1�L��I��$���t����jI�VI��$�L��������I��$�A�t$0IDŽ$�H��薄A�D$xI��$�I��A�L��PH�5P�jH�L$ H�T$(��ZY����������uYH�|$8I�V�?c��L�����G���DI��$�뙸����H�L$HdH3%(��H��X[]A\A]A^A_�DA�D$x��D��H�G������L��IDŽ$�A�D$x������H��������L���������D$L���ҋD$A�D$x�U���D�����F���H�����L��赂������f.���AWAVAUATUSH��XH�4$H�L$D�D$D�L$dH�%(H�D$H1�H���@I��1�A��D����E�$M��H��H�D$@H�D$H�D$8H�D$ A�D$)�D$(�fDA�����D$(H�\$0A�uDIDž�Aƅ�bH��I���I���H�D$0舂�H�5ĸH��蔂H�D$0H�4$H��H�PH�T$0D����t��t$H���H���$�H���9���$�H���*���$�H�����T$H�t$H���*�ADž�I���E1�1�L��I�����q��������3I���A�u0H��谁ADž�I���I��A�L��PH�5f�jH�L$(H�T$0�	�ZY���tL���H�|$8�D$,L���A�W�D$,ADž���c��H������L��苀���unI�}`�������H���l���uPA���M�}`���5������������u�I����6���H������L���$�뗸���DH�L$HdH3%(��H��X[]A\A]A^A_�DADž�H�v���L�����D����H�����L��ADž������@�����H�
���L�������^�@f.���AWAVAUATUSH��(�t$�T$dH�%(H�D$1�H����I��1�A��E���}�H�\$H��DA��$�M�l$`��t?����ADŽ$���H�L$dH3%(�xH��([]A\A]A^A_�f�A�t$DI��$�H��IDŽ$�'IDŽ$�AƄ$�bH�D$�E�
H�5��H���QH�D$�t$H��H�PH�T$���t$H���D��H���~D��H����~ADŽ$�I��$�E1�1�L��I��$��n�������u,A�t$0I��$��D$�~�D$ADŽ$�����H�)���L��ADŽ$���}�������I�|$`�����tH�������{������fD��������������H�����L���k}��D�@��AWAVAUATUSH���t$(H�$D�D$,dH�%(H�D$x1�H����H��1�I��I���e�M��H�D$H��IE�H�D$0H�D$PH�D$H�D$XH�D$ H�D$HH�D$�XD���g���VH������H���|����H�{`������H�t$������H�$H�k`A�H��tH�����I��A� M��tL����I�ċ�����k���K�|%H��HǃH����UH���H�D$HH���QH�PL�|$H�T$H�b�sDL���|�H�5
�L���|H�D$H�t$(L��H�P��H�t$0H�T$H�H�D$HH�PH�T$HL����y|D��L���N|M���5H�|$HL��L�����t$,H�|$Ld$H�"|ǃ�H���E1�1�H��H�����kA�ă����H�EH���H��E���2��L���s0Hǃ�L���{ǃ�H��M��A�H��PH�5_�jH�L$(H�T$0��ZY����!������"H�|$X�D$8H��D�'�U�D$8ǃ�A��c����H�L$xdH3%(�-H�Ĉ[]A\A]A^A_ÐL���c���@L�|$`�E1�L���;�I�GH�\$8L��I��@H�|$HE��1�H�
J�H�����I��H�H���*�M9�u�H�\$8�v�����H��D��H��Hǃ�ǃ���y����f.�H�1������H���y����ǃ�H�_���H���y��������������������H�
���H���[y����1����AWAVAUATUSH��8H�o`dH�%(H�D$(1�������H��I��M�ƅ�tV��������H�Ŷ���H����xA��H�L$(dH3%(D���ZH��8[]A\A]A^A_��H�z
I��I��Hǃ0H�� H��tH�zH�� H��UH��H�D$H����H�PH�T$�bH�D$�sDH��H�D$�yL��L�|$L��L���
yH�D$H�PH�T$�M��tD��L����xǃH�� M��L��H��H���hA�ă���6H�EH��H��E������L��(�s0HǃL���TxǃH�L$ H�T$M��H��H��0A�H�5��Pj讑A��XZA��������E����H�|$H��D�/�UǃA��c�G����Y���fDL��(��H�m�����H���wA���'���@��D��H���H��Hǃǃ��vA�����H�������H���vA������H�
���H���v���fDǃD��H�,�H���|vA������O��Df.���H��tqAWAVI��AUI��ATE��U��SH��1�H�����I���!�H�{`�����t%L������uM��L��H��L��H��������t�H��[]A\A]A^A_ø������H��tH�`�>�fD����H��t�G$�1��f.���AWAVAUATUSH��(L�|$`H����I��H��H�(L��M��I��H��H�T$H�������H��H��t^H�T$H�xH�D$L�B`H�T$L��L�D$A�PL�D$H�L$H��H�H�T$��H�r(H��H��H�L$�
��H�H�L$�M��tI�M��tI�EM��tI�$H��tH�EM��tI�H��(1�[]A\A]A^A_�DH��tH�M��t�I��fDH��(H�}������L��[]A\A]A^A_�^t@f.���ATU��SH��H��t�GL���P��uL�CX������	����CX�sD�H��UƃT]�tH��Y���tǃPH�{`H��TE1�1ɺ	�idA�ă��tl��u=kLǃPD��[]A\���T����l���E1�SX[D��]A\�f��kXH�{`�����H�ͱ[]A\�ds@E1�[]D��A\�H�{`H������Cs두��AWAVAUATUSH��H����8��tAH��HH��@��)S\)SLH����ǃ8H��[]A\A]A^A_�f�H�G`A��H����-xHǃ@HǃHH��H���E�l$Ic�E��H�D$A���
DL��M��t@H����wH�}I��D�?A�G�<w�H����r9C0u�A��^uaE��toL��M��u�@H��HH��@��ǃ8)S\)SLH������1ɺH������������H��H���H�EH�x�krA��weH�M H��@H�}��+E(H�L1�H�H�HH�C`H��@H��PH���:wH�C`H��H��P�����1�1�1��M���D��H9D$���댐��H��tEATU��SH��1����I���f�H�{`�����tL���:���u��H��������t�[]A\ø����f�f.���AVAUATUSH��dH�%(H�D$1�H����H��t[H��1�A��H���$��E��L�l$I��� fDH�{`�����tJL������uNL��D���H���F������tх�u5�D$H�L$dH3%(u%H��[]A\A]A^�@H�������H����/��Df.���H��t_AVAUI��ATA��UH��E��SH��1��h��I���H�{`�����t!L������uL��D���H��������t�[]A\A]A^ø����f��������u@�wVLJ�1�Ð��H��tEATU��SH��1�����I���f�H�{`�����tL���z���u��H��������t�[]A\ø����f�f.���������AWAVAUA��ATUSH��H��8��`L�g`�wL�GHH�T$H�L$t��H�ω���RH�H9�s>D$H��ǃ`)�=C�1�1��}�������ǃ`L���X�����D$+�L$+��y+��t'L��H�����nH��8[H�]A\A]A^A_�DI��$���sI��H����H�D$�D$����1��%f�I��?_�#M����M��;l$�ML���sI��I�GH�x�n��dE��u�I�w���^���_u�9C0u��{Vu�I�G(D�T$Hc�E�O H|$A)�H�A)�E9��Mc�D�L$,L��L�T$ ���L�T$ MW(L��D�L$,D��sI�L��A�T$L��L��A�T$M���;���D����f�{Tu�|$+tH��81�[]A\A]A^A_�H�������L���%mH��8H�[]A\A]A^A_�@9C0����H���~mD9�����I�w����@9C0���������f.�)k\Hc�)kLH��8[]A\A]A^A_��Mc�D�T$,L��L�L$ ���D�T$,L�L$ MO(D��R���D��ATI��U��SH�G`H�����qH����H���DH�{�?_tWH���qH��H��tkH�CH�x�l��u�H�S���^tZ��_u�A9D$0u�A�|$Vu�H�C H+C([]A\�f�A9D$0u�H���`l9�t�H���DqH��H��u�[1�]A\�DA9D$0�n���H�C H+C(뭐f.���AWAVI��AUATUSH��H����hH�o`dH�%(H�D$1����~L��l�@L�$$���AA��I�����H���T����������H�{`H�����kH��H�L$dH3%(��H��[]A\A]A^A_�DH������u�H���L��lL���L��L��H���Y[���������H���)C8ǃh�f��S8������I���LG�H�$L���H�PE����H�$I���_�sDL���jD��L����jH����S8H9�v
H���H�ЋS<H��H9�����L���jH�$ǃhL)�H���� ���fDǃhH�X���H����iH����fDH�Y����H���iH����D��ۺH����DžHE��n���fDH�$I���^�sDL���j�!���fDH����9���@H�	����H���4iH�����������H��tcAVAUI��ATI��U��SH��1��M��I���%�H�{`�����t%L���ھH�H��uL��L���H���#���H���t�[]A\A]A^�H�����f�f.���H��tEUSH��1�H������H���f�H�{`�����tH���j���u
H��������t�H��[]ø����f�f.���H��tpATUH��SH�G`H����mH��H��u�FfDH���xmH��H��t0H�{���^<w�D�e0H���ehA9�u�[1�]A\�f��EU[]A\ø���Ð��H����AUATL�%ЦUSH��1�H������H��D���L�k`��u#ǃ��fDL���P���t?��x�{Ut�ǃ�1�H��[]A\A]�f�ǃ�L���L���)g���u�H�{`�����tH�������v���H��[]A\A]�H������[]A\A]ø����f���ATUS�@�N�AH��L�g`�����1���������t?��O�H�Cp�C@H��tH�KhH��L��L���ǃ���[]A\���{Tu���t"�@L���O�{T��������A��$�u�1��D�K���Ņ��T������t�H�U���L���e������@���Dƃ�a�sDH����rfǃ�H���E1�1�L���OV�Ń��tP��udǃ��{T�\���1���f�LJ�1�[��]A\�D����������[]A\�H�Ѥ��L���Ge����f�H����L���/e���f.���H��tEUSH��1�H���W��H���f�H�{`�����tH������u
H��������t�H��[]ø����f�f.���H����AUL�-��ATUSH��1�H������H��H�k`I��������~������u
ǃ��{Tt"ǃ�1�H��[]A\A]����~H���M�{Tt�ỹ��u�H�{`�����t�L������u�H��H�k`�����u�L�����H����c뿸���Ðf.���AVAUATUSH�� H�_`dH�%(H�D$1�H���kD���I��E��u
LJ�A�~@�Adž�I�~(H��tH��SA�v0H�l$L�l$I��H���c�f.�H��H�<$�SH���^H��I��jA�L��L���Ty^_��y�H��L��L��I��jA��_H���,yZY��y�I�~H��tH��SL���ohI���H��tH��SI���H�CH��t	H���H�CI��H��t	H���H�CH��L����1�H�T$dH3%(u8H�� []A\A]A^��D��E������L���x�������������(��H�
����	H�5ҙH�=ՙ���f���AWAVAUATI��USH��L�oH� dH�%(H�D$1��N��H��L�p"A�D$H����L��L��A�UH��H�$H���XH�@I��H�$H�5X�L���P�nbH�$L��H�PH�$H���I�t$ �ObA�t$(L���"bA�D$HL��E1�1�H��L���QA�ƃ�������L��H��A�UA�D$H�D����E1�I�|$0�rfH��H��u�P�H��H��t@H���`fH��H���������u�H�L$dH3%(��H��[]A\A]A^A_�DL��I�|$ A�UL���4fL��L��A�UD���DH��������L��A������v`A�D$H�&���H�	������L���T`������j���H�s���L���9`I�\$PD���L������I�\$P���f.���H��tEUSH��1�H���G��H���f�H�{�����tH���ڵ��u
H��������t�H��[]ø����f�f.���H��tEUSH��1�H������H���f�H�{`�����tH���z���u
H��������t�H��[]ø����f�f.���H����AUATUSH��H��t�GHH�I��H��H��toH�G`E1�H����pdH��H��u�NfDH���hdH��H��t8H�S���^<w�H�z�Y_9E0u�H��Lk L+k(�4dH��H��u�@M�,$�ELH��[]A\A]�fD1��f.���H���AWAVAUI��1�ATA��1�UH��SH��H�����H9�r{1����I���%�H�{`�����t:L���2�����H��L��D��H��������t�H��H�[]A\A]A^A_�H��H����[]A\A]A^A_�f.�1�A���&��I���#�H�{`������c���L��足���S���1ɺD��H���L����t��7���f�H��H�[]A\A]A^A_�H��������H��tH��t�G4H��G8��1��f.���1��f���L�1�L�
���H������H��H�P��f.���H��H�GH��H���f.���ATUH��SH�H��tI��H�߅�u#���L��H��A�T$[H�E1�]A\�@������f���AWAVAUATUSH��(H�D$`L�0M���MB��H�T$�H����H�t$H��L‰L$M�9�E�NN�Hc�I���UE�~ H��I��I�FH��uK�DA�F ��uSD9|$��E��D��E�H��Ic�L��UH��t[D��H�I��D)�I�^A�V �L������t����uyA�F H�L$L�!D��)�H�D$H�H��(1�[]A\A]A^A_��H��L��UH��������H��H��([]A\A]A^A_�][DH��L��UH�P�����ΐH��L��UH�ԛ����f�H��������f���AUI��ATI��USH��I�H�*H�sH�߾H�D�C�k �۽����u�C ��u H��L����[H�b�]A\A]�Zf�)ʼn�I�$H��1�[]A\A]Ðf.���AUI��ATA��pUH��SH���?`H��tjH��H�hPH�<���H�C@H�Q���H�CHE��u(�pH�5��H�������uNI�]H��[]A\A]Ð�pH�Κ�����H��������DH��H�����[H�D�]A\A]��YH��H��U�����f����GpH�r5"��H��5"HD��@��H��t7H�H��t/UH��H�xSH��H��芽��H��H�;�UH�H��1�[]Ð1��f.���H�I��I��L��H�p�H�x��z���AWI��AVM��AUI��H��ATI��USH����H��L�D$�SH��tbH��I�u8�D$PL��H�L$H�}�EA��H�u�Dz��u(H�T$XH�*A�A�H��[]A\A]A^A_�H��H��S������޸�����א��AWAVAUATI��USH��dH�%(H�D$1�H�\$XS�D$XP�+���ZYA�Dž�u/H�+I��L�uH�uMcD$L��L���U��yH��u�H�\$dH3%(D��uH��[]A\A]A^A_����f�f.���H��3"�@��SH�>H��谹��H�1�[�D��AWAVI��AUA��ATI��(UH��SL��H��XM�9dH�%(H�D$H1��b]I�$H����H�E(H��H���B}E��~%A�E�H��L�lH�SH�3H��H���
���L9�u�H�\$01�H��H���6���I�$H��L����|��uH�L$HdH3%(u(H��X[]A\A]A^A_�L��I�<$A�V������ϸ������������AVI��AUI��ATI��UH��SL��H��I�8dH�%(H�D$1�H��t�t���H�H��M��L��L��H���y��u%H�$H�H�L$dH3%(uH��[]A\A]A^Ð��������4���@��AUI��ATI��UH��SH��H��H�9dH�%(H�D$1�H��t���H�H��L��L��H���y��u%H�$H�H�L$dH3%(uH��[]A\A]��������謼��f�f.���AWAVAUI��ATI��USH��(H�9dH�%(H�D$1�H��t
�[���I�EL���UI�t$�����H�=���������I�|$I����UA��K�4H��H���UA��J�,;H��H���U��H�LH�T$H��H�$�UH�|$I��M��H����L��jjPH�L$ H��QH�T$0H��RL���RuH��0��u*H�T$I�UH�t$dH34%(uH��([]A\A]A^A_�f���������t���@��SH�>H��� ���H�1�[�D��AWI��AVI��AUATM��USH��hM�)H�<$H�\$�L$H��dH�%(H�D$X1��y�L$��~/�A�H��I�lf�I�T$I�4$H��I��軷��I9�u�H�l$@1�H��H�����H�<$M��M��H��L����w��������H�L$XdH3%(uH��h[]A\A]A^A_��|���f�f.���I�9H��H���zf�f.���AVI��AUI��ATI��UH��SL��H��I�8dH�%(H�D$1�H��t�Է��H�H��M��L��L��H���Yu��u%H�$H�H�L$dH3%(uH��[]A\A]A^Ð��������Ĺ��@��AUI��ATI��UH��SH��H��H�9dH�%(H�D$1�H��t�I���H�H��L��L��H���Qu��u%H�$H�H�L$dH3%(uH��[]A\A]���������<���f�f.���AUI��ATUSH��H��H�9dH�%(H�D$1�H��t
迶��I�EH���RH�s�����H�=&������u{H�{H���^R��L�$+L���PRH��H��E1�jI�L$A��H��jH��jjjjjjjjj�pH��`��u%H�$I�UH�T$dH3%(uH��[]A\A]�f���������D���@��H��H��7tH������BQf�I�9H��L��H���^x@f.���H�u-"�@��1���t%��u�����tH����fD�������t�H����@f.���H��(���dH�%(H�D$1���u.1�H��tH�H�T$dH3%(��H��(��H��t��H�H���H��tʿrsA�ds�D$aH�ssh-f�|$
1�H�t$H�t$
fD�D$�D$s��
vH;0tH�8H9|$
t01��:�w����f�xrsu��x
@8|$uӿ�:�Q�����xf9|$u��x
@8|$u���:�.���虶��f�AVI��AUI��ATI��UI��S�6PM��tYI�H��u8�O�H��I���Գ��L��H��Hc�H��L��p����,I�L�cH��tH�(H��u�[I�E]A\A]A^�@[�]A\A]A^�f.�AWAVE��AUE��ATI��USH��H��H��$�L��$�H�$dH�%(H��$�1�A����������C���N��������1�I�h�ٲ��I�GhI�p�Ȳ��I�GpI�x跲��I�GxI���裲��I�`ILJ��?���I�I�G`H��tH��SI�GI�H��tH��SI�GI���H��tH��SILJ�A�H��$�dH3%(���H�Ę[]A\A]A^A_�f.�I�GH��I�GILJ��L$�y���I�G`�0���I�Gh�'���I�Gp����I�Gx�����L$f�1�I���I�hA���4���������觴��I�WhI�pL��M�G`H���P���I�p�׳��I�p�P��I����Hc�I�WH踳�����I�HH��SI�GH���Y	D�(A�GH�p�I�GH�x�rMI�p�y����I�G�=I�pH�p�P���A�I�WHI�wE1�1�H���4=�����
����
A�����A�I���E1�E1�H��PI�OPI�WA��j��cAZA[����z
���I�GH�xI����LH������I���H��tH��S�����H��SH���H�������I���H��H�l$P�Ӵ�����H��I���t����ǃ�H���dq����ǃ�H������H��L���H���L��P���6I�����KI����‰�H�yI���H�I���I���I�Wx�z���I����KI�WhI�wxL��I���M�G`I���I���H��I���I�����I����u���I����P��H����H�I����Q�����)I���H��SI���H����
A���H�Ǎq��
KI��������I�����I���H�p�߰��H�l$ M�g I���H���oH��XH���
�r���L��p��J�L��H��跭��H��XH��H�t$�C���H�t$H��H�P�蒭��H����&���L����\J�L��H���l���H���H��H�t$���H�t$H��H���H�����hL���J�L��H���*���H��hH��`H���������L����I�L��H�����H���H���H��������L���I�L��H���¬�����H���H��譬��A�� ��H�$H��tH��$�H��H��臬��I�GHH��H�P�I�GH�p�o���A���L���@I�L��H���P���I���I���H���:���I���I���H���$���1�L��H���W���H���M��L��I���I���A�H��P(����A�G@A�E1�1�I�w@�H���8����@���U
A�I���E1�E1�H��PI�OXI�W�j�y_AXAY��������4
�KhI�H��SH����8H��pH�P0H��tH��xH���H��pH�x ���D$H�޽�����D$�x��Hc��SI��H�������H��p�x����M�w E1�H�l$P�;f.�L��L��H���ª��K�t%1�H��I�����H��pHcPL9�vH���lI���I���H��聪���L��H���q���M��u�H��H�5:��X������H���H���C����|���fDI�GHH�x�I�H�k�����xH�ރ�Hc��SI��H���uH��p�P���I�G E1�H�l$PH�$�5�L��L��H���ҩ��K�4&1�H��I������H��pHcPL9���H���kI���I���H��莩��H�4$�H���}���M��u�H��H�5H��d������H���H���O����x���f.��@I�GI�pH�p�������fDI���H���A^�Ń�������������������f�H��xH��M��H��H�L$RL��jL�L$,�P Y^�����t$���W�L$��tH��p1�L��HcP���H��L���S�H��H�P0H��tH��H���H��H�x ���D$H���D$�x��Hc��SI��H����H���P����M�w E1�H�l$P�<�L��L��H������K�t%1�H��I���/���H��HcPL9���H����iI���I���H��轧���L��H��譧��M��u�H��H�5z�蔧�����H���H�������x���f.�H�)������H���C�����DH�ޅ�����H���|C�����DI���H�x�I�������f�H��M��H��H��H�L$RL��jL�L$,�P AXAY�����D$���D�l$E��t#H��1�L��HcP����H��L���SDH���H�P H��tH���H���H���H�x�G�D$�xH�޽������Hc��SI��H�����H���D�`E����M�w E1�H�l$P�5L��L��H���"���K�t%1�H��I���O���H���HcPL9���H���hI���I���H���ݥ���L��H���ͥ��M��u�H��H�5��败�����H���H��蟥���x���f.�H��L��S������������H�	���H���A������xH�ރ�Hc��SI��H��t�H���x������I�G E1�H�l$PH�$�9DL��L��H������K�4&1�H��I���0���H��HcPL9�����H����fI���I���H��辤��H�4$�H��譤��M��u�H��H�5|�蔤�����H���H�������x���f.�H���H�T$L��H��PD�T$E��tH���1�L��HcP茢��H��L��SH��H�P H��tH�� H���H��H�x���D$�xH�޽������Hc��SI��H���{�H���h���{M�w E1�H�l$P�:DL��L��H��誣��K�t%1�H��I���צ��H��HcPL9��3H���eI���I���H���e����L��H���U���M��u�H��H�5�u�<������H���H���'����x���f�H�޿�SH���H���f�AoO A�W0�Pǃ����fDH�������H���?���c�D���H���H��諢��H���1�H���ڥ��ǃ��/����H���H���s���H���1�H��袥��ǃ���H�� H�T$L��H��PD�\$E��tH��1�L��HcP�l���H��L��SH���H��tHH�H(H��tH����H���H���H��t"H�@H��tH����H��Ѕ��8���H��(H���K�H�H(H��tH��01�H���H��(H���$�H�@H����1�H��0H��Ѕ�������H����H���=������H����H���o=�������@I���I���H�p�����H�ـ�����H���,=����DH��L������SH��L���S�b�@L���=L��H��裠���H�5@H��菠����f.�H��������H���<����DH��p1�L��HcP蛞��H��L��S���DH��L��SH��L���S����H�y������H���L<����DL����<I�$���<I�(��<�L��H���ǟ����H��1�L��HcP���H��L��S����H�@������H����;���"�蟢��Df.���AUATI��USH��H�����tf�������1���H��觟��H���Hǃ萟��Hǃ�H����[]A\A]���˞��H���连��ƃ"�H��	H���;H��
��;H����~;��
Hǃ 
E1�1�H��L���T+����3�����H�CE1�E1��PH��(H��L��j�%RZY����������H��H�}H����:H���H��A�ʼn�蔣��D��H�H���:H��H�}���t���H��H�CD��PA�!A� L��H��(H���H��H��PH��H��P��H�� �Ń��tKH��L��A�T$�6����H�9~��L���9������H�I~��L���9����������)���H�� ���f�AVAUATUSH�H��t?I��I��H���DH��H�]H��t"L�#L��舝��L9�u�L��L��L���5�����u�H��[]A\A]A^�DH�H�����H��tBUSH��H��H�:H��t*1��@H�:H��t�+���H��H�H�lH��u�H�E�H��[]��@f.���UH��SH��H�������H��H�CH�﹀PH���A�A�jH��j�2�H�� �Ń��t4H����{���H��Hǃ��d����HǃH����[]�f.�蛛��H���菛���H��H��軚��H�����H�=��#�����2������UH��SH��H�������H��H�CH��PH���A�A�jH��j�B�H�� �Ń��t4�H���腛��H��Hǃ��n���HǃH����[]�f.�諚��H���蟚���H��H���˙��H����H�=�}�3�����2����AVAUATUSH9���I��I��H��I��L��H��L��赙����ta�H�߾,�Ӝ��H��H��t8L)�L��H)�H9�sMH��H��L��H���{�����u�H��L)�H�I9�t�<+,u�H��[]A\A]A^��I9�t�A�<,,u���f�1�H��[]A\A]A^�f�AWAVI��AUI��ATM��A��UH��SH��(H�t$H�T$賚��M�>L�l$H��M��u4��fDI��L��L��H��M)�L����H��uII��M���A�?ty�,L���ܛ��I��H��u�L���ܙ��L��L��H��H��I�����H��tCH��L��L�����H��t0H�|$tH�x8t�D$��H�x(��M���v���f������H��([]A\A]A^A_�@H��t�L�8M��t�L�l$M�7A��M��u���L�;M��t�M�7M��t�L���(���L��L��H��H�����H��tM��tI�8t�D$t0I�(u)H��u��m���DH�\$H�H��(1�[]A\A]A^A_�H�D$L�81��E���AWAVAUI��ATI��USH��H��H�|$菛��H�I��H��u5���H��H��L��L��H)�H���Q���H��uQL��H�����;���,H���9���I��H��u�H���9���H��L��L��H��H�����������H��t`L��H��H���M���H��tHH�L$1�H��A@H�]H��t/H�����H��L��L��H�����H��u1I��I�.H��u�D�����H����[]A\A]A^A_�f.�H�D$1�H�(��@AWAVAUI��ATI��USH��H��H�|$�/2H�I��H��u5���H��H��L��L��H)�H���!���H��uQL��H�����;���,H���	���I��H��u�H���	���H��L��L��H��H�����������H��t`L��H��H������H��tHH�L$1�H��A@H�]H��t/H��跖��H��L��L��H�����H��u1I��I�.H��u�D�����H����[]A\A]A^A_�f.�H�D$1�H�(��@AWAVAUM��ATI��USH��H��H�t$���H�I��H��u5���H��H��L��L��H)�H����H��uQL��H�����;���,H���ٗ��I��H��u�H���ٕ��H��L��L��H��H����������H��t`L��H��H�����H��tHH�L$1�H��A@H�]H��t/H��臕��H��L��L��H���V���H��u1I��I�.H��u�D�����H����[]A\A]A^A_�f.�H�D$1�H�(��@AWAVM��AUM��ATI��USH��H��dH�%(H��$�1�L��$�A����
������=���H��������1�I�h蕔��I�GhI�p脔��I�GpI�x�s���I�GxI����_���I�`ILJ����I�I�G`H��tH��SI�GI�H��tH��SI�GI���H��tH��SILJ�A�H��$�dH3%(����H�Ę[]A\A]A^A_�fDI�GH��I�GILJ��$�:���I�G`��I�Gh���I�Gp�ߒ��I�Gx�֒���$f�I�hI���1�A���4����������i���I�WhI�pL��M�G`H������I�p處��I�p�P��I����Hc�I�WH�z������I�HH��SI�GH���{	� A�GH�p�I�GH�x�4/I�p�;����I�G�_I�pH�p����A�I�WHI�wE1�1�H��������
����
A�����1A�I���E1�E1�H��PI�OPI�W�!j�EAZA[�����
����I�GH�xI����\.H������I���H��tH��S�����H��SH���H�������I���H��H�l$P蔖�����H��I���OV����ǃ�H���%S����ǃ�H������H���H��H��H�$H����P���SI����-I����‰�H�yI���H�I���I���I�Wx�7���I����K-I�WhI�wxL��I���M�G`I���I���H��I���I���讐��I����2���I����P��H����H�I���������FI���H��SI���H����
A���H�Ǎq���,I����˒���I����
I���H�p蜒��H�l$ M�g I���H����SH��XH���4
�/���L��p��d,�L��H���t���H��XH��H�t$����H�t$H��H�P��O���H������L����,�L��H���)���H���H��H�t$赏��H�t$H��H��������hL����+�L��H�����H��hH��`H���ю�����L���+�L��H��賎��H���H���H��蝎�����L���o+�L��H���������H���H���j����L���=+I�$��/+I�(��!+�L��H���1���M��tL��L��H������I�GHH��H�P�I�GH�p����A���L����*�L��H�����I���I���H���э��I���I���H��軍��1�L��H�����H���L�$L��I���I���A� H��P(����A�G@A�E1�1�I�w@�H���<����6���K
A�I���E1�E1�H��PI�OXI�W�j�AAXAY��������*
�KhI�H��SH����.H��pH�P0H��tH��xH���H��pH�x ���D$H�޽�����D$�x�� Hc��SI��H���r���H��p�x����M�w E1�H�l$P�1L��L��H���b���K�t%1�H��I�� 菏��H��pHcPI9�sH���PI���I���H���!���� L��H������M��u�H��H�5�j������H���H������|���fDI�GHH�x�I�H�I�����xH�ރ� Hc��SI��H���uH��p�P���I�G E1�H�l$PH�$�5�L��L��H���r���K�4&1�H��I�� 蠎��H��pHcPI9���H���OI���I���H���.���H�4$� H������M��u�H��H�5�i�������H���H������x���f.��@I�GI�pH�p諍�����fDI���H����?�Ń������������������f�H��xH��M��H��H�L$RL��jL�L$,�P Y^�����t$���W�L$��tH��p1�L��HcP芈��H��L���S�H��H�P0H��tH��H���H��H�x ���D$H���D$�x�� Hc��SI��H����H���P����M�w E1�H�l$P�<�L��L��H��袉��K�t%1�H��I�� �ό��H��HcPI9���H����MI���I���H���]���� L��H���M���M��u�H��H�5h�4������H���H�������x���f.�H��h�����H���<%�����DH�~g�����H���%����DI���H�x�I������f�H��M��H��H��H�L$RL��jL�L$,�P AXAY�����D$����D�l$E��t#H��1�L��HcP覆��H��L���SDH���H�P H��tH���H���H���H�x�G�D$�xH�޽������ Hc��SI��H�����H���D�`E����M�w E1�H�l$P�5L��L��H���‡��K�t%1�H��I�� ���H���HcPI9���H����KI���I���H���}���� L��H���m���M��u�H��H�5���T������H���H���?����x���f.�H��L��S������������H��f��H���?#�������xH�ރ� Hc��SI��H��t�H���x������I�G E1�H�l$PH�$�9DL��L��H��袆��K�4&1�H��I�� �Љ��H��HcPI9�����H����JI���I���H���^���H�4$� H���M���M��u�H��H�5e�4������H���H�������x���f.�H���H�T$L��H��PD�T$E��tH���1�L��HcP�,���H��L��SH��H�P H��tH�� H���H��H�x���D$�xH�޽������ Hc��SI��H���_�H���h���{M�w E1�H�l$P�:DL��L��H���J���K�t%1�H��I�� �w���H��HcPI9��3H���kII���I���H������� L��H�����M��u�H��H�5�W�܄�����H���H���DŽ���x���f�H�޿ �SH���H���#�AoO �AoW0Pǃ� ���H��d�����H��� ���G�D���H���H���K���H���1�H���z���ǃ������H���H������H���1�H���B���ǃ����H�� H�T$L��H��PD�\$E��tH��1�L��HcP����H��L��SH���H��tHH�H(H��tH����H���H���H��t"H�@H��tH����H��Ѕ��8���H��(H���/�H�H(H��tH��01�H���H��(H����H�@H�����1�H��0H��Ѕ��������H��c��H���/������H��a��H���������@I���I���H�p腅�����H�yb�����H�������g�DH��L������SH��L���S�F�@L���3L��H���C����H�5�`H���/������f.�H�Yb�����H���L�����DH��p1�L��HcP�;���H��L��S���DH��L��SH��L���S����H�b�����H��������H��1�L��HcP����H��L��S�
���H�#b�����H������I�肄��f���AUATI��USH��H�����tf�������1���H��藁��H���Hǃ老��Hǃ�H����[]A\A]��軀��H���诀��ƃ"�H��	H���H��
��H����n��
Hǃ 
E1�1�H��L���D
����#�����H�C�E1�E1�PH��(H��L��j�4Y^����������H��H�}H���H���H��A�ʼn�脅��D��H�H���H��H�}���d���H��H�{H��(H��H���WL��H��L�I�D��L�@����XZ���tKH��L��A�T$�F����H��`��L������'���H��`��L��������������9���H�� ���f���AWAVI��AUATUSH��H���Wh�Ѓ��Gh�������	�Wh����H�Gx�H���*I������I�VxH�sL���R�Ń��������1�I��`H��tL��A�VIdž`I���H��tL��A�VIdž�A�fh��H�Ę��[]A\A]A^A_�DH�xtSI����b����A�H���H�GxH��tgH�@@H��tSH�����I�FxIdž�����fD���t4��t\����I�VxH���$������������HLJ�I��`H��XI��hH��`Idž`�A��H�����I�~XH�����}��I��H�h>I�~`H�����}��H�$I���H����
��}��H�D$I��8H���O
�}��H�D$I���H���
�}��H�D$I��@H����	�w}��H�D$ I���H����
�]}��H�D$(I��HH���
�C}��H�D$0I���E1�H��t�*}��I��H�D$8I��PH��t
�
}��H�D$8H,$Hl$L��Hl$Hl$Hl$ Hl$(Hl$0L�Hl$8H��A�VI��H�����H�x��G��I�~XI�L$�gD��H����I�L$I�vXL��H���8���I�I�~`��4$L��I���I�v`H�$L������L,$I������t$L��I���yI���H�T$L���Հ��Ll$I��8�r�t$L��I���BI��8H�T$L��螀��Ll$I�����t$L��I���I���H�T$L���g���Ll$I��@���t$ L��I����I��@H�T$ L���0���Ll$ I����e�t$(L��I���I���H�T$(L�����Ll$(I��H�F�t$0L��I���fI��HH�T$0L������H�|$0L�H�OI���D��H�$���,H�$I���L��H�����H��L�I��PL�i��L�|$8H��D����I��PL��L��M��I��A�EI�}1���AdžH��H@H��[�����L������%���DM��P�I��X�IdžP�IdžX�E1�1�H��L��L���aA�Ń���z	����I��`H��tL��A�VM��`I��hAdžH��H�CE1�E1��PH��HH��PL��j�-��XZ���������I���H��tL��A�VL��HL��PM���I�UD��M���H��H�$�|��H�E�H��H�L$(H9���H�$I�EH�D$ H�T
H��H�T$�EH�T$H��H��H�$L)�H)�H9���H�BH�T
H��H�T$H�D$�
H�T$H��H��H�L$0L)�H)�H9��iH�BH�T
H��H�T$H�D$8��H�T$H��H��H�L$@L)�H)�H9��-H�BH�T
H��H�T$H�D$H�H�T$H��H��H�L$PL)�H)�H9���H�BH�T
H��H�T$H�D$X�VH�T$H��H��H�L$`L)�H)�H9���H�BH�T
H��H�T$H�D$h�H�T$H��H��H�L$pL)�H)�H9��yH�BH�T
H��H�T$H�D$x��H�T$��H��H��$�L)�H)�H9��=H�BH��$�H�D2A����H����L)��	�A���A9��M�~XI���H�D$M����L�d$(L�t$H�\$(L��L�|$ �,I��H��L��L��I)�L�����I��H��uOH��H�����;���,H����x��H��H��u�H����v��H��L��L��H��I�����I��H��tRH��H���!L������H��H��t8H�PH�D$L�$H�L$H�t$H�x`�������H���f����L�t$H�\$(fD����������H�=x�!�tH�=k�!����I��H�h>�:���f.�L��L��A�VH��VD��L��AdžH������c������H��X�����I��`H��`I��h�A�fh������L�-��!M���@���M�}H�-��!M���,���H�\$L�d$(L��H�D$L�l$ �L�;M��tQL���`u��L��L��L��H���/��I��H��t#H�SL�$I�~`H�L$H�t$�������H��H�]H��u�H�\$���DL���ж��H�t$(L��H�����I������H�t$ L��H�����I��H����{H�t$L��H�����I����w��H�t$L��H���{���I�����kw��H�t$L��H���[���I��C�����t��H�4$L��H���<���I����@L��H��H�L$@H�^�!����H�L$@L�,����t$8H���L�n�����;H�$�"���f�L��踵��H�t$0L��H���ȿ��I�|����H�R�����L���Z����pH���xH�8�nH���5��H�D$ �����FH���\H�8�RH�����H�D$�����Lv��H���jH�8�`H������H�D$���L�����H���H�8�	H�����H�D$0�����u��H���H�8��H�����H�D$� ����Ks��H����H�8��H���`��H�$���L������H����H�8��H���4��H�D$(�2���L�t$I��H�\$(M�~xA���tL;l$ �(H�L$0H�T$8I���I��p���������H�L$@H�T$HI��8I���b���������H�L$PH�T$XI���I����m���������H�L$`H�T$hI��@I���H�����p���L�D$pH�L$xL��I���I����P�����H���L��$�H��$�L��I��HI��(�"��������I�Vx�H���-���H�EH�\$I�FxA������L9|$ ����A��������H�D$ ��H�D$��H�D$0���H�D$(��H�D$�)�H�D$�5�H�$���>E1����A�fh����I��`H�������L��A�V���M��P�I��X�A�fh�������@f.���AWAVAUATI��U��SH��(H�|$H���Lp����	��H�lRH��Hc�H�>���H�D$1�H�H�D$fDH�D$��Hc�H��H��PI��H���xL��H��H��M���t��H��A���2fDH��H��L��L)�Hc�H�����I�NH����H��tBI��A�?t9E��t4�,L���|q��I��H��u�L���|o��H��L��Hc����H����A�}��H�D$H�8H��tH�D$H��PH�D$L�(H��(1�[]A\A]A^A_�f�H�D$1�HPH�D$���f�H�D$H�-$�!H��XH�D$����fDH�D$H��`H�D$�=o��H�����DH�D$H�H�D$�q��H�����H�D$H8H�D$�{q��H���s���H�D$H�H�D$�+	H���S���H�D$H@H�D$�	H���3���H�|$H���H�D$���H������f�H�|$H��HH�D$�گ��H����f�L��H�L$��m��H�L$L��H)�H��H���r��H�L$�,���M9�sCA�G�A�}�a���H�\$L��H��SH�FO����H��H��([]A\A]A^A_�+	A������H��N�����H�|$��DH��N����H�|$�f.���H���{���ZAU��ATI��H�rOUH��SH��Hc�H�>���L�-)�!I�E1�1�H�����H�8�AH��I�D���H��u������H��H���UI�$H���I�U1�1�H��u�fDH��t!H�H��t
A�ȃ�J���VH��I�T�9�r�9�uvH����[]A\A]�f��l��I��M���F���H��J����H��H��[]A\A]���o��I����fD��I���fD�˭��I���fDH��H��UI�$H�tJ����랐H�>J�����_�H�J�����GH�KJ������c���fD��H�11�����SH��H�>H��H��tH��PH�1�[�f�f.���AWM��AVI��AUI����ATUSH��HD�D$L��$4H�\$H��$�L��dH�%(H��$81��;H���n����o��H�uE1�H��H����l���L��H���l���T$L��H���xl��M��t��$���u@1�L��H���[k��H���h��1�H��$8dH3%(u*H��H[]A\A]A^A_�@��$�L��H���l�����l��Df.���AWM��AVI��AUI����ATUSH��HD�D$L��$4H�\$H��$�L��dH�%(H��$81��+H���m���j��H�uE1�H��H����wk���L��H���wk���T$L��H���hk��M��t��$���u@1�L��H���Kj��H���g��1�H��$8dH3%(u*H��H[]A\A]A^A_�@��$�L��H���k����k��Df.���SH��H�� dH�%(H�D$1�H��t$8�D$8P����H�D$H��D$�CXZH�\$dH3%(uH�� 1�[��Uk��D��AWM��AVI��AUI����ATUSH��HD�D$L��$4H�\$H��$�L��dH�%(H��$81��H���#l���Nk��H�uE1�H��H����j���L��H���j���T$L��H���i��M��t��$���u@1�L��H����h��H���3f��1�H��$8dH3%(u*H��H[]A\A]A^A_�@��$�L��H���i����Oj��Df.���SH��H�� dH�%(H�D$1�H��t$8�D$8P����H�D$H��D$�CXZH�\$dH3%(uH�� 1�[���i��D��AWM��AVI��AUI����ATUSH��HD�D$L��$4H�\$H��$�L��dH�%(H��$81��KH���j���nk��H�uE1�H��H���@�h���L��H���h���T$L��H���h��M��t��$���u@1�L��H���kg��H����d��1�H��$8dH3%(u*H��H[]A\A]A^A_�@��$�L��H���&h�����h��Df.���AWM��AVI��AUI����ATUSH��HD�D$L��$4H�\$H��$�L��dH�%(H��$81��;H���i���c��H�uE1�H��H��� �g���L��H���g���T$L��H���xg��M��t��$���u@1�L��H���[f��H���c��1�H��$8dH3%(u*H��H[]A\A]A^A_�@��$�L��H���g�����g��Df.���H���!�@��AUA��ATA��UH��SH��H����t
H��H��SD��ǃH��tA��uH��H��D��[]A\A]��H���d��H��L�hL��SH��t.L��H��H���Pi��ǃH��H��D��[]A\A]ÐH��HH��H��D��[]A\A]�@��1��%���D��H���3c��H��xH���f��f�����t	��H��H��H�������f���H����f��H��xH���f��[f���H����H����������H�H��D��Ή7����SH��H�?���H�[�f.���ATI���UH��SH������H��u[]A\�fDH�}H��L���	h��H][]A\���AVE��AUI��ATI��C�<@��UL��H��S��H��A�T$I�EH����E��1�L�zH1�I�L9�r$���tc��A�0������H��L9�tl�A�4J����f��x�Lc�I���t��uƒ�A0��f������f��AHc�@�4�������f��AHc�@�4����t[�U1�]A\A]A^�DL��I�}A�T$H��F����[L��]A\A]A^����H��F�������f���AWAVAUI��ATI��USH��H��dH�%(H�D$1�H�H���}H����a��L��H���������H��H��H��H��H��H�zA�UI��H����I��H��upA�M�,$H�D$dH3%(��H��L��[]A\A]A^A_�na��fDH���������H��L��H��H��H��H��H�zA�UI��H���uI��L�=9F�R���?H��H�ɾA�?L��EL��PA�H�����P1�R���d��H�� I��H���5�����D$H�CH�����C�D$H�CH�����CH��H����D$D�D$�|$�D$B����A������<	щ������?��0E�D	�H��A���tC���"���H��L��DA�PR��L��1�H������d��XZ�,���fDH��L��DR��f.�H�þHc�H�T$�H����u�1��7���@H�þ��1�H�t$dH34%(uH��[]A\A]A^A_��b�����H��H�GH��H���f.���1��f���1��f���H�H�G�f�f.���H�H�~H�H�FH�7H��t
H�0�fDH�w���H�G����H�����H�G����H�WH�H��tH�H�H��tH�P�H�OH�AH��u�H�GH�Ðf.���SH��H��H��H��PH��H��tH��1�H���\��H��H��[�f.�D��AWAVAUI��ATI��USH��H��8��X��.dH�%(H�D$(1����;L��G��Ic�L�>��1�I��vvI�|$����I�|$A������I�U���H9��p
�P	E�<���n
E��t:@H�t$#E1�1ɺǃX�A�D$H���D$#d�D$$����Ń��tH��L��SǃX�H�L$(dH3%(����H��8[]A\A]A^A_�I��vPI�|$�Z����PL9�w>��A�<t4�E1�1ɺH��ǃX�H�5fH�=�����~H��L��SǃX�1��k���I���5I�l$I��vH����������H���������fA�|$x1��A�|$1��H������Hǃ��Hǃ �H��)���(�1����H�fDǃX�
��������H�{@�}����
���o
H����A�ƃ��\���H�l$H�l$H���?���H��D���4����H��H�5�C�@���H�|$1�����E1�1ɺ(H����H������Ń��t.ǃ��������H�wC��H���!����Ń�����������H�D$H��L��SA�O\A�WLH�D$H��Hȉ�H9�r	A��A)�M�B�2D)�A�GLL��`�f�ǃX�1�A�u�H��`��O�����������{���I�|$�H�5�B�^��������H��h��H���f�ǃX�H������H�ŋ�h�����L��m�A���u�if�H�����H��H���<����9E(u�L�m L���UZ������H9�u�H����H��L���x]����u���h�Hǃ��������u������'ǃX�@��b�H�
�C@��Hc�H�>��fD��tփ���@����������H����1�H����ǃ0�H��H��HǃHB�ǃX�H)�ǃ(���hHǃ����Hǃ��H�H���������Q�������L��m�A�ǃh�H�l$����L�t$ƃl�\H���J���D��H���?����H�5�@H���K���H�|$1�����E1�1ɺ&H��l�H��������7������}ǃh�1�����@�EDL��m���t	;E@���H������I��H����H����H�޿H�X`�@ �SI�EH����A�U H�5�?H�ǃ���\������H��A�EP�A�EDH�  I�EH�x^��A�E0����A�E4A�E8����A�E<ƃl�[A�uDL�t$L�t$L����A�u0L����A�uHL����A�uPL�����ǃh�E1�1�H��l�H�ߺ�������������H����H�������H�}0�����E@���DE1�H�޿0�SH���
L�`H���H��L�h L�p(����ǃX�@�������Ch�9�����X��%���A�	M9��I�|$���H�߉��]��I��H����L��L)�A�Vu
@��_�3���A�WPH9���A�OLA�G\9����A�GUL)�L�H9���D)�D�A�G\ǃX�����I���U���I�|$�_�I�|$���S�H�߉��\��H���,���h8�$���I������A�l$I���`E1�E1�E1�E1�H�C(H����H��@��D��L��SH���Y^����H�C I���H�������A�U�I�t$H��H������I���{H��L��SH�=��H��ǃ����ǃX�������I���]���I�|$�g�H�߉��
\��H���@����f�PT�2���A�
�<���I������I�|$�'�H�߉���[��H�������@U���E1����H�C8H��tH��D��H��Ѕ������H��L��SH�$<�����H���G���1���I�|$H������I�|$�����I�|$�����I�|$�����I�|$�����H���H��c�H�{@ǃ���������H�����I��H���\H�X`H�޿�@ �SI�EH����A�U H�5�;H�ǃ��X�����H��A�EP�A�EDH�  I�EH�.Z��A�E0���A�E4A�E8���A�E<ƃ��[A�uDH�l$H�l$H�����A�u0H����A�uHH����A�uPH����ǃ��H����E1�1�H�ߺ�n��Ń����������H�T<�����H��ǃ�������w���fDI�|$M�l$$��I�|$�������I�|$�������I�|$ �������L����������I�L����I�}I��������L����������L���ǃh�������������H��H��;���H��L��SA�����Dǃh�H�:��H���������fDH���L����I�E`���L��H���I��H��P@ǃ���C�H��9���H���Q���L�� ��Y���H�����H��1�H�5sIH�����H��:�����H��A����?���ǃh�H��:��H����������H�I:�����H�����L��H��A��S���I�|$�.�A��I����E1�1�E1�1�H�C0H���W���H��H�߉�D��S��_AX�@���H�9���H���_�E�oPM��!���H�:�����H��A��9���H�]9���H��� �A�G\E�oLA)�M�����A��?��������A�H�exit-staI�D$	I9T$	�jH�exit-sigI9T$	�����uI��w1��M�D��H��1���V��I��H���4�I�|$��H��A��A�}�SI�F(H���wI�t$L��H���qT��I�F(B�(���H����A���I�|$I��
��A��M9���E1�E1�E1����H�8���H�����i�I�|$I��
�o���I9��C���I�|,	I)��W�A��M9��*���I�T$	M�D,
�%���H��L������SǃX���K�|4M)�M�|$�
�E1�A��M9����O�D4
����OQ��f�xtu������x
s�����1�I�����D��H���rU��I��H�����I�|$��A�E$���f�xna�S����x
l�I���1��G���H�����2���H�6�����H��������~�Df.���AWAVAUM��ATUIc�S��H��(H�|$H���L�d$`H�T$H�L$��H��tPI��fDM�GA8u.M�w J�D%I9�r M��tDI�<(L��L��L�$�P��L�$��t)L����I��H��u�H��(�����[]A\A]A^A_�DH�D$L��L�H�D$L�0��H�D$L��H��PH��(1�[]A\A]A^A_Ð��AWI��AVM��AUE��ATI��UH��SH��H��H���$M����~P��I�DH�D$��I��L;|$t5H��A�7L��H��t$XM��E��H�����ZY��u�H��[]A\A]A^A_�H�������[]A\A]A^A_�f�f.���AWM��AVE��AUI��ATI��U@��SH��H��H�D$HH�xu$�EDH���`����t��x_9�t{��������tٸ�H��[]A\A]A^A_�DH��@���t$H���^_��t�1��
Q��H�L$HH�A��H�L$HH�AH��[]A\A]A^A_�@H��L��L��M���t$HE��H�߉����H�T$XH�BZYH��[]A\A]A^A_�@1��P��H�L$H�<H+AH)¸����H���6���H�A������$�����AVAUATUH��SH��H�� D�dH�%(H��$1�E��u`H�t$�H���H��)�fD�H���P�H9�u�H�L$H��H��H��Ƅ$E1�E1�j���^_�����EL�t$I��@����upH����A�ă��t:��x/t�H��L��L����jE1�E1�H���c���ZY��u�H��H�<$�S�EH��$dH3%(D��u(H�� []A\A]A^�A����H�<$H��D�'�S���L��f���AWM��AVAUATUH��SH��H��0L�t$hL�d$pH�T$H�L$D�D$$AV���ZY����I�<$t|A�<�@H���K��H�������t~H�����ƅ�y���u{���1��t$�N��L��I+$�t$H)�H�������u�H��(��[]A\A]A^A_��1��QN��I�$�t������I�$��@I�$��뱐I�$�fDL�t$`D�D$M��H��H�L$H�T$H��(H��[]A\A]A^A_���I�$������^���f.�@H��u(H��t#�H�4����H��H�"4HD��@���vH�4����H���'�Hc�H�-�!Hk�H�T��f�AWAVAUI��ATI��USH��H��H�/dH�%(H�D$1��GL�u`H�H���t=����C1�H�L$dH3%(�*H��[]A\A]A^A_��L�|$1��H��L���9t�����������L�����L����H�{A�VH��H�CH�����CH�K1�H����s�������H�SH�{9�tXL��A�VH�CH�"4L���C�������.���f�H��3����L����������I�}I�$���H�W�l����H��3�����L�����������������XI���AUATUSH��H�/H��v}I��H��H��H�����H�s�A��I9�w_�H�C�!H�=(.�f.�H��H�{H��t3HcSL9�u�L��H���E����u�L�I�,$H��[]A\A]��H�������[]A\A]�AWAVAUATI��USH��(dH�%(H�D$1�H�L�t$I��L�|$H�h`�_f�����H�$H�t$L��H�D$�����Å���H��H�<$�U����H�3����H���B�H�$L��L��L�������Ã��u�H�L$dH3%(����H��([]A\A]A^A_�H�Q2���H����������H�|$�V�H��H�<$A��UE��t�D��H��L������A�����H�12����H�������h����hG�����AVAUATUSH��1�H��dH�%(H�D$1�I���I��H�ŋ�����BHǃ(�Hǃ�Hǃ �ǃ�H��A��H��E1�j� �H�5��K��_AXH�� �H���,ǃ�A�	�	H��H�
�/H�5�/�af������X����ǃ�H�� ���o������,��H���?�H���H����H�� ��@�L��8�L��H�����H��<�������ioǃ@�versH��G�f��D��ƃF�n����HǃP�ǃ�H�� �L��1��0s��H�11��������xH�H�P�H��P�H����ǃ�L��0�L��(�H���L��L���d�������A���EH��(�H��0�L��H�$�������<�����RH��1����H�����H��(�H��SHǃ(��{����������������O����������?���H�� �ǃ�H��t��v��H��-�����H���H��tH��SHǃ�H��(�H��tH��SHǃ(�ǃ������t H����@�����uH��H���B3�����1�H�L$dH3%(�8H��[]A\A]A^��H��/f�����H�����������u���H�<$L����P��A�EH����xv�@H��(�H��S���H���Hǃ(�ǃ����I���H�������;���H�<$����A��H�$H�xH�<$����H�$��H�|H�<$���H�$��H�TH��0�H�(�H�$H9�vH�v/����H���	���1���@D��H��1��������fD�L��8�H+�P����H��-���H���������H���?������;���H��+���H��������fDH��-�����H���l������H�� ����@H�)-�D���@H��-��H���/���W���H�.����H�o,���H���
���2���H�..����H������������A�����AWAVAUATUSH��HH��$�L��$�H�D$H����L�/�G D�L$$L��H�L$H��I��H�t$M�e`���V�J�H�G(��H�HM��t-H�D$K��H��H�4�fDH�PH��(HP�H�L	H9�u�H�D$0H�D$8L��H��H�L$(A�T$�����H�L$(H��-H��I�G(��I�G0�q�H�����I�G0�H�xI�0�u��I�W0H�BI�G0�adf�B�BdI�G0A�H�xI�0�%���>��I�G0H�t$H��H�xI�0�B��I�0��H�I�0���I�G0H�t$H��H�xI�0�jB��I_0�|$$D��H�CI�G0�I�0����I�G0H�xI�0M����H�l$K��L�t���u���I�G0H�UH�uH�xI�0�A��H�}I0I�0�u�{��I�G0H�UH�uH�xI�0��A��H�EIG0�} H�H��H��(I�O0�I�0I9�u�A�G I�W(H��1�L��H)���l��H�ƒ��tfI�(I�G0Hc�L��I�L$H)�H9�t]��I�G(H�D,�����H��HL��[]A\A]A^A_�1������jL���O������tA�G H��H[]A\A]A^A_���I�G(A�G ��@M����H�T$E1�L�(�fDI��H��(M9���H�zu�H�2�L���������u�H�JH�L$8H�JH�L$0�f�L�t$0D�����I�G0H�t$8H�xI�0H��tL���e@��I�0L�I�0������I�G0H�t$H��H�xI�0�:@��I�0��H�I�0���I�G0H�t$H��H�xI�0�@��I_0H��I�_0�S����H�D$0H�D$8H�L$0H�L����������H�0� ���@��H����AWI��AVAUATI��UL��SH��H��L�7�G8H�$M�n`���CJ�TH�G@L��H��H�T$A�UH�T$H��H�C@�]H�CH�r�H������H�CH�H�xH�{H���H�SHD��H�BH�CH�ve�Bremof�BH�CHH�xH�{H���H�CHL��L��H�xH�{H��>��H�{H��L�H�{H�g��H�CHH�4$H��H�xH�{H�>��H�KH�C8H�H�KHH�S@1�L��H)���i��H�ƒ��tmH�{@H�CHHc�L��I�MH)�H9�tj��H�C@H��)������C8H��L��[]A\A]A^A_�7�����tWH���S���t�C8H��[]A\A]A^A_����H�C@�C8��DH�)�����델����H�OH�.����f.���H��tWH��tRATI��USH�H��H�>H�h`t+H�{0H�EH��t	H���H�EH�;H��8H���H�;u�[H�EH��L��]A\���Df.���AWAVAUATUSH��HH���zH�/�GPH�T$(I��H�t$ H�]`���F���vI�Gx1�E1�H�D$H�D$I�GpH�D$H�T$H�t$L���������b���jI�GpI�wxI�XI�GX�E����t;����H�S%����H�����I�pH��SI�Gp�f.�I�XA������A��I�GXH�xI�X����I�WX��H�|I�X���I�WXI�p��H�DI�WxI�GXH�H9��iE���H��SH�D$(I�GpL�(H�D$ H�(A�GPH��HD��[]A\A]A^A_��H�D$H9�r=L�`H��	H�<�H)�H��M���&H��H��L��SH����L�d$I��L�$�I�XI)�A�J��H�D$0M�d�%����I�OX��H�yI�D$I�|$H�I�X���I�OX��H�yI�D$ I�|$H�I�X�����I�D$(I�GXH���;I�D$0I�GpH��I�$H�D$0I�D8I�Gp���L�g`H�Gp�L�gXL���S��I�GX�H�xI�X�=��I�GXH�PI�WX�@listI�GXA�GPH�HI�OXL)�1�L��H����e�������I�WXH�L)�H9���A�GP�1���fD���A��I�GXH�xI�XM���I�D$(H�޿(�SI�D$0H���%I�XH�
)!L�pH�H�xL�H�@�@ I�X��H�<�H��H���SI�D$0H����I�|$(�����E1�I�XH�\$8L��M��fD���K��H�KXI��L�4�I�T$0��H�yL�H�:H�H�BH�{X����I�T$0H�KX��L�H�yH�zH�H�BH�{X�B M9|$(w�I��H�\$8����DI�D$(I�D$0�y��I�OX��H�yI�D$I�|$H�I�X�Y��I�OX��H�QI�D$ I�T$H�I�WX���f�A�GPH��HH��H�$[�����]A\A]A^A_���fDH��S����DA�����{���DH�� ���H���L��I�pH��tH��SI�GpM��tL��L���3��A�GPA������(���f�H�9"����H������D��H��L���|��H��#�����H�������H��#�����H������o���A��������H�	"����H������K���L�g`H�OX����f.���H����USH��H��H�H�H�h`H��tH��UH�CH�{(H��tH��UH�C(H�{@H��tH��UH�C@H�{pH��tH��UH�CpH�;�j�����tH��H��U1�H��[]ø����f����H��CL�R�I9��6<!��<'H���.H�HH9���L�@�'L9����L�_�H�G���]M9��T<!�l<'��I�@I�{I��H9��F�O�I���H�����I9����!�)��'�hL�@I9��	��O����M9���L�_��!����'�.H��H���@H�AH9����"\H�Af�9H9���E�I�yD�AA�I���1I9��(��!����'����H�HH9��kH�H�"H9��[D�L�OD�@�G����I9���<!�d���<'��I��L��H��H9���I��A��G����I9���<!�"���<'��I�HH9���A�@'�GL�O��t\I9�vW<!���I��<'uhL���I�@H9���A�'"I�HfE�H9���A�M�KA�@A�C���.���H�AH9�se�"H�HH9�vY�)��DH�AH9�vE�"'L�Af�L9�v4A�M�Y�AA�A�������fDI�@H9�s
H�HA�'H9�w�1���I�@H9�v�'\I�@fA�H9�v�A�I�{A�HA�K���/����[����H��H�HH9�v��\H��H9�s�H���O��H����������!���H������DAWAVAUATUH��SH��H��dH�%(H�D$1���`�����HLJ��I��HLJ��HLJ��HLJ��H���w.��H�<@H�CH����H��H��H��p���H��h�H���2L�
H��p�H������H��L��1��2��L��h�L���.����p�L��Hc�I��)�L����H��h�D�HcЃ�H��H��p�ǃ`�H���E1�H��jA��� H�5��5��I��H����XZM����ǃ`�H��h��L��L��p�H�5�O������H�SH��h�H�ޅ�����ƃx�Hǃh�ǃ`�H����1��H��x��]�����������Hǃx�ǃ`�H����1Ҹ���������������t��P��������������0H��tZH�}H��1�H�EHDž�H��H)�������H�H����H�EXH����H�EHH����H�E0�����Eǃ`�L����H�t$dH34%(L����H��[]A\A]A^A_�f�H����w�H�H���
t�
t�H��x�Ƅx�H���.L��y�� L���-��H���(H��L)�H����1�L���
L�`�-��� L��H�����h-��H����H��L)�H����L�`� L���?-��H����H��L)�H������
1�L���,��ƃx�H����ǃ`�H����1��L���Z������3����Hǃx�1�ǃ`�L��x��H�������`�H�$��t��	u�L��x���H����L�1�M����V������n����$H��x���x�CH�PH��x��pH���o�����x���
@�ǀ�
@��@��t	����H���A�����
t/H���/���H�����H���{���fDH����w�H�H���
t�
t�H��x�Ƅx�H����L��y�� L���z+��H����H��L)�H�����I��L��L��L�p��*��H����H�$H�����8��H�\���H��������f�H���2���H��x�H�������I�$��*�����H��x�H��������`���u�L��x�H����1��L��U����������P�`H��x���x�TH�PH��x���H��v���x���9vrH�[���H������fDD��H��f.�H�����$&�����t�D��H��Hǃ��ǃ`�E1�����@I��s�H��������
����H���������DH��
H��H��p���H��h�H����L�
��U���@� L���s)��H����H��L)�H������
L��L���h+��H����H�$H��t(�8t#H�����H���������f.�ƃx�ǃ`�	H����1��L���V�������������ǃ`�
�@���H����%������pH��h�H��SHǃh�ǃ`��x���H�Y���H���,���?���H�����H������&���fDH��x������Hǃh�����H����H���������H������#�����L�������H�������H��E1��������H�a��H��������H�K��H��E1��n������H�����H���U����h���H����1���T��H��I��H�x�SH��H����H����L��1�H����Q��B�D%H��H�Q������H��H��S����L��x��4���H�Z��H��E1���������H�i��H��E1�������H�A���H��������L�����e���H�������H���v������H����H���`������H�T��H��E1��G����z���H�����H���.����A���H�r���H�������(���H�����H���������H�P��H����������&��f�f.�AWAVI��AUI��ATM��UL��SH��H�������$���RH���#��H��L	�H�<@I�E�H��
L��I������I����H����L�
�I����H������H��L��1��'��M����L���#��A����H��Hc�H�D$)�L��0�H�L$�I����HcЃ�H��I����ADž��H��E1�A��L��j� �H�5h��*��_AXI��I����H����ADž��I�����L��M����H�5��)E������;I�UI����L���B��IDž��ADž��M����I����1��L��M��L�D$��N��L�D$�����������A�����SH��L	���ADž��M��H�߾/��"���L��L��H�PH���HEں1�SAVD�L$��%��I����ADž��Hc�XZI����1�L����Q������eA9����{ADž��	M����1��L��L���M�����������M������A�����	L��1��P��L��H��H�xA�UH��H���	I����1�H��H���M����~�+L��H��A�UH�����L��譼��DA��I��f.�I�����������t�A��E1�I��IDž��ADž���_fD���c������T����L	�uP��������I����I��������	�ADž��H��L��[]A\A]A^A_�D���/��u�L����I����1��L���rL������X���!tOA������ADž������H��L��I������I����H����L�
����@M����L���A����uuM�����:����L�����=���@M�����;���L��H�$�x��L�$����hI����L��A�UL�$IDž��ADž������fDH�Z���L��贺�������L����I����I����1�L����N�������A9����	ADž�����H����1�ATI��L�L����"��Y^ADž��H�I�����{���@��H�����L��IDž������J���f�M�������@H�������L���̹�������H�������L��謹��E1����@H�����L��茹�������H�5��L���o�������H������L���V������H�����L���=���E1��>���H����L���$���E1��%���H�-��L������E1�����H����L����E1���L�����C���H�������L���ʸ������H�����L��豸������H���L��蛸��E1����H����L��L�$�~���L�$�~���M����I�������f���AVI��AUATI��USH��H��dH�%(H��$�1�H��H��HD�1��p!��I���,H��u?H���{�������L��H���
����H��L��H���a�H�‹����u�M��tQI�~L��1�I�Idž�H��H)�������H�H�D$XI�FXH�D$HI�FHH�D$0I�F0�D$A�FH��$�dH3%(H��uH�Ġ[]A\A]A^��1��u����$��@��AUATI��UH��SH��1�H���r ��I���&DH��u4H���{�����u6L��H�����u'H��L��H���i������u�H��[]A\A]�@H��1�[]A\A]���AWI��AVA��AUI��ATM��UL��SH��1�H������H�D$�)fDH��u?H���������uFH�t$H���i��u5D��I��M��L��L��H���~��������u�H��[]A\A]A^A_�DH��1�[]A\A]A^A_�Df.���AWI��AVA��AUI��ATM��UL��SH��1�H���5��H�D$�)fDH��u?H���;�����uFH�t$H�����u5D��I��M��L��L��H�����������u�H��[]A\A]A^A_�DH��1�[]A\A]A^A_�f.�D���������������g�����AUATI��USH��H��L��XH����H���d��H��M��tH��L��SHǃXH��tRH�}H��SH��XH��t]H��L��H������H��X�(H��X�(
H��X�D(
H��X�D(H��1�[]A\A]�@1�M���y�����H��H�߾����[H��]A\A]�R���f����7�����AUH��I��ATI��UH��SH��H�����HD�H��H�����H�L$LD�H�����H��LD�H�t$��H��H��tS���1�H������H� ���H�kL�kH�CHH�ͳ��L�cH�CPH�D$Hǃ�H�ǃ���H��H��[]A\A]�D�����|H�
���Hc�H�>��H�GHH�WH��H�GPH�WP��H�G H�W ��H�G(H�W(��H�G0H�W0��H�G8H�W8��H�G@H�W@�1��@��H����	��H����Hc�H�>��@H�	H���@H�Gx@H����H�H����H������H��p���H����H�����H����H�����H��(�|���@H�����������1��O���H��
������1��7������H������AWA��AVAUI��ATI��USH��H������tx1�H��tML��M����L�����H��E���}H�}H��SI�$H��tH��L��H���|��I�$�(M��tA�m��H����[]A\A]A^A_�@H��t��t7H����SI�$H��t�M��t�A�E뼐M�4$M��u��DH�A
H���@L��L�5.
�K���������D�����f�����t��u
�Wp1��@�����f��Wl1��f.����������Df.��������������D��H����@��H����@��H����AUA��ATI��USH��H�G`H����c���H��H��u)�if�E��u	H�C�8^t:H���J���H��H��tBH�CA�l$0H�x�@���9�u�A��u�H�C���^<w�H���[]A\A]��H��1�[]A\A]ø����f.���U��H��AWAVI��AUATSH��x�E�H�U�dH�4%(H�u�1�H�E�H��H��H��H��H��H���H)�H��H9�tH��H��$�H9�u�%��.�]�L�l$I�������u�M�f L��L��1�D�F�D��H��L��H�@����������tA�����H��tH�	����膮��H�u�dH34%(���[H�e�[A\A]A^A_]�f��HE1�fD�Z�
H�Hf�JH�� H��H9��w���L��M��H��I�J��H��h���H�E�H�E�H�E�H��x����}�����L��E1��DH�� L9�tYH�SH�CH9�t:������u)��H�{t��pH�W����W�H��t�A��H�� L9�u�E���]H�}�1��j��H�u�1�L������H��x���1���p����H��H�]�H+]�H��S㥛� H��H�E�H+E�H��?Hi������p���H��H)�H�H�E�����D�����@H�HH�ID��E1�H��fD�RHD�D�
A�fD�J����H�HH�I`��H)�H�L������H�{��t�����tH�������t�u�w8��tH��H�CH�W`�T��u&�@u ����������A��H�C�����H�C���t�A�����@H�}�1�E1��
��H�]�H�u�L����x��H��x���1���p�������H�u�H+u�H��S㥛� Hi������p���H�H�]�H+]�H��H��?H��H)�H�3H�E��� H�}������E������������M���t�L��p���1�L��h�����<��H��L9�t7A��<tV<u�A�Du2A�Dt	I�L��1�fA�DH��L9�u�L��p����l���@I�D�H�x�Z�����@A�Dt��I�D�H�x`�2�����@I�D1�fA�TH��I�D�A���P����1��9��H�SH�{������HCH�C���@�H��p������H��p���H�S���H�{HE�H�CH	�H�C���DH��0蟯��H�{H������HCH�C�m���A�����M�f ��������������D��AUATI��USH��H��(dH�%(H�D$1�H�t$LJ�������H�ߋl$����A�Ņ���H�����H����L$����H9���1�H�������D$�T$A��t
�f�T$A��tf�L$���������H�|$�����������H�L$dH3%(��H��([]A\A]�i��H���H�H���a����L$���L���1����L��H������Yj�H���H���H,�H)�H9��#���H�|�����H��膨���g�������D$�T$���+����H�r�����H���L����-����H�6�����H���,����
������f���AWI��1�AVAUATU��SH��(dH�%(H�D$1��B��H�D$H�D$H�$�L������A��1�1�������������1�%E����A���aALJ`�E��8��L�%�E��u&M��XM���NL�����Hc�ALJ8�E�GlI��@�1�H��A���D��E��M����H)�L��A�WHI��@�H)�H9��H���KH����AALJ8�����ILJ@�H�,L���Ǧ�������A�������H�t$L���������A��`�����������|���"����������������I����E1�E1�L��PI��p��I��h�j�ӽ��Y^���Y���I��h�H�x艦��I��h���I����H��ukH�z�H�5q�������uM�$L��H��A�W�$ILJh�ALJ`�H�\$dH3%(��H��([]A\A]A^A_�@L��H��A�WH����L��ILJh��_������f.�A��8�L�%�f�����ALJ8�E1�Mc��5D���D$���
C��/<�I��D�sA�����D��E��E��tA�E�H�A��<�<
��A�l1��D$M��A����H�4$��A������A�WP���t�������CALJ8�����ILJ@�H����L���_������f.�I��@�A��=�������H�A��<�DMc��C��;�Ic�<
t<
u,I��E��u�ALJ8������ILJ@��s����{L��ALJ8�ILJ@�Hc�A�WI���H����I��<�H��H�����I����I����L���������A��8��&���fDALJ����������Mcθ���ALJM��@����f�H�������L���������t�������ILJ@�1�ALJ`�ALJ8����ALJ`�1�I����L���T������<ALJ`�AƇx�I��y���(���H�ssh-userALJ��authI��}�ALJ`�E1�1�I��x�L���������ALJ`����1ҾD��1��?���D������1��+������E���f����H�2�����L���ܡ�������ALJE���(���f�ALJ����H�������H�I��@�������������fDH�����L���_������f.�H�����L���?����z���f.�H����L�������Z���f.�L�%:��������E���m�������	�����AUATUSH��1�H���H���
��I�ċ������ǃ�L����DH���<������L���ߥ��H��u�ǃ��fDH���@>������OH��该��H��u�ǃ��Ch�H���H��tH�@@H��tH���H���H��pH��tH�@0H��tH��xH���H���H��tH�@(H��tH����H���H���H��tH�@ H��tH���H���H��H��tH�@0H��tH��H���H��(H��tH�@(H��tH��01�H���H��H��tH�@ H��tH�� H���H���H��tH��SH���H��tH��SH��XH��tH��SH�{XH��tH��SH�{`H��tH��SH��`H��tH��SH���H��tH��SH���H��tH��SH���H��tH��SH���H��tH��SH���H��tH��SH��8H��tH��SH��@H��tH��SH��HH��tH��SH��PH��tH��SH��P�H��tH��SH��h�H��tH��SH��@�H��tH��SH��`�H��tH��SH��x�H��tH��SH����H��tH��SH����H��tH��SH����H��tH��SH����H��tH��SH����H��tH��SH���H��tH��SH��0�H��tH��SH��@�H��tH��SH��h�H��tH��SH����H��tH��SH����H��tH��SH����H��tH��SH����H��tH��SH��(�H��tH��SH��h�H��tH��SH����H��tH��SH��@�H��tH��SH��HBt
H��PBH��SL����@H������H�}H��SH��H��SL���͡��H��H��uՋ�����H���H�CH��t	H���H�CH��H��t��t	H���H�CH��H���1�H��[]A\A]������tnL��H������uً�����1������2�����������s���f.���1Ҿ1������������1�����;���f�H������[]A\A]���AWI��1�AVAUATUH��SH��H��8�t$L�d$ dH�%(H�D$(1����H�D$�vfDH����H�����E1�I��I��H��tH���q���I��I����H�������L��������uYA�������H�t$L������u9A�����t�E1�I��(�I���H��L���A����t�ALJ�1�H�L$(dH3%(��H��8[]A\A]A^A_�@H��tsH��E1����I��K�D
E��I��(��t$L��I���AƇ�L�D$H�D$ �њ��L��H��L�����D��L��踚��L�D$ALJ��9���E1��
E1�E1�듸����G���������H��tH�����1��DH�H�H�0H��f���USH��H��H�)H�CH�}PH��t	H���H�CH���H��t	H���H�CH��H��H��[]���AVH��I��AUM��ATU��S��H��H�G�L�``艞��H��t#@H�P 8u
��t+9ht&H���v���H��u�H�������[]A\A]A^��I�H�P(H��H�D$I�U�`���H�D$L��H��A�T$H��1�[]A\A]A^ÐAWH��xAVAUATUSH��HL������dH�%(H�D$81�I�$H�h`�ם��H��I�D$ H�D$H����L�|$0L�t$(�-DH��H�|$(�UH���͝��H��H��L��UM����H��萝���S8M��L��eL��I�������t��S8M��L��gL�������t�H�{(t��C8� �D$I�$H�H`H��H�L$�QH�L$H��t9�L$H�|$H�ƉH�՜���[���H�D$8dH3%(u)H��H[]A\A]A^A_ÐH�1������H���l����"����B���f�ATI��USH��dH�%(H�D$1�H�<$H����H��6H��H����՗��H��u.�u=�uV�udH�$L)�H�T$dH3%(u|H��[]A\�f�H�sH���4���H��tËsH��肗���sH���w���H��t��s H���e���H��t��s(H���S���H�s0H���G����D1��)�����t����Z���f.�ATf�I��UI�l$SH��H�G0GG H���–����H��u!��u5��uY��unH��[]L)�A\��H��I�l$蛖��H�H�C��t�H���w���H�}H����H�C�d���H���H�C��t�H��H���J���H�����H�C t�H���4���H�}H����H�C(�!�����H�C0H��[L)�]A\�AWI��AVAUATUSH��H����L�c`��������LJ�H�oPH��tm�OXI�W`H9�r*�@H���?A�OXIG`H��I�G`H9��H)�1�H�H����%��H���u�ALJ�A��H��D��[]A\A]A^A_ÐI�GH�1�H��H)�I�TD�%��H�����H���H����IGHI�GHH����I�D����H������A�GX=�8��L���A�T$H�D������H��H����I�GHI�G`I�GP1�1�H�����A�OXH��H9������1ɺH������A�Ń����ALJ�A�OX���f�H�$L��H��A�T$H�$I�GPH����H��L��[]A\A]A^A_鶓��fDLJ�H�oP�^���DI�GPI�D�mL�r`D��A��iwCA��esD��<v=H������L���Z����Å��]���L��H��A��A�T$�J���D��8<w�H�}H�$褓��H�$���E��<et9H�$L���0A�VH�$H����H�h I�H��H�H(�X�������I�G H��H�D$�)���H�$H��u�fDH��H�$����H�$H��t�;Xu�H��L��A�VI�H�|$H�h`���H��u���f��ۗ��H���o���H��;Xu�H�$���H�$H��H��U�L���ALJ��<���H�(������L�����������A��������f�AWAVM��AUI��ATA��U@��S��H��H��H�L�x`�����u+�NfDH���0�����x'M��L��D���H���Y�����t%A����tҸ�H��[]A\A]A^A_�fDH��1�[]A\A]A^A_�Df.�AWAVM��AUI��ATA��UH��SH��H��H�h��H�H�@`D��E�����uM��L��D��H�������tX�uM��L��D��H�������t?H���W���A�Dž�y���u+E���1������<H+ChH)�H��~NA���u��fDH�ChH��D��[]A\A]A^A_�fD1�����H�Ch�H���H�ChA����H�ChA������AWAVI��AUI��ATUL��SH��L�gH�T$H�� H�L$M�<$L�D$�J
I�_`dH�%(H�D$x1�A��$������0���C��H�T$ H��H�D$(H��SH�T$ H��I��$�H�D$8��H�D$8�r	H��H�D$ �^���H�D$8H�|$ H�PH�T$8�A�t$�FA��$�A�D$�.���I�� H�|$ I�v �9���ADŽ$�I��$�H�L$(1�L���#��H����H�SI��$�H��H9D$(�R��H��������H��IDŽ$�ADŽ$���Lc��@����A��$�H�L$@L�D$0L��H�5��^���Lc�I�����M���PH�D$@�8eH�xt*ADŽ$��	�����uuH��H�|$@�S�8����H��H�|$@��S���%ADŽ$�f�H�\$xdH3%(L���H�Ĉ[]A\A]A^A_��A��0H�D$@I��L��L�D$H�L$L��I��8H��	H�T$I��@�u���I����IDŽ$�ADŽ$������H��@H�|$8����A��H�D$8L�`L�d$8L;|$��I�����A��0�.���I��8H��S����@H�����H��ADŽ$��;���Lc���A�l$@H�t����H��ADŽ$�����Lc�����H�)������H�����Lc����@L��L��L�����C�D=K�<<H�|$8�>���A��H�D$8L�`H�D$L�d$8H��t,H�L$H��v!I9�����L��L��H�����H�D$B�(K�4,H�t$8H��t9H�E0f�EEE H������H�HD$8H�D$8I��@����H�l$@��I������������H�D$(���f�f.���AWAVAUATUSH��8dH�%(H�D$(1�H����H���Gh��1�L�t$ L�l$����L��P�I��H��U�H�D$���<�H��@����kH���fǃ<�H��A��H��E1�j� �H�5��� ���H��H�_AXH����ǃ<��	A�H��H�
��H�5,�����H�����������Jǃ<�H��H�����H���������`H��蒐��H��H��@�H���H��H��L��L�<$�EH�E�,���H�|$�ƃT�����H�$�	ǃ\�ǃ<�H��H�1����H����1H���h�\���\���	uǃ<�D1�M��L��H������Hc�H�����H����H�|$ �L�d$I�|$I���N������G‰E�$fDL���0�����M�dL���!�����M�dH�|$H�D$ H�I9�r�H��SH�EH��d!H�}0H�hhH�Ppǃ<�Hǃ@�HǃH��V���H�L$(dH3%(H���2H��8[]A\A]A^A_Ã���������������������Hc�\��	)�L�Hc�������H��H����̈��H��H�|$�S�H��H���$�����t�H��@�HǃH�H��tH��SHǃ@�ǃ<������t H��������uL��H���[���������1�����@�����u�1����H�����H�������Z���f.�H�����H����������u�1����fDH�E�����1��Շ�����H�W������H��輇������H������H��蜇�������H��������H���|������H�����H�������V������H�D�H���K������ǃ<��������1����@H��H����H�
m���H�5��H�=�����������H���oAWAVAUATUSH��1�L�kH����H�D$H�C H�$f.�H�H�{PH�h`H��tH��UH�CPH�{xH��tH��UH�CxH���H��tH��UHǃ�H���H��tH��UHǃ�H���H��tH��UHǃ�H���H��tH��UHǃ�H��H��tH��UHǃH��H��tH��UHǃH�� H��tH��UHǃ H��0H��tH��UHǃ0H��@H��tH��UHǃ@H��PH��tH��UHǃPH���H��tH��UHǃ�H�L��L�x`荊��H�<$H��聊��I��H��taf�H���x���H��I��荊��H�} L��A�WH��L��L��A�WM��u�M��t(L���@���L��H���U���L��L��I��A�WM��u�H�;�� �����u#H�H�z`�����tH�t$���������H��[]A\A]A^A_ø����@f.���AWAVAUATUSH��H�t$�$L�D$dH�%(H��$�1�H���BI��1�H��E���b�H�l$H�\$4I�ċ$H�D$H�D$PH�D$ H�D$XH�D$(H�D$`H�D$8�eH�CE�����$H��ILJ��yA�����I�GxH�D$HH���4H�D$H��̀H��$�A����p��*���H�D$HH��H�PH�T$H�A�w�FA���A�G���H�T$H�t$H���
����t$4H�����H�t$8H�|$H���HD$HA�GpI���A���1�L��H)�IWx�V��H�����H����A���I��I���H9���A�Gp�����I�H�x`��������������I�L��H�x`�~������M�/A�GpH�D$`H�D$hH�D$pI�]`H�D$xHDŽ$�HDŽ$�HDŽ$����C�������������Y���A���L�D$ L��H�5E�H�L$(��Hc�H����$A�GpH����H�|$XH�D$P�?e�H������H��	�v��H���e���H���TH��1�E����H�$��(H�D$XH�x���H�$��H=�/H�� H�L$PH��	H9�v
H�� H��L�D$XL�J ��I�p	���0��8���hL��H�$H��SH�$I�0H���#���H�$L�zHǂ0Hǂ8���$H��ILJ��y
A�����I�GxH�D$HH���9H�D$H���@H��$�A����p��/���H�D$HH��H�PH�T$H�A�w�FA���A�G����H�T$H�t$H������� ���DH��������H���$���H��H�|$X�S�d���@H�I�f���H�����I�H�x`������F����1�H��$�dH3%(H����H�Ĩ[]A\A]A^A_�f�H�l����H���n���H������A�G@���H��H�|$X�SL�D$ H�L$(L��A����f�\�H�H����HH����H�D$P���DH����,���@Hǂ �����I�xH��SI�GxA�Gp����I�H	H�J ��H�|�I�|	�H�z(H��I)�B�L)���H�����H�)����@A�@	A�����������L�fA�L��u���DH�Q�����C����H�a�������Y����H�����H���?~��I�xH��SI�I�GxA�GpH�x`������u����+���I�A�GpH�x`������P�������fDA�@	A��ȋL�A�L������@��AWAVAUATUSH��H�t$HH�T$ dH�%(H�D$x1�H����H��1�L�l$pI�������H�D$@J��H=�HFЉ�H�T$P���D$\H�D$hH�D$8H��xH�$��f�Dž�H�<$�}���I��H���IH�x0�>H�L$8�P8H��M��H�57�E1���H�L$HH�l$L��H�H�L$H���H�|$h�<e�<g��H�����L���|��H�H�����H�CH�H�x`�������H�t$@�q��H�H����H�kH�EH�D$L�p`�����tJ����������H�
z��LH�5��H�=������f.�H�l$0L�t$(L��Dž�H�<$�M���I��H��������I�L$0H��t6I�D$(H�|$1�I�T<� ��H���I�T$0ID$(H)�I�T$0H��uL������I��H��u��[���H�<$�߀��I9��F����@L��XM���(��`��H��8H��0L�d$PH��H)�L9���N� H�|$1�I)�1�M���i�L9���M������H��H�l$0L��L�t$(I����I��8E��L�P0H�p<L�p L��H�HH�@(H�t$p�r�f{��H�T$pH�D$0L��H�rH�t$p��p�V�P�u8�<{��I�� I�w L���I{��I��8L����M�8D���{��H�<$H�����I9�L��HG�H)��,���H�L$ ��I�� H9�I�̸0uH�T$LF�D�RI�z@L�T$A��0uDG�H�D$(H��PL�T$H�T$H��H�������L�t$(H��������L��L����y��H�� ���fDH��0H9E�gH���z��H�T$pA��H�B�I9��dH�E I9��rtH��8H)�H��L�H��8H�|$ K�'H�L$hH9��H)�A��H��HH��XE)�H��PM�H�|$H�q	L��H�L$�%�L�0L|$H��PuH�L$L��H��A�VH���X~��H��I���m~��L��H��A�VL9d$ ��M����L�������I��H�l$L���0~��L��L��A�VH������H�D$hH�x�y��L��H�|$hA��A�VA��uƃ`L�����@D�}@H������L���@x��H����f�HǃPI����DM���G���I�0�<���A�W8H�L$8M��L��H�|$H�5/���H�H�����M���„�����H�������@H�l$Dž�����@1�H�\$xdH3%(��H�Ĉ[]A\A]A^A_�H�|$1�1�����H9D$P�g����t$\H�}1ɺ���H�H�����H���.����@H�D$ H��PH�|$HL9�H��IG�L)�H�HH����H��XH�0H)�H��XH��uH��HL��A�VHǃHH���/���DH������L���v��H�����DDž����f�H��������@H��X����`����H�
���RH�5��H�=K����fDH�i����L���,v��H����H�k����L���v��H��l���H�f����L���u��H��Q���H�����=���H�
$��QH�5R�H�=��������Df.���H����AWM��AVM��AUI��ATI��UH��SH��1�H������H�D$�(DH�SH�H�z`�����t*H�t$�Q����uM��M��L��L��H��H��������t�H��[]A\A]A^A_ø����f�f.���AWAVAUATUSH��xH�t$HH�T$(dH�%(H�D$h1�H���I��1�L�l$X���H�D$@H�D$PH�D$0H�D$`H�D$8I�oM��xH�E���H�D$L�``��I��0I��@I�8H��H)�H9T$(��Dž�M��xL���y��H��H��tO@H�K0H��t2H�C(H�|$1�H�T<���H���iH�S0HC(H)�H�S0H��uH���my��H��H��u�Dž�L���Cy��H��H���H�x0��L�,$��S8L�D$0�eH��H�L$8��H�H����H�D$`H�x�
t��L��H�|$`A��A�T$D�u@E��utL�s M�0H����x��H��I����x��L��H��A�T$M��tL��IE0L���v���L�,$M�@�1�H�L$hdH3%(�_H��x[]A\A]A^A_�L��L�,$�D��I��0���L��I+�@H�T�ILJ@I��0I��8�r��H��H���u�I�GH�H�x`�������H�t$@���H�H�������T����HT$HH\$(Dž�H�$H)���H�l$ �DL�@0H�p<L��L�p H�@(H�t$X�r��r��H�T$XH�D$ L��H�rH�t$X��p�V�P�u8�r��I�� I�w L���r��I��8L��� ��M�8H�4$L���r��I��xH��H��H�T$��v��L4$L)�H�T$thH��0u�0uA�� L��HF��I��D�B�T$I�x@L�D$A�T$L�D$�T$H��H������H�O������L���:q��H����H�l$ I������H�D$(L9�IG�I)�M��@�U���DL�,$H�������Dž��9���H�������@E1����M��x�h���H�����������f.���AWAVAUATUSH��XdH�%(H�D$H1�H����H��1����H�D$H�D$0H�D$H�D$@H�D$ H�D$8H�$H�E H�D$(L�}H�� M�/A���D�b"H�T$I�]`����H��L��SH�T$H��I��H�D$8��H�<$�r�p��H�D$8H�<$H�PH�T$8��A�w�FA���A�G�op��H�<$�H�5=��zp��H�� H�t$(H�<$�ep��ALJ�1�L��L��L������H�����H���WL9���H��L���SILJ�ALJ�A���L�D$�eL��H�L$ �!��Hc�H���thALJ�H����H�D$@H�x�vo��H��H�|$@A��SE����1�H�L$HdH3%(�
H��X[]A\A]A^A_�M���H�EH�H�x`�������H�t$������E�������8���M������H�a���H���Wn�����t��p���DE�g@H������H���0n����fDH��������H���n���f�H��L���SH�h������H��ILJ�ALJ���m���������������������������AWAVAUATUSH��hH�t$dH�%(H�D$X1�H����H����H��1�A�����E��H�
�H�D$H�|�HE�H�D$8H�D$@H�D$ H�D$PH�D$(H�D$HH�D$H�E H�D$0�0�H��L��S�T$H��I���H�D$H��H�|$�r	�m��E����H�D$HH�|$H�PH�T$H�
A�w�FA���A�G�cm��H�t$0H�|$H�� �mm��H�t$H�|$H�.��HD$HALJ�I���1�L��L������H���tJH�SI���H��L9�����H�T$8�����H��ILJ�ALJ��#l�������H�EH�H�x`������H�t$�������L�}H�� M�/��I�]`E��t.H�D$H��4��������D�փ������A���D�b
�T$���y������
���A���L�D$ L��H�5��H�L$(���Hc�H����A���ALJ�H����H�D$P�8eH�x��H��H�|$���H��H�|$P�S1�H�L$XdH3%(�H��h[]A\A]A^A_��H�D$HH�|$H�PH�T$H�A�w�FA���A�G�sk��H�t$0H�|$H�� �}k��������k��H��H�|$PA��SE��uh1��f������ILJ�ALJ�����H�����H���Oj���'���f.�H��������H���,j�������E�g@H�e����H���j����������������������������H��twH9�0u	H9�8teSH��H��8H��0���H��Xt9H�CH��HH�H�@`H��PHǃPHǃXHǃHƃ`[�f��Df.���������H��tH��0��1��D��H��tH��0��1��D��AWAVAUATUSH��XdH�%(H�D$H1�H���{H��1����H�$H�D$0H�D$ H�D$@H�D$(H�D$8H�D$H�C H�D$�D��H��H�D$H��UH��pH�D$8H����L�t$A�t$	L���i��H�D$8L��H�PH�T$8�A�u�FA�E��l��h��H�� H�t$L����h��ǃhL�t$H��p1�L��L���_���A�ă����H�I9��hH��������H��ǃh��g��A��H��pH��U��hHǃp���PH�|$@H����H���	h��H��H�|$@A��UE���bH���l����(��H��HH��tH��UH�����H��H��ADž�ǃh�UA����qH�CH�H�x`������RH�4$���A�ą��DL�kL�� ��hM�}E�t$
H�D$@I�o`���'���E1��
���D��H�D$���fDE���%���H�
����	H�5�H�=F��H�����0������H��8H��U������lL�D$ �eL��H�L$(�3��A�ă����������ǃh�p���E�u@H�U����H��ǃh��e��A���t���fDH�a������H��ǃh��e��A�ċ�h���@A����H�L$HdH3%(D��uEH��X[]A\A]A^A_��ǃh����H�I���H���_e���;���A������-��f.���AWAVAUATUSH��XH�t$dH�%(H�D$H1�H���jI��1�L�d$8���O��I�ʼn�H�D$ �C
�D$(H�D$0H�D$H�D$@H�D$�C	�D$,�fD�l$(H��H��SI���H�D$8H�����t$,L���Je��H�D$8L��H�PH�T$8�
A�v�FA���A�F�e��H�T$ H�t$L���-e��Adž�I���1�H��L��������tPH�H�SI���H��H9��0��H�O������H��Idž�Adž���c���Ń����I�H�x`������$L���̹���Ņ�utM�>A���I�_`��������A���L�D$�eL��H�L$����Ń��t�Adž���uKH�D$@H�x��c��H��H�|$@A��SE��uBH�L$HdH3%(����H��X[]A\A]A^A_�DH�����H���c��������E�~@H�U����H���b����������Idž�Adž��,���H��������H���b��������D�����T��������J����w���l$(�<���@f.���AWAVAUATUSH��xH�t$0�T$@H�L$8D�D$DL�L$HdH�%(H�D$h1�H����A��D��I��1��}��A�H�D$A�E�D$$A�E�D$(H�D$XH�D$H�D$`H�D$D�l$,�W�D�t$,A�n���A������[��H��SI���I���H����M���A�v
L���Mb��I���L��H�PI����A�w�FA���A�G�b���T$@H�t$0L���-b���T$DH�t$8L���b��A���ALJ�I���I���1�L��H)��{���H���tNH�SI���H��H9��^��H��������H��ILJ�ALJ���`��f�����gI�H�x`�������H�t$訶�����@M�/A�GI�]`�������A���D�t$$�l$(����������5���A���L�D$�eL��H�L$�M��Hc�H����y���ALJ�H��uXH�D$`H�x�`��H��H�|$`��SA�o@������������H�@����H����_������fDH�����H����_����f�H�����H���_���������ILJ�ALJ������t$HL���$`���.�������f.�H�L$hdH3%(��H��x[]A\A]A^A_�D1���@H�����H���_���G����H������H���^���'����H�i������H����^������������f���������AWAVAUATUSH��XdH�%(H�D$H1�H���I��H����H��1�����H�D$H�D$0H�D$H�D$@H�D$ H�D$8H�$H�E H�D$(��H��L��SH�T$H��H�D$8��H�<$�r!H�D$��^��H�D$8H�<$H�PH�T$8��A�w�FA��A�G�^��H�<$�H�5���^��H�� H�t$(H�<$�^��L�T$ALJ�L��1�L��L��L�T$��L�T$H�����H����L9���H��L��SILJALJ�A��L�D$L��H�5p�H�L$ ����Hc�H���tQH����H�|$@�?e��H�|$0\��H��SH�����H��ALJ���\������MH�EH�H�x`������-H�t$�ò�����"L�}H�� M�7A���D�b%H�T$I�^`���I������(���M������@ALJ�H����\��I�EH�D$@H�x
��\��I�EH�D$@H�x��\��I�EH�D$@H�x�\��I�EH�D$@H�x%�\��I�E H�D$@H�x-�\��I�E(H�D$@H�x5�\��I�E0H�D$@H�x=�v\��I�E8H�D$@H�xE�d\��I�E@H�D$@H�xM�R\��H��H�D$@��H�xU�>\��I�mHH��H�|$@I�EP�S1�H�L$HdH3%(�H��X[]A\A]A^A_�fDALJ�H�^���H���T[���`����H�	������H���4[���@����H���[��H��H�|$@ALJ�A��SE�g@���H��H�C���Z�����f�H��L��SH�8������H��ILJALJ��Z�������������M�������������[����f.���AWAVAUATUSH��hH�t$ H�T$(dH�%(H�D$X1�H����H��H����I��1�L�d$HH���m����H�l$8H�D$H�D$@��$H�D$�؉L$0�� H�L$PH�L$�D$4�z�D�l$0H��L��SH��H�D$HH�����t$4L���eZ��H�D$HL��H�PH�T$H��A�w�FA��A�G�:Z���H�5��L���FZ���T$(H�t$ L���5Z��ALJ1�L��H��L����H�����H����L9���H��H��SILJALJA��L�D$L��H�5�H�L$���Hc�H���tQH����H�|$P�?e��H�|$@\��H��SH�λ���H��ALJ�X������BI�H�x`������ H�t$�v������M�7A��I�^`���x������@���I��D�l$0���fDALJH�l$8H���X��H�EH�D$PH�x
�X��H�EH�D$PH�x�X��H�EH�D$PH�x�yX��H�EH�D$PH�x%�gX��H�E H�D$PH�x-�UX��H�E(H�D$PH�x5�CX��H�E0H�D$PH�x=�1X��H�E8H�D$PH�xE�X��H�E@H�D$PH�xM�
X��I��H�D$PA��H�xU�W��L�eHH��H�|$PH�EP�S1�H�L$XdH3%(��H��h[]A\A]A^A_�ALJH����H���W���q����H�ɷ�����H����V���Q����H���_W��H��H�|$PALJA��SE�o@���H��H���V������f�H��H��SH��������H��ILJALJ�mV���������������I�����������������f.���AWAVAUATUSH��H�t$(�T$H�L$0dH�%(H��$�1�H����H��1�L�d$PA���/���E�oH�D$H�D$HH�D$H�D$XH�D$ H�D$`H�D$8�H��L��UI��H�D$PH���FH�D$0L���@H��$��D$�p�'V��H�D$PL��H�PH�T$P��s�F��(�C�U���T$H�t$(L���V��H�t$8H�|$P�Ͻ��HD$Pǃ1�L��L��L���p������H�H�UH��L��L9�����H�Q������H��ǃ��T��A��A�����H�H�x`�������H�t$親��A�ƅ���L�;��H�D$`H�D$hH�D$pI�o`H�D$xHDŽ$�HDŽ$�HDŽ$�����������,��(L�D$�eH��H�L$ ���A�ƃ���G���ǃ��uNH�D$XH�x�pT��H��H�|$XA��UE��uMH��$�dH3%(D����H�Ĩ[]A\A]A^A_ÐH�u���H���S��A�������D�{@H�ո���H���xS��A�������ǃHǃ ����@H��������H���<S��A���e���@A�����H���L�� �T���A�����1������L�� ����f.���AWAVAUATUSH��XH�t$ �T$(dH�%(H�D$H1�H���gI��1�H�l$8�����H�L$@D�c
I��H�D$0H�L$H�D$�؃�	�D$,�f�H��L��SI��0H�D$8H�����t$,H���S��H�D$8H��H�PH�T$8�A�w�FA��8A�G��R���T$(H�t$ H����R��ALJ,I��01�L��L���[����tRH�H�SI��0H��L9��=��H�t������H��ILJ0ALJ,�Q��A��A�����I�H�x`������/L��臧��A�ƅ�uyM�7A��,I�^`��������R���A��8L�D$�eL��H�L$�C���A�ƃ��t�ALJ,��uLH�D$@H�x�Q��H��H�|$@�D$�S�D$��uGH�L$HdH3%(D����H��X[]A\A]A^A_ÐH�����H����P��A�������A�G@H�����H���P��A������ILJ0ALJ,�"���H�������H���lP��A�����@A�����N���A�����C����%���D��AWAVAUATUSH��hH�t$8�T$dH�%(H�D$X1�H����I��1�A��M���L���H�D$ H�D$@H�D$(H�D$PH�D$0H�D$HH�D$�@@H��H��S�T$H��I��@H�D$H�H�|$�r	�QP���T$A����A���yH�D$HH�|$H�T$H�HH�L$H�	A�w�FA��HA�G�P��H�T$H�t$8H�|$�P��H�|$HL���ַ��HD$HALJ<I��@1�H��L���r����tPH�H�SI��@H��H9�����H�������H��ILJ@ALJ<��N���Ń���I�H�x`������ H�t$ 螤���Ņ���M�/�T$I�]`A��u,I�$�����փ��������D��T$A��<�j
�T$���q���������A��HL�D$(L��H�5D�H�L$0踼���Ń���P���ALJ<����H�D$P�8eH�pt\I�D$0f�L��A$AD$AD$ �V���H��H�|$P�SH�L$XdH3%(���1H��h[]A\A]A^A_�fDH���N��H��H�|$PA��SE��t�E�o@H������H���]M�������fD��ILJ@ALJ<���H�����H���M�����R����H�D$HH�HH�L$H�A�wH�|$H�T$�FA��HA�G�M��H�T$H�t$8H�|$�M�����DH�D$HH�HH�L$H��DH�i������H���L��������D����������������O���Df.���AWAVAUATUSH��xH�t$ �T$(H�L$@D�D$HdH�%(H�D$h1�H���I��1���E��D���`���E���H�$�CE��H�l$XD�`
��	A���D$,H�D$PH�D$H�D$`�D$H�D$�+f.�H��L��SI��PH�D$XH�����t$,H���FL��H�D$X�T$(H�HH�T$0H�L$XE���vA���\�A�wH��FA��XA�G�K��H�T$0H�t$ H���
L��ALJLI��P1�L��L���~��H���tQH�SI��PH��I9�����H��������H��ILJPALJL��J���������I�H�x`�������H�4$詠��������M�/A�I�]`w�|$��A��L����������<���H�L$L�D$L��H�5z�A��X��������t�ALJL���H�D$`�8eH�xt6�J������H��H�|$`�SH�Ǯ���H���I�����#����L$8�gJ��H��H�|$`�D$0�S�D$0�L$8���0H�\$hdH3%(����H��x[]A\A]A^A_�H������H���I�������DH�D$`H�x	��I��9D$H��H��H�|$`�S�����fD��ILJPALJL����H�	���H���I�����H����������A�wH��FA��XA�G�I��H�T$0H�t$ H���I���T$HH�t$@H���I���~���H�	������H���H��������DA�G@H�ݭ���H���H�������f�L�D$`L�l$@A�‰D$LL��L�T$0I�p
L��L�D$8�V���L�T$0�L$LH��L�D$8�L$0C�DL��S�L$0�L���@�����F��������<����߮��Df.���H��t�G@�1��f.���H��tH��1��f.�AWM��AVI��AUI��L��ATUS1�H��8H�4$H�5��L�d$H�T$dH�%(H�D$(1�說��H��H��u6��DH���L���í��H��u�D$<
t<
tH��H���Ԯ����t�H��踬��H���fL��H��A�UI��H����H��H�ھH���e���H9�tPL��L��A�UH��莮��H����L���F��H�L$(dH3%(��H��8[]A\A]A^A_��H���H����3���H�A�D�H�S��DA t/H��H��u�L��L��A�UH�Э��L���IF����H�ھ L��耨��H���H�hH��I9�sL��H)�H�T� H��L��P���H�T$H��L��H��H�t$ HD�A��A)�讫������H�$L)�H�U�L�!H�L$H�H�T$ �L$I�I���@H���`���H�q���L���E�������H�1���L���lE�����H������H�P������L���KE�����L��L��A�UH�����L���(E���i���L��L��A�UH�t���L���E���F����۫���f.�AWI��AVAUATI��UH��SIc�H��(H�D$`H�<$H�T$L�L$H�D$艩��I�$I�L�0M��t;I���.DM�~M��tH��H��褧������I��M�uM��tI�>H��u�I�$H�ԭ���H��t>L�xH�L$H�T$H�t$H�<$A�ׅ�uH��(1�[]A\A]A^A_�H�����H�<$H��([]A\A]A^A_�C��DM�4$�f���AWI��AVM��AUI��ATI��USH��H��HH���D���dH�%(H�D$81�I�H�t$H�l$H��H��pL����Y^�…�uLH�D$L��L�|$ I��L�t$(L�D$ L��H�߹�P0��H�D$H�@@��u6H��t�T$H��H��ЋT$H�|$8dH3<%(��uH��H[]A\A]A^A_ú����H��u������f�f.���AWAVAUM��ATUSH��H��xH�t$ H�T$(H�L$0L�D$8dH�%(H�D$h1�I�L� H�PL��H�T$�
���Hc��H�D$H���H�$�a���H�D$HL�8M��tEI�?H��t=L�d$I���fDI�?H��t%M�g M��tH�4$H���k�����t7I��M�>M��u�H������H��E1��$B��A��E��u~H�l$H�,DM��L�d$H�l$HH��I��H�L$H�T$L��A�օ�uqH�D$0I��L�D$PH�߹H�T$(H�t$ H�D$PH�D$8H�D$XA�W0A��I�G@E��uOH��tH��H���H�t$hdH34%(D��uDH��x[]A\A]A^A_�@H����H���dA��A���;���A�����H��t�L��H�����"���f���AWAVI��AUA��ATUSH��1�H��dH�%(H�D$1�I���[���H���dfD�������0���H��@�ǃ8�����H����H���.��������H��H��誖��������8���u�A�}H��HǃP�H��H��SH��@�H�$H����H�PL��L��H�$D���2�A���H�5էL���A���L����@��ǃ8�H��H�A�H��H��@�H�
݀�0A�ǃ����H��H��@��SH�	������Hǃ@�E����ǃ8�H��P�E1�E1�H��PH��H�H��@�jH�5f��Y��AXAY���tH����H��@��?4��H����?��H��@�A��H�wL��葥��H��@�B�8�R���H��H�6����/?��������[����1�H�L$dH3%(��H��[]A\A]A^A_�H�����H����>�����ǃ8����	���1��H��������H���>��D���E������1��H�R�1�H���>��H��@�H��S����KhHǃ@�ǃ8��������1��6���@H�I���H���?>��D���E���i���1��
����������Gh�����f���AWI��1�AVAUE��ATA��UL��SH��8H�4$H�\$ H�L$dH�%(H�D$(1�����H�D$C�D,,�D$�A��X����������P���������I��`��?<tA��h�<�1A��X�AƇh�<�P���������H���I��x�I��p�H��L��Mc�����-A�ƃ����I��`�L��A�WI��x�L��ILJ`�A�WILJx�E����ALJX�I����E1�E1�L��PI��p�H�5�jI��`���V��Y^����I��`����4���3�/ILJx�ALJ��ALJX��?<���A��h�<�����L��A�WH�/����L��ILJ`�ALJX��<�����u A�����tH�t$L�������2���H�\$(dH3%(��H��8[]A\A]A^A_��L��A�WILJ`�H����A��X����I����I��x�L��L����I��x��q�|$L��I��p�A�WI��`�H�D$ H���jH�PH�4$H��H�T$ D���2�;���H�5��H����;���H�5ѢH����;��H�D$ H�t$H��H�PH�T$ D����;��A����H���;��I��`�ALJX��|���A�|$(AƇh��L��ILJ��I��p�A�WI��`�H�D$ H���UH�PH�4$H��H�T$ D���2�:;���H�5�H���&;���H�5�H���;��H�D$ D��H��H�PH�T$ ���:��ALJX�I��p�I��`�E��L��H�L$�*A�ƃ����I��`�L��A�WILJ`�E����H�x������L��ALJX��9�����H�I���L��ALJX��9���u���1����9����0���@H�R���L���_9���K���f.�H��������L���<9���(����H�y������L���9�������1�����f�H�	���L����8�������I��x�L��A�WH�������L��ILJx��8�����fD���tALJX�H�\���L���8���s���f��$L��A�WA�Oh�$ILJ`�ALJX��i���L��A�WH�"����L��ILJ`�ALJX��8������f.�H�����L���7�����f.�I��`����连��Df.���AWAVI��1�AUI��ATA��USH���H��$ H�t$8L�D$(H�D$@H��$0L�L$0H�D$HdH�%(H��$�1�迠��D��$8H�ŋ�$(H�D$H��$�H�D$H�D$xH�D$H�D$hH�D$ H�D$`H�D$PL��M��I���pf�������SI��$��L��A�T$H�G����L��IDŽ$����6�������A��$�����H��L��躌������A��$����u�H�D$pI��$��I��$��H�D$xHDŽ$�IDŽ$��M���3L�D$H�L$ M��L�������h���I��$��H�D$xL��H�|4H�DL�H|$L�I��$��H�A�T$I��$��I��$��H���(H�PH�t$8I��$��I��$��H��L���2�6���H�5W�H���6���	H�5ҝH���y6��I��$��I��$��H���a6��H�T$xH�t$hH���O6��H�|$hL��A�T$H�T$H�t$@H���06��H�t$HL��H��� 6��H��I��$��L��t$8E��$��L�L$8H�T$ H�t$`�1�_AX���D$XtFI��$��L��A�T$I��$��L��IDŽ$��A�T$�D$XIDŽ$�����DH��$�A��$�H��H�D$X�S5��H�D$XH�T$`HDŽ$�I��$��H��$�I��$�H��$�H��$�A��$�H��$�I��$��H��$�H��tbH�B0H��t6H��$�H�t$pL��L�L$L��$���Ѕ��H�T$`H��tH�B@H��t
H�t$L���I��$��I��$��H��$�I��$��H;T$xvHH�t
H�H����H��L��H��A�T$H���I��$��I��$��H��$�I��$��H��tH��I��$���(4��I��$��I��$��H���04��I��$��L��A�T$H��$�H�t$pH��IDŽ$���3��L��H�|$pA�T$ADŽ$��I��$��E1�1�L��I��$��H)��#�����I�T$I��$��L���M��IDŽ$��ADŽ$��H�5}�E1�E1�L��I��$��I��$��PjH�L$ �L��Y^����3ADŽ$�����?I��$���?4�X����D$L��A�T$A�L$h�L$IDŽ$���<f.�H��L��t$8L�L$8L�D$(H�L$0�![AYAZ��������"�������H��$�dH3%(��H���[]A\A]A^A_�I��$��L��A�T$L��H�|$hIDŽ$��A�T$H��������L���1�����fD��H��������L��IDŽ$��ADŽ$���Z1���w���DH��g��L���?1���\���f.�H�T����L���1���9����L��A�T$�K���I��$��L��A�T$I��$��L��IDŽ$��A�T$H�D$`�����IDŽ$��H�@@H��������L$H�t$L��ЋL$���L��H�|$pA�T$I��$��L��A�T$I��$��L��IDŽ$��A�T$H�2������L��IDŽ$���A0���^����������AWAVAUM��ATUL��SH��H��HH��$�H�$dH�%(H�D$81������D$443<����I���yH���I��A��I��HLJ ���H���H��H�D$�#0����H9D$�ND��H���H��H�|*-H�T$H�H�D(H����H�SH�T$H��H����H�D$� H�pL�|$H�t$L��L���2�0���H�5��L����/���	H�5L����/��H�D$L��H�PH���H�T$�H���H����/��H��L��L���/��ǃ��H����E1�1�H��H�����K���������ǃ��H�� �H��E1�E1�H�t$4PH����jH�����H��^_�����H�S����H�������4�H�ހ�3����H���Hǃ���ǃ�����H�ލxH����SI��H�D$H���w���H���L�|$L���.��H����H�|$H�����Ŗ��H�t$ H��L��L����H�T$(LD$L�D$L�$M)�A��H��L��A��SA����$E����H�T$(H����H����H���H9�v@H�T
H�H����H��H��H��SH���vH����H�T$(H����H���Hǃ�HȍtL��H�D$�-��H���H���L���-��H���H��SH�T$(H�t$ L��Hǃ��}-��H��H�|$ �SH�T$ǃ��H���H����E1�1�H��H)�������H�SH����H�ޅ�����Hǃ��ǃ���)D���i���������������������D$6H�t$4E1�E1�H�� �H����H��PH����j�F��ZY��������aH����H�S�?4��H���H�����H��Hǃ��ǃ���+���H�L$8dH3%(�"H��H[]A\A]A^A_�DH�������O+����DH������H���4+���f�H���H��SH�/������H��Hǃ��+���w�����$H��҃Kh�$Hǃ��ǃ���G����H���@+����H���H9��f���H��SH���H����H���I�vH��蕓�����H������@H�����H��ǃ���R*������DH��S����D��H����H��Hǃ���SH���H��Hǃ���SH�ז���H��Hǃ�ǃ����)���P����H�O`��H���)���2���f.�H���H��SH����H��Hǃ��SH�
����H��Hǃ��ǃ���b)������D��Hǃ��H�������H��ǃ���-)������H����H���)�����f.�H����H��SH���H��Hǃ���SHǃ��fDH����H���H���H��Hǃ���SH�����H��Hǃ�ǃ���{(�����fDH�i������H���\(�������H��^D��H���>(�����f��$H���H����H��Hǃ���SH���H��Hǃ���S�Kh�$Hǃ�ǃ���O����H��������H���'���/����H��H�|$ �SH����H��SH���H��Hǃ���SH��������H��Hǃ�ǃ���W'�������-���f.���AWAVAUM��ATUL��SH��H��H�t$L��$�L��$�H�T$H�L$(dH�%(H��$�1�M��H�.�LD�1��+���I��H��$�H�D$ H�D$xH�D$0H�D$pH�D$8H�D$lH�D$HDD����L��$�H�D$pH�D$xH��$�L��$�E����M����H�|$(��I����H��L��SH����H�t$(L��H��H�D$�8����ӊ��L�T$M��H��C�D
�I�Q��DA �[I��H��u�H��L��SH�]���H����%�����������DH��$�dH34%(��H�ĸ[]A\A]A^A_��H��$���H����ATH��H���I��$�L�D$@H���H�L$H�O_AX����L�D$xH�L$pH��H��L�
)��t$(�T$(H�t$ ���H��$�Y^H��t�D$H��S�D$����1���������#���L��H����z�����(�������1�E1�느H�����H���$���f.�L��L�׾ L�L$@L�T$�ֆ��L�T$L�L$@H���;H�HI�Q� L�T$XI��H��L�L$M)�H�L$@L)�L�\$P葆��L�T$XL�L$H��H�L$@H�T$HH��$�M�H��L�T$ID�A��A)��؉��L�T$L�\$P����D�D$lH��$�I��L���L���H�L$pL�D$x����H�i���H���#������H��������H���#������H�Q���H���l#������H��L��SH�����H���C#���h���fDH��L��SH�����H���#���@��������AWAVAUI��ATM��UL��SH��H��xH�4$L�t$P�T$dH�%(H�D$h1�M��H�HD�1�����I��H�D$HH�D$H���H�D$H�D$@H�D$ H�D$8H�D$(�fDH���M����L�D$ H�L$(M��H��H�T$�����uDL�D$@H�L$8H��H��L�
R���t$�T$H�t$��H�|$HY^H��t�D$H��S�D$������������L��H����w����uxD����L�t$HH�D$8H�D$@L�d$PH�l$XE���7���1�E1��e���DH��H��M��UL�D$0H�L$8H�T$(�J_AX���,�������p���DH�T$hdH3%(uH��x[]A\A]A^A_��4���@��H����AWM��AVM��AUI��ATI��UH��SH��1�H���l���H�D$� D�����t<H�t$H���v����u+H���M���H��L��H��AWM��M���H����Y^���t�H��[]A\A]A^A_ø����D��AWI��AVAUI��1�ATUSH��HH�t$(L�d$0�T$$dH�%(H�D$81��É��H�D$I��8�H�D$I��0�H�D$fDA��(����I���������hI��0�L��A�UI��x�IDž0�H����I����H��t|A��p����r1ۉ�L���H��H�</A�UI����H�/A;�p�r�I��x�H��tH��L��A�UI����IDžx�H��tL��A�UIDž��I��X�H��tL��A�UIDžX�I��h�H��tL��A�UIDžh�A��t�����ADž(�I����E1�E1�L��PH�5̏jH�L$H�T$ �&9��A[[����"���bI��0����4�w��3��H��H�|$0�8��H�L$0A��P�H�yH�|$0��t>��L��A�UI��X�H����A��P�H�t$0H��肇��A��P�H|$0H�|$0����H�L$0A��`�H�yH�|$0��t>��L��A�UI��h�H����A��`�H�t$0H���&���A��`�H|$0H�|$0���H�T$0��H�|H�|$0�j��H�D$0A��A��p����
��L��H���#��I��x�H����A��p�L��H���q#��I����H���YE��p�M��x�E1�H�|$0E��uH���PH�t$0A���o���M��x�LˋCHD$0H�xH�|$0��CE��p�E9��nD��H��I�,���L��H�D$0�EI��x�H݋u��"��H�EI��x�H�H�8H���v���H�ߌ�����L���������DI����M��x�I��h�A��`�AUA��P�I��X�PA��A��p�AYIDžH�AZ��t6I������H��H�AH�L�f��0H����H�H9�u�I��H�I��0�L��A�UI��H�L��A�UH�D$0I��0�H���7�=A��p�L��1�H�D$0���E��p�E��t(���L���H��I����PH�0���A;�p�r�ADž(�I��H�E1�1�L��I��0��C���������ADžt��\���f�I����H��t`@H�����������f�A��p���t�1���L���H��H�<(A�UI��x�H�(A;�p�r�I����H���#���H���c������fDH��������L����������H�!������L����������I�������@H��������L������q����H��������L���|���Q����ADž(������H�L$8dH3%(��H��H[]A\A]A^A_�DH�������L���$������H��������L����������H�L��IDžX�I��p��D$$IDžh�IDžx��x7IDž��IDž��I��H�A�UH�D$0I��0�H����H�PH�t$(L��H�T$0�T$$�2�9���H�5�L���%���H�5�L�����1�L������1�L������ADž(�I��H�E1�1�L��I��0��	���t:I�UI��0�L���,��IDž0�ADž(�����H�GO��L���������N���A������?���H�t$L���n�����:����%���DH������L��ADž(��a�����D$L��A�UA�Mh�D$IDž0�ADž(�����f�L��A�UH������L��IDž0�ADž(������3���f.�H�������L�������������H�������L��IDž0�ADž(���������j~��f.�AW��AVAUI�ՙATUSH��L��E�pA���T$����H��I��H��A��H�$Ic�A9�~)�R@H��L��H��E)��/���I�H�E9�2M��H�$H��H��L��A�P(��t�I��PBL��A�W�D$��D$H��[]A\A]A^A_�H�
؇��H�5��H�=���y����AWAVAUATUSH��H��dH�%(H��$�1��Gh�����	���W��0��rA�L�l$ ��f�H��D�pL��0B��(BD)���A9���Lc�L�� ���|Hǃ(BHǃ0BD�[l1ɺ@K�4��I��E����)��Hc�SPH��H����L��0BH��HBH�(BH��(BD)�H����A9��}K�4E���kD��L��H��������GH��0BL��I�A��� BA�WMc�L���$BH��0B������8B���*�T$$��<BH��B�P���@��$�
H��H��H�T$�SH��PBH����H�T$A��H��XBD�$H��HB�nD��1�1�H��@BD)�9�N�E��t/H��D�OHc�H�Ic�H)�H9���D)�A��E��������D��HB��@BA9��������Ch�����E1�A�����H��HBH��udL�� K�4E�������Mc�� L��L�$L���w��L�$L��M�L��0B�s����8B�����T$$��<B���DH��@B��A�Љ�)����H��0BHc�H��XBH��H�� �|��H�0BD��HBH�XBH�@B��H��@BA9�������(���������ǃ(���8�����lHǃHBH��$�dH3<%(��H�Ę[]A\A]A^A_�D��A��A����b���A)�E���t���1�H��0BH��XBD��H��H�� �@�����u�Ic�D)�H�0BH�XBH�@B����@L��K�4L��L�$��x��L�$Hǃ0BL��(B�l���f.�A�V�I�uH��Hc��]{��H��XBH��HBJ�D8���A��H��XBH+�PB��)��W���fDH����������������0������f���(�D��4�ǃ0����v�����8BL��PBǃ,����h�H��0�E��tgL��L�t$@M��H��H�� H�� BA�VL��UA�RH��L��PBL��H��0�HcPI�t-��x��AYAZ���X����<B����H)�H���H��0�H����D�@E��t{�Ch�$H��0tgH�T$H�t$I��M��H��H��0H��(H��Q�@��P H��PB�D$Y^H��S�$���i���L�l$H�l$L��PBH��0�A�Eǃ(���8���,�H��L��H���w�������������ǃ(������1���������H�����������������������������������������������ǃ,���������x���B���������X������������D��4�ǃ0��v���H�
���]H�5d�H�=���Ur���`v��L��PBH��0���f.���AWA�AVM��AUI��ATUH��SH��XH�t$H�$dH�%(H�D$H1��Gh�tH��pD�z��	����L��(�M����H�D$H9� ���L9$$�|H��0�D�El1�Hc����H��`BH)�E��I����H����UHH9��|H����H�0�H9��-���1�H�|$HdH3<%(�$H��X[]A\A]A^A_���Uh�������D$H���H��t�x���?H�$J�0H������H�� H�t$H��H�|$H��eB�w��M��t!M��tH�|$H�$L��L��H��E@��v��H�KIc�1�E��H��L��`BH��I�H�D$ A)�A��E�Ic�D��H�A�؍s��D$��L��A�����D��dBH�|$ D���Ut���El1Ƀ��Icߋ�I��H��L���������UHH9��[H���rH����h��������fDH�����H���������u������u�p��������D$�����H�� L�$H��H���H�L$H�T$8I��H��eBH�D$8��H�L$H�D$@���P������H�D$8H�HM��tJM��tEH�� I��M��H��H)D$@H��E@H�T$@L��H����P�������H�\$@H\$8H�KIc�H��1�E��H��L��`BI�H�D$ A)�A���^���Ic�D��H�A�؍s�H���L��D�D$E�LjT$/Dy�q���T$/H�|$ D�dB�r��I�4E1�H��H���H������QL��jD�D$ �PZYH������H��pL�t$L��xM��I��H�\$HcP�fDH��pHcPI�M9���J��3@@L��H��P(��tԸ������f�Dž�1�HDž(�������DH��������������c���DHDž �1�HDž(��A������H��H�$HH�H�|$D���H��(�H��0�����H�� ����fDL�t$����fD�������������������������q��f.������H��LHO��DAWAVAUATUA��SH���H��$H�|$HH�t$(H�L$H�D$8dH�%(H��$�1��H�D$X���lM��D��H�4$�D$���{����H�D$HE1��H��H�D$ H�D$`H�D$0H��$�H�D$@�H�|$ ���I��H��u+�f����wL�����I��H����E�~,A�ǃ�����u̓�u�M�nH�<$L���p����������t���t�D��%9�t��u�I�F@H�|$H��H�D$��o�����M��L��MD����I��H���x���H�D$(�|$H�$�%�D$��������0���H�|$0�mp��I�~ �����o��I�v0A�V8E1�L�|$0H��L���Bn��L�,$L���l��L��L��H���8n��H�t$@1�L���)m��L���j��M�nH�L$@H�H�QI3EI3UH	������A�E9A�����E�~,����f.�����������H�T$8L��E��I��H��t8�H�IhM�pfA��LE�H�t$A�Gh�ʭ�E���M�oxI���H�
H�|$XH��t�$H�D$HH�H��R�$H��$�dH3%(��H���[]A\A]A^A_�L��$�H��I��1�R���L�0xL���@o��ZY�D$L�<$=
�<���H�D$HH��x����H�8�����k���H�D$HH�t$H�L$XL��H�8����H�L$XH�L$H�������H�D$HH�{x�����H�8�n��������?m��M��tbH�|$8����A�D$,I�L$hM�d$p1�A�D$h�ʭ�f��uI�T$I�T$xI�T$@A��$�H�D$8I��$�H���������@f.�H��t{UH��SH��H��H�~XH�CH��t	H���H�CH�}HH��t	H���H�CH�}@H��t	H���H�CH�}0H��t	H���H�CH�}H��t	H���H�CH��H��H��[]���Df.�AWAVAUATUSH��XL�?H�T$H��$�H�L$ L��$�L�D$(dH�%(H�D$H1���$�%�D$��H��H��I��M���Ii��L����H�D$�
��I��H������$�L�A�G,��$����|���#���H��u����L�����H�;L���D$����D$��H��u����L���\��H�L$HdH3%(�ZH��X[]A\A]A^A_�f�H�D$<D�D$L��L��H�t$@H��I��H�t$��i�����}���H�D$@H�|$I�G�D$<I�G �Hh��H�L$H�;L��H�t$A���i�����B���H�D$@I�G0�D$<I�G8L�3��$��kH��$�uL����g��H��$�H��$�L��H�PH��H�T$A�VH�T$H��I�G@��L��H���`l��I�G@H��$���|$uH�|$ �ZH���AH��$�H�L�aH��L��PI�GXH����L��H��H���k��H��$�I�GX�I�O`H�{L�����1�M���g���A�G,I�OhM�p1�A�Gh�ʭ�f��uI�WI�WxI�W@A���1�I���I�M�&���f�H�D$L��H�PH��H�T$A�SH�T$H��I�G��L��H���[k��H�D$I�G ���DH��$�H�L$@L��L���`��H����H�D$@I�G@����f�H�;H�.t�������������I�GX���H�H�L$(H��H�y�PI�GHH����L�t$(H�t$ H��L���j��I�GHB�0M�wP�`���f.�H�;H��s������l������H�;H��s������L������H�;H�t������,������H�;H�s�����������H�;H��s����������h�����g��f�AWM��AVAUI��ATI��H�~UH��SH��XdH�%(H��$H1��FL��$�<|�X���PH��DH�����t��|u�1���|uqI��I)�I���H�D$ L��H��� H��L�L$H��L�T$H�D$��c��L�T$L�L$L)�B�D H���vJI�<$H�Ws�������DH��$HdH3%(��H��X[]A\A]A^A_��L�T$@H�s�H��L��L�L$�Bc���D,@M��L��H��I��L��j��$�L��
P��$�AV��$�L�L$8H�T$H����H��0�c���I�<$H�]r�����K����F���fD<|t1��5���H��E1������f��DAWAVAUM��ATI��UH��SH��H��H�N,H�$dH�%(H�D$81���%=�����L$=�X=�-L�VHM��L�T$�L�v@L�FPL��L�D$�b��L�D$L�T$I�NjL$M���,@H�CXH��t	H�S`M�|H�S f����I�TL�z�H9�srM�}I�<$����H�p�1���H�t$8dH34%(�H��H[]A\A]A^A_�fD=uqL�v@�L$L���Qb��E1�E1��L$I���g����L�KH����M����PAVL�(oH�|$�H��1�H�������e��XZM�}1��_���I�<$H�q�����{����E���fDL�v@L����a���L$L��?A�I��O�|����fDL�v@�L$L���a��L�Y?A��L$I����f.�H��L�rn�H��PH�����1�AVARH�|$ �5e��H�� �A���@H�sI�<$H�L$(L�T$L�D$���L�D$L�T$H��I����H�S8H�s0H�L$0L�T$I�<$L�D$����L�D$L�T$H����K�T7H�|$(H�L�x�H9���H�CXH�S@L�L$0H����M����H��PRWL��mH�|$ �H��1�H������ad��H�� I�$H�|$(H��PI�$H�|$0H��P�O���f.�M��tAVAR����f�H��L�8mAV����fDI�<$H�Uo���������m���I�$H��PI�$H�|$0H��P�6���I�$H�|$(H��PI�<$H�Fo������\����&���M��tH��RAR����PL��lRARW�	���RH�����H��WH�|$L��l1��ac��Y^�����a��D��UH��H���SH���UH��H��t H�(H�x���H��H��[]�f.�H��n�����H�������f.���H���t$AQI��1�jjAPE1��/���H��8�f.���H���t$(�D$(P�t$(AQI��1�APE1���H��8�D��H��AQE��I��H�Ѻ������H���@f.��������H��t�>�ʭ�tH�?H�|k��������ATUH��SL�fH��L���R���f�H�C L��CH�}���[1�]A\�f�f.���ATI��H��US����H��t&H��@H������I�<$H��H���y�H��H��u�I�4$[L��]A\H�F����AWI��AVAUATUSH��XdH�%(H��$H1����,H��H��t>�H��< uf.�H��H��t �E< t�<	t�<#w>H�H��s.1�H��$HdH3<%(�
H��X[]A\A]A^A_�I���<	tI��H����A�E��u���M���#�I��H����A�$����< t�<	t݉�L�����
t��tH��H���
H)�L�u�1Ҁ�
��H)�H�����Ѓ�0��	�J�D$E1�E1�H�D$H�D$L��H)�H���|f�}|1�fL9����1�H�D$@L�d$(M��L�t$0I��I��H��L�T$ H�\$8�A�|$�,tI��L9������I�\$�H��L9�u�H����f�H��H��L����Z���D,@H��1�j�D$L��
PAW�t$P�t$`L�L$XL�D$HH�L$@H�|$P��H��0���1���L9��t���I�\$�1��h���H�?H�&k�������������I�:H�>k����������L���f�<	tH���H��t��u�I��A�L���D$M)�H�=�8I��L��L�\$IO�H9��������t8I��L��H�=p8L��IN�H9�������Ƀ�������|$< t<	�=H���H��H���0H)�H�@�� t�@��	t�H���&�����
��	�H�4I���
D��	t I��H��L)�L�<I9���A����u�L)�H�˄�t-��	t�� u#�I��I��tA���t
�� t�	t�L�d$I���~����}|�����AWM��H��L��AV�D$PSL�D$8H�L$0�C�H�� �V���I�:H��i���������=���L�d$H��I��E1�E1�����L�T$ H�'h����I�:����	���H��H������I��I��1��(���L�d$E1�1�I��E1������{[���f.���AUATI��USH��dH�%(H��$1���tDH�?H��h�����P��H��$dH3<%(����H��[]A\A]��H��H�5�P1�H���LW��I��H��u����L��H���W��H��tfH�ڋ
H����������!�%����t�L������D�H�JHDѹ��@�H��H��H)���\����t�I�<$H�nh�����|��L���2[������DI�<$H�e���S������'Z������>�ʭ�tH�?H��d����� �A��u
H�v���H�?H�Vg������f�f.���AWAVAUI��ATUSH��(dH�%(H��$1���tHH�?H�g�������H��$dH3%(���H��([]A\A]A^A_��H��H�56d�U��I��H����I�}L�|$���L�d$H��H��u6�DH�T$L��L���Z��H9D$u|H�����H��H��t\M���L��H��H�D$L������t�L���Y���0���f.�I�}H�yc������
���@L��1��fY������I�}H�_c����L�����AY�������WX�����SH��H��t#H�BH��tH������H��u�[�fDH�����H��t�P,H�ph�@h�ʭ�1�H�@pf��uH�HH�HxH�H@���H���1�H�3[����ATUH��SH��H���V dH�%(H�D$1���t>���=����1�����H�L$dH3%(��H��[]A\�@L�d$�vL����H�E1ɋ}�L��I���PH����@L�M�����C 1�H�S�}M��H�3A�QH����L�M���}�C L�d$1ɋ}M�ȺL��A�QP���������H�}H��d��������)���f�H�vH�E1�H�S�}I���PP��xu�C 1�����H��d�����L���������L��3����L�������H�EH�{H��PH��H�CH��t>�C �t������t#H�}H�Kd������&��x����L����������e���������[�����U��Df.�AUATL�gHUH��L��SH���7�H��tFH���H���0�H�UH�{(I��H��RH�UH�{8H��RH�UH��L��H��RM��u�H��L��[]A\A]��f.���AWAVAUATI��UH��SH��(I�H�t$dH�%(H�D$1��C8���}H�C�8
��H�CH���#H��H�s�PH�{A�ƅ���H��UH�{(H�C0H�CH�|$H����?�
H����H��H��	H�|$I�����0�H�L$��L��H�yH�|$H)���H�H��H�|$I������H�D$��I�<$I9���H��UH�L$H�H����I�$H�t$H���MV��H�{f�H��UH�{(H��H�C�UH�pbD��H��H�C(��H�L$dH3%(�0H��([]A\A]A^A_�H��H�|$�1�A�����fDL�s@I��M��H��I�F0I�|
�UH�CH�D$H��tyH�PH�T$�
I�V0I�v(L�t$L���@�L��L��L���2�1�L����H�CH�T$�C8H)�H�S �8
����H�la����H���$��!����H�>a�����H���������H�<a����H���������H�{A�������H�{A���������R��D��SH�����M�����t�C����1�[�H�;H�~a��[�{��f.���AUATI��H�=�`USH��dH�%(H�D$x1���Q��H����1Ҿ�H���Q����A�D$��xXI���lH��I�}f�$��R���nL����D$m��P����uCH�L$xdH3%(uuH�Ĉ[]A\A]�DI�<$H�K`��������f�A�|$��L��I�<$����H�3`����I�<$H��_�����c��{����9Q��f���U�XH��SH���	�H��H��t!�@����H�xHH�(�.�H��H��[]�@H�!`�����H������f.���H�� H�G� Df.���AWf�I��AVAUATUSH�_H��(dH�%(H�D$1�GH�C C���A�G8�D$��tAI�G�8tQI�?H�8_�����d�H�L$dH3%(�HH��([]A\A]A^A_ÐH�D$I�G I�GA�G8I�GH����H��L���PA�Ņ��VI�o0I�_(I�GH���m�;�dH���ZH�{H���M�A��M���H��	��I�F�H�$I�GHH�D$��H��H������I�I�|$0H��H)��B�PI�D$(H���TI�T$0H��H���mQ��I\$0H����H��H�����A��I�L)���I�~H��PI�D$8H����B�0I�|$8H��L��L��Q��H�|$L���&�H�<$�t?H�,$H����I��@H��PI��H���&���I�_(A������f.�I�_(I�H��H��PI�?H�v]D��I�G(�������A�������I�?H��\�����\����I�H��I�|$(�PI�H��L��PI�_(A�����{���I�I�|$(H��PI�L��H��P�B�����M����SH��H��t#H�BH��tH���R�H��u�[�fDH��H�'�H��t��@��;H�@ H��H�1�[�f�f.���AWAVAUATI��UH��SH��H��dH�%(H�D$1�H�H�<$��������1�I��L�-���O��I���#f.�H�;�����t9L���+<����u-L���J��H��H�MH�;AVL�EL��M����ѵ��Y^���t�H�T$dH3%(u3H��[]A\A]A^A_�f�H�C8CC(H�BH�C@�W����L��f���H�GH��t��t
�`f.�1��f.���S��H��t�-H��H���u���H�3H��[H�F�����AUI��ATI��H��U��S�]�H���I��L��L��9�O�Hc�H���)N��A�,H����[]A\A]��AVAUATA��UMc�SH��H���CL�kH�kL���xK���{xA��L��H��Mc�L���J��D��H���R�[J�D5]A\A]A^�@AWI��AVAUATUSH��L��H��XH�T$H�L$ L�D$(��K��H����I��H�޿�SI��H����I�FI�v0I�n M�f(H��H�t$H�D$0��J��H�l$8�P��I���z�T$H�|$LH���J��L�d$@�p��I��~�|$L���J��H�|$D�`��DI��J���|$�T$HH��A���hA����I�DA�|��D�UD�D�T$HHc��SH��H����H�Ǿ�$��ds�Essh-�T$Lf�EH�t$0H�}�E
s�^����T$H�t$8H���M���H�t$@D��H���=����T$HH�t$H���,���L��H����D��H�D$�dsH)�A�Essh-fA�UA�EsM�/H�H�D$ H�(H�D$(H�H��X1�[]A\A]A^A_��L���D��H��XH�߾����[H��X]A\A]A^A_��fDL���hD��H��L��S��f.�AWI��AVI��AUATUSH��L��H��8H�L$L�D$�K��H���&I��H�޿�SH��H���I�T$(I�D$ H��H�T$ H�D$��H���P��I���zA�Չ|$(H�|$�H���p��I��~H�މ|$,B�|/Hc��SI��H����H�Ǿ�^��rsA�E
a�T$(fA�EH�t$ I�}A�Essh-����T$,H�t$H�����L��H���F��H�D$�EaL)�rs�Essh-f�UI�/I�L�(H�D$H�H��81�[]A\A]A^A_��L����E��H��8H�߾����[H�\W]A\A]A^A_��fDL���E��H��H��S��f.���AWI��AVM��AUI��ATM��USH��H��H�<$�VD��H��D��H��H���J���@D��D��L��H��H����I��M�����!D���t$PL��H����I���
D���t$`H�|$XH��I���I����C���t$pH�|$hH��I���I����C����$�H�|$xH��I���I���C����$�H��$�H��I���eI���C����$�H��$�H��H�D$�DI���?C��H�$H�H�L$H�h(H�X L�x8L�p@L�hHL�`PH�HXH��1�[]A\A]A^A_�fDE1�E1�E1�E1�H�D$�f���AWI��AVM��AUATI��UH��SL��H��H�T$�B��H�t$H��H��I���H����B��D��L��E1�H��H���H����B���t$PH��H��I���rH���B���t$`H�|$XH��H���YH��H�|$pu1��B��I�L�hL�`(H�h H�X0L�p8H��1�[]A\A]A^A_�@�[B���t$pH�|$hH��I���H���D��AVI��AUE��ATI��UH��SH����C��A��E��L��H��H��H���@��[]��A\A]��A^������AUM��ATUH��D��SH��H��8dH�%(H�D$(1�I��L���@���Ã�t$1�����H�T$(dH3%(uH��8[]A\A]ÐL��L��H����F�����D���f.���Ðf.���AUM��ATI��UH��SH��H���H�D��H���E��H��t81�L��H�.���H��H����A��H��H��D��1�H�;����H��[]A\A]ø������f.���ATI��UH��SH���:H�H�5�9H����B��H��t21�L��H�����H��H���hA��H��H��
D��1�H�;����[]A\ø������fD��AUM��ATI��UH��SH��H���H�D��H���D��H��t81�L��H�>���H��H���B��H��H��C��1�H�;����H��[]A\A]ø������f.���ATI��UH��SH���JH�H�5�8H����A��H��t21�L��H����H��H���A��H��H��C��1�H�;����[]A\ø������fD��AWI��AVI��AUM��ATM��USH��H��H��(H�T$dH�%(H�D$1��?��H�މD$��SH��taH�t$M��L�D$H��D��@H���Q@����t-�D$I�mI�$1�H�T$dH3%(u&H��([]A\A]A^A_�H��H��S������Ѹ�������B��@��AWH��H���AVAUATUH��SH���=��H����L�(I��L�pL���A���X��I���C���w|L���tA��D�x��DI�A��A�G���w\�H�E f�L���E)�EHc�H��!A���L��D)�Hc�H�t�	A��L���B��1�H��[]A\A]A^A_�L���xB��������������f.���SH���@��H�=r�=��H��[H���;@���f.���AUI��ATI��UH��SH��HdH�%(H�D$81�H��H���.@��H�=�B=��H��H����?�����uH�L$8dH3%(��u+H��H[]A\A]ÐL��L��H���B=��1�H��H���u@��1����L@��f�f.���AUI��H��ATI��UH��L��SH��(dH�%(H�D$1�H��H���(�����uDM��E��H��H�޿@��?����������H�T$dH3%(uH��([]A\A]���������?��@��AWAVI��AUI��ATI��USH��H��(dH�%(H�D$1��=<��H�߾H��I����A���%<��H�{�H��H����A����@��L��L��H�hH��H��L�8H���Q�����t-H���u@�������H�L$dH3%(u9H��([]A\A]A^A_ÐH��L��H�ھ�?��H�߉��3@��1����������>��f���SH���C>��H�=|O�W;��H��[H���=���f.���AUI��ATI��UH��SH��HdH�%(H�D$81�H��H����=��H�='O�;��H��H���=�����uH�L$8dH3%(��u+H��H[]A\A]ÐL��L��H���;��1�H��H���5>��1����>��f�f.���SH���s=��H�=��:��H��[H���+=���f.���AWM��AVI��AUI��ATUH��L��SH��H�t$H�543L�d$P�i<��H�*MH����H�=INH����>��H����1�1ҾH���0:��L��1�1�H���!9��H��I���=��M���}A�$��tT��tu7H�t$M��M��L��L��H�����L���;��H����[]A\A]A^A_�H�YM��H���������H�t$M��M��L��L��H���g���H��LH��H���[]A\A]A^A_���fD�>������@f.���AWM��AVI��AUI��ATI��L��USH��H�t$�t$PH�l$X�l=��H���H�=MH���=��H����1�1ҾH����8��H��1�1�H����7��H��H���@<��H�����E��t_��tu:H�t$I��M��L��L��L���Q��H���w:��H����[]A\A]A^A_�fDH�L��L����������H�t$I��M��L��L��L�������k=���;���fDH��L���[H�<K]A\A]A^A_�^��������m���@��td�A�ȉ
��v?A���OA��E�ʉ
A�A9�w>A��~t
���
�	��
A��w%�
�f��E1�B�T	9�w�fD������f�H�I��I��H9�siH����
t^��
tYH)¸�%�H=�t�H�x��
t
��
tH��H9�u�A��L�σ�ss1�A��uSA��u5A��uII�A�1�I��fD�I��I��f��f�H��A��t���@���A��t������1���H�A��t���@f.�SH��H���6��H�����;tQH�ߋH����������!�%����t������D�H�WHD����H��H)�tH��H�;�8
tH߀?
t1�[�@�1�����;t�H�ߋH����������!�%����t������D�H�WHD����H��H)�t�H��H߀?
u�릸����[����AWAVI��AUATI��UH��SH��H�$H�\$ L�D$L�L$dH�%(H��$�1��f.�L��H����8����tIH��H���D$ �����tݻ������H��$�dH3%(��H�ĸ[]A\A]A^A_�DE1�E1�f�H��H���D$ �`������H�4$H���L8������|$ t�I��A�I����������!�%����t������D�I�WLD����D��I��H�L$I)�I�<M����H��L��L��A�VH�L$H����H�4A��s0A����E��t��A����E�I���/����H�H�~H��H�D��H�L�H�L�H)�H��H��H)�D����H��fDL��A�VH�L$H���y���M������������L��L��A�V���M���r���H�T$H�t$E��L��L��1���5���������@��D���L��L��:���D���L�f�L��(����6��f.���AWAVI��AUATM��UH��SH���H�|$L�l$8H�\$@H��$H�$L�L$ H�D$(dH�%(H��$�1�H�D$8��L��H���M6����tQL��L��H��H���D$@�C�����t׻������H��$�dH3%(��H���[]A\A]A^A_��E1�E1�f�L��L��H��H���D$@������*H�4$H����5�����>�|$@t�I��A�I����������!�%����t��D������H�L$D�I�PLD‰�@�H�D$I��I)�I�<L�D$M����H��H��L���PL�D$H�L$H����H�4A��s3A����E��t��A����E�I������f.�H�H�~H��H�D��H�L�H�L�H)�H��H��H)�D����H��fDH��PH�L$L�D$H���r����M���p��������H�D$L��H��P�]����M���H���H�T$(H�t$ E��L��H�|$1��3��������f���D�‹L��L��'���D���L�f�L������3��D��SI��H���6dH�%(H�D$1���t^H��H�?�?0uSH����H�T$H�;A�3�|�����x8�T$�A;u-)�Hc�H1�A�H�L$dH3%(uH��[�f.���������d3��@��ATI��USH���6dH�%(H�D$1���t{H��H�?�?upH����H��I��H�;H�T$A�3�����xO�T$A�3�9�wAHc�)�H��H�A�3H�MA�$H1�A)H�\$dH3%(uH��[]A\����������2��@�����D�1��������������f.���AUATI��USH��8����dH�%(H�D$(1�����H��t|��v@H�ACH��E1�1��o!C�H��H�D$�&C)$�D$�����D$迻���Å�t	�����L����M��t����A�$f.�1�H�L$(dH3%(��ubH��8[]A\A]ÐH��1��4��Hc���I��H����H��H�L9��F���M��t�D)��A�$�fDH�9B�����H���|����U1��D��H������� ��	�t��	=�� ��� 1�H����|$�,���23���/���X��b� �|$��f�f.����F� ��t	���9� �����&� ��tÐ1��1����H��H���Would block sending EOFUnable to send EOF on channelWould blockChannel open failuredirect-tcpip0.0.0.0UnknownChannel not foundenvterm + mode lengths too largepty-reqwindow-changeMIT-MAGIC-COOKIE-1x11-req%02XUnable to send x11-req packetChannel can not be reusedtransport readwould blockUnable to send channel datachannel.csessioncancel-tcpip-forwardUnable to allocate space for channel dataFailed allocating memory for channel type nameUnable to allocate temporary space for packetWould block sending channel-open requestUnable to send channel-open requestChannel open failure (administratively prohibited)Channel open failure (connect failed)Channel open failure (unknown channel type)Channel open failure (resource shortage)Unable to allocate memory for direct-tcpip connectionUnable to allocate memory for setenv packetWould block sending global-request packet for forward listen requestUnable to send global-request packet for forward listen requestUnable to allocate memory for listener queueUnable to complete request for forward-listenWould block waiting for packetWould block sending setenv requestUnable to send channel-request packet for setenv requestUnable to complete request for channel-setenvWould block sending pty requestUnable to send pty-request packetFailed to require the PTY packageUnable to complete request for channel request-ptyWould block sending window-change requestUnable to send window-change packetUnable to allocate memory for pty-requestWould block sending X11-req packetwaiting for x11-req response packetUnable to complete request for channel x11-reqUnable to allocate memory for channel-process requestWould block sending channel requestUnable to send channel requestFailed waiting for channel successUnable to complete request for channel-process-startupUnable to allocate memory for signal nameWould block sending window adjustUnable to send transfer-window adjustment packet, deferringWe've already closed this channelEOF has already been received, data might be ignoredFailure while draining incoming flow_libssh2_transport_read() bailed out!Unable to send EOF, but closing channel anywayWould block sending close-channelUnable to send close-channel request, but closing anywaylibssh2_channel_wait_closed() invoked when channel is not in EOF stateWould block sending forward request_libssh2_channel_freecdcdcdcdQR[\decompression uninitializeddecompression failure1.2.11zlib@openssh.comzlibnoneUnable to allocate decompression bufferExcessive growth in decompression phaseUnable to expand decompression bufferUnable to allocate memory for zlib compression/decompression3des-cbccast128-cbcarcfour128arcfourblowfish-cbcrijndael-cbc@lysator.liu.seaes256-cbcaes192-cbcaes128-cbcaes256-ctraes192-ctraes128-ctrssh-dssssh-rsaInvalid DSS signature lengthOut of memory errorSSH-2.0-libssh2_1.8.0Timed out waiting for NEWKEYSACBDUnable to allocate memoryalgs must not be NULLUnknown method typeNo algorithm foundInternal errorMemory allocation faileddiffie-hellman-group14-sha1diffie-hellman-group1-sha1Unable to send KEX init messageTimed out waiting for KEX replyUnable to allocate memory for a copy of the host keyUnable to initialize hostkey importerUnable to allocate buffer for KUnable to verify hostkey signatureUnable to send NEWKEYS messageUnable to allocate buffer for SHA digestUnable to send Group Exchange RequestTimeout waiting for GEX_GROUP replyUnable to send Group Exchange Request SHA256Timeout waiting for GEX_GROUP reply SHA256Unable to send KEXINIT packet to remote hostUnrecoverable error exchanging keysInvalid parameter specified for method_typeError allocated space for method preferencesThe requested method(s) are not currently supporteddiffie-hellman-group-exchange-sha256diffie-hellman-group-exchange-sha1Ю������0���P���p�����������������������X������������������������������������ڢ!h�4��b����)N�g�t��;�"QJy�4����:C0+
m�_7O�5mmQ�E䅵vb^~��LB�7�k�\�����8k�Z�����$|K�I(fQ��[=�|��c���H6UӚi?��$�_�e]#ܣ��b�V �R���)p��mg5NJ���tl�!|2�^F.6�;�w,��'�������]�oLR��+��X9�I|�j��&��r�Z���h�����������������ڢ!h�4��b����)N�g�t��;�"QJy�4����:C0+
m�_7O�5mmQ�E䅵vb^~��LB�7�k�\�����8k�Z�����$|K�I(fQ��S���������hmac-ripemd160@openssh.comhmac-ripemd160hmac-md5-96hmac-md5hmac-sha1-96hmac-sha1hmac-sha2-256hmac-sha2-512former error forgotten (OOM)Invalid base64%c%c==%c%c%c=%c%c%c%cUnable to allocate memory for base64 decodingABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/��������������������������������������������������������������������������������������>������?456789:;<=��������������	

������������ !"#$%&'()*+,-./0123��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Invalid MAC receivedsocket disconnectexit-statusexit-signalmemory for signal nameforwarded-tcpipForward not requestedUnable to send open failurex11X11 Forward UnavailablePacket received for unknown channelPacket contains more data than we offered to receive, truncatingThe current receive window is full, data ignoredRemote sent more data than current window allows, truncatingUnable to allocate a channel for new connectionUnable to send channel open confirmationallocate a channel for new connectionX�������������������������������������������H��������������H���=�������^���=������=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���=���޸��=���=���=���=���=���=���=���=���=���N���=���=���տ��C������
������(���Rkey already presentgeneral failureunknownUnable to startup channelpublickeysubsystemWould block closing channelcommentsuccessaccess deniedstorage exceededversion not supportedkey not foundkey not supportedrequest not supportedversionInvalid response from publickey subsystemUnable to allocate publickey response bufferTimeout waiting for publickey subsystem response packetTimeout waiting for response from publickey subsystemInvalid publickey subsystem responseUnexpected publickey subsystem responseWould block starting publickey subsystemUnable to request publickey subsystemUnable to allocate a new publickey structureWould block sending publickey version packetUnable to send publickey version packetNeed to be called again to complete thisWould block waiting for response from publickey subsystemInvalid publickey subsystem response codeMalformed publickey subsystem packetUnexpected publickey subsystem response, ignoringUnable to allocate memory for publickey "add" packetUnable to send publickey add packetUnable to allocate memory for publickey "remove" packetUnable to send publickey remove packetUnable to send publickey list packetUnable to allocate memory for publickey listUnable to allocate memory for publickey attributesscp -%sf execFailed reading SCP responseFailed to get memory Failed to recv fileInvalid data in SCP responseWould block sending SCP ACKUnexpected channel closescp -%st SCP failureT%ld 0 %ld 0
Invalid SCP ACK responseC0%o %lld %s
failed to get memoryfailed to send fileUnable to allocate a command buffer for SCP sessionWould block starting up channelWould block requesting SCP startupWould block sending initial wakeupWould block waiting for SCP responseUnterminated response from SCP serverInvalid response from SCP server, too shortInvalid response from SCP server, malformed mtimeInvalid response from SCP server, malformed mtime.usecInvalid response from SCP server, too short or malformedWould block waiting to send SCP ACKInvalid response from SCP serverInvalid response from SCP server, malformed modeInvalid response from SCP server, invalid modeInvalid response from SCP server, invalid sizeUnknown error while getting error stringWould block waiting for response from remoteInvalid ACK response from remoteWould block sending time data for SCP fileUnable to send time data for SCP fileWould block waiting for responseWould block send core file data for SCP fileUnable to send core file data for SCP fileUnable to allocate memory for local bannerInvalid descriptor passed to libssh2_poll()Failed changing socket's blocking state to non-blockingError allocating space for remote bannerUnable to exchange encryption keysUnable to ask for ssh-userauth serviceInvalid response received from server0�@�P�`�p�� ��������������No method negotiatedAPI timeout expiredTimed out waiting on socketError waiting on socketSSH-2.0-libssh2_1.8.0
Bad socket providedFailed sending bannerFailed getting bannerSSH-ssh-userauthtoo long description@�@malloc fail for zombie request  IDUnable to allocate SFTP packetUnable to allocate datablock for SFTP packetUnable to allocate memory for FXP_READDIR packet_libssh2_channel_write() failedTimeout waiting for status messagesession->sftpInit_sftp == NULLWould block to request SFTP subsystemUnable to request SFTP subsystemWould block requesting handle extended dataUnable to allocate a new SFTP structureWould block sending SSH_FXP_INITTimeout waiting for response from SFTP subsystemInvalid SSH_FXP_VERSION responseUnable to allocate memory for FXP_OPEN or FXP_OPENDIR packetWould block sending FXP_OPEN or FXP_OPENDIR commandWould block waiting for status messageUnable to allocate new SFTP handle structurerc != LIBSSH2_ERROR_EAGAIN || !filep->data_leftrc != LIBSSH2_ERROR_EAGAIN || !filep->eofRead Packet At Unexpected OffsetSFTP Protocol badness: unrecognised read request response!"State machine error; unrecognised read state"Unable to allocate memory for FXP_EXTENDED packetError waiting for FXP EXTENDED REPLYUnable to send FXP_FSTAT commandUnable to allocate memory for FSTAT/FSETSTAT packetUnable to allocate memory for FXP_CLOSE packetUnable to send FXP_CLOSE commandError waiting for status messageUnable to allocate memory for FXP_REMOVE packetUnable to send FXP_REMOVE commandServer does not support RENAMEUnable to allocate memory for FXP_RENAME packetUnable to send FXP_RENAME commandFile already exists and SSH_FXP_RENAME_OVERWRITE not specifiedSFTP Protocol Error: short responseUnable to allocate memory for FXP_MKDIR packetUnable to allocate memory for FXP_RMDIR packetUnable to send FXP_RMDIR commandUnable to allocate memory for FXP_*STAT packetUnable to send STAT/LSTAT/SETSTAT commandServer does not support SYMLINK or READLINKUnable to allocate memory for SYMLINK/READLINK/REALPATH packetUnable to send SYMLINK/READLINK commandInvalid READLINK/REALPATH response, no name entrieschannel readSFTP packet too largeError waiting for SFTP packetOut of sync with the worldSFTP Protocol Errorsession not authenticated yetsftp.csftpUnable to send SSH_FXP_INITUnable to send FXP_OPEN*Too small FXP_STATUSFailed opening remote fileToo small FXP_HANDLEmalloc fail for FXP_WRITEsftp_read() internal errorSFTP READ errorSFTP Protocol badnessFXP_READ response too bigFXP write failedfsync@openssh.comfsync failedUnable to send FXP_FSETSTATrcError waiting for FXP STATUSOperation Not Supportedfstatvfs@openssh.comheie�e�esftp_close_handleiehegesftp_readfesftp_initInvalid public key dataMissing public key datassh-connectionFailed getting responseNo errorpasswordWaiting for password responseWould block waitingAuthentication failedOut of memoryhostbasedAuth failedInvalid public key, too shortInvalid public keyWaiting for USERAUTH responseCallback returned errorkeyboard-interactiveUnable to open public key fileInvalid data in public key fileUnable to allocate memory for public key dataUnable to read public key from fileInvalid key data, not base64 encodedNo handler for specified private keyUnable to initialize private key from fileUnable to allocate memory for userauth_listWould block requesting userauth listUnable to send userauth-none requestUnable to allocate memory for userauth-password requestWould block writing password requestUnable to send userauth-password requestAuthentication failed (username/password)Password expired, and callback failedUnable to allocate memory for userauth password change requestUnable to send userauth password-change requestPassword Expired, and no callback specifiedFailed allocating additional space for userauth-hostbased packetUnable to send userauth-hostbased requestInvalid signature for supplied public key, or bad username/public key combinationUnable to send userauth-publickey requestUsername/PublicKey combination invalidUnable to allocate memory for userauth-publickey signed dataFailed allocating additional space for userauth-publickey packetWaiting for publickey USERAUTH responseUnable to extract public key from private key.Invalid data in public and private key.Unable to allocate memory for keyboard-interactive authenticationUnable to send keyboard-interactive requestWaiting for keyboard USERAUTH responseAuthentication failed (keyboard-interactive)Unable to allocate memory for keyboard-interactive 'name' request fieldUnable to allocate memory for keyboard-interactive 'instruction' request fieldUnable to allocate memory for keyboard-interactive prompts arrayUnable to allocate memory for keyboard-interactive responses arrayUnable to allocate memory for keyboard-interactive prompt messageUnable to allocate memory for keyboard-interactive response packetUnable to send userauth-keyboard-interactive request43<4343<43transport.c(len % blocksize) == 0remainbuf >= 0decrypt_libssh2_transport_read[%s]:%dNo key type setUnknown host name type|1|%s|%s %s %s %s
|1|%s|%s %s %s
|1|%s|%s %s
Invalid host information|1|Failed to open filewWrite failedKnown-host write buffer too smallUnable to allocate memory for base64-encoded keyUnable to allocate memory for known host entryUnable to allocate memory for host nameUnable to allocate memory for keyUnable to allocate memory for key typeUnable to allocate memory for commentFailed to parse known_hosts line (unexpectedly long salt)Failed to parse known_hosts line (unexpected length)Unsupported type of known-host entryUnable to allocate memory for base64-encoded host nameUnable to allocate memory for base64-encoded saltUnable to allocate memory for known-hosts collectionUnsupported type of known-host information storeFailed to parse known_hosts lineFailed to parse known_hosts line (key too short)Failed to parse known hosts fileagent send failedagent recv failedout of memoryillegal requestagent not connectedagent sign failureSSH_AUTH_SOCKno auth sock variablefailed creating socketfailed connecting with agentillegal agent requestagent list id failedfailed closing the agent socketUnable to allocate space for agent connectionUnable to allocate memory for private key dataUnable to extract public key from private key file: Unable to open private key fileUnable to extract public key from private key file: Wrong passphrase or invalid/unrecognized private key file formatUnable to extract public key from private key file: Unsupported private key file formatsha256desUnable to send keepalive messagePkeepalive@libssh2.orgW;�,�	��<	<�T	��	<�	���	����P
L����
����,��|<���l��,�����
������8
����
,���
L���
l�����l����������<����<���\�������������l������8l��x����L ���,!��D�"���L#���,$����%��X�'���\(����(���|)��<�*����*����*����*���+��,+��$|+��P�,���|-��<.��P\.��d�.����.���l/���0��H0��\<0��x,1����1��L2��D|3����3���|4���4��$,5��h�5����6���6�� �6��4L7��H\8��d�8���\L��H�N���O���lO��\P��DLQ����Q����S��0�T��|V���<W��lj����l���{��d,���܀��4 ��H ���d ,���� <���� ����,!����x!����!����!,���@"<���T"����"����"\����"����#����#����,#����@#܈��\#����#L����#܌��p$�����$����$����$<����$l����$|����$�����$����%܍��$%���D%<����%���&����|&����'<���t'�����'�����'����D(<����(�����(,���0)\����)L���*����H*�����*,����*�����*<��L+����+���,L��T,����,���-���(-���<-���P-����-����-����-���-��.,��0.,��|.<���.L���.|���.����.����.����.���/���/���l/����/���/����/�H0,�\0���0<��0\�1l� 1��H1\��1���1�� 2|�X2����2���� 3����l3����3��4���h4L
���4\��5���X5l���5\���5,��H6���d6���x6����6���6�"���6�%��@7L)���7�-���7�1��085���8�7���8�;�� 9@��p9<@���9\@���9C���9D��L:E���:�F���:�I��T;�I��h;<P���;�W��D<�`���<�d��$=�f���=\g���=�p��d>\q���>�x�� ?�}���?�}���?,����?����(@,���t@���@����Al����A����B̍��(B����DB���XB|����B̎���B|���0C̔��lC����C�����C����C��� D����XD\����D�����D����E���,E<���@E����El����E\���F����F����4F���lFl����F����G,���tG�����Gl���H����HH<����HL����H̪���H<���I����@I,���pI���Iܭ��J���$J����`J<����J����JL���K��@K���\Kl����K����$L,���8L���LL����pL\����L����M����,M<���dMl���xM�����M�����M����MzRx�$���FJw�?:*3$"D���0\���B�A�D �D0e
 AABD$�\�OE�K�D vCA$����E�K�F �AAt����F�E�B �B(�A0�A8�Fp�xM�RxApHxK�TxApF
8A0A(B BBBC�xS�LxBppX4��O�B�E �E(�D0�C8�IP|XJ`WXAPH
8A0A(B BBBED8C0A(B BBBH������T���2F�B�B �B(�A0�A8�D`�hLpbhA`G
8A0A(B BBBG\$h�F�B�B �B(�A0�A8�D���K�V�B��
8A0A(B BBBIL�����F�B�B �A(�A0��
(D BBBEk
(D BBBK\�h���%F�B�B �B(�A0�A8�D���I�P�A�V
8A0A(B BBBF\48���"F�B�B �B(�A0�A8�D���I�P�A��
8A0A(B BBBFH����F�B�B �B(�A0�A8�D`�
8A0A(B BBBC\����F�B�B �B(�A0�A8�G�^�I�P�A�W
8A0A(B BBBBX@|���F�B�B �B(�A0�A8�Dpt
8A0A(B BBBH3xB�IxApL����K�B�E �E(�D0�C8�I@H8A0A(B BBBA�������@��L��\X��BF�B�B �B(�A0�A8�D`�
8C0A(B BBBFd8P0A(B BBBPtH��F�A�C ��
ABIW
DBCT
ABID
AEAH����F�B�B �B(�A0�A8�GPw
8A0A(B BBBJ,���TK�A�C �{ABA���@D����F�B�B �A(�A0�D@�
0A(A BBBE<�D��nK�B�E �D(�H0�B(A BBBA������t��,����TK�A�C �{ABA������	� ����F�B�B �E(�A0�A8�Gp�
8A0C(B BBBF*
8C0A(B BBBAX
8C0A(B BBBEM
8A0A(B BBBI8��
���F�D�C �v
ABJe
CBFH�x��xF�B�E �B(�A0�A8�GP�
8A0A(B BBBF<@�
��tK�B�E �D(�C0�K(A BBBA�����(��
��TJ�A�I wAAA��8� ��K�A�D �Q
CBJEABA���`�d���O�B�H �A(�I0T
(A ABBC~
(A ABBDD(F ABBA����DL	����F�A�A �l
ABI�
CBFL
ABA(�	X��TJ�A�I wAAA��@�	����O�I�A �A(�I0G
(A ABBHW����X
(���F�B�B �A(�A0�DP�XM`RXAPHXK`TXAPy
0A(A BBBIH`
���F�B�B �B(�D0�A8�DPC
8A0A(B BBBF(�
P��TJ�A�I wAAA��(�
���TJ�A�I wAAA��<����O�B�A �A(�D0�(A ABBG����|D8��O�B�B �G(�F0�D8�G@U
8C0A(B BBBDD
8H0A(B BBBKT8C0A(B BBBA����������#��������
������(,��GF�A�D �c
KBE`X$��~F�B�B �B(�A0�A8�D`�
8C0A(B BBBH\
8A0A(B BBBJH�@��uF�E�D �A(�D0p
(I HBBGL(C ABBL
t���F�E�I �D(�D0L
(A ABBBd
(I HBBEX
���(l
���CR�H�G YCAB���
��H�
 ���F�E�E �H(�D0�A8�LPQ
8A0A(B BBBDT�
t���F�B�B �B(�D0�A8�DPVXE`FXAPM
8A0A(B BBBAP���d���E�UH�����F�B�E �E(�I0�D8�G��
8A0A(B BBBA@�`���F�E�E �D(�D0�G@W
0A(A BBBB8����F�E�D �D(�G@T
(A ABBD`L��,F�B�B �E(�D0�A8�D`�hGpBxA�J�I�L`a
8A0A(B BBBC����E�UH�����F�E�E �B(�D0�A8�D��
8A0A(B BBBAd��@,p���F�E�E �D(�D0�G@W
0A(A BBBB8p����F�E�D �D(�G@T
(A ABBDd����F�E�A �A(�G@sHEPMXE`BhBpBxB�B�B�B�B�I@`
(A ABBC���2(���<���BP���H0@
HHl����B�E�E �D(�E0�S
(E BBBEA(F BBB��4��aB�B�E �E(�D0�A8�J�.
8A0A(B BBBKi�N�G�B�c�O�G�B���E�I�A���E�J�B�TP1��NF�B�D �A(�G0[
(C ABBI�8S@F8A0c8H@iHLPI08�3��[B�B�B �A(�A0�K(A BBB(�(3��RP�A�G vAAA��8\3���E�D�G N(M0U8I@I 
CAK8L4���E�D�G N(M0U8I@I 
CAKH��4���B�B�B �A(�A0�y
(A BBBHV(A BBB`�(5���B�B�E �E(�H0�D8�D`�
8A0A(B BBBE�
8C0A(B BBBAH8t6��,B�B�B �E(�D0�A8�GP�
8C0A(B BBBKH�X7��,B�B�B �E(�D0�A8�GP�
8C0A(B BBBKH�<8��,B�B�B �E(�D0�A8�GP�
8C0A(B BBBK� 9��.B�B�E �E(�D0�A8�J�"
8A0A(B BBBGg�O�G�B���O�G�B���E�I�A���E�J�B�T��K��>F�B�D �A(�G0[
(C ABBI�8S@F8A0c8Z@]8A0\�M��BF�B�E �B(�A0�A8�J��
8C0A(B BBBF
�S�H�A�dl�\��#F�B�B �B(�D0�C8�D`#
8C0A(B BBBJ�
8A0A(B BBBHd�X_���X�D�K �D(�D0�
(C ABBJa
(D� A�B�B�FP����i0����<�`��P�`��$E�^Hl�`��F�E�E �G(�A0�A8�G��
8A0A(B BBBEH�ta��F�E�E �G(�A0�A8�G��
8A0A(B BBBE,8b��[E�G0W8E@U8A0T
CAH4hb��F�E�E �G(�A0�A8�G��
8A0A(B BBBE,�,c��[E�G0W8E@U8A0T
CAH�\c��F�E�E �G(�A0�A8�G��
8A0A(B BBBEH� d��F�E�E �G(�A0�A8�G��
8A0A(B BBBEH�d��X\�d���F�E�D �D(�G0}
(D ABBH}
(D ABBBR(D ABB�Te���Pe��>HN
JR
C�pe��0HN
JK�e��	 |e��4xe��	Hte��E�P4dxe��@F�F�D �N
ABGTABL��e��.F�E�E �K(�G0��
(F BBBFY
(D BBBE��`f���F�B�B �E(�D0�A8�GP�
8D0A(B BBBKOXY`MhCpNP�XA`\XAPO
XH`LH
8A0A(B BBBAxdh���ph���lh���hh���th��-��h��	��h���h��	�h��5,�h��1E�khL�h��F�B�B �E(�D0�A8�Gp�
8A0A(B BBBAixK�FxAp�xI�CxBp\��x���F�B�B �E(�A0�D8�F`y
8F0A(B BBBFj8C0A(B BBBhy���F�E�E �E(�D0�D8�JPhXN`OXAPH
8A0A(B BBBAD8F0A(B BBB��8y��@F�E�E �E(�D0�E8�G@C
8A0A(B BBBFDHHPFHA@n
8A0A(B BBBEDHMP[HA@D
8A0A(B BBBE`�y��7F�B�B �A(�D0�J�R�S�F�A��K�O�A�r
0A(A BBBAl|�z��RF�E�B �B(�A0�D8�Gh[pFhA`w
8C0A(B BBBHf
8D0A(B BBBE��{��^H�{���B�B�B �E(�D0�A8�GPV
8A0A(B BBBIHLP}���B�B�A �A(�D0x
(A ABBHD(F ABBH��}��HB�B�B �B(�D0�A8�D`�
8A0A(B BBBAP��~���F�B�B �A(�A0�I@XHNPWHB@�
0A(A BBBHd8 �,F�B�B �B(�A0�A8�D��
8D0A(B BBBFb
8A0A(B BBBD�� �����O�E�B �B(�D0�D8�GP@
8D�0A�(B� B�B�B�L]
8A0A(B BBBIf������FP������($!(���aP�D�A �|�K�B�dP!l����F�B�B �B(�A0�A8�D�X
8D0A(B BBBI,
8K0F(B BBBK(�!Ԏ���N�A�G AAA���!H���[X�!�����
B�B�B �B(�A0�D8�GPXM`bXAP�
8A0A(B BBBCtT"��nB�B�E �E(�D0�D8�GP�XN`WXBPXB``XAP�
8D0A(B BBBF�XN`XXAP@�"��F�E�B �D(�A0�J��
0A(A BBBIH#����}F�B�D �D(�I0L
(A ABBED(C ABB\\#��F�E�E �E(�D0�D8�IPZ
8A0A(B BBBFD8C0A(B BBB\�#@����F�E�E �E(�D0�D8�IPZ
8A0A(B BBBFD8C0A(B BBB$����	0$����	D$����	HX$�����F�B�D �A(�G0�
(C ABBET(I HBB�$���	4�$����F�L�D �D(�D@�(D ABB�$�����%����Hk
EX
H$%����H8%��F�E�B �E(�D0�A8�G@q
8C0A(B BBBE�%�����%�����%����&�%�����%Ȩ��	�%Ĩ���%����&����L$&�����O�E�D �A(�D0o
(F ABBID(C ABBA����,t&(���_E�E
D��L����
C�&X���8�&T����F�B�D �A(�GP�
(A ABBDX�&����-F�G�B �B(�A0�C8�D`�hUpFhA`�
8A0A(B BBBEP'̶��	Hd'ȶ��`F�B�A �A(�P0�
(A ABBD|(F ABBH�'ܻ���F�G�B �B(�A0�D8�Gp�
8A0A(B BBBE�'@���(H���$((D���IE�A�G rGAPP(l����B�I�E �A(�C0�F@y
0F(A BBBHl0C(A BBBL�(����NB�I�B �B(�A0�A8�D�
8A0A(B BBBB0�(�����B�D�A �D0^
 AABC4()t����B�H�F �z
AEH�DBd`)����B�E�B �B(�A0�A8�DP�
8D0A(B BBBB
8D0A(B BBBK\�)D���B�B�E �E(�D0�E8�I@O
8A0A(B BBBGD8C0A(B BBBH(*���B�B�E �E(�D0�D8�G@�
8D0A(B BBBGLt*8��TB�B�E �E(�A0�D8�G�$
8A0A(B BBBHX�*H��F�B�B �B(�A0�A8�DpzxN�^xBp
8A0A(B BBBAL +����O�B�B �B(�A0�A8�MPM8A0A(B BBBA������Lp+<���F�B�B �B(�A0�A8�G��
8A0A(B BBBCL�+���F�B�B �B(�A0�A8�G� 
8A0A(B BBBAL,L���O�E�E �E(�D0�D8�IPT8A0A(B BBBA������L`,���eF�B�B �B(�A0�A8�D��
8A0A(B BBBAL�,���F�B�B �B(�A0�A8�D��
8A0A(B BBBAL-\��F�B�B �B(�A0�A8�D��
8A0A(B BBBIP-���\�aC�l-P�	�-L��-X�L�-d��F�B�B �B(�A0�A8�D�[
8A0A(B BBBIL�-���F�B�B �B(�A0�A8�D��
8A0A(B BBBFLH.D��F�B�B �B(�A0�A8�D�&
8A0A(B BBBFL�.��EF�B�B �B(�A0�A8�D�-
8A0A(B BBBGL�.����5F�B�B �B(�A0�A8�D�#
8A0A(B BBBAL8/����3F�B�B �B(�A0�A8�G�_
8A0A(B BBBBL�/�����F�B�B �B(�A0�A8�D��
8A0A(B BBBBL�/��F�B�B �B(�A0�A8�D��
8A0A(B BBBGL(0���aF�B�B �B(�A0�A8�D��
8A0A(B BBBDx0����0���H�0����B�E�E �H(�A0�A8�Fp�
8A0A(B BBBH`�0,	���B�E�B �B(�D0�D8�G`�
8C0A(B BBBDT
8A0A(B BBBJXT1�	���F�E�E �E(�D0�A8�G�o�F�I�A�h
8A0A(B BBBAL�1\
���F�B�B �E(�A0�A8�G�a
8A0A(B BBBEX2���F�B�E �E(�A0�A8�IPvXP`NXBP�
8A0A(B BBBD\2���Xp2���1F�G�B �E(�D0�D8�Dp/xP�MxAp�
8A0A(B BBBH|�2p���F�B�G �E(�D0�A8�G�d�O�]�B���B�K�A�`�G�V�B�o
8A0A(B BBBDlL3����F�B�B �E(�A0�D8�G���I�M�A�q�I�F�A�r
8A0A(B BBBFl�3$��/F�B�B �E(�A0�D8�J��
8A0A(B BBBHZ�T�W�B�V�N�W�A�l,4�'���F�B�B �E(�D0�D8�G���N�T�A�}�G�U�B�j
8A0A(B BBBAX�4 )���O�E�E �E(�D0�D8�IPxXH`QXAPI8A0A(B BBBA������p�4d)��&	F�E�B �G(�A0�A8�D���I�Q�A�I�O�L�M�:
8A0A(B BBBFHl5 2���B�D�B �F(�A0�A8�DP�
8A0A(B BBBAl�5�2��CF�B�B �B(�A0�A8�J��
8A0A(B BBBF��D�l�B�i�R�T�A�`(6�9��#F�H�E �E(�A0�D8�D��
8A0A(B BBBH��E�I�A��6P>��\�6X>��"B�B�B �B(�A0�E8�G��
8A0A(B BBBAL�F�_�A�(7(B���F�D�G bG�A�H07�B��gB�B�B �B(�A0�A8�D��
8A0A(B BBBJd|7�F���B�E�B �E(�H0�D8�G��
8A0A(B BBBHm�H�P�G�B�G�S���7H��B�B�B �E(�D0�D8�G��
8A0A(B BBBGG�B�c�A���P�K�B�N���A�A�A�f�t
�B�GD
�I�Kj
�A�B�EA
�H�B�A�EA�P�T�A�(�8XK��VE�L�D [
DAK$�8�K��&HD B(G0B8B@L$9�K��+HD E(D0B8G@L09�K��"HB WL9�K��	(`9�K��dj�A�D �oCB(�9�K��PF�H�A �uDB|�9L���F�E�B �B(�A0�A8�G��
8A0A(B BBBDc�D�M�B�D�D�]���K�E�A�S�88:DP��IF�B�D �A(�G�N
(A ABBHt:XQ��DH�:�Q��yF�B�B �E(�A0�A8�G�N
8A0A(B BBBH�:�R��xE�d
GG0�:(S���F�A�D �G0M
 AABE4(;�T��vB�B�E �G(�D0T(D ABBH`;<U���F�B�B �B(�D0�D8�D`r
8A0A(B BBBD�;�W��5E�Z
AP8�;�W��F�B�K �A(�G��
(A ABBF(<�X��VE�I�D d
DAE4<�X��HH<�X���F�I�B �B(�A0�A8�H`g
8A0A(B BBBB�<x[��TE�d
GcT�<�[���F�B�B �B(�D0�D8�GPjXI`RXAPY
8A0A(B BBBD=P\��# =l\��(E�]4<=�\��IF�E�G �C(�G0d(C ABB8t=�\��\B�B�B �D(�D0�A(F BBBd�=�\��B�E�B �B(�A0�A8�J��
8C0A(B BBBHL
8I0H(B BBBK`>t^���B�E�E �B(�A0�A8�Jp"
8C0A(B BBBHL
8I0H(B BBBKH|>�_��WF�E�E �E(�D0�A8�GP
8C0A(B BBBGH�>�`���F�E�E �B(�D0�D8�GP�
8C0A(B BBBE8?Xa��HF�E�E �D(�D0�`(A DBE8P?la��uF�E�A �G(�G`~
(A ABBB�?�a��8�?�a��uF�E�D �D(�G0M
(A ABBA,�?�a��jF�D�D �Q
ABA8@0b��uF�E�D �D(�G0M
(A ABBA,H@tb��jF�D�D �Q
ABAHx@�b���F�E�E �E(�D0�A8�J`q
8A0A(B BBBAH�@(c���F�M�B �B(�A0�D8�D@�
8A0A(B BBBAA�c��%E�X8,A�c���F�E�D �D(�DpQ
(A ABBB8hADd���F�H�D �G(�DPY
(A ABBDH�A�d���F�B�E �E(�D0�A8�G`�
8A0A(B BBBB�A,e��%E�X8B@e���F�E�D �D(�DpQ
(A ABBBHB�e��%E�X`dB�e��BF�E�E �E(�A0�G8�DP�
8C0A(B BBBDC
8I0A(B BBBK`�B�f��LF�E�E �E(�G0�A8�DP�
8C0A(B BBBGT
8I0H(B BBBE,C�g��n@C�g��� TC�h���A�r
E`HxC�i��SF�B�E �B(�D0�D8�G�z
8A0A(B BBBFH�C�k���F�B�E �B(�D0�D8�G��
8A0A(B BBBH D�m���E�G h
AK44DXn���F�D�A �D0�
 AABIlD�n��#8�D�n��+F�B�D �A(�D`�
(A ABBB�D�o��TH d
D�D$p���D0p��GNU�p^0^@�"5��@���p�"5��@���p�'5� �x6���p����`��6�p��������:���:��t7���7���< �`�0��< �`�0��< ���0��< �p�0��< ���0�= ���0�=   �`�0�$=@@ �P�0��D�D
�D�D�D
�DD)D�DL@E[D	�5�����5�����5�����6����
6����6 ����66 ����A6����L6����W6 ����b6����m6������ dPN
x*0�"8�"���o(8
{��"p�B2�	���o���o�1���o�o�/���o���"�N�N�N�N�N�N�N�NOO O0O@OPO`OpO�O�O�O�O�O�O�O�OPP P0P@PPP`PpP�P�P�P�P�P�P�P�PQQ Q0Q@QPQ`QpQ�Q�Q�Q�Q�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV�"��"`�"�"��"@�"�"@�"�"��"��"��"@�"��"�"��"��" �"��"��"�"0�"��" �"��"`�" �"��"��"`�"�`�GA$3a1�]�]GA$3a1PNfNGA$3a1x*�*GA$3a1�]y^
GA$3p864�^�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864��\�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864`���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864 �|�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864��Q�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864`��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�n&GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864p&�>GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�>�ZGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�Z��GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864����GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864���GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864 �;�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864@�XGA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864`�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864 |(GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�(�)GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]
GA$3p864�)w*GA$gcc 8.2.1 20180905
GA*GOW*EGA*GA+stack_clashGA*cf_protectionGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA*GA!GA*GA!stack_realign
GA$3h864�]�]
GA$3h864�]�]GA$3a1w*w*GA$3a1w*w*GA$3a1fNkNGA$3a1�*�*libssh2.so.1.0.1-1.8.0-5.el8.x86_64.debugz��7zXZ�ִF!t/��2_p]?�E�h=��ڊ�2N�� ��v��hU�P��M�PPhI�`.+g���+�`�:�
Y�Ж0M86�`+q�
�](����aCYf7�=�
�Qj�, ��>�������X&�Aa�I�N-F��ѬE|9J�4d�wBڴ"��j`dZgdi���W�i���*��KE������E8�.F�"�|���Qx��<ЙD��sة	�	�5��0�`�UU��ObE�JbCm�d���jg��w9t9���D�1b'¥ςfk'�~
Ux��eT�_h�.���l]o]��Eg�@�]�Qv^���/�%ߟ�������&����1�
繟�\n� �ڊR���SO;���|(�
�KI�<�v��
��C(ׇ�(1BϦ�v�4��$��W*�zn�GZE d���7�*_!��C�;����"�Yjp��m����%P���i		��'�-�E*H㿕t��N�����C���Ib;F�<��
w^�:��4��1c!���5�	zRt���:�YwjcH�lL_M��2��v%_��2L�q��N��� �+?�8�
%zҹ[�+���T� 8uL�,vE[dS�y�`W���z��H���J횤G�7Ԗ?�t��w��^U��x�W�PL���K�@�?���4TQ3j�e�T���Z��u�{U�� Iw��3��;����ٕկ��]�w<dCM�n̟���`OF`�7�s�Pg}�?�2)cc�Q`�
�.�^�:�0�9Bu_$/ ؞��]HJ�V�D0&n}.�%ł�g�+>��x�o��m�Z�$Yys_�f4{$٪&��T8��PU�+��"yƬ��3�j�i[��&�ۀ�
�`�}ZQ�Zc�=�I�EfZ�+2�,�ר@ �
��}��P�)��=a�K���m�P�c���ޟ!�2�S�1� '<l���IQ��U:�!�˺>4�q�~#�����A^A?�x%�'9%ǰ�v�V_[p�:>4&߰YXM�8�D�e���!uH=w�}�����	~˲����������:-�K����**�D�[�>�ϒQD�����d)�"�\T���U�0�:3�۩�5�r����R�lɚ/�4�4UH��]��߯�X��w_T�O��{X��'�b����:��Pz���[m‡���Ww��~[��!\V���SN*#Ot������,k�07�����I�}�f-����5HW^���D]���9��C�Nr,P�AM���}��gׁ���J�瘶˰���i$���ٕdcW�ʘ	���bc�Sm򹧏�]�㇞< �'�������������ߛ*׆�[�t(�.�T��E�V�̐�Q|e��8:�(D�DL�������{��>�6� +s��u�a�'>����Q���?/6X!q�����`�}�A�6!m�@�R�W%R�RҼ�`.�VIʧ;�k�φ�!0�5�9�M��3�1yf{p��54�H�����*��Z:l�=�6QRH�5;�U��5,p��9Ciq��b/_��Z�bG�>� �GQل���M���Vw(ְ���V�x*$�����N����JR��o�^?؇_�O|�i{���^h��������ٔ�F����$6{���yH�Z�5�p�v,��5��zR��������L�'=A��qz��y�E,��pB�����ި�z�{�%��[���/A�$�[M������Kf�.²
�c���YۥC��!~߄R1<*�z@��ʮwS��Q���W�w;��'���y�Jq޿���"j(j�f�\�H�+��gq"�>�5�^�K��/8���3BR��#��"CrF`�>�Ӯ��L
�N%�$2�z���%ݩ���A�a��b�x�K�?IƐ�'a2��g���VKB��G"۴
Y�ɒ���V��,'�]�S���[��/�� �g�5�'i�%ΰTW(�/���>W46�r9�(1m/����L��`/��f9@�mxU�^�����Q	i�5�>�[
����b8f�ϲ�E�O����#<�|$΍M���fӻ|=�
��O� ��YeS/E[��h%Ɓ��-��*�t�o M/�,��}|"md�;�=qk|�O����M90P���b��z½ID��5���<��Ǹx�'1i{QW�)Z�;i5�j�o�d��]
���Y�Џ1��?N=�mZ�O+Rv��j���N�d
��9:���u�x��˄d/�aL��㾠"~���|�	�Z�@,���W ��Q���\22U����0�{4���~Ӑ�zIo�x��eq�6�M�%�.�P
%5��@�,��,�E1}P�<Z���&��5EW��E	�sᴞ�i{�n`<rx��Y ��&ڳ�iܹ�A�̾"p��%.�푪$��*���g��"_υ+�}I=̠��$�+DO�VAU�9����PW���毨
5��R�g�z�7���7����U�n��}�p0^!)�-����N�pe~�$k�?��ލ.8C��	�W���e_��T���)�`.�X�*Ĵw&�%��
��k�b�؍��D؍��u���_8n㔢�MmM̠�G�F'*me�>�)�or������w��VJ�H�u�LhRk���Y&E�=�H�0�OL)Oe�+���~���Z�a��k(1��&
�d�H�g2��i��HI)]�ҵ�TPܣ��@Dp�A����3�[1~�#��3�_�L0�I�ɤ�(����Z�J���{a����⨫YGZ�@�f�C6����e/�l�ݛ&�'�g��?�0a�=�Jɕ�����}��y̗�6ao�z��T���C�wU��d(iF��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata$���o(((88�0{8���o�/�/�E���o�1�1�T22�^B�B�BphPNPNcpNpN�n V V�w�]�]��}x*x*
��*�*�A �DlDl��@u@uE�@�@� �0�"0��8�"8��@�"@�� ���"��0���"����"�� ���"�����b���#
�0L���(share/doc/alt-libssh2/ChangeLog000064400000000011150506011200012267 0ustar00see NEWS
share/doc/alt-libssh2/NEWS000064400000551116150506011200011235 0ustar00   Changelog for the libssh2 project. Generated with git2news.pl

Version 1.8.0 (25 Oct 2016)

Daniel Stenberg (25 Oct 2016)
- RELEASE-NOTES: adjusted for 1.8.0

Kamil Dudka (20 Oct 2016)
- Revert "aes: the init function fails when OpenSSL has AES support"
  
  This partially reverts commit f4f2298ef3635acd031cc2ee0e71026cdcda5864
  because it caused the compatibility code to call initialization routines
  redundantly, leading to memory leakage with OpenSSL 1.1 and broken curl
  test-suite in Fedora:
  
  88 bytes in 1 blocks are definitely lost in loss record 5 of 8
     at 0x4C2DB8D: malloc (vg_replace_malloc.c:299)
     by 0x72C607D: CRYPTO_zalloc (mem.c:100)
     by 0x72A2480: EVP_CIPHER_meth_new (cmeth_lib.c:18)
     by 0x4E5A550: make_ctr_evp.isra.0 (openssl.c:407)
     by 0x4E5A8E8: _libssh2_init_aes_ctr (openssl.c:471)
     by 0x4E5BB5A: libssh2_init (global.c:49)

Daniel Stenberg (19 Oct 2016)
- [Charles Collicutt brought this change]

  libssh2_wait_socket: Fix comparison with api_timeout to use milliseconds (#134)
  
  Fixes #74

- [Charles Collicutt brought this change]

  Set err_msg on _libssh2_wait_socket errors (#135)

- Revert "travis: Test mbedtls too"
  
  This reverts commit 3e6de50a24815e72ec5597947f1831f6083b7da8.
  
  Travis doesn't seem to support the mbedtls-dev package

- maketgz: support "only" to only update version number locally
  
  and fix the date output locale

- configure: make the --with-* options override the OpenSSL default
  
  ... previously it would default to OpenSSL even with the --with-[crypto]
  options used unless you specificly disabled OpenSSL. Now, enabling another
  backend will automatically disable OpenSSL if the other one is found.

- [Keno Fischer brought this change]

  docs: Add documentation on new cmake/configure options

- [Keno Fischer brought this change]

  configure: Add support for building with mbedtls

- [wildart brought this change]

  travis: Test mbedtls too

- [wildart brought this change]

  crypto: add support for the mbedTLS backend
  
  Closes #132

- [wildart brought this change]

  cmake: Add CLEAR_MEMORY option, analogously to that for autoconf

- README.md: fix link typo

- README: markdown version to look nicer on github

Viktor Szakats (5 Sep 2016)
- [Taylor Holberton brought this change]

  openssl: add OpenSSL 1.1.0 compatibility

Daniel Stenberg (4 Sep 2016)
- [Antenore Gatta brought this change]

  tests: HAVE_NETINET_IN_H was not defined correctly (#127)
  
  Fixes #125

- SECURITY: fix web site typo

- SECURITY: security process

GitHub (14 Aug 2016)
- [Alexander Lamaison brought this change]

  Basic dockerised test suite.
  
  This introduces a test suite for libssh2. It runs OpenSSH in a Docker
  container because that works well on Windows (via docker-machine) as
  well as Linux. Presumably it works on Mac too with docker-machine, but
  I've not tested that.
  
  Because the test suite is docker-machine aware, you can also run it
  against a cloud provider, for more realistic network testing, by setting
  your cloud provider as your active docker machine. The Appveyor CI setup
  in this commit does that because Appveyor doesn't support docker
  locally.

Kamil Dudka (3 Aug 2016)
- [Viktor Szakats brought this change]

  misc.c: Delete unused static variables
  
  Closes #114

Daniel Stenberg (9 Apr 2016)
- [Will Cosgrove brought this change]

  Merge pull request #103 from willco007/patch-2
  
  Fix for security issue CVE-2016-0787

Alexander Lamaison (2 Apr 2016)
- [Zenju brought this change]

  Fix MSVC 14 compilation errors
  
  For _MSC_VER == 1900 these macros are not needed and create problems:
  
  
  
  1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1925): warning C4005: 'snprintf': macro redefinition (compiling source file libssh2-files\src\mac.c)
  
  1> \win32\libssh2_config.h(27): note: see previous definition of 'snprintf' (compiling source file libssh2-files\src\mac.c)
  
  1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration (compiling source file libssh2-files\src\mac.c)

Daniel Stenberg (26 Mar 2016)
- [Brad Harder brought this change]

  _libssh2_channel_open: speeling error fixed in channel error message

Alexander Lamaison (15 Mar 2016)
- Link with crypt32.lib on Windows.
  
  Makes linking with static OpenSSL work again.  Although it's not
  required for dynamic OpenSSL, it does no harm.
  
  Fixes #98.

- [Craig A. Berry brought this change]

  Tweak VMS help file building.
  
  Primarily this is handling cases where top-level files moved into
  the docs/ directory.  I also corrected a typo and removed the
  claim that libssh2 is public domain.

- [Craig A. Berry brought this change]

  Build with standard stat structure on VMS.
  
  This gets us large file support, is available on any VMS release
  in the last decade and more, and gives stat other modern features
  such as 64-bit ino_t.

- [Craig A. Berry brought this change]

  Update vms/libssh2_config.h.
  
  VMS does have stdlib.h, gettimeofday(), and OpenSSL.  The latter
  is appropriate to hard-wire in the configuration because it's
  installed by default as part of the base operating system and
  there is currently no libgcrypt port.

- [Craig A. Berry brought this change]

  VMS can't use %zd for off_t format.
  
  %z is a C99-ism that VMS doesn't currently have; even though the
  compiler is C99-compliant, the library isn't quite.  The off_t used
  for the st_size element of the stat can be 32-bit or 64-bit, so
  detect what we've got and pick a format accordingly.

- [Craig A. Berry brought this change]

  Normalize line endings in libssh2_sftp_get_channel.3.
  
  Somehow it got Windows-style CRLF endings so convert to just LF,
  for consistency as well as not to confuse tools that will regard
  the \r as content (e.g. the OpenVMS help librarian).

Dan Fandrich (29 Feb 2016)
- libgcrypt: Fixed a NULL pointer dereference on OOM

Daniel Stenberg (24 Feb 2016)
- [Viktor Szakats brought this change]

  url updates, HTTP => HTTPS
  
  Closes #87

Dan Fandrich (23 Feb 2016)
- RELEASE-NOTES: removed some duplicated names

Version 1.7.0 (23 Feb 2016)

Daniel Stenberg (23 Feb 2016)
- web: the site is now HTTPS

- RELEASE-NOTES: 1.7.0 release

- diffie_hellman_sha256: convert bytes to bits
  
  As otherwise we get far too small numbers.
  
  Reported-by: Andreas Schneider
  
  CVE-2016-0787

Alexander Lamaison (18 Feb 2016)
- Allow CI failures with VS 2008 x64.
  
  Appveyor doesn't support this combination.

Daniel Stenberg (16 Feb 2016)
- [Viktor Szakats brought this change]

  GNUmakefile: list system libs after user libs
  
  Otherwise some referenced WinSock functions will fail to
  resolve when linking against LibreSSL 2.3.x static libraries
  with mingw.
  
  Closes #80

- [Viktor Szakats brought this change]

  openssl: apply new HAVE_OPAQUE_STRUCTS macro
  
  Closes #81

- [Viktor Szakats brought this change]

  openssl: fix LibreSSL support after OpenSSL 1.1.0-pre1/2 support

Alexander Lamaison (14 Feb 2016)
- sftp.h: Fix non-C90 type.
  
  uint64_t does not exist in C90.  Use libssh2_uint64_t instead.

- Exclude sshd tests from AppVeyor.
  
  They fail complaining that sshd wasn't invoked with an absolute path.

- Test on more versions of Visual Studio.

- Fix Appveyor builds.

Daniel Stenberg (14 Feb 2016)
- [Viktor Szakats brought this change]

  openssl: add OpenSSL 1.1.0-pre3-dev compatibility
  
  by using API instead of accessing an internal structure.
  
  Closes #83

- RELEASE-NOTES: synced with 996b04ececdf

- include/libssh2.h: next version is 1.7.0

- configure: build "silent" if possible

- sftp: re-indented some minor stuff

- [Jakob Egger brought this change]

  sftp.c: ensure minimum read packet size
  
  For optimum performance we need to ensure we don't request tiny packets.

- [Jakob Egger brought this change]

  sftp.c: Explicit return values & sanity checks

- [Jakob Egger brought this change]

  sftp.c: Check Read Packet File Offset
  
  This commit adds a simple check to see if the offset of the read
  request matches the expected file offset.
  
  We could try to recover, from this condition at some point in the future.
  Right now it is better to return an error instead of corrupted data.

- [Jakob Egger brought this change]

  sftp.c: Don't return EAGAIN if data was written to buffer

- [Jakob Egger brought this change]

  sftp.c: Send at least one read request before reading
  
  This commit ensures that we have sent at least one read request before
  we try to read data in sftp_read().
  
  Otherwise sftp_read() would return 0 bytes (indicating EOF) if the
  socket is not ready for writing.

- [Jakob Egger brought this change]

  sftp.c: stop reading when buffer is full
  
  Since we can only store data from a single chunk in filep,
  we have to stop receiving data as soon as the buffer is full.
  
  This adresses the following bug report:
  https://github.com/libssh2/libssh2/issues/50

Salvador Fandiño (21 Jan 2016)
- agent_disconnect_unix: unset the agent fd after closing it
  
  "agent_disconnect_unix", called by "libssh2_agent_disconnect", was
  leaving the file descriptor in the agent structure unchanged. Later,
  "libssh2_agent_free" would call again "libssh2_agent_disconnect" under
  the hood and it would try to close again the same file descriptor. In
  most cases that resulted in just a harmless error, but it is also
  possible that the file descriptor had been reused between the two
  calls resulting in the closing of an unrelated file descriptor.
  
  This patch sets agent->fd to LIBSSH2_INVALID_SOCKET avoiding that
  issue.
  
  Signed-off-by: Salvador Fandiño <sfandino@yahoo.com>

Daniel Stenberg (18 Jan 2016)
- [Patrick Monnerat brought this change]

  os400qc3: support encrypted private keys
  
  PKCS#8 EncryptedPrivateKeyinfo structures are recognized and decoded to get
  values accepted by the Qc3 crypto library.

- [Patrick Monnerat brought this change]

  os400qc3: New PKCS#5 decoder
  
  The Qc3 library is not able to handle PKCS#8 EncryptedPrivateKeyInfo structures
  by itself. It is only capable of decrypting the (encrypted) PrivateKeyInfo
  part, providing a key encryption key and an encryption algorithm are given.
  Since the encryption key and algorithm description part in a PKCS#8
  EncryptedPrivateKeyInfo is a PKCS#5 structure, such a decoder is needed to
  get the derived key method and hash, as well as encryption algorith and
  initialisation vector.

- [Patrick Monnerat brought this change]

  os400qc3: force continuous update on non-final hash/hmac computation

- [Patrick Monnerat brought this change]

  os400qc3: Be sure hmac keys have a minimum length
  
  The Qc3 library requires a minimum key length depending on the target
  hash algorithm. Append binary zeroes to the given key if not long enough.
  This matches RFC 2104 specifications.

- [Patrick Monnerat brought this change]

  os400qc3: Slave descriptor for key encryption key
  
  The Qc3 library requires the key encryption key to exist as long as
  the encrypted key is used. Its descriptor token is then kept as an
  "encrypted key slave" for recursive release.

- [Patrick Monnerat brought this change]

  os400qc3.c: comment PEM/DER decoding

- [Patrick Monnerat brought this change]

  os400qc3.c: improve ASN.1 header byte checks

- [Patrick Monnerat brought this change]

  os400qc3.c: improve OID matching

- [Patrick Monnerat brought this change]

  os400: os400qc3.c: replace malloc by LIBSSH2_ALLOC or alloca where possible

- [Patrick Monnerat brought this change]

  os400: asn1_new_from_bytes(): use data from a single element only

- [Patrick Monnerat brought this change]

  os400: fix an ILE/RPG prototype

- [Patrick Monnerat brought this change]

  os400: implement character encoding conversion support

- [Patrick Monnerat brought this change]

  os400: do not miss some external prototypes
  
  Build procedure extproto() did not strip braces from header files, thus
  possibly prepended them to true prototypes. This prevented the prototype to
  be recognized as such.
  The solution implemented here is to map braces to semicolons, effectively
  considering them as potential prototype delimiters.

- [Patrick Monnerat brought this change]

  os400: Really add specific README

- [Patrick Monnerat brought this change]

  os400: Add specific README and include new files in dist tarball

- [Patrick Monnerat brought this change]

  os400: add compilation scripts

- [Patrick Monnerat brought this change]

  os400: include files for ILE/RPG
  
  In addition, file os400/macros.h declares all procedures originally
  defined as macros. It must not be used for real inclusion and is only
  intended to be used as a `database' for macro wrapping procedures generation.

- [Patrick Monnerat brought this change]

  os400: add supplementary header files/wrappers. Define configuration.

- [Patrick Monnerat brought this change]

  Protect callback function calls from macro substitution
  
  Some structure fields holding callback addresses have the same name as the
  underlying system function (connect, send, recv). Set parentheses around
  their reference to suppress a possible macro substitution.
  
  Use a macro for connect() on OS/400 to resolve a const/nonconst parameter
  problem.

- [Patrick Monnerat brought this change]

  Add interface for OS/400 crypto library QC3

- [Patrick Monnerat brought this change]

  misc: include stdarg.h for debug code

- [Patrick Monnerat brought this change]

  Document crypto library interface

- [Patrick Monnerat brought this change]

  Feature an optional crypto-specific macro to rsa sign a data fragment vector
  
  OS/400 crypto library is unable to sign a precomputed SHA1 hash: however
  it does support a procedure that hashes data fragments and rsa signs.
  If defined, the new macro _libssh2_rsa_sha1_signv() implements this function
  and disables use of _libssh2_rsa_sha1_sign().
  
  The function described above requires that the struct iovec unused slacks are
  cleared: for this reason, macro libssh2_prepare_iovec() has been introduced.
  It should be defined as empty for crypto backends that are not sensitive
  to struct iovec unused slack values.

- [Patrick Monnerat brought this change]

  Fold long lines in include files

- [Viktor Szakats brought this change]

  kex.c: fix indentation
  
  Closes #71

- [Viktor Szakats brought this change]

  add OpenSSL-1.1.0-pre2 compatibility
  
  Closes #70

- [Viktor Szakats brought this change]

  add OpenSSL 1.1.0-pre1 compatibility
  
  * close https://github.com/libssh2/libssh2/issues/69
  * sync a declaration with the rest of similar ones
  * handle EVP_MD_CTX_new() returning NULL with OpenSSL 1.1.0
  * fix potential memory leak with OpenSSL 1.1.0 in
    _libssh2_*_init() functions, when EVP_MD_CTX_new() succeeds,
    but EVP_DigestInit() fails.

Marc Hoersken (22 Dec 2015)
- wincng.c: fixed _libssh2_wincng_hash_final return value
  
  _libssh2_wincng_hash_final was returning the internal BCRYPT
  status code instead of a valid libssh2 return value (0 or -1).
  
  This also means that _libssh2_wincng_hash never returned 0.

- wincng.c: fixed possible memory leak in _libssh2_wincng_hash
  
  If _libssh2_wincng_hash_update failed _libssh2_wincng_hash_final
  would never have been called before.
  
  Reported by Zenju.

Kamil Dudka (15 Dec 2015)
- [Paul Howarth brought this change]

  libssh2.pc.in: fix the output of pkg-config --libs
  
  ... such that it does not include LDFLAGS used to build libssh2 itself.
  There was a similar fix in the curl project long time ago:
  
  https://github.com/bagder/curl/commit/curl-7_19_7-56-g4c8adc8
  
  Bug: https://bugzilla.redhat.com/1279966
  Signed-off-by: Kamil Dudka <kdudka@redhat.com>

Marc Hoersken (6 Dec 2015)
- hostkey.c: align code path of ssh_rsa_init to ssh_dss_init

- hostkey.c: fix invalid memory access if libssh2_dsa_new fails
  
  Reported by dimmaq, fixes #66

Daniel Stenberg (3 Nov 2015)
- [Will Cosgrove brought this change]

  gcrypt: define libssh2_sha256_ctx
  
  Looks like it didn't make it into the latest commit for whatever reason.
  
  Closes #58

- [Salvador Fandino brought this change]

  libssh2_session_set_last_error: Add function
  
  Net::SSH2, the Perl wrapping module for libssh2 implements several features*
  on top of libssh2 that can fail and so need some mechanism to report the error
  condition to the user.
  
  Until now, besides the error state maintained internally by libssh2, another
  error state was maintained at the Perl level for every session object and then
  additional logic was used to merge both error states. That is a maintenance
  nighmare, and actually there is no way to do it correctly and consistently.
  
  In order to allow the high level language to add new features to the library
  but still rely in its error reporting features the new function
  libssh2_session_set_last_error (that just exposses _libssh2_error_flags) is
  introduced.
  
  *) For instance, connecting to a remote SSH service giving the hostname and
  port.
  
  Signed-off-by: Salvador Fandino <sfandino@yahoo.com>
  Signed-off-by: Salvador Fandiño <sfandino@yahoo.com>

- [Salvador Fandino brought this change]

  _libssh2_error: Support allocating the error message
  
  Before this patch "_libssh2_error" required the error message to be a
  static string.
  
  This patch adds a new function "_libssh2_error_flags" accepting an
  additional "flags" argument and specifically the flag
  "LIBSSH2_ERR_FLAG_DUP" indicating that the passed string must be
  duplicated into the heap.
  
  Then, the method "_libssh2_error" has been rewritten to use that new
  function under the hood.
  
  Signed-off-by: Salvador Fandino <sfandino@yahoo.com>
  Signed-off-by: Salvador Fandiño <sfandino@yahoo.com>

- [Will Cosgrove brought this change]

  added engine.h include to fix warning

- [sune brought this change]

  kex.c: removed dupe entry from libssh2_kex_methods[]
  
  Closes #51

- [Salvador Fandiño brought this change]

  userauth: Fix off by one error when reading public key file
  
  After reading the public key from file the size was incorrectly
  decremented by one.
  
  This was usually a harmless error as the last character on the public
  key file is an unimportant EOL. But if due to some error the public key
  file is empty, the public key size becomes (uint)(0 - 1), resulting in
  an unrecoverable out of memory error later.
  
  Signed-off-by: Salvador Fandi??o <sfandino-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>

- [Salvador Fandino brought this change]

  channel: Detect bad usage of libssh2_channel_process_startup
  
  A common novice programmer error (at least among those using the
  wrapping Perl module Net::SSH2), is to try to reuse channels.
  
  This patchs detects that incorrect usage and fails with a
  LIBSSH2_ERROR_BAD_USE error instead of hanging.
  
  Signed-off-by: Salvador Fandino <sfandino-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>

- [Will Cosgrove brought this change]

  kex: Added diffie-hellman-group-exchange-sha256 support
  
  ... and fixed HMAC_Init depricated usage
  
  Closes #48

Alexander Lamaison (21 Sep 2015)
- Prefixed new #defines to prevent collisions.
  
  Other libraries might have their own USE_WIN32_*FILES.

- [keith-daigle brought this change]

  Update examples/scp.c to fix bug where large files on win32 would cause got to wrap and go negative

- [David Byron brought this change]

  add libssh2_scp_recv2 to support large (> 2GB) files on windows

Daniel Stenberg (17 Sep 2015)
- [sune brought this change]

  WinCNG: support for SHA256/512 HMAC
  
  Closes #47

- [brian m. carlson brought this change]

  Add support for HMAC-SHA-256 and HMAC-SHA-512.
  
  Implement support for these algorithms and wire them up to the libgcrypt
  and OpenSSL backends.  Increase the maximum MAC buffer size to 64 bytes
  to prevent buffer overflows.  Prefer HMAC-SHA-256 over HMAC-SHA-512, and
  that over HMAC-SHA-1, as OpenSSH does.
  
  Closes #40

- [Zenju brought this change]

  kex: free server host key before allocating it (again)
  
  Fixes a memory leak when Synology server requests key exchange
  
  Closes #43

- [Viktor Szakats brought this change]

  GNUmakefile: up OpenSSL version
  
  closes #23

- [Viktor Szakats brought this change]

  GNUmakefile: add -m64 CFLAGS when targeting mingw64, add -m32/-m64 to LDFLAGS
  
  libssh2 equivalent of curl patch https://github.com/bagder/curl/commit/d21b66835f2af781a3c2a685abc92ef9f0cd86be
  
  This allows to build for the non-default target when using a multi-target mingw distro.
  Also bump default OpenSSL dependency path to 1.0.2c.

- [Viktor Szakats brought this change]

  GNUmakefile: add support for LIBSSH2_LDFLAG_EXTRAS
  
  It is similar to existing LIBSSH2_CFLAG_EXTRAS, but for
  extra linker options.
  
  Also delete some line/file ending whitespace.
  
  closes #27

- [nasacj brought this change]

  hostkey.c: Fix compiling error when OPENSSL_NO_MD5 is defined
  
  Closes #32

- [Mizunashi Mana brought this change]

  openssl.h: adjust the rsa/dsa includes
  
  ... to work when built without DSA support.
  
  Closes #36

Alexander Lamaison (26 Jul 2015)
- Let CMake build work as a subproject.
  
  Patch contributed by JasonHaslam.

- Fix builds with Visual Studio 2015.
  
  VS2015 moved stdio functions to the header files as inline function.  That means check_function_exists can't detect them because it doesn't use header files - just does a link check.  Instead we need to use check_symbol_exists with the correct headers.

Kamil Dudka (2 Jul 2015)
- cmake: include CMake files in the release tarballs
  
  Despite we announced the CMake support in libssh2-1.6.0 release notes,
  the files required by the CMake build system were not included in the
  release tarballs.  Hence, the only way to use CMake for build was the
  upstream git repository.
  
  This commit makes CMake actually supported in the release tarballs.

- tests/mansyntax.sh: fix 'make distcheck' with recent autotools
  
  Do not create symbolic links off the build directory.  Recent autotools
  verify that out-of-source build works even if the source directory tree
  is not writable.

- openssl: fix memleak in _libssh2_dsa_sha1_verify()

Daniel Stenberg (12 Jun 2015)
- openssl: make libssh2_sha1 return error code
  
  - use the internal prefix _libssh2_ for non-exported functions
  
  - removed libssh2_md5() since it wasn't used
  
  Reported-by: Kamil Dudka

- [LarsNordin-LNdata brought this change]

  SFTP: Increase speed and datasize in SFTP read
  
  The function sftp_read never return more then 2000 bytes (as it should
  when I asked Daniel). I increased the MAX_SFTP_READ_SIZE to 30000 but
  didn't get the same speed as a sftp read in SecureSSH. I analyzed the
  code and found that a return always was dona when a chunk has been read.
  I changed it to a sliding buffer and worked on all available chunks. I
  got an increase in speed and non of the test I have done has failed
  (both local net and over Internet). Please review and test. I think
  30000 is still not the optimal MAX_SFTP_READ_SIZE, my next goal is to
  make an API to enable changing this value (The SecureSSH sftp_read has
  more complete filled packages when comparing the network traffic)

- bump: start working on 1.6.1

Version 1.6.0 (5 Jun 2015)

Daniel Stenberg (5 Jun 2015)
- RELEASE-NOTES: synced with 858930cae5c6a

Marc Hoersken (19 May 2015)
- wincng.c: fixed indentation

- [sbredahl brought this change]

  wincng.c: fixed memleak in (block) cipher destructor

Alexander Lamaison (6 May 2015)
- [Jakob Egger brought this change]

  libssh2_channel_open: more detailed error message
  
  The error message returned by libssh2_channel_open in case of a server side channel open failure is now more detailed and includes the four standard error conditions in RFC 4254.

- [Hannes Domani brought this change]

  kex: fix libgcrypt memory leaks of bignum
  
  Fixes #168.

Marc Hoersken (3 Apr 2015)
- configure.ac: check for SecureZeroMemory for clear memory feature

- Revert "wincng.c: fix clear memory feature compilation with mingw"
  
  This reverts commit 2d2744efdd0497b72b3e1ff6e732aa4c0037fc43.
  
  Autobuilds show that this did not solve the issue.
  And it seems like RtlFillMemory is defined to memset,
  which would be optimized out by some compilers.

- wincng.c: fix clear memory feature compilation with mingw

Alexander Lamaison (1 Apr 2015)
- [LarsNordin-LNdata brought this change]

  Enable use of OpenSSL that doesn't have DSA.
  
  Added #if LIBSSH2_DSA for all DSA functions.

- [LarsNordin-LNdata brought this change]

  Use correct no-blowfish #define with OpenSSL.
  
  The OpenSSL define is OPENSSL_NO_BF, not OPENSSL_NO_BLOWFISH.

Marc Hoersken (25 Mar 2015)
- configure: error if explicitly enabled clear-memory is not supported
  
  This takes 22bd8d81d8fab956085e2079bf8c29872455ce59 and
  b8289b625e291bbb785ed4add31f4759241067f3 into account,
  but still makes it enabled by default if it is supported
  and error out in case it is unsupported and was requested.

Daniel Stenberg (25 Mar 2015)
- configure: make clear-memory default but only WARN if backend unsupported
  
  ... instead of previous ERROR.

Marc Hoersken (24 Mar 2015)
- wincng.h: fix warning about computed return value not being used

- nonblocking examples: fix warning about unused tvdiff on Mac OS X

Daniel Stenberg (24 Mar 2015)
- openssl: fix compiler warnings

- cofigure: fix --disable-clear-memory check

Marc Hoersken (23 Mar 2015)
- scp.c: improved command length calculation
  
  Reduced number of calls to strlen, because shell_quotearg already
  returns the length of the resulting string (e.q. quoted path)
  which we can add to the existing and known cmd_len.
  Removed obsolete call to memset again, because we can put a final
  NULL-byte at the end of the string using the calculated length.

- scp.c: improved and streamlined formatting

- scp.c: fix that scp_recv may transmit not initialised memory

- scp.c: fix that scp_send may transmit not initialised memory
  
  Fixes ticket 244. Thanks Torsten.

- kex: do not ignore failure of libssh2_sha1_init()
  
  Based upon 43b730ce56f010e9d33573fcb020df49798c1ed8.
  Fixes ticket 290. Thanks for the suggestion, mstrsn.

- wincng.h: fix return code of libssh2_md5_init()

- openssl.c: fix possible segfault in case EVP_DigestInit fails

- wincng.c: fix possible use of uninitialized variables

- wincng.c: fix unused argument warning if clear memory is not enabled

- wincng: Added explicit clear memory feature to WinCNG backend
  
  This re-introduces the original feature proposed during
  the development of the WinCNG crypto backend. It still needs
  to be added to libssh2 itself and probably other backends.
  
  Memory is cleared using the function SecureZeroMemory which is
  available on Windows systems, just like the WinCNG backend.

- wincng.c: fixed mixed line-endings

- wincng.c: fixed use of invalid parameter types in a8d14c5dcf

- wincng.c: only try to load keys corresponding to the algorithm

- wincng.c: moved PEM headers into definitions

- wincng.h: fixed invalid parameter name

- wincng: fixed mismatch with declarations in crypto.h

- userauth.c: fixed warning C6001: using uninitialized sig and sig_len

- pem.c: fixed warning C6269: possible incorrect order of operations

- wincng: add support for authentication keys to be passed in memory
  
  Based upon 18cfec8336e and daa2dfa2db.

- pem.c: add _libssh2_pem_parse_memory to parse PEM from memory
  
  Requirement to implement 18cfec8336e for Libgcrypt and WinCNG.

- pem.c: fix copy and paste mistake from 55d030089b8

- userauth.c: fix another possible dereference of a null pointer

- userauth.c: fix possible dereference of a null pointer

- pem.c: reduce number of calls to strlen in readline

Alexander Lamaison (17 Mar 2015)
- [Will Cosgrove brought this change]

  Initialise HMAC_CTX in more places.
  
  Missed a couple more places we init ctx to avoid openssl threading crash.

- Build build breakage in WinCNG backend caused when adding libssh2_userauth_publickey_frommemory.
  
  The new feature isn't implemented for the WinCNG backend currently, but the WinCNG backend didn't contain any implementation of the required backend functions - even ones that returns an error.  That caused link errors.
  
  This change fixes the problem by providing an implementation of the backend functions that returns an error.

- Fix breakage in WinCNG backend caused by introducing libssh2_hmac_ctx_init.
  
  The macro was defined to nothing for the libgcrypt backend, but not for WinCNG.  This brings the latter into line with the former.

Daniel Stenberg (15 Mar 2015)
- userauth_publickey_frommemory.3: add AVAILABILITY
  
  ... it will be added in 1.6.0

- libssh2: next version will be called 1.6.0
  
  ... since we just added a new function.

- docs: add libssh2_userauth_publickey_frommemory.3 to dist
  
  The function and man page were added in commit 18cfec8336e

- [Jakob Egger brought this change]

  direct_tcpip: Fixed channel write
  
  There were 3 bugs in this loop:
  1) Started from beginning after partial writes
  2) Aborted when 0 bytes were sent
  3) Ignored LIBSSH2_ERROR_EAGAIN
  
  See also:
  https://trac.libssh2.org/ticket/281
  https://trac.libssh2.org/ticket/293

Alexander Lamaison (15 Mar 2015)
- [Will Cosgrove brought this change]

  Must init HMAC_CTX before using it.
  
  Must init ctx before using it or openssl will reuse the hmac which is not thread safe and causes a crash.
  Added libssh2_hmac_ctx_init macro.

- Add continuous integration configurations.
  
  Linux-based CI is done by Travis CI.  Windows-based CI is done by Appveyor.

- [David Calavera brought this change]

  Allow authentication keys to be passed in memory.
  
  All credits go to Joe Turpin, I'm just reaplying and cleaning his patch:
  http://www.libssh2.org/mail/libssh2-devel-archive-2012-01/0015.shtml
  
  * Use an unimplemented error for extracting keys from memory with libgcrypt.

Daniel Stenberg (14 Mar 2015)
- docs: include the renamed INSTALL* files in dist

Alexander Lamaison (13 Mar 2015)
- Prevent collisions between CMake and Autotools in examples/ and tests/.

- Avoid clash between CMake build and Autotools.
  
  Autotools expects a configuration template file at src/libssh2_config.h.in, which buildconf generates.  But the CMake build system has its CMake-specific version of the file at this path.  This means that, if you don't run buildconf, the Autotools build will fail because it configured the wrong header template.
  
  See https://github.com/libssh2/libssh2/pull/8.

- Merge pull request #8 from alamaison/cmake
  
  CMake build system.

- CMake build system.
  
  Tested:
   - Windows:
      - Visual C++ 2005/2008/2010/2012/2013/MinGW-w64
      - static/shared
      - 32/64-bit
      - OpenSSL/WinCNG
      - Without zlib
   - Linux:
      - GCC 4.6.3/Clang 3.4
      - static/shared
      - 32/64-bit
      - OpenSSL/Libgcrypt
      - With/Without zlib
   - MacOS X
      - AppleClang 6.0.0
      - static
      - 64-bit
      - OpenSSL
      - Without zlib
  
  Conflicts:
          README

- Man man syntax tests fail gracefully if man version is not suitable.

- Return valid code from test fixture on failure.
  
  The sshd test fixture was returning -1 if an error occurred, but negative error codes aren't technically valid (google it).  Bash on Windows converted them to 0 which made setup failure look as though all tests were passing.

- Let mansyntax.sh work regardless of where it is called from.

Daniel Stenberg (12 Mar 2015)
- [Viktor Szakáts brought this change]

  mingw build: allow to pass custom CFLAGS
  
  Allow to pass custom `CFLAGS` options via environment variable
  `LIBSSH2_CFLAG_EXTRAS`. Default and automatically added options of
  `GNUmakefile` have preference over custom ones. This addition is useful
  for passing f.e. custom CPU tuning or LTO optimization (`-flto
  -ffat-lto-objects`) options. The only current way to do this is to edit
  `GNUmakefile`. This patch makes it unnecessary.
  
  This is a mirror of similar libcurl patch:
  https://github.com/bagder/curl/pull/136

- [Will Cosgrove brought this change]

  userauth: Fixed prompt text no longer being copied to the prompts struct
  
  Regression from 031566f9c

- README: update the git repo locations

- wait_socket: wrong use of difftime()
  
  With reversed arguments it would always return a negative value...
  
  Bug: https://github.com/bagder/libssh2/issues/1

- bump: start working toward 1.5.1 now

Version 1.5.0 (11 Mar 2015)

Daniel Stenberg (11 Mar 2015)
- RELEASE-NOTES: 1.5.0 release

- [Mariusz Ziulek brought this change]

  kex: bail out on rubbish in the incoming packet
  
  CVE-2015-1782
  
  Bug: http://www.libssh2.org/adv_20150311.html

- docs: move INSTALL, AUTHORS, HACKING and TODO to docs/
  
  And with this, cleanup README to be shorter and mention the new source
  code home.

- .gitignore: don't ignore INSTALL

Dan Fandrich (4 Mar 2015)
- examples/x11.c: include sys/select.h for improved portability

Daniel Stenberg (4 Mar 2015)
- RELEASE-NOTES: synced with a8473c819bc068
  
  In preparation for the upcoming 1.5.0 release.

Guenter Knauf (8 Jan 2015)
- NetWare build: added some missing exports.

Marc Hoersken (29 Dec 2014)
- knownhost.c: fix use of uninitialized argument variable wrote
  
  Detected by clang scan in       line 1195, column 18.

- examples/x11.c: fix result of operation is garbage or undefined
  
  Fix use of uninitialized structure w_size_bck.
  Detected by clang scan in       line 386, column 28.

- examples/x11.c: remove dead assigments of some return values
  
  Detected by clang scan in line 212, column 9.
  Detected by clang scan in line 222, column 13.
  Detected by clang scan in       line 410, column 13.

- examples/x11.c: fix possible memory leak if read fails
  
  Detected by clang scan in line 224, column 21.

- examples/x11.c: fix invalid removal of first list element
  
  Fix use of memory after it was being freed.
  Detected by clang scan in line 56, column 12.

- userauth.c: make sure that sp_len is positive and avoid overflows
  
  ... if the pointer subtraction of sp1 - pubkey - 1 resulted in a
  negative or larger value than pubkey_len, memchr would fail.
  
  Reported by Coverity CID 89846.

- channel.c: remove logically dead code, host cannot be NULL here
  
  ... host cannot be NULL in line 525, because it is always
  valid (e.g. at least set to "0.0.0.0") after lines 430 and 431.
  
  Reported by Coverity CID 89807.

- session.c: check return value of session_nonblock during startup
  
  Reported by Coverity CID 89803.

- session.c: check return value of session_nonblock in debug mode
  
  Reported by Coverity CID 89805.

- pem.c: fix mixed line-endings introduced with 8670f5da24

- pem.c: make sure there's a trailing zero and b64data is not NULL
  
  ... if there is no base64 data between PEM header and footer.
  Reported by Coverity CID 89823.

- kex.c: make sure mlist is not set to NULL
  
  ... if the currently unsupported LANG methods are called.
  Reported by Coverity CID 89834.

- packet.c: i < 256 was always true and i would overflow to 0
  
  Visualize that the 0-termination is intentional, because the array
  is later passed to strlen within _libssh2_packet_askv.

- silence multiple data conversion warnings

Daniel Stenberg (23 Dec 2014)
- agent_connect_unix: make sure there's a trailing zero
  
  ... if the path name was too long. Reported by Coverity CID 89801.

Marc Hoersken (22 Dec 2014)
- examples on Windows: use native SOCKET-type instead of int
  
  And check return values accordingly.

- userauth.c: improve readability and clarity of for-loops

Daniel Stenberg (22 Dec 2014)
- calloc: introduce LIBSSH2_CALLOC()
  
  A simple function using LIBSSH2_ALLOC + memset, since this pattern was
  used in multiple places and this simplies code in general.

Marc Hoersken (15 Dec 2014)
- libssh2_priv.h: Ignore session, context and format parameters

- x11 example: check return value of socket function

- examples: fixed mixed line-endings introduced with aedfba25b8

- wincng.c: explicitly ignore BCrypt*AlgorithmProvider return codes
  
  Fixes VS2012 code analysis warning C6031:
  return value ignored: <function> could return unexpected value

- wincng.c: fix possible invalid memory write access
  
  Fixes VS2012 code analysis warning C6386:
  buffer overrun: accessing 'pbOutput', the writable size is
  'cbOutput' bytes, but '3' bytes may be written: libssh2 wincng.c 610

- tests on Windows: check for WSAStartup return code
  
  Fixes VS2012 code analysis warning C6031:
  return value ignored: <function> could return unexpected value

- wincng.c: fix possible NULL pointer de-reference of bignum
  
  Fixes VS2012 code analysis warning C6011:
  dereferencing NULL pointer 'bignum'. libssh2 wincng.c 1567

- wincng.c: fix possible use of uninitialized memory
  
  Fixes VS2012 code analysis warning C6001:
  using uninitialized memory 'cbDecoded'. libssh2 wincng.c 553

- packet.c: fix possible NULL pointer de-reference within listen_state
  
  Fixes VS2012 code analysis warning C6011:
  dereferencing NULL pointer 'listen_state->channel'. libssh2 packet.c 221

- kex.c: fix possible NULL pointer de-reference with session->kex
  
  Fixes VS2012 code analysis warning C6011:
  dereferencing NULL pointer 'session->kex'. libssh2 kex.c 1761

- agent.c: check return code of MapViewOfFile
  
  Fixes VS2012 code analysis warning C6387: 'p+4' may be '0':
  this does not adhere to the specification for the function
  'memcpy': libssh2 agent.c 330
  
  Fixes VS2012 code analysis warning C6387: 'p' may be '0':
  this does not adhere to the specification for the function
  'UnmapViewOfFile': libssh2 agent.c 333

- examples on Windows: check for socket return code
  
  Fixes VS2012 code analysis warning C28193:
  The variable holds a value that must be examined

- examples on Windows: check for WSAStartup return code
  
  Fixes VS2012 code analysis warning C6031:
  return value ignored: <function> could return unexpected value

Guenter Knauf (11 Dec 2014)
- wincng.c: silent some more gcc compiler warnings.

- wincng.c: silent gcc compiler warnings.

- Watcom build: added support for WinCNG build.

- build: updated dependencies in makefiles.

Daniel Stenberg (4 Dec 2014)
- configure: change LIBS not LDFLAGS when checking for libs
  
  Closes #289
  
  Patch-by: maurerpe

Guenter Knauf (3 Dec 2014)
- MinGW build: some more GNUMakefile tweaks.
  
  test/GNUmakefile: added architecture autodetection; added switches to
  CFLAGS and RCFLAGS to make sure that the right architecture is used.
  Added support to build with WinCNG.

- sftpdir.c: added authentication method detection.
  
  Stuff copied over from ssh2.c to make testing a bit easier.

- NMake build: fixed LIBS settings.

- NMake build: added support for WinCNG build.

- MinGW build: some GNUMakefile tweaks.
  
  Added architecture autodetection; added switches to CFLAGS and
  RCFLAGS to make sure that the right architecture is used.
  Added support to build with WinCNG.

- MinGW build: Fixed redefine warnings.

- Updated copyright year.

Daniel Stenberg (31 Aug 2014)
- COPYING: bump the copyright year

Dan Fandrich (28 Jul 2014)
- docs: fixed a bunch of typos

- docs: added missing libssh2_session_handshake.3 file

Marc Hoersken (19 May 2014)
- wincng.c: specify the required libraries for dependencies using MSVC
  
  Initially reported by Bob Kast as "for MS VS builds, specify the
  libraries that are required so they don't need to go into all
  project files that may use this library". Thanks a lot.

- [Bob Kast brought this change]

  windows build: do not export externals from static library
  
  If you are building a DLL, then you need to explicitly export each
  entry point. When building a static library, you should not.
  
  libssh2 was exporting the entry points whether it was building a DLL or a
  static library. To elaborate further, if libssh2 was used as a static
  library, which was being linked into a DLL, the libssh2 API would be
  exported from that separate DLL.

Daniel Stenberg (19 May 2014)
- [Mikhail Gusarov brought this change]

  Fix typos in manpages

Marc Hoersken (18 May 2014)
- wincng.c: Fixed memory leak in case of an error during ASN.1 decoding

- configure: Display individual crypto backends on separate lines
  
  This avoids line-wrapping in between parameters and makes the
  error message look like the following:
  
  configure: error: No crypto library found!
  Try --with-libssl-prefix=PATH
   or --with-libgcrypt-prefix=PATH
   or --with-wincng on Windows

- [Bob Kast brought this change]

  libssh2_priv.h: a 1 bit bit-field should be unsigned
  
  some compilers may not like this

- knownhost.c: Fixed warning that pointer targets differ in signedness

- wincng.c: Fixed warning about pointer targets differing in signedness

- tcpip-forward.c: Fixed warning that pointer targets differ in signedness
  
  libssh2_channel_forward_listen_ex uses ints instead of unsigned ints.

- misc.c: Fixed warning about mixed declarations and code

- libgcrypt.h: Fixed warning about pointer targets differing in signedness

- wincng.h: Fixed warning about pointer targets differing in signedness

- misc.c: Fixed warning about unused parameter abstract

- tcpip-forward.c: Removed unused variables shost, sport and sockopt

- wincng.h: Added forward declarations for all WinCNG functions
  
  Initially reported by Bob Kast as "Wincng - define function
  prototypes for wincng routines". Thanks a lot.
  
  Also replaced structure definitions with type definitions.

- [Bob Kast brought this change]

  libssh2.h: on Windows, a socket is of type SOCKET, not int

- win32: Added WinCNG targets to generated Visual Studio project
  
  Inspired by Bob Kast's reports, this commit enables the compilation
  of libssh2 with WinCNG using the generated Visual Studio project files.
  This commit adds WinCNG support to parts of the existing Win32 build
  infrastructure, until new build systems, like pre-defined VS project
  files or CMake files may be added.
  
  This commit and b20bfeb3e519119a48509a1099c06d65aa7da1d7 raise one
  question: How to handle build systems, like VS project files, that
  need to include all source files regardless of the desired target,
  including all supported crypto backends? For now the mentioned commit
  added a check for LIBSSH2_OPENSSL to openssl.c and with this commit
  the supported crypto backends are hardcoded within Makefile.am.

- libssh2_priv msvc: Removed redundant definition of inline keyword
  
  Initially reported by Bob Kast as "Remove redundant 'inline' define".
  Thanks a lot.

- wincng: Made data parameter to hash update function constant
  
  Initially reported by Bob Kast as "formal parameter must be const
  since it is used in contexts where the actual parameter may be const".
  Thanks a lot.

- wincng: fix cross-compilation against the w64 mingw-runtime package

- openssl: Check for LIBSSH2_OPENSSL in order to compile with openssl

- wincng: Fixed use of possible uninitialized variable pPaddingInfo
  
  Reported by Bob Kast, thanks a lot.

- wincng: Added cast for double to unsigned long conversion

- wincng: Cleaned up includes and check NTSTATUS using macro
  
  Removed header file combination that is not supported on a real
  Windows platform and can only be compiled using MinGW. Replaced
  custom NTSTATUS return code checks with BCRYPT_SUCCESS macro.

Daniel Stenberg (16 Mar 2014)
- userauth_hostbased_fromfile: zero assign to avoid uninitialized use
  
  Detected by clang-analyze

- channel_receive_window_adjust: store windows size always
  
  Avoid it sometimes returning without storing it, leaving calling
  functions with unknown content!
  
  Detected by clang-analyzer

- publickey_packet_receive: avoid junk in returned pointers
  
  clang-analyzer found this risk it would return a non-initialized pointer
  in a success case

Peter Stuge (16 Mar 2014)
- [Marc Hoersken brought this change]

  Added Windows Cryptography API: Next Generation based backend

- [Marc Hoersken brought this change]

  knownhost.c: fixed that 'key_type_len' may be used uninitialized
  
  ../src/knownhost.c: In function 'libssh2_knownhost_readline':
  ../src/knownhost.c:651:16: warning: 'key_type_len' may be used
  uninitialized in this function [-Wmaybe-uninitialized]
               rc = knownhost_add(hosts, hostbuf, NULL,
                  ^
  ../src/knownhost.c:745:12: note: 'key_type_len' was declared here
       size_t key_type_len;
              ^

- [Marc Hoersken brought this change]

  pem.c: always compile pem.c independently of crypto backend

- Fix non-autotools builds: Always define the LIBSSH2_OPENSSL CPP macro
  
  Commit d512b25f69a1b6778881f6b4b5ff9cfc6023be42 introduced a crypto
  library abstraction in the autotools build system, to allow us to more
  easily support new crypto libraries. In that process it was found that
  all other build system which we support are hard-coded to build with
  OpenSSL. Commit f5c1a0d98bd51aeb24aca3d49c7c81dcf8bd858d fixes automake
  introduced into non-autotools build systems but still overlooked the
  CPP macro saying that we are using OpenSSL.
  
  Thanks to Marc Hörsken for identifying this issue and proposing a fix
  for win32/{GNUmakefile,config.mk}. This commit uses a slightly different
  approach but the end result is the same.

Dan Fandrich (15 Mar 2014)
- channel_close: Close the channel even in the case of errors

- sftp_close_handle: ensure the handle is always closed
  
  Errors are reported on return, but otherwise the close path is
  completed as much as possible and the handle is freed on exit.

Alexander Lamaison (6 Mar 2014)
- knownhost: Restore behaviour of `libssh2_knownhost_writeline` with short buffer.
  
  Commit 85c6627c changed the behaviour of `libssh2_knownhost_writeline` so that it stopped returning the number of bytes needed when the given buffer was too small.  Also, the function changed such that is might write to part of the buffer before realising it is too small.
  
  This commit restores the original behaviour, whilst keeping the unknown-key-type functionality that 85c6627c.  Instead of writing to the buffer piecemeal, the length of the various parts is calculated up front and the buffer written only if there is enough space.  The calculated necessary size is output in `outlen` regardless of whether the buffer was written to.
  
  The main use-case for the original behaviour that this commit restores is to allow passing in a NULL buffer to get the actual buffer size needed, before calling the function again with the buffer allocated to the exact size required.

- knownhost: Fix DSS keys being detected as unknown.
  
  I missing `else` meant ssh-dss format keys were being re-detected as unknown format.

Dan Fandrich (6 Mar 2014)
- knownhosts: Abort if the hosts buffer is too small
  
  This could otherwise cause a match on the wrong host

- agent_list_identities: Fixed memory leak on OOM

- Fixed a few typos

- userauth: Fixed an attempt to free from stack on error

- Fixed a few memory leaks in error paths

- Fixed two potential use-after-frees of the payload buffer
  
  The first might occur if _libssh2_packet_add returns an error, as
  fullpacket_state wasn't reset to idle so if it were possible for
  fullpacket to be called again, it would return to the same state
  handler and re-use the freed p->packet buffer.
  
  The second could occur if decrypt returned an error, as it freed the
  packet buffer but did not clear total_num, meaning that freed buffer
  could be written into again later.

Alexander Lamaison (28 Nov 2013)
- Fix missing `_libssh2_error` in `_libssh2_channel_write`.
  
  In one case, the error code from `_libssh2_transport_read` was being returned from `_libssh2_channel_write` without setting it as the last error by calling `_libssh2_error`.  This commit fixes that.
  
  Found when using a session whose socket had been inadvertently destroyed.  The calling code got confused because via `libssh2_session_last_error` it appeared no error had occurred, despite one being returned from the previous function.

Kamil Dudka (21 Nov 2013)
- [Mark McPherson brought this change]

  openssl: initialise the digest context before calling EVP_DigestInit()
  
  When using the OpenSSL libraries in FIPS mode, the function call
  EVP_DigestInit() is actually #defined to FIPS_digestinit().
  Unfortunately wheres EVP_DigestInit() initialises the context and then
  calls EVP_DigestInit_ex(), this function assumes that the context has
  been pre-initialised and crashes when it isn't.
  
  Bug: https://trac.libssh2.org/ticket/279
  
  Fixes #279

- [Marc Hörsken brought this change]

  .gitignore: Ignore files like src/libssh2_config.h.in~

Peter Stuge (13 Nov 2013)
- Move automake conditionals added by commit d512b25f out of Makefile.inc
  
  Commit d512b25f69a1b6778881f6b4b5ff9cfc6023be42 added automake
  conditionals to Makefile.inc but since Makefile.inc is included
  from Makefile for all other build systems that does not work.
  
  This commit instead adds Makefile.OpenSSL.inc and Makefile.libgcrypt.inc
  and moves the automake conditional to its proper place, src/Makefile.am.
  
  The automake conditional includes the correct Makefile.$name.inc per
  the crypto library selection/detection done by configure.
  
  All non-autotools build system files in libssh2 are hardcoded to use
  OpenSSL and do not get a conditional but at least there is some reuse
  because they can all include the new Makefile.OpenSSL.inc.

Daniel Stenberg (27 Oct 2013)
- [Salvador Fandino brought this change]

  Set default window size to 2MB
  
  The default channel window size used until now was 256KB. This value is
  too small and results on a bottleneck on real-life networks where
  round-trip delays can easily reach 300ms.
  
  The issue was not visible because the configured channel window size
  was being ignored and a hard-coded value of ~22MB being used instead,
  but that was fixed on a previous commit.
  
  This patch just changes the default window size
  (LIBSSH2_CHANNEL_WINDOW_DEFAULT) to 2MB. It is the same value used by
  OpenSSH and in our opinion represents a good compromise between memory
  used and transfer speed.
  
  Performance tests were run to determine the optimum value. The details
  and related discussion are available from the following thread on the
  libssh2 mailing-list:
  
  http://www.libssh2.org/mail/libssh2-devel-archive-2013-10/0018.shtml
  http://article.gmane.org/gmane.network.ssh.libssh2.devel/6543
  
  An excerpt follows:
  
  "I have been running some transfer test and measuring their speed.
  
  My setup was composed of a quad-core Linux machine running Ubuntu 13.10
  x86_64 with a LXC container inside. The data transfers were performed
  from the container to the host (never crossing through a physical
  network device).
  
  Network delays were simulated using the tc tool. And ping was used to
  verify that they worked as intended during the tests.
  
  The operation performed was the equivalent to the following ssh command:
  
    $ ssh container "dd bs=16K count=8K if=/dev/zero" >/dev/null
  
  Though, establishment and closing of the SSH connection was excluded
  from the timings.
  
  I run the tests several times transferring files of sizes up to 128MB
  and the results were consistent between runs.
  
  The results corresponding to the 128MB transfer are available here:
  
  https://docs.google.com/spreadsheet/ccc?key=0Ao1yRmX6PQQzdG5wSFlrZl9HRWNET3ZyN0hnaGo5ZFE&usp=sharing
  
  It clearly shows that 256KB is too small as the default window size.
  Moving to a 512MB generates a great improvement and after the 1MB mark
  the returns rapidly diminish. Other factors (TCP window size, probably)
  become more limiting than the channel window size
  
  For comparison I also performed the same transfers using OpenSSH. Its
  speed is usually on par with that of libssh2 using a window size of 1MB
  (even if it uses a 2MB window, maybe it is less aggressive sending the
  window adjust msgs)."
  
  Signed-off-by: Salvador Fandino <sfandino@yahoo.com>

- [Salvador brought this change]

  _libssh2_channel_read: Honour window_size_initial
  
  _libssh2_channel_read was using an arbitrary hard-coded limit to trigger
  the window adjusting code. The adjustment used was also hard-coded and
  arbitrary, 15MB actually, which would limit the usability of libssh2 on
  systems with little RAM.
  
  This patch, uses the window_size parameter passed to
  libssh2_channel_open_ex (stored as remote.window_size_initial) plus the
  buflen as the base for the trigger and the adjustment calculation.
  
  The memory usage when using the default window size is reduced from 22MB
  to 256KB per channel (actually, if compression is used, these numbers
  should be incremented by ~50% to account for the errors between the
  decompressed packet sizes and the predicted sizes).
  
  My tests indicate that this change does not impact the performance of
  transfers across localhost or a LAN, being it on par with that of
  OpenSSH. On the other hand, it will probably slow down transfers on
  networks with high bandwidth*delay when the default window size
  (LIBSSH2_CHANNEL_WINDOW_DEFAULT=256KB) is used.
  
  Signed-off-by: Salvador Fandino <sfandino@yahoo.com>

- [Salvador Fandino brought this change]

  knownhosts: handle unknown key types
  
  Store but don't use keys of unsupported types on the known_hosts file.
  
  Currently, when libssh2 parses a known_host file containing keys of some
  type it doesn't natively support, it stops reading the file and returns
  an error.
  
  That means, that the known_host file can not be safely shared with other
  software supporting other key types (i.e. OpenSSH).
  
  This patch adds support for handling keys of unknown type. It can read
  and write them, even if they are never going to be matched.
  
  At the source level the patch does the following things:
  
  - add a new unknown key type LIBSSH2_KNOWNHOST_KEY_UNKNOWN
  
  - add a new slot (key_type_name) on the known_host struct that is
  used to store the key type in ascii form when it is not supported
  
  - parse correctly known_hosts entries with unknown key types and
  populate the key_type_name slot
  
  - print correctly known_hosts entries of unknown type
  
  - when checking a host key ignore keys that do not match the key
  
  Fixes #276

- windows build: fix build errors
  
  Fixes various link errors with VS2010
  
  Reported-by: "kdekker"
  Fixes #272

- man page: add missing function argument
  
  for libssh2_userauth_publickey_fromfile_ex()
  
  Reported-by: "pastey"
  
  Fixes #262

- [Salvador brought this change]

  Fix zlib deflate usage
  
  Deflate may return Z_OK even when not all data has been compressed
  if the output buffer becomes full.
  
  In practice this is very unlikely to happen because the output buffer
  size is always some KBs larger than the size of the data passed for
  compression from the upper layers and I think that zlib never expands
  the data so much, even on the worst cases.
  
  Anyway, this patch plays on the safe side checking that the output
  buffer is not exhausted.
  
  Signed-off-by: Salvador <sfandino@yahoo.com>

- [Salvador brought this change]

  comp_method_zlib_decomp: Improve buffer growing algorithm
  
  The old algorithm was O(N^2), causing lots and lots of reallocations
  when highly compressed data was transferred.
  
  This patch implements a simpler one that just doubles the buffer size
  everytime it is exhausted. It results in O(N) complexity.
  
  Also a smaller inflate ratio is used to calculate the initial size (x4).
  
  Signed-off-by: Salvador <sfandino@yahoo.com>

- [Salvador brought this change]

  Fix zlib usage
  
  Data may remain in zlib internal buffers when inflate() returns Z_OK
  and avail_out == 0. In that case, inflate has to be called again.
  
  Also, once all the data has been inflated, it returns Z_BUF_ERROR to
  signal that the input buffer has been exhausted.
  
  Until now, the way to detect that a packet payload had been completely
  decompressed was to check that no data remained on the input buffer
  but that didn't account for the case where data remained on the internal
  zlib buffers.
  
  That resulted in packets not being completely decompressed and the
  missing data reappearing on the next packet, though the bug was masked
  by the buffer allocation algorithm most of the time and only manifested
  when transferring highly compressible data.
  
  This patch fixes the zlib usage.
  
  Signed-off-by: Salvador <sfandino@yahoo.com>

- [Salvador brought this change]

  _libssh2_channel_read: fix data drop when out of window
  
  After filling the read buffer with data from the read queue, when the
  window size was too small, "libssh2_channel_receive_window_adjust" was
  called to increase it. In non-blocking mode that function could return
  EAGAIN and, in that case, the EAGAIN was propagated upwards and the data
  already read on the buffer lost.
  
  The function was also moving between the two read states
  "libssh2_NB_state_idle" and "libssh2_NB_state_created" both of which
  behave in the same way (excepting a debug statment).
  
  This commit modifies "_libssh2_channel_read" so that the
  "libssh2_channel_receive_window_adjust" call is performed first (when
  required) and if everything goes well, then it reads the data from the
  queued packets into the read buffer.
  
  It also removes the useless "libssh2_NB_state_created" read state.
  
  Some rotted comments have also been updated.
  
  Signed-off-by: Salvador <sfandino@yahoo.com>

- [Salvador Fandino brought this change]

  window_size: redid window handling for flow control reasons
  
  Until now, the window size (channel->remote.window_size) was being
  updated just after receiving the packet from the transport layer.
  
  That behaviour is wrong because the channel queue may grow uncontrolled
  when data arrives from the network faster that the upper layer consumes
  it.
  
  This patch adds a new counter, read_avail, which keeps a count of the
  bytes available from the packet queue for reading. Also, now the window
  size is adjusted when the data is actually read by an upper layer.
  
  That way, if the upper layer stops reading data, the window will
  eventually fill and the remote host will stop sending data. When the
  upper layers reads enough data, a window adjust packet is delivered and
  the transfer resumes.
  
  The read_avail counter is used to detect the situation when the remote
  server tries to send data surpassing the window size. In that case, the
  extra data is discarded.
  
  Signed-off-by: Salvador <sfandino@yahoo.com>

Peter Stuge (15 Sep 2013)
- configure.ac: Call zlib zlib and not libz in text but keep option names

- configure.ac: Reorder --with-* options in --help output

- configure.ac: Rework crypto library detection
  
  This further simplifies adding new crypto libraries.

- Clean up crypto library abstraction in build system and source code
  
  libssh2 used to explicitly check for libgcrypt and default to OpenSSL.
  
  Now all possible crypto libraries are checked for explicitly, making
  the addition of further crypto libraries both simpler and cleaner.

- configure.ac: Add zlib to Requires.private in libssh2.pc if using zlib

- Revert "Added Windows Cryptography API: Next Generation based backend"
  
  This reverts commit d385230e15715e67796f16f3e65fd899f21a638b.

Daniel Stenberg (7 Sep 2013)
- [Leif Salomonsson brought this change]

  sftp_statvfs: fix for servers not supporting statfvs extension
  
  Fixes issue arising when server does not support statfvs and or fstatvfs
  extensions. sftp_statvfs() and sftp_fstatvfs() after this patch will
  handle the case when SSH_FXP_STATUS is returned from server.

- [Marc Hoersken brought this change]

  Added Windows Cryptography API: Next Generation based backend

- [Kamil Dudka brought this change]

  partially revert "window_size: explicit adjustments only"
  
  This partially reverts commit 03ca9020756a4e16f0294e5b35e9826ee6af2364
  in order to fix extreme slowdown when uploading to localhost via SFTP.
  
  I was able to repeat the issue on RHEL-7 on localhost only.  It did not
  occur when uploading via network and it did not occur on a RHEL-6 box
  with the same version of libssh2.
  
  The problem was that sftp_read() used a read-ahead logic to figure out
  the window_size, but sftp_packet_read() called indirectly from
  sftp_write() did not use any read-ahead logic.

- _libssh2_channel_write: client spins on write when window full
  
  When there's no window to "write to", there's no point in waiting for
  the socket to become writable since it most likely just will continue to
  be.
  
  Patch-by: ncm
  Fixes #258

- _libssh2_channel_forward_cancel: avoid memory leaks on error
  
  Fixes #257

- _libssh2_packet_add: avoid using uninitialized memory
  
  In _libssh2_packet_add, called by _libssh2_packet_read, a call to
  _libssh2_packet_send that is supposed to send a one-byte message
  SSH_MSG_REQUEST_FAILURE would send an uninitialized byte upon re-entry
  if its call to _send returns _EAGAIN.
  
  Fixes #259

- _libssh2_channel_forward_cancel: accessed struct after free
  
  ... and the assignment was pointless anyway since the struct was about
  to be freed. Bug introduced in dde2b094.
  
  Fixes #268

Peter Stuge (2 Jun 2013)
- [Marc Hoersken brought this change]

  Fixed compilation using mingw-w64

- [Marc Hoersken brought this change]

  knownhost.c: use LIBSSH2_FREE macro instead of free
  
  Use LIBSSH2_FREE instead of free since
  _libssh2_base64_encode uses LIBSSH2_ALLOC

Daniel Stenberg (18 May 2013)
- [Matthias Kerestesch brought this change]

  libssh2_agent_init: init ->fd to LIBSSH2_INVALID_SOCKET
  
  ... previously it was left at 0 which is a valid file descriptor!
  
  Bug: https://trac.libssh2.org/ticket/265
  
  Fixes #265

- userauth_password: pass on the underlying error code
  
  _libssh2_packet_requirev() may return different errors and we pass that
  to the parent instead of rewriting it.
  
  Bug: http://libssh2.org/mail/libssh2-devel-archive-2013-04/0029.shtml
  Reported by: Cosmin

Peter Stuge (9 May 2013)
- [Marc Hoersken brought this change]

  libcrypt.c: Fix typo in _libssh2_rsa_sha1_sign() parameter type

Kamil Dudka (4 May 2013)
- configure.ac: replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS
  
  Reported by: Quintus
  Bug: https://trac.libssh2.org/ticket/261

Guenter Knauf (12 Apr 2013)
- Fixed copyright string for NetWare build.

Daniel Stenberg (9 Apr 2013)
- [Richard W.M. Jones brought this change]

  sftp: Add support for fsync (OpenSSH extension).
  
  The new libssh2_sftp_fsync API causes data and metadata in the
  currently open file to be committed to disk at the server.
  
  This is an OpenSSH extension to the SFTP protocol.  See:
  
  https://bugzilla.mindrot.org/show_bug.cgi?id=1798

- [Richard W.M. Jones brought this change]

  sftp: statvfs: Along error path, reset the correct 'state' variable.

- [Richard W.M. Jones brought this change]

  sftp: seek: Don't flush buffers on same offset
  
  Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

Guenter Knauf (9 Feb 2013)
- Updated dependency libs.

- Fixed tool macro names.

Daniel Stenberg (29 Nov 2012)
- [Seth Willits brought this change]

  compiler warnings: typecast strlen in macros
  
  ... in macro parameters to avoid compiler warnings about lost precision.
  
  Several macros in libssh2.h call strlen and pass the result directly to
  unsigned int parameters of other functions, which warns about precision
  loss because strlen returns size_t which is unsigned long on at least
  some platforms (such as OS X). The fix is to simply typecast the
  strlen() result to unsigned int.

- libssh2.h: bump version to 1.4.4-DEV

Version 1.4.3 (27 Nov 2012)

Daniel Stenberg (27 Nov 2012)
- RELEASE-NOTES: fixed for 1.4.3

- sftp_read: return error if a too large package arrives

Peter Stuge (13 Nov 2012)
- Only define _libssh2_dsa_*() functions when building with DSA support

Guenter Knauf (8 Nov 2012)
- Added .def file to output.

Kamil Dudka (1 Nov 2012)
- libssh2_hostkey_hash.3: update the description of return value
  
  The function returns NULL also if the hash algorithm is not available.

Guenter Knauf (24 Oct 2012)
- Fixed mode acciedently committed.

- Ignore generated file.

- Added hack to make use of Makefile.inc.
  
  This should avoid further maintainance of the objects list.

- Fixed MSVC NMakefile.
  
  Added missing source files; added resource for DLL.

Kamil Dudka (22 Oct 2012)
- examples: use stderr for messages, stdout for data
  
  Reported by: Karel Srot
  Bug: https://bugzilla.redhat.com/867462

- openssl: do not leak memory when handling errors
  
  ,.. in aes_ctr_init().  Detected by Coverity.

- channel: fix possible NULL dereference
  
  ... in libssh2_channel_get_exit_signal().  Detected by Coverity.

- Revert "aes: the init function fails when OpenSSL has AES support"
  
  This partially reverts commit f4f2298ef3635acd031cc2ee0e71026cdcda5864.
  
  We need to use the EVP_aes_???_ctr() functions in FIPS mode.

- crypt: use hard-wired cipher block sizes consistently

- openssl: do not ignore failure of EVP_CipherInit()

- kex: do not ignore failure of libssh2_md5_init()
  
  The MD5 algorithm is disabled when running in FIPS mode.

Daniel Stenberg (21 Aug 2012)
- [Peter Krempa brought this change]

  known_hosts: Fail when parsing unknown keys in known_hosts file.
  
  libssh2_knownhost_readfile() silently ignored problems when reading keys
  in unsupported formats from the known hosts file. When the file is
  written again from the internal structures of libssh2 it gets truntcated
  to the point where the first unknown key was located.
  
   * src/knownhost.c:libssh2_knownhost_readfile() - return error if key
                                                    parsing fails

- AUTHORS: synced with 42fec44c8a4
  
  31 recent authors added

- [Dave Hayden brought this change]

  compression: add support for zlib@openssh.com
  
  Add a "use_in_auth" flag to the LIBSSH2_COMP_METHOD struct and a
  separate "zlib@openssh.com" method, along with checking session->state
  for LIBSSH2_STATE_AUTHENTICATED. Appears to work on the OpenSSH servers
  I've tried against, and it should work as before with normal zlib
  compression.

- [Dmitry Smirnov brought this change]

  configure: gcrypt doesn't come with pkg-config support
  
  ... so use plain old -lgcrypt to the linker to link with it.
  
  Fixes #225

- sftp_read: Value stored to 'next' is never read
  
  Detected by clang-analyzer

- publickey_init: errors are negative, fix check
  
  Detected by clang-analyzer.

- [Maxime Larocque brought this change]

  session_free: wrong variable used for keeping state
  
  If libssh2_session_free is called without the channel being freed
  previously by libssh2_channel_free a memory leak could occur.
  
  A mismatch of states variables in session_free() prevent the call to
  libssh2_channel_free function. session->state member is used instead of
  session->free_state.
  
  It causes a leak of around 600 bytes on every connection on my systems
  (Linux, x64 and PPC).
  
  (Debugging done under contract for Accedian Networks)
  
  Fixes #246

Guenter Knauf (29 Jun 2012)
- Small NetWare makefile tweak.

- Some small Win32 makefile fixes.

Daniel Stenberg (19 Jun 2012)
- libssh2_userauth_publickey_fromfile_ex.3: mention publickey == NULL

- comp_method_zlib_decomp: handle Z_BUF_ERROR when inflating
  
  When using libssh2 to perform an SFTP file transfer from the "JSCAPE MFT
  Server" (http://www.jscape.com) the transfer failed. The default JSCAPE
  configuration is to enforce zlib compression on SSH2 sessions so the
  session was compressed. The relevant part of the debug trace contained:
  
   [libssh2] 1.052750 Transport: unhandled zlib error -5
   [libssh2] 1.052750 Failure Event: -29 - decompression failure
  
  The trace comes from comp_method_zlib_decomp() in comp.c. The "unhandled
  zlib error -5" is the status returned from the zlib function
  inflate(). The -5 status corresponds to "Z_BUF_ERROR".
  
  The inflate() function takes a pointer to a z_stream structure and
  "inflates" (decompresses) as much as it can. The relevant fields of the
  z_stream structure are:
  
    next_in - pointer to the input buffer containing compressed data
    avail_in - the number of bytes available at next_in
    next_out - pointer to the output buffer to be filled with uncompressed
               data
    avail_out - how much space available at next_out
  
  To decompress data you set up a z_stream struct with the relevant fields
  filled in and pass it to inflate(). On return the fields will have been
  updated so next_in and avail_in show how much compressed data is yet to
  be processed and next_out and avail_out show how much space is left in
  the output buffer.
  
  If the supplied output buffer is too small then on return there will be
  compressed data yet to be processed (avail_in != 0) and inflate() will
  return Z_OK. In this case the output buffer must be grown, avail_out
  updated and inflate() called again.
  
  If the supplied output buffer was big enough then on return the
  compressed data will have been exhausted (avail_in == 0) and inflate()
  will return Z_OK, so the data has all been uncompressed.
  
  There is a corner case where inflate() makes no progress. That is, there
  may be unprocessed compressed data and space available in the output
  buffer and yet the function does nothing. In this case inflate() will
  return Z_BUF_ERROR. From the zlib documentation and the source code it
  is not clear under what circumstances this happens. It could be that it
  needs to write multiple bytes (all in one go) from its internal state to
  the output buffer before processing the next chunk of input but but
  can't because there is not enough space (though my guesses as to the
  cause are not really relevant). Recovery from Z_BUF_ERROR is pretty
  simple - just grow the output buffer, update avail_out and call
  inflate() again.
  
  The comp_method_zlib_decomp() function does not handle the case when
  inflate() returns Z_BUF_ERROR. It treats it as a non-recoverable error
  and basically aborts the session.
  
  Fixes #240

Guenter Knauf (12 Jun 2012)
- MinGW makefile tweaks.
  
  Use GNU tools when compiling on Linux.
  Fixed dist and dev targets.

- NetWare makefile tweaks.
  
  Changed to use Windows commandline tools instead of
  GNU tools when compiling on Windows. Fixed dist and
  dev targets. Enabled nlmconv error for unresolved
  symbols.

Daniel Stenberg (11 Jun 2012)
- Revert "config.rpath: generated file, no need to keep in git"
  
  This reverts commit 1ac7bd09cc685755577fb2c8829adcd081e7ab3c.
  
  This file still used by lib/*m4 functions so we need to keep the file
  around.

- BINDINGS: added PySsh2, a Python-ctypes binding

Guenter Knauf (8 Jun 2012)
- Fixed MinGW debug build.

Daniel Stenberg (5 Jun 2012)
- BINDINGS: Added the Cocoa/Objective-C one
  
  ... and sorted the bindings after the languages, alphabetically
  
  Reported by: Mike Abdullah

- BINDINGS: document the bindings we know of

Guenter Knauf (4 Jun 2012)
- Fixed LIBSSH2_INT64_T_FORMAT macro.
  
  Usually a format macro should hold the whole format, otherwise
  it should be named a prefix. Also fixed usage of this macro in
  scp.c for a signed var where it was used as prefix for unsigned.

- Removed obsolete define from makefiles.

- Renamed NetWare makefiles.

- Renamed NetWare makefiles.

- Synced MinGW makefiles with 56c64a6..39e438f.
  
  Also synced MinGW test makefile with b092696..f8cb874.

Peter Stuge (30 May 2012)
- Revert "sftp: Don't send attrs.permissions on read-only SSH_FXP_OPEN"
  
  This reverts commit 04e79e0c798674a0796be8a55f63dd92e6877790.

- sftp: Don't send attrs.permissions on read-only SSH_FXP_OPEN
  
  This works around a protocol violation in the ProFTPD 1.3.4 mod_sftp
  server, as reported by Will Cosgrove in:
  
  http://libssh2.org/mail/libssh2-devel-archive-2012-05/0079.shtml
  
  Based on a suggested fix by TJ Saunders in:
  
  http://libssh2.org/mail/libssh2-devel-archive-2012-05/0104.shtml

Guenter Knauf (28 May 2012)
- Try to detect OpenSSL build type automatically.
  
  Also fixed recently added libgdi32 linkage which is only
  required when OpenSSL libs are linked statically.

Daniel Stenberg (25 May 2012)
- config.rpath: generated file, no need to keep in git

Guenter Knauf (22 May 2012)
- Updated dependency libary versions.

Daniel Stenberg (18 May 2012)
- 1.4.3: towards the future

Version 1.4.2 (18 May 2012)

Daniel Stenberg (18 May 2012)
- RELEASE-NOTES: synced with 92a9f952794

Alexander Lamaison (15 May 2012)
- win32/libssh2_config.h: Remove hardcoded #define LIBSSH2_HAVE_ZLIB.
  
  Rationale: Everything else in this file states a fact about the win32
  platform that is unconditional for that platform.  There is nothing
  unconditional about the presence of zlib.  It is neither included with
  Windows nor with the platform SDK.  Therefore, this is not an appropriate
  place to assert its presence.  Especially as, once asserted, it cannot be
  overridden using a compiler flag.
  
  In contrast, if it is omitted, then it can easily be reasserted by adding
  a compiler flag defining LIBSSH2_HAVE_ZLIB.

Daniel Stenberg (14 May 2012)
- RELEASE-NOTES: synced with 69a3354467c

- _libssh2_packet_add: SSH_MSG_CHANNEL_REQUEST default to want_reply
  
  RFC4254 says the default 'want_reply' is TRUE but the code defaulted to
  FALSE. Now changed.
  
  Fixes #233

- gettimeofday: no need for a replacement under cygwin
  
  Fixes #224

Alexander Lamaison (13 May 2012)
- Prevent sftp_packet_read accessing freed memory.
  
  sftp_packet_add takes ownership of the packet passed to it and (now that we
  handle zombies) might free the packet.  sftp_packet_read uses the packet type
  byte as its return code but by this point sftp_packet_add might have freed
  it.  This change fixes the problem by caching the packet type before calling
  sftp_packet_add.
  
  I don't understand why sftp_packet_read uses the packet type as its return
  code.  A future change might get rid of this entirely.

Daniel Stenberg (12 May 2012)
- sftp_packet_flush: flush zombies too
  
  As this function is called when the SFTP session is closed, it needs to
  also kill all zombies left in the SFTP session to avoid leaking memory
  just in case some zombie would still be in there.

- sftp_packetlist_flush: zombies must not have responses already
  
  When flushing the packetlist, we must only add the request as a zombie
  if no response has already been received. Otherwise we could wrongly
  make it a zombie even though the response was already received and then
  we'd get a zombie stuck there "forever"...

- sftp_read: on EOF remove packet before flush
  
  Since the sftp_packetlist_flush() function will move all the existing
  FXP_READ requests in this handle to the zombie list we must first remove
  this just received packet as it is clearly not a zombie.

- sftp_packet_require: sftp_packet_read() returning 0 is not an error
  
  Exactly as the comment in the code said, checking the return code from
  sftp_packet_read() with <= was wrong and it should be < 0. With the new
  filtering on incoming packets that are "zombies" we can now see this
  getting zero returned.

- sftp_packetlist_flush: only make it zombie if it was sent
  
  The list of outgoing packets may also contain packets that never were
  sent off and we better not make them zombies too.

- [Alexander Lamaison brought this change]

  Mark outstanding read requests after EOF as zombies.
  
  In order to be fast, sftp_read sends many read requests at once.  With a small
  file, this can mean that when EOF is received back, many of these requests are
  still outstanding.  Responses arriving after we close the file and abandon the
  file handle are queued in the SFTP packet queue and never collected.  This
  causes transfer speed to drop as a progressively longer queue must be searched
  for every packet.
  
  This change introduces a zombie request-ID list in the SFTP session that is
  used to recognise these outstanding requests and prevent them being added to
  the queue.

Peter Stuge (23 Apr 2012)
- [Rafael Kitover brought this change]

  Update win32/GNUmakefile to use OpenSSL 1.0.1a
  
  libcrypto on win32 now depends on gdi32.dll, so move the OpenSSL LDLIBS
  block to before the compiler definitions, so that libcrypto gets added
  first, and then add -lgdi32 into the following common LDLIBS for gcc.

Guenter Knauf (23 Apr 2012)
- Changed 'Requires' to 'Requires.private'.
  
  Only static builds need to link against the crypto libs.

- Fixed 'Requires:' names.
  
  The 'Requires:' line lists the names of the .pc files.

- Added 'Requires:' line to libssh2.pc.
  
  This is necessary so that other libs which lookup libssh2 info
  via pkg-config can add the right crypto lib dependencies.

- Updated dependency lib versions.

Peter Stuge (18 Apr 2012)
- configure.ac: Add option to disable build of the example applications
  
  Examples are built by default. Any of the following options on the
  configure command line will skip building them:
  
    --disable-examples-build
    --enable-examples-build=no
    --enable-examples-build=false

- userauth.c: fread() from public key file to correctly detect any errors
  
  If the filename parameter for file_read_publickey() was the name of a
  directory instead of a file then libssh2 would spin trying to fgetc()
  from the FILE * for the opened directory when trying to determine the
  length of the encoded public key, since fgetc() can't report errors.
  
  Use fread() instead to correctly detect this error condition along
  with many others.
  
  This fixes the problem reported in
  http://www.libssh2.org/mail/libssh2-devel-archive-2012-04/0021.shtml
  
  Reported-by: Oleksiy Zagorskyi <zalex_ua@i.ua>

- Return LIBSSH2_ERROR_SOCKET_DISCONNECT on EOF when reading banner

Guenter Knauf (17 Apr 2012)
- Fixed copyright year.

- Updated dependency lib versions in static makefiles.

Daniel Stenberg (6 Apr 2012)
- version: bump to 1.4.2
  
  We're on the 1.4.2 track now (at least)

Version 1.4.1 (4 Apr 2012)

Daniel Stenberg (4 Apr 2012)
- RELEASE-NOTES: updated for 1.4.1 release

- always do "forced" window updates
  
  When calling _libssh2_channel_receive_window_adjust() internally, we now
  always use the 'force' option to prevent libssh2 to avoid sending the
  update if the update isn't big enough.
  
  It isn't fully analyzed but we have seen corner cases which made a
  necessary window update not get send due to this and then the other side
  doesn't send data our side then sits waiting for forever.

- channel_read: force window adjusts!
  
  if there's not enough room to receive the data that's being requested,
  the window adjustment needs to be sent to the remote and thus the force
  option has to be used. _libssh2_channel_receive_window_adjust() would
  otherwise "queue" small window adjustments for a later packet but that
  is really terribly for the small buffer read that for example is the
  final little piece of a very large file as then there is no logical next
  packet!
  
  Reported by: Armen Babakhanian
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2012-03/0130.shtml

- [Paul Howarth brought this change]

  aes: the init function fails when OpenSSL has AES support
  
  The internal init function only worked fine when the configure script
  didn't detect the OpenSSL AES_CTR function!
  
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2012-03/0111.shtml
  Reported by: Paul Howarth

- [Matthew Booth brought this change]

  transport_send: Finish in-progress key exchange before sending data
  
  _libssh2_channel_write() first reads outstanding packets before writing
  new data. If it reads a key exchange request, it will immediately start
  key re-exchange, which will require sending a response. If the output
  socket is full, this will result in a return from
  _libssh2_transport_read() of LIBSSH2_ERROR_EAGAIN. In order not to block
  a write because there is no data to read, this error is explicitly
  ignored and the code continues marshalling a packet for sending. When it
  is sent, the remote end immediately drops the connection because it was
  expecting a continuation of the key exchange, but got a data packet.
  
  This change adds the same check for key exchange to
  _libssh2_transport_send() that is in _libssh2_transport_read(). This
  ensures that key exchange is completed before any data packet is sent.

- channel_write: acknowledge transport errors
  
  When draining data off the socket with _libssh2_transport_read() (which
  in turn has to be done so that we can be sure to have read any possible
  window-increasing packets), this code previously ignored errors which
  could lead to nasty loops. Now all error codes except EAGAIN will cause
  the error to be returned at once.
  
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2012-03/0068.shtml
  Reported by: Matthew Booth

- [Steven Dake brought this change]

  In examples/x11.c, Make sure sizeof passed to read operation is correct
  
  sizeof(buf) expands to 8 or 4 (since its a pointer).  This variable may
  have been static in the past, leading to this error.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  Fix suspicious sizeof usage in examples/x11.c
  
  In the x11 example, sizeof(buf) = 8UL (on x86_64), when this should
  probably represent the buffer size available.  I am not sure how to
  test that this change is actually correct, however.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- sftp_packet_read: follow-up fix for EAGAIN/window adjust
  
  The commit in 7194a9bd7ba45 wasn't complete. This change makes sure
  variables are initialized properly before used in the EAGAIN and window
  adjust cases.

- sftp_packet_add: use named error code instead of number

- sftp_packet_add: verify the packet before accepting it
  
  In order to bail out as quickly as possible when things are wrong and
  out of sync, make sure the SFTP message is one we understand.

- SFTP: preserve the original error code more
  
  Lots of places in the code translated the original error into the more
  generic LIBSSH2_ERROR_SOCKET_TIMEOUT but this turns out to distort the
  original error reason a lot and makes tracking down the real origin of a
  problem really hard. This change makes the original error code be
  preserved to a larger extent when return up to the parent function.

- sftp_packet_read: adjust window size as necessary
  
  Commit 03ca9020756 tried to simplify the window sizing logic but broke
  SFTP readdir as there was no window sizing code left there so large
  directory listings no longer worked.
  
  This change introduces window sizing logic to the sftp_packet_read()
  function so that it now tells the remote about the local size having a
  window size that suffice when it is about to ask for directory data.
  
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2012-03/0069.shtml
  Reported by: Eric

- [Steven Dake brought this change]

  Tell C compiler we don't care about return code of libssh2_init
  
  The call of libssh2_init returns a return code, but nothing could be done
  within the _libssh2_init_if_needed execution path.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  Add comment indicating a resource leak is not really a resource leak
  
  While possibly obvious to those investigating the code, coverity complains
  about this out of scope leak.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  Use safer snprintf rather then sprintf in scp_send()
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  Use safer snprintf rather then sprintf in scp_recv()
  
  While the buffer is indeed allocated to a safe length, better safe then sorry.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  use snprintf in knownhost_writeline() rather then sprintf
  
  Although the function checks the length, if the code was in error, there
  could potentially be a buffer overrun with the use of sprintf.  Instead replace
  with snprintf.
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

- [Steven Dake brought this change]

  Add tracing to print packets left on session at libssh2_session_free
  
  Signed-off-by: Steven Dake <sdake@redhat.com>

Peter Stuge (2 Mar 2012)
- Define and use LIBSSH2_INVALID_SOCKET instead of INVALID_SOCKET
  
  INVALID_SOCKET is a special value in Windows representing a
  non-valid socket identifier. We were #defining this to -1 on
  non-Windows platforms, causing unneccessary namespace pollution.
  Let's have our own identifier instead.
  
  Thanks to Matt Lawson for pointing this out.

- nw/Makefile.netware: Fix project name typo to avoid needless confusion

- example/x11: Set raw terminal mode manually instead of with cfmakeraw()
  
  OpenSolaris has no cfmakeraw() so to make the example more portable
  we simply do the equivalent operations on struct termios ourselves.
  
  Thanks to Tom Weber for reporting this problem, and finding a solution.

Daniel Stenberg (17 Feb 2012)
- sftp_write: cannot return acked data *and* EAGAIN
  
  Whenever we have acked data and is about to call a function that *MAY*
  return EAGAIN we must return the number now and wait to get called
  again. Our API only allows data *or* EAGAIN and we must never try to get
  both.

Peter Stuge (13 Feb 2012)
- example/x11: Build only when sys/un.h is found by configure
  
  The example can't be built on systems without AF_UNIX sockets.

Daniel Stenberg (10 Feb 2012)
- [Alexander Lamaison brought this change]

  Simplified sftp_read.
  
  Removed the total_read variable that originally must have tracked how
  much data had been written to the buffer.  With non-blocking reads, we
  must return straight away once we have read data into the buffer so this
  variable served not purpose.
  
  I think it was still hanging around in case the initial processing of
  'leftover' data meant we wrote to the buffer but this case, like the
  others, must return immediately.  Now that it does, the last remaining
  need for the variable is gone.

- [Alexander Lamaison brought this change]

  Cleaned up sftp_read and added more explanation.
  
  Replaced the gotos which were implementing the state machine with
  a switch statement which makes the states more explicit.

- sftp_read: avoid data *and* EAGAIN
  
  Whenever we have data and is about to call a function that *MAY* return
  EAGAIN we must return the data now and wait to get called again. Our API
  only allows data *or* EAGAIN and we must never try to get both.

Peter Stuge (2 Feb 2012)
- Add a tcpip-forward example which demonstrates remote port forwarding

- libssh2.h: Add missing prototype for libssh2_session_banner_set()

- example/subsystem_netconf.c: Return error when read buffer is too small
  
  Also remove a little redundancy in the read loop condition.

- example/subsystem_netconf.c: Add a missing newline in an error message

- Fix undefined reference to _libssh_error in libgcrypt backend
  
  Commit 209de22299b4b58e582891dfba70f57e1e0492db introduced a function
  call to a non-existing function, and since then the libgcrypt backend
  has not been buildable.

Version 1.4.0 (31 Jan 2012)

Daniel Stenberg (31 Jan 2012)
- RELEASE-NOTES: synced with 6bd584d29 for 1.4.0

- s/1.3.1/1.4.0
  
  We're bumping the minor number

- [Jernej Kovacic brought this change]

  libssh2_session_supported_algs: fix compiler warning

- [Jernej Kovacic brought this change]

  session_supported_algs docs: added an example

- [Gellule Xg brought this change]

  sftp-seek: clear EOF flag
  
  Set the EOF flag to False when calling seek64 to be able to get some
  data back on a following read

- [Peter Krempa brought this change]

  userauth: Provide more informations if ssh pub key extraction fails
  
  If the function that extracts/computes the public key from a private key
  fails the errors it reports were masked by the function calling it. This
  patch modifies the key extraction function to return errors using
  _libssh_error() function.  The error messages are tweaked to contain
  reference to the failed operaton in addition to the reason.
  
   * AUTHORS: - add my name
   * libgcrypt.c: _libssh2_pub_priv_keyfile(): - return a more verbose
                                                 error using
                                                 _libssh2_error() func.
   * openssl.c: - modify call graph of _libssh2_pub_priv_keyfile() to use
                  _libssh2_error for error reporting();
   * userauth.c: - tweak functions calling _libssh2_pub_priv_keyfile() not
                   to shadow error messages

- TODO: remove issues we (sort of) did already

- ssh2_exec: skip error outputs for EAGAIN
  
  Since the example uses non-blocking mode, it will just flood the output
  with this "nonsense" error.

Guenter Knauf (30 Nov 2011)
- Some NetWare makefile tweaks.

Daniel Stenberg (18 Nov 2011)
- LIBSSH2_SFTP_PACKET_MAXLEN: increase to 80000
  
  Some SFTP servers send SFTP packets larger than 40000. Since the limit
  is only present to avoid insane sizes anyway, we can easily bump it.
  
  The define was formerly in the public header libssh2_sftp.h but served
  no external purpose and was moved into the source dir.
  
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2011-11/0004.shtml
  Reported by: Michael Harris

Alexander Lamaison (18 Nov 2011)
- [Peter Krempa brought this change]

  knownhost_check(): Don't dereference ext if NULL is passed
  
  Documentation for libssh2_knownhost_checkp() and related functions
  states that the last argument is filled with data if non-NULL.
  
  "knownhost if set to non-NULL, it must be a pointer to a 'struct
  libssh2_knownhost' pointer that gets filled in to point to info about a
  known host that matches or partially matches."
  
  In this function ext is dereferenced even if set to NULL, causing
  segfault in applications not needing the extra data.

Daniel Stenberg (11 Nov 2011)
- [Peter Krempa brought this change]

  knownhost_add: Avoid dereferencing uninitialized memory on error path.
  
  In function knownhost_add, memory is alocated for a new entry. If normal
  alocation is used, memory is not initialized to 0 right after, but a
  check is done to verify if correct key type is passed. This test is done
  BEFORE setting the memory to null, and on the error path function
  free_host() is called, that tries to dereference unititialized memory,
  resulting into a glibc abort().
  
   * knownhost.c - knownhost_add(): - move typemask check before alloc

- windows build: add define to avoid compiler warning
  
  A recent mingw compiler has started to complain on "#warning Please
  include winsock2.h before windows.h" unless the magic define is set
  first.
  
  Reported by: Vincent Torri
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2011-10/0064.shtml

Henrik Nordstrom (31 Oct 2011)
- [Vincent Torri brought this change]

  Correct Windows include file name case, simplifying cross-compilation
  
  When cross compiling to Windows, libssh2.h include Windows header files
  with upper case filenames : BaseTsd.h and WinSock2.h.
  
  These files have lowercase names with mingw-w64 (iirc, it's the same with
  mingw). And as on Windows, being lowercase or uppercase does not matter.

Daniel Stenberg (25 Oct 2011)
- [Jernej Kovacic brought this change]

  libssh2_session_supported_algs: added

- [Kamil Dudka brought this change]

  example/sftp_RW_nonblock: do not ignore LIBSSH2_ERROR_EAGAIN
  
  Bug: https://bugzilla.redhat.com/745420

Peter Stuge (5 Oct 2011)
- example/ssh2_agent: Print host key fingerprint before authentication
  
  Also moves the comment about not being authenticated to before the
  agent authentication takes place, so that it better matches the code.

Daniel Stenberg (29 Sep 2011)
- OpenSSL EVP: fix threaded use of structs
  
  Make sure we don't clear or reset static structs after first init so
  that they work fine even when used from multiple threads. Init the
  structs in the global init.
  
  Help and assistance by: John Engstrom
  
  Fixes #229 (again)

- openssl: don't init static structs differently
  
  make_ctr_evp() is changed to take a struct pointer, and then each
  _libssh2_EVP_aes_[keylen]_ctr function is made to pass in their own
  static struct
  
  Reported by: John Engstrom
  Fixes #229

Guenter Knauf (27 Sep 2011)
- Removed obsolete include path.

Daniel Stenberg (21 Sep 2011)
- read_state: clear the state variable better
  
  Set read_state back to idle before trying to send anything so that if
  the state somehow is wrongly set.
  
  Also, avoid such a case of confusion by resetting the read_state when an
  sftp handle is closed.

- sftp_read: remove leftover fprintf
  
  Reported by: Alexander Lamaison

- sftp.h: fix the #ifdef to prevent multiple inclusions

- sftp_read: use a state variable to avoid bad writes
  
  When a channel_write call has gotten an EAGAIN back, we try harder to
  continue the same write in the subsequent invoke.

- window_size: explicit adjustments only
  
  Removed the automatic window_size adjustments from
  _libssh2_channel_read() and instead all channel readers must now make
  sure to enlarge the window sizes properly themselves.
  
  libssh2_channel_read_ex() - the public function, now grows the window
  size according to the requested buffer size. Applications can still opt
  to grow the window more on demand. Larger windows tend to give higher
  performance.
  
  sftp_read() now uses the read-ahead logic to figure out a window_size.

- libssh2.h: bump the default window size to 256K

- libssh2_userauth_keyboard_interactive.3: fix man warning
  
  It seemed to occur due to the excessive line length

- [Mikhail Gusarov brought this change]

  Add missing .gitignore entries

- [Mikhail Gusarov brought this change]

  Add manpage syntax checker to 'check' target
  
  In virtually every libssh2 release Debian's lintian catches syntax errors in
  manpages. Prevent it by checking manpages as a part of testsuite.

- libssh2_banner_set.3: fix nroff syntax mistake

Guenter Knauf (10 Sep 2011)
- Use predefined resource compiler macro.

- Added casts to silent compiler warnings.

- Fixed uint64_t printf.

- Fixed macro function signatures.

- NetWare makefile tweaks.

- Removed unused var.

- Added 2 samples not mentioned.

- Dont build x11 sample with MinGW.

- Fixed executable file description.

- Removed unused var.

- Kill stupid gcc 3.x uninitialized warning.

- Build all examples.

- More MinGW makefile tweaks.
  
  Renamed *.mingw makefiles to GNUmakefile since GNU make picks these
  up automatically, and therefore win32/Makefile removed.

- Removed forgotten WINSOCK_VERSION defines.

Daniel Stenberg (9 Sep 2011)
- libssh2_session_startup(3) => libssh2_session_handshake(3)
  
  Propagate for the current function in docs and examples.
  libssh2_session_startup() is deprecated.

- libssh2_banner_set => libssh2_session_banner_get
  
  Marked the old function as deprecated. Added the new name in the correct
  name space with the same arguments and functionality.

- new function: libssh2_session_banner_get
  
  Returns the banner from the server handshake
  
  Fixes #226

- libssh2.h: bump version to 1.4.0 for new function(s)

- remove embedded CVS/svn tags

- [liuzl brought this change]

  API add:libssh2_sftp_get_channel
  
  Return the channel of sftp, then caller can
  control the channel's behavior.
  
  Signed-off-by: liuzl <xieepp@gmail.com>

- _libssh2_channel_read: react on errors from receive_window_adjust
  
  Previously the function would ignore all errors except for EAGAIN.

- sftp_read: extend and clarify the documentation

- sftp_read: cap the read ahead maximum amount
  
  Now we only go up to LIBSSH2_CHANNEL_WINDOW_DEFAULT*30 bytes SFTP read
  ahead, which currently equals 64K*30 == 1966080 bytes.

- _libssh2_channel_read: fix non-blocking window adjusting
  
  If EAGAIN is returned when adjusting the receive window, we must not
  read from the transport directly until we've finished the adjusting.

Guenter Knauf (8 Sep 2011)
- Fix for systems which need sys/select.h.

- The files were not gone but renamed ...

Daniel Stenberg (6 Sep 2011)
- sftp_read: added documenting comment
  
  Taken from some recent email conversations I added some descriptions of
  the logic in sftp_read() to aid readers.

- 1.3.1: start the work

Version 1.3.0 (6 Sep 2011)

Daniel Stenberg (6 Sep 2011)
- Makefile.am: the Makefile.win32 files are gone

- RELEASE-NOTES: updated for 1.3.0

- sftp_read: a short read is not end of file
  
  A returned READ packet that is short will now only reduce the
  offset.
  
  This is a temporary fix as it is slightly better than the previous
  approach but still not very good.

- [liuzl brought this change]

  _libssh2_packet_add: adjust window size when truncating
  
  When receiving more data than what the window size allows on a
  particular channel, make sure that the window size is adjusted in that
  case too. Previously it would only adjust the window in the non-error
  case.

Guenter Knauf (29 Aug 2011)
- Silent compiler warning with MinGW64.

- Fixed link to native Win32 awk tool.

- Renamed MinGW makefiles.

- Some MinGW makefile tweaks.
  
  Enable build witshare/doc/alt-libssh2/ChangeLog000064400000000011150506011200012267 0ustar00d" that hshare/doc/alt-libssh2/NEWS000064400000551116150506011200011235 0ustar00ik Nordstrom brought this change]

  Document prototypes for macro defined functions

- [Henrik Nordstrom brought this change]

  Avoid reuse after free when closing X11 channels

- _libssh2_channel_write: handle window_size == 0 better
  
  When about to send data on the channel and the window size is 0, we must
  not just return 0 if the transport_read() function returned EAGAIN as it
  then causes a busy-loop.
  
  Bug: http://libssh2.org/mail/libssh2-devel-archive-2011-08/0011.shtml

- gettimeofday: fix name space pollution
  
  For systems without its own gettimeofday() implementation, we still must
  not provide one outside our namespace.
  
  Reported by: Bill Segall

Dan Fandrich (5 Aug 2011)
- libssh2.pc.in: Fixed spelling in pkgconfig file

Peter Stuge (17 Jul 2011)
- example/subsystem_netconf.c: Add missing #include <string.h>

- example/subsystem_netconf.c: Discard ]]>]]> and return only XML response

- example/subsystem_netconf.c: Fix uninitialized variable bug

- example: Add subsystem_netconf.c
  
  This example demonstrates how to use libssh2 to send a request to
  the NETCONF subsystem available e.g. in JunOS.
  
  See also http://tools.ietf.org/html/draft-ietf-netconf-ssh-06

Daniel Stenberg (16 Jul 2011)
- man page cleanups: non-existing functions need no man pages

- libssh2_new_host_entry.3: removed
  
  This is just junk leftovers.

- userauth_keyboard_interactive: fix buffer overflow
  
  Partly reverse 566894494b4972ae12 which was simplifying the code far too
  much and ended up overflowing a buffer within the LIBSSH2_SESSION
  struct. Back to allocating the buffer properly like it used to do.
  
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2011-06/0032.shtml
  Reported by: Alfred Gebert

- keyboard-interactive man page: cleaned up

- [Alfred Gebert brought this change]

  _libssh2_recv(): handle ENOENT error as EAGAIN
  
  A sftp session failed with error "failure establishing ssh session" on
  Solaris and HP-UX. Sometimes the first recv() function call sets errno
  to ENOENT. In the man pages for recv of Solaris and HP-UX the error
  ENOENT is not documented.
  
  I tested Solaris SPARC and x86, HP-UX i64, AIX, Windows and Linux.

- agent_list_identities: fix out of scope access
  
  An auto variable out of scope was being referenced and used.
  
  fixes #220

- _libssh2_wait_socket: fix timeouts for poll() uses

- windows: inclusion fix
  
  include winsock2.h for all windows compilers

- keyb-interactive: add the fixed buffer
  
  Belongs to commit 5668944

- code cleanup: don't use C99/c++ comments
  
  We aim for C89 compliance

- keyb-interactive: allow zero length fields
  
  Allow zero length fields so they don't cause malloc(0) calls
  
  Avoid free()ing NULL pointers
  
  Avoid a malloc of a fixed 5 byte buffer.

- libssh2_channel_process_startup.3: clean up
  
  Remove the references to the macro-fied shortcuts as they have their own
  individual man pages.
  
  Made the prototype different and more readable.

- man page: fix .BR lines
  
  We don't use \fI etc on .BR lines

- userauth_keyboard_interactive: skip code on zero length auth

- libssh2_channel_forward_accept.3: mention how to get error
  
  Since this returns a pointer, libssh2_session_last_errno() must be used
  to get the actual error code and it wasn't that clear before.

- timeout docs: mention they're added in 1.2.9

- sftp_write_sliding.c: indent fix
  
  Use the standard indenting and removed CVS leftover comment

- [zl liu brought this change]

  sftp_write_sliding: send the complete file
  
  When reaching the end of file there can still be data left not sent.

- [Douglas Masterson brought this change]

  session_startup: init state properly
  
  libssh2_session_startup() didn't set the state correctly so it could get
  confused.
  
  Fixes #218

- timeout: added man pages

- BLOCK_ADJUST_ERRNO: move rc to right level
  
  We can't declare the variable within the block and use it in the final
  do-while() expression to be properly portable C89.

- [Matt Lilley brought this change]

  adds a timeout to blocking calls
  
  Fixes bug #160 as per Daniel's suggestion
  
  Adds libssh2_session_set_timeout() and libssh2_session_get_timeout()

- SCP: fix incorrect error code
  
  After an error occurs in libssh2_scp_recv() or libssh2_scp_send(), the
  function libssh2_session_last_error() would return
  LIBSSH2_ERROR_SOCKET_NONE on error.
  
  Bug: http://trac.libssh2.org/ticket/216
  Patch by: "littlesavage"
  
  Fixes #216

Guenter Knauf (19 Apr 2011)
- Updated default (recommended) dependency versions.

Daniel Stenberg (17 Apr 2011)
- libssh2_session_block_directions: fix mistake
  
  The last LIBSSH2_SESSION_BLOCK_INBOUND should be
  LIBSSH2_SESSION_BLOCK_OUTBOUND
  
  And I shortened the short description
  
  Reported by: "drswinghead"

- msvcproj: added libs and debug stuff
  
  Added libraries needed to link whether using openssl dynamically or
  statically
  
  Added LIBSSH2DEBUG define to debug versions to enable tracing
  
  URL: http://trac.libssh2.org/ticket/215
  Patch by: Mark Smith

- sftp_write: clean offsets on error
  
  When an error has occurred on FXP_WRITE, we must make sure that the
  offset, sent offset and acked counter are reset properly.

- example/.gitignore: ignore built binaries

- sftp_write: flush the packetlist on error
  
  When an error occurs during write, flush the entire list of pending
  outgoing SFTP packets.

- keepalive: add first basic man pages
  
  Someone on IRC pointed out that we don't have these documented so I
  wrote up a first set based on the information in the wiki:
  http://trac.libssh2.org/wiki/KeepAlive

- scp_write_nonblock.c: remove pointless check
  
  libssh2_channel_write() cannot return a value that is larger than the
  input length value

Mikhail Gusarov (9 Apr 2011)
- s/\.NF/.nf/ to fix wrong macro name caught by man --warnings

Daniel Stenberg (6 Apr 2011)
- version: bump to 1.2.9_dev
  
  Also update the copyright year range to include 2011

- configure: fix $VERSION
  
  Stop using the $VERSION variable as it seems to be magically used by
  autoconfig itself and thus gets set to the value set in AC_INIT()
  without us wanting that. $LIBSSH2VER is now the libssh2 version as
  detected.
  
  Reported by: Paul Howarth
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2011-04/0008.shtml

- maketgz: use git2news.pl by the correct name

Version 1.2.8 (4 Apr 2011)

Daniel Stenberg (4 Apr 2011)
- RELEASE-NOTES: synced with fabf1a45ee

- NEWS: auto-generated from git
  
  Starting now, the NEWS file is generated from git using the git2news.pl
  script. This makes it always accurate and up-to-date, even for daily
  snapshots etc.

- sftp_write: handle FXP_WRITE errors
  
  When an sftp server returns an error back on write, make sure the
  function bails out and returns the proper error.

- configure: stop using the deprecated AM_INIT_AUTOMAKE syntax

Alexander Lamaison (13 Mar 2011)
- Support unlimited number of host names in a single line of the known_hosts file.
  
  Previously the code assumed either a single host name or a hostname,ip-address pair.  However, according to the spec [1], there can be any number of comma separated host names or IP addresses.
  
  [1] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8

Daniel Stenberg (26 Feb 2011)
- libssh2_knownhost_readfile.3: clarify return value
  
  This function returns the number of parsed hosts on success, not just
  zero as previously documented.

Peter Stuge (26 Feb 2011)
- Don't save allocated packet size until it has actually been allocated
  
  The allocated packet size is internal state which needs to match reality
  in order to avoid problems. This commit fixes #211.

Daniel Stenberg (21 Feb 2011)
- [Alfred Gebert brought this change]

  session_startup: manage server data before server identification
  
  Fix the bug that libssh2 could not connect if the sftp server
  sends data before sending the version string.
  
  http://tools.ietf.org/html/rfc4253#section-4.2
  
  "The server MAY send other lines of data before sending the version
  string.  Each line SHOULD be terminated by a Carriage Return and Line
  Feed.  Such lines MUST NOT begin with "SSH-", and SHOULD be encoded
  in ISO-10646 UTF-8 [RFC3629] (language is not specified).  Clients
  MUST be able to process such lines."

- [Alfred Gebert brought this change]

  fullpacket: decompression only after init
  
  The buffer for the decompression (remote.comp_abstract) is initialised
  in time when it is needed.  With this fix decompression is disabled when
  the buffer (remote.comp_abstract) is not initialised.
  
  Bug: http://trac.libssh2.org/ticket/200

- _libssh2_channel_read: store last error
  
  When the transport layer returns EAGAIN this function didn't call
  _libssh2_error() which made the last_error not get set.

- sftp_write: clarified the comment header

- sftp_read: avoid wrapping counter to insanity
  
  As pointed out in bug #206, if a second invoke of libssh2_sftp_read()
  would shrink the buffer size, libssh2 would go nuts and send out read
  requests like crazy. This was due to an unsigned variable turning
  "negative" by some wrong math, and that value would be the amount of
  data attempt to pre-buffer!
  
  Bug: http://trac.libssh2.org/ticket/206

- sftp_packet_read: use 32bit variables for 32bit data

- libssh2_sftp_stat_ex.3: cleaned up, extended
  
  Removed the macros from it as they have their own man pages.
  
  Added the LIBSSH2_SFTP_ATTRIBUTES struct in here for easier reference.

- sftp_readdir: return error if buffer is too small
  
  If asked to read data into a buffer and the buffer is too small to hold
  the data, this function now returns an error instead of as previously
  just copy as much as fits.

- sftp_symlink: return error if receive buffer too small
  
  and clean up some variable type mismatches
  
  Discussion: http://www.libssh2.org/mail/libssh2-devel-archive-2011-01/0001.shtml

- docs: clarify what happens with a too small buffer
  
  This flaw is subject to change, but I figured it might be valuable to
  users of existing code to know how it works.

- channel_request_pty_size: fix reqPTY_state
  
  The state variable isn't properly set so every other call to the
  function fails!
  
  Bug: http://libssh2.org/mail/libssh2-devel-archive-2010-12/0096.shtml
  Reported by: Steve Legg

- data size: cleanup
  
  Fix 64bit warnings by using (s)size_t and dedicated uint32_t types more.

- [Pierre Joye brought this change]

  ssize_t: proper typedef with MSVC compilers
  
  As discussed on the mailing list, it was wrong for win64 and using the
  VC-provided type is the safest approach instead of second- guessing
  which one it should be.

Guenter Knauf (22 Dec 2010)
- Updated OpenSSL version.

- Expanded tabs to spaces.

Peter Stuge (21 Dec 2010)
- [Joey Degges brought this change]

  _libssh2_ntohu64: fix conversion from network bytes to uint64
  
  Cast individual bytes to uint64 to avoid overflow in arithmetic.

Daniel Stenberg (20 Dec 2010)
- libssh2_userauth_list: language fix
  
  "faily" is not a good English word, and I also cleaned up some other minor
  mistakes

- crypto: unify the generic functions
  
  Added crypto.h that is the unified header to include when using crypto
  functionality. It should be the only header that needs to adapt to the
  underlying crypto library in use. It provides the set of prototypes that
  are library agnostic.

- [Mark Smith brought this change]

  userauth: derive publickey from private
  
  Pass a NULL pointer for the publickey parameter of
  libssh2_userauth_publickey_fromfile and
  libssh2_userauth_hostbased_fromfile functions.  In this case, the
  functions recompute the public key from the private key file data.
  
  This is work done by Jean-Louis CHARTON
  <Jean-Louis.CHARTON@oikialog.com>, then adapted by Mark Smith and
  slightly edited further by me Daniel.
  
  WARNING: this does leave the feature NOT WORKING when libssh2 is built
  to use libgcrypt instead of OpenSSL simply due to lack of
  implementation.

- ssh2_echo: Value stored to 'exitcode' is never read

- _libssh2_packet_add: fix SSH_MSG_DEBUG weirdness
  
  I believe I may have caused this weird typo style error when I cleaned
  up this function a while ago. Corrected now.

- uint32: more longs converted to proper types
  
  I also moved the MAC struct over to the mac.h header file and made sure
  that the users of that struct include that file.

- SFTP: more types to uint32_t
  
  The 'num_names' field in the SSH_FXP_NAME response is an unsigned 32bit
  value so we make sure to treat it like that.

- SFTP: request_ids are uint32_t
  
  I went over the code and made sure we use uint32_t all over for the
  request_id data. It is an unsigned 32bit value on the wire.

- SFTP: store request_id separately in packets
  
  By using a new separate struct for incoming SFTP packets and not sharing
  the generic packet struct, we can get rid of an unused field and add a
  new one dedicated for holding the request_id for the incoming
  package. As sftp_packet_ask() is called fairly often, a "mere" integer
  comparison is MUCH faster than the previous memcmp() of (typically) 5
  bytes.

- libssh2_sftp_open_ex: man page extended and cleaned up
  
  I added the missing documentation for the 'flags' argument.

- SFTP: unify the READ/WRITE chunk structs

- SFTP: fix memory leaks
  
  Make sure that we cleanup remainders when the handle is closed and when
  the subsystem is shutdown.
  
  Existing flaw: if a single handle sends packets that haven't been
  replied to yet at the time when the handle is closed, those packets will
  arrive later and end up in the generic packet brigade queue and they
  will remain in there until flushed. They will use unnecessary memory,
  make things slower and they will ruin the SFTP handling if the
  request_id counter ever wraps (highly unlikely to every happen).

- sftp_close_handle: packet list is generic
  
  Fix comment, simplify the loop logic

- sftp_read: pipeline reads
  
  The SFTP read function now does transfers the same way the SFTP write
  function was made to recently: it creates a list of many outgoing
  FXP_READ packets that each asks for a small data chunk. The code then
  tries to keep sending read request while collecting the acks for the
  previous requests and returns the received data.

- sftp_write: removed unused variable

- _libssh2_channel_close: don't call transport read if disconnected
  
  The loop that waits for remote.close to get set may end up looping
  forever since session->socket_state gets set to
  LIBSSH2_SOCKET_DISCONNECTED by the packet_add() function called from the
  transport_read() function and after having been set to
  LIBSSH2_SOCKET_DISCONNECTED, the transport_read() function will only
  return 0.
  
  Bug: http://trac.libssh2.org/ticket/198

- libssh2_sftp_seek64: new man page
  
  Split off libssh2_sftp_seek64 from the libssh2_sftp_seek man page, and
  mentioned that we consider the latter deprecated. Also added a mention
  about the dangers of doing seek during writing or reading.

- sftp_seek: fix
  
  The new SFTP write code caused a regression as the seek function no
  longer worked as it didn't set the write position properly.
  
  It should be noted that seeking is STRONGLY PROHIBITED during upload, as
  the upload magic uses two different offset positions and the multiple
  outstanding packets etc make them sensitive to change in the midst of
  operations.
  
  This functionality was just verified with the new example code
  sftp_append. This bug was filed as bug #202:
  
  Bug: http://trac.libssh2.org/ticket/202

- sftp_append: new example doing SFTP append

- MAX_SFTP_OUTGOING_SIZE: 30000
  
  I ran SFTP upload tests against localhost. It showed that to make the
  app reach really good speeds, I needed to do a little code tweak and
  change MAX_SFTP_OUTGOING_SIZE from 4000 to 30000. The tests I did before
  with the high latency tests didn't show any real difference whatever I
  had that size set to.
  
  This number is the size in bytes that libssh2 cuts off the large input
  buffer and sends off as an individual sftp packet.

- sftp_write_sliding.c: new example
  
  This is an example that is very similar to sftp_write_nonblock.c, with
  the exception that this uses
  
  1 - a larger upload buffer
  
  2 - a sliding buffer mechnism to allow the app to keep sending lots of
  data to libssh2 without having to first drain the buffer.
  
  These are two key issues to make libssh2 SFTP uploads really perform
  well at this point in time.

- cpp: s/#elsif/#elif
  
  This looks like a typo as #elsif is not really C...

- _libssh2_channel_write: revert channel_write() use
  
  The attempts made to have _libssh2_channel_write() accept larger pieces
  of data and split up the data by itself into 32700 byte chunks and pass
  them on to channel_write() in a loop as a way to do faster operations on
  larger data blocks was a failed attempt.
  
  The reason why it is difficult:
  
  The API only allows EAGAIN or a length to be returned. When looping over
  multiple blocks to get sent, one block can get sent and the next might
  not. And yet: when transport_send() has returned EAGAIN we must not call
  it again with new data until it has returned OK on the existing data it
  is still working on. This makes it a mess and we do get a much easier
  job by simply returning the bytes or EAGAIN at once, as in the EAGAIN
  case we can assume that we will be called with the same arguments again
  and transport_send() will be happy.
  
  Unfortunately, I think we take a small performance hit by not being able
  to do this.

- ssh2_echo: new example
  
  This is a new example snippet. The code is largely based on ssh2_exec,
  and is written by Tommy Lindgren. I edited it into C90 compliance and to
  conform to libssh2 indent style and some more.

- send_existing: return after send_existing
  
  When a piece of data is sent from the send_existing() function we must
  make the parent function return afterwards. Otherwise we risk that the
  parent function tries to send more data and ends up getting an EGAIN for
  that more data and since it can only return one return code it doesn't
  return info for the successfully sent data.
  
  As this change is a regression I now added a larger comment explaining
  why it has to work like this.

- _libssh2_channel_write: count resent data as written
  
  In the logic that resends data that was kept for that purpose due to a
  previous EAGAIN, the data was not counted as sent causing badness.

Peter Stuge (13 Nov 2010)
- Use fprintf(stderr, ) instead of write(2, ) for debugging

- session/transport: Correctly handle when _libssh2_send() returns -EAGAIN

- src/agent.c: Simplify _libssh2_send() error checking ever so slightly

Daniel Stenberg (12 Nov 2010)
- send/recv: use _libssh2_recv and _libssh2_send now
  
  Starting now, we unconditionally use the internal replacement functions
  for send() and recv() - creatively named _libssh2_recv() and
  _libssh2_send().
  
  On errors, these functions return the negative 'errno' value instead of
  the traditional -1. This design allows systems that have no "natural"
  errno support to not have to invent it. It also means that no code
  outside of these two transfer functions should use the errno variable.

- channel_write: move some logic to _libssh2_channel_write
  
  Some checks are better done in _libssh2_channel_write just once per
  write instead of in channel_write() since the looping will call the
  latter function multiple times per _libssh2_channel_write() invoke.

- sftp_write: handle "left over" acked data
  
  The SFTP handle struct now buffers number of acked bytes that haven't
  yet been returned. The way this is used is as following:
  
  1. sftp_write() gets called with a buffer of let say size 32000. We
  split 32000 into 8 smaller packets and send them off one by one. One of
  them gets acked before the function returns so 4000 is returned.
  
  2. sftp_write() gets called again a short while after the previous one,
  now with a much smaller size passed in to the function. Lets say 8000.
  In the mean-time, all of the remaining packets from the previous call
  have been acked (7*4000 = 28000). This function then returns 8000 as all
  data passed in are already sent and it can't return any more than what
  it got passed in. But we have 28000 bytes acked. We now store the
  remaining 20000 in the handle->u.file.acked struct field to add up in
  the next call.
  
  3. sftp_write() gets called again, and now there's a backlogged 20000
  bytes to return as fine and that will get skipped from the beginning
  of the buffer that is passed in.

- sftp_write: polished and simplified
  
  Removed unnecessary struct fields and state changes within the function.
  
  Made the loop that checks for ACKs only check chunks that were fully
  sent.

- SCP: on failure, show the numerical error reason
  
  By calling libssh2_session_last_errno()

- SFTP: provide the numerical error reason on failure

- SCP: clean up failure treatment
  
  When SCP send or recv fails, it gets a special message from the server
  with a warning or error message included. We have no current API to
  expose that message but the foundation is there. Removed unnecessary use
  of session struct fields.

- sftp_write: enlarge buffer to perform better

- packets: code cleanup
  
  I added size checks in several places. I fixed the code flow to be easier
  to read in some places.
  
  I removed unnecessary zeroing of structs. I removed unused struct fields.

- LIBSSH2_CALLBACK_MACERROR: clarify return code use

- _libssh2_userauth_publickey: avoid shadowing

- packet: avoid shadowing global symbols

- sftp_readdir: avoid shadowing

- shadowing: don't shadow the global compress

- _libssh2_packet_add: turn ifs into a single switch

- _libssh2_packet_add: check SSH_MSG_GLOBAL_REQUEST packet

- _libssh2_packet_add: SSH_MSG_DEBUG length checks
  
  Verify lengths before using them. Read always_display from the correct
  index. Don't copy stuff around just to provide zero-termination of the
  strings.

- _libssh2_packet_add: SSH_MSG_IGNORE skip memmove
  
  There's no promise of a zero termination of the data in the callback so
  no longer perform ugly operation in order to provide it.

- _libssh2_packet_add: SSH_MSG_DISCONNECT length checks
  
  Verify lengths before trying to read data.

- indent: break lines at 80 columns

- SSH_MSG_CHANNEL_OPEN_FAILURE: used defined values
  
  We don't like magic numbers in the code. Now the acceptable failure
  codes sent in the SSH_MSG_CHANNEL_OPEN_FAILURE message are added as
  defined values in the private header file.

- sftp_write: don't return EAGAIN if no EAGAIN was received
  
  This function now only returns EAGAIN if a lower layer actually returned
  EAGAIN to it. If nothing was acked and no EAGAIN was received, it will
  now instead return 0.

- _libssh2_wait_socket: detect nothing-to-wait-for
  
  If _libssh2_wait_socket() gets called but there's no direction set to
  wait for, this causes a "hang". This code now detects this situation,
  set a 1 second timeout instead and outputs a debug output about it.

- decomp: remove the free_dest argument
  
  Since the decompress function ALWAYS returns allocated memory we get a
  lot simpler code by removing the ability to return data unallocated.

- decomp: cleaned off old compression stuff
  
  I cleared off legacy code from when the compression and decompression
  functions were a single unified function. Makes the code easier to read
  too.

- [TJ Saunders brought this change]

  decomp: increase decompression buffer sizes

- [TJ Saunders brought this change]

  zlib: Add debug tracing of zlib errors

- sftp_packet_read: handle partial reads of the length field
  
  SFTP packets come as [32 bit length][payload] and the code didn't
  previously handle that the initial 32 bit field was read only partially
  when it was read.

- [Jasmeet Bagga brought this change]

  kex_agree_hostkey: fix NULL pointer derefence
  
  While setting up the session, ssh tries to determine the type of
  encryption method it can use for the session. This requires looking at
  the keys offered by the remote host and comparing these with the methods
  supported by libssh2 (rsa & dss). To do this there is an iteration over
  the array containing the methods supported by libssh2.
  
  If there is no agreement on the type of encryption we come to the 3rd
  entry of the hostkeyp array. Here hostkeyp is valid but *hostkep is
  NULL. Thus when we dereference that in (*hostkeyp)->name there is a
  crash

- _libssh2_transport_send: remove dead assignment
  
  'data' isn't accessed beyond this point so there's no need to assign it.

- scp_recv: remove dead assignment
  
  Instead of assigning a variable we won't read, we now use the more
  explicit (void) prefix.

- sftp_write: removed superfluous assignment

- bugfix: avoid use of uninitialized value

- sftp_packet_require: propagate error codes better
  
  There were some chances that they would cause -1 to get returned by
  public functions and as we're hunting down all such occurances and since
  the underlying functions do return valuable information the code now
  passes back proper return codes better.

- [Alfred Gebert brought this change]

  fix memory leaks (two times cipher_data) for each sftp session

- libssh2_userauth_authenticated: make it work as documented
  
  The man page clearly says it returns 1 for "already authenticated" but
  the code said non-zero. I changed the code to use 1 now, as that is also
  non-zero but it gets the benefit that it now matches the documentation.
  
  Using 1 instead of non-zero is better for two reasons:
  
  1. We have the opportunity to introduce other return codes in the future for
     things like error and what not.
  2. We don't expose the internal bitmask variable value.

- userauth_keyboard_interactive: fix indent

- [Alfred Gebert brought this change]

  fix memory leak in userauth_keyboard_interactive()
  
  First I wanted to free the memory in session_free() but then
  I had still memory leaks because in my test case the function
  userauth_keyboard_interactive() is called twice. It is called
  twice perhaps because the server has this authentication
  methods available: publickey,gssapi-with-mic,keyboard-interactive
  The keyboard-interactive method is successful.

- dist: include sftp.h in dist archives

Simon Josefsson (27 Oct 2010)
- Update header to match new function prototype, see c48840ba88.

Daniel Stenberg (26 Oct 2010)
- bugfixes: the transport rearrange left some subtle flaws now gone

- libssh2_userauth_publickey_fromfile_ex.3: cleaned up looks

- libssh2_userauth_publickey: add man page
  
  I found an undocumented public function and we can't have it like
  that. The description here is incomplete, but should serve as a template
  to allow filling in...

- libssh2_sftp_write.3: added blurb about the "write ahead"
  
  Documented the new SFTP write concept

- sftp_close_handle: free any trailing write chunks

- _libssh2_channel_write: fix warnings

- SFTP: bufgix, move more sftp stuff to sftp.h
  
  The sftp_write function shouldn't assume that the buffer pointer will be
  the same in subsequent calls, even if it assumes that the data already
  passed in before haven't changed.
  
  The sftp structs are now moved to sftp.h (which I forgot to add before)

- SFTP: use multiple outgoing packets when writing
  
  sftp_write was rewritten to split up outgoing data into multiple packets
  and deal with the acks in a more asynchronous manner. This is meant to
  help overcome latency and round-trip problems with the SFTP protocol.

- TODO: implemented a lot of the ideas now

- _libssh2_channel_write: removed 32500 size limit
  
  Neither _libssh2_channel_write nor sftp_write now have the 32500 size
  limit anymore and instead the channel writing function now has its own
  logic to send data in multiple calls until everything is sent.

- send_existing: don't tell parent to return when drained
  
  That will just cause unnecessary code execution.

- _libssh2_channel_write: general code cleanup
  
  simplified the function and removed some unused struct fields

- _libssh2_transport_send: replaces _libssh2_transport_write
  
  The new function takes two data areas, combines them and sends them as a
  single SSH packet. This allows several functions to allocate and copy
  less data.
  
  I also found and fixed a mixed up use of the compression function
  arguments that I introduced in my rewrite in a recent commit.

- scp_write_nonblock: use select() instead of busyloop
  
  Make this example nicer by not busylooping.

- send_existing: clear olen when the data is sent off

- _libssh2_transport_write: allow 256 extra bytes around the packet

- _libssh2_transport_write: remade to send without malloc

- compress: compression disabled by default
  
  We now allow libssh2_session_flag() to enable compression with a new
  flag and I added documentation for the previous LIBSSH2_FLAG_SIGPIPE
  flag which I wasn't really aware of!

- comp: split the compress function
  
  It is now made into two separate compress and decompress functions. In
  preparation for upcoming further modficications.

Dan Fandrich (20 Oct 2010)
- Added header file to allow compiling in older environments

Daniel Stenberg (20 Oct 2010)
- TODO: add a possible new API for SFTP transfers

- TODO: "New Transport API" added

- TODO: add buffering plans

Simon Josefsson (13 Oct 2010)
- Mention libssh2_channel_get_exit_signal and give kudos.

- [Tommy Lindgren brought this change]

  Add libssh2_channel_get_exit_signal man page.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- [Tommy Lindgren brought this change]

  Add libssh2_channel_get_exit_signal.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- Add libssh2_free man page and fix typo.

- Add libssh2_free.

Daniel Stenberg (11 Oct 2010)
- scp_recv: improved treatment of channel_read() returning zero
  
  As a zero return code from channel_read() is not an error we must make
  sure that the SCP functions deal with that properly. channel_read()
  always returns 0 if the channel is EOFed already so we check for EOF
  after 0-reads to be able to return error properly.

- libssh2_session_methods.3: detail what can be asked for

- compression: send zlib before none
  
  As the list of algorithms in a preferred order we should send zlib
  before none to increase the chances that the server will let us do
  compression.

- compress: faster check, better return codes
  
  In the transport functions we avoid a strcmp() now and just check a
  boolean instead.
  
  The compress/decompress function's return code is now acknowledged and
  used as actual return code in case of failures.

- libssh2_session_handshake: replaces libssh2_session_startup()
  
  The function libssh2_session_startup() is now considered deprecated due
  to the portability issue with the socket argument.
  libssh2_session_handshake() is the name of the replacement.

- libssh2_socket_t: now externally visible
  
  In preparation for upcominig changes, the libssh2_socket_t type is now
  typedef'ed in the public header.

- _libssh2_transport_drain: removed
  
  This function proved not to be used nor useful.

- _libssh2_channel_write: don't iterate over transport writes
  
  When a call to _libssh2_transport_write() succeeds, we must return from
  _libssh2_channel_write() to allow the caller to provide the next chunk
  of data.
  
  We cannot move on to send the next piece of data that may already have
  been provided in this same function call, as we risk getting EAGAIN for
  that and we can't return information both about sent data as well as
  EAGAIN. So, by returning short now, the caller will call this function
  again with new data to send.

- _libssh2_transport_write: updated documentation blurb

- _libssh2_transport_write: remove fprintf remainder
  
  Mistake from previous debugging

- session: improved errors
  
  Replaced -1/SOCKET_NONE errors with appropriate error defines instead.
  
  Made the verbose trace output during banner receiving less annoying for
  non-blocking sessions.

- crypt_init: use correct error define

- _libssh2_error: hide EAGAIN for non-blocking sessions
  
  In an attempt to make the trace output less cluttered for non-blocking
  sessions the error function now avoids calling the debug function if the
  error is the EAGAIN and the session is non-blocking.

- agent: use better error defines

- comp_method_zlib_init: use correct error defines

- transport: better error codes
  
  LIBSSH2_SOCKET_NONE (-1) should no longer be used as error code as it is
  (too) generic and we should instead use specific and dedicated error
  codes to better describe the error.

- channel: return code and _libssh2_error cleanup
  
  Made sure that all transport_write() call failures get _libssh2_error
  called.

- _libssh2_channel_write: limit to 32700 bytes
  
  The well known and used ssh server Dropbear has a maximum SSH packet
  length at 32768 by default. Since the libssh2 design current have a
  fixed one-to-one mapping from channel_write() to the packet size created
  by transport_write() the previous limit of 32768 in the channel layer
  caused the transport layer to create larger packets than 32768 at times
  which Dropbear rejected forcibly (by closing the connection).
  
  The long term fix is of course to remove the hard relation between the
  outgoing SSH packet size and what the input length argument is in the
  transport_write() function call.

- libssh.h: add more dedicated error codes

- SCP: allow file names with bytes > 126
  
  When parsing the SCP protocol and verifying that the data looks like a
  valid file name, byte values over 126 must not be consider illegal since
  UTF-8 file names will use such codes.
  
  Reported by: Uli Zappe
  Bug: http://www.libssh2.org/mail/libssh2-devel-archive-2010-08/0112.shtml

Dan Fandrich (25 Aug 2010)
- Document the three sftp stat constants

Guenter Knauf (18 Aug 2010)
- Fixed Win32 makefile which was now broken at resource build.

- It is sufficient to pipe stderr to NUL to get rid of the nasty messages.

- [Author: Guenter Knauf brought this change]

  Removed Win32 ifdef completely for sys/uio.h.
  
  No idea why we had this ifdef at all but MSVC, MingW32, Watcom
  and Borland all have no sys/uio.h header; so if there's another
  Win32 compiler which needs it then it should be added explicitely
  instead of this negative list.

- New files should also be added to Makefile.am.
  
  Otherwise they will never be included with release and snapshot tarballs ...

Daniel Stenberg (18 Aug 2010)
- version: bump to 1.2.8_DEV

Version 1.2.7 (17 Aug 2010)

Daniel Stenberg (17 Aug 2010)
- release: updated to hold 1.2.7 info

Guenter Knauf (17 Aug 2010)
- Use the new libssh2.rc file.

- Added resource file for libssh2.dll (shamelessly stolen from libcurl).

- Updated Win32 MSVC dependencies versions.

- Added include for sys/select.h to get fd.set on some platforms.

- Added Watcom makefile borrowed from libcurl.
  
  This makefile compiles already all files fine for static lib, but needs
  final touch when I have OpenSSL fully working with shared libs and Watcom.

- Added copyright define to libssh2.h and use it for binary builds.

- Moved version defines up in order to include from .rc file.
  
  Blocked rest of header with ifndef so its possible to let
  the rc compiler only use the version defines.

- Some minor makefile tweaks.

Daniel Stenberg (2 Aug 2010)
- example: treat the libssh2_channel_read() return code properly
  
  A short read is not an error. Only negative values are errors!

- libssh2_wait_socket: reset error code to "leak" EAGAIN less
  
  Since libssh2 often sets LIBSSH2_ERROR_EAGAIN internally before
  _libssh2_wait_socket is called, we can decrease some amount of
  confusion in user programs by resetting the error code in this function
  to reduce the risk of EAGAIN being stored as error when a blocking
  function returns.

- _libssh2_wait_socket: poll needs milliseconds
  
  As reported on the mailing list, the code path using poll() should
  multiple seconds with 1000 to get milliseconds, not divide!
  
  Reported by: Jan Van Boghout

- typedef: make ssize_t get typedef without LIBSSH2_WIN32
  
  The condition around the ssize_t typedef depended on both LIBSSH2_WIN32
  *and* _MSC_VER being defined when it should be enough to depend on
  _MSC_VER only. It also makes it nicer so libssh2-using code builds fine
  without having custom defines.

- [John Little brought this change]

  session_free: free more data to avoid memory leaks

- channel_free: ignore problems with channel_close()
  
  As was pointed out in bug #182, we must not return failure from
  _libssh2_channel_free() when _libssh2_channel_close() returns an error
  that isn't EAGAIN. It can effectively cause the function to never go
  through, like it did now in the case where the socket was actually
  closed but socket_state still said LIBSSH2_SOCKET_CONNECTED.
  
  I consider this fix the right thing as it now also survives other
  errors, even if making sure socket_state isn't lying is also a good
  idea.

- publickey_list_free: no return value from a void function
  
  Fixed a compiler warning I introduced previously when checking input
  arguments more. I also added a check for the other pointer to avoid NULL
  pointer dereferences.

- [Lars Nordin brought this change]

  openssl: make use of the EVP interface
  
  Make use of the EVP interface for the AES-funktion. Using this method
  supports the use of different ENGINES in OpenSSL for the AES function
  (and the direct call to the AES_encrypt should not be used according to
  openssl.org)

Peter Stuge (23 Jun 2010)
- [Tor Arntsen brought this change]

  Don't overflow MD5 server hostkey
  
  Use SHA_DIGEST_LENGTH and MD5_DIGEST_LENGTH in memcpy instead of hardcoded
  values. An incorrect value was used for MD5.

- Fix message length bugs in libssh2_debug()
  
  There was a buffer overflow waiting to happen when a debug message was
  longer than 1536 bytes.
  
  Thanks to Daniel who spotted that there was a problem with the message
  length passed to a trace handler also after commit
  0f0652a3093111fc7dac0205fdcf8d02bf16e89f.

- Make libssh2_debug() create a correctly terminated string
  
  Also use FILE *stderr rather than fd 2, which can very well be something
  completely different.

Daniel Stenberg (23 Jun 2010)
- [TJ Saunders brought this change]

  handshake: Compression enabled at the wrong time
  
  In KEXINIT messages, the client and server agree on, among other
  things, whether to use compression. This method agreement occurs
  in src/kex.c's kex_agree_methods() function. However, if
  compression is enabled (either client->server, server->client, or
  both), then the compression layer is initialized in
  kex_agree_methods() -- before NEWKEYS has been received.
  
  Instead, the initialization of the compression layer should
  happen after NEWKEYS has been received. This looks to occur
  insrc/kex.c's diffie_hellman_sha1(), which even has the comment:
  
      /* The first key exchange has been performed,
  
          switch to active crypt/comp/mac mode */
  
  There, after NEWKEYS is received, the cipher and mac algorithms
  are initialized, and that is where the compression should be
  initialized as well.
  
  The current implementation fails if server->client compression is
  enabled because most server implementations follow OpenSSH's
  lead, where compression is initialized after NEWKEYS. Since the
  server initializes compression after NEWKEYS, but libssh2
  initializes compression after KEXINIT (i.e. before NEWKEYS), they
  are out of sync.
  
  Reported in bug report #180

- [TJ Saunders brought this change]

  userauth_hostbased_fromfile: packet length too short
  
  The packet length calculated in src/userauth.c's
  userauth_hostbased_fromfile() function is too short by 4 bytes;
  it forgets to add four bytes for the length of the hostname.
  This causes hostbased authentication to fail, since the server
  will read junk data.
  
  verified against proftpd's mod_sftp module

- _libssh2_userauth_publickey: reject method names longer than the data
  
  This functions get the method length by looking at the first 32
  bit of data, and I now made it not accept method lengths that are
  longer than the whole data set is, as given in the dedicated
  function argument.
  
  This was detected when the function was given bogus public key
  data as an ascii string, which caused the first 32bits to create
  a HUGE number.

- NULL resistance: make more public functions survive NULL pointer input
  
  Sending in NULL as the primary pointer is now dealt with by more
  public functions. I also narrowed the userauth.c code somewhat to
  stay within 80 columns better.

- agent: make libssh2_agent_userauth() work blocking properly
  
  previously it would always work in a non-blocking manner

Peter Stuge (17 Jun 2010)
- Fix underscore typo for 64-bit printf format specifiers on Windows
  
  Commit 49ddf447ff4bd80285f926eac0115f4e595f9425 was missing underscores.

Daniel Stenberg (16 Jun 2010)
- libssh2_session_callback_set: extended the man page

- [John brought this change]

  LIBSSH2_DEBUG: macro uses incorrect function variable
  
  The LIBSSH2_DEBUG macro, defined in libssh2_priv.h, incorrectly uses the
  function variable ssh_msg_disconnect when it should use ssh_msg_debug.
  
  This shows that the LIBSSH2_CALLBACK_DEBUG callback never has worked...

- warning: fix a compiler warning 'pointer differs in signedness'
  
  As reported in bug #177

- portability: introduce LIBSSH2_INT64_T_FORMAT for 64bit printf()s
  
  As pointed out in bug #177, some of the Windows compilers use
  %I64 to output 64 bit variables with the printf family.

- debug: avoid sending NULL to sprintf %s
  
  Via the _libssh2_debug() macro/function. Pointed out by john in bug report

- sftp docs: show macro on macro page, only function on function page
  
  The individual man pages for macros now show the full convenience
  macro as defined, and then the man page for the actual function
  only shows the function.

- code police: make the code use less than 80 columns

- libssh2_channel_write_ex: remove macros, added wording on buffer size

- libssh2_sftp_write: document buffer size and changed some ordering

- libssh2_channel_write_stderr: show how the macro is defined

- libssh2_channel_write: show how the macro is defined

- SFTP: limit write() to not produce overly large packets
  
  sftp_write() now limits how much data it gets at a time even more
  than before. Since this function creates a complete outgoing
  packet based on what gets passed to it, it is crucial that it
  doesn't create too large packets.
  
  With this method, there's also no longer any problem to use very
  large buffers in your application and feed that to libssh2. I've
  done numerous tests now with uploading data over SFTP using 100K
  buffers and I've had no problems with that.

- scp_write_nonblock: add transfer time info
  
  Using the same timing logic and output format as
  sftp_write_nonblock allows us to very easily run benchmarks on
  SCP vs SFTP uploads using libssh2.

- sftp_write_nonblock: select() on socket, use *BIG* buffer, time transfer
  
  The select() is just to make it nicer so that it doesn't
  crazy-loop on EAGAIN. The buffer size thing is mostly to verify
  that this really work as supposed.
  
  Transfer timing is just a minor thing, but it can just as well be
  there and help us time and work on performance easier using out
  of the box examples.

- agent: use _libssh2_error() when returning errors
  
  As pointed out in bug report #173, this module basically never
  used _libssh2_error() which made it work inconstently with other
  parts of the libssh2 code base. This is my first take at making
  this code more in line with the rest.

- inputchecks: make lots of API functions check for NULL pointers
  
  If an application accidentally provides a NULL handle pointer to
  the channel or sftp public functions, they now return an error
  instead of segfaulting.

- libssh2_channel_eof: clarify that it returns negative on errors

- SFTP: keep the sftp error code as 32 bit
  
  'last_errno' holds to the error code from the SFTP protocol and
  since that is 32 bits on the wire there's no point in using a
  long for this internally which is larger on some platforms.

- agent: make the code better deal with unexpected code flows
  
  agent->ops gets initialized by the libssh2_agent_connect() call
  but we need to make sure that we don't segfault even if a bad
  sequence of function calls is used.

Alexander Lamaison (10 Jun 2010)
- Better handling of invalid key files.
  
  Passing an invalid public key to libssh2_userauth_publickey_fromfile_ex
  triggered an assertion.  Replaced this with a runtime check that rejects
  obviously invalid key data.

Daniel Stenberg (10 Jun 2010)
- version: we start working on 1.2.7 now

Version 1.2.6 (10 Jun 2010)

Daniel Stenberg (10 Jun 2010)
- NEWS: add the 1.2.6 release details

- RELEASE-NOTES: 1.2.6 details added

Guenter Knauf (10 Jun 2010)
- fixed libssh2.dsw to use the generated libssh2.dsp; removed old *.dsp files.

- moved MSVC strdup define to libssh2_config.h which we include already.

- added missing source files to src/NMakefile.

Daniel Stenberg (8 Jun 2010)
- libssh2_poll: refer to poll(3) and select(3) instead

- example: fix strdup() for MSVC compiles
  
  MSVC has a _strdup() that we better use. This was reported in bug

- SFTP: fail init SFTP if session isn't authenticated
  
  Alexander Lamaison filed bug #172
  (http://trac.libssh2.org/ticket/172), and pointed out that SFTP
  init would do bad if the session isn't yet authenticated at the
  time of the call, so we now check for this situation and returns
  an error if detected. Calling sftp_init() at this point is bad
  usage to start with.

- direct_tcpip: bring back inclusion of libssh2_config.h
  
  In order to increase portability of this example, I'm bringing
  the inclusion of libssh2_config.h back, and I also added an
  require that header for this example to compile.
  
  I also made all code lines fit within 80 columns.

Guenter Knauf (3 Jun 2010)
- cast away a warning.

- moved CRT_SECURE_NO_DEPRECATE define up so its defined before the winsock headers are included.

- fixed platform detection for MingW32 test makefile.

- MingW32 has gettimeofday() implemented, so proper ifdef this function here.

- removed MSVC ifdef since seems we can use __int64 still with latest headers.

- changed copyright notice for MinW32 and NetWare binaries.

- cleaned up MSVC ifdefs which where spreaded over 3 places.

- added uint8_t typedef for NetWare CLIB platform.

- if the function declaration gets changed the header should be changed too.

- this is MSVC specific and doesnt apply for all Win32 compilers;
  the uint8_t typedef clashes with MingW32 headers.

- updated MingW32 makefiles for latest dependency lib versions.

- updated NetWare makefiles for latest dependency lib versions.

Dan Fandrich (30 May 2010)
- Fixed compiling with libgcrypt
  
  A change of parameter types from unsigned long to size_t was
  missed in the prototype in libgcrypt.h

Daniel Stenberg (28 May 2010)
- statvfs: use libssh2_sftp_statvfs only, no "_ex"
  
  As the long-term goal is to get rid of the extensive set of
  macros from the API we can just as well start small by not adding
  new macros when we add new functions. Therefore we let the
  function be libssh2_sftp_statvfs() plainly without using an _ex
  suffix.
  
  I also made it use size_t instead of unsigned int for the string
  length as that too is a long-term goal for the API.

- [Grubsky Grigory brought this change]

  DSP: output lib name typo

- [Grubsky Grigory brought this change]

  win32: provide a uint8_t typedef for better building on windows

- agent: win32: fix bad _libssh2_store_str call
  
  As pointed out by Grubsky Grigory <g.grubsky@securitycode.ru>, I
  made a mistake when I added the _libssh2_store_str() call before
  and I made a slightly different patch than what he suggested.
  Based purely on taste.

Peter Stuge (24 May 2010)
- [Joey Degges brought this change]

  Add libssh2_sftp_statvfs() and libssh2_sftp_fstatvfs()
  
  These can be used to get file system statistics from servers that
  support the statvfs@openssh.com and fstatvfs@openssh.com extensions.

Alexander Lamaison (22 May 2010)
- [Jose Baars brought this change]

  VMS specific: make sure final release can be installed over daily build

- [Jose Baars brought this change]

  VMS: small improvement to the man2help utilities

Peter Stuge (22 May 2010)
- [Joey Degges brought this change]

  libssh2_exit and libssh2_sftp_readdir man page fixes

Daniel Stenberg (21 May 2010)
- spelling: s/sue/use

Alexander Lamaison (21 May 2010)
- Change magic port number for generic knownhost check.
  
  libssh2_knownhost_checkp took 0 as a magic port number that indicated
  a 'generic' check should be performed.  However, 0 is a valid port
  number in its own right so this commit changes the magic value to any
  negative int.

Mikhail Gusarov (5 May 2010)
- Add re-discovered copyright holders to COPYING

- Restoring copyright statements from pre-git era
  
  Eli Fant has contributed fragmenting SFTP requests

- Restoring my copyright statements from pre-git era
  
  keyboard_interactive, 'exit-status' information packet, non-atomic read/write
  under FreeBSD, multi-channel operation bugfixes.

Daniel Stenberg (3 May 2010)
- pedantic: make the code C90 clean

Peter Stuge (3 May 2010)
- Do proper keyboard-interactive user dialog in the sftp.c example

Daniel Stenberg (3 May 2010)
- added to tarball: libssh2_knownhost_checkp.3

- knownhost: support [host]:port in knownhost file
  
  OpenSSH has ways to add hosts to the knownhosts file that include
  a specific port number which makes the key associated with only
  that specific host+port pair. libssh2 previously did not support
  this, and I was forced to add a new function to the API to
  properly expose this ability to applications:
  libssh2_knownhost_checkp()
  
  To *add* such hosts to the knownhosts file, you make sure to pass
  on the host name in that manner to the libssh2_knownhost_addc()
  function.

- init/exit: mention these were added in 1.2.5

- libssh2_knownhost_check docs: correct the prototype

- examples: avoid use of uninitialized variable 'sock'

- KEX: stop pretending we negotiate language
  
  There was some stub-like parts of an implementation for
  implementing kex language negotiation that caused clang-analyzer
  to warn and as it did nothing I've now removed the dead code.

- Uninitialized argument

- sftpdir: removed dead assignment

- Makefile.am: include the VMS-specific config header as well

- [Jose Baars brought this change]

  Add VMS specific libssh2_config.h

- fix Value stored to 's' is never read warning
  
  and moved variable declaration of s to be more local

- kexinit: simplify the code and avoid scan-build warning
  
  Previously it would say "Value stored to 's' is never read" due
  fourth increment of 's'.

Alexander Lamaison (28 Apr 2010)
- Removed unecessary brackets.

- Changed sftp_attrsize macro to a static function.

Daniel Stenberg (28 Apr 2010)
- release: include the VMS-specific files

- sftp_attrsize: protect the macro argument with proper parentheses

- ssh2_agent: avoid using 'session' uninitialized on failures

- examples: remove assignments of variable rc that's never used

- publickey_init: remove useless variable increment

- hostkey_method_ssh_rsa_init: remove useless variable increment

- packet_x11_open: removed useless variable increment
  
  and made the declaration of a variable more local

- packet_queue_listener: removed useless variable increment
  
  and made the declaration of a variable more local

- sftp_read: move a read_responses array to where its used
  
  I find that this increases readability since the array is used
  only in the function call just immediately below and nowhere
  else.

- sftp_readdir: turn a small array static const and move it

- sftp_attrsize: converted function to a macro
  
  This way, the macro can evaluate a static number at compile time
  for two out of four uses, and it probably runs faster for the
  other two cases too.

- sftp_open: deal with short channel_write calls
  
  This was an old TODO that just wasn't done before. If
  channel_write returns short, that is not an error.

- sftp_open: clean up, better check of input data
  
  The clang-analyzer report made it look into this function and
  I've went through it to remove a potential use of an
  uninitialized variable and I also added some validation of input
  data received from the server.
  
  In general, lots of more code in this file need to validate the
  input before assuming it is correct: there are servers out there
  that have bugs or just have another idea of how to do the SFTP
  protocol.

- bugfix: avoid using the socket if it failed to create one

- bugfix: potential use of NULL pointer

- libssh2_userauth_password_ex: clarify errors somewhat
  
  The errors mentioned in this man page are possible return codes
  but not necessarily the only return codes that this can return.
  
  Also reformatted the typ prototypes somewhat.

- examples: fixed and made them more similar
  
  The channel read/write functions can return 0 in legitimate cases
  without it being an error, and we need to loop properly if they
  return short.

- [Jose Baars brought this change]

  VMS port of libssh2; changes in the libssh2 common code

- Makefile: added the two news headers userauth.h and session.h

- cleanup: prefer the internal functions
  
  To get the blocking vs non-blocking to work as smooth as possible
  and behave better internally, we avoid using the external
  interfaces when calling functions internally.
  
  Renamed a few internal functions to use _libssh2 prefix when not
  being private within a file, and removed the libssh2_ for one
  that was private within the file.

- session_free: remove dead code

- libssh2_publickey_init: fixed to work better non-blocking
  
  This was triggered by a clang-analyzer complaint that turned out
  to be valid, and it made me dig deeper and fix some generic non-
  blocking problems I disovered in the code.
  
  While cleaning this up, I moved session-specific stuff over to a
  new session.h header from the libssh2_priv.h header.

- channel: reduce duplicated free and returns
  
  Simplified the code by trying to free data and return on a single
  spot.

- channel: make variables more local
  
  By making 'data' and 'data_len' more local in several places in
  this file it will be easier to spot how they are used and we'll
  get less risks to accidentally do bad things with them.

Mikhail Gusarov (24 Apr 2010)
- Fix typos in manpages, catched by Lintian

Daniel Stenberg (24 Apr 2010)
- channel_request_pty: simplify the code
  
  clang-analyzer pointed out how 'data' could be accessed as a NULL
  pointer if the wrong state was set, and while I don't see that
  happen in real-life the code flow is easier to read and follow by
  moving the LIBSSH2_FREE() call into the block that is supposed to
  deal with the data pointer anyway.

- libssh2_channel_process_startup: simplify the code
  
  clang-analyzer pointed out how 'data' could be accessed as a NULL
  pointer if the wrong state was set, and while I don't see that
  happen in real-life the code flow is easier to read and follow by
  moving the LIBSSH2_FREE() call into the block that is supposed to
  deal with the data pointer anyway.

- sftp_close_handle: add precation to not access NULL pointer
  
  clang-analyzer pointed this out as a "Pass-by-value argument in
  function call is undefined" but while I can't see exactly how
  this can ever happen in reality I think a little check for safety
  isn't such a bad thing here.

- scp_write_nonblock: Value stored to 'nread' is never read

- scp_write: Value stored to 'ptr' is never read

- scp_write_nonblock: Value stored to 'ptr' is never read

- sftp_mkdir: less silly output but show failures

- [Jose Baars brought this change]

  VMS port of libssh2 including VMS specific build procedures

- two variable types changes, made lines less than 80 columns
  
  The two variable type changes are only to match type variable
  fields actually read from the binary protocol.

- remove check for negative padding_length
  
  It was silly, since it is read as an unsigned char...

- hostkey_method_ssh_dss_init: Value stored to 's' is never read

- libssh2_banner_set: avoid unnecessary increment and explain code

- agent_transact_unix: remove unused variable

- remove two unnecessary increments

- more code converted to use _libssh2_store_*()

- libssh2_publickey_list_fetch: removed unused variables

- libssh2_publickey_init: remove unused variables

- libssh2_scp_send64: added to API to provide large file transfers
  
  The previously existing libssh2_scp_send_ex() function has no way
  to send files that are larger than 'size_t' which on 32bit
  systems mean 4GB. This new API uses a libssh2_int64_t type and
  should thus on most modern systems be able to send enormous
  files.

- sftp_init: remove unused variables and assignments

- libssh2_knownhost_check: Value stored to 'keylen' is never read

- hostkey: fix compiler warning

- remove unused variable

- data types: convert more to use size_t and uint32_t

- channel: variable type cleanups

- cleanups: better binary packet gen, size_t fixes and PACKET_* removal
  
  I'll introduce a new internal function set named
  
   _libssh2_store_u32
   _libssh2_store_u64
   _libssh2_store_str
  
  That can be used all through the library to build binary outgoing
  packets.  Using these instead of the current approach removes
  hundreds of lines from the library while at the same time greatly
  enhances readability. I've not yet fully converted everything to
  use these functions.
  
  I've converted LOTS of 'unsigned long' to 'size_t' where
  data/string lengths are dealt with internally. This is The Right
  Thing and it will help us make the transition to our
  size_t-polished API later on as well.
  
  I'm removing the PACKET_* error codes. They were originally
  introduced as a set of separate error codes from the transport
  layer, but having its own set of errors turned out to be very
  awkward and they were then converted into a set of #defines that
  simply maps them to the global libssh2 error codes instead. Now,
  I'l take the next logical step and simply replace the PACKET_*
  defines with the actual LIBSSH2_ERROR_* defines. It will increase
  readability and decrease confusion.
  
  I also separated packet stuff into its own packet.h header file.

- clarified the return code

- rename libssh2_error to the correct _libssh2_error
  
  We reserve ^libssh2_ for public symbols and we use _libssh2 as
  prefix for internal ones. I fixed the intendation of all these
  edits with emacs afterwards, which then changed it slightly more
  than just _libssh2_error() expressions but I didn't see any
  obvious problems.

- data type cleanup: made lots of code use size_t etc
  
  A lot of code used 'unsigned long' and the likes when it should
  rather just use plain 'int' or use size_t for data lengths.

- wait_socket: make c89 compliant and use two fd_sets for select()

- sftp_readdir: always zero terminate, detail the return code
  
  I also added a description for the 'longentry' field which was
  previously undocumented!

- sftp_readdir: simplified and bugfixed
  
  This function no longer has any special purpose code for the
  single entry case, as it was pointless.
  
  The previous code would overflow the buffers with an off-by-one
  in case the file name or longentry data fields received from the
  server were exactly as long as the buffer provided to
  libssh2_sftp_readdir_ex.
  
  We now make sure that libssh2_sftp_readdir_ex() ALWAYS zero
  terminate the buffers it fills in.
  
  The function no longer calls the libssh2_* function again, but
  properly uses the internal sftp_* instead.

- channel/transport: we now drain the outgoing send buffer when we ignore EAGAIN
  
  When we ignore the EAGAIN from the transport layer within channel_write, we
  now drain the outgoing transport layer buffer so that remainders in that
  won't cause any problems in the next invoke of _libssh2_transport_write()

- channel_write: if data has been sent, don't return EAGAIN
  
  When sending data in a loop, we must not return EAGAIN if we
  managed to send data in an earlier round. This was reported in
  bug #126 => http://libssh2.stuge.se/ticket/126

Simon Josefsson (14 Apr 2010)
- Fix OpenSSL AES-128-CTR detection.
  
  Patch from Paul Howarth <paul@city-fan.org>.

Daniel Stenberg (13 Apr 2010)
- version in header file now says 1.2.6-DEV

- 1.2.6: clean the RELEASE-NOTES for next release round

- NEWS: add the stuff from the version 1.2.5 RELEASE-NOTES

Version 1.2.5 (13 Apr 2010)

Daniel Stenberg (13 Apr 2010)
- channel_close: no longer wait for the SSH_MSG_CHANNEL_CLOSE message
  
  As the packet may simply not arrive we cannot have the close
  function wait for it unconditionally.

- less code duplication in the poll vs select code flows
  
  libssh2_keepalive_send and libssh2_session_block_directions are
  now used outside of the #ifdef blocks.

- make it C90 compliant

- updated with all changes and bugs since 1.2.4

- Added LIBSSH2_SFTP_S_IS***() macros and updated docs
  
  libssh2_sftp_fstat_ex.3 is now extended quite a lot to describe a
  lot of the struct and the bits it uses and how to test for them.

- sftp_init() deal with _libssh2_channel_write() returns short
  
  When _libssh2_channel_write() is asked to send off 9 bytes, the
  code needs to deal with the situation where less than 9 bytes
  were sent off and prepare to send the remaining piece at a later
  time.

- handle a NULL password as if it was ""
  
  libssh2_userauth_publickey_fromfile_ex() takes a "passphrase"
  but didn't deal with it being set to NULL.

- Reduce used window sizes by factor 10
  
  As reported in bug report #166 http://libssh2.stuge.se/ticket/166
  by 'ptjm', the maximum window size must be less crazy for libssh2
  to do better with more server implementations. I did not do any
  testing to see how this changes raw SCP performance, but the
  maximum window size is still almost 4MB. This also has the upside
  that libssh2 will use less memory.

Peter Stuge (28 Mar 2010)
- Correctly clear blocking flag after sending multipart packet
  
  commit 7317edab61d2179febc38a2c2c4da0b951d74cbc cleared the outbound
  blocking bit when send_existing() returned PACKET_NONE and *ret=0, as
  opposed to before even calling send_existing(), but because *ret=1 when
  sending parts 2..n of an existing packet, the bit would only be cleared
  when calling libssh2_transport_write() for a new packet.
  
  Clear the direction flag after the final part of a packet has been sent.

Daniel Stenberg (24 Mar 2010)
- Added man page for libssh2_knownhost_addc()
  
  Added mention in libssh2_knownhost_add() docs that
  libssh2_knownhost_addc() is the preferred function now.

- at next soname bump remove libssh2_knownhost_add()

- ignore TAGS ("make tags" makes them)

- fix memory leak
  
  we must not assign the pointer a NULL since it keeps allocated
  data and at least parts of an error string

- fixed the pattern for avoiding the poll check
  
  added some comments about known problems with poll on darwin

- avoid checking for poll on some systems
  
  darwin and interix are known to have broken poll implementations
  so we skip the check on those and thus have them use select
  unconditionally

- ignore libssh2.dsp

Simon Josefsson (23 Mar 2010)
- Fix logic in "on-the-fly" crypto init.

- Make sure keepalive is working even when poll is used.

- [Paul Querna brought this change]

  Use poll when available on blocking API.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

Peter Stuge (20 Mar 2010)
- Fix speling

Daniel Stenberg (19 Mar 2010)
- fix NULL dereference when window adjusting a non-existing channel
  
  Suyog Jadhav pointed out that when receiving a window adjust to
  a channel not found, the code would reference a NULL pointer.
  Now it will instead output a message about that fact.

Simon Josefsson (19 Mar 2010)
- Fix build problem.

- Eat our own dog food, call libssh2_init and libssh2_exit in the examples.

- Fix init/exit logic.  Add self-test of it.

Daniel Stenberg (19 Mar 2010)
- fix typo

Simon Josefsson (19 Mar 2010)
- Add man page for libssh2_init and libssh2_exit.  Fix libssh2_exit prototype.

- Shorten constant a bit.  More documentation.

- Fix namespace pollution.

- Add global init/exit points, to do crypto initialization in one place.
  
  By Lars Nordin.

Daniel Stenberg (14 Mar 2010)
- libssh2 is released under the Modifed BSD license, not GPL

Alexander Lamaison (14 Mar 2010)
- Add libssh2_knownhost_addc to handle comments.
  
  Comments in known_hosts file were not handle properly.  They were parsed as
  part of the key causing key matching to return a mismatch if the entry had a
  comment.  This adds a new API function that takes an optional comment and
  changes libssh2_knownhost_readline to parse the comment as pass it to the
  new function.
  
  Fixes #164.

- Fix gettimeofday to compile with Visual C++ 6.
  
  Reported by Steven Van Ingelgem.

Simon Josefsson (10 Mar 2010)
- Add.

- keepalive.c: Fix libssh2_error usage.

- Fix typo in last commit.

- Tidy up build option notice.

- Add entry about keep alive stuff.

- Add keep-alive support.

Alexander Lamaison (7 Mar 2010)
- Untabify.

- Fix memory leak in libssh2_knownhost_add.

Daniel Stenberg (6 Mar 2010)
- change 'int' to 'libssh2_socket_t' in the public API for sockets

- reduce code duplication and return underlying error better

- acknowledge when _libssh2_packet_requirev() returns error
  
  when _libssh2_packet_requirev() returns an error when waiting for
  SSH_MSG_USERAUTH_SUCCESS or SSH_MSG_USERAUTH_FAILURE, it is an
  error and it should be treated as such

- wrap long lines

- polished the phrasing in two error strings

- silence picky compiler warnings

- silence picky compiler warnings

- removed libssh2_error()'s forth argument
  
  libssh2_error() no longer allocates a string and only accepts a const
  error string. I also made a lot of functions use the construct of
  return libssh2_error(...) instead of having one call to
  libssh2_error() and then a separate return call. In several of those
  cases I then also changed the former -1 return code to a more
  detailed one - something that I think will not change behaviors
  anywhere but it's worth keeping an eye open for any such.

- repaired --enable-debug

Simon Josefsson (1 Mar 2010)
- Make ./configure output a summary of build options.

Daniel Stenberg (1 Mar 2010)
- let the err_msg in the session struct be const too

Simon Josefsson (1 Mar 2010)
- Revert #ifdef change that pulled in AES-CTR code when explicitly disabled.

Daniel Stenberg (1 Mar 2010)
- fix #ifdefs

- make function match the new proto

Simon Josefsson (1 Mar 2010)
- Improve AES-CTR check.

Daniel Stenberg (1 Mar 2010)
- use const to silence a bazillion warnings

Simon Josefsson (1 Mar 2010)
- Use AES-CTR from OpenSSL when available.
  
  Reported by Lars Nordin <Lars.Nordin@SDlabs.se>.

- Make it possible to disable DSA.
  
  Patch from Lars Nordin <Lars.Nordin@SDlabs.se>.

Peter Stuge (1 Mar 2010)
- Send and receive channel EOF before sending SSH_MSG_CHANNEL_CLOSE
  
  Sending SSH_MSG_CHANNEL_CLOSE without channel EOF is explicitly allowed
  in RFC 4254, but some non-conforming servers will hang or time out when
  the channel is closed before EOF.
  
  Other common clients send and receive EOF before closing, there are no
  drawbacks, and some servers need it to work correctly.

Alexander Lamaison (26 Feb 2010)
- Style improvements to knownhost error handling.
  
  Made improvements as suggested by Peter Stuge: http://www.libssh2.org/mail/libssh2-devel-archive-2010-02/0161.shtml.

- Call libssh2_error for every knownhost API failure.
  
  The libssh2 API calls should set the last error code and a message when
  returning a failure by calling libssh2_error.  This changeset adds these
  calls to the libssh2_knownhost_* API as well as libssh2_base64_decode.
  
  This change also makes libssh2_error into a function rather than a macro.
  Its implementation is moved to misc.c.  This function returns the error
  code passed to it allowing callers to return the error value directly
  without duplicating the error code.

- Fix LIBSSH2_ALLOC checks.
  
  These appear to be cut-and paste errors where the wrong variable is checked
  for NULLness after calling LIBSSH2_ALLOC.

Simon Josefsson (23 Feb 2010)
- Silence compiler warning.

- Make it portable; test uses = for string comparison (not ==).  Indent.

Alexander Lamaison (22 Feb 2010)
- libssh2_knownhost_del: fix write to freed memory.
  
  When removing a known host, libssh2_knownhost_del would remove the node from the linked list, free its memory and then overwrite the struct parameter (which indicated which node to remove) with 0.  However, this struct is actually allocated within the just-freed node meaning we're writing to freed memory.  This made Windows very upset.
  
  The fix is simply to overwrite the struct first before freeing the memory.

Daniel Stenberg (21 Feb 2010)
- show more verbose error when SCP send fails

- libssh2_socket_t is done, a library-free function is needed

- clarify that this frees all data associated with a session

- improved error handling

- add missing libssh2_error() calls
  
  To make sure the public API is functional and that the
  BLOCK_ADJUST_ERRNO() macro works correctly we MUST make sure to
  call libssh2_error() when we return errors.

- fix memory leak in userauth_keyboard_interactive()
  
  Mr anonymous in bug #125 pointed out that the userauth_keyboard_interactive()
  function does in fact assign the same pointer a second time to a new allocated
  buffer without properly freeing the previous one, which caused a memory leak.

- added missing error codes
  
  To allow the libssh2_session_last_error() function to work as
  documented, userauth_password() now better makes sure to call
  libssh2_error() everywhere before it returns error.
  
  Pointed out by mr anonymous in bug #128

Peter Stuge (16 Feb 2010)
- Fix resource and memory leaks in examples as reported by cppcheck
  
  Thanks to Ettl Martin for the report and patch. This fixes #132

Daniel Stenberg (15 Feb 2010)
- mention the new man pages for macros

- added man pages for API macros
  
  all #defined macros in the public headers are considered to be part
  of the API and I've generated individual man pages for each of them
  to A) make it easier to figure out what each function/macro actually
  is for so that automated lookups work better and for B) make sure we
  have all public functions document (both macros and functions) to
  make it easier for us to work away from all the macros in a future
  release.

- Committed the patch by Yoichi Iwaki in bug #2929647
  
  Committed the patch by Yoichi Iwaki in bug #2929647, which fixed a memory
  leak when an 'outbuf' was still allocated when a session was freed.

- free "outbuf" when killing a session
  
  Fix memoary leak: if there was an "output" still allocated when a
  session was torn down it needs to be freed in session_free()
  
  Patch by Yoichi Iwaki in bug #2929647

- the working version name is now 1.2.5_DEV

Version 1.2.4 (13 Feb 2010)

Daniel Stenberg (13 Feb 2010)
- updated info for 1.2.4

Dan Fandrich (10 Feb 2010)
- Allow compiling with OpenSSL when AES isn't available.

Peter Stuge (9 Feb 2010)
- [Dave McCaldon brought this change]

  Fix Tru64 socklen_t compile issue with example/direct_tcpip.c
  
  Building libssh2-1.2.3 on Tru64 fails at line 48 and 166 because socklen_t
  isn't defined on Tru64 unless _POSIX_PII_SOCKET is defined.
  
  This patch updates configure.ac to add -D_POSIX_PII_SOCKET when building
  on Tru64 platform(s).

- [Dave McCaldon brought this change]

  Resolve compile issues on Solaris x64 and UltraSPARC
  
  Solaris builds of libssh2-1.2.3 failed on both x64 and UltraSPARC
  platforms because of two problems:
  
  1) src/agent.c:145 sun is a reserved word when using the SUNWspro compiler
  2) example/direct_tcpip.c:84 INADDR_NONE is not defined

Daniel Stenberg (3 Feb 2010)
- towards 1.2.4 now

Version 1.2.3 (3 Feb 2010)

Daniel Stenberg (3 Feb 2010)
- Version 1.2.3 (February 3, 2010)

- fix building out of source tree by proving better include path
  
  when building out of source tree, we provide -I$(top_builddir)/example
  since the libssh2_config.h gets generated in that dir

Peter Stuge (1 Feb 2010)
- [Sofian Brabez brought this change]

  Replace : in hexdump with "  " (two spaces)

- Detect when the forwarded connection is closed in example/direct_tcpip.c

- Fix example/direct_tcpip.c to work also on WIN32
  
  read() and write() are no good for WIN32 sockets, use recv() and send().

- Ignore libssh2_config.h.in and stamp-h2 in example/ and remove .cvsignore

- Simplify WIN32 ifdefs in example/direct_tcpip.c to allow standalone compile

- Always #define INVALID_SOCKET -1 in libssh2_priv.h when not on win32
  
  Fix broken builds since commit abd9bd0bbe631efeada1f54552c70b54e1c490c1
  for all non-win32 platforms.

- Include hmac-md5 and hmac-md5-96 only if crypto backend supports MD5

- Use LIBSSH2_HOSTKEY_HASH_SHA1 instead of _MD5 in examples and tests
  
  MD5 support is optional and may not always be available, while SHA1 is both
  required and recommended.

- Update mailing list address in configure.ac to @cool.haxx.se

- Make example/direct_tcpip.c compile for win32
  
  One warning from FD_SET() remains, it is also in some other examples.

- Correctly check for an invalid socket in session_startup()

- Small documentation fix after Dave's _USERAUTH_FAILURE improvement

- [Dave McCaldon brought this change]

  Handle SSH_MSG_USERAUTH_FAILURE for password and kbd-int authentication
  
  Neither libssh2_userauth_password_ex() nor
  libssh2_userauth_keyboard_interactive_ex() would return a login failure
  error if the server responded with a SSH_MSG_USERAUTH_FAILURE, instead
  you would see whatever previous error had occurred, typically
  LIBSSH2_ERROR_EAGAIN.
  
  This patch changes error code -18 to LIBSSH2_ERROR_AUTHENTICATION_FAILED
  and makes LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED an alias for
  LIBSSH2_ERROR_AUTHENTICATION_FAILED.  In addition, new logic in
  userauth_password() properly handles SSH_MSG_USERAUTH_FAILURE and both
  this function and userauth_keyboard_interactive() now properly return
  LIBSSH2_ERROR_AUTHENTICATION_FAILED.

Simon Josefsson (28 Jan 2010)
- Fix.

- Also deal with GLOBAL_REQUEST keep-alives.

- Make OpenSSH-style keepalive work against libssh2 clients.

Daniel Stenberg (27 Jan 2010)
- clarified

Peter Stuge (26 Jan 2010)
- [Dave McCaldon brought this change]

  Fix trace context lookup in libssh2_debug()
  
  The trace context is actually a bitmask so that tracing output can be
  controlled by setting a bitmask using libssh2_trace().  However, the logic
  in libssh2_debug() that converted the context to a string was using the
  context value as an array index.  Because the code used a bounds check on
  the array, there was never a danger of a crash, but you would certainly
  either get the wrong string, or "unknown".
  
  This patch adds a lookup that iterates over the context strings and uses
  it's index to check for the corresponding bit in the context.

- Fix typo in RELEASE-NOTES

Daniel Stenberg (20 Jan 2010)
- updated for 1.2.3 with all the stuff I found in the log

- ignore more generated files

- [Dave McCaldon brought this change]

  Pass user context through libssh2_trace_sethandler() to callback
  
  The libssh2_trace_sethandler() call allows the user to handle the output of libssh2 rather than having it written to stderr.  This patch updates libssh2_trace_sethandler() to allow a user-defined void* context value to be passed back to the output handler.

- [Dave McCaldon brought this change]

  Add libssh2_trace_sethandler() to the API (even more)

- [Dave McCaldon brought this change]

  Add libssh2_trace_sethandler() to the API

- cleanup includes
  
  We now produce a local libssh2_config.h file in this dir for the
  examples to use so I cleaned up the include path at the same time.

- generate a libssh2_config.h in the example dir
  
  buildconf copies the template to example/ and configure makes sure
  to generate a proper file from it and the direct_tcpip.c example
  is the first one to use it - to make sure it builds fine on more
  paltforms

Simon Josefsson (13 Jan 2010)
- Remove redundant #includes and reorder sys/types.h include.

Daniel Stenberg (10 Jan 2010)
- avoid a free(NULL)

Simon Josefsson (7 Jan 2010)
- Make it simpler to get more debug info.

Daiki Ueno (1 Jan 2010)
- Simplify the commit 63457dfa using type cast from size_t * to ulong *.

Alexander Lamaison (30 Dec 2009)
- Fixed memory leak in userauth_publickey().
  
  userauth_publickey_fromfile() reads the key from a
  file using file_read_publickey() which returns two
  allocated strings, the decoded key and the key
  method (such as "ssh-dss").  The latter can be
  derived from the former but returning both avoids a
  later allocation while doing so.
  
  Older versions of userauth_publickey_fromfile() used
  this method string directly but when
  userauth_publickey() was factored out of
  userauth_publickey_fromfile() it derived the method
  from the key itself.  This resulted in the method
  being allocated twice.
  
  This fix, which maintains the optimisation that
  avoids an extra allocation, changes
  userauth_publickey() so it doesn't allocate and
  derive the method when userauth_pblc_method already
  has a value.
  
  Signed-off-by: Alexander Lamaison <awl03@doc.ic.ac.uk>

Daiki Ueno (25 Dec 2009)
- Fix the return value description of libssh2_knownhost_free().

- Fix compiler warnings for size_t pointers on 32-bit Windows.

- Define INVALID_SOCKET and use it instead of SOCKET_BAD.
  
  Revert the part of previous commit that defines SOCKET_BAD library wide.

- Use libssh2_socket_t in the ssh-agent stuff.
  Define a portability macro SOCKET_BAD which means "invalid socket".

- Mark/unmark connection to Pageant is open/close.

- Add test to check if the socket is connected.

Peter Stuge (24 Dec 2009)
- Add libssh2.pc to top-level .gitignore

- Fix publickey authentication regression
  
  Commit 70b199f47659a74b8778c528beccf893843e5ecb introduced a parsing
  bug in file_read_publickey() which made the algorithm name contain an
  extra trailing space character, breaking all publickey authentication.

- Add a direct-tcpip example which shows local port forwarding

- Add session parameter and LIBSSH2_TRACE_SOCKET to libssh2_trace(3) man page

- Add TODO: Expose error messages sent by the server

Daiki Ueno (23 Dec 2009)
- Fix doc comments.

- Add man pages for ssh-agent API.

- Don't request userauthlist after authentication.

Simon Josefsson (21 Dec 2009)
- Add.

- [Daiki Ueno brought this change]

  Add an example to use ssh-agent API.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- [Daiki Ueno brought this change]

  Add ssh-agent API.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- [Daiki Ueno brought this change]

  Add callback-based API for publickey auth.
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- Move examples from example/simple to example/.

- Move examples from example/simple to example/.

Daniel Stenberg (17 Dec 2009)
- _libssh2_list_insert() fixed to work
  
  While this is code not currently in use, it is part of the generic linked
  list code and since I found the error I thought I'd better fix it since we
  might bring in this function into the code one day.

Simon Josefsson (16 Dec 2009)
- Silence compiler warnings.
  
  Based on patch by Kamil Dudka <kdudka@redhat.com> in
  <http://www.mail-archive.com/libssh2-devel@cool.haxx.se/msg00796.html>.

- [Kamil Dudka brought this change]

  libgcrypt: simplify code of _libssh2_dsa_sha1_sign
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

- [Kamil Dudka brought this change]

  libgcrypt: follow-up for ssh-dss padding fix
  
  Signed-off-by: Simon Josefsson <simon@josefsson.org>

Dan Fandrich (15 Dec 2009)
- Check for the right environment variable in the test app

Simon Josefsson (14 Dec 2009)
- Silence warning about unused function parameter.
  
  Reported by Steven Van Ingelgem <steven@vaningelgem.be>.

Daniel Stenberg (10 Dec 2009)
- avoid returning data to memory already freed
  
  In case of failure we must make sure that the data we return
  doesn't point to a memory area already freed. Reported anonymously
  in the bug report #2910103.

Peter Stuge (8 Dec 2009)
- Use LIBSSH2_TRACE_* internally and remove redundant LIBSSH2_DBG_*

- Add LIBSSH2_TRACE_SOCKET context for tracing send() and recv()
  
  Helpful in debugging the -39 errors.

- Another transport layer fix for bogus -39 (LIBSSH2_ERROR_BAD_USE) errors
  
  Commit 683aa0f6b52fb1014873c961709102b5006372fc made send_existing() send
  more than just the second part of a packet when the kernel did not accept
  the full packet, but the function still overlooked the SSH protocol
  overhead in each packet, often 48 bytes.
  
  If only the last few bytes of a packet remained, then the packet would
  erroneously be considered completely sent, and the next call to write
  more data in the session would return a -39 error.

Daniel Stenberg (6 Dec 2009)
- move local variable to be more localized

- fixed some indent mistakes

Peter Stuge (6 Dec 2009)
- Fix padding in ssh-dss signature blob encoding
  
  DSA signatures consist of two 160-bit integers called r and s. In ssh-dss
  signature blobs r and s are stored directly after each other in binary
  representation, making up a 320-bit (40 byte) string. (See RFC4253 p14.)
  
  The crypto wrappers in libssh2 would either pack r and s incorrectly, or
  fail, when at least one integer was small enough to be stored in 19 bytes
  or less.
  
  The patch ensures that r and s are always stored as two 160 bit numbers.

- Don't always clear write direction blocking flag
  
  When libssh2_transport_write() is called to continue sending a
  partially sent packet the write direction flag must not be cleared
  until the previous packet has been completely sent, or the app would
  hang if the packet still isn't sent completely, since select() gets
  called by the internal blocking emulation layer in libssh2 but would
  then not be watching the socket for writability.
  
  Clear the flag only once processing of previous packet data is
  complete and a new packet is about to be prepared.

Alexander Lamaison (24 Nov 2009)
- Detabify.

- [Daniel Stenberg brought this change]

  Fixed memory leak in sftp_fstat().

Simon Josefsson (17 Nov 2009)
- Mark date of 1.2.2 release.

- Merge branch 'master' of ssh://git.stuge.se/var/lib/git/libssh2

Version 1.2.2 (16 Nov 2009)

Daniel Stenberg (16 Nov 2009)
- prepared for 1.2.2

Simon Josefsson (16 Nov 2009)
- Improve NEWS items.

- Support AES-Counter ciphers.

- Silence compiler warning.
  
  Reported by Steven Van Ingelgem <steven@vaningelgem.be>
  in <http://thread.gmane.org/gmane.network.ssh.libssh2.devel/2566>.

- Mention libssh2-style.el.

- Use memmove instead of memcpy on overlapping memory areas.
  
  Reported by Bob Alexander <balexander@expressor-software.com> in
  <http://thread.gmane.org/gmane.network.ssh.libssh2.devel/2530>.

- Add.

- Protect against crash on too small SSH_MSG_IGNORE packets.
  
  Reported by Bob Alexander <balexander@expressor-software.com>
  in <http://thread.gmane.org/gmane.network.ssh.libssh2.devel/2530>.

- add copyright line
share/doc/alt-libssh2/COPYING000064400000003536150506011200011567 0ustar00/* Copyright (c) 2004-2007 Sara Golemon <sarag@libssh2.org>
 * Copyright (c) 2005,2006 Mikhail Gusarov <dottedmag@dottedmag.net>
 * Copyright (c) 2006-2007 The Written Word, Inc.
 * Copyright (c) 2007 Eli Fant <elifantu@mail.ru>
 * Copyright (c) 2009-2014 Daniel Stenberg
 * Copyright (C) 2008, 2009 Simon Josefsson
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms,
 * with or without modification, are permitted provided
 * that the following conditions are met:
 *
 *   Redistributions of source code must retain the above
 *   copyright notice, this list of conditions and the
 *   following disclaimer.
 *
 *   Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials
 *   provided with the distribution.
 *
 *   Neither the name of the copyright holder nor the names
 *   of any other contributors may be used to endorse or
 *   promote products derived from this software without
 *   specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
 * OF SUCH DAMAGE.
 */

share/doc/alt-libssh2/README000064400000000734150506011200011411 0ustar00libssh2 - SSH2 library
======================

libssh2 is a library implementing the SSH2 protocol, available under
the revised BSD license.

Web site: https://www.libssh2.org/

Mailing list: https://cool.haxx.se/mailman/listinfo/libssh2-devel

License: see COPYING

Source code: https://github.com/libssh2/libssh2

Web site source code: https://github.com/libssh2/www

Installation instructions are in:
 - docs/INSTALL_CMAKE for CMake
 - docs/INSTALL_AUTOTOOLS for Autotools
share/doc/alt-libssh211/ChangeLog000064400000000011150521770650012453 0ustar00see NEWS
share/doc/alt-libssh211/NEWS000064400001242234150521770650011420 0ustar00   Changelog for the libssh2 project. Generated with git2news.pl

Daniel Stenberg (16 Oct 2024)
- RELEASE-NOTES: 1.11.1

Viktor Szakats (8 Oct 2024)
- RELEASE-NOTES: sync [ci skip]

- [Anders Borum brought this change]

  session: support server banners up to 8192 bytes (was: 256)
  
  If server had banner exceeding 256 bytes there wasn't enough room in
  `_LIBSSH2_SESSION.banner_TxRx_banner`. Only the first 256 bytes would be
  read making the first packet read fail but also dooming key exchange as
  `session->remote.banner` didn't include everything.
  
  This change bumps the banner buffer to 8KB to match OpenSSH.
  
  Fixes #1442
  Closes #1443

- RELEASE-NOTES: sync [ci skip]

- cmake: sync and improve Find modules, add `pkg-config` native detection
  
  - sync code between Find modules.
  - wolfssl: replace `pkg-config` hints with native detection.
  - libgcrypt, mbedtls: add `pkg-config`-based native detection.
  - libgcrypt: add version detection.
  - limit `pkg-config` use for `UNIX`, vcpkg, and non-cross MinGW builds,
    and builds with no manual customization via `*_INCLUDE_DIR` or
    `*_LIBRARY`.
  - replace and sync Find module header comments.
  - ci: delete manual mbedTLS config that's now redundant.
  
  Based on similar work done in curl.
  
  Second attempt at #1420
  Closes #1445

- cmake: initialize `LIBSSH2_LIBDIRS` [ci skip]
  
  Follow-up to c87f12963037b22e6b60411c9c2d6513c06e2f03 #1466

- ci/appveyor: fix and bump OpenSSL 3 path, add path check
  
  Follow-up to b5e68bdc37c6afa0dc777794dda8307167919d04 #1461
  Closes #1468

- cmake: link to OpenSSL::Crypto, not OpenSSL::SSL
  
  Follow-up to 82b09f9b3aae97f641fbcc2d746d2a6383abe857 #1322
  Follow-up to c84745e34e53f863ffba997ceeee7d43d1c63a4b #1128
  Cherry-picked from #1445
  Closes #1467

- cmake: generate `LIBSSH2_PC_LIBS_PRIVATE` dynamically
  
  Generate `LIBSSH2_PC_LIBS_PRIVATE` from `LIBSSH2_LIBS`.
  
  Also add extra libdirs (`-L`) to `Libs` and `Libs.private`.
  
  Logic copied from curl.
  
  Closes #1466

- cmake: initialize `LIBSSH2_PC_REQUIRES_PRIVATE` [ci skip]
  
  Follow-up to 0fce9dcc2909ffff5f4a1a1bc3d359fc7f409299 #1464

- cmake: add comment about `ibssh2.pc.in` variables [ci skip]

- cmake: support absolute `CMAKE_INSTALL_INCLUDEDIR`/`CMAKE_INSTALL_LIBDIR`
  
  in `libssh2.pc`.
  
  Also use `${exec_prefix}` (instead of `${prefix}`) as a base for `libdir`.
  
  Closes #1465

- cmake: rename two variables and initialize them
  
  - `LIBRARIES` -> `LIBSSH2_LIBS`
  - `SOCKET_LIBRARIES` -> `LIBSSH2_LIBS_SOCKET`
  
  Also initialize them before use.
  
  Cherry-picked from #1445
  Closes #1464

- ci/appveyor: reduce test runs (workaround for infrastructure permafails)
  
  Jobs consistently fail to connect to the test server (run in GHA) since
  2024-Aug-29:
  https://ci.appveyor.com/project/libssh2org/libssh2/builds/50498393
  
  There was an earlier phase of failures one month before that, that got
  fixed by increasing the wait for the server in
  bf3af90b3f1bb14cf452df7a8eb55cc9088f3e7f.
  
  Thus, skip running tests in AppVeyor CI jobs, except: After some
  experiments, it seems that running tests with the last OpenSSL job and
  the last WinCrypt job _work_, which still leaves some coverage.
  It remains to be seen how stable this is.
  
  This is meant as a temporary fix till there is a solution to make all
  jobs run tests reliable like up until a few months ago.
  
  Closes #1461

- [Patrick Monnerat brought this change]

  os400: drop vsprintf() use
  
  Follow-up to discussion in #1457
  
  Plus e-mail address update.
  
  Closes #1462

- RELEASE-NOTES: sync [ci skip]

Daniel Stenberg (30 Sep 2024)
- openssl: free allocated resources when using openssl3
  
  Reproduces consistently with curl test case 638
  
  Closes #1459

Viktor Szakats (28 Sep 2024)
- checksrc: update, check all sources, fix fallouts
  
  update from curl:
  https://github.com/curl/curl/blob/cff75acfeca65738da8297aee0b30427b004b240/scripts/checksrc.pl
  
  Closes #1457

- cmake: prefer `find_dependency()` in `libssh2-config.cmake`
  
  CMake manual suggest using `find_dependency()` (over  `find_package()`)
  in `config.cmake` scripts.
  
  Ref: https://cmake.org/cmake/help/latest/module/CMakeFindDependencyMacro.html
  
  Closes #1460

- ci: use Ninja with cmake
  
  Closes #1458

GitHub (27 Sep 2024)
- [dksslq brought this change]

  Fix memory leaks in _libssh2_ecdsa_curve_name_with_octal_new and _libssh2_ecdsa_verify (#1449)
  
  Better error handling in`_libssh2_ecdsa_curve_name_with_octal_new` and `_libssh2_ecdsa_verify` to prevent leaks.
  
  Credit: dksslq <dksslq@github.com>

- [rolag brought this change]

  Fix unstable connections over nonblocking sockets (#1454)
  
  The `send_existing()` function allows partially sent packets to be sent
  fully before any further packets are sent. Originally this returned
  `LIBSSH2_ERROR_BAD_USE` when a different caller or thread tried to send
  an existing packet created by a different caller or thread causing the
  connection to disconnect. Commit 33dddd2f8ac3bc81 removed the return
  allowing any caller to continue sending another caller's packet. This
  caused connection instability as discussed in #1397 and confused the
  client and server causing occasional duplicate packets to be sent and
  giving the error `rcvd too much data` as discussed in #1431. We return
  `LIBSSH2_ERROR_EAGAIN` instead to allow existing callers to finish
  sending their own packets.
  
  Fixes #1397
  Fixes #1431
  Related #720
  
  Credit: klux21, rolag

- [Will Cosgrove brought this change]

  Prevent possible double free of hostkey (#1452)
  
  NULL server hostkey based on fuzzer failure case.

Viktor Szakats (7 Sep 2024)
- cmake: tidy up syntax, minor improvements
  
  - make internal variables underscore-lowercase.
  - unfold lines.
  - fold lines setting header directories.
  - fix indent.
  - drop interim variable `EXAMPLES`.
  - initialize some variables before populating them.
  - clear a variable after use.
  - add `libssh2_dumpvars()` function for debugging.
  - allow to override default `CMAKE_UNITY_BUILD_BATCH_SIZE`.
  - bump up default `CMAKE_UNITY_BUILD_BATCH_SIZE` to 0 (was 32).
  - tidy up option descriptions.
  
  Closes #1446

- cmake: rename mbedTLS and wolfSSL Find modules
  
  To match the curl ones.
  
  Cherry-picked from #1445

- RELEASE-NOTES: sync [ci skip]

- cmake: fixup version detection in mbedTLS find module
  
  - avoid warning with 2.x versions about missing header file while
    extracting the version number.
  
  - clear temp variables.
  
  Closes #1444

- buildconf: drop
  
  Use `autoreconf -fi` instead.
  
  Follow-up to fc5d77881eb6bb179f831e626d15f4f29179aad5
  Closes #1441

- [Michael Buckley brought this change]

  Implement chacha20-poly1305@openssh.com
  
  Probably the biggest and potentially most controversial change we have
  to upstream.
  
  Because earlier versions of OpenSSL implemented the algorithm before
  standardization, using an older version of OpenSSL can cause problems
  connecting to OpenSSH servers. Because of this, we use the public domain
  reference implementation instead of the crypto backends, just like
  OpenSSH does.
  
  We've been holding this one for a few years. We were about to upstream
  it around the same time as aes128gcm landed upstream, and the two
  changes were completely incompatible. Honestly, it took me weeks to
  reconcile these two implementations, and it could be much better.
  
  Our original implementation changed every crypt method to decrypt the
  entire message at once. the AESGCM implementation instead went with this
  firstlast design, where a firstlast paramater indicates whether this is
  the first or last call to the crypt method for each message. That added
  a lot of bookkeeping overhead, and wasn't compatible with the chacha
  public domain implementation.
  
  As far as I could tell, OpenSSH uses the technique of decrypting the
  entire message in one go, and doesn't have anything like firstlast.
  However, I could not get out aes128gcm implementation to work that way,
  nor could I get the chacha implementation to work with firstlast, so I
  split it down the middle and let each implementation work differently.
  It's kind of a mess, and probably should be cleaned up, but I don't have
  the time to spend on it anymore, and it's probably better to have
  everything upstream.
  
  Fixes #584
  Closes #1426

- tidy-up: do/while formatting
  
  Also fix an indentation and delete empty lines.
  
  Closes #1440

- wolfssl: drop header path hack
  
  The wolfSSL OpenSSL headers reside in `wolfssl/openssl/*.h`.
  
  Before this patch the wolfSSL OpenSSL compatibilty header includes were
  shared with the native OpenSSL codepath, and used `openssl/*h`. For
  wolfSSL builds this required a hack to append the
  `<wolfssl-prefix>/wolfssl` directory to the header search path, to find
  the headers.
  
  This patch changes the source to use the correct header references,
  allowing to drop the header path hack.
  
  Also fix to use the correct variable to set up the header path in CMake:
  `WOLFSSL_INCLUDE_DIRS` (was: `WOLFSSL_INCLUDE_DIR`, without the `S`)
  
  Closes #1439

- cmake: mbedTLS detection tidy-ups
  
  - set and use `MBEDTLS_INCLUDE_DIRS`.
  - stop marking `MBEDTLS_LIBRARIES` as advanced.
  
  Closes #1438

- cmake: add quotes, delete ending dirseps
  
  Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 #1166
  Closes #1437

- CI/appveyor: increase wait for SSH server on GHA [ci skip]
  
  Blind attempt to make AppVeyor CI tests work again.

- disable DSA by default
  
  Also:
  - add `LIBSSH2_DSA_ENABLE` to enable it explicitly.
  - test the above option in CI.
  - say 'deprecated' in docs and public header.
  - disable DSA in the CI server config.
    (OpenSSH 9.8 no longer builds with it by default)
    https://www.openssh.com/txt/release-9.8
    Patch-by: Jose Quaresma
  - disable more DSA code when not enabled.
  
  Fixes #1433
  Closes #1435

GitHub (30 Jul 2024)
- [Viktor Szakats brought this change]

  tidy-up: link updates (#1434)

Marc Hoersken (27 Jul 2024)
- ci/GHA: revert concurrency and improve permissions
  
  Statuses are per AppVeyor event and commit, not pull-request.
  Also align permissions approach with curl, least priviledge.
  
  Partially reverts b08cfbc99fa4df3459db4e1ccf4263fd260e9b15.

GitHub (23 Jul 2024)
- [Will Cosgrove brought this change]

  Always init mbedtls_pk_context (#1430)
  
  In the failure case, mbedtls_pk_context could be free'd without first being initialized.

- [Viktor Szakats brought this change]

  mbedtls: tidy-up (#1429)

- [Will Cosgrove brought this change]

  Correctly initialize values (#1428)
  
  Fix regression with commit from #1421

Viktor Szakats (14 Jul 2024)
- RELEASE-NOTES: sync [ci skip]

- [Seo Suchan brought this change]

  mbedtls: expose `mbedtls_pk_load_file()` for our use
  
  While it's moved to pk_internal, it won't removed in mbedTLS 3.6 LTS
  so it's safe to redeclare it on our side to find it.
  
  This is implementing emergency fix suggested from
  https://github.com/libssh2/libssh2/commit/2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4#commitcomment-141379351
  
  Follow-up to e973493f992313b3be73f51d3f7ca6d52e288558 #1393
  Follow-up to 2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4 #1349
  Closes #1421

GitHub (13 Jul 2024)
- [Viktor Szakats brought this change]

  ci/GHA: simplify mbedTLS build hack for autotools (#1425)
  
  Follow-up to e973493f992313b3be73f51d3f7ca6d52e288558 #1393

- [Michael Buckley brought this change]

  Always check for null pointers before calling _libssh2_bn_set_word (#1423)

- [Viktor Szakats brought this change]

  ci/GHA: FreeBSD 14.1, actions bump (#1424)

- [Michael Buckley brought this change]

  Increase SFTP_HANDLE_MAXLEN back to 4092 (#1422)
  
  Match OpenSSH for compatibility.

Viktor Szakats (10 Jul 2024)
- ci/GHA: tidy up casing [ci skip]

- REUSE: fix typo in comment

- REUSE: shorten and improve
  
  Follow-up to 70b8bf314cf4566a7529c5d6eae63097a926abb0 #1419

- REUSE: upgrade to `REUSE.toml`
  
  Closes #1419

- build: stop detecting `sys/param.h` header
  
  This header is no longer used.
  
  Follow-up to 12427f4fb8e789adcee4a6e30974932883915e88 #1415
  Closes #1418

- [Nicolas Mora brought this change]

  tests: avoid using `MAXPATHLEN`, for portability
  
  `MAXPATHLEN` is not present in some systems, e.g. GNU Hurd.
  
  Co-authored-by: Viktor Szakats
  Ref: 54bef4c5dad868a9d45fdbfca9729b191c0abab5 #198
  Fixes #1414
  Closes #1415

- cmake: sync formatting in `cmake/Find*` modules

- [Michael Buckley brought this change]

  sftp: implement posix-rename@openssh.com
  
  Add a new function `libssh2_sftp_posix_rename_ex()` and
  `libssh2_sftp_posix_rename()`, which implement
  the posix-rename@openssh.com extension.
  
  If the server does not support this extension, the function returns
  `LIBSSH2_FX_OP_UNSUPPORTED` and it's up to the user to recover, possibly
  by calling `libssh2_sftp_rename()`.
  
  Co-authored-by: Viktor Szakats (bump to size_t)
  Closes #1386

- src: use `UINT32_MAX`
  
  Needs to be defined for platforms missing it, e.g. VS2008.
  
  Closes #1413

GitHub (25 Jun 2024)
- [Michael Buckley brought this change]

  Fix a memory leak in key exchange. (#1412)
  
  Original fix submitted as a patch by Trzik.
  
  Co-authored-by: Michael Buckley <michael@panic.com>

Viktor Szakats (25 Jun 2024)
- RELEASE-NOTES: sync [ci skip]

- wolfssl: fix `EVP_Cipher()` use with v5.6.0 and older
  
  Add workaround for the wolfSSL `EVP_Cipher(*p, NULL, NULL, 0)` bug to
  make libssh2 work with wolfSSL v5.6.0 and older.
  
  wolfSSL fixed this issue in v5.7.0:
  https://github.com/wolfSSL/wolfssl/pull/7143
  https://github.com/wolfSSL/wolfssl/commit/b0de0a1c95119786cf5651dd76dd7d7bdfac5a04
  
  Without our local workaround:
  
  - v5.3.0 and older fail most tests:
    Ref: https://github.com/libssh2/libssh2/actions/runs/9646827522/job/26604211476#step:17:1263
  
  - v5.4.0, v5.5.x, v5.6.0 fail these:
    ```
    29 - test_read-aes128-cbc (Failed)
    30 - test_read-aes128-ctr (Failed)
    32 - test_read-aes192-cbc (Failed)
    33 - test_read-aes192-ctr (Failed)
    34 - test_read-aes256-cbc (Failed)
    35 - test_read-aes256-ctr (Failed)
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/9646827522/job/26604233819#step:17:978
  
  Oddly enough the workaround breaks OpenSSL tests, so only enable it for
  the affected wolfSSL versions.
  
  Also add new build-from-source wolfSSL CI job to test the new codepath.
  
  wolfSSL has a build bug where `wolfssl/options.h` and
  `wolfssl/version.h` are not copied to the `install` destination with
  autotools. With CMake it has a different bug where `wolfcrypt/sp_int.h`
  is not copied (with v5.4.0). And another with CMake where `FIPS_mode()`
  remains missing (with v5.6.0 and earlier.)
  
  Therefore use CMake with v5.5.4 and a workaround for `FIPS_mode()`.
  Another option is autotools with v5.4.0 and a workaround for `install`,
  but CMake builds quicker.
  
  Regression-from 3c953c05d67eb1ebcfd3316f279f12c4b1d600b4 #797
  Fixes #1020
  Fixes #1299
  Assisted-by: Michael Buckley via #1394
  Closes #1394 (another attempt to fix the mentioned wolfSSL bug)
  Closes #1407

- wolfssl: bump version in upstream issue comment [ci skip]

- wolfssl: require v5.4.0 for AES-GCM
  
  Earlier versions crash while running tests.
  
  This patch is part of a series of fixes to make wolfSSL AES-GCM support
  work together with libssh2.
  
  Possibly related is this wolfSSL bugfix patch, released in v5.4.0:
  https://github.com/wolfSSL/wolfssl/pull/5205
  https://github.com/wolfSSL/wolfssl/commit/fb3c611275dfe454c331baa0818445a0406c208a
  "Fix another AES-GCM EVP control command issue"
  
  Ref: #1020
  Ref: #1299
  Cherry-picked from #1407
  Closes #1411

- tests: fix excluding AES-GCM tests
  
  Replace hard-coded crypto backends and rely on `LIBSSH2_GCM` macro
  to decide whether to run AES-GCM tests.
  
  Without this, build attempted to run AES-GCM tests (and failed)
  for crypto backends that have conditional support for this feature, e.g.
  wolfSSL without the necessary features built-in
  (as in before Homewbrew wolfssl 5.7.0_1, or OpenSSL v1.1.0 and older).
  
  This patch is part of a series of fixes to make wolfSSL AES-GCM support
  work together with libssh2.
  
  Cherry-picked from #1407
  Closes #1410

- ci/GHA: fix wolfSSL-from-source AES-GCM tests
  
  Turns out these tests:
  ```
  31 - test_read-aes128-gcm@openssh.com (Failed)
  36 - test_read-aes256-gcm@openssh.com (Failed)
  ```
  were failing because AES-GCM wasn't enabled in libssh2. This in turn
  happened because the `WOLFSSL_AESGCM_STREAM` macro wasn't enabled while
  building wolfSSL. Which happened because this macro isn't enabled by
  any CMake-level wolfSSL option. Passing it as `CPPFLAGS` fixes it.
  
  This allows enabling tests with wolfSSL 5.7.0.
  
  Follow-up to d4cea53f53c78febad14b4caa600e25d1aaf92fd #1408
  Closes #1409

- ci/GHA: add Linux job with latest wolfSSL built from source
  
  After this patch it's possible to run tests with wolfSSL 5.7.0.
  
  wolfSSL 5.7.0 fixes this bug that affects open issues #1020 and #1299:
  https://github.com/wolfSSL/wolfssl/pull/7143
  
  `-DWOLFSSL_OPENSSLALL=ON` is necessary for `wolfSSL_FIPS_mode()`
  
  Closes #1408

- ci/GHA: tidy up build-from-source steps [ci skip]
  
  - make curl downloads less verbose.
  
  - fix cmake warning:
    ```
    CMake Warning:
      No source or binary directory provided.  Both will be assumed to be the
      same as the current working directory, but note that this warning will
      become a fatal error in future CMake releases.
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/9509866494/job/26213472410#step:5:32

- [Adam brought this change]

  src: fix type warning in `libssh2_sftp_unlink` macro
  
  The `libssh2_sftp_unlink` macro was implicitly casting the `size_t`
  returned by `strlen` to the `unsigned int` type expected by
  `libssh2_sftp_unlink_ex`.
  
  This fix adds an explicit cast to match similar macro definitions in
  the same file (e.g. `libssh2_sftp_rename`, `libssh2_sftp_mkdir`).
  
  Closes #1406

- libssh2.pc: reference mbedcrypto pkgconfig
  
  mbedtls 3.6.0 got pkgconfig support:
  https://github.com/Mbed-TLS/mbedtls/commit/a4d17b34f354557838e05d2cb47200e8dcaaf59b
  
  Reference it from `libssh2.pc`.
  
  Closes #1405

- tidy-up: typo in comment [ci skip]

- RELEASE-NOTES: sync [ci skip]
  
  Also bump planned deprecation dates.

- ci/GHA: show configure logs on failure and other tidy-ups
  
  - dump cmake error log on configure failure. (for cmake 3.26 and newer)
  - dump `config.log` on autotools configure failure.
  - convert specs filename to Windows format before passing to CMake.
  - add missing quotes.
  
  Closes #1403

- ci/GHA: bump parallel jobs to nproc+1
  
  Ref: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
  
  Closes #1402

- ci/GHA: show test logs on failure
  
  Closes #1401

- ci/GHA: fix `Dockerfile` failing after Ubuntu package update
  
  Likely due an upstream Ubuntu package update (requiring an apt-get
  install call beforehand), tests run via autotools started failing with
  no change in the libssh2 repo:
  ```
  FAIL: test_aa_warmup
  ====================
  
  Error running command 'docker build --quiet -t libssh2/openssh_server %s' (exit 256): Dockerfile:10
  --------------------
     8 |      && apt-get clean \
     9 |      && rm -rf /var/lib/apt/lists/*
    10 | >>> RUN mkdir /var/run/sshd
    11 |
    12 |     # Chmodding because, when building on Windows, files are copied in with
  --------------------
  ERROR: failed to solve: process "/bin/sh -c mkdir /var/run/sshd" did not complete successfully: exit code: 1
  
  Failed to build docker image
  Cannot stop session - none started
  Cannot stop container - none started
  Command: docker build --quiet -t libssh2/openssh_server ../../tests/openssh_server
  FAIL test_aa_warmup (exit status: 1)
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/9322194756/job/25662748095#step:11:390
  
  Fix it by skipping `mkdir` if `/var/run/sshd` already exists.
  
  (Why cmake-based jobs aren't affected, I don't know.)
  
  Ref: https://github.com/libssh2/libssh2/commit/50143d5867d35df76a6cf589ca8a13b22105aa64#commitcomment-142560875
  Closes #1400

- ci/GHA: use ubuntu-latest with OmniOS job
  
  It's the same as ubuntu-22.04.
  
  Also update OmniOS package search link.

- ci: disable dependency tracking in autotools builds
  
  For better build performance. Dependency tracking causes a build
  overhead while compiling to help a subsequent build, but in CI there is
  never one and the extra work is discarded.
  
  Closes #1396

- mbedtls: fail to compile with v3.6.0 outside CI
  
  A compile-time failure is preferred over an unexpected one at
  runtime.
  
  The problem is silenced with a macro in CI and this macro will have
  to be added to more platforms when mbedTLS v3.6.0 reaches them.
  
  Follow-up to 2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4 #1349
  Closes #1393

- tests: drop default cygpath option `-u`

- tidy-up: fix typo found by codespell
  
  Ref: https://github.com/libssh2/libssh2/actions/runs/9224795055/job/25380857082?pr=1393#step:4:5

- ci/GHA: shell syntax tidy-up
  
  Closes #1390

- RELEASE-NOTES: sync [ci skip]

- ci/GHA: bump NetBSD/OpenBSD, add NetBSD arm64 job
  
  OpenBSD arm64 jobs were very slow, so skipped that.
  
  Closes #1388

- autotools: fix to update `LDFLAGS` for each detected dependency
  
  autotools lib detection routine failed to extend LDFLAGS for each
  detection. This could cause successful detection of a dependency, but
  later failing to use it. This did not cause an issue as long as all
  dependencies lived under the same prefix, but started breaking on macOS
  ARM + Homebrew where this was no longer true for mbedTLS and zlib in
  particular.
  
  Follow-up to 844115393bffb4e92c6569204cbe4cd8e553480d #1381
  Follow-up to ae2770de25949bc7c74e60b4cc6a011bbe1d3d7c #1377
  Closes #1384

GitHub (8 May 2024)
- [Michael Buckley brought this change]

  OpenSSL 3: Fix calculating DSA public key (#1380)

Viktor Szakats (8 May 2024)
- ci/GHA: tidy-up wolfSSL autotools config on macOS
  
  Closes #1383

- ci/GHA: shorter mbedTLS autotools workaround
  
  Follow-up to 844115393bffb4e92c6569204cbe4cd8e553480d #1381
  Closes #1382

GitHub (8 May 2024)
- [Michael Buckley brought this change]

  ci: fix mbedtls runners on macOS (#1381)
  
  Sets LDFLAGS while configuring the autoconf mbedTLS build for macOS.

Viktor Szakats (29 Apr 2024)
- RELEASE-NOTES: sync [ci skip]

- [binary1248 brought this change]

  wincng: fix `DH_GEX_MAXGROUP` set higher than supported
  
  In 1c3a03ebc3166cf69735111aba2b8cee57cdba51 #493,
  `LIBSSH2_DH_GEX_MAXGROUP` was introduced to specify
  crypto-backend-specific modulus sizes. Unfortunately, the max size for
  the wincng DH modulus was defined to 8192, probably because this is the
  value most other backends support.
  
  According to Microsoft documentation [1], `BCryptGenerateKeyPair`
  currently only supports up to 4096-bit keys when the selected algorithm
  is `BCRYPT_DH_ALGORITHM`. Requesting larger keys when calling
  `BCryptGenerateKeyPair` in `_libssh2_dh_key_pair` always results in
  `STATUS_INVALID_PARAMETER` being returned and ultimately key exchange
  failing.
  
  When attempting to connect to any server that offers 8192 bit DH, this
  causes key exchange to always fail when using the wincng backend.
  Reducing `LIBSSH2_DH_GEX_MAXGROUP` to 4096 fixes the issue.
  
  [1] https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgeneratekeypair
  
  Closes #1372

- build: silence warnings inside `FD_SET()`/`FD_ISSET()` macros
  
  Use an ugly workaround to silence `-Wsign-conversion` warnings triggered
  by the internals of `FD_SET()`/`FD_ISSET()` macros. They've been showing
  up in OmniOS CI builds when compiling `example` programs. They also have
  been seen with older Cygwin and other envs and configurations.
  
  Also scope two related variables in examples.
  
  E.g.:
  ```
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    251 |         FD_SET(forwardsock, &fds);
        |         ^~~~~~
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    259 |         if(rc && FD_ISSET(forwardsock, &fds)) {
        |                  ^~~~~~~~
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/8854199687/job/24316762831#step:3:2020
  
  Closes #1379

- autotools: use `AM_CFLAGS`
  
  Use `AM_CFLAGS` to pass custom, per-target C flags. This replaces using
  `CFLAGS` which triggered this warning when running `autoreconf -fi`:
  ```
  tests/Makefile.am:8: warning: 'CFLAGS' is a user variable, you should not override it;
  tests/Makefile.am:8: use 'AM_CFLAGS' instead
  ```
  (Only for `tests`, even though `example` and `src` also used this
  method. The warning is also missing from curl, that also uses
  `CFLAGS`.)
  
  Follow-up to 3ec53f3ea26f61cbf2e0fbbeccb852fca7f9b156 #1286
  Closes #1378

GitHub (25 Apr 2024)
- [Viktor Szakats brought this change]

  ci/GHA: fix gcrypt with autotools/macOS/Homebrew/ARM64 (#1377)
  
  mbedtls configure fails to detect anything due to this:
  ```
  configure:23101: gcc -o conftest -g -O2 -I/opt/homebrew/include  conftest.c  -lmbedcrypto -lz >&5
  ld: library 'mbedcrypto' not found
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  ```

Viktor Szakats (25 Apr 2024)
- autotools: delete bogus square bracket from help text [ci skip]
  
  Follow-up to 3f98bfb0900b5e68445a339cfebc60b307a24650 #1368

GitHub (25 Apr 2024)
- [Viktor Szakats brought this change]

  ci/GHA: fix verbose option for autotools jobs (#1376)
  
  Also enable verbose for macOS `make` step.

- [Viktor Szakats brought this change]

  ci/GHA: dump `config.log` on failure for macOS autotools jobs (#1375)

- [Viktor Szakats brought this change]

  ci/GHA: fix `autoreconf` failure on macOS/Homebrew (#1374)
  
  By manually installing `libtool`.
  
  ```
  autoreconf -fi
    shell: /bin/bash -e {0}
  configure.ac:75: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
        If this token and others are legitimate, please use m4_pattern_allow.
        See the Autoconf documentation.
  configure.ac:76: error: possibly undefined macro: AC_PROG_LIBTOOL
  autoreconf: error: /opt/homebrew/Cellar/autoconf/2.72/bin/autoconf failed with exit status: 1
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/8833608758/job/24253334557#step:4:1

- [Viktor Szakats brought this change]

  ci/GHA: fixup Homebrew location (for ARM runners) (#1373)
  
  GHA macOS runners became ARM64 machines. Make the Homebrew prefix
  dynamic to adapt to these installations.

Viktor Szakats (14 Apr 2024)
- RELEASE-NOTES: sync [ci skip]

- [Patrick Monnerat brought this change]

  os400: Add two recent files to the distribution
  
  Closes #1364

- wincng: add to ci/GHA, add `./configure` option `--enable-ecdsa-wincng`
  
  - add `./configure` option `--enable-ecdsa-wincng`
  
  - add WinCNG autotools jobs to GHA.
  
  - enable WinCNG ECDSA in some GHA jobs (both CMake and autotools).
  
  Follow-up to 3e72343737e5b17ac98236c03d5591d429b119ae #1315
  Closes #1368

GitHub (14 Apr 2024)
- [Johannes Passing brought this change]

  wincng: add ECDSA support for host and user authentication (#1315)
  
  The WinCNG backend currently only supports DSA and RSA. This PR
  adds ECDSA support for host and user authentication.
  
  * Disable WinCNG ECDSA support by default to maintain backward
    compatibility for projects that target versions below Windows 10.
  
  * Add cmake option `ENABLE_ECDSA_WINCNG` to guard ECDSA support.
  
  * Update AppVeyor job matrix to only enable ECDSA on Server 2016+

Viktor Szakats (14 Apr 2024)
- ci: enable Unity mode for most CMake builds
  
  Ref: 7129ea9ca8cca86dac80a6bac2d63937987efe9d #1034
  Closes #1367

- os400: fix shellcheck warnings in scripts (fixups)
  
  - Build scripts must be executed by the os/400 shell (sh), not bash which
    is a PASE program: The `-ot` non-POSIX test extension works in os/400 as
    well. Ref: https://github.com/libssh2/libssh2/pull/1364#issue-2241646754
  
  - Drop/fixup mods trying to make some syntax highlighters happier.
  
  Follow-up to c6625707b94d9093f38f1a0a4d89c11b64f12ba8 #1358
  Assisted-by: Patrick Monnerat
  Closes #1364
  Closes #1366

- cmake: style tidy-up (more)
  
  Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 #1166
  Closes #1365

- RELEASE-NOTES: sync [ci skip]

- os400: fix shellcheck warnings in scripts
  
  - use `$()` instead of backticks, and re-arrange double-quotes inside.
  - add missing `|| exit 1` to `cd` calls. (could be dropped by using `set -eu`.)
  - add `-n` to a few `if`s.
  - shorten redirections by using `{} >` (as shellcheck recommended).
  - silence warnings where variables were detected as unused (SC2034).
  - a couple misc updates to silence warnings.
  - switch to bash shebang for `-ot` feature.
  - split two lines to unbreak syntax highlighting in my editor. (`$(expr \`, `$(dirname \`)
  
  Also enable CI checks for OS/400 shell scripts.
  
  Ref: d88b9bcdafe9d19aad2fb120d0a0acb3edab64f7
  Closes #1358

- RELEASE-NOTES: sync [ci skip]

- ci: add shellcheck job and script
  
  Add FIXME for OS/400 scripts.
  
  Cherry-picked from #1358

- tests: fix shellcheck issues in `test_sshd.test`
  
  Cherry-picked from #1358

- RELEASE-NOTES: sync [ci skip]

GitHub (9 Apr 2024)
- [Viktor Szakats brought this change]

  ci/appveyor: re-enable OpenSSL 3, also bump to 3.2.1 (#1363)
  
  Ref: 104744f4a523de574ce3767c50948d9b8385be4c #1348

Viktor Szakats (9 Apr 2024)
- ci: use a better test timestamp [ci skip]
  
  Mar 27 2024 08:00:00 GMT+0000
  
  Follow-up to 2d765e454d98b794a5e5bbc497b1fcba4a9b8c4b #1360

GitHub (9 Apr 2024)
- [Viktor Szakats brought this change]

  ci: verify build and install from tarball (#1362)
  
  Install verification based on:
  https://github.com/curl/curl/blob/28c5ddf13ac311d10bc4e8f9fc4ce0858a19b888/scripts/installcheck.sh

Viktor Szakats (9 Apr 2024)
- tidy-up: dir names, command-line [ci skip]
  
  Follow-up to 2d765e454d98b794a5e5bbc497b1fcba4a9b8c4b #1360

- cmake: tidy up function name casing in `CopyRuntimeDependencies.cmake`
  
  Use lowercase to match callers.

GitHub (9 Apr 2024)
- [Viktor Szakats brought this change]

  ci: add reproducibility test for `maketgz` (#1360)

Viktor Szakats (9 Apr 2024)
- maketgz: add reproducible dir entries to tarballs
  
  In the initial implementation of reproducible tarballs, they were
  missing directory entries, while .zip archives had them. It meant
  that on extracting the tarball, on-disk directory entries got the
  current timestamp.
  
  This patch fixes this by including directory entries in the tarball,
  with reproducible timestamps. It also moves sorting inside tar,
  to ensure reproducible directory entry timestamps on extract
  (without the need of `--delay-directory-restore` option, when
  extracting with GNU tar. BSD tar got that right by default.)
  
  GNU tar 1.28 (2014-07-28) introduced `--sort=`.
  
  Follow-up to d52fe1b4358fab891037d86b5c73c098079567db #1357
  Closes #1359

- ci/GHA: improve version number in `maketgz` test
  
  Follow-up to cba7f97506c1b8e5ff131bbbc57b5796ac634c56 #1353

GitHub (8 Apr 2024)
- [Michael Buckley brought this change]

  src: check the return value from `_libssh2_bn_*()` functions (#1354)
  
  Found by oss-fuzz. In `diffie_hellman_sha_algo()`, we were calling
  `_libssh2_bn_from_bin()` with data recieved by the server without
  checking whether that data was zero-length or ridiculously long.
  In the OpenSSL backend, this would cause `_libssh2_bn_from_bin()`
  to fail an allocation, which would eventually lead to a NULL
  dereference when the bignum was used.
  
  Add the same check for `_libssh2_bn_set_word()` and
  `_libssh2_bn_to_bin()`.

Viktor Szakats (8 Apr 2024)
- maketgz: reproducible tarballs/zip, display tarball hashes
  
  - support `SOURCE_DATE_EPOCH` for reproducibility.
  - make tarballs reproducible.
  - make file timestamps in tarball/zip reproducible.
  - make directory timestamps in zip reproducible.
  - make timestamps of tarballs/zip reproducible.
  - make file order in tarball/zip reproducible.
  - use POSIX ustar tarball format to avoid supply chain vulnerability: https://seclists.org/oss-sec/2021/q4/0
  - make uid/gid in tarball reproducible.
  - omit owner user/group names from tarball for reproducibility and privacy.
  - omit current timestamp from .gz header for reproducibility.
  - display SHA-256 hashes of produced tarballs/zip. (Requires `sha256sum`)
  - re-sync formatting with curl's `maketgz`.
  
  Closes #1357

- maketgz: `set -eu`, reproducibility, improve zip, add CI test
  
  - set bash `-eu`.
  - fix bash `-eu` issues.
  - apply `TZ=UTC` and `LC_ALL=C` for reproducibility.
  - sort `.zip` entries for reproducibility.
  - zip with `--no-extra` for reproducibliity.
  - use maximum zip compression.
  - add the gpg sign command-line. Copied from curl.
  - add CI test for `maketgz`.
  
  Closes #1353

- RELEASE-NOTES: sync and cleanups [ci skip]

GitHub (3 Apr 2024)
- [Tejaswikandula brought this change]

  Support RSA SHA2 cert-based authentication (rsa-sha2-512_cert and rsa-sha2-256_cert) (#1314)
  
  Replicating OpenSSH's behavior to handle RSA certificate authentication
  differently based on the remote server version.
  
  1. For OpenSSH versions >= 7.8, ascertain server's support for RSA Cert
     types by checking if the certificate's signature type is present in
     the `server-sig-algs`.
  
  2. For OpenSSH versions < 7.8, Set the "SSH_BUG_SIGTYPE" flag when the
     RSA key in question is a certificate to ignore `server-sig-algs` and
     only offer ssh-rsa signature algorithm for RSA certs.
  
  This arises from the fact that OpenSSH versions up to 7.7 accept
  RSA-SHA2 keys but not RSA-SHA2 certificate types. Although OpenSSH <=7.7
  includes RSA-SHA2 keys in the `server-sig-algs`, versions <=7.7 do not
  actually support RSA certs. Therefore, server sending RSA-SHA2 keys in
  `server-sig-algs` should not be interpreted as indicating support for
  RSA-SHA2 certs. So, `server-sig-algs` are ignored when the RSA key in
  question is a cert, and the remote server version is 7.7 or below.
  
  Relevant sections of the OpenSSH source code:
  
  <https://github.com/openssh/openssh-portable/blob/V_8_9_P1/sshconnect2.c#L1191-L1197>
  <https://github.com/openssh/openssh-portable/blob/master/compat.c#L43>
  
  Assisted-by: Will Cosgrove
  Reviewed-by: Viktor Szakats

Viktor Szakats (3 Apr 2024)
- RELEASE-NOTES: sync [ci skip]
  
  Also fix to include 3-digit issue/PR references.

- mbedtls: add workaround + FIXME to build with 3.6.0
  
  This is just a stub to make `_libssh2_mbedtls_ecdsa_new_private`
  compile.
  
  mbedtls 3.6.0 silently deleted its public API `mbedtls_pk_load_file`,
  which this function relies on.
  
  Closes #1349

GitHub (3 Apr 2024)
- [Viktor Szakats brought this change]

  ci/appveyor: OpenSSL 3 no longer found by CMake, revert to 1.1.1 (#1348)
  
  Ref: https://github.com/appveyor/build-images/commit/702e8cdca01f28f6a40687783f493c786cebbe2c
  Ref: https://github.com/appveyor/build-images/pull/149

Viktor Szakats (3 Apr 2024)
- docs: improve `libssh2_userauth_publickey_from*` manpages
  
  Reported-by: Lyndon Brown
  Assisted-by: Ryan Kelley
  Fixes #652
  Closes #1308
  Closes #xxxx

- RELEASE-NOTES: sync [ci skip]

GitHub (2 Apr 2024)
- [Viktor Szakats brought this change]

  test debian:testing-slim post xz backdoor removal (#1346)
  
  The unexplained CI fallouts are gone with the latest debian:testing (20240330).
  
  Ref #1328 #1329 #1338.
  Closes #1346

Viktor Szakats (30 Mar 2024)
- ci: use Linux runner for BSDs, add arm64 FreeBSD 14 job
  
  - bump cross-platform-actions to 0.23.0.
    Ref: https://github.com/cross-platform-actions/action/releases/tag/v0.23.0
  
  - switch to Linux runners (from macOS) for cross-platform-actions.
    It's significantly faster.
  
  - switch back FreeBSD 14 job to cross-platform-actions.
    Also switch back to default shell.
  
  - add FreeBSD 14 arm64 job.
  
  Closes #1343

- ci: use single quotes in yaml [ci skip]

- ci: tidy-up job order [ci skip]

- build: drop `-Wformat-nonliteral` warning suppressions
  
  Also markup a vararg function as such.
  
  In functions marked up as vararg functions, there is no need to suppress
  `-Wformat-nonliteral` warnings. It's done automatically by the compiler.
  
  Closes #1342

- ci: delete flaky FreeBSD 13.2 job
  
  Keep FreeBSD 14.

- RELEASE-NOTES: sync [ci skip]

- example: restore `sys/time.h` for AIX
  
  In AIX, `time.h` header file doesn't have definitions like
  `fd_set`, `struct timeval`, which are found in `sys/time.h`.
  
  Add `sys/time.h` to files affected when available.
  
  Regression from e53aae0e16dbf53ddd1a4fcfc50e365a15fcb8b9 #1001.
  
  Reported-by: shubhamhii on GitHub
  Assisted-by: shubhamhii on GitHub
  Fixes #1334
  Fixes #1335
  Closes #1340

- userauth: avoid oob with huge interactive kbd response
  
  - If the length of a response is `UINT_MAX - 3` or larger, an unsigned
    integer overflow occurs on 64-bit systems. Avoid such truncation to
    always allocate enough memory to avoid subsequent out of boundary
    writes.
  
    Patch-by: Tobias Stoeckmann
  
  - also add FIXME to bump up length field to `size_t` (ABI break)
  
  Closes #1337

GitHub (28 Mar 2024)
- [Josef Cejka brought this change]

  transport: check ETM on remote end when receiving (#1332)
  
  We should check if encrypt-then-MAC feature is enabled in remote end's
  configuration.
  
  Fixes #1331

- [Josef Cejka brought this change]

  kex: always add extension indicators to kex_algorithms (#1327)
  
  KEX pseudo-methods "ext-info-c" and "kex-strict-c-v00@openssh.com"
  are in default kex method list but they were lost after configuring
  custom kex method list in libssh2_session_method_pref().
  
  Fixes #1326

- [Jiwoo Park brought this change]

  cmake: use the imported target of FindOpenSSL module (#1322)
  
  * Use the imported target of FindOpenSSL module
  * Build libssh2 before test runner
  * Use find_package() in the CMake config file
  * Use find_dependency() rather than find_package()
  * Install CMake module files and use them in the config file
  * Use elseif() to choose the crypto backend

- [Andrei Augustin brought this change]

  docs: update INSTALL_AUTOTOOLS (#1316)
  
  corrected --with-libmbedtls-prefix to current option --with-libmbedcrypto-prefix

Viktor Szakats (28 Mar 2024)
- ci: don't parallelize `distcheck` job
  
  A while ago the `distcheck` CI job became flaky. This continued after
  switching to Debian stable (from testing). Try stabilzing it by running
  it single-threaded.
  
  Closes #1339

- Dockerfile: switch to Debian stable (from testing)
  
  This fixes flakiness experienced recently with two OpenSSL jobs and one
  libgcrypt job, and/or intermittently causing all Docker-based tests to
  fail.
  
  Reported-by: András Fekete
  Fixes #1328
  Fixes #1329
  Closes #1338

GitHub (22 Feb 2024)
- [Michael Buckley brought this change]

  Supply empty hash functions for mac_method_hmac_aesgcm to avoid a crash when e.g. setting LIBSSH2_METHOD_CRYPT_CS (#1321)

- [Michael Buckley brought this change]

  gen_publickey_from_dsa: Initialize BIGNUMs to NULL for OpenSSL 3 (#1320)

Viktor Szakats (23 Jan 2024)
- RELEASE-NOTES: add algo deprecation notices [ci skip]
  
  Closes #1307

- RELEASE-NOTES: sync [ci skip]

GitHub (22 Jan 2024)
- [Juliusz Sosinowicz brought this change]

  wolfssl: enable debug logging in wolfSSL when compiled in (#1310)
  
  Co-authored-by: Viktor Szakats

- [monnerat brought this change]

  os400: maintain up to date (#1309)
  
  - Handle MD5 conditionals in os400qc3.
  - Check for errors in os400qc3 pbkdf1.
  - Implement an optional build options override file.
  - Sync ILE/RPG copy files with current C header files.
  - Allow a null session within a string conversion cache.
  - Add an ILE/RPG example.
  - Adjust outdated copyrights in changed files.

Viktor Szakats (18 Jan 2024)
- RELEASE-NOTES: sync

- src: check hash update/final success
  
  Also:
  - delete unused internal macro `libssh2_md5()` where defined.
  - prefix `libssh2_os400qc3_hash*()` function names with underscore.
    These are public/visible, but internal.
  - add FIXMEs to OS/400 code to verify update/final calls; some OS API,
    some internal.
  
  Ref: https://github.com/libssh2/libssh2/pull/1301#discussion_r1446861650
  Reviewed-by: Michael Buckley
  Reviewed-by: Patrick Monnerat
  Closes #1303

- RELEASE-NOTES: sync [ci skip]

GitHub (18 Jan 2024)
- [Ryan Kelley brought this change]

  openssl: fix cppcheck found NULL dereferences (#1304)
  
  * Fix NULL dereference in gen_publickey_from_rsa_evp and
    gen_publickey_from_dsa_evp.
  * Add checks for en_publickey_from_ec_evp and en_publickey_from_ed_evp

Viktor Szakats (12 Jan 2024)
- openssl: delete internal `read_openssh_private_key_from_memory()`
  
  It was wrapping another internal function with no added logic.
  
  Closes #1306

- openssl: formatting/whitespace
  
  Also use `NULL` instead of `0` for pointers.
  
  Closes #1305

- HACKING-CRYPTO: more fixups [ci skip]
  
  Follow-up to f64885b6ab9bbdae2da9ebd70f4dd5cea56e838a #1297

- HACKING-CRYPTO: fixups [ci skip]
  
  Follow-up to f64885b6ab9bbdae2da9ebd70f4dd5cea56e838a #1297

- RELEASE-NOTES: sync [ci skip]

- src: check hash init success
  
  Before this patch, SHA2 and SHA1 init function results were cast to
  `void`. This patch makes sure to verify these values.
  
  Also:
  - exclude an `assert(0)` from release builds in `_libssh2_sha_algo_ctx_init()`.
    (return error instead)
  - fix indentation / whitespace
  
  Reviewed-by: Michael Buckley
  Closes #1301

- mac: handle low-level errors
  
  - update low-level hmac functions from macros to functions.
  - libgcrypt: propagate low-level hmac errors.
  - libgcrypt: add error checks for hmac calls.
  - os400qc3: add error checks, propagate them.
    Assisted-by: Patrick Monnerat
  - mbedtls: fix propagating low-level hmac errors.
  - wincng: fix propagating low-level hmac errors.
  - mac: verify success of low-level hmac functions.
  - knownhost: verify success of low-level hmac functions.
  - transport: verify success of MAC hash call.
  - minor type cleanup in wincng.
  - delete unused ripemd wrapper in wincng.
  - delete unused SHA384 wrapper in mbedtls.
  
  Reported-by: Paul Howarth
  Reviewed-by: Michael Buckley
  Closes #1297

GitHub (8 Jan 2024)
- [Michael Buckley brought this change]

  Fix an out-of-bounds read in _libssh2_kex_agree_instr when searching for a KEX not in the server list (#1302)

Viktor Szakats (21 Dec 2023)
- RELEASE-NOTES: sync [ci skip]

- ci/appveyor: re-enable parallel mode
  
  The comment cited earlier is no longer true with recent CMake versions.
  This options does actually enable parallel builds with MSVC since CMake
  v3.26.0: https://gitlab.kitware.com/cmake/cmake/-/issues/20564
  
  The effect isn't much for libssh2, because it spends most time in tests,
  but let's enable it anyway for efficiency.
  
  Ref: 0d08974633cfc02641e6593db8d569ddb3644255 #884
  Ref: 7a039d9a7a2945c10b4622f38eeed21ba6b4ec55 #867
  
  Closes #1294

- ci/gha: review/fixup auto-cancel settings
  
  - use the group expression from `reuse.yml` (via curl).
  - add auto-cancel for `ci` and `cifuzz`.
  - add auto-cancel to `appveyor_docker`. I'm just guessing here.
    The hope is that it fixes AppVeyor CI runs when re-pushing a PR.
    This frequently caused the freshly pushed session to fail waiting for
    a connection.
  - sync group expression in `appveyor_status` with `reuse`.
  
  Closes #1292

- RELEASE-NOTES: fix casing in GitHub names [ci skip]

- RELEASE-NOTES: synced [ci skip]
  
  Closes #1279

- [Michael Buckley brought this change]

  src: add 'strict KEX' to fix CVE-2023-48795 "Terrapin Attack"
  
  Refs:
  https://terrapin-attack.com/
  https://seclists.org/oss-sec/2023/q4/292
  https://osv.dev/list?ecosystem=&q=CVE-2023-48795
  https://github.com/advisories/GHSA-45x7-px36-x8w8
  https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795
  
  Fixes #1290
  Closes #1291

- session: add `libssh2_session_callback_set2()`
  
  Add new `libssh2_session_callback_set2()` API that deprecates
  `libssh2_session_callback_set()`.
  
  The new implementation offers the same functionality, but accepts and
  returns a generic function pointer (of type `libssh2_cb_generic *`), as
  opposed to the old function that used data pointers (`void *`). The new
  solution thus avoids data to function (and vice versa) pointer
  conversions, which has undefined behaviour in standard C.
  
  About the name: It seems the `*2` suffix was used in the past for
  replacement functions for deprecated ones. Let's stick with that.
  `*_ex` was preferred for new functions that extend existing ones with
  new features.
  
  Closes #1285

- build: enable `-pedantic-errors`
  
  According to the manual, this isn't the same as `-Werror -pedantic`.
  Enable it together with `-Werror`.
  
  https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-pedantic-errors-1
  
  This option results in autotools feature detection going into crazies.
  To avoid this, we add it to `CFLAGS` late. Idea copied from curl.
  
  This option has an effect only with gcc 5.0 and newer as of this commit.
  Let's enable it for clang and older versions too for simplicity. Ref:
  https://github.com/curl/curl/commit/d5c0351055d5709da8f3e16c91348092fdb481aa
  https://github.com/curl/curl/pull/2747
  
  Closes #1286

- build: add mingw-w64 support to `LIBSSH2_PRINTF()` attribute
  
  And fix the warning it detected.
  
  Closes #1287

- libssh2.h: add deprecated function warnings
  
  With deprecated-at versions and suggested replacement function.
  
  It's possible to silence them by defining `LIBSSH2_DISABLE_DEPRECATION`.
  
  Also add depcreated-at versions to documentation, and unify wording.
  
  Ref: https://github.com/libssh2/libssh2/pull/1260#issuecomment-1837017987
  Closes #1289

- ci/spellcheck: delete redundant option [ci skip]
  
  `--check-hidden` not necessary when passing filenames explicitly.
  
  Follow-up to a79218d3a058a333bb9de14079548a3511679a04

- tidy-up: add empty line for clarity [ci skip]

- build: FIXME `-Wsign-conversion` to be errors [ci skip]

- src: disable `-Wsign-conversion` warnings, add option to re-enable
  
  To avoid the log noise till we fix those ~360 compiler warnings.
  
  Also add macro `LIBSSH2_WARN_SIGN_CONVERSION` to re-enable them.
  
  Follow-up to afa6b865604019ab27ec033294edfe3ded9ae0c0 #1257
  
  Closes #1284

- cmake: fix indentation [ci skip]

- example, tests: call `WSACleanup()` for each `WSAStartup()`
  
  On Windows.
  
  Closes #1283

- RELEASE-NOTES: update credits [ci skip]
  
  Ref: https://github.com/libssh2/libssh2/pull/1241#issuecomment-1830118584

- RELEASE-NOTES: avoid splitting names, fix typo, refine order [ci skip]

- RELEASE-NOTES: synced [ci skip]

- add portable `LIBSSH2_SOCKET_CLOSE()` macro
  
  Add `LIBSSH2_SOCKET_CLOSE()` to the public `libssh2.h` header, for user
  code. It translates to `closesocket()` on Windows and `close()` on other
  platforms.
  
  Use it in example code.
  
  It makes them more readable by reducing the number of `_WIN32` guards.
  
  Closes #1278

- ci: add FreeBSD 14 job, fix issues
  
  - install bash to fix error when running tests:
    ```
    ERROR: test_sshd.test - missing test plan
    ERROR: test_sshd.test - exited with status 127 (command not found?)
    =====================================
    [...]
    # TOTAL: 4
    # PASS:  2
    # SKIP:  0
    # XFAIL: 0
    # FAIL:  0
    # XPASS: 0
    # ERROR: 2
    [...]
    env: bash: No such file or directory
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7133852508/job/19427420687#step:3:3998
  
  - fix sshd issue when running tests:
    ```
      # sshd log:
      #  Server listening on :: port 4711.
      #  Server listening on 0.0.0.0 port 4711.
      #  Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/key_rsa.pub
      #  Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/openssh_server/authorized_keys
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429828342#step:3:4059
  
  Cherry-picked from #1277
  Closes #1277

- ci: add OmniOS job, fix issues
  
  - use GNU Make, to avoid errors:
    ```
    make: Fatal error in reader: Makefile, line 983: Badly formed macro assignment
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429838379#step:3:1956
  
    Caused by `?=` in `Makefile.am`. Fix it just in case.
  
    ```
    make: Fatal error in reader: Makefile, line 438: Unexpected end of line seen
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7135524843/job/19432451767#step:3:1966
  
    It's around line 43 in `Makefile.am`, reason undiscovered.
  
  - fix error:
    ```
    ../../src/hostkey.c:1227:44: error: pointer targets in passing argument 5 of '_libssh2_ed25519_sign' differ in signedness [-Werror=pointer-sign]
       1227 |                                  datavec[0].iov_base, datavec[0].iov_len);
            |                                  ~~~~~~~~~~^~~~~~~~~
            |                                            |
            |                                            caddr_t {aka char *}
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7135102832/job/19431233967#step:3:2225
  
    https://docs.oracle.com/cd/E36784_01/html/E36887/iovec-9s.html
  
  - FIXME: new `-Wsign-conversion` warnings appeared in examples:
    ```
    ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
      251 |         FD_SET(forwardsock, &fds);
          |         ^~~~~~
    ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
    ../../example/direct_tcpip.c:251:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion]
    ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
      259 |         if(rc && FD_ISSET(forwardsock, &fds)) {
          |                  ^~~~~~~~
    ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
    [...]
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/7136086865/job/19433997429#step:3:3450
  
  Cherry-picked from #1277

- example: use `libssh2_socket_t` in X11 example
  
  Cherry-picked from #1277

- [Aaron Stone brought this change]

  Handle EINTR from send/recv/poll/select to try again as the error is not fatal
  
  Integration-patches-by: Viktor Szakats
  Fixes #955
  Closes #1058

- appveyor: delete UWP job broken since Visual Studio upgrade
  
  Few days ago UWP job started permafailing.
  
  fail: https://ci.appveyor.com/project/libssh2org/libssh2/builds/48678129/job/yb8n2pox8mfjwv6m
  good: https://ci.appveyor.com/project/libssh2org/libssh2/builds/48673013
  
  Other projects also affected:
  https://ci.appveyor.com/project/c-ares/c-ares/builds/48687390/job/l0fo4b0sijvqkw9r
  
  No related local update. Same CMake version. Same CI image.
  
  This seems to be the culprit, which could mean that this update broke
  CMake detection, needs a different CMake configuration on our end, or
  that this MSVC update pulled support for UWP apps:
  
  fail: -- The C compiler identification is MSVC 19.38.33130.0 (~ Visual Studio 2022 v17.8)
  good: -- The C compiler identification is MSVC 19.37.32825.0 (~ Visual Studio 2022 v17.7)
  
  If this is v17.8, release notes don't readily suggest a feature removal:
  https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.8
  
  So it might just be UWP accidentally broken in this release.
  
  Closes #1275

- checksrc: sync with curl
  
  Closes #1272

- autotools: delete `--disable-tests` option, fix CI tests
  
  Originally added to improve build performance by skipping building
  tests. But, there seems to be no point in this, because autotools
  doesn't build tests by default, unless explicitly invoking
  `make check`.
  
  Delete this option from Cygwin and FreeBSD CI tests, where it caused
  `make check` to do nothing. Tests are built now, and runtime tests are
  too, where supported.
  
  Also disable Docker-based tests for these, and add a missing `make -j3`
  for FreeBSD.
  
  Reverts 7483edfada1f7e17cf8f9ac1c87ffa3d814c987e #715
  
  Closes #1271

GitHub (6 Dec 2023)
- [ren mingshuai brought this change]

  build: add `LIBSSH2_NO_DEPRECATED` option (#1266)
  
  The following APIs have been deprecated for over 10 years and
  use `LIBSSH2_NO_DEPRECATED` to mark them as deprecated:
  
  libssh2_session_startup()
  libssh2_banner_set()
  libssh2_channel_receive_window_adjust()
  libssh2_channel_handle_extended_data()
  libssh2_scp_recv()
  
  Add these options to disable them:
  - autotools: `--disable-deprecated`
  - cmake: `-DLIBSSH2_NO_DEPRECATED=ON`
  - `CPPFLAGS`: `-DLIBSSH2_NO_DEPRECATED`
  
  Fixes #1259
  Replaces #1260
  Co-authored-by: Viktor Szakats
  Closes #1267

Viktor Szakats (5 Dec 2023)
- autotools: show the default for `hidden-symbols` option
  
  Closes #1269

- tidy-up: bump casts from int to long for large C99 types in printfs
  
  Cast large integer types to avoid dealing with printf masks for
  `size_t` and other C99 types. Some of existing code used `int`
  for this, bump them to `long`.
  
  Ref: afa6b865604019ab27ec033294edfe3ded9ae0c0 #1257
  
  Closes #1264

- build: enable missing OpenSSF-recommended warnings, with fixes
  
  Ref:
  https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
  (2023-11-29)
  
  Enable new warnings:
  
  - replace `-Wno-sign-conversion` with `-Wsign-conversion`.
  
    Fix them in example, tests and wincng. There remain about 360 of these
    warnings in `src`. Add a TODO item for those and disable `-Werror` for
    this particular warning.
  
  - enable `-Wformat=2` for clang (in both cmake and autotools).
  
  - enable `__attribute__((format))` for `_libssh2_debug()`,
    `_libssh2_snprintf()` and in tests for `run_command()`.
  
    `LIBSSH2_PRINTF()` copied from `CURL_TEMP_PRINTF()` in curl.
  
  - enable `-Wimplicit-fallthrough`.
  
  - enable `-Wtrampolines`.
  
  Fix them:
  
  - src: replace obsolete fall-through-comments with
    `__attribute__((fallthrough))`.
  
  - wincng: fix `-Wsign-conversion` warnings.
  
  - tests: fix `-Wsign-conversion` warnings.
  
  - example: fix `-Wsign-conversion` warnings.
  
  - src: fix `-Wformat` issues in trace calls.
  
    Also, where necessary fix `int` and `unsigned char` casts to
    `unsigned int` and adjust printf format strings. These were not
    causing compiler warnings.
  
    Cast large types to `long` to avoid dealing with printf masks for
    `size_t` and other C99 types. Existing code often used `int` for this.
    I'll update them to `long` in an upcoming commit.
  
  - tests: fix `-Wformat` warning.
  
  - silence `-Wformat-nonliteral` warnings.
  
  - mbedtls: silence `-Wsign-conversion`/`-Warith-conversion`
    in external header.
  
  Closes #1257

- packet: whitespace fix
  
  Tested via #1257

- tidy-up: unsigned -> unsigned int
  
  In the `interval` argument of public `libssh2_keepalive_config()`.
  
  Tested via #1257

- tests: sync port number type with the rest of codebase
  
  Tested via #1257

- autotools: enable `-Wunused-macros` with gcc
  
  It works with gcc without the libtool warnings seen with clang
  on Windows in 96682bd5e14c20828e18bf10ed5b4b5c7543924a #1227.
  
  Sync usage of of this macro with CMake and
  autotools + clang + non-Windows. Making it enabled everywhere except
  autotools + clang + Windows due to the libtool stub issue.
  
  Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224
  
  Closes #1262

- TODO: disable or drop weak algos [ci skip]
  
  Closes #1261

- example, tests: fix/silence `-Wformat-truncation=2` gcc warnings
  
  Then sync this warning option with curl.
  
  Seems like a false positive and/or couldn't figure how to fix it, so silence:
  ```
  example/ssh2.c:227:38: error: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size 0 [-Werror=format-truncation=]
    227 |             snprintf(fn1, fn1sz, "%s/%s", h, pubkey);
        |                                      ^~
  example/ssh2.c:227:34: note: assuming directive output of 1 byte
    227 |             snprintf(fn1, fn1sz, "%s/%s", h, pubkey);
        |                                  ^~~~~~~
  example/ssh2.c:227:13: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 2
    227 |             snprintf(fn1, fn1sz, "%s/%s", h, pubkey);
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  example/ssh2.c:228:38: error: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size 0 [-Werror=format-truncation=]
    228 |             snprintf(fn2, fn2sz, "%s/%s", h, privkey);
        |                                      ^~
  example/ssh2.c:228:34: note: assuming directive output of 1 byte
    228 |             snprintf(fn2, fn2sz, "%s/%s", h, privkey);
        |                                  ^~~~~~~
  example/ssh2.c:228:13: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 2
    228 |             snprintf(fn2, fn2sz, "%s/%s", h, privkey);
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7055480458/job/19205970397#step:10:98
  
  Fix:
  ```
  tests/openssh_fixture.c:116:38: error: ' 2>&1' directive output may be truncated writing 5 bytes into a region of size between 1 and 1024 [-Werror=format-truncation=]
  tests/openssh_fixture.c:116:11: note: 'snprintf' output between 6 and 1029 bytes into a destination of size 1024
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7055480458/job/19205969221#step:10:51
  
  Tested via #1257

- example: fix indentation follow-up
  
  Fix long line and fix more indentations.
  
  Follow-up to 9e896e1b80911a53d6aabb322e034e6ca51b6898

- example: fix indentation
  
  Tested via #1257

- autotools: fix missed `-pedantic` and `-Wall` options for gcc
  
  Follow-up to 5996fefe2bad80cfba85b2569ce6ab6ef575142c #1223
  
  Tested via #1257

- ci: show compiler in cross/cygwin job names
  
  Tested via #1257

- mbedtls: further improve disabling `-Wredundant-decls`
  
  Move warning option suppression to `src/mbedtls.h` to surround the actual
  external header #includes that need it.
  
  Follow-up to ecec68a2c13a9c63fe8c2dc457ae785a513e157c #1226
  Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224
  
  Tested via #1257

GitHub (1 Dec 2023)
- [ren mingshuai brought this change]

  example: replace remaining libssh2_scp_recv with libssh2_scp_recv2 in output messages (#1258)
  
  libssh2_scp_recv is deprecated and has been replaced by libssh2_scp_recv2
  in prior commit.
  
  Follow-up to 6c84a426beb494980579e5c1d244ea54d3fc1a3f

Viktor Szakats (27 Nov 2023)
- openssl: use OpenSSL 3 HMAC API, add `no-deprecated` CI job
  
  - use OpenSSL 3 API when available for HMAC.
    This fixes building with OpenSSL 3 `no-deprecated` builds.
  
  - ensure we support pure OpenSSL 3 API by adding a CI job using
    OpenSSL 3 custom-built with `no-deprecated`.
  
  Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207
  
  Fixes #1235
  Closes #1243

- ci: restore lost comment for FreeBSD [ci skip]
  
  Follow-up to eee4e8055ab375c9f9061d4feb39086737f41a9c

- ci: add OpenBSD (v7.4) job + fix build error in example
  
  - Use CMake, LibreSSL and clang from the base install.
  
  - This uncovered a build error in `example/subsystem_netconf.c`, caused
    by using the `%n` printf mask. This is a security risk and some
    systems (notably OpenBSD) disable this feature.
  
    Fix it by applying this patch from OpenBSD ports (from 2021-09-11):
    https://cvsweb.openbsd.org/ports/security/libssh2/patches/patch-example_subsystem_netconf_c?rev=1.1&content-type=text/x-cvsweb-markup
    https://github.com/openbsd/ports/commit/2c5b2f3e94381914a3e8ade960ce8c997ca9d6d7
    "The old code is also broken, as it passes a pointer to a variable
    of a different size (on LP64).  There is no check for truncation,
    but buf[] is 1MB in size."
    Patch-by: naddy
  
    ```
    /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:252:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror]
          "]]>]]>\n%n", (int *)&len);
                   ~^
    /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:270:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror]
          "]]>]]>\n%n", (int *)&len);
                   ~^
    2 errors generated.
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/6991449778/job/19022024280#step:3:420
  
  Also made tests with arm64, but it takes consistently almost 14m to
  finish the job, vs. 2-3m for the native amd64:
  https://github.com/libssh2/libssh2/actions/runs/6991648984/job/19022440525
  https://github.com/libssh2/libssh2/actions/runs/6991551220/job/19022233651
  
  Cherry-picked from #1250
  Closes #1250

- ci: add NetBSD (v9.3) job
  
  Use CMake, OpenSSL (v1.1) and clang from the base install.
  
  Cherry-picked from #1250

- ci: update and speed up FreeBSD job
  
  - switch to an alternate GitHub action. This one seems (more) actively
    maintained, and runs faster:
    https://github.com/cross-platform-actions/action
  
  - use clang instead of gcc. clang is already present in the base
    install, saving install time and bandwidth.
  
  - stop installing `openssl-quictls` and use the OpenSSL (v1.1) from
    the base system.
    (I'm suspecting that quictls before this patch wasn't detected by
    the build.)
    https://wiki.freebsd.org/OpenSSL
  
  Cherry-picked from #1250

- stop using leading underscores in macro names
  
  Underscored macros are reserved for the compiler / standard lib / etc.
  Stop using them in user code.
  
  We used them as header guards in `src` and in `__FILESIZE` in `example`.
  
  Closes #1248

- ci: use absolute path in `CMAKE_INSTALL_PREFIX`
  
  To make the installed locations unambiguous in the build logs.
  
  Closes #1247

- openssl: make a function static, add `#ifdef` comments
  
  Follow-up to 03092292597ac601c3f9f0c267ecb145dda75e4e #248
  where the function was added.
  
  Also add comments to make `#ifdef` branches easier to follow in
  `openssl.h`.
  
  Closes #1246

- ci: boost mbedTLS build speed
  
  Build times down to 4 seconds (from 18-20).
  
  Closes #1245

- openssl: fix DSA code to use OpenSSL 3 API
  
  - fix missing `DSA` type when building for OpenSSL 3 `no-deprecated`.
  - fix fallouts after fixing the above by switching away from `DSA`
    with OpenSSL 3.
  
  Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207
  
  Closes #1244

- openssl: formatting (delete empty lines) [ci skip]

- tests: fall back to `$LOGNAME` for username
  
  If the `$USER` variable is empty, fall back to using `$LOGNAME` to
  retrieve the logged-in username.
  
  In POSIX, `$LOGNAME` is a mandatory variable, while `$USER` isn't, and
  on some systems it may not be set. Without this value, tests were unable
  to provide the correct username when logging into the SSH server running
  under the active user's session.
  
  Reported-by: Nicolas Mora
  Suggested-by: Nicolas Mora
  Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056348
  Fixes #1240
  Closes #1241

- libssh2.h: use `_WIN32` for Windows detection instead of rolling our own
  
  Sync up `libssh2.h` Windows detection with the libssh2 source code.
  
  `libssh2.h` was using `WIN32` and `LIBSSH2_WIN32` for Windows detection,
  next to the official `_WIN32`. After this patch it only uses `_WIN32`
  for this. Also, make it stop defining `LIBSSH2_WIN32`.
  
  There is a slight chance these break compatibility with Windows
  compilers that fail to define `_WIN32`. I'm not aware of any obsolete
  or modern compiler affected, but in case there is one, one possible
  solution is to define this macro manually.
  
  Closes #1238

- openssl: fix `EC_KEY` reference with OpenSSL 3 `no-deprecated` build
  
  Fixes:
  ```
  src/openssl.c:650:5: error: use of undeclared identifier 'EC_KEY'
      EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve);
      ^
  src/openssl.c:650:13: error: use of undeclared identifier 'ec_key'
      EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve);
              ^
  src/openssl.c:650:22: error: implicit declaration of function 'EC_KEY_new_by_curve_name' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
      EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve);
                       ^
  src/openssl.c:650:22: note: did you mean 'EC_GROUP_new_by_curve_name'?
  ./quictls/_a64-mac-sys/usr/include/openssl/ec.h:483:11: note: 'EC_GROUP_new_by_curve_name' declared here
  EC_GROUP *EC_GROUP_new_by_curve_name(int nid);
            ^
  In file included from ./_a64-mac-sys-bld/src/CMakeFiles/libssh2_static.dir/Unity/unity_0_c.c:19:
  In file included from src/crypto.c:10:
  src/openssl.c:652:8: error: use of undeclared identifier 'ec_key'
      if(ec_key) {
         ^
  ```
  Ref: https://github.com/curl/curl-for-win/actions/runs/6950001225/job/18909297867#step:3:4341
  
  Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207
  
  Bug #1235
  Closes #1236

- openssl: formatting
  
  Sync up these lines with the other two similar occurrences in the code.
  
  Cherry-picked from #1236

GitHub (21 Nov 2023)
- [Michael Buckley brought this change]

  openssl: use non-deprecated APIs with OpenSSL 3.x (#1207)
  
  Assisted-by: Viktor Szakats

Viktor Szakats (21 Nov 2023)
- ci: add BoringSSL job (cmake, gcc, amd64)
  
  Closes #1233

- autotools: fix dotless gcc and Apple clang version detections
  
  - fix parsing dotless (major-only) gcc versions.
    Follow-up to 00a3b88c51cdb407fbbb347a2e38c5c7d89875ad #1187
  
  - sync gcc detection variable names with curl.
  
  - fix Apple clang version detection for releases between
    'Apple LLVM version 7.3.0' and 'Apple LLVM version 10.0.1' where the
    version was under-detected as 3.7 llvm/clang equivalent.
  
  - fix Apple clang version detection for 'Apple clang version 11.0.0'
    and newer where the Apple clang version was detected, instead of its
    llvm/clang equivalent.
  
  - revert to show `clang` instead of `Apple clang`, because we follow it
    with an llvm/clang version number. (Apple-ness still visible in raw
    version.)
  
  Used this collection for Apple clang / llvm/clang translation and test
  inputs: https://gist.github.com/yamaya/2924292
  
  Closes #1232

- acinclude.m4: revert accidental edit [ci skip]
  
  Follow-up to 8c320a93a48775b74f40415e46f84bf68b4d5ae8

- autotools: show more clang/gcc version details
  
  Also:
  - show if we detected Apple clang.
  - delete duplicate version detection for clang.
  
  Closes #1230

- acinclude.m4: re-sync with curl [ci skip]

- autotools: avoid warnings in libtool stub code
  
  Seen on Windows with clang64, in libtool-generated stub code for
  examples and tests.
  
  The error didn't break the CI job for some reason.
  
  msys2 (autotools, clang64, clang-x86_64:
  ```
  [...]
  2023-11-17T20:14:17.8639574Z ./.libs/lt-test_read.c:91:10: error: macro is not used [-Werror,-Wunused-macros]
  [...]
  2023-11-17T20:14:39.8729255Z ./.libs/lt-sftp_write_nonblock.c:91:10: error: macro is not used [-Werror,-Wunused-macros]
  [...]
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/6908585056/job/18798193405?pr=1226#step:8:474
  
  Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224
  
  Closes #1227

- mbedtls: improve disabling `-Wredundant-decls`
  
  Disable these warnings specifically for the mbedTLS public headers
  and leave it on for the the rest of the code. This also fixes this
  issue for autotools. Previous solution was globally disabling this
  warning for the whole code when using mbedTLS and only with CMake.
  
  Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224
  
  Closes #1226

- cmake: rename picky warnings script
  
  To match the camel-case style used in other CMake scripts and also
  to match the name used in curl.
  
  Closes #1225

- build: enable more compiler warnings and fix them
  
  Enable more picky compiler warnings. I've found these options in the
  nghttp3 project when implementing the CMake quick picky warning
  functionality for it.
  
  Fix issues found along the way:
  
  - wincng, mbedtls: delete duplicate function declarations.
    Most of this was due to re-#defining crypto functions to
    crypto-backend specific implementations These redefines also remapped
    the declarations in `crypto.h`, making the backend-specific
    declarations duplicates.
    This patch deletes the backend-specific declarations.
  
  - wincng mapped two crypto functions to the same local function.
    Also causing double declarations.
    Fix this by adding two disctinct wrappers and moving
    the common function to a static one.
  
  - delete unreachable `break;` statements.
  
  - kex: disable macros when unused.
  
  - agent: disable unused constants.
  
  - mbedtls: disable double declaration warnings because public mbedTLS
    headers trigger it. (with function `psa_set_key_domain_parameters`)
  
  - crypto.h: formatting.
  
  Ref: https://github.com/ngtcp2/nghttp3/blob/a70edb08e954d690e8fb2c1df999b5a056f8bf9f/cmake/PickyWarningsC.cmake
  
  Closes #1224

- autotools: sync warning enabler code with curl
  
  Tiny changes and minor updates to bring this code closer
  to curl's `m4/curl-compilers.m4`.
  
  Closes #1223

- acinclude.m4: fix indentation [ci skip]
  
  Also match indentation of curl's `m4/curl-compilers.m4` for
  easier syncing.

- autotool: rename variable
  
  `WARN` -> `tmp_CFLAGS`
  
  To match curl and make syncing this code easier.
  
  Ref: https://github.com/curl/curl/blob/d1820768cce0e797d1f072343868ce1902170e93/m4/curl-compilers.m4#L479
  
  Closes #1222

- autotools: picky warning options tidy-up
  
  - sync clang warning version limits with CMake.
  - make `WARN=` vs. `CURL_ADD_COMPILER_WARNINGS()` consistent with curl
    and between clang and gcc (`WARN=` is for `no-` options in general).
  
  Closes #1221

- build: picky warning updates
  
  - cmake, autotools: sync picky gcc warnings with curl.
  - cmake, autotools: add `-Wold-style-definition` for clang too.
  - cmake, autotools: add comment for `-Wformat-truncation=1`.
  - cmake: more precise version info for old clang options.
  
  Closes #1219

- ci: fixup FreeBSD version, bump mbedtls
  
  We haven't been using the FreeBSD version. Also it turns out,
  the single version supported is 13.2 at the moment:
    https://github.com/vmactions/freebsd-vm/tree/main/conf
  
  Stop trying to set the version and instead rely on the action
  providing the latest supported one automatically.
  
  Follow-up to a7d2a573be26238cc2b55e5ff6649bbe620cb8d9
  
  Also:
  - add more details to the FreeBSD job description.
  - bump mbedtls version while here.
  
  Closes #1217

- cmake: fix multiple include of libssh2 package
  
  Also extend our integration test double inclusion. It will still not
  catch this case, because that requires
  `cmake_minimum_required(VERSION 3.18)` or higher.
  
  Fixes:
  ```
  CMake Error at .../lib/cmake/libssh2/libssh2-config.cmake:8 (add_library):
    add_library cannot create ALIAS target "libssh2::libssh2" because another
    target with the same name already exists.
  Call Stack (most recent call first):
    CMakeLists.txt:24 (find_package)
  
  CMake Error at .../lib/cmake/libssh2/libssh2-config.cmake:13 (add_library):
    add_library cannot create ALIAS target "Libssh2::libssh2" because another
    target with the same name already exists.
  Call Stack (most recent call first):
    CMakeLists.txt:24 (find_package)
  ```
  
  Test to reproduce:
  ```cmake
  cmake_minimum_required(VERSION 3.18)  # must be 3.18 or higher
  
  project(test)
  
  find_package(libssh2 CONFIG)
  find_package(libssh2 CONFIG)  # fails
  
  add_executable(test main.c)
  target_link_libraries(test libssh2::libssh2)
  ```
  
  Ref: https://cmake.org/cmake/help/latest/release/3.18.html#other-changes
  Ref: https://cmake.org/cmake/help/v3.18/policy/CMP0107.html
  
  Assisted-by: Kai Pastor
  Assisted-by: Harry Mallon
  Ref: https://github.com/curl/curl/pull/11913
  
  Closes #1216

- ci: add FreeBSD 13.2 job
  
  It runs over Linux via qemu. First two runs were (very) slow, then it
  became (much) more performant at just 2x slower than a native Linux
  build. Then got slow again, then fast again. Still seems acceptable
  for the value this adds.
  
  The build uses autotools and quictls.
  
  Successful builds:
  1. https://github.com/libssh2/libssh2/actions/runs/6802676786/job/18496286419 (13m59s, -j3)
  2. https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497243225 (11m5s, -j2)
  3. https://github.com/libssh2/libssh2/actions/runs/6803142201/job/18497785049 (3m6s, -j1)
  4. https://github.com/libssh2/libssh2/actions/runs/6803194839/job/18497962766 (3m10s, -j2)
  5. https://github.com/libssh2/libssh2/actions/runs/6803267201/job/18498208501 (3m13s)
  6. https://github.com/libssh2/libssh2/actions/runs/6803510333/job/18498993698 (15m25s)
  7. https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528571057 (3m13s)
  
  Similar solution exists for Solaris (over macOS via VirtualBox), but it
  hangs forever at `Waiting for text: solaris console login`:
  https://github.com/libssh2/libssh2/actions/runs/6802388128/job/18495391869#step:4:185
  
  Idea taken from LibreSSL.
  
  FIXME: Unrelated, the `distcheck` job became flaky in recent days:
  https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497256437#step:10:536
  ```
  FAIL: test_auth_pubkey_ok_rsa_aes256gcm
  ```
  https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528588933#step:10:533
  ```
  FAIL: test_read
  ```
  
  Closes #1215

- reuse: fix duplicate copyright warning
  
  ```
  PendingDeprecationWarning:
  Copyright and licensing information for 'tests/openssh_server/Dockerfile'
  has been found in both 'tests/openssh_server/Dockerfile' and in the DEP5
  file located at '.reuse/dep5'. The information for these two sources has
  been aggregated. In the future this behaviour will change, and you will
  need to explicitly enable aggregation. [...]
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/6789274955/job/18456085964#step:4:4

- Makefile.mk: delete Windows-focused raw GNU Make build
  
  We recommend using CMake instead. Especially in unity mode, it's faster
  and probably more familiar for most. It's also easily portable.
  
  (`Makefile.mk` was also portable, but in practice only usable for
  Windows. Other platforms required a manual config header.)
  
  Also:
  - migrate `LIBSSH2_NO_*` option CI tests to CMake.
  - make MSYS2 CMake builds verbose to show compilation options.
  
  Closes #1204

- tidy-up: around `stdint.h`
  
  - os400: delete unused `HAVE_STDINT_H`.
  
  - fuzz: delete redundant `stdint.h` use.
    `inttypes.h` is already included via `testinput.h`.
  
  - docs/TODO: adjust type in planned function.
  
  Closes #1212

- cmake: show crypto backend in feature summary
  
  This was visible as an enabled package before this patch, but it missed
  to show WinCNG.
  
  Closes #1211

- man: fix double spaces and dash escaping
  
  - `-  ` -> `- `
  - `.  ` -> `. `
  - `\- ` -> `- `
  - `-1` -> `\-1`
  - fold long lines along the way
  
  This makes the minus sign come out as a Unicode minus sign
  (0x2212), and title separator dashes as Unicode hyphen (0x2010),
  with `groff -Tutf8` v1.23.0.
  
  Ref: https://lwn.net/Articles/947941/
  
  Closes #1210

- src: fix gcc 13 `-Wconversion` warning on Darwin
  
  ```
  src/session.c: In function 'libssh2_poll':
  src/session.c:1776:22: warning: conversion from 'long int' to '__darwin_suseconds_t' {aka 'int'} may change value [-Wconversion]
   1776 |         tv.tv_usec = (timeout_remaining % 1000) * 1000;
        |                      ^
  ```
  Ref: https://github.com/curl/curl-for-win/actions/runs/6711735060/job/18239768548#step:3:4368
  
  Follow-up to 08354e0abbe86d4cc5088d210d53531be6d8981a
  
  Closes #1209

- openssl: silence `-Wunused-value` warnings
  
  Seen with gcc 12.
  
  Manual: https://www.openssl.org/docs/man3.1/man3/BIO_reset.html
  
  ```
  ./quictls/linux-a64-musl/usr/include/openssl/bio.h:555:34: warning: value computed is not used [-Wunused-value]
    555 | # define BIO_reset(b)            (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
        |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./libssh2/src/openssl.c:3518:5: note: in expansion of macro 'BIO_reset'
  ./libssh2/src/openssl.c:3884:5: note: in expansion of macro 'BIO_reset'
  ./libssh2/src/openssl.c:3995:5: note: in expansion of macro 'BIO_reset'
  ```
  Ref: https://github.com/curl/curl-for-win/actions/runs/6696392318/job/18194032712#step:3:5060
  
  Closes #1205

- Makefile.am: fix `cp` to preserve attributes and timestamp

- cmake: simplify showing CMake version
  
  Move it to `CMakeLists.txt`. Drop `cmake --version` commands.
  
  Credit to the `zlib-ng` project for the idea:
  https://github.com/zlib-ng/zlib-ng/blob/61e181c8ae93dbf56040336179c9954078bd1399/CMakeLists.txt#L7
  
  Closes #1203

- ci: mbedtls 3.5.0
  
  v3.5.0 needs extra compiler option for i386 to avoid:
  ```
  #error "Must use `-mpclmul -msse2 -maes` for MBEDTLS_AESNI_C"
  ```
  
  Closes #1202

- tests: show cmake version used in integration tests
  
  Closes #1201

- readme.vms: fix typo [ci skip]
  
  Detected by codespell 2.2.6

- appveyor: YAML/PowerShell formatting, shorten variable name
  
  - use single-quotes in yaml and PowerShell.
  
  - shorten a variable name.
  
  - use indentation 2 for scripts.
  
  - use C else-style in PowerShell.
  
  Closes #1200

- ci: update actions, use shallow clones with appveyor
  
  - update GitHub Actions to their latest versions.
  
  - use shallow git clones in AppVeyor CI to save data over the wire.
  
  Closes #1199

- appveyor: move to pure PowerShell
  
  - replace batch commands with PowerShell.
  
  - merge separate command entries into single PowerShell blocks.
  
  Closes #1197

- windows: use built-in `_WIN32` macro to detect Windows
  
  Instead of `WIN32`.
  
  The compiler defines `_WIN32`. Windows SDK headers or build env defines
  `WIN32`, or we have to take care of it. The agreement seems to be that
  `_WIN32` is the preferred practice here.
  
  Minor downside is that CMake uses `WIN32` and we also adopted it in
  `Makefile.mk`.
  
  In public libssh2 headers we stick with accepting either `_WIN32` or
  `WIN32` and define our own namespaced `LIBSSH2_WIN32` based on them.
  
  grepping for `WIN32` remains useful to detect Windows-specific code.
  
  Closes #1195

- cmake: cleanup mbedTLS version detection more
  
  - lowercase, underscored local variables.
  - fix `find_library()` to use the multiple names passed.
  - rely more on `find_package_handle_standard_args()`.
    Logic based on our `Findwolfssl.cmake`.
  - delete ignored/unused `MBEDTLS_LIBRARY_DIR`.
  - revert CI configuration to use `MBEDCRTYPO_LIBRARY`.
  - clarify inputs/outputs in comment header.
  - use variable for regex.
  - formatting.
  
  Follow-up to 41594675072c578294674230d4cf5f47fa828778 #1192
  
  Closes #1196

- cmake: delete duplicate `include()`

- cmake: improve/fix mbedTLS detection
  
  - libssh2 needs the crypto lib only, stop dealing with the rest.
  
  - simplify logic.
  
  - drop hard-wired toolchain specific options that broke with e.g. MSVC.
  
    Reported by: AR Visions
    Fixes #1191
  
  - add mbedTLS version detection for recent releases.
  
  - merge custom detection results display into a single line.
  
  - shorten mbedTLS configuration in macOS CI job.
  
  Used the curl mbedTLS detection logic for ideas:
  https://github.com/curl/curl/blob/a8c773845f4fdbfb09b08a6ec4b656c812568995/CMake/FindMbedTLS.cmake
  
  Closes #1192

GitHub (24 Sep 2023)
- [concussious brought this change]

  libssh2_session_get_blocking.3: Add description (#1185)

Viktor Szakats (21 Sep 2023)
- autotools: fix selecting wincng in cross-builds (and more)
  
  - Fix explicitly selecting WinCNG in autotools cross-builds by moving
    `windows.h` header check before the WinCNG availability check.
    Follow-up to d43b8d9b0b9cd62668459fe5d582ed83aabf77e7
  
    Reported-by: Jack L
    Fixes #1186
  
  - Add Linux -> mingw-w64 cross-builds for autotools and CMake. This
    doesn't detect #1186, because that happened when explicitly specifying
    WinCNG via `--with-crypto=wincng`, but not when falling back to WinCNG
    by default.
  
  - autotools: fix to strip suffix from gcc version
  
    Before this patch we expected `n.n` `-dumpversion` output, but Ubuntu
    may return `n-win32` (also with `-dumpfullversion`). Causing these
    errors and failing to enable picky warnings:
    ```
    ../configure: line 23845: test: : integer expression expected
    ```
    Ref: https://github.com/libssh2/libssh2/actions/runs/6263453828/job/17007893718#step:5:143
  
    Fix that by stripping any dash-suffix.
  
    gcc version detection is still half broken because we translate '10'
    to '10.10' because `cut -d. -f2` returns the first word if the
    delimiter missing.
  
    More possible `-dumpversion` output: `10-posix`, `10-win32`,
    `9.3-posix`, `9.3-win32`, `6`, `9.3.0`, `11`, `11.2`, `11.2.0`
    Ref: https://github.com/mamedev/mame/pull/9767
  
  Closes #1187

GitHub (28 Aug 2023)
- [Michael Buckley brought this change]

  Properly bounds check packet_authagent_open() (#1179)
  
  * Properly bounds check packet_authagent_open
  * packet.c: use strlen instead of sizeof for strings
  * Make LIBSSH_CHANNEL's channel_type_len a size_t
  * packet_authagent_open: use size_t for offset
  
  Credit:
  Michael Buckley, signed off by Will Cosgrove

Viktor Szakats (28 Aug 2023)
- os400qc3: move FIXME comment [ci skip]
  
  Follow-up to eb9f9de2c19ec67d12a444cce34bdd059fd26ddc

- md5: allow disabling old-style encrypted private keys at build-time
  
  Before this patch, this happened at runtime when using an old (pre-3.0),
  FIPS-enabled OpenSSL backend.
  
  This patch makes it possible to disable this via the build-time option
  `LIBSSH2_NO_MD5_PEM`.
  
  Also:
  - make sure to exclude all MD5 internal APIs when both the above and
    `LIBSSH2_NO_MD5` are enabled.
  - fix tests to support build with`LIBSSH2_NO_MD5`, `LIBSSH2_NO_MD5_PEM`
    and `LIBSSH2_NO_3DES`.
  - add FIXME to apply this change to `os400qc3.*`.
  
  Old-style encrypted private keys require MD5 and they look like this:
  ```
  -----BEGIN RSA PRIVATE KEY-----
   Proc-Type: 4,ENCRYPTED
   DEK-Info: AES-128-CBC,<MD5-hex>
  
   <base64>
   -----END RSA PRIVATE KEY-----
  ```
  
  E.g.: `tests/key_rsa_encrypted`
  
  Ref: https://github.com/libssh2/www/issues/20
  Closes #1181

- cmake: tidy-up `foreach()` syntax
  
  Use `IN LISTS` and `IN ITEMS`. This appears to be the preferred way
  within CMake's own source code and possibly improves readability.
  
  Fixup a side-effect of `IN LISTS`, where it retains empty values at
  the end of the list, as opposed to the syntax used before, which
  dropped it. In our case this happened with lines read from a text
  file via `file(READ)`.
  
  https://cmake.org/cmake/help/v3.7/command/foreach.html
  
  Closes #1180

- ci: replace `mv` + `chmod` with `install` in `Dockerfile`
  
  Cherry-picked from #1175
  Closes #1175

- ci: set file mode early in `appveyor_docker.yml`
  
  Also:
  - replace tab with spaces in generated config file
  - formatting
  
  Cherry-picked from #1175

- ci: add spellcheck (codespell)
  
  Also rename a variable in `src/os400qc3.c` to avoid a false positive.
  
  Cherry-picked from #1175

- cmake: also test for `libssh2_VERSION`
  
  Cherry-picked from #1175

- cmake: show cmake versions in ci
  
  Cherry-picked from #1175

- tests: formatting and tidy-ups
  
  - Dockerfile: use standard sep with `sed`
  - Dockerfile: use single quotes in shell command
  - appveyor.yml: use long-form option with `choco`
  - tests/cmake: add language to test project
  - reuse.yml: fix indentation
    ```
    $ yamllint reuse.yml
    reuse.yml
      [...]
      11:5      error    wrong indentation: expected 6 but found 4  (indentation)
      15:5      error    wrong indentation: expected 6 but found 4  (indentation)
      [...]
      27:5      error    wrong indentation: expected 6 but found 4  (indentation)
    ```
  
  Cherry-picked from #1175

- openssl.c: whitespace fixes
  
  Cherry-picked from #1175

- checksrc: fix spelling in comment [ci skip]

- cmake: quote more strings
  
  Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1
  
  Closes #1173

- drop `www.` from `www.libssh2.org`
  
  <https://www.libssh2.org/*> is now a 301 permanent redirect to
  <https://libssh2.org/*>.
  
  Update all references to point directly to the new destination.
  
  Ref: https://github.com/libssh2/www/commit/ccf4a7de7f702a8ee17e2c697bcbef47fcf485ed
  
  Closes #1172

- cmake: add `ExternalProject` integration test
  
  - via `ExternalProject_Add()`:
    https://cmake.org/cmake/help/latest/module/ExternalProject.html
    (as documented in `docs/INSTALL_CMAKE.md`)
  
  - also make `FetchContent` fetch from local repo instead of live master.
  
  Closes #1171

- cmake: add integration tests
  
  Add a small project to test dependent/downstream CMake build using
  libssh2. Also added to the GHA CI, and you can also run it locally with
  `tests/cmake/test.sh`.
  
  Test three methods of integrating libssh2 into a project:
  - via `find_package()`:
    https://cmake.org/cmake/help/latest/command/find_package.html
  - via `add_subdirectory()`:
    https://cmake.org/cmake/help/latest/command/add_subdirectory.html
  - via `FetchContent`:
    https://cmake.org/cmake/help/latest/module/FetchContent.html
  
  Closes #1170

- cmake: (re-)add aliases for `add_subdirectory()` builds
  
  Add internal libssh2 library aliases to make these available for
  downstream/dependent projects building libssh2 via `add_subdirectory()`:
  
  - `libssh2:libssh2_static`
  - `libssh2:libssh2_shared`
  - `libssh2:libssh2` (shared, or static when not building shared)
  - `libssh2` (shared, or static when not building shared)
  
  Of these, `libssh2` was present in v1.10.0 and earlier releases, but
  missing from v1.11.0.
  
  Closes #1169

- cmake: delete empty line [ci skip]
  
  Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1

- cmake: reflect minimum version in docs [ci skip]
  
  Follow-up to 9cd18f4578baa41dfca197f60557063cad12cd59

- cmake: style tidy up
  
  - quote text literals to improve readability.
    (exceptions: `FILES` items, `add_subdirectory` names, `find_package`
    names, literal target names, version numbers, 0/1, built-in CMake
    values and CMake keywords, list items in `cmake/max_warnings.cmake`)
  - quote standalone variables that could break syntax on empty values.
  - replace `libssh2_SOURCE_DIR` with `PROJECT_SOURCE_DIR`.
  - add missing mode to `message()` call.
  - `TRUE`/`FALSE` → `ON`/`OFF`.
  - add missing default value `OFF` to `option()` for clarity.
  - unfold some lines.
  - `INSTALL_CMAKE.md` fixes and updates. Show defaults.
  
  Closes #1166

- wincng: prefer `ULONG`/`DWORD` over `unsigned long`
  
  To match with the types used by the `Crypt*()` (uses `DWORD`) and
  `BCrypt*()` (uses `ULONG`) Windows APIs.
  
  This patch doesn't change data width or signedness.
  
  Closes #1165

- wincng: tidy-ups
  
  - make `_libssh2_wincng_key_sha_verify` static.
  
  - prefer `unsigned long` over `size_t` in two static functions.
  
  - prefer `ULONG` over `DWORD` to match `BCryptImportKeyPair()`
    and `BCryptGenerateKeyPair()`.
  
  - add a newline.
  
  Closes #1164

- ci: add MSYS builds (autotools and cmake)
  
  Use existing MSYS2 section and extend it with builds for the MSYS
  environment with both autotools and cmake.
  
  MSYS builds resemble Cygwin ones: The env is Unixy, where Windows
  headers are all available but we don't use them.
  
  Also:
  
  - extend existing autotools logic for Cygwin to skip detecting
    `windows.h` for MSYS targets too.
  
  - require `windows.h` for the WinCNG backend in autotools. Before this
    patch, autotools allowed selecting WinCNG on the Cygwin and MSYS
    platforms, but the builds then fell apart due to the resulting mixed
    Unixy + Windowsy environment. The general expectation for Cygwin/MSYS
    builds is not to use the Windows API directly in them.
  
  - stop manually selecting the `MSYS Makefiles` CMake generator for
    MSYS2-based GHA CI builds. mingw-w64 builds work fine without it, but
    it broke MSYS build which use `Unix Makefiles`. Deleting this setting
    fixes all build flavours.
  
  Closes #1162

- ci: cygwin job tidy-ups
  
  `CMAKE_C_COMPILER=gcc` not necessary, delete it.
  
  Follow-up to f1e96e733fefb495bc31b07f5c2a5845ff877c9c
  
  Cherry-picked from #1163
  Closes #1163

- ci: add Cygwin builds (autotools and cmake)
  
  To avoid builds picking up non-Cygwin components coming by default with
  the CI machine, I used the solution recommended by Cygwin [1] and set
  `PATH` manually. To avoid repeating this for each step, I merged steps
  into a single one. Let us know if there is a more elegant way.
  
  Cygwin's Github Action uses cleartext HTTP. We upgrade this to HTTPS.
  
  autotools build seemed to take slightly longer than other jobs. To save
  turnaround time I disabled building tests.
  
  Cygwin package search: https://cygwin.com/cgi-bin2/package-grep.cgi
  
  [1] https://github.com/cygwin/cygwin-install-action/tree/v4#path
  
  Closes #1161

- cmake: add `LIB_NAME` variable
  
  It holds the name `libssh2`. Mainly to document its uses, and also
  syncing up with the same variable in libcurl.
  
  Closes #1159

- cmake: add one missed `PROJECT_NAME` variable
  
  Follow-up to 72fd25958a7dc6f8e68f2b2d5d72839a2da98f9c
  
  Closes #1158

- cmake: tidy-up concatenation in `CMAKE_MODULE_PATH`
  
  Former solution was appending an empty element to the array if
  `CMAKE_MODULE_PATH` was originally empty. The new syntax doesn't have
  this side-effect.
  
  There is no known issue caused by this. Fixing it for good measure.
  
  Closes #1157

- ci: add mingw-w64 UWP build
  
  Add a CI test for Windows UWP builds using mingw-w64. Before this patch
  we had UWP builds tested with MSVC only.
  
  Alike existing UWP jobs, it's not possible to run the binaries due to
  the missing UWP runtime DLL:
  https://github.com/libssh2/libssh2/actions/runs/5821297010/job/15783475118#step:11:42
  
  We could install `winstorecompat-git` in the setup-msys2 step, but opted
  to do it manually to avoid the overhead for every matrix job.
  
  All this would work smoother with llvm-mingw, which features an UWP
  toolchain prefix and provides all necessary implibs by default.
  
  This also hit a CMake bug (with v3.26.4), where CMake gets confused and
  sets up `windres.exe` to use the MSVC rc.exe-style command-line:
  https://github.com/libssh2/libssh2/actions/runs/5819232677/job/15777236773#step:9:126
  
  Notice that MS "sunset" UWP in 2021:
  https://github.com/microsoft/WindowsAppSDK/discussions/1615
  
  If this particular CI job turns out to be not worth the maintenance
  burden or CPU time, or too much of a hack, feel free to delete it.
  
  Ref: https://github.com/libssh2/libssh2/pull/1147#issuecomment-1670850890
  Closes #1155

- cmake: replace `libssh2` literals with `PROJECT_NAME` variable
  
  Where applicable.
  
  This also makes it more obvious which `libssh2` uses were referring
  to the project itself.
  
  Closes #1152

- cmake: fix `STREQUAL` check in error branch
  
  This caused a CMake error instead of our custom error when manually
  selecting the `WinCNG` crypto-backend for a non-Windows target.
  
  Also cleanup `STREQUAL` checks to use variable name without `${}` on
  the left side and quoted string literals on the right.
  
 share/doc/alt-libssh2/COPYING000064400000003536150506011200011567 0ustar00 restore curly braces in `if`
  
  Without curly braces it was less obvious which string is a GHA expression.
  
  Also fix an `if` expression that always missed its curly braces.
  
  Reverts cab3db588769d6deed97ba89ca9221fd7503405e
  
  Closes #1145

- ci: bump mbedtls

- [renmingshuai brought this change]

  Add a new structure to separate memory read and file read.
  We use different APIs when we read one private key from memory,
  so it is improper to store the private key information in the
  structure that stores the private key file information.
  
  Fixes https://github.com/libssh2/libssh2/issues/773
  Reported-by: mike-jumper

- tests: replace FIXME with comments
  
  `key_dsa_wrong` is the same kind of (valid) key as `key_dsa`, both with
  an empty passphrase. Named "wrong" because it's intentionally not added
  to our `openssh_server/authorized_keys` file.

- tidy-up: delete duplicate word from comment

- cmake: cache more config values on Windows
  
  Set two cases of non-detection to save the time dynamically detecting
  these on each build init. Affects old MSVC versions.
  
  Before:
  https://ci.appveyor.com/project/libssh2org/libssh2/builds/47668870/job/i17e0e9yx8rgpv4i
  
  After:
  https://ci.appveyor.com/project/libssh2org/libssh2/builds/47674950/job/ysa1jq0pxtyhui3f
  
  Closes #1142

- revert: build: respect autotools `DLL_EXPORT` in `libssh2.h`
  
  Revert fb1195cf88268a11e2709b9912ab9dca8c23739c #917
  
  On a second look this change did not improve anything with autotools
  builds. autotools seems to handle the dll export matter without it.
  
  This patch also broke (e.g.) curl-for-win autotools builds, where the
  curl build defines `DLL_EXPORT` while building libcurl DLL. `libssh2.h`
  picks it up, resulting in unresolved symbols while trying to link a
  static libssh2 on Windows. The best fix seems to be to revert this,
  inshare/doc/alt-libssh2/README000064400000000734150506011200011411 0ustar00port) libssh2_session_set_read_timeout
  [...]
  ```
  
  Closes #1141

- gha: simplify `if` strings
  
  Closes #1140

- test_read: make it run without Docker
  
  Apply an existing fix to `test_read`, so that it falls back to use
  the current username instead of the hardcoded `libssh2` when run
  outside Docker.
  
  This allows to run algo tests with this command:
  ```shell
  cd tests
  ./test_sshd.test ./test_read_algos.test
  ```
  
  Closes #1139

- cmake: streamlshare/doc/alt-libssh211/ChangeLog000064400000000011150521770650012453 0ustar00ke shouldshare/doc/alt-libssh211/NEWS000064400001242234150521770650011420 0ustar00ys differently than packets. It
  does not include the length as AAD, and the 16 byte authentication tag
  is appended after the encrypted key. The length of the authentication
  tag is not included in the encrypted key length.
  
  I have not found any documentation for this behaviour -- I discovered it
  by looking at the OpenSSH source. See the `private2_decrypt` function in
  <https://github.com/openssh/openssh-portable/blob/master/sshkey.c>.
  
  This patch fixes the code for reading OpenSSH private keys encrypted
  with AES-GCM methods.

Viktor Szakats (26 Jul 2023)
- ci: add missing timeout to 'autotools distcheck' step

- cmake: merge `set_target_properties()` calls
  
  Also rename variable `LIBSSH2_VERSION` to `LIBSSH2_LIBVERSION` in
  context of lib versioning to avoid collision with another use.
  
  Closes #1132

- cmake: formatting [ci skip]

- cmake: (re-)add zlib to `Libs.private` in `libssh2.pc`
  
  We mistakently added transitive zlib to `Requires.private` before, then
  removed it. This patch re-adds zlib, but this time to `Libs.private`,
  which is listing raw libs and should include transitive libs as well.
  
  Also add zlib when used as a direct dependency when zlib compression
  support is enabled.
  
  Follow-up to ef538069a661a43134fe7b848b1fe66b2b43bdac
  
  Closes #1131

- cmake: formatting [ci skip]

- cmake: use `wolfssl/options.h` for detection, like autotools
  
  Closes #1130

- build: stop requiring libssl from openssl
  
  libssh2 does not use or need the TLS/SSL library of OpenSSL.
  It only needs libcrypto.
  
  Closes #1128

- cmake: add openssl libs to `Libs.private` in `libssh2.pc`
  
  Also to sync up with autotools-generated `libssh2.pc`, that
  already added them.
  
  Closes #1127

- Makefile.mk: stop linking unused mbedtls libs
  
  Stop linking libmbedtls and libmbedx509 (similarly to autotools).
  Only libmbedcrypto is necessary for libssh2.

- cmake: bump minimum CMake version to v3.7.0
  
  Fixes the warning below, which appeared in CMake v3.27.0:
  ```
  CMake Deprecation Warning at CMakeLists.txt:39 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.
  
    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.
  ```
  
  Bump straight up to v3.7.0 to sync up with the curl project:
  https://github.com/curl/curl/blob/2900c29218d2d24ab519853589da84caa850e8c7/CMakeLists.txt#L64
  
  CMake release dates:
  v3.7.0 2016-11-11
  v3.5.0 2016-03-08
  v3.1.0 2014-12-17
  
  Closes #1126

- build: tidy-up `libssh2.pc.in` variable names
  
  - prefix with `LIBSSH2_PC_`
  
  - match with the names of `pkg-config` values.
  
  - use the same names in autotools and CMake scripts.
  
  - use `LIBSSH2_VERSION` for the version number in autotools scripts,
    to match the name used in CMake.
  
  Closes #1125

- libssh2.pc: re-add & extend support for static-only libssh2 builds
  
  Adapted for libssh2 from the curl commit message by James Le Cuirot:
  
  "A project built entirely statically will call `pkg-config` with
  `--static`, which utilises the `Libs.private:` field. Conversely it will
  not use `--static` when not being built entirely statically, even if
  there is only a static build of libssh2 available. This will most
  likely cause the build to fail due to underlinking unless we merge the
  `Libs:` fields.
  
  Consider that this is what the Meson build system does when it generates
  `pkg-config` files."
  
  This patch extends the above to `Requires:`, to mirror `Libs:` with
  `pkg-config` package names.
  
  Follow-up to 1209c16d93cba3c5e0f68c12fa4a5049f49c00d8 #1114
  
  Ref: https://github.com/libssh2/libssh2/pull/1114#issuecomment-1634334809
  Ref: https://github.com/curl/curl/commit/98e5904165859679cd78825bcccb52306ee3bb66
  Ref: https://github.com/curl/curl/pull/5373
  Closes #1119

GitHub (14 Jul 2023)
- [Nursan Valeyev brought this change]

  cmake: CMAKE_SOURCE_DIR -> PROJECT_SOURCE_DIR (#1121)
  
  Fixes compiling as dependency with FetchContent
  
  Co-authored-by: Viktor Szakats

Viktor Szakats (14 Jul 2023)
- autotools: use comma separator in `Requires.private` of `libssh2.pc`
  
  In `Requires*:`, the documented name separator is comma. We already used
  it in the CMake-generated `libssh2.pc`. Adjust the autotools-generated
  one to use it too, instead of spaces.
  
  Ref: https://linux.die.net/man/1/pkg-config
  Ref: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/blob/d97db4fae4c1cd099b506970b285dc2afd818ea2/pkg-config.1
  
  Closes #1124

- build: add/fix `Requires.private` packages in `libssh2.pc`
  
  - autotools was using `libwolfssl`. CMake left it empty. wolfSSL
    provides `wolfssl.pc`. This patch sets `Requires.private: wolfssl`
    with both build tools.
  
  - add `libgcrypt` to `Requires.private` with both autotools and CMake.
    Ref:
      https://github.com/gpg/libgcrypt/blob/e76e88eef7811ada4c6e1d57520ba8c439139782/src/libgcrypt.pc.in
    Present since 2005-04-22:
      https://github.com/gpg/libgcrypt/commit/32bf3f13e8b45497322177645bebf0b5d0c9cb8e
    Released in v1.3.0 2007-05-04:
      https://github.com/gpg/libgcrypt/releases/tag/libgcrypt-1.3.0
  
  - also stop adding transitive `zlib` deps to `Requires.private`.
    The referenced crypto package is adding it as nedded.
    This makes deduplication of the list redundant, so stop doing it.
    Follow-up to 2fc367900701e6149efc42bd674c4b69127756dd
  
  (`libssh2.pc` not tested as a project dependency.)
  
  Closes #1123

- cmake: tidy-ups
  
  - dedupe `Requires.private` in `libssh2.pc`.
    `zlib` could appear on the list twice:
    ```
    Requires.private: libssl,libcrypto,zlib,zlib
    ```
    According to CMake docs `list(REMOVE_DUPLICATES ...)`, is supported by
    our minimum required CMake version (and by   earlier ones even):
    https://cmake.org/cmake/help/v3.1/command/list.html#remove-duplicates
  
  - move `cmake_minimum_required()` to the top.
  
  - move `set(CMAKE_MODULE_PATH)` to the top.
  
  - delete duplicate `set(CMAKE_MODULE_PATH)`.
  
  - replace `CMAKE_CURRENT_SOURCE_DIR` with `PROJECT_SOURCE_DIR` in root
    `CMakeLists.txt` for robustness.
  
  - replace `gcovr` option with long-form for readability/consistency.
  
  - rename `GCOV_OPTIONS` to `GCOV_CFLAGS`. These are C options we enable
    when using gcov, not gcov tooling options.
  
  Closes #1122

- openssl: add missing check for `LIBRESSL_VERSION_NUMBER` before use
  
  Fixes:
  ```
  openssl.h:101:5: warning: "LIBRESSL_VERSION_NUMBER" is not defined [-Wundef]
       LIBRESSL_VERSION_NUMBER >= 0x3050000fL
       ^
  ```
  
  Ref: https://github.com/libssh2/libssh2/issues/1115#issuecomment-1631845640
  Closes #1117

- [Harmen Stoppels brought this change]

  Don't put `@LIBS@` in pc file

- misc: delete redundant NULL check and assignment
  
  Follow-up to 724effcb47ebb713d3ef1776684b8f6407b4b6a5 #1109
  
  Ref: https://github.com/libssh2/libssh2/pull/1109#discussion_r1246613274
  Closes #1111

- [renmingshuai brought this change]

  We should check whether *key_method is a NULL pointer instead of key_method
  
  Signed-off-by: renmingshuai <renmingshuai@huawei.com>

GitHub (30 Jun 2023)
- [ren mingshuai brought this change]

  Add NULL pointer check for outlen before use (#1109)
  
  Before assigning a value to the outlen, we need to check whether it is NULL.
  
  Credit: Ren Mingshuai <renmingshuai@huawei.com>

Viktor Szakats (25 Jun 2023)
- cmake: re-add `Libssh2:libssh2` for compatibiliy + lowercase namespace
  
  - add `libssh2:libssh2` target that selects the shared lib if built,
    otherwise the static one.
  
  - re-add `Libssh2:libssh2` target for compatibility with v1.10.0 and
    earlier. This is an alias for `libssh2:libssh2`.
  
  - keep `libssh2:libssh2_shared` and `libssh2_libssh2_static` targets.
  
  - allow using `find_package(libssh2)` in dependents as an alternative
    to `find_package(Libssh2)`.
  
  Co-authored-by: Radek Brich
  Suggested-by: Haowei Hsu
  
  Fixes #1103
  Fixes #731
  Closes #1104

- example: fix regression in `ssh2_exec.c`
  
  Regression from b13936bd6a89993cd3bf4a18317ca5bd84bb08d7 #861 #846.
  Update a variable name missed above.
  
  Reported-by: PewPewPew
  Fixes #1105
  Closes #1106

- docs: replace SHA1 with SHA256 in CMake example

- checksrc: modernise perl file open
  
  Use regular variables and separate file open modes from filenames.
  
  Suggested by perlcritic
  
  Copied from https://github.com/curl/curl/commit/7f669aa0f1d40ef5d64543981f22bdc5af1272f5
  Copied from https://github.com/curl/trurl/commit/f2784a9240f47ee28a845

- reuse: comply with 3.1 spec and 2.0.0 checker
  
  The checker tool was upgraded upstream to 2.0.0 and the REUSE
  Specification to version 3.1 (from 3.0), causing these new errors:
  ```
  reuse.project - WARNING - Copyright and licensing information for 'docs/INSTALL_AUTOTOOLS' have been found in 'docs/INSTALL_AUTOTOOLS' and the DEP5 file located at '.reuse/dep5'. The information in the DEP5 file has been overridden. Please ensure that this is correct.
  reuse.project - WARNING - Copyright and licensing information for 'tests/openssh_server/Dockerfile' have been found in 'tests/openssh_server/Dockerfile' and the DEP5 file located at '.reuse/dep5'. The information in the DEP5 file has been overridden. Please ensure that this is correct.
  
  The following files have no licensing information:
  * docs/INSTALL_AUTOTOOLS
  * tests/openssh_server/Dockerfile
  ```
  Via: https://github.com/libssh2/libssh2/actions/runs/5333572682/jobs/9664211341?pr=1098#step:4:4
  
  Ref: https://github.com/fsfe/reuse-tool/releases/tag/v2.0.0
  Ref: https://git.fsfe.org/reuse/docs/src/branch/stable/CHANGELOG.md#3-1-2023-06-21
  
  Original discovery: https://github.com/libssh2/libssh2/pull/1098#issuecomment-1600719575
  
  Fixes #1101
  Closes #1102

- tests: trap signals in scripts
  
  Closes #1098

- test_sshd.test: fixup to distcheck failure
  
  Fixes:
  ```
  ERROR: test_sshd.test - missing test plan
  ERROR: test_sshd.test - exited with status 1
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/5322354271/jobs/9638694218#step:10:532
  
  Caused by trying to create the log file in a read-only directory.
  
  Follow-up to 299c2040625830d06ad757d687807a166b57d6de
  Closes #1099

GitHub (21 Jun 2023)
- [Viktor Szakats brought this change]

  test_sshd.test: show sshd and test connect logs on harness failure (#1097)

- [Joel Depooter brought this change]

  Fix incorrect byte offset in debug message (#1096)
  
  Fixes debug log message
  
  Credit:
  Joel Depooter

Viktor Szakats (16 Jun 2023)
- tidy-up: delete whitespace at EOL [ci skip]

- mbedtls: include `version.h` for `MBEDTLS_VERSION_NUMBER`
  
  Older (2021 or earlier?) mbedTLS releases require this.
  
  Reported-by: rahmanih on Github
  Fixes #1094
  Closes #1095

- hostkey: do not advertise ssh-rsa when SHA1 is disabled
  
  Before this patch OpenSSL, mbedTLS, WinCNG and OS/400 advertised both
  SHA2 and SHA1 host key algos, even when SHA1 was not supported by the
  crypto backend or when forcefully disabled via `LIBSSH2_NO_RSA_SHA1`.
  
  Reported-by: João M. S. Silva
  Fixes #1092
  Closes #1093

- openssl.h: whitespace tidy-up [ci skip]

GitHub (14 Jun 2023)
- [Dan Fandrich brought this change]

  test_sshd.test: set a safe PID directory (#1089)
  
  The compiled in default to sshd can be a non-writable location since it
  expects to be run as root.

Viktor Szakats (13 Jun 2023)
- mingw: fix printf mask for 64-bit integers
  
  Before 02f2700a61157ce5a264319bdb80754c92a40a24 #846 #876, we used
  `%I64d'. That patch changed this to `%lld`. This patch uses `PRId64`
  (defined in `inttypes.h`).
  
  Fixes #1090
  Closes #1091

- test_sshd.test: minor cleanups

Daniel Stenberg (7 Jun 2023)
- provide SPDX identifiers
  
  - All files have prominent copyright and SPDX identifier
  - If not embedded in the file, in the .reuse/dep5 file
  - All used licenses are in LICENSES/ (not shipped in tarballs)
  - A new REUSE CI job verify that all files are OK
  
  Assisted-by: Viktor Szakats
  
  Closes #1084

Viktor Szakats (6 Jun 2023)
- src: improve MSVC C4701 warning fix
  
  Simplify the code to avoid this warning. This might also help avoiding
  it with other compilers (e.g. gcc?).
  
  Improves 02f2700a61157ce5a264319bdb80754c92a40a24 #876
  Might fix #1083
  Closes #1086

Daniel Stenberg (5 Jun 2023)
- configure.ac: remove AB_INIT
  
  Not used. Remove m4/autobuild.m4 as well

Viktor Szakats (4 Jun 2023)
- copyright: remove years from copyright headers
  
  Also:
  - uppercase `(C)`.
  - add missing 'All rights reserved.' lines.
  - drop duplicate 'Author' lines.
  - add copyright headers where missing.
  - enable copyright header check in checksrc.
  
  Reasons for deleting years (copied as-is from curl):
  - they are mostly pointless in all major jurisdictions
  - many big corporations and projects already don't use them
  - saves us from pointless churn
  - git keeps history for us
  - the year range is kept in COPYING
  
  Closes #1082

- tests: cast to avoid `-Wchar-subscripts` with Cygwin
  
  ```
  In file included from $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c:57:
  $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c: In function 'run_command_varg':
  $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c:136:37: warning: array subscript has type 'char' [-Wchar-subscripts]
    136 |         while(end > 0 && isspace(buf[end - 1])) {
        |                                  ~~~^~~~~~~~~
  ```
  Ref: https://github.com/libssh2/libssh2/files/11644340/cygwin-x86_64-libssh2-1.11.0-1-check.log
  
  Reported-by: Brian Inglis
  Fixes #1080
  Closes #1081

- tidy-up: avoid exclamations, prefer single quotes, in outputs
  
  Closes #1079

- autotools: improve libz position
  
  We repositioned crypto libs in 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f
  via #941 and subsequently in d4f58f03438e326b8696edd31acadd6f3e028763
  from d93ccf4901ef26443707d341553994715414e207 via #1013.
  
  This patch moves libz accordingly, to unbreak certain build scenarios.
  
  Reported-by: Kenneth Davidson
  Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f #941
  Fixes #1075
  Closes #1077

- src: bump `hash_len` to `size_t` in `LIBSSH2_HOSTKEY_METHOD`
  
  Follow-up to 7b8e02257f01a6dac5f65305b18bb74a157fb5c4
  Closes #1076

- ci: add non-static autotools i386 build, ignore GHA updates on AppVeyor
  
  Add a non-static autotools build to GitHub Actions. Make this build
  target i386 and libgcrypt, to test a new build combination if we are at
  it.
  
  Also:
  - GHA: add necessary generic bits for i386 autotools builds.
  - AppVeyor CI: teach it to ignore commits updating our GHA config.
  
  Follow-up to 572c57c9d8d4e89cfce19dde40125d55481256d1 #1072
  Closes #1074

GitHub (31 May 2023)
- [Xi Ruoyao brought this change]

  autotools: skip tests requiring static lib if `--disable-static` (#1072)
  
  Co-authored-by: Viktor Szakats
  Regression from 83853f8aea0e2f739cacd491632eb7fd3d03ad2d #663
  Fixes #1056

Viktor Szakats (31 May 2023)
- ci: prefer `=` operator in shell snippets
  
  Closes #1073

- src: bump DSA and ECDSA sign `hash_len` to `size_t`
  
  Closes #1055

- scp: fix missing cast for targets without large file support
  
  E.g. on 32-bit Linux. Issue revealed after adding i386 Linux CI build
  in abdf40c741c575f94bdea1c67a9d1182ff813ccb #1057.
  
  ```
  /home/runner/work/libssh2/libssh2/src/scp.c: In function 'scp_recv':
  /home/runner/work/libssh2/libssh2/src/scp.c:765:23: error: conversion from 'libssh2_int64_t' {aka 'long long int'} to '__off_t' {aka 'long int'} may change value [-Werror=conversion]
    765 |         sb->st_size = session->scpRecv_size;
        |                       ^~~~~~~
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/5126803482/jobs/9221746299?pr=1054#step:12:51
  
  Regression from 5db836b2a829c6fff1e8c7acaa4b21b246ae1757 #1002
  Closes #1060

- mbedtls.h: formatting [ci skip]
  
  For consistency with `mbedtls.c`.
  
  Follow-up to 1153ebdeba563ac657b525edd6bf6da68b1fe5e2

- libssh2.h: bump to 1.11.1_DEV [ci skip]

- mbedtls: use more `size_t` to sync up with `crypto.h`
  
  Ref: 5a96f494ee0b00282afb2db2e091246fc5e1774a #846 #879
  
  Fixes #1053
  Closes #1054

- ci: drop redundant/unused vars, sync var names
  
  Closes #1059

- ci: add i386 Linux build (with mbedTLS)
  
  Also:
  - reorder Linux build matrix to make build tool more visible.
  - hide apt-get progress bar.
  - prepare package install step for i386 builds.
  
  Detects bug #1053
  Closes #1057

- checksrc: switch to dot file
  
  Closes #1052

Version 1.11.0 (30 May 2023)

Daniel Stenberg (30 May 2023)
- libssh2.h: bump to 1.11.0 for release

GitHub (30 May 2023)
- [Will Cosgrove brought this change]

  Libssh2 1.11 release notes, copyright (#1048)
  
  * Libssh2 1.11 release notes, copyright

Viktor Szakats (29 May 2023)
- add copyright/credits
  
  Closes #1050

- ci: add LIBSSH2_NO_AES_CBC to GNU Make build
  
  Closes #1049

- ci: add wolfSSL Linux builds
  
  Exclude wolfSSL builds from tests. All fail:
  
  ```
  2/43 Test  #2: test_aa_warmup ............................***Failed    5.59 sec
  libssh2_session_handshake failed (-44): Unable to ask for ssh-userauth service
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/5085775952/jobs/9139583212#step:12:942 (with logging)
  Ref: https://github.com/libssh2/libssh2/actions/runs/5085586301/jobs/9139192562#step:12:225
  
  wolfSSL version:
  ```
  Get:1 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libwolfssl32 amd64 5.2.0-2 [818 kB]
  Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libwolfssl-dev amd64 5.2.0-2 [1194 kB]
  ```
  
  Cherry-picked from #1046
  Closes #1046

- ci: mbedTLS build config tidy-up
  
  Cherry-picked from #1046

- wolfssl: fix detection of AES-GCM feature
  
  Follow-up to df513c0128e1a811ad863d153892618e728845f0
  
  Ref: https://github.com/libssh2/libssh2/issues/1020#issuecomment-1562069241
  Closes #1045

- build: fix 'unused' compiler warnings with all `NO` options set
  
  - add `LIBSSH2_NO_ED25519` build-time option to force-disable ED25519
    support. Useful to replicate crypto-backend builds without ED25519,
    such as wolfSSL.
  
  - openssl: fix unused variable and function warnings with all supported
    `LIBSSH2_NO_*` options enabled.
  
  - mbedtls: fix misplaced `#endif` leaving out the required internal
    public function `libssh2_supported_key_sign_algorithms()`.
  
  - mbedtls: add missing prototype for two internal public functions.
  
  - delete a redundant block.
  
  All `NO` options:
  ```shell
  CPPFLAGS='
  -DLIBSSH2_NO_MD5 -DLIBSSH2_NO_HMAC_RIPEMD -DLIBSSH2_NO_DSA
  -DLIBSSH2_NO_RSA -DLIBSSH2_NO_RSA_SHA1
  -DLIBSSH2_NO_ECDSA -DLIBSSH2_NO_ED25519 -DLIBSSH2_NO_AES_CTR
  -DLIBSSH2_NO_BLOWFISH -DLIBSSH2_NO_RC4 -DLIBSSH2_NO_CAST
  -DLIBSSH2_NO_3DES'
  ```
  
  Closes #1044

- cmake: avoid `list(PREPEND)` for compatibility
  
  `list(PREPEND)` requires CMake v3.15, our minimum is v3.1. `APPEND`
  should work fine for headers anyway.
  
  Also fix a wrongly placed comment.
  
  Ref: https://cmake.org/cmake/help/latest/command/list.html#prepend
  
  Regression from 1e3319a167d2f32d295603167486e9e88af9bb4e
  
  Closes #1043

- checksrc: verify label indent, fix fallouts
  
  Also update two labels to match the rest of the source.
  
  checksrc update credit: Emanuele Torre @emanuele6
  
  Ref: https://github.com/curl/curl/pull/11134
  
  Closes #1042

- tidy-up: minor nits

- ci: drop default shared/static configuration options
  
  Both autotools and cmake build both shared and static lib by default.
  
  Ref: 896154bc17f000c0a1bb89b74bc879692ac0d47c
  
  Delete configuration enabling these explicitly in CI jobs.
  
  Cherry-picked from #1036
  Closes #1036

- cmake: enable shared libssh2 library by default
  
  This brings default behaviour in sync with autotools, which builds both
  lib flavours by default.
  
  (Notice that on Windows, autotools includes the Windows Resource in the
  static library, when building both at the same time. CMake doesn't have
  this issue.)
  
  Enabling both lib flavours has a side-effect when using non-MinGW
  toolchains (e.g. MSVC): to resolve the filename conflict between import
  and static libraries, we add a suffix to the static lib, naming it
  `libssh2_static.lib`. This can break dependent builds relying on
  `libssh2.lib` for linking the static libssh2.
  
  Workarounds:
  
  - disable either shared or static libssh2 via
    `-DBUILD_STATIC_LIBS=OFF` or
    `-DBUILD_SHARED_LIBS=OFF`. This results in a libssh2 library (either
    static or shared) without a prefix: `libssh2.lib`.
  
  - set a custom static library suffix via:
    `-DSTATIC_LIB_SUFFIX=_my_static`. Resulting in
    `libssh2_my_static.lib`, and import library
    `libssh2.lib`.
  
  - set a custom import library suffix via:
    `-DIMPORT_LIB_SUFFIX=_my_implib`. Resulting in
    `libssh2_my_implib.lib` import library, and static library
    `libssh2.lib`.
  
  - customize the default static/import library suffix (incl. extension)
    via
    `-DCMAKE_STATIC_LIBRARY_SUFFIX=_my_static_suffix.lib` or
    `-DCMAKE_IMPORT_LIBRARY_SUFFIX=_my_import_suffix.lib`.
  
  Cherry-picked from #1036

- cmake: tweak static/import lib name collision avoidance logic
  
  The collision issue affects (typically) MSVC, when building both shared
  and static libssh2 in one go.
  
  Ref: https://stackoverflow.com/questions/2140129/what-is-proper-naming-convention-for-msvc-dlls-static-libraries-and-import-libr
  
  Initially we handled this by appending the `_imp` suffix to the import
  library filename. This is how curl tackles this, but on a second look,
  this solution seem to be accidental and has no widespread use.
  
  It seems more widely accepted to use the '_static' suffix for the static
  library. This patch implements this.
  
  (MinGW, Cygwin and unixy platforms are not affected by this issue.)
  
  Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1
  
  Cherry-picked from #1036

- cmake: add `IMPORT_LIB_SUFFIX` (like `STATIC_LIB_SUFFIX`)
  
  Allow resolving the import/static library name collision also by setting
  a custom _import_ library name suffix.
  
  Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1
  
  Cherry-picked from #1036

- ci: do not disable shared lib with msys2/autotools in GHA
  
  Cherry-picked from #1036

- Makefile.mk: fix `DYN=1 test` by skipping tests needing static lib
  
  `DYN=1` means to build examples/tests against the shared libssh2.
  
  Before this patch this was broken for building tests. This patch skips
  building tests that require the static libssh2 library, so the build now
  succeeds.
  
  Also move the list of tests that require static lib from
  `CMakeLists.txt` to `Makefile.inc`, so that we can reuse it in
  `Makefile.mk`.
  
  Couldn't find a way to also reuse it in `Makefile.am`. Move the
  `Makefile.am` specific definitions close to the shared list, to make it
  easier to keep them synced.
  
  Cherry-picked from #1036

- ci: make one of the AppVeyor CMake jobs shared-only
  
  This build combination did not have a CI test before.
  
  Cherry-picked from #1036

- cmake: allow tests with `BUILD_STATIC_LIBS=OFF`
  
  Before this patch, the CMake build did not allow to disable static
  libssh2 library while also building tests.
  
  This patch removes this constraint, and makes this combination possible.
  In this case the 3 (at the moment) tests that require a static libssh2
  library, are skipped from the build and test runs.
  
  Cherry-picked from #1036

- build: fix to set `-DLIBSSH2DEBUG` for tests
  
  Required for tests using libssh2 internals. These are the ones
  requiring the libssh2 _static_ lib.
  
  Before this patch, `src` and `tests` declared the `session` structure
  differently, due to extra struct members added with the `LIBSSH2DEBUG`
  macro set. But, the macro was only set for `src` when using CMake. At
  runtime this caused struct members to be at different offsets between
  lib and test code, resulting in the test failures below.
  
  Due to another bug in the affected test, these failures did not reflect
  in the exit code, which always returned success, so this went unnoticed
  for a good while. Fixed in: 84d31d0ca7b647ad4c2aa92bf8f4a94b233f5d3b
  
  ```
       Start  5: test_auth_keyboard_info_request
  [...]
  5: Test case 1 passed
  5: Test case 2 passed
  5: Test case 3: expected return code to be 0 got -1
  5: Test case 4: expected last error code to be "-6" got "-38"
  5: Test case 5: expected last error code to be "-6" got "-38"
  5: Test case 6: expected last error code to be "-6" got "-38"
  5: Test case 7: expected last error message to be "Unable to decode keyboard-interactive number of keyboard prompts" got "userauth keyboard data buffer too small to get l
  5: Test case 8: expected last error code to be "-41" got "-38"
  5: Test case 9: expected return code to be 0 got -1
  5: Test case 10: expected return code to be 0 got -1
  5: Test case 11: expected last error code to be "-6" got "-38"
  5: Test case 12: expected last error message to be "Unable to decode user auth keyboard prompt echo" got "userauth keyboard data buffer too small to get length"
  5: Test case 13: expected return code to be 0 got -1
  5: Test case 14: expected return code to be 0 got -1
  5: Test case 15: expected last error code to be "-6" got "-38"
  5: Test case 16: expected last error code to be "-6" got "-38"
  5: Test case 17: expected last error code to be "-6" got "-38"
  5: Test case 18: expected last error code to be "-6" got "-38"
  ```
  Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46925869/job/i9uasceu3coss0i2#L440
  Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46983040/job/c3vag25c26a77lyr#L485
  
  Cherry-picked from #1037
  Closes #1037

- test_auth_keyboard_info_request: fix to return failure
  
  Before this patch, this test returned success even when one of its tests
  failed. Fix it by returning 1 in case any of the tests fails.
  
  This issue masked a CMake build bug with logging enabled. Subject to an
  upcoming patch.
  
  Cherry-picked from #1037

- test_auth_keyboard_info_request: fix indentation
  
  Cherry-picked from #1037

- tidy-up: move comment off from copyright header
  
  Cherry-picked from #1037

- ci: enable shared libs in msys2/macOS cmake builds
  
  Shared libs improve example/tests build times. For "unity"
  builds the overhead of building shared lib is negligible, so
  this even reduced the overall build-time.
  
  Follow-up to 3d64a3f5100f7f4cf52202396eb4f1c3f3567771
  Follow-up to d93ccf4901ef26443707d341553994715414e207
  
  Tests:
  https://github.com/libssh2/libssh2/actions/runs/4906586658: unity builds enabled
  https://github.com/libssh2/libssh2/actions/runs/4906925743: unity builds enabled + parallel msys2 builds
  https://github.com/libssh2/libssh2/actions/runs/4906777629: unity + shared lib (this commit)
  https://github.com/libssh2/libssh2/actions/runs/4906927190: unity + shared lib (this commit) + parallel msys2 builds
  
  Consider making shared libs enabled by default also in CMake, to sync it with autotools?
  
  Closes #1035

- ci: add missed --parallel 3 from msys2 cmake builds
  
  Follow-up to 3d64a3f5100f7f4cf52202396eb4f1c3f3567771

- cmake: add and test "unity" builds
  
  "Unity" (aka "jumbo", aka "amalgamation" builds concatenate source files
  before compiling. It has these benefits for example: faster builds,
  improved code optimization, cleaner code. Let's support and test this.
  
  - enable unity builds for some existing CI builds to test this build
    scenario.
  - tune `UNITY_BUILD_BATCH_SIZE` size.
  - disable unity build for example and test programs (they use one source
    each already).
  
  You can enable it by passing `-DCMAKE_UNITY_BUILD=ON` to cmake.
  Supported by CMake 3.16 and newer.
  
  Ref: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html
  
  Closes #1034

- tests: simplify passing `srcdir` to tests
  
  Before this patch libssh2 used a variety of solutions to pass the source
  directory to tests: `FIXTURE_WORKDIR` build-time macro (cmake),
  `FIXTURE_WORKDIR` envvar (unused), setting `srcdir` manually
  (autotools), setting current directory (cmake), and also `builddir`
  envvar (autotools) for passing current working dir to `mansyntax.sh`.
  
  This patch reduces this to using existing `srcdir` with autotools and
  setting it ourselves in CMake. This was mostly enabled by this recent
  patch: 4c9ed51f962f542b98789b15bedaaa427f4029a2
  
  Details:
  
  - cmake: replace baked-in `FIXTURE_WORKDIR` macro with env.
  
    Added in 54bef4c5dad868a9d45fdbfca9729b191c0abab5 #198 (2018-03-21)
  
  - rename `FIXTURE_WORKDIR` to `srcdir`, to match autotools.
  
  - cmake: add missing `srcdir` for algo and sshd tests.
  
  - session_fixture: stop `chdir()`-ing, rely on prefixing with `srcdir`.
  
    Changing current directory should be unnecessary after
      4c9ed51f962f542b98789b15bedaaa427f4029a2 #801 (2023-02-24),
    that prefixes referenced input filenames with the `srcdir` envvar.
  
    The `srcdir` envvar was already exported by autotools, and now we're
    also setting it from CMake.
  
  - cmake: stop setting `WORKING_DIRECTORY`, rely on `srcdir` env.
  
    `WORKING_DIRECTORY` is no longer necessary, after passing `srcdir` to
    all tests, so they can find our source tree and keys/etc in it
    regardless of the current directory.
  
    Also this past commit hints that `WORKING_DIRECTORY` wasn't always
    working for this purpose as expected:
      "tests: Xcode doesn't obey CMake's test working directory"
    Ref: https://github.com/libssh2/libssh2/pull/198/commits/10a5cbf945abcc60153ee3d59284d09fc64ea152
  
  - autotools: delete explicit `srcdir` for test env.
  
    Added in 13f8addd1bc17e6c55d52491cc6304319ac38c6d (2015-07-02)
  
    automake documents `srcdir` as exported to the test environment:
    https://github.com/autotools-mirror/automake/blob/c04c4e8856e3c933239959ce18e16599fcc04a8b/doc/automake.texi#L9302-L9304
    https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html
    It's mentioned in the docs back in 1997 and got a regression test in
    2012. We can safely assume it to be available without setting it
    ourselves.
  
  - autotools: delete explicit `builddir`.
  
    Added in 13f8addd1bc17e6c55d52491cc6304319ac38c6d (2015-07-02)
  
    It seems this wasn't necessary to make the above fix work, and
    `mansyntax.sh` is able to figure out the build workdir by reading
    `$PWD`. Our out-of-tree and `make distcheck` CI builds also work
    without it.
  
    Let us know if there is a scenario we're missing and needs this.
  
  Closes #1032

- src: fix `libssh2_store_*()` for >u32 inputs
  
  `_libssh2_store_str()` and `_libssh2_store_bignum2_bytes()` accept
  inputs of `size_t` max, store the size as 32-bit unsigned integer, then
  store the complete input buffer.
  
  With inputs larger than `UINT_MAX` this means the stored size is smaller
  than the data that follows it.
  
  This patch truncates the stored data to the stored size, and now returns
  a boolean with false if the stored length differs from the requested
  one. Also add `assert()`s for this condition.
  
  This is still not a correct fix, as we now dump consistent, but still
  truncated data which is not what the caller wants. In future steps we'll
  need to update all callers that might pass large data to this function
  to check the return value and handle an error, or make sure to not call
  this function with more than UINT_MAX bytes of data.
  
  Ref: c3bcdd88a44c4636818407aeb894fabc90bb0ecd (2010-04-17)
  Ref: ed439a29bb0b4d1c3f681f87ccfcd3e5a66c3ba0 (2022-09-29)
  
  Closes #1025

- cmake: limit WinCNG to Windows
  
  After deleting the `bcrypt.h` check, no check remained. Restore
  a `WIN32` check here to ensure WinCNG is not enabled outside Windows.
  
  Follow-up to 1289033598546ee5089ff0fc4369d24e1e2be81f
  
  Tested-in #1032

- cmake: move `CMAKE_VS_GLOBALS` setting to CI configs
  
  To not force this setting for local builds where they might serve
  a good purpose.
  
  It makes our CI runs slightly faster and we don't need to track
  file changes in unattended, single, CI runs.
  
  Cherry-picked from #1031

- cmake: prefill for faster config phase on Windows
  
  Prefill known detection results on Windows with MinGW and MSVC, to
  avoid spending time on detecting these on every cmake configuration
  run.
  
  With MinGW + clang and MSVC, this elminates all detections.
  With MinGW + gcc, it reduces them to 3.
  
  Cherry-picked from #1031

- libssh2_setup.h: set `HAVE_INTTYPES_H` for MSVC
  
  To sync up the hand-crafted config with actual detection results
  by CMake and autotools. Sources compiled fine without it anyway.
  
  Cherry-picked from #1031

- cmake: re-add `select()` detection (regression)
  
  `select()` detection suffered two regressions: First I accidentally
  deleted it for non-Windows [1]. Then the Windows-specific setting got
  missed from the generated `libssh2_config.h` after a rearrangement in
  `CMakeLists.txt` files.
  
  [1] 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f (2023-03-07)
  [2] 803f19f004eb6a5b525c48fff6f46a493d25775c (2023-04-18)
  
  This patch restores detection. For Windows, enable it unconditionally,
  not only for speed reasons, but because detection needs `ws2_32`, and
  even that is broken on the x86 platform. According to the original
  `cmake/SocketLibraries.cmake`, caused by a calling convention mismatch.
  FWIW autotools detects it correctly.
  
  Cherry-picked from #1031

- ci: merge make job into msys2 section, enable zlib + openssl
  
  Follow up to dd625766271a0ba13f5ac661bdc2fa40bbfa580a
  
  Cherry-picked from #1030

- ci: add missing timeouts for autotools tests
  
  Cherry-picked from #1030

- ci: add mingw-w64 clang and gcc CMake jobs
  
  Cherry-picked from #1030

- cmake: assume `bcrypt.h` with WinCNG
  
  autotools already didn't check for `bcrypt.h`, and such check is only
  required for old/legacy mingw without obsolete/incomplete Windows
  headers.
  
  curl deprecated old-mingw support just recently and will delete support
  in September 2023.
  
  This patch saves some complexity and detection time by dropping this
  check for CMake. Meaning that mingw-w64 is now required to compile
  libssh2 when using the WinCNG backend for 32-bit builds. Other backends
  and CPU platforms are not affected.
  
  Ref: https://github.com/curl/curl/commit/e4d5685cb5d6eb07e1b43156fd7e3ba3563afba5
  
  Closes #1026

- cmake: do not check for `poll()` on Windows
  
  While it seems to exist on mingw in theory, it's not detected as of this
  writing. It also has issues, and not ready for production use:
  https://stackoverflow.com/questions/1671827/poll-c-function-on-windows
  
  On MSVC it's even less supported.
  
  Skip checking this to save CMake detection time.
  
  Closes #1027

- agent_win: make a struct static and other build improvements
  
  Also:
  - merge back `agent.h` into `agent.c` where it was earlier.
    Ref: c998f79384116e9f6633cb69c2731c60d3a442bb
  - introduce `HAVE_WIN32_AGENT` internal macro.
  - fix two guards to exclude more code unused in UWP builds.
  
  Follow-up to 1c1317cb768688eee0e5496c72683190aaf63b29
  
  Closes #1028

- tidy-up: formatting nits
  
  Whitespace and redundant parenthesis in `return`s.
  
  Closes #1029

GitHub (3 May 2023)
- [Nick Woodruff brought this change]

  sftp: parse attribute extensions, if present, to avoid stream parsing errors (#1019)
  
  Prevents directory listing errors when attribute extensions are present
  by advancing stream parsing past extensions.

Viktor Szakats (3 May 2023)
- tests: merge `sshd_fixture.sh` into `test_sshd.test`
  
  Merge the loop executing multiple tests and the script that actually
  launches the tests into a single script. This same script is now called
  from both autotools and CMake. autotools loads the list of tests from
  `Makefile.inc`, CMake passes it via the command-line. It's also possible
  to call the script manually with a custom list of tests or individual
  ones.
  
  With this setup we're now launching a single sshd session for all tests,
  instead of launching and killing it for each test. This did not improve
  reliability of these test on CI machines, and it's easy to go back to
  the previous behaviour if necessary.
  
  Also:
  
  - allow passing custom sshd options via `SSHD_FLAGS`.
  
  - add `SSHD_TESTS_LIMIT_TO` to limit the number of tests to its value.
    E.g. `SSHD_TESTS_LIMIT_TO=1` executes the first test only. Meant for
    debugging.
  
  - use `ssh` to test the connection (if available) instead of fixed
    amount of wait. Made to also work on Windows.
  
  - set `PermitRootLogin yes` in `sshd`, to allow running tests as root.
  
  - show `sshd` path and version.
  
  Cherry-picked from #1017 (the last one)
  Closes #1024

- ci: make sure to run tests after all builds in GHA
  
  Whenever possible. Due to flakiness/hangs/timeouts, keep sshd
  tests disabled on Windows and macOS.
  
  Also keep Docker tests disabled on these platforms, they do not work:
  
  GHA Windows:
  ```
  no matching manifest for windows/amd64 in the manifest list entries
  ```
  
  GHA macOS:
  ```
  sh: docker: command not found
  ```
  
  It's not possible to run UWP and ARM64 binaries:
  UWP:
  ```
  Test #2: test_simple ......................Exit code 0xc0000135
  ```
  Needs but doesn't find: `VCRUNTIME140_APP.dll`.
  
  ARM64
  ```
  D:/a/libssh2/libssh2/bld/tests/Release/test_ssh2.exe: cannot execute binary file: Exec format error
  ```
  
  Cherry-picked from #1017

- tests: disable sshd tests on Windows via new options
  
  Instead of using hacks inside the build systems.
  
  `SSHD` variable added to GitHub Actions is not currently used.
  Added there to make it easy to experiment with these tests and
  the path is non-trivial to discover. Using the Windows built-in
  sshd server is another option (haven't discovered its path yet).
  
  Cherry-picked from #1017

- tests: add cmake/autotools options to disable running tests
  
  autotools:
  - `--disable-docker-tests`
  - `--disable-sshd-tests`
  
  cmake:
  - `RUN_DOCKER_TESTS`
  - `RUN_SSHD_TESTS`
  
  Update automake and ci to use this new flag and delete former logic
  of relying on Windows detection and `HOST_WINDOWS`. Also fix honoring
  this when running `test_read_algos.test`.
  
  This allows to disable these individually and on per-CI/local-job basis.
  To run as much tests as the env allows.
  
  Cherry-picked from #1017

- ci: add `make distcheck` job
  
  Cherry-picked from #1017

- ci: switch to out-of-tree autotools builds
  
  Cherry-picked from #1017

- ci: restore parallel builds with cmake
  
  Also add missing -j3 for macOS builds.
  
  Partial revert of 0d08974633cfc02641e6593db8d569ddb3644255
  
  Cherry-picked from #1017

- ci: sync names, steps, syntax, build dirname between jobs
  
  Also:
  
  - delete an unused 64-bit option for Linux (all jobs are 64-bit).
  
  - fix to not install libgcrypt and openssl when doing mbedTLS builds.
  
  [ Empty lines after multiline run commands are solely to unbreak
  my editor's syntax highlighting. They can be deleted in the future ]
  
  Cherry-picked from #1017

- ci: add `Makefile.mk` test, with `LIBSSH2_NO_*` options
  
  Cherry-picked from #1017

- Makefile.mk: use Makefile.inc from example and tests
  
  Instead of assembling the list using `$(wildcard ...)`.
  
  Also split off a `tests/Makefile.inc` from `tests/Makefile.am`. With its
  simpler syntax, this also allows to delete some complexity from the
  CMake loader.
  
  Cherry-picked from #1017

- example, tests: fix ssh2 to correctly return failure
  
  Before this patch ssh2 and test_ssh2 returned success even if the session
  failed at `libssh2_session_handshake()` or after.
  
  This patch depends on cda41f7cb87c3af5258ba48ccef19d3efdbd3d3b, that fixed
  running test_ssh2 on Windows via sshd_fixture.
  
  Cherry-picked from #1017

- tests: set -e -u in shell scripts
  
  Cherry-picked from #1017

- cmake: use shared libs again in example and tests
  
  Re-sync with autotools and v1.10.0 behavior.
  
  This improves build times. It also allows to stop building our special
  shared test target to test shared builds.
  
  Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1
  
  Cherry-picked from #1017
  Closes #1022

- tests: retry KEX failures when using the WinCNG backend
  
  Twice. This tests are flaky and we haven't figured out why. In the
  meantime use this workaround to test and log these issues, but also
  ensure that CI run aren't flagged red because of it.
  
  Also:
  - kex: add debug message when hostkey `sig_verify` fails,
    to help tracking WinCNG KEX failures.
  - test_ssh2: also add retry logic.
    I'm not quite sure this is correct. Please let me know.
  - session_fixture: bump up `src_path` slots to fit retries and show
    message when hitting the limit.
  - session_fixture: clear `kbd_password` static variable after use.
  - session_fixture: close and deinit socket after use.
  - session_fixture: deinit libssh2 after use.
  
  Ref: #804 #846 #979 #1012 #1015
  
  Cherry-picked from #1017
  Closes #1023

- example, test_ssh2: shutdown socket before close
  
  Syncing them with `tests/session_fixture.c`.
  
  Cherry-picked from #1017

- ci.yml: fix indentation [ci skip]
  
  Cherry-picked from #1017

- Makefile.mk: make tests depend on runner lib
  
  Cherry-picked from #1017

- build: compile agent_win.c via agent.c
  
  Silences these warnings on non-Windows:
  ```
  ranlib: file: libssh2.a(agent_win.c.o) has no symbols
  ```
  
  Cherry-picked from #1017

- cmake: delete obsolete comment
  
  Follow-up to 80175921638fa0a345237d23206a2ad1644cdd9b
  
  Cherry-picked from #1017

- checksrc.sh: fix it to run from any current directory
  
  Also silence a shellcheck warning.
  
  Cherry-picked from #1017

- ISSUE_TEMPLATE: ask for crypto backend version
  
  Also fix casing in backend names.
  
  Cherry-picked from #1017

- tests: fix newlines in test keys for sshd on Windows
  
  Make sure these files get LF newlines on checkout. Before this patch
  a checked out libssh2 Git repository may have used CRLF newlines in text
  files, include test keys. Private keys with CRLF newlines could confuse
  sshd on Windows:
  
  ```
  # sshd version: 'OpenSSH_9.2, OpenSSL 1.1.1t  7 Feb 2023'
  Unable to load host key "/d/a/libssh2/libssh2/tests/openssh_server/ssh_host_ed25519_key": invalid format
  Unable to load host key: /d/a/libssh2/libssh2/tests/openssh_server/ssh_host_ed25519_key
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/4846188677/jobs/8635575847#step:6:39
  
  Cherry-picked from #1017

- cmake: move option descriptions next to definition
  
  Cherry-picked from #1017

- checksrc: sync with curl
  
  There were no new issues detected.
  
  Cherry-picked from #1017

- openssl: enable AES-GCM with wolfSSL
  
  Follow-up to 3c953c05d67eb1ebcfd3316f279f12c4b1d600b4 #797
  
  There is pending issue with wolfSSL, where encryption/decryption is not
  working (both with and without this patch). Ref: #1020
  
  Cherry-picked from #1017

- appveyor: add a UWP OpenSSL 3 build
  
  Cherry-picked from #1017

- appveyor: skip `before_test` when not doing tests
  
  Also merge `before_test` section into `test_script`.
  
  Cherry-picked from #1017

- docs: delete two stray characters
  
  Cherry-picked from #1017

- tidy-up: avoid expression 'of course'
  
  Cherry-picked from #1017

- tidy-up: avoid word 'just'
  
  Cherry-picked from #1017

- tidy-up: avoid word 'simply'
  
  Cherry-picked from #1017

- tests: teach to use the `USERNAME` envvar on Windows
  
  Necessary to pick the correct local username when run on Windows.
  
  Cherry-picked from #1017

- test_ssh2: support `FIXTURE_TRACE_ALL*` envvars
  
  Cherry-picked from #1017

- tidy-up: add missing newline to error msg, formatting
  
  Also:
  - fix indent
  - lowercase variables names
  - fix formatting in `src/global.c`
  
  Cherry-picked from #1017

- appveyor: wait more for SSH connection from GHA
  
  Cherry-picked from #1017

- ci: restrict permissions in GitHub Actions
  
  Cherry-picked from #1017

- build: fix autoreconf warnings
  
  - update `AC_HELP_STRING' to 'AS_HELP_STRING`:
    ```
    configure.ac:[...]: warning: The macro `AC_HELP_STRING' is obsolete.
    ```
    "AC_HELP_STRING is deprecated in 2.70+ and I believe AS_HELP_STRING works
    already since 2.59 so bump the minimum required version to that."
  
    Ref: https://github.com/curl/curl/commit/a59f04611629f0db9ad8e768b9def73b9b4d9423
  
  - simplify to avoid:
    ```
    src/Makefile.inc:48: warning: variable 'EXTRA_DIST_SOURCES' is defined but no program or
    src/Makefile.inc:48: library has 'DIST' as canonical name (possible typo)
    ```
    Regression from 2c18b6fc8df060c770fa7e5da704c32cf40a5757
  
  - `AC_TRY_LINK`/`AC_TRY_COMPILE`:
    ```
    configure.ac:335: warning: The macro `AC_TRY_COMPILE' is obsolete.
    configure.ac:335: warning: The macro `AC_TRY_LINK' is obsolete.
    ```
  
  - `libtool`-related ones:
    ```
    configure.ac:70: warning: The macro `AC_LIBTOOL_WIN32_DLL' is obsolete.
    configure.ac:70: warning: AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you
    configure.ac:70: put the 'win32-dll' option into LT_INIT's first parameter.
    configure.ac:71: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
    ```
    Using code copied from curl:
    https://github.com/curl/curl/blob/9ce7eee07042605045dcfd02a6f5b38ad5c8a05d/m4/xc-lt-iface.m4#L157-L163
  
  - delete commented and obsolete `AC_HEADER_STDC`.
  
  - formatting.
  
  Most cherry-picked from `autoupdate` updates.
  
  Cherry-picked from #1017
  Closes #1021

- docker-bridge.ps1: use native newlines
  
  Also add a shebang and exec flag to ease testing/handling on *nix.
  PowerShell accepts both LF and CRLF.
  
  Cherry-picked from #1017

GitHub (1 May 2023)
- [Zenju brought this change]

  sftp: remove packet limit for directory reading (#791)
  
  Currently libssh2 cannot read huge directory listings when the package
  size of `LIBSSH2_SFTP_PACKET_MAXLEN` (256KB) is hit. For example AWS
  always sends a single package with all files of a directory, no matter
  how big it is: https://freefilesync.org/forum/viewtopic.php?t=10020
  Package size is probably around 7MB in this case!
  
  `LIBSSH2_SFTP_PACKET_MAXLEN` is a good idea in general, but there
  doesn't seem to be a one size fits all. While almost all(?) SFTP
  responses come in very small packages, I believe the `SSH_FXP_READDIR`
  request should be exempted.
  
  The proposed patch, enhances the package size reading to include parsing
  the full SFTP packet header. And in case a package is of type
  `SSH_FXP_NAME` and matches an expected `readdir_request_id`, it does not
  fail if `LIBSSH2_SFTP_PACKET_MAXLEN` is hit. The chances of accidentally
  hiding data-corruption are pretty non-existent, because both SFTP
  `request_id` and packet type must match. No change in behavior
  otherwise.
  
  Best, Zenju
  
  Previous discussion: #268 #269
  
  With the above changes, the `LIBSSH2_SFTP_PACKET_MAXLEN` value could
  (and should?) probably be set back to a small number again.
  
  Integration-patches-by: Viktor Szakats

Viktor Szakats (28 Apr 2023)
- checksrc: update and apply fixes
  
  Update to latest revision and fix new issues detected.
  
  Closes #1014

- ci: add macOS CI jobs + fix issues revealed
  
  Add macOS CI jobs, both cmake and autotools for all supported crypto
  backends (except BoringSSL), with debug, zlib enabled. Without running
  tests. It also introduces OpenSSL 1.1 into the CI with a non-MSVC
  compiler.
  
  Credits to curl's `macos.yml`, that I used as a base.
  
  Fix these issues uncovered by the new tests:
  
  - openssl: fix warning when built with wolfSSL, or OpenSSL 1.1 and
    earlier. CI missed it because apparently the only OpenSSL 1.1 test
    we had used MSVC, which did not complain.
  
    ```
    ../src/openssl.c:3852:19: error: variable 'sslError' set but not used [-Werror,-Wunused-but-set-variable]
        unsigned long sslError;
                      ^
    ```
  
    Regression from 097c8f0dae558643d43051947a1c35b65e1c5761
  
  - pem: add hack to build without MD5 crypto-backend support.
  
    The Homebrew wolfSSL build comes with MD5 support disabled. We can
    expect this becoming the norm. FIPS also requires MD5 disabled.
  
    We deleted the same hack from `hostkey.c` a month ago:
    ad6aae302aaec84afbfacf0c1dfdc446d46eaf21
  
    A better fix would be to guard the MD5 logic with our `LIBSSH2_MD5`
    macro.
  
    ```
    pem.c:214:32: error: use of undeclared identifier 'MD5_DIGEST_LENGTH'; did you mean 'SHA_DIGEST_LENGTH'?
            unsigned char secret[2*MD5_DIGEST_LENGTH];
                                   ^~~~~~~~~~~~~~~~~
                                   SHA_DIGEST_LENGTH
    ```
  
    Regression from 386e012292a96fcf0dc6861588397845df0aba2c
  
  - `configure.ac`: add crypto libs late.
  
    Fix it by adding crypto libs to `LIBS` at the end of the configuration
    process.
  
    Otherwise `configure` links crypto libs while doing feature tests,
    which can cause unwanted detections. For example LibreSSL publishes
    the function `explicit_bzero()`, which masks the system alternative,
    e.g. `memset_s()` on macOS. Then when trying to compile libssh2, its
    declaration is missing:
  
    ```
    bcrypt_pbkdf.c:93:5: error: implicit declaration of function 'explicit_bzero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        _libssh2_explicit_zero(ciphertext, sizeof(ciphertext));
        ^
    ../src/misc.h:50:43: note: expanded from macro '_libssh2_explicit_zero'
                                              ^
    ```
  
    Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f
  
  - cmake: fix to list our own include directory before the crypto libs',
    when building tests.
  
    Otherwise a global crypto header path, such as `/usr/local/include`,
    containing an external `libssh2.h` of a different version, could cause
    weird errors:
  
    ```
    cc -DHAVE_CONFIG_H -DLIBSSH2_LIBGCRYPT \
      -I../src -I../../src -I/usr/local/include -I[...]/libssh2/include \
      -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk  \
      -mmacosx-version-min=12.6 -MD -MT  \
      tests/CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o \
      -MF CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o.d  \
      -o CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o -c \
      [...]/libssh2/tests/test_aa_warmup.c
    ```
  
    ```
    [ 62%] Building C object tests/CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o
    In file included from /Users/runner/work/libssh2/libssh2/tests/test_aa_warmup.c:4:
    In file included from /Users/runner/work/libssh2/libssh2/tests/runner.h:42:
    In file included from /Users/runner/work/libssh2/libssh2/tests/session_fixture.h:43:
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:649:5: error: type name requires a specifier or qualifier
        LIBSSH2_AUTHAGENT_FUNC((*authagent));
        ^
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:649:30: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
        LIBSSH2_AUTHAGENT_FUNC((*authagent));
                                 ^
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:650:5: error: type name requires a specifier or qualifier
        LIBSSH2_ADD_IDENTITIES_FUNC((*addLocalIdentities));
        ^
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:650:35: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
        LIBSSH2_ADD_IDENTITIES_FUNC((*addLocalIdentities));
                                      ^
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:651:5: error: type name requires a specifier or qualifier
        LIBSSH2_AUTHAGENT_SIGN_FUNC((*agentSignCallback));
        ^
    /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:651:35: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int]
        LIBSSH2_AUTHAGENT_SIGN_FUNC((*agentSignCallback));
                                      ^
    6 errors generated.
    ```
  
  - `tests/session_fixture.h`: delete duplicate `libssh2.h`,
    `libssh2_priv.h` already includes it.
  
    Follow-up to a683133dfe96de126194f58f183131a84c7d36a2
  
  CI logs with these errors:
  https://github.com/libssh2/libssh2/actions/runs/4824079094
  https://github.com/libssh2/libssh2/actions/runs/4824270819
  
  curl's `macos.yml`: https://github.com/curl/curl/blob/da2470de96e94e1c8d276b9ae6e4c97c2cf54239/.github/workflows/macos.yml
  
  Tidying-up while here:
  
  - tests/session_fixture.h: delete duplicate `libssh2.h`.
    `libssh2_priv.h` includes it already.
  
    Follow-up to a683133dfe96de126194f58f183131a84c7d36a2
  
  - ci.yml: yamllint warnings and formatting.
  
  - ci.yml: msvc section formatting and step-naming sync with macOS.
  
    Follow-up to f4a4c05dc3bcd62ecaa1b0cac5997faefe16c83f
  
  - ci.yml: enable `--enable-werror` for msys2 jobs.
  
    Follow-up to 71cae949d577fdd632a271da0bec89f977dc5dd2
  
  - appveyor.yml: show OpenSSL versions, link to image content.
  
  Closes #1013

- ci: convert `docker-bridge.bat` to shell script
  
  Convert `ci/appveyor/docker-bridge.bat` to a POSIX shell script.
  
  Also bump the tunnel to use ed25519 (was RSA-2048).
  
  Closes #997

- kex: use distinctive error strings
  
  Use unique error strings to help localize errors.
  
  Closes #1011

- tidy-up: C header use
  
  - drop unused or duplicate C headers.
  - add missing ones (that worked by chance).
    (`string.h`, `stdlib.h`)
  - mention the functions that need certain headers.
  - move some headers from crypto header to crypto C source.
  - reorder headers in some places.
  - simplify the #if tree for `sys/select.h` in `libssh2_priv.h`.
  - move scp-specific macros next to their header to `scp.c`
    Follow-up to 5db836b2a829c6fff1e8c7acaa4b21b246ae1757
  
  Closes #999

- tidy-up: text nits, English contractions [ci skip]
  
  In input/output text and docs mostly.

- ci: add MSVC and UWP builds to GitHub Actions
  
  - add MSVC jobs to GitHub Actions. They are similar to the 'Build-only'
    jobs we have on AppVeyor CI, though only the ARM64 Windows one is
    identical. Major disadvantage is that we don't run tests here. Major
    advantage is they only take a few minutes to complete, compared to
    an hour on AppVeyor, so WinCNG build results now appear quicker.
  
    Docker tests might be possible, but my light attempts failed.
    Finding ZLIB also failed, so we still miss an MSVC test with it.
  
    Tool versions as of now: Server 2022, VS2022, OpenSSL 1.1.1
  
  - add UWP builds for both ARM64 and x64. This hasn't been CI tested
    before.
  
    (We could probably enable UWP on AppVeyor CI as well.
    I haven't tried.)
  
  - fix two uncovered UWP issues in tests.
  
  - rename internal macro `LIBSSH2_WINDOWS_APP` to `LIBSSH2_WINDOWS_UWP`.
  
    Follow-up to 2addafb77b662e64248d156c71c69b91ba7b926e
  
  - fold long lines and quote truthy values in `.github/workflows/ci.yml`.
  
  Closes #1010

- session_fixture: avoid no-op `chdir(getcwd())`
  
  If no `FIXTURE_WORKDIR` macro or envvar is present to set the cwd,
  avoid querying the cwd and then calling chdir with the result.
  
  Ref: 54bef4c5dad868a9d45fdbfca9729b191c0abab5 (patch)
  Ref: 10a5cbf945abcc60153ee3d59284d09fc64ea152 (individual commit)
  
  Closes #1009

- tests/sshd_fixture.sh: convert back to POSIX
  
  There was no strong reason to require bash. Let's use POSIX shell
  like before the recent overhaul.
  
  Follow-up to a459a25302a31f6e2aba3c4e15b1472b83b596fc
  
  Closes #1008

GitHub (26 Apr 2023)
- [Miguel de Icaza brought this change]

  If SFTP fails to initialize, do not busy loop waiting for IO to happen (#720)
  
  Currently SFTP's init will busy loop waiting for the channel to close,
  even if the underlying transport returns EAGAIN. While this works for
  sockets, it might not work out if you have a different transport that
  needs to do some additional processing on the side.
  
  Integration-patches-by: Viktor Szakats

Viktor Szakats (26 Apr 2023)
- docs: simplify `.TH` header & other cleanups [ci skip]
  
  - simplify `.TH` headers.
  - delete empty lines before sections.
  - update template with an `AVAILABILITY` section.
  
  Left libssh2 version number in the `.TH` header for entries without an
  `AVAILABILITY` section, or where there was a different version number
  there.

- tidy-up: formatting nits [ci skip]

- vms: fix to include `sys/socket.h`
  
  Due to a typo in the `HAVE_*` macro, this header was never included.
  
  A comment suggests that `socklen_t` is not defined on VMS and defines it
  manually. This symbol is usually in `sys/socket.h`, so the typo may have
  been the reason for it to be missing.
  
  Closes #1007

- build: fix `make distcheck` regressions
  
  - add #included C files to `EXTRA_DIST`.
  
    Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f
  
  - fix `tests/sshd_fixture.sh` to not write into the test dir, by using
    a pre-assembled `TrustedUserCAKeys` file. Update `Dockerfile` too to
    use this.
  
    Regression from a459a25302a31f6e2aba3c4e15b1472b83b596fc
  
  Also update `tests/sshd_fixture.sh` to use
  `openssh_server/authorized_keys` like `Dockerfile` does. And a few more
  cosmetic updates.
  
  Closes #1006

- libssh2_priv.h: assume `HAVE_LONGLONG`
  
  Unless I'm missing something, it looks like `libssh2.h` has been using
  `libssh2_int64_t` unconditionally since at least 2010-04-17 when
  `libssh2_scp_send64()` landed via commit
  be9ee7095e2d5021985f57d88f5f889d3c2b9d8f.
  
  This makes it redundant to detect `HAVE_LONGLONG` to fallback to a
  32-bit `scpRecv_size` in `libssh2_priv.h`. Then deal with possible
  combinations of this flag and `strtoll()` options, which was
  error-prone.
  
  Instead, assume in `libssh2_priv.h` that we have `libssh2_int64_t`, and
  use it always.
  
  For MSVC, this means `_MSC_VER` `1310` (from year 2003) is now
  required. Based on the above, this was already so before this patch.
  
  If there happens to be no 64-bit `strtoll()` detected, fall back to the
  32-bit `strtol()` (this should never happen with MSVC, and probably
  neither with any other reasonably modern toolchain.)
  
  Also make sure to set `HAVE_STRTOI64` for older, non-CMake, MSVC builds
  (e.g. `Makefile.mk` or `NMakefile` ones).
  
  Closes #1002

GitHub (26 Apr 2023)
- [Miguel de Icaza brought this change]

  fix a couple of small regressions (#1004)
  
  - openssl: fix potentially missing `ERR_*` constants by including
    `openssl/err.h`. This could happen with recent version of Xcode
    or when building against OpenSSL built with the `OPENSSL_NO_ENGINE`
    option.
  
    Regression from 097c8f0dae558643d43051947a1c35b65e1c5761 (#789)
  
  - channel: fix an issue that would corrupt the data stream when
    attempting to initialize the agent in non-blocking mode, as it is
    necessary to propagate the `EAGAIN` signal upstream when the transport
    returns `EAGAIN`.
  
    Regression from bc4e619e76071393e466c29220fc4ef5764c2820 (#752)
  
  - packet: the current code does not set the state machine upon reaching
    this point which means that if the code is suspended due to the
    transport returning an `EAGAIN`, this will re-initialize the structure
    every time.
  
    The issue is that this keeps assigning a new channel-id downstream,
    which does not match the initial channel-id that is initially
    generated, causing a lookup later to fail as there is no matching
    channel.
  
    Regression from bc4e619e76071393e466c29220fc4ef5764c2820 (#752)

Viktor Szakats (26 Apr 2023)
- tidy-up: `gettimeofday()` fallback and use
  
  Simplify the way we handle `gettimeofday()` fallback for platforms
  without native support or without any support. Make it similar to
  how we handle `snprintf()`.
  
  In case of no native `gettimeofday()` support and a non-Windows
  platform, our local fallback returns zero in `tv_usec` and `tv_sec`,
  ending up with a zero `timeout_remaining` in `session.c`, same as
  before this patch.
  
  Also:
  - drop unused `sys/time.h` headers.
  - fix our fallback code to compile with any Windows compilers
    (not just MSVC)
  - delete unnecessary casts.
  
  Closes #1001

- libssh2_priv.h: fix checksrc warning [ci skip]
  
  Regression from 9ef75298fae0728305d9d38ba1e3c838ad0513f7

- libssh2_priv.h: whitespace fixes cont. [ci skip]

- libssh2_priv.h: whitespace fixes [ci skip]

- cmake: use portable mkdir for tests/coverage target [ci skip]
  
  Makes `make coverage` work without a POSIX mkdir.
  
  Tested locally.
  
  Ref: https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E-arg-make_directory

- kex: fix overlapping memcpy() to memmove()
  
  Noticed this when libasan started kicking out errors when sending in
  MACs preferences that were not supported yet.
  
  Reported-by: fourierules on github
  Fixes #611
  Closes #1000

- test/CMakeLists.txt: reuse `Makefile.am` librunner source list
  
  Follow-up to a459a25302a31f6e2aba3c4e15b1472b83b596fc
  
  Closes #998

GitHub (25 Apr 2023)
- [Zenju brought this change]

  openssl: fix misleading error message if wrong passphrase (#789)
  
  Fixes #608

Viktor Szakats (25 Apr 2023)
- tidy-up: tiny nits [ci skip]

- tests: improve running tests
  
  TL;DR: Sync test builds between autotools and CMake. Sync sshd
  configuration between Docker and non-Docker fixtures. Bump up
  sshd_config for recent OpenSSH releases.
  
  This also opens up the path to have non-Docker tests that use a
  local sshd process. Though sshd is practically unusable on Windows
  CI machines out of the box, so this will need further efforts.
  
  Details:
  
  - cmake: run sshd fixture test just like autotool did already.
  
  - sync tests and their order between autotools and CMake.
  
    It makes `test_aa_warmup` the first test with both.
  
  - cmake: load test lists from `Makefile.am`.
  
    Needed to update the loader to throw away certain lines to keep the
    converted output conform CMake syntax. Using regexp might be an
    alternative way of doing this, but couldn't make it work.
  
  - cmake: use the official way to configure test environment variables.
    Switch to syntax that's extendable.
  
  - cmake: allow to run the same test both under Docker and sshd fixture.
  
    Useful for testing the sshd fixture runner, or how the same test
    behaves in each fixture.
  
  - update test fixture to read the username from `USER` envvar instead of
    using the Dockfile-specific hardwired one, when running outside Docker.
  
  - rework `ssh2.sh` into `sshd_fixture.sh`, to:
  
    - allow running any tests (not just `test_ssh2`).
    - configure Docker tests for running outside Docker.
    - fixup `SSHD` path when running on Windows (e.g. in AppVeyor CI).
      Fixes: `sshd re-exec requires execution with an absolute path`
    - allow overriding `PUBKEY` and `PRIVKEY` envvars.
    - allow overriding `ssh_config` via `SSHD_FIXTURE_CONFIG`.
  
  - prepare support for running multiple tests via sshd_fixture.
  
    Add a TAP runner for autotools and extend CMake logic. The TAP runner
    loads the test list from `Makefile.am`.
  
    Notice however that on Windows, `sshd_fixture.sh` is very flaky with
    GitHub Actions. And consistently broken for subsequent tests in
    AppVeyor CI:
      'libssh2_session_handshake failed (-43): Failed getting banner'
  
    Another way to try is a single sshd instance serving all tests.
    For CMake this would probably mean using an external script.
  
  - ed25519 test keys were identical for auth and host. Regenerate the
    auth keypair to make them distinct.
  
  - sync the sshd environment between Docker and sshd_fixture.
  
    - use common via `openssh_server/sshd_config`.
    - accept same auth keys.
    - offer the same host keys.
    - sync TrustedUserCAKeys.
    - delete now unused keypairs: `etc/host*`, `etc/user*`.
    - bump up startup delay for Windows (randomly, to 5 secs, from 3).
    - delete `UsePrivilegeSeparation no` to avoid deprecation warnings.
      `command-line line 0: Deprecated option UsePrivilegeSeparation`
    - delete `Protocol 2` to avoid deprecation warnings.
      It has been the default since OpenSSH 3.0 (2001-11-06).
    - delete `StrictModes no` (CI tests work without it, Docker tests
      never used it).
  
  - bump `Dockerfile` base image to `testing-slim` (from `bullseye-slim`).
  
    It needed `sshd_config` updates to keep things working with
    OpenSSH 9.2 (compared to bullseye's 8.4).
  
    - replace `ChallengeResponseAuthentication` alias with
      `KbdInteractiveAuthentication`.
      The former is no longer present in default `sshd_config` since
      OpenSSH 8.7 (2021-08-20). This broke the `Dockerfile` script.
      The new name is documented since OpenSSH 4.9 (2008-03-31)
  
    - add `PubkeyAcceptedKeyTypes +ssh-rsa,ssh-dss,ssh-rsa-cert-v01@openssh.com`
      and `HostKeyAlgorithms +ssh-rsa`.
  
      Original-patch-by: Eric van Gyzen (@vangyzen on github)
      Fixes #691
  
      There is a new name for `PubkeyAcceptedKeyTypes`:
         `PubkeyAcceptedAlgorithms`.
      It requires OpenSSH 8.5 (2021-03-03) and breaks some envs so we're
      not using it just yet.
  
  - drop `rijndael-cbc@lysator.liu.se` tests and references from config.
  
    This is a draft alias for `aes256-cbc`. No need to test it twice.
    Also this alias is no longer recognized by OpenSSH 8.5 (2021-03-03).
  
  - update `mansyntax.sh` and `sshd_fixture.sh` to not rely on `srcdir`.
  
    Hopefully this works with out-of-tree builds.
  
  - fix `test_read_algos.test` to honor CRLF EOLs in their inputs
    (necessary when running on Windows.)
  
  - fix `test_read_algos.test` to honor `EXEEXT`. Might be useful when
    running tests under cross-builds?
  
  - `test_ssh2.c`:
  
    - use libssh2 API to set blocking mode. This makes it support all
      platforms.
    - adapt socket open timeout logic from `openssh_fixture.c`.
      Sadly this did not help fix flakiness on GHA Windows.
  
  - tests: delete unused C headers and variable initialization.
  
  - delete unused test files: `sshd_fixture.sh.in`, `sshdwrap`,
    `etc/sshd_config`.
  
    Ref: cf80f2f4b5255cc85a04ee43b27a29c678c1edb1
  
  - autotools: delete stray `.c` test sources from `EXTRA_DIST` in tests.
  
  - `tests/.gitignore`: drop two stray tests.
  
  - autotools: fix passing `SSHD` containing space (Windows needs this).
  
  - autotools: sort `EXTRA_DIST` in tests.
  
  - cmake: fix to add `test_ssh2` to `TEST_TARGETS`.
  
  - fix `authorized_key` order in `tests/gen_keys.sh`.
  
  - silence shellcheck warning in `ci/checksrc.sh`.
  
  - set `SSHD` for autotools on GitHub Actions Windows. [skipped]
  
    Auto-detection doesn't work (maybe because sshd is installed via
    Git for Windows and we're using MSYS2's shell.)
  
    It enables running sshd fixture (non-Docker) tests in these jobs.
  
    I did not include this in the final patch due to flakiness:
    ```
    Connection to 127.0.0.1:4711 attempt #0 failed: retrying...
    Connection to 127.0.0.1:4711 attempt #1 failed: retrying...
    Connection to 127.0.0.1:4711 attempt #2 failed: retrying...
    Failure establishing SSH session: -43
    ```
  
    Can be enabled with:
    `export SSHD='C:/Program Files/Git/usr/bin/sshd.exe'`
  
  Closes #996

- ci: reduce algo test runtime on AppVeyor
  
  Make the block count customizable in `test_read` via environment
  `FIXTURE_XFER_COUNT`.
  
  Set the custom count lower than the default when running on AppVeyor.
  
  The goal is to reduce CI roundtrip times.
  
  Closes #995

GitHub (22 Apr 2023)
- [Michael Buckley brought this change]

  Agent forwarding implementation (#752)
  
  This PR contains a series of patches that date back many years and I
  believe were discussed on the mailing list, but never merged. We have
  been using these in our local copy of libssh2 without issue since 2015,
  if not earlier. I believe this is the full set of changes, as we tried
  to use comments to mark where our copy of libssh2 differs from the
  canonical version.
  
  This also contains changes I made earlier this year, but which were not
  discussed on the mailing list, to support certificates and FIDO2 keys
  with agent forwarding.
  
  Note that this is not a complete implementation of agent forwarding, as
  that is outside the scope of libssh2. Clients still need to provide
  their own implementation that parses ssh-agent methods after calling
  libssh2_channel_read() and calls the appropriate callback messages in
  libssh2. See the man page changes in this PR for more details.
  
  Integration-patches-by: Viktor Szakats
  
  * prefer size_t
  * prefer unsigned int over u_int in public function
  * add const
  * docs, indent, checksrc, debug call, compiler warning fixes

Viktor Szakats (21 Apr 2023)
- ci: add Windows Server 2016 into the test mix
  
  We had Windows Server 2012 R2 (8.1) and Windows Server 2019 (10) before
  this patch. After, we also have Windows Server 2016 (10).
  
  The WinCNG flakey tests should have a better chance when running on the
  newer OS.
  
  This update does not change the compiler mix.
  
  Also change the test fixture to not use the `--quiet` option with the
  `docker pull` commant. This option requires docker v19.03, and
  AppVeyor's Visual Studio 2017 image doesn't support it. Log output did
  not change without `--quiet`, so it seems safe to delete it. In case
  we'd need it, another solution is to retry without `--quiet` if the
  command fails. docker's exit status is 125 in that case.
  
  Ref: https://github.com/libssh2/libssh2/issues/804#issuecomment-1515232799
  Ref: https://www.appveyor.com/docs/windows-images-software/
  
  Closes #994

- build: add autotools test_read support and more
  
  Keep a single list for mac and crypt algos that we use in both CMake
  and autotools. Use the same test names across build tools.
  
  Use the TAP protocol to track individual tests run from a single shell
  script.
  
  Also:
  
  - enable the rest of our tests with autotools.
  
  - set `make check` verbose to see errors in case they happen.
  
  - silence stray 'command not found' error when running `mansyntax.sh`
    on Windows.
  
  GitHub Actions Windows docker tests disabled due to:
  ```
  Command: docker build --quiet -t libssh2/openssh_server ../tests/openssh_server
  Error running command 'docker build --quiet -t libssh2/openssh_server ../tests/openssh_server' (exit 1): Sending build context to Docker daemon  22.02kB
  Step 1/42 : FROM debian:bullseye-slim
  bullseye-slim: Pulling from library/debian
  no matching manifest for windows/amd64 10.0.20348 in the manifest list entries
  Failed to build docker image
  ```
  
  Closes #993

- cmake: restore a dash char in comment [ci skip]
  
  It's a CMake comment header convention.

GitHub (21 Apr 2023)
- [Dan Fandrich brought this change]

  tests: add AES-GCM protocol read tests (#992)
  
  Closes #992

- [Viktor Szakats brought this change]

  support encrypt-then-mac (etm) MACs (#987)
  
  Support for calculating MAC (message authentication code) on encrypted
  data instead of plain text data.
  
  This adds support for the following MACs:
  - `hmac-sha1-etm@openssh.com`
  - `hmac-sha2-256-etm@openssh.com`
  - `hmac-sha2-512-etm@openssh.com`
  
  Integration-patches-by: Viktor Szakats
  
  * rebase on master
  * fix checksec warnings
  * fix compiler warning
  * fix indent/whitespace/eol
  * rebase/manual merge onto AES-GCM patch #797
  * more manual merge of `libssh2_transport_send()` based
    on dfandrich/shellfish
  
  Fixes #582
  Closes #655
  Closes #987

Viktor Szakats (20 Apr 2023)
- docs: fix typo in argument name [ci skip]

- [Keith Dart brought this change]

  channel: add support for "signal" message
  
  Can send specific signals to remote process. Allows for slightly
  improved remote process management, if the server supports it.
  
  Integration-patches-by: Viktor Szakats
  
  * doc updates
  * change `signame_len` to `size_t`
  * variable scopes
  * fix checksrc warnings
  
  Closes #672
  Closes #991

- crypto: add `LIBSSH2_NO_AES_CBC` option
  
  Also rename internal `LIBSSH2_AES` to `LIBSSH2_AES_CBC`.
  
  Follow-up to 857e431648df6edcb3e17138d877f2e65d2d769d
  
  Closes #990

- tidy-up: indentation fixes [ci skip]

GitHub (20 Apr 2023)
- [Dan Fandrich brought this change]

  Add support for AES-GCM crypto protocols (#797)
  
  Add support for aes256-gcm@openssh.com and aes128-gcm@openssh.com
  ciphers, which are the OpenSSH implementations of AES-GCM cryptography.
  It is similar to RFC5647 but has changes to the MAC protocol
  negotiation.  These are implemented for recent versions of OpenSSL only.
  
  The ciphers work differently than most previous ones in two big areas:
  the cipher includes its own integrated MAC, and the packet length field
  in the SSH frame is left unencrypted.  The code changes necessary are
  gated by flags in the LIBSSH2_CRYPT_METHOD configuration structure.
  
  These differences mean that both the first and last parts of a block
  require special handling during encryption. The first part is where the
  packet length field is, which must be kept out of the encryption path
  but in the authenticated part (as AAD).  The last part is where the
  Authentication Tag is found, which is calculated and appended during
  encryption or removed and validated on decryption. As encryption/
  decryption is performed on each packet in a loop, one block at a time,
  flags indicating when the first and last blocks are being processed are
  passed down to the encryption layers.
  
  The strict block-by-block encryption that occurs with other protocols is
  inappropriate for AES-GCM, since the packet length shifts the first
  encrypted byte 4 bytes into the block. Additionally, the final part of
  the block must contain the AES-GCM's Authentication Tag, so it must be
  presented to the lower encryption layer whole. These requirements mean
  added code to consolidate blocks as they are passed down.
  
  When AES-GCM is negotiated as the cipher, its built-in MAC is
  automatically used as the SSH MAC so further MAC negotiation is not
  necessary.  The SSH negotiation is skipped when _libssh2_mac_override()
  indicates that such a cipher is in use.  The virtual MAC configuration
  block mac_method_hmac_aesgcm is then used as the MAC placeholder.
  
  This work was sponsored by Anders Borum.
  
  Integration-patches-by: Viktor Szakats
  
  * fix checksrc errors
  * fix openssl.c warning
  * fix transport.c warnings
  * switch to `LIBSSH2_MIN/MAX()` from `MIN()`/`MAX()`
  * fix indent
  * fix libgcrypt unused warning
  * fix mbedtls unused warning
  * fix wincng unused warning
  * fix old openssl unused variable warnings
  * delete blank lines
  * updates to help merging with the ETM patch

Viktor Szakats (20 Apr 2023)
- tidy-up: align comments [ci skip]

- tidy-up: whitespace nits [ci skip]

- crypto: add/fix algo guards and extend `NO` options
  
  Add new guard `LIBSSH2_RSA_SHA1`. Add missing guards for `LIBSSH2_RSA`,
  `LIBSSH2_DSA`.
  
  Fix warnings when all options are disabled.
  
  This is still not complete and it's possible to break a build with
  certain crypto backends (e.g. mbedTLS) and/or combination of options.
  It's not guaranteed that all bits everywhere get disabled by these
  settings. Consider this a "best effort".
  
  Add these new options to disable certain crypto elements:
  - `LIBSSH2_NO_3DES`
  - `LIBSSH2_NO_AES_CTR`
  - `LIBSSH2_NO_BLOWFISH`
  - `LIBSSH2_NO_CAST`
  - `LIBSSH2_NO_ECDSA`
  - `LIBSSH2_NO_RC4`
  - `LIBSSH2_NO_RSA_SHA1`
  - `LIBSSH2_NO_RSA`
  
  The goal is to offer a way to disable legacy/obsolete/insecure ones.
  
  See also: 146a25a06dd2365a4330dad34fefcdcee1a206aa `LIBSSH2_NO_HMAC_RIPEMD`
  See also: 38015f4e46d8dbeea522dc7ee664522d4f47fc75 `LIBSSH2_NO_DSA`
  See also: be31457f3071686b555a0f0b19e5dcf63d67fc27 `LIBSSH2_NO_MD5`
  
  Closes #986

- scp: fix typo in comments [ci skip]
  
  Follow-up to 0a500b3554c29451708353279eefce750f4bca6c

- base64: do not use `snprintf()` on encoding
  
  This also significantly (by 7-8x in my limited tests with a short
  string) speeds up this function. The impact is still minor as this
  function is only used in `knownhost.c` in release builds.
  
  Closes #985

- wincng: constify data arg of `libssh2_wincng_hash()`
  
  Tested in #979

- wincng: fix unused variables with `LIBSSH2_RSA_SHA2` disabled
  
  Tested in #979

- ci: delete config elements for unused 32-bit Linux builds
  
  They have been disabled since d9b4222ef1c5ab9b9e499fe6234556e5cca7c4fe
  
  Tested in #979

- ci: enable FIXTURE_TRACE_ALL_CONNECT for WinCNG tests
  
  To hopefully help finding the WinCNG hostkey verification
  intermittent failure #804.
  
  Tested in #979

- tests: add `FIXTURE_TRACE_ALL_CONNECT` option
  
  Works like the `FIXTURE_TRACE_ALL` envvar, but enables full trace for
  the connection phase only.
  
  Also fix a possible NULL deref with `FIXTURE_TRACE_ALL` and a failed
  `libssh2_session_init_ex()`.
  
  Tested in #979

- ci: really enable logging in AppVeyor CMake builds
  
  `CONFIGURATION` was never passed to the cmake command, so it had
  never enabled logging when set to `Debug`.
  
  Also `CONFIGURATION` is ambiguous depending on the "generator" used
  by CMake. In case of Visual Studio, this is a build/ctest-time
  setting, not a cmake-config parameter.
  
  So set this permanently to `Release` and enable logging via our
  dedicated CMake option `ENABLE_DEBUG_LOGGING`.
  
  Tested in #979

- HACKING-CRYPTO: fix stray whitespace

- tidy-up: fix more nits
  
  - fix indentation errors.
  - reformat `cmake/FindmbedTLS.cmake`
  - replace a macro with a variable in `example/sftp_RW_nonblock.c`.
  - delete macOS macro `_DARWIN_USE_64_BIT_INODE` from the
    OS/400 config header, `os400/libssh2_config.h`.
  - fix other minor nits.
  
  Closes #983

- mansyntax: make it work on macOS, check reqs locally
  
  - use `gman` alias if present. This makes it work when the correct `man`
    command is provided via `brew` on macOS.
  
  - move CMake attempts to detect tools necessary to run `mansyntax.sh`
    into the script itself.
  
  - delete CMake TODO to move more test logic into CMake. This would make
    it CMake-specific and require maintaining it separately for each build
    tool. Just use our external script when a POSIX shell is available.
  
  Closes #982

- cmake: dedupe setting `-DHAVE_CONFIG_H`
  
  Move `libssh2_config.h` generation and setting `-DHAVE_CONFIG_H` to
  the root `CMakeFile.txt`.
  
  Also move symbol hiding setup there. It needs to be done before
  generating the config file for `LIBSSH2_API` value to be set in it.
  
  After this change the `HIDE_SYMBOLS` setting is accepted without an
  annoying CMake warning when not actually building a shared libssh2 lib.
  
  Closes #981

- build: assume non-blocking I/O on Windows
  
  Drop checks from Windows builds and enable it based on `WIN32`.
  
  This saves detection time and also makes 3rd party builds simpler.
  
  Also:
  
  - delete `HAVE_DISABLED_NONBLOCKING`, that we used in build tools to
    explicitly disable an explicit `#error` in `session.c`.
  
  - replace existing `WSAEWOULDBLOCK` check for Windows support with
    `WIN32`. Cleaner with the same result.
  
  Follow-up to f1e80d8d8ce9570d81836da96ba02f4d4552a7b3
  Follow-up to 5644eea2161b17f7c16e18f3a10465ebb217ca1f
  
  Closes #980

- ci: rename Logging to Debug in AppVeyor

- switch to internal base64 decode that uses size_t
  
  Make the public `libssh2_base64_decode()` a wrapper for that.
  Bump up length sizes in callers.
  
  Also fix output size calculation to first divide then multiply.
  
  Closes #978

- tests: switch to debian:bullseye-slim in Dockerfile
  
  'slim' provides all we need, with less bloat.
  
  Tested in #976
  
  Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169

- tests: build improvements and more
  
  - rename tests to have more succint names and a more useful natural
    order.
  
  - rename `simple` and `ssh2` in tests to have the `test_` prefix.
  
    This avoids a name collisions with `ssh2` in examples.
  
  - cmake: drop the `example-` prefix for generated examples.
  
    Bringing their names in sync with other build tools, like autotools.
  
  - move common auth test code into the fixture and simplify tests by
    using that.
  
  - move feature guards from CMake to preprocessor for auth tests.
  
    Now it works with all build tools and it's easier to keep it in sync
    with the lib itself.
  
    For this we need to include `libssh2_priv.h` in tests, which in turn
    needs tweaking on the trick we use to suppress extra MSVS warnings
    when building tests and examples.
  
  - move mbedTLS blocklist for crypto tests from CMake to the test
    fixture.
  
  - add ed25519 hostkey tests to `test_hostkey` and `test_hostkey_hash`.
  
  - add shell script to regenerate all test keys used for our tests.
  
  - alpha-sort tests.
  
  - rename `signed_*` keys to begin with `key` like the rest of the keys
    do.
  
  - whitespace fixes.
  
  Closes #969

- autotools: rename a variable
  
  To match its counterpart we use for clang and to better match
  the original code in curl.
  
  Follow-up to ec0feae7920d695ce234a5aba13014bf29824c09
  
  Closes #977

- ssh2.sh: revert likely wrong quoting [ci skip]
  
  Follow-up to 50124428509ffc2f5d08d8d3c152fa36546c9a75

- build: add `-Wbad-function-cast` picky warning
  
  Also adjust minimum gcc versions in comment.
  
  Closes #975

- tests: restore debian:bullseye in Dockerfile
  
  Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169

- session: simplify preprocessor logic
  
  - by using #elif
  - by merging two blocks
  
  Closes #972

- tests: try debian:testing for Dockerfile
  
  Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169

- src: add and use `LIBSSH2_MIN/MAX` macros
  
  Also for #797
  
  Closes #974

- tests: switch Dockerfile to debian:testing-slim
  
  From debian:bullseye
  
  - doesn't need manual bumps.
  - is ahead of stable and should be stable enough for our purpose.
  - slim is saving resources.
  
  Closes #971

- cmake: optimize non-blocking tests on WIN32/non-WIN32
  
  Skip testing unixy methods on Windows and vice versa.
  
  I continue to assume that CMake doesn't define `WIN32` with Cygwin
  (as Cygwin doesn't define `_WIN32`/`WIN32` for C), though I haven't
  tested this.
  
  Closes #970

GitHub (15 Apr 2023)
- [Jörgen Sigvardsson brought this change]

  scp: option to not quote paths (#803)
  
  A new flag named `LIBSSH2_FLAG_QUOTE_PATHS` has been added, to make
  libssh2 not quote file paths sent to the remote's scp subsystem. Some
  custom ssh daemons cannot handle quoted paths, and this makes this flag
  useful.
  
  Authored-by: Jörgen Sigvardsson <jorgen.sigvardsson@westermo.com>

Viktor Szakats (15 Apr 2023)
- cmake: make Windows builds initialize faster
  
  By skipping unixy header checks that always fail with
  the MSVC toolchain or all Windows toolchains.
  
  Closes #968

- cmake: use a single build rule for all tests
  
  - use the complete filename of test sources in the input list.
  
  - build all tests with the ability to access libssh2 internals.
  
    This is necessary for `test_keyboard_interactive_auth_info_request`
    now and might be necessary for others in the future, e.g. to avoid
    the depreacted public base64 decoding API.
  
  - move `test_keyboard_interactive_auth_info_request` into the main
    test build loop.
  
  - move `simple` into the main test build loop too.
  
  - build `ssh2` also in static mode.
  
  - cleanup the way we detect and enable gcov.
  
  - fix indentation.
  
  Closes #967

- tidy-up: more whitespace in src
  
  Closes #966

- checksrc: fix `EQUALSNULL` warnings
  
  `s/([a-z0-9._>*-]+) == NULL/!\1/g`
  
  Closes #964

- Makefile.am: add new OS400 header [ci skip]
  
  Follow-up to 6dc42e9d625deb816a051d312d09e68926959e78

- checksrc: fix `NOTEQUALSZERO` warnings
  
  Closes #963

- checksrc: fix `SIZEOFNOPAREN` warnings
  
  `s/sizeof ([a-z0-9._>*-]+)/sizeof(\1)/g`
  
  Closes #962

- crypto: add `LIBSSH2_NO_HMAC_RIPEMD` option
  
  See also: 38015f4e46d8dbeea522dc7ee664522d4f47fc75
  See also: be31457f3071686b555a0f0b19e5dcf63d67fc27
  
  Ref: https://github.com/stribika/stribika.github.io/issues/46
  
  Closes #965

- tidy-up: example, tests continued
  
  - fix skip auth if `userauthlist` is NULL.
    Closes #836 (Reported-by: @sudipm-mukherjee on github)
  - fix most silenced `checksrc` warnings.
  - sync examples/tests code between each other.
    (output messages, error handling, declaration order, comments)
  - stop including unnecessary headers.
  - always deinitialize in case of error.
  - drop some redundant variables.
  - add error handling where missing.
  - show more error codes.
  - switch `perror()` to `fprintf()`.
  - fix some `printf()`s to be `fprintf()`.
  - formatting.
  
  Closes #960

- src: fix indentation of macro definitions (follow-up)
  
  Follow-up to d5438f4ba9036e8028f35258dd1ab97cc2edb37c

- src: fix indentation of macro definitions
  
  And some comment cleanup.
  
  Closes #958

- example/ssh2_exec: drop conditional code for deprecated API

GitHub (13 Apr 2023)
- [monnerat brought this change]

  Make OS/400 implementation work again (#953)
  
  * os400: support QADRT development files in a non-standard directory
  
  This enables the possibility to compile libssh2 even if the ascii
  runtime development files are not installed system-wide.
  
  * userauth_kbd_packet: fix a pointer target type mismatch.
  
  A temporary variable matching the parameter type is used before copying
  to the real target and checking for overflow (that should not occur!).
  
  * os400qc3: move and fix big number procedures
  
  A bug added by a previous code style cleaning is fixed.
  _libssh2_random() now checks and return the success status.
  
  * os400qc3: fix cipher definition block lengths
  
  They were wrongly set to the key size.
  
  * Diffie-Hellman min/max modulus sizes are dependent of crypto-backend
  
  In particular, os400qc3 limits the maximum group size to 2048-bits.
  Move definitions of these parameters to crypto backend header files.
  
  * kex: return an error if Diffie-Hellman key pair generation fails
  
  * os400: add an ascii assert.h header file
  
  * os400qc3: implement RSA SHA2 256/512

Viktor Szakats (13 Apr 2023)
- sftp: add open functions with custom attribute support
  
  Before this patch, libssh2 sent hardcoded `LIBSSH2_SFTP_ATTRIBUTES`
  struct on handle open. This can be problematic on some special OS,
  where the file size should be known on new file creation. I added
  two new functions to resolve this issue.
  
  Patch-by: @vajdaakos on github via #506
  
  Changes compared to #506:
  - drop attr size fixup in favour of #946.
  - move `memcpy()` under the state where we need it.
  - bump filename length type to `size_t`.
  - fix filenames in documentation and other nits.
  
  Closes #506
  Closes #947

- build: speed up and extend picky compiler options
  
  Implement picky warnings with clang in autotools. Extend picky gcc
  warnings, sync them between build tools and compilers and greatly
  speed up detection in CMake.
  
  - autotools: enable clang compiler warnings with `--enable-debug`.
  
  - autotools: enable more gcc compiler warnings with `--enable-debug`.
  
  - autotools/cmake: sync compiler warning options between gcc and clang.
  
  - sync compiler warning options between autotools and cmake.
  
  - cmake: reduce option-checks to speed up the detection phase.
    Bring them down to 3 (from 35). Leaving some checks to keep the
    CMake logic alive and for an easy way to add new options.
  
    clang 3.0 (2011-11-29) and gcc 2.95 (1999-07-31) now required.
  
  - autotools logic copied from curl, with these differences:
  
    - delete `-Wimplicit-fallthrough=4` due to a false positive.
  
    - reduce `-Wformat-truncation=2` to `1` due to a false positive.
  
    - simplify MinGW detection for `-Wno-pedantic-ms-format`.
  
  - cmake: show enabled picky compiler options (like autotools).
  
  - cmake: do compile `tests/simple.c` and `tests/ssh2.c`.
  
  - fix new compiler warnings.
  
  - `tests/CMakeLists.txt`: fix indentation.
  
  Original source of autotools logic:
  - https://github.com/curl/curl/blob/a8fbdb461cecbfe1ac6ecc5d8f6cf181e1507da8/acinclude.m4
  - https://github.com/curl/curl/blob/a8fbdb461cecbfe1ac6ecc5d8f6cf181e1507da8/m4/curl-compilers.m4
  
  Notice that the autotools implementation considers Apple clang as
  legacy clang 3.7. CMake detection works more accurately, at the same
  time more error-prone and difficult to update due to the sparsely
  documented nature of Apple clang option evolution.
  
  Closes #952

- include: delete leading underscore from macro name
  
  It can cause compiler warnings in 3rd-party code.
  
  Follow-up to 59666e03f04927e5fe3e8d8772d40729f63c570e
  
  Closes #957

- ci: use OpenSSL 3 on AppVeyor VS2022 images
  
  Closes #954

- build: be friendly with 3rd-party build tools
  
  After recent build changes, 3rd party build that took the list of
  C source to compile them as-is, stopped working as expected, due to
  `blowfish.c` and crypto-backend C sources no longer expected to compile
  separately but via `bcrypt_pbkdf.c` and `crypto.c`, respectively.
  
  This patch ensures that compiling these files directly result in an
  empty object instead of redundant code and duplicated symbols.
  
  Also:
  - add a compile-time error if none of the supported crypto backends
    are enabled.
  - fix `libssh2_crypto_engine()` for wolfSSL and os400qc3.
    Rearrange code to avoid a hard-to-find copy of crypto-backend
    selection guards.
  
  Follow-up to 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f
  Follow-up to ff3c774e03585252b70a9ee0fcf254de7b14a767
  
  Closes #951

- sftp: calculate attr size based on attr content in `sftp_open()`
  
  Improve robustness by replacing constant argument of `sftp_attrsize()`
  in `sftp_open()` with the actual `flag` value read from the `attr` we
  plan to transfer. Restores state of this before
  37624b61e3ec4aa65a608800613d00b55ced56d7.
  
  Prerequisite for #947, #506.
  
  Also improve readability a bit and link to SFTP specs. Delete comment
  about version 6: The latest spec no longer features the mentioned
  "DO NOT IMPLEMENT" notice.
  
  Closes #946

- man: fixups
  
  - add missing `.fi` tags.
  - fix misplaced `.nf` tags.
  - add `.nf`/`.fi` tags `SYNOPSIS` where missing.
  - fix missing/wrong function name from `SH NAME`.
  - fix wrong function name in `TH`.
  - keep return values in a separate line.
  - indent.
  - fold long lines.
  - deleted `libssh2_channel_direct_streamlocal()`, there is no such function.
  - add missing types.
  - add missing headers.
  
  Closes #949

- include: indentation fixes

- tidy-up: misc & minor cmake MSVS fix
  
  - `libssh2.rc`: document language/codepage codes.
  
    Ref: https://learn.microsoft.com/windows/win32/intl/code-page-identifiers
  
  - convert to Markdown: `docs/BINDINGS`, `docs/HACKING`
  
    Blind update for `vms/libssh2_make_help.dcl`. Please double-check.
  
  - cmake: fix to recognize dash-style warning options (`-Wn`) with MSVC.
  
  - `NMakefile`: sync `rd` command with `Makefile.mk`.
  
  - delete a CVS header.
  
  - cmake: simplify a `LIBSSH2_HAVE_ZLIB` macro.
  
  - few other nits and whitespace mods.
  
  Closes #943

GitHub (10 Apr 2023)
- [Viktor Szakats brought this change]

  Support for direct-streamlocal@openssh.com UNIX socket connection (#945)
  
  This patch allow to use direct-streamlocal service from OpenSSH 6.7,
  that allows UNIX socket connections.
  
  Mods:
  - delete unrelated condition:
    Ref: https://github.com/libssh2/libssh2/pull/216#discussion_r374748111
  - rebase on master, whitespace updates.
  
  Patch-by: @gjalves Gustavo Junior Alves
  
  Closes #216
  Closes #632
  Closes #945

Viktor Szakats (10 Apr 2023)
- build: support `libssh2.rc` with autotools
  
  Caveat: When building `--enable-static` and `--enable-shared` at the
  same time, the compiled Windows resource is also included in the
  static library. This appears to be an autotools limitation, with no
  way to have different input lists (or different custom options) for
  shared and static libraries, even though it builds them separately.
  
  The workaround is to build static libraries in a separate
  `./configure` + `make` pass.
  
  Closes #944

- crypto: add `LIBSSH2_NO_DSA` to disable DSA support
  
  See also: be31457f3071686b555a0f0b19e5dcf63d67fc27
  
  Closes #942

- build: unify source lists
  
  - introduce `src/crypto.c` as an umbrella source that does nothing else
    than include the selected crypto backend source. Moving this job from
    the built-tool to the C preprocessor.
  
  - this allows dropping the various techniques to pick the correct crypto
    backend sources in autotools, CMake and other build method. Including
    the per-backend `Makefile.<crypto-backend>.inc` makefiles.
  
  - copy a trick from curl and instead of maintaining duplicate source
    lists for CMake, convert the GNU Makefile kept for autotools
    automatically. Do this in `docs`, `examples` and `src`.
  
    Ref: https://github.com/curl/curl/blob/dfabe8bca218d2524af052bd551aa87e13b8a10b/CMakeLists.txt#L1399-L1413
  
    Also fixes missing `libssh2_setup.h` from `src/CMakeFiles.txt` after
    59666e03f04927e5fe3e8d8772d40729f63c570e.
  
  - move `Makefile.inc` from root to `src`.
  
  - reformat `src/Makefile.inc` to list each source in separate lines,
    re-align the continuation character and sort the lists alphabetically.
  
  - update `docs/HACKING-CRYPTO` accordingly.
  
  - autotools: update the way we add crypto-backends to `LIBS`.
  
  - delete old CSV headers, indent, and merge two lines in
    `docs/Makefile.am` and `src/Makefile.am`.
  
  - add `libssh2.pc` to `.gitignore`, while there.
  
  Closes #941

GitHub (9 Apr 2023)
- [Zenju brought this change]

  sftp: always clear protocol error (#787)

Viktor Szakats (9 Apr 2023)
- cmake: add `HIDE_SYMBOLS` option & do symbol hiding on *nix
  
  - implement symbol hiding on non-Windows platforms.
  
    The essence of the detection logic was copied from:
    https://github.com/curl/curl/blob/dfabe8bca218d2524af052bd551aa87e13b8a10b/CMake/CurlSymbolHiding.cmake
  
    Then simplified and shortened. This method doesn't require a recent
    CMake version, nor an external, auto-generated C header.
  
    Move `configure_file()` after `set(LIBSSH2_API ...)`, for the config
    file to pick up `LIBSSH2_API`s value.
  
    Closes #602
  
  - add CMake option `HIDE_SYMBOLS`.
  
    This setting means to hide non-public functions from the libssh2
    dynamic library when set to `ON`. The default.
  
    When set to `OFF`, make all non-static/internal functions visible
    in the dynamic library.
  
    This setting requires `BUILD_SHARED_LIBS=ON`.
  
  - honor this setting on Windows.
  
    By setting the `LIBSSH2_EXPORTS` manual macro again, and stop
    recognizing the automatic CMake macro for this purpose:
    `libssh2_shared_EXPORT`.
  
  Closes #939

- build: make `windows.h` even leaner
  
  Disable GDI and NLS features in `windows.h`. libssh2 doesn't use these.
  
  Closes #940

- blowfish: build improvements
  
  - include `blowfish.c` into `bcrypt_pbkdf.c`, instead of
    compiling it as a distinct object.
  
  - make low-level blowfish functions static. This prevents this symbols
    to pollute the public namespace of libssh2. It also allows the
    compiler to inline these functions.
  
  - integrate `blf.h` header into `bcrypt_pbkdf.c` as well.
  
  - use `_DEBUG_BLOWFISH` instead of `#if 0`.
  
  - fix `_DEBUG_BLOWFISH` compiler warnings and other nits.
  
  - `#undef` `inline` before redefining it in `libssh2_priv.h`.
    (copied from `blowfish.c`)
  
  - delete unused `inline` redefinitions from `blowfish.c`.
  
  - disable unused low-level blowfish functions.
  
  - formatting, header order.
  
  Closes #938

- libssh2.rc: fix debug flag, other cleanups
  
  - fix to use `LIBSSH2DEBUG` macro to set the debug flag.
    (was `DEBUGBUILD`, a curl-specific macro)
  
  - use manifest constants instead of literals
  
  - change language to neutral
  
  Closes #937

- tidy-up: example, tests
  
  - drop unnecessary `WIN32`-specific branches.
  
  - add `static`.
  
  - sync header inclusion order.
  
  - sync some common code between examples/tests.
  
  - fix formatting/indentation.
  
  - fix some `checksrc` errors not caught by `checksrc`.
  
  Closes #936

- tests/mansyntax.sh: avoid `if !` for portability
  
  Ref: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Builtins.html#Limitations-of-Builtins
  
  Fixes #704
  Closes #935

- tidy-up: indentation in guarded #includes [ci skip]

- Makefile.mk: drop `PROOT` variable [ci skip]

- build: hand-crafted config rework & header tidy-up
  
  - introduce the concept of a project level setup header
    `src/libssh2_setup.h`, that is used by `src`, `example` and `tests`
    alike. Move there all common platform/compiler configuration from
    `src/libssh2_priv.h`, individual sources and `CMakeFiles.txt` files.
    Also move there our hand-crafted (= not auto-generated by CMake or
    autotools) configuration `win32/libssh2-config.h`.
  
  - `win32` directory is empty now, delete it.
  
  - `Makefile.mk`: adapt to the above. Build-directory is the target
    triplet, or any custom name set via `BLD_DIR`.
  
  - sync header path order between build systems:
    build/src -> source/src -> source/include
  
  - delete redundant references to `windows.h`, `winsock2.h`,
    `ws2tcpip.h`.
  
  - delete unnecessary #includes, update order (`libssh2_setup.h` first,
    `winsock2.h` first), simplify where possible.
  
    This makes the code warning-free without `WIN32_LEAN_AND_MEAN`.
    At the same time this patch applies this macro globally, to avoid
    header bloat.
  
  - example: add missing *nix header guards.
  
  - example: fix misindented `HAVE_UNISTD_H` `#ifdef`s.
  
  - set `WIN32` with all build-tools.
  
  - set `HAVE_SYS_PARAM_H` in the hand-crafted config for MinGW.
    To match auto-detection.
  
  - move a source-specific macro to `misc.c` from `libssh2_priv.h`.
  
  See the PR's individual commits for step-by-step updates.
  
  Closes #932

- Makefile.mk: build tests and other improvements [ci skip]
  
  - use `example` target for building examples (was: `test`).
  
  - add support for building tests via the `test` target.
  
  - accept lib-only options in a new `LIBSSH2_CPPFLAGS_LIB` variable.
  
    Useful to pass `-DLIBSSH2_EXPORTS` for correct `dllexport` in
    `libssh2.dll`.
  
  - fix to put dynamic library in lib directory for non-Windows builds
  
  - fix to not delete lib objects on `testclean`

- test_warmup: re-implement as `test()`
  
  Instead of overriding `main()`. To align with the other tests.
  
  Overriding `main()` can cause duplicate symbols without using a lib for
  the `runner` code.
  
  Follow-up to 40ac6b230a309d35c57aa65a8f6d7ab6654aa3d8
  
  Closes #934

- NMakefile: drop `/DEBUG` linker option in release mode [ci skip]

- NMakefile: simplify [ci skip]

- Makefile.mk: merge two rules [ci skip]

- TODO: update item about compiler warnings [ci skip]
  
  Follow-up to 08354e0abbe86d4cc5088d210d53531be6d8981a
  Follow-up to 29347905721d2e7fbb97dabfb0071bee51db3013
  Follow-up to 5a96f494ee0b00282afb2db2e091246fc5e1774a
  Follow-up to 463449fb9ee7dbe5fbe71a28494579a9a6890d6d
  Follow-up to 02f2700a61157ce5a264319bdb80754c92a40a24

GitHub (5 Apr 2023)
- [ihsinme brought this change]

  example/x11: Add null-termination (#749)

Viktor Szakats (5 Apr 2023)
- crypto: fix `LIBSSH2_NO_MD5` compiler warnings
  
  Follow-up to be31457f3071686b555a0f0b19e5dcf63d67fc27
  
  Closes #933

- build: add new man pages
  
  Follow-up to c20c81ab105cdf27f5a4e2604bd13085f46e21de

GitHub (5 Apr 2023)
- [Daniel Silverstone brought this change]

  Configurable session read timeout (#892)
  
  This set of changes provides a mechanism to runtime-configure the
  previously #define'd timeout for reading packets from a session. The
  intention here is to also extend libcurl to be able to use this
  interface so that when fetching from sftp servers which are very slow
  to return directory listings, connections do not time-out so much.
  
  * Add new field to session to hold configurable read timeout
  
  * Updated `_libssh2_packet_require()`, `_libssh2_packet_requirev()`,
    and `sftp_packet_requirev()` to use new field in session structure
  
  * Updated docs for API functions to set/get read timeout field in
    session structure
  
  * Updated `libssh2.h` to declare the get/set read timeout functions
  
  Co-authored-by: Jon Axtell <jon.axtell@codethink.co.uk>
  Credit: Daniel Silverstone

Viktor Szakats (4 Apr 2023)
- cmake: whitespace fixes [ci skip]

- libssh2.h: bump LIBSSH2_COPYRIGHT year [ci skip]

- Makefile.mk: move portable GNU Make file to the root
  
  Move the GNU Make file formerly known as `win32/GNUmakefile` to the
  root directory from `win32`. It now supports any platform with a
  GCC-like toolchain, while also keeping support for win32.
  
  For non-Windows platforms it's necessary to provide a hand-crafted
  `libssh2_config.h` header for now.
  
  Usage: `make -f Makefile.mk`

- src: include `limits.h` for `*_MAX` macros
  
  Follow-up to 5a96f494ee0b00282afb2db2e091246fc5e1774a
  
  Reported-by: OldWorldOrdr on github
  Fixes #928
  Closes #930

- build: MSVS warning suppression option tidy-up
  
  - in `win32/libssh2_config.h` replace `_CRT_SECURE_NO_DEPRECATE` with
    `_CRT_SECURE_NO_WARNINGS`, to use the official macro for this, like
    in CMake.
  
    Also, it's now safe to move it back under `_MSC_VER`.
  
    Suppressing:
  
    `warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.`
    `warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead.`
  
  - move `_CRT_NONSTDC_NO_DEPRECATE` to `example` and `tests`.
    Not needed for `src`.
  
    Suppressing:
  
    `warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strdup.`
    `warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _write.`
  
  - move `_WINSOCK_DEPRECATED_NO_WARNINGS` from source files to
    CMake files, in `example` and `tests`. Also limit this to MSVC.
  
    Suppressing:
  
    `warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead`
  
  TODO: try fixing these instead of suppressing.
  
  Closes #929

- win32/GNUmakefile: make it movable [ci skip]
  
  - add `BLD_DIR` to customize the output directory (where libs, .zip,
    obj subdir will go). This directory must exist.
  
    It remains `./win32` for Windows builds.
  
  - add `CONFIG_H_DIR` option to customize `libssh2_config.h` location.
  
    It remains `./win32` for Windows builds.
  
  - include `.def` in distro zip for Windows.
  
  - ready to move to the root directory.

- win32/GNUmakefile: drop an unnecessary variable [ci skip]

- windows: re-add `libssh2.rc`
  
  Lost while moving it from the win32 directory
  
  Follow-up to 194cfc0f84192809c87f846140e5bf06b7a864af

- crypto: add `LIBSSH2_NO_MD5` to disable MD5 support
  
  Closes #927

- hostkey: fix `hash_len` field constants
  
  Replace incorrect `MD5_DIGEST_LENGTH` with `SHA_DIGEST_LENGTH` for these
  hostkey algos:
  
  - `ssh-rsa` and `ssh-dss`
  
    Ref: 7a5ffc8cee259bbde82ab92515cd8fea2166854b (2004-12-07 Initial)
  
  - `ssh-rsa-cert-v01@openssh.com`
  
    Ref: 4b21e49d9d2db74579b18804ed1f5eeb16578b2f (2022-07-28)
    Ref: #710
  
  Also delete local fall-back definition of `MD5_DIGEST_LENGTH` (added
  in 9af7eb48dc3854ce8ee0589f7e2beb944e064847). Macro is no longer used.
  
  Reported-by: Markus-Schmidt on github
  Fixes #919
  Closes #926

- ci: add MSVS 2008/2010 build tests and fix warnings
  
  Also:
  
  - fix newly surfaced (bogus) warnings in examples with MSVS 2010:
  
    ```
    ..\..\example\direct_tcpip.c(262): warning C4127: conditional expression is constant
    ```
    Happens for every `FD_SET()` macro reference.
  
    Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46677835/job/ni4hs97bh18c14ap
  
  - silence MSVS 2010 predefined Windows macro warnings:
  
    ```
    ..\..\src\wincng.c(867): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size
    ..\..\src\wincng.c(897): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size
    ..\..\src\wincng.c(1132): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size
    ```
  
    Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46678071/job/08t5ktvkcgdghp7r
  
  Closes #925

- transport: rename local `RANDOM_PADDING` macro
  
  Rename `RANDOM_PADDING` macro used internally to enable some code.
  
  Committed in the initial version of `transport.c` in
  9d55db6501aa4e21f0858cf36cdc2ddc11b96e83 (2007-02-02). libssh2 code
  never defined it.
  
  The name happens to collide with a Windows macro in `wincrypt.h`.
  `transport.c` doesn't include this header, but it includes `winsock2.h`,
  and it turns out it can also define this macro in some cases, e.g.
  when `WIN32_LEAN_AND_MEAN` is not set.
  
  To be on the safe side, prefix the name with `LIBSSH2_` to avoid
  enabling it by accident.
  
  Q: Maybe it'd be best to delete it with the guarded code?
  
  Reported-by: Markus-Schmidt on github
  Fixes #921
  Closes #924

- windows: move `libssh2.rc` to the `src` directory
  
  Closes #918

- autotools: delete unused conditional `HAVE_SYS_UN_H`
  
  No longer necessary after moving the disabling/enabling logic from
  build tool to `example/x11.c`.
  
  Reverts 4774d500e724bc4e548f743a0cb644ab05599474
  Follow-up to d245c66cc0029e480674394c23e8be1c9410f7ad

- win32/GNUmakefile: update help & exit without crypto backend [ci skip]
  
  Follow-up to: 5bcd25c4c980e9765c00a2f20ac5348635063aad
  Follow-up to: 68fd02fba002c8c6af3ba51a2780de46b47b3787

- build: respect autotools `DLL_EXPORT` in `libssh2.h`
  
  The `DLL_EXPORT` macro is automatically set by autotools when building
  the libssh2 DLL. Certain toolchains might require this to correctly
  export symbols, so make sure to respect it in `libssh2.h` to enable
  `declspec(dllexport)`.
  
  With this patch we have a manual macro for that (`LIBSSH2_EXPORT`),
  this autotools one, the CMake one, and `_WINDLL` (added in
  c355d31ff94a1622526c4988b9d09074f7f7605d), possibly defined by Visual
  Studio.
  
  Closes #917

- build: make `HAVE_LIBCRYPT32` local to `wincng.c`
  
  libssh2 uses `wincrypt.h` aka the `crypt32` Windows system library
  for the function `CryptDecodeObjectEx()` [1]. This function has been
  available for Win32 (and UWP/WinRT apps) for a long while. Even old
  MinGW supports it, and also Watcom 1.9, of the rare/old compilers
  I checked.
  
  CMake had it permanently enabled, while it also did an extra check
  for the header to add the lib to the lib list. Autotools did the
  detection proper. Other builds had it permanently enabled.
  
  It seems safe to assume this function/header/lib is available in all
  environments we support.
  
  In this patch we simplify by deleting these detections and feature
  flags from all build tools.
  
  Keep the feature flag internal to `wincng.h`, and for extra safety add
  the new macro `LIBSSH2_WINCNG_DISABLE_WINCRYPT` do disable it via
  custom `CPPFLAGS`.
  
  WinCNG's other requirement is `bcrypt`. That also has been universally
  available for a long time. Here the only known outlier is old/legacy
  MinGW, which is missing support.
  
  [1] https://learn.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptdecodeobjectex
  
  Closes #916

- autotools: delete `src/libssh2.pc.in` reference [ci skip]
  
  Follow-up to 06f281921907fa077884c7020917661ca805b9d3

- tidy-up: null-mac/cipher documentation
  
  Move documentation for these deleted build-level options from
  autotools/cmake docs to the source code itself.
  
  Follow-up to 50c9bf868e833258d23c5f55ed546d1fcd5687d0
  
  Closes #915

- cmake: re-use existing `libssh2.pc` template
  
  Instead of maintaining a second copy of `libssh2.pc.in` in `src` just
  for CMake, teach CMake to use the existing template in the root dir,
  that we already use with autotools.
  
  Closes #914

- delete redundant `HAVE_STDLIB_H`
  
  libssh2 used this standard C89 header unconditionally before this patch.
  
  Delete the feature checks and all unnecessary header guards.
  
  Closes #913

- NMakefile: drop redundant variable and assignments [ci skip]

- delete redundant `HAVE_WINSOCK2_H`
  
  `libssh2.h` required `winsock2.h` for `_WIN32` since
  81d53de4dc5ee39bd6215958c7dce3b12731195e (2011-06-04).
  
  Apply that to the whole codebase. This makes it unnecessary to detect
  `HAVE_WINSOCK2_H` and allows to drop all its uses.
  
  Completes TODO from b66d7317ca6c882afbe52fe426f68c119c40d348
  
  TODO: Straighten out the use a mixture of `HAVE_WINDOWS_H`,
        `WIN32`, `_WIN32` to detect Windows.

- cmake: detect WinCNG last
  
  This gives a chance to auto-detect mbedTLS on Windows with CMake.

- NMakefile: rename config variables, default to WinCNG [ci skip]
  
  - replace `OPENSSLINC` and `OPENSSLLIB` with `OPENSSL_PATH`.
    Assume `include` and `lib` subdirs for headers and libs.
  
  - replace `WITH_ZLIB`, `ZLIBINC` and `ZLIBLIB` with `ZLIB_PATH`.
    Assume `include` and `lib` subdirs for header and lib.
  
  - make WinCNG the default if `WITH_OPENSSL` is not set.

- win32/GNUmakefile: rename object dir and update .gitignore [ci skip]
  
  From `<triplet>-{release|debug}` to `{release|debug}-<triplet>`.
  
  Follow-up to 68fd02fba002c8c6af3ba51a2780de46b47b3787

- win32/GNUmakefile: add libgcrypt support [ci skip]
  
  In the previous commit 969487113aae856e43d3d905c3f2260246d44f9b,
  the commit message should read `win32/GNUmakefile: ` instead of
  `libssh2-gnumake.sh: `. Sorry for the mixup.

- libssh2-gnumake.sh: make variable names platform-agnostic [ci skip]
  
  Also more consistent. Refer to DLL/SO/shared as 'dyn'.
  
  Also add comment on how to find customizable environment variables.

- win32/GNUmakefile: make it support non-Windows builds [ci skip]
  
  With 20-ish extra lines, make this Makefile support all GCC-like
  toolchains.
  
  The temporary directory becomes `<triplet>-{release|debug}` from
  the former `{release|debug}`.
  
  Also change the lib directory name in the `dist` package from
  `win32` to `lib`, to match other packages and build tools.

- win32/GNUmakefile: default to WinCNG [ci skip]
  
  Also check for wolfSSL before mbedTLS to match CMake.

- win32/GNUmakefile: fixups to previous commit [ci skip]
  
  - `-lws2_32` is necessary when building examples.
  
  - drop a temporary variable.
  
  Follow-up to d245c66cc0029e480674394c23e8be1c9410f7ad

- delete redundant `HAVE_WS2TCPIP_H`
  
  It was used once in `src/libssh2_priv.h`, but without any effect.
  The header included `ws2tcpip.h` twice, once guarded by
  `HAVE_WS2TCPIP_H` and another time by `HAVE_WINSOCK2_H`.
  
  Dedupe these to not use `HAVE_WS2TCPIP_H`. Then delete detection
  of this feature from all build methods.
  
  TODO: Replace `HAVE_WINSOCK2_H` with `_WIN32`/`WIN32`.

- win32/libssh2_config.h: set `HAVE_LONGLONG` & `HAVE_STDLIB_H` [ci skip]
  
  - enable `HAVE_LONGLONG` for MinGW and MSVC versions supporting it.
  
    Necessary for `GNUmakefile`/`NMakefile` builds to create the same
    binaries as CMake/autotools ones do.
  
  - enable `HAVE_STDLIB_H`. It has been universally available on
    Windows for a long time.
  
    Fixes these clang-cl warnings:
    ```
    src\wincng.c(444,5) :  warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
        free(buf);
        ^
    src\wincng.c(491,20) :  warning: implicitly declaring library function 'malloc' with type 'void *(unsigned long long)' [-Wimplicit-function-declaration]
        pbHashObject = malloc(dwHashObject);
                       ^
    src\wincng.c(491,20) :  note: include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
    src\wincng.c(2106,14) :  warning: implicitly declaring library function 'realloc' with type 'void *(void *, unsigned long long)' [-Wimplicit-function-declaration]
        bignum = realloc(bn->bignum, length);
                 ^
    src\wincng.c(2106,14) :  note: include the header <stdlib.h> or explicitly provide a declaration for 'realloc'
    3 warnings generated.
    ```

- example: make `x11` exclusion build-tool-agnostic
  
  Whether to build the `x11` example or not was decided by each build
  tool. CMake didn't build it even on supported platforms. GNUMakefile
  used a specific blocklist for it, while autotools enabled it based on
  feature-detection.
  
  Migrate the enabler logic to an #ifdef in source and build `x11`
  unconditionally with all build tools.
  
  On unsupported platforms (=Windows) this program now displays a short
  message stating that fact.
  
  Also:
  
  - fix `x11.c` warnings uncovered after CMake started building it.
  
  - use `libssh2_socket_t` type for portability in `x11.c` too.
  
  - use detected header guards in `x11.c`.
  
  - delete a duplicate reference to `-lws2_32` from `win32/GNUmakefile`
    while there.
  
  Closes #909

- .gitignore updates [ci skip]

- tidy-up: whitespace, sorting, comment and naming fixups

- cmake: add missing man pages

- cmake: dedupe and merge config detection
  
  Before this patch CMake did feature detections in three files:
  `src/CMakefiles.txt`, `examples/CMakefiles.txt` and
  `tests/CMakefiles.txt`.
  
  Merge and move them to the root `CMakefiles.txt`.
  
  After this patch we end up with a single `src/libssh2_config.h`. This
  brings CMake in sync with autotools builds, which already worked with
  a single config header.
  
  This also prevents mistakes where feature detection went out of sync
  between `src` & `tests` (see ae90a35d15d97154ac0c8554bce99ebfb18ee825).
  `tests` do compile sources from `src` directly, so these should always
  be in sync.
  
  It also allows to better integrate hand-crafted, platform-specific
  config headers into the builds, like the one currently residing in
  the `win32` directory (and also in `vms` and `os400`). Subject to an
  upcoming PR.
  
  Also fix a warning revealed after this patch made CMake correctly
  enable `HAVE_GETTIMEOFDAY` for `example` programs.
  
  Closes #906

- cmake: dedupe crypto-backend detection
  
  Before this patch CMake did crypto-backend detection in both
  `src/CMakefiles.txt` and `tests/CMakefiles.txt`.
  
  Merge them and move it to the root `CMakefiles.txt`.
  
  While here, also add zlib for OpenSSL. Necessary when using OpenSSL
  builds with zlib enabled.
  
  Closes #905

- cmake: add missing #cmakedefines to src
  
  - `HAVE_MEMSET_S` missing since
    03092292597ac601c3f9f0c267ecb145dda75e4e (2018-08-02)
  
  - `HAVE_EXPLICIT_BZERO` and `HAVE_EXPLICIT_MEMSET` missing since
    00005682f7b9a1aa42be50e269056ea873637047 (2023-03-28)

GitHub (31 Mar 2023)
- [Viktor Szakats brought this change]

  tidy-up: NMakefile (#903)

Viktor Szakats (30 Mar 2023)
- GNUmakefile: adjust win32/.gitignore [ci skip]

- build: delete references to deleted NMake files [ci skip]
  
  Follow-up to 057522bb0f15c10c33159e12899ecc60e40aa6ef

GitHub (30 Mar 2023)
- [Viktor Szakats brought this change]

  NMakefile: merge them into a single file [ci skip] (#902)
  
  Also:
  
  - allow to override `AR` and `ARFLAGS`.
  
  - The extra `src` subdir in the target directory is no longer, to
    simplify things.
  
  - gone the dynamically generated `objects.mk`. Now replaced with some
    tricky logic to do that inline.
  
  - add necessary `LIBS` for WinCNG. (untested)
  
  Lightly tested via clang-cl.

- [Viktor Szakats brought this change]

  maketgz: tidy-up [ci skip] (#901)
  
  - fix shellcheck warnings:
    - use quotes
    - use `$()`
  - use `printf` (instead of calling perl).
  - indent.
  - copy/adapt header comment from curl to `maketgz`.

- [Viktor Szakats brought this change]

  ci: flatten AppVeyor jobs, add debug builds (#900)
  
  This results in better job names (now including CPU), avoiding the
  complex exception rules, and fine-tuning the order and variation of
  these tests.
  
  Enable `LIBSSH2DEBUG` for two of the existing jobs.

- [Viktor Szakats brought this change]

  ci: add VS2022 builds (incl. ARM64) to AppVeyor (#899)
  
  - add MSVS 2022 WinCNG builds for x64 and ARM64,
    replacing MSVS 2013 WinCNG builds for x64 and x86.
  
  - add MSVS 2022 OpenSSL builds for x64.
  
  - fix a compiler warning uncovered by the new ARM64 build:
  
    ```
    tests\openssh_fixture.c(393,17): warning C4477: 'fprintf' : format string '%d' requires an argument of type 'int', but variadic argument 1 has type 'libssh2_socket_t'
    tests\openssh_fixture.c(393,17): message : consider using '%lld' in the format string
    tests\openssh_fixture.c(393,17): message : consider using '%Id' in the format string
    tests\openssh_fixture.c(393,17): message : consider using '%I64d' in the format string
    ```
  
  - echo the actual CMake command-line.
  
  - cmake: echo the DLL filenames found by the OpenSSL DLL-finder
    heuristics.
  
  - cmake: delete `libcrypto.dll` and `libssl.dll` names from the above
    logic.
  
    I've added these in 19884e5055b6c65f0df93d7cc776a01c518a2f06. That
    resulted in CMake picking up a rogue `libcrypto.dll` (with no
    `libssl.dll` pair) from `C:\Windows\System32\` on the
    `Visual Studio 2022` image, breaking tests.
  
    Turns out, OpenSSL v1.0.2 uses the "EAY" names, but let's not re-add
    those either, because CMake mis-picks those up from
    `C:/OpenSSL-Win64/bin/`, even while pointing `OPENSSL_ROOT_DIR` to a
    v1.1.1 installation.
  
  - cmake: set `NO_DEFAULT_PATH` for OpenSSL DLL lookup to avoid picking
    up all kinds of wrong DLLs. CMake considers not the first, but the
    _last_ hit the valid one. This happened to be
    `C:/Program Files/Meson/lib*-1_1.dll` when using the
    `Visual Studio 2022` image.
  
    Ref: https://cmake.org/cmake/help/latest/command/find_file.html
  
  - cmake: leave two commented debug lines that will be useful next time
    the DLL detection lookup goes wrong.
  
    Ref: https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_DEBUG_MODE.html
  
  - on error, also dump `CMakeFiles/CMakeConfigureLog.yaml` if it exists
    (requires CMake 3.26 and newer)

- [Viktor Szakats brought this change]

  src: fix compiler warning on Darwin (#898)
  
  ```
  src/session.c:675:52: warning: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32]
          tv.tv_usec = (ms_to_next - tv.tv_sec*1000) * 1000;
                     ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
  ```

Viktor Szakats (29 Mar 2023)
- tidy-up: tabs to spaces in Makefile.am [ci skip]
  
  Follow-up to 2f16d8105c9491beb2a02b3081f4f1c2a224fa62

GitHub (29 Mar 2023)
- [Viktor Szakats brought this change]

  netware: delete support (#888)
  
  Last related commit happened 15 years ago.
  NetWare had it last release in 2009.
  
  All links referenced from the make file are inaccessible.

- [Viktor Szakats brought this change]

  wolfssl: add workaround for HMAC_Update() len arg difference (#897)
  
  It's `int` in wolfSSL. `size_t` in OpenSSL/quictls/LibreSSL/BoringSSL.
  
  Ref: https://github.com/wolfSSL/wolfssl/blob/ba47562d182e10e59813da012e0ab8ef20892231/wolfssl/openssl/hmac.h#L60-L61
  
  /cc @wolfSSL

- [Viktor Szakats brought this change]

  cmake: introduce variables for lib target names (#896)
  
  Make our CMake config more self-documenting by introducing variables
  for the shared and static lib target names. Without this, it might be
  non-trivial to find out which line is referring to a target name vs
  libname, export name or other occurrences of `libssh2`.
  
  This allows to rename back the shared lib target name to the value used
  before 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1:
  `libssh2_shared` -> `libssh2`, if necessary for compatibility. Notice:
  before that patch, `libssh2` name referred to either the static or
  shared lib, depending on build settings.

- [Viktor Szakats brought this change]

  detect and use explicit_bzero() and explicit_memset() (#895)
  
  Also skip detecting these and `memset_s()` for Windows targets in CMake,
  to save detection time. On Windows we always use `SecureZeroMemory()`.

- [Viktor Szakats brought this change]

  ci: bump mbedtls (#894)

- [Viktor Szakats brought this change]

  GNUmakefile: minor fix for DYN mode [ci skip] (#893)
  
  Follow-up to b8762c1003d97e109efa587bdc760ff9873949eb

- [Viktor Szakats brought this change]

  build: delete MS Dev Studio build files (#891)
  
  Last updated in 2007.
  
  Also delete `VCPROJ` target remains (necessary files seem to have
  been missing from the repo all along) for Visual Studio 2008.

Viktor Szakats (28 Mar 2023)
- checksrc: fix reference in Makefile.am, update options [ci skip]

GitHub (28 Mar 2023)
- [Viktor Szakats brought this change]

  build: delete native Watcom wmake support with Win32 (#889)
  
  CMake supports generating Watcom wmake files:
  https://cmake.org/cmake/help/v3.1/generator/Watcom%20WMake.html

- [Viktor Szakats brought this change]

  checksrc: update and fix warnings (#890)
  
  Update from:
  https://github.com/curl/curl/blob/5fec927374e4d9553205d861f2dcb39ec78002cc/scripts/checksrc.pl
  
  - suppress these new checks:
  
    - EQUALSNULL: 320 warnings
    - NOTEQUALSZERO: 142 warnings
    - TYPEDEFSTRUCT: 16 warnings
  
    We can enabled them in the future.
  
  - fix all other new ones.
  
  - also fix whitespace in two `NMakefile` files.

- [Viktor Szakats brought this change]

  tidy-up: fix/update URLs (#887)

- [Viktor Szakats brought this change]

  tidy-up: fix typos (#886)
  
  detected by codespell 2.2.4.

- [Viktor Szakats brought this change]

  tidy-up: replace tabs and other whitespace (#885)
  
  There are a few non-whitespace changes, see them here:
  https://github.com/libssh2/libssh2/pull/885/files?w=1

- [Viktor Szakats brought this change]

  ci: drop cmake --parallel (#884)
  
  `--parallel 2` did not seem to make builds faster. Neither did 4 or 6.
  
  Delete this option from both GHA and AppVeyor jobs.
  
  On AppVeyor, with VS, it uses MSBuild under the hood where apparently
  `--parallel` doesn't do much [1]. The suggested MSBuild-specific option
  `/p:CL_MPcount=2` did not improve build times either.
  
  CMake spends significant time (comparable to building the project
  itself) on feature detection, it'd be nice to execute those in parallel,
  but I found not such CMake option.
  
  [1] https://discourse.cmake.org/t/parallel-does-not-really-enable-parallel-compiles-with-msbuild/964
  
  Partial revert of 7a039d9a7a2945c10b4622f38eeed21ba6b4ec55

- [Viktor Szakats brought this change]

  rework how to enable insecure null-cipher/null-MAC (#873)
  
  Null-cipher and null-MAC are security footguns we want to avoid.
  
  Existing option names to toggle these were ambiguous and gave room for
  misinterpretation. Some projects may have had these options enabled by
  accident.
  
  This patch aims to make it more difficult to enable them, and making
  sure that existing methods require an update to stay enabled.
  
  - delete CMake/autotools settings to enable the "none" cipher and MAC.
  
  - rename existing C macros that can enable them.
  
    To use them, pass them as custom `CPPFLAGS` to the build.
  
  - enable them only if `LIBSSH2DEBUG` is also enabled.
  
  Best would be to delete them, though they may have some use while
  developing libssh2 itself, or debugging.

- [Viktor Szakats brought this change]

  delete old gex (SSH2_MSG_KEX_DH_GEX_REQUEST_OLD) build option (#872)
  
  libssh2 supports an "old" style KEX message
  `SSH2_MSG_KEX_DH_GEX_REQUEST_OLD`, as an off-by-default build option.
  
  OpenSSH deprecated/disabled this feature in v6.9 (2015-07-01):
  https://www.openssh.com/releasenotes.html#6.9
  
  This patch deletes this obsolete feature from libssh2, with no option
  to enable it.
  
  Added to libssh2 in: cf8ca63ea0c9388c8ae9079961d7e6a91b72b5c8 (2004-12-31)
  RFC: https://datatracker.ietf.org/doc/html/rfc4419 (2006-03)

- [Viktor Szakats brought this change]

  src: more tolerant snprintf() local override (#881)
  
  `#undef snprintf` before redefining it, when `HAVE_SNPRINTF` is not
  defined, even though `snprintf` is available and it should have been.
  Possibly with 3rd party builds.
  
  Downside is that cases of missing `HAVE_SNPRINTF` are less trivially
  detected at compile-time.

- [Viktor Szakats brought this change]

  ci: fix cmake warning with AppVeyor WinCNG builds (#883)
  
  ```
  CMake Warning:
    Manually-specified variables were not used by the project:
  
      OPENSSL_ROOT_DIR
  ```
  
  Follow-up to 0834b9bcc85b90c78afff103f909b5a909b95e45

- [Viktor Szakats brought this change]

  ci: cmake `ENABLE_WERROR` -> `ON` (#877)
  
  Consider warnings as errors for CMake jobs in CI.

Viktor Szakats (26 Mar 2023)
- src: silence compiler warnings 4 (alignment in WinCNG)
  
  Silence alignment warnings in WinCNG, by reworking the code.
  
  Also add two unrelated casts to avoid gcc compiler warnings
  in surrounding code.
  
  `increases required alignment from 1 to 4 [-Wcast-align]`
  `increases required alignment from 1 to 8 [-Wcast-align]`
  
  See warning details in the PR's individual commits.
  
  Reviewed-by: Marc Hörsken in <https://github.com/libssh2/libssh2/pull/846#pullrequestreview-1350253621>
  Cherry-picked from #846
  Closes #880

- src: silence compiler warnings 3 (change types)
  
  Apply type changes to avoid casts and warnings. In most cases this
  means changing to a larger type, usually `size_t` or `ssize_t`.
  
  Change signedness in a few places.
  
  Also introduce new variables to avoid reusing them for multiple
  purposes, to avoid casts and warnings.
  
  - add FIXME for public `libssh2_sftp_readdir_ex()` return type.
  
  - fix `_libssh2_mbedtls_rsa_sha2_verify()` to verify if `sig_len`
    is large enough.
  
  - fix `_libssh2_dh_key_pair()` in `wincng.c` to return error if
    `group_order` input is negative.
  
    Maybe we should also reject zero?
  
  - bump `_libssh2_random()` size type `int` -> `size_t`. Add checks
    for WinCNG and OpenSSL to return error if requested more than they
    support (`ULONG_MAX`, `INT_MAX` respectively).
  
  - change `_libssh2_ntohu32()` return value `unsigned int` -> `uint32_t`.
  
  - fix `_libssh2_mbedtls_bignum_random()` to check for a negative `top`
    input.
  
  - size down `_libssh2_wincng_key_sha_verify()` `hashlen` to match
    Windows'.
  
  - fix `session_disconnect()` to limit length of `lang_len`
    (to 256 bytes).
  
  - fix bad syntax in an `assert()`.
  
  - add a few `const` to casts.
  
  - `while(1)` -> `for(;;)`.
  
  - add casts that didn't fit into #876.
  
  - update `docs/HACKING-CRYPTO` with new sizes.
  
  May need review for OS400QC3: /cc @monnerat @jonrumsey
  
  See warning details in the PR's individual commits.
  
  Cherry-picked from #846
  Closes #879

- src: silence compiler warnings 2 (ZLIB interface)
  
  Silence warnings in the ZLIB interface by adding casts and changing
  types.
  
  See PR for individual commits.
  
  Cherry-picked from #846
  Closes #878

- src: silence compiler warnings 1
  
  Most of the changes aim to silence warnings by adding casts.
  
  An assortment of other issues, mainly compiler warnings, resolved:
  
  - unreachable code fixed by using `goto` in
    `publickey_response_success()` in `publickey.c`.
  
  - potentially uninitialized variable in `sftp_open()`.
  
  - MSVS-specific bogus warnings with `nid_type` in `kex.c`.
  
  - check result of `kex_session_ecdh_curve_type()`.
  
  - add missing function declarations.
  
  - type changes to fit values without casts:
    - `cmd_len` in `scp_recv()` and `scp_send()`: `int` -> `size_t`
    - `Blowfish_expandstate()`, `Blowfish_expand0state()` loop counters:
      `uint16_t` -> `int`
    - `RECV_SEND_ALL()`: `int` -> `ssize_t`
    - `shell_quotearg()` -> `unsigned` -> `size_t`
    - `sig_len` in `_libssh2_mbedtls_rsa_sha2_sign()`:
      `unsigned` -> `size_t`
    - `prefs_len` in `libssh2_session_method_pref()`: `int` -> `size_t`
    - `firstsec` in `_libssh2_debug_low()`: `int` -> `long`
    - `method_len` in `libssh2_session_method_pref()`: `int` -> `size_t`
  
  - simplify `_libssh2_ntohu64()`.
  
  - fix `LIBSSH2_INT64_T_FORMAT` for MinGW.
  
  - fix gcc warning by not using a bit field for
    `burn_optimistic_kexinit`.
  
  - fix unused variable warning in `_libssh2_cipher_crypt()` in
    `libgcrypt.c`.
  
  - fix unused variables with `HAVE_DISABLED_NONBLOCKING`.
  
  - avoid const stripping with `BIO_new_mem_buf()` and OpenSSL 1.0.2 and
    newer.
  
  - add a missing const in `wincng.h`.
  
  - FIXME added for public:
    - `libssh2_channel_window_read_ex()` `read_avail` argument type.
    - `libssh2_base64_decode()` `datalen` argument type.
  
  - fix possible overflow in `sftp_read()`.
  
    Ref: 4552c73cd58fccb1fc49cb0f25f86619133e560f
  
  - formatting in `wincng.h`.
  
  See warning details in the PR's individual commits.
  
  Cherry-picked from #846
  Closes #876

GitHub (24 Mar 2023)
- [Viktor Szakats brought this change]

  cmake: automatic exports macro tidy-up (#875)
  
  In a recent CMake update I left the original CMake EXPORTS macro
  unchanged (`libssh2_EXPORTS`) for compatibility.
  
  However, that macro was also recently added [1] and not present in an
  official release yet, so we might as well just use the new native one
  instead (`libssh2_shared_EXPORTS`), defined by CMake automatically.
  This way we don't need to define the old macro manually.
  
  CMake forms this macro from the lib's internal name as defined in
  `add_library()` by appending `_EXPORTS`. That target name changed from
  `libssh2` to `libssh2_shared` after introducing dual shared + static
  builds in the recent update.
  
  If we're here, add a new, stable, build-tool agnostic macro with the
  same effect, for non-CMake use: `LIBSSH2_EXPORTS`
  
  [1] 1f0fe7443a1ecddd320f2c693607b2afee9bbe2f (2021-10-26)
  
  Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1

- [Viktor Szakats brought this change]

  maketgz: add .xz, .bz2, .zip source archive formats (#874)
  
  Copied from curl:
  https://github.com/curl/curl/blob/4528690cd51e5445df74aef8f83470a602683797/maketgz#L174-L222
  
  [ci skip]

Viktor Szakats (23 Mar 2023)
- dist: delete reference to recently deleted file [ci skip]
  
  Follow-up to b8762c1003d97e109efa587bdc760ff9873949eb

GitHub (23 Mar 2023)
- [Viktor Szakats brought this change]

  cmake: separate compilation passes for shared/static (#871)
  
  Before this patch, cmake did a single compilation pass when we enabled
  both shared and static lib targets. This saves build time (esp. with
  MinGW targets and cross-compiling), but has the disadvantage that static
  libs built this way must have PIC enabled (offering slightly less
  performance) and `dllexport` enabled also, which means that executables
  linking the static libssh2 lib export its public symbols.
  
  To avoid these downsides, this patch separates the two passes and
  creates a non-PIC, non-`dllexport` static lib, even when also building
  the shared lib.

- [Viktor Szakats brought this change]

  ci: test with OpenSSL v1.1.1 on AppVeyor (#870)
  
  Was: v1.0.2.
  
  Keep using v1.0.2 with the static-only test. To make sure we don't break
  support.

- [Viktor Szakats brought this change]

  ci: speed up static-only build tests on AppVeyor (#868)
  
  - limit static-only build to a single platform (x64).
  
  - skip running ctest for the static-only build.
  
  - use MSVS 2013 for static-only builds. It's faster.
  
  - run static-only test before WinCNG ones. Otherwise it's often skipped
    due to WinCNG failures (#804).

- [Viktor Szakats brought this change]

  cmake: fix error with static lib off and example/tests on (#869)
  
  Regression from 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1

- [Viktor Szakats brought this change]

  ci: parallelize more (#867)

- [Viktor Szakats brought this change]

  cmake/src: move build options before target definitions (#864)
  
  To allow more flexibility when defining targets.

- [Viktor Szakats brought this change]

  ci: use static+shared builds to cut number of cmake jobs (#865)
  
  With CMake builds supporting static-shared libssh2 builds in a single
  pass, we no longer need to run static and shared jobs separately. For
  the same effect it's enough to run builds with both shared and static
  builds enabled. Halving CI jobs.
  
  We add an extra run to test the CMake config-path without shared builds
  enabled.
  
  This allows to add useful jobs, e.g. MSVS 2022 or ZLIB-enabled builds
  for Windows, valgrind builds or other useful stuff, without stretching
  CI run times further.
  
  Ref: #863

Viktor Szakats (22 Mar 2023)
- cmake: allow building static + shared libs in a single pass
  
  - `BUILD_SHARED_LIBS=ON` no longer disables building static lib.
  
    When set, we build the static lib with PIC enabled.
  
    For shared lib only, set `BUILD_STATIC_LIBS=OFF`. For static lib
    without PIC, leave this option disabled.
  
  - new setting: `BUILD_STATIC_LIBS`. `ON` by default.
  
    Force-enabled when building examples or tests (we build those in
    static mode always.)
  
  - fix to exclude Windows Resource from the static lib.
  
  - fix to not overwrite static lib with shared implib on Windows
    platforms using identical suffix for them (MSVS). By using
    `libssh2_imp<.ext>` implib filename.
  
  - add support for `STATIC_LIB_SUFFIX` setting to set an optional suffix
    (e.g. `_static`) for the static lib. (experimental, not documented).
    Overrides the above when set.
  
  - fix to set `dllexport` when building shared lib.
  
  - set `TrackFileAccess=false` for MSVS.
  
    For faster builds, shorter verbose logs.
  
  - tests: new test linking against shared libssh2: `test_warmup_shared`
  
  - tests: simplify 'runner' lib by merging 3 libs into a single one.
  
  - tests: drop hack from `test_keyboard_interactive_auth_info_request`
    build.
  
    We no longer need to compile `src/misc.c` because we always link
    libssh2 statically.
  
  - tests: limit `FIXTURE_WORKDIR=` to the `runner` target.
  
  TL;DR: Default behavior unchanged: static (no-PIC), no shared.
         Enabling shared unchanged, but now also builds a static (PIC)
         lib by default.
  
  Based-on: b60dca8b6450a9729670986d2899cca54ccdbb6d #547 by berney on github
  Fixes: #547
  Fixes: #675
  Closes: #863

- include: silence warnings with casts in public `libssh2_sftp.h`
  
  Avoid triggering warnings in macros coming from public libssh2 headers.
  
  Cherry-picked from: #846
  Closes #862

- example, tests: address compiler warnings
  
  Fix or silence all C compiler warnings discovered with (or without)
  `PICKY_COMPILER=ON` (in CMake). This means all warnings showing up in
  CI (gcc, clang, MSVS 2013/2015), in local tests on macOS (clang 14) and
  Windows cross-builds using gcc (12) and llvm/clang (14/15).
  
  Also fix the expression `nread -= nread` in `sftp_RW_nonblock.c`.
  
  Cherry-picked from: #846
  Closes #861

- openssl: require `EVP_aes_128_ctr()` support
  
  libssh2 built with OpenSSL and without its `EVP_aes_128_ctr()`, aka
  `HAVE_EVP_AES_128_CTR`, option are working incorrectly. This option
  wasn't always auto-detected by autotools up until recently (#811).
  Non-cmake, non-autotools build methods never enabled it automatically.
  
  OpenSSL supports this options since at least v1.0.2, which is already
  EOLed and considered obsolete. OpenSSL forks (LibreSSL, BoringSSL)
  supported it all along.
  
  In this patch we enable this option unconditionally, now requiring
  OpenSSL supporting this function, or one of its forks.
  
  Also modernize OpenSSL lib references to what 1.0.2 and newer versions
  have been using.
  
  Fixes #739

- wincng: fix memory leak in `_libssh2_dh_secret()`
  
  Patch-by: iruis on github
  Assisted-by: Marc Hörsken
  Bug #846, commit e3487092ef9553af67633c6747cb9ab2f86465e0.
  Fixes #856
  Closes #858

GitHub (19 Mar 2023)
- [Viktor Szakats brought this change]

  nw, os400, watcom: stop setting unused macros [ci skip] (#859)

Viktor Szakats (19 Mar 2023)
- cmake: fix `ENABLE_WERROR=ON` breaking auto-detections
  
  - cmake: fix compiler warnings in `CheckNonblockingSocketSupport`.
    detection functions.
  
    Without this, these detections fail when `ENABLE_WERROR=ON`.
  
  - cmake: disable ENABLE_WERROR for MSVC during symbol checks in `src`.
  
    CMake's built-in symbol check function `check_symbol_exists()`
    generate warnings with MSVC. With warnings considered errors, these
    detections fail permanently. Our workaround is to disable
    warnings-as-errors while running these checks.
  
    ```
    CheckSymbolExists.c(8): warning C4054: 'type cast': from function pointer '__int64 (__cdecl *)(const char *,char **,int)' to data pointer 'int *'
    in `return ((int*)(&strtoll))[argc];`
    ```
  
    Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46537222/job/4vg4yg333mu2lg9b
  
  - example: replace `strcasecmp()` with C89 `strcmp()`.
  
    To avoid using CMake symbol checks in `example`.
  
    Another option is to duplicate the `check_symbol_exists()` workaround
    from `src`, but I figure it's not worth the complexity. We use
    `strcasecmp()` solely to check optional command-line options for
    example programs, and those are fine as lower-case.
  
    Without this, these detections fail when `ENABLE_WERROR=ON`.
  
  - also delete `__function__` detection/use in `example`.
  
    To avoid the complexity for the sake of using it at a single place in
    of the example's error branch. Replace that use with a literal name of
    the function.
  
  - cmake: also use `CMakePushCheckState` functions instead of manual
    save/restore.
  
  Closes #857

- build: improve a test build workaround with bcrypt
  
  - cmake: extend workaround for linking a test with shared libssh2.
  
    One of the tests uses internal libssh2 functions, and with CMake it
    compiles `src/misc.c` directly for this. `misc.c` references bcrypt /
    blowfish code. This needs a workaround for build configs where libssh2
    doesn't export these.
  
    Before this patch, we enabled this workaround for MSVC.
  
    In the patch we extend this to all Windows. There is no CI test for
    this, but gcc and llvm/clang + mingw64 builds also need it. This may
    well apply to other configurations (it should, as shared libs are not
    supposed to export internal functions), so also make it easy to enable
    it at a single point.
  
    [ autotools builds force-link this one test against static libssh2. ]
  
  - make `misc.c` not depend on bcrypt.
  
    By moving out our `bcrypt_pbkdf()` wrapper into `bcrypt_pbkdf.c`
    itself.
  
    This allows to compile `misc.c` into tests without pulling in bcrypt /
    blowfish functions, and simplify the above workaround.
  
    Source code uses `HAVE_BCRYPT_PBKDF`, a leftover from original bcrypt
    source. We never define this inside libssh2. Defining it breaks the
    build, and this patch doesn't change that.
  
  - make `bcrypt_pbkdf()` static.
  
    While here, make the low-level `bcrypt_pbkdf()` function static to
    avoid namespace pollution.
  
  Closes #855

GitHub (17 Mar 2023)
- [Viktor Szakats brought this change]

  ci: more timeout adjustments (#853)
  
  - add timeout to SSH connection wait loop in AppVeyor test prep.
    (2 minutes)
  
  - switch to per-step timeout for GitHub CI cmake/ctest runs.
    (10 minutes)
  
    ctest timeout (of 450 seconds) didn't seem to make any difference.

Viktor Szakats (17 Mar 2023)
- ci: set timeout to ctest and GitHub CI jobs
  
  - `ctest` shows a the default timeout '10000000' (turns out to be
    in seconds), cause infinite waits e.g. in case the necessary server
    worker is not available.
  
    CMake CI tests take approx:
    - GitHub   / Linux  : 125 seconds
    - AppVeyor / Windows: 300 seconds
  
    New timeouts are: 450 and 900 seconds respectively.
  
  - set timeouts for style-check, fuzz, Linux and Windows GitHub CI
    jobs to avoid hanging forever.
  
  Also:
  
  - move `choco install` to before_test to make builds start faster
    in `appveyor.yml`.
  
  - fix some yamllint `ON`/`OFF`-confusion issue by quoting these
    values in `appveyor.yml`.
  
  - fix indentation in `appveyor.yml`.
  
  - convert to GitHub workflows to LF line-ending.
  
  Ref: https://github.com/libssh2/libssh2/pull/655#issuecomment-1472853493
  
  Closes #851

GitHub (17 Mar 2023)
- [Viktor Szakats brought this change]

  ci: update mbedTLS repo URL, delete Travis CI (#850)
  
  Last Travis CI session run on 2021-11-18.
  
  Ref: https://app.travis-ci.com/github/libssh2/libssh2
  Ref: https://travis-ci.org/github/libssh2/libssh2/builds

- [Viktor Szakats brought this change]

  appveyor.yml: reorder tests to return relevant feedback earlier (#849)
  
  - build x64 first
  
    x64 is the more interesting target. Most type conversion issues are
    revealed here. Also more commonly used by now.
  
  - test VS 2013 earlier
  
  - test WinCNG earlier
  
  - delete reference to no longer used VS 2008
  
  After this patch we end up starting with all Shared builds (2015, 2013,
  OpenSSL, WinCNG), then continue with Static ones. Shared/Static makes
  a minor if any difference in builds/tests compared to different VS
  versions of TLS backends.
  
  --
  
  CI run times:
  
  Preparation + build takes:
  8 x VS2015 4.5 mins -> total: 36
  8 x VS2013 2   mins -> total: 16
  Total: 52 mins
  
  with our 30 tests, it increases to:
  8 x VS2015 8-10 mins -> total: 72
  8 x VS2013 6- 9 mins -> total: 60
  Total: 132 mins
  
  Without tests: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46475315
  With    tests: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46480549

Dan Fandrich (14 Mar 2023)
- src: check for NULL pointer passed to _libssh2_get_string
  
  Callers should be protecting against this, but it's prudent to check
  here anyway.
  
  Fixes #802
  Closes #848

Viktor Szakats (14 Mar 2023)
- appveyor.yml: choco install improvements [ci skip]
  
  - avoid outputting 4000 log lines by hiding the progress bar.
    Reduces log size by 5x.
  
  - decrease timeout (from the default 2700 seconds).
  
  - omit unnecessary output.
  
  Tested as part of #846

GitHub (14 Mar 2023)
- [Jakob Egger brought this change]

  build: update instructions for autoreconf (#847)
  
  The "convenience script" talks about the "buildconf" file,
  which is no longer recommended.

- [Viktor Szakats brought this change]

  win32: set HAVE_STRTOLL with MSVS 2013 and newer (#845)
  
  As in curl:
  https://github.com/curl/curl/blob/7fa6e36583b52dd8f1e639b370c9a2849be81b54/lib/config-win32.h#L221

- [Viktor Szakats brought this change]

  GNUmakefile: move HAVE_STRTOLL to libssh2_config.h [ci skip] (#844)

- [Viktor Szakats brought this change]

  src: silence unused variable warnings (#843)

Viktor Szakats (13 Mar 2023)
- GNUmakefile: add wolfSSL support + major rework
  
  - add wolfSSL support.
  - reduce size and redundant logic.
  - fix a bunch of small issues.
  - rework configuration, now with: `CC`, `AR`, `RC`, `TRIPLET`, `CFLAGS`,
    `CPPFLAGS`, `LDFLAGS`, `RCFLAGS`, `LIBS`, `LIBSSH2_DLL_SUFFIX`,
    `LIBSSH2_LDFLAGS_LIB`, `LIBSSH2_LDFLAGS_BIN` (and more).
  - merge examples build into the main Makefile.
  - relative dependency paths are now the same for building libssh2 or
    examples.
  - drop detection for obsolete OpenSSL versions (can be configure via new
    `OPENSSL_LIBS`).
  - merge dev/dist distribution zip options.
  - build libssh2 with `-DHAVE_STRTOLL`.
  - tidy-up.
  - build examples in static mode by default (use `DYN` to build them in
    shared mode).
  - drop forced (in non-debug mode) `-O2`.
  - drop Win9x support.
  - deprecate `ARCH` in favour of custom options and `TRIPLET`.
  - drop Windows resources from examples for simplicity
  - drop `WITH_ZLIB`. Default `ZLIB_PATH` to enable zlib support.
  - drop `LIBSSH2_DLL_A_SUFFIX`, use standard value `.dll` (as in
    `libssh2.dll.a`).
  - always link `bcrypt` (for LibreSSL and OpenSSL) and `crypt32`
    (for wolfSSL).
  - unhide executed build commands.
  - fix mbedTLS `lib` path
  - drop specific options to force static linking. Custom options seems
    a better way for this.
  - based on similar work made for curl:
    https://github.com/curl/curl/commit/a8861b6ccdd7ca35b6115588a578e36d765c9e38
  
  Closes #842

GitHub (13 Mar 2023)
- [Viktor Szakats brought this change]

  wincng: fix memory leak in libssh2_dh_key_pair() (#829)
  
  Fixes #722

- [Viktor Szakats brought this change]

  src: C89-compliant _libssh2_debug() macro (#831)
  
  Before this patch, with debug logging disabled, libssh2 code used a
  variadic macro to catch `_libssh2_debug()` calls, and convert them to
  no-ops. In certain conditions, it used an empty inline function instead.
  
  Variadic macro is a C99 feature. It means that depending on compiler,
  and build settings, it littered the build log with warnings about this.
  
  The new solution uses the trick of passing the variable arg list as a
  single argument and pass that down to the debug function with a regular
  macro. When disabled, another regular C89-compatible macro converts it
  to a no-op.
  
  This makes inlining, C99 variadic macros and maintaining the conditions
  for each unnecessary and also makes the codebase compile more
  consistently, e.g. with forced C standards and/or picky warnings.
  
  TL;DR: It makes this feature C89-compliant.

- [Viktor Szakats brought this change]

  openssl: fix possible compiler warning in macro condition (#839)
  
  Building with wolfSSL or pre-OpenSSL v1.1.1 triggered it.
  
  ```
  ../src/openssl.h:130:5: warning: 'LIBRESSL_VERSION_NUMBER' is not defined, evaluates to 0 [-Wundef]
      LIBRESSL_VERSION_NUMBER >= 0x3070000fL
      ^
  ```
  
  Regression from 2e2812dde8c1fc9b48eca592823770ab2e601f7a

- [Viktor Szakats brought this change]

  GNUmakefile: cleanups [ci skip] (#840)
  
  - indent
  - sync `test/GNUmakefile` with main
  - delete `RANLIB`
  - use `else if`
  - use more `?=`
  - use ASCII-7 copyright symbol (in test)

- [Viktor Szakats brought this change]

  win32: convert tabs to spaces [ci skip] (#838)
  
  Also strip stray newlines from `win32/rules.mk`.

- [Viktor Szakats brought this change]

  ci: retry choco install on appveyor (#837)
  
  Trying to mitigate occasional intermittent failures while installing
  docker.
  
  Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46460704/job/g3t7bro6ta6n3pk6#L52

- [Viktor Szakats brought this change]

  cmake: drop unnecessary exception for warmup build (#835)

- [Viktor Szakats brought this change]

  cmake: reflect minimum version in docs (#834)
  
  Follow-up to 505ea626b6e125b7ce15caf453b522192008a884

- [Viktor Szakats brought this change]

  cmake: add wolfSSL support to tests (#833)
  
  wolfSSL supports building with zlib as a dependency, that's the reason
  for the ZLIB logic in the patch.
  
  Also add it to `docs/INSTALL_CMAKE.md` and to the help text in
  `src/CMakeLists.txt`.
  
  Running tests not actually tested.
  
  Follow-up to 9f217a17f6f3c2047c4a1668a5c037a75a02abfd
  
  Ref: #817

- [Viktor Szakats brought this change]

  tests: workaround for intermittent first test failures (#832)
  
  Flakiness got continously worse these last days. It didn't seem related
  to recent commits. Flakiness also picked up in GitHub CI runs, something
  rarely seen before. Manual restart consistently fixed them.
  
  The repeating pattern was the _first_ test (`test_hostkey`) failing,
  with `libssh2_session_handshake failed (-13): Failed getting banner`.
  Failures came after a lengthy wait, suggesting a timeout.
  
  I then reversed the order of the first two tests, and it turned out that
  the _first_ test failed again (`test_hostkey_hash`). Also pointing to a
  timeout issue.
  
  Then I added a dummy test to "warm up" whatever needs warming up in the
  layers of CI + Docker + ssh server and their interconnects. This helped,
  and GitHub CI tests run without failure right for the first time.
  AppVeyor CI also improved a little.
  
  This patch adds a new first test called `test_warmup`, that creates a
  new libssh2 session, and exits with success even if that attempt failed.
  
  A stop-gap solution at best, and there is no guarantee it will continue
  to fix this or similar future issues, but it's also untenable to have
  almost every CI run fail for intermittent reasons.
  
  In some [1] cases [2] it's not the first test failing intermittently.
  That's a different issue, and this patch doesn't fix it.
  
  [1] #804
  [2] https://ci.appveyor.com/project/libssh2org/libssh2/builds/46440828/job/8rej6cq6itg7vc4w#L500

- [Viktor Szakats brought this change]

  cmake: detect HAVE_SNPRINTF for tests (#830)
  
  Turns out `test_keyboard_interactive_auth_info_request.c` requires
  `src/libssh2_priv.h`, which in turn requires a correctly set
  `HAVE_SNPRINTF`.
  
  Follow-up to 4cdf785cd313c3272d04c2ef7458a35d44533d8b.

- [Viktor Szakats brought this change]

  cmake: unset forced CMAKE_C_STANDARD 90 (#822)
  
  Added in cf80f2f4b5255cc85a04ee43b27a29c678c1edb1 (on 2016-08-14),
  with the title "Basic dockerised test suite".
  
  It's not clear why a C standard was explicitly set, but a side-effect
  of this is that CMake-built binaries diverged from ones built with
  autotools or GNU Make (using the same compiler and configuration).
  
  Another issue is that this may introduce ABI incompatibility with
  binaries built with a different C standard flag, e.g. the C compiler
  default or one used for other components of a final app.
  
  Seems unlikely, but if our tests require this option, we should set it
  for the CI builds only?

- [Viktor Szakats brought this change]

  example: silence MSVS 2013 C4127 warnings (#828)

- [Viktor Szakats brought this change]

  cmake: reposition ws2_32 to make binutils ld work again (#827)
  
  This restores socket libs to their pre-regression positions.
  
  Without this, `ld` doesn't find `ws2_32` symbols when referenced
  from TLS libs.
  
  Regression from 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f

- [Viktor Szakats brought this change]

  fix compiling with LIBSSH2_NO_CLEAR_MEMORY and OpenSSL (#825)
  
  Regression from a0e424a51c27cc27af611ba20d134f9a9ae35273
  
  Fixes #824

- [Viktor Szakats brought this change]

  snprintf: add missing prototype for local replacement (#820)
  
  Should fix these warnings with MSVS 2013 and older:
  `agent.c(294): warning C4013: '_libssh2_snprintf' undefined; assuming extern returning int`
  
  Follow-up to 4cdf785cd313c3272d04c2ef7458a35d44533d8b.

- [Viktor Szakats brought this change]

  build: set _FILE_OFFSET_BITS=64 for mingw-w64 (#821)
  
  autotools builds already did auto-detect and set this mingw-specific
  macro, but CMake and GNU Make builds did not. This patch fixes that.
  
  Necessary for `src/scp.c`.

- [Viktor Szakats brought this change]

  cmake: add os400qc3.c to SOURCES (#826)
  
  This re-syncs the list of compiled objects in cmake builds with
  non-cmake builds.
  
  Follow-up to 16619a8eddec35bb8582d1c334db0fc13b0817c4.

- [Viktor Szakats brought this change]

  build: silence bogus C4127 warnings with MSVS 2013 and earlier (#819)
  
  E.g.:
  `channel.c(370): warning C4127: conditional expression is constant`
  Ref:
  https://ci.appveyor.com/project/libssh2org/libssh2/builds/46437333/job/5rak1vcl9hue31ei#L190

- [Viktor Szakats brought this change]

  cmake: use only needed socket libs when checking non-blocking sockets (#816)
  
  Based on patch by Christian Beier.
  
  Fixes #694
  Closes #712

- [Viktor Szakats brought this change]

  cmake: update openssl dll list (#818)
  
  Add OpenSSL 3 and versionless DLL names. Also modernize warning messages
  and variable names.
  
  Do we need the OpenSSL-Windows-specific check and the related
  `RUNTIME_DEPENDENCIES` feature? The list of OpenSSL DLLs was out of date
  for 1.5 years without anybody noticing. Keeping it fresh is a chore and
  copying around DLL dependencies rarely helps as much as expected. This
  check also results in unuseful warnings in certain build scenarios, e.g.
  when linking to OpenSSL statically.

- [Viktor Szakats brought this change]

  cmake: add wolfSSL support (#817)
  
  Implement wolfSSL support for libssh2 when building with CMake.
  
  Configuration example from curl-for-win:
  ```
  -DCRYPTO_BACKEND=wolfSSL
  -DWOLFSSL_LIBRARY=/path-to/wolfssl/lib/libwolfssl.a
  -DWOLFSSL_INCLUDE_DIR=/path-to/wolfssl/include
  ```
  
  Module `cmake/Findwolfssl.cmake` copied from:
    https://github.com/ngtcp2/ngtcp2/blob/e4d920c4b7a350d63b6978c68b216b76faa12635/cmake/Findwolfssl.cmake
  via commit:
    https://github.com/ngtcp2/ngtcp2/commit/296396d3730b721ad97f9de22f525400f8524c0e
  by Stefan Eissing

- [Viktor Szakats brought this change]

  cmake: restore non-Windows socket lib detection (#815)
  
  I mistakenly pruned some non-Windows logic, also missing the fact that
  our local `check_function_exists_may_need_library()` set the `NEED_*`
  variables. Oddly, only `src` imported this function, yet also `examples`
  and `tests` called it indirectly. The referenced `HAVE_SOCKET` /
  `HAVE_INET_ADDR` variables might be coming from an upstream CMake
  project? Leaving those there also, just in case.
  
  Regression from 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f

Viktor Szakats (7 Mar 2023)
- build: more fixes and tidy-up (mostly for Windows)
  
  - cmake: always link `ws2_32` on Windows. Also add it to `libssh2.pc`.
  
     Fixes #745
  
  - agent: fix gcc compiler warning:
     `src/agent.c:296:35: warning: 'snprintf' output truncated before the last format character [-Wformat-truncation=]`
  
  - autotools: fix `EVP_aes_128_ctr` detection with binutils `ld`
  
     The prerequisite for a successful detection is setting
     `LIBS=-lbcrypt` if the chosen openssl-compatible library requires
     it, e.g. libressl, or quictls/openssl built with
     `-DUSE_BCRYPTGENRANDOM`.
  
     With llvm `lld`, detection works out of the box. With binutils `ld`,
     it does not. The reason is `ld`s world-famous pickiness with lib
     order.
  
     To fix it, we pass all custom libs before and after the TLS libs.
     This ugly hack makes `ld` happy and detection succeed.
  
  - agent: fix Windows-specific warning:
    `src/agent.c:318:10: warning: implicit conversion loses integer precision: 'LRESULT' (aka 'long long') to 'int' [-Wshorten-64-to-32]`
  
  - src: fix llvm/clang compiler warning:
    `src/libssh2_priv.h:987:28: warning: variadic macros are a C99 feature [-Wvariadic-macros]`
  
  - src: support `inline` with `__GNUC__` (llvm/clang and gcc), fixing:
    ```
    src/libssh2_priv.h:990:8: warning: extension used [-Wlanguage-extension-token]
    static inline void
           ^
    ```
  
  - blowfish: support `inline` keyword with MSVC.
  
     Also switch to `__inline__` (from `__inline`) for `__GNUC__`:
       https://gcc.gnu.org/onlinedocs/gcc/Inline.html
       https://clang.llvm.org/docs/UsersManual.html#differences-between-various-standard-modes
  
  - example/test: fix MSVC compiler warnings:
  
    - `example\direct_tcpip.c(209): warning C4244: 'function': conversion from 'unsigned int' to 'u_short', possible loss of data`
    - `tests\session_fixture.c(96): warning C4013: 'getcwd' undefined; assuming extern returning int`
    - `tests\session_fixture.c(100): warning C4013: 'chdir' undefined; assuming extern returning int`
  
  - delete unused macros:
    - `HAVE_SOCKET`
    - `HAVE_INET_ADDR`
    - `NEED_LIB_NSL`
    - `NEED_LIB_SOCKET`
    - `HAVE_NTSTATUS_H`
    - `HAVE_NTDEF_H`
  
  - build: delete stale zlib/openssl version numbers from path defaults.
  
  - cmake: convert tabs to spaces, add newline at EOFs.
  
  Closes #811

- cmake: make `test_read` runs cross-build-friendly
  
  Improve tests added in 7487dcf4b4ddae54b2a850737789b57b4251b0ae by
  running `test_read` commands directly. This makes external shell/batch
  files unnecessary, and is friendlier with cross-builds and when run
  from non-default shells, like MSYS2.
  
  Also extend CRYPT/MAC test error messages with the CRYPT/MAC name.
  
  External runner shell scripts kept for future use.
  
  Closes #814

- src: enable clear memory on all platforms
  
  - convert `_libssh2_explicit_zero()` to macro. This allows inlining
    where supported (e.g. `SecureZeroMemory()`).
  
  - replace `SecureZeroMemory()` (in `wincng.c`) and
    `LIBSSH2_CLEAR_MEMORY`-guarded `memset()` (in `os400qc3.c`) with
    `_libssh2_explicit_zero()` macro.
  
  - delete `LIBSSH2_CLEAR_MEMORY` guards, which enables secure-zeroing
    universally.
  
  - add `LIBSSH2_NO_CLEAR_MEMORY` option to disable secure-zeroing.
  
  - while here, delete double/triple inclusion of `misc.h`.
    `libssh2_priv.h` included it already.
  
  Closes #810

- cmake: bump minimum version to 3.1 (from 2.8.12)
  
  This allows to delete some fallback code.
  
  CMake release dates:
  - 2014-12-15: 3.1
  - 2013-10-07: 2.8.12
  
  Closes #813

- snprintf: unify fallback logic
  
  Before this patch, the `snprintf()` fallback logic for envs not
  supporting this function (i.e. Visual Studio 2013 and older) varied
  depending on build tool, and used different techniques in examples,
  tests and libssh2 itself.
  
  This patch aims to apply a common logic to libssh2 and examples/tests.
  
  - libssh2: use local `snprintf()` fallback with all build tools.
  
    We already had a local implementation, but only with CMake. Move that
    to the library as `_libssh2_snprintf()`, and map `snprintf()` to it
    when `HAVE_SNPRINTF` is not set.
  
    Also change the length type from `int` to `size_t`, and fix
    formatting.
  
  - set or detect `HAVE_SNPRINTF` in non-CMake builds.
  
    Detect in autotools. Keep existing logic in `win32/libssh2_config.h`.
    Always set for OS/400, NetWare and VMS, keeping existing behaviour.
    (OS/400 builds use a different local implementation)
  
  - examples/tests: drop the CMake-specific fallback logic and map
    `snprintf()` to `_snprintf()` for old MSVC versions, like we did
    before with other build tools. This is unsafe, but should be fine for
    these uses.
  
  - `win32/libssh2_config.h`: make it easier to read.
  
  Closes #812

- cmake: build fixes with OpenSSL/LibreSSL on Windows
  
  - Link `bcrypt` for newer (non-fork) OpenSSL.
  
  - Link `bcrypt` and `ws2_32` when using (non-fork) OpenSSL or LibreSSL,
    to allow `Looking for EVP_aes_128_ctr` detecting this feature.
  
    With the feature available, but not found by CMake, build failed with:
    `openssl.c:636:21: error: incompatible integer to pointer conversion assigning to 'EVP_CIPHER *' (aka 'struct evp_cipher_st *') from 'int' [-Wint-conversion]`
  
  Closes #809

- build fixes and improvements (mostly for Windows)
  
  - in `hostkey.c` check the result of `libssh2_sha256_init()` and
    `libssh2_sha512_init()` calls. This avoid the warning that we're
    ignoring the return values.
  
  - fix code using `int` (or `SOCKET`) for sockets. Use libssh2's
    dedicated `libssh2_socket_t` and `LIBSSH2_INVALID_SOCKET` instead.
  
  - fix compiler warnings due to `STATUS_*` macro redefinitions between
    `ntstatus.h` / `winnt.h`. Solve it by manually defining the single
    `STATUS` value we need from `ntstatus.h` and stop including the whole
    header.
    Fixes #733
  
  - improve Windows UWP/WinRT builds by detecting it with code copied
    from the curl project. Then excluding problematic libssh2 parts
    according to PR by Dmitry Kostjučenko.
    Fixes #734
  
  - always use `SecureZeroMemory()` on Windows.
  
    We can tweak this if not found or not inlined by a C compiler which
    we otherwise support. Same if it causes issues with UWP apps.
  
    Ref: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366877(v=vs.85)
    Ref: https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlsecurezeromemory
  
  - always enable `LIBSSH2_CLEAR_MEMORY` on Windows. CMake and
    curl-for-win builds already did that. Delete `SecureZeroMemory()`
    detection from autotools' WinCNG backend logic, that this
    setting used to depend on.
  
    TODO: Enable it for all platforms in a separate PR.
    TODO: For clearing buffers in WinCNG, call `_libssh2_explicit_zero()`,
          insead of a local function or explicit `SecureZeroMemory()`.
  
  - Makefile.inc: move `os400qc3.h` to `HEADERS`. This fixes
    compilation on non-unixy platforms. Recent regression.
  
  - `libssh2.rc`: replace copyright with plain ASCII, as in curl.
  
    Ref: curl/curl@1ca62bb
    Ref: curl/curl#7765
    Ref: curl/curl#7776
  
  - CMake fixes and improvements:
  
    - enable warnings with llvm/clang.
    - enable more comprehensive warnings with gcc and llvm/clang.
      Logic copied from curl:
      https://github.com/curl/curl/blob/233810bb5f6c5e7bedfc10bdd36607b958c0cfe4/CMakeLists.txt#L131-L148
    - fix `Policy CMP0080` CMake warning by deleting that reference.
    - add `ENABLE_WERROR` (default: `OFF`) option. Ported from curl.
    - add `PICKY_COMPILER` (default: `ON`) option, as known from curl.
  
      It controls both the newly added picky warnings for llvm/clang and
      gcc, and also the pre-existing ones for MSVC.
  
  - `win32/GNUmakefile` fixes and improvements:
  
    - delete `_AMD64_` and add missing `-m64` for x64 builds under test.
    - add support for `ARCH=custom`.
      It disables hardcoded Intel 64-bit and Intel 32-bit options,
      allowing ARM64 builds.
    - add support for `LIBSSH2_RCFLAG_EXTRAS`.
      To pass custom options to windres, e.g. in ARM64 builds.
    - add support for `LIBSSH2_RC`. To override `windres`.
    - delete support for Metrowerks C. Last released in 2004.
  
  - `win32/libssh2_config.h`: delete unnecessary socket #includes
  
    `src/libssh2_priv.h` includes `winsock2.h` and `ws2tcpip.h` further
     down the line, triggered by `HAVE_WINSOCK2_H`.
  
    `mswsock.h` does not seem to be necessary anymore.
  
    Double-including these (before `windows.h`) caused compiler failures
    when building against BoringSSL and warnings with LibreSSL. We could
    work this around by passing `-DNOCRYPT`. Deleting the duplicates
    fixes these issues.
  
    Timeline:
    2013: c910cd382dfa07fed2adaabf688af9e4a084fa1d deleted `mswsock.h` from `src/libssh2_priv.h`
    2008: 8c43bc52b1e3de2c8fc7899a80aec0e98de4e2d8 added `winsock2.h` and `ws2tcpip.h` to `src/libssh2_priv.h`
    2005: dc4bb1af967d2c53e90349f2f37324c622e714f5 added the now deleted #includes
  
  - delete or replace `LIBSSH2_WIN32` with `WIN32`.
  
  - replace hand-rolled `HAVE_WINDOWS_H` macro with `WIN32`. Also delete
    its detections/definitions.
  
  - delete unused `LIBSSH2_DARWIN` macro.
  
  - delete unused `writev()` Windows implementation
  
    There is no reference to `writev()` since 2007-02-02, commit
    9d55db6501aa4e21f0858cf36cdc2ddc11b96e83.
  
  - fix a bunch of MSVC / llvm/clang / gcc compiler warnings:
  
    - `warning C4100: '...': unreferenced formal parameter`
    - using value of undefined PP macro `LIBSSH2DEBUG`
    - missing void from function definition
    - `if()` block missing in non-debug builds
    - unreferenced variable in non-debug builds
    - `warning: must specify at least one argument for '...' parameter of variadic macro [-Wgnu-zero-variadic-macro-arguments]`
      in `_libssh2_debug()`
    - `warning C4295: 'ciphertext' : array is too small to include a terminating null character`
    - `warning C4706: assignment within conditional expression`
    - `warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or
        define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings`
      By suppressning it. Would be best to use inet_pton() as suggested.
      On Windows this needs Vista though.
    - `warning C4152: nonstandard extension, function/data pointer conversion in expression`
      (silenced locally)
    - `warning C4068: unknown pragma`
  
    Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46354480/job/j7d0m34qgq8rag5w
  
  Closes #808

Dan Fandrich (1 Mar 2023)
- Add tests to check individual crypt & HMAC methods
  
  One specific crypt or hmac method is requested to be negotiated, then
  several MB of data is transferred.

- Add test to read lots of data over a channel
  
  Connects to the ssh server then downloads several MB of data.  This
  tests the data transfer path as well as boundary cases in packet
  handling as data is split into smaller SSH blocks.

GitHub (27 Feb 2023)
- [Will Cosgrove brought this change]

  Disable deprecated warnings for OpenSSL 3 #805 (#806)
  
  Disable deprecated warnings (for now) when building against OpenSSL 3 for a clean build.
  
  Reported:
  Daniel Stenberg

Dan Fandrich (24 Feb 2023)
- Fix a couple of warnings of errors in MSVC builds
  
  Two warnings (in tests & examples) in particular would cause problems:
  bad format causing invalid data output or a bad chdir due to out of
  scope buffer use.

- tests: Support running tests in out-of-tree builds
  
  Various files are found by referencing the srcdir environment variable
  in that case.
  
  Closes #801

- Improve the ssh2 example program to run a command
  
  This performs better as an example since it shows more working code, and
  in the simplest possible way. It also turns the program into an actually
  useful tool out of the box, able to run an arbitrary command (with one
  restriction) on a remote machine and return the response, without
  needing to touch the source.
  
  Closes #800

GitHub (14 Feb 2023)
- [Will Cosgrove brought this change]

  Add NULL session check to _libssh2_error_flags() (#796)
  
  Don't dereference null if a null session happens to make it into _libssh2_error_flags()

Dan Fandrich (7 Feb 2023)
- Reorder AES crypt methods so stronger ones are first
  
  This make it more likely that a stronger one will be negotiated rather
  than a weaker variant.

- CI: update uses: dependencies to the latest versions
  
  We were seeing some deprecation warning messages on some of the older
  ones.

- transport.c: Add some comments

- Add missing files to automake makefiles & build tests
  
  Many files have been added to the cmake build files but not the automake
  ones in recent years. Missing ones have been added so automake "make
  dist" will now create a usable tar ball.
  
  The integration tests using Docker are now built with automake as well
  (with "make check").  They are not run yet since they aren't working yet
  on Linux.

- tests: Fix gcc compile warnings
  
  These were mostly due to missing and non-ANSI prototypes.

- Enable trace debugging in example/ssh2
  
  This is intended to be a test program, so debugging is likely to be
  useful by default.

- Improve example/ssh2 to allow unmodified use of public key auth
  
  The previous hard-coded key file paths were not valid for normal users.
  Make the paths relative to the user's home directory instead so they
  can work out of the box.  Add a banner showing what connection will be
  attempted to make it easier for the user to see what is being attempted.
  Enable trace debugging since this is designed as a test program.

GitHub (13 Dec 2022)
- [Viktor Szakats brought this change]

  openssl.h: enable ed25519 for LibreSSL 3.7.0 (#778)
  
  This brings LibreSSL libssh2 builds on par with OpenSSL.

Dan Fandrich (5 Dec 2022)
- configure.ac: check for sys/param.h
  
  This file is required by glibc for the test suite.

GitHub (12 Nov 2022)
- [Viktor Szakats brought this change]

  tests: add option to run tests without docker (#762)
  
  via `export OPENSSH_NO_DOCKER=1`.
  
  SSH server host can be set via:
    `export OPENSSH_SERVER_HOST=127.0.0.1`
  
  SSH server port via existing:
    `export OPENSSH_SERVER_PORT=4711`
  
  This requires more work to be usable out of the box. The necessery sshd
  config is (partly) embedded into `tests/openssh_server/Dockerfile`.
  
  After this patch, it is possible to run tests in envs where docker is
  not installed or not available, by running a preconfigured,
  non-containerized sshd.

- [Michael Buckley brought this change]

  Skip leading \r and \n characters in banner_receive() (#769)
  
  Fixes #768
  
  Credit:
  Michael Buckley

- [Zenju brought this change]

  Fixed error handling of _libssh2_packet_requirev callers (#767)
  
  Notes:
  
  some callers of _libssh2_packet_requirev() fail to set _libssh2_error().
  This creates the situation where e.g. libssh2_session_handshake() fails, but libssh2_session_last_error() confusingly returns LIBSSH2_ERROR_NONE.
  
  Credit:
  Zenju

- [Will Cosgrove brought this change]

  Revert usage of EVP_CipherUpdate #764 #739 (#765)
  
  Revert usage of EVP_CipherUpdate from wolfSSL PR to fix #764 #739.

- [Will Cosgrove brought this change]

  Fix regression with rsa_sha2_verify #758 (#763)
  
  Fixes comparison with the result value coming from `mbedtls_rsa_pkcs1_verify`. Success is 0, not 1.

Marc Hoersken (24 Oct 2022)
- CI: fix AppVeyor status failing for starting jobs

Viktor Szakats (24 Oct 2022)
- delete cast5 - null-cipher mapping

- more feature guard cleanup

- indent

- formatting

- fold long lines

- cleanup

- temporarily silence checksrc

- add mbedTLS 3.x support
  
  Make libssh2 compile cleanly with mbedTLS 3.x and later.
  
  This patch makes use of `MBEDTLS_PRIVATE()`, which is not the
  recommended, future-proof way to access mbedTLS data structures. This
  method may break with a minor upgrade, according to the authors. This
  is also the method used by libcurl.
  
  Also:
  
  - Fix a potentially uninitialized variable in
    `libssh2_mbedtls_rsa_sha2_sign()`. This happened in an error path,
    resulting in an unnecessary mbedTLS API call, with an uninitialized
    `md_type`.
  
  - Bump mbedTLS version used in CI tests to 3.2.1.
  
  Fixes #751

- tests: add option to enable all trace messages in fixture
  
  via `export FIXTURE_TRACE_ALL=1`.

- win32/GNUmakefile: add mbedTLS support
  
  via `export MBEDTLS_PATH=<mbedtls-root>`.

Marc Hoersken (21 Oct 2022)
- CI: fix AppVeyor job links only working for most recent build
  
  Ref: https://github.com/curl/curl/pull/9768#issuecomment-1286675916
  Reported-by: Daniel Stenberg
  
  Follow up to #754

- CI: add missing permission section to AppVeyor status workflow
  
  Follow up to #754

- Remove OSSFuzz integration which was replaced with CIFuzz (#756)
  
  Confirmed-by: Max Dymond

- Rename workflow file appveyor.yml to appveyor_docker.yml

- Streamline names of CI workflow jobs

- [Jeroen Ooms brought this change]

  Add CI for mingw-w64 via msys2 (#742)
  
  Credit: Jeroen Ooms

- CI: report AppVeyor build status for each job (#754)
  
  Also give each job on AppVeyor CI a human-readable name.
  
  This aims to make job and therefore build failures more visible.

GitHub (29 Sep 2022)
- [Michael Buckley brought this change]

  Support for sk-ecdsa-sha2-nistp256 and sk-ssh-ed25519 keys, FIDO (#698)
  
  Notes:
  Add support for sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com key exchange for FIDO auth using the OpenSSL backend. Stub API for other backends.
  
  Credit:
  Michael Buckley

- [Y. Yang brought this change]

  Fix DLL import library name (#711)
  
  Notes:
  Fix DLL import library name
  
  https://aur.archlinux.org/packages/mingw-w64-libssh2
  https://cmake.org/cmake/help/latest/prop_tgt/IMPORT_PREFIX.html
  
  Credit:
  metab0t
  Y. Yang

- [skundu07 brought this change]

  Add RSA-SHA2 support for the WinCNG backend (#736)
  
  Notes:
  Added code to support RSA-SHA2 for WinCNG backend.
  
  Credit:
  skundu07

- [Gabriel Smith brought this change]

  sftp: Prevent files from being skipped if the output buffer is too small (#746)
  
  Notes:
  LIBSSH2_ERROR_BUFFER_TOO_SMALL is returned if the buffer is too small
  to contain a returned directory entry. On this condition we jump to the
  label `end`. At this point the number of names left is decremented
  despite no name being returned.
  
  As suggested in #714, this commit moves the error label after the
  decrement of `names_left`.
  
  Fixes #714
  
  Credit:
  Co-authored-by: Gabriel Smith <gabriel.smith@precisionot.com>

- [bgermann brought this change]

  Drop advertisement clause on Blowfish (#747)
  
  Originally driven by https://github.com/pyca/bcrypt/issues/169, OpenBSD
  removed Niels Provos's BSD advertisement clause in version 7.1:
  
  https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/lib/libsa/blowfish.c.diff?r1=1.1&r2=1.2
  https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/lib/libsa/blowfish.h.diff?r1=1.1&r2=1.2
  
  This enables using libssh2 in GPL software.

- [zhaochongliu brought this change]

  Support building with gcc < version 8
  
  Files: CMakeLists.txt
  
  Notes: don't use gcc arguments that don't exist in gcc versions lower than 8 if building with older gcc.
  
  Credit:
  zhaochongliu

- [Miguel de Icaza brought this change]

  Document the obscure LIBSSH2_ERROR_BAD_USE when writing to a channel (#713)
  
  Document the obscure LIBSSH2_ERROR_BAD_USE when writing to a channel
  
  Credit:
  Miguel de Icaza

- [Michael Buckley brought this change]

  Don't erroneously log SSH_MSG_REQUEST_FAILURE packets from keepalive  (#727)
  
  Notes:
  When setting a ServerAliveInterval using libssh2_keepalive_config() with want_reply set to true, some servers will reply to the keep-alive requests with a single SSH_MSG_REQUEST_FAILURE packet. This is an allowed behavior in RFC 4254, section 4.
  
  Credit:
  Michael Buckley

- [Ryan Kelley brought this change]

  Updating docs for libssh2_channel_flush_ex (#728)
  
  Notes:
  In #614 it was identified the docs do not accurately show how libssh2_channel_flush_ex() return value is set. I have updated the doc's to correctly show what the function is returning.
  
  Credit:
  Ryan Kelley

- [Sandeep Bansal brought this change]

  Support RSA certificate authentication (#710)
  
  * Adding support for signed RSA keys and unit test
  
  Credit:
  Sandeep Bansal

Viktor Szakats (2 Jul 2022)
- configure: add --disable-tests option

- cmake: do not add libssh2.rc to the static library

GitHub (23 May 2022)
- [AyushiN brought this change]

  Fixed typo #697 (#701)
  
  Credit:
  AyushiN

- [Viktor Szakats brought this change]

  Openssl: add support for LibreSSL 3.5.x (#700)
  
  LibreSSL 3.5.0 made more structures opaque, so let's enable existing
  support for that when building against these LibreSSL versions.
  
  Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.5.0-relnotes.txt
  
  Credit:
  Viktor Szakats

- [Michael Buckley brought this change]

  Ensure KEX replies don't include extra bytes (#696)
  
  Addresses #695
  
  Credit:
  Michael Buckley, reported by Harry Sintonen

- [Zenju brought this change]

  Fix buffer overflow during SSH_MSG_USERAUTH_BANNER (#693)
  
  File: userauth.c
  Notes:
  This patch fixes application crashes due to heap corruption. Turns out the null terminator is written one byte outside of the allocated area.
  Credit:
  Zenju

- [Will Cosgrove brought this change]

  Changed NULL check to avoid logic change

- [Will Cosgrove brought this change]

  NULL check before calling session_handshake

- [Harry Sintonen brought this change]

  Fix build since openssl 1.1.0 when ECDSA and/or RIPEMD are disabled (#666)
  
  File: openssl.h
  
  Notes:
  In openssl 1.1.0 and later openssl decided to change some of the defines used to check if certain features are not compiled in the libraries. This updates the define checks.
  
  Credit:
  Harry Sintonen
  Co-authored-by: Harry Sintonen <sintonen@iki.fi>

- [gbaraldi brought this change]

  Add RSA-SHA2 support for the mbedtls backend (#688)
  
  File: mbedtls.c
  
  Notes:
  * Add sha2 support for RSA key upgrading to mbedTLS backend
  
  Credit:
  gbaraldi

Daniel Stenberg (21 Mar 2022)
- misc/libssh2_copy_string: avoid malloc zero bytes
  
  Avoids the inconsistent malloc return code for malloc(0)
  
  Closes #686

Marc Hoersken (17 Mar 2022)
- wincng: rename struct field referring to the DH private big number
  
  Closes #684

- tests/openssh_fixture.c: print command after variable expansion

- CI: store and reuse OpenSSH Server docker image used for tests
  
  Supersedes #588
  Fixes #665
  Closes #685

GitHub (26 Feb 2022)
- [Will Cosgrove brought this change]

  Added LibreSSL to crypto backend list

- [Will Cosgrove brought this change]

  Added crypto backend list to template
  
  Added OS version as well

- [Will Cosgrove brought this change]

  Revert "Option to build both static and shared libraries (#547)" (#675)
  
  This reverts commit b60dca8b6450a9729670986d2899cca54ccdbb6d.
  
  #547 doesn't build clean anymore with the keyboard interactive changes.

- [berney brought this change]

  Option to build both static and shared libraries (#547)
  
  files: cmakelists.txt
  
  Notes:
  * Option to build both static and shared libraries when using CMake
  
  Credit:
  berney

- [xalopp brought this change]

  Use modern API in userauth_keyboard_interactive() (#663)
  
  Files: userauth_kbd_packet.c, userauth_kbd_packet.h, test_keyboard_interactive_auth_info_request.c, userauth.c
  
  Notes:
  This refactors `SSH_MSG_USERAUTH_INFO_REQUEST` processing in `userauth_keyboard_interactive()` in order to improve robustness, correctness and readability or the code.
  
  * Refactor userauth_keyboard_interactive to use new api for packet parsing
  * add unit test for userauth_keyboard_interactive_parse_response()
  * add _libssh2_get_boolean() and _libssh2_get_byte() utility functions
  
  Credit:
  xalopp

- [xalopp brought this change]

  Fix formatting in manual page (#667)
  
  Fixed formatting of `LIBSSH2_ERROR_AUTHENTICATION_FAILED` in the errors section.
  
  credit: xalopp

- [tihmstar brought this change]

  NULL terminate server_sign_algorithms string (#669)
  
  files: packet.c, libssh2_priv.h
  
  notes:
  * Fix heap buffer overflow in _libssh2_key_sign_algorithm
  
  When allocating `session->server_sign_algorithms` which is a `char*` is is important to also allocate space for the string-terminating null byte at the end and make sure the string is actually null terminated.
  
  Without this fix, the `strchr()` call inside the `_libssh2_key_sign_algorithm` (line 1219) function will try to parse the string and go out of buffer on the last invocation.
  
  Credit: tihmstar
  Co-authored-by: Will Cosgrove <will@panic.com>

- [Will Cosgrove brought this change]

  free RSA2 related memory (#664)
  
  Free `server_sign_algorithms` and `sign_algo_prefs`.

- [Will Cosgrove brought this change]

  Legacy Agent support for rsa2 key upgrading/downgrading #659 (#662)
  
  Files: libssh2.h, agent.c, userauth.c
  
  Notes:
  Part 2 of the fix for #659. This adds rsa key downgrading for agents that don't support sha2 upgrading. It also adds better trace output for debugging/logging around key upgrading.
  
  Credit:
  Will Cosgrove (signed off by Michael Buckley)

- [Ian Hattendorf brought this change]

  Support rsa-sha2 agent flags (#661)
  
  File: agent.c
  Notes: implements rsa-sha2 flags used to tell the agent which signing algo to use.
   https://tools.ietf.org/id/draft-miller-ssh-agent-01.html#rfc.section.4.5.1
  
  Credit:
  Ian Hattendorf

Daniel Stenberg (13 Jan 2022)
- [Sunil Nimmagadda brought this change]

  ssh: Add support for userauth banner.
  
  The new libssh2_userauth_banner API allows to get an optional
  userauth banner sent with SSH_MSG_USERAUTH_BANNER packet by the
  server.
  
  Closes #610

GitHub (6 Jan 2022)
- [Michael Buckley brought this change]

  Fix a memcmp errors in code that was changed from memmem to memcmp (#656)
  
  Notes:
  Fixed supported algo prefs list check when upgrading rsa keys
  
  Credit: Michael Buckley

- [Hayden Roche brought this change]

  Add support for a wolfSSL crypto backend. (#629)
  
  It uses wolfSSL's OpenSSL compatibility layer, so rather than introduce new
  wolfssl.h/c files, the new backend just reuses openssl.h/c. Additionally,
  replace EVP_Cipher() calls with EVP_CipherUpdate(), since EVP_Cipher() is not
  recommended.
  
  Credit: Hayden Roche

- [Bastien Durel brought this change]

  Runtime engine detection with libssh2_crypto_engine() (#643)
  
  File:
  version.c, HACKING-CRYPTO, libssh2.h, libssh2_crypto_engine.3, makefile.
  
  Notes:
  libssh2_crypto_engine() API to get crypto engine at runtime.
  
  Credit: Bastien Durel

- [Will Cosgrove brought this change]

  RSA SHA2 256/512 key upgrade support RFC 8332 #536 (#626)
  
  Notes:
  * Host Key RSA 256/512 support #536
  * Client side key hash upgrading for RFC 8332
  * Support for server-sig-algs, ext-info-c server messages
  * Customizing preferred server-sig-algs via the preference LIBSSH2_METHOD_SIGN_ALGO
  
  Credit: Anders Borum, Will Cosgrove

- [xalopp brought this change]

  fix: use userauth name length to check memory boundaries for userauth name, fixes #653 (#654)
  
  File: userauth.c
  
  Notes:
  Fixes `userauth_kybd_auth_name_len` length check
  
  Co-authored-by: Xaver Lopenstedt <xaver@lopenstedt.de>

- [Daniel Stenberg brought this change]

  agent: handle overly large comment lengths (#651)
  
  Reported-by: Harry Sintonen

- [Daniel Stenberg brought this change]

  userauth: check for too large userauth_kybd_auth_name_len (#650)
  
  ... before using it.
  
  Reported-by: MarcoPoloPie
  Fixes #649

Daniel Stenberg (17 Dec 2021)
- .github/SECURITY.md: fix the URL

- .github/SECURITY.md: add security policy

GitHub (30 Nov 2021)
- [Will Cosgrove brought this change]

  hostkey_method_ssh_ed25519_init() check key bounds (#645)
  
  * hostkey_method_ssh_ed25519_init() check key bounds
  
  File: hostkey.c
  
  Notes:
  Additional key length checking before calling _libssh2_ed25519_new_public()
  
  Credit:
  Will Cosgrove

- [Will Cosgrove brought this change]

  Fix error message in memory_read_privatekey #636
  
  file: userauth.c
  note: fix error message
  credit:
  volund

- [cntrump brought this change]

  Update maketgz for macOS (#543)
  
  File:
  maketgz
  
  Notes:
  Fix error on macOS: sed: -e: No such file or directory
  
  Credit:
  cntrump

- [Jun Tseng brought this change]

  CMake update minimum version to 2.8.12 (#639)
  
  File:
  CMakeLists.txt
  
  Notes:
  Following CMake's advice, Update the minimum required version.
  
  Credit:
  Jun Tseng

Daniel Stenberg (8 Nov 2021)
- [David Korczynski brought this change]

  ci: Add CIFuzz integration
  
  Notes:
  Add CIFuzz integration to run fuzzer using the OSS-Fuzz infrastructure
  at each PR.
  
  Signed-off-by: David Korczynski <david@adalogics.com>
  Closes #635

GitHub (26 Oct 2021)
- [Uwe L. Korn brought this change]

  Use libssh2_EXPORTS as an alternative to _WINDLL (#470)
  
  Files: libssh2.h
  
  Notes:
  `_WINDLL` is only defined when a Visual Studio CMake generator is used, `libssh2_EXPORTS` is used though for all CMake generator if a shared libssh2 library is being built.
  
  Credit:
  Uwe L. Korn

Viktor Szakats (1 Oct 2021)
- windows: fix clang and WinCNG warnings
  
  Fix these categories of warning:
  
  - in `wincng.c` disagreement in signed/unsigned char when passing around
    the passphrase string:
    `warning: pointer targets in passing argument [...] differ in signedness [-Wpointer-sign]`
    Fixed by using `const unsigned char *` in all static functions and
    applying/updating casts as necessary.
  
  - in each use of `libssh2_*_init()` macros where the result is not used:
    `warning: value computed is not used [-Wunused-value]`
    Fixed by using `(void)` casts.
  
  - `channel.c:1171:7: warning: 'rc' may be used uninitialized in this function [-Wmaybe-uninitialized]`
    Fixed by initializing this variable with `LIBSSH2_ERROR_CHANNEL_UNKNOWN`.
    While there I replaced a few 0 literals with `LIBSSH2_ERROR_NONE`.
  
  - in `sftp.c`, several of these two warnings:
    `warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]`
    `warning: 'data_len' may be used uninitialized in this function [-Wmaybe-uninitialized]`
    Fixed by initializing these variables with NULL and 0 respectively.
  
  - Also removed the exec attribute from `wincng.h`.
  
  Notes:
  - There are many pre-existing checksrc issues.
  - The `sftp.c` and `channel.c` warnings may apply to other platforms as well.
  
  Closes #628

Daniel Stenberg (25 Sep 2021)
- README: use www.libssh2.org for the license link

- libssh2.h: bump it to 1.10.1-dev

- mailing list: moved to lists.haxx.se

GitHub (2 Sep 2021)
- [Laurent Stacul brought this change]

  openssh_fixture.c: Fix openssh_server build not working (#616) (#620)
  
  File: openssh_fixture.c
  
  Notes:
  fixes too long of output lines building docker image
  
  Credit:
  Laurent Stacul

- [Will Cosgrove brought this change]

  openssh_fixture.c: fix warning (#621)
  
  File: openssh_fixture.c
  
  Notes:
  Fix `portable_sleep` return type warning
  
  Credit:
  Will Cosgrove

- [Will Cosgrove brought this change]

  Update CI to use latest Ubuntu #624 (#625)
  
  File: ci.yml
  
  Notes:
  Update CI to use latest Ubuntu #624
  
  Also removed 32 bit building in the matrix.
  
  Credit:
  Will Cosgrove

- [Will Cosgrove brought this change]

  Update .gitignore
  
  Add .DS_Store files for macOS

- [Laurent Stacul brought this change]

  Makefile.am: Add missing key in case openssl > 1.1.0 (#617)
  
  File: Makefile.am
  
  Notes: fix missing test keys
  
  Credit:
  Laurent Stacul

Version 1.10.0 (29 Aug 2021)

Daniel Stenberg (29 Aug 2021)
- [Will Cosgrove brought this change]

  updated docs for 1.10.0 release

Marc Hörsken (30 May 2021)
- [Laurent Stacul brought this change]

  [tests] Try several times to connect the ssh server
  
  Sometimes, as the OCI container is run in detached mode, it is possible
  the actual server is not ready yet to handle SSH traffic. The goal of
  this PR is to try several times (max 3). The mechanism is the same as
  for the connection to the docker machine.

- [Laurent Stacul brought this change]

  Remove openssh_server container on test exit

- [Laurent Stacul brought this change]

  Allow the tests to run inside a container
  
  The current tests suite starts SSH server as OCI container. This commit
  add the possibility to run the tests in a container provided that:
  
  * the docker client is installed builder container
  * the host docker daemon unix socket has been mounted in the builder
    container (with, if needed, the DOCKER_HOST environment variable
    accordingly set, and the permission to write on this socket)
  * the builder container is run on the default bridge network, or the
    host network. This PR does not handle the case where the builder
    container is on another network.

Marc Hoersken (28 May 2021)
- CI/appveyor: run SSH server for tests on GitHub Actions (#607)
  
  No longer rely on DigitalOcean to host the Docker container.
  
  Unfortunately we require a small dispatcher script that has
  access to a GitHub access token with scope repo in order to
  trigger the daemon workflow on GitHub Actions also for PRs.
  
  This script is hosted by myself for the time being until GitHub
  provides a tighter scope to trigger the workflow_dispatch event.

GitHub (26 May 2021)
- [Will Cosgrove brought this change]

  openssl.c: guards around calling FIPS_mode() #596 (#603)
  
  Notes:
  FIPS_mode() is not implemented in LibreSSL and this API is removed in OpenSSL 3.0 and was introduced in 0.9.7. Added guards around making this call.
  
  Credit:
  Will Cosgrove

- [Will Cosgrove brought this change]

  configure.ac: don't undefine scoped variable (#594)
  
  * configure.ac: don't undefine scoped variable
  
  To get this script to run with Autoconf 2.71 on macOS I had to remove the undefine of the backend for loop variable. It seems scoped to the for loop and also isn't referenced later in the script so it seems OK to remove it.
  
  * configure.ac: remove cygwin specific CFLAGS #598
  
  Notes:
  Remove cygwin specific Win32 CFLAGS and treat the build like a posix build
  
  Credit:
  Will Cosgrove, Brian Inglis

- [Laurent Stacul brought this change]

  tests: Makefile.am: Add missing tests client keys in distribution tarball (#604)
  
  Notes:
  Added missing test keys.
  
  Credit:
  Laurent Stacul

- [Laurent Stacul brought this change]

  Makefile.am: Add missing test keys in the distribution tarball (#601)
  
  Notes:
  Fix tests missing key to build the OCI image
  
  Credit:
  Laurent Stacul

Daniel Stenberg (16 May 2021)
- dist: add src/agent.h
  
  Fixes #597
  Closes #599

GitHub (12 May 2021)
- [Will Cosgrove brought this change]

  packet.c: Reset read timeout after received a packet (#576) (#586)
  
  File:
  packet.c
  
  Notes:
  Attempt keyboard interactive login (Azure AD 2FA login) and use more than 60 seconds to complete the login, the connection fails.
  
  The _libssh2_packet_require function does almost the same as _libssh2_packet_requirev but this function sets state->start = 0 before returning.
  
  Credit:
  teottin, Co-authored-by: Tor Erik Ottinsen <tor.ottinsen@kdi.kongsberg.com>

- [kkoenig brought this change]

  Support ECDSA certificate authentication (#570)
  
  Files: hostkey.c, userauth.c, test_public_key_auth_succeeds_with_correct_ecdsa_key.c
  
  Notes:
  Support ECDSA certificate authentication
  
  Add a test for:
    - Existing ecdsa basic public key authentication
    - ecdsa public key authentication with a signed public key
  
  Credit:
  kkoenig

- [Gabriel Smith brought this change]

  agent.c: Add support for Windows OpenSSH agent (#517)
  
  Files: agent.c, agent.h, agent_win.c
  
  Notes:
  * agent: Add support for Windows OpenSSH agent
  
  The implementation was partially taken and modified from that found in
  the Portable OpenSSH port to Win32 by the PowerShell team, but mostly
  based on the existing Unix OpenSSH agent support.
  
  https://github.com/PowerShell/openssh-portable
  
  Regarding the partial transfer support implementation: partial transfers
  are easy to deal with, but you need to track additional state when
  non-blocking IO enters the picture. A tracker of how many bytes have
  been transfered has been placed in the transfer context struct as that's
  where it makes most sense. This tracker isn't placed behind a WIN32
   #ifdef as it will probably be useful for other agent implementations.
  
  * agent: win32 openssh: Disable overlapped IO
  
  Non-blocking IO is not currently supported by the surrounding agent
  code, despite a lot of the code having everything set up to handle it.
  
  Credit:
  Co-authored-by: Gabriel Smith <gabriel.smith@precisionot.com>

- [Zenju brought this change]

  Fix detailed _libssh2_error being overwritten (#473)
  
  Files: openssl.c, pem.c, userauth.c
  
  Notes:
  * Fix detailed _libssh2_error being overwritten by generic errors
  * Unified error handling
  
  Credit:
  Zenju

- [Paul Capron brought this change]

  Fix _libssh2_random() silently discarding errors (#520)
  
  Notes:
  * Make _libssh2_random return code consistent
  
  Previously, _libssh2_random was advertized in HACKING.CRYPTO as
  returning `void` (and was implemented that way in os400qc3.c), but that
  was in other crypto backends a lie; _libssh2_random is (a macro
  expanding) to an int-value expression or function.
  
  Moreover, that returned code was:
    — 0 or success, -1 on error for the MbedTLS & WinCNG crypto backends
  But also:
    — 1 on success, -1 or 0 on error for the OpenSSL backend!
    – 1 on success, error cannot happen for libgcrypt!
  
  This commit makes explicit that _libssh2_random can fail (because most of
  the underlying crypto functions can indeed fail!), and it makes its result
  code consistent: 0 on success, -1 on error.
  
  This is related to issue #519 https://github.com/libssh2/libssh2/issues/519
  It fixes the first half of it.
  
  * Don't silent errors of _libssh2_random
  
  Make sure to check the returned code of _libssh2_random(), and
  propagates any failure.
  
  A new LIBSSH_ERROR_RANDGEN constant is added to libssh2.h
  None of the existing error constants seemed fit.
  
  This commit is related to d74285b68450c0e9ea6d5f8070450837fb1e74a7
  and to https://github.com/libssh2/libssh2/issues/519 (see the issue
  for more info.)  It closes #519.
  
  Credit:
  Paul Capron

- [Gabriel Smith brought this change]

  ci: Remove caching of docker image layers (#589)
  
  Notes:
  continued ci reliability work.
  
  Credit:
  Gabriel Smith

- [Gabriel Smith brought this change]

  ci: Speed up docker builds for tests (#587)
  
  Notes:
  The OpenSSH server docker image used for tests is pre-built to prevent
  wasting time building it during a test, and unneeded rebuilds are
  prevented by caching the image layers.
  
  Credit:
  Gabriel Smith

- [Will Cosgrove brought this change]

  userauth.c: don't error if using keys without RSA (#555)
  
  file: userauth.c
  
  notes: libssh2 now supports many other key types besides RSA, if the library is built without RSA support and a user attempts RSA auth it shouldn't be an automatic error
  
  credit:
  Will Cosgrove

- [Marc brought this change]

  openssl.c: Avoid OpenSSL latent error in FIPS mode (#528)
  
  File:
  openssl.c
  
  Notes:
  Avoid initing MD5 digest, which is not permitted in OpenSSL FIPS certified cryptography mode.
  
  Credit:
  Marc

- [Laurent Stacul brought this change]

  openssl.c: Fix EVP_Cipher interface change in openssl 3 #463
  
  File:
  openssl.c
  
  Notes:
  Fixes building with OpenSSL 3, #463.
  
  The change is described there:
  https://github.com/openssl/openssl/commit/f7397f0d58ce7ddf4c5366cd1846f16b341fbe43
  
  Credit:
  Laurent Stacul, reported by Sergei

- [Gabriel Smith brought this change]

  openssh_fixture.c: Fix potential overwrite of buffer when reading stdout of command (#580)
  
  File:
  openssh_fixture.c
  Notes:
  If reading the full output from the executed command took multiple
  passes (such as when reading multiple lines) the old code would read
  into the buffer starting at the some position (the start) every time.
  The old code only works if fgets updated p or had an offset parameter,
  both of which are not true.
  
  Credit:
  Gabriel Smith

- [Gabriel Smith brought this change]

  ci: explicitly state the default branch (#585)
  
  Notes:
  It looks like the $default-branch macro only works in templates, not
  workflows. This is not explicitly stated anywhere except the linked PR
  comment.
  
  https://github.com/actions/starter-workflows/pull/590#issuecomment-672360634
  
  credit:
  Gabriel Smith

- [Gabriel Smith brought this change]

  ci: Swap from Travis to Github Actions (#581)
  
  Files: ci files
  
  Notes:
  Move Linux CI using Github Actions
  
  Credit:
  Gabriel Smith, Marc Hörsken

- [Mary brought this change]

  libssh2_priv.h: add iovec on 3ds (#575)
  
  file: libssh2_priv.h
  note: include iovec for 3DS
  credit: Mary Mstrodl

- [Laurent Stacul brought this change]

  Tests: Fix unused variables warning (#561)
  
  file: test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c
  
  notes: fixed unused vars
  
  credit:
  Laurent Stacul

- [Viktor Szakats brought this change]

  bcrypt_pbkdf.c: fix clang10 false positive warning (#563)
  
  File: bcrypt_pbkdf.c
  
  Notes:
  blf_enc() takes a number of 64-bit blocks to encrypt, but using
  sizeof(uint64_t) in the calculation triggers a warning with
  clang 10 because the actual data type is uint32_t. Pass
  BCRYPT_BLOCKS / 2 for the number of blocks like libc bcrypt(3)
  does.
  
  Ref: https://github.com/openbsd/src/commit/04a2240bd8f465bcae6b595d912af3e2965856de
  
  Fixes #562
  
  Credit:
  Viktor Szakats

- [Will Cosgrove brought this change]

  transport.c: release payload on error (#554)
  
  file: transport.c
  notes: If the payload is invalid and there is an early return, we could leak the payload
  credit:
  Will Cosgrove

- [Will Cosgrove brought this change]

  ssh2_client_fuzzer.cc: fixed building
  
  The GitHub web editor did some funky things

- [Will Cosgrove brought this change]

  ssh_client_fuzzer.cc: set blocking mode on (#553)
  
  file: ssh_client_fuzzer.cc
  
  notes: the session needs blocking mode turned on to avoid EAGAIN being returned from libssh2_session_handshake()
  
  credit:
  Will Cosgrove, reviewed by Michael Buckley

- [Etienne Samson brought this change]

  Add a LINT option to CMake (#372)
  
  * ci: make style-checking available locally
  
  * cmake: add a linting target
  
  * tests: check test suite syntax with checksrc.pl

- [Will Cosgrove brought this change]

  kex.c: kex_agree_instr() improve string reading (#552)
  
  * kex.c: kex_agree_instr() improve string reading
  
  file: kex.c
  notes: if haystack isn't null terminated we should use memchr() not strchar(). We should also make sure we don't walk off the end of the buffer.
  credit:
  Will Cosgrove, reviewed by Michael Buckley

- [Will Cosgrove brought this change]

  kex.c: use string_buf in ecdh_sha2_nistp (#551)
  
  * kex.c: use string_buf in ecdh_sha2_nistp
  
  file: kex.c
  
  notes:
  use string_buf in ecdh_sha2_nistp() to avoid attempting to parse malformed data

- [Will Cosgrove brought this change]

  kex.c: move EC macro outside of if check #549 (#550)
  
  File: kex.c
  
  Notes:
  Moved the macro LIBSSH2_KEX_METHOD_EC_SHA_HASH_CREATE_VERIFY outside of the LIBSSH2_ECDSA since it's also now used by the ED25519 code.
  
  Sha 256, 384 and 512 need to be defined for all backends now even if they aren't used directly. I believe this is already the case, but just a heads up.
  
  Credit:
  Stefan-Ghinea

- [Tim Gates brought this change]

  kex.c: fix simple typo, niumber -> number (#545)
  
  File: kex.c
  
  Notes:
  There is a small typo in src/kex.c.
  
  Should read `number` rather than `niumber`.
  
  Credit:
  Tim Gates

- [Tseng Jun brought this change]

  session.c: Correct a typo which may lead to stack overflow (#533)
  
  File: session.c
  
  Notes:
  Seems the author intend to terminate banner_dup buffer, later, print it to the debug console.
  
  Author:
  Tseng Jun

Marc Hoersken (10 Oct 2020)
- wincng: fix random big number generation to match openssl
  
  The old function would set the least significant bits in
  the most significant byte instead of the most significant bits.
  
  The old function would also zero pad too much bits in the
  most significant byte. This lead to a reduction of key space
  in the most significant byte according to the following listing:
  - 8 bits reduced to 0 bits => eg. 2048 bits to 2040 bits DH key
  - 7 bits reduced to 1 bits => eg. 2047 bits to 2041 bits DH key
  - 6 bits reduced to 2 bits => eg. 2046 bits to 2042 bits DH key
  - 5 bits reduced to 3 bits => eg. 2045 bits to 2043 bits DH key
  
  No change would occur for the case of 4 significant bits.
  For 1 to 3 significant bits in the most significant byte
  the DH key would actually be expanded instead of reduced:
  - 3 bits expanded to 5 bits => eg. 2043 bits to 2045 bits DH key
  - 2 bits expanded to 6 bits => eg. 2042 bits to 2046 bits DH key
  - 1 bits expanded to 7 bits => eg. 2041 bits to 2047 bits DH key
  
  There is no case of 0 significant bits in the most significant byte
  since this would be a case of 8 significant bits in the next byte.
  
  At the moment only the following case applies due to a fixed
  DH key size value currently being used in libssh2:
  
  The DH group_order is fixed to 256 (bytes) which leads to a
  2047 bits DH key size by calculating (256 * 8) - 1.
  
  This means the DH keyspace was previously reduced from 2047 bits
  to 2041 bits (while the top and bottom bits are always set), so the
  keyspace is actually always reduced from 2045 bits to 2039 bits.
  
  All of this is only relevant for Windows versions supporting the
  WinCNG backend (Vista or newer) before Windows 10 version 1903.
  
  Closes #521

Daniel Stenberg (28 Sep 2020)
- libssh2_session_callback_set.3: explain the recv/send callbacks
  
  Describe how to actually use these callbacks.
  
  Closes #518

GitHub (23 Sep 2020)
- [Will Cosgrove brought this change]

  agent.c: formatting
  
  Improved formatting of RECV_SEND_ALL macro.

- [Will Cosgrove brought this change]

  CMakeLists.txt: respect install lib dir #405 (#515)
  
  Files:
  CMakeLists.txt
  
  Notes:
  Use CMAKE_INSTALL_LIBDIR directory
  
  Credit: Arfrever

- [Will Cosgrove brought this change]

  kex.c: group16-sha512 and group18-sha512 support #457 (#468)
  
  Files: kex.c
  
  Notes:
  Added key exchange group16-sha512 and group18-sha512. As a result did the following:
  
  Abstracted diffie_hellman_sha256() to diffie_hellman_sha_algo() which is now algorithm agnostic and takes the algorithm as a parameter since we needed sha512 support. Unfortunately it required some helper functions but they are simple.
  Deleted diffie_hellman_sha1()
  Deleted diffie_hellman_sha1 specific macro
  Cleaned up some formatting
  Defined sha384 in os400 and wincng backends
  Defined LIBSSH2_DH_MAX_MODULUS_BITS to abort the connection if we receive too large of p from the server doing sha1 key exchange.
  Reorder the default key exchange list to match OpenSSH and improve security
  
  Credit:
  Will Cosgrove

- [Igor Klevanets brought this change]

  agent.c: Recv and send all bytes via network in agent_transact_unix() (#510)
  
  Files: agent.c
  
  Notes:
  Handle sending/receiving partial packet replies in agent.c API.
  
  Credit: Klevanets Igor <cerevra@yandex-team.ru>

- [Daniel Stenberg brought this change]

  Makefile.am: include all test files in the dist #379
  
  File:
  Makefile.am
  
  Notes:
  No longer conditionally include OpenSSL specific test files, they aren't run if we're not building against OpenSSL 1.1.x anyway.
  
  Credit:
  Daniel Stenberg

- [Max Dymond brought this change]

  Add support for an OSS Fuzzer fuzzing target (#392)
  
  Files:
  .travis.yml, configure.ac, ossfuzz
  
  Notes:
  This adds support for an OSS-Fuzz fuzzing target in ssh2_client_fuzzer,
  which is a cut down example of ssh2.c. Future enhancements can improve
  coverage.
  
  Credit:
  Max Dymond

- [Sebastián Katzer brought this change]

  mbedtls.c: ECDSA support for mbed TLS (#385)
  
  Files:
  mbedtls.c, mbedtls.h, .travis.yml
  
  Notes:
  This PR adds support for ECDSA for both key exchange and host key algorithms.
  
  The following elliptic curves are supported:
  
  256-bit curve defined by FIPS 186-4 and SEC1
  384-bit curve defined by FIPS 186-4 and SEC1
  521-bit curve defined by FIPS 186-4 and SEC1
  
  Credit:
  Sebastián Katzer

Marc Hoersken (1 Sep 2020)
- buildconf: exec autoreconf to avoid additional process (#512)
  
  Also make buildconf exit with the return code of autoreconf.
  
  Follow up to #224

- scp.c: fix indentation in shell_quotearg documentation

- wincng: make more use of new helper functions (#496)

- wincng: make sure algorithm providers are closed once (#496)

GitHub (10 Jul 2020)
- [David Benjamin brought this change]

  openssl.c: clean up curve25519 code (#499)
  
  File: openssl.c, openssl.h, crypto.h, kex.c
  
  Notes:
  This cleans up a few things in the curve25519 implementation:
  
  - There is no need to create X509_PUBKEYs or PKCS8_PRIV_KEY_INFOs to
    extract key material. EVP_PKEY_get_raw_private_key and
    EVP_PKEY_get_raw_public_key work fine.
  
  - libssh2_x25519_ctx was never used (and occasionally mis-typedefed to
    libssh2_ed25519_ctx). Remove it. The _libssh2_curve25519_new and
    _libssh2_curve25519_gen_k interfaces use the bytes. Note, if it needs
    to be added back, there is no need to roundtrip through
    EVP_PKEY_new_raw_private_key. EVP_PKEY_keygen already generated an
    EVP_PKEY.
  
  - Add some missing error checks.
  
  Credit:
  David Benjamin

- [Will Cosgrove brought this change]

  transport.c: socket is disconnected, return error (#500)
  
  File: transport.c
  
  Notes:
  This is to fix #102, instead of continuing to attempt to read a disconnected socket, it will now error out.
  
  Credit:
  TDi-jonesds

- [Will Cosgrove brought this change]

  stale.yml
  
  Increasing stale values.

Marc Hoersken (6 Jul 2020)
- wincng: try newer DH API first, fallback to legacy RSA API
  
  Avoid the use of RtlGetVersion or similar Win32 functions,
  since these depend on version information from manifests.
  
  This commit makes the WinCNG backend first try to use the
  new DH algorithm API with the raw secret derivation feature.
  In case this feature is not available the WinCNG backend
  will fallback to the classic approach of using RSA-encrypt
  to perform the required modular exponentiation of BigNums.
  
  The feature availability test is done during the first handshake
  and the result is stored in the crypto backends global state.
  
  Follow up to #397
  Closes #484

- wincng: fix indentation of function arguments and comments
  
  Follow up to #397

- [Wez Furlong brought this change]

  wincng: use newer DH API for Windows 8.1+
  
  Since Windows 1903 the approach used to perform DH kex with the CNG
  API has been failing.
  
  This commit switches to using the `DH` algorithm provider to perform
  generation of the key pair and derivation of the shared secret.
  
  It uses a feature of CNG that is not yet documented.  The sources of
  information that I've found on this are:
  
  * https://stackoverflow.com/a/56378698/149111
  * https://github.com/wbenny/mini-tor/blob/5d39011e632be8e2b6b1819ee7295e8bd9b7a769/mini/crypto/cng/dh.inl#L355
  
  With this change I am able to successfully connect from Windows 10 to my
  ubuntu system.
  
  Refs: https://github.com/alexcrichton/ssh2-rs/issues/122
  Fixes: https://github.com/libssh2/libssh2/issues/388
  Closes: https://github.com/libssh2/libssh2/pull/397

GitHub (1 Jul 2020)
- [Zenju brought this change]

  comp.c: Fix name clash with ZLIB macro "compress" (#418)
  
  File: comp.c
  
  Notes:
  * Fix name clash with ZLIB macro "compress".
  
  Credit:
  Zenju

- [yann-morin-1998 brought this change]

  buildsystem: drop custom buildconf script, rely on autoreconf (#224)
  
  Notes:
  The buildconf script is currently required, because we need to copy a
  header around, because it is used both from the library and the examples
  sources.
  
  However, having a custom 'buildconf'-like script is not needed if we can
  ensure that the header exists by the time it is needed. For that, we can
  just append the src/ directory to the headers search path for the
  examples.
  
  And then it means we no longer need to generate the same header twice,
  so we remove the second one from configure.ac.
  
  Now, we can just call "autoreconf -fi" to generate the autotools files,
  instead of relying on the canned sequence in "buildconf", since
  autoreconf has now long known what to do at the correct moment (future
  versions of autotools, automake, autopoint, autoheader etc... may
  require an other ordering, or other intermediate steps, etc...).
  
  Eventually, get rid of buildconf now it is no longer needed. In fact, we
  really keep it for legacy, but have it just call autoreconf (and print a
  nice user-friendly warning). Don't include it in the release tarballs,
  though.
  
  Update doc, gitignore, and travis-CI jobs accordingly.
  
  Credit:
  Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
  Cc: Sam Voss <sam.voss@rockwellcollins.com>

- [Will Cosgrove brought this change]

  libssh2.h: Update Diffie Hellman group values (#493)
  
  File: libssh2.h
  
  Notes:
  Update the min, preferred and max DH group values based on RFC 8270.
  
  Credit:
  Will Cosgrove, noted from email list by Mitchell Holland

Marc Hoersken (22 Jun 2020)
- travis: use existing Makefile target to run checksrc

- Makefile: also run checksrc on test source files

- tests: avoid use of deprecated function _sleep (#490)

- tests: avoid use of banned function strncat (#489)

- tests: satisfy checksrc regarding max line length of 79 chars
  
  Follow up to 2764bc8e06d51876b6796d6080c6ac51e20f3332

- tests: satisfy checksrc with whitespace only fixes
  
  checksrc.pl -i4 -m79 -ASIZEOFNOPAREN -ASNPRINTF
              -ACOPYRIGHT -AFOPENMODE tests/*.[ch]

- tests: add support for ports published via Docker for Windows

- tests: restore retry behaviour for docker-machine ip command

- tests: fix mix of declarations and code failing C89 compliance

- wincng: add and improve checks in bit counting function

- wincng: align bits to bytes calculation in all functions

- wincng: do not disable key validation that can be enabled
  
  The modular exponentiation also works with key validation enabled.

- wincng: fix return value in _libssh2_dh_secret
  
  Do not ignore return value of modular exponentiation.

- appveyor: build and run tests for WinCNG crypto backend

GitHub (1 Jun 2020)
- [suryakalpo brought this change]

  INSTALL_CMAKE.md: Update formatting (#481)
  
  File: INSTALL_CMAKE.md
  
  Notes:
  Although the original text would be immediately clear to seasoned users of CMAKE and/or Unix shell, the lack of newlines may cause some confusion for newcomers. Hence, wrapping the texts in a md code-block such that the newlines appear as intended.
  
  credit:
  suryakalpo

Marc Hoersken (31 May 2020)
- src: add new and align include guards in header files (#480)
  
  Make sure all include guards exist and follow the same format.

- wincng: fix multiple definition of `_libssh2_wincng' (#479)
  
  Add missing include guard and move global state
  from header to source file by using extern.

GitHub (28 May 2020)
- [Will Cosgrove brought this change]

  transport.c: moving total_num check from #476 (#478)
  
  file: transport.c
  
  notes:
  moving total_num zero length check from #476 up to the prior bounds check which already includes a total_num check. Makes it slightly more readable.
  
  credit:
  Will Cosgrove

- [lutianxiong brought this change]

  transport.c: fix use-of-uninitialized-value (#476)
  
  file:transport.c
  
  notes:
  return error if malloc(0)
  
  credit:
  lutianxiong

- [Dr. Koutheir Attouchi brought this change]

  libssh2_sftp.h: Changed type of LIBSSH2_FX_* constants to unsigned long, fixes #474
  
  File:
  libssh2_sftp.h
  
  Notes:
  Error constants `LIBSSH2_FX_*` are only returned by `libssh2_sftp_last_error()` which returns `unsigned long`.
  Therefore these constants should be defined as unsigned long literals, instead of int literals.
  
  Credit:
  Dr. Koutheir Attouchi

- [monnerat brought this change]

  os400qc3.c: constify libssh2_os400qc3_hash_update() data parameter. (#469)
  
  Files: os400qc3.c, os400qc3.h
  
  Notes:
  Fixes building on OS400. #426
  
  Credit:
  Reported-by: hjindra on github, dev by Monnerat

- [monnerat brought this change]

  HACKING.CRYPTO: keep up to date with new crypto definitions from code. (#466)
  
  File: HACKING.CRYPTO
  
  Notes:
  This commit updates the HACKING.CRYPTO documentation file in an attempt to make it in sync with current code.
  New documented features are:
  
  SHA384
  SHA512
  ECDSA
  ED25519
  
  Credit:
  monnerat

- [Harry Sintonen brought this change]

  kex.c: Add diffie-hellman-group14-sha256 Key Exchange Method (#464)
  
  File: kex.c
  
  Notes: Added diffie-hellman-group14-sha256 kex
  
  Credit: Harry Sintonen <sintonen@iki.fi>

- [Will Cosgrove brought this change]

  os400qc3.h: define sha512 macros (#465)
  
  file: os400qc3.h
  notes: fixes for building libssh2 1.9.x

- [Will Cosgrove brought this change]

  os400qc3.h: define EC types to fix building #426 (#462)
  
  File: os400qc3.h
  Notes: define missing EC types which prevents building
  Credit: hjindra

- [Brendan Shanks brought this change]

  hostkey.c: Fix 'unsigned int'/'uint32_t' mismatch (#461)
  
  File: hostkey.c
  
  Notes:
  These types are the same size so most compilers are fine with it, but CodeWarrior (on classic MacOS) throws an ‘illegal implicit conversion’ error
  
  Credit: Brendan Shanks

- [Thomas Klausner brought this change]

  Makefile.am: Fix unportable test(1) operator. (#459)
  
  file: Makefile.am
  
  Notes:
  The POSIX comparison operator for test(1) is =; bash supports == but not even test from GNU coreutils does.
  
  Credit:
  Thomas Klausner

- [Tseng Jun brought this change]

  openssl.c: minor changes of coding style (#454)
  
  File: openssl.c
  
  Notes:
  minor changes of coding style and align preprocessor conditional for #439
  
  Credit:
  Tseng Jun

- [Hans Meier brought this change]

  openssl.c: Fix for use of uninitialized aes_ctr_cipher.key_len (#453)
  
  File:
  Openssl.c
  
  Notes:
  * Fix for use of uninitialized aes_ctr_cipher.key_len when using HAVE_OPAQUE_STRUCTS, regression from #439
  
  Credit:
  Hans Meirer, Tseng Jun

- [Zenju brought this change]

  agent.c: Fix Unicode builds on Windows (#417)
  
  File: agent.c
  
  Notes:
  Fixes unicode builds for Windows in Visual Studio 16.3.2.
  
  Credit:
  Zenju

- [Hans Meier brought this change]

  openssl.c: Fix use-after-free crash in openssl backend without memory leak (#439)
  
  Files: openssl.c
  
  Notes:
  Fixes memory leaks and use after free AES EVP_CIPHER contexts when using OpenSSL 1.0.x.
  
  Credit:
  Hans Meier

- [Romain Geissler @ Amadeus brought this change]

  Session.c: Fix undefined warning when mixing with LTO-enabled libcurl. (#449)
  
  File: Session.c
  
  Notes:
  With gcc 9, libssh2, libcurl and LTO enabled for all binaries I see this
  warning (error with -Werror):
  
  vssh/libssh2.c: In function ‘ssh_statemach_act’:
  /data/mwrep/rgeissler/ospack/ssh2/BUILD/libssh2-libssh2-03c7c4a/src/session.c:579:9: error: ‘seconds_to_next’ is used uninitialized in this function [-Werror=uninitialized]
    579 |     int seconds_to_next;
        |         ^
  lto1: all warnings being treated as errors
  
  Gcc normally issues -Wuninitialized when it is sure there is a problem,
  and -Wmaybe-uninitialized when it's not sure, but it's possible. Here
  the compiler seems to have find a real case where this could happen. I
  looked in your code and overall it seems you always check if the return
  code is non null, not often that it's below zero. I think we should do
  the same here. With this patch, gcc is fine.
  
  Credit:
  Romain-Geissler-1A

- [Zenju brought this change]

  transport.c: Fix crash with delayed compression (#443)
  
  Files: transport.c
  
  Notes:
  Fixes crash with delayed compression option using Bitvise server.
  
  Contributor:
  Zenju

- [Will Cosgrove brought this change]

  Update INSTALL_MAKE path to INSTALL_MAKE.md (#446)
  
  Included for #429

- [Will Cosgrove brought this change]

  Update INSTALL_CMAKE filename to INSTALL_CMAKE.md (#445)
  
  Fixing for #429

- [Wallace Souza brought this change]

  Rename INSTALL_CMAKE to INTALL_CMAKE.md (#429)
  
  Adding Markdown file extension in order to Github render the instructions properly

Will Cosgrove (17 Dec 2019)
- [Daniel Stenberg brought this change]

  include/libssh2.h: fix comment: the known host key uses 4 bits (#438)

- [Zenju brought this change]

  ssh-ed25519: Support PKIX + calc pubkey from private (#416)
  
  Files: openssl.c/h
  Author: Zenju
  Notes:
  Adds support for PKIX key reading by fixing:
  
  _libssh2_pub_priv_keyfile() is missing the code to extract the ed25519 public key from a given private key
  
  _libssh2_ed25519_new_private_frommemory is only parsing the openssh key format but does not understand PKIX (as retrieved via PEM_read_bio_PrivateKey)

GitHub (15 Oct 2019)
- [Will Cosgrove brought this change]

  .travis.yml: Fix Chrome and 32 bit builds (#423)
  
  File: .travis.yml
  
  Notes:
  * Fix Chrome installing by using Travis build in directive
  * Update to use libgcrypt20-dev package to fix 32 bit builds based on comments found here:
  https://launchpad.net/ubuntu/xenial/i386/libgcrypt11-dev

- [Will Cosgrove brought this change]

  packet.c: improved parsing in packet_x11_open (#410)
  
  Use new API to parse data in packet_x11_open() for better bounds checking.

Will Cosgrove (12 Sep 2019)
- [Michael Buckley brought this change]

  knownhost.c: Double the static buffer size when reading and writing known hosts (#409)
  
  Notes:
  We had a user who was being repeatedly prompted to accept a server key repeatedly. It turns out the base64-encoded key was larger than the static buffers allocated to read and write known hosts. I doubled the size of these buffers.
  
  Credit:
  Michael Buckley

GitHub (4 Sep 2019)
- [Will Cosgrove brought this change]

  packet.c: improved packet parsing in packet_queue_listener (#404)
  
  * improved bounds checking in packet_queue_listener
  
  file: packet.c
  
  notes:
  improved parsing packet in packet_queue_listener

- [Will Cosgrove brought this change]

  packet.c: improve message parsing (#402)
  
  * packet.c: improve parsing of packets
  
  file: packet.c
  
  notes:
  Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST.

- [Will Cosgrove brought this change]

  misc.c: _libssh2_ntohu32 cast bit shifting (#401)
  
  To quite overly aggressive analyzers.
  
  Note, the builds pass, Travis is having some issues with Docker images.

- [Will Cosgrove brought this change]

  kex.c: improve bounds checking in kex_agree_methods() (#399)
  
  file: kex.c
  
  notes:
  use _libssh2_get_string instead of kex_string_pair which does additional checks

Will Cosgrove (23 Aug 2019)
- [Fabrice Fontaine brought this change]

  acinclude.m4: add mbedtls to LIBS (#371)
  
  Notes:
  This is useful for static builds so that the Libs.private field in
  libssh2.pc contains correct info for the benefit of pkg-config users.
  Static link with libssh2 requires this information.
  
  Signed-off-by: Baruch Siach <baruch@tkos.co.il>
  [Retrieved from:
  https://git.buildroot.net/buildroot/tree/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch]
  Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  
  Credit:
  Fabrice Fontaine

- [jethrogb brought this change]

  Generate debug info when building with MSVC (#178)
  
  files: CMakeLists.txt
  
  notes: Generate debug info when building with MSVC
  
  credit:
  jethrogb

- [Panos brought this change]

  Add agent forwarding implementation (#219)
  
  files: channel.c, test_agent_forward_succeeds.c, libssh2_priv.h, libssh2.h, ssh2_agent_forwarding.c
  
  notes:
  * Adding SSH agent forwarding.
  * Fix agent forwarding message, updated example.
  Added integration test code and cmake target. Added example to cmake list.
  
  credit:
  pkittenis

GitHub (2 Aug 2019)
- [Will Cosgrove brought this change]

  Update EditorConfig
  
  Added max_line_length = 80

- [Will Cosgrove brought this change]

  global.c : fixed call to libssh2_crypto_exit #394 (#396)
  
  * global.c : fixed call to libssh2_crypto_exit #394
  
  File: global.c
  
  Notes: Don't call `libssh2_crypto_exit()` until `_libssh2_initialized` count is down to zero.
  
  Credit: seba30

Will Cosgrove (30 Jul 2019)
- [hlefebvre brought this change]

  misc.c : Add an EWOULDBLOCK check for better portability (#172)
  
  File: misc.c
  
  Notes: Added support for all OS' that implement EWOULDBLOCK, not only VMS
  
  Credit: hlefebvre

- [Etienne Samson brought this change]

  userauth.c: fix off by one error when loading public keys with no id (#386)
  
  File: userauth.c
  
  Credit:
  Etienne Samson
  
  Notes:
  Caught by ASAN:
  
  =================================================================
  ==73797==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60700001bcf0 at pc 0x00010026198d bp 0x7ffeefbfed30 sp 0x7ffeefbfe4d8
  READ of size 69 at 0x60700001bcf0 thread T0
  2019-07-04 08:35:30.292502+0200 atos[73890:2639175] examining /Users/USER/*/libssh2_clar [73797]
      #0 0x10026198c in wrap_memchr (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x1f98c)
      #1 0x1000f8e66 in file_read_publickey userauth.c:633
      #2 0x1000f2dc9 in userauth_publickey_fromfile userauth.c:1513
      #3 0x1000f2948 in libssh2_userauth_publickey_fromfile_ex userauth.c:1590
      #4 0x10000e254 in test_userauth_publickey__ed25519_auth_ok publickey.c:69
      #5 0x1000090c3 in clar_run_test clar.c:260
      #6 0x1000038f3 in clar_run_suite clar.c:343
      #7 0x100003272 in clar_test_run clar.c:522
      #8 0x10000c3cc in main runner.c:60
      #9 0x7fff5b43b3d4 in start (libdyld.dylib:x86_64+0x163d4)
  
  0x60700001bcf0 is located 0 bytes to the right of 80-byte region [0x60700001bca0,0x60700001bcf0)
  allocated by thread T0 here:
      #0 0x10029e053 in wrap_malloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5c053)
      #1 0x1000b4978 in libssh2_default_alloc session.c:67
      #2 0x1000f8aba in file_read_publickey userauth.c:597
      #3 0x1000f2dc9 in userauth_publickey_fromfile userauth.c:1513
      #4 0x1000f2948 in libssh2_userauth_publickey_fromfile_ex userauth.c:1590
      #5 0x10000e254 in test_userauth_publickey__ed25519_auth_ok publickey.c:69
      #6 0x1000090c3 in clar_run_test clar.c:260
      #7 0x1000038f3 in clar_run_suite clar.c:343
      #8 0x100003272 in clar_test_run clar.c:522
      #9 0x10000c3cc in main runner.c:60
      #10 0x7fff5b43b3d4 in start (libdyld.dylib:x86_64+0x163d4)
  
  SUMMARY: AddressSanitizer: heap-buffer-overflow (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x1f98c) in wrap_memchr
  Shadow bytes around the buggy address:
    0x1c0e00003740: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fd fd
    0x1c0e00003750: fd fd fd fd fd fd fd fa fa fa fa fa 00 00 00 00
    0x1c0e00003760: 00 00 00 00 00 00 fa fa fa fa 00 00 00 00 00 00
    0x1c0e00003770: 00 00 00 fa fa fa fa fa fd fd fd fd fd fd fd fd
    0x1c0e00003780: fd fd fa fa fa fa fd fd fd fd fd fd fd fd fd fa
  =>0x1c0e00003790: fa fa fa fa 00 00 00 00 00 00 00 00 00 00[fa]fa
    0x1c0e000037a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x1c0e000037b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x1c0e000037c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x1c0e000037d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
    0x1c0e000037e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  Shadow byte legend (one shadow byte represents 8 application bytes):
    Addressable:           00
    Partially addressable: 01 02 03 04 05 06 07
    Heap left redzone:       fa
    Freed heap region:       fd
    Stack left redzone:      f1
    Stack mid redzone:       f2
    Stack right redzone:     f3
    Stack after return:      f5
    Stack use after scope:   f8
    Global redzone:          f9
    Global init order:       f6
    Poisoned by user:        f7
    Container overflow:      fc
    Array cookie:            ac
    Intra object redzone:    bb
    ASan internal:           fe
    Left alloca redzone:     ca
    Right alloca redzone:    cb
    Shadow gap:              cc

- [Thilo Schulz brought this change]

  openssl.c : Fix use-after-free crash on reinitialization of openssl backend
  
  file : openssl.c
  
  notes :
  libssh2's openssl backend has a use-after-free condition if HAVE_OPAQUE_STRUCTS is defined and you call libssh2_init() again after prior initialisation/deinitialisation of libssh2
  
  credit : Thilo Schulz

- [axjowa brought this change]

  openssl.h : Use of ifdef where if should be used (#389)
  
  File : openssl.h
  
  Notes :
  LIBSSH2_ECDSA and LIBSSH2_ED25519 are always defined so the #ifdef
  checks would never be false.
  
  This change makes it possible to build libssh2 against OpenSSL built
  without EC support.
  
  Change-Id: I0a2f07c2d80178314dcb7d505d1295d19cf15afd
  
  Credit : axjowa

- [Zenju brought this change]

  Agent.c : Preserve error info from agent_list_identities() (#374)
  
  Files : agent.c
  
  Notes :
  Currently the error details as returned by agent_transact_pageant() are overwritten by a generic "agent list id failed" message by int agent_list_identities(LIBSSH2_AGENT* agent).
  
  Credit :
  Zenju

- [Who? Me?! brought this change]

  Channel.c: Make sure the error code is set in _libssh2_channel_open() (#381)
  
  File : Channel.c
  
  Notes :
  if _libssh2_channel_open() fails, set the error code.
  
  Credit :
  mark-i-m

- [Orgad Shaneh brought this change]

  Kex.c, Remove unneeded call to strlen (#373)
  
  File : Kex.c
  
  Notes :
  Removed call to strlen
  
  Credit :
  Orgad Shaneh

- [Pedro Monreal brought this change]

  Spelling corrections (#380)
  
  Files :
  libssh2.h, libssh2_sftp.h, bcrypt_pbkdf.c, mbedtls.c, sftp.c, ssh2.c
  
  Notes :
  * Fixed misspellings
  
  Credit :
  Pedro Monreal

- [Sebastián Katzer brought this change]

  Fix Potential typecast error for `_libssh2_ecdsa_key_get_curve_type` (#383)
  
  Issue : #383
  
  Files : hostkey.c, crypto.h, openssl.c
  
  Notes :
  * Fix potential typecast error for `_libssh2_ecdsa_key_get_curve_type`
  * Rename _libssh2_ecdsa_key_get_curve_type to _libssh2_ecdsa_get_curve_type
  
  Credit :
  Sebastián Katzer

GitHub (20 Jun 2019)
- [Will Cosgrove brought this change]

  bump copyright date

Version 1.9.0 (19 Jun 2019)

GitHub (19 Jun 2019)
- [Will Cosgrove brought this change]

  1.9 Formatting

- [Will Cosgrove brought this change]

  1.9 Release notes

Will Cosgrove (17 May 2019)
- [Alexander Curtiss brought this change]

  libgcrypt.c : Fixed _libssh2_rsa_sha1_sign memory leak. (#370)
  
  File: libgcrypt.c
  
  Notes : Added calls to gcry_sexp_release to free memory allocated by gcry_sexp_find_token
  
  Credit :
  Reporter : beckmi
  PR by: Alexander Curtiss

- [Orivej Desh brought this change]

  libssh2_priv.h : Fix musl build warning on sys/poll.h (#346)
  
  File : libssh2_priv.h
  
  Notes :
  musl prints `redirecting incorrect #include <sys/poll.h> to <poll.h>`
  http://git.musl-libc.org/cgit/musl/commit/include/sys/poll.h?id=54446d730cfb17c5f7bcf57f139458678f5066cc
  
  poll is defined by POSIX to be in poll.h:
  http://pubs.opengroup.org/onlinepubs/7908799/xsh/poll.html
  
  Credit : Orivej Desh

GitHub (1 May 2019)
- [Will Cosgrove brought this change]

  kex.c : additional bounds checks in diffie_hellman_sha1/256 (#361)
  
  Files : kex.c, misc.c, misc.h
  
  Notes :
  Fixed possible out of bounds memory access when reading malformed data in diffie_hellman_sha1() and diffie_hellman_sha256().
  
  Added _libssh2_copy_string() to misc.c to return an allocated and filled char buffer from a string_buf offset. Removed no longer needed s var in kmdhgGPshakex_state_t.

Will Cosgrove (26 Apr 2019)
- [Tseng Jun brought this change]

  sftp.c : sftp_bin2attr() Correct attrs->gid assignment (#366)
  
  Regression with fix for #339
  
  Credit : Tseng Jun

- [Tseng Jun brought this change]

  kex.c : Correct type cast in curve25519_sha256() (#365)

GitHub (24 Apr 2019)
- [Will Cosgrove brought this change]

  transport.c : scope local total_num var (#364)
  
  file : transport.c
  notes : move local `total_num` variable inside of if block to prevent scope access issues which caused #360.

Will Cosgrove (24 Apr 2019)
- [doublex brought this change]

  transport.c : fixes bounds check if partial packet is read
  
  Files : transport.c
  
  Issue : #360
  
  Notes :
   'p->total_num' instead of local value total_num when doing bounds check.
  
  Credit : Doublex

GitHub (23 Apr 2019)
- [Will Cosgrove brought this change]

  Editor config file for source files (#322)
  
  Simple start to an editor config file when editing source files to make sure they are configured correctly.

- [Will Cosgrove brought this change]

  misc.c : String buffer API improvements (#332)
  
  Files : misc.c, hostkey.c, kex.c, misc.h, openssl.c, sftp.c
  
  Notes :
  * updated _libssh2_get_bignum_bytes and _libssh2_get_string. Now pass in length as an argument instead of returning it to keep signedness correct. Now returns -1 for failure, 0 for success.
  
  _libssh2_check_length now returns 0 on success and -1 on failure to match the other string_buf functions. Added comment to _libssh2_check_length.
  
  Credit : Will Cosgrove

Will Cosgrove (19 Apr 2019)
- [doublex brought this change]

  mbedtls.c : _libssh2_mbedtls_rsa_new_private_frommemory() allow private-key from memory (#359)
  
  File : mbedtls.c
  
  Notes: _libssh2_mbedtls_rsa_new_private_frommemory() fixes private-key from memory reading to by adding NULL terminator before parsing; adds passphrase support.
  
  Credit: doublex

- [Ryan Kelley brought this change]

  Session.c : banner_receive() from leaking when accessing non ssh ports (#356)
  
  File : session.c
  
  Release previous banner in banner_receive() if the session is reused after a failed connection.
  
  Credit : Ryan Kelley

GitHub (11 Apr 2019)
- [Will Cosgrove brought this change]

  Formatting in agent.c
  
  Removed whitespace.

- [Will Cosgrove brought this change]

  Fixed formatting in agent.c
  
  Quiet linter around a couple if blocks and pointer.

Will Cosgrove (11 Apr 2019)
- [Zhen-Huan HWANG brought this change]

  sftp.c : discard and reset oversized packet in sftp_packet_read() (#269)
  
  file : sftp.c
  
  notes : when sftp_packet_read() encounters an sftp packet which exceeds SFTP max packet size it now resets the reading state so it can continue reading.
  
  credit : Zhen-Huan HWANG

GitHub (11 Apr 2019)
- [Will Cosgrove brought this change]

  Add agent functions libssh2_agent_get_identity_path() and libssh2_agent_set_identity_path() (#308)
  
  File : agent.c
  
  Notes :
  Libssh2 uses the SSH_AUTH_SOCK env variable to read the system agent location. However, when using a custom agent path you have to set this value using setenv which is not thread-safe. The new functions allow for a way to set a custom agent socket path in a thread safe manor.

- [Will Cosgrove brought this change]

  Simplified _libssh2_check_length (#350)
  
  * Simplified _libssh2_check_length
  
  misc.c : _libssh2_check_length()
  
  Removed cast and improved bounds checking and format.
  
  Credit : Yuriy M. Kaminskiy

- [Will Cosgrove brought this change]

  _libssh2_check_length() : additional bounds check (#348)
  
  Misc.c : _libssh2_check_length()
  
  Ensure the requested length is less than the total length before doing the additional bounds check

Daniel Stenberg (25 Mar 2019)
- misc: remove 'offset' from string_buf
  
  It isn't necessary.
  
  Closes #343

- sftp: repair mtime from e1ead35e475
  
  A regression from e1ead35e4759 broke the SFTP mtime logic in
  sftp_bin2attr
  
  Also simplified the _libssh2_get_u32/u64 functions slightly.
  
  Closes #342

- session_disconnect: don't zero state, just clear the right bit
  
  If we clear the entire field, the freeing of data in session_free() is
  skipped. Instead just clear the bit that risk making the code get stuck
  in the transport functions.
  
  Regression from 4d66f6762ca3fc45d9.
  
  Reported-by: dimmaq on github
  Fixes #338
  Closes #340

- libssh2_sftp.h: restore broken ABI
  
  Commit 41fbd44 changed variable sizes/types in a public struct which
  broke the ABI, which breaks applications!
  
  This reverts that change.
  
  Closes #339

- style: make includes and examples code style strict
  
  make travis and the makefile rule verify them too
  
  Closes #334

GitHub (21 Mar 2019)
- [Daniel Stenberg brought this change]

  create a github issue template

Daniel Stenberg (21 Mar 2019)
- stale-bot: activated
  
  The stale bot will automatically mark stale issues (inactive for 90
  days) and if still untouched after 21 more days, close them.
  
  See https://probot.github.io/apps/stale/

- libssh2_session_supported_algs.3: fix formatting mistakes
  
  Reported-by: Max Horn
  Fixes #57

- [Zenju brought this change]

  libssh2.h: Fix Error C2371 'ssize_t': redefinition
  
  Closes #331

- travis: add code style check
  
  Closes #324

- code style: unify code style
  
  Indent-level: 4
  Max columns: 79
  No spaces after if/for/while
  Unified brace positions
  Unified white spaces

- src/checksrc.pl: code style checker
  
  imported as-is from curl

Will Cosgrove (19 Mar 2019)
- Merge branch 'MichaelBuckley-michaelbuckley-security-fixes'

- Silence unused var warnings (#329)
  
  Silence warnings about unused variables in this test

- Removed unneeded > 0 check
  
  When checking `userauth_kybd_num_prompts > 100` we don't care if it's also above zero.

- [Matthew D. Fuller brought this change]

  Spell OpenSS_H_ right when talking about their specific private key (#321)
  
  Good catch, thanks.

GitHub (19 Mar 2019)
- [Will Cosgrove brought this change]

  Silence unused var warnings (#329)
  
  Silence warnings about unused variables in this test

Michael Buckley (19 Mar 2019)
- Fix more scope and printf warning errors

- Silence unused variable warning

GitHub (19 Mar 2019)
- [Will Cosgrove brought this change]

  Removed unneeded > 0 check
  
  When checking `userauth_kybd_num_prompts > 100` we don't care if it's also above zero.

Will Cosgrove (19 Mar 2019)
- [Matthew D. Fuller brought this change]

  Spell OpenSS_H_ right when talking about their specific private key (#321)
  
  Good catch, thanks.

Michael Buckley (18 Mar 2019)
- Fix errors identified by the build process

- Fix casting errors after merge

GitHub (18 Mar 2019)
- [Michael Buckley brought this change]

  Merge branch 'master' into michaelbuckley-security-fixes

Michael Buckley (18 Mar 2019)
- Move fallback SIZE_MAX and UINT_MAX to libssh2_priv.h

- Fix type and logic issues with _libssh2_get_u64

Daniel Stenberg (17 Mar 2019)
- examples: fix various compiler warnings

- lib: fix various compiler warnings

- session: ignore pedantic warnings for funcpointer <=> void *

- travis: add a build using configure
  
  Closes #320

- configure: provide --enable-werror

- appveyor: remove old builds that mostly cause failures
  
  ... and only run on master branch.
  
  Closes #323

- cmake: add two missing man pages to get installed too
  
  Both libssh2_session_handshake.3 and
  libssh2_userauth_publickey_frommemory.3 were installed by the configure
  build already.
  
  Reported-by: Arfrever on github
  Fixes #278

- include/libssh2.h: warning: "_WIN64" is not defined, evaluates to 0
  
  We don't use #if for defines that might not be defined.

- pem: //-comments are not allowed

Will Cosgrove (14 Mar 2019)
- [Daniel Stenberg brought this change]

  userauth: fix "Function call argument is an uninitialized value" (#318)
  
  Detected by scan-build.

- fixed unsigned/signed issue

Daniel Stenberg (15 Mar 2019)
- session_disconnect: clear state
  
  If authentication is started but not completed before the application
  gives up and instead wants to shut down the session, the '->state' field
  might still be set and thus effectively dead-lock session_disconnect.
  
  This happens because both _libssh2_transport_send() and
  _libssh2_transport_read() refuse to do anything as long as state is set
  without the LIBSSH2_STATE_KEX_ACTIVE bit.
  
  Reported in curl bug https://github.com/curl/curl/issues/3650
  
  Closes #310

Will Cosgrove (14 Mar 2019)
- Release notes from 1.8.1

Michael Buckley (14 Mar 2019)
- Use string_buf in sftp_init().

- Guard against out-of-bounds reads in publickey.c

- Guard against out-of-bounds reads in session.c

- Guard against out-of-bounds reads in userauth.c

- Use LIBSSH2_ERROR_BUFFER_TOO_SMALL instead of LIBSSH2_ERROR_OUT_OF_BOUNDARY in sftp.c

- Additional bounds checking in sftp.c

- Additional length checks to prevent out-of-bounds reads and writes in _libssh2_packet_add(). https://libssh2.org/CVE-2019-3862.html

- Add a required_size parameter to sftp_packet_require et. al. to require callers of these functions to handle packets that are too short. https://libssh2.org/CVE-2019-3860.html

- Check the length of data passed to sftp_packet_add() to prevent out-of-bounds reads.

- Prevent zero-byte allocation in sftp_packet_read() which could lead to an out-of-bounds read. https://libssh2.org/CVE-2019-3858.html

- Sanitize padding_length - _libssh2_transport_read(). https://libssh2.org/CVE-2019-3861.html
  
  This prevents an underflow resulting in a potential out-of-bounds read if a server sends a too-large padding_length, possibly with malicious intent.

- Defend against writing beyond the end of the payload in _libssh2_transport_read().

- Defend against possible integer overflows in comp_method_zlib_decomp.

GitHub (14 Mar 2019)
- [Will Cosgrove brought this change]

  Security fixes (#315)
  
  * Bounds checks
  
  Fixes for CVEs
  https://www.libssh2.org/CVE-2019-3863.html
  https://www.libssh2.org/CVE-2019-3856.html
  
  * Packet length bounds check
  
  CVE
  https://www.libssh2.org/CVE-2019-3855.html
  
  * Response length check
  
  CVE
  https://www.libssh2.org/CVE-2019-3859.html
  
  * Bounds check
  
  CVE
  https://www.libssh2.org/CVE-2019-3857.html
  
  * Bounds checking
  
  CVE
  https://www.libssh2.org/CVE-2019-3859.html
  
  and additional data validation
  
  * Check bounds before reading into buffers
  
  * Bounds checking
  
  CVE
  https://www.libssh2.org/CVE-2019-3859.html
  
  * declare SIZE_MAX and UINT_MAX if needed

- [Will Cosgrove brought this change]

  fixed type warnings (#309)

- [Will Cosgrove brought this change]

  Bumping version number for pending 1.8.1 release

Will Cosgrove (4 Mar 2019)
- [Daniel Stenberg brought this change]

  _libssh2_string_buf_free: use correct free (#304)
  
  Use LIBSSH2_FREE() here, not free(). We allow memory function
  replacements so free() is rarely the right choice...

GitHub (26 Feb 2019)
- [Will Cosgrove brought this change]

  Fix for building against libreSSL #302
  
  Changed to use the check we use elsewhere.

- [Will Cosgrove brought this change]

  Fix for when building against LibreSSL #302

Will Cosgrove (25 Feb 2019)
- [gartens brought this change]

  docs: update libssh2_hostkey_hash.3 [ci skip] (#301)

GitHub (21 Feb 2019)
- [Will Cosgrove brought this change]

  fix malloc/free mismatches #296 (#297)

- [Will Cosgrove brought this change]

  Replaced malloc with calloc #295

- [Will Cosgrove brought this change]

  Abstracted OpenSSL calls out of hostkey.c (#294)

- [Will Cosgrove brought this change]

  Fix memory dealloc impedance mis-match #292 (#293)
  
  When using ed25519 host keys and a custom memory allocator.

- [Will Cosgrove brought this change]

  Added call to OpenSSL_add_all_digests() #288
  
  For OpenSSL 1.0.x we need to call OpenSSL_add_all_digests().

Will Cosgrove (12 Feb 2019)
- [Zhen-Huan HWANG brought this change]

  SFTP: increase maximum packet size to 256K (#268)
  
  to match implementations like OpenSSH.

- [Zenju brought this change]

  Fix https://github.com/libssh2/libssh2/pull/271 (#284)

GitHub (16 Jan 2019)
- [Will Cosgrove brought this change]

  Agent NULL check in shutdown #281

Will Cosgrove (15 Jan 2019)
- [Adrian Moran brought this change]

  mbedtls: Fix leak of 12 bytes by each key exchange. (#280)
  
  Correctly free ducts by calling _libssh2_mbedtls_bignum_free() in dtor.

- [alex-weaver brought this change]

  Fix error compiling on Win32 with STDCALL=ON (#275)

GitHub (8 Nov 2018)
- [Will Cosgrove brought this change]

  Allow default permissions to be used in sftp_mkdir (#271)
  
  Added constant LIBSSH2_SFTP_DEFAULT_MODE to use the server default permissions when making a new directory

Will Cosgrove (13 Sep 2018)
- [Giulio Benetti brought this change]

  openssl: fix dereferencing ambiguity potentially causing build failure (#267)
  
  When dereferencing from *aes_ctr_cipher, being a pointer itself,
  ambiguity can occur; fixed possible build errors.

Viktor Szakats (12 Sep 2018)
- win32/GNUmakefile: define HAVE_WINDOWS_H
  
  This macro was only used in test/example code before, now it is
  also used in library code, but only defined automatically by
  automake/cmake, so let's do the same for the standalone win32
  make file.
  
  It'd be probably better to just rely on the built-in _WIN32 macro
  to detect the presence of windows.h though. It's already used
  in most of libssh2 library code. There is a 3rd, similar macro
  named LIBSSH2_WIN32, which might also be replaced with _WIN32.
  
  Ref: https://github.com/libssh2/libssh2/commit/8b870ad771cbd9cd29edbb3dbb0878e950f868ab
  Closes https://github.com/libssh2/libssh2/pull/266

Marc Hoersken (2 Sep 2018)
- Fix conditional check for HAVE_DECL_SECUREZEROMEMORY
  
  "Unlike the other `AC_CHECK_*S' macros, when a symbol is not declared,
  HAVE_DECL_symbol is defined to `0' instead of leaving HAVE_DECL_symbol
  undeclared. When you are sure that the check was performed,
  use HAVE_DECL_symbol in #if."
  
  Source: autoconf documentation for AC_CHECK_DECLS.

- Fix implicit declaration of function 'SecureZeroMemory'
  
  Include window.h in order to use SecureZeroMemory on Windows.

- Fix implicit declaration of function 'free' by including stdlib.h

GitHub (27 Aug 2018)
- [Will Cosgrove brought this change]

  Use malloc abstraction function in pem parse
  
  Fix warning on WinCNG build.

- [Will Cosgrove brought this change]

  Fixed possible junk memory read in sftp_stat #258

- [Will Cosgrove brought this change]

  removed INT64_C define (#260)
  
  No longer used.

- [Will Cosgrove brought this change]

  Added conditional around engine.h include

Will Cosgrove (6 Aug 2018)
- [Alex Crichton brought this change]

  Fix OpenSSL link error with `no-engine` support (#259)
  
  This commit fixes linking against an OpenSSL library that was compiled with
  `no-engine` support by bypassing the initialization routines as they won't be
  available anyway.

GitHub (2 Aug 2018)
- [Will Cosgrove brought this change]

  ED25519 Key Support #39 (#248)
  
  OpenSSH Key and ED25519 support #39
  Added _libssh2_explicit_zero() to explicitly zero sensitive data in memory #120
  
  * ED25519 Key file support - Requires OpenSSL 1.1.1 or later
  * OpenSSH Key format reading support - Supports RSA/DSA/ECDSA/ED25519 types
  * New string buffer reading functions - These add build-in bounds checking and convenance methods. Used for OpenSSL PEM file reading.
  * Added new tests for OpenSSH formatted Keys

- [Will Cosgrove brought this change]

  ECDSA key types are now explicit (#251)
  
  * ECDSA key types are now explicit
  
  Issue was brough up in pull request #248
share/doc/alt-libssh211/COPYING000064400000003647150521770660011757 0ustar00/* Copyright (C) 2004-2007 Sara Golemon <sarag@libssh2.org>
 * Copyright (C) 2005,2006 Mikhail Gusarov <dottedmag@dottedmag.net>
 * Copyright (C) 2006-2007 The Written Word, Inc.
 * Copyright (C) 2007 Eli Fant <elifantu@mail.ru>
 * Copyright (C) 2009-2023 Daniel Stenberg
 * Copyright (C) 2008, 2009 Simon Josefsson
 * Copyright (C) 2000 Markus Friedl
 * Copyright (C) 2015 Microsoft Corp.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms,
 * with or without modification, are permitted provided
 * that the following conditions are met:
 *
 *   Redistributions of source code must retain the above
 *   copyright notice, this list of conditions and the
 *   following disclaimer.
 *
 *   Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials
 *   provided with the distribution.
 *
 *   Neither the name of the copyright holder nor the names
 *   of any other contributors may be used to endorse or
 *   promote products derived from this software without
 *   specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
 * OF SUCH DAMAGE.
 */
share/doc/alt-libssh211/README000064400000000721150521770660011572 0ustar00libssh2 - SSH2 library
======================

libssh2 is a library implementing the SSH2 protocol, available under
the revised BSD license.

Web site: https://libssh2.org/

Mailing list: https://lists.haxx.se/listinfo/libssh2-devel

License: see COPYING

Source code: https://github.com/libssh2/libssh2

Web site source code: https://github.com/libssh2/www

Installation instructions are in:
 - docs/INSTALL_CMAKE for CMake
 - docs/INSTALL_AUTOTOOLS for Autotools
share/doc/alt-libssh211/COPYING000064400000003647150521770660011757 0ustar00share/doc/alt-libssh211/README000064400000000721150521770660011572 0ustar00